--- /home/fdroid/fdroiddata/tmp/dnsfilter.android_1505801.apk +++ /home/fdroid/fdroiddata/tmp/sigcp_dnsfilter.android_1505801.apk ├── zipinfo {} │ @@ -1,11 +1,11 @@ │ Zip file size: 629089 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 271820 b- defN 81-Jan-01 01:01 classes.dex │ +-rw-r--r-- 0.0 unx 271816 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 12870 b- defN 81-Jan-01 01:01 assets/dnsfilter.conf │ -rw---- 0.0 fat 7132 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 119700 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, 946184 bytes uncompressed, 581783 bytes compressed: 38.5% │ +405 files, 946180 bytes uncompressed, 581779 bytes compressed: 38.5% ├── 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 : b5cd0254 │ │ -signature : df11...5b65 │ │ -file_size : 271820 │ │ +checksum : aee4fa81 │ │ +signature : a4aa...9df4 │ │ +file_size : 271816 │ │ header_size : 112 │ │ link_size : 0 │ │ link_off : 0 (0x000000) │ │ string_ids_size : 2998 │ │ string_ids_off : 112 (0x000070) │ │ type_ids_size : 440 │ │ type_ids_off : 12104 (0x002f48) │ │ @@ -15,15 +15,15 @@ │ │ proto_ids_off : 13864 (0x003628) │ │ field_ids_size : 945 │ │ field_ids_off : 21436 (0x0053bc) │ │ method_ids_size : 2056 │ │ method_ids_off : 28996 (0x007144) │ │ class_defs_size : 150 │ │ class_defs_off : 45444 (0x00b184) │ │ -data_size : 221576 │ │ +data_size : 221572 │ │ data_off : 50244 (0x00c444) │ │ │ │ Class #0 header: │ │ class_idx : 123 │ │ access_flags : 4096 (0x1000) │ │ superclass_idx : 293 │ │ source_file_idx : 208 │ │ @@ -8766,15 +8766,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 │ │ 015b88: |[015b88] dnsfilter.android.AppSelectorView$AsyncLoader.run:()V │ │ 015b98: 1a00 5000 |0000: const-string v0, "," // string@0050 │ │ 015b9c: 1d0b |0002: monitor-enter v11 │ │ 015b9e: 7100 4002 0000 |0003: invoke-static {}, Ldnsfilter/android/AppSelectorView;.access$100:()I // method@0240 │ │ 015ba4: 0a01 |0006: move-result v1 │ │ 015ba6: 3901 1b00 |0007: if-nez v1, 0022 // +001b │ │ 015baa: 54b1 9700 |0009: iget-object v1, v11, Ldnsfilter/android/AppSelectorView$AsyncLoader;.this$0:Ldnsfilter/android/AppSelectorView; // field@0097 │ │ @@ -8898,17 +8898,17 @@ │ │ 015da0: 0c02 |0104: move-result-object v2 │ │ 015da2: 1f02 a501 |0105: check-cast v2, [Ldnsfilter/android/AppSelectorView$ComparableAppInfoWrapper; // type@01a5 │ │ 015da6: 7120 4c02 2000 |0107: invoke-static {v0, v2}, Ldnsfilter/android/AppSelectorView;.access$802:(Ldnsfilter/android/AppSelectorView;[Ldnsfilter/android/AppSelectorView$ComparableAppInfoWrapper;)[Ldnsfilter/android/AppSelectorView$ComparableAppInfoWrapper; // method@024c │ │ 015dac: 54b0 9700 |010a: iget-object v0, v11, Ldnsfilter/android/AppSelectorView$AsyncLoader;.this$0:Ldnsfilter/android/AppSelectorView; // field@0097 │ │ 015db0: 7110 4b02 0000 |010c: invoke-static {v0}, Ldnsfilter/android/AppSelectorView;.access$800:(Ldnsfilter/android/AppSelectorView;)[Ldnsfilter/android/AppSelectorView$ComparableAppInfoWrapper; // method@024b │ │ 015db6: 0c00 |010f: move-result-object v0 │ │ 015db8: 2100 |0110: array-length v0, v0 │ │ -015dba: 3504 4000 |0111: if-ge v4, v0, 0151 // +0040 │ │ +015dba: 3504 3f00 |0111: if-ge v4, v0, 0150 // +003f │ │ 015dbe: 55b0 9600 |0113: iget-boolean v0, v11, Ldnsfilter/android/AppSelectorView$AsyncLoader;.abort:Z // field@0096 │ │ -015dc2: 3900 3c00 |0115: if-nez v0, 0151 // +003c │ │ +015dc2: 3900 3b00 |0115: if-nez v0, 0150 // +003b │ │ 015dc6: 54b0 9700 |0117: iget-object v0, v11, Ldnsfilter/android/AppSelectorView$AsyncLoader;.this$0:Ldnsfilter/android/AppSelectorView; // field@0097 │ │ 015dca: 7110 4b02 0000 |0119: invoke-static {v0}, Ldnsfilter/android/AppSelectorView;.access$800:(Ldnsfilter/android/AppSelectorView;)[Ldnsfilter/android/AppSelectorView$ComparableAppInfoWrapper; // method@024b │ │ 015dd0: 0c00 |011c: move-result-object v0 │ │ 015dd2: 4600 0004 |011d: aget-object v0, v0, v4 │ │ 015dd6: 7110 3502 0000 |011f: invoke-static {v0}, Ldnsfilter/android/AppSelectorView$ComparableAppInfoWrapper;.access$900:(Ldnsfilter/android/AppSelectorView$ComparableAppInfoWrapper;)Landroid/content/pm/ApplicationInfo; // method@0235 │ │ 015ddc: 0c00 |0122: move-result-object v0 │ │ 015dde: 54b2 9700 |0123: iget-object v2, v11, Ldnsfilter/android/AppSelectorView$AsyncLoader;.this$0:Ldnsfilter/android/AppSelectorView; // field@0097 │ │ @@ -8919,54 +8919,54 @@ │ │ 015df2: 54b2 9700 |012d: iget-object v2, v11, Ldnsfilter/android/AppSelectorView$AsyncLoader;.this$0:Ldnsfilter/android/AppSelectorView; // field@0097 │ │ 015df6: 7100 4002 0000 |012f: invoke-static {}, Ldnsfilter/android/AppSelectorView;.access$100:()I // method@0240 │ │ 015dfc: 0a03 |0132: move-result v3 │ │ 015dfe: 7130 4102 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@0241 │ │ 015e04: 0c08 |0136: move-result-object v8 │ │ 015e06: 54b0 9700 |0137: iget-object v0, v11, Ldnsfilter/android/AppSelectorView$AsyncLoader;.this$0:Ldnsfilter/android/AppSelectorView; // field@0097 │ │ 015e0a: 2202 9c00 |0139: new-instance v2, Ldnsfilter/android/AppSelectorView$UIUpdate; // type@009c │ │ -015e0e: 54b6 9700 |013b: iget-object v6, v11, Ldnsfilter/android/AppSelectorView$AsyncLoader;.this$0:Ldnsfilter/android/AppSelectorView; // field@0097 │ │ -015e12: 7110 4b02 0600 |013d: invoke-static {v6}, Ldnsfilter/android/AppSelectorView;.access$800:(Ldnsfilter/android/AppSelectorView;)[Ldnsfilter/android/AppSelectorView$ComparableAppInfoWrapper; // method@024b │ │ -015e18: 0c03 |0140: move-result-object v3 │ │ -015e1a: 4603 0304 |0141: aget-object v3, v3, v4 │ │ -015e1e: 5437 9900 |0143: iget-object v7, v3, Ldnsfilter/android/AppSelectorView$ComparableAppInfoWrapper;.checkBox:Landroid/widget/CheckBox; // field@0099 │ │ -015e22: 120a |0145: const/4 v10, #int 0 // #0 │ │ -015e24: 0725 |0146: move-object v5, v2 │ │ -015e26: 07b9 |0147: move-object v9, v11 │ │ -015e28: 7606 3902 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@0239 │ │ -015e2e: 6e20 5402 2000 |014b: invoke-virtual {v0, v2}, Ldnsfilter/android/AppSelectorView;.post:(Ljava/lang/Runnable;)Z // method@0254 │ │ -015e34: d804 0401 |014e: add-int/lit8 v4, v4, #int 1 // #01 │ │ -015e38: 28ba |0150: goto 010a // -0046 │ │ -015e3a: 54b0 9700 |0151: iget-object v0, v11, Ldnsfilter/android/AppSelectorView$AsyncLoader;.this$0:Ldnsfilter/android/AppSelectorView; // field@0097 │ │ -015e3e: 55b2 9600 |0153: iget-boolean v2, v11, Ldnsfilter/android/AppSelectorView$AsyncLoader;.abort:Z // field@0096 │ │ -015e42: df02 0201 |0155: xor-int/lit8 v2, v2, #int 1 // #01 │ │ -015e46: 7120 4302 2000 |0157: invoke-static {v0, v2}, Ldnsfilter/android/AppSelectorView;.access$1202:(Ldnsfilter/android/AppSelectorView;Z)Z // method@0243 │ │ -015e4c: 54b0 9700 |015a: iget-object v0, v11, Ldnsfilter/android/AppSelectorView$AsyncLoader;.this$0:Ldnsfilter/android/AppSelectorView; // field@0097 │ │ -015e50: 7120 4502 1000 |015c: invoke-static {v0, v1}, Ldnsfilter/android/AppSelectorView;.access$1302:(Ldnsfilter/android/AppSelectorView;Ldnsfilter/android/AppSelectorView$AsyncLoader;)Ldnsfilter/android/AppSelectorView$AsyncLoader; // method@0245 │ │ -015e56: 6e10 7905 0b00 |015f: invoke-virtual {v11}, Ljava/lang/Object;.notifyAll:()V // method@0579 │ │ -015e5c: 1e0b |0162: monitor-exit v11 │ │ -015e5e: 0e00 |0163: return-void │ │ -015e60: 0d00 |0164: move-exception v0 │ │ -015e62: 54b2 9700 |0165: iget-object v2, v11, Ldnsfilter/android/AppSelectorView$AsyncLoader;.this$0:Ldnsfilter/android/AppSelectorView; // field@0097 │ │ -015e66: 7120 4502 1200 |0167: invoke-static {v2, v1}, Ldnsfilter/android/AppSelectorView;.access$1302:(Ldnsfilter/android/AppSelectorView;Ldnsfilter/android/AppSelectorView$AsyncLoader;)Ldnsfilter/android/AppSelectorView$AsyncLoader; // method@0245 │ │ -015e6c: 6e10 7905 0b00 |016a: invoke-virtual {v11}, Ljava/lang/Object;.notifyAll:()V // method@0579 │ │ -015e72: 2700 |016d: throw v0 │ │ -015e74: 0d00 |016e: move-exception v0 │ │ -015e76: 1e0b |016f: monitor-exit v11 │ │ -015e78: 2802 |0170: goto 0172 // +0002 │ │ -015e7a: 2700 |0171: throw v0 │ │ -015e7c: 28ff |0172: goto 0171 // -0001 │ │ +015e0e: 7110 4b02 0000 |013b: invoke-static {v0}, Ldnsfilter/android/AppSelectorView;.access$800:(Ldnsfilter/android/AppSelectorView;)[Ldnsfilter/android/AppSelectorView$ComparableAppInfoWrapper; // method@024b │ │ +015e14: 0c03 |013e: move-result-object v3 │ │ +015e16: 4603 0304 |013f: aget-object v3, v3, v4 │ │ +015e1a: 5437 9900 |0141: iget-object v7, v3, Ldnsfilter/android/AppSelectorView$ComparableAppInfoWrapper;.checkBox:Landroid/widget/CheckBox; // field@0099 │ │ +015e1e: 120a |0143: const/4 v10, #int 0 // #0 │ │ +015e20: 0725 |0144: move-object v5, v2 │ │ +015e22: 0706 |0145: move-object v6, v0 │ │ +015e24: 07b9 |0146: move-object v9, v11 │ │ +015e26: 7606 3902 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@0239 │ │ +015e2c: 6e20 5402 2000 |014a: invoke-virtual {v0, v2}, Ldnsfilter/android/AppSelectorView;.post:(Ljava/lang/Runnable;)Z // method@0254 │ │ +015e32: d804 0401 |014d: add-int/lit8 v4, v4, #int 1 // #01 │ │ +015e36: 28bb |014f: goto 010a // -0045 │ │ +015e38: 54b0 9700 |0150: iget-object v0, v11, Ldnsfilter/android/AppSelectorView$AsyncLoader;.this$0:Ldnsfilter/android/AppSelectorView; // field@0097 │ │ +015e3c: 55b2 9600 |0152: iget-boolean v2, v11, Ldnsfilter/android/AppSelectorView$AsyncLoader;.abort:Z // field@0096 │ │ +015e40: df02 0201 |0154: xor-int/lit8 v2, v2, #int 1 // #01 │ │ +015e44: 7120 4302 2000 |0156: invoke-static {v0, v2}, Ldnsfilter/android/AppSelectorView;.access$1202:(Ldnsfilter/android/AppSelectorView;Z)Z // method@0243 │ │ +015e4a: 54b0 9700 |0159: iget-object v0, v11, Ldnsfilter/android/AppSelectorView$AsyncLoader;.this$0:Ldnsfilter/android/AppSelectorView; // field@0097 │ │ +015e4e: 7120 4502 1000 |015b: invoke-static {v0, v1}, Ldnsfilter/android/AppSelectorView;.access$1302:(Ldnsfilter/android/AppSelectorView;Ldnsfilter/android/AppSelectorView$AsyncLoader;)Ldnsfilter/android/AppSelectorView$AsyncLoader; // method@0245 │ │ +015e54: 6e10 7905 0b00 |015e: invoke-virtual {v11}, Ljava/lang/Object;.notifyAll:()V // method@0579 │ │ +015e5a: 1e0b |0161: monitor-exit v11 │ │ +015e5c: 0e00 |0162: return-void │ │ +015e5e: 0d00 |0163: move-exception v0 │ │ +015e60: 54b2 9700 |0164: iget-object v2, v11, Ldnsfilter/android/AppSelectorView$AsyncLoader;.this$0:Ldnsfilter/android/AppSelectorView; // field@0097 │ │ +015e64: 7120 4502 1200 |0166: invoke-static {v2, v1}, Ldnsfilter/android/AppSelectorView;.access$1302:(Ldnsfilter/android/AppSelectorView;Ldnsfilter/android/AppSelectorView$AsyncLoader;)Ldnsfilter/android/AppSelectorView$AsyncLoader; // method@0245 │ │ +015e6a: 6e10 7905 0b00 |0169: invoke-virtual {v11}, Ljava/lang/Object;.notifyAll:()V // method@0579 │ │ +015e70: 2700 |016c: throw v0 │ │ +015e72: 0d00 |016d: move-exception v0 │ │ +015e74: 1e0b |016e: monitor-exit v11 │ │ +015e76: 2802 |016f: goto 0171 // +0002 │ │ +015e78: 2700 |0170: throw v0 │ │ +015e7a: 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 │ │ @@ -8983,23 +8983,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 : 192 (AppSelectorView.java) │ │ │ │ Class #24 header: │ │ class_idx : 155 │ │ access_flags : 0 (0x0000) │ │ superclass_idx : 293 │ │ @@ -9045,29 +9045,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 │ │ -015f14: |[015f14] dnsfilter.android.AppSelectorView$ComparableAppInfoWrapper.:(Ldnsfilter/android/AppSelectorView;Landroid/content/pm/ApplicationInfo;Landroid/widget/CheckBox;)V │ │ -015f24: 5b01 9a00 |0000: iput-object v1, v0, Ldnsfilter/android/AppSelectorView$ComparableAppInfoWrapper;.this$0:Ldnsfilter/android/AppSelectorView; // field@009a │ │ -015f28: 7010 7505 0000 |0002: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@0575 │ │ -015f2e: 1201 |0005: const/4 v1, #int 0 // #0 │ │ -015f30: 5b01 9800 |0006: iput-object v1, v0, Ldnsfilter/android/AppSelectorView$ComparableAppInfoWrapper;.appName:Ljava/lang/String; // field@0098 │ │ -015f34: 5b01 9b00 |0008: iput-object v1, v0, Ldnsfilter/android/AppSelectorView$ComparableAppInfoWrapper;.wrapped:Landroid/content/pm/ApplicationInfo; // field@009b │ │ -015f38: 5b01 9900 |000a: iput-object v1, v0, Ldnsfilter/android/AppSelectorView$ComparableAppInfoWrapper;.checkBox:Landroid/widget/CheckBox; // field@0099 │ │ -015f3c: 6e10 cb00 0300 |000c: invoke-virtual {v3}, Landroid/widget/CheckBox;.getText:()Ljava/lang/CharSequence; // method@00cb │ │ -015f42: 0c01 |000f: move-result-object v1 │ │ -015f44: 7210 5205 0100 |0010: invoke-interface {v1}, Ljava/lang/CharSequence;.toString:()Ljava/lang/String; // method@0552 │ │ -015f4a: 0c01 |0013: move-result-object v1 │ │ -015f4c: 5b01 9800 |0014: iput-object v1, v0, Ldnsfilter/android/AppSelectorView$ComparableAppInfoWrapper;.appName:Ljava/lang/String; // field@0098 │ │ -015f50: 5b02 9b00 |0016: iput-object v2, v0, Ldnsfilter/android/AppSelectorView$ComparableAppInfoWrapper;.wrapped:Landroid/content/pm/ApplicationInfo; // field@009b │ │ -015f54: 5b03 9900 |0018: iput-object v3, v0, Ldnsfilter/android/AppSelectorView$ComparableAppInfoWrapper;.checkBox:Landroid/widget/CheckBox; // field@0099 │ │ -015f58: 0e00 |001a: return-void │ │ +015f10: |[015f10] dnsfilter.android.AppSelectorView$ComparableAppInfoWrapper.:(Ldnsfilter/android/AppSelectorView;Landroid/content/pm/ApplicationInfo;Landroid/widget/CheckBox;)V │ │ +015f20: 5b01 9a00 |0000: iput-object v1, v0, Ldnsfilter/android/AppSelectorView$ComparableAppInfoWrapper;.this$0:Ldnsfilter/android/AppSelectorView; // field@009a │ │ +015f24: 7010 7505 0000 |0002: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@0575 │ │ +015f2a: 1201 |0005: const/4 v1, #int 0 // #0 │ │ +015f2c: 5b01 9800 |0006: iput-object v1, v0, Ldnsfilter/android/AppSelectorView$ComparableAppInfoWrapper;.appName:Ljava/lang/String; // field@0098 │ │ +015f30: 5b01 9b00 |0008: iput-object v1, v0, Ldnsfilter/android/AppSelectorView$ComparableAppInfoWrapper;.wrapped:Landroid/content/pm/ApplicationInfo; // field@009b │ │ +015f34: 5b01 9900 |000a: iput-object v1, v0, Ldnsfilter/android/AppSelectorView$ComparableAppInfoWrapper;.checkBox:Landroid/widget/CheckBox; // field@0099 │ │ +015f38: 6e10 cb00 0300 |000c: invoke-virtual {v3}, Landroid/widget/CheckBox;.getText:()Ljava/lang/CharSequence; // method@00cb │ │ +015f3e: 0c01 |000f: move-result-object v1 │ │ +015f40: 7210 5205 0100 |0010: invoke-interface {v1}, Ljava/lang/CharSequence;.toString:()Ljava/lang/String; // method@0552 │ │ +015f46: 0c01 |0013: move-result-object v1 │ │ +015f48: 5b01 9800 |0014: iput-object v1, v0, Ldnsfilter/android/AppSelectorView$ComparableAppInfoWrapper;.appName:Ljava/lang/String; // field@0098 │ │ +015f4c: 5b02 9b00 |0016: iput-object v2, v0, Ldnsfilter/android/AppSelectorView$ComparableAppInfoWrapper;.wrapped:Landroid/content/pm/ApplicationInfo; // field@009b │ │ +015f50: 5b03 9900 |0018: iput-object v3, v0, Ldnsfilter/android/AppSelectorView$ComparableAppInfoWrapper;.checkBox:Landroid/widget/CheckBox; // field@0099 │ │ +015f54: 0e00 |001a: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=72 │ │ 0x0006 line=68 │ │ 0x0008 line=69 │ │ 0x000a line=70 │ │ 0x000c line=73 │ │ @@ -9084,17 +9084,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 │ │ -015f5c: |[015f5c] dnsfilter.android.AppSelectorView$ComparableAppInfoWrapper.:(Ldnsfilter/android/AppSelectorView;Landroid/content/pm/ApplicationInfo;Landroid/widget/CheckBox;Ldnsfilter/android/AppSelectorView$1;)V │ │ -015f6c: 7040 3302 1032 |0000: invoke-direct {v0, v1, v2, v3}, Ldnsfilter/android/AppSelectorView$ComparableAppInfoWrapper;.:(Ldnsfilter/android/AppSelectorView;Landroid/content/pm/ApplicationInfo;Landroid/widget/CheckBox;)V // method@0233 │ │ -015f72: 0e00 |0003: return-void │ │ +015f58: |[015f58] dnsfilter.android.AppSelectorView$ComparableAppInfoWrapper.:(Ldnsfilter/android/AppSelectorView;Landroid/content/pm/ApplicationInfo;Landroid/widget/CheckBox;Ldnsfilter/android/AppSelectorView$1;)V │ │ +015f68: 7040 3302 1032 |0000: invoke-direct {v0, v1, v2, v3}, Ldnsfilter/android/AppSelectorView$ComparableAppInfoWrapper;.:(Ldnsfilter/android/AppSelectorView;Landroid/content/pm/ApplicationInfo;Landroid/widget/CheckBox;)V // method@0233 │ │ +015f6e: 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; │ │ @@ -9106,17 +9106,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 │ │ -015ea8: |[015ea8] dnsfilter.android.AppSelectorView$ComparableAppInfoWrapper.access$900:(Ldnsfilter/android/AppSelectorView$ComparableAppInfoWrapper;)Landroid/content/pm/ApplicationInfo; │ │ -015eb8: 5400 9b00 |0000: iget-object v0, v0, Ldnsfilter/android/AppSelectorView$ComparableAppInfoWrapper;.wrapped:Landroid/content/pm/ApplicationInfo; // field@009b │ │ -015ebc: 1100 |0002: return-object v0 │ │ +015ea4: |[015ea4] dnsfilter.android.AppSelectorView$ComparableAppInfoWrapper.access$900:(Ldnsfilter/android/AppSelectorView$ComparableAppInfoWrapper;)Landroid/content/pm/ApplicationInfo; │ │ +015eb4: 5400 9b00 |0000: iget-object v0, v0, Ldnsfilter/android/AppSelectorView$ComparableAppInfoWrapper;.wrapped:Landroid/content/pm/ApplicationInfo; // field@009b │ │ +015eb8: 1100 |0002: return-object v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=66 │ │ locals : │ │ 0x0000 - 0x0003 reg=0 (null) Ldnsfilter/android/AppSelectorView$ComparableAppInfoWrapper; │ │ │ │ Virtual methods - │ │ @@ -9125,24 +9125,24 @@ │ │ type : '(Ldnsfilter/android/AppSelectorView$ComparableAppInfoWrapper;)I' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 3 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 17 16-bit code units │ │ -015ec0: |[015ec0] dnsfilter.android.AppSelectorView$ComparableAppInfoWrapper.compareTo:(Ldnsfilter/android/AppSelectorView$ComparableAppInfoWrapper;)I │ │ -015ed0: 5410 9800 |0000: iget-object v0, v1, Ldnsfilter/android/AppSelectorView$ComparableAppInfoWrapper;.appName:Ljava/lang/String; // field@0098 │ │ -015ed4: 6e10 a005 0000 |0002: invoke-virtual {v0}, Ljava/lang/String;.toUpperCase:()Ljava/lang/String; // method@05a0 │ │ -015eda: 0c00 |0005: move-result-object v0 │ │ -015edc: 5422 9800 |0006: iget-object v2, v2, Ldnsfilter/android/AppSelectorView$ComparableAppInfoWrapper;.appName:Ljava/lang/String; // field@0098 │ │ -015ee0: 6e10 a005 0200 |0008: invoke-virtual {v2}, Ljava/lang/String;.toUpperCase:()Ljava/lang/String; // method@05a0 │ │ -015ee6: 0c02 |000b: move-result-object v2 │ │ -015ee8: 6e20 8a05 2000 |000c: invoke-virtual {v0, v2}, Ljava/lang/String;.compareTo:(Ljava/lang/String;)I // method@058a │ │ -015eee: 0a02 |000f: move-result v2 │ │ -015ef0: 0f02 |0010: return v2 │ │ +015ebc: |[015ebc] dnsfilter.android.AppSelectorView$ComparableAppInfoWrapper.compareTo:(Ldnsfilter/android/AppSelectorView$ComparableAppInfoWrapper;)I │ │ +015ecc: 5410 9800 |0000: iget-object v0, v1, Ldnsfilter/android/AppSelectorView$ComparableAppInfoWrapper;.appName:Ljava/lang/String; // field@0098 │ │ +015ed0: 6e10 a005 0000 |0002: invoke-virtual {v0}, Ljava/lang/String;.toUpperCase:()Ljava/lang/String; // method@05a0 │ │ +015ed6: 0c00 |0005: move-result-object v0 │ │ +015ed8: 5422 9800 |0006: iget-object v2, v2, Ldnsfilter/android/AppSelectorView$ComparableAppInfoWrapper;.appName:Ljava/lang/String; // field@0098 │ │ +015edc: 6e10 a005 0200 |0008: invoke-virtual {v2}, Ljava/lang/String;.toUpperCase:()Ljava/lang/String; // method@05a0 │ │ +015ee2: 0c02 |000b: move-result-object v2 │ │ +015ee4: 6e20 8a05 2000 |000c: invoke-virtual {v0, v2}, Ljava/lang/String;.compareTo:(Ljava/lang/String;)I // method@058a │ │ +015eea: 0a02 |000f: move-result v2 │ │ +015eec: 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; │ │ │ │ @@ -9151,19 +9151,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 │ │ -015ef4: |[015ef4] dnsfilter.android.AppSelectorView$ComparableAppInfoWrapper.compareTo:(Ljava/lang/Object;)I │ │ -015f04: 1f01 9b00 |0000: check-cast v1, Ldnsfilter/android/AppSelectorView$ComparableAppInfoWrapper; // type@009b │ │ -015f08: 6e20 3602 1000 |0002: invoke-virtual {v0, v1}, Ldnsfilter/android/AppSelectorView$ComparableAppInfoWrapper;.compareTo:(Ldnsfilter/android/AppSelectorView$ComparableAppInfoWrapper;)I // method@0236 │ │ -015f0e: 0a01 |0005: move-result v1 │ │ -015f10: 0f01 |0006: return v1 │ │ +015ef0: |[015ef0] dnsfilter.android.AppSelectorView$ComparableAppInfoWrapper.compareTo:(Ljava/lang/Object;)I │ │ +015f00: 1f01 9b00 |0000: check-cast v1, Ldnsfilter/android/AppSelectorView$ComparableAppInfoWrapper; // type@009b │ │ +015f04: 6e20 3602 1000 |0002: invoke-virtual {v0, v1}, Ldnsfilter/android/AppSelectorView$ComparableAppInfoWrapper;.compareTo:(Ldnsfilter/android/AppSelectorView$ComparableAppInfoWrapper;)I // method@0236 │ │ +015f0a: 0a01 |0005: move-result v1 │ │ +015f0c: 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; │ │ │ │ @@ -9214,21 +9214,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 │ │ -015f74: |[015f74] dnsfilter.android.AppSelectorView$UIUpdate.:(Ldnsfilter/android/AppSelectorView;Landroid/widget/CheckBox;Landroid/graphics/drawable/Drawable;Ldnsfilter/android/AppSelectorView$AsyncLoader;)V │ │ -015f84: 5b01 9e00 |0000: iput-object v1, v0, Ldnsfilter/android/AppSelectorView$UIUpdate;.this$0:Ldnsfilter/android/AppSelectorView; // field@009e │ │ -015f88: 7010 7505 0000 |0002: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@0575 │ │ -015f8e: 5b02 9c00 |0005: iput-object v2, v0, Ldnsfilter/android/AppSelectorView$UIUpdate;.checkBox:Landroid/widget/CheckBox; // field@009c │ │ -015f92: 5b03 9d00 |0007: iput-object v3, v0, Ldnsfilter/android/AppSelectorView$UIUpdate;.icon:Landroid/graphics/drawable/Drawable; // field@009d │ │ -015f96: 5b04 9f00 |0009: iput-object v4, v0, Ldnsfilter/android/AppSelectorView$UIUpdate;.update:Ldnsfilter/android/AppSelectorView$AsyncLoader; // field@009f │ │ -015f9a: 0e00 |000b: return-void │ │ +015f70: |[015f70] dnsfilter.android.AppSelectorView$UIUpdate.:(Ldnsfilter/android/AppSelectorView;Landroid/widget/CheckBox;Landroid/graphics/drawable/Drawable;Ldnsfilter/android/AppSelectorView$AsyncLoader;)V │ │ +015f80: 5b01 9e00 |0000: iput-object v1, v0, Ldnsfilter/android/AppSelectorView$UIUpdate;.this$0:Ldnsfilter/android/AppSelectorView; // field@009e │ │ +015f84: 7010 7505 0000 |0002: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@0575 │ │ +015f8a: 5b02 9c00 |0005: iput-object v2, v0, Ldnsfilter/android/AppSelectorView$UIUpdate;.checkBox:Landroid/widget/CheckBox; // field@009c │ │ +015f8e: 5b03 9d00 |0007: iput-object v3, v0, Ldnsfilter/android/AppSelectorView$UIUpdate;.icon:Landroid/graphics/drawable/Drawable; // field@009d │ │ +015f92: 5b04 9f00 |0009: iput-object v4, v0, Ldnsfilter/android/AppSelectorView$UIUpdate;.update:Ldnsfilter/android/AppSelectorView$AsyncLoader; // field@009f │ │ +015f96: 0e00 |000b: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=90 │ │ 0x0005 line=91 │ │ 0x0007 line=92 │ │ 0x0009 line=93 │ │ locals : │ │ @@ -9243,17 +9243,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 │ │ -015f9c: |[015f9c] dnsfilter.android.AppSelectorView$UIUpdate.:(Ldnsfilter/android/AppSelectorView;Landroid/widget/CheckBox;Landroid/graphics/drawable/Drawable;Ldnsfilter/android/AppSelectorView$AsyncLoader;Ldnsfilter/android/AppSelectorView$1;)V │ │ -015fac: 7054 3802 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@0238 │ │ -015fb2: 0e00 |0003: return-void │ │ +015f98: |[015f98] dnsfilter.android.AppSelectorView$UIUpdate.:(Ldnsfilter/android/AppSelectorView;Landroid/widget/CheckBox;Landroid/graphics/drawable/Drawable;Ldnsfilter/android/AppSelectorView$AsyncLoader;Ldnsfilter/android/AppSelectorView$1;)V │ │ +015fa8: 7054 3802 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@0238 │ │ +015fae: 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; │ │ @@ -9267,28 +9267,28 @@ │ │ type : '()V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 4 │ │ ins : 1 │ │ outs : 5 │ │ insns size : 25 16-bit code units │ │ -015fb4: |[015fb4] dnsfilter.android.AppSelectorView$UIUpdate.run:()V │ │ -015fc4: 5430 9f00 |0000: iget-object v0, v3, Ldnsfilter/android/AppSelectorView$UIUpdate;.update:Ldnsfilter/android/AppSelectorView$AsyncLoader; // field@009f │ │ -015fc8: 7110 3102 0000 |0002: invoke-static {v0}, Ldnsfilter/android/AppSelectorView$AsyncLoader;.access$000:(Ldnsfilter/android/AppSelectorView$AsyncLoader;)Z // method@0231 │ │ -015fce: 0a00 |0005: move-result v0 │ │ -015fd0: 3800 0300 |0006: if-eqz v0, 0009 // +0003 │ │ -015fd4: 0e00 |0008: return-void │ │ -015fd6: 5430 9c00 |0009: iget-object v0, v3, Ldnsfilter/android/AppSelectorView$UIUpdate;.checkBox:Landroid/widget/CheckBox; // field@009c │ │ -015fda: 5431 9d00 |000b: iget-object v1, v3, Ldnsfilter/android/AppSelectorView$UIUpdate;.icon:Landroid/graphics/drawable/Drawable; // field@009d │ │ -015fde: 1202 |000d: const/4 v2, #int 0 // #0 │ │ -015fe0: 6e52 ce00 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@00ce │ │ -015fe6: 5430 9e00 |0011: iget-object v0, v3, Ldnsfilter/android/AppSelectorView$UIUpdate;.this$0:Ldnsfilter/android/AppSelectorView; // field@009e │ │ -015fea: 5431 9c00 |0013: iget-object v1, v3, Ldnsfilter/android/AppSelectorView$UIUpdate;.checkBox:Landroid/widget/CheckBox; // field@009c │ │ -015fee: 6e20 4d02 1000 |0015: invoke-virtual {v0, v1}, Ldnsfilter/android/AppSelectorView;.addView:(Landroid/view/View;)V // method@024d │ │ -015ff4: 0e00 |0018: return-void │ │ +015fb0: |[015fb0] dnsfilter.android.AppSelectorView$UIUpdate.run:()V │ │ +015fc0: 5430 9f00 |0000: iget-object v0, v3, Ldnsfilter/android/AppSelectorView$UIUpdate;.update:Ldnsfilter/android/AppSelectorView$AsyncLoader; // field@009f │ │ +015fc4: 7110 3102 0000 |0002: invoke-static {v0}, Ldnsfilter/android/AppSelectorView$AsyncLoader;.access$000:(Ldnsfilter/android/AppSelectorView$AsyncLoader;)Z // method@0231 │ │ +015fca: 0a00 |0005: move-result v0 │ │ +015fcc: 3800 0300 |0006: if-eqz v0, 0009 // +0003 │ │ +015fd0: 0e00 |0008: return-void │ │ +015fd2: 5430 9c00 |0009: iget-object v0, v3, Ldnsfilter/android/AppSelectorView$UIUpdate;.checkBox:Landroid/widget/CheckBox; // field@009c │ │ +015fd6: 5431 9d00 |000b: iget-object v1, v3, Ldnsfilter/android/AppSelectorView$UIUpdate;.icon:Landroid/graphics/drawable/Drawable; // field@009d │ │ +015fda: 1202 |000d: const/4 v2, #int 0 // #0 │ │ +015fdc: 6e52 ce00 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@00ce │ │ +015fe2: 5430 9e00 |0011: iget-object v0, v3, Ldnsfilter/android/AppSelectorView$UIUpdate;.this$0:Ldnsfilter/android/AppSelectorView; // field@009e │ │ +015fe6: 5431 9c00 |0013: iget-object v1, v3, Ldnsfilter/android/AppSelectorView$UIUpdate;.checkBox:Landroid/widget/CheckBox; // field@009c │ │ +015fea: 6e20 4d02 1000 |0015: invoke-virtual {v0, v1}, Ldnsfilter/android/AppSelectorView;.addView:(Landroid/view/View;)V // method@024d │ │ +015ff0: 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; │ │ @@ -9360,44 +9360,44 @@ │ │ type : '()V' │ │ access : 0x10008 (STATIC CONSTRUCTOR) │ │ code - │ │ registers : 0 │ │ ins : 0 │ │ outs : 0 │ │ insns size : 1 16-bit code units │ │ -016204: |[016204] dnsfilter.android.AppSelectorView.:()V │ │ -016214: 0e00 |0000: return-void │ │ +016200: |[016200] dnsfilter.android.AppSelectorView.:()V │ │ +016210: 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 │ │ -016218: |[016218] dnsfilter.android.AppSelectorView.:(Landroid/content/Context;)V │ │ -016228: 7020 ee00 1000 |0000: invoke-direct {v0, v1}, Landroid/widget/LinearLayout;.:(Landroid/content/Context;)V // method@00ee │ │ -01622e: 6e10 4f02 0000 |0003: invoke-virtual {v0}, Ldnsfilter/android/AppSelectorView;.getContext:()Landroid/content/Context; // method@024f │ │ -016234: 0c01 |0006: move-result-object v1 │ │ -016236: 6e10 3900 0100 |0007: invoke-virtual {v1}, Landroid/content/Context;.getPackageManager:()Landroid/content/pm/PackageManager; // method@0039 │ │ -01623c: 0c01 |000a: move-result-object v1 │ │ -01623e: 5b01 a400 |000b: iput-object v1, v0, Ldnsfilter/android/AppSelectorView;.pm:Landroid/content/pm/PackageManager; // field@00a4 │ │ -016242: 1201 |000d: const/4 v1, #int 0 // #0 │ │ -016244: 5c01 a300 |000e: iput-boolean v1, v0, Ldnsfilter/android/AppSelectorView;.loaded:Z // field@00a3 │ │ -016248: 1a01 0000 |0010: const-string v1, "" // string@0000 │ │ -01624c: 5b01 a700 |0012: iput-object v1, v0, Ldnsfilter/android/AppSelectorView;.selectedApps:Ljava/lang/String; // field@00a7 │ │ -016250: 1201 |0014: const/4 v1, #int 0 // #0 │ │ -016252: 5b01 a500 |0015: iput-object v1, v0, Ldnsfilter/android/AppSelectorView;.runningUpdate:Ldnsfilter/android/AppSelectorView$AsyncLoader; // field@00a5 │ │ -016256: 5b01 a800 |0017: iput-object v1, v0, Ldnsfilter/android/AppSelectorView;.wrappers:[Ldnsfilter/android/AppSelectorView$ComparableAppInfoWrapper; // field@00a8 │ │ -01625a: 0e00 |0019: return-void │ │ +016214: |[016214] dnsfilter.android.AppSelectorView.:(Landroid/content/Context;)V │ │ +016224: 7020 ee00 1000 |0000: invoke-direct {v0, v1}, Landroid/widget/LinearLayout;.:(Landroid/content/Context;)V // method@00ee │ │ +01622a: 6e10 4f02 0000 |0003: invoke-virtual {v0}, Ldnsfilter/android/AppSelectorView;.getContext:()Landroid/content/Context; // method@024f │ │ +016230: 0c01 |0006: move-result-object v1 │ │ +016232: 6e10 3900 0100 |0007: invoke-virtual {v1}, Landroid/content/Context;.getPackageManager:()Landroid/content/pm/PackageManager; // method@0039 │ │ +016238: 0c01 |000a: move-result-object v1 │ │ +01623a: 5b01 a400 |000b: iput-object v1, v0, Ldnsfilter/android/AppSelectorView;.pm:Landroid/content/pm/PackageManager; // field@00a4 │ │ +01623e: 1201 |000d: const/4 v1, #int 0 // #0 │ │ +016240: 5c01 a300 |000e: iput-boolean v1, v0, Ldnsfilter/android/AppSelectorView;.loaded:Z // field@00a3 │ │ +016244: 1a01 0000 |0010: const-string v1, "" // string@0000 │ │ +016248: 5b01 a700 |0012: iput-object v1, v0, Ldnsfilter/android/AppSelectorView;.selectedApps:Ljava/lang/String; // field@00a7 │ │ +01624c: 1201 |0014: const/4 v1, #int 0 // #0 │ │ +01624e: 5b01 a500 |0015: iput-object v1, v0, Ldnsfilter/android/AppSelectorView;.runningUpdate:Ldnsfilter/android/AppSelectorView$AsyncLoader; // field@00a5 │ │ +016252: 5b01 a800 |0017: iput-object v1, v0, Ldnsfilter/android/AppSelectorView;.wrappers:[Ldnsfilter/android/AppSelectorView$ComparableAppInfoWrapper; // field@00a8 │ │ +016256: 0e00 |0019: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=185 │ │ 0x0003 line=27 │ │ 0x000e line=28 │ │ 0x0010 line=29 │ │ 0x0015 line=32 │ │ @@ -9411,29 +9411,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 │ │ -01625c: |[01625c] dnsfilter.android.AppSelectorView.:(Landroid/content/Context;Landroid/util/AttributeSet;)V │ │ -01626c: 7030 ef00 1002 |0000: invoke-direct {v0, v1, v2}, Landroid/widget/LinearLayout;.:(Landroid/content/Context;Landroid/util/AttributeSet;)V // method@00ef │ │ -016272: 6e10 4f02 0000 |0003: invoke-virtual {v0}, Ldnsfilter/android/AppSelectorView;.getContext:()Landroid/content/Context; // method@024f │ │ -016278: 0c01 |0006: move-result-object v1 │ │ -01627a: 6e10 3900 0100 |0007: invoke-virtual {v1}, Landroid/content/Context;.getPackageManager:()Landroid/content/pm/PackageManager; // method@0039 │ │ -016280: 0c01 |000a: move-result-object v1 │ │ -016282: 5b01 a400 |000b: iput-object v1, v0, Ldnsfilter/android/AppSelectorView;.pm:Landroid/content/pm/PackageManager; // field@00a4 │ │ -016286: 1201 |000d: const/4 v1, #int 0 // #0 │ │ -016288: 5c01 a300 |000e: iput-boolean v1, v0, Ldnsfilter/android/AppSelectorView;.loaded:Z // field@00a3 │ │ -01628c: 1a01 0000 |0010: const-string v1, "" // string@0000 │ │ -016290: 5b01 a700 |0012: iput-object v1, v0, Ldnsfilter/android/AppSelectorView;.selectedApps:Ljava/lang/String; // field@00a7 │ │ -016294: 1201 |0014: const/4 v1, #int 0 // #0 │ │ -016296: 5b01 a500 |0015: iput-object v1, v0, Ldnsfilter/android/AppSelectorView;.runningUpdate:Ldnsfilter/android/AppSelectorView$AsyncLoader; // field@00a5 │ │ -01629a: 5b01 a800 |0017: iput-object v1, v0, Ldnsfilter/android/AppSelectorView;.wrappers:[Ldnsfilter/android/AppSelectorView$ComparableAppInfoWrapper; // field@00a8 │ │ -01629e: 0e00 |0019: return-void │ │ +016258: |[016258] dnsfilter.android.AppSelectorView.:(Landroid/content/Context;Landroid/util/AttributeSet;)V │ │ +016268: 7030 ef00 1002 |0000: invoke-direct {v0, v1, v2}, Landroid/widget/LinearLayout;.:(Landroid/content/Context;Landroid/util/AttributeSet;)V // method@00ef │ │ +01626e: 6e10 4f02 0000 |0003: invoke-virtual {v0}, Ldnsfilter/android/AppSelectorView;.getContext:()Landroid/content/Context; // method@024f │ │ +016274: 0c01 |0006: move-result-object v1 │ │ +016276: 6e10 3900 0100 |0007: invoke-virtual {v1}, Landroid/content/Context;.getPackageManager:()Landroid/content/pm/PackageManager; // method@0039 │ │ +01627c: 0c01 |000a: move-result-object v1 │ │ +01627e: 5b01 a400 |000b: iput-object v1, v0, Ldnsfilter/android/AppSelectorView;.pm:Landroid/content/pm/PackageManager; // field@00a4 │ │ +016282: 1201 |000d: const/4 v1, #int 0 // #0 │ │ +016284: 5c01 a300 |000e: iput-boolean v1, v0, Ldnsfilter/android/AppSelectorView;.loaded:Z // field@00a3 │ │ +016288: 1a01 0000 |0010: const-string v1, "" // string@0000 │ │ +01628c: 5b01 a700 |0012: iput-object v1, v0, Ldnsfilter/android/AppSelectorView;.selectedApps:Ljava/lang/String; // field@00a7 │ │ +016290: 1201 |0014: const/4 v1, #int 0 // #0 │ │ +016292: 5b01 a500 |0015: iput-object v1, v0, Ldnsfilter/android/AppSelectorView;.runningUpdate:Ldnsfilter/android/AppSelectorView$AsyncLoader; // field@00a5 │ │ +016296: 5b01 a800 |0017: iput-object v1, v0, Ldnsfilter/android/AppSelectorView;.wrappers:[Ldnsfilter/android/AppSelectorView$ComparableAppInfoWrapper; // field@00a8 │ │ +01629a: 0e00 |0019: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=189 │ │ 0x0003 line=27 │ │ 0x000e line=28 │ │ 0x0010 line=29 │ │ 0x0015 line=32 │ │ @@ -9448,29 +9448,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 │ │ -0162a0: |[0162a0] dnsfilter.android.AppSelectorView.:(Landroid/content/Context;Landroid/util/AttributeSet;I)V │ │ -0162b0: 7040 f000 1032 |0000: invoke-direct {v0, v1, v2, v3}, Landroid/widget/LinearLayout;.:(Landroid/content/Context;Landroid/util/AttributeSet;I)V // method@00f0 │ │ -0162b6: 6e10 4f02 0000 |0003: invoke-virtual {v0}, Ldnsfilter/android/AppSelectorView;.getContext:()Landroid/content/Context; // method@024f │ │ -0162bc: 0c01 |0006: move-result-object v1 │ │ -0162be: 6e10 3900 0100 |0007: invoke-virtual {v1}, Landroid/content/Context;.getPackageManager:()Landroid/content/pm/PackageManager; // method@0039 │ │ -0162c4: 0c01 |000a: move-result-object v1 │ │ -0162c6: 5b01 a400 |000b: iput-object v1, v0, Ldnsfilter/android/AppSelectorView;.pm:Landroid/content/pm/PackageManager; // field@00a4 │ │ -0162ca: 1201 |000d: const/4 v1, #int 0 // #0 │ │ -0162cc: 5c01 a300 |000e: iput-boolean v1, v0, Ldnsfilter/android/AppSelectorView;.loaded:Z // field@00a3 │ │ -0162d0: 1a01 0000 |0010: const-string v1, "" // string@0000 │ │ -0162d4: 5b01 a700 |0012: iput-object v1, v0, Ldnsfilter/android/AppSelectorView;.selectedApps:Ljava/lang/String; // field@00a7 │ │ -0162d8: 1201 |0014: const/4 v1, #int 0 // #0 │ │ -0162da: 5b01 a500 |0015: iput-object v1, v0, Ldnsfilter/android/AppSelectorView;.runningUpdate:Ldnsfilter/android/AppSelectorView$AsyncLoader; // field@00a5 │ │ -0162de: 5b01 a800 |0017: iput-object v1, v0, Ldnsfilter/android/AppSelectorView;.wrappers:[Ldnsfilter/android/AppSelectorView$ComparableAppInfoWrapper; // field@00a8 │ │ -0162e2: 0e00 |0019: return-void │ │ +01629c: |[01629c] dnsfilter.android.AppSelectorView.:(Landroid/content/Context;Landroid/util/AttributeSet;I)V │ │ +0162ac: 7040 f000 1032 |0000: invoke-direct {v0, v1, v2, v3}, Landroid/widget/LinearLayout;.:(Landroid/content/Context;Landroid/util/AttributeSet;I)V // method@00f0 │ │ +0162b2: 6e10 4f02 0000 |0003: invoke-virtual {v0}, Ldnsfilter/android/AppSelectorView;.getContext:()Landroid/content/Context; // method@024f │ │ +0162b8: 0c01 |0006: move-result-object v1 │ │ +0162ba: 6e10 3900 0100 |0007: invoke-virtual {v1}, Landroid/content/Context;.getPackageManager:()Landroid/content/pm/PackageManager; // method@0039 │ │ +0162c0: 0c01 |000a: move-result-object v1 │ │ +0162c2: 5b01 a400 |000b: iput-object v1, v0, Ldnsfilter/android/AppSelectorView;.pm:Landroid/content/pm/PackageManager; // field@00a4 │ │ +0162c6: 1201 |000d: const/4 v1, #int 0 // #0 │ │ +0162c8: 5c01 a300 |000e: iput-boolean v1, v0, Ldnsfilter/android/AppSelectorView;.loaded:Z // field@00a3 │ │ +0162cc: 1a01 0000 |0010: const-string v1, "" // string@0000 │ │ +0162d0: 5b01 a700 |0012: iput-object v1, v0, Ldnsfilter/android/AppSelectorView;.selectedApps:Ljava/lang/String; // field@00a7 │ │ +0162d4: 1201 |0014: const/4 v1, #int 0 // #0 │ │ +0162d6: 5b01 a500 |0015: iput-object v1, v0, Ldnsfilter/android/AppSelectorView;.runningUpdate:Ldnsfilter/android/AppSelectorView$AsyncLoader; // field@00a5 │ │ +0162da: 5b01 a800 |0017: iput-object v1, v0, Ldnsfilter/android/AppSelectorView;.wrappers:[Ldnsfilter/android/AppSelectorView$ComparableAppInfoWrapper; // field@00a8 │ │ +0162de: 0e00 |0019: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=193 │ │ 0x0003 line=27 │ │ 0x000e line=28 │ │ 0x0010 line=29 │ │ 0x0015 line=32 │ │ @@ -9486,29 +9486,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 │ │ -0162e4: |[0162e4] dnsfilter.android.AppSelectorView.:(Landroid/content/Context;Landroid/util/AttributeSet;II)V │ │ -0162f4: 7040 f000 1032 |0000: invoke-direct {v0, v1, v2, v3}, Landroid/widget/LinearLayout;.:(Landroid/content/Context;Landroid/util/AttributeSet;I)V // method@00f0 │ │ -0162fa: 6e10 4f02 0000 |0003: invoke-virtual {v0}, Ldnsfilter/android/AppSelectorView;.getContext:()Landroid/content/Context; // method@024f │ │ -016300: 0c01 |0006: move-result-object v1 │ │ -016302: 6e10 3900 0100 |0007: invoke-virtual {v1}, Landroid/content/Context;.getPackageManager:()Landroid/content/pm/PackageManager; // method@0039 │ │ -016308: 0c01 |000a: move-result-object v1 │ │ -01630a: 5b01 a400 |000b: iput-object v1, v0, Ldnsfilter/android/AppSelectorView;.pm:Landroid/content/pm/PackageManager; // field@00a4 │ │ -01630e: 1201 |000d: const/4 v1, #int 0 // #0 │ │ -016310: 5c01 a300 |000e: iput-boolean v1, v0, Ldnsfilter/android/AppSelectorView;.loaded:Z // field@00a3 │ │ -016314: 1a01 0000 |0010: const-string v1, "" // string@0000 │ │ -016318: 5b01 a700 |0012: iput-object v1, v0, Ldnsfilter/android/AppSelectorView;.selectedApps:Ljava/lang/String; // field@00a7 │ │ -01631c: 1201 |0014: const/4 v1, #int 0 // #0 │ │ -01631e: 5b01 a500 |0015: iput-object v1, v0, Ldnsfilter/android/AppSelectorView;.runningUpdate:Ldnsfilter/android/AppSelectorView$AsyncLoader; // field@00a5 │ │ -016322: 5b01 a800 |0017: iput-object v1, v0, Ldnsfilter/android/AppSelectorView;.wrappers:[Ldnsfilter/android/AppSelectorView$ComparableAppInfoWrapper; // field@00a8 │ │ -016326: 0e00 |0019: return-void │ │ +0162e0: |[0162e0] dnsfilter.android.AppSelectorView.:(Landroid/content/Context;Landroid/util/AttributeSet;II)V │ │ +0162f0: 7040 f000 1032 |0000: invoke-direct {v0, v1, v2, v3}, Landroid/widget/LinearLayout;.:(Landroid/content/Context;Landroid/util/AttributeSet;I)V // method@00f0 │ │ +0162f6: 6e10 4f02 0000 |0003: invoke-virtual {v0}, Ldnsfilter/android/AppSelectorView;.getContext:()Landroid/content/Context; // method@024f │ │ +0162fc: 0c01 |0006: move-result-object v1 │ │ +0162fe: 6e10 3900 0100 |0007: invoke-virtual {v1}, Landroid/content/Context;.getPackageManager:()Landroid/content/pm/PackageManager; // method@0039 │ │ +016304: 0c01 |000a: move-result-object v1 │ │ +016306: 5b01 a400 |000b: iput-object v1, v0, Ldnsfilter/android/AppSelectorView;.pm:Landroid/content/pm/PackageManager; // field@00a4 │ │ +01630a: 1201 |000d: const/4 v1, #int 0 // #0 │ │ +01630c: 5c01 a300 |000e: iput-boolean v1, v0, Ldnsfilter/android/AppSelectorView;.loaded:Z // field@00a3 │ │ +016310: 1a01 0000 |0010: const-string v1, "" // string@0000 │ │ +016314: 5b01 a700 |0012: iput-object v1, v0, Ldnsfilter/android/AppSelectorView;.selectedApps:Ljava/lang/String; // field@00a7 │ │ +016318: 1201 |0014: const/4 v1, #int 0 // #0 │ │ +01631a: 5b01 a500 |0015: iput-object v1, v0, Ldnsfilter/android/AppSelectorView;.runningUpdate:Ldnsfilter/android/AppSelectorView$AsyncLoader; // field@00a5 │ │ +01631e: 5b01 a800 |0017: iput-object v1, v0, Ldnsfilter/android/AppSelectorView;.wrappers:[Ldnsfilter/android/AppSelectorView$ComparableAppInfoWrapper; // field@00a8 │ │ +016322: 0e00 |0019: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=197 │ │ 0x0003 line=27 │ │ 0x000e line=28 │ │ 0x0010 line=29 │ │ 0x0015 line=32 │ │ @@ -9525,35 +9525,35 @@ │ │ type : '()I' │ │ access : 0x1008 (STATIC SYNTHETIC) │ │ code - │ │ registers : 1 │ │ ins : 0 │ │ outs : 0 │ │ insns size : 3 16-bit code units │ │ -01612c: |[01612c] dnsfilter.android.AppSelectorView.access$100:()I │ │ -01613c: 6000 a200 |0000: sget v0, Ldnsfilter/android/AppSelectorView;.iconSizePx:I // field@00a2 │ │ -016140: 0f00 |0002: return v0 │ │ +016128: |[016128] dnsfilter.android.AppSelectorView.access$100:()I │ │ +016138: 6000 a200 |0000: sget v0, Ldnsfilter/android/AppSelectorView;.iconSizePx:I // field@00a2 │ │ +01613c: 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 │ │ -016010: |[016010] dnsfilter.android.AppSelectorView.access$1000:(Ldnsfilter/android/AppSelectorView;Landroid/graphics/drawable/Drawable;I)Landroid/graphics/drawable/Drawable; │ │ -016020: 7030 5702 1002 |0000: invoke-direct {v0, v1, v2}, Ldnsfilter/android/AppSelectorView;.resizeDrawable:(Landroid/graphics/drawable/Drawable;I)Landroid/graphics/drawable/Drawable; // method@0257 │ │ -016026: 0c00 |0003: move-result-object v0 │ │ -016028: 1100 |0004: return-object v0 │ │ +01600c: |[01600c] dnsfilter.android.AppSelectorView.access$1000:(Ldnsfilter/android/AppSelectorView;Landroid/graphics/drawable/Drawable;I)Landroid/graphics/drawable/Drawable; │ │ +01601c: 7030 5702 1002 |0000: invoke-direct {v0, v1, v2}, Ldnsfilter/android/AppSelectorView;.resizeDrawable:(Landroid/graphics/drawable/Drawable;I)Landroid/graphics/drawable/Drawable; // method@0257 │ │ +016022: 0c00 |0003: move-result-object v0 │ │ +016024: 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 │ │ @@ -9563,17 +9563,17 @@ │ │ type : '(I)I' │ │ access : 0x1008 (STATIC SYNTHETIC) │ │ code - │ │ registers : 1 │ │ ins : 1 │ │ outs : 0 │ │ insns size : 3 16-bit code units │ │ -016144: |[016144] dnsfilter.android.AppSelectorView.access$102:(I)I │ │ -016154: 6700 a200 |0000: sput v0, Ldnsfilter/android/AppSelectorView;.iconSizePx:I // field@00a2 │ │ -016158: 0f00 |0002: return v0 │ │ +016140: |[016140] dnsfilter.android.AppSelectorView.access$102:(I)I │ │ +016150: 6700 a200 |0000: sput v0, Ldnsfilter/android/AppSelectorView;.iconSizePx:I // field@00a2 │ │ +016154: 0f00 |0002: return v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=25 │ │ locals : │ │ 0x0000 - 0x0003 reg=0 (null) I │ │ │ │ #8 : (in Ldnsfilter/android/AppSelectorView;) │ │ @@ -9581,17 +9581,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 │ │ -01609c: |[01609c] dnsfilter.android.AppSelectorView.access$1202:(Ldnsfilter/android/AppSelectorView;Z)Z │ │ -0160ac: 5c01 a300 |0000: iput-boolean v1, v0, Ldnsfilter/android/AppSelectorView;.loaded:Z // field@00a3 │ │ -0160b0: 0f01 |0002: return v1 │ │ +016098: |[016098] dnsfilter.android.AppSelectorView.access$1202:(Ldnsfilter/android/AppSelectorView;Z)Z │ │ +0160a8: 5c01 a300 |0000: iput-boolean v1, v0, Ldnsfilter/android/AppSelectorView;.loaded:Z // field@00a3 │ │ +0160ac: 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 │ │ │ │ @@ -9600,17 +9600,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 │ │ -0160b4: |[0160b4] dnsfilter.android.AppSelectorView.access$1300:(Ldnsfilter/android/AppSelectorView;)Ldnsfilter/android/AppSelectorView$AsyncLoader; │ │ -0160c4: 5400 a500 |0000: iget-object v0, v0, Ldnsfilter/android/AppSelectorView;.runningUpdate:Ldnsfilter/android/AppSelectorView$AsyncLoader; // field@00a5 │ │ -0160c8: 1100 |0002: return-object v0 │ │ +0160b0: |[0160b0] dnsfilter.android.AppSelectorView.access$1300:(Ldnsfilter/android/AppSelectorView;)Ldnsfilter/android/AppSelectorView$AsyncLoader; │ │ +0160c0: 5400 a500 |0000: iget-object v0, v0, Ldnsfilter/android/AppSelectorView;.runningUpdate:Ldnsfilter/android/AppSelectorView$AsyncLoader; // field@00a5 │ │ +0160c4: 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;) │ │ @@ -9618,17 +9618,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 │ │ -0160cc: |[0160cc] dnsfilter.android.AppSelectorView.access$1302:(Ldnsfilter/android/AppSelectorView;Ldnsfilter/android/AppSelectorView$AsyncLoader;)Ldnsfilter/android/AppSelectorView$AsyncLoader; │ │ -0160dc: 5b01 a500 |0000: iput-object v1, v0, Ldnsfilter/android/AppSelectorView;.runningUpdate:Ldnsfilter/android/AppSelectorView$AsyncLoader; // field@00a5 │ │ -0160e0: 1101 |0002: return-object v1 │ │ +0160c8: |[0160c8] dnsfilter.android.AppSelectorView.access$1302:(Ldnsfilter/android/AppSelectorView;Ldnsfilter/android/AppSelectorView$AsyncLoader;)Ldnsfilter/android/AppSelectorView$AsyncLoader; │ │ +0160d8: 5b01 a500 |0000: iput-object v1, v0, Ldnsfilter/android/AppSelectorView;.runningUpdate:Ldnsfilter/android/AppSelectorView$AsyncLoader; // field@00a5 │ │ +0160dc: 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; │ │ │ │ @@ -9637,34 +9637,34 @@ │ │ type : '()F' │ │ access : 0x1008 (STATIC SYNTHETIC) │ │ code - │ │ registers : 1 │ │ ins : 0 │ │ outs : 0 │ │ insns size : 3 16-bit code units │ │ -016114: |[016114] dnsfilter.android.AppSelectorView.access$200:()F │ │ -016124: 6000 a100 |0000: sget v0, Ldnsfilter/android/AppSelectorView;.iconSizeDP:F // field@00a1 │ │ -016128: 0f00 |0002: return v0 │ │ +016110: |[016110] dnsfilter.android.AppSelectorView.access$200:()F │ │ +016120: 6000 a100 |0000: sget v0, Ldnsfilter/android/AppSelectorView;.iconSizeDP:F // field@00a1 │ │ +016124: 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 │ │ -01615c: |[01615c] dnsfilter.android.AppSelectorView.access$300:(Ldnsfilter/android/AppSelectorView;)Ljava/lang/String; │ │ -01616c: 5400 a700 |0000: iget-object v0, v0, Ldnsfilter/android/AppSelectorView;.selectedApps:Ljava/lang/String; // field@00a7 │ │ -016170: 1100 |0002: return-object v0 │ │ +016158: |[016158] dnsfilter.android.AppSelectorView.access$300:(Ldnsfilter/android/AppSelectorView;)Ljava/lang/String; │ │ +016168: 5400 a700 |0000: iget-object v0, v0, Ldnsfilter/android/AppSelectorView;.selectedApps:Ljava/lang/String; // field@00a7 │ │ +01616c: 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;) │ │ @@ -9672,17 +9672,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 │ │ -015ff8: |[015ff8] dnsfilter.android.AppSelectorView.access$400:(Ldnsfilter/android/AppSelectorView;)Landroid/content/pm/PackageManager; │ │ -016008: 5400 a400 |0000: iget-object v0, v0, Ldnsfilter/android/AppSelectorView;.pm:Landroid/content/pm/PackageManager; // field@00a4 │ │ -01600c: 1100 |0002: return-object v0 │ │ +015ff4: |[015ff4] dnsfilter.android.AppSelectorView.access$400:(Ldnsfilter/android/AppSelectorView;)Landroid/content/pm/PackageManager; │ │ +016004: 5400 a400 |0000: iget-object v0, v0, Ldnsfilter/android/AppSelectorView;.pm:Landroid/content/pm/PackageManager; // field@00a4 │ │ +016008: 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;) │ │ @@ -9690,17 +9690,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 │ │ -01606c: |[01606c] dnsfilter.android.AppSelectorView.access$600:(Ldnsfilter/android/AppSelectorView;)Landroid/view/View; │ │ -01607c: 5400 a600 |0000: iget-object v0, v0, Ldnsfilter/android/AppSelectorView;.searchView:Landroid/view/View; // field@00a6 │ │ -016080: 1100 |0002: return-object v0 │ │ +016068: |[016068] dnsfilter.android.AppSelectorView.access$600:(Ldnsfilter/android/AppSelectorView;)Landroid/view/View; │ │ +016078: 5400 a600 |0000: iget-object v0, v0, Ldnsfilter/android/AppSelectorView;.searchView:Landroid/view/View; // field@00a6 │ │ +01607c: 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;) │ │ @@ -9708,17 +9708,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 │ │ -016084: |[016084] dnsfilter.android.AppSelectorView.access$700:(Ldnsfilter/android/AppSelectorView;)Landroid/view/View; │ │ -016094: 5400 a000 |0000: iget-object v0, v0, Ldnsfilter/android/AppSelectorView;.emptyResult:Landroid/view/View; // field@00a0 │ │ -016098: 1100 |0002: return-object v0 │ │ +016080: |[016080] dnsfilter.android.AppSelectorView.access$700:(Ldnsfilter/android/AppSelectorView;)Landroid/view/View; │ │ +016090: 5400 a000 |0000: iget-object v0, v0, Ldnsfilter/android/AppSelectorView;.emptyResult:Landroid/view/View; // field@00a0 │ │ +016094: 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;) │ │ @@ -9726,17 +9726,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 │ │ -0160e4: |[0160e4] dnsfilter.android.AppSelectorView.access$800:(Ldnsfilter/android/AppSelectorView;)[Ldnsfilter/android/AppSelectorView$ComparableAppInfoWrapper; │ │ -0160f4: 5400 a800 |0000: iget-object v0, v0, Ldnsfilter/android/AppSelectorView;.wrappers:[Ldnsfilter/android/AppSelectorView$ComparableAppInfoWrapper; // field@00a8 │ │ -0160f8: 1100 |0002: return-object v0 │ │ +0160e0: |[0160e0] dnsfilter.android.AppSelectorView.access$800:(Ldnsfilter/android/AppSelectorView;)[Ldnsfilter/android/AppSelectorView$ComparableAppInfoWrapper; │ │ +0160f0: 5400 a800 |0000: iget-object v0, v0, Ldnsfilter/android/AppSelectorView;.wrappers:[Ldnsfilter/android/AppSelectorView$ComparableAppInfoWrapper; // field@00a8 │ │ +0160f4: 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;) │ │ @@ -9744,17 +9744,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 │ │ -0160fc: |[0160fc] dnsfilter.android.AppSelectorView.access$802:(Ldnsfilter/android/AppSelectorView;[Ldnsfilter/android/AppSelectorView$ComparableAppInfoWrapper;)[Ldnsfilter/android/AppSelectorView$ComparableAppInfoWrapper; │ │ -01610c: 5b01 a800 |0000: iput-object v1, v0, Ldnsfilter/android/AppSelectorView;.wrappers:[Ldnsfilter/android/AppSelectorView$ComparableAppInfoWrapper; // field@00a8 │ │ -016110: 1101 |0002: return-object v1 │ │ +0160f8: |[0160f8] dnsfilter.android.AppSelectorView.access$802:(Ldnsfilter/android/AppSelectorView;[Ldnsfilter/android/AppSelectorView$ComparableAppInfoWrapper;)[Ldnsfilter/android/AppSelectorView$ComparableAppInfoWrapper; │ │ +016108: 5b01 a800 |0000: iput-object v1, v0, Ldnsfilter/android/AppSelectorView;.wrappers:[Ldnsfilter/android/AppSelectorView$ComparableAppInfoWrapper; // field@00a8 │ │ +01610c: 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; │ │ │ │ @@ -9763,26 +9763,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 │ │ -01602c: |[01602c] dnsfilter.android.AppSelectorView.resizeDrawable:(Landroid/graphics/drawable/Drawable;I)Landroid/graphics/drawable/Drawable; │ │ -01603c: 6200 0100 |0000: sget-object v0, Landroid/graphics/Bitmap$Config;.ARGB_8888:Landroid/graphics/Bitmap$Config; // field@0001 │ │ -016040: 7130 5a00 5500 |0002: invoke-static {v5, v5, v0}, Landroid/graphics/Bitmap;.createBitmap:(IILandroid/graphics/Bitmap$Config;)Landroid/graphics/Bitmap; // method@005a │ │ -016046: 0c00 |0005: move-result-object v0 │ │ -016048: 2201 2300 |0006: new-instance v1, Landroid/graphics/Canvas; // type@0023 │ │ -01604c: 7020 5b00 0100 |0008: invoke-direct {v1, v0}, Landroid/graphics/Canvas;.:(Landroid/graphics/Bitmap;)V // method@005b │ │ -016052: 1202 |000b: const/4 v2, #int 0 // #0 │ │ -016054: 6e55 6000 2452 |000c: invoke-virtual {v4, v2, v2, v5, v5}, Landroid/graphics/drawable/Drawable;.setBounds:(IIII)V // method@0060 │ │ -01605a: 6e20 5f00 1400 |000f: invoke-virtual {v4, v1}, Landroid/graphics/drawable/Drawable;.draw:(Landroid/graphics/Canvas;)V // method@005f │ │ -016060: 2204 2500 |0012: new-instance v4, Landroid/graphics/drawable/BitmapDrawable; // type@0025 │ │ -016064: 7020 5d00 0400 |0014: invoke-direct {v4, v0}, Landroid/graphics/drawable/BitmapDrawable;.:(Landroid/graphics/Bitmap;)V // method@005d │ │ -01606a: 1104 |0017: return-object v4 │ │ +016028: |[016028] dnsfilter.android.AppSelectorView.resizeDrawable:(Landroid/graphics/drawable/Drawable;I)Landroid/graphics/drawable/Drawable; │ │ +016038: 6200 0100 |0000: sget-object v0, Landroid/graphics/Bitmap$Config;.ARGB_8888:Landroid/graphics/Bitmap$Config; // field@0001 │ │ +01603c: 7130 5a00 5500 |0002: invoke-static {v5, v5, v0}, Landroid/graphics/Bitmap;.createBitmap:(IILandroid/graphics/Bitmap$Config;)Landroid/graphics/Bitmap; // method@005a │ │ +016042: 0c00 |0005: move-result-object v0 │ │ +016044: 2201 2300 |0006: new-instance v1, Landroid/graphics/Canvas; // type@0023 │ │ +016048: 7020 5b00 0100 |0008: invoke-direct {v1, v0}, Landroid/graphics/Canvas;.:(Landroid/graphics/Bitmap;)V // method@005b │ │ +01604e: 1202 |000b: const/4 v2, #int 0 // #0 │ │ +016050: 6e55 6000 2452 |000c: invoke-virtual {v4, v2, v2, v5, v5}, Landroid/graphics/drawable/Drawable;.setBounds:(IIII)V // method@0060 │ │ +016056: 6e20 5f00 1400 |000f: invoke-virtual {v4, v1}, Landroid/graphics/drawable/Drawable;.draw:(Landroid/graphics/Canvas;)V // method@005f │ │ +01605c: 2204 2500 |0012: new-instance v4, Landroid/graphics/drawable/BitmapDrawable; // type@0025 │ │ +016060: 7020 5d00 0400 |0014: invoke-direct {v4, v0}, Landroid/graphics/drawable/BitmapDrawable;.:(Landroid/graphics/Bitmap;)V // method@005d │ │ +016066: 1104 |0017: return-object v4 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=215 │ │ 0x0006 line=216 │ │ 0x000c line=217 │ │ 0x000f line=218 │ │ 0x0012 line=219 │ │ @@ -9797,32 +9797,32 @@ │ │ type : '()V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 4 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 34 16-bit code units │ │ -016328: |[016328] dnsfilter.android.AppSelectorView.clear:()V │ │ -016338: 5430 a500 |0000: iget-object v0, v3, Ldnsfilter/android/AppSelectorView;.runningUpdate:Ldnsfilter/android/AppSelectorView$AsyncLoader; // field@00a5 │ │ -01633c: 1201 |0002: const/4 v1, #int 0 // #0 │ │ -01633e: 1202 |0003: const/4 v2, #int 0 // #0 │ │ -016340: 3800 0900 |0004: if-eqz v0, 000d // +0009 │ │ -016344: 6e10 3002 0000 |0006: invoke-virtual {v0}, Ldnsfilter/android/AppSelectorView$AsyncLoader;.abort:()V // method@0230 │ │ -01634a: 5c31 a300 |0009: iput-boolean v1, v3, Ldnsfilter/android/AppSelectorView;.loaded:Z // field@00a3 │ │ -01634e: 5b32 a800 |000b: iput-object v2, v3, Ldnsfilter/android/AppSelectorView;.wrappers:[Ldnsfilter/android/AppSelectorView$ComparableAppInfoWrapper; // field@00a8 │ │ -016352: 6e10 5102 0300 |000d: invoke-virtual {v3}, Ldnsfilter/android/AppSelectorView;.getSelectedAppPackages:()Ljava/lang/String; // method@0251 │ │ -016358: 0c00 |0010: move-result-object v0 │ │ -01635a: 5b30 a700 |0011: iput-object v0, v3, Ldnsfilter/android/AppSelectorView;.selectedApps:Ljava/lang/String; // field@00a7 │ │ -01635e: 5b32 a800 |0013: iput-object v2, v3, Ldnsfilter/android/AppSelectorView;.wrappers:[Ldnsfilter/android/AppSelectorView$ComparableAppInfoWrapper; // field@00a8 │ │ -016362: 5430 a600 |0015: iget-object v0, v3, Ldnsfilter/android/AppSelectorView;.searchView:Landroid/view/View; // field@00a6 │ │ -016366: 3800 0500 |0017: if-eqz v0, 001c // +0005 │ │ -01636a: 6e20 b200 2000 |0019: invoke-virtual {v0, v2}, Landroid/view/View;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@00b2 │ │ -016370: 6e10 5502 0300 |001c: invoke-virtual {v3}, Ldnsfilter/android/AppSelectorView;.removeAllViews:()V // method@0255 │ │ -016376: 5c31 a300 |001f: iput-boolean v1, v3, Ldnsfilter/android/AppSelectorView;.loaded:Z // field@00a3 │ │ -01637a: 0e00 |0021: return-void │ │ +016324: |[016324] dnsfilter.android.AppSelectorView.clear:()V │ │ +016334: 5430 a500 |0000: iget-object v0, v3, Ldnsfilter/android/AppSelectorView;.runningUpdate:Ldnsfilter/android/AppSelectorView$AsyncLoader; // field@00a5 │ │ +016338: 1201 |0002: const/4 v1, #int 0 // #0 │ │ +01633a: 1202 |0003: const/4 v2, #int 0 // #0 │ │ +01633c: 3800 0900 |0004: if-eqz v0, 000d // +0009 │ │ +016340: 6e10 3002 0000 |0006: invoke-virtual {v0}, Ldnsfilter/android/AppSelectorView$AsyncLoader;.abort:()V // method@0230 │ │ +016346: 5c31 a300 |0009: iput-boolean v1, v3, Ldnsfilter/android/AppSelectorView;.loaded:Z // field@00a3 │ │ +01634a: 5b32 a800 |000b: iput-object v2, v3, Ldnsfilter/android/AppSelectorView;.wrappers:[Ldnsfilter/android/AppSelectorView$ComparableAppInfoWrapper; // field@00a8 │ │ +01634e: 6e10 5102 0300 |000d: invoke-virtual {v3}, Ldnsfilter/android/AppSelectorView;.getSelectedAppPackages:()Ljava/lang/String; // method@0251 │ │ +016354: 0c00 |0010: move-result-object v0 │ │ +016356: 5b30 a700 |0011: iput-object v0, v3, Ldnsfilter/android/AppSelectorView;.selectedApps:Ljava/lang/String; // field@00a7 │ │ +01635a: 5b32 a800 |0013: iput-object v2, v3, Ldnsfilter/android/AppSelectorView;.wrappers:[Ldnsfilter/android/AppSelectorView$ComparableAppInfoWrapper; // field@00a8 │ │ +01635e: 5430 a600 |0015: iget-object v0, v3, Ldnsfilter/android/AppSelectorView;.searchView:Landroid/view/View; // field@00a6 │ │ +016362: 3800 0500 |0017: if-eqz v0, 001c // +0005 │ │ +016366: 6e20 b200 2000 |0019: invoke-virtual {v0, v2}, Landroid/view/View;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@00b2 │ │ +01636c: 6e10 5502 0300 |001c: invoke-virtual {v3}, Ldnsfilter/android/AppSelectorView;.removeAllViews:()V // method@0255 │ │ +016372: 5c31 a300 |001f: iput-boolean v1, v3, Ldnsfilter/android/AppSelectorView;.loaded:Z // field@00a3 │ │ +016376: 0e00 |0021: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=225 │ │ 0x0006 line=227 │ │ 0x0009 line=228 │ │ 0x000b line=229 │ │ 0x000d line=232 │ │ @@ -9839,49 +9839,49 @@ │ │ type : '()Ljava/lang/String;' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 6 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 64 16-bit code units │ │ -016174: |[016174] dnsfilter.android.AppSelectorView.getSelectedAppPackages:()Ljava/lang/String; │ │ -016184: 5550 a300 |0000: iget-boolean v0, v5, Ldnsfilter/android/AppSelectorView;.loaded:Z // field@00a3 │ │ -016188: 3800 3b00 |0002: if-eqz v0, 003d // +003b │ │ -01618c: 5450 a500 |0004: iget-object v0, v5, Ldnsfilter/android/AppSelectorView;.runningUpdate:Ldnsfilter/android/AppSelectorView$AsyncLoader; // field@00a5 │ │ -016190: 3800 0300 |0006: if-eqz v0, 0009 // +0003 │ │ -016194: 2835 |0008: goto 003d // +0035 │ │ -016196: 5450 a800 |0009: iget-object v0, v5, Ldnsfilter/android/AppSelectorView;.wrappers:[Ldnsfilter/android/AppSelectorView$ComparableAppInfoWrapper; // field@00a8 │ │ -01619a: 1a01 0000 |000b: const-string v1, "" // string@0000 │ │ -01619e: 1202 |000d: const/4 v2, #int 0 // #0 │ │ -0161a0: 0712 |000e: move-object v2, v1 │ │ -0161a2: 1203 |000f: const/4 v3, #int 0 // #0 │ │ -0161a4: 2104 |0010: array-length v4, v0 │ │ -0161a6: 3543 2b00 |0011: if-ge v3, v4, 003c // +002b │ │ -0161aa: 4604 0003 |0013: aget-object v4, v0, v3 │ │ -0161ae: 5444 9900 |0015: iget-object v4, v4, Ldnsfilter/android/AppSelectorView$ComparableAppInfoWrapper;.checkBox:Landroid/widget/CheckBox; // field@0099 │ │ -0161b2: 6e10 cc00 0400 |0017: invoke-virtual {v4}, Landroid/widget/CheckBox;.isChecked:()Z // method@00cc │ │ -0161b8: 0a04 |001a: move-result v4 │ │ -0161ba: 3804 1e00 |001b: if-eqz v4, 0039 // +001e │ │ -0161be: 2204 2d01 |001d: new-instance v4, Ljava/lang/StringBuilder; // type@012d │ │ -0161c2: 7010 a905 0400 |001f: invoke-direct {v4}, Ljava/lang/StringBuilder;.:()V // method@05a9 │ │ -0161c8: 6e20 af05 1400 |0022: invoke-virtual {v4, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -0161ce: 6e20 af05 2400 |0025: invoke-virtual {v4, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -0161d4: 4601 0003 |0028: aget-object v1, v0, v3 │ │ -0161d8: 7110 3502 0100 |002a: invoke-static {v1}, Ldnsfilter/android/AppSelectorView$ComparableAppInfoWrapper;.access$900:(Ldnsfilter/android/AppSelectorView$ComparableAppInfoWrapper;)Landroid/content/pm/ApplicationInfo; // method@0235 │ │ -0161de: 0c01 |002d: move-result-object v1 │ │ -0161e0: 5411 0000 |002e: iget-object v1, v1, Landroid/content/pm/ApplicationInfo;.packageName:Ljava/lang/String; // field@0000 │ │ -0161e4: 6e20 af05 1400 |0030: invoke-virtual {v4, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -0161ea: 6e10 b105 0400 |0033: invoke-virtual {v4}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ -0161f0: 0c01 |0036: move-result-object v1 │ │ -0161f2: 1a02 5100 |0037: const-string v2, ", " // string@0051 │ │ -0161f6: d803 0301 |0039: add-int/lit8 v3, v3, #int 1 // #01 │ │ -0161fa: 28d5 |003b: goto 0010 // -002b │ │ -0161fc: 1101 |003c: return-object v1 │ │ -0161fe: 5450 a700 |003d: iget-object v0, v5, Ldnsfilter/android/AppSelectorView;.selectedApps:Ljava/lang/String; // field@00a7 │ │ -016202: 1100 |003f: return-object v0 │ │ +016170: |[016170] dnsfilter.android.AppSelectorView.getSelectedAppPackages:()Ljava/lang/String; │ │ +016180: 5550 a300 |0000: iget-boolean v0, v5, Ldnsfilter/android/AppSelectorView;.loaded:Z // field@00a3 │ │ +016184: 3800 3b00 |0002: if-eqz v0, 003d // +003b │ │ +016188: 5450 a500 |0004: iget-object v0, v5, Ldnsfilter/android/AppSelectorView;.runningUpdate:Ldnsfilter/android/AppSelectorView$AsyncLoader; // field@00a5 │ │ +01618c: 3800 0300 |0006: if-eqz v0, 0009 // +0003 │ │ +016190: 2835 |0008: goto 003d // +0035 │ │ +016192: 5450 a800 |0009: iget-object v0, v5, Ldnsfilter/android/AppSelectorView;.wrappers:[Ldnsfilter/android/AppSelectorView$ComparableAppInfoWrapper; // field@00a8 │ │ +016196: 1a01 0000 |000b: const-string v1, "" // string@0000 │ │ +01619a: 1202 |000d: const/4 v2, #int 0 // #0 │ │ +01619c: 0712 |000e: move-object v2, v1 │ │ +01619e: 1203 |000f: const/4 v3, #int 0 // #0 │ │ +0161a0: 2104 |0010: array-length v4, v0 │ │ +0161a2: 3543 2b00 |0011: if-ge v3, v4, 003c // +002b │ │ +0161a6: 4604 0003 |0013: aget-object v4, v0, v3 │ │ +0161aa: 5444 9900 |0015: iget-object v4, v4, Ldnsfilter/android/AppSelectorView$ComparableAppInfoWrapper;.checkBox:Landroid/widget/CheckBox; // field@0099 │ │ +0161ae: 6e10 cc00 0400 |0017: invoke-virtual {v4}, Landroid/widget/CheckBox;.isChecked:()Z // method@00cc │ │ +0161b4: 0a04 |001a: move-result v4 │ │ +0161b6: 3804 1e00 |001b: if-eqz v4, 0039 // +001e │ │ +0161ba: 2204 2d01 |001d: new-instance v4, Ljava/lang/StringBuilder; // type@012d │ │ +0161be: 7010 a905 0400 |001f: invoke-direct {v4}, Ljava/lang/StringBuilder;.:()V // method@05a9 │ │ +0161c4: 6e20 af05 1400 |0022: invoke-virtual {v4, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +0161ca: 6e20 af05 2400 |0025: invoke-virtual {v4, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +0161d0: 4601 0003 |0028: aget-object v1, v0, v3 │ │ +0161d4: 7110 3502 0100 |002a: invoke-static {v1}, Ldnsfilter/android/AppSelectorView$ComparableAppInfoWrapper;.access$900:(Ldnsfilter/android/AppSelectorView$ComparableAppInfoWrapper;)Landroid/content/pm/ApplicationInfo; // method@0235 │ │ +0161da: 0c01 |002d: move-result-object v1 │ │ +0161dc: 5411 0000 |002e: iget-object v1, v1, Landroid/content/pm/ApplicationInfo;.packageName:Ljava/lang/String; // field@0000 │ │ +0161e0: 6e20 af05 1400 |0030: invoke-virtual {v4, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +0161e6: 6e10 b105 0400 |0033: invoke-virtual {v4}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ +0161ec: 0c01 |0036: move-result-object v1 │ │ +0161ee: 1a02 5100 |0037: const-string v2, ", " // string@0051 │ │ +0161f2: d803 0301 |0039: add-int/lit8 v3, v3, #int 1 // #01 │ │ +0161f6: 28d5 |003b: goto 0010 // -002b │ │ +0161f8: 1101 |003c: return-object v1 │ │ +0161fa: 5450 a700 |003d: iget-object v0, v5, Ldnsfilter/android/AppSelectorView;.selectedApps:Ljava/lang/String; // field@00a7 │ │ +0161fe: 1100 |003f: return-object v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=249 │ │ 0x0009 line=252 │ │ 0x000b line=256 │ │ 0x0013 line=257 │ │ 0x001d line=258 │ │ @@ -9895,51 +9895,51 @@ │ │ type : '()V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 4 │ │ ins : 1 │ │ outs : 3 │ │ insns size : 77 16-bit code units │ │ -01637c: |[01637c] dnsfilter.android.AppSelectorView.loadAppList:()V │ │ -01638c: 6e10 4f02 0300 |0000: invoke-virtual {v3}, Ldnsfilter/android/AppSelectorView;.getContext:()Landroid/content/Context; // method@024f │ │ -016392: 0c00 |0003: move-result-object v0 │ │ -016394: 7110 a500 0000 |0004: invoke-static {v0}, Landroid/view/LayoutInflater;.from:(Landroid/content/Context;)Landroid/view/LayoutInflater; // method@00a5 │ │ -01639a: 0c00 |0007: move-result-object v0 │ │ -01639c: 1401 0200 067f |0008: const v1, #float 1.78117e+38 // #7f060002 │ │ -0163a2: 1202 |000b: const/4 v2, #int 0 // #0 │ │ -0163a4: 6e30 a600 1002 |000c: invoke-virtual {v0, v1, v2}, Landroid/view/LayoutInflater;.inflate:(ILandroid/view/ViewGroup;)Landroid/view/View; // method@00a6 │ │ -0163aa: 0c00 |000f: move-result-object v0 │ │ -0163ac: 5b30 a600 |0010: iput-object v0, v3, Ldnsfilter/android/AppSelectorView;.searchView:Landroid/view/View; // field@00a6 │ │ -0163b0: 1401 5900 057f |0012: const v1, #float 1.76789e+38 // #7f050059 │ │ -0163b6: 6e20 ac00 1000 |0015: invoke-virtual {v0, v1}, Landroid/view/View;.findViewById:(I)Landroid/view/View; // method@00ac │ │ -0163bc: 0c00 |0018: move-result-object v0 │ │ -0163be: 6e20 b200 3000 |0019: invoke-virtual {v0, v3}, Landroid/view/View;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@00b2 │ │ -0163c4: 6e10 4f02 0300 |001c: invoke-virtual {v3}, Ldnsfilter/android/AppSelectorView;.getContext:()Landroid/content/Context; // method@024f │ │ -0163ca: 0c00 |001f: move-result-object v0 │ │ -0163cc: 7110 a500 0000 |0020: invoke-static {v0}, Landroid/view/LayoutInflater;.from:(Landroid/content/Context;)Landroid/view/LayoutInflater; // method@00a5 │ │ -0163d2: 0c00 |0023: move-result-object v0 │ │ -0163d4: 1401 0800 067f |0024: const v1, #float 1.78117e+38 // #7f060008 │ │ -0163da: 6e30 a600 1002 |0027: invoke-virtual {v0, v1, v2}, Landroid/view/LayoutInflater;.inflate:(ILandroid/view/ViewGroup;)Landroid/view/View; // method@00a6 │ │ -0163e0: 0c00 |002a: move-result-object v0 │ │ -0163e2: 5b30 a000 |002b: iput-object v0, v3, Ldnsfilter/android/AppSelectorView;.emptyResult:Landroid/view/View; // field@00a0 │ │ -0163e6: 1301 0800 |002d: const/16 v1, #int 8 // #8 │ │ -0163ea: 6e20 b400 1000 |002f: invoke-virtual {v0, v1}, Landroid/view/View;.setVisibility:(I)V // method@00b4 │ │ -0163f0: 5530 a300 |0032: iget-boolean v0, v3, Ldnsfilter/android/AppSelectorView;.loaded:Z // field@00a3 │ │ -0163f4: 3900 1800 |0034: if-nez v0, 004c // +0018 │ │ -0163f8: 5430 a500 |0036: iget-object v0, v3, Ldnsfilter/android/AppSelectorView;.runningUpdate:Ldnsfilter/android/AppSelectorView$AsyncLoader; // field@00a5 │ │ -0163fc: 3800 0300 |0038: if-eqz v0, 003b // +0003 │ │ -016400: 2812 |003a: goto 004c // +0012 │ │ -016402: 2200 9a00 |003b: new-instance v0, Ldnsfilter/android/AppSelectorView$AsyncLoader; // type@009a │ │ -016406: 7030 2f02 3002 |003d: invoke-direct {v0, v3, v2}, Ldnsfilter/android/AppSelectorView$AsyncLoader;.:(Ldnsfilter/android/AppSelectorView;Ldnsfilter/android/AppSelectorView$1;)V // method@022f │ │ -01640c: 5b30 a500 |0040: iput-object v0, v3, Ldnsfilter/android/AppSelectorView;.runningUpdate:Ldnsfilter/android/AppSelectorView$AsyncLoader; // field@00a5 │ │ -016410: 2200 2f01 |0042: new-instance v0, Ljava/lang/Thread; // type@012f │ │ -016414: 5431 a500 |0044: iget-object v1, v3, Ldnsfilter/android/AppSelectorView;.runningUpdate:Ldnsfilter/android/AppSelectorView$AsyncLoader; // field@00a5 │ │ -016418: 7020 b605 1000 |0046: invoke-direct {v0, v1}, Ljava/lang/Thread;.:(Ljava/lang/Runnable;)V // method@05b6 │ │ -01641e: 6e10 bc05 0000 |0049: invoke-virtual {v0}, Ljava/lang/Thread;.start:()V // method@05bc │ │ -016424: 0e00 |004c: return-void │ │ +016378: |[016378] dnsfilter.android.AppSelectorView.loadAppList:()V │ │ +016388: 6e10 4f02 0300 |0000: invoke-virtual {v3}, Ldnsfilter/android/AppSelectorView;.getContext:()Landroid/content/Context; // method@024f │ │ +01638e: 0c00 |0003: move-result-object v0 │ │ +016390: 7110 a500 0000 |0004: invoke-static {v0}, Landroid/view/LayoutInflater;.from:(Landroid/content/Context;)Landroid/view/LayoutInflater; // method@00a5 │ │ +016396: 0c00 |0007: move-result-object v0 │ │ +016398: 1401 0200 067f |0008: const v1, #float 1.78117e+38 // #7f060002 │ │ +01639e: 1202 |000b: const/4 v2, #int 0 // #0 │ │ +0163a0: 6e30 a600 1002 |000c: invoke-virtual {v0, v1, v2}, Landroid/view/LayoutInflater;.inflate:(ILandroid/view/ViewGroup;)Landroid/view/View; // method@00a6 │ │ +0163a6: 0c00 |000f: move-result-object v0 │ │ +0163a8: 5b30 a600 |0010: iput-object v0, v3, Ldnsfilter/android/AppSelectorView;.searchView:Landroid/view/View; // field@00a6 │ │ +0163ac: 1401 5900 057f |0012: const v1, #float 1.76789e+38 // #7f050059 │ │ +0163b2: 6e20 ac00 1000 |0015: invoke-virtual {v0, v1}, Landroid/view/View;.findViewById:(I)Landroid/view/View; // method@00ac │ │ +0163b8: 0c00 |0018: move-result-object v0 │ │ +0163ba: 6e20 b200 3000 |0019: invoke-virtual {v0, v3}, Landroid/view/View;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@00b2 │ │ +0163c0: 6e10 4f02 0300 |001c: invoke-virtual {v3}, Ldnsfilter/android/AppSelectorView;.getContext:()Landroid/content/Context; // method@024f │ │ +0163c6: 0c00 |001f: move-result-object v0 │ │ +0163c8: 7110 a500 0000 |0020: invoke-static {v0}, Landroid/view/LayoutInflater;.from:(Landroid/content/Context;)Landroid/view/LayoutInflater; // method@00a5 │ │ +0163ce: 0c00 |0023: move-result-object v0 │ │ +0163d0: 1401 0800 067f |0024: const v1, #float 1.78117e+38 // #7f060008 │ │ +0163d6: 6e30 a600 1002 |0027: invoke-virtual {v0, v1, v2}, Landroid/view/LayoutInflater;.inflate:(ILandroid/view/ViewGroup;)Landroid/view/View; // method@00a6 │ │ +0163dc: 0c00 |002a: move-result-object v0 │ │ +0163de: 5b30 a000 |002b: iput-object v0, v3, Ldnsfilter/android/AppSelectorView;.emptyResult:Landroid/view/View; // field@00a0 │ │ +0163e2: 1301 0800 |002d: const/16 v1, #int 8 // #8 │ │ +0163e6: 6e20 b400 1000 |002f: invoke-virtual {v0, v1}, Landroid/view/View;.setVisibility:(I)V // method@00b4 │ │ +0163ec: 5530 a300 |0032: iget-boolean v0, v3, Ldnsfilter/android/AppSelectorView;.loaded:Z // field@00a3 │ │ +0163f0: 3900 1800 |0034: if-nez v0, 004c // +0018 │ │ +0163f4: 5430 a500 |0036: iget-object v0, v3, Ldnsfilter/android/AppSelectorView;.runningUpdate:Ldnsfilter/android/AppSelectorView$AsyncLoader; // field@00a5 │ │ +0163f8: 3800 0300 |0038: if-eqz v0, 003b // +0003 │ │ +0163fc: 2812 |003a: goto 004c // +0012 │ │ +0163fe: 2200 9a00 |003b: new-instance v0, Ldnsfilter/android/AppSelectorView$AsyncLoader; // type@009a │ │ +016402: 7030 2f02 3002 |003d: invoke-direct {v0, v3, v2}, Ldnsfilter/android/AppSelectorView$AsyncLoader;.:(Ldnsfilter/android/AppSelectorView;Ldnsfilter/android/AppSelectorView$1;)V // method@022f │ │ +016408: 5b30 a500 |0040: iput-object v0, v3, Ldnsfilter/android/AppSelectorView;.runningUpdate:Ldnsfilter/android/AppSelectorView$AsyncLoader; // field@00a5 │ │ +01640c: 2200 2f01 |0042: new-instance v0, Ljava/lang/Thread; // type@012f │ │ +016410: 5431 a500 |0044: iget-object v1, v3, Ldnsfilter/android/AppSelectorView;.runningUpdate:Ldnsfilter/android/AppSelectorView$AsyncLoader; // field@00a5 │ │ +016414: 7020 b605 1000 |0046: invoke-direct {v0, v1}, Ljava/lang/Thread;.:(Ljava/lang/Runnable;)V // method@05b6 │ │ +01641a: 6e10 bc05 0000 |0049: invoke-virtual {v0}, Ljava/lang/Thread;.start:()V // method@05bc │ │ +016420: 0e00 |004c: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=202 │ │ 0x0015 line=203 │ │ 0x001c line=204 │ │ 0x002f line=205 │ │ 0x0032 line=207 │ │ @@ -9953,82 +9953,82 @@ │ │ type : '(Landroid/view/View;)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 9 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 132 16-bit code units │ │ -016428: |[016428] dnsfilter.android.AppSelectorView.onClick:(Landroid/view/View;)V │ │ -016438: 5578 a300 |0000: iget-boolean v8, v7, Ldnsfilter/android/AppSelectorView;.loaded:Z // field@00a3 │ │ -01643c: 3808 8100 |0002: if-eqz v8, 0083 // +0081 │ │ -016440: 5478 a500 |0004: iget-object v8, v7, Ldnsfilter/android/AppSelectorView;.runningUpdate:Ldnsfilter/android/AppSelectorView$AsyncLoader; // field@00a5 │ │ -016444: 3808 0400 |0006: if-eqz v8, 000a // +0004 │ │ -016448: 2900 7b00 |0008: goto/16 0083 // +007b │ │ -01644c: 5478 a600 |000a: iget-object v8, v7, Ldnsfilter/android/AppSelectorView;.searchView:Landroid/view/View; // field@00a6 │ │ -016450: 1400 5a00 057f |000c: const v0, #float 1.76789e+38 // #7f05005a │ │ -016456: 6e20 ac00 0800 |000f: invoke-virtual {v8, v0}, Landroid/view/View;.findViewById:(I)Landroid/view/View; // method@00ac │ │ -01645c: 0c08 |0012: move-result-object v8 │ │ -01645e: 1f08 6700 |0013: check-cast v8, Landroid/widget/EditText; // type@0067 │ │ -016462: 6e10 da00 0800 |0015: invoke-virtual {v8}, Landroid/widget/EditText;.getText:()Landroid/text/Editable; // method@00da │ │ -016468: 0c08 |0018: move-result-object v8 │ │ -01646a: 6e10 7a05 0800 |0019: invoke-virtual {v8}, Ljava/lang/Object;.toString:()Ljava/lang/String; // method@057a │ │ -016470: 0c08 |001c: move-result-object v8 │ │ -016472: 6e10 9e05 0800 |001d: invoke-virtual {v8}, Ljava/lang/String;.toLowerCase:()Ljava/lang/String; // method@059e │ │ -016478: 0c08 |0020: move-result-object v8 │ │ -01647a: 5470 a800 |0021: iget-object v0, v7, Ldnsfilter/android/AppSelectorView;.wrappers:[Ldnsfilter/android/AppSelectorView$ComparableAppInfoWrapper; // field@00a8 │ │ -01647e: 5471 a000 |0023: iget-object v1, v7, Ldnsfilter/android/AppSelectorView;.emptyResult:Landroid/view/View; // field@00a0 │ │ -016482: 1302 0800 |0025: const/16 v2, #int 8 // #8 │ │ -016486: 6e20 b400 2100 |0027: invoke-virtual {v1, v2}, Landroid/view/View;.setVisibility:(I)V // method@00b4 │ │ -01648c: 1201 |002a: const/4 v1, #int 0 // #0 │ │ -01648e: 1203 |002b: const/4 v3, #int 0 // #0 │ │ -016490: 1204 |002c: const/4 v4, #int 0 // #0 │ │ -016492: 2105 |002d: array-length v5, v0 │ │ -016494: 3553 3400 |002e: if-ge v3, v5, 0062 // +0034 │ │ -016498: 4605 0003 |0030: aget-object v5, v0, v3 │ │ -01649c: 5455 9900 |0032: iget-object v5, v5, Ldnsfilter/android/AppSelectorView$ComparableAppInfoWrapper;.checkBox:Landroid/widget/CheckBox; // field@0099 │ │ -0164a0: 6e10 cb00 0500 |0034: invoke-virtual {v5}, Landroid/widget/CheckBox;.getText:()Ljava/lang/CharSequence; // method@00cb │ │ -0164a6: 0c05 |0037: move-result-object v5 │ │ -0164a8: 7210 5205 0500 |0038: invoke-interface {v5}, Ljava/lang/CharSequence;.toString:()Ljava/lang/String; // method@0552 │ │ -0164ae: 0c05 |003b: move-result-object v5 │ │ -0164b0: 6e10 9e05 0500 |003c: invoke-virtual {v5}, Ljava/lang/String;.toLowerCase:()Ljava/lang/String; // method@059e │ │ -0164b6: 0c05 |003f: move-result-object v5 │ │ -0164b8: 6e20 9205 8500 |0040: invoke-virtual {v5, v8}, Ljava/lang/String;.indexOf:(Ljava/lang/String;)I // method@0592 │ │ -0164be: 0a05 |0043: move-result v5 │ │ -0164c0: 12f6 |0044: const/4 v6, #int -1 // #ff │ │ -0164c2: 3265 0400 |0045: if-eq v5, v6, 0049 // +0004 │ │ -0164c6: 1215 |0047: const/4 v5, #int 1 // #1 │ │ -0164c8: 2802 |0048: goto 004a // +0002 │ │ -0164ca: 1205 |0049: const/4 v5, #int 0 // #0 │ │ -0164cc: 3805 0a00 |004a: if-eqz v5, 0054 // +000a │ │ -0164d0: 4606 0003 |004c: aget-object v6, v0, v3 │ │ -0164d4: 5466 9900 |004e: iget-object v6, v6, Ldnsfilter/android/AppSelectorView$ComparableAppInfoWrapper;.checkBox:Landroid/widget/CheckBox; // field@0099 │ │ -0164d8: 6e20 d200 1600 |0050: invoke-virtual {v6, v1}, Landroid/widget/CheckBox;.setVisibility:(I)V // method@00d2 │ │ -0164de: 2808 |0053: goto 005b // +0008 │ │ -0164e0: 4606 0003 |0054: aget-object v6, v0, v3 │ │ -0164e4: 5466 9900 |0056: iget-object v6, v6, Ldnsfilter/android/AppSelectorView$ComparableAppInfoWrapper;.checkBox:Landroid/widget/CheckBox; // field@0099 │ │ -0164e8: 6e20 d200 2600 |0058: invoke-virtual {v6, v2}, Landroid/widget/CheckBox;.setVisibility:(I)V // method@00d2 │ │ -0164ee: 3805 0400 |005b: if-eqz v5, 005f // +0004 │ │ -0164f2: d804 0401 |005d: add-int/lit8 v4, v4, #int 1 // #01 │ │ -0164f6: d803 0301 |005f: add-int/lit8 v3, v3, #int 1 // #01 │ │ -0164fa: 28cc |0061: goto 002d // -0034 │ │ -0164fc: 3904 0700 |0062: if-nez v4, 0069 // +0007 │ │ -016500: 5478 a000 |0064: iget-object v8, v7, Ldnsfilter/android/AppSelectorView;.emptyResult:Landroid/view/View; // field@00a0 │ │ -016504: 6e20 b400 1800 |0066: invoke-virtual {v8, v1}, Landroid/view/View;.setVisibility:(I)V // method@00b4 │ │ -01650a: 7100 2707 0000 |0069: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0727 │ │ -016510: 0c08 |006c: move-result-object v8 │ │ -016512: 2200 2d01 |006d: new-instance v0, Ljava/lang/StringBuilder; // type@012d │ │ -016516: 1a01 a801 |006f: const-string v1, "Found: " // string@01a8 │ │ -01651a: 7020 aa05 1000 |0071: invoke-direct {v0, v1}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05aa │ │ -016520: 6e20 ac05 4000 |0074: invoke-virtual {v0, v4}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@05ac │ │ -016526: 1a01 1600 |0077: const-string v1, " apps!" // string@0016 │ │ -01652a: 6e20 af05 1000 |0079: invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -016530: 6e10 b105 0000 |007c: invoke-virtual {v0}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ -016536: 0c00 |007f: move-result-object v0 │ │ -016538: 7220 3307 0800 |0080: invoke-interface {v8, v0}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0733 │ │ -01653e: 0e00 |0083: return-void │ │ +016424: |[016424] dnsfilter.android.AppSelectorView.onClick:(Landroid/view/View;)V │ │ +016434: 5578 a300 |0000: iget-boolean v8, v7, Ldnsfilter/android/AppSelectorView;.loaded:Z // field@00a3 │ │ +016438: 3808 8100 |0002: if-eqz v8, 0083 // +0081 │ │ +01643c: 5478 a500 |0004: iget-object v8, v7, Ldnsfilter/android/AppSelectorView;.runningUpdate:Ldnsfilter/android/AppSelectorView$AsyncLoader; // field@00a5 │ │ +016440: 3808 0400 |0006: if-eqz v8, 000a // +0004 │ │ +016444: 2900 7b00 |0008: goto/16 0083 // +007b │ │ +016448: 5478 a600 |000a: iget-object v8, v7, Ldnsfilter/android/AppSelectorView;.searchView:Landroid/view/View; // field@00a6 │ │ +01644c: 1400 5a00 057f |000c: const v0, #float 1.76789e+38 // #7f05005a │ │ +016452: 6e20 ac00 0800 |000f: invoke-virtual {v8, v0}, Landroid/view/View;.findViewById:(I)Landroid/view/View; // method@00ac │ │ +016458: 0c08 |0012: move-result-object v8 │ │ +01645a: 1f08 6700 |0013: check-cast v8, Landroid/widget/EditText; // type@0067 │ │ +01645e: 6e10 da00 0800 |0015: invoke-virtual {v8}, Landroid/widget/EditText;.getText:()Landroid/text/Editable; // method@00da │ │ +016464: 0c08 |0018: move-result-object v8 │ │ +016466: 6e10 7a05 0800 |0019: invoke-virtual {v8}, Ljava/lang/Object;.toString:()Ljava/lang/String; // method@057a │ │ +01646c: 0c08 |001c: move-result-object v8 │ │ +01646e: 6e10 9e05 0800 |001d: invoke-virtual {v8}, Ljava/lang/String;.toLowerCase:()Ljava/lang/String; // method@059e │ │ +016474: 0c08 |0020: move-result-object v8 │ │ +016476: 5470 a800 |0021: iget-object v0, v7, Ldnsfilter/android/AppSelectorView;.wrappers:[Ldnsfilter/android/AppSelectorView$ComparableAppInfoWrapper; // field@00a8 │ │ +01647a: 5471 a000 |0023: iget-object v1, v7, Ldnsfilter/android/AppSelectorView;.emptyResult:Landroid/view/View; // field@00a0 │ │ +01647e: 1302 0800 |0025: const/16 v2, #int 8 // #8 │ │ +016482: 6e20 b400 2100 |0027: invoke-virtual {v1, v2}, Landroid/view/View;.setVisibility:(I)V // method@00b4 │ │ +016488: 1201 |002a: const/4 v1, #int 0 // #0 │ │ +01648a: 1203 |002b: const/4 v3, #int 0 // #0 │ │ +01648c: 1204 |002c: const/4 v4, #int 0 // #0 │ │ +01648e: 2105 |002d: array-length v5, v0 │ │ +016490: 3553 3400 |002e: if-ge v3, v5, 0062 // +0034 │ │ +016494: 4605 0003 |0030: aget-object v5, v0, v3 │ │ +016498: 5455 9900 |0032: iget-object v5, v5, Ldnsfilter/android/AppSelectorView$ComparableAppInfoWrapper;.checkBox:Landroid/widget/CheckBox; // field@0099 │ │ +01649c: 6e10 cb00 0500 |0034: invoke-virtual {v5}, Landroid/widget/CheckBox;.getText:()Ljava/lang/CharSequence; // method@00cb │ │ +0164a2: 0c05 |0037: move-result-object v5 │ │ +0164a4: 7210 5205 0500 |0038: invoke-interface {v5}, Ljava/lang/CharSequence;.toString:()Ljava/lang/String; // method@0552 │ │ +0164aa: 0c05 |003b: move-result-object v5 │ │ +0164ac: 6e10 9e05 0500 |003c: invoke-virtual {v5}, Ljava/lang/String;.toLowerCase:()Ljava/lang/String; // method@059e │ │ +0164b2: 0c05 |003f: move-result-object v5 │ │ +0164b4: 6e20 9205 8500 |0040: invoke-virtual {v5, v8}, Ljava/lang/String;.indexOf:(Ljava/lang/String;)I // method@0592 │ │ +0164ba: 0a05 |0043: move-result v5 │ │ +0164bc: 12f6 |0044: const/4 v6, #int -1 // #ff │ │ +0164be: 3265 0400 |0045: if-eq v5, v6, 0049 // +0004 │ │ +0164c2: 1215 |0047: const/4 v5, #int 1 // #1 │ │ +0164c4: 2802 |0048: goto 004a // +0002 │ │ +0164c6: 1205 |0049: const/4 v5, #int 0 // #0 │ │ +0164c8: 3805 0a00 |004a: if-eqz v5, 0054 // +000a │ │ +0164cc: 4606 0003 |004c: aget-object v6, v0, v3 │ │ +0164d0: 5466 9900 |004e: iget-object v6, v6, Ldnsfilter/android/AppSelectorView$ComparableAppInfoWrapper;.checkBox:Landroid/widget/CheckBox; // field@0099 │ │ +0164d4: 6e20 d200 1600 |0050: invoke-virtual {v6, v1}, Landroid/widget/CheckBox;.setVisibility:(I)V // method@00d2 │ │ +0164da: 2808 |0053: goto 005b // +0008 │ │ +0164dc: 4606 0003 |0054: aget-object v6, v0, v3 │ │ +0164e0: 5466 9900 |0056: iget-object v6, v6, Ldnsfilter/android/AppSelectorView$ComparableAppInfoWrapper;.checkBox:Landroid/widget/CheckBox; // field@0099 │ │ +0164e4: 6e20 d200 2600 |0058: invoke-virtual {v6, v2}, Landroid/widget/CheckBox;.setVisibility:(I)V // method@00d2 │ │ +0164ea: 3805 0400 |005b: if-eqz v5, 005f // +0004 │ │ +0164ee: d804 0401 |005d: add-int/lit8 v4, v4, #int 1 // #01 │ │ +0164f2: d803 0301 |005f: add-int/lit8 v3, v3, #int 1 // #01 │ │ +0164f6: 28cc |0061: goto 002d // -0034 │ │ +0164f8: 3904 0700 |0062: if-nez v4, 0069 // +0007 │ │ +0164fc: 5478 a000 |0064: iget-object v8, v7, Ldnsfilter/android/AppSelectorView;.emptyResult:Landroid/view/View; // field@00a0 │ │ +016500: 6e20 b400 1800 |0066: invoke-virtual {v8, v1}, Landroid/view/View;.setVisibility:(I)V // method@00b4 │ │ +016506: 7100 2707 0000 |0069: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0727 │ │ +01650c: 0c08 |006c: move-result-object v8 │ │ +01650e: 2200 2d01 |006d: new-instance v0, Ljava/lang/StringBuilder; // type@012d │ │ +016512: 1a01 a801 |006f: const-string v1, "Found: " // string@01a8 │ │ +016516: 7020 aa05 1000 |0071: invoke-direct {v0, v1}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05aa │ │ +01651c: 6e20 ac05 4000 |0074: invoke-virtual {v0, v4}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@05ac │ │ +016522: 1a01 1600 |0077: const-string v1, " apps!" // string@0016 │ │ +016526: 6e20 af05 1000 |0079: invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +01652c: 6e10 b105 0000 |007c: invoke-virtual {v0}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ +016532: 0c00 |007f: move-result-object v0 │ │ +016534: 7220 3307 0800 |0080: invoke-interface {v8, v0}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0733 │ │ +01653a: 0e00 |0083: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=41 │ │ 0x000a line=44 │ │ 0x0021 line=46 │ │ 0x0023 line=48 │ │ 0x002d line=50 │ │ @@ -10046,17 +10046,17 @@ │ │ type : '(Ljava/lang/String;)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 2 │ │ outs : 0 │ │ insns size : 3 16-bit code units │ │ -016540: |[016540] dnsfilter.android.AppSelectorView.setSelectedApps:(Ljava/lang/String;)V │ │ -016550: 5b01 a700 |0000: iput-object v1, v0, Ldnsfilter/android/AppSelectorView;.selectedApps:Ljava/lang/String; // field@00a7 │ │ -016554: 0e00 |0002: return-void │ │ +01653c: |[01653c] dnsfilter.android.AppSelectorView.setSelectedApps:(Ljava/lang/String;)V │ │ +01654c: 5b01 a700 |0000: iput-object v1, v0, Ldnsfilter/android/AppSelectorView;.selectedApps:Ljava/lang/String; // field@00a7 │ │ +016550: 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; │ │ │ │ @@ -10085,18 +10085,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 │ │ -01668c: |[01668c] dnsfilter.android.BootUpReceiver$$ExternalSyntheticApiModelOutline0.m:(Landroid/content/Context;Ljava/lang/String;)I │ │ -01669c: 6e20 3400 1000 |0000: invoke-virtual {v0, v1}, Landroid/content/Context;.checkSelfPermission:(Ljava/lang/String;)I // method@0034 │ │ -0166a2: 0a00 |0003: move-result v0 │ │ -0166a4: 0f00 |0004: return v0 │ │ +016688: |[016688] dnsfilter.android.BootUpReceiver$$ExternalSyntheticApiModelOutline0.m:(Landroid/content/Context;Ljava/lang/String;)I │ │ +016698: 6e20 3400 1000 |0000: invoke-virtual {v0, v1}, Landroid/content/Context;.checkSelfPermission:(Ljava/lang/String;)I // method@0034 │ │ +01669e: 0a00 |0003: move-result v0 │ │ +0166a0: 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; │ │ │ │ @@ -10105,18 +10105,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 │ │ -0166a8: |[0166a8] dnsfilter.android.BootUpReceiver$$ExternalSyntheticApiModelOutline0.m:(Ldnsfilter/android/DNSProxyActivity;Ljava/lang/String;)I │ │ -0166b8: 6e20 e902 1000 |0000: invoke-virtual {v0, v1}, Ldnsfilter/android/DNSProxyActivity;.checkSelfPermission:(Ljava/lang/String;)I // method@02e9 │ │ -0166be: 0a00 |0003: move-result v0 │ │ -0166c0: 0f00 |0004: return v0 │ │ +0166a4: |[0166a4] dnsfilter.android.BootUpReceiver$$ExternalSyntheticApiModelOutline0.m:(Ldnsfilter/android/DNSProxyActivity;Ljava/lang/String;)I │ │ +0166b4: 6e20 e902 1000 |0000: invoke-virtual {v0, v1}, Ldnsfilter/android/DNSProxyActivity;.checkSelfPermission:(Ljava/lang/String;)I // method@02e9 │ │ +0166ba: 0a00 |0003: move-result v0 │ │ +0166bc: 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; │ │ │ │ @@ -10125,18 +10125,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 │ │ -016558: |[016558] dnsfilter.android.BootUpReceiver$$ExternalSyntheticApiModelOutline0.m:(Landroid/content/Context;Landroid/content/Intent;)Landroid/content/ComponentName; │ │ -016568: 6e20 3f00 1000 |0000: invoke-virtual {v0, v1}, Landroid/content/Context;.startForegroundService:(Landroid/content/Intent;)Landroid/content/ComponentName; // method@003f │ │ -01656e: 0c00 |0003: move-result-object v0 │ │ -016570: 1100 |0004: return-object v0 │ │ +016554: |[016554] dnsfilter.android.BootUpReceiver$$ExternalSyntheticApiModelOutline0.m:(Landroid/content/Context;Landroid/content/Intent;)Landroid/content/ComponentName; │ │ +016564: 6e20 3f00 1000 |0000: invoke-virtual {v0, v1}, Landroid/content/Context;.startForegroundService:(Landroid/content/Intent;)Landroid/content/ComponentName; // method@003f │ │ +01656a: 0c00 |0003: move-result-object v0 │ │ +01656c: 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; │ │ │ │ @@ -10145,18 +10145,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 │ │ -016574: |[016574] dnsfilter.android.BootUpReceiver$$ExternalSyntheticApiModelOutline0.m:(Ldnsfilter/android/DNSFilterService;Landroid/content/BroadcastReceiver;Landroid/content/IntentFilter;I)Landroid/content/Intent; │ │ -016584: 6e40 a702 1032 |0000: invoke-virtual {v0, v1, v2, v3}, Ldnsfilter/android/DNSFilterService;.registerReceiver:(Landroid/content/BroadcastReceiver;Landroid/content/IntentFilter;I)Landroid/content/Intent; // method@02a7 │ │ -01658a: 0c00 |0003: move-result-object v0 │ │ -01658c: 1100 |0004: return-object v0 │ │ +016570: |[016570] dnsfilter.android.BootUpReceiver$$ExternalSyntheticApiModelOutline0.m:(Ldnsfilter/android/DNSFilterService;Landroid/content/BroadcastReceiver;Landroid/content/IntentFilter;I)Landroid/content/Intent; │ │ +016580: 6e40 a702 1032 |0000: invoke-virtual {v0, v1, v2, v3}, Ldnsfilter/android/DNSFilterService;.registerReceiver:(Landroid/content/BroadcastReceiver;Landroid/content/IntentFilter;I)Landroid/content/Intent; // method@02a7 │ │ +016586: 0c00 |0003: move-result-object v0 │ │ +016588: 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; │ │ @@ -10167,18 +10167,18 @@ │ │ type : '(Landroid/content/Context;I)Landroid/graphics/drawable/Icon;' │ │ access : 0x1049 (PUBLIC STATIC BRIDGE SYNTHETIC) │ │ code - │ │ registers : 2 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 5 16-bit code units │ │ -016590: |[016590] dnsfilter.android.BootUpReceiver$$ExternalSyntheticApiModelOutline0.m:(Landroid/content/Context;I)Landroid/graphics/drawable/Icon; │ │ -0165a0: 7120 6100 1000 |0000: invoke-static {v0, v1}, Landroid/graphics/drawable/Icon;.createWithResource:(Landroid/content/Context;I)Landroid/graphics/drawable/Icon; // method@0061 │ │ -0165a6: 0c00 |0003: move-result-object v0 │ │ -0165a8: 1100 |0004: return-object v0 │ │ +01658c: |[01658c] dnsfilter.android.BootUpReceiver$$ExternalSyntheticApiModelOutline0.m:(Landroid/content/Context;I)Landroid/graphics/drawable/Icon; │ │ +01659c: 7120 6100 1000 |0000: invoke-static {v0, v1}, Landroid/graphics/drawable/Icon;.createWithResource:(Landroid/content/Context;I)Landroid/graphics/drawable/Icon; // method@0061 │ │ +0165a2: 0c00 |0003: move-result-object v0 │ │ +0165a4: 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) I │ │ │ │ @@ -10187,18 +10187,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 │ │ -0165ac: |[0165ac] dnsfilter.android.BootUpReceiver$$ExternalSyntheticApiModelOutline0.m:(Landroid/net/ConnectivityManager;Landroid/net/Network;)Landroid/net/LinkProperties; │ │ -0165bc: 6e20 6400 1000 |0000: invoke-virtual {v0, v1}, Landroid/net/ConnectivityManager;.getLinkProperties:(Landroid/net/Network;)Landroid/net/LinkProperties; // method@0064 │ │ -0165c2: 0c00 |0003: move-result-object v0 │ │ -0165c4: 1100 |0004: return-object v0 │ │ +0165a8: |[0165a8] dnsfilter.android.BootUpReceiver$$ExternalSyntheticApiModelOutline0.m:(Landroid/net/ConnectivityManager;Landroid/net/Network;)Landroid/net/LinkProperties; │ │ +0165b8: 6e20 6400 1000 |0000: invoke-virtual {v0, v1}, Landroid/net/ConnectivityManager;.getLinkProperties:(Landroid/net/Network;)Landroid/net/LinkProperties; // method@0064 │ │ +0165be: 0c00 |0003: move-result-object v0 │ │ +0165c0: 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; │ │ │ │ @@ -10207,18 +10207,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 │ │ -0165c8: |[0165c8] dnsfilter.android.BootUpReceiver$$ExternalSyntheticApiModelOutline0.m:(Landroid/net/ConnectivityManager;Landroid/net/Network;)Landroid/net/NetworkInfo; │ │ -0165d8: 6e20 6500 1000 |0000: invoke-virtual {v0, v1}, Landroid/net/ConnectivityManager;.getNetworkInfo:(Landroid/net/Network;)Landroid/net/NetworkInfo; // method@0065 │ │ -0165de: 0c00 |0003: move-result-object v0 │ │ -0165e0: 1100 |0004: return-object v0 │ │ +0165c4: |[0165c4] dnsfilter.android.BootUpReceiver$$ExternalSyntheticApiModelOutline0.m:(Landroid/net/ConnectivityManager;Landroid/net/Network;)Landroid/net/NetworkInfo; │ │ +0165d4: 6e20 6500 1000 |0000: invoke-virtual {v0, v1}, Landroid/net/ConnectivityManager;.getNetworkInfo:(Landroid/net/Network;)Landroid/net/NetworkInfo; // method@0065 │ │ +0165da: 0c00 |0003: move-result-object v0 │ │ +0165dc: 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; │ │ │ │ @@ -10227,18 +10227,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 │ │ -016638: |[016638] dnsfilter.android.BootUpReceiver$$ExternalSyntheticApiModelOutline0.m:(Landroid/net/VpnService$Builder;Ljava/lang/String;)Landroid/net/VpnService$Builder; │ │ -016648: 6e20 6d00 1000 |0000: invoke-virtual {v0, v1}, Landroid/net/VpnService$Builder;.addDisallowedApplication:(Ljava/lang/String;)Landroid/net/VpnService$Builder; // method@006d │ │ -01664e: 0c00 |0003: move-result-object v0 │ │ -016650: 1100 |0004: return-object v0 │ │ +016634: |[016634] dnsfilter.android.BootUpReceiver$$ExternalSyntheticApiModelOutline0.m:(Landroid/net/VpnService$Builder;Ljava/lang/String;)Landroid/net/VpnService$Builder; │ │ +016644: 6e20 6d00 1000 |0000: invoke-virtual {v0, v1}, Landroid/net/VpnService$Builder;.addDisallowedApplication:(Ljava/lang/String;)Landroid/net/VpnService$Builder; // method@006d │ │ +01664a: 0c00 |0003: move-result-object v0 │ │ +01664c: 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; │ │ │ │ @@ -10247,18 +10247,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 │ │ -01661c: |[01661c] dnsfilter.android.BootUpReceiver$$ExternalSyntheticApiModelOutline0.m:(Landroid/net/VpnService$Builder;Z)Landroid/net/VpnService$Builder; │ │ -01662c: 6e20 7200 1000 |0000: invoke-virtual {v0, v1}, Landroid/net/VpnService$Builder;.setBlocking:(Z)Landroid/net/VpnService$Builder; // method@0072 │ │ -016632: 0c00 |0003: move-result-object v0 │ │ -016634: 1100 |0004: return-object v0 │ │ +016618: |[016618] dnsfilter.android.BootUpReceiver$$ExternalSyntheticApiModelOutline0.m:(Landroid/net/VpnService$Builder;Z)Landroid/net/VpnService$Builder; │ │ +016628: 6e20 7200 1000 |0000: invoke-virtual {v0, v1}, Landroid/net/VpnService$Builder;.setBlocking:(Z)Landroid/net/VpnService$Builder; // method@0072 │ │ +01662e: 0c00 |0003: move-result-object v0 │ │ +016630: 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 │ │ │ │ @@ -10267,18 +10267,18 @@ │ │ type : '(Ldnsfilter/android/DNSFilterTileService;)Landroid/service/quicksettings/Tile;' │ │ access : 0x1049 (PUBLIC STATIC BRIDGE SYNTHETIC) │ │ code - │ │ registers : 1 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 5 16-bit code units │ │ -016654: |[016654] dnsfilter.android.BootUpReceiver$$ExternalSyntheticApiModelOutline0.m:(Ldnsfilter/android/DNSFilterTileService;)Landroid/service/quicksettings/Tile; │ │ -016664: 6e10 b502 0000 |0000: invoke-virtual {v0}, Ldnsfilter/android/DNSFilterTileService;.getQsTile:()Landroid/service/quicksettings/Tile; // method@02b5 │ │ -01666a: 0c00 |0003: move-result-object v0 │ │ -01666c: 1100 |0004: return-object v0 │ │ +016650: |[016650] dnsfilter.android.BootUpReceiver$$ExternalSyntheticApiModelOutline0.m:(Ldnsfilter/android/DNSFilterTileService;)Landroid/service/quicksettings/Tile; │ │ +016660: 6e10 b502 0000 |0000: invoke-virtual {v0}, Ldnsfilter/android/DNSFilterTileService;.getQsTile:()Landroid/service/quicksettings/Tile; // method@02b5 │ │ +016666: 0c00 |0003: move-result-object v0 │ │ +016668: 1100 |0004: return-object v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=0 │ │ locals : │ │ 0x0000 - 0x0005 reg=0 (null) Ldnsfilter/android/DNSFilterTileService; │ │ │ │ #10 : (in Ldnsfilter/android/BootUpReceiver$$ExternalSyntheticApiModelOutline0;) │ │ @@ -10286,18 +10286,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 │ │ -016670: |[016670] dnsfilter.android.BootUpReceiver$$ExternalSyntheticApiModelOutline0.m:(Ljava/lang/String;I)Landroid/text/Spanned; │ │ -016680: 7120 9b00 1000 |0000: invoke-static {v0, v1}, Landroid/text/Html;.fromHtml:(Ljava/lang/String;I)Landroid/text/Spanned; // method@009b │ │ -016686: 0c00 |0003: move-result-object v0 │ │ -016688: 1100 |0004: return-object v0 │ │ +01666c: |[01666c] dnsfilter.android.BootUpReceiver$$ExternalSyntheticApiModelOutline0.m:(Ljava/lang/String;I)Landroid/text/Spanned; │ │ +01667c: 7120 9b00 1000 |0000: invoke-static {v0, v1}, Landroid/text/Html;.fromHtml:(Ljava/lang/String;I)Landroid/text/Spanned; // method@009b │ │ +016682: 0c00 |0003: move-result-object v0 │ │ +016684: 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 │ │ │ │ @@ -10306,18 +10306,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 │ │ -0166e0: |[0166e0] dnsfilter.android.BootUpReceiver$$ExternalSyntheticApiModelOutline0.m:(Landroid/net/Network;)Ljava/lang/String; │ │ -0166f0: 6e10 6700 0000 |0000: invoke-virtual {v0}, Landroid/net/Network;.toString:()Ljava/lang/String; // method@0067 │ │ -0166f6: 0c00 |0003: move-result-object v0 │ │ -0166f8: 1100 |0004: return-object v0 │ │ +0166dc: |[0166dc] dnsfilter.android.BootUpReceiver$$ExternalSyntheticApiModelOutline0.m:(Landroid/net/Network;)Ljava/lang/String; │ │ +0166ec: 6e10 6700 0000 |0000: invoke-virtual {v0}, Landroid/net/Network;.toString:()Ljava/lang/String; // method@0067 │ │ +0166f2: 0c00 |0003: move-result-object v0 │ │ +0166f4: 1100 |0004: return-object v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=0 │ │ locals : │ │ 0x0000 - 0x0005 reg=0 (null) Landroid/net/Network; │ │ │ │ #12 : (in Ldnsfilter/android/BootUpReceiver$$ExternalSyntheticApiModelOutline0;) │ │ @@ -10325,18 +10325,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 │ │ -0166fc: |[0166fc] dnsfilter.android.BootUpReceiver$$ExternalSyntheticApiModelOutline0.m:(Landroid/net/LinkProperties;)Ljava/util/List; │ │ -01670c: 6e10 6600 0000 |0000: invoke-virtual {v0}, Landroid/net/LinkProperties;.getDnsServers:()Ljava/util/List; // method@0066 │ │ -016712: 0c00 |0003: move-result-object v0 │ │ -016714: 1100 |0004: return-object v0 │ │ +0166f8: |[0166f8] dnsfilter.android.BootUpReceiver$$ExternalSyntheticApiModelOutline0.m:(Landroid/net/LinkProperties;)Ljava/util/List; │ │ +016708: 6e10 6600 0000 |0000: invoke-virtual {v0}, Landroid/net/LinkProperties;.getDnsServers:()Ljava/util/List; // method@0066 │ │ +01670e: 0c00 |0003: move-result-object v0 │ │ +016710: 1100 |0004: return-object v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=0 │ │ locals : │ │ 0x0000 - 0x0005 reg=0 (null) Landroid/net/LinkProperties; │ │ │ │ #13 : (in Ldnsfilter/android/BootUpReceiver$$ExternalSyntheticApiModelOutline0;) │ │ @@ -10344,17 +10344,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 │ │ -016730: |[016730] dnsfilter.android.BootUpReceiver$$ExternalSyntheticApiModelOutline0.m:(Landroid/app/NotificationManager;Landroid/app/NotificationChannel;)V │ │ -016740: 6e20 2c00 1000 |0000: invoke-virtual {v0, v1}, Landroid/app/NotificationManager;.createNotificationChannel:(Landroid/app/NotificationChannel;)V // method@002c │ │ -016746: 0e00 |0003: return-void │ │ +01672c: |[01672c] dnsfilter.android.BootUpReceiver$$ExternalSyntheticApiModelOutline0.m:(Landroid/app/NotificationManager;Landroid/app/NotificationChannel;)V │ │ +01673c: 6e20 2c00 1000 |0000: invoke-virtual {v0, v1}, Landroid/app/NotificationManager;.createNotificationChannel:(Landroid/app/NotificationChannel;)V // method@002c │ │ +016742: 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; │ │ │ │ @@ -10363,17 +10363,17 @@ │ │ type : '(Landroid/content/Context;Landroid/content/ComponentName;)V' │ │ access : 0x1049 (PUBLIC STATIC BRIDGE SYNTHETIC) │ │ code - │ │ registers : 2 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 4 16-bit code units │ │ -016748: |[016748] dnsfilter.android.BootUpReceiver$$ExternalSyntheticApiModelOutline0.m:(Landroid/content/Context;Landroid/content/ComponentName;)V │ │ -016758: 7120 9800 1000 |0000: invoke-static {v0, v1}, Landroid/service/quicksettings/TileService;.requestListeningState:(Landroid/content/Context;Landroid/content/ComponentName;)V // method@0098 │ │ -01675e: 0e00 |0003: return-void │ │ +016744: |[016744] dnsfilter.android.BootUpReceiver$$ExternalSyntheticApiModelOutline0.m:(Landroid/content/Context;Landroid/content/ComponentName;)V │ │ +016754: 7120 9800 1000 |0000: invoke-static {v0, v1}, Landroid/service/quicksettings/TileService;.requestListeningState:(Landroid/content/Context;Landroid/content/ComponentName;)V // method@0098 │ │ +01675a: 0e00 |0003: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=0 │ │ locals : │ │ 0x0000 - 0x0004 reg=0 (null) Landroid/content/Context; │ │ 0x0000 - 0x0004 reg=1 (null) Landroid/content/ComponentName; │ │ │ │ @@ -10382,17 +10382,17 @@ │ │ type : '(Landroid/service/quicksettings/Tile;)V' │ │ access : 0x1049 (PUBLIC STATIC BRIDGE SYNTHETIC) │ │ code - │ │ registers : 1 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 4 16-bit code units │ │ -016760: |[016760] dnsfilter.android.BootUpReceiver$$ExternalSyntheticApiModelOutline0.m:(Landroid/service/quicksettings/Tile;)V │ │ -016770: 6e10 9100 0000 |0000: invoke-virtual {v0}, Landroid/service/quicksettings/Tile;.updateTile:()V // method@0091 │ │ -016776: 0e00 |0003: return-void │ │ +01675c: |[01675c] dnsfilter.android.BootUpReceiver$$ExternalSyntheticApiModelOutline0.m:(Landroid/service/quicksettings/Tile;)V │ │ +01676c: 6e10 9100 0000 |0000: invoke-virtual {v0}, Landroid/service/quicksettings/Tile;.updateTile:()V // method@0091 │ │ +016772: 0e00 |0003: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=0 │ │ locals : │ │ 0x0000 - 0x0004 reg=0 (null) Landroid/service/quicksettings/Tile; │ │ │ │ #16 : (in Ldnsfilter/android/BootUpReceiver$$ExternalSyntheticApiModelOutline0;) │ │ @@ -10400,17 +10400,17 @@ │ │ type : '(Landroid/service/quicksettings/Tile;I)V' │ │ access : 0x1049 (PUBLIC STATIC BRIDGE SYNTHETIC) │ │ code - │ │ registers : 2 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 4 16-bit code units │ │ -016790: |[016790] dnsfilter.android.BootUpReceiver$$ExternalSyntheticApiModelOutline0.m:(Landroid/service/quicksettings/Tile;I)V │ │ -0167a0: 6e20 9000 1000 |0000: invoke-virtual {v0, v1}, Landroid/service/quicksettings/Tile;.setState:(I)V // method@0090 │ │ -0167a6: 0e00 |0003: return-void │ │ +01678c: |[01678c] dnsfilter.android.BootUpReceiver$$ExternalSyntheticApiModelOutline0.m:(Landroid/service/quicksettings/Tile;I)V │ │ +01679c: 6e20 9000 1000 |0000: invoke-virtual {v0, v1}, Landroid/service/quicksettings/Tile;.setState:(I)V // method@0090 │ │ +0167a2: 0e00 |0003: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=0 │ │ locals : │ │ 0x0000 - 0x0004 reg=0 (null) Landroid/service/quicksettings/Tile; │ │ 0x0000 - 0x0004 reg=1 (null) I │ │ │ │ @@ -10419,17 +10419,17 @@ │ │ type : '(Landroid/service/quicksettings/Tile;Landroid/graphics/drawable/Icon;)V' │ │ access : 0x1049 (PUBLIC STATIC BRIDGE SYNTHETIC) │ │ code - │ │ registers : 2 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 4 16-bit code units │ │ -016778: |[016778] dnsfilter.android.BootUpReceiver$$ExternalSyntheticApiModelOutline0.m:(Landroid/service/quicksettings/Tile;Landroid/graphics/drawable/Icon;)V │ │ -016788: 6e20 8f00 1000 |0000: invoke-virtual {v0, v1}, Landroid/service/quicksettings/Tile;.setIcon:(Landroid/graphics/drawable/Icon;)V // method@008f │ │ -01678e: 0e00 |0003: return-void │ │ +016774: |[016774] dnsfilter.android.BootUpReceiver$$ExternalSyntheticApiModelOutline0.m:(Landroid/service/quicksettings/Tile;Landroid/graphics/drawable/Icon;)V │ │ +016784: 6e20 8f00 1000 |0000: invoke-virtual {v0, v1}, Landroid/service/quicksettings/Tile;.setIcon:(Landroid/graphics/drawable/Icon;)V // method@008f │ │ +01678a: 0e00 |0003: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=0 │ │ locals : │ │ 0x0000 - 0x0004 reg=0 (null) Landroid/service/quicksettings/Tile; │ │ 0x0000 - 0x0004 reg=1 (null) Landroid/graphics/drawable/Icon; │ │ │ │ @@ -10438,17 +10438,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 │ │ -0167a8: |[0167a8] dnsfilter.android.BootUpReceiver$$ExternalSyntheticApiModelOutline0.m:(Landroid/view/ViewGroup;)V │ │ -0167b8: 7110 a000 0000 |0000: invoke-static {v0}, Landroid/transition/TransitionManager;.beginDelayedTransition:(Landroid/view/ViewGroup;)V // method@00a0 │ │ -0167be: 0e00 |0003: return-void │ │ +0167a4: |[0167a4] dnsfilter.android.BootUpReceiver$$ExternalSyntheticApiModelOutline0.m:(Landroid/view/ViewGroup;)V │ │ +0167b4: 7110 a000 0000 |0000: invoke-static {v0}, Landroid/transition/TransitionManager;.beginDelayedTransition:(Landroid/view/ViewGroup;)V // method@00a0 │ │ +0167ba: 0e00 |0003: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=0 │ │ locals : │ │ 0x0000 - 0x0004 reg=0 (null) Landroid/view/ViewGroup; │ │ │ │ #19 : (in Ldnsfilter/android/BootUpReceiver$$ExternalSyntheticApiModelOutline0;) │ │ @@ -10456,17 +10456,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 │ │ -0167c0: |[0167c0] dnsfilter.android.BootUpReceiver$$ExternalSyntheticApiModelOutline0.m:(Landroid/view/Window;I)V │ │ -0167d0: 6e20 bc00 1000 |0000: invoke-virtual {v0, v1}, Landroid/view/Window;.setStatusBarColor:(I)V // method@00bc │ │ -0167d6: 0e00 |0003: return-void │ │ +0167bc: |[0167bc] dnsfilter.android.BootUpReceiver$$ExternalSyntheticApiModelOutline0.m:(Landroid/view/Window;I)V │ │ +0167cc: 6e20 bc00 1000 |0000: invoke-virtual {v0, v1}, Landroid/view/Window;.setStatusBarColor:(I)V // method@00bc │ │ +0167d2: 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 │ │ │ │ @@ -10475,17 +10475,17 @@ │ │ type : '(Ldnsfilter/android/DNSFilterTileService;Landroid/app/PendingIntent;)V' │ │ access : 0x1049 (PUBLIC STATIC BRIDGE SYNTHETIC) │ │ code - │ │ registers : 2 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 4 16-bit code units │ │ -0167d8: |[0167d8] dnsfilter.android.BootUpReceiver$$ExternalSyntheticApiModelOutline0.m:(Ldnsfilter/android/DNSFilterTileService;Landroid/app/PendingIntent;)V │ │ -0167e8: 6e20 bc02 1000 |0000: invoke-virtual {v0, v1}, Ldnsfilter/android/DNSFilterTileService;.startActivityAndCollapse:(Landroid/app/PendingIntent;)V // method@02bc │ │ -0167ee: 0e00 |0003: return-void │ │ +0167d4: |[0167d4] dnsfilter.android.BootUpReceiver$$ExternalSyntheticApiModelOutline0.m:(Ldnsfilter/android/DNSFilterTileService;Landroid/app/PendingIntent;)V │ │ +0167e4: 6e20 bc02 1000 |0000: invoke-virtual {v0, v1}, Ldnsfilter/android/DNSFilterTileService;.startActivityAndCollapse:(Landroid/app/PendingIntent;)V // method@02bc │ │ +0167ea: 0e00 |0003: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=0 │ │ locals : │ │ 0x0000 - 0x0004 reg=0 (null) Ldnsfilter/android/DNSFilterTileService; │ │ 0x0000 - 0x0004 reg=1 (null) Landroid/app/PendingIntent; │ │ │ │ @@ -10494,17 +10494,17 @@ │ │ type : '(Ldnsfilter/android/DNSFilterTileService;Landroid/content/Intent;)V' │ │ access : 0x1049 (PUBLIC STATIC BRIDGE SYNTHETIC) │ │ code - │ │ registers : 2 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 4 16-bit code units │ │ -0167f0: |[0167f0] dnsfilter.android.BootUpReceiver$$ExternalSyntheticApiModelOutline0.m:(Ldnsfilter/android/DNSFilterTileService;Landroid/content/Intent;)V │ │ -016800: 6e20 bd02 1000 |0000: invoke-virtual {v0, v1}, Ldnsfilter/android/DNSFilterTileService;.startActivityAndCollapse:(Landroid/content/Intent;)V // method@02bd │ │ -016806: 0e00 |0003: return-void │ │ +0167ec: |[0167ec] dnsfilter.android.BootUpReceiver$$ExternalSyntheticApiModelOutline0.m:(Ldnsfilter/android/DNSFilterTileService;Landroid/content/Intent;)V │ │ +0167fc: 6e20 bd02 1000 |0000: invoke-virtual {v0, v1}, Ldnsfilter/android/DNSFilterTileService;.startActivityAndCollapse:(Landroid/content/Intent;)V // method@02bd │ │ +016802: 0e00 |0003: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=0 │ │ locals : │ │ 0x0000 - 0x0004 reg=0 (null) Ldnsfilter/android/DNSFilterTileService; │ │ 0x0000 - 0x0004 reg=1 (null) Landroid/content/Intent; │ │ │ │ @@ -10513,17 +10513,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 │ │ -016808: |[016808] dnsfilter.android.BootUpReceiver$$ExternalSyntheticApiModelOutline0.m:(Ldnsfilter/android/DNSProxyActivity;[Ljava/lang/String;I)V │ │ -016818: 6e30 2b03 1002 |0000: invoke-virtual {v0, v1, v2}, Ldnsfilter/android/DNSProxyActivity;.requestPermissions:([Ljava/lang/String;I)V // method@032b │ │ -01681e: 0e00 |0003: return-void │ │ +016804: |[016804] dnsfilter.android.BootUpReceiver$$ExternalSyntheticApiModelOutline0.m:(Ldnsfilter/android/DNSProxyActivity;[Ljava/lang/String;I)V │ │ +016814: 6e30 2b03 1002 |0000: invoke-virtual {v0, v1, v2}, Ldnsfilter/android/DNSProxyActivity;.requestPermissions:([Ljava/lang/String;I)V // method@032b │ │ +01681a: 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 │ │ @@ -10533,18 +10533,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 │ │ -0165e4: |[0165e4] dnsfilter.android.BootUpReceiver$$ExternalSyntheticApiModelOutline0.m:(Landroid/net/ConnectivityManager;)[Landroid/net/Network; │ │ -0165f4: 6e10 6300 0000 |0000: invoke-virtual {v0}, Landroid/net/ConnectivityManager;.getAllNetworks:()[Landroid/net/Network; // method@0063 │ │ -0165fa: 0c00 |0003: move-result-object v0 │ │ -0165fc: 1100 |0004: return-object v0 │ │ +0165e0: |[0165e0] dnsfilter.android.BootUpReceiver$$ExternalSyntheticApiModelOutline0.m:(Landroid/net/ConnectivityManager;)[Landroid/net/Network; │ │ +0165f0: 6e10 6300 0000 |0000: invoke-virtual {v0}, Landroid/net/ConnectivityManager;.getAllNetworks:()[Landroid/net/Network; // method@0063 │ │ +0165f6: 0c00 |0003: move-result-object v0 │ │ +0165f8: 1100 |0004: return-object v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=0 │ │ locals : │ │ 0x0000 - 0x0005 reg=0 (null) Landroid/net/ConnectivityManager; │ │ │ │ #24 : (in Ldnsfilter/android/BootUpReceiver$$ExternalSyntheticApiModelOutline0;) │ │ @@ -10552,18 +10552,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 │ │ -0166c4: |[0166c4] dnsfilter.android.BootUpReceiver$$ExternalSyntheticApiModelOutline0.m:(Landroid/content/Context;Ljava/lang/String;)[Ljava/io/File; │ │ -0166d4: 6e20 3800 1000 |0000: invoke-virtual {v0, v1}, Landroid/content/Context;.getExternalFilesDirs:(Ljava/lang/String;)[Ljava/io/File; // method@0038 │ │ -0166da: 0c00 |0003: move-result-object v0 │ │ -0166dc: 1100 |0004: return-object v0 │ │ +0166c0: |[0166c0] dnsfilter.android.BootUpReceiver$$ExternalSyntheticApiModelOutline0.m:(Landroid/content/Context;Ljava/lang/String;)[Ljava/io/File; │ │ +0166d0: 6e20 3800 1000 |0000: invoke-virtual {v0, v1}, Landroid/content/Context;.getExternalFilesDirs:(Ljava/lang/String;)[Ljava/io/File; // method@0038 │ │ +0166d6: 0c00 |0003: move-result-object v0 │ │ +0166d8: 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; │ │ │ │ @@ -10572,18 +10572,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 │ │ -016600: |[016600] dnsfilter.android.BootUpReceiver$$ExternalSyntheticApiModelOutline0.m$1:(Landroid/net/VpnService$Builder;Z)Landroid/net/VpnService$Builder; │ │ -016610: 6e20 7400 1000 |0000: invoke-virtual {v0, v1}, Landroid/net/VpnService$Builder;.setMetered:(Z)Landroid/net/VpnService$Builder; // method@0074 │ │ -016616: 0c00 |0003: move-result-object v0 │ │ -016618: 1100 |0004: return-object v0 │ │ +0165fc: |[0165fc] dnsfilter.android.BootUpReceiver$$ExternalSyntheticApiModelOutline0.m$1:(Landroid/net/VpnService$Builder;Z)Landroid/net/VpnService$Builder; │ │ +01660c: 6e20 7400 1000 |0000: invoke-virtual {v0, v1}, Landroid/net/VpnService$Builder;.setMetered:(Z)Landroid/net/VpnService$Builder; // method@0074 │ │ +016612: 0c00 |0003: move-result-object v0 │ │ +016614: 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 │ │ │ │ @@ -10592,17 +10592,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 │ │ -016718: |[016718] dnsfilter.android.BootUpReceiver$$ExternalSyntheticApiModelOutline0.m$1:(Landroid/view/Window;I)V │ │ -016728: 6e20 bb00 1000 |0000: invoke-virtual {v0, v1}, Landroid/view/Window;.setNavigationBarColor:(I)V // method@00bb │ │ -01672e: 0e00 |0003: return-void │ │ +016714: |[016714] dnsfilter.android.BootUpReceiver$$ExternalSyntheticApiModelOutline0.m$1:(Landroid/view/Window;I)V │ │ +016724: 6e20 bb00 1000 |0000: invoke-virtual {v0, v1}, Landroid/view/Window;.setNavigationBarColor:(I)V // method@00bb │ │ +01672a: 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 │ │ │ │ @@ -10632,17 +10632,17 @@ │ │ type : '()V' │ │ access : 0x10001 (PUBLIC CONSTRUCTOR) │ │ code - │ │ registers : 1 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 4 16-bit code units │ │ -0168a4: |[0168a4] dnsfilter.android.BootUpReceiver.:()V │ │ -0168b4: 7010 3000 0000 |0000: invoke-direct {v0}, Landroid/content/BroadcastReceiver;.:()V // method@0030 │ │ -0168ba: 0e00 |0003: return-void │ │ +0168a0: |[0168a0] dnsfilter.android.BootUpReceiver.:()V │ │ +0168b0: 7010 3000 0000 |0000: invoke-direct {v0}, Landroid/content/BroadcastReceiver;.:()V // method@0030 │ │ +0168b6: 0e00 |0003: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=38 │ │ locals : │ │ 0x0000 - 0x0004 reg=0 this Ldnsfilter/android/BootUpReceiver; │ │ │ │ Virtual methods - │ │ @@ -10651,37 +10651,37 @@ │ │ type : '()Ljava/util/Properties;' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 4 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 49 16-bit code units │ │ -016820: |[016820] dnsfilter.android.BootUpReceiver.getConfig:()Ljava/util/Properties; │ │ -016830: 2200 fb00 |0000: new-instance v0, Ljava/io/File; // type@00fb │ │ -016834: 2201 2d01 |0002: new-instance v1, Ljava/lang/StringBuilder; // type@012d │ │ -016838: 7010 a905 0100 |0004: invoke-direct {v1}, Ljava/lang/StringBuilder;.:()V // method@05a9 │ │ -01683e: 7100 d406 0000 |0007: invoke-static {}, Lutil/ExecutionEnvironment;.getEnvironment:()Lutil/ExecutionEnvironmentInterface; // method@06d4 │ │ -016844: 0c02 |000a: move-result-object v2 │ │ -016846: 7210 e406 0200 |000b: invoke-interface {v2}, Lutil/ExecutionEnvironmentInterface;.getWorkDir:()Ljava/lang/String; // method@06e4 │ │ -01684c: 0c02 |000e: move-result-object v2 │ │ -01684e: 6e20 af05 2100 |000f: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -016854: 1a02 6500 |0012: const-string v2, "/dnsfilter.conf" // string@0065 │ │ -016858: 6e20 af05 2100 |0014: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -01685e: 6e10 b105 0100 |0017: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ -016864: 0c01 |001a: move-result-object v1 │ │ -016866: 7020 0105 1000 |001b: invoke-direct {v0, v1}, Ljava/io/File;.:(Ljava/lang/String;)V // method@0501 │ │ -01686c: 2201 fd00 |001e: new-instance v1, Ljava/io/FileInputStream; // type@00fd │ │ -016870: 7020 1305 0100 |0020: invoke-direct {v1, v0}, Ljava/io/FileInputStream;.:(Ljava/io/File;)V // method@0513 │ │ -016876: 2200 6201 |0023: new-instance v0, Ljava/util/Properties; // type@0162 │ │ -01687a: 7010 5306 0000 |0025: invoke-direct {v0}, Ljava/util/Properties;.:()V // method@0653 │ │ -016880: 6e20 5906 1000 |0028: invoke-virtual {v0, v1}, Ljava/util/Properties;.load:(Ljava/io/InputStream;)V // method@0659 │ │ -016886: 6e10 2905 0100 |002b: invoke-virtual {v1}, Ljava/io/InputStream;.close:()V // method@0529 │ │ -01688c: 1100 |002e: return-object v0 │ │ -01688e: 1200 |002f: const/4 v0, #int 0 // #0 │ │ -016890: 1100 |0030: return-object v0 │ │ +01681c: |[01681c] dnsfilter.android.BootUpReceiver.getConfig:()Ljava/util/Properties; │ │ +01682c: 2200 fb00 |0000: new-instance v0, Ljava/io/File; // type@00fb │ │ +016830: 2201 2d01 |0002: new-instance v1, Ljava/lang/StringBuilder; // type@012d │ │ +016834: 7010 a905 0100 |0004: invoke-direct {v1}, Ljava/lang/StringBuilder;.:()V // method@05a9 │ │ +01683a: 7100 d406 0000 |0007: invoke-static {}, Lutil/ExecutionEnvironment;.getEnvironment:()Lutil/ExecutionEnvironmentInterface; // method@06d4 │ │ +016840: 0c02 |000a: move-result-object v2 │ │ +016842: 7210 e406 0200 |000b: invoke-interface {v2}, Lutil/ExecutionEnvironmentInterface;.getWorkDir:()Ljava/lang/String; // method@06e4 │ │ +016848: 0c02 |000e: move-result-object v2 │ │ +01684a: 6e20 af05 2100 |000f: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +016850: 1a02 6500 |0012: const-string v2, "/dnsfilter.conf" // string@0065 │ │ +016854: 6e20 af05 2100 |0014: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +01685a: 6e10 b105 0100 |0017: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ +016860: 0c01 |001a: move-result-object v1 │ │ +016862: 7020 0105 1000 |001b: invoke-direct {v0, v1}, Ljava/io/File;.:(Ljava/lang/String;)V // method@0501 │ │ +016868: 2201 fd00 |001e: new-instance v1, Ljava/io/FileInputStream; // type@00fd │ │ +01686c: 7020 1305 0100 |0020: invoke-direct {v1, v0}, Ljava/io/FileInputStream;.:(Ljava/io/File;)V // method@0513 │ │ +016872: 2200 6201 |0023: new-instance v0, Ljava/util/Properties; // type@0162 │ │ +016876: 7010 5306 0000 |0025: invoke-direct {v0}, Ljava/util/Properties;.:()V // method@0653 │ │ +01687c: 6e20 5906 1000 |0028: invoke-virtual {v0, v1}, Ljava/util/Properties;.load:(Ljava/io/InputStream;)V // method@0659 │ │ +016882: 6e10 2905 0100 |002b: invoke-virtual {v1}, Ljava/io/InputStream;.close:()V // method@0529 │ │ +016888: 1100 |002e: return-object v0 │ │ +01688a: 1200 |002f: const/4 v0, #int 0 // #0 │ │ +01688c: 1100 |0030: return-object v0 │ │ catches : 1 │ │ 0x001e - 0x002e │ │ Ljava/lang/Exception; -> 0x002f │ │ positions : │ │ 0x0000 line=65 │ │ 0x001e line=68 │ │ 0x0023 line=69 │ │ @@ -10695,61 +10695,61 @@ │ │ type : '(Landroid/content/Context;Landroid/content/Intent;)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 7 │ │ ins : 3 │ │ outs : 3 │ │ insns size : 98 16-bit code units │ │ -0168bc: |[0168bc] dnsfilter.android.BootUpReceiver.onReceive:(Landroid/content/Context;Landroid/content/Intent;)V │ │ -0168cc: 7110 2202 0500 |0000: invoke-static {v5}, Ldnsfilter/android/AndroidEnvironment;.initEnvironment:(Landroid/content/Context;)V // method@0222 │ │ -0168d2: 6e10 7502 0400 |0003: invoke-virtual {v4}, Ldnsfilter/android/BootUpReceiver;.getConfig:()Ljava/util/Properties; // method@0275 │ │ -0168d8: 0c06 |0006: move-result-object v6 │ │ -0168da: 3806 5a00 |0007: if-eqz v6, 0061 // +005a │ │ -0168de: 1a00 b200 |0009: const-string v0, "AUTOSTART" // string@00b2 │ │ -0168e2: 1a01 df06 |000b: const-string v1, "false" // string@06df │ │ -0168e6: 6e30 5706 0601 |000d: invoke-virtual {v6, v0, v1}, Ljava/util/Properties;.getProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@0657 │ │ -0168ec: 0c00 |0010: move-result-object v0 │ │ -0168ee: 7110 4d05 0000 |0011: invoke-static {v0}, Ljava/lang/Boolean;.parseBoolean:(Ljava/lang/String;)Z // method@054d │ │ -0168f4: 0a00 |0014: move-result v0 │ │ -0168f6: 3800 4c00 |0015: if-eqz v0, 0061 // +004c │ │ -0168fa: 6000 0200 |0017: sget v0, Landroid/os/Build$VERSION;.SDK_INT:I // field@0002 │ │ -0168fe: 1302 1c00 |0019: const/16 v2, #int 28 // #1c │ │ -016902: 3420 3400 |001b: if-lt v0, v2, 004f // +0034 │ │ -016906: 2200 1a00 |001d: new-instance v0, Landroid/content/Intent; // type@001a │ │ -01690a: 1c02 a400 |001f: const-class v2, Ldnsfilter/android/DNSFilterService; // type@00a4 │ │ -01690e: 7030 4200 5002 |0021: invoke-direct {v0, v5, v2}, Landroid/content/Intent;.:(Landroid/content/Context;Ljava/lang/Class;)V // method@0042 │ │ -016914: 1a02 6b06 |0024: const-string v2, "dnsProxyOnAndroid" // string@066b │ │ -016918: 6e30 5706 2601 |0026: invoke-virtual {v6, v2, v1}, Ljava/util/Properties;.getProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@0657 │ │ -01691e: 0c02 |0029: move-result-object v2 │ │ -016920: 7110 4d05 0200 |002a: invoke-static {v2}, Ljava/lang/Boolean;.parseBoolean:(Ljava/lang/String;)Z // method@054d │ │ -016926: 0a02 |002d: move-result v2 │ │ -016928: 1a03 900b |002e: const-string v3, "vpnInAdditionToProxyMode" // string@0b90 │ │ -01692c: 6e30 5706 3601 |0030: invoke-virtual {v6, v3, v1}, Ljava/util/Properties;.getProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@0657 │ │ -016932: 0c06 |0033: move-result-object v6 │ │ -016934: 7110 4d05 0600 |0034: invoke-static {v6}, Ljava/lang/Boolean;.parseBoolean:(Ljava/lang/String;)Z // method@054d │ │ -01693a: 0a06 |0037: move-result v6 │ │ -01693c: 3802 0400 |0038: if-eqz v2, 003c // +0004 │ │ -016940: 3806 0500 |003a: if-eqz v6, 003f // +0005 │ │ -016944: 7110 7900 0500 |003c: invoke-static {v5}, Landroid/net/VpnService;.prepare:(Landroid/content/Context;)Landroid/content/Intent; // method@0079 │ │ -01694a: 2206 3b00 |003f: new-instance v6, Landroid/os/StrictMode$ThreadPolicy$Builder; // type@003b │ │ -01694e: 7010 8c00 0600 |0041: invoke-direct {v6}, Landroid/os/StrictMode$ThreadPolicy$Builder;.:()V // method@008c │ │ -016954: 6e10 8d00 0600 |0044: invoke-virtual {v6}, Landroid/os/StrictMode$ThreadPolicy$Builder;.build:()Landroid/os/StrictMode$ThreadPolicy; // method@008d │ │ -01695a: 0c06 |0047: move-result-object v6 │ │ -01695c: 7110 8e00 0600 |0048: invoke-static {v6}, Landroid/os/StrictMode;.setThreadPolicy:(Landroid/os/StrictMode$ThreadPolicy;)V // method@008e │ │ -016962: 7120 5b02 0500 |004b: invoke-static {v5, v0}, Ldnsfilter/android/BootUpReceiver$$ExternalSyntheticApiModelOutline0;.m:(Landroid/content/Context;Landroid/content/Intent;)Landroid/content/ComponentName; // method@025b │ │ -016968: 2813 |004e: goto 0061 // +0013 │ │ -01696a: 1216 |004f: const/4 v6, #int 1 // #1 │ │ -01696c: 6a06 ec00 |0050: sput-boolean v6, Ldnsfilter/android/DNSProxyActivity;.BOOT_START:Z // field@00ec │ │ -016970: 2206 1a00 |0052: new-instance v6, Landroid/content/Intent; // type@001a │ │ -016974: 1c00 b000 |0054: const-class v0, Ldnsfilter/android/DNSProxyActivity; // type@00b0 │ │ -016978: 7030 4200 5600 |0056: invoke-direct {v6, v5, v0}, Landroid/content/Intent;.:(Landroid/content/Context;Ljava/lang/Class;)V // method@0042 │ │ -01697e: 1500 0010 |0059: const/high16 v0, #int 268435456 // #1000 │ │ -016982: 6e20 4600 0600 |005b: invoke-virtual {v6, v0}, Landroid/content/Intent;.addFlags:(I)Landroid/content/Intent; // method@0046 │ │ -016988: 6e20 3e00 6500 |005e: invoke-virtual {v5, v6}, Landroid/content/Context;.startActivity:(Landroid/content/Intent;)V // method@003e │ │ -01698e: 0e00 |0061: return-void │ │ +0168b8: |[0168b8] dnsfilter.android.BootUpReceiver.onReceive:(Landroid/content/Context;Landroid/content/Intent;)V │ │ +0168c8: 7110 2202 0500 |0000: invoke-static {v5}, Ldnsfilter/android/AndroidEnvironment;.initEnvironment:(Landroid/content/Context;)V // method@0222 │ │ +0168ce: 6e10 7502 0400 |0003: invoke-virtual {v4}, Ldnsfilter/android/BootUpReceiver;.getConfig:()Ljava/util/Properties; // method@0275 │ │ +0168d4: 0c06 |0006: move-result-object v6 │ │ +0168d6: 3806 5a00 |0007: if-eqz v6, 0061 // +005a │ │ +0168da: 1a00 b200 |0009: const-string v0, "AUTOSTART" // string@00b2 │ │ +0168de: 1a01 df06 |000b: const-string v1, "false" // string@06df │ │ +0168e2: 6e30 5706 0601 |000d: invoke-virtual {v6, v0, v1}, Ljava/util/Properties;.getProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@0657 │ │ +0168e8: 0c00 |0010: move-result-object v0 │ │ +0168ea: 7110 4d05 0000 |0011: invoke-static {v0}, Ljava/lang/Boolean;.parseBoolean:(Ljava/lang/String;)Z // method@054d │ │ +0168f0: 0a00 |0014: move-result v0 │ │ +0168f2: 3800 4c00 |0015: if-eqz v0, 0061 // +004c │ │ +0168f6: 6000 0200 |0017: sget v0, Landroid/os/Build$VERSION;.SDK_INT:I // field@0002 │ │ +0168fa: 1302 1c00 |0019: const/16 v2, #int 28 // #1c │ │ +0168fe: 3420 3400 |001b: if-lt v0, v2, 004f // +0034 │ │ +016902: 2200 1a00 |001d: new-instance v0, Landroid/content/Intent; // type@001a │ │ +016906: 1c02 a400 |001f: const-class v2, Ldnsfilter/android/DNSFilterService; // type@00a4 │ │ +01690a: 7030 4200 5002 |0021: invoke-direct {v0, v5, v2}, Landroid/content/Intent;.:(Landroid/content/Context;Ljava/lang/Class;)V // method@0042 │ │ +016910: 1a02 6b06 |0024: const-string v2, "dnsProxyOnAndroid" // string@066b │ │ +016914: 6e30 5706 2601 |0026: invoke-virtual {v6, v2, v1}, Ljava/util/Properties;.getProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@0657 │ │ +01691a: 0c02 |0029: move-result-object v2 │ │ +01691c: 7110 4d05 0200 |002a: invoke-static {v2}, Ljava/lang/Boolean;.parseBoolean:(Ljava/lang/String;)Z // method@054d │ │ +016922: 0a02 |002d: move-result v2 │ │ +016924: 1a03 900b |002e: const-string v3, "vpnInAdditionToProxyMode" // string@0b90 │ │ +016928: 6e30 5706 3601 |0030: invoke-virtual {v6, v3, v1}, Ljava/util/Properties;.getProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@0657 │ │ +01692e: 0c06 |0033: move-result-object v6 │ │ +016930: 7110 4d05 0600 |0034: invoke-static {v6}, Ljava/lang/Boolean;.parseBoolean:(Ljava/lang/String;)Z // method@054d │ │ +016936: 0a06 |0037: move-result v6 │ │ +016938: 3802 0400 |0038: if-eqz v2, 003c // +0004 │ │ +01693c: 3806 0500 |003a: if-eqz v6, 003f // +0005 │ │ +016940: 7110 7900 0500 |003c: invoke-static {v5}, Landroid/net/VpnService;.prepare:(Landroid/content/Context;)Landroid/content/Intent; // method@0079 │ │ +016946: 2206 3b00 |003f: new-instance v6, Landroid/os/StrictMode$ThreadPolicy$Builder; // type@003b │ │ +01694a: 7010 8c00 0600 |0041: invoke-direct {v6}, Landroid/os/StrictMode$ThreadPolicy$Builder;.:()V // method@008c │ │ +016950: 6e10 8d00 0600 |0044: invoke-virtual {v6}, Landroid/os/StrictMode$ThreadPolicy$Builder;.build:()Landroid/os/StrictMode$ThreadPolicy; // method@008d │ │ +016956: 0c06 |0047: move-result-object v6 │ │ +016958: 7110 8e00 0600 |0048: invoke-static {v6}, Landroid/os/StrictMode;.setThreadPolicy:(Landroid/os/StrictMode$ThreadPolicy;)V // method@008e │ │ +01695e: 7120 5b02 0500 |004b: invoke-static {v5, v0}, Ldnsfilter/android/BootUpReceiver$$ExternalSyntheticApiModelOutline0;.m:(Landroid/content/Context;Landroid/content/Intent;)Landroid/content/ComponentName; // method@025b │ │ +016964: 2813 |004e: goto 0061 // +0013 │ │ +016966: 1216 |004f: const/4 v6, #int 1 // #1 │ │ +016968: 6a06 ec00 |0050: sput-boolean v6, Ldnsfilter/android/DNSProxyActivity;.BOOT_START:Z // field@00ec │ │ +01696c: 2206 1a00 |0052: new-instance v6, Landroid/content/Intent; // type@001a │ │ +016970: 1c00 b000 |0054: const-class v0, Ldnsfilter/android/DNSProxyActivity; // type@00b0 │ │ +016974: 7030 4200 5600 |0056: invoke-direct {v6, v5, v0}, Landroid/content/Intent;.:(Landroid/content/Context;Ljava/lang/Class;)V // method@0042 │ │ +01697a: 1500 0010 |0059: const/high16 v0, #int 268435456 // #1000 │ │ +01697e: 6e20 4600 0600 |005b: invoke-virtual {v6, v0}, Landroid/content/Intent;.addFlags:(I)Landroid/content/Intent; // method@0046 │ │ +016984: 6e20 3e00 6500 |005e: invoke-virtual {v5, v6}, Landroid/content/Context;.startActivity:(Landroid/content/Intent;)V // method@003e │ │ +01698a: 0e00 |0061: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=42 │ │ 0x0003 line=43 │ │ 0x0009 line=44 │ │ 0x0017 line=46 │ │ 0x001d line=47 │ │ @@ -10797,36 +10797,36 @@ │ │ type : '()V' │ │ access : 0x10008 (STATIC CONSTRUCTOR) │ │ code - │ │ registers : 1 │ │ ins : 0 │ │ outs : 1 │ │ insns size : 8 16-bit code units │ │ -0169a8: |[0169a8] dnsfilter.android.ConnectionChangeReceiver.:()V │ │ -0169b8: 2200 a000 |0000: new-instance v0, Ldnsfilter/android/ConnectionChangeReceiver; // type@00a0 │ │ -0169bc: 7010 7802 0000 |0002: invoke-direct {v0}, Ldnsfilter/android/ConnectionChangeReceiver;.:()V // method@0278 │ │ -0169c2: 6900 a900 |0005: sput-object v0, Ldnsfilter/android/ConnectionChangeReceiver;.instance:Ldnsfilter/android/ConnectionChangeReceiver; // field@00a9 │ │ -0169c6: 0e00 |0007: return-void │ │ +0169a4: |[0169a4] dnsfilter.android.ConnectionChangeReceiver.:()V │ │ +0169b4: 2200 a000 |0000: new-instance v0, Ldnsfilter/android/ConnectionChangeReceiver; // type@00a0 │ │ +0169b8: 7010 7802 0000 |0002: invoke-direct {v0}, Ldnsfilter/android/ConnectionChangeReceiver;.:()V // method@0278 │ │ +0169be: 6900 a900 |0005: sput-object v0, Ldnsfilter/android/ConnectionChangeReceiver;.instance:Ldnsfilter/android/ConnectionChangeReceiver; // field@00a9 │ │ +0169c2: 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 │ │ -0169c8: |[0169c8] dnsfilter.android.ConnectionChangeReceiver.:()V │ │ -0169d8: 7010 3000 0000 |0000: invoke-direct {v0}, Landroid/content/BroadcastReceiver;.:()V // method@0030 │ │ -0169de: 0e00 |0003: return-void │ │ +0169c4: |[0169c4] dnsfilter.android.ConnectionChangeReceiver.:()V │ │ +0169d4: 7010 3000 0000 |0000: invoke-direct {v0}, Landroid/content/BroadcastReceiver;.:()V // method@0030 │ │ +0169da: 0e00 |0003: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=34 │ │ locals : │ │ 0x0000 - 0x0004 reg=0 this Ldnsfilter/android/ConnectionChangeReceiver; │ │ │ │ #2 : (in Ldnsfilter/android/ConnectionChangeReceiver;) │ │ @@ -10834,17 +10834,17 @@ │ │ type : '()Ldnsfilter/android/ConnectionChangeReceiver;' │ │ access : 0x0009 (PUBLIC STATIC) │ │ code - │ │ registers : 1 │ │ ins : 0 │ │ outs : 0 │ │ insns size : 3 16-bit code units │ │ -016990: |[016990] dnsfilter.android.ConnectionChangeReceiver.getInstance:()Ldnsfilter/android/ConnectionChangeReceiver; │ │ -0169a0: 6200 a900 |0000: sget-object v0, Ldnsfilter/android/ConnectionChangeReceiver;.instance:Ldnsfilter/android/ConnectionChangeReceiver; // field@00a9 │ │ -0169a4: 1100 |0002: return-object v0 │ │ +01698c: |[01698c] dnsfilter.android.ConnectionChangeReceiver.getInstance:()Ldnsfilter/android/ConnectionChangeReceiver; │ │ +01699c: 6200 a900 |0000: sget-object v0, Ldnsfilter/android/ConnectionChangeReceiver;.instance:Ldnsfilter/android/ConnectionChangeReceiver; // field@00a9 │ │ +0169a0: 1100 |0002: return-object v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=39 │ │ locals : │ │ │ │ Virtual methods - │ │ #0 : (in Ldnsfilter/android/ConnectionChangeReceiver;) │ │ @@ -10852,67 +10852,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 │ │ -0169e0: |[0169e0] dnsfilter.android.ConnectionChangeReceiver.onReceive:(Landroid/content/Context;Landroid/content/Intent;)V │ │ -0169f0: 1a03 2504 |0000: const-string v3, "Received network connection event: " // string@0425 │ │ -0169f4: 1d02 |0002: monitor-enter v2 │ │ -0169f6: 7100 d406 0000 |0003: invoke-static {}, Lutil/ExecutionEnvironment;.getEnvironment:()Lutil/ExecutionEnvironmentInterface; // method@06d4 │ │ -0169fc: 0c00 |0006: move-result-object v0 │ │ -0169fe: 7210 e006 0000 |0007: invoke-interface {v0}, Lutil/ExecutionEnvironmentInterface;.debug:()Z // method@06e0 │ │ -016a04: 0a00 |000a: move-result v0 │ │ -016a06: 3800 1900 |000b: if-eqz v0, 0024 // +0019 │ │ -016a0a: 7100 2707 0000 |000d: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0727 │ │ -016a10: 0c00 |0010: move-result-object v0 │ │ -016a12: 2201 2d01 |0011: new-instance v1, Ljava/lang/StringBuilder; // type@012d │ │ -016a16: 7020 aa05 3100 |0013: invoke-direct {v1, v3}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05aa │ │ -016a1c: 6e10 4700 0400 |0016: invoke-virtual {v4}, Landroid/content/Intent;.getAction:()Ljava/lang/String; // method@0047 │ │ -016a22: 0c03 |0019: move-result-object v3 │ │ -016a24: 6e20 af05 3100 |001a: invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -016a2a: 6e10 b105 0100 |001d: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ -016a30: 0c03 |0020: move-result-object v3 │ │ -016a32: 7220 3307 3000 |0021: invoke-interface {v0, v3}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0733 │ │ -016a38: 6e10 4a00 0400 |0024: invoke-virtual {v4}, Landroid/content/Intent;.getExtras:()Landroid/os/Bundle; // method@004a │ │ -016a3e: 0c03 |0027: move-result-object v3 │ │ -016a40: 1a04 0209 |0028: const-string v4, "noConnectivity" // string@0902 │ │ -016a44: 6200 1703 |002a: sget-object v0, Ljava/lang/Boolean;.FALSE:Ljava/lang/Boolean; // field@0317 │ │ -016a48: 6e10 4b05 0000 |002c: invoke-virtual {v0}, Ljava/lang/Boolean;.booleanValue:()Z // method@054b │ │ -016a4e: 0a00 |002f: move-result v0 │ │ -016a50: 6e30 7e00 4300 |0030: invoke-virtual {v3, v4, v0}, Landroid/os/Bundle;.getBoolean:(Ljava/lang/String;Z)Z // method@007e │ │ -016a56: 0a03 |0033: move-result v3 │ │ -016a58: 3803 1800 |0034: if-eqz v3, 004c // +0018 │ │ -016a5c: 7100 d406 0000 |0036: invoke-static {}, Lutil/ExecutionEnvironment;.getEnvironment:()Lutil/ExecutionEnvironmentInterface; // method@06d4 │ │ -016a62: 0c03 |0039: move-result-object v3 │ │ -016a64: 7210 e006 0300 |003a: invoke-interface {v3}, Lutil/ExecutionEnvironmentInterface;.debug:()Z // method@06e0 │ │ -016a6a: 0a03 |003d: move-result v3 │ │ -016a6c: 3803 0b00 |003e: if-eqz v3, 0049 // +000b │ │ -016a70: 7100 2707 0000 |0040: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0727 │ │ -016a76: 0c03 |0043: move-result-object v3 │ │ -016a78: 1a04 eb03 |0044: const-string v4, "Network got disconnected!" // string@03eb │ │ -016a7c: 7220 3307 4300 |0046: invoke-interface {v3, v4}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0733 │ │ -016a82: 7100 fc01 0000 |0049: invoke-static {}, Ldnsfilter/DNSServer;.invalidateOpenConnections:()V // method@01fc │ │ -016a88: 1203 |004c: const/4 v3, #int 0 // #0 │ │ -016a8a: 7110 a202 0300 |004d: invoke-static {v3}, Ldnsfilter/android/DNSFilterService;.possibleNetworkChange:(Z)V // method@02a2 │ │ -016a90: 2203 2f01 |0050: new-instance v3, Ljava/lang/Thread; // type@012f │ │ -016a94: 7020 b605 2300 |0052: invoke-direct {v3, v2}, Ljava/lang/Thread;.:(Ljava/lang/Runnable;)V // method@05b6 │ │ -016a9a: 6e10 bc05 0300 |0055: invoke-virtual {v3}, Ljava/lang/Thread;.start:()V // method@05bc │ │ -016aa0: 280b |0058: goto 0063 // +000b │ │ -016aa2: 0d03 |0059: move-exception v3 │ │ -016aa4: 280b |005a: goto 0065 // +000b │ │ -016aa6: 0d03 |005b: move-exception v3 │ │ -016aa8: 7100 2707 0000 |005c: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0727 │ │ -016aae: 0c04 |005f: move-result-object v4 │ │ -016ab0: 7220 3207 3400 |0060: invoke-interface {v4, v3}, Lutil/LoggerInterface;.logException:(Ljava/lang/Exception;)V // method@0732 │ │ -016ab6: 1e02 |0063: monitor-exit v2 │ │ -016ab8: 0e00 |0064: return-void │ │ -016aba: 1e02 |0065: monitor-exit v2 │ │ -016abc: 2703 |0066: throw v3 │ │ +0169dc: |[0169dc] dnsfilter.android.ConnectionChangeReceiver.onReceive:(Landroid/content/Context;Landroid/content/Intent;)V │ │ +0169ec: 1a03 2504 |0000: const-string v3, "Received network connection event: " // string@0425 │ │ +0169f0: 1d02 |0002: monitor-enter v2 │ │ +0169f2: 7100 d406 0000 |0003: invoke-static {}, Lutil/ExecutionEnvironment;.getEnvironment:()Lutil/ExecutionEnvironmentInterface; // method@06d4 │ │ +0169f8: 0c00 |0006: move-result-object v0 │ │ +0169fa: 7210 e006 0000 |0007: invoke-interface {v0}, Lutil/ExecutionEnvironmentInterface;.debug:()Z // method@06e0 │ │ +016a00: 0a00 |000a: move-result v0 │ │ +016a02: 3800 1900 |000b: if-eqz v0, 0024 // +0019 │ │ +016a06: 7100 2707 0000 |000d: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0727 │ │ +016a0c: 0c00 |0010: move-result-object v0 │ │ +016a0e: 2201 2d01 |0011: new-instance v1, Ljava/lang/StringBuilder; // type@012d │ │ +016a12: 7020 aa05 3100 |0013: invoke-direct {v1, v3}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05aa │ │ +016a18: 6e10 4700 0400 |0016: invoke-virtual {v4}, Landroid/content/Intent;.getAction:()Ljava/lang/String; // method@0047 │ │ +016a1e: 0c03 |0019: move-result-object v3 │ │ +016a20: 6e20 af05 3100 |001a: invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +016a26: 6e10 b105 0100 |001d: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ +016a2c: 0c03 |0020: move-result-object v3 │ │ +016a2e: 7220 3307 3000 |0021: invoke-interface {v0, v3}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0733 │ │ +016a34: 6e10 4a00 0400 |0024: invoke-virtual {v4}, Landroid/content/Intent;.getExtras:()Landroid/os/Bundle; // method@004a │ │ +016a3a: 0c03 |0027: move-result-object v3 │ │ +016a3c: 1a04 0209 |0028: const-string v4, "noConnectivity" // string@0902 │ │ +016a40: 6200 1703 |002a: sget-object v0, Ljava/lang/Boolean;.FALSE:Ljava/lang/Boolean; // field@0317 │ │ +016a44: 6e10 4b05 0000 |002c: invoke-virtual {v0}, Ljava/lang/Boolean;.booleanValue:()Z // method@054b │ │ +016a4a: 0a00 |002f: move-result v0 │ │ +016a4c: 6e30 7e00 4300 |0030: invoke-virtual {v3, v4, v0}, Landroid/os/Bundle;.getBoolean:(Ljava/lang/String;Z)Z // method@007e │ │ +016a52: 0a03 |0033: move-result v3 │ │ +016a54: 3803 1800 |0034: if-eqz v3, 004c // +0018 │ │ +016a58: 7100 d406 0000 |0036: invoke-static {}, Lutil/ExecutionEnvironment;.getEnvironment:()Lutil/ExecutionEnvironmentInterface; // method@06d4 │ │ +016a5e: 0c03 |0039: move-result-object v3 │ │ +016a60: 7210 e006 0300 |003a: invoke-interface {v3}, Lutil/ExecutionEnvironmentInterface;.debug:()Z // method@06e0 │ │ +016a66: 0a03 |003d: move-result v3 │ │ +016a68: 3803 0b00 |003e: if-eqz v3, 0049 // +000b │ │ +016a6c: 7100 2707 0000 |0040: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0727 │ │ +016a72: 0c03 |0043: move-result-object v3 │ │ +016a74: 1a04 eb03 |0044: const-string v4, "Network got disconnected!" // string@03eb │ │ +016a78: 7220 3307 4300 |0046: invoke-interface {v3, v4}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0733 │ │ +016a7e: 7100 fc01 0000 |0049: invoke-static {}, Ldnsfilter/DNSServer;.invalidateOpenConnections:()V // method@01fc │ │ +016a84: 1203 |004c: const/4 v3, #int 0 // #0 │ │ +016a86: 7110 a202 0300 |004d: invoke-static {v3}, Ldnsfilter/android/DNSFilterService;.possibleNetworkChange:(Z)V // method@02a2 │ │ +016a8c: 2203 2f01 |0050: new-instance v3, Ljava/lang/Thread; // type@012f │ │ +016a90: 7020 b605 2300 |0052: invoke-direct {v3, v2}, Ljava/lang/Thread;.:(Ljava/lang/Runnable;)V // method@05b6 │ │ +016a96: 6e10 bc05 0300 |0055: invoke-virtual {v3}, Ljava/lang/Thread;.start:()V // method@05bc │ │ +016a9c: 280b |0058: goto 0063 // +000b │ │ +016a9e: 0d03 |0059: move-exception v3 │ │ +016aa0: 280b |005a: goto 0065 // +000b │ │ +016aa2: 0d03 |005b: move-exception v3 │ │ +016aa4: 7100 2707 0000 |005c: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0727 │ │ +016aaa: 0c04 |005f: move-result-object v4 │ │ +016aac: 7220 3207 3400 |0060: invoke-interface {v4, v3}, Lutil/LoggerInterface;.logException:(Ljava/lang/Exception;)V // method@0732 │ │ +016ab2: 1e02 |0063: monitor-exit v2 │ │ +016ab4: 0e00 |0064: return-void │ │ +016ab6: 1e02 |0065: monitor-exit v2 │ │ +016ab8: 2703 |0066: throw v3 │ │ catches : 2 │ │ 0x0003 - 0x0058 │ │ Ljava/lang/Exception; -> 0x005b │ │ -> 0x0059 │ │ 0x005c - 0x0063 │ │ -> 0x0059 │ │ positions : │ │ @@ -10936,25 +10936,25 @@ │ │ type : '()V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 3 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 19 16-bit code units │ │ -016ad8: |[016ad8] dnsfilter.android.ConnectionChangeReceiver.run:()V │ │ -016ae8: 1600 1027 |0000: const-wide/16 v0, #int 10000 // #2710 │ │ -016aec: 7120 bb05 1000 |0002: invoke-static {v0, v1}, Ljava/lang/Thread;.sleep:(J)V // method@05bb │ │ -016af2: 1200 |0005: const/4 v0, #int 0 // #0 │ │ -016af4: 7110 a202 0000 |0006: invoke-static {v0}, Ldnsfilter/android/DNSFilterService;.possibleNetworkChange:(Z)V // method@02a2 │ │ -016afa: 2809 |0009: goto 0012 // +0009 │ │ -016afc: 0d00 |000a: move-exception v0 │ │ -016afe: 7100 2707 0000 |000b: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0727 │ │ -016b04: 0c01 |000e: move-result-object v1 │ │ -016b06: 7220 3207 0100 |000f: invoke-interface {v1, v0}, Lutil/LoggerInterface;.logException:(Ljava/lang/Exception;)V // method@0732 │ │ -016b0c: 0e00 |0012: return-void │ │ +016ad4: |[016ad4] dnsfilter.android.ConnectionChangeReceiver.run:()V │ │ +016ae4: 1600 1027 |0000: const-wide/16 v0, #int 10000 // #2710 │ │ +016ae8: 7120 bb05 1000 |0002: invoke-static {v0, v1}, Ljava/lang/Thread;.sleep:(J)V // method@05bb │ │ +016aee: 1200 |0005: const/4 v0, #int 0 // #0 │ │ +016af0: 7110 a202 0000 |0006: invoke-static {v0}, Ldnsfilter/android/DNSFilterService;.possibleNetworkChange:(Z)V // method@02a2 │ │ +016af6: 2809 |0009: goto 0012 // +0009 │ │ +016af8: 0d00 |000a: move-exception v0 │ │ +016afa: 7100 2707 0000 |000b: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0727 │ │ +016b00: 0c01 |000e: move-result-object v1 │ │ +016b02: 7220 3207 0100 |000f: invoke-interface {v1, v0}, Lutil/LoggerInterface;.logException:(Ljava/lang/Exception;)V // method@0732 │ │ +016b08: 0e00 |0012: return-void │ │ catches : 1 │ │ 0x0002 - 0x0009 │ │ Ljava/lang/Exception; -> 0x000a │ │ positions : │ │ 0x0002 line=68 │ │ 0x0006 line=69 │ │ 0x000b line=72 │ │ @@ -11002,19 +11002,19 @@ │ │ type : '(ZLjava/lang/String;)V' │ │ access : 0x10000 (CONSTRUCTOR) │ │ code - │ │ registers : 3 │ │ ins : 3 │ │ outs : 1 │ │ insns size : 8 16-bit code units │ │ -016b20: |[016b20] dnsfilter.android.DNSFilterService$1.:(ZLjava/lang/String;)V │ │ -016b30: 5c01 ab00 |0000: iput-boolean v1, v0, Ldnsfilter/android/DNSFilterService$1;.val$ignoreError:Z // field@00ab │ │ -016b34: 5b02 aa00 |0002: iput-object v2, v0, Ldnsfilter/android/DNSFilterService$1;.val$command:Ljava/lang/String; // field@00aa │ │ -016b38: 7010 7505 0000 |0004: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@0575 │ │ -016b3e: 0e00 |0007: return-void │ │ +016b1c: |[016b1c] dnsfilter.android.DNSFilterService$1.:(ZLjava/lang/String;)V │ │ +016b2c: 5c01 ab00 |0000: iput-boolean v1, v0, Ldnsfilter/android/DNSFilterService$1;.val$ignoreError:Z // field@00ab │ │ +016b30: 5b02 aa00 |0002: iput-object v2, v0, Ldnsfilter/android/DNSFilterService$1;.val$command:Ljava/lang/String; // field@00aa │ │ +016b34: 7010 7505 0000 |0004: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@0575 │ │ +016b3a: 0e00 |0007: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=918 │ │ locals : │ │ 0x0000 - 0x0008 reg=0 this Ldnsfilter/android/DNSFilterService$1; │ │ 0x0000 - 0x0008 reg=1 (null) Z │ │ 0x0000 - 0x0008 reg=2 (null) Ljava/lang/String; │ │ @@ -11025,25 +11025,25 @@ │ │ type : '()V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 3 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 20 16-bit code units │ │ -016b40: |[016b40] dnsfilter.android.DNSFilterService$1.run:()V │ │ -016b50: 5520 ab00 |0000: iget-boolean v0, v2, Ldnsfilter/android/DNSFilterService$1;.val$ignoreError:Z // field@00ab │ │ -016b54: 5421 aa00 |0002: iget-object v1, v2, Ldnsfilter/android/DNSFilterService$1;.val$command:Ljava/lang/String; // field@00aa │ │ -016b58: 7120 9002 1000 |0004: invoke-static {v0, v1}, Ldnsfilter/android/DNSFilterService;.access$300:(ZLjava/lang/String;)V // method@0290 │ │ -016b5e: 280c |0007: goto 0013 // +000c │ │ -016b60: 0d00 |0008: move-exception v0 │ │ -016b62: 6e10 5e05 0000 |0009: invoke-virtual {v0}, Ljava/lang/Exception;.printStackTrace:()V // method@055e │ │ -016b68: 7100 2707 0000 |000c: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0727 │ │ -016b6e: 0c01 |000f: move-result-object v1 │ │ -016b70: 7220 3207 0100 |0010: invoke-interface {v1, v0}, Lutil/LoggerInterface;.logException:(Ljava/lang/Exception;)V // method@0732 │ │ -016b76: 0e00 |0013: return-void │ │ +016b3c: |[016b3c] dnsfilter.android.DNSFilterService$1.run:()V │ │ +016b4c: 5520 ab00 |0000: iget-boolean v0, v2, Ldnsfilter/android/DNSFilterService$1;.val$ignoreError:Z // field@00ab │ │ +016b50: 5421 aa00 |0002: iget-object v1, v2, Ldnsfilter/android/DNSFilterService$1;.val$command:Ljava/lang/String; // field@00aa │ │ +016b54: 7120 9002 1000 |0004: invoke-static {v0, v1}, Ldnsfilter/android/DNSFilterService;.access$300:(ZLjava/lang/String;)V // method@0290 │ │ +016b5a: 280c |0007: goto 0013 // +000c │ │ +016b5c: 0d00 |0008: move-exception v0 │ │ +016b5e: 6e10 5e05 0000 |0009: invoke-virtual {v0}, Ljava/lang/Exception;.printStackTrace:()V // method@055e │ │ +016b64: 7100 2707 0000 |000c: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0727 │ │ +016b6a: 0c01 |000f: move-result-object v1 │ │ +016b6c: 7220 3207 0100 |0010: invoke-interface {v1, v0}, Lutil/LoggerInterface;.logException:(Ljava/lang/Exception;)V // method@0732 │ │ +016b72: 0e00 |0013: return-void │ │ catches : 1 │ │ 0x0000 - 0x0007 │ │ Ljava/lang/Exception; -> 0x0008 │ │ positions : │ │ 0x0000 line=923 │ │ 0x0009 line=925 │ │ 0x000c line=926 │ │ @@ -11090,21 +11090,21 @@ │ │ type : '()V' │ │ access : 0x10004 (PROTECTED CONSTRUCTOR) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 11 16-bit code units │ │ -016c44: |[016c44] dnsfilter.android.DNSFilterService$DNSReqForwarder.:()V │ │ -016c54: 7010 7505 0100 |0000: invoke-direct {v1}, Ljava/lang/Object;.:()V // method@0575 │ │ -016c5a: 1200 |0003: const/4 v0, #int 0 // #0 │ │ -016c5c: 5b10 ac00 |0004: iput-object v0, v1, Ldnsfilter/android/DNSFilterService$DNSReqForwarder;.forwardip:Ljava/lang/String; // field@00ac │ │ -016c60: 1a00 1707 |0006: const-string v0, "forward_ip" // string@0717 │ │ -016c64: 5b10 ad00 |0008: iput-object v0, v1, Ldnsfilter/android/DNSFilterService$DNSReqForwarder;.ipFileName:Ljava/lang/String; // field@00ad │ │ -016c68: 0e00 |000a: return-void │ │ +016c40: |[016c40] dnsfilter.android.DNSFilterService$DNSReqForwarder.:()V │ │ +016c50: 7010 7505 0100 |0000: invoke-direct {v1}, Ljava/lang/Object;.:()V // method@0575 │ │ +016c56: 1200 |0003: const/4 v0, #int 0 // #0 │ │ +016c58: 5b10 ac00 |0004: iput-object v0, v1, Ldnsfilter/android/DNSFilterService$DNSReqForwarder;.forwardip:Ljava/lang/String; // field@00ac │ │ +016c5c: 1a00 1707 |0006: const-string v0, "forward_ip" // string@0717 │ │ +016c60: 5b10 ad00 |0008: iput-object v0, v1, Ldnsfilter/android/DNSFilterService$DNSReqForwarder;.ipFileName:Ljava/lang/String; // field@00ad │ │ +016c64: 0e00 |000a: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=112 │ │ 0x0004 line=115 │ │ 0x0006 line=116 │ │ locals : │ │ 0x0000 - 0x000b reg=1 this Ldnsfilter/android/DNSFilterService$DNSReqForwarder; │ │ @@ -11114,17 +11114,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 │ │ -016c6c: |[016c6c] dnsfilter.android.DNSFilterService$DNSReqForwarder.access$500:(Ldnsfilter/android/DNSFilterService$DNSReqForwarder;)V │ │ -016c7c: 7010 8502 0000 |0000: invoke-direct {v0}, Ldnsfilter/android/DNSFilterService$DNSReqForwarder;.updateForward:()V // method@0285 │ │ -016c82: 0e00 |0003: return-void │ │ +016c68: |[016c68] dnsfilter.android.DNSFilterService$DNSReqForwarder.access$500:(Ldnsfilter/android/DNSFilterService$DNSReqForwarder;)V │ │ +016c78: 7010 8502 0000 |0000: invoke-direct {v0}, Ldnsfilter/android/DNSFilterService$DNSReqForwarder;.updateForward:()V // method@0285 │ │ +016c7e: 0e00 |0003: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=112 │ │ locals : │ │ 0x0000 - 0x0004 reg=0 (null) Ldnsfilter/android/DNSFilterService$DNSReqForwarder; │ │ │ │ #2 : (in Ldnsfilter/android/DNSFilterService$DNSReqForwarder;) │ │ @@ -11132,17 +11132,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 │ │ -016c84: |[016c84] dnsfilter.android.DNSFilterService$DNSReqForwarder.access$600:(Ldnsfilter/android/DNSFilterService$DNSReqForwarder;)V │ │ -016c94: 7010 8202 0000 |0000: invoke-direct {v0}, Ldnsfilter/android/DNSFilterService$DNSReqForwarder;.clean:()V // method@0282 │ │ -016c9a: 0e00 |0003: return-void │ │ +016c80: |[016c80] dnsfilter.android.DNSFilterService$DNSReqForwarder.access$600:(Ldnsfilter/android/DNSFilterService$DNSReqForwarder;)V │ │ +016c90: 7010 8202 0000 |0000: invoke-direct {v0}, Ldnsfilter/android/DNSFilterService$DNSReqForwarder;.clean:()V // method@0282 │ │ +016c96: 0e00 |0003: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=112 │ │ locals : │ │ 0x0000 - 0x0004 reg=0 (null) Ldnsfilter/android/DNSFilterService$DNSReqForwarder; │ │ │ │ #3 : (in Ldnsfilter/android/DNSFilterService$DNSReqForwarder;) │ │ @@ -11150,17 +11150,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 │ │ -016c9c: |[016c9c] dnsfilter.android.DNSFilterService$DNSReqForwarder.access$800:(Ldnsfilter/android/DNSFilterService$DNSReqForwarder;)V │ │ -016cac: 7010 8302 0000 |0000: invoke-direct {v0}, Ldnsfilter/android/DNSFilterService$DNSReqForwarder;.clearForward:()V // method@0283 │ │ -016cb2: 0e00 |0003: return-void │ │ +016c98: |[016c98] dnsfilter.android.DNSFilterService$DNSReqForwarder.access$800:(Ldnsfilter/android/DNSFilterService$DNSReqForwarder;)V │ │ +016ca8: 7010 8302 0000 |0000: invoke-direct {v0}, Ldnsfilter/android/DNSFilterService$DNSReqForwarder;.clearForward:()V // method@0283 │ │ +016cae: 0e00 |0003: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=112 │ │ locals : │ │ 0x0000 - 0x0004 reg=0 (null) Ldnsfilter/android/DNSFilterService$DNSReqForwarder; │ │ │ │ #4 : (in Ldnsfilter/android/DNSFilterService$DNSReqForwarder;) │ │ @@ -11168,84 +11168,84 @@ │ │ type : '()V' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 8 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 154 16-bit code units │ │ -016cb4: |[016cb4] dnsfilter.android.DNSFilterService$DNSReqForwarder.clean:()V │ │ -016cc4: 1a00 6208 |0000: const-string v0, "iptables -t nat -D OUTPUT -p udp --dport 53 -j DNAT --to-destination " // string@0862 │ │ -016cc8: 1a01 f000 |0002: const-string v1, "Cannot delete " // string@00f0 │ │ -016ccc: 2202 2d01 |0004: new-instance v2, Ljava/lang/StringBuilder; // type@012d │ │ -016cd0: 7010 a905 0200 |0006: invoke-direct {v2}, Ljava/lang/StringBuilder;.:()V // method@05a9 │ │ -016cd6: 7100 d406 0000 |0009: invoke-static {}, Lutil/ExecutionEnvironment;.getEnvironment:()Lutil/ExecutionEnvironmentInterface; // method@06d4 │ │ -016cdc: 0c03 |000c: move-result-object v3 │ │ -016cde: 7210 e406 0300 |000d: invoke-interface {v3}, Lutil/ExecutionEnvironmentInterface;.getWorkDir:()Ljava/lang/String; // method@06e4 │ │ -016ce4: 0c03 |0010: move-result-object v3 │ │ -016ce6: 6e20 af05 3200 |0011: invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -016cec: 1a03 6000 |0014: const-string v3, "/" // string@0060 │ │ -016cf0: 6e20 af05 3200 |0016: invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -016cf6: 5473 ad00 |0019: iget-object v3, v7, Ldnsfilter/android/DNSFilterService$DNSReqForwarder;.ipFileName:Ljava/lang/String; // field@00ad │ │ -016cfa: 6e20 af05 3200 |001b: invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -016d00: 6e10 b105 0200 |001e: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ -016d06: 0c02 |0021: move-result-object v2 │ │ -016d08: 2203 fb00 |0022: new-instance v3, Ljava/io/File; // type@00fb │ │ -016d0c: 7020 0105 2300 |0024: invoke-direct {v3, v2}, Ljava/io/File;.:(Ljava/lang/String;)V // method@0501 │ │ -016d12: 6e10 0705 0300 |0027: invoke-virtual {v3}, Ljava/io/File;.exists:()Z // method@0507 │ │ -016d18: 0a04 |002a: move-result v4 │ │ -016d1a: 3804 6e00 |002b: if-eqz v4, 0099 // +006e │ │ -016d1e: 2204 fd00 |002d: new-instance v4, Ljava/io/FileInputStream; // type@00fd │ │ -016d22: 7020 1305 3400 |002f: invoke-direct {v4, v3}, Ljava/io/FileInputStream;.:(Ljava/io/File;)V // method@0513 │ │ -016d28: 2205 2b01 |0032: new-instance v5, Ljava/lang/String; // type@012b │ │ -016d2c: 1306 6400 |0034: const/16 v6, #int 100 // #64 │ │ -016d30: 7120 9d07 6400 |0036: invoke-static {v4, v6}, Lutil/Utils;.readFully:(Ljava/io/InputStream;I)[B // method@079d │ │ -016d36: 0c06 |0039: move-result-object v6 │ │ -016d38: 7020 8705 6500 |003a: invoke-direct {v5, v6}, Ljava/lang/String;.:([B)V // method@0587 │ │ -016d3e: 6e10 2905 0400 |003d: invoke-virtual {v4}, Ljava/io/InputStream;.close:()V // method@0529 │ │ -016d44: 6e10 0505 0300 |0040: invoke-virtual {v3}, Ljava/io/File;.delete:()Z // method@0505 │ │ -016d4a: 0a03 |0043: move-result v3 │ │ -016d4c: 3803 3700 |0044: if-eqz v3, 007b // +0037 │ │ -016d50: 7100 2707 0000 |0046: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0727 │ │ -016d56: 0c01 |0049: move-result-object v1 │ │ -016d58: 1a02 0501 |004a: const-string v2, "Cleaning up a previous redirect from previous not correctly terminated execution!" // string@0105 │ │ -016d5c: 7220 3307 2100 |004c: invoke-interface {v1, v2}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0733 │ │ -016d62: 2201 2d01 |004f: new-instance v1, Ljava/lang/StringBuilder; // type@012d │ │ -016d66: 7020 aa05 0100 |0051: invoke-direct {v1, v0}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05aa │ │ -016d6c: 6e20 af05 5100 |0054: invoke-virtual {v1, v5}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -016d72: 1a00 8100 |0057: const-string v0, ":" // string@0081 │ │ -016d76: 6e20 af05 0100 |0059: invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -016d7c: 7100 8f02 0000 |005c: invoke-static {}, Ldnsfilter/android/DNSFilterService;.access$200:()I // method@028f │ │ -016d82: 0a00 |005f: move-result v0 │ │ -016d84: 6e20 ac05 0100 |0060: invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@05ac │ │ -016d8a: 6e10 b105 0100 |0063: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ -016d90: 0c00 |0066: move-result-object v0 │ │ -016d92: 1211 |0067: const/4 v1, #int 1 // #1 │ │ -016d94: 7120 9002 0100 |0068: invoke-static {v1, v0}, Ldnsfilter/android/DNSFilterService;.access$300:(ZLjava/lang/String;)V // method@0290 │ │ -016d9a: 1a00 5308 |006b: const-string v0, "ip6tables -D OUTPUT -p tcp --destination-port 53 -j DROP" // string@0853 │ │ -016d9e: 7120 9002 0100 |006d: invoke-static {v1, v0}, Ldnsfilter/android/DNSFilterService;.access$300:(ZLjava/lang/String;)V // method@0290 │ │ -016da4: 1a00 5408 |0070: const-string v0, "ip6tables -D OUTPUT -p udp --destination-port 53 -j DROP" // string@0854 │ │ -016da8: 7120 9002 0100 |0072: invoke-static {v1, v0}, Ldnsfilter/android/DNSFilterService;.access$300:(ZLjava/lang/String;)V // method@0290 │ │ -016dae: 1a00 6008 |0075: const-string v0, "iptables -D OUTPUT -p tcp --destination-port 53 -j DROP" // string@0860 │ │ -016db2: 7120 9002 0100 |0077: invoke-static {v1, v0}, Ldnsfilter/android/DNSFilterService;.access$300:(ZLjava/lang/String;)V // method@0290 │ │ -016db8: 281f |007a: goto 0099 // +001f │ │ -016dba: 2200 0001 |007b: new-instance v0, Ljava/io/IOException; // type@0100 │ │ -016dbe: 2203 2d01 |007d: new-instance v3, Ljava/lang/StringBuilder; // type@012d │ │ -016dc2: 7020 aa05 1300 |007f: invoke-direct {v3, v1}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05aa │ │ -016dc8: 6e20 af05 2300 |0082: invoke-virtual {v3, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -016dce: 6e10 b105 0300 |0085: invoke-virtual {v3}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ -016dd4: 0c01 |0088: move-result-object v1 │ │ -016dd6: 7020 2105 1000 |0089: invoke-direct {v0, v1}, Ljava/io/IOException;.:(Ljava/lang/String;)V // method@0521 │ │ -016ddc: 2700 |008c: throw v0 │ │ -016dde: 0d00 |008d: move-exception v0 │ │ -016de0: 7100 2707 0000 |008e: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0727 │ │ -016de6: 0c01 |0091: move-result-object v1 │ │ -016de8: 6e10 6105 0000 |0092: invoke-virtual {v0}, Ljava/lang/Exception;.toString:()Ljava/lang/String; // method@0561 │ │ -016dee: 0c00 |0095: move-result-object v0 │ │ -016df0: 7220 3307 0100 |0096: invoke-interface {v1, v0}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0733 │ │ -016df6: 0e00 |0099: return-void │ │ +016cb0: |[016cb0] dnsfilter.android.DNSFilterService$DNSReqForwarder.clean:()V │ │ +016cc0: 1a00 6208 |0000: const-string v0, "iptables -t nat -D OUTPUT -p udp --dport 53 -j DNAT --to-destination " // string@0862 │ │ +016cc4: 1a01 f000 |0002: const-string v1, "Cannot delete " // string@00f0 │ │ +016cc8: 2202 2d01 |0004: new-instance v2, Ljava/lang/StringBuilder; // type@012d │ │ +016ccc: 7010 a905 0200 |0006: invoke-direct {v2}, Ljava/lang/StringBuilder;.:()V // method@05a9 │ │ +016cd2: 7100 d406 0000 |0009: invoke-static {}, Lutil/ExecutionEnvironment;.getEnvironment:()Lutil/ExecutionEnvironmentInterface; // method@06d4 │ │ +016cd8: 0c03 |000c: move-result-object v3 │ │ +016cda: 7210 e406 0300 |000d: invoke-interface {v3}, Lutil/ExecutionEnvironmentInterface;.getWorkDir:()Ljava/lang/String; // method@06e4 │ │ +016ce0: 0c03 |0010: move-result-object v3 │ │ +016ce2: 6e20 af05 3200 |0011: invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +016ce8: 1a03 6000 |0014: const-string v3, "/" // string@0060 │ │ +016cec: 6e20 af05 3200 |0016: invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +016cf2: 5473 ad00 |0019: iget-object v3, v7, Ldnsfilter/android/DNSFilterService$DNSReqForwarder;.ipFileName:Ljava/lang/String; // field@00ad │ │ +016cf6: 6e20 af05 3200 |001b: invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +016cfc: 6e10 b105 0200 |001e: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ +016d02: 0c02 |0021: move-result-object v2 │ │ +016d04: 2203 fb00 |0022: new-instance v3, Ljava/io/File; // type@00fb │ │ +016d08: 7020 0105 2300 |0024: invoke-direct {v3, v2}, Ljava/io/File;.:(Ljava/lang/String;)V // method@0501 │ │ +016d0e: 6e10 0705 0300 |0027: invoke-virtual {v3}, Ljava/io/File;.exists:()Z // method@0507 │ │ +016d14: 0a04 |002a: move-result v4 │ │ +016d16: 3804 6e00 |002b: if-eqz v4, 0099 // +006e │ │ +016d1a: 2204 fd00 |002d: new-instance v4, Ljava/io/FileInputStream; // type@00fd │ │ +016d1e: 7020 1305 3400 |002f: invoke-direct {v4, v3}, Ljava/io/FileInputStream;.:(Ljava/io/File;)V // method@0513 │ │ +016d24: 2205 2b01 |0032: new-instance v5, Ljava/lang/String; // type@012b │ │ +016d28: 1306 6400 |0034: const/16 v6, #int 100 // #64 │ │ +016d2c: 7120 9d07 6400 |0036: invoke-static {v4, v6}, Lutil/Utils;.readFully:(Ljava/io/InputStream;I)[B // method@079d │ │ +016d32: 0c06 |0039: move-result-object v6 │ │ +016d34: 7020 8705 6500 |003a: invoke-direct {v5, v6}, Ljava/lang/String;.:([B)V // method@0587 │ │ +016d3a: 6e10 2905 0400 |003d: invoke-virtual {v4}, Ljava/io/InputStream;.close:()V // method@0529 │ │ +016d40: 6e10 0505 0300 |0040: invoke-virtual {v3}, Ljava/io/File;.delete:()Z // method@0505 │ │ +016d46: 0a03 |0043: move-result v3 │ │ +016d48: 3803 3700 |0044: if-eqz v3, 007b // +0037 │ │ +016d4c: 7100 2707 0000 |0046: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0727 │ │ +016d52: 0c01 |0049: move-result-object v1 │ │ +016d54: 1a02 0501 |004a: const-string v2, "Cleaning up a previous redirect from previous not correctly terminated execution!" // string@0105 │ │ +016d58: 7220 3307 2100 |004c: invoke-interface {v1, v2}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0733 │ │ +016d5e: 2201 2d01 |004f: new-instance v1, Ljava/lang/StringBuilder; // type@012d │ │ +016d62: 7020 aa05 0100 |0051: invoke-direct {v1, v0}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05aa │ │ +016d68: 6e20 af05 5100 |0054: invoke-virtual {v1, v5}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +016d6e: 1a00 8100 |0057: const-string v0, ":" // string@0081 │ │ +016d72: 6e20 af05 0100 |0059: invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +016d78: 7100 8f02 0000 |005c: invoke-static {}, Ldnsfilter/android/DNSFilterService;.access$200:()I // method@028f │ │ +016d7e: 0a00 |005f: move-result v0 │ │ +016d80: 6e20 ac05 0100 |0060: invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@05ac │ │ +016d86: 6e10 b105 0100 |0063: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ +016d8c: 0c00 |0066: move-result-object v0 │ │ +016d8e: 1211 |0067: const/4 v1, #int 1 // #1 │ │ +016d90: 7120 9002 0100 |0068: invoke-static {v1, v0}, Ldnsfilter/android/DNSFilterService;.access$300:(ZLjava/lang/String;)V // method@0290 │ │ +016d96: 1a00 5308 |006b: const-string v0, "ip6tables -D OUTPUT -p tcp --destination-port 53 -j DROP" // string@0853 │ │ +016d9a: 7120 9002 0100 |006d: invoke-static {v1, v0}, Ldnsfilter/android/DNSFilterService;.access$300:(ZLjava/lang/String;)V // method@0290 │ │ +016da0: 1a00 5408 |0070: const-string v0, "ip6tables -D OUTPUT -p udp --destination-port 53 -j DROP" // string@0854 │ │ +016da4: 7120 9002 0100 |0072: invoke-static {v1, v0}, Ldnsfilter/android/DNSFilterService;.access$300:(ZLjava/lang/String;)V // method@0290 │ │ +016daa: 1a00 6008 |0075: const-string v0, "iptables -D OUTPUT -p tcp --destination-port 53 -j DROP" // string@0860 │ │ +016dae: 7120 9002 0100 |0077: invoke-static {v1, v0}, Ldnsfilter/android/DNSFilterService;.access$300:(ZLjava/lang/String;)V // method@0290 │ │ +016db4: 281f |007a: goto 0099 // +001f │ │ +016db6: 2200 0001 |007b: new-instance v0, Ljava/io/IOException; // type@0100 │ │ +016dba: 2203 2d01 |007d: new-instance v3, Ljava/lang/StringBuilder; // type@012d │ │ +016dbe: 7020 aa05 1300 |007f: invoke-direct {v3, v1}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05aa │ │ +016dc4: 6e20 af05 2300 |0082: invoke-virtual {v3, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +016dca: 6e10 b105 0300 |0085: invoke-virtual {v3}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ +016dd0: 0c01 |0088: move-result-object v1 │ │ +016dd2: 7020 2105 1000 |0089: invoke-direct {v0, v1}, Ljava/io/IOException;.:(Ljava/lang/String;)V // method@0521 │ │ +016dd8: 2700 |008c: throw v0 │ │ +016dda: 0d00 |008d: move-exception v0 │ │ +016ddc: 7100 2707 0000 |008e: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0727 │ │ +016de2: 0c01 |0091: move-result-object v1 │ │ +016de4: 6e10 6105 0000 |0092: invoke-virtual {v0}, Ljava/lang/Exception;.toString:()Ljava/lang/String; // method@0561 │ │ +016dea: 0c00 |0095: move-result-object v0 │ │ +016dec: 7220 3307 0100 |0096: invoke-interface {v1, v0}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0733 │ │ +016df2: 0e00 |0099: return-void │ │ catches : 1 │ │ 0x0027 - 0x008d │ │ Ljava/lang/Exception; -> 0x008d │ │ positions : │ │ 0x0004 line=151 │ │ 0x0022 line=152 │ │ 0x0027 line=154 │ │ @@ -11268,82 +11268,82 @@ │ │ type : '()V' │ │ access : 0x20002 (PRIVATE DECLARED_SYNCHRONIZED) │ │ code - │ │ registers : 5 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 137 16-bit code units │ │ -016e08: |[016e08] dnsfilter.android.DNSFilterService$DNSReqForwarder.clearForward:()V │ │ -016e18: 1a00 f000 |0000: const-string v0, "Cannot delete " // string@00f0 │ │ -016e1c: 1a01 6208 |0002: const-string v1, "iptables -t nat -D OUTPUT -p udp --dport 53 -j DNAT --to-destination " // string@0862 │ │ -016e20: 1d04 |0004: monitor-enter v4 │ │ -016e22: 2202 2d01 |0005: new-instance v2, Ljava/lang/StringBuilder; // type@012d │ │ -016e26: 7010 a905 0200 |0007: invoke-direct {v2}, Ljava/lang/StringBuilder;.:()V // method@05a9 │ │ -016e2c: 7100 d406 0000 |000a: invoke-static {}, Lutil/ExecutionEnvironment;.getEnvironment:()Lutil/ExecutionEnvironmentInterface; // method@06d4 │ │ -016e32: 0c03 |000d: move-result-object v3 │ │ -016e34: 7210 e406 0300 |000e: invoke-interface {v3}, Lutil/ExecutionEnvironmentInterface;.getWorkDir:()Ljava/lang/String; // method@06e4 │ │ -016e3a: 0c03 |0011: move-result-object v3 │ │ -016e3c: 6e20 af05 3200 |0012: invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -016e42: 1a03 6000 |0015: const-string v3, "/" // string@0060 │ │ -016e46: 6e20 af05 3200 |0017: invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -016e4c: 5443 ad00 |001a: iget-object v3, v4, Ldnsfilter/android/DNSFilterService$DNSReqForwarder;.ipFileName:Ljava/lang/String; // field@00ad │ │ -016e50: 6e20 af05 3200 |001c: invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -016e56: 6e10 b105 0200 |001f: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ -016e5c: 0c02 |0022: move-result-object v2 │ │ -016e5e: 5443 ac00 |0023: iget-object v3, v4, Ldnsfilter/android/DNSFilterService$DNSReqForwarder;.forwardip:Ljava/lang/String; // field@00ac │ │ -016e62: 3903 0400 |0025: if-nez v3, 0029 // +0004 │ │ -016e66: 1e04 |0027: monitor-exit v4 │ │ -016e68: 0e00 |0028: return-void │ │ -016e6a: 2203 2d01 |0029: new-instance v3, Ljava/lang/StringBuilder; // type@012d │ │ -016e6e: 7020 aa05 1300 |002b: invoke-direct {v3, v1}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05aa │ │ -016e74: 5441 ac00 |002e: iget-object v1, v4, Ldnsfilter/android/DNSFilterService$DNSReqForwarder;.forwardip:Ljava/lang/String; // field@00ac │ │ -016e78: 6e20 af05 1300 |0030: invoke-virtual {v3, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -016e7e: 1a01 8100 |0033: const-string v1, ":" // string@0081 │ │ -016e82: 6e20 af05 1300 |0035: invoke-virtual {v3, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -016e88: 7100 8f02 0000 |0038: invoke-static {}, Ldnsfilter/android/DNSFilterService;.access$200:()I // method@028f │ │ -016e8e: 0a01 |003b: move-result v1 │ │ -016e90: 6e20 ac05 1300 |003c: invoke-virtual {v3, v1}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@05ac │ │ -016e96: 6e10 b105 0300 |003f: invoke-virtual {v3}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ -016e9c: 0c01 |0042: move-result-object v1 │ │ -016e9e: 1203 |0043: const/4 v3, #int 0 // #0 │ │ -016ea0: 7120 9002 1300 |0044: invoke-static {v3, v1}, Ldnsfilter/android/DNSFilterService;.access$300:(ZLjava/lang/String;)V // method@0290 │ │ -016ea6: 1a01 5308 |0047: const-string v1, "ip6tables -D OUTPUT -p tcp --destination-port 53 -j DROP" // string@0853 │ │ -016eaa: 1213 |0049: const/4 v3, #int 1 // #1 │ │ -016eac: 7120 9002 1300 |004a: invoke-static {v3, v1}, Ldnsfilter/android/DNSFilterService;.access$300:(ZLjava/lang/String;)V // method@0290 │ │ -016eb2: 1a01 5408 |004d: const-string v1, "ip6tables -D OUTPUT -p udp --destination-port 53 -j DROP" // string@0854 │ │ -016eb6: 7120 9002 1300 |004f: invoke-static {v3, v1}, Ldnsfilter/android/DNSFilterService;.access$300:(ZLjava/lang/String;)V // method@0290 │ │ -016ebc: 1a01 6008 |0052: const-string v1, "iptables -D OUTPUT -p tcp --destination-port 53 -j DROP" // string@0860 │ │ -016ec0: 7120 9002 1300 |0054: invoke-static {v3, v1}, Ldnsfilter/android/DNSFilterService;.access$300:(ZLjava/lang/String;)V // method@0290 │ │ -016ec6: 1201 |0057: const/4 v1, #int 0 // #0 │ │ -016ec8: 5b41 ac00 |0058: iput-object v1, v4, Ldnsfilter/android/DNSFilterService$DNSReqForwarder;.forwardip:Ljava/lang/String; // field@00ac │ │ -016ecc: 2201 fb00 |005a: new-instance v1, Ljava/io/File; // type@00fb │ │ -016ed0: 7020 0105 2100 |005c: invoke-direct {v1, v2}, Ljava/io/File;.:(Ljava/lang/String;)V // method@0501 │ │ -016ed6: 6e10 0505 0100 |005f: invoke-virtual {v1}, Ljava/io/File;.delete:()Z // method@0505 │ │ -016edc: 0a01 |0062: move-result v1 │ │ -016ede: 3801 0300 |0063: if-eqz v1, 0066 // +0003 │ │ -016ee2: 281f |0065: goto 0084 // +001f │ │ -016ee4: 2201 0001 |0066: new-instance v1, Ljava/io/IOException; // type@0100 │ │ -016ee8: 2203 2d01 |0068: new-instance v3, Ljava/lang/StringBuilder; // type@012d │ │ -016eec: 7020 aa05 0300 |006a: invoke-direct {v3, v0}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05aa │ │ -016ef2: 6e20 af05 2300 |006d: invoke-virtual {v3, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -016ef8: 6e10 b105 0300 |0070: invoke-virtual {v3}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ -016efe: 0c00 |0073: move-result-object v0 │ │ -016f00: 7020 2105 0100 |0074: invoke-direct {v1, v0}, Ljava/io/IOException;.:(Ljava/lang/String;)V // method@0521 │ │ -016f06: 2701 |0077: throw v1 │ │ -016f08: 0d00 |0078: move-exception v0 │ │ -016f0a: 7100 2707 0000 |0079: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0727 │ │ -016f10: 0c01 |007c: move-result-object v1 │ │ -016f12: 6e10 5d05 0000 |007d: invoke-virtual {v0}, Ljava/lang/Exception;.getMessage:()Ljava/lang/String; // method@055d │ │ -016f18: 0c00 |0080: move-result-object v0 │ │ -016f1a: 7220 3307 0100 |0081: invoke-interface {v1, v0}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0733 │ │ -016f20: 1e04 |0084: monitor-exit v4 │ │ -016f22: 0e00 |0085: return-void │ │ -016f24: 0d00 |0086: move-exception v0 │ │ -016f26: 1e04 |0087: monitor-exit v4 │ │ -016f28: 2700 |0088: throw v0 │ │ +016e04: |[016e04] dnsfilter.android.DNSFilterService$DNSReqForwarder.clearForward:()V │ │ +016e14: 1a00 f000 |0000: const-string v0, "Cannot delete " // string@00f0 │ │ +016e18: 1a01 6208 |0002: const-string v1, "iptables -t nat -D OUTPUT -p udp --dport 53 -j DNAT --to-destination " // string@0862 │ │ +016e1c: 1d04 |0004: monitor-enter v4 │ │ +016e1e: 2202 2d01 |0005: new-instance v2, Ljava/lang/StringBuilder; // type@012d │ │ +016e22: 7010 a905 0200 |0007: invoke-direct {v2}, Ljava/lang/StringBuilder;.:()V // method@05a9 │ │ +016e28: 7100 d406 0000 |000a: invoke-static {}, Lutil/ExecutionEnvironment;.getEnvironment:()Lutil/ExecutionEnvironmentInterface; // method@06d4 │ │ +016e2e: 0c03 |000d: move-result-object v3 │ │ +016e30: 7210 e406 0300 |000e: invoke-interface {v3}, Lutil/ExecutionEnvironmentInterface;.getWorkDir:()Ljava/lang/String; // method@06e4 │ │ +016e36: 0c03 |0011: move-result-object v3 │ │ +016e38: 6e20 af05 3200 |0012: invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +016e3e: 1a03 6000 |0015: const-string v3, "/" // string@0060 │ │ +016e42: 6e20 af05 3200 |0017: invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +016e48: 5443 ad00 |001a: iget-object v3, v4, Ldnsfilter/android/DNSFilterService$DNSReqForwarder;.ipFileName:Ljava/lang/String; // field@00ad │ │ +016e4c: 6e20 af05 3200 |001c: invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +016e52: 6e10 b105 0200 |001f: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ +016e58: 0c02 |0022: move-result-object v2 │ │ +016e5a: 5443 ac00 |0023: iget-object v3, v4, Ldnsfilter/android/DNSFilterService$DNSReqForwarder;.forwardip:Ljava/lang/String; // field@00ac │ │ +016e5e: 3903 0400 |0025: if-nez v3, 0029 // +0004 │ │ +016e62: 1e04 |0027: monitor-exit v4 │ │ +016e64: 0e00 |0028: return-void │ │ +016e66: 2203 2d01 |0029: new-instance v3, Ljava/lang/StringBuilder; // type@012d │ │ +016e6a: 7020 aa05 1300 |002b: invoke-direct {v3, v1}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05aa │ │ +016e70: 5441 ac00 |002e: iget-object v1, v4, Ldnsfilter/android/DNSFilterService$DNSReqForwarder;.forwardip:Ljava/lang/String; // field@00ac │ │ +016e74: 6e20 af05 1300 |0030: invoke-virtual {v3, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +016e7a: 1a01 8100 |0033: const-string v1, ":" // string@0081 │ │ +016e7e: 6e20 af05 1300 |0035: invoke-virtual {v3, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +016e84: 7100 8f02 0000 |0038: invoke-static {}, Ldnsfilter/android/DNSFilterService;.access$200:()I // method@028f │ │ +016e8a: 0a01 |003b: move-result v1 │ │ +016e8c: 6e20 ac05 1300 |003c: invoke-virtual {v3, v1}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@05ac │ │ +016e92: 6e10 b105 0300 |003f: invoke-virtual {v3}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ +016e98: 0c01 |0042: move-result-object v1 │ │ +016e9a: 1203 |0043: const/4 v3, #int 0 // #0 │ │ +016e9c: 7120 9002 1300 |0044: invoke-static {v3, v1}, Ldnsfilter/android/DNSFilterService;.access$300:(ZLjava/lang/String;)V // method@0290 │ │ +016ea2: 1a01 5308 |0047: const-string v1, "ip6tables -D OUTPUT -p tcp --destination-port 53 -j DROP" // string@0853 │ │ +016ea6: 1213 |0049: const/4 v3, #int 1 // #1 │ │ +016ea8: 7120 9002 1300 |004a: invoke-static {v3, v1}, Ldnsfilter/android/DNSFilterService;.access$300:(ZLjava/lang/String;)V // method@0290 │ │ +016eae: 1a01 5408 |004d: const-string v1, "ip6tables -D OUTPUT -p udp --destination-port 53 -j DROP" // string@0854 │ │ +016eb2: 7120 9002 1300 |004f: invoke-static {v3, v1}, Ldnsfilter/android/DNSFilterService;.access$300:(ZLjava/lang/String;)V // method@0290 │ │ +016eb8: 1a01 6008 |0052: const-string v1, "iptables -D OUTPUT -p tcp --destination-port 53 -j DROP" // string@0860 │ │ +016ebc: 7120 9002 1300 |0054: invoke-static {v3, v1}, Ldnsfilter/android/DNSFilterService;.access$300:(ZLjava/lang/String;)V // method@0290 │ │ +016ec2: 1201 |0057: const/4 v1, #int 0 // #0 │ │ +016ec4: 5b41 ac00 |0058: iput-object v1, v4, Ldnsfilter/android/DNSFilterService$DNSReqForwarder;.forwardip:Ljava/lang/String; // field@00ac │ │ +016ec8: 2201 fb00 |005a: new-instance v1, Ljava/io/File; // type@00fb │ │ +016ecc: 7020 0105 2100 |005c: invoke-direct {v1, v2}, Ljava/io/File;.:(Ljava/lang/String;)V // method@0501 │ │ +016ed2: 6e10 0505 0100 |005f: invoke-virtual {v1}, Ljava/io/File;.delete:()Z // method@0505 │ │ +016ed8: 0a01 |0062: move-result v1 │ │ +016eda: 3801 0300 |0063: if-eqz v1, 0066 // +0003 │ │ +016ede: 281f |0065: goto 0084 // +001f │ │ +016ee0: 2201 0001 |0066: new-instance v1, Ljava/io/IOException; // type@0100 │ │ +016ee4: 2203 2d01 |0068: new-instance v3, Ljava/lang/StringBuilder; // type@012d │ │ +016ee8: 7020 aa05 0300 |006a: invoke-direct {v3, v0}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05aa │ │ +016eee: 6e20 af05 2300 |006d: invoke-virtual {v3, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +016ef4: 6e10 b105 0300 |0070: invoke-virtual {v3}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ +016efa: 0c00 |0073: move-result-object v0 │ │ +016efc: 7020 2105 0100 |0074: invoke-direct {v1, v0}, Ljava/io/IOException;.:(Ljava/lang/String;)V // method@0521 │ │ +016f02: 2701 |0077: throw v1 │ │ +016f04: 0d00 |0078: move-exception v0 │ │ +016f06: 7100 2707 0000 |0079: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0727 │ │ +016f0c: 0c01 |007c: move-result-object v1 │ │ +016f0e: 6e10 5d05 0000 |007d: invoke-virtual {v0}, Ljava/lang/Exception;.getMessage:()Ljava/lang/String; // method@055d │ │ +016f14: 0c00 |0080: move-result-object v0 │ │ +016f16: 7220 3307 0100 |0081: invoke-interface {v1, v0}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0733 │ │ +016f1c: 1e04 |0084: monitor-exit v4 │ │ +016f1e: 0e00 |0085: return-void │ │ +016f20: 0d00 |0086: move-exception v0 │ │ +016f22: 1e04 |0087: monitor-exit v4 │ │ +016f24: 2700 |0088: throw v0 │ │ catches : 3 │ │ 0x0005 - 0x0025 │ │ -> 0x0086 │ │ 0x0029 - 0x0078 │ │ Ljava/lang/Exception; -> 0x0078 │ │ -> 0x0086 │ │ 0x0079 - 0x0084 │ │ @@ -11369,77 +11369,77 @@ │ │ type : '()V' │ │ access : 0x20002 (PRIVATE DECLARED_SYNCHRONIZED) │ │ code - │ │ registers : 5 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 132 16-bit code units │ │ -016f50: |[016f50] dnsfilter.android.DNSFilterService$DNSReqForwarder.updateForward:()V │ │ -016f60: 1a00 6408 |0000: const-string v0, "iptables -t nat -I OUTPUT -p udp --dport 53 -j DNAT --to-destination " // string@0864 │ │ -016f64: 1d04 |0002: monitor-enter v4 │ │ -016f66: 2201 2d01 |0003: new-instance v1, Ljava/lang/StringBuilder; // type@012d │ │ -016f6a: 7010 a905 0100 |0005: invoke-direct {v1}, Ljava/lang/StringBuilder;.:()V // method@05a9 │ │ -016f70: 7100 d406 0000 |0008: invoke-static {}, Lutil/ExecutionEnvironment;.getEnvironment:()Lutil/ExecutionEnvironmentInterface; // method@06d4 │ │ -016f76: 0c02 |000b: move-result-object v2 │ │ -016f78: 7210 e406 0200 |000c: invoke-interface {v2}, Lutil/ExecutionEnvironmentInterface;.getWorkDir:()Ljava/lang/String; // method@06e4 │ │ -016f7e: 0c02 |000f: move-result-object v2 │ │ -016f80: 6e20 af05 2100 |0010: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -016f86: 1a02 6000 |0013: const-string v2, "/" // string@0060 │ │ -016f8a: 6e20 af05 2100 |0015: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -016f90: 5442 ad00 |0018: iget-object v2, v4, Ldnsfilter/android/DNSFilterService$DNSReqForwarder;.ipFileName:Ljava/lang/String; // field@00ad │ │ -016f94: 6e20 af05 2100 |001a: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -016f9a: 6e10 b105 0100 |001d: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ -016fa0: 0c01 |0020: move-result-object v1 │ │ -016fa2: 6e10 8402 0400 |0021: invoke-virtual {v4}, Ldnsfilter/android/DNSFilterService$DNSReqForwarder;.getALocalIpAddress:()Ljava/lang/String; // method@0284 │ │ -016fa8: 0c02 |0024: move-result-object v2 │ │ -016faa: 3802 5a00 |0025: if-eqz v2, 007f // +005a │ │ -016fae: 5443 ac00 |0027: iget-object v3, v4, Ldnsfilter/android/DNSFilterService$DNSReqForwarder;.forwardip:Ljava/lang/String; // field@00ac │ │ -016fb2: 6e20 8d05 3200 |0029: invoke-virtual {v2, v3}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058d │ │ -016fb8: 0a03 |002c: move-result v3 │ │ -016fba: 3903 5200 |002d: if-nez v3, 007f // +0052 │ │ -016fbe: 7010 8302 0400 |002f: invoke-direct {v4}, Ldnsfilter/android/DNSFilterService$DNSReqForwarder;.clearForward:()V // method@0283 │ │ -016fc4: 2203 2d01 |0032: new-instance v3, Ljava/lang/StringBuilder; // type@012d │ │ -016fc8: 7020 aa05 0300 |0034: invoke-direct {v3, v0}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05aa │ │ -016fce: 6e20 af05 2300 |0037: invoke-virtual {v3, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -016fd4: 1a00 8100 |003a: const-string v0, ":" // string@0081 │ │ -016fd8: 6e20 af05 0300 |003c: invoke-virtual {v3, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -016fde: 7100 8f02 0000 |003f: invoke-static {}, Ldnsfilter/android/DNSFilterService;.access$200:()I // method@028f │ │ -016fe4: 0a00 |0042: move-result v0 │ │ -016fe6: 6e20 ac05 0300 |0043: invoke-virtual {v3, v0}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@05ac │ │ -016fec: 6e10 b105 0300 |0046: invoke-virtual {v3}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ -016ff2: 0c00 |0049: move-result-object v0 │ │ -016ff4: 1203 |004a: const/4 v3, #int 0 // #0 │ │ -016ff6: 7120 9002 0300 |004b: invoke-static {v3, v0}, Ldnsfilter/android/DNSFilterService;.access$300:(ZLjava/lang/String;)V // method@0290 │ │ -016ffc: 1a00 5208 |004e: const-string v0, "ip6tables -A OUTPUT -p udp --destination-port 53 -j DROP" // string@0852 │ │ -017000: 1213 |0050: const/4 v3, #int 1 // #1 │ │ -017002: 7120 9002 0300 |0051: invoke-static {v3, v0}, Ldnsfilter/android/DNSFilterService;.access$300:(ZLjava/lang/String;)V // method@0290 │ │ -017008: 1a00 5108 |0054: const-string v0, "ip6tables -A OUTPUT -p tcp --destination-port 53 -j DROP" // string@0851 │ │ -01700c: 7120 9002 0300 |0056: invoke-static {v3, v0}, Ldnsfilter/android/DNSFilterService;.access$300:(ZLjava/lang/String;)V // method@0290 │ │ -017012: 1a00 5f08 |0059: const-string v0, "iptables -A OUTPUT -p tcp --destination-port 53 -j DROP" // string@085f │ │ -017016: 7120 9002 0300 |005b: invoke-static {v3, v0}, Ldnsfilter/android/DNSFilterService;.access$300:(ZLjava/lang/String;)V // method@0290 │ │ -01701c: 5b42 ac00 |005e: iput-object v2, v4, Ldnsfilter/android/DNSFilterService$DNSReqForwarder;.forwardip:Ljava/lang/String; // field@00ac │ │ -017020: 2200 ff00 |0060: new-instance v0, Ljava/io/FileOutputStream; // type@00ff │ │ -017024: 7020 1c05 1000 |0062: invoke-direct {v0, v1}, Ljava/io/FileOutputStream;.:(Ljava/lang/String;)V // method@051c │ │ -01702a: 6e10 8f05 0200 |0065: invoke-virtual {v2}, Ljava/lang/String;.getBytes:()[B // method@058f │ │ -017030: 0c01 |0068: move-result-object v1 │ │ -017032: 6e20 1f05 1000 |0069: invoke-virtual {v0, v1}, Ljava/io/FileOutputStream;.write:([B)V // method@051f │ │ -017038: 6e10 1e05 0000 |006c: invoke-virtual {v0}, Ljava/io/FileOutputStream;.flush:()V // method@051e │ │ -01703e: 6e10 1d05 0000 |006f: invoke-virtual {v0}, Ljava/io/FileOutputStream;.close:()V // method@051d │ │ -017044: 280d |0072: goto 007f // +000d │ │ -017046: 0d00 |0073: move-exception v0 │ │ -017048: 7100 2707 0000 |0074: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0727 │ │ -01704e: 0c01 |0077: move-result-object v1 │ │ -017050: 6e10 5d05 0000 |0078: invoke-virtual {v0}, Ljava/lang/Exception;.getMessage:()Ljava/lang/String; // method@055d │ │ -017056: 0c00 |007b: move-result-object v0 │ │ -017058: 7220 3307 0100 |007c: invoke-interface {v1, v0}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0733 │ │ -01705e: 1e04 |007f: monitor-exit v4 │ │ -017060: 0e00 |0080: return-void │ │ -017062: 0d00 |0081: move-exception v0 │ │ -017064: 1e04 |0082: monitor-exit v4 │ │ -017066: 2700 |0083: throw v0 │ │ +016f4c: |[016f4c] dnsfilter.android.DNSFilterService$DNSReqForwarder.updateForward:()V │ │ +016f5c: 1a00 6408 |0000: const-string v0, "iptables -t nat -I OUTPUT -p udp --dport 53 -j DNAT --to-destination " // string@0864 │ │ +016f60: 1d04 |0002: monitor-enter v4 │ │ +016f62: 2201 2d01 |0003: new-instance v1, Ljava/lang/StringBuilder; // type@012d │ │ +016f66: 7010 a905 0100 |0005: invoke-direct {v1}, Ljava/lang/StringBuilder;.:()V // method@05a9 │ │ +016f6c: 7100 d406 0000 |0008: invoke-static {}, Lutil/ExecutionEnvironment;.getEnvironment:()Lutil/ExecutionEnvironmentInterface; // method@06d4 │ │ +016f72: 0c02 |000b: move-result-object v2 │ │ +016f74: 7210 e406 0200 |000c: invoke-interface {v2}, Lutil/ExecutionEnvironmentInterface;.getWorkDir:()Ljava/lang/String; // method@06e4 │ │ +016f7a: 0c02 |000f: move-result-object v2 │ │ +016f7c: 6e20 af05 2100 |0010: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +016f82: 1a02 6000 |0013: const-string v2, "/" // string@0060 │ │ +016f86: 6e20 af05 2100 |0015: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +016f8c: 5442 ad00 |0018: iget-object v2, v4, Ldnsfilter/android/DNSFilterService$DNSReqForwarder;.ipFileName:Ljava/lang/String; // field@00ad │ │ +016f90: 6e20 af05 2100 |001a: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +016f96: 6e10 b105 0100 |001d: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ +016f9c: 0c01 |0020: move-result-object v1 │ │ +016f9e: 6e10 8402 0400 |0021: invoke-virtual {v4}, Ldnsfilter/android/DNSFilterService$DNSReqForwarder;.getALocalIpAddress:()Ljava/lang/String; // method@0284 │ │ +016fa4: 0c02 |0024: move-result-object v2 │ │ +016fa6: 3802 5a00 |0025: if-eqz v2, 007f // +005a │ │ +016faa: 5443 ac00 |0027: iget-object v3, v4, Ldnsfilter/android/DNSFilterService$DNSReqForwarder;.forwardip:Ljava/lang/String; // field@00ac │ │ +016fae: 6e20 8d05 3200 |0029: invoke-virtual {v2, v3}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058d │ │ +016fb4: 0a03 |002c: move-result v3 │ │ +016fb6: 3903 5200 |002d: if-nez v3, 007f // +0052 │ │ +016fba: 7010 8302 0400 |002f: invoke-direct {v4}, Ldnsfilter/android/DNSFilterService$DNSReqForwarder;.clearForward:()V // method@0283 │ │ +016fc0: 2203 2d01 |0032: new-instance v3, Ljava/lang/StringBuilder; // type@012d │ │ +016fc4: 7020 aa05 0300 |0034: invoke-direct {v3, v0}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05aa │ │ +016fca: 6e20 af05 2300 |0037: invoke-virtual {v3, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +016fd0: 1a00 8100 |003a: const-string v0, ":" // string@0081 │ │ +016fd4: 6e20 af05 0300 |003c: invoke-virtual {v3, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +016fda: 7100 8f02 0000 |003f: invoke-static {}, Ldnsfilter/android/DNSFilterService;.access$200:()I // method@028f │ │ +016fe0: 0a00 |0042: move-result v0 │ │ +016fe2: 6e20 ac05 0300 |0043: invoke-virtual {v3, v0}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@05ac │ │ +016fe8: 6e10 b105 0300 |0046: invoke-virtual {v3}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ +016fee: 0c00 |0049: move-result-object v0 │ │ +016ff0: 1203 |004a: const/4 v3, #int 0 // #0 │ │ +016ff2: 7120 9002 0300 |004b: invoke-static {v3, v0}, Ldnsfilter/android/DNSFilterService;.access$300:(ZLjava/lang/String;)V // method@0290 │ │ +016ff8: 1a00 5208 |004e: const-string v0, "ip6tables -A OUTPUT -p udp --destination-port 53 -j DROP" // string@0852 │ │ +016ffc: 1213 |0050: const/4 v3, #int 1 // #1 │ │ +016ffe: 7120 9002 0300 |0051: invoke-static {v3, v0}, Ldnsfilter/android/DNSFilterService;.access$300:(ZLjava/lang/String;)V // method@0290 │ │ +017004: 1a00 5108 |0054: const-string v0, "ip6tables -A OUTPUT -p tcp --destination-port 53 -j DROP" // string@0851 │ │ +017008: 7120 9002 0300 |0056: invoke-static {v3, v0}, Ldnsfilter/android/DNSFilterService;.access$300:(ZLjava/lang/String;)V // method@0290 │ │ +01700e: 1a00 5f08 |0059: const-string v0, "iptables -A OUTPUT -p tcp --destination-port 53 -j DROP" // string@085f │ │ +017012: 7120 9002 0300 |005b: invoke-static {v3, v0}, Ldnsfilter/android/DNSFilterService;.access$300:(ZLjava/lang/String;)V // method@0290 │ │ +017018: 5b42 ac00 |005e: iput-object v2, v4, Ldnsfilter/android/DNSFilterService$DNSReqForwarder;.forwardip:Ljava/lang/String; // field@00ac │ │ +01701c: 2200 ff00 |0060: new-instance v0, Ljava/io/FileOutputStream; // type@00ff │ │ +017020: 7020 1c05 1000 |0062: invoke-direct {v0, v1}, Ljava/io/FileOutputStream;.:(Ljava/lang/String;)V // method@051c │ │ +017026: 6e10 8f05 0200 |0065: invoke-virtual {v2}, Ljava/lang/String;.getBytes:()[B // method@058f │ │ +01702c: 0c01 |0068: move-result-object v1 │ │ +01702e: 6e20 1f05 1000 |0069: invoke-virtual {v0, v1}, Ljava/io/FileOutputStream;.write:([B)V // method@051f │ │ +017034: 6e10 1e05 0000 |006c: invoke-virtual {v0}, Ljava/io/FileOutputStream;.flush:()V // method@051e │ │ +01703a: 6e10 1d05 0000 |006f: invoke-virtual {v0}, Ljava/io/FileOutputStream;.close:()V // method@051d │ │ +017040: 280d |0072: goto 007f // +000d │ │ +017042: 0d00 |0073: move-exception v0 │ │ +017044: 7100 2707 0000 |0074: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0727 │ │ +01704a: 0c01 |0077: move-result-object v1 │ │ +01704c: 6e10 5d05 0000 |0078: invoke-virtual {v0}, Ljava/lang/Exception;.getMessage:()Ljava/lang/String; // method@055d │ │ +017052: 0c00 |007b: move-result-object v0 │ │ +017054: 7220 3307 0100 |007c: invoke-interface {v1, v0}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0733 │ │ +01705a: 1e04 |007f: monitor-exit v4 │ │ +01705c: 0e00 |0080: return-void │ │ +01705e: 0d00 |0081: move-exception v0 │ │ +017060: 1e04 |0082: monitor-exit v4 │ │ +017062: 2700 |0083: throw v0 │ │ catches : 3 │ │ 0x0003 - 0x0021 │ │ -> 0x0081 │ │ 0x0021 - 0x0072 │ │ Ljava/lang/Exception; -> 0x0073 │ │ -> 0x0081 │ │ 0x0074 - 0x007f │ │ @@ -11469,61 +11469,61 @@ │ │ type : '()Ljava/lang/String;' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 8 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 86 16-bit code units │ │ -016b88: |[016b88] dnsfilter.android.DNSFilterService$DNSReqForwarder.getALocalIpAddress:()Ljava/lang/String; │ │ -016b98: 7100 8d02 0000 |0000: invoke-static {}, Ldnsfilter/android/DNSFilterService;.access$000:()Z // method@028d │ │ -016b9e: 0a00 |0003: move-result v0 │ │ -016ba0: 3800 0b00 |0004: if-eqz v0, 000f // +000b │ │ -016ba4: 7100 8e02 0000 |0006: invoke-static {}, Ldnsfilter/android/DNSFilterService;.access$100:()Z // method@028e │ │ -016baa: 0a00 |0009: move-result v0 │ │ -016bac: 3800 0500 |000a: if-eqz v0, 000f // +0005 │ │ -016bb0: 1a00 7200 |000c: const-string v0, "127.0.0.1" // string@0072 │ │ -016bb4: 1100 |000e: return-object v0 │ │ -016bb6: 7100 e205 0000 |000f: invoke-static {}, Ljava/net/NetworkInterface;.getNetworkInterfaces:()Ljava/util/Enumeration; // method@05e2 │ │ -016bbc: 0c00 |0012: move-result-object v0 │ │ -016bbe: 1201 |0013: const/4 v1, #int 0 // #0 │ │ -016bc0: 7210 2406 0000 |0014: invoke-interface {v0}, Ljava/util/Enumeration;.hasMoreElements:()Z // method@0624 │ │ -016bc6: 0a02 |0017: move-result v2 │ │ -016bc8: 3802 3d00 |0018: if-eqz v2, 0055 // +003d │ │ -016bcc: 7210 2506 0000 |001a: invoke-interface {v0}, Ljava/util/Enumeration;.nextElement:()Ljava/lang/Object; // method@0625 │ │ -016bd2: 0c02 |001d: move-result-object v2 │ │ -016bd4: 1f02 3a01 |001e: check-cast v2, Ljava/net/NetworkInterface; // type@013a │ │ -016bd8: 6e10 e005 0200 |0020: invoke-virtual {v2}, Ljava/net/NetworkInterface;.getInetAddresses:()Ljava/util/Enumeration; // method@05e0 │ │ -016bde: 0c03 |0023: move-result-object v3 │ │ -016be0: 7210 2406 0300 |0024: invoke-interface {v3}, Ljava/util/Enumeration;.hasMoreElements:()Z // method@0624 │ │ -016be6: 0a04 |0027: move-result v4 │ │ -016be8: 3804 ecff |0028: if-eqz v4, 0014 // -0014 │ │ -016bec: 7210 2506 0300 |002a: invoke-interface {v3}, Ljava/util/Enumeration;.nextElement:()Ljava/lang/Object; // method@0625 │ │ -016bf2: 0c04 |002d: move-result-object v4 │ │ -016bf4: 1f04 3701 |002e: check-cast v4, Ljava/net/InetAddress; // type@0137 │ │ -016bf8: 6e10 d905 0400 |0030: invoke-virtual {v4}, Ljava/net/InetAddress;.isLoopbackAddress:()Z // method@05d9 │ │ -016bfe: 0a05 |0033: move-result v5 │ │ -016c00: 3905 f0ff |0034: if-nez v5, 0024 // -0010 │ │ -016c04: 2045 3501 |0036: instance-of v5, v4, Ljava/net/Inet4Address; // type@0135 │ │ -016c08: 3805 ecff |0038: if-eqz v5, 0024 // -0014 │ │ -016c0c: 6e10 d605 0400 |003a: invoke-virtual {v4}, Ljava/net/InetAddress;.getHostAddress:()Ljava/lang/String; // method@05d6 │ │ -016c12: 0c04 |003d: move-result-object v4 │ │ -016c14: 6e10 e105 0200 |003e: invoke-virtual {v2}, Ljava/net/NetworkInterface;.getName:()Ljava/lang/String; // method@05e1 │ │ -016c1a: 0c05 |0041: move-result-object v5 │ │ -016c1c: 1a06 430b |0042: const-string v6, "tun" // string@0b43 │ │ -016c20: 6e20 9b05 6500 |0044: invoke-virtual {v5, v6}, Ljava/lang/String;.startsWith:(Ljava/lang/String;)Z // method@059b │ │ -016c26: 0a05 |0047: move-result v5 │ │ -016c28: 3805 0900 |0048: if-eqz v5, 0051 // +0009 │ │ -016c2c: 6e10 e305 0200 |004a: invoke-virtual {v2}, Ljava/net/NetworkInterface;.isUp:()Z // method@05e3 │ │ -016c32: 0a05 |004d: move-result v5 │ │ -016c34: 3805 0300 |004e: if-eqz v5, 0051 // +0003 │ │ -016c38: 1104 |0050: return-object v4 │ │ -016c3a: 3901 d3ff |0051: if-nez v1, 0024 // -002d │ │ -016c3e: 0741 |0053: move-object v1, v4 │ │ -016c40: 28d0 |0054: goto 0024 // -0030 │ │ -016c42: 1101 |0055: return-object v1 │ │ +016b84: |[016b84] dnsfilter.android.DNSFilterService$DNSReqForwarder.getALocalIpAddress:()Ljava/lang/String; │ │ +016b94: 7100 8d02 0000 |0000: invoke-static {}, Ldnsfilter/android/DNSFilterService;.access$000:()Z // method@028d │ │ +016b9a: 0a00 |0003: move-result v0 │ │ +016b9c: 3800 0b00 |0004: if-eqz v0, 000f // +000b │ │ +016ba0: 7100 8e02 0000 |0006: invoke-static {}, Ldnsfilter/android/DNSFilterService;.access$100:()Z // method@028e │ │ +016ba6: 0a00 |0009: move-result v0 │ │ +016ba8: 3800 0500 |000a: if-eqz v0, 000f // +0005 │ │ +016bac: 1a00 7200 |000c: const-string v0, "127.0.0.1" // string@0072 │ │ +016bb0: 1100 |000e: return-object v0 │ │ +016bb2: 7100 e205 0000 |000f: invoke-static {}, Ljava/net/NetworkInterface;.getNetworkInterfaces:()Ljava/util/Enumeration; // method@05e2 │ │ +016bb8: 0c00 |0012: move-result-object v0 │ │ +016bba: 1201 |0013: const/4 v1, #int 0 // #0 │ │ +016bbc: 7210 2406 0000 |0014: invoke-interface {v0}, Ljava/util/Enumeration;.hasMoreElements:()Z // method@0624 │ │ +016bc2: 0a02 |0017: move-result v2 │ │ +016bc4: 3802 3d00 |0018: if-eqz v2, 0055 // +003d │ │ +016bc8: 7210 2506 0000 |001a: invoke-interface {v0}, Ljava/util/Enumeration;.nextElement:()Ljava/lang/Object; // method@0625 │ │ +016bce: 0c02 |001d: move-result-object v2 │ │ +016bd0: 1f02 3a01 |001e: check-cast v2, Ljava/net/NetworkInterface; // type@013a │ │ +016bd4: 6e10 e005 0200 |0020: invoke-virtual {v2}, Ljava/net/NetworkInterface;.getInetAddresses:()Ljava/util/Enumeration; // method@05e0 │ │ +016bda: 0c03 |0023: move-result-object v3 │ │ +016bdc: 7210 2406 0300 |0024: invoke-interface {v3}, Ljava/util/Enumeration;.hasMoreElements:()Z // method@0624 │ │ +016be2: 0a04 |0027: move-result v4 │ │ +016be4: 3804 ecff |0028: if-eqz v4, 0014 // -0014 │ │ +016be8: 7210 2506 0300 |002a: invoke-interface {v3}, Ljava/util/Enumeration;.nextElement:()Ljava/lang/Object; // method@0625 │ │ +016bee: 0c04 |002d: move-result-object v4 │ │ +016bf0: 1f04 3701 |002e: check-cast v4, Ljava/net/InetAddress; // type@0137 │ │ +016bf4: 6e10 d905 0400 |0030: invoke-virtual {v4}, Ljava/net/InetAddress;.isLoopbackAddress:()Z // method@05d9 │ │ +016bfa: 0a05 |0033: move-result v5 │ │ +016bfc: 3905 f0ff |0034: if-nez v5, 0024 // -0010 │ │ +016c00: 2045 3501 |0036: instance-of v5, v4, Ljava/net/Inet4Address; // type@0135 │ │ +016c04: 3805 ecff |0038: if-eqz v5, 0024 // -0014 │ │ +016c08: 6e10 d605 0400 |003a: invoke-virtual {v4}, Ljava/net/InetAddress;.getHostAddress:()Ljava/lang/String; // method@05d6 │ │ +016c0e: 0c04 |003d: move-result-object v4 │ │ +016c10: 6e10 e105 0200 |003e: invoke-virtual {v2}, Ljava/net/NetworkInterface;.getName:()Ljava/lang/String; // method@05e1 │ │ +016c16: 0c05 |0041: move-result-object v5 │ │ +016c18: 1a06 430b |0042: const-string v6, "tun" // string@0b43 │ │ +016c1c: 6e20 9b05 6500 |0044: invoke-virtual {v5, v6}, Ljava/lang/String;.startsWith:(Ljava/lang/String;)Z // method@059b │ │ +016c22: 0a05 |0047: move-result v5 │ │ +016c24: 3805 0900 |0048: if-eqz v5, 0051 // +0009 │ │ +016c28: 6e10 e305 0200 |004a: invoke-virtual {v2}, Ljava/net/NetworkInterface;.isUp:()Z // method@05e3 │ │ +016c2e: 0a05 |004d: move-result v5 │ │ +016c30: 3805 0300 |004e: if-eqz v5, 0051 // +0003 │ │ +016c34: 1104 |0050: return-object v4 │ │ +016c36: 3901 d3ff |0051: if-nez v1, 0024 // -002d │ │ +016c3a: 0741 |0053: move-object v1, v4 │ │ +016c3c: 28d0 |0054: goto 0024 // -0030 │ │ +016c3e: 1101 |0055: return-object v1 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=124 │ │ 0x000c line=125 │ │ 0x000f line=129 │ │ 0x0014 line=130 │ │ 0x001a line=131 │ │ @@ -11599,42 +11599,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 │ │ -01708c: |[01708c] dnsfilter.android.DNSFilterService$VPNRunner.:(Ldnsfilter/android/DNSFilterService;ILandroid/os/ParcelFileDescriptor;Z)V │ │ -01709c: 5b01 b300 |0000: iput-object v1, v0, Ldnsfilter/android/DNSFilterService$VPNRunner;.this$0:Ldnsfilter/android/DNSFilterService; // field@00b3 │ │ -0170a0: 7010 7505 0000 |0002: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@0575 │ │ -0170a6: 1201 |0005: const/4 v1, #int 0 // #0 │ │ -0170a8: 5b01 b000 |0006: iput-object v1, v0, Ldnsfilter/android/DNSFilterService$VPNRunner;.in:Ljava/io/FileInputStream; // field@00b0 │ │ -0170ac: 5b01 b100 |0008: iput-object v1, v0, Ldnsfilter/android/DNSFilterService$VPNRunner;.out:Ljava/io/FileOutputStream; // field@00b1 │ │ -0170b0: 5b01 b400 |000a: iput-object v1, v0, Ldnsfilter/android/DNSFilterService$VPNRunner;.thread:Ljava/lang/Thread; // field@00b4 │ │ -0170b4: 1201 |000c: const/4 v1, #int 0 // #0 │ │ -0170b6: 5c01 b200 |000d: iput-boolean v1, v0, Ldnsfilter/android/DNSFilterService$VPNRunner;.stopped:Z // field@00b2 │ │ -0170ba: 5c04 ae00 |000f: iput-boolean v4, v0, Ldnsfilter/android/DNSFilterService$VPNRunner;.explicitOperation:Z // field@00ae │ │ -0170be: 5902 af00 |0011: iput v2, v0, Ldnsfilter/android/DNSFilterService$VPNRunner;.id:I // field@00af │ │ -0170c2: 5b03 b500 |0013: iput-object v3, v0, Ldnsfilter/android/DNSFilterService$VPNRunner;.vpnInterface:Landroid/os/ParcelFileDescriptor; // field@00b5 │ │ -0170c6: 2201 fd00 |0015: new-instance v1, Ljava/io/FileInputStream; // type@00fd │ │ -0170ca: 6e10 8800 0300 |0017: invoke-virtual {v3}, Landroid/os/ParcelFileDescriptor;.getFileDescriptor:()Ljava/io/FileDescriptor; // method@0088 │ │ -0170d0: 0c02 |001a: move-result-object v2 │ │ -0170d2: 7020 1405 2100 |001b: invoke-direct {v1, v2}, Ljava/io/FileInputStream;.:(Ljava/io/FileDescriptor;)V // method@0514 │ │ -0170d8: 5b01 b000 |001e: iput-object v1, v0, Ldnsfilter/android/DNSFilterService$VPNRunner;.in:Ljava/io/FileInputStream; // field@00b0 │ │ -0170dc: 2201 ff00 |0020: new-instance v1, Ljava/io/FileOutputStream; // type@00ff │ │ -0170e0: 6e10 8800 0300 |0022: invoke-virtual {v3}, Landroid/os/ParcelFileDescriptor;.getFileDescriptor:()Ljava/io/FileDescriptor; // method@0088 │ │ -0170e6: 0c02 |0025: move-result-object v2 │ │ -0170e8: 7020 1b05 2100 |0026: invoke-direct {v1, v2}, Ljava/io/FileOutputStream;.:(Ljava/io/FileDescriptor;)V // method@051b │ │ -0170ee: 5b01 b100 |0029: iput-object v1, v0, Ldnsfilter/android/DNSFilterService$VPNRunner;.out:Ljava/io/FileOutputStream; // field@00b1 │ │ -0170f2: 3804 0b00 |002b: if-eqz v4, 0036 // +000b │ │ -0170f6: 7100 2707 0000 |002d: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0727 │ │ -0170fc: 0c01 |0030: move-result-object v1 │ │ -0170fe: 1a02 cb04 |0031: const-string v2, "VPN connected!" // string@04cb │ │ -017102: 7220 3307 2100 |0033: invoke-interface {v1, v2}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0733 │ │ -017108: 0e00 |0036: return-void │ │ +017088: |[017088] dnsfilter.android.DNSFilterService$VPNRunner.:(Ldnsfilter/android/DNSFilterService;ILandroid/os/ParcelFileDescriptor;Z)V │ │ +017098: 5b01 b300 |0000: iput-object v1, v0, Ldnsfilter/android/DNSFilterService$VPNRunner;.this$0:Ldnsfilter/android/DNSFilterService; // field@00b3 │ │ +01709c: 7010 7505 0000 |0002: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@0575 │ │ +0170a2: 1201 |0005: const/4 v1, #int 0 // #0 │ │ +0170a4: 5b01 b000 |0006: iput-object v1, v0, Ldnsfilter/android/DNSFilterService$VPNRunner;.in:Ljava/io/FileInputStream; // field@00b0 │ │ +0170a8: 5b01 b100 |0008: iput-object v1, v0, Ldnsfilter/android/DNSFilterService$VPNRunner;.out:Ljava/io/FileOutputStream; // field@00b1 │ │ +0170ac: 5b01 b400 |000a: iput-object v1, v0, Ldnsfilter/android/DNSFilterService$VPNRunner;.thread:Ljava/lang/Thread; // field@00b4 │ │ +0170b0: 1201 |000c: const/4 v1, #int 0 // #0 │ │ +0170b2: 5c01 b200 |000d: iput-boolean v1, v0, Ldnsfilter/android/DNSFilterService$VPNRunner;.stopped:Z // field@00b2 │ │ +0170b6: 5c04 ae00 |000f: iput-boolean v4, v0, Ldnsfilter/android/DNSFilterService$VPNRunner;.explicitOperation:Z // field@00ae │ │ +0170ba: 5902 af00 |0011: iput v2, v0, Ldnsfilter/android/DNSFilterService$VPNRunner;.id:I // field@00af │ │ +0170be: 5b03 b500 |0013: iput-object v3, v0, Ldnsfilter/android/DNSFilterService$VPNRunner;.vpnInterface:Landroid/os/ParcelFileDescriptor; // field@00b5 │ │ +0170c2: 2201 fd00 |0015: new-instance v1, Ljava/io/FileInputStream; // type@00fd │ │ +0170c6: 6e10 8800 0300 |0017: invoke-virtual {v3}, Landroid/os/ParcelFileDescriptor;.getFileDescriptor:()Ljava/io/FileDescriptor; // method@0088 │ │ +0170cc: 0c02 |001a: move-result-object v2 │ │ +0170ce: 7020 1405 2100 |001b: invoke-direct {v1, v2}, Ljava/io/FileInputStream;.:(Ljava/io/FileDescriptor;)V // method@0514 │ │ +0170d4: 5b01 b000 |001e: iput-object v1, v0, Ldnsfilter/android/DNSFilterService$VPNRunner;.in:Ljava/io/FileInputStream; // field@00b0 │ │ +0170d8: 2201 ff00 |0020: new-instance v1, Ljava/io/FileOutputStream; // type@00ff │ │ +0170dc: 6e10 8800 0300 |0022: invoke-virtual {v3}, Landroid/os/ParcelFileDescriptor;.getFileDescriptor:()Ljava/io/FileDescriptor; // method@0088 │ │ +0170e2: 0c02 |0025: move-result-object v2 │ │ +0170e4: 7020 1b05 2100 |0026: invoke-direct {v1, v2}, Ljava/io/FileOutputStream;.:(Ljava/io/FileDescriptor;)V // method@051b │ │ +0170ea: 5b01 b100 |0029: iput-object v1, v0, Ldnsfilter/android/DNSFilterService$VPNRunner;.out:Ljava/io/FileOutputStream; // field@00b1 │ │ +0170ee: 3804 0b00 |002b: if-eqz v4, 0036 // +000b │ │ +0170f2: 7100 2707 0000 |002d: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0727 │ │ +0170f8: 0c01 |0030: move-result-object v1 │ │ +0170fa: 1a02 cb04 |0031: const-string v2, "VPN connected!" // string@04cb │ │ +0170fe: 7220 3307 2100 |0033: invoke-interface {v1, v2}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0733 │ │ +017104: 0e00 |0036: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=268 │ │ 0x0006 line=260 │ │ 0x0008 line=261 │ │ 0x000a line=262 │ │ 0x000d line=263 │ │ @@ -11656,17 +11656,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 │ │ -01710c: |[01710c] dnsfilter.android.DNSFilterService$VPNRunner.:(Ldnsfilter/android/DNSFilterService;ILandroid/os/ParcelFileDescriptor;ZLdnsfilter/android/DNSFilterService$1;)V │ │ -01711c: 7054 8602 1032 |0000: invoke-direct {v0, v1, v2, v3, v4}, Ldnsfilter/android/DNSFilterService$VPNRunner;.:(Ldnsfilter/android/DNSFilterService;ILandroid/os/ParcelFileDescriptor;Z)V // method@0286 │ │ -017122: 0e00 |0003: return-void │ │ +017108: |[017108] dnsfilter.android.DNSFilterService$VPNRunner.:(Ldnsfilter/android/DNSFilterService;ILandroid/os/ParcelFileDescriptor;ZLdnsfilter/android/DNSFilterService$1;)V │ │ +017118: 7054 8602 1032 |0000: invoke-direct {v0, v1, v2, v3, v4}, Ldnsfilter/android/DNSFilterService$VPNRunner;.:(Ldnsfilter/android/DNSFilterService;ILandroid/os/ParcelFileDescriptor;Z)V // method@0286 │ │ +01711e: 0e00 |0003: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=257 │ │ locals : │ │ 0x0000 - 0x0004 reg=0 this Ldnsfilter/android/DNSFilterService$VPNRunner; │ │ 0x0000 - 0x0004 reg=1 (null) Ldnsfilter/android/DNSFilterService; │ │ 0x0000 - 0x0004 reg=2 (null) I │ │ @@ -11679,17 +11679,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 │ │ -017124: |[017124] dnsfilter.android.DNSFilterService$VPNRunner.access$900:(Ldnsfilter/android/DNSFilterService$VPNRunner;Z)V │ │ -017134: 7020 8a02 1000 |0000: invoke-direct {v0, v1}, Ldnsfilter/android/DNSFilterService$VPNRunner;.stop:(Z)V // method@028a │ │ -01713a: 0e00 |0003: return-void │ │ +017120: |[017120] dnsfilter.android.DNSFilterService$VPNRunner.access$900:(Ldnsfilter/android/DNSFilterService$VPNRunner;Z)V │ │ +017130: 7020 8a02 1000 |0000: invoke-direct {v0, v1}, Ldnsfilter/android/DNSFilterService$VPNRunner;.stop:(Z)V // method@028a │ │ +017136: 0e00 |0003: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=257 │ │ locals : │ │ 0x0000 - 0x0004 reg=0 (null) Ldnsfilter/android/DNSFilterService$VPNRunner; │ │ 0x0000 - 0x0004 reg=1 (null) Z │ │ │ │ @@ -11698,33 +11698,33 @@ │ │ type : '(Z)V' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 3 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 37 16-bit code units │ │ -017638: |[017638] dnsfilter.android.DNSFilterService$VPNRunner.stop:(Z)V │ │ -017648: 1210 |0000: const/4 v0, #int 1 // #1 │ │ -01764a: 5c10 b200 |0001: iput-boolean v0, v1, Ldnsfilter/android/DNSFilterService$VPNRunner;.stopped:Z // field@00b2 │ │ -01764e: 5c12 ae00 |0003: iput-boolean v2, v1, Ldnsfilter/android/DNSFilterService$VPNRunner;.explicitOperation:Z // field@00ae │ │ -017652: 5412 b000 |0005: iget-object v2, v1, Ldnsfilter/android/DNSFilterService$VPNRunner;.in:Ljava/io/FileInputStream; // field@00b0 │ │ -017656: 6e10 1605 0200 |0007: invoke-virtual {v2}, Ljava/io/FileInputStream;.close:()V // method@0516 │ │ -01765c: 5412 b100 |000a: iget-object v2, v1, Ldnsfilter/android/DNSFilterService$VPNRunner;.out:Ljava/io/FileOutputStream; // field@00b1 │ │ -017660: 6e10 1d05 0200 |000c: invoke-virtual {v2}, Ljava/io/FileOutputStream;.close:()V // method@051d │ │ -017666: 5412 b500 |000f: iget-object v2, v1, Ldnsfilter/android/DNSFilterService$VPNRunner;.vpnInterface:Landroid/os/ParcelFileDescriptor; // field@00b5 │ │ -01766a: 6e10 8700 0200 |0011: invoke-virtual {v2}, Landroid/os/ParcelFileDescriptor;.close:()V // method@0087 │ │ -017670: 5412 b400 |0014: iget-object v2, v1, Ldnsfilter/android/DNSFilterService$VPNRunner;.thread:Ljava/lang/Thread; // field@00b4 │ │ -017674: 3802 0e00 |0016: if-eqz v2, 0024 // +000e │ │ -017678: 6e10 b905 0200 |0018: invoke-virtual {v2}, Ljava/lang/Thread;.interrupt:()V // method@05b9 │ │ -01767e: 2809 |001b: goto 0024 // +0009 │ │ -017680: 0d02 |001c: move-exception v2 │ │ -017682: 7100 2707 0000 |001d: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0727 │ │ -017688: 0c00 |0020: move-result-object v0 │ │ -01768a: 7220 3207 2000 |0021: invoke-interface {v0, v2}, Lutil/LoggerInterface;.logException:(Ljava/lang/Exception;)V // method@0732 │ │ -017690: 0e00 |0024: return-void │ │ +017634: |[017634] dnsfilter.android.DNSFilterService$VPNRunner.stop:(Z)V │ │ +017644: 1210 |0000: const/4 v0, #int 1 // #1 │ │ +017646: 5c10 b200 |0001: iput-boolean v0, v1, Ldnsfilter/android/DNSFilterService$VPNRunner;.stopped:Z // field@00b2 │ │ +01764a: 5c12 ae00 |0003: iput-boolean v2, v1, Ldnsfilter/android/DNSFilterService$VPNRunner;.explicitOperation:Z // field@00ae │ │ +01764e: 5412 b000 |0005: iget-object v2, v1, Ldnsfilter/android/DNSFilterService$VPNRunner;.in:Ljava/io/FileInputStream; // field@00b0 │ │ +017652: 6e10 1605 0200 |0007: invoke-virtual {v2}, Ljava/io/FileInputStream;.close:()V // method@0516 │ │ +017658: 5412 b100 |000a: iget-object v2, v1, Ldnsfilter/android/DNSFilterService$VPNRunner;.out:Ljava/io/FileOutputStream; // field@00b1 │ │ +01765c: 6e10 1d05 0200 |000c: invoke-virtual {v2}, Ljava/io/FileOutputStream;.close:()V // method@051d │ │ +017662: 5412 b500 |000f: iget-object v2, v1, Ldnsfilter/android/DNSFilterService$VPNRunner;.vpnInterface:Landroid/os/ParcelFileDescriptor; // field@00b5 │ │ +017666: 6e10 8700 0200 |0011: invoke-virtual {v2}, Landroid/os/ParcelFileDescriptor;.close:()V // method@0087 │ │ +01766c: 5412 b400 |0014: iget-object v2, v1, Ldnsfilter/android/DNSFilterService$VPNRunner;.thread:Ljava/lang/Thread; // field@00b4 │ │ +017670: 3802 0e00 |0016: if-eqz v2, 0024 // +000e │ │ +017674: 6e10 b905 0200 |0018: invoke-virtual {v2}, Ljava/lang/Thread;.interrupt:()V // method@05b9 │ │ +01767a: 2809 |001b: goto 0024 // +0009 │ │ +01767c: 0d02 |001c: move-exception v2 │ │ +01767e: 7100 2707 0000 |001d: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0727 │ │ +017684: 0c00 |0020: move-result-object v0 │ │ +017686: 7220 3207 2000 |0021: invoke-interface {v0, v2}, Lutil/LoggerInterface;.logException:(Ljava/lang/Exception;)V // method@0732 │ │ +01768c: 0e00 |0024: return-void │ │ catches : 1 │ │ 0x0005 - 0x001b │ │ Ljava/lang/Exception; -> 0x001c │ │ positions : │ │ 0x0001 line=279 │ │ 0x0003 line=280 │ │ 0x0005 line=282 │ │ @@ -11743,294 +11743,294 @@ │ │ type : '()V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 13 │ │ ins : 1 │ │ outs : 4 │ │ insns size : 610 16-bit code units │ │ -01713c: |[01713c] dnsfilter.android.DNSFilterService$VPNRunner.run:()V │ │ -01714c: 55c0 ae00 |0000: iget-boolean v0, v12, Ldnsfilter/android/DNSFilterService$VPNRunner;.explicitOperation:Z // field@00ae │ │ -017150: 1a01 cc04 |0002: const-string v1, "VPN runner thread " // string@04cc │ │ -017154: 3900 0600 |0004: if-nez v0, 000a // +0006 │ │ -017158: 6300 0f01 |0006: sget-boolean v0, Ldnsfilter/android/DNSProxyActivity;.debug:Z // field@010f │ │ -01715c: 3800 1c00 |0008: if-eqz v0, 0024 // +001c │ │ -017160: 7100 2707 0000 |000a: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0727 │ │ -017166: 0c00 |000d: move-result-object v0 │ │ -017168: 2202 2d01 |000e: new-instance v2, Ljava/lang/StringBuilder; // type@012d │ │ -01716c: 7020 aa05 1200 |0010: invoke-direct {v2, v1}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05aa │ │ -017172: 52c3 af00 |0013: iget v3, v12, Ldnsfilter/android/DNSFilterService$VPNRunner;.id:I // field@00af │ │ -017176: 6e20 ac05 3200 |0015: invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@05ac │ │ -01717c: 1a03 2500 |0018: const-string v3, " started!" // string@0025 │ │ -017180: 6e20 af05 3200 |001a: invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -017186: 6e10 b105 0200 |001d: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ -01718c: 0c02 |0020: move-result-object v2 │ │ -01718e: 7220 3307 2000 |0021: invoke-interface {v0, v2}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0733 │ │ -017194: 7100 b705 0000 |0024: invoke-static {}, Ljava/lang/Thread;.currentThread:()Ljava/lang/Thread; // method@05b7 │ │ -01719a: 0c00 |0027: move-result-object v0 │ │ -01719c: 5bc0 b400 |0028: iput-object v0, v12, Ldnsfilter/android/DNSFilterService$VPNRunner;.thread:Ljava/lang/Thread; // field@00b4 │ │ -0171a0: 7100 9901 0000 |002a: invoke-static {}, Ldnsfilter/DNSFilterManager;.getInstance:()Ldnsfilter/DNSFilterManager; // method@0199 │ │ -0171a6: 0c00 |002d: move-result-object v0 │ │ -0171a8: 6e10 9401 0000 |002e: invoke-virtual {v0}, Ldnsfilter/DNSFilterManager;.getConfig:()Ljava/util/Properties; // method@0194 │ │ -0171ae: 0c00 |0031: move-result-object v0 │ │ -0171b0: 1a02 de08 |0032: const-string v2, "maxResolverCount" // string@08de │ │ -0171b4: 1a03 6f00 |0034: const-string v3, "100" // string@006f │ │ -0171b8: 6e30 5706 2003 |0036: invoke-virtual {v0, v2, v3}, Ljava/util/Properties;.getProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@0657 │ │ -0171be: 0c00 |0039: move-result-object v0 │ │ -0171c0: 7110 6705 0000 |003a: invoke-static {v0}, Ljava/lang/Integer;.parseInt:(Ljava/lang/String;)I // method@0567 │ │ -0171c6: 0a00 |003d: move-result v0 │ │ -0171c8: 55c2 b200 |003e: iget-boolean v2, v12, Ldnsfilter/android/DNSFilterService$VPNRunner;.stopped:Z // field@00b2 │ │ -0171cc: 3902 ff01 |0040: if-nez v2, 023f // +01ff │ │ -0171d0: 7100 f201 0000 |0042: invoke-static {}, Ldnsfilter/DNSServer;.getBufSize:()I // method@01f2 │ │ -0171d6: 0a02 |0045: move-result v2 │ │ -0171d8: 2322 9d01 |0046: new-array v2, v2, [B // type@019d │ │ -0171dc: 54c3 b000 |0048: iget-object v3, v12, Ldnsfilter/android/DNSFilterService$VPNRunner;.in:Ljava/io/FileInputStream; // field@00b0 │ │ -0171e0: 6e20 1705 2300 |004a: invoke-virtual {v3, v2}, Ljava/io/FileInputStream;.read:([B)I // method@0517 │ │ -0171e6: 0a03 |004d: move-result v3 │ │ -0171e8: 55c4 b200 |004e: iget-boolean v4, v12, Ldnsfilter/android/DNSFilterService$VPNRunner;.stopped:Z // field@00b2 │ │ -0171ec: 3804 0400 |0050: if-eqz v4, 0054 // +0004 │ │ -0171f0: 2900 ed01 |0052: goto/16 023f // +01ed │ │ -0171f4: 7100 d201 0000 |0054: invoke-static {}, Ldnsfilter/DNSResolver;.getResolverCount:()I // method@01d2 │ │ -0171fa: 0a04 |0057: move-result v4 │ │ -0171fc: 1215 |0058: const/4 v5, #int 1 // #1 │ │ -0171fe: 1206 |0059: const/4 v6, #int 0 // #0 │ │ -017200: 3704 1c00 |005a: if-le v4, v0, 0076 // +001c │ │ -017204: 7100 2707 0000 |005c: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0727 │ │ -01720a: 0c04 |005f: move-result-object v4 │ │ -01720c: 2207 2d01 |0060: new-instance v7, Ljava/lang/StringBuilder; // type@012d │ │ -017210: 7010 a905 0700 |0062: invoke-direct {v7}, Ljava/lang/StringBuilder;.:()V // method@05a9 │ │ -017216: 1a08 d603 |0065: const-string v8, "Max resolver count reached: " // string@03d6 │ │ -01721a: 6e20 af05 8700 |0067: invoke-virtual {v7, v8}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -017220: 6e20 ac05 0700 |006a: invoke-virtual {v7, v0}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@05ac │ │ -017226: 6e10 b105 0700 |006d: invoke-virtual {v7}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ -01722c: 0c07 |0070: move-result-object v7 │ │ -01722e: 7220 3407 7400 |0071: invoke-interface {v4, v7}, Lutil/LoggerInterface;.message:(Ljava/lang/String;)V // method@0734 │ │ -017234: 1214 |0074: const/4 v4, #int 1 // #1 │ │ -017236: 2802 |0075: goto 0077 // +0002 │ │ -017238: 1204 |0076: const/4 v4, #int 0 // #0 │ │ -01723a: 3d03 a401 |0077: if-lez v3, 021b // +01a4 │ │ -01723e: 2207 f000 |0079: new-instance v7, Lip/IPPacket; // type@00f0 │ │ -017242: 7040 ac04 2736 |007b: invoke-direct {v7, v2, v6, v3}, Lip/IPPacket;.:([BII)V // method@04ac │ │ -017248: 6e10 bb04 0700 |007e: invoke-virtual {v7}, Lip/IPPacket;.getVersion:()I // method@04bb │ │ -01724e: 0a08 |0081: move-result v8 │ │ -017250: 1269 |0082: const/4 v9, #int 6 // #6 │ │ -017252: 3398 0b01 |0083: if-ne v8, v9, 018e // +010b │ │ -017256: 6308 0f01 |0085: sget-boolean v8, Ldnsfilter/android/DNSProxyActivity;.debug:Z // field@010f │ │ -01725a: 3808 0701 |0087: if-eqz v8, 018e // +0107 │ │ -01725e: 7100 2707 0000 |0089: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0727 │ │ -017264: 0c08 |008c: move-result-object v8 │ │ -017266: 2209 2d01 |008d: new-instance v9, Ljava/lang/StringBuilder; // type@012d │ │ -01726a: 7010 a905 0900 |008f: invoke-direct {v9}, Ljava/lang/StringBuilder;.:()V // method@05a9 │ │ -017270: 1a0a 2f00 |0092: const-string v10, "!!!IPV6 packet!!! Protocol:" // string@002f │ │ -017274: 6e20 af05 a900 |0094: invoke-virtual {v9, v10}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -01727a: 6e10 b804 0700 |0097: invoke-virtual {v7}, Lip/IPPacket;.getProt:()I // method@04b8 │ │ -017280: 0a0a |009a: move-result v10 │ │ -017282: 6e20 ac05 a900 |009b: invoke-virtual {v9, v10}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@05ac │ │ -017288: 6e10 b105 0900 |009e: invoke-virtual {v9}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ -01728e: 0c09 |00a1: move-result-object v9 │ │ -017290: 7220 3307 9800 |00a2: invoke-interface {v8, v9}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0733 │ │ -017296: 7100 2707 0000 |00a5: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0727 │ │ -01729c: 0c08 |00a8: move-result-object v8 │ │ -01729e: 2209 2d01 |00a9: new-instance v9, Ljava/lang/StringBuilder; // type@012d │ │ -0172a2: 7010 a905 0900 |00ab: invoke-direct {v9}, Ljava/lang/StringBuilder;.:()V // method@05a9 │ │ -0172a8: 1a0a 5f04 |00ae: const-string v10, "SourceAddress:" // string@045f │ │ -0172ac: 6e20 af05 a900 |00b0: invoke-virtual {v9, v10}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -0172b2: 6e10 b904 0700 |00b3: invoke-virtual {v7}, Lip/IPPacket;.getSourceIP:()[I // method@04b9 │ │ -0172b8: 0c0a |00b6: move-result-object v10 │ │ -0172ba: 7110 be04 0a00 |00b7: invoke-static {v10}, Lip/IPPacket;.int2ip:([I)Ljava/net/InetAddress; // method@04be │ │ -0172c0: 0c0a |00ba: move-result-object v10 │ │ -0172c2: 6e20 ae05 a900 |00bb: invoke-virtual {v9, v10}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@05ae │ │ -0172c8: 6e10 b105 0900 |00be: invoke-virtual {v9}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ -0172ce: 0c09 |00c1: move-result-object v9 │ │ -0172d0: 7220 3307 9800 |00c2: invoke-interface {v8, v9}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0733 │ │ -0172d6: 7100 2707 0000 |00c5: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0727 │ │ -0172dc: 0c08 |00c8: move-result-object v8 │ │ -0172de: 2209 2d01 |00c9: new-instance v9, Ljava/lang/StringBuilder; // type@012d │ │ -0172e2: 7010 a905 0900 |00cb: invoke-direct {v9}, Ljava/lang/StringBuilder;.:()V // method@05a9 │ │ -0172e8: 1a0a 6501 |00ce: const-string v10, "DestAddress:" // string@0165 │ │ -0172ec: 6e20 af05 a900 |00d0: invoke-virtual {v9, v10}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -0172f2: 6e10 b404 0700 |00d3: invoke-virtual {v7}, Lip/IPPacket;.getDestIP:()[I // method@04b4 │ │ -0172f8: 0c0a |00d6: move-result-object v10 │ │ -0172fa: 7110 be04 0a00 |00d7: invoke-static {v10}, Lip/IPPacket;.int2ip:([I)Ljava/net/InetAddress; // method@04be │ │ -017300: 0c0a |00da: move-result-object v10 │ │ -017302: 6e20 ae05 a900 |00db: invoke-virtual {v9, v10}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@05ae │ │ -017308: 6e10 b105 0900 |00de: invoke-virtual {v9}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ -01730e: 0c09 |00e1: move-result-object v9 │ │ -017310: 7220 3307 9800 |00e2: invoke-interface {v8, v9}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0733 │ │ -017316: 7100 2707 0000 |00e5: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0727 │ │ -01731c: 0c08 |00e8: move-result-object v8 │ │ -01731e: 2209 2d01 |00e9: new-instance v9, Ljava/lang/StringBuilder; // type@012d │ │ -017322: 7010 a905 0900 |00eb: invoke-direct {v9}, Ljava/lang/StringBuilder;.:()V // method@05a9 │ │ -017328: 1a0a 7204 |00ee: const-string v10, "TTL:" // string@0472 │ │ -01732c: 6e20 af05 a900 |00f0: invoke-virtual {v9, v10}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -017332: 6e10 ba04 0700 |00f3: invoke-virtual {v7}, Lip/IPPacket;.getTTL:()I // method@04ba │ │ -017338: 0a0a |00f6: move-result v10 │ │ -01733a: 6e20 ac05 a900 |00f7: invoke-virtual {v9, v10}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@05ac │ │ -017340: 6e10 b105 0900 |00fa: invoke-virtual {v9}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ -017346: 0c09 |00fd: move-result-object v9 │ │ -017348: 7220 3307 9800 |00fe: invoke-interface {v8, v9}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0733 │ │ -01734e: 7100 2707 0000 |0101: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0727 │ │ -017354: 0c08 |0104: move-result-object v8 │ │ -017356: 2209 2d01 |0105: new-instance v9, Ljava/lang/StringBuilder; // type@012d │ │ -01735a: 7010 a905 0900 |0107: invoke-direct {v9}, Ljava/lang/StringBuilder;.:()V // method@05a9 │ │ -017360: 1a0a 1603 |010a: const-string v10, "Length:" // string@0316 │ │ -017364: 6e20 af05 a900 |010c: invoke-virtual {v9, v10}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -01736a: 6e10 b604 0700 |010f: invoke-virtual {v7}, Lip/IPPacket;.getLength:()I // method@04b6 │ │ -017370: 0a0a |0112: move-result v10 │ │ -017372: 6e20 ac05 a900 |0113: invoke-virtual {v9, v10}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@05ac │ │ -017378: 6e10 b105 0900 |0116: invoke-virtual {v9}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ -01737e: 0c09 |0119: move-result-object v9 │ │ -017380: 7220 3307 9800 |011a: invoke-interface {v8, v9}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0733 │ │ -017386: 6e10 b804 0700 |011d: invoke-virtual {v7}, Lip/IPPacket;.getProt:()I // method@04b8 │ │ -01738c: 0a08 |0120: move-result v8 │ │ -01738e: 3908 6d00 |0121: if-nez v8, 018e // +006d │ │ -017392: 7100 2707 0000 |0123: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0727 │ │ -017398: 0c08 |0126: move-result-object v8 │ │ -01739a: 1a09 b601 |0127: const-string v9, "Hopp by hopp header" // string@01b6 │ │ -01739e: 7220 3307 9800 |0129: invoke-interface {v8, v9}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0733 │ │ -0173a4: 7100 2707 0000 |012c: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0727 │ │ -0173aa: 0c08 |012f: move-result-object v8 │ │ -0173ac: 2209 2d01 |0130: new-instance v9, Ljava/lang/StringBuilder; // type@012d │ │ -0173b0: 7010 a905 0900 |0132: invoke-direct {v9}, Ljava/lang/StringBuilder;.:()V // method@05a9 │ │ -0173b6: 1a0a ed03 |0135: const-string v10, "NextHeader:" // string@03ed │ │ -0173ba: 6e20 af05 a900 |0137: invoke-virtual {v9, v10}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -0173c0: 130a 2800 |013a: const/16 v10, #int 40 // #28 │ │ -0173c4: 480b 020a |013c: aget-byte v11, v2, v10 │ │ -0173c8: d5bb ff00 |013e: and-int/lit16 v11, v11, #int 255 // #00ff │ │ -0173cc: 6e20 ac05 b900 |0140: invoke-virtual {v9, v11}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@05ac │ │ -0173d2: 6e10 b105 0900 |0143: invoke-virtual {v9}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ -0173d8: 0c09 |0146: move-result-object v9 │ │ -0173da: 7220 3307 9800 |0147: invoke-interface {v8, v9}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0733 │ │ -0173e0: 7100 2707 0000 |014a: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0727 │ │ -0173e6: 0c08 |014d: move-result-object v8 │ │ -0173e8: 2209 2d01 |014e: new-instance v9, Ljava/lang/StringBuilder; // type@012d │ │ -0173ec: 7010 a905 0900 |0150: invoke-direct {v9}, Ljava/lang/StringBuilder;.:()V // method@05a9 │ │ -0173f2: 1a0b b201 |0153: const-string v11, "Hdr Ext Len:" // string@01b2 │ │ -0173f6: 6e20 af05 b900 |0155: invoke-virtual {v9, v11}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -0173fc: 130b 2900 |0158: const/16 v11, #int 41 // #29 │ │ -017400: 480b 020b |015a: aget-byte v11, v2, v11 │ │ -017404: d5bb ff00 |015c: and-int/lit16 v11, v11, #int 255 // #00ff │ │ -017408: 6e20 ac05 b900 |015e: invoke-virtual {v9, v11}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@05ac │ │ -01740e: 6e10 b105 0900 |0161: invoke-virtual {v9}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ -017414: 0c09 |0164: move-result-object v9 │ │ -017416: 7220 3307 9800 |0165: invoke-interface {v8, v9}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0733 │ │ -01741c: 4808 020a |0168: aget-byte v8, v2, v10 │ │ -017420: d588 ff00 |016a: and-int/lit16 v8, v8, #int 255 // #00ff │ │ -017424: 1309 3a00 |016c: const/16 v9, #int 58 // #3a │ │ -017428: 3398 2000 |016e: if-ne v8, v9, 018e // +0020 │ │ -01742c: 7100 2707 0000 |0170: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0727 │ │ -017432: 0c08 |0173: move-result-object v8 │ │ -017434: 2209 2d01 |0174: new-instance v9, Ljava/lang/StringBuilder; // type@012d │ │ -017438: 7010 a905 0900 |0176: invoke-direct {v9}, Ljava/lang/StringBuilder;.:()V // method@05a9 │ │ -01743e: 1a0a 2304 |0179: const-string v10, "Received ICMP IPV6 packet type:" // string@0423 │ │ -017442: 6e20 af05 a900 |017b: invoke-virtual {v9, v10}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -017448: 130a 3000 |017e: const/16 v10, #int 48 // #30 │ │ -01744c: 480a 020a |0180: aget-byte v10, v2, v10 │ │ -017450: d5aa ff00 |0182: and-int/lit16 v10, v10, #int 255 // #00ff │ │ -017454: 6e20 ac05 a900 |0184: invoke-virtual {v9, v10}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@05ac │ │ -01745a: 6e10 b105 0900 |0187: invoke-virtual {v9}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ -017460: 0c09 |018a: move-result-object v9 │ │ -017462: 7220 3307 9800 |018b: invoke-interface {v8, v9}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0733 │ │ -017468: 6e10 ae04 0700 |018e: invoke-virtual {v7}, Lip/IPPacket;.checkCheckSum:()I // method@04ae │ │ -01746e: 0a08 |0191: move-result v8 │ │ -017470: 3908 5800 |0192: if-nez v8, 01ea // +0058 │ │ -017474: 6e10 b804 0700 |0194: invoke-virtual {v7}, Lip/IPPacket;.getProt:()I // method@04b8 │ │ -01747a: 0a08 |0197: move-result v8 │ │ -01747c: 3358 2400 |0198: if-ne v8, v5, 01bc // +0024 │ │ -017480: 6305 0f01 |019a: sget-boolean v5, Ldnsfilter/android/DNSProxyActivity;.debug:Z // field@010f │ │ -017484: 3805 2000 |019c: if-eqz v5, 01bc // +0020 │ │ -017488: 7100 2707 0000 |019e: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0727 │ │ -01748e: 0c05 |01a1: move-result-object v5 │ │ -017490: 2208 2d01 |01a2: new-instance v8, Ljava/lang/StringBuilder; // type@012d │ │ -017494: 7010 a905 0800 |01a4: invoke-direct {v8}, Ljava/lang/StringBuilder;.:()V // method@05a9 │ │ -01749a: 1a09 2404 |01a7: const-string v9, "Received ICMP packet type:" // string@0424 │ │ -01749e: 6e20 af05 9800 |01a9: invoke-virtual {v8, v9}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -0174a4: 1309 1400 |01ac: const/16 v9, #int 20 // #14 │ │ -0174a8: 4809 0209 |01ae: aget-byte v9, v2, v9 │ │ -0174ac: d599 ff00 |01b0: and-int/lit16 v9, v9, #int 255 // #00ff │ │ -0174b0: 6e20 ac05 9800 |01b2: invoke-virtual {v8, v9}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@05ac │ │ -0174b6: 6e10 b105 0800 |01b5: invoke-virtual {v8}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ -0174bc: 0c08 |01b8: move-result-object v8 │ │ -0174be: 7220 3307 8500 |01b9: invoke-interface {v5, v8}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0733 │ │ -0174c4: 6e10 b804 0700 |01bc: invoke-virtual {v7}, Lip/IPPacket;.getProt:()I // method@04b8 │ │ -0174ca: 0a05 |01bf: move-result v5 │ │ -0174cc: 1307 1100 |01c0: const/16 v7, #int 17 // #11 │ │ -0174d0: 3375 7cfe |01c2: if-ne v5, v7, 003e // -0184 │ │ -0174d4: 2205 f100 |01c4: new-instance v5, Lip/UDPPacket; // type@00f1 │ │ -0174d8: 7040 c104 2536 |01c6: invoke-direct {v5, v2, v6, v3}, Lip/UDPPacket;.:([BII)V // method@04c1 │ │ -0174de: 6e10 c304 0500 |01c9: invoke-virtual {v5}, Lip/UDPPacket;.checkCheckSum:()I // method@04c3 │ │ -0174e4: 0a02 |01cc: move-result v2 │ │ -0174e6: 3902 1500 |01cd: if-nez v2, 01e2 // +0015 │ │ -0174ea: 3904 6ffe |01cf: if-nez v4, 003e // -0191 │ │ -0174ee: 2202 2f01 |01d1: new-instance v2, Ljava/lang/Thread; // type@012f │ │ -0174f2: 2203 8e00 |01d3: new-instance v3, Ldnsfilter/DNSResolver; // type@008e │ │ -0174f6: 54c4 b100 |01d5: iget-object v4, v12, Ldnsfilter/android/DNSFilterService$VPNRunner;.out:Ljava/io/FileOutputStream; // field@00b1 │ │ -0174fa: 7030 d001 5304 |01d7: invoke-direct {v3, v5, v4}, Ldnsfilter/DNSResolver;.:(Lip/UDPPacket;Ljava/io/OutputStream;)V // method@01d0 │ │ -017500: 7020 b605 3200 |01da: invoke-direct {v2, v3}, Ljava/lang/Thread;.:(Ljava/lang/Runnable;)V // method@05b6 │ │ -017506: 6e10 bc05 0200 |01dd: invoke-virtual {v2}, Ljava/lang/Thread;.start:()V // method@05bc │ │ -01750c: 2900 5efe |01e0: goto/16 003e // -01a2 │ │ -017510: 2202 0001 |01e2: new-instance v2, Ljava/io/IOException; // type@0100 │ │ -017514: 1a03 8104 |01e4: const-string v3, "UDP packet checksum error!" // string@0481 │ │ -017518: 7020 2105 3200 |01e6: invoke-direct {v2, v3}, Ljava/io/IOException;.:(Ljava/lang/String;)V // method@0521 │ │ -01751e: 2702 |01e9: throw v2 │ │ -017520: 2202 0001 |01ea: new-instance v2, Ljava/io/IOException; // type@0100 │ │ -017524: 1a03 d701 |01ec: const-string v3, "IP header checksum error!" // string@01d7 │ │ -017528: 7020 2105 3200 |01ee: invoke-direct {v2, v3}, Ljava/io/IOException;.:(Ljava/lang/String;)V // method@0521 │ │ -01752e: 2702 |01f1: throw v2 │ │ -017530: 0d02 |01f2: move-exception v2 │ │ -017532: 7100 2707 0000 |01f3: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0727 │ │ -017538: 0c03 |01f6: move-result-object v3 │ │ -01753a: 7220 3207 2300 |01f7: invoke-interface {v3, v2}, Lutil/LoggerInterface;.logException:(Ljava/lang/Exception;)V // method@0732 │ │ -017540: 2900 44fe |01fa: goto/16 003e // -01bc │ │ -017544: 0d02 |01fc: move-exception v2 │ │ -017546: 7100 2707 0000 |01fd: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0727 │ │ -01754c: 0c03 |0200: move-result-object v3 │ │ -01754e: 2204 2d01 |0201: new-instance v4, Ljava/lang/StringBuilder; // type@012d │ │ -017552: 7010 a905 0400 |0203: invoke-direct {v4}, Ljava/lang/StringBuilder;.:()V // method@05a9 │ │ -017558: 1a05 d401 |0206: const-string v5, "IOEXCEPTION: " // string@01d4 │ │ -01755c: 6e20 af05 5400 |0208: invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -017562: 6e10 2605 0200 |020b: invoke-virtual {v2}, Ljava/io/IOException;.toString:()Ljava/lang/String; // method@0526 │ │ -017568: 0c02 |020e: move-result-object v2 │ │ -01756a: 6e20 af05 2400 |020f: invoke-virtual {v4, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -017570: 6e10 b105 0400 |0212: invoke-virtual {v4}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ -017576: 0c02 |0215: move-result-object v2 │ │ -017578: 7220 3307 2300 |0216: invoke-interface {v3, v2}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0733 │ │ -01757e: 2900 25fe |0219: goto/16 003e // -01db │ │ -017582: 54c2 b300 |021b: iget-object v2, v12, Ldnsfilter/android/DNSFilterService$VPNRunner;.this$0:Ldnsfilter/android/DNSFilterService; // field@00b3 │ │ -017586: 7110 9102 0200 |021d: invoke-static {v2}, Ldnsfilter/android/DNSFilterService;.access$400:(Ldnsfilter/android/DNSFilterService;)Z // method@0291 │ │ -01758c: 0a02 |0220: move-result v2 │ │ -01758e: 3902 1dfe |0221: if-nez v2, 003e // -01e3 │ │ -017592: 1602 e803 |0223: const-wide/16 v2, #int 1000 // #3e8 │ │ -017596: 7120 bb05 3200 |0225: invoke-static {v2, v3}, Ljava/lang/Thread;.sleep:(J)V // method@05bb │ │ -01759c: 2900 16fe |0228: goto/16 003e // -01ea │ │ -0175a0: 0d00 |022a: move-exception v0 │ │ -0175a2: 55c2 b200 |022b: iget-boolean v2, v12, Ldnsfilter/android/DNSFilterService$VPNRunner;.stopped:Z // field@00b2 │ │ -0175a6: 3902 1200 |022d: if-nez v2, 023f // +0012 │ │ -0175aa: 7100 2707 0000 |022f: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0727 │ │ -0175b0: 0c02 |0232: move-result-object v2 │ │ -0175b2: 1a03 cd04 |0233: const-string v3, "VPN);Runner died!" // string@04cd │ │ -0175b6: 7220 3307 3200 |0235: invoke-interface {v2, v3}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0733 │ │ -0175bc: 7100 2707 0000 |0238: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0727 │ │ -0175c2: 0c02 |023b: move-result-object v2 │ │ -0175c4: 7220 3207 0200 |023c: invoke-interface {v2, v0}, Lutil/LoggerInterface;.logException:(Ljava/lang/Exception;)V // method@0732 │ │ -0175ca: 55c0 ae00 |023f: iget-boolean v0, v12, Ldnsfilter/android/DNSFilterService$VPNRunner;.explicitOperation:Z // field@00ae │ │ -0175ce: 3900 0600 |0241: if-nez v0, 0247 // +0006 │ │ -0175d2: 6300 0f01 |0243: sget-boolean v0, Ldnsfilter/android/DNSProxyActivity;.debug:Z // field@010f │ │ -0175d6: 3800 1c00 |0245: if-eqz v0, 0261 // +001c │ │ -0175da: 7100 2707 0000 |0247: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0727 │ │ -0175e0: 0c00 |024a: move-result-object v0 │ │ -0175e2: 2202 2d01 |024b: new-instance v2, Ljava/lang/StringBuilder; // type@012d │ │ -0175e6: 7020 aa05 1200 |024d: invoke-direct {v2, v1}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05aa │ │ -0175ec: 52c1 af00 |0250: iget v1, v12, Ldnsfilter/android/DNSFilterService$VPNRunner;.id:I // field@00af │ │ -0175f0: 6e20 ac05 1200 |0252: invoke-virtual {v2, v1}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@05ac │ │ -0175f6: 1a01 2700 |0255: const-string v1, " terminated!" // string@0027 │ │ -0175fa: 6e20 af05 1200 |0257: invoke-virtual {v2, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -017600: 6e10 b105 0200 |025a: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ -017606: 0c01 |025d: move-result-object v1 │ │ -017608: 7220 3307 1000 |025e: invoke-interface {v0, v1}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0733 │ │ -01760e: 0e00 |0261: return-void │ │ +017138: |[017138] dnsfilter.android.DNSFilterService$VPNRunner.run:()V │ │ +017148: 55c0 ae00 |0000: iget-boolean v0, v12, Ldnsfilter/android/DNSFilterService$VPNRunner;.explicitOperation:Z // field@00ae │ │ +01714c: 1a01 cc04 |0002: const-string v1, "VPN runner thread " // string@04cc │ │ +017150: 3900 0600 |0004: if-nez v0, 000a // +0006 │ │ +017154: 6300 0f01 |0006: sget-boolean v0, Ldnsfilter/android/DNSProxyActivity;.debug:Z // field@010f │ │ +017158: 3800 1c00 |0008: if-eqz v0, 0024 // +001c │ │ +01715c: 7100 2707 0000 |000a: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0727 │ │ +017162: 0c00 |000d: move-result-object v0 │ │ +017164: 2202 2d01 |000e: new-instance v2, Ljava/lang/StringBuilder; // type@012d │ │ +017168: 7020 aa05 1200 |0010: invoke-direct {v2, v1}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05aa │ │ +01716e: 52c3 af00 |0013: iget v3, v12, Ldnsfilter/android/DNSFilterService$VPNRunner;.id:I // field@00af │ │ +017172: 6e20 ac05 3200 |0015: invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@05ac │ │ +017178: 1a03 2500 |0018: const-string v3, " started!" // string@0025 │ │ +01717c: 6e20 af05 3200 |001a: invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +017182: 6e10 b105 0200 |001d: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ +017188: 0c02 |0020: move-result-object v2 │ │ +01718a: 7220 3307 2000 |0021: invoke-interface {v0, v2}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0733 │ │ +017190: 7100 b705 0000 |0024: invoke-static {}, Ljava/lang/Thread;.currentThread:()Ljava/lang/Thread; // method@05b7 │ │ +017196: 0c00 |0027: move-result-object v0 │ │ +017198: 5bc0 b400 |0028: iput-object v0, v12, Ldnsfilter/android/DNSFilterService$VPNRunner;.thread:Ljava/lang/Thread; // field@00b4 │ │ +01719c: 7100 9901 0000 |002a: invoke-static {}, Ldnsfilter/DNSFilterManager;.getInstance:()Ldnsfilter/DNSFilterManager; // method@0199 │ │ +0171a2: 0c00 |002d: move-result-object v0 │ │ +0171a4: 6e10 9401 0000 |002e: invoke-virtual {v0}, Ldnsfilter/DNSFilterManager;.getConfig:()Ljava/util/Properties; // method@0194 │ │ +0171aa: 0c00 |0031: move-result-object v0 │ │ +0171ac: 1a02 de08 |0032: const-string v2, "maxResolverCount" // string@08de │ │ +0171b0: 1a03 6f00 |0034: const-string v3, "100" // string@006f │ │ +0171b4: 6e30 5706 2003 |0036: invoke-virtual {v0, v2, v3}, Ljava/util/Properties;.getProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@0657 │ │ +0171ba: 0c00 |0039: move-result-object v0 │ │ +0171bc: 7110 6705 0000 |003a: invoke-static {v0}, Ljava/lang/Integer;.parseInt:(Ljava/lang/String;)I // method@0567 │ │ +0171c2: 0a00 |003d: move-result v0 │ │ +0171c4: 55c2 b200 |003e: iget-boolean v2, v12, Ldnsfilter/android/DNSFilterService$VPNRunner;.stopped:Z // field@00b2 │ │ +0171c8: 3902 ff01 |0040: if-nez v2, 023f // +01ff │ │ +0171cc: 7100 f201 0000 |0042: invoke-static {}, Ldnsfilter/DNSServer;.getBufSize:()I // method@01f2 │ │ +0171d2: 0a02 |0045: move-result v2 │ │ +0171d4: 2322 9d01 |0046: new-array v2, v2, [B // type@019d │ │ +0171d8: 54c3 b000 |0048: iget-object v3, v12, Ldnsfilter/android/DNSFilterService$VPNRunner;.in:Ljava/io/FileInputStream; // field@00b0 │ │ +0171dc: 6e20 1705 2300 |004a: invoke-virtual {v3, v2}, Ljava/io/FileInputStream;.read:([B)I // method@0517 │ │ +0171e2: 0a03 |004d: move-result v3 │ │ +0171e4: 55c4 b200 |004e: iget-boolean v4, v12, Ldnsfilter/android/DNSFilterService$VPNRunner;.stopped:Z // field@00b2 │ │ +0171e8: 3804 0400 |0050: if-eqz v4, 0054 // +0004 │ │ +0171ec: 2900 ed01 |0052: goto/16 023f // +01ed │ │ +0171f0: 7100 d201 0000 |0054: invoke-static {}, Ldnsfilter/DNSResolver;.getResolverCount:()I // method@01d2 │ │ +0171f6: 0a04 |0057: move-result v4 │ │ +0171f8: 1215 |0058: const/4 v5, #int 1 // #1 │ │ +0171fa: 1206 |0059: const/4 v6, #int 0 // #0 │ │ +0171fc: 3704 1c00 |005a: if-le v4, v0, 0076 // +001c │ │ +017200: 7100 2707 0000 |005c: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0727 │ │ +017206: 0c04 |005f: move-result-object v4 │ │ +017208: 2207 2d01 |0060: new-instance v7, Ljava/lang/StringBuilder; // type@012d │ │ +01720c: 7010 a905 0700 |0062: invoke-direct {v7}, Ljava/lang/StringBuilder;.:()V // method@05a9 │ │ +017212: 1a08 d603 |0065: const-string v8, "Max resolver count reached: " // string@03d6 │ │ +017216: 6e20 af05 8700 |0067: invoke-virtual {v7, v8}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +01721c: 6e20 ac05 0700 |006a: invoke-virtual {v7, v0}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@05ac │ │ +017222: 6e10 b105 0700 |006d: invoke-virtual {v7}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ +017228: 0c07 |0070: move-result-object v7 │ │ +01722a: 7220 3407 7400 |0071: invoke-interface {v4, v7}, Lutil/LoggerInterface;.message:(Ljava/lang/String;)V // method@0734 │ │ +017230: 1214 |0074: const/4 v4, #int 1 // #1 │ │ +017232: 2802 |0075: goto 0077 // +0002 │ │ +017234: 1204 |0076: const/4 v4, #int 0 // #0 │ │ +017236: 3d03 a401 |0077: if-lez v3, 021b // +01a4 │ │ +01723a: 2207 f000 |0079: new-instance v7, Lip/IPPacket; // type@00f0 │ │ +01723e: 7040 ac04 2736 |007b: invoke-direct {v7, v2, v6, v3}, Lip/IPPacket;.:([BII)V // method@04ac │ │ +017244: 6e10 bb04 0700 |007e: invoke-virtual {v7}, Lip/IPPacket;.getVersion:()I // method@04bb │ │ +01724a: 0a08 |0081: move-result v8 │ │ +01724c: 1269 |0082: const/4 v9, #int 6 // #6 │ │ +01724e: 3398 0b01 |0083: if-ne v8, v9, 018e // +010b │ │ +017252: 6308 0f01 |0085: sget-boolean v8, Ldnsfilter/android/DNSProxyActivity;.debug:Z // field@010f │ │ +017256: 3808 0701 |0087: if-eqz v8, 018e // +0107 │ │ +01725a: 7100 2707 0000 |0089: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0727 │ │ +017260: 0c08 |008c: move-result-object v8 │ │ +017262: 2209 2d01 |008d: new-instance v9, Ljava/lang/StringBuilder; // type@012d │ │ +017266: 7010 a905 0900 |008f: invoke-direct {v9}, Ljava/lang/StringBuilder;.:()V // method@05a9 │ │ +01726c: 1a0a 2f00 |0092: const-string v10, "!!!IPV6 packet!!! Protocol:" // string@002f │ │ +017270: 6e20 af05 a900 |0094: invoke-virtual {v9, v10}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +017276: 6e10 b804 0700 |0097: invoke-virtual {v7}, Lip/IPPacket;.getProt:()I // method@04b8 │ │ +01727c: 0a0a |009a: move-result v10 │ │ +01727e: 6e20 ac05 a900 |009b: invoke-virtual {v9, v10}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@05ac │ │ +017284: 6e10 b105 0900 |009e: invoke-virtual {v9}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ +01728a: 0c09 |00a1: move-result-object v9 │ │ +01728c: 7220 3307 9800 |00a2: invoke-interface {v8, v9}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0733 │ │ +017292: 7100 2707 0000 |00a5: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0727 │ │ +017298: 0c08 |00a8: move-result-object v8 │ │ +01729a: 2209 2d01 |00a9: new-instance v9, Ljava/lang/StringBuilder; // type@012d │ │ +01729e: 7010 a905 0900 |00ab: invoke-direct {v9}, Ljava/lang/StringBuilder;.:()V // method@05a9 │ │ +0172a4: 1a0a 5f04 |00ae: const-string v10, "SourceAddress:" // string@045f │ │ +0172a8: 6e20 af05 a900 |00b0: invoke-virtual {v9, v10}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +0172ae: 6e10 b904 0700 |00b3: invoke-virtual {v7}, Lip/IPPacket;.getSourceIP:()[I // method@04b9 │ │ +0172b4: 0c0a |00b6: move-result-object v10 │ │ +0172b6: 7110 be04 0a00 |00b7: invoke-static {v10}, Lip/IPPacket;.int2ip:([I)Ljava/net/InetAddress; // method@04be │ │ +0172bc: 0c0a |00ba: move-result-object v10 │ │ +0172be: 6e20 ae05 a900 |00bb: invoke-virtual {v9, v10}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@05ae │ │ +0172c4: 6e10 b105 0900 |00be: invoke-virtual {v9}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ +0172ca: 0c09 |00c1: move-result-object v9 │ │ +0172cc: 7220 3307 9800 |00c2: invoke-interface {v8, v9}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0733 │ │ +0172d2: 7100 2707 0000 |00c5: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0727 │ │ +0172d8: 0c08 |00c8: move-result-object v8 │ │ +0172da: 2209 2d01 |00c9: new-instance v9, Ljava/lang/StringBuilder; // type@012d │ │ +0172de: 7010 a905 0900 |00cb: invoke-direct {v9}, Ljava/lang/StringBuilder;.:()V // method@05a9 │ │ +0172e4: 1a0a 6501 |00ce: const-string v10, "DestAddress:" // string@0165 │ │ +0172e8: 6e20 af05 a900 |00d0: invoke-virtual {v9, v10}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +0172ee: 6e10 b404 0700 |00d3: invoke-virtual {v7}, Lip/IPPacket;.getDestIP:()[I // method@04b4 │ │ +0172f4: 0c0a |00d6: move-result-object v10 │ │ +0172f6: 7110 be04 0a00 |00d7: invoke-static {v10}, Lip/IPPacket;.int2ip:([I)Ljava/net/InetAddress; // method@04be │ │ +0172fc: 0c0a |00da: move-result-object v10 │ │ +0172fe: 6e20 ae05 a900 |00db: invoke-virtual {v9, v10}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@05ae │ │ +017304: 6e10 b105 0900 |00de: invoke-virtual {v9}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ +01730a: 0c09 |00e1: move-result-object v9 │ │ +01730c: 7220 3307 9800 |00e2: invoke-interface {v8, v9}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0733 │ │ +017312: 7100 2707 0000 |00e5: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0727 │ │ +017318: 0c08 |00e8: move-result-object v8 │ │ +01731a: 2209 2d01 |00e9: new-instance v9, Ljava/lang/StringBuilder; // type@012d │ │ +01731e: 7010 a905 0900 |00eb: invoke-direct {v9}, Ljava/lang/StringBuilder;.:()V // method@05a9 │ │ +017324: 1a0a 7204 |00ee: const-string v10, "TTL:" // string@0472 │ │ +017328: 6e20 af05 a900 |00f0: invoke-virtual {v9, v10}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +01732e: 6e10 ba04 0700 |00f3: invoke-virtual {v7}, Lip/IPPacket;.getTTL:()I // method@04ba │ │ +017334: 0a0a |00f6: move-result v10 │ │ +017336: 6e20 ac05 a900 |00f7: invoke-virtual {v9, v10}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@05ac │ │ +01733c: 6e10 b105 0900 |00fa: invoke-virtual {v9}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ +017342: 0c09 |00fd: move-result-object v9 │ │ +017344: 7220 3307 9800 |00fe: invoke-interface {v8, v9}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0733 │ │ +01734a: 7100 2707 0000 |0101: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0727 │ │ +017350: 0c08 |0104: move-result-object v8 │ │ +017352: 2209 2d01 |0105: new-instance v9, Ljava/lang/StringBuilder; // type@012d │ │ +017356: 7010 a905 0900 |0107: invoke-direct {v9}, Ljava/lang/StringBuilder;.:()V // method@05a9 │ │ +01735c: 1a0a 1603 |010a: const-string v10, "Length:" // string@0316 │ │ +017360: 6e20 af05 a900 |010c: invoke-virtual {v9, v10}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +017366: 6e10 b604 0700 |010f: invoke-virtual {v7}, Lip/IPPacket;.getLength:()I // method@04b6 │ │ +01736c: 0a0a |0112: move-result v10 │ │ +01736e: 6e20 ac05 a900 |0113: invoke-virtual {v9, v10}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@05ac │ │ +017374: 6e10 b105 0900 |0116: invoke-virtual {v9}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ +01737a: 0c09 |0119: move-result-object v9 │ │ +01737c: 7220 3307 9800 |011a: invoke-interface {v8, v9}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0733 │ │ +017382: 6e10 b804 0700 |011d: invoke-virtual {v7}, Lip/IPPacket;.getProt:()I // method@04b8 │ │ +017388: 0a08 |0120: move-result v8 │ │ +01738a: 3908 6d00 |0121: if-nez v8, 018e // +006d │ │ +01738e: 7100 2707 0000 |0123: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0727 │ │ +017394: 0c08 |0126: move-result-object v8 │ │ +017396: 1a09 b601 |0127: const-string v9, "Hopp by hopp header" // string@01b6 │ │ +01739a: 7220 3307 9800 |0129: invoke-interface {v8, v9}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0733 │ │ +0173a0: 7100 2707 0000 |012c: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0727 │ │ +0173a6: 0c08 |012f: move-result-object v8 │ │ +0173a8: 2209 2d01 |0130: new-instance v9, Ljava/lang/StringBuilder; // type@012d │ │ +0173ac: 7010 a905 0900 |0132: invoke-direct {v9}, Ljava/lang/StringBuilder;.:()V // method@05a9 │ │ +0173b2: 1a0a ed03 |0135: const-string v10, "NextHeader:" // string@03ed │ │ +0173b6: 6e20 af05 a900 |0137: invoke-virtual {v9, v10}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +0173bc: 130a 2800 |013a: const/16 v10, #int 40 // #28 │ │ +0173c0: 480b 020a |013c: aget-byte v11, v2, v10 │ │ +0173c4: d5bb ff00 |013e: and-int/lit16 v11, v11, #int 255 // #00ff │ │ +0173c8: 6e20 ac05 b900 |0140: invoke-virtual {v9, v11}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@05ac │ │ +0173ce: 6e10 b105 0900 |0143: invoke-virtual {v9}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ +0173d4: 0c09 |0146: move-result-object v9 │ │ +0173d6: 7220 3307 9800 |0147: invoke-interface {v8, v9}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0733 │ │ +0173dc: 7100 2707 0000 |014a: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0727 │ │ +0173e2: 0c08 |014d: move-result-object v8 │ │ +0173e4: 2209 2d01 |014e: new-instance v9, Ljava/lang/StringBuilder; // type@012d │ │ +0173e8: 7010 a905 0900 |0150: invoke-direct {v9}, Ljava/lang/StringBuilder;.:()V // method@05a9 │ │ +0173ee: 1a0b b201 |0153: const-string v11, "Hdr Ext Len:" // string@01b2 │ │ +0173f2: 6e20 af05 b900 |0155: invoke-virtual {v9, v11}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +0173f8: 130b 2900 |0158: const/16 v11, #int 41 // #29 │ │ +0173fc: 480b 020b |015a: aget-byte v11, v2, v11 │ │ +017400: d5bb ff00 |015c: and-int/lit16 v11, v11, #int 255 // #00ff │ │ +017404: 6e20 ac05 b900 |015e: invoke-virtual {v9, v11}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@05ac │ │ +01740a: 6e10 b105 0900 |0161: invoke-virtual {v9}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ +017410: 0c09 |0164: move-result-object v9 │ │ +017412: 7220 3307 9800 |0165: invoke-interface {v8, v9}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0733 │ │ +017418: 4808 020a |0168: aget-byte v8, v2, v10 │ │ +01741c: d588 ff00 |016a: and-int/lit16 v8, v8, #int 255 // #00ff │ │ +017420: 1309 3a00 |016c: const/16 v9, #int 58 // #3a │ │ +017424: 3398 2000 |016e: if-ne v8, v9, 018e // +0020 │ │ +017428: 7100 2707 0000 |0170: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0727 │ │ +01742e: 0c08 |0173: move-result-object v8 │ │ +017430: 2209 2d01 |0174: new-instance v9, Ljava/lang/StringBuilder; // type@012d │ │ +017434: 7010 a905 0900 |0176: invoke-direct {v9}, Ljava/lang/StringBuilder;.:()V // method@05a9 │ │ +01743a: 1a0a 2304 |0179: const-string v10, "Received ICMP IPV6 packet type:" // string@0423 │ │ +01743e: 6e20 af05 a900 |017b: invoke-virtual {v9, v10}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +017444: 130a 3000 |017e: const/16 v10, #int 48 // #30 │ │ +017448: 480a 020a |0180: aget-byte v10, v2, v10 │ │ +01744c: d5aa ff00 |0182: and-int/lit16 v10, v10, #int 255 // #00ff │ │ +017450: 6e20 ac05 a900 |0184: invoke-virtual {v9, v10}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@05ac │ │ +017456: 6e10 b105 0900 |0187: invoke-virtual {v9}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ +01745c: 0c09 |018a: move-result-object v9 │ │ +01745e: 7220 3307 9800 |018b: invoke-interface {v8, v9}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0733 │ │ +017464: 6e10 ae04 0700 |018e: invoke-virtual {v7}, Lip/IPPacket;.checkCheckSum:()I // method@04ae │ │ +01746a: 0a08 |0191: move-result v8 │ │ +01746c: 3908 5800 |0192: if-nez v8, 01ea // +0058 │ │ +017470: 6e10 b804 0700 |0194: invoke-virtual {v7}, Lip/IPPacket;.getProt:()I // method@04b8 │ │ +017476: 0a08 |0197: move-result v8 │ │ +017478: 3358 2400 |0198: if-ne v8, v5, 01bc // +0024 │ │ +01747c: 6305 0f01 |019a: sget-boolean v5, Ldnsfilter/android/DNSProxyActivity;.debug:Z // field@010f │ │ +017480: 3805 2000 |019c: if-eqz v5, 01bc // +0020 │ │ +017484: 7100 2707 0000 |019e: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0727 │ │ +01748a: 0c05 |01a1: move-result-object v5 │ │ +01748c: 2208 2d01 |01a2: new-instance v8, Ljava/lang/StringBuilder; // type@012d │ │ +017490: 7010 a905 0800 |01a4: invoke-direct {v8}, Ljava/lang/StringBuilder;.:()V // method@05a9 │ │ +017496: 1a09 2404 |01a7: const-string v9, "Received ICMP packet type:" // string@0424 │ │ +01749a: 6e20 af05 9800 |01a9: invoke-virtual {v8, v9}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +0174a0: 1309 1400 |01ac: const/16 v9, #int 20 // #14 │ │ +0174a4: 4809 0209 |01ae: aget-byte v9, v2, v9 │ │ +0174a8: d599 ff00 |01b0: and-int/lit16 v9, v9, #int 255 // #00ff │ │ +0174ac: 6e20 ac05 9800 |01b2: invoke-virtual {v8, v9}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@05ac │ │ +0174b2: 6e10 b105 0800 |01b5: invoke-virtual {v8}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ +0174b8: 0c08 |01b8: move-result-object v8 │ │ +0174ba: 7220 3307 8500 |01b9: invoke-interface {v5, v8}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0733 │ │ +0174c0: 6e10 b804 0700 |01bc: invoke-virtual {v7}, Lip/IPPacket;.getProt:()I // method@04b8 │ │ +0174c6: 0a05 |01bf: move-result v5 │ │ +0174c8: 1307 1100 |01c0: const/16 v7, #int 17 // #11 │ │ +0174cc: 3375 7cfe |01c2: if-ne v5, v7, 003e // -0184 │ │ +0174d0: 2205 f100 |01c4: new-instance v5, Lip/UDPPacket; // type@00f1 │ │ +0174d4: 7040 c104 2536 |01c6: invoke-direct {v5, v2, v6, v3}, Lip/UDPPacket;.:([BII)V // method@04c1 │ │ +0174da: 6e10 c304 0500 |01c9: invoke-virtual {v5}, Lip/UDPPacket;.checkCheckSum:()I // method@04c3 │ │ +0174e0: 0a02 |01cc: move-result v2 │ │ +0174e2: 3902 1500 |01cd: if-nez v2, 01e2 // +0015 │ │ +0174e6: 3904 6ffe |01cf: if-nez v4, 003e // -0191 │ │ +0174ea: 2202 2f01 |01d1: new-instance v2, Ljava/lang/Thread; // type@012f │ │ +0174ee: 2203 8e00 |01d3: new-instance v3, Ldnsfilter/DNSResolver; // type@008e │ │ +0174f2: 54c4 b100 |01d5: iget-object v4, v12, Ldnsfilter/android/DNSFilterService$VPNRunner;.out:Ljava/io/FileOutputStream; // field@00b1 │ │ +0174f6: 7030 d001 5304 |01d7: invoke-direct {v3, v5, v4}, Ldnsfilter/DNSResolver;.:(Lip/UDPPacket;Ljava/io/OutputStream;)V // method@01d0 │ │ +0174fc: 7020 b605 3200 |01da: invoke-direct {v2, v3}, Ljava/lang/Thread;.:(Ljava/lang/Runnable;)V // method@05b6 │ │ +017502: 6e10 bc05 0200 |01dd: invoke-virtual {v2}, Ljava/lang/Thread;.start:()V // method@05bc │ │ +017508: 2900 5efe |01e0: goto/16 003e // -01a2 │ │ +01750c: 2202 0001 |01e2: new-instance v2, Ljava/io/IOException; // type@0100 │ │ +017510: 1a03 8104 |01e4: const-string v3, "UDP packet checksum error!" // string@0481 │ │ +017514: 7020 2105 3200 |01e6: invoke-direct {v2, v3}, Ljava/io/IOException;.:(Ljava/lang/String;)V // method@0521 │ │ +01751a: 2702 |01e9: throw v2 │ │ +01751c: 2202 0001 |01ea: new-instance v2, Ljava/io/IOException; // type@0100 │ │ +017520: 1a03 d701 |01ec: const-string v3, "IP header checksum error!" // string@01d7 │ │ +017524: 7020 2105 3200 |01ee: invoke-direct {v2, v3}, Ljava/io/IOException;.:(Ljava/lang/String;)V // method@0521 │ │ +01752a: 2702 |01f1: throw v2 │ │ +01752c: 0d02 |01f2: move-exception v2 │ │ +01752e: 7100 2707 0000 |01f3: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0727 │ │ +017534: 0c03 |01f6: move-result-object v3 │ │ +017536: 7220 3207 2300 |01f7: invoke-interface {v3, v2}, Lutil/LoggerInterface;.logException:(Ljava/lang/Exception;)V // method@0732 │ │ +01753c: 2900 44fe |01fa: goto/16 003e // -01bc │ │ +017540: 0d02 |01fc: move-exception v2 │ │ +017542: 7100 2707 0000 |01fd: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0727 │ │ +017548: 0c03 |0200: move-result-object v3 │ │ +01754a: 2204 2d01 |0201: new-instance v4, Ljava/lang/StringBuilder; // type@012d │ │ +01754e: 7010 a905 0400 |0203: invoke-direct {v4}, Ljava/lang/StringBuilder;.:()V // method@05a9 │ │ +017554: 1a05 d401 |0206: const-string v5, "IOEXCEPTION: " // string@01d4 │ │ +017558: 6e20 af05 5400 |0208: invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +01755e: 6e10 2605 0200 |020b: invoke-virtual {v2}, Ljava/io/IOException;.toString:()Ljava/lang/String; // method@0526 │ │ +017564: 0c02 |020e: move-result-object v2 │ │ +017566: 6e20 af05 2400 |020f: invoke-virtual {v4, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +01756c: 6e10 b105 0400 |0212: invoke-virtual {v4}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ +017572: 0c02 |0215: move-result-object v2 │ │ +017574: 7220 3307 2300 |0216: invoke-interface {v3, v2}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0733 │ │ +01757a: 2900 25fe |0219: goto/16 003e // -01db │ │ +01757e: 54c2 b300 |021b: iget-object v2, v12, Ldnsfilter/android/DNSFilterService$VPNRunner;.this$0:Ldnsfilter/android/DNSFilterService; // field@00b3 │ │ +017582: 7110 9102 0200 |021d: invoke-static {v2}, Ldnsfilter/android/DNSFilterService;.access$400:(Ldnsfilter/android/DNSFilterService;)Z // method@0291 │ │ +017588: 0a02 |0220: move-result v2 │ │ +01758a: 3902 1dfe |0221: if-nez v2, 003e // -01e3 │ │ +01758e: 1602 e803 |0223: const-wide/16 v2, #int 1000 // #3e8 │ │ +017592: 7120 bb05 3200 |0225: invoke-static {v2, v3}, Ljava/lang/Thread;.sleep:(J)V // method@05bb │ │ +017598: 2900 16fe |0228: goto/16 003e // -01ea │ │ +01759c: 0d00 |022a: move-exception v0 │ │ +01759e: 55c2 b200 |022b: iget-boolean v2, v12, Ldnsfilter/android/DNSFilterService$VPNRunner;.stopped:Z // field@00b2 │ │ +0175a2: 3902 1200 |022d: if-nez v2, 023f // +0012 │ │ +0175a6: 7100 2707 0000 |022f: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0727 │ │ +0175ac: 0c02 |0232: move-result-object v2 │ │ +0175ae: 1a03 cd04 |0233: const-string v3, "VPN);Runner died!" // string@04cd │ │ +0175b2: 7220 3307 3200 |0235: invoke-interface {v2, v3}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0733 │ │ +0175b8: 7100 2707 0000 |0238: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0727 │ │ +0175be: 0c02 |023b: move-result-object v2 │ │ +0175c0: 7220 3207 0200 |023c: invoke-interface {v2, v0}, Lutil/LoggerInterface;.logException:(Ljava/lang/Exception;)V // method@0732 │ │ +0175c6: 55c0 ae00 |023f: iget-boolean v0, v12, Ldnsfilter/android/DNSFilterService$VPNRunner;.explicitOperation:Z // field@00ae │ │ +0175ca: 3900 0600 |0241: if-nez v0, 0247 // +0006 │ │ +0175ce: 6300 0f01 |0243: sget-boolean v0, Ldnsfilter/android/DNSProxyActivity;.debug:Z // field@010f │ │ +0175d2: 3800 1c00 |0245: if-eqz v0, 0261 // +001c │ │ +0175d6: 7100 2707 0000 |0247: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0727 │ │ +0175dc: 0c00 |024a: move-result-object v0 │ │ +0175de: 2202 2d01 |024b: new-instance v2, Ljava/lang/StringBuilder; // type@012d │ │ +0175e2: 7020 aa05 1200 |024d: invoke-direct {v2, v1}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05aa │ │ +0175e8: 52c1 af00 |0250: iget v1, v12, Ldnsfilter/android/DNSFilterService$VPNRunner;.id:I // field@00af │ │ +0175ec: 6e20 ac05 1200 |0252: invoke-virtual {v2, v1}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@05ac │ │ +0175f2: 1a01 2700 |0255: const-string v1, " terminated!" // string@0027 │ │ +0175f6: 6e20 af05 1200 |0257: invoke-virtual {v2, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +0175fc: 6e10 b105 0200 |025a: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ +017602: 0c01 |025d: move-result-object v1 │ │ +017604: 7220 3307 1000 |025e: invoke-interface {v0, v1}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0733 │ │ +01760a: 0e00 |0261: return-void │ │ catches : 3 │ │ 0x002a - 0x0074 │ │ Ljava/lang/Exception; -> 0x022a │ │ 0x0079 - 0x01f2 │ │ Ljava/io/IOException; -> 0x01fc │ │ Ljava/lang/Exception; -> 0x01f2 │ │ 0x01f3 - 0x0228 │ │ @@ -12265,23 +12265,23 @@ │ │ type : '()V' │ │ access : 0x10008 (STATIC CONSTRUCTOR) │ │ code - │ │ registers : 1 │ │ ins : 0 │ │ outs : 1 │ │ insns size : 15 16-bit code units │ │ -018604: |[018604] dnsfilter.android.DNSFilterService.:()V │ │ -018614: 2200 a200 |0000: new-instance v0, Ldnsfilter/android/DNSFilterService$DNSReqForwarder; // type@00a2 │ │ -018618: 7010 7e02 0000 |0002: invoke-direct {v0}, Ldnsfilter/android/DNSFilterService$DNSReqForwarder;.:()V // method@027e │ │ -01861e: 6900 c600 |0005: sput-object v0, Ldnsfilter/android/DNSFilterService;.dnsReqForwarder:Ldnsfilter/android/DNSFilterService$DNSReqForwarder; // field@00c6 │ │ -018622: 1200 |0007: const/4 v0, #int 0 // #0 │ │ -018624: 6700 cf00 |0008: sput v0, Ldnsfilter/android/DNSFilterService;.startCounter:I // field@00cf │ │ -018628: 2300 ad01 |000a: new-array v0, v0, [Ljava/lang/String; // type@01ad │ │ -01862c: 6900 c800 |000c: sput-object v0, Ldnsfilter/android/DNSFilterService;.lastDNSServers:[Ljava/lang/String; // field@00c8 │ │ -018630: 0e00 |000e: return-void │ │ +018600: |[018600] dnsfilter.android.DNSFilterService.:()V │ │ +018610: 2200 a200 |0000: new-instance v0, Ldnsfilter/android/DNSFilterService$DNSReqForwarder; // type@00a2 │ │ +018614: 7010 7e02 0000 |0002: invoke-direct {v0}, Ldnsfilter/android/DNSFilterService$DNSReqForwarder;.:()V // method@027e │ │ +01861a: 6900 c600 |0005: sput-object v0, Ldnsfilter/android/DNSFilterService;.dnsReqForwarder:Ldnsfilter/android/DNSFilterService$DNSReqForwarder; // field@00c6 │ │ +01861e: 1200 |0007: const/4 v0, #int 0 // #0 │ │ +018620: 6700 cf00 |0008: sput v0, Ldnsfilter/android/DNSFilterService;.startCounter:I // field@00cf │ │ +018624: 2300 ad01 |000a: new-array v0, v0, [Ljava/lang/String; // type@01ad │ │ +018628: 6900 c800 |000c: sput-object v0, Ldnsfilter/android/DNSFilterService;.lastDNSServers:[Ljava/lang/String; // field@00c8 │ │ +01862c: 0e00 |000e: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=100 │ │ 0x0008 line=102 │ │ 0x000a line=480 │ │ locals : │ │ │ │ @@ -12290,23 +12290,23 @@ │ │ type : '()V' │ │ access : 0x10001 (PUBLIC CONSTRUCTOR) │ │ code - │ │ registers : 3 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 14 16-bit code units │ │ -018634: |[018634] dnsfilter.android.DNSFilterService.:()V │ │ -018644: 7010 7700 0200 |0000: invoke-direct {v2}, Landroid/net/VpnService;.:()V // method@0077 │ │ -01864a: 1200 |0003: const/4 v0, #int 0 // #0 │ │ -01864c: 5c20 c100 |0004: iput-boolean v0, v2, Ldnsfilter/android/DNSFilterService;.blocking:Z // field@00c1 │ │ -018650: 1201 |0006: const/4 v1, #int 0 // #0 │ │ -018652: 5b21 d100 |0007: iput-object v1, v2, Ldnsfilter/android/DNSFilterService;.vpnRunner:Ldnsfilter/android/DNSFilterService$VPNRunner; // field@00d1 │ │ -018656: 5c20 c900 |0009: iput-boolean v0, v2, Ldnsfilter/android/DNSFilterService;.manageDNSCryptProxy:Z // field@00c9 │ │ -01865a: 5c20 c200 |000b: iput-boolean v0, v2, Ldnsfilter/android/DNSFilterService;.dnsCryptProxyStartTriggered:Z // field@00c2 │ │ -01865e: 0e00 |000d: return-void │ │ +018630: |[018630] dnsfilter.android.DNSFilterService.:()V │ │ +018640: 7010 7700 0200 |0000: invoke-direct {v2}, Landroid/net/VpnService;.:()V // method@0077 │ │ +018646: 1200 |0003: const/4 v0, #int 0 // #0 │ │ +018648: 5c20 c100 |0004: iput-boolean v0, v2, Ldnsfilter/android/DNSFilterService;.blocking:Z // field@00c1 │ │ +01864c: 1201 |0006: const/4 v1, #int 0 // #0 │ │ +01864e: 5b21 d100 |0007: iput-object v1, v2, Ldnsfilter/android/DNSFilterService;.vpnRunner:Ldnsfilter/android/DNSFilterService$VPNRunner; // field@00d1 │ │ +018652: 5c20 c900 |0009: iput-boolean v0, v2, Ldnsfilter/android/DNSFilterService;.manageDNSCryptProxy:Z // field@00c9 │ │ +018656: 5c20 c200 |000b: iput-boolean v0, v2, Ldnsfilter/android/DNSFilterService;.dnsCryptProxyStartTriggered:Z // field@00c2 │ │ +01865a: 0e00 |000d: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=75 │ │ 0x0004 line=104 │ │ 0x0007 line=105 │ │ 0x0009 line=106 │ │ 0x000b line=107 │ │ @@ -12318,68 +12318,68 @@ │ │ type : '()Z' │ │ access : 0x1008 (STATIC SYNTHETIC) │ │ code - │ │ registers : 1 │ │ ins : 0 │ │ outs : 0 │ │ insns size : 3 16-bit code units │ │ -017b48: |[017b48] dnsfilter.android.DNSFilterService.access$000:()Z │ │ -017b58: 6300 cd00 |0000: sget-boolean v0, Ldnsfilter/android/DNSFilterService;.rootMode:Z // field@00cd │ │ -017b5c: 0f00 |0002: return v0 │ │ +017b44: |[017b44] dnsfilter.android.DNSFilterService.access$000:()Z │ │ +017b54: 6300 cd00 |0000: sget-boolean v0, Ldnsfilter/android/DNSFilterService;.rootMode:Z // field@00cd │ │ +017b58: 0f00 |0002: return v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=75 │ │ 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 │ │ -017b60: |[017b60] dnsfilter.android.DNSFilterService.access$100:()Z │ │ -017b70: 6300 c400 |0000: sget-boolean v0, Ldnsfilter/android/DNSFilterService;.dnsProxyOnlyLocal:Z // field@00c4 │ │ -017b74: 0f00 |0002: return v0 │ │ +017b5c: |[017b5c] dnsfilter.android.DNSFilterService.access$100:()Z │ │ +017b6c: 6300 c400 |0000: sget-boolean v0, Ldnsfilter/android/DNSFilterService;.dnsProxyOnlyLocal:Z // field@00c4 │ │ +017b70: 0f00 |0002: return v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=75 │ │ 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 │ │ -017e4c: |[017e4c] dnsfilter.android.DNSFilterService.access$200:()I │ │ -017e5c: 6000 c500 |0000: sget v0, Ldnsfilter/android/DNSFilterService;.dnsProxyPort:I // field@00c5 │ │ -017e60: 0f00 |0002: return v0 │ │ +017e48: |[017e48] dnsfilter.android.DNSFilterService.access$200:()I │ │ +017e58: 6000 c500 |0000: sget v0, Ldnsfilter/android/DNSFilterService;.dnsProxyPort:I // field@00c5 │ │ +017e5c: 0f00 |0002: return v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=75 │ │ 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 │ │ -018660: |[018660] dnsfilter.android.DNSFilterService.access$300:(ZLjava/lang/String;)V │ │ -018670: 7120 aa02 1000 |0000: invoke-static {v0, v1}, Ldnsfilter/android/DNSFilterService;.runOSCommand:(ZLjava/lang/String;)V // method@02aa │ │ -018676: 0e00 |0003: return-void │ │ +01865c: |[01865c] dnsfilter.android.DNSFilterService.access$300:(ZLjava/lang/String;)V │ │ +01866c: 7120 aa02 1000 |0000: invoke-static {v0, v1}, Ldnsfilter/android/DNSFilterService;.runOSCommand:(ZLjava/lang/String;)V // method@02aa │ │ +018672: 0e00 |0003: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=75 │ │ locals : │ │ 0x0000 - 0x0004 reg=0 (null) Z │ │ 0x0000 - 0x0004 reg=1 (null) Ljava/lang/String; │ │ │ │ @@ -12388,17 +12388,17 @@ │ │ type : '(Ldnsfilter/android/DNSFilterService;)Z' │ │ access : 0x1008 (STATIC SYNTHETIC) │ │ code - │ │ registers : 1 │ │ ins : 1 │ │ outs : 0 │ │ insns size : 3 16-bit code units │ │ -017b78: |[017b78] dnsfilter.android.DNSFilterService.access$400:(Ldnsfilter/android/DNSFilterService;)Z │ │ -017b88: 5500 c100 |0000: iget-boolean v0, v0, Ldnsfilter/android/DNSFilterService;.blocking:Z // field@00c1 │ │ -017b8c: 0f00 |0002: return v0 │ │ +017b74: |[017b74] dnsfilter.android.DNSFilterService.access$400:(Ldnsfilter/android/DNSFilterService;)Z │ │ +017b84: 5500 c100 |0000: iget-boolean v0, v0, Ldnsfilter/android/DNSFilterService;.blocking:Z // field@00c1 │ │ +017b88: 0f00 |0002: return v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=75 │ │ locals : │ │ 0x0000 - 0x0003 reg=0 (null) Ldnsfilter/android/DNSFilterService; │ │ │ │ #7 : (in Ldnsfilter/android/DNSFilterService;) │ │ @@ -12406,42 +12406,42 @@ │ │ type : '()V' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 5 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 55 16-bit code units │ │ -018678: |[018678] dnsfilter.android.DNSFilterService.clearPortRedir:()V │ │ -018688: 1a00 6308 |0000: const-string v0, "iptables -t nat -D PREROUTING -p udp --dport 53 -j REDIRECT --to-port " // string@0863 │ │ -01868c: 6301 ba00 |0002: sget-boolean v1, Ldnsfilter/android/DNSFilterService;.DNS_PROXY_PORT_IS_REDIRECTED:Z // field@00ba │ │ -018690: 3901 0300 |0004: if-nez v1, 0007 // +0003 │ │ -018694: 0e00 |0006: return-void │ │ -018696: 2201 2d01 |0007: new-instance v1, Ljava/lang/StringBuilder; // type@012d │ │ -01869a: 7020 aa05 0100 |0009: invoke-direct {v1, v0}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05aa │ │ -0186a0: 6000 c500 |000c: sget v0, Ldnsfilter/android/DNSFilterService;.dnsProxyPort:I // field@00c5 │ │ -0186a4: 6e20 ac05 0100 |000e: invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@05ac │ │ -0186aa: 6e10 b105 0100 |0011: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ -0186b0: 0c00 |0014: move-result-object v0 │ │ -0186b2: 1201 |0015: const/4 v1, #int 0 // #0 │ │ -0186b4: 7120 aa02 0100 |0016: invoke-static {v1, v0}, Ldnsfilter/android/DNSFilterService;.runOSCommand:(ZLjava/lang/String;)V // method@02aa │ │ -0186ba: 6a01 ba00 |0019: sput-boolean v1, Ldnsfilter/android/DNSFilterService;.DNS_PROXY_PORT_IS_REDIRECTED:Z // field@00ba │ │ -0186be: 281b |001b: goto 0036 // +001b │ │ -0186c0: 0d00 |001c: move-exception v0 │ │ -0186c2: 7100 2707 0000 |001d: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0727 │ │ -0186c8: 0c01 |0020: move-result-object v1 │ │ -0186ca: 2202 2d01 |0021: new-instance v2, Ljava/lang/StringBuilder; // type@012d │ │ -0186ce: 1a03 8e01 |0023: const-string v3, "Exception when clearing port redirection:" // string@018e │ │ -0186d2: 7020 aa05 3200 |0025: invoke-direct {v2, v3}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05aa │ │ -0186d8: 6e10 6105 0000 |0028: invoke-virtual {v0}, Ljava/lang/Exception;.toString:()Ljava/lang/String; // method@0561 │ │ -0186de: 0c00 |002b: move-result-object v0 │ │ -0186e0: 6e20 af05 0200 |002c: invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -0186e6: 6e10 b105 0200 |002f: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ -0186ec: 0c00 |0032: move-result-object v0 │ │ -0186ee: 7220 3307 0100 |0033: invoke-interface {v1, v0}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0733 │ │ -0186f4: 0e00 |0036: return-void │ │ +018674: |[018674] dnsfilter.android.DNSFilterService.clearPortRedir:()V │ │ +018684: 1a00 6308 |0000: const-string v0, "iptables -t nat -D PREROUTING -p udp --dport 53 -j REDIRECT --to-port " // string@0863 │ │ +018688: 6301 ba00 |0002: sget-boolean v1, Ldnsfilter/android/DNSFilterService;.DNS_PROXY_PORT_IS_REDIRECTED:Z // field@00ba │ │ +01868c: 3901 0300 |0004: if-nez v1, 0007 // +0003 │ │ +018690: 0e00 |0006: return-void │ │ +018692: 2201 2d01 |0007: new-instance v1, Ljava/lang/StringBuilder; // type@012d │ │ +018696: 7020 aa05 0100 |0009: invoke-direct {v1, v0}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05aa │ │ +01869c: 6000 c500 |000c: sget v0, Ldnsfilter/android/DNSFilterService;.dnsProxyPort:I // field@00c5 │ │ +0186a0: 6e20 ac05 0100 |000e: invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@05ac │ │ +0186a6: 6e10 b105 0100 |0011: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ +0186ac: 0c00 |0014: move-result-object v0 │ │ +0186ae: 1201 |0015: const/4 v1, #int 0 // #0 │ │ +0186b0: 7120 aa02 0100 |0016: invoke-static {v1, v0}, Ldnsfilter/android/DNSFilterService;.runOSCommand:(ZLjava/lang/String;)V // method@02aa │ │ +0186b6: 6a01 ba00 |0019: sput-boolean v1, Ldnsfilter/android/DNSFilterService;.DNS_PROXY_PORT_IS_REDIRECTED:Z // field@00ba │ │ +0186ba: 281b |001b: goto 0036 // +001b │ │ +0186bc: 0d00 |001c: move-exception v0 │ │ +0186be: 7100 2707 0000 |001d: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0727 │ │ +0186c4: 0c01 |0020: move-result-object v1 │ │ +0186c6: 2202 2d01 |0021: new-instance v2, Ljava/lang/StringBuilder; // type@012d │ │ +0186ca: 1a03 8e01 |0023: const-string v3, "Exception when clearing port redirection:" // string@018e │ │ +0186ce: 7020 aa05 3200 |0025: invoke-direct {v2, v3}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05aa │ │ +0186d4: 6e10 6105 0000 |0028: invoke-virtual {v0}, Ljava/lang/Exception;.toString:()Ljava/lang/String; // method@0561 │ │ +0186da: 0c00 |002b: move-result-object v0 │ │ +0186dc: 6e20 af05 0200 |002c: invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +0186e2: 6e10 b105 0200 |002f: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ +0186e8: 0c00 |0032: move-result-object v0 │ │ +0186ea: 7220 3307 0100 |0033: invoke-interface {v1, v0}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0733 │ │ +0186f0: 0e00 |0036: return-void │ │ catches : 1 │ │ 0x0007 - 0x001b │ │ Ljava/lang/Exception; -> 0x001c │ │ positions : │ │ 0x0002 line=868 │ │ 0x0007 line=871 │ │ 0x0019 line=872 │ │ @@ -12454,30 +12454,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 │ │ -018708: |[018708] dnsfilter.android.DNSFilterService.excludeApp:(Ljava/lang/String;Landroid/net/VpnService$Builder;)V │ │ -018718: 7120 6002 3400 |0000: invoke-static {v4, v3}, Ldnsfilter/android/BootUpReceiver$$ExternalSyntheticApiModelOutline0;.m:(Landroid/net/VpnService$Builder;Ljava/lang/String;)Landroid/net/VpnService$Builder; // method@0260 │ │ -01871e: 281b |0003: goto 001e // +001b │ │ -018720: 0d03 |0004: move-exception v3 │ │ -018722: 7100 2707 0000 |0005: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0727 │ │ -018728: 0c04 |0008: move-result-object v4 │ │ -01872a: 2200 2d01 |0009: new-instance v0, Ljava/lang/StringBuilder; // type@012d │ │ -01872e: 1a01 7b01 |000b: const-string v1, "Error during app whitelisting:" // string@017b │ │ -018732: 7020 aa05 1000 |000d: invoke-direct {v0, v1}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05aa │ │ -018738: 6e10 5200 0300 |0010: invoke-virtual {v3}, Landroid/content/pm/PackageManager$NameNotFoundException;.getMessage:()Ljava/lang/String; // method@0052 │ │ -01873e: 0c03 |0013: move-result-object v3 │ │ -018740: 6e20 af05 3000 |0014: invoke-virtual {v0, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -018746: 6e10 b105 0000 |0017: invoke-virtual {v0}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ -01874c: 0c03 |001a: move-result-object v3 │ │ -01874e: 7220 3307 3400 |001b: invoke-interface {v4, v3}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0733 │ │ -018754: 0e00 |001e: return-void │ │ +018704: |[018704] dnsfilter.android.DNSFilterService.excludeApp:(Ljava/lang/String;Landroid/net/VpnService$Builder;)V │ │ +018714: 7120 6002 3400 |0000: invoke-static {v4, v3}, Ldnsfilter/android/BootUpReceiver$$ExternalSyntheticApiModelOutline0;.m:(Landroid/net/VpnService$Builder;Ljava/lang/String;)Landroid/net/VpnService$Builder; // method@0260 │ │ +01871a: 281b |0003: goto 001e // +001b │ │ +01871c: 0d03 |0004: move-exception v3 │ │ +01871e: 7100 2707 0000 |0005: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0727 │ │ +018724: 0c04 |0008: move-result-object v4 │ │ +018726: 2200 2d01 |0009: new-instance v0, Ljava/lang/StringBuilder; // type@012d │ │ +01872a: 1a01 7b01 |000b: const-string v1, "Error during app whitelisting:" // string@017b │ │ +01872e: 7020 aa05 1000 |000d: invoke-direct {v0, v1}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05aa │ │ +018734: 6e10 5200 0300 |0010: invoke-virtual {v3}, Landroid/content/pm/PackageManager$NameNotFoundException;.getMessage:()Ljava/lang/String; // method@0052 │ │ +01873a: 0c03 |0013: move-result-object v3 │ │ +01873c: 6e20 af05 3000 |0014: invoke-virtual {v0, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +018742: 6e10 b105 0000 |0017: invoke-virtual {v0}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ +018748: 0c03 |001a: move-result-object v3 │ │ +01874a: 7220 3307 3400 |001b: invoke-interface {v4, v3}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0733 │ │ +018750: 0e00 |001e: return-void │ │ catches : 1 │ │ 0x0000 - 0x0003 │ │ Landroid/content/pm/PackageManager$NameNotFoundException; -> 0x0004 │ │ positions : │ │ 0x0000 line=937 │ │ 0x0005 line=939 │ │ locals : │ │ @@ -12490,65 +12490,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 │ │ -0176a4: |[0176a4] dnsfilter.android.DNSFilterService.getActiveNetwork:(Landroid/net/ConnectivityManager;)Landroid/net/Network; │ │ -0176b4: 6e10 6200 0700 |0000: invoke-virtual {v7}, Landroid/net/ConnectivityManager;.getActiveNetworkInfo:()Landroid/net/NetworkInfo; // method@0062 │ │ -0176ba: 0c00 |0003: move-result-object v0 │ │ -0176bc: 3800 4900 |0004: if-eqz v0, 004d // +0049 │ │ -0176c0: 7110 7002 0700 |0006: invoke-static {v7}, Ldnsfilter/android/BootUpReceiver$$ExternalSyntheticApiModelOutline0;.m:(Landroid/net/ConnectivityManager;)[Landroid/net/Network; // method@0270 │ │ -0176c6: 0c01 |0009: move-result-object v1 │ │ -0176c8: 2112 |000a: array-length v2, v1 │ │ -0176ca: 1203 |000b: const/4 v3, #int 0 // #0 │ │ -0176cc: 3523 4100 |000c: if-ge v3, v2, 004d // +0041 │ │ -0176d0: 4604 0103 |000e: aget-object v4, v1, v3 │ │ -0176d4: 7120 5f02 4700 |0010: invoke-static {v7, v4}, Ldnsfilter/android/BootUpReceiver$$ExternalSyntheticApiModelOutline0;.m:(Landroid/net/ConnectivityManager;Landroid/net/Network;)Landroid/net/NetworkInfo; // method@025f │ │ -0176da: 0c05 |0013: move-result-object v5 │ │ -0176dc: 3805 3600 |0014: if-eqz v5, 004a // +0036 │ │ -0176e0: 6e10 6900 0500 |0016: invoke-virtual {v5}, Landroid/net/NetworkInfo;.toString:()Ljava/lang/String; // method@0069 │ │ -0176e6: 0c06 |0019: move-result-object v6 │ │ -0176e8: 3806 3000 |001a: if-eqz v6, 004a // +0030 │ │ -0176ec: 6e10 6900 0500 |001c: invoke-virtual {v5}, Landroid/net/NetworkInfo;.toString:()Ljava/lang/String; // method@0069 │ │ -0176f2: 0c05 |001f: move-result-object v5 │ │ -0176f4: 6e10 6900 0000 |0020: invoke-virtual {v0}, Landroid/net/NetworkInfo;.toString:()Ljava/lang/String; // method@0069 │ │ -0176fa: 0c06 |0023: move-result-object v6 │ │ -0176fc: 6e20 8d05 6500 |0024: invoke-virtual {v5, v6}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058d │ │ -017702: 0a05 |0027: move-result v5 │ │ -017704: 3805 2200 |0028: if-eqz v5, 004a // +0022 │ │ -017708: 7100 d406 0000 |002a: invoke-static {}, Lutil/ExecutionEnvironment;.getEnvironment:()Lutil/ExecutionEnvironmentInterface; // method@06d4 │ │ -01770e: 0c07 |002d: move-result-object v7 │ │ -017710: 7210 e006 0700 |002e: invoke-interface {v7}, Lutil/ExecutionEnvironmentInterface;.debug:()Z // method@06e0 │ │ -017716: 0a07 |0031: move-result v7 │ │ -017718: 3807 1700 |0032: if-eqz v7, 0049 // +0017 │ │ -01771c: 7100 2707 0000 |0034: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0727 │ │ -017722: 0c07 |0037: move-result-object v7 │ │ -017724: 2200 2d01 |0038: new-instance v0, Ljava/lang/StringBuilder; // type@012d │ │ -017728: 1a01 a500 |003a: const-string v1, "ACTIVE NETWORK:" // string@00a5 │ │ -01772c: 7020 aa05 1000 |003c: invoke-direct {v0, v1}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05aa │ │ -017732: 6e20 ae05 4000 |003f: invoke-virtual {v0, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@05ae │ │ -017738: 6e10 b105 0000 |0042: invoke-virtual {v0}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ -01773e: 0c00 |0045: move-result-object v0 │ │ -017740: 7220 3307 0700 |0046: invoke-interface {v7, v0}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0733 │ │ -017746: 1104 |0049: return-object v4 │ │ -017748: d803 0301 |004a: add-int/lit8 v3, v3, #int 1 // #01 │ │ -01774c: 28c0 |004c: goto 000c // -0040 │ │ -01774e: 7100 d406 0000 |004d: invoke-static {}, Lutil/ExecutionEnvironment;.getEnvironment:()Lutil/ExecutionEnvironmentInterface; // method@06d4 │ │ -017754: 0c07 |0050: move-result-object v7 │ │ -017756: 7210 e006 0700 |0051: invoke-interface {v7}, Lutil/ExecutionEnvironmentInterface;.debug:()Z // method@06e0 │ │ -01775c: 0a07 |0054: move-result v7 │ │ -01775e: 3807 0b00 |0055: if-eqz v7, 0060 // +000b │ │ -017762: 7100 2707 0000 |0057: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0727 │ │ -017768: 0c07 |005a: move-result-object v7 │ │ -01776a: 1a00 a600 |005b: const-string v0, "ACTIVE NETWORK: NULL" // string@00a6 │ │ -01776e: 7220 3307 0700 |005d: invoke-interface {v7, v0}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0733 │ │ -017774: 1207 |0060: const/4 v7, #int 0 // #0 │ │ -017776: 1107 |0061: return-object v7 │ │ +0176a0: |[0176a0] dnsfilter.android.DNSFilterService.getActiveNetwork:(Landroid/net/ConnectivityManager;)Landroid/net/Network; │ │ +0176b0: 6e10 6200 0700 |0000: invoke-virtual {v7}, Landroid/net/ConnectivityManager;.getActiveNetworkInfo:()Landroid/net/NetworkInfo; // method@0062 │ │ +0176b6: 0c00 |0003: move-result-object v0 │ │ +0176b8: 3800 4900 |0004: if-eqz v0, 004d // +0049 │ │ +0176bc: 7110 7002 0700 |0006: invoke-static {v7}, Ldnsfilter/android/BootUpReceiver$$ExternalSyntheticApiModelOutline0;.m:(Landroid/net/ConnectivityManager;)[Landroid/net/Network; // method@0270 │ │ +0176c2: 0c01 |0009: move-result-object v1 │ │ +0176c4: 2112 |000a: array-length v2, v1 │ │ +0176c6: 1203 |000b: const/4 v3, #int 0 // #0 │ │ +0176c8: 3523 4100 |000c: if-ge v3, v2, 004d // +0041 │ │ +0176cc: 4604 0103 |000e: aget-object v4, v1, v3 │ │ +0176d0: 7120 5f02 4700 |0010: invoke-static {v7, v4}, Ldnsfilter/android/BootUpReceiver$$ExternalSyntheticApiModelOutline0;.m:(Landroid/net/ConnectivityManager;Landroid/net/Network;)Landroid/net/NetworkInfo; // method@025f │ │ +0176d6: 0c05 |0013: move-result-object v5 │ │ +0176d8: 3805 3600 |0014: if-eqz v5, 004a // +0036 │ │ +0176dc: 6e10 6900 0500 |0016: invoke-virtual {v5}, Landroid/net/NetworkInfo;.toString:()Ljava/lang/String; // method@0069 │ │ +0176e2: 0c06 |0019: move-result-object v6 │ │ +0176e4: 3806 3000 |001a: if-eqz v6, 004a // +0030 │ │ +0176e8: 6e10 6900 0500 |001c: invoke-virtual {v5}, Landroid/net/NetworkInfo;.toString:()Ljava/lang/String; // method@0069 │ │ +0176ee: 0c05 |001f: move-result-object v5 │ │ +0176f0: 6e10 6900 0000 |0020: invoke-virtual {v0}, Landroid/net/NetworkInfo;.toString:()Ljava/lang/String; // method@0069 │ │ +0176f6: 0c06 |0023: move-result-object v6 │ │ +0176f8: 6e20 8d05 6500 |0024: invoke-virtual {v5, v6}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058d │ │ +0176fe: 0a05 |0027: move-result v5 │ │ +017700: 3805 2200 |0028: if-eqz v5, 004a // +0022 │ │ +017704: 7100 d406 0000 |002a: invoke-static {}, Lutil/ExecutionEnvironment;.getEnvironment:()Lutil/ExecutionEnvironmentInterface; // method@06d4 │ │ +01770a: 0c07 |002d: move-result-object v7 │ │ +01770c: 7210 e006 0700 |002e: invoke-interface {v7}, Lutil/ExecutionEnvironmentInterface;.debug:()Z // method@06e0 │ │ +017712: 0a07 |0031: move-result v7 │ │ +017714: 3807 1700 |0032: if-eqz v7, 0049 // +0017 │ │ +017718: 7100 2707 0000 |0034: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0727 │ │ +01771e: 0c07 |0037: move-result-object v7 │ │ +017720: 2200 2d01 |0038: new-instance v0, Ljava/lang/StringBuilder; // type@012d │ │ +017724: 1a01 a500 |003a: const-string v1, "ACTIVE NETWORK:" // string@00a5 │ │ +017728: 7020 aa05 1000 |003c: invoke-direct {v0, v1}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05aa │ │ +01772e: 6e20 ae05 4000 |003f: invoke-virtual {v0, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@05ae │ │ +017734: 6e10 b105 0000 |0042: invoke-virtual {v0}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ +01773a: 0c00 |0045: move-result-object v0 │ │ +01773c: 7220 3307 0700 |0046: invoke-interface {v7, v0}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0733 │ │ +017742: 1104 |0049: return-object v4 │ │ +017744: d803 0301 |004a: add-int/lit8 v3, v3, #int 1 // #01 │ │ +017748: 28c0 |004c: goto 000c // -0040 │ │ +01774a: 7100 d406 0000 |004d: invoke-static {}, Lutil/ExecutionEnvironment;.getEnvironment:()Lutil/ExecutionEnvironmentInterface; // method@06d4 │ │ +017750: 0c07 |0050: move-result-object v7 │ │ +017752: 7210 e006 0700 |0051: invoke-interface {v7}, Lutil/ExecutionEnvironmentInterface;.debug:()Z // method@06e0 │ │ +017758: 0a07 |0054: move-result v7 │ │ +01775a: 3807 0b00 |0055: if-eqz v7, 0060 // +000b │ │ +01775e: 7100 2707 0000 |0057: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0727 │ │ +017764: 0c07 |005a: move-result-object v7 │ │ +017766: 1a00 a600 |005b: const-string v0, "ACTIVE NETWORK: NULL" // string@00a6 │ │ +01776a: 7220 3307 0700 |005d: invoke-interface {v7, v0}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0733 │ │ +017770: 1207 |0060: const/4 v7, #int 0 // #0 │ │ +017772: 1107 |0061: return-object v7 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=380 │ │ 0x0006 line=382 │ │ 0x000a line=383 │ │ 0x0010 line=384 │ │ 0x0016 line=385 │ │ @@ -12565,28 +12565,28 @@ │ │ type : '()Ljava/lang/String;' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 5 │ │ ins : 1 │ │ outs : 4 │ │ insns size : 26 16-bit code units │ │ -0182a8: |[0182a8] dnsfilter.android.DNSFilterService.getChannel:()Ljava/lang/String; │ │ -0182b8: 1a00 0709 |0000: const-string v0, "notification" // string@0907 │ │ -0182bc: 6e20 9a02 0400 |0002: invoke-virtual {v4, v0}, Ldnsfilter/android/DNSFilterService;.getSystemService:(Ljava/lang/String;)Ljava/lang/Object; // method@029a │ │ -0182c2: 0c00 |0005: move-result-object v0 │ │ -0182c4: 1f00 0f00 |0006: check-cast v0, Landroid/app/NotificationManager; // type@000f │ │ -0182c8: 6001 0200 |0008: sget v1, Landroid/os/Build$VERSION;.SDK_INT:I // field@0002 │ │ -0182cc: 1302 1a00 |000a: const/16 v2, #int 26 // #1a │ │ -0182d0: 1a03 2a01 |000c: const-string v3, "DNS Filter" // string@012a │ │ -0182d4: 3421 0b00 |000e: if-lt v1, v2, 0019 // +000b │ │ -0182d8: 2201 0e00 |0010: new-instance v1, Landroid/app/NotificationChannel; // type@000e │ │ -0182dc: 1232 |0012: const/4 v2, #int 3 // #3 │ │ -0182de: 7040 2a00 3123 |0013: invoke-direct {v1, v3, v3, v2}, Landroid/app/NotificationChannel;.:(Ljava/lang/String;Ljava/lang/CharSequence;I)V // method@002a │ │ -0182e4: 7120 6602 1000 |0016: invoke-static {v0, v1}, Ldnsfilter/android/BootUpReceiver$$ExternalSyntheticApiModelOutline0;.m:(Landroid/app/NotificationManager;Landroid/app/NotificationChannel;)V // method@0266 │ │ -0182ea: 1103 |0019: return-object v3 │ │ +0182a4: |[0182a4] dnsfilter.android.DNSFilterService.getChannel:()Ljava/lang/String; │ │ +0182b4: 1a00 0709 |0000: const-string v0, "notification" // string@0907 │ │ +0182b8: 6e20 9a02 0400 |0002: invoke-virtual {v4, v0}, Ldnsfilter/android/DNSFilterService;.getSystemService:(Ljava/lang/String;)Ljava/lang/Object; // method@029a │ │ +0182be: 0c00 |0005: move-result-object v0 │ │ +0182c0: 1f00 0f00 |0006: check-cast v0, Landroid/app/NotificationManager; // type@000f │ │ +0182c4: 6001 0200 |0008: sget v1, Landroid/os/Build$VERSION;.SDK_INT:I // field@0002 │ │ +0182c8: 1302 1a00 |000a: const/16 v2, #int 26 // #1a │ │ +0182cc: 1a03 2a01 |000c: const-string v3, "DNS Filter" // string@012a │ │ +0182d0: 3421 0b00 |000e: if-lt v1, v2, 0019 // +000b │ │ +0182d4: 2201 0e00 |0010: new-instance v1, Landroid/app/NotificationChannel; // type@000e │ │ +0182d8: 1232 |0012: const/4 v2, #int 3 // #3 │ │ +0182da: 7040 2a00 3123 |0013: invoke-direct {v1, v3, v3, v2}, Landroid/app/NotificationChannel;.:(Ljava/lang/String;Ljava/lang/CharSequence;I)V // method@002a │ │ +0182e0: 7120 6602 1000 |0016: invoke-static {v0, v1}, Ldnsfilter/android/BootUpReceiver$$ExternalSyntheticApiModelOutline0;.m:(Landroid/app/NotificationManager;Landroid/app/NotificationChannel;)V // method@0266 │ │ +0182e6: 1103 |0019: return-object v3 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=843 │ │ 0x0008 line=844 │ │ 0x0010 line=845 │ │ locals : │ │ 0x0000 - 0x001a reg=4 this Ldnsfilter/android/DNSFilterService; │ │ @@ -12596,41 +12596,41 @@ │ │ type : '()[Ljava/lang/String;' │ │ access : 0x000a (PRIVATE STATIC) │ │ code - │ │ registers : 3 │ │ ins : 0 │ │ outs : 2 │ │ insns size : 52 16-bit code units │ │ -0182ec: |[0182ec] dnsfilter.android.DNSFilterService.getDNSServers:()[Ljava/lang/String; │ │ -0182fc: 6300 0f01 |0000: sget-boolean v0, Ldnsfilter/android/DNSProxyActivity;.debug:Z // field@010f │ │ -018300: 3800 0b00 |0002: if-eqz v0, 000d // +000b │ │ -018304: 7100 2707 0000 |0004: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0727 │ │ -01830a: 0c00 |0007: move-result-object v0 │ │ -01830c: 1a01 6801 |0008: const-string v1, "Detecting DNS servers..." // string@0168 │ │ -018310: 7220 3307 1000 |000a: invoke-interface {v0, v1}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0733 │ │ -018316: 7100 9702 0000 |000d: invoke-static {}, Ldnsfilter/android/DNSFilterService;.getDNSviaConnectivityManager:()[Ljava/lang/String; // method@0297 │ │ -01831c: 0c00 |0010: move-result-object v0 │ │ -01831e: 2101 |0011: array-length v1, v0 │ │ -018320: 3901 1400 |0012: if-nez v1, 0026 // +0014 │ │ -018324: 6300 0f01 |0014: sget-boolean v0, Ldnsfilter/android/DNSProxyActivity;.debug:Z // field@010f │ │ -018328: 3800 0b00 |0016: if-eqz v0, 0021 // +000b │ │ -01832c: 7100 2707 0000 |0018: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0727 │ │ -018332: 0c00 |001b: move-result-object v0 │ │ -018334: 1a01 a201 |001c: const-string v1, "Fallback DNS detection via SystemProperties" // string@01a2 │ │ -018338: 7220 3307 1000 |001e: invoke-interface {v0, v1}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0733 │ │ -01833e: 7100 9802 0000 |0021: invoke-static {}, Ldnsfilter/android/DNSFilterService;.getDNSviaSysProps:()[Ljava/lang/String; // method@0298 │ │ -018344: 0c00 |0024: move-result-object v0 │ │ -018346: 280e |0025: goto 0033 // +000e │ │ -018348: 6301 0f01 |0026: sget-boolean v1, Ldnsfilter/android/DNSProxyActivity;.debug:Z // field@010f │ │ -01834c: 3801 0b00 |0028: if-eqz v1, 0033 // +000b │ │ -018350: 7100 2707 0000 |002a: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0727 │ │ -018356: 0c01 |002d: move-result-object v1 │ │ -018358: 1a02 2f01 |002e: const-string v2, "DNS detection via ConnectivityManager" // string@012f │ │ -01835c: 7220 3307 2100 |0030: invoke-interface {v1, v2}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0733 │ │ -018362: 1100 |0033: return-object v0 │ │ +0182e8: |[0182e8] dnsfilter.android.DNSFilterService.getDNSServers:()[Ljava/lang/String; │ │ +0182f8: 6300 0f01 |0000: sget-boolean v0, Ldnsfilter/android/DNSProxyActivity;.debug:Z // field@010f │ │ +0182fc: 3800 0b00 |0002: if-eqz v0, 000d // +000b │ │ +018300: 7100 2707 0000 |0004: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0727 │ │ +018306: 0c00 |0007: move-result-object v0 │ │ +018308: 1a01 6801 |0008: const-string v1, "Detecting DNS servers..." // string@0168 │ │ +01830c: 7220 3307 1000 |000a: invoke-interface {v0, v1}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0733 │ │ +018312: 7100 9702 0000 |000d: invoke-static {}, Ldnsfilter/android/DNSFilterService;.getDNSviaConnectivityManager:()[Ljava/lang/String; // method@0297 │ │ +018318: 0c00 |0010: move-result-object v0 │ │ +01831a: 2101 |0011: array-length v1, v0 │ │ +01831c: 3901 1400 |0012: if-nez v1, 0026 // +0014 │ │ +018320: 6300 0f01 |0014: sget-boolean v0, Ldnsfilter/android/DNSProxyActivity;.debug:Z // field@010f │ │ +018324: 3800 0b00 |0016: if-eqz v0, 0021 // +000b │ │ +018328: 7100 2707 0000 |0018: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0727 │ │ +01832e: 0c00 |001b: move-result-object v0 │ │ +018330: 1a01 a201 |001c: const-string v1, "Fallback DNS detection via SystemProperties" // string@01a2 │ │ +018334: 7220 3307 1000 |001e: invoke-interface {v0, v1}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0733 │ │ +01833a: 7100 9802 0000 |0021: invoke-static {}, Ldnsfilter/android/DNSFilterService;.getDNSviaSysProps:()[Ljava/lang/String; // method@0298 │ │ +018340: 0c00 |0024: move-result-object v0 │ │ +018342: 280e |0025: goto 0033 // +000e │ │ +018344: 6301 0f01 |0026: sget-boolean v1, Ldnsfilter/android/DNSProxyActivity;.debug:Z // field@010f │ │ +018348: 3801 0b00 |0028: if-eqz v1, 0033 // +000b │ │ +01834c: 7100 2707 0000 |002a: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0727 │ │ +018352: 0c01 |002d: move-result-object v1 │ │ +018354: 1a02 2f01 |002e: const-string v2, "DNS detection via ConnectivityManager" // string@012f │ │ +018358: 7220 3307 2100 |0030: invoke-interface {v1, v2}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0733 │ │ +01835e: 1100 |0033: return-object v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=463 │ │ 0x0004 line=464 │ │ 0x000d line=466 │ │ 0x0011 line=468 │ │ 0x0014 line=469 │ │ @@ -12645,108 +12645,108 @@ │ │ type : '()[Ljava/lang/String;' │ │ access : 0x000a (PRIVATE STATIC) │ │ code - │ │ registers : 7 │ │ ins : 0 │ │ outs : 2 │ │ insns size : 193 16-bit code units │ │ -018364: |[018364] dnsfilter.android.DNSFilterService.getDNSviaConnectivityManager:()[Ljava/lang/String; │ │ -018374: 6000 0200 |0000: sget v0, Landroid/os/Build$VERSION;.SDK_INT:I // field@0002 │ │ -018378: 1301 1500 |0002: const/16 v1, #int 21 // #15 │ │ -01837c: 1202 |0004: const/4 v2, #int 0 // #0 │ │ -01837e: 3510 0500 |0005: if-ge v0, v1, 000a // +0005 │ │ -018382: 2320 ad01 |0007: new-array v0, v2, [Ljava/lang/String; // type@01ad │ │ -018386: 1100 |0009: return-object v0 │ │ -018388: 6200 bb00 |000a: sget-object v0, Ldnsfilter/android/DNSFilterService;.INSTANCE:Ldnsfilter/android/DNSFilterService; // field@00bb │ │ -01838c: 3900 0500 |000c: if-nez v0, 0011 // +0005 │ │ -018390: 2320 ad01 |000e: new-array v0, v2, [Ljava/lang/String; // type@01ad │ │ -018394: 1100 |0010: return-object v0 │ │ -018396: 2201 5901 |0011: new-instance v1, Ljava/util/HashSet; // type@0159 │ │ -01839a: 7010 2f06 0100 |0013: invoke-direct {v1}, Ljava/util/HashSet;.:()V // method@062f │ │ -0183a0: 1a03 1506 |0016: const-string v3, "connectivity" // string@0615 │ │ -0183a4: 6e20 9a02 3000 |0018: invoke-virtual {v0, v3}, Ldnsfilter/android/DNSFilterService;.getSystemService:(Ljava/lang/String;)Ljava/lang/Object; // method@029a │ │ -0183aa: 0c00 |001b: move-result-object v0 │ │ -0183ac: 1f00 2900 |001c: check-cast v0, Landroid/net/ConnectivityManager; // type@0029 │ │ -0183b0: 7110 9402 0000 |001e: invoke-static {v0}, Ldnsfilter/android/DNSFilterService;.getActiveNetwork:(Landroid/net/ConnectivityManager;)Landroid/net/Network; // method@0294 │ │ -0183b6: 0c03 |0021: move-result-object v3 │ │ -0183b8: 3803 9200 |0022: if-eqz v3, 00b4 // +0092 │ │ -0183bc: 7120 5e02 3000 |0024: invoke-static {v0, v3}, Ldnsfilter/android/BootUpReceiver$$ExternalSyntheticApiModelOutline0;.m:(Landroid/net/ConnectivityManager;Landroid/net/Network;)Landroid/net/LinkProperties; // method@025e │ │ -0183c2: 0c00 |0027: move-result-object v0 │ │ -0183c4: 3800 7300 |0028: if-eqz v0, 009b // +0073 │ │ -0183c8: 7110 6502 0000 |002a: invoke-static {v0}, Ldnsfilter/android/BootUpReceiver$$ExternalSyntheticApiModelOutline0;.m:(Landroid/net/LinkProperties;)Ljava/util/List; // method@0265 │ │ -0183ce: 0c00 |002d: move-result-object v0 │ │ -0183d0: 7100 d406 0000 |002e: invoke-static {}, Lutil/ExecutionEnvironment;.getEnvironment:()Lutil/ExecutionEnvironmentInterface; // method@06d4 │ │ -0183d6: 0c03 |0031: move-result-object v3 │ │ -0183d8: 7210 e006 0300 |0032: invoke-interface {v3}, Lutil/ExecutionEnvironmentInterface;.debug:()Z // method@06e0 │ │ -0183de: 0a03 |0035: move-result v3 │ │ -0183e0: 3803 2000 |0036: if-eqz v3, 0056 // +0020 │ │ -0183e4: 7100 2707 0000 |0038: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0727 │ │ -0183ea: 0c03 |003b: move-result-object v3 │ │ -0183ec: 2204 2d01 |003c: new-instance v4, Ljava/lang/StringBuilder; // type@012d │ │ -0183f0: 1a05 9d01 |003e: const-string v5, "FOUND " // string@019d │ │ -0183f4: 7020 aa05 5400 |0040: invoke-direct {v4, v5}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05aa │ │ -0183fa: 7210 4f06 0000 |0043: invoke-interface {v0}, Ljava/util/List;.size:()I // method@064f │ │ -018400: 0a05 |0046: move-result v5 │ │ -018402: 6e20 ac05 5400 |0047: invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@05ac │ │ -018408: 1a05 1300 |004a: const-string v5, " DNS servers!" // string@0013 │ │ -01840c: 6e20 af05 5400 |004c: invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -018412: 6e10 b105 0400 |004f: invoke-virtual {v4}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ -018418: 0c04 |0052: move-result-object v4 │ │ -01841a: 7220 3307 4300 |0053: invoke-interface {v3, v4}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0733 │ │ -018420: 7210 4f06 0000 |0056: invoke-interface {v0}, Ljava/util/List;.size:()I // method@064f │ │ -018426: 0a03 |0059: move-result v3 │ │ -018428: 3532 5a00 |005a: if-ge v2, v3, 00b4 // +005a │ │ -01842c: 7220 4e06 2000 |005c: invoke-interface {v0, v2}, Ljava/util/List;.get:(I)Ljava/lang/Object; // method@064e │ │ -018432: 0c03 |005f: move-result-object v3 │ │ -018434: 1f03 3701 |0060: check-cast v3, Ljava/net/InetAddress; // type@0137 │ │ -018438: 6e10 d605 0300 |0062: invoke-virtual {v3}, Ljava/net/InetAddress;.getHostAddress:()Ljava/lang/String; // method@05d6 │ │ -01843e: 0c03 |0065: move-result-object v3 │ │ -018440: 7100 d406 0000 |0066: invoke-static {}, Lutil/ExecutionEnvironment;.getEnvironment:()Lutil/ExecutionEnvironmentInterface; // method@06d4 │ │ -018446: 0c04 |0069: move-result-object v4 │ │ -018448: 7210 e006 0400 |006a: invoke-interface {v4}, Lutil/ExecutionEnvironmentInterface;.debug:()Z // method@06e0 │ │ -01844e: 0a04 |006d: move-result v4 │ │ -018450: 3804 1700 |006e: if-eqz v4, 0085 // +0017 │ │ -018454: 7100 2707 0000 |0070: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0727 │ │ -01845a: 0c04 |0073: move-result-object v4 │ │ -01845c: 2205 2d01 |0074: new-instance v5, Ljava/lang/StringBuilder; // type@012d │ │ -018460: 1a06 9e01 |0076: const-string v6, "FOUND DNS " // string@019e │ │ -018464: 7020 aa05 6500 |0078: invoke-direct {v5, v6}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05aa │ │ -01846a: 6e20 af05 3500 |007b: invoke-virtual {v5, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -018470: 6e10 b105 0500 |007e: invoke-virtual {v5}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ -018476: 0c05 |0081: move-result-object v5 │ │ -018478: 7220 3307 5400 |0082: invoke-interface {v4, v5}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0733 │ │ -01847e: 6204 bf00 |0085: sget-object v4, Ldnsfilter/android/DNSFilterService;.VIRTUALDNS_IPV4:Ljava/lang/String; // field@00bf │ │ -018482: 6e20 8d05 4300 |0087: invoke-virtual {v3, v4}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058d │ │ -018488: 0a04 |008a: move-result v4 │ │ -01848a: 3904 0d00 |008b: if-nez v4, 0098 // +000d │ │ -01848e: 6204 c000 |008d: sget-object v4, Ldnsfilter/android/DNSFilterService;.VIRTUALDNS_IPV6:Ljava/lang/String; // field@00c0 │ │ -018492: 6e20 8d05 4300 |008f: invoke-virtual {v3, v4}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058d │ │ -018498: 0a04 |0092: move-result v4 │ │ -01849a: 3904 0500 |0093: if-nez v4, 0098 // +0005 │ │ -01849e: 6e20 3006 3100 |0095: invoke-virtual {v1, v3}, Ljava/util/HashSet;.add:(Ljava/lang/Object;)Z // method@0630 │ │ -0184a4: d802 0201 |0098: add-int/lit8 v2, v2, #int 1 // #01 │ │ -0184a8: 28bc |009a: goto 0056 // -0044 │ │ -0184aa: 7100 2707 0000 |009b: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0727 │ │ -0184b0: 0c00 |009e: move-result-object v0 │ │ -0184b2: 2202 2d01 |009f: new-instance v2, Ljava/lang/StringBuilder; // type@012d │ │ -0184b6: 1a04 db04 |00a1: const-string v4, "WARNING: Cannot get link properties for " // string@04db │ │ -0184ba: 7020 aa05 4200 |00a3: invoke-direct {v2, v4}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05aa │ │ -0184c0: 7110 6402 0300 |00a6: invoke-static {v3}, Ldnsfilter/android/BootUpReceiver$$ExternalSyntheticApiModelOutline0;.m:(Landroid/net/Network;)Ljava/lang/String; // method@0264 │ │ -0184c6: 0c03 |00a9: move-result-object v3 │ │ -0184c8: 6e20 af05 3200 |00aa: invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -0184ce: 6e10 b105 0200 |00ad: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ -0184d4: 0c02 |00b0: move-result-object v2 │ │ -0184d6: 7220 3307 2000 |00b1: invoke-interface {v0, v2}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0733 │ │ -0184dc: 6e10 3606 0100 |00b4: invoke-virtual {v1}, Ljava/util/HashSet;.size:()I // method@0636 │ │ -0184e2: 0a00 |00b7: move-result v0 │ │ -0184e4: 2300 ad01 |00b8: new-array v0, v0, [Ljava/lang/String; // type@01ad │ │ -0184e8: 6e20 3706 0100 |00ba: invoke-virtual {v1, v0}, Ljava/util/HashSet;.toArray:([Ljava/lang/Object;)[Ljava/lang/Object; // method@0637 │ │ -0184ee: 0c00 |00bd: move-result-object v0 │ │ -0184f0: 1f00 ad01 |00be: check-cast v0, [Ljava/lang/String; // type@01ad │ │ -0184f4: 1100 |00c0: return-object v0 │ │ +018360: |[018360] dnsfilter.android.DNSFilterService.getDNSviaConnectivityManager:()[Ljava/lang/String; │ │ +018370: 6000 0200 |0000: sget v0, Landroid/os/Build$VERSION;.SDK_INT:I // field@0002 │ │ +018374: 1301 1500 |0002: const/16 v1, #int 21 // #15 │ │ +018378: 1202 |0004: const/4 v2, #int 0 // #0 │ │ +01837a: 3510 0500 |0005: if-ge v0, v1, 000a // +0005 │ │ +01837e: 2320 ad01 |0007: new-array v0, v2, [Ljava/lang/String; // type@01ad │ │ +018382: 1100 |0009: return-object v0 │ │ +018384: 6200 bb00 |000a: sget-object v0, Ldnsfilter/android/DNSFilterService;.INSTANCE:Ldnsfilter/android/DNSFilterService; // field@00bb │ │ +018388: 3900 0500 |000c: if-nez v0, 0011 // +0005 │ │ +01838c: 2320 ad01 |000e: new-array v0, v2, [Ljava/lang/String; // type@01ad │ │ +018390: 1100 |0010: return-object v0 │ │ +018392: 2201 5901 |0011: new-instance v1, Ljava/util/HashSet; // type@0159 │ │ +018396: 7010 2f06 0100 |0013: invoke-direct {v1}, Ljava/util/HashSet;.:()V // method@062f │ │ +01839c: 1a03 1506 |0016: const-string v3, "connectivity" // string@0615 │ │ +0183a0: 6e20 9a02 3000 |0018: invoke-virtual {v0, v3}, Ldnsfilter/android/DNSFilterService;.getSystemService:(Ljava/lang/String;)Ljava/lang/Object; // method@029a │ │ +0183a6: 0c00 |001b: move-result-object v0 │ │ +0183a8: 1f00 2900 |001c: check-cast v0, Landroid/net/ConnectivityManager; // type@0029 │ │ +0183ac: 7110 9402 0000 |001e: invoke-static {v0}, Ldnsfilter/android/DNSFilterService;.getActiveNetwork:(Landroid/net/ConnectivityManager;)Landroid/net/Network; // method@0294 │ │ +0183b2: 0c03 |0021: move-result-object v3 │ │ +0183b4: 3803 9200 |0022: if-eqz v3, 00b4 // +0092 │ │ +0183b8: 7120 5e02 3000 |0024: invoke-static {v0, v3}, Ldnsfilter/android/BootUpReceiver$$ExternalSyntheticApiModelOutline0;.m:(Landroid/net/ConnectivityManager;Landroid/net/Network;)Landroid/net/LinkProperties; // method@025e │ │ +0183be: 0c00 |0027: move-result-object v0 │ │ +0183c0: 3800 7300 |0028: if-eqz v0, 009b // +0073 │ │ +0183c4: 7110 6502 0000 |002a: invoke-static {v0}, Ldnsfilter/android/BootUpReceiver$$ExternalSyntheticApiModelOutline0;.m:(Landroid/net/LinkProperties;)Ljava/util/List; // method@0265 │ │ +0183ca: 0c00 |002d: move-result-object v0 │ │ +0183cc: 7100 d406 0000 |002e: invoke-static {}, Lutil/ExecutionEnvironment;.getEnvironment:()Lutil/ExecutionEnvironmentInterface; // method@06d4 │ │ +0183d2: 0c03 |0031: move-result-object v3 │ │ +0183d4: 7210 e006 0300 |0032: invoke-interface {v3}, Lutil/ExecutionEnvironmentInterface;.debug:()Z // method@06e0 │ │ +0183da: 0a03 |0035: move-result v3 │ │ +0183dc: 3803 2000 |0036: if-eqz v3, 0056 // +0020 │ │ +0183e0: 7100 2707 0000 |0038: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0727 │ │ +0183e6: 0c03 |003b: move-result-object v3 │ │ +0183e8: 2204 2d01 |003c: new-instance v4, Ljava/lang/StringBuilder; // type@012d │ │ +0183ec: 1a05 9d01 |003e: const-string v5, "FOUND " // string@019d │ │ +0183f0: 7020 aa05 5400 |0040: invoke-direct {v4, v5}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05aa │ │ +0183f6: 7210 4f06 0000 |0043: invoke-interface {v0}, Ljava/util/List;.size:()I // method@064f │ │ +0183fc: 0a05 |0046: move-result v5 │ │ +0183fe: 6e20 ac05 5400 |0047: invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@05ac │ │ +018404: 1a05 1300 |004a: const-string v5, " DNS servers!" // string@0013 │ │ +018408: 6e20 af05 5400 |004c: invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +01840e: 6e10 b105 0400 |004f: invoke-virtual {v4}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ +018414: 0c04 |0052: move-result-object v4 │ │ +018416: 7220 3307 4300 |0053: invoke-interface {v3, v4}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0733 │ │ +01841c: 7210 4f06 0000 |0056: invoke-interface {v0}, Ljava/util/List;.size:()I // method@064f │ │ +018422: 0a03 |0059: move-result v3 │ │ +018424: 3532 5a00 |005a: if-ge v2, v3, 00b4 // +005a │ │ +018428: 7220 4e06 2000 |005c: invoke-interface {v0, v2}, Ljava/util/List;.get:(I)Ljava/lang/Object; // method@064e │ │ +01842e: 0c03 |005f: move-result-object v3 │ │ +018430: 1f03 3701 |0060: check-cast v3, Ljava/net/InetAddress; // type@0137 │ │ +018434: 6e10 d605 0300 |0062: invoke-virtual {v3}, Ljava/net/InetAddress;.getHostAddress:()Ljava/lang/String; // method@05d6 │ │ +01843a: 0c03 |0065: move-result-object v3 │ │ +01843c: 7100 d406 0000 |0066: invoke-static {}, Lutil/ExecutionEnvironment;.getEnvironment:()Lutil/ExecutionEnvironmentInterface; // method@06d4 │ │ +018442: 0c04 |0069: move-result-object v4 │ │ +018444: 7210 e006 0400 |006a: invoke-interface {v4}, Lutil/ExecutionEnvironmentInterface;.debug:()Z // method@06e0 │ │ +01844a: 0a04 |006d: move-result v4 │ │ +01844c: 3804 1700 |006e: if-eqz v4, 0085 // +0017 │ │ +018450: 7100 2707 0000 |0070: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0727 │ │ +018456: 0c04 |0073: move-result-object v4 │ │ +018458: 2205 2d01 |0074: new-instance v5, Ljava/lang/StringBuilder; // type@012d │ │ +01845c: 1a06 9e01 |0076: const-string v6, "FOUND DNS " // string@019e │ │ +018460: 7020 aa05 6500 |0078: invoke-direct {v5, v6}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05aa │ │ +018466: 6e20 af05 3500 |007b: invoke-virtual {v5, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +01846c: 6e10 b105 0500 |007e: invoke-virtual {v5}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ +018472: 0c05 |0081: move-result-object v5 │ │ +018474: 7220 3307 5400 |0082: invoke-interface {v4, v5}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0733 │ │ +01847a: 6204 bf00 |0085: sget-object v4, Ldnsfilter/android/DNSFilterService;.VIRTUALDNS_IPV4:Ljava/lang/String; // field@00bf │ │ +01847e: 6e20 8d05 4300 |0087: invoke-virtual {v3, v4}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058d │ │ +018484: 0a04 |008a: move-result v4 │ │ +018486: 3904 0d00 |008b: if-nez v4, 0098 // +000d │ │ +01848a: 6204 c000 |008d: sget-object v4, Ldnsfilter/android/DNSFilterService;.VIRTUALDNS_IPV6:Ljava/lang/String; // field@00c0 │ │ +01848e: 6e20 8d05 4300 |008f: invoke-virtual {v3, v4}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058d │ │ +018494: 0a04 |0092: move-result v4 │ │ +018496: 3904 0500 |0093: if-nez v4, 0098 // +0005 │ │ +01849a: 6e20 3006 3100 |0095: invoke-virtual {v1, v3}, Ljava/util/HashSet;.add:(Ljava/lang/Object;)Z // method@0630 │ │ +0184a0: d802 0201 |0098: add-int/lit8 v2, v2, #int 1 // #01 │ │ +0184a4: 28bc |009a: goto 0056 // -0044 │ │ +0184a6: 7100 2707 0000 |009b: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0727 │ │ +0184ac: 0c00 |009e: move-result-object v0 │ │ +0184ae: 2202 2d01 |009f: new-instance v2, Ljava/lang/StringBuilder; // type@012d │ │ +0184b2: 1a04 db04 |00a1: const-string v4, "WARNING: Cannot get link properties for " // string@04db │ │ +0184b6: 7020 aa05 4200 |00a3: invoke-direct {v2, v4}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05aa │ │ +0184bc: 7110 6402 0300 |00a6: invoke-static {v3}, Ldnsfilter/android/BootUpReceiver$$ExternalSyntheticApiModelOutline0;.m:(Landroid/net/Network;)Ljava/lang/String; // method@0264 │ │ +0184c2: 0c03 |00a9: move-result-object v3 │ │ +0184c4: 6e20 af05 3200 |00aa: invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +0184ca: 6e10 b105 0200 |00ad: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ +0184d0: 0c02 |00b0: move-result-object v2 │ │ +0184d2: 7220 3307 2000 |00b1: invoke-interface {v0, v2}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0733 │ │ +0184d8: 6e10 3606 0100 |00b4: invoke-virtual {v1}, Ljava/util/HashSet;.size:()I // method@0636 │ │ +0184de: 0a00 |00b7: move-result v0 │ │ +0184e0: 2300 ad01 |00b8: new-array v0, v0, [Ljava/lang/String; // type@01ad │ │ +0184e4: 6e20 3706 0100 |00ba: invoke-virtual {v1, v0}, Ljava/util/HashSet;.toArray:([Ljava/lang/Object;)[Ljava/lang/Object; // method@0637 │ │ +0184ea: 0c00 |00bd: move-result-object v0 │ │ +0184ec: 1f00 ad01 |00be: check-cast v0, [Ljava/lang/String; // type@01ad │ │ +0184f0: 1100 |00c0: return-object v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=404 │ │ 0x0007 line=405 │ │ 0x000a line=407 │ │ 0x000e line=409 │ │ 0x0011 line=411 │ │ @@ -12771,78 +12771,78 @@ │ │ type : '()[Ljava/lang/String;' │ │ access : 0x000a (PRIVATE STATIC) │ │ code - │ │ registers : 9 │ │ ins : 0 │ │ outs : 3 │ │ insns size : 118 16-bit code units │ │ -0184f8: |[0184f8] dnsfilter.android.DNSFilterService.getDNSviaSysProps:()[Ljava/lang/String; │ │ -018508: 1200 |0000: const/4 v0, #int 0 // #0 │ │ -01850a: 2201 5901 |0001: new-instance v1, Ljava/util/HashSet; // type@0159 │ │ -01850e: 7010 2f06 0100 |0003: invoke-direct {v1}, Ljava/util/HashSet;.:()V // method@062f │ │ -018514: 1a02 6405 |0006: const-string v2, "android.os.SystemProperties" // string@0564 │ │ -018518: 7110 5405 0200 |0008: invoke-static {v2}, Ljava/lang/Class;.forName:(Ljava/lang/String;)Ljava/lang/Class; // method@0554 │ │ -01851e: 0c02 |000b: move-result-object v2 │ │ -018520: 1a03 2007 |000c: const-string v3, "get" // string@0720 │ │ -018524: 1214 |000e: const/4 v4, #int 1 // #1 │ │ -018526: 2345 ab01 |000f: new-array v5, v4, [Ljava/lang/Class; // type@01ab │ │ -01852a: 1c06 2b01 |0011: const-class v6, Ljava/lang/String; // type@012b │ │ -01852e: 4d06 0500 |0013: aput-object v6, v5, v0 │ │ -018532: 6e30 5505 3205 |0015: invoke-virtual {v2, v3, v5}, Ljava/lang/Class;.getMethod:(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method; // method@0555 │ │ -018538: 0c02 |0018: move-result-object v2 │ │ -01853a: 1243 |0019: const/4 v3, #int 4 // #4 │ │ -01853c: 2335 ad01 |001a: new-array v5, v3, [Ljava/lang/String; // type@01ad │ │ -018540: 1a06 f608 |001c: const-string v6, "net.dns1" // string@08f6 │ │ -018544: 4d06 0500 |001e: aput-object v6, v5, v0 │ │ -018548: 1a06 f708 |0020: const-string v6, "net.dns2" // string@08f7 │ │ -01854c: 4d06 0504 |0022: aput-object v6, v5, v4 │ │ -018550: 1a06 f808 |0024: const-string v6, "net.dns3" // string@08f8 │ │ -018554: 1227 |0026: const/4 v7, #int 2 // #2 │ │ -018556: 4d06 0507 |0027: aput-object v6, v5, v7 │ │ -01855a: 1a06 f908 |0029: const-string v6, "net.dns4" // string@08f9 │ │ -01855e: 1237 |002b: const/4 v7, #int 3 // #3 │ │ -018560: 4d06 0507 |002c: aput-object v6, v5, v7 │ │ -018564: 1206 |002e: const/4 v6, #int 0 // #0 │ │ -018566: 3536 2f00 |002f: if-ge v6, v3, 005e // +002f │ │ -01856a: 4607 0506 |0031: aget-object v7, v5, v6 │ │ -01856e: 2348 ac01 |0033: new-array v8, v4, [Ljava/lang/Object; // type@01ac │ │ -018572: 4d07 0800 |0035: aput-object v7, v8, v0 │ │ -018576: 1207 |0037: const/4 v7, #int 0 // #0 │ │ -018578: 6e30 bf05 7208 |0038: invoke-virtual {v2, v7, v8}, Ljava/lang/reflect/Method;.invoke:(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object; // method@05bf │ │ -01857e: 0c07 |003b: move-result-object v7 │ │ -018580: 1f07 2b01 |003c: check-cast v7, Ljava/lang/String; // type@012b │ │ -018584: 3807 1d00 |003e: if-eqz v7, 005b // +001d │ │ -018588: 1a08 0000 |0040: const-string v8, "" // string@0000 │ │ -01858c: 6e20 8d05 8700 |0042: invoke-virtual {v7, v8}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058d │ │ -018592: 0a08 |0045: move-result v8 │ │ -018594: 3908 1500 |0046: if-nez v8, 005b // +0015 │ │ -018598: 6208 bf00 |0048: sget-object v8, Ldnsfilter/android/DNSFilterService;.VIRTUALDNS_IPV4:Ljava/lang/String; // field@00bf │ │ -01859c: 6e20 8d05 8700 |004a: invoke-virtual {v7, v8}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058d │ │ -0185a2: 0a08 |004d: move-result v8 │ │ -0185a4: 3908 0d00 |004e: if-nez v8, 005b // +000d │ │ -0185a8: 6208 c000 |0050: sget-object v8, Ldnsfilter/android/DNSFilterService;.VIRTUALDNS_IPV6:Ljava/lang/String; // field@00c0 │ │ -0185ac: 6e20 8d05 8700 |0052: invoke-virtual {v7, v8}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058d │ │ -0185b2: 0a08 |0055: move-result v8 │ │ -0185b4: 3908 0500 |0056: if-nez v8, 005b // +0005 │ │ -0185b8: 6e20 3006 7100 |0058: invoke-virtual {v1, v7}, Ljava/util/HashSet;.add:(Ljava/lang/Object;)Z // method@0630 │ │ -0185be: d806 0601 |005b: add-int/lit8 v6, v6, #int 1 // #01 │ │ -0185c2: 28d2 |005d: goto 002f // -002e │ │ -0185c4: 6e10 3606 0100 |005e: invoke-virtual {v1}, Ljava/util/HashSet;.size:()I // method@0636 │ │ -0185ca: 0a02 |0061: move-result v2 │ │ -0185cc: 2322 ad01 |0062: new-array v2, v2, [Ljava/lang/String; // type@01ad │ │ -0185d0: 6e20 3706 2100 |0064: invoke-virtual {v1, v2}, Ljava/util/HashSet;.toArray:([Ljava/lang/Object;)[Ljava/lang/Object; // method@0637 │ │ -0185d6: 0c01 |0067: move-result-object v1 │ │ -0185d8: 1f01 ad01 |0068: check-cast v1, [Ljava/lang/String; // type@01ad │ │ -0185dc: 1101 |006a: return-object v1 │ │ -0185de: 0d01 |006b: move-exception v1 │ │ -0185e0: 7100 2707 0000 |006c: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0727 │ │ -0185e6: 0c02 |006f: move-result-object v2 │ │ -0185e8: 7220 3207 1200 |0070: invoke-interface {v2, v1}, Lutil/LoggerInterface;.logException:(Ljava/lang/Exception;)V // method@0732 │ │ -0185ee: 2300 ad01 |0073: new-array v0, v0, [Ljava/lang/String; // type@01ad │ │ -0185f2: 1100 |0075: return-object v0 │ │ +0184f4: |[0184f4] dnsfilter.android.DNSFilterService.getDNSviaSysProps:()[Ljava/lang/String; │ │ +018504: 1200 |0000: const/4 v0, #int 0 // #0 │ │ +018506: 2201 5901 |0001: new-instance v1, Ljava/util/HashSet; // type@0159 │ │ +01850a: 7010 2f06 0100 |0003: invoke-direct {v1}, Ljava/util/HashSet;.:()V // method@062f │ │ +018510: 1a02 6405 |0006: const-string v2, "android.os.SystemProperties" // string@0564 │ │ +018514: 7110 5405 0200 |0008: invoke-static {v2}, Ljava/lang/Class;.forName:(Ljava/lang/String;)Ljava/lang/Class; // method@0554 │ │ +01851a: 0c02 |000b: move-result-object v2 │ │ +01851c: 1a03 2007 |000c: const-string v3, "get" // string@0720 │ │ +018520: 1214 |000e: const/4 v4, #int 1 // #1 │ │ +018522: 2345 ab01 |000f: new-array v5, v4, [Ljava/lang/Class; // type@01ab │ │ +018526: 1c06 2b01 |0011: const-class v6, Ljava/lang/String; // type@012b │ │ +01852a: 4d06 0500 |0013: aput-object v6, v5, v0 │ │ +01852e: 6e30 5505 3205 |0015: invoke-virtual {v2, v3, v5}, Ljava/lang/Class;.getMethod:(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method; // method@0555 │ │ +018534: 0c02 |0018: move-result-object v2 │ │ +018536: 1243 |0019: const/4 v3, #int 4 // #4 │ │ +018538: 2335 ad01 |001a: new-array v5, v3, [Ljava/lang/String; // type@01ad │ │ +01853c: 1a06 f608 |001c: const-string v6, "net.dns1" // string@08f6 │ │ +018540: 4d06 0500 |001e: aput-object v6, v5, v0 │ │ +018544: 1a06 f708 |0020: const-string v6, "net.dns2" // string@08f7 │ │ +018548: 4d06 0504 |0022: aput-object v6, v5, v4 │ │ +01854c: 1a06 f808 |0024: const-string v6, "net.dns3" // string@08f8 │ │ +018550: 1227 |0026: const/4 v7, #int 2 // #2 │ │ +018552: 4d06 0507 |0027: aput-object v6, v5, v7 │ │ +018556: 1a06 f908 |0029: const-string v6, "net.dns4" // string@08f9 │ │ +01855a: 1237 |002b: const/4 v7, #int 3 // #3 │ │ +01855c: 4d06 0507 |002c: aput-object v6, v5, v7 │ │ +018560: 1206 |002e: const/4 v6, #int 0 // #0 │ │ +018562: 3536 2f00 |002f: if-ge v6, v3, 005e // +002f │ │ +018566: 4607 0506 |0031: aget-object v7, v5, v6 │ │ +01856a: 2348 ac01 |0033: new-array v8, v4, [Ljava/lang/Object; // type@01ac │ │ +01856e: 4d07 0800 |0035: aput-object v7, v8, v0 │ │ +018572: 1207 |0037: const/4 v7, #int 0 // #0 │ │ +018574: 6e30 bf05 7208 |0038: invoke-virtual {v2, v7, v8}, Ljava/lang/reflect/Method;.invoke:(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object; // method@05bf │ │ +01857a: 0c07 |003b: move-result-object v7 │ │ +01857c: 1f07 2b01 |003c: check-cast v7, Ljava/lang/String; // type@012b │ │ +018580: 3807 1d00 |003e: if-eqz v7, 005b // +001d │ │ +018584: 1a08 0000 |0040: const-string v8, "" // string@0000 │ │ +018588: 6e20 8d05 8700 |0042: invoke-virtual {v7, v8}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058d │ │ +01858e: 0a08 |0045: move-result v8 │ │ +018590: 3908 1500 |0046: if-nez v8, 005b // +0015 │ │ +018594: 6208 bf00 |0048: sget-object v8, Ldnsfilter/android/DNSFilterService;.VIRTUALDNS_IPV4:Ljava/lang/String; // field@00bf │ │ +018598: 6e20 8d05 8700 |004a: invoke-virtual {v7, v8}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058d │ │ +01859e: 0a08 |004d: move-result v8 │ │ +0185a0: 3908 0d00 |004e: if-nez v8, 005b // +000d │ │ +0185a4: 6208 c000 |0050: sget-object v8, Ldnsfilter/android/DNSFilterService;.VIRTUALDNS_IPV6:Ljava/lang/String; // field@00c0 │ │ +0185a8: 6e20 8d05 8700 |0052: invoke-virtual {v7, v8}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058d │ │ +0185ae: 0a08 |0055: move-result v8 │ │ +0185b0: 3908 0500 |0056: if-nez v8, 005b // +0005 │ │ +0185b4: 6e20 3006 7100 |0058: invoke-virtual {v1, v7}, Ljava/util/HashSet;.add:(Ljava/lang/Object;)Z // method@0630 │ │ +0185ba: d806 0601 |005b: add-int/lit8 v6, v6, #int 1 // #01 │ │ +0185be: 28d2 |005d: goto 002f // -002e │ │ +0185c0: 6e10 3606 0100 |005e: invoke-virtual {v1}, Ljava/util/HashSet;.size:()I // method@0636 │ │ +0185c6: 0a02 |0061: move-result v2 │ │ +0185c8: 2322 ad01 |0062: new-array v2, v2, [Ljava/lang/String; // type@01ad │ │ +0185cc: 6e20 3706 2100 |0064: invoke-virtual {v1, v2}, Ljava/util/HashSet;.toArray:([Ljava/lang/Object;)[Ljava/lang/Object; // method@0637 │ │ +0185d2: 0c01 |0067: move-result-object v1 │ │ +0185d4: 1f01 ad01 |0068: check-cast v1, [Ljava/lang/String; // type@01ad │ │ +0185d8: 1101 |006a: return-object v1 │ │ +0185da: 0d01 |006b: move-exception v1 │ │ +0185dc: 7100 2707 0000 |006c: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0727 │ │ +0185e2: 0c02 |006f: move-result-object v2 │ │ +0185e4: 7220 3207 1200 |0070: invoke-interface {v2, v1}, Lutil/LoggerInterface;.logException:(Ljava/lang/Exception;)V // method@0732 │ │ +0185ea: 2300 ad01 |0073: new-array v0, v0, [Ljava/lang/String; // type@01ad │ │ +0185ee: 1100 |0075: return-object v0 │ │ catches : 1 │ │ 0x0001 - 0x006a │ │ Ljava/lang/Exception; -> 0x006b │ │ positions : │ │ 0x0001 line=441 │ │ 0x0006 line=442 │ │ 0x000c line=443 │ │ @@ -12860,149 +12860,149 @@ │ │ type : '([Ljava/lang/String;)V' │ │ access : 0x0009 (PUBLIC STATIC) │ │ code - │ │ registers : 13 │ │ ins : 1 │ │ outs : 6 │ │ insns size : 264 16-bit code units │ │ -018764: |[018764] dnsfilter.android.DNSFilterService.handleDNSServerChange:([Ljava/lang/String;)V │ │ -018774: 6200 b800 |0000: sget-object v0, Ldnsfilter/android/DNSFilterService;.DNSFILTER:Ldnsfilter/DNSFilterManager; // field@00b8 │ │ -018778: 3900 0300 |0002: if-nez v0, 0005 // +0003 │ │ -01877c: 0e00 |0004: return-void │ │ -01877e: 6e10 9401 0000 |0005: invoke-virtual {v0}, Ldnsfilter/DNSFilterManager;.getConfig:()Ljava/util/Properties; // method@0194 │ │ -018784: 0c01 |0008: move-result-object v1 │ │ -018786: 1a02 5e06 |0009: const-string v2, "detectDNS" // string@065e │ │ -01878a: 1a03 420b |000b: const-string v3, "true" // string@0b42 │ │ -01878e: 6e30 5706 2103 |000d: invoke-virtual {v1, v2, v3}, Ljava/util/Properties;.getProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@0657 │ │ -018794: 0c01 |0010: move-result-object v1 │ │ -018796: 7110 4d05 0100 |0011: invoke-static {v1}, Ljava/lang/Boolean;.parseBoolean:(Ljava/lang/String;)Z // method@054d │ │ -01879c: 0a01 |0014: move-result v1 │ │ -01879e: 6e10 9401 0000 |0015: invoke-virtual {v0}, Ldnsfilter/DNSFilterManager;.getConfig:()Ljava/util/Properties; // method@0194 │ │ -0187a4: 0c02 |0018: move-result-object v2 │ │ -0187a6: 1a03 7206 |0019: const-string v3, "dnsRequestTimeout" // string@0672 │ │ -0187aa: 1a04 7400 |001b: const-string v4, "15000" // string@0074 │ │ -0187ae: 6e30 5706 3204 |001d: invoke-virtual {v2, v3, v4}, Ljava/util/Properties;.getProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@0657 │ │ -0187b4: 0c02 |0020: move-result-object v2 │ │ -0187b6: 7110 6705 0200 |0021: invoke-static {v2}, Ljava/lang/Integer;.parseInt:(Ljava/lang/String;)I // method@0567 │ │ -0187bc: 0a02 |0024: move-result v2 │ │ -0187be: 280b |0025: goto 0030 // +000b │ │ -0187c0: 0d02 |0026: move-exception v2 │ │ -0187c2: 7100 2707 0000 |0027: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0727 │ │ -0187c8: 0c03 |002a: move-result-object v3 │ │ -0187ca: 7220 3207 2300 |002b: invoke-interface {v3, v2}, Lutil/LoggerInterface;.logException:(Ljava/lang/Exception;)V // method@0732 │ │ -0187d0: 1302 983a |002e: const/16 v2, #int 15000 // #3a98 │ │ -0187d4: 2209 6a01 |0030: new-instance v9, Ljava/util/Vector; // type@016a │ │ -0187d8: 7010 7706 0900 |0032: invoke-direct {v9}, Ljava/util/Vector;.:()V // method@0677 │ │ -0187de: 1a0a 0000 |0035: const-string v10, "" // string@0000 │ │ -0187e2: 3801 6200 |0037: if-eqz v1, 0099 // +0062 │ │ -0187e6: 6303 cd00 |0039: sget-boolean v3, Ldnsfilter/android/DNSFilterService;.rootMode:Z // field@00cd │ │ -0187ea: 3903 5e00 |003b: if-nez v3, 0099 // +005e │ │ -0187ee: 1203 |003d: const/4 v3, #int 0 // #0 │ │ -0187f0: 120b |003e: const/4 v11, #int 0 // #0 │ │ -0187f2: 21c3 |003f: array-length v3, v12 │ │ -0187f4: 353b 5900 |0040: if-ge v11, v3, 0099 // +0059 │ │ -0187f8: 4603 0c0b |0042: aget-object v3, v12, v11 │ │ -0187fc: 3803 4a00 |0044: if-eqz v3, 008e // +004a │ │ -018800: 6e20 8d05 a300 |0046: invoke-virtual {v3, v10}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058d │ │ -018806: 0a04 |0049: move-result v4 │ │ -018808: 3904 4400 |004a: if-nez v4, 008e // +0044 │ │ -01880c: 6304 0f01 |004c: sget-boolean v4, Ldnsfilter/android/DNSProxyActivity;.debug:Z // field@010f │ │ -018810: 3804 1a00 |004e: if-eqz v4, 0068 // +001a │ │ -018814: 7100 2707 0000 |0050: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0727 │ │ -01881a: 0c04 |0053: move-result-object v4 │ │ -01881c: 2205 2d01 |0054: new-instance v5, Ljava/lang/StringBuilder; // type@012d │ │ -018820: 7010 a905 0500 |0056: invoke-direct {v5}, Ljava/lang/StringBuilder;.:()V // method@05a9 │ │ -018826: 1a06 3901 |0059: const-string v6, "DNS:" // string@0139 │ │ -01882a: 6e20 af05 6500 |005b: invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -018830: 6e20 af05 3500 |005e: invoke-virtual {v5, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -018836: 6e10 b105 0500 |0061: invoke-virtual {v5}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ -01883c: 0c05 |0064: move-result-object v5 │ │ -01883e: 7220 3307 5400 |0065: invoke-interface {v4, v5}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0733 │ │ -018844: 6204 bf00 |0068: sget-object v4, Ldnsfilter/android/DNSFilterService;.VIRTUALDNS_IPV4:Ljava/lang/String; // field@00bf │ │ -018848: 6e20 8d05 4300 |006a: invoke-virtual {v3, v4}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058d │ │ -01884e: 0a04 |006d: move-result v4 │ │ -018850: 3904 2000 |006e: if-nez v4, 008e // +0020 │ │ -018854: 6204 c000 |0070: sget-object v4, Ldnsfilter/android/DNSFilterService;.VIRTUALDNS_IPV6:Ljava/lang/String; // field@00c0 │ │ -018858: 6e20 8d05 4300 |0072: invoke-virtual {v3, v4}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058d │ │ -01885e: 0a04 |0075: move-result v4 │ │ -018860: 3904 1800 |0076: if-nez v4, 008e // +0018 │ │ -018864: 7100 f401 0000 |0078: invoke-static {}, Ldnsfilter/DNSServer;.getInstance:()Ldnsfilter/DNSServer; // method@01f4 │ │ -01886a: 0c04 |007b: move-result-object v4 │ │ -01886c: 7110 d505 0300 |007c: invoke-static {v3}, Ljava/net/InetAddress;.getByName:(Ljava/lang/String;)Ljava/net/InetAddress; // method@05d5 │ │ -018872: 0c05 |007f: move-result-object v5 │ │ -018874: 1306 3500 |0080: const/16 v6, #int 53 // #35 │ │ -018878: 1208 |0082: const/4 v8, #int 0 // #0 │ │ -01887a: 1207 |0083: const/4 v7, #int 0 // #0 │ │ -01887c: 0743 |0084: move-object v3, v4 │ │ -01887e: 0174 |0085: move v4, v7 │ │ -018880: 0127 |0086: move v7, v2 │ │ -018882: 7406 ec01 0300 |0087: invoke-virtual/range {v3, v4, v5, v6, v7, v8}, Ldnsfilter/DNSServer;.createDNSServer:(ILjava/net/InetAddress;IILjava/lang/String;)Ldnsfilter/DNSServer; // method@01ec │ │ -018888: 0c03 |008a: move-result-object v3 │ │ -01888a: 6e20 7906 3900 |008b: invoke-virtual {v9, v3}, Ljava/util/Vector;.add:(Ljava/lang/Object;)Z // method@0679 │ │ -018890: d80b 0b01 |008e: add-int/lit8 v11, v11, #int 1 // #01 │ │ -018894: 28af |0090: goto 003f // -0051 │ │ -018896: 0d0c |0091: move-exception v12 │ │ -018898: 7100 2707 0000 |0092: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0727 │ │ -01889e: 0c03 |0095: move-result-object v3 │ │ -0188a0: 7220 3207 c300 |0096: invoke-interface {v3, v12}, Lutil/LoggerInterface;.logException:(Ljava/lang/Exception;)V // method@0732 │ │ -0188a6: 6e10 7f06 0900 |0099: invoke-virtual {v9}, Ljava/util/Vector;.isEmpty:()Z // method@067f │ │ -0188ac: 0a0c |009c: move-result v12 │ │ -0188ae: 380c 2d00 |009d: if-eqz v12, 00ca // +002d │ │ -0188b2: 3801 0f00 |009f: if-eqz v1, 00ae // +000f │ │ -0188b6: 630c cd00 |00a1: sget-boolean v12, Ldnsfilter/android/DNSFilterService;.rootMode:Z // field@00cd │ │ -0188ba: 380c 0b00 |00a3: if-eqz v12, 00ae // +000b │ │ -0188be: 7100 2707 0000 |00a5: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0727 │ │ -0188c4: 0c0c |00a8: move-result-object v12 │ │ -0188c6: 1a01 2c01 |00a9: const-string v1, "DNS detection not possible in root mode!" // string@012c │ │ -0188ca: 7220 3407 1c00 |00ab: invoke-interface {v12, v1}, Lutil/LoggerInterface;.message:(Ljava/lang/String;)V // method@0734 │ │ -0188d0: 6e10 9401 0000 |00ae: invoke-virtual {v0}, Ldnsfilter/DNSFilterManager;.getConfig:()Ljava/util/Properties; // method@0194 │ │ -0188d6: 0c0c |00b1: move-result-object v12 │ │ -0188d8: 1a00 de06 |00b2: const-string v0, "fallbackDNS" // string@06de │ │ -0188dc: 6e30 5706 0c0a |00b4: invoke-virtual {v12, v0, v10}, Ljava/util/Properties;.getProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@0657 │ │ -0188e2: 0c0c |00b7: move-result-object v12 │ │ -0188e4: 7100 f401 0000 |00b8: invoke-static {}, Ldnsfilter/DNSServer;.getInstance:()Ldnsfilter/DNSServer; // method@01f4 │ │ -0188ea: 0c00 |00bb: move-result-object v0 │ │ -0188ec: 6301 cd00 |00bc: sget-boolean v1, Ldnsfilter/android/DNSFilterService;.rootMode:Z // field@00cd │ │ -0188f0: 6e40 ee01 c012 |00be: invoke-virtual {v0, v12, v2, v1}, Ldnsfilter/DNSServer;.createDNSServers:(Ljava/lang/String;IZ)[Ldnsfilter/DNSServer; // method@01ee │ │ -0188f6: 0c0c |00c1: move-result-object v12 │ │ -0188f8: 7100 6f01 0000 |00c2: invoke-static {}, Ldnsfilter/DNSCommunicator;.getInstance:()Ldnsfilter/DNSCommunicator; // method@016f │ │ -0188fe: 0c00 |00c5: move-result-object v0 │ │ -018900: 6e20 7201 c000 |00c6: invoke-virtual {v0, v12}, Ldnsfilter/DNSCommunicator;.setDNSServers:([Ldnsfilter/DNSServer;)V // method@0172 │ │ -018906: 283e |00c9: goto 0107 // +003e │ │ -018908: 7100 6f01 0000 |00ca: invoke-static {}, Ldnsfilter/DNSCommunicator;.getInstance:()Ldnsfilter/DNSCommunicator; // method@016f │ │ -01890e: 0c0c |00cd: move-result-object v12 │ │ -018910: 6e10 8406 0900 |00ce: invoke-virtual {v9}, Ljava/util/Vector;.size:()I // method@0684 │ │ -018916: 0a00 |00d1: move-result v0 │ │ -018918: 2300 a401 |00d2: new-array v0, v0, [Ldnsfilter/DNSServer; // type@01a4 │ │ -01891c: 6e20 8506 0900 |00d4: invoke-virtual {v9, v0}, Ljava/util/Vector;.toArray:([Ljava/lang/Object;)[Ljava/lang/Object; // method@0685 │ │ -018922: 0c00 |00d7: move-result-object v0 │ │ -018924: 1f00 a401 |00d8: check-cast v0, [Ldnsfilter/DNSServer; // type@01a4 │ │ -018928: 6e20 7201 0c00 |00da: invoke-virtual {v12, v0}, Ldnsfilter/DNSCommunicator;.setDNSServers:([Ldnsfilter/DNSServer;)V // method@0172 │ │ -01892e: 282a |00dd: goto 0107 // +002a │ │ -018930: 0d0c |00de: move-exception v12 │ │ -018932: 7100 2707 0000 |00df: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0727 │ │ -018938: 0c00 |00e2: move-result-object v0 │ │ -01893a: 7220 3207 c000 |00e3: invoke-interface {v0, v12}, Lutil/LoggerInterface;.logException:(Ljava/lang/Exception;)V // method@0732 │ │ -018940: 2821 |00e6: goto 0107 // +0021 │ │ -018942: 0d0c |00e7: move-exception v12 │ │ -018944: 7100 2707 0000 |00e8: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0727 │ │ -01894a: 0c00 |00eb: move-result-object v0 │ │ -01894c: 1a01 2e00 |00ec: const-string v1, "!!!DNS server initialization failed!!!" // string@002e │ │ -018950: 7220 3307 1000 |00ee: invoke-interface {v0, v1}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0733 │ │ -018956: 7100 2707 0000 |00f1: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0727 │ │ -01895c: 0c00 |00f4: move-result-object v0 │ │ -01895e: 6e10 2605 0c00 |00f5: invoke-virtual {v12}, Ljava/io/IOException;.toString:()Ljava/lang/String; // method@0526 │ │ -018964: 0c01 |00f8: move-result-object v1 │ │ -018966: 7220 3307 1000 |00f9: invoke-interface {v0, v1}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0733 │ │ -01896c: 7100 2707 0000 |00fc: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0727 │ │ -018972: 0c00 |00ff: move-result-object v0 │ │ -018974: 6e10 2405 0c00 |0100: invoke-virtual {v12}, Ljava/io/IOException;.getMessage:()Ljava/lang/String; // method@0524 │ │ -01897a: 0c0c |0103: move-result-object v12 │ │ -01897c: 7220 3407 c000 |0104: invoke-interface {v0, v12}, Lutil/LoggerInterface;.message:(Ljava/lang/String;)V // method@0734 │ │ -018982: 0e00 |0107: return-void │ │ +018760: |[018760] dnsfilter.android.DNSFilterService.handleDNSServerChange:([Ljava/lang/String;)V │ │ +018770: 6200 b800 |0000: sget-object v0, Ldnsfilter/android/DNSFilterService;.DNSFILTER:Ldnsfilter/DNSFilterManager; // field@00b8 │ │ +018774: 3900 0300 |0002: if-nez v0, 0005 // +0003 │ │ +018778: 0e00 |0004: return-void │ │ +01877a: 6e10 9401 0000 |0005: invoke-virtual {v0}, Ldnsfilter/DNSFilterManager;.getConfig:()Ljava/util/Properties; // method@0194 │ │ +018780: 0c01 |0008: move-result-object v1 │ │ +018782: 1a02 5e06 |0009: const-string v2, "detectDNS" // string@065e │ │ +018786: 1a03 420b |000b: const-string v3, "true" // string@0b42 │ │ +01878a: 6e30 5706 2103 |000d: invoke-virtual {v1, v2, v3}, Ljava/util/Properties;.getProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@0657 │ │ +018790: 0c01 |0010: move-result-object v1 │ │ +018792: 7110 4d05 0100 |0011: invoke-static {v1}, Ljava/lang/Boolean;.parseBoolean:(Ljava/lang/String;)Z // method@054d │ │ +018798: 0a01 |0014: move-result v1 │ │ +01879a: 6e10 9401 0000 |0015: invoke-virtual {v0}, Ldnsfilter/DNSFilterManager;.getConfig:()Ljava/util/Properties; // method@0194 │ │ +0187a0: 0c02 |0018: move-result-object v2 │ │ +0187a2: 1a03 7206 |0019: const-string v3, "dnsRequestTimeout" // string@0672 │ │ +0187a6: 1a04 7400 |001b: const-string v4, "15000" // string@0074 │ │ +0187aa: 6e30 5706 3204 |001d: invoke-virtual {v2, v3, v4}, Ljava/util/Properties;.getProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@0657 │ │ +0187b0: 0c02 |0020: move-result-object v2 │ │ +0187b2: 7110 6705 0200 |0021: invoke-static {v2}, Ljava/lang/Integer;.parseInt:(Ljava/lang/String;)I // method@0567 │ │ +0187b8: 0a02 |0024: move-result v2 │ │ +0187ba: 280b |0025: goto 0030 // +000b │ │ +0187bc: 0d02 |0026: move-exception v2 │ │ +0187be: 7100 2707 0000 |0027: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0727 │ │ +0187c4: 0c03 |002a: move-result-object v3 │ │ +0187c6: 7220 3207 2300 |002b: invoke-interface {v3, v2}, Lutil/LoggerInterface;.logException:(Ljava/lang/Exception;)V // method@0732 │ │ +0187cc: 1302 983a |002e: const/16 v2, #int 15000 // #3a98 │ │ +0187d0: 2209 6a01 |0030: new-instance v9, Ljava/util/Vector; // type@016a │ │ +0187d4: 7010 7706 0900 |0032: invoke-direct {v9}, Ljava/util/Vector;.:()V // method@0677 │ │ +0187da: 1a0a 0000 |0035: const-string v10, "" // string@0000 │ │ +0187de: 3801 6200 |0037: if-eqz v1, 0099 // +0062 │ │ +0187e2: 6303 cd00 |0039: sget-boolean v3, Ldnsfilter/android/DNSFilterService;.rootMode:Z // field@00cd │ │ +0187e6: 3903 5e00 |003b: if-nez v3, 0099 // +005e │ │ +0187ea: 1203 |003d: const/4 v3, #int 0 // #0 │ │ +0187ec: 120b |003e: const/4 v11, #int 0 // #0 │ │ +0187ee: 21c3 |003f: array-length v3, v12 │ │ +0187f0: 353b 5900 |0040: if-ge v11, v3, 0099 // +0059 │ │ +0187f4: 4603 0c0b |0042: aget-object v3, v12, v11 │ │ +0187f8: 3803 4a00 |0044: if-eqz v3, 008e // +004a │ │ +0187fc: 6e20 8d05 a300 |0046: invoke-virtual {v3, v10}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058d │ │ +018802: 0a04 |0049: move-result v4 │ │ +018804: 3904 4400 |004a: if-nez v4, 008e // +0044 │ │ +018808: 6304 0f01 |004c: sget-boolean v4, Ldnsfilter/android/DNSProxyActivity;.debug:Z // field@010f │ │ +01880c: 3804 1a00 |004e: if-eqz v4, 0068 // +001a │ │ +018810: 7100 2707 0000 |0050: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0727 │ │ +018816: 0c04 |0053: move-result-object v4 │ │ +018818: 2205 2d01 |0054: new-instance v5, Ljava/lang/StringBuilder; // type@012d │ │ +01881c: 7010 a905 0500 |0056: invoke-direct {v5}, Ljava/lang/StringBuilder;.:()V // method@05a9 │ │ +018822: 1a06 3901 |0059: const-string v6, "DNS:" // string@0139 │ │ +018826: 6e20 af05 6500 |005b: invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +01882c: 6e20 af05 3500 |005e: invoke-virtual {v5, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +018832: 6e10 b105 0500 |0061: invoke-virtual {v5}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ +018838: 0c05 |0064: move-result-object v5 │ │ +01883a: 7220 3307 5400 |0065: invoke-interface {v4, v5}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0733 │ │ +018840: 6204 bf00 |0068: sget-object v4, Ldnsfilter/android/DNSFilterService;.VIRTUALDNS_IPV4:Ljava/lang/String; // field@00bf │ │ +018844: 6e20 8d05 4300 |006a: invoke-virtual {v3, v4}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058d │ │ +01884a: 0a04 |006d: move-result v4 │ │ +01884c: 3904 2000 |006e: if-nez v4, 008e // +0020 │ │ +018850: 6204 c000 |0070: sget-object v4, Ldnsfilter/android/DNSFilterService;.VIRTUALDNS_IPV6:Ljava/lang/String; // field@00c0 │ │ +018854: 6e20 8d05 4300 |0072: invoke-virtual {v3, v4}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058d │ │ +01885a: 0a04 |0075: move-result v4 │ │ +01885c: 3904 1800 |0076: if-nez v4, 008e // +0018 │ │ +018860: 7100 f401 0000 |0078: invoke-static {}, Ldnsfilter/DNSServer;.getInstance:()Ldnsfilter/DNSServer; // method@01f4 │ │ +018866: 0c04 |007b: move-result-object v4 │ │ +018868: 7110 d505 0300 |007c: invoke-static {v3}, Ljava/net/InetAddress;.getByName:(Ljava/lang/String;)Ljava/net/InetAddress; // method@05d5 │ │ +01886e: 0c05 |007f: move-result-object v5 │ │ +018870: 1306 3500 |0080: const/16 v6, #int 53 // #35 │ │ +018874: 1208 |0082: const/4 v8, #int 0 // #0 │ │ +018876: 1207 |0083: const/4 v7, #int 0 // #0 │ │ +018878: 0743 |0084: move-object v3, v4 │ │ +01887a: 0174 |0085: move v4, v7 │ │ +01887c: 0127 |0086: move v7, v2 │ │ +01887e: 7406 ec01 0300 |0087: invoke-virtual/range {v3, v4, v5, v6, v7, v8}, Ldnsfilter/DNSServer;.createDNSServer:(ILjava/net/InetAddress;IILjava/lang/String;)Ldnsfilter/DNSServer; // method@01ec │ │ +018884: 0c03 |008a: move-result-object v3 │ │ +018886: 6e20 7906 3900 |008b: invoke-virtual {v9, v3}, Ljava/util/Vector;.add:(Ljava/lang/Object;)Z // method@0679 │ │ +01888c: d80b 0b01 |008e: add-int/lit8 v11, v11, #int 1 // #01 │ │ +018890: 28af |0090: goto 003f // -0051 │ │ +018892: 0d0c |0091: move-exception v12 │ │ +018894: 7100 2707 0000 |0092: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0727 │ │ +01889a: 0c03 |0095: move-result-object v3 │ │ +01889c: 7220 3207 c300 |0096: invoke-interface {v3, v12}, Lutil/LoggerInterface;.logException:(Ljava/lang/Exception;)V // method@0732 │ │ +0188a2: 6e10 7f06 0900 |0099: invoke-virtual {v9}, Ljava/util/Vector;.isEmpty:()Z // method@067f │ │ +0188a8: 0a0c |009c: move-result v12 │ │ +0188aa: 380c 2d00 |009d: if-eqz v12, 00ca // +002d │ │ +0188ae: 3801 0f00 |009f: if-eqz v1, 00ae // +000f │ │ +0188b2: 630c cd00 |00a1: sget-boolean v12, Ldnsfilter/android/DNSFilterService;.rootMode:Z // field@00cd │ │ +0188b6: 380c 0b00 |00a3: if-eqz v12, 00ae // +000b │ │ +0188ba: 7100 2707 0000 |00a5: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0727 │ │ +0188c0: 0c0c |00a8: move-result-object v12 │ │ +0188c2: 1a01 2c01 |00a9: const-string v1, "DNS detection not possible in root mode!" // string@012c │ │ +0188c6: 7220 3407 1c00 |00ab: invoke-interface {v12, v1}, Lutil/LoggerInterface;.message:(Ljava/lang/String;)V // method@0734 │ │ +0188cc: 6e10 9401 0000 |00ae: invoke-virtual {v0}, Ldnsfilter/DNSFilterManager;.getConfig:()Ljava/util/Properties; // method@0194 │ │ +0188d2: 0c0c |00b1: move-result-object v12 │ │ +0188d4: 1a00 de06 |00b2: const-string v0, "fallbackDNS" // string@06de │ │ +0188d8: 6e30 5706 0c0a |00b4: invoke-virtual {v12, v0, v10}, Ljava/util/Properties;.getProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@0657 │ │ +0188de: 0c0c |00b7: move-result-object v12 │ │ +0188e0: 7100 f401 0000 |00b8: invoke-static {}, Ldnsfilter/DNSServer;.getInstance:()Ldnsfilter/DNSServer; // method@01f4 │ │ +0188e6: 0c00 |00bb: move-result-object v0 │ │ +0188e8: 6301 cd00 |00bc: sget-boolean v1, Ldnsfilter/android/DNSFilterService;.rootMode:Z // field@00cd │ │ +0188ec: 6e40 ee01 c012 |00be: invoke-virtual {v0, v12, v2, v1}, Ldnsfilter/DNSServer;.createDNSServers:(Ljava/lang/String;IZ)[Ldnsfilter/DNSServer; // method@01ee │ │ +0188f2: 0c0c |00c1: move-result-object v12 │ │ +0188f4: 7100 6f01 0000 |00c2: invoke-static {}, Ldnsfilter/DNSCommunicator;.getInstance:()Ldnsfilter/DNSCommunicator; // method@016f │ │ +0188fa: 0c00 |00c5: move-result-object v0 │ │ +0188fc: 6e20 7201 c000 |00c6: invoke-virtual {v0, v12}, Ldnsfilter/DNSCommunicator;.setDNSServers:([Ldnsfilter/DNSServer;)V // method@0172 │ │ +018902: 283e |00c9: goto 0107 // +003e │ │ +018904: 7100 6f01 0000 |00ca: invoke-static {}, Ldnsfilter/DNSCommunicator;.getInstance:()Ldnsfilter/DNSCommunicator; // method@016f │ │ +01890a: 0c0c |00cd: move-result-object v12 │ │ +01890c: 6e10 8406 0900 |00ce: invoke-virtual {v9}, Ljava/util/Vector;.size:()I // method@0684 │ │ +018912: 0a00 |00d1: move-result v0 │ │ +018914: 2300 a401 |00d2: new-array v0, v0, [Ldnsfilter/DNSServer; // type@01a4 │ │ +018918: 6e20 8506 0900 |00d4: invoke-virtual {v9, v0}, Ljava/util/Vector;.toArray:([Ljava/lang/Object;)[Ljava/lang/Object; // method@0685 │ │ +01891e: 0c00 |00d7: move-result-object v0 │ │ +018920: 1f00 a401 |00d8: check-cast v0, [Ldnsfilter/DNSServer; // type@01a4 │ │ +018924: 6e20 7201 0c00 |00da: invoke-virtual {v12, v0}, Ldnsfilter/DNSCommunicator;.setDNSServers:([Ldnsfilter/DNSServer;)V // method@0172 │ │ +01892a: 282a |00dd: goto 0107 // +002a │ │ +01892c: 0d0c |00de: move-exception v12 │ │ +01892e: 7100 2707 0000 |00df: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0727 │ │ +018934: 0c00 |00e2: move-result-object v0 │ │ +018936: 7220 3207 c000 |00e3: invoke-interface {v0, v12}, Lutil/LoggerInterface;.logException:(Ljava/lang/Exception;)V // method@0732 │ │ +01893c: 2821 |00e6: goto 0107 // +0021 │ │ +01893e: 0d0c |00e7: move-exception v12 │ │ +018940: 7100 2707 0000 |00e8: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0727 │ │ +018946: 0c00 |00eb: move-result-object v0 │ │ +018948: 1a01 2e00 |00ec: const-string v1, "!!!DNS server initialization failed!!!" // string@002e │ │ +01894c: 7220 3307 1000 |00ee: invoke-interface {v0, v1}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0733 │ │ +018952: 7100 2707 0000 |00f1: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0727 │ │ +018958: 0c00 |00f4: move-result-object v0 │ │ +01895a: 6e10 2605 0c00 |00f5: invoke-virtual {v12}, Ljava/io/IOException;.toString:()Ljava/lang/String; // method@0526 │ │ +018960: 0c01 |00f8: move-result-object v1 │ │ +018962: 7220 3307 1000 |00f9: invoke-interface {v0, v1}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0733 │ │ +018968: 7100 2707 0000 |00fc: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0727 │ │ +01896e: 0c00 |00ff: move-result-object v0 │ │ +018970: 6e10 2405 0c00 |0100: invoke-virtual {v12}, Ljava/io/IOException;.getMessage:()Ljava/lang/String; // method@0524 │ │ +018976: 0c0c |0103: move-result-object v12 │ │ +018978: 7220 3407 c000 |0104: invoke-interface {v0, v12}, Lutil/LoggerInterface;.message:(Ljava/lang/String;)V // method@0734 │ │ +01897e: 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 │ │ @@ -13052,243 +13052,243 @@ │ │ type : '(Z)Landroid/os/ParcelFileDescriptor;' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 16 │ │ ins : 2 │ │ outs : 3 │ │ insns size : 471 16-bit code units │ │ -017778: |[017778] dnsfilter.android.DNSFilterService.initVPN:(Z)Landroid/os/ParcelFileDescriptor; │ │ -017788: 7100 5301 0000 |0000: invoke-static {}, Ldnsfilter/ConfigurationAccess;.getLocal:()Ldnsfilter/ConfigurationAccess; // method@0153 │ │ -01778e: 0c00 |0003: move-result-object v0 │ │ -017790: 6e10 4d01 0000 |0004: invoke-virtual {v0}, Ldnsfilter/ConfigurationAccess;.getConfig:()Ljava/util/Properties; // method@014d │ │ -017796: 0c00 |0007: move-result-object v0 │ │ -017798: 1a01 d503 |0008: const-string v1, "MTU" // string@03d5 │ │ -01779c: 1a02 7800 |000a: const-string v2, "3000" // string@0078 │ │ -0177a0: 6e30 5706 1002 |000c: invoke-virtual {v0, v1, v2}, Ljava/util/Properties;.getProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@0657 │ │ -0177a6: 0c00 |000f: move-result-object v0 │ │ -0177a8: 7110 6705 0000 |0010: invoke-static {v0}, Ljava/lang/Integer;.parseInt:(Ljava/lang/String;)I // method@0567 │ │ -0177ae: 0a00 |0013: move-result v0 │ │ -0177b0: 59e0 ca00 |0014: iput v0, v14, Ldnsfilter/android/DNSFilterService;.mtu:I // field@00ca │ │ -0177b4: 6200 b800 |0016: sget-object v0, Ldnsfilter/android/DNSFilterService;.DNSFILTER:Ldnsfilter/DNSFilterManager; // field@00b8 │ │ -0177b8: 6e10 9401 0000 |0018: invoke-virtual {v0}, Ldnsfilter/DNSFilterManager;.getConfig:()Ljava/util/Properties; // method@0194 │ │ -0177be: 0c00 |001b: move-result-object v0 │ │ -0177c0: 1a01 330a |001c: const-string v1, "routeUnderlyingDNS" // string@0a33 │ │ -0177c4: 1a02 df06 |001e: const-string v2, "false" // string@06df │ │ -0177c8: 6e30 5706 1002 |0020: invoke-virtual {v0, v1, v2}, Ljava/util/Properties;.getProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@0657 │ │ -0177ce: 0c00 |0023: move-result-object v0 │ │ -0177d0: 7110 4d05 0000 |0024: invoke-static {v0}, Ljava/lang/Boolean;.parseBoolean:(Ljava/lang/String;)Z // method@054d │ │ -0177d6: 0a00 |0027: move-result v0 │ │ -0177d8: 6a00 ce00 |0028: sput-boolean v0, Ldnsfilter/android/DNSFilterService;.routeDNS:Z // field@00ce │ │ -0177dc: 2200 2e00 |002a: new-instance v0, Landroid/net/VpnService$Builder; // type@002e │ │ -0177e0: 7020 6b00 e000 |002c: invoke-direct {v0, v14}, Landroid/net/VpnService$Builder;.:(Landroid/net/VpnService;)V // method@006b │ │ -0177e6: 1a01 6a09 |002f: const-string v1, "personalDNSFilter" // string@096a │ │ -0177ea: 6e20 7600 1000 |0031: invoke-virtual {v0, v1}, Landroid/net/VpnService$Builder;.setSession:(Ljava/lang/String;)Landroid/net/VpnService$Builder; // method@0076 │ │ -0177f0: 1241 |0034: const/4 v1, #int 4 // #4 │ │ -0177f2: 7110 b102 0100 |0035: invoke-static {v1}, Ldnsfilter/android/DNSFilterService;.supportsIPVersion:(I)Z // method@02b1 │ │ -0177f8: 0a02 |0038: move-result v2 │ │ -0177fa: 1303 2000 |0039: const/16 v3, #int 32 // #20 │ │ -0177fe: 1304 1800 |003b: const/16 v4, #int 24 // #18 │ │ -017802: 3802 1300 |003d: if-eqz v2, 0050 // +0013 │ │ -017806: 6202 b600 |003f: sget-object v2, Ldnsfilter/android/DNSFilterService;.ADDRESS_IPV4:Ljava/lang/String; // field@00b6 │ │ -01780a: 6e30 6c00 2004 |0041: invoke-virtual {v0, v2, v4}, Landroid/net/VpnService$Builder;.addAddress:(Ljava/lang/String;I)Landroid/net/VpnService$Builder; // method@006c │ │ -017810: 0c02 |0044: move-result-object v2 │ │ -017812: 6205 bf00 |0045: sget-object v5, Ldnsfilter/android/DNSFilterService;.VIRTUALDNS_IPV4:Ljava/lang/String; // field@00bf │ │ -017816: 6e20 6e00 5200 |0047: invoke-virtual {v2, v5}, Landroid/net/VpnService$Builder;.addDnsServer:(Ljava/lang/String;)Landroid/net/VpnService$Builder; // method@006e │ │ -01781c: 0c02 |004a: move-result-object v2 │ │ -01781e: 6205 bf00 |004b: sget-object v5, Ldnsfilter/android/DNSFilterService;.VIRTUALDNS_IPV4:Ljava/lang/String; // field@00bf │ │ -017822: 6e30 6f00 5203 |004d: invoke-virtual {v2, v5, v3}, Landroid/net/VpnService$Builder;.addRoute:(Ljava/lang/String;I)Landroid/net/VpnService$Builder; // method@006f │ │ -017828: 1262 |0050: const/4 v2, #int 6 // #6 │ │ -01782a: 7110 b102 0200 |0051: invoke-static {v2}, Ldnsfilter/android/DNSFilterService;.supportsIPVersion:(I)Z // method@02b1 │ │ -017830: 0a05 |0054: move-result v5 │ │ -017832: 1306 8000 |0055: const/16 v6, #int 128 // #80 │ │ -017836: 3805 1500 |0057: if-eqz v5, 006c // +0015 │ │ -01783a: 6205 b700 |0059: sget-object v5, Ldnsfilter/android/DNSFilterService;.ADDRESS_IPV6:Ljava/lang/String; // field@00b7 │ │ -01783e: 1307 3000 |005b: const/16 v7, #int 48 // #30 │ │ -017842: 6e30 6c00 5007 |005d: invoke-virtual {v0, v5, v7}, Landroid/net/VpnService$Builder;.addAddress:(Ljava/lang/String;I)Landroid/net/VpnService$Builder; // method@006c │ │ -017848: 0c05 |0060: move-result-object v5 │ │ -01784a: 6207 c000 |0061: sget-object v7, Ldnsfilter/android/DNSFilterService;.VIRTUALDNS_IPV6:Ljava/lang/String; // field@00c0 │ │ -01784e: 6e20 6e00 7500 |0063: invoke-virtual {v5, v7}, Landroid/net/VpnService$Builder;.addDnsServer:(Ljava/lang/String;)Landroid/net/VpnService$Builder; // method@006e │ │ -017854: 0c05 |0066: move-result-object v5 │ │ -017856: 6207 c000 |0067: sget-object v7, Ldnsfilter/android/DNSFilterService;.VIRTUALDNS_IPV6:Ljava/lang/String; // field@00c0 │ │ -01785a: 6e30 6f00 7506 |0069: invoke-virtual {v5, v7, v6}, Landroid/net/VpnService$Builder;.addRoute:(Ljava/lang/String;I)Landroid/net/VpnService$Builder; // method@006f │ │ -017860: 6205 b800 |006c: sget-object v5, Ldnsfilter/android/DNSFilterService;.DNSFILTER:Ldnsfilter/DNSFilterManager; // field@00b8 │ │ -017864: 6e10 9401 0500 |006e: invoke-virtual {v5}, Ldnsfilter/DNSFilterManager;.getConfig:()Ljava/util/Properties; // method@0194 │ │ -01786a: 0c05 |0071: move-result-object v5 │ │ -01786c: 1a07 320a |0072: const-string v7, "routeIPs" // string@0a32 │ │ -017870: 1a08 0000 |0074: const-string v8, "" // string@0000 │ │ -017874: 6e30 5706 7508 |0076: invoke-virtual {v5, v7, v8}, Ljava/util/Properties;.getProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@0657 │ │ -01787a: 0c05 |0079: move-result-object v5 │ │ -01787c: 6e10 a205 0500 |007a: invoke-virtual {v5}, Ljava/lang/String;.trim:()Ljava/lang/String; // method@05a2 │ │ -017882: 0c07 |007d: move-result-object v7 │ │ -017884: 6e20 8d05 8700 |007e: invoke-virtual {v7, v8}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058d │ │ -01788a: 0a07 |0081: move-result v7 │ │ -01788c: 1a09 8d00 |0082: const-string v9, "; " // string@008d │ │ -017890: 3907 1100 |0084: if-nez v7, 0095 // +0011 │ │ -017894: 2207 2d01 |0086: new-instance v7, Ljava/lang/StringBuilder; // type@012d │ │ -017898: 7010 a905 0700 |0088: invoke-direct {v7}, Ljava/lang/StringBuilder;.:()V // method@05a9 │ │ -01789e: 6e20 af05 5700 |008b: invoke-virtual {v7, v5}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -0178a4: 6e20 af05 9700 |008e: invoke-virtual {v7, v9}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -0178aa: 6e10 b105 0700 |0091: invoke-virtual {v7}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ -0178b0: 0c05 |0094: move-result-object v5 │ │ -0178b2: 6307 ce00 |0095: sget-boolean v7, Ldnsfilter/android/DNSFilterService;.routeDNS:Z // field@00ce │ │ -0178b6: 120a |0097: const/4 v10, #int 0 // #0 │ │ -0178b8: 3807 2100 |0098: if-eqz v7, 00b9 // +0021 │ │ -0178bc: 7100 9602 0000 |009a: invoke-static {}, Ldnsfilter/android/DNSFilterService;.getDNSServers:()[Ljava/lang/String; // method@0296 │ │ -0178c2: 0c07 |009d: move-result-object v7 │ │ -0178c4: 120b |009e: const/4 v11, #int 0 // #0 │ │ -0178c6: 217c |009f: array-length v12, v7 │ │ -0178c8: 35cb 1900 |00a0: if-ge v11, v12, 00b9 // +0019 │ │ -0178cc: 220c 2d01 |00a2: new-instance v12, Ljava/lang/StringBuilder; // type@012d │ │ -0178d0: 7010 a905 0c00 |00a4: invoke-direct {v12}, Ljava/lang/StringBuilder;.:()V // method@05a9 │ │ -0178d6: 6e20 af05 5c00 |00a7: invoke-virtual {v12, v5}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -0178dc: 4605 070b |00aa: aget-object v5, v7, v11 │ │ -0178e0: 6e20 af05 5c00 |00ac: invoke-virtual {v12, v5}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -0178e6: 6e20 af05 9c00 |00af: invoke-virtual {v12, v9}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -0178ec: 6e10 b105 0c00 |00b2: invoke-virtual {v12}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ -0178f2: 0c05 |00b5: move-result-object v5 │ │ -0178f4: d80b 0b01 |00b6: add-int/lit8 v11, v11, #int 1 // #01 │ │ -0178f8: 28e7 |00b8: goto 009f // -0019 │ │ -0178fa: 6e10 a205 0500 |00b9: invoke-virtual {v5}, Ljava/lang/String;.trim:()Ljava/lang/String; // method@05a2 │ │ -017900: 0c07 |00bc: move-result-object v7 │ │ -017902: 6e20 8d05 8700 |00bd: invoke-virtual {v7, v8}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058d │ │ -017908: 0a07 |00c0: move-result v7 │ │ -01790a: 1a09 8c00 |00c1: const-string v9, ";" // string@008c │ │ -01790e: 3907 2100 |00c3: if-nez v7, 00e4 // +0021 │ │ -017912: 6e10 a205 0500 |00c5: invoke-virtual {v5}, Ljava/lang/String;.trim:()Ljava/lang/String; // method@05a2 │ │ -017918: 0c07 |00c8: move-result-object v7 │ │ -01791a: 6e20 8d05 9700 |00c9: invoke-virtual {v7, v9}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058d │ │ -017920: 0a07 |00cc: move-result v7 │ │ -017922: 3907 1700 |00cd: if-nez v7, 00e4 // +0017 │ │ -017926: 7100 2707 0000 |00cf: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0727 │ │ -01792c: 0c07 |00d2: move-result-object v7 │ │ -01792e: 220b 2d01 |00d3: new-instance v11, Ljava/lang/StringBuilder; // type@012d │ │ -017932: 1a0c bb00 |00d5: const-string v12, "Adding routes: " // string@00bb │ │ -017936: 7020 aa05 cb00 |00d7: invoke-direct {v11, v12}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05aa │ │ -01793c: 6e20 af05 5b00 |00da: invoke-virtual {v11, v5}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -017942: 6e10 b105 0b00 |00dd: invoke-virtual {v11}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ -017948: 0c0b |00e0: move-result-object v11 │ │ -01794a: 7220 3307 b700 |00e1: invoke-interface {v7, v11}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0733 │ │ -017950: 2207 6601 |00e4: new-instance v7, Ljava/util/StringTokenizer; // type@0166 │ │ -017954: 7030 6406 5709 |00e6: invoke-direct {v7, v5, v9}, Ljava/util/StringTokenizer;.:(Ljava/lang/String;Ljava/lang/String;)V // method@0664 │ │ -01795a: 6e10 6506 0700 |00e9: invoke-virtual {v7}, Ljava/util/StringTokenizer;.countTokens:()I // method@0665 │ │ -017960: 0a05 |00ec: move-result v5 │ │ -017962: 1209 |00ed: const/4 v9, #int 0 // #0 │ │ -017964: 3559 4300 |00ee: if-ge v9, v5, 0131 // +0043 │ │ -017968: 6e10 6806 0700 |00f0: invoke-virtual {v7}, Ljava/util/StringTokenizer;.nextToken:()Ljava/lang/String; // method@0668 │ │ -01796e: 0c0b |00f3: move-result-object v11 │ │ -017970: 6e10 a205 0b00 |00f4: invoke-virtual {v11}, Ljava/lang/String;.trim:()Ljava/lang/String; // method@05a2 │ │ -017976: 0c0b |00f7: move-result-object v11 │ │ -017978: 6e20 8d05 8b00 |00f8: invoke-virtual {v11, v8}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058d │ │ -01797e: 0a0c |00fb: move-result v12 │ │ -017980: 390c 3200 |00fc: if-nez v12, 012e // +0032 │ │ -017984: 7110 d505 0b00 |00fe: invoke-static {v11}, Ljava/net/InetAddress;.getByName:(Ljava/lang/String;)Ljava/net/InetAddress; // method@05d5 │ │ -01798a: 0c0c |0101: move-result-object v12 │ │ -01798c: 20cd 3501 |0102: instance-of v13, v12, Ljava/net/Inet4Address; // type@0135 │ │ -017990: 380d 1000 |0104: if-eqz v13, 0114 // +0010 │ │ -017994: 7110 b102 0100 |0106: invoke-static {v1}, Ldnsfilter/android/DNSFilterService;.supportsIPVersion:(I)Z // method@02b1 │ │ -01799a: 0a0d |0109: move-result v13 │ │ -01799c: 380d 0a00 |010a: if-eqz v13, 0114 // +000a │ │ -0179a0: 7110 d505 0b00 |010c: invoke-static {v11}, Ljava/net/InetAddress;.getByName:(Ljava/lang/String;)Ljava/net/InetAddress; // method@05d5 │ │ -0179a6: 0c0b |010f: move-result-object v11 │ │ -0179a8: 6e30 7000 b003 |0110: invoke-virtual {v0, v11, v3}, Landroid/net/VpnService$Builder;.addRoute:(Ljava/net/InetAddress;I)Landroid/net/VpnService$Builder; // method@0070 │ │ -0179ae: 281b |0113: goto 012e // +001b │ │ -0179b0: 20cc 3601 |0114: instance-of v12, v12, Ljava/net/Inet6Address; // type@0136 │ │ -0179b4: 380c 1800 |0116: if-eqz v12, 012e // +0018 │ │ -0179b8: 7110 b102 0200 |0118: invoke-static {v2}, Ldnsfilter/android/DNSFilterService;.supportsIPVersion:(I)Z // method@02b1 │ │ -0179be: 0a0c |011b: move-result v12 │ │ -0179c0: 380c 1200 |011c: if-eqz v12, 012e // +0012 │ │ -0179c4: 7110 d505 0b00 |011e: invoke-static {v11}, Ljava/net/InetAddress;.getByName:(Ljava/lang/String;)Ljava/net/InetAddress; // method@05d5 │ │ -0179ca: 0c0b |0121: move-result-object v11 │ │ -0179cc: 6e30 7000 b006 |0122: invoke-virtual {v0, v11, v6}, Landroid/net/VpnService$Builder;.addRoute:(Ljava/net/InetAddress;I)Landroid/net/VpnService$Builder; // method@0070 │ │ -0179d2: 2809 |0125: goto 012e // +0009 │ │ -0179d4: 0d0b |0126: move-exception v11 │ │ -0179d6: 7100 2707 0000 |0127: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0727 │ │ -0179dc: 0c0c |012a: move-result-object v12 │ │ -0179de: 7220 3207 bc00 |012b: invoke-interface {v12, v11}, Lutil/LoggerInterface;.logException:(Ljava/lang/Exception;)V // method@0732 │ │ -0179e4: d809 0901 |012e: add-int/lit8 v9, v9, #int 1 // #01 │ │ -0179e8: 28be |0130: goto 00ee // -0042 │ │ -0179ea: 2201 6601 |0131: new-instance v1, Ljava/util/StringTokenizer; // type@0166 │ │ -0179ee: 6202 b800 |0133: sget-object v2, Ldnsfilter/android/DNSFilterService;.DNSFILTER:Ldnsfilter/DNSFilterManager; // field@00b8 │ │ -0179f2: 6e10 9401 0200 |0135: invoke-virtual {v2}, Ldnsfilter/DNSFilterManager;.getConfig:()Ljava/util/Properties; // method@0194 │ │ -0179f8: 0c02 |0138: move-result-object v2 │ │ -0179fa: 1a03 6705 |0139: const-string v3, "androidAppWhiteList" // string@0567 │ │ -0179fe: 6e30 5706 3208 |013b: invoke-virtual {v2, v3, v8}, Ljava/util/Properties;.getProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@0657 │ │ -017a04: 0c02 |013e: move-result-object v2 │ │ -017a06: 1a03 5000 |013f: const-string v3, "," // string@0050 │ │ -017a0a: 7030 6406 2103 |0141: invoke-direct {v1, v2, v3}, Ljava/util/StringTokenizer;.:(Ljava/lang/String;Ljava/lang/String;)V // method@0664 │ │ -017a10: 6e10 6506 0100 |0144: invoke-virtual {v1}, Ljava/util/StringTokenizer;.countTokens:()I // method@0665 │ │ -017a16: 0a02 |0147: move-result v2 │ │ -017a18: 1303 1500 |0148: const/16 v3, #int 21 // #15 │ │ -017a1c: 3802 1200 |014a: if-eqz v2, 015c // +0012 │ │ -017a20: 6005 0200 |014c: sget v5, Landroid/os/Build$VERSION;.SDK_INT:I // field@0002 │ │ -017a24: 3535 0e00 |014e: if-ge v5, v3, 015c // +000e │ │ -017a28: 380f 0b00 |0150: if-eqz v15, 015b // +000b │ │ -017a2c: 7100 2707 0000 |0152: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0727 │ │ -017a32: 0c02 |0155: move-result-object v2 │ │ -017a34: 1a05 da04 |0156: const-string v5, "WARNING!: Application whitelisting not supported for Android version below 5.01! │ │ +017774: |[017774] dnsfilter.android.DNSFilterService.initVPN:(Z)Landroid/os/ParcelFileDescriptor; │ │ +017784: 7100 5301 0000 |0000: invoke-static {}, Ldnsfilter/ConfigurationAccess;.getLocal:()Ldnsfilter/ConfigurationAccess; // method@0153 │ │ +01778a: 0c00 |0003: move-result-object v0 │ │ +01778c: 6e10 4d01 0000 |0004: invoke-virtual {v0}, Ldnsfilter/ConfigurationAccess;.getConfig:()Ljava/util/Properties; // method@014d │ │ +017792: 0c00 |0007: move-result-object v0 │ │ +017794: 1a01 d503 |0008: const-string v1, "MTU" // string@03d5 │ │ +017798: 1a02 7800 |000a: const-string v2, "3000" // string@0078 │ │ +01779c: 6e30 5706 1002 |000c: invoke-virtual {v0, v1, v2}, Ljava/util/Properties;.getProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@0657 │ │ +0177a2: 0c00 |000f: move-result-object v0 │ │ +0177a4: 7110 6705 0000 |0010: invoke-static {v0}, Ljava/lang/Integer;.parseInt:(Ljava/lang/String;)I // method@0567 │ │ +0177aa: 0a00 |0013: move-result v0 │ │ +0177ac: 59e0 ca00 |0014: iput v0, v14, Ldnsfilter/android/DNSFilterService;.mtu:I // field@00ca │ │ +0177b0: 6200 b800 |0016: sget-object v0, Ldnsfilter/android/DNSFilterService;.DNSFILTER:Ldnsfilter/DNSFilterManager; // field@00b8 │ │ +0177b4: 6e10 9401 0000 |0018: invoke-virtual {v0}, Ldnsfilter/DNSFilterManager;.getConfig:()Ljava/util/Properties; // method@0194 │ │ +0177ba: 0c00 |001b: move-result-object v0 │ │ +0177bc: 1a01 330a |001c: const-string v1, "routeUnderlyingDNS" // string@0a33 │ │ +0177c0: 1a02 df06 |001e: const-string v2, "false" // string@06df │ │ +0177c4: 6e30 5706 1002 |0020: invoke-virtual {v0, v1, v2}, Ljava/util/Properties;.getProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@0657 │ │ +0177ca: 0c00 |0023: move-result-object v0 │ │ +0177cc: 7110 4d05 0000 |0024: invoke-static {v0}, Ljava/lang/Boolean;.parseBoolean:(Ljava/lang/String;)Z // method@054d │ │ +0177d2: 0a00 |0027: move-result v0 │ │ +0177d4: 6a00 ce00 |0028: sput-boolean v0, Ldnsfilter/android/DNSFilterService;.routeDNS:Z // field@00ce │ │ +0177d8: 2200 2e00 |002a: new-instance v0, Landroid/net/VpnService$Builder; // type@002e │ │ +0177dc: 7020 6b00 e000 |002c: invoke-direct {v0, v14}, Landroid/net/VpnService$Builder;.:(Landroid/net/VpnService;)V // method@006b │ │ +0177e2: 1a01 6a09 |002f: const-string v1, "personalDNSFilter" // string@096a │ │ +0177e6: 6e20 7600 1000 |0031: invoke-virtual {v0, v1}, Landroid/net/VpnService$Builder;.setSession:(Ljava/lang/String;)Landroid/net/VpnService$Builder; // method@0076 │ │ +0177ec: 1241 |0034: const/4 v1, #int 4 // #4 │ │ +0177ee: 7110 b102 0100 |0035: invoke-static {v1}, Ldnsfilter/android/DNSFilterService;.supportsIPVersion:(I)Z // method@02b1 │ │ +0177f4: 0a02 |0038: move-result v2 │ │ +0177f6: 1303 2000 |0039: const/16 v3, #int 32 // #20 │ │ +0177fa: 1304 1800 |003b: const/16 v4, #int 24 // #18 │ │ +0177fe: 3802 1300 |003d: if-eqz v2, 0050 // +0013 │ │ +017802: 6202 b600 |003f: sget-object v2, Ldnsfilter/android/DNSFilterService;.ADDRESS_IPV4:Ljava/lang/String; // field@00b6 │ │ +017806: 6e30 6c00 2004 |0041: invoke-virtual {v0, v2, v4}, Landroid/net/VpnService$Builder;.addAddress:(Ljava/lang/String;I)Landroid/net/VpnService$Builder; // method@006c │ │ +01780c: 0c02 |0044: move-result-object v2 │ │ +01780e: 6205 bf00 |0045: sget-object v5, Ldnsfilter/android/DNSFilterService;.VIRTUALDNS_IPV4:Ljava/lang/String; // field@00bf │ │ +017812: 6e20 6e00 5200 |0047: invoke-virtual {v2, v5}, Landroid/net/VpnService$Builder;.addDnsServer:(Ljava/lang/String;)Landroid/net/VpnService$Builder; // method@006e │ │ +017818: 0c02 |004a: move-result-object v2 │ │ +01781a: 6205 bf00 |004b: sget-object v5, Ldnsfilter/android/DNSFilterService;.VIRTUALDNS_IPV4:Ljava/lang/String; // field@00bf │ │ +01781e: 6e30 6f00 5203 |004d: invoke-virtual {v2, v5, v3}, Landroid/net/VpnService$Builder;.addRoute:(Ljava/lang/String;I)Landroid/net/VpnService$Builder; // method@006f │ │ +017824: 1262 |0050: const/4 v2, #int 6 // #6 │ │ +017826: 7110 b102 0200 |0051: invoke-static {v2}, Ldnsfilter/android/DNSFilterService;.supportsIPVersion:(I)Z // method@02b1 │ │ +01782c: 0a05 |0054: move-result v5 │ │ +01782e: 1306 8000 |0055: const/16 v6, #int 128 // #80 │ │ +017832: 3805 1500 |0057: if-eqz v5, 006c // +0015 │ │ +017836: 6205 b700 |0059: sget-object v5, Ldnsfilter/android/DNSFilterService;.ADDRESS_IPV6:Ljava/lang/String; // field@00b7 │ │ +01783a: 1307 3000 |005b: const/16 v7, #int 48 // #30 │ │ +01783e: 6e30 6c00 5007 |005d: invoke-virtual {v0, v5, v7}, Landroid/net/VpnService$Builder;.addAddress:(Ljava/lang/String;I)Landroid/net/VpnService$Builder; // method@006c │ │ +017844: 0c05 |0060: move-result-object v5 │ │ +017846: 6207 c000 |0061: sget-object v7, Ldnsfilter/android/DNSFilterService;.VIRTUALDNS_IPV6:Ljava/lang/String; // field@00c0 │ │ +01784a: 6e20 6e00 7500 |0063: invoke-virtual {v5, v7}, Landroid/net/VpnService$Builder;.addDnsServer:(Ljava/lang/String;)Landroid/net/VpnService$Builder; // method@006e │ │ +017850: 0c05 |0066: move-result-object v5 │ │ +017852: 6207 c000 |0067: sget-object v7, Ldnsfilter/android/DNSFilterService;.VIRTUALDNS_IPV6:Ljava/lang/String; // field@00c0 │ │ +017856: 6e30 6f00 7506 |0069: invoke-virtual {v5, v7, v6}, Landroid/net/VpnService$Builder;.addRoute:(Ljava/lang/String;I)Landroid/net/VpnService$Builder; // method@006f │ │ +01785c: 6205 b800 |006c: sget-object v5, Ldnsfilter/android/DNSFilterService;.DNSFILTER:Ldnsfilter/DNSFilterManager; // field@00b8 │ │ +017860: 6e10 9401 0500 |006e: invoke-virtual {v5}, Ldnsfilter/DNSFilterManager;.getConfig:()Ljava/util/Properties; // method@0194 │ │ +017866: 0c05 |0071: move-result-object v5 │ │ +017868: 1a07 320a |0072: const-string v7, "routeIPs" // string@0a32 │ │ +01786c: 1a08 0000 |0074: const-string v8, "" // string@0000 │ │ +017870: 6e30 5706 7508 |0076: invoke-virtual {v5, v7, v8}, Ljava/util/Properties;.getProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@0657 │ │ +017876: 0c05 |0079: move-result-object v5 │ │ +017878: 6e10 a205 0500 |007a: invoke-virtual {v5}, Ljava/lang/String;.trim:()Ljava/lang/String; // method@05a2 │ │ +01787e: 0c07 |007d: move-result-object v7 │ │ +017880: 6e20 8d05 8700 |007e: invoke-virtual {v7, v8}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058d │ │ +017886: 0a07 |0081: move-result v7 │ │ +017888: 1a09 8d00 |0082: const-string v9, "; " // string@008d │ │ +01788c: 3907 1100 |0084: if-nez v7, 0095 // +0011 │ │ +017890: 2207 2d01 |0086: new-instance v7, Ljava/lang/StringBuilder; // type@012d │ │ +017894: 7010 a905 0700 |0088: invoke-direct {v7}, Ljava/lang/StringBuilder;.:()V // method@05a9 │ │ +01789a: 6e20 af05 5700 |008b: invoke-virtual {v7, v5}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +0178a0: 6e20 af05 9700 |008e: invoke-virtual {v7, v9}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +0178a6: 6e10 b105 0700 |0091: invoke-virtual {v7}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ +0178ac: 0c05 |0094: move-result-object v5 │ │ +0178ae: 6307 ce00 |0095: sget-boolean v7, Ldnsfilter/android/DNSFilterService;.routeDNS:Z // field@00ce │ │ +0178b2: 120a |0097: const/4 v10, #int 0 // #0 │ │ +0178b4: 3807 2100 |0098: if-eqz v7, 00b9 // +0021 │ │ +0178b8: 7100 9602 0000 |009a: invoke-static {}, Ldnsfilter/android/DNSFilterService;.getDNSServers:()[Ljava/lang/String; // method@0296 │ │ +0178be: 0c07 |009d: move-result-object v7 │ │ +0178c0: 120b |009e: const/4 v11, #int 0 // #0 │ │ +0178c2: 217c |009f: array-length v12, v7 │ │ +0178c4: 35cb 1900 |00a0: if-ge v11, v12, 00b9 // +0019 │ │ +0178c8: 220c 2d01 |00a2: new-instance v12, Ljava/lang/StringBuilder; // type@012d │ │ +0178cc: 7010 a905 0c00 |00a4: invoke-direct {v12}, Ljava/lang/StringBuilder;.:()V // method@05a9 │ │ +0178d2: 6e20 af05 5c00 |00a7: invoke-virtual {v12, v5}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +0178d8: 4605 070b |00aa: aget-object v5, v7, v11 │ │ +0178dc: 6e20 af05 5c00 |00ac: invoke-virtual {v12, v5}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +0178e2: 6e20 af05 9c00 |00af: invoke-virtual {v12, v9}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +0178e8: 6e10 b105 0c00 |00b2: invoke-virtual {v12}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ +0178ee: 0c05 |00b5: move-result-object v5 │ │ +0178f0: d80b 0b01 |00b6: add-int/lit8 v11, v11, #int 1 // #01 │ │ +0178f4: 28e7 |00b8: goto 009f // -0019 │ │ +0178f6: 6e10 a205 0500 |00b9: invoke-virtual {v5}, Ljava/lang/String;.trim:()Ljava/lang/String; // method@05a2 │ │ +0178fc: 0c07 |00bc: move-result-object v7 │ │ +0178fe: 6e20 8d05 8700 |00bd: invoke-virtual {v7, v8}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058d │ │ +017904: 0a07 |00c0: move-result v7 │ │ +017906: 1a09 8c00 |00c1: const-string v9, ";" // string@008c │ │ +01790a: 3907 2100 |00c3: if-nez v7, 00e4 // +0021 │ │ +01790e: 6e10 a205 0500 |00c5: invoke-virtual {v5}, Ljava/lang/String;.trim:()Ljava/lang/String; // method@05a2 │ │ +017914: 0c07 |00c8: move-result-object v7 │ │ +017916: 6e20 8d05 9700 |00c9: invoke-virtual {v7, v9}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058d │ │ +01791c: 0a07 |00cc: move-result v7 │ │ +01791e: 3907 1700 |00cd: if-nez v7, 00e4 // +0017 │ │ +017922: 7100 2707 0000 |00cf: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0727 │ │ +017928: 0c07 |00d2: move-result-object v7 │ │ +01792a: 220b 2d01 |00d3: new-instance v11, Ljava/lang/StringBuilder; // type@012d │ │ +01792e: 1a0c bb00 |00d5: const-string v12, "Adding routes: " // string@00bb │ │ +017932: 7020 aa05 cb00 |00d7: invoke-direct {v11, v12}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05aa │ │ +017938: 6e20 af05 5b00 |00da: invoke-virtual {v11, v5}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +01793e: 6e10 b105 0b00 |00dd: invoke-virtual {v11}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ +017944: 0c0b |00e0: move-result-object v11 │ │ +017946: 7220 3307 b700 |00e1: invoke-interface {v7, v11}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0733 │ │ +01794c: 2207 6601 |00e4: new-instance v7, Ljava/util/StringTokenizer; // type@0166 │ │ +017950: 7030 6406 5709 |00e6: invoke-direct {v7, v5, v9}, Ljava/util/StringTokenizer;.:(Ljava/lang/String;Ljava/lang/String;)V // method@0664 │ │ +017956: 6e10 6506 0700 |00e9: invoke-virtual {v7}, Ljava/util/StringTokenizer;.countTokens:()I // method@0665 │ │ +01795c: 0a05 |00ec: move-result v5 │ │ +01795e: 1209 |00ed: const/4 v9, #int 0 // #0 │ │ +017960: 3559 4300 |00ee: if-ge v9, v5, 0131 // +0043 │ │ +017964: 6e10 6806 0700 |00f0: invoke-virtual {v7}, Ljava/util/StringTokenizer;.nextToken:()Ljava/lang/String; // method@0668 │ │ +01796a: 0c0b |00f3: move-result-object v11 │ │ +01796c: 6e10 a205 0b00 |00f4: invoke-virtual {v11}, Ljava/lang/String;.trim:()Ljava/lang/String; // method@05a2 │ │ +017972: 0c0b |00f7: move-result-object v11 │ │ +017974: 6e20 8d05 8b00 |00f8: invoke-virtual {v11, v8}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058d │ │ +01797a: 0a0c |00fb: move-result v12 │ │ +01797c: 390c 3200 |00fc: if-nez v12, 012e // +0032 │ │ +017980: 7110 d505 0b00 |00fe: invoke-static {v11}, Ljava/net/InetAddress;.getByName:(Ljava/lang/String;)Ljava/net/InetAddress; // method@05d5 │ │ +017986: 0c0c |0101: move-result-object v12 │ │ +017988: 20cd 3501 |0102: instance-of v13, v12, Ljava/net/Inet4Address; // type@0135 │ │ +01798c: 380d 1000 |0104: if-eqz v13, 0114 // +0010 │ │ +017990: 7110 b102 0100 |0106: invoke-static {v1}, Ldnsfilter/android/DNSFilterService;.supportsIPVersion:(I)Z // method@02b1 │ │ +017996: 0a0d |0109: move-result v13 │ │ +017998: 380d 0a00 |010a: if-eqz v13, 0114 // +000a │ │ +01799c: 7110 d505 0b00 |010c: invoke-static {v11}, Ljava/net/InetAddress;.getByName:(Ljava/lang/String;)Ljava/net/InetAddress; // method@05d5 │ │ +0179a2: 0c0b |010f: move-result-object v11 │ │ +0179a4: 6e30 7000 b003 |0110: invoke-virtual {v0, v11, v3}, Landroid/net/VpnService$Builder;.addRoute:(Ljava/net/InetAddress;I)Landroid/net/VpnService$Builder; // method@0070 │ │ +0179aa: 281b |0113: goto 012e // +001b │ │ +0179ac: 20cc 3601 |0114: instance-of v12, v12, Ljava/net/Inet6Address; // type@0136 │ │ +0179b0: 380c 1800 |0116: if-eqz v12, 012e // +0018 │ │ +0179b4: 7110 b102 0200 |0118: invoke-static {v2}, Ldnsfilter/android/DNSFilterService;.supportsIPVersion:(I)Z // method@02b1 │ │ +0179ba: 0a0c |011b: move-result v12 │ │ +0179bc: 380c 1200 |011c: if-eqz v12, 012e // +0012 │ │ +0179c0: 7110 d505 0b00 |011e: invoke-static {v11}, Ljava/net/InetAddress;.getByName:(Ljava/lang/String;)Ljava/net/InetAddress; // method@05d5 │ │ +0179c6: 0c0b |0121: move-result-object v11 │ │ +0179c8: 6e30 7000 b006 |0122: invoke-virtual {v0, v11, v6}, Landroid/net/VpnService$Builder;.addRoute:(Ljava/net/InetAddress;I)Landroid/net/VpnService$Builder; // method@0070 │ │ +0179ce: 2809 |0125: goto 012e // +0009 │ │ +0179d0: 0d0b |0126: move-exception v11 │ │ +0179d2: 7100 2707 0000 |0127: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0727 │ │ +0179d8: 0c0c |012a: move-result-object v12 │ │ +0179da: 7220 3207 bc00 |012b: invoke-interface {v12, v11}, Lutil/LoggerInterface;.logException:(Ljava/lang/Exception;)V // method@0732 │ │ +0179e0: d809 0901 |012e: add-int/lit8 v9, v9, #int 1 // #01 │ │ +0179e4: 28be |0130: goto 00ee // -0042 │ │ +0179e6: 2201 6601 |0131: new-instance v1, Ljava/util/StringTokenizer; // type@0166 │ │ +0179ea: 6202 b800 |0133: sget-object v2, Ldnsfilter/android/DNSFilterService;.DNSFILTER:Ldnsfilter/DNSFilterManager; // field@00b8 │ │ +0179ee: 6e10 9401 0200 |0135: invoke-virtual {v2}, Ldnsfilter/DNSFilterManager;.getConfig:()Ljava/util/Properties; // method@0194 │ │ +0179f4: 0c02 |0138: move-result-object v2 │ │ +0179f6: 1a03 6705 |0139: const-string v3, "androidAppWhiteList" // string@0567 │ │ +0179fa: 6e30 5706 3208 |013b: invoke-virtual {v2, v3, v8}, Ljava/util/Properties;.getProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@0657 │ │ +017a00: 0c02 |013e: move-result-object v2 │ │ +017a02: 1a03 5000 |013f: const-string v3, "," // string@0050 │ │ +017a06: 7030 6406 2103 |0141: invoke-direct {v1, v2, v3}, Ljava/util/StringTokenizer;.:(Ljava/lang/String;Ljava/lang/String;)V // method@0664 │ │ +017a0c: 6e10 6506 0100 |0144: invoke-virtual {v1}, Ljava/util/StringTokenizer;.countTokens:()I // method@0665 │ │ +017a12: 0a02 |0147: move-result v2 │ │ +017a14: 1303 1500 |0148: const/16 v3, #int 21 // #15 │ │ +017a18: 3802 1200 |014a: if-eqz v2, 015c // +0012 │ │ +017a1c: 6005 0200 |014c: sget v5, Landroid/os/Build$VERSION;.SDK_INT:I // field@0002 │ │ +017a20: 3535 0e00 |014e: if-ge v5, v3, 015c // +000e │ │ +017a24: 380f 0b00 |0150: if-eqz v15, 015b // +000b │ │ +017a28: 7100 2707 0000 |0152: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0727 │ │ +017a2e: 0c02 |0155: move-result-object v2 │ │ +017a30: 1a05 da04 |0156: const-string v5, "WARNING!: Application whitelisting not supported for Android version below 5.01! │ │ Setting ignored!" // string@04da │ │ -017a38: 7220 3307 5200 |0158: invoke-interface {v2, v5}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0733 │ │ -017a3e: 1202 |015b: const/4 v2, #int 0 // #0 │ │ -017a40: 1205 |015c: const/4 v5, #int 0 // #0 │ │ -017a42: 3525 1000 |015d: if-ge v5, v2, 016d // +0010 │ │ -017a46: 6e10 6806 0100 |015f: invoke-virtual {v1}, Ljava/util/StringTokenizer;.nextToken:()Ljava/lang/String; // method@0668 │ │ -017a4c: 0c06 |0162: move-result-object v6 │ │ -017a4e: 6e10 a205 0600 |0163: invoke-virtual {v6}, Ljava/lang/String;.trim:()Ljava/lang/String; // method@05a2 │ │ -017a54: 0c06 |0166: move-result-object v6 │ │ -017a56: 7030 9302 6e00 |0167: invoke-direct {v14, v6, v0}, Ldnsfilter/android/DNSFilterService;.excludeApp:(Ljava/lang/String;Landroid/net/VpnService$Builder;)V // method@0293 │ │ -017a5c: d805 0501 |016a: add-int/lit8 v5, v5, #int 1 // #01 │ │ -017a60: 28f1 |016c: goto 015d // -000f │ │ -017a62: 6001 0200 |016d: sget v1, Landroid/os/Build$VERSION;.SDK_INT:I // field@0002 │ │ -017a66: 3441 3a00 |016f: if-lt v1, v4, 01a9 // +003a │ │ -017a6a: 6001 0200 |0171: sget v1, Landroid/os/Build$VERSION;.SDK_INT:I // field@0002 │ │ -017a6e: 1302 1b00 |0173: const/16 v2, #int 27 // #1b │ │ -017a72: 3621 3400 |0175: if-gt v1, v2, 01a9 // +0034 │ │ -017a76: 380f 1900 |0177: if-eqz v15, 0190 // +0019 │ │ -017a7a: 7100 2707 0000 |0179: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0727 │ │ -017a80: 0c01 |017c: move-result-object v1 │ │ -017a82: 2202 2d01 |017d: new-instance v2, Ljava/lang/StringBuilder; // type@012d │ │ -017a86: 1a04 4904 |017f: const-string v4, "Running on SDK" // string@0449 │ │ -017a8a: 7020 aa05 4200 |0181: invoke-direct {v2, v4}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05aa │ │ -017a90: 6004 0200 |0184: sget v4, Landroid/os/Build$VERSION;.SDK_INT:I // field@0002 │ │ -017a94: 6e20 ac05 4200 |0186: invoke-virtual {v2, v4}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@05ac │ │ -017a9a: 6e10 b105 0200 |0189: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ -017aa0: 0c02 |018c: move-result-object v2 │ │ -017aa2: 7220 3307 2100 |018d: invoke-interface {v1, v2}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0733 │ │ -017aa8: 1a01 f805 |0190: const-string v1, "com.android.vending" // string@05f8 │ │ -017aac: 7030 9302 1e00 |0192: invoke-direct {v14, v1, v0}, Ldnsfilter/android/DNSFilterService;.excludeApp:(Ljava/lang/String;Landroid/net/VpnService$Builder;)V // method@0293 │ │ -017ab2: 1a01 f905 |0195: const-string v1, "com.google.android.apps.docs" // string@05f9 │ │ -017ab6: 7030 9302 1e00 |0197: invoke-direct {v14, v1, v0}, Ldnsfilter/android/DNSFilterService;.excludeApp:(Ljava/lang/String;Landroid/net/VpnService$Builder;)V // method@0293 │ │ -017abc: 1a01 fa05 |019a: const-string v1, "com.google.android.apps.photos" // string@05fa │ │ -017ac0: 7030 9302 1e00 |019c: invoke-direct {v14, v1, v0}, Ldnsfilter/android/DNSFilterService;.excludeApp:(Ljava/lang/String;Landroid/net/VpnService$Builder;)V // method@0293 │ │ -017ac6: 1a01 fc05 |019f: const-string v1, "com.google.android.gm" // string@05fc │ │ -017aca: 7030 9302 1e00 |01a1: invoke-direct {v14, v1, v0}, Ldnsfilter/android/DNSFilterService;.excludeApp:(Ljava/lang/String;Landroid/net/VpnService$Builder;)V // method@0293 │ │ -017ad0: 1a01 fb05 |01a4: const-string v1, "com.google.android.apps.translate" // string@05fb │ │ -017ad4: 7030 9302 1e00 |01a6: invoke-direct {v14, v1, v0}, Ldnsfilter/android/DNSFilterService;.excludeApp:(Ljava/lang/String;Landroid/net/VpnService$Builder;)V // method@0293 │ │ -017ada: 6001 0200 |01a9: sget v1, Landroid/os/Build$VERSION;.SDK_INT:I // field@0002 │ │ -017ade: 3431 1300 |01ab: if-lt v1, v3, 01be // +0013 │ │ -017ae2: 1211 |01ad: const/4 v1, #int 1 // #1 │ │ -017ae4: 7120 6102 1000 |01ae: invoke-static {v0, v1}, Ldnsfilter/android/BootUpReceiver$$ExternalSyntheticApiModelOutline0;.m:(Landroid/net/VpnService$Builder;Z)Landroid/net/VpnService$Builder; // method@0261 │ │ -017aea: 380f 0b00 |01b1: if-eqz v15, 01bc // +000b │ │ -017aee: 7100 2707 0000 |01b3: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0727 │ │ -017af4: 0c0f |01b6: move-result-object v15 │ │ -017af6: 1a02 9404 |01b7: const-string v2, "Using blocking mode!" // string@0494 │ │ -017afa: 7220 3307 2f00 |01b9: invoke-interface {v15, v2}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0733 │ │ -017b00: 5ce1 c100 |01bc: iput-boolean v1, v14, Ldnsfilter/android/DNSFilterService;.blocking:Z // field@00c1 │ │ -017b04: 52ef ca00 |01be: iget v15, v14, Ldnsfilter/android/DNSFilterService;.mtu:I // field@00ca │ │ -017b08: 6e20 7500 f000 |01c0: invoke-virtual {v0, v15}, Landroid/net/VpnService$Builder;.setMtu:(I)Landroid/net/VpnService$Builder; // method@0075 │ │ -017b0e: 600f 0200 |01c3: sget v15, Landroid/os/Build$VERSION;.SDK_INT:I // field@0002 │ │ -017b12: 1301 1d00 |01c5: const/16 v1, #int 29 // #1d │ │ -017b16: 341f 0500 |01c7: if-lt v15, v1, 01cc // +0005 │ │ -017b1a: 7120 7202 a000 |01c9: invoke-static {v0, v10}, Ldnsfilter/android/BootUpReceiver$$ExternalSyntheticApiModelOutline0;.m$1:(Landroid/net/VpnService$Builder;Z)Landroid/net/VpnService$Builder; // method@0272 │ │ -017b20: 54ef cc00 |01cc: iget-object v15, v14, Ldnsfilter/android/DNSFilterService;.pendingIntent:Landroid/app/PendingIntent; // field@00cc │ │ -017b24: 6e20 7300 f000 |01ce: invoke-virtual {v0, v15}, Landroid/net/VpnService$Builder;.setConfigureIntent:(Landroid/app/PendingIntent;)Landroid/net/VpnService$Builder; // method@0073 │ │ -017b2a: 0c0f |01d1: move-result-object v15 │ │ -017b2c: 6e10 7100 0f00 |01d2: invoke-virtual {v15}, Landroid/net/VpnService$Builder;.establish:()Landroid/os/ParcelFileDescriptor; // method@0071 │ │ -017b32: 0c0f |01d5: move-result-object v15 │ │ -017b34: 110f |01d6: return-object v15 │ │ +017a34: 7220 3307 5200 |0158: invoke-interface {v2, v5}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0733 │ │ +017a3a: 1202 |015b: const/4 v2, #int 0 // #0 │ │ +017a3c: 1205 |015c: const/4 v5, #int 0 // #0 │ │ +017a3e: 3525 1000 |015d: if-ge v5, v2, 016d // +0010 │ │ +017a42: 6e10 6806 0100 |015f: invoke-virtual {v1}, Ljava/util/StringTokenizer;.nextToken:()Ljava/lang/String; // method@0668 │ │ +017a48: 0c06 |0162: move-result-object v6 │ │ +017a4a: 6e10 a205 0600 |0163: invoke-virtual {v6}, Ljava/lang/String;.trim:()Ljava/lang/String; // method@05a2 │ │ +017a50: 0c06 |0166: move-result-object v6 │ │ +017a52: 7030 9302 6e00 |0167: invoke-direct {v14, v6, v0}, Ldnsfilter/android/DNSFilterService;.excludeApp:(Ljava/lang/String;Landroid/net/VpnService$Builder;)V // method@0293 │ │ +017a58: d805 0501 |016a: add-int/lit8 v5, v5, #int 1 // #01 │ │ +017a5c: 28f1 |016c: goto 015d // -000f │ │ +017a5e: 6001 0200 |016d: sget v1, Landroid/os/Build$VERSION;.SDK_INT:I // field@0002 │ │ +017a62: 3441 3a00 |016f: if-lt v1, v4, 01a9 // +003a │ │ +017a66: 6001 0200 |0171: sget v1, Landroid/os/Build$VERSION;.SDK_INT:I // field@0002 │ │ +017a6a: 1302 1b00 |0173: const/16 v2, #int 27 // #1b │ │ +017a6e: 3621 3400 |0175: if-gt v1, v2, 01a9 // +0034 │ │ +017a72: 380f 1900 |0177: if-eqz v15, 0190 // +0019 │ │ +017a76: 7100 2707 0000 |0179: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0727 │ │ +017a7c: 0c01 |017c: move-result-object v1 │ │ +017a7e: 2202 2d01 |017d: new-instance v2, Ljava/lang/StringBuilder; // type@012d │ │ +017a82: 1a04 4904 |017f: const-string v4, "Running on SDK" // string@0449 │ │ +017a86: 7020 aa05 4200 |0181: invoke-direct {v2, v4}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05aa │ │ +017a8c: 6004 0200 |0184: sget v4, Landroid/os/Build$VERSION;.SDK_INT:I // field@0002 │ │ +017a90: 6e20 ac05 4200 |0186: invoke-virtual {v2, v4}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@05ac │ │ +017a96: 6e10 b105 0200 |0189: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ +017a9c: 0c02 |018c: move-result-object v2 │ │ +017a9e: 7220 3307 2100 |018d: invoke-interface {v1, v2}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0733 │ │ +017aa4: 1a01 f805 |0190: const-string v1, "com.android.vending" // string@05f8 │ │ +017aa8: 7030 9302 1e00 |0192: invoke-direct {v14, v1, v0}, Ldnsfilter/android/DNSFilterService;.excludeApp:(Ljava/lang/String;Landroid/net/VpnService$Builder;)V // method@0293 │ │ +017aae: 1a01 f905 |0195: const-string v1, "com.google.android.apps.docs" // string@05f9 │ │ +017ab2: 7030 9302 1e00 |0197: invoke-direct {v14, v1, v0}, Ldnsfilter/android/DNSFilterService;.excludeApp:(Ljava/lang/String;Landroid/net/VpnService$Builder;)V // method@0293 │ │ +017ab8: 1a01 fa05 |019a: const-string v1, "com.google.android.apps.photos" // string@05fa │ │ +017abc: 7030 9302 1e00 |019c: invoke-direct {v14, v1, v0}, Ldnsfilter/android/DNSFilterService;.excludeApp:(Ljava/lang/String;Landroid/net/VpnService$Builder;)V // method@0293 │ │ +017ac2: 1a01 fc05 |019f: const-string v1, "com.google.android.gm" // string@05fc │ │ +017ac6: 7030 9302 1e00 |01a1: invoke-direct {v14, v1, v0}, Ldnsfilter/android/DNSFilterService;.excludeApp:(Ljava/lang/String;Landroid/net/VpnService$Builder;)V // method@0293 │ │ +017acc: 1a01 fb05 |01a4: const-string v1, "com.google.android.apps.translate" // string@05fb │ │ +017ad0: 7030 9302 1e00 |01a6: invoke-direct {v14, v1, v0}, Ldnsfilter/android/DNSFilterService;.excludeApp:(Ljava/lang/String;Landroid/net/VpnService$Builder;)V // method@0293 │ │ +017ad6: 6001 0200 |01a9: sget v1, Landroid/os/Build$VERSION;.SDK_INT:I // field@0002 │ │ +017ada: 3431 1300 |01ab: if-lt v1, v3, 01be // +0013 │ │ +017ade: 1211 |01ad: const/4 v1, #int 1 // #1 │ │ +017ae0: 7120 6102 1000 |01ae: invoke-static {v0, v1}, Ldnsfilter/android/BootUpReceiver$$ExternalSyntheticApiModelOutline0;.m:(Landroid/net/VpnService$Builder;Z)Landroid/net/VpnService$Builder; // method@0261 │ │ +017ae6: 380f 0b00 |01b1: if-eqz v15, 01bc // +000b │ │ +017aea: 7100 2707 0000 |01b3: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0727 │ │ +017af0: 0c0f |01b6: move-result-object v15 │ │ +017af2: 1a02 9404 |01b7: const-string v2, "Using blocking mode!" // string@0494 │ │ +017af6: 7220 3307 2f00 |01b9: invoke-interface {v15, v2}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0733 │ │ +017afc: 5ce1 c100 |01bc: iput-boolean v1, v14, Ldnsfilter/android/DNSFilterService;.blocking:Z // field@00c1 │ │ +017b00: 52ef ca00 |01be: iget v15, v14, Ldnsfilter/android/DNSFilterService;.mtu:I // field@00ca │ │ +017b04: 6e20 7500 f000 |01c0: invoke-virtual {v0, v15}, Landroid/net/VpnService$Builder;.setMtu:(I)Landroid/net/VpnService$Builder; // method@0075 │ │ +017b0a: 600f 0200 |01c3: sget v15, Landroid/os/Build$VERSION;.SDK_INT:I // field@0002 │ │ +017b0e: 1301 1d00 |01c5: const/16 v1, #int 29 // #1d │ │ +017b12: 341f 0500 |01c7: if-lt v15, v1, 01cc // +0005 │ │ +017b16: 7120 7202 a000 |01c9: invoke-static {v0, v10}, Ldnsfilter/android/BootUpReceiver$$ExternalSyntheticApiModelOutline0;.m$1:(Landroid/net/VpnService$Builder;Z)Landroid/net/VpnService$Builder; // method@0272 │ │ +017b1c: 54ef cc00 |01cc: iget-object v15, v14, Ldnsfilter/android/DNSFilterService;.pendingIntent:Landroid/app/PendingIntent; // field@00cc │ │ +017b20: 6e20 7300 f000 |01ce: invoke-virtual {v0, v15}, Landroid/net/VpnService$Builder;.setConfigureIntent:(Landroid/app/PendingIntent;)Landroid/net/VpnService$Builder; // method@0073 │ │ +017b26: 0c0f |01d1: move-result-object v15 │ │ +017b28: 6e10 7100 0f00 |01d2: invoke-virtual {v15}, Landroid/net/VpnService$Builder;.establish:()Landroid/os/ParcelFileDescriptor; // method@0071 │ │ +017b2e: 0c0f |01d5: move-result-object v15 │ │ +017b30: 110f |01d6: return-object v15 │ │ catches : 1 │ │ 0x00fe - 0x0125 │ │ Ljava/net/UnknownHostException; -> 0x0126 │ │ positions : │ │ 0x0000 line=570 │ │ 0x0016 line=571 │ │ 0x002a line=573 │ │ @@ -13345,23 +13345,23 @@ │ │ type : '()V' │ │ access : 0x0009 (PUBLIC STATIC) │ │ code - │ │ registers : 2 │ │ ins : 0 │ │ outs : 2 │ │ insns size : 16 16-bit code units │ │ -018a00: |[018a00] dnsfilter.android.DNSFilterService.onReload:()V │ │ -018a10: 6200 bb00 |0000: sget-object v0, Ldnsfilter/android/DNSFilterService;.INSTANCE:Ldnsfilter/android/DNSFilterService; // field@00bb │ │ -018a14: 3800 0600 |0002: if-eqz v0, 0008 // +0006 │ │ -018a18: 6e10 a802 0000 |0004: invoke-virtual {v0}, Ldnsfilter/android/DNSFilterService;.reload:()V // method@02a8 │ │ -018a1e: 0e00 |0007: return-void │ │ -018a20: 2200 0001 |0008: new-instance v0, Ljava/io/IOException; // type@0100 │ │ -018a24: 1a01 5b04 |000a: const-string v1, "Service instance is null!" // string@045b │ │ -018a28: 7020 2105 1000 |000c: invoke-direct {v0, v1}, Ljava/io/IOException;.:(Ljava/lang/String;)V // method@0521 │ │ -018a2e: 2700 |000f: throw v0 │ │ +0189fc: |[0189fc] dnsfilter.android.DNSFilterService.onReload:()V │ │ +018a0c: 6200 bb00 |0000: sget-object v0, Ldnsfilter/android/DNSFilterService;.INSTANCE:Ldnsfilter/android/DNSFilterService; // field@00bb │ │ +018a10: 3800 0600 |0002: if-eqz v0, 0008 // +0006 │ │ +018a14: 6e10 a802 0000 |0004: invoke-virtual {v0}, Ldnsfilter/android/DNSFilterService;.reload:()V // method@02a8 │ │ +018a1a: 0e00 |0007: return-void │ │ +018a1c: 2200 0001 |0008: new-instance v0, Ljava/io/IOException; // type@0100 │ │ +018a20: 1a01 5b04 |000a: const-string v1, "Service instance is null!" // string@045b │ │ +018a24: 7020 2105 1000 |000c: invoke-direct {v0, v1}, Ljava/io/IOException;.:(Ljava/lang/String;)V // method@0521 │ │ +018a2a: 2700 |000f: throw v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=1062 │ │ 0x0004 line=1064 │ │ 0x0008 line=1066 │ │ locals : │ │ │ │ @@ -13370,67 +13370,67 @@ │ │ type : '(Z)V' │ │ access : 0x0009 (PUBLIC STATIC) │ │ code - │ │ registers : 6 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 100 16-bit code units │ │ -018a5c: |[018a5c] dnsfilter.android.DNSFilterService.possibleNetworkChange:(Z)V │ │ -018a6c: 7100 d406 0000 |0000: invoke-static {}, Lutil/ExecutionEnvironment;.getEnvironment:()Lutil/ExecutionEnvironmentInterface; // method@06d4 │ │ -018a72: 0c00 |0003: move-result-object v0 │ │ -018a74: 7210 e506 0000 |0004: invoke-interface {v0}, Lutil/ExecutionEnvironmentInterface;.hasNetwork:()Z // method@06e5 │ │ -018a7a: 0a00 |0007: move-result v0 │ │ -018a7c: 3800 5b00 |0008: if-eqz v0, 0063 // +005b │ │ -018a80: 6300 cd00 |000a: sget-boolean v0, Ldnsfilter/android/DNSFilterService;.rootMode:Z // field@00cd │ │ -018a84: 3800 0700 |000c: if-eqz v0, 0013 // +0007 │ │ -018a88: 6200 c600 |000e: sget-object v0, Ldnsfilter/android/DNSFilterService;.dnsReqForwarder:Ldnsfilter/android/DNSFilterService$DNSReqForwarder; // field@00c6 │ │ -018a8c: 7110 7f02 0000 |0010: invoke-static {v0}, Ldnsfilter/android/DNSFilterService$DNSReqForwarder;.access$500:(Ldnsfilter/android/DNSFilterService$DNSReqForwarder;)V // method@027f │ │ -018a92: 7100 9602 0000 |0013: invoke-static {}, Ldnsfilter/android/DNSFilterService;.getDNSServers:()[Ljava/lang/String; // method@0296 │ │ -018a98: 0c00 |0016: move-result-object v0 │ │ -018a9a: 7100 d406 0000 |0017: invoke-static {}, Lutil/ExecutionEnvironment;.getEnvironment:()Lutil/ExecutionEnvironmentInterface; // method@06d4 │ │ -018aa0: 0c01 |001a: move-result-object v1 │ │ -018aa2: 7210 e006 0100 |001b: invoke-interface {v1}, Lutil/ExecutionEnvironmentInterface;.debug:()Z // method@06e0 │ │ -018aa8: 0a01 |001e: move-result v1 │ │ -018aaa: 1202 |001f: const/4 v2, #int 0 // #0 │ │ -018aac: 3801 1b00 |0020: if-eqz v1, 003b // +001b │ │ -018ab0: 7100 2707 0000 |0022: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0727 │ │ -018ab6: 0c01 |0025: move-result-object v1 │ │ -018ab8: 1a03 6701 |0026: const-string v3, "Detected DNS Servers:*******************" // string@0167 │ │ -018abc: 7220 3307 3100 |0028: invoke-interface {v1, v3}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0733 │ │ -018ac2: 1201 |002b: const/4 v1, #int 0 // #0 │ │ -018ac4: 2103 |002c: array-length v3, v0 │ │ -018ac6: 3531 0e00 |002d: if-ge v1, v3, 003b // +000e │ │ -018aca: 7100 2707 0000 |002f: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0727 │ │ -018ad0: 0c03 |0032: move-result-object v3 │ │ -018ad2: 4604 0001 |0033: aget-object v4, v0, v1 │ │ -018ad6: 7220 3307 4300 |0035: invoke-interface {v3, v4}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0733 │ │ -018adc: d801 0101 |0038: add-int/lit8 v1, v1, #int 1 // #01 │ │ -018ae0: 28f2 |003a: goto 002c // -000e │ │ -018ae2: 2101 |003b: array-length v1, v0 │ │ -018ae4: 3801 0c00 |003c: if-eqz v1, 0048 // +000c │ │ -018ae8: 6201 c800 |003e: sget-object v1, Ldnsfilter/android/DNSFilterService;.lastDNSServers:[Ljava/lang/String; // field@00c8 │ │ -018aec: 7120 8f07 0100 |0040: invoke-static {v1, v0}, Lutil/Utils;.arrayEqual:([Ljava/lang/Object;[Ljava/lang/Object;)Z // method@078f │ │ -018af2: 0a01 |0043: move-result v1 │ │ -018af4: 3901 0400 |0044: if-nez v1, 0048 // +0004 │ │ -018af8: 1211 |0046: const/4 v1, #int 1 // #1 │ │ -018afa: 2802 |0047: goto 0049 // +0002 │ │ -018afc: 1201 |0048: const/4 v1, #int 0 // #0 │ │ -018afe: 3905 0400 |0049: if-nez v5, 004d // +0004 │ │ -018b02: 3801 0700 |004b: if-eqz v1, 0052 // +0007 │ │ -018b06: 6900 c800 |004d: sput-object v0, Ldnsfilter/android/DNSFilterService;.lastDNSServers:[Ljava/lang/String; // field@00c8 │ │ -018b0a: 7110 9b02 0000 |004f: invoke-static {v0}, Ldnsfilter/android/DNSFilterService;.handleDNSServerChange:([Ljava/lang/String;)V // method@029b │ │ -018b10: 6305 ce00 |0052: sget-boolean v5, Ldnsfilter/android/DNSFilterService;.routeDNS:Z // field@00ce │ │ -018b14: 3805 0f00 |0054: if-eqz v5, 0063 // +000f │ │ -018b18: 3801 0d00 |0056: if-eqz v1, 0063 // +000d │ │ -018b1c: 6205 bb00 |0058: sget-object v5, Ldnsfilter/android/DNSFilterService;.INSTANCE:Ldnsfilter/android/DNSFilterService; // field@00bb │ │ -018b20: 3805 0900 |005a: if-eqz v5, 0063 // +0009 │ │ -018b24: 5450 d100 |005c: iget-object v0, v5, Ldnsfilter/android/DNSFilterService;.vpnRunner:Ldnsfilter/android/DNSFilterService$VPNRunner; // field@00d1 │ │ -018b28: 3800 0500 |005e: if-eqz v0, 0063 // +0005 │ │ -018b2c: 7020 a902 2500 |0060: invoke-direct {v5, v2}, Ldnsfilter/android/DNSFilterService;.restartVPN:(Z)V // method@02a9 │ │ -018b32: 0e00 |0063: return-void │ │ +018a58: |[018a58] dnsfilter.android.DNSFilterService.possibleNetworkChange:(Z)V │ │ +018a68: 7100 d406 0000 |0000: invoke-static {}, Lutil/ExecutionEnvironment;.getEnvironment:()Lutil/ExecutionEnvironmentInterface; // method@06d4 │ │ +018a6e: 0c00 |0003: move-result-object v0 │ │ +018a70: 7210 e506 0000 |0004: invoke-interface {v0}, Lutil/ExecutionEnvironmentInterface;.hasNetwork:()Z // method@06e5 │ │ +018a76: 0a00 |0007: move-result v0 │ │ +018a78: 3800 5b00 |0008: if-eqz v0, 0063 // +005b │ │ +018a7c: 6300 cd00 |000a: sget-boolean v0, Ldnsfilter/android/DNSFilterService;.rootMode:Z // field@00cd │ │ +018a80: 3800 0700 |000c: if-eqz v0, 0013 // +0007 │ │ +018a84: 6200 c600 |000e: sget-object v0, Ldnsfilter/android/DNSFilterService;.dnsReqForwarder:Ldnsfilter/android/DNSFilterService$DNSReqForwarder; // field@00c6 │ │ +018a88: 7110 7f02 0000 |0010: invoke-static {v0}, Ldnsfilter/android/DNSFilterService$DNSReqForwarder;.access$500:(Ldnsfilter/android/DNSFilterService$DNSReqForwarder;)V // method@027f │ │ +018a8e: 7100 9602 0000 |0013: invoke-static {}, Ldnsfilter/android/DNSFilterService;.getDNSServers:()[Ljava/lang/String; // method@0296 │ │ +018a94: 0c00 |0016: move-result-object v0 │ │ +018a96: 7100 d406 0000 |0017: invoke-static {}, Lutil/ExecutionEnvironment;.getEnvironment:()Lutil/ExecutionEnvironmentInterface; // method@06d4 │ │ +018a9c: 0c01 |001a: move-result-object v1 │ │ +018a9e: 7210 e006 0100 |001b: invoke-interface {v1}, Lutil/ExecutionEnvironmentInterface;.debug:()Z // method@06e0 │ │ +018aa4: 0a01 |001e: move-result v1 │ │ +018aa6: 1202 |001f: const/4 v2, #int 0 // #0 │ │ +018aa8: 3801 1b00 |0020: if-eqz v1, 003b // +001b │ │ +018aac: 7100 2707 0000 |0022: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0727 │ │ +018ab2: 0c01 |0025: move-result-object v1 │ │ +018ab4: 1a03 6701 |0026: const-string v3, "Detected DNS Servers:*******************" // string@0167 │ │ +018ab8: 7220 3307 3100 |0028: invoke-interface {v1, v3}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0733 │ │ +018abe: 1201 |002b: const/4 v1, #int 0 // #0 │ │ +018ac0: 2103 |002c: array-length v3, v0 │ │ +018ac2: 3531 0e00 |002d: if-ge v1, v3, 003b // +000e │ │ +018ac6: 7100 2707 0000 |002f: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0727 │ │ +018acc: 0c03 |0032: move-result-object v3 │ │ +018ace: 4604 0001 |0033: aget-object v4, v0, v1 │ │ +018ad2: 7220 3307 4300 |0035: invoke-interface {v3, v4}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0733 │ │ +018ad8: d801 0101 |0038: add-int/lit8 v1, v1, #int 1 // #01 │ │ +018adc: 28f2 |003a: goto 002c // -000e │ │ +018ade: 2101 |003b: array-length v1, v0 │ │ +018ae0: 3801 0c00 |003c: if-eqz v1, 0048 // +000c │ │ +018ae4: 6201 c800 |003e: sget-object v1, Ldnsfilter/android/DNSFilterService;.lastDNSServers:[Ljava/lang/String; // field@00c8 │ │ +018ae8: 7120 8f07 0100 |0040: invoke-static {v1, v0}, Lutil/Utils;.arrayEqual:([Ljava/lang/Object;[Ljava/lang/Object;)Z // method@078f │ │ +018aee: 0a01 |0043: move-result v1 │ │ +018af0: 3901 0400 |0044: if-nez v1, 0048 // +0004 │ │ +018af4: 1211 |0046: const/4 v1, #int 1 // #1 │ │ +018af6: 2802 |0047: goto 0049 // +0002 │ │ +018af8: 1201 |0048: const/4 v1, #int 0 // #0 │ │ +018afa: 3905 0400 |0049: if-nez v5, 004d // +0004 │ │ +018afe: 3801 0700 |004b: if-eqz v1, 0052 // +0007 │ │ +018b02: 6900 c800 |004d: sput-object v0, Ldnsfilter/android/DNSFilterService;.lastDNSServers:[Ljava/lang/String; // field@00c8 │ │ +018b06: 7110 9b02 0000 |004f: invoke-static {v0}, Ldnsfilter/android/DNSFilterService;.handleDNSServerChange:([Ljava/lang/String;)V // method@029b │ │ +018b0c: 6305 ce00 |0052: sget-boolean v5, Ldnsfilter/android/DNSFilterService;.routeDNS:Z // field@00ce │ │ +018b10: 3805 0f00 |0054: if-eqz v5, 0063 // +000f │ │ +018b14: 3801 0d00 |0056: if-eqz v1, 0063 // +000d │ │ +018b18: 6205 bb00 |0058: sget-object v5, Ldnsfilter/android/DNSFilterService;.INSTANCE:Ldnsfilter/android/DNSFilterService; // field@00bb │ │ +018b1c: 3805 0900 |005a: if-eqz v5, 0063 // +0009 │ │ +018b20: 5450 d100 |005c: iget-object v0, v5, Ldnsfilter/android/DNSFilterService;.vpnRunner:Ldnsfilter/android/DNSFilterService$VPNRunner; // field@00d1 │ │ +018b24: 3800 0500 |005e: if-eqz v0, 0063 // +0005 │ │ +018b28: 7020 a902 2500 |0060: invoke-direct {v5, v2}, Ldnsfilter/android/DNSFilterService;.restartVPN:(Z)V // method@02a9 │ │ +018b2e: 0e00 |0063: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=483 │ │ 0x000a line=485 │ │ 0x000e line=486 │ │ 0x0013 line=488 │ │ 0x0017 line=490 │ │ @@ -13450,35 +13450,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 │ │ -017bf0: |[017bf0] dnsfilter.android.DNSFilterService.protectSocket:(Ljava/lang/Object;I)Z │ │ -017c00: 6200 bb00 |0000: sget-object v0, Ldnsfilter/android/DNSFilterService;.INSTANCE:Ldnsfilter/android/DNSFilterService; // field@00bb │ │ -017c04: 6301 c700 |0002: sget-boolean v1, Ldnsfilter/android/DNSFilterService;.is_running:Z // field@00c7 │ │ -017c08: 1212 |0004: const/4 v2, #int 1 // #1 │ │ -017c0a: 3801 1b00 |0005: if-eqz v1, 0020 // +001b │ │ -017c0e: 5401 d100 |0007: iget-object v1, v0, Ldnsfilter/android/DNSFilterService;.vpnRunner:Ldnsfilter/android/DNSFilterService$VPNRunner; // field@00d1 │ │ -017c12: 3901 0300 |0009: if-nez v1, 000c // +0003 │ │ -017c16: 2815 |000b: goto 0020 // +0015 │ │ -017c18: 3904 0900 |000c: if-nez v4, 0015 // +0009 │ │ -017c1c: 1f03 3e01 |000e: check-cast v3, Ljava/net/Socket; // type@013e │ │ -017c20: 6e20 a402 3000 |0010: invoke-virtual {v0, v3}, Ldnsfilter/android/DNSFilterService;.protect:(Ljava/net/Socket;)Z // method@02a4 │ │ -017c26: 0a03 |0013: move-result v3 │ │ -017c28: 0f03 |0014: return v3 │ │ -017c2a: 3324 0900 |0015: if-ne v4, v2, 001e // +0009 │ │ -017c2e: 1f03 3401 |0017: check-cast v3, Ljava/net/DatagramSocket; // type@0134 │ │ -017c32: 6e20 a302 3000 |0019: invoke-virtual {v0, v3}, Ldnsfilter/android/DNSFilterService;.protect:(Ljava/net/DatagramSocket;)Z // method@02a3 │ │ -017c38: 0a03 |001c: move-result v3 │ │ -017c3a: 0f03 |001d: return v3 │ │ -017c3c: 1203 |001e: const/4 v3, #int 0 // #0 │ │ -017c3e: 0f03 |001f: return v3 │ │ -017c40: 0f02 |0020: return v2 │ │ +017bec: |[017bec] dnsfilter.android.DNSFilterService.protectSocket:(Ljava/lang/Object;I)Z │ │ +017bfc: 6200 bb00 |0000: sget-object v0, Ldnsfilter/android/DNSFilterService;.INSTANCE:Ldnsfilter/android/DNSFilterService; // field@00bb │ │ +017c00: 6301 c700 |0002: sget-boolean v1, Ldnsfilter/android/DNSFilterService;.is_running:Z // field@00c7 │ │ +017c04: 1212 |0004: const/4 v2, #int 1 // #1 │ │ +017c06: 3801 1b00 |0005: if-eqz v1, 0020 // +001b │ │ +017c0a: 5401 d100 |0007: iget-object v1, v0, Ldnsfilter/android/DNSFilterService;.vpnRunner:Ldnsfilter/android/DNSFilterService$VPNRunner; // field@00d1 │ │ +017c0e: 3901 0300 |0009: if-nez v1, 000c // +0003 │ │ +017c12: 2815 |000b: goto 0020 // +0015 │ │ +017c14: 3904 0900 |000c: if-nez v4, 0015 // +0009 │ │ +017c18: 1f03 3e01 |000e: check-cast v3, Ljava/net/Socket; // type@013e │ │ +017c1c: 6e20 a402 3000 |0010: invoke-virtual {v0, v3}, Ldnsfilter/android/DNSFilterService;.protect:(Ljava/net/Socket;)Z // method@02a4 │ │ +017c22: 0a03 |0013: move-result v3 │ │ +017c24: 0f03 |0014: return v3 │ │ +017c26: 3324 0900 |0015: if-ne v4, v2, 001e // +0009 │ │ +017c2a: 1f03 3401 |0017: check-cast v3, Ljava/net/DatagramSocket; // type@0134 │ │ +017c2e: 6e20 a302 3000 |0019: invoke-virtual {v0, v3}, Ldnsfilter/android/DNSFilterService;.protect:(Ljava/net/DatagramSocket;)Z // method@02a3 │ │ +017c34: 0a03 |001c: move-result v3 │ │ +017c36: 0f03 |001d: return v3 │ │ +017c38: 1203 |001e: const/4 v3, #int 0 // #0 │ │ +017c3a: 0f03 |001f: return v3 │ │ +017c3c: 0f02 |0020: return v2 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=226 │ │ 0x0002 line=228 │ │ 0x000e line=233 │ │ 0x0017 line=235 │ │ locals : │ │ @@ -13490,52 +13490,52 @@ │ │ type : '(Z)V' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 9 │ │ ins : 2 │ │ outs : 6 │ │ insns size : 72 16-bit code units │ │ -018b6c: |[018b6c] dnsfilter.android.DNSFilterService.restartVPN:(Z)V │ │ -018b7c: 5470 d100 |0000: iget-object v0, v7, Ldnsfilter/android/DNSFilterService;.vpnRunner:Ldnsfilter/android/DNSFilterService$VPNRunner; // field@00d1 │ │ -018b80: 1201 |0002: const/4 v1, #int 0 // #0 │ │ -018b82: 5b71 d100 |0003: iput-object v1, v7, Ldnsfilter/android/DNSFilterService;.vpnRunner:Ldnsfilter/android/DNSFilterService$VPNRunner; // field@00d1 │ │ -018b86: 3800 0a00 |0005: if-eqz v0, 000f // +000a │ │ -018b8a: 7120 8802 8000 |0007: invoke-static {v0, v8}, Ldnsfilter/android/DNSFilterService$VPNRunner;.access$900:(Ldnsfilter/android/DNSFilterService$VPNRunner;Z)V // method@0288 │ │ -018b90: 1600 6400 |000a: const-wide/16 v0, #int 100 // #64 │ │ -018b94: 7120 a507 1000 |000c: invoke-static {v0, v1}, Lutil/Utils;.sleep:(J)V // method@07a5 │ │ -018b9a: 7100 9901 0000 |000f: invoke-static {}, Ldnsfilter/DNSFilterManager;.getInstance:()Ldnsfilter/DNSFilterManager; // method@0199 │ │ -018ba0: 0c00 |0012: move-result-object v0 │ │ -018ba2: 6900 b800 |0013: sput-object v0, Ldnsfilter/android/DNSFilterService;.DNSFILTER:Ldnsfilter/DNSFilterManager; // field@00b8 │ │ -018ba6: 7020 9c02 8700 |0015: invoke-direct {v7, v8}, Ldnsfilter/android/DNSFilterService;.initVPN:(Z)Landroid/os/ParcelFileDescriptor; // method@029c │ │ -018bac: 0c04 |0018: move-result-object v4 │ │ -018bae: 3804 1e00 |0019: if-eqz v4, 0037 // +001e │ │ -018bb2: 2200 a300 |001b: new-instance v0, Ldnsfilter/android/DNSFilterService$VPNRunner; // type@00a3 │ │ -018bb6: 6001 cf00 |001d: sget v1, Ldnsfilter/android/DNSFilterService;.startCounter:I // field@00cf │ │ -018bba: d803 0101 |001f: add-int/lit8 v3, v1, #int 1 // #01 │ │ -018bbe: 6703 cf00 |0021: sput v3, Ldnsfilter/android/DNSFilterService;.startCounter:I // field@00cf │ │ -018bc2: 1206 |0023: const/4 v6, #int 0 // #0 │ │ -018bc4: 0701 |0024: move-object v1, v0 │ │ -018bc6: 0772 |0025: move-object v2, v7 │ │ -018bc8: 0185 |0026: move v5, v8 │ │ -018bca: 7606 8702 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@0287 │ │ -018bd0: 5b70 d100 |002a: iput-object v0, v7, Ldnsfilter/android/DNSFilterService;.vpnRunner:Ldnsfilter/android/DNSFilterService$VPNRunner; // field@00d1 │ │ -018bd4: 2208 2f01 |002c: new-instance v8, Ljava/lang/Thread; // type@012f │ │ -018bd8: 5470 d100 |002e: iget-object v0, v7, Ldnsfilter/android/DNSFilterService;.vpnRunner:Ldnsfilter/android/DNSFilterService$VPNRunner; // field@00d1 │ │ -018bdc: 7020 b605 0800 |0030: invoke-direct {v8, v0}, Ljava/lang/Thread;.:(Ljava/lang/Runnable;)V // method@05b6 │ │ -018be2: 6e10 bc05 0800 |0033: invoke-virtual {v8}, Ljava/lang/Thread;.start:()V // method@05bc │ │ -018be8: 0e00 |0036: return-void │ │ -018bea: 2208 0001 |0037: new-instance v8, Ljava/io/IOException; // type@0100 │ │ -018bee: 1a00 8301 |0039: const-string v0, "Error! Cannot get VPN interface! Try restart!" // string@0183 │ │ -018bf2: 7020 2105 0800 |003b: invoke-direct {v8, v0}, Ljava/io/IOException;.:(Ljava/lang/String;)V // method@0521 │ │ -018bf8: 2708 |003e: throw v8 │ │ -018bfa: 0d08 |003f: move-exception v8 │ │ -018bfc: 2200 0001 |0040: new-instance v0, Ljava/io/IOException; // type@0100 │ │ -018c00: 1a01 f500 |0042: const-string v1, "Cannot initialize VPN!" // string@00f5 │ │ -018c04: 7030 2205 1008 |0044: invoke-direct {v0, v1, v8}, Ljava/io/IOException;.:(Ljava/lang/String;Ljava/lang/Throwable;)V // method@0522 │ │ -018c0a: 2700 |0047: throw v0 │ │ +018b68: |[018b68] dnsfilter.android.DNSFilterService.restartVPN:(Z)V │ │ +018b78: 5470 d100 |0000: iget-object v0, v7, Ldnsfilter/android/DNSFilterService;.vpnRunner:Ldnsfilter/android/DNSFilterService$VPNRunner; // field@00d1 │ │ +018b7c: 1201 |0002: const/4 v1, #int 0 // #0 │ │ +018b7e: 5b71 d100 |0003: iput-object v1, v7, Ldnsfilter/android/DNSFilterService;.vpnRunner:Ldnsfilter/android/DNSFilterService$VPNRunner; // field@00d1 │ │ +018b82: 3800 0a00 |0005: if-eqz v0, 000f // +000a │ │ +018b86: 7120 8802 8000 |0007: invoke-static {v0, v8}, Ldnsfilter/android/DNSFilterService$VPNRunner;.access$900:(Ldnsfilter/android/DNSFilterService$VPNRunner;Z)V // method@0288 │ │ +018b8c: 1600 6400 |000a: const-wide/16 v0, #int 100 // #64 │ │ +018b90: 7120 a507 1000 |000c: invoke-static {v0, v1}, Lutil/Utils;.sleep:(J)V // method@07a5 │ │ +018b96: 7100 9901 0000 |000f: invoke-static {}, Ldnsfilter/DNSFilterManager;.getInstance:()Ldnsfilter/DNSFilterManager; // method@0199 │ │ +018b9c: 0c00 |0012: move-result-object v0 │ │ +018b9e: 6900 b800 |0013: sput-object v0, Ldnsfilter/android/DNSFilterService;.DNSFILTER:Ldnsfilter/DNSFilterManager; // field@00b8 │ │ +018ba2: 7020 9c02 8700 |0015: invoke-direct {v7, v8}, Ldnsfilter/android/DNSFilterService;.initVPN:(Z)Landroid/os/ParcelFileDescriptor; // method@029c │ │ +018ba8: 0c04 |0018: move-result-object v4 │ │ +018baa: 3804 1e00 |0019: if-eqz v4, 0037 // +001e │ │ +018bae: 2200 a300 |001b: new-instance v0, Ldnsfilter/android/DNSFilterService$VPNRunner; // type@00a3 │ │ +018bb2: 6001 cf00 |001d: sget v1, Ldnsfilter/android/DNSFilterService;.startCounter:I // field@00cf │ │ +018bb6: d803 0101 |001f: add-int/lit8 v3, v1, #int 1 // #01 │ │ +018bba: 6703 cf00 |0021: sput v3, Ldnsfilter/android/DNSFilterService;.startCounter:I // field@00cf │ │ +018bbe: 1206 |0023: const/4 v6, #int 0 // #0 │ │ +018bc0: 0701 |0024: move-object v1, v0 │ │ +018bc2: 0772 |0025: move-object v2, v7 │ │ +018bc4: 0185 |0026: move v5, v8 │ │ +018bc6: 7606 8702 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@0287 │ │ +018bcc: 5b70 d100 |002a: iput-object v0, v7, Ldnsfilter/android/DNSFilterService;.vpnRunner:Ldnsfilter/android/DNSFilterService$VPNRunner; // field@00d1 │ │ +018bd0: 2208 2f01 |002c: new-instance v8, Ljava/lang/Thread; // type@012f │ │ +018bd4: 5470 d100 |002e: iget-object v0, v7, Ldnsfilter/android/DNSFilterService;.vpnRunner:Ldnsfilter/android/DNSFilterService$VPNRunner; // field@00d1 │ │ +018bd8: 7020 b605 0800 |0030: invoke-direct {v8, v0}, Ljava/lang/Thread;.:(Ljava/lang/Runnable;)V // method@05b6 │ │ +018bde: 6e10 bc05 0800 |0033: invoke-virtual {v8}, Ljava/lang/Thread;.start:()V // method@05bc │ │ +018be4: 0e00 |0036: return-void │ │ +018be6: 2208 0001 |0037: new-instance v8, Ljava/io/IOException; // type@0100 │ │ +018bea: 1a00 8301 |0039: const-string v0, "Error! Cannot get VPN interface! Try restart!" // string@0183 │ │ +018bee: 7020 2105 0800 |003b: invoke-direct {v8, v0}, Ljava/io/IOException;.:(Ljava/lang/String;)V // method@0521 │ │ +018bf4: 2708 |003e: throw v8 │ │ +018bf6: 0d08 |003f: move-exception v8 │ │ +018bf8: 2200 0001 |0040: new-instance v0, Ljava/io/IOException; // type@0100 │ │ +018bfc: 1a01 f500 |0042: const-string v1, "Cannot initialize VPN!" // string@00f5 │ │ +018c00: 7030 2205 1008 |0044: invoke-direct {v0, v1, v8}, Ljava/io/IOException;.:(Ljava/lang/String;Ljava/lang/Throwable;)V // method@0522 │ │ +018c06: 2700 |0047: throw v0 │ │ catches : 1 │ │ 0x0015 - 0x0019 │ │ Ljava/lang/Exception; -> 0x003f │ │ positions : │ │ 0x0000 line=1025 │ │ 0x0003 line=1027 │ │ 0x0007 line=1030 │ │ @@ -13555,91 +13555,91 @@ │ │ type : '(ZLjava/lang/String;)V' │ │ access : 0x000a (PRIVATE STATIC) │ │ code - │ │ registers : 9 │ │ ins : 2 │ │ outs : 4 │ │ insns size : 161 16-bit code units │ │ -018c54: |[018c54] dnsfilter.android.DNSFilterService.runOSCommand:(ZLjava/lang/String;)V │ │ -018c64: 7100 2707 0000 |0000: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0727 │ │ -018c6a: 0c00 |0003: move-result-object v0 │ │ -018c6c: 2201 2d01 |0004: new-instance v1, Ljava/lang/StringBuilder; // type@012d │ │ -018c70: 1a02 9201 |0006: const-string v2, "Exec '" // string@0192 │ │ -018c74: 7020 aa05 2100 |0008: invoke-direct {v1, v2}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05aa │ │ -018c7a: 6e20 af05 8100 |000b: invoke-virtual {v1, v8}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -018c80: 1a02 4000 |000e: const-string v2, "' !" // string@0040 │ │ -018c84: 6e20 af05 2100 |0010: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -018c8a: 6e10 b105 0100 |0013: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ -018c90: 0c01 |0016: move-result-object v1 │ │ -018c92: 7220 3307 1000 |0017: invoke-interface {v0, v1}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0733 │ │ -018c98: 7100 8305 0000 |001a: invoke-static {}, Ljava/lang/Runtime;.getRuntime:()Ljava/lang/Runtime; // method@0583 │ │ -018c9e: 0c00 |001d: move-result-object v0 │ │ -018ca0: 1a01 ff0a |001e: const-string v1, "su" // string@0aff │ │ -018ca4: 6e20 8205 1000 |0020: invoke-virtual {v0, v1}, Ljava/lang/Runtime;.exec:(Ljava/lang/String;)Ljava/lang/Process; // method@0582 │ │ -018caa: 0c00 |0023: move-result-object v0 │ │ -018cac: 2201 f900 |0024: new-instance v1, Ljava/io/DataOutputStream; // type@00f9 │ │ -018cb0: 6e10 8005 0000 |0026: invoke-virtual {v0}, Ljava/lang/Process;.getOutputStream:()Ljava/io/OutputStream; // method@0580 │ │ -018cb6: 0c02 |0029: move-result-object v2 │ │ -018cb8: 7020 f704 2100 |002a: invoke-direct {v1, v2}, Ljava/io/DataOutputStream;.:(Ljava/io/OutputStream;)V // method@04f7 │ │ -018cbe: 2202 2d01 |002d: new-instance v2, Ljava/lang/StringBuilder; // type@012d │ │ -018cc2: 7010 a905 0200 |002f: invoke-direct {v2}, Ljava/lang/StringBuilder;.:()V // method@05a9 │ │ -018cc8: 6e20 af05 8200 |0032: invoke-virtual {v2, v8}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -018cce: 1a08 0200 |0035: const-string v8, " │ │ +018c50: |[018c50] dnsfilter.android.DNSFilterService.runOSCommand:(ZLjava/lang/String;)V │ │ +018c60: 7100 2707 0000 |0000: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0727 │ │ +018c66: 0c00 |0003: move-result-object v0 │ │ +018c68: 2201 2d01 |0004: new-instance v1, Ljava/lang/StringBuilder; // type@012d │ │ +018c6c: 1a02 9201 |0006: const-string v2, "Exec '" // string@0192 │ │ +018c70: 7020 aa05 2100 |0008: invoke-direct {v1, v2}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05aa │ │ +018c76: 6e20 af05 8100 |000b: invoke-virtual {v1, v8}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +018c7c: 1a02 4000 |000e: const-string v2, "' !" // string@0040 │ │ +018c80: 6e20 af05 2100 |0010: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +018c86: 6e10 b105 0100 |0013: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ +018c8c: 0c01 |0016: move-result-object v1 │ │ +018c8e: 7220 3307 1000 |0017: invoke-interface {v0, v1}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0733 │ │ +018c94: 7100 8305 0000 |001a: invoke-static {}, Ljava/lang/Runtime;.getRuntime:()Ljava/lang/Runtime; // method@0583 │ │ +018c9a: 0c00 |001d: move-result-object v0 │ │ +018c9c: 1a01 ff0a |001e: const-string v1, "su" // string@0aff │ │ +018ca0: 6e20 8205 1000 |0020: invoke-virtual {v0, v1}, Ljava/lang/Runtime;.exec:(Ljava/lang/String;)Ljava/lang/Process; // method@0582 │ │ +018ca6: 0c00 |0023: move-result-object v0 │ │ +018ca8: 2201 f900 |0024: new-instance v1, Ljava/io/DataOutputStream; // type@00f9 │ │ +018cac: 6e10 8005 0000 |0026: invoke-virtual {v0}, Ljava/lang/Process;.getOutputStream:()Ljava/io/OutputStream; // method@0580 │ │ +018cb2: 0c02 |0029: move-result-object v2 │ │ +018cb4: 7020 f704 2100 |002a: invoke-direct {v1, v2}, Ljava/io/DataOutputStream;.:(Ljava/io/OutputStream;)V // method@04f7 │ │ +018cba: 2202 2d01 |002d: new-instance v2, Ljava/lang/StringBuilder; // type@012d │ │ +018cbe: 7010 a905 0200 |002f: invoke-direct {v2}, Ljava/lang/StringBuilder;.:()V // method@05a9 │ │ +018cc4: 6e20 af05 8200 |0032: invoke-virtual {v2, v8}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +018cca: 1a08 0200 |0035: const-string v8, " │ │ " // string@0002 │ │ -018cd2: 6e20 af05 8200 |0037: invoke-virtual {v2, v8}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -018cd8: 6e10 b105 0200 |003a: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ -018cde: 0c08 |003d: move-result-object v8 │ │ -018ce0: 6e20 fc04 8100 |003e: invoke-virtual {v1, v8}, Ljava/io/DataOutputStream;.writeBytes:(Ljava/lang/String;)V // method@04fc │ │ -018ce6: 6e10 f904 0100 |0041: invoke-virtual {v1}, Ljava/io/DataOutputStream;.flush:()V // method@04f9 │ │ -018cec: 1a08 d806 |0044: const-string v8, "exit │ │ +018cce: 6e20 af05 8200 |0037: invoke-virtual {v2, v8}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +018cd4: 6e10 b105 0200 |003a: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ +018cda: 0c08 |003d: move-result-object v8 │ │ +018cdc: 6e20 fc04 8100 |003e: invoke-virtual {v1, v8}, Ljava/io/DataOutputStream;.writeBytes:(Ljava/lang/String;)V // method@04fc │ │ +018ce2: 6e10 f904 0100 |0041: invoke-virtual {v1}, Ljava/io/DataOutputStream;.flush:()V // method@04f9 │ │ +018ce8: 1a08 d806 |0044: const-string v8, "exit │ │ " // string@06d8 │ │ -018cf0: 6e20 fc04 8100 |0046: invoke-virtual {v1, v8}, Ljava/io/DataOutputStream;.writeBytes:(Ljava/lang/String;)V // method@04fc │ │ -018cf6: 6e10 f904 0100 |0049: invoke-virtual {v1}, Ljava/io/DataOutputStream;.flush:()V // method@04f9 │ │ -018cfc: 6e10 7f05 0000 |004c: invoke-virtual {v0}, Ljava/lang/Process;.getInputStream:()Ljava/io/InputStream; // method@057f │ │ -018d02: 0c08 |004f: move-result-object v8 │ │ -018d04: 1301 0004 |0050: const/16 v1, #int 1024 // #400 │ │ -018d08: 2311 9d01 |0052: new-array v1, v1, [B // type@019d │ │ -018d0c: 6e20 2b05 1800 |0054: invoke-virtual {v8, v1}, Ljava/io/InputStream;.read:([B)I // method@052b │ │ -018d12: 0a02 |0057: move-result v2 │ │ -018d14: 1203 |0058: const/4 v3, #int 0 // #0 │ │ -018d16: 12f4 |0059: const/4 v4, #int -1 // #ff │ │ -018d18: 3242 0f00 |005a: if-eq v2, v4, 0069 // +000f │ │ -018d1c: 7100 2707 0000 |005c: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0727 │ │ -018d22: 0c04 |005f: move-result-object v4 │ │ -018d24: 2205 2b01 |0060: new-instance v5, Ljava/lang/String; // type@012b │ │ -018d28: 7040 8805 1523 |0062: invoke-direct {v5, v1, v3, v2}, Ljava/lang/String;.:([BII)V // method@0588 │ │ -018d2e: 7220 3107 5400 |0065: invoke-interface {v4, v5}, Lutil/LoggerInterface;.log:(Ljava/lang/String;)V // method@0731 │ │ -018d34: 28ec |0068: goto 0054 // -0014 │ │ -018d36: 6e10 7e05 0000 |0069: invoke-virtual {v0}, Ljava/lang/Process;.getErrorStream:()Ljava/io/InputStream; // method@057e │ │ -018d3c: 0c08 |006c: move-result-object v8 │ │ -018d3e: 6e20 2b05 1800 |006d: invoke-virtual {v8, v1}, Ljava/io/InputStream;.read:([B)I // method@052b │ │ -018d44: 0a02 |0070: move-result v2 │ │ -018d46: 3242 0f00 |0071: if-eq v2, v4, 0080 // +000f │ │ -018d4a: 7100 2707 0000 |0073: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0727 │ │ -018d50: 0c05 |0076: move-result-object v5 │ │ -018d52: 2206 2b01 |0077: new-instance v6, Ljava/lang/String; // type@012b │ │ -018d56: 7040 8805 1623 |0079: invoke-direct {v6, v1, v3, v2}, Ljava/lang/String;.:([BII)V // method@0588 │ │ -018d5c: 7220 3107 6500 |007c: invoke-interface {v5, v6}, Lutil/LoggerInterface;.log:(Ljava/lang/String;)V // method@0731 │ │ -018d62: 28ee |007f: goto 006d // -0012 │ │ -018d64: 6e10 8105 0000 |0080: invoke-virtual {v0}, Ljava/lang/Process;.waitFor:()I // method@0581 │ │ -018d6a: 6e10 7d05 0000 |0083: invoke-virtual {v0}, Ljava/lang/Process;.exitValue:()I // method@057d │ │ -018d70: 0a08 |0086: move-result v8 │ │ -018d72: 3808 1900 |0087: if-eqz v8, 00a0 // +0019 │ │ -018d76: 3807 0300 |0089: if-eqz v7, 008c // +0003 │ │ -018d7a: 2815 |008b: goto 00a0 // +0015 │ │ -018d7c: 2207 1b01 |008c: new-instance v7, Ljava/lang/Exception; // type@011b │ │ -018d80: 2200 2d01 |008e: new-instance v0, Ljava/lang/StringBuilder; // type@012d │ │ -018d84: 1a01 7d01 |0090: const-string v1, "Error in process execution: " // string@017d │ │ -018d88: 7020 aa05 1000 |0092: invoke-direct {v0, v1}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05aa │ │ -018d8e: 6e20 ac05 8000 |0095: invoke-virtual {v0, v8}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@05ac │ │ -018d94: 6e10 b105 0000 |0098: invoke-virtual {v0}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ -018d9a: 0c08 |009b: move-result-object v8 │ │ -018d9c: 7020 5c05 8700 |009c: invoke-direct {v7, v8}, Ljava/lang/Exception;.:(Ljava/lang/String;)V // method@055c │ │ -018da2: 2707 |009f: throw v7 │ │ -018da4: 0e00 |00a0: return-void │ │ +018cec: 6e20 fc04 8100 |0046: invoke-virtual {v1, v8}, Ljava/io/DataOutputStream;.writeBytes:(Ljava/lang/String;)V // method@04fc │ │ +018cf2: 6e10 f904 0100 |0049: invoke-virtual {v1}, Ljava/io/DataOutputStream;.flush:()V // method@04f9 │ │ +018cf8: 6e10 7f05 0000 |004c: invoke-virtual {v0}, Ljava/lang/Process;.getInputStream:()Ljava/io/InputStream; // method@057f │ │ +018cfe: 0c08 |004f: move-result-object v8 │ │ +018d00: 1301 0004 |0050: const/16 v1, #int 1024 // #400 │ │ +018d04: 2311 9d01 |0052: new-array v1, v1, [B // type@019d │ │ +018d08: 6e20 2b05 1800 |0054: invoke-virtual {v8, v1}, Ljava/io/InputStream;.read:([B)I // method@052b │ │ +018d0e: 0a02 |0057: move-result v2 │ │ +018d10: 1203 |0058: const/4 v3, #int 0 // #0 │ │ +018d12: 12f4 |0059: const/4 v4, #int -1 // #ff │ │ +018d14: 3242 0f00 |005a: if-eq v2, v4, 0069 // +000f │ │ +018d18: 7100 2707 0000 |005c: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0727 │ │ +018d1e: 0c04 |005f: move-result-object v4 │ │ +018d20: 2205 2b01 |0060: new-instance v5, Ljava/lang/String; // type@012b │ │ +018d24: 7040 8805 1523 |0062: invoke-direct {v5, v1, v3, v2}, Ljava/lang/String;.:([BII)V // method@0588 │ │ +018d2a: 7220 3107 5400 |0065: invoke-interface {v4, v5}, Lutil/LoggerInterface;.log:(Ljava/lang/String;)V // method@0731 │ │ +018d30: 28ec |0068: goto 0054 // -0014 │ │ +018d32: 6e10 7e05 0000 |0069: invoke-virtual {v0}, Ljava/lang/Process;.getErrorStream:()Ljava/io/InputStream; // method@057e │ │ +018d38: 0c08 |006c: move-result-object v8 │ │ +018d3a: 6e20 2b05 1800 |006d: invoke-virtual {v8, v1}, Ljava/io/InputStream;.read:([B)I // method@052b │ │ +018d40: 0a02 |0070: move-result v2 │ │ +018d42: 3242 0f00 |0071: if-eq v2, v4, 0080 // +000f │ │ +018d46: 7100 2707 0000 |0073: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0727 │ │ +018d4c: 0c05 |0076: move-result-object v5 │ │ +018d4e: 2206 2b01 |0077: new-instance v6, Ljava/lang/String; // type@012b │ │ +018d52: 7040 8805 1623 |0079: invoke-direct {v6, v1, v3, v2}, Ljava/lang/String;.:([BII)V // method@0588 │ │ +018d58: 7220 3107 6500 |007c: invoke-interface {v5, v6}, Lutil/LoggerInterface;.log:(Ljava/lang/String;)V // method@0731 │ │ +018d5e: 28ee |007f: goto 006d // -0012 │ │ +018d60: 6e10 8105 0000 |0080: invoke-virtual {v0}, Ljava/lang/Process;.waitFor:()I // method@0581 │ │ +018d66: 6e10 7d05 0000 |0083: invoke-virtual {v0}, Ljava/lang/Process;.exitValue:()I // method@057d │ │ +018d6c: 0a08 |0086: move-result v8 │ │ +018d6e: 3808 1900 |0087: if-eqz v8, 00a0 // +0019 │ │ +018d72: 3807 0300 |0089: if-eqz v7, 008c // +0003 │ │ +018d76: 2815 |008b: goto 00a0 // +0015 │ │ +018d78: 2207 1b01 |008c: new-instance v7, Ljava/lang/Exception; // type@011b │ │ +018d7c: 2200 2d01 |008e: new-instance v0, Ljava/lang/StringBuilder; // type@012d │ │ +018d80: 1a01 7d01 |0090: const-string v1, "Error in process execution: " // string@017d │ │ +018d84: 7020 aa05 1000 |0092: invoke-direct {v0, v1}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05aa │ │ +018d8a: 6e20 ac05 8000 |0095: invoke-virtual {v0, v8}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@05ac │ │ +018d90: 6e10 b105 0000 |0098: invoke-virtual {v0}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ +018d96: 0c08 |009b: move-result-object v8 │ │ +018d98: 7020 5c05 8700 |009c: invoke-direct {v7, v8}, Ljava/lang/Exception;.:(Ljava/lang/String;)V // method@055c │ │ +018d9e: 2707 |009f: throw v7 │ │ +018da0: 0e00 |00a0: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=882 │ │ 0x001a line=884 │ │ 0x0024 line=885 │ │ 0x002d line=886 │ │ 0x0041 line=887 │ │ @@ -13664,24 +13664,24 @@ │ │ type : '(ZZLjava/lang/String;)V' │ │ access : 0x000a (PRIVATE STATIC) │ │ code - │ │ registers : 4 │ │ ins : 3 │ │ outs : 3 │ │ insns size : 20 16-bit code units │ │ -018c1c: |[018c1c] dnsfilter.android.DNSFilterService.runOSCommand:(ZZLjava/lang/String;)V │ │ -018c2c: 3902 0600 |0000: if-nez v2, 0006 // +0006 │ │ -018c30: 7120 aa02 3100 |0002: invoke-static {v1, v3}, Ldnsfilter/android/DNSFilterService;.runOSCommand:(ZLjava/lang/String;)V // method@02aa │ │ -018c36: 280e |0005: goto 0013 // +000e │ │ -018c38: 2202 2f01 |0006: new-instance v2, Ljava/lang/Thread; // type@012f │ │ -018c3c: 2200 a100 |0008: new-instance v0, Ldnsfilter/android/DNSFilterService$1; // type@00a1 │ │ -018c40: 7030 7c02 1003 |000a: invoke-direct {v0, v1, v3}, Ldnsfilter/android/DNSFilterService$1;.:(ZLjava/lang/String;)V // method@027c │ │ -018c46: 7020 b605 0200 |000d: invoke-direct {v2, v0}, Ljava/lang/Thread;.:(Ljava/lang/Runnable;)V // method@05b6 │ │ -018c4c: 6e10 bc05 0200 |0010: invoke-virtual {v2}, Ljava/lang/Thread;.start:()V // method@05bc │ │ -018c52: 0e00 |0013: return-void │ │ +018c18: |[018c18] dnsfilter.android.DNSFilterService.runOSCommand:(ZZLjava/lang/String;)V │ │ +018c28: 3902 0600 |0000: if-nez v2, 0006 // +0006 │ │ +018c2c: 7120 aa02 3100 |0002: invoke-static {v1, v3}, Ldnsfilter/android/DNSFilterService;.runOSCommand:(ZLjava/lang/String;)V // method@02aa │ │ +018c32: 280e |0005: goto 0013 // +000e │ │ +018c34: 2202 2f01 |0006: new-instance v2, Ljava/lang/Thread; // type@012f │ │ +018c38: 2200 a100 |0008: new-instance v0, Ldnsfilter/android/DNSFilterService$1; // type@00a1 │ │ +018c3c: 7030 7c02 1003 |000a: invoke-direct {v0, v1, v3}, Ldnsfilter/android/DNSFilterService$1;.:(ZLjava/lang/String;)V // method@027c │ │ +018c42: 7020 b605 0200 |000d: invoke-direct {v2, v0}, Ljava/lang/Thread;.:(Ljava/lang/Runnable;)V // method@05b6 │ │ +018c48: 6e10 bc05 0200 |0010: invoke-virtual {v2}, Ljava/lang/Thread;.start:()V // method@05bc │ │ +018c4e: 0e00 |0013: return-void │ │ catches : (none) │ │ positions : │ │ 0x0002 line=916 │ │ 0x0006 line=918 │ │ 0x0010 line=929 │ │ locals : │ │ 0x0000 - 0x0014 reg=1 (null) Z │ │ @@ -13693,46 +13693,46 @@ │ │ type : '()V' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 5 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 61 16-bit code units │ │ -018da8: |[018da8] dnsfilter.android.DNSFilterService.setUpPortRedir:()V │ │ -018db8: 1a00 6108 |0000: const-string v0, "iptables -t nat -A PREROUTING -p udp --dport 53 -j REDIRECT --to-port " // string@0861 │ │ -018dbc: 6301 c400 |0002: sget-boolean v1, Ldnsfilter/android/DNSFilterService;.dnsProxyOnlyLocal:Z // field@00c4 │ │ -018dc0: 3801 0300 |0004: if-eqz v1, 0007 // +0003 │ │ -018dc4: 0e00 |0006: return-void │ │ -018dc6: 6301 ba00 |0007: sget-boolean v1, Ldnsfilter/android/DNSFilterService;.DNS_PROXY_PORT_IS_REDIRECTED:Z // field@00ba │ │ -018dca: 3801 0300 |0009: if-eqz v1, 000c // +0003 │ │ -018dce: 0e00 |000b: return-void │ │ -018dd0: 2201 2d01 |000c: new-instance v1, Ljava/lang/StringBuilder; // type@012d │ │ -018dd4: 7020 aa05 0100 |000e: invoke-direct {v1, v0}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05aa │ │ -018dda: 6000 c500 |0011: sget v0, Ldnsfilter/android/DNSFilterService;.dnsProxyPort:I // field@00c5 │ │ -018dde: 6e20 ac05 0100 |0013: invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@05ac │ │ -018de4: 6e10 b105 0100 |0016: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ -018dea: 0c00 |0019: move-result-object v0 │ │ -018dec: 1201 |001a: const/4 v1, #int 0 // #0 │ │ -018dee: 7120 aa02 0100 |001b: invoke-static {v1, v0}, Ldnsfilter/android/DNSFilterService;.runOSCommand:(ZLjava/lang/String;)V // method@02aa │ │ -018df4: 1210 |001e: const/4 v0, #int 1 // #1 │ │ -018df6: 6a00 ba00 |001f: sput-boolean v0, Ldnsfilter/android/DNSFilterService;.DNS_PROXY_PORT_IS_REDIRECTED:Z // field@00ba │ │ -018dfa: 281b |0021: goto 003c // +001b │ │ -018dfc: 0d00 |0022: move-exception v0 │ │ -018dfe: 7100 2707 0000 |0023: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0727 │ │ -018e04: 0c01 |0026: move-result-object v1 │ │ -018e06: 2202 2d01 |0027: new-instance v2, Ljava/lang/StringBuilder; // type@012d │ │ -018e0a: 1a03 8d01 |0029: const-string v3, "Exception during setting port redirection:" // string@018d │ │ -018e0e: 7020 aa05 3200 |002b: invoke-direct {v2, v3}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05aa │ │ -018e14: 6e10 6105 0000 |002e: invoke-virtual {v0}, Ljava/lang/Exception;.toString:()Ljava/lang/String; // method@0561 │ │ -018e1a: 0c00 |0031: move-result-object v0 │ │ -018e1c: 6e20 af05 0200 |0032: invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -018e22: 6e10 b105 0200 |0035: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ -018e28: 0c00 |0038: move-result-object v0 │ │ -018e2a: 7220 3307 0100 |0039: invoke-interface {v1, v0}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0733 │ │ -018e30: 0e00 |003c: return-void │ │ +018da4: |[018da4] dnsfilter.android.DNSFilterService.setUpPortRedir:()V │ │ +018db4: 1a00 6108 |0000: const-string v0, "iptables -t nat -A PREROUTING -p udp --dport 53 -j REDIRECT --to-port " // string@0861 │ │ +018db8: 6301 c400 |0002: sget-boolean v1, Ldnsfilter/android/DNSFilterService;.dnsProxyOnlyLocal:Z // field@00c4 │ │ +018dbc: 3801 0300 |0004: if-eqz v1, 0007 // +0003 │ │ +018dc0: 0e00 |0006: return-void │ │ +018dc2: 6301 ba00 |0007: sget-boolean v1, Ldnsfilter/android/DNSFilterService;.DNS_PROXY_PORT_IS_REDIRECTED:Z // field@00ba │ │ +018dc6: 3801 0300 |0009: if-eqz v1, 000c // +0003 │ │ +018dca: 0e00 |000b: return-void │ │ +018dcc: 2201 2d01 |000c: new-instance v1, Ljava/lang/StringBuilder; // type@012d │ │ +018dd0: 7020 aa05 0100 |000e: invoke-direct {v1, v0}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05aa │ │ +018dd6: 6000 c500 |0011: sget v0, Ldnsfilter/android/DNSFilterService;.dnsProxyPort:I // field@00c5 │ │ +018dda: 6e20 ac05 0100 |0013: invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@05ac │ │ +018de0: 6e10 b105 0100 |0016: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ +018de6: 0c00 |0019: move-result-object v0 │ │ +018de8: 1201 |001a: const/4 v1, #int 0 // #0 │ │ +018dea: 7120 aa02 0100 |001b: invoke-static {v1, v0}, Ldnsfilter/android/DNSFilterService;.runOSCommand:(ZLjava/lang/String;)V // method@02aa │ │ +018df0: 1210 |001e: const/4 v0, #int 1 // #1 │ │ +018df2: 6a00 ba00 |001f: sput-boolean v0, Ldnsfilter/android/DNSFilterService;.DNS_PROXY_PORT_IS_REDIRECTED:Z // field@00ba │ │ +018df6: 281b |0021: goto 003c // +001b │ │ +018df8: 0d00 |0022: move-exception v0 │ │ +018dfa: 7100 2707 0000 |0023: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0727 │ │ +018e00: 0c01 |0026: move-result-object v1 │ │ +018e02: 2202 2d01 |0027: new-instance v2, Ljava/lang/StringBuilder; // type@012d │ │ +018e06: 1a03 8d01 |0029: const-string v3, "Exception during setting port redirection:" // string@018d │ │ +018e0a: 7020 aa05 3200 |002b: invoke-direct {v2, v3}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05aa │ │ +018e10: 6e10 6105 0000 |002e: invoke-virtual {v0}, Ljava/lang/Exception;.toString:()Ljava/lang/String; // method@0561 │ │ +018e16: 0c00 |0031: move-result-object v0 │ │ +018e18: 6e20 af05 0200 |0032: invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +018e1e: 6e10 b105 0200 |0035: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ +018e24: 0c00 |0038: move-result-object v0 │ │ +018e26: 7220 3307 0100 |0039: invoke-interface {v1, v0}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0733 │ │ +018e2c: 0e00 |003c: return-void │ │ catches : 1 │ │ 0x000c - 0x0021 │ │ Ljava/lang/Exception; -> 0x0022 │ │ positions : │ │ 0x0002 line=853 │ │ 0x0007 line=856 │ │ 0x000c line=859 │ │ @@ -13746,77 +13746,77 @@ │ │ type : '()Z' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 6 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 128 16-bit code units │ │ -017c44: |[017c44] dnsfilter.android.DNSFilterService.shutdown:()Z │ │ -017c54: 6300 c700 |0000: sget-boolean v0, Ldnsfilter/android/DNSFilterService;.is_running:Z // field@00c7 │ │ -017c58: 1211 |0002: const/4 v1, #int 1 // #1 │ │ -017c5a: 3900 0300 |0003: if-nez v0, 0006 // +0003 │ │ -017c5e: 0f01 |0005: return v1 │ │ -017c60: 1200 |0006: const/4 v0, #int 0 // #0 │ │ -017c62: 6202 b800 |0007: sget-object v2, Ldnsfilter/android/DNSFilterService;.DNSFILTER:Ldnsfilter/DNSFilterManager; // field@00b8 │ │ -017c66: 3802 1200 |0009: if-eqz v2, 001b // +0012 │ │ -017c6a: 6e10 8a01 0200 |000b: invoke-virtual {v2}, Ldnsfilter/DNSFilterManager;.canStop:()Z // method@018a │ │ -017c70: 0a02 |000e: move-result v2 │ │ -017c72: 3902 0c00 |000f: if-nez v2, 001b // +000c │ │ -017c76: 7100 2707 0000 |0011: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0727 │ │ -017c7c: 0c01 |0014: move-result-object v1 │ │ -017c7e: 1a02 fe00 |0015: const-string v2, "Cannot stop - pending operation!" // string@00fe │ │ -017c82: 7220 3307 2100 |0017: invoke-interface {v1, v2}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0733 │ │ -017c88: 0f00 |001a: return v0 │ │ -017c8a: 7100 7902 0000 |001b: invoke-static {}, Ldnsfilter/android/ConnectionChangeReceiver;.getInstance:()Ldnsfilter/android/ConnectionChangeReceiver; // method@0279 │ │ -017c90: 0c02 |001e: move-result-object v2 │ │ -017c92: 6e20 b202 2500 |001f: invoke-virtual {v5, v2}, Ldnsfilter/android/DNSFilterService;.unregisterReceiver:(Landroid/content/BroadcastReceiver;)V // method@02b2 │ │ -017c98: 7100 4f03 0000 |0022: invoke-static {}, Ldnsfilter/android/NotificationReceiver;.getInstance:()Ldnsfilter/android/NotificationReceiver; // method@034f │ │ -017c9e: 0c02 |0025: move-result-object v2 │ │ -017ca0: 6e20 b202 2500 |0026: invoke-virtual {v5, v2}, Ldnsfilter/android/DNSFilterService;.unregisterReceiver:(Landroid/content/BroadcastReceiver;)V // method@02b2 │ │ -017ca6: 2805 |0029: goto 002e // +0005 │ │ -017ca8: 0d02 |002a: move-exception v2 │ │ -017caa: 6e10 5e05 0200 |002b: invoke-virtual {v2}, Ljava/lang/Exception;.printStackTrace:()V // method@055e │ │ -017cb0: 6302 cd00 |002e: sget-boolean v2, Ldnsfilter/android/DNSFilterService;.rootMode:Z // field@00cd │ │ -017cb4: 3802 0a00 |0030: if-eqz v2, 003a // +000a │ │ -017cb8: 6202 c600 |0032: sget-object v2, Ldnsfilter/android/DNSFilterService;.dnsReqForwarder:Ldnsfilter/android/DNSFilterService$DNSReqForwarder; // field@00c6 │ │ -017cbc: 7110 8102 0200 |0034: invoke-static {v2}, Ldnsfilter/android/DNSFilterService$DNSReqForwarder;.access$800:(Ldnsfilter/android/DNSFilterService$DNSReqForwarder;)V // method@0281 │ │ -017cc2: 7010 9202 0500 |0037: invoke-direct {v5}, Ldnsfilter/android/DNSFilterService;.clearPortRedir:()V // method@0292 │ │ -017cc8: 5452 d100 |003a: iget-object v2, v5, Ldnsfilter/android/DNSFilterService;.vpnRunner:Ldnsfilter/android/DNSFilterService$VPNRunner; // field@00d1 │ │ -017ccc: 1203 |003c: const/4 v3, #int 0 // #0 │ │ -017cce: 5b53 d100 |003d: iput-object v3, v5, Ldnsfilter/android/DNSFilterService;.vpnRunner:Ldnsfilter/android/DNSFilterService$VPNRunner; // field@00d1 │ │ -017cd2: 3802 0500 |003f: if-eqz v2, 0044 // +0005 │ │ -017cd6: 7120 8802 1200 |0041: invoke-static {v2, v1}, Ldnsfilter/android/DNSFilterService$VPNRunner;.access$900:(Ldnsfilter/android/DNSFilterService$VPNRunner;Z)V // method@0288 │ │ -017cdc: 6202 b900 |0044: sget-object v2, Ldnsfilter/android/DNSFilterService;.DNSFILTERPROXY:Ldnsfilter/DNSFilterProxy; // field@00b9 │ │ -017ce0: 3802 1000 |0046: if-eqz v2, 0056 // +0010 │ │ -017ce4: 6e10 ce01 0200 |0048: invoke-virtual {v2}, Ldnsfilter/DNSFilterProxy;.stop:()V // method@01ce │ │ -017cea: 6903 b900 |004b: sput-object v3, Ldnsfilter/android/DNSFilterService;.DNSFILTERPROXY:Ldnsfilter/DNSFilterProxy; // field@00b9 │ │ -017cee: 7100 2707 0000 |004d: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0727 │ │ -017cf4: 0c02 |0050: move-result-object v2 │ │ -017cf6: 1a04 3101 |0051: const-string v4, "DNS filter proxy Mode stopped!" // string@0131 │ │ -017cfa: 7220 3307 4200 |0053: invoke-interface {v2, v4}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0733 │ │ -017d00: 6202 b800 |0056: sget-object v2, Ldnsfilter/android/DNSFilterService;.DNSFILTER:Ldnsfilter/DNSFilterManager; // field@00b8 │ │ -017d04: 3802 1000 |0058: if-eqz v2, 0068 // +0010 │ │ -017d08: 6e10 ae01 0200 |005a: invoke-virtual {v2}, Ldnsfilter/DNSFilterManager;.stop:()V // method@01ae │ │ -017d0e: 6903 b800 |005d: sput-object v3, Ldnsfilter/android/DNSFilterService;.DNSFILTER:Ldnsfilter/DNSFilterManager; // field@00b8 │ │ -017d12: 7100 2707 0000 |005f: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0727 │ │ -017d18: 0c02 |0062: move-result-object v2 │ │ -017d1a: 1a04 3301 |0063: const-string v4, "DNS filter stopped!" // string@0133 │ │ -017d1e: 7220 3307 4200 |0065: invoke-interface {v2, v4}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0733 │ │ -017d24: 6202 bd00 |0068: sget-object v2, Ldnsfilter/android/DNSFilterService;.SERVICE:Landroid/content/Intent; // field@00bd │ │ -017d28: 6e20 b002 2500 |006a: invoke-virtual {v5, v2}, Ldnsfilter/android/DNSFilterService;.stopService:(Landroid/content/Intent;)Z // method@02b0 │ │ -017d2e: 6903 bd00 |006d: sput-object v3, Ldnsfilter/android/DNSFilterService;.SERVICE:Landroid/content/Intent; // field@00bd │ │ -017d32: 6a00 c700 |006f: sput-boolean v0, Ldnsfilter/android/DNSFilterService;.is_running:Z // field@00c7 │ │ -017d36: 1602 c800 |0071: const-wide/16 v2, #int 200 // #c8 │ │ -017d3a: 7120 bb05 3200 |0073: invoke-static {v2, v3}, Ljava/lang/Thread;.sleep:(J)V // method@05bb │ │ -017d40: 0f01 |0076: return v1 │ │ -017d42: 0d01 |0077: move-exception v1 │ │ -017d44: 7100 2707 0000 |0078: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0727 │ │ -017d4a: 0c02 |007b: move-result-object v2 │ │ -017d4c: 7220 3207 1200 |007c: invoke-interface {v2, v1}, Lutil/LoggerInterface;.logException:(Ljava/lang/Exception;)V // method@0732 │ │ -017d52: 0f00 |007f: return v0 │ │ +017c40: |[017c40] dnsfilter.android.DNSFilterService.shutdown:()Z │ │ +017c50: 6300 c700 |0000: sget-boolean v0, Ldnsfilter/android/DNSFilterService;.is_running:Z // field@00c7 │ │ +017c54: 1211 |0002: const/4 v1, #int 1 // #1 │ │ +017c56: 3900 0300 |0003: if-nez v0, 0006 // +0003 │ │ +017c5a: 0f01 |0005: return v1 │ │ +017c5c: 1200 |0006: const/4 v0, #int 0 // #0 │ │ +017c5e: 6202 b800 |0007: sget-object v2, Ldnsfilter/android/DNSFilterService;.DNSFILTER:Ldnsfilter/DNSFilterManager; // field@00b8 │ │ +017c62: 3802 1200 |0009: if-eqz v2, 001b // +0012 │ │ +017c66: 6e10 8a01 0200 |000b: invoke-virtual {v2}, Ldnsfilter/DNSFilterManager;.canStop:()Z // method@018a │ │ +017c6c: 0a02 |000e: move-result v2 │ │ +017c6e: 3902 0c00 |000f: if-nez v2, 001b // +000c │ │ +017c72: 7100 2707 0000 |0011: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0727 │ │ +017c78: 0c01 |0014: move-result-object v1 │ │ +017c7a: 1a02 fe00 |0015: const-string v2, "Cannot stop - pending operation!" // string@00fe │ │ +017c7e: 7220 3307 2100 |0017: invoke-interface {v1, v2}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0733 │ │ +017c84: 0f00 |001a: return v0 │ │ +017c86: 7100 7902 0000 |001b: invoke-static {}, Ldnsfilter/android/ConnectionChangeReceiver;.getInstance:()Ldnsfilter/android/ConnectionChangeReceiver; // method@0279 │ │ +017c8c: 0c02 |001e: move-result-object v2 │ │ +017c8e: 6e20 b202 2500 |001f: invoke-virtual {v5, v2}, Ldnsfilter/android/DNSFilterService;.unregisterReceiver:(Landroid/content/BroadcastReceiver;)V // method@02b2 │ │ +017c94: 7100 4f03 0000 |0022: invoke-static {}, Ldnsfilter/android/NotificationReceiver;.getInstance:()Ldnsfilter/android/NotificationReceiver; // method@034f │ │ +017c9a: 0c02 |0025: move-result-object v2 │ │ +017c9c: 6e20 b202 2500 |0026: invoke-virtual {v5, v2}, Ldnsfilter/android/DNSFilterService;.unregisterReceiver:(Landroid/content/BroadcastReceiver;)V // method@02b2 │ │ +017ca2: 2805 |0029: goto 002e // +0005 │ │ +017ca4: 0d02 |002a: move-exception v2 │ │ +017ca6: 6e10 5e05 0200 |002b: invoke-virtual {v2}, Ljava/lang/Exception;.printStackTrace:()V // method@055e │ │ +017cac: 6302 cd00 |002e: sget-boolean v2, Ldnsfilter/android/DNSFilterService;.rootMode:Z // field@00cd │ │ +017cb0: 3802 0a00 |0030: if-eqz v2, 003a // +000a │ │ +017cb4: 6202 c600 |0032: sget-object v2, Ldnsfilter/android/DNSFilterService;.dnsReqForwarder:Ldnsfilter/android/DNSFilterService$DNSReqForwarder; // field@00c6 │ │ +017cb8: 7110 8102 0200 |0034: invoke-static {v2}, Ldnsfilter/android/DNSFilterService$DNSReqForwarder;.access$800:(Ldnsfilter/android/DNSFilterService$DNSReqForwarder;)V // method@0281 │ │ +017cbe: 7010 9202 0500 |0037: invoke-direct {v5}, Ldnsfilter/android/DNSFilterService;.clearPortRedir:()V // method@0292 │ │ +017cc4: 5452 d100 |003a: iget-object v2, v5, Ldnsfilter/android/DNSFilterService;.vpnRunner:Ldnsfilter/android/DNSFilterService$VPNRunner; // field@00d1 │ │ +017cc8: 1203 |003c: const/4 v3, #int 0 // #0 │ │ +017cca: 5b53 d100 |003d: iput-object v3, v5, Ldnsfilter/android/DNSFilterService;.vpnRunner:Ldnsfilter/android/DNSFilterService$VPNRunner; // field@00d1 │ │ +017cce: 3802 0500 |003f: if-eqz v2, 0044 // +0005 │ │ +017cd2: 7120 8802 1200 |0041: invoke-static {v2, v1}, Ldnsfilter/android/DNSFilterService$VPNRunner;.access$900:(Ldnsfilter/android/DNSFilterService$VPNRunner;Z)V // method@0288 │ │ +017cd8: 6202 b900 |0044: sget-object v2, Ldnsfilter/android/DNSFilterService;.DNSFILTERPROXY:Ldnsfilter/DNSFilterProxy; // field@00b9 │ │ +017cdc: 3802 1000 |0046: if-eqz v2, 0056 // +0010 │ │ +017ce0: 6e10 ce01 0200 |0048: invoke-virtual {v2}, Ldnsfilter/DNSFilterProxy;.stop:()V // method@01ce │ │ +017ce6: 6903 b900 |004b: sput-object v3, Ldnsfilter/android/DNSFilterService;.DNSFILTERPROXY:Ldnsfilter/DNSFilterProxy; // field@00b9 │ │ +017cea: 7100 2707 0000 |004d: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0727 │ │ +017cf0: 0c02 |0050: move-result-object v2 │ │ +017cf2: 1a04 3101 |0051: const-string v4, "DNS filter proxy Mode stopped!" // string@0131 │ │ +017cf6: 7220 3307 4200 |0053: invoke-interface {v2, v4}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0733 │ │ +017cfc: 6202 b800 |0056: sget-object v2, Ldnsfilter/android/DNSFilterService;.DNSFILTER:Ldnsfilter/DNSFilterManager; // field@00b8 │ │ +017d00: 3802 1000 |0058: if-eqz v2, 0068 // +0010 │ │ +017d04: 6e10 ae01 0200 |005a: invoke-virtual {v2}, Ldnsfilter/DNSFilterManager;.stop:()V // method@01ae │ │ +017d0a: 6903 b800 |005d: sput-object v3, Ldnsfilter/android/DNSFilterService;.DNSFILTER:Ldnsfilter/DNSFilterManager; // field@00b8 │ │ +017d0e: 7100 2707 0000 |005f: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0727 │ │ +017d14: 0c02 |0062: move-result-object v2 │ │ +017d16: 1a04 3301 |0063: const-string v4, "DNS filter stopped!" // string@0133 │ │ +017d1a: 7220 3307 4200 |0065: invoke-interface {v2, v4}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0733 │ │ +017d20: 6202 bd00 |0068: sget-object v2, Ldnsfilter/android/DNSFilterService;.SERVICE:Landroid/content/Intent; // field@00bd │ │ +017d24: 6e20 b002 2500 |006a: invoke-virtual {v5, v2}, Ldnsfilter/android/DNSFilterService;.stopService:(Landroid/content/Intent;)Z // method@02b0 │ │ +017d2a: 6903 bd00 |006d: sput-object v3, Ldnsfilter/android/DNSFilterService;.SERVICE:Landroid/content/Intent; // field@00bd │ │ +017d2e: 6a00 c700 |006f: sput-boolean v0, Ldnsfilter/android/DNSFilterService;.is_running:Z // field@00c7 │ │ +017d32: 1602 c800 |0071: const-wide/16 v2, #int 200 // #c8 │ │ +017d36: 7120 bb05 3200 |0073: invoke-static {v2, v3}, Ljava/lang/Thread;.sleep:(J)V // method@05bb │ │ +017d3c: 0f01 |0076: return v1 │ │ +017d3e: 0d01 |0077: move-exception v1 │ │ +017d40: 7100 2707 0000 |0078: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0727 │ │ +017d46: 0c02 |007b: move-result-object v2 │ │ +017d48: 7220 3207 1200 |007c: invoke-interface {v2, v1}, Lutil/LoggerInterface;.logException:(Ljava/lang/Exception;)V // method@0732 │ │ +017d4e: 0f00 |007f: return v0 │ │ catches : 3 │ │ 0x0007 - 0x001a │ │ Ljava/lang/Exception; -> 0x0077 │ │ 0x001b - 0x0029 │ │ Ljava/lang/Exception; -> 0x002a │ │ 0x002b - 0x0076 │ │ Ljava/lang/Exception; -> 0x0077 │ │ @@ -13854,38 +13854,38 @@ │ │ type : '(Z)Z' │ │ access : 0x0009 (PUBLIC STATIC) │ │ code - │ │ registers : 5 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 40 16-bit code units │ │ -017d78: |[017d78] dnsfilter.android.DNSFilterService.stop:(Z)Z │ │ -017d88: 6200 bb00 |0000: sget-object v0, Ldnsfilter/android/DNSFilterService;.INSTANCE:Ldnsfilter/android/DNSFilterService; // field@00bb │ │ -017d8c: 1211 |0002: const/4 v1, #int 1 // #1 │ │ -017d8e: 3900 0300 |0003: if-nez v0, 0006 // +0003 │ │ -017d92: 0f01 |0005: return v1 │ │ -017d94: 5502 c900 |0006: iget-boolean v2, v0, Ldnsfilter/android/DNSFilterService;.manageDNSCryptProxy:Z // field@00c9 │ │ -017d98: 1203 |0008: const/4 v3, #int 0 // #0 │ │ -017d9a: 3802 1400 |0009: if-eqz v2, 001d // +0014 │ │ -017d9e: 3804 1200 |000b: if-eqz v4, 001d // +0012 │ │ -017da2: 6204 bc00 |000d: sget-object v4, Ldnsfilter/android/DNSFilterService;.KILL_DNSCRYPTPROXY:Ljava/lang/String; // field@00bc │ │ -017da6: 7120 aa02 4300 |000f: invoke-static {v3, v4}, Ldnsfilter/android/DNSFilterService;.runOSCommand:(ZLjava/lang/String;)V // method@02aa │ │ -017dac: 5c03 c200 |0012: iput-boolean v3, v0, Ldnsfilter/android/DNSFilterService;.dnsCryptProxyStartTriggered:Z // field@00c2 │ │ -017db0: 2809 |0014: goto 001d // +0009 │ │ -017db2: 0d04 |0015: move-exception v4 │ │ -017db4: 7100 2707 0000 |0016: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0727 │ │ -017dba: 0c02 |0019: move-result-object v2 │ │ -017dbc: 7220 3207 4200 |001a: invoke-interface {v2, v4}, Lutil/LoggerInterface;.logException:(Ljava/lang/Exception;)V // method@0732 │ │ -017dc2: 7010 ad02 0000 |001d: invoke-direct {v0}, Ldnsfilter/android/DNSFilterService;.shutdown:()Z // method@02ad │ │ -017dc8: 0a04 |0020: move-result v4 │ │ -017dca: 3804 0600 |0021: if-eqz v4, 0027 // +0006 │ │ -017dce: 1204 |0023: const/4 v4, #int 0 // #0 │ │ -017dd0: 6904 bb00 |0024: sput-object v4, Ldnsfilter/android/DNSFilterService;.INSTANCE:Ldnsfilter/android/DNSFilterService; // field@00bb │ │ -017dd4: 0f01 |0026: return v1 │ │ -017dd6: 0f03 |0027: return v3 │ │ +017d74: |[017d74] dnsfilter.android.DNSFilterService.stop:(Z)Z │ │ +017d84: 6200 bb00 |0000: sget-object v0, Ldnsfilter/android/DNSFilterService;.INSTANCE:Ldnsfilter/android/DNSFilterService; // field@00bb │ │ +017d88: 1211 |0002: const/4 v1, #int 1 // #1 │ │ +017d8a: 3900 0300 |0003: if-nez v0, 0006 // +0003 │ │ +017d8e: 0f01 |0005: return v1 │ │ +017d90: 5502 c900 |0006: iget-boolean v2, v0, Ldnsfilter/android/DNSFilterService;.manageDNSCryptProxy:Z // field@00c9 │ │ +017d94: 1203 |0008: const/4 v3, #int 0 // #0 │ │ +017d96: 3802 1400 |0009: if-eqz v2, 001d // +0014 │ │ +017d9a: 3804 1200 |000b: if-eqz v4, 001d // +0012 │ │ +017d9e: 6204 bc00 |000d: sget-object v4, Ldnsfilter/android/DNSFilterService;.KILL_DNSCRYPTPROXY:Ljava/lang/String; // field@00bc │ │ +017da2: 7120 aa02 4300 |000f: invoke-static {v3, v4}, Ldnsfilter/android/DNSFilterService;.runOSCommand:(ZLjava/lang/String;)V // method@02aa │ │ +017da8: 5c03 c200 |0012: iput-boolean v3, v0, Ldnsfilter/android/DNSFilterService;.dnsCryptProxyStartTriggered:Z // field@00c2 │ │ +017dac: 2809 |0014: goto 001d // +0009 │ │ +017dae: 0d04 |0015: move-exception v4 │ │ +017db0: 7100 2707 0000 |0016: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0727 │ │ +017db6: 0c02 |0019: move-result-object v2 │ │ +017db8: 7220 3207 4200 |001a: invoke-interface {v2, v4}, Lutil/LoggerInterface;.logException:(Ljava/lang/Exception;)V // method@0732 │ │ +017dbe: 7010 ad02 0000 |001d: invoke-direct {v0}, Ldnsfilter/android/DNSFilterService;.shutdown:()Z // method@02ad │ │ +017dc4: 0a04 |0020: move-result v4 │ │ +017dc6: 3804 0600 |0021: if-eqz v4, 0027 // +0006 │ │ +017dca: 1204 |0023: const/4 v4, #int 0 // #0 │ │ +017dcc: 6904 bb00 |0024: sput-object v4, Ldnsfilter/android/DNSFilterService;.INSTANCE:Ldnsfilter/android/DNSFilterService; // field@00bb │ │ +017dd0: 0f01 |0026: return v1 │ │ +017dd2: 0f03 |0027: return v3 │ │ catches : 1 │ │ 0x000d - 0x0014 │ │ Ljava/lang/Exception; -> 0x0015 │ │ positions : │ │ 0x0000 line=1001 │ │ 0x0006 line=1006 │ │ 0x000d line=1008 │ │ @@ -13901,37 +13901,37 @@ │ │ type : '(I)Z' │ │ access : 0x000a (PRIVATE STATIC) │ │ code - │ │ registers : 4 │ │ ins : 1 │ │ outs : 3 │ │ insns size : 41 16-bit code units │ │ -017de8: |[017de8] dnsfilter.android.DNSFilterService.supportsIPVersion:(I)Z │ │ -017df8: 7100 9901 0000 |0000: invoke-static {}, Ldnsfilter/DNSFilterManager;.getInstance:()Ldnsfilter/DNSFilterManager; // method@0199 │ │ -017dfe: 0c00 |0003: move-result-object v0 │ │ -017e00: 6e10 9401 0000 |0004: invoke-virtual {v0}, Ldnsfilter/DNSFilterManager;.getConfig:()Ljava/util/Properties; // method@0194 │ │ -017e06: 0c00 |0007: move-result-object v0 │ │ -017e08: 1a01 5d08 |0008: const-string v1, "ipVersionSupport" // string@085d │ │ -017e0c: 1a02 7b00 |000a: const-string v2, "4, 6" // string@007b │ │ -017e10: 6e30 5706 1002 |000c: invoke-virtual {v0, v1, v2}, Ljava/util/Properties;.getProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@0657 │ │ -017e16: 0c00 |000f: move-result-object v0 │ │ -017e18: 2201 2d01 |0010: new-instance v1, Ljava/lang/StringBuilder; // type@012d │ │ -017e1c: 1a02 0000 |0012: const-string v2, "" // string@0000 │ │ -017e20: 7020 aa05 2100 |0014: invoke-direct {v1, v2}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05aa │ │ -017e26: 6e20 ac05 3100 |0017: invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@05ac │ │ -017e2c: 6e10 b105 0100 |001a: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ -017e32: 0c03 |001d: move-result-object v3 │ │ -017e34: 6e20 9205 3000 |001e: invoke-virtual {v0, v3}, Ljava/lang/String;.indexOf:(Ljava/lang/String;)I // method@0592 │ │ -017e3a: 0a03 |0021: move-result v3 │ │ -017e3c: 12f0 |0022: const/4 v0, #int -1 // #ff │ │ -017e3e: 3203 0400 |0023: if-eq v3, v0, 0027 // +0004 │ │ -017e42: 1213 |0025: const/4 v3, #int 1 // #1 │ │ -017e44: 2802 |0026: goto 0028 // +0002 │ │ -017e46: 1203 |0027: const/4 v3, #int 0 // #0 │ │ -017e48: 0f03 |0028: return v3 │ │ +017de4: |[017de4] dnsfilter.android.DNSFilterService.supportsIPVersion:(I)Z │ │ +017df4: 7100 9901 0000 |0000: invoke-static {}, Ldnsfilter/DNSFilterManager;.getInstance:()Ldnsfilter/DNSFilterManager; // method@0199 │ │ +017dfa: 0c00 |0003: move-result-object v0 │ │ +017dfc: 6e10 9401 0000 |0004: invoke-virtual {v0}, Ldnsfilter/DNSFilterManager;.getConfig:()Ljava/util/Properties; // method@0194 │ │ +017e02: 0c00 |0007: move-result-object v0 │ │ +017e04: 1a01 5d08 |0008: const-string v1, "ipVersionSupport" // string@085d │ │ +017e08: 1a02 7b00 |000a: const-string v2, "4, 6" // string@007b │ │ +017e0c: 6e30 5706 1002 |000c: invoke-virtual {v0, v1, v2}, Ljava/util/Properties;.getProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@0657 │ │ +017e12: 0c00 |000f: move-result-object v0 │ │ +017e14: 2201 2d01 |0010: new-instance v1, Ljava/lang/StringBuilder; // type@012d │ │ +017e18: 1a02 0000 |0012: const-string v2, "" // string@0000 │ │ +017e1c: 7020 aa05 2100 |0014: invoke-direct {v1, v2}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05aa │ │ +017e22: 6e20 ac05 3100 |0017: invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@05ac │ │ +017e28: 6e10 b105 0100 |001a: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ +017e2e: 0c03 |001d: move-result-object v3 │ │ +017e30: 6e20 9205 3000 |001e: invoke-virtual {v0, v3}, Ljava/lang/String;.indexOf:(Ljava/lang/String;)I // method@0592 │ │ +017e36: 0a03 |0021: move-result v3 │ │ +017e38: 12f0 |0022: const/4 v0, #int -1 // #ff │ │ +017e3a: 3203 0400 |0023: if-eq v3, v0, 0027 // +0004 │ │ +017e3e: 1213 |0025: const/4 v3, #int 1 // #1 │ │ +017e40: 2802 |0026: goto 0028 // +0002 │ │ +017e42: 1203 |0027: const/4 v3, #int 0 // #0 │ │ +017e44: 0f03 |0028: return v3 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=254 │ │ locals : │ │ 0x0000 - 0x0029 reg=3 (null) I │ │ │ │ #26 : (in Ldnsfilter/android/DNSFilterService;) │ │ @@ -13939,68 +13939,68 @@ │ │ type : '()V' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 5 │ │ ins : 1 │ │ outs : 3 │ │ insns size : 112 16-bit code units │ │ -018e44: |[018e44] dnsfilter.android.DNSFilterService.updateNotification:()V │ │ -018e54: 1a00 0709 |0000: const-string v0, "notification" // string@0907 │ │ -018e58: 6201 b800 |0002: sget-object v1, Ldnsfilter/android/DNSFilterService;.DNSFILTER:Ldnsfilter/DNSFilterManager; // field@00b8 │ │ -018e5c: 6e10 9401 0100 |0004: invoke-virtual {v1}, Ldnsfilter/DNSFilterManager;.getConfig:()Ljava/util/Properties; // method@0194 │ │ -018e62: 0c01 |0007: move-result-object v1 │ │ -018e64: 1a02 e606 |0008: const-string v2, "filterActive" // string@06e6 │ │ -018e68: 1a03 420b |000a: const-string v3, "true" // string@0b42 │ │ -018e6c: 6e30 5706 2103 |000c: invoke-virtual {v1, v2, v3}, Ljava/util/Properties;.getProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@0657 │ │ -018e72: 0c01 |000f: move-result-object v1 │ │ -018e74: 7110 4d05 0100 |0010: invoke-static {v1}, Ljava/lang/Boolean;.parseBoolean:(Ljava/lang/String;)Z // method@054d │ │ -018e7a: 0a01 |0013: move-result v1 │ │ -018e7c: 6e10 9902 0400 |0014: invoke-virtual {v4}, Ldnsfilter/android/DNSFilterService;.getResources:()Landroid/content/res/Resources; // method@0299 │ │ -018e82: 0c02 |0017: move-result-object v2 │ │ -018e84: 1403 1d00 087f |0018: const v3, #float 1.80776e+38 // #7f08001d │ │ -018e8a: 6e20 5900 3200 |001b: invoke-virtual {v2, v3}, Landroid/content/res/Resources;.getString:(I)Ljava/lang/String; // method@0059 │ │ -018e90: 0c02 |001e: move-result-object v2 │ │ -018e92: 3901 0d00 |001f: if-nez v1, 002c // +000d │ │ -018e96: 6e10 9902 0400 |0021: invoke-virtual {v4}, Ldnsfilter/android/DNSFilterService;.getResources:()Landroid/content/res/Resources; // method@0299 │ │ -018e9c: 0c02 |0024: move-result-object v2 │ │ -018e9e: 1403 1e00 087f |0025: const v3, #float 1.80776e+38 // #7f08001e │ │ -018ea4: 6e20 5900 3200 |0028: invoke-virtual {v2, v3}, Landroid/content/res/Resources;.getString:(I)Ljava/lang/String; // method@0059 │ │ -018eaa: 0c02 |002b: move-result-object v2 │ │ -018eac: 5443 cb00 |002c: iget-object v3, v4, Ldnsfilter/android/DNSFilterService;.notibuilder:Landroid/app/Notification$Builder; // field@00cb │ │ -018eb0: 6e20 2800 2300 |002e: invoke-virtual {v3, v2}, Landroid/app/Notification$Builder;.setContentTitle:(Ljava/lang/CharSequence;)Landroid/app/Notification$Builder; // method@0028 │ │ -018eb6: 3801 0b00 |0031: if-eqz v1, 003c // +000b │ │ -018eba: 5441 cb00 |0033: iget-object v1, v4, Ldnsfilter/android/DNSFilterService;.notibuilder:Landroid/app/Notification$Builder; // field@00cb │ │ -018ebe: 1402 2300 047f |0035: const v2, #float 1.75459e+38 // #7f040023 │ │ -018ec4: 6e20 2900 2100 |0038: invoke-virtual {v1, v2}, Landroid/app/Notification$Builder;.setSmallIcon:(I)Landroid/app/Notification$Builder; // method@0029 │ │ -018eca: 2809 |003b: goto 0044 // +0009 │ │ -018ecc: 5441 cb00 |003c: iget-object v1, v4, Ldnsfilter/android/DNSFilterService;.notibuilder:Landroid/app/Notification$Builder; // field@00cb │ │ -018ed0: 1402 2400 047f |003e: const v2, #float 1.75459e+38 // #7f040024 │ │ -018ed6: 6e20 2900 2100 |0041: invoke-virtual {v1, v2}, Landroid/app/Notification$Builder;.setSmallIcon:(I)Landroid/app/Notification$Builder; // method@0029 │ │ -018edc: 6e20 9a02 0400 |0044: invoke-virtual {v4, v0}, Ldnsfilter/android/DNSFilterService;.getSystemService:(Ljava/lang/String;)Ljava/lang/Object; // method@029a │ │ -018ee2: 0c01 |0047: move-result-object v1 │ │ -018ee4: 1f01 0f00 |0048: check-cast v1, Landroid/app/NotificationManager; // type@000f │ │ -018ee8: 1212 |004a: const/4 v2, #int 1 // #1 │ │ -018eea: 6e20 2b00 2100 |004b: invoke-virtual {v1, v2}, Landroid/app/NotificationManager;.cancel:(I)V // method@002b │ │ -018ef0: 6e20 9a02 0400 |004e: invoke-virtual {v4, v0}, Ldnsfilter/android/DNSFilterService;.getSystemService:(Ljava/lang/String;)Ljava/lang/Object; // method@029a │ │ -018ef6: 0c00 |0051: move-result-object v0 │ │ -018ef8: 1f00 0f00 |0052: check-cast v0, Landroid/app/NotificationManager; // type@000f │ │ -018efc: 5441 cb00 |0054: iget-object v1, v4, Ldnsfilter/android/DNSFilterService;.notibuilder:Landroid/app/Notification$Builder; // field@00cb │ │ -018f00: 6e10 2600 0100 |0056: invoke-virtual {v1}, Landroid/app/Notification$Builder;.build:()Landroid/app/Notification; // method@0026 │ │ -018f06: 0c01 |0059: move-result-object v1 │ │ -018f08: 6e30 2d00 2001 |005a: invoke-virtual {v0, v2, v1}, Landroid/app/NotificationManager;.notify:(ILandroid/app/Notification;)V // method@002d │ │ -018f0e: 6000 0200 |005d: sget v0, Landroid/os/Build$VERSION;.SDK_INT:I // field@0002 │ │ -018f12: 1301 1800 |005f: const/16 v1, #int 24 // #18 │ │ -018f16: 3410 0e00 |0061: if-lt v0, v1, 006f // +000e │ │ -018f1a: 7110 bb02 0400 |0063: invoke-static {v4}, Ldnsfilter/android/DNSFilterTileService;.requestTileUpdate:(Landroid/content/Context;)V // method@02bb │ │ -018f20: 2809 |0066: goto 006f // +0009 │ │ -018f22: 0d00 |0067: move-exception v0 │ │ -018f24: 7100 2707 0000 |0068: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0727 │ │ -018f2a: 0c01 |006b: move-result-object v1 │ │ -018f2c: 7220 3207 0100 |006c: invoke-interface {v1, v0}, Lutil/LoggerInterface;.logException:(Ljava/lang/Exception;)V // method@0732 │ │ -018f32: 0e00 |006f: return-void │ │ +018e40: |[018e40] dnsfilter.android.DNSFilterService.updateNotification:()V │ │ +018e50: 1a00 0709 |0000: const-string v0, "notification" // string@0907 │ │ +018e54: 6201 b800 |0002: sget-object v1, Ldnsfilter/android/DNSFilterService;.DNSFILTER:Ldnsfilter/DNSFilterManager; // field@00b8 │ │ +018e58: 6e10 9401 0100 |0004: invoke-virtual {v1}, Ldnsfilter/DNSFilterManager;.getConfig:()Ljava/util/Properties; // method@0194 │ │ +018e5e: 0c01 |0007: move-result-object v1 │ │ +018e60: 1a02 e606 |0008: const-string v2, "filterActive" // string@06e6 │ │ +018e64: 1a03 420b |000a: const-string v3, "true" // string@0b42 │ │ +018e68: 6e30 5706 2103 |000c: invoke-virtual {v1, v2, v3}, Ljava/util/Properties;.getProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@0657 │ │ +018e6e: 0c01 |000f: move-result-object v1 │ │ +018e70: 7110 4d05 0100 |0010: invoke-static {v1}, Ljava/lang/Boolean;.parseBoolean:(Ljava/lang/String;)Z // method@054d │ │ +018e76: 0a01 |0013: move-result v1 │ │ +018e78: 6e10 9902 0400 |0014: invoke-virtual {v4}, Ldnsfilter/android/DNSFilterService;.getResources:()Landroid/content/res/Resources; // method@0299 │ │ +018e7e: 0c02 |0017: move-result-object v2 │ │ +018e80: 1403 1d00 087f |0018: const v3, #float 1.80776e+38 // #7f08001d │ │ +018e86: 6e20 5900 3200 |001b: invoke-virtual {v2, v3}, Landroid/content/res/Resources;.getString:(I)Ljava/lang/String; // method@0059 │ │ +018e8c: 0c02 |001e: move-result-object v2 │ │ +018e8e: 3901 0d00 |001f: if-nez v1, 002c // +000d │ │ +018e92: 6e10 9902 0400 |0021: invoke-virtual {v4}, Ldnsfilter/android/DNSFilterService;.getResources:()Landroid/content/res/Resources; // method@0299 │ │ +018e98: 0c02 |0024: move-result-object v2 │ │ +018e9a: 1403 1e00 087f |0025: const v3, #float 1.80776e+38 // #7f08001e │ │ +018ea0: 6e20 5900 3200 |0028: invoke-virtual {v2, v3}, Landroid/content/res/Resources;.getString:(I)Ljava/lang/String; // method@0059 │ │ +018ea6: 0c02 |002b: move-result-object v2 │ │ +018ea8: 5443 cb00 |002c: iget-object v3, v4, Ldnsfilter/android/DNSFilterService;.notibuilder:Landroid/app/Notification$Builder; // field@00cb │ │ +018eac: 6e20 2800 2300 |002e: invoke-virtual {v3, v2}, Landroid/app/Notification$Builder;.setContentTitle:(Ljava/lang/CharSequence;)Landroid/app/Notification$Builder; // method@0028 │ │ +018eb2: 3801 0b00 |0031: if-eqz v1, 003c // +000b │ │ +018eb6: 5441 cb00 |0033: iget-object v1, v4, Ldnsfilter/android/DNSFilterService;.notibuilder:Landroid/app/Notification$Builder; // field@00cb │ │ +018eba: 1402 2300 047f |0035: const v2, #float 1.75459e+38 // #7f040023 │ │ +018ec0: 6e20 2900 2100 |0038: invoke-virtual {v1, v2}, Landroid/app/Notification$Builder;.setSmallIcon:(I)Landroid/app/Notification$Builder; // method@0029 │ │ +018ec6: 2809 |003b: goto 0044 // +0009 │ │ +018ec8: 5441 cb00 |003c: iget-object v1, v4, Ldnsfilter/android/DNSFilterService;.notibuilder:Landroid/app/Notification$Builder; // field@00cb │ │ +018ecc: 1402 2400 047f |003e: const v2, #float 1.75459e+38 // #7f040024 │ │ +018ed2: 6e20 2900 2100 |0041: invoke-virtual {v1, v2}, Landroid/app/Notification$Builder;.setSmallIcon:(I)Landroid/app/Notification$Builder; // method@0029 │ │ +018ed8: 6e20 9a02 0400 |0044: invoke-virtual {v4, v0}, Ldnsfilter/android/DNSFilterService;.getSystemService:(Ljava/lang/String;)Ljava/lang/Object; // method@029a │ │ +018ede: 0c01 |0047: move-result-object v1 │ │ +018ee0: 1f01 0f00 |0048: check-cast v1, Landroid/app/NotificationManager; // type@000f │ │ +018ee4: 1212 |004a: const/4 v2, #int 1 // #1 │ │ +018ee6: 6e20 2b00 2100 |004b: invoke-virtual {v1, v2}, Landroid/app/NotificationManager;.cancel:(I)V // method@002b │ │ +018eec: 6e20 9a02 0400 |004e: invoke-virtual {v4, v0}, Ldnsfilter/android/DNSFilterService;.getSystemService:(Ljava/lang/String;)Ljava/lang/Object; // method@029a │ │ +018ef2: 0c00 |0051: move-result-object v0 │ │ +018ef4: 1f00 0f00 |0052: check-cast v0, Landroid/app/NotificationManager; // type@000f │ │ +018ef8: 5441 cb00 |0054: iget-object v1, v4, Ldnsfilter/android/DNSFilterService;.notibuilder:Landroid/app/Notification$Builder; // field@00cb │ │ +018efc: 6e10 2600 0100 |0056: invoke-virtual {v1}, Landroid/app/Notification$Builder;.build:()Landroid/app/Notification; // method@0026 │ │ +018f02: 0c01 |0059: move-result-object v1 │ │ +018f04: 6e30 2d00 2001 |005a: invoke-virtual {v0, v2, v1}, Landroid/app/NotificationManager;.notify:(ILandroid/app/Notification;)V // method@002d │ │ +018f0a: 6000 0200 |005d: sget v0, Landroid/os/Build$VERSION;.SDK_INT:I // field@0002 │ │ +018f0e: 1301 1800 |005f: const/16 v1, #int 24 // #18 │ │ +018f12: 3410 0e00 |0061: if-lt v0, v1, 006f // +000e │ │ +018f16: 7110 bb02 0400 |0063: invoke-static {v4}, Ldnsfilter/android/DNSFilterTileService;.requestTileUpdate:(Landroid/content/Context;)V // method@02bb │ │ +018f1c: 2809 |0066: goto 006f // +0009 │ │ +018f1e: 0d00 |0067: move-exception v0 │ │ +018f20: 7100 2707 0000 |0068: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0727 │ │ +018f26: 0c01 |006b: move-result-object v1 │ │ +018f28: 7220 3207 0100 |006c: invoke-interface {v1, v0}, Lutil/LoggerInterface;.logException:(Ljava/lang/Exception;)V // method@0732 │ │ +018f2e: 0e00 |006f: return-void │ │ catches : 1 │ │ 0x0002 - 0x0066 │ │ Ljava/lang/Exception; -> 0x0067 │ │ positions : │ │ 0x0000 line=813 │ │ 0x0002 line=816 │ │ 0x0014 line=817 │ │ @@ -14022,32 +14022,32 @@ │ │ type : '()Z' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 4 │ │ ins : 1 │ │ outs : 3 │ │ insns size : 31 16-bit code units │ │ -017b90: |[017b90] dnsfilter.android.DNSFilterService.isFilterActive:()Z │ │ -017ba0: 6200 b800 |0000: sget-object v0, Ldnsfilter/android/DNSFilterService;.DNSFILTER:Ldnsfilter/DNSFilterManager; // field@00b8 │ │ -017ba4: 3800 1b00 |0002: if-eqz v0, 001d // +001b │ │ -017ba8: 6e10 9401 0000 |0004: invoke-virtual {v0}, Ldnsfilter/DNSFilterManager;.getConfig:()Ljava/util/Properties; // method@0194 │ │ -017bae: 0c00 |0007: move-result-object v0 │ │ -017bb0: 1a01 e606 |0008: const-string v1, "filterActive" // string@06e6 │ │ -017bb4: 1a02 420b |000a: const-string v2, "true" // string@0b42 │ │ -017bb8: 6e30 5706 1002 |000c: invoke-virtual {v0, v1, v2}, Ljava/util/Properties;.getProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@0657 │ │ -017bbe: 0c00 |000f: move-result-object v0 │ │ -017bc0: 7110 4d05 0000 |0010: invoke-static {v0}, Ljava/lang/Boolean;.parseBoolean:(Ljava/lang/String;)Z // method@054d │ │ -017bc6: 0a00 |0013: move-result v0 │ │ -017bc8: 0f00 |0014: return v0 │ │ -017bca: 0d00 |0015: move-exception v0 │ │ -017bcc: 7100 2707 0000 |0016: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0727 │ │ -017bd2: 0c01 |0019: move-result-object v1 │ │ -017bd4: 7220 3207 0100 |001a: invoke-interface {v1, v0}, Lutil/LoggerInterface;.logException:(Ljava/lang/Exception;)V // method@0732 │ │ -017bda: 1200 |001d: const/4 v0, #int 0 // #0 │ │ -017bdc: 0f00 |001e: return v0 │ │ +017b8c: |[017b8c] dnsfilter.android.DNSFilterService.isFilterActive:()Z │ │ +017b9c: 6200 b800 |0000: sget-object v0, Ldnsfilter/android/DNSFilterService;.DNSFILTER:Ldnsfilter/DNSFilterManager; // field@00b8 │ │ +017ba0: 3800 1b00 |0002: if-eqz v0, 001d // +001b │ │ +017ba4: 6e10 9401 0000 |0004: invoke-virtual {v0}, Ldnsfilter/DNSFilterManager;.getConfig:()Ljava/util/Properties; // method@0194 │ │ +017baa: 0c00 |0007: move-result-object v0 │ │ +017bac: 1a01 e606 |0008: const-string v1, "filterActive" // string@06e6 │ │ +017bb0: 1a02 420b |000a: const-string v2, "true" // string@0b42 │ │ +017bb4: 6e30 5706 1002 |000c: invoke-virtual {v0, v1, v2}, Ljava/util/Properties;.getProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@0657 │ │ +017bba: 0c00 |000f: move-result-object v0 │ │ +017bbc: 7110 4d05 0000 |0010: invoke-static {v0}, Ljava/lang/Boolean;.parseBoolean:(Ljava/lang/String;)Z // method@054d │ │ +017bc2: 0a00 |0013: move-result v0 │ │ +017bc4: 0f00 |0014: return v0 │ │ +017bc6: 0d00 |0015: move-exception v0 │ │ +017bc8: 7100 2707 0000 |0016: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0727 │ │ +017bce: 0c01 |0019: move-result-object v1 │ │ +017bd0: 7220 3207 0100 |001a: invoke-interface {v1, v0}, Lutil/LoggerInterface;.logException:(Ljava/lang/Exception;)V // method@0732 │ │ +017bd6: 1200 |001d: const/4 v0, #int 0 // #0 │ │ +017bd8: 0f00 |001e: return v0 │ │ catches : 1 │ │ 0x0000 - 0x0014 │ │ Ljava/lang/Exception; -> 0x0015 │ │ positions : │ │ 0x0000 line=803 │ │ 0x0004 line=804 │ │ 0x0016 line=807 │ │ @@ -14059,22 +14059,22 @@ │ │ type : '()V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 3 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 16 16-bit code units │ │ -0189d0: |[0189d0] dnsfilter.android.DNSFilterService.onDestroy:()V │ │ -0189e0: 7100 2707 0000 |0000: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0727 │ │ -0189e6: 0c00 |0003: move-result-object v0 │ │ -0189e8: 1a01 5c06 |0004: const-string v1, "destroyed" // string@065c │ │ -0189ec: 7220 3307 1000 |0006: invoke-interface {v0, v1}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0733 │ │ -0189f2: 7010 ad02 0200 |0009: invoke-direct {v2}, Ldnsfilter/android/DNSFilterService;.shutdown:()Z // method@02ad │ │ -0189f8: 6f10 7800 0200 |000c: invoke-super {v2}, Landroid/net/VpnService;.onDestroy:()V // method@0078 │ │ -0189fe: 0e00 |000f: return-void │ │ +0189cc: |[0189cc] dnsfilter.android.DNSFilterService.onDestroy:()V │ │ +0189dc: 7100 2707 0000 |0000: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0727 │ │ +0189e2: 0c00 |0003: move-result-object v0 │ │ +0189e4: 1a01 5c06 |0004: const-string v1, "destroyed" // string@065c │ │ +0189e8: 7220 3307 1000 |0006: invoke-interface {v0, v1}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0733 │ │ +0189ee: 7010 ad02 0200 |0009: invoke-direct {v2}, Ldnsfilter/android/DNSFilterService;.shutdown:()Z // method@02ad │ │ +0189f4: 6f10 7800 0200 |000c: invoke-super {v2}, Landroid/net/VpnService;.onDestroy:()V // method@0078 │ │ +0189fa: 0e00 |000f: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=946 │ │ 0x0009 line=947 │ │ 0x000c line=948 │ │ locals : │ │ 0x0000 - 0x0010 reg=2 this Ldnsfilter/android/DNSFilterService; │ │ @@ -14084,260 +14084,260 @@ │ │ type : '(Landroid/content/Intent;II)I' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 12 │ │ ins : 4 │ │ outs : 6 │ │ insns size : 513 16-bit code units │ │ -017e64: |[017e64] dnsfilter.android.DNSFilterService.onStartCommand:(Landroid/content/Intent;II)I │ │ -017e74: 1a0a df06 |0000: const-string v10, "false" // string@06df │ │ -017e78: 7110 2202 0800 |0002: invoke-static {v8}, Ldnsfilter/android/AndroidEnvironment;.initEnvironment:(Landroid/content/Context;)V // method@0222 │ │ -017e7e: 6908 bb00 |0005: sput-object v8, Ldnsfilter/android/DNSFilterService;.INSTANCE:Ldnsfilter/android/DNSFilterService; // field@00bb │ │ -017e82: 6909 bd00 |0007: sput-object v9, Ldnsfilter/android/DNSFilterService;.SERVICE:Landroid/content/Intent; // field@00bd │ │ -017e86: 6209 b800 |0009: sget-object v9, Ldnsfilter/android/DNSFilterService;.DNSFILTER:Ldnsfilter/DNSFilterManager; // field@00b8 │ │ -017e8a: 1a0b 5c09 |000b: const-string v11, "pause_resume" // string@095c │ │ -017e8e: 1200 |000d: const/4 v0, #int 0 // #0 │ │ -017e90: 1211 |000e: const/4 v1, #int 1 // #1 │ │ -017e92: 3809 0d00 |000f: if-eqz v9, 001c // +000d │ │ -017e96: 7100 2707 0000 |0011: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0727 │ │ -017e9c: 0c09 |0014: move-result-object v9 │ │ -017e9e: 1a0a 3001 |0015: const-string v10, "DNS filter already running!" // string@0130 │ │ -017ea2: 7220 3307 a900 |0017: invoke-interface {v9, v10}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0733 │ │ -017ea8: 2900 2a01 |001a: goto/16 0144 // +012a │ │ -017eac: 7100 9901 0000 |001c: invoke-static {}, Ldnsfilter/DNSFilterManager;.getInstance:()Ldnsfilter/DNSFilterManager; // method@0199 │ │ -017eb2: 0c09 |001f: move-result-object v9 │ │ -017eb4: 6909 b800 |0020: sput-object v9, Ldnsfilter/android/DNSFilterService;.DNSFILTER:Ldnsfilter/DNSFilterManager; // field@00b8 │ │ -017eb8: 6e10 9e01 0900 |0022: invoke-virtual {v9}, Ldnsfilter/DNSFilterManager;.init:()V // method@019e │ │ -017ebe: 6209 b800 |0025: sget-object v9, Ldnsfilter/android/DNSFilterService;.DNSFILTER:Ldnsfilter/DNSFilterManager; // field@00b8 │ │ -017ec2: 6e10 9401 0900 |0027: invoke-virtual {v9}, Ldnsfilter/DNSFilterManager;.getConfig:()Ljava/util/Properties; // method@0194 │ │ -017ec8: 0c09 |002a: move-result-object v9 │ │ -017eca: 1a02 6b06 |002b: const-string v2, "dnsProxyOnAndroid" // string@066b │ │ -017ece: 6e30 5706 290a |002d: invoke-virtual {v9, v2, v10}, Ljava/util/Properties;.getProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@0657 │ │ -017ed4: 0c09 |0030: move-result-object v9 │ │ -017ed6: 7110 4d05 0900 |0031: invoke-static {v9}, Ljava/lang/Boolean;.parseBoolean:(Ljava/lang/String;)Z // method@054d │ │ -017edc: 0a09 |0034: move-result v9 │ │ -017ede: 6a09 c300 |0035: sput-boolean v9, Ldnsfilter/android/DNSFilterService;.dnsProxyMode:Z // field@00c3 │ │ -017ee2: 6209 b800 |0037: sget-object v9, Ldnsfilter/android/DNSFilterService;.DNSFILTER:Ldnsfilter/DNSFilterManager; // field@00b8 │ │ -017ee6: 6e10 9401 0900 |0039: invoke-virtual {v9}, Ldnsfilter/DNSFilterManager;.getConfig:()Ljava/util/Properties; // method@0194 │ │ -017eec: 0c09 |003c: move-result-object v9 │ │ -017eee: 1a02 6f06 |003d: const-string v2, "dnsProxyPortAndroid" // string@066f │ │ -017ef2: 1a03 7d00 |003f: const-string v3, "5300" // string@007d │ │ -017ef6: 6e30 5706 2903 |0041: invoke-virtual {v9, v2, v3}, Ljava/util/Properties;.getProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@0657 │ │ -017efc: 0c09 |0044: move-result-object v9 │ │ -017efe: 7110 6705 0900 |0045: invoke-static {v9}, Ljava/lang/Integer;.parseInt:(Ljava/lang/String;)I // method@0567 │ │ -017f04: 0a09 |0048: move-result v9 │ │ -017f06: 6709 c500 |0049: sput v9, Ldnsfilter/android/DNSFilterService;.dnsProxyPort:I // field@00c5 │ │ -017f0a: 6209 b800 |004b: sget-object v9, Ldnsfilter/android/DNSFilterService;.DNSFILTER:Ldnsfilter/DNSFilterManager; // field@00b8 │ │ -017f0e: 6e10 9401 0900 |004d: invoke-virtual {v9}, Ldnsfilter/DNSFilterManager;.getConfig:()Ljava/util/Properties; // method@0194 │ │ -017f14: 0c09 |0050: move-result-object v9 │ │ -017f16: 1a02 6d06 |0051: const-string v2, "dnsProxyOnlyLocalRequests" // string@066d │ │ -017f1a: 1a03 420b |0053: const-string v3, "true" // string@0b42 │ │ -017f1e: 6e30 5706 2903 |0055: invoke-virtual {v9, v2, v3}, Ljava/util/Properties;.getProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@0657 │ │ -017f24: 0c09 |0058: move-result-object v9 │ │ -017f26: 7110 4d05 0900 |0059: invoke-static {v9}, Ljava/lang/Boolean;.parseBoolean:(Ljava/lang/String;)Z // method@054d │ │ -017f2c: 0a09 |005c: move-result v9 │ │ -017f2e: 6a09 c400 |005d: sput-boolean v9, Ldnsfilter/android/DNSFilterService;.dnsProxyOnlyLocal:Z // field@00c4 │ │ -017f32: 6209 b800 |005f: sget-object v9, Ldnsfilter/android/DNSFilterService;.DNSFILTER:Ldnsfilter/DNSFilterManager; // field@00b8 │ │ -017f36: 6e10 9401 0900 |0061: invoke-virtual {v9}, Ldnsfilter/DNSFilterManager;.getConfig:()Ljava/util/Properties; // method@0194 │ │ -017f3c: 0c09 |0064: move-result-object v9 │ │ -017f3e: 1a02 2a0a |0065: const-string v2, "rootModeOnAndroid" // string@0a2a │ │ -017f42: 6e30 5706 290a |0067: invoke-virtual {v9, v2, v10}, Ljava/util/Properties;.getProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@0657 │ │ -017f48: 0c09 |006a: move-result-object v9 │ │ -017f4a: 7110 4d05 0900 |006b: invoke-static {v9}, Ljava/lang/Boolean;.parseBoolean:(Ljava/lang/String;)Z // method@054d │ │ -017f50: 0a09 |006e: move-result v9 │ │ -017f52: 6a09 cd00 |006f: sput-boolean v9, Ldnsfilter/android/DNSFilterService;.rootMode:Z // field@00cd │ │ -017f56: 6209 b800 |0071: sget-object v9, Ldnsfilter/android/DNSFilterService;.DNSFILTER:Ldnsfilter/DNSFilterManager; // field@00b8 │ │ -017f5a: 6e10 9401 0900 |0073: invoke-virtual {v9}, Ldnsfilter/DNSFilterManager;.getConfig:()Ljava/util/Properties; // method@0194 │ │ -017f60: 0c09 |0076: move-result-object v9 │ │ -017f62: 1a02 900b |0077: const-string v2, "vpnInAdditionToProxyMode" // string@0b90 │ │ -017f66: 6e30 5706 290a |0079: invoke-virtual {v9, v2, v10}, Ljava/util/Properties;.getProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@0657 │ │ -017f6c: 0c09 |007c: move-result-object v9 │ │ -017f6e: 7110 4d05 0900 |007d: invoke-static {v9}, Ljava/lang/Boolean;.parseBoolean:(Ljava/lang/String;)Z // method@054d │ │ -017f74: 0a09 |0080: move-result v9 │ │ -017f76: 6a09 d000 |0081: sput-boolean v9, Ldnsfilter/android/DNSFilterService;.vpnInAdditionToProxyMode:Z // field@00d0 │ │ -017f7a: 6309 cd00 |0083: sget-boolean v9, Ldnsfilter/android/DNSFilterService;.rootMode:Z // field@00cd │ │ -017f7e: 3809 1100 |0085: if-eqz v9, 0096 // +0011 │ │ -017f82: 6309 c300 |0087: sget-boolean v9, Ldnsfilter/android/DNSFilterService;.dnsProxyMode:Z // field@00c3 │ │ -017f86: 3909 0d00 |0089: if-nez v9, 0096 // +000d │ │ -017f8a: 6a00 cd00 |008b: sput-boolean v0, Ldnsfilter/android/DNSFilterService;.rootMode:Z // field@00cd │ │ -017f8e: 7100 2707 0000 |008d: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0727 │ │ -017f94: 0c09 |0090: move-result-object v9 │ │ -017f96: 1a02 d904 |0091: const-string v2, "WARNING! Root mode only possible in combination with DNS proxy mode!" // string@04d9 │ │ -017f9a: 7220 3307 2900 |0093: invoke-interface {v9, v2}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0733 │ │ -017fa0: 6309 cd00 |0096: sget-boolean v9, Ldnsfilter/android/DNSFilterService;.rootMode:Z // field@00cd │ │ -017fa4: 3809 0c00 |0098: if-eqz v9, 00a4 // +000c │ │ -017fa8: 6209 c600 |009a: sget-object v9, Ldnsfilter/android/DNSFilterService;.dnsReqForwarder:Ldnsfilter/android/DNSFilterService$DNSReqForwarder; // field@00c6 │ │ -017fac: 7110 8002 0900 |009c: invoke-static {v9}, Ldnsfilter/android/DNSFilterService$DNSReqForwarder;.access$600:(Ldnsfilter/android/DNSFilterService$DNSReqForwarder;)V // method@0280 │ │ -017fb2: 6209 c600 |009f: sget-object v9, Ldnsfilter/android/DNSFilterService;.dnsReqForwarder:Ldnsfilter/android/DNSFilterService$DNSReqForwarder; // field@00c6 │ │ -017fb6: 7110 7f02 0900 |00a1: invoke-static {v9}, Ldnsfilter/android/DNSFilterService$DNSReqForwarder;.access$500:(Ldnsfilter/android/DNSFilterService$DNSReqForwarder;)V // method@027f │ │ -017fbc: 7100 7902 0000 |00a4: invoke-static {}, Ldnsfilter/android/ConnectionChangeReceiver;.getInstance:()Ldnsfilter/android/ConnectionChangeReceiver; // method@0279 │ │ -017fc2: 0c09 |00a7: move-result-object v9 │ │ -017fc4: 2202 1b00 |00a8: new-instance v2, Landroid/content/IntentFilter; // type@001b │ │ -017fc8: 1a03 6305 |00aa: const-string v3, "android.net.conn.CONNECTIVITY_CHANGE" // string@0563 │ │ -017fcc: 7020 4f00 3200 |00ac: invoke-direct {v2, v3}, Landroid/content/IntentFilter;.:(Ljava/lang/String;)V // method@004f │ │ -017fd2: 6e30 a602 9802 |00af: invoke-virtual {v8, v9, v2}, Ldnsfilter/android/DNSFilterService;.registerReceiver:(Landroid/content/BroadcastReceiver;Landroid/content/IntentFilter;)Landroid/content/Intent; // method@02a6 │ │ -017fd8: 6009 0200 |00b2: sget v9, Landroid/os/Build$VERSION;.SDK_INT:I // field@0002 │ │ -017fdc: 1302 2200 |00b4: const/16 v2, #int 34 // #22 │ │ -017fe0: 3529 0f00 |00b6: if-ge v9, v2, 00c5 // +000f │ │ -017fe4: 7100 4f03 0000 |00b8: invoke-static {}, Ldnsfilter/android/NotificationReceiver;.getInstance:()Ldnsfilter/android/NotificationReceiver; // method@034f │ │ -017fea: 0c09 |00bb: move-result-object v9 │ │ -017fec: 2202 1b00 |00bc: new-instance v2, Landroid/content/IntentFilter; // type@001b │ │ -017ff0: 7020 4f00 b200 |00be: invoke-direct {v2, v11}, Landroid/content/IntentFilter;.:(Ljava/lang/String;)V // method@004f │ │ -017ff6: 6e30 a602 9802 |00c1: invoke-virtual {v8, v9, v2}, Ldnsfilter/android/DNSFilterService;.registerReceiver:(Landroid/content/BroadcastReceiver;Landroid/content/IntentFilter;)Landroid/content/Intent; // method@02a6 │ │ -017ffc: 280e |00c4: goto 00d2 // +000e │ │ -017ffe: 7100 4f03 0000 |00c5: invoke-static {}, Ldnsfilter/android/NotificationReceiver;.getInstance:()Ldnsfilter/android/NotificationReceiver; // method@034f │ │ -018004: 0c09 |00c8: move-result-object v9 │ │ -018006: 2202 1b00 |00c9: new-instance v2, Landroid/content/IntentFilter; // type@001b │ │ -01800a: 7020 4f00 b200 |00cb: invoke-direct {v2, v11}, Landroid/content/IntentFilter;.:(Ljava/lang/String;)V // method@004f │ │ -018010: 1223 |00ce: const/4 v3, #int 2 // #2 │ │ -018012: 7140 5c02 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@025c │ │ -018018: 7110 a202 0100 |00d2: invoke-static {v1}, Ldnsfilter/android/DNSFilterService;.possibleNetworkChange:(Z)V // method@02a2 │ │ -01801e: 6309 c300 |00d5: sget-boolean v9, Ldnsfilter/android/DNSFilterService;.dnsProxyMode:Z // field@00c3 │ │ -018022: 3809 1c00 |00d7: if-eqz v9, 00f3 // +001c │ │ -018026: 6309 cd00 |00d9: sget-boolean v9, Ldnsfilter/android/DNSFilterService;.rootMode:Z // field@00cd │ │ -01802a: 3809 0500 |00db: if-eqz v9, 00e0 // +0005 │ │ -01802e: 7010 ac02 0800 |00dd: invoke-direct {v8}, Ldnsfilter/android/DNSFilterService;.setUpPortRedir:()V // method@02ac │ │ -018034: 2209 8d00 |00e0: new-instance v9, Ldnsfilter/DNSFilterProxy; // type@008d │ │ -018038: 6002 c500 |00e2: sget v2, Ldnsfilter/android/DNSFilterService;.dnsProxyPort:I // field@00c5 │ │ -01803c: 7020 c801 2900 |00e4: invoke-direct {v9, v2}, Ldnsfilter/DNSFilterProxy;.:(I)V // method@01c8 │ │ -018042: 6909 b900 |00e7: sput-object v9, Ldnsfilter/android/DNSFilterService;.DNSFILTERPROXY:Ldnsfilter/DNSFilterProxy; // field@00b9 │ │ -018046: 2209 2f01 |00e9: new-instance v9, Ljava/lang/Thread; // type@012f │ │ -01804a: 6202 b900 |00eb: sget-object v2, Ldnsfilter/android/DNSFilterService;.DNSFILTERPROXY:Ldnsfilter/DNSFilterProxy; // field@00b9 │ │ -01804e: 7020 b605 2900 |00ed: invoke-direct {v9, v2}, Ljava/lang/Thread;.:(Ljava/lang/Runnable;)V // method@05b6 │ │ -018054: 6e10 bc05 0900 |00f0: invoke-virtual {v9}, Ljava/lang/Thread;.start:()V // method@05bc │ │ -01805a: 6209 b800 |00f3: sget-object v9, Ldnsfilter/android/DNSFilterService;.DNSFILTER:Ldnsfilter/DNSFilterManager; // field@00b8 │ │ -01805e: 6e10 9401 0900 |00f5: invoke-virtual {v9}, Ldnsfilter/DNSFilterManager;.getConfig:()Ljava/util/Properties; // method@0194 │ │ -018064: 0c09 |00f8: move-result-object v9 │ │ -018066: 1a02 d108 |00f9: const-string v2, "manageDNSCryptProxy" // string@08d1 │ │ -01806a: 6e30 5706 290a |00fb: invoke-virtual {v9, v2, v10}, Ljava/util/Properties;.getProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@0657 │ │ -018070: 0c09 |00fe: move-result-object v9 │ │ -018072: 7110 4d05 0900 |00ff: invoke-static {v9}, Ljava/lang/Boolean;.parseBoolean:(Ljava/lang/String;)Z // method@054d │ │ -018078: 0a09 |0102: move-result v9 │ │ -01807a: 5c89 c900 |0103: iput-boolean v9, v8, Ldnsfilter/android/DNSFilterService;.manageDNSCryptProxy:Z // field@00c9 │ │ -01807e: 3809 3d00 |0105: if-eqz v9, 0142 // +003d │ │ -018082: 5589 c200 |0107: iget-boolean v9, v8, Ldnsfilter/android/DNSFilterService;.dnsCryptProxyStartTriggered:Z // field@00c2 │ │ -018086: 3909 3900 |0109: if-nez v9, 0142 // +0039 │ │ -01808a: 6209 bc00 |010b: sget-object v9, Ldnsfilter/android/DNSFilterService;.KILL_DNSCRYPTPROXY:Ljava/lang/String; // field@00bc │ │ -01808e: 7130 ab02 0109 |010d: invoke-static {v1, v0, v9}, Ldnsfilter/android/DNSFilterService;.runOSCommand:(ZZLjava/lang/String;)V // method@02ab │ │ -018094: 2209 2d01 |0110: new-instance v9, Ljava/lang/StringBuilder; // type@012d │ │ -018098: 7010 a905 0900 |0112: invoke-direct {v9}, Ljava/lang/StringBuilder;.:()V // method@05a9 │ │ -01809e: 620a be00 |0115: sget-object v10, Ldnsfilter/android/DNSFilterService;.START_DNSCRYPTPROXY:Ljava/lang/String; // field@00be │ │ -0180a2: 6e20 af05 a900 |0117: invoke-virtual {v9, v10}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -0180a8: 1a0a 0d00 |011a: const-string v10, " " // string@000d │ │ -0180ac: 6e20 af05 a900 |011c: invoke-virtual {v9, v10}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -0180b2: 620a b800 |011f: sget-object v10, Ldnsfilter/android/DNSFilterService;.DNSFILTER:Ldnsfilter/DNSFilterManager; // field@00b8 │ │ -0180b6: 6e10 9401 0a00 |0121: invoke-virtual {v10}, Ldnsfilter/DNSFilterManager;.getConfig:()Ljava/util/Properties; // method@0194 │ │ -0180bc: 0c0a |0124: move-result-object v10 │ │ -0180be: 1a02 6406 |0125: const-string v2, "dnsCryptProxyStartOptions" // string@0664 │ │ -0180c2: 1a03 0000 |0127: const-string v3, "" // string@0000 │ │ -0180c6: 6e30 5706 2a03 |0129: invoke-virtual {v10, v2, v3}, Ljava/util/Properties;.getProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@0657 │ │ -0180cc: 0c0a |012c: move-result-object v10 │ │ -0180ce: 6e20 af05 a900 |012d: invoke-virtual {v9, v10}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -0180d4: 6e10 b105 0900 |0130: invoke-virtual {v9}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ -0180da: 0c09 |0133: move-result-object v9 │ │ -0180dc: 7130 ab02 1009 |0134: invoke-static {v0, v1, v9}, Ldnsfilter/android/DNSFilterService;.runOSCommand:(ZZLjava/lang/String;)V // method@02ab │ │ -0180e2: 5c81 c200 |0137: iput-boolean v1, v8, Ldnsfilter/android/DNSFilterService;.dnsCryptProxyStartTriggered:Z // field@00c2 │ │ -0180e6: 2809 |0139: goto 0142 // +0009 │ │ -0180e8: 0d09 |013a: move-exception v9 │ │ -0180ea: 7100 2707 0000 |013b: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0727 │ │ -0180f0: 0c0a |013e: move-result-object v10 │ │ -0180f2: 7220 3207 9a00 |013f: invoke-interface {v10, v9}, Lutil/LoggerInterface;.logException:(Ljava/lang/Exception;)V // method@0732 │ │ -0180f8: 6a01 c700 |0142: sput-boolean v1, Ldnsfilter/android/DNSFilterService;.is_running:Z // field@00c7 │ │ -0180fc: 2209 1a00 |0144: new-instance v9, Landroid/content/Intent; // type@001a │ │ -018100: 1c0a b000 |0146: const-class v10, Ldnsfilter/android/DNSProxyActivity; // type@00b0 │ │ -018104: 7030 4200 890a |0148: invoke-direct {v9, v8, v10}, Landroid/content/Intent;.:(Landroid/content/Context;Ljava/lang/Class;)V // method@0042 │ │ -01810a: 150a 0004 |014b: const/high16 v10, #int 67108864 // #400 │ │ -01810e: 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 │ │ -018114: 0c09 |0150: move-result-object v9 │ │ -018116: 5b89 cc00 |0151: iput-object v9, v8, Ldnsfilter/android/DNSFilterService;.pendingIntent:Landroid/app/PendingIntent; // field@00cc │ │ -01811a: 6309 c300 |0153: sget-boolean v9, Ldnsfilter/android/DNSFilterService;.dnsProxyMode:Z // field@00c3 │ │ -01811e: 3809 0600 |0155: if-eqz v9, 015b // +0006 │ │ -018122: 6309 d000 |0157: sget-boolean v9, Ldnsfilter/android/DNSFilterService;.vpnInAdditionToProxyMode:Z // field@00d0 │ │ -018126: 3809 2d00 |0159: if-eqz v9, 0186 // +002d │ │ -01812a: 7020 9c02 1800 |015b: invoke-direct {v8, v1}, Ldnsfilter/android/DNSFilterService;.initVPN:(Z)Landroid/os/ParcelFileDescriptor; // method@029c │ │ -018130: 0c05 |015e: move-result-object v5 │ │ -018132: 3805 1e00 |015f: if-eqz v5, 017d // +001e │ │ -018136: 2209 a300 |0161: new-instance v9, Ldnsfilter/android/DNSFilterService$VPNRunner; // type@00a3 │ │ -01813a: 600a cf00 |0163: sget v10, Ldnsfilter/android/DNSFilterService;.startCounter:I // field@00cf │ │ -01813e: d804 0a01 |0165: add-int/lit8 v4, v10, #int 1 // #01 │ │ -018142: 6704 cf00 |0167: sput v4, Ldnsfilter/android/DNSFilterService;.startCounter:I // field@00cf │ │ -018146: 1216 |0169: const/4 v6, #int 1 // #1 │ │ -018148: 1207 |016a: const/4 v7, #int 0 // #0 │ │ -01814a: 0792 |016b: move-object v2, v9 │ │ -01814c: 0783 |016c: move-object v3, v8 │ │ -01814e: 7606 8702 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@0287 │ │ -018154: 5b89 d100 |0170: iput-object v9, v8, Ldnsfilter/android/DNSFilterService;.vpnRunner:Ldnsfilter/android/DNSFilterService$VPNRunner; // field@00d1 │ │ -018158: 2209 2f01 |0172: new-instance v9, Ljava/lang/Thread; // type@012f │ │ -01815c: 548a d100 |0174: iget-object v10, v8, Ldnsfilter/android/DNSFilterService;.vpnRunner:Ldnsfilter/android/DNSFilterService$VPNRunner; // field@00d1 │ │ -018160: 7020 b605 a900 |0176: invoke-direct {v9, v10}, Ljava/lang/Thread;.:(Ljava/lang/Runnable;)V // method@05b6 │ │ -018166: 6e10 bc05 0900 |0179: invoke-virtual {v9}, Ljava/lang/Thread;.start:()V // method@05bc │ │ -01816c: 280a |017c: goto 0186 // +000a │ │ -01816e: 7100 2707 0000 |017d: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0727 │ │ -018174: 0c09 |0180: move-result-object v9 │ │ -018176: 1a0a 8301 |0181: const-string v10, "Error! Cannot get VPN interface! Try restart!" // string@0183 │ │ -01817a: 7220 3307 a900 |0183: invoke-interface {v9, v10}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0733 │ │ -018180: 6009 0200 |0186: sget v9, Landroid/os/Build$VERSION;.SDK_INT:I // field@0002 │ │ -018184: 130a 1a00 |0188: const/16 v10, #int 26 // #1a │ │ -018188: 34a9 0e00 |018a: if-lt v9, v10, 0198 // +000e │ │ -01818c: 2209 0c00 |018c: new-instance v9, Landroid/app/Notification$Builder; // type@000c │ │ -018190: 7010 9502 0800 |018e: invoke-direct {v8}, Ldnsfilter/android/DNSFilterService;.getChannel:()Ljava/lang/String; // method@0295 │ │ -018196: 0c0a |0191: move-result-object v10 │ │ -018198: 7030 2400 890a |0192: invoke-direct {v9, v8, v10}, Landroid/app/Notification$Builder;.:(Landroid/content/Context;Ljava/lang/String;)V // method@0024 │ │ -01819e: 5b89 cb00 |0195: iput-object v9, v8, Ldnsfilter/android/DNSFilterService;.notibuilder:Landroid/app/Notification$Builder; // field@00cb │ │ -0181a2: 2808 |0197: goto 019f // +0008 │ │ -0181a4: 2209 0c00 |0198: new-instance v9, Landroid/app/Notification$Builder; // type@000c │ │ -0181a8: 7020 2300 8900 |019a: invoke-direct {v9, v8}, Landroid/app/Notification$Builder;.:(Landroid/content/Context;)V // method@0023 │ │ -0181ae: 5b89 cb00 |019d: iput-object v9, v8, Ldnsfilter/android/DNSFilterService;.notibuilder:Landroid/app/Notification$Builder; // field@00cb │ │ -0181b2: 2209 1a00 |019f: new-instance v9, Landroid/content/Intent; // type@001a │ │ -0181b6: 7010 4100 0900 |01a1: invoke-direct {v9}, Landroid/content/Intent;.:()V // method@0041 │ │ -0181bc: 6e20 4d00 b900 |01a4: invoke-virtual {v9, v11}, Landroid/content/Intent;.setAction:(Ljava/lang/String;)Landroid/content/Intent; // method@004d │ │ -0181c2: 130a 3930 |01a7: const/16 v10, #int 12345 // #3039 │ │ -0181c6: 150b 000c |01a9: const/high16 v11, #int 201326592 // #c00 │ │ -0181ca: 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 │ │ -0181d0: 0c09 |01ae: move-result-object v9 │ │ -0181d2: 548a cb00 |01af: iget-object v10, v8, Ldnsfilter/android/DNSFilterService;.notibuilder:Landroid/app/Notification$Builder; // field@00cb │ │ -0181d6: 6e10 9902 0800 |01b1: invoke-virtual {v8}, Ldnsfilter/android/DNSFilterService;.getResources:()Landroid/content/res/Resources; // method@0299 │ │ -0181dc: 0c0b |01b4: move-result-object v11 │ │ -0181de: 1402 1d00 087f |01b5: const v2, #float 1.80776e+38 // #7f08001d │ │ -0181e4: 6e20 5900 2b00 |01b8: invoke-virtual {v11, v2}, Landroid/content/res/Resources;.getString:(I)Ljava/lang/String; // method@0059 │ │ -0181ea: 0c0b |01bb: move-result-object v11 │ │ -0181ec: 6e20 2800 ba00 |01bc: invoke-virtual {v10, v11}, Landroid/app/Notification$Builder;.setContentTitle:(Ljava/lang/CharSequence;)Landroid/app/Notification$Builder; // method@0028 │ │ -0181f2: 0c0a |01bf: move-result-object v10 │ │ -0181f4: 140b 2300 047f |01c0: const v11, #float 1.75459e+38 // #7f040023 │ │ -0181fa: 6e20 2900 ba00 |01c3: invoke-virtual {v10, v11}, Landroid/app/Notification$Builder;.setSmallIcon:(I)Landroid/app/Notification$Builder; // method@0029 │ │ -018200: 0c0a |01c6: move-result-object v10 │ │ -018202: 548b cc00 |01c7: iget-object v11, v8, Ldnsfilter/android/DNSFilterService;.pendingIntent:Landroid/app/PendingIntent; // field@00cc │ │ -018206: 6e20 2700 ba00 |01c9: invoke-virtual {v10, v11}, Landroid/app/Notification$Builder;.setContentIntent:(Landroid/app/PendingIntent;)Landroid/app/Notification$Builder; // method@0027 │ │ -01820c: 0c0a |01cc: move-result-object v10 │ │ -01820e: 6e10 9902 0800 |01cd: invoke-virtual {v8}, Ldnsfilter/android/DNSFilterService;.getResources:()Landroid/content/res/Resources; // method@0299 │ │ -018214: 0c0b |01d0: move-result-object v11 │ │ -018216: 1402 3000 087f |01d1: const v2, #float 1.80776e+38 // #7f080030 │ │ -01821c: 6e20 5900 2b00 |01d4: invoke-virtual {v11, v2}, Landroid/content/res/Resources;.getString:(I)Ljava/lang/String; // method@0059 │ │ -018222: 0c0b |01d7: move-result-object v11 │ │ -018224: 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 │ │ -01822a: 0c09 |01db: move-result-object v9 │ │ -01822c: 6e10 2600 0900 |01dc: invoke-virtual {v9}, Landroid/app/Notification$Builder;.build:()Landroid/app/Notification; // method@0026 │ │ -018232: 7010 b302 0800 |01df: invoke-direct {v8}, Ldnsfilter/android/DNSFilterService;.updateNotification:()V // method@02b3 │ │ -018238: 5489 cb00 |01e2: iget-object v9, v8, Ldnsfilter/android/DNSFilterService;.notibuilder:Landroid/app/Notification$Builder; // field@00cb │ │ -01823c: 6e10 2600 0900 |01e4: invoke-virtual {v9}, Landroid/app/Notification$Builder;.build:()Landroid/app/Notification; // method@0026 │ │ -018242: 0c09 |01e7: move-result-object v9 │ │ -018244: 6e30 ae02 1809 |01e8: invoke-virtual {v8, v1, v9}, Ldnsfilter/android/DNSFilterService;.startForeground:(ILandroid/app/Notification;)V // method@02ae │ │ -01824a: 2809 |01eb: goto 01f4 // +0009 │ │ -01824c: 0d09 |01ec: move-exception v9 │ │ -01824e: 7100 2707 0000 |01ed: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0727 │ │ -018254: 0c0a |01f0: move-result-object v10 │ │ -018256: 7220 3207 9a00 |01f1: invoke-interface {v10, v9}, Lutil/LoggerInterface;.logException:(Ljava/lang/Exception;)V // method@0732 │ │ -01825c: 0f01 |01f4: return v1 │ │ -01825e: 0d09 |01f5: move-exception v9 │ │ -018260: 120a |01f6: const/4 v10, #int 0 // #0 │ │ -018262: 690a b800 |01f7: sput-object v10, Ldnsfilter/android/DNSFilterService;.DNSFILTER:Ldnsfilter/DNSFilterManager; // field@00b8 │ │ -018266: 7100 2707 0000 |01f9: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0727 │ │ -01826c: 0c0a |01fc: move-result-object v10 │ │ -01826e: 7220 3207 9a00 |01fd: invoke-interface {v10, v9}, Lutil/LoggerInterface;.logException:(Ljava/lang/Exception;)V // method@0732 │ │ -018274: 0f01 |0200: return v1 │ │ +017e60: |[017e60] dnsfilter.android.DNSFilterService.onStartCommand:(Landroid/content/Intent;II)I │ │ +017e70: 1a0a df06 |0000: const-string v10, "false" // string@06df │ │ +017e74: 7110 2202 0800 |0002: invoke-static {v8}, Ldnsfilter/android/AndroidEnvironment;.initEnvironment:(Landroid/content/Context;)V // method@0222 │ │ +017e7a: 6908 bb00 |0005: sput-object v8, Ldnsfilter/android/DNSFilterService;.INSTANCE:Ldnsfilter/android/DNSFilterService; // field@00bb │ │ +017e7e: 6909 bd00 |0007: sput-object v9, Ldnsfilter/android/DNSFilterService;.SERVICE:Landroid/content/Intent; // field@00bd │ │ +017e82: 6209 b800 |0009: sget-object v9, Ldnsfilter/android/DNSFilterService;.DNSFILTER:Ldnsfilter/DNSFilterManager; // field@00b8 │ │ +017e86: 1a0b 5c09 |000b: const-string v11, "pause_resume" // string@095c │ │ +017e8a: 1200 |000d: const/4 v0, #int 0 // #0 │ │ +017e8c: 1211 |000e: const/4 v1, #int 1 // #1 │ │ +017e8e: 3809 0d00 |000f: if-eqz v9, 001c // +000d │ │ +017e92: 7100 2707 0000 |0011: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0727 │ │ +017e98: 0c09 |0014: move-result-object v9 │ │ +017e9a: 1a0a 3001 |0015: const-string v10, "DNS filter already running!" // string@0130 │ │ +017e9e: 7220 3307 a900 |0017: invoke-interface {v9, v10}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0733 │ │ +017ea4: 2900 2a01 |001a: goto/16 0144 // +012a │ │ +017ea8: 7100 9901 0000 |001c: invoke-static {}, Ldnsfilter/DNSFilterManager;.getInstance:()Ldnsfilter/DNSFilterManager; // method@0199 │ │ +017eae: 0c09 |001f: move-result-object v9 │ │ +017eb0: 6909 b800 |0020: sput-object v9, Ldnsfilter/android/DNSFilterService;.DNSFILTER:Ldnsfilter/DNSFilterManager; // field@00b8 │ │ +017eb4: 6e10 9e01 0900 |0022: invoke-virtual {v9}, Ldnsfilter/DNSFilterManager;.init:()V // method@019e │ │ +017eba: 6209 b800 |0025: sget-object v9, Ldnsfilter/android/DNSFilterService;.DNSFILTER:Ldnsfilter/DNSFilterManager; // field@00b8 │ │ +017ebe: 6e10 9401 0900 |0027: invoke-virtual {v9}, Ldnsfilter/DNSFilterManager;.getConfig:()Ljava/util/Properties; // method@0194 │ │ +017ec4: 0c09 |002a: move-result-object v9 │ │ +017ec6: 1a02 6b06 |002b: const-string v2, "dnsProxyOnAndroid" // string@066b │ │ +017eca: 6e30 5706 290a |002d: invoke-virtual {v9, v2, v10}, Ljava/util/Properties;.getProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@0657 │ │ +017ed0: 0c09 |0030: move-result-object v9 │ │ +017ed2: 7110 4d05 0900 |0031: invoke-static {v9}, Ljava/lang/Boolean;.parseBoolean:(Ljava/lang/String;)Z // method@054d │ │ +017ed8: 0a09 |0034: move-result v9 │ │ +017eda: 6a09 c300 |0035: sput-boolean v9, Ldnsfilter/android/DNSFilterService;.dnsProxyMode:Z // field@00c3 │ │ +017ede: 6209 b800 |0037: sget-object v9, Ldnsfilter/android/DNSFilterService;.DNSFILTER:Ldnsfilter/DNSFilterManager; // field@00b8 │ │ +017ee2: 6e10 9401 0900 |0039: invoke-virtual {v9}, Ldnsfilter/DNSFilterManager;.getConfig:()Ljava/util/Properties; // method@0194 │ │ +017ee8: 0c09 |003c: move-result-object v9 │ │ +017eea: 1a02 6f06 |003d: const-string v2, "dnsProxyPortAndroid" // string@066f │ │ +017eee: 1a03 7d00 |003f: const-string v3, "5300" // string@007d │ │ +017ef2: 6e30 5706 2903 |0041: invoke-virtual {v9, v2, v3}, Ljava/util/Properties;.getProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@0657 │ │ +017ef8: 0c09 |0044: move-result-object v9 │ │ +017efa: 7110 6705 0900 |0045: invoke-static {v9}, Ljava/lang/Integer;.parseInt:(Ljava/lang/String;)I // method@0567 │ │ +017f00: 0a09 |0048: move-result v9 │ │ +017f02: 6709 c500 |0049: sput v9, Ldnsfilter/android/DNSFilterService;.dnsProxyPort:I // field@00c5 │ │ +017f06: 6209 b800 |004b: sget-object v9, Ldnsfilter/android/DNSFilterService;.DNSFILTER:Ldnsfilter/DNSFilterManager; // field@00b8 │ │ +017f0a: 6e10 9401 0900 |004d: invoke-virtual {v9}, Ldnsfilter/DNSFilterManager;.getConfig:()Ljava/util/Properties; // method@0194 │ │ +017f10: 0c09 |0050: move-result-object v9 │ │ +017f12: 1a02 6d06 |0051: const-string v2, "dnsProxyOnlyLocalRequests" // string@066d │ │ +017f16: 1a03 420b |0053: const-string v3, "true" // string@0b42 │ │ +017f1a: 6e30 5706 2903 |0055: invoke-virtual {v9, v2, v3}, Ljava/util/Properties;.getProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@0657 │ │ +017f20: 0c09 |0058: move-result-object v9 │ │ +017f22: 7110 4d05 0900 |0059: invoke-static {v9}, Ljava/lang/Boolean;.parseBoolean:(Ljava/lang/String;)Z // method@054d │ │ +017f28: 0a09 |005c: move-result v9 │ │ +017f2a: 6a09 c400 |005d: sput-boolean v9, Ldnsfilter/android/DNSFilterService;.dnsProxyOnlyLocal:Z // field@00c4 │ │ +017f2e: 6209 b800 |005f: sget-object v9, Ldnsfilter/android/DNSFilterService;.DNSFILTER:Ldnsfilter/DNSFilterManager; // field@00b8 │ │ +017f32: 6e10 9401 0900 |0061: invoke-virtual {v9}, Ldnsfilter/DNSFilterManager;.getConfig:()Ljava/util/Properties; // method@0194 │ │ +017f38: 0c09 |0064: move-result-object v9 │ │ +017f3a: 1a02 2a0a |0065: const-string v2, "rootModeOnAndroid" // string@0a2a │ │ +017f3e: 6e30 5706 290a |0067: invoke-virtual {v9, v2, v10}, Ljava/util/Properties;.getProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@0657 │ │ +017f44: 0c09 |006a: move-result-object v9 │ │ +017f46: 7110 4d05 0900 |006b: invoke-static {v9}, Ljava/lang/Boolean;.parseBoolean:(Ljava/lang/String;)Z // method@054d │ │ +017f4c: 0a09 |006e: move-result v9 │ │ +017f4e: 6a09 cd00 |006f: sput-boolean v9, Ldnsfilter/android/DNSFilterService;.rootMode:Z // field@00cd │ │ +017f52: 6209 b800 |0071: sget-object v9, Ldnsfilter/android/DNSFilterService;.DNSFILTER:Ldnsfilter/DNSFilterManager; // field@00b8 │ │ +017f56: 6e10 9401 0900 |0073: invoke-virtual {v9}, Ldnsfilter/DNSFilterManager;.getConfig:()Ljava/util/Properties; // method@0194 │ │ +017f5c: 0c09 |0076: move-result-object v9 │ │ +017f5e: 1a02 900b |0077: const-string v2, "vpnInAdditionToProxyMode" // string@0b90 │ │ +017f62: 6e30 5706 290a |0079: invoke-virtual {v9, v2, v10}, Ljava/util/Properties;.getProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@0657 │ │ +017f68: 0c09 |007c: move-result-object v9 │ │ +017f6a: 7110 4d05 0900 |007d: invoke-static {v9}, Ljava/lang/Boolean;.parseBoolean:(Ljava/lang/String;)Z // method@054d │ │ +017f70: 0a09 |0080: move-result v9 │ │ +017f72: 6a09 d000 |0081: sput-boolean v9, Ldnsfilter/android/DNSFilterService;.vpnInAdditionToProxyMode:Z // field@00d0 │ │ +017f76: 6309 cd00 |0083: sget-boolean v9, Ldnsfilter/android/DNSFilterService;.rootMode:Z // field@00cd │ │ +017f7a: 3809 1100 |0085: if-eqz v9, 0096 // +0011 │ │ +017f7e: 6309 c300 |0087: sget-boolean v9, Ldnsfilter/android/DNSFilterService;.dnsProxyMode:Z // field@00c3 │ │ +017f82: 3909 0d00 |0089: if-nez v9, 0096 // +000d │ │ +017f86: 6a00 cd00 |008b: sput-boolean v0, Ldnsfilter/android/DNSFilterService;.rootMode:Z // field@00cd │ │ +017f8a: 7100 2707 0000 |008d: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0727 │ │ +017f90: 0c09 |0090: move-result-object v9 │ │ +017f92: 1a02 d904 |0091: const-string v2, "WARNING! Root mode only possible in combination with DNS proxy mode!" // string@04d9 │ │ +017f96: 7220 3307 2900 |0093: invoke-interface {v9, v2}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0733 │ │ +017f9c: 6309 cd00 |0096: sget-boolean v9, Ldnsfilter/android/DNSFilterService;.rootMode:Z // field@00cd │ │ +017fa0: 3809 0c00 |0098: if-eqz v9, 00a4 // +000c │ │ +017fa4: 6209 c600 |009a: sget-object v9, Ldnsfilter/android/DNSFilterService;.dnsReqForwarder:Ldnsfilter/android/DNSFilterService$DNSReqForwarder; // field@00c6 │ │ +017fa8: 7110 8002 0900 |009c: invoke-static {v9}, Ldnsfilter/android/DNSFilterService$DNSReqForwarder;.access$600:(Ldnsfilter/android/DNSFilterService$DNSReqForwarder;)V // method@0280 │ │ +017fae: 6209 c600 |009f: sget-object v9, Ldnsfilter/android/DNSFilterService;.dnsReqForwarder:Ldnsfilter/android/DNSFilterService$DNSReqForwarder; // field@00c6 │ │ +017fb2: 7110 7f02 0900 |00a1: invoke-static {v9}, Ldnsfilter/android/DNSFilterService$DNSReqForwarder;.access$500:(Ldnsfilter/android/DNSFilterService$DNSReqForwarder;)V // method@027f │ │ +017fb8: 7100 7902 0000 |00a4: invoke-static {}, Ldnsfilter/android/ConnectionChangeReceiver;.getInstance:()Ldnsfilter/android/ConnectionChangeReceiver; // method@0279 │ │ +017fbe: 0c09 |00a7: move-result-object v9 │ │ +017fc0: 2202 1b00 |00a8: new-instance v2, Landroid/content/IntentFilter; // type@001b │ │ +017fc4: 1a03 6305 |00aa: const-string v3, "android.net.conn.CONNECTIVITY_CHANGE" // string@0563 │ │ +017fc8: 7020 4f00 3200 |00ac: invoke-direct {v2, v3}, Landroid/content/IntentFilter;.:(Ljava/lang/String;)V // method@004f │ │ +017fce: 6e30 a602 9802 |00af: invoke-virtual {v8, v9, v2}, Ldnsfilter/android/DNSFilterService;.registerReceiver:(Landroid/content/BroadcastReceiver;Landroid/content/IntentFilter;)Landroid/content/Intent; // method@02a6 │ │ +017fd4: 6009 0200 |00b2: sget v9, Landroid/os/Build$VERSION;.SDK_INT:I // field@0002 │ │ +017fd8: 1302 2200 |00b4: const/16 v2, #int 34 // #22 │ │ +017fdc: 3529 0f00 |00b6: if-ge v9, v2, 00c5 // +000f │ │ +017fe0: 7100 4f03 0000 |00b8: invoke-static {}, Ldnsfilter/android/NotificationReceiver;.getInstance:()Ldnsfilter/android/NotificationReceiver; // method@034f │ │ +017fe6: 0c09 |00bb: move-result-object v9 │ │ +017fe8: 2202 1b00 |00bc: new-instance v2, Landroid/content/IntentFilter; // type@001b │ │ +017fec: 7020 4f00 b200 |00be: invoke-direct {v2, v11}, Landroid/content/IntentFilter;.:(Ljava/lang/String;)V // method@004f │ │ +017ff2: 6e30 a602 9802 |00c1: invoke-virtual {v8, v9, v2}, Ldnsfilter/android/DNSFilterService;.registerReceiver:(Landroid/content/BroadcastReceiver;Landroid/content/IntentFilter;)Landroid/content/Intent; // method@02a6 │ │ +017ff8: 280e |00c4: goto 00d2 // +000e │ │ +017ffa: 7100 4f03 0000 |00c5: invoke-static {}, Ldnsfilter/android/NotificationReceiver;.getInstance:()Ldnsfilter/android/NotificationReceiver; // method@034f │ │ +018000: 0c09 |00c8: move-result-object v9 │ │ +018002: 2202 1b00 |00c9: new-instance v2, Landroid/content/IntentFilter; // type@001b │ │ +018006: 7020 4f00 b200 |00cb: invoke-direct {v2, v11}, Landroid/content/IntentFilter;.:(Ljava/lang/String;)V // method@004f │ │ +01800c: 1223 |00ce: const/4 v3, #int 2 // #2 │ │ +01800e: 7140 5c02 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@025c │ │ +018014: 7110 a202 0100 |00d2: invoke-static {v1}, Ldnsfilter/android/DNSFilterService;.possibleNetworkChange:(Z)V // method@02a2 │ │ +01801a: 6309 c300 |00d5: sget-boolean v9, Ldnsfilter/android/DNSFilterService;.dnsProxyMode:Z // field@00c3 │ │ +01801e: 3809 1c00 |00d7: if-eqz v9, 00f3 // +001c │ │ +018022: 6309 cd00 |00d9: sget-boolean v9, Ldnsfilter/android/DNSFilterService;.rootMode:Z // field@00cd │ │ +018026: 3809 0500 |00db: if-eqz v9, 00e0 // +0005 │ │ +01802a: 7010 ac02 0800 |00dd: invoke-direct {v8}, Ldnsfilter/android/DNSFilterService;.setUpPortRedir:()V // method@02ac │ │ +018030: 2209 8d00 |00e0: new-instance v9, Ldnsfilter/DNSFilterProxy; // type@008d │ │ +018034: 6002 c500 |00e2: sget v2, Ldnsfilter/android/DNSFilterService;.dnsProxyPort:I // field@00c5 │ │ +018038: 7020 c801 2900 |00e4: invoke-direct {v9, v2}, Ldnsfilter/DNSFilterProxy;.:(I)V // method@01c8 │ │ +01803e: 6909 b900 |00e7: sput-object v9, Ldnsfilter/android/DNSFilterService;.DNSFILTERPROXY:Ldnsfilter/DNSFilterProxy; // field@00b9 │ │ +018042: 2209 2f01 |00e9: new-instance v9, Ljava/lang/Thread; // type@012f │ │ +018046: 6202 b900 |00eb: sget-object v2, Ldnsfilter/android/DNSFilterService;.DNSFILTERPROXY:Ldnsfilter/DNSFilterProxy; // field@00b9 │ │ +01804a: 7020 b605 2900 |00ed: invoke-direct {v9, v2}, Ljava/lang/Thread;.:(Ljava/lang/Runnable;)V // method@05b6 │ │ +018050: 6e10 bc05 0900 |00f0: invoke-virtual {v9}, Ljava/lang/Thread;.start:()V // method@05bc │ │ +018056: 6209 b800 |00f3: sget-object v9, Ldnsfilter/android/DNSFilterService;.DNSFILTER:Ldnsfilter/DNSFilterManager; // field@00b8 │ │ +01805a: 6e10 9401 0900 |00f5: invoke-virtual {v9}, Ldnsfilter/DNSFilterManager;.getConfig:()Ljava/util/Properties; // method@0194 │ │ +018060: 0c09 |00f8: move-result-object v9 │ │ +018062: 1a02 d108 |00f9: const-string v2, "manageDNSCryptProxy" // string@08d1 │ │ +018066: 6e30 5706 290a |00fb: invoke-virtual {v9, v2, v10}, Ljava/util/Properties;.getProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@0657 │ │ +01806c: 0c09 |00fe: move-result-object v9 │ │ +01806e: 7110 4d05 0900 |00ff: invoke-static {v9}, Ljava/lang/Boolean;.parseBoolean:(Ljava/lang/String;)Z // method@054d │ │ +018074: 0a09 |0102: move-result v9 │ │ +018076: 5c89 c900 |0103: iput-boolean v9, v8, Ldnsfilter/android/DNSFilterService;.manageDNSCryptProxy:Z // field@00c9 │ │ +01807a: 3809 3d00 |0105: if-eqz v9, 0142 // +003d │ │ +01807e: 5589 c200 |0107: iget-boolean v9, v8, Ldnsfilter/android/DNSFilterService;.dnsCryptProxyStartTriggered:Z // field@00c2 │ │ +018082: 3909 3900 |0109: if-nez v9, 0142 // +0039 │ │ +018086: 6209 bc00 |010b: sget-object v9, Ldnsfilter/android/DNSFilterService;.KILL_DNSCRYPTPROXY:Ljava/lang/String; // field@00bc │ │ +01808a: 7130 ab02 0109 |010d: invoke-static {v1, v0, v9}, Ldnsfilter/android/DNSFilterService;.runOSCommand:(ZZLjava/lang/String;)V // method@02ab │ │ +018090: 2209 2d01 |0110: new-instance v9, Ljava/lang/StringBuilder; // type@012d │ │ +018094: 7010 a905 0900 |0112: invoke-direct {v9}, Ljava/lang/StringBuilder;.:()V // method@05a9 │ │ +01809a: 620a be00 |0115: sget-object v10, Ldnsfilter/android/DNSFilterService;.START_DNSCRYPTPROXY:Ljava/lang/String; // field@00be │ │ +01809e: 6e20 af05 a900 |0117: invoke-virtual {v9, v10}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +0180a4: 1a0a 0d00 |011a: const-string v10, " " // string@000d │ │ +0180a8: 6e20 af05 a900 |011c: invoke-virtual {v9, v10}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +0180ae: 620a b800 |011f: sget-object v10, Ldnsfilter/android/DNSFilterService;.DNSFILTER:Ldnsfilter/DNSFilterManager; // field@00b8 │ │ +0180b2: 6e10 9401 0a00 |0121: invoke-virtual {v10}, Ldnsfilter/DNSFilterManager;.getConfig:()Ljava/util/Properties; // method@0194 │ │ +0180b8: 0c0a |0124: move-result-object v10 │ │ +0180ba: 1a02 6406 |0125: const-string v2, "dnsCryptProxyStartOptions" // string@0664 │ │ +0180be: 1a03 0000 |0127: const-string v3, "" // string@0000 │ │ +0180c2: 6e30 5706 2a03 |0129: invoke-virtual {v10, v2, v3}, Ljava/util/Properties;.getProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@0657 │ │ +0180c8: 0c0a |012c: move-result-object v10 │ │ +0180ca: 6e20 af05 a900 |012d: invoke-virtual {v9, v10}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +0180d0: 6e10 b105 0900 |0130: invoke-virtual {v9}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ +0180d6: 0c09 |0133: move-result-object v9 │ │ +0180d8: 7130 ab02 1009 |0134: invoke-static {v0, v1, v9}, Ldnsfilter/android/DNSFilterService;.runOSCommand:(ZZLjava/lang/String;)V // method@02ab │ │ +0180de: 5c81 c200 |0137: iput-boolean v1, v8, Ldnsfilter/android/DNSFilterService;.dnsCryptProxyStartTriggered:Z // field@00c2 │ │ +0180e2: 2809 |0139: goto 0142 // +0009 │ │ +0180e4: 0d09 |013a: move-exception v9 │ │ +0180e6: 7100 2707 0000 |013b: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0727 │ │ +0180ec: 0c0a |013e: move-result-object v10 │ │ +0180ee: 7220 3207 9a00 |013f: invoke-interface {v10, v9}, Lutil/LoggerInterface;.logException:(Ljava/lang/Exception;)V // method@0732 │ │ +0180f4: 6a01 c700 |0142: sput-boolean v1, Ldnsfilter/android/DNSFilterService;.is_running:Z // field@00c7 │ │ +0180f8: 2209 1a00 |0144: new-instance v9, Landroid/content/Intent; // type@001a │ │ +0180fc: 1c0a b000 |0146: const-class v10, Ldnsfilter/android/DNSProxyActivity; // type@00b0 │ │ +018100: 7030 4200 890a |0148: invoke-direct {v9, v8, v10}, Landroid/content/Intent;.:(Landroid/content/Context;Ljava/lang/Class;)V // method@0042 │ │ +018106: 150a 0004 |014b: const/high16 v10, #int 67108864 // #400 │ │ +01810a: 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 │ │ +018110: 0c09 |0150: move-result-object v9 │ │ +018112: 5b89 cc00 |0151: iput-object v9, v8, Ldnsfilter/android/DNSFilterService;.pendingIntent:Landroid/app/PendingIntent; // field@00cc │ │ +018116: 6309 c300 |0153: sget-boolean v9, Ldnsfilter/android/DNSFilterService;.dnsProxyMode:Z // field@00c3 │ │ +01811a: 3809 0600 |0155: if-eqz v9, 015b // +0006 │ │ +01811e: 6309 d000 |0157: sget-boolean v9, Ldnsfilter/android/DNSFilterService;.vpnInAdditionToProxyMode:Z // field@00d0 │ │ +018122: 3809 2d00 |0159: if-eqz v9, 0186 // +002d │ │ +018126: 7020 9c02 1800 |015b: invoke-direct {v8, v1}, Ldnsfilter/android/DNSFilterService;.initVPN:(Z)Landroid/os/ParcelFileDescriptor; // method@029c │ │ +01812c: 0c05 |015e: move-result-object v5 │ │ +01812e: 3805 1e00 |015f: if-eqz v5, 017d // +001e │ │ +018132: 2209 a300 |0161: new-instance v9, Ldnsfilter/android/DNSFilterService$VPNRunner; // type@00a3 │ │ +018136: 600a cf00 |0163: sget v10, Ldnsfilter/android/DNSFilterService;.startCounter:I // field@00cf │ │ +01813a: d804 0a01 |0165: add-int/lit8 v4, v10, #int 1 // #01 │ │ +01813e: 6704 cf00 |0167: sput v4, Ldnsfilter/android/DNSFilterService;.startCounter:I // field@00cf │ │ +018142: 1216 |0169: const/4 v6, #int 1 // #1 │ │ +018144: 1207 |016a: const/4 v7, #int 0 // #0 │ │ +018146: 0792 |016b: move-object v2, v9 │ │ +018148: 0783 |016c: move-object v3, v8 │ │ +01814a: 7606 8702 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@0287 │ │ +018150: 5b89 d100 |0170: iput-object v9, v8, Ldnsfilter/android/DNSFilterService;.vpnRunner:Ldnsfilter/android/DNSFilterService$VPNRunner; // field@00d1 │ │ +018154: 2209 2f01 |0172: new-instance v9, Ljava/lang/Thread; // type@012f │ │ +018158: 548a d100 |0174: iget-object v10, v8, Ldnsfilter/android/DNSFilterService;.vpnRunner:Ldnsfilter/android/DNSFilterService$VPNRunner; // field@00d1 │ │ +01815c: 7020 b605 a900 |0176: invoke-direct {v9, v10}, Ljava/lang/Thread;.:(Ljava/lang/Runnable;)V // method@05b6 │ │ +018162: 6e10 bc05 0900 |0179: invoke-virtual {v9}, Ljava/lang/Thread;.start:()V // method@05bc │ │ +018168: 280a |017c: goto 0186 // +000a │ │ +01816a: 7100 2707 0000 |017d: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0727 │ │ +018170: 0c09 |0180: move-result-object v9 │ │ +018172: 1a0a 8301 |0181: const-string v10, "Error! Cannot get VPN interface! Try restart!" // string@0183 │ │ +018176: 7220 3307 a900 |0183: invoke-interface {v9, v10}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0733 │ │ +01817c: 6009 0200 |0186: sget v9, Landroid/os/Build$VERSION;.SDK_INT:I // field@0002 │ │ +018180: 130a 1a00 |0188: const/16 v10, #int 26 // #1a │ │ +018184: 34a9 0e00 |018a: if-lt v9, v10, 0198 // +000e │ │ +018188: 2209 0c00 |018c: new-instance v9, Landroid/app/Notification$Builder; // type@000c │ │ +01818c: 7010 9502 0800 |018e: invoke-direct {v8}, Ldnsfilter/android/DNSFilterService;.getChannel:()Ljava/lang/String; // method@0295 │ │ +018192: 0c0a |0191: move-result-object v10 │ │ +018194: 7030 2400 890a |0192: invoke-direct {v9, v8, v10}, Landroid/app/Notification$Builder;.:(Landroid/content/Context;Ljava/lang/String;)V // method@0024 │ │ +01819a: 5b89 cb00 |0195: iput-object v9, v8, Ldnsfilter/android/DNSFilterService;.notibuilder:Landroid/app/Notification$Builder; // field@00cb │ │ +01819e: 2808 |0197: goto 019f // +0008 │ │ +0181a0: 2209 0c00 |0198: new-instance v9, Landroid/app/Notification$Builder; // type@000c │ │ +0181a4: 7020 2300 8900 |019a: invoke-direct {v9, v8}, Landroid/app/Notification$Builder;.:(Landroid/content/Context;)V // method@0023 │ │ +0181aa: 5b89 cb00 |019d: iput-object v9, v8, Ldnsfilter/android/DNSFilterService;.notibuilder:Landroid/app/Notification$Builder; // field@00cb │ │ +0181ae: 2209 1a00 |019f: new-instance v9, Landroid/content/Intent; // type@001a │ │ +0181b2: 7010 4100 0900 |01a1: invoke-direct {v9}, Landroid/content/Intent;.:()V // method@0041 │ │ +0181b8: 6e20 4d00 b900 |01a4: invoke-virtual {v9, v11}, Landroid/content/Intent;.setAction:(Ljava/lang/String;)Landroid/content/Intent; // method@004d │ │ +0181be: 130a 3930 |01a7: const/16 v10, #int 12345 // #3039 │ │ +0181c2: 150b 000c |01a9: const/high16 v11, #int 201326592 // #c00 │ │ +0181c6: 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 │ │ +0181cc: 0c09 |01ae: move-result-object v9 │ │ +0181ce: 548a cb00 |01af: iget-object v10, v8, Ldnsfilter/android/DNSFilterService;.notibuilder:Landroid/app/Notification$Builder; // field@00cb │ │ +0181d2: 6e10 9902 0800 |01b1: invoke-virtual {v8}, Ldnsfilter/android/DNSFilterService;.getResources:()Landroid/content/res/Resources; // method@0299 │ │ +0181d8: 0c0b |01b4: move-result-object v11 │ │ +0181da: 1402 1d00 087f |01b5: const v2, #float 1.80776e+38 // #7f08001d │ │ +0181e0: 6e20 5900 2b00 |01b8: invoke-virtual {v11, v2}, Landroid/content/res/Resources;.getString:(I)Ljava/lang/String; // method@0059 │ │ +0181e6: 0c0b |01bb: move-result-object v11 │ │ +0181e8: 6e20 2800 ba00 |01bc: invoke-virtual {v10, v11}, Landroid/app/Notification$Builder;.setContentTitle:(Ljava/lang/CharSequence;)Landroid/app/Notification$Builder; // method@0028 │ │ +0181ee: 0c0a |01bf: move-result-object v10 │ │ +0181f0: 140b 2300 047f |01c0: const v11, #float 1.75459e+38 // #7f040023 │ │ +0181f6: 6e20 2900 ba00 |01c3: invoke-virtual {v10, v11}, Landroid/app/Notification$Builder;.setSmallIcon:(I)Landroid/app/Notification$Builder; // method@0029 │ │ +0181fc: 0c0a |01c6: move-result-object v10 │ │ +0181fe: 548b cc00 |01c7: iget-object v11, v8, Ldnsfilter/android/DNSFilterService;.pendingIntent:Landroid/app/PendingIntent; // field@00cc │ │ +018202: 6e20 2700 ba00 |01c9: invoke-virtual {v10, v11}, Landroid/app/Notification$Builder;.setContentIntent:(Landroid/app/PendingIntent;)Landroid/app/Notification$Builder; // method@0027 │ │ +018208: 0c0a |01cc: move-result-object v10 │ │ +01820a: 6e10 9902 0800 |01cd: invoke-virtual {v8}, Ldnsfilter/android/DNSFilterService;.getResources:()Landroid/content/res/Resources; // method@0299 │ │ +018210: 0c0b |01d0: move-result-object v11 │ │ +018212: 1402 3000 087f |01d1: const v2, #float 1.80776e+38 // #7f080030 │ │ +018218: 6e20 5900 2b00 |01d4: invoke-virtual {v11, v2}, Landroid/content/res/Resources;.getString:(I)Ljava/lang/String; // method@0059 │ │ +01821e: 0c0b |01d7: move-result-object v11 │ │ +018220: 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 │ │ +018226: 0c09 |01db: move-result-object v9 │ │ +018228: 6e10 2600 0900 |01dc: invoke-virtual {v9}, Landroid/app/Notification$Builder;.build:()Landroid/app/Notification; // method@0026 │ │ +01822e: 7010 b302 0800 |01df: invoke-direct {v8}, Ldnsfilter/android/DNSFilterService;.updateNotification:()V // method@02b3 │ │ +018234: 5489 cb00 |01e2: iget-object v9, v8, Ldnsfilter/android/DNSFilterService;.notibuilder:Landroid/app/Notification$Builder; // field@00cb │ │ +018238: 6e10 2600 0900 |01e4: invoke-virtual {v9}, Landroid/app/Notification$Builder;.build:()Landroid/app/Notification; // method@0026 │ │ +01823e: 0c09 |01e7: move-result-object v9 │ │ +018240: 6e30 ae02 1809 |01e8: invoke-virtual {v8, v1, v9}, Ldnsfilter/android/DNSFilterService;.startForeground:(ILandroid/app/Notification;)V // method@02ae │ │ +018246: 2809 |01eb: goto 01f4 // +0009 │ │ +018248: 0d09 |01ec: move-exception v9 │ │ +01824a: 7100 2707 0000 |01ed: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0727 │ │ +018250: 0c0a |01f0: move-result-object v10 │ │ +018252: 7220 3207 9a00 |01f1: invoke-interface {v10, v9}, Lutil/LoggerInterface;.logException:(Ljava/lang/Exception;)V // method@0732 │ │ +018258: 0f01 |01f4: return v1 │ │ +01825a: 0d09 |01f5: move-exception v9 │ │ +01825c: 120a |01f6: const/4 v10, #int 0 // #0 │ │ +01825e: 690a b800 |01f7: sput-object v10, Ldnsfilter/android/DNSFilterService;.DNSFILTER:Ldnsfilter/DNSFilterManager; // field@00b8 │ │ +018262: 7100 2707 0000 |01f9: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0727 │ │ +018268: 0c0a |01fc: move-result-object v10 │ │ +01826a: 7220 3207 9a00 |01fd: invoke-interface {v10, v9}, Lutil/LoggerInterface;.logException:(Ljava/lang/Exception;)V // method@0732 │ │ +018270: 0f01 |0200: return v1 │ │ catches : 4 │ │ 0x001c - 0x0109 │ │ Ljava/lang/Exception; -> 0x01f5 │ │ 0x010b - 0x0139 │ │ Ljava/lang/Exception; -> 0x013a │ │ 0x013b - 0x0144 │ │ Ljava/lang/Exception; -> 0x01f5 │ │ @@ -14415,21 +14415,21 @@ │ │ type : '()V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 14 16-bit code units │ │ -018a30: |[018a30] dnsfilter.android.DNSFilterService.pause_resume:()V │ │ -018a40: 7100 9901 0000 |0000: invoke-static {}, Ldnsfilter/DNSFilterManager;.getInstance:()Ldnsfilter/DNSFilterManager; // method@0199 │ │ -018a46: 0c00 |0003: move-result-object v0 │ │ -018a48: 6e10 af01 0000 |0004: invoke-virtual {v0}, Ldnsfilter/DNSFilterManager;.switchBlockingActive:()V // method@01af │ │ -018a4e: 7100 2803 0000 |0007: invoke-static {}, Ldnsfilter/android/DNSProxyActivity;.reloadLocalConfig:()V // method@0328 │ │ -018a54: 7010 b302 0100 |000a: invoke-direct {v1}, Ldnsfilter/android/DNSFilterService;.updateNotification:()V // method@02b3 │ │ -018a5a: 0e00 |000d: return-void │ │ +018a2c: |[018a2c] dnsfilter.android.DNSFilterService.pause_resume:()V │ │ +018a3c: 7100 9901 0000 |0000: invoke-static {}, Ldnsfilter/DNSFilterManager;.getInstance:()Ldnsfilter/DNSFilterManager; // method@0199 │ │ +018a42: 0c00 |0003: move-result-object v0 │ │ +018a44: 6e10 af01 0000 |0004: invoke-virtual {v0}, Ldnsfilter/DNSFilterManager;.switchBlockingActive:()V // method@01af │ │ +018a4a: 7100 2803 0000 |0007: invoke-static {}, Ldnsfilter/android/DNSProxyActivity;.reloadLocalConfig:()V // method@0328 │ │ +018a50: 7010 b302 0100 |000a: invoke-direct {v1}, Ldnsfilter/android/DNSFilterService;.updateNotification:()V // method@02b3 │ │ +018a56: 0e00 |000d: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=791 │ │ 0x0007 line=792 │ │ 0x000a line=793 │ │ locals : │ │ 0x0000 - 0x000e reg=1 this Ldnsfilter/android/DNSFilterService; │ │ @@ -14439,24 +14439,24 @@ │ │ type : '()V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 3 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 19 16-bit code units │ │ -018b34: |[018b34] dnsfilter.android.DNSFilterService.reload:()V │ │ -018b44: 6300 c300 |0000: sget-boolean v0, Ldnsfilter/android/DNSFilterService;.dnsProxyMode:Z // field@00c3 │ │ -018b48: 1211 |0002: const/4 v1, #int 1 // #1 │ │ -018b4a: 3800 0600 |0003: if-eqz v0, 0009 // +0006 │ │ -018b4e: 6300 d000 |0005: sget-boolean v0, Ldnsfilter/android/DNSFilterService;.vpnInAdditionToProxyMode:Z // field@00d0 │ │ -018b52: 3800 0500 |0007: if-eqz v0, 000c // +0005 │ │ -018b56: 7020 a902 1200 |0009: invoke-direct {v2, v1}, Ldnsfilter/android/DNSFilterService;.restartVPN:(Z)V // method@02a9 │ │ -018b5c: 7010 b302 0200 |000c: invoke-direct {v2}, Ldnsfilter/android/DNSFilterService;.updateNotification:()V // method@02b3 │ │ -018b62: 7110 a202 0100 |000f: invoke-static {v1}, Ldnsfilter/android/DNSFilterService;.possibleNetworkChange:(Z)V // method@02a2 │ │ -018b68: 0e00 |0012: return-void │ │ +018b30: |[018b30] dnsfilter.android.DNSFilterService.reload:()V │ │ +018b40: 6300 c300 |0000: sget-boolean v0, Ldnsfilter/android/DNSFilterService;.dnsProxyMode:Z // field@00c3 │ │ +018b44: 1211 |0002: const/4 v1, #int 1 // #1 │ │ +018b46: 3800 0600 |0003: if-eqz v0, 0009 // +0006 │ │ +018b4a: 6300 d000 |0005: sget-boolean v0, Ldnsfilter/android/DNSFilterService;.vpnInAdditionToProxyMode:Z // field@00d0 │ │ +018b4e: 3800 0500 |0007: if-eqz v0, 000c // +0005 │ │ +018b52: 7020 a902 1200 |0009: invoke-direct {v2, v1}, Ldnsfilter/android/DNSFilterService;.restartVPN:(Z)V // method@02a9 │ │ +018b58: 7010 b302 0200 |000c: invoke-direct {v2}, Ldnsfilter/android/DNSFilterService;.updateNotification:()V // method@02b3 │ │ +018b5e: 7110 a202 0100 |000f: invoke-static {v1}, Ldnsfilter/android/DNSFilterService;.possibleNetworkChange:(Z)V // method@02a2 │ │ +018b64: 0e00 |0012: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=1054 │ │ 0x0009 line=1055 │ │ 0x000c line=1057 │ │ 0x000f line=1058 │ │ locals : │ │ @@ -14497,17 +14497,17 @@ │ │ type : '()V' │ │ access : 0x10001 (PUBLIC CONSTRUCTOR) │ │ code - │ │ registers : 1 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 4 16-bit code units │ │ -018f44: |[018f44] dnsfilter.android.DNSFilterTileService.:()V │ │ -018f54: 7010 9200 0000 |0000: invoke-direct {v0}, Landroid/service/quicksettings/TileService;.:()V // method@0092 │ │ -018f5a: 0e00 |0003: return-void │ │ +018f40: |[018f40] dnsfilter.android.DNSFilterTileService.:()V │ │ +018f50: 7010 9200 0000 |0000: invoke-direct {v0}, Landroid/service/quicksettings/TileService;.:()V // method@0092 │ │ +018f56: 0e00 |0003: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=20 │ │ locals : │ │ 0x0000 - 0x0004 reg=0 this Ldnsfilter/android/DNSFilterTileService; │ │ │ │ #1 : (in Ldnsfilter/android/DNSFilterTileService;) │ │ @@ -14515,32 +14515,32 @@ │ │ type : '(Landroid/content/Context;)V' │ │ access : 0x0009 (PUBLIC STATIC) │ │ code - │ │ registers : 3 │ │ ins : 1 │ │ outs : 3 │ │ insns size : 34 16-bit code units │ │ -0190c4: |[0190c4] dnsfilter.android.DNSFilterTileService.requestTileUpdate:(Landroid/content/Context;)V │ │ -0190d4: 6000 0200 |0000: sget v0, Landroid/os/Build$VERSION;.SDK_INT:I // field@0002 │ │ -0190d8: 1301 1800 |0002: const/16 v1, #int 24 // #18 │ │ -0190dc: 3410 1600 |0004: if-lt v0, v1, 001a // +0016 │ │ -0190e0: 2200 1200 |0006: new-instance v0, Landroid/content/ComponentName; // type@0012 │ │ -0190e4: 1c01 a500 |0008: const-class v1, Ldnsfilter/android/DNSFilterTileService; // type@00a5 │ │ -0190e8: 7030 3100 2001 |000a: invoke-direct {v0, v2, v1}, Landroid/content/ComponentName;.:(Landroid/content/Context;Ljava/lang/Class;)V // method@0031 │ │ -0190ee: 7120 6702 0200 |000d: invoke-static {v2, v0}, Ldnsfilter/android/BootUpReceiver$$ExternalSyntheticApiModelOutline0;.m:(Landroid/content/Context;Landroid/content/ComponentName;)V // method@0267 │ │ -0190f4: 2811 |0010: goto 0021 // +0011 │ │ -0190f6: 0d02 |0011: move-exception v2 │ │ -0190f8: 1a00 4301 |0012: const-string v0, "DNSFilterTileService" // string@0143 │ │ -0190fc: 1a01 a101 |0014: const-string v1, "Failed to request tile update" // string@01a1 │ │ -019100: 7130 a200 1002 |0016: invoke-static {v0, v1, v2}, Landroid/util/Log;.e:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I // method@00a2 │ │ -019106: 2808 |0019: goto 0021 // +0008 │ │ -019108: 6202 d200 |001a: sget-object v2, Ldnsfilter/android/DNSFilterTileService;.INSTANCE:Ldnsfilter/android/DNSFilterTileService; // field@00d2 │ │ -01910c: 3802 0500 |001c: if-eqz v2, 0021 // +0005 │ │ -019110: 7010 be02 0200 |001e: invoke-direct {v2}, Ldnsfilter/android/DNSFilterTileService;.updateTile:()V // method@02be │ │ -019116: 0e00 |0021: return-void │ │ +0190c0: |[0190c0] dnsfilter.android.DNSFilterTileService.requestTileUpdate:(Landroid/content/Context;)V │ │ +0190d0: 6000 0200 |0000: sget v0, Landroid/os/Build$VERSION;.SDK_INT:I // field@0002 │ │ +0190d4: 1301 1800 |0002: const/16 v1, #int 24 // #18 │ │ +0190d8: 3410 1600 |0004: if-lt v0, v1, 001a // +0016 │ │ +0190dc: 2200 1200 |0006: new-instance v0, Landroid/content/ComponentName; // type@0012 │ │ +0190e0: 1c01 a500 |0008: const-class v1, Ldnsfilter/android/DNSFilterTileService; // type@00a5 │ │ +0190e4: 7030 3100 2001 |000a: invoke-direct {v0, v2, v1}, Landroid/content/ComponentName;.:(Landroid/content/Context;Ljava/lang/Class;)V // method@0031 │ │ +0190ea: 7120 6702 0200 |000d: invoke-static {v2, v0}, Ldnsfilter/android/BootUpReceiver$$ExternalSyntheticApiModelOutline0;.m:(Landroid/content/Context;Landroid/content/ComponentName;)V // method@0267 │ │ +0190f0: 2811 |0010: goto 0021 // +0011 │ │ +0190f2: 0d02 |0011: move-exception v2 │ │ +0190f4: 1a00 4301 |0012: const-string v0, "DNSFilterTileService" // string@0143 │ │ +0190f8: 1a01 a101 |0014: const-string v1, "Failed to request tile update" // string@01a1 │ │ +0190fc: 7130 a200 1002 |0016: invoke-static {v0, v1, v2}, Landroid/util/Log;.e:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I // method@00a2 │ │ +019102: 2808 |0019: goto 0021 // +0008 │ │ +019104: 6202 d200 |001a: sget-object v2, Ldnsfilter/android/DNSFilterTileService;.INSTANCE:Ldnsfilter/android/DNSFilterTileService; // field@00d2 │ │ +019108: 3802 0500 |001c: if-eqz v2, 0021 // +0005 │ │ +01910c: 7010 be02 0200 |001e: invoke-direct {v2}, Ldnsfilter/android/DNSFilterTileService;.updateTile:()V // method@02be │ │ +019112: 0e00 |0021: return-void │ │ catches : 1 │ │ 0x0006 - 0x0010 │ │ Ljava/lang/Exception; -> 0x0011 │ │ positions : │ │ 0x0000 line=92 │ │ 0x0006 line=94 │ │ 0x000d line=95 │ │ @@ -14555,39 +14555,39 @@ │ │ type : '()V' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 3 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 51 16-bit code units │ │ -019128: |[019128] dnsfilter.android.DNSFilterTileService.updateTile:()V │ │ -019138: 7110 6202 0200 |0000: invoke-static {v2}, Ldnsfilter/android/BootUpReceiver$$ExternalSyntheticApiModelOutline0;.m:(Ldnsfilter/android/DNSFilterTileService;)Landroid/service/quicksettings/Tile; // method@0262 │ │ -01913e: 0c00 |0003: move-result-object v0 │ │ -019140: 3800 2e00 |0004: if-eqz v0, 0032 // +002e │ │ -019144: 6201 bb00 |0006: sget-object v1, Ldnsfilter/android/DNSFilterService;.INSTANCE:Ldnsfilter/android/DNSFilterService; // field@00bb │ │ -019148: 3801 1900 |0008: if-eqz v1, 0021 // +0019 │ │ -01914c: 6201 bb00 |000a: sget-object v1, Ldnsfilter/android/DNSFilterService;.INSTANCE:Ldnsfilter/android/DNSFilterService; // field@00bb │ │ -019150: 6e10 9d02 0100 |000c: invoke-virtual {v1}, Ldnsfilter/android/DNSFilterService;.isFilterActive:()Z // method@029d │ │ -019156: 0a01 |000f: move-result v1 │ │ -019158: 3801 1100 |0010: if-eqz v1, 0021 // +0011 │ │ -01915c: 1221 |0012: const/4 v1, #int 2 // #2 │ │ -01915e: 7120 6902 1000 |0013: invoke-static {v0, v1}, Ldnsfilter/android/BootUpReceiver$$ExternalSyntheticApiModelOutline0;.m:(Landroid/service/quicksettings/Tile;I)V // method@0269 │ │ -019164: 1401 2300 047f |0016: const v1, #float 1.75459e+38 // #7f040023 │ │ -01916a: 7120 5d02 1200 |0019: invoke-static {v2, v1}, Ldnsfilter/android/BootUpReceiver$$ExternalSyntheticApiModelOutline0;.m:(Landroid/content/Context;I)Landroid/graphics/drawable/Icon; // method@025d │ │ -019170: 0c01 |001c: move-result-object v1 │ │ -019172: 7120 6a02 1000 |001d: invoke-static {v0, v1}, Ldnsfilter/android/BootUpReceiver$$ExternalSyntheticApiModelOutline0;.m:(Landroid/service/quicksettings/Tile;Landroid/graphics/drawable/Icon;)V // method@026a │ │ -019178: 280f |0020: goto 002f // +000f │ │ -01917a: 1211 |0021: const/4 v1, #int 1 // #1 │ │ -01917c: 7120 6902 1000 |0022: invoke-static {v0, v1}, Ldnsfilter/android/BootUpReceiver$$ExternalSyntheticApiModelOutline0;.m:(Landroid/service/quicksettings/Tile;I)V // method@0269 │ │ -019182: 1401 2400 047f |0025: const v1, #float 1.75459e+38 // #7f040024 │ │ -019188: 7120 5d02 1200 |0028: invoke-static {v2, v1}, Ldnsfilter/android/BootUpReceiver$$ExternalSyntheticApiModelOutline0;.m:(Landroid/content/Context;I)Landroid/graphics/drawable/Icon; // method@025d │ │ -01918e: 0c01 |002b: move-result-object v1 │ │ -019190: 7120 6a02 1000 |002c: invoke-static {v0, v1}, Ldnsfilter/android/BootUpReceiver$$ExternalSyntheticApiModelOutline0;.m:(Landroid/service/quicksettings/Tile;Landroid/graphics/drawable/Icon;)V // method@026a │ │ -019196: 7110 6802 0000 |002f: invoke-static {v0}, Ldnsfilter/android/BootUpReceiver$$ExternalSyntheticApiModelOutline0;.m:(Landroid/service/quicksettings/Tile;)V // method@0268 │ │ -01919c: 0e00 |0032: return-void │ │ +019124: |[019124] dnsfilter.android.DNSFilterTileService.updateTile:()V │ │ +019134: 7110 6202 0200 |0000: invoke-static {v2}, Ldnsfilter/android/BootUpReceiver$$ExternalSyntheticApiModelOutline0;.m:(Ldnsfilter/android/DNSFilterTileService;)Landroid/service/quicksettings/Tile; // method@0262 │ │ +01913a: 0c00 |0003: move-result-object v0 │ │ +01913c: 3800 2e00 |0004: if-eqz v0, 0032 // +002e │ │ +019140: 6201 bb00 |0006: sget-object v1, Ldnsfilter/android/DNSFilterService;.INSTANCE:Ldnsfilter/android/DNSFilterService; // field@00bb │ │ +019144: 3801 1900 |0008: if-eqz v1, 0021 // +0019 │ │ +019148: 6201 bb00 |000a: sget-object v1, Ldnsfilter/android/DNSFilterService;.INSTANCE:Ldnsfilter/android/DNSFilterService; // field@00bb │ │ +01914c: 6e10 9d02 0100 |000c: invoke-virtual {v1}, Ldnsfilter/android/DNSFilterService;.isFilterActive:()Z // method@029d │ │ +019152: 0a01 |000f: move-result v1 │ │ +019154: 3801 1100 |0010: if-eqz v1, 0021 // +0011 │ │ +019158: 1221 |0012: const/4 v1, #int 2 // #2 │ │ +01915a: 7120 6902 1000 |0013: invoke-static {v0, v1}, Ldnsfilter/android/BootUpReceiver$$ExternalSyntheticApiModelOutline0;.m:(Landroid/service/quicksettings/Tile;I)V // method@0269 │ │ +019160: 1401 2300 047f |0016: const v1, #float 1.75459e+38 // #7f040023 │ │ +019166: 7120 5d02 1200 |0019: invoke-static {v2, v1}, Ldnsfilter/android/BootUpReceiver$$ExternalSyntheticApiModelOutline0;.m:(Landroid/content/Context;I)Landroid/graphics/drawable/Icon; // method@025d │ │ +01916c: 0c01 |001c: move-result-object v1 │ │ +01916e: 7120 6a02 1000 |001d: invoke-static {v0, v1}, Ldnsfilter/android/BootUpReceiver$$ExternalSyntheticApiModelOutline0;.m:(Landroid/service/quicksettings/Tile;Landroid/graphics/drawable/Icon;)V // method@026a │ │ +019174: 280f |0020: goto 002f // +000f │ │ +019176: 1211 |0021: const/4 v1, #int 1 // #1 │ │ +019178: 7120 6902 1000 |0022: invoke-static {v0, v1}, Ldnsfilter/android/BootUpReceiver$$ExternalSyntheticApiModelOutline0;.m:(Landroid/service/quicksettings/Tile;I)V // method@0269 │ │ +01917e: 1401 2400 047f |0025: const v1, #float 1.75459e+38 // #7f040024 │ │ +019184: 7120 5d02 1200 |0028: invoke-static {v2, v1}, Ldnsfilter/android/BootUpReceiver$$ExternalSyntheticApiModelOutline0;.m:(Landroid/content/Context;I)Landroid/graphics/drawable/Icon; // method@025d │ │ +01918a: 0c01 |002b: move-result-object v1 │ │ +01918c: 7120 6a02 1000 |002c: invoke-static {v0, v1}, Ldnsfilter/android/BootUpReceiver$$ExternalSyntheticApiModelOutline0;.m:(Landroid/service/quicksettings/Tile;Landroid/graphics/drawable/Icon;)V // method@026a │ │ +019192: 7110 6802 0000 |002f: invoke-static {v0}, Ldnsfilter/android/BootUpReceiver$$ExternalSyntheticApiModelOutline0;.m:(Landroid/service/quicksettings/Tile;)V // method@0268 │ │ +019198: 0e00 |0032: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=105 │ │ 0x0006 line=110 │ │ 0x000a line=111 │ │ 0x0013 line=116 │ │ 0x0019 line=117 │ │ @@ -14603,58 +14603,58 @@ │ │ type : '()V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 5 │ │ ins : 1 │ │ outs : 4 │ │ insns size : 93 16-bit code units │ │ -018f5c: |[018f5c] dnsfilter.android.DNSFilterTileService.onClick:()V │ │ -018f6c: 6f10 9300 0400 |0000: invoke-super {v4}, Landroid/service/quicksettings/TileService;.onClick:()V // method@0093 │ │ -018f72: 6200 bb00 |0003: sget-object v0, Ldnsfilter/android/DNSFilterService;.INSTANCE:Ldnsfilter/android/DNSFilterService; // field@00bb │ │ -018f76: 3800 0b00 |0005: if-eqz v0, 0010 // +000b │ │ -018f7a: 6200 bb00 |0007: sget-object v0, Ldnsfilter/android/DNSFilterService;.INSTANCE:Ldnsfilter/android/DNSFilterService; // field@00bb │ │ -018f7e: 6e10 a102 0000 |0009: invoke-virtual {v0}, Ldnsfilter/android/DNSFilterService;.pause_resume:()V // method@02a1 │ │ -018f84: 7010 be02 0400 |000c: invoke-direct {v4}, Ldnsfilter/android/DNSFilterTileService;.updateTile:()V // method@02be │ │ -018f8a: 284d |000f: goto 005c // +004d │ │ -018f8c: 6000 0200 |0010: sget v0, Landroid/os/Build$VERSION;.SDK_INT:I // field@0002 │ │ -018f90: 1301 2200 |0012: const/16 v1, #int 34 // #22 │ │ -018f94: 1502 0010 |0014: const/high16 v2, #int 268435456 // #1000 │ │ -018f98: 3510 1000 |0016: if-ge v0, v1, 0026 // +0010 │ │ -018f9c: 2200 1a00 |0018: new-instance v0, Landroid/content/Intent; // type@001a │ │ -018fa0: 1c01 b000 |001a: const-class v1, Ldnsfilter/android/DNSProxyActivity; // type@00b0 │ │ -018fa4: 7030 4200 4001 |001c: invoke-direct {v0, v4, v1}, Landroid/content/Intent;.:(Landroid/content/Context;Ljava/lang/Class;)V // method@0042 │ │ -018faa: 6e20 4600 2000 |001f: invoke-virtual {v0, v2}, Landroid/content/Intent;.addFlags:(I)Landroid/content/Intent; // method@0046 │ │ -018fb0: 7120 6e02 0400 |0022: invoke-static {v4, v0}, Ldnsfilter/android/BootUpReceiver$$ExternalSyntheticApiModelOutline0;.m:(Ldnsfilter/android/DNSFilterTileService;Landroid/content/Intent;)V // method@026e │ │ -018fb6: 2837 |0025: goto 005c // +0037 │ │ -018fb8: 2200 1a00 |0026: new-instance v0, Landroid/content/Intent; // type@001a │ │ -018fbc: 1c01 b000 |0028: const-class v1, Ldnsfilter/android/DNSProxyActivity; // type@00b0 │ │ -018fc0: 7030 4200 4001 |002a: invoke-direct {v0, v4, v1}, Landroid/content/Intent;.:(Landroid/content/Context;Ljava/lang/Class;)V // method@0042 │ │ -018fc6: 6e20 4600 2000 |002d: invoke-virtual {v0, v2}, Landroid/content/Intent;.addFlags:(I)Landroid/content/Intent; // method@0046 │ │ -018fcc: 1201 |0030: const/4 v1, #int 0 // #0 │ │ -018fce: 1502 0004 |0031: const/high16 v2, #int 67108864 // #400 │ │ -018fd2: 7140 2e00 1420 |0033: invoke-static {v4, v1, v0, v2}, Landroid/app/PendingIntent;.getActivity:(Landroid/content/Context;ILandroid/content/Intent;I)Landroid/app/PendingIntent; // method@002e │ │ -018fd8: 0c00 |0036: move-result-object v0 │ │ -018fda: 7120 6d02 0400 |0037: invoke-static {v4, v0}, Ldnsfilter/android/BootUpReceiver$$ExternalSyntheticApiModelOutline0;.m:(Ldnsfilter/android/DNSFilterTileService;Landroid/app/PendingIntent;)V // method@026d │ │ -018fe0: 2822 |003a: goto 005c // +0022 │ │ -018fe2: 0d00 |003b: move-exception v0 │ │ -018fe4: 7100 2707 0000 |003c: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0727 │ │ -018fea: 0c01 |003f: move-result-object v1 │ │ -018fec: 2202 2d01 |0040: new-instance v2, Ljava/lang/StringBuilder; // type@012d │ │ -018ff0: 1a03 8201 |0042: const-string v3, "Error toggling DNS filtering state: " // string@0182 │ │ -018ff4: 7020 aa05 3200 |0044: invoke-direct {v2, v3}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05aa │ │ -018ffa: 6e10 2405 0000 |0047: invoke-virtual {v0}, Ljava/io/IOException;.getMessage:()Ljava/lang/String; // method@0524 │ │ -019000: 0c03 |004a: move-result-object v3 │ │ -019002: 6e20 af05 3200 |004b: invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -019008: 6e10 b105 0200 |004e: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ -01900e: 0c02 |0051: move-result-object v2 │ │ -019010: 7220 3307 2100 |0052: invoke-interface {v1, v2}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0733 │ │ -019016: 1a01 4301 |0055: const-string v1, "DNSFilterTileService" // string@0143 │ │ -01901a: 1a02 8101 |0057: const-string v2, "Error toggling DNS filtering state" // string@0181 │ │ -01901e: 7130 a200 2100 |0059: invoke-static {v1, v2, v0}, Landroid/util/Log;.e:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I // method@00a2 │ │ -019024: 0e00 |005c: return-void │ │ +018f58: |[018f58] dnsfilter.android.DNSFilterTileService.onClick:()V │ │ +018f68: 6f10 9300 0400 |0000: invoke-super {v4}, Landroid/service/quicksettings/TileService;.onClick:()V // method@0093 │ │ +018f6e: 6200 bb00 |0003: sget-object v0, Ldnsfilter/android/DNSFilterService;.INSTANCE:Ldnsfilter/android/DNSFilterService; // field@00bb │ │ +018f72: 3800 0b00 |0005: if-eqz v0, 0010 // +000b │ │ +018f76: 6200 bb00 |0007: sget-object v0, Ldnsfilter/android/DNSFilterService;.INSTANCE:Ldnsfilter/android/DNSFilterService; // field@00bb │ │ +018f7a: 6e10 a102 0000 |0009: invoke-virtual {v0}, Ldnsfilter/android/DNSFilterService;.pause_resume:()V // method@02a1 │ │ +018f80: 7010 be02 0400 |000c: invoke-direct {v4}, Ldnsfilter/android/DNSFilterTileService;.updateTile:()V // method@02be │ │ +018f86: 284d |000f: goto 005c // +004d │ │ +018f88: 6000 0200 |0010: sget v0, Landroid/os/Build$VERSION;.SDK_INT:I // field@0002 │ │ +018f8c: 1301 2200 |0012: const/16 v1, #int 34 // #22 │ │ +018f90: 1502 0010 |0014: const/high16 v2, #int 268435456 // #1000 │ │ +018f94: 3510 1000 |0016: if-ge v0, v1, 0026 // +0010 │ │ +018f98: 2200 1a00 |0018: new-instance v0, Landroid/content/Intent; // type@001a │ │ +018f9c: 1c01 b000 |001a: const-class v1, Ldnsfilter/android/DNSProxyActivity; // type@00b0 │ │ +018fa0: 7030 4200 4001 |001c: invoke-direct {v0, v4, v1}, Landroid/content/Intent;.:(Landroid/content/Context;Ljava/lang/Class;)V // method@0042 │ │ +018fa6: 6e20 4600 2000 |001f: invoke-virtual {v0, v2}, Landroid/content/Intent;.addFlags:(I)Landroid/content/Intent; // method@0046 │ │ +018fac: 7120 6e02 0400 |0022: invoke-static {v4, v0}, Ldnsfilter/android/BootUpReceiver$$ExternalSyntheticApiModelOutline0;.m:(Ldnsfilter/android/DNSFilterTileService;Landroid/content/Intent;)V // method@026e │ │ +018fb2: 2837 |0025: goto 005c // +0037 │ │ +018fb4: 2200 1a00 |0026: new-instance v0, Landroid/content/Intent; // type@001a │ │ +018fb8: 1c01 b000 |0028: const-class v1, Ldnsfilter/android/DNSProxyActivity; // type@00b0 │ │ +018fbc: 7030 4200 4001 |002a: invoke-direct {v0, v4, v1}, Landroid/content/Intent;.:(Landroid/content/Context;Ljava/lang/Class;)V // method@0042 │ │ +018fc2: 6e20 4600 2000 |002d: invoke-virtual {v0, v2}, Landroid/content/Intent;.addFlags:(I)Landroid/content/Intent; // method@0046 │ │ +018fc8: 1201 |0030: const/4 v1, #int 0 // #0 │ │ +018fca: 1502 0004 |0031: const/high16 v2, #int 67108864 // #400 │ │ +018fce: 7140 2e00 1420 |0033: invoke-static {v4, v1, v0, v2}, Landroid/app/PendingIntent;.getActivity:(Landroid/content/Context;ILandroid/content/Intent;I)Landroid/app/PendingIntent; // method@002e │ │ +018fd4: 0c00 |0036: move-result-object v0 │ │ +018fd6: 7120 6d02 0400 |0037: invoke-static {v4, v0}, Ldnsfilter/android/BootUpReceiver$$ExternalSyntheticApiModelOutline0;.m:(Ldnsfilter/android/DNSFilterTileService;Landroid/app/PendingIntent;)V // method@026d │ │ +018fdc: 2822 |003a: goto 005c // +0022 │ │ +018fde: 0d00 |003b: move-exception v0 │ │ +018fe0: 7100 2707 0000 |003c: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0727 │ │ +018fe6: 0c01 |003f: move-result-object v1 │ │ +018fe8: 2202 2d01 |0040: new-instance v2, Ljava/lang/StringBuilder; // type@012d │ │ +018fec: 1a03 8201 |0042: const-string v3, "Error toggling DNS filtering state: " // string@0182 │ │ +018ff0: 7020 aa05 3200 |0044: invoke-direct {v2, v3}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05aa │ │ +018ff6: 6e10 2405 0000 |0047: invoke-virtual {v0}, Ljava/io/IOException;.getMessage:()Ljava/lang/String; // method@0524 │ │ +018ffc: 0c03 |004a: move-result-object v3 │ │ +018ffe: 6e20 af05 3200 |004b: invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +019004: 6e10 b105 0200 |004e: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ +01900a: 0c02 |0051: move-result-object v2 │ │ +01900c: 7220 3307 2100 |0052: invoke-interface {v1, v2}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0733 │ │ +019012: 1a01 4301 |0055: const-string v1, "DNSFilterTileService" // string@0143 │ │ +019016: 1a02 8101 |0057: const-string v2, "Error toggling DNS filtering state" // string@0181 │ │ +01901a: 7130 a200 2100 |0059: invoke-static {v1, v2, v0}, Landroid/util/Log;.e:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I // method@00a2 │ │ +019020: 0e00 |005c: return-void │ │ catches : 1 │ │ 0x0003 - 0x003a │ │ Ljava/io/IOException; -> 0x003b │ │ positions : │ │ 0x0000 line=55 │ │ 0x0003 line=59 │ │ 0x0007 line=60 │ │ @@ -14677,18 +14677,18 @@ │ │ type : '()V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 1 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 6 16-bit code units │ │ -019038: |[019038] dnsfilter.android.DNSFilterTileService.onCreate:()V │ │ -019048: 6f10 9400 0000 |0000: invoke-super {v0}, Landroid/service/quicksettings/TileService;.onCreate:()V // method@0094 │ │ -01904e: 6900 d200 |0003: sput-object v0, Ldnsfilter/android/DNSFilterTileService;.INSTANCE:Ldnsfilter/android/DNSFilterTileService; // field@00d2 │ │ -019052: 0e00 |0005: return-void │ │ +019034: |[019034] dnsfilter.android.DNSFilterTileService.onCreate:()V │ │ +019044: 6f10 9400 0000 |0000: invoke-super {v0}, Landroid/service/quicksettings/TileService;.onCreate:()V // method@0094 │ │ +01904a: 6900 d200 |0003: sput-object v0, Ldnsfilter/android/DNSFilterTileService;.INSTANCE:Ldnsfilter/android/DNSFilterTileService; // field@00d2 │ │ +01904e: 0e00 |0005: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=35 │ │ 0x0003 line=36 │ │ locals : │ │ 0x0000 - 0x0006 reg=0 this Ldnsfilter/android/DNSFilterTileService; │ │ │ │ @@ -14697,21 +14697,21 @@ │ │ type : '()V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 11 16-bit code units │ │ -019054: |[019054] dnsfilter.android.DNSFilterTileService.onDestroy:()V │ │ -019064: 6f10 9500 0100 |0000: invoke-super {v1}, Landroid/service/quicksettings/TileService;.onDestroy:()V // method@0095 │ │ -01906a: 6200 d200 |0003: sget-object v0, Ldnsfilter/android/DNSFilterTileService;.INSTANCE:Ldnsfilter/android/DNSFilterTileService; // field@00d2 │ │ -01906e: 3310 0500 |0005: if-ne v0, v1, 000a // +0005 │ │ -019072: 1200 |0007: const/4 v0, #int 0 // #0 │ │ -019074: 6900 d200 |0008: sput-object v0, Ldnsfilter/android/DNSFilterTileService;.INSTANCE:Ldnsfilter/android/DNSFilterTileService; // field@00d2 │ │ -019078: 0e00 |000a: return-void │ │ +019050: |[019050] dnsfilter.android.DNSFilterTileService.onDestroy:()V │ │ +019060: 6f10 9500 0100 |0000: invoke-super {v1}, Landroid/service/quicksettings/TileService;.onDestroy:()V // method@0095 │ │ +019066: 6200 d200 |0003: sget-object v0, Ldnsfilter/android/DNSFilterTileService;.INSTANCE:Ldnsfilter/android/DNSFilterTileService; // field@00d2 │ │ +01906a: 3310 0500 |0005: if-ne v0, v1, 000a // +0005 │ │ +01906e: 1200 |0007: const/4 v0, #int 0 // #0 │ │ +019070: 6900 d200 |0008: sput-object v0, Ldnsfilter/android/DNSFilterTileService;.INSTANCE:Ldnsfilter/android/DNSFilterTileService; // field@00d2 │ │ +019074: 0e00 |000a: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=41 │ │ 0x0003 line=42 │ │ 0x0008 line=43 │ │ locals : │ │ 0x0000 - 0x000b reg=1 this Ldnsfilter/android/DNSFilterTileService; │ │ @@ -14721,18 +14721,18 @@ │ │ type : '()V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 1 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 7 16-bit code units │ │ -01907c: |[01907c] dnsfilter.android.DNSFilterTileService.onStartListening:()V │ │ -01908c: 6f10 9600 0000 |0000: invoke-super {v0}, Landroid/service/quicksettings/TileService;.onStartListening:()V // method@0096 │ │ -019092: 7010 be02 0000 |0003: invoke-direct {v0}, Ldnsfilter/android/DNSFilterTileService;.updateTile:()V // method@02be │ │ -019098: 0e00 |0006: return-void │ │ +019078: |[019078] dnsfilter.android.DNSFilterTileService.onStartListening:()V │ │ +019088: 6f10 9600 0000 |0000: invoke-super {v0}, Landroid/service/quicksettings/TileService;.onStartListening:()V // method@0096 │ │ +01908e: 7010 be02 0000 |0003: invoke-direct {v0}, Ldnsfilter/android/DNSFilterTileService;.updateTile:()V // method@02be │ │ +019094: 0e00 |0006: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=49 │ │ 0x0003 line=50 │ │ locals : │ │ 0x0000 - 0x0007 reg=0 this Ldnsfilter/android/DNSFilterTileService; │ │ │ │ @@ -14741,20 +14741,20 @@ │ │ type : '()V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 3 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 11 16-bit code units │ │ -01909c: |[01909c] dnsfilter.android.DNSFilterTileService.onTileAdded:()V │ │ -0190ac: 6f10 9700 0200 |0000: invoke-super {v2}, Landroid/service/quicksettings/TileService;.onTileAdded:()V // method@0097 │ │ -0190b2: 1a00 4301 |0003: const-string v0, "DNSFilterTileService" // string@0143 │ │ -0190b6: 1a01 7704 |0005: const-string v1, "Tile added" // string@0477 │ │ -0190ba: 7120 a100 1000 |0007: invoke-static {v0, v1}, Landroid/util/Log;.d:(Ljava/lang/String;Ljava/lang/String;)I // method@00a1 │ │ -0190c0: 0e00 |000a: return-void │ │ +019098: |[019098] dnsfilter.android.DNSFilterTileService.onTileAdded:()V │ │ +0190a8: 6f10 9700 0200 |0000: invoke-super {v2}, Landroid/service/quicksettings/TileService;.onTileAdded:()V // method@0097 │ │ +0190ae: 1a00 4301 |0003: const-string v0, "DNSFilterTileService" // string@0143 │ │ +0190b2: 1a01 7704 |0005: const-string v1, "Tile added" // string@0477 │ │ +0190b6: 7120 a100 1000 |0007: invoke-static {v0, v1}, Landroid/util/Log;.d:(Ljava/lang/String;Ljava/lang/String;)I // method@00a1 │ │ +0190bc: 0e00 |000a: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=29 │ │ 0x0003 line=30 │ │ locals : │ │ 0x0000 - 0x000b reg=2 this Ldnsfilter/android/DNSFilterTileService; │ │ │ │ @@ -14803,20 +14803,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 │ │ -0191a0: |[0191a0] dnsfilter.android.DNSProxyActivity$1.:(Ldnsfilter/android/DNSProxyActivity;Landroid/widget/EditText;Ljava/lang/String;)V │ │ -0191b0: 5b01 d400 |0000: iput-object v1, v0, Ldnsfilter/android/DNSProxyActivity$1;.this$0:Ldnsfilter/android/DNSProxyActivity; // field@00d4 │ │ -0191b4: 5b02 d600 |0002: iput-object v2, v0, Ldnsfilter/android/DNSProxyActivity$1;.val$input:Landroid/widget/EditText; // field@00d6 │ │ -0191b8: 5b03 d500 |0004: iput-object v3, v0, Ldnsfilter/android/DNSProxyActivity$1;.val$code:Ljava/lang/String; // field@00d5 │ │ -0191bc: 7010 7505 0000 |0006: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@0575 │ │ -0191c2: 0e00 |0009: return-void │ │ +01919c: |[01919c] dnsfilter.android.DNSProxyActivity$1.:(Ldnsfilter/android/DNSProxyActivity;Landroid/widget/EditText;Ljava/lang/String;)V │ │ +0191ac: 5b01 d400 |0000: iput-object v1, v0, Ldnsfilter/android/DNSProxyActivity$1;.this$0:Ldnsfilter/android/DNSProxyActivity; // field@00d4 │ │ +0191b0: 5b02 d600 |0002: iput-object v2, v0, Ldnsfilter/android/DNSProxyActivity$1;.val$input:Landroid/widget/EditText; // field@00d6 │ │ +0191b4: 5b03 d500 |0004: iput-object v3, v0, Ldnsfilter/android/DNSProxyActivity$1;.val$code:Ljava/lang/String; // field@00d5 │ │ +0191b8: 7010 7505 0000 |0006: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@0575 │ │ +0191be: 0e00 |0009: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=655 │ │ 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; │ │ @@ -14828,39 +14828,39 @@ │ │ type : '(Landroid/content/DialogInterface;I)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 3 │ │ ins : 3 │ │ outs : 2 │ │ insns size : 48 16-bit code units │ │ -0191c4: |[0191c4] dnsfilter.android.DNSProxyActivity$1.onClick:(Landroid/content/DialogInterface;I)V │ │ -0191d4: 1201 |0000: const/4 v1, #int 0 // #0 │ │ -0191d6: 6901 fa00 |0001: sput-object v1, Ldnsfilter/android/DNSProxyActivity;.PASSWORD_DIAG:Landroid/app/AlertDialog; // field@00fa │ │ -0191da: 5401 d600 |0003: iget-object v1, v0, Ldnsfilter/android/DNSProxyActivity$1;.val$input:Landroid/widget/EditText; // field@00d6 │ │ -0191de: 6e10 da00 0100 |0005: invoke-virtual {v1}, Landroid/widget/EditText;.getText:()Landroid/text/Editable; // method@00da │ │ -0191e4: 0c01 |0008: move-result-object v1 │ │ -0191e6: 6e10 7a05 0100 |0009: invoke-virtual {v1}, Ljava/lang/Object;.toString:()Ljava/lang/String; // method@057a │ │ -0191ec: 0c01 |000c: move-result-object v1 │ │ -0191ee: 5402 d500 |000d: iget-object v2, v0, Ldnsfilter/android/DNSProxyActivity$1;.val$code:Ljava/lang/String; // field@00d5 │ │ -0191f2: 6e20 8d05 2100 |000f: invoke-virtual {v1, v2}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058d │ │ -0191f8: 0a01 |0012: move-result v1 │ │ -0191fa: 3901 0f00 |0013: if-nez v1, 0022 // +000f │ │ -0191fe: 5401 d400 |0015: iget-object v1, v0, Ldnsfilter/android/DNSProxyActivity$1;.this$0:Ldnsfilter/android/DNSProxyActivity; // field@00d4 │ │ -019202: 1a02 e104 |0017: const-string v2, "Wrong passcode!" // string@04e1 │ │ -019206: 6e20 0b03 2100 |0019: invoke-virtual {v1, v2}, Ldnsfilter/android/DNSProxyActivity;.message:(Ljava/lang/String;)V // method@030b │ │ -01920c: 5401 d400 |001c: iget-object v1, v0, Ldnsfilter/android/DNSProxyActivity$1;.this$0:Ldnsfilter/android/DNSProxyActivity; // field@00d4 │ │ -019210: 7110 de02 0100 |001e: invoke-static {v1}, Ldnsfilter/android/DNSProxyActivity;.access$400:(Ldnsfilter/android/DNSProxyActivity;)V // method@02de │ │ -019216: 280e |0021: goto 002f // +000e │ │ -019218: 5401 d400 |0022: iget-object v1, v0, Ldnsfilter/android/DNSProxyActivity$1;.this$0:Ldnsfilter/android/DNSProxyActivity; // field@00d4 │ │ -01921c: 1402 3e00 057f |0024: const v2, #float 1.76789e+38 // #7f05003e │ │ -019222: 6e20 f102 2100 |0027: invoke-virtual {v1, v2}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02f1 │ │ -019228: 0c01 |002a: move-result-object v1 │ │ -01922a: 1202 |002b: const/4 v2, #int 0 // #0 │ │ -01922c: 6e20 b400 2100 |002c: invoke-virtual {v1, v2}, Landroid/view/View;.setVisibility:(I)V // method@00b4 │ │ -019232: 0e00 |002f: return-void │ │ +0191c0: |[0191c0] dnsfilter.android.DNSProxyActivity$1.onClick:(Landroid/content/DialogInterface;I)V │ │ +0191d0: 1201 |0000: const/4 v1, #int 0 // #0 │ │ +0191d2: 6901 fa00 |0001: sput-object v1, Ldnsfilter/android/DNSProxyActivity;.PASSWORD_DIAG:Landroid/app/AlertDialog; // field@00fa │ │ +0191d6: 5401 d600 |0003: iget-object v1, v0, Ldnsfilter/android/DNSProxyActivity$1;.val$input:Landroid/widget/EditText; // field@00d6 │ │ +0191da: 6e10 da00 0100 |0005: invoke-virtual {v1}, Landroid/widget/EditText;.getText:()Landroid/text/Editable; // method@00da │ │ +0191e0: 0c01 |0008: move-result-object v1 │ │ +0191e2: 6e10 7a05 0100 |0009: invoke-virtual {v1}, Ljava/lang/Object;.toString:()Ljava/lang/String; // method@057a │ │ +0191e8: 0c01 |000c: move-result-object v1 │ │ +0191ea: 5402 d500 |000d: iget-object v2, v0, Ldnsfilter/android/DNSProxyActivity$1;.val$code:Ljava/lang/String; // field@00d5 │ │ +0191ee: 6e20 8d05 2100 |000f: invoke-virtual {v1, v2}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058d │ │ +0191f4: 0a01 |0012: move-result v1 │ │ +0191f6: 3901 0f00 |0013: if-nez v1, 0022 // +000f │ │ +0191fa: 5401 d400 |0015: iget-object v1, v0, Ldnsfilter/android/DNSProxyActivity$1;.this$0:Ldnsfilter/android/DNSProxyActivity; // field@00d4 │ │ +0191fe: 1a02 e104 |0017: const-string v2, "Wrong passcode!" // string@04e1 │ │ +019202: 6e20 0b03 2100 |0019: invoke-virtual {v1, v2}, Ldnsfilter/android/DNSProxyActivity;.message:(Ljava/lang/String;)V // method@030b │ │ +019208: 5401 d400 |001c: iget-object v1, v0, Ldnsfilter/android/DNSProxyActivity$1;.this$0:Ldnsfilter/android/DNSProxyActivity; // field@00d4 │ │ +01920c: 7110 de02 0100 |001e: invoke-static {v1}, Ldnsfilter/android/DNSProxyActivity;.access$400:(Ldnsfilter/android/DNSProxyActivity;)V // method@02de │ │ +019212: 280e |0021: goto 002f // +000e │ │ +019214: 5401 d400 |0022: iget-object v1, v0, Ldnsfilter/android/DNSProxyActivity$1;.this$0:Ldnsfilter/android/DNSProxyActivity; // field@00d4 │ │ +019218: 1402 3e00 057f |0024: const v2, #float 1.76789e+38 // #7f05003e │ │ +01921e: 6e20 f102 2100 |0027: invoke-virtual {v1, v2}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02f1 │ │ +019224: 0c01 |002a: move-result-object v1 │ │ +019226: 1202 |002b: const/4 v2, #int 0 // #0 │ │ +019228: 6e20 b400 2100 |002c: invoke-virtual {v1, v2}, Landroid/view/View;.setVisibility:(I)V // method@00b4 │ │ +01922e: 0e00 |002f: return-void │ │ catches : (none) │ │ positions : │ │ 0x0001 line=658 │ │ 0x0003 line=659 │ │ 0x000d line=660 │ │ 0x0015 line=661 │ │ 0x001c line=662 │ │ @@ -14911,19 +14911,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 │ │ -019234: |[019234] dnsfilter.android.DNSProxyActivity$2.:(Ldnsfilter/android/DNSProxyActivity;Landroid/app/AlertDialog$Builder;)V │ │ -019244: 5b01 d700 |0000: iput-object v1, v0, Ldnsfilter/android/DNSProxyActivity$2;.this$0:Ldnsfilter/android/DNSProxyActivity; // field@00d7 │ │ -019248: 5b02 d800 |0002: iput-object v2, v0, Ldnsfilter/android/DNSProxyActivity$2;.val$builder:Landroid/app/AlertDialog$Builder; // field@00d8 │ │ -01924c: 7010 7505 0000 |0004: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@0575 │ │ -019252: 0e00 |0007: return-void │ │ +019230: |[019230] dnsfilter.android.DNSProxyActivity$2.:(Ldnsfilter/android/DNSProxyActivity;Landroid/app/AlertDialog$Builder;)V │ │ +019240: 5b01 d700 |0000: iput-object v1, v0, Ldnsfilter/android/DNSProxyActivity$2;.this$0:Ldnsfilter/android/DNSProxyActivity; // field@00d7 │ │ +019244: 5b02 d800 |0002: iput-object v2, v0, Ldnsfilter/android/DNSProxyActivity$2;.val$builder:Landroid/app/AlertDialog$Builder; // field@00d8 │ │ +019248: 7010 7505 0000 |0004: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@0575 │ │ +01924e: 0e00 |0007: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=667 │ │ 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; │ │ @@ -14934,26 +14934,26 @@ │ │ type : '()V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 3 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 23 16-bit code units │ │ -019254: |[019254] dnsfilter.android.DNSProxyActivity$2.run:()V │ │ -019264: 5420 d700 |0000: iget-object v0, v2, Ldnsfilter/android/DNSProxyActivity$2;.this$0:Ldnsfilter/android/DNSProxyActivity; // field@00d7 │ │ -019268: 1401 3e00 057f |0002: const v1, #float 1.76789e+38 // #7f05003e │ │ -01926e: 6e20 f102 1000 |0005: invoke-virtual {v0, v1}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02f1 │ │ -019274: 0c00 |0008: move-result-object v0 │ │ -019276: 1301 0800 |0009: const/16 v1, #int 8 // #8 │ │ -01927a: 6e20 b400 1000 |000b: invoke-virtual {v0, v1}, Landroid/view/View;.setVisibility:(I)V // method@00b4 │ │ -019280: 5420 d800 |000e: iget-object v0, v2, Ldnsfilter/android/DNSProxyActivity$2;.val$builder:Landroid/app/AlertDialog$Builder; // field@00d8 │ │ -019284: 6e10 0e00 0000 |0010: invoke-virtual {v0}, Landroid/app/AlertDialog$Builder;.show:()Landroid/app/AlertDialog; // method@000e │ │ -01928a: 0c00 |0013: move-result-object v0 │ │ -01928c: 6900 fa00 |0014: sput-object v0, Ldnsfilter/android/DNSProxyActivity;.PASSWORD_DIAG:Landroid/app/AlertDialog; // field@00fa │ │ -019290: 0e00 |0016: return-void │ │ +019250: |[019250] dnsfilter.android.DNSProxyActivity$2.run:()V │ │ +019260: 5420 d700 |0000: iget-object v0, v2, Ldnsfilter/android/DNSProxyActivity$2;.this$0:Ldnsfilter/android/DNSProxyActivity; // field@00d7 │ │ +019264: 1401 3e00 057f |0002: const v1, #float 1.76789e+38 // #7f05003e │ │ +01926a: 6e20 f102 1000 |0005: invoke-virtual {v0, v1}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02f1 │ │ +019270: 0c00 |0008: move-result-object v0 │ │ +019272: 1301 0800 |0009: const/16 v1, #int 8 // #8 │ │ +019276: 6e20 b400 1000 |000b: invoke-virtual {v0, v1}, Landroid/view/View;.setVisibility:(I)V // method@00b4 │ │ +01927c: 5420 d800 |000e: iget-object v0, v2, Ldnsfilter/android/DNSProxyActivity$2;.val$builder:Landroid/app/AlertDialog$Builder; // field@00d8 │ │ +019280: 6e10 0e00 0000 |0010: invoke-virtual {v0}, Landroid/app/AlertDialog$Builder;.show:()Landroid/app/AlertDialog; // method@000e │ │ +019286: 0c00 |0013: move-result-object v0 │ │ +019288: 6900 fa00 |0014: sput-object v0, Ldnsfilter/android/DNSProxyActivity;.PASSWORD_DIAG:Landroid/app/AlertDialog; // field@00fa │ │ +01928c: 0e00 |0016: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=670 │ │ 0x000e line=671 │ │ locals : │ │ 0x0000 - 0x0017 reg=2 this Ldnsfilter/android/DNSProxyActivity$2; │ │ │ │ @@ -14992,18 +14992,18 @@ │ │ type : '(Ldnsfilter/android/DNSProxyActivity;)V' │ │ access : 0x10000 (CONSTRUCTOR) │ │ code - │ │ registers : 2 │ │ ins : 2 │ │ outs : 1 │ │ insns size : 6 16-bit code units │ │ -019294: |[019294] dnsfilter.android.DNSProxyActivity$3.:(Ldnsfilter/android/DNSProxyActivity;)V │ │ -0192a4: 5b01 d900 |0000: iput-object v1, v0, Ldnsfilter/android/DNSProxyActivity$3;.this$0:Ldnsfilter/android/DNSProxyActivity; // field@00d9 │ │ -0192a8: 7010 7505 0000 |0002: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@0575 │ │ -0192ae: 0e00 |0005: return-void │ │ +019290: |[019290] dnsfilter.android.DNSProxyActivity$3.:(Ldnsfilter/android/DNSProxyActivity;)V │ │ +0192a0: 5b01 d900 |0000: iput-object v1, v0, Ldnsfilter/android/DNSProxyActivity$3;.this$0:Ldnsfilter/android/DNSProxyActivity; // field@00d9 │ │ +0192a4: 7010 7505 0000 |0002: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@0575 │ │ +0192aa: 0e00 |0005: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=958 │ │ locals : │ │ 0x0000 - 0x0006 reg=0 this Ldnsfilter/android/DNSProxyActivity$3; │ │ 0x0000 - 0x0006 reg=1 (null) Ldnsfilter/android/DNSProxyActivity; │ │ │ │ @@ -15013,183 +15013,183 @@ │ │ type : '()V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 7 │ │ ins : 1 │ │ outs : 5 │ │ insns size : 348 16-bit code units │ │ -0192b0: |[0192b0] dnsfilter.android.DNSProxyActivity$3.run:()V │ │ -0192c0: 6200 0e01 |0000: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.config:Ldnsfilter/ConfigUtil; // field@010e │ │ -0192c4: 1a01 1207 |0002: const-string v1, "footerLink" // string@0712 │ │ -0192c8: 1a02 0000 |0004: const-string v2, "" // string@0000 │ │ -0192cc: 6e30 3a01 1002 |0006: invoke-virtual {v0, v1, v2}, Ldnsfilter/ConfigUtil;.getConfigValue:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@013a │ │ -0192d2: 0c00 |0009: move-result-object v0 │ │ -0192d4: 6900 1f01 |000a: sput-object v0, Ldnsfilter/android/DNSProxyActivity;.link_field_txt:Ljava/lang/String; // field@011f │ │ -0192d8: 6300 f500 |000c: sget-boolean v0, Ldnsfilter/android/DNSProxyActivity;.MSG_ACTIVE:Z // field@00f5 │ │ -0192dc: 3900 1600 |000e: if-nez v0, 0024 // +0016 │ │ -0192e0: 6200 1d01 |0010: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.link_field:Landroid/widget/TextView; // field@011d │ │ -0192e4: 6201 1f01 |0012: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.link_field_txt:Ljava/lang/String; // field@011f │ │ -0192e8: 7110 da02 0100 |0014: invoke-static {v1}, Ldnsfilter/android/DNSProxyActivity;.access$000:(Ljava/lang/String;)Landroid/text/Spanned; // method@02da │ │ -0192ee: 0c01 |0017: move-result-object v1 │ │ -0192f0: 6e20 0901 1000 |0018: invoke-virtual {v0, v1}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@0109 │ │ -0192f6: 6200 1d01 |001b: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.link_field:Landroid/widget/TextView; // field@011d │ │ -0192fa: 7100 9f00 0000 |001d: invoke-static {}, Landroid/text/method/LinkMovementMethod;.getInstance:()Landroid/text/method/MovementMethod; // method@009f │ │ -019300: 0c01 |0020: move-result-object v1 │ │ -019302: 6e20 0701 1000 |0021: invoke-virtual {v0, v1}, Landroid/widget/TextView;.setMovementMethod:(Landroid/text/method/MovementMethod;)V // method@0107 │ │ -019308: 6200 0e01 |0024: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.config:Ldnsfilter/ConfigUtil; // field@010e │ │ -01930c: 1a01 fb06 |0026: const-string v1, "filterLogFormat" // string@06fb │ │ -019310: 1a03 9500 |0028: const-string v3, "($CONTENT)" // string@0095 │ │ -019314: 6e30 3a01 1003 |002a: invoke-virtual {v0, v1, v3}, Ldnsfilter/ConfigUtil;.getConfigValue:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@013a │ │ -01931a: 0c00 |002d: move-result-object v0 │ │ -01931c: 6900 1701 |002e: sput-object v0, Ldnsfilter/android/DNSProxyActivity;.filterLogFormat:Ljava/lang/String; // field@0117 │ │ -019320: 6200 0e01 |0030: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.config:Ldnsfilter/ConfigUtil; // field@010e │ │ -019324: 1a01 1c05 |0032: const-string v1, "acceptLogFormat" // string@051c │ │ -019328: 1a03 9400 |0034: const-string v3, "($CONTENT)" // string@0094 │ │ -01932c: 6e30 3a01 1003 |0036: invoke-virtual {v0, v1, v3}, Ldnsfilter/ConfigUtil;.getConfigValue:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@013a │ │ -019332: 0c00 |0039: move-result-object v0 │ │ -019334: 6900 fe00 |003a: sput-object v0, Ldnsfilter/android/DNSProxyActivity;.acceptLogFormat:Ljava/lang/String; // field@00fe │ │ -019338: 6200 0e01 |003c: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.config:Ldnsfilter/ConfigUtil; // field@010e │ │ -01933c: 1a01 1e07 |003e: const-string v1, "fwdLogFormat" // string@071e │ │ -019340: 1a03 9700 |0040: const-string v3, "($CONTENT)" // string@0097 │ │ -019344: 6e30 3a01 1003 |0042: invoke-virtual {v0, v1, v3}, Ldnsfilter/ConfigUtil;.getConfigValue:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@013a │ │ -01934a: 0c00 |0045: move-result-object v0 │ │ -01934c: 6900 1901 |0046: sput-object v0, Ldnsfilter/android/DNSProxyActivity;.fwdLogFormat:Ljava/lang/String; // field@0119 │ │ -019350: 6200 0e01 |0048: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.config:Ldnsfilter/ConfigUtil; // field@010e │ │ -019354: 1a01 0509 |004a: const-string v1, "normalLogFormat" // string@0905 │ │ -019358: 1a03 4400 |004c: const-string v3, "($CONTENT)" // string@0044 │ │ -01935c: 6e30 3a01 1003 |004e: invoke-virtual {v0, v1, v3}, Ldnsfilter/ConfigUtil;.getConfigValue:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@013a │ │ -019362: 0c00 |0051: move-result-object v0 │ │ -019364: 6900 2501 |0052: sput-object v0, Ldnsfilter/android/DNSProxyActivity;.normalLogFormat:Ljava/lang/String; // field@0125 │ │ -019368: 6200 0e01 |0054: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.config:Ldnsfilter/ConfigUtil; // field@010e │ │ -01936c: 1a01 c208 |0056: const-string v1, "logTextSize" // string@08c2 │ │ -019370: 1a03 7300 |0058: const-string v3, "14" // string@0073 │ │ -019374: 6e30 3a01 1003 |005a: invoke-virtual {v0, v1, v3}, Ldnsfilter/ConfigUtil;.getConfigValue:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@013a │ │ -01937a: 0c00 |005d: move-result-object v0 │ │ -01937c: 7110 6705 0000 |005e: invoke-static {v0}, Ljava/lang/Integer;.parseInt:(Ljava/lang/String;)I // method@0567 │ │ -019382: 0a00 |0061: move-result v0 │ │ -019384: 6201 2001 |0062: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.logOutView:Landroid/widget/EditText; // field@0120 │ │ -019388: 1223 |0064: const/4 v3, #int 2 // #2 │ │ -01938a: 8200 |0065: int-to-float v0, v0 │ │ -01938c: 6e30 e700 3100 |0066: invoke-virtual {v1, v3, v0}, Landroid/widget/EditText;.setTextSize:(IF)V // method@00e7 │ │ -019392: 281b |0069: goto 0084 // +001b │ │ -019394: 0d00 |006a: move-exception v0 │ │ -019396: 7100 2707 0000 |006b: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0727 │ │ -01939c: 0c01 |006e: move-result-object v1 │ │ -01939e: 2203 2d01 |006f: new-instance v3, Ljava/lang/StringBuilder; // type@012d │ │ -0193a2: 1a04 7c01 |0071: const-string v4, "Error in log text size setting! " // string@017c │ │ -0193a6: 7020 aa05 4300 |0073: invoke-direct {v3, v4}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05aa │ │ -0193ac: 6e10 6105 0000 |0076: invoke-virtual {v0}, Ljava/lang/Exception;.toString:()Ljava/lang/String; // method@0561 │ │ -0193b2: 0c00 |0079: move-result-object v0 │ │ -0193b4: 6e20 af05 0300 |007a: invoke-virtual {v3, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -0193ba: 6e10 b105 0300 |007d: invoke-virtual {v3}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ -0193c0: 0c00 |0080: move-result-object v0 │ │ -0193c2: 7220 3307 0100 |0081: invoke-interface {v1, v0}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0733 │ │ -0193c8: 6200 0e01 |0084: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.config:Ldnsfilter/ConfigUtil; // field@010e │ │ -0193cc: 6e10 3b01 0000 |0086: invoke-virtual {v0}, Ldnsfilter/ConfigUtil;.getConfiguredFilterLists:()[Ldnsfilter/ConfigUtil$HostFilterList; // method@013b │ │ -0193d2: 0c00 |0089: move-result-object v0 │ │ -0193d4: 6201 1601 |008a: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.filterCfg:Ldnsfilter/android/FilterConfig; // field@0116 │ │ -0193d8: 6e20 4803 0100 |008c: invoke-virtual {v1, v0}, Ldnsfilter/android/FilterConfig;.setEntries:([Ldnsfilter/ConfigUtil$HostFilterList;)V // method@0348 │ │ -0193de: 6200 1801 |008f: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.filterReloadIntervalView:Landroid/widget/EditText; // field@0118 │ │ -0193e2: 6201 0e01 |0091: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.config:Ldnsfilter/ConfigUtil; // field@010e │ │ -0193e6: 1a03 db09 |0093: const-string v3, "reloadIntervalDays" // string@09db │ │ -0193ea: 1a04 7f00 |0095: const-string v4, "7" // string@007f │ │ -0193ee: 6e30 3a01 3104 |0097: invoke-virtual {v1, v3, v4}, Ldnsfilter/ConfigUtil;.getConfigValue:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@013a │ │ -0193f4: 0c01 |009a: move-result-object v1 │ │ -0193f6: 6e20 e600 1000 |009b: invoke-virtual {v0, v1}, Landroid/widget/EditText;.setText:(Ljava/lang/CharSequence;)V // method@00e6 │ │ -0193fc: 6200 1301 |009e: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.enableAdFilterCheck:Landroid/widget/CheckBox; // field@0113 │ │ -019400: 6201 0e01 |00a0: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.config:Ldnsfilter/ConfigUtil; // field@010e │ │ -019404: 1a03 e606 |00a2: const-string v3, "filterActive" // string@06e6 │ │ -019408: 1a04 420b |00a4: const-string v4, "true" // string@0b42 │ │ -01940c: 6e30 3a01 3104 |00a6: invoke-virtual {v1, v3, v4}, Ldnsfilter/ConfigUtil;.getConfigValue:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@013a │ │ -019412: 0c01 |00a9: move-result-object v1 │ │ -019414: 7110 4d05 0100 |00aa: invoke-static {v1}, Ljava/lang/Boolean;.parseBoolean:(Ljava/lang/String;)Z // method@054d │ │ -01941a: 0a01 |00ad: move-result v1 │ │ -01941c: 6e20 cd00 1000 |00ae: invoke-virtual {v0, v1}, Landroid/widget/CheckBox;.setChecked:(Z)V // method@00cd │ │ -019422: 6200 1401 |00b1: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.enableAutoStartCheck:Landroid/widget/CheckBox; // field@0114 │ │ -019426: 6201 0e01 |00b3: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.config:Ldnsfilter/ConfigUtil; // field@010e │ │ -01942a: 1a03 b200 |00b5: const-string v3, "AUTOSTART" // string@00b2 │ │ -01942e: 1a05 df06 |00b7: const-string v5, "false" // string@06df │ │ -019432: 6e30 3a01 3105 |00b9: invoke-virtual {v1, v3, v5}, Ldnsfilter/ConfigUtil;.getConfigValue:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@013a │ │ -019438: 0c01 |00bc: move-result-object v1 │ │ -01943a: 7110 4d05 0100 |00bd: invoke-static {v1}, Ljava/lang/Boolean;.parseBoolean:(Ljava/lang/String;)Z // method@054d │ │ -019440: 0a01 |00c0: move-result v1 │ │ -019442: 6e20 cd00 1000 |00c1: invoke-virtual {v0, v1}, Landroid/widget/CheckBox;.setChecked:(Z)V // method@00cd │ │ -019448: 6200 1501 |00c4: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.enableCloakProtectCheck:Landroid/widget/CheckBox; // field@0115 │ │ -01944c: 6201 0e01 |00c6: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.config:Ldnsfilter/ConfigUtil; // field@010e │ │ -019450: 1a03 c005 |00c8: const-string v3, "checkCNAME" // string@05c0 │ │ -019454: 6e30 3a01 3104 |00ca: invoke-virtual {v1, v3, v4}, Ldnsfilter/ConfigUtil;.getConfigValue:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@013a │ │ -01945a: 0c01 |00cd: move-result-object v1 │ │ -01945c: 7110 4d05 0100 |00ce: invoke-static {v1}, Ljava/lang/Boolean;.parseBoolean:(Ljava/lang/String;)Z // method@054d │ │ -019462: 0a01 |00d1: move-result v1 │ │ -019464: 6e20 cd00 1000 |00d2: invoke-virtual {v0, v1}, Landroid/widget/CheckBox;.setChecked:(Z)V // method@00cd │ │ -01946a: 6200 1c01 |00d5: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.keepAwakeCheck:Landroid/widget/CheckBox; // field@011c │ │ -01946e: 6201 0e01 |00d7: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.config:Ldnsfilter/ConfigUtil; // field@010e │ │ -019472: 1a03 6805 |00d9: const-string v3, "androidKeepAwake" // string@0568 │ │ -019476: 6e30 3a01 3105 |00db: invoke-virtual {v1, v3, v5}, Ldnsfilter/ConfigUtil;.getConfigValue:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@013a │ │ -01947c: 0c01 |00de: move-result-object v1 │ │ -01947e: 7110 4d05 0100 |00df: invoke-static {v1}, Ljava/lang/Boolean;.parseBoolean:(Ljava/lang/String;)Z // method@054d │ │ -019484: 0a01 |00e2: move-result v1 │ │ -019486: 6e20 cd00 1000 |00e3: invoke-virtual {v0, v1}, Landroid/widget/CheckBox;.setChecked:(Z)V // method@00cd │ │ -01948c: 6200 2901 |00e6: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.proxyModeCheck:Landroid/widget/CheckBox; // field@0129 │ │ -019490: 6201 0e01 |00e8: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.config:Ldnsfilter/ConfigUtil; // field@010e │ │ -019494: 1a03 6b06 |00ea: const-string v3, "dnsProxyOnAndroid" // string@066b │ │ -019498: 6e30 3a01 3105 |00ec: invoke-virtual {v1, v3, v5}, Ldnsfilter/ConfigUtil;.getConfigValue:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@013a │ │ -01949e: 0c01 |00ef: move-result-object v1 │ │ -0194a0: 7110 4d05 0100 |00f0: invoke-static {v1}, Ljava/lang/Boolean;.parseBoolean:(Ljava/lang/String;)Z // method@054d │ │ -0194a6: 0a01 |00f3: move-result v1 │ │ -0194a8: 6e20 cd00 1000 |00f4: invoke-virtual {v0, v1}, Landroid/widget/CheckBox;.setChecked:(Z)V // method@00cd │ │ -0194ae: 6200 2801 |00f7: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.proxyLocalOnlyCheck:Landroid/widget/CheckBox; // field@0128 │ │ -0194b2: 6201 0e01 |00f9: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.config:Ldnsfilter/ConfigUtil; // field@010e │ │ -0194b6: 1a03 6d06 |00fb: const-string v3, "dnsProxyOnlyLocalRequests" // string@066d │ │ -0194ba: 6e30 3a01 3104 |00fd: invoke-virtual {v1, v3, v4}, Ldnsfilter/ConfigUtil;.getConfigValue:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@013a │ │ -0194c0: 0c01 |0100: move-result-object v1 │ │ -0194c2: 7110 4d05 0100 |0101: invoke-static {v1}, Ljava/lang/Boolean;.parseBoolean:(Ljava/lang/String;)Z // method@054d │ │ -0194c8: 0a01 |0104: move-result v1 │ │ -0194ca: 6e20 cd00 1000 |0105: invoke-virtual {v0, v1}, Landroid/widget/CheckBox;.setChecked:(Z)V // method@00cd │ │ -0194d0: 6200 3001 |0108: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.rootModeCheck:Landroid/widget/CheckBox; // field@0130 │ │ -0194d4: 6201 0e01 |010a: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.config:Ldnsfilter/ConfigUtil; // field@010e │ │ -0194d8: 1a03 2a0a |010c: const-string v3, "rootModeOnAndroid" // string@0a2a │ │ -0194dc: 6e30 3a01 3105 |010e: invoke-virtual {v1, v3, v5}, Ldnsfilter/ConfigUtil;.getConfigValue:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@013a │ │ -0194e2: 0c01 |0111: move-result-object v1 │ │ -0194e4: 7110 4d05 0100 |0112: invoke-static {v1}, Ljava/lang/Boolean;.parseBoolean:(Ljava/lang/String;)Z // method@054d │ │ -0194ea: 0a01 |0115: move-result v1 │ │ -0194ec: 6e20 cd00 1000 |0116: invoke-virtual {v0, v1}, Landroid/widget/CheckBox;.setChecked:(Z)V // method@00cd │ │ -0194f2: 6200 0401 |0119: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.appSelector:Ldnsfilter/android/AppSelectorView; // field@0104 │ │ -0194f6: 6201 0e01 |011b: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.config:Ldnsfilter/ConfigUtil; // field@010e │ │ -0194fa: 1a03 6705 |011d: const-string v3, "androidAppWhiteList" // string@0567 │ │ -0194fe: 6e30 3a01 3102 |011f: invoke-virtual {v1, v3, v2}, Ldnsfilter/ConfigUtil;.getConfigValue:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@013a │ │ -019504: 0c01 |0122: move-result-object v1 │ │ -019506: 6e20 5802 1000 |0123: invoke-virtual {v0, v1}, Ldnsfilter/android/AppSelectorView;.setSelectedApps:(Ljava/lang/String;)V // method@0258 │ │ -01950c: 6200 ed00 |0126: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.CONFIG:Ldnsfilter/ConfigurationAccess; // field@00ed │ │ -019510: 6e10 5701 0000 |0128: invoke-virtual {v0}, Ldnsfilter/ConfigurationAccess;.isLocal:()Z // method@0157 │ │ -019516: 0a00 |012b: move-result v0 │ │ -019518: 1201 |012c: const/4 v1, #int 0 // #0 │ │ -01951a: 3900 1700 |012d: if-nez v0, 0144 // +0017 │ │ -01951e: 5460 d900 |012f: iget-object v0, v6, Ldnsfilter/android/DNSProxyActivity$3;.this$0:Ldnsfilter/android/DNSProxyActivity; // field@00d9 │ │ -019522: 5400 2b01 |0131: iget-object v0, v0, Ldnsfilter/android/DNSProxyActivity;.remoteCtrlBtn:Landroid/widget/Button; // field@012b │ │ -019526: 5462 d900 |0133: iget-object v2, v6, Ldnsfilter/android/DNSProxyActivity$3;.this$0:Ldnsfilter/android/DNSProxyActivity; // field@00d9 │ │ -01952a: 6e10 f802 0200 |0135: invoke-virtual {v2}, Ldnsfilter/android/DNSProxyActivity;.getResources:()Landroid/content/res/Resources; // method@02f8 │ │ -019530: 0c02 |0138: move-result-object v2 │ │ -019532: 1403 2b00 047f |0139: const v3, #float 1.75459e+38 // #7f04002b │ │ -019538: 6e20 5800 3200 |013c: invoke-virtual {v2, v3}, Landroid/content/res/Resources;.getDrawable:(I)Landroid/graphics/drawable/Drawable; // method@0058 │ │ -01953e: 0c02 |013f: move-result-object v2 │ │ -019540: 6e51 c400 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@00c4 │ │ -019546: 2815 |0143: goto 0158 // +0015 │ │ -019548: 5460 d900 |0144: iget-object v0, v6, Ldnsfilter/android/DNSProxyActivity$3;.this$0:Ldnsfilter/android/DNSProxyActivity; // field@00d9 │ │ -01954c: 5400 2b01 |0146: iget-object v0, v0, Ldnsfilter/android/DNSProxyActivity;.remoteCtrlBtn:Landroid/widget/Button; // field@012b │ │ -019550: 5462 d900 |0148: iget-object v2, v6, Ldnsfilter/android/DNSProxyActivity$3;.this$0:Ldnsfilter/android/DNSProxyActivity; // field@00d9 │ │ -019554: 6e10 f802 0200 |014a: invoke-virtual {v2}, Ldnsfilter/android/DNSProxyActivity;.getResources:()Landroid/content/res/Resources; // method@02f8 │ │ -01955a: 0c02 |014d: move-result-object v2 │ │ -01955c: 1403 2c00 047f |014e: const v3, #float 1.75459e+38 // #7f04002c │ │ -019562: 6e20 5800 3200 |0151: invoke-virtual {v2, v3}, Landroid/content/res/Resources;.getDrawable:(I)Landroid/graphics/drawable/Drawable; // method@0058 │ │ -019568: 0c02 |0154: move-result-object v2 │ │ -01956a: 6e51 c400 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@00c4 │ │ -019570: 1200 |0158: const/4 v0, #int 0 // #0 │ │ -019572: 6a00 3801 |0159: sput-boolean v0, Ldnsfilter/android/DNSProxyActivity;.switchingConfig:Z // field@0138 │ │ -019576: 0e00 |015b: return-void │ │ +0192ac: |[0192ac] dnsfilter.android.DNSProxyActivity$3.run:()V │ │ +0192bc: 6200 0e01 |0000: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.config:Ldnsfilter/ConfigUtil; // field@010e │ │ +0192c0: 1a01 1207 |0002: const-string v1, "footerLink" // string@0712 │ │ +0192c4: 1a02 0000 |0004: const-string v2, "" // string@0000 │ │ +0192c8: 6e30 3a01 1002 |0006: invoke-virtual {v0, v1, v2}, Ldnsfilter/ConfigUtil;.getConfigValue:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@013a │ │ +0192ce: 0c00 |0009: move-result-object v0 │ │ +0192d0: 6900 1f01 |000a: sput-object v0, Ldnsfilter/android/DNSProxyActivity;.link_field_txt:Ljava/lang/String; // field@011f │ │ +0192d4: 6300 f500 |000c: sget-boolean v0, Ldnsfilter/android/DNSProxyActivity;.MSG_ACTIVE:Z // field@00f5 │ │ +0192d8: 3900 1600 |000e: if-nez v0, 0024 // +0016 │ │ +0192dc: 6200 1d01 |0010: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.link_field:Landroid/widget/TextView; // field@011d │ │ +0192e0: 6201 1f01 |0012: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.link_field_txt:Ljava/lang/String; // field@011f │ │ +0192e4: 7110 da02 0100 |0014: invoke-static {v1}, Ldnsfilter/android/DNSProxyActivity;.access$000:(Ljava/lang/String;)Landroid/text/Spanned; // method@02da │ │ +0192ea: 0c01 |0017: move-result-object v1 │ │ +0192ec: 6e20 0901 1000 |0018: invoke-virtual {v0, v1}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@0109 │ │ +0192f2: 6200 1d01 |001b: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.link_field:Landroid/widget/TextView; // field@011d │ │ +0192f6: 7100 9f00 0000 |001d: invoke-static {}, Landroid/text/method/LinkMovementMethod;.getInstance:()Landroid/text/method/MovementMethod; // method@009f │ │ +0192fc: 0c01 |0020: move-result-object v1 │ │ +0192fe: 6e20 0701 1000 |0021: invoke-virtual {v0, v1}, Landroid/widget/TextView;.setMovementMethod:(Landroid/text/method/MovementMethod;)V // method@0107 │ │ +019304: 6200 0e01 |0024: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.config:Ldnsfilter/ConfigUtil; // field@010e │ │ +019308: 1a01 fb06 |0026: const-string v1, "filterLogFormat" // string@06fb │ │ +01930c: 1a03 9500 |0028: const-string v3, "($CONTENT)" // string@0095 │ │ +019310: 6e30 3a01 1003 |002a: invoke-virtual {v0, v1, v3}, Ldnsfilter/ConfigUtil;.getConfigValue:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@013a │ │ +019316: 0c00 |002d: move-result-object v0 │ │ +019318: 6900 1701 |002e: sput-object v0, Ldnsfilter/android/DNSProxyActivity;.filterLogFormat:Ljava/lang/String; // field@0117 │ │ +01931c: 6200 0e01 |0030: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.config:Ldnsfilter/ConfigUtil; // field@010e │ │ +019320: 1a01 1c05 |0032: const-string v1, "acceptLogFormat" // string@051c │ │ +019324: 1a03 9400 |0034: const-string v3, "($CONTENT)" // string@0094 │ │ +019328: 6e30 3a01 1003 |0036: invoke-virtual {v0, v1, v3}, Ldnsfilter/ConfigUtil;.getConfigValue:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@013a │ │ +01932e: 0c00 |0039: move-result-object v0 │ │ +019330: 6900 fe00 |003a: sput-object v0, Ldnsfilter/android/DNSProxyActivity;.acceptLogFormat:Ljava/lang/String; // field@00fe │ │ +019334: 6200 0e01 |003c: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.config:Ldnsfilter/ConfigUtil; // field@010e │ │ +019338: 1a01 1e07 |003e: const-string v1, "fwdLogFormat" // string@071e │ │ +01933c: 1a03 9700 |0040: const-string v3, "($CONTENT)" // string@0097 │ │ +019340: 6e30 3a01 1003 |0042: invoke-virtual {v0, v1, v3}, Ldnsfilter/ConfigUtil;.getConfigValue:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@013a │ │ +019346: 0c00 |0045: move-result-object v0 │ │ +019348: 6900 1901 |0046: sput-object v0, Ldnsfilter/android/DNSProxyActivity;.fwdLogFormat:Ljava/lang/String; // field@0119 │ │ +01934c: 6200 0e01 |0048: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.config:Ldnsfilter/ConfigUtil; // field@010e │ │ +019350: 1a01 0509 |004a: const-string v1, "normalLogFormat" // string@0905 │ │ +019354: 1a03 4400 |004c: const-string v3, "($CONTENT)" // string@0044 │ │ +019358: 6e30 3a01 1003 |004e: invoke-virtual {v0, v1, v3}, Ldnsfilter/ConfigUtil;.getConfigValue:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@013a │ │ +01935e: 0c00 |0051: move-result-object v0 │ │ +019360: 6900 2501 |0052: sput-object v0, Ldnsfilter/android/DNSProxyActivity;.normalLogFormat:Ljava/lang/String; // field@0125 │ │ +019364: 6200 0e01 |0054: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.config:Ldnsfilter/ConfigUtil; // field@010e │ │ +019368: 1a01 c208 |0056: const-string v1, "logTextSize" // string@08c2 │ │ +01936c: 1a03 7300 |0058: const-string v3, "14" // string@0073 │ │ +019370: 6e30 3a01 1003 |005a: invoke-virtual {v0, v1, v3}, Ldnsfilter/ConfigUtil;.getConfigValue:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@013a │ │ +019376: 0c00 |005d: move-result-object v0 │ │ +019378: 7110 6705 0000 |005e: invoke-static {v0}, Ljava/lang/Integer;.parseInt:(Ljava/lang/String;)I // method@0567 │ │ +01937e: 0a00 |0061: move-result v0 │ │ +019380: 6201 2001 |0062: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.logOutView:Landroid/widget/EditText; // field@0120 │ │ +019384: 1223 |0064: const/4 v3, #int 2 // #2 │ │ +019386: 8200 |0065: int-to-float v0, v0 │ │ +019388: 6e30 e700 3100 |0066: invoke-virtual {v1, v3, v0}, Landroid/widget/EditText;.setTextSize:(IF)V // method@00e7 │ │ +01938e: 281b |0069: goto 0084 // +001b │ │ +019390: 0d00 |006a: move-exception v0 │ │ +019392: 7100 2707 0000 |006b: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0727 │ │ +019398: 0c01 |006e: move-result-object v1 │ │ +01939a: 2203 2d01 |006f: new-instance v3, Ljava/lang/StringBuilder; // type@012d │ │ +01939e: 1a04 7c01 |0071: const-string v4, "Error in log text size setting! " // string@017c │ │ +0193a2: 7020 aa05 4300 |0073: invoke-direct {v3, v4}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05aa │ │ +0193a8: 6e10 6105 0000 |0076: invoke-virtual {v0}, Ljava/lang/Exception;.toString:()Ljava/lang/String; // method@0561 │ │ +0193ae: 0c00 |0079: move-result-object v0 │ │ +0193b0: 6e20 af05 0300 |007a: invoke-virtual {v3, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +0193b6: 6e10 b105 0300 |007d: invoke-virtual {v3}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ +0193bc: 0c00 |0080: move-result-object v0 │ │ +0193be: 7220 3307 0100 |0081: invoke-interface {v1, v0}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0733 │ │ +0193c4: 6200 0e01 |0084: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.config:Ldnsfilter/ConfigUtil; // field@010e │ │ +0193c8: 6e10 3b01 0000 |0086: invoke-virtual {v0}, Ldnsfilter/ConfigUtil;.getConfiguredFilterLists:()[Ldnsfilter/ConfigUtil$HostFilterList; // method@013b │ │ +0193ce: 0c00 |0089: move-result-object v0 │ │ +0193d0: 6201 1601 |008a: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.filterCfg:Ldnsfilter/android/FilterConfig; // field@0116 │ │ +0193d4: 6e20 4803 0100 |008c: invoke-virtual {v1, v0}, Ldnsfilter/android/FilterConfig;.setEntries:([Ldnsfilter/ConfigUtil$HostFilterList;)V // method@0348 │ │ +0193da: 6200 1801 |008f: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.filterReloadIntervalView:Landroid/widget/EditText; // field@0118 │ │ +0193de: 6201 0e01 |0091: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.config:Ldnsfilter/ConfigUtil; // field@010e │ │ +0193e2: 1a03 db09 |0093: const-string v3, "reloadIntervalDays" // string@09db │ │ +0193e6: 1a04 7f00 |0095: const-string v4, "7" // string@007f │ │ +0193ea: 6e30 3a01 3104 |0097: invoke-virtual {v1, v3, v4}, Ldnsfilter/ConfigUtil;.getConfigValue:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@013a │ │ +0193f0: 0c01 |009a: move-result-object v1 │ │ +0193f2: 6e20 e600 1000 |009b: invoke-virtual {v0, v1}, Landroid/widget/EditText;.setText:(Ljava/lang/CharSequence;)V // method@00e6 │ │ +0193f8: 6200 1301 |009e: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.enableAdFilterCheck:Landroid/widget/CheckBox; // field@0113 │ │ +0193fc: 6201 0e01 |00a0: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.config:Ldnsfilter/ConfigUtil; // field@010e │ │ +019400: 1a03 e606 |00a2: const-string v3, "filterActive" // string@06e6 │ │ +019404: 1a04 420b |00a4: const-string v4, "true" // string@0b42 │ │ +019408: 6e30 3a01 3104 |00a6: invoke-virtual {v1, v3, v4}, Ldnsfilter/ConfigUtil;.getConfigValue:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@013a │ │ +01940e: 0c01 |00a9: move-result-object v1 │ │ +019410: 7110 4d05 0100 |00aa: invoke-static {v1}, Ljava/lang/Boolean;.parseBoolean:(Ljava/lang/String;)Z // method@054d │ │ +019416: 0a01 |00ad: move-result v1 │ │ +019418: 6e20 cd00 1000 |00ae: invoke-virtual {v0, v1}, Landroid/widget/CheckBox;.setChecked:(Z)V // method@00cd │ │ +01941e: 6200 1401 |00b1: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.enableAutoStartCheck:Landroid/widget/CheckBox; // field@0114 │ │ +019422: 6201 0e01 |00b3: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.config:Ldnsfilter/ConfigUtil; // field@010e │ │ +019426: 1a03 b200 |00b5: const-string v3, "AUTOSTART" // string@00b2 │ │ +01942a: 1a05 df06 |00b7: const-string v5, "false" // string@06df │ │ +01942e: 6e30 3a01 3105 |00b9: invoke-virtual {v1, v3, v5}, Ldnsfilter/ConfigUtil;.getConfigValue:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@013a │ │ +019434: 0c01 |00bc: move-result-object v1 │ │ +019436: 7110 4d05 0100 |00bd: invoke-static {v1}, Ljava/lang/Boolean;.parseBoolean:(Ljava/lang/String;)Z // method@054d │ │ +01943c: 0a01 |00c0: move-result v1 │ │ +01943e: 6e20 cd00 1000 |00c1: invoke-virtual {v0, v1}, Landroid/widget/CheckBox;.setChecked:(Z)V // method@00cd │ │ +019444: 6200 1501 |00c4: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.enableCloakProtectCheck:Landroid/widget/CheckBox; // field@0115 │ │ +019448: 6201 0e01 |00c6: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.config:Ldnsfilter/ConfigUtil; // field@010e │ │ +01944c: 1a03 c005 |00c8: const-string v3, "checkCNAME" // string@05c0 │ │ +019450: 6e30 3a01 3104 |00ca: invoke-virtual {v1, v3, v4}, Ldnsfilter/ConfigUtil;.getConfigValue:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@013a │ │ +019456: 0c01 |00cd: move-result-object v1 │ │ +019458: 7110 4d05 0100 |00ce: invoke-static {v1}, Ljava/lang/Boolean;.parseBoolean:(Ljava/lang/String;)Z // method@054d │ │ +01945e: 0a01 |00d1: move-result v1 │ │ +019460: 6e20 cd00 1000 |00d2: invoke-virtual {v0, v1}, Landroid/widget/CheckBox;.setChecked:(Z)V // method@00cd │ │ +019466: 6200 1c01 |00d5: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.keepAwakeCheck:Landroid/widget/CheckBox; // field@011c │ │ +01946a: 6201 0e01 |00d7: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.config:Ldnsfilter/ConfigUtil; // field@010e │ │ +01946e: 1a03 6805 |00d9: const-string v3, "androidKeepAwake" // string@0568 │ │ +019472: 6e30 3a01 3105 |00db: invoke-virtual {v1, v3, v5}, Ldnsfilter/ConfigUtil;.getConfigValue:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@013a │ │ +019478: 0c01 |00de: move-result-object v1 │ │ +01947a: 7110 4d05 0100 |00df: invoke-static {v1}, Ljava/lang/Boolean;.parseBoolean:(Ljava/lang/String;)Z // method@054d │ │ +019480: 0a01 |00e2: move-result v1 │ │ +019482: 6e20 cd00 1000 |00e3: invoke-virtual {v0, v1}, Landroid/widget/CheckBox;.setChecked:(Z)V // method@00cd │ │ +019488: 6200 2901 |00e6: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.proxyModeCheck:Landroid/widget/CheckBox; // field@0129 │ │ +01948c: 6201 0e01 |00e8: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.config:Ldnsfilter/ConfigUtil; // field@010e │ │ +019490: 1a03 6b06 |00ea: const-string v3, "dnsProxyOnAndroid" // string@066b │ │ +019494: 6e30 3a01 3105 |00ec: invoke-virtual {v1, v3, v5}, Ldnsfilter/ConfigUtil;.getConfigValue:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@013a │ │ +01949a: 0c01 |00ef: move-result-object v1 │ │ +01949c: 7110 4d05 0100 |00f0: invoke-static {v1}, Ljava/lang/Boolean;.parseBoolean:(Ljava/lang/String;)Z // method@054d │ │ +0194a2: 0a01 |00f3: move-result v1 │ │ +0194a4: 6e20 cd00 1000 |00f4: invoke-virtual {v0, v1}, Landroid/widget/CheckBox;.setChecked:(Z)V // method@00cd │ │ +0194aa: 6200 2801 |00f7: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.proxyLocalOnlyCheck:Landroid/widget/CheckBox; // field@0128 │ │ +0194ae: 6201 0e01 |00f9: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.config:Ldnsfilter/ConfigUtil; // field@010e │ │ +0194b2: 1a03 6d06 |00fb: const-string v3, "dnsProxyOnlyLocalRequests" // string@066d │ │ +0194b6: 6e30 3a01 3104 |00fd: invoke-virtual {v1, v3, v4}, Ldnsfilter/ConfigUtil;.getConfigValue:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@013a │ │ +0194bc: 0c01 |0100: move-result-object v1 │ │ +0194be: 7110 4d05 0100 |0101: invoke-static {v1}, Ljava/lang/Boolean;.parseBoolean:(Ljava/lang/String;)Z // method@054d │ │ +0194c4: 0a01 |0104: move-result v1 │ │ +0194c6: 6e20 cd00 1000 |0105: invoke-virtual {v0, v1}, Landroid/widget/CheckBox;.setChecked:(Z)V // method@00cd │ │ +0194cc: 6200 3001 |0108: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.rootModeCheck:Landroid/widget/CheckBox; // field@0130 │ │ +0194d0: 6201 0e01 |010a: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.config:Ldnsfilter/ConfigUtil; // field@010e │ │ +0194d4: 1a03 2a0a |010c: const-string v3, "rootModeOnAndroid" // string@0a2a │ │ +0194d8: 6e30 3a01 3105 |010e: invoke-virtual {v1, v3, v5}, Ldnsfilter/ConfigUtil;.getConfigValue:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@013a │ │ +0194de: 0c01 |0111: move-result-object v1 │ │ +0194e0: 7110 4d05 0100 |0112: invoke-static {v1}, Ljava/lang/Boolean;.parseBoolean:(Ljava/lang/String;)Z // method@054d │ │ +0194e6: 0a01 |0115: move-result v1 │ │ +0194e8: 6e20 cd00 1000 |0116: invoke-virtual {v0, v1}, Landroid/widget/CheckBox;.setChecked:(Z)V // method@00cd │ │ +0194ee: 6200 0401 |0119: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.appSelector:Ldnsfilter/android/AppSelectorView; // field@0104 │ │ +0194f2: 6201 0e01 |011b: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.config:Ldnsfilter/ConfigUtil; // field@010e │ │ +0194f6: 1a03 6705 |011d: const-string v3, "androidAppWhiteList" // string@0567 │ │ +0194fa: 6e30 3a01 3102 |011f: invoke-virtual {v1, v3, v2}, Ldnsfilter/ConfigUtil;.getConfigValue:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@013a │ │ +019500: 0c01 |0122: move-result-object v1 │ │ +019502: 6e20 5802 1000 |0123: invoke-virtual {v0, v1}, Ldnsfilter/android/AppSelectorView;.setSelectedApps:(Ljava/lang/String;)V // method@0258 │ │ +019508: 6200 ed00 |0126: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.CONFIG:Ldnsfilter/ConfigurationAccess; // field@00ed │ │ +01950c: 6e10 5701 0000 |0128: invoke-virtual {v0}, Ldnsfilter/ConfigurationAccess;.isLocal:()Z // method@0157 │ │ +019512: 0a00 |012b: move-result v0 │ │ +019514: 1201 |012c: const/4 v1, #int 0 // #0 │ │ +019516: 3900 1700 |012d: if-nez v0, 0144 // +0017 │ │ +01951a: 5460 d900 |012f: iget-object v0, v6, Ldnsfilter/android/DNSProxyActivity$3;.this$0:Ldnsfilter/android/DNSProxyActivity; // field@00d9 │ │ +01951e: 5400 2b01 |0131: iget-object v0, v0, Ldnsfilter/android/DNSProxyActivity;.remoteCtrlBtn:Landroid/widget/Button; // field@012b │ │ +019522: 5462 d900 |0133: iget-object v2, v6, Ldnsfilter/android/DNSProxyActivity$3;.this$0:Ldnsfilter/android/DNSProxyActivity; // field@00d9 │ │ +019526: 6e10 f802 0200 |0135: invoke-virtual {v2}, Ldnsfilter/android/DNSProxyActivity;.getResources:()Landroid/content/res/Resources; // method@02f8 │ │ +01952c: 0c02 |0138: move-result-object v2 │ │ +01952e: 1403 2b00 047f |0139: const v3, #float 1.75459e+38 // #7f04002b │ │ +019534: 6e20 5800 3200 |013c: invoke-virtual {v2, v3}, Landroid/content/res/Resources;.getDrawable:(I)Landroid/graphics/drawable/Drawable; // method@0058 │ │ +01953a: 0c02 |013f: move-result-object v2 │ │ +01953c: 6e51 c400 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@00c4 │ │ +019542: 2815 |0143: goto 0158 // +0015 │ │ +019544: 5460 d900 |0144: iget-object v0, v6, Ldnsfilter/android/DNSProxyActivity$3;.this$0:Ldnsfilter/android/DNSProxyActivity; // field@00d9 │ │ +019548: 5400 2b01 |0146: iget-object v0, v0, Ldnsfilter/android/DNSProxyActivity;.remoteCtrlBtn:Landroid/widget/Button; // field@012b │ │ +01954c: 5462 d900 |0148: iget-object v2, v6, Ldnsfilter/android/DNSProxyActivity$3;.this$0:Ldnsfilter/android/DNSProxyActivity; // field@00d9 │ │ +019550: 6e10 f802 0200 |014a: invoke-virtual {v2}, Ldnsfilter/android/DNSProxyActivity;.getResources:()Landroid/content/res/Resources; // method@02f8 │ │ +019556: 0c02 |014d: move-result-object v2 │ │ +019558: 1403 2c00 047f |014e: const v3, #float 1.75459e+38 // #7f04002c │ │ +01955e: 6e20 5800 3200 |0151: invoke-virtual {v2, v3}, Landroid/content/res/Resources;.getDrawable:(I)Landroid/graphics/drawable/Drawable; // method@0058 │ │ +019564: 0c02 |0154: move-result-object v2 │ │ +019566: 6e51 c400 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@00c4 │ │ +01956c: 1200 |0158: const/4 v0, #int 0 // #0 │ │ +01956e: 6a00 3801 |0159: sput-boolean v0, Ldnsfilter/android/DNSProxyActivity;.switchingConfig:Z // field@0138 │ │ +019572: 0e00 |015b: return-void │ │ catches : 1 │ │ 0x0054 - 0x0069 │ │ Ljava/lang/Exception; -> 0x006a │ │ positions : │ │ 0x0000 line=963 │ │ 0x000c line=964 │ │ 0x0010 line=965 │ │ @@ -15264,20 +15264,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 │ │ -019588: |[019588] dnsfilter.android.DNSProxyActivity$4.:(Ldnsfilter/android/DNSProxyActivity;Landroid/app/Dialog;Landroid/widget/Button;)V │ │ -019598: 5b01 da00 |0000: iput-object v1, v0, Ldnsfilter/android/DNSProxyActivity$4;.this$0:Ldnsfilter/android/DNSProxyActivity; // field@00da │ │ -01959c: 5b02 dc00 |0002: iput-object v2, v0, Ldnsfilter/android/DNSProxyActivity$4;.val$remoteConnectDialog:Landroid/app/Dialog; // field@00dc │ │ -0195a0: 5b03 db00 |0004: iput-object v3, v0, Ldnsfilter/android/DNSProxyActivity$4;.val$okBtn:Landroid/widget/Button; // field@00db │ │ -0195a4: 7010 7505 0000 |0006: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@0575 │ │ -0195aa: 0e00 |0009: return-void │ │ +019584: |[019584] dnsfilter.android.DNSProxyActivity$4.:(Ldnsfilter/android/DNSProxyActivity;Landroid/app/Dialog;Landroid/widget/Button;)V │ │ +019594: 5b01 da00 |0000: iput-object v1, v0, Ldnsfilter/android/DNSProxyActivity$4;.this$0:Ldnsfilter/android/DNSProxyActivity; // field@00da │ │ +019598: 5b02 dc00 |0002: iput-object v2, v0, Ldnsfilter/android/DNSProxyActivity$4;.val$remoteConnectDialog:Landroid/app/Dialog; // field@00dc │ │ +01959c: 5b03 db00 |0004: iput-object v3, v0, Ldnsfilter/android/DNSProxyActivity$4;.val$okBtn:Landroid/widget/Button; // field@00db │ │ +0195a0: 7010 7505 0000 |0006: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@0575 │ │ +0195a6: 0e00 |0009: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=1242 │ │ 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; │ │ @@ -15289,60 +15289,60 @@ │ │ type : '(Landroid/view/View;)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 5 │ │ ins : 2 │ │ outs : 3 │ │ insns size : 96 16-bit code units │ │ -0195ac: |[0195ac] dnsfilter.android.DNSProxyActivity$4.onClick:(Landroid/view/View;)V │ │ -0195bc: 5430 dc00 |0000: iget-object v0, v3, Ldnsfilter/android/DNSProxyActivity$4;.val$remoteConnectDialog:Landroid/app/Dialog; // field@00dc │ │ -0195c0: 6e10 1600 0000 |0002: invoke-virtual {v0}, Landroid/app/Dialog;.dismiss:()V // method@0016 │ │ -0195c6: 5430 db00 |0005: iget-object v0, v3, Ldnsfilter/android/DNSProxyActivity$4;.val$okBtn:Landroid/widget/Button; // field@00db │ │ -0195ca: 3304 5800 |0007: if-ne v4, v0, 005f // +0058 │ │ -0195ce: 5434 dc00 |0009: iget-object v4, v3, Ldnsfilter/android/DNSProxyActivity$4;.val$remoteConnectDialog:Landroid/app/Dialog; // field@00dc │ │ -0195d2: 1400 5100 057f |000b: const v0, #float 1.76789e+38 // #7f050051 │ │ -0195d8: 6e20 1700 0400 |000e: invoke-virtual {v4, v0}, Landroid/app/Dialog;.findViewById:(I)Landroid/view/View; // method@0017 │ │ -0195de: 0c04 |0011: move-result-object v4 │ │ -0195e0: 1f04 6700 |0012: check-cast v4, Landroid/widget/EditText; // type@0067 │ │ -0195e4: 6e10 da00 0400 |0014: invoke-virtual {v4}, Landroid/widget/EditText;.getText:()Landroid/text/Editable; // method@00da │ │ -0195ea: 0c04 |0017: move-result-object v4 │ │ -0195ec: 6e10 7a05 0400 |0018: invoke-virtual {v4}, Ljava/lang/Object;.toString:()Ljava/lang/String; // method@057a │ │ -0195f2: 0c04 |001b: move-result-object v4 │ │ -0195f4: 5430 dc00 |001c: iget-object v0, v3, Ldnsfilter/android/DNSProxyActivity$4;.val$remoteConnectDialog:Landroid/app/Dialog; // field@00dc │ │ -0195f8: 1401 4700 057f |001e: const v1, #float 1.76789e+38 // #7f050047 │ │ -0195fe: 6e20 1700 1000 |0021: invoke-virtual {v0, v1}, Landroid/app/Dialog;.findViewById:(I)Landroid/view/View; // method@0017 │ │ -019604: 0c00 |0024: move-result-object v0 │ │ -019606: 1f00 6700 |0025: check-cast v0, Landroid/widget/EditText; // type@0067 │ │ -01960a: 6e10 da00 0000 |0027: invoke-virtual {v0}, Landroid/widget/EditText;.getText:()Landroid/text/Editable; // method@00da │ │ -019610: 0c00 |002a: move-result-object v0 │ │ -019612: 6e10 7a05 0000 |002b: invoke-virtual {v0}, Ljava/lang/Object;.toString:()Ljava/lang/String; // method@057a │ │ -019618: 0c00 |002e: move-result-object v0 │ │ -01961a: 5431 da00 |002f: iget-object v1, v3, Ldnsfilter/android/DNSProxyActivity$4;.this$0:Ldnsfilter/android/DNSProxyActivity; // field@00da │ │ -01961e: 7130 df02 4100 |0031: invoke-static {v1, v4, v0}, Ldnsfilter/android/DNSProxyActivity;.access$500:(Ldnsfilter/android/DNSProxyActivity;Ljava/lang/String;Ljava/lang/String;)V // method@02df │ │ -019624: 5434 da00 |0034: iget-object v4, v3, Ldnsfilter/android/DNSProxyActivity$4;.this$0:Ldnsfilter/android/DNSProxyActivity; // field@00da │ │ -019628: 7110 e002 0400 |0036: invoke-static {v4}, Ldnsfilter/android/DNSProxyActivity;.access$600:(Ldnsfilter/android/DNSProxyActivity;)V // method@02e0 │ │ -01962e: 2826 |0039: goto 005f // +0026 │ │ -019630: 0d04 |003a: move-exception v4 │ │ -019632: 7100 2707 0000 |003b: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0727 │ │ -019638: 0c00 |003e: move-result-object v0 │ │ -01963a: 2201 2d01 |003f: new-instance v1, Ljava/lang/StringBuilder; // type@012d │ │ -01963e: 1a02 0001 |0041: const-string v2, "Cannot store remote connect configuration! " // string@0100 │ │ -019642: 7020 aa05 2100 |0043: invoke-direct {v1, v2}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05aa │ │ -019648: 6e10 6105 0400 |0046: invoke-virtual {v4}, Ljava/lang/Exception;.toString:()Ljava/lang/String; // method@0561 │ │ -01964e: 0c02 |0049: move-result-object v2 │ │ -019650: 6e20 af05 2100 |004a: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -019656: 6e10 b105 0100 |004d: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ -01965c: 0c01 |0050: move-result-object v1 │ │ -01965e: 7220 3307 1000 |0051: invoke-interface {v0, v1}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0733 │ │ -019664: 7100 2707 0000 |0054: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0727 │ │ -01966a: 0c00 |0057: move-result-object v0 │ │ -01966c: 6e10 5d05 0400 |0058: invoke-virtual {v4}, Ljava/lang/Exception;.getMessage:()Ljava/lang/String; // method@055d │ │ -019672: 0c04 |005b: move-result-object v4 │ │ -019674: 7220 3407 4000 |005c: invoke-interface {v0, v4}, Lutil/LoggerInterface;.message:(Ljava/lang/String;)V // method@0734 │ │ -01967a: 0e00 |005f: return-void │ │ +0195a8: |[0195a8] dnsfilter.android.DNSProxyActivity$4.onClick:(Landroid/view/View;)V │ │ +0195b8: 5430 dc00 |0000: iget-object v0, v3, Ldnsfilter/android/DNSProxyActivity$4;.val$remoteConnectDialog:Landroid/app/Dialog; // field@00dc │ │ +0195bc: 6e10 1600 0000 |0002: invoke-virtual {v0}, Landroid/app/Dialog;.dismiss:()V // method@0016 │ │ +0195c2: 5430 db00 |0005: iget-object v0, v3, Ldnsfilter/android/DNSProxyActivity$4;.val$okBtn:Landroid/widget/Button; // field@00db │ │ +0195c6: 3304 5800 |0007: if-ne v4, v0, 005f // +0058 │ │ +0195ca: 5434 dc00 |0009: iget-object v4, v3, Ldnsfilter/android/DNSProxyActivity$4;.val$remoteConnectDialog:Landroid/app/Dialog; // field@00dc │ │ +0195ce: 1400 5100 057f |000b: const v0, #float 1.76789e+38 // #7f050051 │ │ +0195d4: 6e20 1700 0400 |000e: invoke-virtual {v4, v0}, Landroid/app/Dialog;.findViewById:(I)Landroid/view/View; // method@0017 │ │ +0195da: 0c04 |0011: move-result-object v4 │ │ +0195dc: 1f04 6700 |0012: check-cast v4, Landroid/widget/EditText; // type@0067 │ │ +0195e0: 6e10 da00 0400 |0014: invoke-virtual {v4}, Landroid/widget/EditText;.getText:()Landroid/text/Editable; // method@00da │ │ +0195e6: 0c04 |0017: move-result-object v4 │ │ +0195e8: 6e10 7a05 0400 |0018: invoke-virtual {v4}, Ljava/lang/Object;.toString:()Ljava/lang/String; // method@057a │ │ +0195ee: 0c04 |001b: move-result-object v4 │ │ +0195f0: 5430 dc00 |001c: iget-object v0, v3, Ldnsfilter/android/DNSProxyActivity$4;.val$remoteConnectDialog:Landroid/app/Dialog; // field@00dc │ │ +0195f4: 1401 4700 057f |001e: const v1, #float 1.76789e+38 // #7f050047 │ │ +0195fa: 6e20 1700 1000 |0021: invoke-virtual {v0, v1}, Landroid/app/Dialog;.findViewById:(I)Landroid/view/View; // method@0017 │ │ +019600: 0c00 |0024: move-result-object v0 │ │ +019602: 1f00 6700 |0025: check-cast v0, Landroid/widget/EditText; // type@0067 │ │ +019606: 6e10 da00 0000 |0027: invoke-virtual {v0}, Landroid/widget/EditText;.getText:()Landroid/text/Editable; // method@00da │ │ +01960c: 0c00 |002a: move-result-object v0 │ │ +01960e: 6e10 7a05 0000 |002b: invoke-virtual {v0}, Ljava/lang/Object;.toString:()Ljava/lang/String; // method@057a │ │ +019614: 0c00 |002e: move-result-object v0 │ │ +019616: 5431 da00 |002f: iget-object v1, v3, Ldnsfilter/android/DNSProxyActivity$4;.this$0:Ldnsfilter/android/DNSProxyActivity; // field@00da │ │ +01961a: 7130 df02 4100 |0031: invoke-static {v1, v4, v0}, Ldnsfilter/android/DNSProxyActivity;.access$500:(Ldnsfilter/android/DNSProxyActivity;Ljava/lang/String;Ljava/lang/String;)V // method@02df │ │ +019620: 5434 da00 |0034: iget-object v4, v3, Ldnsfilter/android/DNSProxyActivity$4;.this$0:Ldnsfilter/android/DNSProxyActivity; // field@00da │ │ +019624: 7110 e002 0400 |0036: invoke-static {v4}, Ldnsfilter/android/DNSProxyActivity;.access$600:(Ldnsfilter/android/DNSProxyActivity;)V // method@02e0 │ │ +01962a: 2826 |0039: goto 005f // +0026 │ │ +01962c: 0d04 |003a: move-exception v4 │ │ +01962e: 7100 2707 0000 |003b: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0727 │ │ +019634: 0c00 |003e: move-result-object v0 │ │ +019636: 2201 2d01 |003f: new-instance v1, Ljava/lang/StringBuilder; // type@012d │ │ +01963a: 1a02 0001 |0041: const-string v2, "Cannot store remote connect configuration! " // string@0100 │ │ +01963e: 7020 aa05 2100 |0043: invoke-direct {v1, v2}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05aa │ │ +019644: 6e10 6105 0400 |0046: invoke-virtual {v4}, Ljava/lang/Exception;.toString:()Ljava/lang/String; // method@0561 │ │ +01964a: 0c02 |0049: move-result-object v2 │ │ +01964c: 6e20 af05 2100 |004a: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +019652: 6e10 b105 0100 |004d: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ +019658: 0c01 |0050: move-result-object v1 │ │ +01965a: 7220 3307 1000 |0051: invoke-interface {v0, v1}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0733 │ │ +019660: 7100 2707 0000 |0054: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0727 │ │ +019666: 0c00 |0057: move-result-object v0 │ │ +019668: 6e10 5d05 0400 |0058: invoke-virtual {v4}, Ljava/lang/Exception;.getMessage:()Ljava/lang/String; // method@055d │ │ +01966e: 0c04 |005b: move-result-object v4 │ │ +019670: 7220 3407 4000 |005c: invoke-interface {v0, v4}, Lutil/LoggerInterface;.message:(Ljava/lang/String;)V // method@0734 │ │ +019676: 0e00 |005f: return-void │ │ catches : 1 │ │ 0x0009 - 0x0034 │ │ Ljava/lang/Exception; -> 0x003a │ │ positions : │ │ 0x0000 line=1246 │ │ 0x0005 line=1247 │ │ 0x0009 line=1249 │ │ @@ -15404,21 +15404,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 │ │ -01968c: |[01968c] dnsfilter.android.DNSProxyActivity$5.:(Ldnsfilter/android/DNSProxyActivity;Ljava/lang/String;ILjava/lang/String;)V │ │ -01969c: 5b01 dd00 |0000: iput-object v1, v0, Ldnsfilter/android/DNSProxyActivity$5;.this$0:Ldnsfilter/android/DNSProxyActivity; // field@00dd │ │ -0196a0: 5b02 de00 |0002: iput-object v2, v0, Ldnsfilter/android/DNSProxyActivity$5;.val$host:Ljava/lang/String; // field@00de │ │ -0196a4: 5903 e000 |0004: iput v3, v0, Ldnsfilter/android/DNSProxyActivity$5;.val$port:I // field@00e0 │ │ -0196a8: 5b04 df00 |0006: iput-object v4, v0, Ldnsfilter/android/DNSProxyActivity$5;.val$keyphrase:Ljava/lang/String; // field@00df │ │ -0196ac: 7010 7505 0000 |0008: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@0575 │ │ -0196b2: 0e00 |000b: return-void │ │ +019688: |[019688] dnsfilter.android.DNSProxyActivity$5.:(Ldnsfilter/android/DNSProxyActivity;Ljava/lang/String;ILjava/lang/String;)V │ │ +019698: 5b01 dd00 |0000: iput-object v1, v0, Ldnsfilter/android/DNSProxyActivity$5;.this$0:Ldnsfilter/android/DNSProxyActivity; // field@00dd │ │ +01969c: 5b02 de00 |0002: iput-object v2, v0, Ldnsfilter/android/DNSProxyActivity$5;.val$host:Ljava/lang/String; // field@00de │ │ +0196a0: 5903 e000 |0004: iput v3, v0, Ldnsfilter/android/DNSProxyActivity$5;.val$port:I // field@00e0 │ │ +0196a4: 5b04 df00 |0006: iput-object v4, v0, Ldnsfilter/android/DNSProxyActivity$5;.val$keyphrase:Ljava/lang/String; // field@00df │ │ +0196a8: 7010 7505 0000 |0008: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@0575 │ │ +0196ae: 0e00 |000b: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=1317 │ │ 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; │ │ @@ -15431,63 +15431,63 @@ │ │ type : '()V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 6 │ │ ins : 1 │ │ outs : 4 │ │ insns size : 105 16-bit code units │ │ -0196b4: |[0196b4] dnsfilter.android.DNSProxyActivity$5.run:()V │ │ -0196c4: 5450 dd00 |0000: iget-object v0, v5, Ldnsfilter/android/DNSProxyActivity$5;.this$0:Ldnsfilter/android/DNSProxyActivity; // field@00dd │ │ -0196c8: 2201 2d01 |0002: new-instance v1, Ljava/lang/StringBuilder; // type@012d │ │ -0196cc: 1a02 0c01 |0004: const-string v2, "Connecting: " // string@010c │ │ -0196d0: 7020 aa05 2100 |0006: invoke-direct {v1, v2}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05aa │ │ -0196d6: 5452 de00 |0009: iget-object v2, v5, Ldnsfilter/android/DNSProxyActivity$5;.val$host:Ljava/lang/String; // field@00de │ │ -0196da: 6e20 af05 2100 |000b: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -0196e0: 1a02 8100 |000e: const-string v2, ":" // string@0081 │ │ -0196e4: 6e20 af05 2100 |0010: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -0196ea: 5252 e000 |0013: iget v2, v5, Ldnsfilter/android/DNSProxyActivity$5;.val$port:I // field@00e0 │ │ -0196ee: 6e20 ac05 2100 |0015: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@05ac │ │ -0196f4: 6e10 b105 0100 |0018: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ -0196fa: 0c01 |001b: move-result-object v1 │ │ -0196fc: 6e20 0b03 1000 |001c: invoke-virtual {v0, v1}, Ldnsfilter/android/DNSProxyActivity;.message:(Ljava/lang/String;)V // method@030b │ │ -019702: 7100 e102 0000 |001f: invoke-static {}, Ldnsfilter/android/DNSProxyActivity;.access$700:()Ldnsfilter/android/DNSProxyActivity$MsgTimeoutListener; // method@02e1 │ │ -019708: 0c00 |0022: move-result-object v0 │ │ -01970a: 1401 f049 0200 |0023: const v1, #float 2.10195e-40 // #000249f0 │ │ -019710: 7120 d102 1000 |0026: invoke-static {v0, v1}, Ldnsfilter/android/DNSProxyActivity$MsgTimeoutListener;.access$800:(Ldnsfilter/android/DNSProxyActivity$MsgTimeoutListener;I)V // method@02d1 │ │ -019716: 5450 dd00 |0029: iget-object v0, v5, Ldnsfilter/android/DNSProxyActivity$5;.this$0:Ldnsfilter/android/DNSProxyActivity; // field@00dd │ │ -01971a: 6201 2401 |002b: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.myLogger:Lutil/SuppressRepeatingsLogger; // field@0124 │ │ -01971e: 6e10 7707 0100 |002d: invoke-virtual {v1}, Lutil/SuppressRepeatingsLogger;.getNestedLogger:()Lutil/LoggerInterface; // method@0777 │ │ -019724: 0c01 |0030: move-result-object v1 │ │ -019726: 5452 de00 |0031: iget-object v2, v5, Ldnsfilter/android/DNSProxyActivity$5;.val$host:Ljava/lang/String; // field@00de │ │ -01972a: 5253 e000 |0033: iget v3, v5, Ldnsfilter/android/DNSProxyActivity$5;.val$port:I // field@00e0 │ │ -01972e: 5454 df00 |0035: iget-object v4, v5, Ldnsfilter/android/DNSProxyActivity$5;.val$keyphrase:Ljava/lang/String; // field@00df │ │ -019732: 7140 5401 2143 |0037: invoke-static {v1, v2, v3, v4}, Ldnsfilter/ConfigurationAccess;.getRemote:(Lutil/LoggerInterface;Ljava/lang/String;ILjava/lang/String;)Ldnsfilter/ConfigurationAccess; // method@0154 │ │ -019738: 0c01 |003a: move-result-object v1 │ │ -01973a: 7120 e202 1000 |003b: invoke-static {v0, v1}, Ldnsfilter/android/DNSProxyActivity;.access$900:(Ldnsfilter/android/DNSProxyActivity;Ldnsfilter/ConfigurationAccess;)V // method@02e2 │ │ -019740: 5450 dd00 |003e: iget-object v0, v5, Ldnsfilter/android/DNSProxyActivity$5;.this$0:Ldnsfilter/android/DNSProxyActivity; // field@00dd │ │ -019744: 7110 de02 0000 |0040: invoke-static {v0}, Ldnsfilter/android/DNSProxyActivity;.access$400:(Ldnsfilter/android/DNSProxyActivity;)V // method@02de │ │ -01974a: 2825 |0043: goto 0068 // +0025 │ │ -01974c: 0d00 |0044: move-exception v0 │ │ -01974e: 7100 2707 0000 |0045: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0727 │ │ -019754: 0c01 |0048: move-result-object v1 │ │ -019756: 2202 2d01 |0049: new-instance v2, Ljava/lang/StringBuilder; // type@012d │ │ -01975a: 1a03 3a04 |004b: const-string v3, "Remote connect failed!" // string@043a │ │ -01975e: 7020 aa05 3200 |004d: invoke-direct {v2, v3}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05aa │ │ -019764: 6e10 2605 0000 |0050: invoke-virtual {v0}, Ljava/io/IOException;.toString:()Ljava/lang/String; // method@0526 │ │ -01976a: 0c00 |0053: move-result-object v0 │ │ -01976c: 6e20 af05 0200 |0054: invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -019772: 6e10 b105 0200 |0057: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ -019778: 0c00 |005a: move-result-object v0 │ │ -01977a: 7220 3307 0100 |005b: invoke-interface {v1, v0}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0733 │ │ -019780: 5450 dd00 |005e: iget-object v0, v5, Ldnsfilter/android/DNSProxyActivity$5;.this$0:Ldnsfilter/android/DNSProxyActivity; // field@00dd │ │ -019784: 1a01 2c04 |0060: const-string v1, "Remote Connect Failed!" // string@042c │ │ -019788: 6e20 0b03 1000 |0062: invoke-virtual {v0, v1}, Ldnsfilter/android/DNSProxyActivity;.message:(Ljava/lang/String;)V // method@030b │ │ -01978e: 1200 |0065: const/4 v0, #int 0 // #0 │ │ -019790: 6a00 3801 |0066: sput-boolean v0, Ldnsfilter/android/DNSProxyActivity;.switchingConfig:Z // field@0138 │ │ -019794: 0e00 |0068: return-void │ │ +0196b0: |[0196b0] dnsfilter.android.DNSProxyActivity$5.run:()V │ │ +0196c0: 5450 dd00 |0000: iget-object v0, v5, Ldnsfilter/android/DNSProxyActivity$5;.this$0:Ldnsfilter/android/DNSProxyActivity; // field@00dd │ │ +0196c4: 2201 2d01 |0002: new-instance v1, Ljava/lang/StringBuilder; // type@012d │ │ +0196c8: 1a02 0c01 |0004: const-string v2, "Connecting: " // string@010c │ │ +0196cc: 7020 aa05 2100 |0006: invoke-direct {v1, v2}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05aa │ │ +0196d2: 5452 de00 |0009: iget-object v2, v5, Ldnsfilter/android/DNSProxyActivity$5;.val$host:Ljava/lang/String; // field@00de │ │ +0196d6: 6e20 af05 2100 |000b: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +0196dc: 1a02 8100 |000e: const-string v2, ":" // string@0081 │ │ +0196e0: 6e20 af05 2100 |0010: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +0196e6: 5252 e000 |0013: iget v2, v5, Ldnsfilter/android/DNSProxyActivity$5;.val$port:I // field@00e0 │ │ +0196ea: 6e20 ac05 2100 |0015: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@05ac │ │ +0196f0: 6e10 b105 0100 |0018: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ +0196f6: 0c01 |001b: move-result-object v1 │ │ +0196f8: 6e20 0b03 1000 |001c: invoke-virtual {v0, v1}, Ldnsfilter/android/DNSProxyActivity;.message:(Ljava/lang/String;)V // method@030b │ │ +0196fe: 7100 e102 0000 |001f: invoke-static {}, Ldnsfilter/android/DNSProxyActivity;.access$700:()Ldnsfilter/android/DNSProxyActivity$MsgTimeoutListener; // method@02e1 │ │ +019704: 0c00 |0022: move-result-object v0 │ │ +019706: 1401 f049 0200 |0023: const v1, #float 2.10195e-40 // #000249f0 │ │ +01970c: 7120 d102 1000 |0026: invoke-static {v0, v1}, Ldnsfilter/android/DNSProxyActivity$MsgTimeoutListener;.access$800:(Ldnsfilter/android/DNSProxyActivity$MsgTimeoutListener;I)V // method@02d1 │ │ +019712: 5450 dd00 |0029: iget-object v0, v5, Ldnsfilter/android/DNSProxyActivity$5;.this$0:Ldnsfilter/android/DNSProxyActivity; // field@00dd │ │ +019716: 6201 2401 |002b: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.myLogger:Lutil/SuppressRepeatingsLogger; // field@0124 │ │ +01971a: 6e10 7707 0100 |002d: invoke-virtual {v1}, Lutil/SuppressRepeatingsLogger;.getNestedLogger:()Lutil/LoggerInterface; // method@0777 │ │ +019720: 0c01 |0030: move-result-object v1 │ │ +019722: 5452 de00 |0031: iget-object v2, v5, Ldnsfilter/android/DNSProxyActivity$5;.val$host:Ljava/lang/String; // field@00de │ │ +019726: 5253 e000 |0033: iget v3, v5, Ldnsfilter/android/DNSProxyActivity$5;.val$port:I // field@00e0 │ │ +01972a: 5454 df00 |0035: iget-object v4, v5, Ldnsfilter/android/DNSProxyActivity$5;.val$keyphrase:Ljava/lang/String; // field@00df │ │ +01972e: 7140 5401 2143 |0037: invoke-static {v1, v2, v3, v4}, Ldnsfilter/ConfigurationAccess;.getRemote:(Lutil/LoggerInterface;Ljava/lang/String;ILjava/lang/String;)Ldnsfilter/ConfigurationAccess; // method@0154 │ │ +019734: 0c01 |003a: move-result-object v1 │ │ +019736: 7120 e202 1000 |003b: invoke-static {v0, v1}, Ldnsfilter/android/DNSProxyActivity;.access$900:(Ldnsfilter/android/DNSProxyActivity;Ldnsfilter/ConfigurationAccess;)V // method@02e2 │ │ +01973c: 5450 dd00 |003e: iget-object v0, v5, Ldnsfilter/android/DNSProxyActivity$5;.this$0:Ldnsfilter/android/DNSProxyActivity; // field@00dd │ │ +019740: 7110 de02 0000 |0040: invoke-static {v0}, Ldnsfilter/android/DNSProxyActivity;.access$400:(Ldnsfilter/android/DNSProxyActivity;)V // method@02de │ │ +019746: 2825 |0043: goto 0068 // +0025 │ │ +019748: 0d00 |0044: move-exception v0 │ │ +01974a: 7100 2707 0000 |0045: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0727 │ │ +019750: 0c01 |0048: move-result-object v1 │ │ +019752: 2202 2d01 |0049: new-instance v2, Ljava/lang/StringBuilder; // type@012d │ │ +019756: 1a03 3a04 |004b: const-string v3, "Remote connect failed!" // string@043a │ │ +01975a: 7020 aa05 3200 |004d: invoke-direct {v2, v3}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05aa │ │ +019760: 6e10 2605 0000 |0050: invoke-virtual {v0}, Ljava/io/IOException;.toString:()Ljava/lang/String; // method@0526 │ │ +019766: 0c00 |0053: move-result-object v0 │ │ +019768: 6e20 af05 0200 |0054: invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +01976e: 6e10 b105 0200 |0057: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ +019774: 0c00 |005a: move-result-object v0 │ │ +019776: 7220 3307 0100 |005b: invoke-interface {v1, v0}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0733 │ │ +01977c: 5450 dd00 |005e: iget-object v0, v5, Ldnsfilter/android/DNSProxyActivity$5;.this$0:Ldnsfilter/android/DNSProxyActivity; // field@00dd │ │ +019780: 1a01 2c04 |0060: const-string v1, "Remote Connect Failed!" // string@042c │ │ +019784: 6e20 0b03 1000 |0062: invoke-virtual {v0, v1}, Ldnsfilter/android/DNSProxyActivity;.message:(Ljava/lang/String;)V // method@030b │ │ +01978a: 1200 |0065: const/4 v0, #int 0 // #0 │ │ +01978c: 6a00 3801 |0066: sput-boolean v0, Ldnsfilter/android/DNSProxyActivity;.switchingConfig:Z // field@0138 │ │ +019790: 0e00 |0068: return-void │ │ catches : 1 │ │ 0x0029 - 0x0043 │ │ Ljava/io/IOException; -> 0x0044 │ │ positions : │ │ 0x0000 line=1321 │ │ 0x001f line=1322 │ │ 0x0029 line=1325 │ │ @@ -15543,20 +15543,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 │ │ -0197a8: |[0197a8] dnsfilter.android.DNSProxyActivity$6.:(Ldnsfilter/android/DNSProxyActivity;ILandroid/text/Spanned;)V │ │ -0197b8: 5b01 e100 |0000: iput-object v1, v0, Ldnsfilter/android/DNSProxyActivity$6;.this$0:Ldnsfilter/android/DNSProxyActivity; // field@00e1 │ │ -0197bc: 5902 e200 |0002: iput v2, v0, Ldnsfilter/android/DNSProxyActivity$6;.val$backgroundColor:I // field@00e2 │ │ -0197c0: 5b03 e300 |0004: iput-object v3, v0, Ldnsfilter/android/DNSProxyActivity$6;.val$msg:Landroid/text/Spanned; // field@00e3 │ │ -0197c4: 7010 7505 0000 |0006: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@0575 │ │ -0197ca: 0e00 |0009: return-void │ │ +0197a4: |[0197a4] dnsfilter.android.DNSProxyActivity$6.:(Ldnsfilter/android/DNSProxyActivity;ILandroid/text/Spanned;)V │ │ +0197b4: 5b01 e100 |0000: iput-object v1, v0, Ldnsfilter/android/DNSProxyActivity$6;.this$0:Ldnsfilter/android/DNSProxyActivity; // field@00e1 │ │ +0197b8: 5902 e200 |0002: iput v2, v0, Ldnsfilter/android/DNSProxyActivity$6;.val$backgroundColor:I // field@00e2 │ │ +0197bc: 5b03 e300 |0004: iput-object v3, v0, Ldnsfilter/android/DNSProxyActivity$6;.val$msg:Landroid/text/Spanned; // field@00e3 │ │ +0197c0: 7010 7505 0000 |0006: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@0575 │ │ +0197c6: 0e00 |0009: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=1640 │ │ locals : │ │ 0x0000 - 0x000a reg=0 this Ldnsfilter/android/DNSProxyActivity$6; │ │ 0x0000 - 0x000a reg=1 (null) Ldnsfilter/android/DNSProxyActivity; │ │ 0x0000 - 0x000a reg=2 (null) I │ │ @@ -15568,24 +15568,24 @@ │ │ type : '()V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 3 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 18 16-bit code units │ │ -0197cc: |[0197cc] dnsfilter.android.DNSProxyActivity$6.run:()V │ │ -0197dc: 6200 1d01 |0000: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.link_field:Landroid/widget/TextView; // field@011d │ │ -0197e0: 5221 e200 |0002: iget v1, v2, Ldnsfilter/android/DNSProxyActivity$6;.val$backgroundColor:I // field@00e2 │ │ -0197e4: 6e20 0501 1000 |0004: invoke-virtual {v0, v1}, Landroid/widget/TextView;.setBackgroundColor:(I)V // method@0105 │ │ -0197ea: 6200 1d01 |0007: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.link_field:Landroid/widget/TextView; // field@011d │ │ -0197ee: 5421 e300 |0009: iget-object v1, v2, Ldnsfilter/android/DNSProxyActivity$6;.val$msg:Landroid/text/Spanned; // field@00e3 │ │ -0197f2: 6e20 0901 1000 |000b: invoke-virtual {v0, v1}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@0109 │ │ -0197f8: 1210 |000e: const/4 v0, #int 1 // #1 │ │ -0197fa: 6a00 f500 |000f: sput-boolean v0, Ldnsfilter/android/DNSProxyActivity;.MSG_ACTIVE:Z // field@00f5 │ │ -0197fe: 0e00 |0011: return-void │ │ +0197c8: |[0197c8] dnsfilter.android.DNSProxyActivity$6.run:()V │ │ +0197d8: 6200 1d01 |0000: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.link_field:Landroid/widget/TextView; // field@011d │ │ +0197dc: 5221 e200 |0002: iget v1, v2, Ldnsfilter/android/DNSProxyActivity$6;.val$backgroundColor:I // field@00e2 │ │ +0197e0: 6e20 0501 1000 |0004: invoke-virtual {v0, v1}, Landroid/widget/TextView;.setBackgroundColor:(I)V // method@0105 │ │ +0197e6: 6200 1d01 |0007: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.link_field:Landroid/widget/TextView; // field@011d │ │ +0197ea: 5421 e300 |0009: iget-object v1, v2, Ldnsfilter/android/DNSProxyActivity$6;.val$msg:Landroid/text/Spanned; // field@00e3 │ │ +0197ee: 6e20 0901 1000 |000b: invoke-virtual {v0, v1}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@0109 │ │ +0197f4: 1210 |000e: const/4 v0, #int 1 // #1 │ │ +0197f6: 6a00 f500 |000f: sput-boolean v0, Ldnsfilter/android/DNSProxyActivity;.MSG_ACTIVE:Z // field@00f5 │ │ +0197fa: 0e00 |0011: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=1644 │ │ 0x0007 line=1645 │ │ 0x000f line=1646 │ │ locals : │ │ 0x0000 - 0x0012 reg=2 this Ldnsfilter/android/DNSProxyActivity$6; │ │ @@ -15625,18 +15625,18 @@ │ │ type : '(Ldnsfilter/android/DNSProxyActivity$7;)V' │ │ access : 0x10000 (CONSTRUCTOR) │ │ code - │ │ registers : 2 │ │ ins : 2 │ │ outs : 1 │ │ insns size : 6 16-bit code units │ │ -019800: |[019800] dnsfilter.android.DNSProxyActivity$7$1.:(Ldnsfilter/android/DNSProxyActivity$7;)V │ │ -019810: 5b01 e400 |0000: iput-object v1, v0, Ldnsfilter/android/DNSProxyActivity$7$1;.this$1:Ldnsfilter/android/DNSProxyActivity$7; // field@00e4 │ │ -019814: 7010 7505 0000 |0002: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@0575 │ │ -01981a: 0e00 |0005: return-void │ │ +0197fc: |[0197fc] dnsfilter.android.DNSProxyActivity$7$1.:(Ldnsfilter/android/DNSProxyActivity$7;)V │ │ +01980c: 5b01 e400 |0000: iput-object v1, v0, Ldnsfilter/android/DNSProxyActivity$7$1;.this$1:Ldnsfilter/android/DNSProxyActivity$7; // field@00e4 │ │ +019810: 7010 7505 0000 |0002: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@0575 │ │ +019816: 0e00 |0005: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=1805 │ │ locals : │ │ 0x0000 - 0x0006 reg=0 this Ldnsfilter/android/DNSProxyActivity$7$1; │ │ 0x0000 - 0x0006 reg=1 (null) Ldnsfilter/android/DNSProxyActivity$7; │ │ │ │ @@ -15646,34 +15646,34 @@ │ │ type : '()V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 3 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 37 16-bit code units │ │ -01981c: |[01981c] dnsfilter.android.DNSProxyActivity$7$1.run:()V │ │ -01982c: 5420 e400 |0000: iget-object v0, v2, Ldnsfilter/android/DNSProxyActivity$7$1;.this$1:Ldnsfilter/android/DNSProxyActivity$7; // field@00e4 │ │ -019830: 5400 e500 |0002: iget-object v0, v0, Ldnsfilter/android/DNSProxyActivity$7;.this$0:Ldnsfilter/android/DNSProxyActivity; // field@00e5 │ │ -019834: 1211 |0004: const/4 v1, #int 1 // #1 │ │ -019836: 7120 dc02 1000 |0005: invoke-static {v0, v1}, Ldnsfilter/android/DNSProxyActivity;.access$1000:(Ldnsfilter/android/DNSProxyActivity;Z)Ljava/lang/String; // method@02dc │ │ -01983c: 0c00 |0008: move-result-object v0 │ │ -01983e: 6001 f700 |0009: sget v1, Ldnsfilter/android/DNSProxyActivity;.NO_ACTION_MENU:I // field@00f7 │ │ -019842: 3a01 1900 |000b: if-ltz v1, 0024 // +0019 │ │ -019846: 1a01 0000 |000d: const-string v1, "" // string@0000 │ │ -01984a: 6e20 8d05 1000 |000f: invoke-virtual {v0, v1}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058d │ │ -019850: 0a00 |0012: move-result v0 │ │ -019852: 3900 1100 |0013: if-nez v0, 0024 // +0011 │ │ -019856: 5420 e400 |0015: iget-object v0, v2, Ldnsfilter/android/DNSProxyActivity$7$1;.this$1:Ldnsfilter/android/DNSProxyActivity$7; // field@00e4 │ │ -01985a: 5400 e500 |0017: iget-object v0, v0, Ldnsfilter/android/DNSProxyActivity$7;.this$0:Ldnsfilter/android/DNSProxyActivity; // field@00e5 │ │ -01985e: 1401 1900 057f |0019: const v1, #float 1.76788e+38 // #7f050019 │ │ -019864: 6e20 f102 1000 |001c: invoke-virtual {v0, v1}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02f1 │ │ -01986a: 0c00 |001f: move-result-object v0 │ │ -01986c: 1201 |0020: const/4 v1, #int 0 // #0 │ │ -01986e: 6e20 b400 1000 |0021: invoke-virtual {v0, v1}, Landroid/view/View;.setVisibility:(I)V // method@00b4 │ │ -019874: 0e00 |0024: return-void │ │ +019818: |[019818] dnsfilter.android.DNSProxyActivity$7$1.run:()V │ │ +019828: 5420 e400 |0000: iget-object v0, v2, Ldnsfilter/android/DNSProxyActivity$7$1;.this$1:Ldnsfilter/android/DNSProxyActivity$7; // field@00e4 │ │ +01982c: 5400 e500 |0002: iget-object v0, v0, Ldnsfilter/android/DNSProxyActivity$7;.this$0:Ldnsfilter/android/DNSProxyActivity; // field@00e5 │ │ +019830: 1211 |0004: const/4 v1, #int 1 // #1 │ │ +019832: 7120 dc02 1000 |0005: invoke-static {v0, v1}, Ldnsfilter/android/DNSProxyActivity;.access$1000:(Ldnsfilter/android/DNSProxyActivity;Z)Ljava/lang/String; // method@02dc │ │ +019838: 0c00 |0008: move-result-object v0 │ │ +01983a: 6001 f700 |0009: sget v1, Ldnsfilter/android/DNSProxyActivity;.NO_ACTION_MENU:I // field@00f7 │ │ +01983e: 3a01 1900 |000b: if-ltz v1, 0024 // +0019 │ │ +019842: 1a01 0000 |000d: const-string v1, "" // string@0000 │ │ +019846: 6e20 8d05 1000 |000f: invoke-virtual {v0, v1}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058d │ │ +01984c: 0a00 |0012: move-result v0 │ │ +01984e: 3900 1100 |0013: if-nez v0, 0024 // +0011 │ │ +019852: 5420 e400 |0015: iget-object v0, v2, Ldnsfilter/android/DNSProxyActivity$7$1;.this$1:Ldnsfilter/android/DNSProxyActivity$7; // field@00e4 │ │ +019856: 5400 e500 |0017: iget-object v0, v0, Ldnsfilter/android/DNSProxyActivity$7;.this$0:Ldnsfilter/android/DNSProxyActivity; // field@00e5 │ │ +01985a: 1401 1900 057f |0019: const v1, #float 1.76788e+38 // #7f050019 │ │ +019860: 6e20 f102 1000 |001c: invoke-virtual {v0, v1}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02f1 │ │ +019866: 0c00 |001f: move-result-object v0 │ │ +019868: 1201 |0020: const/4 v1, #int 0 // #0 │ │ +01986a: 6e20 b400 1000 |0021: invoke-virtual {v0, v1}, Landroid/view/View;.setVisibility:(I)V // method@00b4 │ │ +019870: 0e00 |0024: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=1807 │ │ 0x0009 line=1808 │ │ 0x0015 line=1809 │ │ locals : │ │ 0x0000 - 0x0025 reg=2 this Ldnsfilter/android/DNSProxyActivity$7$1; │ │ @@ -15713,18 +15713,18 @@ │ │ type : '(Ldnsfilter/android/DNSProxyActivity;)V' │ │ access : 0x10000 (CONSTRUCTOR) │ │ code - │ │ registers : 2 │ │ ins : 2 │ │ outs : 1 │ │ insns size : 6 16-bit code units │ │ -019878: |[019878] dnsfilter.android.DNSProxyActivity$7.:(Ldnsfilter/android/DNSProxyActivity;)V │ │ -019888: 5b01 e500 |0000: iput-object v1, v0, Ldnsfilter/android/DNSProxyActivity$7;.this$0:Ldnsfilter/android/DNSProxyActivity; // field@00e5 │ │ -01988c: 7010 7505 0000 |0002: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@0575 │ │ -019892: 0e00 |0005: return-void │ │ +019874: |[019874] dnsfilter.android.DNSProxyActivity$7.:(Ldnsfilter/android/DNSProxyActivity;)V │ │ +019884: 5b01 e500 |0000: iput-object v1, v0, Ldnsfilter/android/DNSProxyActivity$7;.this$0:Ldnsfilter/android/DNSProxyActivity; // field@00e5 │ │ +019888: 7010 7505 0000 |0002: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@0575 │ │ +01988e: 0e00 |0005: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=1797 │ │ locals : │ │ 0x0000 - 0x0006 reg=0 this Ldnsfilter/android/DNSProxyActivity$7; │ │ 0x0000 - 0x0006 reg=1 (null) Ldnsfilter/android/DNSProxyActivity; │ │ │ │ @@ -15734,31 +15734,31 @@ │ │ type : '()V' │ │ access : 0x20001 (PUBLIC DECLARED_SYNCHRONIZED) │ │ code - │ │ registers : 3 │ │ ins : 1 │ │ outs : 3 │ │ insns size : 27 16-bit code units │ │ -019894: |[019894] dnsfilter.android.DNSProxyActivity$7.run:()V │ │ -0198a4: 1d02 |0000: monitor-enter v2 │ │ -0198a6: 1600 e803 |0001: const-wide/16 v0, #int 1000 // #3e8 │ │ -0198aa: 6e30 7c05 0201 |0003: invoke-virtual {v2, v0, v1}, Ljava/lang/Object;.wait:(J)V // method@057c │ │ -0198b0: 2807 |0006: goto 000d // +0007 │ │ -0198b2: 0d00 |0007: move-exception v0 │ │ -0198b4: 2811 |0008: goto 0019 // +0011 │ │ -0198b6: 0d00 |0009: move-exception v0 │ │ -0198b8: 6e10 6b05 0000 |000a: invoke-virtual {v0}, Ljava/lang/InterruptedException;.printStackTrace:()V // method@056b │ │ -0198be: 2200 ac00 |000d: new-instance v0, Ldnsfilter/android/DNSProxyActivity$7$1; // type@00ac │ │ -0198c2: 7020 cb02 2000 |000f: invoke-direct {v0, v2}, Ldnsfilter/android/DNSProxyActivity$7$1;.:(Ldnsfilter/android/DNSProxyActivity$7;)V // method@02cb │ │ -0198c8: 5421 e500 |0012: iget-object v1, v2, Ldnsfilter/android/DNSProxyActivity$7;.this$0:Ldnsfilter/android/DNSProxyActivity; // field@00e5 │ │ -0198cc: 6e20 2c03 0100 |0014: invoke-virtual {v1, v0}, Ldnsfilter/android/DNSProxyActivity;.runOnUiThread:(Ljava/lang/Runnable;)V // method@032c │ │ -0198d2: 1e02 |0017: monitor-exit v2 │ │ -0198d4: 0e00 |0018: return-void │ │ -0198d6: 1e02 |0019: monitor-exit v2 │ │ -0198d8: 2700 |001a: throw v0 │ │ +019890: |[019890] dnsfilter.android.DNSProxyActivity$7.run:()V │ │ +0198a0: 1d02 |0000: monitor-enter v2 │ │ +0198a2: 1600 e803 |0001: const-wide/16 v0, #int 1000 // #3e8 │ │ +0198a6: 6e30 7c05 0201 |0003: invoke-virtual {v2, v0, v1}, Ljava/lang/Object;.wait:(J)V // method@057c │ │ +0198ac: 2807 |0006: goto 000d // +0007 │ │ +0198ae: 0d00 |0007: move-exception v0 │ │ +0198b0: 2811 |0008: goto 0019 // +0011 │ │ +0198b2: 0d00 |0009: move-exception v0 │ │ +0198b4: 6e10 6b05 0000 |000a: invoke-virtual {v0}, Ljava/lang/InterruptedException;.printStackTrace:()V // method@056b │ │ +0198ba: 2200 ac00 |000d: new-instance v0, Ldnsfilter/android/DNSProxyActivity$7$1; // type@00ac │ │ +0198be: 7020 cb02 2000 |000f: invoke-direct {v0, v2}, Ldnsfilter/android/DNSProxyActivity$7$1;.:(Ldnsfilter/android/DNSProxyActivity$7;)V // method@02cb │ │ +0198c4: 5421 e500 |0012: iget-object v1, v2, Ldnsfilter/android/DNSProxyActivity$7;.this$0:Ldnsfilter/android/DNSProxyActivity; // field@00e5 │ │ +0198c8: 6e20 2c03 0100 |0014: invoke-virtual {v1, v0}, Ldnsfilter/android/DNSProxyActivity;.runOnUiThread:(Ljava/lang/Runnable;)V // method@032c │ │ +0198ce: 1e02 |0017: monitor-exit v2 │ │ +0198d0: 0e00 |0018: return-void │ │ +0198d2: 1e02 |0019: monitor-exit v2 │ │ +0198d4: 2700 |001a: throw v0 │ │ catches : 2 │ │ 0x0003 - 0x0006 │ │ Ljava/lang/InterruptedException; -> 0x0009 │ │ -> 0x0007 │ │ 0x000a - 0x0017 │ │ -> 0x0007 │ │ positions : │ │ @@ -15809,19 +15809,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 │ │ -019a44: |[019a44] dnsfilter.android.DNSProxyActivity$MyUIThreadLogger.:(Ldnsfilter/android/DNSProxyActivity;Ljava/lang/String;)V │ │ -019a54: 5b01 e900 |0000: iput-object v1, v0, Ldnsfilter/android/DNSProxyActivity$MyUIThreadLogger;.this$0:Ldnsfilter/android/DNSProxyActivity; // field@00e9 │ │ -019a58: 7010 7505 0000 |0002: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@0575 │ │ -019a5e: 5b02 e800 |0005: iput-object v2, v0, Ldnsfilter/android/DNSProxyActivity$MyUIThreadLogger;.m_logStr:Ljava/lang/String; // field@00e8 │ │ -019a62: 0e00 |0007: return-void │ │ +019a40: |[019a40] dnsfilter.android.DNSProxyActivity$MyUIThreadLogger.:(Ldnsfilter/android/DNSProxyActivity;Ljava/lang/String;)V │ │ +019a50: 5b01 e900 |0000: iput-object v1, v0, Ldnsfilter/android/DNSProxyActivity$MyUIThreadLogger;.this$0:Ldnsfilter/android/DNSProxyActivity; // field@00e9 │ │ +019a54: 7010 7505 0000 |0002: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@0575 │ │ +019a5a: 5b02 e800 |0005: iput-object v2, v0, Ldnsfilter/android/DNSProxyActivity$MyUIThreadLogger;.m_logStr:Ljava/lang/String; // field@00e8 │ │ +019a5e: 0e00 |0007: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=277 │ │ 0x0005 line=278 │ │ locals : │ │ 0x0000 - 0x0008 reg=0 this Ldnsfilter/android/DNSProxyActivity$MyUIThreadLogger; │ │ 0x0000 - 0x0008 reg=1 (null) Ldnsfilter/android/DNSProxyActivity; │ │ @@ -15833,134 +15833,134 @@ │ │ type : '()V' │ │ access : 0x20001 (PUBLIC DECLARED_SYNCHRONIZED) │ │ code - │ │ registers : 7 │ │ ins : 1 │ │ outs : 3 │ │ insns size : 244 16-bit code units │ │ -019a64: |[019a64] dnsfilter.android.DNSProxyActivity$MyUIThreadLogger.run:()V │ │ -019a74: 1d06 |0000: monitor-enter v6 │ │ -019a76: 6300 3301 |0001: sget-boolean v0, Ldnsfilter/android/DNSProxyActivity;.scroll_locked:Z // field@0133 │ │ -019a7a: 3900 7d00 |0003: if-nez v0, 0080 // +007d │ │ -019a7e: 5460 e800 |0005: iget-object v0, v6, Ldnsfilter/android/DNSProxyActivity$MyUIThreadLogger;.m_logStr:Ljava/lang/String; // field@00e8 │ │ -019a82: 1a01 9c01 |0007: const-string v1, "FILTERED:" // string@019c │ │ -019a86: 6202 f300 |0009: sget-object v2, Ldnsfilter/android/DNSProxyActivity;.IN_FILTER_PREF:Ljava/lang/String; // field@00f3 │ │ -019a8a: 6e30 9705 1002 |000b: invoke-virtual {v0, v1, v2}, Ljava/lang/String;.replace:(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String; // method@0597 │ │ -019a90: 0c00 |000e: move-result-object v0 │ │ -019a92: 5b60 e800 |000f: iput-object v0, v6, Ldnsfilter/android/DNSProxyActivity$MyUIThreadLogger;.m_logStr:Ljava/lang/String; // field@00e8 │ │ -019a96: 1a01 ad00 |0011: const-string v1, "ALLOWED:" // string@00ad │ │ -019a9a: 6202 f800 |0013: sget-object v2, Ldnsfilter/android/DNSProxyActivity;.NO_FILTER_PREF:Ljava/lang/String; // field@00f8 │ │ -019a9e: 6e30 9705 1002 |0015: invoke-virtual {v0, v1, v2}, Ljava/lang/String;.replace:(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String; // method@0597 │ │ -019aa4: 0c00 |0018: move-result-object v0 │ │ -019aa6: 5b60 e800 |0019: iput-object v0, v6, Ldnsfilter/android/DNSProxyActivity$MyUIThreadLogger;.m_logStr:Ljava/lang/String; // field@00e8 │ │ -019aaa: 1a01 cf03 |001b: const-string v1, "MAPPED_CUSTOM_IP:" // string@03cf │ │ -019aae: 6202 f400 |001d: sget-object v2, Ldnsfilter/android/DNSProxyActivity;.IP_FORWARD_PREF:Ljava/lang/String; // field@00f4 │ │ -019ab2: 6e30 9705 1002 |001f: invoke-virtual {v0, v1, v2}, Ljava/lang/String;.replace:(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String; // method@0597 │ │ -019ab8: 0c00 |0022: move-result-object v0 │ │ -019aba: 5b60 e800 |0023: iput-object v0, v6, Ldnsfilter/android/DNSProxyActivity$MyUIThreadLogger;.m_logStr:Ljava/lang/String; // field@00e8 │ │ -019abe: 5461 e900 |0025: iget-object v1, v6, Ldnsfilter/android/DNSProxyActivity$MyUIThreadLogger;.this$0:Ldnsfilter/android/DNSProxyActivity; // field@00e9 │ │ -019ac2: 7120 dd02 0100 |0027: invoke-static {v1, v0}, Ldnsfilter/android/DNSProxyActivity;.access$300:(Ldnsfilter/android/DNSProxyActivity;Ljava/lang/String;)V // method@02dd │ │ -019ac8: 6200 2001 |002a: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.logOutView:Landroid/widget/EditText; // field@0120 │ │ -019acc: 6e10 da00 0000 |002c: invoke-virtual {v0}, Landroid/widget/EditText;.getText:()Landroid/text/Editable; // method@00da │ │ -019ad2: 0c00 |002f: move-result-object v0 │ │ -019ad4: 7210 9900 0000 |0030: invoke-interface {v0}, Landroid/text/Editable;.length:()I // method@0099 │ │ -019ada: 0a00 |0033: move-result v0 │ │ -019adc: 1301 1027 |0034: const/16 v1, #int 10000 // #2710 │ │ -019ae0: 3410 2a00 |0036: if-lt v0, v1, 0060 // +002a │ │ -019ae4: 6201 2001 |0038: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.logOutView:Landroid/widget/EditText; // field@0120 │ │ -019ae8: 6e10 da00 0100 |003a: invoke-virtual {v1}, Landroid/widget/EditText;.getText:()Landroid/text/Editable; // method@00da │ │ -019aee: 0c01 |003d: move-result-object v1 │ │ -019af0: db00 0002 |003e: div-int/lit8 v0, v0, #int 2 // #02 │ │ -019af4: 7220 9c00 0100 |0040: invoke-interface {v1, v0}, Landroid/text/Spannable;.charAt:(I)C // method@009c │ │ -019afa: 0a02 |0043: move-result v2 │ │ -019afc: 1303 0a00 |0044: const/16 v3, #int 10 // #a │ │ -019b00: 3232 0d00 |0046: if-eq v2, v3, 0053 // +000d │ │ -019b04: 7210 9d00 0100 |0048: invoke-interface {v1}, Landroid/text/Spannable;.length:()I // method@009d │ │ -019b0a: 0a02 |004b: move-result v2 │ │ -019b0c: d802 02ff |004c: add-int/lit8 v2, v2, #int -1 // #ff │ │ -019b10: 3520 0500 |004e: if-ge v0, v2, 0053 // +0005 │ │ -019b14: d800 0001 |0050: add-int/lit8 v0, v0, #int 1 // #01 │ │ -019b18: 28ee |0052: goto 0040 // -0012 │ │ -019b1a: 6202 2001 |0053: sget-object v2, Ldnsfilter/android/DNSProxyActivity;.logOutView:Landroid/widget/EditText; // field@0120 │ │ -019b1e: 7210 9d00 0100 |0055: invoke-interface {v1}, Landroid/text/Spannable;.length:()I // method@009d │ │ -019b24: 0a03 |0058: move-result v3 │ │ -019b26: 7230 9e00 0103 |0059: invoke-interface {v1, v0, v3}, Landroid/text/Spannable;.subSequence:(II)Ljava/lang/CharSequence; // method@009e │ │ -019b2c: 0c00 |005c: move-result-object v0 │ │ -019b2e: 6e20 e600 0200 |005d: invoke-virtual {v2, v0}, Landroid/widget/EditText;.setText:(Ljava/lang/CharSequence;)V // method@00e6 │ │ -019b34: 6200 0301 |0060: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.advancedConfigCheck:Landroid/widget/CheckBox; // field@0103 │ │ -019b38: 6e10 cc00 0000 |0062: invoke-virtual {v0}, Landroid/widget/CheckBox;.isChecked:()Z // method@00cc │ │ -019b3e: 0a00 |0065: move-result v0 │ │ -019b40: 3900 1a00 |0066: if-nez v0, 0080 // +001a │ │ -019b44: 6200 2001 |0068: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.logOutView:Landroid/widget/EditText; // field@0120 │ │ -019b48: 6201 2001 |006a: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.logOutView:Landroid/widget/EditText; // field@0120 │ │ -019b4c: 6e10 da00 0100 |006c: invoke-virtual {v1}, Landroid/widget/EditText;.getText:()Landroid/text/Editable; // method@00da │ │ -019b52: 0c01 |006f: move-result-object v1 │ │ -019b54: 7210 9900 0100 |0070: invoke-interface {v1}, Landroid/text/Editable;.length:()I // method@0099 │ │ -019b5a: 0a01 |0073: move-result v1 │ │ -019b5c: 6e20 e400 1000 |0074: invoke-virtual {v0, v1}, Landroid/widget/EditText;.setSelection:(I)V // method@00e4 │ │ -019b62: 5460 e900 |0077: iget-object v0, v6, Ldnsfilter/android/DNSProxyActivity$MyUIThreadLogger;.this$0:Ldnsfilter/android/DNSProxyActivity; // field@00e9 │ │ -019b66: 5400 3201 |0079: iget-object v0, v0, Ldnsfilter/android/DNSProxyActivity;.scrollView:Landroid/widget/ScrollView; // field@0132 │ │ -019b6a: 1301 8200 |007b: const/16 v1, #int 130 // #82 │ │ -019b6e: 6e20 f400 1000 |007d: invoke-virtual {v0, v1}, Landroid/widget/ScrollView;.fullScroll:(I)Z // method@00f4 │ │ -019b74: 1a00 9d00 |0080: const-string v0, "" // string@009d │ │ -019b78: 1a01 5800 |0082: const-string v1, "-1" // string@0058 │ │ -019b7c: 1a02 9d00 |0084: const-string v2, "" // string@009d │ │ -019b80: 6203 ed00 |0086: sget-object v3, Ldnsfilter/android/DNSProxyActivity;.CONFIG:Ldnsfilter/ConfigurationAccess; // field@00ed │ │ -019b84: 6e10 5501 0300 |0088: invoke-virtual {v3}, Ldnsfilter/ConfigurationAccess;.getVersion:()Ljava/lang/String; // method@0155 │ │ -019b8a: 0c00 |008b: move-result-object v0 │ │ -019b8c: 2203 2d01 |008c: new-instance v3, Ljava/lang/StringBuilder; // type@012d │ │ -019b90: 7010 a905 0300 |008e: invoke-direct {v3}, Ljava/lang/StringBuilder;.:()V // method@05a9 │ │ -019b96: 6204 ed00 |0091: sget-object v4, Ldnsfilter/android/DNSProxyActivity;.CONFIG:Ldnsfilter/ConfigurationAccess; // field@00ed │ │ -019b9a: 6e10 5801 0400 |0093: invoke-virtual {v4}, Ldnsfilter/ConfigurationAccess;.openConnectionsCount:()I // method@0158 │ │ -019ba0: 0a04 |0096: move-result v4 │ │ -019ba2: 6e20 ac05 4300 |0097: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@05ac │ │ -019ba8: 1a04 0000 |009a: const-string v4, "" // string@0000 │ │ -019bac: 6e20 af05 4300 |009c: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -019bb2: 6e10 b105 0300 |009f: invoke-virtual {v3}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ -019bb8: 0c01 |00a2: move-result-object v1 │ │ -019bba: 6203 ed00 |00a3: sget-object v3, Ldnsfilter/android/DNSProxyActivity;.CONFIG:Ldnsfilter/ConfigurationAccess; // field@00ed │ │ -019bbe: 6e10 5201 0300 |00a5: invoke-virtual {v3}, Ldnsfilter/ConfigurationAccess;.getLastDNSAddress:()Ljava/lang/String; // method@0152 │ │ -019bc4: 0c02 |00a8: move-result-object v2 │ │ -019bc6: 281c |00a9: goto 00c5 // +001c │ │ -019bc8: 0d03 |00aa: move-exception v3 │ │ -019bca: 5464 e900 |00ab: iget-object v4, v6, Ldnsfilter/android/DNSProxyActivity$MyUIThreadLogger;.this$0:Ldnsfilter/android/DNSProxyActivity; // field@00e9 │ │ -019bce: 2205 2d01 |00ad: new-instance v5, Ljava/lang/StringBuilder; // type@012d │ │ -019bd2: 7010 a905 0500 |00af: invoke-direct {v5}, Ljava/lang/StringBuilder;.:()V // method@05a9 │ │ -019bd8: 6e10 2605 0300 |00b2: invoke-virtual {v3}, Ljava/io/IOException;.toString:()Ljava/lang/String; // method@0526 │ │ -019bde: 0c03 |00b5: move-result-object v3 │ │ -019be0: 6e20 af05 3500 |00b6: invoke-virtual {v5, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -019be6: 1a03 0200 |00b9: const-string v3, " │ │ +019a60: |[019a60] dnsfilter.android.DNSProxyActivity$MyUIThreadLogger.run:()V │ │ +019a70: 1d06 |0000: monitor-enter v6 │ │ +019a72: 6300 3301 |0001: sget-boolean v0, Ldnsfilter/android/DNSProxyActivity;.scroll_locked:Z // field@0133 │ │ +019a76: 3900 7d00 |0003: if-nez v0, 0080 // +007d │ │ +019a7a: 5460 e800 |0005: iget-object v0, v6, Ldnsfilter/android/DNSProxyActivity$MyUIThreadLogger;.m_logStr:Ljava/lang/String; // field@00e8 │ │ +019a7e: 1a01 9c01 |0007: const-string v1, "FILTERED:" // string@019c │ │ +019a82: 6202 f300 |0009: sget-object v2, Ldnsfilter/android/DNSProxyActivity;.IN_FILTER_PREF:Ljava/lang/String; // field@00f3 │ │ +019a86: 6e30 9705 1002 |000b: invoke-virtual {v0, v1, v2}, Ljava/lang/String;.replace:(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String; // method@0597 │ │ +019a8c: 0c00 |000e: move-result-object v0 │ │ +019a8e: 5b60 e800 |000f: iput-object v0, v6, Ldnsfilter/android/DNSProxyActivity$MyUIThreadLogger;.m_logStr:Ljava/lang/String; // field@00e8 │ │ +019a92: 1a01 ad00 |0011: const-string v1, "ALLOWED:" // string@00ad │ │ +019a96: 6202 f800 |0013: sget-object v2, Ldnsfilter/android/DNSProxyActivity;.NO_FILTER_PREF:Ljava/lang/String; // field@00f8 │ │ +019a9a: 6e30 9705 1002 |0015: invoke-virtual {v0, v1, v2}, Ljava/lang/String;.replace:(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String; // method@0597 │ │ +019aa0: 0c00 |0018: move-result-object v0 │ │ +019aa2: 5b60 e800 |0019: iput-object v0, v6, Ldnsfilter/android/DNSProxyActivity$MyUIThreadLogger;.m_logStr:Ljava/lang/String; // field@00e8 │ │ +019aa6: 1a01 cf03 |001b: const-string v1, "MAPPED_CUSTOM_IP:" // string@03cf │ │ +019aaa: 6202 f400 |001d: sget-object v2, Ldnsfilter/android/DNSProxyActivity;.IP_FORWARD_PREF:Ljava/lang/String; // field@00f4 │ │ +019aae: 6e30 9705 1002 |001f: invoke-virtual {v0, v1, v2}, Ljava/lang/String;.replace:(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String; // method@0597 │ │ +019ab4: 0c00 |0022: move-result-object v0 │ │ +019ab6: 5b60 e800 |0023: iput-object v0, v6, Ldnsfilter/android/DNSProxyActivity$MyUIThreadLogger;.m_logStr:Ljava/lang/String; // field@00e8 │ │ +019aba: 5461 e900 |0025: iget-object v1, v6, Ldnsfilter/android/DNSProxyActivity$MyUIThreadLogger;.this$0:Ldnsfilter/android/DNSProxyActivity; // field@00e9 │ │ +019abe: 7120 dd02 0100 |0027: invoke-static {v1, v0}, Ldnsfilter/android/DNSProxyActivity;.access$300:(Ldnsfilter/android/DNSProxyActivity;Ljava/lang/String;)V // method@02dd │ │ +019ac4: 6200 2001 |002a: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.logOutView:Landroid/widget/EditText; // field@0120 │ │ +019ac8: 6e10 da00 0000 |002c: invoke-virtual {v0}, Landroid/widget/EditText;.getText:()Landroid/text/Editable; // method@00da │ │ +019ace: 0c00 |002f: move-result-object v0 │ │ +019ad0: 7210 9900 0000 |0030: invoke-interface {v0}, Landroid/text/Editable;.length:()I // method@0099 │ │ +019ad6: 0a00 |0033: move-result v0 │ │ +019ad8: 1301 1027 |0034: const/16 v1, #int 10000 // #2710 │ │ +019adc: 3410 2a00 |0036: if-lt v0, v1, 0060 // +002a │ │ +019ae0: 6201 2001 |0038: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.logOutView:Landroid/widget/EditText; // field@0120 │ │ +019ae4: 6e10 da00 0100 |003a: invoke-virtual {v1}, Landroid/widget/EditText;.getText:()Landroid/text/Editable; // method@00da │ │ +019aea: 0c01 |003d: move-result-object v1 │ │ +019aec: db00 0002 |003e: div-int/lit8 v0, v0, #int 2 // #02 │ │ +019af0: 7220 9c00 0100 |0040: invoke-interface {v1, v0}, Landroid/text/Spannable;.charAt:(I)C // method@009c │ │ +019af6: 0a02 |0043: move-result v2 │ │ +019af8: 1303 0a00 |0044: const/16 v3, #int 10 // #a │ │ +019afc: 3232 0d00 |0046: if-eq v2, v3, 0053 // +000d │ │ +019b00: 7210 9d00 0100 |0048: invoke-interface {v1}, Landroid/text/Spannable;.length:()I // method@009d │ │ +019b06: 0a02 |004b: move-result v2 │ │ +019b08: d802 02ff |004c: add-int/lit8 v2, v2, #int -1 // #ff │ │ +019b0c: 3520 0500 |004e: if-ge v0, v2, 0053 // +0005 │ │ +019b10: d800 0001 |0050: add-int/lit8 v0, v0, #int 1 // #01 │ │ +019b14: 28ee |0052: goto 0040 // -0012 │ │ +019b16: 6202 2001 |0053: sget-object v2, Ldnsfilter/android/DNSProxyActivity;.logOutView:Landroid/widget/EditText; // field@0120 │ │ +019b1a: 7210 9d00 0100 |0055: invoke-interface {v1}, Landroid/text/Spannable;.length:()I // method@009d │ │ +019b20: 0a03 |0058: move-result v3 │ │ +019b22: 7230 9e00 0103 |0059: invoke-interface {v1, v0, v3}, Landroid/text/Spannable;.subSequence:(II)Ljava/lang/CharSequence; // method@009e │ │ +019b28: 0c00 |005c: move-result-object v0 │ │ +019b2a: 6e20 e600 0200 |005d: invoke-virtual {v2, v0}, Landroid/widget/EditText;.setText:(Ljava/lang/CharSequence;)V // method@00e6 │ │ +019b30: 6200 0301 |0060: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.advancedConfigCheck:Landroid/widget/CheckBox; // field@0103 │ │ +019b34: 6e10 cc00 0000 |0062: invoke-virtual {v0}, Landroid/widget/CheckBox;.isChecked:()Z // method@00cc │ │ +019b3a: 0a00 |0065: move-result v0 │ │ +019b3c: 3900 1a00 |0066: if-nez v0, 0080 // +001a │ │ +019b40: 6200 2001 |0068: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.logOutView:Landroid/widget/EditText; // field@0120 │ │ +019b44: 6201 2001 |006a: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.logOutView:Landroid/widget/EditText; // field@0120 │ │ +019b48: 6e10 da00 0100 |006c: invoke-virtual {v1}, Landroid/widget/EditText;.getText:()Landroid/text/Editable; // method@00da │ │ +019b4e: 0c01 |006f: move-result-object v1 │ │ +019b50: 7210 9900 0100 |0070: invoke-interface {v1}, Landroid/text/Editable;.length:()I // method@0099 │ │ +019b56: 0a01 |0073: move-result v1 │ │ +019b58: 6e20 e400 1000 |0074: invoke-virtual {v0, v1}, Landroid/widget/EditText;.setSelection:(I)V // method@00e4 │ │ +019b5e: 5460 e900 |0077: iget-object v0, v6, Ldnsfilter/android/DNSProxyActivity$MyUIThreadLogger;.this$0:Ldnsfilter/android/DNSProxyActivity; // field@00e9 │ │ +019b62: 5400 3201 |0079: iget-object v0, v0, Ldnsfilter/android/DNSProxyActivity;.scrollView:Landroid/widget/ScrollView; // field@0132 │ │ +019b66: 1301 8200 |007b: const/16 v1, #int 130 // #82 │ │ +019b6a: 6e20 f400 1000 |007d: invoke-virtual {v0, v1}, Landroid/widget/ScrollView;.fullScroll:(I)Z // method@00f4 │ │ +019b70: 1a00 9d00 |0080: const-string v0, "" // string@009d │ │ +019b74: 1a01 5800 |0082: const-string v1, "-1" // string@0058 │ │ +019b78: 1a02 9d00 |0084: const-string v2, "" // string@009d │ │ +019b7c: 6203 ed00 |0086: sget-object v3, Ldnsfilter/android/DNSProxyActivity;.CONFIG:Ldnsfilter/ConfigurationAccess; // field@00ed │ │ +019b80: 6e10 5501 0300 |0088: invoke-virtual {v3}, Ldnsfilter/ConfigurationAccess;.getVersion:()Ljava/lang/String; // method@0155 │ │ +019b86: 0c00 |008b: move-result-object v0 │ │ +019b88: 2203 2d01 |008c: new-instance v3, Ljava/lang/StringBuilder; // type@012d │ │ +019b8c: 7010 a905 0300 |008e: invoke-direct {v3}, Ljava/lang/StringBuilder;.:()V // method@05a9 │ │ +019b92: 6204 ed00 |0091: sget-object v4, Ldnsfilter/android/DNSProxyActivity;.CONFIG:Ldnsfilter/ConfigurationAccess; // field@00ed │ │ +019b96: 6e10 5801 0400 |0093: invoke-virtual {v4}, Ldnsfilter/ConfigurationAccess;.openConnectionsCount:()I // method@0158 │ │ +019b9c: 0a04 |0096: move-result v4 │ │ +019b9e: 6e20 ac05 4300 |0097: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@05ac │ │ +019ba4: 1a04 0000 |009a: const-string v4, "" // string@0000 │ │ +019ba8: 6e20 af05 4300 |009c: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +019bae: 6e10 b105 0300 |009f: invoke-virtual {v3}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ +019bb4: 0c01 |00a2: move-result-object v1 │ │ +019bb6: 6203 ed00 |00a3: sget-object v3, Ldnsfilter/android/DNSProxyActivity;.CONFIG:Ldnsfilter/ConfigurationAccess; // field@00ed │ │ +019bba: 6e10 5201 0300 |00a5: invoke-virtual {v3}, Ldnsfilter/ConfigurationAccess;.getLastDNSAddress:()Ljava/lang/String; // method@0152 │ │ +019bc0: 0c02 |00a8: move-result-object v2 │ │ +019bc2: 281c |00a9: goto 00c5 // +001c │ │ +019bc4: 0d03 |00aa: move-exception v3 │ │ +019bc6: 5464 e900 |00ab: iget-object v4, v6, Ldnsfilter/android/DNSProxyActivity$MyUIThreadLogger;.this$0:Ldnsfilter/android/DNSProxyActivity; // field@00e9 │ │ +019bca: 2205 2d01 |00ad: new-instance v5, Ljava/lang/StringBuilder; // type@012d │ │ +019bce: 7010 a905 0500 |00af: invoke-direct {v5}, Ljava/lang/StringBuilder;.:()V // method@05a9 │ │ +019bd4: 6e10 2605 0300 |00b2: invoke-virtual {v3}, Ljava/io/IOException;.toString:()Ljava/lang/String; // method@0526 │ │ +019bda: 0c03 |00b5: move-result-object v3 │ │ +019bdc: 6e20 af05 3500 |00b6: invoke-virtual {v5, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +019be2: 1a03 0200 |00b9: const-string v3, " │ │ " // string@0002 │ │ -019bea: 6e20 af05 3500 |00bb: invoke-virtual {v5, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -019bf0: 6e10 b105 0500 |00be: invoke-virtual {v5}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ -019bf6: 0c03 |00c1: move-result-object v3 │ │ -019bf8: 7120 dd02 3400 |00c2: invoke-static {v4, v3}, Ldnsfilter/android/DNSProxyActivity;.access$300:(Ldnsfilter/android/DNSProxyActivity;Ljava/lang/String;)V // method@02dd │ │ -019bfe: 5463 e900 |00c5: iget-object v3, v6, Ldnsfilter/android/DNSProxyActivity$MyUIThreadLogger;.this$0:Ldnsfilter/android/DNSProxyActivity; // field@00e9 │ │ -019c02: 2204 2d01 |00c7: new-instance v4, Ljava/lang/StringBuilder; // type@012d │ │ -019c06: 7010 a905 0400 |00c9: invoke-direct {v4}, Ljava/lang/StringBuilder;.:()V // method@05a9 │ │ -019c0c: 1a05 6b09 |00cc: const-string v5, "personalDNSfilter V" // string@096b │ │ -019c10: 6e20 af05 5400 |00ce: invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -019c16: 6e20 af05 0400 |00d1: invoke-virtual {v4, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -019c1c: 1a00 0f00 |00d4: const-string v0, " (Connections:" // string@000f │ │ -019c20: 6e20 af05 0400 |00d6: invoke-virtual {v4, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -019c26: 6e20 af05 1400 |00d9: invoke-virtual {v4, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -019c2c: 1a00 4800 |00dc: const-string v0, ")" // string@0048 │ │ -019c30: 6e20 af05 0400 |00de: invoke-virtual {v4, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -019c36: 6e10 b105 0400 |00e1: invoke-virtual {v4}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ -019c3c: 0c00 |00e4: move-result-object v0 │ │ -019c3e: 6e20 3003 0300 |00e5: invoke-virtual {v3, v0}, Ldnsfilter/android/DNSProxyActivity;.setTitle:(Ljava/lang/CharSequence;)V // method@0330 │ │ -019c44: 6200 1001 |00e8: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.dnsField:Landroid/widget/TextView; // field@0110 │ │ -019c48: 6e20 0901 2000 |00ea: invoke-virtual {v0, v2}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@0109 │ │ -019c4e: 1e06 |00ed: monitor-exit v6 │ │ -019c50: 0e00 |00ee: return-void │ │ -019c52: 0d00 |00ef: move-exception v0 │ │ -019c54: 1e06 |00f0: monitor-exit v6 │ │ -019c56: 2802 |00f1: goto 00f3 // +0002 │ │ -019c58: 2700 |00f2: throw v0 │ │ -019c5a: 28ff |00f3: goto 00f2 // -0001 │ │ +019be6: 6e20 af05 3500 |00bb: invoke-virtual {v5, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +019bec: 6e10 b105 0500 |00be: invoke-virtual {v5}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ +019bf2: 0c03 |00c1: move-result-object v3 │ │ +019bf4: 7120 dd02 3400 |00c2: invoke-static {v4, v3}, Ldnsfilter/android/DNSProxyActivity;.access$300:(Ldnsfilter/android/DNSProxyActivity;Ljava/lang/String;)V // method@02dd │ │ +019bfa: 5463 e900 |00c5: iget-object v3, v6, Ldnsfilter/android/DNSProxyActivity$MyUIThreadLogger;.this$0:Ldnsfilter/android/DNSProxyActivity; // field@00e9 │ │ +019bfe: 2204 2d01 |00c7: new-instance v4, Ljava/lang/StringBuilder; // type@012d │ │ +019c02: 7010 a905 0400 |00c9: invoke-direct {v4}, Ljava/lang/StringBuilder;.:()V // method@05a9 │ │ +019c08: 1a05 6b09 |00cc: const-string v5, "personalDNSfilter V" // string@096b │ │ +019c0c: 6e20 af05 5400 |00ce: invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +019c12: 6e20 af05 0400 |00d1: invoke-virtual {v4, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +019c18: 1a00 0f00 |00d4: const-string v0, " (Connections:" // string@000f │ │ +019c1c: 6e20 af05 0400 |00d6: invoke-virtual {v4, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +019c22: 6e20 af05 1400 |00d9: invoke-virtual {v4, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +019c28: 1a00 4800 |00dc: const-string v0, ")" // string@0048 │ │ +019c2c: 6e20 af05 0400 |00de: invoke-virtual {v4, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +019c32: 6e10 b105 0400 |00e1: invoke-virtual {v4}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ +019c38: 0c00 |00e4: move-result-object v0 │ │ +019c3a: 6e20 3003 0300 |00e5: invoke-virtual {v3, v0}, Ldnsfilter/android/DNSProxyActivity;.setTitle:(Ljava/lang/CharSequence;)V // method@0330 │ │ +019c40: 6200 1001 |00e8: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.dnsField:Landroid/widget/TextView; // field@0110 │ │ +019c44: 6e20 0901 2000 |00ea: invoke-virtual {v0, v2}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@0109 │ │ +019c4a: 1e06 |00ed: monitor-exit v6 │ │ +019c4c: 0e00 |00ee: return-void │ │ +019c4e: 0d00 |00ef: move-exception v0 │ │ +019c50: 1e06 |00f0: monitor-exit v6 │ │ +019c52: 2802 |00f1: goto 00f3 // +0002 │ │ +019c54: 2700 |00f2: throw v0 │ │ +019c56: 28ff |00f3: goto 00f2 // -0001 │ │ catches : 3 │ │ 0x0001 - 0x0086 │ │ -> 0x00ef │ │ 0x0086 - 0x00a9 │ │ Ljava/io/IOException; -> 0x00aa │ │ -> 0x00ef │ │ 0x00ab - 0x00ed │ │ @@ -16097,88 +16097,88 @@ │ │ type : '()V' │ │ access : 0x10008 (STATIC CONSTRUCTOR) │ │ code - │ │ registers : 0 │ │ ins : 0 │ │ outs : 0 │ │ insns size : 1 16-bit code units │ │ -01d674: |[01d674] dnsfilter.android.FilterConfig.:()V │ │ -01d684: 0e00 |0000: return-void │ │ +01d670: |[01d670] dnsfilter.android.FilterConfig.:()V │ │ +01d680: 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 │ │ -01d688: |[01d688] dnsfilter.android.FilterConfig.:(Landroid/widget/TableLayout;Landroid/widget/Button;Landroid/widget/Button;Landroid/widget/TextView;Landroid/widget/Button;)V │ │ -01d698: 7010 7505 0300 |0000: invoke-direct {v3}, Ljava/lang/Object;.:()V // method@0575 │ │ -01d69e: 1200 |0003: const/4 v0, #int 0 // #0 │ │ -01d6a0: 5c30 4801 |0004: iput-boolean v0, v3, Ldnsfilter/android/FilterConfig;.loaded:Z // field@0148 │ │ -01d6a4: 5b34 4101 |0006: iput-object v4, v3, Ldnsfilter/android/FilterConfig;.configTable:Landroid/widget/TableLayout; // field@0141 │ │ -01d6a8: 2200 0b00 |0008: new-instance v0, Landroid/app/Dialog; // type@000b │ │ -01d6ac: 6e10 fd00 0400 |000a: invoke-virtual {v4}, Landroid/widget/TableLayout;.getContext:()Landroid/content/Context; // method@00fd │ │ -01d6b2: 0c01 |000d: move-result-object v1 │ │ -01d6b4: 1502 097f |000e: const/high16 v2, #int 2131296256 // #7f09 │ │ -01d6b8: 7030 1400 1002 |0010: invoke-direct {v0, v1, v2}, Landroid/app/Dialog;.:(Landroid/content/Context;I)V // method@0014 │ │ -01d6be: 5b30 4401 |0013: iput-object v0, v3, Ldnsfilter/android/FilterConfig;.editDialog:Landroid/app/Dialog; // field@0144 │ │ -01d6c2: 6e20 1f00 3000 |0015: invoke-virtual {v0, v3}, Landroid/app/Dialog;.setOnKeyListener:(Landroid/content/DialogInterface$OnKeyListener;)V // method@001f │ │ -01d6c8: 5430 4401 |0018: iget-object v0, v3, Ldnsfilter/android/FilterConfig;.editDialog:Landroid/app/Dialog; // field@0144 │ │ -01d6cc: 1401 0a00 067f |001a: const v1, #float 1.78117e+38 // #7f06000a │ │ -01d6d2: 6e20 1b00 1000 |001d: invoke-virtual {v0, v1}, Landroid/app/Dialog;.setContentView:(I)V // method@001b │ │ -01d6d8: 5430 4401 |0020: iget-object v0, v3, Ldnsfilter/android/FilterConfig;.editDialog:Landroid/app/Dialog; // field@0144 │ │ -01d6dc: 6e10 fd00 0400 |0022: invoke-virtual {v4}, Landroid/widget/TableLayout;.getContext:()Landroid/content/Context; // method@00fd │ │ -01d6e2: 0c04 |0025: move-result-object v4 │ │ -01d6e4: 6e10 3a00 0400 |0026: invoke-virtual {v4}, Landroid/content/Context;.getResources:()Landroid/content/res/Resources; // method@003a │ │ -01d6ea: 0c04 |0029: move-result-object v4 │ │ -01d6ec: 1401 1100 087f |002a: const v1, #float 1.80775e+38 // #7f080011 │ │ -01d6f2: 6e20 5900 1400 |002d: invoke-virtual {v4, v1}, Landroid/content/res/Resources;.getString:(I)Ljava/lang/String; // method@0059 │ │ -01d6f8: 0c04 |0030: move-result-object v4 │ │ -01d6fa: 6e20 2100 4000 |0031: invoke-virtual {v0, v4}, Landroid/app/Dialog;.setTitle:(Ljava/lang/CharSequence;)V // method@0021 │ │ -01d700: 5434 4401 |0034: iget-object v4, v3, Ldnsfilter/android/FilterConfig;.editDialog:Landroid/app/Dialog; // field@0144 │ │ -01d704: 1400 2c00 057f |0036: const v0, #float 1.76788e+38 // #7f05002c │ │ -01d70a: 6e20 1700 0400 |0039: invoke-virtual {v4, v0}, Landroid/app/Dialog;.findViewById:(I)Landroid/view/View; // method@0017 │ │ -01d710: 0c04 |003c: move-result-object v4 │ │ -01d712: 1f04 6300 |003d: check-cast v4, Landroid/widget/Button; // type@0063 │ │ -01d716: 5b34 4501 |003f: iput-object v4, v3, Ldnsfilter/android/FilterConfig;.editOk:Landroid/widget/Button; // field@0145 │ │ -01d71a: 5434 4401 |0041: iget-object v4, v3, Ldnsfilter/android/FilterConfig;.editDialog:Landroid/app/Dialog; // field@0144 │ │ -01d71e: 1400 2b00 057f |0043: const v0, #float 1.76788e+38 // #7f05002b │ │ -01d724: 6e20 1700 0400 |0046: invoke-virtual {v4, v0}, Landroid/app/Dialog;.findViewById:(I)Landroid/view/View; // method@0017 │ │ -01d72a: 0c04 |0049: move-result-object v4 │ │ -01d72c: 1f04 6300 |004a: check-cast v4, Landroid/widget/Button; // type@0063 │ │ -01d730: 5b34 4301 |004c: iput-object v4, v3, Ldnsfilter/android/FilterConfig;.editDelete:Landroid/widget/Button; // field@0143 │ │ -01d734: 5434 4401 |004e: iget-object v4, v3, Ldnsfilter/android/FilterConfig;.editDialog:Landroid/app/Dialog; // field@0144 │ │ -01d738: 1400 2a00 057f |0050: const v0, #float 1.76788e+38 // #7f05002a │ │ -01d73e: 6e20 1700 0400 |0053: invoke-virtual {v4, v0}, Landroid/app/Dialog;.findViewById:(I)Landroid/view/View; // method@0017 │ │ -01d744: 0c04 |0056: move-result-object v4 │ │ -01d746: 1f04 6300 |0057: check-cast v4, Landroid/widget/Button; // type@0063 │ │ -01d74a: 5b34 4201 |0059: iput-object v4, v3, Ldnsfilter/android/FilterConfig;.editCancel:Landroid/widget/Button; // field@0142 │ │ -01d74e: 5434 4501 |005b: iget-object v4, v3, Ldnsfilter/android/FilterConfig;.editOk:Landroid/widget/Button; // field@0145 │ │ -01d752: 6e20 c500 3400 |005d: invoke-virtual {v4, v3}, Landroid/widget/Button;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@00c5 │ │ -01d758: 5434 4301 |0060: iget-object v4, v3, Ldnsfilter/android/FilterConfig;.editDelete:Landroid/widget/Button; // field@0143 │ │ -01d75c: 6e20 c500 3400 |0062: invoke-virtual {v4, v3}, Landroid/widget/Button;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@00c5 │ │ -01d762: 5434 4201 |0065: iget-object v4, v3, Ldnsfilter/android/FilterConfig;.editCancel:Landroid/widget/Button; // field@0142 │ │ -01d766: 6e20 c500 3400 |0067: invoke-virtual {v4, v3}, Landroid/widget/Button;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@00c5 │ │ -01d76c: 5b35 4001 |006a: iput-object v5, v3, Ldnsfilter/android/FilterConfig;.categoryUp:Landroid/widget/Button; // field@0140 │ │ -01d770: 5b36 3d01 |006c: iput-object v6, v3, Ldnsfilter/android/FilterConfig;.categoryDown:Landroid/widget/Button; // field@013d │ │ -01d774: 5b37 3e01 |006e: iput-object v7, v3, Ldnsfilter/android/FilterConfig;.categoryField:Landroid/widget/TextView; // field@013e │ │ -01d778: 5b38 4901 |0070: iput-object v8, v3, Ldnsfilter/android/FilterConfig;.restoreDefault:Landroid/widget/Button; // field@0149 │ │ -01d77c: 6204 3901 |0072: sget-object v4, Ldnsfilter/android/FilterConfig;.ALL_ACTIVE:Ljava/lang/String; // field@0139 │ │ -01d780: 6e20 0901 4700 |0074: invoke-virtual {v7, v4}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@0109 │ │ -01d786: 2204 6801 |0077: new-instance v4, Ljava/util/TreeMap; // type@0168 │ │ -01d78a: 6205 1803 |0079: sget-object v5, Ljava/lang/String;.CASE_INSENSITIVE_ORDER:Ljava/util/Comparator; // field@0318 │ │ -01d78e: 7020 6b06 5400 |007b: invoke-direct {v4, v5}, Ljava/util/TreeMap;.:(Ljava/util/Comparator;)V // method@066b │ │ -01d794: 5b34 3f01 |007e: iput-object v4, v3, Ldnsfilter/android/FilterConfig;.categoryMap:Ljava/util/TreeMap; // field@013f │ │ -01d798: 0e00 |0080: return-void │ │ +01d684: |[01d684] dnsfilter.android.FilterConfig.:(Landroid/widget/TableLayout;Landroid/widget/Button;Landroid/widget/Button;Landroid/widget/TextView;Landroid/widget/Button;)V │ │ +01d694: 7010 7505 0300 |0000: invoke-direct {v3}, Ljava/lang/Object;.:()V // method@0575 │ │ +01d69a: 1200 |0003: const/4 v0, #int 0 // #0 │ │ +01d69c: 5c30 4801 |0004: iput-boolean v0, v3, Ldnsfilter/android/FilterConfig;.loaded:Z // field@0148 │ │ +01d6a0: 5b34 4101 |0006: iput-object v4, v3, Ldnsfilter/android/FilterConfig;.configTable:Landroid/widget/TableLayout; // field@0141 │ │ +01d6a4: 2200 0b00 |0008: new-instance v0, Landroid/app/Dialog; // type@000b │ │ +01d6a8: 6e10 fd00 0400 |000a: invoke-virtual {v4}, Landroid/widget/TableLayout;.getContext:()Landroid/content/Context; // method@00fd │ │ +01d6ae: 0c01 |000d: move-result-object v1 │ │ +01d6b0: 1502 097f |000e: const/high16 v2, #int 2131296256 // #7f09 │ │ +01d6b4: 7030 1400 1002 |0010: invoke-direct {v0, v1, v2}, Landroid/app/Dialog;.:(Landroid/content/Context;I)V // method@0014 │ │ +01d6ba: 5b30 4401 |0013: iput-object v0, v3, Ldnsfilter/android/FilterConfig;.editDialog:Landroid/app/Dialog; // field@0144 │ │ +01d6be: 6e20 1f00 3000 |0015: invoke-virtual {v0, v3}, Landroid/app/Dialog;.setOnKeyListener:(Landroid/content/DialogInterface$OnKeyListener;)V // method@001f │ │ +01d6c4: 5430 4401 |0018: iget-object v0, v3, Ldnsfilter/android/FilterConfig;.editDialog:Landroid/app/Dialog; // field@0144 │ │ +01d6c8: 1401 0a00 067f |001a: const v1, #float 1.78117e+38 // #7f06000a │ │ +01d6ce: 6e20 1b00 1000 |001d: invoke-virtual {v0, v1}, Landroid/app/Dialog;.setContentView:(I)V // method@001b │ │ +01d6d4: 5430 4401 |0020: iget-object v0, v3, Ldnsfilter/android/FilterConfig;.editDialog:Landroid/app/Dialog; // field@0144 │ │ +01d6d8: 6e10 fd00 0400 |0022: invoke-virtual {v4}, Landroid/widget/TableLayout;.getContext:()Landroid/content/Context; // method@00fd │ │ +01d6de: 0c04 |0025: move-result-object v4 │ │ +01d6e0: 6e10 3a00 0400 |0026: invoke-virtual {v4}, Landroid/content/Context;.getResources:()Landroid/content/res/Resources; // method@003a │ │ +01d6e6: 0c04 |0029: move-result-object v4 │ │ +01d6e8: 1401 1100 087f |002a: const v1, #float 1.80775e+38 // #7f080011 │ │ +01d6ee: 6e20 5900 1400 |002d: invoke-virtual {v4, v1}, Landroid/content/res/Resources;.getString:(I)Ljava/lang/String; // method@0059 │ │ +01d6f4: 0c04 |0030: move-result-object v4 │ │ +01d6f6: 6e20 2100 4000 |0031: invoke-virtual {v0, v4}, Landroid/app/Dialog;.setTitle:(Ljava/lang/CharSequence;)V // method@0021 │ │ +01d6fc: 5434 4401 |0034: iget-object v4, v3, Ldnsfilter/android/FilterConfig;.editDialog:Landroid/app/Dialog; // field@0144 │ │ +01d700: 1400 2c00 057f |0036: const v0, #float 1.76788e+38 // #7f05002c │ │ +01d706: 6e20 1700 0400 |0039: invoke-virtual {v4, v0}, Landroid/app/Dialog;.findViewById:(I)Landroid/view/View; // method@0017 │ │ +01d70c: 0c04 |003c: move-result-object v4 │ │ +01d70e: 1f04 6300 |003d: check-cast v4, Landroid/widget/Button; // type@0063 │ │ +01d712: 5b34 4501 |003f: iput-object v4, v3, Ldnsfilter/android/FilterConfig;.editOk:Landroid/widget/Button; // field@0145 │ │ +01d716: 5434 4401 |0041: iget-object v4, v3, Ldnsfilter/android/FilterConfig;.editDialog:Landroid/app/Dialog; // field@0144 │ │ +01d71a: 1400 2b00 057f |0043: const v0, #float 1.76788e+38 // #7f05002b │ │ +01d720: 6e20 1700 0400 |0046: invoke-virtual {v4, v0}, Landroid/app/Dialog;.findViewById:(I)Landroid/view/View; // method@0017 │ │ +01d726: 0c04 |0049: move-result-object v4 │ │ +01d728: 1f04 6300 |004a: check-cast v4, Landroid/widget/Button; // type@0063 │ │ +01d72c: 5b34 4301 |004c: iput-object v4, v3, Ldnsfilter/android/FilterConfig;.editDelete:Landroid/widget/Button; // field@0143 │ │ +01d730: 5434 4401 |004e: iget-object v4, v3, Ldnsfilter/android/FilterConfig;.editDialog:Landroid/app/Dialog; // field@0144 │ │ +01d734: 1400 2a00 057f |0050: const v0, #float 1.76788e+38 // #7f05002a │ │ +01d73a: 6e20 1700 0400 |0053: invoke-virtual {v4, v0}, Landroid/app/Dialog;.findViewById:(I)Landroid/view/View; // method@0017 │ │ +01d740: 0c04 |0056: move-result-object v4 │ │ +01d742: 1f04 6300 |0057: check-cast v4, Landroid/widget/Button; // type@0063 │ │ +01d746: 5b34 4201 |0059: iput-object v4, v3, Ldnsfilter/android/FilterConfig;.editCancel:Landroid/widget/Button; // field@0142 │ │ +01d74a: 5434 4501 |005b: iget-object v4, v3, Ldnsfilter/android/FilterConfig;.editOk:Landroid/widget/Button; // field@0145 │ │ +01d74e: 6e20 c500 3400 |005d: invoke-virtual {v4, v3}, Landroid/widget/Button;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@00c5 │ │ +01d754: 5434 4301 |0060: iget-object v4, v3, Ldnsfilter/android/FilterConfig;.editDelete:Landroid/widget/Button; // field@0143 │ │ +01d758: 6e20 c500 3400 |0062: invoke-virtual {v4, v3}, Landroid/widget/Button;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@00c5 │ │ +01d75e: 5434 4201 |0065: iget-object v4, v3, Ldnsfilter/android/FilterConfig;.editCancel:Landroid/widget/Button; // field@0142 │ │ +01d762: 6e20 c500 3400 |0067: invoke-virtual {v4, v3}, Landroid/widget/Button;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@00c5 │ │ +01d768: 5b35 4001 |006a: iput-object v5, v3, Ldnsfilter/android/FilterConfig;.categoryUp:Landroid/widget/Button; // field@0140 │ │ +01d76c: 5b36 3d01 |006c: iput-object v6, v3, Ldnsfilter/android/FilterConfig;.categoryDown:Landroid/widget/Button; // field@013d │ │ +01d770: 5b37 3e01 |006e: iput-object v7, v3, Ldnsfilter/android/FilterConfig;.categoryField:Landroid/widget/TextView; // field@013e │ │ +01d774: 5b38 4901 |0070: iput-object v8, v3, Ldnsfilter/android/FilterConfig;.restoreDefault:Landroid/widget/Button; // field@0149 │ │ +01d778: 6204 3901 |0072: sget-object v4, Ldnsfilter/android/FilterConfig;.ALL_ACTIVE:Ljava/lang/String; // field@0139 │ │ +01d77c: 6e20 0901 4700 |0074: invoke-virtual {v7, v4}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@0109 │ │ +01d782: 2204 6801 |0077: new-instance v4, Ljava/util/TreeMap; // type@0168 │ │ +01d786: 6205 1803 |0079: sget-object v5, Ljava/lang/String;.CASE_INSENSITIVE_ORDER:Ljava/util/Comparator; // field@0318 │ │ +01d78a: 7020 6b06 5400 |007b: invoke-direct {v4, v5}, Ljava/util/TreeMap;.:(Ljava/util/Comparator;)V // method@066b │ │ +01d790: 5b34 3f01 |007e: iput-object v4, v3, Ldnsfilter/android/FilterConfig;.categoryMap:Ljava/util/TreeMap; // field@013f │ │ +01d794: 0e00 |0080: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=62 │ │ 0x0004 line=39 │ │ 0x0006 line=64 │ │ 0x0008 line=65 │ │ 0x0015 line=66 │ │ @@ -16209,21 +16209,21 @@ │ │ type : '()V' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 4 │ │ ins : 1 │ │ outs : 5 │ │ insns size : 12 16-bit code units │ │ -01d79c: |[01d79c] dnsfilter.android.FilterConfig.addEmptyEndItem:()V │ │ -01d7ac: 2200 7f00 |0000: new-instance v0, Ldnsfilter/ConfigUtil$HostFilterList; // type@007f │ │ -01d7b0: 1201 |0002: const/4 v1, #int 0 // #0 │ │ -01d7b2: 6202 3c01 |0003: sget-object v2, Ldnsfilter/android/FilterConfig;.NEW_ITEM:Ljava/lang/String; // field@013c │ │ -01d7b6: 7052 3301 1022 |0005: invoke-direct {v0, v1, v2, v2, v2}, Ldnsfilter/ConfigUtil$HostFilterList;.:(ZLjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V // method@0133 │ │ -01d7bc: 7020 3b03 0300 |0008: invoke-direct {v3, v0}, Ldnsfilter/android/FilterConfig;.addItem:(Ldnsfilter/ConfigUtil$HostFilterList;)V // method@033b │ │ -01d7c2: 0e00 |000b: return-void │ │ +01d798: |[01d798] dnsfilter.android.FilterConfig.addEmptyEndItem:()V │ │ +01d7a8: 2200 7f00 |0000: new-instance v0, Ldnsfilter/ConfigUtil$HostFilterList; // type@007f │ │ +01d7ac: 1201 |0002: const/4 v1, #int 0 // #0 │ │ +01d7ae: 6202 3c01 |0003: sget-object v2, Ldnsfilter/android/FilterConfig;.NEW_ITEM:Ljava/lang/String; // field@013c │ │ +01d7b2: 7052 3301 1022 |0005: invoke-direct {v0, v1, v2, v2, v2}, Ldnsfilter/ConfigUtil$HostFilterList;.:(ZLjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V // method@0133 │ │ +01d7b8: 7020 3b03 0300 |0008: invoke-direct {v3, v0}, Ldnsfilter/android/FilterConfig;.addItem:(Ldnsfilter/ConfigUtil$HostFilterList;)V // method@033b │ │ +01d7be: 0e00 |000b: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=156 │ │ locals : │ │ 0x0000 - 0x000c reg=3 this Ldnsfilter/android/FilterConfig; │ │ │ │ #3 : (in Ldnsfilter/android/FilterConfig;) │ │ @@ -16231,54 +16231,54 @@ │ │ type : '(Ldnsfilter/ConfigUtil$HostFilterList;)V' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 6 │ │ ins : 2 │ │ outs : 3 │ │ insns size : 79 16-bit code units │ │ -01d7c4: |[01d7c4] dnsfilter.android.FilterConfig.addItem:(Ldnsfilter/ConfigUtil$HostFilterList;)V │ │ -01d7d4: 5440 4101 |0000: iget-object v0, v4, Ldnsfilter/android/FilterConfig;.configTable:Landroid/widget/TableLayout; // field@0141 │ │ -01d7d8: 6e10 fd00 0000 |0002: invoke-virtual {v0}, Landroid/widget/TableLayout;.getContext:()Landroid/content/Context; // method@00fd │ │ -01d7de: 0c00 |0005: move-result-object v0 │ │ -01d7e0: 7110 a500 0000 |0006: invoke-static {v0}, Landroid/view/LayoutInflater;.from:(Landroid/content/Context;)Landroid/view/LayoutInflater; // method@00a5 │ │ -01d7e6: 0c00 |0009: move-result-object v0 │ │ -01d7e8: 1401 0900 067f |000a: const v1, #float 1.78117e+38 // #7f060009 │ │ -01d7ee: 1202 |000d: const/4 v2, #int 0 // #0 │ │ -01d7f0: 6e30 a600 1002 |000e: invoke-virtual {v0, v1, v2}, Landroid/view/LayoutInflater;.inflate:(ILandroid/view/ViewGroup;)Landroid/view/View; // method@00a6 │ │ -01d7f6: 0c00 |0011: move-result-object v0 │ │ -01d7f8: 1f00 7200 |0012: check-cast v0, Landroid/widget/TableRow; // type@0072 │ │ -01d7fc: 5441 4101 |0014: iget-object v1, v4, Ldnsfilter/android/FilterConfig;.configTable:Landroid/widget/TableLayout; // field@0141 │ │ -01d800: 6e20 fa00 0100 |0016: invoke-virtual {v1, v0}, Landroid/widget/TableLayout;.addView:(Landroid/view/View;)V // method@00fa │ │ -01d806: 7020 3d03 0400 |0019: invoke-direct {v4, v0}, Ldnsfilter/android/FilterConfig;.getContentCells:(Landroid/widget/TableRow;)[Landroid/view/View; // method@033d │ │ -01d80c: 0c01 |001c: move-result-object v1 │ │ -01d80e: 1202 |001d: const/4 v2, #int 0 // #0 │ │ -01d810: 4602 0102 |001e: aget-object v2, v1, v2 │ │ -01d814: 1f02 6400 |0020: check-cast v2, Landroid/widget/CheckBox; // type@0064 │ │ -01d818: 5553 0d00 |0022: iget-boolean v3, v5, Ldnsfilter/ConfigUtil$HostFilterList;.active:Z // field@000d │ │ -01d81c: 6e20 cd00 3200 |0024: invoke-virtual {v2, v3}, Landroid/widget/CheckBox;.setChecked:(Z)V // method@00cd │ │ -01d822: 1212 |0027: const/4 v2, #int 1 // #1 │ │ -01d824: 4602 0102 |0028: aget-object v2, v1, v2 │ │ -01d828: 1f02 7300 |002a: check-cast v2, Landroid/widget/TextView; // type@0073 │ │ -01d82c: 5453 0e00 |002c: iget-object v3, v5, Ldnsfilter/ConfigUtil$HostFilterList;.category:Ljava/lang/String; // field@000e │ │ -01d830: 6e20 0901 3200 |002e: invoke-virtual {v2, v3}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@0109 │ │ -01d836: 1222 |0031: const/4 v2, #int 2 // #2 │ │ -01d838: 4602 0102 |0032: aget-object v2, v1, v2 │ │ -01d83c: 1f02 7300 |0034: check-cast v2, Landroid/widget/TextView; // type@0073 │ │ -01d840: 5453 0f00 |0036: iget-object v3, v5, Ldnsfilter/ConfigUtil$HostFilterList;.id:Ljava/lang/String; // field@000f │ │ -01d844: 6e20 0901 3200 |0038: invoke-virtual {v2, v3}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@0109 │ │ -01d84a: 1232 |003b: const/4 v2, #int 3 // #3 │ │ -01d84c: 4602 0102 |003c: aget-object v2, v1, v2 │ │ -01d850: 1f02 7300 |003e: check-cast v2, Landroid/widget/TextView; // type@0073 │ │ -01d854: 5455 1000 |0040: iget-object v5, v5, Ldnsfilter/ConfigUtil$HostFilterList;.url:Ljava/lang/String; // field@0010 │ │ -01d858: 6e20 0901 5200 |0042: invoke-virtual {v2, v5}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@0109 │ │ -01d85e: 1245 |0045: const/4 v5, #int 4 // #4 │ │ -01d860: 4605 0105 |0046: aget-object v5, v1, v5 │ │ -01d864: 6e20 b200 4500 |0048: invoke-virtual {v5, v4}, Landroid/view/View;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@00b2 │ │ -01d86a: 7020 4903 0400 |004b: invoke-direct {v4, v0}, Ldnsfilter/android/FilterConfig;.setVisibility:(Landroid/widget/TableRow;)V // method@0349 │ │ -01d870: 0e00 |004e: return-void │ │ +01d7c0: |[01d7c0] dnsfilter.android.FilterConfig.addItem:(Ldnsfilter/ConfigUtil$HostFilterList;)V │ │ +01d7d0: 5440 4101 |0000: iget-object v0, v4, Ldnsfilter/android/FilterConfig;.configTable:Landroid/widget/TableLayout; // field@0141 │ │ +01d7d4: 6e10 fd00 0000 |0002: invoke-virtual {v0}, Landroid/widget/TableLayout;.getContext:()Landroid/content/Context; // method@00fd │ │ +01d7da: 0c00 |0005: move-result-object v0 │ │ +01d7dc: 7110 a500 0000 |0006: invoke-static {v0}, Landroid/view/LayoutInflater;.from:(Landroid/content/Context;)Landroid/view/LayoutInflater; // method@00a5 │ │ +01d7e2: 0c00 |0009: move-result-object v0 │ │ +01d7e4: 1401 0900 067f |000a: const v1, #float 1.78117e+38 // #7f060009 │ │ +01d7ea: 1202 |000d: const/4 v2, #int 0 // #0 │ │ +01d7ec: 6e30 a600 1002 |000e: invoke-virtual {v0, v1, v2}, Landroid/view/LayoutInflater;.inflate:(ILandroid/view/ViewGroup;)Landroid/view/View; // method@00a6 │ │ +01d7f2: 0c00 |0011: move-result-object v0 │ │ +01d7f4: 1f00 7200 |0012: check-cast v0, Landroid/widget/TableRow; // type@0072 │ │ +01d7f8: 5441 4101 |0014: iget-object v1, v4, Ldnsfilter/android/FilterConfig;.configTable:Landroid/widget/TableLayout; // field@0141 │ │ +01d7fc: 6e20 fa00 0100 |0016: invoke-virtual {v1, v0}, Landroid/widget/TableLayout;.addView:(Landroid/view/View;)V // method@00fa │ │ +01d802: 7020 3d03 0400 |0019: invoke-direct {v4, v0}, Ldnsfilter/android/FilterConfig;.getContentCells:(Landroid/widget/TableRow;)[Landroid/view/View; // method@033d │ │ +01d808: 0c01 |001c: move-result-object v1 │ │ +01d80a: 1202 |001d: const/4 v2, #int 0 // #0 │ │ +01d80c: 4602 0102 |001e: aget-object v2, v1, v2 │ │ +01d810: 1f02 6400 |0020: check-cast v2, Landroid/widget/CheckBox; // type@0064 │ │ +01d814: 5553 0d00 |0022: iget-boolean v3, v5, Ldnsfilter/ConfigUtil$HostFilterList;.active:Z // field@000d │ │ +01d818: 6e20 cd00 3200 |0024: invoke-virtual {v2, v3}, Landroid/widget/CheckBox;.setChecked:(Z)V // method@00cd │ │ +01d81e: 1212 |0027: const/4 v2, #int 1 // #1 │ │ +01d820: 4602 0102 |0028: aget-object v2, v1, v2 │ │ +01d824: 1f02 7300 |002a: check-cast v2, Landroid/widget/TextView; // type@0073 │ │ +01d828: 5453 0e00 |002c: iget-object v3, v5, Ldnsfilter/ConfigUtil$HostFilterList;.category:Ljava/lang/String; // field@000e │ │ +01d82c: 6e20 0901 3200 |002e: invoke-virtual {v2, v3}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@0109 │ │ +01d832: 1222 |0031: const/4 v2, #int 2 // #2 │ │ +01d834: 4602 0102 |0032: aget-object v2, v1, v2 │ │ +01d838: 1f02 7300 |0034: check-cast v2, Landroid/widget/TextView; // type@0073 │ │ +01d83c: 5453 0f00 |0036: iget-object v3, v5, Ldnsfilter/ConfigUtil$HostFilterList;.id:Ljava/lang/String; // field@000f │ │ +01d840: 6e20 0901 3200 |0038: invoke-virtual {v2, v3}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@0109 │ │ +01d846: 1232 |003b: const/4 v2, #int 3 // #3 │ │ +01d848: 4602 0102 |003c: aget-object v2, v1, v2 │ │ +01d84c: 1f02 7300 |003e: check-cast v2, Landroid/widget/TextView; // type@0073 │ │ +01d850: 5455 1000 |0040: iget-object v5, v5, Ldnsfilter/ConfigUtil$HostFilterList;.url:Ljava/lang/String; // field@0010 │ │ +01d854: 6e20 0901 5200 |0042: invoke-virtual {v2, v5}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@0109 │ │ +01d85a: 1245 |0045: const/4 v5, #int 4 // #4 │ │ +01d85c: 4605 0105 |0046: aget-object v5, v1, v5 │ │ +01d860: 6e20 b200 4500 |0048: invoke-virtual {v5, v4}, Landroid/view/View;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@00b2 │ │ +01d866: 7020 4903 0400 |004b: invoke-direct {v4, v0}, Ldnsfilter/android/FilterConfig;.setVisibility:(Landroid/widget/TableRow;)V // method@0349 │ │ +01d86c: 0e00 |004e: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=98 │ │ 0x0014 line=99 │ │ 0x0019 line=100 │ │ 0x001e line=101 │ │ 0x0028 line=102 │ │ @@ -16295,38 +16295,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 │ │ -01d4e4: |[01d4e4] dnsfilter.android.FilterConfig.getContentCells:(Landroid/widget/TableRow;)[Landroid/view/View; │ │ -01d4f4: 1250 |0000: const/4 v0, #int 5 // #5 │ │ -01d4f6: 2301 a201 |0001: new-array v1, v0, [Landroid/view/View; // type@01a2 │ │ -01d4fa: 1202 |0003: const/4 v2, #int 0 // #0 │ │ -01d4fc: 1203 |0004: const/4 v3, #int 0 // #0 │ │ -01d4fe: 3503 0b00 |0005: if-ge v3, v0, 0010 // +000b │ │ -01d502: 6e20 ff00 3600 |0007: invoke-virtual {v6, v3}, Landroid/widget/TableRow;.getChildAt:(I)Landroid/view/View; // method@00ff │ │ -01d508: 0c04 |000a: move-result-object v4 │ │ -01d50a: 4d04 0103 |000b: aput-object v4, v1, v3 │ │ -01d50e: d803 0301 |000d: add-int/lit8 v3, v3, #int 1 // #01 │ │ -01d512: 28f6 |000f: goto 0005 // -000a │ │ -01d514: 1226 |0010: const/4 v6, #int 2 // #2 │ │ -01d516: 4600 0106 |0011: aget-object v0, v1, v6 │ │ -01d51a: 1f00 5900 |0013: check-cast v0, Landroid/view/ViewGroup; // type@0059 │ │ -01d51e: 6e20 b500 2000 |0015: invoke-virtual {v0, v2}, Landroid/view/ViewGroup;.getChildAt:(I)Landroid/view/View; // method@00b5 │ │ -01d524: 0c00 |0018: move-result-object v0 │ │ -01d526: 4d00 0106 |0019: aput-object v0, v1, v6 │ │ -01d52a: 1236 |001b: const/4 v6, #int 3 // #3 │ │ -01d52c: 4600 0106 |001c: aget-object v0, v1, v6 │ │ -01d530: 1f00 5900 |001e: check-cast v0, Landroid/view/ViewGroup; // type@0059 │ │ -01d534: 6e20 b500 2000 |0020: invoke-virtual {v0, v2}, Landroid/view/ViewGroup;.getChildAt:(I)Landroid/view/View; // method@00b5 │ │ -01d53a: 0c00 |0023: move-result-object v0 │ │ -01d53c: 4d00 0106 |0024: aput-object v0, v1, v6 │ │ -01d540: 1101 |0026: return-object v1 │ │ +01d4e0: |[01d4e0] dnsfilter.android.FilterConfig.getContentCells:(Landroid/widget/TableRow;)[Landroid/view/View; │ │ +01d4f0: 1250 |0000: const/4 v0, #int 5 // #5 │ │ +01d4f2: 2301 a201 |0001: new-array v1, v0, [Landroid/view/View; // type@01a2 │ │ +01d4f6: 1202 |0003: const/4 v2, #int 0 // #0 │ │ +01d4f8: 1203 |0004: const/4 v3, #int 0 // #0 │ │ +01d4fa: 3503 0b00 |0005: if-ge v3, v0, 0010 // +000b │ │ +01d4fe: 6e20 ff00 3600 |0007: invoke-virtual {v6, v3}, Landroid/widget/TableRow;.getChildAt:(I)Landroid/view/View; // method@00ff │ │ +01d504: 0c04 |000a: move-result-object v4 │ │ +01d506: 4d04 0103 |000b: aput-object v4, v1, v3 │ │ +01d50a: d803 0301 |000d: add-int/lit8 v3, v3, #int 1 // #01 │ │ +01d50e: 28f6 |000f: goto 0005 // -000a │ │ +01d510: 1226 |0010: const/4 v6, #int 2 // #2 │ │ +01d512: 4600 0106 |0011: aget-object v0, v1, v6 │ │ +01d516: 1f00 5900 |0013: check-cast v0, Landroid/view/ViewGroup; // type@0059 │ │ +01d51a: 6e20 b500 2000 |0015: invoke-virtual {v0, v2}, Landroid/view/ViewGroup;.getChildAt:(I)Landroid/view/View; // method@00b5 │ │ +01d520: 0c00 |0018: move-result-object v0 │ │ +01d522: 4d00 0106 |0019: aput-object v0, v1, v6 │ │ +01d526: 1236 |001b: const/4 v6, #int 3 // #3 │ │ +01d528: 4600 0106 |001c: aget-object v0, v1, v6 │ │ +01d52c: 1f00 5900 |001e: check-cast v0, Landroid/view/ViewGroup; // type@0059 │ │ +01d530: 6e20 b500 2000 |0020: invoke-virtual {v0, v2}, Landroid/view/ViewGroup;.getChildAt:(I)Landroid/view/View; // method@00b5 │ │ +01d536: 0c00 |0023: move-result-object v0 │ │ +01d538: 4d00 0106 |0024: aput-object v0, v1, v6 │ │ +01d53c: 1101 |0026: return-object v1 │ │ catches : (none) │ │ positions : │ │ 0x0001 line=87 │ │ 0x0007 line=89 │ │ 0x0011 line=91 │ │ 0x001c line=92 │ │ locals : │ │ @@ -16338,51 +16338,51 @@ │ │ type : '(Landroid/widget/Button;)V' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 4 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 71 16-bit code units │ │ -01d8fc: |[01d8fc] dnsfilter.android.FilterConfig.handleCategoryChange:(Landroid/widget/Button;)V │ │ -01d90c: 5420 3e01 |0000: iget-object v0, v2, Ldnsfilter/android/FilterConfig;.categoryField:Landroid/widget/TextView; // field@013e │ │ -01d910: 6e10 0401 0000 |0002: invoke-virtual {v0}, Landroid/widget/TextView;.getText:()Ljava/lang/CharSequence; // method@0104 │ │ -01d916: 0c00 |0005: move-result-object v0 │ │ -01d918: 7210 5205 0000 |0006: invoke-interface {v0}, Ljava/lang/CharSequence;.toString:()Ljava/lang/String; // method@0552 │ │ -01d91e: 0c00 |0009: move-result-object v0 │ │ -01d920: 5421 3f01 |000a: iget-object v1, v2, Ldnsfilter/android/FilterConfig;.categoryMap:Ljava/util/TreeMap; // field@013f │ │ -01d924: 6e20 6d06 0100 |000c: invoke-virtual {v1, v0}, Ljava/util/TreeMap;.containsKey:(Ljava/lang/Object;)Z // method@066d │ │ -01d92a: 0a01 |000f: move-result v1 │ │ -01d92c: 3901 0500 |0010: if-nez v1, 0015 // +0005 │ │ -01d930: 6203 3901 |0012: sget-object v3, Ldnsfilter/android/FilterConfig;.ALL_ACTIVE:Ljava/lang/String; // field@0139 │ │ -01d934: 282a |0014: goto 003e // +002a │ │ -01d936: 5421 4001 |0015: iget-object v1, v2, Ldnsfilter/android/FilterConfig;.categoryUp:Landroid/widget/Button; // field@0140 │ │ -01d93a: 3313 1500 |0017: if-ne v3, v1, 002c // +0015 │ │ -01d93e: 5423 3f01 |0019: iget-object v3, v2, Ldnsfilter/android/FilterConfig;.categoryMap:Ljava/util/TreeMap; // field@013f │ │ -01d942: 6e20 7006 0300 |001b: invoke-virtual {v3, v0}, Ljava/util/TreeMap;.higherKey:(Ljava/lang/Object;)Ljava/lang/Object; // method@0670 │ │ -01d948: 0c03 |001e: move-result-object v3 │ │ -01d94a: 1f03 2b01 |001f: check-cast v3, Ljava/lang/String; // type@012b │ │ -01d94e: 3903 1d00 |0021: if-nez v3, 003e // +001d │ │ -01d952: 5423 3f01 |0023: iget-object v3, v2, Ldnsfilter/android/FilterConfig;.categoryMap:Ljava/util/TreeMap; // field@013f │ │ -01d956: 6e10 6e06 0300 |0025: invoke-virtual {v3}, Ljava/util/TreeMap;.firstKey:()Ljava/lang/Object; // method@066e │ │ -01d95c: 0c03 |0028: move-result-object v3 │ │ -01d95e: 1f03 2b01 |0029: check-cast v3, Ljava/lang/String; // type@012b │ │ -01d962: 2813 |002b: goto 003e // +0013 │ │ -01d964: 5423 3f01 |002c: iget-object v3, v2, Ldnsfilter/android/FilterConfig;.categoryMap:Ljava/util/TreeMap; // field@013f │ │ -01d968: 6e20 7206 0300 |002e: invoke-virtual {v3, v0}, Ljava/util/TreeMap;.lowerKey:(Ljava/lang/Object;)Ljava/lang/Object; // method@0672 │ │ -01d96e: 0c03 |0031: move-result-object v3 │ │ -01d970: 1f03 2b01 |0032: check-cast v3, Ljava/lang/String; // type@012b │ │ -01d974: 3903 0a00 |0034: if-nez v3, 003e // +000a │ │ -01d978: 5423 3f01 |0036: iget-object v3, v2, Ldnsfilter/android/FilterConfig;.categoryMap:Ljava/util/TreeMap; // field@013f │ │ -01d97c: 6e10 7106 0300 |0038: invoke-virtual {v3}, Ljava/util/TreeMap;.lastKey:()Ljava/lang/Object; // method@0671 │ │ -01d982: 0c03 |003b: move-result-object v3 │ │ -01d984: 1f03 2b01 |003c: check-cast v3, Ljava/lang/String; // type@012b │ │ -01d988: 5420 3e01 |003e: iget-object v0, v2, Ldnsfilter/android/FilterConfig;.categoryField:Landroid/widget/TextView; // field@013e │ │ -01d98c: 6e20 0901 3000 |0040: invoke-virtual {v0, v3}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@0109 │ │ -01d992: 7010 4b03 0200 |0043: invoke-direct {v2}, Ldnsfilter/android/FilterConfig;.updateView:()V // method@034b │ │ -01d998: 0e00 |0046: return-void │ │ +01d8f8: |[01d8f8] dnsfilter.android.FilterConfig.handleCategoryChange:(Landroid/widget/Button;)V │ │ +01d908: 5420 3e01 |0000: iget-object v0, v2, Ldnsfilter/android/FilterConfig;.categoryField:Landroid/widget/TextView; // field@013e │ │ +01d90c: 6e10 0401 0000 |0002: invoke-virtual {v0}, Landroid/widget/TextView;.getText:()Ljava/lang/CharSequence; // method@0104 │ │ +01d912: 0c00 |0005: move-result-object v0 │ │ +01d914: 7210 5205 0000 |0006: invoke-interface {v0}, Ljava/lang/CharSequence;.toString:()Ljava/lang/String; // method@0552 │ │ +01d91a: 0c00 |0009: move-result-object v0 │ │ +01d91c: 5421 3f01 |000a: iget-object v1, v2, Ldnsfilter/android/FilterConfig;.categoryMap:Ljava/util/TreeMap; // field@013f │ │ +01d920: 6e20 6d06 0100 |000c: invoke-virtual {v1, v0}, Ljava/util/TreeMap;.containsKey:(Ljava/lang/Object;)Z // method@066d │ │ +01d926: 0a01 |000f: move-result v1 │ │ +01d928: 3901 0500 |0010: if-nez v1, 0015 // +0005 │ │ +01d92c: 6203 3901 |0012: sget-object v3, Ldnsfilter/android/FilterConfig;.ALL_ACTIVE:Ljava/lang/String; // field@0139 │ │ +01d930: 282a |0014: goto 003e // +002a │ │ +01d932: 5421 4001 |0015: iget-object v1, v2, Ldnsfilter/android/FilterConfig;.categoryUp:Landroid/widget/Button; // field@0140 │ │ +01d936: 3313 1500 |0017: if-ne v3, v1, 002c // +0015 │ │ +01d93a: 5423 3f01 |0019: iget-object v3, v2, Ldnsfilter/android/FilterConfig;.categoryMap:Ljava/util/TreeMap; // field@013f │ │ +01d93e: 6e20 7006 0300 |001b: invoke-virtual {v3, v0}, Ljava/util/TreeMap;.higherKey:(Ljava/lang/Object;)Ljava/lang/Object; // method@0670 │ │ +01d944: 0c03 |001e: move-result-object v3 │ │ +01d946: 1f03 2b01 |001f: check-cast v3, Ljava/lang/String; // type@012b │ │ +01d94a: 3903 1d00 |0021: if-nez v3, 003e // +001d │ │ +01d94e: 5423 3f01 |0023: iget-object v3, v2, Ldnsfilter/android/FilterConfig;.categoryMap:Ljava/util/TreeMap; // field@013f │ │ +01d952: 6e10 6e06 0300 |0025: invoke-virtual {v3}, Ljava/util/TreeMap;.firstKey:()Ljava/lang/Object; // method@066e │ │ +01d958: 0c03 |0028: move-result-object v3 │ │ +01d95a: 1f03 2b01 |0029: check-cast v3, Ljava/lang/String; // type@012b │ │ +01d95e: 2813 |002b: goto 003e // +0013 │ │ +01d960: 5423 3f01 |002c: iget-object v3, v2, Ldnsfilter/android/FilterConfig;.categoryMap:Ljava/util/TreeMap; // field@013f │ │ +01d964: 6e20 7206 0300 |002e: invoke-virtual {v3, v0}, Ljava/util/TreeMap;.lowerKey:(Ljava/lang/Object;)Ljava/lang/Object; // method@0672 │ │ +01d96a: 0c03 |0031: move-result-object v3 │ │ +01d96c: 1f03 2b01 |0032: check-cast v3, Ljava/lang/String; // type@012b │ │ +01d970: 3903 0a00 |0034: if-nez v3, 003e // +000a │ │ +01d974: 5423 3f01 |0036: iget-object v3, v2, Ldnsfilter/android/FilterConfig;.categoryMap:Ljava/util/TreeMap; // field@013f │ │ +01d978: 6e10 7106 0300 |0038: invoke-virtual {v3}, Ljava/util/TreeMap;.lastKey:()Ljava/lang/Object; // method@0671 │ │ +01d97e: 0c03 |003b: move-result-object v3 │ │ +01d980: 1f03 2b01 |003c: check-cast v3, Ljava/lang/String; // type@012b │ │ +01d984: 5420 3e01 |003e: iget-object v0, v2, Ldnsfilter/android/FilterConfig;.categoryField:Landroid/widget/TextView; // field@013e │ │ +01d988: 6e20 0901 3000 |0040: invoke-virtual {v0, v3}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@0109 │ │ +01d98e: 7010 4b03 0200 |0043: invoke-direct {v2}, Ldnsfilter/android/FilterConfig;.updateView:()V // method@034b │ │ +01d994: 0e00 |0046: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=220 │ │ 0x000a line=222 │ │ 0x0012 line=223 │ │ 0x0015 line=225 │ │ 0x0019 line=226 │ │ @@ -16400,210 +16400,210 @@ │ │ type : '(Landroid/view/View;)V' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 18 │ │ ins : 2 │ │ outs : 3 │ │ insns size : 404 16-bit code units │ │ -01d99c: |[01d99c] dnsfilter.android.FilterConfig.handleEditDialogEvent:(Landroid/view/View;)V │ │ -01d9ac: 0801 1000 |0000: move-object/from16 v1, v16 │ │ -01d9b0: 0800 1100 |0002: move-object/from16 v0, v17 │ │ -01d9b4: 5412 4201 |0004: iget-object v2, v1, Ldnsfilter/android/FilterConfig;.editCancel:Landroid/widget/Button; // field@0142 │ │ -01d9b8: 1303 0800 |0006: const/16 v3, #int 8 // #8 │ │ -01d9bc: 1404 2800 057f |0008: const v4, #float 1.76788e+38 // #7f050028 │ │ -01d9c2: 3320 1100 |000b: if-ne v0, v2, 001c // +0011 │ │ -01d9c6: 5410 4401 |000d: iget-object v0, v1, Ldnsfilter/android/FilterConfig;.editDialog:Landroid/app/Dialog; // field@0144 │ │ -01d9ca: 6e10 1600 0000 |000f: invoke-virtual {v0}, Landroid/app/Dialog;.dismiss:()V // method@0016 │ │ -01d9d0: 5410 4401 |0012: iget-object v0, v1, Ldnsfilter/android/FilterConfig;.editDialog:Landroid/app/Dialog; // field@0144 │ │ -01d9d4: 6e20 1700 4000 |0014: invoke-virtual {v0, v4}, Landroid/app/Dialog;.findViewById:(I)Landroid/view/View; // method@0017 │ │ -01d9da: 0c00 |0017: move-result-object v0 │ │ -01d9dc: 6e20 b400 3000 |0018: invoke-virtual {v0, v3}, Landroid/view/View;.setVisibility:(I)V // method@00b4 │ │ -01d9e2: 0e00 |001b: return-void │ │ -01d9e4: 5412 4601 |001c: iget-object v2, v1, Ldnsfilter/android/FilterConfig;.editedRow:Landroid/widget/TableRow; // field@0146 │ │ -01d9e8: 7020 3d03 2100 |001e: invoke-direct {v1, v2}, Ldnsfilter/android/FilterConfig;.getContentCells:(Landroid/widget/TableRow;)[Landroid/view/View; // method@033d │ │ -01d9ee: 0c02 |0021: move-result-object v2 │ │ -01d9f0: 1225 |0022: const/4 v5, #int 2 // #2 │ │ -01d9f2: 4606 0205 |0023: aget-object v6, v2, v5 │ │ -01d9f6: 1f06 7300 |0025: check-cast v6, Landroid/widget/TextView; // type@0073 │ │ -01d9fa: 6e10 0401 0600 |0027: invoke-virtual {v6}, Landroid/widget/TextView;.getText:()Ljava/lang/CharSequence; // method@0104 │ │ -01da00: 0c06 |002a: move-result-object v6 │ │ -01da02: 7210 5205 0600 |002b: invoke-interface {v6}, Ljava/lang/CharSequence;.toString:()Ljava/lang/String; // method@0552 │ │ -01da08: 0c06 |002e: move-result-object v6 │ │ -01da0a: 6207 3c01 |002f: sget-object v7, Ldnsfilter/android/FilterConfig;.NEW_ITEM:Ljava/lang/String; // field@013c │ │ -01da0e: 6e20 8d05 7600 |0031: invoke-virtual {v6, v7}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058d │ │ -01da14: 0a06 |0034: move-result v6 │ │ -01da16: 5417 4301 |0035: iget-object v7, v1, Ldnsfilter/android/FilterConfig;.editDelete:Landroid/widget/Button; // field@0143 │ │ -01da1a: 1238 |0037: const/4 v8, #int 3 // #3 │ │ -01da1c: 1219 |0038: const/4 v9, #int 1 // #1 │ │ -01da1e: 3370 5400 |0039: if-ne v0, v7, 008d // +0054 │ │ -01da22: 3906 4200 |003b: if-nez v6, 007d // +0042 │ │ -01da26: 5410 4601 |003d: iget-object v0, v1, Ldnsfilter/android/FilterConfig;.editedRow:Landroid/widget/TableRow; // field@0146 │ │ -01da2a: 6e20 ff00 8000 |003f: invoke-virtual {v0, v8}, Landroid/widget/TableRow;.getChildAt:(I)Landroid/view/View; // method@00ff │ │ -01da30: 0c00 |0042: move-result-object v0 │ │ -01da32: 1205 |0043: const/4 v5, #int 0 // #0 │ │ -01da34: 6e20 b200 5000 |0044: invoke-virtual {v0, v5}, Landroid/view/View;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@00b2 │ │ -01da3a: 5410 4101 |0047: iget-object v0, v1, Ldnsfilter/android/FilterConfig;.configTable:Landroid/widget/TableLayout; // field@0141 │ │ -01da3e: 5415 4601 |0049: iget-object v5, v1, Ldnsfilter/android/FilterConfig;.editedRow:Landroid/widget/TableRow; // field@0146 │ │ -01da42: 6e20 fe00 5000 |004b: invoke-virtual {v0, v5}, Landroid/widget/TableLayout;.removeView:(Landroid/view/View;)V // method@00fe │ │ -01da48: 4600 0209 |004e: aget-object v0, v2, v9 │ │ -01da4c: 1f00 7300 |0050: check-cast v0, Landroid/widget/TextView; // type@0073 │ │ -01da50: 6e10 0401 0000 |0052: invoke-virtual {v0}, Landroid/widget/TextView;.getText:()Ljava/lang/CharSequence; // method@0104 │ │ -01da56: 0c00 |0055: move-result-object v0 │ │ -01da58: 7210 5205 0000 |0056: invoke-interface {v0}, Ljava/lang/CharSequence;.toString:()Ljava/lang/String; // method@0552 │ │ -01da5e: 0c00 |0059: move-result-object v0 │ │ -01da60: 5412 3f01 |005a: iget-object v2, v1, Ldnsfilter/android/FilterConfig;.categoryMap:Ljava/util/TreeMap; // field@013f │ │ -01da64: 6e20 6f06 0200 |005c: invoke-virtual {v2, v0}, Ljava/util/TreeMap;.get:(Ljava/lang/Object;)Ljava/lang/Object; // method@066f │ │ -01da6a: 0c02 |005f: move-result-object v2 │ │ -01da6c: 1f02 1e01 |0060: check-cast v2, Ljava/lang/Integer; // type@011e │ │ -01da70: 6e10 6605 0200 |0062: invoke-virtual {v2}, Ljava/lang/Integer;.intValue:()I // method@0566 │ │ -01da76: 0a05 |0065: move-result v5 │ │ -01da78: 3395 0800 |0066: if-ne v5, v9, 006e // +0008 │ │ -01da7c: 5412 3f01 |0068: iget-object v2, v1, Ldnsfilter/android/FilterConfig;.categoryMap:Ljava/util/TreeMap; // field@013f │ │ -01da80: 6e20 7406 0200 |006a: invoke-virtual {v2, v0}, Ljava/util/TreeMap;.remove:(Ljava/lang/Object;)Ljava/lang/Object; // method@0674 │ │ -01da86: 2810 |006d: goto 007d // +0010 │ │ -01da88: 5415 3f01 |006e: iget-object v5, v1, Ldnsfilter/android/FilterConfig;.categoryMap:Ljava/util/TreeMap; // field@013f │ │ -01da8c: 2206 1e01 |0070: new-instance v6, Ljava/lang/Integer; // type@011e │ │ -01da90: 6e10 6605 0200 |0072: invoke-virtual {v2}, Ljava/lang/Integer;.intValue:()I // method@0566 │ │ -01da96: 0a02 |0075: move-result v2 │ │ -01da98: b192 |0076: sub-int/2addr v2, v9 │ │ -01da9a: 7020 6505 2600 |0077: invoke-direct {v6, v2}, Ljava/lang/Integer;.:(I)V // method@0565 │ │ -01daa0: 6e30 7306 0506 |007a: invoke-virtual {v5, v0, v6}, Ljava/util/TreeMap;.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; // method@0673 │ │ -01daa6: 5410 4401 |007d: iget-object v0, v1, Ldnsfilter/android/FilterConfig;.editDialog:Landroid/app/Dialog; // field@0144 │ │ -01daaa: 6e10 1600 0000 |007f: invoke-virtual {v0}, Landroid/app/Dialog;.dismiss:()V // method@0016 │ │ -01dab0: 5410 4401 |0082: iget-object v0, v1, Ldnsfilter/android/FilterConfig;.editDialog:Landroid/app/Dialog; // field@0144 │ │ -01dab4: 6e20 1700 4000 |0084: invoke-virtual {v0, v4}, Landroid/app/Dialog;.findViewById:(I)Landroid/view/View; // method@0017 │ │ -01daba: 0c00 |0087: move-result-object v0 │ │ -01dabc: 6e20 b400 3000 |0088: invoke-virtual {v0, v3}, Landroid/view/View;.setVisibility:(I)V // method@00b4 │ │ -01dac2: 2900 0801 |008b: goto/16 0193 // +0108 │ │ -01dac6: 5417 4501 |008d: iget-object v7, v1, Ldnsfilter/android/FilterConfig;.editOk:Landroid/widget/Button; // field@0145 │ │ -01daca: 3370 0401 |008f: if-ne v0, v7, 0193 // +0104 │ │ -01dace: 5410 4401 |0091: iget-object v0, v1, Ldnsfilter/android/FilterConfig;.editDialog:Landroid/app/Dialog; // field@0144 │ │ -01dad2: 1407 0400 057f |0093: const v7, #float 1.76787e+38 // #7f050004 │ │ -01dad8: 6e20 1700 7000 |0096: invoke-virtual {v0, v7}, Landroid/app/Dialog;.findViewById:(I)Landroid/view/View; // method@0017 │ │ -01dade: 0c00 |0099: move-result-object v0 │ │ -01dae0: 5417 4401 |009a: iget-object v7, v1, Ldnsfilter/android/FilterConfig;.editDialog:Landroid/app/Dialog; // field@0144 │ │ -01dae4: 140a 2900 057f |009c: const v10, #float 1.76788e+38 // #7f050029 │ │ -01daea: 6e20 1700 a700 |009f: invoke-virtual {v7, v10}, Landroid/app/Dialog;.findViewById:(I)Landroid/view/View; // method@0017 │ │ -01daf0: 0c07 |00a2: move-result-object v7 │ │ -01daf2: 541a 4401 |00a3: iget-object v10, v1, Ldnsfilter/android/FilterConfig;.editDialog:Landroid/app/Dialog; // field@0144 │ │ -01daf6: 140b 2d00 057f |00a5: const v11, #float 1.76788e+38 // #7f05002d │ │ -01dafc: 6e20 1700 ba00 |00a8: invoke-virtual {v10, v11}, Landroid/app/Dialog;.findViewById:(I)Landroid/view/View; // method@0017 │ │ -01db02: 0c0a |00ab: move-result-object v10 │ │ -01db04: 541b 4401 |00ac: iget-object v11, v1, Ldnsfilter/android/FilterConfig;.editDialog:Landroid/app/Dialog; // field@0144 │ │ -01db08: 140c 2f00 057f |00ae: const v12, #float 1.76788e+38 // #7f05002f │ │ -01db0e: 6e20 1700 cb00 |00b1: invoke-virtual {v11, v12}, Landroid/app/Dialog;.findViewById:(I)Landroid/view/View; // method@0017 │ │ -01db14: 0c0b |00b4: move-result-object v11 │ │ -01db16: 124c |00b5: const/4 v12, #int 4 // #4 │ │ -01db18: 23cc a201 |00b6: new-array v12, v12, [Landroid/view/View; // type@01a2 │ │ -01db1c: 120d |00b8: const/4 v13, #int 0 // #0 │ │ -01db1e: 4d00 0c0d |00b9: aput-object v0, v12, v13 │ │ -01db22: 4d07 0c09 |00bb: aput-object v7, v12, v9 │ │ -01db26: 4d0a 0c05 |00bd: aput-object v10, v12, v5 │ │ -01db2a: 4d0b 0c08 |00bf: aput-object v11, v12, v8 │ │ -01db2e: 7020 4c03 c100 |00c1: invoke-direct {v1, v12}, Ldnsfilter/android/FilterConfig;.validateContent:([Landroid/view/View;)V // method@034c │ │ -01db34: 4600 0c0d |00c4: aget-object v0, v12, v13 │ │ -01db38: 1f00 6400 |00c6: check-cast v0, Landroid/widget/CheckBox; // type@0064 │ │ -01db3c: 6e10 cc00 0000 |00c8: invoke-virtual {v0}, Landroid/widget/CheckBox;.isChecked:()Z // method@00cc │ │ -01db42: 0a00 |00cb: move-result v0 │ │ -01db44: 4607 0c09 |00cc: aget-object v7, v12, v9 │ │ -01db48: 1f07 7300 |00ce: check-cast v7, Landroid/widget/TextView; // type@0073 │ │ -01db4c: 6e10 0401 0700 |00d0: invoke-virtual {v7}, Landroid/widget/TextView;.getText:()Ljava/lang/CharSequence; // method@0104 │ │ -01db52: 0c07 |00d3: move-result-object v7 │ │ -01db54: 7210 5205 0700 |00d4: invoke-interface {v7}, Ljava/lang/CharSequence;.toString:()Ljava/lang/String; // method@0552 │ │ -01db5a: 0c07 |00d7: move-result-object v7 │ │ -01db5c: 460a 0c05 |00d8: aget-object v10, v12, v5 │ │ -01db60: 1f0a 7300 |00da: check-cast v10, Landroid/widget/TextView; // type@0073 │ │ -01db64: 6e10 0401 0a00 |00dc: invoke-virtual {v10}, Landroid/widget/TextView;.getText:()Ljava/lang/CharSequence; // method@0104 │ │ -01db6a: 0c0a |00df: move-result-object v10 │ │ -01db6c: 7210 5205 0a00 |00e0: invoke-interface {v10}, Ljava/lang/CharSequence;.toString:()Ljava/lang/String; // method@0552 │ │ -01db72: 0c0a |00e3: move-result-object v10 │ │ -01db74: 460b 0c08 |00e4: aget-object v11, v12, v8 │ │ -01db78: 1f0b 7300 |00e6: check-cast v11, Landroid/widget/TextView; // type@0073 │ │ -01db7c: 6e10 0401 0b00 |00e8: invoke-virtual {v11}, Landroid/widget/TextView;.getText:()Ljava/lang/CharSequence; // method@0104 │ │ -01db82: 0c0b |00eb: move-result-object v11 │ │ -01db84: 7210 5205 0b00 |00ec: invoke-interface {v11}, Ljava/lang/CharSequence;.toString:()Ljava/lang/String; // method@0552 │ │ -01db8a: 0c0b |00ef: move-result-object v11 │ │ -01db8c: 460c 0209 |00f0: aget-object v12, v2, v9 │ │ -01db90: 1f0c 7300 |00f2: check-cast v12, Landroid/widget/TextView; // type@0073 │ │ -01db94: 6e10 0401 0c00 |00f4: invoke-virtual {v12}, Landroid/widget/TextView;.getText:()Ljava/lang/CharSequence; // method@0104 │ │ -01db9a: 0c0c |00f7: move-result-object v12 │ │ -01db9c: 7210 5205 0c00 |00f8: invoke-interface {v12}, Ljava/lang/CharSequence;.toString:()Ljava/lang/String; // method@0552 │ │ -01dba2: 0c0c |00fb: move-result-object v12 │ │ -01dba4: 6e20 8d05 7c00 |00fc: invoke-virtual {v12, v7}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058d │ │ -01dbaa: 0a0e |00ff: move-result v14 │ │ -01dbac: 390e 4b00 |0100: if-nez v14, 014b // +004b │ │ -01dbb0: 620e 3c01 |0102: sget-object v14, Ldnsfilter/android/FilterConfig;.NEW_ITEM:Ljava/lang/String; // field@013c │ │ -01dbb4: 6e20 8d05 ec00 |0104: invoke-virtual {v12, v14}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058d │ │ -01dbba: 0a0e |0107: move-result v14 │ │ -01dbbc: 390e 2500 |0108: if-nez v14, 012d // +0025 │ │ -01dbc0: 541e 3f01 |010a: iget-object v14, v1, Ldnsfilter/android/FilterConfig;.categoryMap:Ljava/util/TreeMap; // field@013f │ │ -01dbc4: 6e20 6f06 ce00 |010c: invoke-virtual {v14, v12}, Ljava/util/TreeMap;.get:(Ljava/lang/Object;)Ljava/lang/Object; // method@066f │ │ -01dbca: 0c0e |010f: move-result-object v14 │ │ -01dbcc: 1f0e 1e01 |0110: check-cast v14, Ljava/lang/Integer; // type@011e │ │ -01dbd0: 6e10 6605 0e00 |0112: invoke-virtual {v14}, Ljava/lang/Integer;.intValue:()I // method@0566 │ │ -01dbd6: 0a0f |0115: move-result v15 │ │ -01dbd8: 339f 0800 |0116: if-ne v15, v9, 011e // +0008 │ │ -01dbdc: 541e 3f01 |0118: iget-object v14, v1, Ldnsfilter/android/FilterConfig;.categoryMap:Ljava/util/TreeMap; // field@013f │ │ -01dbe0: 6e20 7406 ce00 |011a: invoke-virtual {v14, v12}, Ljava/util/TreeMap;.remove:(Ljava/lang/Object;)Ljava/lang/Object; // method@0674 │ │ -01dbe6: 2810 |011d: goto 012d // +0010 │ │ -01dbe8: 541f 3f01 |011e: iget-object v15, v1, Ldnsfilter/android/FilterConfig;.categoryMap:Ljava/util/TreeMap; // field@013f │ │ -01dbec: 2203 1e01 |0120: new-instance v3, Ljava/lang/Integer; // type@011e │ │ -01dbf0: 6e10 6605 0e00 |0122: invoke-virtual {v14}, Ljava/lang/Integer;.intValue:()I // method@0566 │ │ -01dbf6: 0a0e |0125: move-result v14 │ │ -01dbf8: b19e |0126: sub-int/2addr v14, v9 │ │ -01dbfa: 7020 6505 e300 |0127: invoke-direct {v3, v14}, Ljava/lang/Integer;.:(I)V // method@0565 │ │ -01dc00: 6e30 7306 cf03 |012a: invoke-virtual {v15, v12, v3}, Ljava/util/TreeMap;.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; // method@0673 │ │ -01dc06: 5413 3f01 |012d: iget-object v3, v1, Ldnsfilter/android/FilterConfig;.categoryMap:Ljava/util/TreeMap; // field@013f │ │ -01dc0a: 6e20 6f06 7300 |012f: invoke-virtual {v3, v7}, Ljava/util/TreeMap;.get:(Ljava/lang/Object;)Ljava/lang/Object; // method@066f │ │ -01dc10: 0c03 |0132: move-result-object v3 │ │ -01dc12: 1f03 1e01 |0133: check-cast v3, Ljava/lang/Integer; // type@011e │ │ -01dc16: 3903 0700 |0135: if-nez v3, 013c // +0007 │ │ -01dc1a: 2203 1e01 |0137: new-instance v3, Ljava/lang/Integer; // type@011e │ │ -01dc1e: 7020 6505 d300 |0139: invoke-direct {v3, v13}, Ljava/lang/Integer;.:(I)V // method@0565 │ │ -01dc24: 541c 3f01 |013c: iget-object v12, v1, Ldnsfilter/android/FilterConfig;.categoryMap:Ljava/util/TreeMap; // field@013f │ │ -01dc28: 220e 1e01 |013e: new-instance v14, Ljava/lang/Integer; // type@011e │ │ -01dc2c: 6e10 6605 0300 |0140: invoke-virtual {v3}, Ljava/lang/Integer;.intValue:()I // method@0566 │ │ -01dc32: 0a03 |0143: move-result v3 │ │ -01dc34: b093 |0144: add-int/2addr v3, v9 │ │ -01dc36: 7020 6505 3e00 |0145: invoke-direct {v14, v3}, Ljava/lang/Integer;.:(I)V // method@0565 │ │ -01dc3c: 6e30 7306 7c0e |0148: invoke-virtual {v12, v7, v14}, Ljava/util/TreeMap;.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; // method@0673 │ │ -01dc42: 4603 020d |014b: aget-object v3, v2, v13 │ │ -01dc46: 1f03 6400 |014d: check-cast v3, Landroid/widget/CheckBox; // type@0064 │ │ -01dc4a: 6e20 cd00 0300 |014f: invoke-virtual {v3, v0}, Landroid/widget/CheckBox;.setChecked:(Z)V // method@00cd │ │ -01dc50: 4600 0209 |0152: aget-object v0, v2, v9 │ │ -01dc54: 1f00 7300 |0154: check-cast v0, Landroid/widget/TextView; // type@0073 │ │ -01dc58: 6e20 0901 7000 |0156: invoke-virtual {v0, v7}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@0109 │ │ -01dc5e: 4600 0205 |0159: aget-object v0, v2, v5 │ │ -01dc62: 1f00 7300 |015b: check-cast v0, Landroid/widget/TextView; // type@0073 │ │ -01dc66: 6e20 0901 a000 |015d: invoke-virtual {v0, v10}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@0109 │ │ -01dc6c: 4600 0208 |0160: aget-object v0, v2, v8 │ │ -01dc70: 1f00 7300 |0162: check-cast v0, Landroid/widget/TextView; // type@0073 │ │ -01dc74: 6e20 0901 b000 |0164: invoke-virtual {v0, v11}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@0109 │ │ -01dc7a: 3806 0700 |0167: if-eqz v6, 016e // +0007 │ │ -01dc7e: 5410 4601 |0169: iget-object v0, v1, Ldnsfilter/android/FilterConfig;.editedRow:Landroid/widget/TableRow; // field@0146 │ │ -01dc82: 7020 4303 0100 |016b: invoke-direct {v1, v0}, Ldnsfilter/android/FilterConfig;.newItem:(Landroid/widget/TableRow;)V // method@0343 │ │ -01dc88: 5410 4401 |016e: iget-object v0, v1, Ldnsfilter/android/FilterConfig;.editDialog:Landroid/app/Dialog; // field@0144 │ │ -01dc8c: 6e10 1600 0000 |0170: invoke-virtual {v0}, Landroid/app/Dialog;.dismiss:()V // method@0016 │ │ -01dc92: 5410 4401 |0173: iget-object v0, v1, Ldnsfilter/android/FilterConfig;.editDialog:Landroid/app/Dialog; // field@0144 │ │ -01dc96: 6e20 1700 4000 |0175: invoke-virtual {v0, v4}, Landroid/app/Dialog;.findViewById:(I)Landroid/view/View; // method@0017 │ │ -01dc9c: 0c00 |0178: move-result-object v0 │ │ -01dc9e: 1302 0800 |0179: const/16 v2, #int 8 // #8 │ │ -01dca2: 6e20 b400 2000 |017b: invoke-virtual {v0, v2}, Landroid/view/View;.setVisibility:(I)V // method@00b4 │ │ -01dca8: 2815 |017e: goto 0193 // +0015 │ │ -01dcaa: 0d00 |017f: move-exception v0 │ │ -01dcac: 0702 |0180: move-object v2, v0 │ │ -01dcae: 5410 4401 |0181: iget-object v0, v1, Ldnsfilter/android/FilterConfig;.editDialog:Landroid/app/Dialog; // field@0144 │ │ -01dcb2: 6e20 1700 4000 |0183: invoke-virtual {v0, v4}, Landroid/app/Dialog;.findViewById:(I)Landroid/view/View; // method@0017 │ │ -01dcb8: 0c00 |0186: move-result-object v0 │ │ -01dcba: 1f00 7300 |0187: check-cast v0, Landroid/widget/TextView; // type@0073 │ │ -01dcbe: 6e20 0b01 d000 |0189: invoke-virtual {v0, v13}, Landroid/widget/TextView;.setVisibility:(I)V // method@010b │ │ -01dcc4: 6e10 5d05 0200 |018c: invoke-virtual {v2}, Ljava/lang/Exception;.getMessage:()Ljava/lang/String; // method@055d │ │ -01dcca: 0c02 |018f: move-result-object v2 │ │ -01dccc: 6e20 0901 2000 |0190: invoke-virtual {v0, v2}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@0109 │ │ -01dcd2: 0e00 |0193: return-void │ │ +01d998: |[01d998] dnsfilter.android.FilterConfig.handleEditDialogEvent:(Landroid/view/View;)V │ │ +01d9a8: 0801 1000 |0000: move-object/from16 v1, v16 │ │ +01d9ac: 0800 1100 |0002: move-object/from16 v0, v17 │ │ +01d9b0: 5412 4201 |0004: iget-object v2, v1, Ldnsfilter/android/FilterConfig;.editCancel:Landroid/widget/Button; // field@0142 │ │ +01d9b4: 1303 0800 |0006: const/16 v3, #int 8 // #8 │ │ +01d9b8: 1404 2800 057f |0008: const v4, #float 1.76788e+38 // #7f050028 │ │ +01d9be: 3320 1100 |000b: if-ne v0, v2, 001c // +0011 │ │ +01d9c2: 5410 4401 |000d: iget-object v0, v1, Ldnsfilter/android/FilterConfig;.editDialog:Landroid/app/Dialog; // field@0144 │ │ +01d9c6: 6e10 1600 0000 |000f: invoke-virtual {v0}, Landroid/app/Dialog;.dismiss:()V // method@0016 │ │ +01d9cc: 5410 4401 |0012: iget-object v0, v1, Ldnsfilter/android/FilterConfig;.editDialog:Landroid/app/Dialog; // field@0144 │ │ +01d9d0: 6e20 1700 4000 |0014: invoke-virtual {v0, v4}, Landroid/app/Dialog;.findViewById:(I)Landroid/view/View; // method@0017 │ │ +01d9d6: 0c00 |0017: move-result-object v0 │ │ +01d9d8: 6e20 b400 3000 |0018: invoke-virtual {v0, v3}, Landroid/view/View;.setVisibility:(I)V // method@00b4 │ │ +01d9de: 0e00 |001b: return-void │ │ +01d9e0: 5412 4601 |001c: iget-object v2, v1, Ldnsfilter/android/FilterConfig;.editedRow:Landroid/widget/TableRow; // field@0146 │ │ +01d9e4: 7020 3d03 2100 |001e: invoke-direct {v1, v2}, Ldnsfilter/android/FilterConfig;.getContentCells:(Landroid/widget/TableRow;)[Landroid/view/View; // method@033d │ │ +01d9ea: 0c02 |0021: move-result-object v2 │ │ +01d9ec: 1225 |0022: const/4 v5, #int 2 // #2 │ │ +01d9ee: 4606 0205 |0023: aget-object v6, v2, v5 │ │ +01d9f2: 1f06 7300 |0025: check-cast v6, Landroid/widget/TextView; // type@0073 │ │ +01d9f6: 6e10 0401 0600 |0027: invoke-virtual {v6}, Landroid/widget/TextView;.getText:()Ljava/lang/CharSequence; // method@0104 │ │ +01d9fc: 0c06 |002a: move-result-object v6 │ │ +01d9fe: 7210 5205 0600 |002b: invoke-interface {v6}, Ljava/lang/CharSequence;.toString:()Ljava/lang/String; // method@0552 │ │ +01da04: 0c06 |002e: move-result-object v6 │ │ +01da06: 6207 3c01 |002f: sget-object v7, Ldnsfilter/android/FilterConfig;.NEW_ITEM:Ljava/lang/String; // field@013c │ │ +01da0a: 6e20 8d05 7600 |0031: invoke-virtual {v6, v7}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058d │ │ +01da10: 0a06 |0034: move-result v6 │ │ +01da12: 5417 4301 |0035: iget-object v7, v1, Ldnsfilter/android/FilterConfig;.editDelete:Landroid/widget/Button; // field@0143 │ │ +01da16: 1238 |0037: const/4 v8, #int 3 // #3 │ │ +01da18: 1219 |0038: const/4 v9, #int 1 // #1 │ │ +01da1a: 3370 5400 |0039: if-ne v0, v7, 008d // +0054 │ │ +01da1e: 3906 4200 |003b: if-nez v6, 007d // +0042 │ │ +01da22: 5410 4601 |003d: iget-object v0, v1, Ldnsfilter/android/FilterConfig;.editedRow:Landroid/widget/TableRow; // field@0146 │ │ +01da26: 6e20 ff00 8000 |003f: invoke-virtual {v0, v8}, Landroid/widget/TableRow;.getChildAt:(I)Landroid/view/View; // method@00ff │ │ +01da2c: 0c00 |0042: move-result-object v0 │ │ +01da2e: 1205 |0043: const/4 v5, #int 0 // #0 │ │ +01da30: 6e20 b200 5000 |0044: invoke-virtual {v0, v5}, Landroid/view/View;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@00b2 │ │ +01da36: 5410 4101 |0047: iget-object v0, v1, Ldnsfilter/android/FilterConfig;.configTable:Landroid/widget/TableLayout; // field@0141 │ │ +01da3a: 5415 4601 |0049: iget-object v5, v1, Ldnsfilter/android/FilterConfig;.editedRow:Landroid/widget/TableRow; // field@0146 │ │ +01da3e: 6e20 fe00 5000 |004b: invoke-virtual {v0, v5}, Landroid/widget/TableLayout;.removeView:(Landroid/view/View;)V // method@00fe │ │ +01da44: 4600 0209 |004e: aget-object v0, v2, v9 │ │ +01da48: 1f00 7300 |0050: check-cast v0, Landroid/widget/TextView; // type@0073 │ │ +01da4c: 6e10 0401 0000 |0052: invoke-virtual {v0}, Landroid/widget/TextView;.getText:()Ljava/lang/CharSequence; // method@0104 │ │ +01da52: 0c00 |0055: move-result-object v0 │ │ +01da54: 7210 5205 0000 |0056: invoke-interface {v0}, Ljava/lang/CharSequence;.toString:()Ljava/lang/String; // method@0552 │ │ +01da5a: 0c00 |0059: move-result-object v0 │ │ +01da5c: 5412 3f01 |005a: iget-object v2, v1, Ldnsfilter/android/FilterConfig;.categoryMap:Ljava/util/TreeMap; // field@013f │ │ +01da60: 6e20 6f06 0200 |005c: invoke-virtual {v2, v0}, Ljava/util/TreeMap;.get:(Ljava/lang/Object;)Ljava/lang/Object; // method@066f │ │ +01da66: 0c02 |005f: move-result-object v2 │ │ +01da68: 1f02 1e01 |0060: check-cast v2, Ljava/lang/Integer; // type@011e │ │ +01da6c: 6e10 6605 0200 |0062: invoke-virtual {v2}, Ljava/lang/Integer;.intValue:()I // method@0566 │ │ +01da72: 0a05 |0065: move-result v5 │ │ +01da74: 3395 0800 |0066: if-ne v5, v9, 006e // +0008 │ │ +01da78: 5412 3f01 |0068: iget-object v2, v1, Ldnsfilter/android/FilterConfig;.categoryMap:Ljava/util/TreeMap; // field@013f │ │ +01da7c: 6e20 7406 0200 |006a: invoke-virtual {v2, v0}, Ljava/util/TreeMap;.remove:(Ljava/lang/Object;)Ljava/lang/Object; // method@0674 │ │ +01da82: 2810 |006d: goto 007d // +0010 │ │ +01da84: 5415 3f01 |006e: iget-object v5, v1, Ldnsfilter/android/FilterConfig;.categoryMap:Ljava/util/TreeMap; // field@013f │ │ +01da88: 2206 1e01 |0070: new-instance v6, Ljava/lang/Integer; // type@011e │ │ +01da8c: 6e10 6605 0200 |0072: invoke-virtual {v2}, Ljava/lang/Integer;.intValue:()I // method@0566 │ │ +01da92: 0a02 |0075: move-result v2 │ │ +01da94: b192 |0076: sub-int/2addr v2, v9 │ │ +01da96: 7020 6505 2600 |0077: invoke-direct {v6, v2}, Ljava/lang/Integer;.:(I)V // method@0565 │ │ +01da9c: 6e30 7306 0506 |007a: invoke-virtual {v5, v0, v6}, Ljava/util/TreeMap;.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; // method@0673 │ │ +01daa2: 5410 4401 |007d: iget-object v0, v1, Ldnsfilter/android/FilterConfig;.editDialog:Landroid/app/Dialog; // field@0144 │ │ +01daa6: 6e10 1600 0000 |007f: invoke-virtual {v0}, Landroid/app/Dialog;.dismiss:()V // method@0016 │ │ +01daac: 5410 4401 |0082: iget-object v0, v1, Ldnsfilter/android/FilterConfig;.editDialog:Landroid/app/Dialog; // field@0144 │ │ +01dab0: 6e20 1700 4000 |0084: invoke-virtual {v0, v4}, Landroid/app/Dialog;.findViewById:(I)Landroid/view/View; // method@0017 │ │ +01dab6: 0c00 |0087: move-result-object v0 │ │ +01dab8: 6e20 b400 3000 |0088: invoke-virtual {v0, v3}, Landroid/view/View;.setVisibility:(I)V // method@00b4 │ │ +01dabe: 2900 0801 |008b: goto/16 0193 // +0108 │ │ +01dac2: 5417 4501 |008d: iget-object v7, v1, Ldnsfilter/android/FilterConfig;.editOk:Landroid/widget/Button; // field@0145 │ │ +01dac6: 3370 0401 |008f: if-ne v0, v7, 0193 // +0104 │ │ +01daca: 5410 4401 |0091: iget-object v0, v1, Ldnsfilter/android/FilterConfig;.editDialog:Landroid/app/Dialog; // field@0144 │ │ +01dace: 1407 0400 057f |0093: const v7, #float 1.76787e+38 // #7f050004 │ │ +01dad4: 6e20 1700 7000 |0096: invoke-virtual {v0, v7}, Landroid/app/Dialog;.findViewById:(I)Landroid/view/View; // method@0017 │ │ +01dada: 0c00 |0099: move-result-object v0 │ │ +01dadc: 5417 4401 |009a: iget-object v7, v1, Ldnsfilter/android/FilterConfig;.editDialog:Landroid/app/Dialog; // field@0144 │ │ +01dae0: 140a 2900 057f |009c: const v10, #float 1.76788e+38 // #7f050029 │ │ +01dae6: 6e20 1700 a700 |009f: invoke-virtual {v7, v10}, Landroid/app/Dialog;.findViewById:(I)Landroid/view/View; // method@0017 │ │ +01daec: 0c07 |00a2: move-result-object v7 │ │ +01daee: 541a 4401 |00a3: iget-object v10, v1, Ldnsfilter/android/FilterConfig;.editDialog:Landroid/app/Dialog; // field@0144 │ │ +01daf2: 140b 2d00 057f |00a5: const v11, #float 1.76788e+38 // #7f05002d │ │ +01daf8: 6e20 1700 ba00 |00a8: invoke-virtual {v10, v11}, Landroid/app/Dialog;.findViewById:(I)Landroid/view/View; // method@0017 │ │ +01dafe: 0c0a |00ab: move-result-object v10 │ │ +01db00: 541b 4401 |00ac: iget-object v11, v1, Ldnsfilter/android/FilterConfig;.editDialog:Landroid/app/Dialog; // field@0144 │ │ +01db04: 140c 2f00 057f |00ae: const v12, #float 1.76788e+38 // #7f05002f │ │ +01db0a: 6e20 1700 cb00 |00b1: invoke-virtual {v11, v12}, Landroid/app/Dialog;.findViewById:(I)Landroid/view/View; // method@0017 │ │ +01db10: 0c0b |00b4: move-result-object v11 │ │ +01db12: 124c |00b5: const/4 v12, #int 4 // #4 │ │ +01db14: 23cc a201 |00b6: new-array v12, v12, [Landroid/view/View; // type@01a2 │ │ +01db18: 120d |00b8: const/4 v13, #int 0 // #0 │ │ +01db1a: 4d00 0c0d |00b9: aput-object v0, v12, v13 │ │ +01db1e: 4d07 0c09 |00bb: aput-object v7, v12, v9 │ │ +01db22: 4d0a 0c05 |00bd: aput-object v10, v12, v5 │ │ +01db26: 4d0b 0c08 |00bf: aput-object v11, v12, v8 │ │ +01db2a: 7020 4c03 c100 |00c1: invoke-direct {v1, v12}, Ldnsfilter/android/FilterConfig;.validateContent:([Landroid/view/View;)V // method@034c │ │ +01db30: 4600 0c0d |00c4: aget-object v0, v12, v13 │ │ +01db34: 1f00 6400 |00c6: check-cast v0, Landroid/widget/CheckBox; // type@0064 │ │ +01db38: 6e10 cc00 0000 |00c8: invoke-virtual {v0}, Landroid/widget/CheckBox;.isChecked:()Z // method@00cc │ │ +01db3e: 0a00 |00cb: move-result v0 │ │ +01db40: 4607 0c09 |00cc: aget-object v7, v12, v9 │ │ +01db44: 1f07 7300 |00ce: check-cast v7, Landroid/widget/TextView; // type@0073 │ │ +01db48: 6e10 0401 0700 |00d0: invoke-virtual {v7}, Landroid/widget/TextView;.getText:()Ljava/lang/CharSequence; // method@0104 │ │ +01db4e: 0c07 |00d3: move-result-object v7 │ │ +01db50: 7210 5205 0700 |00d4: invoke-interface {v7}, Ljava/lang/CharSequence;.toString:()Ljava/lang/String; // method@0552 │ │ +01db56: 0c07 |00d7: move-result-object v7 │ │ +01db58: 460a 0c05 |00d8: aget-object v10, v12, v5 │ │ +01db5c: 1f0a 7300 |00da: check-cast v10, Landroid/widget/TextView; // type@0073 │ │ +01db60: 6e10 0401 0a00 |00dc: invoke-virtual {v10}, Landroid/widget/TextView;.getText:()Ljava/lang/CharSequence; // method@0104 │ │ +01db66: 0c0a |00df: move-result-object v10 │ │ +01db68: 7210 5205 0a00 |00e0: invoke-interface {v10}, Ljava/lang/CharSequence;.toString:()Ljava/lang/String; // method@0552 │ │ +01db6e: 0c0a |00e3: move-result-object v10 │ │ +01db70: 460b 0c08 |00e4: aget-object v11, v12, v8 │ │ +01db74: 1f0b 7300 |00e6: check-cast v11, Landroid/widget/TextView; // type@0073 │ │ +01db78: 6e10 0401 0b00 |00e8: invoke-virtual {v11}, Landroid/widget/TextView;.getText:()Ljava/lang/CharSequence; // method@0104 │ │ +01db7e: 0c0b |00eb: move-result-object v11 │ │ +01db80: 7210 5205 0b00 |00ec: invoke-interface {v11}, Ljava/lang/CharSequence;.toString:()Ljava/lang/String; // method@0552 │ │ +01db86: 0c0b |00ef: move-result-object v11 │ │ +01db88: 460c 0209 |00f0: aget-object v12, v2, v9 │ │ +01db8c: 1f0c 7300 |00f2: check-cast v12, Landroid/widget/TextView; // type@0073 │ │ +01db90: 6e10 0401 0c00 |00f4: invoke-virtual {v12}, Landroid/widget/TextView;.getText:()Ljava/lang/CharSequence; // method@0104 │ │ +01db96: 0c0c |00f7: move-result-object v12 │ │ +01db98: 7210 5205 0c00 |00f8: invoke-interface {v12}, Ljava/lang/CharSequence;.toString:()Ljava/lang/String; // method@0552 │ │ +01db9e: 0c0c |00fb: move-result-object v12 │ │ +01dba0: 6e20 8d05 7c00 |00fc: invoke-virtual {v12, v7}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058d │ │ +01dba6: 0a0e |00ff: move-result v14 │ │ +01dba8: 390e 4b00 |0100: if-nez v14, 014b // +004b │ │ +01dbac: 620e 3c01 |0102: sget-object v14, Ldnsfilter/android/FilterConfig;.NEW_ITEM:Ljava/lang/String; // field@013c │ │ +01dbb0: 6e20 8d05 ec00 |0104: invoke-virtual {v12, v14}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058d │ │ +01dbb6: 0a0e |0107: move-result v14 │ │ +01dbb8: 390e 2500 |0108: if-nez v14, 012d // +0025 │ │ +01dbbc: 541e 3f01 |010a: iget-object v14, v1, Ldnsfilter/android/FilterConfig;.categoryMap:Ljava/util/TreeMap; // field@013f │ │ +01dbc0: 6e20 6f06 ce00 |010c: invoke-virtual {v14, v12}, Ljava/util/TreeMap;.get:(Ljava/lang/Object;)Ljava/lang/Object; // method@066f │ │ +01dbc6: 0c0e |010f: move-result-object v14 │ │ +01dbc8: 1f0e 1e01 |0110: check-cast v14, Ljava/lang/Integer; // type@011e │ │ +01dbcc: 6e10 6605 0e00 |0112: invoke-virtual {v14}, Ljava/lang/Integer;.intValue:()I // method@0566 │ │ +01dbd2: 0a0f |0115: move-result v15 │ │ +01dbd4: 339f 0800 |0116: if-ne v15, v9, 011e // +0008 │ │ +01dbd8: 541e 3f01 |0118: iget-object v14, v1, Ldnsfilter/android/FilterConfig;.categoryMap:Ljava/util/TreeMap; // field@013f │ │ +01dbdc: 6e20 7406 ce00 |011a: invoke-virtual {v14, v12}, Ljava/util/TreeMap;.remove:(Ljava/lang/Object;)Ljava/lang/Object; // method@0674 │ │ +01dbe2: 2810 |011d: goto 012d // +0010 │ │ +01dbe4: 541f 3f01 |011e: iget-object v15, v1, Ldnsfilter/android/FilterConfig;.categoryMap:Ljava/util/TreeMap; // field@013f │ │ +01dbe8: 2203 1e01 |0120: new-instance v3, Ljava/lang/Integer; // type@011e │ │ +01dbec: 6e10 6605 0e00 |0122: invoke-virtual {v14}, Ljava/lang/Integer;.intValue:()I // method@0566 │ │ +01dbf2: 0a0e |0125: move-result v14 │ │ +01dbf4: b19e |0126: sub-int/2addr v14, v9 │ │ +01dbf6: 7020 6505 e300 |0127: invoke-direct {v3, v14}, Ljava/lang/Integer;.:(I)V // method@0565 │ │ +01dbfc: 6e30 7306 cf03 |012a: invoke-virtual {v15, v12, v3}, Ljava/util/TreeMap;.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; // method@0673 │ │ +01dc02: 5413 3f01 |012d: iget-object v3, v1, Ldnsfilter/android/FilterConfig;.categoryMap:Ljava/util/TreeMap; // field@013f │ │ +01dc06: 6e20 6f06 7300 |012f: invoke-virtual {v3, v7}, Ljava/util/TreeMap;.get:(Ljava/lang/Object;)Ljava/lang/Object; // method@066f │ │ +01dc0c: 0c03 |0132: move-result-object v3 │ │ +01dc0e: 1f03 1e01 |0133: check-cast v3, Ljava/lang/Integer; // type@011e │ │ +01dc12: 3903 0700 |0135: if-nez v3, 013c // +0007 │ │ +01dc16: 2203 1e01 |0137: new-instance v3, Ljava/lang/Integer; // type@011e │ │ +01dc1a: 7020 6505 d300 |0139: invoke-direct {v3, v13}, Ljava/lang/Integer;.:(I)V // method@0565 │ │ +01dc20: 541c 3f01 |013c: iget-object v12, v1, Ldnsfilter/android/FilterConfig;.categoryMap:Ljava/util/TreeMap; // field@013f │ │ +01dc24: 220e 1e01 |013e: new-instance v14, Ljava/lang/Integer; // type@011e │ │ +01dc28: 6e10 6605 0300 |0140: invoke-virtual {v3}, Ljava/lang/Integer;.intValue:()I // method@0566 │ │ +01dc2e: 0a03 |0143: move-result v3 │ │ +01dc30: b093 |0144: add-int/2addr v3, v9 │ │ +01dc32: 7020 6505 3e00 |0145: invoke-direct {v14, v3}, Ljava/lang/Integer;.:(I)V // method@0565 │ │ +01dc38: 6e30 7306 7c0e |0148: invoke-virtual {v12, v7, v14}, Ljava/util/TreeMap;.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; // method@0673 │ │ +01dc3e: 4603 020d |014b: aget-object v3, v2, v13 │ │ +01dc42: 1f03 6400 |014d: check-cast v3, Landroid/widget/CheckBox; // type@0064 │ │ +01dc46: 6e20 cd00 0300 |014f: invoke-virtual {v3, v0}, Landroid/widget/CheckBox;.setChecked:(Z)V // method@00cd │ │ +01dc4c: 4600 0209 |0152: aget-object v0, v2, v9 │ │ +01dc50: 1f00 7300 |0154: check-cast v0, Landroid/widget/TextView; // type@0073 │ │ +01dc54: 6e20 0901 7000 |0156: invoke-virtual {v0, v7}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@0109 │ │ +01dc5a: 4600 0205 |0159: aget-object v0, v2, v5 │ │ +01dc5e: 1f00 7300 |015b: check-cast v0, Landroid/widget/TextView; // type@0073 │ │ +01dc62: 6e20 0901 a000 |015d: invoke-virtual {v0, v10}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@0109 │ │ +01dc68: 4600 0208 |0160: aget-object v0, v2, v8 │ │ +01dc6c: 1f00 7300 |0162: check-cast v0, Landroid/widget/TextView; // type@0073 │ │ +01dc70: 6e20 0901 b000 |0164: invoke-virtual {v0, v11}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@0109 │ │ +01dc76: 3806 0700 |0167: if-eqz v6, 016e // +0007 │ │ +01dc7a: 5410 4601 |0169: iget-object v0, v1, Ldnsfilter/android/FilterConfig;.editedRow:Landroid/widget/TableRow; // field@0146 │ │ +01dc7e: 7020 4303 0100 |016b: invoke-direct {v1, v0}, Ldnsfilter/android/FilterConfig;.newItem:(Landroid/widget/TableRow;)V // method@0343 │ │ +01dc84: 5410 4401 |016e: iget-object v0, v1, Ldnsfilter/android/FilterConfig;.editDialog:Landroid/app/Dialog; // field@0144 │ │ +01dc88: 6e10 1600 0000 |0170: invoke-virtual {v0}, Landroid/app/Dialog;.dismiss:()V // method@0016 │ │ +01dc8e: 5410 4401 |0173: iget-object v0, v1, Ldnsfilter/android/FilterConfig;.editDialog:Landroid/app/Dialog; // field@0144 │ │ +01dc92: 6e20 1700 4000 |0175: invoke-virtual {v0, v4}, Landroid/app/Dialog;.findViewById:(I)Landroid/view/View; // method@0017 │ │ +01dc98: 0c00 |0178: move-result-object v0 │ │ +01dc9a: 1302 0800 |0179: const/16 v2, #int 8 // #8 │ │ +01dc9e: 6e20 b400 2000 |017b: invoke-virtual {v0, v2}, Landroid/view/View;.setVisibility:(I)V // method@00b4 │ │ +01dca4: 2815 |017e: goto 0193 // +0015 │ │ +01dca6: 0d00 |017f: move-exception v0 │ │ +01dca8: 0702 |0180: move-object v2, v0 │ │ +01dcaa: 5410 4401 |0181: iget-object v0, v1, Ldnsfilter/android/FilterConfig;.editDialog:Landroid/app/Dialog; // field@0144 │ │ +01dcae: 6e20 1700 4000 |0183: invoke-virtual {v0, v4}, Landroid/app/Dialog;.findViewById:(I)Landroid/view/View; // method@0017 │ │ +01dcb4: 0c00 |0186: move-result-object v0 │ │ +01dcb6: 1f00 7300 |0187: check-cast v0, Landroid/widget/TextView; // type@0073 │ │ +01dcba: 6e20 0b01 d000 |0189: invoke-virtual {v0, v13}, Landroid/widget/TextView;.setVisibility:(I)V // method@010b │ │ +01dcc0: 6e10 5d05 0200 |018c: invoke-virtual {v2}, Ljava/lang/Exception;.getMessage:()Ljava/lang/String; // method@055d │ │ +01dcc6: 0c02 |018f: move-result-object v2 │ │ +01dcc8: 6e20 0901 2000 |0190: invoke-virtual {v0, v2}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@0109 │ │ +01dcce: 0e00 |0193: return-void │ │ catches : 1 │ │ 0x00c1 - 0x00c4 │ │ Ljava/lang/Exception; -> 0x017f │ │ positions : │ │ 0x0004 line=262 │ │ 0x000d line=263 │ │ 0x0012 line=264 │ │ @@ -16658,17 +16658,17 @@ │ │ type : '(Landroid/widget/TableRow;)V' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 2 │ │ ins : 2 │ │ outs : 1 │ │ insns size : 4 16-bit code units │ │ -01dd48: |[01dd48] dnsfilter.android.FilterConfig.newItem:(Landroid/widget/TableRow;)V │ │ -01dd58: 7010 3a03 0000 |0000: invoke-direct {v0}, Ldnsfilter/android/FilterConfig;.addEmptyEndItem:()V // method@033a │ │ -01dd5e: 0e00 |0003: return-void │ │ +01dd44: |[01dd44] dnsfilter.android.FilterConfig.newItem:(Landroid/widget/TableRow;)V │ │ +01dd54: 7010 3a03 0000 |0000: invoke-direct {v0}, Ldnsfilter/android/FilterConfig;.addEmptyEndItem:()V // method@033a │ │ +01dd5a: 0e00 |0003: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=340 │ │ locals : │ │ 0x0000 - 0x0004 reg=0 this Ldnsfilter/android/FilterConfig; │ │ 0x0000 - 0x0004 reg=1 (null) Landroid/widget/TableRow; │ │ │ │ @@ -16677,41 +16677,41 @@ │ │ type : '()V' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 5 │ │ ins : 1 │ │ outs : 3 │ │ insns size : 55 16-bit code units │ │ -01ddd4: |[01ddd4] dnsfilter.android.FilterConfig.restoreDefaultFilters:()V │ │ -01dde4: 7100 4f01 0000 |0000: invoke-static {}, Ldnsfilter/ConfigurationAccess;.getCurrent:()Ldnsfilter/ConfigurationAccess; // method@014f │ │ -01ddea: 0c00 |0003: move-result-object v0 │ │ -01ddec: 6e10 5001 0000 |0004: invoke-virtual {v0}, Ldnsfilter/ConfigurationAccess;.getDefaultConfig:()Ljava/util/Properties; // method@0150 │ │ -01ddf2: 0c00 |0007: move-result-object v0 │ │ -01ddf4: 6e10 3c03 0400 |0008: invoke-virtual {v4}, Ldnsfilter/android/FilterConfig;.clear:()V // method@033c │ │ -01ddfa: 6201 1801 |000b: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.filterReloadIntervalView:Landroid/widget/EditText; // field@0118 │ │ -01ddfe: 1a02 db09 |000d: const-string v2, "reloadIntervalDays" // string@09db │ │ -01de02: 1a03 7f00 |000f: const-string v3, "7" // string@007f │ │ -01de06: 6e30 5706 2003 |0011: invoke-virtual {v0, v2, v3}, Ljava/util/Properties;.getProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@0657 │ │ -01de0c: 0c02 |0014: move-result-object v2 │ │ -01de0e: 6e20 e600 2100 |0015: invoke-virtual {v1, v2}, Landroid/widget/EditText;.setText:(Ljava/lang/CharSequence;)V // method@00e6 │ │ -01de14: 7110 3c01 0000 |0018: invoke-static {v0}, Ldnsfilter/ConfigUtil;.getConfiguredFilterLists:(Ljava/util/Properties;)[Ldnsfilter/ConfigUtil$HostFilterList; // method@013c │ │ -01de1a: 0c00 |001b: move-result-object v0 │ │ -01de1c: 6e20 4803 0400 |001c: invoke-virtual {v4, v0}, Ldnsfilter/android/FilterConfig;.setEntries:([Ldnsfilter/ConfigUtil$HostFilterList;)V // method@0348 │ │ -01de22: 6e10 4203 0400 |001f: invoke-virtual {v4}, Ldnsfilter/android/FilterConfig;.load:()V // method@0342 │ │ -01de28: 2814 |0022: goto 0036 // +0014 │ │ -01de2a: 0d00 |0023: move-exception v0 │ │ -01de2c: 7100 2707 0000 |0024: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0727 │ │ -01de32: 0c01 |0027: move-result-object v1 │ │ -01de34: 7220 3207 0100 |0028: invoke-interface {v1, v0}, Lutil/LoggerInterface;.logException:(Ljava/lang/Exception;)V // method@0732 │ │ -01de3a: 7100 2707 0000 |002b: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0727 │ │ -01de40: 0c01 |002e: move-result-object v1 │ │ -01de42: 6e10 6105 0000 |002f: invoke-virtual {v0}, Ljava/lang/Exception;.toString:()Ljava/lang/String; // method@0561 │ │ -01de48: 0c00 |0032: move-result-object v0 │ │ -01de4a: 7220 3407 0100 |0033: invoke-interface {v1, v0}, Lutil/LoggerInterface;.message:(Ljava/lang/String;)V // method@0734 │ │ -01de50: 0e00 |0036: return-void │ │ +01ddd0: |[01ddd0] dnsfilter.android.FilterConfig.restoreDefaultFilters:()V │ │ +01dde0: 7100 4f01 0000 |0000: invoke-static {}, Ldnsfilter/ConfigurationAccess;.getCurrent:()Ldnsfilter/ConfigurationAccess; // method@014f │ │ +01dde6: 0c00 |0003: move-result-object v0 │ │ +01dde8: 6e10 5001 0000 |0004: invoke-virtual {v0}, Ldnsfilter/ConfigurationAccess;.getDefaultConfig:()Ljava/util/Properties; // method@0150 │ │ +01ddee: 0c00 |0007: move-result-object v0 │ │ +01ddf0: 6e10 3c03 0400 |0008: invoke-virtual {v4}, Ldnsfilter/android/FilterConfig;.clear:()V // method@033c │ │ +01ddf6: 6201 1801 |000b: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.filterReloadIntervalView:Landroid/widget/EditText; // field@0118 │ │ +01ddfa: 1a02 db09 |000d: const-string v2, "reloadIntervalDays" // string@09db │ │ +01ddfe: 1a03 7f00 |000f: const-string v3, "7" // string@007f │ │ +01de02: 6e30 5706 2003 |0011: invoke-virtual {v0, v2, v3}, Ljava/util/Properties;.getProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@0657 │ │ +01de08: 0c02 |0014: move-result-object v2 │ │ +01de0a: 6e20 e600 2100 |0015: invoke-virtual {v1, v2}, Landroid/widget/EditText;.setText:(Ljava/lang/CharSequence;)V // method@00e6 │ │ +01de10: 7110 3c01 0000 |0018: invoke-static {v0}, Ldnsfilter/ConfigUtil;.getConfiguredFilterLists:(Ljava/util/Properties;)[Ldnsfilter/ConfigUtil$HostFilterList; // method@013c │ │ +01de16: 0c00 |001b: move-result-object v0 │ │ +01de18: 6e20 4803 0400 |001c: invoke-virtual {v4, v0}, Ldnsfilter/android/FilterConfig;.setEntries:([Ldnsfilter/ConfigUtil$HostFilterList;)V // method@0348 │ │ +01de1e: 6e10 4203 0400 |001f: invoke-virtual {v4}, Ldnsfilter/android/FilterConfig;.load:()V // method@0342 │ │ +01de24: 2814 |0022: goto 0036 // +0014 │ │ +01de26: 0d00 |0023: move-exception v0 │ │ +01de28: 7100 2707 0000 |0024: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0727 │ │ +01de2e: 0c01 |0027: move-result-object v1 │ │ +01de30: 7220 3207 0100 |0028: invoke-interface {v1, v0}, Lutil/LoggerInterface;.logException:(Ljava/lang/Exception;)V // method@0732 │ │ +01de36: 7100 2707 0000 |002b: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0727 │ │ +01de3c: 0c01 |002e: move-result-object v1 │ │ +01de3e: 6e10 6105 0000 |002f: invoke-virtual {v0}, Ljava/lang/Exception;.toString:()Ljava/lang/String; // method@0561 │ │ +01de44: 0c00 |0032: move-result-object v0 │ │ +01de46: 7220 3407 0100 |0033: invoke-interface {v1, v0}, Lutil/LoggerInterface;.message:(Ljava/lang/String;)V // method@0734 │ │ +01de4c: 0e00 |0036: return-void │ │ catches : 1 │ │ 0x0000 - 0x0022 │ │ Ljava/lang/Exception; -> 0x0023 │ │ positions : │ │ 0x0000 line=208 │ │ 0x0008 line=209 │ │ 0x000b line=210 │ │ @@ -16727,56 +16727,56 @@ │ │ type : '(Landroid/widget/TableRow;)V' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 7 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 79 16-bit code units │ │ -01df38: |[01df38] dnsfilter.android.FilterConfig.setVisibility:(Landroid/widget/TableRow;)V │ │ -01df48: 5450 3e01 |0000: iget-object v0, v5, Ldnsfilter/android/FilterConfig;.categoryField:Landroid/widget/TextView; // field@013e │ │ -01df4c: 6e10 0401 0000 |0002: invoke-virtual {v0}, Landroid/widget/TextView;.getText:()Ljava/lang/CharSequence; // method@0104 │ │ -01df52: 0c00 |0005: move-result-object v0 │ │ -01df54: 7210 5205 0000 |0006: invoke-interface {v0}, Ljava/lang/CharSequence;.toString:()Ljava/lang/String; // method@0552 │ │ -01df5a: 0c00 |0009: move-result-object v0 │ │ -01df5c: 1211 |000a: const/4 v1, #int 1 // #1 │ │ -01df5e: 6e20 0001 1600 |000b: invoke-virtual {v6, v1}, Landroid/widget/TableRow;.getVirtualChildAt:(I)Landroid/view/View; // method@0100 │ │ -01df64: 0c01 |000e: move-result-object v1 │ │ -01df66: 1f01 7300 |000f: check-cast v1, Landroid/widget/TextView; // type@0073 │ │ -01df6a: 6e10 0401 0100 |0011: invoke-virtual {v1}, Landroid/widget/TextView;.getText:()Ljava/lang/CharSequence; // method@0104 │ │ -01df70: 0c01 |0014: move-result-object v1 │ │ -01df72: 7210 5205 0100 |0015: invoke-interface {v1}, Ljava/lang/CharSequence;.toString:()Ljava/lang/String; // method@0552 │ │ -01df78: 0c01 |0018: move-result-object v1 │ │ -01df7a: 1202 |0019: const/4 v2, #int 0 // #0 │ │ -01df7c: 6e20 0001 2600 |001a: invoke-virtual {v6, v2}, Landroid/widget/TableRow;.getVirtualChildAt:(I)Landroid/view/View; // method@0100 │ │ -01df82: 0c03 |001d: move-result-object v3 │ │ -01df84: 1f03 6400 |001e: check-cast v3, Landroid/widget/CheckBox; // type@0064 │ │ -01df88: 6e10 cc00 0300 |0020: invoke-virtual {v3}, Landroid/widget/CheckBox;.isChecked:()Z // method@00cc │ │ -01df8e: 0a03 |0023: move-result v3 │ │ -01df90: 6204 3a01 |0024: sget-object v4, Ldnsfilter/android/FilterConfig;.ALL_CATEGORIES:Ljava/lang/String; // field@013a │ │ -01df94: 6e20 8d05 4000 |0026: invoke-virtual {v0, v4}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058d │ │ -01df9a: 0a04 |0029: move-result v4 │ │ -01df9c: 3904 2100 |002a: if-nez v4, 004b // +0021 │ │ -01dfa0: 6204 3901 |002c: sget-object v4, Ldnsfilter/android/FilterConfig;.ALL_ACTIVE:Ljava/lang/String; // field@0139 │ │ -01dfa4: 6e20 8d05 4000 |002e: invoke-virtual {v0, v4}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058d │ │ -01dfaa: 0a04 |0031: move-result v4 │ │ -01dfac: 3804 0400 |0032: if-eqz v4, 0036 // +0004 │ │ -01dfb0: 3903 1700 |0034: if-nez v3, 004b // +0017 │ │ -01dfb4: 6203 3c01 |0036: sget-object v3, Ldnsfilter/android/FilterConfig;.NEW_ITEM:Ljava/lang/String; // field@013c │ │ -01dfb8: 6e20 8d05 3100 |0038: invoke-virtual {v1, v3}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058d │ │ -01dfbe: 0a03 |003b: move-result v3 │ │ -01dfc0: 3903 0f00 |003c: if-nez v3, 004b // +000f │ │ -01dfc4: 6e20 8d05 0100 |003e: invoke-virtual {v1, v0}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058d │ │ -01dfca: 0a00 |0041: move-result v0 │ │ -01dfcc: 3800 0300 |0042: if-eqz v0, 0045 // +0003 │ │ -01dfd0: 2807 |0044: goto 004b // +0007 │ │ -01dfd2: 1300 0800 |0045: const/16 v0, #int 8 // #8 │ │ -01dfd6: 6e20 0101 0600 |0047: invoke-virtual {v6, v0}, Landroid/widget/TableRow;.setVisibility:(I)V // method@0101 │ │ -01dfdc: 2804 |004a: goto 004e // +0004 │ │ -01dfde: 6e20 0101 2600 |004b: invoke-virtual {v6, v2}, Landroid/widget/TableRow;.setVisibility:(I)V // method@0101 │ │ -01dfe4: 0e00 |004e: return-void │ │ +01df34: |[01df34] dnsfilter.android.FilterConfig.setVisibility:(Landroid/widget/TableRow;)V │ │ +01df44: 5450 3e01 |0000: iget-object v0, v5, Ldnsfilter/android/FilterConfig;.categoryField:Landroid/widget/TextView; // field@013e │ │ +01df48: 6e10 0401 0000 |0002: invoke-virtual {v0}, Landroid/widget/TextView;.getText:()Ljava/lang/CharSequence; // method@0104 │ │ +01df4e: 0c00 |0005: move-result-object v0 │ │ +01df50: 7210 5205 0000 |0006: invoke-interface {v0}, Ljava/lang/CharSequence;.toString:()Ljava/lang/String; // method@0552 │ │ +01df56: 0c00 |0009: move-result-object v0 │ │ +01df58: 1211 |000a: const/4 v1, #int 1 // #1 │ │ +01df5a: 6e20 0001 1600 |000b: invoke-virtual {v6, v1}, Landroid/widget/TableRow;.getVirtualChildAt:(I)Landroid/view/View; // method@0100 │ │ +01df60: 0c01 |000e: move-result-object v1 │ │ +01df62: 1f01 7300 |000f: check-cast v1, Landroid/widget/TextView; // type@0073 │ │ +01df66: 6e10 0401 0100 |0011: invoke-virtual {v1}, Landroid/widget/TextView;.getText:()Ljava/lang/CharSequence; // method@0104 │ │ +01df6c: 0c01 |0014: move-result-object v1 │ │ +01df6e: 7210 5205 0100 |0015: invoke-interface {v1}, Ljava/lang/CharSequence;.toString:()Ljava/lang/String; // method@0552 │ │ +01df74: 0c01 |0018: move-result-object v1 │ │ +01df76: 1202 |0019: const/4 v2, #int 0 // #0 │ │ +01df78: 6e20 0001 2600 |001a: invoke-virtual {v6, v2}, Landroid/widget/TableRow;.getVirtualChildAt:(I)Landroid/view/View; // method@0100 │ │ +01df7e: 0c03 |001d: move-result-object v3 │ │ +01df80: 1f03 6400 |001e: check-cast v3, Landroid/widget/CheckBox; // type@0064 │ │ +01df84: 6e10 cc00 0300 |0020: invoke-virtual {v3}, Landroid/widget/CheckBox;.isChecked:()Z // method@00cc │ │ +01df8a: 0a03 |0023: move-result v3 │ │ +01df8c: 6204 3a01 |0024: sget-object v4, Ldnsfilter/android/FilterConfig;.ALL_CATEGORIES:Ljava/lang/String; // field@013a │ │ +01df90: 6e20 8d05 4000 |0026: invoke-virtual {v0, v4}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058d │ │ +01df96: 0a04 |0029: move-result v4 │ │ +01df98: 3904 2100 |002a: if-nez v4, 004b // +0021 │ │ +01df9c: 6204 3901 |002c: sget-object v4, Ldnsfilter/android/FilterConfig;.ALL_ACTIVE:Ljava/lang/String; // field@0139 │ │ +01dfa0: 6e20 8d05 4000 |002e: invoke-virtual {v0, v4}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058d │ │ +01dfa6: 0a04 |0031: move-result v4 │ │ +01dfa8: 3804 0400 |0032: if-eqz v4, 0036 // +0004 │ │ +01dfac: 3903 1700 |0034: if-nez v3, 004b // +0017 │ │ +01dfb0: 6203 3c01 |0036: sget-object v3, Ldnsfilter/android/FilterConfig;.NEW_ITEM:Ljava/lang/String; // field@013c │ │ +01dfb4: 6e20 8d05 3100 |0038: invoke-virtual {v1, v3}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058d │ │ +01dfba: 0a03 |003b: move-result v3 │ │ +01dfbc: 3903 0f00 |003c: if-nez v3, 004b // +000f │ │ +01dfc0: 6e20 8d05 0100 |003e: invoke-virtual {v1, v0}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058d │ │ +01dfc6: 0a00 |0041: move-result v0 │ │ +01dfc8: 3800 0300 |0042: if-eqz v0, 0045 // +0003 │ │ +01dfcc: 2807 |0044: goto 004b // +0007 │ │ +01dfce: 1300 0800 |0045: const/16 v0, #int 8 // #8 │ │ +01dfd2: 6e20 0101 0600 |0047: invoke-virtual {v6, v0}, Landroid/widget/TableRow;.setVisibility:(I)V // method@0101 │ │ +01dfd8: 2804 |004a: goto 004e // +0004 │ │ +01dfda: 6e20 0101 2600 |004b: invoke-virtual {v6, v2}, Landroid/widget/TableRow;.setVisibility:(I)V // method@0101 │ │ +01dfe0: 0e00 |004e: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=111 │ │ 0x000b line=112 │ │ 0x001a line=113 │ │ 0x0024 line=114 │ │ 0x002e line=115 │ │ @@ -16793,84 +16793,84 @@ │ │ type : '(Landroid/widget/TableRow;)V' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 6 │ │ ins : 2 │ │ outs : 3 │ │ insns size : 146 16-bit code units │ │ -01dfe8: |[01dfe8] dnsfilter.android.FilterConfig.showEditDialog:(Landroid/widget/TableRow;)V │ │ -01dff8: 5b45 4601 |0000: iput-object v5, v4, Ldnsfilter/android/FilterConfig;.editedRow:Landroid/widget/TableRow; // field@0146 │ │ -01dffc: 7020 3d03 5400 |0002: invoke-direct {v4, v5}, Ldnsfilter/android/FilterConfig;.getContentCells:(Landroid/widget/TableRow;)[Landroid/view/View; // method@033d │ │ -01e002: 0c05 |0005: move-result-object v5 │ │ -01e004: 5440 4401 |0006: iget-object v0, v4, Ldnsfilter/android/FilterConfig;.editDialog:Landroid/app/Dialog; // field@0144 │ │ -01e008: 1401 0400 057f |0008: const v1, #float 1.76787e+38 // #7f050004 │ │ -01e00e: 6e20 1700 1000 |000b: invoke-virtual {v0, v1}, Landroid/app/Dialog;.findViewById:(I)Landroid/view/View; // method@0017 │ │ -01e014: 0c00 |000e: move-result-object v0 │ │ -01e016: 1f00 6400 |000f: check-cast v0, Landroid/widget/CheckBox; // type@0064 │ │ -01e01a: 1201 |0011: const/4 v1, #int 0 // #0 │ │ -01e01c: 4601 0501 |0012: aget-object v1, v5, v1 │ │ -01e020: 1f01 6400 |0014: check-cast v1, Landroid/widget/CheckBox; // type@0064 │ │ -01e024: 6e10 cc00 0100 |0016: invoke-virtual {v1}, Landroid/widget/CheckBox;.isChecked:()Z // method@00cc │ │ -01e02a: 0a01 |0019: move-result v1 │ │ -01e02c: 6e20 cd00 1000 |001a: invoke-virtual {v0, v1}, Landroid/widget/CheckBox;.setChecked:(Z)V // method@00cd │ │ -01e032: 5440 4401 |001d: iget-object v0, v4, Ldnsfilter/android/FilterConfig;.editDialog:Landroid/app/Dialog; // field@0144 │ │ -01e036: 1401 2900 057f |001f: const v1, #float 1.76788e+38 // #7f050029 │ │ -01e03c: 6e20 1700 1000 |0022: invoke-virtual {v0, v1}, Landroid/app/Dialog;.findViewById:(I)Landroid/view/View; // method@0017 │ │ -01e042: 0c00 |0025: move-result-object v0 │ │ -01e044: 1f00 7300 |0026: check-cast v0, Landroid/widget/TextView; // type@0073 │ │ -01e048: 1211 |0028: const/4 v1, #int 1 // #1 │ │ -01e04a: 4601 0501 |0029: aget-object v1, v5, v1 │ │ -01e04e: 1f01 7300 |002b: check-cast v1, Landroid/widget/TextView; // type@0073 │ │ -01e052: 6e10 0401 0100 |002d: invoke-virtual {v1}, Landroid/widget/TextView;.getText:()Ljava/lang/CharSequence; // method@0104 │ │ -01e058: 0c01 |0030: move-result-object v1 │ │ -01e05a: 7210 5205 0100 |0031: invoke-interface {v1}, Ljava/lang/CharSequence;.toString:()Ljava/lang/String; // method@0552 │ │ -01e060: 0c01 |0034: move-result-object v1 │ │ -01e062: 6e20 0901 1000 |0035: invoke-virtual {v0, v1}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@0109 │ │ -01e068: 5440 4401 |0038: iget-object v0, v4, Ldnsfilter/android/FilterConfig;.editDialog:Landroid/app/Dialog; // field@0144 │ │ -01e06c: 1401 2d00 057f |003a: const v1, #float 1.76788e+38 // #7f05002d │ │ -01e072: 6e20 1700 1000 |003d: invoke-virtual {v0, v1}, Landroid/app/Dialog;.findViewById:(I)Landroid/view/View; // method@0017 │ │ -01e078: 0c00 |0040: move-result-object v0 │ │ -01e07a: 1f00 7300 |0041: check-cast v0, Landroid/widget/TextView; // type@0073 │ │ -01e07e: 1221 |0043: const/4 v1, #int 2 // #2 │ │ -01e080: 4601 0501 |0044: aget-object v1, v5, v1 │ │ -01e084: 1f01 7300 |0046: check-cast v1, Landroid/widget/TextView; // type@0073 │ │ -01e088: 6e10 0401 0100 |0048: invoke-virtual {v1}, Landroid/widget/TextView;.getText:()Ljava/lang/CharSequence; // method@0104 │ │ -01e08e: 0c01 |004b: move-result-object v1 │ │ -01e090: 7210 5205 0100 |004c: invoke-interface {v1}, Ljava/lang/CharSequence;.toString:()Ljava/lang/String; // method@0552 │ │ -01e096: 0c01 |004f: move-result-object v1 │ │ -01e098: 6e20 0901 1000 |0050: invoke-virtual {v0, v1}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@0109 │ │ -01e09e: 5440 4401 |0053: iget-object v0, v4, Ldnsfilter/android/FilterConfig;.editDialog:Landroid/app/Dialog; // field@0144 │ │ -01e0a2: 1401 2f00 057f |0055: const v1, #float 1.76788e+38 // #7f05002f │ │ -01e0a8: 6e20 1700 1000 |0058: invoke-virtual {v0, v1}, Landroid/app/Dialog;.findViewById:(I)Landroid/view/View; // method@0017 │ │ -01e0ae: 0c00 |005b: move-result-object v0 │ │ -01e0b0: 1f00 7300 |005c: check-cast v0, Landroid/widget/TextView; // type@0073 │ │ -01e0b4: 1231 |005e: const/4 v1, #int 3 // #3 │ │ -01e0b6: 4605 0501 |005f: aget-object v5, v5, v1 │ │ -01e0ba: 1f05 7300 |0061: check-cast v5, Landroid/widget/TextView; // type@0073 │ │ -01e0be: 6e10 0401 0500 |0063: invoke-virtual {v5}, Landroid/widget/TextView;.getText:()Ljava/lang/CharSequence; // method@0104 │ │ -01e0c4: 0c05 |0066: move-result-object v5 │ │ -01e0c6: 7210 5205 0500 |0067: invoke-interface {v5}, Ljava/lang/CharSequence;.toString:()Ljava/lang/String; // method@0552 │ │ -01e0cc: 0c05 |006a: move-result-object v5 │ │ -01e0ce: 6e20 0901 5000 |006b: invoke-virtual {v0, v5}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@0109 │ │ -01e0d4: 5445 4401 |006e: iget-object v5, v4, Ldnsfilter/android/FilterConfig;.editDialog:Landroid/app/Dialog; // field@0144 │ │ -01e0d8: 6e10 2200 0500 |0070: invoke-virtual {v5}, Landroid/app/Dialog;.show:()V // method@0022 │ │ -01e0de: 5445 4401 |0073: iget-object v5, v4, Ldnsfilter/android/FilterConfig;.editDialog:Landroid/app/Dialog; // field@0144 │ │ -01e0e2: 6e10 1800 0500 |0075: invoke-virtual {v5}, Landroid/app/Dialog;.getWindow:()Landroid/view/Window; // method@0018 │ │ -01e0e8: 0c05 |0078: move-result-object v5 │ │ -01e0ea: 6000 ef00 |0079: sget v0, Ldnsfilter/android/DNSProxyActivity;.DISPLAY_WIDTH:I // field@00ef │ │ -01e0ee: 8300 |007b: int-to-double v0, v0 │ │ -01e0f0: 1802 cdcc cccc cccc ec3f |007c: const-wide v2, #double 0.9 // #3feccccccccccccd │ │ -01e0fa: 7120 5805 1000 |0081: invoke-static {v0, v1}, Ljava/lang/Double;.isNaN:(D)Z // method@0558 │ │ -01e100: ad00 0002 |0084: mul-double v0, v0, v2 │ │ -01e104: 8a00 |0086: double-to-int v0, v0 │ │ -01e106: 12e1 |0087: const/4 v1, #int -2 // #fe │ │ -01e108: 6e30 ba00 0501 |0088: invoke-virtual {v5, v0, v1}, Landroid/view/Window;.setLayout:(II)V // method@00ba │ │ -01e10e: 1400 0d00 0601 |008b: const v0, #float 2.46119e-38 // #0106000d │ │ -01e114: 6e20 b900 0500 |008e: invoke-virtual {v5, v0}, Landroid/view/Window;.setBackgroundDrawableResource:(I)V // method@00b9 │ │ -01e11a: 0e00 |0091: return-void │ │ +01dfe4: |[01dfe4] dnsfilter.android.FilterConfig.showEditDialog:(Landroid/widget/TableRow;)V │ │ +01dff4: 5b45 4601 |0000: iput-object v5, v4, Ldnsfilter/android/FilterConfig;.editedRow:Landroid/widget/TableRow; // field@0146 │ │ +01dff8: 7020 3d03 5400 |0002: invoke-direct {v4, v5}, Ldnsfilter/android/FilterConfig;.getContentCells:(Landroid/widget/TableRow;)[Landroid/view/View; // method@033d │ │ +01dffe: 0c05 |0005: move-result-object v5 │ │ +01e000: 5440 4401 |0006: iget-object v0, v4, Ldnsfilter/android/FilterConfig;.editDialog:Landroid/app/Dialog; // field@0144 │ │ +01e004: 1401 0400 057f |0008: const v1, #float 1.76787e+38 // #7f050004 │ │ +01e00a: 6e20 1700 1000 |000b: invoke-virtual {v0, v1}, Landroid/app/Dialog;.findViewById:(I)Landroid/view/View; // method@0017 │ │ +01e010: 0c00 |000e: move-result-object v0 │ │ +01e012: 1f00 6400 |000f: check-cast v0, Landroid/widget/CheckBox; // type@0064 │ │ +01e016: 1201 |0011: const/4 v1, #int 0 // #0 │ │ +01e018: 4601 0501 |0012: aget-object v1, v5, v1 │ │ +01e01c: 1f01 6400 |0014: check-cast v1, Landroid/widget/CheckBox; // type@0064 │ │ +01e020: 6e10 cc00 0100 |0016: invoke-virtual {v1}, Landroid/widget/CheckBox;.isChecked:()Z // method@00cc │ │ +01e026: 0a01 |0019: move-result v1 │ │ +01e028: 6e20 cd00 1000 |001a: invoke-virtual {v0, v1}, Landroid/widget/CheckBox;.setChecked:(Z)V // method@00cd │ │ +01e02e: 5440 4401 |001d: iget-object v0, v4, Ldnsfilter/android/FilterConfig;.editDialog:Landroid/app/Dialog; // field@0144 │ │ +01e032: 1401 2900 057f |001f: const v1, #float 1.76788e+38 // #7f050029 │ │ +01e038: 6e20 1700 1000 |0022: invoke-virtual {v0, v1}, Landroid/app/Dialog;.findViewById:(I)Landroid/view/View; // method@0017 │ │ +01e03e: 0c00 |0025: move-result-object v0 │ │ +01e040: 1f00 7300 |0026: check-cast v0, Landroid/widget/TextView; // type@0073 │ │ +01e044: 1211 |0028: const/4 v1, #int 1 // #1 │ │ +01e046: 4601 0501 |0029: aget-object v1, v5, v1 │ │ +01e04a: 1f01 7300 |002b: check-cast v1, Landroid/widget/TextView; // type@0073 │ │ +01e04e: 6e10 0401 0100 |002d: invoke-virtual {v1}, Landroid/widget/TextView;.getText:()Ljava/lang/CharSequence; // method@0104 │ │ +01e054: 0c01 |0030: move-result-object v1 │ │ +01e056: 7210 5205 0100 |0031: invoke-interface {v1}, Ljava/lang/CharSequence;.toString:()Ljava/lang/String; // method@0552 │ │ +01e05c: 0c01 |0034: move-result-object v1 │ │ +01e05e: 6e20 0901 1000 |0035: invoke-virtual {v0, v1}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@0109 │ │ +01e064: 5440 4401 |0038: iget-object v0, v4, Ldnsfilter/android/FilterConfig;.editDialog:Landroid/app/Dialog; // field@0144 │ │ +01e068: 1401 2d00 057f |003a: const v1, #float 1.76788e+38 // #7f05002d │ │ +01e06e: 6e20 1700 1000 |003d: invoke-virtual {v0, v1}, Landroid/app/Dialog;.findViewById:(I)Landroid/view/View; // method@0017 │ │ +01e074: 0c00 |0040: move-result-object v0 │ │ +01e076: 1f00 7300 |0041: check-cast v0, Landroid/widget/TextView; // type@0073 │ │ +01e07a: 1221 |0043: const/4 v1, #int 2 // #2 │ │ +01e07c: 4601 0501 |0044: aget-object v1, v5, v1 │ │ +01e080: 1f01 7300 |0046: check-cast v1, Landroid/widget/TextView; // type@0073 │ │ +01e084: 6e10 0401 0100 |0048: invoke-virtual {v1}, Landroid/widget/TextView;.getText:()Ljava/lang/CharSequence; // method@0104 │ │ +01e08a: 0c01 |004b: move-result-object v1 │ │ +01e08c: 7210 5205 0100 |004c: invoke-interface {v1}, Ljava/lang/CharSequence;.toString:()Ljava/lang/String; // method@0552 │ │ +01e092: 0c01 |004f: move-result-object v1 │ │ +01e094: 6e20 0901 1000 |0050: invoke-virtual {v0, v1}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@0109 │ │ +01e09a: 5440 4401 |0053: iget-object v0, v4, Ldnsfilter/android/FilterConfig;.editDialog:Landroid/app/Dialog; // field@0144 │ │ +01e09e: 1401 2f00 057f |0055: const v1, #float 1.76788e+38 // #7f05002f │ │ +01e0a4: 6e20 1700 1000 |0058: invoke-virtual {v0, v1}, Landroid/app/Dialog;.findViewById:(I)Landroid/view/View; // method@0017 │ │ +01e0aa: 0c00 |005b: move-result-object v0 │ │ +01e0ac: 1f00 7300 |005c: check-cast v0, Landroid/widget/TextView; // type@0073 │ │ +01e0b0: 1231 |005e: const/4 v1, #int 3 // #3 │ │ +01e0b2: 4605 0501 |005f: aget-object v5, v5, v1 │ │ +01e0b6: 1f05 7300 |0061: check-cast v5, Landroid/widget/TextView; // type@0073 │ │ +01e0ba: 6e10 0401 0500 |0063: invoke-virtual {v5}, Landroid/widget/TextView;.getText:()Ljava/lang/CharSequence; // method@0104 │ │ +01e0c0: 0c05 |0066: move-result-object v5 │ │ +01e0c2: 7210 5205 0500 |0067: invoke-interface {v5}, Ljava/lang/CharSequence;.toString:()Ljava/lang/String; // method@0552 │ │ +01e0c8: 0c05 |006a: move-result-object v5 │ │ +01e0ca: 6e20 0901 5000 |006b: invoke-virtual {v0, v5}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@0109 │ │ +01e0d0: 5445 4401 |006e: iget-object v5, v4, Ldnsfilter/android/FilterConfig;.editDialog:Landroid/app/Dialog; // field@0144 │ │ +01e0d4: 6e10 2200 0500 |0070: invoke-virtual {v5}, Landroid/app/Dialog;.show:()V // method@0022 │ │ +01e0da: 5445 4401 |0073: iget-object v5, v4, Ldnsfilter/android/FilterConfig;.editDialog:Landroid/app/Dialog; // field@0144 │ │ +01e0de: 6e10 1800 0500 |0075: invoke-virtual {v5}, Landroid/app/Dialog;.getWindow:()Landroid/view/Window; // method@0018 │ │ +01e0e4: 0c05 |0078: move-result-object v5 │ │ +01e0e6: 6000 ef00 |0079: sget v0, Ldnsfilter/android/DNSProxyActivity;.DISPLAY_WIDTH:I // field@00ef │ │ +01e0ea: 8300 |007b: int-to-double v0, v0 │ │ +01e0ec: 1802 cdcc cccc cccc ec3f |007c: const-wide v2, #double 0.9 // #3feccccccccccccd │ │ +01e0f6: 7120 5805 1000 |0081: invoke-static {v0, v1}, Ljava/lang/Double;.isNaN:(D)Z // method@0558 │ │ +01e0fc: ad00 0002 |0084: mul-double v0, v0, v2 │ │ +01e100: 8a00 |0086: double-to-int v0, v0 │ │ +01e102: 12e1 |0087: const/4 v1, #int -2 // #fe │ │ +01e104: 6e30 ba00 0501 |0088: invoke-virtual {v5, v0, v1}, Landroid/view/Window;.setLayout:(II)V // method@00ba │ │ +01e10a: 1400 0d00 0601 |008b: const v0, #float 2.46119e-38 // #0106000d │ │ +01e110: 6e20 b900 0500 |008e: invoke-virtual {v5, v0}, Landroid/view/Window;.setBackgroundDrawableResource:(I)V // method@00b9 │ │ +01e116: 0e00 |0091: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=249 │ │ 0x0002 line=250 │ │ 0x0006 line=251 │ │ 0x001d line=252 │ │ 0x0038 line=253 │ │ @@ -16888,29 +16888,29 @@ │ │ type : '()V' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 4 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 26 16-bit code units │ │ -01e11c: |[01e11c] dnsfilter.android.FilterConfig.updateView:()V │ │ -01e12c: 5430 4101 |0000: iget-object v0, v3, Ldnsfilter/android/FilterConfig;.configTable:Landroid/widget/TableLayout; // field@0141 │ │ -01e130: 6e10 fc00 0000 |0002: invoke-virtual {v0}, Landroid/widget/TableLayout;.getChildCount:()I // method@00fc │ │ -01e136: 0a00 |0005: move-result v0 │ │ -01e138: d800 00fe |0006: add-int/lit8 v0, v0, #int -2 // #fe │ │ -01e13c: 1201 |0008: const/4 v1, #int 0 // #0 │ │ -01e13e: 3501 1000 |0009: if-ge v1, v0, 0019 // +0010 │ │ -01e142: 5432 4101 |000b: iget-object v2, v3, Ldnsfilter/android/FilterConfig;.configTable:Landroid/widget/TableLayout; // field@0141 │ │ -01e146: d801 0101 |000d: add-int/lit8 v1, v1, #int 1 // #01 │ │ -01e14a: 6e20 fb00 1200 |000f: invoke-virtual {v2, v1}, Landroid/widget/TableLayout;.getChildAt:(I)Landroid/view/View; // method@00fb │ │ -01e150: 0c02 |0012: move-result-object v2 │ │ -01e152: 1f02 7200 |0013: check-cast v2, Landroid/widget/TableRow; // type@0072 │ │ -01e156: 7020 4903 2300 |0015: invoke-direct {v3, v2}, Ldnsfilter/android/FilterConfig;.setVisibility:(Landroid/widget/TableRow;)V // method@0349 │ │ -01e15c: 28f1 |0018: goto 0009 // -000f │ │ -01e15e: 0e00 |0019: return-void │ │ +01e118: |[01e118] dnsfilter.android.FilterConfig.updateView:()V │ │ +01e128: 5430 4101 |0000: iget-object v0, v3, Ldnsfilter/android/FilterConfig;.configTable:Landroid/widget/TableLayout; // field@0141 │ │ +01e12c: 6e10 fc00 0000 |0002: invoke-virtual {v0}, Landroid/widget/TableLayout;.getChildCount:()I // method@00fc │ │ +01e132: 0a00 |0005: move-result v0 │ │ +01e134: d800 00fe |0006: add-int/lit8 v0, v0, #int -2 // #fe │ │ +01e138: 1201 |0008: const/4 v1, #int 0 // #0 │ │ +01e13a: 3501 1000 |0009: if-ge v1, v0, 0019 // +0010 │ │ +01e13e: 5432 4101 |000b: iget-object v2, v3, Ldnsfilter/android/FilterConfig;.configTable:Landroid/widget/TableLayout; // field@0141 │ │ +01e142: d801 0101 |000d: add-int/lit8 v1, v1, #int 1 // #01 │ │ +01e146: 6e20 fb00 1200 |000f: invoke-virtual {v2, v1}, Landroid/widget/TableLayout;.getChildAt:(I)Landroid/view/View; // method@00fb │ │ +01e14c: 0c02 |0012: move-result-object v2 │ │ +01e14e: 1f02 7200 |0013: check-cast v2, Landroid/widget/TableRow; // type@0072 │ │ +01e152: 7020 4903 2300 |0015: invoke-direct {v3, v2}, Ldnsfilter/android/FilterConfig;.setVisibility:(Landroid/widget/TableRow;)V // method@0349 │ │ +01e158: 28f1 |0018: goto 0009 // -000f │ │ +01e15a: 0e00 |0019: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=240 │ │ 0x000b line=243 │ │ 0x0015 line=244 │ │ locals : │ │ 0x0000 - 0x001a reg=3 this Ldnsfilter/android/FilterConfig; │ │ @@ -16920,118 +16920,118 @@ │ │ type : '([Landroid/view/View;)V' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 8 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 206 16-bit code units │ │ -01e160: |[01e160] dnsfilter.android.FilterConfig.validateContent:([Landroid/view/View;)V │ │ -01e170: 1230 |0000: const/4 v0, #int 3 // #3 │ │ -01e172: 4600 0700 |0001: aget-object v0, v7, v0 │ │ -01e176: 1f00 7300 |0003: check-cast v0, Landroid/widget/TextView; // type@0073 │ │ -01e17a: 6e10 0401 0000 |0005: invoke-virtual {v0}, Landroid/widget/TextView;.getText:()Ljava/lang/CharSequence; // method@0104 │ │ -01e180: 0c00 |0008: move-result-object v0 │ │ -01e182: 7210 5205 0000 |0009: invoke-interface {v0}, Ljava/lang/CharSequence;.toString:()Ljava/lang/String; // method@0552 │ │ -01e188: 0c00 |000c: move-result-object v0 │ │ -01e18a: 1a01 e306 |000d: const-string v1, "file://" // string@06e3 │ │ -01e18e: 6e20 9b05 1000 |000f: invoke-virtual {v0, v1}, Ljava/lang/String;.startsWith:(Ljava/lang/String;)Z // method@059b │ │ -01e194: 0a01 |0012: move-result v1 │ │ -01e196: 1212 |0013: const/4 v2, #int 1 // #1 │ │ -01e198: 1a03 0000 |0014: const-string v3, "" // string@0000 │ │ -01e19c: 1224 |0016: const/4 v4, #int 2 // #2 │ │ -01e19e: 3901 5a00 |0017: if-nez v1, 0071 // +005a │ │ -01e1a2: 2201 4201 |0019: new-instance v1, Ljava/net/URL; // type@0142 │ │ -01e1a6: 7020 f205 0100 |001b: invoke-direct {v1, v0}, Ljava/net/URL;.:(Ljava/lang/String;)V // method@05f2 │ │ -01e1ac: 4600 0704 |001e: aget-object v0, v7, v4 │ │ -01e1b0: 1f00 7300 |0020: check-cast v0, Landroid/widget/TextView; // type@0073 │ │ -01e1b4: 6e10 0401 0000 |0022: invoke-virtual {v0}, Landroid/widget/TextView;.getText:()Ljava/lang/CharSequence; // method@0104 │ │ -01e1ba: 0c00 |0025: move-result-object v0 │ │ -01e1bc: 7210 5205 0000 |0026: invoke-interface {v0}, Ljava/lang/CharSequence;.toString:()Ljava/lang/String; // method@0552 │ │ -01e1c2: 0c00 |0029: move-result-object v0 │ │ -01e1c4: 6e10 a205 0000 |002a: invoke-virtual {v0}, Ljava/lang/String;.trim:()Ljava/lang/String; // method@05a2 │ │ -01e1ca: 0c00 |002d: move-result-object v0 │ │ -01e1cc: 6205 3c01 |002e: sget-object v5, Ldnsfilter/android/FilterConfig;.NEW_ITEM:Ljava/lang/String; // field@013c │ │ -01e1d0: 6e20 8d05 5000 |0030: invoke-virtual {v0, v5}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058d │ │ -01e1d6: 0a05 |0033: move-result v5 │ │ -01e1d8: 3905 0800 |0034: if-nez v5, 003c // +0008 │ │ -01e1dc: 6e20 8d05 3000 |0036: invoke-virtual {v0, v3}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058d │ │ -01e1e2: 0a00 |0039: move-result v0 │ │ -01e1e4: 3800 0d00 |003a: if-eqz v0, 0047 // +000d │ │ -01e1e8: 4600 0704 |003c: aget-object v0, v7, v4 │ │ -01e1ec: 1f00 7300 |003e: check-cast v0, Landroid/widget/TextView; // type@0073 │ │ -01e1f0: 6e10 f305 0100 |0040: invoke-virtual {v1}, Ljava/net/URL;.getHost:()Ljava/lang/String; // method@05f3 │ │ -01e1f6: 0c04 |0043: move-result-object v4 │ │ -01e1f8: 6e20 0901 4000 |0044: invoke-virtual {v0, v4}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@0109 │ │ -01e1fe: 4600 0702 |0047: aget-object v0, v7, v2 │ │ -01e202: 1f00 7300 |0049: check-cast v0, Landroid/widget/TextView; // type@0073 │ │ -01e206: 6e10 0401 0000 |004b: invoke-virtual {v0}, Landroid/widget/TextView;.getText:()Ljava/lang/CharSequence; // method@0104 │ │ -01e20c: 0c00 |004e: move-result-object v0 │ │ -01e20e: 7210 5205 0000 |004f: invoke-interface {v0}, Ljava/lang/CharSequence;.toString:()Ljava/lang/String; // method@0552 │ │ -01e214: 0c00 |0052: move-result-object v0 │ │ -01e216: 6e10 a205 0000 |0053: invoke-virtual {v0}, Ljava/lang/String;.trim:()Ljava/lang/String; // method@05a2 │ │ -01e21c: 0c00 |0056: move-result-object v0 │ │ -01e21e: 6204 3c01 |0057: sget-object v4, Ldnsfilter/android/FilterConfig;.NEW_ITEM:Ljava/lang/String; // field@013c │ │ -01e222: 6e20 8d05 4000 |0059: invoke-virtual {v0, v4}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058d │ │ -01e228: 0a04 |005c: move-result v4 │ │ -01e22a: 3904 0800 |005d: if-nez v4, 0065 // +0008 │ │ -01e22e: 6e20 8d05 3000 |005f: invoke-virtual {v0, v3}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058d │ │ -01e234: 0a00 |0062: move-result v0 │ │ -01e236: 3800 6a00 |0063: if-eqz v0, 00cd // +006a │ │ -01e23a: 4607 0702 |0065: aget-object v7, v7, v2 │ │ -01e23e: 1f07 7300 |0067: check-cast v7, Landroid/widget/TextView; // type@0073 │ │ -01e242: 6e10 f305 0100 |0069: invoke-virtual {v1}, Ljava/net/URL;.getHost:()Ljava/lang/String; // method@05f3 │ │ -01e248: 0c00 |006c: move-result-object v0 │ │ -01e24a: 6e20 0901 0700 |006d: invoke-virtual {v7, v0}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@0109 │ │ -01e250: 285d |0070: goto 00cd // +005d │ │ -01e252: 2201 fb00 |0071: new-instance v1, Ljava/io/File; // type@00fb │ │ -01e256: 1275 |0073: const/4 v5, #int 7 // #7 │ │ -01e258: 6e20 9c05 5000 |0074: invoke-virtual {v0, v5}, Ljava/lang/String;.substring:(I)Ljava/lang/String; // method@059c │ │ -01e25e: 0c00 |0077: move-result-object v0 │ │ -01e260: 7020 0105 0100 |0078: invoke-direct {v1, v0}, Ljava/io/File;.:(Ljava/lang/String;)V // method@0501 │ │ -01e266: 4600 0704 |007b: aget-object v0, v7, v4 │ │ -01e26a: 1f00 7300 |007d: check-cast v0, Landroid/widget/TextView; // type@0073 │ │ -01e26e: 6e10 0401 0000 |007f: invoke-virtual {v0}, Landroid/widget/TextView;.getText:()Ljava/lang/CharSequence; // method@0104 │ │ -01e274: 0c00 |0082: move-result-object v0 │ │ -01e276: 7210 5205 0000 |0083: invoke-interface {v0}, Ljava/lang/CharSequence;.toString:()Ljava/lang/String; // method@0552 │ │ -01e27c: 0c00 |0086: move-result-object v0 │ │ -01e27e: 6e10 a205 0000 |0087: invoke-virtual {v0}, Ljava/lang/String;.trim:()Ljava/lang/String; // method@05a2 │ │ -01e284: 0c00 |008a: move-result-object v0 │ │ -01e286: 6205 3c01 |008b: sget-object v5, Ldnsfilter/android/FilterConfig;.NEW_ITEM:Ljava/lang/String; // field@013c │ │ -01e28a: 6e20 8d05 5000 |008d: invoke-virtual {v0, v5}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058d │ │ -01e290: 0a05 |0090: move-result v5 │ │ -01e292: 3905 0800 |0091: if-nez v5, 0099 // +0008 │ │ -01e296: 6e20 8d05 3000 |0093: invoke-virtual {v0, v3}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058d │ │ -01e29c: 0a00 |0096: move-result v0 │ │ -01e29e: 3800 0d00 |0097: if-eqz v0, 00a4 // +000d │ │ -01e2a2: 4600 0704 |0099: aget-object v0, v7, v4 │ │ -01e2a6: 1f00 7300 |009b: check-cast v0, Landroid/widget/TextView; // type@0073 │ │ -01e2aa: 6e10 0905 0100 |009d: invoke-virtual {v1}, Ljava/io/File;.getName:()Ljava/lang/String; // method@0509 │ │ -01e2b0: 0c04 |00a0: move-result-object v4 │ │ -01e2b2: 6e20 0901 4000 |00a1: invoke-virtual {v0, v4}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@0109 │ │ -01e2b8: 4600 0702 |00a4: aget-object v0, v7, v2 │ │ -01e2bc: 1f00 7300 |00a6: check-cast v0, Landroid/widget/TextView; // type@0073 │ │ -01e2c0: 6e10 0401 0000 |00a8: invoke-virtual {v0}, Landroid/widget/TextView;.getText:()Ljava/lang/CharSequence; // method@0104 │ │ -01e2c6: 0c00 |00ab: move-result-object v0 │ │ -01e2c8: 7210 5205 0000 |00ac: invoke-interface {v0}, Ljava/lang/CharSequence;.toString:()Ljava/lang/String; // method@0552 │ │ -01e2ce: 0c00 |00af: move-result-object v0 │ │ -01e2d0: 6e10 a205 0000 |00b0: invoke-virtual {v0}, Ljava/lang/String;.trim:()Ljava/lang/String; // method@05a2 │ │ -01e2d6: 0c00 |00b3: move-result-object v0 │ │ -01e2d8: 6204 3c01 |00b4: sget-object v4, Ldnsfilter/android/FilterConfig;.NEW_ITEM:Ljava/lang/String; // field@013c │ │ -01e2dc: 6e20 8d05 4000 |00b6: invoke-virtual {v0, v4}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058d │ │ -01e2e2: 0a04 |00b9: move-result v4 │ │ -01e2e4: 3904 0800 |00ba: if-nez v4, 00c2 // +0008 │ │ -01e2e8: 6e20 8d05 3000 |00bc: invoke-virtual {v0, v3}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058d │ │ -01e2ee: 0a00 |00bf: move-result v0 │ │ -01e2f0: 3800 0d00 |00c0: if-eqz v0, 00cd // +000d │ │ -01e2f4: 4607 0702 |00c2: aget-object v7, v7, v2 │ │ -01e2f8: 1f07 7300 |00c4: check-cast v7, Landroid/widget/TextView; // type@0073 │ │ -01e2fc: 6e10 0905 0100 |00c6: invoke-virtual {v1}, Ljava/io/File;.getName:()Ljava/lang/String; // method@0509 │ │ -01e302: 0c00 |00c9: move-result-object v0 │ │ -01e304: 6e20 0901 0700 |00ca: invoke-virtual {v7, v0}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@0109 │ │ -01e30a: 0e00 |00cd: return-void │ │ +01e15c: |[01e15c] dnsfilter.android.FilterConfig.validateContent:([Landroid/view/View;)V │ │ +01e16c: 1230 |0000: const/4 v0, #int 3 // #3 │ │ +01e16e: 4600 0700 |0001: aget-object v0, v7, v0 │ │ +01e172: 1f00 7300 |0003: check-cast v0, Landroid/widget/TextView; // type@0073 │ │ +01e176: 6e10 0401 0000 |0005: invoke-virtual {v0}, Landroid/widget/TextView;.getText:()Ljava/lang/CharSequence; // method@0104 │ │ +01e17c: 0c00 |0008: move-result-object v0 │ │ +01e17e: 7210 5205 0000 |0009: invoke-interface {v0}, Ljava/lang/CharSequence;.toString:()Ljava/lang/String; // method@0552 │ │ +01e184: 0c00 |000c: move-result-object v0 │ │ +01e186: 1a01 e306 |000d: const-string v1, "file://" // string@06e3 │ │ +01e18a: 6e20 9b05 1000 |000f: invoke-virtual {v0, v1}, Ljava/lang/String;.startsWith:(Ljava/lang/String;)Z // method@059b │ │ +01e190: 0a01 |0012: move-result v1 │ │ +01e192: 1212 |0013: const/4 v2, #int 1 // #1 │ │ +01e194: 1a03 0000 |0014: const-string v3, "" // string@0000 │ │ +01e198: 1224 |0016: const/4 v4, #int 2 // #2 │ │ +01e19a: 3901 5a00 |0017: if-nez v1, 0071 // +005a │ │ +01e19e: 2201 4201 |0019: new-instance v1, Ljava/net/URL; // type@0142 │ │ +01e1a2: 7020 f205 0100 |001b: invoke-direct {v1, v0}, Ljava/net/URL;.:(Ljava/lang/String;)V // method@05f2 │ │ +01e1a8: 4600 0704 |001e: aget-object v0, v7, v4 │ │ +01e1ac: 1f00 7300 |0020: check-cast v0, Landroid/widget/TextView; // type@0073 │ │ +01e1b0: 6e10 0401 0000 |0022: invoke-virtual {v0}, Landroid/widget/TextView;.getText:()Ljava/lang/CharSequence; // method@0104 │ │ +01e1b6: 0c00 |0025: move-result-object v0 │ │ +01e1b8: 7210 5205 0000 |0026: invoke-interface {v0}, Ljava/lang/CharSequence;.toString:()Ljava/lang/String; // method@0552 │ │ +01e1be: 0c00 |0029: move-result-object v0 │ │ +01e1c0: 6e10 a205 0000 |002a: invoke-virtual {v0}, Ljava/lang/String;.trim:()Ljava/lang/String; // method@05a2 │ │ +01e1c6: 0c00 |002d: move-result-object v0 │ │ +01e1c8: 6205 3c01 |002e: sget-object v5, Ldnsfilter/android/FilterConfig;.NEW_ITEM:Ljava/lang/String; // field@013c │ │ +01e1cc: 6e20 8d05 5000 |0030: invoke-virtual {v0, v5}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058d │ │ +01e1d2: 0a05 |0033: move-result v5 │ │ +01e1d4: 3905 0800 |0034: if-nez v5, 003c // +0008 │ │ +01e1d8: 6e20 8d05 3000 |0036: invoke-virtual {v0, v3}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058d │ │ +01e1de: 0a00 |0039: move-result v0 │ │ +01e1e0: 3800 0d00 |003a: if-eqz v0, 0047 // +000d │ │ +01e1e4: 4600 0704 |003c: aget-object v0, v7, v4 │ │ +01e1e8: 1f00 7300 |003e: check-cast v0, Landroid/widget/TextView; // type@0073 │ │ +01e1ec: 6e10 f305 0100 |0040: invoke-virtual {v1}, Ljava/net/URL;.getHost:()Ljava/lang/String; // method@05f3 │ │ +01e1f2: 0c04 |0043: move-result-object v4 │ │ +01e1f4: 6e20 0901 4000 |0044: invoke-virtual {v0, v4}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@0109 │ │ +01e1fa: 4600 0702 |0047: aget-object v0, v7, v2 │ │ +01e1fe: 1f00 7300 |0049: check-cast v0, Landroid/widget/TextView; // type@0073 │ │ +01e202: 6e10 0401 0000 |004b: invoke-virtual {v0}, Landroid/widget/TextView;.getText:()Ljava/lang/CharSequence; // method@0104 │ │ +01e208: 0c00 |004e: move-result-object v0 │ │ +01e20a: 7210 5205 0000 |004f: invoke-interface {v0}, Ljava/lang/CharSequence;.toString:()Ljava/lang/String; // method@0552 │ │ +01e210: 0c00 |0052: move-result-object v0 │ │ +01e212: 6e10 a205 0000 |0053: invoke-virtual {v0}, Ljava/lang/String;.trim:()Ljava/lang/String; // method@05a2 │ │ +01e218: 0c00 |0056: move-result-object v0 │ │ +01e21a: 6204 3c01 |0057: sget-object v4, Ldnsfilter/android/FilterConfig;.NEW_ITEM:Ljava/lang/String; // field@013c │ │ +01e21e: 6e20 8d05 4000 |0059: invoke-virtual {v0, v4}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058d │ │ +01e224: 0a04 |005c: move-result v4 │ │ +01e226: 3904 0800 |005d: if-nez v4, 0065 // +0008 │ │ +01e22a: 6e20 8d05 3000 |005f: invoke-virtual {v0, v3}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058d │ │ +01e230: 0a00 |0062: move-result v0 │ │ +01e232: 3800 6a00 |0063: if-eqz v0, 00cd // +006a │ │ +01e236: 4607 0702 |0065: aget-object v7, v7, v2 │ │ +01e23a: 1f07 7300 |0067: check-cast v7, Landroid/widget/TextView; // type@0073 │ │ +01e23e: 6e10 f305 0100 |0069: invoke-virtual {v1}, Ljava/net/URL;.getHost:()Ljava/lang/String; // method@05f3 │ │ +01e244: 0c00 |006c: move-result-object v0 │ │ +01e246: 6e20 0901 0700 |006d: invoke-virtual {v7, v0}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@0109 │ │ +01e24c: 285d |0070: goto 00cd // +005d │ │ +01e24e: 2201 fb00 |0071: new-instance v1, Ljava/io/File; // type@00fb │ │ +01e252: 1275 |0073: const/4 v5, #int 7 // #7 │ │ +01e254: 6e20 9c05 5000 |0074: invoke-virtual {v0, v5}, Ljava/lang/String;.substring:(I)Ljava/lang/String; // method@059c │ │ +01e25a: 0c00 |0077: move-result-object v0 │ │ +01e25c: 7020 0105 0100 |0078: invoke-direct {v1, v0}, Ljava/io/File;.:(Ljava/lang/String;)V // method@0501 │ │ +01e262: 4600 0704 |007b: aget-object v0, v7, v4 │ │ +01e266: 1f00 7300 |007d: check-cast v0, Landroid/widget/TextView; // type@0073 │ │ +01e26a: 6e10 0401 0000 |007f: invoke-virtual {v0}, Landroid/widget/TextView;.getText:()Ljava/lang/CharSequence; // method@0104 │ │ +01e270: 0c00 |0082: move-result-object v0 │ │ +01e272: 7210 5205 0000 |0083: invoke-interface {v0}, Ljava/lang/CharSequence;.toString:()Ljava/lang/String; // method@0552 │ │ +01e278: 0c00 |0086: move-result-object v0 │ │ +01e27a: 6e10 a205 0000 |0087: invoke-virtual {v0}, Ljava/lang/String;.trim:()Ljava/lang/String; // method@05a2 │ │ +01e280: 0c00 |008a: move-result-object v0 │ │ +01e282: 6205 3c01 |008b: sget-object v5, Ldnsfilter/android/FilterConfig;.NEW_ITEM:Ljava/lang/String; // field@013c │ │ +01e286: 6e20 8d05 5000 |008d: invoke-virtual {v0, v5}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058d │ │ +01e28c: 0a05 |0090: move-result v5 │ │ +01e28e: 3905 0800 |0091: if-nez v5, 0099 // +0008 │ │ +01e292: 6e20 8d05 3000 |0093: invoke-virtual {v0, v3}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058d │ │ +01e298: 0a00 |0096: move-result v0 │ │ +01e29a: 3800 0d00 |0097: if-eqz v0, 00a4 // +000d │ │ +01e29e: 4600 0704 |0099: aget-object v0, v7, v4 │ │ +01e2a2: 1f00 7300 |009b: check-cast v0, Landroid/widget/TextView; // type@0073 │ │ +01e2a6: 6e10 0905 0100 |009d: invoke-virtual {v1}, Ljava/io/File;.getName:()Ljava/lang/String; // method@0509 │ │ +01e2ac: 0c04 |00a0: move-result-object v4 │ │ +01e2ae: 6e20 0901 4000 |00a1: invoke-virtual {v0, v4}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@0109 │ │ +01e2b4: 4600 0702 |00a4: aget-object v0, v7, v2 │ │ +01e2b8: 1f00 7300 |00a6: check-cast v0, Landroid/widget/TextView; // type@0073 │ │ +01e2bc: 6e10 0401 0000 |00a8: invoke-virtual {v0}, Landroid/widget/TextView;.getText:()Ljava/lang/CharSequence; // method@0104 │ │ +01e2c2: 0c00 |00ab: move-result-object v0 │ │ +01e2c4: 7210 5205 0000 |00ac: invoke-interface {v0}, Ljava/lang/CharSequence;.toString:()Ljava/lang/String; // method@0552 │ │ +01e2ca: 0c00 |00af: move-result-object v0 │ │ +01e2cc: 6e10 a205 0000 |00b0: invoke-virtual {v0}, Ljava/lang/String;.trim:()Ljava/lang/String; // method@05a2 │ │ +01e2d2: 0c00 |00b3: move-result-object v0 │ │ +01e2d4: 6204 3c01 |00b4: sget-object v4, Ldnsfilter/android/FilterConfig;.NEW_ITEM:Ljava/lang/String; // field@013c │ │ +01e2d8: 6e20 8d05 4000 |00b6: invoke-virtual {v0, v4}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058d │ │ +01e2de: 0a04 |00b9: move-result v4 │ │ +01e2e0: 3904 0800 |00ba: if-nez v4, 00c2 // +0008 │ │ +01e2e4: 6e20 8d05 3000 |00bc: invoke-virtual {v0, v3}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058d │ │ +01e2ea: 0a00 |00bf: move-result v0 │ │ +01e2ec: 3800 0d00 |00c0: if-eqz v0, 00cd // +000d │ │ +01e2f0: 4607 0702 |00c2: aget-object v7, v7, v2 │ │ +01e2f4: 1f07 7300 |00c4: check-cast v7, Landroid/widget/TextView; // type@0073 │ │ +01e2f8: 6e10 0905 0100 |00c6: invoke-virtual {v1}, Ljava/io/File;.getName:()Ljava/lang/String; // method@0509 │ │ +01e2fe: 0c00 |00c9: move-result-object v0 │ │ +01e300: 6e20 0901 0700 |00ca: invoke-virtual {v7, v0}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@0109 │ │ +01e306: 0e00 |00cd: return-void │ │ catches : (none) │ │ positions : │ │ 0x0001 line=345 │ │ 0x000d line=346 │ │ 0x0019 line=347 │ │ 0x001e line=348 │ │ 0x002e line=349 │ │ @@ -17056,45 +17056,45 @@ │ │ type : '()V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 5 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 60 16-bit code units │ │ -01d874: |[01d874] dnsfilter.android.FilterConfig.clear:()V │ │ -01d884: 6e10 3f03 0400 |0000: invoke-virtual {v4}, Ldnsfilter/android/FilterConfig;.getFilterEntries:()[Ldnsfilter/ConfigUtil$HostFilterList; // method@033f │ │ -01d88a: 0c00 |0003: move-result-object v0 │ │ -01d88c: 5b40 4701 |0004: iput-object v0, v4, Ldnsfilter/android/FilterConfig;.filterEntries:[Ldnsfilter/ConfigUtil$HostFilterList; // field@0147 │ │ -01d890: 5440 4101 |0006: iget-object v0, v4, Ldnsfilter/android/FilterConfig;.configTable:Landroid/widget/TableLayout; // field@0141 │ │ -01d894: 6e10 fc00 0000 |0008: invoke-virtual {v0}, Landroid/widget/TableLayout;.getChildCount:()I // method@00fc │ │ -01d89a: 0a00 |000b: move-result v0 │ │ -01d89c: d800 00ff |000c: add-int/lit8 v0, v0, #int -1 // #ff │ │ -01d8a0: 1201 |000e: const/4 v1, #int 0 // #0 │ │ -01d8a2: 3d00 1a00 |000f: if-lez v0, 0029 // +001a │ │ -01d8a6: 5442 4101 |0011: iget-object v2, v4, Ldnsfilter/android/FilterConfig;.configTable:Landroid/widget/TableLayout; // field@0141 │ │ -01d8aa: 6e20 fb00 0200 |0013: invoke-virtual {v2, v0}, Landroid/widget/TableLayout;.getChildAt:(I)Landroid/view/View; // method@00fb │ │ -01d8b0: 0c02 |0016: move-result-object v2 │ │ -01d8b2: 1f02 7200 |0017: check-cast v2, Landroid/widget/TableRow; // type@0072 │ │ -01d8b6: 1243 |0019: const/4 v3, #int 4 // #4 │ │ -01d8b8: 6e20 ff00 3200 |001a: invoke-virtual {v2, v3}, Landroid/widget/TableRow;.getChildAt:(I)Landroid/view/View; // method@00ff │ │ -01d8be: 0c03 |001d: move-result-object v3 │ │ -01d8c0: 6e20 b200 1300 |001e: invoke-virtual {v3, v1}, Landroid/view/View;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@00b2 │ │ -01d8c6: 5441 4101 |0021: iget-object v1, v4, Ldnsfilter/android/FilterConfig;.configTable:Landroid/widget/TableLayout; // field@0141 │ │ -01d8ca: 6e20 fe00 2100 |0023: invoke-virtual {v1, v2}, Landroid/widget/TableLayout;.removeView:(Landroid/view/View;)V // method@00fe │ │ -01d8d0: d800 00ff |0026: add-int/lit8 v0, v0, #int -1 // #ff │ │ -01d8d4: 28e6 |0028: goto 000e // -001a │ │ -01d8d6: 5440 3d01 |0029: iget-object v0, v4, Ldnsfilter/android/FilterConfig;.categoryDown:Landroid/widget/Button; // field@013d │ │ -01d8da: 6e20 c500 1000 |002b: invoke-virtual {v0, v1}, Landroid/widget/Button;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@00c5 │ │ -01d8e0: 5440 4001 |002e: iget-object v0, v4, Ldnsfilter/android/FilterConfig;.categoryUp:Landroid/widget/Button; // field@0140 │ │ -01d8e4: 6e20 c500 1000 |0030: invoke-virtual {v0, v1}, Landroid/widget/Button;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@00c5 │ │ -01d8ea: 5440 4901 |0033: iget-object v0, v4, Ldnsfilter/android/FilterConfig;.restoreDefault:Landroid/widget/Button; // field@0149 │ │ -01d8ee: 6e20 c500 1000 |0035: invoke-virtual {v0, v1}, Landroid/widget/Button;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@00c5 │ │ -01d8f4: 1200 |0038: const/4 v0, #int 0 // #0 │ │ -01d8f6: 5c40 4801 |0039: iput-boolean v0, v4, Ldnsfilter/android/FilterConfig;.loaded:Z // field@0148 │ │ -01d8fa: 0e00 |003b: return-void │ │ +01d870: |[01d870] dnsfilter.android.FilterConfig.clear:()V │ │ +01d880: 6e10 3f03 0400 |0000: invoke-virtual {v4}, Ldnsfilter/android/FilterConfig;.getFilterEntries:()[Ldnsfilter/ConfigUtil$HostFilterList; // method@033f │ │ +01d886: 0c00 |0003: move-result-object v0 │ │ +01d888: 5b40 4701 |0004: iput-object v0, v4, Ldnsfilter/android/FilterConfig;.filterEntries:[Ldnsfilter/ConfigUtil$HostFilterList; // field@0147 │ │ +01d88c: 5440 4101 |0006: iget-object v0, v4, Ldnsfilter/android/FilterConfig;.configTable:Landroid/widget/TableLayout; // field@0141 │ │ +01d890: 6e10 fc00 0000 |0008: invoke-virtual {v0}, Landroid/widget/TableLayout;.getChildCount:()I // method@00fc │ │ +01d896: 0a00 |000b: move-result v0 │ │ +01d898: d800 00ff |000c: add-int/lit8 v0, v0, #int -1 // #ff │ │ +01d89c: 1201 |000e: const/4 v1, #int 0 // #0 │ │ +01d89e: 3d00 1a00 |000f: if-lez v0, 0029 // +001a │ │ +01d8a2: 5442 4101 |0011: iget-object v2, v4, Ldnsfilter/android/FilterConfig;.configTable:Landroid/widget/TableLayout; // field@0141 │ │ +01d8a6: 6e20 fb00 0200 |0013: invoke-virtual {v2, v0}, Landroid/widget/TableLayout;.getChildAt:(I)Landroid/view/View; // method@00fb │ │ +01d8ac: 0c02 |0016: move-result-object v2 │ │ +01d8ae: 1f02 7200 |0017: check-cast v2, Landroid/widget/TableRow; // type@0072 │ │ +01d8b2: 1243 |0019: const/4 v3, #int 4 // #4 │ │ +01d8b4: 6e20 ff00 3200 |001a: invoke-virtual {v2, v3}, Landroid/widget/TableRow;.getChildAt:(I)Landroid/view/View; // method@00ff │ │ +01d8ba: 0c03 |001d: move-result-object v3 │ │ +01d8bc: 6e20 b200 1300 |001e: invoke-virtual {v3, v1}, Landroid/view/View;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@00b2 │ │ +01d8c2: 5441 4101 |0021: iget-object v1, v4, Ldnsfilter/android/FilterConfig;.configTable:Landroid/widget/TableLayout; // field@0141 │ │ +01d8c6: 6e20 fe00 2100 |0023: invoke-virtual {v1, v2}, Landroid/widget/TableLayout;.removeView:(Landroid/view/View;)V // method@00fe │ │ +01d8cc: d800 00ff |0026: add-int/lit8 v0, v0, #int -1 // #ff │ │ +01d8d0: 28e6 |0028: goto 000e // -001a │ │ +01d8d2: 5440 3d01 |0029: iget-object v0, v4, Ldnsfilter/android/FilterConfig;.categoryDown:Landroid/widget/Button; // field@013d │ │ +01d8d6: 6e20 c500 1000 |002b: invoke-virtual {v0, v1}, Landroid/widget/Button;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@00c5 │ │ +01d8dc: 5440 4001 |002e: iget-object v0, v4, Ldnsfilter/android/FilterConfig;.categoryUp:Landroid/widget/Button; // field@0140 │ │ +01d8e0: 6e20 c500 1000 |0030: invoke-virtual {v0, v1}, Landroid/widget/Button;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@00c5 │ │ +01d8e6: 5440 4901 |0033: iget-object v0, v4, Ldnsfilter/android/FilterConfig;.restoreDefault:Landroid/widget/Button; // field@0149 │ │ +01d8ea: 6e20 c500 1000 |0035: invoke-virtual {v0, v1}, Landroid/widget/Button;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@00c5 │ │ +01d8f0: 1200 |0038: const/4 v0, #int 0 // #0 │ │ +01d8f2: 5c40 4801 |0039: iput-boolean v0, v4, Ldnsfilter/android/FilterConfig;.loaded:Z // field@0148 │ │ +01d8f6: 0e00 |003b: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=181 │ │ 0x0006 line=182 │ │ 0x0011 line=184 │ │ 0x001a line=185 │ │ 0x0021 line=186 │ │ @@ -17110,21 +17110,21 @@ │ │ type : '()Ljava/lang/String;' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 11 16-bit code units │ │ -01d64c: |[01d64c] dnsfilter.android.FilterConfig.getCurrentCategory:()Ljava/lang/String; │ │ -01d65c: 5410 3e01 |0000: iget-object v0, v1, Ldnsfilter/android/FilterConfig;.categoryField:Landroid/widget/TextView; // field@013e │ │ -01d660: 6e10 0401 0000 |0002: invoke-virtual {v0}, Landroid/widget/TextView;.getText:()Ljava/lang/CharSequence; // method@0104 │ │ -01d666: 0c00 |0005: move-result-object v0 │ │ -01d668: 7210 5205 0000 |0006: invoke-interface {v0}, Ljava/lang/CharSequence;.toString:()Ljava/lang/String; // method@0552 │ │ -01d66e: 0c00 |0009: move-result-object v0 │ │ -01d670: 1100 |000a: return-object v0 │ │ +01d648: |[01d648] dnsfilter.android.FilterConfig.getCurrentCategory:()Ljava/lang/String; │ │ +01d658: 5410 3e01 |0000: iget-object v0, v1, Ldnsfilter/android/FilterConfig;.categoryField:Landroid/widget/TextView; // field@013e │ │ +01d65c: 6e10 0401 0000 |0002: invoke-virtual {v0}, Landroid/widget/TextView;.getText:()Ljava/lang/CharSequence; // method@0104 │ │ +01d662: 0c00 |0005: move-result-object v0 │ │ +01d664: 7210 5205 0000 |0006: invoke-interface {v0}, Ljava/lang/CharSequence;.toString:()Ljava/lang/String; // method@0552 │ │ +01d66a: 0c00 |0009: move-result-object v0 │ │ +01d66c: 1100 |000a: return-object v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=160 │ │ locals : │ │ 0x0000 - 0x000b reg=1 this Ldnsfilter/android/FilterConfig; │ │ │ │ #2 : (in Ldnsfilter/android/FilterConfig;) │ │ @@ -17132,71 +17132,71 @@ │ │ type : '()[Ldnsfilter/ConfigUtil$HostFilterList;' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 13 │ │ ins : 1 │ │ outs : 5 │ │ insns size : 103 16-bit code units │ │ -01d56c: |[01d56c] dnsfilter.android.FilterConfig.getFilterEntries:()[Ldnsfilter/ConfigUtil$HostFilterList; │ │ -01d57c: 55c0 4801 |0000: iget-boolean v0, v12, Ldnsfilter/android/FilterConfig;.loaded:Z // field@0148 │ │ -01d580: 3900 0500 |0002: if-nez v0, 0007 // +0005 │ │ -01d584: 54c0 4701 |0004: iget-object v0, v12, Ldnsfilter/android/FilterConfig;.filterEntries:[Ldnsfilter/ConfigUtil$HostFilterList; // field@0147 │ │ -01d588: 1100 |0006: return-object v0 │ │ -01d58a: 54c0 4101 |0007: iget-object v0, v12, Ldnsfilter/android/FilterConfig;.configTable:Landroid/widget/TableLayout; // field@0141 │ │ -01d58e: 6e10 fc00 0000 |0009: invoke-virtual {v0}, Landroid/widget/TableLayout;.getChildCount:()I // method@00fc │ │ -01d594: 0a00 |000c: move-result v0 │ │ -01d596: 1221 |000d: const/4 v1, #int 2 // #2 │ │ -01d598: b110 |000e: sub-int/2addr v0, v1 │ │ -01d59a: 2302 a301 |000f: new-array v2, v0, [Ldnsfilter/ConfigUtil$HostFilterList; // type@01a3 │ │ -01d59e: 1203 |0011: const/4 v3, #int 0 // #0 │ │ -01d5a0: 1204 |0012: const/4 v4, #int 0 // #0 │ │ -01d5a2: 3504 5300 |0013: if-ge v4, v0, 0066 // +0053 │ │ -01d5a6: 54c5 4101 |0015: iget-object v5, v12, Ldnsfilter/android/FilterConfig;.configTable:Landroid/widget/TableLayout; // field@0141 │ │ -01d5aa: d806 0401 |0017: add-int/lit8 v6, v4, #int 1 // #01 │ │ -01d5ae: 6e20 fb00 6500 |0019: invoke-virtual {v5, v6}, Landroid/widget/TableLayout;.getChildAt:(I)Landroid/view/View; // method@00fb │ │ -01d5b4: 0c05 |001c: move-result-object v5 │ │ -01d5b6: 1f05 7200 |001d: check-cast v5, Landroid/widget/TableRow; // type@0072 │ │ -01d5ba: 7020 3d03 5c00 |001f: invoke-direct {v12, v5}, Ldnsfilter/android/FilterConfig;.getContentCells:(Landroid/widget/TableRow;)[Landroid/view/View; // method@033d │ │ -01d5c0: 0c05 |0022: move-result-object v5 │ │ -01d5c2: 2207 7f00 |0023: new-instance v7, Ldnsfilter/ConfigUtil$HostFilterList; // type@007f │ │ -01d5c6: 4608 0503 |0025: aget-object v8, v5, v3 │ │ -01d5ca: 1f08 6400 |0027: check-cast v8, Landroid/widget/CheckBox; // type@0064 │ │ -01d5ce: 6e10 cc00 0800 |0029: invoke-virtual {v8}, Landroid/widget/CheckBox;.isChecked:()Z // method@00cc │ │ -01d5d4: 0a08 |002c: move-result v8 │ │ -01d5d6: 1219 |002d: const/4 v9, #int 1 // #1 │ │ -01d5d8: 4609 0509 |002e: aget-object v9, v5, v9 │ │ -01d5dc: 1f09 7300 |0030: check-cast v9, Landroid/widget/TextView; // type@0073 │ │ -01d5e0: 6e10 0401 0900 |0032: invoke-virtual {v9}, Landroid/widget/TextView;.getText:()Ljava/lang/CharSequence; // method@0104 │ │ -01d5e6: 0c09 |0035: move-result-object v9 │ │ -01d5e8: 7210 5205 0900 |0036: invoke-interface {v9}, Ljava/lang/CharSequence;.toString:()Ljava/lang/String; // method@0552 │ │ -01d5ee: 0c09 |0039: move-result-object v9 │ │ -01d5f0: 6e10 a205 0900 |003a: invoke-virtual {v9}, Ljava/lang/String;.trim:()Ljava/lang/String; // method@05a2 │ │ -01d5f6: 0c09 |003d: move-result-object v9 │ │ -01d5f8: 460a 0501 |003e: aget-object v10, v5, v1 │ │ -01d5fc: 1f0a 7300 |0040: check-cast v10, Landroid/widget/TextView; // type@0073 │ │ -01d600: 6e10 0401 0a00 |0042: invoke-virtual {v10}, Landroid/widget/TextView;.getText:()Ljava/lang/CharSequence; // method@0104 │ │ -01d606: 0c0a |0045: move-result-object v10 │ │ -01d608: 7210 5205 0a00 |0046: invoke-interface {v10}, Ljava/lang/CharSequence;.toString:()Ljava/lang/String; // method@0552 │ │ -01d60e: 0c0a |0049: move-result-object v10 │ │ -01d610: 6e10 a205 0a00 |004a: invoke-virtual {v10}, Ljava/lang/String;.trim:()Ljava/lang/String; // method@05a2 │ │ -01d616: 0c0a |004d: move-result-object v10 │ │ -01d618: 123b |004e: const/4 v11, #int 3 // #3 │ │ -01d61a: 4605 050b |004f: aget-object v5, v5, v11 │ │ -01d61e: 1f05 7300 |0051: check-cast v5, Landroid/widget/TextView; // type@0073 │ │ -01d622: 6e10 0401 0500 |0053: invoke-virtual {v5}, Landroid/widget/TextView;.getText:()Ljava/lang/CharSequence; // method@0104 │ │ -01d628: 0c05 |0056: move-result-object v5 │ │ -01d62a: 7210 5205 0500 |0057: invoke-interface {v5}, Ljava/lang/CharSequence;.toString:()Ljava/lang/String; // method@0552 │ │ -01d630: 0c05 |005a: move-result-object v5 │ │ -01d632: 6e10 a205 0500 |005b: invoke-virtual {v5}, Ljava/lang/String;.trim:()Ljava/lang/String; // method@05a2 │ │ -01d638: 0c05 |005e: move-result-object v5 │ │ -01d63a: 7055 3301 87a9 |005f: invoke-direct {v7, v8, v9, v10, v5}, Ldnsfilter/ConfigUtil$HostFilterList;.:(ZLjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V // method@0133 │ │ -01d640: 4d07 0204 |0062: aput-object v7, v2, v4 │ │ -01d644: 0164 |0064: move v4, v6 │ │ -01d646: 28ae |0065: goto 0013 // -0052 │ │ -01d648: 1102 |0066: return-object v2 │ │ +01d568: |[01d568] dnsfilter.android.FilterConfig.getFilterEntries:()[Ldnsfilter/ConfigUtil$HostFilterList; │ │ +01d578: 55c0 4801 |0000: iget-boolean v0, v12, Ldnsfilter/android/FilterConfig;.loaded:Z // field@0148 │ │ +01d57c: 3900 0500 |0002: if-nez v0, 0007 // +0005 │ │ +01d580: 54c0 4701 |0004: iget-object v0, v12, Ldnsfilter/android/FilterConfig;.filterEntries:[Ldnsfilter/ConfigUtil$HostFilterList; // field@0147 │ │ +01d584: 1100 |0006: return-object v0 │ │ +01d586: 54c0 4101 |0007: iget-object v0, v12, Ldnsfilter/android/FilterConfig;.configTable:Landroid/widget/TableLayout; // field@0141 │ │ +01d58a: 6e10 fc00 0000 |0009: invoke-virtual {v0}, Landroid/widget/TableLayout;.getChildCount:()I // method@00fc │ │ +01d590: 0a00 |000c: move-result v0 │ │ +01d592: 1221 |000d: const/4 v1, #int 2 // #2 │ │ +01d594: b110 |000e: sub-int/2addr v0, v1 │ │ +01d596: 2302 a301 |000f: new-array v2, v0, [Ldnsfilter/ConfigUtil$HostFilterList; // type@01a3 │ │ +01d59a: 1203 |0011: const/4 v3, #int 0 // #0 │ │ +01d59c: 1204 |0012: const/4 v4, #int 0 // #0 │ │ +01d59e: 3504 5300 |0013: if-ge v4, v0, 0066 // +0053 │ │ +01d5a2: 54c5 4101 |0015: iget-object v5, v12, Ldnsfilter/android/FilterConfig;.configTable:Landroid/widget/TableLayout; // field@0141 │ │ +01d5a6: d806 0401 |0017: add-int/lit8 v6, v4, #int 1 // #01 │ │ +01d5aa: 6e20 fb00 6500 |0019: invoke-virtual {v5, v6}, Landroid/widget/TableLayout;.getChildAt:(I)Landroid/view/View; // method@00fb │ │ +01d5b0: 0c05 |001c: move-result-object v5 │ │ +01d5b2: 1f05 7200 |001d: check-cast v5, Landroid/widget/TableRow; // type@0072 │ │ +01d5b6: 7020 3d03 5c00 |001f: invoke-direct {v12, v5}, Ldnsfilter/android/FilterConfig;.getContentCells:(Landroid/widget/TableRow;)[Landroid/view/View; // method@033d │ │ +01d5bc: 0c05 |0022: move-result-object v5 │ │ +01d5be: 2207 7f00 |0023: new-instance v7, Ldnsfilter/ConfigUtil$HostFilterList; // type@007f │ │ +01d5c2: 4608 0503 |0025: aget-object v8, v5, v3 │ │ +01d5c6: 1f08 6400 |0027: check-cast v8, Landroid/widget/CheckBox; // type@0064 │ │ +01d5ca: 6e10 cc00 0800 |0029: invoke-virtual {v8}, Landroid/widget/CheckBox;.isChecked:()Z // method@00cc │ │ +01d5d0: 0a08 |002c: move-result v8 │ │ +01d5d2: 1219 |002d: const/4 v9, #int 1 // #1 │ │ +01d5d4: 4609 0509 |002e: aget-object v9, v5, v9 │ │ +01d5d8: 1f09 7300 |0030: check-cast v9, Landroid/widget/TextView; // type@0073 │ │ +01d5dc: 6e10 0401 0900 |0032: invoke-virtual {v9}, Landroid/widget/TextView;.getText:()Ljava/lang/CharSequence; // method@0104 │ │ +01d5e2: 0c09 |0035: move-result-object v9 │ │ +01d5e4: 7210 5205 0900 |0036: invoke-interface {v9}, Ljava/lang/CharSequence;.toString:()Ljava/lang/String; // method@0552 │ │ +01d5ea: 0c09 |0039: move-result-object v9 │ │ +01d5ec: 6e10 a205 0900 |003a: invoke-virtual {v9}, Ljava/lang/String;.trim:()Ljava/lang/String; // method@05a2 │ │ +01d5f2: 0c09 |003d: move-result-object v9 │ │ +01d5f4: 460a 0501 |003e: aget-object v10, v5, v1 │ │ +01d5f8: 1f0a 7300 |0040: check-cast v10, Landroid/widget/TextView; // type@0073 │ │ +01d5fc: 6e10 0401 0a00 |0042: invoke-virtual {v10}, Landroid/widget/TextView;.getText:()Ljava/lang/CharSequence; // method@0104 │ │ +01d602: 0c0a |0045: move-result-object v10 │ │ +01d604: 7210 5205 0a00 |0046: invoke-interface {v10}, Ljava/lang/CharSequence;.toString:()Ljava/lang/String; // method@0552 │ │ +01d60a: 0c0a |0049: move-result-object v10 │ │ +01d60c: 6e10 a205 0a00 |004a: invoke-virtual {v10}, Ljava/lang/String;.trim:()Ljava/lang/String; // method@05a2 │ │ +01d612: 0c0a |004d: move-result-object v10 │ │ +01d614: 123b |004e: const/4 v11, #int 3 // #3 │ │ +01d616: 4605 050b |004f: aget-object v5, v5, v11 │ │ +01d61a: 1f05 7300 |0051: check-cast v5, Landroid/widget/TextView; // type@0073 │ │ +01d61e: 6e10 0401 0500 |0053: invoke-virtual {v5}, Landroid/widget/TextView;.getText:()Ljava/lang/CharSequence; // method@0104 │ │ +01d624: 0c05 |0056: move-result-object v5 │ │ +01d626: 7210 5205 0500 |0057: invoke-interface {v5}, Ljava/lang/CharSequence;.toString:()Ljava/lang/String; // method@0552 │ │ +01d62c: 0c05 |005a: move-result-object v5 │ │ +01d62e: 6e10 a205 0500 |005b: invoke-virtual {v5}, Ljava/lang/String;.trim:()Ljava/lang/String; // method@05a2 │ │ +01d634: 0c05 |005e: move-result-object v5 │ │ +01d636: 7055 3301 87a9 |005f: invoke-direct {v7, v8, v9, v10, v5}, Ldnsfilter/ConfigUtil$HostFilterList;.:(ZLjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V // method@0133 │ │ +01d63c: 4d07 0204 |0062: aput-object v7, v2, v4 │ │ +01d640: 0164 |0064: move v4, v6 │ │ +01d642: 28ae |0065: goto 0013 // -0052 │ │ +01d644: 1102 |0066: return-object v2 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=168 │ │ 0x0004 line=169 │ │ 0x0007 line=171 │ │ 0x000f line=172 │ │ 0x0015 line=174 │ │ @@ -17209,36 +17209,36 @@ │ │ type : '()V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 4 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 41 16-bit code units │ │ -01dce4: |[01dce4] dnsfilter.android.FilterConfig.load:()V │ │ -01dcf4: 5530 4801 |0000: iget-boolean v0, v3, Ldnsfilter/android/FilterConfig;.loaded:Z // field@0148 │ │ -01dcf8: 3800 0300 |0002: if-eqz v0, 0005 // +0003 │ │ -01dcfc: 0e00 |0004: return-void │ │ -01dcfe: 1200 |0005: const/4 v0, #int 0 // #0 │ │ -01dd00: 5431 4701 |0006: iget-object v1, v3, Ldnsfilter/android/FilterConfig;.filterEntries:[Ldnsfilter/ConfigUtil$HostFilterList; // field@0147 │ │ -01dd04: 2112 |0008: array-length v2, v1 │ │ -01dd06: 3520 0a00 |0009: if-ge v0, v2, 0013 // +000a │ │ -01dd0a: 4601 0100 |000b: aget-object v1, v1, v0 │ │ -01dd0e: 7020 3b03 1300 |000d: invoke-direct {v3, v1}, Ldnsfilter/android/FilterConfig;.addItem:(Ldnsfilter/ConfigUtil$HostFilterList;)V // method@033b │ │ -01dd14: d800 0001 |0010: add-int/lit8 v0, v0, #int 1 // #01 │ │ -01dd18: 28f4 |0012: goto 0006 // -000c │ │ -01dd1a: 7010 3a03 0300 |0013: invoke-direct {v3}, Ldnsfilter/android/FilterConfig;.addEmptyEndItem:()V // method@033a │ │ -01dd20: 5430 3d01 |0016: iget-object v0, v3, Ldnsfilter/android/FilterConfig;.categoryDown:Landroid/widget/Button; // field@013d │ │ -01dd24: 6e20 c500 3000 |0018: invoke-virtual {v0, v3}, Landroid/widget/Button;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@00c5 │ │ -01dd2a: 5430 4001 |001b: iget-object v0, v3, Ldnsfilter/android/FilterConfig;.categoryUp:Landroid/widget/Button; // field@0140 │ │ -01dd2e: 6e20 c500 3000 |001d: invoke-virtual {v0, v3}, Landroid/widget/Button;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@00c5 │ │ -01dd34: 5430 4901 |0020: iget-object v0, v3, Ldnsfilter/android/FilterConfig;.restoreDefault:Landroid/widget/Button; // field@0149 │ │ -01dd38: 6e20 c500 3000 |0022: invoke-virtual {v0, v3}, Landroid/widget/Button;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@00c5 │ │ -01dd3e: 1210 |0025: const/4 v0, #int 1 // #1 │ │ -01dd40: 5c30 4801 |0026: iput-boolean v0, v3, Ldnsfilter/android/FilterConfig;.loaded:Z // field@0148 │ │ -01dd44: 0e00 |0028: return-void │ │ +01dce0: |[01dce0] dnsfilter.android.FilterConfig.load:()V │ │ +01dcf0: 5530 4801 |0000: iget-boolean v0, v3, Ldnsfilter/android/FilterConfig;.loaded:Z // field@0148 │ │ +01dcf4: 3800 0300 |0002: if-eqz v0, 0005 // +0003 │ │ +01dcf8: 0e00 |0004: return-void │ │ +01dcfa: 1200 |0005: const/4 v0, #int 0 // #0 │ │ +01dcfc: 5431 4701 |0006: iget-object v1, v3, Ldnsfilter/android/FilterConfig;.filterEntries:[Ldnsfilter/ConfigUtil$HostFilterList; // field@0147 │ │ +01dd00: 2112 |0008: array-length v2, v1 │ │ +01dd02: 3520 0a00 |0009: if-ge v0, v2, 0013 // +000a │ │ +01dd06: 4601 0100 |000b: aget-object v1, v1, v0 │ │ +01dd0a: 7020 3b03 1300 |000d: invoke-direct {v3, v1}, Ldnsfilter/android/FilterConfig;.addItem:(Ldnsfilter/ConfigUtil$HostFilterList;)V // method@033b │ │ +01dd10: d800 0001 |0010: add-int/lit8 v0, v0, #int 1 // #01 │ │ +01dd14: 28f4 |0012: goto 0006 // -000c │ │ +01dd16: 7010 3a03 0300 |0013: invoke-direct {v3}, Ldnsfilter/android/FilterConfig;.addEmptyEndItem:()V // method@033a │ │ +01dd1c: 5430 3d01 |0016: iget-object v0, v3, Ldnsfilter/android/FilterConfig;.categoryDown:Landroid/widget/Button; // field@013d │ │ +01dd20: 6e20 c500 3000 |0018: invoke-virtual {v0, v3}, Landroid/widget/Button;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@00c5 │ │ +01dd26: 5430 4001 |001b: iget-object v0, v3, Ldnsfilter/android/FilterConfig;.categoryUp:Landroid/widget/Button; // field@0140 │ │ +01dd2a: 6e20 c500 3000 |001d: invoke-virtual {v0, v3}, Landroid/widget/Button;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@00c5 │ │ +01dd30: 5430 4901 |0020: iget-object v0, v3, Ldnsfilter/android/FilterConfig;.restoreDefault:Landroid/widget/Button; // field@0149 │ │ +01dd34: 6e20 c500 3000 |0022: invoke-virtual {v0, v3}, Landroid/widget/Button;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@00c5 │ │ +01dd3a: 1210 |0025: const/4 v0, #int 1 // #1 │ │ +01dd3c: 5c30 4801 |0026: iput-boolean v0, v3, Ldnsfilter/android/FilterConfig;.loaded:Z // field@0148 │ │ +01dd40: 0e00 |0028: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=142 │ │ 0x0006 line=144 │ │ 0x000b line=145 │ │ 0x0013 line=146 │ │ 0x0016 line=148 │ │ @@ -17253,41 +17253,41 @@ │ │ type : '(Landroid/view/View;)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 3 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 50 16-bit code units │ │ -01dd60: |[01dd60] dnsfilter.android.FilterConfig.onClick:(Landroid/view/View;)V │ │ -01dd70: 5410 4501 |0000: iget-object v0, v1, Ldnsfilter/android/FilterConfig;.editOk:Landroid/widget/Button; // field@0145 │ │ -01dd74: 3202 2c00 |0002: if-eq v2, v0, 002e // +002c │ │ -01dd78: 5410 4301 |0004: iget-object v0, v1, Ldnsfilter/android/FilterConfig;.editDelete:Landroid/widget/Button; // field@0143 │ │ -01dd7c: 3202 2800 |0006: if-eq v2, v0, 002e // +0028 │ │ -01dd80: 5410 4201 |0008: iget-object v0, v1, Ldnsfilter/android/FilterConfig;.editCancel:Landroid/widget/Button; // field@0142 │ │ -01dd84: 3302 0300 |000a: if-ne v2, v0, 000d // +0003 │ │ -01dd88: 2822 |000c: goto 002e // +0022 │ │ -01dd8a: 5410 4001 |000d: iget-object v0, v1, Ldnsfilter/android/FilterConfig;.categoryUp:Landroid/widget/Button; // field@0140 │ │ -01dd8e: 3202 1900 |000f: if-eq v2, v0, 0028 // +0019 │ │ -01dd92: 5410 3d01 |0011: iget-object v0, v1, Ldnsfilter/android/FilterConfig;.categoryDown:Landroid/widget/Button; // field@013d │ │ -01dd96: 3302 0300 |0013: if-ne v2, v0, 0016 // +0003 │ │ -01dd9a: 2813 |0015: goto 0028 // +0013 │ │ -01dd9c: 5410 4901 |0016: iget-object v0, v1, Ldnsfilter/android/FilterConfig;.restoreDefault:Landroid/widget/Button; // field@0149 │ │ -01dda0: 3302 0600 |0018: if-ne v2, v0, 001e // +0006 │ │ -01dda4: 7010 4603 0100 |001a: invoke-direct {v1}, Ldnsfilter/android/FilterConfig;.restoreDefaultFilters:()V // method@0346 │ │ -01ddaa: 2814 |001d: goto 0031 // +0014 │ │ -01ddac: 6e10 ae00 0200 |001e: invoke-virtual {v2}, Landroid/view/View;.getParent:()Landroid/view/ViewParent; // method@00ae │ │ -01ddb2: 0c02 |0021: move-result-object v2 │ │ -01ddb4: 1f02 7200 |0022: check-cast v2, Landroid/widget/TableRow; // type@0072 │ │ -01ddb8: 7020 4a03 2100 |0024: invoke-direct {v1, v2}, Ldnsfilter/android/FilterConfig;.showEditDialog:(Landroid/widget/TableRow;)V // method@034a │ │ -01ddbe: 280a |0027: goto 0031 // +000a │ │ -01ddc0: 1f02 6300 |0028: check-cast v2, Landroid/widget/Button; // type@0063 │ │ -01ddc4: 7020 4003 2100 |002a: invoke-direct {v1, v2}, Ldnsfilter/android/FilterConfig;.handleCategoryChange:(Landroid/widget/Button;)V // method@0340 │ │ -01ddca: 2804 |002d: goto 0031 // +0004 │ │ -01ddcc: 7020 4103 2100 |002e: invoke-direct {v1, v2}, Ldnsfilter/android/FilterConfig;.handleEditDialogEvent:(Landroid/view/View;)V // method@0341 │ │ -01ddd2: 0e00 |0031: return-void │ │ +01dd5c: |[01dd5c] dnsfilter.android.FilterConfig.onClick:(Landroid/view/View;)V │ │ +01dd6c: 5410 4501 |0000: iget-object v0, v1, Ldnsfilter/android/FilterConfig;.editOk:Landroid/widget/Button; // field@0145 │ │ +01dd70: 3202 2c00 |0002: if-eq v2, v0, 002e // +002c │ │ +01dd74: 5410 4301 |0004: iget-object v0, v1, Ldnsfilter/android/FilterConfig;.editDelete:Landroid/widget/Button; // field@0143 │ │ +01dd78: 3202 2800 |0006: if-eq v2, v0, 002e // +0028 │ │ +01dd7c: 5410 4201 |0008: iget-object v0, v1, Ldnsfilter/android/FilterConfig;.editCancel:Landroid/widget/Button; // field@0142 │ │ +01dd80: 3302 0300 |000a: if-ne v2, v0, 000d // +0003 │ │ +01dd84: 2822 |000c: goto 002e // +0022 │ │ +01dd86: 5410 4001 |000d: iget-object v0, v1, Ldnsfilter/android/FilterConfig;.categoryUp:Landroid/widget/Button; // field@0140 │ │ +01dd8a: 3202 1900 |000f: if-eq v2, v0, 0028 // +0019 │ │ +01dd8e: 5410 3d01 |0011: iget-object v0, v1, Ldnsfilter/android/FilterConfig;.categoryDown:Landroid/widget/Button; // field@013d │ │ +01dd92: 3302 0300 |0013: if-ne v2, v0, 0016 // +0003 │ │ +01dd96: 2813 |0015: goto 0028 // +0013 │ │ +01dd98: 5410 4901 |0016: iget-object v0, v1, Ldnsfilter/android/FilterConfig;.restoreDefault:Landroid/widget/Button; // field@0149 │ │ +01dd9c: 3302 0600 |0018: if-ne v2, v0, 001e // +0006 │ │ +01dda0: 7010 4603 0100 |001a: invoke-direct {v1}, Ldnsfilter/android/FilterConfig;.restoreDefaultFilters:()V // method@0346 │ │ +01dda6: 2814 |001d: goto 0031 // +0014 │ │ +01dda8: 6e10 ae00 0200 |001e: invoke-virtual {v2}, Landroid/view/View;.getParent:()Landroid/view/ViewParent; // method@00ae │ │ +01ddae: 0c02 |0021: move-result-object v2 │ │ +01ddb0: 1f02 7200 |0022: check-cast v2, Landroid/widget/TableRow; // type@0072 │ │ +01ddb4: 7020 4a03 2100 |0024: invoke-direct {v1, v2}, Ldnsfilter/android/FilterConfig;.showEditDialog:(Landroid/widget/TableRow;)V // method@034a │ │ +01ddba: 280a |0027: goto 0031 // +000a │ │ +01ddbc: 1f02 6300 |0028: check-cast v2, Landroid/widget/Button; // type@0063 │ │ +01ddc0: 7020 4003 2100 |002a: invoke-direct {v1, v2}, Ldnsfilter/android/FilterConfig;.handleCategoryChange:(Landroid/widget/Button;)V // method@0340 │ │ +01ddc6: 2804 |002d: goto 0031 // +0004 │ │ +01ddc8: 7020 4103 2100 |002e: invoke-direct {v1, v2}, Ldnsfilter/android/FilterConfig;.handleEditDialogEvent:(Landroid/view/View;)V // method@0341 │ │ +01ddce: 0e00 |0031: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=196 │ │ 0x000d line=198 │ │ 0x0016 line=200 │ │ 0x001a line=201 │ │ 0x001e line=203 │ │ @@ -17302,22 +17302,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 │ │ -01d544: |[01d544] dnsfilter.android.FilterConfig.onKey:(Landroid/content/DialogInterface;ILandroid/view/KeyEvent;)Z │ │ -01d554: 1243 |0000: const/4 v3, #int 4 // #4 │ │ -01d556: 3232 0500 |0001: if-eq v2, v3, 0006 // +0005 │ │ -01d55a: 1233 |0003: const/4 v3, #int 3 // #3 │ │ -01d55c: 3332 0500 |0004: if-ne v2, v3, 0009 // +0005 │ │ -01d560: 7210 4000 0100 |0006: invoke-interface {v1}, Landroid/content/DialogInterface;.dismiss:()V // method@0040 │ │ -01d566: 1201 |0009: const/4 v1, #int 0 // #0 │ │ -01d568: 0f01 |000a: return v1 │ │ +01d540: |[01d540] dnsfilter.android.FilterConfig.onKey:(Landroid/content/DialogInterface;ILandroid/view/KeyEvent;)Z │ │ +01d550: 1243 |0000: const/4 v3, #int 4 // #4 │ │ +01d552: 3232 0500 |0001: if-eq v2, v3, 0006 // +0005 │ │ +01d556: 1233 |0003: const/4 v3, #int 3 // #3 │ │ +01d558: 3332 0500 |0004: if-ne v2, v3, 0009 // +0005 │ │ +01d55c: 7210 4000 0100 |0006: invoke-interface {v1}, Landroid/content/DialogInterface;.dismiss:()V // method@0040 │ │ +01d562: 1201 |0009: const/4 v1, #int 0 // #0 │ │ +01d564: 0f01 |000a: return v1 │ │ catches : (none) │ │ positions : │ │ 0x0006 line=55 │ │ locals : │ │ 0x0000 - 0x000b reg=0 this Ldnsfilter/android/FilterConfig; │ │ 0x0000 - 0x000b reg=1 (null) Landroid/content/DialogInterface; │ │ 0x0000 - 0x000b reg=2 (null) I │ │ @@ -17328,18 +17328,18 @@ │ │ type : '(Ljava/lang/String;)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 3 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 6 16-bit code units │ │ -01de64: |[01de64] dnsfilter.android.FilterConfig.setCurrentCategory:(Ljava/lang/String;)V │ │ -01de74: 5410 3e01 |0000: iget-object v0, v1, Ldnsfilter/android/FilterConfig;.categoryField:Landroid/widget/TextView; // field@013e │ │ -01de78: 6e20 0901 2000 |0002: invoke-virtual {v0, v2}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@0109 │ │ -01de7e: 0e00 |0005: return-void │ │ +01de60: |[01de60] dnsfilter.android.FilterConfig.setCurrentCategory:(Ljava/lang/String;)V │ │ +01de70: 5410 3e01 |0000: iget-object v0, v1, Ldnsfilter/android/FilterConfig;.categoryField:Landroid/widget/TextView; // field@013e │ │ +01de74: 6e20 0901 2000 |0002: invoke-virtual {v0, v2}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@0109 │ │ +01de7a: 0e00 |0005: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=164 │ │ locals : │ │ 0x0000 - 0x0006 reg=1 this Ldnsfilter/android/FilterConfig; │ │ 0x0000 - 0x0006 reg=2 (null) Ljava/lang/String; │ │ │ │ @@ -17348,55 +17348,55 @@ │ │ type : '([Ldnsfilter/ConfigUtil$HostFilterList;)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 6 │ │ ins : 2 │ │ outs : 3 │ │ insns size : 83 16-bit code units │ │ -01de80: |[01de80] dnsfilter.android.FilterConfig.setEntries:([Ldnsfilter/ConfigUtil$HostFilterList;)V │ │ -01de90: 5b45 4701 |0000: iput-object v5, v4, Ldnsfilter/android/FilterConfig;.filterEntries:[Ldnsfilter/ConfigUtil$HostFilterList; // field@0147 │ │ -01de94: 5445 3f01 |0002: iget-object v5, v4, Ldnsfilter/android/FilterConfig;.categoryMap:Ljava/util/TreeMap; // field@013f │ │ -01de98: 6e10 6c06 0500 |0004: invoke-virtual {v5}, Ljava/util/TreeMap;.clear:()V // method@066c │ │ -01de9e: 5445 3f01 |0007: iget-object v5, v4, Ldnsfilter/android/FilterConfig;.categoryMap:Ljava/util/TreeMap; // field@013f │ │ -01dea2: 6200 3901 |0009: sget-object v0, Ldnsfilter/android/FilterConfig;.ALL_ACTIVE:Ljava/lang/String; // field@0139 │ │ -01dea6: 2201 1e01 |000b: new-instance v1, Ljava/lang/Integer; // type@011e │ │ -01deaa: 1202 |000d: const/4 v2, #int 0 // #0 │ │ -01deac: 7020 6505 2100 |000e: invoke-direct {v1, v2}, Ljava/lang/Integer;.:(I)V // method@0565 │ │ -01deb2: 6e30 7306 0501 |0011: invoke-virtual {v5, v0, v1}, Ljava/util/TreeMap;.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; // method@0673 │ │ -01deb8: 5445 3f01 |0014: iget-object v5, v4, Ldnsfilter/android/FilterConfig;.categoryMap:Ljava/util/TreeMap; // field@013f │ │ -01debc: 6200 3a01 |0016: sget-object v0, Ldnsfilter/android/FilterConfig;.ALL_CATEGORIES:Ljava/lang/String; // field@013a │ │ -01dec0: 2201 1e01 |0018: new-instance v1, Ljava/lang/Integer; // type@011e │ │ -01dec4: 7020 6505 2100 |001a: invoke-direct {v1, v2}, Ljava/lang/Integer;.:(I)V // method@0565 │ │ -01deca: 6e30 7306 0501 |001d: invoke-virtual {v5, v0, v1}, Ljava/util/TreeMap;.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; // method@0673 │ │ -01ded0: 1205 |0020: const/4 v5, #int 0 // #0 │ │ -01ded2: 5440 4701 |0021: iget-object v0, v4, Ldnsfilter/android/FilterConfig;.filterEntries:[Ldnsfilter/ConfigUtil$HostFilterList; // field@0147 │ │ -01ded6: 2101 |0023: array-length v1, v0 │ │ -01ded8: 3515 2e00 |0024: if-ge v5, v1, 0052 // +002e │ │ -01dedc: 5441 3f01 |0026: iget-object v1, v4, Ldnsfilter/android/FilterConfig;.categoryMap:Ljava/util/TreeMap; // field@013f │ │ -01dee0: 4600 0005 |0028: aget-object v0, v0, v5 │ │ -01dee4: 5400 0e00 |002a: iget-object v0, v0, Ldnsfilter/ConfigUtil$HostFilterList;.category:Ljava/lang/String; // field@000e │ │ -01dee8: 6e20 6f06 0100 |002c: invoke-virtual {v1, v0}, Ljava/util/TreeMap;.get:(Ljava/lang/Object;)Ljava/lang/Object; // method@066f │ │ -01deee: 0c00 |002f: move-result-object v0 │ │ -01def0: 1f00 1e01 |0030: check-cast v0, Ljava/lang/Integer; // type@011e │ │ -01def4: 3900 0700 |0032: if-nez v0, 0039 // +0007 │ │ -01def8: 2200 1e01 |0034: new-instance v0, Ljava/lang/Integer; // type@011e │ │ -01defc: 7020 6505 2000 |0036: invoke-direct {v0, v2}, Ljava/lang/Integer;.:(I)V // method@0565 │ │ -01df02: 2201 1e01 |0039: new-instance v1, Ljava/lang/Integer; // type@011e │ │ -01df06: 6e10 6605 0000 |003b: invoke-virtual {v0}, Ljava/lang/Integer;.intValue:()I // method@0566 │ │ -01df0c: 0a00 |003e: move-result v0 │ │ -01df0e: d800 0001 |003f: add-int/lit8 v0, v0, #int 1 // #01 │ │ -01df12: 7020 6505 0100 |0041: invoke-direct {v1, v0}, Ljava/lang/Integer;.:(I)V // method@0565 │ │ -01df18: 5440 3f01 |0044: iget-object v0, v4, Ldnsfilter/android/FilterConfig;.categoryMap:Ljava/util/TreeMap; // field@013f │ │ -01df1c: 5443 4701 |0046: iget-object v3, v4, Ldnsfilter/android/FilterConfig;.filterEntries:[Ldnsfilter/ConfigUtil$HostFilterList; // field@0147 │ │ -01df20: 4603 0305 |0048: aget-object v3, v3, v5 │ │ -01df24: 5433 0e00 |004a: iget-object v3, v3, Ldnsfilter/ConfigUtil$HostFilterList;.category:Ljava/lang/String; // field@000e │ │ -01df28: 6e30 7306 3001 |004c: invoke-virtual {v0, v3, v1}, Ljava/util/TreeMap;.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; // method@0673 │ │ -01df2e: d805 0501 |004f: add-int/lit8 v5, v5, #int 1 // #01 │ │ -01df32: 28d0 |0051: goto 0021 // -0030 │ │ -01df34: 0e00 |0052: return-void │ │ +01de7c: |[01de7c] dnsfilter.android.FilterConfig.setEntries:([Ldnsfilter/ConfigUtil$HostFilterList;)V │ │ +01de8c: 5b45 4701 |0000: iput-object v5, v4, Ldnsfilter/android/FilterConfig;.filterEntries:[Ldnsfilter/ConfigUtil$HostFilterList; // field@0147 │ │ +01de90: 5445 3f01 |0002: iget-object v5, v4, Ldnsfilter/android/FilterConfig;.categoryMap:Ljava/util/TreeMap; // field@013f │ │ +01de94: 6e10 6c06 0500 |0004: invoke-virtual {v5}, Ljava/util/TreeMap;.clear:()V // method@066c │ │ +01de9a: 5445 3f01 |0007: iget-object v5, v4, Ldnsfilter/android/FilterConfig;.categoryMap:Ljava/util/TreeMap; // field@013f │ │ +01de9e: 6200 3901 |0009: sget-object v0, Ldnsfilter/android/FilterConfig;.ALL_ACTIVE:Ljava/lang/String; // field@0139 │ │ +01dea2: 2201 1e01 |000b: new-instance v1, Ljava/lang/Integer; // type@011e │ │ +01dea6: 1202 |000d: const/4 v2, #int 0 // #0 │ │ +01dea8: 7020 6505 2100 |000e: invoke-direct {v1, v2}, Ljava/lang/Integer;.:(I)V // method@0565 │ │ +01deae: 6e30 7306 0501 |0011: invoke-virtual {v5, v0, v1}, Ljava/util/TreeMap;.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; // method@0673 │ │ +01deb4: 5445 3f01 |0014: iget-object v5, v4, Ldnsfilter/android/FilterConfig;.categoryMap:Ljava/util/TreeMap; // field@013f │ │ +01deb8: 6200 3a01 |0016: sget-object v0, Ldnsfilter/android/FilterConfig;.ALL_CATEGORIES:Ljava/lang/String; // field@013a │ │ +01debc: 2201 1e01 |0018: new-instance v1, Ljava/lang/Integer; // type@011e │ │ +01dec0: 7020 6505 2100 |001a: invoke-direct {v1, v2}, Ljava/lang/Integer;.:(I)V // method@0565 │ │ +01dec6: 6e30 7306 0501 |001d: invoke-virtual {v5, v0, v1}, Ljava/util/TreeMap;.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; // method@0673 │ │ +01decc: 1205 |0020: const/4 v5, #int 0 // #0 │ │ +01dece: 5440 4701 |0021: iget-object v0, v4, Ldnsfilter/android/FilterConfig;.filterEntries:[Ldnsfilter/ConfigUtil$HostFilterList; // field@0147 │ │ +01ded2: 2101 |0023: array-length v1, v0 │ │ +01ded4: 3515 2e00 |0024: if-ge v5, v1, 0052 // +002e │ │ +01ded8: 5441 3f01 |0026: iget-object v1, v4, Ldnsfilter/android/FilterConfig;.categoryMap:Ljava/util/TreeMap; // field@013f │ │ +01dedc: 4600 0005 |0028: aget-object v0, v0, v5 │ │ +01dee0: 5400 0e00 |002a: iget-object v0, v0, Ldnsfilter/ConfigUtil$HostFilterList;.category:Ljava/lang/String; // field@000e │ │ +01dee4: 6e20 6f06 0100 |002c: invoke-virtual {v1, v0}, Ljava/util/TreeMap;.get:(Ljava/lang/Object;)Ljava/lang/Object; // method@066f │ │ +01deea: 0c00 |002f: move-result-object v0 │ │ +01deec: 1f00 1e01 |0030: check-cast v0, Ljava/lang/Integer; // type@011e │ │ +01def0: 3900 0700 |0032: if-nez v0, 0039 // +0007 │ │ +01def4: 2200 1e01 |0034: new-instance v0, Ljava/lang/Integer; // type@011e │ │ +01def8: 7020 6505 2000 |0036: invoke-direct {v0, v2}, Ljava/lang/Integer;.:(I)V // method@0565 │ │ +01defe: 2201 1e01 |0039: new-instance v1, Ljava/lang/Integer; // type@011e │ │ +01df02: 6e10 6605 0000 |003b: invoke-virtual {v0}, Ljava/lang/Integer;.intValue:()I // method@0566 │ │ +01df08: 0a00 |003e: move-result v0 │ │ +01df0a: d800 0001 |003f: add-int/lit8 v0, v0, #int 1 // #01 │ │ +01df0e: 7020 6505 0100 |0041: invoke-direct {v1, v0}, Ljava/lang/Integer;.:(I)V // method@0565 │ │ +01df14: 5440 3f01 |0044: iget-object v0, v4, Ldnsfilter/android/FilterConfig;.categoryMap:Ljava/util/TreeMap; // field@013f │ │ +01df18: 5443 4701 |0046: iget-object v3, v4, Ldnsfilter/android/FilterConfig;.filterEntries:[Ldnsfilter/ConfigUtil$HostFilterList; // field@0147 │ │ +01df1c: 4603 0305 |0048: aget-object v3, v3, v5 │ │ +01df20: 5433 0e00 |004a: iget-object v3, v3, Ldnsfilter/ConfigUtil$HostFilterList;.category:Ljava/lang/String; // field@000e │ │ +01df24: 6e30 7306 3001 |004c: invoke-virtual {v0, v3, v1}, Ljava/util/TreeMap;.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; // method@0673 │ │ +01df2a: d805 0501 |004f: add-int/lit8 v5, v5, #int 1 // #01 │ │ +01df2e: 28d0 |0051: goto 0021 // -0030 │ │ +01df30: 0e00 |0052: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=128 │ │ 0x0002 line=129 │ │ 0x0007 line=130 │ │ 0x0014 line=131 │ │ 0x0021 line=132 │ │ @@ -17437,36 +17437,36 @@ │ │ type : '()V' │ │ access : 0x10008 (STATIC CONSTRUCTOR) │ │ code - │ │ registers : 1 │ │ ins : 0 │ │ outs : 1 │ │ insns size : 8 16-bit code units │ │ -01e324: |[01e324] dnsfilter.android.NotificationReceiver.:()V │ │ -01e334: 2200 b200 |0000: new-instance v0, Ldnsfilter/android/NotificationReceiver; // type@00b2 │ │ -01e338: 7010 4e03 0000 |0002: invoke-direct {v0}, Ldnsfilter/android/NotificationReceiver;.:()V // method@034e │ │ -01e33e: 6900 4a01 |0005: sput-object v0, Ldnsfilter/android/NotificationReceiver;.instance:Ldnsfilter/android/NotificationReceiver; // field@014a │ │ -01e342: 0e00 |0007: return-void │ │ +01e320: |[01e320] dnsfilter.android.NotificationReceiver.:()V │ │ +01e330: 2200 b200 |0000: new-instance v0, Ldnsfilter/android/NotificationReceiver; // type@00b2 │ │ +01e334: 7010 4e03 0000 |0002: invoke-direct {v0}, Ldnsfilter/android/NotificationReceiver;.:()V // method@034e │ │ +01e33a: 6900 4a01 |0005: sput-object v0, Ldnsfilter/android/NotificationReceiver;.instance:Ldnsfilter/android/NotificationReceiver; // field@014a │ │ +01e33e: 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 │ │ -01e344: |[01e344] dnsfilter.android.NotificationReceiver.:()V │ │ -01e354: 7010 3000 0000 |0000: invoke-direct {v0}, Landroid/content/BroadcastReceiver;.:()V // method@0030 │ │ -01e35a: 0e00 |0003: return-void │ │ +01e340: |[01e340] dnsfilter.android.NotificationReceiver.:()V │ │ +01e350: 7010 3000 0000 |0000: invoke-direct {v0}, Landroid/content/BroadcastReceiver;.:()V // method@0030 │ │ +01e356: 0e00 |0003: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=31 │ │ locals : │ │ 0x0000 - 0x0004 reg=0 this Ldnsfilter/android/NotificationReceiver; │ │ │ │ #2 : (in Ldnsfilter/android/NotificationReceiver;) │ │ @@ -17474,17 +17474,17 @@ │ │ type : '()Ldnsfilter/android/NotificationReceiver;' │ │ access : 0x0009 (PUBLIC STATIC) │ │ code - │ │ registers : 1 │ │ ins : 0 │ │ outs : 0 │ │ insns size : 3 16-bit code units │ │ -01e30c: |[01e30c] dnsfilter.android.NotificationReceiver.getInstance:()Ldnsfilter/android/NotificationReceiver; │ │ -01e31c: 6200 4a01 |0000: sget-object v0, Ldnsfilter/android/NotificationReceiver;.instance:Ldnsfilter/android/NotificationReceiver; // field@014a │ │ -01e320: 1100 |0002: return-object v0 │ │ +01e308: |[01e308] dnsfilter.android.NotificationReceiver.getInstance:()Ldnsfilter/android/NotificationReceiver; │ │ +01e318: 6200 4a01 |0000: sget-object v0, Ldnsfilter/android/NotificationReceiver;.instance:Ldnsfilter/android/NotificationReceiver; // field@014a │ │ +01e31c: 1100 |0002: return-object v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=37 │ │ locals : │ │ │ │ Virtual methods - │ │ #0 : (in Ldnsfilter/android/NotificationReceiver;) │ │ @@ -17492,46 +17492,46 @@ │ │ type : '(Landroid/content/Context;Landroid/content/Intent;)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 4 │ │ ins : 3 │ │ outs : 3 │ │ insns size : 62 16-bit code units │ │ -01e35c: |[01e35c] dnsfilter.android.NotificationReceiver.onReceive:(Landroid/content/Context;Landroid/content/Intent;)V │ │ -01e36c: 1a02 0000 |0000: const-string v2, "" // string@0000 │ │ -01e370: 7100 5301 0000 |0002: invoke-static {}, Ldnsfilter/ConfigurationAccess;.getLocal:()Ldnsfilter/ConfigurationAccess; // method@0153 │ │ -01e376: 0c03 |0005: move-result-object v3 │ │ -01e378: 6e10 4d01 0300 |0006: invoke-virtual {v3}, Ldnsfilter/ConfigurationAccess;.getConfig:()Ljava/util/Properties; // method@014d │ │ -01e37e: 0c03 |0009: move-result-object v3 │ │ -01e380: 1a00 5609 |000a: const-string v0, "passcode" // string@0956 │ │ -01e384: 6e30 5706 0302 |000c: invoke-virtual {v3, v0, v2}, Ljava/util/Properties;.getProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@0657 │ │ -01e38a: 0c03 |000f: move-result-object v3 │ │ -01e38c: 6e10 a205 0300 |0010: invoke-virtual {v3}, Ljava/lang/String;.trim:()Ljava/lang/String; // method@05a2 │ │ -01e392: 0c03 |0013: move-result-object v3 │ │ -01e394: 6e20 8d05 2300 |0014: invoke-virtual {v3, v2}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058d │ │ -01e39a: 0a02 |0017: move-result v2 │ │ -01e39c: 3902 1500 |0018: if-nez v2, 002d // +0015 │ │ -01e3a0: 7100 2707 0000 |001a: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0727 │ │ -01e3a6: 0c02 |001d: move-result-object v2 │ │ -01e3a8: 1a03 f803 |001e: const-string v3, "Notification action not allowed when passcode protected!" // string@03f8 │ │ -01e3ac: 7220 3307 3200 |0020: invoke-interface {v2, v3}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0733 │ │ -01e3b2: 7100 2707 0000 |0023: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0727 │ │ -01e3b8: 0c02 |0026: move-result-object v2 │ │ -01e3ba: 1a03 f403 |0027: const-string v3, "Not permitted - Passcode protected!" // string@03f4 │ │ -01e3be: 7220 3407 3200 |0029: invoke-interface {v2, v3}, Lutil/LoggerInterface;.message:(Ljava/lang/String;)V // method@0734 │ │ -01e3c4: 0e00 |002c: return-void │ │ -01e3c6: 6202 bb00 |002d: sget-object v2, Ldnsfilter/android/DNSFilterService;.INSTANCE:Ldnsfilter/android/DNSFilterService; // field@00bb │ │ -01e3ca: 3802 0e00 |002f: if-eqz v2, 003d // +000e │ │ -01e3ce: 6e10 a102 0200 |0031: invoke-virtual {v2}, Ldnsfilter/android/DNSFilterService;.pause_resume:()V // method@02a1 │ │ -01e3d4: 2809 |0034: goto 003d // +0009 │ │ -01e3d6: 0d02 |0035: move-exception v2 │ │ -01e3d8: 7100 2707 0000 |0036: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0727 │ │ -01e3de: 0c03 |0039: move-result-object v3 │ │ -01e3e0: 7220 3207 2300 |003a: invoke-interface {v3, v2}, Lutil/LoggerInterface;.logException:(Ljava/lang/Exception;)V // method@0732 │ │ -01e3e6: 0e00 |003d: return-void │ │ +01e358: |[01e358] dnsfilter.android.NotificationReceiver.onReceive:(Landroid/content/Context;Landroid/content/Intent;)V │ │ +01e368: 1a02 0000 |0000: const-string v2, "" // string@0000 │ │ +01e36c: 7100 5301 0000 |0002: invoke-static {}, Ldnsfilter/ConfigurationAccess;.getLocal:()Ldnsfilter/ConfigurationAccess; // method@0153 │ │ +01e372: 0c03 |0005: move-result-object v3 │ │ +01e374: 6e10 4d01 0300 |0006: invoke-virtual {v3}, Ldnsfilter/ConfigurationAccess;.getConfig:()Ljava/util/Properties; // method@014d │ │ +01e37a: 0c03 |0009: move-result-object v3 │ │ +01e37c: 1a00 5609 |000a: const-string v0, "passcode" // string@0956 │ │ +01e380: 6e30 5706 0302 |000c: invoke-virtual {v3, v0, v2}, Ljava/util/Properties;.getProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@0657 │ │ +01e386: 0c03 |000f: move-result-object v3 │ │ +01e388: 6e10 a205 0300 |0010: invoke-virtual {v3}, Ljava/lang/String;.trim:()Ljava/lang/String; // method@05a2 │ │ +01e38e: 0c03 |0013: move-result-object v3 │ │ +01e390: 6e20 8d05 2300 |0014: invoke-virtual {v3, v2}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058d │ │ +01e396: 0a02 |0017: move-result v2 │ │ +01e398: 3902 1500 |0018: if-nez v2, 002d // +0015 │ │ +01e39c: 7100 2707 0000 |001a: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0727 │ │ +01e3a2: 0c02 |001d: move-result-object v2 │ │ +01e3a4: 1a03 f803 |001e: const-string v3, "Notification action not allowed when passcode protected!" // string@03f8 │ │ +01e3a8: 7220 3307 3200 |0020: invoke-interface {v2, v3}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0733 │ │ +01e3ae: 7100 2707 0000 |0023: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0727 │ │ +01e3b4: 0c02 |0026: move-result-object v2 │ │ +01e3b6: 1a03 f403 |0027: const-string v3, "Not permitted - Passcode protected!" // string@03f4 │ │ +01e3ba: 7220 3407 3200 |0029: invoke-interface {v2, v3}, Lutil/LoggerInterface;.message:(Ljava/lang/String;)V // method@0734 │ │ +01e3c0: 0e00 |002c: return-void │ │ +01e3c2: 6202 bb00 |002d: sget-object v2, Ldnsfilter/android/DNSFilterService;.INSTANCE:Ldnsfilter/android/DNSFilterService; // field@00bb │ │ +01e3c6: 3802 0e00 |002f: if-eqz v2, 003d // +000e │ │ +01e3ca: 6e10 a102 0200 |0031: invoke-virtual {v2}, Ldnsfilter/android/DNSFilterService;.pause_resume:()V // method@02a1 │ │ +01e3d0: 2809 |0034: goto 003d // +0009 │ │ +01e3d2: 0d02 |0035: move-exception v2 │ │ +01e3d4: 7100 2707 0000 |0036: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0727 │ │ +01e3da: 0c03 |0039: move-result-object v3 │ │ +01e3dc: 7220 3207 2300 |003a: invoke-interface {v3, v2}, Lutil/LoggerInterface;.logException:(Ljava/lang/Exception;)V // method@0732 │ │ +01e3e2: 0e00 |003d: return-void │ │ catches : 1 │ │ 0x0002 - 0x0034 │ │ Ljava/lang/Exception; -> 0x0035 │ │ positions : │ │ 0x0000 line=43 │ │ 0x0014 line=44 │ │ 0x001a line=45 │ │ @@ -17577,33 +17577,33 @@ │ │ type : '()V' │ │ access : 0x10008 (STATIC CONSTRUCTOR) │ │ code - │ │ registers : 0 │ │ ins : 0 │ │ outs : 0 │ │ insns size : 1 16-bit code units │ │ -01e42c: |[01e42c] dnsfilter.android.PaddedCheckBox.:()V │ │ -01e43c: 0e00 |0000: return-void │ │ +01e428: |[01e428] dnsfilter.android.PaddedCheckBox.:()V │ │ +01e438: 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 │ │ -01e440: |[01e440] dnsfilter.android.PaddedCheckBox.:(Landroid/content/Context;)V │ │ -01e450: 7020 c700 1000 |0000: invoke-direct {v0, v1}, Landroid/widget/CheckBox;.:(Landroid/content/Context;)V // method@00c7 │ │ -01e456: 7010 5703 0000 |0003: invoke-direct {v0}, Ldnsfilter/android/PaddedCheckBox;.doPadding:()V // method@0357 │ │ -01e45c: 0e00 |0006: return-void │ │ +01e43c: |[01e43c] dnsfilter.android.PaddedCheckBox.:(Landroid/content/Context;)V │ │ +01e44c: 7020 c700 1000 |0000: invoke-direct {v0, v1}, Landroid/widget/CheckBox;.:(Landroid/content/Context;)V // method@00c7 │ │ +01e452: 7010 5703 0000 |0003: invoke-direct {v0}, Ldnsfilter/android/PaddedCheckBox;.doPadding:()V // method@0357 │ │ +01e458: 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; │ │ @@ -17613,18 +17613,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 │ │ -01e460: |[01e460] dnsfilter.android.PaddedCheckBox.:(Landroid/content/Context;Landroid/util/AttributeSet;)V │ │ -01e470: 7030 c800 1002 |0000: invoke-direct {v0, v1, v2}, Landroid/widget/CheckBox;.:(Landroid/content/Context;Landroid/util/AttributeSet;)V // method@00c8 │ │ -01e476: 7010 5703 0000 |0003: invoke-direct {v0}, Ldnsfilter/android/PaddedCheckBox;.doPadding:()V // method@0357 │ │ -01e47c: 0e00 |0006: return-void │ │ +01e45c: |[01e45c] dnsfilter.android.PaddedCheckBox.:(Landroid/content/Context;Landroid/util/AttributeSet;)V │ │ +01e46c: 7030 c800 1002 |0000: invoke-direct {v0, v1, v2}, Landroid/widget/CheckBox;.:(Landroid/content/Context;Landroid/util/AttributeSet;)V // method@00c8 │ │ +01e472: 7010 5703 0000 |0003: invoke-direct {v0}, Ldnsfilter/android/PaddedCheckBox;.doPadding:()V // method@0357 │ │ +01e478: 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; │ │ @@ -17635,18 +17635,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 │ │ -01e480: |[01e480] dnsfilter.android.PaddedCheckBox.:(Landroid/content/Context;Landroid/util/AttributeSet;I)V │ │ -01e490: 7040 c900 1032 |0000: invoke-direct {v0, v1, v2, v3}, Landroid/widget/CheckBox;.:(Landroid/content/Context;Landroid/util/AttributeSet;I)V // method@00c9 │ │ -01e496: 7010 5703 0000 |0003: invoke-direct {v0}, Ldnsfilter/android/PaddedCheckBox;.doPadding:()V // method@0357 │ │ -01e49c: 0e00 |0006: return-void │ │ +01e47c: |[01e47c] dnsfilter.android.PaddedCheckBox.:(Landroid/content/Context;Landroid/util/AttributeSet;I)V │ │ +01e48c: 7040 c900 1032 |0000: invoke-direct {v0, v1, v2, v3}, Landroid/widget/CheckBox;.:(Landroid/content/Context;Landroid/util/AttributeSet;I)V // method@00c9 │ │ +01e492: 7010 5703 0000 |0003: invoke-direct {v0}, Ldnsfilter/android/PaddedCheckBox;.doPadding:()V // method@0357 │ │ +01e498: 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; │ │ @@ -17658,18 +17658,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 │ │ -01e4a0: |[01e4a0] dnsfilter.android.PaddedCheckBox.:(Landroid/content/Context;Landroid/util/AttributeSet;II)V │ │ -01e4b0: 7054 ca00 1032 |0000: invoke-direct {v0, v1, v2, v3, v4}, Landroid/widget/CheckBox;.:(Landroid/content/Context;Landroid/util/AttributeSet;II)V // method@00ca │ │ -01e4b6: 7010 5703 0000 |0003: invoke-direct {v0}, Ldnsfilter/android/PaddedCheckBox;.doPadding:()V // method@0357 │ │ -01e4bc: 0e00 |0006: return-void │ │ +01e49c: |[01e49c] dnsfilter.android.PaddedCheckBox.:(Landroid/content/Context;Landroid/util/AttributeSet;II)V │ │ +01e4ac: 7054 ca00 1032 |0000: invoke-direct {v0, v1, v2, v3, v4}, Landroid/widget/CheckBox;.:(Landroid/content/Context;Landroid/util/AttributeSet;II)V // method@00ca │ │ +01e4b2: 7010 5703 0000 |0003: invoke-direct {v0}, Ldnsfilter/android/PaddedCheckBox;.doPadding:()V // method@0357 │ │ +01e4b8: 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; │ │ @@ -17682,26 +17682,26 @@ │ │ type : '(I)I' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 3 │ │ ins : 2 │ │ outs : 1 │ │ insns size : 18 16-bit code units │ │ -01e3f8: |[01e3f8] dnsfilter.android.PaddedCheckBox.convertDpToPx:(I)I │ │ -01e408: 6e10 5803 0100 |0000: invoke-virtual {v1}, Ldnsfilter/android/PaddedCheckBox;.getResources:()Landroid/content/res/Resources; // method@0358 │ │ -01e40e: 0c00 |0003: move-result-object v0 │ │ -01e410: 6e10 5700 0000 |0004: invoke-virtual {v0}, Landroid/content/res/Resources;.getDisplayMetrics:()Landroid/util/DisplayMetrics; // method@0057 │ │ -01e416: 0c00 |0007: move-result-object v0 │ │ -01e418: 5200 0300 |0008: iget v0, v0, Landroid/util/DisplayMetrics;.density:F // field@0003 │ │ -01e41c: 8222 |000a: int-to-float v2, v2 │ │ -01e41e: a802 0200 |000b: mul-float v2, v2, v0 │ │ -01e422: 1500 003f |000d: const/high16 v0, #int 1056964608 // #3f00 │ │ -01e426: c602 |000f: add-float/2addr v2, v0 │ │ -01e428: 8722 |0010: float-to-int v2, v2 │ │ -01e42a: 0f02 |0011: return v2 │ │ +01e3f4: |[01e3f4] dnsfilter.android.PaddedCheckBox.convertDpToPx:(I)I │ │ +01e404: 6e10 5803 0100 |0000: invoke-virtual {v1}, Ldnsfilter/android/PaddedCheckBox;.getResources:()Landroid/content/res/Resources; // method@0358 │ │ +01e40a: 0c00 |0003: move-result-object v0 │ │ +01e40c: 6e10 5700 0000 |0004: invoke-virtual {v0}, Landroid/content/res/Resources;.getDisplayMetrics:()Landroid/util/DisplayMetrics; // method@0057 │ │ +01e412: 0c00 |0007: move-result-object v0 │ │ +01e414: 5200 0300 |0008: iget v0, v0, Landroid/util/DisplayMetrics;.density:F // field@0003 │ │ +01e418: 8222 |000a: int-to-float v2, v2 │ │ +01e41a: a802 0200 |000b: mul-float v2, v2, v0 │ │ +01e41e: 1500 003f |000d: const/high16 v0, #int 1056964608 // #3f00 │ │ +01e422: c602 |000f: add-float/2addr v2, v0 │ │ +01e424: 8722 |0010: float-to-int v2, v2 │ │ +01e426: 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 │ │ │ │ @@ -17710,28 +17710,28 @@ │ │ type : '()V' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 5 │ │ insns size : 26 16-bit code units │ │ -01e4c0: |[01e4c0] dnsfilter.android.PaddedCheckBox.doPadding:()V │ │ -01e4d0: 6000 4c01 |0000: sget v0, Ldnsfilter/android/PaddedCheckBox;.dpAsPx_40:I // field@014c │ │ -01e4d4: 3900 1200 |0002: if-nez v0, 0014 // +0012 │ │ -01e4d8: 1300 2800 |0004: const/16 v0, #int 40 // #28 │ │ -01e4dc: 7020 5603 0100 |0006: invoke-direct {v1, v0}, Ldnsfilter/android/PaddedCheckBox;.convertDpToPx:(I)I // method@0356 │ │ -01e4e2: 0a00 |0009: move-result v0 │ │ -01e4e4: 6700 4c01 |000a: sput v0, Ldnsfilter/android/PaddedCheckBox;.dpAsPx_40:I // field@014c │ │ -01e4e8: 1300 0a00 |000c: const/16 v0, #int 10 // #a │ │ -01e4ec: 7020 5603 0100 |000e: invoke-direct {v1, v0}, Ldnsfilter/android/PaddedCheckBox;.convertDpToPx:(I)I // method@0356 │ │ -01e4f2: 0a00 |0011: move-result v0 │ │ -01e4f4: 6700 4b01 |0012: sput v0, Ldnsfilter/android/PaddedCheckBox;.dpAsPx_10:I // field@014b │ │ -01e4f8: 6000 4b01 |0014: sget v0, Ldnsfilter/android/PaddedCheckBox;.dpAsPx_10:I // field@014b │ │ -01e4fc: 6e50 5c03 0100 |0016: invoke-virtual {v1, v0, v0, v0, v0}, Ldnsfilter/android/PaddedCheckBox;.setPadding:(IIII)V // method@035c │ │ -01e502: 0e00 |0019: return-void │ │ +01e4bc: |[01e4bc] dnsfilter.android.PaddedCheckBox.doPadding:()V │ │ +01e4cc: 6000 4c01 |0000: sget v0, Ldnsfilter/android/PaddedCheckBox;.dpAsPx_40:I // field@014c │ │ +01e4d0: 3900 1200 |0002: if-nez v0, 0014 // +0012 │ │ +01e4d4: 1300 2800 |0004: const/16 v0, #int 40 // #28 │ │ +01e4d8: 7020 5603 0100 |0006: invoke-direct {v1, v0}, Ldnsfilter/android/PaddedCheckBox;.convertDpToPx:(I)I // method@0356 │ │ +01e4de: 0a00 |0009: move-result v0 │ │ +01e4e0: 6700 4c01 |000a: sput v0, Ldnsfilter/android/PaddedCheckBox;.dpAsPx_40:I // field@014c │ │ +01e4e4: 1300 0a00 |000c: const/16 v0, #int 10 // #a │ │ +01e4e8: 7020 5603 0100 |000e: invoke-direct {v1, v0}, Ldnsfilter/android/PaddedCheckBox;.convertDpToPx:(I)I // method@0356 │ │ +01e4ee: 0a00 |0011: move-result v0 │ │ +01e4f0: 6700 4b01 |0012: sput v0, Ldnsfilter/android/PaddedCheckBox;.dpAsPx_10:I // field@014b │ │ +01e4f4: 6000 4b01 |0014: sget v0, Ldnsfilter/android/PaddedCheckBox;.dpAsPx_10:I // field@014b │ │ +01e4f8: 6e50 5c03 0100 |0016: invoke-virtual {v1, v0, v0, v0, v0}, Ldnsfilter/android/PaddedCheckBox;.setPadding:(IIII)V // method@035c │ │ +01e4fe: 0e00 |0019: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=44 │ │ 0x0006 line=45 │ │ 0x000e line=46 │ │ 0x0014 line=50 │ │ locals : │ │ @@ -17763,17 +17763,17 @@ │ │ type : '()V' │ │ access : 0x10001 (PUBLIC CONSTRUCTOR) │ │ code - │ │ registers : 1 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 4 16-bit code units │ │ -01e504: |[01e504] dnsfilter.android.PersonalDNSFilterApp.:()V │ │ -01e514: 7010 1100 0000 |0000: invoke-direct {v0}, Landroid/app/Application;.:()V // method@0011 │ │ -01e51a: 0e00 |0003: return-void │ │ +01e500: |[01e500] dnsfilter.android.PersonalDNSFilterApp.:()V │ │ +01e510: 7010 1100 0000 |0000: invoke-direct {v0}, Landroid/app/Application;.:()V // method@0011 │ │ +01e516: 0e00 |0003: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=5 │ │ locals : │ │ 0x0000 - 0x0004 reg=0 this Ldnsfilter/android/PersonalDNSFilterApp; │ │ │ │ Virtual methods - │ │ @@ -17782,18 +17782,18 @@ │ │ type : '()V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 1 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 7 16-bit code units │ │ -01e51c: |[01e51c] dnsfilter.android.PersonalDNSFilterApp.onCreate:()V │ │ -01e52c: 6f10 1200 0000 |0000: invoke-super {v0}, Landroid/app/Application;.onCreate:()V // method@0012 │ │ -01e532: 7110 2202 0000 |0003: invoke-static {v0}, Ldnsfilter/android/AndroidEnvironment;.initEnvironment:(Landroid/content/Context;)V // method@0222 │ │ -01e538: 0e00 |0006: return-void │ │ +01e518: |[01e518] dnsfilter.android.PersonalDNSFilterApp.onCreate:()V │ │ +01e528: 6f10 1200 0000 |0000: invoke-super {v0}, Landroid/app/Application;.onCreate:()V // method@0012 │ │ +01e52e: 7110 2202 0000 |0003: invoke-static {v0}, Ldnsfilter/android/AndroidEnvironment;.initEnvironment:(Landroid/content/Context;)V // method@0222 │ │ +01e534: 0e00 |0006: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=9 │ │ 0x0003 line=10 │ │ locals : │ │ 0x0000 - 0x0007 reg=0 this Ldnsfilter/android/PersonalDNSFilterApp; │ │ │ │ @@ -17832,17 +17832,17 @@ │ │ type : '()V' │ │ access : 0x10002 (PRIVATE CONSTRUCTOR) │ │ code - │ │ registers : 1 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 4 16-bit code units │ │ -01e53c: |[01e53c] dnsfilter.android.R$anim.:()V │ │ -01e54c: 7010 7505 0000 |0000: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@0575 │ │ -01e552: 0e00 |0003: return-void │ │ +01e538: |[01e538] dnsfilter.android.R$anim.:()V │ │ +01e548: 7010 7505 0000 |0000: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@0575 │ │ +01e54e: 0e00 |0003: return-void │ │ catches : (none) │ │ positions : │ │ locals : │ │ │ │ Virtual methods - │ │ source_file_idx : -1 (unknown) │ │ │ │ @@ -17879,17 +17879,17 @@ │ │ type : '()V' │ │ access : 0x10002 (PRIVATE CONSTRUCTOR) │ │ code - │ │ registers : 1 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 4 16-bit code units │ │ -01e554: |[01e554] dnsfilter.android.R$bool.:()V │ │ -01e564: 7010 7505 0000 |0000: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@0575 │ │ -01e56a: 0e00 |0003: return-void │ │ +01e550: |[01e550] dnsfilter.android.R$bool.:()V │ │ +01e560: 7010 7505 0000 |0000: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@0575 │ │ +01e566: 0e00 |0003: return-void │ │ catches : (none) │ │ positions : │ │ locals : │ │ │ │ Virtual methods - │ │ source_file_idx : -1 (unknown) │ │ │ │ @@ -17976,17 +17976,17 @@ │ │ type : '()V' │ │ access : 0x10002 (PRIVATE CONSTRUCTOR) │ │ code - │ │ registers : 1 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 4 16-bit code units │ │ -01e56c: |[01e56c] dnsfilter.android.R$color.:()V │ │ -01e57c: 7010 7505 0000 |0000: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@0575 │ │ -01e582: 0e00 |0003: return-void │ │ +01e568: |[01e568] dnsfilter.android.R$color.:()V │ │ +01e578: 7010 7505 0000 |0000: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@0575 │ │ +01e57e: 0e00 |0003: return-void │ │ catches : (none) │ │ positions : │ │ locals : │ │ │ │ Virtual methods - │ │ source_file_idx : -1 (unknown) │ │ │ │ @@ -18373,17 +18373,17 @@ │ │ type : '()V' │ │ access : 0x10002 (PRIVATE CONSTRUCTOR) │ │ code - │ │ registers : 1 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 4 16-bit code units │ │ -01e584: |[01e584] dnsfilter.android.R$drawable.:()V │ │ -01e594: 7010 7505 0000 |0000: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@0575 │ │ -01e59a: 0e00 |0003: return-void │ │ +01e580: |[01e580] dnsfilter.android.R$drawable.:()V │ │ +01e590: 7010 7505 0000 |0000: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@0575 │ │ +01e596: 0e00 |0003: return-void │ │ catches : (none) │ │ positions : │ │ locals : │ │ │ │ Virtual methods - │ │ source_file_idx : -1 (unknown) │ │ │ │ @@ -18915,17 +18915,17 @@ │ │ type : '()V' │ │ access : 0x10002 (PRIVATE CONSTRUCTOR) │ │ code - │ │ registers : 1 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 4 16-bit code units │ │ -01e59c: |[01e59c] dnsfilter.android.R$id.:()V │ │ -01e5ac: 7010 7505 0000 |0000: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@0575 │ │ -01e5b2: 0e00 |0003: return-void │ │ +01e598: |[01e598] dnsfilter.android.R$id.:()V │ │ +01e5a8: 7010 7505 0000 |0000: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@0575 │ │ +01e5ae: 0e00 |0003: return-void │ │ catches : (none) │ │ positions : │ │ locals : │ │ │ │ Virtual methods - │ │ source_file_idx : -1 (unknown) │ │ │ │ @@ -19032,17 +19032,17 @@ │ │ type : '()V' │ │ access : 0x10002 (PRIVATE CONSTRUCTOR) │ │ code - │ │ registers : 1 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 4 16-bit code units │ │ -01e5b4: |[01e5b4] dnsfilter.android.R$layout.:()V │ │ -01e5c4: 7010 7505 0000 |0000: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@0575 │ │ -01e5ca: 0e00 |0003: return-void │ │ +01e5b0: |[01e5b0] dnsfilter.android.R$layout.:()V │ │ +01e5c0: 7010 7505 0000 |0000: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@0575 │ │ +01e5c6: 0e00 |0003: return-void │ │ catches : (none) │ │ positions : │ │ locals : │ │ │ │ Virtual methods - │ │ source_file_idx : -1 (unknown) │ │ │ │ @@ -19094,17 +19094,17 @@ │ │ type : '()V' │ │ access : 0x10002 (PRIVATE CONSTRUCTOR) │ │ code - │ │ registers : 1 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 4 16-bit code units │ │ -01e5cc: |[01e5cc] dnsfilter.android.R$mipmap.:()V │ │ -01e5dc: 7010 7505 0000 |0000: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@0575 │ │ -01e5e2: 0e00 |0003: return-void │ │ +01e5c8: |[01e5c8] dnsfilter.android.R$mipmap.:()V │ │ +01e5d8: 7010 7505 0000 |0000: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@0575 │ │ +01e5de: 0e00 |0003: return-void │ │ catches : (none) │ │ positions : │ │ locals : │ │ │ │ Virtual methods - │ │ source_file_idx : -1 (unknown) │ │ │ │ @@ -19391,17 +19391,17 @@ │ │ type : '()V' │ │ access : 0x10002 (PRIVATE CONSTRUCTOR) │ │ code - │ │ registers : 1 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 4 16-bit code units │ │ -01e5e4: |[01e5e4] dnsfilter.android.R$string.:()V │ │ -01e5f4: 7010 7505 0000 |0000: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@0575 │ │ -01e5fa: 0e00 |0003: return-void │ │ +01e5e0: |[01e5e0] dnsfilter.android.R$string.:()V │ │ +01e5f0: 7010 7505 0000 |0000: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@0575 │ │ +01e5f6: 0e00 |0003: return-void │ │ catches : (none) │ │ positions : │ │ locals : │ │ │ │ Virtual methods - │ │ source_file_idx : -1 (unknown) │ │ │ │ @@ -19463,17 +19463,17 @@ │ │ type : '()V' │ │ access : 0x10002 (PRIVATE CONSTRUCTOR) │ │ code - │ │ registers : 1 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 4 16-bit code units │ │ -01e5fc: |[01e5fc] dnsfilter.android.R$style.:()V │ │ -01e60c: 7010 7505 0000 |0000: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@0575 │ │ -01e612: 0e00 |0003: return-void │ │ +01e5f8: |[01e5f8] dnsfilter.android.R$style.:()V │ │ +01e608: 7010 7505 0000 |0000: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@0575 │ │ +01e60e: 0e00 |0003: return-void │ │ catches : (none) │ │ positions : │ │ locals : │ │ │ │ Virtual methods - │ │ source_file_idx : -1 (unknown) │ │ │ │ @@ -19504,17 +19504,17 @@ │ │ type : '()V' │ │ access : 0x10002 (PRIVATE CONSTRUCTOR) │ │ code - │ │ registers : 1 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 4 16-bit code units │ │ -01e614: |[01e614] dnsfilter.android.R.:()V │ │ -01e624: 7010 7505 0000 |0000: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@0575 │ │ -01e62a: 0e00 |0003: return-void │ │ +01e610: |[01e610] dnsfilter.android.R.:()V │ │ +01e620: 7010 7505 0000 |0000: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@0575 │ │ +01e626: 0e00 |0003: return-void │ │ catches : (none) │ │ positions : │ │ locals : │ │ │ │ Virtual methods - │ │ source_file_idx : -1 (unknown) │ │ │ │ @@ -19551,18 +19551,18 @@ │ │ type : '(Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;)V' │ │ access : 0x10000 (CONSTRUCTOR) │ │ code - │ │ registers : 2 │ │ ins : 2 │ │ outs : 1 │ │ insns size : 6 16-bit code units │ │ -01e62c: |[01e62c] dnsfilter.android.dnsserverconfig.DNSServerConfigActivity$1.:(Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;)V │ │ -01e63c: 5b01 5102 |0000: iput-object v1, v0, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity$1;.this$0:Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity; // field@0251 │ │ -01e640: 7010 7505 0000 |0002: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@0575 │ │ -01e646: 0e00 |0005: return-void │ │ +01e628: |[01e628] dnsfilter.android.dnsserverconfig.DNSServerConfigActivity$1.:(Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;)V │ │ +01e638: 5b01 5102 |0000: iput-object v1, v0, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity$1;.this$0:Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity; // field@0251 │ │ +01e63c: 7010 7505 0000 |0002: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@0575 │ │ +01e642: 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; │ │ │ │ @@ -19572,32 +19572,32 @@ │ │ type : '(Landroid/view/View;)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 4 │ │ ins : 2 │ │ outs : 3 │ │ insns size : 34 16-bit code units │ │ -01e648: |[01e648] dnsfilter.android.dnsserverconfig.DNSServerConfigActivity$1.onClick:(Landroid/view/View;)V │ │ -01e658: 5423 5102 |0000: iget-object v3, v2, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity$1;.this$0:Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity; // field@0251 │ │ -01e65c: 7110 7a03 0300 |0002: invoke-static {v3}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.access$200:(Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;)Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenter; // method@037a │ │ -01e662: 0c03 |0005: move-result-object v3 │ │ -01e664: 5420 5102 |0006: iget-object v0, v2, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity$1;.this$0:Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity; // field@0251 │ │ -01e668: 7110 7803 0000 |0008: invoke-static {v0}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.access$000:(Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;)Ldnsfilter/android/PaddedCheckBox; // method@0378 │ │ -01e66e: 0c00 |000b: move-result-object v0 │ │ -01e670: 6e10 5903 0000 |000c: invoke-virtual {v0}, Ldnsfilter/android/PaddedCheckBox;.isChecked:()Z // method@0359 │ │ -01e676: 0a00 |000f: move-result v0 │ │ -01e678: 5421 5102 |0010: iget-object v1, v2, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity$1;.this$0:Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity; // field@0251 │ │ -01e67c: 7110 7903 0100 |0012: invoke-static {v1}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.access$100:(Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;)Landroid/widget/EditText; // method@0379 │ │ -01e682: 0c01 |0015: move-result-object v1 │ │ -01e684: 6e10 da00 0100 |0016: invoke-virtual {v1}, Landroid/widget/EditText;.getText:()Landroid/text/Editable; // method@00da │ │ -01e68a: 0c01 |0019: move-result-object v1 │ │ -01e68c: 6e10 7a05 0100 |001a: invoke-virtual {v1}, Ljava/lang/Object;.toString:()Ljava/lang/String; // method@057a │ │ -01e692: 0c01 |001d: move-result-object v1 │ │ -01e694: 7230 9603 0301 |001e: invoke-interface {v3, v0, v1}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenter;.applyNewConfiguration:(ZLjava/lang/String;)V // method@0396 │ │ -01e69a: 0e00 |0021: return-void │ │ +01e644: |[01e644] dnsfilter.android.dnsserverconfig.DNSServerConfigActivity$1.onClick:(Landroid/view/View;)V │ │ +01e654: 5423 5102 |0000: iget-object v3, v2, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity$1;.this$0:Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity; // field@0251 │ │ +01e658: 7110 7a03 0300 |0002: invoke-static {v3}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.access$200:(Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;)Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenter; // method@037a │ │ +01e65e: 0c03 |0005: move-result-object v3 │ │ +01e660: 5420 5102 |0006: iget-object v0, v2, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity$1;.this$0:Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity; // field@0251 │ │ +01e664: 7110 7803 0000 |0008: invoke-static {v0}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.access$000:(Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;)Ldnsfilter/android/PaddedCheckBox; // method@0378 │ │ +01e66a: 0c00 |000b: move-result-object v0 │ │ +01e66c: 6e10 5903 0000 |000c: invoke-virtual {v0}, Ldnsfilter/android/PaddedCheckBox;.isChecked:()Z // method@0359 │ │ +01e672: 0a00 |000f: move-result v0 │ │ +01e674: 5421 5102 |0010: iget-object v1, v2, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity$1;.this$0:Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity; // field@0251 │ │ +01e678: 7110 7903 0100 |0012: invoke-static {v1}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.access$100:(Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;)Landroid/widget/EditText; // method@0379 │ │ +01e67e: 0c01 |0015: move-result-object v1 │ │ +01e680: 6e10 da00 0100 |0016: invoke-virtual {v1}, Landroid/widget/EditText;.getText:()Landroid/text/Editable; // method@00da │ │ +01e686: 0c01 |0019: move-result-object v1 │ │ +01e688: 6e10 7a05 0100 |001a: invoke-virtual {v1}, Ljava/lang/Object;.toString:()Ljava/lang/String; // method@057a │ │ +01e68e: 0c01 |001d: move-result-object v1 │ │ +01e690: 7230 9603 0301 |001e: invoke-interface {v3, v0, v1}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenter;.applyNewConfiguration:(ZLjava/lang/String;)V // method@0396 │ │ +01e696: 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; │ │ │ │ @@ -19636,18 +19636,18 @@ │ │ type : '(Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;)V' │ │ access : 0x10000 (CONSTRUCTOR) │ │ code - │ │ registers : 2 │ │ ins : 2 │ │ outs : 1 │ │ insns size : 6 16-bit code units │ │ -01e69c: |[01e69c] dnsfilter.android.dnsserverconfig.DNSServerConfigActivity$2.:(Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;)V │ │ -01e6ac: 5b01 5202 |0000: iput-object v1, v0, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity$2;.this$0:Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity; // field@0252 │ │ -01e6b0: 7010 7505 0000 |0002: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@0575 │ │ -01e6b6: 0e00 |0005: return-void │ │ +01e698: |[01e698] dnsfilter.android.dnsserverconfig.DNSServerConfigActivity$2.:(Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;)V │ │ +01e6a8: 5b01 5202 |0000: iput-object v1, v0, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity$2;.this$0:Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity; // field@0252 │ │ +01e6ac: 7010 7505 0000 |0002: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@0575 │ │ +01e6b2: 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; │ │ │ │ @@ -19657,25 +19657,25 @@ │ │ type : '(Landroid/view/View;)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 3 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 20 16-bit code units │ │ -01e6b8: |[01e6b8] dnsfilter.android.dnsserverconfig.DNSServerConfigActivity$2.onClick:(Landroid/view/View;)V │ │ -01e6c8: 5412 5202 |0000: iget-object v2, v1, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity$2;.this$0:Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity; // field@0252 │ │ -01e6cc: 7110 7a03 0200 |0002: invoke-static {v2}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.access$200:(Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;)Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenter; // method@037a │ │ -01e6d2: 0c02 |0005: move-result-object v2 │ │ -01e6d4: 5410 5202 |0006: iget-object v0, v1, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity$2;.this$0:Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity; // field@0252 │ │ -01e6d8: 7110 7b03 0000 |0008: invoke-static {v0}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.access$300:(Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;)Ldnsfilter/android/PaddedCheckBox; // method@037b │ │ -01e6de: 0c00 |000b: move-result-object v0 │ │ -01e6e0: 6e10 5903 0000 |000c: invoke-virtual {v0}, Ldnsfilter/android/PaddedCheckBox;.isChecked:()Z // method@0359 │ │ -01e6e6: 0a00 |000f: move-result v0 │ │ -01e6e8: 7220 9a03 0200 |0010: invoke-interface {v2, v0}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenter;.onChangedManualDNSServers:(Z)V // method@039a │ │ -01e6ee: 0e00 |0013: return-void │ │ +01e6b4: |[01e6b4] dnsfilter.android.dnsserverconfig.DNSServerConfigActivity$2.onClick:(Landroid/view/View;)V │ │ +01e6c4: 5412 5202 |0000: iget-object v2, v1, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity$2;.this$0:Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity; // field@0252 │ │ +01e6c8: 7110 7a03 0200 |0002: invoke-static {v2}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.access$200:(Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;)Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenter; // method@037a │ │ +01e6ce: 0c02 |0005: move-result-object v2 │ │ +01e6d0: 5410 5202 |0006: iget-object v0, v1, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity$2;.this$0:Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity; // field@0252 │ │ +01e6d4: 7110 7b03 0000 |0008: invoke-static {v0}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.access$300:(Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;)Ldnsfilter/android/PaddedCheckBox; // method@037b │ │ +01e6da: 0c00 |000b: move-result-object v0 │ │ +01e6dc: 6e10 5903 0000 |000c: invoke-virtual {v0}, Ldnsfilter/android/PaddedCheckBox;.isChecked:()Z // method@0359 │ │ +01e6e2: 0a00 |000f: move-result v0 │ │ +01e6e4: 7220 9a03 0200 |0010: invoke-interface {v2, v0}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenter;.onChangedManualDNSServers:(Z)V // method@039a │ │ +01e6ea: 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; │ │ │ │ @@ -19714,18 +19714,18 @@ │ │ type : '(Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;)V' │ │ access : 0x10000 (CONSTRUCTOR) │ │ code - │ │ registers : 2 │ │ ins : 2 │ │ outs : 1 │ │ insns size : 6 16-bit code units │ │ -01e6f0: |[01e6f0] dnsfilter.android.dnsserverconfig.DNSServerConfigActivity$3.:(Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;)V │ │ -01e700: 5b01 5302 |0000: iput-object v1, v0, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity$3;.this$0:Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity; // field@0253 │ │ -01e704: 7010 7505 0000 |0002: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@0575 │ │ -01e70a: 0e00 |0005: return-void │ │ +01e6ec: |[01e6ec] dnsfilter.android.dnsserverconfig.DNSServerConfigActivity$3.:(Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;)V │ │ +01e6fc: 5b01 5302 |0000: iput-object v1, v0, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity$3;.this$0:Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity; // field@0253 │ │ +01e700: 7010 7505 0000 |0002: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@0575 │ │ +01e706: 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; │ │ │ │ @@ -19735,32 +19735,32 @@ │ │ type : '(Landroid/view/View;)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 4 │ │ ins : 2 │ │ outs : 3 │ │ insns size : 34 16-bit code units │ │ -01e70c: |[01e70c] dnsfilter.android.dnsserverconfig.DNSServerConfigActivity$3.onClick:(Landroid/view/View;)V │ │ -01e71c: 5423 5302 |0000: iget-object v3, v2, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity$3;.this$0:Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity; // field@0253 │ │ -01e720: 7110 7a03 0300 |0002: invoke-static {v3}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.access$200:(Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;)Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenter; // method@037a │ │ -01e726: 0c03 |0005: move-result-object v3 │ │ -01e728: 5420 5302 |0006: iget-object v0, v2, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity$3;.this$0:Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity; // field@0253 │ │ -01e72c: 7110 7803 0000 |0008: invoke-static {v0}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.access$000:(Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;)Ldnsfilter/android/PaddedCheckBox; // method@0378 │ │ -01e732: 0c00 |000b: move-result-object v0 │ │ -01e734: 6e10 5903 0000 |000c: invoke-virtual {v0}, Ldnsfilter/android/PaddedCheckBox;.isChecked:()Z // method@0359 │ │ -01e73a: 0a00 |000f: move-result v0 │ │ -01e73c: 5421 5302 |0010: iget-object v1, v2, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity$3;.this$0:Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity; // field@0253 │ │ -01e740: 7110 7903 0100 |0012: invoke-static {v1}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.access$100:(Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;)Landroid/widget/EditText; // method@0379 │ │ -01e746: 0c01 |0015: move-result-object v1 │ │ -01e748: 6e10 da00 0100 |0016: invoke-virtual {v1}, Landroid/widget/EditText;.getText:()Landroid/text/Editable; // method@00da │ │ -01e74e: 0c01 |0019: move-result-object v1 │ │ -01e750: 6e10 7a05 0100 |001a: invoke-virtual {v1}, Ljava/lang/Object;.toString:()Ljava/lang/String; // method@057a │ │ -01e756: 0c01 |001d: move-result-object v1 │ │ -01e758: 7230 9903 0301 |001e: invoke-interface {v3, v0, v1}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenter;.onChangedEditModeValue:(ZLjava/lang/String;)V // method@0399 │ │ -01e75e: 0e00 |0021: return-void │ │ +01e708: |[01e708] dnsfilter.android.dnsserverconfig.DNSServerConfigActivity$3.onClick:(Landroid/view/View;)V │ │ +01e718: 5423 5302 |0000: iget-object v3, v2, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity$3;.this$0:Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity; // field@0253 │ │ +01e71c: 7110 7a03 0300 |0002: invoke-static {v3}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.access$200:(Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;)Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenter; // method@037a │ │ +01e722: 0c03 |0005: move-result-object v3 │ │ +01e724: 5420 5302 |0006: iget-object v0, v2, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity$3;.this$0:Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity; // field@0253 │ │ +01e728: 7110 7803 0000 |0008: invoke-static {v0}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.access$000:(Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;)Ldnsfilter/android/PaddedCheckBox; // method@0378 │ │ +01e72e: 0c00 |000b: move-result-object v0 │ │ +01e730: 6e10 5903 0000 |000c: invoke-virtual {v0}, Ldnsfilter/android/PaddedCheckBox;.isChecked:()Z // method@0359 │ │ +01e736: 0a00 |000f: move-result v0 │ │ +01e738: 5421 5302 |0010: iget-object v1, v2, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity$3;.this$0:Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity; // field@0253 │ │ +01e73c: 7110 7903 0100 |0012: invoke-static {v1}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.access$100:(Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;)Landroid/widget/EditText; // method@0379 │ │ +01e742: 0c01 |0015: move-result-object v1 │ │ +01e744: 6e10 da00 0100 |0016: invoke-virtual {v1}, Landroid/widget/EditText;.getText:()Landroid/text/Editable; // method@00da │ │ +01e74a: 0c01 |0019: move-result-object v1 │ │ +01e74c: 6e10 7a05 0100 |001a: invoke-virtual {v1}, Ljava/lang/Object;.toString:()Ljava/lang/String; // method@057a │ │ +01e752: 0c01 |001d: move-result-object v1 │ │ +01e754: 7230 9903 0301 |001e: invoke-interface {v3, v0, v1}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenter;.onChangedEditModeValue:(ZLjava/lang/String;)V // method@0399 │ │ +01e75a: 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; │ │ │ │ @@ -19799,18 +19799,18 @@ │ │ type : '(Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;)V' │ │ access : 0x10000 (CONSTRUCTOR) │ │ code - │ │ registers : 2 │ │ ins : 2 │ │ outs : 1 │ │ insns size : 6 16-bit code units │ │ -01e760: |[01e760] dnsfilter.android.dnsserverconfig.DNSServerConfigActivity$4.:(Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;)V │ │ -01e770: 5b01 5402 |0000: iput-object v1, v0, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity$4;.this$0:Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity; // field@0254 │ │ -01e774: 7010 7505 0000 |0002: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@0575 │ │ -01e77a: 0e00 |0005: return-void │ │ +01e75c: |[01e75c] dnsfilter.android.dnsserverconfig.DNSServerConfigActivity$4.:(Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;)V │ │ +01e76c: 5b01 5402 |0000: iput-object v1, v0, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity$4;.this$0:Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity; // field@0254 │ │ +01e770: 7010 7505 0000 |0002: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@0575 │ │ +01e776: 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; │ │ │ │ @@ -19820,25 +19820,25 @@ │ │ type : '(Landroid/view/View;)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 3 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 20 16-bit code units │ │ -01e77c: |[01e77c] dnsfilter.android.dnsserverconfig.DNSServerConfigActivity$4.onClick:(Landroid/view/View;)V │ │ -01e78c: 5412 5402 |0000: iget-object v2, v1, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity$4;.this$0:Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity; // field@0254 │ │ -01e790: 7110 7a03 0200 |0002: invoke-static {v2}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.access$200:(Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;)Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenter; // method@037a │ │ -01e796: 0c02 |0005: move-result-object v2 │ │ -01e798: 5410 5402 |0006: iget-object v0, v1, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity$4;.this$0:Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity; // field@0254 │ │ -01e79c: 7110 7c03 0000 |0008: invoke-static {v0}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.access$400:(Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;)Ldnsfilter/android/PaddedCheckBox; // method@037c │ │ -01e7a2: 0c00 |000b: move-result-object v0 │ │ -01e7a4: 6e10 5903 0000 |000c: invoke-virtual {v0}, Ldnsfilter/android/PaddedCheckBox;.isChecked:()Z // method@0359 │ │ -01e7aa: 0a00 |000f: move-result v0 │ │ -01e7ac: 7220 9b03 0200 |0010: invoke-interface {v2, v0}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenter;.onChangedShowCommentedLinesCheckbox:(Z)V // method@039b │ │ -01e7b2: 0e00 |0013: return-void │ │ +01e778: |[01e778] dnsfilter.android.dnsserverconfig.DNSServerConfigActivity$4.onClick:(Landroid/view/View;)V │ │ +01e788: 5412 5402 |0000: iget-object v2, v1, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity$4;.this$0:Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity; // field@0254 │ │ +01e78c: 7110 7a03 0200 |0002: invoke-static {v2}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.access$200:(Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;)Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenter; // method@037a │ │ +01e792: 0c02 |0005: move-result-object v2 │ │ +01e794: 5410 5402 |0006: iget-object v0, v1, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity$4;.this$0:Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity; // field@0254 │ │ +01e798: 7110 7c03 0000 |0008: invoke-static {v0}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.access$400:(Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;)Ldnsfilter/android/PaddedCheckBox; // method@037c │ │ +01e79e: 0c00 |000b: move-result-object v0 │ │ +01e7a0: 6e10 5903 0000 |000c: invoke-virtual {v0}, Ldnsfilter/android/PaddedCheckBox;.isChecked:()Z // method@0359 │ │ +01e7a6: 0a00 |000f: move-result v0 │ │ +01e7a8: 7220 9b03 0200 |0010: invoke-interface {v2, v0}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenter;.onChangedShowCommentedLinesCheckbox:(Z)V // method@039b │ │ +01e7ae: 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; │ │ │ │ @@ -19877,18 +19877,18 @@ │ │ type : '(Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;)V' │ │ access : 0x10000 (CONSTRUCTOR) │ │ code - │ │ registers : 2 │ │ ins : 2 │ │ outs : 1 │ │ insns size : 6 16-bit code units │ │ -01e7b4: |[01e7b4] dnsfilter.android.dnsserverconfig.DNSServerConfigActivity$5.:(Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;)V │ │ -01e7c4: 5b01 5502 |0000: iput-object v1, v0, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity$5;.this$0:Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity; // field@0255 │ │ -01e7c8: 7010 7505 0000 |0002: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@0575 │ │ -01e7ce: 0e00 |0005: return-void │ │ +01e7b0: |[01e7b0] dnsfilter.android.dnsserverconfig.DNSServerConfigActivity$5.:(Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;)V │ │ +01e7c0: 5b01 5502 |0000: iput-object v1, v0, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity$5;.this$0:Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity; // field@0255 │ │ +01e7c4: 7010 7505 0000 |0002: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@0575 │ │ +01e7ca: 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; │ │ │ │ @@ -19898,20 +19898,20 @@ │ │ type : '(Landroid/view/View;)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 2 │ │ outs : 1 │ │ insns size : 10 16-bit code units │ │ -01e7d0: |[01e7d0] dnsfilter.android.dnsserverconfig.DNSServerConfigActivity$5.onClick:(Landroid/view/View;)V │ │ -01e7e0: 5401 5502 |0000: iget-object v1, v0, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity$5;.this$0:Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity; // field@0255 │ │ -01e7e4: 7110 7a03 0100 |0002: invoke-static {v1}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.access$200:(Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;)Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenter; // method@037a │ │ -01e7ea: 0c01 |0005: move-result-object v1 │ │ -01e7ec: 7210 9d03 0100 |0006: invoke-interface {v1}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenter;.resetDNSConfigToDefault:()V // method@039d │ │ -01e7f2: 0e00 |0009: return-void │ │ +01e7cc: |[01e7cc] dnsfilter.android.dnsserverconfig.DNSServerConfigActivity$5.onClick:(Landroid/view/View;)V │ │ +01e7dc: 5401 5502 |0000: iget-object v1, v0, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity$5;.this$0:Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity; // field@0255 │ │ +01e7e0: 7110 7a03 0100 |0002: invoke-static {v1}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.access$200:(Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;)Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenter; // method@037a │ │ +01e7e6: 0c01 |0005: move-result-object v1 │ │ +01e7e8: 7210 9d03 0100 |0006: invoke-interface {v1}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenter;.resetDNSConfigToDefault:()V // method@039d │ │ +01e7ee: 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; │ │ │ │ @@ -19950,18 +19950,18 @@ │ │ type : '(Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;)V' │ │ access : 0x10000 (CONSTRUCTOR) │ │ code - │ │ registers : 2 │ │ ins : 2 │ │ outs : 1 │ │ insns size : 6 16-bit code units │ │ -01e7f4: |[01e7f4] dnsfilter.android.dnsserverconfig.DNSServerConfigActivity$6.:(Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;)V │ │ -01e804: 5b01 5602 |0000: iput-object v1, v0, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity$6;.this$0:Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity; // field@0256 │ │ -01e808: 7010 7505 0000 |0002: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@0575 │ │ -01e80e: 0e00 |0005: return-void │ │ +01e7f0: |[01e7f0] dnsfilter.android.dnsserverconfig.DNSServerConfigActivity$6.:(Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;)V │ │ +01e800: 5b01 5602 |0000: iput-object v1, v0, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity$6;.this$0:Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity; // field@0256 │ │ +01e804: 7010 7505 0000 |0002: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@0575 │ │ +01e80a: 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; │ │ │ │ @@ -19971,23 +19971,23 @@ │ │ type : '()V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 4 │ │ ins : 1 │ │ outs : 3 │ │ insns size : 17 16-bit code units │ │ -01e810: |[01e810] dnsfilter.android.dnsserverconfig.DNSServerConfigActivity$6.run:()V │ │ -01e820: 2200 1a00 |0000: new-instance v0, Landroid/content/Intent; // type@001a │ │ -01e824: 7010 4100 0000 |0002: invoke-direct {v0}, Landroid/content/Intent;.:()V // method@0041 │ │ -01e82a: 5431 5602 |0005: iget-object v1, v3, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity$6;.this$0:Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity; // field@0256 │ │ -01e82e: 12f2 |0007: const/4 v2, #int -1 // #ff │ │ -01e830: 6e30 9003 2100 |0008: invoke-virtual {v1, v2, v0}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.setResult:(ILandroid/content/Intent;)V // method@0390 │ │ -01e836: 5430 5602 |000b: iget-object v0, v3, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity$6;.this$0:Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity; // field@0256 │ │ -01e83a: 6e10 8503 0000 |000d: invoke-virtual {v0}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.finish:()V // method@0385 │ │ -01e840: 0e00 |0010: return-void │ │ +01e80c: |[01e80c] dnsfilter.android.dnsserverconfig.DNSServerConfigActivity$6.run:()V │ │ +01e81c: 2200 1a00 |0000: new-instance v0, Landroid/content/Intent; // type@001a │ │ +01e820: 7010 4100 0000 |0002: invoke-direct {v0}, Landroid/content/Intent;.:()V // method@0041 │ │ +01e826: 5431 5602 |0005: iget-object v1, v3, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity$6;.this$0:Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity; // field@0256 │ │ +01e82a: 12f2 |0007: const/4 v2, #int -1 // #ff │ │ +01e82c: 6e30 9003 2100 |0008: invoke-virtual {v1, v2, v0}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.setResult:(ILandroid/content/Intent;)V // method@0390 │ │ +01e832: 5430 5602 |000b: iget-object v0, v3, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity$6;.this$0:Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity; // field@0256 │ │ +01e836: 6e10 8503 0000 |000d: invoke-virtual {v0}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.finish:()V // method@0385 │ │ +01e83c: 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; │ │ @@ -20092,17 +20092,17 @@ │ │ type : '()V' │ │ access : 0x10001 (PUBLIC CONSTRUCTOR) │ │ code - │ │ registers : 1 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 4 16-bit code units │ │ -01f458: |[01f458] dnsfilter.android.dnsserverconfig.DNSServerConfigUtils.:()V │ │ -01f468: 7010 7505 0000 |0000: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@0575 │ │ -01f46e: 0e00 |0003: return-void │ │ +01f454: |[01f454] dnsfilter.android.dnsserverconfig.DNSServerConfigUtils.:()V │ │ +01f464: 7010 7505 0000 |0000: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@0575 │ │ +01f46a: 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;) │ │ @@ -20110,21 +20110,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 │ │ -01f434: |[01f434] dnsfilter.android.dnsserverconfig.DNSServerConfigUtils.formatSerializedProperties:(Ljava/lang/String;)Ljava/lang/String; │ │ -01f444: 1a00 8c00 |0000: const-string v0, ";" // string@008c │ │ -01f448: 1a01 0200 |0002: const-string v1, " │ │ +01f430: |[01f430] dnsfilter.android.dnsserverconfig.DNSServerConfigUtils.formatSerializedProperties:(Ljava/lang/String;)Ljava/lang/String; │ │ +01f440: 1a00 8c00 |0000: const-string v0, ";" // string@008c │ │ +01f444: 1a01 0200 |0002: const-string v1, " │ │ " // string@0002 │ │ -01f44c: 6e30 9705 0201 |0004: invoke-virtual {v2, v0, v1}, Ljava/lang/String;.replace:(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String; // method@0597 │ │ -01f452: 0c02 |0007: move-result-object v2 │ │ -01f454: 1102 |0008: return-object v2 │ │ +01f448: 6e30 9705 0201 |0004: invoke-virtual {v2, v0, v1}, Ljava/lang/String;.replace:(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String; // method@0597 │ │ +01f44e: 0c02 |0007: move-result-object v2 │ │ +01f450: 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;) │ │ @@ -20132,27 +20132,27 @@ │ │ type : '(Landroid/view/View;)V' │ │ access : 0x0008 (STATIC) │ │ code - │ │ registers : 3 │ │ ins : 1 │ │ outs : 3 │ │ insns size : 24 16-bit code units │ │ -01f470: |[01f470] dnsfilter.android.dnsserverconfig.DNSServerConfigUtils.hideKeyboard:(Landroid/view/View;)V │ │ -01f480: 6e10 ab00 0200 |0000: invoke-virtual {v2}, Landroid/view/View;.clearFocus:()V // method@00ab │ │ -01f486: 6e10 ad00 0200 |0003: invoke-virtual {v2}, Landroid/view/View;.getContext:()Landroid/content/Context; // method@00ad │ │ -01f48c: 0c00 |0006: move-result-object v0 │ │ -01f48e: 1a01 4208 |0007: const-string v1, "input_method" // string@0842 │ │ -01f492: 6e20 3d00 1000 |0009: invoke-virtual {v0, v1}, Landroid/content/Context;.getSystemService:(Ljava/lang/String;)Ljava/lang/Object; // method@003d │ │ -01f498: 0c00 |000c: move-result-object v0 │ │ -01f49a: 1f00 5f00 |000d: check-cast v0, Landroid/view/inputmethod/InputMethodManager; // type@005f │ │ -01f49e: 6e10 b100 0200 |000f: invoke-virtual {v2}, Landroid/view/View;.getWindowToken:()Landroid/os/IBinder; // method@00b1 │ │ -01f4a4: 0c02 |0012: move-result-object v2 │ │ -01f4a6: 1201 |0013: const/4 v1, #int 0 // #0 │ │ -01f4a8: 6e30 c000 2001 |0014: invoke-virtual {v0, v2, v1}, Landroid/view/inputmethod/InputMethodManager;.hideSoftInputFromWindow:(Landroid/os/IBinder;I)Z // method@00c0 │ │ -01f4ae: 0e00 |0017: return-void │ │ +01f46c: |[01f46c] dnsfilter.android.dnsserverconfig.DNSServerConfigUtils.hideKeyboard:(Landroid/view/View;)V │ │ +01f47c: 6e10 ab00 0200 |0000: invoke-virtual {v2}, Landroid/view/View;.clearFocus:()V // method@00ab │ │ +01f482: 6e10 ad00 0200 |0003: invoke-virtual {v2}, Landroid/view/View;.getContext:()Landroid/content/Context; // method@00ad │ │ +01f488: 0c00 |0006: move-result-object v0 │ │ +01f48a: 1a01 4208 |0007: const-string v1, "input_method" // string@0842 │ │ +01f48e: 6e20 3d00 1000 |0009: invoke-virtual {v0, v1}, Landroid/content/Context;.getSystemService:(Ljava/lang/String;)Ljava/lang/Object; // method@003d │ │ +01f494: 0c00 |000c: move-result-object v0 │ │ +01f496: 1f00 5f00 |000d: check-cast v0, Landroid/view/inputmethod/InputMethodManager; // type@005f │ │ +01f49a: 6e10 b100 0200 |000f: invoke-virtual {v2}, Landroid/view/View;.getWindowToken:()Landroid/os/IBinder; // method@00b1 │ │ +01f4a0: 0c02 |0012: move-result-object v2 │ │ +01f4a2: 1201 |0013: const/4 v1, #int 0 // #0 │ │ +01f4a4: 6e30 c000 2001 |0014: invoke-virtual {v0, v2, v1}, Landroid/view/inputmethod/InputMethodManager;.hideSoftInputFromWindow:(Landroid/os/IBinder;I)Z // method@00c0 │ │ +01f4aa: 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; │ │ @@ -20248,25 +20248,25 @@ │ │ type : '(Landroid/content/Context;)V' │ │ access : 0x10001 (PUBLIC CONSTRUCTOR) │ │ code - │ │ registers : 3 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 22 16-bit code units │ │ -01f558: |[01f558] dnsfilter.android.dnsserverconfig.widget.DNSConfigEntryValidator.:(Landroid/content/Context;)V │ │ -01f568: 7010 7505 0100 |0000: invoke-direct {v1}, Ljava/lang/Object;.:()V // method@0575 │ │ -01f56e: 1400 1700 087f |0003: const v0, #float 1.80775e+38 // #7f080017 │ │ -01f574: 6e20 3b00 0200 |0006: invoke-virtual {v2, v0}, Landroid/content/Context;.getString:(I)Ljava/lang/String; // method@003b │ │ -01f57a: 0c00 |0009: move-result-object v0 │ │ -01f57c: 5b10 6f02 |000a: iput-object v0, v1, Ldnsfilter/android/dnsserverconfig/widget/DNSConfigEntryValidator;.emptyIpErrorResult:Ljava/lang/String; // field@026f │ │ -01f580: 1400 2100 087f |000c: const v0, #float 1.80776e+38 // #7f080021 │ │ -01f586: 6e20 3b00 0200 |000f: invoke-virtual {v2, v0}, Landroid/content/Context;.getString:(I)Ljava/lang/String; // method@003b │ │ -01f58c: 0c02 |0012: move-result-object v2 │ │ -01f58e: 5b12 7002 |0013: iput-object v2, v1, Ldnsfilter/android/dnsserverconfig/widget/DNSConfigEntryValidator;.emptyPortErrorResult:Ljava/lang/String; // field@0270 │ │ -01f592: 0e00 |0015: return-void │ │ +01f554: |[01f554] dnsfilter.android.dnsserverconfig.widget.DNSConfigEntryValidator.:(Landroid/content/Context;)V │ │ +01f564: 7010 7505 0100 |0000: invoke-direct {v1}, Ljava/lang/Object;.:()V // method@0575 │ │ +01f56a: 1400 1700 087f |0003: const v0, #float 1.80775e+38 // #7f080017 │ │ +01f570: 6e20 3b00 0200 |0006: invoke-virtual {v2, v0}, Landroid/content/Context;.getString:(I)Ljava/lang/String; // method@003b │ │ +01f576: 0c00 |0009: move-result-object v0 │ │ +01f578: 5b10 6f02 |000a: iput-object v0, v1, Ldnsfilter/android/dnsserverconfig/widget/DNSConfigEntryValidator;.emptyIpErrorResult:Ljava/lang/String; // field@026f │ │ +01f57c: 1400 2100 087f |000c: const v0, #float 1.80776e+38 // #7f080021 │ │ +01f582: 6e20 3b00 0200 |000f: invoke-virtual {v2, v0}, Landroid/content/Context;.getString:(I)Ljava/lang/String; // method@003b │ │ +01f588: 0c02 |0012: move-result-object v2 │ │ +01f58a: 5b12 7002 |0013: iput-object v2, v1, Ldnsfilter/android/dnsserverconfig/widget/DNSConfigEntryValidator;.emptyPortErrorResult:Ljava/lang/String; // field@0270 │ │ +01f58e: 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; │ │ @@ -20277,24 +20277,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 │ │ -01f4f8: |[01f4f8] dnsfilter.android.dnsserverconfig.widget.DNSConfigEntryValidator.checkIp:(Ljava/lang/String;)Ljava/lang/String; │ │ -01f508: 6e10 a205 0100 |0000: invoke-virtual {v1}, Ljava/lang/String;.trim:()Ljava/lang/String; // method@05a2 │ │ -01f50e: 0c01 |0003: move-result-object v1 │ │ -01f510: 6e10 9305 0100 |0004: invoke-virtual {v1}, Ljava/lang/String;.isEmpty:()Z // method@0593 │ │ -01f516: 0a01 |0007: move-result v1 │ │ -01f518: 3801 0500 |0008: if-eqz v1, 000d // +0005 │ │ -01f51c: 5401 6f02 |000a: iget-object v1, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSConfigEntryValidator;.emptyIpErrorResult:Ljava/lang/String; // field@026f │ │ -01f520: 2802 |000c: goto 000e // +0002 │ │ -01f522: 1201 |000d: const/4 v1, #int 0 // #0 │ │ -01f524: 1101 |000e: return-object v1 │ │ +01f4f4: |[01f4f4] dnsfilter.android.dnsserverconfig.widget.DNSConfigEntryValidator.checkIp:(Ljava/lang/String;)Ljava/lang/String; │ │ +01f504: 6e10 a205 0100 |0000: invoke-virtual {v1}, Ljava/lang/String;.trim:()Ljava/lang/String; // method@05a2 │ │ +01f50a: 0c01 |0003: move-result-object v1 │ │ +01f50c: 6e10 9305 0100 |0004: invoke-virtual {v1}, Ljava/lang/String;.isEmpty:()Z // method@0593 │ │ +01f512: 0a01 |0007: move-result v1 │ │ +01f514: 3801 0500 |0008: if-eqz v1, 000d // +0005 │ │ +01f518: 5401 6f02 |000a: iget-object v1, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSConfigEntryValidator;.emptyIpErrorResult:Ljava/lang/String; // field@026f │ │ +01f51c: 2802 |000c: goto 000e // +0002 │ │ +01f51e: 1201 |000d: const/4 v1, #int 0 // #0 │ │ +01f520: 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; │ │ @@ -20304,24 +20304,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 │ │ -01f528: |[01f528] dnsfilter.android.dnsserverconfig.widget.DNSConfigEntryValidator.checkPort:(Ljava/lang/String;)Ljava/lang/String; │ │ -01f538: 6e10 a205 0100 |0000: invoke-virtual {v1}, Ljava/lang/String;.trim:()Ljava/lang/String; // method@05a2 │ │ -01f53e: 0c01 |0003: move-result-object v1 │ │ -01f540: 6e10 9305 0100 |0004: invoke-virtual {v1}, Ljava/lang/String;.isEmpty:()Z // method@0593 │ │ -01f546: 0a01 |0007: move-result v1 │ │ -01f548: 3801 0500 |0008: if-eqz v1, 000d // +0005 │ │ -01f54c: 5401 7002 |000a: iget-object v1, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSConfigEntryValidator;.emptyPortErrorResult:Ljava/lang/String; // field@0270 │ │ -01f550: 2802 |000c: goto 000e // +0002 │ │ -01f552: 1201 |000d: const/4 v1, #int 0 // #0 │ │ -01f554: 1101 |000e: return-object v1 │ │ +01f524: |[01f524] dnsfilter.android.dnsserverconfig.widget.DNSConfigEntryValidator.checkPort:(Ljava/lang/String;)Ljava/lang/String; │ │ +01f534: 6e10 a205 0100 |0000: invoke-virtual {v1}, Ljava/lang/String;.trim:()Ljava/lang/String; // method@05a2 │ │ +01f53a: 0c01 |0003: move-result-object v1 │ │ +01f53c: 6e10 9305 0100 |0004: invoke-virtual {v1}, Ljava/lang/String;.isEmpty:()Z // method@0593 │ │ +01f542: 0a01 |0007: move-result v1 │ │ +01f544: 3801 0500 |0008: if-eqz v1, 000d // +0005 │ │ +01f548: 5401 7002 |000a: iget-object v1, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSConfigEntryValidator;.emptyPortErrorResult:Ljava/lang/String; // field@0270 │ │ +01f54c: 2802 |000c: goto 000e // +0002 │ │ +01f54e: 1201 |000d: const/4 v1, #int 0 // #0 │ │ +01f550: 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; │ │ @@ -20332,28 +20332,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 │ │ -01f4b0: |[01f4b0] dnsfilter.android.dnsserverconfig.widget.DNSConfigEntryValidator.validate:(Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;)Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult; │ │ -01f4c0: 2200 da00 |0000: new-instance v0, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult; // type@00da │ │ -01f4c4: 7010 fe03 0000 |0002: invoke-direct {v0}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult;.:()V // method@03fe │ │ -01f4ca: 6e10 4c04 0300 |0005: invoke-virtual {v3}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.getIp:()Ljava/lang/String; // method@044c │ │ -01f4d0: 0c01 |0008: move-result-object v1 │ │ -01f4d2: 7020 ba03 1200 |0009: invoke-direct {v2, v1}, Ldnsfilter/android/dnsserverconfig/widget/DNSConfigEntryValidator;.checkIp:(Ljava/lang/String;)Ljava/lang/String; // method@03ba │ │ -01f4d8: 0c01 |000c: move-result-object v1 │ │ -01f4da: 6e20 0404 1000 |000d: invoke-virtual {v0, v1}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult;.setIpError:(Ljava/lang/String;)V // method@0404 │ │ -01f4e0: 6e10 4f04 0300 |0010: invoke-virtual {v3}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.getPort:()Ljava/lang/String; // method@044f │ │ -01f4e6: 0c03 |0013: move-result-object v3 │ │ -01f4e8: 7020 bb03 3200 |0014: invoke-direct {v2, v3}, Ldnsfilter/android/dnsserverconfig/widget/DNSConfigEntryValidator;.checkPort:(Ljava/lang/String;)Ljava/lang/String; // method@03bb │ │ -01f4ee: 0c03 |0017: move-result-object v3 │ │ -01f4f0: 6e20 0504 3000 |0018: invoke-virtual {v0, v3}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult;.setPortError:(Ljava/lang/String;)V // method@0405 │ │ -01f4f6: 1100 |001b: return-object v0 │ │ +01f4ac: |[01f4ac] dnsfilter.android.dnsserverconfig.widget.DNSConfigEntryValidator.validate:(Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;)Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult; │ │ +01f4bc: 2200 da00 |0000: new-instance v0, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult; // type@00da │ │ +01f4c0: 7010 fe03 0000 |0002: invoke-direct {v0}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult;.:()V // method@03fe │ │ +01f4c6: 6e10 4c04 0300 |0005: invoke-virtual {v3}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.getIp:()Ljava/lang/String; // method@044c │ │ +01f4cc: 0c01 |0008: move-result-object v1 │ │ +01f4ce: 7020 ba03 1200 |0009: invoke-direct {v2, v1}, Ldnsfilter/android/dnsserverconfig/widget/DNSConfigEntryValidator;.checkIp:(Ljava/lang/String;)Ljava/lang/String; // method@03ba │ │ +01f4d4: 0c01 |000c: move-result-object v1 │ │ +01f4d6: 6e20 0404 1000 |000d: invoke-virtual {v0, v1}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult;.setIpError:(Ljava/lang/String;)V // method@0404 │ │ +01f4dc: 6e10 4f04 0300 |0010: invoke-virtual {v3}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.getPort:()Ljava/lang/String; // method@044f │ │ +01f4e2: 0c03 |0013: move-result-object v3 │ │ +01f4e4: 7020 bb03 3200 |0014: invoke-direct {v2, v3}, Ldnsfilter/android/dnsserverconfig/widget/DNSConfigEntryValidator;.checkPort:(Ljava/lang/String;)Ljava/lang/String; // method@03bb │ │ +01f4ea: 0c03 |0017: move-result-object v3 │ │ +01f4ec: 6e20 0504 3000 |0018: invoke-virtual {v0, v3}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult;.setPortError:(Ljava/lang/String;)V // method@0405 │ │ +01f4f2: 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; │ │ @@ -20393,19 +20393,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 │ │ -01f594: |[01f594] dnsfilter.android.dnsserverconfig.widget.DNSListAdapter$$ExternalSyntheticLambda0.:(Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;)V │ │ -01f5a4: 7010 7505 0000 |0000: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@0575 │ │ -01f5aa: 5b01 7102 |0003: iput-object v1, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$$ExternalSyntheticLambda0;.f$0:Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry; // field@0271 │ │ -01f5ae: 5b02 7202 |0005: iput-object v2, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$$ExternalSyntheticLambda0;.f$1:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder; // field@0272 │ │ -01f5b2: 0e00 |0007: return-void │ │ +01f590: |[01f590] dnsfilter.android.dnsserverconfig.widget.DNSListAdapter$$ExternalSyntheticLambda0.:(Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;)V │ │ +01f5a0: 7010 7505 0000 |0000: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@0575 │ │ +01f5a6: 5b01 7102 |0003: iput-object v1, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$$ExternalSyntheticLambda0;.f$0:Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry; // field@0271 │ │ +01f5aa: 5b02 7202 |0005: iput-object v2, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$$ExternalSyntheticLambda0;.f$1:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder; // field@0272 │ │ +01f5ae: 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; │ │ @@ -20416,19 +20416,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 │ │ -01f5b4: |[01f5b4] dnsfilter.android.dnsserverconfig.widget.DNSListAdapter$$ExternalSyntheticLambda0.onCheckedChanged:(Landroid/widget/CompoundButton;Z)V │ │ -01f5c4: 5420 7102 |0000: iget-object v0, v2, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$$ExternalSyntheticLambda0;.f$0:Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry; // field@0271 │ │ -01f5c8: 5421 7202 |0002: iget-object v1, v2, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$$ExternalSyntheticLambda0;.f$1:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder; // field@0272 │ │ -01f5cc: 7140 eb03 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@03eb │ │ -01f5d2: 0e00 |0007: return-void │ │ +01f5b0: |[01f5b0] dnsfilter.android.dnsserverconfig.widget.DNSListAdapter$$ExternalSyntheticLambda0.onCheckedChanged:(Landroid/widget/CompoundButton;Z)V │ │ +01f5c0: 5420 7102 |0000: iget-object v0, v2, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$$ExternalSyntheticLambda0;.f$0:Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry; // field@0271 │ │ +01f5c4: 5421 7202 |0002: iget-object v1, v2, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$$ExternalSyntheticLambda0;.f$1:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder; // field@0272 │ │ +01f5c8: 7140 eb03 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@03eb │ │ +01f5ce: 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 │ │ @@ -20468,18 +20468,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 │ │ -01f5d4: |[01f5d4] dnsfilter.android.dnsserverconfig.widget.DNSListAdapter$1.:(Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;)V │ │ -01f5e4: 5b01 7302 |0000: iput-object v1, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$1;.this$0:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter; // field@0273 │ │ -01f5e8: 7010 7505 0000 |0002: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@0575 │ │ -01f5ee: 0e00 |0005: return-void │ │ +01f5d0: |[01f5d0] dnsfilter.android.dnsserverconfig.widget.DNSListAdapter$1.:(Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;)V │ │ +01f5e0: 5b01 7302 |0000: iput-object v1, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$1;.this$0:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter; // field@0273 │ │ +01f5e4: 7010 7505 0000 |0002: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@0575 │ │ +01f5ea: 0e00 |0005: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=124 │ │ locals : │ │ 0x0000 - 0x0006 reg=0 this Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$1; │ │ 0x0000 - 0x0006 reg=1 (null) Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter; │ │ │ │ @@ -20489,25 +20489,25 @@ │ │ type : '(Landroid/view/View;)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 4 │ │ ins : 2 │ │ outs : 3 │ │ insns size : 21 16-bit code units │ │ -01f5f0: |[01f5f0] dnsfilter.android.dnsserverconfig.widget.DNSListAdapter$1.onClick:(Landroid/view/View;)V │ │ -01f600: 2203 e800 |0000: new-instance v3, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry; // type@00e8 │ │ -01f604: 7010 4204 0300 |0002: invoke-direct {v3}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.:()V // method@0442 │ │ -01f60a: 5420 7302 |0005: iget-object v0, v2, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$1;.this$0:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter; // field@0273 │ │ -01f60e: 6e20 dc03 3000 |0007: invoke-virtual {v0, v3}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.add:(Ljava/lang/Object;)V // method@03dc │ │ -01f614: 5420 7302 |000a: iget-object v0, v2, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$1;.this$0:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter; // field@0273 │ │ -01f618: 7110 d503 0000 |000c: invoke-static {v0}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.access$000:(Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;)Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView; // method@03d5 │ │ -01f61e: 0c00 |000f: move-result-object v0 │ │ -01f620: 1211 |0010: const/4 v1, #int 1 // #1 │ │ -01f622: 6e30 2004 3001 |0011: invoke-virtual {v0, v3, v1}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;.showEntry:(Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;Z)V // method@0420 │ │ -01f628: 0e00 |0014: return-void │ │ +01f5ec: |[01f5ec] dnsfilter.android.dnsserverconfig.widget.DNSListAdapter$1.onClick:(Landroid/view/View;)V │ │ +01f5fc: 2203 e800 |0000: new-instance v3, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry; // type@00e8 │ │ +01f600: 7010 4204 0300 |0002: invoke-direct {v3}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.:()V // method@0442 │ │ +01f606: 5420 7302 |0005: iget-object v0, v2, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$1;.this$0:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter; // field@0273 │ │ +01f60a: 6e20 dc03 3000 |0007: invoke-virtual {v0, v3}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.add:(Ljava/lang/Object;)V // method@03dc │ │ +01f610: 5420 7302 |000a: iget-object v0, v2, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$1;.this$0:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter; // field@0273 │ │ +01f614: 7110 d503 0000 |000c: invoke-static {v0}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.access$000:(Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;)Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView; // method@03d5 │ │ +01f61a: 0c00 |000f: move-result-object v0 │ │ +01f61c: 1211 |0010: const/4 v1, #int 1 // #1 │ │ +01f61e: 6e30 2004 3001 |0011: invoke-virtual {v0, v3, v1}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;.showEntry:(Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;Z)V // method@0420 │ │ +01f624: 0e00 |0014: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=127 │ │ 0x0005 line=128 │ │ 0x000a line=129 │ │ locals : │ │ 0x0000 - 0x0015 reg=2 this Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$1; │ │ @@ -20554,19 +20554,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 │ │ -01f62c: |[01f62c] dnsfilter.android.dnsserverconfig.widget.DNSListAdapter$2$1$1.:(Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2$1;J)V │ │ -01f63c: 5b01 7402 |0000: iput-object v1, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2$1$1;.this$2:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2$1; // field@0274 │ │ -01f640: 5a02 7502 |0002: iput-wide v2, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2$1$1;.val$result:J // field@0275 │ │ -01f644: 7010 7505 0000 |0004: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@0575 │ │ -01f64a: 0e00 |0007: return-void │ │ +01f628: |[01f628] dnsfilter.android.dnsserverconfig.widget.DNSListAdapter$2$1$1.:(Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2$1;J)V │ │ +01f638: 5b01 7402 |0000: iput-object v1, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2$1$1;.this$2:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2$1; // field@0274 │ │ +01f63c: 5a02 7502 |0002: iput-wide v2, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2$1$1;.val$result:J // field@0275 │ │ +01f640: 7010 7505 0000 |0004: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@0575 │ │ +01f646: 0e00 |0007: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=209 │ │ 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 │ │ @@ -20577,28 +20577,28 @@ │ │ type : '()V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 6 │ │ ins : 1 │ │ outs : 4 │ │ insns size : 28 16-bit code units │ │ -01f64c: |[01f64c] dnsfilter.android.dnsserverconfig.widget.DNSListAdapter$2$1$1.run:()V │ │ -01f65c: 5450 7402 |0000: iget-object v0, v5, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2$1$1;.this$2:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2$1; // field@0274 │ │ -01f660: 5400 7802 |0002: iget-object v0, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2$1;.this$1:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2; // field@0278 │ │ -01f664: 5400 7a02 |0004: iget-object v0, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2;.val$entry:Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry; // field@027a │ │ -01f668: 2201 e300 |0006: new-instance v1, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult; // type@00e3 │ │ -01f66c: 6202 a002 |0008: sget-object v2, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState;.SUCCESS:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState; // field@02a0 │ │ -01f670: 5353 7502 |000a: iget-wide v3, v5, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2$1$1;.val$result:J // field@0275 │ │ -01f674: 7040 2404 2143 |000c: invoke-direct {v1, v2, v3, v4}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult;.:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState;J)V // method@0424 │ │ -01f67a: 6e20 5904 1000 |000f: invoke-virtual {v0, v1}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.setTestResult:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult;)V // method@0459 │ │ -01f680: 5450 7402 |0012: iget-object v0, v5, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2$1$1;.this$2:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2$1; // field@0274 │ │ -01f684: 5400 7802 |0014: iget-object v0, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2$1;.this$1:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2; // field@0278 │ │ -01f688: 5400 7902 |0016: iget-object v0, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2;.this$0:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter; // field@0279 │ │ -01f68c: 6e10 ec03 0000 |0018: invoke-virtual {v0}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.notifyDataSetChanged:()V // method@03ec │ │ -01f692: 0e00 |001b: return-void │ │ +01f648: |[01f648] dnsfilter.android.dnsserverconfig.widget.DNSListAdapter$2$1$1.run:()V │ │ +01f658: 5450 7402 |0000: iget-object v0, v5, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2$1$1;.this$2:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2$1; // field@0274 │ │ +01f65c: 5400 7802 |0002: iget-object v0, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2$1;.this$1:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2; // field@0278 │ │ +01f660: 5400 7a02 |0004: iget-object v0, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2;.val$entry:Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry; // field@027a │ │ +01f664: 2201 e300 |0006: new-instance v1, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult; // type@00e3 │ │ +01f668: 6202 a002 |0008: sget-object v2, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState;.SUCCESS:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState; // field@02a0 │ │ +01f66c: 5353 7502 |000a: iget-wide v3, v5, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2$1$1;.val$result:J // field@0275 │ │ +01f670: 7040 2404 2143 |000c: invoke-direct {v1, v2, v3, v4}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult;.:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState;J)V // method@0424 │ │ +01f676: 6e20 5904 1000 |000f: invoke-virtual {v0, v1}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.setTestResult:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult;)V // method@0459 │ │ +01f67c: 5450 7402 |0012: iget-object v0, v5, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2$1$1;.this$2:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2$1; // field@0274 │ │ +01f680: 5400 7802 |0014: iget-object v0, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2$1;.this$1:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2; // field@0278 │ │ +01f684: 5400 7902 |0016: iget-object v0, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2;.this$0:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter; // field@0279 │ │ +01f688: 6e10 ec03 0000 |0018: invoke-virtual {v0}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.notifyDataSetChanged:()V // method@03ec │ │ +01f68e: 0e00 |001b: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=212 │ │ 0x0012 line=213 │ │ locals : │ │ 0x0000 - 0x001c reg=5 this Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2$1$1; │ │ │ │ @@ -20643,19 +20643,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 │ │ -01f694: |[01f694] dnsfilter.android.dnsserverconfig.widget.DNSListAdapter$2$1$2.:(Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2$1;Ljava/io/IOException;)V │ │ -01f6a4: 5b01 7602 |0000: iput-object v1, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2$1$2;.this$2:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2$1; // field@0276 │ │ -01f6a8: 5b02 7702 |0002: iput-object v2, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2$1$2;.val$e:Ljava/io/IOException; // field@0277 │ │ -01f6ac: 7010 7505 0000 |0004: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@0575 │ │ -01f6b2: 0e00 |0007: return-void │ │ +01f690: |[01f690] dnsfilter.android.dnsserverconfig.widget.DNSListAdapter$2$1$2.:(Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2$1;Ljava/io/IOException;)V │ │ +01f6a0: 5b01 7602 |0000: iput-object v1, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2$1$2;.this$2:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2$1; // field@0276 │ │ +01f6a4: 5b02 7702 |0002: iput-object v2, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2$1$2;.val$e:Ljava/io/IOException; // field@0277 │ │ +01f6a8: 7010 7505 0000 |0004: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@0575 │ │ +01f6ae: 0e00 |0007: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=217 │ │ 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; │ │ @@ -20666,36 +20666,36 @@ │ │ type : '()V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 5 │ │ ins : 1 │ │ outs : 3 │ │ insns size : 44 16-bit code units │ │ -01f6b4: |[01f6b4] dnsfilter.android.dnsserverconfig.widget.DNSListAdapter$2$1$2.run:()V │ │ -01f6c4: 5440 7702 |0000: iget-object v0, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2$1$2;.val$e:Ljava/io/IOException; // field@0277 │ │ -01f6c8: 6e10 2405 0000 |0002: invoke-virtual {v0}, Ljava/io/IOException;.getMessage:()Ljava/lang/String; // method@0524 │ │ -01f6ce: 0c00 |0005: move-result-object v0 │ │ -01f6d0: 3900 0c00 |0006: if-nez v0, 0012 // +000c │ │ -01f6d4: 5440 7602 |0008: iget-object v0, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2$1$2;.this$2:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2$1; // field@0276 │ │ -01f6d8: 5400 7802 |000a: iget-object v0, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2$1;.this$1:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2; // field@0278 │ │ -01f6dc: 5400 7902 |000c: iget-object v0, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2;.this$0:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter; // field@0279 │ │ -01f6e0: 7110 d703 0000 |000e: invoke-static {v0}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.access$300:(Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;)Ljava/lang/String; // method@03d7 │ │ -01f6e6: 0c00 |0011: move-result-object v0 │ │ -01f6e8: 5441 7602 |0012: iget-object v1, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2$1$2;.this$2:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2$1; // field@0276 │ │ -01f6ec: 5411 7802 |0014: iget-object v1, v1, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2$1;.this$1:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2; // field@0278 │ │ -01f6f0: 5411 7a02 |0016: iget-object v1, v1, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2;.val$entry:Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry; // field@027a │ │ -01f6f4: 2202 e300 |0018: new-instance v2, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult; // type@00e3 │ │ -01f6f8: 6203 9d02 |001a: sget-object v3, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState;.FAIL:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState; // field@029d │ │ -01f6fc: 7030 2504 3200 |001c: invoke-direct {v2, v3, v0}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult;.:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState;Ljava/lang/String;)V // method@0425 │ │ -01f702: 6e20 5904 2100 |001f: invoke-virtual {v1, v2}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.setTestResult:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult;)V // method@0459 │ │ -01f708: 5440 7602 |0022: iget-object v0, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2$1$2;.this$2:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2$1; // field@0276 │ │ -01f70c: 5400 7802 |0024: iget-object v0, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2$1;.this$1:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2; // field@0278 │ │ -01f710: 5400 7902 |0026: iget-object v0, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2;.this$0:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter; // field@0279 │ │ -01f714: 6e10 ec03 0000 |0028: invoke-virtual {v0}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.notifyDataSetChanged:()V // method@03ec │ │ -01f71a: 0e00 |002b: return-void │ │ +01f6b0: |[01f6b0] dnsfilter.android.dnsserverconfig.widget.DNSListAdapter$2$1$2.run:()V │ │ +01f6c0: 5440 7702 |0000: iget-object v0, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2$1$2;.val$e:Ljava/io/IOException; // field@0277 │ │ +01f6c4: 6e10 2405 0000 |0002: invoke-virtual {v0}, Ljava/io/IOException;.getMessage:()Ljava/lang/String; // method@0524 │ │ +01f6ca: 0c00 |0005: move-result-object v0 │ │ +01f6cc: 3900 0c00 |0006: if-nez v0, 0012 // +000c │ │ +01f6d0: 5440 7602 |0008: iget-object v0, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2$1$2;.this$2:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2$1; // field@0276 │ │ +01f6d4: 5400 7802 |000a: iget-object v0, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2$1;.this$1:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2; // field@0278 │ │ +01f6d8: 5400 7902 |000c: iget-object v0, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2;.this$0:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter; // field@0279 │ │ +01f6dc: 7110 d703 0000 |000e: invoke-static {v0}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.access$300:(Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;)Ljava/lang/String; // method@03d7 │ │ +01f6e2: 0c00 |0011: move-result-object v0 │ │ +01f6e4: 5441 7602 |0012: iget-object v1, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2$1$2;.this$2:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2$1; // field@0276 │ │ +01f6e8: 5411 7802 |0014: iget-object v1, v1, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2$1;.this$1:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2; // field@0278 │ │ +01f6ec: 5411 7a02 |0016: iget-object v1, v1, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2;.val$entry:Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry; // field@027a │ │ +01f6f0: 2202 e300 |0018: new-instance v2, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult; // type@00e3 │ │ +01f6f4: 6203 9d02 |001a: sget-object v3, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState;.FAIL:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState; // field@029d │ │ +01f6f8: 7030 2504 3200 |001c: invoke-direct {v2, v3, v0}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult;.:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState;Ljava/lang/String;)V // method@0425 │ │ +01f6fe: 6e20 5904 2100 |001f: invoke-virtual {v1, v2}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.setTestResult:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult;)V // method@0459 │ │ +01f704: 5440 7602 |0022: iget-object v0, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2$1$2;.this$2:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2$1; // field@0276 │ │ +01f708: 5400 7802 |0024: iget-object v0, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2$1;.this$1:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2; // field@0278 │ │ +01f70c: 5400 7902 |0026: iget-object v0, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2;.this$0:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter; // field@0279 │ │ +01f710: 6e10 ec03 0000 |0028: invoke-virtual {v0}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.notifyDataSetChanged:()V // method@03ec │ │ +01f716: 0e00 |002b: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=220 │ │ 0x0008 line=222 │ │ 0x0012 line=224 │ │ 0x0022 line=225 │ │ locals : │ │ @@ -20736,18 +20736,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 │ │ -01f71c: |[01f71c] dnsfilter.android.dnsserverconfig.widget.DNSListAdapter$2$1.:(Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2;)V │ │ -01f72c: 5b01 7802 |0000: iput-object v1, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2$1;.this$1:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2; // field@0278 │ │ -01f730: 7010 7505 0000 |0002: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@0575 │ │ -01f736: 0e00 |0005: return-void │ │ +01f718: |[01f718] dnsfilter.android.dnsserverconfig.widget.DNSListAdapter$2$1.:(Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2;)V │ │ +01f728: 5b01 7802 |0000: iput-object v1, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2$1;.this$1:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2; // field@0278 │ │ +01f72c: 7010 7505 0000 |0002: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@0575 │ │ +01f732: 0e00 |0005: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=196 │ │ locals : │ │ 0x0000 - 0x0006 reg=0 this Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2$1; │ │ 0x0000 - 0x0006 reg=1 (null) Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2; │ │ │ │ @@ -20757,64 +20757,64 @@ │ │ type : '()V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 9 │ │ ins : 1 │ │ outs : 6 │ │ insns size : 97 16-bit code units │ │ -01f738: |[01f738] dnsfilter.android.dnsserverconfig.widget.DNSListAdapter$2$1.run:()V │ │ -01f748: 7100 f401 0000 |0000: invoke-static {}, Ldnsfilter/DNSServer;.getInstance:()Ldnsfilter/DNSServer; // method@01f4 │ │ -01f74e: 0c00 |0003: move-result-object v0 │ │ -01f750: 2207 e800 |0004: new-instance v7, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry; // type@00e8 │ │ -01f754: 5481 7802 |0006: iget-object v1, v8, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2$1;.this$1:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2; // field@0278 │ │ -01f758: 5411 7a02 |0008: iget-object v1, v1, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2;.val$entry:Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry; // field@027a │ │ -01f75c: 6e10 4c04 0100 |000a: invoke-virtual {v1}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.getIp:()Ljava/lang/String; // method@044c │ │ -01f762: 0c02 |000d: move-result-object v2 │ │ -01f764: 5481 7802 |000e: iget-object v1, v8, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2$1;.this$1:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2; // field@0278 │ │ -01f768: 5411 7a02 |0010: iget-object v1, v1, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2;.val$entry:Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry; // field@027a │ │ -01f76c: 6e10 4f04 0100 |0012: invoke-virtual {v1}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.getPort:()Ljava/lang/String; // method@044f │ │ -01f772: 0c03 |0015: move-result-object v3 │ │ -01f774: 5481 7802 |0016: iget-object v1, v8, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2$1;.this$1:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2; // field@0278 │ │ -01f778: 5411 7a02 |0018: iget-object v1, v1, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2;.val$entry:Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry; // field@027a │ │ -01f77c: 6e10 5004 0100 |001a: invoke-virtual {v1}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.getProtocol:()Ldnsfilter/android/dnsserverconfig/widget/DNSType; // method@0450 │ │ -01f782: 0c04 |001d: move-result-object v4 │ │ -01f784: 5481 7802 |001e: iget-object v1, v8, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2$1;.this$1:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2; // field@0278 │ │ -01f788: 5411 7a02 |0020: iget-object v1, v1, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2;.val$entry:Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry; // field@027a │ │ -01f78c: 6e10 4a04 0100 |0022: invoke-virtual {v1}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.getEndpoint:()Ljava/lang/String; // method@044a │ │ -01f792: 0c05 |0025: move-result-object v5 │ │ -01f794: 1211 |0026: const/4 v1, #int 1 // #1 │ │ -01f796: 7110 4f05 0100 |0027: invoke-static {v1}, Ljava/lang/Boolean;.valueOf:(Z)Ljava/lang/Boolean; // method@054f │ │ -01f79c: 0c06 |002a: move-result-object v6 │ │ -01f79e: 0771 |002b: move-object v1, v7 │ │ -01f7a0: 7606 4304 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@0443 │ │ -01f7a6: 6e10 5b04 0700 |002f: invoke-virtual {v7}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.toString:()Ljava/lang/String; // method@045b │ │ -01f7ac: 0c01 |0032: move-result-object v1 │ │ -01f7ae: 1302 983a |0033: const/16 v2, #int 15000 // #3a98 │ │ -01f7b2: 6e30 ed01 1002 |0035: invoke-virtual {v0, v1, v2}, Ldnsfilter/DNSServer;.createDNSServer:(Ljava/lang/String;I)Ldnsfilter/DNSServer; // method@01ed │ │ -01f7b8: 0c00 |0038: move-result-object v0 │ │ -01f7ba: 1251 |0039: const/4 v1, #int 5 // #5 │ │ -01f7bc: 6e20 ff01 1000 |003a: invoke-virtual {v0, v1}, Ldnsfilter/DNSServer;.testDNS:(I)J // method@01ff │ │ -01f7c2: 0b00 |003d: move-result-wide v0 │ │ -01f7c4: 5482 7802 |003e: iget-object v2, v8, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2$1;.this$1:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2; // field@0278 │ │ -01f7c8: 5422 7902 |0040: iget-object v2, v2, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2;.this$0:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter; // field@0279 │ │ -01f7cc: 7110 d603 0200 |0042: invoke-static {v2}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.access$200:(Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;)Landroid/os/Handler; // method@03d6 │ │ -01f7d2: 0c02 |0045: move-result-object v2 │ │ -01f7d4: 2203 cd00 |0046: new-instance v3, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2$1$1; // type@00cd │ │ -01f7d8: 7040 c103 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@03c1 │ │ -01f7de: 6e20 8500 3200 |004b: invoke-virtual {v2, v3}, Landroid/os/Handler;.post:(Ljava/lang/Runnable;)Z // method@0085 │ │ -01f7e4: 2812 |004e: goto 0060 // +0012 │ │ -01f7e6: 0d00 |004f: move-exception v0 │ │ -01f7e8: 5481 7802 |0050: iget-object v1, v8, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2$1;.this$1:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2; // field@0278 │ │ -01f7ec: 5411 7902 |0052: iget-object v1, v1, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2;.this$0:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter; // field@0279 │ │ -01f7f0: 7110 d603 0100 |0054: invoke-static {v1}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.access$200:(Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;)Landroid/os/Handler; // method@03d6 │ │ -01f7f6: 0c01 |0057: move-result-object v1 │ │ -01f7f8: 2202 ce00 |0058: new-instance v2, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2$1$2; // type@00ce │ │ -01f7fc: 7030 c303 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@03c3 │ │ -01f802: 6e20 8500 2100 |005d: invoke-virtual {v1, v2}, Landroid/os/Handler;.post:(Ljava/lang/Runnable;)Z // method@0085 │ │ -01f808: 0e00 |0060: return-void │ │ +01f734: |[01f734] dnsfilter.android.dnsserverconfig.widget.DNSListAdapter$2$1.run:()V │ │ +01f744: 7100 f401 0000 |0000: invoke-static {}, Ldnsfilter/DNSServer;.getInstance:()Ldnsfilter/DNSServer; // method@01f4 │ │ +01f74a: 0c00 |0003: move-result-object v0 │ │ +01f74c: 2207 e800 |0004: new-instance v7, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry; // type@00e8 │ │ +01f750: 5481 7802 |0006: iget-object v1, v8, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2$1;.this$1:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2; // field@0278 │ │ +01f754: 5411 7a02 |0008: iget-object v1, v1, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2;.val$entry:Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry; // field@027a │ │ +01f758: 6e10 4c04 0100 |000a: invoke-virtual {v1}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.getIp:()Ljava/lang/String; // method@044c │ │ +01f75e: 0c02 |000d: move-result-object v2 │ │ +01f760: 5481 7802 |000e: iget-object v1, v8, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2$1;.this$1:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2; // field@0278 │ │ +01f764: 5411 7a02 |0010: iget-object v1, v1, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2;.val$entry:Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry; // field@027a │ │ +01f768: 6e10 4f04 0100 |0012: invoke-virtual {v1}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.getPort:()Ljava/lang/String; // method@044f │ │ +01f76e: 0c03 |0015: move-result-object v3 │ │ +01f770: 5481 7802 |0016: iget-object v1, v8, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2$1;.this$1:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2; // field@0278 │ │ +01f774: 5411 7a02 |0018: iget-object v1, v1, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2;.val$entry:Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry; // field@027a │ │ +01f778: 6e10 5004 0100 |001a: invoke-virtual {v1}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.getProtocol:()Ldnsfilter/android/dnsserverconfig/widget/DNSType; // method@0450 │ │ +01f77e: 0c04 |001d: move-result-object v4 │ │ +01f780: 5481 7802 |001e: iget-object v1, v8, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2$1;.this$1:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2; // field@0278 │ │ +01f784: 5411 7a02 |0020: iget-object v1, v1, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2;.val$entry:Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry; // field@027a │ │ +01f788: 6e10 4a04 0100 |0022: invoke-virtual {v1}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.getEndpoint:()Ljava/lang/String; // method@044a │ │ +01f78e: 0c05 |0025: move-result-object v5 │ │ +01f790: 1211 |0026: const/4 v1, #int 1 // #1 │ │ +01f792: 7110 4f05 0100 |0027: invoke-static {v1}, Ljava/lang/Boolean;.valueOf:(Z)Ljava/lang/Boolean; // method@054f │ │ +01f798: 0c06 |002a: move-result-object v6 │ │ +01f79a: 0771 |002b: move-object v1, v7 │ │ +01f79c: 7606 4304 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@0443 │ │ +01f7a2: 6e10 5b04 0700 |002f: invoke-virtual {v7}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.toString:()Ljava/lang/String; // method@045b │ │ +01f7a8: 0c01 |0032: move-result-object v1 │ │ +01f7aa: 1302 983a |0033: const/16 v2, #int 15000 // #3a98 │ │ +01f7ae: 6e30 ed01 1002 |0035: invoke-virtual {v0, v1, v2}, Ldnsfilter/DNSServer;.createDNSServer:(Ljava/lang/String;I)Ldnsfilter/DNSServer; // method@01ed │ │ +01f7b4: 0c00 |0038: move-result-object v0 │ │ +01f7b6: 1251 |0039: const/4 v1, #int 5 // #5 │ │ +01f7b8: 6e20 ff01 1000 |003a: invoke-virtual {v0, v1}, Ldnsfilter/DNSServer;.testDNS:(I)J // method@01ff │ │ +01f7be: 0b00 |003d: move-result-wide v0 │ │ +01f7c0: 5482 7802 |003e: iget-object v2, v8, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2$1;.this$1:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2; // field@0278 │ │ +01f7c4: 5422 7902 |0040: iget-object v2, v2, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2;.this$0:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter; // field@0279 │ │ +01f7c8: 7110 d603 0200 |0042: invoke-static {v2}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.access$200:(Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;)Landroid/os/Handler; // method@03d6 │ │ +01f7ce: 0c02 |0045: move-result-object v2 │ │ +01f7d0: 2203 cd00 |0046: new-instance v3, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2$1$1; // type@00cd │ │ +01f7d4: 7040 c103 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@03c1 │ │ +01f7da: 6e20 8500 3200 |004b: invoke-virtual {v2, v3}, Landroid/os/Handler;.post:(Ljava/lang/Runnable;)Z // method@0085 │ │ +01f7e0: 2812 |004e: goto 0060 // +0012 │ │ +01f7e2: 0d00 |004f: move-exception v0 │ │ +01f7e4: 5481 7802 |0050: iget-object v1, v8, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2$1;.this$1:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2; // field@0278 │ │ +01f7e8: 5411 7902 |0052: iget-object v1, v1, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2;.this$0:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter; // field@0279 │ │ +01f7ec: 7110 d603 0100 |0054: invoke-static {v1}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.access$200:(Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;)Landroid/os/Handler; // method@03d6 │ │ +01f7f2: 0c01 |0057: move-result-object v1 │ │ +01f7f4: 2202 ce00 |0058: new-instance v2, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2$1$2; // type@00ce │ │ +01f7f8: 7030 c303 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@03c3 │ │ +01f7fe: 6e20 8500 2100 |005d: invoke-virtual {v1, v2}, Landroid/os/Handler;.post:(Ljava/lang/Runnable;)Z // method@0085 │ │ +01f804: 0e00 |0060: return-void │ │ catches : 1 │ │ 0x0000 - 0x004e │ │ Ljava/io/IOException; -> 0x004f │ │ positions : │ │ 0x0000 line=200 │ │ 0x000a line=202 │ │ 0x0012 line=203 │ │ @@ -20870,19 +20870,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 │ │ -01f81c: |[01f81c] dnsfilter.android.dnsserverconfig.widget.DNSListAdapter$2.:(Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;)V │ │ -01f82c: 5b01 7902 |0000: iput-object v1, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2;.this$0:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter; // field@0279 │ │ -01f830: 5b02 7a02 |0002: iput-object v2, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2;.val$entry:Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry; // field@027a │ │ -01f834: 7010 7505 0000 |0004: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@0575 │ │ -01f83a: 0e00 |0007: return-void │ │ +01f818: |[01f818] dnsfilter.android.dnsserverconfig.widget.DNSListAdapter$2.:(Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;)V │ │ +01f828: 5b01 7902 |0000: iput-object v1, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2;.this$0:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter; // field@0279 │ │ +01f82c: 5b02 7a02 |0002: iput-object v2, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2;.val$entry:Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry; // field@027a │ │ +01f830: 7010 7505 0000 |0004: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@0575 │ │ +01f836: 0e00 |0007: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=191 │ │ 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; │ │ @@ -20893,29 +20893,29 @@ │ │ type : '(Landroid/view/View;)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 3 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 31 16-bit code units │ │ -01f83c: |[01f83c] dnsfilter.android.dnsserverconfig.widget.DNSListAdapter$2.onClick:(Landroid/view/View;)V │ │ -01f84c: 5412 7a02 |0000: iget-object v2, v1, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2;.val$entry:Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry; // field@027a │ │ -01f850: 6e10 5104 0200 |0002: invoke-virtual {v2}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.getTestResult:()Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult; // method@0451 │ │ -01f856: 0c02 |0005: move-result-object v2 │ │ -01f858: 6200 9f02 |0006: sget-object v0, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState;.STARTED:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState; // field@029f │ │ -01f85c: 6e20 2f04 0200 |0008: invoke-virtual {v2, v0}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult;.setTestState:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState;)V // method@042f │ │ -01f862: 5412 7902 |000b: iget-object v2, v1, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2;.this$0:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter; // field@0279 │ │ -01f866: 6e10 ec03 0200 |000d: invoke-virtual {v2}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.notifyDataSetChanged:()V // method@03ec │ │ -01f86c: 2202 cf00 |0010: new-instance v2, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2$1; // type@00cf │ │ -01f870: 7020 c503 1200 |0012: invoke-direct {v2, v1}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2$1;.:(Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2;)V // method@03c5 │ │ -01f876: 5410 7902 |0015: iget-object v0, v1, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2;.this$0:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter; // field@0279 │ │ -01f87a: 7110 d803 0000 |0017: invoke-static {v0}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.access$400:(Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;)Ljava/util/concurrent/ExecutorService; // method@03d8 │ │ -01f880: 0c00 |001a: move-result-object v0 │ │ -01f882: 7220 8606 2000 |001b: invoke-interface {v0, v2}, Ljava/util/concurrent/ExecutorService;.execute:(Ljava/lang/Runnable;)V // method@0686 │ │ -01f888: 0e00 |001e: return-void │ │ +01f838: |[01f838] dnsfilter.android.dnsserverconfig.widget.DNSListAdapter$2.onClick:(Landroid/view/View;)V │ │ +01f848: 5412 7a02 |0000: iget-object v2, v1, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2;.val$entry:Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry; // field@027a │ │ +01f84c: 6e10 5104 0200 |0002: invoke-virtual {v2}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.getTestResult:()Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult; // method@0451 │ │ +01f852: 0c02 |0005: move-result-object v2 │ │ +01f854: 6200 9f02 |0006: sget-object v0, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState;.STARTED:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState; // field@029f │ │ +01f858: 6e20 2f04 0200 |0008: invoke-virtual {v2, v0}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult;.setTestState:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState;)V // method@042f │ │ +01f85e: 5412 7902 |000b: iget-object v2, v1, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2;.this$0:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter; // field@0279 │ │ +01f862: 6e10 ec03 0200 |000d: invoke-virtual {v2}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.notifyDataSetChanged:()V // method@03ec │ │ +01f868: 2202 cf00 |0010: new-instance v2, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2$1; // type@00cf │ │ +01f86c: 7020 c503 1200 |0012: invoke-direct {v2, v1}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2$1;.:(Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2;)V // method@03c5 │ │ +01f872: 5410 7902 |0015: iget-object v0, v1, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2;.this$0:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter; // field@0279 │ │ +01f876: 7110 d803 0000 |0017: invoke-static {v0}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.access$400:(Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;)Ljava/util/concurrent/ExecutorService; // method@03d8 │ │ +01f87c: 0c00 |001a: move-result-object v0 │ │ +01f87e: 7220 8606 2000 |001b: invoke-interface {v0, v2}, Ljava/util/concurrent/ExecutorService;.execute:(Ljava/lang/Runnable;)V // method@0686 │ │ +01f884: 0e00 |001e: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=194 │ │ 0x000b line=195 │ │ 0x0010 line=196 │ │ 0x0015 line=231 │ │ locals : │ │ @@ -20967,20 +20967,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 │ │ -01f88c: |[01f88c] dnsfilter.android.dnsserverconfig.widget.DNSListAdapter$3.:(Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;)V │ │ -01f89c: 5b01 7b02 |0000: iput-object v1, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$3;.this$0:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter; // field@027b │ │ -01f8a0: 5b02 7c02 |0002: iput-object v2, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$3;.val$entry:Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry; // field@027c │ │ -01f8a4: 5b03 7d02 |0004: iput-object v3, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$3;.val$holder:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder; // field@027d │ │ -01f8a8: 7010 7505 0000 |0006: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@0575 │ │ -01f8ae: 0e00 |0009: return-void │ │ +01f888: |[01f888] dnsfilter.android.dnsserverconfig.widget.DNSListAdapter$3.:(Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;)V │ │ +01f898: 5b01 7b02 |0000: iput-object v1, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$3;.this$0:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter; // field@027b │ │ +01f89c: 5b02 7c02 |0002: iput-object v2, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$3;.val$entry:Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry; // field@027c │ │ +01f8a0: 5b03 7d02 |0004: iput-object v3, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$3;.val$holder:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder; // field@027d │ │ +01f8a4: 7010 7505 0000 |0006: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@0575 │ │ +01f8aa: 0e00 |0009: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=234 │ │ 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; │ │ @@ -20992,51 +20992,51 @@ │ │ type : '(Landroid/view/View;)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 6 │ │ ins : 2 │ │ outs : 3 │ │ insns size : 77 16-bit code units │ │ -01f8b0: |[01f8b0] dnsfilter.android.dnsserverconfig.widget.DNSListAdapter$3.onClick:(Landroid/view/View;)V │ │ -01f8c0: 5440 7b02 |0000: iget-object v0, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$3;.this$0:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter; // field@027b │ │ -01f8c4: 7110 d903 0000 |0002: invoke-static {v0}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.access$500:(Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;)Landroid/widget/ImageView; // method@03d9 │ │ -01f8ca: 0c00 |0005: move-result-object v0 │ │ -01f8cc: 1401 1e00 047f |0006: const v1, #float 1.75459e+38 // #7f04001e │ │ -01f8d2: 6e20 ed00 1000 |0009: invoke-virtual {v0, v1}, Landroid/widget/ImageView;.setImageResource:(I)V // method@00ed │ │ -01f8d8: 5440 7b02 |000c: iget-object v0, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$3;.this$0:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter; // field@027b │ │ -01f8dc: 7110 da03 0000 |000e: invoke-static {v0}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.access$600:(Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;)Landroid/widget/TextView; // method@03da │ │ -01f8e2: 0c00 |0011: move-result-object v0 │ │ -01f8e4: 6e10 ad00 0500 |0012: invoke-virtual {v5}, Landroid/view/View;.getContext:()Landroid/content/Context; // method@00ad │ │ -01f8ea: 0c05 |0015: move-result-object v5 │ │ -01f8ec: 5441 7c02 |0016: iget-object v1, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$3;.val$entry:Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry; // field@027c │ │ -01f8f0: 6e10 5104 0100 |0018: invoke-virtual {v1}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.getTestResult:()Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult; // method@0451 │ │ -01f8f6: 0c01 |001b: move-result-object v1 │ │ -01f8f8: 6e10 2904 0100 |001c: invoke-virtual {v1}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult;.getMessage:()Ljava/lang/String; // method@0429 │ │ -01f8fe: 0c01 |001f: move-result-object v1 │ │ -01f900: 1212 |0020: const/4 v2, #int 1 // #1 │ │ -01f902: 2322 ac01 |0021: new-array v2, v2, [Ljava/lang/Object; // type@01ac │ │ -01f906: 1203 |0023: const/4 v3, #int 0 // #0 │ │ -01f908: 4d01 0203 |0024: aput-object v1, v2, v3 │ │ -01f90c: 1401 3100 087f |0026: const v1, #float 1.80776e+38 // #7f080031 │ │ -01f912: 6e30 3c00 1502 |0029: invoke-virtual {v5, v1, v2}, Landroid/content/Context;.getString:(I[Ljava/lang/Object;)Ljava/lang/String; // method@003c │ │ -01f918: 0c05 |002c: move-result-object v5 │ │ -01f91a: 6e20 0901 5000 |002d: invoke-virtual {v0, v5}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@0109 │ │ -01f920: 5445 7b02 |0030: iget-object v5, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$3;.this$0:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter; // field@027b │ │ -01f924: 7110 db03 0500 |0032: invoke-static {v5}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.access$700:(Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;)Landroid/app/Dialog; // method@03db │ │ -01f92a: 0c05 |0035: move-result-object v5 │ │ -01f92c: 6e10 2200 0500 |0036: invoke-virtual {v5}, Landroid/app/Dialog;.show:()V // method@0022 │ │ -01f932: 5445 7d02 |0039: iget-object v5, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$3;.val$holder:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder; // field@027d │ │ -01f936: 5455 8702 |003b: iget-object v5, v5, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.dnsServerConfigEntry:Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry; // field@0287 │ │ -01f93a: 2200 e300 |003d: new-instance v0, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult; // type@00e3 │ │ -01f93e: 6201 9e02 |003f: sget-object v1, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState;.NOT_STARTED:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState; // field@029e │ │ -01f942: 7020 2304 1000 |0041: invoke-direct {v0, v1}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult;.:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState;)V // method@0423 │ │ -01f948: 6e20 5904 0500 |0044: invoke-virtual {v5, v0}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.setTestResult:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult;)V // method@0459 │ │ -01f94e: 5445 7b02 |0047: iget-object v5, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$3;.this$0:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter; // field@027b │ │ -01f952: 6e10 ec03 0500 |0049: invoke-virtual {v5}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.notifyDataSetChanged:()V // method@03ec │ │ -01f958: 0e00 |004c: return-void │ │ +01f8ac: |[01f8ac] dnsfilter.android.dnsserverconfig.widget.DNSListAdapter$3.onClick:(Landroid/view/View;)V │ │ +01f8bc: 5440 7b02 |0000: iget-object v0, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$3;.this$0:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter; // field@027b │ │ +01f8c0: 7110 d903 0000 |0002: invoke-static {v0}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.access$500:(Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;)Landroid/widget/ImageView; // method@03d9 │ │ +01f8c6: 0c00 |0005: move-result-object v0 │ │ +01f8c8: 1401 1e00 047f |0006: const v1, #float 1.75459e+38 // #7f04001e │ │ +01f8ce: 6e20 ed00 1000 |0009: invoke-virtual {v0, v1}, Landroid/widget/ImageView;.setImageResource:(I)V // method@00ed │ │ +01f8d4: 5440 7b02 |000c: iget-object v0, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$3;.this$0:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter; // field@027b │ │ +01f8d8: 7110 da03 0000 |000e: invoke-static {v0}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.access$600:(Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;)Landroid/widget/TextView; // method@03da │ │ +01f8de: 0c00 |0011: move-result-object v0 │ │ +01f8e0: 6e10 ad00 0500 |0012: invoke-virtual {v5}, Landroid/view/View;.getContext:()Landroid/content/Context; // method@00ad │ │ +01f8e6: 0c05 |0015: move-result-object v5 │ │ +01f8e8: 5441 7c02 |0016: iget-object v1, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$3;.val$entry:Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry; // field@027c │ │ +01f8ec: 6e10 5104 0100 |0018: invoke-virtual {v1}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.getTestResult:()Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult; // method@0451 │ │ +01f8f2: 0c01 |001b: move-result-object v1 │ │ +01f8f4: 6e10 2904 0100 |001c: invoke-virtual {v1}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult;.getMessage:()Ljava/lang/String; // method@0429 │ │ +01f8fa: 0c01 |001f: move-result-object v1 │ │ +01f8fc: 1212 |0020: const/4 v2, #int 1 // #1 │ │ +01f8fe: 2322 ac01 |0021: new-array v2, v2, [Ljava/lang/Object; // type@01ac │ │ +01f902: 1203 |0023: const/4 v3, #int 0 // #0 │ │ +01f904: 4d01 0203 |0024: aput-object v1, v2, v3 │ │ +01f908: 1401 3100 087f |0026: const v1, #float 1.80776e+38 // #7f080031 │ │ +01f90e: 6e30 3c00 1502 |0029: invoke-virtual {v5, v1, v2}, Landroid/content/Context;.getString:(I[Ljava/lang/Object;)Ljava/lang/String; // method@003c │ │ +01f914: 0c05 |002c: move-result-object v5 │ │ +01f916: 6e20 0901 5000 |002d: invoke-virtual {v0, v5}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@0109 │ │ +01f91c: 5445 7b02 |0030: iget-object v5, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$3;.this$0:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter; // field@027b │ │ +01f920: 7110 db03 0500 |0032: invoke-static {v5}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.access$700:(Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;)Landroid/app/Dialog; // method@03db │ │ +01f926: 0c05 |0035: move-result-object v5 │ │ +01f928: 6e10 2200 0500 |0036: invoke-virtual {v5}, Landroid/app/Dialog;.show:()V // method@0022 │ │ +01f92e: 5445 7d02 |0039: iget-object v5, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$3;.val$holder:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder; // field@027d │ │ +01f932: 5455 8702 |003b: iget-object v5, v5, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.dnsServerConfigEntry:Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry; // field@0287 │ │ +01f936: 2200 e300 |003d: new-instance v0, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult; // type@00e3 │ │ +01f93a: 6201 9e02 |003f: sget-object v1, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState;.NOT_STARTED:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState; // field@029e │ │ +01f93e: 7020 2304 1000 |0041: invoke-direct {v0, v1}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult;.:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState;)V // method@0423 │ │ +01f944: 6e20 5904 0500 |0044: invoke-virtual {v5, v0}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.setTestResult:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult;)V // method@0459 │ │ +01f94a: 5445 7b02 |0047: iget-object v5, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$3;.this$0:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter; // field@027b │ │ +01f94e: 6e10 ec03 0500 |0049: invoke-virtual {v5}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.notifyDataSetChanged:()V // method@03ec │ │ +01f954: 0e00 |004c: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=237 │ │ 0x000c line=238 │ │ 0x0030 line=239 │ │ 0x0039 line=240 │ │ 0x0047 line=241 │ │ @@ -21089,20 +21089,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 │ │ -01f95c: |[01f95c] dnsfilter.android.dnsserverconfig.widget.DNSListAdapter$4.:(Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;)V │ │ -01f96c: 5b01 7e02 |0000: iput-object v1, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$4;.this$0:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter; // field@027e │ │ -01f970: 5b02 7f02 |0002: iput-object v2, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$4;.val$entry:Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry; // field@027f │ │ -01f974: 5b03 8002 |0004: iput-object v3, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$4;.val$holder:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder; // field@0280 │ │ -01f978: 7010 7505 0000 |0006: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@0575 │ │ -01f97e: 0e00 |0009: return-void │ │ +01f958: |[01f958] dnsfilter.android.dnsserverconfig.widget.DNSListAdapter$4.:(Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;)V │ │ +01f968: 5b01 7e02 |0000: iput-object v1, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$4;.this$0:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter; // field@027e │ │ +01f96c: 5b02 7f02 |0002: iput-object v2, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$4;.val$entry:Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry; // field@027f │ │ +01f970: 5b03 8002 |0004: iput-object v3, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$4;.val$holder:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder; // field@0280 │ │ +01f974: 7010 7505 0000 |0006: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@0575 │ │ +01f97a: 0e00 |0009: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=244 │ │ 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; │ │ @@ -21114,53 +21114,53 @@ │ │ type : '(Landroid/view/View;)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 6 │ │ ins : 2 │ │ outs : 3 │ │ insns size : 81 16-bit code units │ │ -01f980: |[01f980] dnsfilter.android.dnsserverconfig.widget.DNSListAdapter$4.onClick:(Landroid/view/View;)V │ │ -01f990: 5440 7e02 |0000: iget-object v0, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$4;.this$0:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter; // field@027e │ │ -01f994: 7110 d903 0000 |0002: invoke-static {v0}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.access$500:(Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;)Landroid/widget/ImageView; // method@03d9 │ │ -01f99a: 0c00 |0005: move-result-object v0 │ │ -01f99c: 1401 1a00 047f |0006: const v1, #float 1.75459e+38 // #7f04001a │ │ -01f9a2: 6e20 ed00 1000 |0009: invoke-virtual {v0, v1}, Landroid/widget/ImageView;.setImageResource:(I)V // method@00ed │ │ -01f9a8: 5440 7e02 |000c: iget-object v0, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$4;.this$0:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter; // field@027e │ │ -01f9ac: 7110 da03 0000 |000e: invoke-static {v0}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.access$600:(Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;)Landroid/widget/TextView; // method@03da │ │ -01f9b2: 0c00 |0011: move-result-object v0 │ │ -01f9b4: 6e10 ad00 0500 |0012: invoke-virtual {v5}, Landroid/view/View;.getContext:()Landroid/content/Context; // method@00ad │ │ -01f9ba: 0c05 |0015: move-result-object v5 │ │ -01f9bc: 5441 7f02 |0016: iget-object v1, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$4;.val$entry:Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry; // field@027f │ │ -01f9c0: 6e10 5104 0100 |0018: invoke-virtual {v1}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.getTestResult:()Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult; // method@0451 │ │ -01f9c6: 0c01 |001b: move-result-object v1 │ │ -01f9c8: 6e10 2a04 0100 |001c: invoke-virtual {v1}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult;.getPerf:()J // method@042a │ │ -01f9ce: 0b01 |001f: move-result-wide v1 │ │ -01f9d0: 7120 6e05 2100 |0020: invoke-static {v1, v2}, Ljava/lang/Long;.valueOf:(J)Ljava/lang/Long; // method@056e │ │ -01f9d6: 0c01 |0023: move-result-object v1 │ │ -01f9d8: 1212 |0024: const/4 v2, #int 1 // #1 │ │ -01f9da: 2322 ac01 |0025: new-array v2, v2, [Ljava/lang/Object; // type@01ac │ │ -01f9de: 1203 |0027: const/4 v3, #int 0 // #0 │ │ -01f9e0: 4d01 0203 |0028: aput-object v1, v2, v3 │ │ -01f9e4: 1401 3200 087f |002a: const v1, #float 1.80776e+38 // #7f080032 │ │ -01f9ea: 6e30 3c00 1502 |002d: invoke-virtual {v5, v1, v2}, Landroid/content/Context;.getString:(I[Ljava/lang/Object;)Ljava/lang/String; // method@003c │ │ -01f9f0: 0c05 |0030: move-result-object v5 │ │ -01f9f2: 6e20 0901 5000 |0031: invoke-virtual {v0, v5}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@0109 │ │ -01f9f8: 5445 7e02 |0034: iget-object v5, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$4;.this$0:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter; // field@027e │ │ -01f9fc: 7110 db03 0500 |0036: invoke-static {v5}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.access$700:(Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;)Landroid/app/Dialog; // method@03db │ │ -01fa02: 0c05 |0039: move-result-object v5 │ │ -01fa04: 6e10 2200 0500 |003a: invoke-virtual {v5}, Landroid/app/Dialog;.show:()V // method@0022 │ │ -01fa0a: 5445 8002 |003d: iget-object v5, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$4;.val$holder:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder; // field@0280 │ │ -01fa0e: 5455 8702 |003f: iget-object v5, v5, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.dnsServerConfigEntry:Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry; // field@0287 │ │ -01fa12: 2200 e300 |0041: new-instance v0, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult; // type@00e3 │ │ -01fa16: 6201 9e02 |0043: sget-object v1, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState;.NOT_STARTED:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState; // field@029e │ │ -01fa1a: 7020 2304 1000 |0045: invoke-direct {v0, v1}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult;.:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState;)V // method@0423 │ │ -01fa20: 6e20 5904 0500 |0048: invoke-virtual {v5, v0}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.setTestResult:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult;)V // method@0459 │ │ -01fa26: 5445 7e02 |004b: iget-object v5, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$4;.this$0:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter; // field@027e │ │ -01fa2a: 6e10 ec03 0500 |004d: invoke-virtual {v5}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.notifyDataSetChanged:()V // method@03ec │ │ -01fa30: 0e00 |0050: return-void │ │ +01f97c: |[01f97c] dnsfilter.android.dnsserverconfig.widget.DNSListAdapter$4.onClick:(Landroid/view/View;)V │ │ +01f98c: 5440 7e02 |0000: iget-object v0, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$4;.this$0:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter; // field@027e │ │ +01f990: 7110 d903 0000 |0002: invoke-static {v0}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.access$500:(Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;)Landroid/widget/ImageView; // method@03d9 │ │ +01f996: 0c00 |0005: move-result-object v0 │ │ +01f998: 1401 1a00 047f |0006: const v1, #float 1.75459e+38 // #7f04001a │ │ +01f99e: 6e20 ed00 1000 |0009: invoke-virtual {v0, v1}, Landroid/widget/ImageView;.setImageResource:(I)V // method@00ed │ │ +01f9a4: 5440 7e02 |000c: iget-object v0, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$4;.this$0:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter; // field@027e │ │ +01f9a8: 7110 da03 0000 |000e: invoke-static {v0}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.access$600:(Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;)Landroid/widget/TextView; // method@03da │ │ +01f9ae: 0c00 |0011: move-result-object v0 │ │ +01f9b0: 6e10 ad00 0500 |0012: invoke-virtual {v5}, Landroid/view/View;.getContext:()Landroid/content/Context; // method@00ad │ │ +01f9b6: 0c05 |0015: move-result-object v5 │ │ +01f9b8: 5441 7f02 |0016: iget-object v1, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$4;.val$entry:Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry; // field@027f │ │ +01f9bc: 6e10 5104 0100 |0018: invoke-virtual {v1}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.getTestResult:()Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult; // method@0451 │ │ +01f9c2: 0c01 |001b: move-result-object v1 │ │ +01f9c4: 6e10 2a04 0100 |001c: invoke-virtual {v1}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult;.getPerf:()J // method@042a │ │ +01f9ca: 0b01 |001f: move-result-wide v1 │ │ +01f9cc: 7120 6e05 2100 |0020: invoke-static {v1, v2}, Ljava/lang/Long;.valueOf:(J)Ljava/lang/Long; // method@056e │ │ +01f9d2: 0c01 |0023: move-result-object v1 │ │ +01f9d4: 1212 |0024: const/4 v2, #int 1 // #1 │ │ +01f9d6: 2322 ac01 |0025: new-array v2, v2, [Ljava/lang/Object; // type@01ac │ │ +01f9da: 1203 |0027: const/4 v3, #int 0 // #0 │ │ +01f9dc: 4d01 0203 |0028: aput-object v1, v2, v3 │ │ +01f9e0: 1401 3200 087f |002a: const v1, #float 1.80776e+38 // #7f080032 │ │ +01f9e6: 6e30 3c00 1502 |002d: invoke-virtual {v5, v1, v2}, Landroid/content/Context;.getString:(I[Ljava/lang/Object;)Ljava/lang/String; // method@003c │ │ +01f9ec: 0c05 |0030: move-result-object v5 │ │ +01f9ee: 6e20 0901 5000 |0031: invoke-virtual {v0, v5}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@0109 │ │ +01f9f4: 5445 7e02 |0034: iget-object v5, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$4;.this$0:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter; // field@027e │ │ +01f9f8: 7110 db03 0500 |0036: invoke-static {v5}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.access$700:(Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;)Landroid/app/Dialog; // method@03db │ │ +01f9fe: 0c05 |0039: move-result-object v5 │ │ +01fa00: 6e10 2200 0500 |003a: invoke-virtual {v5}, Landroid/app/Dialog;.show:()V // method@0022 │ │ +01fa06: 5445 8002 |003d: iget-object v5, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$4;.val$holder:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder; // field@0280 │ │ +01fa0a: 5455 8702 |003f: iget-object v5, v5, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.dnsServerConfigEntry:Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry; // field@0287 │ │ +01fa0e: 2200 e300 |0041: new-instance v0, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult; // type@00e3 │ │ +01fa12: 6201 9e02 |0043: sget-object v1, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState;.NOT_STARTED:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState; // field@029e │ │ +01fa16: 7020 2304 1000 |0045: invoke-direct {v0, v1}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult;.:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState;)V // method@0423 │ │ +01fa1c: 6e20 5904 0500 |0048: invoke-virtual {v5, v0}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.setTestResult:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult;)V // method@0459 │ │ +01fa22: 5445 7e02 |004b: iget-object v5, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$4;.this$0:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter; // field@027e │ │ +01fa26: 6e10 ec03 0500 |004d: invoke-virtual {v5}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.notifyDataSetChanged:()V // method@03ec │ │ +01fa2c: 0e00 |0050: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=247 │ │ 0x000c line=248 │ │ 0x0034 line=249 │ │ 0x003d line=250 │ │ 0x004b line=251 │ │ @@ -21209,19 +21209,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 │ │ -01fa34: |[01fa34] dnsfilter.android.dnsserverconfig.widget.DNSListAdapter$5.:(Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;)V │ │ -01fa44: 5b01 8102 |0000: iput-object v1, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$5;.this$0:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter; // field@0281 │ │ -01fa48: 5b02 8202 |0002: iput-object v2, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$5;.val$holder:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder; // field@0282 │ │ -01fa4c: 7010 7505 0000 |0004: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@0575 │ │ -01fa52: 0e00 |0007: return-void │ │ +01fa30: |[01fa30] dnsfilter.android.dnsserverconfig.widget.DNSListAdapter$5.:(Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;)V │ │ +01fa40: 5b01 8102 |0000: iput-object v1, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$5;.this$0:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter; // field@0281 │ │ +01fa44: 5b02 8202 |0002: iput-object v2, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$5;.val$holder:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder; // field@0282 │ │ +01fa48: 7010 7505 0000 |0004: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@0575 │ │ +01fa4e: 0e00 |0007: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=272 │ │ 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; │ │ @@ -21232,23 +21232,23 @@ │ │ type : '(Landroid/view/View;)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 4 │ │ ins : 2 │ │ outs : 3 │ │ insns size : 15 16-bit code units │ │ -01fa54: |[01fa54] dnsfilter.android.dnsserverconfig.widget.DNSListAdapter$5.onClick:(Landroid/view/View;)V │ │ -01fa64: 5423 8102 |0000: iget-object v3, v2, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$5;.this$0:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter; // field@0281 │ │ -01fa68: 7110 d503 0300 |0002: invoke-static {v3}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.access$000:(Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;)Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView; // method@03d5 │ │ -01fa6e: 0c03 |0005: move-result-object v3 │ │ -01fa70: 5420 8202 |0006: iget-object v0, v2, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$5;.val$holder:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder; // field@0282 │ │ -01fa74: 5400 8702 |0008: iget-object v0, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.dnsServerConfigEntry:Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry; // field@0287 │ │ -01fa78: 1201 |000a: const/4 v1, #int 0 // #0 │ │ -01fa7a: 6e30 2004 0301 |000b: invoke-virtual {v3, v0, v1}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;.showEntry:(Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;Z)V // method@0420 │ │ -01fa80: 0e00 |000e: return-void │ │ +01fa50: |[01fa50] dnsfilter.android.dnsserverconfig.widget.DNSListAdapter$5.onClick:(Landroid/view/View;)V │ │ +01fa60: 5423 8102 |0000: iget-object v3, v2, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$5;.this$0:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter; // field@0281 │ │ +01fa64: 7110 d503 0300 |0002: invoke-static {v3}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.access$000:(Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;)Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView; // method@03d5 │ │ +01fa6a: 0c03 |0005: move-result-object v3 │ │ +01fa6c: 5420 8202 |0006: iget-object v0, v2, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$5;.val$holder:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder; // field@0282 │ │ +01fa70: 5400 8702 |0008: iget-object v0, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.dnsServerConfigEntry:Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry; // field@0287 │ │ +01fa74: 1201 |000a: const/4 v1, #int 0 // #0 │ │ +01fa76: 6e30 2004 0301 |000b: invoke-virtual {v3, v0, v1}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;.showEntry:(Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;Z)V // method@0420 │ │ +01fa7c: 0e00 |000e: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=275 │ │ locals : │ │ 0x0000 - 0x000f reg=2 this Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$5; │ │ 0x0000 - 0x000f reg=3 (null) Landroid/view/View; │ │ │ │ @@ -21286,38 +21286,38 @@ │ │ type : '()V' │ │ access : 0x10008 (STATIC CONSTRUCTOR) │ │ code - │ │ registers : 3 │ │ ins : 0 │ │ outs : 1 │ │ insns size : 41 16-bit code units │ │ -01fa84: |[01fa84] dnsfilter.android.dnsserverconfig.widget.DNSListAdapter$6.:()V │ │ -01fa94: 7100 fd03 0000 |0000: invoke-static {}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState;.values:()[Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState; // method@03fd │ │ -01fa9a: 0c00 |0003: move-result-object v0 │ │ -01fa9c: 2100 |0004: array-length v0, v0 │ │ -01fa9e: 2300 9e01 |0005: new-array v0, v0, [I // type@019e │ │ -01faa2: 6900 8302 |0007: sput-object v0, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$6;.$SwitchMap$dnsfilter$android$dnsserverconfig$widget$DNSServerConfigEntryTestState:[I // field@0283 │ │ -01faa6: 6201 9f02 |0009: sget-object v1, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState;.STARTED:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState; // field@029f │ │ -01faaa: 6e10 fb03 0100 |000b: invoke-virtual {v1}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState;.ordinal:()I // method@03fb │ │ -01fab0: 0a01 |000e: move-result v1 │ │ -01fab2: 1212 |000f: const/4 v2, #int 1 // #1 │ │ -01fab4: 4b02 0001 |0010: aput v2, v0, v1 │ │ -01fab8: 6200 8302 |0012: sget-object v0, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$6;.$SwitchMap$dnsfilter$android$dnsserverconfig$widget$DNSServerConfigEntryTestState:[I // field@0283 │ │ -01fabc: 6201 9d02 |0014: sget-object v1, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState;.FAIL:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState; // field@029d │ │ -01fac0: 6e10 fb03 0100 |0016: invoke-virtual {v1}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState;.ordinal:()I // method@03fb │ │ -01fac6: 0a01 |0019: move-result v1 │ │ -01fac8: 1222 |001a: const/4 v2, #int 2 // #2 │ │ -01faca: 4b02 0001 |001b: aput v2, v0, v1 │ │ -01face: 6200 8302 |001d: sget-object v0, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$6;.$SwitchMap$dnsfilter$android$dnsserverconfig$widget$DNSServerConfigEntryTestState:[I // field@0283 │ │ -01fad2: 6201 a002 |001f: sget-object v1, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState;.SUCCESS:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState; // field@02a0 │ │ -01fad6: 6e10 fb03 0100 |0021: invoke-virtual {v1}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState;.ordinal:()I // method@03fb │ │ -01fadc: 0a01 |0024: move-result v1 │ │ -01fade: 1232 |0025: const/4 v2, #int 3 // #3 │ │ -01fae0: 4b02 0001 |0026: aput v2, v0, v1 │ │ -01fae4: 0e00 |0028: return-void │ │ +01fa80: |[01fa80] dnsfilter.android.dnsserverconfig.widget.DNSListAdapter$6.:()V │ │ +01fa90: 7100 fd03 0000 |0000: invoke-static {}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState;.values:()[Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState; // method@03fd │ │ +01fa96: 0c00 |0003: move-result-object v0 │ │ +01fa98: 2100 |0004: array-length v0, v0 │ │ +01fa9a: 2300 9e01 |0005: new-array v0, v0, [I // type@019e │ │ +01fa9e: 6900 8302 |0007: sput-object v0, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$6;.$SwitchMap$dnsfilter$android$dnsserverconfig$widget$DNSServerConfigEntryTestState:[I // field@0283 │ │ +01faa2: 6201 9f02 |0009: sget-object v1, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState;.STARTED:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState; // field@029f │ │ +01faa6: 6e10 fb03 0100 |000b: invoke-virtual {v1}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState;.ordinal:()I // method@03fb │ │ +01faac: 0a01 |000e: move-result v1 │ │ +01faae: 1212 |000f: const/4 v2, #int 1 // #1 │ │ +01fab0: 4b02 0001 |0010: aput v2, v0, v1 │ │ +01fab4: 6200 8302 |0012: sget-object v0, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$6;.$SwitchMap$dnsfilter$android$dnsserverconfig$widget$DNSServerConfigEntryTestState:[I // field@0283 │ │ +01fab8: 6201 9d02 |0014: sget-object v1, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState;.FAIL:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState; // field@029d │ │ +01fabc: 6e10 fb03 0100 |0016: invoke-virtual {v1}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState;.ordinal:()I // method@03fb │ │ +01fac2: 0a01 |0019: move-result v1 │ │ +01fac4: 1222 |001a: const/4 v2, #int 2 // #2 │ │ +01fac6: 4b02 0001 |001b: aput v2, v0, v1 │ │ +01faca: 6200 8302 |001d: sget-object v0, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$6;.$SwitchMap$dnsfilter$android$dnsserverconfig$widget$DNSServerConfigEntryTestState:[I // field@0283 │ │ +01face: 6201 a002 |001f: sget-object v1, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState;.SUCCESS:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState; // field@02a0 │ │ +01fad2: 6e10 fb03 0100 |0021: invoke-virtual {v1}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState;.ordinal:()I // method@03fb │ │ +01fad8: 0a01 |0024: move-result v1 │ │ +01fada: 1232 |0025: const/4 v2, #int 3 // #3 │ │ +01fadc: 4b02 0001 |0026: aput v2, v0, v1 │ │ +01fae0: 0e00 |0028: return-void │ │ catches : 3 │ │ 0x0009 - 0x0012 │ │ Ljava/lang/NoSuchFieldError; -> 0x0012 │ │ 0x0012 - 0x001d │ │ Ljava/lang/NoSuchFieldError; -> 0x001d │ │ 0x001d - 0x0028 │ │ Ljava/lang/NoSuchFieldError; -> 0x0028 │ │ @@ -21368,17 +21368,17 @@ │ │ type : '()V' │ │ access : 0x10000 (CONSTRUCTOR) │ │ code - │ │ registers : 1 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 4 16-bit code units │ │ -01fb10: |[01fb10] dnsfilter.android.dnsserverconfig.widget.DNSListAdapter$DNSServerCommentEntryViewHolder.:()V │ │ -01fb20: 7010 7505 0000 |0000: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@0575 │ │ -01fb26: 0e00 |0003: return-void │ │ +01fb0c: |[01fb0c] dnsfilter.android.dnsserverconfig.widget.DNSListAdapter$DNSServerCommentEntryViewHolder.:()V │ │ +01fb1c: 7010 7505 0000 |0000: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@0575 │ │ +01fb22: 0e00 |0003: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=370 │ │ locals : │ │ 0x0000 - 0x0004 reg=0 this Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerCommentEntryViewHolder; │ │ │ │ Virtual methods - │ │ @@ -21460,17 +21460,17 @@ │ │ type : '()V' │ │ access : 0x10000 (CONSTRUCTOR) │ │ code - │ │ registers : 1 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 4 16-bit code units │ │ -01fb28: |[01fb28] dnsfilter.android.dnsserverconfig.widget.DNSListAdapter$DNSServerConfigEntryViewHolder.:()V │ │ -01fb38: 7010 7505 0000 |0000: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@0575 │ │ -01fb3e: 0e00 |0003: return-void │ │ +01fb24: |[01fb24] dnsfilter.android.dnsserverconfig.widget.DNSListAdapter$DNSServerConfigEntryViewHolder.:()V │ │ +01fb34: 7010 7505 0000 |0000: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@0575 │ │ +01fb3a: 0e00 |0003: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=311 │ │ locals : │ │ 0x0000 - 0x0004 reg=0 this Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder; │ │ │ │ #1 : (in Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;) │ │ @@ -21478,17 +21478,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 │ │ -01fb40: |[01fb40] dnsfilter.android.dnsserverconfig.widget.DNSListAdapter$DNSServerConfigEntryViewHolder.access$100:(Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;)V │ │ -01fb50: 7010 d303 0000 |0000: invoke-direct {v0}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.setupTestButtons:()V // method@03d3 │ │ -01fb56: 0e00 |0003: return-void │ │ +01fb3c: |[01fb3c] dnsfilter.android.dnsserverconfig.widget.DNSListAdapter$DNSServerConfigEntryViewHolder.access$100:(Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;)V │ │ +01fb4c: 7010 d303 0000 |0000: invoke-direct {v0}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.setupTestButtons:()V // method@03d3 │ │ +01fb52: 0e00 |0003: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=311 │ │ locals : │ │ 0x0000 - 0x0004 reg=0 (null) Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder; │ │ │ │ #2 : (in Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;) │ │ @@ -21496,89 +21496,89 @@ │ │ type : '()V' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 5 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 163 16-bit code units │ │ -01fb58: |[01fb58] dnsfilter.android.dnsserverconfig.widget.DNSListAdapter$DNSServerConfigEntryViewHolder.setupTestButtons:()V │ │ -01fb68: 5440 8702 |0000: iget-object v0, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.dnsServerConfigEntry:Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry; // field@0287 │ │ -01fb6c: 6e10 5104 0000 |0002: invoke-virtual {v0}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.getTestResult:()Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult; // method@0451 │ │ -01fb72: 0c00 |0005: move-result-object v0 │ │ -01fb74: 6e10 2b04 0000 |0006: invoke-virtual {v0}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult;.getTestState:()Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState; // method@042b │ │ -01fb7a: 0c00 |0009: move-result-object v0 │ │ -01fb7c: 1201 |000a: const/4 v1, #int 0 // #0 │ │ -01fb7e: 1242 |000b: const/4 v2, #int 4 // #4 │ │ -01fb80: 3900 1c00 |000c: if-nez v0, 0028 // +001c │ │ -01fb84: 5440 8f02 |000e: iget-object v0, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.testEntryButton:Landroid/widget/ImageButton; // field@028f │ │ -01fb88: 6e20 eb00 1000 |0010: invoke-virtual {v0, v1}, Landroid/widget/ImageButton;.setVisibility:(I)V // method@00eb │ │ -01fb8e: 5440 9002 |0013: iget-object v0, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.testEntryProgressBar:Landroid/widget/ImageButton; // field@0290 │ │ -01fb92: 6e10 e900 0000 |0015: invoke-virtual {v0}, Landroid/widget/ImageButton;.clearAnimation:()V // method@00e9 │ │ -01fb98: 5440 9002 |0018: iget-object v0, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.testEntryProgressBar:Landroid/widget/ImageButton; // field@0290 │ │ -01fb9c: 6e20 eb00 2000 |001a: invoke-virtual {v0, v2}, Landroid/widget/ImageButton;.setVisibility:(I)V // method@00eb │ │ -01fba2: 5440 9202 |001d: iget-object v0, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.testEntryResultSuccess:Landroid/widget/ImageButton; // field@0292 │ │ -01fba6: 6e20 eb00 2000 |001f: invoke-virtual {v0, v2}, Landroid/widget/ImageButton;.setVisibility:(I)V // method@00eb │ │ -01fbac: 5440 9102 |0022: iget-object v0, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.testEntryResultFailure:Landroid/widget/ImageButton; // field@0291 │ │ -01fbb0: 6e20 eb00 2000 |0024: invoke-virtual {v0, v2}, Landroid/widget/ImageButton;.setVisibility:(I)V // method@00eb │ │ -01fbb6: 0e00 |0027: return-void │ │ -01fbb8: 6203 8302 |0028: sget-object v3, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$6;.$SwitchMap$dnsfilter$android$dnsserverconfig$widget$DNSServerConfigEntryTestState:[I // field@0283 │ │ -01fbbc: 6e10 fb03 0000 |002a: invoke-virtual {v0}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState;.ordinal:()I // method@03fb │ │ -01fbc2: 0a00 |002d: move-result v0 │ │ -01fbc4: 4400 0300 |002e: aget v0, v3, v0 │ │ -01fbc8: 1213 |0030: const/4 v3, #int 1 // #1 │ │ -01fbca: 3230 5600 |0031: if-eq v0, v3, 0087 // +0056 │ │ -01fbce: 1223 |0033: const/4 v3, #int 2 // #2 │ │ -01fbd0: 3230 3900 |0034: if-eq v0, v3, 006d // +0039 │ │ -01fbd4: 1233 |0036: const/4 v3, #int 3 // #3 │ │ -01fbd6: 3230 1c00 |0037: if-eq v0, v3, 0053 // +001c │ │ -01fbda: 5440 8f02 |0039: iget-object v0, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.testEntryButton:Landroid/widget/ImageButton; // field@028f │ │ -01fbde: 6e20 eb00 1000 |003b: invoke-virtual {v0, v1}, Landroid/widget/ImageButton;.setVisibility:(I)V // method@00eb │ │ -01fbe4: 5440 9002 |003e: iget-object v0, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.testEntryProgressBar:Landroid/widget/ImageButton; // field@0290 │ │ -01fbe8: 6e10 e900 0000 |0040: invoke-virtual {v0}, Landroid/widget/ImageButton;.clearAnimation:()V // method@00e9 │ │ -01fbee: 5440 9002 |0043: iget-object v0, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.testEntryProgressBar:Landroid/widget/ImageButton; // field@0290 │ │ -01fbf2: 6e20 eb00 2000 |0045: invoke-virtual {v0, v2}, Landroid/widget/ImageButton;.setVisibility:(I)V // method@00eb │ │ -01fbf8: 5440 9202 |0048: iget-object v0, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.testEntryResultSuccess:Landroid/widget/ImageButton; // field@0292 │ │ -01fbfc: 6e20 eb00 2000 |004a: invoke-virtual {v0, v2}, Landroid/widget/ImageButton;.setVisibility:(I)V // method@00eb │ │ -01fc02: 5440 9102 |004d: iget-object v0, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.testEntryResultFailure:Landroid/widget/ImageButton; // field@0291 │ │ -01fc06: 6e20 eb00 2000 |004f: invoke-virtual {v0, v2}, Landroid/widget/ImageButton;.setVisibility:(I)V // method@00eb │ │ -01fc0c: 2850 |0052: goto 00a2 // +0050 │ │ -01fc0e: 5440 8f02 |0053: iget-object v0, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.testEntryButton:Landroid/widget/ImageButton; // field@028f │ │ -01fc12: 6e20 eb00 2000 |0055: invoke-virtual {v0, v2}, Landroid/widget/ImageButton;.setVisibility:(I)V // method@00eb │ │ -01fc18: 5440 9002 |0058: iget-object v0, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.testEntryProgressBar:Landroid/widget/ImageButton; // field@0290 │ │ -01fc1c: 6e10 e900 0000 |005a: invoke-virtual {v0}, Landroid/widget/ImageButton;.clearAnimation:()V // method@00e9 │ │ -01fc22: 5440 9002 |005d: iget-object v0, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.testEntryProgressBar:Landroid/widget/ImageButton; // field@0290 │ │ -01fc26: 6e20 eb00 2000 |005f: invoke-virtual {v0, v2}, Landroid/widget/ImageButton;.setVisibility:(I)V // method@00eb │ │ -01fc2c: 5440 9202 |0062: iget-object v0, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.testEntryResultSuccess:Landroid/widget/ImageButton; // field@0292 │ │ -01fc30: 6e20 eb00 1000 |0064: invoke-virtual {v0, v1}, Landroid/widget/ImageButton;.setVisibility:(I)V // method@00eb │ │ -01fc36: 5440 9102 |0067: iget-object v0, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.testEntryResultFailure:Landroid/widget/ImageButton; // field@0291 │ │ -01fc3a: 6e20 eb00 2000 |0069: invoke-virtual {v0, v2}, Landroid/widget/ImageButton;.setVisibility:(I)V // method@00eb │ │ -01fc40: 2836 |006c: goto 00a2 // +0036 │ │ -01fc42: 5440 8f02 |006d: iget-object v0, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.testEntryButton:Landroid/widget/ImageButton; // field@028f │ │ -01fc46: 6e20 eb00 2000 |006f: invoke-virtual {v0, v2}, Landroid/widget/ImageButton;.setVisibility:(I)V // method@00eb │ │ -01fc4c: 5440 9002 |0072: iget-object v0, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.testEntryProgressBar:Landroid/widget/ImageButton; // field@0290 │ │ -01fc50: 6e10 e900 0000 |0074: invoke-virtual {v0}, Landroid/widget/ImageButton;.clearAnimation:()V // method@00e9 │ │ -01fc56: 5440 9002 |0077: iget-object v0, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.testEntryProgressBar:Landroid/widget/ImageButton; // field@0290 │ │ -01fc5a: 6e20 eb00 2000 |0079: invoke-virtual {v0, v2}, Landroid/widget/ImageButton;.setVisibility:(I)V // method@00eb │ │ -01fc60: 5440 9202 |007c: iget-object v0, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.testEntryResultSuccess:Landroid/widget/ImageButton; // field@0292 │ │ -01fc64: 6e20 eb00 2000 |007e: invoke-virtual {v0, v2}, Landroid/widget/ImageButton;.setVisibility:(I)V // method@00eb │ │ -01fc6a: 5440 9102 |0081: iget-object v0, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.testEntryResultFailure:Landroid/widget/ImageButton; // field@0291 │ │ -01fc6e: 6e20 eb00 1000 |0083: invoke-virtual {v0, v1}, Landroid/widget/ImageButton;.setVisibility:(I)V // method@00eb │ │ -01fc74: 281c |0086: goto 00a2 // +001c │ │ -01fc76: 5440 8f02 |0087: iget-object v0, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.testEntryButton:Landroid/widget/ImageButton; // field@028f │ │ -01fc7a: 6e20 eb00 2000 |0089: invoke-virtual {v0, v2}, Landroid/widget/ImageButton;.setVisibility:(I)V // method@00eb │ │ -01fc80: 5440 9002 |008c: iget-object v0, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.testEntryProgressBar:Landroid/widget/ImageButton; // field@0290 │ │ -01fc84: 5443 8c02 |008e: iget-object v3, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.progressBarAnim:Landroid/view/animation/Animation; // field@028c │ │ -01fc88: 6e20 ec00 3000 |0090: invoke-virtual {v0, v3}, Landroid/widget/ImageButton;.startAnimation:(Landroid/view/animation/Animation;)V // method@00ec │ │ -01fc8e: 5440 9002 |0093: iget-object v0, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.testEntryProgressBar:Landroid/widget/ImageButton; // field@0290 │ │ -01fc92: 6e20 eb00 1000 |0095: invoke-virtual {v0, v1}, Landroid/widget/ImageButton;.setVisibility:(I)V // method@00eb │ │ -01fc98: 5440 9202 |0098: iget-object v0, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.testEntryResultSuccess:Landroid/widget/ImageButton; // field@0292 │ │ -01fc9c: 6e20 eb00 2000 |009a: invoke-virtual {v0, v2}, Landroid/widget/ImageButton;.setVisibility:(I)V // method@00eb │ │ -01fca2: 5440 9102 |009d: iget-object v0, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.testEntryResultFailure:Landroid/widget/ImageButton; // field@0291 │ │ -01fca6: 6e20 eb00 2000 |009f: invoke-virtual {v0, v2}, Landroid/widget/ImageButton;.setVisibility:(I)V // method@00eb │ │ -01fcac: 0e00 |00a2: return-void │ │ +01fb54: |[01fb54] dnsfilter.android.dnsserverconfig.widget.DNSListAdapter$DNSServerConfigEntryViewHolder.setupTestButtons:()V │ │ +01fb64: 5440 8702 |0000: iget-object v0, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.dnsServerConfigEntry:Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry; // field@0287 │ │ +01fb68: 6e10 5104 0000 |0002: invoke-virtual {v0}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.getTestResult:()Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult; // method@0451 │ │ +01fb6e: 0c00 |0005: move-result-object v0 │ │ +01fb70: 6e10 2b04 0000 |0006: invoke-virtual {v0}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult;.getTestState:()Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState; // method@042b │ │ +01fb76: 0c00 |0009: move-result-object v0 │ │ +01fb78: 1201 |000a: const/4 v1, #int 0 // #0 │ │ +01fb7a: 1242 |000b: const/4 v2, #int 4 // #4 │ │ +01fb7c: 3900 1c00 |000c: if-nez v0, 0028 // +001c │ │ +01fb80: 5440 8f02 |000e: iget-object v0, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.testEntryButton:Landroid/widget/ImageButton; // field@028f │ │ +01fb84: 6e20 eb00 1000 |0010: invoke-virtual {v0, v1}, Landroid/widget/ImageButton;.setVisibility:(I)V // method@00eb │ │ +01fb8a: 5440 9002 |0013: iget-object v0, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.testEntryProgressBar:Landroid/widget/ImageButton; // field@0290 │ │ +01fb8e: 6e10 e900 0000 |0015: invoke-virtual {v0}, Landroid/widget/ImageButton;.clearAnimation:()V // method@00e9 │ │ +01fb94: 5440 9002 |0018: iget-object v0, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.testEntryProgressBar:Landroid/widget/ImageButton; // field@0290 │ │ +01fb98: 6e20 eb00 2000 |001a: invoke-virtual {v0, v2}, Landroid/widget/ImageButton;.setVisibility:(I)V // method@00eb │ │ +01fb9e: 5440 9202 |001d: iget-object v0, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.testEntryResultSuccess:Landroid/widget/ImageButton; // field@0292 │ │ +01fba2: 6e20 eb00 2000 |001f: invoke-virtual {v0, v2}, Landroid/widget/ImageButton;.setVisibility:(I)V // method@00eb │ │ +01fba8: 5440 9102 |0022: iget-object v0, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.testEntryResultFailure:Landroid/widget/ImageButton; // field@0291 │ │ +01fbac: 6e20 eb00 2000 |0024: invoke-virtual {v0, v2}, Landroid/widget/ImageButton;.setVisibility:(I)V // method@00eb │ │ +01fbb2: 0e00 |0027: return-void │ │ +01fbb4: 6203 8302 |0028: sget-object v3, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$6;.$SwitchMap$dnsfilter$android$dnsserverconfig$widget$DNSServerConfigEntryTestState:[I // field@0283 │ │ +01fbb8: 6e10 fb03 0000 |002a: invoke-virtual {v0}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState;.ordinal:()I // method@03fb │ │ +01fbbe: 0a00 |002d: move-result v0 │ │ +01fbc0: 4400 0300 |002e: aget v0, v3, v0 │ │ +01fbc4: 1213 |0030: const/4 v3, #int 1 // #1 │ │ +01fbc6: 3230 5600 |0031: if-eq v0, v3, 0087 // +0056 │ │ +01fbca: 1223 |0033: const/4 v3, #int 2 // #2 │ │ +01fbcc: 3230 3900 |0034: if-eq v0, v3, 006d // +0039 │ │ +01fbd0: 1233 |0036: const/4 v3, #int 3 // #3 │ │ +01fbd2: 3230 1c00 |0037: if-eq v0, v3, 0053 // +001c │ │ +01fbd6: 5440 8f02 |0039: iget-object v0, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.testEntryButton:Landroid/widget/ImageButton; // field@028f │ │ +01fbda: 6e20 eb00 1000 |003b: invoke-virtual {v0, v1}, Landroid/widget/ImageButton;.setVisibility:(I)V // method@00eb │ │ +01fbe0: 5440 9002 |003e: iget-object v0, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.testEntryProgressBar:Landroid/widget/ImageButton; // field@0290 │ │ +01fbe4: 6e10 e900 0000 |0040: invoke-virtual {v0}, Landroid/widget/ImageButton;.clearAnimation:()V // method@00e9 │ │ +01fbea: 5440 9002 |0043: iget-object v0, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.testEntryProgressBar:Landroid/widget/ImageButton; // field@0290 │ │ +01fbee: 6e20 eb00 2000 |0045: invoke-virtual {v0, v2}, Landroid/widget/ImageButton;.setVisibility:(I)V // method@00eb │ │ +01fbf4: 5440 9202 |0048: iget-object v0, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.testEntryResultSuccess:Landroid/widget/ImageButton; // field@0292 │ │ +01fbf8: 6e20 eb00 2000 |004a: invoke-virtual {v0, v2}, Landroid/widget/ImageButton;.setVisibility:(I)V // method@00eb │ │ +01fbfe: 5440 9102 |004d: iget-object v0, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.testEntryResultFailure:Landroid/widget/ImageButton; // field@0291 │ │ +01fc02: 6e20 eb00 2000 |004f: invoke-virtual {v0, v2}, Landroid/widget/ImageButton;.setVisibility:(I)V // method@00eb │ │ +01fc08: 2850 |0052: goto 00a2 // +0050 │ │ +01fc0a: 5440 8f02 |0053: iget-object v0, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.testEntryButton:Landroid/widget/ImageButton; // field@028f │ │ +01fc0e: 6e20 eb00 2000 |0055: invoke-virtual {v0, v2}, Landroid/widget/ImageButton;.setVisibility:(I)V // method@00eb │ │ +01fc14: 5440 9002 |0058: iget-object v0, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.testEntryProgressBar:Landroid/widget/ImageButton; // field@0290 │ │ +01fc18: 6e10 e900 0000 |005a: invoke-virtual {v0}, Landroid/widget/ImageButton;.clearAnimation:()V // method@00e9 │ │ +01fc1e: 5440 9002 |005d: iget-object v0, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.testEntryProgressBar:Landroid/widget/ImageButton; // field@0290 │ │ +01fc22: 6e20 eb00 2000 |005f: invoke-virtual {v0, v2}, Landroid/widget/ImageButton;.setVisibility:(I)V // method@00eb │ │ +01fc28: 5440 9202 |0062: iget-object v0, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.testEntryResultSuccess:Landroid/widget/ImageButton; // field@0292 │ │ +01fc2c: 6e20 eb00 1000 |0064: invoke-virtual {v0, v1}, Landroid/widget/ImageButton;.setVisibility:(I)V // method@00eb │ │ +01fc32: 5440 9102 |0067: iget-object v0, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.testEntryResultFailure:Landroid/widget/ImageButton; // field@0291 │ │ +01fc36: 6e20 eb00 2000 |0069: invoke-virtual {v0, v2}, Landroid/widget/ImageButton;.setVisibility:(I)V // method@00eb │ │ +01fc3c: 2836 |006c: goto 00a2 // +0036 │ │ +01fc3e: 5440 8f02 |006d: iget-object v0, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.testEntryButton:Landroid/widget/ImageButton; // field@028f │ │ +01fc42: 6e20 eb00 2000 |006f: invoke-virtual {v0, v2}, Landroid/widget/ImageButton;.setVisibility:(I)V // method@00eb │ │ +01fc48: 5440 9002 |0072: iget-object v0, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.testEntryProgressBar:Landroid/widget/ImageButton; // field@0290 │ │ +01fc4c: 6e10 e900 0000 |0074: invoke-virtual {v0}, Landroid/widget/ImageButton;.clearAnimation:()V // method@00e9 │ │ +01fc52: 5440 9002 |0077: iget-object v0, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.testEntryProgressBar:Landroid/widget/ImageButton; // field@0290 │ │ +01fc56: 6e20 eb00 2000 |0079: invoke-virtual {v0, v2}, Landroid/widget/ImageButton;.setVisibility:(I)V // method@00eb │ │ +01fc5c: 5440 9202 |007c: iget-object v0, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.testEntryResultSuccess:Landroid/widget/ImageButton; // field@0292 │ │ +01fc60: 6e20 eb00 2000 |007e: invoke-virtual {v0, v2}, Landroid/widget/ImageButton;.setVisibility:(I)V // method@00eb │ │ +01fc66: 5440 9102 |0081: iget-object v0, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.testEntryResultFailure:Landroid/widget/ImageButton; // field@0291 │ │ +01fc6a: 6e20 eb00 1000 |0083: invoke-virtual {v0, v1}, Landroid/widget/ImageButton;.setVisibility:(I)V // method@00eb │ │ +01fc70: 281c |0086: goto 00a2 // +001c │ │ +01fc72: 5440 8f02 |0087: iget-object v0, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.testEntryButton:Landroid/widget/ImageButton; // field@028f │ │ +01fc76: 6e20 eb00 2000 |0089: invoke-virtual {v0, v2}, Landroid/widget/ImageButton;.setVisibility:(I)V // method@00eb │ │ +01fc7c: 5440 9002 |008c: iget-object v0, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.testEntryProgressBar:Landroid/widget/ImageButton; // field@0290 │ │ +01fc80: 5443 8c02 |008e: iget-object v3, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.progressBarAnim:Landroid/view/animation/Animation; // field@028c │ │ +01fc84: 6e20 ec00 3000 |0090: invoke-virtual {v0, v3}, Landroid/widget/ImageButton;.startAnimation:(Landroid/view/animation/Animation;)V // method@00ec │ │ +01fc8a: 5440 9002 |0093: iget-object v0, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.testEntryProgressBar:Landroid/widget/ImageButton; // field@0290 │ │ +01fc8e: 6e20 eb00 1000 |0095: invoke-virtual {v0, v1}, Landroid/widget/ImageButton;.setVisibility:(I)V // method@00eb │ │ +01fc94: 5440 9202 |0098: iget-object v0, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.testEntryResultSuccess:Landroid/widget/ImageButton; // field@0292 │ │ +01fc98: 6e20 eb00 2000 |009a: invoke-virtual {v0, v2}, Landroid/widget/ImageButton;.setVisibility:(I)V // method@00eb │ │ +01fc9e: 5440 9102 |009d: iget-object v0, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.testEntryResultFailure:Landroid/widget/ImageButton; // field@0291 │ │ +01fca2: 6e20 eb00 2000 |009f: invoke-virtual {v0, v2}, Landroid/widget/ImageButton;.setVisibility:(I)V // method@00eb │ │ +01fca8: 0e00 |00a2: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=328 │ │ 0x000e line=330 │ │ 0x0013 line=331 │ │ 0x0018 line=332 │ │ 0x001d line=333 │ │ @@ -21637,17 +21637,17 @@ │ │ type : '()V' │ │ access : 0x10001 (PUBLIC CONSTRUCTOR) │ │ code - │ │ registers : 1 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 4 16-bit code units │ │ -020648: |[020648] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigEntrySerializer.:()V │ │ -020658: 7010 7505 0000 |0000: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@0575 │ │ -02065e: 0e00 |0003: return-void │ │ +020644: |[020644] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigEntrySerializer.:()V │ │ +020654: 7010 7505 0000 |0000: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@0575 │ │ +02065a: 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;) │ │ @@ -21655,138 +21655,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 │ │ -0203ec: |[0203ec] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigEntrySerializer.deserializeImpl:(Ljava/lang/String;)Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigBaseEntry; │ │ -0203fc: 380f df00 |0000: if-eqz v15, 00df // +00df │ │ -020400: 6e10 9305 0f00 |0002: invoke-virtual {v15}, Ljava/lang/String;.isEmpty:()Z // method@0593 │ │ -020406: 0a00 |0005: move-result v0 │ │ -020408: 3800 0400 |0006: if-eqz v0, 000a // +0004 │ │ -02040c: 2900 d700 |0008: goto/16 00df // +00d7 │ │ -020410: 1a00 3000 |000a: const-string v0, "#" // string@0030 │ │ -020414: 6e20 9b05 0f00 |000c: invoke-virtual {v15, v0}, Ljava/lang/String;.startsWith:(Ljava/lang/String;)Z // method@059b │ │ -02041a: 0a01 |000f: move-result v1 │ │ -02041c: 1a02 0000 |0010: const-string v2, "" // string@0000 │ │ -020420: 3801 0c00 |0012: if-eqz v1, 001e // +000c │ │ -020424: 2201 e700 |0014: new-instance v1, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigCommentedEntry; // type@00e7 │ │ -020428: 6e30 9805 0f02 |0016: invoke-virtual {v15, v0, v2}, Ljava/lang/String;.replaceFirst:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@0598 │ │ -02042e: 0c0f |0019: move-result-object v15 │ │ -020430: 7020 3b04 f100 |001a: invoke-direct {v1, v15}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigCommentedEntry;.:(Ljava/lang/String;)V // method@043b │ │ -020436: 1101 |001d: return-object v1 │ │ -020438: 1a00 b10b |001e: const-string v0, "~" // string@0bb1 │ │ -02043c: 6e20 9b05 0f00 |0020: invoke-virtual {v15, v0}, Ljava/lang/String;.startsWith:(Ljava/lang/String;)Z // method@059b │ │ -020442: 0a01 |0023: move-result v1 │ │ -020444: 1213 |0024: const/4 v3, #int 1 // #1 │ │ -020446: b731 |0025: xor-int/2addr v1, v3 │ │ -020448: 3901 0600 |0026: if-nez v1, 002c // +0006 │ │ -02044c: 6e30 9805 0f02 |0028: invoke-virtual {v15, v0, v2}, Ljava/lang/String;.replaceFirst:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@0598 │ │ -020452: 0c0f |002b: move-result-object v15 │ │ -020454: 7020 f703 fe00 |002c: invoke-direct {v14, v15}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntrySerializer;.getIPwithoutBracer:(Ljava/lang/String;)Ljava/lang/String; // method@03f7 │ │ -02045a: 0c00 |002f: move-result-object v0 │ │ -02045c: 1242 |0030: const/4 v2, #int 4 // #4 │ │ -02045e: 1a04 8500 |0031: const-string v4, "::" // string@0085 │ │ -020462: 1205 |0033: const/4 v5, #int 0 // #0 │ │ -020464: 3900 0700 |0034: if-nez v0, 003b // +0007 │ │ -020468: 6e30 9a05 4f02 |0036: invoke-virtual {v15, v4, v2}, Ljava/lang/String;.split:(Ljava/lang/String;I)[Ljava/lang/String; // method@059a │ │ -02046e: 0c0f |0039: move-result-object v15 │ │ -020470: 2822 |003a: goto 005c // +0022 │ │ -020472: 1a06 0e05 |003b: const-string v6, "]" // string@050e │ │ -020476: 6e20 9205 6f00 |003d: invoke-virtual {v15, v6}, Ljava/lang/String;.indexOf:(Ljava/lang/String;)I // method@0592 │ │ -02047c: 0a06 |0040: move-result v6 │ │ -02047e: 6e20 9c05 6f00 |0041: invoke-virtual {v15, v6}, Ljava/lang/String;.substring:(I)Ljava/lang/String; // method@059c │ │ -020484: 0c0f |0044: move-result-object v15 │ │ -020486: 6e20 9905 4f00 |0045: invoke-virtual {v15, v4}, Ljava/lang/String;.split:(Ljava/lang/String;)[Ljava/lang/String; // method@0599 │ │ -02048c: 0c0f |0048: move-result-object v15 │ │ -02048e: 21f6 |0049: array-length v6, v15 │ │ -020490: 3736 0e00 |004a: if-le v6, v3, 0058 // +000e │ │ -020494: 21f6 |004c: array-length v6, v15 │ │ -020496: 2366 ad01 |004d: new-array v6, v6, [Ljava/lang/String; // type@01ad │ │ -02049a: 4d00 0605 |004f: aput-object v0, v6, v5 │ │ -02049e: 21f0 |0051: array-length v0, v15 │ │ -0204a0: b130 |0052: sub-int/2addr v0, v3 │ │ -0204a2: 7150 b205 3f36 |0053: invoke-static {v15, v3, v6, v3, v0}, Ljava/lang/System;.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V // method@05b2 │ │ -0204a8: 076f |0056: move-object v15, v6 │ │ -0204aa: 2805 |0057: goto 005c // +0005 │ │ -0204ac: 233f ad01 |0058: new-array v15, v3, [Ljava/lang/String; // type@01ad │ │ -0204b0: 4d00 0f05 |005a: aput-object v0, v15, v5 │ │ -0204b4: 21f0 |005c: array-length v0, v15 │ │ -0204b6: 3330 0b00 |005d: if-ne v0, v3, 0068 // +000b │ │ -0204ba: 2200 e800 |005f: new-instance v0, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry; // type@00e8 │ │ -0204be: 460f 0f05 |0061: aget-object v15, v15, v5 │ │ -0204c2: 7030 4604 f001 |0063: invoke-direct {v0, v15, v1}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.:(Ljava/lang/String;Z)V // method@0446 │ │ -0204c8: 2900 7800 |0066: goto/16 00de // +0078 │ │ -0204cc: 21f0 |0068: array-length v0, v15 │ │ -0204ce: 1226 |0069: const/4 v6, #int 2 // #2 │ │ -0204d0: 3360 0c00 |006a: if-ne v0, v6, 0076 // +000c │ │ -0204d4: 2200 e800 |006c: new-instance v0, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry; // type@00e8 │ │ -0204d8: 4602 0f05 |006e: aget-object v2, v15, v5 │ │ -0204dc: 460f 0f03 |0070: aget-object v15, v15, v3 │ │ -0204e0: 7040 4504 201f |0072: invoke-direct {v0, v2, v15, v1}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.:(Ljava/lang/String;Ljava/lang/String;Z)V // method@0445 │ │ -0204e6: 2869 |0075: goto 00de // +0069 │ │ -0204e8: 21f0 |0076: array-length v0, v15 │ │ -0204ea: 1237 |0077: const/4 v7, #int 3 // #3 │ │ -0204ec: 3370 1600 |0078: if-ne v0, v7, 008e // +0016 │ │ -0204f0: 2200 e800 |007a: new-instance v0, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry; // type@00e8 │ │ -0204f4: 4602 0f05 |007c: aget-object v2, v15, v5 │ │ -0204f8: 4603 0f03 |007e: aget-object v3, v15, v3 │ │ -0204fc: 460f 0f06 |0080: aget-object v15, v15, v6 │ │ -020500: 6e10 a005 0f00 |0082: invoke-virtual {v15}, Ljava/lang/String;.toUpperCase:()Ljava/lang/String; // method@05a0 │ │ -020506: 0c0f |0085: move-result-object v15 │ │ -020508: 7110 3504 0f00 |0086: invoke-static {v15}, Ldnsfilter/android/dnsserverconfig/widget/DNSType;.valueOf:(Ljava/lang/String;)Ldnsfilter/android/dnsserverconfig/widget/DNSType; // method@0435 │ │ -02050e: 0c0f |0089: move-result-object v15 │ │ -020510: 7051 4404 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@0444 │ │ -020516: 2851 |008d: goto 00de // +0051 │ │ -020518: 21f0 |008e: array-length v0, v15 │ │ -02051a: 3320 1d00 |008f: if-ne v0, v2, 00ac // +001d │ │ -02051e: 2200 e800 |0091: new-instance v0, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry; // type@00e8 │ │ -020522: 4609 0f05 |0093: aget-object v9, v15, v5 │ │ -020526: 460a 0f03 |0095: aget-object v10, v15, v3 │ │ -02052a: 4602 0f06 |0097: aget-object v2, v15, v6 │ │ -02052e: 6e10 a005 0200 |0099: invoke-virtual {v2}, Ljava/lang/String;.toUpperCase:()Ljava/lang/String; // method@05a0 │ │ -020534: 0c02 |009c: move-result-object v2 │ │ -020536: 7110 3504 0200 |009d: invoke-static {v2}, Ldnsfilter/android/dnsserverconfig/widget/DNSType;.valueOf:(Ljava/lang/String;)Ldnsfilter/android/dnsserverconfig/widget/DNSType; // method@0435 │ │ -02053c: 0c0b |00a0: move-result-object v11 │ │ -02053e: 460c 0f07 |00a1: aget-object v12, v15, v7 │ │ -020542: 7110 4f05 0100 |00a3: invoke-static {v1}, Ljava/lang/Boolean;.valueOf:(Z)Ljava/lang/Boolean; // method@054f │ │ -020548: 0c0d |00a6: move-result-object v13 │ │ -02054a: 0708 |00a7: move-object v8, v0 │ │ -02054c: 7606 4304 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@0443 │ │ -020552: 2833 |00ab: goto 00de // +0033 │ │ -020554: 2200 e800 |00ac: new-instance v0, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry; // type@00e8 │ │ -020558: 4605 0f05 |00ae: aget-object v5, v15, v5 │ │ -02055c: 4603 0f03 |00b0: aget-object v3, v15, v3 │ │ -020560: 4606 0f06 |00b2: aget-object v6, v15, v6 │ │ -020564: 6e10 a005 0600 |00b4: invoke-virtual {v6}, Ljava/lang/String;.toUpperCase:()Ljava/lang/String; // method@05a0 │ │ -02056a: 0c06 |00b7: move-result-object v6 │ │ -02056c: 7110 3504 0600 |00b8: invoke-static {v6}, Ldnsfilter/android/dnsserverconfig/widget/DNSType;.valueOf:(Ljava/lang/String;)Ldnsfilter/android/dnsserverconfig/widget/DNSType; // method@0435 │ │ -020572: 0c06 |00bb: move-result-object v6 │ │ -020574: 2208 2d01 |00bc: new-instance v8, Ljava/lang/StringBuilder; // type@012d │ │ -020578: 7010 a905 0800 |00be: invoke-direct {v8}, Ljava/lang/StringBuilder;.:()V // method@05a9 │ │ -02057e: 4607 0f07 |00c1: aget-object v7, v15, v7 │ │ -020582: 6e20 af05 7800 |00c3: invoke-virtual {v8, v7}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -020588: 6e20 af05 4800 |00c6: invoke-virtual {v8, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -02058e: 460f 0f02 |00c9: aget-object v15, v15, v2 │ │ -020592: 6e20 af05 f800 |00cb: invoke-virtual {v8, v15}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -020598: 6e10 b105 0800 |00ce: invoke-virtual {v8}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ -02059e: 0c0f |00d1: move-result-object v15 │ │ -0205a0: 7110 4f05 0100 |00d2: invoke-static {v1}, Ljava/lang/Boolean;.valueOf:(Z)Ljava/lang/Boolean; // method@054f │ │ -0205a6: 0c07 |00d5: move-result-object v7 │ │ -0205a8: 0701 |00d6: move-object v1, v0 │ │ -0205aa: 0752 |00d7: move-object v2, v5 │ │ -0205ac: 0764 |00d8: move-object v4, v6 │ │ -0205ae: 07f5 |00d9: move-object v5, v15 │ │ -0205b0: 0776 |00da: move-object v6, v7 │ │ -0205b2: 7606 4304 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@0443 │ │ -0205b8: 1100 |00de: return-object v0 │ │ -0205ba: 220f e800 |00df: new-instance v15, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry; // type@00e8 │ │ -0205be: 7010 4204 0f00 |00e1: invoke-direct {v15}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.:()V // method@0442 │ │ -0205c4: 110f |00e4: return-object v15 │ │ +0203e8: |[0203e8] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigEntrySerializer.deserializeImpl:(Ljava/lang/String;)Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigBaseEntry; │ │ +0203f8: 380f df00 |0000: if-eqz v15, 00df // +00df │ │ +0203fc: 6e10 9305 0f00 |0002: invoke-virtual {v15}, Ljava/lang/String;.isEmpty:()Z // method@0593 │ │ +020402: 0a00 |0005: move-result v0 │ │ +020404: 3800 0400 |0006: if-eqz v0, 000a // +0004 │ │ +020408: 2900 d700 |0008: goto/16 00df // +00d7 │ │ +02040c: 1a00 3000 |000a: const-string v0, "#" // string@0030 │ │ +020410: 6e20 9b05 0f00 |000c: invoke-virtual {v15, v0}, Ljava/lang/String;.startsWith:(Ljava/lang/String;)Z // method@059b │ │ +020416: 0a01 |000f: move-result v1 │ │ +020418: 1a02 0000 |0010: const-string v2, "" // string@0000 │ │ +02041c: 3801 0c00 |0012: if-eqz v1, 001e // +000c │ │ +020420: 2201 e700 |0014: new-instance v1, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigCommentedEntry; // type@00e7 │ │ +020424: 6e30 9805 0f02 |0016: invoke-virtual {v15, v0, v2}, Ljava/lang/String;.replaceFirst:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@0598 │ │ +02042a: 0c0f |0019: move-result-object v15 │ │ +02042c: 7020 3b04 f100 |001a: invoke-direct {v1, v15}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigCommentedEntry;.:(Ljava/lang/String;)V // method@043b │ │ +020432: 1101 |001d: return-object v1 │ │ +020434: 1a00 b10b |001e: const-string v0, "~" // string@0bb1 │ │ +020438: 6e20 9b05 0f00 |0020: invoke-virtual {v15, v0}, Ljava/lang/String;.startsWith:(Ljava/lang/String;)Z // method@059b │ │ +02043e: 0a01 |0023: move-result v1 │ │ +020440: 1213 |0024: const/4 v3, #int 1 // #1 │ │ +020442: b731 |0025: xor-int/2addr v1, v3 │ │ +020444: 3901 0600 |0026: if-nez v1, 002c // +0006 │ │ +020448: 6e30 9805 0f02 |0028: invoke-virtual {v15, v0, v2}, Ljava/lang/String;.replaceFirst:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@0598 │ │ +02044e: 0c0f |002b: move-result-object v15 │ │ +020450: 7020 f703 fe00 |002c: invoke-direct {v14, v15}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntrySerializer;.getIPwithoutBracer:(Ljava/lang/String;)Ljava/lang/String; // method@03f7 │ │ +020456: 0c00 |002f: move-result-object v0 │ │ +020458: 1242 |0030: const/4 v2, #int 4 // #4 │ │ +02045a: 1a04 8500 |0031: const-string v4, "::" // string@0085 │ │ +02045e: 1205 |0033: const/4 v5, #int 0 // #0 │ │ +020460: 3900 0700 |0034: if-nez v0, 003b // +0007 │ │ +020464: 6e30 9a05 4f02 |0036: invoke-virtual {v15, v4, v2}, Ljava/lang/String;.split:(Ljava/lang/String;I)[Ljava/lang/String; // method@059a │ │ +02046a: 0c0f |0039: move-result-object v15 │ │ +02046c: 2822 |003a: goto 005c // +0022 │ │ +02046e: 1a06 0e05 |003b: const-string v6, "]" // string@050e │ │ +020472: 6e20 9205 6f00 |003d: invoke-virtual {v15, v6}, Ljava/lang/String;.indexOf:(Ljava/lang/String;)I // method@0592 │ │ +020478: 0a06 |0040: move-result v6 │ │ +02047a: 6e20 9c05 6f00 |0041: invoke-virtual {v15, v6}, Ljava/lang/String;.substring:(I)Ljava/lang/String; // method@059c │ │ +020480: 0c0f |0044: move-result-object v15 │ │ +020482: 6e20 9905 4f00 |0045: invoke-virtual {v15, v4}, Ljava/lang/String;.split:(Ljava/lang/String;)[Ljava/lang/String; // method@0599 │ │ +020488: 0c0f |0048: move-result-object v15 │ │ +02048a: 21f6 |0049: array-length v6, v15 │ │ +02048c: 3736 0e00 |004a: if-le v6, v3, 0058 // +000e │ │ +020490: 21f6 |004c: array-length v6, v15 │ │ +020492: 2366 ad01 |004d: new-array v6, v6, [Ljava/lang/String; // type@01ad │ │ +020496: 4d00 0605 |004f: aput-object v0, v6, v5 │ │ +02049a: 21f0 |0051: array-length v0, v15 │ │ +02049c: b130 |0052: sub-int/2addr v0, v3 │ │ +02049e: 7150 b205 3f36 |0053: invoke-static {v15, v3, v6, v3, v0}, Ljava/lang/System;.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V // method@05b2 │ │ +0204a4: 076f |0056: move-object v15, v6 │ │ +0204a6: 2805 |0057: goto 005c // +0005 │ │ +0204a8: 233f ad01 |0058: new-array v15, v3, [Ljava/lang/String; // type@01ad │ │ +0204ac: 4d00 0f05 |005a: aput-object v0, v15, v5 │ │ +0204b0: 21f0 |005c: array-length v0, v15 │ │ +0204b2: 3330 0b00 |005d: if-ne v0, v3, 0068 // +000b │ │ +0204b6: 2200 e800 |005f: new-instance v0, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry; // type@00e8 │ │ +0204ba: 460f 0f05 |0061: aget-object v15, v15, v5 │ │ +0204be: 7030 4604 f001 |0063: invoke-direct {v0, v15, v1}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.:(Ljava/lang/String;Z)V // method@0446 │ │ +0204c4: 2900 7800 |0066: goto/16 00de // +0078 │ │ +0204c8: 21f0 |0068: array-length v0, v15 │ │ +0204ca: 1226 |0069: const/4 v6, #int 2 // #2 │ │ +0204cc: 3360 0c00 |006a: if-ne v0, v6, 0076 // +000c │ │ +0204d0: 2200 e800 |006c: new-instance v0, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry; // type@00e8 │ │ +0204d4: 4602 0f05 |006e: aget-object v2, v15, v5 │ │ +0204d8: 460f 0f03 |0070: aget-object v15, v15, v3 │ │ +0204dc: 7040 4504 201f |0072: invoke-direct {v0, v2, v15, v1}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.:(Ljava/lang/String;Ljava/lang/String;Z)V // method@0445 │ │ +0204e2: 2869 |0075: goto 00de // +0069 │ │ +0204e4: 21f0 |0076: array-length v0, v15 │ │ +0204e6: 1237 |0077: const/4 v7, #int 3 // #3 │ │ +0204e8: 3370 1600 |0078: if-ne v0, v7, 008e // +0016 │ │ +0204ec: 2200 e800 |007a: new-instance v0, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry; // type@00e8 │ │ +0204f0: 4602 0f05 |007c: aget-object v2, v15, v5 │ │ +0204f4: 4603 0f03 |007e: aget-object v3, v15, v3 │ │ +0204f8: 460f 0f06 |0080: aget-object v15, v15, v6 │ │ +0204fc: 6e10 a005 0f00 |0082: invoke-virtual {v15}, Ljava/lang/String;.toUpperCase:()Ljava/lang/String; // method@05a0 │ │ +020502: 0c0f |0085: move-result-object v15 │ │ +020504: 7110 3504 0f00 |0086: invoke-static {v15}, Ldnsfilter/android/dnsserverconfig/widget/DNSType;.valueOf:(Ljava/lang/String;)Ldnsfilter/android/dnsserverconfig/widget/DNSType; // method@0435 │ │ +02050a: 0c0f |0089: move-result-object v15 │ │ +02050c: 7051 4404 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@0444 │ │ +020512: 2851 |008d: goto 00de // +0051 │ │ +020514: 21f0 |008e: array-length v0, v15 │ │ +020516: 3320 1d00 |008f: if-ne v0, v2, 00ac // +001d │ │ +02051a: 2200 e800 |0091: new-instance v0, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry; // type@00e8 │ │ +02051e: 4609 0f05 |0093: aget-object v9, v15, v5 │ │ +020522: 460a 0f03 |0095: aget-object v10, v15, v3 │ │ +020526: 4602 0f06 |0097: aget-object v2, v15, v6 │ │ +02052a: 6e10 a005 0200 |0099: invoke-virtual {v2}, Ljava/lang/String;.toUpperCase:()Ljava/lang/String; // method@05a0 │ │ +020530: 0c02 |009c: move-result-object v2 │ │ +020532: 7110 3504 0200 |009d: invoke-static {v2}, Ldnsfilter/android/dnsserverconfig/widget/DNSType;.valueOf:(Ljava/lang/String;)Ldnsfilter/android/dnsserverconfig/widget/DNSType; // method@0435 │ │ +020538: 0c0b |00a0: move-result-object v11 │ │ +02053a: 460c 0f07 |00a1: aget-object v12, v15, v7 │ │ +02053e: 7110 4f05 0100 |00a3: invoke-static {v1}, Ljava/lang/Boolean;.valueOf:(Z)Ljava/lang/Boolean; // method@054f │ │ +020544: 0c0d |00a6: move-result-object v13 │ │ +020546: 0708 |00a7: move-object v8, v0 │ │ +020548: 7606 4304 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@0443 │ │ +02054e: 2833 |00ab: goto 00de // +0033 │ │ +020550: 2200 e800 |00ac: new-instance v0, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry; // type@00e8 │ │ +020554: 4605 0f05 |00ae: aget-object v5, v15, v5 │ │ +020558: 4603 0f03 |00b0: aget-object v3, v15, v3 │ │ +02055c: 4606 0f06 |00b2: aget-object v6, v15, v6 │ │ +020560: 6e10 a005 0600 |00b4: invoke-virtual {v6}, Ljava/lang/String;.toUpperCase:()Ljava/lang/String; // method@05a0 │ │ +020566: 0c06 |00b7: move-result-object v6 │ │ +020568: 7110 3504 0600 |00b8: invoke-static {v6}, Ldnsfilter/android/dnsserverconfig/widget/DNSType;.valueOf:(Ljava/lang/String;)Ldnsfilter/android/dnsserverconfig/widget/DNSType; // method@0435 │ │ +02056e: 0c06 |00bb: move-result-object v6 │ │ +020570: 2208 2d01 |00bc: new-instance v8, Ljava/lang/StringBuilder; // type@012d │ │ +020574: 7010 a905 0800 |00be: invoke-direct {v8}, Ljava/lang/StringBuilder;.:()V // method@05a9 │ │ +02057a: 4607 0f07 |00c1: aget-object v7, v15, v7 │ │ +02057e: 6e20 af05 7800 |00c3: invoke-virtual {v8, v7}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +020584: 6e20 af05 4800 |00c6: invoke-virtual {v8, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +02058a: 460f 0f02 |00c9: aget-object v15, v15, v2 │ │ +02058e: 6e20 af05 f800 |00cb: invoke-virtual {v8, v15}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +020594: 6e10 b105 0800 |00ce: invoke-virtual {v8}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ +02059a: 0c0f |00d1: move-result-object v15 │ │ +02059c: 7110 4f05 0100 |00d2: invoke-static {v1}, Ljava/lang/Boolean;.valueOf:(Z)Ljava/lang/Boolean; // method@054f │ │ +0205a2: 0c07 |00d5: move-result-object v7 │ │ +0205a4: 0701 |00d6: move-object v1, v0 │ │ +0205a6: 0752 |00d7: move-object v2, v5 │ │ +0205a8: 0764 |00d8: move-object v4, v6 │ │ +0205aa: 07f5 |00d9: move-object v5, v15 │ │ +0205ac: 0776 |00da: move-object v6, v7 │ │ +0205ae: 7606 4304 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@0443 │ │ +0205b4: 1100 |00de: return-object v0 │ │ +0205b6: 220f e800 |00df: new-instance v15, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry; // type@00e8 │ │ +0205ba: 7010 4204 0f00 |00e1: invoke-direct {v15}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.:()V // method@0442 │ │ +0205c0: 110f |00e4: return-object v15 │ │ catches : (none) │ │ positions : │ │ 0x0002 line=20 │ │ 0x000a line=24 │ │ 0x0014 line=25 │ │ 0x001e line=29 │ │ 0x0028 line=31 │ │ @@ -21820,30 +21820,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 │ │ -020600: |[020600] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigEntrySerializer.getIPwithoutBracer:(Ljava/lang/String;)Ljava/lang/String; │ │ -020610: 1a00 f004 |0000: const-string v0, "[" // string@04f0 │ │ -020614: 6e20 8b05 0300 |0002: invoke-virtual {v3, v0}, Ljava/lang/String;.contains:(Ljava/lang/CharSequence;)Z // method@058b │ │ -02061a: 0a01 |0005: move-result v1 │ │ -02061c: 3801 1300 |0006: if-eqz v1, 0019 // +0013 │ │ -020620: 6e20 9205 0300 |0008: invoke-virtual {v3, v0}, Ljava/lang/String;.indexOf:(Ljava/lang/String;)I // method@0592 │ │ -020626: 0a00 |000b: move-result v0 │ │ -020628: 1a01 0e05 |000c: const-string v1, "]" // string@050e │ │ -02062c: 6e20 9205 1300 |000e: invoke-virtual {v3, v1}, Ljava/lang/String;.indexOf:(Ljava/lang/String;)I // method@0592 │ │ -020632: 0a01 |0011: move-result v1 │ │ -020634: d800 0001 |0012: add-int/lit8 v0, v0, #int 1 // #01 │ │ -020638: 6e30 9d05 0301 |0014: invoke-virtual {v3, v0, v1}, Ljava/lang/String;.substring:(II)Ljava/lang/String; // method@059d │ │ -02063e: 0c03 |0017: move-result-object v3 │ │ -020640: 1103 |0018: return-object v3 │ │ -020642: 1203 |0019: const/4 v3, #int 0 // #0 │ │ -020644: 1103 |001a: return-object v3 │ │ +0205fc: |[0205fc] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigEntrySerializer.getIPwithoutBracer:(Ljava/lang/String;)Ljava/lang/String; │ │ +02060c: 1a00 f004 |0000: const-string v0, "[" // string@04f0 │ │ +020610: 6e20 8b05 0300 |0002: invoke-virtual {v3, v0}, Ljava/lang/String;.contains:(Ljava/lang/CharSequence;)Z // method@058b │ │ +020616: 0a01 |0005: move-result v1 │ │ +020618: 3801 1300 |0006: if-eqz v1, 0019 // +0013 │ │ +02061c: 6e20 9205 0300 |0008: invoke-virtual {v3, v0}, Ljava/lang/String;.indexOf:(Ljava/lang/String;)I // method@0592 │ │ +020622: 0a00 |000b: move-result v0 │ │ +020624: 1a01 0e05 |000c: const-string v1, "]" // string@050e │ │ +020628: 6e20 9205 1300 |000e: invoke-virtual {v3, v1}, Ljava/lang/String;.indexOf:(Ljava/lang/String;)I // method@0592 │ │ +02062e: 0a01 |0011: move-result v1 │ │ +020630: d800 0001 |0012: add-int/lit8 v0, v0, #int 1 // #01 │ │ +020634: 6e30 9d05 0301 |0014: invoke-virtual {v3, v0, v1}, Ljava/lang/String;.substring:(II)Ljava/lang/String; // method@059d │ │ +02063a: 0c03 |0017: move-result-object v3 │ │ +02063c: 1103 |0018: return-object v3 │ │ +02063e: 1203 |0019: const/4 v3, #int 0 // #0 │ │ +020640: 1103 |001a: return-object v3 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=90 │ │ 0x0008 line=91 │ │ 0x000c line=92 │ │ 0x0014 line=93 │ │ locals : │ │ @@ -21856,27 +21856,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 │ │ -020398: |[020398] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigEntrySerializer.deserialize:(Ljava/lang/String;)Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigBaseEntry; │ │ -0203a8: 7020 f503 4300 |0000: invoke-direct {v3, v4}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntrySerializer;.deserializeImpl:(Ljava/lang/String;)Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigBaseEntry; // method@03f5 │ │ -0203ae: 0c04 |0003: move-result-object v4 │ │ -0203b0: 1104 |0004: return-object v4 │ │ -0203b2: 2200 e500 |0005: new-instance v0, Ldnsfilter/android/dnsserverconfig/widget/NotDeserializableException; // type@00e5 │ │ -0203b6: 2201 2d01 |0007: new-instance v1, Ljava/lang/StringBuilder; // type@012d │ │ -0203ba: 1a02 f503 |0009: const-string v2, "Not possibly to deserialize " // string@03f5 │ │ -0203be: 7020 aa05 2100 |000b: invoke-direct {v1, v2}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05aa │ │ -0203c4: 6e20 af05 4100 |000e: invoke-virtual {v1, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -0203ca: 6e10 b105 0100 |0011: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ -0203d0: 0c04 |0014: move-result-object v4 │ │ -0203d2: 7020 3804 4000 |0015: invoke-direct {v0, v4}, Ldnsfilter/android/dnsserverconfig/widget/NotDeserializableException;.:(Ljava/lang/String;)V // method@0438 │ │ -0203d8: 2700 |0018: throw v0 │ │ +020394: |[020394] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigEntrySerializer.deserialize:(Ljava/lang/String;)Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigBaseEntry; │ │ +0203a4: 7020 f503 4300 |0000: invoke-direct {v3, v4}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntrySerializer;.deserializeImpl:(Ljava/lang/String;)Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigBaseEntry; // method@03f5 │ │ +0203aa: 0c04 |0003: move-result-object v4 │ │ +0203ac: 1104 |0004: return-object v4 │ │ +0203ae: 2200 e500 |0005: new-instance v0, Ldnsfilter/android/dnsserverconfig/widget/NotDeserializableException; // type@00e5 │ │ +0203b2: 2201 2d01 |0007: new-instance v1, Ljava/lang/StringBuilder; // type@012d │ │ +0203b6: 1a02 f503 |0009: const-string v2, "Not possibly to deserialize " // string@03f5 │ │ +0203ba: 7020 aa05 2100 |000b: invoke-direct {v1, v2}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05aa │ │ +0203c0: 6e20 af05 4100 |000e: invoke-virtual {v1, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +0203c6: 6e10 b105 0100 |0011: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ +0203cc: 0c04 |0014: move-result-object v4 │ │ +0203ce: 7020 3804 4000 |0015: invoke-direct {v0, v4}, Ldnsfilter/android/dnsserverconfig/widget/NotDeserializableException;.:(Ljava/lang/String;)V // method@0438 │ │ +0203d4: 2700 |0018: throw v0 │ │ catches : 1 │ │ 0x0000 - 0x0004 │ │ Ljava/lang/RuntimeException; -> 0x0005 │ │ positions : │ │ 0x0000 line=81 │ │ 0x0005 line=83 │ │ locals : │ │ @@ -21888,21 +21888,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 │ │ -0205c8: |[0205c8] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigEntrySerializer.deserializeSafe:(Ljava/lang/String;)Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigBaseEntry; │ │ -0205d8: 7020 f503 1000 |0000: invoke-direct {v0, v1}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntrySerializer;.deserializeImpl:(Ljava/lang/String;)Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigBaseEntry; // method@03f5 │ │ -0205de: 0c01 |0003: move-result-object v1 │ │ -0205e0: 2806 |0004: goto 000a // +0006 │ │ -0205e2: 2201 e800 |0005: new-instance v1, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry; // type@00e8 │ │ -0205e6: 7010 4204 0100 |0007: invoke-direct {v1}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.:()V // method@0442 │ │ -0205ec: 1101 |000a: return-object v1 │ │ +0205c4: |[0205c4] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigEntrySerializer.deserializeSafe:(Ljava/lang/String;)Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigBaseEntry; │ │ +0205d4: 7020 f503 1000 |0000: invoke-direct {v0, v1}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntrySerializer;.deserializeImpl:(Ljava/lang/String;)Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigBaseEntry; // method@03f5 │ │ +0205da: 0c01 |0003: move-result-object v1 │ │ +0205dc: 2806 |0004: goto 000a // +0006 │ │ +0205de: 2201 e800 |0005: new-instance v1, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry; // type@00e8 │ │ +0205e2: 7010 4204 0100 |0007: invoke-direct {v1}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.:()V // method@0442 │ │ +0205e8: 1101 |000a: return-object v1 │ │ catches : 1 │ │ 0x0000 - 0x0004 │ │ Ljava/lang/RuntimeException; -> 0x0005 │ │ positions : │ │ 0x0000 line=70 │ │ 0x0005 line=72 │ │ locals : │ │ @@ -21960,69 +21960,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 │ │ -020684: |[020684] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigEntryTestState.$values:()[Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState; │ │ -020694: 1240 |0000: const/4 v0, #int 4 // #4 │ │ -020696: 2300 a601 |0001: new-array v0, v0, [Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState; // type@01a6 │ │ -02069a: 6201 9d02 |0003: sget-object v1, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState;.FAIL:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState; // field@029d │ │ -02069e: 1202 |0005: const/4 v2, #int 0 // #0 │ │ -0206a0: 4d01 0002 |0006: aput-object v1, v0, v2 │ │ -0206a4: 6201 9e02 |0008: sget-object v1, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState;.NOT_STARTED:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState; // field@029e │ │ -0206a8: 1212 |000a: const/4 v2, #int 1 // #1 │ │ -0206aa: 4d01 0002 |000b: aput-object v1, v0, v2 │ │ -0206ae: 6201 9f02 |000d: sget-object v1, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState;.STARTED:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState; // field@029f │ │ -0206b2: 1222 |000f: const/4 v2, #int 2 // #2 │ │ -0206b4: 4d01 0002 |0010: aput-object v1, v0, v2 │ │ -0206b8: 6201 a002 |0012: sget-object v1, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState;.SUCCESS:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState; // field@02a0 │ │ -0206bc: 1232 |0014: const/4 v2, #int 3 // #3 │ │ -0206be: 4d01 0002 |0015: aput-object v1, v0, v2 │ │ -0206c2: 1100 |0017: return-object v0 │ │ +020680: |[020680] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigEntryTestState.$values:()[Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState; │ │ +020690: 1240 |0000: const/4 v0, #int 4 // #4 │ │ +020692: 2300 a601 |0001: new-array v0, v0, [Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState; // type@01a6 │ │ +020696: 6201 9d02 |0003: sget-object v1, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState;.FAIL:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState; // field@029d │ │ +02069a: 1202 |0005: const/4 v2, #int 0 // #0 │ │ +02069c: 4d01 0002 |0006: aput-object v1, v0, v2 │ │ +0206a0: 6201 9e02 |0008: sget-object v1, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState;.NOT_STARTED:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState; // field@029e │ │ +0206a4: 1212 |000a: const/4 v2, #int 1 // #1 │ │ +0206a6: 4d01 0002 |000b: aput-object v1, v0, v2 │ │ +0206aa: 6201 9f02 |000d: sget-object v1, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState;.STARTED:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState; // field@029f │ │ +0206ae: 1222 |000f: const/4 v2, #int 2 // #2 │ │ +0206b0: 4d01 0002 |0010: aput-object v1, v0, v2 │ │ +0206b4: 6201 a002 |0012: sget-object v1, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState;.SUCCESS:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState; // field@02a0 │ │ +0206b8: 1232 |0014: const/4 v2, #int 3 // #3 │ │ +0206ba: 4d01 0002 |0015: aput-object v1, v0, v2 │ │ +0206be: 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 │ │ -0206e8: |[0206e8] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigEntryTestState.:()V │ │ -0206f8: 2200 d900 |0000: new-instance v0, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState; // type@00d9 │ │ -0206fc: 1a01 9801 |0002: const-string v1, "FAIL" // string@0198 │ │ -020700: 1202 |0004: const/4 v2, #int 0 // #0 │ │ -020702: 7030 fa03 1002 |0005: invoke-direct {v0, v1, v2}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState;.:(Ljava/lang/String;I)V // method@03fa │ │ -020708: 6900 9d02 |0008: sput-object v0, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState;.FAIL:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState; // field@029d │ │ -02070c: 2200 d900 |000a: new-instance v0, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState; // type@00d9 │ │ -020710: 1a01 e403 |000c: const-string v1, "NOT_STARTED" // string@03e4 │ │ -020714: 1212 |000e: const/4 v2, #int 1 // #1 │ │ -020716: 7030 fa03 1002 |000f: invoke-direct {v0, v1, v2}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState;.:(Ljava/lang/String;I)V // method@03fa │ │ -02071c: 6900 9e02 |0012: sput-object v0, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState;.NOT_STARTED:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState; // field@029e │ │ -020720: 2200 d900 |0014: new-instance v0, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState; // type@00d9 │ │ -020724: 1a01 5504 |0016: const-string v1, "STARTED" // string@0455 │ │ -020728: 1222 |0018: const/4 v2, #int 2 // #2 │ │ -02072a: 7030 fa03 1002 |0019: invoke-direct {v0, v1, v2}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState;.:(Ljava/lang/String;I)V // method@03fa │ │ -020730: 6900 9f02 |001c: sput-object v0, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState;.STARTED:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState; // field@029f │ │ -020734: 2200 d900 |001e: new-instance v0, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState; // type@00d9 │ │ -020738: 1a01 5804 |0020: const-string v1, "SUCCESS" // string@0458 │ │ -02073c: 1232 |0022: const/4 v2, #int 3 // #3 │ │ -02073e: 7030 fa03 1002 |0023: invoke-direct {v0, v1, v2}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState;.:(Ljava/lang/String;I)V // method@03fa │ │ -020744: 6900 a002 |0026: sput-object v0, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState;.SUCCESS:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState; // field@02a0 │ │ -020748: 7100 f803 0000 |0028: invoke-static {}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState;.$values:()[Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState; // method@03f8 │ │ -02074e: 0c00 |002b: move-result-object v0 │ │ -020750: 6900 9c02 |002c: sput-object v0, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState;.$VALUES:[Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState; // field@029c │ │ -020754: 0e00 |002e: return-void │ │ +0206e4: |[0206e4] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigEntryTestState.:()V │ │ +0206f4: 2200 d900 |0000: new-instance v0, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState; // type@00d9 │ │ +0206f8: 1a01 9801 |0002: const-string v1, "FAIL" // string@0198 │ │ +0206fc: 1202 |0004: const/4 v2, #int 0 // #0 │ │ +0206fe: 7030 fa03 1002 |0005: invoke-direct {v0, v1, v2}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState;.:(Ljava/lang/String;I)V // method@03fa │ │ +020704: 6900 9d02 |0008: sput-object v0, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState;.FAIL:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState; // field@029d │ │ +020708: 2200 d900 |000a: new-instance v0, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState; // type@00d9 │ │ +02070c: 1a01 e403 |000c: const-string v1, "NOT_STARTED" // string@03e4 │ │ +020710: 1212 |000e: const/4 v2, #int 1 // #1 │ │ +020712: 7030 fa03 1002 |000f: invoke-direct {v0, v1, v2}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState;.:(Ljava/lang/String;I)V // method@03fa │ │ +020718: 6900 9e02 |0012: sput-object v0, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState;.NOT_STARTED:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState; // field@029e │ │ +02071c: 2200 d900 |0014: new-instance v0, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState; // type@00d9 │ │ +020720: 1a01 5504 |0016: const-string v1, "STARTED" // string@0455 │ │ +020724: 1222 |0018: const/4 v2, #int 2 // #2 │ │ +020726: 7030 fa03 1002 |0019: invoke-direct {v0, v1, v2}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState;.:(Ljava/lang/String;I)V // method@03fa │ │ +02072c: 6900 9f02 |001c: sput-object v0, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState;.STARTED:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState; // field@029f │ │ +020730: 2200 d900 |001e: new-instance v0, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState; // type@00d9 │ │ +020734: 1a01 5804 |0020: const-string v1, "SUCCESS" // string@0458 │ │ +020738: 1232 |0022: const/4 v2, #int 3 // #3 │ │ +02073a: 7030 fa03 1002 |0023: invoke-direct {v0, v1, v2}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState;.:(Ljava/lang/String;I)V // method@03fa │ │ +020740: 6900 a002 |0026: sput-object v0, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState;.SUCCESS:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState; // field@02a0 │ │ +020744: 7100 f803 0000 |0028: invoke-static {}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState;.$values:()[Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState; // method@03f8 │ │ +02074a: 0c00 |002b: move-result-object v0 │ │ +02074c: 6900 9c02 |002c: sput-object v0, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState;.$VALUES:[Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState; // field@029c │ │ +020750: 0e00 |002e: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=4 │ │ 0x000a line=5 │ │ 0x0014 line=6 │ │ 0x001e line=7 │ │ 0x0028 line=3 │ │ @@ -22033,17 +22033,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 │ │ -020758: |[020758] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigEntryTestState.:(Ljava/lang/String;I)V │ │ -020768: 7030 5905 1002 |0000: invoke-direct {v0, v1, v2}, Ljava/lang/Enum;.:(Ljava/lang/String;I)V // method@0559 │ │ -02076e: 0e00 |0003: return-void │ │ +020754: |[020754] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigEntryTestState.:(Ljava/lang/String;I)V │ │ +020764: 7030 5905 1002 |0000: invoke-direct {v0, v1, v2}, Ljava/lang/Enum;.:(Ljava/lang/String;I)V // method@0559 │ │ +02076a: 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 │ │ @@ -22053,20 +22053,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 │ │ -020660: |[020660] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigEntryTestState.valueOf:(Ljava/lang/String;)Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState; │ │ -020670: 1c00 d900 |0000: const-class v0, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState; // type@00d9 │ │ -020674: 7120 5a05 1000 |0002: invoke-static {v0, v1}, Ljava/lang/Enum;.valueOf:(Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/Enum; // method@055a │ │ -02067a: 0c01 |0005: move-result-object v1 │ │ -02067c: 1f01 d900 |0006: check-cast v1, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState; // type@00d9 │ │ -020680: 1101 |0008: return-object v1 │ │ +02065c: |[02065c] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigEntryTestState.valueOf:(Ljava/lang/String;)Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState; │ │ +02066c: 1c00 d900 |0000: const-class v0, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState; // type@00d9 │ │ +020670: 7120 5a05 1000 |0002: invoke-static {v0, v1}, Ljava/lang/Enum;.valueOf:(Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/Enum; // method@055a │ │ +020676: 0c01 |0005: move-result-object v1 │ │ +020678: 1f01 d900 |0006: check-cast v1, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState; // type@00d9 │ │ +02067c: 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;) │ │ @@ -22074,20 +22074,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 │ │ -0206c4: |[0206c4] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigEntryTestState.values:()[Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState; │ │ -0206d4: 6200 9c02 |0000: sget-object v0, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState;.$VALUES:[Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState; // field@029c │ │ -0206d8: 6e10 0608 0000 |0002: invoke-virtual {v0}, [Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState;.clone:()Ljava/lang/Object; // method@0806 │ │ -0206de: 0c00 |0005: move-result-object v0 │ │ -0206e0: 1f00 a601 |0006: check-cast v0, [Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState; // type@01a6 │ │ -0206e4: 1100 |0008: return-object v0 │ │ +0206c0: |[0206c0] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigEntryTestState.values:()[Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState; │ │ +0206d0: 6200 9c02 |0000: sget-object v0, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState;.$VALUES:[Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState; // field@029c │ │ +0206d4: 6e10 0608 0000 |0002: invoke-virtual {v0}, [Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState;.clone:()Ljava/lang/Object; // method@0806 │ │ +0206da: 0c00 |0005: move-result-object v0 │ │ +0206dc: 1f00 a601 |0006: check-cast v0, [Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState; // type@01a6 │ │ +0206e0: 1100 |0008: return-object v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=3 │ │ locals : │ │ │ │ Virtual methods - │ │ source_file_idx : 338 (DNSServerConfigEntryTestState.java) │ │ @@ -22123,20 +22123,20 @@ │ │ type : '()V' │ │ access : 0x10001 (PUBLIC CONSTRUCTOR) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 9 16-bit code units │ │ -02088c: |[02088c] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigEntryValidationResult.:()V │ │ -02089c: 7010 7505 0100 |0000: invoke-direct {v1}, Ljava/lang/Object;.:()V // method@0575 │ │ -0208a2: 1200 |0003: const/4 v0, #int 0 // #0 │ │ -0208a4: 5b10 a102 |0004: iput-object v0, v1, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult;.ipError:Ljava/lang/String; // field@02a1 │ │ -0208a8: 5b10 a202 |0006: iput-object v0, v1, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult;.portError:Ljava/lang/String; // field@02a2 │ │ -0208ac: 0e00 |0008: return-void │ │ +020888: |[020888] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigEntryValidationResult.:()V │ │ +020898: 7010 7505 0100 |0000: invoke-direct {v1}, Ljava/lang/Object;.:()V // method@0575 │ │ +02089e: 1200 |0003: const/4 v0, #int 0 // #0 │ │ +0208a0: 5b10 a102 |0004: iput-object v0, v1, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult;.ipError:Ljava/lang/String; // field@02a1 │ │ +0208a4: 5b10 a202 |0006: iput-object v0, v1, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult;.portError:Ljava/lang/String; // field@02a2 │ │ +0208a8: 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; │ │ @@ -22147,52 +22147,52 @@ │ │ type : '(Ljava/lang/Object;)Z' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 6 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 64 16-bit code units │ │ -020770: |[020770] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigEntryValidationResult.equals:(Ljava/lang/Object;)Z │ │ -020780: 1210 |0000: const/4 v0, #int 1 // #1 │ │ -020782: 3354 0300 |0001: if-ne v4, v5, 0004 // +0003 │ │ -020786: 0f00 |0003: return v0 │ │ -020788: 1201 |0004: const/4 v1, #int 0 // #0 │ │ -02078a: 3805 3a00 |0005: if-eqz v5, 003f // +003a │ │ -02078e: 6e10 7705 0400 |0007: invoke-virtual {v4}, Ljava/lang/Object;.getClass:()Ljava/lang/Class; // method@0577 │ │ -020794: 0c02 |000a: move-result-object v2 │ │ -020796: 6e10 7705 0500 |000b: invoke-virtual {v5}, Ljava/lang/Object;.getClass:()Ljava/lang/Class; // method@0577 │ │ -02079c: 0c03 |000e: move-result-object v3 │ │ -02079e: 3232 0300 |000f: if-eq v2, v3, 0012 // +0003 │ │ -0207a2: 282e |0011: goto 003f // +002e │ │ -0207a4: 1f05 da00 |0012: check-cast v5, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult; // type@00da │ │ -0207a8: 5442 a102 |0014: iget-object v2, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult;.ipError:Ljava/lang/String; // field@02a1 │ │ -0207ac: 3802 0600 |0016: if-eqz v2, 001c // +0006 │ │ -0207b0: 5443 a202 |0018: iget-object v3, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult;.portError:Ljava/lang/String; // field@02a2 │ │ -0207b4: 3803 0800 |001a: if-eqz v3, 0022 // +0008 │ │ -0207b8: 3802 0700 |001c: if-eqz v2, 0023 // +0007 │ │ -0207bc: 5443 a202 |001e: iget-object v3, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult;.portError:Ljava/lang/String; // field@02a2 │ │ -0207c0: 3903 0300 |0020: if-nez v3, 0023 // +0003 │ │ -0207c4: 0f01 |0022: return v1 │ │ -0207c6: 3902 0700 |0023: if-nez v2, 002a // +0007 │ │ -0207ca: 5443 a202 |0025: iget-object v3, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult;.portError:Ljava/lang/String; // field@02a2 │ │ -0207ce: 3903 0300 |0027: if-nez v3, 002a // +0003 │ │ -0207d2: 0f00 |0029: return v0 │ │ -0207d4: 5453 a102 |002a: iget-object v3, v5, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult;.ipError:Ljava/lang/String; // field@02a1 │ │ -0207d8: 6e20 8d05 3200 |002c: invoke-virtual {v2, v3}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058d │ │ -0207de: 0a02 |002f: move-result v2 │ │ -0207e0: 3802 0d00 |0030: if-eqz v2, 003d // +000d │ │ -0207e4: 5442 a202 |0032: iget-object v2, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult;.portError:Ljava/lang/String; // field@02a2 │ │ -0207e8: 5455 a202 |0034: iget-object v5, v5, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult;.portError:Ljava/lang/String; // field@02a2 │ │ -0207ec: 6e20 8d05 5200 |0036: invoke-virtual {v2, v5}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058d │ │ -0207f2: 0a05 |0039: move-result v5 │ │ -0207f4: 3805 0300 |003a: if-eqz v5, 003d // +0003 │ │ -0207f8: 2802 |003c: goto 003e // +0002 │ │ -0207fa: 1200 |003d: const/4 v0, #int 0 // #0 │ │ -0207fc: 0f00 |003e: return v0 │ │ -0207fe: 0f01 |003f: return v1 │ │ +02076c: |[02076c] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigEntryValidationResult.equals:(Ljava/lang/Object;)Z │ │ +02077c: 1210 |0000: const/4 v0, #int 1 // #1 │ │ +02077e: 3354 0300 |0001: if-ne v4, v5, 0004 // +0003 │ │ +020782: 0f00 |0003: return v0 │ │ +020784: 1201 |0004: const/4 v1, #int 0 // #0 │ │ +020786: 3805 3a00 |0005: if-eqz v5, 003f // +003a │ │ +02078a: 6e10 7705 0400 |0007: invoke-virtual {v4}, Ljava/lang/Object;.getClass:()Ljava/lang/Class; // method@0577 │ │ +020790: 0c02 |000a: move-result-object v2 │ │ +020792: 6e10 7705 0500 |000b: invoke-virtual {v5}, Ljava/lang/Object;.getClass:()Ljava/lang/Class; // method@0577 │ │ +020798: 0c03 |000e: move-result-object v3 │ │ +02079a: 3232 0300 |000f: if-eq v2, v3, 0012 // +0003 │ │ +02079e: 282e |0011: goto 003f // +002e │ │ +0207a0: 1f05 da00 |0012: check-cast v5, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult; // type@00da │ │ +0207a4: 5442 a102 |0014: iget-object v2, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult;.ipError:Ljava/lang/String; // field@02a1 │ │ +0207a8: 3802 0600 |0016: if-eqz v2, 001c // +0006 │ │ +0207ac: 5443 a202 |0018: iget-object v3, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult;.portError:Ljava/lang/String; // field@02a2 │ │ +0207b0: 3803 0800 |001a: if-eqz v3, 0022 // +0008 │ │ +0207b4: 3802 0700 |001c: if-eqz v2, 0023 // +0007 │ │ +0207b8: 5443 a202 |001e: iget-object v3, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult;.portError:Ljava/lang/String; // field@02a2 │ │ +0207bc: 3903 0300 |0020: if-nez v3, 0023 // +0003 │ │ +0207c0: 0f01 |0022: return v1 │ │ +0207c2: 3902 0700 |0023: if-nez v2, 002a // +0007 │ │ +0207c6: 5443 a202 |0025: iget-object v3, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult;.portError:Ljava/lang/String; // field@02a2 │ │ +0207ca: 3903 0300 |0027: if-nez v3, 002a // +0003 │ │ +0207ce: 0f00 |0029: return v0 │ │ +0207d0: 5453 a102 |002a: iget-object v3, v5, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult;.ipError:Ljava/lang/String; // field@02a1 │ │ +0207d4: 6e20 8d05 3200 |002c: invoke-virtual {v2, v3}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058d │ │ +0207da: 0a02 |002f: move-result v2 │ │ +0207dc: 3802 0d00 |0030: if-eqz v2, 003d // +000d │ │ +0207e0: 5442 a202 |0032: iget-object v2, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult;.portError:Ljava/lang/String; // field@02a2 │ │ +0207e4: 5455 a202 |0034: iget-object v5, v5, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult;.portError:Ljava/lang/String; // field@02a2 │ │ +0207e8: 6e20 8d05 5200 |0036: invoke-virtual {v2, v5}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058d │ │ +0207ee: 0a05 |0039: move-result v5 │ │ +0207f0: 3805 0300 |003a: if-eqz v5, 003d // +0003 │ │ +0207f4: 2802 |003c: goto 003e // +0002 │ │ +0207f6: 1200 |003d: const/4 v0, #int 0 // #0 │ │ +0207f8: 0f00 |003e: return v0 │ │ +0207fa: 0f01 |003f: return v1 │ │ catches : (none) │ │ positions : │ │ 0x0007 line=35 │ │ 0x0012 line=36 │ │ 0x0014 line=38 │ │ 0x0025 line=40 │ │ 0x002a line=43 │ │ @@ -22205,17 +22205,17 @@ │ │ type : '()Ljava/lang/String;' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 0 │ │ insns size : 3 16-bit code units │ │ -02085c: |[02085c] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigEntryValidationResult.getIpError:()Ljava/lang/String; │ │ -02086c: 5410 a102 |0000: iget-object v0, v1, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult;.ipError:Ljava/lang/String; // field@02a1 │ │ -020870: 1100 |0002: return-object v0 │ │ +020858: |[020858] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigEntryValidationResult.getIpError:()Ljava/lang/String; │ │ +020868: 5410 a102 |0000: iget-object v0, v1, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult;.ipError:Ljava/lang/String; // field@02a1 │ │ +02086c: 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;) │ │ @@ -22223,17 +22223,17 @@ │ │ type : '()Ljava/lang/String;' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 0 │ │ insns size : 3 16-bit code units │ │ -020874: |[020874] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigEntryValidationResult.getPortError:()Ljava/lang/String; │ │ -020884: 5410 a202 |0000: iget-object v0, v1, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult;.portError:Ljava/lang/String; // field@02a2 │ │ -020888: 1100 |0002: return-object v0 │ │ +020870: |[020870] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigEntryValidationResult.getPortError:()Ljava/lang/String; │ │ +020880: 5410 a202 |0000: iget-object v0, v1, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult;.portError:Ljava/lang/String; // field@02a2 │ │ +020884: 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;) │ │ @@ -22241,24 +22241,24 @@ │ │ type : '()Z' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 0 │ │ insns size : 13 16-bit code units │ │ -020800: |[020800] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigEntryValidationResult.hasError:()Z │ │ -020810: 5410 a102 |0000: iget-object v0, v1, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult;.ipError:Ljava/lang/String; // field@02a1 │ │ -020814: 3900 0900 |0002: if-nez v0, 000b // +0009 │ │ -020818: 5410 a202 |0004: iget-object v0, v1, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult;.portError:Ljava/lang/String; // field@02a2 │ │ -02081c: 3800 0300 |0006: if-eqz v0, 0009 // +0003 │ │ -020820: 2803 |0008: goto 000b // +0003 │ │ -020822: 1200 |0009: const/4 v0, #int 0 // #0 │ │ -020824: 2802 |000a: goto 000c // +0002 │ │ -020826: 1210 |000b: const/4 v0, #int 1 // #1 │ │ -020828: 0f00 |000c: return v0 │ │ +0207fc: |[0207fc] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigEntryValidationResult.hasError:()Z │ │ +02080c: 5410 a102 |0000: iget-object v0, v1, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult;.ipError:Ljava/lang/String; // field@02a1 │ │ +020810: 3900 0900 |0002: if-nez v0, 000b // +0009 │ │ +020814: 5410 a202 |0004: iget-object v0, v1, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult;.portError:Ljava/lang/String; // field@02a2 │ │ +020818: 3800 0300 |0006: if-eqz v0, 0009 // +0003 │ │ +02081c: 2803 |0008: goto 000b // +0003 │ │ +02081e: 1200 |0009: const/4 v0, #int 0 // #0 │ │ +020820: 2802 |000a: goto 000c // +0002 │ │ +020822: 1210 |000b: const/4 v0, #int 1 // #1 │ │ +020824: 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;) │ │ @@ -22266,24 +22266,24 @@ │ │ type : '()I' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 3 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 16 16-bit code units │ │ -02082c: |[02082c] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigEntryValidationResult.hashCode:()I │ │ -02083c: 5420 a102 |0000: iget-object v0, v2, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult;.ipError:Ljava/lang/String; // field@02a1 │ │ -020840: 6e10 9005 0000 |0002: invoke-virtual {v0}, Ljava/lang/String;.hashCode:()I // method@0590 │ │ -020846: 0a00 |0005: move-result v0 │ │ -020848: da00 001f |0006: mul-int/lit8 v0, v0, #int 31 // #1f │ │ -02084c: 5421 a202 |0008: iget-object v1, v2, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult;.portError:Ljava/lang/String; // field@02a2 │ │ -020850: 6e10 9005 0100 |000a: invoke-virtual {v1}, Ljava/lang/String;.hashCode:()I // method@0590 │ │ -020856: 0a01 |000d: move-result v1 │ │ -020858: b010 |000e: add-int/2addr v0, v1 │ │ -02085a: 0f00 |000f: return v0 │ │ +020828: |[020828] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigEntryValidationResult.hashCode:()I │ │ +020838: 5420 a102 |0000: iget-object v0, v2, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult;.ipError:Ljava/lang/String; // field@02a1 │ │ +02083c: 6e10 9005 0000 |0002: invoke-virtual {v0}, Ljava/lang/String;.hashCode:()I // method@0590 │ │ +020842: 0a00 |0005: move-result v0 │ │ +020844: da00 001f |0006: mul-int/lit8 v0, v0, #int 31 // #1f │ │ +020848: 5421 a202 |0008: iget-object v1, v2, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult;.portError:Ljava/lang/String; // field@02a2 │ │ +02084c: 6e10 9005 0100 |000a: invoke-virtual {v1}, Ljava/lang/String;.hashCode:()I // method@0590 │ │ +020852: 0a01 |000d: move-result v1 │ │ +020854: b010 |000e: add-int/2addr v0, v1 │ │ +020856: 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;) │ │ @@ -22291,17 +22291,17 @@ │ │ type : '(Ljava/lang/String;)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 2 │ │ outs : 0 │ │ insns size : 3 16-bit code units │ │ -0208b0: |[0208b0] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigEntryValidationResult.setIpError:(Ljava/lang/String;)V │ │ -0208c0: 5b01 a102 |0000: iput-object v1, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult;.ipError:Ljava/lang/String; // field@02a1 │ │ -0208c4: 0e00 |0002: return-void │ │ +0208ac: |[0208ac] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigEntryValidationResult.setIpError:(Ljava/lang/String;)V │ │ +0208bc: 5b01 a102 |0000: iput-object v1, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult;.ipError:Ljava/lang/String; // field@02a1 │ │ +0208c0: 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; │ │ │ │ @@ -22310,17 +22310,17 @@ │ │ type : '(Ljava/lang/String;)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 2 │ │ outs : 0 │ │ insns size : 3 16-bit code units │ │ -0208c8: |[0208c8] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigEntryValidationResult.setPortError:(Ljava/lang/String;)V │ │ -0208d8: 5b01 a202 |0000: iput-object v1, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult;.portError:Ljava/lang/String; // field@02a2 │ │ -0208dc: 0e00 |0002: return-void │ │ +0208c4: |[0208c4] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigEntryValidationResult.setPortError:(Ljava/lang/String;)V │ │ +0208d4: 5b01 a202 |0000: iput-object v1, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult;.portError:Ljava/lang/String; // field@02a2 │ │ +0208d8: 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; │ │ │ │ @@ -22363,18 +22363,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 │ │ -0208e0: |[0208e0] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigEntryView$1.:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;)V │ │ -0208f0: 5b01 a302 |0000: iput-object v1, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$1;.this$0:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView; // field@02a3 │ │ -0208f4: 7010 7505 0000 |0002: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@0575 │ │ -0208fa: 0e00 |0005: return-void │ │ +0208dc: |[0208dc] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigEntryView$1.:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;)V │ │ +0208ec: 5b01 a302 |0000: iput-object v1, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$1;.this$0:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView; // field@02a3 │ │ +0208f0: 7010 7505 0000 |0002: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@0575 │ │ +0208f6: 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; │ │ │ │ @@ -22384,26 +22384,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 │ │ -0208fc: |[0208fc] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigEntryView$1.onItemSelected:(Landroid/widget/AdapterView;Landroid/view/View;IJ)V │ │ -02090c: 5401 a302 |0000: iget-object v1, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$1;.this$0:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView; // field@02a3 │ │ -020910: 7110 1704 0100 |0002: invoke-static {v1}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;.access$000:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;)Landroid/widget/EditText; // method@0417 │ │ -020916: 0c01 |0005: move-result-object v1 │ │ -020918: 7100 3604 0000 |0006: invoke-static {}, Ldnsfilter/android/dnsserverconfig/widget/DNSType;.values:()[Ldnsfilter/android/dnsserverconfig/widget/DNSType; // method@0436 │ │ -02091e: 0c02 |0009: move-result-object v2 │ │ -020920: 4602 0203 |000a: aget-object v2, v2, v3 │ │ -020924: 5222 c202 |000c: iget v2, v2, Ldnsfilter/android/dnsserverconfig/widget/DNSType;.defaultPort:I // field@02c2 │ │ -020928: 7110 6905 0200 |000e: invoke-static {v2}, Ljava/lang/Integer;.toString:(I)Ljava/lang/String; // method@0569 │ │ -02092e: 0c02 |0011: move-result-object v2 │ │ -020930: 6e20 e600 2100 |0012: invoke-virtual {v1, v2}, Landroid/widget/EditText;.setText:(Ljava/lang/CharSequence;)V // method@00e6 │ │ -020936: 0e00 |0015: return-void │ │ +0208f8: |[0208f8] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigEntryView$1.onItemSelected:(Landroid/widget/AdapterView;Landroid/view/View;IJ)V │ │ +020908: 5401 a302 |0000: iget-object v1, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$1;.this$0:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView; // field@02a3 │ │ +02090c: 7110 1704 0100 |0002: invoke-static {v1}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;.access$000:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;)Landroid/widget/EditText; // method@0417 │ │ +020912: 0c01 |0005: move-result-object v1 │ │ +020914: 7100 3604 0000 |0006: invoke-static {}, Ldnsfilter/android/dnsserverconfig/widget/DNSType;.values:()[Ldnsfilter/android/dnsserverconfig/widget/DNSType; // method@0436 │ │ +02091a: 0c02 |0009: move-result-object v2 │ │ +02091c: 4602 0203 |000a: aget-object v2, v2, v3 │ │ +020920: 5222 c202 |000c: iget v2, v2, Ldnsfilter/android/dnsserverconfig/widget/DNSType;.defaultPort:I // field@02c2 │ │ +020924: 7110 6905 0200 |000e: invoke-static {v2}, Ljava/lang/Integer;.toString:(I)Ljava/lang/String; // method@0569 │ │ +02092a: 0c02 |0011: move-result-object v2 │ │ +02092c: 6e20 e600 2100 |0012: invoke-virtual {v1, v2}, Landroid/widget/EditText;.setText:(Ljava/lang/CharSequence;)V // method@00e6 │ │ +020932: 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; │ │ @@ -22415,16 +22415,16 @@ │ │ type : '(Landroid/widget/AdapterView;)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 2 │ │ outs : 0 │ │ insns size : 1 16-bit code units │ │ -020938: |[020938] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigEntryView$1.onNothingSelected:(Landroid/widget/AdapterView;)V │ │ -020948: 0e00 |0000: return-void │ │ +020934: |[020934] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigEntryView$1.onNothingSelected:(Landroid/widget/AdapterView;)V │ │ +020944: 0e00 |0000: return-void │ │ catches : (none) │ │ positions : │ │ locals : │ │ │ │ source_file_idx : 340 (DNSServerConfigEntryView.java) │ │ │ │ Class #84 header: │ │ @@ -22470,20 +22470,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 │ │ -02094c: |[02094c] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigEntryView$2.:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;Z)V │ │ -02095c: 5b01 a402 |0000: iput-object v1, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$2;.this$0:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView; // field@02a4 │ │ -020960: 5b02 a502 |0002: iput-object v2, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$2;.val$entry:Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry; // field@02a5 │ │ -020964: 5c03 a602 |0004: iput-boolean v3, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$2;.val$isNew:Z // field@02a6 │ │ -020968: 7010 7505 0000 |0006: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@0575 │ │ -02096e: 0e00 |0009: return-void │ │ +020948: |[020948] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigEntryView$2.:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;Z)V │ │ +020958: 5b01 a402 |0000: iput-object v1, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$2;.this$0:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView; // field@02a4 │ │ +02095c: 5b02 a502 |0002: iput-object v2, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$2;.val$entry:Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry; // field@02a5 │ │ +020960: 5c03 a602 |0004: iput-boolean v3, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$2;.val$isNew:Z // field@02a6 │ │ +020964: 7010 7505 0000 |0006: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@0575 │ │ +02096a: 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; │ │ @@ -22495,31 +22495,31 @@ │ │ type : '(Landroid/content/DialogInterface;)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 3 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 34 16-bit code units │ │ -020970: |[020970] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigEntryView$2.onCancel:(Landroid/content/DialogInterface;)V │ │ -020980: 5412 a502 |0000: iget-object v2, v1, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$2;.val$entry:Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry; // field@02a5 │ │ -020984: 2200 da00 |0002: new-instance v0, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult; // type@00da │ │ -020988: 7010 fe03 0000 |0004: invoke-direct {v0}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult;.:()V // method@03fe │ │ -02098e: 6e20 5a04 0200 |0007: invoke-virtual {v2, v0}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.setValidationResult:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult;)V // method@045a │ │ -020994: 5512 a602 |000a: iget-boolean v2, v1, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$2;.val$isNew:Z // field@02a6 │ │ -020998: 3802 1500 |000c: if-eqz v2, 0021 // +0015 │ │ -02099c: 5412 a402 |000e: iget-object v2, v1, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$2;.this$0:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView; // field@02a4 │ │ -0209a0: 7110 1804 0200 |0010: invoke-static {v2}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;.access$100:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;)Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$EditEventsListener; // method@0418 │ │ -0209a6: 0c02 |0013: move-result-object v2 │ │ -0209a8: 3802 0d00 |0014: if-eqz v2, 0021 // +000d │ │ -0209ac: 5412 a402 |0016: iget-object v2, v1, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$2;.this$0:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView; // field@02a4 │ │ -0209b0: 7110 1804 0200 |0018: invoke-static {v2}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;.access$100:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;)Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$EditEventsListener; // method@0418 │ │ -0209b6: 0c02 |001b: move-result-object v2 │ │ -0209b8: 5410 a502 |001c: iget-object v0, v1, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$2;.val$entry:Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry; // field@02a5 │ │ -0209bc: 7220 1504 0200 |001e: invoke-interface {v2, v0}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$EditEventsListener;.onNewCancelled:(Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;)V // method@0415 │ │ -0209c2: 0e00 |0021: return-void │ │ +02096c: |[02096c] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigEntryView$2.onCancel:(Landroid/content/DialogInterface;)V │ │ +02097c: 5412 a502 |0000: iget-object v2, v1, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$2;.val$entry:Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry; // field@02a5 │ │ +020980: 2200 da00 |0002: new-instance v0, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult; // type@00da │ │ +020984: 7010 fe03 0000 |0004: invoke-direct {v0}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult;.:()V // method@03fe │ │ +02098a: 6e20 5a04 0200 |0007: invoke-virtual {v2, v0}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.setValidationResult:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult;)V // method@045a │ │ +020990: 5512 a602 |000a: iget-boolean v2, v1, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$2;.val$isNew:Z // field@02a6 │ │ +020994: 3802 1500 |000c: if-eqz v2, 0021 // +0015 │ │ +020998: 5412 a402 |000e: iget-object v2, v1, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$2;.this$0:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView; // field@02a4 │ │ +02099c: 7110 1804 0200 |0010: invoke-static {v2}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;.access$100:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;)Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$EditEventsListener; // method@0418 │ │ +0209a2: 0c02 |0013: move-result-object v2 │ │ +0209a4: 3802 0d00 |0014: if-eqz v2, 0021 // +000d │ │ +0209a8: 5412 a402 |0016: iget-object v2, v1, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$2;.this$0:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView; // field@02a4 │ │ +0209ac: 7110 1804 0200 |0018: invoke-static {v2}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;.access$100:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;)Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$EditEventsListener; // method@0418 │ │ +0209b2: 0c02 |001b: move-result-object v2 │ │ +0209b4: 5410 a502 |001c: iget-object v0, v1, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$2;.val$entry:Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry; // field@02a5 │ │ +0209b8: 7220 1504 0200 |001e: invoke-interface {v2, v0}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$EditEventsListener;.onNewCancelled:(Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;)V // method@0415 │ │ +0209be: 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; │ │ @@ -22566,19 +22566,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 │ │ -0209c4: |[0209c4] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigEntryView$3.:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;)V │ │ -0209d4: 5b01 a702 |0000: iput-object v1, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$3;.this$0:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView; // field@02a7 │ │ -0209d8: 5b02 a802 |0002: iput-object v2, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$3;.val$entry:Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry; // field@02a8 │ │ -0209dc: 7010 7505 0000 |0004: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@0575 │ │ -0209e2: 0e00 |0007: return-void │ │ +0209c0: |[0209c0] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigEntryView$3.:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;)V │ │ +0209d0: 5b01 a702 |0000: iput-object v1, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$3;.this$0:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView; // field@02a7 │ │ +0209d4: 5b02 a802 |0002: iput-object v2, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$3;.val$entry:Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry; // field@02a8 │ │ +0209d8: 7010 7505 0000 |0004: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@0575 │ │ +0209de: 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; │ │ @@ -22589,119 +22589,119 @@ │ │ type : '(Landroid/view/View;)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 8 │ │ ins : 2 │ │ outs : 6 │ │ insns size : 213 16-bit code units │ │ -0209e4: |[0209e4] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigEntryView$3.onClick:(Landroid/view/View;)V │ │ -0209f4: 2207 e800 |0000: new-instance v7, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry; // type@00e8 │ │ -0209f8: 5460 a702 |0002: iget-object v0, v6, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$3;.this$0:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView; // field@02a7 │ │ -0209fc: 7110 1904 0000 |0004: invoke-static {v0}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;.access$200:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;)Landroid/widget/EditText; // method@0419 │ │ -020a02: 0c00 |0007: move-result-object v0 │ │ -020a04: 6e10 da00 0000 |0008: invoke-virtual {v0}, Landroid/widget/EditText;.getText:()Landroid/text/Editable; // method@00da │ │ -020a0a: 0c00 |000b: move-result-object v0 │ │ -020a0c: 6e10 7a05 0000 |000c: invoke-virtual {v0}, Ljava/lang/Object;.toString:()Ljava/lang/String; // method@057a │ │ -020a12: 0c01 |000f: move-result-object v1 │ │ -020a14: 5460 a702 |0010: iget-object v0, v6, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$3;.this$0:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView; // field@02a7 │ │ -020a18: 7110 1704 0000 |0012: invoke-static {v0}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;.access$000:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;)Landroid/widget/EditText; // method@0417 │ │ -020a1e: 0c00 |0015: move-result-object v0 │ │ -020a20: 6e10 da00 0000 |0016: invoke-virtual {v0}, Landroid/widget/EditText;.getText:()Landroid/text/Editable; // method@00da │ │ -020a26: 0c00 |0019: move-result-object v0 │ │ -020a28: 6e10 7a05 0000 |001a: invoke-virtual {v0}, Ljava/lang/Object;.toString:()Ljava/lang/String; // method@057a │ │ -020a2e: 0c02 |001d: move-result-object v2 │ │ -020a30: 7100 3604 0000 |001e: invoke-static {}, Ldnsfilter/android/dnsserverconfig/widget/DNSType;.values:()[Ldnsfilter/android/dnsserverconfig/widget/DNSType; // method@0436 │ │ -020a36: 0c00 |0021: move-result-object v0 │ │ -020a38: 5463 a702 |0022: iget-object v3, v6, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$3;.this$0:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView; // field@02a7 │ │ -020a3c: 7110 1a04 0300 |0024: invoke-static {v3}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;.access$300:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;)Landroid/widget/Spinner; // method@041a │ │ -020a42: 0c03 |0027: move-result-object v3 │ │ -020a44: 6e10 f600 0300 |0028: invoke-virtual {v3}, Landroid/widget/Spinner;.getSelectedItemPosition:()I // method@00f6 │ │ -020a4a: 0a03 |002b: move-result v3 │ │ -020a4c: 4603 0003 |002c: aget-object v3, v0, v3 │ │ -020a50: 5460 a702 |002e: iget-object v0, v6, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$3;.this$0:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView; // field@02a7 │ │ -020a54: 7110 1b04 0000 |0030: invoke-static {v0}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;.access$400:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;)Landroid/widget/EditText; // method@041b │ │ -020a5a: 0c00 |0033: move-result-object v0 │ │ -020a5c: 6e10 da00 0000 |0034: invoke-virtual {v0}, Landroid/widget/EditText;.getText:()Landroid/text/Editable; // method@00da │ │ -020a62: 0c00 |0037: move-result-object v0 │ │ -020a64: 6e10 7a05 0000 |0038: invoke-virtual {v0}, Ljava/lang/Object;.toString:()Ljava/lang/String; // method@057a │ │ -020a6a: 0c04 |003b: move-result-object v4 │ │ -020a6c: 1210 |003c: const/4 v0, #int 1 // #1 │ │ -020a6e: 7110 4f05 0000 |003d: invoke-static {v0}, Ljava/lang/Boolean;.valueOf:(Z)Ljava/lang/Boolean; // method@054f │ │ -020a74: 0c05 |0040: move-result-object v5 │ │ -020a76: 0770 |0041: move-object v0, v7 │ │ -020a78: 7606 4304 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@0443 │ │ -020a7e: 5460 a802 |0045: iget-object v0, v6, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$3;.val$entry:Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry; // field@02a8 │ │ -020a82: 5461 a702 |0047: iget-object v1, v6, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$3;.this$0:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView; // field@02a7 │ │ -020a86: 7110 1c04 0100 |0049: invoke-static {v1}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;.access$500:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;)Ldnsfilter/android/dnsserverconfig/widget/DNSConfigEntryValidator; // method@041c │ │ -020a8c: 0c01 |004c: move-result-object v1 │ │ -020a8e: 6e20 bc03 7100 |004d: invoke-virtual {v1, v7}, Ldnsfilter/android/dnsserverconfig/widget/DNSConfigEntryValidator;.validate:(Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;)Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult; // method@03bc │ │ -020a94: 0c07 |0050: move-result-object v7 │ │ -020a96: 6e20 5a04 7000 |0051: invoke-virtual {v0, v7}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.setValidationResult:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult;)V // method@045a │ │ -020a9c: 5467 a802 |0054: iget-object v7, v6, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$3;.val$entry:Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry; // field@02a8 │ │ -020aa0: 6e10 5204 0700 |0056: invoke-virtual {v7}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.getValidationResult:()Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult; // method@0452 │ │ -020aa6: 0c07 |0059: move-result-object v7 │ │ -020aa8: 6e10 0204 0700 |005a: invoke-virtual {v7}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult;.hasError:()Z // method@0402 │ │ -020aae: 0a07 |005d: move-result v7 │ │ -020ab0: 3807 0e00 |005e: if-eqz v7, 006c // +000e │ │ -020ab4: 5467 a702 |0060: iget-object v7, v6, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$3;.this$0:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView; // field@02a7 │ │ -020ab8: 5460 a802 |0062: iget-object v0, v6, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$3;.val$entry:Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry; // field@02a8 │ │ -020abc: 6e10 5204 0000 |0064: invoke-virtual {v0}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.getValidationResult:()Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult; // method@0452 │ │ -020ac2: 0c00 |0067: move-result-object v0 │ │ -020ac4: 7120 1d04 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@041d │ │ -020aca: 2869 |006b: goto 00d4 // +0069 │ │ -020acc: 5467 a802 |006c: iget-object v7, v6, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$3;.val$entry:Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry; // field@02a8 │ │ -020ad0: 5460 a702 |006e: iget-object v0, v6, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$3;.this$0:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView; // field@02a7 │ │ -020ad4: 7110 1904 0000 |0070: invoke-static {v0}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;.access$200:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;)Landroid/widget/EditText; // method@0419 │ │ -020ada: 0c00 |0073: move-result-object v0 │ │ -020adc: 6e10 da00 0000 |0074: invoke-virtual {v0}, Landroid/widget/EditText;.getText:()Landroid/text/Editable; // method@00da │ │ -020ae2: 0c00 |0077: move-result-object v0 │ │ -020ae4: 6e10 7a05 0000 |0078: invoke-virtual {v0}, Ljava/lang/Object;.toString:()Ljava/lang/String; // method@057a │ │ -020aea: 0c00 |007b: move-result-object v0 │ │ -020aec: 6e20 5504 0700 |007c: invoke-virtual {v7, v0}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.setIp:(Ljava/lang/String;)V // method@0455 │ │ -020af2: 5467 a802 |007f: iget-object v7, v6, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$3;.val$entry:Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry; // field@02a8 │ │ -020af6: 5460 a702 |0081: iget-object v0, v6, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$3;.this$0:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView; // field@02a7 │ │ -020afa: 7110 1704 0000 |0083: invoke-static {v0}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;.access$000:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;)Landroid/widget/EditText; // method@0417 │ │ -020b00: 0c00 |0086: move-result-object v0 │ │ -020b02: 6e10 da00 0000 |0087: invoke-virtual {v0}, Landroid/widget/EditText;.getText:()Landroid/text/Editable; // method@00da │ │ -020b08: 0c00 |008a: move-result-object v0 │ │ -020b0a: 6e10 7a05 0000 |008b: invoke-virtual {v0}, Ljava/lang/Object;.toString:()Ljava/lang/String; // method@057a │ │ -020b10: 0c00 |008e: move-result-object v0 │ │ -020b12: 6e20 5704 0700 |008f: invoke-virtual {v7, v0}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.setPort:(Ljava/lang/String;)V // method@0457 │ │ -020b18: 5467 a802 |0092: iget-object v7, v6, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$3;.val$entry:Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry; // field@02a8 │ │ -020b1c: 5460 a702 |0094: iget-object v0, v6, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$3;.this$0:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView; // field@02a7 │ │ -020b20: 7110 1b04 0000 |0096: invoke-static {v0}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;.access$400:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;)Landroid/widget/EditText; // method@041b │ │ -020b26: 0c00 |0099: move-result-object v0 │ │ -020b28: 6e10 da00 0000 |009a: invoke-virtual {v0}, Landroid/widget/EditText;.getText:()Landroid/text/Editable; // method@00da │ │ -020b2e: 0c00 |009d: move-result-object v0 │ │ -020b30: 6e10 7a05 0000 |009e: invoke-virtual {v0}, Ljava/lang/Object;.toString:()Ljava/lang/String; // method@057a │ │ -020b36: 0c00 |00a1: move-result-object v0 │ │ -020b38: 6e20 5404 0700 |00a2: invoke-virtual {v7, v0}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.setEndpoint:(Ljava/lang/String;)V // method@0454 │ │ -020b3e: 5467 a802 |00a5: iget-object v7, v6, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$3;.val$entry:Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry; // field@02a8 │ │ -020b42: 7100 3604 0000 |00a7: invoke-static {}, Ldnsfilter/android/dnsserverconfig/widget/DNSType;.values:()[Ldnsfilter/android/dnsserverconfig/widget/DNSType; // method@0436 │ │ -020b48: 0c00 |00aa: move-result-object v0 │ │ -020b4a: 5461 a702 |00ab: iget-object v1, v6, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$3;.this$0:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView; // field@02a7 │ │ -020b4e: 7110 1a04 0100 |00ad: invoke-static {v1}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;.access$300:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;)Landroid/widget/Spinner; // method@041a │ │ -020b54: 0c01 |00b0: move-result-object v1 │ │ -020b56: 6e10 f600 0100 |00b1: invoke-virtual {v1}, Landroid/widget/Spinner;.getSelectedItemPosition:()I // method@00f6 │ │ -020b5c: 0a01 |00b4: move-result v1 │ │ -020b5e: 4600 0001 |00b5: aget-object v0, v0, v1 │ │ -020b62: 6e20 5804 0700 |00b7: invoke-virtual {v7, v0}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.setProtocol:(Ldnsfilter/android/dnsserverconfig/widget/DNSType;)V // method@0458 │ │ -020b68: 5467 a702 |00ba: iget-object v7, v6, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$3;.this$0:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView; // field@02a7 │ │ -020b6c: 7110 1804 0700 |00bc: invoke-static {v7}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;.access$100:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;)Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$EditEventsListener; // method@0418 │ │ -020b72: 0c07 |00bf: move-result-object v7 │ │ -020b74: 3807 0b00 |00c0: if-eqz v7, 00cb // +000b │ │ -020b78: 5467 a702 |00c2: iget-object v7, v6, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$3;.this$0:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView; // field@02a7 │ │ -020b7c: 7110 1804 0700 |00c4: invoke-static {v7}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;.access$100:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;)Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$EditEventsListener; // method@0418 │ │ -020b82: 0c07 |00c7: move-result-object v7 │ │ -020b84: 7210 1304 0700 |00c8: invoke-interface {v7}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$EditEventsListener;.onApplyChanges:()V // method@0413 │ │ -020b8a: 5467 a702 |00cb: iget-object v7, v6, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$3;.this$0:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView; // field@02a7 │ │ -020b8e: 7110 1e04 0700 |00cd: invoke-static {v7}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;.access$700:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;)Landroid/app/Dialog; // method@041e │ │ -020b94: 0c07 |00d0: move-result-object v7 │ │ -020b96: 6e10 1600 0700 |00d1: invoke-virtual {v7}, Landroid/app/Dialog;.dismiss:()V // method@0016 │ │ -020b9c: 0e00 |00d4: return-void │ │ +0209e0: |[0209e0] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigEntryView$3.onClick:(Landroid/view/View;)V │ │ +0209f0: 2207 e800 |0000: new-instance v7, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry; // type@00e8 │ │ +0209f4: 5460 a702 |0002: iget-object v0, v6, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$3;.this$0:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView; // field@02a7 │ │ +0209f8: 7110 1904 0000 |0004: invoke-static {v0}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;.access$200:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;)Landroid/widget/EditText; // method@0419 │ │ +0209fe: 0c00 |0007: move-result-object v0 │ │ +020a00: 6e10 da00 0000 |0008: invoke-virtual {v0}, Landroid/widget/EditText;.getText:()Landroid/text/Editable; // method@00da │ │ +020a06: 0c00 |000b: move-result-object v0 │ │ +020a08: 6e10 7a05 0000 |000c: invoke-virtual {v0}, Ljava/lang/Object;.toString:()Ljava/lang/String; // method@057a │ │ +020a0e: 0c01 |000f: move-result-object v1 │ │ +020a10: 5460 a702 |0010: iget-object v0, v6, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$3;.this$0:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView; // field@02a7 │ │ +020a14: 7110 1704 0000 |0012: invoke-static {v0}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;.access$000:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;)Landroid/widget/EditText; // method@0417 │ │ +020a1a: 0c00 |0015: move-result-object v0 │ │ +020a1c: 6e10 da00 0000 |0016: invoke-virtual {v0}, Landroid/widget/EditText;.getText:()Landroid/text/Editable; // method@00da │ │ +020a22: 0c00 |0019: move-result-object v0 │ │ +020a24: 6e10 7a05 0000 |001a: invoke-virtual {v0}, Ljava/lang/Object;.toString:()Ljava/lang/String; // method@057a │ │ +020a2a: 0c02 |001d: move-result-object v2 │ │ +020a2c: 7100 3604 0000 |001e: invoke-static {}, Ldnsfilter/android/dnsserverconfig/widget/DNSType;.values:()[Ldnsfilter/android/dnsserverconfig/widget/DNSType; // method@0436 │ │ +020a32: 0c00 |0021: move-result-object v0 │ │ +020a34: 5463 a702 |0022: iget-object v3, v6, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$3;.this$0:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView; // field@02a7 │ │ +020a38: 7110 1a04 0300 |0024: invoke-static {v3}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;.access$300:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;)Landroid/widget/Spinner; // method@041a │ │ +020a3e: 0c03 |0027: move-result-object v3 │ │ +020a40: 6e10 f600 0300 |0028: invoke-virtual {v3}, Landroid/widget/Spinner;.getSelectedItemPosition:()I // method@00f6 │ │ +020a46: 0a03 |002b: move-result v3 │ │ +020a48: 4603 0003 |002c: aget-object v3, v0, v3 │ │ +020a4c: 5460 a702 |002e: iget-object v0, v6, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$3;.this$0:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView; // field@02a7 │ │ +020a50: 7110 1b04 0000 |0030: invoke-static {v0}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;.access$400:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;)Landroid/widget/EditText; // method@041b │ │ +020a56: 0c00 |0033: move-result-object v0 │ │ +020a58: 6e10 da00 0000 |0034: invoke-virtual {v0}, Landroid/widget/EditText;.getText:()Landroid/text/Editable; // method@00da │ │ +020a5e: 0c00 |0037: move-result-object v0 │ │ +020a60: 6e10 7a05 0000 |0038: invoke-virtual {v0}, Ljava/lang/Object;.toString:()Ljava/lang/String; // method@057a │ │ +020a66: 0c04 |003b: move-result-object v4 │ │ +020a68: 1210 |003c: const/4 v0, #int 1 // #1 │ │ +020a6a: 7110 4f05 0000 |003d: invoke-static {v0}, Ljava/lang/Boolean;.valueOf:(Z)Ljava/lang/Boolean; // method@054f │ │ +020a70: 0c05 |0040: move-result-object v5 │ │ +020a72: 0770 |0041: move-object v0, v7 │ │ +020a74: 7606 4304 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@0443 │ │ +020a7a: 5460 a802 |0045: iget-object v0, v6, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$3;.val$entry:Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry; // field@02a8 │ │ +020a7e: 5461 a702 |0047: iget-object v1, v6, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$3;.this$0:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView; // field@02a7 │ │ +020a82: 7110 1c04 0100 |0049: invoke-static {v1}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;.access$500:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;)Ldnsfilter/android/dnsserverconfig/widget/DNSConfigEntryValidator; // method@041c │ │ +020a88: 0c01 |004c: move-result-object v1 │ │ +020a8a: 6e20 bc03 7100 |004d: invoke-virtual {v1, v7}, Ldnsfilter/android/dnsserverconfig/widget/DNSConfigEntryValidator;.validate:(Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;)Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult; // method@03bc │ │ +020a90: 0c07 |0050: move-result-object v7 │ │ +020a92: 6e20 5a04 7000 |0051: invoke-virtual {v0, v7}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.setValidationResult:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult;)V // method@045a │ │ +020a98: 5467 a802 |0054: iget-object v7, v6, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$3;.val$entry:Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry; // field@02a8 │ │ +020a9c: 6e10 5204 0700 |0056: invoke-virtual {v7}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.getValidationResult:()Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult; // method@0452 │ │ +020aa2: 0c07 |0059: move-result-object v7 │ │ +020aa4: 6e10 0204 0700 |005a: invoke-virtual {v7}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult;.hasError:()Z // method@0402 │ │ +020aaa: 0a07 |005d: move-result v7 │ │ +020aac: 3807 0e00 |005e: if-eqz v7, 006c // +000e │ │ +020ab0: 5467 a702 |0060: iget-object v7, v6, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$3;.this$0:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView; // field@02a7 │ │ +020ab4: 5460 a802 |0062: iget-object v0, v6, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$3;.val$entry:Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry; // field@02a8 │ │ +020ab8: 6e10 5204 0000 |0064: invoke-virtual {v0}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.getValidationResult:()Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult; // method@0452 │ │ +020abe: 0c00 |0067: move-result-object v0 │ │ +020ac0: 7120 1d04 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@041d │ │ +020ac6: 2869 |006b: goto 00d4 // +0069 │ │ +020ac8: 5467 a802 |006c: iget-object v7, v6, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$3;.val$entry:Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry; // field@02a8 │ │ +020acc: 5460 a702 |006e: iget-object v0, v6, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$3;.this$0:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView; // field@02a7 │ │ +020ad0: 7110 1904 0000 |0070: invoke-static {v0}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;.access$200:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;)Landroid/widget/EditText; // method@0419 │ │ +020ad6: 0c00 |0073: move-result-object v0 │ │ +020ad8: 6e10 da00 0000 |0074: invoke-virtual {v0}, Landroid/widget/EditText;.getText:()Landroid/text/Editable; // method@00da │ │ +020ade: 0c00 |0077: move-result-object v0 │ │ +020ae0: 6e10 7a05 0000 |0078: invoke-virtual {v0}, Ljava/lang/Object;.toString:()Ljava/lang/String; // method@057a │ │ +020ae6: 0c00 |007b: move-result-object v0 │ │ +020ae8: 6e20 5504 0700 |007c: invoke-virtual {v7, v0}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.setIp:(Ljava/lang/String;)V // method@0455 │ │ +020aee: 5467 a802 |007f: iget-object v7, v6, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$3;.val$entry:Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry; // field@02a8 │ │ +020af2: 5460 a702 |0081: iget-object v0, v6, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$3;.this$0:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView; // field@02a7 │ │ +020af6: 7110 1704 0000 |0083: invoke-static {v0}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;.access$000:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;)Landroid/widget/EditText; // method@0417 │ │ +020afc: 0c00 |0086: move-result-object v0 │ │ +020afe: 6e10 da00 0000 |0087: invoke-virtual {v0}, Landroid/widget/EditText;.getText:()Landroid/text/Editable; // method@00da │ │ +020b04: 0c00 |008a: move-result-object v0 │ │ +020b06: 6e10 7a05 0000 |008b: invoke-virtual {v0}, Ljava/lang/Object;.toString:()Ljava/lang/String; // method@057a │ │ +020b0c: 0c00 |008e: move-result-object v0 │ │ +020b0e: 6e20 5704 0700 |008f: invoke-virtual {v7, v0}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.setPort:(Ljava/lang/String;)V // method@0457 │ │ +020b14: 5467 a802 |0092: iget-object v7, v6, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$3;.val$entry:Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry; // field@02a8 │ │ +020b18: 5460 a702 |0094: iget-object v0, v6, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$3;.this$0:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView; // field@02a7 │ │ +020b1c: 7110 1b04 0000 |0096: invoke-static {v0}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;.access$400:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;)Landroid/widget/EditText; // method@041b │ │ +020b22: 0c00 |0099: move-result-object v0 │ │ +020b24: 6e10 da00 0000 |009a: invoke-virtual {v0}, Landroid/widget/EditText;.getText:()Landroid/text/Editable; // method@00da │ │ +020b2a: 0c00 |009d: move-result-object v0 │ │ +020b2c: 6e10 7a05 0000 |009e: invoke-virtual {v0}, Ljava/lang/Object;.toString:()Ljava/lang/String; // method@057a │ │ +020b32: 0c00 |00a1: move-result-object v0 │ │ +020b34: 6e20 5404 0700 |00a2: invoke-virtual {v7, v0}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.setEndpoint:(Ljava/lang/String;)V // method@0454 │ │ +020b3a: 5467 a802 |00a5: iget-object v7, v6, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$3;.val$entry:Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry; // field@02a8 │ │ +020b3e: 7100 3604 0000 |00a7: invoke-static {}, Ldnsfilter/android/dnsserverconfig/widget/DNSType;.values:()[Ldnsfilter/android/dnsserverconfig/widget/DNSType; // method@0436 │ │ +020b44: 0c00 |00aa: move-result-object v0 │ │ +020b46: 5461 a702 |00ab: iget-object v1, v6, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$3;.this$0:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView; // field@02a7 │ │ +020b4a: 7110 1a04 0100 |00ad: invoke-static {v1}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;.access$300:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;)Landroid/widget/Spinner; // method@041a │ │ +020b50: 0c01 |00b0: move-result-object v1 │ │ +020b52: 6e10 f600 0100 |00b1: invoke-virtual {v1}, Landroid/widget/Spinner;.getSelectedItemPosition:()I // method@00f6 │ │ +020b58: 0a01 |00b4: move-result v1 │ │ +020b5a: 4600 0001 |00b5: aget-object v0, v0, v1 │ │ +020b5e: 6e20 5804 0700 |00b7: invoke-virtual {v7, v0}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.setProtocol:(Ldnsfilter/android/dnsserverconfig/widget/DNSType;)V // method@0458 │ │ +020b64: 5467 a702 |00ba: iget-object v7, v6, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$3;.this$0:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView; // field@02a7 │ │ +020b68: 7110 1804 0700 |00bc: invoke-static {v7}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;.access$100:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;)Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$EditEventsListener; // method@0418 │ │ +020b6e: 0c07 |00bf: move-result-object v7 │ │ +020b70: 3807 0b00 |00c0: if-eqz v7, 00cb // +000b │ │ +020b74: 5467 a702 |00c2: iget-object v7, v6, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$3;.this$0:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView; // field@02a7 │ │ +020b78: 7110 1804 0700 |00c4: invoke-static {v7}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;.access$100:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;)Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$EditEventsListener; // method@0418 │ │ +020b7e: 0c07 |00c7: move-result-object v7 │ │ +020b80: 7210 1304 0700 |00c8: invoke-interface {v7}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$EditEventsListener;.onApplyChanges:()V // method@0413 │ │ +020b86: 5467 a702 |00cb: iget-object v7, v6, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$3;.this$0:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView; // field@02a7 │ │ +020b8a: 7110 1e04 0700 |00cd: invoke-static {v7}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;.access$700:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;)Landroid/app/Dialog; // method@041e │ │ +020b90: 0c07 |00d0: move-result-object v7 │ │ +020b92: 6e10 1600 0700 |00d1: invoke-virtual {v7}, Landroid/app/Dialog;.dismiss:()V // method@0016 │ │ +020b98: 0e00 |00d4: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=82 │ │ 0x0004 line=83 │ │ 0x0012 line=84 │ │ 0x001e line=85 │ │ 0x0030 line=86 │ │ @@ -22755,18 +22755,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 │ │ -020ba0: |[020ba0] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigEntryView$4.:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;)V │ │ -020bb0: 5b01 a902 |0000: iput-object v1, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$4;.this$0:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView; // field@02a9 │ │ -020bb4: 7010 7505 0000 |0002: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@0575 │ │ -020bba: 0e00 |0005: return-void │ │ +020b9c: |[020b9c] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigEntryView$4.:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;)V │ │ +020bac: 5b01 a902 |0000: iput-object v1, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$4;.this$0:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView; // field@02a9 │ │ +020bb0: 7010 7505 0000 |0002: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@0575 │ │ +020bb6: 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; │ │ │ │ @@ -22776,20 +22776,20 @@ │ │ type : '(Landroid/view/View;)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 2 │ │ outs : 1 │ │ insns size : 10 16-bit code units │ │ -020bbc: |[020bbc] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigEntryView$4.onClick:(Landroid/view/View;)V │ │ -020bcc: 5401 a902 |0000: iget-object v1, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$4;.this$0:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView; // field@02a9 │ │ -020bd0: 7110 1e04 0100 |0002: invoke-static {v1}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;.access$700:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;)Landroid/app/Dialog; // method@041e │ │ -020bd6: 0c01 |0005: move-result-object v1 │ │ -020bd8: 6e10 1500 0100 |0006: invoke-virtual {v1}, Landroid/app/Dialog;.cancel:()V // method@0015 │ │ -020bde: 0e00 |0009: return-void │ │ +020bb8: |[020bb8] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigEntryView$4.onClick:(Landroid/view/View;)V │ │ +020bc8: 5401 a902 |0000: iget-object v1, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$4;.this$0:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView; // field@02a9 │ │ +020bcc: 7110 1e04 0100 |0002: invoke-static {v1}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;.access$700:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;)Landroid/app/Dialog; // method@041e │ │ +020bd2: 0c01 |0005: move-result-object v1 │ │ +020bd4: 6e10 1500 0100 |0006: invoke-virtual {v1}, Landroid/app/Dialog;.cancel:()V // method@0015 │ │ +020bda: 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; │ │ │ │ @@ -22834,19 +22834,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 │ │ -020be0: |[020be0] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigEntryView$5.:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;)V │ │ -020bf0: 5b01 aa02 |0000: iput-object v1, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$5;.this$0:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView; // field@02aa │ │ -020bf4: 5b02 ab02 |0002: iput-object v2, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$5;.val$entry:Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry; // field@02ab │ │ -020bf8: 7010 7505 0000 |0004: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@0575 │ │ -020bfe: 0e00 |0007: return-void │ │ +020bdc: |[020bdc] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigEntryView$5.:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;)V │ │ +020bec: 5b01 aa02 |0000: iput-object v1, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$5;.this$0:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView; // field@02aa │ │ +020bf0: 5b02 ab02 |0002: iput-object v2, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$5;.val$entry:Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry; // field@02ab │ │ +020bf4: 7010 7505 0000 |0004: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@0575 │ │ +020bfa: 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; │ │ @@ -22857,25 +22857,25 @@ │ │ type : '(Landroid/view/View;)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 3 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 21 16-bit code units │ │ -020c00: |[020c00] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigEntryView$5.onClick:(Landroid/view/View;)V │ │ -020c10: 5412 aa02 |0000: iget-object v2, v1, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$5;.this$0:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView; // field@02aa │ │ -020c14: 7110 1e04 0200 |0002: invoke-static {v2}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;.access$700:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;)Landroid/app/Dialog; // method@041e │ │ -020c1a: 0c02 |0005: move-result-object v2 │ │ -020c1c: 6e10 1500 0200 |0006: invoke-virtual {v2}, Landroid/app/Dialog;.cancel:()V // method@0015 │ │ -020c22: 5412 aa02 |0009: iget-object v2, v1, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$5;.this$0:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView; // field@02aa │ │ -020c26: 7110 1804 0200 |000b: invoke-static {v2}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;.access$100:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;)Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$EditEventsListener; // method@0418 │ │ -020c2c: 0c02 |000e: move-result-object v2 │ │ -020c2e: 5410 ab02 |000f: iget-object v0, v1, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$5;.val$entry:Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry; // field@02ab │ │ -020c32: 7220 1404 0200 |0011: invoke-interface {v2, v0}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$EditEventsListener;.onDeleteItem:(Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;)V // method@0414 │ │ -020c38: 0e00 |0014: return-void │ │ +020bfc: |[020bfc] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigEntryView$5.onClick:(Landroid/view/View;)V │ │ +020c0c: 5412 aa02 |0000: iget-object v2, v1, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$5;.this$0:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView; // field@02aa │ │ +020c10: 7110 1e04 0200 |0002: invoke-static {v2}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;.access$700:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;)Landroid/app/Dialog; // method@041e │ │ +020c16: 0c02 |0005: move-result-object v2 │ │ +020c18: 6e10 1500 0200 |0006: invoke-virtual {v2}, Landroid/app/Dialog;.cancel:()V // method@0015 │ │ +020c1e: 5412 aa02 |0009: iget-object v2, v1, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$5;.this$0:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView; // field@02aa │ │ +020c22: 7110 1804 0200 |000b: invoke-static {v2}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;.access$100:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;)Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$EditEventsListener; // method@0418 │ │ +020c28: 0c02 |000e: move-result-object v2 │ │ +020c2a: 5410 ab02 |000f: iget-object v0, v1, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$5;.val$entry:Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry; // field@02ab │ │ +020c2e: 7220 1404 0200 |0011: invoke-interface {v2, v0}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$EditEventsListener;.onDeleteItem:(Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;)V // method@0414 │ │ +020c34: 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; │ │ @@ -22921,19 +22921,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 │ │ -020c3c: |[020c3c] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigEntryView$6.:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;)V │ │ -020c4c: 5b01 ac02 |0000: iput-object v1, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$6;.this$0:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView; // field@02ac │ │ -020c50: 5b02 ad02 |0002: iput-object v2, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$6;.val$entry:Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry; // field@02ad │ │ -020c54: 7010 7505 0000 |0004: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@0575 │ │ -020c5a: 0e00 |0007: return-void │ │ +020c38: |[020c38] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigEntryView$6.:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;)V │ │ +020c48: 5b01 ac02 |0000: iput-object v1, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$6;.this$0:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView; // field@02ac │ │ +020c4c: 5b02 ad02 |0002: iput-object v2, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$6;.val$entry:Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry; // field@02ad │ │ +020c50: 7010 7505 0000 |0004: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@0575 │ │ +020c56: 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; │ │ @@ -22944,20 +22944,20 @@ │ │ type : '(Landroid/content/DialogInterface;)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 3 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 11 16-bit code units │ │ -020c5c: |[020c5c] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigEntryView$6.onDismiss:(Landroid/content/DialogInterface;)V │ │ -020c6c: 5412 ad02 |0000: iget-object v2, v1, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$6;.val$entry:Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry; // field@02ad │ │ -020c70: 2200 da00 |0002: new-instance v0, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult; // type@00da │ │ -020c74: 7010 fe03 0000 |0004: invoke-direct {v0}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult;.:()V // method@03fe │ │ -020c7a: 6e20 5a04 0200 |0007: invoke-virtual {v2, v0}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.setValidationResult:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult;)V // method@045a │ │ -020c80: 0e00 |000a: return-void │ │ +020c58: |[020c58] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigEntryView$6.onDismiss:(Landroid/content/DialogInterface;)V │ │ +020c68: 5412 ad02 |0000: iget-object v2, v1, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$6;.val$entry:Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry; // field@02ad │ │ +020c6c: 2200 da00 |0002: new-instance v0, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult; // type@00da │ │ +020c70: 7010 fe03 0000 |0004: invoke-direct {v0}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult;.:()V // method@03fe │ │ +020c76: 6e20 5a04 0200 |0007: invoke-virtual {v2, v0}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.setValidationResult:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult;)V // method@045a │ │ +020c7c: 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; │ │ │ │ @@ -23074,70 +23074,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 │ │ -020d2c: |[020d2c] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigEntryView.:(Landroid/content/Context;Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$EditEventsListener;)V │ │ -020d3c: 7010 7505 0400 |0000: invoke-direct {v4}, Ljava/lang/Object;.:()V // method@0575 │ │ -020d42: 5b46 b602 |0003: iput-object v6, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;.listener:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$EditEventsListener; // field@02b6 │ │ -020d46: 2206 0b00 |0005: new-instance v6, Landroid/app/Dialog; // type@000b │ │ -020d4a: 1500 097f |0007: const/high16 v0, #int 2131296256 // #7f09 │ │ -020d4e: 7030 1400 5600 |0009: invoke-direct {v6, v5, v0}, Landroid/app/Dialog;.:(Landroid/content/Context;I)V // method@0014 │ │ -020d54: 5b46 b202 |000c: iput-object v6, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;.editEntryDialog:Landroid/app/Dialog; // field@02b2 │ │ -020d58: 1400 0400 067f |000e: const v0, #float 1.78117e+38 // #7f060004 │ │ -020d5e: 6e20 1b00 0600 |0011: invoke-virtual {v6, v0}, Landroid/app/Dialog;.setContentView:(I)V // method@001b │ │ -020d64: 1400 2300 057f |0014: const v0, #float 1.76788e+38 // #7f050023 │ │ -020d6a: 6e20 1700 0600 |0017: invoke-virtual {v6, v0}, Landroid/app/Dialog;.findViewById:(I)Landroid/view/View; // method@0017 │ │ -020d70: 0c00 |001a: move-result-object v0 │ │ -020d72: 1f00 6700 |001b: check-cast v0, Landroid/widget/EditText; // type@0067 │ │ -020d76: 5b40 b302 |001d: iput-object v0, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;.editIpView:Landroid/widget/EditText; // field@02b3 │ │ -020d7a: 1400 2400 057f |001f: const v0, #float 1.76788e+38 // #7f050024 │ │ -020d80: 6e20 1700 0600 |0022: invoke-virtual {v6, v0}, Landroid/app/Dialog;.findViewById:(I)Landroid/view/View; // method@0017 │ │ -020d86: 0c00 |0025: move-result-object v0 │ │ -020d88: 1f00 6700 |0026: check-cast v0, Landroid/widget/EditText; // type@0067 │ │ -020d8c: 5b40 b402 |0028: iput-object v0, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;.editPortView:Landroid/widget/EditText; // field@02b4 │ │ -020d90: 1400 2000 057f |002a: const v0, #float 1.76788e+38 // #7f050020 │ │ -020d96: 6e20 1700 0600 |002d: invoke-virtual {v6, v0}, Landroid/app/Dialog;.findViewById:(I)Landroid/view/View; // method@0017 │ │ -020d9c: 0c00 |0030: move-result-object v0 │ │ -020d9e: 1f00 6700 |0031: check-cast v0, Landroid/widget/EditText; // type@0067 │ │ -020da2: 5b40 b102 |0033: iput-object v0, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;.editEndpointView:Landroid/widget/EditText; // field@02b1 │ │ -020da6: 1400 2500 057f |0035: const v0, #float 1.76788e+38 // #7f050025 │ │ -020dac: 6e20 1700 0600 |0038: invoke-virtual {v6, v0}, Landroid/app/Dialog;.findViewById:(I)Landroid/view/View; // method@0017 │ │ -020db2: 0c00 |003b: move-result-object v0 │ │ -020db4: 1f00 6f00 |003c: check-cast v0, Landroid/widget/Spinner; // type@006f │ │ -020db8: 5b40 b502 |003e: iput-object v0, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;.editProtocolSpinner:Landroid/widget/Spinner; // field@02b5 │ │ -020dbc: 1401 1e00 057f |0040: const v1, #float 1.76788e+38 // #7f05001e │ │ -020dc2: 6e20 1700 1600 |0043: invoke-virtual {v6, v1}, Landroid/app/Dialog;.findViewById:(I)Landroid/view/View; // method@0017 │ │ -020dc8: 0c01 |0046: move-result-object v1 │ │ -020dca: 1f01 6300 |0047: check-cast v1, Landroid/widget/Button; // type@0063 │ │ -020dce: 5b41 ae02 |0049: iput-object v1, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;.applyChangesButton:Landroid/widget/Button; // field@02ae │ │ -020dd2: 1401 1f00 057f |004b: const v1, #float 1.76788e+38 // #7f05001f │ │ -020dd8: 6e20 1700 1600 |004e: invoke-virtual {v6, v1}, Landroid/app/Dialog;.findViewById:(I)Landroid/view/View; // method@0017 │ │ -020dde: 0c01 |0051: move-result-object v1 │ │ -020de0: 1f01 6300 |0052: check-cast v1, Landroid/widget/Button; // type@0063 │ │ -020de4: 5b41 af02 |0054: iput-object v1, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;.cancelChangesButton:Landroid/widget/Button; // field@02af │ │ -020de8: 1401 1a00 057f |0056: const v1, #float 1.76788e+38 // #7f05001a │ │ -020dee: 6e20 1700 1600 |0059: invoke-virtual {v6, v1}, Landroid/app/Dialog;.findViewById:(I)Landroid/view/View; // method@0017 │ │ -020df4: 0c01 |005c: move-result-object v1 │ │ -020df6: 1f01 6300 |005d: check-cast v1, Landroid/widget/Button; // type@0063 │ │ -020dfa: 5b41 b002 |005f: iput-object v1, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;.deleteEntryButton:Landroid/widget/Button; // field@02b0 │ │ -020dfe: 2201 6200 |0061: new-instance v1, Landroid/widget/ArrayAdapter; // type@0062 │ │ -020e02: 1402 0e00 067f |0063: const v2, #float 1.78117e+38 // #7f06000e │ │ -020e08: 7100 3604 0000 |0066: invoke-static {}, Ldnsfilter/android/dnsserverconfig/widget/DNSType;.values:()[Ldnsfilter/android/dnsserverconfig/widget/DNSType; // method@0436 │ │ -020e0e: 0c03 |0069: move-result-object v3 │ │ -020e10: 7040 c200 5132 |006a: invoke-direct {v1, v5, v2, v3}, Landroid/widget/ArrayAdapter;.:(Landroid/content/Context;I[Ljava/lang/Object;)V // method@00c2 │ │ -020e16: 6e20 f700 1000 |006d: invoke-virtual {v0, v1}, Landroid/widget/Spinner;.setAdapter:(Landroid/widget/SpinnerAdapter;)V // method@00f7 │ │ -020e1c: 1400 1000 087f |0070: const v0, #float 1.80775e+38 // #7f080010 │ │ -020e22: 6e20 2000 0600 |0073: invoke-virtual {v6, v0}, Landroid/app/Dialog;.setTitle:(I)V // method@0020 │ │ -020e28: 2206 ca00 |0076: new-instance v6, Ldnsfilter/android/dnsserverconfig/widget/DNSConfigEntryValidator; // type@00ca │ │ -020e2c: 7020 b903 5600 |0078: invoke-direct {v6, v5}, Ldnsfilter/android/dnsserverconfig/widget/DNSConfigEntryValidator;.:(Landroid/content/Context;)V // method@03b9 │ │ -020e32: 5b46 b702 |007b: iput-object v6, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;.validator:Ldnsfilter/android/dnsserverconfig/widget/DNSConfigEntryValidator; // field@02b7 │ │ -020e36: 0e00 |007d: return-void │ │ +020d28: |[020d28] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigEntryView.:(Landroid/content/Context;Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$EditEventsListener;)V │ │ +020d38: 7010 7505 0400 |0000: invoke-direct {v4}, Ljava/lang/Object;.:()V // method@0575 │ │ +020d3e: 5b46 b602 |0003: iput-object v6, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;.listener:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$EditEventsListener; // field@02b6 │ │ +020d42: 2206 0b00 |0005: new-instance v6, Landroid/app/Dialog; // type@000b │ │ +020d46: 1500 097f |0007: const/high16 v0, #int 2131296256 // #7f09 │ │ +020d4a: 7030 1400 5600 |0009: invoke-direct {v6, v5, v0}, Landroid/app/Dialog;.:(Landroid/content/Context;I)V // method@0014 │ │ +020d50: 5b46 b202 |000c: iput-object v6, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;.editEntryDialog:Landroid/app/Dialog; // field@02b2 │ │ +020d54: 1400 0400 067f |000e: const v0, #float 1.78117e+38 // #7f060004 │ │ +020d5a: 6e20 1b00 0600 |0011: invoke-virtual {v6, v0}, Landroid/app/Dialog;.setContentView:(I)V // method@001b │ │ +020d60: 1400 2300 057f |0014: const v0, #float 1.76788e+38 // #7f050023 │ │ +020d66: 6e20 1700 0600 |0017: invoke-virtual {v6, v0}, Landroid/app/Dialog;.findViewById:(I)Landroid/view/View; // method@0017 │ │ +020d6c: 0c00 |001a: move-result-object v0 │ │ +020d6e: 1f00 6700 |001b: check-cast v0, Landroid/widget/EditText; // type@0067 │ │ +020d72: 5b40 b302 |001d: iput-object v0, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;.editIpView:Landroid/widget/EditText; // field@02b3 │ │ +020d76: 1400 2400 057f |001f: const v0, #float 1.76788e+38 // #7f050024 │ │ +020d7c: 6e20 1700 0600 |0022: invoke-virtual {v6, v0}, Landroid/app/Dialog;.findViewById:(I)Landroid/view/View; // method@0017 │ │ +020d82: 0c00 |0025: move-result-object v0 │ │ +020d84: 1f00 6700 |0026: check-cast v0, Landroid/widget/EditText; // type@0067 │ │ +020d88: 5b40 b402 |0028: iput-object v0, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;.editPortView:Landroid/widget/EditText; // field@02b4 │ │ +020d8c: 1400 2000 057f |002a: const v0, #float 1.76788e+38 // #7f050020 │ │ +020d92: 6e20 1700 0600 |002d: invoke-virtual {v6, v0}, Landroid/app/Dialog;.findViewById:(I)Landroid/view/View; // method@0017 │ │ +020d98: 0c00 |0030: move-result-object v0 │ │ +020d9a: 1f00 6700 |0031: check-cast v0, Landroid/widget/EditText; // type@0067 │ │ +020d9e: 5b40 b102 |0033: iput-object v0, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;.editEndpointView:Landroid/widget/EditText; // field@02b1 │ │ +020da2: 1400 2500 057f |0035: const v0, #float 1.76788e+38 // #7f050025 │ │ +020da8: 6e20 1700 0600 |0038: invoke-virtual {v6, v0}, Landroid/app/Dialog;.findViewById:(I)Landroid/view/View; // method@0017 │ │ +020dae: 0c00 |003b: move-result-object v0 │ │ +020db0: 1f00 6f00 |003c: check-cast v0, Landroid/widget/Spinner; // type@006f │ │ +020db4: 5b40 b502 |003e: iput-object v0, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;.editProtocolSpinner:Landroid/widget/Spinner; // field@02b5 │ │ +020db8: 1401 1e00 057f |0040: const v1, #float 1.76788e+38 // #7f05001e │ │ +020dbe: 6e20 1700 1600 |0043: invoke-virtual {v6, v1}, Landroid/app/Dialog;.findViewById:(I)Landroid/view/View; // method@0017 │ │ +020dc4: 0c01 |0046: move-result-object v1 │ │ +020dc6: 1f01 6300 |0047: check-cast v1, Landroid/widget/Button; // type@0063 │ │ +020dca: 5b41 ae02 |0049: iput-object v1, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;.applyChangesButton:Landroid/widget/Button; // field@02ae │ │ +020dce: 1401 1f00 057f |004b: const v1, #float 1.76788e+38 // #7f05001f │ │ +020dd4: 6e20 1700 1600 |004e: invoke-virtual {v6, v1}, Landroid/app/Dialog;.findViewById:(I)Landroid/view/View; // method@0017 │ │ +020dda: 0c01 |0051: move-result-object v1 │ │ +020ddc: 1f01 6300 |0052: check-cast v1, Landroid/widget/Button; // type@0063 │ │ +020de0: 5b41 af02 |0054: iput-object v1, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;.cancelChangesButton:Landroid/widget/Button; // field@02af │ │ +020de4: 1401 1a00 057f |0056: const v1, #float 1.76788e+38 // #7f05001a │ │ +020dea: 6e20 1700 1600 |0059: invoke-virtual {v6, v1}, Landroid/app/Dialog;.findViewById:(I)Landroid/view/View; // method@0017 │ │ +020df0: 0c01 |005c: move-result-object v1 │ │ +020df2: 1f01 6300 |005d: check-cast v1, Landroid/widget/Button; // type@0063 │ │ +020df6: 5b41 b002 |005f: iput-object v1, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;.deleteEntryButton:Landroid/widget/Button; // field@02b0 │ │ +020dfa: 2201 6200 |0061: new-instance v1, Landroid/widget/ArrayAdapter; // type@0062 │ │ +020dfe: 1402 0e00 067f |0063: const v2, #float 1.78117e+38 // #7f06000e │ │ +020e04: 7100 3604 0000 |0066: invoke-static {}, Ldnsfilter/android/dnsserverconfig/widget/DNSType;.values:()[Ldnsfilter/android/dnsserverconfig/widget/DNSType; // method@0436 │ │ +020e0a: 0c03 |0069: move-result-object v3 │ │ +020e0c: 7040 c200 5132 |006a: invoke-direct {v1, v5, v2, v3}, Landroid/widget/ArrayAdapter;.:(Landroid/content/Context;I[Ljava/lang/Object;)V // method@00c2 │ │ +020e12: 6e20 f700 1000 |006d: invoke-virtual {v0, v1}, Landroid/widget/Spinner;.setAdapter:(Landroid/widget/SpinnerAdapter;)V // method@00f7 │ │ +020e18: 1400 1000 087f |0070: const v0, #float 1.80775e+38 // #7f080010 │ │ +020e1e: 6e20 2000 0600 |0073: invoke-virtual {v6, v0}, Landroid/app/Dialog;.setTitle:(I)V // method@0020 │ │ +020e24: 2206 ca00 |0076: new-instance v6, Ldnsfilter/android/dnsserverconfig/widget/DNSConfigEntryValidator; // type@00ca │ │ +020e28: 7020 b903 5600 |0078: invoke-direct {v6, v5}, Ldnsfilter/android/dnsserverconfig/widget/DNSConfigEntryValidator;.:(Landroid/content/Context;)V // method@03b9 │ │ +020e2e: 5b46 b702 |007b: iput-object v6, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;.validator:Ldnsfilter/android/dnsserverconfig/widget/DNSConfigEntryValidator; // field@02b7 │ │ +020e32: 0e00 |007d: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=30 │ │ 0x0003 line=31 │ │ 0x0005 line=32 │ │ 0x0011 line=33 │ │ 0x0017 line=34 │ │ @@ -23162,17 +23162,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 │ │ -020c9c: |[020c9c] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigEntryView.access$000:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;)Landroid/widget/EditText; │ │ -020cac: 5400 b402 |0000: iget-object v0, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;.editPortView:Landroid/widget/EditText; // field@02b4 │ │ -020cb0: 1100 |0002: return-object v0 │ │ +020c98: |[020c98] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigEntryView.access$000:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;)Landroid/widget/EditText; │ │ +020ca8: 5400 b402 |0000: iget-object v0, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;.editPortView:Landroid/widget/EditText; // field@02b4 │ │ +020cac: 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;) │ │ @@ -23180,17 +23180,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 │ │ -020d14: |[020d14] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigEntryView.access$100:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;)Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$EditEventsListener; │ │ -020d24: 5400 b602 |0000: iget-object v0, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;.listener:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$EditEventsListener; // field@02b6 │ │ -020d28: 1100 |0002: return-object v0 │ │ +020d10: |[020d10] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigEntryView.access$100:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;)Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$EditEventsListener; │ │ +020d20: 5400 b602 |0000: iget-object v0, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;.listener:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$EditEventsListener; // field@02b6 │ │ +020d24: 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;) │ │ @@ -23198,17 +23198,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 │ │ -020cb4: |[020cb4] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigEntryView.access$200:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;)Landroid/widget/EditText; │ │ -020cc4: 5400 b302 |0000: iget-object v0, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;.editIpView:Landroid/widget/EditText; // field@02b3 │ │ -020cc8: 1100 |0002: return-object v0 │ │ +020cb0: |[020cb0] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigEntryView.access$200:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;)Landroid/widget/EditText; │ │ +020cc0: 5400 b302 |0000: iget-object v0, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;.editIpView:Landroid/widget/EditText; // field@02b3 │ │ +020cc4: 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;) │ │ @@ -23216,17 +23216,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 │ │ -020ce4: |[020ce4] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigEntryView.access$300:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;)Landroid/widget/Spinner; │ │ -020cf4: 5400 b502 |0000: iget-object v0, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;.editProtocolSpinner:Landroid/widget/Spinner; // field@02b5 │ │ -020cf8: 1100 |0002: return-object v0 │ │ +020ce0: |[020ce0] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigEntryView.access$300:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;)Landroid/widget/Spinner; │ │ +020cf0: 5400 b502 |0000: iget-object v0, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;.editProtocolSpinner:Landroid/widget/Spinner; // field@02b5 │ │ +020cf4: 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;) │ │ @@ -23234,17 +23234,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 │ │ -020ccc: |[020ccc] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigEntryView.access$400:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;)Landroid/widget/EditText; │ │ -020cdc: 5400 b102 |0000: iget-object v0, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;.editEndpointView:Landroid/widget/EditText; // field@02b1 │ │ -020ce0: 1100 |0002: return-object v0 │ │ +020cc8: |[020cc8] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigEntryView.access$400:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;)Landroid/widget/EditText; │ │ +020cd8: 5400 b102 |0000: iget-object v0, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;.editEndpointView:Landroid/widget/EditText; // field@02b1 │ │ +020cdc: 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;) │ │ @@ -23252,17 +23252,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 │ │ -020cfc: |[020cfc] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigEntryView.access$500:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;)Ldnsfilter/android/dnsserverconfig/widget/DNSConfigEntryValidator; │ │ -020d0c: 5400 b702 |0000: iget-object v0, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;.validator:Ldnsfilter/android/dnsserverconfig/widget/DNSConfigEntryValidator; // field@02b7 │ │ -020d10: 1100 |0002: return-object v0 │ │ +020cf8: |[020cf8] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigEntryView.access$500:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;)Ldnsfilter/android/dnsserverconfig/widget/DNSConfigEntryValidator; │ │ +020d08: 5400 b702 |0000: iget-object v0, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;.validator:Ldnsfilter/android/dnsserverconfig/widget/DNSConfigEntryValidator; // field@02b7 │ │ +020d0c: 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;) │ │ @@ -23270,17 +23270,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 │ │ -020e38: |[020e38] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigEntryView.access$600:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult;)V │ │ -020e48: 7020 1f04 1000 |0000: invoke-direct {v0, v1}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;.setupErrors:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult;)V // method@041f │ │ -020e4e: 0e00 |0003: return-void │ │ +020e34: |[020e34] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigEntryView.access$600:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult;)V │ │ +020e44: 7020 1f04 1000 |0000: invoke-direct {v0, v1}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;.setupErrors:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult;)V // method@041f │ │ +020e4a: 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; │ │ │ │ @@ -23289,17 +23289,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 │ │ -020c84: |[020c84] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigEntryView.access$700:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;)Landroid/app/Dialog; │ │ -020c94: 5400 b202 |0000: iget-object v0, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;.editEntryDialog:Landroid/app/Dialog; // field@02b2 │ │ -020c98: 1100 |0002: return-object v0 │ │ +020c80: |[020c80] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigEntryView.access$700:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;)Landroid/app/Dialog; │ │ +020c90: 5400 b202 |0000: iget-object v0, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;.editEntryDialog:Landroid/app/Dialog; // field@02b2 │ │ +020c94: 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;) │ │ @@ -23307,47 +23307,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 │ │ -020e50: |[020e50] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigEntryView.setupErrors:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult;)V │ │ -020e60: 6e10 0004 0400 |0000: invoke-virtual {v4}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult;.getIpError:()Ljava/lang/String; // method@0400 │ │ -020e66: 0c00 |0003: move-result-object v0 │ │ -020e68: 1201 |0004: const/4 v1, #int 0 // #0 │ │ -020e6a: 3800 1600 |0005: if-eqz v0, 001b // +0016 │ │ -020e6e: 6e10 0004 0400 |0007: invoke-virtual {v4}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult;.getIpError:()Ljava/lang/String; // method@0400 │ │ -020e74: 0c00 |000a: move-result-object v0 │ │ -020e76: 6e10 9305 0000 |000b: invoke-virtual {v0}, Ljava/lang/String;.isEmpty:()Z // method@0593 │ │ -020e7c: 0a00 |000e: move-result v0 │ │ -020e7e: 3900 0c00 |000f: if-nez v0, 001b // +000c │ │ -020e82: 5430 b302 |0011: iget-object v0, v3, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;.editIpView:Landroid/widget/EditText; // field@02b3 │ │ -020e86: 6e10 0004 0400 |0013: invoke-virtual {v4}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult;.getIpError:()Ljava/lang/String; // method@0400 │ │ -020e8c: 0c02 |0016: move-result-object v2 │ │ -020e8e: 6e20 de00 2000 |0017: invoke-virtual {v0, v2}, Landroid/widget/EditText;.setError:(Ljava/lang/CharSequence;)V // method@00de │ │ -020e94: 2806 |001a: goto 0020 // +0006 │ │ -020e96: 5430 b302 |001b: iget-object v0, v3, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;.editIpView:Landroid/widget/EditText; // field@02b3 │ │ -020e9a: 6e20 de00 1000 |001d: invoke-virtual {v0, v1}, Landroid/widget/EditText;.setError:(Ljava/lang/CharSequence;)V // method@00de │ │ -020ea0: 6e10 0104 0400 |0020: invoke-virtual {v4}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult;.getPortError:()Ljava/lang/String; // method@0401 │ │ -020ea6: 0c00 |0023: move-result-object v0 │ │ -020ea8: 3800 1600 |0024: if-eqz v0, 003a // +0016 │ │ -020eac: 6e10 0104 0400 |0026: invoke-virtual {v4}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult;.getPortError:()Ljava/lang/String; // method@0401 │ │ -020eb2: 0c00 |0029: move-result-object v0 │ │ -020eb4: 6e10 9305 0000 |002a: invoke-virtual {v0}, Ljava/lang/String;.isEmpty:()Z // method@0593 │ │ -020eba: 0a00 |002d: move-result v0 │ │ -020ebc: 3900 0c00 |002e: if-nez v0, 003a // +000c │ │ -020ec0: 5430 b402 |0030: iget-object v0, v3, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;.editPortView:Landroid/widget/EditText; // field@02b4 │ │ -020ec4: 6e10 0104 0400 |0032: invoke-virtual {v4}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult;.getPortError:()Ljava/lang/String; // method@0401 │ │ -020eca: 0c04 |0035: move-result-object v4 │ │ -020ecc: 6e20 de00 4000 |0036: invoke-virtual {v0, v4}, Landroid/widget/EditText;.setError:(Ljava/lang/CharSequence;)V // method@00de │ │ -020ed2: 2806 |0039: goto 003f // +0006 │ │ -020ed4: 5434 b402 |003a: iget-object v4, v3, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;.editPortView:Landroid/widget/EditText; // field@02b4 │ │ -020ed8: 6e20 de00 1400 |003c: invoke-virtual {v4, v1}, Landroid/widget/EditText;.setError:(Ljava/lang/CharSequence;)V // method@00de │ │ -020ede: 0e00 |003f: return-void │ │ +020e4c: |[020e4c] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigEntryView.setupErrors:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult;)V │ │ +020e5c: 6e10 0004 0400 |0000: invoke-virtual {v4}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult;.getIpError:()Ljava/lang/String; // method@0400 │ │ +020e62: 0c00 |0003: move-result-object v0 │ │ +020e64: 1201 |0004: const/4 v1, #int 0 // #0 │ │ +020e66: 3800 1600 |0005: if-eqz v0, 001b // +0016 │ │ +020e6a: 6e10 0004 0400 |0007: invoke-virtual {v4}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult;.getIpError:()Ljava/lang/String; // method@0400 │ │ +020e70: 0c00 |000a: move-result-object v0 │ │ +020e72: 6e10 9305 0000 |000b: invoke-virtual {v0}, Ljava/lang/String;.isEmpty:()Z // method@0593 │ │ +020e78: 0a00 |000e: move-result v0 │ │ +020e7a: 3900 0c00 |000f: if-nez v0, 001b // +000c │ │ +020e7e: 5430 b302 |0011: iget-object v0, v3, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;.editIpView:Landroid/widget/EditText; // field@02b3 │ │ +020e82: 6e10 0004 0400 |0013: invoke-virtual {v4}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult;.getIpError:()Ljava/lang/String; // method@0400 │ │ +020e88: 0c02 |0016: move-result-object v2 │ │ +020e8a: 6e20 de00 2000 |0017: invoke-virtual {v0, v2}, Landroid/widget/EditText;.setError:(Ljava/lang/CharSequence;)V // method@00de │ │ +020e90: 2806 |001a: goto 0020 // +0006 │ │ +020e92: 5430 b302 |001b: iget-object v0, v3, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;.editIpView:Landroid/widget/EditText; // field@02b3 │ │ +020e96: 6e20 de00 1000 |001d: invoke-virtual {v0, v1}, Landroid/widget/EditText;.setError:(Ljava/lang/CharSequence;)V // method@00de │ │ +020e9c: 6e10 0104 0400 |0020: invoke-virtual {v4}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult;.getPortError:()Ljava/lang/String; // method@0401 │ │ +020ea2: 0c00 |0023: move-result-object v0 │ │ +020ea4: 3800 1600 |0024: if-eqz v0, 003a // +0016 │ │ +020ea8: 6e10 0104 0400 |0026: invoke-virtual {v4}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult;.getPortError:()Ljava/lang/String; // method@0401 │ │ +020eae: 0c00 |0029: move-result-object v0 │ │ +020eb0: 6e10 9305 0000 |002a: invoke-virtual {v0}, Ljava/lang/String;.isEmpty:()Z // method@0593 │ │ +020eb6: 0a00 |002d: move-result v0 │ │ +020eb8: 3900 0c00 |002e: if-nez v0, 003a // +000c │ │ +020ebc: 5430 b402 |0030: iget-object v0, v3, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;.editPortView:Landroid/widget/EditText; // field@02b4 │ │ +020ec0: 6e10 0104 0400 |0032: invoke-virtual {v4}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult;.getPortError:()Ljava/lang/String; // method@0401 │ │ +020ec6: 0c04 |0035: move-result-object v4 │ │ +020ec8: 6e20 de00 4000 |0036: invoke-virtual {v0, v4}, Landroid/widget/EditText;.setError:(Ljava/lang/CharSequence;)V // method@00de │ │ +020ece: 2806 |0039: goto 003f // +0006 │ │ +020ed0: 5434 b402 |003a: iget-object v4, v3, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;.editPortView:Landroid/widget/EditText; // field@02b4 │ │ +020ed4: 6e20 de00 1400 |003c: invoke-virtual {v4, v1}, Landroid/widget/EditText;.setError:(Ljava/lang/CharSequence;)V // method@00de │ │ +020eda: 0e00 |003f: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=128 │ │ 0x0011 line=129 │ │ 0x001b line=131 │ │ 0x0020 line=133 │ │ 0x0030 line=134 │ │ @@ -23362,60 +23362,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 │ │ -020ee0: |[020ee0] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigEntryView.showEntry:(Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;Z)V │ │ -020ef0: 5420 b302 |0000: iget-object v0, v2, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;.editIpView:Landroid/widget/EditText; // field@02b3 │ │ -020ef4: 6e10 4c04 0300 |0002: invoke-virtual {v3}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.getIp:()Ljava/lang/String; // method@044c │ │ -020efa: 0c01 |0005: move-result-object v1 │ │ -020efc: 6e20 e600 1000 |0006: invoke-virtual {v0, v1}, Landroid/widget/EditText;.setText:(Ljava/lang/CharSequence;)V // method@00e6 │ │ -020f02: 5420 b402 |0009: iget-object v0, v2, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;.editPortView:Landroid/widget/EditText; // field@02b4 │ │ -020f06: 6e10 4f04 0300 |000b: invoke-virtual {v3}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.getPort:()Ljava/lang/String; // method@044f │ │ -020f0c: 0c01 |000e: move-result-object v1 │ │ -020f0e: 6e20 e600 1000 |000f: invoke-virtual {v0, v1}, Landroid/widget/EditText;.setText:(Ljava/lang/CharSequence;)V // method@00e6 │ │ -020f14: 5420 b102 |0012: iget-object v0, v2, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;.editEndpointView:Landroid/widget/EditText; // field@02b1 │ │ -020f18: 6e10 4a04 0300 |0014: invoke-virtual {v3}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.getEndpoint:()Ljava/lang/String; // method@044a │ │ -020f1e: 0c01 |0017: move-result-object v1 │ │ -020f20: 6e20 e600 1000 |0018: invoke-virtual {v0, v1}, Landroid/widget/EditText;.setText:(Ljava/lang/CharSequence;)V // method@00e6 │ │ -020f26: 5420 b502 |001b: iget-object v0, v2, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;.editProtocolSpinner:Landroid/widget/Spinner; // field@02b5 │ │ -020f2a: 6e10 5004 0300 |001d: invoke-virtual {v3}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.getProtocol:()Ldnsfilter/android/dnsserverconfig/widget/DNSType; // method@0450 │ │ -020f30: 0c01 |0020: move-result-object v1 │ │ -020f32: 6e10 3304 0100 |0021: invoke-virtual {v1}, Ldnsfilter/android/dnsserverconfig/widget/DNSType;.ordinal:()I // method@0433 │ │ -020f38: 0a01 |0024: move-result v1 │ │ -020f3a: 6e20 f900 1000 |0025: invoke-virtual {v0, v1}, Landroid/widget/Spinner;.setSelection:(I)V // method@00f9 │ │ -020f40: 5420 b502 |0028: iget-object v0, v2, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;.editProtocolSpinner:Landroid/widget/Spinner; // field@02b5 │ │ -020f44: 2201 db00 |002a: new-instance v1, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$1; // type@00db │ │ -020f48: 7020 0604 2100 |002c: invoke-direct {v1, v2}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$1;.:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;)V // method@0406 │ │ -020f4e: 6e20 f800 1000 |002f: invoke-virtual {v0, v1}, Landroid/widget/Spinner;.setOnItemSelectedListener:(Landroid/widget/AdapterView$OnItemSelectedListener;)V // method@00f8 │ │ -020f54: 5420 b202 |0032: iget-object v0, v2, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;.editEntryDialog:Landroid/app/Dialog; // field@02b2 │ │ -020f58: 2201 dc00 |0034: new-instance v1, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$2; // type@00dc │ │ -020f5c: 7040 0904 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@0409 │ │ -020f62: 6e20 1d00 1000 |0039: invoke-virtual {v0, v1}, Landroid/app/Dialog;.setOnCancelListener:(Landroid/content/DialogInterface$OnCancelListener;)V // method@001d │ │ -020f68: 5424 b202 |003c: iget-object v4, v2, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;.editEntryDialog:Landroid/app/Dialog; // field@02b2 │ │ -020f6c: 6e10 2200 0400 |003e: invoke-virtual {v4}, Landroid/app/Dialog;.show:()V // method@0022 │ │ -020f72: 5424 ae02 |0041: iget-object v4, v2, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;.applyChangesButton:Landroid/widget/Button; // field@02ae │ │ -020f76: 2200 dd00 |0043: new-instance v0, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$3; // type@00dd │ │ -020f7a: 7030 0b04 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@040b │ │ -020f80: 6e20 c500 0400 |0048: invoke-virtual {v4, v0}, Landroid/widget/Button;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@00c5 │ │ -020f86: 5424 af02 |004b: iget-object v4, v2, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;.cancelChangesButton:Landroid/widget/Button; // field@02af │ │ -020f8a: 2200 de00 |004d: new-instance v0, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$4; // type@00de │ │ -020f8e: 7020 0d04 2000 |004f: invoke-direct {v0, v2}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$4;.:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;)V // method@040d │ │ -020f94: 6e20 c500 0400 |0052: invoke-virtual {v4, v0}, Landroid/widget/Button;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@00c5 │ │ -020f9a: 5424 b002 |0055: iget-object v4, v2, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;.deleteEntryButton:Landroid/widget/Button; // field@02b0 │ │ -020f9e: 2200 df00 |0057: new-instance v0, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$5; // type@00df │ │ -020fa2: 7030 0f04 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@040f │ │ -020fa8: 6e20 c500 0400 |005c: invoke-virtual {v4, v0}, Landroid/widget/Button;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@00c5 │ │ -020fae: 5424 b202 |005f: iget-object v4, v2, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;.editEntryDialog:Landroid/app/Dialog; // field@02b2 │ │ -020fb2: 2200 e000 |0061: new-instance v0, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$6; // type@00e0 │ │ -020fb6: 7030 1104 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@0411 │ │ -020fbc: 6e20 1e00 0400 |0066: invoke-virtual {v4, v0}, Landroid/app/Dialog;.setOnDismissListener:(Landroid/content/DialogInterface$OnDismissListener;)V // method@001e │ │ -020fc2: 0e00 |0069: return-void │ │ +020edc: |[020edc] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigEntryView.showEntry:(Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;Z)V │ │ +020eec: 5420 b302 |0000: iget-object v0, v2, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;.editIpView:Landroid/widget/EditText; // field@02b3 │ │ +020ef0: 6e10 4c04 0300 |0002: invoke-virtual {v3}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.getIp:()Ljava/lang/String; // method@044c │ │ +020ef6: 0c01 |0005: move-result-object v1 │ │ +020ef8: 6e20 e600 1000 |0006: invoke-virtual {v0, v1}, Landroid/widget/EditText;.setText:(Ljava/lang/CharSequence;)V // method@00e6 │ │ +020efe: 5420 b402 |0009: iget-object v0, v2, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;.editPortView:Landroid/widget/EditText; // field@02b4 │ │ +020f02: 6e10 4f04 0300 |000b: invoke-virtual {v3}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.getPort:()Ljava/lang/String; // method@044f │ │ +020f08: 0c01 |000e: move-result-object v1 │ │ +020f0a: 6e20 e600 1000 |000f: invoke-virtual {v0, v1}, Landroid/widget/EditText;.setText:(Ljava/lang/CharSequence;)V // method@00e6 │ │ +020f10: 5420 b102 |0012: iget-object v0, v2, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;.editEndpointView:Landroid/widget/EditText; // field@02b1 │ │ +020f14: 6e10 4a04 0300 |0014: invoke-virtual {v3}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.getEndpoint:()Ljava/lang/String; // method@044a │ │ +020f1a: 0c01 |0017: move-result-object v1 │ │ +020f1c: 6e20 e600 1000 |0018: invoke-virtual {v0, v1}, Landroid/widget/EditText;.setText:(Ljava/lang/CharSequence;)V // method@00e6 │ │ +020f22: 5420 b502 |001b: iget-object v0, v2, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;.editProtocolSpinner:Landroid/widget/Spinner; // field@02b5 │ │ +020f26: 6e10 5004 0300 |001d: invoke-virtual {v3}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.getProtocol:()Ldnsfilter/android/dnsserverconfig/widget/DNSType; // method@0450 │ │ +020f2c: 0c01 |0020: move-result-object v1 │ │ +020f2e: 6e10 3304 0100 |0021: invoke-virtual {v1}, Ldnsfilter/android/dnsserverconfig/widget/DNSType;.ordinal:()I // method@0433 │ │ +020f34: 0a01 |0024: move-result v1 │ │ +020f36: 6e20 f900 1000 |0025: invoke-virtual {v0, v1}, Landroid/widget/Spinner;.setSelection:(I)V // method@00f9 │ │ +020f3c: 5420 b502 |0028: iget-object v0, v2, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;.editProtocolSpinner:Landroid/widget/Spinner; // field@02b5 │ │ +020f40: 2201 db00 |002a: new-instance v1, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$1; // type@00db │ │ +020f44: 7020 0604 2100 |002c: invoke-direct {v1, v2}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$1;.:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;)V // method@0406 │ │ +020f4a: 6e20 f800 1000 |002f: invoke-virtual {v0, v1}, Landroid/widget/Spinner;.setOnItemSelectedListener:(Landroid/widget/AdapterView$OnItemSelectedListener;)V // method@00f8 │ │ +020f50: 5420 b202 |0032: iget-object v0, v2, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;.editEntryDialog:Landroid/app/Dialog; // field@02b2 │ │ +020f54: 2201 dc00 |0034: new-instance v1, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$2; // type@00dc │ │ +020f58: 7040 0904 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@0409 │ │ +020f5e: 6e20 1d00 1000 |0039: invoke-virtual {v0, v1}, Landroid/app/Dialog;.setOnCancelListener:(Landroid/content/DialogInterface$OnCancelListener;)V // method@001d │ │ +020f64: 5424 b202 |003c: iget-object v4, v2, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;.editEntryDialog:Landroid/app/Dialog; // field@02b2 │ │ +020f68: 6e10 2200 0400 |003e: invoke-virtual {v4}, Landroid/app/Dialog;.show:()V // method@0022 │ │ +020f6e: 5424 ae02 |0041: iget-object v4, v2, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;.applyChangesButton:Landroid/widget/Button; // field@02ae │ │ +020f72: 2200 dd00 |0043: new-instance v0, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$3; // type@00dd │ │ +020f76: 7030 0b04 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@040b │ │ +020f7c: 6e20 c500 0400 |0048: invoke-virtual {v4, v0}, Landroid/widget/Button;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@00c5 │ │ +020f82: 5424 af02 |004b: iget-object v4, v2, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;.cancelChangesButton:Landroid/widget/Button; // field@02af │ │ +020f86: 2200 de00 |004d: new-instance v0, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$4; // type@00de │ │ +020f8a: 7020 0d04 2000 |004f: invoke-direct {v0, v2}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$4;.:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;)V // method@040d │ │ +020f90: 6e20 c500 0400 |0052: invoke-virtual {v4, v0}, Landroid/widget/Button;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@00c5 │ │ +020f96: 5424 b002 |0055: iget-object v4, v2, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;.deleteEntryButton:Landroid/widget/Button; // field@02b0 │ │ +020f9a: 2200 df00 |0057: new-instance v0, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$5; // type@00df │ │ +020f9e: 7030 0f04 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@040f │ │ +020fa4: 6e20 c500 0400 |005c: invoke-virtual {v4, v0}, Landroid/widget/Button;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@00c5 │ │ +020faa: 5424 b202 |005f: iget-object v4, v2, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;.editEntryDialog:Landroid/app/Dialog; // field@02b2 │ │ +020fae: 2200 e000 |0061: new-instance v0, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$6; // type@00e0 │ │ +020fb2: 7030 1104 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@0411 │ │ +020fb8: 6e20 1e00 0400 |0066: invoke-virtual {v4, v0}, Landroid/app/Dialog;.setOnDismissListener:(Landroid/content/DialogInterface$OnDismissListener;)V // method@001e │ │ +020fbe: 0e00 |0069: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=54 │ │ 0x0009 line=55 │ │ 0x0012 line=56 │ │ 0x001b line=57 │ │ 0x0028 line=58 │ │ @@ -23480,38 +23480,38 @@ │ │ type : '()V' │ │ access : 0x10008 (STATIC CONSTRUCTOR) │ │ code - │ │ registers : 1 │ │ ins : 0 │ │ outs : 0 │ │ insns size : 5 16-bit code units │ │ -02111c: |[02111c] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigTestResult.:()V │ │ -02112c: 6200 9e02 |0000: sget-object v0, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState;.NOT_STARTED:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState; // field@029e │ │ -021130: 6900 ba02 |0002: sput-object v0, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult;.DEFAULT_STATE:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState; // field@02ba │ │ -021134: 0e00 |0004: return-void │ │ +021118: |[021118] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigTestResult.:()V │ │ +021128: 6200 9e02 |0000: sget-object v0, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState;.NOT_STARTED:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState; // field@029e │ │ +02112c: 6900 ba02 |0002: sput-object v0, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult;.DEFAULT_STATE:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState; // field@02ba │ │ +021130: 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 │ │ -021138: |[021138] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigTestResult.:()V │ │ -021148: 6200 ba02 |0000: sget-object v0, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult;.DEFAULT_STATE:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState; // field@02ba │ │ -02114c: 1a01 0000 |0002: const-string v1, "" // string@0000 │ │ -021150: 1602 0000 |0004: const-wide/16 v2, #int 0 // #0 │ │ -021154: 7053 2604 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@0426 │ │ -02115a: 0e00 |0009: return-void │ │ +021134: |[021134] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigTestResult.:()V │ │ +021144: 6200 ba02 |0000: sget-object v0, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult;.DEFAULT_STATE:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState; // field@02ba │ │ +021148: 1a01 0000 |0002: const-string v1, "" // string@0000 │ │ +02114c: 1602 0000 |0004: const-wide/16 v2, #int 0 // #0 │ │ +021150: 7053 2604 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@0426 │ │ +021156: 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;) │ │ @@ -23519,19 +23519,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 │ │ -02115c: |[02115c] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigTestResult.:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState;)V │ │ -02116c: 1a00 0000 |0000: const-string v0, "" // string@0000 │ │ -021170: 1601 0000 |0002: const-wide/16 v1, #int 0 // #0 │ │ -021174: 7052 2604 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@0426 │ │ -02117a: 0e00 |0007: return-void │ │ +021158: |[021158] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigTestResult.:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState;)V │ │ +021168: 1a00 0000 |0000: const-string v0, "" // string@0000 │ │ +02116c: 1601 0000 |0002: const-wide/16 v1, #int 0 // #0 │ │ +021170: 7052 2604 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@0426 │ │ +021176: 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; │ │ │ │ @@ -23540,18 +23540,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 │ │ -0211bc: |[0211bc] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigTestResult.:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState;J)V │ │ -0211cc: 1a00 0000 |0000: const-string v0, "" // string@0000 │ │ -0211d0: 7054 2604 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@0426 │ │ -0211d6: 0e00 |0005: return-void │ │ +0211b8: |[0211b8] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigTestResult.:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState;J)V │ │ +0211c8: 1a00 0000 |0000: const-string v0, "" // string@0000 │ │ +0211cc: 7054 2604 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@0426 │ │ +0211d2: 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 │ │ @@ -23561,18 +23561,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 │ │ -02117c: |[02117c] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigTestResult.:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState;Ljava/lang/String;)V │ │ -02118c: 1600 0000 |0000: const-wide/16 v0, #int 0 // #0 │ │ -021190: 7051 2604 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@0426 │ │ -021196: 0e00 |0005: return-void │ │ +021178: |[021178] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigTestResult.:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState;Ljava/lang/String;)V │ │ +021188: 1600 0000 |0000: const-wide/16 v0, #int 0 // #0 │ │ +02118c: 7051 2604 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@0426 │ │ +021192: 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; │ │ @@ -23582,20 +23582,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 │ │ -021198: |[021198] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigTestResult.:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState;Ljava/lang/String;J)V │ │ -0211a8: 7010 7505 0000 |0000: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@0575 │ │ -0211ae: 5b01 bd02 |0003: iput-object v1, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult;.testState:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState; // field@02bd │ │ -0211b2: 5b02 bb02 |0005: iput-object v2, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult;.message:Ljava/lang/String; // field@02bb │ │ -0211b6: 5a03 bc02 |0007: iput-wide v3, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult;.perf:J // field@02bc │ │ -0211ba: 0e00 |0009: return-void │ │ +021194: |[021194] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigTestResult.:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState;Ljava/lang/String;J)V │ │ +0211a4: 7010 7505 0000 |0000: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@0575 │ │ +0211aa: 5b01 bd02 |0003: iput-object v1, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult;.testState:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState; // field@02bd │ │ +0211ae: 5b02 bb02 |0005: iput-object v2, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult;.message:Ljava/lang/String; // field@02bb │ │ +0211b2: 5a03 bc02 |0007: iput-wide v3, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult;.perf:J // field@02bc │ │ +0211b6: 0e00 |0009: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=13 │ │ 0x0003 line=14 │ │ 0x0005 line=15 │ │ 0x0007 line=16 │ │ locals : │ │ @@ -23609,33 +23609,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 │ │ -020fc4: |[020fc4] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigTestResult.equalStr:(Ljava/lang/String;Ljava/lang/String;)Z │ │ -020fd4: 3803 0900 |0000: if-eqz v3, 0009 // +0009 │ │ -020fd8: 3804 0700 |0002: if-eqz v4, 0009 // +0007 │ │ -020fdc: 6e20 8d05 4300 |0004: invoke-virtual {v3, v4}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058d │ │ -020fe2: 0a03 |0007: move-result v3 │ │ -020fe4: 0f03 |0008: return v3 │ │ -020fe6: 1210 |0009: const/4 v0, #int 1 // #1 │ │ -020fe8: 1201 |000a: const/4 v1, #int 0 // #0 │ │ -020fea: 3903 0700 |000b: if-nez v3, 0012 // +0007 │ │ -020fee: 3904 0300 |000d: if-nez v4, 0010 // +0003 │ │ -020ff2: 2802 |000f: goto 0011 // +0002 │ │ -020ff4: 1200 |0010: const/4 v0, #int 0 // #0 │ │ -020ff6: 0f00 |0011: return v0 │ │ -020ff8: 3904 0700 |0012: if-nez v4, 0019 // +0007 │ │ -020ffc: 3903 0300 |0014: if-nez v3, 0017 // +0003 │ │ -021000: 2802 |0016: goto 0018 // +0002 │ │ -021002: 1200 |0017: const/4 v0, #int 0 // #0 │ │ -021004: 0f00 |0018: return v0 │ │ -021006: 0f01 |0019: return v1 │ │ +020fc0: |[020fc0] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigTestResult.equalStr:(Ljava/lang/String;Ljava/lang/String;)Z │ │ +020fd0: 3803 0900 |0000: if-eqz v3, 0009 // +0009 │ │ +020fd4: 3804 0700 |0002: if-eqz v4, 0009 // +0007 │ │ +020fd8: 6e20 8d05 4300 |0004: invoke-virtual {v3, v4}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058d │ │ +020fde: 0a03 |0007: move-result v3 │ │ +020fe0: 0f03 |0008: return v3 │ │ +020fe2: 1210 |0009: const/4 v0, #int 1 // #1 │ │ +020fe4: 1201 |000a: const/4 v1, #int 0 // #0 │ │ +020fe6: 3903 0700 |000b: if-nez v3, 0012 // +0007 │ │ +020fea: 3904 0300 |000d: if-nez v4, 0010 // +0003 │ │ +020fee: 2802 |000f: goto 0011 // +0002 │ │ +020ff0: 1200 |0010: const/4 v0, #int 0 // #0 │ │ +020ff2: 0f00 |0011: return v0 │ │ +020ff4: 3904 0700 |0012: if-nez v4, 0019 // +0007 │ │ +020ff8: 3903 0300 |0014: if-nez v3, 0017 // +0003 │ │ +020ffc: 2802 |0016: goto 0018 // +0002 │ │ +020ffe: 1200 |0017: const/4 v0, #int 0 // #0 │ │ +021000: 0f00 |0018: return v0 │ │ +021002: 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; │ │ @@ -23646,43 +23646,43 @@ │ │ type : '(Ljava/lang/Object;)Z' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 9 │ │ ins : 2 │ │ outs : 3 │ │ insns size : 48 16-bit code units │ │ -021008: |[021008] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigTestResult.equals:(Ljava/lang/Object;)Z │ │ -021018: 1210 |0000: const/4 v0, #int 1 // #1 │ │ -02101a: 3387 0300 |0001: if-ne v7, v8, 0004 // +0003 │ │ -02101e: 0f00 |0003: return v0 │ │ -021020: 1201 |0004: const/4 v1, #int 0 // #0 │ │ -021022: 3808 2a00 |0005: if-eqz v8, 002f // +002a │ │ -021026: 6e10 7705 0700 |0007: invoke-virtual {v7}, Ljava/lang/Object;.getClass:()Ljava/lang/Class; // method@0577 │ │ -02102c: 0c02 |000a: move-result-object v2 │ │ -02102e: 6e10 7705 0800 |000b: invoke-virtual {v8}, Ljava/lang/Object;.getClass:()Ljava/lang/Class; // method@0577 │ │ -021034: 0c03 |000e: move-result-object v3 │ │ -021036: 3232 0300 |000f: if-eq v2, v3, 0012 // +0003 │ │ -02103a: 281e |0011: goto 002f // +001e │ │ -02103c: 1f08 e300 |0012: check-cast v8, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult; // type@00e3 │ │ -021040: 5372 bc02 |0014: iget-wide v2, v7, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult;.perf:J // field@02bc │ │ -021044: 5384 bc02 |0016: iget-wide v4, v8, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult;.perf:J // field@02bc │ │ -021048: 3106 0204 |0018: cmp-long v6, v2, v4 │ │ -02104c: 3906 1300 |001a: if-nez v6, 002d // +0013 │ │ -021050: 5472 bd02 |001c: iget-object v2, v7, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult;.testState:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState; // field@02bd │ │ -021054: 5483 bd02 |001e: iget-object v3, v8, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult;.testState:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState; // field@02bd │ │ -021058: 3332 0d00 |0020: if-ne v2, v3, 002d // +000d │ │ -02105c: 5472 bb02 |0022: iget-object v2, v7, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult;.message:Ljava/lang/String; // field@02bb │ │ -021060: 5488 bb02 |0024: iget-object v8, v8, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult;.message:Ljava/lang/String; // field@02bb │ │ -021064: 7030 2704 2708 |0026: invoke-direct {v7, v2, v8}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult;.equalStr:(Ljava/lang/String;Ljava/lang/String;)Z // method@0427 │ │ -02106a: 0a08 |0029: move-result v8 │ │ -02106c: 3808 0300 |002a: if-eqz v8, 002d // +0003 │ │ -021070: 2802 |002c: goto 002e // +0002 │ │ -021072: 1200 |002d: const/4 v0, #int 0 // #0 │ │ -021074: 0f00 |002e: return v0 │ │ -021076: 0f01 |002f: return v1 │ │ +021004: |[021004] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigTestResult.equals:(Ljava/lang/Object;)Z │ │ +021014: 1210 |0000: const/4 v0, #int 1 // #1 │ │ +021016: 3387 0300 |0001: if-ne v7, v8, 0004 // +0003 │ │ +02101a: 0f00 |0003: return v0 │ │ +02101c: 1201 |0004: const/4 v1, #int 0 // #0 │ │ +02101e: 3808 2a00 |0005: if-eqz v8, 002f // +002a │ │ +021022: 6e10 7705 0700 |0007: invoke-virtual {v7}, Ljava/lang/Object;.getClass:()Ljava/lang/Class; // method@0577 │ │ +021028: 0c02 |000a: move-result-object v2 │ │ +02102a: 6e10 7705 0800 |000b: invoke-virtual {v8}, Ljava/lang/Object;.getClass:()Ljava/lang/Class; // method@0577 │ │ +021030: 0c03 |000e: move-result-object v3 │ │ +021032: 3232 0300 |000f: if-eq v2, v3, 0012 // +0003 │ │ +021036: 281e |0011: goto 002f // +001e │ │ +021038: 1f08 e300 |0012: check-cast v8, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult; // type@00e3 │ │ +02103c: 5372 bc02 |0014: iget-wide v2, v7, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult;.perf:J // field@02bc │ │ +021040: 5384 bc02 |0016: iget-wide v4, v8, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult;.perf:J // field@02bc │ │ +021044: 3106 0204 |0018: cmp-long v6, v2, v4 │ │ +021048: 3906 1300 |001a: if-nez v6, 002d // +0013 │ │ +02104c: 5472 bd02 |001c: iget-object v2, v7, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult;.testState:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState; // field@02bd │ │ +021050: 5483 bd02 |001e: iget-object v3, v8, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult;.testState:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState; // field@02bd │ │ +021054: 3332 0d00 |0020: if-ne v2, v3, 002d // +000d │ │ +021058: 5472 bb02 |0022: iget-object v2, v7, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult;.message:Ljava/lang/String; // field@02bb │ │ +02105c: 5488 bb02 |0024: iget-object v8, v8, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult;.message:Ljava/lang/String; // field@02bb │ │ +021060: 7030 2704 2708 |0026: invoke-direct {v7, v2, v8}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult;.equalStr:(Ljava/lang/String;Ljava/lang/String;)Z // method@0427 │ │ +021066: 0a08 |0029: move-result v8 │ │ +021068: 3808 0300 |002a: if-eqz v8, 002d // +0003 │ │ +02106c: 2802 |002c: goto 002e // +0002 │ │ +02106e: 1200 |002d: const/4 v0, #int 0 // #0 │ │ +021070: 0f00 |002e: return v0 │ │ +021072: 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; │ │ @@ -23693,17 +23693,17 @@ │ │ type : '()Ljava/lang/String;' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 0 │ │ insns size : 3 16-bit code units │ │ -0210ec: |[0210ec] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigTestResult.getMessage:()Ljava/lang/String; │ │ -0210fc: 5410 bb02 |0000: iget-object v0, v1, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult;.message:Ljava/lang/String; // field@02bb │ │ -021100: 1100 |0002: return-object v0 │ │ +0210e8: |[0210e8] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigTestResult.getMessage:()Ljava/lang/String; │ │ +0210f8: 5410 bb02 |0000: iget-object v0, v1, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult;.message:Ljava/lang/String; // field@02bb │ │ +0210fc: 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;) │ │ @@ -23711,17 +23711,17 @@ │ │ type : '()J' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 3 │ │ ins : 1 │ │ outs : 0 │ │ insns size : 3 16-bit code units │ │ -021104: |[021104] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigTestResult.getPerf:()J │ │ -021114: 5320 bc02 |0000: iget-wide v0, v2, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult;.perf:J // field@02bc │ │ -021118: 1000 |0002: return-wide v0 │ │ +021100: |[021100] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigTestResult.getPerf:()J │ │ +021110: 5320 bc02 |0000: iget-wide v0, v2, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult;.perf:J // field@02bc │ │ +021114: 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;) │ │ @@ -23729,17 +23729,17 @@ │ │ type : '()Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState;' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 0 │ │ insns size : 3 16-bit code units │ │ -021078: |[021078] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigTestResult.getTestState:()Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState; │ │ -021088: 5410 bd02 |0000: iget-object v0, v1, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult;.testState:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState; // field@02bd │ │ -02108c: 1100 |0002: return-object v0 │ │ +021074: |[021074] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigTestResult.getTestState:()Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState; │ │ +021084: 5410 bd02 |0000: iget-object v0, v1, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult;.testState:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState; // field@02bd │ │ +021088: 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;) │ │ @@ -23747,38 +23747,38 @@ │ │ type : '()I' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 7 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 38 16-bit code units │ │ -021090: |[021090] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigTestResult.hashCode:()I │ │ -0210a0: 5460 bd02 |0000: iget-object v0, v6, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult;.testState:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState; // field@02bd │ │ -0210a4: 5461 bb02 |0002: iget-object v1, v6, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult;.message:Ljava/lang/String; // field@02bb │ │ -0210a8: 5362 bc02 |0004: iget-wide v2, v6, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult;.perf:J // field@02bc │ │ -0210ac: 7120 6e05 3200 |0006: invoke-static {v2, v3}, Ljava/lang/Long;.valueOf:(J)Ljava/lang/Long; // method@056e │ │ -0210b2: 0c02 |0009: move-result-object v2 │ │ -0210b4: 1233 |000a: const/4 v3, #int 3 // #3 │ │ -0210b6: 2334 ac01 |000b: new-array v4, v3, [Ljava/lang/Object; // type@01ac │ │ -0210ba: 1205 |000d: const/4 v5, #int 0 // #0 │ │ -0210bc: 4d00 0405 |000e: aput-object v0, v4, v5 │ │ -0210c0: 1210 |0010: const/4 v0, #int 1 // #1 │ │ -0210c2: 4d01 0400 |0011: aput-object v1, v4, v0 │ │ -0210c6: 1220 |0013: const/4 v0, #int 2 // #2 │ │ -0210c8: 4d02 0400 |0014: aput-object v2, v4, v0 │ │ -0210cc: 1200 |0016: const/4 v0, #int 0 // #0 │ │ -0210ce: 3535 0e00 |0017: if-ge v5, v3, 0025 // +000e │ │ -0210d2: da00 001f |0019: mul-int/lit8 v0, v0, #int 31 // #1f │ │ -0210d6: 4601 0405 |001b: aget-object v1, v4, v5 │ │ -0210da: 6e10 7805 0100 |001d: invoke-virtual {v1}, Ljava/lang/Object;.hashCode:()I // method@0578 │ │ -0210e0: 0a01 |0020: move-result v1 │ │ -0210e2: b010 |0021: add-int/2addr v0, v1 │ │ -0210e4: d805 0501 |0022: add-int/lit8 v5, v5, #int 1 // #01 │ │ -0210e8: 28f3 |0024: goto 0017 // -000d │ │ -0210ea: 0f00 |0025: return v0 │ │ +02108c: |[02108c] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigTestResult.hashCode:()I │ │ +02109c: 5460 bd02 |0000: iget-object v0, v6, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult;.testState:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState; // field@02bd │ │ +0210a0: 5461 bb02 |0002: iget-object v1, v6, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult;.message:Ljava/lang/String; // field@02bb │ │ +0210a4: 5362 bc02 |0004: iget-wide v2, v6, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult;.perf:J // field@02bc │ │ +0210a8: 7120 6e05 3200 |0006: invoke-static {v2, v3}, Ljava/lang/Long;.valueOf:(J)Ljava/lang/Long; // method@056e │ │ +0210ae: 0c02 |0009: move-result-object v2 │ │ +0210b0: 1233 |000a: const/4 v3, #int 3 // #3 │ │ +0210b2: 2334 ac01 |000b: new-array v4, v3, [Ljava/lang/Object; // type@01ac │ │ +0210b6: 1205 |000d: const/4 v5, #int 0 // #0 │ │ +0210b8: 4d00 0405 |000e: aput-object v0, v4, v5 │ │ +0210bc: 1210 |0010: const/4 v0, #int 1 // #1 │ │ +0210be: 4d01 0400 |0011: aput-object v1, v4, v0 │ │ +0210c2: 1220 |0013: const/4 v0, #int 2 // #2 │ │ +0210c4: 4d02 0400 |0014: aput-object v2, v4, v0 │ │ +0210c8: 1200 |0016: const/4 v0, #int 0 // #0 │ │ +0210ca: 3535 0e00 |0017: if-ge v5, v3, 0025 // +000e │ │ +0210ce: da00 001f |0019: mul-int/lit8 v0, v0, #int 31 // #1f │ │ +0210d2: 4601 0405 |001b: aget-object v1, v4, v5 │ │ +0210d6: 6e10 7805 0100 |001d: invoke-virtual {v1}, Ljava/lang/Object;.hashCode:()I // method@0578 │ │ +0210dc: 0a01 |0020: move-result v1 │ │ +0210de: b010 |0021: add-int/2addr v0, v1 │ │ +0210e0: d805 0501 |0022: add-int/lit8 v5, v5, #int 1 // #01 │ │ +0210e4: 28f3 |0024: goto 0017 // -000d │ │ +0210e6: 0f00 |0025: return v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=68 │ │ 0x001b line=71 │ │ locals : │ │ 0x0000 - 0x0026 reg=6 this Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult; │ │ │ │ @@ -23787,17 +23787,17 @@ │ │ type : '(Ljava/lang/String;)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 2 │ │ outs : 0 │ │ insns size : 3 16-bit code units │ │ -0211d8: |[0211d8] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigTestResult.setMessage:(Ljava/lang/String;)V │ │ -0211e8: 5b01 bb02 |0000: iput-object v1, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult;.message:Ljava/lang/String; // field@02bb │ │ -0211ec: 0e00 |0002: return-void │ │ +0211d4: |[0211d4] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigTestResult.setMessage:(Ljava/lang/String;)V │ │ +0211e4: 5b01 bb02 |0000: iput-object v1, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult;.message:Ljava/lang/String; // field@02bb │ │ +0211e8: 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; │ │ │ │ @@ -23806,17 +23806,17 @@ │ │ type : '(J)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 3 │ │ ins : 3 │ │ outs : 0 │ │ insns size : 3 16-bit code units │ │ -0211f0: |[0211f0] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigTestResult.setPerf:(J)V │ │ -021200: 5a01 bc02 |0000: iput-wide v1, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult;.perf:J // field@02bc │ │ -021204: 0e00 |0002: return-void │ │ +0211ec: |[0211ec] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigTestResult.setPerf:(J)V │ │ +0211fc: 5a01 bc02 |0000: iput-wide v1, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult;.perf:J // field@02bc │ │ +021200: 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 │ │ │ │ @@ -23825,17 +23825,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 │ │ -021208: |[021208] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigTestResult.setTestState:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState;)V │ │ -021218: 5b01 bd02 |0000: iput-object v1, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult;.testState:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState; // field@02bd │ │ -02121c: 0e00 |0002: return-void │ │ +021204: |[021204] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigTestResult.setTestState:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState;)V │ │ +021214: 5b01 bd02 |0000: iput-object v1, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult;.testState:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState; // field@02bd │ │ +021218: 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; │ │ │ │ @@ -23890,64 +23890,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 │ │ -021244: |[021244] dnsfilter.android.dnsserverconfig.widget.DNSType.$values:()[Ldnsfilter/android/dnsserverconfig/widget/DNSType; │ │ -021254: 1230 |0000: const/4 v0, #int 3 // #3 │ │ -021256: 2300 a701 |0001: new-array v0, v0, [Ldnsfilter/android/dnsserverconfig/widget/DNSType; // type@01a7 │ │ -02125a: 6201 c102 |0003: sget-object v1, Ldnsfilter/android/dnsserverconfig/widget/DNSType;.UDP:Ldnsfilter/android/dnsserverconfig/widget/DNSType; // field@02c1 │ │ -02125e: 1202 |0005: const/4 v2, #int 0 // #0 │ │ -021260: 4d01 0002 |0006: aput-object v1, v0, v2 │ │ -021264: 6201 c002 |0008: sget-object v1, Ldnsfilter/android/dnsserverconfig/widget/DNSType;.DOT:Ldnsfilter/android/dnsserverconfig/widget/DNSType; // field@02c0 │ │ -021268: 1212 |000a: const/4 v2, #int 1 // #1 │ │ -02126a: 4d01 0002 |000b: aput-object v1, v0, v2 │ │ -02126e: 6201 bf02 |000d: sget-object v1, Ldnsfilter/android/dnsserverconfig/widget/DNSType;.DOH:Ldnsfilter/android/dnsserverconfig/widget/DNSType; // field@02bf │ │ -021272: 1222 |000f: const/4 v2, #int 2 // #2 │ │ -021274: 4d01 0002 |0010: aput-object v1, v0, v2 │ │ -021278: 1100 |0012: return-object v0 │ │ +021240: |[021240] dnsfilter.android.dnsserverconfig.widget.DNSType.$values:()[Ldnsfilter/android/dnsserverconfig/widget/DNSType; │ │ +021250: 1230 |0000: const/4 v0, #int 3 // #3 │ │ +021252: 2300 a701 |0001: new-array v0, v0, [Ldnsfilter/android/dnsserverconfig/widget/DNSType; // type@01a7 │ │ +021256: 6201 c102 |0003: sget-object v1, Ldnsfilter/android/dnsserverconfig/widget/DNSType;.UDP:Ldnsfilter/android/dnsserverconfig/widget/DNSType; // field@02c1 │ │ +02125a: 1202 |0005: const/4 v2, #int 0 // #0 │ │ +02125c: 4d01 0002 |0006: aput-object v1, v0, v2 │ │ +021260: 6201 c002 |0008: sget-object v1, Ldnsfilter/android/dnsserverconfig/widget/DNSType;.DOT:Ldnsfilter/android/dnsserverconfig/widget/DNSType; // field@02c0 │ │ +021264: 1212 |000a: const/4 v2, #int 1 // #1 │ │ +021266: 4d01 0002 |000b: aput-object v1, v0, v2 │ │ +02126a: 6201 bf02 |000d: sget-object v1, Ldnsfilter/android/dnsserverconfig/widget/DNSType;.DOH:Ldnsfilter/android/dnsserverconfig/widget/DNSType; // field@02bf │ │ +02126e: 1222 |000f: const/4 v2, #int 2 // #2 │ │ +021270: 4d01 0002 |0010: aput-object v1, v0, v2 │ │ +021274: 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 │ │ -0212a0: |[0212a0] dnsfilter.android.dnsserverconfig.widget.DNSType.:()V │ │ -0212b0: 2200 e400 |0000: new-instance v0, Ldnsfilter/android/dnsserverconfig/widget/DNSType; // type@00e4 │ │ -0212b4: 1201 |0002: const/4 v1, #int 0 // #0 │ │ -0212b6: 1302 3500 |0003: const/16 v2, #int 53 // #35 │ │ -0212ba: 1a03 8004 |0005: const-string v3, "UDP" // string@0480 │ │ -0212be: 7040 3204 3021 |0007: invoke-direct {v0, v3, v1, v2}, Ldnsfilter/android/dnsserverconfig/widget/DNSType;.:(Ljava/lang/String;II)V // method@0432 │ │ -0212c4: 6900 c102 |000a: sput-object v0, Ldnsfilter/android/dnsserverconfig/widget/DNSType;.UDP:Ldnsfilter/android/dnsserverconfig/widget/DNSType; // field@02c1 │ │ -0212c8: 2200 e400 |000c: new-instance v0, Ldnsfilter/android/dnsserverconfig/widget/DNSType; // type@00e4 │ │ -0212cc: 1211 |000e: const/4 v1, #int 1 // #1 │ │ -0212ce: 1302 5503 |000f: const/16 v2, #int 853 // #355 │ │ -0212d2: 1a03 5d01 |0011: const-string v3, "DOT" // string@015d │ │ -0212d6: 7040 3204 3021 |0013: invoke-direct {v0, v3, v1, v2}, Ldnsfilter/android/dnsserverconfig/widget/DNSType;.:(Ljava/lang/String;II)V // method@0432 │ │ -0212dc: 6900 c002 |0016: sput-object v0, Ldnsfilter/android/dnsserverconfig/widget/DNSType;.DOT:Ldnsfilter/android/dnsserverconfig/widget/DNSType; // field@02c0 │ │ -0212e0: 2200 e400 |0018: new-instance v0, Ldnsfilter/android/dnsserverconfig/widget/DNSType; // type@00e4 │ │ -0212e4: 1221 |001a: const/4 v1, #int 2 // #2 │ │ -0212e6: 1302 bb01 |001b: const/16 v2, #int 443 // #1bb │ │ -0212ea: 1a03 5c01 |001d: const-string v3, "DOH" // string@015c │ │ -0212ee: 7040 3204 3021 |001f: invoke-direct {v0, v3, v1, v2}, Ldnsfilter/android/dnsserverconfig/widget/DNSType;.:(Ljava/lang/String;II)V // method@0432 │ │ -0212f4: 6900 bf02 |0022: sput-object v0, Ldnsfilter/android/dnsserverconfig/widget/DNSType;.DOH:Ldnsfilter/android/dnsserverconfig/widget/DNSType; // field@02bf │ │ -0212f8: 7100 3004 0000 |0024: invoke-static {}, Ldnsfilter/android/dnsserverconfig/widget/DNSType;.$values:()[Ldnsfilter/android/dnsserverconfig/widget/DNSType; // method@0430 │ │ -0212fe: 0c00 |0027: move-result-object v0 │ │ -021300: 6900 be02 |0028: sput-object v0, Ldnsfilter/android/dnsserverconfig/widget/DNSType;.$VALUES:[Ldnsfilter/android/dnsserverconfig/widget/DNSType; // field@02be │ │ -021304: 0e00 |002a: return-void │ │ +02129c: |[02129c] dnsfilter.android.dnsserverconfig.widget.DNSType.:()V │ │ +0212ac: 2200 e400 |0000: new-instance v0, Ldnsfilter/android/dnsserverconfig/widget/DNSType; // type@00e4 │ │ +0212b0: 1201 |0002: const/4 v1, #int 0 // #0 │ │ +0212b2: 1302 3500 |0003: const/16 v2, #int 53 // #35 │ │ +0212b6: 1a03 8004 |0005: const-string v3, "UDP" // string@0480 │ │ +0212ba: 7040 3204 3021 |0007: invoke-direct {v0, v3, v1, v2}, Ldnsfilter/android/dnsserverconfig/widget/DNSType;.:(Ljava/lang/String;II)V // method@0432 │ │ +0212c0: 6900 c102 |000a: sput-object v0, Ldnsfilter/android/dnsserverconfig/widget/DNSType;.UDP:Ldnsfilter/android/dnsserverconfig/widget/DNSType; // field@02c1 │ │ +0212c4: 2200 e400 |000c: new-instance v0, Ldnsfilter/android/dnsserverconfig/widget/DNSType; // type@00e4 │ │ +0212c8: 1211 |000e: const/4 v1, #int 1 // #1 │ │ +0212ca: 1302 5503 |000f: const/16 v2, #int 853 // #355 │ │ +0212ce: 1a03 5d01 |0011: const-string v3, "DOT" // string@015d │ │ +0212d2: 7040 3204 3021 |0013: invoke-direct {v0, v3, v1, v2}, Ldnsfilter/android/dnsserverconfig/widget/DNSType;.:(Ljava/lang/String;II)V // method@0432 │ │ +0212d8: 6900 c002 |0016: sput-object v0, Ldnsfilter/android/dnsserverconfig/widget/DNSType;.DOT:Ldnsfilter/android/dnsserverconfig/widget/DNSType; // field@02c0 │ │ +0212dc: 2200 e400 |0018: new-instance v0, Ldnsfilter/android/dnsserverconfig/widget/DNSType; // type@00e4 │ │ +0212e0: 1221 |001a: const/4 v1, #int 2 // #2 │ │ +0212e2: 1302 bb01 |001b: const/16 v2, #int 443 // #1bb │ │ +0212e6: 1a03 5c01 |001d: const-string v3, "DOH" // string@015c │ │ +0212ea: 7040 3204 3021 |001f: invoke-direct {v0, v3, v1, v2}, Ldnsfilter/android/dnsserverconfig/widget/DNSType;.:(Ljava/lang/String;II)V // method@0432 │ │ +0212f0: 6900 bf02 |0022: sput-object v0, Ldnsfilter/android/dnsserverconfig/widget/DNSType;.DOH:Ldnsfilter/android/dnsserverconfig/widget/DNSType; // field@02bf │ │ +0212f4: 7100 3004 0000 |0024: invoke-static {}, Ldnsfilter/android/dnsserverconfig/widget/DNSType;.$values:()[Ldnsfilter/android/dnsserverconfig/widget/DNSType; // method@0430 │ │ +0212fa: 0c00 |0027: move-result-object v0 │ │ +0212fc: 6900 be02 |0028: sput-object v0, Ldnsfilter/android/dnsserverconfig/widget/DNSType;.$VALUES:[Ldnsfilter/android/dnsserverconfig/widget/DNSType; // field@02be │ │ +021300: 0e00 |002a: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=4 │ │ 0x000c line=5 │ │ 0x0018 line=6 │ │ 0x0024 line=3 │ │ locals : │ │ @@ -23957,18 +23957,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 │ │ -021308: |[021308] dnsfilter.android.dnsserverconfig.widget.DNSType.:(Ljava/lang/String;II)V │ │ -021318: 7030 5905 1002 |0000: invoke-direct {v0, v1, v2}, Ljava/lang/Enum;.:(Ljava/lang/String;I)V // method@0559 │ │ -02131e: 5903 c202 |0003: iput v3, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSType;.defaultPort:I // field@02c2 │ │ -021322: 0e00 |0005: return-void │ │ +021304: |[021304] dnsfilter.android.dnsserverconfig.widget.DNSType.:(Ljava/lang/String;II)V │ │ +021314: 7030 5905 1002 |0000: invoke-direct {v0, v1, v2}, Ljava/lang/Enum;.:(Ljava/lang/String;I)V // method@0559 │ │ +02131a: 5903 c202 |0003: iput v3, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSType;.defaultPort:I // field@02c2 │ │ +02131e: 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; │ │ @@ -23980,20 +23980,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 │ │ -021220: |[021220] dnsfilter.android.dnsserverconfig.widget.DNSType.valueOf:(Ljava/lang/String;)Ldnsfilter/android/dnsserverconfig/widget/DNSType; │ │ -021230: 1c00 e400 |0000: const-class v0, Ldnsfilter/android/dnsserverconfig/widget/DNSType; // type@00e4 │ │ -021234: 7120 5a05 1000 |0002: invoke-static {v0, v1}, Ljava/lang/Enum;.valueOf:(Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/Enum; // method@055a │ │ -02123a: 0c01 |0005: move-result-object v1 │ │ -02123c: 1f01 e400 |0006: check-cast v1, Ldnsfilter/android/dnsserverconfig/widget/DNSType; // type@00e4 │ │ -021240: 1101 |0008: return-object v1 │ │ +02121c: |[02121c] dnsfilter.android.dnsserverconfig.widget.DNSType.valueOf:(Ljava/lang/String;)Ldnsfilter/android/dnsserverconfig/widget/DNSType; │ │ +02122c: 1c00 e400 |0000: const-class v0, Ldnsfilter/android/dnsserverconfig/widget/DNSType; // type@00e4 │ │ +021230: 7120 5a05 1000 |0002: invoke-static {v0, v1}, Ljava/lang/Enum;.valueOf:(Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/Enum; // method@055a │ │ +021236: 0c01 |0005: move-result-object v1 │ │ +021238: 1f01 e400 |0006: check-cast v1, Ldnsfilter/android/dnsserverconfig/widget/DNSType; // type@00e4 │ │ +02123c: 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;) │ │ @@ -24001,20 +24001,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 │ │ -02127c: |[02127c] dnsfilter.android.dnsserverconfig.widget.DNSType.values:()[Ldnsfilter/android/dnsserverconfig/widget/DNSType; │ │ -02128c: 6200 be02 |0000: sget-object v0, Ldnsfilter/android/dnsserverconfig/widget/DNSType;.$VALUES:[Ldnsfilter/android/dnsserverconfig/widget/DNSType; // field@02be │ │ -021290: 6e10 0708 0000 |0002: invoke-virtual {v0}, [Ldnsfilter/android/dnsserverconfig/widget/DNSType;.clone:()Ljava/lang/Object; // method@0807 │ │ -021296: 0c00 |0005: move-result-object v0 │ │ -021298: 1f00 a701 |0006: check-cast v0, [Ldnsfilter/android/dnsserverconfig/widget/DNSType; // type@01a7 │ │ -02129c: 1100 |0008: return-object v0 │ │ +021278: |[021278] dnsfilter.android.dnsserverconfig.widget.DNSType.values:()[Ldnsfilter/android/dnsserverconfig/widget/DNSType; │ │ +021288: 6200 be02 |0000: sget-object v0, Ldnsfilter/android/dnsserverconfig/widget/DNSType;.$VALUES:[Ldnsfilter/android/dnsserverconfig/widget/DNSType; // field@02be │ │ +02128c: 6e10 0708 0000 |0002: invoke-virtual {v0}, [Ldnsfilter/android/dnsserverconfig/widget/DNSType;.clone:()Ljava/lang/Object; // method@0807 │ │ +021292: 0c00 |0005: move-result-object v0 │ │ +021294: 1f00 a701 |0006: check-cast v0, [Ldnsfilter/android/dnsserverconfig/widget/DNSType; // type@01a7 │ │ +021298: 1100 |0008: return-object v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=3 │ │ locals : │ │ │ │ Virtual methods - │ │ source_file_idx : 346 (DNSType.java) │ │ @@ -24042,17 +24042,17 @@ │ │ type : '()V' │ │ access : 0x10001 (PUBLIC CONSTRUCTOR) │ │ code - │ │ registers : 1 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 4 16-bit code units │ │ -021324: |[021324] dnsfilter.android.dnsserverconfig.widget.NotDeserializableException.:()V │ │ -021334: 7010 5b05 0000 |0000: invoke-direct {v0}, Ljava/lang/Exception;.:()V // method@055b │ │ -02133a: 0e00 |0003: return-void │ │ +021320: |[021320] dnsfilter.android.dnsserverconfig.widget.NotDeserializableException.:()V │ │ +021330: 7010 5b05 0000 |0000: invoke-direct {v0}, Ljava/lang/Exception;.:()V // method@055b │ │ +021336: 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;) │ │ @@ -24060,17 +24060,17 @@ │ │ type : '(Ljava/lang/String;)V' │ │ access : 0x10001 (PUBLIC CONSTRUCTOR) │ │ code - │ │ registers : 2 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 4 16-bit code units │ │ -02133c: |[02133c] dnsfilter.android.dnsserverconfig.widget.NotDeserializableException.:(Ljava/lang/String;)V │ │ -02134c: 7020 5c05 1000 |0000: invoke-direct {v0, v1}, Ljava/lang/Exception;.:(Ljava/lang/String;)V // method@055c │ │ -021352: 0e00 |0003: return-void │ │ +021338: |[021338] dnsfilter.android.dnsserverconfig.widget.NotDeserializableException.:(Ljava/lang/String;)V │ │ +021348: 7020 5c05 1000 |0000: invoke-direct {v0, v1}, Ljava/lang/Exception;.:(Ljava/lang/String;)V // method@055c │ │ +02134e: 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; │ │ │ │ @@ -24105,17 +24105,17 @@ │ │ type : '()V' │ │ access : 0x10001 (PUBLIC CONSTRUCTOR) │ │ code - │ │ registers : 1 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 4 16-bit code units │ │ -021354: |[021354] dnsfilter.android.dnsserverconfig.widget.listitem.DNSServerConfigBaseEntry.:()V │ │ -021364: 7010 7505 0000 |0000: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@0575 │ │ -02136a: 0e00 |0003: return-void │ │ +021350: |[021350] dnsfilter.android.dnsserverconfig.widget.listitem.DNSServerConfigBaseEntry.:()V │ │ +021360: 7010 7505 0000 |0000: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@0575 │ │ +021366: 0e00 |0003: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=3 │ │ locals : │ │ 0x0000 - 0x0004 reg=0 this Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigBaseEntry; │ │ │ │ Virtual methods - │ │ @@ -24178,86 +24178,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 │ │ -0219cc: |[0219cc] dnsfilter.remote.RemoteAccessClient$RemoteStream.:(Ldnsfilter/remote/RemoteAccessClient;I)V │ │ -0219dc: 1a00 8805 |0000: const-string v0, "attach │ │ +0219c8: |[0219c8] dnsfilter.remote.RemoteAccessClient$RemoteStream.:(Ldnsfilter/remote/RemoteAccessClient;I)V │ │ +0219d8: 1a00 8805 |0000: const-string v0, "attach │ │ " // string@0588 │ │ -0219e0: 5b56 dd02 |0002: iput-object v6, v5, Ldnsfilter/remote/RemoteAccessClient$RemoteStream;.this$0:Ldnsfilter/remote/RemoteAccessClient; // field@02dd │ │ -0219e4: 7010 7505 0500 |0004: invoke-direct {v5}, Ljava/lang/Object;.:()V // method@0575 │ │ -0219ea: 1201 |0007: const/4 v1, #int 0 // #0 │ │ -0219ec: 5c51 da02 |0008: iput-boolean v1, v5, Ldnsfilter/remote/RemoteAccessClient$RemoteStream;.stopped:Z // field@02da │ │ -0219f0: 7110 6304 0600 |000a: invoke-static {v6}, Ldnsfilter/remote/RemoteAccessClient;.access$000:(Ldnsfilter/remote/RemoteAccessClient;)[Ljava/lang/Object; // method@0463 │ │ -0219f6: 0c02 |000d: move-result-object v2 │ │ -0219f8: 1213 |000e: const/4 v3, #int 1 // #1 │ │ -0219fa: 4603 0203 |000f: aget-object v3, v2, v3 │ │ -0219fe: 1f03 3e01 |0011: check-cast v3, Ljava/net/Socket; // type@013e │ │ -021a02: 5b53 db02 |0013: iput-object v3, v5, Ldnsfilter/remote/RemoteAccessClient$RemoteStream;.streamCon:Ljava/net/Socket; // field@02db │ │ -021a06: 2203 f800 |0015: new-instance v3, Ljava/io/DataInputStream; // type@00f8 │ │ -021a0a: 1224 |0017: const/4 v4, #int 2 // #2 │ │ -021a0c: 4604 0204 |0018: aget-object v4, v2, v4 │ │ -021a10: 1f04 0101 |001a: check-cast v4, Ljava/io/InputStream; // type@0101 │ │ -021a14: 7020 f004 4300 |001c: invoke-direct {v3, v4}, Ljava/io/DataInputStream;.:(Ljava/io/InputStream;)V // method@04f0 │ │ -021a1a: 5b53 d802 |001f: iput-object v3, v5, Ldnsfilter/remote/RemoteAccessClient$RemoteStream;.in:Ljava/io/DataInputStream; // field@02d8 │ │ -021a1e: 2203 f900 |0021: new-instance v3, Ljava/io/DataOutputStream; // type@00f9 │ │ -021a22: 1234 |0023: const/4 v4, #int 3 // #3 │ │ -021a24: 4604 0204 |0024: aget-object v4, v2, v4 │ │ -021a28: 1f04 0501 |0026: check-cast v4, Ljava/io/OutputStream; // type@0105 │ │ -021a2c: 7020 f704 4300 |0028: invoke-direct {v3, v4}, Ljava/io/DataOutputStream;.:(Ljava/io/OutputStream;)V // method@04f7 │ │ -021a32: 5b53 d902 |002b: iput-object v3, v5, Ldnsfilter/remote/RemoteAccessClient$RemoteStream;.out:Ljava/io/DataOutputStream; // field@02d9 │ │ -021a36: 4601 0201 |002d: aget-object v1, v2, v1 │ │ -021a3a: 1f01 1e01 |002f: check-cast v1, Ljava/lang/Integer; // type@011e │ │ -021a3e: 6e10 6605 0100 |0031: invoke-virtual {v1}, Ljava/lang/Integer;.intValue:()I // method@0566 │ │ -021a44: 0a01 |0034: move-result v1 │ │ -021a46: 5951 dc02 |0035: iput v1, v5, Ldnsfilter/remote/RemoteAccessClient$RemoteStream;.streamConId:I // field@02dc │ │ -021a4a: 5451 d902 |0037: iget-object v1, v5, Ldnsfilter/remote/RemoteAccessClient$RemoteStream;.out:Ljava/io/DataOutputStream; // field@02d9 │ │ -021a4e: 2202 2d01 |0039: new-instance v2, Ljava/lang/StringBuilder; // type@012d │ │ -021a52: 7020 aa05 0200 |003b: invoke-direct {v2, v0}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05aa │ │ -021a58: 6e20 ac05 7200 |003e: invoke-virtual {v2, v7}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@05ac │ │ -021a5e: 1a07 0200 |0041: const-string v7, " │ │ +0219dc: 5b56 dd02 |0002: iput-object v6, v5, Ldnsfilter/remote/RemoteAccessClient$RemoteStream;.this$0:Ldnsfilter/remote/RemoteAccessClient; // field@02dd │ │ +0219e0: 7010 7505 0500 |0004: invoke-direct {v5}, Ljava/lang/Object;.:()V // method@0575 │ │ +0219e6: 1201 |0007: const/4 v1, #int 0 // #0 │ │ +0219e8: 5c51 da02 |0008: iput-boolean v1, v5, Ldnsfilter/remote/RemoteAccessClient$RemoteStream;.stopped:Z // field@02da │ │ +0219ec: 7110 6304 0600 |000a: invoke-static {v6}, Ldnsfilter/remote/RemoteAccessClient;.access$000:(Ldnsfilter/remote/RemoteAccessClient;)[Ljava/lang/Object; // method@0463 │ │ +0219f2: 0c02 |000d: move-result-object v2 │ │ +0219f4: 1213 |000e: const/4 v3, #int 1 // #1 │ │ +0219f6: 4603 0203 |000f: aget-object v3, v2, v3 │ │ +0219fa: 1f03 3e01 |0011: check-cast v3, Ljava/net/Socket; // type@013e │ │ +0219fe: 5b53 db02 |0013: iput-object v3, v5, Ldnsfilter/remote/RemoteAccessClient$RemoteStream;.streamCon:Ljava/net/Socket; // field@02db │ │ +021a02: 2203 f800 |0015: new-instance v3, Ljava/io/DataInputStream; // type@00f8 │ │ +021a06: 1224 |0017: const/4 v4, #int 2 // #2 │ │ +021a08: 4604 0204 |0018: aget-object v4, v2, v4 │ │ +021a0c: 1f04 0101 |001a: check-cast v4, Ljava/io/InputStream; // type@0101 │ │ +021a10: 7020 f004 4300 |001c: invoke-direct {v3, v4}, Ljava/io/DataInputStream;.:(Ljava/io/InputStream;)V // method@04f0 │ │ +021a16: 5b53 d802 |001f: iput-object v3, v5, Ldnsfilter/remote/RemoteAccessClient$RemoteStream;.in:Ljava/io/DataInputStream; // field@02d8 │ │ +021a1a: 2203 f900 |0021: new-instance v3, Ljava/io/DataOutputStream; // type@00f9 │ │ +021a1e: 1234 |0023: const/4 v4, #int 3 // #3 │ │ +021a20: 4604 0204 |0024: aget-object v4, v2, v4 │ │ +021a24: 1f04 0501 |0026: check-cast v4, Ljava/io/OutputStream; // type@0105 │ │ +021a28: 7020 f704 4300 |0028: invoke-direct {v3, v4}, Ljava/io/DataOutputStream;.:(Ljava/io/OutputStream;)V // method@04f7 │ │ +021a2e: 5b53 d902 |002b: iput-object v3, v5, Ldnsfilter/remote/RemoteAccessClient$RemoteStream;.out:Ljava/io/DataOutputStream; // field@02d9 │ │ +021a32: 4601 0201 |002d: aget-object v1, v2, v1 │ │ +021a36: 1f01 1e01 |002f: check-cast v1, Ljava/lang/Integer; // type@011e │ │ +021a3a: 6e10 6605 0100 |0031: invoke-virtual {v1}, Ljava/lang/Integer;.intValue:()I // method@0566 │ │ +021a40: 0a01 |0034: move-result v1 │ │ +021a42: 5951 dc02 |0035: iput v1, v5, Ldnsfilter/remote/RemoteAccessClient$RemoteStream;.streamConId:I // field@02dc │ │ +021a46: 5451 d902 |0037: iget-object v1, v5, Ldnsfilter/remote/RemoteAccessClient$RemoteStream;.out:Ljava/io/DataOutputStream; // field@02d9 │ │ +021a4a: 2202 2d01 |0039: new-instance v2, Ljava/lang/StringBuilder; // type@012d │ │ +021a4e: 7020 aa05 0200 |003b: invoke-direct {v2, v0}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05aa │ │ +021a54: 6e20 ac05 7200 |003e: invoke-virtual {v2, v7}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@05ac │ │ +021a5a: 1a07 0200 |0041: const-string v7, " │ │ " // string@0002 │ │ -021a62: 6e20 af05 7200 |0043: invoke-virtual {v2, v7}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -021a68: 6e10 b105 0200 |0046: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ -021a6e: 0c07 |0049: move-result-object v7 │ │ -021a70: 6e10 8f05 0700 |004a: invoke-virtual {v7}, Ljava/lang/String;.getBytes:()[B // method@058f │ │ -021a76: 0c07 |004d: move-result-object v7 │ │ -021a78: 6e20 fa04 7100 |004e: invoke-virtual {v1, v7}, Ljava/io/DataOutputStream;.write:([B)V // method@04fa │ │ -021a7e: 5457 d902 |0051: iget-object v7, v5, Ldnsfilter/remote/RemoteAccessClient$RemoteStream;.out:Ljava/io/DataOutputStream; // field@02d9 │ │ -021a82: 6e10 f904 0700 |0053: invoke-virtual {v7}, Ljava/io/DataOutputStream;.flush:()V // method@04f9 │ │ -021a88: 5457 d802 |0056: iget-object v7, v5, Ldnsfilter/remote/RemoteAccessClient$RemoteStream;.in:Ljava/io/DataInputStream; // field@02d8 │ │ -021a8c: 7110 9f07 0700 |0058: invoke-static {v7}, Lutil/Utils;.readLineFromStream:(Ljava/io/InputStream;)Ljava/lang/String; // method@079f │ │ -021a92: 0c07 |005b: move-result-object v7 │ │ -021a94: 1a00 fa03 |005c: const-string v0, "OK" // string@03fa │ │ -021a98: 6e20 8d05 0700 |005e: invoke-virtual {v7, v0}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058d │ │ -021a9e: 0a00 |0061: move-result v0 │ │ -021aa0: 3800 0b00 |0062: if-eqz v0, 006d // +000b │ │ -021aa4: 2206 2f01 |0064: new-instance v6, Ljava/lang/Thread; // type@012f │ │ -021aa8: 7020 b605 5600 |0066: invoke-direct {v6, v5}, Ljava/lang/Thread;.:(Ljava/lang/Runnable;)V // method@05b6 │ │ -021aae: 6e10 bc05 0600 |0069: invoke-virtual {v6}, Ljava/lang/Thread;.start:()V // method@05bc │ │ -021ab4: 0e00 |006c: return-void │ │ -021ab6: 2200 0001 |006d: new-instance v0, Ljava/io/IOException; // type@0100 │ │ -021aba: 7020 2105 7000 |006f: invoke-direct {v0, v7}, Ljava/io/IOException;.:(Ljava/lang/String;)V // method@0521 │ │ -021ac0: 2700 |0072: throw v0 │ │ -021ac2: 0d07 |0073: move-exception v7 │ │ -021ac4: 7110 6404 0600 |0074: invoke-static {v6}, Ldnsfilter/remote/RemoteAccessClient;.access$100:(Ldnsfilter/remote/RemoteAccessClient;)Lutil/LoggerInterface; // method@0464 │ │ -021aca: 0c00 |0077: move-result-object v0 │ │ -021acc: 2201 2d01 |0078: new-instance v1, Ljava/lang/StringBuilder; // type@012d │ │ -021ad0: 1a02 3304 |007a: const-string v2, "Remote action attach Remote Stream failed! " // string@0433 │ │ -021ad4: 7020 aa05 2100 |007c: invoke-direct {v1, v2}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05aa │ │ -021ada: 6e10 2405 0700 |007f: invoke-virtual {v7}, Ljava/io/IOException;.getMessage:()Ljava/lang/String; // method@0524 │ │ -021ae0: 0c02 |0082: move-result-object v2 │ │ -021ae2: 6e20 af05 2100 |0083: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -021ae8: 6e10 b105 0100 |0086: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ -021aee: 0c01 |0089: move-result-object v1 │ │ -021af0: 7220 3307 1000 |008a: invoke-interface {v0, v1}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0733 │ │ -021af6: 7110 6504 0600 |008d: invoke-static {v6}, Ldnsfilter/remote/RemoteAccessClient;.access$200:(Ldnsfilter/remote/RemoteAccessClient;)V // method@0465 │ │ -021afc: 2707 |0090: throw v7 │ │ +021a5e: 6e20 af05 7200 |0043: invoke-virtual {v2, v7}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +021a64: 6e10 b105 0200 |0046: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ +021a6a: 0c07 |0049: move-result-object v7 │ │ +021a6c: 6e10 8f05 0700 |004a: invoke-virtual {v7}, Ljava/lang/String;.getBytes:()[B // method@058f │ │ +021a72: 0c07 |004d: move-result-object v7 │ │ +021a74: 6e20 fa04 7100 |004e: invoke-virtual {v1, v7}, Ljava/io/DataOutputStream;.write:([B)V // method@04fa │ │ +021a7a: 5457 d902 |0051: iget-object v7, v5, Ldnsfilter/remote/RemoteAccessClient$RemoteStream;.out:Ljava/io/DataOutputStream; // field@02d9 │ │ +021a7e: 6e10 f904 0700 |0053: invoke-virtual {v7}, Ljava/io/DataOutputStream;.flush:()V // method@04f9 │ │ +021a84: 5457 d802 |0056: iget-object v7, v5, Ldnsfilter/remote/RemoteAccessClient$RemoteStream;.in:Ljava/io/DataInputStream; // field@02d8 │ │ +021a88: 7110 9f07 0700 |0058: invoke-static {v7}, Lutil/Utils;.readLineFromStream:(Ljava/io/InputStream;)Ljava/lang/String; // method@079f │ │ +021a8e: 0c07 |005b: move-result-object v7 │ │ +021a90: 1a00 fa03 |005c: const-string v0, "OK" // string@03fa │ │ +021a94: 6e20 8d05 0700 |005e: invoke-virtual {v7, v0}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058d │ │ +021a9a: 0a00 |0061: move-result v0 │ │ +021a9c: 3800 0b00 |0062: if-eqz v0, 006d // +000b │ │ +021aa0: 2206 2f01 |0064: new-instance v6, Ljava/lang/Thread; // type@012f │ │ +021aa4: 7020 b605 5600 |0066: invoke-direct {v6, v5}, Ljava/lang/Thread;.:(Ljava/lang/Runnable;)V // method@05b6 │ │ +021aaa: 6e10 bc05 0600 |0069: invoke-virtual {v6}, Ljava/lang/Thread;.start:()V // method@05bc │ │ +021ab0: 0e00 |006c: return-void │ │ +021ab2: 2200 0001 |006d: new-instance v0, Ljava/io/IOException; // type@0100 │ │ +021ab6: 7020 2105 7000 |006f: invoke-direct {v0, v7}, Ljava/io/IOException;.:(Ljava/lang/String;)V // method@0521 │ │ +021abc: 2700 |0072: throw v0 │ │ +021abe: 0d07 |0073: move-exception v7 │ │ +021ac0: 7110 6404 0600 |0074: invoke-static {v6}, Ldnsfilter/remote/RemoteAccessClient;.access$100:(Ldnsfilter/remote/RemoteAccessClient;)Lutil/LoggerInterface; // method@0464 │ │ +021ac6: 0c00 |0077: move-result-object v0 │ │ +021ac8: 2201 2d01 |0078: new-instance v1, Ljava/lang/StringBuilder; // type@012d │ │ +021acc: 1a02 3304 |007a: const-string v2, "Remote action attach Remote Stream failed! " // string@0433 │ │ +021ad0: 7020 aa05 2100 |007c: invoke-direct {v1, v2}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05aa │ │ +021ad6: 6e10 2405 0700 |007f: invoke-virtual {v7}, Ljava/io/IOException;.getMessage:()Ljava/lang/String; // method@0524 │ │ +021adc: 0c02 |0082: move-result-object v2 │ │ +021ade: 6e20 af05 2100 |0083: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +021ae4: 6e10 b105 0100 |0086: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ +021aea: 0c01 |0089: move-result-object v1 │ │ +021aec: 7220 3307 1000 |008a: invoke-interface {v0, v1}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0733 │ │ +021af2: 7110 6504 0600 |008d: invoke-static {v6}, Ldnsfilter/remote/RemoteAccessClient;.access$200:(Ldnsfilter/remote/RemoteAccessClient;)V // method@0465 │ │ +021af8: 2707 |0090: throw v7 │ │ catches : 2 │ │ 0x0037 - 0x0062 │ │ Ljava/io/IOException; -> 0x0073 │ │ 0x006d - 0x0073 │ │ Ljava/io/IOException; -> 0x0073 │ │ positions : │ │ 0x0002 line=574 │ │ @@ -24286,46 +24286,46 @@ │ │ type : '()V' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 5 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 58 16-bit code units │ │ -021bc8: |[021bc8] dnsfilter.remote.RemoteAccessClient$RemoteStream.confirmHeartBeat:()V │ │ -021bd8: 5440 d902 |0000: iget-object v0, v4, Ldnsfilter/remote/RemoteAccessClient$RemoteStream;.out:Ljava/io/DataOutputStream; // field@02d9 │ │ -021bdc: 1d00 |0002: monitor-enter v0 │ │ -021bde: 5441 d902 |0003: iget-object v1, v4, Ldnsfilter/remote/RemoteAccessClient$RemoteStream;.out:Ljava/io/DataOutputStream; // field@02d9 │ │ -021be2: 1a02 0f06 |0005: const-string v2, "confirmHeartBeat() │ │ +021bc4: |[021bc4] dnsfilter.remote.RemoteAccessClient$RemoteStream.confirmHeartBeat:()V │ │ +021bd4: 5440 d902 |0000: iget-object v0, v4, Ldnsfilter/remote/RemoteAccessClient$RemoteStream;.out:Ljava/io/DataOutputStream; // field@02d9 │ │ +021bd8: 1d00 |0002: monitor-enter v0 │ │ +021bda: 5441 d902 |0003: iget-object v1, v4, Ldnsfilter/remote/RemoteAccessClient$RemoteStream;.out:Ljava/io/DataOutputStream; // field@02d9 │ │ +021bde: 1a02 0f06 |0005: const-string v2, "confirmHeartBeat() │ │ " // string@060f │ │ -021be6: 6e10 8f05 0200 |0007: invoke-virtual {v2}, Ljava/lang/String;.getBytes:()[B // method@058f │ │ -021bec: 0c02 |000a: move-result-object v2 │ │ -021bee: 6e20 fa04 2100 |000b: invoke-virtual {v1, v2}, Ljava/io/DataOutputStream;.write:([B)V // method@04fa │ │ -021bf4: 5441 d902 |000e: iget-object v1, v4, Ldnsfilter/remote/RemoteAccessClient$RemoteStream;.out:Ljava/io/DataOutputStream; // field@02d9 │ │ -021bf8: 6e10 f904 0100 |0010: invoke-virtual {v1}, Ljava/io/DataOutputStream;.flush:()V // method@04f9 │ │ -021bfe: 1e00 |0013: monitor-exit v0 │ │ -021c00: 2825 |0014: goto 0039 // +0025 │ │ -021c02: 0d01 |0015: move-exception v1 │ │ -021c04: 1e00 |0016: monitor-exit v0 │ │ -021c06: 2701 |0017: throw v1 │ │ -021c08: 0d00 |0018: move-exception v0 │ │ -021c0a: 5441 dd02 |0019: iget-object v1, v4, Ldnsfilter/remote/RemoteAccessClient$RemoteStream;.this$0:Ldnsfilter/remote/RemoteAccessClient; // field@02dd │ │ -021c0e: 7110 6404 0100 |001b: invoke-static {v1}, Ldnsfilter/remote/RemoteAccessClient;.access$100:(Ldnsfilter/remote/RemoteAccessClient;)Lutil/LoggerInterface; // method@0464 │ │ -021c14: 0c01 |001e: move-result-object v1 │ │ -021c16: 2202 2d01 |001f: new-instance v2, Ljava/lang/StringBuilder; // type@012d │ │ -021c1a: 1a03 8801 |0021: const-string v3, "Exception during confirmHeartBeat()! " // string@0188 │ │ -021c1e: 7020 aa05 3200 |0023: invoke-direct {v2, v3}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05aa │ │ -021c24: 6e10 2605 0000 |0026: invoke-virtual {v0}, Ljava/io/IOException;.toString:()Ljava/lang/String; // method@0526 │ │ -021c2a: 0c00 |0029: move-result-object v0 │ │ -021c2c: 6e20 af05 0200 |002a: invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -021c32: 6e10 b105 0200 |002d: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ -021c38: 0c00 |0030: move-result-object v0 │ │ -021c3a: 7220 3307 0100 |0031: invoke-interface {v1, v0}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0733 │ │ -021c40: 5440 dd02 |0034: iget-object v0, v4, Ldnsfilter/remote/RemoteAccessClient$RemoteStream;.this$0:Ldnsfilter/remote/RemoteAccessClient; // field@02dd │ │ -021c44: 7110 6504 0000 |0036: invoke-static {v0}, Ldnsfilter/remote/RemoteAccessClient;.access$200:(Ldnsfilter/remote/RemoteAccessClient;)V // method@0465 │ │ -021c4a: 0e00 |0039: return-void │ │ +021be2: 6e10 8f05 0200 |0007: invoke-virtual {v2}, Ljava/lang/String;.getBytes:()[B // method@058f │ │ +021be8: 0c02 |000a: move-result-object v2 │ │ +021bea: 6e20 fa04 2100 |000b: invoke-virtual {v1, v2}, Ljava/io/DataOutputStream;.write:([B)V // method@04fa │ │ +021bf0: 5441 d902 |000e: iget-object v1, v4, Ldnsfilter/remote/RemoteAccessClient$RemoteStream;.out:Ljava/io/DataOutputStream; // field@02d9 │ │ +021bf4: 6e10 f904 0100 |0010: invoke-virtual {v1}, Ljava/io/DataOutputStream;.flush:()V // method@04f9 │ │ +021bfa: 1e00 |0013: monitor-exit v0 │ │ +021bfc: 2825 |0014: goto 0039 // +0025 │ │ +021bfe: 0d01 |0015: move-exception v1 │ │ +021c00: 1e00 |0016: monitor-exit v0 │ │ +021c02: 2701 |0017: throw v1 │ │ +021c04: 0d00 |0018: move-exception v0 │ │ +021c06: 5441 dd02 |0019: iget-object v1, v4, Ldnsfilter/remote/RemoteAccessClient$RemoteStream;.this$0:Ldnsfilter/remote/RemoteAccessClient; // field@02dd │ │ +021c0a: 7110 6404 0100 |001b: invoke-static {v1}, Ldnsfilter/remote/RemoteAccessClient;.access$100:(Ldnsfilter/remote/RemoteAccessClient;)Lutil/LoggerInterface; // method@0464 │ │ +021c10: 0c01 |001e: move-result-object v1 │ │ +021c12: 2202 2d01 |001f: new-instance v2, Ljava/lang/StringBuilder; // type@012d │ │ +021c16: 1a03 8801 |0021: const-string v3, "Exception during confirmHeartBeat()! " // string@0188 │ │ +021c1a: 7020 aa05 3200 |0023: invoke-direct {v2, v3}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05aa │ │ +021c20: 6e10 2605 0000 |0026: invoke-virtual {v0}, Ljava/io/IOException;.toString:()Ljava/lang/String; // method@0526 │ │ +021c26: 0c00 |0029: move-result-object v0 │ │ +021c28: 6e20 af05 0200 |002a: invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +021c2e: 6e10 b105 0200 |002d: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ +021c34: 0c00 |0030: move-result-object v0 │ │ +021c36: 7220 3307 0100 |0031: invoke-interface {v1, v0}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0733 │ │ +021c3c: 5440 dd02 |0034: iget-object v0, v4, Ldnsfilter/remote/RemoteAccessClient$RemoteStream;.this$0:Ldnsfilter/remote/RemoteAccessClient; // field@02dd │ │ +021c40: 7110 6504 0000 |0036: invoke-static {v0}, Ldnsfilter/remote/RemoteAccessClient;.access$200:(Ldnsfilter/remote/RemoteAccessClient;)V // method@0465 │ │ +021c46: 0e00 |0039: return-void │ │ catches : 3 │ │ 0x0000 - 0x0003 │ │ Ljava/io/IOException; -> 0x0018 │ │ 0x0003 - 0x0017 │ │ -> 0x0015 │ │ 0x0017 - 0x0018 │ │ Ljava/io/IOException; -> 0x0018 │ │ @@ -24344,36 +24344,36 @@ │ │ type : '([BIII)[B' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 6 │ │ ins : 5 │ │ outs : 2 │ │ insns size : 41 16-bit code units │ │ -021968: |[021968] dnsfilter.remote.RemoteAccessClient$RemoteStream.getBuffer:([BIII)[B │ │ -021978: 3543 0800 |0000: if-ge v3, v4, 0008 // +0008 │ │ -02197c: 2120 |0002: array-length v0, v2 │ │ -02197e: 3740 0500 |0003: if-le v0, v4, 0008 // +0005 │ │ -021982: 2342 9d01 |0005: new-array v2, v4, [B // type@019d │ │ -021986: 1102 |0007: return-object v2 │ │ -021988: 3543 0300 |0008: if-ge v3, v4, 000b // +0003 │ │ -02198c: 1102 |000a: return-object v2 │ │ -02198e: 3653 0500 |000b: if-gt v3, v5, 0010 // +0005 │ │ -021992: 2332 9d01 |000d: new-array v2, v3, [B // type@019d │ │ -021996: 1102 |000f: return-object v2 │ │ -021998: 2202 0001 |0010: new-instance v2, Ljava/io/IOException; // type@0100 │ │ -02199c: 2204 2d01 |0012: new-instance v4, Ljava/lang/StringBuilder; // type@012d │ │ -0219a0: 1a05 d300 |0014: const-string v5, "Buffer Overflow: " // string@00d3 │ │ -0219a4: 7020 aa05 5400 |0016: invoke-direct {v4, v5}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05aa │ │ -0219aa: 6e20 ac05 3400 |0019: invoke-virtual {v4, v3}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@05ac │ │ -0219b0: 1a03 1800 |001c: const-string v3, " bytes!" // string@0018 │ │ -0219b4: 6e20 af05 3400 |001e: invoke-virtual {v4, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -0219ba: 6e10 b105 0400 |0021: invoke-virtual {v4}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ -0219c0: 0c03 |0024: move-result-object v3 │ │ -0219c2: 7020 2105 3200 |0025: invoke-direct {v2, v3}, Ljava/io/IOException;.:(Ljava/lang/String;)V // method@0521 │ │ -0219c8: 2702 |0028: throw v2 │ │ +021964: |[021964] dnsfilter.remote.RemoteAccessClient$RemoteStream.getBuffer:([BIII)[B │ │ +021974: 3543 0800 |0000: if-ge v3, v4, 0008 // +0008 │ │ +021978: 2120 |0002: array-length v0, v2 │ │ +02197a: 3740 0500 |0003: if-le v0, v4, 0008 // +0005 │ │ +02197e: 2342 9d01 |0005: new-array v2, v4, [B // type@019d │ │ +021982: 1102 |0007: return-object v2 │ │ +021984: 3543 0300 |0008: if-ge v3, v4, 000b // +0003 │ │ +021988: 1102 |000a: return-object v2 │ │ +02198a: 3653 0500 |000b: if-gt v3, v5, 0010 // +0005 │ │ +02198e: 2332 9d01 |000d: new-array v2, v3, [B // type@019d │ │ +021992: 1102 |000f: return-object v2 │ │ +021994: 2202 0001 |0010: new-instance v2, Ljava/io/IOException; // type@0100 │ │ +021998: 2204 2d01 |0012: new-instance v4, Ljava/lang/StringBuilder; // type@012d │ │ +02199c: 1a05 d300 |0014: const-string v5, "Buffer Overflow: " // string@00d3 │ │ +0219a0: 7020 aa05 5400 |0016: invoke-direct {v4, v5}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05aa │ │ +0219a6: 6e20 ac05 3400 |0019: invoke-virtual {v4, v3}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@05ac │ │ +0219ac: 1a03 1800 |001c: const-string v3, " bytes!" // string@0018 │ │ +0219b0: 6e20 af05 3400 |001e: invoke-virtual {v4, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +0219b6: 6e10 b105 0400 |0021: invoke-virtual {v4}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ +0219bc: 0c03 |0024: move-result-object v3 │ │ +0219be: 7020 2105 3200 |0025: invoke-direct {v2, v3}, Ljava/io/IOException;.:(Ljava/lang/String;)V // method@0521 │ │ +0219c4: 2702 |0028: throw v2 │ │ catches : (none) │ │ positions : │ │ 0x0002 line=658 │ │ 0x0005 line=660 │ │ 0x000d line=669 │ │ 0x0010 line=666 │ │ locals : │ │ @@ -24389,51 +24389,51 @@ │ │ type : '()V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 6 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 67 16-bit code units │ │ -021b18: |[021b18] dnsfilter.remote.RemoteAccessClient$RemoteStream.close:()V │ │ -021b28: 1a00 8b01 |0000: const-string v0, "Exception during remote configuration release: " // string@018b │ │ -021b2c: 1211 |0002: const/4 v1, #int 1 // #1 │ │ -021b2e: 5c51 da02 |0003: iput-boolean v1, v5, Ldnsfilter/remote/RemoteAccessClient$RemoteStream;.stopped:Z // field@02da │ │ -021b32: 5451 db02 |0005: iget-object v1, v5, Ldnsfilter/remote/RemoteAccessClient$RemoteStream;.streamCon:Ljava/net/Socket; // field@02db │ │ -021b36: 3801 3b00 |0007: if-eqz v1, 0042 // +003b │ │ -021b3a: 5451 d902 |0009: iget-object v1, v5, Ldnsfilter/remote/RemoteAccessClient$RemoteStream;.out:Ljava/io/DataOutputStream; // field@02d9 │ │ -021b3e: 1d01 |000b: monitor-enter v1 │ │ -021b40: 5452 d902 |000c: iget-object v2, v5, Ldnsfilter/remote/RemoteAccessClient$RemoteStream;.out:Ljava/io/DataOutputStream; // field@02d9 │ │ -021b44: 1a03 d309 |000e: const-string v3, "releaseConfiguration()" // string@09d3 │ │ -021b48: 6e10 8f05 0300 |0010: invoke-virtual {v3}, Ljava/lang/String;.getBytes:()[B // method@058f │ │ -021b4e: 0c03 |0013: move-result-object v3 │ │ -021b50: 6e20 fa04 3200 |0014: invoke-virtual {v2, v3}, Ljava/io/DataOutputStream;.write:([B)V // method@04fa │ │ -021b56: 5452 d902 |0017: iget-object v2, v5, Ldnsfilter/remote/RemoteAccessClient$RemoteStream;.out:Ljava/io/DataOutputStream; // field@02d9 │ │ -021b5a: 6e10 f904 0200 |0019: invoke-virtual {v2}, Ljava/io/DataOutputStream;.flush:()V // method@04f9 │ │ -021b60: 281d |001c: goto 0039 // +001d │ │ -021b62: 0d00 |001d: move-exception v0 │ │ -021b64: 2822 |001e: goto 0040 // +0022 │ │ -021b66: 0d02 |001f: move-exception v2 │ │ -021b68: 5453 dd02 |0020: iget-object v3, v5, Ldnsfilter/remote/RemoteAccessClient$RemoteStream;.this$0:Ldnsfilter/remote/RemoteAccessClient; // field@02dd │ │ -021b6c: 7110 6404 0300 |0022: invoke-static {v3}, Ldnsfilter/remote/RemoteAccessClient;.access$100:(Ldnsfilter/remote/RemoteAccessClient;)Lutil/LoggerInterface; // method@0464 │ │ -021b72: 0c03 |0025: move-result-object v3 │ │ -021b74: 2204 2d01 |0026: new-instance v4, Ljava/lang/StringBuilder; // type@012d │ │ -021b78: 7020 aa05 0400 |0028: invoke-direct {v4, v0}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05aa │ │ -021b7e: 6e10 2605 0200 |002b: invoke-virtual {v2}, Ljava/io/IOException;.toString:()Ljava/lang/String; // method@0526 │ │ -021b84: 0c00 |002e: move-result-object v0 │ │ -021b86: 6e20 af05 0400 |002f: invoke-virtual {v4, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -021b8c: 6e10 b105 0400 |0032: invoke-virtual {v4}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ -021b92: 0c00 |0035: move-result-object v0 │ │ -021b94: 7220 3307 0300 |0036: invoke-interface {v3, v0}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0733 │ │ -021b9a: 5450 db02 |0039: iget-object v0, v5, Ldnsfilter/remote/RemoteAccessClient$RemoteStream;.streamCon:Ljava/net/Socket; // field@02db │ │ -021b9e: 7110 9207 0000 |003b: invoke-static {v0}, Lutil/Utils;.closeSocket:(Ljava/net/Socket;)V // method@0792 │ │ -021ba4: 1e01 |003e: monitor-exit v1 │ │ -021ba6: 2803 |003f: goto 0042 // +0003 │ │ -021ba8: 1e01 |0040: monitor-exit v1 │ │ -021baa: 2700 |0041: throw v0 │ │ -021bac: 0e00 |0042: return-void │ │ +021b14: |[021b14] dnsfilter.remote.RemoteAccessClient$RemoteStream.close:()V │ │ +021b24: 1a00 8b01 |0000: const-string v0, "Exception during remote configuration release: " // string@018b │ │ +021b28: 1211 |0002: const/4 v1, #int 1 // #1 │ │ +021b2a: 5c51 da02 |0003: iput-boolean v1, v5, Ldnsfilter/remote/RemoteAccessClient$RemoteStream;.stopped:Z // field@02da │ │ +021b2e: 5451 db02 |0005: iget-object v1, v5, Ldnsfilter/remote/RemoteAccessClient$RemoteStream;.streamCon:Ljava/net/Socket; // field@02db │ │ +021b32: 3801 3b00 |0007: if-eqz v1, 0042 // +003b │ │ +021b36: 5451 d902 |0009: iget-object v1, v5, Ldnsfilter/remote/RemoteAccessClient$RemoteStream;.out:Ljava/io/DataOutputStream; // field@02d9 │ │ +021b3a: 1d01 |000b: monitor-enter v1 │ │ +021b3c: 5452 d902 |000c: iget-object v2, v5, Ldnsfilter/remote/RemoteAccessClient$RemoteStream;.out:Ljava/io/DataOutputStream; // field@02d9 │ │ +021b40: 1a03 d309 |000e: const-string v3, "releaseConfiguration()" // string@09d3 │ │ +021b44: 6e10 8f05 0300 |0010: invoke-virtual {v3}, Ljava/lang/String;.getBytes:()[B // method@058f │ │ +021b4a: 0c03 |0013: move-result-object v3 │ │ +021b4c: 6e20 fa04 3200 |0014: invoke-virtual {v2, v3}, Ljava/io/DataOutputStream;.write:([B)V // method@04fa │ │ +021b52: 5452 d902 |0017: iget-object v2, v5, Ldnsfilter/remote/RemoteAccessClient$RemoteStream;.out:Ljava/io/DataOutputStream; // field@02d9 │ │ +021b56: 6e10 f904 0200 |0019: invoke-virtual {v2}, Ljava/io/DataOutputStream;.flush:()V // method@04f9 │ │ +021b5c: 281d |001c: goto 0039 // +001d │ │ +021b5e: 0d00 |001d: move-exception v0 │ │ +021b60: 2822 |001e: goto 0040 // +0022 │ │ +021b62: 0d02 |001f: move-exception v2 │ │ +021b64: 5453 dd02 |0020: iget-object v3, v5, Ldnsfilter/remote/RemoteAccessClient$RemoteStream;.this$0:Ldnsfilter/remote/RemoteAccessClient; // field@02dd │ │ +021b68: 7110 6404 0300 |0022: invoke-static {v3}, Ldnsfilter/remote/RemoteAccessClient;.access$100:(Ldnsfilter/remote/RemoteAccessClient;)Lutil/LoggerInterface; // method@0464 │ │ +021b6e: 0c03 |0025: move-result-object v3 │ │ +021b70: 2204 2d01 |0026: new-instance v4, Ljava/lang/StringBuilder; // type@012d │ │ +021b74: 7020 aa05 0400 |0028: invoke-direct {v4, v0}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05aa │ │ +021b7a: 6e10 2605 0200 |002b: invoke-virtual {v2}, Ljava/io/IOException;.toString:()Ljava/lang/String; // method@0526 │ │ +021b80: 0c00 |002e: move-result-object v0 │ │ +021b82: 6e20 af05 0400 |002f: invoke-virtual {v4, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +021b88: 6e10 b105 0400 |0032: invoke-virtual {v4}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ +021b8e: 0c00 |0035: move-result-object v0 │ │ +021b90: 7220 3307 0300 |0036: invoke-interface {v3, v0}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0733 │ │ +021b96: 5450 db02 |0039: iget-object v0, v5, Ldnsfilter/remote/RemoteAccessClient$RemoteStream;.streamCon:Ljava/net/Socket; // field@02db │ │ +021b9a: 7110 9207 0000 |003b: invoke-static {v0}, Lutil/Utils;.closeSocket:(Ljava/net/Socket;)V // method@0792 │ │ +021ba0: 1e01 |003e: monitor-exit v1 │ │ +021ba2: 2803 |003f: goto 0042 // +0003 │ │ +021ba4: 1e01 |0040: monitor-exit v1 │ │ +021ba6: 2700 |0041: throw v0 │ │ +021ba8: 0e00 |0042: return-void │ │ catches : 2 │ │ 0x000c - 0x001c │ │ Ljava/io/IOException; -> 0x001f │ │ -> 0x001d │ │ 0x0020 - 0x0041 │ │ -> 0x001d │ │ positions : │ │ @@ -24453,102 +24453,102 @@ │ │ type : '()V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 7 │ │ ins : 1 │ │ outs : 5 │ │ insns size : 202 16-bit code units │ │ -021c6c: |[021c6c] dnsfilter.remote.RemoteAccessClient$RemoteStream.run:()V │ │ -021c7c: 1300 0008 |0000: const/16 v0, #int 2048 // #800 │ │ -021c80: 2301 9d01 |0002: new-array v1, v0, [B // type@019d │ │ -021c84: 5562 da02 |0004: iget-boolean v2, v6, Ldnsfilter/remote/RemoteAccessClient$RemoteStream;.stopped:Z // field@02da │ │ -021c88: 3902 b100 |0006: if-nez v2, 00b7 // +00b1 │ │ -021c8c: 5462 d802 |0008: iget-object v2, v6, Ldnsfilter/remote/RemoteAccessClient$RemoteStream;.in:Ljava/io/DataInputStream; // field@02d8 │ │ -021c90: 6e10 f604 0200 |000a: invoke-virtual {v2}, Ljava/io/DataInputStream;.readShort:()S // method@04f6 │ │ -021c96: 0a02 |000d: move-result v2 │ │ -021c98: 5463 d802 |000e: iget-object v3, v6, Ldnsfilter/remote/RemoteAccessClient$RemoteStream;.in:Ljava/io/DataInputStream; // field@02d8 │ │ -021c9c: 6e10 f604 0300 |0010: invoke-virtual {v3}, Ljava/io/DataInputStream;.readShort:()S // method@04f6 │ │ -021ca2: 0a03 |0013: move-result v3 │ │ -021ca4: 1404 00a0 0f00 |0014: const v4, #float 1.43493e-39 // #000fa000 │ │ -021caa: 7054 5f04 1603 |0017: invoke-direct {v6, v1, v3, v0, v4}, Ldnsfilter/remote/RemoteAccessClient$RemoteStream;.getBuffer:([BIII)[B // method@045f │ │ -021cb0: 0c01 |001a: move-result-object v1 │ │ -021cb2: 5464 d802 |001b: iget-object v4, v6, Ldnsfilter/remote/RemoteAccessClient$RemoteStream;.in:Ljava/io/DataInputStream; // field@02d8 │ │ -021cb6: 1205 |001d: const/4 v5, #int 0 // #0 │ │ -021cb8: 6e40 f304 1435 |001e: invoke-virtual {v4, v1, v5, v3}, Ljava/io/DataInputStream;.readFully:([BII)V // method@04f3 │ │ -021cbe: 2b02 9700 0000 |0021: packed-switch v2, 000000b8 // +00000097 │ │ -021cc4: 2200 0001 |0024: new-instance v0, Ljava/io/IOException; // type@0100 │ │ -021cc8: 2857 |0026: goto 007d // +0057 │ │ -021cca: 5462 dd02 |0027: iget-object v2, v6, Ldnsfilter/remote/RemoteAccessClient$RemoteStream;.this$0:Ldnsfilter/remote/RemoteAccessClient; // field@02dd │ │ -021cce: 7110 6904 0200 |0029: invoke-static {v2}, Ldnsfilter/remote/RemoteAccessClient;.access$600:(Ldnsfilter/remote/RemoteAccessClient;)V // method@0469 │ │ -021cd4: 28d8 |002c: goto 0004 // -0028 │ │ -021cd6: 5462 dd02 |002d: iget-object v2, v6, Ldnsfilter/remote/RemoteAccessClient$RemoteStream;.this$0:Ldnsfilter/remote/RemoteAccessClient; // field@02dd │ │ -021cda: 7110 6804 0200 |002f: invoke-static {v2}, Ldnsfilter/remote/RemoteAccessClient;.access$500:(Ldnsfilter/remote/RemoteAccessClient;)V // method@0468 │ │ -021ce0: 7010 5e04 0600 |0032: invoke-direct {v6}, Ldnsfilter/remote/RemoteAccessClient$RemoteStream;.confirmHeartBeat:()V // method@045e │ │ -021ce6: 28cf |0035: goto 0004 // -0031 │ │ -021ce8: 5462 dd02 |0036: iget-object v2, v6, Ldnsfilter/remote/RemoteAccessClient$RemoteStream;.this$0:Ldnsfilter/remote/RemoteAccessClient; // field@02dd │ │ -021cec: 2204 2b01 |0038: new-instance v4, Ljava/lang/String; // type@012b │ │ -021cf0: 7040 8805 1435 |003a: invoke-direct {v4, v1, v5, v3}, Ljava/lang/String;.:([BII)V // method@0588 │ │ -021cf6: 7110 6705 0400 |003d: invoke-static {v4}, Ljava/lang/Integer;.parseInt:(Ljava/lang/String;)I // method@0567 │ │ -021cfc: 0a03 |0040: move-result v3 │ │ -021cfe: 7120 6704 3200 |0041: invoke-static {v2, v3}, Ldnsfilter/remote/RemoteAccessClient;.access$402:(Ldnsfilter/remote/RemoteAccessClient;I)I // method@0467 │ │ -021d04: 28c0 |0044: goto 0004 // -0040 │ │ -021d06: 5462 dd02 |0045: iget-object v2, v6, Ldnsfilter/remote/RemoteAccessClient$RemoteStream;.this$0:Ldnsfilter/remote/RemoteAccessClient; // field@02dd │ │ -021d0a: 2204 2b01 |0047: new-instance v4, Ljava/lang/String; // type@012b │ │ -021d0e: 7040 8805 1435 |0049: invoke-direct {v4, v1, v5, v3}, Ljava/lang/String;.:([BII)V // method@0588 │ │ -021d14: 7120 6604 4200 |004c: invoke-static {v2, v4}, Ldnsfilter/remote/RemoteAccessClient;.access$302:(Ldnsfilter/remote/RemoteAccessClient;Ljava/lang/String;)Ljava/lang/String; // method@0466 │ │ -021d1a: 28b5 |004f: goto 0004 // -004b │ │ -021d1c: 5462 dd02 |0050: iget-object v2, v6, Ldnsfilter/remote/RemoteAccessClient$RemoteStream;.this$0:Ldnsfilter/remote/RemoteAccessClient; // field@02dd │ │ -021d20: 7110 6404 0200 |0052: invoke-static {v2}, Ldnsfilter/remote/RemoteAccessClient;.access$100:(Ldnsfilter/remote/RemoteAccessClient;)Lutil/LoggerInterface; // method@0464 │ │ -021d26: 0c02 |0055: move-result-object v2 │ │ -021d28: 2204 2b01 |0056: new-instance v4, Ljava/lang/String; // type@012b │ │ -021d2c: 7040 8805 1435 |0058: invoke-direct {v4, v1, v5, v3}, Ljava/lang/String;.:([BII)V // method@0588 │ │ -021d32: 7220 3407 4200 |005b: invoke-interface {v2, v4}, Lutil/LoggerInterface;.message:(Ljava/lang/String;)V // method@0734 │ │ -021d38: 28a6 |005e: goto 0004 // -005a │ │ -021d3a: 5462 dd02 |005f: iget-object v2, v6, Ldnsfilter/remote/RemoteAccessClient$RemoteStream;.this$0:Ldnsfilter/remote/RemoteAccessClient; // field@02dd │ │ -021d3e: 7110 6404 0200 |0061: invoke-static {v2}, Ldnsfilter/remote/RemoteAccessClient;.access$100:(Ldnsfilter/remote/RemoteAccessClient;)Lutil/LoggerInterface; // method@0464 │ │ -021d44: 0c02 |0064: move-result-object v2 │ │ -021d46: 2204 2b01 |0065: new-instance v4, Ljava/lang/String; // type@012b │ │ -021d4a: 7040 8805 1435 |0067: invoke-direct {v4, v1, v5, v3}, Ljava/lang/String;.:([BII)V // method@0588 │ │ -021d50: 7220 3307 4200 |006a: invoke-interface {v2, v4}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0733 │ │ -021d56: 2897 |006d: goto 0004 // -0069 │ │ -021d58: 5462 dd02 |006e: iget-object v2, v6, Ldnsfilter/remote/RemoteAccessClient$RemoteStream;.this$0:Ldnsfilter/remote/RemoteAccessClient; // field@02dd │ │ -021d5c: 7110 6404 0200 |0070: invoke-static {v2}, Ldnsfilter/remote/RemoteAccessClient;.access$100:(Ldnsfilter/remote/RemoteAccessClient;)Lutil/LoggerInterface; // method@0464 │ │ -021d62: 0c02 |0073: move-result-object v2 │ │ -021d64: 2204 2b01 |0074: new-instance v4, Ljava/lang/String; // type@012b │ │ -021d68: 7040 8805 1435 |0076: invoke-direct {v4, v1, v5, v3}, Ljava/lang/String;.:([BII)V // method@0588 │ │ -021d6e: 7220 3107 4200 |0079: invoke-interface {v2, v4}, Lutil/LoggerInterface;.log:(Ljava/lang/String;)V // method@0731 │ │ -021d74: 2888 |007c: goto 0004 // -0078 │ │ -021d76: 2201 2d01 |007d: new-instance v1, Ljava/lang/StringBuilder; // type@012d │ │ -021d7a: 7010 a905 0100 |007f: invoke-direct {v1}, Ljava/lang/StringBuilder;.:()V // method@05a9 │ │ -021d80: 1a03 8d04 |0082: const-string v3, "Unknown message type: " // string@048d │ │ -021d84: 6e20 af05 3100 |0084: invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -021d8a: 6e20 ac05 2100 |0087: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@05ac │ │ -021d90: 6e10 b105 0100 |008a: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ -021d96: 0c01 |008d: move-result-object v1 │ │ -021d98: 7020 2105 1000 |008e: invoke-direct {v0, v1}, Ljava/io/IOException;.:(Ljava/lang/String;)V // method@0521 │ │ -021d9e: 2700 |0091: throw v0 │ │ -021da0: 0d00 |0092: move-exception v0 │ │ -021da2: 5561 da02 |0093: iget-boolean v1, v6, Ldnsfilter/remote/RemoteAccessClient$RemoteStream;.stopped:Z // field@02da │ │ -021da6: 3901 2200 |0095: if-nez v1, 00b7 // +0022 │ │ -021daa: 5461 dd02 |0097: iget-object v1, v6, Ldnsfilter/remote/RemoteAccessClient$RemoteStream;.this$0:Ldnsfilter/remote/RemoteAccessClient; // field@02dd │ │ -021dae: 7110 6404 0100 |0099: invoke-static {v1}, Ldnsfilter/remote/RemoteAccessClient;.access$100:(Ldnsfilter/remote/RemoteAccessClient;)Lutil/LoggerInterface; // method@0464 │ │ -021db4: 0c01 |009c: move-result-object v1 │ │ -021db6: 2202 2d01 |009d: new-instance v2, Ljava/lang/StringBuilder; // type@012d │ │ -021dba: 1a03 8701 |009f: const-string v3, "Exception during RemoteStream read! " // string@0187 │ │ -021dbe: 7020 aa05 3200 |00a1: invoke-direct {v2, v3}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05aa │ │ -021dc4: 6e10 6105 0000 |00a4: invoke-virtual {v0}, Ljava/lang/Exception;.toString:()Ljava/lang/String; // method@0561 │ │ -021dca: 0c00 |00a7: move-result-object v0 │ │ -021dcc: 6e20 af05 0200 |00a8: invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -021dd2: 6e10 b105 0200 |00ab: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ -021dd8: 0c00 |00ae: move-result-object v0 │ │ -021dda: 7220 3307 0100 |00af: invoke-interface {v1, v0}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0733 │ │ -021de0: 5460 dd02 |00b2: iget-object v0, v6, Ldnsfilter/remote/RemoteAccessClient$RemoteStream;.this$0:Ldnsfilter/remote/RemoteAccessClient; // field@02dd │ │ -021de4: 7110 6504 0000 |00b4: invoke-static {v0}, Ldnsfilter/remote/RemoteAccessClient;.access$200:(Ldnsfilter/remote/RemoteAccessClient;)V // method@0465 │ │ -021dea: 0e00 |00b7: return-void │ │ -021dec: 0001 0700 0100 0000 4d00 0000 3e00 ... |00b8: packed-switch-data (18 units) │ │ +021c68: |[021c68] dnsfilter.remote.RemoteAccessClient$RemoteStream.run:()V │ │ +021c78: 1300 0008 |0000: const/16 v0, #int 2048 // #800 │ │ +021c7c: 2301 9d01 |0002: new-array v1, v0, [B // type@019d │ │ +021c80: 5562 da02 |0004: iget-boolean v2, v6, Ldnsfilter/remote/RemoteAccessClient$RemoteStream;.stopped:Z // field@02da │ │ +021c84: 3902 b100 |0006: if-nez v2, 00b7 // +00b1 │ │ +021c88: 5462 d802 |0008: iget-object v2, v6, Ldnsfilter/remote/RemoteAccessClient$RemoteStream;.in:Ljava/io/DataInputStream; // field@02d8 │ │ +021c8c: 6e10 f604 0200 |000a: invoke-virtual {v2}, Ljava/io/DataInputStream;.readShort:()S // method@04f6 │ │ +021c92: 0a02 |000d: move-result v2 │ │ +021c94: 5463 d802 |000e: iget-object v3, v6, Ldnsfilter/remote/RemoteAccessClient$RemoteStream;.in:Ljava/io/DataInputStream; // field@02d8 │ │ +021c98: 6e10 f604 0300 |0010: invoke-virtual {v3}, Ljava/io/DataInputStream;.readShort:()S // method@04f6 │ │ +021c9e: 0a03 |0013: move-result v3 │ │ +021ca0: 1404 00a0 0f00 |0014: const v4, #float 1.43493e-39 // #000fa000 │ │ +021ca6: 7054 5f04 1603 |0017: invoke-direct {v6, v1, v3, v0, v4}, Ldnsfilter/remote/RemoteAccessClient$RemoteStream;.getBuffer:([BIII)[B // method@045f │ │ +021cac: 0c01 |001a: move-result-object v1 │ │ +021cae: 5464 d802 |001b: iget-object v4, v6, Ldnsfilter/remote/RemoteAccessClient$RemoteStream;.in:Ljava/io/DataInputStream; // field@02d8 │ │ +021cb2: 1205 |001d: const/4 v5, #int 0 // #0 │ │ +021cb4: 6e40 f304 1435 |001e: invoke-virtual {v4, v1, v5, v3}, Ljava/io/DataInputStream;.readFully:([BII)V // method@04f3 │ │ +021cba: 2b02 9700 0000 |0021: packed-switch v2, 000000b8 // +00000097 │ │ +021cc0: 2200 0001 |0024: new-instance v0, Ljava/io/IOException; // type@0100 │ │ +021cc4: 2857 |0026: goto 007d // +0057 │ │ +021cc6: 5462 dd02 |0027: iget-object v2, v6, Ldnsfilter/remote/RemoteAccessClient$RemoteStream;.this$0:Ldnsfilter/remote/RemoteAccessClient; // field@02dd │ │ +021cca: 7110 6904 0200 |0029: invoke-static {v2}, Ldnsfilter/remote/RemoteAccessClient;.access$600:(Ldnsfilter/remote/RemoteAccessClient;)V // method@0469 │ │ +021cd0: 28d8 |002c: goto 0004 // -0028 │ │ +021cd2: 5462 dd02 |002d: iget-object v2, v6, Ldnsfilter/remote/RemoteAccessClient$RemoteStream;.this$0:Ldnsfilter/remote/RemoteAccessClient; // field@02dd │ │ +021cd6: 7110 6804 0200 |002f: invoke-static {v2}, Ldnsfilter/remote/RemoteAccessClient;.access$500:(Ldnsfilter/remote/RemoteAccessClient;)V // method@0468 │ │ +021cdc: 7010 5e04 0600 |0032: invoke-direct {v6}, Ldnsfilter/remote/RemoteAccessClient$RemoteStream;.confirmHeartBeat:()V // method@045e │ │ +021ce2: 28cf |0035: goto 0004 // -0031 │ │ +021ce4: 5462 dd02 |0036: iget-object v2, v6, Ldnsfilter/remote/RemoteAccessClient$RemoteStream;.this$0:Ldnsfilter/remote/RemoteAccessClient; // field@02dd │ │ +021ce8: 2204 2b01 |0038: new-instance v4, Ljava/lang/String; // type@012b │ │ +021cec: 7040 8805 1435 |003a: invoke-direct {v4, v1, v5, v3}, Ljava/lang/String;.:([BII)V // method@0588 │ │ +021cf2: 7110 6705 0400 |003d: invoke-static {v4}, Ljava/lang/Integer;.parseInt:(Ljava/lang/String;)I // method@0567 │ │ +021cf8: 0a03 |0040: move-result v3 │ │ +021cfa: 7120 6704 3200 |0041: invoke-static {v2, v3}, Ldnsfilter/remote/RemoteAccessClient;.access$402:(Ldnsfilter/remote/RemoteAccessClient;I)I // method@0467 │ │ +021d00: 28c0 |0044: goto 0004 // -0040 │ │ +021d02: 5462 dd02 |0045: iget-object v2, v6, Ldnsfilter/remote/RemoteAccessClient$RemoteStream;.this$0:Ldnsfilter/remote/RemoteAccessClient; // field@02dd │ │ +021d06: 2204 2b01 |0047: new-instance v4, Ljava/lang/String; // type@012b │ │ +021d0a: 7040 8805 1435 |0049: invoke-direct {v4, v1, v5, v3}, Ljava/lang/String;.:([BII)V // method@0588 │ │ +021d10: 7120 6604 4200 |004c: invoke-static {v2, v4}, Ldnsfilter/remote/RemoteAccessClient;.access$302:(Ldnsfilter/remote/RemoteAccessClient;Ljava/lang/String;)Ljava/lang/String; // method@0466 │ │ +021d16: 28b5 |004f: goto 0004 // -004b │ │ +021d18: 5462 dd02 |0050: iget-object v2, v6, Ldnsfilter/remote/RemoteAccessClient$RemoteStream;.this$0:Ldnsfilter/remote/RemoteAccessClient; // field@02dd │ │ +021d1c: 7110 6404 0200 |0052: invoke-static {v2}, Ldnsfilter/remote/RemoteAccessClient;.access$100:(Ldnsfilter/remote/RemoteAccessClient;)Lutil/LoggerInterface; // method@0464 │ │ +021d22: 0c02 |0055: move-result-object v2 │ │ +021d24: 2204 2b01 |0056: new-instance v4, Ljava/lang/String; // type@012b │ │ +021d28: 7040 8805 1435 |0058: invoke-direct {v4, v1, v5, v3}, Ljava/lang/String;.:([BII)V // method@0588 │ │ +021d2e: 7220 3407 4200 |005b: invoke-interface {v2, v4}, Lutil/LoggerInterface;.message:(Ljava/lang/String;)V // method@0734 │ │ +021d34: 28a6 |005e: goto 0004 // -005a │ │ +021d36: 5462 dd02 |005f: iget-object v2, v6, Ldnsfilter/remote/RemoteAccessClient$RemoteStream;.this$0:Ldnsfilter/remote/RemoteAccessClient; // field@02dd │ │ +021d3a: 7110 6404 0200 |0061: invoke-static {v2}, Ldnsfilter/remote/RemoteAccessClient;.access$100:(Ldnsfilter/remote/RemoteAccessClient;)Lutil/LoggerInterface; // method@0464 │ │ +021d40: 0c02 |0064: move-result-object v2 │ │ +021d42: 2204 2b01 |0065: new-instance v4, Ljava/lang/String; // type@012b │ │ +021d46: 7040 8805 1435 |0067: invoke-direct {v4, v1, v5, v3}, Ljava/lang/String;.:([BII)V // method@0588 │ │ +021d4c: 7220 3307 4200 |006a: invoke-interface {v2, v4}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0733 │ │ +021d52: 2897 |006d: goto 0004 // -0069 │ │ +021d54: 5462 dd02 |006e: iget-object v2, v6, Ldnsfilter/remote/RemoteAccessClient$RemoteStream;.this$0:Ldnsfilter/remote/RemoteAccessClient; // field@02dd │ │ +021d58: 7110 6404 0200 |0070: invoke-static {v2}, Ldnsfilter/remote/RemoteAccessClient;.access$100:(Ldnsfilter/remote/RemoteAccessClient;)Lutil/LoggerInterface; // method@0464 │ │ +021d5e: 0c02 |0073: move-result-object v2 │ │ +021d60: 2204 2b01 |0074: new-instance v4, Ljava/lang/String; // type@012b │ │ +021d64: 7040 8805 1435 |0076: invoke-direct {v4, v1, v5, v3}, Ljava/lang/String;.:([BII)V // method@0588 │ │ +021d6a: 7220 3107 4200 |0079: invoke-interface {v2, v4}, Lutil/LoggerInterface;.log:(Ljava/lang/String;)V // method@0731 │ │ +021d70: 2888 |007c: goto 0004 // -0078 │ │ +021d72: 2201 2d01 |007d: new-instance v1, Ljava/lang/StringBuilder; // type@012d │ │ +021d76: 7010 a905 0100 |007f: invoke-direct {v1}, Ljava/lang/StringBuilder;.:()V // method@05a9 │ │ +021d7c: 1a03 8d04 |0082: const-string v3, "Unknown message type: " // string@048d │ │ +021d80: 6e20 af05 3100 |0084: invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +021d86: 6e20 ac05 2100 |0087: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@05ac │ │ +021d8c: 6e10 b105 0100 |008a: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ +021d92: 0c01 |008d: move-result-object v1 │ │ +021d94: 7020 2105 1000 |008e: invoke-direct {v0, v1}, Ljava/io/IOException;.:(Ljava/lang/String;)V // method@0521 │ │ +021d9a: 2700 |0091: throw v0 │ │ +021d9c: 0d00 |0092: move-exception v0 │ │ +021d9e: 5561 da02 |0093: iget-boolean v1, v6, Ldnsfilter/remote/RemoteAccessClient$RemoteStream;.stopped:Z // field@02da │ │ +021da2: 3901 2200 |0095: if-nez v1, 00b7 // +0022 │ │ +021da6: 5461 dd02 |0097: iget-object v1, v6, Ldnsfilter/remote/RemoteAccessClient$RemoteStream;.this$0:Ldnsfilter/remote/RemoteAccessClient; // field@02dd │ │ +021daa: 7110 6404 0100 |0099: invoke-static {v1}, Ldnsfilter/remote/RemoteAccessClient;.access$100:(Ldnsfilter/remote/RemoteAccessClient;)Lutil/LoggerInterface; // method@0464 │ │ +021db0: 0c01 |009c: move-result-object v1 │ │ +021db2: 2202 2d01 |009d: new-instance v2, Ljava/lang/StringBuilder; // type@012d │ │ +021db6: 1a03 8701 |009f: const-string v3, "Exception during RemoteStream read! " // string@0187 │ │ +021dba: 7020 aa05 3200 |00a1: invoke-direct {v2, v3}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05aa │ │ +021dc0: 6e10 6105 0000 |00a4: invoke-virtual {v0}, Ljava/lang/Exception;.toString:()Ljava/lang/String; // method@0561 │ │ +021dc6: 0c00 |00a7: move-result-object v0 │ │ +021dc8: 6e20 af05 0200 |00a8: invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +021dce: 6e10 b105 0200 |00ab: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ +021dd4: 0c00 |00ae: move-result-object v0 │ │ +021dd6: 7220 3307 0100 |00af: invoke-interface {v1, v0}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0733 │ │ +021ddc: 5460 dd02 |00b2: iget-object v0, v6, Ldnsfilter/remote/RemoteAccessClient$RemoteStream;.this$0:Ldnsfilter/remote/RemoteAccessClient; // field@02dd │ │ +021de0: 7110 6504 0000 |00b4: invoke-static {v0}, Ldnsfilter/remote/RemoteAccessClient;.access$200:(Ldnsfilter/remote/RemoteAccessClient;)V // method@0465 │ │ +021de6: 0e00 |00b7: return-void │ │ +021de8: 0001 0700 0100 0000 4d00 0000 3e00 ... |00b8: packed-switch-data (18 units) │ │ catches : 1 │ │ 0x0004 - 0x0092 │ │ Ljava/lang/Exception; -> 0x0092 │ │ positions : │ │ 0x0002 line=599 │ │ 0x0004 line=601 │ │ 0x0008 line=602 │ │ @@ -24649,53 +24649,53 @@ │ │ type : '()V' │ │ access : 0x10008 (STATIC CONSTRUCTOR) │ │ code - │ │ registers : 0 │ │ ins : 0 │ │ outs : 0 │ │ insns size : 1 16-bit code units │ │ -024200: |[024200] dnsfilter.remote.RemoteAccessServer.:()V │ │ -024210: 0e00 |0000: return-void │ │ +0241fc: |[0241fc] dnsfilter.remote.RemoteAccessServer.:()V │ │ +02420c: 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 │ │ -024214: |[024214] dnsfilter.remote.RemoteAccessServer.:(ILjava/lang/String;)V │ │ -024224: 7010 7505 0200 |0000: invoke-direct {v2}, Ljava/lang/Object;.:()V // method@0575 │ │ -02422a: 1200 |0003: const/4 v0, #int 0 // #0 │ │ -02422c: 5c20 0603 |0004: iput-boolean v0, v2, Ldnsfilter/remote/RemoteAccessServer;.stopped:Z // field@0306 │ │ -024230: 2200 5801 |0006: new-instance v0, Ljava/util/HashMap; // type@0158 │ │ -024234: 7010 2606 0000 |0008: invoke-direct {v0}, Ljava/util/HashMap;.:()V // method@0626 │ │ -02423a: 5b20 0503 |000b: iput-object v0, v2, Ldnsfilter/remote/RemoteAccessServer;.sessions:Ljava/util/HashMap; // field@0305 │ │ -02423e: 7110 ce06 0400 |000d: invoke-static {v4}, Lutil/Encryption;.init_AES:(Ljava/lang/String;)V // method@06ce │ │ -024244: 2204 3d01 |0010: new-instance v4, Ljava/net/ServerSocket; // type@013d │ │ -024248: 7020 e605 3400 |0012: invoke-direct {v4, v3}, Ljava/net/ServerSocket;.:(I)V // method@05e6 │ │ -02424e: 5b24 0303 |0015: iput-object v4, v2, Ldnsfilter/remote/RemoteAccessServer;.server:Ljava/net/ServerSocket; // field@0303 │ │ -024252: 2204 2f01 |0017: new-instance v4, Ljava/lang/Thread; // type@012f │ │ -024256: 7020 b605 2400 |0019: invoke-direct {v4, v2}, Ljava/lang/Thread;.:(Ljava/lang/Runnable;)V // method@05b6 │ │ -02425c: 6e10 bc05 0400 |001c: invoke-virtual {v4}, Ljava/lang/Thread;.start:()V // method@05bc │ │ -024262: 7100 2707 0000 |001f: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0727 │ │ -024268: 0c04 |0022: move-result-object v4 │ │ -02426a: 2200 2d01 |0023: new-instance v0, Ljava/lang/StringBuilder; // type@012d │ │ -02426e: 1a01 6204 |0025: const-string v1, "Started RemoteAccess Server on port " // string@0462 │ │ -024272: 7020 aa05 1000 |0027: invoke-direct {v0, v1}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05aa │ │ -024278: 6e20 ac05 3000 |002a: invoke-virtual {v0, v3}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@05ac │ │ -02427e: 6e10 b105 0000 |002d: invoke-virtual {v0}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ -024284: 0c03 |0030: move-result-object v3 │ │ -024286: 7220 3307 3400 |0031: invoke-interface {v4, v3}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0733 │ │ -02428c: 0e00 |0034: return-void │ │ +024210: |[024210] dnsfilter.remote.RemoteAccessServer.:(ILjava/lang/String;)V │ │ +024220: 7010 7505 0200 |0000: invoke-direct {v2}, Ljava/lang/Object;.:()V // method@0575 │ │ +024226: 1200 |0003: const/4 v0, #int 0 // #0 │ │ +024228: 5c20 0603 |0004: iput-boolean v0, v2, Ldnsfilter/remote/RemoteAccessServer;.stopped:Z // field@0306 │ │ +02422c: 2200 5801 |0006: new-instance v0, Ljava/util/HashMap; // type@0158 │ │ +024230: 7010 2606 0000 |0008: invoke-direct {v0}, Ljava/util/HashMap;.:()V // method@0626 │ │ +024236: 5b20 0503 |000b: iput-object v0, v2, Ldnsfilter/remote/RemoteAccessServer;.sessions:Ljava/util/HashMap; // field@0305 │ │ +02423a: 7110 ce06 0400 |000d: invoke-static {v4}, Lutil/Encryption;.init_AES:(Ljava/lang/String;)V // method@06ce │ │ +024240: 2204 3d01 |0010: new-instance v4, Ljava/net/ServerSocket; // type@013d │ │ +024244: 7020 e605 3400 |0012: invoke-direct {v4, v3}, Ljava/net/ServerSocket;.:(I)V // method@05e6 │ │ +02424a: 5b24 0303 |0015: iput-object v4, v2, Ldnsfilter/remote/RemoteAccessServer;.server:Ljava/net/ServerSocket; // field@0303 │ │ +02424e: 2204 2f01 |0017: new-instance v4, Ljava/lang/Thread; // type@012f │ │ +024252: 7020 b605 2400 |0019: invoke-direct {v4, v2}, Ljava/lang/Thread;.:(Ljava/lang/Runnable;)V // method@05b6 │ │ +024258: 6e10 bc05 0400 |001c: invoke-virtual {v4}, Ljava/lang/Thread;.start:()V // method@05bc │ │ +02425e: 7100 2707 0000 |001f: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0727 │ │ +024264: 0c04 |0022: move-result-object v4 │ │ +024266: 2200 2d01 |0023: new-instance v0, Ljava/lang/StringBuilder; // type@012d │ │ +02426a: 1a01 6204 |0025: const-string v1, "Started RemoteAccess Server on port " // string@0462 │ │ +02426e: 7020 aa05 1000 |0027: invoke-direct {v0, v1}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05aa │ │ +024274: 6e20 ac05 3000 |002a: invoke-virtual {v0, v3}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@05ac │ │ +02427a: 6e10 b105 0000 |002d: invoke-virtual {v0}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ +024280: 0c03 |0030: move-result-object v3 │ │ +024282: 7220 3307 3400 |0031: invoke-interface {v4, v3}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0733 │ │ +024288: 0e00 |0034: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=41 │ │ 0x0004 line=36 │ │ 0x0006 line=38 │ │ 0x000d line=42 │ │ 0x0010 line=43 │ │ @@ -24711,17 +24711,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 │ │ -0241e8: |[0241e8] dnsfilter.remote.RemoteAccessServer.access$200:(Ldnsfilter/remote/RemoteAccessServer;)Ljava/util/HashMap; │ │ -0241f8: 5400 0503 |0000: iget-object v0, v0, Ldnsfilter/remote/RemoteAccessServer;.sessions:Ljava/util/HashMap; // field@0305 │ │ -0241fc: 1100 |0002: return-object v0 │ │ +0241e4: |[0241e4] dnsfilter.remote.RemoteAccessServer.access$200:(Ldnsfilter/remote/RemoteAccessServer;)Ljava/util/HashMap; │ │ +0241f4: 5400 0503 |0000: iget-object v0, v0, Ldnsfilter/remote/RemoteAccessServer;.sessions:Ljava/util/HashMap; // field@0305 │ │ +0241f8: 1100 |0002: return-object v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=32 │ │ locals : │ │ 0x0000 - 0x0003 reg=0 (null) Ldnsfilter/remote/RemoteAccessServer; │ │ │ │ #3 : (in Ldnsfilter/remote/RemoteAccessServer;) │ │ @@ -24729,18 +24729,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 │ │ -024184: |[024184] dnsfilter.remote.RemoteAccessServer.access$300:(Ldnsfilter/remote/RemoteAccessServer;Ljava/io/InputStream;[B)Ljava/lang/String; │ │ -024194: 7030 a604 1002 |0000: invoke-direct {v0, v1, v2}, Ldnsfilter/remote/RemoteAccessServer;.readStringFromStream:(Ljava/io/InputStream;[B)Ljava/lang/String; // method@04a6 │ │ -02419a: 0c00 |0003: move-result-object v0 │ │ -02419c: 1100 |0004: return-object v0 │ │ +024180: |[024180] dnsfilter.remote.RemoteAccessServer.access$300:(Ldnsfilter/remote/RemoteAccessServer;Ljava/io/InputStream;[B)Ljava/lang/String; │ │ +024190: 7030 a604 1002 |0000: invoke-direct {v0, v1, v2}, Ldnsfilter/remote/RemoteAccessServer;.readStringFromStream:(Ljava/io/InputStream;[B)Ljava/lang/String; // method@04a6 │ │ +024196: 0c00 |0003: move-result-object v0 │ │ +024198: 1100 |0004: return-object v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=32 │ │ locals : │ │ 0x0000 - 0x0005 reg=0 (null) Ldnsfilter/remote/RemoteAccessServer; │ │ 0x0000 - 0x0005 reg=1 (null) Ljava/io/InputStream; │ │ 0x0000 - 0x0005 reg=2 (null) [B │ │ @@ -24750,30 +24750,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 │ │ -0241a0: |[0241a0] dnsfilter.remote.RemoteAccessServer.readStringFromStream:(Ljava/io/InputStream;[B)Ljava/lang/String; │ │ -0241b0: 1210 |0000: const/4 v0, #int 1 // #1 │ │ -0241b2: 1201 |0001: const/4 v1, #int 0 // #0 │ │ -0241b4: 7140 9e07 4310 |0002: invoke-static {v3, v4, v0, v1}, Lutil/Utils;.readLineBytesFromStream:(Ljava/io/InputStream;[BZZ)I // method@079e │ │ -0241ba: 0a03 |0005: move-result v3 │ │ -0241bc: 12f0 |0006: const/4 v0, #int -1 // #ff │ │ -0241be: 3203 0c00 |0007: if-eq v3, v0, 0013 // +000c │ │ -0241c2: 2200 2b01 |0009: new-instance v0, Ljava/lang/String; // type@012b │ │ -0241c6: 7040 8805 4031 |000b: invoke-direct {v0, v4, v1, v3}, Ljava/lang/String;.:([BII)V // method@0588 │ │ -0241cc: 6e10 a205 0000 |000e: invoke-virtual {v0}, Ljava/lang/String;.trim:()Ljava/lang/String; // method@05a2 │ │ -0241d2: 0c03 |0011: move-result-object v3 │ │ -0241d4: 1103 |0012: return-object v3 │ │ -0241d6: 2203 fa00 |0013: new-instance v3, Ljava/io/EOFException; // type@00fa │ │ -0241da: 1a04 6304 |0015: const-string v4, "Stream is closed!" // string@0463 │ │ -0241de: 7020 0005 4300 |0017: invoke-direct {v3, v4}, Ljava/io/EOFException;.:(Ljava/lang/String;)V // method@0500 │ │ -0241e4: 2703 |001a: throw v3 │ │ +02419c: |[02419c] dnsfilter.remote.RemoteAccessServer.readStringFromStream:(Ljava/io/InputStream;[B)Ljava/lang/String; │ │ +0241ac: 1210 |0000: const/4 v0, #int 1 // #1 │ │ +0241ae: 1201 |0001: const/4 v1, #int 0 // #0 │ │ +0241b0: 7140 9e07 4310 |0002: invoke-static {v3, v4, v0, v1}, Lutil/Utils;.readLineBytesFromStream:(Ljava/io/InputStream;[BZZ)I // method@079e │ │ +0241b6: 0a03 |0005: move-result v3 │ │ +0241b8: 12f0 |0006: const/4 v0, #int -1 // #ff │ │ +0241ba: 3203 0c00 |0007: if-eq v3, v0, 0013 // +000c │ │ +0241be: 2200 2b01 |0009: new-instance v0, Ljava/lang/String; // type@012b │ │ +0241c2: 7040 8805 4031 |000b: invoke-direct {v0, v4, v1, v3}, Ljava/lang/String;.:([BII)V // method@0588 │ │ +0241c8: 6e10 a205 0000 |000e: invoke-virtual {v0}, Ljava/lang/String;.trim:()Ljava/lang/String; // method@05a2 │ │ +0241ce: 0c03 |0011: move-result-object v3 │ │ +0241d0: 1103 |0012: return-object v3 │ │ +0241d2: 2203 fa00 |0013: new-instance v3, Ljava/io/EOFException; // type@00fa │ │ +0241d6: 1a04 6304 |0015: const-string v4, "Stream is closed!" // string@0463 │ │ +0241da: 7020 0005 4300 |0017: invoke-direct {v3, v4}, Ljava/io/EOFException;.:(Ljava/lang/String;)V // method@0500 │ │ +0241e0: 2703 |001a: throw v3 │ │ catches : (none) │ │ positions : │ │ 0x0002 line=50 │ │ 0x0009 line=55 │ │ 0x0013 line=53 │ │ locals : │ │ 0x0000 - 0x001b reg=2 this Ldnsfilter/remote/RemoteAccessServer; │ │ @@ -24786,33 +24786,33 @@ │ │ type : '()V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 4 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 33 16-bit code units │ │ -024290: |[024290] dnsfilter.remote.RemoteAccessServer.invalidate:()V │ │ -0242a0: 5430 0503 |0000: iget-object v0, v3, Ldnsfilter/remote/RemoteAccessServer;.sessions:Ljava/util/HashMap; // field@0305 │ │ -0242a4: 6e10 2e06 0000 |0002: invoke-virtual {v0}, Ljava/util/HashMap;.values:()Ljava/util/Collection; // method@062e │ │ -0242aa: 0c00 |0005: move-result-object v0 │ │ -0242ac: 5431 0503 |0006: iget-object v1, v3, Ldnsfilter/remote/RemoteAccessServer;.sessions:Ljava/util/HashMap; // field@0305 │ │ -0242b0: 6e10 2d06 0100 |0008: invoke-virtual {v1}, Ljava/util/HashMap;.size:()I // method@062d │ │ -0242b6: 0a01 |000b: move-result v1 │ │ -0242b8: 2311 a801 |000c: new-array v1, v1, [Ldnsfilter/remote/RemoteAccessServer$RemoteSession; // type@01a8 │ │ -0242bc: 7220 2006 1000 |000e: invoke-interface {v0, v1}, Ljava/util/Collection;.toArray:([Ljava/lang/Object;)[Ljava/lang/Object; // method@0620 │ │ -0242c2: 0c00 |0011: move-result-object v0 │ │ -0242c4: 1f00 a801 |0012: check-cast v0, [Ldnsfilter/remote/RemoteAccessServer$RemoteSession; // type@01a8 │ │ -0242c8: 1201 |0014: const/4 v1, #int 0 // #0 │ │ -0242ca: 2102 |0015: array-length v2, v0 │ │ -0242cc: 3521 0a00 |0016: if-ge v1, v2, 0020 // +000a │ │ -0242d0: 4602 0001 |0018: aget-object v2, v0, v1 │ │ -0242d4: 7110 9504 0200 |001a: invoke-static {v2}, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.access$000:(Ldnsfilter/remote/RemoteAccessServer$RemoteSession;)V // method@0495 │ │ -0242da: d801 0101 |001d: add-int/lit8 v1, v1, #int 1 // #01 │ │ -0242de: 28f6 |001f: goto 0015 // -000a │ │ -0242e0: 0e00 |0020: return-void │ │ +02428c: |[02428c] dnsfilter.remote.RemoteAccessServer.invalidate:()V │ │ +02429c: 5430 0503 |0000: iget-object v0, v3, Ldnsfilter/remote/RemoteAccessServer;.sessions:Ljava/util/HashMap; // field@0305 │ │ +0242a0: 6e10 2e06 0000 |0002: invoke-virtual {v0}, Ljava/util/HashMap;.values:()Ljava/util/Collection; // method@062e │ │ +0242a6: 0c00 |0005: move-result-object v0 │ │ +0242a8: 5431 0503 |0006: iget-object v1, v3, Ldnsfilter/remote/RemoteAccessServer;.sessions:Ljava/util/HashMap; // field@0305 │ │ +0242ac: 6e10 2d06 0100 |0008: invoke-virtual {v1}, Ljava/util/HashMap;.size:()I // method@062d │ │ +0242b2: 0a01 |000b: move-result v1 │ │ +0242b4: 2311 a801 |000c: new-array v1, v1, [Ldnsfilter/remote/RemoteAccessServer$RemoteSession; // type@01a8 │ │ +0242b8: 7220 2006 1000 |000e: invoke-interface {v0, v1}, Ljava/util/Collection;.toArray:([Ljava/lang/Object;)[Ljava/lang/Object; // method@0620 │ │ +0242be: 0c00 |0011: move-result-object v0 │ │ +0242c0: 1f00 a801 |0012: check-cast v0, [Ldnsfilter/remote/RemoteAccessServer$RemoteSession; // type@01a8 │ │ +0242c4: 1201 |0014: const/4 v1, #int 0 // #0 │ │ +0242c6: 2102 |0015: array-length v2, v0 │ │ +0242c8: 3521 0a00 |0016: if-ge v1, v2, 0020 // +000a │ │ +0242cc: 4602 0001 |0018: aget-object v2, v0, v1 │ │ +0242d0: 7110 9504 0200 |001a: invoke-static {v2}, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.access$000:(Ldnsfilter/remote/RemoteAccessServer$RemoteSession;)V // method@0495 │ │ +0242d6: d801 0101 |001d: add-int/lit8 v1, v1, #int 1 // #01 │ │ +0242da: 28f6 |001f: goto 0015 // -000a │ │ +0242dc: 0e00 |0020: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=59 │ │ 0x0015 line=60 │ │ 0x0018 line=61 │ │ locals : │ │ 0x0000 - 0x0021 reg=3 this Ldnsfilter/remote/RemoteAccessServer; │ │ @@ -24822,173 +24822,173 @@ │ │ type : '()V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 11 │ │ ins : 1 │ │ outs : 7 │ │ insns size : 338 16-bit code units │ │ -0242e4: |[0242e4] dnsfilter.remote.RemoteAccessServer.run:()V │ │ -0242f4: 1a00 0200 |0000: const-string v0, " │ │ +0242e0: |[0242e0] dnsfilter.remote.RemoteAccessServer.run:()V │ │ +0242f0: 1a00 0200 |0000: const-string v0, " │ │ " // string@0002 │ │ -0242f8: 55a1 0603 |0002: iget-boolean v1, v10, Ldnsfilter/remote/RemoteAccessServer;.stopped:Z // field@0306 │ │ -0242fc: 3901 4d01 |0004: if-nez v1, 0151 // +014d │ │ -024300: 54a1 0303 |0006: iget-object v1, v10, Ldnsfilter/remote/RemoteAccessServer;.server:Ljava/net/ServerSocket; // field@0303 │ │ -024304: 6e10 e705 0100 |0008: invoke-virtual {v1}, Ljava/net/ServerSocket;.accept:()Ljava/net/Socket; // method@05e7 │ │ -02430a: 0c01 |000b: move-result-object v1 │ │ -02430c: 6e10 ec05 0100 |000c: invoke-virtual {v1}, Ljava/net/Socket;.getInputStream:()Ljava/io/InputStream; // method@05ec │ │ -024312: 0c02 |000f: move-result-object v2 │ │ -024314: 7110 cc06 0200 |0010: invoke-static {v2}, Lutil/Encryption;.getDecryptedStream:(Ljava/io/InputStream;)Ljava/io/InputStream; // method@06cc │ │ -02431a: 0c05 |0013: move-result-object v5 │ │ -02431c: 6e10 ed05 0100 |0014: invoke-virtual {v1}, Ljava/net/Socket;.getOutputStream:()Ljava/io/OutputStream; // method@05ed │ │ -024322: 0c02 |0017: move-result-object v2 │ │ -024324: 1303 0004 |0018: const/16 v3, #int 1024 // #400 │ │ -024328: 7120 cd06 3200 |001a: invoke-static {v2, v3}, Lutil/Encryption;.getEncryptedOutputStream:(Ljava/io/OutputStream;I)Ljava/io/OutputStream; // method@06cd │ │ -02432e: 0c09 |001d: move-result-object v9 │ │ -024330: 2332 9d01 |001e: new-array v2, v3, [B // type@019d │ │ -024334: 7030 a604 5a02 |0020: invoke-direct {v10, v5, v2}, Ldnsfilter/remote/RemoteAccessServer;.readStringFromStream:(Ljava/io/InputStream;[B)Ljava/lang/String; // method@04a6 │ │ -02433a: 7030 a604 5a02 |0023: invoke-direct {v10, v5, v2}, Ldnsfilter/remote/RemoteAccessServer;.readStringFromStream:(Ljava/io/InputStream;[B)Ljava/lang/String; // method@04a6 │ │ -024340: 0c03 |0026: move-result-object v3 │ │ -024342: 1a04 fd08 |0027: const-string v4, "new_session" // string@08fd │ │ -024346: 6e20 8d05 4300 |0029: invoke-virtual {v3, v4}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058d │ │ -02434c: 0a04 |002c: move-result v4 │ │ -02434e: 1a06 fb03 |002d: const-string v6, "OK │ │ +0242f4: 55a1 0603 |0002: iget-boolean v1, v10, Ldnsfilter/remote/RemoteAccessServer;.stopped:Z // field@0306 │ │ +0242f8: 3901 4d01 |0004: if-nez v1, 0151 // +014d │ │ +0242fc: 54a1 0303 |0006: iget-object v1, v10, Ldnsfilter/remote/RemoteAccessServer;.server:Ljava/net/ServerSocket; // field@0303 │ │ +024300: 6e10 e705 0100 |0008: invoke-virtual {v1}, Ljava/net/ServerSocket;.accept:()Ljava/net/Socket; // method@05e7 │ │ +024306: 0c01 |000b: move-result-object v1 │ │ +024308: 6e10 ec05 0100 |000c: invoke-virtual {v1}, Ljava/net/Socket;.getInputStream:()Ljava/io/InputStream; // method@05ec │ │ +02430e: 0c02 |000f: move-result-object v2 │ │ +024310: 7110 cc06 0200 |0010: invoke-static {v2}, Lutil/Encryption;.getDecryptedStream:(Ljava/io/InputStream;)Ljava/io/InputStream; // method@06cc │ │ +024316: 0c05 |0013: move-result-object v5 │ │ +024318: 6e10 ed05 0100 |0014: invoke-virtual {v1}, Ljava/net/Socket;.getOutputStream:()Ljava/io/OutputStream; // method@05ed │ │ +02431e: 0c02 |0017: move-result-object v2 │ │ +024320: 1303 0004 |0018: const/16 v3, #int 1024 // #400 │ │ +024324: 7120 cd06 3200 |001a: invoke-static {v2, v3}, Lutil/Encryption;.getEncryptedOutputStream:(Ljava/io/OutputStream;I)Ljava/io/OutputStream; // method@06cd │ │ +02432a: 0c09 |001d: move-result-object v9 │ │ +02432c: 2332 9d01 |001e: new-array v2, v3, [B // type@019d │ │ +024330: 7030 a604 5a02 |0020: invoke-direct {v10, v5, v2}, Ldnsfilter/remote/RemoteAccessServer;.readStringFromStream:(Ljava/io/InputStream;[B)Ljava/lang/String; // method@04a6 │ │ +024336: 7030 a604 5a02 |0023: invoke-direct {v10, v5, v2}, Ldnsfilter/remote/RemoteAccessServer;.readStringFromStream:(Ljava/io/InputStream;[B)Ljava/lang/String; // method@04a6 │ │ +02433c: 0c03 |0026: move-result-object v3 │ │ +02433e: 1a04 fd08 |0027: const-string v4, "new_session" // string@08fd │ │ +024342: 6e20 8d05 4300 |0029: invoke-virtual {v3, v4}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058d │ │ +024348: 0a04 |002c: move-result v4 │ │ +02434a: 1a06 fb03 |002d: const-string v6, "OK │ │ " // string@03fb │ │ -024352: 3804 9100 |002f: if-eqz v4, 00c0 // +0091 │ │ -024356: 6002 0403 |0031: sget v2, Ldnsfilter/remote/RemoteAccessServer;.sessionId:I // field@0304 │ │ -02435a: d802 0201 |0033: add-int/lit8 v2, v2, #int 1 // #01 │ │ -02435e: 6702 0403 |0035: sput v2, Ldnsfilter/remote/RemoteAccessServer;.sessionId:I // field@0304 │ │ -024362: 6e10 8f05 0600 |0037: invoke-virtual {v6}, Ljava/lang/String;.getBytes:()[B // method@058f │ │ -024368: 0c02 |003a: move-result-object v2 │ │ -02436a: 6e20 3805 2900 |003b: invoke-virtual {v9, v2}, Ljava/io/OutputStream;.write:([B)V // method@0538 │ │ -024370: 2202 2d01 |003e: new-instance v2, Ljava/lang/StringBuilder; // type@012d │ │ -024374: 7010 a905 0200 |0040: invoke-direct {v2}, Ljava/lang/StringBuilder;.:()V // method@05a9 │ │ -02437a: 6003 0403 |0043: sget v3, Ldnsfilter/remote/RemoteAccessServer;.sessionId:I // field@0304 │ │ -02437e: 6e20 ac05 3200 |0045: invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@05ac │ │ -024384: 6e20 af05 0200 |0048: invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -02438a: 6e10 b105 0200 |004b: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ -024390: 0c02 |004e: move-result-object v2 │ │ -024392: 6e10 8f05 0200 |004f: invoke-virtual {v2}, Ljava/lang/String;.getBytes:()[B // method@058f │ │ -024398: 0c02 |0052: move-result-object v2 │ │ -02439a: 6e20 3805 2900 |0053: invoke-virtual {v9, v2}, Ljava/io/OutputStream;.write:([B)V // method@0538 │ │ -0243a0: 2202 2d01 |0056: new-instance v2, Ljava/lang/StringBuilder; // type@012d │ │ -0243a4: 7010 a905 0200 |0058: invoke-direct {v2}, Ljava/lang/StringBuilder;.:()V // method@05a9 │ │ -0243aa: 7100 5301 0000 |005b: invoke-static {}, Ldnsfilter/ConfigurationAccess;.getLocal:()Ldnsfilter/ConfigurationAccess; // method@0153 │ │ -0243b0: 0c03 |005e: move-result-object v3 │ │ -0243b2: 6e10 5501 0300 |005f: invoke-virtual {v3}, Ldnsfilter/ConfigurationAccess;.getVersion:()Ljava/lang/String; // method@0155 │ │ -0243b8: 0c03 |0062: move-result-object v3 │ │ -0243ba: 6e20 af05 3200 |0063: invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -0243c0: 6e20 af05 0200 |0066: invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -0243c6: 6e10 b105 0200 |0069: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ -0243cc: 0c02 |006c: move-result-object v2 │ │ -0243ce: 6e10 8f05 0200 |006d: invoke-virtual {v2}, Ljava/lang/String;.getBytes:()[B // method@058f │ │ -0243d4: 0c02 |0070: move-result-object v2 │ │ -0243d6: 6e20 3805 2900 |0071: invoke-virtual {v9, v2}, Ljava/io/OutputStream;.write:([B)V // method@0538 │ │ -0243dc: 2202 2d01 |0074: new-instance v2, Ljava/lang/StringBuilder; // type@012d │ │ -0243e0: 7010 a905 0200 |0076: invoke-direct {v2}, Ljava/lang/StringBuilder;.:()V // method@05a9 │ │ -0243e6: 7100 5301 0000 |0079: invoke-static {}, Ldnsfilter/ConfigurationAccess;.getLocal:()Ldnsfilter/ConfigurationAccess; // method@0153 │ │ -0243ec: 0c03 |007c: move-result-object v3 │ │ -0243ee: 6e10 5201 0300 |007d: invoke-virtual {v3}, Ldnsfilter/ConfigurationAccess;.getLastDNSAddress:()Ljava/lang/String; // method@0152 │ │ -0243f4: 0c03 |0080: move-result-object v3 │ │ -0243f6: 6e20 af05 3200 |0081: invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -0243fc: 6e20 af05 0200 |0084: invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -024402: 6e10 b105 0200 |0087: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ -024408: 0c02 |008a: move-result-object v2 │ │ -02440a: 6e10 8f05 0200 |008b: invoke-virtual {v2}, Ljava/lang/String;.getBytes:()[B // method@058f │ │ -024410: 0c02 |008e: move-result-object v2 │ │ -024412: 6e20 3805 2900 |008f: invoke-virtual {v9, v2}, Ljava/io/OutputStream;.write:([B)V // method@0538 │ │ -024418: 2202 2d01 |0092: new-instance v2, Ljava/lang/StringBuilder; // type@012d │ │ -02441c: 7010 a905 0200 |0094: invoke-direct {v2}, Ljava/lang/StringBuilder;.:()V // method@05a9 │ │ -024422: 7100 5301 0000 |0097: invoke-static {}, Ldnsfilter/ConfigurationAccess;.getLocal:()Ldnsfilter/ConfigurationAccess; // method@0153 │ │ -024428: 0c03 |009a: move-result-object v3 │ │ -02442a: 6e10 5801 0300 |009b: invoke-virtual {v3}, Ldnsfilter/ConfigurationAccess;.openConnectionsCount:()I // method@0158 │ │ -024430: 0a03 |009e: move-result v3 │ │ -024432: 6e20 ac05 3200 |009f: invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@05ac │ │ -024438: 6e20 af05 0200 |00a2: invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -02443e: 6e10 b105 0200 |00a5: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ -024444: 0c02 |00a8: move-result-object v2 │ │ -024446: 6e10 8f05 0200 |00a9: invoke-virtual {v2}, Ljava/lang/String;.getBytes:()[B // method@058f │ │ -02444c: 0c02 |00ac: move-result-object v2 │ │ -02444e: 6e20 3805 2900 |00ad: invoke-virtual {v9, v2}, Ljava/io/OutputStream;.write:([B)V // method@0538 │ │ -024454: 6e10 3605 0900 |00b0: invoke-virtual {v9}, Ljava/io/OutputStream;.flush:()V // method@0536 │ │ -02445a: 2202 ed00 |00b3: new-instance v2, Ldnsfilter/remote/RemoteAccessServer$RemoteSession; // type@00ed │ │ -02445e: 6007 0403 |00b5: sget v7, Ldnsfilter/remote/RemoteAccessServer;.sessionId:I // field@0304 │ │ -024462: 1208 |00b7: const/4 v8, #int 0 // #0 │ │ -024464: 07a3 |00b8: move-object v3, v10 │ │ -024466: 0714 |00b9: move-object v4, v1 │ │ -024468: 0796 |00ba: move-object v6, v9 │ │ -02446a: 7607 9404 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@0494 │ │ -024470: 2900 44ff |00be: goto/16 0002 // -00bc │ │ -024474: 1a04 ca09 |00c0: const-string v4, "reconnect_session" // string@09ca │ │ -024478: 6e20 8d05 4300 |00c2: invoke-virtual {v3, v4}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058d │ │ -02447e: 0a04 |00c5: move-result v4 │ │ -024480: 3804 4500 |00c6: if-eqz v4, 010b // +0045 │ │ -024484: 7030 a604 5a02 |00c8: invoke-direct {v10, v5, v2}, Ldnsfilter/remote/RemoteAccessServer;.readStringFromStream:(Ljava/io/InputStream;[B)Ljava/lang/String; // method@04a6 │ │ -02448a: 0c02 |00cb: move-result-object v2 │ │ -02448c: 7110 6705 0200 |00cc: invoke-static {v2}, Ljava/lang/Integer;.parseInt:(Ljava/lang/String;)I // method@0567 │ │ -024492: 0a02 |00cf: move-result v2 │ │ -024494: 54a3 0503 |00d0: iget-object v3, v10, Ldnsfilter/remote/RemoteAccessServer;.sessions:Ljava/util/HashMap; // field@0305 │ │ -024498: 7110 6a05 0200 |00d2: invoke-static {v2}, Ljava/lang/Integer;.valueOf:(I)Ljava/lang/Integer; // method@056a │ │ -02449e: 0c04 |00d5: move-result-object v4 │ │ -0244a0: 6e20 2a06 4300 |00d6: invoke-virtual {v3, v4}, Ljava/util/HashMap;.get:(Ljava/lang/Object;)Ljava/lang/Object; // method@062a │ │ -0244a6: 0c03 |00d9: move-result-object v3 │ │ -0244a8: 1f03 ed00 |00da: check-cast v3, Ldnsfilter/remote/RemoteAccessServer$RemoteSession; // type@00ed │ │ -0244ac: 3803 1100 |00dc: if-eqz v3, 00ed // +0011 │ │ -0244b0: 6e40 9e04 1395 |00de: invoke-virtual {v3, v1, v5, v9}, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.reconnectSession:(Ljava/net/Socket;Ljava/io/InputStream;Ljava/io/OutputStream;)V // method@049e │ │ -0244b6: 6e10 8f05 0600 |00e1: invoke-virtual {v6}, Ljava/lang/String;.getBytes:()[B // method@058f │ │ -0244bc: 0c02 |00e4: move-result-object v2 │ │ -0244be: 6e20 3805 2900 |00e5: invoke-virtual {v9, v2}, Ljava/io/OutputStream;.write:([B)V // method@0538 │ │ -0244c4: 6e10 3605 0900 |00e8: invoke-virtual {v9}, Ljava/io/OutputStream;.flush:()V // method@0536 │ │ -0244ca: 2900 17ff |00eb: goto/16 0002 // -00e9 │ │ -0244ce: 2203 0001 |00ed: new-instance v3, Ljava/io/IOException; // type@0100 │ │ -0244d2: 2204 2d01 |00ef: new-instance v4, Ljava/lang/StringBuilder; // type@012d │ │ -0244d6: 7010 a905 0400 |00f1: invoke-direct {v4}, Ljava/lang/StringBuilder;.:()V // method@05a9 │ │ -0244dc: 1a05 2704 |00f4: const-string v5, "Reconnect session not found:" // string@0427 │ │ -0244e0: 6e20 af05 5400 |00f6: invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -0244e6: 6e20 ac05 2400 |00f9: invoke-virtual {v4, v2}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@05ac │ │ -0244ec: 6e10 b105 0400 |00fc: invoke-virtual {v4}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ -0244f2: 0c02 |00ff: move-result-object v2 │ │ -0244f4: 7020 2105 2300 |0100: invoke-direct {v3, v2}, Ljava/io/IOException;.:(Ljava/lang/String;)V // method@0521 │ │ -0244fa: 2703 |0103: throw v3 │ │ -0244fc: 0d02 |0104: move-exception v2 │ │ -0244fe: 2203 0001 |0105: new-instance v3, Ljava/io/IOException; // type@0100 │ │ -024502: 7020 2305 2300 |0107: invoke-direct {v3, v2}, Ljava/io/IOException;.:(Ljava/lang/Throwable;)V // method@0523 │ │ -024508: 2703 |010a: throw v3 │ │ -02450a: 2202 0001 |010b: new-instance v2, Ljava/io/IOException; // type@0100 │ │ -02450e: 2204 2d01 |010d: new-instance v4, Ljava/lang/StringBuilder; // type@012d │ │ -024512: 7010 a905 0400 |010f: invoke-direct {v4}, Ljava/lang/StringBuilder;.:()V // method@05a9 │ │ -024518: 1a05 f401 |0112: const-string v5, "Invalid option: " // string@01f4 │ │ -02451c: 6e20 af05 5400 |0114: invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -024522: 6e20 af05 3400 |0117: invoke-virtual {v4, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -024528: 6e10 b105 0400 |011a: invoke-virtual {v4}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ -02452e: 0c03 |011d: move-result-object v3 │ │ -024530: 7020 2105 3200 |011e: invoke-direct {v2, v3}, Ljava/io/IOException;.:(Ljava/lang/String;)V // method@0521 │ │ -024536: 2702 |0121: throw v2 │ │ -024538: 0d02 |0122: move-exception v2 │ │ -02453a: 6e10 2605 0200 |0123: invoke-virtual {v2}, Ljava/io/IOException;.toString:()Ljava/lang/String; // method@0526 │ │ -024540: 0c03 |0126: move-result-object v3 │ │ -024542: 6e10 8f05 0300 |0127: invoke-virtual {v3}, Ljava/lang/String;.getBytes:()[B // method@058f │ │ -024548: 0c03 |012a: move-result-object v3 │ │ -02454a: 6e20 3805 3900 |012b: invoke-virtual {v9, v3}, Ljava/io/OutputStream;.write:([B)V // method@0538 │ │ -024550: 6e10 3605 0900 |012e: invoke-virtual {v9}, Ljava/io/OutputStream;.flush:()V // method@0536 │ │ -024556: 7110 9207 0100 |0131: invoke-static {v1}, Lutil/Utils;.closeSocket:(Ljava/net/Socket;)V // method@0792 │ │ -02455c: 2702 |0134: throw v2 │ │ -02455e: 0d01 |0135: move-exception v1 │ │ -024560: 7100 2707 0000 |0136: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0727 │ │ -024566: 0c02 |0139: move-result-object v2 │ │ -024568: 2203 2d01 |013a: new-instance v3, Ljava/lang/StringBuilder; // type@012d │ │ -02456c: 1a04 3f04 |013c: const-string v4, "RemoteServerException: " // string@043f │ │ -024570: 7020 aa05 4300 |013e: invoke-direct {v3, v4}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05aa │ │ -024576: 6e10 2605 0100 |0141: invoke-virtual {v1}, Ljava/io/IOException;.toString:()Ljava/lang/String; // method@0526 │ │ -02457c: 0c01 |0144: move-result-object v1 │ │ -02457e: 6e20 af05 1300 |0145: invoke-virtual {v3, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -024584: 6e10 b105 0300 |0148: invoke-virtual {v3}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ -02458a: 0c01 |014b: move-result-object v1 │ │ -02458c: 7220 3307 1200 |014c: invoke-interface {v2, v1}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0733 │ │ -024592: 2900 b3fe |014f: goto/16 0002 // -014d │ │ -024596: 0e00 |0151: return-void │ │ +02434e: 3804 9100 |002f: if-eqz v4, 00c0 // +0091 │ │ +024352: 6002 0403 |0031: sget v2, Ldnsfilter/remote/RemoteAccessServer;.sessionId:I // field@0304 │ │ +024356: d802 0201 |0033: add-int/lit8 v2, v2, #int 1 // #01 │ │ +02435a: 6702 0403 |0035: sput v2, Ldnsfilter/remote/RemoteAccessServer;.sessionId:I // field@0304 │ │ +02435e: 6e10 8f05 0600 |0037: invoke-virtual {v6}, Ljava/lang/String;.getBytes:()[B // method@058f │ │ +024364: 0c02 |003a: move-result-object v2 │ │ +024366: 6e20 3805 2900 |003b: invoke-virtual {v9, v2}, Ljava/io/OutputStream;.write:([B)V // method@0538 │ │ +02436c: 2202 2d01 |003e: new-instance v2, Ljava/lang/StringBuilder; // type@012d │ │ +024370: 7010 a905 0200 |0040: invoke-direct {v2}, Ljava/lang/StringBuilder;.:()V // method@05a9 │ │ +024376: 6003 0403 |0043: sget v3, Ldnsfilter/remote/RemoteAccessServer;.sessionId:I // field@0304 │ │ +02437a: 6e20 ac05 3200 |0045: invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@05ac │ │ +024380: 6e20 af05 0200 |0048: invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +024386: 6e10 b105 0200 |004b: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ +02438c: 0c02 |004e: move-result-object v2 │ │ +02438e: 6e10 8f05 0200 |004f: invoke-virtual {v2}, Ljava/lang/String;.getBytes:()[B // method@058f │ │ +024394: 0c02 |0052: move-result-object v2 │ │ +024396: 6e20 3805 2900 |0053: invoke-virtual {v9, v2}, Ljava/io/OutputStream;.write:([B)V // method@0538 │ │ +02439c: 2202 2d01 |0056: new-instance v2, Ljava/lang/StringBuilder; // type@012d │ │ +0243a0: 7010 a905 0200 |0058: invoke-direct {v2}, Ljava/lang/StringBuilder;.:()V // method@05a9 │ │ +0243a6: 7100 5301 0000 |005b: invoke-static {}, Ldnsfilter/ConfigurationAccess;.getLocal:()Ldnsfilter/ConfigurationAccess; // method@0153 │ │ +0243ac: 0c03 |005e: move-result-object v3 │ │ +0243ae: 6e10 5501 0300 |005f: invoke-virtual {v3}, Ldnsfilter/ConfigurationAccess;.getVersion:()Ljava/lang/String; // method@0155 │ │ +0243b4: 0c03 |0062: move-result-object v3 │ │ +0243b6: 6e20 af05 3200 |0063: invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +0243bc: 6e20 af05 0200 |0066: invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +0243c2: 6e10 b105 0200 |0069: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ +0243c8: 0c02 |006c: move-result-object v2 │ │ +0243ca: 6e10 8f05 0200 |006d: invoke-virtual {v2}, Ljava/lang/String;.getBytes:()[B // method@058f │ │ +0243d0: 0c02 |0070: move-result-object v2 │ │ +0243d2: 6e20 3805 2900 |0071: invoke-virtual {v9, v2}, Ljava/io/OutputStream;.write:([B)V // method@0538 │ │ +0243d8: 2202 2d01 |0074: new-instance v2, Ljava/lang/StringBuilder; // type@012d │ │ +0243dc: 7010 a905 0200 |0076: invoke-direct {v2}, Ljava/lang/StringBuilder;.:()V // method@05a9 │ │ +0243e2: 7100 5301 0000 |0079: invoke-static {}, Ldnsfilter/ConfigurationAccess;.getLocal:()Ldnsfilter/ConfigurationAccess; // method@0153 │ │ +0243e8: 0c03 |007c: move-result-object v3 │ │ +0243ea: 6e10 5201 0300 |007d: invoke-virtual {v3}, Ldnsfilter/ConfigurationAccess;.getLastDNSAddress:()Ljava/lang/String; // method@0152 │ │ +0243f0: 0c03 |0080: move-result-object v3 │ │ +0243f2: 6e20 af05 3200 |0081: invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +0243f8: 6e20 af05 0200 |0084: invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +0243fe: 6e10 b105 0200 |0087: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ +024404: 0c02 |008a: move-result-object v2 │ │ +024406: 6e10 8f05 0200 |008b: invoke-virtual {v2}, Ljava/lang/String;.getBytes:()[B // method@058f │ │ +02440c: 0c02 |008e: move-result-object v2 │ │ +02440e: 6e20 3805 2900 |008f: invoke-virtual {v9, v2}, Ljava/io/OutputStream;.write:([B)V // method@0538 │ │ +024414: 2202 2d01 |0092: new-instance v2, Ljava/lang/StringBuilder; // type@012d │ │ +024418: 7010 a905 0200 |0094: invoke-direct {v2}, Ljava/lang/StringBuilder;.:()V // method@05a9 │ │ +02441e: 7100 5301 0000 |0097: invoke-static {}, Ldnsfilter/ConfigurationAccess;.getLocal:()Ldnsfilter/ConfigurationAccess; // method@0153 │ │ +024424: 0c03 |009a: move-result-object v3 │ │ +024426: 6e10 5801 0300 |009b: invoke-virtual {v3}, Ldnsfilter/ConfigurationAccess;.openConnectionsCount:()I // method@0158 │ │ +02442c: 0a03 |009e: move-result v3 │ │ +02442e: 6e20 ac05 3200 |009f: invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@05ac │ │ +024434: 6e20 af05 0200 |00a2: invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +02443a: 6e10 b105 0200 |00a5: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ +024440: 0c02 |00a8: move-result-object v2 │ │ +024442: 6e10 8f05 0200 |00a9: invoke-virtual {v2}, Ljava/lang/String;.getBytes:()[B // method@058f │ │ +024448: 0c02 |00ac: move-result-object v2 │ │ +02444a: 6e20 3805 2900 |00ad: invoke-virtual {v9, v2}, Ljava/io/OutputStream;.write:([B)V // method@0538 │ │ +024450: 6e10 3605 0900 |00b0: invoke-virtual {v9}, Ljava/io/OutputStream;.flush:()V // method@0536 │ │ +024456: 2202 ed00 |00b3: new-instance v2, Ldnsfilter/remote/RemoteAccessServer$RemoteSession; // type@00ed │ │ +02445a: 6007 0403 |00b5: sget v7, Ldnsfilter/remote/RemoteAccessServer;.sessionId:I // field@0304 │ │ +02445e: 1208 |00b7: const/4 v8, #int 0 // #0 │ │ +024460: 07a3 |00b8: move-object v3, v10 │ │ +024462: 0714 |00b9: move-object v4, v1 │ │ +024464: 0796 |00ba: move-object v6, v9 │ │ +024466: 7607 9404 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@0494 │ │ +02446c: 2900 44ff |00be: goto/16 0002 // -00bc │ │ +024470: 1a04 ca09 |00c0: const-string v4, "reconnect_session" // string@09ca │ │ +024474: 6e20 8d05 4300 |00c2: invoke-virtual {v3, v4}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058d │ │ +02447a: 0a04 |00c5: move-result v4 │ │ +02447c: 3804 4500 |00c6: if-eqz v4, 010b // +0045 │ │ +024480: 7030 a604 5a02 |00c8: invoke-direct {v10, v5, v2}, Ldnsfilter/remote/RemoteAccessServer;.readStringFromStream:(Ljava/io/InputStream;[B)Ljava/lang/String; // method@04a6 │ │ +024486: 0c02 |00cb: move-result-object v2 │ │ +024488: 7110 6705 0200 |00cc: invoke-static {v2}, Ljava/lang/Integer;.parseInt:(Ljava/lang/String;)I // method@0567 │ │ +02448e: 0a02 |00cf: move-result v2 │ │ +024490: 54a3 0503 |00d0: iget-object v3, v10, Ldnsfilter/remote/RemoteAccessServer;.sessions:Ljava/util/HashMap; // field@0305 │ │ +024494: 7110 6a05 0200 |00d2: invoke-static {v2}, Ljava/lang/Integer;.valueOf:(I)Ljava/lang/Integer; // method@056a │ │ +02449a: 0c04 |00d5: move-result-object v4 │ │ +02449c: 6e20 2a06 4300 |00d6: invoke-virtual {v3, v4}, Ljava/util/HashMap;.get:(Ljava/lang/Object;)Ljava/lang/Object; // method@062a │ │ +0244a2: 0c03 |00d9: move-result-object v3 │ │ +0244a4: 1f03 ed00 |00da: check-cast v3, Ldnsfilter/remote/RemoteAccessServer$RemoteSession; // type@00ed │ │ +0244a8: 3803 1100 |00dc: if-eqz v3, 00ed // +0011 │ │ +0244ac: 6e40 9e04 1395 |00de: invoke-virtual {v3, v1, v5, v9}, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.reconnectSession:(Ljava/net/Socket;Ljava/io/InputStream;Ljava/io/OutputStream;)V // method@049e │ │ +0244b2: 6e10 8f05 0600 |00e1: invoke-virtual {v6}, Ljava/lang/String;.getBytes:()[B // method@058f │ │ +0244b8: 0c02 |00e4: move-result-object v2 │ │ +0244ba: 6e20 3805 2900 |00e5: invoke-virtual {v9, v2}, Ljava/io/OutputStream;.write:([B)V // method@0538 │ │ +0244c0: 6e10 3605 0900 |00e8: invoke-virtual {v9}, Ljava/io/OutputStream;.flush:()V // method@0536 │ │ +0244c6: 2900 17ff |00eb: goto/16 0002 // -00e9 │ │ +0244ca: 2203 0001 |00ed: new-instance v3, Ljava/io/IOException; // type@0100 │ │ +0244ce: 2204 2d01 |00ef: new-instance v4, Ljava/lang/StringBuilder; // type@012d │ │ +0244d2: 7010 a905 0400 |00f1: invoke-direct {v4}, Ljava/lang/StringBuilder;.:()V // method@05a9 │ │ +0244d8: 1a05 2704 |00f4: const-string v5, "Reconnect session not found:" // string@0427 │ │ +0244dc: 6e20 af05 5400 |00f6: invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +0244e2: 6e20 ac05 2400 |00f9: invoke-virtual {v4, v2}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@05ac │ │ +0244e8: 6e10 b105 0400 |00fc: invoke-virtual {v4}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ +0244ee: 0c02 |00ff: move-result-object v2 │ │ +0244f0: 7020 2105 2300 |0100: invoke-direct {v3, v2}, Ljava/io/IOException;.:(Ljava/lang/String;)V // method@0521 │ │ +0244f6: 2703 |0103: throw v3 │ │ +0244f8: 0d02 |0104: move-exception v2 │ │ +0244fa: 2203 0001 |0105: new-instance v3, Ljava/io/IOException; // type@0100 │ │ +0244fe: 7020 2305 2300 |0107: invoke-direct {v3, v2}, Ljava/io/IOException;.:(Ljava/lang/Throwable;)V // method@0523 │ │ +024504: 2703 |010a: throw v3 │ │ +024506: 2202 0001 |010b: new-instance v2, Ljava/io/IOException; // type@0100 │ │ +02450a: 2204 2d01 |010d: new-instance v4, Ljava/lang/StringBuilder; // type@012d │ │ +02450e: 7010 a905 0400 |010f: invoke-direct {v4}, Ljava/lang/StringBuilder;.:()V // method@05a9 │ │ +024514: 1a05 f401 |0112: const-string v5, "Invalid option: " // string@01f4 │ │ +024518: 6e20 af05 5400 |0114: invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +02451e: 6e20 af05 3400 |0117: invoke-virtual {v4, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +024524: 6e10 b105 0400 |011a: invoke-virtual {v4}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ +02452a: 0c03 |011d: move-result-object v3 │ │ +02452c: 7020 2105 3200 |011e: invoke-direct {v2, v3}, Ljava/io/IOException;.:(Ljava/lang/String;)V // method@0521 │ │ +024532: 2702 |0121: throw v2 │ │ +024534: 0d02 |0122: move-exception v2 │ │ +024536: 6e10 2605 0200 |0123: invoke-virtual {v2}, Ljava/io/IOException;.toString:()Ljava/lang/String; // method@0526 │ │ +02453c: 0c03 |0126: move-result-object v3 │ │ +02453e: 6e10 8f05 0300 |0127: invoke-virtual {v3}, Ljava/lang/String;.getBytes:()[B // method@058f │ │ +024544: 0c03 |012a: move-result-object v3 │ │ +024546: 6e20 3805 3900 |012b: invoke-virtual {v9, v3}, Ljava/io/OutputStream;.write:([B)V // method@0538 │ │ +02454c: 6e10 3605 0900 |012e: invoke-virtual {v9}, Ljava/io/OutputStream;.flush:()V // method@0536 │ │ +024552: 7110 9207 0100 |0131: invoke-static {v1}, Lutil/Utils;.closeSocket:(Ljava/net/Socket;)V // method@0792 │ │ +024558: 2702 |0134: throw v2 │ │ +02455a: 0d01 |0135: move-exception v1 │ │ +02455c: 7100 2707 0000 |0136: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0727 │ │ +024562: 0c02 |0139: move-result-object v2 │ │ +024564: 2203 2d01 |013a: new-instance v3, Ljava/lang/StringBuilder; // type@012d │ │ +024568: 1a04 3f04 |013c: const-string v4, "RemoteServerException: " // string@043f │ │ +02456c: 7020 aa05 4300 |013e: invoke-direct {v3, v4}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05aa │ │ +024572: 6e10 2605 0100 |0141: invoke-virtual {v1}, Ljava/io/IOException;.toString:()Ljava/lang/String; // method@0526 │ │ +024578: 0c01 |0144: move-result-object v1 │ │ +02457a: 6e20 af05 1300 |0145: invoke-virtual {v3, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +024580: 6e10 b105 0300 |0148: invoke-virtual {v3}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ +024586: 0c01 |014b: move-result-object v1 │ │ +024588: 7220 3307 1200 |014c: invoke-interface {v2, v1}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0733 │ │ +02458e: 2900 b3fe |014f: goto/16 0002 // -014d │ │ +024592: 0e00 |0151: return-void │ │ catches : 6 │ │ 0x0006 - 0x001e │ │ Ljava/io/IOException; -> 0x0135 │ │ 0x001e - 0x002d │ │ Ljava/io/IOException; -> 0x0122 │ │ 0x0031 - 0x00c6 │ │ Ljava/io/IOException; -> 0x0122 │ │ @@ -25038,39 +25038,39 @@ │ │ type : '()V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 4 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 44 16-bit code units │ │ -0245dc: |[0245dc] dnsfilter.remote.RemoteAccessServer.stop:()V │ │ -0245ec: 1210 |0000: const/4 v0, #int 1 // #1 │ │ -0245ee: 5c30 0603 |0001: iput-boolean v0, v3, Ldnsfilter/remote/RemoteAccessServer;.stopped:Z // field@0306 │ │ -0245f2: 5430 0503 |0003: iget-object v0, v3, Ldnsfilter/remote/RemoteAccessServer;.sessions:Ljava/util/HashMap; // field@0305 │ │ -0245f6: 6e10 2e06 0000 |0005: invoke-virtual {v0}, Ljava/util/HashMap;.values:()Ljava/util/Collection; // method@062e │ │ -0245fc: 0c00 |0008: move-result-object v0 │ │ -0245fe: 1201 |0009: const/4 v1, #int 0 // #0 │ │ -024600: 2312 a801 |000a: new-array v2, v1, [Ldnsfilter/remote/RemoteAccessServer$RemoteSession; // type@01a8 │ │ -024604: 7220 2006 2000 |000c: invoke-interface {v0, v2}, Ljava/util/Collection;.toArray:([Ljava/lang/Object;)[Ljava/lang/Object; // method@0620 │ │ -02460a: 0c00 |000f: move-result-object v0 │ │ -02460c: 1f00 a801 |0010: check-cast v0, [Ldnsfilter/remote/RemoteAccessServer$RemoteSession; // type@01a8 │ │ -024610: 2102 |0012: array-length v2, v0 │ │ -024612: 3521 0a00 |0013: if-ge v1, v2, 001d // +000a │ │ -024616: 4602 0001 |0015: aget-object v2, v0, v1 │ │ -02461a: 6e10 9d04 0200 |0017: invoke-virtual {v2}, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.killSession:()V // method@049d │ │ -024620: d801 0101 |001a: add-int/lit8 v1, v1, #int 1 // #01 │ │ -024624: 28f6 |001c: goto 0012 // -000a │ │ -024626: 5430 0303 |001d: iget-object v0, v3, Ldnsfilter/remote/RemoteAccessServer;.server:Ljava/net/ServerSocket; // field@0303 │ │ -02462a: 6e10 e805 0000 |001f: invoke-virtual {v0}, Ljava/net/ServerSocket;.close:()V // method@05e8 │ │ -024630: 2809 |0022: goto 002b // +0009 │ │ -024632: 0d00 |0023: move-exception v0 │ │ -024634: 7100 2707 0000 |0024: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0727 │ │ -02463a: 0c01 |0027: move-result-object v1 │ │ -02463c: 7220 3207 0100 |0028: invoke-interface {v1, v0}, Lutil/LoggerInterface;.logException:(Ljava/lang/Exception;)V // method@0732 │ │ -024642: 0e00 |002b: return-void │ │ +0245d8: |[0245d8] dnsfilter.remote.RemoteAccessServer.stop:()V │ │ +0245e8: 1210 |0000: const/4 v0, #int 1 // #1 │ │ +0245ea: 5c30 0603 |0001: iput-boolean v0, v3, Ldnsfilter/remote/RemoteAccessServer;.stopped:Z // field@0306 │ │ +0245ee: 5430 0503 |0003: iget-object v0, v3, Ldnsfilter/remote/RemoteAccessServer;.sessions:Ljava/util/HashMap; // field@0305 │ │ +0245f2: 6e10 2e06 0000 |0005: invoke-virtual {v0}, Ljava/util/HashMap;.values:()Ljava/util/Collection; // method@062e │ │ +0245f8: 0c00 |0008: move-result-object v0 │ │ +0245fa: 1201 |0009: const/4 v1, #int 0 // #0 │ │ +0245fc: 2312 a801 |000a: new-array v2, v1, [Ldnsfilter/remote/RemoteAccessServer$RemoteSession; // type@01a8 │ │ +024600: 7220 2006 2000 |000c: invoke-interface {v0, v2}, Ljava/util/Collection;.toArray:([Ljava/lang/Object;)[Ljava/lang/Object; // method@0620 │ │ +024606: 0c00 |000f: move-result-object v0 │ │ +024608: 1f00 a801 |0010: check-cast v0, [Ldnsfilter/remote/RemoteAccessServer$RemoteSession; // type@01a8 │ │ +02460c: 2102 |0012: array-length v2, v0 │ │ +02460e: 3521 0a00 |0013: if-ge v1, v2, 001d // +000a │ │ +024612: 4602 0001 |0015: aget-object v2, v0, v1 │ │ +024616: 6e10 9d04 0200 |0017: invoke-virtual {v2}, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.killSession:()V // method@049d │ │ +02461c: d801 0101 |001a: add-int/lit8 v1, v1, #int 1 // #01 │ │ +024620: 28f6 |001c: goto 0012 // -000a │ │ +024622: 5430 0303 |001d: iget-object v0, v3, Ldnsfilter/remote/RemoteAccessServer;.server:Ljava/net/ServerSocket; // field@0303 │ │ +024626: 6e10 e805 0000 |001f: invoke-virtual {v0}, Ljava/net/ServerSocket;.close:()V // method@05e8 │ │ +02462c: 2809 |0022: goto 002b // +0009 │ │ +02462e: 0d00 |0023: move-exception v0 │ │ +024630: 7100 2707 0000 |0024: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0727 │ │ +024636: 0c01 |0027: move-result-object v1 │ │ +024638: 7220 3207 0100 |0028: invoke-interface {v1, v0}, Lutil/LoggerInterface;.logException:(Ljava/lang/Exception;)V // method@0732 │ │ +02463e: 0e00 |002b: return-void │ │ catches : 1 │ │ 0x001d - 0x0022 │ │ Ljava/io/IOException; -> 0x0023 │ │ positions : │ │ 0x0001 line=120 │ │ 0x0003 line=121 │ │ 0x0012 line=122 │ │ @@ -25105,17 +25105,17 @@ │ │ type : '()V' │ │ access : 0x10001 (PUBLIC CONSTRUCTOR) │ │ code - │ │ registers : 1 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 4 16-bit code units │ │ -0246b8: |[0246b8] ip.CheckSum.:()V │ │ -0246c8: 7010 7505 0000 |0000: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@0575 │ │ -0246ce: 0e00 |0003: return-void │ │ +0246b4: |[0246b4] ip.CheckSum.:()V │ │ +0246c4: 7010 7505 0000 |0000: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@0575 │ │ +0246ca: 0e00 |0003: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=25 │ │ locals : │ │ 0x0000 - 0x0004 reg=0 this Lip/CheckSum; │ │ │ │ #1 : (in Lip/CheckSum;) │ │ @@ -25123,40 +25123,40 @@ │ │ type : '([BII)I' │ │ access : 0x0009 (PUBLIC STATIC) │ │ code - │ │ registers : 8 │ │ ins : 3 │ │ outs : 0 │ │ insns size : 42 16-bit code units │ │ -024654: |[024654] ip.CheckSum.chkSum:([BII)I │ │ -024664: 1200 |0000: const/4 v0, #int 0 // #0 │ │ -024666: 1201 |0001: const/4 v1, #int 0 // #0 │ │ -024668: 3570 1900 |0002: if-ge v0, v7, 001b // +0019 │ │ -02466c: 9002 0600 |0004: add-int v2, v6, v0 │ │ -024670: 4803 0502 |0006: aget-byte v3, v5, v2 │ │ -024674: d533 ff00 |0008: and-int/lit16 v3, v3, #int 255 // #00ff │ │ -024678: e003 0308 |000a: shl-int/lit8 v3, v3, #int 8 // #08 │ │ -02467c: d804 0001 |000c: add-int/lit8 v4, v0, #int 1 // #01 │ │ -024680: 3574 0900 |000e: if-ge v4, v7, 0017 // +0009 │ │ -024684: d802 0201 |0010: add-int/lit8 v2, v2, #int 1 // #01 │ │ -024688: 4802 0502 |0012: aget-byte v2, v5, v2 │ │ -02468c: d522 ff00 |0014: and-int/lit16 v2, v2, #int 255 // #00ff │ │ -024690: b023 |0016: add-int/2addr v3, v2 │ │ -024692: b031 |0017: add-int/2addr v1, v3 │ │ -024694: d800 0002 |0018: add-int/lit8 v0, v0, #int 2 // #02 │ │ -024698: 28e8 |001a: goto 0002 // -0018 │ │ -02469a: e105 0110 |001b: shr-int/lit8 v5, v1, #int 16 // #10 │ │ -02469e: 1406 ffff 0000 |001d: const v6, #float 9.18341e-41 // #0000ffff │ │ -0246a4: 3805 0600 |0020: if-eqz v5, 0026 // +0006 │ │ -0246a8: b516 |0022: and-int/2addr v6, v1 │ │ -0246aa: 9001 0605 |0023: add-int v1, v6, v5 │ │ -0246ae: 28f6 |0025: goto 001b // -000a │ │ -0246b0: df05 01ff |0026: xor-int/lit8 v5, v1, #int -1 // #ff │ │ -0246b4: b565 |0028: and-int/2addr v5, v6 │ │ -0246b6: 0f05 |0029: return v5 │ │ +024650: |[024650] ip.CheckSum.chkSum:([BII)I │ │ +024660: 1200 |0000: const/4 v0, #int 0 // #0 │ │ +024662: 1201 |0001: const/4 v1, #int 0 // #0 │ │ +024664: 3570 1900 |0002: if-ge v0, v7, 001b // +0019 │ │ +024668: 9002 0600 |0004: add-int v2, v6, v0 │ │ +02466c: 4803 0502 |0006: aget-byte v3, v5, v2 │ │ +024670: d533 ff00 |0008: and-int/lit16 v3, v3, #int 255 // #00ff │ │ +024674: e003 0308 |000a: shl-int/lit8 v3, v3, #int 8 // #08 │ │ +024678: d804 0001 |000c: add-int/lit8 v4, v0, #int 1 // #01 │ │ +02467c: 3574 0900 |000e: if-ge v4, v7, 0017 // +0009 │ │ +024680: d802 0201 |0010: add-int/lit8 v2, v2, #int 1 // #01 │ │ +024684: 4802 0502 |0012: aget-byte v2, v5, v2 │ │ +024688: d522 ff00 |0014: and-int/lit16 v2, v2, #int 255 // #00ff │ │ +02468c: b023 |0016: add-int/2addr v3, v2 │ │ +02468e: b031 |0017: add-int/2addr v1, v3 │ │ +024690: d800 0002 |0018: add-int/lit8 v0, v0, #int 2 // #02 │ │ +024694: 28e8 |001a: goto 0002 // -0018 │ │ +024696: e105 0110 |001b: shr-int/lit8 v5, v1, #int 16 // #10 │ │ +02469a: 1406 ffff 0000 |001d: const v6, #float 9.18341e-41 // #0000ffff │ │ +0246a0: 3805 0600 |0020: if-eqz v5, 0026 // +0006 │ │ +0246a4: b516 |0022: and-int/2addr v6, v1 │ │ +0246a6: 9001 0605 |0023: add-int v1, v6, v5 │ │ +0246aa: 28f6 |0025: goto 001b // -000a │ │ +0246ac: df05 01ff |0026: xor-int/lit8 v5, v1, #int -1 // #ff │ │ +0246b0: b565 |0028: and-int/2addr v5, v6 │ │ +0246b2: 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 │ │ @@ -25224,26 +25224,26 @@ │ │ type : '()V' │ │ access : 0x10008 (STATIC CONSTRUCTOR) │ │ code - │ │ registers : 4 │ │ ins : 0 │ │ outs : 1 │ │ insns size : 23 16-bit code units │ │ -024d98: |[024d98] ip.IPPacket.:()V │ │ -024da8: 7100 7405 0000 |0000: invoke-static {}, Ljava/lang/Math;.random:()D // method@0574 │ │ -024dae: 0b00 |0003: move-result-wide v0 │ │ -024db0: 1802 0000 0000 c0ff df40 |0004: const-wide v2, #double 32767 // #40dfffc000000000 │ │ -024dba: ad00 0002 |0009: mul-double v0, v0, v2 │ │ -024dbe: 8a00 |000b: double-to-int v0, v0 │ │ -024dc0: 8f00 |000c: int-to-short v0, v0 │ │ -024dc2: 6d00 0803 |000d: sput-short v0, Lip/IPPacket;.curID:S // field@0308 │ │ -024dc6: 2200 2501 |000f: new-instance v0, Ljava/lang/Object; // type@0125 │ │ -024dca: 7010 7505 0000 |0011: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@0575 │ │ -024dd0: 6900 0703 |0014: sput-object v0, Lip/IPPacket;.ID_SYNC:Ljava/lang/Object; // field@0307 │ │ -024dd4: 0e00 |0016: return-void │ │ +024d94: |[024d94] ip.IPPacket.:()V │ │ +024da4: 7100 7405 0000 |0000: invoke-static {}, Ljava/lang/Math;.random:()D // method@0574 │ │ +024daa: 0b00 |0003: move-result-wide v0 │ │ +024dac: 1802 0000 0000 c0ff df40 |0004: const-wide v2, #double 32767 // #40dfffc000000000 │ │ +024db6: ad00 0002 |0009: mul-double v0, v0, v2 │ │ +024dba: 8a00 |000b: double-to-int v0, v0 │ │ +024dbc: 8f00 |000c: int-to-short v0, v0 │ │ +024dbe: 6d00 0803 |000d: sput-short v0, Lip/IPPacket;.curID:S // field@0308 │ │ +024dc2: 2200 2501 |000f: new-instance v0, Ljava/lang/Object; // type@0125 │ │ +024dc6: 7010 7505 0000 |0011: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@0575 │ │ +024dcc: 6900 0703 |0014: sput-object v0, Lip/IPPacket;.ID_SYNC:Ljava/lang/Object; // field@0307 │ │ +024dd0: 0e00 |0016: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=33 │ │ 0x000f line=34 │ │ locals : │ │ │ │ #1 : (in Lip/IPPacket;) │ │ @@ -25251,58 +25251,58 @@ │ │ type : '([BII)V' │ │ access : 0x10001 (PUBLIC CONSTRUCTOR) │ │ code - │ │ registers : 6 │ │ ins : 4 │ │ outs : 3 │ │ insns size : 84 16-bit code units │ │ -024dd8: |[024dd8] ip.IPPacket.:([BII)V │ │ -024de8: 7010 7505 0200 |0000: invoke-direct {v2}, Ljava/lang/Object;.:()V // method@0575 │ │ -024dee: 4800 0304 |0003: aget-byte v0, v3, v4 │ │ -024df2: 1241 |0005: const/4 v1, #int 4 // #4 │ │ -024df4: b910 |0006: shr-int/2addr v0, v1 │ │ -024df6: 5920 0e03 |0007: iput v0, v2, Lip/IPPacket;.version:I // field@030e │ │ -024dfa: 5b23 0903 |0009: iput-object v3, v2, Lip/IPPacket;.data:[B // field@0309 │ │ -024dfe: 5924 0d03 |000b: iput v4, v2, Lip/IPPacket;.offset:I // field@030d │ │ -024e02: 5925 0c03 |000d: iput v5, v2, Lip/IPPacket;.len:I // field@030c │ │ -024e06: 3310 1700 |000f: if-ne v0, v1, 0026 // +0017 │ │ -024e0a: 1305 1400 |0011: const/16 v5, #int 20 // #14 │ │ -024e0e: 7130 0b06 4305 |0013: invoke-static {v3, v4, v5}, Ljava/nio/ByteBuffer;.wrap:([BII)Ljava/nio/ByteBuffer; // method@060b │ │ -024e14: 0c03 |0016: move-result-object v3 │ │ -024e16: 6204 1c03 |0017: sget-object v4, Ljava/nio/ByteOrder;.BIG_ENDIAN:Ljava/nio/ByteOrder; // field@031c │ │ -024e1a: 6e20 0206 4300 |0019: invoke-virtual {v3, v4}, Ljava/nio/ByteBuffer;.order:(Ljava/nio/ByteOrder;)Ljava/nio/ByteBuffer; // method@0602 │ │ -024e20: 0c03 |001c: move-result-object v3 │ │ -024e22: 6e10 fc05 0300 |001d: invoke-virtual {v3}, Ljava/nio/ByteBuffer;.asIntBuffer:()Ljava/nio/IntBuffer; // method@05fc │ │ -024e28: 0c03 |0020: move-result-object v3 │ │ -024e2a: 5b23 0b03 |0021: iput-object v3, v2, Lip/IPPacket;.ipHeader:Ljava/nio/IntBuffer; // field@030b │ │ -024e2e: 5925 0a03 |0023: iput v5, v2, Lip/IPPacket;.ipHdrlen:I // field@030a │ │ -024e32: 2818 |0025: goto 003d // +0018 │ │ -024e34: 1265 |0026: const/4 v5, #int 6 // #6 │ │ -024e36: 3350 1700 |0027: if-ne v0, v5, 003e // +0017 │ │ -024e3a: 1305 2800 |0029: const/16 v5, #int 40 // #28 │ │ -024e3e: 7130 0b06 4305 |002b: invoke-static {v3, v4, v5}, Ljava/nio/ByteBuffer;.wrap:([BII)Ljava/nio/ByteBuffer; // method@060b │ │ -024e44: 0c03 |002e: move-result-object v3 │ │ -024e46: 6204 1c03 |002f: sget-object v4, Ljava/nio/ByteOrder;.BIG_ENDIAN:Ljava/nio/ByteOrder; // field@031c │ │ -024e4a: 6e20 0206 4300 |0031: invoke-virtual {v3, v4}, Ljava/nio/ByteBuffer;.order:(Ljava/nio/ByteOrder;)Ljava/nio/ByteBuffer; // method@0602 │ │ -024e50: 0c03 |0034: move-result-object v3 │ │ -024e52: 6e10 fc05 0300 |0035: invoke-virtual {v3}, Ljava/nio/ByteBuffer;.asIntBuffer:()Ljava/nio/IntBuffer; // method@05fc │ │ -024e58: 0c03 |0038: move-result-object v3 │ │ -024e5a: 5b23 0b03 |0039: iput-object v3, v2, Lip/IPPacket;.ipHeader:Ljava/nio/IntBuffer; // field@030b │ │ -024e5e: 5925 0a03 |003b: iput v5, v2, Lip/IPPacket;.ipHdrlen:I // field@030a │ │ -024e62: 0e00 |003d: return-void │ │ -024e64: 2203 1c01 |003e: new-instance v3, Ljava/lang/IllegalArgumentException; // type@011c │ │ -024e68: 2204 2d01 |0040: new-instance v4, Ljava/lang/StringBuilder; // type@012d │ │ -024e6c: 1a05 f901 |0042: const-string v5, "Invalid version:" // string@01f9 │ │ -024e70: 7020 aa05 5400 |0044: invoke-direct {v4, v5}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05aa │ │ -024e76: 5225 0e03 |0047: iget v5, v2, Lip/IPPacket;.version:I // field@030e │ │ -024e7a: 6e20 ac05 5400 |0049: invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@05ac │ │ -024e80: 6e10 b105 0400 |004c: invoke-virtual {v4}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ -024e86: 0c04 |004f: move-result-object v4 │ │ -024e88: 7020 6205 4300 |0050: invoke-direct {v3, v4}, Ljava/lang/IllegalArgumentException;.:(Ljava/lang/String;)V // method@0562 │ │ -024e8e: 2703 |0053: throw v3 │ │ +024dd4: |[024dd4] ip.IPPacket.:([BII)V │ │ +024de4: 7010 7505 0200 |0000: invoke-direct {v2}, Ljava/lang/Object;.:()V // method@0575 │ │ +024dea: 4800 0304 |0003: aget-byte v0, v3, v4 │ │ +024dee: 1241 |0005: const/4 v1, #int 4 // #4 │ │ +024df0: b910 |0006: shr-int/2addr v0, v1 │ │ +024df2: 5920 0e03 |0007: iput v0, v2, Lip/IPPacket;.version:I // field@030e │ │ +024df6: 5b23 0903 |0009: iput-object v3, v2, Lip/IPPacket;.data:[B // field@0309 │ │ +024dfa: 5924 0d03 |000b: iput v4, v2, Lip/IPPacket;.offset:I // field@030d │ │ +024dfe: 5925 0c03 |000d: iput v5, v2, Lip/IPPacket;.len:I // field@030c │ │ +024e02: 3310 1700 |000f: if-ne v0, v1, 0026 // +0017 │ │ +024e06: 1305 1400 |0011: const/16 v5, #int 20 // #14 │ │ +024e0a: 7130 0b06 4305 |0013: invoke-static {v3, v4, v5}, Ljava/nio/ByteBuffer;.wrap:([BII)Ljava/nio/ByteBuffer; // method@060b │ │ +024e10: 0c03 |0016: move-result-object v3 │ │ +024e12: 6204 1c03 |0017: sget-object v4, Ljava/nio/ByteOrder;.BIG_ENDIAN:Ljava/nio/ByteOrder; // field@031c │ │ +024e16: 6e20 0206 4300 |0019: invoke-virtual {v3, v4}, Ljava/nio/ByteBuffer;.order:(Ljava/nio/ByteOrder;)Ljava/nio/ByteBuffer; // method@0602 │ │ +024e1c: 0c03 |001c: move-result-object v3 │ │ +024e1e: 6e10 fc05 0300 |001d: invoke-virtual {v3}, Ljava/nio/ByteBuffer;.asIntBuffer:()Ljava/nio/IntBuffer; // method@05fc │ │ +024e24: 0c03 |0020: move-result-object v3 │ │ +024e26: 5b23 0b03 |0021: iput-object v3, v2, Lip/IPPacket;.ipHeader:Ljava/nio/IntBuffer; // field@030b │ │ +024e2a: 5925 0a03 |0023: iput v5, v2, Lip/IPPacket;.ipHdrlen:I // field@030a │ │ +024e2e: 2818 |0025: goto 003d // +0018 │ │ +024e30: 1265 |0026: const/4 v5, #int 6 // #6 │ │ +024e32: 3350 1700 |0027: if-ne v0, v5, 003e // +0017 │ │ +024e36: 1305 2800 |0029: const/16 v5, #int 40 // #28 │ │ +024e3a: 7130 0b06 4305 |002b: invoke-static {v3, v4, v5}, Ljava/nio/ByteBuffer;.wrap:([BII)Ljava/nio/ByteBuffer; // method@060b │ │ +024e40: 0c03 |002e: move-result-object v3 │ │ +024e42: 6204 1c03 |002f: sget-object v4, Ljava/nio/ByteOrder;.BIG_ENDIAN:Ljava/nio/ByteOrder; // field@031c │ │ +024e46: 6e20 0206 4300 |0031: invoke-virtual {v3, v4}, Ljava/nio/ByteBuffer;.order:(Ljava/nio/ByteOrder;)Ljava/nio/ByteBuffer; // method@0602 │ │ +024e4c: 0c03 |0034: move-result-object v3 │ │ +024e4e: 6e10 fc05 0300 |0035: invoke-virtual {v3}, Ljava/nio/ByteBuffer;.asIntBuffer:()Ljava/nio/IntBuffer; // method@05fc │ │ +024e54: 0c03 |0038: move-result-object v3 │ │ +024e56: 5b23 0b03 |0039: iput-object v3, v2, Lip/IPPacket;.ipHeader:Ljava/nio/IntBuffer; // field@030b │ │ +024e5a: 5925 0a03 |003b: iput v5, v2, Lip/IPPacket;.ipHdrlen:I // field@030a │ │ +024e5e: 0e00 |003d: return-void │ │ +024e60: 2203 1c01 |003e: new-instance v3, Ljava/lang/IllegalArgumentException; // type@011c │ │ +024e64: 2204 2d01 |0040: new-instance v4, Ljava/lang/StringBuilder; // type@012d │ │ +024e68: 1a05 f901 |0042: const-string v5, "Invalid version:" // string@01f9 │ │ +024e6c: 7020 aa05 5400 |0044: invoke-direct {v4, v5}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05aa │ │ +024e72: 5225 0e03 |0047: iget v5, v2, Lip/IPPacket;.version:I // field@030e │ │ +024e76: 6e20 ac05 5400 |0049: invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@05ac │ │ +024e7c: 6e10 b105 0400 |004c: invoke-virtual {v4}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ +024e82: 0c04 |004f: move-result-object v4 │ │ +024e84: 7020 6205 4300 |0050: invoke-direct {v3, v4}, Ljava/lang/IllegalArgumentException;.:(Ljava/lang/String;)V // method@0562 │ │ +024e8a: 2703 |0053: throw v3 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=44 │ │ 0x0003 line=45 │ │ 0x0009 line=46 │ │ 0x000b line=47 │ │ 0x000d line=48 │ │ @@ -25322,26 +25322,26 @@ │ │ type : '()I' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 4 │ │ ins : 1 │ │ outs : 3 │ │ insns size : 18 16-bit code units │ │ -0246e8: |[0246e8] ip.IPPacket.calculateCheckSum:()I │ │ -0246f8: 5230 0e03 |0000: iget v0, v3, Lip/IPPacket;.version:I // field@030e │ │ -0246fc: 1241 |0002: const/4 v1, #int 4 // #4 │ │ -0246fe: 3310 0d00 |0003: if-ne v0, v1, 0010 // +000d │ │ -024702: 5430 0903 |0005: iget-object v0, v3, Lip/IPPacket;.data:[B // field@0309 │ │ -024706: 5231 0d03 |0007: iget v1, v3, Lip/IPPacket;.offset:I // field@030d │ │ -02470a: 1302 1400 |0009: const/16 v2, #int 20 // #14 │ │ -02470e: 7130 aa04 1002 |000b: invoke-static {v0, v1, v2}, Lip/CheckSum;.chkSum:([BII)I // method@04aa │ │ -024714: 0a00 |000e: move-result v0 │ │ -024716: 0f00 |000f: return v0 │ │ -024718: 1200 |0010: const/4 v0, #int 0 // #0 │ │ -02471a: 0f00 |0011: return v0 │ │ +0246e4: |[0246e4] ip.IPPacket.calculateCheckSum:()I │ │ +0246f4: 5230 0e03 |0000: iget v0, v3, Lip/IPPacket;.version:I // field@030e │ │ +0246f8: 1241 |0002: const/4 v1, #int 4 // #4 │ │ +0246fa: 3310 0d00 |0003: if-ne v0, v1, 0010 // +000d │ │ +0246fe: 5430 0903 |0005: iget-object v0, v3, Lip/IPPacket;.data:[B // field@0309 │ │ +024702: 5231 0d03 |0007: iget v1, v3, Lip/IPPacket;.offset:I // field@030d │ │ +024706: 1302 1400 |0009: const/16 v2, #int 20 // #14 │ │ +02470a: 7130 aa04 1002 |000b: invoke-static {v0, v1, v2}, Lip/CheckSum;.chkSum:([BII)I // method@04aa │ │ +024710: 0a00 |000e: move-result v0 │ │ +024712: 0f00 |000f: return v0 │ │ +024714: 1200 |0010: const/4 v0, #int 0 // #0 │ │ +024716: 0f00 |0011: return v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=161 │ │ 0x0005 line=162 │ │ locals : │ │ 0x0000 - 0x0012 reg=3 this Lip/IPPacket; │ │ │ │ @@ -25350,22 +25350,22 @@ │ │ type : '(II)[I' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 5 │ │ ins : 3 │ │ outs : 4 │ │ insns size : 14 16-bit code units │ │ -02492c: |[02492c] ip.IPPacket.copyFromHeader:(II)[I │ │ -02493c: 5420 0b03 |0000: iget-object v0, v2, Lip/IPPacket;.ipHeader:Ljava/nio/IntBuffer; // field@030b │ │ -024940: 6e20 0f06 3000 |0002: invoke-virtual {v0, v3}, Ljava/nio/IntBuffer;.position:(I)Ljava/nio/Buffer; // method@060f │ │ -024946: 2343 9e01 |0005: new-array v3, v4, [I // type@019e │ │ -02494a: 5420 0b03 |0007: iget-object v0, v2, Lip/IPPacket;.ipHeader:Ljava/nio/IntBuffer; // field@030b │ │ -02494e: 1201 |0009: const/4 v1, #int 0 // #0 │ │ -024950: 6e40 0e06 3041 |000a: invoke-virtual {v0, v3, v1, v4}, Ljava/nio/IntBuffer;.get:([III)Ljava/nio/IntBuffer; // method@060e │ │ -024956: 1103 |000d: return-object v3 │ │ +024928: |[024928] ip.IPPacket.copyFromHeader:(II)[I │ │ +024938: 5420 0b03 |0000: iget-object v0, v2, Lip/IPPacket;.ipHeader:Ljava/nio/IntBuffer; // field@030b │ │ +02493c: 6e20 0f06 3000 |0002: invoke-virtual {v0, v3}, Ljava/nio/IntBuffer;.position:(I)Ljava/nio/Buffer; // method@060f │ │ +024942: 2343 9e01 |0005: new-array v3, v4, [I // type@019e │ │ +024946: 5420 0b03 |0007: iget-object v0, v2, Lip/IPPacket;.ipHeader:Ljava/nio/IntBuffer; // field@030b │ │ +02494a: 1201 |0009: const/4 v1, #int 0 // #0 │ │ +02494c: 6e40 0e06 3041 |000a: invoke-virtual {v0, v3, v1, v4}, Ljava/nio/IntBuffer;.get:([III)Ljava/nio/IntBuffer; // method@060e │ │ +024952: 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; │ │ @@ -25377,23 +25377,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 │ │ -024b78: |[024b78] ip.IPPacket.createIPPacket:([BIIIII[I[I)Lip/IPPacket; │ │ -024b88: e003 0304 |0000: shl-int/lit8 v3, v3, #int 4 // #04 │ │ -024b8c: d533 ff00 |0002: and-int/lit16 v3, v3, #int 255 // #00ff │ │ -024b90: 8d33 |0004: int-to-byte v3, v3 │ │ -024b92: 4f03 0001 |0005: aput-byte v3, v0, v1 │ │ -024b96: 2203 f000 |0007: new-instance v3, Lip/IPPacket; // type@00f0 │ │ -024b9a: 7040 ac04 0321 |0009: invoke-direct {v3, v0, v1, v2}, Lip/IPPacket;.:([BII)V // method@04ac │ │ -024ba0: 6e57 bc04 4365 |000c: invoke-virtual {v3, v4, v5, v6, v7}, Lip/IPPacket;.initIPHeader:(II[I[I)V // method@04bc │ │ -024ba6: 1103 |000f: return-object v3 │ │ +024b74: |[024b74] ip.IPPacket.createIPPacket:([BIIIII[I[I)Lip/IPPacket; │ │ +024b84: e003 0304 |0000: shl-int/lit8 v3, v3, #int 4 // #04 │ │ +024b88: d533 ff00 |0002: and-int/lit16 v3, v3, #int 255 // #00ff │ │ +024b8c: 8d33 |0004: int-to-byte v3, v3 │ │ +024b8e: 4f03 0001 |0005: aput-byte v3, v0, v1 │ │ +024b92: 2203 f000 |0007: new-instance v3, Lip/IPPacket; // type@00f0 │ │ +024b96: 7040 ac04 0321 |0009: invoke-direct {v3, v0, v1, v2}, Lip/IPPacket;.:([BII)V // method@04ac │ │ +024b9c: 6e57 bc04 4365 |000c: invoke-virtual {v3, v4, v5, v6, v7}, Lip/IPPacket;.initIPHeader:(II[I[I)V // method@04bc │ │ +024ba2: 1103 |000f: return-object v3 │ │ catches : (none) │ │ positions : │ │ 0x0005 line=115 │ │ 0x0007 line=116 │ │ 0x000c line=117 │ │ locals : │ │ 0x0000 - 0x0010 reg=0 (null) [B │ │ @@ -25410,23 +25410,23 @@ │ │ type : '([BIII)Lip/IPPacket;' │ │ access : 0x0009 (PUBLIC STATIC) │ │ code - │ │ registers : 4 │ │ ins : 4 │ │ outs : 4 │ │ insns size : 16 16-bit code units │ │ -024ba8: |[024ba8] ip.IPPacket.createInitialIPPacket:([BIII)Lip/IPPacket; │ │ -024bb8: e003 0304 |0000: shl-int/lit8 v3, v3, #int 4 // #04 │ │ -024bbc: d533 ff00 |0002: and-int/lit16 v3, v3, #int 255 // #00ff │ │ -024bc0: 8d33 |0004: int-to-byte v3, v3 │ │ -024bc2: 4f03 0001 |0005: aput-byte v3, v0, v1 │ │ -024bc6: 2203 f000 |0007: new-instance v3, Lip/IPPacket; // type@00f0 │ │ -024bca: 7040 ac04 0321 |0009: invoke-direct {v3, v0, v1, v2}, Lip/IPPacket;.:([BII)V // method@04ac │ │ -024bd0: 6e10 bd04 0300 |000c: invoke-virtual {v3}, Lip/IPPacket;.initInitialIPHeader:()V // method@04bd │ │ -024bd6: 1103 |000f: return-object v3 │ │ +024ba4: |[024ba4] ip.IPPacket.createInitialIPPacket:([BIII)Lip/IPPacket; │ │ +024bb4: e003 0304 |0000: shl-int/lit8 v3, v3, #int 4 // #04 │ │ +024bb8: d533 ff00 |0002: and-int/lit16 v3, v3, #int 255 // #00ff │ │ +024bbc: 8d33 |0004: int-to-byte v3, v3 │ │ +024bbe: 4f03 0001 |0005: aput-byte v3, v0, v1 │ │ +024bc2: 2203 f000 |0007: new-instance v3, Lip/IPPacket; // type@00f0 │ │ +024bc6: 7040 ac04 0321 |0009: invoke-direct {v3, v0, v1, v2}, Lip/IPPacket;.:([BII)V // method@04ac │ │ +024bcc: 6e10 bd04 0300 |000c: invoke-virtual {v3}, Lip/IPPacket;.initInitialIPHeader:()V // method@04bd │ │ +024bd2: 1103 |000f: return-object v3 │ │ catches : (none) │ │ positions : │ │ 0x0005 line=108 │ │ 0x0007 line=109 │ │ 0x000c line=110 │ │ locals : │ │ 0x0000 - 0x0010 reg=0 (null) [B │ │ @@ -25439,27 +25439,27 @@ │ │ type : '()I' │ │ access : 0x000a (PRIVATE STATIC) │ │ code - │ │ registers : 2 │ │ ins : 0 │ │ outs : 0 │ │ insns size : 17 16-bit code units │ │ -024738: |[024738] ip.IPPacket.generateId:()I │ │ -024748: 6200 0703 |0000: sget-object v0, Lip/IPPacket;.ID_SYNC:Ljava/lang/Object; // field@0307 │ │ -02474c: 1d00 |0002: monitor-enter v0 │ │ -02474e: 6601 0803 |0003: sget-short v1, Lip/IPPacket;.curID:S // field@0308 │ │ -024752: d801 0101 |0005: add-int/lit8 v1, v1, #int 1 // #01 │ │ -024756: 8f11 |0007: int-to-short v1, v1 │ │ -024758: 6d01 0803 |0008: sput-short v1, Lip/IPPacket;.curID:S // field@0308 │ │ -02475c: e001 0110 |000a: shl-int/lit8 v1, v1, #int 16 // #10 │ │ -024760: 1e00 |000c: monitor-exit v0 │ │ -024762: 0f01 |000d: return v1 │ │ -024764: 0d01 |000e: move-exception v1 │ │ -024766: 1e00 |000f: monitor-exit v0 │ │ -024768: 2701 |0010: throw v1 │ │ +024734: |[024734] ip.IPPacket.generateId:()I │ │ +024744: 6200 0703 |0000: sget-object v0, Lip/IPPacket;.ID_SYNC:Ljava/lang/Object; // field@0307 │ │ +024748: 1d00 |0002: monitor-enter v0 │ │ +02474a: 6601 0803 |0003: sget-short v1, Lip/IPPacket;.curID:S // field@0308 │ │ +02474e: d801 0101 |0005: add-int/lit8 v1, v1, #int 1 // #01 │ │ +024752: 8f11 |0007: int-to-short v1, v1 │ │ +024754: 6d01 0803 |0008: sput-short v1, Lip/IPPacket;.curID:S // field@0308 │ │ +024758: e001 0110 |000a: shl-int/lit8 v1, v1, #int 16 // #10 │ │ +02475c: 1e00 |000c: monitor-exit v0 │ │ +02475e: 0f01 |000d: return v1 │ │ +024760: 0d01 |000e: move-exception v1 │ │ +024762: 1e00 |000f: monitor-exit v0 │ │ +024764: 2701 |0010: throw v1 │ │ catches : 1 │ │ 0x0003 - 0x0010 │ │ -> 0x000e │ │ positions : │ │ 0x0000 line=153 │ │ 0x0003 line=154 │ │ 0x000c line=155 │ │ @@ -25471,140 +25471,140 @@ │ │ type : '([I)Ljava/net/InetAddress;' │ │ access : 0x0009 (PUBLIC STATIC) │ │ code - │ │ registers : 18 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 215 16-bit code units │ │ -024bd8: |[024bd8] ip.IPPacket.int2ip:([I)Ljava/net/InetAddress; │ │ -024be8: 0800 1100 |0000: move-object/from16 v0, v17 │ │ -024bec: 2101 |0002: array-length v1, v0 │ │ -024bee: 1232 |0003: const/4 v2, #int 3 // #3 │ │ -024bf0: 1223 |0004: const/4 v3, #int 2 // #2 │ │ -024bf2: 1244 |0005: const/4 v4, #int 4 // #4 │ │ -024bf4: 1205 |0006: const/4 v5, #int 0 // #0 │ │ -024bf6: 1216 |0007: const/4 v6, #int 1 // #1 │ │ -024bf8: 3361 2200 |0008: if-ne v1, v6, 002a // +0022 │ │ -024bfc: 4400 0005 |000a: aget v0, v0, v5 │ │ -024c00: e101 0018 |000c: shr-int/lit8 v1, v0, #int 24 // #18 │ │ -024c04: d511 ff00 |000e: and-int/lit16 v1, v1, #int 255 // #00ff │ │ -024c08: 8d11 |0010: int-to-byte v1, v1 │ │ -024c0a: e107 0010 |0011: shr-int/lit8 v7, v0, #int 16 // #10 │ │ -024c0e: d577 ff00 |0013: and-int/lit16 v7, v7, #int 255 // #00ff │ │ -024c12: 8d77 |0015: int-to-byte v7, v7 │ │ -024c14: e108 0008 |0016: shr-int/lit8 v8, v0, #int 8 // #08 │ │ -024c18: d588 ff00 |0018: and-int/lit16 v8, v8, #int 255 // #00ff │ │ -024c1c: 8d88 |001a: int-to-byte v8, v8 │ │ -024c1e: d500 ff00 |001b: and-int/lit16 v0, v0, #int 255 // #00ff │ │ -024c22: 8d00 |001d: int-to-byte v0, v0 │ │ -024c24: 2344 9d01 |001e: new-array v4, v4, [B // type@019d │ │ -024c28: 4f01 0405 |0020: aput-byte v1, v4, v5 │ │ -024c2c: 4f07 0406 |0022: aput-byte v7, v4, v6 │ │ -024c30: 4f08 0403 |0024: aput-byte v8, v4, v3 │ │ -024c34: 4f00 0402 |0026: aput-byte v0, v4, v2 │ │ -024c38: 2900 9500 |0028: goto/16 00bd // +0095 │ │ -024c3c: 2101 |002a: array-length v1, v0 │ │ -024c3e: 3341 9700 |002b: if-ne v1, v4, 00c2 // +0097 │ │ -024c42: 4401 0005 |002d: aget v1, v0, v5 │ │ -024c46: e107 0118 |002f: shr-int/lit8 v7, v1, #int 24 // #18 │ │ -024c4a: d577 ff00 |0031: and-int/lit16 v7, v7, #int 255 // #00ff │ │ -024c4e: 8d77 |0033: int-to-byte v7, v7 │ │ -024c50: e108 0110 |0034: shr-int/lit8 v8, v1, #int 16 // #10 │ │ -024c54: d588 ff00 |0036: and-int/lit16 v8, v8, #int 255 // #00ff │ │ -024c58: 8d88 |0038: int-to-byte v8, v8 │ │ -024c5a: e109 0108 |0039: shr-int/lit8 v9, v1, #int 8 // #08 │ │ -024c5e: d599 ff00 |003b: and-int/lit16 v9, v9, #int 255 // #00ff │ │ -024c62: 8d99 |003d: int-to-byte v9, v9 │ │ -024c64: d511 ff00 |003e: and-int/lit16 v1, v1, #int 255 // #00ff │ │ -024c68: 8d11 |0040: int-to-byte v1, v1 │ │ -024c6a: 440a 0006 |0041: aget v10, v0, v6 │ │ -024c6e: e10b 0a18 |0043: shr-int/lit8 v11, v10, #int 24 // #18 │ │ -024c72: d5bb ff00 |0045: and-int/lit16 v11, v11, #int 255 // #00ff │ │ -024c76: 8dbb |0047: int-to-byte v11, v11 │ │ -024c78: e10c 0a10 |0048: shr-int/lit8 v12, v10, #int 16 // #10 │ │ -024c7c: d5cc ff00 |004a: and-int/lit16 v12, v12, #int 255 // #00ff │ │ -024c80: 8dcc |004c: int-to-byte v12, v12 │ │ -024c82: e10d 0a08 |004d: shr-int/lit8 v13, v10, #int 8 // #08 │ │ -024c86: d5dd ff00 |004f: and-int/lit16 v13, v13, #int 255 // #00ff │ │ -024c8a: 8ddd |0051: int-to-byte v13, v13 │ │ -024c8c: d5aa ff00 |0052: and-int/lit16 v10, v10, #int 255 // #00ff │ │ -024c90: 8daa |0054: int-to-byte v10, v10 │ │ -024c92: 440e 0003 |0055: aget v14, v0, v3 │ │ -024c96: e10f 0e18 |0057: shr-int/lit8 v15, v14, #int 24 // #18 │ │ -024c9a: d5ff ff00 |0059: and-int/lit16 v15, v15, #int 255 // #00ff │ │ -024c9e: 8dff |005b: int-to-byte v15, v15 │ │ -024ca0: e104 0e10 |005c: shr-int/lit8 v4, v14, #int 16 // #10 │ │ -024ca4: d544 ff00 |005e: and-int/lit16 v4, v4, #int 255 // #00ff │ │ -024ca8: 8d44 |0060: int-to-byte v4, v4 │ │ -024caa: e103 0e08 |0061: shr-int/lit8 v3, v14, #int 8 // #08 │ │ -024cae: d533 ff00 |0063: and-int/lit16 v3, v3, #int 255 // #00ff │ │ -024cb2: 8d33 |0065: int-to-byte v3, v3 │ │ -024cb4: d5ee ff00 |0066: and-int/lit16 v14, v14, #int 255 // #00ff │ │ -024cb8: 8dee |0068: int-to-byte v14, v14 │ │ -024cba: 4400 0002 |0069: aget v0, v0, v2 │ │ -024cbe: e102 0018 |006b: shr-int/lit8 v2, v0, #int 24 // #18 │ │ -024cc2: d522 ff00 |006d: and-int/lit16 v2, v2, #int 255 // #00ff │ │ -024cc6: 8d22 |006f: int-to-byte v2, v2 │ │ -024cc8: e106 0010 |0070: shr-int/lit8 v6, v0, #int 16 // #10 │ │ -024ccc: d566 ff00 |0072: and-int/lit16 v6, v6, #int 255 // #00ff │ │ -024cd0: 8d66 |0074: int-to-byte v6, v6 │ │ -024cd2: e105 0008 |0075: shr-int/lit8 v5, v0, #int 8 // #08 │ │ -024cd6: d555 ff00 |0077: and-int/lit16 v5, v5, #int 255 // #00ff │ │ -024cda: 8d55 |0079: int-to-byte v5, v5 │ │ -024cdc: d500 ff00 |007a: and-int/lit16 v0, v0, #int 255 // #00ff │ │ -024ce0: 8d00 |007c: int-to-byte v0, v0 │ │ -024ce2: 0211 0000 |007d: move/from16 v17, v0 │ │ -024ce6: 1300 1000 |007f: const/16 v0, #int 16 // #10 │ │ -024cea: 2300 9d01 |0081: new-array v0, v0, [B // type@019d │ │ -024cee: 1310 0000 |0083: const/16 v16, #int 0 // #0 │ │ -024cf2: 4f07 0010 |0085: aput-byte v7, v0, v16 │ │ -024cf6: 1217 |0087: const/4 v7, #int 1 // #1 │ │ -024cf8: 4f08 0007 |0088: aput-byte v8, v0, v7 │ │ -024cfc: 1227 |008a: const/4 v7, #int 2 // #2 │ │ -024cfe: 4f09 0007 |008b: aput-byte v9, v0, v7 │ │ -024d02: 1237 |008d: const/4 v7, #int 3 // #3 │ │ -024d04: 4f01 0007 |008e: aput-byte v1, v0, v7 │ │ -024d08: 1241 |0090: const/4 v1, #int 4 // #4 │ │ -024d0a: 4f0b 0001 |0091: aput-byte v11, v0, v1 │ │ -024d0e: 1251 |0093: const/4 v1, #int 5 // #5 │ │ -024d10: 4f0c 0001 |0094: aput-byte v12, v0, v1 │ │ -024d14: 1261 |0096: const/4 v1, #int 6 // #6 │ │ -024d16: 4f0d 0001 |0097: aput-byte v13, v0, v1 │ │ -024d1a: 1271 |0099: const/4 v1, #int 7 // #7 │ │ -024d1c: 4f0a 0001 |009a: aput-byte v10, v0, v1 │ │ -024d20: 1301 0800 |009c: const/16 v1, #int 8 // #8 │ │ -024d24: 4f0f 0001 |009e: aput-byte v15, v0, v1 │ │ -024d28: 1301 0900 |00a0: const/16 v1, #int 9 // #9 │ │ -024d2c: 4f04 0001 |00a2: aput-byte v4, v0, v1 │ │ -024d30: 1301 0a00 |00a4: const/16 v1, #int 10 // #a │ │ -024d34: 4f03 0001 |00a6: aput-byte v3, v0, v1 │ │ -024d38: 1301 0b00 |00a8: const/16 v1, #int 11 // #b │ │ -024d3c: 4f0e 0001 |00aa: aput-byte v14, v0, v1 │ │ -024d40: 1301 0c00 |00ac: const/16 v1, #int 12 // #c │ │ -024d44: 4f02 0001 |00ae: aput-byte v2, v0, v1 │ │ -024d48: 1301 0d00 |00b0: const/16 v1, #int 13 // #d │ │ -024d4c: 4f06 0001 |00b2: aput-byte v6, v0, v1 │ │ -024d50: 1301 0e00 |00b4: const/16 v1, #int 14 // #e │ │ -024d54: 4f05 0001 |00b6: aput-byte v5, v0, v1 │ │ -024d58: 1301 0f00 |00b8: const/16 v1, #int 15 // #f │ │ -024d5c: 4f11 0001 |00ba: aput-byte v17, v0, v1 │ │ -024d60: 0704 |00bc: move-object v4, v0 │ │ -024d62: 7110 d405 0400 |00bd: invoke-static {v4}, Ljava/net/InetAddress;.getByAddress:([B)Ljava/net/InetAddress; // method@05d4 │ │ -024d68: 0c00 |00c0: move-result-object v0 │ │ -024d6a: 1100 |00c1: return-object v0 │ │ -024d6c: 2201 1c01 |00c2: new-instance v1, Ljava/lang/IllegalArgumentException; // type@011c │ │ -024d70: 2202 2d01 |00c4: new-instance v2, Ljava/lang/StringBuilder; // type@012d │ │ -024d74: 1a03 ed01 |00c6: const-string v3, "Invalid array length:" // string@01ed │ │ -024d78: 7020 aa05 3200 |00c8: invoke-direct {v2, v3}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05aa │ │ -024d7e: 2100 |00cb: array-length v0, v0 │ │ -024d80: 6e20 ac05 0200 |00cc: invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@05ac │ │ -024d86: 6e10 b105 0200 |00cf: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ -024d8c: 0c00 |00d2: move-result-object v0 │ │ -024d8e: 7020 6205 0100 |00d3: invoke-direct {v1, v0}, Ljava/lang/IllegalArgumentException;.:(Ljava/lang/String;)V // method@0562 │ │ -024d94: 2701 |00d6: throw v1 │ │ +024bd4: |[024bd4] ip.IPPacket.int2ip:([I)Ljava/net/InetAddress; │ │ +024be4: 0800 1100 |0000: move-object/from16 v0, v17 │ │ +024be8: 2101 |0002: array-length v1, v0 │ │ +024bea: 1232 |0003: const/4 v2, #int 3 // #3 │ │ +024bec: 1223 |0004: const/4 v3, #int 2 // #2 │ │ +024bee: 1244 |0005: const/4 v4, #int 4 // #4 │ │ +024bf0: 1205 |0006: const/4 v5, #int 0 // #0 │ │ +024bf2: 1216 |0007: const/4 v6, #int 1 // #1 │ │ +024bf4: 3361 2200 |0008: if-ne v1, v6, 002a // +0022 │ │ +024bf8: 4400 0005 |000a: aget v0, v0, v5 │ │ +024bfc: e101 0018 |000c: shr-int/lit8 v1, v0, #int 24 // #18 │ │ +024c00: d511 ff00 |000e: and-int/lit16 v1, v1, #int 255 // #00ff │ │ +024c04: 8d11 |0010: int-to-byte v1, v1 │ │ +024c06: e107 0010 |0011: shr-int/lit8 v7, v0, #int 16 // #10 │ │ +024c0a: d577 ff00 |0013: and-int/lit16 v7, v7, #int 255 // #00ff │ │ +024c0e: 8d77 |0015: int-to-byte v7, v7 │ │ +024c10: e108 0008 |0016: shr-int/lit8 v8, v0, #int 8 // #08 │ │ +024c14: d588 ff00 |0018: and-int/lit16 v8, v8, #int 255 // #00ff │ │ +024c18: 8d88 |001a: int-to-byte v8, v8 │ │ +024c1a: d500 ff00 |001b: and-int/lit16 v0, v0, #int 255 // #00ff │ │ +024c1e: 8d00 |001d: int-to-byte v0, v0 │ │ +024c20: 2344 9d01 |001e: new-array v4, v4, [B // type@019d │ │ +024c24: 4f01 0405 |0020: aput-byte v1, v4, v5 │ │ +024c28: 4f07 0406 |0022: aput-byte v7, v4, v6 │ │ +024c2c: 4f08 0403 |0024: aput-byte v8, v4, v3 │ │ +024c30: 4f00 0402 |0026: aput-byte v0, v4, v2 │ │ +024c34: 2900 9500 |0028: goto/16 00bd // +0095 │ │ +024c38: 2101 |002a: array-length v1, v0 │ │ +024c3a: 3341 9700 |002b: if-ne v1, v4, 00c2 // +0097 │ │ +024c3e: 4401 0005 |002d: aget v1, v0, v5 │ │ +024c42: e107 0118 |002f: shr-int/lit8 v7, v1, #int 24 // #18 │ │ +024c46: d577 ff00 |0031: and-int/lit16 v7, v7, #int 255 // #00ff │ │ +024c4a: 8d77 |0033: int-to-byte v7, v7 │ │ +024c4c: e108 0110 |0034: shr-int/lit8 v8, v1, #int 16 // #10 │ │ +024c50: d588 ff00 |0036: and-int/lit16 v8, v8, #int 255 // #00ff │ │ +024c54: 8d88 |0038: int-to-byte v8, v8 │ │ +024c56: e109 0108 |0039: shr-int/lit8 v9, v1, #int 8 // #08 │ │ +024c5a: d599 ff00 |003b: and-int/lit16 v9, v9, #int 255 // #00ff │ │ +024c5e: 8d99 |003d: int-to-byte v9, v9 │ │ +024c60: d511 ff00 |003e: and-int/lit16 v1, v1, #int 255 // #00ff │ │ +024c64: 8d11 |0040: int-to-byte v1, v1 │ │ +024c66: 440a 0006 |0041: aget v10, v0, v6 │ │ +024c6a: e10b 0a18 |0043: shr-int/lit8 v11, v10, #int 24 // #18 │ │ +024c6e: d5bb ff00 |0045: and-int/lit16 v11, v11, #int 255 // #00ff │ │ +024c72: 8dbb |0047: int-to-byte v11, v11 │ │ +024c74: e10c 0a10 |0048: shr-int/lit8 v12, v10, #int 16 // #10 │ │ +024c78: d5cc ff00 |004a: and-int/lit16 v12, v12, #int 255 // #00ff │ │ +024c7c: 8dcc |004c: int-to-byte v12, v12 │ │ +024c7e: e10d 0a08 |004d: shr-int/lit8 v13, v10, #int 8 // #08 │ │ +024c82: d5dd ff00 |004f: and-int/lit16 v13, v13, #int 255 // #00ff │ │ +024c86: 8ddd |0051: int-to-byte v13, v13 │ │ +024c88: d5aa ff00 |0052: and-int/lit16 v10, v10, #int 255 // #00ff │ │ +024c8c: 8daa |0054: int-to-byte v10, v10 │ │ +024c8e: 440e 0003 |0055: aget v14, v0, v3 │ │ +024c92: e10f 0e18 |0057: shr-int/lit8 v15, v14, #int 24 // #18 │ │ +024c96: d5ff ff00 |0059: and-int/lit16 v15, v15, #int 255 // #00ff │ │ +024c9a: 8dff |005b: int-to-byte v15, v15 │ │ +024c9c: e104 0e10 |005c: shr-int/lit8 v4, v14, #int 16 // #10 │ │ +024ca0: d544 ff00 |005e: and-int/lit16 v4, v4, #int 255 // #00ff │ │ +024ca4: 8d44 |0060: int-to-byte v4, v4 │ │ +024ca6: e103 0e08 |0061: shr-int/lit8 v3, v14, #int 8 // #08 │ │ +024caa: d533 ff00 |0063: and-int/lit16 v3, v3, #int 255 // #00ff │ │ +024cae: 8d33 |0065: int-to-byte v3, v3 │ │ +024cb0: d5ee ff00 |0066: and-int/lit16 v14, v14, #int 255 // #00ff │ │ +024cb4: 8dee |0068: int-to-byte v14, v14 │ │ +024cb6: 4400 0002 |0069: aget v0, v0, v2 │ │ +024cba: e102 0018 |006b: shr-int/lit8 v2, v0, #int 24 // #18 │ │ +024cbe: d522 ff00 |006d: and-int/lit16 v2, v2, #int 255 // #00ff │ │ +024cc2: 8d22 |006f: int-to-byte v2, v2 │ │ +024cc4: e106 0010 |0070: shr-int/lit8 v6, v0, #int 16 // #10 │ │ +024cc8: d566 ff00 |0072: and-int/lit16 v6, v6, #int 255 // #00ff │ │ +024ccc: 8d66 |0074: int-to-byte v6, v6 │ │ +024cce: e105 0008 |0075: shr-int/lit8 v5, v0, #int 8 // #08 │ │ +024cd2: d555 ff00 |0077: and-int/lit16 v5, v5, #int 255 // #00ff │ │ +024cd6: 8d55 |0079: int-to-byte v5, v5 │ │ +024cd8: d500 ff00 |007a: and-int/lit16 v0, v0, #int 255 // #00ff │ │ +024cdc: 8d00 |007c: int-to-byte v0, v0 │ │ +024cde: 0211 0000 |007d: move/from16 v17, v0 │ │ +024ce2: 1300 1000 |007f: const/16 v0, #int 16 // #10 │ │ +024ce6: 2300 9d01 |0081: new-array v0, v0, [B // type@019d │ │ +024cea: 1310 0000 |0083: const/16 v16, #int 0 // #0 │ │ +024cee: 4f07 0010 |0085: aput-byte v7, v0, v16 │ │ +024cf2: 1217 |0087: const/4 v7, #int 1 // #1 │ │ +024cf4: 4f08 0007 |0088: aput-byte v8, v0, v7 │ │ +024cf8: 1227 |008a: const/4 v7, #int 2 // #2 │ │ +024cfa: 4f09 0007 |008b: aput-byte v9, v0, v7 │ │ +024cfe: 1237 |008d: const/4 v7, #int 3 // #3 │ │ +024d00: 4f01 0007 |008e: aput-byte v1, v0, v7 │ │ +024d04: 1241 |0090: const/4 v1, #int 4 // #4 │ │ +024d06: 4f0b 0001 |0091: aput-byte v11, v0, v1 │ │ +024d0a: 1251 |0093: const/4 v1, #int 5 // #5 │ │ +024d0c: 4f0c 0001 |0094: aput-byte v12, v0, v1 │ │ +024d10: 1261 |0096: const/4 v1, #int 6 // #6 │ │ +024d12: 4f0d 0001 |0097: aput-byte v13, v0, v1 │ │ +024d16: 1271 |0099: const/4 v1, #int 7 // #7 │ │ +024d18: 4f0a 0001 |009a: aput-byte v10, v0, v1 │ │ +024d1c: 1301 0800 |009c: const/16 v1, #int 8 // #8 │ │ +024d20: 4f0f 0001 |009e: aput-byte v15, v0, v1 │ │ +024d24: 1301 0900 |00a0: const/16 v1, #int 9 // #9 │ │ +024d28: 4f04 0001 |00a2: aput-byte v4, v0, v1 │ │ +024d2c: 1301 0a00 |00a4: const/16 v1, #int 10 // #a │ │ +024d30: 4f03 0001 |00a6: aput-byte v3, v0, v1 │ │ +024d34: 1301 0b00 |00a8: const/16 v1, #int 11 // #b │ │ +024d38: 4f0e 0001 |00aa: aput-byte v14, v0, v1 │ │ +024d3c: 1301 0c00 |00ac: const/16 v1, #int 12 // #c │ │ +024d40: 4f02 0001 |00ae: aput-byte v2, v0, v1 │ │ +024d44: 1301 0d00 |00b0: const/16 v1, #int 13 // #d │ │ +024d48: 4f06 0001 |00b2: aput-byte v6, v0, v1 │ │ +024d4c: 1301 0e00 |00b4: const/16 v1, #int 14 // #e │ │ +024d50: 4f05 0001 |00b6: aput-byte v5, v0, v1 │ │ +024d54: 1301 0f00 |00b8: const/16 v1, #int 15 // #f │ │ +024d58: 4f11 0001 |00ba: aput-byte v17, v0, v1 │ │ +024d5c: 0704 |00bc: move-object v4, v0 │ │ +024d5e: 7110 d405 0400 |00bd: invoke-static {v4}, Ljava/net/InetAddress;.getByAddress:([B)Ljava/net/InetAddress; // method@05d4 │ │ +024d64: 0c00 |00c0: move-result-object v0 │ │ +024d66: 1100 |00c1: return-object v0 │ │ +024d68: 2201 1c01 |00c2: new-instance v1, Ljava/lang/IllegalArgumentException; // type@011c │ │ +024d6c: 2202 2d01 |00c4: new-instance v2, Ljava/lang/StringBuilder; // type@012d │ │ +024d70: 1a03 ed01 |00c6: const-string v3, "Invalid array length:" // string@01ed │ │ +024d74: 7020 aa05 3200 |00c8: invoke-direct {v2, v3}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05aa │ │ +024d7a: 2100 |00cb: array-length v0, v0 │ │ +024d7c: 6e20 ac05 0200 |00cc: invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@05ac │ │ +024d82: 6e10 b105 0200 |00cf: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ +024d88: 0c00 |00d2: move-result-object v0 │ │ +024d8a: 7020 6205 0100 |00d3: invoke-direct {v1, v0}, Ljava/lang/IllegalArgumentException;.:(Ljava/lang/String;)V // method@0562 │ │ +024d90: 2701 |00d6: throw v1 │ │ catches : (none) │ │ positions : │ │ 0x0002 line=136 │ │ 0x000a line=137 │ │ 0x002a line=138 │ │ 0x002d line=139 │ │ 0x00bd line=148 │ │ @@ -25617,111 +25617,111 @@ │ │ type : '(Ljava/net/InetAddress;)[I' │ │ access : 0x0009 (PUBLIC STATIC) │ │ code - │ │ registers : 8 │ │ ins : 1 │ │ outs : 4 │ │ insns size : 161 16-bit code units │ │ -024a24: |[024a24] ip.IPPacket.ip2int:(Ljava/net/InetAddress;)[I │ │ -024a34: 6e10 d205 0700 |0000: invoke-virtual {v7}, Ljava/net/InetAddress;.getAddress:()[B // method@05d2 │ │ -024a3a: 0c07 |0003: move-result-object v7 │ │ -024a3c: 2170 |0004: array-length v0, v7 │ │ -024a3e: 1201 |0005: const/4 v1, #int 0 // #0 │ │ -024a40: 1212 |0006: const/4 v2, #int 1 // #1 │ │ -024a42: 1223 |0007: const/4 v3, #int 2 // #2 │ │ -024a44: 1234 |0008: const/4 v4, #int 3 // #3 │ │ -024a46: 1305 0800 |0009: const/16 v5, #int 8 // #8 │ │ -024a4a: 1246 |000b: const/4 v6, #int 4 // #4 │ │ -024a4c: 3360 1f00 |000c: if-ne v0, v6, 002b // +001f │ │ -024a50: 4800 0704 |000e: aget-byte v0, v7, v4 │ │ -024a54: d500 ff00 |0010: and-int/lit16 v0, v0, #int 255 // #00ff │ │ -024a58: 4803 0703 |0012: aget-byte v3, v7, v3 │ │ -024a5c: d533 ff00 |0014: and-int/lit16 v3, v3, #int 255 // #00ff │ │ -024a60: b853 |0016: shl-int/2addr v3, v5 │ │ -024a62: b630 |0017: or-int/2addr v0, v3 │ │ -024a64: 4802 0702 |0018: aget-byte v2, v7, v2 │ │ -024a68: d522 ff00 |001a: and-int/lit16 v2, v2, #int 255 // #00ff │ │ -024a6c: e002 0210 |001c: shl-int/lit8 v2, v2, #int 16 // #10 │ │ -024a70: b620 |001e: or-int/2addr v0, v2 │ │ -024a72: 4807 0701 |001f: aget-byte v7, v7, v1 │ │ -024a76: d577 ff00 |0021: and-int/lit16 v7, v7, #int 255 // #00ff │ │ -024a7a: e007 0718 |0023: shl-int/lit8 v7, v7, #int 24 // #18 │ │ -024a7e: b607 |0025: or-int/2addr v7, v0 │ │ -024a80: 2410 9e01 0700 |0026: filled-new-array {v7}, [I // type@019e │ │ -024a86: 0c07 |0029: move-result-object v7 │ │ -024a88: 1107 |002a: return-object v7 │ │ -024a8a: 4800 0704 |002b: aget-byte v0, v7, v4 │ │ -024a8e: d500 ff00 |002d: and-int/lit16 v0, v0, #int 255 // #00ff │ │ -024a92: 4803 0703 |002f: aget-byte v3, v7, v3 │ │ -024a96: d533 ff00 |0031: and-int/lit16 v3, v3, #int 255 // #00ff │ │ -024a9a: b853 |0033: shl-int/2addr v3, v5 │ │ -024a9c: b630 |0034: or-int/2addr v0, v3 │ │ -024a9e: 4802 0702 |0035: aget-byte v2, v7, v2 │ │ -024aa2: d522 ff00 |0037: and-int/lit16 v2, v2, #int 255 // #00ff │ │ -024aa6: e002 0210 |0039: shl-int/lit8 v2, v2, #int 16 // #10 │ │ -024aaa: b620 |003b: or-int/2addr v0, v2 │ │ -024aac: 4801 0701 |003c: aget-byte v1, v7, v1 │ │ -024ab0: d511 ff00 |003e: and-int/lit16 v1, v1, #int 255 // #00ff │ │ -024ab4: e001 0118 |0040: shl-int/lit8 v1, v1, #int 24 // #18 │ │ -024ab8: b610 |0042: or-int/2addr v0, v1 │ │ -024aba: 1271 |0043: const/4 v1, #int 7 // #7 │ │ -024abc: 4801 0701 |0044: aget-byte v1, v7, v1 │ │ -024ac0: d511 ff00 |0046: and-int/lit16 v1, v1, #int 255 // #00ff │ │ -024ac4: 1262 |0048: const/4 v2, #int 6 // #6 │ │ -024ac6: 4802 0702 |0049: aget-byte v2, v7, v2 │ │ -024aca: d522 ff00 |004b: and-int/lit16 v2, v2, #int 255 // #00ff │ │ -024ace: b852 |004d: shl-int/2addr v2, v5 │ │ -024ad0: b621 |004e: or-int/2addr v1, v2 │ │ -024ad2: 1252 |004f: const/4 v2, #int 5 // #5 │ │ -024ad4: 4802 0702 |0050: aget-byte v2, v7, v2 │ │ -024ad8: d522 ff00 |0052: and-int/lit16 v2, v2, #int 255 // #00ff │ │ -024adc: e002 0210 |0054: shl-int/lit8 v2, v2, #int 16 // #10 │ │ -024ae0: b621 |0056: or-int/2addr v1, v2 │ │ -024ae2: 4802 0706 |0057: aget-byte v2, v7, v6 │ │ -024ae6: d522 ff00 |0059: and-int/lit16 v2, v2, #int 255 // #00ff │ │ -024aea: e002 0218 |005b: shl-int/lit8 v2, v2, #int 24 // #18 │ │ -024aee: b621 |005d: or-int/2addr v1, v2 │ │ -024af0: 1302 0b00 |005e: const/16 v2, #int 11 // #b │ │ -024af4: 4802 0702 |0060: aget-byte v2, v7, v2 │ │ -024af8: d522 ff00 |0062: and-int/lit16 v2, v2, #int 255 // #00ff │ │ -024afc: 1303 0a00 |0064: const/16 v3, #int 10 // #a │ │ -024b00: 4803 0703 |0066: aget-byte v3, v7, v3 │ │ -024b04: d533 ff00 |0068: and-int/lit16 v3, v3, #int 255 // #00ff │ │ -024b08: b853 |006a: shl-int/2addr v3, v5 │ │ -024b0a: b632 |006b: or-int/2addr v2, v3 │ │ -024b0c: 1303 0900 |006c: const/16 v3, #int 9 // #9 │ │ -024b10: 4803 0703 |006e: aget-byte v3, v7, v3 │ │ -024b14: d533 ff00 |0070: and-int/lit16 v3, v3, #int 255 // #00ff │ │ -024b18: e003 0310 |0072: shl-int/lit8 v3, v3, #int 16 // #10 │ │ -024b1c: b632 |0074: or-int/2addr v2, v3 │ │ -024b1e: 4803 0705 |0075: aget-byte v3, v7, v5 │ │ -024b22: d533 ff00 |0077: and-int/lit16 v3, v3, #int 255 // #00ff │ │ -024b26: e003 0318 |0079: shl-int/lit8 v3, v3, #int 24 // #18 │ │ -024b2a: b632 |007b: or-int/2addr v2, v3 │ │ -024b2c: 1303 0f00 |007c: const/16 v3, #int 15 // #f │ │ -024b30: 4803 0703 |007e: aget-byte v3, v7, v3 │ │ -024b34: d533 ff00 |0080: and-int/lit16 v3, v3, #int 255 // #00ff │ │ -024b38: 1304 0e00 |0082: const/16 v4, #int 14 // #e │ │ -024b3c: 4804 0704 |0084: aget-byte v4, v7, v4 │ │ -024b40: d544 ff00 |0086: and-int/lit16 v4, v4, #int 255 // #00ff │ │ -024b44: b854 |0088: shl-int/2addr v4, v5 │ │ -024b46: b643 |0089: or-int/2addr v3, v4 │ │ -024b48: 1304 0d00 |008a: const/16 v4, #int 13 // #d │ │ -024b4c: 4804 0704 |008c: aget-byte v4, v7, v4 │ │ -024b50: d544 ff00 |008e: and-int/lit16 v4, v4, #int 255 // #00ff │ │ -024b54: e004 0410 |0090: shl-int/lit8 v4, v4, #int 16 // #10 │ │ -024b58: b643 |0092: or-int/2addr v3, v4 │ │ -024b5a: 1304 0c00 |0093: const/16 v4, #int 12 // #c │ │ -024b5e: 4807 0704 |0095: aget-byte v7, v7, v4 │ │ -024b62: d577 ff00 |0097: and-int/lit16 v7, v7, #int 255 // #00ff │ │ -024b66: e007 0718 |0099: shl-int/lit8 v7, v7, #int 24 // #18 │ │ -024b6a: b637 |009b: or-int/2addr v7, v3 │ │ -024b6c: 2440 9e01 1072 |009c: filled-new-array {v0, v1, v2, v7}, [I // type@019e │ │ -024b72: 0c07 |009f: move-result-object v7 │ │ -024b74: 1107 |00a0: return-object v7 │ │ +024a20: |[024a20] ip.IPPacket.ip2int:(Ljava/net/InetAddress;)[I │ │ +024a30: 6e10 d205 0700 |0000: invoke-virtual {v7}, Ljava/net/InetAddress;.getAddress:()[B // method@05d2 │ │ +024a36: 0c07 |0003: move-result-object v7 │ │ +024a38: 2170 |0004: array-length v0, v7 │ │ +024a3a: 1201 |0005: const/4 v1, #int 0 // #0 │ │ +024a3c: 1212 |0006: const/4 v2, #int 1 // #1 │ │ +024a3e: 1223 |0007: const/4 v3, #int 2 // #2 │ │ +024a40: 1234 |0008: const/4 v4, #int 3 // #3 │ │ +024a42: 1305 0800 |0009: const/16 v5, #int 8 // #8 │ │ +024a46: 1246 |000b: const/4 v6, #int 4 // #4 │ │ +024a48: 3360 1f00 |000c: if-ne v0, v6, 002b // +001f │ │ +024a4c: 4800 0704 |000e: aget-byte v0, v7, v4 │ │ +024a50: d500 ff00 |0010: and-int/lit16 v0, v0, #int 255 // #00ff │ │ +024a54: 4803 0703 |0012: aget-byte v3, v7, v3 │ │ +024a58: d533 ff00 |0014: and-int/lit16 v3, v3, #int 255 // #00ff │ │ +024a5c: b853 |0016: shl-int/2addr v3, v5 │ │ +024a5e: b630 |0017: or-int/2addr v0, v3 │ │ +024a60: 4802 0702 |0018: aget-byte v2, v7, v2 │ │ +024a64: d522 ff00 |001a: and-int/lit16 v2, v2, #int 255 // #00ff │ │ +024a68: e002 0210 |001c: shl-int/lit8 v2, v2, #int 16 // #10 │ │ +024a6c: b620 |001e: or-int/2addr v0, v2 │ │ +024a6e: 4807 0701 |001f: aget-byte v7, v7, v1 │ │ +024a72: d577 ff00 |0021: and-int/lit16 v7, v7, #int 255 // #00ff │ │ +024a76: e007 0718 |0023: shl-int/lit8 v7, v7, #int 24 // #18 │ │ +024a7a: b607 |0025: or-int/2addr v7, v0 │ │ +024a7c: 2410 9e01 0700 |0026: filled-new-array {v7}, [I // type@019e │ │ +024a82: 0c07 |0029: move-result-object v7 │ │ +024a84: 1107 |002a: return-object v7 │ │ +024a86: 4800 0704 |002b: aget-byte v0, v7, v4 │ │ +024a8a: d500 ff00 |002d: and-int/lit16 v0, v0, #int 255 // #00ff │ │ +024a8e: 4803 0703 |002f: aget-byte v3, v7, v3 │ │ +024a92: d533 ff00 |0031: and-int/lit16 v3, v3, #int 255 // #00ff │ │ +024a96: b853 |0033: shl-int/2addr v3, v5 │ │ +024a98: b630 |0034: or-int/2addr v0, v3 │ │ +024a9a: 4802 0702 |0035: aget-byte v2, v7, v2 │ │ +024a9e: d522 ff00 |0037: and-int/lit16 v2, v2, #int 255 // #00ff │ │ +024aa2: e002 0210 |0039: shl-int/lit8 v2, v2, #int 16 // #10 │ │ +024aa6: b620 |003b: or-int/2addr v0, v2 │ │ +024aa8: 4801 0701 |003c: aget-byte v1, v7, v1 │ │ +024aac: d511 ff00 |003e: and-int/lit16 v1, v1, #int 255 // #00ff │ │ +024ab0: e001 0118 |0040: shl-int/lit8 v1, v1, #int 24 // #18 │ │ +024ab4: b610 |0042: or-int/2addr v0, v1 │ │ +024ab6: 1271 |0043: const/4 v1, #int 7 // #7 │ │ +024ab8: 4801 0701 |0044: aget-byte v1, v7, v1 │ │ +024abc: d511 ff00 |0046: and-int/lit16 v1, v1, #int 255 // #00ff │ │ +024ac0: 1262 |0048: const/4 v2, #int 6 // #6 │ │ +024ac2: 4802 0702 |0049: aget-byte v2, v7, v2 │ │ +024ac6: d522 ff00 |004b: and-int/lit16 v2, v2, #int 255 // #00ff │ │ +024aca: b852 |004d: shl-int/2addr v2, v5 │ │ +024acc: b621 |004e: or-int/2addr v1, v2 │ │ +024ace: 1252 |004f: const/4 v2, #int 5 // #5 │ │ +024ad0: 4802 0702 |0050: aget-byte v2, v7, v2 │ │ +024ad4: d522 ff00 |0052: and-int/lit16 v2, v2, #int 255 // #00ff │ │ +024ad8: e002 0210 |0054: shl-int/lit8 v2, v2, #int 16 // #10 │ │ +024adc: b621 |0056: or-int/2addr v1, v2 │ │ +024ade: 4802 0706 |0057: aget-byte v2, v7, v6 │ │ +024ae2: d522 ff00 |0059: and-int/lit16 v2, v2, #int 255 // #00ff │ │ +024ae6: e002 0218 |005b: shl-int/lit8 v2, v2, #int 24 // #18 │ │ +024aea: b621 |005d: or-int/2addr v1, v2 │ │ +024aec: 1302 0b00 |005e: const/16 v2, #int 11 // #b │ │ +024af0: 4802 0702 |0060: aget-byte v2, v7, v2 │ │ +024af4: d522 ff00 |0062: and-int/lit16 v2, v2, #int 255 // #00ff │ │ +024af8: 1303 0a00 |0064: const/16 v3, #int 10 // #a │ │ +024afc: 4803 0703 |0066: aget-byte v3, v7, v3 │ │ +024b00: d533 ff00 |0068: and-int/lit16 v3, v3, #int 255 // #00ff │ │ +024b04: b853 |006a: shl-int/2addr v3, v5 │ │ +024b06: b632 |006b: or-int/2addr v2, v3 │ │ +024b08: 1303 0900 |006c: const/16 v3, #int 9 // #9 │ │ +024b0c: 4803 0703 |006e: aget-byte v3, v7, v3 │ │ +024b10: d533 ff00 |0070: and-int/lit16 v3, v3, #int 255 // #00ff │ │ +024b14: e003 0310 |0072: shl-int/lit8 v3, v3, #int 16 // #10 │ │ +024b18: b632 |0074: or-int/2addr v2, v3 │ │ +024b1a: 4803 0705 |0075: aget-byte v3, v7, v5 │ │ +024b1e: d533 ff00 |0077: and-int/lit16 v3, v3, #int 255 // #00ff │ │ +024b22: e003 0318 |0079: shl-int/lit8 v3, v3, #int 24 // #18 │ │ +024b26: b632 |007b: or-int/2addr v2, v3 │ │ +024b28: 1303 0f00 |007c: const/16 v3, #int 15 // #f │ │ +024b2c: 4803 0703 |007e: aget-byte v3, v7, v3 │ │ +024b30: d533 ff00 |0080: and-int/lit16 v3, v3, #int 255 // #00ff │ │ +024b34: 1304 0e00 |0082: const/16 v4, #int 14 // #e │ │ +024b38: 4804 0704 |0084: aget-byte v4, v7, v4 │ │ +024b3c: d544 ff00 |0086: and-int/lit16 v4, v4, #int 255 // #00ff │ │ +024b40: b854 |0088: shl-int/2addr v4, v5 │ │ +024b42: b643 |0089: or-int/2addr v3, v4 │ │ +024b44: 1304 0d00 |008a: const/16 v4, #int 13 // #d │ │ +024b48: 4804 0704 |008c: aget-byte v4, v7, v4 │ │ +024b4c: d544 ff00 |008e: and-int/lit16 v4, v4, #int 255 // #00ff │ │ +024b50: e004 0410 |0090: shl-int/lit8 v4, v4, #int 16 // #10 │ │ +024b54: b643 |0092: or-int/2addr v3, v4 │ │ +024b56: 1304 0c00 |0093: const/16 v4, #int 12 // #c │ │ +024b5a: 4807 0704 |0095: aget-byte v7, v7, v4 │ │ +024b5e: d577 ff00 |0097: and-int/lit16 v7, v7, #int 255 // #00ff │ │ +024b62: e007 0718 |0099: shl-int/lit8 v7, v7, #int 24 // #18 │ │ +024b66: b637 |009b: or-int/2addr v7, v3 │ │ +024b68: 2440 9e01 1072 |009c: filled-new-array {v0, v1, v2, v7}, [I // type@019e │ │ +024b6e: 0c07 |009f: move-result-object v7 │ │ +024b70: 1107 |00a0: return-object v7 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=122 │ │ 0x0004 line=123 │ │ 0x000e line=124 │ │ 0x002b line=126 │ │ locals : │ │ @@ -25733,18 +25733,18 @@ │ │ type : '()I' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 5 16-bit code units │ │ -02471c: |[02471c] ip.IPPacket.checkCheckSum:()I │ │ -02472c: 7010 ad04 0100 |0000: invoke-direct {v1}, Lip/IPPacket;.calculateCheckSum:()I // method@04ad │ │ -024732: 0a00 |0003: move-result v0 │ │ -024734: 0f00 |0004: return v0 │ │ +024718: |[024718] ip.IPPacket.checkCheckSum:()I │ │ +024728: 7010 ad04 0100 |0000: invoke-direct {v1}, Lip/IPPacket;.calculateCheckSum:()I // method@04ad │ │ +02472e: 0a00 |0003: move-result v0 │ │ +024730: 0f00 |0004: return v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=168 │ │ locals : │ │ 0x0000 - 0x0005 reg=1 this Lip/IPPacket; │ │ │ │ #1 : (in Lip/IPPacket;) │ │ @@ -25752,17 +25752,17 @@ │ │ type : '()[B' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 0 │ │ insns size : 3 16-bit code units │ │ -0246d0: |[0246d0] ip.IPPacket.getData:()[B │ │ -0246e0: 5410 0903 |0000: iget-object v0, v1, Lip/IPPacket;.data:[B // field@0309 │ │ -0246e4: 1100 |0002: return-object v0 │ │ +0246cc: |[0246cc] ip.IPPacket.getData:()[B │ │ +0246dc: 5410 0903 |0000: iget-object v0, v1, Lip/IPPacket;.data:[B // field@0309 │ │ +0246e0: 1100 |0002: return-object v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=252 │ │ locals : │ │ 0x0000 - 0x0003 reg=1 this Lip/IPPacket; │ │ │ │ #2 : (in Lip/IPPacket;) │ │ @@ -25770,37 +25770,37 @@ │ │ type : '()[I' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 4 │ │ ins : 1 │ │ outs : 3 │ │ insns size : 41 16-bit code units │ │ -024958: |[024958] ip.IPPacket.getDestIP:()[I │ │ -024968: 5230 0e03 |0000: iget v0, v3, Lip/IPPacket;.version:I // field@030e │ │ -02496c: 1241 |0002: const/4 v1, #int 4 // #4 │ │ -02496e: 3310 0800 |0003: if-ne v0, v1, 000b // +0008 │ │ -024972: 1210 |0005: const/4 v0, #int 1 // #1 │ │ -024974: 7030 af04 1300 |0006: invoke-direct {v3, v1, v0}, Lip/IPPacket;.copyFromHeader:(II)[I // method@04af │ │ -02497a: 0c00 |0009: move-result-object v0 │ │ -02497c: 1100 |000a: return-object v0 │ │ -02497e: 1262 |000b: const/4 v2, #int 6 // #6 │ │ -024980: 3320 0700 |000c: if-ne v0, v2, 0013 // +0007 │ │ -024984: 7030 af04 2301 |000e: invoke-direct {v3, v2, v1}, Lip/IPPacket;.copyFromHeader:(II)[I // method@04af │ │ -02498a: 0c00 |0011: move-result-object v0 │ │ -02498c: 1100 |0012: return-object v0 │ │ -02498e: 2200 1d01 |0013: new-instance v0, Ljava/lang/IllegalStateException; // type@011d │ │ -024992: 2201 2d01 |0015: new-instance v1, Ljava/lang/StringBuilder; // type@012d │ │ -024996: 1a02 e201 |0017: const-string v2, "Illegal version:" // string@01e2 │ │ -02499a: 7020 aa05 2100 |0019: invoke-direct {v1, v2}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05aa │ │ -0249a0: 5232 0e03 |001c: iget v2, v3, Lip/IPPacket;.version:I // field@030e │ │ -0249a4: 6e20 ac05 2100 |001e: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@05ac │ │ -0249aa: 6e10 b105 0100 |0021: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ -0249b0: 0c01 |0024: move-result-object v1 │ │ -0249b2: 7020 6305 1000 |0025: invoke-direct {v0, v1}, Ljava/lang/IllegalStateException;.:(Ljava/lang/String;)V // method@0563 │ │ -0249b8: 2700 |0028: throw v0 │ │ +024954: |[024954] ip.IPPacket.getDestIP:()[I │ │ +024964: 5230 0e03 |0000: iget v0, v3, Lip/IPPacket;.version:I // field@030e │ │ +024968: 1241 |0002: const/4 v1, #int 4 // #4 │ │ +02496a: 3310 0800 |0003: if-ne v0, v1, 000b // +0008 │ │ +02496e: 1210 |0005: const/4 v0, #int 1 // #1 │ │ +024970: 7030 af04 1300 |0006: invoke-direct {v3, v1, v0}, Lip/IPPacket;.copyFromHeader:(II)[I // method@04af │ │ +024976: 0c00 |0009: move-result-object v0 │ │ +024978: 1100 |000a: return-object v0 │ │ +02497a: 1262 |000b: const/4 v2, #int 6 // #6 │ │ +02497c: 3320 0700 |000c: if-ne v0, v2, 0013 // +0007 │ │ +024980: 7030 af04 2301 |000e: invoke-direct {v3, v2, v1}, Lip/IPPacket;.copyFromHeader:(II)[I // method@04af │ │ +024986: 0c00 |0011: move-result-object v0 │ │ +024988: 1100 |0012: return-object v0 │ │ +02498a: 2200 1d01 |0013: new-instance v0, Ljava/lang/IllegalStateException; // type@011d │ │ +02498e: 2201 2d01 |0015: new-instance v1, Ljava/lang/StringBuilder; // type@012d │ │ +024992: 1a02 e201 |0017: const-string v2, "Illegal version:" // string@01e2 │ │ +024996: 7020 aa05 2100 |0019: invoke-direct {v1, v2}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05aa │ │ +02499c: 5232 0e03 |001c: iget v2, v3, Lip/IPPacket;.version:I // field@030e │ │ +0249a0: 6e20 ac05 2100 |001e: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@05ac │ │ +0249a6: 6e10 b105 0100 |0021: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ +0249ac: 0c01 |0024: move-result-object v1 │ │ +0249ae: 7020 6305 1000 |0025: invoke-direct {v0, v1}, Ljava/lang/IllegalStateException;.:(Ljava/lang/String;)V // method@0563 │ │ +0249b4: 2700 |0028: throw v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=216 │ │ 0x0006 line=217 │ │ 0x000e line=219 │ │ 0x0013 line=221 │ │ locals : │ │ @@ -25811,17 +25811,17 @@ │ │ type : '()I' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 0 │ │ insns size : 3 16-bit code units │ │ -024778: |[024778] ip.IPPacket.getHeaderLength:()I │ │ -024788: 5210 0a03 |0000: iget v0, v1, Lip/IPPacket;.ipHdrlen:I // field@030a │ │ -02478c: 0f00 |0002: return v0 │ │ +024774: |[024774] ip.IPPacket.getHeaderLength:()I │ │ +024784: 5210 0a03 |0000: iget v0, v1, Lip/IPPacket;.ipHdrlen:I // field@030a │ │ +024788: 0f00 |0002: return v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=260 │ │ locals : │ │ 0x0000 - 0x0003 reg=1 this Lip/IPPacket; │ │ │ │ #4 : (in Lip/IPPacket;) │ │ @@ -25829,44 +25829,44 @@ │ │ type : '()I' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 4 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 54 16-bit code units │ │ -024790: |[024790] ip.IPPacket.getLength:()I │ │ -0247a0: 5230 0e03 |0000: iget v0, v3, Lip/IPPacket;.version:I // field@030e │ │ -0247a4: 1241 |0002: const/4 v1, #int 4 // #4 │ │ -0247a6: 3310 0e00 |0003: if-ne v0, v1, 0011 // +000e │ │ -0247aa: 5430 0b03 |0005: iget-object v0, v3, Lip/IPPacket;.ipHeader:Ljava/nio/IntBuffer; // field@030b │ │ -0247ae: 1201 |0007: const/4 v1, #int 0 // #0 │ │ -0247b0: 6e20 0c06 1000 |0008: invoke-virtual {v0, v1}, Ljava/nio/IntBuffer;.get:(I)I // method@060c │ │ -0247b6: 0a00 |000b: move-result v0 │ │ -0247b8: 1401 ffff 0000 |000c: const v1, #float 9.18341e-41 // #0000ffff │ │ -0247be: b510 |000f: and-int/2addr v0, v1 │ │ -0247c0: 0f00 |0010: return v0 │ │ -0247c2: 1261 |0011: const/4 v1, #int 6 // #6 │ │ -0247c4: 3310 0e00 |0012: if-ne v0, v1, 0020 // +000e │ │ -0247c8: 5430 0b03 |0014: iget-object v0, v3, Lip/IPPacket;.ipHeader:Ljava/nio/IntBuffer; // field@030b │ │ -0247cc: 1211 |0016: const/4 v1, #int 1 // #1 │ │ -0247ce: 6e20 0c06 1000 |0017: invoke-virtual {v0, v1}, Ljava/nio/IntBuffer;.get:(I)I // method@060c │ │ -0247d4: 0a00 |001a: move-result v0 │ │ -0247d6: e200 0010 |001b: ushr-int/lit8 v0, v0, #int 16 // #10 │ │ -0247da: d800 0028 |001d: add-int/lit8 v0, v0, #int 40 // #28 │ │ -0247de: 0f00 |001f: return v0 │ │ -0247e0: 2200 1d01 |0020: new-instance v0, Ljava/lang/IllegalStateException; // type@011d │ │ -0247e4: 2201 2d01 |0022: new-instance v1, Ljava/lang/StringBuilder; // type@012d │ │ -0247e8: 1a02 e201 |0024: const-string v2, "Illegal version:" // string@01e2 │ │ -0247ec: 7020 aa05 2100 |0026: invoke-direct {v1, v2}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05aa │ │ -0247f2: 5232 0e03 |0029: iget v2, v3, Lip/IPPacket;.version:I // field@030e │ │ -0247f6: 6e20 ac05 2100 |002b: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@05ac │ │ -0247fc: 6e10 b105 0100 |002e: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ -024802: 0c01 |0031: move-result-object v1 │ │ -024804: 7020 6305 1000 |0032: invoke-direct {v0, v1}, Ljava/lang/IllegalStateException;.:(Ljava/lang/String;)V // method@0563 │ │ -02480a: 2700 |0035: throw v0 │ │ +02478c: |[02478c] ip.IPPacket.getLength:()I │ │ +02479c: 5230 0e03 |0000: iget v0, v3, Lip/IPPacket;.version:I // field@030e │ │ +0247a0: 1241 |0002: const/4 v1, #int 4 // #4 │ │ +0247a2: 3310 0e00 |0003: if-ne v0, v1, 0011 // +000e │ │ +0247a6: 5430 0b03 |0005: iget-object v0, v3, Lip/IPPacket;.ipHeader:Ljava/nio/IntBuffer; // field@030b │ │ +0247aa: 1201 |0007: const/4 v1, #int 0 // #0 │ │ +0247ac: 6e20 0c06 1000 |0008: invoke-virtual {v0, v1}, Ljava/nio/IntBuffer;.get:(I)I // method@060c │ │ +0247b2: 0a00 |000b: move-result v0 │ │ +0247b4: 1401 ffff 0000 |000c: const v1, #float 9.18341e-41 // #0000ffff │ │ +0247ba: b510 |000f: and-int/2addr v0, v1 │ │ +0247bc: 0f00 |0010: return v0 │ │ +0247be: 1261 |0011: const/4 v1, #int 6 // #6 │ │ +0247c0: 3310 0e00 |0012: if-ne v0, v1, 0020 // +000e │ │ +0247c4: 5430 0b03 |0014: iget-object v0, v3, Lip/IPPacket;.ipHeader:Ljava/nio/IntBuffer; // field@030b │ │ +0247c8: 1211 |0016: const/4 v1, #int 1 // #1 │ │ +0247ca: 6e20 0c06 1000 |0017: invoke-virtual {v0, v1}, Ljava/nio/IntBuffer;.get:(I)I // method@060c │ │ +0247d0: 0a00 |001a: move-result v0 │ │ +0247d2: e200 0010 |001b: ushr-int/lit8 v0, v0, #int 16 // #10 │ │ +0247d6: d800 0028 |001d: add-int/lit8 v0, v0, #int 40 // #28 │ │ +0247da: 0f00 |001f: return v0 │ │ +0247dc: 2200 1d01 |0020: new-instance v0, Ljava/lang/IllegalStateException; // type@011d │ │ +0247e0: 2201 2d01 |0022: new-instance v1, Ljava/lang/StringBuilder; // type@012d │ │ +0247e4: 1a02 e201 |0024: const-string v2, "Illegal version:" // string@01e2 │ │ +0247e8: 7020 aa05 2100 |0026: invoke-direct {v1, v2}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05aa │ │ +0247ee: 5232 0e03 |0029: iget v2, v3, Lip/IPPacket;.version:I // field@030e │ │ +0247f2: 6e20 ac05 2100 |002b: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@05ac │ │ +0247f8: 6e10 b105 0100 |002e: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ +0247fe: 0c01 |0031: move-result-object v1 │ │ +024800: 7020 6305 1000 |0032: invoke-direct {v0, v1}, Ljava/lang/IllegalStateException;.:(Ljava/lang/String;)V // method@0563 │ │ +024806: 2700 |0035: throw v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=243 │ │ 0x0005 line=244 │ │ 0x0014 line=246 │ │ 0x0020 line=248 │ │ locals : │ │ @@ -25877,17 +25877,17 @@ │ │ type : '()I' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 0 │ │ insns size : 3 16-bit code units │ │ -02480c: |[02480c] ip.IPPacket.getOffset:()I │ │ -02481c: 5210 0d03 |0000: iget v0, v1, Lip/IPPacket;.offset:I // field@030d │ │ -024820: 0f00 |0002: return v0 │ │ +024808: |[024808] ip.IPPacket.getOffset:()I │ │ +024818: 5210 0d03 |0000: iget v0, v1, Lip/IPPacket;.offset:I // field@030d │ │ +02481c: 0f00 |0002: return v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=256 │ │ locals : │ │ 0x0000 - 0x0003 reg=1 this Lip/IPPacket; │ │ │ │ #6 : (in Lip/IPPacket;) │ │ @@ -25895,45 +25895,45 @@ │ │ type : '()I' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 4 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 54 16-bit code units │ │ -024824: |[024824] ip.IPPacket.getProt:()I │ │ -024834: 5230 0e03 |0000: iget v0, v3, Lip/IPPacket;.version:I // field@030e │ │ -024838: 1241 |0002: const/4 v1, #int 4 // #4 │ │ -02483a: 3310 0e00 |0003: if-ne v0, v1, 0011 // +000e │ │ -02483e: 5430 0b03 |0005: iget-object v0, v3, Lip/IPPacket;.ipHeader:Ljava/nio/IntBuffer; // field@030b │ │ -024842: 1221 |0007: const/4 v1, #int 2 // #2 │ │ -024844: 6e20 0c06 1000 |0008: invoke-virtual {v0, v1}, Ljava/nio/IntBuffer;.get:(I)I // method@060c │ │ -02484a: 0a00 |000b: move-result v0 │ │ -02484c: e200 0010 |000c: ushr-int/lit8 v0, v0, #int 16 // #10 │ │ -024850: d500 ff00 |000e: and-int/lit16 v0, v0, #int 255 // #00ff │ │ -024854: 0f00 |0010: return v0 │ │ -024856: 1261 |0011: const/4 v1, #int 6 // #6 │ │ -024858: 3310 0c00 |0012: if-ne v0, v1, 001e // +000c │ │ -02485c: 5430 0b03 |0014: iget-object v0, v3, Lip/IPPacket;.ipHeader:Ljava/nio/IntBuffer; // field@030b │ │ -024860: 1211 |0016: const/4 v1, #int 1 // #1 │ │ -024862: 6e20 0c06 1000 |0017: invoke-virtual {v0, v1}, Ljava/nio/IntBuffer;.get:(I)I // method@060c │ │ -024868: 0a00 |001a: move-result v0 │ │ -02486a: e200 0008 |001b: ushr-int/lit8 v0, v0, #int 8 // #08 │ │ -02486e: 28f1 |001d: goto 000e // -000f │ │ -024870: 2200 1d01 |001e: new-instance v0, Ljava/lang/IllegalStateException; // type@011d │ │ -024874: 2201 2d01 |0020: new-instance v1, Ljava/lang/StringBuilder; // type@012d │ │ -024878: 1a02 e201 |0022: const-string v2, "Illegal version:" // string@01e2 │ │ -02487c: 7020 aa05 2100 |0024: invoke-direct {v1, v2}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05aa │ │ -024882: 5232 0e03 |0027: iget v2, v3, Lip/IPPacket;.version:I // field@030e │ │ -024886: 6e20 ac05 2100 |0029: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@05ac │ │ -02488c: 6e10 b105 0100 |002c: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ -024892: 0c01 |002f: move-result-object v1 │ │ -024894: 7020 6305 1000 |0030: invoke-direct {v0, v1}, Ljava/lang/IllegalStateException;.:(Ljava/lang/String;)V // method@0563 │ │ -02489a: 2802 |0033: goto 0035 // +0002 │ │ -02489c: 2700 |0034: throw v0 │ │ -02489e: 28ff |0035: goto 0034 // -0001 │ │ +024820: |[024820] ip.IPPacket.getProt:()I │ │ +024830: 5230 0e03 |0000: iget v0, v3, Lip/IPPacket;.version:I // field@030e │ │ +024834: 1241 |0002: const/4 v1, #int 4 // #4 │ │ +024836: 3310 0e00 |0003: if-ne v0, v1, 0011 // +000e │ │ +02483a: 5430 0b03 |0005: iget-object v0, v3, Lip/IPPacket;.ipHeader:Ljava/nio/IntBuffer; // field@030b │ │ +02483e: 1221 |0007: const/4 v1, #int 2 // #2 │ │ +024840: 6e20 0c06 1000 |0008: invoke-virtual {v0, v1}, Ljava/nio/IntBuffer;.get:(I)I // method@060c │ │ +024846: 0a00 |000b: move-result v0 │ │ +024848: e200 0010 |000c: ushr-int/lit8 v0, v0, #int 16 // #10 │ │ +02484c: d500 ff00 |000e: and-int/lit16 v0, v0, #int 255 // #00ff │ │ +024850: 0f00 |0010: return v0 │ │ +024852: 1261 |0011: const/4 v1, #int 6 // #6 │ │ +024854: 3310 0c00 |0012: if-ne v0, v1, 001e // +000c │ │ +024858: 5430 0b03 |0014: iget-object v0, v3, Lip/IPPacket;.ipHeader:Ljava/nio/IntBuffer; // field@030b │ │ +02485c: 1211 |0016: const/4 v1, #int 1 // #1 │ │ +02485e: 6e20 0c06 1000 |0017: invoke-virtual {v0, v1}, Ljava/nio/IntBuffer;.get:(I)I // method@060c │ │ +024864: 0a00 |001a: move-result v0 │ │ +024866: e200 0008 |001b: ushr-int/lit8 v0, v0, #int 8 // #08 │ │ +02486a: 28f1 |001d: goto 000e // -000f │ │ +02486c: 2200 1d01 |001e: new-instance v0, Ljava/lang/IllegalStateException; // type@011d │ │ +024870: 2201 2d01 |0020: new-instance v1, Ljava/lang/StringBuilder; // type@012d │ │ +024874: 1a02 e201 |0022: const-string v2, "Illegal version:" // string@01e2 │ │ +024878: 7020 aa05 2100 |0024: invoke-direct {v1, v2}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05aa │ │ +02487e: 5232 0e03 |0027: iget v2, v3, Lip/IPPacket;.version:I // field@030e │ │ +024882: 6e20 ac05 2100 |0029: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@05ac │ │ +024888: 6e10 b105 0100 |002c: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ +02488e: 0c01 |002f: move-result-object v1 │ │ +024890: 7020 6305 1000 |0030: invoke-direct {v0, v1}, Ljava/lang/IllegalStateException;.:(Ljava/lang/String;)V // method@0563 │ │ +024896: 2802 |0033: goto 0035 // +0002 │ │ +024898: 2700 |0034: throw v0 │ │ +02489a: 28ff |0035: goto 0034 // -0001 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=234 │ │ 0x0005 line=235 │ │ 0x0014 line=237 │ │ 0x001e line=239 │ │ locals : │ │ @@ -25944,39 +25944,39 @@ │ │ type : '()[I' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 4 │ │ ins : 1 │ │ outs : 3 │ │ insns size : 43 16-bit code units │ │ -0249bc: |[0249bc] ip.IPPacket.getSourceIP:()[I │ │ -0249cc: 5230 0e03 |0000: iget v0, v3, Lip/IPPacket;.version:I // field@030e │ │ -0249d0: 1241 |0002: const/4 v1, #int 4 // #4 │ │ -0249d2: 3310 0900 |0003: if-ne v0, v1, 000c // +0009 │ │ -0249d6: 1230 |0005: const/4 v0, #int 3 // #3 │ │ -0249d8: 1211 |0006: const/4 v1, #int 1 // #1 │ │ -0249da: 7030 af04 0301 |0007: invoke-direct {v3, v0, v1}, Lip/IPPacket;.copyFromHeader:(II)[I // method@04af │ │ -0249e0: 0c00 |000a: move-result-object v0 │ │ -0249e2: 1100 |000b: return-object v0 │ │ -0249e4: 1262 |000c: const/4 v2, #int 6 // #6 │ │ -0249e6: 3320 0800 |000d: if-ne v0, v2, 0015 // +0008 │ │ -0249ea: 1220 |000f: const/4 v0, #int 2 // #2 │ │ -0249ec: 7030 af04 0301 |0010: invoke-direct {v3, v0, v1}, Lip/IPPacket;.copyFromHeader:(II)[I // method@04af │ │ -0249f2: 0c00 |0013: move-result-object v0 │ │ -0249f4: 1100 |0014: return-object v0 │ │ -0249f6: 2200 1d01 |0015: new-instance v0, Ljava/lang/IllegalStateException; // type@011d │ │ -0249fa: 2201 2d01 |0017: new-instance v1, Ljava/lang/StringBuilder; // type@012d │ │ -0249fe: 1a02 e201 |0019: const-string v2, "Illegal version:" // string@01e2 │ │ -024a02: 7020 aa05 2100 |001b: invoke-direct {v1, v2}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05aa │ │ -024a08: 5232 0e03 |001e: iget v2, v3, Lip/IPPacket;.version:I // field@030e │ │ -024a0c: 6e20 ac05 2100 |0020: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@05ac │ │ -024a12: 6e10 b105 0100 |0023: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ -024a18: 0c01 |0026: move-result-object v1 │ │ -024a1a: 7020 6305 1000 |0027: invoke-direct {v0, v1}, Ljava/lang/IllegalStateException;.:(Ljava/lang/String;)V // method@0563 │ │ -024a20: 2700 |002a: throw v0 │ │ +0249b8: |[0249b8] ip.IPPacket.getSourceIP:()[I │ │ +0249c8: 5230 0e03 |0000: iget v0, v3, Lip/IPPacket;.version:I // field@030e │ │ +0249cc: 1241 |0002: const/4 v1, #int 4 // #4 │ │ +0249ce: 3310 0900 |0003: if-ne v0, v1, 000c // +0009 │ │ +0249d2: 1230 |0005: const/4 v0, #int 3 // #3 │ │ +0249d4: 1211 |0006: const/4 v1, #int 1 // #1 │ │ +0249d6: 7030 af04 0301 |0007: invoke-direct {v3, v0, v1}, Lip/IPPacket;.copyFromHeader:(II)[I // method@04af │ │ +0249dc: 0c00 |000a: move-result-object v0 │ │ +0249de: 1100 |000b: return-object v0 │ │ +0249e0: 1262 |000c: const/4 v2, #int 6 // #6 │ │ +0249e2: 3320 0800 |000d: if-ne v0, v2, 0015 // +0008 │ │ +0249e6: 1220 |000f: const/4 v0, #int 2 // #2 │ │ +0249e8: 7030 af04 0301 |0010: invoke-direct {v3, v0, v1}, Lip/IPPacket;.copyFromHeader:(II)[I // method@04af │ │ +0249ee: 0c00 |0013: move-result-object v0 │ │ +0249f0: 1100 |0014: return-object v0 │ │ +0249f2: 2200 1d01 |0015: new-instance v0, Ljava/lang/IllegalStateException; // type@011d │ │ +0249f6: 2201 2d01 |0017: new-instance v1, Ljava/lang/StringBuilder; // type@012d │ │ +0249fa: 1a02 e201 |0019: const-string v2, "Illegal version:" // string@01e2 │ │ +0249fe: 7020 aa05 2100 |001b: invoke-direct {v1, v2}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05aa │ │ +024a04: 5232 0e03 |001e: iget v2, v3, Lip/IPPacket;.version:I // field@030e │ │ +024a08: 6e20 ac05 2100 |0020: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@05ac │ │ +024a0e: 6e10 b105 0100 |0023: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ +024a14: 0c01 |0026: move-result-object v1 │ │ +024a16: 7020 6305 1000 |0027: invoke-direct {v0, v1}, Ljava/lang/IllegalStateException;.:(Ljava/lang/String;)V // method@0563 │ │ +024a1c: 2700 |002a: throw v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=207 │ │ 0x0007 line=208 │ │ 0x0010 line=210 │ │ 0x0015 line=212 │ │ locals : │ │ @@ -25987,42 +25987,42 @@ │ │ type : '()I' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 4 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 50 16-bit code units │ │ -0248a0: |[0248a0] ip.IPPacket.getTTL:()I │ │ -0248b0: 5230 0e03 |0000: iget v0, v3, Lip/IPPacket;.version:I // field@030e │ │ -0248b4: 1241 |0002: const/4 v1, #int 4 // #4 │ │ -0248b6: 3310 0c00 |0003: if-ne v0, v1, 000f // +000c │ │ -0248ba: 5430 0b03 |0005: iget-object v0, v3, Lip/IPPacket;.ipHeader:Ljava/nio/IntBuffer; // field@030b │ │ -0248be: 1221 |0007: const/4 v1, #int 2 // #2 │ │ -0248c0: 6e20 0c06 1000 |0008: invoke-virtual {v0, v1}, Ljava/nio/IntBuffer;.get:(I)I // method@060c │ │ -0248c6: 0a00 |000b: move-result v0 │ │ -0248c8: e200 0018 |000c: ushr-int/lit8 v0, v0, #int 24 // #18 │ │ -0248cc: 0f00 |000e: return v0 │ │ -0248ce: 1261 |000f: const/4 v1, #int 6 // #6 │ │ -0248d0: 3310 0c00 |0010: if-ne v0, v1, 001c // +000c │ │ -0248d4: 5430 0b03 |0012: iget-object v0, v3, Lip/IPPacket;.ipHeader:Ljava/nio/IntBuffer; // field@030b │ │ -0248d8: 1211 |0014: const/4 v1, #int 1 // #1 │ │ -0248da: 6e20 0c06 1000 |0015: invoke-virtual {v0, v1}, Ljava/nio/IntBuffer;.get:(I)I // method@060c │ │ -0248e0: 0a00 |0018: move-result v0 │ │ -0248e2: d500 ff00 |0019: and-int/lit16 v0, v0, #int 255 // #00ff │ │ -0248e6: 0f00 |001b: return v0 │ │ -0248e8: 2200 1d01 |001c: new-instance v0, Ljava/lang/IllegalStateException; // type@011d │ │ -0248ec: 2201 2d01 |001e: new-instance v1, Ljava/lang/StringBuilder; // type@012d │ │ -0248f0: 1a02 e201 |0020: const-string v2, "Illegal version:" // string@01e2 │ │ -0248f4: 7020 aa05 2100 |0022: invoke-direct {v1, v2}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05aa │ │ -0248fa: 5232 0e03 |0025: iget v2, v3, Lip/IPPacket;.version:I // field@030e │ │ -0248fe: 6e20 ac05 2100 |0027: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@05ac │ │ -024904: 6e10 b105 0100 |002a: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ -02490a: 0c01 |002d: move-result-object v1 │ │ -02490c: 7020 6305 1000 |002e: invoke-direct {v0, v1}, Ljava/lang/IllegalStateException;.:(Ljava/lang/String;)V // method@0563 │ │ -024912: 2700 |0031: throw v0 │ │ +02489c: |[02489c] ip.IPPacket.getTTL:()I │ │ +0248ac: 5230 0e03 |0000: iget v0, v3, Lip/IPPacket;.version:I // field@030e │ │ +0248b0: 1241 |0002: const/4 v1, #int 4 // #4 │ │ +0248b2: 3310 0c00 |0003: if-ne v0, v1, 000f // +000c │ │ +0248b6: 5430 0b03 |0005: iget-object v0, v3, Lip/IPPacket;.ipHeader:Ljava/nio/IntBuffer; // field@030b │ │ +0248ba: 1221 |0007: const/4 v1, #int 2 // #2 │ │ +0248bc: 6e20 0c06 1000 |0008: invoke-virtual {v0, v1}, Ljava/nio/IntBuffer;.get:(I)I // method@060c │ │ +0248c2: 0a00 |000b: move-result v0 │ │ +0248c4: e200 0018 |000c: ushr-int/lit8 v0, v0, #int 24 // #18 │ │ +0248c8: 0f00 |000e: return v0 │ │ +0248ca: 1261 |000f: const/4 v1, #int 6 // #6 │ │ +0248cc: 3310 0c00 |0010: if-ne v0, v1, 001c // +000c │ │ +0248d0: 5430 0b03 |0012: iget-object v0, v3, Lip/IPPacket;.ipHeader:Ljava/nio/IntBuffer; // field@030b │ │ +0248d4: 1211 |0014: const/4 v1, #int 1 // #1 │ │ +0248d6: 6e20 0c06 1000 |0015: invoke-virtual {v0, v1}, Ljava/nio/IntBuffer;.get:(I)I // method@060c │ │ +0248dc: 0a00 |0018: move-result v0 │ │ +0248de: d500 ff00 |0019: and-int/lit16 v0, v0, #int 255 // #00ff │ │ +0248e2: 0f00 |001b: return v0 │ │ +0248e4: 2200 1d01 |001c: new-instance v0, Ljava/lang/IllegalStateException; // type@011d │ │ +0248e8: 2201 2d01 |001e: new-instance v1, Ljava/lang/StringBuilder; // type@012d │ │ +0248ec: 1a02 e201 |0020: const-string v2, "Illegal version:" // string@01e2 │ │ +0248f0: 7020 aa05 2100 |0022: invoke-direct {v1, v2}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05aa │ │ +0248f6: 5232 0e03 |0025: iget v2, v3, Lip/IPPacket;.version:I // field@030e │ │ +0248fa: 6e20 ac05 2100 |0027: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@05ac │ │ +024900: 6e10 b105 0100 |002a: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ +024906: 0c01 |002d: move-result-object v1 │ │ +024908: 7020 6305 1000 |002e: invoke-direct {v0, v1}, Ljava/lang/IllegalStateException;.:(Ljava/lang/String;)V // method@0563 │ │ +02490e: 2700 |0031: throw v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=225 │ │ 0x0005 line=226 │ │ 0x0012 line=228 │ │ 0x001c line=230 │ │ locals : │ │ @@ -26033,17 +26033,17 @@ │ │ type : '()I' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 0 │ │ insns size : 3 16-bit code units │ │ -024914: |[024914] ip.IPPacket.getVersion:()I │ │ -024924: 5210 0e03 |0000: iget v0, v1, Lip/IPPacket;.version:I // field@030e │ │ -024928: 0f00 |0002: return v0 │ │ +024910: |[024910] ip.IPPacket.getVersion:()I │ │ +024920: 5210 0e03 |0000: iget v0, v1, Lip/IPPacket;.version:I // field@030e │ │ +024924: 0f00 |0002: return v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=196 │ │ locals : │ │ 0x0000 - 0x0003 reg=1 this Lip/IPPacket; │ │ │ │ #10 : (in Lip/IPPacket;) │ │ @@ -26051,74 +26051,74 @@ │ │ type : '(II[I[I)V' │ │ access : 0x0004 (PROTECTED) │ │ code - │ │ registers : 8 │ │ ins : 5 │ │ outs : 5 │ │ insns size : 116 16-bit code units │ │ -024e90: |[024e90] ip.IPPacket.initIPHeader:(II[I[I)V │ │ -024ea0: 5230 0e03 |0000: iget v0, v3, Lip/IPPacket;.version:I // field@030e │ │ -024ea4: 1241 |0002: const/4 v1, #int 4 // #4 │ │ -024ea6: 1202 |0003: const/4 v2, #int 0 // #0 │ │ -024ea8: 3310 3200 |0004: if-ne v0, v1, 0036 // +0032 │ │ -024eac: 1500 0045 |0006: const/high16 v0, #int 1157627904 // #4500 │ │ -024eb0: 5231 0c03 |0008: iget v1, v3, Lip/IPPacket;.len:I // field@030c │ │ -024eb4: b001 |000a: add-int/2addr v1, v0 │ │ -024eb6: 7100 b204 0000 |000b: invoke-static {}, Lip/IPPacket;.generateId:()I // method@04b2 │ │ -024ebc: 0a00 |000e: move-result v0 │ │ -024ebe: e004 0418 |000f: shl-int/lit8 v4, v4, #int 24 // #18 │ │ -024ec2: e005 0510 |0011: shl-int/lit8 v5, v5, #int 16 // #10 │ │ -024ec6: b054 |0013: add-int/2addr v4, v5 │ │ -024ec8: 4405 0602 |0014: aget v5, v6, v2 │ │ -024ecc: 4406 0702 |0016: aget v6, v7, v2 │ │ -024ed0: 2456 9e01 0154 |0018: filled-new-array {v1, v0, v4, v5, v6}, [I // type@019e │ │ -024ed6: 0c04 |001b: move-result-object v4 │ │ -024ed8: 5435 0b03 |001c: iget-object v5, v3, Lip/IPPacket;.ipHeader:Ljava/nio/IntBuffer; // field@030b │ │ -024edc: 6e20 0f06 2500 |001e: invoke-virtual {v5, v2}, Ljava/nio/IntBuffer;.position:(I)Ljava/nio/Buffer; // method@060f │ │ -024ee2: 5435 0b03 |0021: iget-object v5, v3, Lip/IPPacket;.ipHeader:Ljava/nio/IntBuffer; // field@030b │ │ -024ee6: 6e20 1206 4500 |0023: invoke-virtual {v5, v4}, Ljava/nio/IntBuffer;.put:([I)Ljava/nio/IntBuffer; // method@0612 │ │ -024eec: 1225 |0026: const/4 v5, #int 2 // #2 │ │ -024eee: 4406 0405 |0027: aget v6, v4, v5 │ │ -024ef2: 7010 ad04 0300 |0029: invoke-direct {v3}, Lip/IPPacket;.calculateCheckSum:()I // method@04ad │ │ -024ef8: 0a07 |002c: move-result v7 │ │ -024efa: b076 |002d: add-int/2addr v6, v7 │ │ -024efc: 4b06 0405 |002e: aput v6, v4, v5 │ │ -024f00: 5434 0b03 |0030: iget-object v4, v3, Lip/IPPacket;.ipHeader:Ljava/nio/IntBuffer; // field@030b │ │ -024f04: 6e30 1106 5406 |0032: invoke-virtual {v4, v5, v6}, Ljava/nio/IntBuffer;.put:(II)Ljava/nio/IntBuffer; // method@0611 │ │ -024f0a: 2828 |0035: goto 005d // +0028 │ │ -024f0c: 1261 |0036: const/4 v1, #int 6 // #6 │ │ -024f0e: 3310 2700 |0037: if-ne v0, v1, 005e // +0027 │ │ -024f12: e000 001c |0039: shl-int/lit8 v0, v0, #int 28 // #1c │ │ -024f16: 5231 0c03 |003b: iget v1, v3, Lip/IPPacket;.len:I // field@030c │ │ -024f1a: d801 01d8 |003d: add-int/lit8 v1, v1, #int -40 // #d8 │ │ -024f1e: e001 0110 |003f: shl-int/lit8 v1, v1, #int 16 // #10 │ │ -024f22: e005 0508 |0041: shl-int/lit8 v5, v5, #int 8 // #08 │ │ -024f26: b051 |0043: add-int/2addr v1, v5 │ │ -024f28: b041 |0044: add-int/2addr v1, v4 │ │ -024f2a: 2420 9e01 1000 |0045: filled-new-array {v0, v1}, [I // type@019e │ │ -024f30: 0c04 |0048: move-result-object v4 │ │ -024f32: 5435 0b03 |0049: iget-object v5, v3, Lip/IPPacket;.ipHeader:Ljava/nio/IntBuffer; // field@030b │ │ -024f36: 6e20 0f06 2500 |004b: invoke-virtual {v5, v2}, Ljava/nio/IntBuffer;.position:(I)Ljava/nio/Buffer; // method@060f │ │ -024f3c: 5435 0b03 |004e: iget-object v5, v3, Lip/IPPacket;.ipHeader:Ljava/nio/IntBuffer; // field@030b │ │ -024f40: 6e20 1206 4500 |0050: invoke-virtual {v5, v4}, Ljava/nio/IntBuffer;.put:([I)Ljava/nio/IntBuffer; // method@0612 │ │ -024f46: 5434 0b03 |0053: iget-object v4, v3, Lip/IPPacket;.ipHeader:Ljava/nio/IntBuffer; // field@030b │ │ -024f4a: 6e20 1206 6400 |0055: invoke-virtual {v4, v6}, Ljava/nio/IntBuffer;.put:([I)Ljava/nio/IntBuffer; // method@0612 │ │ -024f50: 5434 0b03 |0058: iget-object v4, v3, Lip/IPPacket;.ipHeader:Ljava/nio/IntBuffer; // field@030b │ │ -024f54: 6e20 1206 7400 |005a: invoke-virtual {v4, v7}, Ljava/nio/IntBuffer;.put:([I)Ljava/nio/IntBuffer; // method@0612 │ │ -024f5a: 0e00 |005d: return-void │ │ -024f5c: 2204 1d01 |005e: new-instance v4, Ljava/lang/IllegalStateException; // type@011d │ │ -024f60: 2205 2d01 |0060: new-instance v5, Ljava/lang/StringBuilder; // type@012d │ │ -024f64: 1a06 e201 |0062: const-string v6, "Illegal version:" // string@01e2 │ │ -024f68: 7020 aa05 6500 |0064: invoke-direct {v5, v6}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05aa │ │ -024f6e: 5236 0e03 |0067: iget v6, v3, Lip/IPPacket;.version:I // field@030e │ │ -024f72: 6e20 ac05 6500 |0069: invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@05ac │ │ -024f78: 6e10 b105 0500 |006c: invoke-virtual {v5}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ -024f7e: 0c05 |006f: move-result-object v5 │ │ -024f80: 7020 6305 5400 |0070: invoke-direct {v4, v5}, Ljava/lang/IllegalStateException;.:(Ljava/lang/String;)V // method@0563 │ │ -024f86: 2704 |0073: throw v4 │ │ +024e8c: |[024e8c] ip.IPPacket.initIPHeader:(II[I[I)V │ │ +024e9c: 5230 0e03 |0000: iget v0, v3, Lip/IPPacket;.version:I // field@030e │ │ +024ea0: 1241 |0002: const/4 v1, #int 4 // #4 │ │ +024ea2: 1202 |0003: const/4 v2, #int 0 // #0 │ │ +024ea4: 3310 3200 |0004: if-ne v0, v1, 0036 // +0032 │ │ +024ea8: 1500 0045 |0006: const/high16 v0, #int 1157627904 // #4500 │ │ +024eac: 5231 0c03 |0008: iget v1, v3, Lip/IPPacket;.len:I // field@030c │ │ +024eb0: b001 |000a: add-int/2addr v1, v0 │ │ +024eb2: 7100 b204 0000 |000b: invoke-static {}, Lip/IPPacket;.generateId:()I // method@04b2 │ │ +024eb8: 0a00 |000e: move-result v0 │ │ +024eba: e004 0418 |000f: shl-int/lit8 v4, v4, #int 24 // #18 │ │ +024ebe: e005 0510 |0011: shl-int/lit8 v5, v5, #int 16 // #10 │ │ +024ec2: b054 |0013: add-int/2addr v4, v5 │ │ +024ec4: 4405 0602 |0014: aget v5, v6, v2 │ │ +024ec8: 4406 0702 |0016: aget v6, v7, v2 │ │ +024ecc: 2456 9e01 0154 |0018: filled-new-array {v1, v0, v4, v5, v6}, [I // type@019e │ │ +024ed2: 0c04 |001b: move-result-object v4 │ │ +024ed4: 5435 0b03 |001c: iget-object v5, v3, Lip/IPPacket;.ipHeader:Ljava/nio/IntBuffer; // field@030b │ │ +024ed8: 6e20 0f06 2500 |001e: invoke-virtual {v5, v2}, Ljava/nio/IntBuffer;.position:(I)Ljava/nio/Buffer; // method@060f │ │ +024ede: 5435 0b03 |0021: iget-object v5, v3, Lip/IPPacket;.ipHeader:Ljava/nio/IntBuffer; // field@030b │ │ +024ee2: 6e20 1206 4500 |0023: invoke-virtual {v5, v4}, Ljava/nio/IntBuffer;.put:([I)Ljava/nio/IntBuffer; // method@0612 │ │ +024ee8: 1225 |0026: const/4 v5, #int 2 // #2 │ │ +024eea: 4406 0405 |0027: aget v6, v4, v5 │ │ +024eee: 7010 ad04 0300 |0029: invoke-direct {v3}, Lip/IPPacket;.calculateCheckSum:()I // method@04ad │ │ +024ef4: 0a07 |002c: move-result v7 │ │ +024ef6: b076 |002d: add-int/2addr v6, v7 │ │ +024ef8: 4b06 0405 |002e: aput v6, v4, v5 │ │ +024efc: 5434 0b03 |0030: iget-object v4, v3, Lip/IPPacket;.ipHeader:Ljava/nio/IntBuffer; // field@030b │ │ +024f00: 6e30 1106 5406 |0032: invoke-virtual {v4, v5, v6}, Ljava/nio/IntBuffer;.put:(II)Ljava/nio/IntBuffer; // method@0611 │ │ +024f06: 2828 |0035: goto 005d // +0028 │ │ +024f08: 1261 |0036: const/4 v1, #int 6 // #6 │ │ +024f0a: 3310 2700 |0037: if-ne v0, v1, 005e // +0027 │ │ +024f0e: e000 001c |0039: shl-int/lit8 v0, v0, #int 28 // #1c │ │ +024f12: 5231 0c03 |003b: iget v1, v3, Lip/IPPacket;.len:I // field@030c │ │ +024f16: d801 01d8 |003d: add-int/lit8 v1, v1, #int -40 // #d8 │ │ +024f1a: e001 0110 |003f: shl-int/lit8 v1, v1, #int 16 // #10 │ │ +024f1e: e005 0508 |0041: shl-int/lit8 v5, v5, #int 8 // #08 │ │ +024f22: b051 |0043: add-int/2addr v1, v5 │ │ +024f24: b041 |0044: add-int/2addr v1, v4 │ │ +024f26: 2420 9e01 1000 |0045: filled-new-array {v0, v1}, [I // type@019e │ │ +024f2c: 0c04 |0048: move-result-object v4 │ │ +024f2e: 5435 0b03 |0049: iget-object v5, v3, Lip/IPPacket;.ipHeader:Ljava/nio/IntBuffer; // field@030b │ │ +024f32: 6e20 0f06 2500 |004b: invoke-virtual {v5, v2}, Ljava/nio/IntBuffer;.position:(I)Ljava/nio/Buffer; // method@060f │ │ +024f38: 5435 0b03 |004e: iget-object v5, v3, Lip/IPPacket;.ipHeader:Ljava/nio/IntBuffer; // field@030b │ │ +024f3c: 6e20 1206 4500 |0050: invoke-virtual {v5, v4}, Ljava/nio/IntBuffer;.put:([I)Ljava/nio/IntBuffer; // method@0612 │ │ +024f42: 5434 0b03 |0053: iget-object v4, v3, Lip/IPPacket;.ipHeader:Ljava/nio/IntBuffer; // field@030b │ │ +024f46: 6e20 1206 6400 |0055: invoke-virtual {v4, v6}, Ljava/nio/IntBuffer;.put:([I)Ljava/nio/IntBuffer; // method@0612 │ │ +024f4c: 5434 0b03 |0058: iget-object v4, v3, Lip/IPPacket;.ipHeader:Ljava/nio/IntBuffer; // field@030b │ │ +024f50: 6e20 1206 7400 |005a: invoke-virtual {v4, v7}, Ljava/nio/IntBuffer;.put:([I)Ljava/nio/IntBuffer; // method@0612 │ │ +024f56: 0e00 |005d: return-void │ │ +024f58: 2204 1d01 |005e: new-instance v4, Ljava/lang/IllegalStateException; // type@011d │ │ +024f5c: 2205 2d01 |0060: new-instance v5, Ljava/lang/StringBuilder; // type@012d │ │ +024f60: 1a06 e201 |0062: const-string v6, "Illegal version:" // string@01e2 │ │ +024f64: 7020 aa05 6500 |0064: invoke-direct {v5, v6}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05aa │ │ +024f6a: 5236 0e03 |0067: iget v6, v3, Lip/IPPacket;.version:I // field@030e │ │ +024f6e: 6e20 ac05 6500 |0069: invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@05ac │ │ +024f74: 6e10 b105 0500 |006c: invoke-virtual {v5}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ +024f7a: 0c05 |006f: move-result-object v5 │ │ +024f7c: 7020 6305 5400 |0070: invoke-direct {v4, v5}, Ljava/lang/IllegalStateException;.:(Ljava/lang/String;)V // method@0563 │ │ +024f82: 2704 |0073: throw v4 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=60 │ │ 0x0008 line=62 │ │ 0x000b line=63 │ │ 0x0014 line=65 │ │ 0x0016 line=66 │ │ @@ -26144,54 +26144,54 @@ │ │ type : '()V' │ │ access : 0x0004 (PROTECTED) │ │ code - │ │ registers : 4 │ │ ins : 1 │ │ outs : 5 │ │ insns size : 78 16-bit code units │ │ -024f88: |[024f88] ip.IPPacket.initInitialIPHeader:()V │ │ -024f98: 5230 0e03 |0000: iget v0, v3, Lip/IPPacket;.version:I // field@030e │ │ -024f9c: 1241 |0002: const/4 v1, #int 4 // #4 │ │ -024f9e: 1202 |0003: const/4 v2, #int 0 // #0 │ │ -024fa0: 3310 1a00 |0004: if-ne v0, v1, 001e // +001a │ │ -024fa4: 1500 0045 |0006: const/high16 v0, #int 1157627904 // #4500 │ │ -024fa8: 5231 0c03 |0008: iget v1, v3, Lip/IPPacket;.len:I // field@030c │ │ -024fac: b001 |000a: add-int/2addr v1, v0 │ │ -024fae: 7100 b204 0000 |000b: invoke-static {}, Lip/IPPacket;.generateId:()I // method@04b2 │ │ -024fb4: 0a00 |000e: move-result v0 │ │ -024fb6: 2452 9e01 0122 |000f: filled-new-array {v1, v0, v2, v2, v2}, [I // type@019e │ │ -024fbc: 0c00 |0012: move-result-object v0 │ │ -024fbe: 5431 0b03 |0013: iget-object v1, v3, Lip/IPPacket;.ipHeader:Ljava/nio/IntBuffer; // field@030b │ │ -024fc2: 6e20 0f06 2100 |0015: invoke-virtual {v1, v2}, Ljava/nio/IntBuffer;.position:(I)Ljava/nio/Buffer; // method@060f │ │ -024fc8: 5431 0b03 |0018: iget-object v1, v3, Lip/IPPacket;.ipHeader:Ljava/nio/IntBuffer; // field@030b │ │ -024fcc: 6e20 1206 0100 |001a: invoke-virtual {v1, v0}, Ljava/nio/IntBuffer;.put:([I)Ljava/nio/IntBuffer; // method@0612 │ │ -024fd2: 281a |001d: goto 0037 // +001a │ │ -024fd4: 1261 |001e: const/4 v1, #int 6 // #6 │ │ -024fd6: 3310 1900 |001f: if-ne v0, v1, 0038 // +0019 │ │ -024fda: e000 001c |0021: shl-int/lit8 v0, v0, #int 28 // #1c │ │ -024fde: 5231 0c03 |0023: iget v1, v3, Lip/IPPacket;.len:I // field@030c │ │ -024fe2: d801 01d8 |0025: add-int/lit8 v1, v1, #int -40 // #d8 │ │ -024fe6: e001 0110 |0027: shl-int/lit8 v1, v1, #int 16 // #10 │ │ -024fea: 2420 9e01 1000 |0029: filled-new-array {v0, v1}, [I // type@019e │ │ -024ff0: 0c00 |002c: move-result-object v0 │ │ -024ff2: 5431 0b03 |002d: iget-object v1, v3, Lip/IPPacket;.ipHeader:Ljava/nio/IntBuffer; // field@030b │ │ -024ff6: 6e20 0f06 2100 |002f: invoke-virtual {v1, v2}, Ljava/nio/IntBuffer;.position:(I)Ljava/nio/Buffer; // method@060f │ │ -024ffc: 5431 0b03 |0032: iget-object v1, v3, Lip/IPPacket;.ipHeader:Ljava/nio/IntBuffer; // field@030b │ │ -025000: 6e20 1206 0100 |0034: invoke-virtual {v1, v0}, Ljava/nio/IntBuffer;.put:([I)Ljava/nio/IntBuffer; // method@0612 │ │ -025006: 0e00 |0037: return-void │ │ -025008: 2200 1d01 |0038: new-instance v0, Ljava/lang/IllegalStateException; // type@011d │ │ -02500c: 2201 2d01 |003a: new-instance v1, Ljava/lang/StringBuilder; // type@012d │ │ -025010: 1a02 e201 |003c: const-string v2, "Illegal version:" // string@01e2 │ │ -025014: 7020 aa05 2100 |003e: invoke-direct {v1, v2}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05aa │ │ -02501a: 5232 0e03 |0041: iget v2, v3, Lip/IPPacket;.version:I // field@030e │ │ -02501e: 6e20 ac05 2100 |0043: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@05ac │ │ -025024: 6e10 b105 0100 |0046: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ -02502a: 0c01 |0049: move-result-object v1 │ │ -02502c: 7020 6305 1000 |004a: invoke-direct {v0, v1}, Ljava/lang/IllegalStateException;.:(Ljava/lang/String;)V // method@0563 │ │ -025032: 2700 |004d: throw v0 │ │ +024f84: |[024f84] ip.IPPacket.initInitialIPHeader:()V │ │ +024f94: 5230 0e03 |0000: iget v0, v3, Lip/IPPacket;.version:I // field@030e │ │ +024f98: 1241 |0002: const/4 v1, #int 4 // #4 │ │ +024f9a: 1202 |0003: const/4 v2, #int 0 // #0 │ │ +024f9c: 3310 1a00 |0004: if-ne v0, v1, 001e // +001a │ │ +024fa0: 1500 0045 |0006: const/high16 v0, #int 1157627904 // #4500 │ │ +024fa4: 5231 0c03 |0008: iget v1, v3, Lip/IPPacket;.len:I // field@030c │ │ +024fa8: b001 |000a: add-int/2addr v1, v0 │ │ +024faa: 7100 b204 0000 |000b: invoke-static {}, Lip/IPPacket;.generateId:()I // method@04b2 │ │ +024fb0: 0a00 |000e: move-result v0 │ │ +024fb2: 2452 9e01 0122 |000f: filled-new-array {v1, v0, v2, v2, v2}, [I // type@019e │ │ +024fb8: 0c00 |0012: move-result-object v0 │ │ +024fba: 5431 0b03 |0013: iget-object v1, v3, Lip/IPPacket;.ipHeader:Ljava/nio/IntBuffer; // field@030b │ │ +024fbe: 6e20 0f06 2100 |0015: invoke-virtual {v1, v2}, Ljava/nio/IntBuffer;.position:(I)Ljava/nio/Buffer; // method@060f │ │ +024fc4: 5431 0b03 |0018: iget-object v1, v3, Lip/IPPacket;.ipHeader:Ljava/nio/IntBuffer; // field@030b │ │ +024fc8: 6e20 1206 0100 |001a: invoke-virtual {v1, v0}, Ljava/nio/IntBuffer;.put:([I)Ljava/nio/IntBuffer; // method@0612 │ │ +024fce: 281a |001d: goto 0037 // +001a │ │ +024fd0: 1261 |001e: const/4 v1, #int 6 // #6 │ │ +024fd2: 3310 1900 |001f: if-ne v0, v1, 0038 // +0019 │ │ +024fd6: e000 001c |0021: shl-int/lit8 v0, v0, #int 28 // #1c │ │ +024fda: 5231 0c03 |0023: iget v1, v3, Lip/IPPacket;.len:I // field@030c │ │ +024fde: d801 01d8 |0025: add-int/lit8 v1, v1, #int -40 // #d8 │ │ +024fe2: e001 0110 |0027: shl-int/lit8 v1, v1, #int 16 // #10 │ │ +024fe6: 2420 9e01 1000 |0029: filled-new-array {v0, v1}, [I // type@019e │ │ +024fec: 0c00 |002c: move-result-object v0 │ │ +024fee: 5431 0b03 |002d: iget-object v1, v3, Lip/IPPacket;.ipHeader:Ljava/nio/IntBuffer; // field@030b │ │ +024ff2: 6e20 0f06 2100 |002f: invoke-virtual {v1, v2}, Ljava/nio/IntBuffer;.position:(I)Ljava/nio/Buffer; // method@060f │ │ +024ff8: 5431 0b03 |0032: iget-object v1, v3, Lip/IPPacket;.ipHeader:Ljava/nio/IntBuffer; // field@030b │ │ +024ffc: 6e20 1206 0100 |0034: invoke-virtual {v1, v0}, Ljava/nio/IntBuffer;.put:([I)Ljava/nio/IntBuffer; // method@0612 │ │ +025002: 0e00 |0037: return-void │ │ +025004: 2200 1d01 |0038: new-instance v0, Ljava/lang/IllegalStateException; // type@011d │ │ +025008: 2201 2d01 |003a: new-instance v1, Ljava/lang/StringBuilder; // type@012d │ │ +02500c: 1a02 e201 |003c: const-string v2, "Illegal version:" // string@01e2 │ │ +025010: 7020 aa05 2100 |003e: invoke-direct {v1, v2}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05aa │ │ +025016: 5232 0e03 |0041: iget v2, v3, Lip/IPPacket;.version:I // field@030e │ │ +02501a: 6e20 ac05 2100 |0043: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@05ac │ │ +025020: 6e10 b105 0100 |0046: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ +025026: 0c01 |0049: move-result-object v1 │ │ +025028: 7020 6305 1000 |004a: invoke-direct {v0, v1}, Ljava/lang/IllegalStateException;.:(Ljava/lang/String;)V // method@0563 │ │ +02502e: 2700 |004d: throw v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=86 │ │ 0x0008 line=88 │ │ 0x000b line=89 │ │ 0x000f line=92 │ │ 0x0013 line=93 │ │ @@ -26208,76 +26208,76 @@ │ │ type : '(II[I[I)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 9 │ │ ins : 5 │ │ outs : 3 │ │ insns size : 120 16-bit code units │ │ -025034: |[025034] ip.IPPacket.updateHeader:(II[I[I)V │ │ -025044: 5240 0e03 |0000: iget v0, v4, Lip/IPPacket;.version:I // field@030e │ │ -025048: 1241 |0002: const/4 v1, #int 4 // #4 │ │ -02504a: 1212 |0003: const/4 v2, #int 1 // #1 │ │ -02504c: 3310 3900 |0004: if-ne v0, v1, 003d // +0039 │ │ -025050: 1230 |0006: const/4 v0, #int 3 // #3 │ │ -025052: 2300 9e01 |0007: new-array v0, v0, [I // type@019e │ │ -025056: 5441 0b03 |0009: iget-object v1, v4, Lip/IPPacket;.ipHeader:Ljava/nio/IntBuffer; // field@030b │ │ -02505a: 1223 |000b: const/4 v3, #int 2 // #2 │ │ -02505c: 6e20 0f06 3100 |000c: invoke-virtual {v1, v3}, Ljava/nio/IntBuffer;.position:(I)Ljava/nio/Buffer; // method@060f │ │ -025062: 5441 0b03 |000f: iget-object v1, v4, Lip/IPPacket;.ipHeader:Ljava/nio/IntBuffer; // field@030b │ │ -025066: 6e20 0d06 0100 |0011: invoke-virtual {v1, v0}, Ljava/nio/IntBuffer;.get:([I)Ljava/nio/IntBuffer; // method@060d │ │ -02506c: e005 0518 |0014: shl-int/lit8 v5, v5, #int 24 // #18 │ │ -025070: e006 0610 |0016: shl-int/lit8 v6, v6, #int 16 // #10 │ │ -025074: b065 |0018: add-int/2addr v5, v6 │ │ -025076: 1206 |0019: const/4 v6, #int 0 // #0 │ │ -025078: 4b05 0006 |001a: aput v5, v0, v6 │ │ -02507c: 4405 0706 |001c: aget v5, v7, v6 │ │ -025080: 4b05 0002 |001e: aput v5, v0, v2 │ │ -025084: 4405 0806 |0020: aget v5, v8, v6 │ │ -025088: 4b05 0003 |0022: aput v5, v0, v3 │ │ -02508c: 5445 0b03 |0024: iget-object v5, v4, Lip/IPPacket;.ipHeader:Ljava/nio/IntBuffer; // field@030b │ │ -025090: 6e20 0f06 3500 |0026: invoke-virtual {v5, v3}, Ljava/nio/IntBuffer;.position:(I)Ljava/nio/Buffer; // method@060f │ │ -025096: 5445 0b03 |0029: iget-object v5, v4, Lip/IPPacket;.ipHeader:Ljava/nio/IntBuffer; // field@030b │ │ -02509a: 6e20 1206 0500 |002b: invoke-virtual {v5, v0}, Ljava/nio/IntBuffer;.put:([I)Ljava/nio/IntBuffer; // method@0612 │ │ -0250a0: 4405 0006 |002e: aget v5, v0, v6 │ │ -0250a4: 7010 ad04 0400 |0030: invoke-direct {v4}, Lip/IPPacket;.calculateCheckSum:()I // method@04ad │ │ -0250aa: 0a07 |0033: move-result v7 │ │ -0250ac: b075 |0034: add-int/2addr v5, v7 │ │ -0250ae: 4b05 0006 |0035: aput v5, v0, v6 │ │ -0250b2: 5446 0b03 |0037: iget-object v6, v4, Lip/IPPacket;.ipHeader:Ljava/nio/IntBuffer; // field@030b │ │ -0250b6: 6e30 1106 3605 |0039: invoke-virtual {v6, v3, v5}, Ljava/nio/IntBuffer;.put:(II)Ljava/nio/IntBuffer; // method@0611 │ │ -0250bc: 2825 |003c: goto 0061 // +0025 │ │ -0250be: 1261 |003d: const/4 v1, #int 6 // #6 │ │ -0250c0: 3310 2400 |003e: if-ne v0, v1, 0062 // +0024 │ │ -0250c4: 5440 0b03 |0040: iget-object v0, v4, Lip/IPPacket;.ipHeader:Ljava/nio/IntBuffer; // field@030b │ │ -0250c8: 6e20 0c06 2000 |0042: invoke-virtual {v0, v2}, Ljava/nio/IntBuffer;.get:(I)I // method@060c │ │ -0250ce: 0a00 |0045: move-result v0 │ │ -0250d0: 1501 ffff |0046: const/high16 v1, #int -65536 // #ffff │ │ -0250d4: b510 |0048: and-int/2addr v0, v1 │ │ -0250d6: e006 0608 |0049: shl-int/lit8 v6, v6, #int 8 // #08 │ │ -0250da: b060 |004b: add-int/2addr v0, v6 │ │ -0250dc: b050 |004c: add-int/2addr v0, v5 │ │ -0250de: 5445 0b03 |004d: iget-object v5, v4, Lip/IPPacket;.ipHeader:Ljava/nio/IntBuffer; // field@030b │ │ -0250e2: 6e20 0f06 2500 |004f: invoke-virtual {v5, v2}, Ljava/nio/IntBuffer;.position:(I)Ljava/nio/Buffer; // method@060f │ │ -0250e8: 5445 0b03 |0052: iget-object v5, v4, Lip/IPPacket;.ipHeader:Ljava/nio/IntBuffer; // field@030b │ │ -0250ec: 6e20 1006 0500 |0054: invoke-virtual {v5, v0}, Ljava/nio/IntBuffer;.put:(I)Ljava/nio/IntBuffer; // method@0610 │ │ -0250f2: 5445 0b03 |0057: iget-object v5, v4, Lip/IPPacket;.ipHeader:Ljava/nio/IntBuffer; // field@030b │ │ -0250f6: 6e20 1206 7500 |0059: invoke-virtual {v5, v7}, Ljava/nio/IntBuffer;.put:([I)Ljava/nio/IntBuffer; // method@0612 │ │ -0250fc: 5445 0b03 |005c: iget-object v5, v4, Lip/IPPacket;.ipHeader:Ljava/nio/IntBuffer; // field@030b │ │ -025100: 6e20 1206 8500 |005e: invoke-virtual {v5, v8}, Ljava/nio/IntBuffer;.put:([I)Ljava/nio/IntBuffer; // method@0612 │ │ -025106: 0e00 |0061: return-void │ │ -025108: 2205 1d01 |0062: new-instance v5, Ljava/lang/IllegalStateException; // type@011d │ │ -02510c: 2206 2d01 |0064: new-instance v6, Ljava/lang/StringBuilder; // type@012d │ │ -025110: 1a07 e201 |0066: const-string v7, "Illegal version:" // string@01e2 │ │ -025114: 7020 aa05 7600 |0068: invoke-direct {v6, v7}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05aa │ │ -02511a: 5247 0e03 |006b: iget v7, v4, Lip/IPPacket;.version:I // field@030e │ │ -02511e: 6e20 ac05 7600 |006d: invoke-virtual {v6, v7}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@05ac │ │ -025124: 6e10 b105 0600 |0070: invoke-virtual {v6}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ -02512a: 0c06 |0073: move-result-object v6 │ │ -02512c: 7020 6305 6500 |0074: invoke-direct {v5, v6}, Ljava/lang/IllegalStateException;.:(Ljava/lang/String;)V // method@0563 │ │ -025132: 2705 |0077: throw v5 │ │ +025030: |[025030] ip.IPPacket.updateHeader:(II[I[I)V │ │ +025040: 5240 0e03 |0000: iget v0, v4, Lip/IPPacket;.version:I // field@030e │ │ +025044: 1241 |0002: const/4 v1, #int 4 // #4 │ │ +025046: 1212 |0003: const/4 v2, #int 1 // #1 │ │ +025048: 3310 3900 |0004: if-ne v0, v1, 003d // +0039 │ │ +02504c: 1230 |0006: const/4 v0, #int 3 // #3 │ │ +02504e: 2300 9e01 |0007: new-array v0, v0, [I // type@019e │ │ +025052: 5441 0b03 |0009: iget-object v1, v4, Lip/IPPacket;.ipHeader:Ljava/nio/IntBuffer; // field@030b │ │ +025056: 1223 |000b: const/4 v3, #int 2 // #2 │ │ +025058: 6e20 0f06 3100 |000c: invoke-virtual {v1, v3}, Ljava/nio/IntBuffer;.position:(I)Ljava/nio/Buffer; // method@060f │ │ +02505e: 5441 0b03 |000f: iget-object v1, v4, Lip/IPPacket;.ipHeader:Ljava/nio/IntBuffer; // field@030b │ │ +025062: 6e20 0d06 0100 |0011: invoke-virtual {v1, v0}, Ljava/nio/IntBuffer;.get:([I)Ljava/nio/IntBuffer; // method@060d │ │ +025068: e005 0518 |0014: shl-int/lit8 v5, v5, #int 24 // #18 │ │ +02506c: e006 0610 |0016: shl-int/lit8 v6, v6, #int 16 // #10 │ │ +025070: b065 |0018: add-int/2addr v5, v6 │ │ +025072: 1206 |0019: const/4 v6, #int 0 // #0 │ │ +025074: 4b05 0006 |001a: aput v5, v0, v6 │ │ +025078: 4405 0706 |001c: aget v5, v7, v6 │ │ +02507c: 4b05 0002 |001e: aput v5, v0, v2 │ │ +025080: 4405 0806 |0020: aget v5, v8, v6 │ │ +025084: 4b05 0003 |0022: aput v5, v0, v3 │ │ +025088: 5445 0b03 |0024: iget-object v5, v4, Lip/IPPacket;.ipHeader:Ljava/nio/IntBuffer; // field@030b │ │ +02508c: 6e20 0f06 3500 |0026: invoke-virtual {v5, v3}, Ljava/nio/IntBuffer;.position:(I)Ljava/nio/Buffer; // method@060f │ │ +025092: 5445 0b03 |0029: iget-object v5, v4, Lip/IPPacket;.ipHeader:Ljava/nio/IntBuffer; // field@030b │ │ +025096: 6e20 1206 0500 |002b: invoke-virtual {v5, v0}, Ljava/nio/IntBuffer;.put:([I)Ljava/nio/IntBuffer; // method@0612 │ │ +02509c: 4405 0006 |002e: aget v5, v0, v6 │ │ +0250a0: 7010 ad04 0400 |0030: invoke-direct {v4}, Lip/IPPacket;.calculateCheckSum:()I // method@04ad │ │ +0250a6: 0a07 |0033: move-result v7 │ │ +0250a8: b075 |0034: add-int/2addr v5, v7 │ │ +0250aa: 4b05 0006 |0035: aput v5, v0, v6 │ │ +0250ae: 5446 0b03 |0037: iget-object v6, v4, Lip/IPPacket;.ipHeader:Ljava/nio/IntBuffer; // field@030b │ │ +0250b2: 6e30 1106 3605 |0039: invoke-virtual {v6, v3, v5}, Ljava/nio/IntBuffer;.put:(II)Ljava/nio/IntBuffer; // method@0611 │ │ +0250b8: 2825 |003c: goto 0061 // +0025 │ │ +0250ba: 1261 |003d: const/4 v1, #int 6 // #6 │ │ +0250bc: 3310 2400 |003e: if-ne v0, v1, 0062 // +0024 │ │ +0250c0: 5440 0b03 |0040: iget-object v0, v4, Lip/IPPacket;.ipHeader:Ljava/nio/IntBuffer; // field@030b │ │ +0250c4: 6e20 0c06 2000 |0042: invoke-virtual {v0, v2}, Ljava/nio/IntBuffer;.get:(I)I // method@060c │ │ +0250ca: 0a00 |0045: move-result v0 │ │ +0250cc: 1501 ffff |0046: const/high16 v1, #int -65536 // #ffff │ │ +0250d0: b510 |0048: and-int/2addr v0, v1 │ │ +0250d2: e006 0608 |0049: shl-int/lit8 v6, v6, #int 8 // #08 │ │ +0250d6: b060 |004b: add-int/2addr v0, v6 │ │ +0250d8: b050 |004c: add-int/2addr v0, v5 │ │ +0250da: 5445 0b03 |004d: iget-object v5, v4, Lip/IPPacket;.ipHeader:Ljava/nio/IntBuffer; // field@030b │ │ +0250de: 6e20 0f06 2500 |004f: invoke-virtual {v5, v2}, Ljava/nio/IntBuffer;.position:(I)Ljava/nio/Buffer; // method@060f │ │ +0250e4: 5445 0b03 |0052: iget-object v5, v4, Lip/IPPacket;.ipHeader:Ljava/nio/IntBuffer; // field@030b │ │ +0250e8: 6e20 1006 0500 |0054: invoke-virtual {v5, v0}, Ljava/nio/IntBuffer;.put:(I)Ljava/nio/IntBuffer; // method@0610 │ │ +0250ee: 5445 0b03 |0057: iget-object v5, v4, Lip/IPPacket;.ipHeader:Ljava/nio/IntBuffer; // field@030b │ │ +0250f2: 6e20 1206 7500 |0059: invoke-virtual {v5, v7}, Ljava/nio/IntBuffer;.put:([I)Ljava/nio/IntBuffer; // method@0612 │ │ +0250f8: 5445 0b03 |005c: iget-object v5, v4, Lip/IPPacket;.ipHeader:Ljava/nio/IntBuffer; // field@030b │ │ +0250fc: 6e20 1206 8500 |005e: invoke-virtual {v5, v8}, Ljava/nio/IntBuffer;.put:([I)Ljava/nio/IntBuffer; // method@0612 │ │ +025102: 0e00 |0061: return-void │ │ +025104: 2205 1d01 |0062: new-instance v5, Ljava/lang/IllegalStateException; // type@011d │ │ +025108: 2206 2d01 |0064: new-instance v6, Ljava/lang/StringBuilder; // type@012d │ │ +02510c: 1a07 e201 |0066: const-string v7, "Illegal version:" // string@01e2 │ │ +025110: 7020 aa05 7600 |0068: invoke-direct {v6, v7}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05aa │ │ +025116: 5247 0e03 |006b: iget v7, v4, Lip/IPPacket;.version:I // field@030e │ │ +02511a: 6e20 ac05 7600 |006d: invoke-virtual {v6, v7}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@05ac │ │ +025120: 6e10 b105 0600 |0070: invoke-virtual {v6}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ +025126: 0c06 |0073: move-result-object v6 │ │ +025128: 7020 6305 6500 |0074: invoke-direct {v5, v6}, Ljava/lang/IllegalStateException;.:(Ljava/lang/String;)V // method@0563 │ │ +02512e: 2705 |0077: throw v5 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=172 │ │ 0x0007 line=173 │ │ 0x0009 line=174 │ │ 0x000f line=175 │ │ 0x001a line=176 │ │ @@ -26347,40 +26347,40 @@ │ │ type : '()V' │ │ access : 0x10008 (STATIC CONSTRUCTOR) │ │ code - │ │ registers : 1 │ │ ins : 0 │ │ outs : 1 │ │ insns size : 8 16-bit code units │ │ -025ee4: |[025ee4] util.DateRetriever.:()V │ │ -025ef4: 2200 7d01 |0000: new-instance v0, Lutil/DateRetriever; // type@017d │ │ -025ef8: 7010 c106 0000 |0002: invoke-direct {v0}, Lutil/DateRetriever;.:()V // method@06c1 │ │ -025efe: 6900 2e03 |0005: sput-object v0, Lutil/DateRetriever;.RETRIEVER_INSTANCE:Lutil/DateRetriever; // field@032e │ │ -025f02: 0e00 |0007: return-void │ │ +025ee0: |[025ee0] util.DateRetriever.:()V │ │ +025ef0: 2200 7d01 |0000: new-instance v0, Lutil/DateRetriever; // type@017d │ │ +025ef4: 7010 c106 0000 |0002: invoke-direct {v0}, Lutil/DateRetriever;.:()V // method@06c1 │ │ +025efa: 6900 2e03 |0005: sput-object v0, Lutil/DateRetriever;.RETRIEVER_INSTANCE:Lutil/DateRetriever; // field@032e │ │ +025efe: 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 │ │ -025f04: |[025f04] util.DateRetriever.:()V │ │ -025f14: 7010 7505 0100 |0000: invoke-direct {v1}, Ljava/lang/Object;.:()V // method@0575 │ │ -025f1a: 1200 |0003: const/4 v0, #int 0 // #0 │ │ -025f1c: 5b10 2f03 |0004: iput-object v0, v1, Lutil/DateRetriever;._thread:Ljava/lang/Thread; // field@032f │ │ -025f20: 1200 |0006: const/4 v0, #int 0 // #0 │ │ -025f22: 5c10 3103 |0007: iput-boolean v0, v1, Lutil/DateRetriever;.picked:Z // field@0331 │ │ -025f26: 0e00 |0009: return-void │ │ +025f00: |[025f00] util.DateRetriever.:()V │ │ +025f10: 7010 7505 0100 |0000: invoke-direct {v1}, Ljava/lang/Object;.:()V // method@0575 │ │ +025f16: 1200 |0003: const/4 v0, #int 0 // #0 │ │ +025f18: 5b10 2f03 |0004: iput-object v0, v1, Lutil/DateRetriever;._thread:Ljava/lang/Thread; // field@032f │ │ +025f1c: 1200 |0006: const/4 v0, #int 0 // #0 │ │ +025f1e: 5c10 3103 |0007: iput-boolean v0, v1, Lutil/DateRetriever;.picked:Z // field@0331 │ │ +025f22: 0e00 |0009: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=28 │ │ 0x0004 line=33 │ │ 0x0007 line=35 │ │ locals : │ │ 0x0000 - 0x000a reg=1 this Lutil/DateRetriever; │ │ @@ -26390,63 +26390,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 │ │ -025d14: |[025d14] util.DateRetriever.dateStr:(Ljava/util/Calendar;)Ljava/lang/String; │ │ -025d24: 2200 2d01 |0000: new-instance v0, Ljava/lang/StringBuilder; // type@012d │ │ -025d28: 7010 a905 0000 |0002: invoke-direct {v0}, Ljava/lang/StringBuilder;.:()V // method@05a9 │ │ -025d2e: 1221 |0005: const/4 v1, #int 2 // #2 │ │ -025d30: 6e20 1c06 1500 |0006: invoke-virtual {v5, v1}, Ljava/util/Calendar;.get:(I)I // method@061c │ │ -025d36: 0a01 |0009: move-result v1 │ │ -025d38: 1212 |000a: const/4 v2, #int 1 // #1 │ │ -025d3a: b021 |000b: add-int/2addr v1, v2 │ │ -025d3c: 7020 c406 1400 |000c: invoke-direct {v4, v1}, Lutil/DateRetriever;.int2Str:(I)Ljava/lang/String; // method@06c4 │ │ -025d42: 0c01 |000f: move-result-object v1 │ │ -025d44: 6e20 af05 1000 |0010: invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -025d4a: 1a01 6000 |0013: const-string v1, "/" // string@0060 │ │ -025d4e: 6e20 af05 1000 |0015: invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -025d54: 1253 |0018: const/4 v3, #int 5 // #5 │ │ -025d56: 6e20 1c06 3500 |0019: invoke-virtual {v5, v3}, Ljava/util/Calendar;.get:(I)I // method@061c │ │ -025d5c: 0a03 |001c: move-result v3 │ │ -025d5e: 7020 c406 3400 |001d: invoke-direct {v4, v3}, Lutil/DateRetriever;.int2Str:(I)Ljava/lang/String; // method@06c4 │ │ -025d64: 0c03 |0020: move-result-object v3 │ │ -025d66: 6e20 af05 3000 |0021: invoke-virtual {v0, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -025d6c: 6e20 af05 1000 |0024: invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -025d72: 6e20 1c06 2500 |0027: invoke-virtual {v5, v2}, Ljava/util/Calendar;.get:(I)I // method@061c │ │ -025d78: 0a01 |002a: move-result v1 │ │ -025d7a: 6e20 ac05 1000 |002b: invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@05ac │ │ -025d80: 1a01 0d00 |002e: const-string v1, " " // string@000d │ │ -025d84: 6e20 af05 1000 |0030: invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -025d8a: 1301 0b00 |0033: const/16 v1, #int 11 // #b │ │ -025d8e: 6e20 1c06 1500 |0035: invoke-virtual {v5, v1}, Ljava/util/Calendar;.get:(I)I // method@061c │ │ -025d94: 0a01 |0038: move-result v1 │ │ -025d96: 7020 c406 1400 |0039: invoke-direct {v4, v1}, Lutil/DateRetriever;.int2Str:(I)Ljava/lang/String; // method@06c4 │ │ -025d9c: 0c01 |003c: move-result-object v1 │ │ -025d9e: 6e20 af05 1000 |003d: invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -025da4: 1a01 8100 |0040: const-string v1, ":" // string@0081 │ │ -025da8: 6e20 af05 1000 |0042: invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -025dae: 1302 0c00 |0045: const/16 v2, #int 12 // #c │ │ -025db2: 6e20 1c06 2500 |0047: invoke-virtual {v5, v2}, Ljava/util/Calendar;.get:(I)I // method@061c │ │ -025db8: 0a02 |004a: move-result v2 │ │ -025dba: 7020 c406 2400 |004b: invoke-direct {v4, v2}, Lutil/DateRetriever;.int2Str:(I)Ljava/lang/String; // method@06c4 │ │ -025dc0: 0c02 |004e: move-result-object v2 │ │ -025dc2: 6e20 af05 2000 |004f: invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -025dc8: 6e20 af05 1000 |0052: invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -025dce: 1301 0d00 |0055: const/16 v1, #int 13 // #d │ │ -025dd2: 6e20 1c06 1500 |0057: invoke-virtual {v5, v1}, Ljava/util/Calendar;.get:(I)I // method@061c │ │ -025dd8: 0a05 |005a: move-result v5 │ │ -025dda: 7020 c406 5400 |005b: invoke-direct {v4, v5}, Lutil/DateRetriever;.int2Str:(I)Ljava/lang/String; // method@06c4 │ │ -025de0: 0c05 |005e: move-result-object v5 │ │ -025de2: 6e20 af05 5000 |005f: invoke-virtual {v0, v5}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -025de8: 6e10 b105 0000 |0062: invoke-virtual {v0}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ -025dee: 0c05 |0065: move-result-object v5 │ │ -025df0: 1105 |0066: return-object v5 │ │ +025d10: |[025d10] util.DateRetriever.dateStr:(Ljava/util/Calendar;)Ljava/lang/String; │ │ +025d20: 2200 2d01 |0000: new-instance v0, Ljava/lang/StringBuilder; // type@012d │ │ +025d24: 7010 a905 0000 |0002: invoke-direct {v0}, Ljava/lang/StringBuilder;.:()V // method@05a9 │ │ +025d2a: 1221 |0005: const/4 v1, #int 2 // #2 │ │ +025d2c: 6e20 1c06 1500 |0006: invoke-virtual {v5, v1}, Ljava/util/Calendar;.get:(I)I // method@061c │ │ +025d32: 0a01 |0009: move-result v1 │ │ +025d34: 1212 |000a: const/4 v2, #int 1 // #1 │ │ +025d36: b021 |000b: add-int/2addr v1, v2 │ │ +025d38: 7020 c406 1400 |000c: invoke-direct {v4, v1}, Lutil/DateRetriever;.int2Str:(I)Ljava/lang/String; // method@06c4 │ │ +025d3e: 0c01 |000f: move-result-object v1 │ │ +025d40: 6e20 af05 1000 |0010: invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +025d46: 1a01 6000 |0013: const-string v1, "/" // string@0060 │ │ +025d4a: 6e20 af05 1000 |0015: invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +025d50: 1253 |0018: const/4 v3, #int 5 // #5 │ │ +025d52: 6e20 1c06 3500 |0019: invoke-virtual {v5, v3}, Ljava/util/Calendar;.get:(I)I // method@061c │ │ +025d58: 0a03 |001c: move-result v3 │ │ +025d5a: 7020 c406 3400 |001d: invoke-direct {v4, v3}, Lutil/DateRetriever;.int2Str:(I)Ljava/lang/String; // method@06c4 │ │ +025d60: 0c03 |0020: move-result-object v3 │ │ +025d62: 6e20 af05 3000 |0021: invoke-virtual {v0, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +025d68: 6e20 af05 1000 |0024: invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +025d6e: 6e20 1c06 2500 |0027: invoke-virtual {v5, v2}, Ljava/util/Calendar;.get:(I)I // method@061c │ │ +025d74: 0a01 |002a: move-result v1 │ │ +025d76: 6e20 ac05 1000 |002b: invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@05ac │ │ +025d7c: 1a01 0d00 |002e: const-string v1, " " // string@000d │ │ +025d80: 6e20 af05 1000 |0030: invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +025d86: 1301 0b00 |0033: const/16 v1, #int 11 // #b │ │ +025d8a: 6e20 1c06 1500 |0035: invoke-virtual {v5, v1}, Ljava/util/Calendar;.get:(I)I // method@061c │ │ +025d90: 0a01 |0038: move-result v1 │ │ +025d92: 7020 c406 1400 |0039: invoke-direct {v4, v1}, Lutil/DateRetriever;.int2Str:(I)Ljava/lang/String; // method@06c4 │ │ +025d98: 0c01 |003c: move-result-object v1 │ │ +025d9a: 6e20 af05 1000 |003d: invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +025da0: 1a01 8100 |0040: const-string v1, ":" // string@0081 │ │ +025da4: 6e20 af05 1000 |0042: invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +025daa: 1302 0c00 |0045: const/16 v2, #int 12 // #c │ │ +025dae: 6e20 1c06 2500 |0047: invoke-virtual {v5, v2}, Ljava/util/Calendar;.get:(I)I // method@061c │ │ +025db4: 0a02 |004a: move-result v2 │ │ +025db6: 7020 c406 2400 |004b: invoke-direct {v4, v2}, Lutil/DateRetriever;.int2Str:(I)Ljava/lang/String; // method@06c4 │ │ +025dbc: 0c02 |004e: move-result-object v2 │ │ +025dbe: 6e20 af05 2000 |004f: invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +025dc4: 6e20 af05 1000 |0052: invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +025dca: 1301 0d00 |0055: const/16 v1, #int 13 // #d │ │ +025dce: 6e20 1c06 1500 |0057: invoke-virtual {v5, v1}, Ljava/util/Calendar;.get:(I)I // method@061c │ │ +025dd4: 0a05 |005a: move-result v5 │ │ +025dd6: 7020 c406 5400 |005b: invoke-direct {v4, v5}, Lutil/DateRetriever;.int2Str:(I)Ljava/lang/String; // method@06c4 │ │ +025ddc: 0c05 |005e: move-result-object v5 │ │ +025dde: 6e20 af05 5000 |005f: invoke-virtual {v0, v5}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +025de4: 6e10 b105 0000 |0062: invoke-virtual {v0}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ +025dea: 0c05 |0065: move-result-object v5 │ │ +025dec: 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; │ │ @@ -26456,50 +26456,50 @@ │ │ type : '()Ljava/lang/String;' │ │ access : 0x0009 (PUBLIC STATIC) │ │ code - │ │ registers : 1 │ │ ins : 0 │ │ outs : 1 │ │ insns size : 7 16-bit code units │ │ -025df4: |[025df4] util.DateRetriever.getDateString:()Ljava/lang/String; │ │ -025e04: 6200 2e03 |0000: sget-object v0, Lutil/DateRetriever;.RETRIEVER_INSTANCE:Lutil/DateRetriever; // field@032e │ │ -025e08: 7010 c506 0000 |0002: invoke-direct {v0}, Lutil/DateRetriever;.retrieveDateString:()Ljava/lang/String; // method@06c5 │ │ -025e0e: 0c00 |0005: move-result-object v0 │ │ -025e10: 1100 |0006: return-object v0 │ │ +025df0: |[025df0] util.DateRetriever.getDateString:()Ljava/lang/String; │ │ +025e00: 6200 2e03 |0000: sget-object v0, Lutil/DateRetriever;.RETRIEVER_INSTANCE:Lutil/DateRetriever; // field@032e │ │ +025e04: 7010 c506 0000 |0002: invoke-direct {v0}, Lutil/DateRetriever;.retrieveDateString:()Ljava/lang/String; // method@06c5 │ │ +025e0a: 0c00 |0005: move-result-object v0 │ │ +025e0c: 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 │ │ -025e14: |[025e14] util.DateRetriever.int2Str:(I)Ljava/lang/String; │ │ -025e24: 1300 0a00 |0000: const/16 v0, #int 10 // #a │ │ -025e28: 3503 1100 |0002: if-ge v3, v0, 0013 // +0011 │ │ -025e2c: 2200 2d01 |0004: new-instance v0, Ljava/lang/StringBuilder; // type@012d │ │ -025e30: 1a01 6a00 |0006: const-string v1, "0" // string@006a │ │ -025e34: 7020 aa05 1000 |0008: invoke-direct {v0, v1}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05aa │ │ -025e3a: 6e20 ac05 3000 |000b: invoke-virtual {v0, v3}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@05ac │ │ -025e40: 6e10 b105 0000 |000e: invoke-virtual {v0}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ -025e46: 0c03 |0011: move-result-object v3 │ │ -025e48: 1103 |0012: return-object v3 │ │ -025e4a: 2200 2d01 |0013: new-instance v0, Ljava/lang/StringBuilder; // type@012d │ │ -025e4e: 1a01 0000 |0015: const-string v1, "" // string@0000 │ │ -025e52: 7020 aa05 1000 |0017: invoke-direct {v0, v1}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05aa │ │ -025e58: 6e20 ac05 3000 |001a: invoke-virtual {v0, v3}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@05ac │ │ -025e5e: 6e10 b105 0000 |001d: invoke-virtual {v0}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ -025e64: 0c03 |0020: move-result-object v3 │ │ -025e66: 1103 |0021: return-object v3 │ │ +025e10: |[025e10] util.DateRetriever.int2Str:(I)Ljava/lang/String; │ │ +025e20: 1300 0a00 |0000: const/16 v0, #int 10 // #a │ │ +025e24: 3503 1100 |0002: if-ge v3, v0, 0013 // +0011 │ │ +025e28: 2200 2d01 |0004: new-instance v0, Ljava/lang/StringBuilder; // type@012d │ │ +025e2c: 1a01 6a00 |0006: const-string v1, "0" // string@006a │ │ +025e30: 7020 aa05 1000 |0008: invoke-direct {v0, v1}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05aa │ │ +025e36: 6e20 ac05 3000 |000b: invoke-virtual {v0, v3}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@05ac │ │ +025e3c: 6e10 b105 0000 |000e: invoke-virtual {v0}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ +025e42: 0c03 |0011: move-result-object v3 │ │ +025e44: 1103 |0012: return-object v3 │ │ +025e46: 2200 2d01 |0013: new-instance v0, Ljava/lang/StringBuilder; // type@012d │ │ +025e4a: 1a01 0000 |0015: const-string v1, "" // string@0000 │ │ +025e4e: 7020 aa05 1000 |0017: invoke-direct {v0, v1}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05aa │ │ +025e54: 6e20 ac05 3000 |001a: invoke-virtual {v0, v3}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@05ac │ │ +025e5a: 6e10 b105 0000 |001d: invoke-virtual {v0}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ +025e60: 0c03 |0020: move-result-object v3 │ │ +025e62: 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 │ │ @@ -26509,40 +26509,40 @@ │ │ type : '()Ljava/lang/String;' │ │ access : 0x20002 (PRIVATE DECLARED_SYNCHRONIZED) │ │ code - │ │ registers : 3 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 44 16-bit code units │ │ -025e68: |[025e68] util.DateRetriever.retrieveDateString:()Ljava/lang/String; │ │ -025e78: 1d02 |0000: monitor-enter v2 │ │ -025e7a: 1210 |0001: const/4 v0, #int 1 // #1 │ │ -025e7c: 5c20 3103 |0002: iput-boolean v0, v2, Lutil/DateRetriever;.picked:Z // field@0331 │ │ -025e80: 5421 2f03 |0004: iget-object v1, v2, Lutil/DateRetriever;._thread:Ljava/lang/Thread; // field@032f │ │ -025e84: 3801 0600 |0006: if-eqz v1, 000c // +0006 │ │ -025e88: 5420 3003 |0008: iget-object v0, v2, Lutil/DateRetriever;.current:Ljava/lang/String; // field@0330 │ │ -025e8c: 1e02 |000a: monitor-exit v2 │ │ -025e8e: 1100 |000b: return-object v0 │ │ -025e90: 7100 1d06 0000 |000c: invoke-static {}, Ljava/util/Calendar;.getInstance:()Ljava/util/Calendar; // method@061d │ │ -025e96: 0c01 |000f: move-result-object v1 │ │ -025e98: 7020 c206 1200 |0010: invoke-direct {v2, v1}, Lutil/DateRetriever;.dateStr:(Ljava/util/Calendar;)Ljava/lang/String; // method@06c2 │ │ -025e9e: 0c01 |0013: move-result-object v1 │ │ -025ea0: 5b21 3003 |0014: iput-object v1, v2, Lutil/DateRetriever;.current:Ljava/lang/String; // field@0330 │ │ -025ea4: 2201 2f01 |0016: new-instance v1, Ljava/lang/Thread; // type@012f │ │ -025ea8: 7020 b605 2100 |0018: invoke-direct {v1, v2}, Ljava/lang/Thread;.:(Ljava/lang/Runnable;)V // method@05b6 │ │ -025eae: 5b21 2f03 |001b: iput-object v1, v2, Lutil/DateRetriever;._thread:Ljava/lang/Thread; // field@032f │ │ -025eb2: 6e20 ba05 0100 |001d: invoke-virtual {v1, v0}, Ljava/lang/Thread;.setDaemon:(Z)V // method@05ba │ │ -025eb8: 5420 2f03 |0020: iget-object v0, v2, Lutil/DateRetriever;._thread:Ljava/lang/Thread; // field@032f │ │ -025ebc: 6e10 bc05 0000 |0022: invoke-virtual {v0}, Ljava/lang/Thread;.start:()V // method@05bc │ │ -025ec2: 5420 3003 |0025: iget-object v0, v2, Lutil/DateRetriever;.current:Ljava/lang/String; // field@0330 │ │ -025ec6: 1e02 |0027: monitor-exit v2 │ │ -025ec8: 1100 |0028: return-object v0 │ │ -025eca: 0d00 |0029: move-exception v0 │ │ -025ecc: 1e02 |002a: monitor-exit v2 │ │ -025ece: 2700 |002b: throw v0 │ │ +025e64: |[025e64] util.DateRetriever.retrieveDateString:()Ljava/lang/String; │ │ +025e74: 1d02 |0000: monitor-enter v2 │ │ +025e76: 1210 |0001: const/4 v0, #int 1 // #1 │ │ +025e78: 5c20 3103 |0002: iput-boolean v0, v2, Lutil/DateRetriever;.picked:Z // field@0331 │ │ +025e7c: 5421 2f03 |0004: iget-object v1, v2, Lutil/DateRetriever;._thread:Ljava/lang/Thread; // field@032f │ │ +025e80: 3801 0600 |0006: if-eqz v1, 000c // +0006 │ │ +025e84: 5420 3003 |0008: iget-object v0, v2, Lutil/DateRetriever;.current:Ljava/lang/String; // field@0330 │ │ +025e88: 1e02 |000a: monitor-exit v2 │ │ +025e8a: 1100 |000b: return-object v0 │ │ +025e8c: 7100 1d06 0000 |000c: invoke-static {}, Ljava/util/Calendar;.getInstance:()Ljava/util/Calendar; // method@061d │ │ +025e92: 0c01 |000f: move-result-object v1 │ │ +025e94: 7020 c206 1200 |0010: invoke-direct {v2, v1}, Lutil/DateRetriever;.dateStr:(Ljava/util/Calendar;)Ljava/lang/String; // method@06c2 │ │ +025e9a: 0c01 |0013: move-result-object v1 │ │ +025e9c: 5b21 3003 |0014: iput-object v1, v2, Lutil/DateRetriever;.current:Ljava/lang/String; // field@0330 │ │ +025ea0: 2201 2f01 |0016: new-instance v1, Ljava/lang/Thread; // type@012f │ │ +025ea4: 7020 b605 2100 |0018: invoke-direct {v1, v2}, Ljava/lang/Thread;.:(Ljava/lang/Runnable;)V // method@05b6 │ │ +025eaa: 5b21 2f03 |001b: iput-object v1, v2, Lutil/DateRetriever;._thread:Ljava/lang/Thread; // field@032f │ │ +025eae: 6e20 ba05 0100 |001d: invoke-virtual {v1, v0}, Ljava/lang/Thread;.setDaemon:(Z)V // method@05ba │ │ +025eb4: 5420 2f03 |0020: iget-object v0, v2, Lutil/DateRetriever;._thread:Ljava/lang/Thread; // field@032f │ │ +025eb8: 6e10 bc05 0000 |0022: invoke-virtual {v0}, Ljava/lang/Thread;.start:()V // method@05bc │ │ +025ebe: 5420 3003 |0025: iget-object v0, v2, Lutil/DateRetriever;.current:Ljava/lang/String; // field@0330 │ │ +025ec2: 1e02 |0027: monitor-exit v2 │ │ +025ec4: 1100 |0028: return-object v0 │ │ +025ec6: 0d00 |0029: move-exception v0 │ │ +025ec8: 1e02 |002a: monitor-exit v2 │ │ +025eca: 2700 |002b: throw v0 │ │ catches : 2 │ │ 0x0002 - 0x000a │ │ -> 0x0029 │ │ 0x000c - 0x0027 │ │ -> 0x0029 │ │ positions : │ │ 0x0002 line=57 │ │ @@ -26561,22 +26561,22 @@ │ │ type : '(J)V' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 3 │ │ ins : 3 │ │ outs : 3 │ │ insns size : 13 16-bit code units │ │ -025fa4: |[025fa4] util.DateRetriever.waitMillis:(J)V │ │ -025fb4: 6e30 7c05 1002 |0000: invoke-virtual {v0, v1, v2}, Ljava/lang/Object;.wait:(J)V // method@057c │ │ -025fba: 2809 |0003: goto 000c // +0009 │ │ -025fbc: 0d01 |0004: move-exception v1 │ │ -025fbe: 7100 2707 0000 |0005: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0727 │ │ -025fc4: 0c02 |0008: move-result-object v2 │ │ -025fc6: 7220 3207 1200 |0009: invoke-interface {v2, v1}, Lutil/LoggerInterface;.logException:(Ljava/lang/Exception;)V // method@0732 │ │ -025fcc: 0e00 |000c: return-void │ │ +025fa0: |[025fa0] util.DateRetriever.waitMillis:(J)V │ │ +025fb0: 6e30 7c05 1002 |0000: invoke-virtual {v0, v1, v2}, Ljava/lang/Object;.wait:(J)V // method@057c │ │ +025fb6: 2809 |0003: goto 000c // +0009 │ │ +025fb8: 0d01 |0004: move-exception v1 │ │ +025fba: 7100 2707 0000 |0005: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0727 │ │ +025fc0: 0c02 |0008: move-result-object v2 │ │ +025fc2: 7220 3207 1200 |0009: invoke-interface {v2, v1}, Lutil/LoggerInterface;.logException:(Ljava/lang/Exception;)V // method@0732 │ │ +025fc8: 0e00 |000c: return-void │ │ catches : 1 │ │ 0x0000 - 0x0003 │ │ Ljava/lang/InterruptedException; -> 0x0004 │ │ positions : │ │ 0x0000 line=74 │ │ 0x0005 line=76 │ │ locals : │ │ @@ -26589,44 +26589,44 @@ │ │ type : '()V' │ │ access : 0x20001 (PUBLIC DECLARED_SYNCHRONIZED) │ │ code - │ │ registers : 3 │ │ ins : 1 │ │ outs : 3 │ │ insns size : 47 16-bit code units │ │ -025f28: |[025f28] util.DateRetriever.run:()V │ │ -025f38: 1d02 |0000: monitor-enter v2 │ │ -025f3a: 7100 b705 0000 |0001: invoke-static {}, Ljava/lang/Thread;.currentThread:()Ljava/lang/Thread; // method@05b7 │ │ -025f40: 0c00 |0004: move-result-object v0 │ │ -025f42: 5b20 2f03 |0005: iput-object v0, v2, Lutil/DateRetriever;._thread:Ljava/lang/Thread; // field@032f │ │ -025f46: 6000 2d03 |0007: sget v0, Lutil/DateRetriever;.PRECISION_MILLIS:I // field@032d │ │ -025f4a: 8100 |0009: int-to-long v0, v0 │ │ -025f4c: 7030 c706 0201 |000a: invoke-direct {v2, v0, v1}, Lutil/DateRetriever;.waitMillis:(J)V // method@06c7 │ │ -025f52: 5520 3103 |000d: iget-boolean v0, v2, Lutil/DateRetriever;.picked:Z // field@0331 │ │ -025f56: 3800 1600 |000f: if-eqz v0, 0025 // +0016 │ │ -025f5a: 7100 1d06 0000 |0011: invoke-static {}, Ljava/util/Calendar;.getInstance:()Ljava/util/Calendar; // method@061d │ │ -025f60: 0c00 |0014: move-result-object v0 │ │ -025f62: 7020 c206 0200 |0015: invoke-direct {v2, v0}, Lutil/DateRetriever;.dateStr:(Ljava/util/Calendar;)Ljava/lang/String; // method@06c2 │ │ -025f68: 0c00 |0018: move-result-object v0 │ │ -025f6a: 5b20 3003 |0019: iput-object v0, v2, Lutil/DateRetriever;.current:Ljava/lang/String; // field@0330 │ │ -025f6e: 1200 |001b: const/4 v0, #int 0 // #0 │ │ -025f70: 5c20 3103 |001c: iput-boolean v0, v2, Lutil/DateRetriever;.picked:Z // field@0331 │ │ -025f74: 6000 2d03 |001e: sget v0, Lutil/DateRetriever;.PRECISION_MILLIS:I // field@032d │ │ -025f78: 8100 |0020: int-to-long v0, v0 │ │ -025f7a: 7030 c706 0201 |0021: invoke-direct {v2, v0, v1}, Lutil/DateRetriever;.waitMillis:(J)V // method@06c7 │ │ -025f80: 28e9 |0024: goto 000d // -0017 │ │ -025f82: 1200 |0025: const/4 v0, #int 0 // #0 │ │ -025f84: 5b20 2f03 |0026: iput-object v0, v2, Lutil/DateRetriever;._thread:Ljava/lang/Thread; // field@032f │ │ -025f88: 1e02 |0028: monitor-exit v2 │ │ -025f8a: 0e00 |0029: return-void │ │ -025f8c: 0d00 |002a: move-exception v0 │ │ -025f8e: 1e02 |002b: monitor-exit v2 │ │ -025f90: 2802 |002c: goto 002e // +0002 │ │ -025f92: 2700 |002d: throw v0 │ │ -025f94: 28ff |002e: goto 002d // -0001 │ │ +025f24: |[025f24] util.DateRetriever.run:()V │ │ +025f34: 1d02 |0000: monitor-enter v2 │ │ +025f36: 7100 b705 0000 |0001: invoke-static {}, Ljava/lang/Thread;.currentThread:()Ljava/lang/Thread; // method@05b7 │ │ +025f3c: 0c00 |0004: move-result-object v0 │ │ +025f3e: 5b20 2f03 |0005: iput-object v0, v2, Lutil/DateRetriever;._thread:Ljava/lang/Thread; // field@032f │ │ +025f42: 6000 2d03 |0007: sget v0, Lutil/DateRetriever;.PRECISION_MILLIS:I // field@032d │ │ +025f46: 8100 |0009: int-to-long v0, v0 │ │ +025f48: 7030 c706 0201 |000a: invoke-direct {v2, v0, v1}, Lutil/DateRetriever;.waitMillis:(J)V // method@06c7 │ │ +025f4e: 5520 3103 |000d: iget-boolean v0, v2, Lutil/DateRetriever;.picked:Z // field@0331 │ │ +025f52: 3800 1600 |000f: if-eqz v0, 0025 // +0016 │ │ +025f56: 7100 1d06 0000 |0011: invoke-static {}, Ljava/util/Calendar;.getInstance:()Ljava/util/Calendar; // method@061d │ │ +025f5c: 0c00 |0014: move-result-object v0 │ │ +025f5e: 7020 c206 0200 |0015: invoke-direct {v2, v0}, Lutil/DateRetriever;.dateStr:(Ljava/util/Calendar;)Ljava/lang/String; // method@06c2 │ │ +025f64: 0c00 |0018: move-result-object v0 │ │ +025f66: 5b20 3003 |0019: iput-object v0, v2, Lutil/DateRetriever;.current:Ljava/lang/String; // field@0330 │ │ +025f6a: 1200 |001b: const/4 v0, #int 0 // #0 │ │ +025f6c: 5c20 3103 |001c: iput-boolean v0, v2, Lutil/DateRetriever;.picked:Z // field@0331 │ │ +025f70: 6000 2d03 |001e: sget v0, Lutil/DateRetriever;.PRECISION_MILLIS:I // field@032d │ │ +025f74: 8100 |0020: int-to-long v0, v0 │ │ +025f76: 7030 c706 0201 |0021: invoke-direct {v2, v0, v1}, Lutil/DateRetriever;.waitMillis:(J)V // method@06c7 │ │ +025f7c: 28e9 |0024: goto 000d // -0017 │ │ +025f7e: 1200 |0025: const/4 v0, #int 0 // #0 │ │ +025f80: 5b20 2f03 |0026: iput-object v0, v2, Lutil/DateRetriever;._thread:Ljava/lang/Thread; // field@032f │ │ +025f84: 1e02 |0028: monitor-exit v2 │ │ +025f86: 0e00 |0029: return-void │ │ +025f88: 0d00 |002a: move-exception v0 │ │ +025f8a: 1e02 |002b: monitor-exit v2 │ │ +025f8c: 2802 |002c: goto 002e // +0002 │ │ +025f8e: 2700 |002d: throw v0 │ │ +025f90: 28ff |002e: goto 002d // -0001 │ │ catches : 1 │ │ 0x0001 - 0x0028 │ │ -> 0x002a │ │ positions : │ │ 0x0001 line=83 │ │ 0x0007 line=85 │ │ 0x000d line=86 │ │ @@ -26711,34 +26711,34 @@ │ │ type : '()V' │ │ access : 0x10008 (STATIC CONSTRUCTOR) │ │ code - │ │ registers : 1 │ │ ins : 0 │ │ outs : 0 │ │ insns size : 52 16-bit code units │ │ -026214: |[026214] util.Encryption.:()V │ │ -026224: 1300 1000 |0000: const/16 v0, #int 16 // #10 │ │ -026228: 2300 9d01 |0002: new-array v0, v0, [B // type@019d │ │ -02622c: 2600 1c00 0000 |0004: fill-array-data v0, 00000020 // +0000001c │ │ -026232: 6900 3703 |0007: sput-object v0, Lutil/Encryption;.iv:[B // field@0337 │ │ -026236: 1300 0800 |0009: const/16 v0, #int 8 // #8 │ │ -02623a: 2300 9d01 |000b: new-array v0, v0, [B // type@019d │ │ -02623e: 2600 1f00 0000 |000d: fill-array-data v0, 0000002c // +0000001f │ │ -026244: 6900 3403 |0010: sput-object v0, Lutil/Encryption;.INIT_BYTES:[B // field@0334 │ │ -026248: 1200 |0012: const/4 v0, #int 0 // #0 │ │ -02624a: 6a00 3303 |0013: sput-boolean v0, Lutil/Encryption;.INITIALZED:Z // field@0333 │ │ -02624e: 1a00 0000 |0015: const-string v0, "" // string@0000 │ │ -026252: 6900 3903 |0017: sput-object v0, Lutil/Encryption;.keyphrase:Ljava/lang/String; // field@0339 │ │ -026256: 1200 |0019: const/4 v0, #int 0 // #0 │ │ -026258: 6900 3503 |001a: sput-object v0, Lutil/Encryption;.dcipher:Ljavax/crypto/Cipher; // field@0335 │ │ -02625c: 6900 3603 |001c: sput-object v0, Lutil/Encryption;.ecipher:Ljavax/crypto/Cipher; // field@0336 │ │ -026260: 0e00 |001e: return-void │ │ -026262: 0000 |001f: nop // spacer │ │ -026264: 0003 0100 1000 0000 0cfe 1e29 65bf ... |0020: array-data (12 units) │ │ -02627c: 0003 0100 0800 0000 2d07 f82d 06bf ... |002c: array-data (8 units) │ │ +026210: |[026210] util.Encryption.:()V │ │ +026220: 1300 1000 |0000: const/16 v0, #int 16 // #10 │ │ +026224: 2300 9d01 |0002: new-array v0, v0, [B // type@019d │ │ +026228: 2600 1c00 0000 |0004: fill-array-data v0, 00000020 // +0000001c │ │ +02622e: 6900 3703 |0007: sput-object v0, Lutil/Encryption;.iv:[B // field@0337 │ │ +026232: 1300 0800 |0009: const/16 v0, #int 8 // #8 │ │ +026236: 2300 9d01 |000b: new-array v0, v0, [B // type@019d │ │ +02623a: 2600 1f00 0000 |000d: fill-array-data v0, 0000002c // +0000001f │ │ +026240: 6900 3403 |0010: sput-object v0, Lutil/Encryption;.INIT_BYTES:[B // field@0334 │ │ +026244: 1200 |0012: const/4 v0, #int 0 // #0 │ │ +026246: 6a00 3303 |0013: sput-boolean v0, Lutil/Encryption;.INITIALZED:Z // field@0333 │ │ +02624a: 1a00 0000 |0015: const-string v0, "" // string@0000 │ │ +02624e: 6900 3903 |0017: sput-object v0, Lutil/Encryption;.keyphrase:Ljava/lang/String; // field@0339 │ │ +026252: 1200 |0019: const/4 v0, #int 0 // #0 │ │ +026254: 6900 3503 |001a: sput-object v0, Lutil/Encryption;.dcipher:Ljavax/crypto/Cipher; // field@0335 │ │ +026258: 6900 3603 |001c: sput-object v0, Lutil/Encryption;.ecipher:Ljavax/crypto/Cipher; // field@0336 │ │ +02625c: 0e00 |001e: return-void │ │ +02625e: 0000 |001f: nop // spacer │ │ +026260: 0003 0100 1000 0000 0cfe 1e29 65bf ... |0020: array-data (12 units) │ │ +026278: 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 │ │ @@ -26750,17 +26750,17 @@ │ │ type : '()V' │ │ access : 0x10001 (PUBLIC CONSTRUCTOR) │ │ code - │ │ registers : 1 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 4 16-bit code units │ │ -02628c: |[02628c] util.Encryption.:()V │ │ -02629c: 7010 7505 0000 |0000: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@0575 │ │ -0262a2: 0e00 |0003: return-void │ │ +026288: |[026288] util.Encryption.:()V │ │ +026298: 7010 7505 0000 |0000: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@0575 │ │ +02629e: 0e00 |0003: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=14 │ │ locals : │ │ 0x0000 - 0x0004 reg=0 this Lutil/Encryption; │ │ │ │ #2 : (in Lutil/Encryption;) │ │ @@ -26768,41 +26768,41 @@ │ │ type : '([B)[B' │ │ access : 0x0009 (PUBLIC STATIC) │ │ code - │ │ registers : 4 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 47 16-bit code units │ │ -025fe0: |[025fe0] util.Encryption.decrypt:([B)[B │ │ -025ff0: 6300 3303 |0000: sget-boolean v0, Lutil/Encryption;.INITIALZED:Z // field@0333 │ │ -025ff4: 3800 2500 |0002: if-eqz v0, 0027 // +0025 │ │ -025ff8: 6200 3503 |0004: sget-object v0, Lutil/Encryption;.dcipher:Ljavax/crypto/Cipher; // field@0335 │ │ -025ffc: 1d00 |0006: monitor-enter v0 │ │ -025ffe: 6201 3503 |0007: sget-object v1, Lutil/Encryption;.dcipher:Ljavax/crypto/Cipher; // field@0335 │ │ -026002: 6e20 9a06 3100 |0009: invoke-virtual {v1, v3}, Ljavax/crypto/Cipher;.doFinal:([B)[B // method@069a │ │ -026008: 0c03 |000c: move-result-object v3 │ │ -02600a: 1e00 |000d: monitor-exit v0 │ │ -02600c: 1103 |000e: return-object v3 │ │ -02600e: 0d03 |000f: move-exception v3 │ │ -026010: 1e00 |0010: monitor-exit v0 │ │ -026012: 2703 |0011: throw v3 │ │ -026014: 0d03 |0012: move-exception v3 │ │ -026016: 2200 0001 |0013: new-instance v0, Ljava/io/IOException; // type@0100 │ │ -02601a: 2201 2d01 |0015: new-instance v1, Ljava/lang/StringBuilder; // type@012d │ │ -02601e: 1a02 6301 |0017: const-string v2, "Decryption failed:" // string@0163 │ │ -026022: 7020 aa05 2100 |0019: invoke-direct {v1, v2}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05aa │ │ -026028: 6e20 ae05 3100 |001c: invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@05ae │ │ -02602e: 6e10 b105 0100 |001f: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ -026034: 0c03 |0022: move-result-object v3 │ │ -026036: 7020 2105 3000 |0023: invoke-direct {v0, v3}, Ljava/io/IOException;.:(Ljava/lang/String;)V // method@0521 │ │ -02603c: 2700 |0026: throw v0 │ │ -02603e: 2203 0001 |0027: new-instance v3, Ljava/io/IOException; // type@0100 │ │ -026042: 1a00 7801 |0029: const-string v0, "Encryption not initialized!" // string@0178 │ │ -026046: 7020 2105 0300 |002b: invoke-direct {v3, v0}, Ljava/io/IOException;.:(Ljava/lang/String;)V // method@0521 │ │ -02604c: 2703 |002e: throw v3 │ │ +025fdc: |[025fdc] util.Encryption.decrypt:([B)[B │ │ +025fec: 6300 3303 |0000: sget-boolean v0, Lutil/Encryption;.INITIALZED:Z // field@0333 │ │ +025ff0: 3800 2500 |0002: if-eqz v0, 0027 // +0025 │ │ +025ff4: 6200 3503 |0004: sget-object v0, Lutil/Encryption;.dcipher:Ljavax/crypto/Cipher; // field@0335 │ │ +025ff8: 1d00 |0006: monitor-enter v0 │ │ +025ffa: 6201 3503 |0007: sget-object v1, Lutil/Encryption;.dcipher:Ljavax/crypto/Cipher; // field@0335 │ │ +025ffe: 6e20 9a06 3100 |0009: invoke-virtual {v1, v3}, Ljavax/crypto/Cipher;.doFinal:([B)[B // method@069a │ │ +026004: 0c03 |000c: move-result-object v3 │ │ +026006: 1e00 |000d: monitor-exit v0 │ │ +026008: 1103 |000e: return-object v3 │ │ +02600a: 0d03 |000f: move-exception v3 │ │ +02600c: 1e00 |0010: monitor-exit v0 │ │ +02600e: 2703 |0011: throw v3 │ │ +026010: 0d03 |0012: move-exception v3 │ │ +026012: 2200 0001 |0013: new-instance v0, Ljava/io/IOException; // type@0100 │ │ +026016: 2201 2d01 |0015: new-instance v1, Ljava/lang/StringBuilder; // type@012d │ │ +02601a: 1a02 6301 |0017: const-string v2, "Decryption failed:" // string@0163 │ │ +02601e: 7020 aa05 2100 |0019: invoke-direct {v1, v2}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05aa │ │ +026024: 6e20 ae05 3100 |001c: invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@05ae │ │ +02602a: 6e10 b105 0100 |001f: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ +026030: 0c03 |0022: move-result-object v3 │ │ +026032: 7020 2105 3000 |0023: invoke-direct {v0, v3}, Ljava/io/IOException;.:(Ljava/lang/String;)V // method@0521 │ │ +026038: 2700 |0026: throw v0 │ │ +02603a: 2203 0001 |0027: new-instance v3, Ljava/io/IOException; // type@0100 │ │ +02603e: 1a00 7801 |0029: const-string v0, "Encryption not initialized!" // string@0178 │ │ +026042: 7020 2105 0300 |002b: invoke-direct {v3, v0}, Ljava/io/IOException;.:(Ljava/lang/String;)V // method@0521 │ │ +026048: 2703 |002e: throw v3 │ │ catches : 3 │ │ 0x0004 - 0x0007 │ │ Ljava/lang/Exception; -> 0x0012 │ │ 0x0007 - 0x0011 │ │ -> 0x000f │ │ 0x0011 - 0x0012 │ │ Ljava/lang/Exception; -> 0x0012 │ │ @@ -26821,41 +26821,41 @@ │ │ type : '([B)[B' │ │ access : 0x0009 (PUBLIC STATIC) │ │ code - │ │ registers : 4 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 47 16-bit code units │ │ -026070: |[026070] util.Encryption.encrypt:([B)[B │ │ -026080: 6300 3303 |0000: sget-boolean v0, Lutil/Encryption;.INITIALZED:Z // field@0333 │ │ -026084: 3800 2500 |0002: if-eqz v0, 0027 // +0025 │ │ -026088: 6200 3603 |0004: sget-object v0, Lutil/Encryption;.ecipher:Ljavax/crypto/Cipher; // field@0336 │ │ -02608c: 1d00 |0006: monitor-enter v0 │ │ -02608e: 6201 3603 |0007: sget-object v1, Lutil/Encryption;.ecipher:Ljavax/crypto/Cipher; // field@0336 │ │ -026092: 6e20 9a06 3100 |0009: invoke-virtual {v1, v3}, Ljavax/crypto/Cipher;.doFinal:([B)[B // method@069a │ │ -026098: 0c03 |000c: move-result-object v3 │ │ -02609a: 1e00 |000d: monitor-exit v0 │ │ -02609c: 1103 |000e: return-object v3 │ │ -02609e: 0d03 |000f: move-exception v3 │ │ -0260a0: 1e00 |0010: monitor-exit v0 │ │ -0260a2: 2703 |0011: throw v3 │ │ -0260a4: 0d03 |0012: move-exception v3 │ │ -0260a6: 2200 0001 |0013: new-instance v0, Ljava/io/IOException; // type@0100 │ │ -0260aa: 2201 2d01 |0015: new-instance v1, Ljava/lang/StringBuilder; // type@012d │ │ -0260ae: 1a02 7701 |0017: const-string v2, "Encryption failed:" // string@0177 │ │ -0260b2: 7020 aa05 2100 |0019: invoke-direct {v1, v2}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05aa │ │ -0260b8: 6e20 ae05 3100 |001c: invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@05ae │ │ -0260be: 6e10 b105 0100 |001f: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ -0260c4: 0c03 |0022: move-result-object v3 │ │ -0260c6: 7020 2105 3000 |0023: invoke-direct {v0, v3}, Ljava/io/IOException;.:(Ljava/lang/String;)V // method@0521 │ │ -0260cc: 2700 |0026: throw v0 │ │ -0260ce: 2203 0001 |0027: new-instance v3, Ljava/io/IOException; // type@0100 │ │ -0260d2: 1a00 7801 |0029: const-string v0, "Encryption not initialized!" // string@0178 │ │ -0260d6: 7020 2105 0300 |002b: invoke-direct {v3, v0}, Ljava/io/IOException;.:(Ljava/lang/String;)V // method@0521 │ │ -0260dc: 2703 |002e: throw v3 │ │ +02606c: |[02606c] util.Encryption.encrypt:([B)[B │ │ +02607c: 6300 3303 |0000: sget-boolean v0, Lutil/Encryption;.INITIALZED:Z // field@0333 │ │ +026080: 3800 2500 |0002: if-eqz v0, 0027 // +0025 │ │ +026084: 6200 3603 |0004: sget-object v0, Lutil/Encryption;.ecipher:Ljavax/crypto/Cipher; // field@0336 │ │ +026088: 1d00 |0006: monitor-enter v0 │ │ +02608a: 6201 3603 |0007: sget-object v1, Lutil/Encryption;.ecipher:Ljavax/crypto/Cipher; // field@0336 │ │ +02608e: 6e20 9a06 3100 |0009: invoke-virtual {v1, v3}, Ljavax/crypto/Cipher;.doFinal:([B)[B // method@069a │ │ +026094: 0c03 |000c: move-result-object v3 │ │ +026096: 1e00 |000d: monitor-exit v0 │ │ +026098: 1103 |000e: return-object v3 │ │ +02609a: 0d03 |000f: move-exception v3 │ │ +02609c: 1e00 |0010: monitor-exit v0 │ │ +02609e: 2703 |0011: throw v3 │ │ +0260a0: 0d03 |0012: move-exception v3 │ │ +0260a2: 2200 0001 |0013: new-instance v0, Ljava/io/IOException; // type@0100 │ │ +0260a6: 2201 2d01 |0015: new-instance v1, Ljava/lang/StringBuilder; // type@012d │ │ +0260aa: 1a02 7701 |0017: const-string v2, "Encryption failed:" // string@0177 │ │ +0260ae: 7020 aa05 2100 |0019: invoke-direct {v1, v2}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05aa │ │ +0260b4: 6e20 ae05 3100 |001c: invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@05ae │ │ +0260ba: 6e10 b105 0100 |001f: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ +0260c0: 0c03 |0022: move-result-object v3 │ │ +0260c2: 7020 2105 3000 |0023: invoke-direct {v0, v3}, Ljava/io/IOException;.:(Ljava/lang/String;)V // method@0521 │ │ +0260c8: 2700 |0026: throw v0 │ │ +0260ca: 2203 0001 |0027: new-instance v3, Ljava/io/IOException; // type@0100 │ │ +0260ce: 1a00 7801 |0029: const-string v0, "Encryption not initialized!" // string@0178 │ │ +0260d2: 7020 2105 0300 |002b: invoke-direct {v3, v0}, Ljava/io/IOException;.:(Ljava/lang/String;)V // method@0521 │ │ +0260d8: 2703 |002e: throw v3 │ │ catches : 3 │ │ 0x0004 - 0x0007 │ │ Ljava/lang/Exception; -> 0x0012 │ │ 0x0007 - 0x0011 │ │ -> 0x000f │ │ 0x0011 - 0x0012 │ │ Ljava/lang/Exception; -> 0x0012 │ │ @@ -26874,24 +26874,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 │ │ -026100: |[026100] util.Encryption.getDecryptedStream:(Ljava/io/InputStream;)Ljava/io/InputStream; │ │ -026110: 6300 3303 |0000: sget-boolean v0, Lutil/Encryption;.INITIALZED:Z // field@0333 │ │ -026114: 3800 0800 |0002: if-eqz v0, 000a // +0008 │ │ -026118: 2200 8901 |0004: new-instance v0, Lutil/PaddingCipherInputStream; // type@0189 │ │ -02611c: 7020 5907 1000 |0006: invoke-direct {v0, v1}, Lutil/PaddingCipherInputStream;.:(Ljava/io/InputStream;)V // method@0759 │ │ -026122: 1100 |0009: return-object v0 │ │ -026124: 2201 0001 |000a: new-instance v1, Ljava/io/IOException; // type@0100 │ │ -026128: 1a00 7801 |000c: const-string v0, "Encryption not initialized!" // string@0178 │ │ -02612c: 7020 2105 0100 |000e: invoke-direct {v1, v0}, Ljava/io/IOException;.:(Ljava/lang/String;)V // method@0521 │ │ -026132: 2701 |0011: throw v1 │ │ +0260fc: |[0260fc] util.Encryption.getDecryptedStream:(Ljava/io/InputStream;)Ljava/io/InputStream; │ │ +02610c: 6300 3303 |0000: sget-boolean v0, Lutil/Encryption;.INITIALZED:Z // field@0333 │ │ +026110: 3800 0800 |0002: if-eqz v0, 000a // +0008 │ │ +026114: 2200 8901 |0004: new-instance v0, Lutil/PaddingCipherInputStream; // type@0189 │ │ +026118: 7020 5907 1000 |0006: invoke-direct {v0, v1}, Lutil/PaddingCipherInputStream;.:(Ljava/io/InputStream;)V // method@0759 │ │ +02611e: 1100 |0009: return-object v0 │ │ +026120: 2201 0001 |000a: new-instance v1, Ljava/io/IOException; // type@0100 │ │ +026124: 1a00 7801 |000c: const-string v0, "Encryption not initialized!" // string@0178 │ │ +026128: 7020 2105 0100 |000e: invoke-direct {v1, v0}, Ljava/io/IOException;.:(Ljava/lang/String;)V // method@0521 │ │ +02612e: 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; │ │ @@ -26901,24 +26901,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 │ │ -026134: |[026134] util.Encryption.getEncryptedOutputStream:(Ljava/io/OutputStream;I)Ljava/io/OutputStream; │ │ -026144: 6300 3303 |0000: sget-boolean v0, Lutil/Encryption;.INITIALZED:Z // field@0333 │ │ -026148: 3800 0800 |0002: if-eqz v0, 000a // +0008 │ │ -02614c: 2200 8a01 |0004: new-instance v0, Lutil/PaddingCipherOutputStream; // type@018a │ │ -026150: 7030 6007 1002 |0006: invoke-direct {v0, v1, v2}, Lutil/PaddingCipherOutputStream;.:(Ljava/io/OutputStream;I)V // method@0760 │ │ -026156: 1100 |0009: return-object v0 │ │ -026158: 2201 0001 |000a: new-instance v1, Ljava/io/IOException; // type@0100 │ │ -02615c: 1a02 7801 |000c: const-string v2, "Encryption not initialized!" // string@0178 │ │ -026160: 7020 2105 2100 |000e: invoke-direct {v1, v2}, Ljava/io/IOException;.:(Ljava/lang/String;)V // method@0521 │ │ -026166: 2701 |0011: throw v1 │ │ +026130: |[026130] util.Encryption.getEncryptedOutputStream:(Ljava/io/OutputStream;I)Ljava/io/OutputStream; │ │ +026140: 6300 3303 |0000: sget-boolean v0, Lutil/Encryption;.INITIALZED:Z // field@0333 │ │ +026144: 3800 0800 |0002: if-eqz v0, 000a // +0008 │ │ +026148: 2200 8a01 |0004: new-instance v0, Lutil/PaddingCipherOutputStream; // type@018a │ │ +02614c: 7030 6007 1002 |0006: invoke-direct {v0, v1, v2}, Lutil/PaddingCipherOutputStream;.:(Ljava/io/OutputStream;I)V // method@0760 │ │ +026152: 1100 |0009: return-object v0 │ │ +026154: 2201 0001 |000a: new-instance v1, Ljava/io/IOException; // type@0100 │ │ +026158: 1a02 7801 |000c: const-string v2, "Encryption not initialized!" // string@0178 │ │ +02615c: 7020 2105 2100 |000e: invoke-direct {v1, v2}, Ljava/io/IOException;.:(Ljava/lang/String;)V // method@0521 │ │ +026162: 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; │ │ @@ -26929,76 +26929,76 @@ │ │ type : '(Ljava/lang/String;)V' │ │ access : 0x0009 (PUBLIC STATIC) │ │ code - │ │ registers : 6 │ │ ins : 1 │ │ outs : 4 │ │ insns size : 125 16-bit code units │ │ -0262a4: |[0262a4] util.Encryption.init_AES:(Ljava/lang/String;)V │ │ -0262b4: 1a00 ac00 |0000: const-string v0, "AES/CBC/PKCS5Padding" // string@00ac │ │ -0262b8: 6201 3903 |0002: sget-object v1, Lutil/Encryption;.keyphrase:Ljava/lang/String; // field@0339 │ │ -0262bc: 6e20 8d05 5100 |0004: invoke-virtual {v1, v5}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058d │ │ -0262c2: 0a01 |0007: move-result v1 │ │ -0262c4: 3801 0300 |0008: if-eqz v1, 000b // +0003 │ │ -0262c8: 0e00 |000a: return-void │ │ -0262ca: 1301 1000 |000b: const/16 v1, #int 16 // #10 │ │ -0262ce: 2311 9d01 |000d: new-array v1, v1, [B // type@019d │ │ -0262d2: 7110 0a06 0100 |000f: invoke-static {v1}, Ljava/nio/ByteBuffer;.wrap:([B)Ljava/nio/ByteBuffer; // method@060a │ │ -0262d8: 0c01 |0012: move-result-object v1 │ │ -0262da: 7110 9707 0500 |0013: invoke-static {v5}, Lutil/Utils;.getLongStringHash:(Ljava/lang/String;)J // method@0797 │ │ -0262e0: 0b02 |0016: move-result-wide v2 │ │ -0262e2: 6e30 0806 2103 |0017: invoke-virtual {v1, v2, v3}, Ljava/nio/ByteBuffer;.putLong:(J)Ljava/nio/ByteBuffer; // method@0608 │ │ -0262e8: 7110 cf06 0500 |001a: invoke-static {v5}, Lutil/Encryption;.invertStr:(Ljava/lang/String;)Ljava/lang/String; // method@06cf │ │ -0262ee: 0c02 |001d: move-result-object v2 │ │ -0262f0: 7110 9707 0200 |001e: invoke-static {v2}, Lutil/Utils;.getLongStringHash:(Ljava/lang/String;)J // method@0797 │ │ -0262f6: 0b02 |0021: move-result-wide v2 │ │ -0262f8: 6e30 0806 2103 |0022: invoke-virtual {v1, v2, v3}, Ljava/nio/ByteBuffer;.putLong:(J)Ljava/nio/ByteBuffer; // method@0608 │ │ -0262fe: 2202 7401 |0025: new-instance v2, Ljavax/crypto/spec/IvParameterSpec; // type@0174 │ │ -026302: 6203 3703 |0027: sget-object v3, Lutil/Encryption;.iv:[B // field@0337 │ │ -026306: 7020 9d06 3200 |0029: invoke-direct {v2, v3}, Ljavax/crypto/spec/IvParameterSpec;.:([B)V // method@069d │ │ -02630c: 6902 3a03 |002c: sput-object v2, Lutil/Encryption;.paramSpec:Ljava/security/spec/AlgorithmParameterSpec; // field@033a │ │ -026310: 2202 7501 |002e: new-instance v2, Ljavax/crypto/spec/SecretKeySpec; // type@0175 │ │ -026314: 6e10 fa05 0100 |0030: invoke-virtual {v1}, Ljava/nio/ByteBuffer;.array:()[B // method@05fa │ │ -02631a: 0c01 |0033: move-result-object v1 │ │ -02631c: 1a03 ab00 |0034: const-string v3, "AES" // string@00ab │ │ -026320: 7030 9e06 1203 |0036: invoke-direct {v2, v1, v3}, Ljavax/crypto/spec/SecretKeySpec;.:([BLjava/lang/String;)V // method@069e │ │ -026326: 6902 3803 |0039: sput-object v2, Lutil/Encryption;.key:Ljavax/crypto/SecretKey; // field@0338 │ │ -02632a: 7110 9b06 0000 |003b: invoke-static {v0}, Ljavax/crypto/Cipher;.getInstance:(Ljava/lang/String;)Ljavax/crypto/Cipher; // method@069b │ │ -026330: 0c01 |003e: move-result-object v1 │ │ -026332: 6901 3603 |003f: sput-object v1, Lutil/Encryption;.ecipher:Ljavax/crypto/Cipher; // field@0336 │ │ -026336: 6202 3803 |0041: sget-object v2, Lutil/Encryption;.key:Ljavax/crypto/SecretKey; // field@0338 │ │ -02633a: 6203 3a03 |0043: sget-object v3, Lutil/Encryption;.paramSpec:Ljava/security/spec/AlgorithmParameterSpec; // field@033a │ │ -02633e: 1214 |0045: const/4 v4, #int 1 // #1 │ │ -026340: 6e40 9c06 4132 |0046: invoke-virtual {v1, v4, v2, v3}, Ljavax/crypto/Cipher;.init:(ILjava/security/Key;Ljava/security/spec/AlgorithmParameterSpec;)V // method@069c │ │ -026346: 7110 9b06 0000 |0049: invoke-static {v0}, Ljavax/crypto/Cipher;.getInstance:(Ljava/lang/String;)Ljavax/crypto/Cipher; // method@069b │ │ -02634c: 0c00 |004c: move-result-object v0 │ │ -02634e: 6900 3503 |004d: sput-object v0, Lutil/Encryption;.dcipher:Ljavax/crypto/Cipher; // field@0335 │ │ -026352: 6201 3803 |004f: sget-object v1, Lutil/Encryption;.key:Ljavax/crypto/SecretKey; // field@0338 │ │ -026356: 6202 3a03 |0051: sget-object v2, Lutil/Encryption;.paramSpec:Ljava/security/spec/AlgorithmParameterSpec; // field@033a │ │ -02635a: 1223 |0053: const/4 v3, #int 2 // #2 │ │ -02635c: 6e40 9c06 3021 |0054: invoke-virtual {v0, v3, v1, v2}, Ljavax/crypto/Cipher;.init:(ILjava/security/Key;Ljava/security/spec/AlgorithmParameterSpec;)V // method@069c │ │ -026362: 6905 3903 |0057: sput-object v5, Lutil/Encryption;.keyphrase:Ljava/lang/String; // field@0339 │ │ -026366: 6a04 3303 |0059: sput-boolean v4, Lutil/Encryption;.INITIALZED:Z // field@0333 │ │ -02636a: 6205 3403 |005b: sget-object v5, Lutil/Encryption;.INIT_BYTES:[B // field@0334 │ │ -02636e: 7110 cb06 0500 |005d: invoke-static {v5}, Lutil/Encryption;.encrypt:([B)[B // method@06cb │ │ -026374: 0c05 |0060: move-result-object v5 │ │ -026376: 6905 3203 |0061: sput-object v5, Lutil/Encryption;.ENCR_INIT_BYTES:[B // field@0332 │ │ -02637a: 0e00 |0063: return-void │ │ -02637c: 0d05 |0064: move-exception v5 │ │ -02637e: 2200 0001 |0065: new-instance v0, Ljava/io/IOException; // type@0100 │ │ -026382: 2201 2d01 |0067: new-instance v1, Ljava/lang/StringBuilder; // type@012d │ │ -026386: 1a02 7601 |0069: const-string v2, "Encryption can not be initialized:" // string@0176 │ │ -02638a: 7020 aa05 2100 |006b: invoke-direct {v1, v2}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05aa │ │ -026390: 6e10 5d05 0500 |006e: invoke-virtual {v5}, Ljava/lang/Exception;.getMessage:()Ljava/lang/String; // method@055d │ │ -026396: 0c05 |0071: move-result-object v5 │ │ -026398: 6e20 af05 5100 |0072: invoke-virtual {v1, v5}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -02639e: 6e10 b105 0100 |0075: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ -0263a4: 0c05 |0078: move-result-object v5 │ │ -0263a6: 7020 2105 5000 |0079: invoke-direct {v0, v5}, Ljava/io/IOException;.:(Ljava/lang/String;)V // method@0521 │ │ -0263ac: 2700 |007c: throw v0 │ │ +0262a0: |[0262a0] util.Encryption.init_AES:(Ljava/lang/String;)V │ │ +0262b0: 1a00 ac00 |0000: const-string v0, "AES/CBC/PKCS5Padding" // string@00ac │ │ +0262b4: 6201 3903 |0002: sget-object v1, Lutil/Encryption;.keyphrase:Ljava/lang/String; // field@0339 │ │ +0262b8: 6e20 8d05 5100 |0004: invoke-virtual {v1, v5}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058d │ │ +0262be: 0a01 |0007: move-result v1 │ │ +0262c0: 3801 0300 |0008: if-eqz v1, 000b // +0003 │ │ +0262c4: 0e00 |000a: return-void │ │ +0262c6: 1301 1000 |000b: const/16 v1, #int 16 // #10 │ │ +0262ca: 2311 9d01 |000d: new-array v1, v1, [B // type@019d │ │ +0262ce: 7110 0a06 0100 |000f: invoke-static {v1}, Ljava/nio/ByteBuffer;.wrap:([B)Ljava/nio/ByteBuffer; // method@060a │ │ +0262d4: 0c01 |0012: move-result-object v1 │ │ +0262d6: 7110 9707 0500 |0013: invoke-static {v5}, Lutil/Utils;.getLongStringHash:(Ljava/lang/String;)J // method@0797 │ │ +0262dc: 0b02 |0016: move-result-wide v2 │ │ +0262de: 6e30 0806 2103 |0017: invoke-virtual {v1, v2, v3}, Ljava/nio/ByteBuffer;.putLong:(J)Ljava/nio/ByteBuffer; // method@0608 │ │ +0262e4: 7110 cf06 0500 |001a: invoke-static {v5}, Lutil/Encryption;.invertStr:(Ljava/lang/String;)Ljava/lang/String; // method@06cf │ │ +0262ea: 0c02 |001d: move-result-object v2 │ │ +0262ec: 7110 9707 0200 |001e: invoke-static {v2}, Lutil/Utils;.getLongStringHash:(Ljava/lang/String;)J // method@0797 │ │ +0262f2: 0b02 |0021: move-result-wide v2 │ │ +0262f4: 6e30 0806 2103 |0022: invoke-virtual {v1, v2, v3}, Ljava/nio/ByteBuffer;.putLong:(J)Ljava/nio/ByteBuffer; // method@0608 │ │ +0262fa: 2202 7401 |0025: new-instance v2, Ljavax/crypto/spec/IvParameterSpec; // type@0174 │ │ +0262fe: 6203 3703 |0027: sget-object v3, Lutil/Encryption;.iv:[B // field@0337 │ │ +026302: 7020 9d06 3200 |0029: invoke-direct {v2, v3}, Ljavax/crypto/spec/IvParameterSpec;.:([B)V // method@069d │ │ +026308: 6902 3a03 |002c: sput-object v2, Lutil/Encryption;.paramSpec:Ljava/security/spec/AlgorithmParameterSpec; // field@033a │ │ +02630c: 2202 7501 |002e: new-instance v2, Ljavax/crypto/spec/SecretKeySpec; // type@0175 │ │ +026310: 6e10 fa05 0100 |0030: invoke-virtual {v1}, Ljava/nio/ByteBuffer;.array:()[B // method@05fa │ │ +026316: 0c01 |0033: move-result-object v1 │ │ +026318: 1a03 ab00 |0034: const-string v3, "AES" // string@00ab │ │ +02631c: 7030 9e06 1203 |0036: invoke-direct {v2, v1, v3}, Ljavax/crypto/spec/SecretKeySpec;.:([BLjava/lang/String;)V // method@069e │ │ +026322: 6902 3803 |0039: sput-object v2, Lutil/Encryption;.key:Ljavax/crypto/SecretKey; // field@0338 │ │ +026326: 7110 9b06 0000 |003b: invoke-static {v0}, Ljavax/crypto/Cipher;.getInstance:(Ljava/lang/String;)Ljavax/crypto/Cipher; // method@069b │ │ +02632c: 0c01 |003e: move-result-object v1 │ │ +02632e: 6901 3603 |003f: sput-object v1, Lutil/Encryption;.ecipher:Ljavax/crypto/Cipher; // field@0336 │ │ +026332: 6202 3803 |0041: sget-object v2, Lutil/Encryption;.key:Ljavax/crypto/SecretKey; // field@0338 │ │ +026336: 6203 3a03 |0043: sget-object v3, Lutil/Encryption;.paramSpec:Ljava/security/spec/AlgorithmParameterSpec; // field@033a │ │ +02633a: 1214 |0045: const/4 v4, #int 1 // #1 │ │ +02633c: 6e40 9c06 4132 |0046: invoke-virtual {v1, v4, v2, v3}, Ljavax/crypto/Cipher;.init:(ILjava/security/Key;Ljava/security/spec/AlgorithmParameterSpec;)V // method@069c │ │ +026342: 7110 9b06 0000 |0049: invoke-static {v0}, Ljavax/crypto/Cipher;.getInstance:(Ljava/lang/String;)Ljavax/crypto/Cipher; // method@069b │ │ +026348: 0c00 |004c: move-result-object v0 │ │ +02634a: 6900 3503 |004d: sput-object v0, Lutil/Encryption;.dcipher:Ljavax/crypto/Cipher; // field@0335 │ │ +02634e: 6201 3803 |004f: sget-object v1, Lutil/Encryption;.key:Ljavax/crypto/SecretKey; // field@0338 │ │ +026352: 6202 3a03 |0051: sget-object v2, Lutil/Encryption;.paramSpec:Ljava/security/spec/AlgorithmParameterSpec; // field@033a │ │ +026356: 1223 |0053: const/4 v3, #int 2 // #2 │ │ +026358: 6e40 9c06 3021 |0054: invoke-virtual {v0, v3, v1, v2}, Ljavax/crypto/Cipher;.init:(ILjava/security/Key;Ljava/security/spec/AlgorithmParameterSpec;)V // method@069c │ │ +02635e: 6905 3903 |0057: sput-object v5, Lutil/Encryption;.keyphrase:Ljava/lang/String; // field@0339 │ │ +026362: 6a04 3303 |0059: sput-boolean v4, Lutil/Encryption;.INITIALZED:Z // field@0333 │ │ +026366: 6205 3403 |005b: sget-object v5, Lutil/Encryption;.INIT_BYTES:[B // field@0334 │ │ +02636a: 7110 cb06 0500 |005d: invoke-static {v5}, Lutil/Encryption;.encrypt:([B)[B // method@06cb │ │ +026370: 0c05 |0060: move-result-object v5 │ │ +026372: 6905 3203 |0061: sput-object v5, Lutil/Encryption;.ENCR_INIT_BYTES:[B // field@0332 │ │ +026376: 0e00 |0063: return-void │ │ +026378: 0d05 |0064: move-exception v5 │ │ +02637a: 2200 0001 |0065: new-instance v0, Ljava/io/IOException; // type@0100 │ │ +02637e: 2201 2d01 |0067: new-instance v1, Ljava/lang/StringBuilder; // type@012d │ │ +026382: 1a02 7601 |0069: const-string v2, "Encryption can not be initialized:" // string@0176 │ │ +026386: 7020 aa05 2100 |006b: invoke-direct {v1, v2}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05aa │ │ +02638c: 6e10 5d05 0500 |006e: invoke-virtual {v5}, Ljava/lang/Exception;.getMessage:()Ljava/lang/String; // method@055d │ │ +026392: 0c05 |0071: move-result-object v5 │ │ +026394: 6e20 af05 5100 |0072: invoke-virtual {v1, v5}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +02639a: 6e10 b105 0100 |0075: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ +0263a0: 0c05 |0078: move-result-object v5 │ │ +0263a2: 7020 2105 5000 |0079: invoke-direct {v0, v5}, Ljava/io/IOException;.:(Ljava/lang/String;)V // method@0521 │ │ +0263a8: 2700 |007c: throw v0 │ │ catches : 1 │ │ 0x000d - 0x0063 │ │ Ljava/lang/Exception; -> 0x0064 │ │ positions : │ │ 0x0000 line=46 │ │ 0x000d line=50 │ │ 0x0013 line=51 │ │ @@ -27021,51 +27021,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 │ │ -026168: |[026168] util.Encryption.invertStr:(Ljava/lang/String;)Ljava/lang/String; │ │ -026178: 2200 2c01 |0000: new-instance v0, Ljava/lang/StringBuffer; // type@012c │ │ -02617c: 7010 a305 0000 |0002: invoke-direct {v0}, Ljava/lang/StringBuffer;.:()V // method@05a3 │ │ -026182: 1201 |0005: const/4 v1, #int 0 // #0 │ │ -026184: 6e10 9605 0500 |0006: invoke-virtual {v5}, Ljava/lang/String;.length:()I // method@0596 │ │ -02618a: 0a02 |0009: move-result v2 │ │ -02618c: 3521 3e00 |000a: if-ge v1, v2, 0048 // +003e │ │ -026190: 6e20 8905 1500 |000c: invoke-virtual {v5, v1}, Ljava/lang/String;.charAt:(I)C // method@0589 │ │ -026196: 0a02 |000f: move-result v2 │ │ -026198: 7110 5305 0200 |0010: invoke-static {v2}, Ljava/lang/Character;.isUpperCase:(C)Z // method@0553 │ │ -02619e: 0a03 |0013: move-result v3 │ │ -0261a0: 1a04 0000 |0014: const-string v4, "" // string@0000 │ │ -0261a4: 3803 1900 |0016: if-eqz v3, 002f // +0019 │ │ -0261a8: 2203 2d01 |0018: new-instance v3, Ljava/lang/StringBuilder; // type@012d │ │ -0261ac: 7010 a905 0300 |001a: invoke-direct {v3}, Ljava/lang/StringBuilder;.:()V // method@05a9 │ │ -0261b2: 6e20 ab05 2300 |001d: invoke-virtual {v3, v2}, Ljava/lang/StringBuilder;.append:(C)Ljava/lang/StringBuilder; // method@05ab │ │ -0261b8: 6e20 af05 4300 |0020: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -0261be: 6e10 b105 0300 |0023: invoke-virtual {v3}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ -0261c4: 0c02 |0026: move-result-object v2 │ │ -0261c6: 6e10 9e05 0200 |0027: invoke-virtual {v2}, Ljava/lang/String;.toLowerCase:()Ljava/lang/String; // method@059e │ │ -0261cc: 0c02 |002a: move-result-object v2 │ │ -0261ce: 6e20 a605 2000 |002b: invoke-virtual {v0, v2}, Ljava/lang/StringBuffer;.append:(Ljava/lang/String;)Ljava/lang/StringBuffer; // method@05a6 │ │ -0261d4: 2817 |002e: goto 0045 // +0017 │ │ -0261d6: 2203 2d01 |002f: new-instance v3, Ljava/lang/StringBuilder; // type@012d │ │ -0261da: 7010 a905 0300 |0031: invoke-direct {v3}, Ljava/lang/StringBuilder;.:()V // method@05a9 │ │ -0261e0: 6e20 ab05 2300 |0034: invoke-virtual {v3, v2}, Ljava/lang/StringBuilder;.append:(C)Ljava/lang/StringBuilder; // method@05ab │ │ -0261e6: 6e20 af05 4300 |0037: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -0261ec: 6e10 b105 0300 |003a: invoke-virtual {v3}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ -0261f2: 0c02 |003d: move-result-object v2 │ │ -0261f4: 6e10 a005 0200 |003e: invoke-virtual {v2}, Ljava/lang/String;.toUpperCase:()Ljava/lang/String; // method@05a0 │ │ -0261fa: 0c02 |0041: move-result-object v2 │ │ -0261fc: 6e20 a605 2000 |0042: invoke-virtual {v0, v2}, Ljava/lang/StringBuffer;.append:(Ljava/lang/String;)Ljava/lang/StringBuffer; // method@05a6 │ │ -026202: d801 0101 |0045: add-int/lit8 v1, v1, #int 1 // #01 │ │ -026206: 28bf |0047: goto 0006 // -0041 │ │ -026208: 6e10 a805 0000 |0048: invoke-virtual {v0}, Ljava/lang/StringBuffer;.toString:()Ljava/lang/String; // method@05a8 │ │ -02620e: 0c05 |004b: move-result-object v5 │ │ -026210: 1105 |004c: return-object v5 │ │ +026164: |[026164] util.Encryption.invertStr:(Ljava/lang/String;)Ljava/lang/String; │ │ +026174: 2200 2c01 |0000: new-instance v0, Ljava/lang/StringBuffer; // type@012c │ │ +026178: 7010 a305 0000 |0002: invoke-direct {v0}, Ljava/lang/StringBuffer;.:()V // method@05a3 │ │ +02617e: 1201 |0005: const/4 v1, #int 0 // #0 │ │ +026180: 6e10 9605 0500 |0006: invoke-virtual {v5}, Ljava/lang/String;.length:()I // method@0596 │ │ +026186: 0a02 |0009: move-result v2 │ │ +026188: 3521 3e00 |000a: if-ge v1, v2, 0048 // +003e │ │ +02618c: 6e20 8905 1500 |000c: invoke-virtual {v5, v1}, Ljava/lang/String;.charAt:(I)C // method@0589 │ │ +026192: 0a02 |000f: move-result v2 │ │ +026194: 7110 5305 0200 |0010: invoke-static {v2}, Ljava/lang/Character;.isUpperCase:(C)Z // method@0553 │ │ +02619a: 0a03 |0013: move-result v3 │ │ +02619c: 1a04 0000 |0014: const-string v4, "" // string@0000 │ │ +0261a0: 3803 1900 |0016: if-eqz v3, 002f // +0019 │ │ +0261a4: 2203 2d01 |0018: new-instance v3, Ljava/lang/StringBuilder; // type@012d │ │ +0261a8: 7010 a905 0300 |001a: invoke-direct {v3}, Ljava/lang/StringBuilder;.:()V // method@05a9 │ │ +0261ae: 6e20 ab05 2300 |001d: invoke-virtual {v3, v2}, Ljava/lang/StringBuilder;.append:(C)Ljava/lang/StringBuilder; // method@05ab │ │ +0261b4: 6e20 af05 4300 |0020: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +0261ba: 6e10 b105 0300 |0023: invoke-virtual {v3}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ +0261c0: 0c02 |0026: move-result-object v2 │ │ +0261c2: 6e10 9e05 0200 |0027: invoke-virtual {v2}, Ljava/lang/String;.toLowerCase:()Ljava/lang/String; // method@059e │ │ +0261c8: 0c02 |002a: move-result-object v2 │ │ +0261ca: 6e20 a605 2000 |002b: invoke-virtual {v0, v2}, Ljava/lang/StringBuffer;.append:(Ljava/lang/String;)Ljava/lang/StringBuffer; // method@05a6 │ │ +0261d0: 2817 |002e: goto 0045 // +0017 │ │ +0261d2: 2203 2d01 |002f: new-instance v3, Ljava/lang/StringBuilder; // type@012d │ │ +0261d6: 7010 a905 0300 |0031: invoke-direct {v3}, Ljava/lang/StringBuilder;.:()V // method@05a9 │ │ +0261dc: 6e20 ab05 2300 |0034: invoke-virtual {v3, v2}, Ljava/lang/StringBuilder;.append:(C)Ljava/lang/StringBuilder; // method@05ab │ │ +0261e2: 6e20 af05 4300 |0037: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +0261e8: 6e10 b105 0300 |003a: invoke-virtual {v3}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ +0261ee: 0c02 |003d: move-result-object v2 │ │ +0261f0: 6e10 a005 0200 |003e: invoke-virtual {v2}, Ljava/lang/String;.toUpperCase:()Ljava/lang/String; // method@05a0 │ │ +0261f6: 0c02 |0041: move-result-object v2 │ │ +0261f8: 6e20 a605 2000 |0042: invoke-virtual {v0, v2}, Ljava/lang/StringBuffer;.append:(Ljava/lang/String;)Ljava/lang/StringBuffer; // method@05a6 │ │ +0261fe: d801 0101 |0045: add-int/lit8 v1, v1, #int 1 // #01 │ │ +026202: 28bf |0047: goto 0006 // -0041 │ │ +026204: 6e10 a805 0000 |0048: invoke-virtual {v0}, Ljava/lang/StringBuffer;.toString:()Ljava/lang/String; // method@05a8 │ │ +02620a: 0c05 |004b: move-result-object v5 │ │ +02620c: 1105 |004c: return-object v5 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=32 │ │ 0x0006 line=33 │ │ 0x000c line=34 │ │ 0x0010 line=35 │ │ 0x0018 line=36 │ │ @@ -27241,36 +27241,36 @@ │ │ type : '(ILutil/ObjectPackagingManager;)V' │ │ access : 0x10001 (PUBLIC CONSTRUCTOR) │ │ code - │ │ registers : 5 │ │ ins : 3 │ │ outs : 1 │ │ insns size : 38 16-bit code units │ │ -02713c: |[02713c] util.HugePackedSet.:(ILutil/ObjectPackagingManager;)V │ │ -02714c: 7010 7505 0200 |0000: invoke-direct {v2}, Ljava/lang/Object;.:()V // method@0575 │ │ -027152: 1200 |0003: const/4 v0, #int 0 // #0 │ │ -027154: 5920 4c03 |0004: iput v0, v2, Lutil/HugePackedSet;.count:I // field@034c │ │ -027158: 1201 |0006: const/4 v1, #int 0 // #0 │ │ -02715a: 5b21 5003 |0007: iput-object v1, v2, Lutil/HugePackedSet;.slotSizes:[I // field@0350 │ │ -02715e: 5b21 5103 |0009: iput-object v1, v2, Lutil/HugePackedSet;.subsets:[Lutil/PackedSortedList; // field@0351 │ │ -027162: 5b21 4d03 |000b: iput-object v1, v2, Lutil/HugePackedSet;.loadedFromPath:Ljava/lang/String; // field@034d │ │ -027166: 5b24 4e03 |000d: iput-object v4, v2, Lutil/HugePackedSet;.objMgr:Lutil/ObjectPackagingManager; // field@034e │ │ -02716a: 5923 4f03 |000f: iput v3, v2, Lutil/HugePackedSet;.slotCount:I // field@034f │ │ -02716e: 2334 9e01 |0011: new-array v4, v3, [I // type@019e │ │ -027172: 5b24 5003 |0013: iput-object v4, v2, Lutil/HugePackedSet;.slotSizes:[I // field@0350 │ │ -027176: 2333 b501 |0015: new-array v3, v3, [Lutil/PackedSortedList; // type@01b5 │ │ -02717a: 5b23 5103 |0017: iput-object v3, v2, Lutil/HugePackedSet;.subsets:[Lutil/PackedSortedList; // field@0351 │ │ -02717e: 1203 |0019: const/4 v3, #int 0 // #0 │ │ -027180: 5224 4f03 |001a: iget v4, v2, Lutil/HugePackedSet;.slotCount:I // field@034f │ │ -027184: 3543 0900 |001c: if-ge v3, v4, 0025 // +0009 │ │ -027188: 5424 5003 |001e: iget-object v4, v2, Lutil/HugePackedSet;.slotSizes:[I // field@0350 │ │ -02718c: 4b00 0403 |0020: aput v0, v4, v3 │ │ -027190: d803 0301 |0022: add-int/lit8 v3, v3, #int 1 // #01 │ │ -027194: 28f6 |0024: goto 001a // -000a │ │ -027196: 0e00 |0025: return-void │ │ +027138: |[027138] util.HugePackedSet.:(ILutil/ObjectPackagingManager;)V │ │ +027148: 7010 7505 0200 |0000: invoke-direct {v2}, Ljava/lang/Object;.:()V // method@0575 │ │ +02714e: 1200 |0003: const/4 v0, #int 0 // #0 │ │ +027150: 5920 4c03 |0004: iput v0, v2, Lutil/HugePackedSet;.count:I // field@034c │ │ +027154: 1201 |0006: const/4 v1, #int 0 // #0 │ │ +027156: 5b21 5003 |0007: iput-object v1, v2, Lutil/HugePackedSet;.slotSizes:[I // field@0350 │ │ +02715a: 5b21 5103 |0009: iput-object v1, v2, Lutil/HugePackedSet;.subsets:[Lutil/PackedSortedList; // field@0351 │ │ +02715e: 5b21 4d03 |000b: iput-object v1, v2, Lutil/HugePackedSet;.loadedFromPath:Ljava/lang/String; // field@034d │ │ +027162: 5b24 4e03 |000d: iput-object v4, v2, Lutil/HugePackedSet;.objMgr:Lutil/ObjectPackagingManager; // field@034e │ │ +027166: 5923 4f03 |000f: iput v3, v2, Lutil/HugePackedSet;.slotCount:I // field@034f │ │ +02716a: 2334 9e01 |0011: new-array v4, v3, [I // type@019e │ │ +02716e: 5b24 5003 |0013: iput-object v4, v2, Lutil/HugePackedSet;.slotSizes:[I // field@0350 │ │ +027172: 2333 b501 |0015: new-array v3, v3, [Lutil/PackedSortedList; // type@01b5 │ │ +027176: 5b23 5103 |0017: iput-object v3, v2, Lutil/HugePackedSet;.subsets:[Lutil/PackedSortedList; // field@0351 │ │ +02717a: 1203 |0019: const/4 v3, #int 0 // #0 │ │ +02717c: 5224 4f03 |001a: iget v4, v2, Lutil/HugePackedSet;.slotCount:I // field@034f │ │ +027180: 3543 0900 |001c: if-ge v3, v4, 0025 // +0009 │ │ +027184: 5424 5003 |001e: iget-object v4, v2, Lutil/HugePackedSet;.slotSizes:[I // field@0350 │ │ +027188: 4b00 0403 |0020: aput v0, v4, v3 │ │ +02718c: d803 0301 |0022: add-int/lit8 v3, v3, #int 1 // #01 │ │ +027190: 28f6 |0024: goto 001a // -000a │ │ +027192: 0e00 |0025: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=48 │ │ 0x0004 line=40 │ │ 0x0007 line=42 │ │ 0x0009 line=44 │ │ 0x000b line=46 │ │ @@ -27290,24 +27290,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 │ │ -027198: |[027198] util.HugePackedSet.:(Ljava/lang/String;[Lutil/PackedSortedList;IILutil/ObjectPackagingManager;)V │ │ -0271a8: 7010 7505 0100 |0000: invoke-direct {v1}, Ljava/lang/Object;.:()V // method@0575 │ │ -0271ae: 1200 |0003: const/4 v0, #int 0 // #0 │ │ -0271b0: 5b10 5003 |0004: iput-object v0, v1, Lutil/HugePackedSet;.slotSizes:[I // field@0350 │ │ -0271b4: 5b12 4d03 |0006: iput-object v2, v1, Lutil/HugePackedSet;.loadedFromPath:Ljava/lang/String; // field@034d │ │ -0271b8: 5b16 4e03 |0008: iput-object v6, v1, Lutil/HugePackedSet;.objMgr:Lutil/ObjectPackagingManager; // field@034e │ │ -0271bc: 5914 4f03 |000a: iput v4, v1, Lutil/HugePackedSet;.slotCount:I // field@034f │ │ -0271c0: 5b13 5103 |000c: iput-object v3, v1, Lutil/HugePackedSet;.subsets:[Lutil/PackedSortedList; // field@0351 │ │ -0271c4: 5915 4c03 |000e: iput v5, v1, Lutil/HugePackedSet;.count:I // field@034c │ │ -0271c8: 0e00 |0010: return-void │ │ +027194: |[027194] util.HugePackedSet.:(Ljava/lang/String;[Lutil/PackedSortedList;IILutil/ObjectPackagingManager;)V │ │ +0271a4: 7010 7505 0100 |0000: invoke-direct {v1}, Ljava/lang/Object;.:()V // method@0575 │ │ +0271aa: 1200 |0003: const/4 v0, #int 0 // #0 │ │ +0271ac: 5b10 5003 |0004: iput-object v0, v1, Lutil/HugePackedSet;.slotSizes:[I // field@0350 │ │ +0271b0: 5b12 4d03 |0006: iput-object v2, v1, Lutil/HugePackedSet;.loadedFromPath:Ljava/lang/String; // field@034d │ │ +0271b4: 5b16 4e03 |0008: iput-object v6, v1, Lutil/HugePackedSet;.objMgr:Lutil/ObjectPackagingManager; // field@034e │ │ +0271b8: 5914 4f03 |000a: iput v4, v1, Lutil/HugePackedSet;.slotCount:I // field@034f │ │ +0271bc: 5b13 5103 |000c: iput-object v3, v1, Lutil/HugePackedSet;.subsets:[Lutil/PackedSortedList; // field@0351 │ │ +0271c0: 5915 4c03 |000e: iput v5, v1, Lutil/HugePackedSet;.count:I // field@034c │ │ +0271c4: 0e00 |0010: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=58 │ │ 0x0004 line=42 │ │ 0x0006 line=59 │ │ 0x0008 line=60 │ │ 0x000a line=61 │ │ @@ -27326,48 +27326,48 @@ │ │ type : '(Ljava/lang/String;)Z' │ │ access : 0x0009 (PUBLIC STATIC) │ │ code - │ │ registers : 5 │ │ ins : 1 │ │ outs : 4 │ │ insns size : 73 16-bit code units │ │ -026e64: |[026e64] util.HugePackedSet.checkIndexVersion:(Ljava/lang/String;)Z │ │ -026e74: 2200 fb00 |0000: new-instance v0, Ljava/io/File; // type@00fb │ │ -026e78: 2201 2d01 |0002: new-instance v1, Ljava/lang/StringBuilder; // type@012d │ │ -026e7c: 7010 a905 0100 |0004: invoke-direct {v1}, Ljava/lang/StringBuilder;.:()V // method@05a9 │ │ -026e82: 6e20 af05 4100 |0007: invoke-virtual {v1, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -026e88: 1a02 6100 |000a: const-string v2, "/IDX_VERSION" // string@0061 │ │ -026e8c: 6e20 af05 2100 |000c: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -026e92: 6e10 b105 0100 |000f: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ -026e98: 0c01 |0012: move-result-object v1 │ │ -026e9a: 7020 0105 1000 |0013: invoke-direct {v0, v1}, Ljava/io/File;.:(Ljava/lang/String;)V // method@0501 │ │ -026ea0: 6e10 0705 0000 |0016: invoke-virtual {v0}, Ljava/io/File;.exists:()Z // method@0507 │ │ -026ea6: 0a00 |0019: move-result v0 │ │ -026ea8: 1201 |001a: const/4 v1, #int 0 // #0 │ │ -026eaa: 3800 2d00 |001b: if-eqz v0, 0048 // +002d │ │ -026eae: 2200 fd00 |001d: new-instance v0, Ljava/io/FileInputStream; // type@00fd │ │ -026eb2: 2203 2d01 |001f: new-instance v3, Ljava/lang/StringBuilder; // type@012d │ │ -026eb6: 7010 a905 0300 |0021: invoke-direct {v3}, Ljava/lang/StringBuilder;.:()V // method@05a9 │ │ -026ebc: 6e20 af05 4300 |0024: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -026ec2: 6e20 af05 2300 |0027: invoke-virtual {v3, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -026ec8: 6e10 b105 0300 |002a: invoke-virtual {v3}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ -026ece: 0c04 |002d: move-result-object v4 │ │ -026ed0: 7020 1505 4000 |002e: invoke-direct {v0, v4}, Ljava/io/FileInputStream;.:(Ljava/lang/String;)V // method@0515 │ │ -026ed6: 1304 0a00 |0031: const/16 v4, #int 10 // #a │ │ -026eda: 2344 9d01 |0033: new-array v4, v4, [B // type@019d │ │ -026ede: 6e20 1705 4000 |0035: invoke-virtual {v0, v4}, Ljava/io/FileInputStream;.read:([B)I // method@0517 │ │ -026ee4: 0a02 |0038: move-result v2 │ │ -026ee6: 6e10 1605 0000 |0039: invoke-virtual {v0}, Ljava/io/FileInputStream;.close:()V // method@0516 │ │ -026eec: 2200 2b01 |003c: new-instance v0, Ljava/lang/String; // type@012b │ │ -026ef0: 7040 8805 4021 |003e: invoke-direct {v0, v4, v1, v2}, Ljava/lang/String;.:([BII)V // method@0588 │ │ -026ef6: 1a04 6c00 |0041: const-string v4, "1.0" // string@006c │ │ -026efa: 6e20 8d05 4000 |0043: invoke-virtual {v0, v4}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058d │ │ -026f00: 0a04 |0046: move-result v4 │ │ -026f02: 0f04 |0047: return v4 │ │ -026f04: 0f01 |0048: return v1 │ │ +026e60: |[026e60] util.HugePackedSet.checkIndexVersion:(Ljava/lang/String;)Z │ │ +026e70: 2200 fb00 |0000: new-instance v0, Ljava/io/File; // type@00fb │ │ +026e74: 2201 2d01 |0002: new-instance v1, Ljava/lang/StringBuilder; // type@012d │ │ +026e78: 7010 a905 0100 |0004: invoke-direct {v1}, Ljava/lang/StringBuilder;.:()V // method@05a9 │ │ +026e7e: 6e20 af05 4100 |0007: invoke-virtual {v1, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +026e84: 1a02 6100 |000a: const-string v2, "/IDX_VERSION" // string@0061 │ │ +026e88: 6e20 af05 2100 |000c: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +026e8e: 6e10 b105 0100 |000f: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ +026e94: 0c01 |0012: move-result-object v1 │ │ +026e96: 7020 0105 1000 |0013: invoke-direct {v0, v1}, Ljava/io/File;.:(Ljava/lang/String;)V // method@0501 │ │ +026e9c: 6e10 0705 0000 |0016: invoke-virtual {v0}, Ljava/io/File;.exists:()Z // method@0507 │ │ +026ea2: 0a00 |0019: move-result v0 │ │ +026ea4: 1201 |001a: const/4 v1, #int 0 // #0 │ │ +026ea6: 3800 2d00 |001b: if-eqz v0, 0048 // +002d │ │ +026eaa: 2200 fd00 |001d: new-instance v0, Ljava/io/FileInputStream; // type@00fd │ │ +026eae: 2203 2d01 |001f: new-instance v3, Ljava/lang/StringBuilder; // type@012d │ │ +026eb2: 7010 a905 0300 |0021: invoke-direct {v3}, Ljava/lang/StringBuilder;.:()V // method@05a9 │ │ +026eb8: 6e20 af05 4300 |0024: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +026ebe: 6e20 af05 2300 |0027: invoke-virtual {v3, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +026ec4: 6e10 b105 0300 |002a: invoke-virtual {v3}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ +026eca: 0c04 |002d: move-result-object v4 │ │ +026ecc: 7020 1505 4000 |002e: invoke-direct {v0, v4}, Ljava/io/FileInputStream;.:(Ljava/lang/String;)V // method@0515 │ │ +026ed2: 1304 0a00 |0031: const/16 v4, #int 10 // #a │ │ +026ed6: 2344 9d01 |0033: new-array v4, v4, [B // type@019d │ │ +026eda: 6e20 1705 4000 |0035: invoke-virtual {v0, v4}, Ljava/io/FileInputStream;.read:([B)I // method@0517 │ │ +026ee0: 0a02 |0038: move-result v2 │ │ +026ee2: 6e10 1605 0000 |0039: invoke-virtual {v0}, Ljava/io/FileInputStream;.close:()V // method@0516 │ │ +026ee8: 2200 2b01 |003c: new-instance v0, Ljava/lang/String; // type@012b │ │ +026eec: 7040 8805 4021 |003e: invoke-direct {v0, v4, v1, v2}, Ljava/lang/String;.:([BII)V // method@0588 │ │ +026ef2: 1a04 6c00 |0041: const-string v4, "1.0" // string@006c │ │ +026ef6: 6e20 8d05 4000 |0043: invoke-virtual {v0, v4}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058d │ │ +026efc: 0a04 |0046: move-result v4 │ │ +026efe: 0f04 |0047: return v4 │ │ +026f00: 0f01 |0048: return v1 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=206 │ │ 0x0016 line=207 │ │ 0x001d line=208 │ │ 0x0033 line=209 │ │ 0x0035 line=210 │ │ @@ -27381,67 +27381,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 │ │ -027064: |[027064] util.HugePackedSet.load:(Ljava/lang/String;ZLutil/ObjectPackagingManager;)Lutil/HugePackedSet; │ │ -027074: 7110 0207 0700 |0000: invoke-static {v7}, Lutil/HugePackedSet;.checkIndexVersion:(Ljava/lang/String;)Z // method@0702 │ │ -02707a: 0a00 |0003: move-result v0 │ │ -02707c: 3800 5600 |0004: if-eqz v0, 005a // +0056 │ │ -027080: 1200 |0006: const/4 v0, #int 0 // #0 │ │ -027082: 1204 |0007: const/4 v4, #int 0 // #0 │ │ -027084: 2201 fb00 |0008: new-instance v1, Ljava/io/File; // type@00fb │ │ -027088: 2202 2d01 |000a: new-instance v2, Ljava/lang/StringBuilder; // type@012d │ │ -02708c: 7010 a905 0200 |000c: invoke-direct {v2}, Ljava/lang/StringBuilder;.:()V // method@05a9 │ │ -027092: 6e20 af05 7200 |000f: invoke-virtual {v2, v7}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -027098: 1a03 6800 |0012: const-string v3, "/idx" // string@0068 │ │ -02709c: 6e20 af05 3200 |0014: invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -0270a2: 6e20 ac05 4200 |0017: invoke-virtual {v2, v4}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@05ac │ │ -0270a8: 6e10 b105 0200 |001a: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ -0270ae: 0c02 |001d: move-result-object v2 │ │ -0270b0: 7020 0105 2100 |001e: invoke-direct {v1, v2}, Ljava/io/File;.:(Ljava/lang/String;)V // method@0501 │ │ -0270b6: 6e10 0705 0100 |0021: invoke-virtual {v1}, Ljava/io/File;.exists:()Z // method@0507 │ │ -0270bc: 0a01 |0024: move-result v1 │ │ -0270be: 3801 0500 |0025: if-eqz v1, 002a // +0005 │ │ -0270c2: d804 0401 |0027: add-int/lit8 v4, v4, #int 1 // #01 │ │ -0270c6: 28df |0029: goto 0008 // -0021 │ │ -0270c8: 2345 b501 |002a: new-array v5, v4, [Lutil/PackedSortedList; // type@01b5 │ │ -0270cc: 1206 |002c: const/4 v6, #int 0 // #0 │ │ -0270ce: 3540 2200 |002d: if-ge v0, v4, 004f // +0022 │ │ -0270d2: 2201 2d01 |002f: new-instance v1, Ljava/lang/StringBuilder; // type@012d │ │ -0270d6: 7010 a905 0100 |0031: invoke-direct {v1}, Ljava/lang/StringBuilder;.:()V // method@05a9 │ │ -0270dc: 6e20 af05 7100 |0034: invoke-virtual {v1, v7}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -0270e2: 6e20 af05 3100 |0037: invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -0270e8: 6e20 ac05 0100 |003a: invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@05ac │ │ -0270ee: 6e10 b105 0100 |003d: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ -0270f4: 0c01 |0040: move-result-object v1 │ │ -0270f6: 7130 4c07 8109 |0041: invoke-static {v1, v8, v9}, Lutil/PackedSortedList;.load:(Ljava/lang/String;ZLutil/ObjectPackagingManager;)Lutil/PackedSortedList; // method@074c │ │ -0270fc: 0c01 |0044: move-result-object v1 │ │ -0270fe: 4d01 0500 |0045: aput-object v1, v5, v0 │ │ -027102: 6e10 5507 0100 |0047: invoke-virtual {v1}, Lutil/PackedSortedList;.size:()I // method@0755 │ │ -027108: 0a01 |004a: move-result v1 │ │ -02710a: b016 |004b: add-int/2addr v6, v1 │ │ -02710c: d800 0001 |004c: add-int/lit8 v0, v0, #int 1 // #01 │ │ -027110: 28df |004e: goto 002d // -0021 │ │ -027112: 2208 8301 |004f: new-instance v8, Lutil/HugePackedSet; // type@0183 │ │ -027116: 0781 |0051: move-object v1, v8 │ │ -027118: 0772 |0052: move-object v2, v7 │ │ -02711a: 0753 |0053: move-object v3, v5 │ │ -02711c: 0165 |0054: move v5, v6 │ │ -02711e: 0796 |0055: move-object v6, v9 │ │ -027120: 7606 ff06 0100 |0056: invoke-direct/range {v1, v2, v3, v4, v5, v6}, Lutil/HugePackedSet;.:(Ljava/lang/String;[Lutil/PackedSortedList;IILutil/ObjectPackagingManager;)V // method@06ff │ │ -027126: 1108 |0059: return-object v8 │ │ -027128: 2207 0001 |005a: new-instance v7, Ljava/io/IOException; // type@0100 │ │ -02712c: 1a08 e301 |005c: const-string v8, "Incompatible index version - Rebuild Index!" // string@01e3 │ │ -027130: 7020 2105 8700 |005e: invoke-direct {v7, v8}, Ljava/io/IOException;.:(Ljava/lang/String;)V // method@0521 │ │ -027136: 2802 |0061: goto 0063 // +0002 │ │ -027138: 2707 |0062: throw v7 │ │ -02713a: 28ff |0063: goto 0062 // -0001 │ │ +027060: |[027060] util.HugePackedSet.load:(Ljava/lang/String;ZLutil/ObjectPackagingManager;)Lutil/HugePackedSet; │ │ +027070: 7110 0207 0700 |0000: invoke-static {v7}, Lutil/HugePackedSet;.checkIndexVersion:(Ljava/lang/String;)Z // method@0702 │ │ +027076: 0a00 |0003: move-result v0 │ │ +027078: 3800 5600 |0004: if-eqz v0, 005a // +0056 │ │ +02707c: 1200 |0006: const/4 v0, #int 0 // #0 │ │ +02707e: 1204 |0007: const/4 v4, #int 0 // #0 │ │ +027080: 2201 fb00 |0008: new-instance v1, Ljava/io/File; // type@00fb │ │ +027084: 2202 2d01 |000a: new-instance v2, Ljava/lang/StringBuilder; // type@012d │ │ +027088: 7010 a905 0200 |000c: invoke-direct {v2}, Ljava/lang/StringBuilder;.:()V // method@05a9 │ │ +02708e: 6e20 af05 7200 |000f: invoke-virtual {v2, v7}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +027094: 1a03 6800 |0012: const-string v3, "/idx" // string@0068 │ │ +027098: 6e20 af05 3200 |0014: invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +02709e: 6e20 ac05 4200 |0017: invoke-virtual {v2, v4}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@05ac │ │ +0270a4: 6e10 b105 0200 |001a: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ +0270aa: 0c02 |001d: move-result-object v2 │ │ +0270ac: 7020 0105 2100 |001e: invoke-direct {v1, v2}, Ljava/io/File;.:(Ljava/lang/String;)V // method@0501 │ │ +0270b2: 6e10 0705 0100 |0021: invoke-virtual {v1}, Ljava/io/File;.exists:()Z // method@0507 │ │ +0270b8: 0a01 |0024: move-result v1 │ │ +0270ba: 3801 0500 |0025: if-eqz v1, 002a // +0005 │ │ +0270be: d804 0401 |0027: add-int/lit8 v4, v4, #int 1 // #01 │ │ +0270c2: 28df |0029: goto 0008 // -0021 │ │ +0270c4: 2345 b501 |002a: new-array v5, v4, [Lutil/PackedSortedList; // type@01b5 │ │ +0270c8: 1206 |002c: const/4 v6, #int 0 // #0 │ │ +0270ca: 3540 2200 |002d: if-ge v0, v4, 004f // +0022 │ │ +0270ce: 2201 2d01 |002f: new-instance v1, Ljava/lang/StringBuilder; // type@012d │ │ +0270d2: 7010 a905 0100 |0031: invoke-direct {v1}, Ljava/lang/StringBuilder;.:()V // method@05a9 │ │ +0270d8: 6e20 af05 7100 |0034: invoke-virtual {v1, v7}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +0270de: 6e20 af05 3100 |0037: invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +0270e4: 6e20 ac05 0100 |003a: invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@05ac │ │ +0270ea: 6e10 b105 0100 |003d: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ +0270f0: 0c01 |0040: move-result-object v1 │ │ +0270f2: 7130 4c07 8109 |0041: invoke-static {v1, v8, v9}, Lutil/PackedSortedList;.load:(Ljava/lang/String;ZLutil/ObjectPackagingManager;)Lutil/PackedSortedList; // method@074c │ │ +0270f8: 0c01 |0044: move-result-object v1 │ │ +0270fa: 4d01 0500 |0045: aput-object v1, v5, v0 │ │ +0270fe: 6e10 5507 0100 |0047: invoke-virtual {v1}, Lutil/PackedSortedList;.size:()I // method@0755 │ │ +027104: 0a01 |004a: move-result v1 │ │ +027106: b016 |004b: add-int/2addr v6, v1 │ │ +027108: d800 0001 |004c: add-int/lit8 v0, v0, #int 1 // #01 │ │ +02710c: 28df |004e: goto 002d // -0021 │ │ +02710e: 2208 8301 |004f: new-instance v8, Lutil/HugePackedSet; // type@0183 │ │ +027112: 0781 |0051: move-object v1, v8 │ │ +027114: 0772 |0052: move-object v2, v7 │ │ +027116: 0753 |0053: move-object v3, v5 │ │ +027118: 0165 |0054: move v5, v6 │ │ +02711a: 0796 |0055: move-object v6, v9 │ │ +02711c: 7606 ff06 0100 |0056: invoke-direct/range {v1, v2, v3, v4, v5, v6}, Lutil/HugePackedSet;.:(Ljava/lang/String;[Lutil/PackedSortedList;IILutil/ObjectPackagingManager;)V // method@06ff │ │ +027122: 1108 |0059: return-object v8 │ │ +027124: 2207 0001 |005a: new-instance v7, Ljava/io/IOException; // type@0100 │ │ +027128: 1a08 e301 |005c: const-string v8, "Incompatible index version - Rebuild Index!" // string@01e3 │ │ +02712c: 7020 2105 8700 |005e: invoke-direct {v7, v8}, Ljava/io/IOException;.:(Ljava/lang/String;)V // method@0521 │ │ +027132: 2802 |0061: goto 0063 // +0002 │ │ +027134: 2707 |0062: throw v7 │ │ +027136: 28ff |0063: goto 0062 // -0001 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=219 │ │ 0x0008 line=225 │ │ 0x002a line=228 │ │ 0x002f line=230 │ │ 0x0047 line=231 │ │ @@ -27458,30 +27458,30 @@ │ │ type : '(Ljava/lang/Object;)Z' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 5 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 28 16-bit code units │ │ -026dfc: |[026dfc] util.HugePackedSet.add:(Ljava/lang/Object;)Z │ │ -026e0c: 5430 5103 |0000: iget-object v0, v3, Lutil/HugePackedSet;.subsets:[Lutil/PackedSortedList; // field@0351 │ │ -026e10: 6e10 7805 0400 |0002: invoke-virtual {v4}, Ljava/lang/Object;.hashCode:()I // method@0578 │ │ -026e16: 0a01 |0005: move-result v1 │ │ -026e18: 5232 4f03 |0006: iget v2, v3, Lutil/HugePackedSet;.slotCount:I // field@034f │ │ -026e1c: b421 |0008: rem-int/2addr v1, v2 │ │ -026e1e: 7110 7005 0100 |0009: invoke-static {v1}, Ljava/lang/Math;.abs:(I)I // method@0570 │ │ -026e24: 0a01 |000c: move-result v1 │ │ -026e26: 4600 0001 |000d: aget-object v0, v0, v1 │ │ -026e2a: 6e20 3c07 4000 |000f: invoke-virtual {v0, v4}, Lutil/PackedSortedList;.add:(Ljava/lang/Object;)Z // method@073c │ │ -026e30: 0a04 |0012: move-result v4 │ │ -026e32: 3804 0800 |0013: if-eqz v4, 001b // +0008 │ │ -026e36: 5230 4c03 |0015: iget v0, v3, Lutil/HugePackedSet;.count:I // field@034c │ │ -026e3a: d800 0001 |0017: add-int/lit8 v0, v0, #int 1 // #01 │ │ -026e3e: 5930 4c03 |0019: iput v0, v3, Lutil/HugePackedSet;.count:I // field@034c │ │ -026e42: 0f04 |001b: return v4 │ │ +026df8: |[026df8] util.HugePackedSet.add:(Ljava/lang/Object;)Z │ │ +026e08: 5430 5103 |0000: iget-object v0, v3, Lutil/HugePackedSet;.subsets:[Lutil/PackedSortedList; // field@0351 │ │ +026e0c: 6e10 7805 0400 |0002: invoke-virtual {v4}, Ljava/lang/Object;.hashCode:()I // method@0578 │ │ +026e12: 0a01 |0005: move-result v1 │ │ +026e14: 5232 4f03 |0006: iget v2, v3, Lutil/HugePackedSet;.slotCount:I // field@034f │ │ +026e18: b421 |0008: rem-int/2addr v1, v2 │ │ +026e1a: 7110 7005 0100 |0009: invoke-static {v1}, Ljava/lang/Math;.abs:(I)I // method@0570 │ │ +026e20: 0a01 |000c: move-result v1 │ │ +026e22: 4600 0001 |000d: aget-object v0, v0, v1 │ │ +026e26: 6e20 3c07 4000 |000f: invoke-virtual {v0, v4}, Lutil/PackedSortedList;.add:(Ljava/lang/Object;)Z // method@073c │ │ +026e2c: 0a04 |0012: move-result v4 │ │ +026e2e: 3804 0800 |0013: if-eqz v4, 001b // +0008 │ │ +026e32: 5230 4c03 |0015: iget v0, v3, Lutil/HugePackedSet;.count:I // field@034c │ │ +026e36: d800 0001 |0017: add-int/lit8 v0, v0, #int 1 // #01 │ │ +026e3a: 5930 4c03 |0019: iput v0, v3, Lutil/HugePackedSet;.count:I // field@034c │ │ +026e3e: 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; │ │ @@ -27491,19 +27491,19 @@ │ │ type : '(Ljava/util/Collection;)Z' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 3 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 8 16-bit code units │ │ -026e44: |[026e44] util.HugePackedSet.addAll:(Ljava/util/Collection;)Z │ │ -026e54: 2202 3101 |0000: new-instance v2, Ljava/lang/UnsupportedOperationException; // type@0131 │ │ -026e58: 1a00 f303 |0002: const-string v0, "Not implemented yet" // string@03f3 │ │ -026e5c: 7020 be05 0200 |0004: invoke-direct {v2, v0}, Ljava/lang/UnsupportedOperationException;.:(Ljava/lang/String;)V // method@05be │ │ -026e62: 2702 |0007: throw v2 │ │ +026e40: |[026e40] util.HugePackedSet.addAll:(Ljava/util/Collection;)Z │ │ +026e50: 2202 3101 |0000: new-instance v2, Ljava/lang/UnsupportedOperationException; // type@0131 │ │ +026e54: 1a00 f303 |0002: const-string v0, "Not implemented yet" // string@03f3 │ │ +026e58: 7020 be05 0200 |0004: invoke-direct {v2, v0}, Ljava/lang/UnsupportedOperationException;.:(Ljava/lang/String;)V // method@05be │ │ +026e5e: 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; │ │ │ │ @@ -27512,30 +27512,30 @@ │ │ type : '()V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 4 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 27 16-bit code units │ │ -0271cc: |[0271cc] util.HugePackedSet.clear:()V │ │ -0271dc: 5230 4f03 |0000: iget v0, v3, Lutil/HugePackedSet;.slotCount:I // field@034f │ │ -0271e0: 2300 9e01 |0002: new-array v0, v0, [I // type@019e │ │ -0271e4: 5b30 5003 |0004: iput-object v0, v3, Lutil/HugePackedSet;.slotSizes:[I // field@0350 │ │ -0271e8: 1200 |0006: const/4 v0, #int 0 // #0 │ │ -0271ea: 1201 |0007: const/4 v1, #int 0 // #0 │ │ -0271ec: 5232 4f03 |0008: iget v2, v3, Lutil/HugePackedSet;.slotCount:I // field@034f │ │ -0271f0: 3521 1000 |000a: if-ge v1, v2, 001a // +0010 │ │ -0271f4: 5432 5103 |000c: iget-object v2, v3, Lutil/HugePackedSet;.subsets:[Lutil/PackedSortedList; // field@0351 │ │ -0271f8: 4602 0201 |000e: aget-object v2, v2, v1 │ │ -0271fc: 6e10 4207 0200 |0010: invoke-virtual {v2}, Lutil/PackedSortedList;.clearAndReleaseAllMemory:()V // method@0742 │ │ -027202: 5432 5003 |0013: iget-object v2, v3, Lutil/HugePackedSet;.slotSizes:[I // field@0350 │ │ -027206: 4b00 0201 |0015: aput v0, v2, v1 │ │ -02720a: d801 0101 |0017: add-int/lit8 v1, v1, #int 1 // #01 │ │ -02720e: 28ef |0019: goto 0008 // -0011 │ │ -027210: 0e00 |001a: return-void │ │ +0271c8: |[0271c8] util.HugePackedSet.clear:()V │ │ +0271d8: 5230 4f03 |0000: iget v0, v3, Lutil/HugePackedSet;.slotCount:I // field@034f │ │ +0271dc: 2300 9e01 |0002: new-array v0, v0, [I // type@019e │ │ +0271e0: 5b30 5003 |0004: iput-object v0, v3, Lutil/HugePackedSet;.slotSizes:[I // field@0350 │ │ +0271e4: 1200 |0006: const/4 v0, #int 0 // #0 │ │ +0271e6: 1201 |0007: const/4 v1, #int 0 // #0 │ │ +0271e8: 5232 4f03 |0008: iget v2, v3, Lutil/HugePackedSet;.slotCount:I // field@034f │ │ +0271ec: 3521 1000 |000a: if-ge v1, v2, 001a // +0010 │ │ +0271f0: 5432 5103 |000c: iget-object v2, v3, Lutil/HugePackedSet;.subsets:[Lutil/PackedSortedList; // field@0351 │ │ +0271f4: 4602 0201 |000e: aget-object v2, v2, v1 │ │ +0271f8: 6e10 4207 0200 |0010: invoke-virtual {v2}, Lutil/PackedSortedList;.clearAndReleaseAllMemory:()V // method@0742 │ │ +0271fe: 5432 5003 |0013: iget-object v2, v3, Lutil/HugePackedSet;.slotSizes:[I // field@0350 │ │ +027202: 4b00 0201 |0015: aput v0, v2, v1 │ │ +027206: d801 0101 |0017: add-int/lit8 v1, v1, #int 1 // #01 │ │ +02720a: 28ef |0019: goto 0008 // -0011 │ │ +02720c: 0e00 |001a: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=102 │ │ 0x0008 line=103 │ │ 0x000c line=104 │ │ 0x0013 line=105 │ │ locals : │ │ @@ -27546,30 +27546,30 @@ │ │ type : '(Ljava/lang/Object;)Z' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 5 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 26 16-bit code units │ │ -026f08: |[026f08] util.HugePackedSet.contains:(Ljava/lang/Object;)Z │ │ -026f18: 5230 4c03 |0000: iget v0, v3, Lutil/HugePackedSet;.count:I // field@034c │ │ -026f1c: 3900 0400 |0002: if-nez v0, 0006 // +0004 │ │ -026f20: 1204 |0004: const/4 v4, #int 0 // #0 │ │ -026f22: 0f04 |0005: return v4 │ │ -026f24: 5430 5103 |0006: iget-object v0, v3, Lutil/HugePackedSet;.subsets:[Lutil/PackedSortedList; // field@0351 │ │ -026f28: 6e10 7805 0400 |0008: invoke-virtual {v4}, Ljava/lang/Object;.hashCode:()I // method@0578 │ │ -026f2e: 0a01 |000b: move-result v1 │ │ -026f30: 5232 4f03 |000c: iget v2, v3, Lutil/HugePackedSet;.slotCount:I // field@034f │ │ -026f34: b421 |000e: rem-int/2addr v1, v2 │ │ -026f36: 7110 7005 0100 |000f: invoke-static {v1}, Ljava/lang/Math;.abs:(I)I // method@0570 │ │ -026f3c: 0a01 |0012: move-result v1 │ │ -026f3e: 4600 0001 |0013: aget-object v0, v0, v1 │ │ -026f42: 6e20 4307 4000 |0015: invoke-virtual {v0, v4}, Lutil/PackedSortedList;.contains:(Ljava/lang/Object;)Z // method@0743 │ │ -026f48: 0a04 |0018: move-result v4 │ │ -026f4a: 0f04 |0019: return v4 │ │ +026f04: |[026f04] util.HugePackedSet.contains:(Ljava/lang/Object;)Z │ │ +026f14: 5230 4c03 |0000: iget v0, v3, Lutil/HugePackedSet;.count:I // field@034c │ │ +026f18: 3900 0400 |0002: if-nez v0, 0006 // +0004 │ │ +026f1c: 1204 |0004: const/4 v4, #int 0 // #0 │ │ +026f1e: 0f04 |0005: return v4 │ │ +026f20: 5430 5103 |0006: iget-object v0, v3, Lutil/HugePackedSet;.subsets:[Lutil/PackedSortedList; // field@0351 │ │ +026f24: 6e10 7805 0400 |0008: invoke-virtual {v4}, Ljava/lang/Object;.hashCode:()I // method@0578 │ │ +026f2a: 0a01 |000b: move-result v1 │ │ +026f2c: 5232 4f03 |000c: iget v2, v3, Lutil/HugePackedSet;.slotCount:I // field@034f │ │ +026f30: b421 |000e: rem-int/2addr v1, v2 │ │ +026f32: 7110 7005 0100 |000f: invoke-static {v1}, Ljava/lang/Math;.abs:(I)I // method@0570 │ │ +026f38: 0a01 |0012: move-result v1 │ │ +026f3a: 4600 0001 |0013: aget-object v0, v0, v1 │ │ +026f3e: 6e20 4307 4000 |0015: invoke-virtual {v0, v4}, Lutil/PackedSortedList;.contains:(Ljava/lang/Object;)Z // method@0743 │ │ +026f44: 0a04 |0018: move-result v4 │ │ +026f46: 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; │ │ @@ -27579,19 +27579,19 @@ │ │ type : '(Ljava/util/Collection;)Z' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 3 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 8 16-bit code units │ │ -026f4c: |[026f4c] util.HugePackedSet.containsAll:(Ljava/util/Collection;)Z │ │ -026f5c: 2202 3101 |0000: new-instance v2, Ljava/lang/UnsupportedOperationException; // type@0131 │ │ -026f60: 1a00 f303 |0002: const-string v0, "Not implemented yet" // string@03f3 │ │ -026f64: 7020 be05 0200 |0004: invoke-direct {v2, v0}, Ljava/lang/UnsupportedOperationException;.:(Ljava/lang/String;)V // method@05be │ │ -026f6a: 2702 |0007: throw v2 │ │ +026f48: |[026f48] util.HugePackedSet.containsAll:(Ljava/util/Collection;)Z │ │ +026f58: 2202 3101 |0000: new-instance v2, Ljava/lang/UnsupportedOperationException; // type@0131 │ │ +026f5c: 1a00 f303 |0002: const-string v0, "Not implemented yet" // string@03f3 │ │ +026f60: 7020 be05 0200 |0004: invoke-direct {v2, v0}, Ljava/lang/UnsupportedOperationException;.:(Ljava/lang/String;)V // method@05be │ │ +026f66: 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; │ │ │ │ @@ -27600,30 +27600,30 @@ │ │ type : '()V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 6 │ │ ins : 1 │ │ outs : 3 │ │ insns size : 27 16-bit code units │ │ -027214: |[027214] util.HugePackedSet.finalPrepare:()V │ │ -027224: 1200 |0000: const/4 v0, #int 0 // #0 │ │ -027226: 5251 4f03 |0001: iget v1, v5, Lutil/HugePackedSet;.slotCount:I // field@034f │ │ -02722a: 3510 1400 |0003: if-ge v0, v1, 0017 // +0014 │ │ -02722e: 5451 5103 |0005: iget-object v1, v5, Lutil/HugePackedSet;.subsets:[Lutil/PackedSortedList; // field@0351 │ │ -027232: 2202 8801 |0007: new-instance v2, Lutil/PackedSortedList; // type@0188 │ │ -027236: 5453 5003 |0009: iget-object v3, v5, Lutil/HugePackedSet;.slotSizes:[I // field@0350 │ │ -02723a: 4403 0300 |000b: aget v3, v3, v0 │ │ -02723e: 5454 4e03 |000d: iget-object v4, v5, Lutil/HugePackedSet;.objMgr:Lutil/ObjectPackagingManager; // field@034e │ │ -027242: 7030 3807 3204 |000f: invoke-direct {v2, v3, v4}, Lutil/PackedSortedList;.:(ILutil/ObjectPackagingManager;)V // method@0738 │ │ -027248: 4d02 0100 |0012: aput-object v2, v1, v0 │ │ -02724c: d800 0001 |0014: add-int/lit8 v0, v0, #int 1 // #01 │ │ -027250: 28eb |0016: goto 0001 // -0015 │ │ -027252: 1200 |0017: const/4 v0, #int 0 // #0 │ │ -027254: 5b50 5003 |0018: iput-object v0, v5, Lutil/HugePackedSet;.slotSizes:[I // field@0350 │ │ -027258: 0e00 |001a: return-void │ │ +027210: |[027210] util.HugePackedSet.finalPrepare:()V │ │ +027220: 1200 |0000: const/4 v0, #int 0 // #0 │ │ +027222: 5251 4f03 |0001: iget v1, v5, Lutil/HugePackedSet;.slotCount:I // field@034f │ │ +027226: 3510 1400 |0003: if-ge v0, v1, 0017 // +0014 │ │ +02722a: 5451 5103 |0005: iget-object v1, v5, Lutil/HugePackedSet;.subsets:[Lutil/PackedSortedList; // field@0351 │ │ +02722e: 2202 8801 |0007: new-instance v2, Lutil/PackedSortedList; // type@0188 │ │ +027232: 5453 5003 |0009: iget-object v3, v5, Lutil/HugePackedSet;.slotSizes:[I // field@0350 │ │ +027236: 4403 0300 |000b: aget v3, v3, v0 │ │ +02723a: 5454 4e03 |000d: iget-object v4, v5, Lutil/HugePackedSet;.objMgr:Lutil/ObjectPackagingManager; // field@034e │ │ +02723e: 7030 3807 3204 |000f: invoke-direct {v2, v3, v4}, Lutil/PackedSortedList;.:(ILutil/ObjectPackagingManager;)V // method@0738 │ │ +027244: 4d02 0100 |0012: aput-object v2, v1, v0 │ │ +027248: d800 0001 |0014: add-int/lit8 v0, v0, #int 1 // #01 │ │ +02724c: 28eb |0016: goto 0001 // -0015 │ │ +02724e: 1200 |0017: const/4 v0, #int 0 // #0 │ │ +027250: 5b50 5003 |0018: iput-object v0, v5, Lutil/HugePackedSet;.slotSizes:[I // field@0350 │ │ +027254: 0e00 |001a: return-void │ │ catches : (none) │ │ positions : │ │ 0x0001 line=74 │ │ 0x0005 line=75 │ │ 0x0018 line=77 │ │ locals : │ │ 0x0000 - 0x001b reg=5 this Lutil/HugePackedSet; │ │ @@ -27633,35 +27633,35 @@ │ │ type : '(I)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 6 │ │ ins : 2 │ │ outs : 3 │ │ insns size : 38 16-bit code units │ │ -02725c: |[02725c] util.HugePackedSet.finalPrepare:(I)V │ │ -02726c: 8350 |0000: int-to-double v0, v5 │ │ -02726e: 1802 3333 3333 3333 f33f |0001: const-wide v2, #double 1.2 // #3ff3333333333333 │ │ -027278: 7120 5805 1000 |0006: invoke-static {v0, v1}, Ljava/lang/Double;.isNaN:(D)Z // method@0558 │ │ -02727e: ad00 0002 |0009: mul-double v0, v0, v2 │ │ -027282: 8a05 |000b: double-to-int v5, v0 │ │ -027284: 5240 4f03 |000c: iget v0, v4, Lutil/HugePackedSet;.slotCount:I // field@034f │ │ -027288: b305 |000e: div-int/2addr v5, v0 │ │ -02728a: 1200 |000f: const/4 v0, #int 0 // #0 │ │ -02728c: 5241 4f03 |0010: iget v1, v4, Lutil/HugePackedSet;.slotCount:I // field@034f │ │ -027290: 3510 1000 |0012: if-ge v0, v1, 0022 // +0010 │ │ -027294: 5441 5103 |0014: iget-object v1, v4, Lutil/HugePackedSet;.subsets:[Lutil/PackedSortedList; // field@0351 │ │ -027298: 2202 8801 |0016: new-instance v2, Lutil/PackedSortedList; // type@0188 │ │ -02729c: 5443 4e03 |0018: iget-object v3, v4, Lutil/HugePackedSet;.objMgr:Lutil/ObjectPackagingManager; // field@034e │ │ -0272a0: 7030 3807 5203 |001a: invoke-direct {v2, v5, v3}, Lutil/PackedSortedList;.:(ILutil/ObjectPackagingManager;)V // method@0738 │ │ -0272a6: 4d02 0100 |001d: aput-object v2, v1, v0 │ │ -0272aa: d800 0001 |001f: add-int/lit8 v0, v0, #int 1 // #01 │ │ -0272ae: 28ef |0021: goto 0010 // -0011 │ │ -0272b0: 1205 |0022: const/4 v5, #int 0 // #0 │ │ -0272b2: 5b45 5003 |0023: iput-object v5, v4, Lutil/HugePackedSet;.slotSizes:[I // field@0350 │ │ -0272b6: 0e00 |0025: return-void │ │ +027258: |[027258] util.HugePackedSet.finalPrepare:(I)V │ │ +027268: 8350 |0000: int-to-double v0, v5 │ │ +02726a: 1802 3333 3333 3333 f33f |0001: const-wide v2, #double 1.2 // #3ff3333333333333 │ │ +027274: 7120 5805 1000 |0006: invoke-static {v0, v1}, Ljava/lang/Double;.isNaN:(D)Z // method@0558 │ │ +02727a: ad00 0002 |0009: mul-double v0, v0, v2 │ │ +02727e: 8a05 |000b: double-to-int v5, v0 │ │ +027280: 5240 4f03 |000c: iget v0, v4, Lutil/HugePackedSet;.slotCount:I // field@034f │ │ +027284: b305 |000e: div-int/2addr v5, v0 │ │ +027286: 1200 |000f: const/4 v0, #int 0 // #0 │ │ +027288: 5241 4f03 |0010: iget v1, v4, Lutil/HugePackedSet;.slotCount:I // field@034f │ │ +02728c: 3510 1000 |0012: if-ge v0, v1, 0022 // +0010 │ │ +027290: 5441 5103 |0014: iget-object v1, v4, Lutil/HugePackedSet;.subsets:[Lutil/PackedSortedList; // field@0351 │ │ +027294: 2202 8801 |0016: new-instance v2, Lutil/PackedSortedList; // type@0188 │ │ +027298: 5443 4e03 |0018: iget-object v3, v4, Lutil/HugePackedSet;.objMgr:Lutil/ObjectPackagingManager; // field@034e │ │ +02729c: 7030 3807 5203 |001a: invoke-direct {v2, v5, v3}, Lutil/PackedSortedList;.:(ILutil/ObjectPackagingManager;)V // method@0738 │ │ +0272a2: 4d02 0100 |001d: aput-object v2, v1, v0 │ │ +0272a6: d800 0001 |001f: add-int/lit8 v0, v0, #int 1 // #01 │ │ +0272aa: 28ef |0021: goto 0010 // -0011 │ │ +0272ac: 1205 |0022: const/4 v5, #int 0 // #0 │ │ +0272ae: 5b45 5003 |0023: iput-object v5, v4, Lutil/HugePackedSet;.slotSizes:[I // field@0350 │ │ +0272b2: 0e00 |0025: return-void │ │ catches : (none) │ │ positions : │ │ 0x0006 line=81 │ │ 0x0010 line=82 │ │ 0x0014 line=83 │ │ 0x0023 line=85 │ │ locals : │ │ @@ -27673,21 +27673,21 @@ │ │ type : '()Z' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 0 │ │ insns size : 8 16-bit code units │ │ -026f6c: |[026f6c] util.HugePackedSet.isEmpty:()Z │ │ -026f7c: 5210 4c03 |0000: iget v0, v1, Lutil/HugePackedSet;.count:I // field@034c │ │ -026f80: 3900 0400 |0002: if-nez v0, 0006 // +0004 │ │ -026f84: 1210 |0004: const/4 v0, #int 1 // #1 │ │ -026f86: 2802 |0005: goto 0007 // +0002 │ │ -026f88: 1200 |0006: const/4 v0, #int 0 // #0 │ │ -026f8a: 0f00 |0007: return v0 │ │ +026f68: |[026f68] util.HugePackedSet.isEmpty:()Z │ │ +026f78: 5210 4c03 |0000: iget v0, v1, Lutil/HugePackedSet;.count:I // field@034c │ │ +026f7c: 3900 0400 |0002: if-nez v0, 0006 // +0004 │ │ +026f80: 1210 |0004: const/4 v0, #int 1 // #1 │ │ +026f82: 2802 |0005: goto 0007 // +0002 │ │ +026f84: 1200 |0006: const/4 v0, #int 0 // #0 │ │ +026f86: 0f00 |0007: return v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=123 │ │ locals : │ │ 0x0000 - 0x0008 reg=1 this Lutil/HugePackedSet; │ │ │ │ #8 : (in Lutil/HugePackedSet;) │ │ @@ -27695,19 +27695,19 @@ │ │ type : '()Ljava/util/Iterator;' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 3 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 8 16-bit code units │ │ -027044: |[027044] util.HugePackedSet.iterator:()Ljava/util/Iterator; │ │ -027054: 2200 3101 |0000: new-instance v0, Ljava/lang/UnsupportedOperationException; // type@0131 │ │ -027058: 1a01 f303 |0002: const-string v1, "Not implemented yet" // string@03f3 │ │ -02705c: 7020 be05 1000 |0004: invoke-direct {v0, v1}, Ljava/lang/UnsupportedOperationException;.:(Ljava/lang/String;)V // method@05be │ │ -027062: 2700 |0007: throw v0 │ │ +027040: |[027040] util.HugePackedSet.iterator:()Ljava/util/Iterator; │ │ +027050: 2200 3101 |0000: new-instance v0, Ljava/lang/UnsupportedOperationException; // type@0131 │ │ +027054: 1a01 f303 |0002: const-string v1, "Not implemented yet" // string@03f3 │ │ +027058: 7020 be05 1000 |0004: invoke-direct {v0, v1}, Ljava/lang/UnsupportedOperationException;.:(Ljava/lang/String;)V // method@05be │ │ +02705e: 2700 |0007: throw v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=128 │ │ locals : │ │ 0x0000 - 0x0008 reg=2 this Lutil/HugePackedSet; │ │ │ │ #9 : (in Lutil/HugePackedSet;) │ │ @@ -27715,93 +27715,93 @@ │ │ type : '(Ljava/lang/String;)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 9 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 173 16-bit code units │ │ -0272b8: |[0272b8] util.HugePackedSet.persist:(Ljava/lang/String;)V │ │ -0272c8: 2200 fb00 |0000: new-instance v0, Ljava/io/File; // type@00fb │ │ -0272cc: 2201 2d01 |0002: new-instance v1, Ljava/lang/StringBuilder; // type@012d │ │ -0272d0: 7010 a905 0100 |0004: invoke-direct {v1}, Ljava/lang/StringBuilder;.:()V // method@05a9 │ │ -0272d6: 6e20 af05 8100 |0007: invoke-virtual {v1, v8}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -0272dc: 1a02 5e00 |000a: const-string v2, ".tmp" // string@005e │ │ -0272e0: 6e20 af05 2100 |000c: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -0272e6: 6e10 b105 0100 |000f: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ -0272ec: 0c01 |0012: move-result-object v1 │ │ -0272ee: 7020 0105 1000 |0013: invoke-direct {v0, v1}, Ljava/io/File;.:(Ljava/lang/String;)V // method@0501 │ │ -0272f4: 1201 |0016: const/4 v1, #int 0 // #0 │ │ -0272f6: 1203 |0017: const/4 v3, #int 0 // #0 │ │ -0272f8: 1224 |0018: const/4 v4, #int 2 // #2 │ │ -0272fa: 3543 2300 |0019: if-ge v3, v4, 003c // +0023 │ │ -0272fe: 6e10 0705 0000 |001b: invoke-virtual {v0}, Ljava/io/File;.exists:()Z // method@0507 │ │ -027304: 0a04 |001e: move-result v4 │ │ -027306: 3804 1500 |001f: if-eqz v4, 0034 // +0015 │ │ -02730a: 6e10 0f05 0000 |0021: invoke-virtual {v0}, Ljava/io/File;.listFiles:()[Ljava/io/File; // method@050f │ │ -027310: 0c04 |0024: move-result-object v4 │ │ -027312: 1205 |0025: const/4 v5, #int 0 // #0 │ │ -027314: 2146 |0026: array-length v6, v4 │ │ -027316: 3565 0a00 |0027: if-ge v5, v6, 0031 // +000a │ │ -02731a: 4606 0405 |0029: aget-object v6, v4, v5 │ │ -02731e: 6e10 0505 0600 |002b: invoke-virtual {v6}, Ljava/io/File;.delete:()Z // method@0505 │ │ -027324: d805 0501 |002e: add-int/lit8 v5, v5, #int 1 // #01 │ │ -027328: 28f6 |0030: goto 0026 // -000a │ │ -02732a: 6e10 0505 0000 |0031: invoke-virtual {v0}, Ljava/io/File;.delete:()Z // method@0505 │ │ -027330: 2200 fb00 |0034: new-instance v0, Ljava/io/File; // type@00fb │ │ -027334: 7020 0105 8000 |0036: invoke-direct {v0, v8}, Ljava/io/File;.:(Ljava/lang/String;)V // method@0501 │ │ -02733a: d803 0301 |0039: add-int/lit8 v3, v3, #int 1 // #01 │ │ -02733e: 28dd |003b: goto 0018 // -0023 │ │ -027340: 2200 fb00 |003c: new-instance v0, Ljava/io/File; // type@00fb │ │ -027344: 2203 2d01 |003e: new-instance v3, Ljava/lang/StringBuilder; // type@012d │ │ -027348: 7010 a905 0300 |0040: invoke-direct {v3}, Ljava/lang/StringBuilder;.:()V // method@05a9 │ │ -02734e: 6e20 af05 8300 |0043: invoke-virtual {v3, v8}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -027354: 6e20 af05 2300 |0046: invoke-virtual {v3, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -02735a: 6e10 b105 0300 |0049: invoke-virtual {v3}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ -027360: 0c02 |004c: move-result-object v2 │ │ -027362: 7020 0105 2000 |004d: invoke-direct {v0, v2}, Ljava/io/File;.:(Ljava/lang/String;)V // method@0501 │ │ -027368: 6e10 1005 0000 |0050: invoke-virtual {v0}, Ljava/io/File;.mkdir:()Z // method@0510 │ │ -02736e: 2202 ff00 |0053: new-instance v2, Ljava/io/FileOutputStream; // type@00ff │ │ -027372: 2203 2d01 |0055: new-instance v3, Ljava/lang/StringBuilder; // type@012d │ │ -027376: 7010 a905 0300 |0057: invoke-direct {v3}, Ljava/lang/StringBuilder;.:()V // method@05a9 │ │ -02737c: 6e10 0805 0000 |005a: invoke-virtual {v0}, Ljava/io/File;.getAbsolutePath:()Ljava/lang/String; // method@0508 │ │ -027382: 0c04 |005d: move-result-object v4 │ │ -027384: 6e20 af05 4300 |005e: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -02738a: 1a04 6100 |0061: const-string v4, "/IDX_VERSION" // string@0061 │ │ -02738e: 6e20 af05 4300 |0063: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -027394: 6e10 b105 0300 |0066: invoke-virtual {v3}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ -02739a: 0c03 |0069: move-result-object v3 │ │ -02739c: 7020 1c05 3200 |006a: invoke-direct {v2, v3}, Ljava/io/FileOutputStream;.:(Ljava/lang/String;)V // method@051c │ │ -0273a2: 1a03 6c00 |006d: const-string v3, "1.0" // string@006c │ │ -0273a6: 6e10 8f05 0300 |006f: invoke-virtual {v3}, Ljava/lang/String;.getBytes:()[B // method@058f │ │ -0273ac: 0c03 |0072: move-result-object v3 │ │ -0273ae: 6e20 1f05 3200 |0073: invoke-virtual {v2, v3}, Ljava/io/FileOutputStream;.write:([B)V // method@051f │ │ -0273b4: 6e10 1e05 0200 |0076: invoke-virtual {v2}, Ljava/io/FileOutputStream;.flush:()V // method@051e │ │ -0273ba: 6e10 1d05 0200 |0079: invoke-virtual {v2}, Ljava/io/FileOutputStream;.close:()V // method@051d │ │ -0273c0: 5272 4f03 |007c: iget v2, v7, Lutil/HugePackedSet;.slotCount:I // field@034f │ │ -0273c4: 3521 2400 |007e: if-ge v1, v2, 00a2 // +0024 │ │ -0273c8: 5472 5103 |0080: iget-object v2, v7, Lutil/HugePackedSet;.subsets:[Lutil/PackedSortedList; // field@0351 │ │ -0273cc: 4602 0201 |0082: aget-object v2, v2, v1 │ │ -0273d0: 2203 2d01 |0084: new-instance v3, Ljava/lang/StringBuilder; // type@012d │ │ -0273d4: 7010 a905 0300 |0086: invoke-direct {v3}, Ljava/lang/StringBuilder;.:()V // method@05a9 │ │ -0273da: 6e10 0805 0000 |0089: invoke-virtual {v0}, Ljava/io/File;.getAbsolutePath:()Ljava/lang/String; // method@0508 │ │ -0273e0: 0c04 |008c: move-result-object v4 │ │ -0273e2: 6e20 af05 4300 |008d: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -0273e8: 1a04 6800 |0090: const-string v4, "/idx" // string@0068 │ │ -0273ec: 6e20 af05 4300 |0092: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -0273f2: 6e20 ac05 1300 |0095: invoke-virtual {v3, v1}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@05ac │ │ -0273f8: 6e10 b105 0300 |0098: invoke-virtual {v3}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ -0273fe: 0c03 |009b: move-result-object v3 │ │ -027400: 6e20 4e07 3200 |009c: invoke-virtual {v2, v3}, Lutil/PackedSortedList;.persist:(Ljava/lang/String;)V // method@074e │ │ -027406: d801 0101 |009f: add-int/lit8 v1, v1, #int 1 // #01 │ │ -02740a: 28db |00a1: goto 007c // -0025 │ │ -02740c: 2201 fb00 |00a2: new-instance v1, Ljava/io/File; // type@00fb │ │ -027410: 7020 0105 8100 |00a4: invoke-direct {v1, v8}, Ljava/io/File;.:(Ljava/lang/String;)V // method@0501 │ │ -027416: 6e20 1205 1000 |00a7: invoke-virtual {v0, v1}, Ljava/io/File;.renameTo:(Ljava/io/File;)Z // method@0512 │ │ -02741c: 5b78 4d03 |00aa: iput-object v8, v7, Lutil/HugePackedSet;.loadedFromPath:Ljava/lang/String; // field@034d │ │ -027420: 0e00 |00ac: return-void │ │ +0272b4: |[0272b4] util.HugePackedSet.persist:(Ljava/lang/String;)V │ │ +0272c4: 2200 fb00 |0000: new-instance v0, Ljava/io/File; // type@00fb │ │ +0272c8: 2201 2d01 |0002: new-instance v1, Ljava/lang/StringBuilder; // type@012d │ │ +0272cc: 7010 a905 0100 |0004: invoke-direct {v1}, Ljava/lang/StringBuilder;.:()V // method@05a9 │ │ +0272d2: 6e20 af05 8100 |0007: invoke-virtual {v1, v8}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +0272d8: 1a02 5e00 |000a: const-string v2, ".tmp" // string@005e │ │ +0272dc: 6e20 af05 2100 |000c: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +0272e2: 6e10 b105 0100 |000f: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ +0272e8: 0c01 |0012: move-result-object v1 │ │ +0272ea: 7020 0105 1000 |0013: invoke-direct {v0, v1}, Ljava/io/File;.:(Ljava/lang/String;)V // method@0501 │ │ +0272f0: 1201 |0016: const/4 v1, #int 0 // #0 │ │ +0272f2: 1203 |0017: const/4 v3, #int 0 // #0 │ │ +0272f4: 1224 |0018: const/4 v4, #int 2 // #2 │ │ +0272f6: 3543 2300 |0019: if-ge v3, v4, 003c // +0023 │ │ +0272fa: 6e10 0705 0000 |001b: invoke-virtual {v0}, Ljava/io/File;.exists:()Z // method@0507 │ │ +027300: 0a04 |001e: move-result v4 │ │ +027302: 3804 1500 |001f: if-eqz v4, 0034 // +0015 │ │ +027306: 6e10 0f05 0000 |0021: invoke-virtual {v0}, Ljava/io/File;.listFiles:()[Ljava/io/File; // method@050f │ │ +02730c: 0c04 |0024: move-result-object v4 │ │ +02730e: 1205 |0025: const/4 v5, #int 0 // #0 │ │ +027310: 2146 |0026: array-length v6, v4 │ │ +027312: 3565 0a00 |0027: if-ge v5, v6, 0031 // +000a │ │ +027316: 4606 0405 |0029: aget-object v6, v4, v5 │ │ +02731a: 6e10 0505 0600 |002b: invoke-virtual {v6}, Ljava/io/File;.delete:()Z // method@0505 │ │ +027320: d805 0501 |002e: add-int/lit8 v5, v5, #int 1 // #01 │ │ +027324: 28f6 |0030: goto 0026 // -000a │ │ +027326: 6e10 0505 0000 |0031: invoke-virtual {v0}, Ljava/io/File;.delete:()Z // method@0505 │ │ +02732c: 2200 fb00 |0034: new-instance v0, Ljava/io/File; // type@00fb │ │ +027330: 7020 0105 8000 |0036: invoke-direct {v0, v8}, Ljava/io/File;.:(Ljava/lang/String;)V // method@0501 │ │ +027336: d803 0301 |0039: add-int/lit8 v3, v3, #int 1 // #01 │ │ +02733a: 28dd |003b: goto 0018 // -0023 │ │ +02733c: 2200 fb00 |003c: new-instance v0, Ljava/io/File; // type@00fb │ │ +027340: 2203 2d01 |003e: new-instance v3, Ljava/lang/StringBuilder; // type@012d │ │ +027344: 7010 a905 0300 |0040: invoke-direct {v3}, Ljava/lang/StringBuilder;.:()V // method@05a9 │ │ +02734a: 6e20 af05 8300 |0043: invoke-virtual {v3, v8}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +027350: 6e20 af05 2300 |0046: invoke-virtual {v3, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +027356: 6e10 b105 0300 |0049: invoke-virtual {v3}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ +02735c: 0c02 |004c: move-result-object v2 │ │ +02735e: 7020 0105 2000 |004d: invoke-direct {v0, v2}, Ljava/io/File;.:(Ljava/lang/String;)V // method@0501 │ │ +027364: 6e10 1005 0000 |0050: invoke-virtual {v0}, Ljava/io/File;.mkdir:()Z // method@0510 │ │ +02736a: 2202 ff00 |0053: new-instance v2, Ljava/io/FileOutputStream; // type@00ff │ │ +02736e: 2203 2d01 |0055: new-instance v3, Ljava/lang/StringBuilder; // type@012d │ │ +027372: 7010 a905 0300 |0057: invoke-direct {v3}, Ljava/lang/StringBuilder;.:()V // method@05a9 │ │ +027378: 6e10 0805 0000 |005a: invoke-virtual {v0}, Ljava/io/File;.getAbsolutePath:()Ljava/lang/String; // method@0508 │ │ +02737e: 0c04 |005d: move-result-object v4 │ │ +027380: 6e20 af05 4300 |005e: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +027386: 1a04 6100 |0061: const-string v4, "/IDX_VERSION" // string@0061 │ │ +02738a: 6e20 af05 4300 |0063: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +027390: 6e10 b105 0300 |0066: invoke-virtual {v3}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ +027396: 0c03 |0069: move-result-object v3 │ │ +027398: 7020 1c05 3200 |006a: invoke-direct {v2, v3}, Ljava/io/FileOutputStream;.:(Ljava/lang/String;)V // method@051c │ │ +02739e: 1a03 6c00 |006d: const-string v3, "1.0" // string@006c │ │ +0273a2: 6e10 8f05 0300 |006f: invoke-virtual {v3}, Ljava/lang/String;.getBytes:()[B // method@058f │ │ +0273a8: 0c03 |0072: move-result-object v3 │ │ +0273aa: 6e20 1f05 3200 |0073: invoke-virtual {v2, v3}, Ljava/io/FileOutputStream;.write:([B)V // method@051f │ │ +0273b0: 6e10 1e05 0200 |0076: invoke-virtual {v2}, Ljava/io/FileOutputStream;.flush:()V // method@051e │ │ +0273b6: 6e10 1d05 0200 |0079: invoke-virtual {v2}, Ljava/io/FileOutputStream;.close:()V // method@051d │ │ +0273bc: 5272 4f03 |007c: iget v2, v7, Lutil/HugePackedSet;.slotCount:I // field@034f │ │ +0273c0: 3521 2400 |007e: if-ge v1, v2, 00a2 // +0024 │ │ +0273c4: 5472 5103 |0080: iget-object v2, v7, Lutil/HugePackedSet;.subsets:[Lutil/PackedSortedList; // field@0351 │ │ +0273c8: 4602 0201 |0082: aget-object v2, v2, v1 │ │ +0273cc: 2203 2d01 |0084: new-instance v3, Ljava/lang/StringBuilder; // type@012d │ │ +0273d0: 7010 a905 0300 |0086: invoke-direct {v3}, Ljava/lang/StringBuilder;.:()V // method@05a9 │ │ +0273d6: 6e10 0805 0000 |0089: invoke-virtual {v0}, Ljava/io/File;.getAbsolutePath:()Ljava/lang/String; // method@0508 │ │ +0273dc: 0c04 |008c: move-result-object v4 │ │ +0273de: 6e20 af05 4300 |008d: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +0273e4: 1a04 6800 |0090: const-string v4, "/idx" // string@0068 │ │ +0273e8: 6e20 af05 4300 |0092: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +0273ee: 6e20 ac05 1300 |0095: invoke-virtual {v3, v1}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@05ac │ │ +0273f4: 6e10 b105 0300 |0098: invoke-virtual {v3}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ +0273fa: 0c03 |009b: move-result-object v3 │ │ +0273fc: 6e20 4e07 3200 |009c: invoke-virtual {v2, v3}, Lutil/PackedSortedList;.persist:(Ljava/lang/String;)V // method@074e │ │ +027402: d801 0101 |009f: add-int/lit8 v1, v1, #int 1 // #01 │ │ +027406: 28db |00a1: goto 007c // -0025 │ │ +027408: 2201 fb00 |00a2: new-instance v1, Ljava/io/File; // type@00fb │ │ +02740c: 7020 0105 8100 |00a4: invoke-direct {v1, v8}, Ljava/io/File;.:(Ljava/lang/String;)V // method@0501 │ │ +027412: 6e20 1205 1000 |00a7: invoke-virtual {v0, v1}, Ljava/io/File;.renameTo:(Ljava/io/File;)Z // method@0512 │ │ +027418: 5b78 4d03 |00aa: iput-object v8, v7, Lutil/HugePackedSet;.loadedFromPath:Ljava/lang/String; // field@034d │ │ +02741c: 0e00 |00ac: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=164 │ │ 0x001b line=166 │ │ 0x0021 line=167 │ │ 0x0026 line=168 │ │ 0x0029 line=169 │ │ @@ -27827,26 +27827,26 @@ │ │ type : '(Ljava/lang/Object;)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 4 │ │ ins : 2 │ │ outs : 1 │ │ insns size : 20 16-bit code units │ │ -027424: |[027424] util.HugePackedSet.prepareInsert:(Ljava/lang/Object;)V │ │ -027434: 5420 5003 |0000: iget-object v0, v2, Lutil/HugePackedSet;.slotSizes:[I // field@0350 │ │ -027438: 6e10 7805 0300 |0002: invoke-virtual {v3}, Ljava/lang/Object;.hashCode:()I // method@0578 │ │ -02743e: 0a03 |0005: move-result v3 │ │ -027440: 5221 4f03 |0006: iget v1, v2, Lutil/HugePackedSet;.slotCount:I // field@034f │ │ -027444: b413 |0008: rem-int/2addr v3, v1 │ │ -027446: 7110 7005 0300 |0009: invoke-static {v3}, Ljava/lang/Math;.abs:(I)I // method@0570 │ │ -02744c: 0a03 |000c: move-result v3 │ │ -02744e: 4401 0003 |000d: aget v1, v0, v3 │ │ -027452: d801 0101 |000f: add-int/lit8 v1, v1, #int 1 // #01 │ │ -027456: 4b01 0003 |0011: aput v1, v0, v3 │ │ -02745a: 0e00 |0013: return-void │ │ +027420: |[027420] util.HugePackedSet.prepareInsert:(Ljava/lang/Object;)V │ │ +027430: 5420 5003 |0000: iget-object v0, v2, Lutil/HugePackedSet;.slotSizes:[I // field@0350 │ │ +027434: 6e10 7805 0300 |0002: invoke-virtual {v3}, Ljava/lang/Object;.hashCode:()I // method@0578 │ │ +02743a: 0a03 |0005: move-result v3 │ │ +02743c: 5221 4f03 |0006: iget v1, v2, Lutil/HugePackedSet;.slotCount:I // field@034f │ │ +027440: b413 |0008: rem-int/2addr v3, v1 │ │ +027442: 7110 7005 0300 |0009: invoke-static {v3}, Ljava/lang/Math;.abs:(I)I // method@0570 │ │ +027448: 0a03 |000c: move-result v3 │ │ +02744a: 4401 0003 |000d: aget v1, v0, v3 │ │ +02744e: d801 0101 |000f: add-int/lit8 v1, v1, #int 1 // #01 │ │ +027452: 4b01 0003 |0011: aput v1, v0, v3 │ │ +027456: 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; │ │ │ │ @@ -27855,19 +27855,19 @@ │ │ type : '(Ljava/lang/Object;)Z' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 3 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 8 16-bit code units │ │ -026f8c: |[026f8c] util.HugePackedSet.remove:(Ljava/lang/Object;)Z │ │ -026f9c: 2202 3101 |0000: new-instance v2, Ljava/lang/UnsupportedOperationException; // type@0131 │ │ -026fa0: 1a00 f303 |0002: const-string v0, "Not implemented yet" // string@03f3 │ │ -026fa4: 7020 be05 0200 |0004: invoke-direct {v2, v0}, Ljava/lang/UnsupportedOperationException;.:(Ljava/lang/String;)V // method@05be │ │ -026faa: 2702 |0007: throw v2 │ │ +026f88: |[026f88] util.HugePackedSet.remove:(Ljava/lang/Object;)Z │ │ +026f98: 2202 3101 |0000: new-instance v2, Ljava/lang/UnsupportedOperationException; // type@0131 │ │ +026f9c: 1a00 f303 |0002: const-string v0, "Not implemented yet" // string@03f3 │ │ +026fa0: 7020 be05 0200 |0004: invoke-direct {v2, v0}, Ljava/lang/UnsupportedOperationException;.:(Ljava/lang/String;)V // method@05be │ │ +026fa6: 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; │ │ │ │ @@ -27876,19 +27876,19 @@ │ │ type : '(Ljava/util/Collection;)Z' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 3 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 8 16-bit code units │ │ -026fac: |[026fac] util.HugePackedSet.removeAll:(Ljava/util/Collection;)Z │ │ -026fbc: 2202 3101 |0000: new-instance v2, Ljava/lang/UnsupportedOperationException; // type@0131 │ │ -026fc0: 1a00 f303 |0002: const-string v0, "Not implemented yet" // string@03f3 │ │ -026fc4: 7020 be05 0200 |0004: invoke-direct {v2, v0}, Ljava/lang/UnsupportedOperationException;.:(Ljava/lang/String;)V // method@05be │ │ -026fca: 2702 |0007: throw v2 │ │ +026fa8: |[026fa8] util.HugePackedSet.removeAll:(Ljava/util/Collection;)Z │ │ +026fb8: 2202 3101 |0000: new-instance v2, Ljava/lang/UnsupportedOperationException; // type@0131 │ │ +026fbc: 1a00 f303 |0002: const-string v0, "Not implemented yet" // string@03f3 │ │ +026fc0: 7020 be05 0200 |0004: invoke-direct {v2, v0}, Ljava/lang/UnsupportedOperationException;.:(Ljava/lang/String;)V // method@05be │ │ +026fc6: 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; │ │ │ │ @@ -27897,19 +27897,19 @@ │ │ type : '(Ljava/util/Collection;)Z' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 3 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 8 16-bit code units │ │ -026fcc: |[026fcc] util.HugePackedSet.retainAll:(Ljava/util/Collection;)Z │ │ -026fdc: 2202 3101 |0000: new-instance v2, Ljava/lang/UnsupportedOperationException; // type@0131 │ │ -026fe0: 1a00 f303 |0002: const-string v0, "Not implemented yet" // string@03f3 │ │ -026fe4: 7020 be05 0200 |0004: invoke-direct {v2, v0}, Ljava/lang/UnsupportedOperationException;.:(Ljava/lang/String;)V // method@05be │ │ -026fea: 2702 |0007: throw v2 │ │ +026fc8: |[026fc8] util.HugePackedSet.retainAll:(Ljava/util/Collection;)Z │ │ +026fd8: 2202 3101 |0000: new-instance v2, Ljava/lang/UnsupportedOperationException; // type@0131 │ │ +026fdc: 1a00 f303 |0002: const-string v0, "Not implemented yet" // string@03f3 │ │ +026fe0: 7020 be05 0200 |0004: invoke-direct {v2, v0}, Ljava/lang/UnsupportedOperationException;.:(Ljava/lang/String;)V // method@05be │ │ +026fe6: 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; │ │ │ │ @@ -27918,17 +27918,17 @@ │ │ type : '()I' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 0 │ │ insns size : 3 16-bit code units │ │ -026fec: |[026fec] util.HugePackedSet.size:()I │ │ -026ffc: 5210 4c03 |0000: iget v0, v1, Lutil/HugePackedSet;.count:I // field@034c │ │ -027000: 0f00 |0002: return v0 │ │ +026fe8: |[026fe8] util.HugePackedSet.size:()I │ │ +026ff8: 5210 4c03 |0000: iget v0, v1, Lutil/HugePackedSet;.count:I // field@034c │ │ +026ffc: 0f00 |0002: return v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=148 │ │ locals : │ │ 0x0000 - 0x0003 reg=1 this Lutil/HugePackedSet; │ │ │ │ #15 : (in Lutil/HugePackedSet;) │ │ @@ -27936,19 +27936,19 @@ │ │ type : '()[Ljava/lang/Object;' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 3 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 8 16-bit code units │ │ -027004: |[027004] util.HugePackedSet.toArray:()[Ljava/lang/Object; │ │ -027014: 2200 3101 |0000: new-instance v0, Ljava/lang/UnsupportedOperationException; // type@0131 │ │ -027018: 1a01 f603 |0002: const-string v1, "Not supported!" // string@03f6 │ │ -02701c: 7020 be05 1000 |0004: invoke-direct {v0, v1}, Ljava/lang/UnsupportedOperationException;.:(Ljava/lang/String;)V // method@05be │ │ -027022: 2700 |0007: throw v0 │ │ +027000: |[027000] util.HugePackedSet.toArray:()[Ljava/lang/Object; │ │ +027010: 2200 3101 |0000: new-instance v0, Ljava/lang/UnsupportedOperationException; // type@0131 │ │ +027014: 1a01 f603 |0002: const-string v1, "Not supported!" // string@03f6 │ │ +027018: 7020 be05 1000 |0004: invoke-direct {v0, v1}, Ljava/lang/UnsupportedOperationException;.:(Ljava/lang/String;)V // method@05be │ │ +02701e: 2700 |0007: throw v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=153 │ │ locals : │ │ 0x0000 - 0x0008 reg=2 this Lutil/HugePackedSet; │ │ │ │ #16 : (in Lutil/HugePackedSet;) │ │ @@ -27956,19 +27956,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 │ │ -027024: |[027024] util.HugePackedSet.toArray:([Ljava/lang/Object;)[Ljava/lang/Object; │ │ -027034: 2202 3101 |0000: new-instance v2, Ljava/lang/UnsupportedOperationException; // type@0131 │ │ -027038: 1a00 f603 |0002: const-string v0, "Not supported!" // string@03f6 │ │ -02703c: 7020 be05 0200 |0004: invoke-direct {v2, v0}, Ljava/lang/UnsupportedOperationException;.:(Ljava/lang/String;)V // method@05be │ │ -027042: 2702 |0007: throw v2 │ │ +027020: |[027020] util.HugePackedSet.toArray:([Ljava/lang/Object;)[Ljava/lang/Object; │ │ +027030: 2202 3101 |0000: new-instance v2, Ljava/lang/UnsupportedOperationException; // type@0131 │ │ +027034: 1a00 f603 |0002: const-string v0, "Not supported!" // string@03f6 │ │ +027038: 7020 be05 0200 |0004: invoke-direct {v2, v0}, Ljava/lang/UnsupportedOperationException;.:(Ljava/lang/String;)V // method@05be │ │ +02703e: 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; │ │ │ │ @@ -27977,45 +27977,45 @@ │ │ type : '()V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 6 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 61 16-bit code units │ │ -02745c: |[02745c] util.HugePackedSet.updatePersist:()V │ │ -02746c: 5450 4d03 |0000: iget-object v0, v5, Lutil/HugePackedSet;.loadedFromPath:Ljava/lang/String; // field@034d │ │ -027470: 3800 3100 |0002: if-eqz v0, 0033 // +0031 │ │ -027474: 2200 fb00 |0004: new-instance v0, Ljava/io/File; // type@00fb │ │ -027478: 5451 4d03 |0006: iget-object v1, v5, Lutil/HugePackedSet;.loadedFromPath:Ljava/lang/String; // field@034d │ │ -02747c: 7020 0105 1000 |0008: invoke-direct {v0, v1}, Ljava/io/File;.:(Ljava/lang/String;)V // method@0501 │ │ -027482: 1201 |000b: const/4 v1, #int 0 // #0 │ │ -027484: 5252 4f03 |000c: iget v2, v5, Lutil/HugePackedSet;.slotCount:I // field@034f │ │ -027488: 3521 2400 |000e: if-ge v1, v2, 0032 // +0024 │ │ -02748c: 5452 5103 |0010: iget-object v2, v5, Lutil/HugePackedSet;.subsets:[Lutil/PackedSortedList; // field@0351 │ │ -027490: 4602 0201 |0012: aget-object v2, v2, v1 │ │ -027494: 2203 2d01 |0014: new-instance v3, Ljava/lang/StringBuilder; // type@012d │ │ -027498: 7010 a905 0300 |0016: invoke-direct {v3}, Ljava/lang/StringBuilder;.:()V // method@05a9 │ │ -02749e: 6e10 0805 0000 |0019: invoke-virtual {v0}, Ljava/io/File;.getAbsolutePath:()Ljava/lang/String; // method@0508 │ │ -0274a4: 0c04 |001c: move-result-object v4 │ │ -0274a6: 6e20 af05 4300 |001d: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -0274ac: 1a04 6800 |0020: const-string v4, "/idx" // string@0068 │ │ -0274b0: 6e20 af05 4300 |0022: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -0274b6: 6e20 ac05 1300 |0025: invoke-virtual {v3, v1}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@05ac │ │ -0274bc: 6e10 b105 0300 |0028: invoke-virtual {v3}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ -0274c2: 0c03 |002b: move-result-object v3 │ │ -0274c4: 6e20 4e07 3200 |002c: invoke-virtual {v2, v3}, Lutil/PackedSortedList;.persist:(Ljava/lang/String;)V // method@074e │ │ -0274ca: d801 0101 |002f: add-int/lit8 v1, v1, #int 1 // #01 │ │ -0274ce: 28db |0031: goto 000c // -0025 │ │ -0274d0: 0e00 |0032: return-void │ │ -0274d2: 2200 0001 |0033: new-instance v0, Ljava/io/IOException; // type@0100 │ │ -0274d6: 1a01 eb00 |0035: const-string v1, "Can not update non persisted index!" // string@00eb │ │ -0274da: 7020 2105 1000 |0037: invoke-direct {v0, v1}, Ljava/io/IOException;.:(Ljava/lang/String;)V // method@0521 │ │ -0274e0: 2802 |003a: goto 003c // +0002 │ │ -0274e2: 2700 |003b: throw v0 │ │ -0274e4: 28ff |003c: goto 003b // -0001 │ │ +027458: |[027458] util.HugePackedSet.updatePersist:()V │ │ +027468: 5450 4d03 |0000: iget-object v0, v5, Lutil/HugePackedSet;.loadedFromPath:Ljava/lang/String; // field@034d │ │ +02746c: 3800 3100 |0002: if-eqz v0, 0033 // +0031 │ │ +027470: 2200 fb00 |0004: new-instance v0, Ljava/io/File; // type@00fb │ │ +027474: 5451 4d03 |0006: iget-object v1, v5, Lutil/HugePackedSet;.loadedFromPath:Ljava/lang/String; // field@034d │ │ +027478: 7020 0105 1000 |0008: invoke-direct {v0, v1}, Ljava/io/File;.:(Ljava/lang/String;)V // method@0501 │ │ +02747e: 1201 |000b: const/4 v1, #int 0 // #0 │ │ +027480: 5252 4f03 |000c: iget v2, v5, Lutil/HugePackedSet;.slotCount:I // field@034f │ │ +027484: 3521 2400 |000e: if-ge v1, v2, 0032 // +0024 │ │ +027488: 5452 5103 |0010: iget-object v2, v5, Lutil/HugePackedSet;.subsets:[Lutil/PackedSortedList; // field@0351 │ │ +02748c: 4602 0201 |0012: aget-object v2, v2, v1 │ │ +027490: 2203 2d01 |0014: new-instance v3, Ljava/lang/StringBuilder; // type@012d │ │ +027494: 7010 a905 0300 |0016: invoke-direct {v3}, Ljava/lang/StringBuilder;.:()V // method@05a9 │ │ +02749a: 6e10 0805 0000 |0019: invoke-virtual {v0}, Ljava/io/File;.getAbsolutePath:()Ljava/lang/String; // method@0508 │ │ +0274a0: 0c04 |001c: move-result-object v4 │ │ +0274a2: 6e20 af05 4300 |001d: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +0274a8: 1a04 6800 |0020: const-string v4, "/idx" // string@0068 │ │ +0274ac: 6e20 af05 4300 |0022: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +0274b2: 6e20 ac05 1300 |0025: invoke-virtual {v3, v1}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@05ac │ │ +0274b8: 6e10 b105 0300 |0028: invoke-virtual {v3}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ +0274be: 0c03 |002b: move-result-object v3 │ │ +0274c0: 6e20 4e07 3200 |002c: invoke-virtual {v2, v3}, Lutil/PackedSortedList;.persist:(Ljava/lang/String;)V // method@074e │ │ +0274c6: d801 0101 |002f: add-int/lit8 v1, v1, #int 1 // #01 │ │ +0274ca: 28db |0031: goto 000c // -0025 │ │ +0274cc: 0e00 |0032: return-void │ │ +0274ce: 2200 0001 |0033: new-instance v0, Ljava/io/IOException; // type@0100 │ │ +0274d2: 1a01 eb00 |0035: const-string v1, "Can not update non persisted index!" // string@00eb │ │ +0274d6: 7020 2105 1000 |0037: invoke-direct {v0, v1}, Ljava/io/IOException;.:(Ljava/lang/String;)V // method@0521 │ │ +0274dc: 2802 |003a: goto 003c // +0002 │ │ +0274de: 2700 |003b: throw v0 │ │ +0274e0: 28ff |003c: goto 003b // -0001 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=195 │ │ 0x0004 line=198 │ │ 0x000c line=200 │ │ 0x0010 line=201 │ │ 0x0033 line=196 │ │ @@ -28051,19 +28051,19 @@ │ │ type : '(I)V' │ │ access : 0x10001 (PUBLIC CONSTRUCTOR) │ │ code - │ │ registers : 3 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 8 16-bit code units │ │ -027750: |[027750] util.LRUCache.:(I)V │ │ -027760: d800 0201 |0000: add-int/lit8 v0, v2, #int 1 // #01 │ │ -027764: 7020 3e06 0100 |0002: invoke-direct {v1, v0}, Ljava/util/LinkedHashMap;.:(I)V // method@063e │ │ -02776a: 5912 5203 |0005: iput v2, v1, Lutil/LRUCache;.MAX_ENTRIES:I // field@0352 │ │ -02776e: 0e00 |0007: return-void │ │ +02774c: |[02774c] util.LRUCache.:(I)V │ │ +02775c: d800 0201 |0000: add-int/lit8 v0, v2, #int 1 // #01 │ │ +027760: 7020 3e06 0100 |0002: invoke-direct {v1, v0}, Ljava/util/LinkedHashMap;.:(I)V // method@063e │ │ +027766: 5912 5203 |0005: iput v2, v1, Lutil/LRUCache;.MAX_ENTRIES:I // field@0352 │ │ +02776a: 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 │ │ @@ -28074,22 +28074,22 @@ │ │ type : '()V' │ │ access : 0x20001 (PUBLIC DECLARED_SYNCHRONIZED) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 9 16-bit code units │ │ -027770: |[027770] util.LRUCache.clear:()V │ │ -027780: 1d01 |0000: monitor-enter v1 │ │ -027782: 6f10 3f06 0100 |0001: invoke-super {v1}, Ljava/util/LinkedHashMap;.clear:()V // method@063f │ │ -027788: 1e01 |0004: monitor-exit v1 │ │ -02778a: 0e00 |0005: return-void │ │ -02778c: 0d00 |0006: move-exception v0 │ │ -02778e: 1e01 |0007: monitor-exit v1 │ │ -027790: 2700 |0008: throw v0 │ │ +02776c: |[02776c] util.LRUCache.clear:()V │ │ +02777c: 1d01 |0000: monitor-enter v1 │ │ +02777e: 6f10 3f06 0100 |0001: invoke-super {v1}, Ljava/util/LinkedHashMap;.clear:()V // method@063f │ │ +027784: 1e01 |0004: monitor-exit v1 │ │ +027786: 0e00 |0005: return-void │ │ +027788: 0d00 |0006: move-exception v0 │ │ +02778a: 1e01 |0007: monitor-exit v1 │ │ +02778c: 2700 |0008: throw v0 │ │ catches : 1 │ │ 0x0001 - 0x0004 │ │ -> 0x0006 │ │ positions : │ │ 0x0001 line=117 │ │ 0x0004 line=118 │ │ locals : │ │ @@ -28100,23 +28100,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 │ │ -0274e8: |[0274e8] util.LRUCache.containsKey:(Ljava/lang/Object;)Z │ │ -0274f8: 1d00 |0000: monitor-enter v0 │ │ -0274fa: 6f20 4006 1000 |0001: invoke-super {v0, v1}, Ljava/util/LinkedHashMap;.containsKey:(Ljava/lang/Object;)Z // method@0640 │ │ -027500: 0a01 |0004: move-result v1 │ │ -027502: 1e00 |0005: monitor-exit v0 │ │ -027504: 0f01 |0006: return v1 │ │ -027506: 0d01 |0007: move-exception v1 │ │ -027508: 1e00 |0008: monitor-exit v0 │ │ -02750a: 2701 |0009: throw v1 │ │ +0274e4: |[0274e4] util.LRUCache.containsKey:(Ljava/lang/Object;)Z │ │ +0274f4: 1d00 |0000: monitor-enter v0 │ │ +0274f6: 6f20 4006 1000 |0001: invoke-super {v0, v1}, Ljava/util/LinkedHashMap;.containsKey:(Ljava/lang/Object;)Z // method@0640 │ │ +0274fc: 0a01 |0004: move-result v1 │ │ +0274fe: 1e00 |0005: monitor-exit v0 │ │ +027500: 0f01 |0006: return v1 │ │ +027502: 0d01 |0007: move-exception v1 │ │ +027504: 1e00 |0008: monitor-exit v0 │ │ +027506: 2701 |0009: throw v1 │ │ catches : 1 │ │ 0x0001 - 0x0005 │ │ -> 0x0007 │ │ positions : │ │ 0x0001 line=86 │ │ locals : │ │ 0x0000 - 0x000a reg=0 this Lutil/LRUCache; │ │ @@ -28127,23 +28127,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 │ │ -027518: |[027518] util.LRUCache.containsValue:(Ljava/lang/Object;)Z │ │ -027528: 1d00 |0000: monitor-enter v0 │ │ -02752a: 6f20 4106 1000 |0001: invoke-super {v0, v1}, Ljava/util/LinkedHashMap;.containsValue:(Ljava/lang/Object;)Z // method@0641 │ │ -027530: 0a01 |0004: move-result v1 │ │ -027532: 1e00 |0005: monitor-exit v0 │ │ -027534: 0f01 |0006: return v1 │ │ -027536: 0d01 |0007: move-exception v1 │ │ -027538: 1e00 |0008: monitor-exit v0 │ │ -02753a: 2701 |0009: throw v1 │ │ +027514: |[027514] util.LRUCache.containsValue:(Ljava/lang/Object;)Z │ │ +027524: 1d00 |0000: monitor-enter v0 │ │ +027526: 6f20 4106 1000 |0001: invoke-super {v0, v1}, Ljava/util/LinkedHashMap;.containsValue:(Ljava/lang/Object;)Z // method@0641 │ │ +02752c: 0a01 |0004: move-result v1 │ │ +02752e: 1e00 |0005: monitor-exit v0 │ │ +027530: 0f01 |0006: return v1 │ │ +027532: 0d01 |0007: move-exception v1 │ │ +027534: 1e00 |0008: monitor-exit v0 │ │ +027536: 2701 |0009: throw v1 │ │ catches : 1 │ │ 0x0001 - 0x0005 │ │ -> 0x0007 │ │ positions : │ │ 0x0001 line=91 │ │ locals : │ │ 0x0000 - 0x000a reg=0 this Lutil/LRUCache; │ │ @@ -28154,23 +28154,23 @@ │ │ type : '()Ljava/util/Set;' │ │ access : 0x20001 (PUBLIC DECLARED_SYNCHRONIZED) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 10 16-bit code units │ │ -0276f0: |[0276f0] util.LRUCache.entrySet:()Ljava/util/Set; │ │ -027700: 1d01 |0000: monitor-enter v1 │ │ -027702: 6f10 4206 0100 |0001: invoke-super {v1}, Ljava/util/LinkedHashMap;.entrySet:()Ljava/util/Set; // method@0642 │ │ -027708: 0c00 |0004: move-result-object v0 │ │ -02770a: 1e01 |0005: monitor-exit v1 │ │ -02770c: 1100 |0006: return-object v0 │ │ -02770e: 0d00 |0007: move-exception v0 │ │ -027710: 1e01 |0008: monitor-exit v1 │ │ -027712: 2700 |0009: throw v0 │ │ +0276ec: |[0276ec] util.LRUCache.entrySet:()Ljava/util/Set; │ │ +0276fc: 1d01 |0000: monitor-enter v1 │ │ +0276fe: 6f10 4206 0100 |0001: invoke-super {v1}, Ljava/util/LinkedHashMap;.entrySet:()Ljava/util/Set; // method@0642 │ │ +027704: 0c00 |0004: move-result-object v0 │ │ +027706: 1e01 |0005: monitor-exit v1 │ │ +027708: 1100 |0006: return-object v0 │ │ +02770a: 0d00 |0007: move-exception v0 │ │ +02770c: 1e01 |0008: monitor-exit v1 │ │ +02770e: 2700 |0009: throw v0 │ │ catches : 1 │ │ 0x0001 - 0x0005 │ │ -> 0x0007 │ │ positions : │ │ 0x0001 line=107 │ │ locals : │ │ 0x0000 - 0x000a reg=1 this Lutil/LRUCache; │ │ @@ -28180,23 +28180,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 │ │ -027548: |[027548] util.LRUCache.equals:(Ljava/lang/Object;)Z │ │ -027558: 1d00 |0000: monitor-enter v0 │ │ -02755a: 6f20 4306 1000 |0001: invoke-super {v0, v1}, Ljava/util/LinkedHashMap;.equals:(Ljava/lang/Object;)Z // method@0643 │ │ -027560: 0a01 |0004: move-result v1 │ │ -027562: 1e00 |0005: monitor-exit v0 │ │ -027564: 0f01 |0006: return v1 │ │ -027566: 0d01 |0007: move-exception v1 │ │ -027568: 1e00 |0008: monitor-exit v0 │ │ -02756a: 2701 |0009: throw v1 │ │ +027544: |[027544] util.LRUCache.equals:(Ljava/lang/Object;)Z │ │ +027554: 1d00 |0000: monitor-enter v0 │ │ +027556: 6f20 4306 1000 |0001: invoke-super {v0, v1}, Ljava/util/LinkedHashMap;.equals:(Ljava/lang/Object;)Z // method@0643 │ │ +02755c: 0a01 |0004: move-result v1 │ │ +02755e: 1e00 |0005: monitor-exit v0 │ │ +027560: 0f01 |0006: return v1 │ │ +027562: 0d01 |0007: move-exception v1 │ │ +027564: 1e00 |0008: monitor-exit v0 │ │ +027566: 2701 |0009: throw v1 │ │ catches : 1 │ │ 0x0001 - 0x0005 │ │ -> 0x0007 │ │ positions : │ │ 0x0001 line=76 │ │ locals : │ │ 0x0000 - 0x000a reg=0 this Lutil/LRUCache; │ │ @@ -28207,23 +28207,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 │ │ -027630: |[027630] util.LRUCache.get:(Ljava/lang/Object;)Ljava/lang/Object; │ │ -027640: 1d00 |0000: monitor-enter v0 │ │ -027642: 6f20 4406 1000 |0001: invoke-super {v0, v1}, Ljava/util/LinkedHashMap;.get:(Ljava/lang/Object;)Ljava/lang/Object; // method@0644 │ │ -027648: 0c01 |0004: move-result-object v1 │ │ -02764a: 1e00 |0005: monitor-exit v0 │ │ -02764c: 1101 |0006: return-object v1 │ │ -02764e: 0d01 |0007: move-exception v1 │ │ -027650: 1e00 |0008: monitor-exit v0 │ │ -027652: 2701 |0009: throw v1 │ │ +02762c: |[02762c] util.LRUCache.get:(Ljava/lang/Object;)Ljava/lang/Object; │ │ +02763c: 1d00 |0000: monitor-enter v0 │ │ +02763e: 6f20 4406 1000 |0001: invoke-super {v0, v1}, Ljava/util/LinkedHashMap;.get:(Ljava/lang/Object;)Ljava/lang/Object; // method@0644 │ │ +027644: 0c01 |0004: move-result-object v1 │ │ +027646: 1e00 |0005: monitor-exit v0 │ │ +027648: 1101 |0006: return-object v1 │ │ +02764a: 0d01 |0007: move-exception v1 │ │ +02764c: 1e00 |0008: monitor-exit v0 │ │ +02764e: 2701 |0009: throw v1 │ │ catches : 1 │ │ 0x0001 - 0x0005 │ │ -> 0x0007 │ │ positions : │ │ 0x0001 line=54 │ │ locals : │ │ 0x0000 - 0x000a reg=0 this Lutil/LRUCache; │ │ @@ -28234,23 +28234,23 @@ │ │ type : '()I' │ │ access : 0x20001 (PUBLIC DECLARED_SYNCHRONIZED) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 10 16-bit code units │ │ -0275d0: |[0275d0] util.LRUCache.hashCode:()I │ │ -0275e0: 1d01 |0000: monitor-enter v1 │ │ -0275e2: 6f10 4506 0100 |0001: invoke-super {v1}, Ljava/util/LinkedHashMap;.hashCode:()I // method@0645 │ │ -0275e8: 0a00 |0004: move-result v0 │ │ -0275ea: 1e01 |0005: monitor-exit v1 │ │ -0275ec: 0f00 |0006: return v0 │ │ -0275ee: 0d00 |0007: move-exception v0 │ │ -0275f0: 1e01 |0008: monitor-exit v1 │ │ -0275f2: 2700 |0009: throw v0 │ │ +0275cc: |[0275cc] util.LRUCache.hashCode:()I │ │ +0275dc: 1d01 |0000: monitor-enter v1 │ │ +0275de: 6f10 4506 0100 |0001: invoke-super {v1}, Ljava/util/LinkedHashMap;.hashCode:()I // method@0645 │ │ +0275e4: 0a00 |0004: move-result v0 │ │ +0275e6: 1e01 |0005: monitor-exit v1 │ │ +0275e8: 0f00 |0006: return v0 │ │ +0275ea: 0d00 |0007: move-exception v0 │ │ +0275ec: 1e01 |0008: monitor-exit v1 │ │ +0275ee: 2700 |0009: throw v0 │ │ catches : 1 │ │ 0x0001 - 0x0005 │ │ -> 0x0007 │ │ positions : │ │ 0x0001 line=71 │ │ locals : │ │ 0x0000 - 0x000a reg=1 this Lutil/LRUCache; │ │ @@ -28260,23 +28260,23 @@ │ │ type : '()Z' │ │ access : 0x20001 (PUBLIC DECLARED_SYNCHRONIZED) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 10 16-bit code units │ │ -027578: |[027578] util.LRUCache.isEmpty:()Z │ │ -027588: 1d01 |0000: monitor-enter v1 │ │ -02758a: 6f10 4606 0100 |0001: invoke-super {v1}, Ljava/util/LinkedHashMap;.isEmpty:()Z // method@0646 │ │ -027590: 0a00 |0004: move-result v0 │ │ -027592: 1e01 |0005: monitor-exit v1 │ │ -027594: 0f00 |0006: return v0 │ │ -027596: 0d00 |0007: move-exception v0 │ │ -027598: 1e01 |0008: monitor-exit v1 │ │ -02759a: 2700 |0009: throw v0 │ │ +027574: |[027574] util.LRUCache.isEmpty:()Z │ │ +027584: 1d01 |0000: monitor-enter v1 │ │ +027586: 6f10 4606 0100 |0001: invoke-super {v1}, Ljava/util/LinkedHashMap;.isEmpty:()Z // method@0646 │ │ +02758c: 0a00 |0004: move-result v0 │ │ +02758e: 1e01 |0005: monitor-exit v1 │ │ +027590: 0f00 |0006: return v0 │ │ +027592: 0d00 |0007: move-exception v0 │ │ +027594: 1e01 |0008: monitor-exit v1 │ │ +027596: 2700 |0009: throw v0 │ │ catches : 1 │ │ 0x0001 - 0x0005 │ │ -> 0x0007 │ │ positions : │ │ 0x0001 line=81 │ │ locals : │ │ 0x0000 - 0x000a reg=1 this Lutil/LRUCache; │ │ @@ -28286,23 +28286,23 @@ │ │ type : '()Ljava/util/Set;' │ │ access : 0x20001 (PUBLIC DECLARED_SYNCHRONIZED) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 10 16-bit code units │ │ -027720: |[027720] util.LRUCache.keySet:()Ljava/util/Set; │ │ -027730: 1d01 |0000: monitor-enter v1 │ │ -027732: 6f10 4706 0100 |0001: invoke-super {v1}, Ljava/util/LinkedHashMap;.keySet:()Ljava/util/Set; // method@0647 │ │ -027738: 0c00 |0004: move-result-object v0 │ │ -02773a: 1e01 |0005: monitor-exit v1 │ │ -02773c: 1100 |0006: return-object v0 │ │ -02773e: 0d00 |0007: move-exception v0 │ │ -027740: 1e01 |0008: monitor-exit v1 │ │ -027742: 2700 |0009: throw v0 │ │ +02771c: |[02771c] util.LRUCache.keySet:()Ljava/util/Set; │ │ +02772c: 1d01 |0000: monitor-enter v1 │ │ +02772e: 6f10 4706 0100 |0001: invoke-super {v1}, Ljava/util/LinkedHashMap;.keySet:()Ljava/util/Set; // method@0647 │ │ +027734: 0c00 |0004: move-result-object v0 │ │ +027736: 1e01 |0005: monitor-exit v1 │ │ +027738: 1100 |0006: return-object v0 │ │ +02773a: 0d00 |0007: move-exception v0 │ │ +02773c: 1e01 |0008: monitor-exit v1 │ │ +02773e: 2700 |0009: throw v0 │ │ catches : 1 │ │ 0x0001 - 0x0005 │ │ -> 0x0007 │ │ positions : │ │ 0x0001 line=102 │ │ locals : │ │ 0x0000 - 0x000a reg=1 this Lutil/LRUCache; │ │ @@ -28312,23 +28312,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 │ │ -027660: |[027660] util.LRUCache.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; │ │ -027670: 1d00 |0000: monitor-enter v0 │ │ -027672: 6f30 4806 1002 |0001: invoke-super {v0, v1, v2}, Ljava/util/LinkedHashMap;.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; // method@0648 │ │ -027678: 0c01 |0004: move-result-object v1 │ │ -02767a: 1e00 |0005: monitor-exit v0 │ │ -02767c: 1101 |0006: return-object v1 │ │ -02767e: 0d01 |0007: move-exception v1 │ │ -027680: 1e00 |0008: monitor-exit v0 │ │ -027682: 2701 |0009: throw v1 │ │ +02765c: |[02765c] util.LRUCache.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; │ │ +02766c: 1d00 |0000: monitor-enter v0 │ │ +02766e: 6f30 4806 1002 |0001: invoke-super {v0, v1, v2}, Ljava/util/LinkedHashMap;.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; // method@0648 │ │ +027674: 0c01 |0004: move-result-object v1 │ │ +027676: 1e00 |0005: monitor-exit v0 │ │ +027678: 1101 |0006: return-object v1 │ │ +02767a: 0d01 |0007: move-exception v1 │ │ +02767c: 1e00 |0008: monitor-exit v0 │ │ +02767e: 2701 |0009: throw v1 │ │ catches : 1 │ │ 0x0001 - 0x0005 │ │ -> 0x0007 │ │ positions : │ │ 0x0001 line=48 │ │ locals : │ │ 0x0000 - 0x000a reg=0 this Lutil/LRUCache; │ │ @@ -28340,22 +28340,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 │ │ -0277a0: |[0277a0] util.LRUCache.putAll:(Ljava/util/Map;)V │ │ -0277b0: 1d00 |0000: monitor-enter v0 │ │ -0277b2: 6f20 4906 1000 |0001: invoke-super {v0, v1}, Ljava/util/LinkedHashMap;.putAll:(Ljava/util/Map;)V // method@0649 │ │ -0277b8: 1e00 |0004: monitor-exit v0 │ │ -0277ba: 0e00 |0005: return-void │ │ -0277bc: 0d01 |0006: move-exception v1 │ │ -0277be: 1e00 |0007: monitor-exit v0 │ │ -0277c0: 2701 |0008: throw v1 │ │ +02779c: |[02779c] util.LRUCache.putAll:(Ljava/util/Map;)V │ │ +0277ac: 1d00 |0000: monitor-enter v0 │ │ +0277ae: 6f20 4906 1000 |0001: invoke-super {v0, v1}, Ljava/util/LinkedHashMap;.putAll:(Ljava/util/Map;)V // method@0649 │ │ +0277b4: 1e00 |0004: monitor-exit v0 │ │ +0277b6: 0e00 |0005: return-void │ │ +0277b8: 0d01 |0006: move-exception v1 │ │ +0277ba: 1e00 |0007: monitor-exit v0 │ │ +0277bc: 2701 |0008: throw v1 │ │ catches : 1 │ │ 0x0001 - 0x0004 │ │ -> 0x0006 │ │ positions : │ │ 0x0001 line=112 │ │ 0x0004 line=113 │ │ locals : │ │ @@ -28367,23 +28367,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 │ │ -027690: |[027690] util.LRUCache.remove:(Ljava/lang/Object;)Ljava/lang/Object; │ │ -0276a0: 1d00 |0000: monitor-enter v0 │ │ -0276a2: 6f20 4a06 1000 |0001: invoke-super {v0, v1}, Ljava/util/LinkedHashMap;.remove:(Ljava/lang/Object;)Ljava/lang/Object; // method@064a │ │ -0276a8: 0c01 |0004: move-result-object v1 │ │ -0276aa: 1e00 |0005: monitor-exit v0 │ │ -0276ac: 1101 |0006: return-object v1 │ │ -0276ae: 0d01 |0007: move-exception v1 │ │ -0276b0: 1e00 |0008: monitor-exit v0 │ │ -0276b2: 2701 |0009: throw v1 │ │ +02768c: |[02768c] util.LRUCache.remove:(Ljava/lang/Object;)Ljava/lang/Object; │ │ +02769c: 1d00 |0000: monitor-enter v0 │ │ +02769e: 6f20 4a06 1000 |0001: invoke-super {v0, v1}, Ljava/util/LinkedHashMap;.remove:(Ljava/lang/Object;)Ljava/lang/Object; // method@064a │ │ +0276a4: 0c01 |0004: move-result-object v1 │ │ +0276a6: 1e00 |0005: monitor-exit v0 │ │ +0276a8: 1101 |0006: return-object v1 │ │ +0276aa: 0d01 |0007: move-exception v1 │ │ +0276ac: 1e00 |0008: monitor-exit v0 │ │ +0276ae: 2701 |0009: throw v1 │ │ catches : 1 │ │ 0x0001 - 0x0005 │ │ -> 0x0007 │ │ positions : │ │ 0x0001 line=60 │ │ locals : │ │ 0x0000 - 0x000a reg=0 this Lutil/LRUCache; │ │ @@ -28394,23 +28394,23 @@ │ │ type : '(Ljava/util/Map$Entry;)Z' │ │ access : 0x0004 (PROTECTED) │ │ code - │ │ registers : 3 │ │ ins : 2 │ │ outs : 1 │ │ insns size : 12 16-bit code units │ │ -0275a8: |[0275a8] util.LRUCache.removeEldestEntry:(Ljava/util/Map$Entry;)Z │ │ -0275b8: 6e10 2207 0100 |0000: invoke-virtual {v1}, Lutil/LRUCache;.size:()I // method@0722 │ │ -0275be: 0a02 |0003: move-result v2 │ │ -0275c0: 5210 5203 |0004: iget v0, v1, Lutil/LRUCache;.MAX_ENTRIES:I // field@0352 │ │ -0275c4: 3702 0400 |0006: if-le v2, v0, 000a // +0004 │ │ -0275c8: 1212 |0008: const/4 v2, #int 1 // #1 │ │ -0275ca: 2802 |0009: goto 000b // +0002 │ │ -0275cc: 1202 |000a: const/4 v2, #int 0 // #0 │ │ -0275ce: 0f02 |000b: return v2 │ │ +0275a4: |[0275a4] util.LRUCache.removeEldestEntry:(Ljava/util/Map$Entry;)Z │ │ +0275b4: 6e10 2207 0100 |0000: invoke-virtual {v1}, Lutil/LRUCache;.size:()I // method@0722 │ │ +0275ba: 0a02 |0003: move-result v2 │ │ +0275bc: 5210 5203 |0004: iget v0, v1, Lutil/LRUCache;.MAX_ENTRIES:I // field@0352 │ │ +0275c0: 3702 0400 |0006: if-le v2, v0, 000a // +0004 │ │ +0275c4: 1212 |0008: const/4 v2, #int 1 // #1 │ │ +0275c6: 2802 |0009: goto 000b // +0002 │ │ +0275c8: 1202 |000a: const/4 v2, #int 0 // #0 │ │ +0275ca: 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; │ │ │ │ @@ -28419,23 +28419,23 @@ │ │ type : '()I' │ │ access : 0x20001 (PUBLIC DECLARED_SYNCHRONIZED) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 10 16-bit code units │ │ -027600: |[027600] util.LRUCache.size:()I │ │ -027610: 1d01 |0000: monitor-enter v1 │ │ -027612: 6f10 4b06 0100 |0001: invoke-super {v1}, Ljava/util/LinkedHashMap;.size:()I // method@064b │ │ -027618: 0a00 |0004: move-result v0 │ │ -02761a: 1e01 |0005: monitor-exit v1 │ │ -02761c: 0f00 |0006: return v0 │ │ -02761e: 0d00 |0007: move-exception v0 │ │ -027620: 1e01 |0008: monitor-exit v1 │ │ -027622: 2700 |0009: throw v0 │ │ +0275fc: |[0275fc] util.LRUCache.size:()I │ │ +02760c: 1d01 |0000: monitor-enter v1 │ │ +02760e: 6f10 4b06 0100 |0001: invoke-super {v1}, Ljava/util/LinkedHashMap;.size:()I // method@064b │ │ +027614: 0a00 |0004: move-result v0 │ │ +027616: 1e01 |0005: monitor-exit v1 │ │ +027618: 0f00 |0006: return v0 │ │ +02761a: 0d00 |0007: move-exception v0 │ │ +02761c: 1e01 |0008: monitor-exit v1 │ │ +02761e: 2700 |0009: throw v0 │ │ catches : 1 │ │ 0x0001 - 0x0005 │ │ -> 0x0007 │ │ positions : │ │ 0x0001 line=66 │ │ locals : │ │ 0x0000 - 0x000a reg=1 this Lutil/LRUCache; │ │ @@ -28445,23 +28445,23 @@ │ │ type : '()Ljava/util/Collection;' │ │ access : 0x20001 (PUBLIC DECLARED_SYNCHRONIZED) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 10 16-bit code units │ │ -0276c0: |[0276c0] util.LRUCache.values:()Ljava/util/Collection; │ │ -0276d0: 1d01 |0000: monitor-enter v1 │ │ -0276d2: 6f10 4c06 0100 |0001: invoke-super {v1}, Ljava/util/LinkedHashMap;.values:()Ljava/util/Collection; // method@064c │ │ -0276d8: 0c00 |0004: move-result-object v0 │ │ -0276da: 1e01 |0005: monitor-exit v1 │ │ -0276dc: 1100 |0006: return-object v0 │ │ -0276de: 0d00 |0007: move-exception v0 │ │ -0276e0: 1e01 |0008: monitor-exit v1 │ │ -0276e2: 2700 |0009: throw v0 │ │ +0276bc: |[0276bc] util.LRUCache.values:()Ljava/util/Collection; │ │ +0276cc: 1d01 |0000: monitor-enter v1 │ │ +0276ce: 6f10 4c06 0100 |0001: invoke-super {v1}, Ljava/util/LinkedHashMap;.values:()Ljava/util/Collection; // method@064c │ │ +0276d4: 0c00 |0004: move-result-object v0 │ │ +0276d6: 1e01 |0005: monitor-exit v1 │ │ +0276d8: 1100 |0006: return-object v0 │ │ +0276da: 0d00 |0007: move-exception v0 │ │ +0276dc: 1e01 |0008: monitor-exit v1 │ │ +0276de: 2700 |0009: throw v0 │ │ catches : 1 │ │ 0x0001 - 0x0005 │ │ -> 0x0007 │ │ positions : │ │ 0x0001 line=97 │ │ locals : │ │ 0x0000 - 0x000a reg=1 this Lutil/LRUCache; │ │ @@ -28633,34 +28633,34 @@ │ │ type : '(ILutil/ObjectPackagingManager;)V' │ │ access : 0x10001 (PUBLIC CONSTRUCTOR) │ │ code - │ │ registers : 5 │ │ ins : 3 │ │ outs : 1 │ │ insns size : 35 16-bit code units │ │ -027dd0: |[027dd0] util.PackedSortedList.:(ILutil/ObjectPackagingManager;)V │ │ -027de0: 7010 7505 0200 |0000: invoke-direct {v2}, Ljava/lang/Object;.:()V // method@0575 │ │ -027de6: 1200 |0003: const/4 v0, #int 0 // #0 │ │ -027de8: 5c20 5903 |0004: iput-boolean v0, v2, Lutil/PackedSortedList;.loaded:Z // field@0359 │ │ -027dec: 1201 |0006: const/4 v1, #int 0 // #0 │ │ -027dee: 5b21 5703 |0007: iput-object v1, v2, Lutil/PackedSortedList;.datapack:[B // field@0357 │ │ -027df2: 5920 5603 |0009: iput v0, v2, Lutil/PackedSortedList;.count:I // field@0356 │ │ -027df6: 5b21 5c03 |000b: iput-object v1, v2, Lutil/PackedSortedList;.persistedPackData:Ljava/io/RandomAccessFile; // field@035c │ │ -027dfa: 5920 5d03 |000d: iput v0, v2, Lutil/PackedSortedList;.persistedPackDataRefs:I // field@035d │ │ -027dfe: 5b24 5a03 |000f: iput-object v4, v2, Lutil/PackedSortedList;.objMgr:Lutil/ObjectPackagingManager; // field@035a │ │ -027e02: 7210 3607 0400 |0011: invoke-interface {v4}, Lutil/ObjectPackagingManager;.objectSize:()I // method@0736 │ │ -027e08: 0a04 |0014: move-result v4 │ │ -027e0a: 5924 5b03 |0015: iput v4, v2, Lutil/PackedSortedList;.object_size:I // field@035b │ │ -027e0e: 9203 0304 |0017: mul-int v3, v3, v4 │ │ -027e12: 2333 9d01 |0019: new-array v3, v3, [B // type@019d │ │ -027e16: 5b23 5703 |001b: iput-object v3, v2, Lutil/PackedSortedList;.datapack:[B // field@0357 │ │ -027e1a: 1213 |001d: const/4 v3, #int 1 // #1 │ │ -027e1c: 5c23 5803 |001e: iput-boolean v3, v2, Lutil/PackedSortedList;.keepInMemory:Z // field@0358 │ │ -027e20: 5c23 5903 |0020: iput-boolean v3, v2, Lutil/PackedSortedList;.loaded:Z // field@0359 │ │ -027e24: 0e00 |0022: return-void │ │ +027dcc: |[027dcc] util.PackedSortedList.:(ILutil/ObjectPackagingManager;)V │ │ +027ddc: 7010 7505 0200 |0000: invoke-direct {v2}, Ljava/lang/Object;.:()V // method@0575 │ │ +027de2: 1200 |0003: const/4 v0, #int 0 // #0 │ │ +027de4: 5c20 5903 |0004: iput-boolean v0, v2, Lutil/PackedSortedList;.loaded:Z // field@0359 │ │ +027de8: 1201 |0006: const/4 v1, #int 0 // #0 │ │ +027dea: 5b21 5703 |0007: iput-object v1, v2, Lutil/PackedSortedList;.datapack:[B // field@0357 │ │ +027dee: 5920 5603 |0009: iput v0, v2, Lutil/PackedSortedList;.count:I // field@0356 │ │ +027df2: 5b21 5c03 |000b: iput-object v1, v2, Lutil/PackedSortedList;.persistedPackData:Ljava/io/RandomAccessFile; // field@035c │ │ +027df6: 5920 5d03 |000d: iput v0, v2, Lutil/PackedSortedList;.persistedPackDataRefs:I // field@035d │ │ +027dfa: 5b24 5a03 |000f: iput-object v4, v2, Lutil/PackedSortedList;.objMgr:Lutil/ObjectPackagingManager; // field@035a │ │ +027dfe: 7210 3607 0400 |0011: invoke-interface {v4}, Lutil/ObjectPackagingManager;.objectSize:()I // method@0736 │ │ +027e04: 0a04 |0014: move-result v4 │ │ +027e06: 5924 5b03 |0015: iput v4, v2, Lutil/PackedSortedList;.object_size:I // field@035b │ │ +027e0a: 9203 0304 |0017: mul-int v3, v3, v4 │ │ +027e0e: 2333 9d01 |0019: new-array v3, v3, [B // type@019d │ │ +027e12: 5b23 5703 |001b: iput-object v3, v2, Lutil/PackedSortedList;.datapack:[B // field@0357 │ │ +027e16: 1213 |001d: const/4 v3, #int 1 // #1 │ │ +027e18: 5c23 5803 |001e: iput-boolean v3, v2, Lutil/PackedSortedList;.keepInMemory:Z // field@0358 │ │ +027e1c: 5c23 5903 |0020: iput-boolean v3, v2, Lutil/PackedSortedList;.loaded:Z // field@0359 │ │ +027e20: 0e00 |0022: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=52 │ │ 0x0004 line=43 │ │ 0x0007 line=45 │ │ 0x0009 line=46 │ │ 0x000b line=48 │ │ @@ -28680,35 +28680,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 │ │ -027d70: |[027d70] util.PackedSortedList.:([BIZLjava/io/File;Lutil/ObjectPackagingManager;)V │ │ -027d80: 7010 7505 0200 |0000: invoke-direct {v2}, Ljava/lang/Object;.:()V // method@0575 │ │ -027d86: 1200 |0003: const/4 v0, #int 0 // #0 │ │ -027d88: 5c20 5903 |0004: iput-boolean v0, v2, Lutil/PackedSortedList;.loaded:Z // field@0359 │ │ -027d8c: 1201 |0006: const/4 v1, #int 0 // #0 │ │ -027d8e: 5b21 5703 |0007: iput-object v1, v2, Lutil/PackedSortedList;.datapack:[B // field@0357 │ │ -027d92: 5920 5603 |0009: iput v0, v2, Lutil/PackedSortedList;.count:I // field@0356 │ │ -027d96: 5b21 5c03 |000b: iput-object v1, v2, Lutil/PackedSortedList;.persistedPackData:Ljava/io/RandomAccessFile; // field@035c │ │ -027d9a: 5920 5d03 |000d: iput v0, v2, Lutil/PackedSortedList;.persistedPackDataRefs:I // field@035d │ │ -027d9e: 5b27 5a03 |000f: iput-object v7, v2, Lutil/PackedSortedList;.objMgr:Lutil/ObjectPackagingManager; // field@035a │ │ -027da2: 7210 3607 0700 |0011: invoke-interface {v7}, Lutil/ObjectPackagingManager;.objectSize:()I // method@0736 │ │ -027da8: 0a07 |0014: move-result v7 │ │ -027daa: 5927 5b03 |0015: iput v7, v2, Lutil/PackedSortedList;.object_size:I // field@035b │ │ -027dae: 5b23 5703 |0017: iput-object v3, v2, Lutil/PackedSortedList;.datapack:[B // field@0357 │ │ -027db2: 5924 5603 |0019: iput v4, v2, Lutil/PackedSortedList;.count:I // field@0356 │ │ -027db6: 5c25 5803 |001b: iput-boolean v5, v2, Lutil/PackedSortedList;.keepInMemory:Z // field@0358 │ │ -027dba: 5b26 5e03 |001d: iput-object v6, v2, Lutil/PackedSortedList;.persistedPackFile:Ljava/io/File; // field@035e │ │ -027dbe: 5c20 5f03 |001f: iput-boolean v0, v2, Lutil/PackedSortedList;.persistentOutdated:Z // field@035f │ │ -027dc2: 3805 0500 |0021: if-eqz v5, 0026 // +0005 │ │ -027dc6: 7010 4d07 0200 |0023: invoke-direct {v2}, Lutil/PackedSortedList;.loadinMemory:()V // method@074d │ │ -027dcc: 0e00 |0026: return-void │ │ +027d6c: |[027d6c] util.PackedSortedList.:([BIZLjava/io/File;Lutil/ObjectPackagingManager;)V │ │ +027d7c: 7010 7505 0200 |0000: invoke-direct {v2}, Ljava/lang/Object;.:()V // method@0575 │ │ +027d82: 1200 |0003: const/4 v0, #int 0 // #0 │ │ +027d84: 5c20 5903 |0004: iput-boolean v0, v2, Lutil/PackedSortedList;.loaded:Z // field@0359 │ │ +027d88: 1201 |0006: const/4 v1, #int 0 // #0 │ │ +027d8a: 5b21 5703 |0007: iput-object v1, v2, Lutil/PackedSortedList;.datapack:[B // field@0357 │ │ +027d8e: 5920 5603 |0009: iput v0, v2, Lutil/PackedSortedList;.count:I // field@0356 │ │ +027d92: 5b21 5c03 |000b: iput-object v1, v2, Lutil/PackedSortedList;.persistedPackData:Ljava/io/RandomAccessFile; // field@035c │ │ +027d96: 5920 5d03 |000d: iput v0, v2, Lutil/PackedSortedList;.persistedPackDataRefs:I // field@035d │ │ +027d9a: 5b27 5a03 |000f: iput-object v7, v2, Lutil/PackedSortedList;.objMgr:Lutil/ObjectPackagingManager; // field@035a │ │ +027d9e: 7210 3607 0700 |0011: invoke-interface {v7}, Lutil/ObjectPackagingManager;.objectSize:()I // method@0736 │ │ +027da4: 0a07 |0014: move-result v7 │ │ +027da6: 5927 5b03 |0015: iput v7, v2, Lutil/PackedSortedList;.object_size:I // field@035b │ │ +027daa: 5b23 5703 |0017: iput-object v3, v2, Lutil/PackedSortedList;.datapack:[B // field@0357 │ │ +027dae: 5924 5603 |0019: iput v4, v2, Lutil/PackedSortedList;.count:I // field@0356 │ │ +027db2: 5c25 5803 |001b: iput-boolean v5, v2, Lutil/PackedSortedList;.keepInMemory:Z // field@0358 │ │ +027db6: 5b26 5e03 |001d: iput-object v6, v2, Lutil/PackedSortedList;.persistedPackFile:Ljava/io/File; // field@035e │ │ +027dba: 5c20 5f03 |001f: iput-boolean v0, v2, Lutil/PackedSortedList;.persistentOutdated:Z // field@035f │ │ +027dbe: 3805 0500 |0021: if-eqz v5, 0026 // +0005 │ │ +027dc2: 7010 4d07 0200 |0023: invoke-direct {v2}, Lutil/PackedSortedList;.loadinMemory:()V // method@074d │ │ +027dc8: 0e00 |0026: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=60 │ │ 0x0004 line=43 │ │ 0x0007 line=45 │ │ 0x0009 line=46 │ │ 0x000b line=48 │ │ @@ -28734,46 +28734,46 @@ │ │ type : '()V' │ │ access : 0x20002 (PRIVATE DECLARED_SYNCHRONIZED) │ │ code - │ │ registers : 4 │ │ ins : 1 │ │ outs : 3 │ │ insns size : 59 16-bit code units │ │ -027e28: |[027e28] util.PackedSortedList.acquireDataPack:()V │ │ -027e38: 1a00 e701 |0000: const-string v0, "Inconsistent state! persistedPackData is null but there are " // string@01e7 │ │ -027e3c: 1d03 |0002: monitor-enter v3 │ │ -027e3e: 5431 5c03 |0003: iget-object v1, v3, Lutil/PackedSortedList;.persistedPackData:Ljava/io/RandomAccessFile; // field@035c │ │ -027e42: 3901 2b00 |0005: if-nez v1, 0030 // +002b │ │ -027e46: 5231 5d03 |0007: iget v1, v3, Lutil/PackedSortedList;.persistedPackDataRefs:I // field@035d │ │ -027e4a: 3c01 0e00 |0009: if-gtz v1, 0017 // +000e │ │ -027e4e: 2200 0b01 |000b: new-instance v0, Ljava/io/RandomAccessFile; // type@010b │ │ -027e52: 5431 5e03 |000d: iget-object v1, v3, Lutil/PackedSortedList;.persistedPackFile:Ljava/io/File; // field@035e │ │ -027e56: 1a02 ae09 |000f: const-string v2, "r" // string@09ae │ │ -027e5a: 7030 4405 1002 |0011: invoke-direct {v0, v1, v2}, Ljava/io/RandomAccessFile;.:(Ljava/io/File;Ljava/lang/String;)V // method@0544 │ │ -027e60: 5b30 5c03 |0014: iput-object v0, v3, Lutil/PackedSortedList;.persistedPackData:Ljava/io/RandomAccessFile; // field@035c │ │ -027e64: 281a |0016: goto 0030 // +001a │ │ -027e66: 2201 1d01 |0017: new-instance v1, Ljava/lang/IllegalStateException; // type@011d │ │ -027e6a: 2202 2d01 |0019: new-instance v2, Ljava/lang/StringBuilder; // type@012d │ │ -027e6e: 7020 aa05 0200 |001b: invoke-direct {v2, v0}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05aa │ │ -027e74: 5230 5d03 |001e: iget v0, v3, Lutil/PackedSortedList;.persistedPackDataRefs:I // field@035d │ │ -027e78: 6e20 ac05 0200 |0020: invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@05ac │ │ -027e7e: 1a00 2300 |0023: const-string v0, " references!" // string@0023 │ │ -027e82: 6e20 af05 0200 |0025: invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -027e88: 6e10 b105 0200 |0028: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ -027e8e: 0c00 |002b: move-result-object v0 │ │ -027e90: 7020 6305 0100 |002c: invoke-direct {v1, v0}, Ljava/lang/IllegalStateException;.:(Ljava/lang/String;)V // method@0563 │ │ -027e96: 2701 |002f: throw v1 │ │ -027e98: 5230 5d03 |0030: iget v0, v3, Lutil/PackedSortedList;.persistedPackDataRefs:I // field@035d │ │ -027e9c: d800 0001 |0032: add-int/lit8 v0, v0, #int 1 // #01 │ │ -027ea0: 5930 5d03 |0034: iput v0, v3, Lutil/PackedSortedList;.persistedPackDataRefs:I // field@035d │ │ -027ea4: 1e03 |0036: monitor-exit v3 │ │ -027ea6: 0e00 |0037: return-void │ │ -027ea8: 0d00 |0038: move-exception v0 │ │ -027eaa: 1e03 |0039: monitor-exit v3 │ │ -027eac: 2700 |003a: throw v0 │ │ +027e24: |[027e24] util.PackedSortedList.acquireDataPack:()V │ │ +027e34: 1a00 e701 |0000: const-string v0, "Inconsistent state! persistedPackData is null but there are " // string@01e7 │ │ +027e38: 1d03 |0002: monitor-enter v3 │ │ +027e3a: 5431 5c03 |0003: iget-object v1, v3, Lutil/PackedSortedList;.persistedPackData:Ljava/io/RandomAccessFile; // field@035c │ │ +027e3e: 3901 2b00 |0005: if-nez v1, 0030 // +002b │ │ +027e42: 5231 5d03 |0007: iget v1, v3, Lutil/PackedSortedList;.persistedPackDataRefs:I // field@035d │ │ +027e46: 3c01 0e00 |0009: if-gtz v1, 0017 // +000e │ │ +027e4a: 2200 0b01 |000b: new-instance v0, Ljava/io/RandomAccessFile; // type@010b │ │ +027e4e: 5431 5e03 |000d: iget-object v1, v3, Lutil/PackedSortedList;.persistedPackFile:Ljava/io/File; // field@035e │ │ +027e52: 1a02 ae09 |000f: const-string v2, "r" // string@09ae │ │ +027e56: 7030 4405 1002 |0011: invoke-direct {v0, v1, v2}, Ljava/io/RandomAccessFile;.:(Ljava/io/File;Ljava/lang/String;)V // method@0544 │ │ +027e5c: 5b30 5c03 |0014: iput-object v0, v3, Lutil/PackedSortedList;.persistedPackData:Ljava/io/RandomAccessFile; // field@035c │ │ +027e60: 281a |0016: goto 0030 // +001a │ │ +027e62: 2201 1d01 |0017: new-instance v1, Ljava/lang/IllegalStateException; // type@011d │ │ +027e66: 2202 2d01 |0019: new-instance v2, Ljava/lang/StringBuilder; // type@012d │ │ +027e6a: 7020 aa05 0200 |001b: invoke-direct {v2, v0}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05aa │ │ +027e70: 5230 5d03 |001e: iget v0, v3, Lutil/PackedSortedList;.persistedPackDataRefs:I // field@035d │ │ +027e74: 6e20 ac05 0200 |0020: invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@05ac │ │ +027e7a: 1a00 2300 |0023: const-string v0, " references!" // string@0023 │ │ +027e7e: 6e20 af05 0200 |0025: invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +027e84: 6e10 b105 0200 |0028: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ +027e8a: 0c00 |002b: move-result-object v0 │ │ +027e8c: 7020 6305 0100 |002c: invoke-direct {v1, v0}, Ljava/lang/IllegalStateException;.:(Ljava/lang/String;)V // method@0563 │ │ +027e92: 2701 |002f: throw v1 │ │ +027e94: 5230 5d03 |0030: iget v0, v3, Lutil/PackedSortedList;.persistedPackDataRefs:I // field@035d │ │ +027e98: d800 0001 |0032: add-int/lit8 v0, v0, #int 1 // #01 │ │ +027e9c: 5930 5d03 |0034: iput v0, v3, Lutil/PackedSortedList;.persistedPackDataRefs:I // field@035d │ │ +027ea0: 1e03 |0036: monitor-exit v3 │ │ +027ea2: 0e00 |0037: return-void │ │ +027ea4: 0d00 |0038: move-exception v0 │ │ +027ea6: 1e03 |0039: monitor-exit v3 │ │ +027ea8: 2700 |003a: throw v0 │ │ catches : 1 │ │ 0x0003 - 0x0036 │ │ -> 0x0038 │ │ positions : │ │ 0x0003 line=164 │ │ 0x0007 line=165 │ │ 0x000b line=167 │ │ @@ -28788,53 +28788,53 @@ │ │ type : '(ILjava/lang/Object;)V' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 9 │ │ ins : 3 │ │ outs : 5 │ │ insns size : 69 16-bit code units │ │ -027ed8: |[027ed8] util.PackedSortedList.addInternal:(ILjava/lang/Object;)V │ │ -027ee8: 5560 5903 |0000: iget-boolean v0, v6, Lutil/PackedSortedList;.loaded:Z // field@0359 │ │ -027eec: 3900 0500 |0002: if-nez v0, 0007 // +0005 │ │ -027ef0: 7010 4d07 0600 |0004: invoke-direct {v6}, Lutil/PackedSortedList;.loadinMemory:()V // method@074d │ │ -027ef6: 5460 5703 |0007: iget-object v0, v6, Lutil/PackedSortedList;.datapack:[B // field@0357 │ │ -027efa: 5261 5603 |0009: iget v1, v6, Lutil/PackedSortedList;.count:I // field@0356 │ │ -027efe: 2102 |000b: array-length v2, v0 │ │ -027f00: 5263 5b03 |000c: iget v3, v6, Lutil/PackedSortedList;.object_size:I // field@035b │ │ -027f04: b332 |000e: div-int/2addr v2, v3 │ │ -027f06: 3421 0f00 |000f: if-lt v1, v2, 001e // +000f │ │ -027f0a: 2101 |0011: array-length v1, v0 │ │ -027f0c: d232 e803 |0012: mul-int/lit16 v2, v3, #int 1000 // #03e8 │ │ -027f10: b021 |0014: add-int/2addr v1, v2 │ │ -027f12: 2311 9d01 |0015: new-array v1, v1, [B // type@019d │ │ -027f16: 9203 0307 |0017: mul-int v3, v3, v7 │ │ -027f1a: 1202 |0019: const/4 v2, #int 0 // #0 │ │ -027f1c: 7153 b205 2021 |001a: invoke-static {v0, v2, v1, v2, v3}, Ljava/lang/System;.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V // method@05b2 │ │ -027f22: 0710 |001d: move-object v0, v1 │ │ -027f24: 5261 5603 |001e: iget v1, v6, Lutil/PackedSortedList;.count:I // field@0356 │ │ -027f28: 3217 1100 |0020: if-eq v7, v1, 0031 // +0011 │ │ -027f2c: 5462 5703 |0022: iget-object v2, v6, Lutil/PackedSortedList;.datapack:[B // field@0357 │ │ -027f30: 5263 5b03 |0024: iget v3, v6, Lutil/PackedSortedList;.object_size:I // field@035b │ │ -027f34: 9204 0703 |0026: mul-int v4, v7, v3 │ │ -027f38: 9205 0703 |0028: mul-int v5, v7, v3 │ │ -027f3c: b035 |002a: add-int/2addr v5, v3 │ │ -027f3e: b171 |002b: sub-int/2addr v1, v7 │ │ -027f40: 9201 0103 |002c: mul-int v1, v1, v3 │ │ -027f44: 7151 b205 4250 |002e: invoke-static {v2, v4, v0, v5, v1}, Ljava/lang/System;.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V // method@05b2 │ │ -027f4a: 5b60 5703 |0031: iput-object v0, v6, Lutil/PackedSortedList;.datapack:[B // field@0357 │ │ -027f4e: 5461 5a03 |0033: iget-object v1, v6, Lutil/PackedSortedList;.objMgr:Lutil/ObjectPackagingManager; // field@035a │ │ -027f52: 5262 5b03 |0035: iget v2, v6, Lutil/PackedSortedList;.object_size:I // field@035b │ │ -027f56: 9207 0702 |0037: mul-int v7, v7, v2 │ │ -027f5a: 7240 3707 8170 |0039: invoke-interface {v1, v8, v0, v7}, Lutil/ObjectPackagingManager;.objectToBytes:(Ljava/lang/Object;[BI)V // method@0737 │ │ -027f60: 1217 |003c: const/4 v7, #int 1 // #1 │ │ -027f62: 5c67 5f03 |003d: iput-boolean v7, v6, Lutil/PackedSortedList;.persistentOutdated:Z // field@035f │ │ -027f66: 5268 5603 |003f: iget v8, v6, Lutil/PackedSortedList;.count:I // field@0356 │ │ -027f6a: b078 |0041: add-int/2addr v8, v7 │ │ -027f6c: 5968 5603 |0042: iput v8, v6, Lutil/PackedSortedList;.count:I // field@0356 │ │ -027f70: 0e00 |0044: return-void │ │ +027ed4: |[027ed4] util.PackedSortedList.addInternal:(ILjava/lang/Object;)V │ │ +027ee4: 5560 5903 |0000: iget-boolean v0, v6, Lutil/PackedSortedList;.loaded:Z // field@0359 │ │ +027ee8: 3900 0500 |0002: if-nez v0, 0007 // +0005 │ │ +027eec: 7010 4d07 0600 |0004: invoke-direct {v6}, Lutil/PackedSortedList;.loadinMemory:()V // method@074d │ │ +027ef2: 5460 5703 |0007: iget-object v0, v6, Lutil/PackedSortedList;.datapack:[B // field@0357 │ │ +027ef6: 5261 5603 |0009: iget v1, v6, Lutil/PackedSortedList;.count:I // field@0356 │ │ +027efa: 2102 |000b: array-length v2, v0 │ │ +027efc: 5263 5b03 |000c: iget v3, v6, Lutil/PackedSortedList;.object_size:I // field@035b │ │ +027f00: b332 |000e: div-int/2addr v2, v3 │ │ +027f02: 3421 0f00 |000f: if-lt v1, v2, 001e // +000f │ │ +027f06: 2101 |0011: array-length v1, v0 │ │ +027f08: d232 e803 |0012: mul-int/lit16 v2, v3, #int 1000 // #03e8 │ │ +027f0c: b021 |0014: add-int/2addr v1, v2 │ │ +027f0e: 2311 9d01 |0015: new-array v1, v1, [B // type@019d │ │ +027f12: 9203 0307 |0017: mul-int v3, v3, v7 │ │ +027f16: 1202 |0019: const/4 v2, #int 0 // #0 │ │ +027f18: 7153 b205 2021 |001a: invoke-static {v0, v2, v1, v2, v3}, Ljava/lang/System;.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V // method@05b2 │ │ +027f1e: 0710 |001d: move-object v0, v1 │ │ +027f20: 5261 5603 |001e: iget v1, v6, Lutil/PackedSortedList;.count:I // field@0356 │ │ +027f24: 3217 1100 |0020: if-eq v7, v1, 0031 // +0011 │ │ +027f28: 5462 5703 |0022: iget-object v2, v6, Lutil/PackedSortedList;.datapack:[B // field@0357 │ │ +027f2c: 5263 5b03 |0024: iget v3, v6, Lutil/PackedSortedList;.object_size:I // field@035b │ │ +027f30: 9204 0703 |0026: mul-int v4, v7, v3 │ │ +027f34: 9205 0703 |0028: mul-int v5, v7, v3 │ │ +027f38: b035 |002a: add-int/2addr v5, v3 │ │ +027f3a: b171 |002b: sub-int/2addr v1, v7 │ │ +027f3c: 9201 0103 |002c: mul-int v1, v1, v3 │ │ +027f40: 7151 b205 4250 |002e: invoke-static {v2, v4, v0, v5, v1}, Ljava/lang/System;.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V // method@05b2 │ │ +027f46: 5b60 5703 |0031: iput-object v0, v6, Lutil/PackedSortedList;.datapack:[B // field@0357 │ │ +027f4a: 5461 5a03 |0033: iget-object v1, v6, Lutil/PackedSortedList;.objMgr:Lutil/ObjectPackagingManager; // field@035a │ │ +027f4e: 5262 5b03 |0035: iget v2, v6, Lutil/PackedSortedList;.object_size:I // field@035b │ │ +027f52: 9207 0702 |0037: mul-int v7, v7, v2 │ │ +027f56: 7240 3707 8170 |0039: invoke-interface {v1, v8, v0, v7}, Lutil/ObjectPackagingManager;.objectToBytes:(Ljava/lang/Object;[BI)V // method@0737 │ │ +027f5c: 1217 |003c: const/4 v7, #int 1 // #1 │ │ +027f5e: 5c67 5f03 |003d: iput-boolean v7, v6, Lutil/PackedSortedList;.persistentOutdated:Z // field@035f │ │ +027f62: 5268 5603 |003f: iget v8, v6, Lutil/PackedSortedList;.count:I // field@0356 │ │ +027f66: b078 |0041: add-int/2addr v8, v7 │ │ +027f68: 5968 5603 |0042: iput v8, v6, Lutil/PackedSortedList;.count:I // field@0356 │ │ +027f6c: 0e00 |0044: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=93 │ │ 0x0004 line=94 │ │ 0x0007 line=96 │ │ 0x0009 line=97 │ │ 0x0011 line=98 │ │ @@ -28855,18 +28855,18 @@ │ │ type : '(Ljava/lang/Object;)I' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 2 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 5 16-bit code units │ │ -027ac4: |[027ac4] util.PackedSortedList.binarySearch:(Ljava/lang/Object;)I │ │ -027ad4: 7120 2106 1000 |0000: invoke-static {v0, v1}, Ljava/util/Collections;.binarySearch:(Ljava/util/List;Ljava/lang/Object;)I // method@0621 │ │ -027ada: 0a01 |0003: move-result v1 │ │ -027adc: 0f01 |0004: return v1 │ │ +027ac0: |[027ac0] util.PackedSortedList.binarySearch:(Ljava/lang/Object;)I │ │ +027ad0: 7120 2106 1000 |0000: invoke-static {v0, v1}, Ljava/util/Collections;.binarySearch:(Ljava/util/List;Ljava/lang/Object;)I // method@0621 │ │ +027ad6: 0a01 |0003: move-result v1 │ │ +027ad8: 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; │ │ │ │ @@ -28875,45 +28875,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 │ │ -027cec: |[027cec] util.PackedSortedList.load:(Ljava/lang/String;ZLutil/ObjectPackagingManager;)Lutil/PackedSortedList; │ │ -027cfc: 2204 fb00 |0000: new-instance v4, Ljava/io/File; // type@00fb │ │ -027d00: 7020 0105 6400 |0002: invoke-direct {v4, v6}, Ljava/io/File;.:(Ljava/lang/String;)V // method@0501 │ │ -027d06: 6e10 0e05 0400 |0005: invoke-virtual {v4}, Ljava/io/File;.length:()J // method@050e │ │ -027d0c: 0b00 |0008: move-result-wide v0 │ │ -027d0e: 8401 |0009: long-to-int v1, v0 │ │ -027d10: 6e10 0705 0400 |000a: invoke-virtual {v4}, Ljava/io/File;.exists:()Z // method@0507 │ │ -027d16: 0a00 |000d: move-result v0 │ │ -027d18: 3800 1800 |000e: if-eqz v0, 0026 // +0018 │ │ -027d1c: 6e10 0305 0400 |0010: invoke-virtual {v4}, Ljava/io/File;.canRead:()Z // method@0503 │ │ -027d22: 0a00 |0013: move-result v0 │ │ -027d24: 3800 1200 |0014: if-eqz v0, 0026 // +0012 │ │ -027d28: 2206 8801 |0016: new-instance v6, Lutil/PackedSortedList; // type@0188 │ │ -027d2c: 7210 3607 0800 |0018: invoke-interface {v8}, Lutil/ObjectPackagingManager;.objectSize:()I // method@0736 │ │ -027d32: 0a00 |001b: move-result v0 │ │ -027d34: 9302 0100 |001c: div-int v2, v1, v0 │ │ -027d38: 1201 |001e: const/4 v1, #int 0 // #0 │ │ -027d3a: 0760 |001f: move-object v0, v6 │ │ -027d3c: 0173 |0020: move v3, v7 │ │ -027d3e: 0785 |0021: move-object v5, v8 │ │ -027d40: 7606 3907 0000 |0022: invoke-direct/range {v0, v1, v2, v3, v4, v5}, Lutil/PackedSortedList;.:([BIZLjava/io/File;Lutil/ObjectPackagingManager;)V // method@0739 │ │ -027d46: 1106 |0025: return-object v6 │ │ -027d48: 2207 0001 |0026: new-instance v7, Ljava/io/IOException; // type@0100 │ │ -027d4c: 2208 2d01 |0028: new-instance v8, Ljava/lang/StringBuilder; // type@012d │ │ -027d50: 1a00 fc00 |002a: const-string v0, "Cannot read " // string@00fc │ │ -027d54: 7020 aa05 0800 |002c: invoke-direct {v8, v0}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05aa │ │ -027d5a: 6e20 af05 6800 |002f: invoke-virtual {v8, v6}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -027d60: 6e10 b105 0800 |0032: invoke-virtual {v8}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ -027d66: 0c06 |0035: move-result-object v6 │ │ -027d68: 7020 2105 6700 |0036: invoke-direct {v7, v6}, Ljava/io/IOException;.:(Ljava/lang/String;)V // method@0521 │ │ -027d6e: 2707 |0039: throw v7 │ │ +027ce8: |[027ce8] util.PackedSortedList.load:(Ljava/lang/String;ZLutil/ObjectPackagingManager;)Lutil/PackedSortedList; │ │ +027cf8: 2204 fb00 |0000: new-instance v4, Ljava/io/File; // type@00fb │ │ +027cfc: 7020 0105 6400 |0002: invoke-direct {v4, v6}, Ljava/io/File;.:(Ljava/lang/String;)V // method@0501 │ │ +027d02: 6e10 0e05 0400 |0005: invoke-virtual {v4}, Ljava/io/File;.length:()J // method@050e │ │ +027d08: 0b00 |0008: move-result-wide v0 │ │ +027d0a: 8401 |0009: long-to-int v1, v0 │ │ +027d0c: 6e10 0705 0400 |000a: invoke-virtual {v4}, Ljava/io/File;.exists:()Z // method@0507 │ │ +027d12: 0a00 |000d: move-result v0 │ │ +027d14: 3800 1800 |000e: if-eqz v0, 0026 // +0018 │ │ +027d18: 6e10 0305 0400 |0010: invoke-virtual {v4}, Ljava/io/File;.canRead:()Z // method@0503 │ │ +027d1e: 0a00 |0013: move-result v0 │ │ +027d20: 3800 1200 |0014: if-eqz v0, 0026 // +0012 │ │ +027d24: 2206 8801 |0016: new-instance v6, Lutil/PackedSortedList; // type@0188 │ │ +027d28: 7210 3607 0800 |0018: invoke-interface {v8}, Lutil/ObjectPackagingManager;.objectSize:()I // method@0736 │ │ +027d2e: 0a00 |001b: move-result v0 │ │ +027d30: 9302 0100 |001c: div-int v2, v1, v0 │ │ +027d34: 1201 |001e: const/4 v1, #int 0 // #0 │ │ +027d36: 0760 |001f: move-object v0, v6 │ │ +027d38: 0173 |0020: move v3, v7 │ │ +027d3a: 0785 |0021: move-object v5, v8 │ │ +027d3c: 7606 3907 0000 |0022: invoke-direct/range {v0, v1, v2, v3, v4, v5}, Lutil/PackedSortedList;.:([BIZLjava/io/File;Lutil/ObjectPackagingManager;)V // method@0739 │ │ +027d42: 1106 |0025: return-object v6 │ │ +027d44: 2207 0001 |0026: new-instance v7, Ljava/io/IOException; // type@0100 │ │ +027d48: 2208 2d01 |0028: new-instance v8, Ljava/lang/StringBuilder; // type@012d │ │ +027d4c: 1a00 fc00 |002a: const-string v0, "Cannot read " // string@00fc │ │ +027d50: 7020 aa05 0800 |002c: invoke-direct {v8, v0}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05aa │ │ +027d56: 6e20 af05 6800 |002f: invoke-virtual {v8, v6}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +027d5c: 6e10 b105 0800 |0032: invoke-virtual {v8}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ +027d62: 0c06 |0035: move-result-object v6 │ │ +027d64: 7020 2105 6700 |0036: invoke-direct {v7, v6}, Ljava/io/IOException;.:(Ljava/lang/String;)V // method@0521 │ │ +027d6a: 2707 |0039: throw v7 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=349 │ │ 0x0005 line=350 │ │ 0x000a line=351 │ │ 0x0016 line=354 │ │ 0x0026 line=352 │ │ @@ -28927,45 +28927,45 @@ │ │ type : '()V' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 6 │ │ ins : 1 │ │ outs : 4 │ │ insns size : 53 16-bit code units │ │ -027fb0: |[027fb0] util.PackedSortedList.loadinMemory:()V │ │ -027fc0: 2200 fd00 |0000: new-instance v0, Ljava/io/FileInputStream; // type@00fd │ │ -027fc4: 5451 5e03 |0002: iget-object v1, v5, Lutil/PackedSortedList;.persistedPackFile:Ljava/io/File; // field@035e │ │ -027fc8: 7020 1305 1000 |0004: invoke-direct {v0, v1}, Ljava/io/FileInputStream;.:(Ljava/io/File;)V // method@0513 │ │ -027fce: 5251 5603 |0007: iget v1, v5, Lutil/PackedSortedList;.count:I // field@0356 │ │ -027fd2: 5452 5a03 |0009: iget-object v2, v5, Lutil/PackedSortedList;.objMgr:Lutil/ObjectPackagingManager; // field@035a │ │ -027fd6: 7210 3607 0200 |000b: invoke-interface {v2}, Lutil/ObjectPackagingManager;.objectSize:()I // method@0736 │ │ -027fdc: 0a02 |000e: move-result v2 │ │ -027fde: 9201 0102 |000f: mul-int v1, v1, v2 │ │ -027fe2: 2312 9d01 |0011: new-array v2, v1, [B // type@019d │ │ -027fe6: 5b52 5703 |0013: iput-object v2, v5, Lutil/PackedSortedList;.datapack:[B // field@0357 │ │ -027fea: 1202 |0015: const/4 v2, #int 0 // #0 │ │ -027fec: 5453 5703 |0016: iget-object v3, v5, Lutil/PackedSortedList;.datapack:[B // field@0357 │ │ -027ff0: 9104 0102 |0018: sub-int v4, v1, v2 │ │ -027ff4: 6e40 1805 3042 |001a: invoke-virtual {v0, v3, v2, v4}, Ljava/io/FileInputStream;.read:([BII)I // method@0518 │ │ -027ffa: 0a03 |001d: move-result v3 │ │ -027ffc: 12f4 |001e: const/4 v4, #int -1 // #ff │ │ -027ffe: 3243 0600 |001f: if-eq v3, v4, 0025 // +0006 │ │ -028002: 3212 0400 |0021: if-eq v2, v1, 0025 // +0004 │ │ -028006: b032 |0023: add-int/2addr v2, v3 │ │ -028008: 28f2 |0024: goto 0016 // -000e │ │ -02800a: 6e10 1605 0000 |0025: invoke-virtual {v0}, Ljava/io/FileInputStream;.close:()V // method@0516 │ │ -028010: 1210 |0028: const/4 v0, #int 1 // #1 │ │ -028012: 5c50 5903 |0029: iput-boolean v0, v5, Lutil/PackedSortedList;.loaded:Z // field@0359 │ │ -028016: 0e00 |002b: return-void │ │ -028018: 0d00 |002c: move-exception v0 │ │ -02801a: 2201 1d01 |002d: new-instance v1, Ljava/lang/IllegalStateException; // type@011d │ │ -02801e: 7020 6405 0100 |002f: invoke-direct {v1, v0}, Ljava/lang/IllegalStateException;.:(Ljava/lang/Throwable;)V // method@0564 │ │ -028024: 2802 |0032: goto 0034 // +0002 │ │ -028026: 2701 |0033: throw v1 │ │ -028028: 28ff |0034: goto 0033 // -0001 │ │ +027fac: |[027fac] util.PackedSortedList.loadinMemory:()V │ │ +027fbc: 2200 fd00 |0000: new-instance v0, Ljava/io/FileInputStream; // type@00fd │ │ +027fc0: 5451 5e03 |0002: iget-object v1, v5, Lutil/PackedSortedList;.persistedPackFile:Ljava/io/File; // field@035e │ │ +027fc4: 7020 1305 1000 |0004: invoke-direct {v0, v1}, Ljava/io/FileInputStream;.:(Ljava/io/File;)V // method@0513 │ │ +027fca: 5251 5603 |0007: iget v1, v5, Lutil/PackedSortedList;.count:I // field@0356 │ │ +027fce: 5452 5a03 |0009: iget-object v2, v5, Lutil/PackedSortedList;.objMgr:Lutil/ObjectPackagingManager; // field@035a │ │ +027fd2: 7210 3607 0200 |000b: invoke-interface {v2}, Lutil/ObjectPackagingManager;.objectSize:()I // method@0736 │ │ +027fd8: 0a02 |000e: move-result v2 │ │ +027fda: 9201 0102 |000f: mul-int v1, v1, v2 │ │ +027fde: 2312 9d01 |0011: new-array v2, v1, [B // type@019d │ │ +027fe2: 5b52 5703 |0013: iput-object v2, v5, Lutil/PackedSortedList;.datapack:[B // field@0357 │ │ +027fe6: 1202 |0015: const/4 v2, #int 0 // #0 │ │ +027fe8: 5453 5703 |0016: iget-object v3, v5, Lutil/PackedSortedList;.datapack:[B // field@0357 │ │ +027fec: 9104 0102 |0018: sub-int v4, v1, v2 │ │ +027ff0: 6e40 1805 3042 |001a: invoke-virtual {v0, v3, v2, v4}, Ljava/io/FileInputStream;.read:([BII)I // method@0518 │ │ +027ff6: 0a03 |001d: move-result v3 │ │ +027ff8: 12f4 |001e: const/4 v4, #int -1 // #ff │ │ +027ffa: 3243 0600 |001f: if-eq v3, v4, 0025 // +0006 │ │ +027ffe: 3212 0400 |0021: if-eq v2, v1, 0025 // +0004 │ │ +028002: b032 |0023: add-int/2addr v2, v3 │ │ +028004: 28f2 |0024: goto 0016 // -000e │ │ +028006: 6e10 1605 0000 |0025: invoke-virtual {v0}, Ljava/io/FileInputStream;.close:()V // method@0516 │ │ +02800c: 1210 |0028: const/4 v0, #int 1 // #1 │ │ +02800e: 5c50 5903 |0029: iput-boolean v0, v5, Lutil/PackedSortedList;.loaded:Z // field@0359 │ │ +028012: 0e00 |002b: return-void │ │ +028014: 0d00 |002c: move-exception v0 │ │ +028016: 2201 1d01 |002d: new-instance v1, Ljava/lang/IllegalStateException; // type@011d │ │ +02801a: 7020 6405 0100 |002f: invoke-direct {v1, v0}, Ljava/lang/IllegalStateException;.:(Ljava/lang/Throwable;)V // method@0564 │ │ +028020: 2802 |0032: goto 0034 // +0002 │ │ +028022: 2701 |0033: throw v1 │ │ +028024: 28ff |0034: goto 0033 // -0001 │ │ catches : 1 │ │ 0x0000 - 0x002b │ │ Ljava/io/IOException; -> 0x002c │ │ positions : │ │ 0x0000 line=331 │ │ 0x0007 line=332 │ │ 0x0011 line=333 │ │ @@ -28981,41 +28981,41 @@ │ │ type : '()V' │ │ access : 0x20002 (PRIVATE DECLARED_SYNCHRONIZED) │ │ code - │ │ registers : 4 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 47 16-bit code units │ │ -0280dc: |[0280dc] util.PackedSortedList.releaseDataPack:()V │ │ -0280ec: 1a00 e801 |0000: const-string v0, "Inconsistent state! persistedPackDataRefs = " // string@01e8 │ │ -0280f0: 1d03 |0002: monitor-enter v3 │ │ -0280f2: 5231 5d03 |0003: iget v1, v3, Lutil/PackedSortedList;.persistedPackDataRefs:I // field@035d │ │ -0280f6: d801 01ff |0005: add-int/lit8 v1, v1, #int -1 // #ff │ │ -0280fa: 5931 5d03 |0007: iput v1, v3, Lutil/PackedSortedList;.persistedPackDataRefs:I // field@035d │ │ -0280fe: 3a01 0d00 |0009: if-ltz v1, 0016 // +000d │ │ -028102: 3901 2200 |000b: if-nez v1, 002d // +0022 │ │ -028106: 5430 5c03 |000d: iget-object v0, v3, Lutil/PackedSortedList;.persistedPackData:Ljava/io/RandomAccessFile; // field@035c │ │ -02810a: 6e10 4505 0000 |000f: invoke-virtual {v0}, Ljava/io/RandomAccessFile;.close:()V // method@0545 │ │ -028110: 1200 |0012: const/4 v0, #int 0 // #0 │ │ -028112: 5b30 5c03 |0013: iput-object v0, v3, Lutil/PackedSortedList;.persistedPackData:Ljava/io/RandomAccessFile; // field@035c │ │ -028116: 2818 |0015: goto 002d // +0018 │ │ -028118: 2201 1d01 |0016: new-instance v1, Ljava/lang/IllegalStateException; // type@011d │ │ -02811c: 2202 2d01 |0018: new-instance v2, Ljava/lang/StringBuilder; // type@012d │ │ -028120: 7020 aa05 0200 |001a: invoke-direct {v2, v0}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05aa │ │ -028126: 5230 5d03 |001d: iget v0, v3, Lutil/PackedSortedList;.persistedPackDataRefs:I // field@035d │ │ -02812a: 6e20 ac05 0200 |001f: invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@05ac │ │ -028130: 6e10 b105 0200 |0022: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ -028136: 0c00 |0025: move-result-object v0 │ │ -028138: 7020 6305 0100 |0026: invoke-direct {v1, v0}, Ljava/lang/IllegalStateException;.:(Ljava/lang/String;)V // method@0563 │ │ -02813e: 2701 |0029: throw v1 │ │ -028140: 0d00 |002a: move-exception v0 │ │ -028142: 1e03 |002b: monitor-exit v3 │ │ -028144: 2700 |002c: throw v0 │ │ -028146: 1e03 |002d: monitor-exit v3 │ │ -028148: 0e00 |002e: return-void │ │ +0280d8: |[0280d8] util.PackedSortedList.releaseDataPack:()V │ │ +0280e8: 1a00 e801 |0000: const-string v0, "Inconsistent state! persistedPackDataRefs = " // string@01e8 │ │ +0280ec: 1d03 |0002: monitor-enter v3 │ │ +0280ee: 5231 5d03 |0003: iget v1, v3, Lutil/PackedSortedList;.persistedPackDataRefs:I // field@035d │ │ +0280f2: d801 01ff |0005: add-int/lit8 v1, v1, #int -1 // #ff │ │ +0280f6: 5931 5d03 |0007: iput v1, v3, Lutil/PackedSortedList;.persistedPackDataRefs:I // field@035d │ │ +0280fa: 3a01 0d00 |0009: if-ltz v1, 0016 // +000d │ │ +0280fe: 3901 2200 |000b: if-nez v1, 002d // +0022 │ │ +028102: 5430 5c03 |000d: iget-object v0, v3, Lutil/PackedSortedList;.persistedPackData:Ljava/io/RandomAccessFile; // field@035c │ │ +028106: 6e10 4505 0000 |000f: invoke-virtual {v0}, Ljava/io/RandomAccessFile;.close:()V // method@0545 │ │ +02810c: 1200 |0012: const/4 v0, #int 0 // #0 │ │ +02810e: 5b30 5c03 |0013: iput-object v0, v3, Lutil/PackedSortedList;.persistedPackData:Ljava/io/RandomAccessFile; // field@035c │ │ +028112: 2818 |0015: goto 002d // +0018 │ │ +028114: 2201 1d01 |0016: new-instance v1, Ljava/lang/IllegalStateException; // type@011d │ │ +028118: 2202 2d01 |0018: new-instance v2, Ljava/lang/StringBuilder; // type@012d │ │ +02811c: 7020 aa05 0200 |001a: invoke-direct {v2, v0}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05aa │ │ +028122: 5230 5d03 |001d: iget v0, v3, Lutil/PackedSortedList;.persistedPackDataRefs:I // field@035d │ │ +028126: 6e20 ac05 0200 |001f: invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@05ac │ │ +02812c: 6e10 b105 0200 |0022: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ +028132: 0c00 |0025: move-result-object v0 │ │ +028134: 7020 6305 0100 |0026: invoke-direct {v1, v0}, Ljava/lang/IllegalStateException;.:(Ljava/lang/String;)V // method@0563 │ │ +02813a: 2701 |0029: throw v1 │ │ +02813c: 0d00 |002a: move-exception v0 │ │ +02813e: 1e03 |002b: monitor-exit v3 │ │ +028140: 2700 |002c: throw v0 │ │ +028142: 1e03 |002d: monitor-exit v3 │ │ +028144: 0e00 |002e: return-void │ │ catches : 1 │ │ 0x0003 - 0x002a │ │ Ljava/io/IOException; -> 0x002d │ │ -> 0x002a │ │ positions : │ │ 0x0003 line=148 │ │ 0x000d line=153 │ │ @@ -29031,18 +29031,18 @@ │ │ type : '(ILjava/lang/Object;)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 3 │ │ ins : 3 │ │ outs : 1 │ │ insns size : 6 16-bit code units │ │ -027ebc: |[027ebc] util.PackedSortedList.add:(ILjava/lang/Object;)V │ │ -027ecc: 2201 3101 |0000: new-instance v1, Ljava/lang/UnsupportedOperationException; // type@0131 │ │ -027ed0: 7010 bd05 0100 |0002: invoke-direct {v1}, Ljava/lang/UnsupportedOperationException;.:()V // method@05bd │ │ -027ed6: 2701 |0005: throw v1 │ │ +027eb8: |[027eb8] util.PackedSortedList.add:(ILjava/lang/Object;)V │ │ +027ec8: 2201 3101 |0000: new-instance v1, Ljava/lang/UnsupportedOperationException; // type@0131 │ │ +027ecc: 7010 bd05 0100 |0002: invoke-direct {v1}, Ljava/lang/UnsupportedOperationException;.:()V // method@05bd │ │ +027ed2: 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; │ │ @@ -29052,25 +29052,25 @@ │ │ type : '(Ljava/lang/Object;)Z' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 4 │ │ ins : 2 │ │ outs : 3 │ │ insns size : 15 16-bit code units │ │ -027938: |[027938] util.PackedSortedList.add:(Ljava/lang/Object;)Z │ │ -027948: 7020 4007 3200 |0000: invoke-direct {v2, v3}, Lutil/PackedSortedList;.binarySearch:(Ljava/lang/Object;)I // method@0740 │ │ -02794e: 0a00 |0003: move-result v0 │ │ -027950: 1211 |0004: const/4 v1, #int 1 // #1 │ │ -027952: b010 |0005: add-int/2addr v0, v1 │ │ -027954: 7b00 |0006: neg-int v0, v0 │ │ -027956: 3b00 0400 |0007: if-gez v0, 000b // +0004 │ │ -02795a: 1203 |0009: const/4 v3, #int 0 // #0 │ │ -02795c: 0f03 |000a: return v3 │ │ -02795e: 7030 3f07 0203 |000b: invoke-direct {v2, v0, v3}, Lutil/PackedSortedList;.addInternal:(ILjava/lang/Object;)V // method@073f │ │ -027964: 0f01 |000e: return v1 │ │ +027934: |[027934] util.PackedSortedList.add:(Ljava/lang/Object;)Z │ │ +027944: 7020 4007 3200 |0000: invoke-direct {v2, v3}, Lutil/PackedSortedList;.binarySearch:(Ljava/lang/Object;)I // method@0740 │ │ +02794a: 0a00 |0003: move-result v0 │ │ +02794c: 1211 |0004: const/4 v1, #int 1 // #1 │ │ +02794e: b010 |0005: add-int/2addr v0, v1 │ │ +027950: 7b00 |0006: neg-int v0, v0 │ │ +027952: 3b00 0400 |0007: if-gez v0, 000b // +0004 │ │ +027956: 1203 |0009: const/4 v3, #int 0 // #0 │ │ +027958: 0f03 |000a: return v3 │ │ +02795a: 7030 3f07 0203 |000b: invoke-direct {v2, v0, v3}, Lutil/PackedSortedList;.addInternal:(ILjava/lang/Object;)V // method@073f │ │ +027960: 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; │ │ @@ -29080,18 +29080,18 @@ │ │ type : '(ILjava/util/Collection;)Z' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 3 │ │ ins : 3 │ │ outs : 1 │ │ insns size : 6 16-bit code units │ │ -027968: |[027968] util.PackedSortedList.addAll:(ILjava/util/Collection;)Z │ │ -027978: 2201 3101 |0000: new-instance v1, Ljava/lang/UnsupportedOperationException; // type@0131 │ │ -02797c: 7010 bd05 0100 |0002: invoke-direct {v1}, Ljava/lang/UnsupportedOperationException;.:()V // method@05bd │ │ -027982: 2701 |0005: throw v1 │ │ +027964: |[027964] util.PackedSortedList.addAll:(ILjava/util/Collection;)Z │ │ +027974: 2201 3101 |0000: new-instance v1, Ljava/lang/UnsupportedOperationException; // type@0131 │ │ +027978: 7010 bd05 0100 |0002: invoke-direct {v1}, Ljava/lang/UnsupportedOperationException;.:()V // method@05bd │ │ +02797e: 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; │ │ @@ -29101,26 +29101,26 @@ │ │ type : '(Ljava/util/Collection;)Z' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 3 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 20 16-bit code units │ │ -027984: |[027984] util.PackedSortedList.addAll:(Ljava/util/Collection;)Z │ │ -027994: 7210 1f06 0200 |0000: invoke-interface {v2}, Ljava/util/Collection;.iterator:()Ljava/util/Iterator; // method@061f │ │ -02799a: 0c02 |0003: move-result-object v2 │ │ -02799c: 7210 3c06 0200 |0004: invoke-interface {v2}, Ljava/util/Iterator;.hasNext:()Z // method@063c │ │ -0279a2: 0a00 |0007: move-result v0 │ │ -0279a4: 3800 0a00 |0008: if-eqz v0, 0012 // +000a │ │ -0279a8: 7210 3d06 0200 |000a: invoke-interface {v2}, Ljava/util/Iterator;.next:()Ljava/lang/Object; // method@063d │ │ -0279ae: 0c00 |000d: move-result-object v0 │ │ -0279b0: 6e20 3c07 0100 |000e: invoke-virtual {v1, v0}, Lutil/PackedSortedList;.add:(Ljava/lang/Object;)Z // method@073c │ │ -0279b6: 28f3 |0011: goto 0004 // -000d │ │ -0279b8: 1212 |0012: const/4 v2, #int 1 // #1 │ │ -0279ba: 0f02 |0013: return v2 │ │ +027980: |[027980] util.PackedSortedList.addAll:(Ljava/util/Collection;)Z │ │ +027990: 7210 1f06 0200 |0000: invoke-interface {v2}, Ljava/util/Collection;.iterator:()Ljava/util/Iterator; // method@061f │ │ +027996: 0c02 |0003: move-result-object v2 │ │ +027998: 7210 3c06 0200 |0004: invoke-interface {v2}, Ljava/util/Iterator;.hasNext:()Z // method@063c │ │ +02799e: 0a00 |0007: move-result v0 │ │ +0279a0: 3800 0a00 |0008: if-eqz v0, 0012 // +000a │ │ +0279a4: 7210 3d06 0200 |000a: invoke-interface {v2}, Ljava/util/Iterator;.next:()Ljava/lang/Object; // method@063d │ │ +0279aa: 0c00 |000d: move-result-object v0 │ │ +0279ac: 6e20 3c07 0100 |000e: invoke-virtual {v1, v0}, Lutil/PackedSortedList;.add:(Ljava/lang/Object;)Z // method@073c │ │ +0279b2: 28f3 |0011: goto 0004 // -000d │ │ +0279b4: 1212 |0012: const/4 v2, #int 1 // #1 │ │ +0279b6: 0f02 |0013: return v2 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=122 │ │ 0x0004 line=124 │ │ 0x000a line=125 │ │ locals : │ │ 0x0000 - 0x0014 reg=1 this Lutil/PackedSortedList; │ │ @@ -29131,18 +29131,18 @@ │ │ type : '()V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 6 16-bit code units │ │ -027f74: |[027f74] util.PackedSortedList.clear:()V │ │ -027f84: 2200 3101 |0000: new-instance v0, Ljava/lang/UnsupportedOperationException; // type@0131 │ │ -027f88: 7010 bd05 0000 |0002: invoke-direct {v0}, Ljava/lang/UnsupportedOperationException;.:()V // method@05bd │ │ -027f8e: 2700 |0005: throw v0 │ │ +027f70: |[027f70] util.PackedSortedList.clear:()V │ │ +027f80: 2200 3101 |0000: new-instance v0, Ljava/lang/UnsupportedOperationException; // type@0131 │ │ +027f84: 7010 bd05 0000 |0002: invoke-direct {v0}, Ljava/lang/UnsupportedOperationException;.:()V // method@05bd │ │ +027f8a: 2700 |0005: throw v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=138 │ │ locals : │ │ 0x0000 - 0x0006 reg=1 this Lutil/PackedSortedList; │ │ │ │ #5 : (in Lutil/PackedSortedList;) │ │ @@ -29150,20 +29150,20 @@ │ │ type : '()V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 0 │ │ insns size : 8 16-bit code units │ │ -027f90: |[027f90] util.PackedSortedList.clearAndReleaseAllMemory:()V │ │ -027fa0: 1200 |0000: const/4 v0, #int 0 // #0 │ │ -027fa2: 5910 5603 |0001: iput v0, v1, Lutil/PackedSortedList;.count:I // field@0356 │ │ -027fa6: 2300 9d01 |0003: new-array v0, v0, [B // type@019d │ │ -027faa: 5b10 5703 |0005: iput-object v0, v1, Lutil/PackedSortedList;.datapack:[B // field@0357 │ │ -027fae: 0e00 |0007: return-void │ │ +027f8c: |[027f8c] util.PackedSortedList.clearAndReleaseAllMemory:()V │ │ +027f9c: 1200 |0000: const/4 v0, #int 0 // #0 │ │ +027f9e: 5910 5603 |0001: iput v0, v1, Lutil/PackedSortedList;.count:I // field@0356 │ │ +027fa2: 2300 9d01 |0003: new-array v0, v0, [B // type@019d │ │ +027fa6: 5b10 5703 |0005: iput-object v0, v1, Lutil/PackedSortedList;.datapack:[B // field@0357 │ │ +027faa: 0e00 |0007: return-void │ │ catches : (none) │ │ positions : │ │ 0x0001 line=358 │ │ 0x0003 line=359 │ │ locals : │ │ 0x0000 - 0x0008 reg=1 this Lutil/PackedSortedList; │ │ │ │ @@ -29172,38 +29172,38 @@ │ │ type : '(Ljava/lang/Object;)Z' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 3 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 39 16-bit code units │ │ -0279bc: |[0279bc] util.PackedSortedList.contains:(Ljava/lang/Object;)Z │ │ -0279cc: 5510 5903 |0000: iget-boolean v0, v1, Lutil/PackedSortedList;.loaded:Z // field@0359 │ │ -0279d0: 3900 1a00 |0002: if-nez v0, 001c // +001a │ │ -0279d4: 7010 3a07 0100 |0004: invoke-direct {v1}, Lutil/PackedSortedList;.acquireDataPack:()V // method@073a │ │ -0279da: 7020 4007 2100 |0007: invoke-direct {v1, v2}, Lutil/PackedSortedList;.binarySearch:(Ljava/lang/Object;)I // method@0740 │ │ -0279e0: 0a02 |000a: move-result v2 │ │ -0279e2: 7010 4f07 0100 |000b: invoke-direct {v1}, Lutil/PackedSortedList;.releaseDataPack:()V // method@074f │ │ -0279e8: 2812 |000e: goto 0020 // +0012 │ │ -0279ea: 0d02 |000f: move-exception v2 │ │ -0279ec: 2808 |0010: goto 0018 // +0008 │ │ -0279ee: 0d02 |0011: move-exception v2 │ │ -0279f0: 2200 1d01 |0012: new-instance v0, Ljava/lang/IllegalStateException; // type@011d │ │ -0279f4: 7020 6405 2000 |0014: invoke-direct {v0, v2}, Ljava/lang/IllegalStateException;.:(Ljava/lang/Throwable;)V // method@0564 │ │ -0279fa: 2700 |0017: throw v0 │ │ -0279fc: 7010 4f07 0100 |0018: invoke-direct {v1}, Lutil/PackedSortedList;.releaseDataPack:()V // method@074f │ │ -027a02: 2702 |001b: throw v2 │ │ -027a04: 7020 4007 2100 |001c: invoke-direct {v1, v2}, Lutil/PackedSortedList;.binarySearch:(Ljava/lang/Object;)I // method@0740 │ │ -027a0a: 0a02 |001f: move-result v2 │ │ -027a0c: 12f0 |0020: const/4 v0, #int -1 // #ff │ │ -027a0e: 3702 0400 |0021: if-le v2, v0, 0025 // +0004 │ │ -027a12: 1212 |0023: const/4 v2, #int 1 // #1 │ │ -027a14: 2802 |0024: goto 0026 // +0002 │ │ -027a16: 1202 |0025: const/4 v2, #int 0 // #0 │ │ -027a18: 0f02 |0026: return v2 │ │ +0279b8: |[0279b8] util.PackedSortedList.contains:(Ljava/lang/Object;)Z │ │ +0279c8: 5510 5903 |0000: iget-boolean v0, v1, Lutil/PackedSortedList;.loaded:Z // field@0359 │ │ +0279cc: 3900 1a00 |0002: if-nez v0, 001c // +001a │ │ +0279d0: 7010 3a07 0100 |0004: invoke-direct {v1}, Lutil/PackedSortedList;.acquireDataPack:()V // method@073a │ │ +0279d6: 7020 4007 2100 |0007: invoke-direct {v1, v2}, Lutil/PackedSortedList;.binarySearch:(Ljava/lang/Object;)I // method@0740 │ │ +0279dc: 0a02 |000a: move-result v2 │ │ +0279de: 7010 4f07 0100 |000b: invoke-direct {v1}, Lutil/PackedSortedList;.releaseDataPack:()V // method@074f │ │ +0279e4: 2812 |000e: goto 0020 // +0012 │ │ +0279e6: 0d02 |000f: move-exception v2 │ │ +0279e8: 2808 |0010: goto 0018 // +0008 │ │ +0279ea: 0d02 |0011: move-exception v2 │ │ +0279ec: 2200 1d01 |0012: new-instance v0, Ljava/lang/IllegalStateException; // type@011d │ │ +0279f0: 7020 6405 2000 |0014: invoke-direct {v0, v2}, Ljava/lang/IllegalStateException;.:(Ljava/lang/Throwable;)V // method@0564 │ │ +0279f6: 2700 |0017: throw v0 │ │ +0279f8: 7010 4f07 0100 |0018: invoke-direct {v1}, Lutil/PackedSortedList;.releaseDataPack:()V // method@074f │ │ +0279fe: 2702 |001b: throw v2 │ │ +027a00: 7020 4007 2100 |001c: invoke-direct {v1, v2}, Lutil/PackedSortedList;.binarySearch:(Ljava/lang/Object;)I // method@0740 │ │ +027a06: 0a02 |001f: move-result v2 │ │ +027a08: 12f0 |0020: const/4 v0, #int -1 // #ff │ │ +027a0a: 3702 0400 |0021: if-le v2, v0, 0025 // +0004 │ │ +027a0e: 1212 |0023: const/4 v2, #int 1 // #1 │ │ +027a10: 2802 |0024: goto 0026 // +0002 │ │ +027a12: 1202 |0025: const/4 v2, #int 0 // #0 │ │ +027a14: 0f02 |0026: return v2 │ │ catches : 2 │ │ 0x0004 - 0x000b │ │ Ljava/lang/Exception; -> 0x0011 │ │ -> 0x000f │ │ 0x0012 - 0x0018 │ │ -> 0x000f │ │ positions : │ │ @@ -29224,18 +29224,18 @@ │ │ type : '(Ljava/util/Collection;)Z' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 2 │ │ outs : 1 │ │ insns size : 6 16-bit code units │ │ -027a34: |[027a34] util.PackedSortedList.containsAll:(Ljava/util/Collection;)Z │ │ -027a44: 2201 3101 |0000: new-instance v1, Ljava/lang/UnsupportedOperationException; // type@0131 │ │ -027a48: 7010 bd05 0100 |0002: invoke-direct {v1}, Ljava/lang/UnsupportedOperationException;.:()V // method@05bd │ │ -027a4e: 2701 |0005: throw v1 │ │ +027a30: |[027a30] util.PackedSortedList.containsAll:(Ljava/util/Collection;)Z │ │ +027a40: 2201 3101 |0000: new-instance v1, Ljava/lang/UnsupportedOperationException; // type@0131 │ │ +027a44: 7010 bd05 0100 |0002: invoke-direct {v1}, Ljava/lang/UnsupportedOperationException;.:()V // method@05bd │ │ +027a4a: 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; │ │ │ │ @@ -29244,56 +29244,56 @@ │ │ type : '(I)Ljava/lang/Object;' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 7 │ │ ins : 2 │ │ outs : 3 │ │ insns size : 72 16-bit code units │ │ -027b30: |[027b30] util.PackedSortedList.get:(I)Ljava/lang/Object; │ │ -027b40: 5250 5603 |0000: iget v0, v5, Lutil/PackedSortedList;.count:I // field@0356 │ │ -027b44: 3406 0400 |0002: if-lt v6, v0, 0006 // +0004 │ │ -027b48: 1206 |0004: const/4 v6, #int 0 // #0 │ │ -027b4a: 1106 |0005: return-object v6 │ │ -027b4c: 5250 5b03 |0006: iget v0, v5, Lutil/PackedSortedList;.object_size:I // field@035b │ │ -027b50: 9206 0600 |0008: mul-int v6, v6, v0 │ │ -027b54: 5550 5903 |000a: iget-boolean v0, v5, Lutil/PackedSortedList;.loaded:Z // field@0359 │ │ -027b58: 3800 0b00 |000c: if-eqz v0, 0017 // +000b │ │ -027b5c: 5450 5a03 |000e: iget-object v0, v5, Lutil/PackedSortedList;.objMgr:Lutil/ObjectPackagingManager; // field@035a │ │ -027b60: 5451 5703 |0010: iget-object v1, v5, Lutil/PackedSortedList;.datapack:[B // field@0357 │ │ -027b64: 7230 3507 1006 |0012: invoke-interface {v0, v1, v6}, Lutil/ObjectPackagingManager;.bytesToObject:([BI)Ljava/lang/Object; // method@0735 │ │ -027b6a: 0c06 |0015: move-result-object v6 │ │ -027b6c: 1106 |0016: return-object v6 │ │ -027b6e: 7010 3a07 0500 |0017: invoke-direct {v5}, Lutil/PackedSortedList;.acquireDataPack:()V // method@073a │ │ -027b74: 5250 5b03 |001a: iget v0, v5, Lutil/PackedSortedList;.object_size:I // field@035b │ │ -027b78: 2300 9d01 |001c: new-array v0, v0, [B // type@019d │ │ -027b7c: 5451 5c03 |001e: iget-object v1, v5, Lutil/PackedSortedList;.persistedPackData:Ljava/io/RandomAccessFile; // field@035c │ │ -027b80: 1d01 |0020: monitor-enter v1 │ │ -027b82: 5452 5c03 |0021: iget-object v2, v5, Lutil/PackedSortedList;.persistedPackData:Ljava/io/RandomAccessFile; // field@035c │ │ -027b86: 8163 |0023: int-to-long v3, v6 │ │ -027b88: 6e30 4705 3204 |0024: invoke-virtual {v2, v3, v4}, Ljava/io/RandomAccessFile;.seek:(J)V // method@0547 │ │ -027b8e: 5456 5c03 |0027: iget-object v6, v5, Lutil/PackedSortedList;.persistedPackData:Ljava/io/RandomAccessFile; // field@035c │ │ -027b92: 6e20 4605 0600 |0029: invoke-virtual {v6, v0}, Ljava/io/RandomAccessFile;.readFully:([B)V // method@0546 │ │ -027b98: 1e01 |002c: monitor-exit v1 │ │ -027b9a: 5456 5a03 |002d: iget-object v6, v5, Lutil/PackedSortedList;.objMgr:Lutil/ObjectPackagingManager; // field@035a │ │ -027b9e: 1201 |002f: const/4 v1, #int 0 // #0 │ │ -027ba0: 7230 3507 0601 |0030: invoke-interface {v6, v0, v1}, Lutil/ObjectPackagingManager;.bytesToObject:([BI)Ljava/lang/Object; // method@0735 │ │ -027ba6: 0c06 |0033: move-result-object v6 │ │ -027ba8: 7010 4f07 0500 |0034: invoke-direct {v5}, Lutil/PackedSortedList;.releaseDataPack:()V // method@074f │ │ -027bae: 1106 |0037: return-object v6 │ │ -027bb0: 0d06 |0038: move-exception v6 │ │ -027bb2: 1e01 |0039: monitor-exit v1 │ │ -027bb4: 2706 |003a: throw v6 │ │ -027bb6: 0d06 |003b: move-exception v6 │ │ -027bb8: 2808 |003c: goto 0044 // +0008 │ │ -027bba: 0d06 |003d: move-exception v6 │ │ -027bbc: 2200 1d01 |003e: new-instance v0, Ljava/lang/IllegalStateException; // type@011d │ │ -027bc0: 7020 6405 6000 |0040: invoke-direct {v0, v6}, Ljava/lang/IllegalStateException;.:(Ljava/lang/Throwable;)V // method@0564 │ │ -027bc6: 2700 |0043: throw v0 │ │ -027bc8: 7010 4f07 0500 |0044: invoke-direct {v5}, Lutil/PackedSortedList;.releaseDataPack:()V // method@074f │ │ -027bce: 2706 |0047: throw v6 │ │ +027b2c: |[027b2c] util.PackedSortedList.get:(I)Ljava/lang/Object; │ │ +027b3c: 5250 5603 |0000: iget v0, v5, Lutil/PackedSortedList;.count:I // field@0356 │ │ +027b40: 3406 0400 |0002: if-lt v6, v0, 0006 // +0004 │ │ +027b44: 1206 |0004: const/4 v6, #int 0 // #0 │ │ +027b46: 1106 |0005: return-object v6 │ │ +027b48: 5250 5b03 |0006: iget v0, v5, Lutil/PackedSortedList;.object_size:I // field@035b │ │ +027b4c: 9206 0600 |0008: mul-int v6, v6, v0 │ │ +027b50: 5550 5903 |000a: iget-boolean v0, v5, Lutil/PackedSortedList;.loaded:Z // field@0359 │ │ +027b54: 3800 0b00 |000c: if-eqz v0, 0017 // +000b │ │ +027b58: 5450 5a03 |000e: iget-object v0, v5, Lutil/PackedSortedList;.objMgr:Lutil/ObjectPackagingManager; // field@035a │ │ +027b5c: 5451 5703 |0010: iget-object v1, v5, Lutil/PackedSortedList;.datapack:[B // field@0357 │ │ +027b60: 7230 3507 1006 |0012: invoke-interface {v0, v1, v6}, Lutil/ObjectPackagingManager;.bytesToObject:([BI)Ljava/lang/Object; // method@0735 │ │ +027b66: 0c06 |0015: move-result-object v6 │ │ +027b68: 1106 |0016: return-object v6 │ │ +027b6a: 7010 3a07 0500 |0017: invoke-direct {v5}, Lutil/PackedSortedList;.acquireDataPack:()V // method@073a │ │ +027b70: 5250 5b03 |001a: iget v0, v5, Lutil/PackedSortedList;.object_size:I // field@035b │ │ +027b74: 2300 9d01 |001c: new-array v0, v0, [B // type@019d │ │ +027b78: 5451 5c03 |001e: iget-object v1, v5, Lutil/PackedSortedList;.persistedPackData:Ljava/io/RandomAccessFile; // field@035c │ │ +027b7c: 1d01 |0020: monitor-enter v1 │ │ +027b7e: 5452 5c03 |0021: iget-object v2, v5, Lutil/PackedSortedList;.persistedPackData:Ljava/io/RandomAccessFile; // field@035c │ │ +027b82: 8163 |0023: int-to-long v3, v6 │ │ +027b84: 6e30 4705 3204 |0024: invoke-virtual {v2, v3, v4}, Ljava/io/RandomAccessFile;.seek:(J)V // method@0547 │ │ +027b8a: 5456 5c03 |0027: iget-object v6, v5, Lutil/PackedSortedList;.persistedPackData:Ljava/io/RandomAccessFile; // field@035c │ │ +027b8e: 6e20 4605 0600 |0029: invoke-virtual {v6, v0}, Ljava/io/RandomAccessFile;.readFully:([B)V // method@0546 │ │ +027b94: 1e01 |002c: monitor-exit v1 │ │ +027b96: 5456 5a03 |002d: iget-object v6, v5, Lutil/PackedSortedList;.objMgr:Lutil/ObjectPackagingManager; // field@035a │ │ +027b9a: 1201 |002f: const/4 v1, #int 0 // #0 │ │ +027b9c: 7230 3507 0601 |0030: invoke-interface {v6, v0, v1}, Lutil/ObjectPackagingManager;.bytesToObject:([BI)Ljava/lang/Object; // method@0735 │ │ +027ba2: 0c06 |0033: move-result-object v6 │ │ +027ba4: 7010 4f07 0500 |0034: invoke-direct {v5}, Lutil/PackedSortedList;.releaseDataPack:()V // method@074f │ │ +027baa: 1106 |0037: return-object v6 │ │ +027bac: 0d06 |0038: move-exception v6 │ │ +027bae: 1e01 |0039: monitor-exit v1 │ │ +027bb0: 2706 |003a: throw v6 │ │ +027bb2: 0d06 |003b: move-exception v6 │ │ +027bb4: 2808 |003c: goto 0044 // +0008 │ │ +027bb6: 0d06 |003d: move-exception v6 │ │ +027bb8: 2200 1d01 |003e: new-instance v0, Ljava/lang/IllegalStateException; // type@011d │ │ +027bbc: 7020 6405 6000 |0040: invoke-direct {v0, v6}, Ljava/lang/IllegalStateException;.:(Ljava/lang/Throwable;)V // method@0564 │ │ +027bc2: 2700 |0043: throw v0 │ │ +027bc4: 7010 4f07 0500 |0044: invoke-direct {v5}, Lutil/PackedSortedList;.releaseDataPack:()V // method@074f │ │ +027bca: 2706 |0047: throw v6 │ │ catches : 6 │ │ 0x0017 - 0x0021 │ │ Ljava/io/IOException; -> 0x003d │ │ -> 0x003b │ │ 0x0021 - 0x002d │ │ -> 0x0038 │ │ 0x002d - 0x0034 │ │ @@ -29332,18 +29332,18 @@ │ │ type : '(Ljava/lang/Object;)I' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 2 │ │ outs : 1 │ │ insns size : 6 16-bit code units │ │ -027ae0: |[027ae0] util.PackedSortedList.indexOf:(Ljava/lang/Object;)I │ │ -027af0: 2201 3101 |0000: new-instance v1, Ljava/lang/UnsupportedOperationException; // type@0131 │ │ -027af4: 7010 bd05 0100 |0002: invoke-direct {v1}, Ljava/lang/UnsupportedOperationException;.:()V // method@05bd │ │ -027afa: 2701 |0005: throw v1 │ │ +027adc: |[027adc] util.PackedSortedList.indexOf:(Ljava/lang/Object;)I │ │ +027aec: 2201 3101 |0000: new-instance v1, Ljava/lang/UnsupportedOperationException; // type@0131 │ │ +027af0: 7010 bd05 0100 |0002: invoke-direct {v1}, Ljava/lang/UnsupportedOperationException;.:()V // method@05bd │ │ +027af6: 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; │ │ │ │ @@ -29352,21 +29352,21 @@ │ │ type : '()Z' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 0 │ │ insns size : 8 16-bit code units │ │ -027a50: |[027a50] util.PackedSortedList.isEmpty:()Z │ │ -027a60: 5210 5603 |0000: iget v0, v1, Lutil/PackedSortedList;.count:I // field@0356 │ │ -027a64: 3900 0400 |0002: if-nez v0, 0006 // +0004 │ │ -027a68: 1210 |0004: const/4 v0, #int 1 // #1 │ │ -027a6a: 2802 |0005: goto 0007 // +0002 │ │ -027a6c: 1200 |0006: const/4 v0, #int 0 // #0 │ │ -027a6e: 0f00 |0007: return v0 │ │ +027a4c: |[027a4c] util.PackedSortedList.isEmpty:()Z │ │ +027a5c: 5210 5603 |0000: iget v0, v1, Lutil/PackedSortedList;.count:I // field@0356 │ │ +027a60: 3900 0400 |0002: if-nez v0, 0006 // +0004 │ │ +027a64: 1210 |0004: const/4 v0, #int 1 // #1 │ │ +027a66: 2802 |0005: goto 0007 // +0002 │ │ +027a68: 1200 |0006: const/4 v0, #int 0 // #0 │ │ +027a6a: 0f00 |0007: return v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=233 │ │ locals : │ │ 0x0000 - 0x0008 reg=1 this Lutil/PackedSortedList; │ │ │ │ #11 : (in Lutil/PackedSortedList;) │ │ @@ -29374,18 +29374,18 @@ │ │ type : '()Ljava/util/Iterator;' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 6 16-bit code units │ │ -027c7c: |[027c7c] util.PackedSortedList.iterator:()Ljava/util/Iterator; │ │ -027c8c: 2200 3101 |0000: new-instance v0, Ljava/lang/UnsupportedOperationException; // type@0131 │ │ -027c90: 7010 bd05 0000 |0002: invoke-direct {v0}, Ljava/lang/UnsupportedOperationException;.:()V // method@05bd │ │ -027c96: 2700 |0005: throw v0 │ │ +027c78: |[027c78] util.PackedSortedList.iterator:()Ljava/util/Iterator; │ │ +027c88: 2200 3101 |0000: new-instance v0, Ljava/lang/UnsupportedOperationException; // type@0131 │ │ +027c8c: 7010 bd05 0000 |0002: invoke-direct {v0}, Ljava/lang/UnsupportedOperationException;.:()V // method@05bd │ │ +027c92: 2700 |0005: throw v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=238 │ │ locals : │ │ 0x0000 - 0x0006 reg=1 this Lutil/PackedSortedList; │ │ │ │ #12 : (in Lutil/PackedSortedList;) │ │ @@ -29393,18 +29393,18 @@ │ │ type : '(Ljava/lang/Object;)I' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 2 │ │ outs : 1 │ │ insns size : 6 16-bit code units │ │ -027afc: |[027afc] util.PackedSortedList.lastIndexOf:(Ljava/lang/Object;)I │ │ -027b0c: 2201 3101 |0000: new-instance v1, Ljava/lang/UnsupportedOperationException; // type@0131 │ │ -027b10: 7010 bd05 0100 |0002: invoke-direct {v1}, Ljava/lang/UnsupportedOperationException;.:()V // method@05bd │ │ -027b16: 2701 |0005: throw v1 │ │ +027af8: |[027af8] util.PackedSortedList.lastIndexOf:(Ljava/lang/Object;)I │ │ +027b08: 2201 3101 |0000: new-instance v1, Ljava/lang/UnsupportedOperationException; // type@0131 │ │ +027b0c: 7010 bd05 0100 |0002: invoke-direct {v1}, Ljava/lang/UnsupportedOperationException;.:()V // method@05bd │ │ +027b12: 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; │ │ │ │ @@ -29413,18 +29413,18 @@ │ │ type : '()Ljava/util/ListIterator;' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 6 16-bit code units │ │ -027cb4: |[027cb4] util.PackedSortedList.listIterator:()Ljava/util/ListIterator; │ │ -027cc4: 2200 3101 |0000: new-instance v0, Ljava/lang/UnsupportedOperationException; // type@0131 │ │ -027cc8: 7010 bd05 0000 |0002: invoke-direct {v0}, Ljava/lang/UnsupportedOperationException;.:()V // method@05bd │ │ -027cce: 2700 |0005: throw v0 │ │ +027cb0: |[027cb0] util.PackedSortedList.listIterator:()Ljava/util/ListIterator; │ │ +027cc0: 2200 3101 |0000: new-instance v0, Ljava/lang/UnsupportedOperationException; // type@0131 │ │ +027cc4: 7010 bd05 0000 |0002: invoke-direct {v0}, Ljava/lang/UnsupportedOperationException;.:()V // method@05bd │ │ +027cca: 2700 |0005: throw v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=248 │ │ locals : │ │ 0x0000 - 0x0006 reg=1 this Lutil/PackedSortedList; │ │ │ │ #14 : (in Lutil/PackedSortedList;) │ │ @@ -29432,18 +29432,18 @@ │ │ type : '(I)Ljava/util/ListIterator;' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 2 │ │ outs : 1 │ │ insns size : 6 16-bit code units │ │ -027cd0: |[027cd0] util.PackedSortedList.listIterator:(I)Ljava/util/ListIterator; │ │ -027ce0: 2201 3101 |0000: new-instance v1, Ljava/lang/UnsupportedOperationException; // type@0131 │ │ -027ce4: 7010 bd05 0100 |0002: invoke-direct {v1}, Ljava/lang/UnsupportedOperationException;.:()V // method@05bd │ │ -027cea: 2701 |0005: throw v1 │ │ +027ccc: |[027ccc] util.PackedSortedList.listIterator:(I)Ljava/util/ListIterator; │ │ +027cdc: 2201 3101 |0000: new-instance v1, Ljava/lang/UnsupportedOperationException; // type@0131 │ │ +027ce0: 7010 bd05 0100 |0002: invoke-direct {v1}, Ljava/lang/UnsupportedOperationException;.:()V // method@05bd │ │ +027ce6: 2701 |0005: throw v1 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=253 │ │ locals : │ │ 0x0000 - 0x0006 reg=0 this Lutil/PackedSortedList; │ │ 0x0000 - 0x0006 reg=1 (null) I │ │ │ │ @@ -29452,48 +29452,48 @@ │ │ type : '(Ljava/lang/String;)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 6 │ │ ins : 2 │ │ outs : 4 │ │ insns size : 66 16-bit code units │ │ -02803c: |[02803c] util.PackedSortedList.persist:(Ljava/lang/String;)V │ │ -02804c: 5540 5f03 |0000: iget-boolean v0, v4, Lutil/PackedSortedList;.persistentOutdated:Z // field@035f │ │ -028050: 1201 |0002: const/4 v1, #int 0 // #0 │ │ -028052: 3800 3500 |0003: if-eqz v0, 0038 // +0035 │ │ -028056: 5540 5903 |0005: iget-boolean v0, v4, Lutil/PackedSortedList;.loaded:Z // field@0359 │ │ -02805a: 3800 2900 |0007: if-eqz v0, 0030 // +0029 │ │ -02805e: 2200 fb00 |0009: new-instance v0, Ljava/io/File; // type@00fb │ │ -028062: 7020 0105 5000 |000b: invoke-direct {v0, v5}, Ljava/io/File;.:(Ljava/lang/String;)V // method@0501 │ │ -028068: 5b40 5e03 |000e: iput-object v0, v4, Lutil/PackedSortedList;.persistedPackFile:Ljava/io/File; // field@035e │ │ -02806c: 2205 ff00 |0010: new-instance v5, Ljava/io/FileOutputStream; // type@00ff │ │ -028070: 5440 5e03 |0012: iget-object v0, v4, Lutil/PackedSortedList;.persistedPackFile:Ljava/io/File; // field@035e │ │ -028074: 7020 1905 0500 |0014: invoke-direct {v5, v0}, Ljava/io/FileOutputStream;.:(Ljava/io/File;)V // method@0519 │ │ -02807a: 5440 5703 |0017: iget-object v0, v4, Lutil/PackedSortedList;.datapack:[B // field@0357 │ │ -02807e: 5242 5603 |0019: iget v2, v4, Lutil/PackedSortedList;.count:I // field@0356 │ │ -028082: 5243 5b03 |001b: iget v3, v4, Lutil/PackedSortedList;.object_size:I // field@035b │ │ -028086: 9202 0203 |001d: mul-int v2, v2, v3 │ │ -02808a: 6e40 2005 0521 |001f: invoke-virtual {v5, v0, v1, v2}, Ljava/io/FileOutputStream;.write:([BII)V // method@0520 │ │ -028090: 6e10 1e05 0500 |0022: invoke-virtual {v5}, Ljava/io/FileOutputStream;.flush:()V // method@051e │ │ -028096: 6e10 1d05 0500 |0025: invoke-virtual {v5}, Ljava/io/FileOutputStream;.close:()V // method@051d │ │ -02809c: 5c41 5f03 |0028: iput-boolean v1, v4, Lutil/PackedSortedList;.persistentOutdated:Z // field@035f │ │ -0280a0: 280e |002a: goto 0038 // +000e │ │ -0280a2: 0d00 |002b: move-exception v0 │ │ -0280a4: 6e10 1d05 0500 |002c: invoke-virtual {v5}, Ljava/io/FileOutputStream;.close:()V // method@051d │ │ -0280aa: 2700 |002f: throw v0 │ │ -0280ac: 2205 0001 |0030: new-instance v5, Ljava/io/IOException; // type@0100 │ │ -0280b0: 1a00 0704 |0032: const-string v0, "PackedSortedList can not be persisted when not in memory!" // string@0407 │ │ -0280b4: 7020 2105 0500 |0034: invoke-direct {v5, v0}, Ljava/io/IOException;.:(Ljava/lang/String;)V // method@0521 │ │ -0280ba: 2705 |0037: throw v5 │ │ -0280bc: 5545 5803 |0038: iget-boolean v5, v4, Lutil/PackedSortedList;.keepInMemory:Z // field@0358 │ │ -0280c0: 3905 0700 |003a: if-nez v5, 0041 // +0007 │ │ -0280c4: 1205 |003c: const/4 v5, #int 0 // #0 │ │ -0280c6: 5b45 5703 |003d: iput-object v5, v4, Lutil/PackedSortedList;.datapack:[B // field@0357 │ │ -0280ca: 5c41 5903 |003f: iput-boolean v1, v4, Lutil/PackedSortedList;.loaded:Z // field@0359 │ │ -0280ce: 0e00 |0041: return-void │ │ +028038: |[028038] util.PackedSortedList.persist:(Ljava/lang/String;)V │ │ +028048: 5540 5f03 |0000: iget-boolean v0, v4, Lutil/PackedSortedList;.persistentOutdated:Z // field@035f │ │ +02804c: 1201 |0002: const/4 v1, #int 0 // #0 │ │ +02804e: 3800 3500 |0003: if-eqz v0, 0038 // +0035 │ │ +028052: 5540 5903 |0005: iget-boolean v0, v4, Lutil/PackedSortedList;.loaded:Z // field@0359 │ │ +028056: 3800 2900 |0007: if-eqz v0, 0030 // +0029 │ │ +02805a: 2200 fb00 |0009: new-instance v0, Ljava/io/File; // type@00fb │ │ +02805e: 7020 0105 5000 |000b: invoke-direct {v0, v5}, Ljava/io/File;.:(Ljava/lang/String;)V // method@0501 │ │ +028064: 5b40 5e03 |000e: iput-object v0, v4, Lutil/PackedSortedList;.persistedPackFile:Ljava/io/File; // field@035e │ │ +028068: 2205 ff00 |0010: new-instance v5, Ljava/io/FileOutputStream; // type@00ff │ │ +02806c: 5440 5e03 |0012: iget-object v0, v4, Lutil/PackedSortedList;.persistedPackFile:Ljava/io/File; // field@035e │ │ +028070: 7020 1905 0500 |0014: invoke-direct {v5, v0}, Ljava/io/FileOutputStream;.:(Ljava/io/File;)V // method@0519 │ │ +028076: 5440 5703 |0017: iget-object v0, v4, Lutil/PackedSortedList;.datapack:[B // field@0357 │ │ +02807a: 5242 5603 |0019: iget v2, v4, Lutil/PackedSortedList;.count:I // field@0356 │ │ +02807e: 5243 5b03 |001b: iget v3, v4, Lutil/PackedSortedList;.object_size:I // field@035b │ │ +028082: 9202 0203 |001d: mul-int v2, v2, v3 │ │ +028086: 6e40 2005 0521 |001f: invoke-virtual {v5, v0, v1, v2}, Ljava/io/FileOutputStream;.write:([BII)V // method@0520 │ │ +02808c: 6e10 1e05 0500 |0022: invoke-virtual {v5}, Ljava/io/FileOutputStream;.flush:()V // method@051e │ │ +028092: 6e10 1d05 0500 |0025: invoke-virtual {v5}, Ljava/io/FileOutputStream;.close:()V // method@051d │ │ +028098: 5c41 5f03 |0028: iput-boolean v1, v4, Lutil/PackedSortedList;.persistentOutdated:Z // field@035f │ │ +02809c: 280e |002a: goto 0038 // +000e │ │ +02809e: 0d00 |002b: move-exception v0 │ │ +0280a0: 6e10 1d05 0500 |002c: invoke-virtual {v5}, Ljava/io/FileOutputStream;.close:()V // method@051d │ │ +0280a6: 2700 |002f: throw v0 │ │ +0280a8: 2205 0001 |0030: new-instance v5, Ljava/io/IOException; // type@0100 │ │ +0280ac: 1a00 0704 |0032: const-string v0, "PackedSortedList can not be persisted when not in memory!" // string@0407 │ │ +0280b0: 7020 2105 0500 |0034: invoke-direct {v5, v0}, Ljava/io/IOException;.:(Ljava/lang/String;)V // method@0521 │ │ +0280b6: 2705 |0037: throw v5 │ │ +0280b8: 5545 5803 |0038: iget-boolean v5, v4, Lutil/PackedSortedList;.keepInMemory:Z // field@0358 │ │ +0280bc: 3905 0700 |003a: if-nez v5, 0041 // +0007 │ │ +0280c0: 1205 |003c: const/4 v5, #int 0 // #0 │ │ +0280c2: 5b45 5703 |003d: iput-object v5, v4, Lutil/PackedSortedList;.datapack:[B // field@0357 │ │ +0280c6: 5c41 5903 |003f: iput-boolean v1, v4, Lutil/PackedSortedList;.loaded:Z // field@0359 │ │ +0280ca: 0e00 |0041: return-void │ │ catches : 1 │ │ 0x0017 - 0x0025 │ │ -> 0x002b │ │ positions : │ │ 0x0000 line=305 │ │ 0x0005 line=307 │ │ 0x0009 line=310 │ │ @@ -29517,18 +29517,18 @@ │ │ type : '(I)Ljava/lang/Object;' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 2 │ │ outs : 1 │ │ insns size : 6 16-bit code units │ │ -027c0c: |[027c0c] util.PackedSortedList.remove:(I)Ljava/lang/Object; │ │ -027c1c: 2201 3101 |0000: new-instance v1, Ljava/lang/UnsupportedOperationException; // type@0131 │ │ -027c20: 7010 bd05 0100 |0002: invoke-direct {v1}, Ljava/lang/UnsupportedOperationException;.:()V // method@05bd │ │ -027c26: 2701 |0005: throw v1 │ │ +027c08: |[027c08] util.PackedSortedList.remove:(I)Ljava/lang/Object; │ │ +027c18: 2201 3101 |0000: new-instance v1, Ljava/lang/UnsupportedOperationException; // type@0131 │ │ +027c1c: 7010 bd05 0100 |0002: invoke-direct {v1}, Ljava/lang/UnsupportedOperationException;.:()V // method@05bd │ │ +027c22: 2701 |0005: throw v1 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=263 │ │ locals : │ │ 0x0000 - 0x0006 reg=0 this Lutil/PackedSortedList; │ │ 0x0000 - 0x0006 reg=1 (null) I │ │ │ │ @@ -29537,18 +29537,18 @@ │ │ type : '(Ljava/lang/Object;)Z' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 2 │ │ outs : 1 │ │ insns size : 6 16-bit code units │ │ -027a70: |[027a70] util.PackedSortedList.remove:(Ljava/lang/Object;)Z │ │ -027a80: 2201 3101 |0000: new-instance v1, Ljava/lang/UnsupportedOperationException; // type@0131 │ │ -027a84: 7010 bd05 0100 |0002: invoke-direct {v1}, Ljava/lang/UnsupportedOperationException;.:()V // method@05bd │ │ -027a8a: 2701 |0005: throw v1 │ │ +027a6c: |[027a6c] util.PackedSortedList.remove:(Ljava/lang/Object;)Z │ │ +027a7c: 2201 3101 |0000: new-instance v1, Ljava/lang/UnsupportedOperationException; // type@0131 │ │ +027a80: 7010 bd05 0100 |0002: invoke-direct {v1}, Ljava/lang/UnsupportedOperationException;.:()V // method@05bd │ │ +027a86: 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; │ │ │ │ @@ -29557,18 +29557,18 @@ │ │ type : '(Ljava/util/Collection;)Z' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 2 │ │ outs : 1 │ │ insns size : 6 16-bit code units │ │ -027a8c: |[027a8c] util.PackedSortedList.removeAll:(Ljava/util/Collection;)Z │ │ -027a9c: 2201 3101 |0000: new-instance v1, Ljava/lang/UnsupportedOperationException; // type@0131 │ │ -027aa0: 7010 bd05 0100 |0002: invoke-direct {v1}, Ljava/lang/UnsupportedOperationException;.:()V // method@05bd │ │ -027aa6: 2701 |0005: throw v1 │ │ +027a88: |[027a88] util.PackedSortedList.removeAll:(Ljava/util/Collection;)Z │ │ +027a98: 2201 3101 |0000: new-instance v1, Ljava/lang/UnsupportedOperationException; // type@0131 │ │ +027a9c: 7010 bd05 0100 |0002: invoke-direct {v1}, Ljava/lang/UnsupportedOperationException;.:()V // method@05bd │ │ +027aa2: 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; │ │ │ │ @@ -29577,18 +29577,18 @@ │ │ type : '(Ljava/util/Collection;)Z' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 2 │ │ outs : 1 │ │ insns size : 6 16-bit code units │ │ -027aa8: |[027aa8] util.PackedSortedList.retainAll:(Ljava/util/Collection;)Z │ │ -027ab8: 2201 3101 |0000: new-instance v1, Ljava/lang/UnsupportedOperationException; // type@0131 │ │ -027abc: 7010 bd05 0100 |0002: invoke-direct {v1}, Ljava/lang/UnsupportedOperationException;.:()V // method@05bd │ │ -027ac2: 2701 |0005: throw v1 │ │ +027aa4: |[027aa4] util.PackedSortedList.retainAll:(Ljava/util/Collection;)Z │ │ +027ab4: 2201 3101 |0000: new-instance v1, Ljava/lang/UnsupportedOperationException; // type@0131 │ │ +027ab8: 7010 bd05 0100 |0002: invoke-direct {v1}, Ljava/lang/UnsupportedOperationException;.:()V // method@05bd │ │ +027abe: 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; │ │ │ │ @@ -29597,18 +29597,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 │ │ -027c28: |[027c28] util.PackedSortedList.set:(ILjava/lang/Object;)Ljava/lang/Object; │ │ -027c38: 2201 3101 |0000: new-instance v1, Ljava/lang/UnsupportedOperationException; // type@0131 │ │ -027c3c: 7010 bd05 0100 |0002: invoke-direct {v1}, Ljava/lang/UnsupportedOperationException;.:()V // method@05bd │ │ -027c42: 2701 |0005: throw v1 │ │ +027c24: |[027c24] util.PackedSortedList.set:(ILjava/lang/Object;)Ljava/lang/Object; │ │ +027c34: 2201 3101 |0000: new-instance v1, Ljava/lang/UnsupportedOperationException; // type@0131 │ │ +027c38: 7010 bd05 0100 |0002: invoke-direct {v1}, Ljava/lang/UnsupportedOperationException;.:()V // method@05bd │ │ +027c3e: 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; │ │ @@ -29618,17 +29618,17 @@ │ │ type : '()I' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 0 │ │ insns size : 3 16-bit code units │ │ -027b18: |[027b18] util.PackedSortedList.size:()I │ │ -027b28: 5210 5603 |0000: iget v0, v1, Lutil/PackedSortedList;.count:I // field@0356 │ │ -027b2c: 0f00 |0002: return v0 │ │ +027b14: |[027b14] util.PackedSortedList.size:()I │ │ +027b24: 5210 5603 |0000: iget v0, v1, Lutil/PackedSortedList;.count:I // field@0356 │ │ +027b28: 0f00 |0002: return v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=283 │ │ locals : │ │ 0x0000 - 0x0003 reg=1 this Lutil/PackedSortedList; │ │ │ │ #22 : (in Lutil/PackedSortedList;) │ │ @@ -29636,18 +29636,18 @@ │ │ type : '(II)Ljava/util/List;' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 3 │ │ ins : 3 │ │ outs : 1 │ │ insns size : 6 16-bit code units │ │ -027c98: |[027c98] util.PackedSortedList.subList:(II)Ljava/util/List; │ │ -027ca8: 2201 3101 |0000: new-instance v1, Ljava/lang/UnsupportedOperationException; // type@0131 │ │ -027cac: 7010 bd05 0100 |0002: invoke-direct {v1}, Ljava/lang/UnsupportedOperationException;.:()V // method@05bd │ │ -027cb2: 2701 |0005: throw v1 │ │ +027c94: |[027c94] util.PackedSortedList.subList:(II)Ljava/util/List; │ │ +027ca4: 2201 3101 |0000: new-instance v1, Ljava/lang/UnsupportedOperationException; // type@0131 │ │ +027ca8: 7010 bd05 0100 |0002: invoke-direct {v1}, Ljava/lang/UnsupportedOperationException;.:()V // method@05bd │ │ +027cae: 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 │ │ @@ -29657,18 +29657,18 @@ │ │ type : '()[Ljava/lang/Object;' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 6 16-bit code units │ │ -027c44: |[027c44] util.PackedSortedList.toArray:()[Ljava/lang/Object; │ │ -027c54: 2200 3101 |0000: new-instance v0, Ljava/lang/UnsupportedOperationException; // type@0131 │ │ -027c58: 7010 bd05 0000 |0002: invoke-direct {v0}, Ljava/lang/UnsupportedOperationException;.:()V // method@05bd │ │ -027c5e: 2700 |0005: throw v0 │ │ +027c40: |[027c40] util.PackedSortedList.toArray:()[Ljava/lang/Object; │ │ +027c50: 2200 3101 |0000: new-instance v0, Ljava/lang/UnsupportedOperationException; // type@0131 │ │ +027c54: 7010 bd05 0000 |0002: invoke-direct {v0}, Ljava/lang/UnsupportedOperationException;.:()V // method@05bd │ │ +027c5a: 2700 |0005: throw v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=293 │ │ locals : │ │ 0x0000 - 0x0006 reg=1 this Lutil/PackedSortedList; │ │ │ │ #24 : (in Lutil/PackedSortedList;) │ │ @@ -29676,18 +29676,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 │ │ -027c60: |[027c60] util.PackedSortedList.toArray:([Ljava/lang/Object;)[Ljava/lang/Object; │ │ -027c70: 2201 3101 |0000: new-instance v1, Ljava/lang/UnsupportedOperationException; // type@0131 │ │ -027c74: 7010 bd05 0100 |0002: invoke-direct {v1}, Ljava/lang/UnsupportedOperationException;.:()V // method@05bd │ │ -027c7a: 2701 |0005: throw v1 │ │ +027c5c: |[027c5c] util.PackedSortedList.toArray:([Ljava/lang/Object;)[Ljava/lang/Object; │ │ +027c6c: 2201 3101 |0000: new-instance v1, Ljava/lang/UnsupportedOperationException; // type@0131 │ │ +027c70: 7010 bd05 0100 |0002: invoke-direct {v1}, Ljava/lang/UnsupportedOperationException;.:()V // method@05bd │ │ +027c76: 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; │ │ │ │ @@ -29748,23 +29748,23 @@ │ │ type : '(Ljava/io/InputStream;)V' │ │ access : 0x10001 (PUBLIC CONSTRUCTOR) │ │ code - │ │ registers : 3 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 16 16-bit code units │ │ -0282d8: |[0282d8] util.PaddingCipherInputStream.:(Ljava/io/InputStream;)V │ │ -0282e8: 7010 2705 0100 |0000: invoke-direct {v1}, Ljava/io/InputStream;.:()V // method@0527 │ │ -0282ee: 1200 |0003: const/4 v0, #int 0 // #0 │ │ -0282f0: 5c10 6103 |0004: iput-boolean v0, v1, Lutil/PaddingCipherInputStream;.eof:Z // field@0361 │ │ -0282f4: 5c10 6203 |0006: iput-boolean v0, v1, Lutil/PaddingCipherInputStream;.init:Z // field@0362 │ │ -0282f8: 2200 f800 |0008: new-instance v0, Ljava/io/DataInputStream; // type@00f8 │ │ -0282fc: 7020 f004 2000 |000a: invoke-direct {v0, v2}, Ljava/io/DataInputStream;.:(Ljava/io/InputStream;)V // method@04f0 │ │ -028302: 5b10 6303 |000d: iput-object v0, v1, Lutil/PaddingCipherInputStream;.lowerIn:Ljava/io/DataInputStream; // field@0363 │ │ -028306: 0e00 |000f: return-void │ │ +0282d4: |[0282d4] util.PaddingCipherInputStream.:(Ljava/io/InputStream;)V │ │ +0282e4: 7010 2705 0100 |0000: invoke-direct {v1}, Ljava/io/InputStream;.:()V // method@0527 │ │ +0282ea: 1200 |0003: const/4 v0, #int 0 // #0 │ │ +0282ec: 5c10 6103 |0004: iput-boolean v0, v1, Lutil/PaddingCipherInputStream;.eof:Z // field@0361 │ │ +0282f0: 5c10 6203 |0006: iput-boolean v0, v1, Lutil/PaddingCipherInputStream;.init:Z // field@0362 │ │ +0282f4: 2200 f800 |0008: new-instance v0, Ljava/io/DataInputStream; // type@00f8 │ │ +0282f8: 7020 f004 2000 |000a: invoke-direct {v0, v2}, Ljava/io/DataInputStream;.:(Ljava/io/InputStream;)V // method@04f0 │ │ +0282fe: 5b10 6303 |000d: iput-object v0, v1, Lutil/PaddingCipherInputStream;.lowerIn:Ljava/io/DataInputStream; // field@0363 │ │ +028302: 0e00 |000f: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=17 │ │ 0x0004 line=13 │ │ 0x0006 line=14 │ │ 0x0008 line=18 │ │ locals : │ │ @@ -29776,42 +29776,42 @@ │ │ type : '()Ljava/io/ByteArrayInputStream;' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 6 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 50 16-bit code units │ │ -028248: |[028248] util.PaddingCipherInputStream.getNewBytes:()Ljava/io/ByteArrayInputStream; │ │ -028258: 1210 |0000: const/4 v0, #int 1 // #1 │ │ -02825a: 1201 |0001: const/4 v1, #int 0 // #0 │ │ -02825c: 5452 6303 |0002: iget-object v2, v5, Lutil/PaddingCipherInputStream;.lowerIn:Ljava/io/DataInputStream; // field@0363 │ │ -028260: 6e10 f404 0200 |0004: invoke-virtual {v2}, Ljava/io/DataInputStream;.readInt:()I // method@04f4 │ │ -028266: 0a02 |0007: move-result v2 │ │ -028268: 2323 9d01 |0008: new-array v3, v2, [B // type@019d │ │ -02826c: 5454 6303 |000a: iget-object v4, v5, Lutil/PaddingCipherInputStream;.lowerIn:Ljava/io/DataInputStream; // field@0363 │ │ -028270: 6e20 f204 3400 |000c: invoke-virtual {v4, v3}, Ljava/io/DataInputStream;.readFully:([B)V // method@04f2 │ │ -028276: 3902 0700 |000f: if-nez v2, 0016 // +0007 │ │ -02827a: 5b51 6003 |0011: iput-object v1, v5, Lutil/PaddingCipherInputStream;.byteBuf:Ljava/io/ByteArrayInputStream; // field@0360 │ │ -02827e: 5c50 6103 |0013: iput-boolean v0, v5, Lutil/PaddingCipherInputStream;.eof:Z // field@0361 │ │ -028282: 1101 |0015: return-object v1 │ │ -028284: 7110 ca06 0300 |0016: invoke-static {v3}, Lutil/Encryption;.decrypt:([B)[B // method@06ca │ │ -02828a: 0c00 |0019: move-result-object v0 │ │ -02828c: 2201 f600 |001a: new-instance v1, Ljava/io/ByteArrayInputStream; // type@00f6 │ │ -028290: 7020 e104 0100 |001c: invoke-direct {v1, v0}, Ljava/io/ByteArrayInputStream;.:([B)V // method@04e1 │ │ -028296: 5b51 6003 |001f: iput-object v1, v5, Lutil/PaddingCipherInputStream;.byteBuf:Ljava/io/ByteArrayInputStream; // field@0360 │ │ -02829a: 1101 |0021: return-object v1 │ │ -02829c: 0d00 |0022: move-exception v0 │ │ -02829e: 2201 0001 |0023: new-instance v1, Ljava/io/IOException; // type@0100 │ │ -0282a2: 6e10 5d05 0000 |0025: invoke-virtual {v0}, Ljava/lang/Exception;.getMessage:()Ljava/lang/String; // method@055d │ │ -0282a8: 0c00 |0028: move-result-object v0 │ │ -0282aa: 7020 2105 0100 |0029: invoke-direct {v1, v0}, Ljava/io/IOException;.:(Ljava/lang/String;)V // method@0521 │ │ -0282b0: 2701 |002c: throw v1 │ │ -0282b2: 5c50 6103 |002d: iput-boolean v0, v5, Lutil/PaddingCipherInputStream;.eof:Z // field@0361 │ │ -0282b6: 5b51 6003 |002f: iput-object v1, v5, Lutil/PaddingCipherInputStream;.byteBuf:Ljava/io/ByteArrayInputStream; // field@0360 │ │ -0282ba: 1101 |0031: return-object v1 │ │ +028244: |[028244] util.PaddingCipherInputStream.getNewBytes:()Ljava/io/ByteArrayInputStream; │ │ +028254: 1210 |0000: const/4 v0, #int 1 // #1 │ │ +028256: 1201 |0001: const/4 v1, #int 0 // #0 │ │ +028258: 5452 6303 |0002: iget-object v2, v5, Lutil/PaddingCipherInputStream;.lowerIn:Ljava/io/DataInputStream; // field@0363 │ │ +02825c: 6e10 f404 0200 |0004: invoke-virtual {v2}, Ljava/io/DataInputStream;.readInt:()I // method@04f4 │ │ +028262: 0a02 |0007: move-result v2 │ │ +028264: 2323 9d01 |0008: new-array v3, v2, [B // type@019d │ │ +028268: 5454 6303 |000a: iget-object v4, v5, Lutil/PaddingCipherInputStream;.lowerIn:Ljava/io/DataInputStream; // field@0363 │ │ +02826c: 6e20 f204 3400 |000c: invoke-virtual {v4, v3}, Ljava/io/DataInputStream;.readFully:([B)V // method@04f2 │ │ +028272: 3902 0700 |000f: if-nez v2, 0016 // +0007 │ │ +028276: 5b51 6003 |0011: iput-object v1, v5, Lutil/PaddingCipherInputStream;.byteBuf:Ljava/io/ByteArrayInputStream; // field@0360 │ │ +02827a: 5c50 6103 |0013: iput-boolean v0, v5, Lutil/PaddingCipherInputStream;.eof:Z // field@0361 │ │ +02827e: 1101 |0015: return-object v1 │ │ +028280: 7110 ca06 0300 |0016: invoke-static {v3}, Lutil/Encryption;.decrypt:([B)[B // method@06ca │ │ +028286: 0c00 |0019: move-result-object v0 │ │ +028288: 2201 f600 |001a: new-instance v1, Ljava/io/ByteArrayInputStream; // type@00f6 │ │ +02828c: 7020 e104 0100 |001c: invoke-direct {v1, v0}, Ljava/io/ByteArrayInputStream;.:([B)V // method@04e1 │ │ +028292: 5b51 6003 |001f: iput-object v1, v5, Lutil/PaddingCipherInputStream;.byteBuf:Ljava/io/ByteArrayInputStream; // field@0360 │ │ +028296: 1101 |0021: return-object v1 │ │ +028298: 0d00 |0022: move-exception v0 │ │ +02829a: 2201 0001 |0023: new-instance v1, Ljava/io/IOException; // type@0100 │ │ +02829e: 6e10 5d05 0000 |0025: invoke-virtual {v0}, Ljava/lang/Exception;.getMessage:()Ljava/lang/String; // method@055d │ │ +0282a4: 0c00 |0028: move-result-object v0 │ │ +0282a6: 7020 2105 0100 |0029: invoke-direct {v1, v0}, Ljava/io/IOException;.:(Ljava/lang/String;)V // method@0521 │ │ +0282ac: 2701 |002c: throw v1 │ │ +0282ae: 5c50 6103 |002d: iput-boolean v0, v5, Lutil/PaddingCipherInputStream;.eof:Z // field@0361 │ │ +0282b2: 5b51 6003 |002f: iput-object v1, v5, Lutil/PaddingCipherInputStream;.byteBuf:Ljava/io/ByteArrayInputStream; // field@0360 │ │ +0282b6: 1101 |0031: return-object v1 │ │ catches : 2 │ │ 0x0002 - 0x000f │ │ Ljava/io/EOFException; -> 0x002d │ │ 0x0016 - 0x0021 │ │ Ljava/lang/Exception; -> 0x0022 │ │ positions : │ │ 0x0002 line=92 │ │ @@ -29832,50 +29832,50 @@ │ │ type : '()V' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 7 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 63 16-bit code units │ │ -028324: |[028324] util.PaddingCipherInputStream.initRead:()V │ │ -028334: 5560 6203 |0000: iget-boolean v0, v6, Lutil/PaddingCipherInputStream;.init:Z // field@0362 │ │ -028338: 3800 0300 |0002: if-eqz v0, 0005 // +0003 │ │ -02833c: 0e00 |0004: return-void │ │ -02833e: 1210 |0005: const/4 v0, #int 1 // #1 │ │ -028340: 5c60 6203 |0006: iput-boolean v0, v6, Lutil/PaddingCipherInputStream;.init:Z // field@0362 │ │ -028344: 5461 6303 |0008: iget-object v1, v6, Lutil/PaddingCipherInputStream;.lowerIn:Ljava/io/DataInputStream; // field@0363 │ │ -028348: 6e10 f404 0100 |000a: invoke-virtual {v1}, Ljava/io/DataInputStream;.readInt:()I // method@04f4 │ │ -02834e: 0a00 |000d: move-result v0 │ │ -028350: 2804 |000e: goto 0012 // +0004 │ │ -028352: 5c60 6103 |000f: iput-boolean v0, v6, Lutil/PaddingCipherInputStream;.eof:Z // field@0361 │ │ -028356: 12f0 |0011: const/4 v0, #int -1 // #ff │ │ -028358: 5561 6103 |0012: iget-boolean v1, v6, Lutil/PaddingCipherInputStream;.eof:Z // field@0361 │ │ -02835c: 3901 2a00 |0014: if-nez v1, 003e // +002a │ │ -028360: 6201 3203 |0016: sget-object v1, Lutil/Encryption;.ENCR_INIT_BYTES:[B // field@0332 │ │ -028364: 2111 |0018: array-length v1, v1 │ │ -028366: 1a02 e004 |0019: const-string v2, "Wrong keyphrase!" // string@04e0 │ │ -02836a: 3310 1d00 |001b: if-ne v0, v1, 0038 // +001d │ │ -02836e: 2301 9d01 |001d: new-array v1, v0, [B // type@019d │ │ -028372: 5463 6303 |001f: iget-object v3, v6, Lutil/PaddingCipherInputStream;.lowerIn:Ljava/io/DataInputStream; // field@0363 │ │ -028376: 6e20 f204 1300 |0021: invoke-virtual {v3, v1}, Ljava/io/DataInputStream;.readFully:([B)V // method@04f2 │ │ -02837c: 1203 |0024: const/4 v3, #int 0 // #0 │ │ -02837e: 3503 1900 |0025: if-ge v3, v0, 003e // +0019 │ │ -028382: 4804 0103 |0027: aget-byte v4, v1, v3 │ │ -028386: 6205 3203 |0029: sget-object v5, Lutil/Encryption;.ENCR_INIT_BYTES:[B // field@0332 │ │ -02838a: 4805 0503 |002b: aget-byte v5, v5, v3 │ │ -02838e: 3354 0500 |002d: if-ne v4, v5, 0032 // +0005 │ │ -028392: d803 0301 |002f: add-int/lit8 v3, v3, #int 1 // #01 │ │ -028396: 28f4 |0031: goto 0025 // -000c │ │ -028398: 2200 0001 |0032: new-instance v0, Ljava/io/IOException; // type@0100 │ │ -02839c: 7020 2105 2000 |0034: invoke-direct {v0, v2}, Ljava/io/IOException;.:(Ljava/lang/String;)V // method@0521 │ │ -0283a2: 2700 |0037: throw v0 │ │ -0283a4: 2200 0001 |0038: new-instance v0, Ljava/io/IOException; // type@0100 │ │ -0283a8: 7020 2105 2000 |003a: invoke-direct {v0, v2}, Ljava/io/IOException;.:(Ljava/lang/String;)V // method@0521 │ │ -0283ae: 2700 |003d: throw v0 │ │ -0283b0: 0e00 |003e: return-void │ │ +028320: |[028320] util.PaddingCipherInputStream.initRead:()V │ │ +028330: 5560 6203 |0000: iget-boolean v0, v6, Lutil/PaddingCipherInputStream;.init:Z // field@0362 │ │ +028334: 3800 0300 |0002: if-eqz v0, 0005 // +0003 │ │ +028338: 0e00 |0004: return-void │ │ +02833a: 1210 |0005: const/4 v0, #int 1 // #1 │ │ +02833c: 5c60 6203 |0006: iput-boolean v0, v6, Lutil/PaddingCipherInputStream;.init:Z // field@0362 │ │ +028340: 5461 6303 |0008: iget-object v1, v6, Lutil/PaddingCipherInputStream;.lowerIn:Ljava/io/DataInputStream; // field@0363 │ │ +028344: 6e10 f404 0100 |000a: invoke-virtual {v1}, Ljava/io/DataInputStream;.readInt:()I // method@04f4 │ │ +02834a: 0a00 |000d: move-result v0 │ │ +02834c: 2804 |000e: goto 0012 // +0004 │ │ +02834e: 5c60 6103 |000f: iput-boolean v0, v6, Lutil/PaddingCipherInputStream;.eof:Z // field@0361 │ │ +028352: 12f0 |0011: const/4 v0, #int -1 // #ff │ │ +028354: 5561 6103 |0012: iget-boolean v1, v6, Lutil/PaddingCipherInputStream;.eof:Z // field@0361 │ │ +028358: 3901 2a00 |0014: if-nez v1, 003e // +002a │ │ +02835c: 6201 3203 |0016: sget-object v1, Lutil/Encryption;.ENCR_INIT_BYTES:[B // field@0332 │ │ +028360: 2111 |0018: array-length v1, v1 │ │ +028362: 1a02 e004 |0019: const-string v2, "Wrong keyphrase!" // string@04e0 │ │ +028366: 3310 1d00 |001b: if-ne v0, v1, 0038 // +001d │ │ +02836a: 2301 9d01 |001d: new-array v1, v0, [B // type@019d │ │ +02836e: 5463 6303 |001f: iget-object v3, v6, Lutil/PaddingCipherInputStream;.lowerIn:Ljava/io/DataInputStream; // field@0363 │ │ +028372: 6e20 f204 1300 |0021: invoke-virtual {v3, v1}, Ljava/io/DataInputStream;.readFully:([B)V // method@04f2 │ │ +028378: 1203 |0024: const/4 v3, #int 0 // #0 │ │ +02837a: 3503 1900 |0025: if-ge v3, v0, 003e // +0019 │ │ +02837e: 4804 0103 |0027: aget-byte v4, v1, v3 │ │ +028382: 6205 3203 |0029: sget-object v5, Lutil/Encryption;.ENCR_INIT_BYTES:[B // field@0332 │ │ +028386: 4805 0503 |002b: aget-byte v5, v5, v3 │ │ +02838a: 3354 0500 |002d: if-ne v4, v5, 0032 // +0005 │ │ +02838e: d803 0301 |002f: add-int/lit8 v3, v3, #int 1 // #01 │ │ +028392: 28f4 |0031: goto 0025 // -000c │ │ +028394: 2200 0001 |0032: new-instance v0, Ljava/io/IOException; // type@0100 │ │ +028398: 7020 2105 2000 |0034: invoke-direct {v0, v2}, Ljava/io/IOException;.:(Ljava/lang/String;)V // method@0521 │ │ +02839e: 2700 |0037: throw v0 │ │ +0283a0: 2200 0001 |0038: new-instance v0, Ljava/io/IOException; // type@0100 │ │ +0283a4: 7020 2105 2000 |003a: invoke-direct {v0, v2}, Ljava/io/IOException;.:(Ljava/lang/String;)V // method@0521 │ │ +0283aa: 2700 |003d: throw v0 │ │ +0283ac: 0e00 |003e: return-void │ │ catches : 1 │ │ 0x0008 - 0x000e │ │ Ljava/io/EOFException; -> 0x000f │ │ positions : │ │ 0x0000 line=23 │ │ 0x0006 line=27 │ │ 0x0008 line=31 │ │ @@ -29896,22 +29896,22 @@ │ │ type : '()I' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 11 16-bit code units │ │ -02815c: |[02815c] util.PaddingCipherInputStream.available:()I │ │ -02816c: 5410 6003 |0000: iget-object v0, v1, Lutil/PaddingCipherInputStream;.byteBuf:Ljava/io/ByteArrayInputStream; // field@0360 │ │ -028170: 3800 0700 |0002: if-eqz v0, 0009 // +0007 │ │ -028174: 6e10 e304 0000 |0004: invoke-virtual {v0}, Ljava/io/ByteArrayInputStream;.available:()I // method@04e3 │ │ -02817a: 0a00 |0007: move-result v0 │ │ -02817c: 0f00 |0008: return v0 │ │ -02817e: 1200 |0009: const/4 v0, #int 0 // #0 │ │ -028180: 0f00 |000a: return v0 │ │ +028158: |[028158] util.PaddingCipherInputStream.available:()I │ │ +028168: 5410 6003 |0000: iget-object v0, v1, Lutil/PaddingCipherInputStream;.byteBuf:Ljava/io/ByteArrayInputStream; // field@0360 │ │ +02816c: 3800 0700 |0002: if-eqz v0, 0009 // +0007 │ │ +028170: 6e10 e304 0000 |0004: invoke-virtual {v0}, Ljava/io/ByteArrayInputStream;.available:()I // method@04e3 │ │ +028176: 0a00 |0007: move-result v0 │ │ +028178: 0f00 |0008: return v0 │ │ +02817a: 1200 |0009: const/4 v0, #int 0 // #0 │ │ +02817c: 0f00 |000a: return v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=83 │ │ 0x0004 line=84 │ │ locals : │ │ 0x0000 - 0x000b reg=1 this Lutil/PaddingCipherInputStream; │ │ │ │ @@ -29920,18 +29920,18 @@ │ │ type : '()V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 6 16-bit code units │ │ -028308: |[028308] util.PaddingCipherInputStream.close:()V │ │ -028318: 5410 6303 |0000: iget-object v0, v1, Lutil/PaddingCipherInputStream;.lowerIn:Ljava/io/DataInputStream; // field@0363 │ │ -02831c: 6e10 f104 0000 |0002: invoke-virtual {v0}, Ljava/io/DataInputStream;.close:()V // method@04f1 │ │ -028322: 0e00 |0005: return-void │ │ +028304: |[028304] util.PaddingCipherInputStream.close:()V │ │ +028314: 5410 6303 |0000: iget-object v0, v1, Lutil/PaddingCipherInputStream;.lowerIn:Ljava/io/DataInputStream; // field@0363 │ │ +028318: 6e10 f104 0000 |0002: invoke-virtual {v0}, Ljava/io/DataInputStream;.close:()V // method@04f1 │ │ +02831e: 0e00 |0005: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=119 │ │ locals : │ │ 0x0000 - 0x0006 reg=1 this Lutil/PaddingCipherInputStream; │ │ │ │ #2 : (in Lutil/PaddingCipherInputStream;) │ │ @@ -29939,36 +29939,36 @@ │ │ type : '()I' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 3 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 39 16-bit code units │ │ -028184: |[028184] util.PaddingCipherInputStream.read:()I │ │ -028194: 5520 6203 |0000: iget-boolean v0, v2, Lutil/PaddingCipherInputStream;.init:Z // field@0362 │ │ -028198: 3900 0500 |0002: if-nez v0, 0007 // +0005 │ │ -02819c: 7010 5d07 0200 |0004: invoke-direct {v2}, Lutil/PaddingCipherInputStream;.initRead:()V // method@075d │ │ -0281a2: 5520 6103 |0007: iget-boolean v0, v2, Lutil/PaddingCipherInputStream;.eof:Z // field@0361 │ │ -0281a6: 12f1 |0009: const/4 v1, #int -1 // #ff │ │ -0281a8: 3800 0300 |000a: if-eqz v0, 000d // +0003 │ │ -0281ac: 0f01 |000c: return v1 │ │ -0281ae: 5420 6003 |000d: iget-object v0, v2, Lutil/PaddingCipherInputStream;.byteBuf:Ljava/io/ByteArrayInputStream; // field@0360 │ │ -0281b2: 3800 0800 |000f: if-eqz v0, 0017 // +0008 │ │ -0281b6: 6e10 e304 0000 |0011: invoke-virtual {v0}, Ljava/io/ByteArrayInputStream;.available:()I // method@04e3 │ │ -0281bc: 0a00 |0014: move-result v0 │ │ -0281be: 3900 0b00 |0015: if-nez v0, 0020 // +000b │ │ -0281c2: 7010 5c07 0200 |0017: invoke-direct {v2}, Lutil/PaddingCipherInputStream;.getNewBytes:()Ljava/io/ByteArrayInputStream; // method@075c │ │ -0281c8: 0c00 |001a: move-result-object v0 │ │ -0281ca: 5b20 6003 |001b: iput-object v0, v2, Lutil/PaddingCipherInputStream;.byteBuf:Ljava/io/ByteArrayInputStream; // field@0360 │ │ -0281ce: 3900 0300 |001d: if-nez v0, 0020 // +0003 │ │ -0281d2: 0f01 |001f: return v1 │ │ -0281d4: 5420 6003 |0020: iget-object v0, v2, Lutil/PaddingCipherInputStream;.byteBuf:Ljava/io/ByteArrayInputStream; // field@0360 │ │ -0281d8: 6e10 e404 0000 |0022: invoke-virtual {v0}, Ljava/io/ByteArrayInputStream;.read:()I // method@04e4 │ │ -0281de: 0a00 |0025: move-result v0 │ │ -0281e0: 0f00 |0026: return v0 │ │ +028180: |[028180] util.PaddingCipherInputStream.read:()I │ │ +028190: 5520 6203 |0000: iget-boolean v0, v2, Lutil/PaddingCipherInputStream;.init:Z // field@0362 │ │ +028194: 3900 0500 |0002: if-nez v0, 0007 // +0005 │ │ +028198: 7010 5d07 0200 |0004: invoke-direct {v2}, Lutil/PaddingCipherInputStream;.initRead:()V // method@075d │ │ +02819e: 5520 6103 |0007: iget-boolean v0, v2, Lutil/PaddingCipherInputStream;.eof:Z // field@0361 │ │ +0281a2: 12f1 |0009: const/4 v1, #int -1 // #ff │ │ +0281a4: 3800 0300 |000a: if-eqz v0, 000d // +0003 │ │ +0281a8: 0f01 |000c: return v1 │ │ +0281aa: 5420 6003 |000d: iget-object v0, v2, Lutil/PaddingCipherInputStream;.byteBuf:Ljava/io/ByteArrayInputStream; // field@0360 │ │ +0281ae: 3800 0800 |000f: if-eqz v0, 0017 // +0008 │ │ +0281b2: 6e10 e304 0000 |0011: invoke-virtual {v0}, Ljava/io/ByteArrayInputStream;.available:()I // method@04e3 │ │ +0281b8: 0a00 |0014: move-result v0 │ │ +0281ba: 3900 0b00 |0015: if-nez v0, 0020 // +000b │ │ +0281be: 7010 5c07 0200 |0017: invoke-direct {v2}, Lutil/PaddingCipherInputStream;.getNewBytes:()Ljava/io/ByteArrayInputStream; // method@075c │ │ +0281c4: 0c00 |001a: move-result-object v0 │ │ +0281c6: 5b20 6003 |001b: iput-object v0, v2, Lutil/PaddingCipherInputStream;.byteBuf:Ljava/io/ByteArrayInputStream; // field@0360 │ │ +0281ca: 3900 0300 |001d: if-nez v0, 0020 // +0003 │ │ +0281ce: 0f01 |001f: return v1 │ │ +0281d0: 5420 6003 |0020: iget-object v0, v2, Lutil/PaddingCipherInputStream;.byteBuf:Ljava/io/ByteArrayInputStream; // field@0360 │ │ +0281d4: 6e10 e404 0000 |0022: invoke-virtual {v0}, Ljava/io/ByteArrayInputStream;.read:()I // method@04e4 │ │ +0281da: 0a00 |0025: move-result v0 │ │ +0281dc: 0f00 |0026: return v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=50 │ │ 0x0004 line=51 │ │ 0x0007 line=52 │ │ 0x000d line=54 │ │ 0x0017 line=55 │ │ @@ -29981,38 +29981,38 @@ │ │ type : '([BII)I' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 7 │ │ ins : 4 │ │ outs : 4 │ │ insns size : 42 16-bit code units │ │ -0281e4: |[0281e4] util.PaddingCipherInputStream.read:([BII)I │ │ -0281f4: 5530 6203 |0000: iget-boolean v0, v3, Lutil/PaddingCipherInputStream;.init:Z // field@0362 │ │ -0281f8: 3900 0500 |0002: if-nez v0, 0007 // +0005 │ │ -0281fc: 7010 5d07 0300 |0004: invoke-direct {v3}, Lutil/PaddingCipherInputStream;.initRead:()V // method@075d │ │ -028202: 6e10 5a07 0300 |0007: invoke-virtual {v3}, Lutil/PaddingCipherInputStream;.available:()I // method@075a │ │ -028208: 0a00 |000a: move-result v0 │ │ -02820a: 3800 0900 |000b: if-eqz v0, 0014 // +0009 │ │ -02820e: 5430 6003 |000d: iget-object v0, v3, Lutil/PaddingCipherInputStream;.byteBuf:Ljava/io/ByteArrayInputStream; // field@0360 │ │ -028212: 6e40 e504 4065 |000f: invoke-virtual {v0, v4, v5, v6}, Ljava/io/ByteArrayInputStream;.read:([BII)I // method@04e5 │ │ -028218: 0a04 |0012: move-result v4 │ │ -02821a: 0f04 |0013: return v4 │ │ -02821c: 5530 6103 |0014: iget-boolean v0, v3, Lutil/PaddingCipherInputStream;.eof:Z // field@0361 │ │ -028220: 12f1 |0016: const/4 v1, #int -1 // #ff │ │ -028222: 3800 0300 |0017: if-eqz v0, 001a // +0003 │ │ -028226: 0f01 |0019: return v1 │ │ -028228: 7010 5c07 0300 |001a: invoke-direct {v3}, Lutil/PaddingCipherInputStream;.getNewBytes:()Ljava/io/ByteArrayInputStream; // method@075c │ │ -02822e: 0c00 |001d: move-result-object v0 │ │ -028230: 5b30 6003 |001e: iput-object v0, v3, Lutil/PaddingCipherInputStream;.byteBuf:Ljava/io/ByteArrayInputStream; // field@0360 │ │ -028234: 5532 6103 |0020: iget-boolean v2, v3, Lutil/PaddingCipherInputStream;.eof:Z // field@0361 │ │ -028238: 3802 0300 |0022: if-eqz v2, 0025 // +0003 │ │ -02823c: 0f01 |0024: return v1 │ │ -02823e: 6e40 e504 4065 |0025: invoke-virtual {v0, v4, v5, v6}, Ljava/io/ByteArrayInputStream;.read:([BII)I // method@04e5 │ │ -028244: 0a04 |0028: move-result v4 │ │ -028246: 0f04 |0029: return v4 │ │ +0281e0: |[0281e0] util.PaddingCipherInputStream.read:([BII)I │ │ +0281f0: 5530 6203 |0000: iget-boolean v0, v3, Lutil/PaddingCipherInputStream;.init:Z // field@0362 │ │ +0281f4: 3900 0500 |0002: if-nez v0, 0007 // +0005 │ │ +0281f8: 7010 5d07 0300 |0004: invoke-direct {v3}, Lutil/PaddingCipherInputStream;.initRead:()V // method@075d │ │ +0281fe: 6e10 5a07 0300 |0007: invoke-virtual {v3}, Lutil/PaddingCipherInputStream;.available:()I // method@075a │ │ +028204: 0a00 |000a: move-result v0 │ │ +028206: 3800 0900 |000b: if-eqz v0, 0014 // +0009 │ │ +02820a: 5430 6003 |000d: iget-object v0, v3, Lutil/PaddingCipherInputStream;.byteBuf:Ljava/io/ByteArrayInputStream; // field@0360 │ │ +02820e: 6e40 e504 4065 |000f: invoke-virtual {v0, v4, v5, v6}, Ljava/io/ByteArrayInputStream;.read:([BII)I // method@04e5 │ │ +028214: 0a04 |0012: move-result v4 │ │ +028216: 0f04 |0013: return v4 │ │ +028218: 5530 6103 |0014: iget-boolean v0, v3, Lutil/PaddingCipherInputStream;.eof:Z // field@0361 │ │ +02821c: 12f1 |0016: const/4 v1, #int -1 // #ff │ │ +02821e: 3800 0300 |0017: if-eqz v0, 001a // +0003 │ │ +028222: 0f01 |0019: return v1 │ │ +028224: 7010 5c07 0300 |001a: invoke-direct {v3}, Lutil/PaddingCipherInputStream;.getNewBytes:()Ljava/io/ByteArrayInputStream; // method@075c │ │ +02822a: 0c00 |001d: move-result-object v0 │ │ +02822c: 5b30 6003 |001e: iput-object v0, v3, Lutil/PaddingCipherInputStream;.byteBuf:Ljava/io/ByteArrayInputStream; // field@0360 │ │ +028230: 5532 6103 |0020: iget-boolean v2, v3, Lutil/PaddingCipherInputStream;.eof:Z // field@0361 │ │ +028234: 3802 0300 |0022: if-eqz v2, 0025 // +0003 │ │ +028238: 0f01 |0024: return v1 │ │ +02823a: 6e40 e504 4065 |0025: invoke-virtual {v0, v4, v5, v6}, Ljava/io/ByteArrayInputStream;.read:([BII)I // method@04e5 │ │ +028240: 0a04 |0028: move-result v4 │ │ +028242: 0f04 |0029: return v4 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=65 │ │ 0x0004 line=66 │ │ 0x0007 line=67 │ │ 0x000d line=68 │ │ 0x0014 line=69 │ │ @@ -30084,23 +30084,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 │ │ -0283c4: |[0283c4] util.PaddingCipherOutputStream.:(Ljava/io/OutputStream;I)V │ │ -0283d4: 7010 3405 0000 |0000: invoke-direct {v0}, Ljava/io/OutputStream;.:()V // method@0534 │ │ -0283da: 5902 6403 |0003: iput v2, v0, Lutil/PaddingCipherOutputStream;.bufSize:I // field@0364 │ │ -0283de: 5b01 6703 |0005: iput-object v1, v0, Lutil/PaddingCipherOutputStream;.underlying:Ljava/io/OutputStream; // field@0367 │ │ -0283e2: 2201 f700 |0007: new-instance v1, Ljava/io/ByteArrayOutputStream; // type@00f7 │ │ -0283e6: 1302 0004 |0009: const/16 v2, #int 1024 // #400 │ │ -0283ea: 7020 e704 2100 |000b: invoke-direct {v1, v2}, Ljava/io/ByteArrayOutputStream;.:(I)V // method@04e7 │ │ -0283f0: 5b01 6503 |000e: iput-object v1, v0, Lutil/PaddingCipherOutputStream;.bytesBuffer:Ljava/io/ByteArrayOutputStream; // field@0365 │ │ -0283f4: 0e00 |0010: return-void │ │ +0283c0: |[0283c0] util.PaddingCipherOutputStream.:(Ljava/io/OutputStream;I)V │ │ +0283d0: 7010 3405 0000 |0000: invoke-direct {v0}, Ljava/io/OutputStream;.:()V // method@0534 │ │ +0283d6: 5902 6403 |0003: iput v2, v0, Lutil/PaddingCipherOutputStream;.bufSize:I // field@0364 │ │ +0283da: 5b01 6703 |0005: iput-object v1, v0, Lutil/PaddingCipherOutputStream;.underlying:Ljava/io/OutputStream; // field@0367 │ │ +0283de: 2201 f700 |0007: new-instance v1, Ljava/io/ByteArrayOutputStream; // type@00f7 │ │ +0283e2: 1302 0004 |0009: const/16 v2, #int 1024 // #400 │ │ +0283e6: 7020 e704 2100 |000b: invoke-direct {v1, v2}, Ljava/io/ByteArrayOutputStream;.:(I)V // method@04e7 │ │ +0283ec: 5b01 6503 |000e: iput-object v1, v0, Lutil/PaddingCipherOutputStream;.bytesBuffer:Ljava/io/ByteArrayOutputStream; // field@0365 │ │ +0283f0: 0e00 |0010: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=16 │ │ 0x0003 line=17 │ │ 0x0005 line=18 │ │ 0x0007 line=19 │ │ locals : │ │ @@ -30113,29 +30113,29 @@ │ │ type : '()V' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 3 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 28 16-bit code units │ │ -028454: |[028454] util.PaddingCipherOutputStream.init:()V │ │ -028464: 5420 6603 |0000: iget-object v0, v2, Lutil/PaddingCipherOutputStream;.lowerOut:Ljava/io/DataOutputStream; // field@0366 │ │ -028468: 3800 0300 |0002: if-eqz v0, 0005 // +0003 │ │ -02846c: 0e00 |0004: return-void │ │ -02846e: 2200 f900 |0005: new-instance v0, Ljava/io/DataOutputStream; // type@00f9 │ │ -028472: 5421 6703 |0007: iget-object v1, v2, Lutil/PaddingCipherOutputStream;.underlying:Ljava/io/OutputStream; // field@0367 │ │ -028476: 7020 f704 1000 |0009: invoke-direct {v0, v1}, Ljava/io/DataOutputStream;.:(Ljava/io/OutputStream;)V // method@04f7 │ │ -02847c: 5b20 6603 |000c: iput-object v0, v2, Lutil/PaddingCipherOutputStream;.lowerOut:Ljava/io/DataOutputStream; // field@0366 │ │ -028480: 6201 3203 |000e: sget-object v1, Lutil/Encryption;.ENCR_INIT_BYTES:[B // field@0332 │ │ -028484: 2111 |0010: array-length v1, v1 │ │ -028486: 6e20 fd04 1000 |0011: invoke-virtual {v0, v1}, Ljava/io/DataOutputStream;.writeInt:(I)V // method@04fd │ │ -02848c: 5420 6603 |0014: iget-object v0, v2, Lutil/PaddingCipherOutputStream;.lowerOut:Ljava/io/DataOutputStream; // field@0366 │ │ -028490: 6201 3203 |0016: sget-object v1, Lutil/Encryption;.ENCR_INIT_BYTES:[B // field@0332 │ │ -028494: 6e20 fa04 1000 |0018: invoke-virtual {v0, v1}, Ljava/io/DataOutputStream;.write:([B)V // method@04fa │ │ -02849a: 0e00 |001b: return-void │ │ +028450: |[028450] util.PaddingCipherOutputStream.init:()V │ │ +028460: 5420 6603 |0000: iget-object v0, v2, Lutil/PaddingCipherOutputStream;.lowerOut:Ljava/io/DataOutputStream; // field@0366 │ │ +028464: 3800 0300 |0002: if-eqz v0, 0005 // +0003 │ │ +028468: 0e00 |0004: return-void │ │ +02846a: 2200 f900 |0005: new-instance v0, Ljava/io/DataOutputStream; // type@00f9 │ │ +02846e: 5421 6703 |0007: iget-object v1, v2, Lutil/PaddingCipherOutputStream;.underlying:Ljava/io/OutputStream; // field@0367 │ │ +028472: 7020 f704 1000 |0009: invoke-direct {v0, v1}, Ljava/io/DataOutputStream;.:(Ljava/io/OutputStream;)V // method@04f7 │ │ +028478: 5b20 6603 |000c: iput-object v0, v2, Lutil/PaddingCipherOutputStream;.lowerOut:Ljava/io/DataOutputStream; // field@0366 │ │ +02847c: 6201 3203 |000e: sget-object v1, Lutil/Encryption;.ENCR_INIT_BYTES:[B // field@0332 │ │ +028480: 2111 |0010: array-length v1, v1 │ │ +028482: 6e20 fd04 1000 |0011: invoke-virtual {v0, v1}, Ljava/io/DataOutputStream;.writeInt:(I)V // method@04fd │ │ +028488: 5420 6603 |0014: iget-object v0, v2, Lutil/PaddingCipherOutputStream;.lowerOut:Ljava/io/DataOutputStream; // field@0366 │ │ +02848c: 6201 3203 |0016: sget-object v1, Lutil/Encryption;.ENCR_INIT_BYTES:[B // field@0332 │ │ +028490: 6e20 fa04 1000 |0018: invoke-virtual {v0, v1}, Ljava/io/DataOutputStream;.write:([B)V // method@04fa │ │ +028496: 0e00 |001b: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=23 │ │ 0x0005 line=26 │ │ 0x000e line=27 │ │ 0x0014 line=28 │ │ locals : │ │ @@ -30147,22 +30147,22 @@ │ │ type : '()V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 17 16-bit code units │ │ -0283f8: |[0283f8] util.PaddingCipherOutputStream.close:()V │ │ -028408: 7010 6307 0100 |0000: invoke-direct {v1}, Lutil/PaddingCipherOutputStream;.init:()V // method@0763 │ │ -02840e: 6e10 6707 0100 |0003: invoke-virtual {v1}, Lutil/PaddingCipherOutputStream;.writeNext:()V // method@0767 │ │ -028414: 5410 6603 |0006: iget-object v0, v1, Lutil/PaddingCipherOutputStream;.lowerOut:Ljava/io/DataOutputStream; // field@0366 │ │ -028418: 6e10 f904 0000 |0008: invoke-virtual {v0}, Ljava/io/DataOutputStream;.flush:()V // method@04f9 │ │ -02841e: 5410 6603 |000b: iget-object v0, v1, Lutil/PaddingCipherOutputStream;.lowerOut:Ljava/io/DataOutputStream; // field@0366 │ │ -028422: 6e10 f804 0000 |000d: invoke-virtual {v0}, Ljava/io/DataOutputStream;.close:()V // method@04f8 │ │ -028428: 0e00 |0010: return-void │ │ +0283f4: |[0283f4] util.PaddingCipherOutputStream.close:()V │ │ +028404: 7010 6307 0100 |0000: invoke-direct {v1}, Lutil/PaddingCipherOutputStream;.init:()V // method@0763 │ │ +02840a: 6e10 6707 0100 |0003: invoke-virtual {v1}, Lutil/PaddingCipherOutputStream;.writeNext:()V // method@0767 │ │ +028410: 5410 6603 |0006: iget-object v0, v1, Lutil/PaddingCipherOutputStream;.lowerOut:Ljava/io/DataOutputStream; // field@0366 │ │ +028414: 6e10 f904 0000 |0008: invoke-virtual {v0}, Ljava/io/DataOutputStream;.flush:()V // method@04f9 │ │ +02841a: 5410 6603 |000b: iget-object v0, v1, Lutil/PaddingCipherOutputStream;.lowerOut:Ljava/io/DataOutputStream; // field@0366 │ │ +02841e: 6e10 f804 0000 |000d: invoke-virtual {v0}, Ljava/io/DataOutputStream;.close:()V // method@04f8 │ │ +028424: 0e00 |0010: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=82 │ │ 0x0003 line=83 │ │ 0x0006 line=85 │ │ 0x000b line=86 │ │ locals : │ │ @@ -30173,20 +30173,20 @@ │ │ type : '()V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 12 16-bit code units │ │ -02842c: |[02842c] util.PaddingCipherOutputStream.flush:()V │ │ -02843c: 7010 6307 0100 |0000: invoke-direct {v1}, Lutil/PaddingCipherOutputStream;.init:()V // method@0763 │ │ -028442: 6e10 6707 0100 |0003: invoke-virtual {v1}, Lutil/PaddingCipherOutputStream;.writeNext:()V // method@0767 │ │ -028448: 5410 6603 |0006: iget-object v0, v1, Lutil/PaddingCipherOutputStream;.lowerOut:Ljava/io/DataOutputStream; // field@0366 │ │ -02844c: 6e10 f904 0000 |0008: invoke-virtual {v0}, Ljava/io/DataOutputStream;.flush:()V // method@04f9 │ │ -028452: 0e00 |000b: return-void │ │ +028428: |[028428] util.PaddingCipherOutputStream.flush:()V │ │ +028438: 7010 6307 0100 |0000: invoke-direct {v1}, Lutil/PaddingCipherOutputStream;.init:()V // method@0763 │ │ +02843e: 6e10 6707 0100 |0003: invoke-virtual {v1}, Lutil/PaddingCipherOutputStream;.writeNext:()V // method@0767 │ │ +028444: 5410 6603 |0006: iget-object v0, v1, Lutil/PaddingCipherOutputStream;.lowerOut:Ljava/io/DataOutputStream; // field@0366 │ │ +028448: 6e10 f904 0000 |0008: invoke-virtual {v0}, Ljava/io/DataOutputStream;.flush:()V // method@04f9 │ │ +02844e: 0e00 |000b: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=57 │ │ 0x0003 line=58 │ │ 0x0006 line=59 │ │ locals : │ │ 0x0000 - 0x000c reg=1 this Lutil/PaddingCipherOutputStream; │ │ @@ -30196,27 +30196,27 @@ │ │ type : '(I)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 3 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 27 16-bit code units │ │ -028500: |[028500] util.PaddingCipherOutputStream.write:(I)V │ │ -028510: 7010 6307 0100 |0000: invoke-direct {v1}, Lutil/PaddingCipherOutputStream;.init:()V // method@0763 │ │ -028516: 5410 6503 |0003: iget-object v0, v1, Lutil/PaddingCipherOutputStream;.bytesBuffer:Ljava/io/ByteArrayOutputStream; // field@0365 │ │ -02851a: 6e20 ed04 2000 |0005: invoke-virtual {v0, v2}, Ljava/io/ByteArrayOutputStream;.write:(I)V // method@04ed │ │ -028520: 5412 6503 |0008: iget-object v2, v1, Lutil/PaddingCipherOutputStream;.bytesBuffer:Ljava/io/ByteArrayOutputStream; // field@0365 │ │ -028524: 6e10 e904 0200 |000a: invoke-virtual {v2}, Ljava/io/ByteArrayOutputStream;.flush:()V // method@04e9 │ │ -02852a: 5412 6503 |000d: iget-object v2, v1, Lutil/PaddingCipherOutputStream;.bytesBuffer:Ljava/io/ByteArrayOutputStream; // field@0365 │ │ -02852e: 6e10 eb04 0200 |000f: invoke-virtual {v2}, Ljava/io/ByteArrayOutputStream;.size:()I // method@04eb │ │ -028534: 0a02 |0012: move-result v2 │ │ -028536: 5210 6403 |0013: iget v0, v1, Lutil/PaddingCipherOutputStream;.bufSize:I // field@0364 │ │ -02853a: 3402 0500 |0015: if-lt v2, v0, 001a // +0005 │ │ -02853e: 6e10 6707 0100 |0017: invoke-virtual {v1}, Lutil/PaddingCipherOutputStream;.writeNext:()V // method@0767 │ │ -028544: 0e00 |001a: return-void │ │ +0284fc: |[0284fc] util.PaddingCipherOutputStream.write:(I)V │ │ +02850c: 7010 6307 0100 |0000: invoke-direct {v1}, Lutil/PaddingCipherOutputStream;.init:()V // method@0763 │ │ +028512: 5410 6503 |0003: iget-object v0, v1, Lutil/PaddingCipherOutputStream;.bytesBuffer:Ljava/io/ByteArrayOutputStream; // field@0365 │ │ +028516: 6e20 ed04 2000 |0005: invoke-virtual {v0, v2}, Ljava/io/ByteArrayOutputStream;.write:(I)V // method@04ed │ │ +02851c: 5412 6503 |0008: iget-object v2, v1, Lutil/PaddingCipherOutputStream;.bytesBuffer:Ljava/io/ByteArrayOutputStream; // field@0365 │ │ +028520: 6e10 e904 0200 |000a: invoke-virtual {v2}, Ljava/io/ByteArrayOutputStream;.flush:()V // method@04e9 │ │ +028526: 5412 6503 |000d: iget-object v2, v1, Lutil/PaddingCipherOutputStream;.bytesBuffer:Ljava/io/ByteArrayOutputStream; // field@0365 │ │ +02852a: 6e10 eb04 0200 |000f: invoke-virtual {v2}, Ljava/io/ByteArrayOutputStream;.size:()I // method@04eb │ │ +028530: 0a02 |0012: move-result v2 │ │ +028532: 5210 6403 |0013: iget v0, v1, Lutil/PaddingCipherOutputStream;.bufSize:I // field@0364 │ │ +028536: 3402 0500 |0015: if-lt v2, v0, 001a // +0005 │ │ +02853a: 6e10 6707 0100 |0017: invoke-virtual {v1}, Lutil/PaddingCipherOutputStream;.writeNext:()V // method@0767 │ │ +028540: 0e00 |001a: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=34 │ │ 0x0003 line=35 │ │ 0x0008 line=36 │ │ 0x000d line=37 │ │ 0x0017 line=38 │ │ @@ -30229,19 +30229,19 @@ │ │ type : '([B)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 4 │ │ ins : 2 │ │ outs : 4 │ │ insns size : 6 16-bit code units │ │ -02849c: |[02849c] util.PaddingCipherOutputStream.write:([B)V │ │ -0284ac: 1200 |0000: const/4 v0, #int 0 // #0 │ │ -0284ae: 2131 |0001: array-length v1, v3 │ │ -0284b0: 6e40 6607 3210 |0002: invoke-virtual {v2, v3, v0, v1}, Lutil/PaddingCipherOutputStream;.write:([BII)V // method@0766 │ │ -0284b6: 0e00 |0005: return-void │ │ +028498: |[028498] util.PaddingCipherOutputStream.write:([B)V │ │ +0284a8: 1200 |0000: const/4 v0, #int 0 // #0 │ │ +0284aa: 2131 |0001: array-length v1, v3 │ │ +0284ac: 6e40 6607 3210 |0002: invoke-virtual {v2, v3, v0, v1}, Lutil/PaddingCipherOutputStream;.write:([BII)V // method@0766 │ │ +0284b2: 0e00 |0005: return-void │ │ catches : (none) │ │ positions : │ │ 0x0001 line=52 │ │ locals : │ │ 0x0000 - 0x0006 reg=2 this Lutil/PaddingCipherOutputStream; │ │ 0x0000 - 0x0006 reg=3 (null) [B │ │ │ │ @@ -30250,27 +30250,27 @@ │ │ type : '([BII)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 5 │ │ ins : 4 │ │ outs : 4 │ │ insns size : 27 16-bit code units │ │ -0284b8: |[0284b8] util.PaddingCipherOutputStream.write:([BII)V │ │ -0284c8: 7010 6307 0100 |0000: invoke-direct {v1}, Lutil/PaddingCipherOutputStream;.init:()V // method@0763 │ │ -0284ce: 5410 6503 |0003: iget-object v0, v1, Lutil/PaddingCipherOutputStream;.bytesBuffer:Ljava/io/ByteArrayOutputStream; // field@0365 │ │ -0284d2: 6e40 ef04 2043 |0005: invoke-virtual {v0, v2, v3, v4}, Ljava/io/ByteArrayOutputStream;.write:([BII)V // method@04ef │ │ -0284d8: 5412 6503 |0008: iget-object v2, v1, Lutil/PaddingCipherOutputStream;.bytesBuffer:Ljava/io/ByteArrayOutputStream; // field@0365 │ │ -0284dc: 6e10 e904 0200 |000a: invoke-virtual {v2}, Ljava/io/ByteArrayOutputStream;.flush:()V // method@04e9 │ │ -0284e2: 5412 6503 |000d: iget-object v2, v1, Lutil/PaddingCipherOutputStream;.bytesBuffer:Ljava/io/ByteArrayOutputStream; // field@0365 │ │ -0284e6: 6e10 eb04 0200 |000f: invoke-virtual {v2}, Ljava/io/ByteArrayOutputStream;.size:()I // method@04eb │ │ -0284ec: 0a02 |0012: move-result v2 │ │ -0284ee: 5213 6403 |0013: iget v3, v1, Lutil/PaddingCipherOutputStream;.bufSize:I // field@0364 │ │ -0284f2: 3432 0500 |0015: if-lt v2, v3, 001a // +0005 │ │ -0284f6: 6e10 6707 0100 |0017: invoke-virtual {v1}, Lutil/PaddingCipherOutputStream;.writeNext:()V // method@0767 │ │ -0284fc: 0e00 |001a: return-void │ │ +0284b4: |[0284b4] util.PaddingCipherOutputStream.write:([BII)V │ │ +0284c4: 7010 6307 0100 |0000: invoke-direct {v1}, Lutil/PaddingCipherOutputStream;.init:()V // method@0763 │ │ +0284ca: 5410 6503 |0003: iget-object v0, v1, Lutil/PaddingCipherOutputStream;.bytesBuffer:Ljava/io/ByteArrayOutputStream; // field@0365 │ │ +0284ce: 6e40 ef04 2043 |0005: invoke-virtual {v0, v2, v3, v4}, Ljava/io/ByteArrayOutputStream;.write:([BII)V // method@04ef │ │ +0284d4: 5412 6503 |0008: iget-object v2, v1, Lutil/PaddingCipherOutputStream;.bytesBuffer:Ljava/io/ByteArrayOutputStream; // field@0365 │ │ +0284d8: 6e10 e904 0200 |000a: invoke-virtual {v2}, Ljava/io/ByteArrayOutputStream;.flush:()V // method@04e9 │ │ +0284de: 5412 6503 |000d: iget-object v2, v1, Lutil/PaddingCipherOutputStream;.bytesBuffer:Ljava/io/ByteArrayOutputStream; // field@0365 │ │ +0284e2: 6e10 eb04 0200 |000f: invoke-virtual {v2}, Ljava/io/ByteArrayOutputStream;.size:()I // method@04eb │ │ +0284e8: 0a02 |0012: move-result v2 │ │ +0284ea: 5213 6403 |0013: iget v3, v1, Lutil/PaddingCipherOutputStream;.bufSize:I // field@0364 │ │ +0284ee: 3432 0500 |0015: if-lt v2, v3, 001a // +0005 │ │ +0284f2: 6e10 6707 0100 |0017: invoke-virtual {v1}, Lutil/PaddingCipherOutputStream;.writeNext:()V // method@0767 │ │ +0284f8: 0e00 |001a: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=43 │ │ 0x0003 line=44 │ │ 0x0008 line=45 │ │ 0x000d line=46 │ │ 0x0017 line=47 │ │ @@ -30285,43 +30285,43 @@ │ │ type : '()V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 4 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 54 16-bit code units │ │ -028548: |[028548] util.PaddingCipherOutputStream.writeNext:()V │ │ -028558: 5430 6503 |0000: iget-object v0, v3, Lutil/PaddingCipherOutputStream;.bytesBuffer:Ljava/io/ByteArrayOutputStream; // field@0365 │ │ -02855c: 6e10 e904 0000 |0002: invoke-virtual {v0}, Ljava/io/ByteArrayOutputStream;.flush:()V // method@04e9 │ │ -028562: 5430 6503 |0005: iget-object v0, v3, Lutil/PaddingCipherOutputStream;.bytesBuffer:Ljava/io/ByteArrayOutputStream; // field@0365 │ │ -028566: 6e10 eb04 0000 |0007: invoke-virtual {v0}, Ljava/io/ByteArrayOutputStream;.size:()I // method@04eb │ │ -02856c: 0a00 |000a: move-result v0 │ │ -02856e: 3900 0300 |000b: if-nez v0, 000e // +0003 │ │ -028572: 0e00 |000d: return-void │ │ -028574: 5430 6503 |000e: iget-object v0, v3, Lutil/PaddingCipherOutputStream;.bytesBuffer:Ljava/io/ByteArrayOutputStream; // field@0365 │ │ -028578: 6e10 ec04 0000 |0010: invoke-virtual {v0}, Ljava/io/ByteArrayOutputStream;.toByteArray:()[B // method@04ec │ │ -02857e: 0c00 |0013: move-result-object v0 │ │ -028580: 5431 6503 |0014: iget-object v1, v3, Lutil/PaddingCipherOutputStream;.bytesBuffer:Ljava/io/ByteArrayOutputStream; // field@0365 │ │ -028584: 6e10 ea04 0100 |0016: invoke-virtual {v1}, Ljava/io/ByteArrayOutputStream;.reset:()V // method@04ea │ │ -02858a: 7110 cb06 0000 |0019: invoke-static {v0}, Lutil/Encryption;.encrypt:([B)[B // method@06cb │ │ -028590: 0c00 |001c: move-result-object v0 │ │ -028592: 5431 6603 |001d: iget-object v1, v3, Lutil/PaddingCipherOutputStream;.lowerOut:Ljava/io/DataOutputStream; // field@0366 │ │ -028596: 2102 |001f: array-length v2, v0 │ │ -028598: 6e20 fd04 2100 |0020: invoke-virtual {v1, v2}, Ljava/io/DataOutputStream;.writeInt:(I)V // method@04fd │ │ -02859e: 5431 6603 |0023: iget-object v1, v3, Lutil/PaddingCipherOutputStream;.lowerOut:Ljava/io/DataOutputStream; // field@0366 │ │ -0285a2: 6e20 fa04 0100 |0025: invoke-virtual {v1, v0}, Ljava/io/DataOutputStream;.write:([B)V // method@04fa │ │ -0285a8: 0e00 |0028: return-void │ │ -0285aa: 0d00 |0029: move-exception v0 │ │ -0285ac: 2201 0001 |002a: new-instance v1, Ljava/io/IOException; // type@0100 │ │ -0285b0: 6e10 5d05 0000 |002c: invoke-virtual {v0}, Ljava/lang/Exception;.getMessage:()Ljava/lang/String; // method@055d │ │ -0285b6: 0c00 |002f: move-result-object v0 │ │ -0285b8: 7020 2105 0100 |0030: invoke-direct {v1, v0}, Ljava/io/IOException;.:(Ljava/lang/String;)V // method@0521 │ │ -0285be: 2701 |0033: throw v1 │ │ -0285c0: 0d00 |0034: move-exception v0 │ │ -0285c2: 2700 |0035: throw v0 │ │ +028544: |[028544] util.PaddingCipherOutputStream.writeNext:()V │ │ +028554: 5430 6503 |0000: iget-object v0, v3, Lutil/PaddingCipherOutputStream;.bytesBuffer:Ljava/io/ByteArrayOutputStream; // field@0365 │ │ +028558: 6e10 e904 0000 |0002: invoke-virtual {v0}, Ljava/io/ByteArrayOutputStream;.flush:()V // method@04e9 │ │ +02855e: 5430 6503 |0005: iget-object v0, v3, Lutil/PaddingCipherOutputStream;.bytesBuffer:Ljava/io/ByteArrayOutputStream; // field@0365 │ │ +028562: 6e10 eb04 0000 |0007: invoke-virtual {v0}, Ljava/io/ByteArrayOutputStream;.size:()I // method@04eb │ │ +028568: 0a00 |000a: move-result v0 │ │ +02856a: 3900 0300 |000b: if-nez v0, 000e // +0003 │ │ +02856e: 0e00 |000d: return-void │ │ +028570: 5430 6503 |000e: iget-object v0, v3, Lutil/PaddingCipherOutputStream;.bytesBuffer:Ljava/io/ByteArrayOutputStream; // field@0365 │ │ +028574: 6e10 ec04 0000 |0010: invoke-virtual {v0}, Ljava/io/ByteArrayOutputStream;.toByteArray:()[B // method@04ec │ │ +02857a: 0c00 |0013: move-result-object v0 │ │ +02857c: 5431 6503 |0014: iget-object v1, v3, Lutil/PaddingCipherOutputStream;.bytesBuffer:Ljava/io/ByteArrayOutputStream; // field@0365 │ │ +028580: 6e10 ea04 0100 |0016: invoke-virtual {v1}, Ljava/io/ByteArrayOutputStream;.reset:()V // method@04ea │ │ +028586: 7110 cb06 0000 |0019: invoke-static {v0}, Lutil/Encryption;.encrypt:([B)[B // method@06cb │ │ +02858c: 0c00 |001c: move-result-object v0 │ │ +02858e: 5431 6603 |001d: iget-object v1, v3, Lutil/PaddingCipherOutputStream;.lowerOut:Ljava/io/DataOutputStream; // field@0366 │ │ +028592: 2102 |001f: array-length v2, v0 │ │ +028594: 6e20 fd04 2100 |0020: invoke-virtual {v1, v2}, Ljava/io/DataOutputStream;.writeInt:(I)V // method@04fd │ │ +02859a: 5431 6603 |0023: iget-object v1, v3, Lutil/PaddingCipherOutputStream;.lowerOut:Ljava/io/DataOutputStream; // field@0366 │ │ +02859e: 6e20 fa04 0100 |0025: invoke-virtual {v1, v0}, Ljava/io/DataOutputStream;.write:([B)V // method@04fa │ │ +0285a4: 0e00 |0028: return-void │ │ +0285a6: 0d00 |0029: move-exception v0 │ │ +0285a8: 2201 0001 |002a: new-instance v1, Ljava/io/IOException; // type@0100 │ │ +0285ac: 6e10 5d05 0000 |002c: invoke-virtual {v0}, Ljava/lang/Exception;.getMessage:()Ljava/lang/String; // method@055d │ │ +0285b2: 0c00 |002f: move-result-object v0 │ │ +0285b4: 7020 2105 0100 |0030: invoke-direct {v1, v0}, Ljava/io/IOException;.:(Ljava/lang/String;)V // method@0521 │ │ +0285ba: 2701 |0033: throw v1 │ │ +0285bc: 0d00 |0034: move-exception v0 │ │ +0285be: 2700 |0035: throw v0 │ │ catches : 1 │ │ 0x0019 - 0x0028 │ │ Ljava/io/IOException; -> 0x0034 │ │ Ljava/lang/Exception; -> 0x0029 │ │ positions : │ │ 0x0000 line=63 │ │ 0x0005 line=64 │ │ @@ -30407,30 +30407,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 │ │ -028744: |[028744] util.PatternSequence$Pattern.:(Lutil/PatternSequence;Ljava/lang/String;Ljava/lang/Object;)V │ │ -028754: 5b12 6a03 |0000: iput-object v2, v1, Lutil/PatternSequence$Pattern;.this$0:Lutil/PatternSequence; // field@036a │ │ -028758: 7010 7505 0100 |0002: invoke-direct {v1}, Ljava/lang/Object;.:()V // method@0575 │ │ -02875e: 1a02 0c05 |0005: const-string v2, "\*" // string@050c │ │ -028762: 12f0 |0007: const/4 v0, #int -1 // #ff │ │ -028764: 6e30 9a05 2300 |0008: invoke-virtual {v3, v2, v0}, Ljava/lang/String;.split:(Ljava/lang/String;I)[Ljava/lang/String; // method@059a │ │ -02876a: 0c02 |000b: move-result-object v2 │ │ -02876c: 5b12 6903 |000c: iput-object v2, v1, Lutil/PatternSequence$Pattern;.pattern:[Ljava/lang/String; // field@0369 │ │ -028770: 5b14 6b03 |000e: iput-object v4, v1, Lutil/PatternSequence$Pattern;.value:Ljava/lang/Object; // field@036b │ │ -028774: 6e10 9005 0300 |0010: invoke-virtual {v3}, Ljava/lang/String;.hashCode:()I // method@0590 │ │ -02877a: 0a02 |0013: move-result v2 │ │ -02877c: 6e10 7805 0400 |0014: invoke-virtual {v4}, Ljava/lang/Object;.hashCode:()I // method@0578 │ │ -028782: 0a03 |0017: move-result v3 │ │ -028784: b032 |0018: add-int/2addr v2, v3 │ │ -028786: 5912 6803 |0019: iput v2, v1, Lutil/PatternSequence$Pattern;.hashcode:I // field@0368 │ │ -02878a: 0e00 |001b: return-void │ │ +028740: |[028740] util.PatternSequence$Pattern.:(Lutil/PatternSequence;Ljava/lang/String;Ljava/lang/Object;)V │ │ +028750: 5b12 6a03 |0000: iput-object v2, v1, Lutil/PatternSequence$Pattern;.this$0:Lutil/PatternSequence; // field@036a │ │ +028754: 7010 7505 0100 |0002: invoke-direct {v1}, Ljava/lang/Object;.:()V // method@0575 │ │ +02875a: 1a02 0c05 |0005: const-string v2, "\*" // string@050c │ │ +02875e: 12f0 |0007: const/4 v0, #int -1 // #ff │ │ +028760: 6e30 9a05 2300 |0008: invoke-virtual {v3, v2, v0}, Ljava/lang/String;.split:(Ljava/lang/String;I)[Ljava/lang/String; // method@059a │ │ +028766: 0c02 |000b: move-result-object v2 │ │ +028768: 5b12 6903 |000c: iput-object v2, v1, Lutil/PatternSequence$Pattern;.pattern:[Ljava/lang/String; // field@0369 │ │ +02876c: 5b14 6b03 |000e: iput-object v4, v1, Lutil/PatternSequence$Pattern;.value:Ljava/lang/Object; // field@036b │ │ +028770: 6e10 9005 0300 |0010: invoke-virtual {v3}, Ljava/lang/String;.hashCode:()I // method@0590 │ │ +028776: 0a02 |0013: move-result v2 │ │ +028778: 6e10 7805 0400 |0014: invoke-virtual {v4}, Ljava/lang/Object;.hashCode:()I // method@0578 │ │ +02877e: 0a03 |0017: move-result v3 │ │ +028780: b032 |0018: add-int/2addr v2, v3 │ │ +028782: 5912 6803 |0019: iput v2, v1, Lutil/PatternSequence$Pattern;.hashcode:I // field@0368 │ │ +028786: 0e00 |001b: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=12 │ │ 0x0005 line=13 │ │ 0x000e line=14 │ │ 0x0010 line=15 │ │ locals : │ │ @@ -30444,17 +30444,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 │ │ -02878c: |[02878c] util.PatternSequence$Pattern.:(Lutil/PatternSequence;Ljava/lang/String;Ljava/lang/Object;Lutil/PatternSequence$1;)V │ │ -02879c: 7040 6807 1032 |0000: invoke-direct {v0, v1, v2, v3}, Lutil/PatternSequence$Pattern;.:(Lutil/PatternSequence;Ljava/lang/String;Ljava/lang/Object;)V // method@0768 │ │ -0287a2: 0e00 |0003: return-void │ │ +028788: |[028788] util.PatternSequence$Pattern.:(Lutil/PatternSequence;Ljava/lang/String;Ljava/lang/Object;Lutil/PatternSequence$1;)V │ │ +028798: 7040 6807 1032 |0000: invoke-direct {v0, v1, v2, v3}, Lutil/PatternSequence$Pattern;.:(Lutil/PatternSequence;Ljava/lang/String;Ljava/lang/Object;)V // method@0768 │ │ +02879e: 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; │ │ @@ -30466,42 +30466,42 @@ │ │ type : '(Lutil/PatternSequence$Pattern;)Z' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 6 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 44 16-bit code units │ │ -028614: |[028614] util.PatternSequence$Pattern.patternEqual:(Lutil/PatternSequence$Pattern;)Z │ │ -028624: 5440 6903 |0000: iget-object v0, v4, Lutil/PatternSequence$Pattern;.pattern:[Ljava/lang/String; // field@0369 │ │ -028628: 2100 |0002: array-length v0, v0 │ │ -02862a: 5451 6903 |0003: iget-object v1, v5, Lutil/PatternSequence$Pattern;.pattern:[Ljava/lang/String; // field@0369 │ │ -02862e: 2111 |0005: array-length v1, v1 │ │ -028630: 1202 |0006: const/4 v2, #int 0 // #0 │ │ -028632: 3310 2400 |0007: if-ne v0, v1, 002b // +0024 │ │ -028636: 5450 6b03 |0009: iget-object v0, v5, Lutil/PatternSequence$Pattern;.value:Ljava/lang/Object; // field@036b │ │ -02863a: 5441 6b03 |000b: iget-object v1, v4, Lutil/PatternSequence$Pattern;.value:Ljava/lang/Object; // field@036b │ │ -02863e: 6e20 7605 1000 |000d: invoke-virtual {v0, v1}, Ljava/lang/Object;.equals:(Ljava/lang/Object;)Z // method@0576 │ │ -028644: 0a00 |0010: move-result v0 │ │ -028646: 3800 1a00 |0011: if-eqz v0, 002b // +001a │ │ -02864a: 1200 |0013: const/4 v0, #int 0 // #0 │ │ -02864c: 5441 6903 |0014: iget-object v1, v4, Lutil/PatternSequence$Pattern;.pattern:[Ljava/lang/String; // field@0369 │ │ -028650: 2113 |0016: array-length v3, v1 │ │ -028652: 3530 1200 |0017: if-ge v0, v3, 0029 // +0012 │ │ -028656: 4601 0100 |0019: aget-object v1, v1, v0 │ │ -02865a: 5453 6903 |001b: iget-object v3, v5, Lutil/PatternSequence$Pattern;.pattern:[Ljava/lang/String; // field@0369 │ │ -02865e: 4603 0300 |001d: aget-object v3, v3, v0 │ │ -028662: 6e20 8d05 3100 |001f: invoke-virtual {v1, v3}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058d │ │ -028668: 0a01 |0022: move-result v1 │ │ -02866a: 3901 0300 |0023: if-nez v1, 0026 // +0003 │ │ -02866e: 0f02 |0025: return v2 │ │ -028670: d800 0001 |0026: add-int/lit8 v0, v0, #int 1 // #01 │ │ -028674: 28ec |0028: goto 0014 // -0014 │ │ -028676: 1215 |0029: const/4 v5, #int 1 // #1 │ │ -028678: 0f05 |002a: return v5 │ │ -02867a: 0f02 |002b: return v2 │ │ +028610: |[028610] util.PatternSequence$Pattern.patternEqual:(Lutil/PatternSequence$Pattern;)Z │ │ +028620: 5440 6903 |0000: iget-object v0, v4, Lutil/PatternSequence$Pattern;.pattern:[Ljava/lang/String; // field@0369 │ │ +028624: 2100 |0002: array-length v0, v0 │ │ +028626: 5451 6903 |0003: iget-object v1, v5, Lutil/PatternSequence$Pattern;.pattern:[Ljava/lang/String; // field@0369 │ │ +02862a: 2111 |0005: array-length v1, v1 │ │ +02862c: 1202 |0006: const/4 v2, #int 0 // #0 │ │ +02862e: 3310 2400 |0007: if-ne v0, v1, 002b // +0024 │ │ +028632: 5450 6b03 |0009: iget-object v0, v5, Lutil/PatternSequence$Pattern;.value:Ljava/lang/Object; // field@036b │ │ +028636: 5441 6b03 |000b: iget-object v1, v4, Lutil/PatternSequence$Pattern;.value:Ljava/lang/Object; // field@036b │ │ +02863a: 6e20 7605 1000 |000d: invoke-virtual {v0, v1}, Ljava/lang/Object;.equals:(Ljava/lang/Object;)Z // method@0576 │ │ +028640: 0a00 |0010: move-result v0 │ │ +028642: 3800 1a00 |0011: if-eqz v0, 002b // +001a │ │ +028646: 1200 |0013: const/4 v0, #int 0 // #0 │ │ +028648: 5441 6903 |0014: iget-object v1, v4, Lutil/PatternSequence$Pattern;.pattern:[Ljava/lang/String; // field@0369 │ │ +02864c: 2113 |0016: array-length v3, v1 │ │ +02864e: 3530 1200 |0017: if-ge v0, v3, 0029 // +0012 │ │ +028652: 4601 0100 |0019: aget-object v1, v1, v0 │ │ +028656: 5453 6903 |001b: iget-object v3, v5, Lutil/PatternSequence$Pattern;.pattern:[Ljava/lang/String; // field@0369 │ │ +02865a: 4603 0300 |001d: aget-object v3, v3, v0 │ │ +02865e: 6e20 8d05 3100 |001f: invoke-virtual {v1, v3}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058d │ │ +028664: 0a01 |0022: move-result v1 │ │ +028666: 3901 0300 |0023: if-nez v1, 0026 // +0003 │ │ +02866a: 0f02 |0025: return v2 │ │ +02866c: d800 0001 |0026: add-int/lit8 v0, v0, #int 1 // #01 │ │ +028670: 28ec |0028: goto 0014 // -0014 │ │ +028672: 1215 |0029: const/4 v5, #int 1 // #1 │ │ +028674: 0f05 |002a: return v5 │ │ +028676: 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; │ │ @@ -30513,28 +30513,28 @@ │ │ type : '(Ljava/lang/Object;)Z' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 4 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 23 16-bit code units │ │ -0285d4: |[0285d4] util.PatternSequence$Pattern.equals:(Ljava/lang/Object;)Z │ │ -0285e4: 3803 1500 |0000: if-eqz v3, 0015 // +0015 │ │ -0285e8: 5220 6803 |0002: iget v0, v2, Lutil/PatternSequence$Pattern;.hashcode:I // field@0368 │ │ -0285ec: 6e10 7805 0300 |0004: invoke-virtual {v3}, Ljava/lang/Object;.hashCode:()I // method@0578 │ │ -0285f2: 0a01 |0007: move-result v1 │ │ -0285f4: 3310 0d00 |0008: if-ne v0, v1, 0015 // +000d │ │ -0285f8: 2030 8c01 |000a: instance-of v0, v3, Lutil/PatternSequence$Pattern; // type@018c │ │ -0285fc: 3800 0900 |000c: if-eqz v0, 0015 // +0009 │ │ -028600: 1f03 8c01 |000e: check-cast v3, Lutil/PatternSequence$Pattern; // type@018c │ │ -028604: 7020 6d07 3200 |0010: invoke-direct {v2, v3}, Lutil/PatternSequence$Pattern;.patternEqual:(Lutil/PatternSequence$Pattern;)Z // method@076d │ │ -02860a: 0a03 |0013: move-result v3 │ │ -02860c: 0f03 |0014: return v3 │ │ -02860e: 1203 |0015: const/4 v3, #int 0 // #0 │ │ -028610: 0f03 |0016: return v3 │ │ +0285d0: |[0285d0] util.PatternSequence$Pattern.equals:(Ljava/lang/Object;)Z │ │ +0285e0: 3803 1500 |0000: if-eqz v3, 0015 // +0015 │ │ +0285e4: 5220 6803 |0002: iget v0, v2, Lutil/PatternSequence$Pattern;.hashcode:I // field@0368 │ │ +0285e8: 6e10 7805 0300 |0004: invoke-virtual {v3}, Ljava/lang/Object;.hashCode:()I // method@0578 │ │ +0285ee: 0a01 |0007: move-result v1 │ │ +0285f0: 3310 0d00 |0008: if-ne v0, v1, 0015 // +000d │ │ +0285f4: 2030 8c01 |000a: instance-of v0, v3, Lutil/PatternSequence$Pattern; // type@018c │ │ +0285f8: 3800 0900 |000c: if-eqz v0, 0015 // +0009 │ │ +0285fc: 1f03 8c01 |000e: check-cast v3, Lutil/PatternSequence$Pattern; // type@018c │ │ +028600: 7020 6d07 3200 |0010: invoke-direct {v2, v3}, Lutil/PatternSequence$Pattern;.patternEqual:(Lutil/PatternSequence$Pattern;)Z // method@076d │ │ +028606: 0a03 |0013: move-result v3 │ │ +028608: 0f03 |0014: return v3 │ │ +02860a: 1203 |0015: const/4 v3, #int 0 // #0 │ │ +02860c: 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; │ │ @@ -30544,17 +30544,17 @@ │ │ type : '()I' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 0 │ │ insns size : 3 16-bit code units │ │ -02867c: |[02867c] util.PatternSequence$Pattern.hashCode:()I │ │ -02868c: 5210 6803 |0000: iget v0, v1, Lutil/PatternSequence$Pattern;.hashcode:I // field@0368 │ │ -028690: 0f00 |0002: return v0 │ │ +028678: |[028678] util.PatternSequence$Pattern.hashCode:()I │ │ +028688: 5210 6803 |0000: iget v0, v1, Lutil/PatternSequence$Pattern;.hashcode:I // field@0368 │ │ +02868c: 0f00 |0002: return v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=20 │ │ locals : │ │ 0x0000 - 0x0003 reg=1 this Lutil/PatternSequence$Pattern; │ │ │ │ #2 : (in Lutil/PatternSequence$Pattern;) │ │ @@ -30562,62 +30562,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 │ │ -028694: |[028694] util.PatternSequence$Pattern.match:(Ljava/lang/String;)Ljava/lang/Object; │ │ -0286a4: 1200 |0000: const/4 v0, #int 0 // #0 │ │ -0286a6: 5461 6903 |0001: iget-object v1, v6, Lutil/PatternSequence$Pattern;.pattern:[Ljava/lang/String; // field@0369 │ │ -0286aa: 2112 |0003: array-length v2, v1 │ │ -0286ac: 3520 4900 |0004: if-ge v0, v2, 004d // +0049 │ │ -0286b0: 4602 0100 |0006: aget-object v2, v1, v0 │ │ -0286b4: 2111 |0008: array-length v1, v1 │ │ -0286b6: d801 01ff |0009: add-int/lit8 v1, v1, #int -1 // #ff │ │ -0286ba: 3510 0700 |000b: if-ge v0, v1, 0012 // +0007 │ │ -0286be: 6e20 9205 2700 |000d: invoke-virtual {v7, v2}, Ljava/lang/String;.indexOf:(Ljava/lang/String;)I // method@0592 │ │ -0286c4: 0a01 |0010: move-result v1 │ │ -0286c6: 2805 |0011: goto 0016 // +0005 │ │ -0286c8: 6e20 9505 2700 |0012: invoke-virtual {v7, v2}, Ljava/lang/String;.lastIndexOf:(Ljava/lang/String;)I // method@0595 │ │ -0286ce: 0a01 |0015: move-result v1 │ │ -0286d0: 1a03 0000 |0016: const-string v3, "" // string@0000 │ │ -0286d4: 1204 |0018: const/4 v4, #int 0 // #0 │ │ -0286d6: 3900 0b00 |0019: if-nez v0, 0024 // +000b │ │ -0286da: 6e20 8d05 3200 |001b: invoke-virtual {v2, v3}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058d │ │ -0286e0: 0a05 |001e: move-result v5 │ │ -0286e2: 3905 0500 |001f: if-nez v5, 0024 // +0005 │ │ -0286e6: 3801 0300 |0021: if-eqz v1, 0024 // +0003 │ │ -0286ea: 1104 |0023: return-object v4 │ │ -0286ec: 5465 6903 |0024: iget-object v5, v6, Lutil/PatternSequence$Pattern;.pattern:[Ljava/lang/String; // field@0369 │ │ -0286f0: 2155 |0026: array-length v5, v5 │ │ -0286f2: d805 05ff |0027: add-int/lit8 v5, v5, #int -1 // #ff │ │ -0286f6: 3350 1400 |0029: if-ne v0, v5, 003d // +0014 │ │ -0286fa: 6e20 8d05 3200 |002b: invoke-virtual {v2, v3}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058d │ │ -028700: 0a03 |002e: move-result v3 │ │ -028702: 3903 0e00 |002f: if-nez v3, 003d // +000e │ │ -028706: 6e10 9605 0200 |0031: invoke-virtual {v2}, Ljava/lang/String;.length:()I // method@0596 │ │ -02870c: 0a03 |0034: move-result v3 │ │ -02870e: b013 |0035: add-int/2addr v3, v1 │ │ -028710: 6e10 9605 0700 |0036: invoke-virtual {v7}, Ljava/lang/String;.length:()I // method@0596 │ │ -028716: 0a05 |0039: move-result v5 │ │ -028718: 3253 0300 |003a: if-eq v3, v5, 003d // +0003 │ │ -02871c: 1104 |003c: return-object v4 │ │ -02871e: 12f3 |003d: const/4 v3, #int -1 // #ff │ │ -028720: 3331 0300 |003e: if-ne v1, v3, 0041 // +0003 │ │ -028724: 1104 |0040: return-object v4 │ │ -028726: 6e10 9605 0200 |0041: invoke-virtual {v2}, Ljava/lang/String;.length:()I // method@0596 │ │ -02872c: 0a02 |0044: move-result v2 │ │ -02872e: b021 |0045: add-int/2addr v1, v2 │ │ -028730: 6e20 9c05 1700 |0046: invoke-virtual {v7, v1}, Ljava/lang/String;.substring:(I)Ljava/lang/String; // method@059c │ │ -028736: 0c07 |0049: move-result-object v7 │ │ -028738: d800 0001 |004a: add-int/lit8 v0, v0, #int 1 // #01 │ │ -02873c: 28b5 |004c: goto 0001 // -004b │ │ -02873e: 5467 6b03 |004d: iget-object v7, v6, Lutil/PatternSequence$Pattern;.value:Ljava/lang/Object; // field@036b │ │ -028742: 1107 |004f: return-object v7 │ │ +028690: |[028690] util.PatternSequence$Pattern.match:(Ljava/lang/String;)Ljava/lang/Object; │ │ +0286a0: 1200 |0000: const/4 v0, #int 0 // #0 │ │ +0286a2: 5461 6903 |0001: iget-object v1, v6, Lutil/PatternSequence$Pattern;.pattern:[Ljava/lang/String; // field@0369 │ │ +0286a6: 2112 |0003: array-length v2, v1 │ │ +0286a8: 3520 4900 |0004: if-ge v0, v2, 004d // +0049 │ │ +0286ac: 4602 0100 |0006: aget-object v2, v1, v0 │ │ +0286b0: 2111 |0008: array-length v1, v1 │ │ +0286b2: d801 01ff |0009: add-int/lit8 v1, v1, #int -1 // #ff │ │ +0286b6: 3510 0700 |000b: if-ge v0, v1, 0012 // +0007 │ │ +0286ba: 6e20 9205 2700 |000d: invoke-virtual {v7, v2}, Ljava/lang/String;.indexOf:(Ljava/lang/String;)I // method@0592 │ │ +0286c0: 0a01 |0010: move-result v1 │ │ +0286c2: 2805 |0011: goto 0016 // +0005 │ │ +0286c4: 6e20 9505 2700 |0012: invoke-virtual {v7, v2}, Ljava/lang/String;.lastIndexOf:(Ljava/lang/String;)I // method@0595 │ │ +0286ca: 0a01 |0015: move-result v1 │ │ +0286cc: 1a03 0000 |0016: const-string v3, "" // string@0000 │ │ +0286d0: 1204 |0018: const/4 v4, #int 0 // #0 │ │ +0286d2: 3900 0b00 |0019: if-nez v0, 0024 // +000b │ │ +0286d6: 6e20 8d05 3200 |001b: invoke-virtual {v2, v3}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058d │ │ +0286dc: 0a05 |001e: move-result v5 │ │ +0286de: 3905 0500 |001f: if-nez v5, 0024 // +0005 │ │ +0286e2: 3801 0300 |0021: if-eqz v1, 0024 // +0003 │ │ +0286e6: 1104 |0023: return-object v4 │ │ +0286e8: 5465 6903 |0024: iget-object v5, v6, Lutil/PatternSequence$Pattern;.pattern:[Ljava/lang/String; // field@0369 │ │ +0286ec: 2155 |0026: array-length v5, v5 │ │ +0286ee: d805 05ff |0027: add-int/lit8 v5, v5, #int -1 // #ff │ │ +0286f2: 3350 1400 |0029: if-ne v0, v5, 003d // +0014 │ │ +0286f6: 6e20 8d05 3200 |002b: invoke-virtual {v2, v3}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058d │ │ +0286fc: 0a03 |002e: move-result v3 │ │ +0286fe: 3903 0e00 |002f: if-nez v3, 003d // +000e │ │ +028702: 6e10 9605 0200 |0031: invoke-virtual {v2}, Ljava/lang/String;.length:()I // method@0596 │ │ +028708: 0a03 |0034: move-result v3 │ │ +02870a: b013 |0035: add-int/2addr v3, v1 │ │ +02870c: 6e10 9605 0700 |0036: invoke-virtual {v7}, Ljava/lang/String;.length:()I // method@0596 │ │ +028712: 0a05 |0039: move-result v5 │ │ +028714: 3253 0300 |003a: if-eq v3, v5, 003d // +0003 │ │ +028718: 1104 |003c: return-object v4 │ │ +02871a: 12f3 |003d: const/4 v3, #int -1 // #ff │ │ +02871c: 3331 0300 |003e: if-ne v1, v3, 0041 // +0003 │ │ +028720: 1104 |0040: return-object v4 │ │ +028722: 6e10 9605 0200 |0041: invoke-virtual {v2}, Ljava/lang/String;.length:()I // method@0596 │ │ +028728: 0a02 |0044: move-result v2 │ │ +02872a: b021 |0045: add-int/2addr v1, v2 │ │ +02872c: 6e20 9c05 1700 |0046: invoke-virtual {v7, v1}, Ljava/lang/String;.substring:(I)Ljava/lang/String; // method@059c │ │ +028732: 0c07 |0049: move-result-object v7 │ │ +028734: d800 0001 |004a: add-int/lit8 v0, v0, #int 1 // #01 │ │ +028738: 28b5 |004c: goto 0001 // -004b │ │ +02873a: 5467 6b03 |004d: iget-object v7, v6, Lutil/PatternSequence$Pattern;.value:Ljava/lang/Object; // field@036b │ │ +02873e: 1107 |004f: return-object v7 │ │ catches : (none) │ │ positions : │ │ 0x0001 line=45 │ │ 0x0006 line=46 │ │ 0x0008 line=49 │ │ 0x000d line=50 │ │ 0x0012 line=52 │ │ @@ -30672,43 +30672,43 @@ │ │ type : '()V' │ │ access : 0x10008 (STATIC CONSTRUCTOR) │ │ code - │ │ registers : 1 │ │ ins : 0 │ │ outs : 1 │ │ insns size : 8 16-bit code units │ │ -028888: |[028888] util.PatternSequence.:()V │ │ -028898: 2200 2501 |0000: new-instance v0, Ljava/lang/Object; // type@0125 │ │ -02889c: 7010 7505 0000 |0002: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@0575 │ │ -0288a2: 6900 6c03 |0005: sput-object v0, Lutil/PatternSequence;.NULL:Ljava/lang/Object; // field@036c │ │ -0288a6: 0e00 |0007: return-void │ │ +028884: |[028884] util.PatternSequence.:()V │ │ +028894: 2200 2501 |0000: new-instance v0, Ljava/lang/Object; // type@0125 │ │ +028898: 7010 7505 0000 |0002: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@0575 │ │ +02889e: 6900 6c03 |0005: sput-object v0, Lutil/PatternSequence;.NULL:Ljava/lang/Object; // field@036c │ │ +0288a2: 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 │ │ -0288a8: |[0288a8] util.PatternSequence.:()V │ │ -0288b8: 7010 7505 0200 |0000: invoke-direct {v2}, Ljava/lang/Object;.:()V // method@0575 │ │ -0288be: 2200 6a01 |0003: new-instance v0, Ljava/util/Vector; // type@016a │ │ -0288c2: 7010 7706 0000 |0005: invoke-direct {v0}, Ljava/util/Vector;.:()V // method@0677 │ │ -0288c8: 5b20 6e03 |0008: iput-object v0, v2, Lutil/PatternSequence;.patternList:Ljava/util/Vector; // field@036e │ │ -0288cc: 2200 8401 |000a: new-instance v0, Lutil/LRUCache; // type@0184 │ │ -0288d0: 1301 e803 |000c: const/16 v1, #int 1000 // #3e8 │ │ -0288d4: 7020 1407 1000 |000e: invoke-direct {v0, v1}, Lutil/LRUCache;.:(I)V // method@0714 │ │ -0288da: 5b20 6d03 |0011: iput-object v0, v2, Lutil/PatternSequence;.matchedPatternCache:Lutil/LRUCache; // field@036d │ │ -0288de: 0e00 |0013: return-void │ │ +0288a4: |[0288a4] util.PatternSequence.:()V │ │ +0288b4: 7010 7505 0200 |0000: invoke-direct {v2}, Ljava/lang/Object;.:()V // method@0575 │ │ +0288ba: 2200 6a01 |0003: new-instance v0, Ljava/util/Vector; // type@016a │ │ +0288be: 7010 7706 0000 |0005: invoke-direct {v0}, Ljava/util/Vector;.:()V // method@0677 │ │ +0288c4: 5b20 6e03 |0008: iput-object v0, v2, Lutil/PatternSequence;.patternList:Ljava/util/Vector; // field@036e │ │ +0288c8: 2200 8401 |000a: new-instance v0, Lutil/LRUCache; // type@0184 │ │ +0288cc: 1301 e803 |000c: const/16 v1, #int 1000 // #3e8 │ │ +0288d0: 7020 1407 1000 |000e: invoke-direct {v0, v1}, Lutil/LRUCache;.:(I)V // method@0714 │ │ +0288d6: 5b20 6d03 |0011: iput-object v0, v2, Lutil/PatternSequence;.matchedPatternCache:Lutil/LRUCache; // field@036d │ │ +0288da: 0e00 |0013: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=6 │ │ 0x0003 line=79 │ │ 0x000a line=80 │ │ locals : │ │ 0x0000 - 0x0014 reg=2 this Lutil/PatternSequence; │ │ @@ -30719,24 +30719,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 │ │ -0287a4: |[0287a4] util.PatternSequence.addPattern:(Ljava/lang/String;Ljava/lang/Object;)Z │ │ -0287b4: 5430 6d03 |0000: iget-object v0, v3, Lutil/PatternSequence;.matchedPatternCache:Lutil/LRUCache; // field@036d │ │ -0287b8: 6e10 1507 0000 |0002: invoke-virtual {v0}, Lutil/LRUCache;.clear:()V // method@0715 │ │ -0287be: 5430 6e03 |0005: iget-object v0, v3, Lutil/PatternSequence;.patternList:Ljava/util/Vector; // field@036e │ │ -0287c2: 2201 8c01 |0007: new-instance v1, Lutil/PatternSequence$Pattern; // type@018c │ │ -0287c6: 1202 |0009: const/4 v2, #int 0 // #0 │ │ -0287c8: 7052 6907 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@0769 │ │ -0287ce: 6e20 7906 1000 |000d: invoke-virtual {v0, v1}, Ljava/util/Vector;.add:(Ljava/lang/Object;)Z // method@0679 │ │ -0287d4: 0a04 |0010: move-result v4 │ │ -0287d6: 0f04 |0011: return v4 │ │ +0287a0: |[0287a0] util.PatternSequence.addPattern:(Ljava/lang/String;Ljava/lang/Object;)Z │ │ +0287b0: 5430 6d03 |0000: iget-object v0, v3, Lutil/PatternSequence;.matchedPatternCache:Lutil/LRUCache; // field@036d │ │ +0287b4: 6e10 1507 0000 |0002: invoke-virtual {v0}, Lutil/LRUCache;.clear:()V // method@0715 │ │ +0287ba: 5430 6e03 |0005: iget-object v0, v3, Lutil/PatternSequence;.patternList:Ljava/util/Vector; // field@036e │ │ +0287be: 2201 8c01 |0007: new-instance v1, Lutil/PatternSequence$Pattern; // type@018c │ │ +0287c2: 1202 |0009: const/4 v2, #int 0 // #0 │ │ +0287c4: 7052 6907 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@0769 │ │ +0287ca: 6e20 7906 1000 |000d: invoke-virtual {v0, v1}, Ljava/util/Vector;.add:(Ljava/lang/Object;)Z // method@0679 │ │ +0287d0: 0a04 |0010: move-result v4 │ │ +0287d2: 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; │ │ @@ -30747,18 +30747,18 @@ │ │ type : '()V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 6 16-bit code units │ │ -0288e0: |[0288e0] util.PatternSequence.clear:()V │ │ -0288f0: 5410 6e03 |0000: iget-object v0, v1, Lutil/PatternSequence;.patternList:Ljava/util/Vector; // field@036e │ │ -0288f4: 6e10 7b06 0000 |0002: invoke-virtual {v0}, Ljava/util/Vector;.clear:()V // method@067b │ │ -0288fa: 0e00 |0005: return-void │ │ +0288dc: |[0288dc] util.PatternSequence.clear:()V │ │ +0288ec: 5410 6e03 |0000: iget-object v0, v1, Lutil/PatternSequence;.patternList:Ljava/util/Vector; // field@036e │ │ +0288f0: 6e10 7b06 0000 |0002: invoke-virtual {v0}, Ljava/util/Vector;.clear:()V // method@067b │ │ +0288f6: 0e00 |0005: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=115 │ │ locals : │ │ 0x0000 - 0x0006 reg=1 this Lutil/PatternSequence; │ │ │ │ #2 : (in Lutil/PatternSequence;) │ │ @@ -30766,43 +30766,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 │ │ -02880c: |[02880c] util.PatternSequence.match:(Ljava/lang/String;)Ljava/lang/Object; │ │ -02881c: 5430 6d03 |0000: iget-object v0, v3, Lutil/PatternSequence;.matchedPatternCache:Lutil/LRUCache; // field@036d │ │ -028820: 6e20 1a07 4000 |0002: invoke-virtual {v0, v4}, Lutil/LRUCache;.get:(Ljava/lang/Object;)Ljava/lang/Object; // method@071a │ │ -028826: 0c00 |0005: move-result-object v0 │ │ -028828: 6201 6c03 |0006: sget-object v1, Lutil/PatternSequence;.NULL:Ljava/lang/Object; // field@036c │ │ -02882c: 1202 |0008: const/4 v2, #int 0 // #0 │ │ -02882e: 3310 0300 |0009: if-ne v0, v1, 000c // +0003 │ │ -028832: 1102 |000b: return-object v2 │ │ -028834: 3800 0300 |000c: if-eqz v0, 000f // +0003 │ │ -028838: 1100 |000e: return-object v0 │ │ -02883a: 5430 6e03 |000f: iget-object v0, v3, Lutil/PatternSequence;.patternList:Ljava/util/Vector; // field@036e │ │ -02883e: 6e10 8006 0000 |0011: invoke-virtual {v0}, Ljava/util/Vector;.iterator:()Ljava/util/Iterator; // method@0680 │ │ -028844: 0c00 |0014: move-result-object v0 │ │ -028846: 7210 3c06 0000 |0015: invoke-interface {v0}, Ljava/util/Iterator;.hasNext:()Z // method@063c │ │ -02884c: 0a01 |0018: move-result v1 │ │ -02884e: 3801 1400 |0019: if-eqz v1, 002d // +0014 │ │ -028852: 7210 3d06 0000 |001b: invoke-interface {v0}, Ljava/util/Iterator;.next:()Ljava/lang/Object; // method@063d │ │ -028858: 0c01 |001e: move-result-object v1 │ │ -02885a: 1f01 8c01 |001f: check-cast v1, Lutil/PatternSequence$Pattern; // type@018c │ │ -02885e: 6e20 6c07 4100 |0021: invoke-virtual {v1, v4}, Lutil/PatternSequence$Pattern;.match:(Ljava/lang/String;)Ljava/lang/Object; // method@076c │ │ -028864: 0c01 |0024: move-result-object v1 │ │ -028866: 3801 f0ff |0025: if-eqz v1, 0015 // -0010 │ │ -02886a: 5430 6d03 |0027: iget-object v0, v3, Lutil/PatternSequence;.matchedPatternCache:Lutil/LRUCache; // field@036d │ │ -02886e: 6e30 1e07 4001 |0029: invoke-virtual {v0, v4, v1}, Lutil/LRUCache;.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; // method@071e │ │ -028874: 1101 |002c: return-object v1 │ │ -028876: 5430 6d03 |002d: iget-object v0, v3, Lutil/PatternSequence;.matchedPatternCache:Lutil/LRUCache; // field@036d │ │ -02887a: 6201 6c03 |002f: sget-object v1, Lutil/PatternSequence;.NULL:Ljava/lang/Object; // field@036c │ │ -02887e: 6e30 1e07 4001 |0031: invoke-virtual {v0, v4, v1}, Lutil/LRUCache;.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; // method@071e │ │ -028884: 1102 |0034: return-object v2 │ │ +028808: |[028808] util.PatternSequence.match:(Ljava/lang/String;)Ljava/lang/Object; │ │ +028818: 5430 6d03 |0000: iget-object v0, v3, Lutil/PatternSequence;.matchedPatternCache:Lutil/LRUCache; // field@036d │ │ +02881c: 6e20 1a07 4000 |0002: invoke-virtual {v0, v4}, Lutil/LRUCache;.get:(Ljava/lang/Object;)Ljava/lang/Object; // method@071a │ │ +028822: 0c00 |0005: move-result-object v0 │ │ +028824: 6201 6c03 |0006: sget-object v1, Lutil/PatternSequence;.NULL:Ljava/lang/Object; // field@036c │ │ +028828: 1202 |0008: const/4 v2, #int 0 // #0 │ │ +02882a: 3310 0300 |0009: if-ne v0, v1, 000c // +0003 │ │ +02882e: 1102 |000b: return-object v2 │ │ +028830: 3800 0300 |000c: if-eqz v0, 000f // +0003 │ │ +028834: 1100 |000e: return-object v0 │ │ +028836: 5430 6e03 |000f: iget-object v0, v3, Lutil/PatternSequence;.patternList:Ljava/util/Vector; // field@036e │ │ +02883a: 6e10 8006 0000 |0011: invoke-virtual {v0}, Ljava/util/Vector;.iterator:()Ljava/util/Iterator; // method@0680 │ │ +028840: 0c00 |0014: move-result-object v0 │ │ +028842: 7210 3c06 0000 |0015: invoke-interface {v0}, Ljava/util/Iterator;.hasNext:()Z // method@063c │ │ +028848: 0a01 |0018: move-result v1 │ │ +02884a: 3801 1400 |0019: if-eqz v1, 002d // +0014 │ │ +02884e: 7210 3d06 0000 |001b: invoke-interface {v0}, Ljava/util/Iterator;.next:()Ljava/lang/Object; // method@063d │ │ +028854: 0c01 |001e: move-result-object v1 │ │ +028856: 1f01 8c01 |001f: check-cast v1, Lutil/PatternSequence$Pattern; // type@018c │ │ +02885a: 6e20 6c07 4100 |0021: invoke-virtual {v1, v4}, Lutil/PatternSequence$Pattern;.match:(Ljava/lang/String;)Ljava/lang/Object; // method@076c │ │ +028860: 0c01 |0024: move-result-object v1 │ │ +028862: 3801 f0ff |0025: if-eqz v1, 0015 // -0010 │ │ +028866: 5430 6d03 |0027: iget-object v0, v3, Lutil/PatternSequence;.matchedPatternCache:Lutil/LRUCache; // field@036d │ │ +02886a: 6e30 1e07 4001 |0029: invoke-virtual {v0, v4, v1}, Lutil/LRUCache;.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; // method@071e │ │ +028870: 1101 |002c: return-object v1 │ │ +028872: 5430 6d03 |002d: iget-object v0, v3, Lutil/PatternSequence;.matchedPatternCache:Lutil/LRUCache; // field@036d │ │ +028876: 6201 6c03 |002f: sget-object v1, Lutil/PatternSequence;.NULL:Ljava/lang/Object; // field@036c │ │ +02887a: 6e30 1e07 4001 |0031: invoke-virtual {v0, v4, v1}, Lutil/LRUCache;.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; // method@071e │ │ +028880: 1102 |0034: return-object v2 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=94 │ │ 0x0006 line=95 │ │ 0x000f line=100 │ │ 0x0015 line=101 │ │ 0x001b line=103 │ │ @@ -30818,24 +30818,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 │ │ -0287d8: |[0287d8] util.PatternSequence.removePattern:(Ljava/lang/String;Ljava/lang/Object;)Z │ │ -0287e8: 5430 6d03 |0000: iget-object v0, v3, Lutil/PatternSequence;.matchedPatternCache:Lutil/LRUCache; // field@036d │ │ -0287ec: 6e10 1507 0000 |0002: invoke-virtual {v0}, Lutil/LRUCache;.clear:()V // method@0715 │ │ -0287f2: 5430 6e03 |0005: iget-object v0, v3, Lutil/PatternSequence;.patternList:Ljava/util/Vector; // field@036e │ │ -0287f6: 2201 8c01 |0007: new-instance v1, Lutil/PatternSequence$Pattern; // type@018c │ │ -0287fa: 1202 |0009: const/4 v2, #int 0 // #0 │ │ -0287fc: 7052 6907 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@0769 │ │ -028802: 6e20 8206 1000 |000d: invoke-virtual {v0, v1}, Ljava/util/Vector;.remove:(Ljava/lang/Object;)Z // method@0682 │ │ -028808: 0a04 |0010: move-result v4 │ │ -02880a: 0f04 |0011: return v4 │ │ +0287d4: |[0287d4] util.PatternSequence.removePattern:(Ljava/lang/String;Ljava/lang/Object;)Z │ │ +0287e4: 5430 6d03 |0000: iget-object v0, v3, Lutil/PatternSequence;.matchedPatternCache:Lutil/LRUCache; // field@036d │ │ +0287e8: 6e10 1507 0000 |0002: invoke-virtual {v0}, Lutil/LRUCache;.clear:()V // method@0715 │ │ +0287ee: 5430 6e03 |0005: iget-object v0, v3, Lutil/PatternSequence;.patternList:Ljava/util/Vector; // field@036e │ │ +0287f2: 2201 8c01 |0007: new-instance v1, Lutil/PatternSequence$Pattern; // type@018c │ │ +0287f6: 1202 |0009: const/4 v2, #int 0 // #0 │ │ +0287f8: 7052 6907 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@0769 │ │ +0287fe: 6e20 8206 1000 |000d: invoke-virtual {v0, v1}, Ljava/util/Vector;.remove:(Ljava/lang/Object;)Z // method@0682 │ │ +028804: 0a04 |0010: move-result v4 │ │ +028806: 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; │ │ @@ -30907,20 +30907,20 @@ │ │ type : '(Lutil/TimoutNotificator;)V' │ │ access : 0x10001 (PUBLIC CONSTRUCTOR) │ │ code - │ │ registers : 4 │ │ ins : 2 │ │ outs : 1 │ │ insns size : 13 16-bit code units │ │ -028c10: |[028c10] util.TimeoutTime.:(Lutil/TimoutNotificator;)V │ │ -028c20: 7010 7505 0200 |0000: invoke-direct {v2}, Ljava/lang/Object;.:()V // method@0575 │ │ -028c26: 1800 ffff ffff ffff ff7f |0003: const-wide v0, #double nan // #7fffffffffffffff │ │ -028c30: 5a20 7503 |0008: iput-wide v0, v2, Lutil/TimeoutTime;.timeout:J // field@0375 │ │ -028c34: 5b23 7603 |000a: iput-object v3, v2, Lutil/TimeoutTime;.toHandler:Lutil/TimoutNotificator; // field@0376 │ │ -028c38: 0e00 |000c: return-void │ │ +028c0c: |[028c0c] util.TimeoutTime.:(Lutil/TimoutNotificator;)V │ │ +028c1c: 7010 7505 0200 |0000: invoke-direct {v2}, Ljava/lang/Object;.:()V // method@0575 │ │ +028c22: 1800 ffff ffff ffff ff7f |0003: const-wide v0, #double nan // #7fffffffffffffff │ │ +028c2c: 5a20 7503 |0008: iput-wide v0, v2, Lutil/TimeoutTime;.timeout:J // field@0375 │ │ +028c30: 5b23 7603 |000a: iput-object v3, v2, Lutil/TimeoutTime;.toHandler:Lutil/TimoutNotificator; // field@0376 │ │ +028c34: 0e00 |000c: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=30 │ │ 0x0008 line=27 │ │ 0x000a line=31 │ │ locals : │ │ 0x0000 - 0x000d reg=2 this Lutil/TimeoutTime; │ │ @@ -30932,22 +30932,22 @@ │ │ type : '()J' │ │ access : 0x20001 (PUBLIC DECLARED_SYNCHRONIZED) │ │ code - │ │ registers : 3 │ │ ins : 1 │ │ outs : 0 │ │ insns size : 8 16-bit code units │ │ -028be4: |[028be4] util.TimeoutTime.getTimeout:()J │ │ -028bf4: 1d02 |0000: monitor-enter v2 │ │ -028bf6: 5320 7503 |0001: iget-wide v0, v2, Lutil/TimeoutTime;.timeout:J // field@0375 │ │ -028bfa: 1e02 |0003: monitor-exit v2 │ │ -028bfc: 1000 |0004: return-wide v0 │ │ -028bfe: 0d00 |0005: move-exception v0 │ │ -028c00: 1e02 |0006: monitor-exit v2 │ │ -028c02: 2700 |0007: throw v0 │ │ +028be0: |[028be0] util.TimeoutTime.getTimeout:()J │ │ +028bf0: 1d02 |0000: monitor-enter v2 │ │ +028bf2: 5320 7503 |0001: iget-wide v0, v2, Lutil/TimeoutTime;.timeout:J // field@0375 │ │ +028bf6: 1e02 |0003: monitor-exit v2 │ │ +028bf8: 1000 |0004: return-wide v0 │ │ +028bfa: 0d00 |0005: move-exception v0 │ │ +028bfc: 1e02 |0006: monitor-exit v2 │ │ +028bfe: 2700 |0007: throw v0 │ │ catches : 1 │ │ 0x0001 - 0x0003 │ │ -> 0x0005 │ │ positions : │ │ 0x0001 line=41 │ │ locals : │ │ 0x0000 - 0x0008 reg=2 this Lutil/TimeoutTime; │ │ @@ -30957,32 +30957,32 @@ │ │ type : '(J)V' │ │ access : 0x20001 (PUBLIC DECLARED_SYNCHRONIZED) │ │ code - │ │ registers : 6 │ │ ins : 3 │ │ outs : 1 │ │ insns size : 29 16-bit code units │ │ -028c3c: |[028c3c] util.TimeoutTime.setTimeout:(J)V │ │ -028c4c: 1d03 |0000: monitor-enter v3 │ │ -028c4e: 1600 0000 |0001: const-wide/16 v0, #int 0 // #0 │ │ -028c52: 3102 0400 |0003: cmp-long v2, v4, v0 │ │ -028c56: 3c02 0a00 |0005: if-gtz v2, 000f // +000a │ │ -028c5a: 1804 ffff ffff ffff ff7f |0007: const-wide v4, #double nan // #7fffffffffffffff │ │ -028c64: 5a34 7503 |000c: iput-wide v4, v3, Lutil/TimeoutTime;.timeout:J // field@0375 │ │ -028c68: 280a |000e: goto 0018 // +000a │ │ -028c6a: 5430 7603 |000f: iget-object v0, v3, Lutil/TimeoutTime;.toHandler:Lutil/TimoutNotificator; // field@0376 │ │ -028c6e: 6e10 8707 0000 |0011: invoke-virtual {v0}, Lutil/TimoutNotificator;.getCurrentTime:()J // method@0787 │ │ -028c74: 0b00 |0014: move-result-wide v0 │ │ -028c76: bb40 |0015: add-long/2addr v0, v4 │ │ -028c78: 5a30 7503 |0016: iput-wide v0, v3, Lutil/TimeoutTime;.timeout:J // field@0375 │ │ -028c7c: 1e03 |0018: monitor-exit v3 │ │ -028c7e: 0e00 |0019: return-void │ │ -028c80: 0d04 |001a: move-exception v4 │ │ -028c82: 1e03 |001b: monitor-exit v3 │ │ -028c84: 2704 |001c: throw v4 │ │ +028c38: |[028c38] util.TimeoutTime.setTimeout:(J)V │ │ +028c48: 1d03 |0000: monitor-enter v3 │ │ +028c4a: 1600 0000 |0001: const-wide/16 v0, #int 0 // #0 │ │ +028c4e: 3102 0400 |0003: cmp-long v2, v4, v0 │ │ +028c52: 3c02 0a00 |0005: if-gtz v2, 000f // +000a │ │ +028c56: 1804 ffff ffff ffff ff7f |0007: const-wide v4, #double nan // #7fffffffffffffff │ │ +028c60: 5a34 7503 |000c: iput-wide v4, v3, Lutil/TimeoutTime;.timeout:J // field@0375 │ │ +028c64: 280a |000e: goto 0018 // +000a │ │ +028c66: 5430 7603 |000f: iget-object v0, v3, Lutil/TimeoutTime;.toHandler:Lutil/TimoutNotificator; // field@0376 │ │ +028c6a: 6e10 8707 0000 |0011: invoke-virtual {v0}, Lutil/TimoutNotificator;.getCurrentTime:()J // method@0787 │ │ +028c70: 0b00 |0014: move-result-wide v0 │ │ +028c72: bb40 |0015: add-long/2addr v0, v4 │ │ +028c74: 5a30 7503 |0016: iput-wide v0, v3, Lutil/TimeoutTime;.timeout:J // field@0375 │ │ +028c78: 1e03 |0018: monitor-exit v3 │ │ +028c7a: 0e00 |0019: return-void │ │ +028c7c: 0d04 |001a: move-exception v4 │ │ +028c7e: 1e03 |001b: monitor-exit v3 │ │ +028c80: 2704 |001c: throw v4 │ │ catches : 1 │ │ 0x000c - 0x0018 │ │ -> 0x001a │ │ positions : │ │ 0x000c line=36 │ │ 0x000f line=37 │ │ 0x0018 line=38 │ │ @@ -31036,44 +31036,44 @@ │ │ type : '()V' │ │ access : 0x10008 (STATIC CONSTRUCTOR) │ │ code - │ │ registers : 1 │ │ ins : 0 │ │ outs : 1 │ │ insns size : 8 16-bit code units │ │ -028cf0: |[028cf0] util.TimoutNotificator.:()V │ │ -028d00: 2200 9101 |0000: new-instance v0, Lutil/TimoutNotificator; // type@0191 │ │ -028d04: 7010 8607 0000 |0002: invoke-direct {v0}, Lutil/TimoutNotificator;.:()V // method@0786 │ │ -028d0a: 6900 7803 |0005: sput-object v0, Lutil/TimoutNotificator;.instance:Lutil/TimoutNotificator; // field@0378 │ │ -028d0e: 0e00 |0007: return-void │ │ +028cec: |[028cec] util.TimoutNotificator.:()V │ │ +028cfc: 2200 9101 |0000: new-instance v0, Lutil/TimoutNotificator; // type@0191 │ │ +028d00: 7010 8607 0000 |0002: invoke-direct {v0}, Lutil/TimoutNotificator;.:()V // method@0786 │ │ +028d06: 6900 7803 |0005: sput-object v0, Lutil/TimoutNotificator;.instance:Lutil/TimoutNotificator; // field@0378 │ │ +028d0a: 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 │ │ -028d10: |[028d10] util.TimoutNotificator.:()V │ │ -028d20: 7010 7505 0200 |0000: invoke-direct {v2}, Ljava/lang/Object;.:()V // method@0575 │ │ -028d26: 2200 5901 |0003: new-instance v0, Ljava/util/HashSet; // type@0159 │ │ -028d2a: 7010 2f06 0000 |0005: invoke-direct {v0}, Ljava/util/HashSet;.:()V // method@062f │ │ -028d30: 5b20 7903 |0008: iput-object v0, v2, Lutil/TimoutNotificator;.listeners:Ljava/util/HashSet; // field@0379 │ │ -028d34: 1200 |000a: const/4 v0, #int 0 // #0 │ │ -028d36: 5c20 7b03 |000b: iput-boolean v0, v2, Lutil/TimoutNotificator;.threadAvailable:Z // field@037b │ │ -028d3a: 5c20 7a03 |000d: iput-boolean v0, v2, Lutil/TimoutNotificator;.stopped:Z // field@037a │ │ -028d3e: 1600 0000 |000f: const-wide/16 v0, #int 0 // #0 │ │ -028d42: 5a20 7703 |0011: iput-wide v0, v2, Lutil/TimoutNotificator;.curTime:J // field@0377 │ │ -028d46: 0e00 |0013: return-void │ │ +028d0c: |[028d0c] util.TimoutNotificator.:()V │ │ +028d1c: 7010 7505 0200 |0000: invoke-direct {v2}, Ljava/lang/Object;.:()V // method@0575 │ │ +028d22: 2200 5901 |0003: new-instance v0, Ljava/util/HashSet; // type@0159 │ │ +028d26: 7010 2f06 0000 |0005: invoke-direct {v0}, Ljava/util/HashSet;.:()V // method@062f │ │ +028d2c: 5b20 7903 |0008: iput-object v0, v2, Lutil/TimoutNotificator;.listeners:Ljava/util/HashSet; // field@0379 │ │ +028d30: 1200 |000a: const/4 v0, #int 0 // #0 │ │ +028d32: 5c20 7b03 |000b: iput-boolean v0, v2, Lutil/TimoutNotificator;.threadAvailable:Z // field@037b │ │ +028d36: 5c20 7a03 |000d: iput-boolean v0, v2, Lutil/TimoutNotificator;.stopped:Z // field@037a │ │ +028d3a: 1600 0000 |000f: const-wide/16 v0, #int 0 // #0 │ │ +028d3e: 5a20 7703 |0011: iput-wide v0, v2, Lutil/TimoutNotificator;.curTime:J // field@0377 │ │ +028d42: 0e00 |0013: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=28 │ │ 0x0003 line=33 │ │ 0x000b line=34 │ │ 0x000d line=35 │ │ 0x0011 line=36 │ │ @@ -31085,35 +31085,35 @@ │ │ type : '()Lutil/TimoutNotificator;' │ │ access : 0x0009 (PUBLIC STATIC) │ │ code - │ │ registers : 1 │ │ ins : 0 │ │ outs : 0 │ │ insns size : 3 16-bit code units │ │ -028cbc: |[028cbc] util.TimoutNotificator.getInstance:()Lutil/TimoutNotificator; │ │ -028ccc: 6200 7803 |0000: sget-object v0, Lutil/TimoutNotificator;.instance:Lutil/TimoutNotificator; // field@0378 │ │ -028cd0: 1100 |0002: return-object v0 │ │ +028cb8: |[028cb8] util.TimoutNotificator.getInstance:()Lutil/TimoutNotificator; │ │ +028cc8: 6200 7803 |0000: sget-object v0, Lutil/TimoutNotificator;.instance:Lutil/TimoutNotificator; // field@0378 │ │ +028ccc: 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 │ │ -028cd4: |[028cd4] util.TimoutNotificator.getNewInstance:()Lutil/TimoutNotificator; │ │ -028ce4: 2200 9101 |0000: new-instance v0, Lutil/TimoutNotificator; // type@0191 │ │ -028ce8: 7010 8607 0000 |0002: invoke-direct {v0}, Lutil/TimoutNotificator;.:()V // method@0786 │ │ -028cee: 1100 |0005: return-object v0 │ │ +028cd0: |[028cd0] util.TimoutNotificator.getNewInstance:()Lutil/TimoutNotificator; │ │ +028ce0: 2200 9101 |0000: new-instance v0, Lutil/TimoutNotificator; // type@0191 │ │ +028ce4: 7010 8607 0000 |0002: invoke-direct {v0}, Lutil/TimoutNotificator;.:()V // method@0786 │ │ +028cea: 1100 |0005: return-object v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=45 │ │ locals : │ │ │ │ Virtual methods - │ │ #0 : (in Lutil/TimoutNotificator;) │ │ @@ -31121,22 +31121,22 @@ │ │ type : '()J' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 3 │ │ ins : 1 │ │ outs : 0 │ │ insns size : 12 16-bit code units │ │ -028c94: |[028c94] util.TimoutNotificator.getCurrentTime:()J │ │ -028ca4: 5520 7b03 |0000: iget-boolean v0, v2, Lutil/TimoutNotificator;.threadAvailable:Z // field@037b │ │ -028ca8: 3800 0500 |0002: if-eqz v0, 0007 // +0005 │ │ -028cac: 5320 7703 |0004: iget-wide v0, v2, Lutil/TimoutNotificator;.curTime:J // field@0377 │ │ -028cb0: 1000 |0006: return-wide v0 │ │ -028cb2: 7100 b305 0000 |0007: invoke-static {}, Ljava/lang/System;.currentTimeMillis:()J // method@05b3 │ │ -028cb8: 0b00 |000a: move-result-wide v0 │ │ -028cba: 1000 |000b: return-wide v0 │ │ +028c90: |[028c90] util.TimoutNotificator.getCurrentTime:()J │ │ +028ca0: 5520 7b03 |0000: iget-boolean v0, v2, Lutil/TimoutNotificator;.threadAvailable:Z // field@037b │ │ +028ca4: 3800 0500 |0002: if-eqz v0, 0007 // +0005 │ │ +028ca8: 5320 7703 |0004: iget-wide v0, v2, Lutil/TimoutNotificator;.curTime:J // field@0377 │ │ +028cac: 1000 |0006: return-wide v0 │ │ +028cae: 7100 b305 0000 |0007: invoke-static {}, Ljava/lang/System;.currentTimeMillis:()J // method@05b3 │ │ +028cb4: 0b00 |000a: move-result-wide v0 │ │ +028cb6: 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; │ │ @@ -31146,34 +31146,34 @@ │ │ type : '(Lutil/TimeoutListener;)V' │ │ access : 0x20001 (PUBLIC DECLARED_SYNCHRONIZED) │ │ code - │ │ registers : 4 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 35 16-bit code units │ │ -028d48: |[028d48] util.TimoutNotificator.register:(Lutil/TimeoutListener;)V │ │ -028d58: 1d02 |0000: monitor-enter v2 │ │ -028d5a: 5420 7903 |0001: iget-object v0, v2, Lutil/TimoutNotificator;.listeners:Ljava/util/HashSet; // field@0379 │ │ -028d5e: 6e20 3006 3000 |0003: invoke-virtual {v0, v3}, Ljava/util/HashSet;.add:(Ljava/lang/Object;)Z // method@0630 │ │ -028d64: 5523 7b03 |0006: iget-boolean v3, v2, Lutil/TimoutNotificator;.threadAvailable:Z // field@037b │ │ -028d68: 3903 1600 |0008: if-nez v3, 001e // +0016 │ │ -028d6c: 7100 b305 0000 |000a: invoke-static {}, Ljava/lang/System;.currentTimeMillis:()J // method@05b3 │ │ -028d72: 0b00 |000d: move-result-wide v0 │ │ -028d74: 5a20 7703 |000e: iput-wide v0, v2, Lutil/TimoutNotificator;.curTime:J // field@0377 │ │ -028d78: 1213 |0010: const/4 v3, #int 1 // #1 │ │ -028d7a: 5c23 7b03 |0011: iput-boolean v3, v2, Lutil/TimoutNotificator;.threadAvailable:Z // field@037b │ │ -028d7e: 2200 2f01 |0013: new-instance v0, Ljava/lang/Thread; // type@012f │ │ -028d82: 7020 b605 2000 |0015: invoke-direct {v0, v2}, Ljava/lang/Thread;.:(Ljava/lang/Runnable;)V // method@05b6 │ │ -028d88: 6e20 ba05 3000 |0018: invoke-virtual {v0, v3}, Ljava/lang/Thread;.setDaemon:(Z)V // method@05ba │ │ -028d8e: 6e10 bc05 0000 |001b: invoke-virtual {v0}, Ljava/lang/Thread;.start:()V // method@05bc │ │ -028d94: 1e02 |001e: monitor-exit v2 │ │ -028d96: 0e00 |001f: return-void │ │ -028d98: 0d03 |0020: move-exception v3 │ │ -028d9a: 1e02 |0021: monitor-exit v2 │ │ -028d9c: 2703 |0022: throw v3 │ │ +028d44: |[028d44] util.TimoutNotificator.register:(Lutil/TimeoutListener;)V │ │ +028d54: 1d02 |0000: monitor-enter v2 │ │ +028d56: 5420 7903 |0001: iget-object v0, v2, Lutil/TimoutNotificator;.listeners:Ljava/util/HashSet; // field@0379 │ │ +028d5a: 6e20 3006 3000 |0003: invoke-virtual {v0, v3}, Ljava/util/HashSet;.add:(Ljava/lang/Object;)Z // method@0630 │ │ +028d60: 5523 7b03 |0006: iget-boolean v3, v2, Lutil/TimoutNotificator;.threadAvailable:Z // field@037b │ │ +028d64: 3903 1600 |0008: if-nez v3, 001e // +0016 │ │ +028d68: 7100 b305 0000 |000a: invoke-static {}, Ljava/lang/System;.currentTimeMillis:()J // method@05b3 │ │ +028d6e: 0b00 |000d: move-result-wide v0 │ │ +028d70: 5a20 7703 |000e: iput-wide v0, v2, Lutil/TimoutNotificator;.curTime:J // field@0377 │ │ +028d74: 1213 |0010: const/4 v3, #int 1 // #1 │ │ +028d76: 5c23 7b03 |0011: iput-boolean v3, v2, Lutil/TimoutNotificator;.threadAvailable:Z // field@037b │ │ +028d7a: 2200 2f01 |0013: new-instance v0, Ljava/lang/Thread; // type@012f │ │ +028d7e: 7020 b605 2000 |0015: invoke-direct {v0, v2}, Ljava/lang/Thread;.:(Ljava/lang/Runnable;)V // method@05b6 │ │ +028d84: 6e20 ba05 3000 |0018: invoke-virtual {v0, v3}, Ljava/lang/Thread;.setDaemon:(Z)V // method@05ba │ │ +028d8a: 6e10 bc05 0000 |001b: invoke-virtual {v0}, Ljava/lang/Thread;.start:()V // method@05bc │ │ +028d90: 1e02 |001e: monitor-exit v2 │ │ +028d92: 0e00 |001f: return-void │ │ +028d94: 0d03 |0020: move-exception v3 │ │ +028d96: 1e02 |0021: monitor-exit v2 │ │ +028d98: 2703 |0022: throw v3 │ │ catches : 1 │ │ 0x0001 - 0x001e │ │ -> 0x0020 │ │ positions : │ │ 0x0001 line=50 │ │ 0x0006 line=52 │ │ 0x000a line=53 │ │ @@ -31191,85 +31191,85 @@ │ │ type : '()V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 10 │ │ ins : 1 │ │ outs : 3 │ │ insns size : 125 16-bit code units │ │ -028dac: |[028dac] util.TimoutNotificator.run:()V │ │ -028dbc: 2200 6a01 |0000: new-instance v0, Ljava/util/Vector; // type@016a │ │ -028dc0: 7010 7706 0000 |0002: invoke-direct {v0}, Ljava/util/Vector;.:()V // method@0677 │ │ -028dc6: 1d09 |0005: monitor-enter v9 │ │ -028dc8: 6e10 8306 0000 |0006: invoke-virtual {v0}, Ljava/util/Vector;.removeAllElements:()V // method@0683 │ │ -028dce: 7100 b305 0000 |0009: invoke-static {}, Ljava/lang/System;.currentTimeMillis:()J // method@05b3 │ │ -028dd4: 0b01 |000c: move-result-wide v1 │ │ -028dd6: 5a91 7703 |000d: iput-wide v1, v9, Lutil/TimoutNotificator;.curTime:J // field@0377 │ │ -028dda: 1601 e803 |000f: const-wide/16 v1, #int 1000 // #3e8 │ │ -028dde: 6e30 7c05 1902 |0011: invoke-virtual {v9, v1, v2}, Ljava/lang/Object;.wait:(J)V // method@057c │ │ -028de4: 2805 |0014: goto 0019 // +0005 │ │ -028de6: 0d03 |0015: move-exception v3 │ │ -028de8: 6e10 6b05 0300 |0016: invoke-virtual {v3}, Ljava/lang/InterruptedException;.printStackTrace:()V // method@056b │ │ -028dee: 5393 7703 |0019: iget-wide v3, v9, Lutil/TimoutNotificator;.curTime:J // field@0377 │ │ -028df2: bb13 |001b: add-long/2addr v3, v1 │ │ -028df4: 5a93 7703 |001c: iput-wide v3, v9, Lutil/TimoutNotificator;.curTime:J // field@0377 │ │ -028df8: 5591 7a03 |001e: iget-boolean v1, v9, Lutil/TimoutNotificator;.stopped:Z // field@037a │ │ -028dfc: 1202 |0020: const/4 v2, #int 0 // #0 │ │ -028dfe: 3901 2b00 |0021: if-nez v1, 004c // +002b │ │ -028e02: 5491 7903 |0023: iget-object v1, v9, Lutil/TimoutNotificator;.listeners:Ljava/util/HashSet; // field@0379 │ │ -028e06: 2323 b601 |0025: new-array v3, v2, [Lutil/TimeoutListener; // type@01b6 │ │ -028e0a: 6e20 3706 3100 |0027: invoke-virtual {v1, v3}, Ljava/util/HashSet;.toArray:([Ljava/lang/Object;)[Ljava/lang/Object; // method@0637 │ │ -028e10: 0c01 |002a: move-result-object v1 │ │ -028e12: 1f01 b601 |002b: check-cast v1, [Lutil/TimeoutListener; // type@01b6 │ │ -028e16: 1203 |002d: const/4 v3, #int 0 // #0 │ │ -028e18: 2114 |002e: array-length v4, v1 │ │ -028e1a: 3543 1d00 |002f: if-ge v3, v4, 004c // +001d │ │ -028e1e: 4604 0103 |0031: aget-object v4, v1, v3 │ │ -028e22: 7210 8007 0400 |0033: invoke-interface {v4}, Lutil/TimeoutListener;.getTimoutTime:()J // method@0780 │ │ -028e28: 0b04 |0036: move-result-wide v4 │ │ -028e2a: 5396 7703 |0037: iget-wide v6, v9, Lutil/TimoutNotificator;.curTime:J // field@0377 │ │ -028e2e: 3108 0604 |0039: cmp-long v8, v6, v4 │ │ -028e32: 3d08 0e00 |003b: if-lez v8, 0049 // +000e │ │ -028e36: 5494 7903 |003d: iget-object v4, v9, Lutil/TimoutNotificator;.listeners:Ljava/util/HashSet; // field@0379 │ │ -028e3a: 4605 0103 |003f: aget-object v5, v1, v3 │ │ -028e3e: 6e20 3506 5400 |0041: invoke-virtual {v4, v5}, Ljava/util/HashSet;.remove:(Ljava/lang/Object;)Z // method@0635 │ │ -028e44: 4604 0103 |0044: aget-object v4, v1, v3 │ │ -028e48: 6e20 7906 4000 |0046: invoke-virtual {v0, v4}, Ljava/util/Vector;.add:(Ljava/lang/Object;)Z // method@0679 │ │ -028e4e: d803 0301 |0049: add-int/lit8 v3, v3, #int 1 // #01 │ │ -028e52: 28e3 |004b: goto 002e // -001d │ │ -028e54: 5491 7903 |004c: iget-object v1, v9, Lutil/TimoutNotificator;.listeners:Ljava/util/HashSet; // field@0379 │ │ -028e58: 6e10 3306 0100 |004e: invoke-virtual {v1}, Ljava/util/HashSet;.isEmpty:()Z // method@0633 │ │ -028e5e: 0a01 |0051: move-result v1 │ │ -028e60: 3901 0900 |0052: if-nez v1, 005b // +0009 │ │ -028e64: 5591 7a03 |0054: iget-boolean v1, v9, Lutil/TimoutNotificator;.stopped:Z // field@037a │ │ -028e68: 3801 0300 |0056: if-eqz v1, 0059 // +0003 │ │ -028e6c: 2803 |0058: goto 005b // +0003 │ │ -028e6e: 1201 |0059: const/4 v1, #int 0 // #0 │ │ -028e70: 2802 |005a: goto 005c // +0002 │ │ -028e72: 1211 |005b: const/4 v1, #int 1 // #1 │ │ -028e74: 3801 0400 |005c: if-eqz v1, 0060 // +0004 │ │ -028e78: 5c92 7b03 |005e: iput-boolean v2, v9, Lutil/TimoutNotificator;.threadAvailable:Z // field@037b │ │ -028e7c: 1e09 |0060: monitor-exit v9 │ │ -028e7e: 2323 b601 |0061: new-array v3, v2, [Lutil/TimeoutListener; // type@01b6 │ │ -028e82: 6e20 8506 3000 |0063: invoke-virtual {v0, v3}, Ljava/util/Vector;.toArray:([Ljava/lang/Object;)[Ljava/lang/Object; // method@0685 │ │ -028e88: 0c03 |0066: move-result-object v3 │ │ -028e8a: 1f03 b601 |0067: check-cast v3, [Lutil/TimeoutListener; // type@01b6 │ │ -028e8e: 2134 |0069: array-length v4, v3 │ │ -028e90: 3542 0a00 |006a: if-ge v2, v4, 0074 // +000a │ │ -028e94: 4604 0302 |006c: aget-object v4, v3, v2 │ │ -028e98: 7210 8107 0400 |006e: invoke-interface {v4}, Lutil/TimeoutListener;.timeoutNotification:()V // method@0781 │ │ -028e9e: d802 0201 |0071: add-int/lit8 v2, v2, #int 1 // #01 │ │ -028ea2: 28f6 |0073: goto 0069 // -000a │ │ -028ea4: 3901 0300 |0074: if-nez v1, 0077 // +0003 │ │ -028ea8: 288f |0076: goto 0005 // -0071 │ │ -028eaa: 0e00 |0077: return-void │ │ -028eac: 0d00 |0078: move-exception v0 │ │ -028eae: 1e09 |0079: monitor-exit v9 │ │ -028eb0: 2802 |007a: goto 007c // +0002 │ │ -028eb2: 2700 |007b: throw v0 │ │ -028eb4: 28ff |007c: goto 007b // -0001 │ │ +028da8: |[028da8] util.TimoutNotificator.run:()V │ │ +028db8: 2200 6a01 |0000: new-instance v0, Ljava/util/Vector; // type@016a │ │ +028dbc: 7010 7706 0000 |0002: invoke-direct {v0}, Ljava/util/Vector;.:()V // method@0677 │ │ +028dc2: 1d09 |0005: monitor-enter v9 │ │ +028dc4: 6e10 8306 0000 |0006: invoke-virtual {v0}, Ljava/util/Vector;.removeAllElements:()V // method@0683 │ │ +028dca: 7100 b305 0000 |0009: invoke-static {}, Ljava/lang/System;.currentTimeMillis:()J // method@05b3 │ │ +028dd0: 0b01 |000c: move-result-wide v1 │ │ +028dd2: 5a91 7703 |000d: iput-wide v1, v9, Lutil/TimoutNotificator;.curTime:J // field@0377 │ │ +028dd6: 1601 e803 |000f: const-wide/16 v1, #int 1000 // #3e8 │ │ +028dda: 6e30 7c05 1902 |0011: invoke-virtual {v9, v1, v2}, Ljava/lang/Object;.wait:(J)V // method@057c │ │ +028de0: 2805 |0014: goto 0019 // +0005 │ │ +028de2: 0d03 |0015: move-exception v3 │ │ +028de4: 6e10 6b05 0300 |0016: invoke-virtual {v3}, Ljava/lang/InterruptedException;.printStackTrace:()V // method@056b │ │ +028dea: 5393 7703 |0019: iget-wide v3, v9, Lutil/TimoutNotificator;.curTime:J // field@0377 │ │ +028dee: bb13 |001b: add-long/2addr v3, v1 │ │ +028df0: 5a93 7703 |001c: iput-wide v3, v9, Lutil/TimoutNotificator;.curTime:J // field@0377 │ │ +028df4: 5591 7a03 |001e: iget-boolean v1, v9, Lutil/TimoutNotificator;.stopped:Z // field@037a │ │ +028df8: 1202 |0020: const/4 v2, #int 0 // #0 │ │ +028dfa: 3901 2b00 |0021: if-nez v1, 004c // +002b │ │ +028dfe: 5491 7903 |0023: iget-object v1, v9, Lutil/TimoutNotificator;.listeners:Ljava/util/HashSet; // field@0379 │ │ +028e02: 2323 b601 |0025: new-array v3, v2, [Lutil/TimeoutListener; // type@01b6 │ │ +028e06: 6e20 3706 3100 |0027: invoke-virtual {v1, v3}, Ljava/util/HashSet;.toArray:([Ljava/lang/Object;)[Ljava/lang/Object; // method@0637 │ │ +028e0c: 0c01 |002a: move-result-object v1 │ │ +028e0e: 1f01 b601 |002b: check-cast v1, [Lutil/TimeoutListener; // type@01b6 │ │ +028e12: 1203 |002d: const/4 v3, #int 0 // #0 │ │ +028e14: 2114 |002e: array-length v4, v1 │ │ +028e16: 3543 1d00 |002f: if-ge v3, v4, 004c // +001d │ │ +028e1a: 4604 0103 |0031: aget-object v4, v1, v3 │ │ +028e1e: 7210 8007 0400 |0033: invoke-interface {v4}, Lutil/TimeoutListener;.getTimoutTime:()J // method@0780 │ │ +028e24: 0b04 |0036: move-result-wide v4 │ │ +028e26: 5396 7703 |0037: iget-wide v6, v9, Lutil/TimoutNotificator;.curTime:J // field@0377 │ │ +028e2a: 3108 0604 |0039: cmp-long v8, v6, v4 │ │ +028e2e: 3d08 0e00 |003b: if-lez v8, 0049 // +000e │ │ +028e32: 5494 7903 |003d: iget-object v4, v9, Lutil/TimoutNotificator;.listeners:Ljava/util/HashSet; // field@0379 │ │ +028e36: 4605 0103 |003f: aget-object v5, v1, v3 │ │ +028e3a: 6e20 3506 5400 |0041: invoke-virtual {v4, v5}, Ljava/util/HashSet;.remove:(Ljava/lang/Object;)Z // method@0635 │ │ +028e40: 4604 0103 |0044: aget-object v4, v1, v3 │ │ +028e44: 6e20 7906 4000 |0046: invoke-virtual {v0, v4}, Ljava/util/Vector;.add:(Ljava/lang/Object;)Z // method@0679 │ │ +028e4a: d803 0301 |0049: add-int/lit8 v3, v3, #int 1 // #01 │ │ +028e4e: 28e3 |004b: goto 002e // -001d │ │ +028e50: 5491 7903 |004c: iget-object v1, v9, Lutil/TimoutNotificator;.listeners:Ljava/util/HashSet; // field@0379 │ │ +028e54: 6e10 3306 0100 |004e: invoke-virtual {v1}, Ljava/util/HashSet;.isEmpty:()Z // method@0633 │ │ +028e5a: 0a01 |0051: move-result v1 │ │ +028e5c: 3901 0900 |0052: if-nez v1, 005b // +0009 │ │ +028e60: 5591 7a03 |0054: iget-boolean v1, v9, Lutil/TimoutNotificator;.stopped:Z // field@037a │ │ +028e64: 3801 0300 |0056: if-eqz v1, 0059 // +0003 │ │ +028e68: 2803 |0058: goto 005b // +0003 │ │ +028e6a: 1201 |0059: const/4 v1, #int 0 // #0 │ │ +028e6c: 2802 |005a: goto 005c // +0002 │ │ +028e6e: 1211 |005b: const/4 v1, #int 1 // #1 │ │ +028e70: 3801 0400 |005c: if-eqz v1, 0060 // +0004 │ │ +028e74: 5c92 7b03 |005e: iput-boolean v2, v9, Lutil/TimoutNotificator;.threadAvailable:Z // field@037b │ │ +028e78: 1e09 |0060: monitor-exit v9 │ │ +028e7a: 2323 b601 |0061: new-array v3, v2, [Lutil/TimeoutListener; // type@01b6 │ │ +028e7e: 6e20 8506 3000 |0063: invoke-virtual {v0, v3}, Ljava/util/Vector;.toArray:([Ljava/lang/Object;)[Ljava/lang/Object; // method@0685 │ │ +028e84: 0c03 |0066: move-result-object v3 │ │ +028e86: 1f03 b601 |0067: check-cast v3, [Lutil/TimeoutListener; // type@01b6 │ │ +028e8a: 2134 |0069: array-length v4, v3 │ │ +028e8c: 3542 0a00 |006a: if-ge v2, v4, 0074 // +000a │ │ +028e90: 4604 0302 |006c: aget-object v4, v3, v2 │ │ +028e94: 7210 8107 0400 |006e: invoke-interface {v4}, Lutil/TimeoutListener;.timeoutNotification:()V // method@0781 │ │ +028e9a: d802 0201 |0071: add-int/lit8 v2, v2, #int 1 // #01 │ │ +028e9e: 28f6 |0073: goto 0069 // -000a │ │ +028ea0: 3901 0300 |0074: if-nez v1, 0077 // +0003 │ │ +028ea4: 288f |0076: goto 0005 // -0071 │ │ +028ea6: 0e00 |0077: return-void │ │ +028ea8: 0d00 |0078: move-exception v0 │ │ +028eaa: 1e09 |0079: monitor-exit v9 │ │ +028eac: 2802 |007a: goto 007c // +0002 │ │ +028eae: 2700 |007b: throw v0 │ │ +028eb0: 28ff |007c: goto 007b // -0001 │ │ catches : 4 │ │ 0x0006 - 0x000f │ │ -> 0x0078 │ │ 0x0011 - 0x0014 │ │ Ljava/lang/InterruptedException; -> 0x0015 │ │ -> 0x0078 │ │ 0x0016 - 0x0061 │ │ @@ -31306,24 +31306,24 @@ │ │ type : '()V' │ │ access : 0x20001 (PUBLIC DECLARED_SYNCHRONIZED) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 12 16-bit code units │ │ -028ee0: |[028ee0] util.TimoutNotificator.shutdown:()V │ │ -028ef0: 1d01 |0000: monitor-enter v1 │ │ -028ef2: 1210 |0001: const/4 v0, #int 1 // #1 │ │ -028ef4: 5c10 7a03 |0002: iput-boolean v0, v1, Lutil/TimoutNotificator;.stopped:Z // field@037a │ │ -028ef8: 6e10 7905 0100 |0004: invoke-virtual {v1}, Ljava/lang/Object;.notifyAll:()V // method@0579 │ │ -028efe: 1e01 |0007: monitor-exit v1 │ │ -028f00: 0e00 |0008: return-void │ │ -028f02: 0d00 |0009: move-exception v0 │ │ -028f04: 1e01 |000a: monitor-exit v1 │ │ -028f06: 2700 |000b: throw v0 │ │ +028edc: |[028edc] util.TimoutNotificator.shutdown:()V │ │ +028eec: 1d01 |0000: monitor-enter v1 │ │ +028eee: 1210 |0001: const/4 v0, #int 1 // #1 │ │ +028ef0: 5c10 7a03 |0002: iput-boolean v0, v1, Lutil/TimoutNotificator;.stopped:Z // field@037a │ │ +028ef4: 6e10 7905 0100 |0004: invoke-virtual {v1}, Ljava/lang/Object;.notifyAll:()V // method@0579 │ │ +028efa: 1e01 |0007: monitor-exit v1 │ │ +028efc: 0e00 |0008: return-void │ │ +028efe: 0d00 |0009: move-exception v0 │ │ +028f00: 1e01 |000a: monitor-exit v1 │ │ +028f02: 2700 |000b: throw v0 │ │ catches : 1 │ │ 0x0002 - 0x0007 │ │ -> 0x0009 │ │ positions : │ │ 0x0002 line=101 │ │ 0x0004 line=102 │ │ 0x0007 line=103 │ │ @@ -31335,23 +31335,23 @@ │ │ type : '(Lutil/TimeoutListener;)V' │ │ access : 0x20001 (PUBLIC DECLARED_SYNCHRONIZED) │ │ code - │ │ registers : 3 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 11 16-bit code units │ │ -028f14: |[028f14] util.TimoutNotificator.unregister:(Lutil/TimeoutListener;)V │ │ -028f24: 1d01 |0000: monitor-enter v1 │ │ -028f26: 5410 7903 |0001: iget-object v0, v1, Lutil/TimoutNotificator;.listeners:Ljava/util/HashSet; // field@0379 │ │ -028f2a: 6e20 3506 2000 |0003: invoke-virtual {v0, v2}, Ljava/util/HashSet;.remove:(Ljava/lang/Object;)Z // method@0635 │ │ -028f30: 1e01 |0006: monitor-exit v1 │ │ -028f32: 0e00 |0007: return-void │ │ -028f34: 0d02 |0008: move-exception v2 │ │ -028f36: 1e01 |0009: monitor-exit v1 │ │ -028f38: 2702 |000a: throw v2 │ │ +028f10: |[028f10] util.TimoutNotificator.unregister:(Lutil/TimeoutListener;)V │ │ +028f20: 1d01 |0000: monitor-enter v1 │ │ +028f22: 5410 7903 |0001: iget-object v0, v1, Lutil/TimoutNotificator;.listeners:Ljava/util/HashSet; // field@0379 │ │ +028f26: 6e20 3506 2000 |0003: invoke-virtual {v0, v2}, Ljava/util/HashSet;.remove:(Ljava/lang/Object;)Z // method@0635 │ │ +028f2c: 1e01 |0006: monitor-exit v1 │ │ +028f2e: 0e00 |0007: return-void │ │ +028f30: 0d02 |0008: move-exception v2 │ │ +028f32: 1e01 |0009: monitor-exit v1 │ │ +028f34: 2702 |000a: throw v2 │ │ catches : 1 │ │ 0x0001 - 0x0006 │ │ -> 0x0008 │ │ positions : │ │ 0x0001 line=113 │ │ 0x0006 line=115 │ │ locals : │ │ @@ -31415,17 +31415,17 @@ │ │ type : '()V' │ │ access : 0x10001 (PUBLIC CONSTRUCTOR) │ │ code - │ │ registers : 1 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 4 16-bit code units │ │ -02961c: |[02961c] util.Utils.:()V │ │ -02962c: 7010 7505 0000 |0000: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@0575 │ │ -029632: 0e00 |0003: return-void │ │ +029618: |[029618] util.Utils.:()V │ │ +029628: 7010 7505 0000 |0000: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@0575 │ │ +02962e: 0e00 |0003: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=47 │ │ locals : │ │ 0x0000 - 0x0004 reg=0 this Lutil/Utils; │ │ │ │ #1 : (in Lutil/Utils;) │ │ @@ -31433,33 +31433,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 │ │ -028f48: |[028f48] util.Utils.arrayEqual:([Ljava/lang/Object;[Ljava/lang/Object;)Z │ │ -028f58: 2140 |0000: array-length v0, v4 │ │ -028f5a: 2151 |0001: array-length v1, v5 │ │ -028f5c: 1202 |0002: const/4 v2, #int 0 // #0 │ │ -028f5e: 3210 0300 |0003: if-eq v0, v1, 0006 // +0003 │ │ -028f62: 0f02 |0005: return v2 │ │ -028f64: 1200 |0006: const/4 v0, #int 0 // #0 │ │ -028f66: 2141 |0007: array-length v1, v4 │ │ -028f68: 3510 1000 |0008: if-ge v0, v1, 0018 // +0010 │ │ -028f6c: 4601 0400 |000a: aget-object v1, v4, v0 │ │ -028f70: 4603 0500 |000c: aget-object v3, v5, v0 │ │ -028f74: 6e20 7605 3100 |000e: invoke-virtual {v1, v3}, Ljava/lang/Object;.equals:(Ljava/lang/Object;)Z // method@0576 │ │ -028f7a: 0a01 |0011: move-result v1 │ │ -028f7c: 3901 0300 |0012: if-nez v1, 0015 // +0003 │ │ -028f80: 0f02 |0014: return v2 │ │ -028f82: d800 0001 |0015: add-int/lit8 v0, v0, #int 1 // #01 │ │ -028f86: 28f0 |0017: goto 0007 // -0010 │ │ -028f88: 1214 |0018: const/4 v4, #int 1 // #1 │ │ -028f8a: 0f04 |0019: return v4 │ │ +028f44: |[028f44] util.Utils.arrayEqual:([Ljava/lang/Object;[Ljava/lang/Object;)Z │ │ +028f54: 2140 |0000: array-length v0, v4 │ │ +028f56: 2151 |0001: array-length v1, v5 │ │ +028f58: 1202 |0002: const/4 v2, #int 0 // #0 │ │ +028f5a: 3210 0300 |0003: if-eq v0, v1, 0006 // +0003 │ │ +028f5e: 0f02 |0005: return v2 │ │ +028f60: 1200 |0006: const/4 v0, #int 0 // #0 │ │ +028f62: 2141 |0007: array-length v1, v4 │ │ +028f64: 3510 1000 |0008: if-ge v0, v1, 0018 // +0010 │ │ +028f68: 4601 0400 |000a: aget-object v1, v4, v0 │ │ +028f6c: 4603 0500 |000c: aget-object v3, v5, v0 │ │ +028f70: 6e20 7605 3100 |000e: invoke-virtual {v1, v3}, Ljava/lang/Object;.equals:(Ljava/lang/Object;)Z // method@0576 │ │ +028f76: 0a01 |0011: move-result v1 │ │ +028f78: 3901 0300 |0012: if-nez v1, 0015 // +0003 │ │ +028f7c: 0f02 |0014: return v2 │ │ +028f7e: d800 0001 |0015: add-int/lit8 v0, v0, #int 1 // #01 │ │ +028f82: 28f0 |0017: goto 0007 // -0010 │ │ +028f84: 1214 |0018: const/4 v4, #int 1 // #1 │ │ +028f86: 0f04 |0019: return v4 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=115 │ │ 0x0007 line=118 │ │ 0x000a line=119 │ │ locals : │ │ 0x0000 - 0x001a reg=4 (null) [Ljava/lang/Object; │ │ @@ -31470,34 +31470,34 @@ │ │ type : '([B)I' │ │ access : 0x0009 (PUBLIC STATIC) │ │ code - │ │ registers : 3 │ │ ins : 1 │ │ outs : 0 │ │ insns size : 30 16-bit code units │ │ -029100: |[029100] util.Utils.byteArrayToInt:([B)I │ │ -029110: 1230 |0000: const/4 v0, #int 3 // #3 │ │ -029112: 4800 0200 |0001: aget-byte v0, v2, v0 │ │ -029116: d500 ff00 |0003: and-int/lit16 v0, v0, #int 255 // #00ff │ │ -02911a: 1221 |0005: const/4 v1, #int 2 // #2 │ │ -02911c: 4801 0201 |0006: aget-byte v1, v2, v1 │ │ -029120: d511 ff00 |0008: and-int/lit16 v1, v1, #int 255 // #00ff │ │ -029124: e001 0108 |000a: shl-int/lit8 v1, v1, #int 8 // #08 │ │ -029128: b610 |000c: or-int/2addr v0, v1 │ │ -02912a: 1211 |000d: const/4 v1, #int 1 // #1 │ │ -02912c: 4801 0201 |000e: aget-byte v1, v2, v1 │ │ -029130: d511 ff00 |0010: and-int/lit16 v1, v1, #int 255 // #00ff │ │ -029134: e001 0110 |0012: shl-int/lit8 v1, v1, #int 16 // #10 │ │ -029138: b610 |0014: or-int/2addr v0, v1 │ │ -02913a: 1201 |0015: const/4 v1, #int 0 // #0 │ │ -02913c: 4802 0201 |0016: aget-byte v2, v2, v1 │ │ -029140: d522 ff00 |0018: and-int/lit16 v2, v2, #int 255 // #00ff │ │ -029144: e002 0218 |001a: shl-int/lit8 v2, v2, #int 24 // #18 │ │ -029148: b602 |001c: or-int/2addr v2, v0 │ │ -02914a: 0f02 |001d: return v2 │ │ +0290fc: |[0290fc] util.Utils.byteArrayToInt:([B)I │ │ +02910c: 1230 |0000: const/4 v0, #int 3 // #3 │ │ +02910e: 4800 0200 |0001: aget-byte v0, v2, v0 │ │ +029112: d500 ff00 |0003: and-int/lit16 v0, v0, #int 255 // #00ff │ │ +029116: 1221 |0005: const/4 v1, #int 2 // #2 │ │ +029118: 4801 0201 |0006: aget-byte v1, v2, v1 │ │ +02911c: d511 ff00 |0008: and-int/lit16 v1, v1, #int 255 // #00ff │ │ +029120: e001 0108 |000a: shl-int/lit8 v1, v1, #int 8 // #08 │ │ +029124: b610 |000c: or-int/2addr v0, v1 │ │ +029126: 1211 |000d: const/4 v1, #int 1 // #1 │ │ +029128: 4801 0201 |000e: aget-byte v1, v2, v1 │ │ +02912c: d511 ff00 |0010: and-int/lit16 v1, v1, #int 255 // #00ff │ │ +029130: e001 0110 |0012: shl-int/lit8 v1, v1, #int 16 // #10 │ │ +029134: b610 |0014: or-int/2addr v0, v1 │ │ +029136: 1201 |0015: const/4 v1, #int 0 // #0 │ │ +029138: 4802 0201 |0016: aget-byte v2, v2, v1 │ │ +02913c: d522 ff00 |0018: and-int/lit16 v2, v2, #int 255 // #00ff │ │ +029140: e002 0218 |001a: shl-int/lit8 v2, v2, #int 24 // #18 │ │ +029144: b602 |001c: or-int/2addr v2, v0 │ │ +029146: 0f02 |001d: return v2 │ │ catches : (none) │ │ positions : │ │ 0x0001 line=50 │ │ locals : │ │ 0x0000 - 0x001e reg=2 (null) [B │ │ │ │ #3 : (in Lutil/Utils;) │ │ @@ -31505,68 +31505,68 @@ │ │ type : '([BI)J' │ │ access : 0x0009 (PUBLIC STATIC) │ │ code - │ │ registers : 7 │ │ ins : 2 │ │ outs : 0 │ │ insns size : 83 16-bit code units │ │ -0294f4: |[0294f4] util.Utils.byteArrayToLong:([BI)J │ │ -029504: d800 0607 |0000: add-int/lit8 v0, v6, #int 7 // #07 │ │ -029508: 4800 0500 |0002: aget-byte v0, v5, v0 │ │ -02950c: d500 ff00 |0004: and-int/lit16 v0, v0, #int 255 // #00ff │ │ -029510: 8100 |0006: int-to-long v0, v0 │ │ -029512: d802 0606 |0007: add-int/lit8 v2, v6, #int 6 // #06 │ │ -029516: 4802 0502 |0009: aget-byte v2, v5, v2 │ │ -02951a: d522 ff00 |000b: and-int/lit16 v2, v2, #int 255 // #00ff │ │ -02951e: 8122 |000d: int-to-long v2, v2 │ │ -029520: 1304 0800 |000e: const/16 v4, #int 8 // #8 │ │ -029524: c342 |0010: shl-long/2addr v2, v4 │ │ -029526: c120 |0011: or-long/2addr v0, v2 │ │ -029528: d802 0605 |0012: add-int/lit8 v2, v6, #int 5 // #05 │ │ -02952c: 4802 0502 |0014: aget-byte v2, v5, v2 │ │ -029530: d522 ff00 |0016: and-int/lit16 v2, v2, #int 255 // #00ff │ │ -029534: 8122 |0018: int-to-long v2, v2 │ │ -029536: 1304 1000 |0019: const/16 v4, #int 16 // #10 │ │ -02953a: c342 |001b: shl-long/2addr v2, v4 │ │ -02953c: c120 |001c: or-long/2addr v0, v2 │ │ -02953e: d802 0604 |001d: add-int/lit8 v2, v6, #int 4 // #04 │ │ -029542: 4802 0502 |001f: aget-byte v2, v5, v2 │ │ -029546: d522 ff00 |0021: and-int/lit16 v2, v2, #int 255 // #00ff │ │ -02954a: 8122 |0023: int-to-long v2, v2 │ │ -02954c: 1304 1800 |0024: const/16 v4, #int 24 // #18 │ │ -029550: c342 |0026: shl-long/2addr v2, v4 │ │ -029552: c120 |0027: or-long/2addr v0, v2 │ │ -029554: d802 0603 |0028: add-int/lit8 v2, v6, #int 3 // #03 │ │ -029558: 4802 0502 |002a: aget-byte v2, v5, v2 │ │ -02955c: d522 ff00 |002c: and-int/lit16 v2, v2, #int 255 // #00ff │ │ -029560: 8122 |002e: int-to-long v2, v2 │ │ -029562: 1304 2000 |002f: const/16 v4, #int 32 // #20 │ │ -029566: c342 |0031: shl-long/2addr v2, v4 │ │ -029568: c120 |0032: or-long/2addr v0, v2 │ │ -02956a: d802 0602 |0033: add-int/lit8 v2, v6, #int 2 // #02 │ │ -02956e: 4802 0502 |0035: aget-byte v2, v5, v2 │ │ -029572: d522 ff00 |0037: and-int/lit16 v2, v2, #int 255 // #00ff │ │ -029576: 8122 |0039: int-to-long v2, v2 │ │ -029578: 1304 2800 |003a: const/16 v4, #int 40 // #28 │ │ -02957c: c342 |003c: shl-long/2addr v2, v4 │ │ -02957e: c120 |003d: or-long/2addr v0, v2 │ │ -029580: d802 0601 |003e: add-int/lit8 v2, v6, #int 1 // #01 │ │ -029584: 4802 0502 |0040: aget-byte v2, v5, v2 │ │ -029588: d522 ff00 |0042: and-int/lit16 v2, v2, #int 255 // #00ff │ │ -02958c: 8122 |0044: int-to-long v2, v2 │ │ -02958e: 1304 3000 |0045: const/16 v4, #int 48 // #30 │ │ -029592: c342 |0047: shl-long/2addr v2, v4 │ │ -029594: c120 |0048: or-long/2addr v0, v2 │ │ -029596: 4805 0506 |0049: aget-byte v5, v5, v6 │ │ -02959a: d555 ff00 |004b: and-int/lit16 v5, v5, #int 255 // #00ff │ │ -02959e: 8155 |004d: int-to-long v5, v5 │ │ -0295a0: 1302 3800 |004e: const/16 v2, #int 56 // #38 │ │ -0295a4: c325 |0050: shl-long/2addr v5, v2 │ │ -0295a6: c105 |0051: or-long/2addr v5, v0 │ │ -0295a8: 1005 |0052: return-wide v5 │ │ +0294f0: |[0294f0] util.Utils.byteArrayToLong:([BI)J │ │ +029500: d800 0607 |0000: add-int/lit8 v0, v6, #int 7 // #07 │ │ +029504: 4800 0500 |0002: aget-byte v0, v5, v0 │ │ +029508: d500 ff00 |0004: and-int/lit16 v0, v0, #int 255 // #00ff │ │ +02950c: 8100 |0006: int-to-long v0, v0 │ │ +02950e: d802 0606 |0007: add-int/lit8 v2, v6, #int 6 // #06 │ │ +029512: 4802 0502 |0009: aget-byte v2, v5, v2 │ │ +029516: d522 ff00 |000b: and-int/lit16 v2, v2, #int 255 // #00ff │ │ +02951a: 8122 |000d: int-to-long v2, v2 │ │ +02951c: 1304 0800 |000e: const/16 v4, #int 8 // #8 │ │ +029520: c342 |0010: shl-long/2addr v2, v4 │ │ +029522: c120 |0011: or-long/2addr v0, v2 │ │ +029524: d802 0605 |0012: add-int/lit8 v2, v6, #int 5 // #05 │ │ +029528: 4802 0502 |0014: aget-byte v2, v5, v2 │ │ +02952c: d522 ff00 |0016: and-int/lit16 v2, v2, #int 255 // #00ff │ │ +029530: 8122 |0018: int-to-long v2, v2 │ │ +029532: 1304 1000 |0019: const/16 v4, #int 16 // #10 │ │ +029536: c342 |001b: shl-long/2addr v2, v4 │ │ +029538: c120 |001c: or-long/2addr v0, v2 │ │ +02953a: d802 0604 |001d: add-int/lit8 v2, v6, #int 4 // #04 │ │ +02953e: 4802 0502 |001f: aget-byte v2, v5, v2 │ │ +029542: d522 ff00 |0021: and-int/lit16 v2, v2, #int 255 // #00ff │ │ +029546: 8122 |0023: int-to-long v2, v2 │ │ +029548: 1304 1800 |0024: const/16 v4, #int 24 // #18 │ │ +02954c: c342 |0026: shl-long/2addr v2, v4 │ │ +02954e: c120 |0027: or-long/2addr v0, v2 │ │ +029550: d802 0603 |0028: add-int/lit8 v2, v6, #int 3 // #03 │ │ +029554: 4802 0502 |002a: aget-byte v2, v5, v2 │ │ +029558: d522 ff00 |002c: and-int/lit16 v2, v2, #int 255 // #00ff │ │ +02955c: 8122 |002e: int-to-long v2, v2 │ │ +02955e: 1304 2000 |002f: const/16 v4, #int 32 // #20 │ │ +029562: c342 |0031: shl-long/2addr v2, v4 │ │ +029564: c120 |0032: or-long/2addr v0, v2 │ │ +029566: d802 0602 |0033: add-int/lit8 v2, v6, #int 2 // #02 │ │ +02956a: 4802 0502 |0035: aget-byte v2, v5, v2 │ │ +02956e: d522 ff00 |0037: and-int/lit16 v2, v2, #int 255 // #00ff │ │ +029572: 8122 |0039: int-to-long v2, v2 │ │ +029574: 1304 2800 |003a: const/16 v4, #int 40 // #28 │ │ +029578: c342 |003c: shl-long/2addr v2, v4 │ │ +02957a: c120 |003d: or-long/2addr v0, v2 │ │ +02957c: d802 0601 |003e: add-int/lit8 v2, v6, #int 1 // #01 │ │ +029580: 4802 0502 |0040: aget-byte v2, v5, v2 │ │ +029584: d522 ff00 |0042: and-int/lit16 v2, v2, #int 255 // #00ff │ │ +029588: 8122 |0044: int-to-long v2, v2 │ │ +02958a: 1304 3000 |0045: const/16 v4, #int 48 // #30 │ │ +02958e: c342 |0047: shl-long/2addr v2, v4 │ │ +029590: c120 |0048: or-long/2addr v0, v2 │ │ +029592: 4805 0506 |0049: aget-byte v5, v5, v6 │ │ +029596: d555 ff00 |004b: and-int/lit16 v5, v5, #int 255 // #00ff │ │ +02959a: 8155 |004d: int-to-long v5, v5 │ │ +02959c: 1302 3800 |004e: const/16 v2, #int 56 // #38 │ │ +0295a0: c325 |0050: shl-long/2addr v5, v2 │ │ +0295a2: c105 |0051: or-long/2addr v5, v0 │ │ +0295a4: 1005 |0052: return-wide v5 │ │ catches : (none) │ │ positions : │ │ 0x0002 line=90 │ │ locals : │ │ 0x0000 - 0x0053 reg=5 (null) [B │ │ 0x0000 - 0x0053 reg=6 (null) I │ │ │ │ @@ -31575,19 +31575,19 @@ │ │ type : '(Ljava/net/Socket;)V' │ │ access : 0x0009 (PUBLIC STATIC) │ │ code - │ │ registers : 1 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 10 16-bit code units │ │ -029634: |[029634] util.Utils.closeSocket:(Ljava/net/Socket;)V │ │ -029644: 6e10 f105 0000 |0000: invoke-virtual {v0}, Ljava/net/Socket;.shutdownOutput:()V // method@05f1 │ │ -02964a: 6e10 f005 0000 |0003: invoke-virtual {v0}, Ljava/net/Socket;.shutdownInput:()V // method@05f0 │ │ -029650: 6e10 ea05 0000 |0006: invoke-virtual {v0}, Ljava/net/Socket;.close:()V // method@05ea │ │ -029656: 0e00 |0009: return-void │ │ +029630: |[029630] util.Utils.closeSocket:(Ljava/net/Socket;)V │ │ +029640: 6e10 f105 0000 |0000: invoke-virtual {v0}, Ljava/net/Socket;.shutdownOutput:()V // method@05f1 │ │ +029646: 6e10 f005 0000 |0003: invoke-virtual {v0}, Ljava/net/Socket;.shutdownInput:()V // method@05f0 │ │ +02964c: 6e10 ea05 0000 |0006: invoke-virtual {v0}, Ljava/net/Socket;.close:()V // method@05ea │ │ +029652: 0e00 |0009: return-void │ │ catches : 3 │ │ 0x0000 - 0x0003 │ │ Ljava/io/IOException; -> 0x0003 │ │ 0x0003 - 0x0006 │ │ Ljava/io/IOException; -> 0x0006 │ │ 0x0006 - 0x0009 │ │ Ljava/io/IOException; -> 0x0009 │ │ @@ -31603,30 +31603,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 │ │ -029680: |[029680] util.Utils.copyFile:(Ljava/io/File;Ljava/io/File;)V │ │ -029690: 6e10 0a05 0300 |0000: invoke-virtual {v3}, Ljava/io/File;.getParentFile:()Ljava/io/File; // method@050a │ │ -029696: 0c00 |0003: move-result-object v0 │ │ -029698: 3800 0500 |0004: if-eqz v0, 0009 // +0005 │ │ -02969c: 6e10 1105 0000 |0006: invoke-virtual {v0}, Ljava/io/File;.mkdirs:()Z // method@0511 │ │ -0296a2: 2200 f200 |0009: new-instance v0, Ljava/io/BufferedInputStream; // type@00f2 │ │ -0296a6: 2201 fd00 |000b: new-instance v1, Ljava/io/FileInputStream; // type@00fd │ │ -0296aa: 7020 1305 2100 |000d: invoke-direct {v1, v2}, Ljava/io/FileInputStream;.:(Ljava/io/File;)V // method@0513 │ │ -0296b0: 7020 d404 1000 |0010: invoke-direct {v0, v1}, Ljava/io/BufferedInputStream;.:(Ljava/io/InputStream;)V // method@04d4 │ │ -0296b6: 2202 f300 |0013: new-instance v2, Ljava/io/BufferedOutputStream; // type@00f3 │ │ -0296ba: 2201 ff00 |0015: new-instance v1, Ljava/io/FileOutputStream; // type@00ff │ │ -0296be: 7020 1905 3100 |0017: invoke-direct {v1, v3}, Ljava/io/FileOutputStream;.:(Ljava/io/File;)V // method@0519 │ │ -0296c4: 7020 d604 1200 |001a: invoke-direct {v2, v1}, Ljava/io/BufferedOutputStream;.:(Ljava/io/OutputStream;)V // method@04d6 │ │ -0296ca: 1213 |001d: const/4 v3, #int 1 // #1 │ │ -0296cc: 7130 9407 2003 |001e: invoke-static {v0, v2, v3}, Lutil/Utils;.copyFully:(Ljava/io/InputStream;Ljava/io/OutputStream;Z)V // method@0794 │ │ -0296d2: 0e00 |0021: return-void │ │ +02967c: |[02967c] util.Utils.copyFile:(Ljava/io/File;Ljava/io/File;)V │ │ +02968c: 6e10 0a05 0300 |0000: invoke-virtual {v3}, Ljava/io/File;.getParentFile:()Ljava/io/File; // method@050a │ │ +029692: 0c00 |0003: move-result-object v0 │ │ +029694: 3800 0500 |0004: if-eqz v0, 0009 // +0005 │ │ +029698: 6e10 1105 0000 |0006: invoke-virtual {v0}, Ljava/io/File;.mkdirs:()Z // method@0511 │ │ +02969e: 2200 f200 |0009: new-instance v0, Ljava/io/BufferedInputStream; // type@00f2 │ │ +0296a2: 2201 fd00 |000b: new-instance v1, Ljava/io/FileInputStream; // type@00fd │ │ +0296a6: 7020 1305 2100 |000d: invoke-direct {v1, v2}, Ljava/io/FileInputStream;.:(Ljava/io/File;)V // method@0513 │ │ +0296ac: 7020 d404 1000 |0010: invoke-direct {v0, v1}, Ljava/io/BufferedInputStream;.:(Ljava/io/InputStream;)V // method@04d4 │ │ +0296b2: 2202 f300 |0013: new-instance v2, Ljava/io/BufferedOutputStream; // type@00f3 │ │ +0296b6: 2201 ff00 |0015: new-instance v1, Ljava/io/FileOutputStream; // type@00ff │ │ +0296ba: 7020 1905 3100 |0017: invoke-direct {v1, v3}, Ljava/io/FileOutputStream;.:(Ljava/io/File;)V // method@0519 │ │ +0296c0: 7020 d604 1200 |001a: invoke-direct {v2, v1}, Ljava/io/BufferedOutputStream;.:(Ljava/io/OutputStream;)V // method@04d6 │ │ +0296c6: 1213 |001d: const/4 v3, #int 1 // #1 │ │ +0296c8: 7130 9407 2003 |001e: invoke-static {v0, v2, v3}, Lutil/Utils;.copyFully:(Ljava/io/InputStream;Ljava/io/OutputStream;Z)V // method@0794 │ │ +0296ce: 0e00 |0021: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=334 │ │ 0x0006 line=336 │ │ 0x0009 line=337 │ │ 0x0013 line=338 │ │ 0x001e line=339 │ │ @@ -31639,29 +31639,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 │ │ -0296d4: |[0296d4] util.Utils.copyFully:(Ljava/io/InputStream;Ljava/io/OutputStream;Z)V │ │ -0296e4: 1300 0004 |0000: const/16 v0, #int 1024 // #400 │ │ -0296e8: 2300 9d01 |0002: new-array v0, v0, [B // type@019d │ │ -0296ec: 6e20 2b05 0300 |0004: invoke-virtual {v3, v0}, Ljava/io/InputStream;.read:([B)I // method@052b │ │ -0296f2: 0a01 |0007: move-result v1 │ │ -0296f4: 12f2 |0008: const/4 v2, #int -1 // #ff │ │ -0296f6: 3221 0700 |0009: if-eq v1, v2, 0010 // +0007 │ │ -0296fa: 1202 |000b: const/4 v2, #int 0 // #0 │ │ -0296fc: 6e40 3905 0412 |000c: invoke-virtual {v4, v0, v2, v1}, Ljava/io/OutputStream;.write:([BII)V // method@0539 │ │ -029702: 28f5 |000f: goto 0004 // -000b │ │ -029704: 6e10 3605 0400 |0010: invoke-virtual {v4}, Ljava/io/OutputStream;.flush:()V // method@0536 │ │ -02970a: 3805 0800 |0013: if-eqz v5, 001b // +0008 │ │ -02970e: 6e10 3505 0400 |0015: invoke-virtual {v4}, Ljava/io/OutputStream;.close:()V // method@0535 │ │ -029714: 6e10 2905 0300 |0018: invoke-virtual {v3}, Ljava/io/InputStream;.close:()V // method@0529 │ │ -02971a: 0e00 |001b: return-void │ │ +0296d0: |[0296d0] util.Utils.copyFully:(Ljava/io/InputStream;Ljava/io/OutputStream;Z)V │ │ +0296e0: 1300 0004 |0000: const/16 v0, #int 1024 // #400 │ │ +0296e4: 2300 9d01 |0002: new-array v0, v0, [B // type@019d │ │ +0296e8: 6e20 2b05 0300 |0004: invoke-virtual {v3, v0}, Ljava/io/InputStream;.read:([B)I // method@052b │ │ +0296ee: 0a01 |0007: move-result v1 │ │ +0296f0: 12f2 |0008: const/4 v2, #int -1 // #ff │ │ +0296f2: 3221 0700 |0009: if-eq v1, v2, 0010 // +0007 │ │ +0296f6: 1202 |000b: const/4 v2, #int 0 // #0 │ │ +0296f8: 6e40 3905 0412 |000c: invoke-virtual {v4, v0, v2, v1}, Ljava/io/OutputStream;.write:([BII)V // method@0539 │ │ +0296fe: 28f5 |000f: goto 0004 // -000b │ │ +029700: 6e10 3605 0400 |0010: invoke-virtual {v4}, Ljava/io/OutputStream;.flush:()V // method@0536 │ │ +029706: 3805 0800 |0013: if-eqz v5, 001b // +0008 │ │ +02970a: 6e10 3505 0400 |0015: invoke-virtual {v4}, Ljava/io/OutputStream;.close:()V // method@0535 │ │ +029710: 6e10 2905 0300 |0018: invoke-virtual {v3}, Ljava/io/InputStream;.close:()V // method@0529 │ │ +029716: 0e00 |001b: return-void │ │ catches : (none) │ │ positions : │ │ 0x0002 line=319 │ │ 0x0004 line=322 │ │ 0x000c line=323 │ │ 0x0010 line=325 │ │ 0x0015 line=327 │ │ @@ -31676,43 +31676,43 @@ │ │ type : '(Ljava/lang/String;)V' │ │ access : 0x0009 (PUBLIC STATIC) │ │ code - │ │ registers : 4 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 55 16-bit code units │ │ -02971c: |[02971c] util.Utils.deleteFolder:(Ljava/lang/String;)V │ │ -02972c: 2200 fb00 |0000: new-instance v0, Ljava/io/File; // type@00fb │ │ -029730: 7020 0105 3000 |0002: invoke-direct {v0, v3}, Ljava/io/File;.:(Ljava/lang/String;)V // method@0501 │ │ -029736: 6e10 0705 0000 |0005: invoke-virtual {v0}, Ljava/io/File;.exists:()Z // method@0507 │ │ -02973c: 0a03 |0008: move-result v3 │ │ -02973e: 3803 2d00 |0009: if-eqz v3, 0036 // +002d │ │ -029742: 6e10 0c05 0000 |000b: invoke-virtual {v0}, Ljava/io/File;.isDirectory:()Z // method@050c │ │ -029748: 0a03 |000e: move-result v3 │ │ -02974a: 3803 2700 |000f: if-eqz v3, 0036 // +0027 │ │ -02974e: 6e10 0f05 0000 |0011: invoke-virtual {v0}, Ljava/io/File;.listFiles:()[Ljava/io/File; // method@050f │ │ -029754: 0c03 |0014: move-result-object v3 │ │ -029756: 1201 |0015: const/4 v1, #int 0 // #0 │ │ -029758: 2132 |0016: array-length v2, v3 │ │ -02975a: 3521 1c00 |0017: if-ge v1, v2, 0033 // +001c │ │ -02975e: 4602 0301 |0019: aget-object v2, v3, v1 │ │ -029762: 6e10 0c05 0200 |001b: invoke-virtual {v2}, Ljava/io/File;.isDirectory:()Z // method@050c │ │ -029768: 0a02 |001e: move-result v2 │ │ -02976a: 3802 0c00 |001f: if-eqz v2, 002b // +000c │ │ -02976e: 4602 0301 |0021: aget-object v2, v3, v1 │ │ -029772: 6e10 0805 0200 |0023: invoke-virtual {v2}, Ljava/io/File;.getAbsolutePath:()Ljava/lang/String; // method@0508 │ │ -029778: 0c02 |0026: move-result-object v2 │ │ -02977a: 7110 9507 0200 |0027: invoke-static {v2}, Lutil/Utils;.deleteFolder:(Ljava/lang/String;)V // method@0795 │ │ -029780: 2806 |002a: goto 0030 // +0006 │ │ -029782: 4602 0301 |002b: aget-object v2, v3, v1 │ │ -029786: 6e10 0505 0200 |002d: invoke-virtual {v2}, Ljava/io/File;.delete:()Z // method@0505 │ │ -02978c: d801 0101 |0030: add-int/lit8 v1, v1, #int 1 // #01 │ │ -029790: 28e4 |0032: goto 0016 // -001c │ │ -029792: 6e10 0505 0000 |0033: invoke-virtual {v0}, Ljava/io/File;.delete:()Z // method@0505 │ │ -029798: 0e00 |0036: return-void │ │ +029718: |[029718] util.Utils.deleteFolder:(Ljava/lang/String;)V │ │ +029728: 2200 fb00 |0000: new-instance v0, Ljava/io/File; // type@00fb │ │ +02972c: 7020 0105 3000 |0002: invoke-direct {v0, v3}, Ljava/io/File;.:(Ljava/lang/String;)V // method@0501 │ │ +029732: 6e10 0705 0000 |0005: invoke-virtual {v0}, Ljava/io/File;.exists:()Z // method@0507 │ │ +029738: 0a03 |0008: move-result v3 │ │ +02973a: 3803 2d00 |0009: if-eqz v3, 0036 // +002d │ │ +02973e: 6e10 0c05 0000 |000b: invoke-virtual {v0}, Ljava/io/File;.isDirectory:()Z // method@050c │ │ +029744: 0a03 |000e: move-result v3 │ │ +029746: 3803 2700 |000f: if-eqz v3, 0036 // +0027 │ │ +02974a: 6e10 0f05 0000 |0011: invoke-virtual {v0}, Ljava/io/File;.listFiles:()[Ljava/io/File; // method@050f │ │ +029750: 0c03 |0014: move-result-object v3 │ │ +029752: 1201 |0015: const/4 v1, #int 0 // #0 │ │ +029754: 2132 |0016: array-length v2, v3 │ │ +029756: 3521 1c00 |0017: if-ge v1, v2, 0033 // +001c │ │ +02975a: 4602 0301 |0019: aget-object v2, v3, v1 │ │ +02975e: 6e10 0c05 0200 |001b: invoke-virtual {v2}, Ljava/io/File;.isDirectory:()Z // method@050c │ │ +029764: 0a02 |001e: move-result v2 │ │ +029766: 3802 0c00 |001f: if-eqz v2, 002b // +000c │ │ +02976a: 4602 0301 |0021: aget-object v2, v3, v1 │ │ +02976e: 6e10 0805 0200 |0023: invoke-virtual {v2}, Ljava/io/File;.getAbsolutePath:()Ljava/lang/String; // method@0508 │ │ +029774: 0c02 |0026: move-result-object v2 │ │ +029776: 7110 9507 0200 |0027: invoke-static {v2}, Lutil/Utils;.deleteFolder:(Ljava/lang/String;)V // method@0795 │ │ +02977c: 2806 |002a: goto 0030 // +0006 │ │ +02977e: 4602 0301 |002b: aget-object v2, v3, v1 │ │ +029782: 6e10 0505 0200 |002d: invoke-virtual {v2}, Ljava/io/File;.delete:()Z // method@0505 │ │ +029788: d801 0101 |0030: add-int/lit8 v1, v1, #int 1 // #01 │ │ +02978c: 28e4 |0032: goto 0016 // -001c │ │ +02978e: 6e10 0505 0000 |0033: invoke-virtual {v0}, Ljava/io/File;.delete:()Z // method@0505 │ │ +029794: 0e00 |0036: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=304 │ │ 0x0005 line=305 │ │ 0x0011 line=307 │ │ 0x0016 line=308 │ │ 0x0019 line=309 │ │ @@ -31727,26 +31727,26 @@ │ │ type : '([B)Ljava/lang/Object;' │ │ access : 0x0009 (PUBLIC STATIC) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 22 16-bit code units │ │ -0292c8: |[0292c8] util.Utils.deserializeObject:([B)Ljava/lang/Object; │ │ -0292d8: 2200 f600 |0000: new-instance v0, Ljava/io/ByteArrayInputStream; // type@00f6 │ │ -0292dc: 7020 e104 1000 |0002: invoke-direct {v0, v1}, Ljava/io/ByteArrayInputStream;.:([B)V // method@04e1 │ │ -0292e2: 2201 0301 |0005: new-instance v1, Ljava/io/ObjectInputStream; // type@0103 │ │ -0292e6: 7020 2e05 0100 |0007: invoke-direct {v1, v0}, Ljava/io/ObjectInputStream;.:(Ljava/io/InputStream;)V // method@052e │ │ -0292ec: 6e10 2f05 0100 |000a: invoke-virtual {v1}, Ljava/io/ObjectInputStream;.readObject:()Ljava/lang/Object; // method@052f │ │ -0292f2: 0c01 |000d: move-result-object v1 │ │ -0292f4: 1101 |000e: return-object v1 │ │ -0292f6: 0d01 |000f: move-exception v1 │ │ -0292f8: 2200 0001 |0010: new-instance v0, Ljava/io/IOException; // type@0100 │ │ -0292fc: 7020 2305 1000 |0012: invoke-direct {v0, v1}, Ljava/io/IOException;.:(Ljava/lang/Throwable;)V // method@0523 │ │ -029302: 2700 |0015: throw v0 │ │ +0292c4: |[0292c4] util.Utils.deserializeObject:([B)Ljava/lang/Object; │ │ +0292d4: 2200 f600 |0000: new-instance v0, Ljava/io/ByteArrayInputStream; // type@00f6 │ │ +0292d8: 7020 e104 1000 |0002: invoke-direct {v0, v1}, Ljava/io/ByteArrayInputStream;.:([B)V // method@04e1 │ │ +0292de: 2201 0301 |0005: new-instance v1, Ljava/io/ObjectInputStream; // type@0103 │ │ +0292e2: 7020 2e05 0100 |0007: invoke-direct {v1, v0}, Ljava/io/ObjectInputStream;.:(Ljava/io/InputStream;)V // method@052e │ │ +0292e8: 6e10 2f05 0100 |000a: invoke-virtual {v1}, Ljava/io/ObjectInputStream;.readObject:()Ljava/lang/Object; // method@052f │ │ +0292ee: 0c01 |000d: move-result-object v1 │ │ +0292f0: 1101 |000e: return-object v1 │ │ +0292f2: 0d01 |000f: move-exception v1 │ │ +0292f4: 2200 0001 |0010: new-instance v0, Ljava/io/IOException; // type@0100 │ │ +0292f8: 7020 2305 1000 |0012: invoke-direct {v0, v1}, Ljava/io/IOException;.:(Ljava/lang/Throwable;)V // method@0523 │ │ +0292fe: 2700 |0015: throw v0 │ │ catches : 1 │ │ 0x000a - 0x000e │ │ Ljava/lang/ClassNotFoundException; -> 0x000f │ │ positions : │ │ 0x0000 line=267 │ │ 0x0005 line=268 │ │ 0x000a line=270 │ │ @@ -31759,43 +31759,43 @@ │ │ type : '(Ljava/lang/String;)J' │ │ access : 0x0009 (PUBLIC STATIC) │ │ code - │ │ registers : 7 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 47 16-bit code units │ │ -0295ac: |[0295ac] util.Utils.getLongStringHash:(Ljava/lang/String;)J │ │ -0295bc: 6e10 9605 0600 |0000: invoke-virtual {v6}, Ljava/lang/String;.length:()I // method@0596 │ │ -0295c2: 0a00 |0003: move-result v0 │ │ -0295c4: 6e10 8f05 0600 |0004: invoke-virtual {v6}, Ljava/lang/String;.getBytes:()[B // method@058f │ │ -0295ca: 0c06 |0007: move-result-object v6 │ │ -0295cc: 1201 |0008: const/4 v1, #int 0 // #0 │ │ -0295ce: 1202 |0009: const/4 v2, #int 0 // #0 │ │ -0295d0: 1203 |000a: const/4 v3, #int 0 // #0 │ │ -0295d2: 3501 1700 |000b: if-ge v1, v0, 0022 // +0017 │ │ -0295d6: da02 021f |000d: mul-int/lit8 v2, v2, #int 31 // #1f │ │ -0295da: 4804 0601 |000f: aget-byte v4, v6, v1 │ │ -0295de: d544 ff00 |0011: and-int/lit16 v4, v4, #int 255 // #00ff │ │ -0295e2: b042 |0013: add-int/2addr v2, v4 │ │ -0295e4: da03 031f |0014: mul-int/lit8 v3, v3, #int 31 // #1f │ │ -0295e8: 9104 0001 |0016: sub-int v4, v0, v1 │ │ -0295ec: d804 04ff |0018: add-int/lit8 v4, v4, #int -1 // #ff │ │ -0295f0: 4804 0604 |001a: aget-byte v4, v6, v4 │ │ -0295f4: d544 ff00 |001c: and-int/lit16 v4, v4, #int 255 // #00ff │ │ -0295f8: b043 |001e: add-int/2addr v3, v4 │ │ -0295fa: d801 0101 |001f: add-int/lit8 v1, v1, #int 1 // #01 │ │ -0295fe: 28ea |0021: goto 000b // -0016 │ │ -029600: 8120 |0022: int-to-long v0, v2 │ │ -029602: 1306 2000 |0023: const/16 v6, #int 32 // #20 │ │ -029606: c360 |0025: shl-long/2addr v0, v6 │ │ -029608: 8132 |0026: int-to-long v2, v3 │ │ -02960a: 1804 ffff ffff 0000 0000 |0027: const-wide v4, #double 2.122e-314 // #00000000ffffffff │ │ -029614: c042 |002c: and-long/2addr v2, v4 │ │ -029616: c120 |002d: or-long/2addr v0, v2 │ │ -029618: 1000 |002e: return-wide v0 │ │ +0295a8: |[0295a8] util.Utils.getLongStringHash:(Ljava/lang/String;)J │ │ +0295b8: 6e10 9605 0600 |0000: invoke-virtual {v6}, Ljava/lang/String;.length:()I // method@0596 │ │ +0295be: 0a00 |0003: move-result v0 │ │ +0295c0: 6e10 8f05 0600 |0004: invoke-virtual {v6}, Ljava/lang/String;.getBytes:()[B // method@058f │ │ +0295c6: 0c06 |0007: move-result-object v6 │ │ +0295c8: 1201 |0008: const/4 v1, #int 0 // #0 │ │ +0295ca: 1202 |0009: const/4 v2, #int 0 // #0 │ │ +0295cc: 1203 |000a: const/4 v3, #int 0 // #0 │ │ +0295ce: 3501 1700 |000b: if-ge v1, v0, 0022 // +0017 │ │ +0295d2: da02 021f |000d: mul-int/lit8 v2, v2, #int 31 // #1f │ │ +0295d6: 4804 0601 |000f: aget-byte v4, v6, v1 │ │ +0295da: d544 ff00 |0011: and-int/lit16 v4, v4, #int 255 // #00ff │ │ +0295de: b042 |0013: add-int/2addr v2, v4 │ │ +0295e0: da03 031f |0014: mul-int/lit8 v3, v3, #int 31 // #1f │ │ +0295e4: 9104 0001 |0016: sub-int v4, v0, v1 │ │ +0295e8: d804 04ff |0018: add-int/lit8 v4, v4, #int -1 // #ff │ │ +0295ec: 4804 0604 |001a: aget-byte v4, v6, v4 │ │ +0295f0: d544 ff00 |001c: and-int/lit16 v4, v4, #int 255 // #00ff │ │ +0295f4: b043 |001e: add-int/2addr v3, v4 │ │ +0295f6: d801 0101 |001f: add-int/lit8 v1, v1, #int 1 // #01 │ │ +0295fa: 28ea |0021: goto 000b // -0016 │ │ +0295fc: 8120 |0022: int-to-long v0, v2 │ │ +0295fe: 1306 2000 |0023: const/16 v6, #int 32 // #20 │ │ +029602: c360 |0025: shl-long/2addr v0, v6 │ │ +029604: 8132 |0026: int-to-long v2, v3 │ │ +029606: 1804 ffff ffff 0000 0000 |0027: const-wide v4, #double 2.122e-314 // #00000000ffffffff │ │ +029610: c042 |002c: and-long/2addr v2, v4 │ │ +029612: c120 |002d: or-long/2addr v0, v2 │ │ +029614: 1000 |002e: return-wide v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=104 │ │ 0x0004 line=105 │ │ 0x000f line=107 │ │ 0x001a line=108 │ │ locals : │ │ @@ -31806,30 +31806,30 @@ │ │ type : '()Ljava/lang/String;' │ │ access : 0x0009 (PUBLIC STATIC) │ │ code - │ │ registers : 4 │ │ ins : 0 │ │ outs : 3 │ │ insns size : 31 16-bit code units │ │ -029314: |[029314] util.Utils.getServerTime:()Ljava/lang/String; │ │ -029324: 7100 1d06 0000 |0000: invoke-static {}, Ljava/util/Calendar;.getInstance:()Ljava/util/Calendar; // method@061d │ │ -02932a: 0c00 |0003: move-result-object v0 │ │ -02932c: 2201 5001 |0004: new-instance v1, Ljava/text/SimpleDateFormat; // type@0150 │ │ -029330: 1a02 6b01 |0006: const-string v2, "EEE, dd MMM yyyy HH:mm:ss z" // string@016b │ │ -029334: 6203 1e03 |0008: sget-object v3, Ljava/util/Locale;.US:Ljava/util/Locale; // field@031e │ │ -029338: 7030 1706 2103 |000a: invoke-direct {v1, v2, v3}, Ljava/text/SimpleDateFormat;.:(Ljava/lang/String;Ljava/util/Locale;)V // method@0617 │ │ -02933e: 1a02 aa01 |000d: const-string v2, "GMT" // string@01aa │ │ -029342: 7110 6906 0200 |000f: invoke-static {v2}, Ljava/util/TimeZone;.getTimeZone:(Ljava/lang/String;)Ljava/util/TimeZone; // method@0669 │ │ -029348: 0c02 |0012: move-result-object v2 │ │ -02934a: 6e20 1906 2100 |0013: invoke-virtual {v1, v2}, Ljava/text/SimpleDateFormat;.setTimeZone:(Ljava/util/TimeZone;)V // method@0619 │ │ -029350: 6e10 1e06 0000 |0016: invoke-virtual {v0}, Ljava/util/Calendar;.getTime:()Ljava/util/Date; // method@061e │ │ -029356: 0c00 |0019: move-result-object v0 │ │ -029358: 6e20 1806 0100 |001a: invoke-virtual {v1, v0}, Ljava/text/SimpleDateFormat;.format:(Ljava/util/Date;)Ljava/lang/String; // method@0618 │ │ -02935e: 0c00 |001d: move-result-object v0 │ │ -029360: 1100 |001e: return-object v0 │ │ +029310: |[029310] util.Utils.getServerTime:()Ljava/lang/String; │ │ +029320: 7100 1d06 0000 |0000: invoke-static {}, Ljava/util/Calendar;.getInstance:()Ljava/util/Calendar; // method@061d │ │ +029326: 0c00 |0003: move-result-object v0 │ │ +029328: 2201 5001 |0004: new-instance v1, Ljava/text/SimpleDateFormat; // type@0150 │ │ +02932c: 1a02 6b01 |0006: const-string v2, "EEE, dd MMM yyyy HH:mm:ss z" // string@016b │ │ +029330: 6203 1e03 |0008: sget-object v3, Ljava/util/Locale;.US:Ljava/util/Locale; // field@031e │ │ +029334: 7030 1706 2103 |000a: invoke-direct {v1, v2, v3}, Ljava/text/SimpleDateFormat;.:(Ljava/lang/String;Ljava/util/Locale;)V // method@0617 │ │ +02933a: 1a02 aa01 |000d: const-string v2, "GMT" // string@01aa │ │ +02933e: 7110 6906 0200 |000f: invoke-static {v2}, Ljava/util/TimeZone;.getTimeZone:(Ljava/lang/String;)Ljava/util/TimeZone; // method@0669 │ │ +029344: 0c02 |0012: move-result-object v2 │ │ +029346: 6e20 1906 2100 |0013: invoke-virtual {v1, v2}, Ljava/text/SimpleDateFormat;.setTimeZone:(Ljava/util/TimeZone;)V // method@0619 │ │ +02934c: 6e10 1e06 0000 |0016: invoke-virtual {v0}, Ljava/util/Calendar;.getTime:()Ljava/util/Date; // method@061e │ │ +029352: 0c00 |0019: move-result-object v0 │ │ +029354: 6e20 1806 0100 |001a: invoke-virtual {v1, v0}, Ljava/text/SimpleDateFormat;.format:(Ljava/util/Date;)Ljava/lang/String; // method@0618 │ │ +02935a: 0c00 |001d: move-result-object v0 │ │ +02935c: 1100 |001e: return-object v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=277 │ │ 0x0004 line=278 │ │ 0x000d line=279 │ │ 0x0016 line=280 │ │ locals : │ │ @@ -31839,37 +31839,37 @@ │ │ type : '(I)[B' │ │ access : 0x0009 (PUBLIC STATIC) │ │ code - │ │ registers : 6 │ │ ins : 1 │ │ outs : 0 │ │ insns size : 34 16-bit code units │ │ -028f8c: |[028f8c] util.Utils.intToByteArray:(I)[B │ │ -028f9c: e100 0518 |0000: shr-int/lit8 v0, v5, #int 24 // #18 │ │ -028fa0: d500 ff00 |0002: and-int/lit16 v0, v0, #int 255 // #00ff │ │ -028fa4: 8d00 |0004: int-to-byte v0, v0 │ │ -028fa6: e101 0510 |0005: shr-int/lit8 v1, v5, #int 16 // #10 │ │ -028faa: d511 ff00 |0007: and-int/lit16 v1, v1, #int 255 // #00ff │ │ -028fae: 8d11 |0009: int-to-byte v1, v1 │ │ -028fb0: e102 0508 |000a: shr-int/lit8 v2, v5, #int 8 // #08 │ │ -028fb4: d522 ff00 |000c: and-int/lit16 v2, v2, #int 255 // #00ff │ │ -028fb8: 8d22 |000e: int-to-byte v2, v2 │ │ -028fba: d555 ff00 |000f: and-int/lit16 v5, v5, #int 255 // #00ff │ │ -028fbe: 8d55 |0011: int-to-byte v5, v5 │ │ -028fc0: 1243 |0012: const/4 v3, #int 4 // #4 │ │ -028fc2: 2333 9d01 |0013: new-array v3, v3, [B // type@019d │ │ -028fc6: 1204 |0015: const/4 v4, #int 0 // #0 │ │ -028fc8: 4f00 0304 |0016: aput-byte v0, v3, v4 │ │ -028fcc: 1210 |0018: const/4 v0, #int 1 // #1 │ │ -028fce: 4f01 0300 |0019: aput-byte v1, v3, v0 │ │ -028fd2: 1220 |001b: const/4 v0, #int 2 // #2 │ │ -028fd4: 4f02 0300 |001c: aput-byte v2, v3, v0 │ │ -028fd8: 1230 |001e: const/4 v0, #int 3 // #3 │ │ -028fda: 4f05 0300 |001f: aput-byte v5, v3, v0 │ │ -028fde: 1103 |0021: return-object v3 │ │ +028f88: |[028f88] util.Utils.intToByteArray:(I)[B │ │ +028f98: e100 0518 |0000: shr-int/lit8 v0, v5, #int 24 // #18 │ │ +028f9c: d500 ff00 |0002: and-int/lit16 v0, v0, #int 255 // #00ff │ │ +028fa0: 8d00 |0004: int-to-byte v0, v0 │ │ +028fa2: e101 0510 |0005: shr-int/lit8 v1, v5, #int 16 // #10 │ │ +028fa6: d511 ff00 |0007: and-int/lit16 v1, v1, #int 255 // #00ff │ │ +028faa: 8d11 |0009: int-to-byte v1, v1 │ │ +028fac: e102 0508 |000a: shr-int/lit8 v2, v5, #int 8 // #08 │ │ +028fb0: d522 ff00 |000c: and-int/lit16 v2, v2, #int 255 // #00ff │ │ +028fb4: 8d22 |000e: int-to-byte v2, v2 │ │ +028fb6: d555 ff00 |000f: and-int/lit16 v5, v5, #int 255 // #00ff │ │ +028fba: 8d55 |0011: int-to-byte v5, v5 │ │ +028fbc: 1243 |0012: const/4 v3, #int 4 // #4 │ │ +028fbe: 2333 9d01 |0013: new-array v3, v3, [B // type@019d │ │ +028fc2: 1204 |0015: const/4 v4, #int 0 // #0 │ │ +028fc4: 4f00 0304 |0016: aput-byte v0, v3, v4 │ │ +028fc8: 1210 |0018: const/4 v0, #int 1 // #1 │ │ +028fca: 4f01 0300 |0019: aput-byte v1, v3, v0 │ │ +028fce: 1220 |001b: const/4 v0, #int 2 // #2 │ │ +028fd0: 4f02 0300 |001c: aput-byte v2, v3, v0 │ │ +028fd4: 1230 |001e: const/4 v0, #int 3 // #3 │ │ +028fd6: 4f05 0300 |001f: aput-byte v5, v3, v0 │ │ +028fda: 1103 |0021: return-object v3 │ │ catches : (none) │ │ positions : │ │ 0x0013 line=57 │ │ locals : │ │ 0x0000 - 0x0022 reg=5 (null) I │ │ │ │ #12 : (in Lutil/Utils;) │ │ @@ -31877,63 +31877,63 @@ │ │ type : '(J)[B' │ │ access : 0x0009 (PUBLIC STATIC) │ │ code - │ │ registers : 11 │ │ ins : 2 │ │ outs : 0 │ │ insns size : 71 16-bit code units │ │ -028fe0: |[028fe0] util.Utils.longToByteArray:(J)[B │ │ -028ff0: 1300 3800 |0000: const/16 v0, #int 56 // #38 │ │ -028ff4: a400 0900 |0002: shr-long v0, v9, v0 │ │ -028ff8: 8401 |0004: long-to-int v1, v0 │ │ -028ffa: 8d10 |0005: int-to-byte v0, v1 │ │ -028ffc: 1301 3000 |0006: const/16 v1, #int 48 // #30 │ │ -029000: a401 0901 |0008: shr-long v1, v9, v1 │ │ -029004: 8412 |000a: long-to-int v2, v1 │ │ -029006: 8d21 |000b: int-to-byte v1, v2 │ │ -029008: 1302 2800 |000c: const/16 v2, #int 40 // #28 │ │ -02900c: a402 0902 |000e: shr-long v2, v9, v2 │ │ -029010: 8423 |0010: long-to-int v3, v2 │ │ -029012: 8d32 |0011: int-to-byte v2, v3 │ │ -029014: 1303 2000 |0012: const/16 v3, #int 32 // #20 │ │ -029018: a403 0903 |0014: shr-long v3, v9, v3 │ │ -02901c: 8434 |0016: long-to-int v4, v3 │ │ -02901e: 8d43 |0017: int-to-byte v3, v4 │ │ -029020: 1304 1800 |0018: const/16 v4, #int 24 // #18 │ │ -029024: a404 0904 |001a: shr-long v4, v9, v4 │ │ -029028: 8445 |001c: long-to-int v5, v4 │ │ -02902a: 8d54 |001d: int-to-byte v4, v5 │ │ -02902c: 1305 1000 |001e: const/16 v5, #int 16 // #10 │ │ -029030: a405 0905 |0020: shr-long v5, v9, v5 │ │ -029034: 8456 |0022: long-to-int v6, v5 │ │ -029036: 8d65 |0023: int-to-byte v5, v6 │ │ -029038: 1306 0800 |0024: const/16 v6, #int 8 // #8 │ │ -02903c: a407 0906 |0026: shr-long v7, v9, v6 │ │ -029040: 8478 |0028: long-to-int v8, v7 │ │ -029042: 8d87 |0029: int-to-byte v7, v8 │ │ -029044: 849a |002a: long-to-int v10, v9 │ │ -029046: 8da9 |002b: int-to-byte v9, v10 │ │ -029048: 236a 9d01 |002c: new-array v10, v6, [B // type@019d │ │ -02904c: 1206 |002e: const/4 v6, #int 0 // #0 │ │ -02904e: 4f00 0a06 |002f: aput-byte v0, v10, v6 │ │ -029052: 1210 |0031: const/4 v0, #int 1 // #1 │ │ -029054: 4f01 0a00 |0032: aput-byte v1, v10, v0 │ │ -029058: 1220 |0034: const/4 v0, #int 2 // #2 │ │ -02905a: 4f02 0a00 |0035: aput-byte v2, v10, v0 │ │ -02905e: 1230 |0037: const/4 v0, #int 3 // #3 │ │ -029060: 4f03 0a00 |0038: aput-byte v3, v10, v0 │ │ -029064: 1240 |003a: const/4 v0, #int 4 // #4 │ │ -029066: 4f04 0a00 |003b: aput-byte v4, v10, v0 │ │ -02906a: 1250 |003d: const/4 v0, #int 5 // #5 │ │ -02906c: 4f05 0a00 |003e: aput-byte v5, v10, v0 │ │ -029070: 1260 |0040: const/4 v0, #int 6 // #6 │ │ -029072: 4f07 0a00 |0041: aput-byte v7, v10, v0 │ │ -029076: 1270 |0043: const/4 v0, #int 7 // #7 │ │ -029078: 4f09 0a00 |0044: aput-byte v9, v10, v0 │ │ -02907c: 110a |0046: return-object v10 │ │ +028fdc: |[028fdc] util.Utils.longToByteArray:(J)[B │ │ +028fec: 1300 3800 |0000: const/16 v0, #int 56 // #38 │ │ +028ff0: a400 0900 |0002: shr-long v0, v9, v0 │ │ +028ff4: 8401 |0004: long-to-int v1, v0 │ │ +028ff6: 8d10 |0005: int-to-byte v0, v1 │ │ +028ff8: 1301 3000 |0006: const/16 v1, #int 48 // #30 │ │ +028ffc: a401 0901 |0008: shr-long v1, v9, v1 │ │ +029000: 8412 |000a: long-to-int v2, v1 │ │ +029002: 8d21 |000b: int-to-byte v1, v2 │ │ +029004: 1302 2800 |000c: const/16 v2, #int 40 // #28 │ │ +029008: a402 0902 |000e: shr-long v2, v9, v2 │ │ +02900c: 8423 |0010: long-to-int v3, v2 │ │ +02900e: 8d32 |0011: int-to-byte v2, v3 │ │ +029010: 1303 2000 |0012: const/16 v3, #int 32 // #20 │ │ +029014: a403 0903 |0014: shr-long v3, v9, v3 │ │ +029018: 8434 |0016: long-to-int v4, v3 │ │ +02901a: 8d43 |0017: int-to-byte v3, v4 │ │ +02901c: 1304 1800 |0018: const/16 v4, #int 24 // #18 │ │ +029020: a404 0904 |001a: shr-long v4, v9, v4 │ │ +029024: 8445 |001c: long-to-int v5, v4 │ │ +029026: 8d54 |001d: int-to-byte v4, v5 │ │ +029028: 1305 1000 |001e: const/16 v5, #int 16 // #10 │ │ +02902c: a405 0905 |0020: shr-long v5, v9, v5 │ │ +029030: 8456 |0022: long-to-int v6, v5 │ │ +029032: 8d65 |0023: int-to-byte v5, v6 │ │ +029034: 1306 0800 |0024: const/16 v6, #int 8 // #8 │ │ +029038: a407 0906 |0026: shr-long v7, v9, v6 │ │ +02903c: 8478 |0028: long-to-int v8, v7 │ │ +02903e: 8d87 |0029: int-to-byte v7, v8 │ │ +029040: 849a |002a: long-to-int v10, v9 │ │ +029042: 8da9 |002b: int-to-byte v9, v10 │ │ +029044: 236a 9d01 |002c: new-array v10, v6, [B // type@019d │ │ +029048: 1206 |002e: const/4 v6, #int 0 // #0 │ │ +02904a: 4f00 0a06 |002f: aput-byte v0, v10, v6 │ │ +02904e: 1210 |0031: const/4 v0, #int 1 // #1 │ │ +029050: 4f01 0a00 |0032: aput-byte v1, v10, v0 │ │ +029054: 1220 |0034: const/4 v0, #int 2 // #2 │ │ +029056: 4f02 0a00 |0035: aput-byte v2, v10, v0 │ │ +02905a: 1230 |0037: const/4 v0, #int 3 // #3 │ │ +02905c: 4f03 0a00 |0038: aput-byte v3, v10, v0 │ │ +029060: 1240 |003a: const/4 v0, #int 4 // #4 │ │ +029062: 4f04 0a00 |003b: aput-byte v4, v10, v0 │ │ +029066: 1250 |003d: const/4 v0, #int 5 // #5 │ │ +029068: 4f05 0a00 |003e: aput-byte v5, v10, v0 │ │ +02906c: 1260 |0040: const/4 v0, #int 6 // #6 │ │ +02906e: 4f07 0a00 |0041: aput-byte v7, v10, v0 │ │ +029072: 1270 |0043: const/4 v0, #int 7 // #7 │ │ +029074: 4f09 0a00 |0044: aput-byte v9, v10, v0 │ │ +029078: 110a |0046: return-object v10 │ │ catches : (none) │ │ positions : │ │ 0x002c line=66 │ │ locals : │ │ 0x0000 - 0x0047 reg=9 (null) J │ │ │ │ #13 : (in Lutil/Utils;) │ │ @@ -31941,51 +31941,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 │ │ -02979c: |[02979c] util.Utils.moveFileTree:(Ljava/io/File;Ljava/io/File;)V │ │ -0297ac: 6e10 0c05 0800 |0000: invoke-virtual {v8}, Ljava/io/File;.isDirectory:()Z // method@050c │ │ -0297b2: 0a00 |0003: move-result v0 │ │ -0297b4: 3800 4000 |0004: if-eqz v0, 0044 // +0040 │ │ -0297b8: 6e10 0f05 0800 |0006: invoke-virtual {v8}, Ljava/io/File;.listFiles:()[Ljava/io/File; // method@050f │ │ -0297be: 0c00 |0009: move-result-object v0 │ │ -0297c0: 3800 2600 |000a: if-eqz v0, 0030 // +0026 │ │ -0297c4: 2101 |000c: array-length v1, v0 │ │ -0297c6: 1202 |000d: const/4 v2, #int 0 // #0 │ │ -0297c8: 3512 3c00 |000e: if-ge v2, v1, 004a // +003c │ │ -0297cc: 4603 0002 |0010: aget-object v3, v0, v2 │ │ -0297d0: 2204 fb00 |0012: new-instance v4, Ljava/io/File; // type@00fb │ │ -0297d4: 6e10 0b05 0300 |0014: invoke-virtual {v3}, Ljava/io/File;.getPath:()Ljava/lang/String; // method@050b │ │ -0297da: 0c05 |0017: move-result-object v5 │ │ -0297dc: 6e10 0b05 0800 |0018: invoke-virtual {v8}, Ljava/io/File;.getPath:()Ljava/lang/String; // method@050b │ │ -0297e2: 0c06 |001b: move-result-object v6 │ │ -0297e4: 6e10 0b05 0900 |001c: invoke-virtual {v9}, Ljava/io/File;.getPath:()Ljava/lang/String; // method@050b │ │ -0297ea: 0c07 |001f: move-result-object v7 │ │ -0297ec: 6e30 9705 6507 |0020: invoke-virtual {v5, v6, v7}, Ljava/lang/String;.replace:(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String; // method@0597 │ │ -0297f2: 0c05 |0023: move-result-object v5 │ │ -0297f4: 7020 0105 5400 |0024: invoke-direct {v4, v5}, Ljava/io/File;.:(Ljava/lang/String;)V // method@0501 │ │ -0297fa: 7120 9b07 4300 |0027: invoke-static {v3, v4}, Lutil/Utils;.moveFileTree:(Ljava/io/File;Ljava/io/File;)V // method@079b │ │ -029800: 6e10 0505 0800 |002a: invoke-virtual {v8}, Ljava/io/File;.delete:()Z // method@0505 │ │ -029806: d802 0201 |002d: add-int/lit8 v2, v2, #int 1 // #01 │ │ -02980a: 28df |002f: goto 000e // -0021 │ │ -02980c: 2209 0001 |0030: new-instance v9, Ljava/io/IOException; // type@0100 │ │ -029810: 2200 2d01 |0032: new-instance v0, Ljava/lang/StringBuilder; // type@012d │ │ -029814: 1a01 d501 |0034: const-string v1, "IOError occured while trying to move " // string@01d5 │ │ -029818: 7020 aa05 1000 |0036: invoke-direct {v0, v1}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05aa │ │ -02981e: 6e20 ae05 8000 |0039: invoke-virtual {v0, v8}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@05ae │ │ -029824: 6e10 b105 0000 |003c: invoke-virtual {v0}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ -02982a: 0c08 |003f: move-result-object v8 │ │ -02982c: 7020 2105 8900 |0040: invoke-direct {v9, v8}, Ljava/io/IOException;.:(Ljava/lang/String;)V // method@0521 │ │ -029832: 2709 |0043: throw v9 │ │ -029834: 7120 9307 9800 |0044: invoke-static {v8, v9}, Lutil/Utils;.copyFile:(Ljava/io/File;Ljava/io/File;)V // method@0793 │ │ -02983a: 6e10 0505 0800 |0047: invoke-virtual {v8}, Ljava/io/File;.delete:()Z // method@0505 │ │ -029840: 0e00 |004a: return-void │ │ +029798: |[029798] util.Utils.moveFileTree:(Ljava/io/File;Ljava/io/File;)V │ │ +0297a8: 6e10 0c05 0800 |0000: invoke-virtual {v8}, Ljava/io/File;.isDirectory:()Z // method@050c │ │ +0297ae: 0a00 |0003: move-result v0 │ │ +0297b0: 3800 4000 |0004: if-eqz v0, 0044 // +0040 │ │ +0297b4: 6e10 0f05 0800 |0006: invoke-virtual {v8}, Ljava/io/File;.listFiles:()[Ljava/io/File; // method@050f │ │ +0297ba: 0c00 |0009: move-result-object v0 │ │ +0297bc: 3800 2600 |000a: if-eqz v0, 0030 // +0026 │ │ +0297c0: 2101 |000c: array-length v1, v0 │ │ +0297c2: 1202 |000d: const/4 v2, #int 0 // #0 │ │ +0297c4: 3512 3c00 |000e: if-ge v2, v1, 004a // +003c │ │ +0297c8: 4603 0002 |0010: aget-object v3, v0, v2 │ │ +0297cc: 2204 fb00 |0012: new-instance v4, Ljava/io/File; // type@00fb │ │ +0297d0: 6e10 0b05 0300 |0014: invoke-virtual {v3}, Ljava/io/File;.getPath:()Ljava/lang/String; // method@050b │ │ +0297d6: 0c05 |0017: move-result-object v5 │ │ +0297d8: 6e10 0b05 0800 |0018: invoke-virtual {v8}, Ljava/io/File;.getPath:()Ljava/lang/String; // method@050b │ │ +0297de: 0c06 |001b: move-result-object v6 │ │ +0297e0: 6e10 0b05 0900 |001c: invoke-virtual {v9}, Ljava/io/File;.getPath:()Ljava/lang/String; // method@050b │ │ +0297e6: 0c07 |001f: move-result-object v7 │ │ +0297e8: 6e30 9705 6507 |0020: invoke-virtual {v5, v6, v7}, Ljava/lang/String;.replace:(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String; // method@0597 │ │ +0297ee: 0c05 |0023: move-result-object v5 │ │ +0297f0: 7020 0105 5400 |0024: invoke-direct {v4, v5}, Ljava/io/File;.:(Ljava/lang/String;)V // method@0501 │ │ +0297f6: 7120 9b07 4300 |0027: invoke-static {v3, v4}, Lutil/Utils;.moveFileTree:(Ljava/io/File;Ljava/io/File;)V // method@079b │ │ +0297fc: 6e10 0505 0800 |002a: invoke-virtual {v8}, Ljava/io/File;.delete:()Z // method@0505 │ │ +029802: d802 0201 |002d: add-int/lit8 v2, v2, #int 1 // #01 │ │ +029806: 28df |002f: goto 000e // -0021 │ │ +029808: 2209 0001 |0030: new-instance v9, Ljava/io/IOException; // type@0100 │ │ +02980c: 2200 2d01 |0032: new-instance v0, Ljava/lang/StringBuilder; // type@012d │ │ +029810: 1a01 d501 |0034: const-string v1, "IOError occured while trying to move " // string@01d5 │ │ +029814: 7020 aa05 1000 |0036: invoke-direct {v0, v1}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05aa │ │ +02981a: 6e20 ae05 8000 |0039: invoke-virtual {v0, v8}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@05ae │ │ +029820: 6e10 b105 0000 |003c: invoke-virtual {v0}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ +029826: 0c08 |003f: move-result-object v8 │ │ +029828: 7020 2105 8900 |0040: invoke-direct {v9, v8}, Ljava/io/IOException;.:(Ljava/lang/String;)V // method@0521 │ │ +02982e: 2709 |0043: throw v9 │ │ +029830: 7120 9307 9800 |0044: invoke-static {v8, v9}, Lutil/Utils;.copyFile:(Ljava/io/File;Ljava/io/File;)V // method@0793 │ │ +029836: 6e10 0505 0800 |0047: invoke-virtual {v8}, Ljava/io/File;.delete:()Z // method@0505 │ │ +02983c: 0e00 |004a: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=344 │ │ 0x0006 line=345 │ │ 0x000c line=348 │ │ 0x0012 line=349 │ │ 0x002a line=350 │ │ @@ -32001,56 +32001,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 │ │ -029438: |[029438] util.Utils.parseURI:(Ljava/lang/String;)[Ljava/lang/String; │ │ -029448: 1270 |0000: const/4 v0, #int 7 // #7 │ │ -02944a: 6e20 9c05 0500 |0001: invoke-virtual {v5, v0}, Ljava/lang/String;.substring:(I)Ljava/lang/String; // method@059c │ │ -029450: 0c00 |0004: move-result-object v0 │ │ -029452: 1301 2f00 |0005: const/16 v1, #int 47 // #2f │ │ -029456: 6e20 9105 1000 |0007: invoke-virtual {v0, v1}, Ljava/lang/String;.indexOf:(I)I // method@0591 │ │ -02945c: 0a01 |000a: move-result v1 │ │ -02945e: 12f2 |000b: const/4 v2, #int -1 // #ff │ │ -029460: 3321 0600 |000c: if-ne v1, v2, 0012 // +0006 │ │ -029464: 6e10 9605 0000 |000e: invoke-virtual {v0}, Ljava/lang/String;.length:()I // method@0596 │ │ -02946a: 0a01 |0011: move-result v1 │ │ -02946c: 1202 |0012: const/4 v2, #int 0 // #0 │ │ -02946e: 6e30 9d05 2001 |0013: invoke-virtual {v0, v2, v1}, Ljava/lang/String;.substring:(II)Ljava/lang/String; // method@059d │ │ -029474: 0c03 |0016: move-result-object v3 │ │ -029476: 6e10 9605 0000 |0017: invoke-virtual {v0}, Ljava/lang/String;.length:()I // method@0596 │ │ -02947c: 0a04 |001a: move-result v4 │ │ -02947e: 3341 0500 |001b: if-ne v1, v4, 0020 // +0005 │ │ -029482: 1a00 6000 |001d: const-string v0, "/" // string@0060 │ │ -029486: 2805 |001f: goto 0024 // +0005 │ │ -029488: 6e20 9c05 1000 |0020: invoke-virtual {v0, v1}, Ljava/lang/String;.substring:(I)Ljava/lang/String; // method@059c │ │ -02948e: 0c00 |0023: move-result-object v0 │ │ -029490: 1221 |0024: const/4 v1, #int 2 // #2 │ │ -029492: 2311 ad01 |0025: new-array v1, v1, [Ljava/lang/String; // type@01ad │ │ -029496: 4d03 0102 |0027: aput-object v3, v1, v2 │ │ -02949a: 1212 |0029: const/4 v2, #int 1 // #1 │ │ -02949c: 4d00 0102 |002a: aput-object v0, v1, v2 │ │ -0294a0: 1101 |002c: return-object v1 │ │ -0294a2: 0d00 |002d: move-exception v0 │ │ -0294a4: 2201 0001 |002e: new-instance v1, Ljava/io/IOException; // type@0100 │ │ -0294a8: 2202 2d01 |0030: new-instance v2, Ljava/lang/StringBuilder; // type@012d │ │ -0294ac: 1a03 f600 |0032: const-string v3, "Cannot parse URI '" // string@00f6 │ │ -0294b0: 7020 aa05 3200 |0034: invoke-direct {v2, v3}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05aa │ │ -0294b6: 6e20 af05 5200 |0037: invoke-virtual {v2, v5}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -0294bc: 1a05 4200 |003a: const-string v5, "'! - " // string@0042 │ │ -0294c0: 6e20 af05 5200 |003c: invoke-virtual {v2, v5}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -0294c6: 6e10 6105 0000 |003f: invoke-virtual {v0}, Ljava/lang/Exception;.toString:()Ljava/lang/String; // method@0561 │ │ -0294cc: 0c05 |0042: move-result-object v5 │ │ -0294ce: 6e20 af05 5200 |0043: invoke-virtual {v2, v5}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -0294d4: 6e10 b105 0200 |0046: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ -0294da: 0c05 |0049: move-result-object v5 │ │ -0294dc: 7020 2105 5100 |004a: invoke-direct {v1, v5}, Ljava/io/IOException;.:(Ljava/lang/String;)V // method@0521 │ │ -0294e2: 2701 |004d: throw v1 │ │ +029434: |[029434] util.Utils.parseURI:(Ljava/lang/String;)[Ljava/lang/String; │ │ +029444: 1270 |0000: const/4 v0, #int 7 // #7 │ │ +029446: 6e20 9c05 0500 |0001: invoke-virtual {v5, v0}, Ljava/lang/String;.substring:(I)Ljava/lang/String; // method@059c │ │ +02944c: 0c00 |0004: move-result-object v0 │ │ +02944e: 1301 2f00 |0005: const/16 v1, #int 47 // #2f │ │ +029452: 6e20 9105 1000 |0007: invoke-virtual {v0, v1}, Ljava/lang/String;.indexOf:(I)I // method@0591 │ │ +029458: 0a01 |000a: move-result v1 │ │ +02945a: 12f2 |000b: const/4 v2, #int -1 // #ff │ │ +02945c: 3321 0600 |000c: if-ne v1, v2, 0012 // +0006 │ │ +029460: 6e10 9605 0000 |000e: invoke-virtual {v0}, Ljava/lang/String;.length:()I // method@0596 │ │ +029466: 0a01 |0011: move-result v1 │ │ +029468: 1202 |0012: const/4 v2, #int 0 // #0 │ │ +02946a: 6e30 9d05 2001 |0013: invoke-virtual {v0, v2, v1}, Ljava/lang/String;.substring:(II)Ljava/lang/String; // method@059d │ │ +029470: 0c03 |0016: move-result-object v3 │ │ +029472: 6e10 9605 0000 |0017: invoke-virtual {v0}, Ljava/lang/String;.length:()I // method@0596 │ │ +029478: 0a04 |001a: move-result v4 │ │ +02947a: 3341 0500 |001b: if-ne v1, v4, 0020 // +0005 │ │ +02947e: 1a00 6000 |001d: const-string v0, "/" // string@0060 │ │ +029482: 2805 |001f: goto 0024 // +0005 │ │ +029484: 6e20 9c05 1000 |0020: invoke-virtual {v0, v1}, Ljava/lang/String;.substring:(I)Ljava/lang/String; // method@059c │ │ +02948a: 0c00 |0023: move-result-object v0 │ │ +02948c: 1221 |0024: const/4 v1, #int 2 // #2 │ │ +02948e: 2311 ad01 |0025: new-array v1, v1, [Ljava/lang/String; // type@01ad │ │ +029492: 4d03 0102 |0027: aput-object v3, v1, v2 │ │ +029496: 1212 |0029: const/4 v2, #int 1 // #1 │ │ +029498: 4d00 0102 |002a: aput-object v0, v1, v2 │ │ +02949c: 1101 |002c: return-object v1 │ │ +02949e: 0d00 |002d: move-exception v0 │ │ +0294a0: 2201 0001 |002e: new-instance v1, Ljava/io/IOException; // type@0100 │ │ +0294a4: 2202 2d01 |0030: new-instance v2, Ljava/lang/StringBuilder; // type@012d │ │ +0294a8: 1a03 f600 |0032: const-string v3, "Cannot parse URI '" // string@00f6 │ │ +0294ac: 7020 aa05 3200 |0034: invoke-direct {v2, v3}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05aa │ │ +0294b2: 6e20 af05 5200 |0037: invoke-virtual {v2, v5}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +0294b8: 1a05 4200 |003a: const-string v5, "'! - " // string@0042 │ │ +0294bc: 6e20 af05 5200 |003c: invoke-virtual {v2, v5}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +0294c2: 6e10 6105 0000 |003f: invoke-virtual {v0}, Ljava/lang/Exception;.toString:()Ljava/lang/String; // method@0561 │ │ +0294c8: 0c05 |0042: move-result-object v5 │ │ +0294ca: 6e20 af05 5200 |0043: invoke-virtual {v2, v5}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +0294d0: 6e10 b105 0200 |0046: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ +0294d6: 0c05 |0049: move-result-object v5 │ │ +0294d8: 7020 2105 5100 |004a: invoke-direct {v1, v5}, Ljava/io/IOException;.:(Ljava/lang/String;)V // method@0521 │ │ +0294de: 2701 |004d: throw v1 │ │ catches : 1 │ │ 0x0001 - 0x002c │ │ Ljava/lang/Exception; -> 0x002d │ │ positions : │ │ 0x0001 line=287 │ │ 0x0007 line=288 │ │ 0x000e line=290 │ │ @@ -32068,28 +32068,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 │ │ -029080: |[029080] util.Utils.readFully:(Ljava/io/InputStream;I)[B │ │ -029090: 2200 f700 |0000: new-instance v0, Ljava/io/ByteArrayOutputStream; // type@00f7 │ │ -029094: 7010 e604 0000 |0002: invoke-direct {v0}, Ljava/io/ByteArrayOutputStream;.:()V // method@04e6 │ │ -02909a: 2361 9d01 |0005: new-array v1, v6, [B // type@019d │ │ -02909e: 1202 |0007: const/4 v2, #int 0 // #0 │ │ -0290a0: 6e40 2c05 1562 |0008: invoke-virtual {v5, v1, v2, v6}, Ljava/io/InputStream;.read:([BII)I // method@052c │ │ -0290a6: 0a03 |000b: move-result v3 │ │ -0290a8: 12f4 |000c: const/4 v4, #int -1 // #ff │ │ -0290aa: 3243 0600 |000d: if-eq v3, v4, 0013 // +0006 │ │ -0290ae: 6e40 ef04 1032 |000f: invoke-virtual {v0, v1, v2, v3}, Ljava/io/ByteArrayOutputStream;.write:([BII)V // method@04ef │ │ -0290b4: 28f5 |0012: goto 0007 // -000b │ │ -0290b6: 6e10 ec04 0000 |0013: invoke-virtual {v0}, Ljava/io/ByteArrayOutputStream;.toByteArray:()[B // method@04ec │ │ -0290bc: 0c05 |0016: move-result-object v5 │ │ -0290be: 1105 |0017: return-object v5 │ │ +02907c: |[02907c] util.Utils.readFully:(Ljava/io/InputStream;I)[B │ │ +02908c: 2200 f700 |0000: new-instance v0, Ljava/io/ByteArrayOutputStream; // type@00f7 │ │ +029090: 7010 e604 0000 |0002: invoke-direct {v0}, Ljava/io/ByteArrayOutputStream;.:()V // method@04e6 │ │ +029096: 2361 9d01 |0005: new-array v1, v6, [B // type@019d │ │ +02909a: 1202 |0007: const/4 v2, #int 0 // #0 │ │ +02909c: 6e40 2c05 1562 |0008: invoke-virtual {v5, v1, v2, v6}, Ljava/io/InputStream;.read:([BII)I // method@052c │ │ +0290a2: 0a03 |000b: move-result v3 │ │ +0290a4: 12f4 |000c: const/4 v4, #int -1 // #ff │ │ +0290a6: 3243 0600 |000d: if-eq v3, v4, 0013 // +0006 │ │ +0290aa: 6e40 ef04 1032 |000f: invoke-virtual {v0, v1, v2, v3}, Ljava/io/ByteArrayOutputStream;.write:([BII)V // method@04ef │ │ +0290b0: 28f5 |0012: goto 0007 // -000b │ │ +0290b2: 6e10 ec04 0000 |0013: invoke-virtual {v0}, Ljava/io/ByteArrayOutputStream;.toByteArray:()[B // method@04ec │ │ +0290b8: 0c05 |0016: move-result-object v5 │ │ +0290ba: 1105 |0017: return-object v5 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=248 │ │ 0x0005 line=250 │ │ 0x0008 line=251 │ │ 0x000f line=252 │ │ 0x0013 line=253 │ │ @@ -32102,83 +32102,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 │ │ -02914c: |[02914c] util.Utils.readLineBytesFromStream:(Ljava/io/InputStream;[BZZ)I │ │ -02915c: 6e10 2a05 0400 |0000: invoke-virtual {v4}, Ljava/io/InputStream;.read:()I // method@052a │ │ -029162: 0a00 |0003: move-result v0 │ │ -029164: 12f1 |0004: const/4 v1, #int -1 // #ff │ │ -029166: 3807 1100 |0005: if-eqz v7, 0016 // +0011 │ │ -02916a: 1302 2300 |0007: const/16 v2, #int 35 // #23 │ │ -02916e: 3320 0d00 |0009: if-ne v0, v2, 0016 // +000d │ │ -029172: 7110 a307 0400 |000b: invoke-static {v4}, Lutil/Utils;.skipLine:(Ljava/io/InputStream;)I // method@07a3 │ │ -029178: 0a00 |000e: move-result v0 │ │ -02917a: 3210 f5ff |000f: if-eq v0, v1, 0004 // -000b │ │ -02917e: 6e10 2a05 0400 |0011: invoke-virtual {v4}, Ljava/io/InputStream;.read:()I // method@052a │ │ -029184: 0a00 |0014: move-result v0 │ │ -029186: 28ef |0015: goto 0004 // -0011 │ │ -029188: 3310 0300 |0016: if-ne v0, v1, 0019 // +0003 │ │ -02918c: 0f01 |0018: return v1 │ │ -02918e: 2157 |0019: array-length v7, v5 │ │ -029190: 3807 5a00 |001a: if-eqz v7, 0074 // +005a │ │ -029194: 1207 |001c: const/4 v7, #int 0 // #0 │ │ -029196: 8d02 |001d: int-to-byte v2, v0 │ │ -029198: 4f02 0507 |001e: aput-byte v2, v5, v7 │ │ -02919c: 1217 |0020: const/4 v7, #int 1 // #1 │ │ -02919e: 3210 5200 |0021: if-eq v0, v1, 0073 // +0052 │ │ -0291a2: 1302 0a00 |0023: const/16 v2, #int 10 // #a │ │ -0291a6: 3220 4e00 |0025: if-eq v0, v2, 0073 // +004e │ │ -0291aa: 3210 faff |0027: if-eq v0, v1, 0021 // -0006 │ │ -0291ae: 3220 f8ff |0029: if-eq v0, v2, 0021 // -0008 │ │ -0291b2: 6e10 2a05 0400 |002b: invoke-virtual {v4}, Ljava/io/InputStream;.read:()I // method@052a │ │ -0291b8: 0a00 |002e: move-result v0 │ │ -0291ba: 3210 f8ff |002f: if-eq v0, v1, 0027 // -0008 │ │ -0291be: 2153 |0031: array-length v3, v5 │ │ -0291c0: 3237 3900 |0032: if-eq v7, v3, 006b // +0039 │ │ -0291c4: 3806 3100 |0034: if-eqz v6, 0065 // +0031 │ │ -0291c8: 1303 2000 |0036: const/16 v3, #int 32 // #20 │ │ -0291cc: 3530 2d00 |0038: if-ge v0, v3, 0065 // +002d │ │ -0291d0: 1303 0900 |003a: const/16 v3, #int 9 // #9 │ │ -0291d4: 3530 2900 |003c: if-ge v0, v3, 0065 // +0029 │ │ -0291d8: 1303 0d00 |003e: const/16 v3, #int 13 // #d │ │ -0291dc: 3630 0300 |0040: if-gt v0, v3, 0043 // +0003 │ │ -0291e0: 2823 |0042: goto 0065 // +0023 │ │ -0291e2: 2204 0001 |0043: new-instance v4, Ljava/io/IOException; // type@0100 │ │ -0291e6: 2205 2d01 |0045: new-instance v5, Ljava/lang/StringBuilder; // type@012d │ │ -0291ea: 1a06 f103 |0047: const-string v6, "Non printable character: " // string@03f1 │ │ -0291ee: 7020 aa05 6500 |0049: invoke-direct {v5, v6}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05aa │ │ -0291f4: 6e20 ac05 0500 |004c: invoke-virtual {v5, v0}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@05ac │ │ -0291fa: 1a06 4300 |004f: const-string v6, "(" // string@0043 │ │ -0291fe: 6e20 af05 6500 |0051: invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -029204: 8e06 |0054: int-to-char v6, v0 │ │ -029206: 6e20 ab05 6500 |0055: invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;.append:(C)Ljava/lang/StringBuilder; // method@05ab │ │ -02920c: 1a06 4800 |0058: const-string v6, ")" // string@0048 │ │ -029210: 6e20 af05 6500 |005a: invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -029216: 6e10 b105 0500 |005d: invoke-virtual {v5}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ -02921c: 0c05 |0060: move-result-object v5 │ │ -02921e: 7020 2105 5400 |0061: invoke-direct {v4, v5}, Ljava/io/IOException;.:(Ljava/lang/String;)V // method@0521 │ │ -029224: 2704 |0064: throw v4 │ │ -029226: 8d03 |0065: int-to-byte v3, v0 │ │ -029228: 4f03 0507 |0066: aput-byte v3, v5, v7 │ │ -02922c: d807 0701 |0068: add-int/lit8 v7, v7, #int 1 // #01 │ │ -029230: 28bd |006a: goto 0027 // -0043 │ │ -029232: 2204 0001 |006b: new-instance v4, Ljava/io/IOException; // type@0100 │ │ -029236: 1a05 d400 |006d: const-string v5, "Buffer overflow!" // string@00d4 │ │ -02923a: 7020 2105 5400 |006f: invoke-direct {v4, v5}, Ljava/io/IOException;.:(Ljava/lang/String;)V // method@0521 │ │ -029240: 2704 |0072: throw v4 │ │ -029242: 0f07 |0073: return v7 │ │ -029244: 2204 0001 |0074: new-instance v4, Ljava/io/IOException; // type@0100 │ │ -029248: 1a05 d200 |0076: const-string v5, "Buffer Overflow!" // string@00d2 │ │ -02924c: 7020 2105 5400 |0078: invoke-direct {v4, v5}, Ljava/io/IOException;.:(Ljava/lang/String;)V // method@0521 │ │ -029252: 2802 |007b: goto 007d // +0002 │ │ -029254: 2704 |007c: throw v4 │ │ -029256: 28ff |007d: goto 007c // -0001 │ │ +029148: |[029148] util.Utils.readLineBytesFromStream:(Ljava/io/InputStream;[BZZ)I │ │ +029158: 6e10 2a05 0400 |0000: invoke-virtual {v4}, Ljava/io/InputStream;.read:()I // method@052a │ │ +02915e: 0a00 |0003: move-result v0 │ │ +029160: 12f1 |0004: const/4 v1, #int -1 // #ff │ │ +029162: 3807 1100 |0005: if-eqz v7, 0016 // +0011 │ │ +029166: 1302 2300 |0007: const/16 v2, #int 35 // #23 │ │ +02916a: 3320 0d00 |0009: if-ne v0, v2, 0016 // +000d │ │ +02916e: 7110 a307 0400 |000b: invoke-static {v4}, Lutil/Utils;.skipLine:(Ljava/io/InputStream;)I // method@07a3 │ │ +029174: 0a00 |000e: move-result v0 │ │ +029176: 3210 f5ff |000f: if-eq v0, v1, 0004 // -000b │ │ +02917a: 6e10 2a05 0400 |0011: invoke-virtual {v4}, Ljava/io/InputStream;.read:()I // method@052a │ │ +029180: 0a00 |0014: move-result v0 │ │ +029182: 28ef |0015: goto 0004 // -0011 │ │ +029184: 3310 0300 |0016: if-ne v0, v1, 0019 // +0003 │ │ +029188: 0f01 |0018: return v1 │ │ +02918a: 2157 |0019: array-length v7, v5 │ │ +02918c: 3807 5a00 |001a: if-eqz v7, 0074 // +005a │ │ +029190: 1207 |001c: const/4 v7, #int 0 // #0 │ │ +029192: 8d02 |001d: int-to-byte v2, v0 │ │ +029194: 4f02 0507 |001e: aput-byte v2, v5, v7 │ │ +029198: 1217 |0020: const/4 v7, #int 1 // #1 │ │ +02919a: 3210 5200 |0021: if-eq v0, v1, 0073 // +0052 │ │ +02919e: 1302 0a00 |0023: const/16 v2, #int 10 // #a │ │ +0291a2: 3220 4e00 |0025: if-eq v0, v2, 0073 // +004e │ │ +0291a6: 3210 faff |0027: if-eq v0, v1, 0021 // -0006 │ │ +0291aa: 3220 f8ff |0029: if-eq v0, v2, 0021 // -0008 │ │ +0291ae: 6e10 2a05 0400 |002b: invoke-virtual {v4}, Ljava/io/InputStream;.read:()I // method@052a │ │ +0291b4: 0a00 |002e: move-result v0 │ │ +0291b6: 3210 f8ff |002f: if-eq v0, v1, 0027 // -0008 │ │ +0291ba: 2153 |0031: array-length v3, v5 │ │ +0291bc: 3237 3900 |0032: if-eq v7, v3, 006b // +0039 │ │ +0291c0: 3806 3100 |0034: if-eqz v6, 0065 // +0031 │ │ +0291c4: 1303 2000 |0036: const/16 v3, #int 32 // #20 │ │ +0291c8: 3530 2d00 |0038: if-ge v0, v3, 0065 // +002d │ │ +0291cc: 1303 0900 |003a: const/16 v3, #int 9 // #9 │ │ +0291d0: 3530 2900 |003c: if-ge v0, v3, 0065 // +0029 │ │ +0291d4: 1303 0d00 |003e: const/16 v3, #int 13 // #d │ │ +0291d8: 3630 0300 |0040: if-gt v0, v3, 0043 // +0003 │ │ +0291dc: 2823 |0042: goto 0065 // +0023 │ │ +0291de: 2204 0001 |0043: new-instance v4, Ljava/io/IOException; // type@0100 │ │ +0291e2: 2205 2d01 |0045: new-instance v5, Ljava/lang/StringBuilder; // type@012d │ │ +0291e6: 1a06 f103 |0047: const-string v6, "Non printable character: " // string@03f1 │ │ +0291ea: 7020 aa05 6500 |0049: invoke-direct {v5, v6}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05aa │ │ +0291f0: 6e20 ac05 0500 |004c: invoke-virtual {v5, v0}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@05ac │ │ +0291f6: 1a06 4300 |004f: const-string v6, "(" // string@0043 │ │ +0291fa: 6e20 af05 6500 |0051: invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +029200: 8e06 |0054: int-to-char v6, v0 │ │ +029202: 6e20 ab05 6500 |0055: invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;.append:(C)Ljava/lang/StringBuilder; // method@05ab │ │ +029208: 1a06 4800 |0058: const-string v6, ")" // string@0048 │ │ +02920c: 6e20 af05 6500 |005a: invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +029212: 6e10 b105 0500 |005d: invoke-virtual {v5}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ +029218: 0c05 |0060: move-result-object v5 │ │ +02921a: 7020 2105 5400 |0061: invoke-direct {v4, v5}, Ljava/io/IOException;.:(Ljava/lang/String;)V // method@0521 │ │ +029220: 2704 |0064: throw v4 │ │ +029222: 8d03 |0065: int-to-byte v3, v0 │ │ +029224: 4f03 0507 |0066: aput-byte v3, v5, v7 │ │ +029228: d807 0701 |0068: add-int/lit8 v7, v7, #int 1 // #01 │ │ +02922c: 28bd |006a: goto 0027 // -0043 │ │ +02922e: 2204 0001 |006b: new-instance v4, Ljava/io/IOException; // type@0100 │ │ +029232: 1a05 d400 |006d: const-string v5, "Buffer overflow!" // string@00d4 │ │ +029236: 7020 2105 5400 |006f: invoke-direct {v4, v5}, Ljava/io/IOException;.:(Ljava/lang/String;)V // method@0521 │ │ +02923c: 2704 |0072: throw v4 │ │ +02923e: 0f07 |0073: return v7 │ │ +029240: 2204 0001 |0074: new-instance v4, Ljava/io/IOException; // type@0100 │ │ +029244: 1a05 d200 |0076: const-string v5, "Buffer Overflow!" // string@00d2 │ │ +029248: 7020 2105 5400 |0078: invoke-direct {v4, v5}, Ljava/io/IOException;.:(Ljava/lang/String;)V // method@0521 │ │ +02924e: 2802 |007b: goto 007d // +0002 │ │ +029250: 2704 |007c: throw v4 │ │ +029252: 28ff |007d: goto 007c // -0001 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=183 │ │ 0x000b line=186 │ │ 0x0011 line=189 │ │ 0x0019 line=195 │ │ 0x001e line=198 │ │ @@ -32199,19 +32199,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 │ │ -029364: |[029364] util.Utils.readLineFromStream:(Ljava/io/InputStream;)Ljava/lang/String; │ │ -029374: 1200 |0000: const/4 v0, #int 0 // #0 │ │ -029376: 7120 a007 0100 |0001: invoke-static {v1, v0}, Lutil/Utils;.readLineFromStream:(Ljava/io/InputStream;Z)Ljava/lang/String; // method@07a0 │ │ -02937c: 0c01 |0004: move-result-object v1 │ │ -02937e: 1101 |0005: return-object v1 │ │ +029360: |[029360] util.Utils.readLineFromStream:(Ljava/io/InputStream;)Ljava/lang/String; │ │ +029370: 1200 |0000: const/4 v0, #int 0 // #0 │ │ +029372: 7120 a007 0100 |0001: invoke-static {v1, v0}, Lutil/Utils;.readLineFromStream:(Ljava/io/InputStream;Z)Ljava/lang/String; // method@07a0 │ │ +029378: 0c01 |0004: move-result-object v1 │ │ +02937a: 1101 |0005: return-object v1 │ │ catches : (none) │ │ positions : │ │ 0x0001 line=243 │ │ locals : │ │ 0x0000 - 0x0006 reg=1 (null) Ljava/io/InputStream; │ │ │ │ #18 : (in Lutil/Utils;) │ │ @@ -32219,57 +32219,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 │ │ -029380: |[029380] util.Utils.readLineFromStream:(Ljava/io/InputStream;Z)Ljava/lang/String; │ │ -029390: 2200 2c01 |0000: new-instance v0, Ljava/lang/StringBuffer; // type@012c │ │ -029394: 7010 a305 0000 |0002: invoke-direct {v0}, Ljava/lang/StringBuffer;.:()V // method@05a3 │ │ -02939a: 1201 |0005: const/4 v1, #int 0 // #0 │ │ -02939c: 12f2 |0006: const/4 v2, #int -1 // #ff │ │ -02939e: 1203 |0007: const/4 v3, #int 0 // #0 │ │ -0293a0: 12f4 |0008: const/4 v4, #int -1 // #ff │ │ -0293a2: 1205 |0009: const/4 v5, #int 0 // #0 │ │ -0293a4: 1206 |000a: const/4 v6, #int 0 // #0 │ │ -0293a6: 1307 0d00 |000b: const/16 v7, #int 13 // #d │ │ -0293aa: 3903 2000 |000d: if-nez v3, 002d // +0020 │ │ -0293ae: 6e10 2a05 0900 |000f: invoke-virtual {v9}, Ljava/io/InputStream;.read:()I // method@052a │ │ -0293b4: 0a04 |0012: move-result v4 │ │ -0293b6: 8d43 |0013: int-to-byte v3, v4 │ │ -0293b8: 3224 0d00 |0014: if-eq v4, v2, 0021 // +000d │ │ -0293bc: 1308 0a00 |0016: const/16 v8, #int 10 // #a │ │ -0293c0: 3383 0700 |0018: if-ne v3, v8, 001f // +0007 │ │ -0293c4: 380a 0700 |001a: if-eqz v10, 0021 // +0007 │ │ -0293c8: 3376 0300 |001c: if-ne v6, v7, 001f // +0003 │ │ -0293cc: 2803 |001e: goto 0021 // +0003 │ │ -0293ce: 1207 |001f: const/4 v7, #int 0 // #0 │ │ -0293d0: 2802 |0020: goto 0022 // +0002 │ │ -0293d2: 1217 |0021: const/4 v7, #int 1 // #1 │ │ -0293d4: 3907 0900 |0022: if-nez v7, 002b // +0009 │ │ -0293d8: 8e36 |0024: int-to-char v6, v3 │ │ -0293da: 6e20 a505 6000 |0025: invoke-virtual {v0, v6}, Ljava/lang/StringBuffer;.append:(C)Ljava/lang/StringBuffer; // method@05a5 │ │ -0293e0: d805 0501 |0028: add-int/lit8 v5, v5, #int 1 // #01 │ │ -0293e4: 0136 |002a: move v6, v3 │ │ -0293e6: 0173 |002b: move v3, v7 │ │ -0293e8: 28df |002c: goto 000b // -0021 │ │ -0293ea: 3324 0d00 |002d: if-ne v4, v2, 003a // +000d │ │ -0293ee: 3805 0300 |002f: if-eqz v5, 0032 // +0003 │ │ -0293f2: 2809 |0031: goto 003a // +0009 │ │ -0293f4: 2209 fa00 |0032: new-instance v9, Ljava/io/EOFException; // type@00fa │ │ -0293f8: 1a0a 6304 |0034: const-string v10, "Stream is closed!" // string@0463 │ │ -0293fc: 7020 0005 a900 |0036: invoke-direct {v9, v10}, Ljava/io/EOFException;.:(Ljava/lang/String;)V // method@0500 │ │ -029402: 2709 |0039: throw v9 │ │ -029404: 3d05 0600 |003a: if-lez v5, 0040 // +0006 │ │ -029408: 3376 0400 |003c: if-ne v6, v7, 0040 // +0004 │ │ -02940c: d805 05ff |003e: add-int/lit8 v5, v5, #int -1 // #ff │ │ -029410: 6e30 a705 1005 |0040: invoke-virtual {v0, v1, v5}, Ljava/lang/StringBuffer;.substring:(II)Ljava/lang/String; // method@05a7 │ │ -029416: 0c09 |0043: move-result-object v9 │ │ -029418: 1109 |0044: return-object v9 │ │ +02937c: |[02937c] util.Utils.readLineFromStream:(Ljava/io/InputStream;Z)Ljava/lang/String; │ │ +02938c: 2200 2c01 |0000: new-instance v0, Ljava/lang/StringBuffer; // type@012c │ │ +029390: 7010 a305 0000 |0002: invoke-direct {v0}, Ljava/lang/StringBuffer;.:()V // method@05a3 │ │ +029396: 1201 |0005: const/4 v1, #int 0 // #0 │ │ +029398: 12f2 |0006: const/4 v2, #int -1 // #ff │ │ +02939a: 1203 |0007: const/4 v3, #int 0 // #0 │ │ +02939c: 12f4 |0008: const/4 v4, #int -1 // #ff │ │ +02939e: 1205 |0009: const/4 v5, #int 0 // #0 │ │ +0293a0: 1206 |000a: const/4 v6, #int 0 // #0 │ │ +0293a2: 1307 0d00 |000b: const/16 v7, #int 13 // #d │ │ +0293a6: 3903 2000 |000d: if-nez v3, 002d // +0020 │ │ +0293aa: 6e10 2a05 0900 |000f: invoke-virtual {v9}, Ljava/io/InputStream;.read:()I // method@052a │ │ +0293b0: 0a04 |0012: move-result v4 │ │ +0293b2: 8d43 |0013: int-to-byte v3, v4 │ │ +0293b4: 3224 0d00 |0014: if-eq v4, v2, 0021 // +000d │ │ +0293b8: 1308 0a00 |0016: const/16 v8, #int 10 // #a │ │ +0293bc: 3383 0700 |0018: if-ne v3, v8, 001f // +0007 │ │ +0293c0: 380a 0700 |001a: if-eqz v10, 0021 // +0007 │ │ +0293c4: 3376 0300 |001c: if-ne v6, v7, 001f // +0003 │ │ +0293c8: 2803 |001e: goto 0021 // +0003 │ │ +0293ca: 1207 |001f: const/4 v7, #int 0 // #0 │ │ +0293cc: 2802 |0020: goto 0022 // +0002 │ │ +0293ce: 1217 |0021: const/4 v7, #int 1 // #1 │ │ +0293d0: 3907 0900 |0022: if-nez v7, 002b // +0009 │ │ +0293d4: 8e36 |0024: int-to-char v6, v3 │ │ +0293d6: 6e20 a505 6000 |0025: invoke-virtual {v0, v6}, Ljava/lang/StringBuffer;.append:(C)Ljava/lang/StringBuffer; // method@05a5 │ │ +0293dc: d805 0501 |0028: add-int/lit8 v5, v5, #int 1 // #01 │ │ +0293e0: 0136 |002a: move v6, v3 │ │ +0293e2: 0173 |002b: move v3, v7 │ │ +0293e4: 28df |002c: goto 000b // -0021 │ │ +0293e6: 3324 0d00 |002d: if-ne v4, v2, 003a // +000d │ │ +0293ea: 3805 0300 |002f: if-eqz v5, 0032 // +0003 │ │ +0293ee: 2809 |0031: goto 003a // +0009 │ │ +0293f0: 2209 fa00 |0032: new-instance v9, Ljava/io/EOFException; // type@00fa │ │ +0293f4: 1a0a 6304 |0034: const-string v10, "Stream is closed!" // string@0463 │ │ +0293f8: 7020 0005 a900 |0036: invoke-direct {v9, v10}, Ljava/io/EOFException;.:(Ljava/lang/String;)V // method@0500 │ │ +0293fe: 2709 |0039: throw v9 │ │ +029400: 3d05 0600 |003a: if-lez v5, 0040 // +0006 │ │ +029404: 3376 0400 |003c: if-ne v6, v7, 0040 // +0004 │ │ +029408: d805 05ff |003e: add-int/lit8 v5, v5, #int -1 // #ff │ │ +02940c: 6e30 a705 1005 |0040: invoke-virtual {v0, v1, v5}, Ljava/lang/StringBuffer;.substring:(II)Ljava/lang/String; // method@05a7 │ │ +029412: 0c09 |0043: move-result-object v9 │ │ +029414: 1109 |0044: return-object v9 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=157 │ │ 0x000f line=162 │ │ 0x0025 line=166 │ │ 0x0032 line=173 │ │ 0x0040 line=178 │ │ @@ -32282,19 +32282,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 │ │ -02941c: |[02941c] util.Utils.readLineFromStreamRN:(Ljava/io/InputStream;)Ljava/lang/String; │ │ -02942c: 1210 |0000: const/4 v0, #int 1 // #1 │ │ -02942e: 7120 a007 0100 |0001: invoke-static {v1, v0}, Lutil/Utils;.readLineFromStream:(Ljava/io/InputStream;Z)Ljava/lang/String; // method@07a0 │ │ -029434: 0c01 |0004: move-result-object v1 │ │ -029436: 1101 |0005: return-object v1 │ │ +029418: |[029418] util.Utils.readLineFromStreamRN:(Ljava/io/InputStream;)Ljava/lang/String; │ │ +029428: 1210 |0000: const/4 v0, #int 1 // #1 │ │ +02942a: 7120 a007 0100 |0001: invoke-static {v1, v0}, Lutil/Utils;.readLineFromStream:(Ljava/io/InputStream;Z)Ljava/lang/String; // method@07a0 │ │ +029430: 0c01 |0004: move-result-object v1 │ │ +029432: 1101 |0005: return-object v1 │ │ catches : (none) │ │ positions : │ │ 0x0001 line=239 │ │ locals : │ │ 0x0000 - 0x0006 reg=1 (null) Ljava/io/InputStream; │ │ │ │ #20 : (in Lutil/Utils;) │ │ @@ -32302,25 +32302,25 @@ │ │ type : '(Ljava/lang/Object;)[B' │ │ access : 0x0009 (PUBLIC STATIC) │ │ code - │ │ registers : 3 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 24 16-bit code units │ │ -0290c0: |[0290c0] util.Utils.serializeObject:(Ljava/lang/Object;)[B │ │ -0290d0: 2200 f700 |0000: new-instance v0, Ljava/io/ByteArrayOutputStream; // type@00f7 │ │ -0290d4: 7010 e604 0000 |0002: invoke-direct {v0}, Ljava/io/ByteArrayOutputStream;.:()V // method@04e6 │ │ -0290da: 2201 0401 |0005: new-instance v1, Ljava/io/ObjectOutputStream; // type@0104 │ │ -0290de: 7020 3005 0100 |0007: invoke-direct {v1, v0}, Ljava/io/ObjectOutputStream;.:(Ljava/io/OutputStream;)V // method@0530 │ │ -0290e4: 6e20 3305 2100 |000a: invoke-virtual {v1, v2}, Ljava/io/ObjectOutputStream;.writeObject:(Ljava/lang/Object;)V // method@0533 │ │ -0290ea: 6e10 3205 0100 |000d: invoke-virtual {v1}, Ljava/io/ObjectOutputStream;.flush:()V // method@0532 │ │ -0290f0: 6e10 3105 0100 |0010: invoke-virtual {v1}, Ljava/io/ObjectOutputStream;.close:()V // method@0531 │ │ -0290f6: 6e10 ec04 0000 |0013: invoke-virtual {v0}, Ljava/io/ByteArrayOutputStream;.toByteArray:()[B // method@04ec │ │ -0290fc: 0c02 |0016: move-result-object v2 │ │ -0290fe: 1102 |0017: return-object v2 │ │ +0290bc: |[0290bc] util.Utils.serializeObject:(Ljava/lang/Object;)[B │ │ +0290cc: 2200 f700 |0000: new-instance v0, Ljava/io/ByteArrayOutputStream; // type@00f7 │ │ +0290d0: 7010 e604 0000 |0002: invoke-direct {v0}, Ljava/io/ByteArrayOutputStream;.:()V // method@04e6 │ │ +0290d6: 2201 0401 |0005: new-instance v1, Ljava/io/ObjectOutputStream; // type@0104 │ │ +0290da: 7020 3005 0100 |0007: invoke-direct {v1, v0}, Ljava/io/ObjectOutputStream;.:(Ljava/io/OutputStream;)V // method@0530 │ │ +0290e0: 6e20 3305 2100 |000a: invoke-virtual {v1, v2}, Ljava/io/ObjectOutputStream;.writeObject:(Ljava/lang/Object;)V // method@0533 │ │ +0290e6: 6e10 3205 0100 |000d: invoke-virtual {v1}, Ljava/io/ObjectOutputStream;.flush:()V // method@0532 │ │ +0290ec: 6e10 3105 0100 |0010: invoke-virtual {v1}, Ljava/io/ObjectOutputStream;.close:()V // method@0531 │ │ +0290f2: 6e10 ec04 0000 |0013: invoke-virtual {v0}, Ljava/io/ByteArrayOutputStream;.toByteArray:()[B // method@04ec │ │ +0290f8: 0c02 |0016: move-result-object v2 │ │ +0290fa: 1102 |0017: return-object v2 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=258 │ │ 0x0005 line=259 │ │ 0x000a line=260 │ │ 0x000d line=261 │ │ 0x0010 line=262 │ │ @@ -32333,24 +32333,24 @@ │ │ type : '(Ljava/io/InputStream;)I' │ │ access : 0x0009 (PUBLIC STATIC) │ │ code - │ │ registers : 3 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 14 16-bit code units │ │ -029258: |[029258] util.Utils.skipLine:(Ljava/io/InputStream;)I │ │ -029268: 1200 |0000: const/4 v0, #int 0 // #0 │ │ -02926a: 12f1 |0001: const/4 v1, #int -1 // #ff │ │ -02926c: 3210 0b00 |0002: if-eq v0, v1, 000d // +000b │ │ -029270: 1301 0a00 |0004: const/16 v1, #int 10 // #a │ │ -029274: 3210 0700 |0006: if-eq v0, v1, 000d // +0007 │ │ -029278: 6e10 2a05 0200 |0008: invoke-virtual {v2}, Ljava/io/InputStream;.read:()I // method@052a │ │ -02927e: 0a00 |000b: move-result v0 │ │ -029280: 28f5 |000c: goto 0001 // -000b │ │ -029282: 0f00 |000d: return v0 │ │ +029254: |[029254] util.Utils.skipLine:(Ljava/io/InputStream;)I │ │ +029264: 1200 |0000: const/4 v0, #int 0 // #0 │ │ +029266: 12f1 |0001: const/4 v1, #int -1 // #ff │ │ +029268: 3210 0b00 |0002: if-eq v0, v1, 000d // +000b │ │ +02926c: 1301 0a00 |0004: const/16 v1, #int 10 // #a │ │ +029270: 3210 0700 |0006: if-eq v0, v1, 000d // +0007 │ │ +029274: 6e10 2a05 0200 |0008: invoke-virtual {v2}, Ljava/io/InputStream;.read:()I // method@052a │ │ +02927a: 0a00 |000b: move-result v0 │ │ +02927c: 28f5 |000c: goto 0001 // -000b │ │ +02927e: 0f00 |000d: return v0 │ │ catches : (none) │ │ positions : │ │ 0x0008 line=226 │ │ locals : │ │ 0x0000 - 0x000e reg=2 (null) Ljava/io/InputStream; │ │ │ │ #22 : (in Lutil/Utils;) │ │ @@ -32358,29 +32358,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 │ │ -029284: |[029284] util.Utils.skipWhitespace:(Ljava/io/InputStream;I)I │ │ -029294: 12f0 |0000: const/4 v0, #int -1 // #ff │ │ -029296: 3202 1700 |0001: if-eq v2, v0, 0018 // +0017 │ │ -02929a: 1300 0a00 |0003: const/16 v0, #int 10 // #a │ │ -02929e: 3202 1300 |0005: if-eq v2, v0, 0018 // +0013 │ │ -0292a2: 1300 0900 |0007: const/16 v0, #int 9 // #9 │ │ -0292a6: 3202 0a00 |0009: if-eq v2, v0, 0013 // +000a │ │ -0292aa: 1300 2000 |000b: const/16 v0, #int 32 // #20 │ │ -0292ae: 3202 0600 |000d: if-eq v2, v0, 0013 // +0006 │ │ -0292b2: 1300 0d00 |000f: const/16 v0, #int 13 // #d │ │ -0292b6: 3302 0700 |0011: if-ne v2, v0, 0018 // +0007 │ │ -0292ba: 6e10 2a05 0100 |0013: invoke-virtual {v1}, Ljava/io/InputStream;.read:()I // method@052a │ │ -0292c0: 0a02 |0016: move-result v2 │ │ -0292c2: 28e9 |0017: goto 0000 // -0017 │ │ -0292c4: 0f02 |0018: return v2 │ │ +029280: |[029280] util.Utils.skipWhitespace:(Ljava/io/InputStream;I)I │ │ +029290: 12f0 |0000: const/4 v0, #int -1 // #ff │ │ +029292: 3202 1700 |0001: if-eq v2, v0, 0018 // +0017 │ │ +029296: 1300 0a00 |0003: const/16 v0, #int 10 // #a │ │ +02929a: 3202 1300 |0005: if-eq v2, v0, 0018 // +0013 │ │ +02929e: 1300 0900 |0007: const/16 v0, #int 9 // #9 │ │ +0292a2: 3202 0a00 |0009: if-eq v2, v0, 0013 // +000a │ │ +0292a6: 1300 2000 |000b: const/16 v0, #int 32 // #20 │ │ +0292aa: 3202 0600 |000d: if-eq v2, v0, 0013 // +0006 │ │ +0292ae: 1300 0d00 |000f: const/16 v0, #int 13 // #d │ │ +0292b2: 3302 0700 |0011: if-ne v2, v0, 0018 // +0007 │ │ +0292b6: 6e10 2a05 0100 |0013: invoke-virtual {v1}, Ljava/io/InputStream;.read:()I // method@052a │ │ +0292bc: 0a02 |0016: move-result v2 │ │ +0292be: 28e9 |0017: goto 0000 // -0017 │ │ +0292c0: 0f02 |0018: return v2 │ │ catches : (none) │ │ positions : │ │ 0x0013 line=233 │ │ locals : │ │ 0x0000 - 0x0019 reg=1 (null) Ljava/io/InputStream; │ │ 0x0000 - 0x0019 reg=2 (null) I │ │ │ │ @@ -32389,29 +32389,29 @@ │ │ type : '(J)V' │ │ access : 0x0009 (PUBLIC STATIC) │ │ code - │ │ registers : 4 │ │ ins : 2 │ │ outs : 3 │ │ insns size : 22 16-bit code units │ │ -029844: |[029844] util.Utils.sleep:(J)V │ │ -029854: 2202 2501 |0000: new-instance v2, Ljava/lang/Object; // type@0125 │ │ -029858: 7010 7505 0200 |0002: invoke-direct {v2}, Ljava/lang/Object;.:()V // method@0575 │ │ -02985e: 1d02 |0005: monitor-enter v2 │ │ -029860: 1600 6400 |0006: const-wide/16 v0, #int 100 // #64 │ │ -029864: 6e30 7c05 0201 |0008: invoke-virtual {v2, v0, v1}, Ljava/lang/Object;.wait:(J)V // method@057c │ │ -02986a: 2807 |000b: goto 0012 // +0007 │ │ -02986c: 0d03 |000c: move-exception v3 │ │ -02986e: 2807 |000d: goto 0014 // +0007 │ │ -029870: 0d03 |000e: move-exception v3 │ │ -029872: 6e10 6b05 0300 |000f: invoke-virtual {v3}, Ljava/lang/InterruptedException;.printStackTrace:()V // method@056b │ │ -029878: 1e02 |0012: monitor-exit v2 │ │ -02987a: 0e00 |0013: return-void │ │ -02987c: 1e02 |0014: monitor-exit v2 │ │ -02987e: 2703 |0015: throw v3 │ │ +029840: |[029840] util.Utils.sleep:(J)V │ │ +029850: 2202 2501 |0000: new-instance v2, Ljava/lang/Object; // type@0125 │ │ +029854: 7010 7505 0200 |0002: invoke-direct {v2}, Ljava/lang/Object;.:()V // method@0575 │ │ +02985a: 1d02 |0005: monitor-enter v2 │ │ +02985c: 1600 6400 |0006: const-wide/16 v0, #int 100 // #64 │ │ +029860: 6e30 7c05 0201 |0008: invoke-virtual {v2, v0, v1}, Ljava/lang/Object;.wait:(J)V // method@057c │ │ +029866: 2807 |000b: goto 0012 // +0007 │ │ +029868: 0d03 |000c: move-exception v3 │ │ +02986a: 2807 |000d: goto 0014 // +0007 │ │ +02986c: 0d03 |000e: move-exception v3 │ │ +02986e: 6e10 6b05 0300 |000f: invoke-virtual {v3}, Ljava/lang/InterruptedException;.printStackTrace:()V // method@056b │ │ +029874: 1e02 |0012: monitor-exit v2 │ │ +029876: 0e00 |0013: return-void │ │ +029878: 1e02 |0014: monitor-exit v2 │ │ +02987a: 2703 |0015: throw v3 │ │ catches : 2 │ │ 0x0008 - 0x000b │ │ Ljava/lang/InterruptedException; -> 0x000e │ │ -> 0x000c │ │ 0x000f - 0x0015 │ │ -> 0x000c │ │ positions : │ │ @@ -32428,82 +32428,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 │ │ -029898: |[029898] util.Utils.unzipFile:(Ljava/util/zip/ZipInputStream;Ljava/lang/String;)V │ │ -0298a8: 1300 0004 |0000: const/16 v0, #int 1024 // #400 │ │ -0298ac: 2300 9d01 |0002: new-array v0, v0, [B // type@019d │ │ -0298b0: 6e10 9106 0500 |0004: invoke-virtual {v5}, Ljava/util/zip/ZipInputStream;.getNextEntry:()Ljava/util/zip/ZipEntry; // method@0691 │ │ -0298b6: 0c01 |0007: move-result-object v1 │ │ -0298b8: 3801 7e00 |0008: if-eqz v1, 0086 // +007e │ │ -0298bc: 2202 fb00 |000a: new-instance v2, Ljava/io/File; // type@00fb │ │ -0298c0: 2203 2d01 |000c: new-instance v3, Ljava/lang/StringBuilder; // type@012d │ │ -0298c4: 7010 a905 0300 |000e: invoke-direct {v3}, Ljava/lang/StringBuilder;.:()V // method@05a9 │ │ -0298ca: 6e20 af05 6300 |0011: invoke-virtual {v3, v6}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -0298d0: 6204 1603 |0014: sget-object v4, Ljava/io/File;.separator:Ljava/lang/String; // field@0316 │ │ -0298d4: 6e20 af05 4300 |0016: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -0298da: 6e10 b105 0300 |0019: invoke-virtual {v3}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ -0298e0: 0c03 |001c: move-result-object v3 │ │ -0298e2: 6e10 8c06 0100 |001d: invoke-virtual {v1}, Ljava/util/zip/ZipEntry;.getName:()Ljava/lang/String; // method@068c │ │ -0298e8: 0c04 |0020: move-result-object v4 │ │ -0298ea: 7030 0205 3204 |0021: invoke-direct {v2, v3, v4}, Ljava/io/File;.:(Ljava/lang/String;Ljava/lang/String;)V // method@0502 │ │ -0298f0: 6e10 8d06 0100 |0024: invoke-virtual {v1}, Ljava/util/zip/ZipEntry;.isDirectory:()Z // method@068d │ │ -0298f6: 0a01 |0027: move-result v1 │ │ -0298f8: 1a03 a001 |0028: const-string v3, "Failed to create directory " // string@01a0 │ │ -0298fc: 3801 2100 |002a: if-eqz v1, 004b // +0021 │ │ -029900: 6e10 0c05 0200 |002c: invoke-virtual {v2}, Ljava/io/File;.isDirectory:()Z // method@050c │ │ -029906: 0a01 |002f: move-result v1 │ │ -029908: 3901 5100 |0030: if-nez v1, 0081 // +0051 │ │ -02990c: 6e10 1105 0200 |0032: invoke-virtual {v2}, Ljava/io/File;.mkdirs:()Z // method@0511 │ │ -029912: 0a01 |0035: move-result v1 │ │ -029914: 3801 0300 |0036: if-eqz v1, 0039 // +0003 │ │ -029918: 2849 |0038: goto 0081 // +0049 │ │ -02991a: 2205 0001 |0039: new-instance v5, Ljava/io/IOException; // type@0100 │ │ -02991e: 2206 2d01 |003b: new-instance v6, Ljava/lang/StringBuilder; // type@012d │ │ -029922: 7020 aa05 3600 |003d: invoke-direct {v6, v3}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05aa │ │ -029928: 6e20 ae05 2600 |0040: invoke-virtual {v6, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@05ae │ │ -02992e: 6e10 b105 0600 |0043: invoke-virtual {v6}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ -029934: 0c06 |0046: move-result-object v6 │ │ -029936: 7020 2105 6500 |0047: invoke-direct {v5, v6}, Ljava/io/IOException;.:(Ljava/lang/String;)V // method@0521 │ │ -02993c: 2705 |004a: throw v5 │ │ -02993e: 6e10 0a05 0200 |004b: invoke-virtual {v2}, Ljava/io/File;.getParentFile:()Ljava/io/File; // method@050a │ │ -029944: 0c01 |004e: move-result-object v1 │ │ -029946: 6e10 0c05 0100 |004f: invoke-virtual {v1}, Ljava/io/File;.isDirectory:()Z // method@050c │ │ -02994c: 0a04 |0052: move-result v4 │ │ -02994e: 3904 1b00 |0053: if-nez v4, 006e // +001b │ │ -029952: 6e10 1105 0100 |0055: invoke-virtual {v1}, Ljava/io/File;.mkdirs:()Z // method@0511 │ │ -029958: 0a04 |0058: move-result v4 │ │ -02995a: 3804 0300 |0059: if-eqz v4, 005c // +0003 │ │ -02995e: 2813 |005b: goto 006e // +0013 │ │ -029960: 2205 0001 |005c: new-instance v5, Ljava/io/IOException; // type@0100 │ │ -029964: 2206 2d01 |005e: new-instance v6, Ljava/lang/StringBuilder; // type@012d │ │ -029968: 7020 aa05 3600 |0060: invoke-direct {v6, v3}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05aa │ │ -02996e: 6e20 ae05 1600 |0063: invoke-virtual {v6, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@05ae │ │ -029974: 6e10 b105 0600 |0066: invoke-virtual {v6}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ -02997a: 0c06 |0069: move-result-object v6 │ │ -02997c: 7020 2105 6500 |006a: invoke-direct {v5, v6}, Ljava/io/IOException;.:(Ljava/lang/String;)V // method@0521 │ │ -029982: 2705 |006d: throw v5 │ │ -029984: 2201 ff00 |006e: new-instance v1, Ljava/io/FileOutputStream; // type@00ff │ │ -029988: 7020 1905 2100 |0070: invoke-direct {v1, v2}, Ljava/io/FileOutputStream;.:(Ljava/io/File;)V // method@0519 │ │ -02998e: 6e20 9206 0500 |0073: invoke-virtual {v5, v0}, Ljava/util/zip/ZipInputStream;.read:([B)I // method@0692 │ │ -029994: 0a02 |0076: move-result v2 │ │ -029996: 3d02 0700 |0077: if-lez v2, 007e // +0007 │ │ -02999a: 1203 |0079: const/4 v3, #int 0 // #0 │ │ -02999c: 6e40 2005 0123 |007a: invoke-virtual {v1, v0, v3, v2}, Ljava/io/FileOutputStream;.write:([BII)V // method@0520 │ │ -0299a2: 28f6 |007d: goto 0073 // -000a │ │ -0299a4: 6e10 1d05 0100 |007e: invoke-virtual {v1}, Ljava/io/FileOutputStream;.close:()V // method@051d │ │ -0299aa: 6e10 9106 0500 |0081: invoke-virtual {v5}, Ljava/util/zip/ZipInputStream;.getNextEntry:()Ljava/util/zip/ZipEntry; // method@0691 │ │ -0299b0: 0c01 |0084: move-result-object v1 │ │ -0299b2: 2883 |0085: goto 0008 // -007d │ │ -0299b4: 6e10 9006 0500 |0086: invoke-virtual {v5}, Ljava/util/zip/ZipInputStream;.closeEntry:()V // method@0690 │ │ -0299ba: 6e10 8f06 0500 |0089: invoke-virtual {v5}, Ljava/util/zip/ZipInputStream;.close:()V // method@068f │ │ -0299c0: 0e00 |008c: return-void │ │ +029894: |[029894] util.Utils.unzipFile:(Ljava/util/zip/ZipInputStream;Ljava/lang/String;)V │ │ +0298a4: 1300 0004 |0000: const/16 v0, #int 1024 // #400 │ │ +0298a8: 2300 9d01 |0002: new-array v0, v0, [B // type@019d │ │ +0298ac: 6e10 9106 0500 |0004: invoke-virtual {v5}, Ljava/util/zip/ZipInputStream;.getNextEntry:()Ljava/util/zip/ZipEntry; // method@0691 │ │ +0298b2: 0c01 |0007: move-result-object v1 │ │ +0298b4: 3801 7e00 |0008: if-eqz v1, 0086 // +007e │ │ +0298b8: 2202 fb00 |000a: new-instance v2, Ljava/io/File; // type@00fb │ │ +0298bc: 2203 2d01 |000c: new-instance v3, Ljava/lang/StringBuilder; // type@012d │ │ +0298c0: 7010 a905 0300 |000e: invoke-direct {v3}, Ljava/lang/StringBuilder;.:()V // method@05a9 │ │ +0298c6: 6e20 af05 6300 |0011: invoke-virtual {v3, v6}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +0298cc: 6204 1603 |0014: sget-object v4, Ljava/io/File;.separator:Ljava/lang/String; // field@0316 │ │ +0298d0: 6e20 af05 4300 |0016: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +0298d6: 6e10 b105 0300 |0019: invoke-virtual {v3}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ +0298dc: 0c03 |001c: move-result-object v3 │ │ +0298de: 6e10 8c06 0100 |001d: invoke-virtual {v1}, Ljava/util/zip/ZipEntry;.getName:()Ljava/lang/String; // method@068c │ │ +0298e4: 0c04 |0020: move-result-object v4 │ │ +0298e6: 7030 0205 3204 |0021: invoke-direct {v2, v3, v4}, Ljava/io/File;.:(Ljava/lang/String;Ljava/lang/String;)V // method@0502 │ │ +0298ec: 6e10 8d06 0100 |0024: invoke-virtual {v1}, Ljava/util/zip/ZipEntry;.isDirectory:()Z // method@068d │ │ +0298f2: 0a01 |0027: move-result v1 │ │ +0298f4: 1a03 a001 |0028: const-string v3, "Failed to create directory " // string@01a0 │ │ +0298f8: 3801 2100 |002a: if-eqz v1, 004b // +0021 │ │ +0298fc: 6e10 0c05 0200 |002c: invoke-virtual {v2}, Ljava/io/File;.isDirectory:()Z // method@050c │ │ +029902: 0a01 |002f: move-result v1 │ │ +029904: 3901 5100 |0030: if-nez v1, 0081 // +0051 │ │ +029908: 6e10 1105 0200 |0032: invoke-virtual {v2}, Ljava/io/File;.mkdirs:()Z // method@0511 │ │ +02990e: 0a01 |0035: move-result v1 │ │ +029910: 3801 0300 |0036: if-eqz v1, 0039 // +0003 │ │ +029914: 2849 |0038: goto 0081 // +0049 │ │ +029916: 2205 0001 |0039: new-instance v5, Ljava/io/IOException; // type@0100 │ │ +02991a: 2206 2d01 |003b: new-instance v6, Ljava/lang/StringBuilder; // type@012d │ │ +02991e: 7020 aa05 3600 |003d: invoke-direct {v6, v3}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05aa │ │ +029924: 6e20 ae05 2600 |0040: invoke-virtual {v6, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@05ae │ │ +02992a: 6e10 b105 0600 |0043: invoke-virtual {v6}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ +029930: 0c06 |0046: move-result-object v6 │ │ +029932: 7020 2105 6500 |0047: invoke-direct {v5, v6}, Ljava/io/IOException;.:(Ljava/lang/String;)V // method@0521 │ │ +029938: 2705 |004a: throw v5 │ │ +02993a: 6e10 0a05 0200 |004b: invoke-virtual {v2}, Ljava/io/File;.getParentFile:()Ljava/io/File; // method@050a │ │ +029940: 0c01 |004e: move-result-object v1 │ │ +029942: 6e10 0c05 0100 |004f: invoke-virtual {v1}, Ljava/io/File;.isDirectory:()Z // method@050c │ │ +029948: 0a04 |0052: move-result v4 │ │ +02994a: 3904 1b00 |0053: if-nez v4, 006e // +001b │ │ +02994e: 6e10 1105 0100 |0055: invoke-virtual {v1}, Ljava/io/File;.mkdirs:()Z // method@0511 │ │ +029954: 0a04 |0058: move-result v4 │ │ +029956: 3804 0300 |0059: if-eqz v4, 005c // +0003 │ │ +02995a: 2813 |005b: goto 006e // +0013 │ │ +02995c: 2205 0001 |005c: new-instance v5, Ljava/io/IOException; // type@0100 │ │ +029960: 2206 2d01 |005e: new-instance v6, Ljava/lang/StringBuilder; // type@012d │ │ +029964: 7020 aa05 3600 |0060: invoke-direct {v6, v3}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05aa │ │ +02996a: 6e20 ae05 1600 |0063: invoke-virtual {v6, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@05ae │ │ +029970: 6e10 b105 0600 |0066: invoke-virtual {v6}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ +029976: 0c06 |0069: move-result-object v6 │ │ +029978: 7020 2105 6500 |006a: invoke-direct {v5, v6}, Ljava/io/IOException;.:(Ljava/lang/String;)V // method@0521 │ │ +02997e: 2705 |006d: throw v5 │ │ +029980: 2201 ff00 |006e: new-instance v1, Ljava/io/FileOutputStream; // type@00ff │ │ +029984: 7020 1905 2100 |0070: invoke-direct {v1, v2}, Ljava/io/FileOutputStream;.:(Ljava/io/File;)V // method@0519 │ │ +02998a: 6e20 9206 0500 |0073: invoke-virtual {v5, v0}, Ljava/util/zip/ZipInputStream;.read:([B)I // method@0692 │ │ +029990: 0a02 |0076: move-result v2 │ │ +029992: 3d02 0700 |0077: if-lez v2, 007e // +0007 │ │ +029996: 1203 |0079: const/4 v3, #int 0 // #0 │ │ +029998: 6e40 2005 0123 |007a: invoke-virtual {v1, v0, v3, v2}, Ljava/io/FileOutputStream;.write:([BII)V // method@0520 │ │ +02999e: 28f6 |007d: goto 0073 // -000a │ │ +0299a0: 6e10 1d05 0100 |007e: invoke-virtual {v1}, Ljava/io/FileOutputStream;.close:()V // method@051d │ │ +0299a6: 6e10 9106 0500 |0081: invoke-virtual {v5}, Ljava/util/zip/ZipInputStream;.getNextEntry:()Ljava/util/zip/ZipEntry; // method@0691 │ │ +0299ac: 0c01 |0084: move-result-object v1 │ │ +0299ae: 2883 |0085: goto 0008 // -007d │ │ +0299b0: 6e10 9006 0500 |0086: invoke-virtual {v5}, Ljava/util/zip/ZipInputStream;.closeEntry:()V // method@0690 │ │ +0299b6: 6e10 8f06 0500 |0089: invoke-virtual {v5}, Ljava/util/zip/ZipInputStream;.close:()V // method@068f │ │ +0299bc: 0e00 |008c: return-void │ │ catches : (none) │ │ positions : │ │ 0x0002 line=389 │ │ 0x0004 line=390 │ │ 0x000a line=392 │ │ 0x0024 line=393 │ │ 0x002c line=394 │ │ @@ -32527,61 +32527,61 @@ │ │ type : '(J[BI)V' │ │ access : 0x0009 (PUBLIC STATIC) │ │ code - │ │ registers : 7 │ │ ins : 4 │ │ outs : 0 │ │ insns size : 75 16-bit code units │ │ -0299c4: |[0299c4] util.Utils.writeLongToByteArray:(J[BI)V │ │ -0299d4: 1300 3800 |0000: const/16 v0, #int 56 // #38 │ │ -0299d8: a400 0300 |0002: shr-long v0, v3, v0 │ │ -0299dc: 8401 |0004: long-to-int v1, v0 │ │ -0299de: 8d10 |0005: int-to-byte v0, v1 │ │ -0299e0: 4f00 0506 |0006: aput-byte v0, v5, v6 │ │ -0299e4: d800 0601 |0008: add-int/lit8 v0, v6, #int 1 // #01 │ │ -0299e8: 1301 3000 |000a: const/16 v1, #int 48 // #30 │ │ -0299ec: a401 0301 |000c: shr-long v1, v3, v1 │ │ -0299f0: 8412 |000e: long-to-int v2, v1 │ │ -0299f2: 8d21 |000f: int-to-byte v1, v2 │ │ -0299f4: 4f01 0500 |0010: aput-byte v1, v5, v0 │ │ -0299f8: d800 0602 |0012: add-int/lit8 v0, v6, #int 2 // #02 │ │ -0299fc: 1301 2800 |0014: const/16 v1, #int 40 // #28 │ │ -029a00: a401 0301 |0016: shr-long v1, v3, v1 │ │ -029a04: 8412 |0018: long-to-int v2, v1 │ │ -029a06: 8d21 |0019: int-to-byte v1, v2 │ │ -029a08: 4f01 0500 |001a: aput-byte v1, v5, v0 │ │ -029a0c: d800 0603 |001c: add-int/lit8 v0, v6, #int 3 // #03 │ │ -029a10: 1301 2000 |001e: const/16 v1, #int 32 // #20 │ │ -029a14: a401 0301 |0020: shr-long v1, v3, v1 │ │ -029a18: 8412 |0022: long-to-int v2, v1 │ │ -029a1a: 8d21 |0023: int-to-byte v1, v2 │ │ -029a1c: 4f01 0500 |0024: aput-byte v1, v5, v0 │ │ -029a20: d800 0604 |0026: add-int/lit8 v0, v6, #int 4 // #04 │ │ -029a24: 1301 1800 |0028: const/16 v1, #int 24 // #18 │ │ -029a28: a401 0301 |002a: shr-long v1, v3, v1 │ │ -029a2c: 8412 |002c: long-to-int v2, v1 │ │ -029a2e: 8d21 |002d: int-to-byte v1, v2 │ │ -029a30: 4f01 0500 |002e: aput-byte v1, v5, v0 │ │ -029a34: d800 0605 |0030: add-int/lit8 v0, v6, #int 5 // #05 │ │ -029a38: 1301 1000 |0032: const/16 v1, #int 16 // #10 │ │ -029a3c: a401 0301 |0034: shr-long v1, v3, v1 │ │ -029a40: 8412 |0036: long-to-int v2, v1 │ │ -029a42: 8d21 |0037: int-to-byte v1, v2 │ │ -029a44: 4f01 0500 |0038: aput-byte v1, v5, v0 │ │ -029a48: d800 0606 |003a: add-int/lit8 v0, v6, #int 6 // #06 │ │ -029a4c: 1301 0800 |003c: const/16 v1, #int 8 // #8 │ │ -029a50: a401 0301 |003e: shr-long v1, v3, v1 │ │ -029a54: 8412 |0040: long-to-int v2, v1 │ │ -029a56: 8d21 |0041: int-to-byte v1, v2 │ │ -029a58: 4f01 0500 |0042: aput-byte v1, v5, v0 │ │ -029a5c: d806 0607 |0044: add-int/lit8 v6, v6, #int 7 // #07 │ │ -029a60: 8434 |0046: long-to-int v4, v3 │ │ -029a62: 8d43 |0047: int-to-byte v3, v4 │ │ -029a64: 4f03 0506 |0048: aput-byte v3, v5, v6 │ │ -029a68: 0e00 |004a: return-void │ │ +0299c0: |[0299c0] util.Utils.writeLongToByteArray:(J[BI)V │ │ +0299d0: 1300 3800 |0000: const/16 v0, #int 56 // #38 │ │ +0299d4: a400 0300 |0002: shr-long v0, v3, v0 │ │ +0299d8: 8401 |0004: long-to-int v1, v0 │ │ +0299da: 8d10 |0005: int-to-byte v0, v1 │ │ +0299dc: 4f00 0506 |0006: aput-byte v0, v5, v6 │ │ +0299e0: d800 0601 |0008: add-int/lit8 v0, v6, #int 1 // #01 │ │ +0299e4: 1301 3000 |000a: const/16 v1, #int 48 // #30 │ │ +0299e8: a401 0301 |000c: shr-long v1, v3, v1 │ │ +0299ec: 8412 |000e: long-to-int v2, v1 │ │ +0299ee: 8d21 |000f: int-to-byte v1, v2 │ │ +0299f0: 4f01 0500 |0010: aput-byte v1, v5, v0 │ │ +0299f4: d800 0602 |0012: add-int/lit8 v0, v6, #int 2 // #02 │ │ +0299f8: 1301 2800 |0014: const/16 v1, #int 40 // #28 │ │ +0299fc: a401 0301 |0016: shr-long v1, v3, v1 │ │ +029a00: 8412 |0018: long-to-int v2, v1 │ │ +029a02: 8d21 |0019: int-to-byte v1, v2 │ │ +029a04: 4f01 0500 |001a: aput-byte v1, v5, v0 │ │ +029a08: d800 0603 |001c: add-int/lit8 v0, v6, #int 3 // #03 │ │ +029a0c: 1301 2000 |001e: const/16 v1, #int 32 // #20 │ │ +029a10: a401 0301 |0020: shr-long v1, v3, v1 │ │ +029a14: 8412 |0022: long-to-int v2, v1 │ │ +029a16: 8d21 |0023: int-to-byte v1, v2 │ │ +029a18: 4f01 0500 |0024: aput-byte v1, v5, v0 │ │ +029a1c: d800 0604 |0026: add-int/lit8 v0, v6, #int 4 // #04 │ │ +029a20: 1301 1800 |0028: const/16 v1, #int 24 // #18 │ │ +029a24: a401 0301 |002a: shr-long v1, v3, v1 │ │ +029a28: 8412 |002c: long-to-int v2, v1 │ │ +029a2a: 8d21 |002d: int-to-byte v1, v2 │ │ +029a2c: 4f01 0500 |002e: aput-byte v1, v5, v0 │ │ +029a30: d800 0605 |0030: add-int/lit8 v0, v6, #int 5 // #05 │ │ +029a34: 1301 1000 |0032: const/16 v1, #int 16 // #10 │ │ +029a38: a401 0301 |0034: shr-long v1, v3, v1 │ │ +029a3c: 8412 |0036: long-to-int v2, v1 │ │ +029a3e: 8d21 |0037: int-to-byte v1, v2 │ │ +029a40: 4f01 0500 |0038: aput-byte v1, v5, v0 │ │ +029a44: d800 0606 |003a: add-int/lit8 v0, v6, #int 6 // #06 │ │ +029a48: 1301 0800 |003c: const/16 v1, #int 8 // #8 │ │ +029a4c: a401 0301 |003e: shr-long v1, v3, v1 │ │ +029a50: 8412 |0040: long-to-int v2, v1 │ │ +029a52: 8d21 |0041: int-to-byte v1, v2 │ │ +029a54: 4f01 0500 |0042: aput-byte v1, v5, v0 │ │ +029a58: d806 0607 |0044: add-int/lit8 v6, v6, #int 7 // #07 │ │ +029a5c: 8434 |0046: long-to-int v4, v3 │ │ +029a5e: 8d43 |0047: int-to-byte v3, v4 │ │ +029a60: 4f03 0506 |0048: aput-byte v3, v5, v6 │ │ +029a64: 0e00 |004a: return-void │ │ catches : (none) │ │ positions : │ │ 0x0006 line=79 │ │ 0x0010 line=80 │ │ 0x001a line=81 │ │ 0x0024 line=82 │ │ 0x002e line=83 │ │ @@ -32598,79 +32598,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 │ │ -029a6c: |[029a6c] util.Utils.zipFile:(Ljava/util/zip/ZipOutputStream;Ljava/io/File;Ljava/lang/String;)V │ │ -029a7c: 3805 8b00 |0000: if-eqz v5, 008b // +008b │ │ -029a80: 6e10 0705 0500 |0002: invoke-virtual {v5}, Ljava/io/File;.exists:()Z // method@0507 │ │ -029a86: 0a00 |0005: move-result v0 │ │ -029a88: 3900 0400 |0006: if-nez v0, 000a // +0004 │ │ -029a8c: 2900 8300 |0008: goto/16 008b // +0083 │ │ -029a90: 6e10 0905 0500 |000a: invoke-virtual {v5}, Ljava/io/File;.getName:()Ljava/lang/String; // method@0509 │ │ -029a96: 0c00 |000d: move-result-object v0 │ │ -029a98: 3806 2000 |000e: if-eqz v6, 002e // +0020 │ │ -029a9c: 6e10 9305 0600 |0010: invoke-virtual {v6}, Ljava/lang/String;.isEmpty:()Z // method@0593 │ │ -029aa2: 0a01 |0013: move-result v1 │ │ -029aa4: 3901 1a00 |0014: if-nez v1, 002e // +001a │ │ -029aa8: 2200 2d01 |0016: new-instance v0, Ljava/lang/StringBuilder; // type@012d │ │ -029aac: 7010 a905 0000 |0018: invoke-direct {v0}, Ljava/lang/StringBuilder;.:()V // method@05a9 │ │ -029ab2: 6e20 af05 6000 |001b: invoke-virtual {v0, v6}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -029ab8: 1a06 6000 |001e: const-string v6, "/" // string@0060 │ │ -029abc: 6e20 af05 6000 |0020: invoke-virtual {v0, v6}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -029ac2: 6e10 0905 0500 |0023: invoke-virtual {v5}, Ljava/io/File;.getName:()Ljava/lang/String; // method@0509 │ │ -029ac8: 0c06 |0026: move-result-object v6 │ │ -029aca: 6e20 af05 6000 |0027: invoke-virtual {v0, v6}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -029ad0: 6e10 b105 0000 |002a: invoke-virtual {v0}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ -029ad6: 0c00 |002d: move-result-object v0 │ │ -029ad8: 6e10 0c05 0500 |002e: invoke-virtual {v5}, Ljava/io/File;.isDirectory:()Z // method@050c │ │ -029ade: 0a06 |0031: move-result v6 │ │ -029ae0: 1201 |0032: const/4 v1, #int 0 // #0 │ │ -029ae2: 3806 2400 |0033: if-eqz v6, 0057 // +0024 │ │ -029ae6: 6206 1903 |0035: sget-object v6, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0319 │ │ -029aea: 2202 2d01 |0037: new-instance v2, Ljava/lang/StringBuilder; // type@012d │ │ -029aee: 1a03 4f00 |0039: const-string v3, "+" // string@004f │ │ -029af2: 7020 aa05 3200 |003b: invoke-direct {v2, v3}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05aa │ │ -029af8: 6e20 af05 0200 |003e: invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -029afe: 6e10 b105 0200 |0041: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ -029b04: 0c02 |0044: move-result-object v2 │ │ -029b06: 6e20 4205 2600 |0045: invoke-virtual {v6, v2}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@0542 │ │ -029b0c: 6e10 0f05 0500 |0048: invoke-virtual {v5}, Ljava/io/File;.listFiles:()[Ljava/io/File; // method@050f │ │ -029b12: 0c05 |004b: move-result-object v5 │ │ -029b14: 2156 |004c: array-length v6, v5 │ │ -029b16: 3561 3e00 |004d: if-ge v1, v6, 008b // +003e │ │ -029b1a: 4602 0501 |004f: aget-object v2, v5, v1 │ │ -029b1e: 7130 a807 2400 |0051: invoke-static {v4, v2, v0}, Lutil/Utils;.zipFile:(Ljava/util/zip/ZipOutputStream;Ljava/io/File;Ljava/lang/String;)V // method@07a8 │ │ -029b24: d801 0101 |0054: add-int/lit8 v1, v1, #int 1 // #01 │ │ -029b28: 28f7 |0056: goto 004d // -0009 │ │ -029b2a: 6206 1903 |0057: sget-object v6, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0319 │ │ -029b2e: 2202 2d01 |0059: new-instance v2, Ljava/lang/StringBuilder; // type@012d │ │ -029b32: 1a03 0e00 |005b: const-string v3, " " // string@000e │ │ -029b36: 7020 aa05 3200 |005d: invoke-direct {v2, v3}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05aa │ │ -029b3c: 6e20 af05 0200 |0060: invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -029b42: 6e10 b105 0200 |0063: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ -029b48: 0c02 |0066: move-result-object v2 │ │ -029b4a: 6e20 4205 2600 |0067: invoke-virtual {v6, v2}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@0542 │ │ -029b50: 1306 0004 |006a: const/16 v6, #int 1024 // #400 │ │ -029b54: 2366 9d01 |006c: new-array v6, v6, [B // type@019d │ │ -029b58: 2202 fd00 |006e: new-instance v2, Ljava/io/FileInputStream; // type@00fd │ │ -029b5c: 7020 1305 5200 |0070: invoke-direct {v2, v5}, Ljava/io/FileInputStream;.:(Ljava/io/File;)V // method@0513 │ │ -029b62: 2205 6f01 |0073: new-instance v5, Ljava/util/zip/ZipEntry; // type@016f │ │ -029b66: 7020 8b06 0500 |0075: invoke-direct {v5, v0}, Ljava/util/zip/ZipEntry;.:(Ljava/lang/String;)V // method@068b │ │ -029b6c: 6e20 9806 5400 |0078: invoke-virtual {v4, v5}, Ljava/util/zip/ZipOutputStream;.putNextEntry:(Ljava/util/zip/ZipEntry;)V // method@0698 │ │ -029b72: 6e20 1705 6200 |007b: invoke-virtual {v2, v6}, Ljava/io/FileInputStream;.read:([B)I // method@0517 │ │ -029b78: 0a05 |007e: move-result v5 │ │ -029b7a: 3d05 0600 |007f: if-lez v5, 0085 // +0006 │ │ -029b7e: 6e40 9906 6451 |0081: invoke-virtual {v4, v6, v1, v5}, Ljava/util/zip/ZipOutputStream;.write:([BII)V // method@0699 │ │ -029b84: 28f7 |0084: goto 007b // -0009 │ │ -029b86: 6e10 9506 0400 |0085: invoke-virtual {v4}, Ljava/util/zip/ZipOutputStream;.closeEntry:()V // method@0695 │ │ -029b8c: 6e10 1605 0200 |0088: invoke-virtual {v2}, Ljava/io/FileInputStream;.close:()V // method@0516 │ │ -029b92: 0e00 |008b: return-void │ │ +029a68: |[029a68] util.Utils.zipFile:(Ljava/util/zip/ZipOutputStream;Ljava/io/File;Ljava/lang/String;)V │ │ +029a78: 3805 8b00 |0000: if-eqz v5, 008b // +008b │ │ +029a7c: 6e10 0705 0500 |0002: invoke-virtual {v5}, Ljava/io/File;.exists:()Z // method@0507 │ │ +029a82: 0a00 |0005: move-result v0 │ │ +029a84: 3900 0400 |0006: if-nez v0, 000a // +0004 │ │ +029a88: 2900 8300 |0008: goto/16 008b // +0083 │ │ +029a8c: 6e10 0905 0500 |000a: invoke-virtual {v5}, Ljava/io/File;.getName:()Ljava/lang/String; // method@0509 │ │ +029a92: 0c00 |000d: move-result-object v0 │ │ +029a94: 3806 2000 |000e: if-eqz v6, 002e // +0020 │ │ +029a98: 6e10 9305 0600 |0010: invoke-virtual {v6}, Ljava/lang/String;.isEmpty:()Z // method@0593 │ │ +029a9e: 0a01 |0013: move-result v1 │ │ +029aa0: 3901 1a00 |0014: if-nez v1, 002e // +001a │ │ +029aa4: 2200 2d01 |0016: new-instance v0, Ljava/lang/StringBuilder; // type@012d │ │ +029aa8: 7010 a905 0000 |0018: invoke-direct {v0}, Ljava/lang/StringBuilder;.:()V // method@05a9 │ │ +029aae: 6e20 af05 6000 |001b: invoke-virtual {v0, v6}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +029ab4: 1a06 6000 |001e: const-string v6, "/" // string@0060 │ │ +029ab8: 6e20 af05 6000 |0020: invoke-virtual {v0, v6}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +029abe: 6e10 0905 0500 |0023: invoke-virtual {v5}, Ljava/io/File;.getName:()Ljava/lang/String; // method@0509 │ │ +029ac4: 0c06 |0026: move-result-object v6 │ │ +029ac6: 6e20 af05 6000 |0027: invoke-virtual {v0, v6}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +029acc: 6e10 b105 0000 |002a: invoke-virtual {v0}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ +029ad2: 0c00 |002d: move-result-object v0 │ │ +029ad4: 6e10 0c05 0500 |002e: invoke-virtual {v5}, Ljava/io/File;.isDirectory:()Z // method@050c │ │ +029ada: 0a06 |0031: move-result v6 │ │ +029adc: 1201 |0032: const/4 v1, #int 0 // #0 │ │ +029ade: 3806 2400 |0033: if-eqz v6, 0057 // +0024 │ │ +029ae2: 6206 1903 |0035: sget-object v6, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0319 │ │ +029ae6: 2202 2d01 |0037: new-instance v2, Ljava/lang/StringBuilder; // type@012d │ │ +029aea: 1a03 4f00 |0039: const-string v3, "+" // string@004f │ │ +029aee: 7020 aa05 3200 |003b: invoke-direct {v2, v3}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05aa │ │ +029af4: 6e20 af05 0200 |003e: invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +029afa: 6e10 b105 0200 |0041: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ +029b00: 0c02 |0044: move-result-object v2 │ │ +029b02: 6e20 4205 2600 |0045: invoke-virtual {v6, v2}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@0542 │ │ +029b08: 6e10 0f05 0500 |0048: invoke-virtual {v5}, Ljava/io/File;.listFiles:()[Ljava/io/File; // method@050f │ │ +029b0e: 0c05 |004b: move-result-object v5 │ │ +029b10: 2156 |004c: array-length v6, v5 │ │ +029b12: 3561 3e00 |004d: if-ge v1, v6, 008b // +003e │ │ +029b16: 4602 0501 |004f: aget-object v2, v5, v1 │ │ +029b1a: 7130 a807 2400 |0051: invoke-static {v4, v2, v0}, Lutil/Utils;.zipFile:(Ljava/util/zip/ZipOutputStream;Ljava/io/File;Ljava/lang/String;)V // method@07a8 │ │ +029b20: d801 0101 |0054: add-int/lit8 v1, v1, #int 1 // #01 │ │ +029b24: 28f7 |0056: goto 004d // -0009 │ │ +029b26: 6206 1903 |0057: sget-object v6, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0319 │ │ +029b2a: 2202 2d01 |0059: new-instance v2, Ljava/lang/StringBuilder; // type@012d │ │ +029b2e: 1a03 0e00 |005b: const-string v3, " " // string@000e │ │ +029b32: 7020 aa05 3200 |005d: invoke-direct {v2, v3}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05aa │ │ +029b38: 6e20 af05 0200 |0060: invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +029b3e: 6e10 b105 0200 |0063: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ +029b44: 0c02 |0066: move-result-object v2 │ │ +029b46: 6e20 4205 2600 |0067: invoke-virtual {v6, v2}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@0542 │ │ +029b4c: 1306 0004 |006a: const/16 v6, #int 1024 // #400 │ │ +029b50: 2366 9d01 |006c: new-array v6, v6, [B // type@019d │ │ +029b54: 2202 fd00 |006e: new-instance v2, Ljava/io/FileInputStream; // type@00fd │ │ +029b58: 7020 1305 5200 |0070: invoke-direct {v2, v5}, Ljava/io/FileInputStream;.:(Ljava/io/File;)V // method@0513 │ │ +029b5e: 2205 6f01 |0073: new-instance v5, Ljava/util/zip/ZipEntry; // type@016f │ │ +029b62: 7020 8b06 0500 |0075: invoke-direct {v5, v0}, Ljava/util/zip/ZipEntry;.:(Ljava/lang/String;)V // method@068b │ │ +029b68: 6e20 9806 5400 |0078: invoke-virtual {v4, v5}, Ljava/util/zip/ZipOutputStream;.putNextEntry:(Ljava/util/zip/ZipEntry;)V // method@0698 │ │ +029b6e: 6e20 1705 6200 |007b: invoke-virtual {v2, v6}, Ljava/io/FileInputStream;.read:([B)I // method@0517 │ │ +029b74: 0a05 |007e: move-result v5 │ │ +029b76: 3d05 0600 |007f: if-lez v5, 0085 // +0006 │ │ +029b7a: 6e40 9906 6451 |0081: invoke-virtual {v4, v6, v1, v5}, Ljava/util/zip/ZipOutputStream;.write:([BII)V // method@0699 │ │ +029b80: 28f7 |0084: goto 007b // -0009 │ │ +029b82: 6e10 9506 0400 |0085: invoke-virtual {v4}, Ljava/util/zip/ZipOutputStream;.closeEntry:()V // method@0695 │ │ +029b88: 6e10 1605 0200 |0088: invoke-virtual {v2}, Ljava/io/FileInputStream;.close:()V // method@0516 │ │ +029b8e: 0e00 |008b: return-void │ │ catches : (none) │ │ positions : │ │ 0x0002 line=360 │ │ 0x000a line=364 │ │ 0x0010 line=365 │ │ 0x0016 line=366 │ │ 0x002e line=369 │ │ @@ -32730,18 +32730,18 @@ │ │ type : '(Ljava/net/InetSocketAddress;)V' │ │ access : 0x10001 (PUBLIC CONSTRUCTOR) │ │ code - │ │ registers : 3 │ │ ins : 2 │ │ outs : 3 │ │ insns size : 5 16-bit code units │ │ -02ab90: |[02ab90] util.conpool.HttpProxy.:(Ljava/net/InetSocketAddress;)V │ │ -02aba0: 1200 |0000: const/4 v0, #int 0 // #0 │ │ -02aba2: 7030 cb07 2100 |0001: invoke-direct {v1, v2, v0}, Lutil/conpool/HttpProxy;.:(Ljava/net/InetSocketAddress;Ljava/lang/String;)V // method@07cb │ │ -02aba8: 0e00 |0004: return-void │ │ +02ab8c: |[02ab8c] util.conpool.HttpProxy.:(Ljava/net/InetSocketAddress;)V │ │ +02ab9c: 1200 |0000: const/4 v0, #int 0 // #0 │ │ +02ab9e: 7030 cb07 2100 |0001: invoke-direct {v1, v2, v0}, Lutil/conpool/HttpProxy;.:(Ljava/net/InetSocketAddress;Ljava/lang/String;)V // method@07cb │ │ +02aba4: 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; │ │ │ │ @@ -32750,20 +32750,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 │ │ -02abac: |[02abac] util.conpool.HttpProxy.:(Ljava/net/InetSocketAddress;Ljava/lang/String;)V │ │ -02abbc: 6200 1a03 |0000: sget-object v0, Ljava/net/Proxy$Type;.HTTP:Ljava/net/Proxy$Type; // field@031a │ │ -02abc0: 7030 e405 0102 |0002: invoke-direct {v1, v0, v2}, Ljava/net/Proxy;.:(Ljava/net/Proxy$Type;Ljava/net/SocketAddress;)V // method@05e4 │ │ -02abc6: 5b12 9303 |0005: iput-object v2, v1, Lutil/conpool/HttpProxy;.proxyAdr:Ljava/net/InetSocketAddress; // field@0393 │ │ -02abca: 5b13 9203 |0007: iput-object v3, v1, Lutil/conpool/HttpProxy;.authString:Ljava/lang/String; // field@0392 │ │ -02abce: 0e00 |0009: return-void │ │ +02aba8: |[02aba8] util.conpool.HttpProxy.:(Ljava/net/InetSocketAddress;Ljava/lang/String;)V │ │ +02abb8: 6200 1a03 |0000: sget-object v0, Ljava/net/Proxy$Type;.HTTP:Ljava/net/Proxy$Type; // field@031a │ │ +02abbc: 7030 e405 0102 |0002: invoke-direct {v1, v0, v2}, Ljava/net/Proxy;.:(Ljava/net/Proxy$Type;Ljava/net/SocketAddress;)V // method@05e4 │ │ +02abc2: 5b12 9303 |0005: iput-object v2, v1, Lutil/conpool/HttpProxy;.proxyAdr:Ljava/net/InetSocketAddress; // field@0393 │ │ +02abc6: 5b13 9203 |0007: iput-object v3, v1, Lutil/conpool/HttpProxy;.authString:Ljava/lang/String; // field@0392 │ │ +02abca: 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; │ │ @@ -32776,19 +32776,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 │ │ -02a9c8: |[02a9c8] util.conpool.HttpProxy.openTunnel:(Ljava/net/InetSocketAddress;I)Ljava/net/Socket; │ │ -02a9d8: 1200 |0000: const/4 v0, #int 0 // #0 │ │ -02a9da: 6e40 cd07 2103 |0001: invoke-virtual {v1, v2, v3, v0}, Lutil/conpool/HttpProxy;.openTunnel:(Ljava/net/InetSocketAddress;IZ)Ljava/net/Socket; // method@07cd │ │ -02a9e0: 0c02 |0004: move-result-object v2 │ │ -02a9e2: 1102 |0005: return-object v2 │ │ +02a9c4: |[02a9c4] util.conpool.HttpProxy.openTunnel:(Ljava/net/InetSocketAddress;I)Ljava/net/Socket; │ │ +02a9d4: 1200 |0000: const/4 v0, #int 0 // #0 │ │ +02a9d6: 6e40 cd07 2103 |0001: invoke-virtual {v1, v2, v3, v0}, Lutil/conpool/HttpProxy;.openTunnel:(Ljava/net/InetSocketAddress;IZ)Ljava/net/Socket; // method@07cd │ │ +02a9dc: 0c02 |0004: move-result-object v2 │ │ +02a9de: 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 │ │ @@ -32798,111 +32798,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 │ │ -02a9e4: |[02a9e4] util.conpool.HttpProxy.openTunnel:(Ljava/net/InetSocketAddress;IZ)Ljava/net/Socket; │ │ -02a9f4: 6e10 dc05 0500 |0000: invoke-virtual {v5}, Ljava/net/InetSocketAddress;.getAddress:()Ljava/net/InetAddress; // method@05dc │ │ -02a9fa: 0c00 |0003: move-result-object v0 │ │ -02a9fc: 6e10 d605 0000 |0004: invoke-virtual {v0}, Ljava/net/InetAddress;.getHostAddress:()Ljava/lang/String; // method@05d6 │ │ -02aa02: 0c00 |0007: move-result-object v0 │ │ -02aa04: 1a01 6b00 |0008: const-string v1, "0.0.0.0" // string@006b │ │ -02aa08: 6e20 8d05 1000 |000a: invoke-virtual {v0, v1}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058d │ │ -02aa0e: 0a00 |000d: move-result v0 │ │ -02aa10: 3900 0b00 |000e: if-nez v0, 0019 // +000b │ │ -02aa14: 6e10 dc05 0500 |0010: invoke-virtual {v5}, Ljava/net/InetSocketAddress;.getAddress:()Ljava/net/InetAddress; // method@05dc │ │ -02aa1a: 0c00 |0013: move-result-object v0 │ │ -02aa1c: 6e10 d605 0000 |0014: invoke-virtual {v0}, Ljava/net/InetAddress;.getHostAddress:()Ljava/lang/String; // method@05d6 │ │ -02aa22: 0c00 |0017: move-result-object v0 │ │ -02aa24: 2805 |0018: goto 001d // +0005 │ │ -02aa26: 6e10 dd05 0500 |0019: invoke-virtual {v5}, Ljava/net/InetSocketAddress;.getHostName:()Ljava/lang/String; // method@05dd │ │ -02aa2c: 0c00 |001c: move-result-object v0 │ │ -02aa2e: 2201 9901 |001d: new-instance v1, Lutil/http/HttpHeader; // type@0199 │ │ -02aa32: 1212 |001f: const/4 v2, #int 1 // #1 │ │ -02aa34: 7020 f107 2100 |0020: invoke-direct {v1, v2}, Lutil/http/HttpHeader;.:(I)V // method@07f1 │ │ -02aa3a: 2202 2d01 |0023: new-instance v2, Ljava/lang/StringBuilder; // type@012d │ │ -02aa3e: 1a03 e000 |0025: const-string v3, "CONNECT " // string@00e0 │ │ -02aa42: 7020 aa05 3200 |0027: invoke-direct {v2, v3}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05aa │ │ -02aa48: 6e20 af05 0200 |002a: invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -02aa4e: 1a00 8100 |002d: const-string v0, ":" // string@0081 │ │ -02aa52: 6e20 af05 0200 |002f: invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -02aa58: 6e10 de05 0500 |0032: invoke-virtual {v5}, Ljava/net/InetSocketAddress;.getPort:()I // method@05de │ │ -02aa5e: 0a00 |0035: move-result v0 │ │ -02aa60: 6e20 ac05 0200 |0036: invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@05ac │ │ -02aa66: 1a00 1400 |0039: const-string v0, " HTTP/1.1" // string@0014 │ │ -02aa6a: 6e20 af05 0200 |003b: invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -02aa70: 6e10 b105 0200 |003e: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ -02aa76: 0c00 |0041: move-result-object v0 │ │ -02aa78: 6e20 0408 0100 |0042: invoke-virtual {v1, v0}, Lutil/http/HttpHeader;.setRequest:(Ljava/lang/String;)V // method@0804 │ │ -02aa7e: 5440 9203 |0045: iget-object v0, v4, Lutil/conpool/HttpProxy;.authString:Ljava/lang/String; // field@0392 │ │ -02aa82: 3800 0700 |0047: if-eqz v0, 004e // +0007 │ │ -02aa86: 1a02 1604 |0049: const-string v2, "Proxy-Authorization" // string@0416 │ │ -02aa8a: 6e30 0508 2100 |004b: invoke-virtual {v1, v2, v0}, Lutil/http/HttpHeader;.setValue:(Ljava/lang/String;Ljava/lang/String;)V // method@0805 │ │ -02aa90: 6e10 fd07 0100 |004e: invoke-virtual {v1}, Lutil/http/HttpHeader;.getServerRequestHeader:()Ljava/lang/String; // method@07fd │ │ -02aa96: 0c00 |0051: move-result-object v0 │ │ -02aa98: 2201 3801 |0052: new-instance v1, Ljava/net/InetSocketAddress; // type@0138 │ │ -02aa9c: 6e10 dd05 0500 |0054: invoke-virtual {v5}, Ljava/net/InetSocketAddress;.getHostName:()Ljava/lang/String; // method@05dd │ │ -02aaa2: 0c05 |0057: move-result-object v5 │ │ -02aaa4: 5442 9303 |0058: iget-object v2, v4, Lutil/conpool/HttpProxy;.proxyAdr:Ljava/net/InetSocketAddress; // field@0393 │ │ -02aaa8: 6e10 dc05 0200 |005a: invoke-virtual {v2}, Ljava/net/InetSocketAddress;.getAddress:()Ljava/net/InetAddress; // method@05dc │ │ -02aaae: 0c02 |005d: move-result-object v2 │ │ -02aab0: 6e10 d205 0200 |005e: invoke-virtual {v2}, Ljava/net/InetAddress;.getAddress:()[B // method@05d2 │ │ -02aab6: 0c02 |0061: move-result-object v2 │ │ -02aab8: 7120 d305 2500 |0062: invoke-static {v5, v2}, Ljava/net/InetAddress;.getByAddress:(Ljava/lang/String;[B)Ljava/net/InetAddress; // method@05d3 │ │ -02aabe: 0c05 |0065: move-result-object v5 │ │ -02aac0: 5442 9303 |0066: iget-object v2, v4, Lutil/conpool/HttpProxy;.proxyAdr:Ljava/net/InetSocketAddress; // field@0393 │ │ -02aac4: 6e10 de05 0200 |0068: invoke-virtual {v2}, Ljava/net/InetSocketAddress;.getPort:()I // method@05de │ │ -02aaca: 0a02 |006b: move-result v2 │ │ -02aacc: 7030 da05 5102 |006c: invoke-direct {v1, v5, v2}, Ljava/net/InetSocketAddress;.:(Ljava/net/InetAddress;I)V // method@05da │ │ -02aad2: 7100 1306 0000 |006f: invoke-static {}, Ljava/nio/channels/SocketChannel;.open:()Ljava/nio/channels/SocketChannel; // method@0613 │ │ -02aad8: 0c05 |0072: move-result-object v5 │ │ -02aada: 6e10 1406 0500 |0073: invoke-virtual {v5}, Ljava/nio/channels/SocketChannel;.socket:()Ljava/net/Socket; // method@0614 │ │ -02aae0: 0c05 |0076: move-result-object v5 │ │ -02aae2: 1202 |0077: const/4 v2, #int 0 // #0 │ │ -02aae4: 3807 0900 |0078: if-eqz v7, 0081 // +0009 │ │ -02aae8: 7100 d406 0000 |007a: invoke-static {}, Lutil/ExecutionEnvironment;.getEnvironment:()Lutil/ExecutionEnvironmentInterface; // method@06d4 │ │ -02aaee: 0c07 |007d: move-result-object v7 │ │ -02aaf0: 7230 e806 5702 |007e: invoke-interface {v7, v5, v2}, Lutil/ExecutionEnvironmentInterface;.protectSocket:(Ljava/lang/Object;I)Z // method@06e8 │ │ -02aaf6: 6e30 eb05 1506 |0081: invoke-virtual {v5, v1, v6}, Ljava/net/Socket;.connect:(Ljava/net/SocketAddress;I)V // method@05eb │ │ -02aafc: 6e20 ef05 6500 |0084: invoke-virtual {v5, v6}, Ljava/net/Socket;.setSoTimeout:(I)V // method@05ef │ │ -02ab02: 6e10 ed05 0500 |0087: invoke-virtual {v5}, Ljava/net/Socket;.getOutputStream:()Ljava/io/OutputStream; // method@05ed │ │ -02ab08: 0c06 |008a: move-result-object v6 │ │ -02ab0a: 6e10 8f05 0000 |008b: invoke-virtual {v0}, Ljava/lang/String;.getBytes:()[B // method@058f │ │ -02ab10: 0c07 |008e: move-result-object v7 │ │ -02ab12: 6e20 3805 7600 |008f: invoke-virtual {v6, v7}, Ljava/io/OutputStream;.write:([B)V // method@0538 │ │ -02ab18: 6e10 ed05 0500 |0092: invoke-virtual {v5}, Ljava/net/Socket;.getOutputStream:()Ljava/io/OutputStream; // method@05ed │ │ -02ab1e: 0c06 |0095: move-result-object v6 │ │ -02ab20: 6e10 3605 0600 |0096: invoke-virtual {v6}, Ljava/io/OutputStream;.flush:()V // method@0536 │ │ -02ab26: 2206 9901 |0099: new-instance v6, Lutil/http/HttpHeader; // type@0199 │ │ -02ab2a: 6e10 ec05 0500 |009b: invoke-virtual {v5}, Ljava/net/Socket;.getInputStream:()Ljava/io/InputStream; // method@05ec │ │ -02ab30: 0c07 |009e: move-result-object v7 │ │ -02ab32: 1220 |009f: const/4 v0, #int 2 // #2 │ │ -02ab34: 7030 f207 7600 |00a0: invoke-direct {v6, v7, v0}, Lutil/http/HttpHeader;.:(Ljava/io/InputStream;I)V // method@07f2 │ │ -02ab3a: 5267 ad03 |00a3: iget v7, v6, Lutil/http/HttpHeader;.responsecode:I // field@03ad │ │ -02ab3e: 1300 c800 |00a5: const/16 v0, #int 200 // #c8 │ │ -02ab42: 3307 0600 |00a7: if-ne v7, v0, 00ad // +0006 │ │ -02ab46: 6e20 ef05 2500 |00a9: invoke-virtual {v5, v2}, Ljava/net/Socket;.setSoTimeout:(I)V // method@05ef │ │ -02ab4c: 1105 |00ac: return-object v5 │ │ -02ab4e: 6e10 f005 0500 |00ad: invoke-virtual {v5}, Ljava/net/Socket;.shutdownInput:()V // method@05f0 │ │ -02ab54: 6e10 f105 0500 |00b0: invoke-virtual {v5}, Ljava/net/Socket;.shutdownOutput:()V // method@05f1 │ │ -02ab5a: 6e10 ea05 0500 |00b3: invoke-virtual {v5}, Ljava/net/Socket;.close:()V // method@05ea │ │ -02ab60: 2205 0001 |00b6: new-instance v5, Ljava/io/IOException; // type@0100 │ │ -02ab64: 2207 2d01 |00b8: new-instance v7, Ljava/lang/StringBuilder; // type@012d │ │ -02ab68: 1a00 1504 |00ba: const-string v0, "Proxy refused Tunnel │ │ +02a9e0: |[02a9e0] util.conpool.HttpProxy.openTunnel:(Ljava/net/InetSocketAddress;IZ)Ljava/net/Socket; │ │ +02a9f0: 6e10 dc05 0500 |0000: invoke-virtual {v5}, Ljava/net/InetSocketAddress;.getAddress:()Ljava/net/InetAddress; // method@05dc │ │ +02a9f6: 0c00 |0003: move-result-object v0 │ │ +02a9f8: 6e10 d605 0000 |0004: invoke-virtual {v0}, Ljava/net/InetAddress;.getHostAddress:()Ljava/lang/String; // method@05d6 │ │ +02a9fe: 0c00 |0007: move-result-object v0 │ │ +02aa00: 1a01 6b00 |0008: const-string v1, "0.0.0.0" // string@006b │ │ +02aa04: 6e20 8d05 1000 |000a: invoke-virtual {v0, v1}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058d │ │ +02aa0a: 0a00 |000d: move-result v0 │ │ +02aa0c: 3900 0b00 |000e: if-nez v0, 0019 // +000b │ │ +02aa10: 6e10 dc05 0500 |0010: invoke-virtual {v5}, Ljava/net/InetSocketAddress;.getAddress:()Ljava/net/InetAddress; // method@05dc │ │ +02aa16: 0c00 |0013: move-result-object v0 │ │ +02aa18: 6e10 d605 0000 |0014: invoke-virtual {v0}, Ljava/net/InetAddress;.getHostAddress:()Ljava/lang/String; // method@05d6 │ │ +02aa1e: 0c00 |0017: move-result-object v0 │ │ +02aa20: 2805 |0018: goto 001d // +0005 │ │ +02aa22: 6e10 dd05 0500 |0019: invoke-virtual {v5}, Ljava/net/InetSocketAddress;.getHostName:()Ljava/lang/String; // method@05dd │ │ +02aa28: 0c00 |001c: move-result-object v0 │ │ +02aa2a: 2201 9901 |001d: new-instance v1, Lutil/http/HttpHeader; // type@0199 │ │ +02aa2e: 1212 |001f: const/4 v2, #int 1 // #1 │ │ +02aa30: 7020 f107 2100 |0020: invoke-direct {v1, v2}, Lutil/http/HttpHeader;.:(I)V // method@07f1 │ │ +02aa36: 2202 2d01 |0023: new-instance v2, Ljava/lang/StringBuilder; // type@012d │ │ +02aa3a: 1a03 e000 |0025: const-string v3, "CONNECT " // string@00e0 │ │ +02aa3e: 7020 aa05 3200 |0027: invoke-direct {v2, v3}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05aa │ │ +02aa44: 6e20 af05 0200 |002a: invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +02aa4a: 1a00 8100 |002d: const-string v0, ":" // string@0081 │ │ +02aa4e: 6e20 af05 0200 |002f: invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +02aa54: 6e10 de05 0500 |0032: invoke-virtual {v5}, Ljava/net/InetSocketAddress;.getPort:()I // method@05de │ │ +02aa5a: 0a00 |0035: move-result v0 │ │ +02aa5c: 6e20 ac05 0200 |0036: invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@05ac │ │ +02aa62: 1a00 1400 |0039: const-string v0, " HTTP/1.1" // string@0014 │ │ +02aa66: 6e20 af05 0200 |003b: invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +02aa6c: 6e10 b105 0200 |003e: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ +02aa72: 0c00 |0041: move-result-object v0 │ │ +02aa74: 6e20 0408 0100 |0042: invoke-virtual {v1, v0}, Lutil/http/HttpHeader;.setRequest:(Ljava/lang/String;)V // method@0804 │ │ +02aa7a: 5440 9203 |0045: iget-object v0, v4, Lutil/conpool/HttpProxy;.authString:Ljava/lang/String; // field@0392 │ │ +02aa7e: 3800 0700 |0047: if-eqz v0, 004e // +0007 │ │ +02aa82: 1a02 1604 |0049: const-string v2, "Proxy-Authorization" // string@0416 │ │ +02aa86: 6e30 0508 2100 |004b: invoke-virtual {v1, v2, v0}, Lutil/http/HttpHeader;.setValue:(Ljava/lang/String;Ljava/lang/String;)V // method@0805 │ │ +02aa8c: 6e10 fd07 0100 |004e: invoke-virtual {v1}, Lutil/http/HttpHeader;.getServerRequestHeader:()Ljava/lang/String; // method@07fd │ │ +02aa92: 0c00 |0051: move-result-object v0 │ │ +02aa94: 2201 3801 |0052: new-instance v1, Ljava/net/InetSocketAddress; // type@0138 │ │ +02aa98: 6e10 dd05 0500 |0054: invoke-virtual {v5}, Ljava/net/InetSocketAddress;.getHostName:()Ljava/lang/String; // method@05dd │ │ +02aa9e: 0c05 |0057: move-result-object v5 │ │ +02aaa0: 5442 9303 |0058: iget-object v2, v4, Lutil/conpool/HttpProxy;.proxyAdr:Ljava/net/InetSocketAddress; // field@0393 │ │ +02aaa4: 6e10 dc05 0200 |005a: invoke-virtual {v2}, Ljava/net/InetSocketAddress;.getAddress:()Ljava/net/InetAddress; // method@05dc │ │ +02aaaa: 0c02 |005d: move-result-object v2 │ │ +02aaac: 6e10 d205 0200 |005e: invoke-virtual {v2}, Ljava/net/InetAddress;.getAddress:()[B // method@05d2 │ │ +02aab2: 0c02 |0061: move-result-object v2 │ │ +02aab4: 7120 d305 2500 |0062: invoke-static {v5, v2}, Ljava/net/InetAddress;.getByAddress:(Ljava/lang/String;[B)Ljava/net/InetAddress; // method@05d3 │ │ +02aaba: 0c05 |0065: move-result-object v5 │ │ +02aabc: 5442 9303 |0066: iget-object v2, v4, Lutil/conpool/HttpProxy;.proxyAdr:Ljava/net/InetSocketAddress; // field@0393 │ │ +02aac0: 6e10 de05 0200 |0068: invoke-virtual {v2}, Ljava/net/InetSocketAddress;.getPort:()I // method@05de │ │ +02aac6: 0a02 |006b: move-result v2 │ │ +02aac8: 7030 da05 5102 |006c: invoke-direct {v1, v5, v2}, Ljava/net/InetSocketAddress;.:(Ljava/net/InetAddress;I)V // method@05da │ │ +02aace: 7100 1306 0000 |006f: invoke-static {}, Ljava/nio/channels/SocketChannel;.open:()Ljava/nio/channels/SocketChannel; // method@0613 │ │ +02aad4: 0c05 |0072: move-result-object v5 │ │ +02aad6: 6e10 1406 0500 |0073: invoke-virtual {v5}, Ljava/nio/channels/SocketChannel;.socket:()Ljava/net/Socket; // method@0614 │ │ +02aadc: 0c05 |0076: move-result-object v5 │ │ +02aade: 1202 |0077: const/4 v2, #int 0 // #0 │ │ +02aae0: 3807 0900 |0078: if-eqz v7, 0081 // +0009 │ │ +02aae4: 7100 d406 0000 |007a: invoke-static {}, Lutil/ExecutionEnvironment;.getEnvironment:()Lutil/ExecutionEnvironmentInterface; // method@06d4 │ │ +02aaea: 0c07 |007d: move-result-object v7 │ │ +02aaec: 7230 e806 5702 |007e: invoke-interface {v7, v5, v2}, Lutil/ExecutionEnvironmentInterface;.protectSocket:(Ljava/lang/Object;I)Z // method@06e8 │ │ +02aaf2: 6e30 eb05 1506 |0081: invoke-virtual {v5, v1, v6}, Ljava/net/Socket;.connect:(Ljava/net/SocketAddress;I)V // method@05eb │ │ +02aaf8: 6e20 ef05 6500 |0084: invoke-virtual {v5, v6}, Ljava/net/Socket;.setSoTimeout:(I)V // method@05ef │ │ +02aafe: 6e10 ed05 0500 |0087: invoke-virtual {v5}, Ljava/net/Socket;.getOutputStream:()Ljava/io/OutputStream; // method@05ed │ │ +02ab04: 0c06 |008a: move-result-object v6 │ │ +02ab06: 6e10 8f05 0000 |008b: invoke-virtual {v0}, Ljava/lang/String;.getBytes:()[B // method@058f │ │ +02ab0c: 0c07 |008e: move-result-object v7 │ │ +02ab0e: 6e20 3805 7600 |008f: invoke-virtual {v6, v7}, Ljava/io/OutputStream;.write:([B)V // method@0538 │ │ +02ab14: 6e10 ed05 0500 |0092: invoke-virtual {v5}, Ljava/net/Socket;.getOutputStream:()Ljava/io/OutputStream; // method@05ed │ │ +02ab1a: 0c06 |0095: move-result-object v6 │ │ +02ab1c: 6e10 3605 0600 |0096: invoke-virtual {v6}, Ljava/io/OutputStream;.flush:()V // method@0536 │ │ +02ab22: 2206 9901 |0099: new-instance v6, Lutil/http/HttpHeader; // type@0199 │ │ +02ab26: 6e10 ec05 0500 |009b: invoke-virtual {v5}, Ljava/net/Socket;.getInputStream:()Ljava/io/InputStream; // method@05ec │ │ +02ab2c: 0c07 |009e: move-result-object v7 │ │ +02ab2e: 1220 |009f: const/4 v0, #int 2 // #2 │ │ +02ab30: 7030 f207 7600 |00a0: invoke-direct {v6, v7, v0}, Lutil/http/HttpHeader;.:(Ljava/io/InputStream;I)V // method@07f2 │ │ +02ab36: 5267 ad03 |00a3: iget v7, v6, Lutil/http/HttpHeader;.responsecode:I // field@03ad │ │ +02ab3a: 1300 c800 |00a5: const/16 v0, #int 200 // #c8 │ │ +02ab3e: 3307 0600 |00a7: if-ne v7, v0, 00ad // +0006 │ │ +02ab42: 6e20 ef05 2500 |00a9: invoke-virtual {v5, v2}, Ljava/net/Socket;.setSoTimeout:(I)V // method@05ef │ │ +02ab48: 1105 |00ac: return-object v5 │ │ +02ab4a: 6e10 f005 0500 |00ad: invoke-virtual {v5}, Ljava/net/Socket;.shutdownInput:()V // method@05f0 │ │ +02ab50: 6e10 f105 0500 |00b0: invoke-virtual {v5}, Ljava/net/Socket;.shutdownOutput:()V // method@05f1 │ │ +02ab56: 6e10 ea05 0500 |00b3: invoke-virtual {v5}, Ljava/net/Socket;.close:()V // method@05ea │ │ +02ab5c: 2205 0001 |00b6: new-instance v5, Ljava/io/IOException; // type@0100 │ │ +02ab60: 2207 2d01 |00b8: new-instance v7, Ljava/lang/StringBuilder; // type@012d │ │ +02ab64: 1a00 1504 |00ba: const-string v0, "Proxy refused Tunnel │ │ " // string@0415 │ │ -02ab6c: 7020 aa05 0700 |00bc: invoke-direct {v7, v0}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05aa │ │ -02ab72: 6e10 fc07 0600 |00bf: invoke-virtual {v6}, Lutil/http/HttpHeader;.getResponseMessage:()Ljava/lang/String; // method@07fc │ │ -02ab78: 0c06 |00c2: move-result-object v6 │ │ -02ab7a: 6e20 af05 6700 |00c3: invoke-virtual {v7, v6}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -02ab80: 6e10 b105 0700 |00c6: invoke-virtual {v7}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ -02ab86: 0c06 |00c9: move-result-object v6 │ │ -02ab88: 7020 2105 6500 |00ca: invoke-direct {v5, v6}, Ljava/io/IOException;.:(Ljava/lang/String;)V // method@0521 │ │ -02ab8e: 2705 |00cd: throw v5 │ │ +02ab68: 7020 aa05 0700 |00bc: invoke-direct {v7, v0}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05aa │ │ +02ab6e: 6e10 fc07 0600 |00bf: invoke-virtual {v6}, Lutil/http/HttpHeader;.getResponseMessage:()Ljava/lang/String; // method@07fc │ │ +02ab74: 0c06 |00c2: move-result-object v6 │ │ +02ab76: 6e20 af05 6700 |00c3: invoke-virtual {v7, v6}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +02ab7c: 6e10 b105 0700 |00c6: invoke-virtual {v7}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ +02ab82: 0c06 |00c9: move-result-object v6 │ │ +02ab84: 7020 2105 6500 |00ca: invoke-direct {v5, v6}, Ljava/io/IOException;.:(Ljava/lang/String;)V // method@0521 │ │ +02ab8a: 2705 |00cd: throw v5 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=57 │ │ 0x0010 line=58 │ │ 0x0019 line=60 │ │ 0x001d line=62 │ │ 0x0023 line=63 │ │ @@ -32934,17 +32934,17 @@ │ │ type : '(Ljava/lang/String;)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 2 │ │ outs : 0 │ │ insns size : 3 16-bit code units │ │ -02abd0: |[02abd0] util.conpool.HttpProxy.setProxyAuth:(Ljava/lang/String;)V │ │ -02abe0: 5b01 9203 |0000: iput-object v1, v0, Lutil/conpool/HttpProxy;.authString:Ljava/lang/String; // field@0392 │ │ -02abe4: 0e00 |0002: return-void │ │ +02abcc: |[02abcc] util.conpool.HttpProxy.setProxyAuth:(Ljava/lang/String;)V │ │ +02abdc: 5b01 9203 |0000: iput-object v1, v0, Lutil/conpool/HttpProxy;.authString:Ljava/lang/String; // field@0392 │ │ +02abe0: 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; │ │ │ │ @@ -32995,22 +32995,22 @@ │ │ type : '(Ljava/io/InputStream;)V' │ │ access : 0x10001 (PUBLIC CONSTRUCTOR) │ │ code - │ │ registers : 4 │ │ ins : 2 │ │ outs : 1 │ │ insns size : 13 16-bit code units │ │ -02ace0: |[02ace0] util.conpool.PooledConnectionInputStream.:(Ljava/io/InputStream;)V │ │ -02acf0: 7010 2705 0200 |0000: invoke-direct {v2}, Ljava/io/InputStream;.:()V // method@0527 │ │ -02acf6: 1210 |0003: const/4 v0, #int 1 // #1 │ │ -02acf8: 5c20 9603 |0004: iput-boolean v0, v2, Lutil/conpool/PooledConnectionInputStream;.valid:Z // field@0396 │ │ -02acfc: 1600 0000 |0006: const-wide/16 v0, #int 0 // #0 │ │ -02ad00: 5a20 9503 |0008: iput-wide v0, v2, Lutil/conpool/PooledConnectionInputStream;.traffic:J // field@0395 │ │ -02ad04: 5b23 9403 |000a: iput-object v3, v2, Lutil/conpool/PooledConnectionInputStream;.in:Ljava/io/InputStream; // field@0394 │ │ -02ad08: 0e00 |000c: return-void │ │ +02acdc: |[02acdc] util.conpool.PooledConnectionInputStream.:(Ljava/io/InputStream;)V │ │ +02acec: 7010 2705 0200 |0000: invoke-direct {v2}, Ljava/io/InputStream;.:()V // method@0527 │ │ +02acf2: 1210 |0003: const/4 v0, #int 1 // #1 │ │ +02acf4: 5c20 9603 |0004: iput-boolean v0, v2, Lutil/conpool/PooledConnectionInputStream;.valid:Z // field@0396 │ │ +02acf8: 1600 0000 |0006: const-wide/16 v0, #int 0 // #0 │ │ +02acfc: 5a20 9503 |0008: iput-wide v0, v2, Lutil/conpool/PooledConnectionInputStream;.traffic:J // field@0395 │ │ +02ad00: 5b23 9403 |000a: iput-object v3, v2, Lutil/conpool/PooledConnectionInputStream;.in:Ljava/io/InputStream; // field@0394 │ │ +02ad04: 0e00 |000c: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=34 │ │ 0x0004 line=31 │ │ 0x0008 line=32 │ │ 0x000a line=35 │ │ locals : │ │ @@ -33023,32 +33023,32 @@ │ │ type : '()V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 1 │ │ ins : 1 │ │ outs : 0 │ │ insns size : 1 16-bit code units │ │ -02ad0c: |[02ad0c] util.conpool.PooledConnectionInputStream.close:()V │ │ -02ad1c: 0e00 |0000: return-void │ │ +02ad08: |[02ad08] util.conpool.PooledConnectionInputStream.close:()V │ │ +02ad18: 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 │ │ -02acc8: |[02acc8] util.conpool.PooledConnectionInputStream.getTraffic:()J │ │ -02acd8: 5320 9503 |0000: iget-wide v0, v2, Lutil/conpool/PooledConnectionInputStream;.traffic:J // field@0395 │ │ -02acdc: 1000 |0002: return-wide v0 │ │ +02acc4: |[02acc4] util.conpool.PooledConnectionInputStream.getTraffic:()J │ │ +02acd4: 5320 9503 |0000: iget-wide v0, v2, Lutil/conpool/PooledConnectionInputStream;.traffic:J // field@0395 │ │ +02acd8: 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;) │ │ @@ -33056,18 +33056,18 @@ │ │ type : '()V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 0 │ │ insns size : 4 16-bit code units │ │ -02ad20: |[02ad20] util.conpool.PooledConnectionInputStream.invalidate:()V │ │ -02ad30: 1200 |0000: const/4 v0, #int 0 // #0 │ │ -02ad32: 5c10 9603 |0001: iput-boolean v0, v1, Lutil/conpool/PooledConnectionInputStream;.valid:Z // field@0396 │ │ -02ad36: 0e00 |0003: return-void │ │ +02ad1c: |[02ad1c] util.conpool.PooledConnectionInputStream.invalidate:()V │ │ +02ad2c: 1200 |0000: const/4 v0, #int 0 // #0 │ │ +02ad2e: 5c10 9603 |0001: iput-boolean v0, v1, Lutil/conpool/PooledConnectionInputStream;.valid:Z // field@0396 │ │ +02ad32: 0e00 |0003: return-void │ │ catches : (none) │ │ positions : │ │ 0x0001 line=39 │ │ locals : │ │ 0x0000 - 0x0004 reg=1 this Lutil/conpool/PooledConnectionInputStream; │ │ │ │ #3 : (in Lutil/conpool/PooledConnectionInputStream;) │ │ @@ -33075,36 +33075,36 @@ │ │ type : '()I' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 6 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 41 16-bit code units │ │ -02abe8: |[02abe8] util.conpool.PooledConnectionInputStream.read:()I │ │ -02abf8: 5450 9403 |0000: iget-object v0, v5, Lutil/conpool/PooledConnectionInputStream;.in:Ljava/io/InputStream; // field@0394 │ │ -02abfc: 6e10 2a05 0000 |0002: invoke-virtual {v0}, Ljava/io/InputStream;.read:()I // method@052a │ │ -02ac02: 0a00 |0005: move-result v0 │ │ -02ac04: 5551 9603 |0006: iget-boolean v1, v5, Lutil/conpool/PooledConnectionInputStream;.valid:Z // field@0396 │ │ -02ac08: 3801 0d00 |0008: if-eqz v1, 0015 // +000d │ │ -02ac0c: 12f1 |000a: const/4 v1, #int -1 // #ff │ │ -02ac0e: 3210 0900 |000b: if-eq v0, v1, 0014 // +0009 │ │ -02ac12: 5351 9503 |000d: iget-wide v1, v5, Lutil/conpool/PooledConnectionInputStream;.traffic:J // field@0395 │ │ -02ac16: 1603 0100 |000f: const-wide/16 v3, #int 1 // #1 │ │ -02ac1a: bb31 |0011: add-long/2addr v1, v3 │ │ -02ac1c: 5a51 9503 |0012: iput-wide v1, v5, Lutil/conpool/PooledConnectionInputStream;.traffic:J // field@0395 │ │ -02ac20: 0f00 |0014: return v0 │ │ -02ac22: 2200 1d01 |0015: new-instance v0, Ljava/lang/IllegalStateException; // type@011d │ │ -02ac26: 2201 2d01 |0017: new-instance v1, Ljava/lang/StringBuilder; // type@012d │ │ -02ac2a: 1a02 fa01 |0019: const-string v2, "Invalid:" // string@01fa │ │ -02ac2e: 7020 aa05 2100 |001b: invoke-direct {v1, v2}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05aa │ │ -02ac34: 6e20 ae05 5100 |001e: invoke-virtual {v1, v5}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@05ae │ │ -02ac3a: 6e10 b105 0100 |0021: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ -02ac40: 0c01 |0024: move-result-object v1 │ │ -02ac42: 7020 6305 1000 |0025: invoke-direct {v0, v1}, Ljava/lang/IllegalStateException;.:(Ljava/lang/String;)V // method@0563 │ │ -02ac48: 2700 |0028: throw v0 │ │ +02abe4: |[02abe4] util.conpool.PooledConnectionInputStream.read:()I │ │ +02abf4: 5450 9403 |0000: iget-object v0, v5, Lutil/conpool/PooledConnectionInputStream;.in:Ljava/io/InputStream; // field@0394 │ │ +02abf8: 6e10 2a05 0000 |0002: invoke-virtual {v0}, Ljava/io/InputStream;.read:()I // method@052a │ │ +02abfe: 0a00 |0005: move-result v0 │ │ +02ac00: 5551 9603 |0006: iget-boolean v1, v5, Lutil/conpool/PooledConnectionInputStream;.valid:Z // field@0396 │ │ +02ac04: 3801 0d00 |0008: if-eqz v1, 0015 // +000d │ │ +02ac08: 12f1 |000a: const/4 v1, #int -1 // #ff │ │ +02ac0a: 3210 0900 |000b: if-eq v0, v1, 0014 // +0009 │ │ +02ac0e: 5351 9503 |000d: iget-wide v1, v5, Lutil/conpool/PooledConnectionInputStream;.traffic:J // field@0395 │ │ +02ac12: 1603 0100 |000f: const-wide/16 v3, #int 1 // #1 │ │ +02ac16: bb31 |0011: add-long/2addr v1, v3 │ │ +02ac18: 5a51 9503 |0012: iput-wide v1, v5, Lutil/conpool/PooledConnectionInputStream;.traffic:J // field@0395 │ │ +02ac1c: 0f00 |0014: return v0 │ │ +02ac1e: 2200 1d01 |0015: new-instance v0, Ljava/lang/IllegalStateException; // type@011d │ │ +02ac22: 2201 2d01 |0017: new-instance v1, Ljava/lang/StringBuilder; // type@012d │ │ +02ac26: 1a02 fa01 |0019: const-string v2, "Invalid:" // string@01fa │ │ +02ac2a: 7020 aa05 2100 |001b: invoke-direct {v1, v2}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05aa │ │ +02ac30: 6e20 ae05 5100 |001e: invoke-virtual {v1, v5}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@05ae │ │ +02ac36: 6e10 b105 0100 |0021: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ +02ac3c: 0c01 |0024: move-result-object v1 │ │ +02ac3e: 7020 6305 1000 |0025: invoke-direct {v0, v1}, Ljava/lang/IllegalStateException;.:(Ljava/lang/String;)V // method@0563 │ │ +02ac44: 2700 |0028: throw v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=44 │ │ 0x0006 line=45 │ │ 0x000d line=49 │ │ 0x0015 line=46 │ │ locals : │ │ @@ -33115,20 +33115,20 @@ │ │ type : '([B)I' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 4 │ │ ins : 2 │ │ outs : 4 │ │ insns size : 7 16-bit code units │ │ -02ac4c: |[02ac4c] util.conpool.PooledConnectionInputStream.read:([B)I │ │ -02ac5c: 1200 |0000: const/4 v0, #int 0 // #0 │ │ -02ac5e: 2131 |0001: array-length v1, v3 │ │ -02ac60: 6e40 d507 3210 |0002: invoke-virtual {v2, v3, v0, v1}, Lutil/conpool/PooledConnectionInputStream;.read:([BII)I // method@07d5 │ │ -02ac66: 0a03 |0005: move-result v3 │ │ -02ac68: 0f03 |0006: return v3 │ │ +02ac48: |[02ac48] util.conpool.PooledConnectionInputStream.read:([B)I │ │ +02ac58: 1200 |0000: const/4 v0, #int 0 // #0 │ │ +02ac5a: 2131 |0001: array-length v1, v3 │ │ +02ac5c: 6e40 d507 3210 |0002: invoke-virtual {v2, v3, v0, v1}, Lutil/conpool/PooledConnectionInputStream;.read:([BII)I // method@07d5 │ │ +02ac62: 0a03 |0005: move-result v3 │ │ +02ac64: 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 │ │ │ │ @@ -33137,34 +33137,34 @@ │ │ type : '([BII)I' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 6 │ │ ins : 4 │ │ outs : 4 │ │ insns size : 37 16-bit code units │ │ -02ac6c: |[02ac6c] util.conpool.PooledConnectionInputStream.read:([BII)I │ │ -02ac7c: 5420 9403 |0000: iget-object v0, v2, Lutil/conpool/PooledConnectionInputStream;.in:Ljava/io/InputStream; // field@0394 │ │ -02ac80: 6e40 2c05 3054 |0002: invoke-virtual {v0, v3, v4, v5}, Ljava/io/InputStream;.read:([BII)I // method@052c │ │ -02ac86: 0a03 |0005: move-result v3 │ │ -02ac88: 5524 9603 |0006: iget-boolean v4, v2, Lutil/conpool/PooledConnectionInputStream;.valid:Z // field@0396 │ │ -02ac8c: 3804 0900 |0008: if-eqz v4, 0011 // +0009 │ │ -02ac90: 5324 9503 |000a: iget-wide v4, v2, Lutil/conpool/PooledConnectionInputStream;.traffic:J // field@0395 │ │ -02ac94: 8130 |000c: int-to-long v0, v3 │ │ -02ac96: bb04 |000d: add-long/2addr v4, v0 │ │ -02ac98: 5a24 9503 |000e: iput-wide v4, v2, Lutil/conpool/PooledConnectionInputStream;.traffic:J // field@0395 │ │ -02ac9c: 0f03 |0010: return v3 │ │ -02ac9e: 2203 1d01 |0011: new-instance v3, Ljava/lang/IllegalStateException; // type@011d │ │ -02aca2: 2204 2d01 |0013: new-instance v4, Ljava/lang/StringBuilder; // type@012d │ │ -02aca6: 1a05 fa01 |0015: const-string v5, "Invalid:" // string@01fa │ │ -02acaa: 7020 aa05 5400 |0017: invoke-direct {v4, v5}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05aa │ │ -02acb0: 6e20 ae05 2400 |001a: invoke-virtual {v4, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@05ae │ │ -02acb6: 6e10 b105 0400 |001d: invoke-virtual {v4}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ -02acbc: 0c04 |0020: move-result-object v4 │ │ -02acbe: 7020 6305 4300 |0021: invoke-direct {v3, v4}, Ljava/lang/IllegalStateException;.:(Ljava/lang/String;)V // method@0563 │ │ -02acc4: 2703 |0024: throw v3 │ │ +02ac68: |[02ac68] util.conpool.PooledConnectionInputStream.read:([BII)I │ │ +02ac78: 5420 9403 |0000: iget-object v0, v2, Lutil/conpool/PooledConnectionInputStream;.in:Ljava/io/InputStream; // field@0394 │ │ +02ac7c: 6e40 2c05 3054 |0002: invoke-virtual {v0, v3, v4, v5}, Ljava/io/InputStream;.read:([BII)I // method@052c │ │ +02ac82: 0a03 |0005: move-result v3 │ │ +02ac84: 5524 9603 |0006: iget-boolean v4, v2, Lutil/conpool/PooledConnectionInputStream;.valid:Z // field@0396 │ │ +02ac88: 3804 0900 |0008: if-eqz v4, 0011 // +0009 │ │ +02ac8c: 5324 9503 |000a: iget-wide v4, v2, Lutil/conpool/PooledConnectionInputStream;.traffic:J // field@0395 │ │ +02ac90: 8130 |000c: int-to-long v0, v3 │ │ +02ac92: bb04 |000d: add-long/2addr v4, v0 │ │ +02ac94: 5a24 9503 |000e: iput-wide v4, v2, Lutil/conpool/PooledConnectionInputStream;.traffic:J // field@0395 │ │ +02ac98: 0f03 |0010: return v3 │ │ +02ac9a: 2203 1d01 |0011: new-instance v3, Ljava/lang/IllegalStateException; // type@011d │ │ +02ac9e: 2204 2d01 |0013: new-instance v4, Ljava/lang/StringBuilder; // type@012d │ │ +02aca2: 1a05 fa01 |0015: const-string v5, "Invalid:" // string@01fa │ │ +02aca6: 7020 aa05 5400 |0017: invoke-direct {v4, v5}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05aa │ │ +02acac: 6e20 ae05 2400 |001a: invoke-virtual {v4, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@05ae │ │ +02acb2: 6e10 b105 0400 |001d: invoke-virtual {v4}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ +02acb8: 0c04 |0020: move-result-object v4 │ │ +02acba: 7020 6305 4300 |0021: invoke-direct {v3, v4}, Ljava/lang/IllegalStateException;.:(Ljava/lang/String;)V // method@0563 │ │ +02acc0: 2703 |0024: throw v3 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=61 │ │ 0x0006 line=62 │ │ 0x000a line=65 │ │ 0x0011 line=63 │ │ locals : │ │ @@ -33222,22 +33222,22 @@ │ │ type : '(Ljava/io/OutputStream;)V' │ │ access : 0x10001 (PUBLIC CONSTRUCTOR) │ │ code - │ │ registers : 4 │ │ ins : 2 │ │ outs : 1 │ │ insns size : 13 16-bit code units │ │ -02ad50: |[02ad50] util.conpool.PooledConnectionOutputStream.:(Ljava/io/OutputStream;)V │ │ -02ad60: 7010 3405 0200 |0000: invoke-direct {v2}, Ljava/io/OutputStream;.:()V // method@0534 │ │ -02ad66: 1210 |0003: const/4 v0, #int 1 // #1 │ │ -02ad68: 5c20 9903 |0004: iput-boolean v0, v2, Lutil/conpool/PooledConnectionOutputStream;.valid:Z // field@0399 │ │ -02ad6c: 1600 0000 |0006: const-wide/16 v0, #int 0 // #0 │ │ -02ad70: 5a20 9803 |0008: iput-wide v0, v2, Lutil/conpool/PooledConnectionOutputStream;.traffic:J // field@0398 │ │ -02ad74: 5b23 9703 |000a: iput-object v3, v2, Lutil/conpool/PooledConnectionOutputStream;.out:Ljava/io/OutputStream; // field@0397 │ │ -02ad78: 0e00 |000c: return-void │ │ +02ad4c: |[02ad4c] util.conpool.PooledConnectionOutputStream.:(Ljava/io/OutputStream;)V │ │ +02ad5c: 7010 3405 0200 |0000: invoke-direct {v2}, Ljava/io/OutputStream;.:()V // method@0534 │ │ +02ad62: 1210 |0003: const/4 v0, #int 1 // #1 │ │ +02ad64: 5c20 9903 |0004: iput-boolean v0, v2, Lutil/conpool/PooledConnectionOutputStream;.valid:Z // field@0399 │ │ +02ad68: 1600 0000 |0006: const-wide/16 v0, #int 0 // #0 │ │ +02ad6c: 5a20 9803 |0008: iput-wide v0, v2, Lutil/conpool/PooledConnectionOutputStream;.traffic:J // field@0398 │ │ +02ad70: 5b23 9703 |000a: iput-object v3, v2, Lutil/conpool/PooledConnectionOutputStream;.out:Ljava/io/OutputStream; // field@0397 │ │ +02ad74: 0e00 |000c: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=33 │ │ 0x0004 line=30 │ │ 0x0008 line=31 │ │ 0x000a line=34 │ │ locals : │ │ @@ -33250,44 +33250,44 @@ │ │ type : '()V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 1 │ │ ins : 1 │ │ outs : 0 │ │ insns size : 1 16-bit code units │ │ -02ad7c: |[02ad7c] util.conpool.PooledConnectionOutputStream.close:()V │ │ -02ad8c: 0e00 |0000: return-void │ │ +02ad78: |[02ad78] util.conpool.PooledConnectionOutputStream.close:()V │ │ +02ad88: 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 │ │ -02ad90: |[02ad90] util.conpool.PooledConnectionOutputStream.flush:()V │ │ -02ada0: 5430 9703 |0000: iget-object v0, v3, Lutil/conpool/PooledConnectionOutputStream;.out:Ljava/io/OutputStream; // field@0397 │ │ -02ada4: 6e10 3605 0000 |0002: invoke-virtual {v0}, Ljava/io/OutputStream;.flush:()V // method@0536 │ │ -02adaa: 5530 9903 |0005: iget-boolean v0, v3, Lutil/conpool/PooledConnectionOutputStream;.valid:Z // field@0399 │ │ -02adae: 3800 0300 |0007: if-eqz v0, 000a // +0003 │ │ -02adb2: 0e00 |0009: return-void │ │ -02adb4: 2200 1d01 |000a: new-instance v0, Ljava/lang/IllegalStateException; // type@011d │ │ -02adb8: 2201 2d01 |000c: new-instance v1, Ljava/lang/StringBuilder; // type@012d │ │ -02adbc: 1a02 fa01 |000e: const-string v2, "Invalid:" // string@01fa │ │ -02adc0: 7020 aa05 2100 |0010: invoke-direct {v1, v2}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05aa │ │ -02adc6: 6e20 ae05 3100 |0013: invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@05ae │ │ -02adcc: 6e10 b105 0100 |0016: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ -02add2: 0c01 |0019: move-result-object v1 │ │ -02add4: 7020 6305 1000 |001a: invoke-direct {v0, v1}, Ljava/lang/IllegalStateException;.:(Ljava/lang/String;)V // method@0563 │ │ -02adda: 2700 |001d: throw v0 │ │ +02ad8c: |[02ad8c] util.conpool.PooledConnectionOutputStream.flush:()V │ │ +02ad9c: 5430 9703 |0000: iget-object v0, v3, Lutil/conpool/PooledConnectionOutputStream;.out:Ljava/io/OutputStream; // field@0397 │ │ +02ada0: 6e10 3605 0000 |0002: invoke-virtual {v0}, Ljava/io/OutputStream;.flush:()V // method@0536 │ │ +02ada6: 5530 9903 |0005: iget-boolean v0, v3, Lutil/conpool/PooledConnectionOutputStream;.valid:Z // field@0399 │ │ +02adaa: 3800 0300 |0007: if-eqz v0, 000a // +0003 │ │ +02adae: 0e00 |0009: return-void │ │ +02adb0: 2200 1d01 |000a: new-instance v0, Ljava/lang/IllegalStateException; // type@011d │ │ +02adb4: 2201 2d01 |000c: new-instance v1, Ljava/lang/StringBuilder; // type@012d │ │ +02adb8: 1a02 fa01 |000e: const-string v2, "Invalid:" // string@01fa │ │ +02adbc: 7020 aa05 2100 |0010: invoke-direct {v1, v2}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05aa │ │ +02adc2: 6e20 ae05 3100 |0013: invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@05ae │ │ +02adc8: 6e10 b105 0100 |0016: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ +02adce: 0c01 |0019: move-result-object v1 │ │ +02add0: 7020 6305 1000 |001a: invoke-direct {v0, v1}, Ljava/lang/IllegalStateException;.:(Ljava/lang/String;)V // method@0563 │ │ +02add6: 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; │ │ @@ -33297,17 +33297,17 @@ │ │ type : '()J' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 3 │ │ ins : 1 │ │ outs : 0 │ │ insns size : 3 16-bit code units │ │ -02ad38: |[02ad38] util.conpool.PooledConnectionOutputStream.getTraffic:()J │ │ -02ad48: 5320 9803 |0000: iget-wide v0, v2, Lutil/conpool/PooledConnectionOutputStream;.traffic:J // field@0398 │ │ -02ad4c: 1000 |0002: return-wide v0 │ │ +02ad34: |[02ad34] util.conpool.PooledConnectionOutputStream.getTraffic:()J │ │ +02ad44: 5320 9803 |0000: iget-wide v0, v2, Lutil/conpool/PooledConnectionOutputStream;.traffic:J // field@0398 │ │ +02ad48: 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;) │ │ @@ -33315,18 +33315,18 @@ │ │ type : '()V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 0 │ │ insns size : 4 16-bit code units │ │ -02addc: |[02addc] util.conpool.PooledConnectionOutputStream.invalidate:()V │ │ -02adec: 1200 |0000: const/4 v0, #int 0 // #0 │ │ -02adee: 5c10 9903 |0001: iput-boolean v0, v1, Lutil/conpool/PooledConnectionOutputStream;.valid:Z // field@0399 │ │ -02adf2: 0e00 |0003: return-void │ │ +02add8: |[02add8] util.conpool.PooledConnectionOutputStream.invalidate:()V │ │ +02ade8: 1200 |0000: const/4 v0, #int 0 // #0 │ │ +02adea: 5c10 9903 |0001: iput-boolean v0, v1, Lutil/conpool/PooledConnectionOutputStream;.valid:Z // field@0399 │ │ +02adee: 0e00 |0003: return-void │ │ catches : (none) │ │ positions : │ │ 0x0001 line=38 │ │ locals : │ │ 0x0000 - 0x0004 reg=1 this Lutil/conpool/PooledConnectionOutputStream; │ │ │ │ #4 : (in Lutil/conpool/PooledConnectionOutputStream;) │ │ @@ -33334,33 +33334,33 @@ │ │ type : '(I)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 6 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 37 16-bit code units │ │ -02aea8: |[02aea8] util.conpool.PooledConnectionOutputStream.write:(I)V │ │ -02aeb8: 5440 9703 |0000: iget-object v0, v4, Lutil/conpool/PooledConnectionOutputStream;.out:Ljava/io/OutputStream; // field@0397 │ │ -02aebc: 6e20 3705 5000 |0002: invoke-virtual {v0, v5}, Ljava/io/OutputStream;.write:(I)V // method@0537 │ │ -02aec2: 5340 9803 |0005: iget-wide v0, v4, Lutil/conpool/PooledConnectionOutputStream;.traffic:J // field@0398 │ │ -02aec6: 1602 0100 |0007: const-wide/16 v2, #int 1 // #1 │ │ -02aeca: bb20 |0009: add-long/2addr v0, v2 │ │ -02aecc: 5a40 9803 |000a: iput-wide v0, v4, Lutil/conpool/PooledConnectionOutputStream;.traffic:J // field@0398 │ │ -02aed0: 5545 9903 |000c: iget-boolean v5, v4, Lutil/conpool/PooledConnectionOutputStream;.valid:Z // field@0399 │ │ -02aed4: 3805 0300 |000e: if-eqz v5, 0011 // +0003 │ │ -02aed8: 0e00 |0010: return-void │ │ -02aeda: 2205 1d01 |0011: new-instance v5, Ljava/lang/IllegalStateException; // type@011d │ │ -02aede: 2200 2d01 |0013: new-instance v0, Ljava/lang/StringBuilder; // type@012d │ │ -02aee2: 1a01 fa01 |0015: const-string v1, "Invalid:" // string@01fa │ │ -02aee6: 7020 aa05 1000 |0017: invoke-direct {v0, v1}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05aa │ │ -02aeec: 6e20 ae05 4000 |001a: invoke-virtual {v0, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@05ae │ │ -02aef2: 6e10 b105 0000 |001d: invoke-virtual {v0}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ -02aef8: 0c00 |0020: move-result-object v0 │ │ -02aefa: 7020 6305 0500 |0021: invoke-direct {v5, v0}, Ljava/lang/IllegalStateException;.:(Ljava/lang/String;)V // method@0563 │ │ -02af00: 2705 |0024: throw v5 │ │ +02aea4: |[02aea4] util.conpool.PooledConnectionOutputStream.write:(I)V │ │ +02aeb4: 5440 9703 |0000: iget-object v0, v4, Lutil/conpool/PooledConnectionOutputStream;.out:Ljava/io/OutputStream; // field@0397 │ │ +02aeb8: 6e20 3705 5000 |0002: invoke-virtual {v0, v5}, Ljava/io/OutputStream;.write:(I)V // method@0537 │ │ +02aebe: 5340 9803 |0005: iget-wide v0, v4, Lutil/conpool/PooledConnectionOutputStream;.traffic:J // field@0398 │ │ +02aec2: 1602 0100 |0007: const-wide/16 v2, #int 1 // #1 │ │ +02aec6: bb20 |0009: add-long/2addr v0, v2 │ │ +02aec8: 5a40 9803 |000a: iput-wide v0, v4, Lutil/conpool/PooledConnectionOutputStream;.traffic:J // field@0398 │ │ +02aecc: 5545 9903 |000c: iget-boolean v5, v4, Lutil/conpool/PooledConnectionOutputStream;.valid:Z // field@0399 │ │ +02aed0: 3805 0300 |000e: if-eqz v5, 0011 // +0003 │ │ +02aed4: 0e00 |0010: return-void │ │ +02aed6: 2205 1d01 |0011: new-instance v5, Ljava/lang/IllegalStateException; // type@011d │ │ +02aeda: 2200 2d01 |0013: new-instance v0, Ljava/lang/StringBuilder; // type@012d │ │ +02aede: 1a01 fa01 |0015: const-string v1, "Invalid:" // string@01fa │ │ +02aee2: 7020 aa05 1000 |0017: invoke-direct {v0, v1}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05aa │ │ +02aee8: 6e20 ae05 4000 |001a: invoke-virtual {v0, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@05ae │ │ +02aeee: 6e10 b105 0000 |001d: invoke-virtual {v0}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ +02aef4: 0c00 |0020: move-result-object v0 │ │ +02aef6: 7020 6305 0500 |0021: invoke-direct {v5, v0}, Ljava/lang/IllegalStateException;.:(Ljava/lang/String;)V // method@0563 │ │ +02aefc: 2705 |0024: throw v5 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=43 │ │ 0x0005 line=44 │ │ 0x000c line=45 │ │ 0x0011 line=46 │ │ locals : │ │ @@ -33372,34 +33372,34 @@ │ │ type : '([B)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 6 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 37 16-bit code units │ │ -02adf4: |[02adf4] util.conpool.PooledConnectionOutputStream.write:([B)V │ │ -02ae04: 5440 9703 |0000: iget-object v0, v4, Lutil/conpool/PooledConnectionOutputStream;.out:Ljava/io/OutputStream; // field@0397 │ │ -02ae08: 6e20 3805 5000 |0002: invoke-virtual {v0, v5}, Ljava/io/OutputStream;.write:([B)V // method@0538 │ │ -02ae0e: 5340 9803 |0005: iget-wide v0, v4, Lutil/conpool/PooledConnectionOutputStream;.traffic:J // field@0398 │ │ -02ae12: 2155 |0007: array-length v5, v5 │ │ -02ae14: 8152 |0008: int-to-long v2, v5 │ │ -02ae16: bb20 |0009: add-long/2addr v0, v2 │ │ -02ae18: 5a40 9803 |000a: iput-wide v0, v4, Lutil/conpool/PooledConnectionOutputStream;.traffic:J // field@0398 │ │ -02ae1c: 5545 9903 |000c: iget-boolean v5, v4, Lutil/conpool/PooledConnectionOutputStream;.valid:Z // field@0399 │ │ -02ae20: 3805 0300 |000e: if-eqz v5, 0011 // +0003 │ │ -02ae24: 0e00 |0010: return-void │ │ -02ae26: 2205 1d01 |0011: new-instance v5, Ljava/lang/IllegalStateException; // type@011d │ │ -02ae2a: 2200 2d01 |0013: new-instance v0, Ljava/lang/StringBuilder; // type@012d │ │ -02ae2e: 1a01 fa01 |0015: const-string v1, "Invalid:" // string@01fa │ │ -02ae32: 7020 aa05 1000 |0017: invoke-direct {v0, v1}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05aa │ │ -02ae38: 6e20 ae05 4000 |001a: invoke-virtual {v0, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@05ae │ │ -02ae3e: 6e10 b105 0000 |001d: invoke-virtual {v0}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ -02ae44: 0c00 |0020: move-result-object v0 │ │ -02ae46: 7020 6305 0500 |0021: invoke-direct {v5, v0}, Ljava/lang/IllegalStateException;.:(Ljava/lang/String;)V // method@0563 │ │ -02ae4c: 2705 |0024: throw v5 │ │ +02adf0: |[02adf0] util.conpool.PooledConnectionOutputStream.write:([B)V │ │ +02ae00: 5440 9703 |0000: iget-object v0, v4, Lutil/conpool/PooledConnectionOutputStream;.out:Ljava/io/OutputStream; // field@0397 │ │ +02ae04: 6e20 3805 5000 |0002: invoke-virtual {v0, v5}, Ljava/io/OutputStream;.write:([B)V // method@0538 │ │ +02ae0a: 5340 9803 |0005: iget-wide v0, v4, Lutil/conpool/PooledConnectionOutputStream;.traffic:J // field@0398 │ │ +02ae0e: 2155 |0007: array-length v5, v5 │ │ +02ae10: 8152 |0008: int-to-long v2, v5 │ │ +02ae12: bb20 |0009: add-long/2addr v0, v2 │ │ +02ae14: 5a40 9803 |000a: iput-wide v0, v4, Lutil/conpool/PooledConnectionOutputStream;.traffic:J // field@0398 │ │ +02ae18: 5545 9903 |000c: iget-boolean v5, v4, Lutil/conpool/PooledConnectionOutputStream;.valid:Z // field@0399 │ │ +02ae1c: 3805 0300 |000e: if-eqz v5, 0011 // +0003 │ │ +02ae20: 0e00 |0010: return-void │ │ +02ae22: 2205 1d01 |0011: new-instance v5, Ljava/lang/IllegalStateException; // type@011d │ │ +02ae26: 2200 2d01 |0013: new-instance v0, Ljava/lang/StringBuilder; // type@012d │ │ +02ae2a: 1a01 fa01 |0015: const-string v1, "Invalid:" // string@01fa │ │ +02ae2e: 7020 aa05 1000 |0017: invoke-direct {v0, v1}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05aa │ │ +02ae34: 6e20 ae05 4000 |001a: invoke-virtual {v0, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@05ae │ │ +02ae3a: 6e10 b105 0000 |001d: invoke-virtual {v0}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ +02ae40: 0c00 |0020: move-result-object v0 │ │ +02ae42: 7020 6305 0500 |0021: invoke-direct {v5, v0}, Ljava/lang/IllegalStateException;.:(Ljava/lang/String;)V // method@0563 │ │ +02ae48: 2705 |0024: throw v5 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=51 │ │ 0x0005 line=52 │ │ 0x000c line=53 │ │ 0x0011 line=54 │ │ locals : │ │ @@ -33411,33 +33411,33 @@ │ │ type : '([BII)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 6 │ │ ins : 4 │ │ outs : 4 │ │ insns size : 36 16-bit code units │ │ -02ae50: |[02ae50] util.conpool.PooledConnectionOutputStream.write:([BII)V │ │ -02ae60: 5420 9703 |0000: iget-object v0, v2, Lutil/conpool/PooledConnectionOutputStream;.out:Ljava/io/OutputStream; // field@0397 │ │ -02ae64: 6e40 3905 3054 |0002: invoke-virtual {v0, v3, v4, v5}, Ljava/io/OutputStream;.write:([BII)V // method@0539 │ │ -02ae6a: 5323 9803 |0005: iget-wide v3, v2, Lutil/conpool/PooledConnectionOutputStream;.traffic:J // field@0398 │ │ -02ae6e: 8150 |0007: int-to-long v0, v5 │ │ -02ae70: bb03 |0008: add-long/2addr v3, v0 │ │ -02ae72: 5a23 9803 |0009: iput-wide v3, v2, Lutil/conpool/PooledConnectionOutputStream;.traffic:J // field@0398 │ │ -02ae76: 5523 9903 |000b: iget-boolean v3, v2, Lutil/conpool/PooledConnectionOutputStream;.valid:Z // field@0399 │ │ -02ae7a: 3803 0300 |000d: if-eqz v3, 0010 // +0003 │ │ -02ae7e: 0e00 |000f: return-void │ │ -02ae80: 2203 1d01 |0010: new-instance v3, Ljava/lang/IllegalStateException; // type@011d │ │ -02ae84: 2204 2d01 |0012: new-instance v4, Ljava/lang/StringBuilder; // type@012d │ │ -02ae88: 1a05 fa01 |0014: const-string v5, "Invalid:" // string@01fa │ │ -02ae8c: 7020 aa05 5400 |0016: invoke-direct {v4, v5}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05aa │ │ -02ae92: 6e20 ae05 2400 |0019: invoke-virtual {v4, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@05ae │ │ -02ae98: 6e10 b105 0400 |001c: invoke-virtual {v4}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ -02ae9e: 0c04 |001f: move-result-object v4 │ │ -02aea0: 7020 6305 4300 |0020: invoke-direct {v3, v4}, Ljava/lang/IllegalStateException;.:(Ljava/lang/String;)V // method@0563 │ │ -02aea6: 2703 |0023: throw v3 │ │ +02ae4c: |[02ae4c] util.conpool.PooledConnectionOutputStream.write:([BII)V │ │ +02ae5c: 5420 9703 |0000: iget-object v0, v2, Lutil/conpool/PooledConnectionOutputStream;.out:Ljava/io/OutputStream; // field@0397 │ │ +02ae60: 6e40 3905 3054 |0002: invoke-virtual {v0, v3, v4, v5}, Ljava/io/OutputStream;.write:([BII)V // method@0539 │ │ +02ae66: 5323 9803 |0005: iget-wide v3, v2, Lutil/conpool/PooledConnectionOutputStream;.traffic:J // field@0398 │ │ +02ae6a: 8150 |0007: int-to-long v0, v5 │ │ +02ae6c: bb03 |0008: add-long/2addr v3, v0 │ │ +02ae6e: 5a23 9803 |0009: iput-wide v3, v2, Lutil/conpool/PooledConnectionOutputStream;.traffic:J // field@0398 │ │ +02ae72: 5523 9903 |000b: iget-boolean v3, v2, Lutil/conpool/PooledConnectionOutputStream;.valid:Z // field@0399 │ │ +02ae76: 3803 0300 |000d: if-eqz v3, 0010 // +0003 │ │ +02ae7a: 0e00 |000f: return-void │ │ +02ae7c: 2203 1d01 |0010: new-instance v3, Ljava/lang/IllegalStateException; // type@011d │ │ +02ae80: 2204 2d01 |0012: new-instance v4, Ljava/lang/StringBuilder; // type@012d │ │ +02ae84: 1a05 fa01 |0014: const-string v5, "Invalid:" // string@01fa │ │ +02ae88: 7020 aa05 5400 |0016: invoke-direct {v4, v5}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05aa │ │ +02ae8e: 6e20 ae05 2400 |0019: invoke-virtual {v4, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@05ae │ │ +02ae94: 6e10 b105 0400 |001c: invoke-virtual {v4}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ +02ae9a: 0c04 |001f: move-result-object v4 │ │ +02ae9c: 7020 6305 4300 |0020: invoke-direct {v3, v4}, Ljava/lang/IllegalStateException;.:(Ljava/lang/String;)V // method@0563 │ │ +02aea2: 2703 |0023: throw v3 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=60 │ │ 0x0005 line=61 │ │ 0x000b line=62 │ │ 0x0010 line=63 │ │ locals : │ │ @@ -33491,25 +33491,25 @@ │ │ type : '()V' │ │ access : 0x10001 (PUBLIC CONSTRUCTOR) │ │ code - │ │ registers : 3 │ │ ins : 1 │ │ outs : 4 │ │ insns size : 20 16-bit code units │ │ -02b074: |[02b074] util.conpool.TLSSocketFactory.:()V │ │ -02b084: 7010 a406 0200 |0000: invoke-direct {v2}, Ljavax/net/ssl/SSLSocketFactory;.:()V // method@06a4 │ │ -02b08a: 1a00 6d04 |0003: const-string v0, "TLS" // string@046d │ │ -02b08e: 7110 a006 0000 |0005: invoke-static {v0}, Ljavax/net/ssl/SSLContext;.getInstance:(Ljava/lang/String;)Ljavax/net/ssl/SSLContext; // method@06a0 │ │ -02b094: 0c00 |0008: move-result-object v0 │ │ -02b096: 1201 |0009: const/4 v1, #int 0 // #0 │ │ -02b098: 6e40 a206 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@06a2 │ │ -02b09e: 6e10 a106 0000 |000d: invoke-virtual {v0}, Ljavax/net/ssl/SSLContext;.getSocketFactory:()Ljavax/net/ssl/SSLSocketFactory; // method@06a1 │ │ -02b0a4: 0c00 |0010: move-result-object v0 │ │ -02b0a6: 5b20 9a03 |0011: iput-object v0, v2, Lutil/conpool/TLSSocketFactory;.delegate:Ljavax/net/ssl/SSLSocketFactory; // field@039a │ │ -02b0aa: 0e00 |0013: return-void │ │ +02b070: |[02b070] util.conpool.TLSSocketFactory.:()V │ │ +02b080: 7010 a406 0200 |0000: invoke-direct {v2}, Ljavax/net/ssl/SSLSocketFactory;.:()V // method@06a4 │ │ +02b086: 1a00 6d04 |0003: const-string v0, "TLS" // string@046d │ │ +02b08a: 7110 a006 0000 |0005: invoke-static {v0}, Ljavax/net/ssl/SSLContext;.getInstance:(Ljava/lang/String;)Ljavax/net/ssl/SSLContext; // method@06a0 │ │ +02b090: 0c00 |0008: move-result-object v0 │ │ +02b092: 1201 |0009: const/4 v1, #int 0 // #0 │ │ +02b094: 6e40 a206 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@06a2 │ │ +02b09a: 6e10 a106 0000 |000d: invoke-virtual {v0}, Ljavax/net/ssl/SSLContext;.getSocketFactory:()Ljavax/net/ssl/SSLSocketFactory; // method@06a1 │ │ +02b0a0: 0c00 |0010: move-result-object v0 │ │ +02b0a2: 5b20 9a03 |0011: iput-object v0, v2, Lutil/conpool/TLSSocketFactory;.delegate:Ljavax/net/ssl/SSLSocketFactory; // field@039a │ │ +02b0a6: 0e00 |0013: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=17 │ │ 0x0003 line=18 │ │ 0x000a line=19 │ │ 0x000d line=20 │ │ locals : │ │ @@ -33520,29 +33520,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 │ │ -02b034: |[02b034] util.conpool.TLSSocketFactory.enableTLSOnSocket:(Ljava/net/Socket;)Ljava/net/Socket; │ │ -02b044: 2050 7901 |0000: instance-of v0, v5, Ljavax/net/ssl/SSLSocket; // type@0179 │ │ -02b048: 3800 1500 |0002: if-eqz v0, 0017 // +0015 │ │ -02b04c: 0750 |0004: move-object v0, v5 │ │ -02b04e: 1f00 7901 |0005: check-cast v0, Ljavax/net/ssl/SSLSocket; // type@0179 │ │ -02b052: 1221 |0007: const/4 v1, #int 2 // #2 │ │ -02b054: 2311 ad01 |0008: new-array v1, v1, [Ljava/lang/String; // type@01ad │ │ -02b058: 1a02 6f04 |000a: const-string v2, "TLSv1.1" // string@046f │ │ -02b05c: 1203 |000c: const/4 v3, #int 0 // #0 │ │ -02b05e: 4d02 0103 |000d: aput-object v2, v1, v3 │ │ -02b062: 1a02 7004 |000f: const-string v2, "TLSv1.2" // string@0470 │ │ -02b066: 1213 |0011: const/4 v3, #int 1 // #1 │ │ -02b068: 4d02 0103 |0012: aput-object v2, v1, v3 │ │ -02b06c: 6e20 a306 1000 |0014: invoke-virtual {v0, v1}, Ljavax/net/ssl/SSLSocket;.setEnabledProtocols:([Ljava/lang/String;)V // method@06a3 │ │ -02b072: 1105 |0017: return-object v5 │ │ +02b030: |[02b030] util.conpool.TLSSocketFactory.enableTLSOnSocket:(Ljava/net/Socket;)Ljava/net/Socket; │ │ +02b040: 2050 7901 |0000: instance-of v0, v5, Ljavax/net/ssl/SSLSocket; // type@0179 │ │ +02b044: 3800 1500 |0002: if-eqz v0, 0017 // +0015 │ │ +02b048: 0750 |0004: move-object v0, v5 │ │ +02b04a: 1f00 7901 |0005: check-cast v0, Ljavax/net/ssl/SSLSocket; // type@0179 │ │ +02b04e: 1221 |0007: const/4 v1, #int 2 // #2 │ │ +02b050: 2311 ad01 |0008: new-array v1, v1, [Ljava/lang/String; // type@01ad │ │ +02b054: 1a02 6f04 |000a: const-string v2, "TLSv1.1" // string@046f │ │ +02b058: 1203 |000c: const/4 v3, #int 0 // #0 │ │ +02b05a: 4d02 0103 |000d: aput-object v2, v1, v3 │ │ +02b05e: 1a02 7004 |000f: const-string v2, "TLSv1.2" // string@0470 │ │ +02b062: 1213 |0011: const/4 v3, #int 1 // #1 │ │ +02b064: 4d02 0103 |0012: aput-object v2, v1, v3 │ │ +02b068: 6e20 a306 1000 |0014: invoke-virtual {v0, v1}, Ljavax/net/ssl/SSLSocket;.setEnabledProtocols:([Ljava/lang/String;)V // method@06a3 │ │ +02b06e: 1105 |0017: return-object v5 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=66 │ │ 0x0004 line=67 │ │ locals : │ │ 0x0000 - 0x0018 reg=4 this Lutil/conpool/TLSSocketFactory; │ │ 0x0000 - 0x0018 reg=5 (null) Ljava/net/Socket; │ │ @@ -33553,21 +33553,21 @@ │ │ type : '()Ljava/net/Socket;' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 11 16-bit code units │ │ -02af44: |[02af44] util.conpool.TLSSocketFactory.createSocket:()Ljava/net/Socket; │ │ -02af54: 5410 9a03 |0000: iget-object v0, v1, Lutil/conpool/TLSSocketFactory;.delegate:Ljavax/net/ssl/SSLSocketFactory; // field@039a │ │ -02af58: 6e10 a506 0000 |0002: invoke-virtual {v0}, Ljavax/net/ssl/SSLSocketFactory;.createSocket:()Ljava/net/Socket; // method@06a5 │ │ -02af5e: 0c00 |0005: move-result-object v0 │ │ -02af60: 7020 e507 0100 |0006: invoke-direct {v1, v0}, Lutil/conpool/TLSSocketFactory;.enableTLSOnSocket:(Ljava/net/Socket;)Ljava/net/Socket; // method@07e5 │ │ -02af66: 0c00 |0009: move-result-object v0 │ │ -02af68: 1100 |000a: return-object v0 │ │ +02af40: |[02af40] util.conpool.TLSSocketFactory.createSocket:()Ljava/net/Socket; │ │ +02af50: 5410 9a03 |0000: iget-object v0, v1, Lutil/conpool/TLSSocketFactory;.delegate:Ljavax/net/ssl/SSLSocketFactory; // field@039a │ │ +02af54: 6e10 a506 0000 |0002: invoke-virtual {v0}, Ljavax/net/ssl/SSLSocketFactory;.createSocket:()Ljava/net/Socket; // method@06a5 │ │ +02af5a: 0c00 |0005: move-result-object v0 │ │ +02af5c: 7020 e507 0100 |0006: invoke-direct {v1, v0}, Lutil/conpool/TLSSocketFactory;.enableTLSOnSocket:(Ljava/net/Socket;)Ljava/net/Socket; // method@07e5 │ │ +02af62: 0c00 |0009: move-result-object v0 │ │ +02af64: 1100 |000a: return-object v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=35 │ │ locals : │ │ 0x0000 - 0x000b reg=1 this Lutil/conpool/TLSSocketFactory; │ │ │ │ #1 : (in Lutil/conpool/TLSSocketFactory;) │ │ @@ -33575,21 +33575,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 │ │ -02af6c: |[02af6c] util.conpool.TLSSocketFactory.createSocket:(Ljava/lang/String;I)Ljava/net/Socket; │ │ -02af7c: 5410 9a03 |0000: iget-object v0, v1, Lutil/conpool/TLSSocketFactory;.delegate:Ljavax/net/ssl/SSLSocketFactory; // field@039a │ │ -02af80: 6e30 a606 2003 |0002: invoke-virtual {v0, v2, v3}, Ljavax/net/ssl/SSLSocketFactory;.createSocket:(Ljava/lang/String;I)Ljava/net/Socket; // method@06a6 │ │ -02af86: 0c02 |0005: move-result-object v2 │ │ -02af88: 7020 e507 2100 |0006: invoke-direct {v1, v2}, Lutil/conpool/TLSSocketFactory;.enableTLSOnSocket:(Ljava/net/Socket;)Ljava/net/Socket; // method@07e5 │ │ -02af8e: 0c02 |0009: move-result-object v2 │ │ -02af90: 1102 |000a: return-object v2 │ │ +02af68: |[02af68] util.conpool.TLSSocketFactory.createSocket:(Ljava/lang/String;I)Ljava/net/Socket; │ │ +02af78: 5410 9a03 |0000: iget-object v0, v1, Lutil/conpool/TLSSocketFactory;.delegate:Ljavax/net/ssl/SSLSocketFactory; // field@039a │ │ +02af7c: 6e30 a606 2003 |0002: invoke-virtual {v0, v2, v3}, Ljavax/net/ssl/SSLSocketFactory;.createSocket:(Ljava/lang/String;I)Ljava/net/Socket; // method@06a6 │ │ +02af82: 0c02 |0005: move-result-object v2 │ │ +02af84: 7020 e507 2100 |0006: invoke-direct {v1, v2}, Lutil/conpool/TLSSocketFactory;.enableTLSOnSocket:(Ljava/net/Socket;)Ljava/net/Socket; // method@07e5 │ │ +02af8a: 0c02 |0009: move-result-object v2 │ │ +02af8c: 1102 |000a: return-object v2 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=45 │ │ locals : │ │ 0x0000 - 0x000b reg=1 this Lutil/conpool/TLSSocketFactory; │ │ 0x0000 - 0x000b reg=2 (null) Ljava/lang/String; │ │ 0x0000 - 0x000b reg=3 (null) I │ │ @@ -33599,21 +33599,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 │ │ -02af94: |[02af94] util.conpool.TLSSocketFactory.createSocket:(Ljava/lang/String;ILjava/net/InetAddress;I)Ljava/net/Socket; │ │ -02afa4: 5410 9a03 |0000: iget-object v0, v1, Lutil/conpool/TLSSocketFactory;.delegate:Ljavax/net/ssl/SSLSocketFactory; // field@039a │ │ -02afa8: 6e55 a706 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@06a7 │ │ -02afae: 0c02 |0005: move-result-object v2 │ │ -02afb0: 7020 e507 2100 |0006: invoke-direct {v1, v2}, Lutil/conpool/TLSSocketFactory;.enableTLSOnSocket:(Ljava/net/Socket;)Ljava/net/Socket; // method@07e5 │ │ -02afb6: 0c02 |0009: move-result-object v2 │ │ -02afb8: 1102 |000a: return-object v2 │ │ +02af90: |[02af90] util.conpool.TLSSocketFactory.createSocket:(Ljava/lang/String;ILjava/net/InetAddress;I)Ljava/net/Socket; │ │ +02afa0: 5410 9a03 |0000: iget-object v0, v1, Lutil/conpool/TLSSocketFactory;.delegate:Ljavax/net/ssl/SSLSocketFactory; // field@039a │ │ +02afa4: 6e55 a706 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@06a7 │ │ +02afaa: 0c02 |0005: move-result-object v2 │ │ +02afac: 7020 e507 2100 |0006: invoke-direct {v1, v2}, Lutil/conpool/TLSSocketFactory;.enableTLSOnSocket:(Ljava/net/Socket;)Ljava/net/Socket; // method@07e5 │ │ +02afb2: 0c02 |0009: move-result-object v2 │ │ +02afb4: 1102 |000a: return-object v2 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=51 │ │ locals : │ │ 0x0000 - 0x000b reg=1 this Lutil/conpool/TLSSocketFactory; │ │ 0x0000 - 0x000b reg=2 (null) Ljava/lang/String; │ │ 0x0000 - 0x000b reg=3 (null) I │ │ @@ -33625,21 +33625,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 │ │ -02afbc: |[02afbc] util.conpool.TLSSocketFactory.createSocket:(Ljava/net/InetAddress;I)Ljava/net/Socket; │ │ -02afcc: 5410 9a03 |0000: iget-object v0, v1, Lutil/conpool/TLSSocketFactory;.delegate:Ljavax/net/ssl/SSLSocketFactory; // field@039a │ │ -02afd0: 6e30 a806 2003 |0002: invoke-virtual {v0, v2, v3}, Ljavax/net/ssl/SSLSocketFactory;.createSocket:(Ljava/net/InetAddress;I)Ljava/net/Socket; // method@06a8 │ │ -02afd6: 0c02 |0005: move-result-object v2 │ │ -02afd8: 7020 e507 2100 |0006: invoke-direct {v1, v2}, Lutil/conpool/TLSSocketFactory;.enableTLSOnSocket:(Ljava/net/Socket;)Ljava/net/Socket; // method@07e5 │ │ -02afde: 0c02 |0009: move-result-object v2 │ │ -02afe0: 1102 |000a: return-object v2 │ │ +02afb8: |[02afb8] util.conpool.TLSSocketFactory.createSocket:(Ljava/net/InetAddress;I)Ljava/net/Socket; │ │ +02afc8: 5410 9a03 |0000: iget-object v0, v1, Lutil/conpool/TLSSocketFactory;.delegate:Ljavax/net/ssl/SSLSocketFactory; // field@039a │ │ +02afcc: 6e30 a806 2003 |0002: invoke-virtual {v0, v2, v3}, Ljavax/net/ssl/SSLSocketFactory;.createSocket:(Ljava/net/InetAddress;I)Ljava/net/Socket; // method@06a8 │ │ +02afd2: 0c02 |0005: move-result-object v2 │ │ +02afd4: 7020 e507 2100 |0006: invoke-direct {v1, v2}, Lutil/conpool/TLSSocketFactory;.enableTLSOnSocket:(Ljava/net/Socket;)Ljava/net/Socket; // method@07e5 │ │ +02afda: 0c02 |0009: move-result-object v2 │ │ +02afdc: 1102 |000a: return-object v2 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=56 │ │ locals : │ │ 0x0000 - 0x000b reg=1 this Lutil/conpool/TLSSocketFactory; │ │ 0x0000 - 0x000b reg=2 (null) Ljava/net/InetAddress; │ │ 0x0000 - 0x000b reg=3 (null) I │ │ @@ -33649,21 +33649,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 │ │ -02afe4: |[02afe4] util.conpool.TLSSocketFactory.createSocket:(Ljava/net/InetAddress;ILjava/net/InetAddress;I)Ljava/net/Socket; │ │ -02aff4: 5410 9a03 |0000: iget-object v0, v1, Lutil/conpool/TLSSocketFactory;.delegate:Ljavax/net/ssl/SSLSocketFactory; // field@039a │ │ -02aff8: 6e55 a906 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@06a9 │ │ -02affe: 0c02 |0005: move-result-object v2 │ │ -02b000: 7020 e507 2100 |0006: invoke-direct {v1, v2}, Lutil/conpool/TLSSocketFactory;.enableTLSOnSocket:(Ljava/net/Socket;)Ljava/net/Socket; // method@07e5 │ │ -02b006: 0c02 |0009: move-result-object v2 │ │ -02b008: 1102 |000a: return-object v2 │ │ +02afe0: |[02afe0] util.conpool.TLSSocketFactory.createSocket:(Ljava/net/InetAddress;ILjava/net/InetAddress;I)Ljava/net/Socket; │ │ +02aff0: 5410 9a03 |0000: iget-object v0, v1, Lutil/conpool/TLSSocketFactory;.delegate:Ljavax/net/ssl/SSLSocketFactory; // field@039a │ │ +02aff4: 6e55 a906 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@06a9 │ │ +02affa: 0c02 |0005: move-result-object v2 │ │ +02affc: 7020 e507 2100 |0006: invoke-direct {v1, v2}, Lutil/conpool/TLSSocketFactory;.enableTLSOnSocket:(Ljava/net/Socket;)Ljava/net/Socket; // method@07e5 │ │ +02b002: 0c02 |0009: move-result-object v2 │ │ +02b004: 1102 |000a: return-object v2 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=62 │ │ locals : │ │ 0x0000 - 0x000b reg=1 this Lutil/conpool/TLSSocketFactory; │ │ 0x0000 - 0x000b reg=2 (null) Ljava/net/InetAddress; │ │ 0x0000 - 0x000b reg=3 (null) I │ │ @@ -33675,21 +33675,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 │ │ -02b00c: |[02b00c] util.conpool.TLSSocketFactory.createSocket:(Ljava/net/Socket;Ljava/lang/String;IZ)Ljava/net/Socket; │ │ -02b01c: 5410 9a03 |0000: iget-object v0, v1, Lutil/conpool/TLSSocketFactory;.delegate:Ljavax/net/ssl/SSLSocketFactory; // field@039a │ │ -02b020: 6e55 aa06 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@06aa │ │ -02b026: 0c02 |0005: move-result-object v2 │ │ -02b028: 7020 e507 2100 |0006: invoke-direct {v1, v2}, Lutil/conpool/TLSSocketFactory;.enableTLSOnSocket:(Ljava/net/Socket;)Ljava/net/Socket; // method@07e5 │ │ -02b02e: 0c02 |0009: move-result-object v2 │ │ -02b030: 1102 |000a: return-object v2 │ │ +02b008: |[02b008] util.conpool.TLSSocketFactory.createSocket:(Ljava/net/Socket;Ljava/lang/String;IZ)Ljava/net/Socket; │ │ +02b018: 5410 9a03 |0000: iget-object v0, v1, Lutil/conpool/TLSSocketFactory;.delegate:Ljavax/net/ssl/SSLSocketFactory; // field@039a │ │ +02b01c: 6e55 aa06 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@06aa │ │ +02b022: 0c02 |0005: move-result-object v2 │ │ +02b024: 7020 e507 2100 |0006: invoke-direct {v1, v2}, Lutil/conpool/TLSSocketFactory;.enableTLSOnSocket:(Ljava/net/Socket;)Ljava/net/Socket; // method@07e5 │ │ +02b02a: 0c02 |0009: move-result-object v2 │ │ +02b02c: 1102 |000a: return-object v2 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=40 │ │ 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; │ │ @@ -33701,19 +33701,19 @@ │ │ type : '()[Ljava/lang/String;' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 7 16-bit code units │ │ -02af04: |[02af04] util.conpool.TLSSocketFactory.getDefaultCipherSuites:()[Ljava/lang/String; │ │ -02af14: 5410 9a03 |0000: iget-object v0, v1, Lutil/conpool/TLSSocketFactory;.delegate:Ljavax/net/ssl/SSLSocketFactory; // field@039a │ │ -02af18: 6e10 ac06 0000 |0002: invoke-virtual {v0}, Ljavax/net/ssl/SSLSocketFactory;.getDefaultCipherSuites:()[Ljava/lang/String; // method@06ac │ │ -02af1e: 0c00 |0005: move-result-object v0 │ │ -02af20: 1100 |0006: return-object v0 │ │ +02af00: |[02af00] util.conpool.TLSSocketFactory.getDefaultCipherSuites:()[Ljava/lang/String; │ │ +02af10: 5410 9a03 |0000: iget-object v0, v1, Lutil/conpool/TLSSocketFactory;.delegate:Ljavax/net/ssl/SSLSocketFactory; // field@039a │ │ +02af14: 6e10 ac06 0000 |0002: invoke-virtual {v0}, Ljavax/net/ssl/SSLSocketFactory;.getDefaultCipherSuites:()[Ljava/lang/String; // method@06ac │ │ +02af1a: 0c00 |0005: move-result-object v0 │ │ +02af1c: 1100 |0006: return-object v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=25 │ │ locals : │ │ 0x0000 - 0x0007 reg=1 this Lutil/conpool/TLSSocketFactory; │ │ │ │ #7 : (in Lutil/conpool/TLSSocketFactory;) │ │ @@ -33721,19 +33721,19 @@ │ │ type : '()[Ljava/lang/String;' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 7 16-bit code units │ │ -02af24: |[02af24] util.conpool.TLSSocketFactory.getSupportedCipherSuites:()[Ljava/lang/String; │ │ -02af34: 5410 9a03 |0000: iget-object v0, v1, Lutil/conpool/TLSSocketFactory;.delegate:Ljavax/net/ssl/SSLSocketFactory; // field@039a │ │ -02af38: 6e10 ad06 0000 |0002: invoke-virtual {v0}, Ljavax/net/ssl/SSLSocketFactory;.getSupportedCipherSuites:()[Ljava/lang/String; // method@06ad │ │ -02af3e: 0c00 |0005: move-result-object v0 │ │ -02af40: 1100 |0006: return-object v0 │ │ +02af20: |[02af20] util.conpool.TLSSocketFactory.getSupportedCipherSuites:()[Ljava/lang/String; │ │ +02af30: 5410 9a03 |0000: iget-object v0, v1, Lutil/conpool/TLSSocketFactory;.delegate:Ljavax/net/ssl/SSLSocketFactory; // field@039a │ │ +02af34: 6e10 ad06 0000 |0002: invoke-virtual {v0}, Ljavax/net/ssl/SSLSocketFactory;.getSupportedCipherSuites:()[Ljava/lang/String; // method@06ad │ │ +02af3a: 0c00 |0005: move-result-object v0 │ │ +02af3c: 1100 |0006: return-object v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=30 │ │ locals : │ │ 0x0000 - 0x0007 reg=1 this Lutil/conpool/TLSSocketFactory; │ │ │ │ source_file_idx : 1134 (TLSSocketFactory.java) │ │ @@ -33787,25 +33787,25 @@ │ │ type : '(Ljava/io/InputStream;)V' │ │ access : 0x10001 (PUBLIC CONSTRUCTOR) │ │ code - │ │ registers : 3 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 19 16-bit code units │ │ -02b19c: |[02b19c] util.http.HttpChunkedInputStream.:(Ljava/io/InputStream;)V │ │ -02b1ac: 7010 2705 0100 |0000: invoke-direct {v1}, Ljava/io/InputStream;.:()V // method@0527 │ │ -02b1b2: 1200 |0003: const/4 v0, #int 0 // #0 │ │ -02b1b4: 5b10 9d03 |0004: iput-object v0, v1, Lutil/http/HttpChunkedInputStream;.underlying:Ljava/io/DataInputStream; // field@039d │ │ -02b1b8: 5b10 9b03 |0006: iput-object v0, v1, Lutil/http/HttpChunkedInputStream;.bytesBuf:Ljava/io/ByteArrayInputStream; // field@039b │ │ -02b1bc: 1200 |0008: const/4 v0, #int 0 // #0 │ │ -02b1be: 5c10 9c03 |0009: iput-boolean v0, v1, Lutil/http/HttpChunkedInputStream;.eof:Z // field@039c │ │ -02b1c2: 2200 f800 |000b: new-instance v0, Ljava/io/DataInputStream; // type@00f8 │ │ -02b1c6: 7020 f004 2000 |000d: invoke-direct {v0, v2}, Ljava/io/DataInputStream;.:(Ljava/io/InputStream;)V // method@04f0 │ │ -02b1cc: 5b10 9d03 |0010: iput-object v0, v1, Lutil/http/HttpChunkedInputStream;.underlying:Ljava/io/DataInputStream; // field@039d │ │ -02b1d0: 0e00 |0012: return-void │ │ +02b198: |[02b198] util.http.HttpChunkedInputStream.:(Ljava/io/InputStream;)V │ │ +02b1a8: 7010 2705 0100 |0000: invoke-direct {v1}, Ljava/io/InputStream;.:()V // method@0527 │ │ +02b1ae: 1200 |0003: const/4 v0, #int 0 // #0 │ │ +02b1b0: 5b10 9d03 |0004: iput-object v0, v1, Lutil/http/HttpChunkedInputStream;.underlying:Ljava/io/DataInputStream; // field@039d │ │ +02b1b4: 5b10 9b03 |0006: iput-object v0, v1, Lutil/http/HttpChunkedInputStream;.bytesBuf:Ljava/io/ByteArrayInputStream; // field@039b │ │ +02b1b8: 1200 |0008: const/4 v0, #int 0 // #0 │ │ +02b1ba: 5c10 9c03 |0009: iput-boolean v0, v1, Lutil/http/HttpChunkedInputStream;.eof:Z // field@039c │ │ +02b1be: 2200 f800 |000b: new-instance v0, Ljava/io/DataInputStream; // type@00f8 │ │ +02b1c2: 7020 f004 2000 |000d: invoke-direct {v0, v2}, Ljava/io/DataInputStream;.:(Ljava/io/InputStream;)V // method@04f0 │ │ +02b1c8: 5b10 9d03 |0010: iput-object v0, v1, Lutil/http/HttpChunkedInputStream;.underlying:Ljava/io/DataInputStream; // field@039d │ │ +02b1cc: 0e00 |0012: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=18 │ │ 0x0004 line=14 │ │ 0x0006 line=15 │ │ 0x0009 line=16 │ │ 0x000b line=19 │ │ @@ -33818,51 +33818,51 @@ │ │ type : '()V' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 4 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 70 16-bit code units │ │ -02b1e8: |[02b1e8] util.http.HttpChunkedInputStream.readNextChunk:()V │ │ -02b1f8: 5430 9d03 |0000: iget-object v0, v3, Lutil/http/HttpChunkedInputStream;.underlying:Ljava/io/DataInputStream; // field@039d │ │ -02b1fc: 7110 a107 0000 |0002: invoke-static {v0}, Lutil/Utils;.readLineFromStreamRN:(Ljava/io/InputStream;)Ljava/lang/String; // method@07a1 │ │ -02b202: 0c00 |0005: move-result-object v0 │ │ -02b204: 3800 3800 |0006: if-eqz v0, 003e // +0038 │ │ -02b208: 1a01 0000 |0008: const-string v1, "" // string@0000 │ │ -02b20c: 6e20 8d05 1000 |000a: invoke-virtual {v0, v1}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058d │ │ -02b212: 0a01 |000d: move-result v1 │ │ -02b214: 1212 |000e: const/4 v2, #int 1 // #1 │ │ -02b216: 3801 0500 |000f: if-eqz v1, 0014 // +0005 │ │ -02b21a: 5c32 9c03 |0011: iput-boolean v2, v3, Lutil/http/HttpChunkedInputStream;.eof:Z // field@039c │ │ -02b21e: 0e00 |0013: return-void │ │ -02b220: 1301 1000 |0014: const/16 v1, #int 16 // #10 │ │ -02b224: 7120 6805 1000 |0016: invoke-static {v0, v1}, Ljava/lang/Integer;.parseInt:(Ljava/lang/String;I)I // method@0568 │ │ -02b22a: 0a00 |0019: move-result v0 │ │ -02b22c: 3800 1100 |001a: if-eqz v0, 002b // +0011 │ │ -02b230: 2300 9d01 |001c: new-array v0, v0, [B // type@019d │ │ -02b234: 5431 9d03 |001e: iget-object v1, v3, Lutil/http/HttpChunkedInputStream;.underlying:Ljava/io/DataInputStream; // field@039d │ │ -02b238: 6e20 f204 0100 |0020: invoke-virtual {v1, v0}, Ljava/io/DataInputStream;.readFully:([B)V // method@04f2 │ │ -02b23e: 2201 f600 |0023: new-instance v1, Ljava/io/ByteArrayInputStream; // type@00f6 │ │ -02b242: 7020 e104 0100 |0025: invoke-direct {v1, v0}, Ljava/io/ByteArrayInputStream;.:([B)V // method@04e1 │ │ -02b248: 5b31 9b03 |0028: iput-object v1, v3, Lutil/http/HttpChunkedInputStream;.bytesBuf:Ljava/io/ByteArrayInputStream; // field@039b │ │ -02b24c: 2803 |002a: goto 002d // +0003 │ │ -02b24e: 5c32 9c03 |002b: iput-boolean v2, v3, Lutil/http/HttpChunkedInputStream;.eof:Z // field@039c │ │ -02b252: 5430 9d03 |002d: iget-object v0, v3, Lutil/http/HttpChunkedInputStream;.underlying:Ljava/io/DataInputStream; // field@039d │ │ -02b256: 7110 a107 0000 |002f: invoke-static {v0}, Lutil/Utils;.readLineFromStreamRN:(Ljava/io/InputStream;)Ljava/lang/String; // method@07a1 │ │ -02b25c: 0e00 |0032: return-void │ │ -02b25e: 0d00 |0033: move-exception v0 │ │ -02b260: 2201 0001 |0034: new-instance v1, Ljava/io/IOException; // type@0100 │ │ -02b264: 6e10 6105 0000 |0036: invoke-virtual {v0}, Ljava/lang/Exception;.toString:()Ljava/lang/String; // method@0561 │ │ -02b26a: 0c00 |0039: move-result-object v0 │ │ -02b26c: 7020 2105 0100 |003a: invoke-direct {v1, v0}, Ljava/io/IOException;.:(Ljava/lang/String;)V // method@0521 │ │ -02b272: 2701 |003d: throw v1 │ │ -02b274: 2200 fa00 |003e: new-instance v0, Ljava/io/EOFException; // type@00fa │ │ -02b278: 1a01 ef01 |0040: const-string v1, "Invalid end of ChunkedInputStream!" // string@01ef │ │ -02b27c: 7020 0005 1000 |0042: invoke-direct {v0, v1}, Ljava/io/EOFException;.:(Ljava/lang/String;)V // method@0500 │ │ -02b282: 2700 |0045: throw v0 │ │ +02b1e4: |[02b1e4] util.http.HttpChunkedInputStream.readNextChunk:()V │ │ +02b1f4: 5430 9d03 |0000: iget-object v0, v3, Lutil/http/HttpChunkedInputStream;.underlying:Ljava/io/DataInputStream; // field@039d │ │ +02b1f8: 7110 a107 0000 |0002: invoke-static {v0}, Lutil/Utils;.readLineFromStreamRN:(Ljava/io/InputStream;)Ljava/lang/String; // method@07a1 │ │ +02b1fe: 0c00 |0005: move-result-object v0 │ │ +02b200: 3800 3800 |0006: if-eqz v0, 003e // +0038 │ │ +02b204: 1a01 0000 |0008: const-string v1, "" // string@0000 │ │ +02b208: 6e20 8d05 1000 |000a: invoke-virtual {v0, v1}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058d │ │ +02b20e: 0a01 |000d: move-result v1 │ │ +02b210: 1212 |000e: const/4 v2, #int 1 // #1 │ │ +02b212: 3801 0500 |000f: if-eqz v1, 0014 // +0005 │ │ +02b216: 5c32 9c03 |0011: iput-boolean v2, v3, Lutil/http/HttpChunkedInputStream;.eof:Z // field@039c │ │ +02b21a: 0e00 |0013: return-void │ │ +02b21c: 1301 1000 |0014: const/16 v1, #int 16 // #10 │ │ +02b220: 7120 6805 1000 |0016: invoke-static {v0, v1}, Ljava/lang/Integer;.parseInt:(Ljava/lang/String;I)I // method@0568 │ │ +02b226: 0a00 |0019: move-result v0 │ │ +02b228: 3800 1100 |001a: if-eqz v0, 002b // +0011 │ │ +02b22c: 2300 9d01 |001c: new-array v0, v0, [B // type@019d │ │ +02b230: 5431 9d03 |001e: iget-object v1, v3, Lutil/http/HttpChunkedInputStream;.underlying:Ljava/io/DataInputStream; // field@039d │ │ +02b234: 6e20 f204 0100 |0020: invoke-virtual {v1, v0}, Ljava/io/DataInputStream;.readFully:([B)V // method@04f2 │ │ +02b23a: 2201 f600 |0023: new-instance v1, Ljava/io/ByteArrayInputStream; // type@00f6 │ │ +02b23e: 7020 e104 0100 |0025: invoke-direct {v1, v0}, Ljava/io/ByteArrayInputStream;.:([B)V // method@04e1 │ │ +02b244: 5b31 9b03 |0028: iput-object v1, v3, Lutil/http/HttpChunkedInputStream;.bytesBuf:Ljava/io/ByteArrayInputStream; // field@039b │ │ +02b248: 2803 |002a: goto 002d // +0003 │ │ +02b24a: 5c32 9c03 |002b: iput-boolean v2, v3, Lutil/http/HttpChunkedInputStream;.eof:Z // field@039c │ │ +02b24e: 5430 9d03 |002d: iget-object v0, v3, Lutil/http/HttpChunkedInputStream;.underlying:Ljava/io/DataInputStream; // field@039d │ │ +02b252: 7110 a107 0000 |002f: invoke-static {v0}, Lutil/Utils;.readLineFromStreamRN:(Ljava/io/InputStream;)Ljava/lang/String; // method@07a1 │ │ +02b258: 0e00 |0032: return-void │ │ +02b25a: 0d00 |0033: move-exception v0 │ │ +02b25c: 2201 0001 |0034: new-instance v1, Ljava/io/IOException; // type@0100 │ │ +02b260: 6e10 6105 0000 |0036: invoke-virtual {v0}, Ljava/lang/Exception;.toString:()Ljava/lang/String; // method@0561 │ │ +02b266: 0c00 |0039: move-result-object v0 │ │ +02b268: 7020 2105 0100 |003a: invoke-direct {v1, v0}, Ljava/io/IOException;.:(Ljava/lang/String;)V // method@0521 │ │ +02b26e: 2701 |003d: throw v1 │ │ +02b270: 2200 fa00 |003e: new-instance v0, Ljava/io/EOFException; // type@00fa │ │ +02b274: 1a01 ef01 |0040: const-string v1, "Invalid end of ChunkedInputStream!" // string@01ef │ │ +02b278: 7020 0005 1000 |0042: invoke-direct {v0, v1}, Ljava/io/EOFException;.:(Ljava/lang/String;)V // method@0500 │ │ +02b27e: 2700 |0045: throw v0 │ │ catches : 1 │ │ 0x0016 - 0x001a │ │ Ljava/lang/Exception; -> 0x0033 │ │ positions : │ │ 0x0000 line=74 │ │ 0x0008 line=79 │ │ 0x0011 line=80 │ │ @@ -33883,22 +33883,22 @@ │ │ type : '()I' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 11 16-bit code units │ │ -02b0ac: |[02b0ac] util.http.HttpChunkedInputStream.available:()I │ │ -02b0bc: 5410 9b03 |0000: iget-object v0, v1, Lutil/http/HttpChunkedInputStream;.bytesBuf:Ljava/io/ByteArrayInputStream; // field@039b │ │ -02b0c0: 3800 0700 |0002: if-eqz v0, 0009 // +0007 │ │ -02b0c4: 6e10 e304 0000 |0004: invoke-virtual {v0}, Ljava/io/ByteArrayInputStream;.available:()I // method@04e3 │ │ -02b0ca: 0a00 |0007: move-result v0 │ │ -02b0cc: 0f00 |0008: return v0 │ │ -02b0ce: 1200 |0009: const/4 v0, #int 0 // #0 │ │ -02b0d0: 0f00 |000a: return v0 │ │ +02b0a8: |[02b0a8] util.http.HttpChunkedInputStream.available:()I │ │ +02b0b8: 5410 9b03 |0000: iget-object v0, v1, Lutil/http/HttpChunkedInputStream;.bytesBuf:Ljava/io/ByteArrayInputStream; // field@039b │ │ +02b0bc: 3800 0700 |0002: if-eqz v0, 0009 // +0007 │ │ +02b0c0: 6e10 e304 0000 |0004: invoke-virtual {v0}, Ljava/io/ByteArrayInputStream;.available:()I // method@04e3 │ │ +02b0c6: 0a00 |0007: move-result v0 │ │ +02b0c8: 0f00 |0008: return v0 │ │ +02b0ca: 1200 |0009: const/4 v0, #int 0 // #0 │ │ +02b0cc: 0f00 |000a: return v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=60 │ │ 0x0004 line=61 │ │ locals : │ │ 0x0000 - 0x000b reg=1 this Lutil/http/HttpChunkedInputStream; │ │ │ │ @@ -33907,49 +33907,49 @@ │ │ type : '()V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 1 │ │ ins : 1 │ │ outs : 0 │ │ insns size : 1 16-bit code units │ │ -02b1d4: |[02b1d4] util.http.HttpChunkedInputStream.close:()V │ │ -02b1e4: 0e00 |0000: return-void │ │ +02b1d0: |[02b1d0] util.http.HttpChunkedInputStream.close:()V │ │ +02b1e0: 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 │ │ -02b0d4: |[02b0d4] util.http.HttpChunkedInputStream.read:()I │ │ -02b0e4: 6e10 e907 0200 |0000: invoke-virtual {v2}, Lutil/http/HttpChunkedInputStream;.available:()I // method@07e9 │ │ -02b0ea: 0a00 |0003: move-result v0 │ │ -02b0ec: 3800 0900 |0004: if-eqz v0, 000d // +0009 │ │ -02b0f0: 5420 9b03 |0006: iget-object v0, v2, Lutil/http/HttpChunkedInputStream;.bytesBuf:Ljava/io/ByteArrayInputStream; // field@039b │ │ -02b0f4: 6e10 e404 0000 |0008: invoke-virtual {v0}, Ljava/io/ByteArrayInputStream;.read:()I // method@04e4 │ │ -02b0fa: 0a00 |000b: move-result v0 │ │ -02b0fc: 0f00 |000c: return v0 │ │ -02b0fe: 5520 9c03 |000d: iget-boolean v0, v2, Lutil/http/HttpChunkedInputStream;.eof:Z // field@039c │ │ -02b102: 12f1 |000f: const/4 v1, #int -1 // #ff │ │ -02b104: 3800 0300 |0010: if-eqz v0, 0013 // +0003 │ │ -02b108: 0f01 |0012: return v1 │ │ -02b10a: 7010 ee07 0200 |0013: invoke-direct {v2}, Lutil/http/HttpChunkedInputStream;.readNextChunk:()V // method@07ee │ │ -02b110: 5520 9c03 |0016: iget-boolean v0, v2, Lutil/http/HttpChunkedInputStream;.eof:Z // field@039c │ │ -02b114: 3800 0300 |0018: if-eqz v0, 001b // +0003 │ │ -02b118: 0f01 |001a: return v1 │ │ -02b11a: 5420 9b03 |001b: iget-object v0, v2, Lutil/http/HttpChunkedInputStream;.bytesBuf:Ljava/io/ByteArrayInputStream; // field@039b │ │ -02b11e: 6e10 e404 0000 |001d: invoke-virtual {v0}, Ljava/io/ByteArrayInputStream;.read:()I // method@04e4 │ │ -02b124: 0a00 |0020: move-result v0 │ │ -02b126: 0f00 |0021: return v0 │ │ +02b0d0: |[02b0d0] util.http.HttpChunkedInputStream.read:()I │ │ +02b0e0: 6e10 e907 0200 |0000: invoke-virtual {v2}, Lutil/http/HttpChunkedInputStream;.available:()I // method@07e9 │ │ +02b0e6: 0a00 |0003: move-result v0 │ │ +02b0e8: 3800 0900 |0004: if-eqz v0, 000d // +0009 │ │ +02b0ec: 5420 9b03 |0006: iget-object v0, v2, Lutil/http/HttpChunkedInputStream;.bytesBuf:Ljava/io/ByteArrayInputStream; // field@039b │ │ +02b0f0: 6e10 e404 0000 |0008: invoke-virtual {v0}, Ljava/io/ByteArrayInputStream;.read:()I // method@04e4 │ │ +02b0f6: 0a00 |000b: move-result v0 │ │ +02b0f8: 0f00 |000c: return v0 │ │ +02b0fa: 5520 9c03 |000d: iget-boolean v0, v2, Lutil/http/HttpChunkedInputStream;.eof:Z // field@039c │ │ +02b0fe: 12f1 |000f: const/4 v1, #int -1 // #ff │ │ +02b100: 3800 0300 |0010: if-eqz v0, 0013 // +0003 │ │ +02b104: 0f01 |0012: return v1 │ │ +02b106: 7010 ee07 0200 |0013: invoke-direct {v2}, Lutil/http/HttpChunkedInputStream;.readNextChunk:()V // method@07ee │ │ +02b10c: 5520 9c03 |0016: iget-boolean v0, v2, Lutil/http/HttpChunkedInputStream;.eof:Z // field@039c │ │ +02b110: 3800 0300 |0018: if-eqz v0, 001b // +0003 │ │ +02b114: 0f01 |001a: return v1 │ │ +02b116: 5420 9b03 |001b: iget-object v0, v2, Lutil/http/HttpChunkedInputStream;.bytesBuf:Ljava/io/ByteArrayInputStream; // field@039b │ │ +02b11a: 6e10 e404 0000 |001d: invoke-virtual {v0}, Ljava/io/ByteArrayInputStream;.read:()I // method@04e4 │ │ +02b120: 0a00 |0020: move-result v0 │ │ +02b122: 0f00 |0021: return v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=24 │ │ 0x0006 line=25 │ │ 0x000d line=26 │ │ 0x0013 line=29 │ │ 0x0016 line=31 │ │ @@ -33962,20 +33962,20 @@ │ │ type : '([B)I' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 4 │ │ ins : 2 │ │ outs : 4 │ │ insns size : 7 16-bit code units │ │ -02b128: |[02b128] util.http.HttpChunkedInputStream.read:([B)I │ │ -02b138: 1200 |0000: const/4 v0, #int 0 // #0 │ │ -02b13a: 2131 |0001: array-length v1, v3 │ │ -02b13c: 6e40 ed07 3210 |0002: invoke-virtual {v2, v3, v0, v1}, Lutil/http/HttpChunkedInputStream;.read:([BII)I // method@07ed │ │ -02b142: 0a03 |0005: move-result v3 │ │ -02b144: 0f03 |0006: return v3 │ │ +02b124: |[02b124] util.http.HttpChunkedInputStream.read:([B)I │ │ +02b134: 1200 |0000: const/4 v0, #int 0 // #0 │ │ +02b136: 2131 |0001: array-length v1, v3 │ │ +02b138: 6e40 ed07 3210 |0002: invoke-virtual {v2, v3, v0, v1}, Lutil/http/HttpChunkedInputStream;.read:([BII)I // method@07ed │ │ +02b13e: 0a03 |0005: move-result v3 │ │ +02b140: 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 │ │ │ │ @@ -33984,34 +33984,34 @@ │ │ type : '([BII)I' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 6 │ │ ins : 4 │ │ outs : 4 │ │ insns size : 34 16-bit code units │ │ -02b148: |[02b148] util.http.HttpChunkedInputStream.read:([BII)I │ │ -02b158: 6e10 e907 0200 |0000: invoke-virtual {v2}, Lutil/http/HttpChunkedInputStream;.available:()I // method@07e9 │ │ -02b15e: 0a00 |0003: move-result v0 │ │ -02b160: 3800 0900 |0004: if-eqz v0, 000d // +0009 │ │ -02b164: 5420 9b03 |0006: iget-object v0, v2, Lutil/http/HttpChunkedInputStream;.bytesBuf:Ljava/io/ByteArrayInputStream; // field@039b │ │ -02b168: 6e40 e504 3054 |0008: invoke-virtual {v0, v3, v4, v5}, Ljava/io/ByteArrayInputStream;.read:([BII)I // method@04e5 │ │ -02b16e: 0a03 |000b: move-result v3 │ │ -02b170: 0f03 |000c: return v3 │ │ -02b172: 5520 9c03 |000d: iget-boolean v0, v2, Lutil/http/HttpChunkedInputStream;.eof:Z // field@039c │ │ -02b176: 12f1 |000f: const/4 v1, #int -1 // #ff │ │ -02b178: 3800 0300 |0010: if-eqz v0, 0013 // +0003 │ │ -02b17c: 0f01 |0012: return v1 │ │ -02b17e: 7010 ee07 0200 |0013: invoke-direct {v2}, Lutil/http/HttpChunkedInputStream;.readNextChunk:()V // method@07ee │ │ -02b184: 5520 9c03 |0016: iget-boolean v0, v2, Lutil/http/HttpChunkedInputStream;.eof:Z // field@039c │ │ -02b188: 3800 0300 |0018: if-eqz v0, 001b // +0003 │ │ -02b18c: 0f01 |001a: return v1 │ │ -02b18e: 5420 9b03 |001b: iget-object v0, v2, Lutil/http/HttpChunkedInputStream;.bytesBuf:Ljava/io/ByteArrayInputStream; // field@039b │ │ -02b192: 6e40 e504 3054 |001d: invoke-virtual {v0, v3, v4, v5}, Ljava/io/ByteArrayInputStream;.read:([BII)I // method@04e5 │ │ -02b198: 0a03 |0020: move-result v3 │ │ -02b19a: 0f03 |0021: return v3 │ │ +02b144: |[02b144] util.http.HttpChunkedInputStream.read:([BII)I │ │ +02b154: 6e10 e907 0200 |0000: invoke-virtual {v2}, Lutil/http/HttpChunkedInputStream;.available:()I // method@07e9 │ │ +02b15a: 0a00 |0003: move-result v0 │ │ +02b15c: 3800 0900 |0004: if-eqz v0, 000d // +0009 │ │ +02b160: 5420 9b03 |0006: iget-object v0, v2, Lutil/http/HttpChunkedInputStream;.bytesBuf:Ljava/io/ByteArrayInputStream; // field@039b │ │ +02b164: 6e40 e504 3054 |0008: invoke-virtual {v0, v3, v4, v5}, Ljava/io/ByteArrayInputStream;.read:([BII)I // method@04e5 │ │ +02b16a: 0a03 |000b: move-result v3 │ │ +02b16c: 0f03 |000c: return v3 │ │ +02b16e: 5520 9c03 |000d: iget-boolean v0, v2, Lutil/http/HttpChunkedInputStream;.eof:Z // field@039c │ │ +02b172: 12f1 |000f: const/4 v1, #int -1 // #ff │ │ +02b174: 3800 0300 |0010: if-eqz v0, 0013 // +0003 │ │ +02b178: 0f01 |0012: return v1 │ │ +02b17a: 7010 ee07 0200 |0013: invoke-direct {v2}, Lutil/http/HttpChunkedInputStream;.readNextChunk:()V // method@07ee │ │ +02b180: 5520 9c03 |0016: iget-boolean v0, v2, Lutil/http/HttpChunkedInputStream;.eof:Z // field@039c │ │ +02b184: 3800 0300 |0018: if-eqz v0, 001b // +0003 │ │ +02b188: 0f01 |001a: return v1 │ │ +02b18a: 5420 9b03 |001b: iget-object v0, v2, Lutil/http/HttpChunkedInputStream;.bytesBuf:Ljava/io/ByteArrayInputStream; // field@039b │ │ +02b18e: 6e40 e504 3054 |001d: invoke-virtual {v0, v3, v4, v5}, Ljava/io/ByteArrayInputStream;.read:([BII)I // method@04e5 │ │ +02b194: 0a03 |0020: move-result v3 │ │ +02b196: 0f03 |0021: return v3 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=40 │ │ 0x0006 line=41 │ │ 0x000d line=42 │ │ 0x0013 line=45 │ │ 0x0016 line=47 │ │ @@ -34145,165 +34145,165 @@ │ │ type : '()V' │ │ access : 0x10008 (STATIC CONSTRUCTOR) │ │ code - │ │ registers : 3 │ │ ins : 0 │ │ outs : 0 │ │ insns size : 233 16-bit code units │ │ -02b7b4: |[02b7b4] util.http.HttpHeader.:()V │ │ -02b7c4: 1300 2700 |0000: const/16 v0, #int 39 // #27 │ │ -02b7c8: 2300 ad01 |0002: new-array v0, v0, [Ljava/lang/String; // type@01ad │ │ -02b7cc: 1a01 e700 |0004: const-string v1, "Cache-Control" // string@00e7 │ │ -02b7d0: 1202 |0006: const/4 v2, #int 0 // #0 │ │ -02b7d2: 4d01 0002 |0007: aput-object v1, v0, v2 │ │ -02b7d6: 1a01 0d01 |0009: const-string v1, "Connection" // string@010d │ │ -02b7da: 1212 |000b: const/4 v2, #int 1 // #1 │ │ -02b7dc: 4d01 0002 |000c: aput-object v1, v0, v2 │ │ -02b7e0: 1a01 6101 |000e: const-string v1, "Date" // string@0161 │ │ -02b7e4: 1222 |0010: const/4 v2, #int 2 // #2 │ │ -02b7e6: 4d01 0002 |0011: aput-object v1, v0, v2 │ │ -02b7ea: 1a01 1304 |0013: const-string v1, "Pragma" // string@0413 │ │ -02b7ee: 1232 |0015: const/4 v2, #int 3 // #3 │ │ -02b7f0: 4d01 0002 |0016: aput-object v1, v0, v2 │ │ -02b7f4: 1a01 7d04 |0018: const-string v1, "Trailer" // string@047d │ │ -02b7f8: 1242 |001a: const/4 v2, #int 4 // #4 │ │ -02b7fa: 4d01 0002 |001b: aput-object v1, v0, v2 │ │ -02b7fe: 1a01 7e04 |001d: const-string v1, "Transfer-Encoding" // string@047e │ │ -02b802: 1252 |001f: const/4 v2, #int 5 // #5 │ │ -02b804: 4d01 0002 |0020: aput-object v1, v0, v2 │ │ -02b808: 1a01 9104 |0022: const-string v1, "Upgrade" // string@0491 │ │ -02b80c: 1262 |0024: const/4 v2, #int 6 // #6 │ │ -02b80e: 4d01 0002 |0025: aput-object v1, v0, v2 │ │ -02b812: 1a01 d404 |0027: const-string v1, "Via" // string@04d4 │ │ -02b816: 1272 |0029: const/4 v2, #int 7 // #7 │ │ -02b818: 4d01 0002 |002a: aput-object v1, v0, v2 │ │ -02b81c: 1a01 de04 |002c: const-string v1, "Warning" // string@04de │ │ -02b820: 1302 0800 |002e: const/16 v2, #int 8 // #8 │ │ -02b824: 4d01 0002 |0030: aput-object v1, v0, v2 │ │ -02b828: 1a01 b500 |0032: const-string v1, "Accept" // string@00b5 │ │ -02b82c: 1302 0900 |0034: const/16 v2, #int 9 // #9 │ │ -02b830: 4d01 0002 |0036: aput-object v1, v0, v2 │ │ -02b834: 1a01 b600 |0038: const-string v1, "Accept-Charset" // string@00b6 │ │ -02b838: 1302 0a00 |003a: const/16 v2, #int 10 // #a │ │ -02b83c: 4d01 0002 |003c: aput-object v1, v0, v2 │ │ -02b840: 1a01 b700 |003e: const-string v1, "Accept-Encoding" // string@00b7 │ │ -02b844: 1302 0b00 |0040: const/16 v2, #int 11 // #b │ │ -02b848: 4d01 0002 |0042: aput-object v1, v0, v2 │ │ -02b84c: 1a01 b800 |0044: const-string v1, "Accept-Language" // string@00b8 │ │ -02b850: 1302 0c00 |0046: const/16 v2, #int 12 // #c │ │ -02b854: 4d01 0002 |0048: aput-object v1, v0, v2 │ │ -02b858: 1a01 c500 |004a: const-string v1, "Authorization" // string@00c5 │ │ -02b85c: 1302 0d00 |004c: const/16 v2, #int 13 // #d │ │ -02b860: 4d01 0002 |004e: aput-object v1, v0, v2 │ │ -02b864: 1a01 9501 |0050: const-string v1, "Expect" // string@0195 │ │ -02b868: 1302 0e00 |0052: const/16 v2, #int 14 // #e │ │ -02b86c: 4d01 0002 |0054: aput-object v1, v0, v2 │ │ -02b870: 1a01 a901 |0056: const-string v1, "From" // string@01a9 │ │ -02b874: 1302 0f00 |0058: const/16 v2, #int 15 // #f │ │ -02b878: 4d01 0002 |005a: aput-object v1, v0, v2 │ │ -02b87c: 1a01 b701 |005c: const-string v1, "Host" // string@01b7 │ │ -02b880: 1302 1000 |005e: const/16 v2, #int 16 // #10 │ │ -02b884: 4d01 0002 |0060: aput-object v1, v0, v2 │ │ -02b888: 1a01 dd01 |0062: const-string v1, "If-Match" // string@01dd │ │ -02b88c: 1302 1100 |0064: const/16 v2, #int 17 // #11 │ │ -02b890: 4d01 0002 |0066: aput-object v1, v0, v2 │ │ -02b894: 1a01 de01 |0068: const-string v1, "If-Modified-Since" // string@01de │ │ -02b898: 1302 1200 |006a: const/16 v2, #int 18 // #12 │ │ -02b89c: 4d01 0002 |006c: aput-object v1, v0, v2 │ │ -02b8a0: 1a01 df01 |006e: const-string v1, "If-None-Match" // string@01df │ │ -02b8a4: 1302 1300 |0070: const/16 v2, #int 19 // #13 │ │ -02b8a8: 4d01 0002 |0072: aput-object v1, v0, v2 │ │ -02b8ac: 1a01 e001 |0074: const-string v1, "If-Range" // string@01e0 │ │ -02b8b0: 1302 1400 |0076: const/16 v2, #int 20 // #14 │ │ -02b8b4: 4d01 0002 |0078: aput-object v1, v0, v2 │ │ -02b8b8: 1a01 e101 |007a: const-string v1, "If-Unmodified-Since" // string@01e1 │ │ -02b8bc: 1302 1500 |007c: const/16 v2, #int 21 // #15 │ │ -02b8c0: 4d01 0002 |007e: aput-object v1, v0, v2 │ │ -02b8c4: 1a01 d803 |0080: const-string v1, "Max-Forwards" // string@03d8 │ │ -02b8c8: 1302 1600 |0082: const/16 v2, #int 22 // #16 │ │ -02b8cc: 4d01 0002 |0084: aput-object v1, v0, v2 │ │ -02b8d0: 1a01 1604 |0086: const-string v1, "Proxy-Authorization" // string@0416 │ │ -02b8d4: 1302 1700 |0088: const/16 v2, #int 23 // #17 │ │ -02b8d8: 4d01 0002 |008a: aput-object v1, v0, v2 │ │ -02b8dc: 1a01 1f04 |008c: const-string v1, "Range" // string@041f │ │ -02b8e0: 1302 1800 |008e: const/16 v2, #int 24 // #18 │ │ -02b8e4: 4d01 0002 |0090: aput-object v1, v0, v2 │ │ -02b8e8: 1a01 2904 |0092: const-string v1, "Referer" // string@0429 │ │ -02b8ec: 1302 1900 |0094: const/16 v2, #int 25 // #19 │ │ -02b8f0: 4d01 0002 |0096: aput-object v1, v0, v2 │ │ -02b8f4: 1a01 6904 |0098: const-string v1, "TE" // string@0469 │ │ -02b8f8: 1302 1a00 |009a: const/16 v2, #int 26 // #1a │ │ -02b8fc: 4d01 0002 |009c: aput-object v1, v0, v2 │ │ -02b900: 1a01 9204 |009e: const-string v1, "User-Agent" // string@0492 │ │ -02b904: 1302 1b00 |00a0: const/16 v2, #int 27 // #1b │ │ -02b908: 4d01 0002 |00a2: aput-object v1, v0, v2 │ │ -02b90c: 1a01 be00 |00a4: const-string v1, "Allow" // string@00be │ │ -02b910: 1302 1c00 |00a6: const/16 v2, #int 28 // #1c │ │ -02b914: 4d01 0002 |00a8: aput-object v1, v0, v2 │ │ -02b918: 1a01 1001 |00aa: const-string v1, "Content-Encoding" // string@0110 │ │ -02b91c: 1302 1d00 |00ac: const/16 v2, #int 29 // #1d │ │ -02b920: 4d01 0002 |00ae: aput-object v1, v0, v2 │ │ -02b924: 1a01 1101 |00b0: const-string v1, "Content-Language" // string@0111 │ │ -02b928: 1302 1e00 |00b2: const/16 v2, #int 30 // #1e │ │ -02b92c: 4d01 0002 |00b4: aput-object v1, v0, v2 │ │ -02b930: 1a01 1201 |00b6: const-string v1, "Content-Length" // string@0112 │ │ -02b934: 1302 1f00 |00b8: const/16 v2, #int 31 // #1f │ │ -02b938: 4d01 0002 |00ba: aput-object v1, v0, v2 │ │ -02b93c: 1a01 1301 |00bc: const-string v1, "Content-Location" // string@0113 │ │ -02b940: 1302 2000 |00be: const/16 v2, #int 32 // #20 │ │ -02b944: 4d01 0002 |00c0: aput-object v1, v0, v2 │ │ -02b948: 1a01 1401 |00c2: const-string v1, "Content-MD5" // string@0114 │ │ -02b94c: 1302 2100 |00c4: const/16 v2, #int 33 // #21 │ │ -02b950: 4d01 0002 |00c6: aput-object v1, v0, v2 │ │ -02b954: 1a01 1501 |00c8: const-string v1, "Content-Range" // string@0115 │ │ -02b958: 1302 2200 |00ca: const/16 v2, #int 34 // #22 │ │ -02b95c: 4d01 0002 |00cc: aput-object v1, v0, v2 │ │ -02b960: 1a01 1601 |00ce: const-string v1, "Content-Type" // string@0116 │ │ -02b964: 1302 2300 |00d0: const/16 v2, #int 35 // #23 │ │ -02b968: 4d01 0002 |00d2: aput-object v1, v0, v2 │ │ -02b96c: 1a01 9601 |00d4: const-string v1, "Expires" // string@0196 │ │ -02b970: 1302 2400 |00d6: const/16 v2, #int 36 // #24 │ │ -02b974: 4d01 0002 |00d8: aput-object v1, v0, v2 │ │ -02b978: 1a01 9b02 |00da: const-string v1, "Last-Modified" // string@029b │ │ -02b97c: 1302 2500 |00dc: const/16 v2, #int 37 // #25 │ │ -02b980: 4d01 0002 |00de: aput-object v1, v0, v2 │ │ -02b984: 1a01 db06 |00e0: const-string v1, "extension-header" // string@06db │ │ -02b988: 1302 2600 |00e2: const/16 v2, #int 38 // #26 │ │ -02b98c: 4d01 0002 |00e4: aput-object v1, v0, v2 │ │ -02b990: 6900 ac03 |00e6: sput-object v0, Lutil/http/HttpHeader;.reqparamSequence:[Ljava/lang/String; // field@03ac │ │ -02b994: 0e00 |00e8: return-void │ │ +02b7b0: |[02b7b0] util.http.HttpHeader.:()V │ │ +02b7c0: 1300 2700 |0000: const/16 v0, #int 39 // #27 │ │ +02b7c4: 2300 ad01 |0002: new-array v0, v0, [Ljava/lang/String; // type@01ad │ │ +02b7c8: 1a01 e700 |0004: const-string v1, "Cache-Control" // string@00e7 │ │ +02b7cc: 1202 |0006: const/4 v2, #int 0 // #0 │ │ +02b7ce: 4d01 0002 |0007: aput-object v1, v0, v2 │ │ +02b7d2: 1a01 0d01 |0009: const-string v1, "Connection" // string@010d │ │ +02b7d6: 1212 |000b: const/4 v2, #int 1 // #1 │ │ +02b7d8: 4d01 0002 |000c: aput-object v1, v0, v2 │ │ +02b7dc: 1a01 6101 |000e: const-string v1, "Date" // string@0161 │ │ +02b7e0: 1222 |0010: const/4 v2, #int 2 // #2 │ │ +02b7e2: 4d01 0002 |0011: aput-object v1, v0, v2 │ │ +02b7e6: 1a01 1304 |0013: const-string v1, "Pragma" // string@0413 │ │ +02b7ea: 1232 |0015: const/4 v2, #int 3 // #3 │ │ +02b7ec: 4d01 0002 |0016: aput-object v1, v0, v2 │ │ +02b7f0: 1a01 7d04 |0018: const-string v1, "Trailer" // string@047d │ │ +02b7f4: 1242 |001a: const/4 v2, #int 4 // #4 │ │ +02b7f6: 4d01 0002 |001b: aput-object v1, v0, v2 │ │ +02b7fa: 1a01 7e04 |001d: const-string v1, "Transfer-Encoding" // string@047e │ │ +02b7fe: 1252 |001f: const/4 v2, #int 5 // #5 │ │ +02b800: 4d01 0002 |0020: aput-object v1, v0, v2 │ │ +02b804: 1a01 9104 |0022: const-string v1, "Upgrade" // string@0491 │ │ +02b808: 1262 |0024: const/4 v2, #int 6 // #6 │ │ +02b80a: 4d01 0002 |0025: aput-object v1, v0, v2 │ │ +02b80e: 1a01 d404 |0027: const-string v1, "Via" // string@04d4 │ │ +02b812: 1272 |0029: const/4 v2, #int 7 // #7 │ │ +02b814: 4d01 0002 |002a: aput-object v1, v0, v2 │ │ +02b818: 1a01 de04 |002c: const-string v1, "Warning" // string@04de │ │ +02b81c: 1302 0800 |002e: const/16 v2, #int 8 // #8 │ │ +02b820: 4d01 0002 |0030: aput-object v1, v0, v2 │ │ +02b824: 1a01 b500 |0032: const-string v1, "Accept" // string@00b5 │ │ +02b828: 1302 0900 |0034: const/16 v2, #int 9 // #9 │ │ +02b82c: 4d01 0002 |0036: aput-object v1, v0, v2 │ │ +02b830: 1a01 b600 |0038: const-string v1, "Accept-Charset" // string@00b6 │ │ +02b834: 1302 0a00 |003a: const/16 v2, #int 10 // #a │ │ +02b838: 4d01 0002 |003c: aput-object v1, v0, v2 │ │ +02b83c: 1a01 b700 |003e: const-string v1, "Accept-Encoding" // string@00b7 │ │ +02b840: 1302 0b00 |0040: const/16 v2, #int 11 // #b │ │ +02b844: 4d01 0002 |0042: aput-object v1, v0, v2 │ │ +02b848: 1a01 b800 |0044: const-string v1, "Accept-Language" // string@00b8 │ │ +02b84c: 1302 0c00 |0046: const/16 v2, #int 12 // #c │ │ +02b850: 4d01 0002 |0048: aput-object v1, v0, v2 │ │ +02b854: 1a01 c500 |004a: const-string v1, "Authorization" // string@00c5 │ │ +02b858: 1302 0d00 |004c: const/16 v2, #int 13 // #d │ │ +02b85c: 4d01 0002 |004e: aput-object v1, v0, v2 │ │ +02b860: 1a01 9501 |0050: const-string v1, "Expect" // string@0195 │ │ +02b864: 1302 0e00 |0052: const/16 v2, #int 14 // #e │ │ +02b868: 4d01 0002 |0054: aput-object v1, v0, v2 │ │ +02b86c: 1a01 a901 |0056: const-string v1, "From" // string@01a9 │ │ +02b870: 1302 0f00 |0058: const/16 v2, #int 15 // #f │ │ +02b874: 4d01 0002 |005a: aput-object v1, v0, v2 │ │ +02b878: 1a01 b701 |005c: const-string v1, "Host" // string@01b7 │ │ +02b87c: 1302 1000 |005e: const/16 v2, #int 16 // #10 │ │ +02b880: 4d01 0002 |0060: aput-object v1, v0, v2 │ │ +02b884: 1a01 dd01 |0062: const-string v1, "If-Match" // string@01dd │ │ +02b888: 1302 1100 |0064: const/16 v2, #int 17 // #11 │ │ +02b88c: 4d01 0002 |0066: aput-object v1, v0, v2 │ │ +02b890: 1a01 de01 |0068: const-string v1, "If-Modified-Since" // string@01de │ │ +02b894: 1302 1200 |006a: const/16 v2, #int 18 // #12 │ │ +02b898: 4d01 0002 |006c: aput-object v1, v0, v2 │ │ +02b89c: 1a01 df01 |006e: const-string v1, "If-None-Match" // string@01df │ │ +02b8a0: 1302 1300 |0070: const/16 v2, #int 19 // #13 │ │ +02b8a4: 4d01 0002 |0072: aput-object v1, v0, v2 │ │ +02b8a8: 1a01 e001 |0074: const-string v1, "If-Range" // string@01e0 │ │ +02b8ac: 1302 1400 |0076: const/16 v2, #int 20 // #14 │ │ +02b8b0: 4d01 0002 |0078: aput-object v1, v0, v2 │ │ +02b8b4: 1a01 e101 |007a: const-string v1, "If-Unmodified-Since" // string@01e1 │ │ +02b8b8: 1302 1500 |007c: const/16 v2, #int 21 // #15 │ │ +02b8bc: 4d01 0002 |007e: aput-object v1, v0, v2 │ │ +02b8c0: 1a01 d803 |0080: const-string v1, "Max-Forwards" // string@03d8 │ │ +02b8c4: 1302 1600 |0082: const/16 v2, #int 22 // #16 │ │ +02b8c8: 4d01 0002 |0084: aput-object v1, v0, v2 │ │ +02b8cc: 1a01 1604 |0086: const-string v1, "Proxy-Authorization" // string@0416 │ │ +02b8d0: 1302 1700 |0088: const/16 v2, #int 23 // #17 │ │ +02b8d4: 4d01 0002 |008a: aput-object v1, v0, v2 │ │ +02b8d8: 1a01 1f04 |008c: const-string v1, "Range" // string@041f │ │ +02b8dc: 1302 1800 |008e: const/16 v2, #int 24 // #18 │ │ +02b8e0: 4d01 0002 |0090: aput-object v1, v0, v2 │ │ +02b8e4: 1a01 2904 |0092: const-string v1, "Referer" // string@0429 │ │ +02b8e8: 1302 1900 |0094: const/16 v2, #int 25 // #19 │ │ +02b8ec: 4d01 0002 |0096: aput-object v1, v0, v2 │ │ +02b8f0: 1a01 6904 |0098: const-string v1, "TE" // string@0469 │ │ +02b8f4: 1302 1a00 |009a: const/16 v2, #int 26 // #1a │ │ +02b8f8: 4d01 0002 |009c: aput-object v1, v0, v2 │ │ +02b8fc: 1a01 9204 |009e: const-string v1, "User-Agent" // string@0492 │ │ +02b900: 1302 1b00 |00a0: const/16 v2, #int 27 // #1b │ │ +02b904: 4d01 0002 |00a2: aput-object v1, v0, v2 │ │ +02b908: 1a01 be00 |00a4: const-string v1, "Allow" // string@00be │ │ +02b90c: 1302 1c00 |00a6: const/16 v2, #int 28 // #1c │ │ +02b910: 4d01 0002 |00a8: aput-object v1, v0, v2 │ │ +02b914: 1a01 1001 |00aa: const-string v1, "Content-Encoding" // string@0110 │ │ +02b918: 1302 1d00 |00ac: const/16 v2, #int 29 // #1d │ │ +02b91c: 4d01 0002 |00ae: aput-object v1, v0, v2 │ │ +02b920: 1a01 1101 |00b0: const-string v1, "Content-Language" // string@0111 │ │ +02b924: 1302 1e00 |00b2: const/16 v2, #int 30 // #1e │ │ +02b928: 4d01 0002 |00b4: aput-object v1, v0, v2 │ │ +02b92c: 1a01 1201 |00b6: const-string v1, "Content-Length" // string@0112 │ │ +02b930: 1302 1f00 |00b8: const/16 v2, #int 31 // #1f │ │ +02b934: 4d01 0002 |00ba: aput-object v1, v0, v2 │ │ +02b938: 1a01 1301 |00bc: const-string v1, "Content-Location" // string@0113 │ │ +02b93c: 1302 2000 |00be: const/16 v2, #int 32 // #20 │ │ +02b940: 4d01 0002 |00c0: aput-object v1, v0, v2 │ │ +02b944: 1a01 1401 |00c2: const-string v1, "Content-MD5" // string@0114 │ │ +02b948: 1302 2100 |00c4: const/16 v2, #int 33 // #21 │ │ +02b94c: 4d01 0002 |00c6: aput-object v1, v0, v2 │ │ +02b950: 1a01 1501 |00c8: const-string v1, "Content-Range" // string@0115 │ │ +02b954: 1302 2200 |00ca: const/16 v2, #int 34 // #22 │ │ +02b958: 4d01 0002 |00cc: aput-object v1, v0, v2 │ │ +02b95c: 1a01 1601 |00ce: const-string v1, "Content-Type" // string@0116 │ │ +02b960: 1302 2300 |00d0: const/16 v2, #int 35 // #23 │ │ +02b964: 4d01 0002 |00d2: aput-object v1, v0, v2 │ │ +02b968: 1a01 9601 |00d4: const-string v1, "Expires" // string@0196 │ │ +02b96c: 1302 2400 |00d6: const/16 v2, #int 36 // #24 │ │ +02b970: 4d01 0002 |00d8: aput-object v1, v0, v2 │ │ +02b974: 1a01 9b02 |00da: const-string v1, "Last-Modified" // string@029b │ │ +02b978: 1302 2500 |00dc: const/16 v2, #int 37 // #25 │ │ +02b97c: 4d01 0002 |00de: aput-object v1, v0, v2 │ │ +02b980: 1a01 db06 |00e0: const-string v1, "extension-header" // string@06db │ │ +02b984: 1302 2600 |00e2: const/16 v2, #int 38 // #26 │ │ +02b988: 4d01 0002 |00e4: aput-object v1, v0, v2 │ │ +02b98c: 6900 ac03 |00e6: sput-object v0, Lutil/http/HttpHeader;.reqparamSequence:[Ljava/lang/String; // field@03ac │ │ +02b990: 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 │ │ -02b998: |[02b998] util.http.HttpHeader.:()V │ │ -02b9a8: 7010 7505 0100 |0000: invoke-direct {v1}, Ljava/lang/Object;.:()V // method@0575 │ │ -02b9ae: 1a00 0000 |0003: const-string v0, "" // string@0000 │ │ -02b9b2: 5b10 aa03 |0005: iput-object v0, v1, Lutil/http/HttpHeader;.remote_host_name:Ljava/lang/String; // field@03aa │ │ -02b9b6: 1240 |0007: const/4 v0, #int 4 // #4 │ │ -02b9b8: 5910 a903 |0008: iput v0, v1, Lutil/http/HttpHeader;.protocoll:I // field@03a9 │ │ -02b9bc: 1200 |000a: const/4 v0, #int 0 // #0 │ │ -02b9be: 5910 ab03 |000b: iput v0, v1, Lutil/http/HttpHeader;.remote_port:I // field@03ab │ │ -02b9c2: 5c10 ae03 |000d: iput-boolean v0, v1, Lutil/http/HttpHeader;.tunnelMode:Z // field@03ae │ │ -02b9c6: 12f0 |000f: const/4 v0, #int -1 // #ff │ │ -02b9c8: 5910 ad03 |0010: iput v0, v1, Lutil/http/HttpHeader;.responsecode:I // field@03ad │ │ -02b9cc: 1200 |0012: const/4 v0, #int 0 // #0 │ │ -02b9ce: 5b10 a503 |0013: iput-object v0, v1, Lutil/http/HttpHeader;._keys:Ljava/util/Vector; // field@03a5 │ │ -02b9d2: 5b10 a603 |0015: iput-object v0, v1, Lutil/http/HttpHeader;._mapping:Ljava/util/HashMap; // field@03a6 │ │ -02b9d6: 0e00 |0017: return-void │ │ +02b994: |[02b994] util.http.HttpHeader.:()V │ │ +02b9a4: 7010 7505 0100 |0000: invoke-direct {v1}, Ljava/lang/Object;.:()V // method@0575 │ │ +02b9aa: 1a00 0000 |0003: const-string v0, "" // string@0000 │ │ +02b9ae: 5b10 aa03 |0005: iput-object v0, v1, Lutil/http/HttpHeader;.remote_host_name:Ljava/lang/String; // field@03aa │ │ +02b9b2: 1240 |0007: const/4 v0, #int 4 // #4 │ │ +02b9b4: 5910 a903 |0008: iput v0, v1, Lutil/http/HttpHeader;.protocoll:I // field@03a9 │ │ +02b9b8: 1200 |000a: const/4 v0, #int 0 // #0 │ │ +02b9ba: 5910 ab03 |000b: iput v0, v1, Lutil/http/HttpHeader;.remote_port:I // field@03ab │ │ +02b9be: 5c10 ae03 |000d: iput-boolean v0, v1, Lutil/http/HttpHeader;.tunnelMode:Z // field@03ae │ │ +02b9c2: 12f0 |000f: const/4 v0, #int -1 // #ff │ │ +02b9c4: 5910 ad03 |0010: iput v0, v1, Lutil/http/HttpHeader;.responsecode:I // field@03ad │ │ +02b9c8: 1200 |0012: const/4 v0, #int 0 // #0 │ │ +02b9ca: 5b10 a503 |0013: iput-object v0, v1, Lutil/http/HttpHeader;._keys:Ljava/util/Vector; // field@03a5 │ │ +02b9ce: 5b10 a603 |0015: iput-object v0, v1, Lutil/http/HttpHeader;._mapping:Ljava/util/HashMap; // field@03a6 │ │ +02b9d2: 0e00 |0017: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=154 │ │ 0x0003 line=50 │ │ 0x0008 line=54 │ │ 0x000b line=55 │ │ 0x000d line=57 │ │ @@ -34318,36 +34318,36 @@ │ │ type : '(I)V' │ │ access : 0x10001 (PUBLIC CONSTRUCTOR) │ │ code - │ │ registers : 3 │ │ ins : 2 │ │ outs : 1 │ │ insns size : 40 16-bit code units │ │ -02b9d8: |[02b9d8] util.http.HttpHeader.:(I)V │ │ -02b9e8: 7010 7505 0100 |0000: invoke-direct {v1}, Ljava/lang/Object;.:()V // method@0575 │ │ -02b9ee: 1a00 0000 |0003: const-string v0, "" // string@0000 │ │ -02b9f2: 5b10 aa03 |0005: iput-object v0, v1, Lutil/http/HttpHeader;.remote_host_name:Ljava/lang/String; // field@03aa │ │ -02b9f6: 1240 |0007: const/4 v0, #int 4 // #4 │ │ -02b9f8: 5910 a903 |0008: iput v0, v1, Lutil/http/HttpHeader;.protocoll:I // field@03a9 │ │ -02b9fc: 1200 |000a: const/4 v0, #int 0 // #0 │ │ -02b9fe: 5910 ab03 |000b: iput v0, v1, Lutil/http/HttpHeader;.remote_port:I // field@03ab │ │ -02ba02: 5c10 ae03 |000d: iput-boolean v0, v1, Lutil/http/HttpHeader;.tunnelMode:Z // field@03ae │ │ -02ba06: 12f0 |000f: const/4 v0, #int -1 // #ff │ │ -02ba08: 5910 ad03 |0010: iput v0, v1, Lutil/http/HttpHeader;.responsecode:I // field@03ad │ │ -02ba0c: 1200 |0012: const/4 v0, #int 0 // #0 │ │ -02ba0e: 5b10 a503 |0013: iput-object v0, v1, Lutil/http/HttpHeader;._keys:Ljava/util/Vector; // field@03a5 │ │ -02ba12: 5b10 a603 |0015: iput-object v0, v1, Lutil/http/HttpHeader;._mapping:Ljava/util/HashMap; // field@03a6 │ │ -02ba16: 2200 6a01 |0017: new-instance v0, Ljava/util/Vector; // type@016a │ │ -02ba1a: 7010 7706 0000 |0019: invoke-direct {v0}, Ljava/util/Vector;.:()V // method@0677 │ │ -02ba20: 5b10 a503 |001c: iput-object v0, v1, Lutil/http/HttpHeader;._keys:Ljava/util/Vector; // field@03a5 │ │ -02ba24: 2200 5801 |001e: new-instance v0, Ljava/util/HashMap; // type@0158 │ │ -02ba28: 7010 2606 0000 |0020: invoke-direct {v0}, Ljava/util/HashMap;.:()V // method@0626 │ │ -02ba2e: 5b10 a603 |0023: iput-object v0, v1, Lutil/http/HttpHeader;._mapping:Ljava/util/HashMap; // field@03a6 │ │ -02ba32: 5912 af03 |0025: iput v2, v1, Lutil/http/HttpHeader;.type:I // field@03af │ │ -02ba36: 0e00 |0027: return-void │ │ +02b9d4: |[02b9d4] util.http.HttpHeader.:(I)V │ │ +02b9e4: 7010 7505 0100 |0000: invoke-direct {v1}, Ljava/lang/Object;.:()V // method@0575 │ │ +02b9ea: 1a00 0000 |0003: const-string v0, "" // string@0000 │ │ +02b9ee: 5b10 aa03 |0005: iput-object v0, v1, Lutil/http/HttpHeader;.remote_host_name:Ljava/lang/String; // field@03aa │ │ +02b9f2: 1240 |0007: const/4 v0, #int 4 // #4 │ │ +02b9f4: 5910 a903 |0008: iput v0, v1, Lutil/http/HttpHeader;.protocoll:I // field@03a9 │ │ +02b9f8: 1200 |000a: const/4 v0, #int 0 // #0 │ │ +02b9fa: 5910 ab03 |000b: iput v0, v1, Lutil/http/HttpHeader;.remote_port:I // field@03ab │ │ +02b9fe: 5c10 ae03 |000d: iput-boolean v0, v1, Lutil/http/HttpHeader;.tunnelMode:Z // field@03ae │ │ +02ba02: 12f0 |000f: const/4 v0, #int -1 // #ff │ │ +02ba04: 5910 ad03 |0010: iput v0, v1, Lutil/http/HttpHeader;.responsecode:I // field@03ad │ │ +02ba08: 1200 |0012: const/4 v0, #int 0 // #0 │ │ +02ba0a: 5b10 a503 |0013: iput-object v0, v1, Lutil/http/HttpHeader;._keys:Ljava/util/Vector; // field@03a5 │ │ +02ba0e: 5b10 a603 |0015: iput-object v0, v1, Lutil/http/HttpHeader;._mapping:Ljava/util/HashMap; // field@03a6 │ │ +02ba12: 2200 6a01 |0017: new-instance v0, Ljava/util/Vector; // type@016a │ │ +02ba16: 7010 7706 0000 |0019: invoke-direct {v0}, Ljava/util/Vector;.:()V // method@0677 │ │ +02ba1c: 5b10 a503 |001c: iput-object v0, v1, Lutil/http/HttpHeader;._keys:Ljava/util/Vector; // field@03a5 │ │ +02ba20: 2200 5801 |001e: new-instance v0, Ljava/util/HashMap; // type@0158 │ │ +02ba24: 7010 2606 0000 |0020: invoke-direct {v0}, Ljava/util/HashMap;.:()V // method@0626 │ │ +02ba2a: 5b10 a603 |0023: iput-object v0, v1, Lutil/http/HttpHeader;._mapping:Ljava/util/HashMap; // field@03a6 │ │ +02ba2e: 5912 af03 |0025: iput v2, v1, Lutil/http/HttpHeader;.type:I // field@03af │ │ +02ba32: 0e00 |0027: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=144 │ │ 0x0003 line=50 │ │ 0x0008 line=54 │ │ 0x000b line=55 │ │ 0x000d line=57 │ │ @@ -34366,227 +34366,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 │ │ -02ba38: |[02ba38] util.http.HttpHeader.:(Ljava/io/InputStream;I)V │ │ -02ba48: 1a00 b001 |0000: const-string v0, "HTTP/1.1 " // string@01b0 │ │ -02ba4c: 7010 7505 0a00 |0002: invoke-direct {v10}, Ljava/lang/Object;.:()V // method@0575 │ │ -02ba52: 1a01 0000 |0005: const-string v1, "" // string@0000 │ │ -02ba56: 5ba1 aa03 |0007: iput-object v1, v10, Lutil/http/HttpHeader;.remote_host_name:Ljava/lang/String; // field@03aa │ │ -02ba5a: 1242 |0009: const/4 v2, #int 4 // #4 │ │ -02ba5c: 59a2 a903 |000a: iput v2, v10, Lutil/http/HttpHeader;.protocoll:I // field@03a9 │ │ -02ba60: 1202 |000c: const/4 v2, #int 0 // #0 │ │ -02ba62: 59a2 ab03 |000d: iput v2, v10, Lutil/http/HttpHeader;.remote_port:I // field@03ab │ │ -02ba66: 5ca2 ae03 |000f: iput-boolean v2, v10, Lutil/http/HttpHeader;.tunnelMode:Z // field@03ae │ │ -02ba6a: 12f3 |0011: const/4 v3, #int -1 // #ff │ │ -02ba6c: 59a3 ad03 |0012: iput v3, v10, Lutil/http/HttpHeader;.responsecode:I // field@03ad │ │ -02ba70: 1204 |0014: const/4 v4, #int 0 // #0 │ │ -02ba72: 5ba4 a503 |0015: iput-object v4, v10, Lutil/http/HttpHeader;._keys:Ljava/util/Vector; // field@03a5 │ │ -02ba76: 5ba4 a603 |0017: iput-object v4, v10, Lutil/http/HttpHeader;._mapping:Ljava/util/HashMap; // field@03a6 │ │ -02ba7a: 2204 6a01 |0019: new-instance v4, Ljava/util/Vector; // type@016a │ │ -02ba7e: 7010 7706 0400 |001b: invoke-direct {v4}, Ljava/util/Vector;.:()V // method@0677 │ │ -02ba84: 5ba4 a503 |001e: iput-object v4, v10, Lutil/http/HttpHeader;._keys:Ljava/util/Vector; // field@03a5 │ │ -02ba88: 2204 5801 |0020: new-instance v4, Ljava/util/HashMap; // type@0158 │ │ -02ba8c: 7010 2606 0400 |0022: invoke-direct {v4}, Ljava/util/HashMap;.:()V // method@0626 │ │ -02ba92: 5ba4 a603 |0025: iput-object v4, v10, Lutil/http/HttpHeader;._mapping:Ljava/util/HashMap; // field@03a6 │ │ -02ba96: 1214 |0027: const/4 v4, #int 1 // #1 │ │ -02ba98: 324c 0e00 |0028: if-eq v12, v4, 0036 // +000e │ │ -02ba9c: 1225 |002a: const/4 v5, #int 2 // #2 │ │ -02ba9e: 335c 0300 |002b: if-ne v12, v5, 002e // +0003 │ │ -02baa2: 2809 |002d: goto 0036 // +0009 │ │ -02baa4: 220b 0001 |002e: new-instance v11, Ljava/io/IOException; // type@0100 │ │ -02baa8: 1a0c d001 |0030: const-string v12, "INVALID TYPE!" // string@01d0 │ │ -02baac: 7020 2105 cb00 |0032: invoke-direct {v11, v12}, Ljava/io/IOException;.:(Ljava/lang/String;)V // method@0521 │ │ -02bab2: 270b |0035: throw v11 │ │ -02bab4: 59ac af03 |0036: iput v12, v10, Lutil/http/HttpHeader;.type:I // field@03af │ │ -02bab8: 7120 a007 4b00 |0038: invoke-static {v11, v4}, Lutil/Utils;.readLineFromStream:(Ljava/io/InputStream;Z)Ljava/lang/String; // method@07a0 │ │ -02babe: 0c05 |003b: move-result-object v5 │ │ -02bac0: 5ba5 a403 |003c: iput-object v5, v10, Lutil/http/HttpHeader;._first:Ljava/lang/String; // field@03a4 │ │ -02bac4: 6e20 8d05 1500 |003e: invoke-virtual {v5, v1}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058d │ │ -02baca: 0a05 |0041: move-result v5 │ │ -02bacc: 3905 6701 |0042: if-nez v5, 01a9 // +0167 │ │ -02bad0: 1a05 b701 |0044: const-string v5, "Host" // string@01b7 │ │ -02bad4: 334c 0d00 |0046: if-ne v12, v4, 0053 // +000d │ │ -02bad8: 7010 0108 0a00 |0048: invoke-direct {v10}, Lutil/http/HttpHeader;.parseURI:()V // method@0801 │ │ -02bade: 54a0 a703 |004b: iget-object v0, v10, Lutil/http/HttpHeader;.hostEntry:Ljava/lang/String; // field@03a7 │ │ -02bae2: 3800 4b00 |004d: if-eqz v0, 0098 // +004b │ │ -02bae6: 6e30 0508 5a00 |004f: invoke-virtual {v10, v5, v0}, Lutil/http/HttpHeader;.setValue:(Ljava/lang/String;Ljava/lang/String;)V // method@0805 │ │ -02baec: 2846 |0052: goto 0098 // +0046 │ │ -02baee: 54a6 a403 |0053: iget-object v6, v10, Lutil/http/HttpHeader;._first:Ljava/lang/String; // field@03a4 │ │ -02baf2: 6e10 9605 0600 |0055: invoke-virtual {v6}, Ljava/lang/String;.length:()I // method@0596 │ │ -02baf8: 0a06 |0058: move-result v6 │ │ -02bafa: 1a07 f801 |0059: const-string v7, "Invalid response header:" // string@01f8 │ │ -02bafe: 1308 0c00 |005b: const/16 v8, #int 12 // #c │ │ -02bb02: 3486 3801 |005d: if-lt v6, v8, 0195 // +0138 │ │ -02bb06: 54a6 a403 |005f: iget-object v6, v10, Lutil/http/HttpHeader;._first:Ljava/lang/String; // field@03a4 │ │ -02bb0a: 6e30 9d05 2608 |0061: invoke-virtual {v6, v2, v8}, Ljava/lang/String;.substring:(II)Ljava/lang/String; // method@059d │ │ -02bb10: 0c06 |0064: move-result-object v6 │ │ -02bb12: 6e10 9e05 0600 |0065: invoke-virtual {v6}, Ljava/lang/String;.toLowerCase:()Ljava/lang/String; // method@059e │ │ -02bb18: 0c06 |0068: move-result-object v6 │ │ -02bb1a: 1a09 1408 |0069: const-string v9, "http/" // string@0814 │ │ -02bb1e: 6e20 9b05 9600 |006b: invoke-virtual {v6, v9}, Ljava/lang/String;.startsWith:(Ljava/lang/String;)Z // method@059b │ │ -02bb24: 0a06 |006e: move-result v6 │ │ -02bb26: 3806 1201 |006f: if-eqz v6, 0181 // +0112 │ │ -02bb2a: 54a6 a403 |0071: iget-object v6, v10, Lutil/http/HttpHeader;._first:Ljava/lang/String; // field@03a4 │ │ -02bb2e: 1307 0900 |0073: const/16 v7, #int 9 // #9 │ │ -02bb32: 6e30 9d05 7608 |0075: invoke-virtual {v6, v7, v8}, Ljava/lang/String;.substring:(II)Ljava/lang/String; // method@059d │ │ -02bb38: 0c06 |0078: move-result-object v6 │ │ -02bb3a: 7110 6705 0600 |0079: invoke-static {v6}, Ljava/lang/Integer;.parseInt:(Ljava/lang/String;)I // method@0567 │ │ -02bb40: 0a06 |007c: move-result v6 │ │ -02bb42: 59a6 ad03 |007d: iput v6, v10, Lutil/http/HttpHeader;.responsecode:I // field@03ad │ │ -02bb46: 2206 2d01 |007f: new-instance v6, Ljava/lang/StringBuilder; // type@012d │ │ -02bb4a: 7020 aa05 0600 |0081: invoke-direct {v6, v0}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05aa │ │ -02bb50: 52a0 ad03 |0084: iget v0, v10, Lutil/http/HttpHeader;.responsecode:I // field@03ad │ │ -02bb54: 6e20 ac05 0600 |0086: invoke-virtual {v6, v0}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@05ac │ │ -02bb5a: 54a0 a403 |0089: iget-object v0, v10, Lutil/http/HttpHeader;._first:Ljava/lang/String; // field@03a4 │ │ -02bb5e: 6e20 9c05 8000 |008b: invoke-virtual {v0, v8}, Ljava/lang/String;.substring:(I)Ljava/lang/String; // method@059c │ │ -02bb64: 0c00 |008e: move-result-object v0 │ │ -02bb66: 6e20 af05 0600 |008f: invoke-virtual {v6, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -02bb6c: 6e10 b105 0600 |0092: invoke-virtual {v6}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ -02bb72: 0c00 |0095: move-result-object v0 │ │ -02bb74: 5ba0 a403 |0096: iput-object v0, v10, Lutil/http/HttpHeader;._first:Ljava/lang/String; // field@03a4 │ │ -02bb78: 7120 a007 4b00 |0098: invoke-static {v11, v4}, Lutil/Utils;.readLineFromStream:(Ljava/io/InputStream;Z)Ljava/lang/String; // method@07a0 │ │ -02bb7e: 0c00 |009b: move-result-object v0 │ │ -02bb80: 6e20 8d05 1000 |009c: invoke-virtual {v0, v1}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058d │ │ -02bb86: 0a06 |009f: move-result v6 │ │ -02bb88: 3906 bb00 |00a0: if-nez v6, 015b // +00bb │ │ -02bb8c: 1a06 8300 |00a2: const-string v6, ": " // string@0083 │ │ -02bb90: 6e20 9205 6000 |00a4: invoke-virtual {v0, v6}, Ljava/lang/String;.indexOf:(Ljava/lang/String;)I // method@0592 │ │ -02bb96: 0a06 |00a7: move-result v6 │ │ -02bb98: 3336 3100 |00a8: if-ne v6, v3, 00d9 // +0031 │ │ -02bb9c: 1a06 8100 |00aa: const-string v6, ":" // string@0081 │ │ -02bba0: 6e20 9205 6000 |00ac: invoke-virtual {v0, v6}, Ljava/lang/String;.indexOf:(Ljava/lang/String;)I // method@0592 │ │ -02bba6: 0a06 |00af: move-result v6 │ │ -02bba8: 3236 1500 |00b0: if-eq v6, v3, 00c5 // +0015 │ │ -02bbac: 6e30 9d05 2006 |00b2: invoke-virtual {v0, v2, v6}, Ljava/lang/String;.substring:(II)Ljava/lang/String; // method@059d │ │ -02bbb2: 0c07 |00b5: move-result-object v7 │ │ -02bbb4: 6e10 a205 0700 |00b6: invoke-virtual {v7}, Ljava/lang/String;.trim:()Ljava/lang/String; // method@05a2 │ │ -02bbba: 0c07 |00b9: move-result-object v7 │ │ -02bbbc: d806 0601 |00ba: add-int/lit8 v6, v6, #int 1 // #01 │ │ -02bbc0: 6e20 9c05 6000 |00bc: invoke-virtual {v0, v6}, Ljava/lang/String;.substring:(I)Ljava/lang/String; // method@059c │ │ -02bbc6: 0c00 |00bf: move-result-object v0 │ │ -02bbc8: 6e10 a205 0000 |00c0: invoke-virtual {v0}, Ljava/lang/String;.trim:()Ljava/lang/String; // method@05a2 │ │ -02bbce: 0c00 |00c3: move-result-object v0 │ │ -02bbd0: 2827 |00c4: goto 00eb // +0027 │ │ -02bbd2: 220b 0001 |00c5: new-instance v11, Ljava/io/IOException; // type@0100 │ │ -02bbd6: 220c 2d01 |00c7: new-instance v12, Ljava/lang/StringBuilder; // type@012d │ │ -02bbda: 1a01 f101 |00c9: const-string v1, "Invalid header:" // string@01f1 │ │ -02bbde: 7020 aa05 1c00 |00cb: invoke-direct {v12, v1}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05aa │ │ -02bbe4: 6e20 af05 0c00 |00ce: invoke-virtual {v12, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -02bbea: 6e10 b105 0c00 |00d1: invoke-virtual {v12}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ -02bbf0: 0c0c |00d4: move-result-object v12 │ │ -02bbf2: 7020 2105 cb00 |00d5: invoke-direct {v11, v12}, Ljava/io/IOException;.:(Ljava/lang/String;)V // method@0521 │ │ -02bbf8: 270b |00d8: throw v11 │ │ -02bbfa: 6e30 9d05 2006 |00d9: invoke-virtual {v0, v2, v6}, Ljava/lang/String;.substring:(II)Ljava/lang/String; // method@059d │ │ -02bc00: 0c07 |00dc: move-result-object v7 │ │ -02bc02: 6e10 a205 0700 |00dd: invoke-virtual {v7}, Ljava/lang/String;.trim:()Ljava/lang/String; // method@05a2 │ │ -02bc08: 0c07 |00e0: move-result-object v7 │ │ -02bc0a: d806 0602 |00e1: add-int/lit8 v6, v6, #int 2 // #02 │ │ -02bc0e: 6e20 9c05 6000 |00e3: invoke-virtual {v0, v6}, Ljava/lang/String;.substring:(I)Ljava/lang/String; // method@059c │ │ -02bc14: 0c00 |00e6: move-result-object v0 │ │ -02bc16: 6e10 a205 0000 |00e7: invoke-virtual {v0}, Ljava/lang/String;.trim:()Ljava/lang/String; // method@05a2 │ │ -02bc1c: 0c00 |00ea: move-result-object v0 │ │ -02bc1e: 6e10 a005 0700 |00eb: invoke-virtual {v7}, Ljava/lang/String;.toUpperCase:()Ljava/lang/String; // method@05a0 │ │ -02bc24: 0c06 |00ee: move-result-object v6 │ │ -02bc26: 54a8 a603 |00ef: iget-object v8, v10, Lutil/http/HttpHeader;._mapping:Ljava/util/HashMap; // field@03a6 │ │ -02bc2a: 6e20 2a06 6800 |00f1: invoke-virtual {v8, v6}, Ljava/util/HashMap;.get:(Ljava/lang/Object;)Ljava/lang/Object; // method@062a │ │ -02bc30: 0c08 |00f4: move-result-object v8 │ │ -02bc32: 1f08 2b01 |00f5: check-cast v8, Ljava/lang/String; // type@012b │ │ -02bc36: 3908 0d00 |00f7: if-nez v8, 0104 // +000d │ │ -02bc3a: 54a8 a503 |00f9: iget-object v8, v10, Lutil/http/HttpHeader;._keys:Ljava/util/Vector; // field@03a5 │ │ -02bc3e: 6e20 7906 7800 |00fb: invoke-virtual {v8, v7}, Ljava/util/Vector;.add:(Ljava/lang/Object;)Z // method@0679 │ │ -02bc44: 54a7 a603 |00fe: iget-object v7, v10, Lutil/http/HttpHeader;._mapping:Ljava/util/HashMap; // field@03a6 │ │ -02bc48: 6e30 2b06 6700 |0100: invoke-virtual {v7, v6, v0}, Ljava/util/HashMap;.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; // method@062b │ │ -02bc4e: 2831 |0103: goto 0134 // +0031 │ │ -02bc50: 1a07 e300 |0104: const-string v7, "CONTENT-LENGTH" // string@00e3 │ │ -02bc54: 6e20 8d05 7600 |0106: invoke-virtual {v6, v7}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058d │ │ -02bc5a: 0a07 |0109: move-result v7 │ │ -02bc5c: 3907 2400 |010a: if-nez v7, 012e // +0024 │ │ -02bc60: 1a07 ae01 |010c: const-string v7, "HOST" // string@01ae │ │ -02bc64: 6e20 8d05 7600 |010e: invoke-virtual {v6, v7}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058d │ │ -02bc6a: 0a07 |0111: move-result v7 │ │ -02bc6c: 3907 2200 |0112: if-nez v7, 0134 // +0022 │ │ -02bc70: 54a7 a603 |0114: iget-object v7, v10, Lutil/http/HttpHeader;._mapping:Ljava/util/HashMap; // field@03a6 │ │ -02bc74: 2209 2d01 |0116: new-instance v9, Ljava/lang/StringBuilder; // type@012d │ │ -02bc78: 7010 a905 0900 |0118: invoke-direct {v9}, Ljava/lang/StringBuilder;.:()V // method@05a9 │ │ -02bc7e: 6e20 af05 8900 |011b: invoke-virtual {v9, v8}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -02bc84: 1a08 1105 |011e: const-string v8, "_,_" // string@0511 │ │ -02bc88: 6e20 af05 8900 |0120: invoke-virtual {v9, v8}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -02bc8e: 6e20 af05 0900 |0123: invoke-virtual {v9, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -02bc94: 6e10 b105 0900 |0126: invoke-virtual {v9}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ -02bc9a: 0c00 |0129: move-result-object v0 │ │ -02bc9c: 6e30 2b06 6700 |012a: invoke-virtual {v7, v6, v0}, Ljava/util/HashMap;.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; // method@062b │ │ -02bca2: 2807 |012d: goto 0134 // +0007 │ │ -02bca4: 6e20 8d05 0800 |012e: invoke-virtual {v8, v0}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058d │ │ -02bcaa: 0a06 |0131: move-result v6 │ │ -02bcac: 3806 0800 |0132: if-eqz v6, 013a // +0008 │ │ -02bcb0: 7120 a007 4b00 |0134: invoke-static {v11, v4}, Lutil/Utils;.readLineFromStream:(Ljava/io/InputStream;Z)Ljava/lang/String; // method@07a0 │ │ -02bcb6: 0c00 |0137: move-result-object v0 │ │ -02bcb8: 2900 64ff |0138: goto/16 009c // -009c │ │ -02bcbc: 220b 0001 |013a: new-instance v11, Ljava/io/IOException; // type@0100 │ │ -02bcc0: 220c 2d01 |013c: new-instance v12, Ljava/lang/StringBuilder; // type@012d │ │ -02bcc4: 1a01 f001 |013e: const-string v1, "Invalid header! Duplicated Content-Length with different values:" // string@01f0 │ │ -02bcc8: 7020 aa05 1c00 |0140: invoke-direct {v12, v1}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05aa │ │ -02bcce: 6e20 af05 8c00 |0143: invoke-virtual {v12, v8}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -02bcd4: 1a01 9100 |0146: const-string v1, "<>" // string@0091 │ │ -02bcd8: 6e20 af05 1c00 |0148: invoke-virtual {v12, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -02bcde: 6e20 af05 0c00 |014b: invoke-virtual {v12, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -02bce4: 1a00 2a00 |014e: const-string v0, "!" // string@002a │ │ -02bce8: 6e20 af05 0c00 |0150: invoke-virtual {v12, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -02bcee: 6e10 b105 0c00 |0153: invoke-virtual {v12}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ -02bcf4: 0c0c |0156: move-result-object v12 │ │ -02bcf6: 7020 2105 cb00 |0157: invoke-direct {v11, v12}, Ljava/io/IOException;.:(Ljava/lang/String;)V // method@0521 │ │ -02bcfc: 270b |015a: throw v11 │ │ -02bcfe: 54ab a703 |015b: iget-object v11, v10, Lutil/http/HttpHeader;.hostEntry:Ljava/lang/String; // field@03a7 │ │ -02bd02: 390b 1800 |015d: if-nez v11, 0175 // +0018 │ │ -02bd06: 334c 1600 |015f: if-ne v12, v4, 0175 // +0016 │ │ -02bd0a: 6e20 ff07 5a00 |0161: invoke-virtual {v10, v5}, Lutil/http/HttpHeader;.getValue:(Ljava/lang/String;)Ljava/lang/String; // method@07ff │ │ -02bd10: 0c0b |0164: move-result-object v11 │ │ -02bd12: 5bab a703 |0165: iput-object v11, v10, Lutil/http/HttpHeader;.hostEntry:Ljava/lang/String; // field@03a7 │ │ -02bd16: 380b 0600 |0167: if-eqz v11, 016d // +0006 │ │ -02bd1a: 7010 0008 0a00 |0169: invoke-direct {v10}, Lutil/http/HttpHeader;.parseHostEntry:()V // method@0800 │ │ -02bd20: 2809 |016c: goto 0175 // +0009 │ │ -02bd22: 220b 0001 |016d: new-instance v11, Ljava/io/IOException; // type@0100 │ │ -02bd26: 1a0c cd00 |016f: const-string v12, "Bad request - No host specified!" // string@00cd │ │ -02bd2a: 7020 2105 cb00 |0171: invoke-direct {v11, v12}, Ljava/io/IOException;.:(Ljava/lang/String;)V // method@0521 │ │ -02bd30: 270b |0174: throw v11 │ │ -02bd32: 0e00 |0175: return-void │ │ -02bd34: 0d0b |0176: move-exception v11 │ │ -02bd36: 220c 0001 |0177: new-instance v12, Ljava/io/IOException; // type@0100 │ │ -02bd3a: 6e10 5d05 0b00 |0179: invoke-virtual {v11}, Ljava/lang/Exception;.getMessage:()Ljava/lang/String; // method@055d │ │ -02bd40: 0c0b |017c: move-result-object v11 │ │ -02bd42: 7020 2105 bc00 |017d: invoke-direct {v12, v11}, Ljava/io/IOException;.:(Ljava/lang/String;)V // method@0521 │ │ -02bd48: 270c |0180: throw v12 │ │ -02bd4a: 220b 0001 |0181: new-instance v11, Ljava/io/IOException; // type@0100 │ │ -02bd4e: 220c 2d01 |0183: new-instance v12, Ljava/lang/StringBuilder; // type@012d │ │ -02bd52: 7020 aa05 7c00 |0185: invoke-direct {v12, v7}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05aa │ │ -02bd58: 54a0 a403 |0188: iget-object v0, v10, Lutil/http/HttpHeader;._first:Ljava/lang/String; // field@03a4 │ │ -02bd5c: 6e20 af05 0c00 |018a: invoke-virtual {v12, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -02bd62: 6e10 b105 0c00 |018d: invoke-virtual {v12}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ -02bd68: 0c0c |0190: move-result-object v12 │ │ -02bd6a: 7020 2105 cb00 |0191: invoke-direct {v11, v12}, Ljava/io/IOException;.:(Ljava/lang/String;)V // method@0521 │ │ -02bd70: 270b |0194: throw v11 │ │ -02bd72: 220b 0001 |0195: new-instance v11, Ljava/io/IOException; // type@0100 │ │ -02bd76: 220c 2d01 |0197: new-instance v12, Ljava/lang/StringBuilder; // type@012d │ │ -02bd7a: 7020 aa05 7c00 |0199: invoke-direct {v12, v7}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05aa │ │ -02bd80: 54a0 a403 |019c: iget-object v0, v10, Lutil/http/HttpHeader;._first:Ljava/lang/String; // field@03a4 │ │ -02bd84: 6e20 af05 0c00 |019e: invoke-virtual {v12, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -02bd8a: 6e10 b105 0c00 |01a1: invoke-virtual {v12}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ -02bd90: 0c0c |01a4: move-result-object v12 │ │ -02bd92: 7020 2105 cb00 |01a5: invoke-direct {v11, v12}, Ljava/io/IOException;.:(Ljava/lang/String;)V // method@0521 │ │ -02bd98: 270b |01a8: throw v11 │ │ -02bd9a: 220b fa00 |01a9: new-instance v11, Ljava/io/EOFException; // type@00fa │ │ -02bd9e: 1a0c ba01 |01ab: const-string v12, "HttpHeader failed to read! No Data!" // string@01ba │ │ -02bda2: 7020 0005 cb00 |01ad: invoke-direct {v11, v12}, Ljava/io/EOFException;.:(Ljava/lang/String;)V // method@0500 │ │ -02bda8: 2802 |01b0: goto 01b2 // +0002 │ │ -02bdaa: 270b |01b1: throw v11 │ │ -02bdac: 28ff |01b2: goto 01b1 // -0001 │ │ +02ba34: |[02ba34] util.http.HttpHeader.:(Ljava/io/InputStream;I)V │ │ +02ba44: 1a00 b001 |0000: const-string v0, "HTTP/1.1 " // string@01b0 │ │ +02ba48: 7010 7505 0a00 |0002: invoke-direct {v10}, Ljava/lang/Object;.:()V // method@0575 │ │ +02ba4e: 1a01 0000 |0005: const-string v1, "" // string@0000 │ │ +02ba52: 5ba1 aa03 |0007: iput-object v1, v10, Lutil/http/HttpHeader;.remote_host_name:Ljava/lang/String; // field@03aa │ │ +02ba56: 1242 |0009: const/4 v2, #int 4 // #4 │ │ +02ba58: 59a2 a903 |000a: iput v2, v10, Lutil/http/HttpHeader;.protocoll:I // field@03a9 │ │ +02ba5c: 1202 |000c: const/4 v2, #int 0 // #0 │ │ +02ba5e: 59a2 ab03 |000d: iput v2, v10, Lutil/http/HttpHeader;.remote_port:I // field@03ab │ │ +02ba62: 5ca2 ae03 |000f: iput-boolean v2, v10, Lutil/http/HttpHeader;.tunnelMode:Z // field@03ae │ │ +02ba66: 12f3 |0011: const/4 v3, #int -1 // #ff │ │ +02ba68: 59a3 ad03 |0012: iput v3, v10, Lutil/http/HttpHeader;.responsecode:I // field@03ad │ │ +02ba6c: 1204 |0014: const/4 v4, #int 0 // #0 │ │ +02ba6e: 5ba4 a503 |0015: iput-object v4, v10, Lutil/http/HttpHeader;._keys:Ljava/util/Vector; // field@03a5 │ │ +02ba72: 5ba4 a603 |0017: iput-object v4, v10, Lutil/http/HttpHeader;._mapping:Ljava/util/HashMap; // field@03a6 │ │ +02ba76: 2204 6a01 |0019: new-instance v4, Ljava/util/Vector; // type@016a │ │ +02ba7a: 7010 7706 0400 |001b: invoke-direct {v4}, Ljava/util/Vector;.:()V // method@0677 │ │ +02ba80: 5ba4 a503 |001e: iput-object v4, v10, Lutil/http/HttpHeader;._keys:Ljava/util/Vector; // field@03a5 │ │ +02ba84: 2204 5801 |0020: new-instance v4, Ljava/util/HashMap; // type@0158 │ │ +02ba88: 7010 2606 0400 |0022: invoke-direct {v4}, Ljava/util/HashMap;.:()V // method@0626 │ │ +02ba8e: 5ba4 a603 |0025: iput-object v4, v10, Lutil/http/HttpHeader;._mapping:Ljava/util/HashMap; // field@03a6 │ │ +02ba92: 1214 |0027: const/4 v4, #int 1 // #1 │ │ +02ba94: 324c 0e00 |0028: if-eq v12, v4, 0036 // +000e │ │ +02ba98: 1225 |002a: const/4 v5, #int 2 // #2 │ │ +02ba9a: 335c 0300 |002b: if-ne v12, v5, 002e // +0003 │ │ +02ba9e: 2809 |002d: goto 0036 // +0009 │ │ +02baa0: 220b 0001 |002e: new-instance v11, Ljava/io/IOException; // type@0100 │ │ +02baa4: 1a0c d001 |0030: const-string v12, "INVALID TYPE!" // string@01d0 │ │ +02baa8: 7020 2105 cb00 |0032: invoke-direct {v11, v12}, Ljava/io/IOException;.:(Ljava/lang/String;)V // method@0521 │ │ +02baae: 270b |0035: throw v11 │ │ +02bab0: 59ac af03 |0036: iput v12, v10, Lutil/http/HttpHeader;.type:I // field@03af │ │ +02bab4: 7120 a007 4b00 |0038: invoke-static {v11, v4}, Lutil/Utils;.readLineFromStream:(Ljava/io/InputStream;Z)Ljava/lang/String; // method@07a0 │ │ +02baba: 0c05 |003b: move-result-object v5 │ │ +02babc: 5ba5 a403 |003c: iput-object v5, v10, Lutil/http/HttpHeader;._first:Ljava/lang/String; // field@03a4 │ │ +02bac0: 6e20 8d05 1500 |003e: invoke-virtual {v5, v1}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058d │ │ +02bac6: 0a05 |0041: move-result v5 │ │ +02bac8: 3905 6701 |0042: if-nez v5, 01a9 // +0167 │ │ +02bacc: 1a05 b701 |0044: const-string v5, "Host" // string@01b7 │ │ +02bad0: 334c 0d00 |0046: if-ne v12, v4, 0053 // +000d │ │ +02bad4: 7010 0108 0a00 |0048: invoke-direct {v10}, Lutil/http/HttpHeader;.parseURI:()V // method@0801 │ │ +02bada: 54a0 a703 |004b: iget-object v0, v10, Lutil/http/HttpHeader;.hostEntry:Ljava/lang/String; // field@03a7 │ │ +02bade: 3800 4b00 |004d: if-eqz v0, 0098 // +004b │ │ +02bae2: 6e30 0508 5a00 |004f: invoke-virtual {v10, v5, v0}, Lutil/http/HttpHeader;.setValue:(Ljava/lang/String;Ljava/lang/String;)V // method@0805 │ │ +02bae8: 2846 |0052: goto 0098 // +0046 │ │ +02baea: 54a6 a403 |0053: iget-object v6, v10, Lutil/http/HttpHeader;._first:Ljava/lang/String; // field@03a4 │ │ +02baee: 6e10 9605 0600 |0055: invoke-virtual {v6}, Ljava/lang/String;.length:()I // method@0596 │ │ +02baf4: 0a06 |0058: move-result v6 │ │ +02baf6: 1a07 f801 |0059: const-string v7, "Invalid response header:" // string@01f8 │ │ +02bafa: 1308 0c00 |005b: const/16 v8, #int 12 // #c │ │ +02bafe: 3486 3801 |005d: if-lt v6, v8, 0195 // +0138 │ │ +02bb02: 54a6 a403 |005f: iget-object v6, v10, Lutil/http/HttpHeader;._first:Ljava/lang/String; // field@03a4 │ │ +02bb06: 6e30 9d05 2608 |0061: invoke-virtual {v6, v2, v8}, Ljava/lang/String;.substring:(II)Ljava/lang/String; // method@059d │ │ +02bb0c: 0c06 |0064: move-result-object v6 │ │ +02bb0e: 6e10 9e05 0600 |0065: invoke-virtual {v6}, Ljava/lang/String;.toLowerCase:()Ljava/lang/String; // method@059e │ │ +02bb14: 0c06 |0068: move-result-object v6 │ │ +02bb16: 1a09 1408 |0069: const-string v9, "http/" // string@0814 │ │ +02bb1a: 6e20 9b05 9600 |006b: invoke-virtual {v6, v9}, Ljava/lang/String;.startsWith:(Ljava/lang/String;)Z // method@059b │ │ +02bb20: 0a06 |006e: move-result v6 │ │ +02bb22: 3806 1201 |006f: if-eqz v6, 0181 // +0112 │ │ +02bb26: 54a6 a403 |0071: iget-object v6, v10, Lutil/http/HttpHeader;._first:Ljava/lang/String; // field@03a4 │ │ +02bb2a: 1307 0900 |0073: const/16 v7, #int 9 // #9 │ │ +02bb2e: 6e30 9d05 7608 |0075: invoke-virtual {v6, v7, v8}, Ljava/lang/String;.substring:(II)Ljava/lang/String; // method@059d │ │ +02bb34: 0c06 |0078: move-result-object v6 │ │ +02bb36: 7110 6705 0600 |0079: invoke-static {v6}, Ljava/lang/Integer;.parseInt:(Ljava/lang/String;)I // method@0567 │ │ +02bb3c: 0a06 |007c: move-result v6 │ │ +02bb3e: 59a6 ad03 |007d: iput v6, v10, Lutil/http/HttpHeader;.responsecode:I // field@03ad │ │ +02bb42: 2206 2d01 |007f: new-instance v6, Ljava/lang/StringBuilder; // type@012d │ │ +02bb46: 7020 aa05 0600 |0081: invoke-direct {v6, v0}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05aa │ │ +02bb4c: 52a0 ad03 |0084: iget v0, v10, Lutil/http/HttpHeader;.responsecode:I // field@03ad │ │ +02bb50: 6e20 ac05 0600 |0086: invoke-virtual {v6, v0}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@05ac │ │ +02bb56: 54a0 a403 |0089: iget-object v0, v10, Lutil/http/HttpHeader;._first:Ljava/lang/String; // field@03a4 │ │ +02bb5a: 6e20 9c05 8000 |008b: invoke-virtual {v0, v8}, Ljava/lang/String;.substring:(I)Ljava/lang/String; // method@059c │ │ +02bb60: 0c00 |008e: move-result-object v0 │ │ +02bb62: 6e20 af05 0600 |008f: invoke-virtual {v6, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +02bb68: 6e10 b105 0600 |0092: invoke-virtual {v6}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ +02bb6e: 0c00 |0095: move-result-object v0 │ │ +02bb70: 5ba0 a403 |0096: iput-object v0, v10, Lutil/http/HttpHeader;._first:Ljava/lang/String; // field@03a4 │ │ +02bb74: 7120 a007 4b00 |0098: invoke-static {v11, v4}, Lutil/Utils;.readLineFromStream:(Ljava/io/InputStream;Z)Ljava/lang/String; // method@07a0 │ │ +02bb7a: 0c00 |009b: move-result-object v0 │ │ +02bb7c: 6e20 8d05 1000 |009c: invoke-virtual {v0, v1}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058d │ │ +02bb82: 0a06 |009f: move-result v6 │ │ +02bb84: 3906 bb00 |00a0: if-nez v6, 015b // +00bb │ │ +02bb88: 1a06 8300 |00a2: const-string v6, ": " // string@0083 │ │ +02bb8c: 6e20 9205 6000 |00a4: invoke-virtual {v0, v6}, Ljava/lang/String;.indexOf:(Ljava/lang/String;)I // method@0592 │ │ +02bb92: 0a06 |00a7: move-result v6 │ │ +02bb94: 3336 3100 |00a8: if-ne v6, v3, 00d9 // +0031 │ │ +02bb98: 1a06 8100 |00aa: const-string v6, ":" // string@0081 │ │ +02bb9c: 6e20 9205 6000 |00ac: invoke-virtual {v0, v6}, Ljava/lang/String;.indexOf:(Ljava/lang/String;)I // method@0592 │ │ +02bba2: 0a06 |00af: move-result v6 │ │ +02bba4: 3236 1500 |00b0: if-eq v6, v3, 00c5 // +0015 │ │ +02bba8: 6e30 9d05 2006 |00b2: invoke-virtual {v0, v2, v6}, Ljava/lang/String;.substring:(II)Ljava/lang/String; // method@059d │ │ +02bbae: 0c07 |00b5: move-result-object v7 │ │ +02bbb0: 6e10 a205 0700 |00b6: invoke-virtual {v7}, Ljava/lang/String;.trim:()Ljava/lang/String; // method@05a2 │ │ +02bbb6: 0c07 |00b9: move-result-object v7 │ │ +02bbb8: d806 0601 |00ba: add-int/lit8 v6, v6, #int 1 // #01 │ │ +02bbbc: 6e20 9c05 6000 |00bc: invoke-virtual {v0, v6}, Ljava/lang/String;.substring:(I)Ljava/lang/String; // method@059c │ │ +02bbc2: 0c00 |00bf: move-result-object v0 │ │ +02bbc4: 6e10 a205 0000 |00c0: invoke-virtual {v0}, Ljava/lang/String;.trim:()Ljava/lang/String; // method@05a2 │ │ +02bbca: 0c00 |00c3: move-result-object v0 │ │ +02bbcc: 2827 |00c4: goto 00eb // +0027 │ │ +02bbce: 220b 0001 |00c5: new-instance v11, Ljava/io/IOException; // type@0100 │ │ +02bbd2: 220c 2d01 |00c7: new-instance v12, Ljava/lang/StringBuilder; // type@012d │ │ +02bbd6: 1a01 f101 |00c9: const-string v1, "Invalid header:" // string@01f1 │ │ +02bbda: 7020 aa05 1c00 |00cb: invoke-direct {v12, v1}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05aa │ │ +02bbe0: 6e20 af05 0c00 |00ce: invoke-virtual {v12, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +02bbe6: 6e10 b105 0c00 |00d1: invoke-virtual {v12}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ +02bbec: 0c0c |00d4: move-result-object v12 │ │ +02bbee: 7020 2105 cb00 |00d5: invoke-direct {v11, v12}, Ljava/io/IOException;.:(Ljava/lang/String;)V // method@0521 │ │ +02bbf4: 270b |00d8: throw v11 │ │ +02bbf6: 6e30 9d05 2006 |00d9: invoke-virtual {v0, v2, v6}, Ljava/lang/String;.substring:(II)Ljava/lang/String; // method@059d │ │ +02bbfc: 0c07 |00dc: move-result-object v7 │ │ +02bbfe: 6e10 a205 0700 |00dd: invoke-virtual {v7}, Ljava/lang/String;.trim:()Ljava/lang/String; // method@05a2 │ │ +02bc04: 0c07 |00e0: move-result-object v7 │ │ +02bc06: d806 0602 |00e1: add-int/lit8 v6, v6, #int 2 // #02 │ │ +02bc0a: 6e20 9c05 6000 |00e3: invoke-virtual {v0, v6}, Ljava/lang/String;.substring:(I)Ljava/lang/String; // method@059c │ │ +02bc10: 0c00 |00e6: move-result-object v0 │ │ +02bc12: 6e10 a205 0000 |00e7: invoke-virtual {v0}, Ljava/lang/String;.trim:()Ljava/lang/String; // method@05a2 │ │ +02bc18: 0c00 |00ea: move-result-object v0 │ │ +02bc1a: 6e10 a005 0700 |00eb: invoke-virtual {v7}, Ljava/lang/String;.toUpperCase:()Ljava/lang/String; // method@05a0 │ │ +02bc20: 0c06 |00ee: move-result-object v6 │ │ +02bc22: 54a8 a603 |00ef: iget-object v8, v10, Lutil/http/HttpHeader;._mapping:Ljava/util/HashMap; // field@03a6 │ │ +02bc26: 6e20 2a06 6800 |00f1: invoke-virtual {v8, v6}, Ljava/util/HashMap;.get:(Ljava/lang/Object;)Ljava/lang/Object; // method@062a │ │ +02bc2c: 0c08 |00f4: move-result-object v8 │ │ +02bc2e: 1f08 2b01 |00f5: check-cast v8, Ljava/lang/String; // type@012b │ │ +02bc32: 3908 0d00 |00f7: if-nez v8, 0104 // +000d │ │ +02bc36: 54a8 a503 |00f9: iget-object v8, v10, Lutil/http/HttpHeader;._keys:Ljava/util/Vector; // field@03a5 │ │ +02bc3a: 6e20 7906 7800 |00fb: invoke-virtual {v8, v7}, Ljava/util/Vector;.add:(Ljava/lang/Object;)Z // method@0679 │ │ +02bc40: 54a7 a603 |00fe: iget-object v7, v10, Lutil/http/HttpHeader;._mapping:Ljava/util/HashMap; // field@03a6 │ │ +02bc44: 6e30 2b06 6700 |0100: invoke-virtual {v7, v6, v0}, Ljava/util/HashMap;.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; // method@062b │ │ +02bc4a: 2831 |0103: goto 0134 // +0031 │ │ +02bc4c: 1a07 e300 |0104: const-string v7, "CONTENT-LENGTH" // string@00e3 │ │ +02bc50: 6e20 8d05 7600 |0106: invoke-virtual {v6, v7}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058d │ │ +02bc56: 0a07 |0109: move-result v7 │ │ +02bc58: 3907 2400 |010a: if-nez v7, 012e // +0024 │ │ +02bc5c: 1a07 ae01 |010c: const-string v7, "HOST" // string@01ae │ │ +02bc60: 6e20 8d05 7600 |010e: invoke-virtual {v6, v7}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058d │ │ +02bc66: 0a07 |0111: move-result v7 │ │ +02bc68: 3907 2200 |0112: if-nez v7, 0134 // +0022 │ │ +02bc6c: 54a7 a603 |0114: iget-object v7, v10, Lutil/http/HttpHeader;._mapping:Ljava/util/HashMap; // field@03a6 │ │ +02bc70: 2209 2d01 |0116: new-instance v9, Ljava/lang/StringBuilder; // type@012d │ │ +02bc74: 7010 a905 0900 |0118: invoke-direct {v9}, Ljava/lang/StringBuilder;.:()V // method@05a9 │ │ +02bc7a: 6e20 af05 8900 |011b: invoke-virtual {v9, v8}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +02bc80: 1a08 1105 |011e: const-string v8, "_,_" // string@0511 │ │ +02bc84: 6e20 af05 8900 |0120: invoke-virtual {v9, v8}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +02bc8a: 6e20 af05 0900 |0123: invoke-virtual {v9, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +02bc90: 6e10 b105 0900 |0126: invoke-virtual {v9}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ +02bc96: 0c00 |0129: move-result-object v0 │ │ +02bc98: 6e30 2b06 6700 |012a: invoke-virtual {v7, v6, v0}, Ljava/util/HashMap;.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; // method@062b │ │ +02bc9e: 2807 |012d: goto 0134 // +0007 │ │ +02bca0: 6e20 8d05 0800 |012e: invoke-virtual {v8, v0}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058d │ │ +02bca6: 0a06 |0131: move-result v6 │ │ +02bca8: 3806 0800 |0132: if-eqz v6, 013a // +0008 │ │ +02bcac: 7120 a007 4b00 |0134: invoke-static {v11, v4}, Lutil/Utils;.readLineFromStream:(Ljava/io/InputStream;Z)Ljava/lang/String; // method@07a0 │ │ +02bcb2: 0c00 |0137: move-result-object v0 │ │ +02bcb4: 2900 64ff |0138: goto/16 009c // -009c │ │ +02bcb8: 220b 0001 |013a: new-instance v11, Ljava/io/IOException; // type@0100 │ │ +02bcbc: 220c 2d01 |013c: new-instance v12, Ljava/lang/StringBuilder; // type@012d │ │ +02bcc0: 1a01 f001 |013e: const-string v1, "Invalid header! Duplicated Content-Length with different values:" // string@01f0 │ │ +02bcc4: 7020 aa05 1c00 |0140: invoke-direct {v12, v1}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05aa │ │ +02bcca: 6e20 af05 8c00 |0143: invoke-virtual {v12, v8}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +02bcd0: 1a01 9100 |0146: const-string v1, "<>" // string@0091 │ │ +02bcd4: 6e20 af05 1c00 |0148: invoke-virtual {v12, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +02bcda: 6e20 af05 0c00 |014b: invoke-virtual {v12, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +02bce0: 1a00 2a00 |014e: const-string v0, "!" // string@002a │ │ +02bce4: 6e20 af05 0c00 |0150: invoke-virtual {v12, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +02bcea: 6e10 b105 0c00 |0153: invoke-virtual {v12}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ +02bcf0: 0c0c |0156: move-result-object v12 │ │ +02bcf2: 7020 2105 cb00 |0157: invoke-direct {v11, v12}, Ljava/io/IOException;.:(Ljava/lang/String;)V // method@0521 │ │ +02bcf8: 270b |015a: throw v11 │ │ +02bcfa: 54ab a703 |015b: iget-object v11, v10, Lutil/http/HttpHeader;.hostEntry:Ljava/lang/String; // field@03a7 │ │ +02bcfe: 390b 1800 |015d: if-nez v11, 0175 // +0018 │ │ +02bd02: 334c 1600 |015f: if-ne v12, v4, 0175 // +0016 │ │ +02bd06: 6e20 ff07 5a00 |0161: invoke-virtual {v10, v5}, Lutil/http/HttpHeader;.getValue:(Ljava/lang/String;)Ljava/lang/String; // method@07ff │ │ +02bd0c: 0c0b |0164: move-result-object v11 │ │ +02bd0e: 5bab a703 |0165: iput-object v11, v10, Lutil/http/HttpHeader;.hostEntry:Ljava/lang/String; // field@03a7 │ │ +02bd12: 380b 0600 |0167: if-eqz v11, 016d // +0006 │ │ +02bd16: 7010 0008 0a00 |0169: invoke-direct {v10}, Lutil/http/HttpHeader;.parseHostEntry:()V // method@0800 │ │ +02bd1c: 2809 |016c: goto 0175 // +0009 │ │ +02bd1e: 220b 0001 |016d: new-instance v11, Ljava/io/IOException; // type@0100 │ │ +02bd22: 1a0c cd00 |016f: const-string v12, "Bad request - No host specified!" // string@00cd │ │ +02bd26: 7020 2105 cb00 |0171: invoke-direct {v11, v12}, Ljava/io/IOException;.:(Ljava/lang/String;)V // method@0521 │ │ +02bd2c: 270b |0174: throw v11 │ │ +02bd2e: 0e00 |0175: return-void │ │ +02bd30: 0d0b |0176: move-exception v11 │ │ +02bd32: 220c 0001 |0177: new-instance v12, Ljava/io/IOException; // type@0100 │ │ +02bd36: 6e10 5d05 0b00 |0179: invoke-virtual {v11}, Ljava/lang/Exception;.getMessage:()Ljava/lang/String; // method@055d │ │ +02bd3c: 0c0b |017c: move-result-object v11 │ │ +02bd3e: 7020 2105 bc00 |017d: invoke-direct {v12, v11}, Ljava/io/IOException;.:(Ljava/lang/String;)V // method@0521 │ │ +02bd44: 270c |0180: throw v12 │ │ +02bd46: 220b 0001 |0181: new-instance v11, Ljava/io/IOException; // type@0100 │ │ +02bd4a: 220c 2d01 |0183: new-instance v12, Ljava/lang/StringBuilder; // type@012d │ │ +02bd4e: 7020 aa05 7c00 |0185: invoke-direct {v12, v7}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05aa │ │ +02bd54: 54a0 a403 |0188: iget-object v0, v10, Lutil/http/HttpHeader;._first:Ljava/lang/String; // field@03a4 │ │ +02bd58: 6e20 af05 0c00 |018a: invoke-virtual {v12, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +02bd5e: 6e10 b105 0c00 |018d: invoke-virtual {v12}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ +02bd64: 0c0c |0190: move-result-object v12 │ │ +02bd66: 7020 2105 cb00 |0191: invoke-direct {v11, v12}, Ljava/io/IOException;.:(Ljava/lang/String;)V // method@0521 │ │ +02bd6c: 270b |0194: throw v11 │ │ +02bd6e: 220b 0001 |0195: new-instance v11, Ljava/io/IOException; // type@0100 │ │ +02bd72: 220c 2d01 |0197: new-instance v12, Ljava/lang/StringBuilder; // type@012d │ │ +02bd76: 7020 aa05 7c00 |0199: invoke-direct {v12, v7}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05aa │ │ +02bd7c: 54a0 a403 |019c: iget-object v0, v10, Lutil/http/HttpHeader;._first:Ljava/lang/String; // field@03a4 │ │ +02bd80: 6e20 af05 0c00 |019e: invoke-virtual {v12, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +02bd86: 6e10 b105 0c00 |01a1: invoke-virtual {v12}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ +02bd8c: 0c0c |01a4: move-result-object v12 │ │ +02bd8e: 7020 2105 cb00 |01a5: invoke-direct {v11, v12}, Ljava/io/IOException;.:(Ljava/lang/String;)V // method@0521 │ │ +02bd94: 270b |01a8: throw v11 │ │ +02bd96: 220b fa00 |01a9: new-instance v11, Ljava/io/EOFException; // type@00fa │ │ +02bd9a: 1a0c ba01 |01ab: const-string v12, "HttpHeader failed to read! No Data!" // string@01ba │ │ +02bd9e: 7020 0005 cb00 |01ad: invoke-direct {v11, v12}, Ljava/io/EOFException;.:(Ljava/lang/String;)V // method@0500 │ │ +02bda4: 2802 |01b0: goto 01b2 // +0002 │ │ +02bda6: 270b |01b1: throw v11 │ │ +02bda8: 28ff |01b2: goto 01b1 // -0001 │ │ catches : 1 │ │ 0x0071 - 0x0098 │ │ Ljava/lang/Exception; -> 0x0176 │ │ positions : │ │ 0x0002 line=67 │ │ 0x0005 line=50 │ │ 0x000a line=54 │ │ @@ -34647,21 +34647,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 │ │ -02bdc0: |[02bdc0] util.http.HttpHeader.:(Ljava/lang/String;I)V │ │ -02bdd0: 2200 f600 |0000: new-instance v0, Ljava/io/ByteArrayInputStream; // type@00f6 │ │ -02bdd4: 6e10 8f05 0200 |0002: invoke-virtual {v2}, Ljava/lang/String;.getBytes:()[B // method@058f │ │ -02bdda: 0c02 |0005: move-result-object v2 │ │ -02bddc: 7020 e104 2000 |0006: invoke-direct {v0, v2}, Ljava/io/ByteArrayInputStream;.:([B)V // method@04e1 │ │ -02bde2: 7030 f207 0103 |0009: invoke-direct {v1, v0, v3}, Lutil/http/HttpHeader;.:(Ljava/io/InputStream;I)V // method@07f2 │ │ -02bde8: 0e00 |000c: return-void │ │ +02bdbc: |[02bdbc] util.http.HttpHeader.:(Ljava/lang/String;I)V │ │ +02bdcc: 2200 f600 |0000: new-instance v0, Ljava/io/ByteArrayInputStream; // type@00f6 │ │ +02bdd0: 6e10 8f05 0200 |0002: invoke-virtual {v2}, Ljava/lang/String;.getBytes:()[B // method@058f │ │ +02bdd6: 0c02 |0005: move-result-object v2 │ │ +02bdd8: 7020 e104 2000 |0006: invoke-direct {v0, v2}, Ljava/io/ByteArrayInputStream;.:([B)V // method@04e1 │ │ +02bdde: 7030 f207 0103 |0009: invoke-direct {v1, v0, v3}, Lutil/http/HttpHeader;.:(Ljava/io/InputStream;I)V // method@07f2 │ │ +02bde4: 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 │ │ @@ -34671,79 +34671,79 @@ │ │ type : '()V' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 6 │ │ ins : 1 │ │ outs : 3 │ │ insns size : 121 16-bit code units │ │ -02be54: |[02be54] util.http.HttpHeader.parseHostEntry:()V │ │ -02be64: 5250 a903 |0000: iget v0, v5, Lutil/http/HttpHeader;.protocoll:I // field@03a9 │ │ -02be68: 12f1 |0002: const/4 v1, #int -1 // #ff │ │ -02be6a: 1212 |0003: const/4 v2, #int 1 // #1 │ │ -02be6c: 3320 0700 |0004: if-ne v0, v2, 000b // +0007 │ │ -02be70: 1300 5000 |0006: const/16 v0, #int 80 // #50 │ │ -02be74: 5950 ab03 |0008: iput v0, v5, Lutil/http/HttpHeader;.remote_port:I // field@03ab │ │ -02be78: 280b |000a: goto 0015 // +000b │ │ -02be7a: 1223 |000b: const/4 v3, #int 2 // #2 │ │ -02be7c: 3330 0700 |000c: if-ne v0, v3, 0013 // +0007 │ │ -02be80: 1300 bb01 |000e: const/16 v0, #int 443 // #1bb │ │ -02be84: 5950 ab03 |0010: iput v0, v5, Lutil/http/HttpHeader;.remote_port:I // field@03ab │ │ -02be88: 2803 |0012: goto 0015 // +0003 │ │ -02be8a: 5951 ab03 |0013: iput v1, v5, Lutil/http/HttpHeader;.remote_port:I // field@03ab │ │ -02be8e: 5450 a703 |0015: iget-object v0, v5, Lutil/http/HttpHeader;.hostEntry:Ljava/lang/String; // field@03a7 │ │ -02be92: 5b50 aa03 |0017: iput-object v0, v5, Lutil/http/HttpHeader;.remote_host_name:Ljava/lang/String; // field@03aa │ │ -02be96: 1a03 8100 |0019: const-string v3, ":" // string@0081 │ │ -02be9a: 6e20 9505 3000 |001b: invoke-virtual {v0, v3}, Ljava/lang/String;.lastIndexOf:(Ljava/lang/String;)I // method@0595 │ │ -02bea0: 0a00 |001e: move-result v0 │ │ -02bea2: 1a03 0e05 |001f: const-string v3, "]" // string@050e │ │ -02bea6: 3210 3800 |0021: if-eq v0, v1, 0059 // +0038 │ │ -02beaa: 5451 a703 |0023: iget-object v1, v5, Lutil/http/HttpHeader;.hostEntry:Ljava/lang/String; // field@03a7 │ │ -02beae: 6e20 8c05 3100 |0025: invoke-virtual {v1, v3}, Ljava/lang/String;.endsWith:(Ljava/lang/String;)Z // method@058c │ │ -02beb4: 0a01 |0028: move-result v1 │ │ -02beb6: 3901 3000 |0029: if-nez v1, 0059 // +0030 │ │ -02beba: 5451 a703 |002b: iget-object v1, v5, Lutil/http/HttpHeader;.hostEntry:Ljava/lang/String; // field@03a7 │ │ -02bebe: d804 0001 |002d: add-int/lit8 v4, v0, #int 1 // #01 │ │ -02bec2: 6e20 9c05 4100 |002f: invoke-virtual {v1, v4}, Ljava/lang/String;.substring:(I)Ljava/lang/String; // method@059c │ │ -02bec8: 0c01 |0032: move-result-object v1 │ │ -02beca: 7110 6705 0100 |0033: invoke-static {v1}, Ljava/lang/Integer;.parseInt:(Ljava/lang/String;)I // method@0567 │ │ -02bed0: 0a01 |0036: move-result v1 │ │ -02bed2: 5951 ab03 |0037: iput v1, v5, Lutil/http/HttpHeader;.remote_port:I // field@03ab │ │ -02bed6: 5451 a703 |0039: iget-object v1, v5, Lutil/http/HttpHeader;.hostEntry:Ljava/lang/String; // field@03a7 │ │ -02beda: 1204 |003b: const/4 v4, #int 0 // #0 │ │ -02bedc: 6e30 9d05 4100 |003c: invoke-virtual {v1, v4, v0}, Ljava/lang/String;.substring:(II)Ljava/lang/String; // method@059d │ │ -02bee2: 0c00 |003f: move-result-object v0 │ │ -02bee4: 5b50 aa03 |0040: iput-object v0, v5, Lutil/http/HttpHeader;.remote_host_name:Ljava/lang/String; // field@03aa │ │ -02bee8: 2817 |0042: goto 0059 // +0017 │ │ -02beea: 2200 0001 |0043: new-instance v0, Ljava/io/IOException; // type@0100 │ │ -02beee: 2201 2d01 |0045: new-instance v1, Ljava/lang/StringBuilder; // type@012d │ │ -02bef2: 1a02 cc00 |0047: const-string v2, "Bad request - Cannot parse port to int:" // string@00cc │ │ -02bef6: 7020 aa05 2100 |0049: invoke-direct {v1, v2}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05aa │ │ -02befc: 5452 a403 |004c: iget-object v2, v5, Lutil/http/HttpHeader;._first:Ljava/lang/String; // field@03a4 │ │ -02bf00: 6e20 af05 2100 |004e: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -02bf06: 6e10 b105 0100 |0051: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ -02bf0c: 0c01 |0054: move-result-object v1 │ │ -02bf0e: 7020 2105 1000 |0055: invoke-direct {v0, v1}, Ljava/io/IOException;.:(Ljava/lang/String;)V // method@0521 │ │ -02bf14: 2700 |0058: throw v0 │ │ -02bf16: 5450 aa03 |0059: iget-object v0, v5, Lutil/http/HttpHeader;.remote_host_name:Ljava/lang/String; // field@03aa │ │ -02bf1a: 1a01 f004 |005b: const-string v1, "[" // string@04f0 │ │ -02bf1e: 6e20 9b05 1000 |005d: invoke-virtual {v0, v1}, Ljava/lang/String;.startsWith:(Ljava/lang/String;)Z // method@059b │ │ -02bf24: 0a00 |0060: move-result v0 │ │ -02bf26: 3800 1700 |0061: if-eqz v0, 0078 // +0017 │ │ -02bf2a: 5450 aa03 |0063: iget-object v0, v5, Lutil/http/HttpHeader;.remote_host_name:Ljava/lang/String; // field@03aa │ │ -02bf2e: 6e20 8c05 3000 |0065: invoke-virtual {v0, v3}, Ljava/lang/String;.endsWith:(Ljava/lang/String;)Z // method@058c │ │ -02bf34: 0a00 |0068: move-result v0 │ │ -02bf36: 3800 0f00 |0069: if-eqz v0, 0078 // +000f │ │ -02bf3a: 5450 aa03 |006b: iget-object v0, v5, Lutil/http/HttpHeader;.remote_host_name:Ljava/lang/String; // field@03aa │ │ -02bf3e: 6e10 9605 0000 |006d: invoke-virtual {v0}, Ljava/lang/String;.length:()I // method@0596 │ │ -02bf44: 0a01 |0070: move-result v1 │ │ -02bf46: b121 |0071: sub-int/2addr v1, v2 │ │ -02bf48: 6e30 9d05 2001 |0072: invoke-virtual {v0, v2, v1}, Ljava/lang/String;.substring:(II)Ljava/lang/String; // method@059d │ │ -02bf4e: 0c00 |0075: move-result-object v0 │ │ -02bf50: 5b50 aa03 |0076: iput-object v0, v5, Lutil/http/HttpHeader;.remote_host_name:Ljava/lang/String; // field@03aa │ │ -02bf54: 0e00 |0078: return-void │ │ +02be50: |[02be50] util.http.HttpHeader.parseHostEntry:()V │ │ +02be60: 5250 a903 |0000: iget v0, v5, Lutil/http/HttpHeader;.protocoll:I // field@03a9 │ │ +02be64: 12f1 |0002: const/4 v1, #int -1 // #ff │ │ +02be66: 1212 |0003: const/4 v2, #int 1 // #1 │ │ +02be68: 3320 0700 |0004: if-ne v0, v2, 000b // +0007 │ │ +02be6c: 1300 5000 |0006: const/16 v0, #int 80 // #50 │ │ +02be70: 5950 ab03 |0008: iput v0, v5, Lutil/http/HttpHeader;.remote_port:I // field@03ab │ │ +02be74: 280b |000a: goto 0015 // +000b │ │ +02be76: 1223 |000b: const/4 v3, #int 2 // #2 │ │ +02be78: 3330 0700 |000c: if-ne v0, v3, 0013 // +0007 │ │ +02be7c: 1300 bb01 |000e: const/16 v0, #int 443 // #1bb │ │ +02be80: 5950 ab03 |0010: iput v0, v5, Lutil/http/HttpHeader;.remote_port:I // field@03ab │ │ +02be84: 2803 |0012: goto 0015 // +0003 │ │ +02be86: 5951 ab03 |0013: iput v1, v5, Lutil/http/HttpHeader;.remote_port:I // field@03ab │ │ +02be8a: 5450 a703 |0015: iget-object v0, v5, Lutil/http/HttpHeader;.hostEntry:Ljava/lang/String; // field@03a7 │ │ +02be8e: 5b50 aa03 |0017: iput-object v0, v5, Lutil/http/HttpHeader;.remote_host_name:Ljava/lang/String; // field@03aa │ │ +02be92: 1a03 8100 |0019: const-string v3, ":" // string@0081 │ │ +02be96: 6e20 9505 3000 |001b: invoke-virtual {v0, v3}, Ljava/lang/String;.lastIndexOf:(Ljava/lang/String;)I // method@0595 │ │ +02be9c: 0a00 |001e: move-result v0 │ │ +02be9e: 1a03 0e05 |001f: const-string v3, "]" // string@050e │ │ +02bea2: 3210 3800 |0021: if-eq v0, v1, 0059 // +0038 │ │ +02bea6: 5451 a703 |0023: iget-object v1, v5, Lutil/http/HttpHeader;.hostEntry:Ljava/lang/String; // field@03a7 │ │ +02beaa: 6e20 8c05 3100 |0025: invoke-virtual {v1, v3}, Ljava/lang/String;.endsWith:(Ljava/lang/String;)Z // method@058c │ │ +02beb0: 0a01 |0028: move-result v1 │ │ +02beb2: 3901 3000 |0029: if-nez v1, 0059 // +0030 │ │ +02beb6: 5451 a703 |002b: iget-object v1, v5, Lutil/http/HttpHeader;.hostEntry:Ljava/lang/String; // field@03a7 │ │ +02beba: d804 0001 |002d: add-int/lit8 v4, v0, #int 1 // #01 │ │ +02bebe: 6e20 9c05 4100 |002f: invoke-virtual {v1, v4}, Ljava/lang/String;.substring:(I)Ljava/lang/String; // method@059c │ │ +02bec4: 0c01 |0032: move-result-object v1 │ │ +02bec6: 7110 6705 0100 |0033: invoke-static {v1}, Ljava/lang/Integer;.parseInt:(Ljava/lang/String;)I // method@0567 │ │ +02becc: 0a01 |0036: move-result v1 │ │ +02bece: 5951 ab03 |0037: iput v1, v5, Lutil/http/HttpHeader;.remote_port:I // field@03ab │ │ +02bed2: 5451 a703 |0039: iget-object v1, v5, Lutil/http/HttpHeader;.hostEntry:Ljava/lang/String; // field@03a7 │ │ +02bed6: 1204 |003b: const/4 v4, #int 0 // #0 │ │ +02bed8: 6e30 9d05 4100 |003c: invoke-virtual {v1, v4, v0}, Ljava/lang/String;.substring:(II)Ljava/lang/String; // method@059d │ │ +02bede: 0c00 |003f: move-result-object v0 │ │ +02bee0: 5b50 aa03 |0040: iput-object v0, v5, Lutil/http/HttpHeader;.remote_host_name:Ljava/lang/String; // field@03aa │ │ +02bee4: 2817 |0042: goto 0059 // +0017 │ │ +02bee6: 2200 0001 |0043: new-instance v0, Ljava/io/IOException; // type@0100 │ │ +02beea: 2201 2d01 |0045: new-instance v1, Ljava/lang/StringBuilder; // type@012d │ │ +02beee: 1a02 cc00 |0047: const-string v2, "Bad request - Cannot parse port to int:" // string@00cc │ │ +02bef2: 7020 aa05 2100 |0049: invoke-direct {v1, v2}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05aa │ │ +02bef8: 5452 a403 |004c: iget-object v2, v5, Lutil/http/HttpHeader;._first:Ljava/lang/String; // field@03a4 │ │ +02befc: 6e20 af05 2100 |004e: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +02bf02: 6e10 b105 0100 |0051: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ +02bf08: 0c01 |0054: move-result-object v1 │ │ +02bf0a: 7020 2105 1000 |0055: invoke-direct {v0, v1}, Ljava/io/IOException;.:(Ljava/lang/String;)V // method@0521 │ │ +02bf10: 2700 |0058: throw v0 │ │ +02bf12: 5450 aa03 |0059: iget-object v0, v5, Lutil/http/HttpHeader;.remote_host_name:Ljava/lang/String; // field@03aa │ │ +02bf16: 1a01 f004 |005b: const-string v1, "[" // string@04f0 │ │ +02bf1a: 6e20 9b05 1000 |005d: invoke-virtual {v0, v1}, Ljava/lang/String;.startsWith:(Ljava/lang/String;)Z // method@059b │ │ +02bf20: 0a00 |0060: move-result v0 │ │ +02bf22: 3800 1700 |0061: if-eqz v0, 0078 // +0017 │ │ +02bf26: 5450 aa03 |0063: iget-object v0, v5, Lutil/http/HttpHeader;.remote_host_name:Ljava/lang/String; // field@03aa │ │ +02bf2a: 6e20 8c05 3000 |0065: invoke-virtual {v0, v3}, Ljava/lang/String;.endsWith:(Ljava/lang/String;)Z // method@058c │ │ +02bf30: 0a00 |0068: move-result v0 │ │ +02bf32: 3800 0f00 |0069: if-eqz v0, 0078 // +000f │ │ +02bf36: 5450 aa03 |006b: iget-object v0, v5, Lutil/http/HttpHeader;.remote_host_name:Ljava/lang/String; // field@03aa │ │ +02bf3a: 6e10 9605 0000 |006d: invoke-virtual {v0}, Ljava/lang/String;.length:()I // method@0596 │ │ +02bf40: 0a01 |0070: move-result v1 │ │ +02bf42: b121 |0071: sub-int/2addr v1, v2 │ │ +02bf44: 6e30 9d05 2001 |0072: invoke-virtual {v0, v2, v1}, Ljava/lang/String;.substring:(II)Ljava/lang/String; // method@059d │ │ +02bf4a: 0c00 |0075: move-result-object v0 │ │ +02bf4c: 5b50 aa03 |0076: iput-object v0, v5, Lutil/http/HttpHeader;.remote_host_name:Ljava/lang/String; // field@03aa │ │ +02bf50: 0e00 |0078: return-void │ │ catches : 1 │ │ 0x002b - 0x0039 │ │ Ljava/lang/NumberFormatException; -> 0x0043 │ │ positions : │ │ 0x0000 line=359 │ │ 0x0008 line=360 │ │ 0x0010 line=362 │ │ @@ -34764,111 +34764,111 @@ │ │ type : '()V' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 8 │ │ ins : 1 │ │ outs : 3 │ │ insns size : 183 16-bit code units │ │ -02bf68: |[02bf68] util.http.HttpHeader.parseURI:()V │ │ -02bf78: 5470 a403 |0000: iget-object v0, v7, Lutil/http/HttpHeader;._first:Ljava/lang/String; // field@03a4 │ │ -02bf7c: 1301 2000 |0002: const/16 v1, #int 32 // #20 │ │ -02bf80: 6e20 9105 1000 |0004: invoke-virtual {v0, v1}, Ljava/lang/String;.indexOf:(I)I // method@0591 │ │ -02bf86: 0a00 |0007: move-result v0 │ │ -02bf88: 5472 a403 |0008: iget-object v2, v7, Lutil/http/HttpHeader;._first:Ljava/lang/String; // field@03a4 │ │ -02bf8c: 6e20 9405 1200 |000a: invoke-virtual {v2, v1}, Ljava/lang/String;.lastIndexOf:(I)I // method@0594 │ │ -02bf92: 0a01 |000d: move-result v1 │ │ -02bf94: 12f2 |000e: const/4 v2, #int -1 // #ff │ │ -02bf96: 3220 9200 |000f: if-eq v0, v2, 00a1 // +0092 │ │ -02bf9a: 3210 9000 |0011: if-eq v0, v1, 00a1 // +0090 │ │ -02bf9e: 5473 a403 |0013: iget-object v3, v7, Lutil/http/HttpHeader;._first:Ljava/lang/String; // field@03a4 │ │ -02bfa2: 1204 |0015: const/4 v4, #int 0 // #0 │ │ -02bfa4: 6e30 9d05 4300 |0016: invoke-virtual {v3, v4, v0}, Ljava/lang/String;.substring:(II)Ljava/lang/String; // method@059d │ │ -02bfaa: 0c03 |0019: move-result-object v3 │ │ -02bfac: 5b73 a803 |001a: iput-object v3, v7, Lutil/http/HttpHeader;.method:Ljava/lang/String; // field@03a8 │ │ -02bfb0: 5473 a403 |001c: iget-object v3, v7, Lutil/http/HttpHeader;._first:Ljava/lang/String; // field@03a4 │ │ -02bfb4: 1215 |001e: const/4 v5, #int 1 // #1 │ │ -02bfb6: b050 |001f: add-int/2addr v0, v5 │ │ -02bfb8: 6e30 9d05 0301 |0020: invoke-virtual {v3, v0, v1}, Ljava/lang/String;.substring:(II)Ljava/lang/String; // method@059d │ │ -02bfbe: 0c00 |0023: move-result-object v0 │ │ -02bfc0: 5b70 b003 |0024: iput-object v0, v7, Lutil/http/HttpHeader;.url:Ljava/lang/String; // field@03b0 │ │ -02bfc4: 5470 a803 |0026: iget-object v0, v7, Lutil/http/HttpHeader;.method:Ljava/lang/String; // field@03a8 │ │ -02bfc8: 1a01 df00 |0028: const-string v1, "CONNECT" // string@00df │ │ -02bfcc: 6e20 8e05 1000 |002a: invoke-virtual {v0, v1}, Ljava/lang/String;.equalsIgnoreCase:(Ljava/lang/String;)Z // method@058e │ │ -02bfd2: 0a00 |002d: move-result v0 │ │ -02bfd4: 5c70 ae03 |002e: iput-boolean v0, v7, Lutil/http/HttpHeader;.tunnelMode:Z // field@03ae │ │ -02bfd8: 3900 6500 |0030: if-nez v0, 0095 // +0065 │ │ -02bfdc: 5470 b003 |0032: iget-object v0, v7, Lutil/http/HttpHeader;.url:Ljava/lang/String; // field@03b0 │ │ -02bfe0: 1a01 8400 |0034: const-string v1, "://" // string@0084 │ │ -02bfe4: 6e20 9205 1000 |0036: invoke-virtual {v0, v1}, Ljava/lang/String;.indexOf:(Ljava/lang/String;)I // method@0592 │ │ -02bfea: 0a00 |0039: move-result v0 │ │ -02bfec: 3220 5f00 |003a: if-eq v0, v2, 0099 // +005f │ │ -02bff0: 5471 b003 |003c: iget-object v1, v7, Lutil/http/HttpHeader;.url:Ljava/lang/String; // field@03b0 │ │ -02bff4: 6e30 9d05 4100 |003e: invoke-virtual {v1, v4, v0}, Ljava/lang/String;.substring:(II)Ljava/lang/String; // method@059d │ │ -02bffa: 0c01 |0041: move-result-object v1 │ │ -02bffc: 6e10 9e05 0100 |0042: invoke-virtual {v1}, Ljava/lang/String;.toLowerCase:()Ljava/lang/String; // method@059e │ │ -02c002: 0c01 |0045: move-result-object v1 │ │ -02c004: 1a03 1308 |0046: const-string v3, "http" // string@0813 │ │ -02c008: 6e20 8d05 3100 |0048: invoke-virtual {v1, v3}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058d │ │ -02c00e: 0a03 |004b: move-result v3 │ │ -02c010: 1236 |004c: const/4 v6, #int 3 // #3 │ │ -02c012: 3803 0500 |004d: if-eqz v3, 0052 // +0005 │ │ -02c016: 5975 a903 |004f: iput v5, v7, Lutil/http/HttpHeader;.protocoll:I // field@03a9 │ │ -02c01a: 280f |0051: goto 0060 // +000f │ │ -02c01c: 1a03 1908 |0052: const-string v3, "https" // string@0819 │ │ -02c020: 6e20 8d05 3100 |0054: invoke-virtual {v1, v3}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058d │ │ -02c026: 0a01 |0057: move-result v1 │ │ -02c028: 3801 0600 |0058: if-eqz v1, 005e // +0006 │ │ -02c02c: 1221 |005a: const/4 v1, #int 2 // #2 │ │ -02c02e: 5971 a903 |005b: iput v1, v7, Lutil/http/HttpHeader;.protocoll:I // field@03a9 │ │ -02c032: 2803 |005d: goto 0060 // +0003 │ │ -02c034: 5976 a903 |005e: iput v6, v7, Lutil/http/HttpHeader;.protocoll:I // field@03a9 │ │ -02c038: 5471 b003 |0060: iget-object v1, v7, Lutil/http/HttpHeader;.url:Ljava/lang/String; // field@03b0 │ │ -02c03c: b060 |0062: add-int/2addr v0, v6 │ │ -02c03e: 6e20 9c05 0100 |0063: invoke-virtual {v1, v0}, Ljava/lang/String;.substring:(I)Ljava/lang/String; // method@059c │ │ -02c044: 0c00 |0066: move-result-object v0 │ │ -02c046: 5b70 b003 |0067: iput-object v0, v7, Lutil/http/HttpHeader;.url:Ljava/lang/String; // field@03b0 │ │ -02c04a: 1301 2f00 |0069: const/16 v1, #int 47 // #2f │ │ -02c04e: 6e20 9105 1000 |006b: invoke-virtual {v0, v1}, Ljava/lang/String;.indexOf:(I)I // method@0591 │ │ -02c054: 0a00 |006e: move-result v0 │ │ -02c056: 3320 0800 |006f: if-ne v0, v2, 0077 // +0008 │ │ -02c05a: 5470 b003 |0071: iget-object v0, v7, Lutil/http/HttpHeader;.url:Ljava/lang/String; // field@03b0 │ │ -02c05e: 6e10 9605 0000 |0073: invoke-virtual {v0}, Ljava/lang/String;.length:()I // method@0596 │ │ -02c064: 0a00 |0076: move-result v0 │ │ -02c066: 5471 b003 |0077: iget-object v1, v7, Lutil/http/HttpHeader;.url:Ljava/lang/String; // field@03b0 │ │ -02c06a: 6e30 9d05 4100 |0079: invoke-virtual {v1, v4, v0}, Ljava/lang/String;.substring:(II)Ljava/lang/String; // method@059d │ │ -02c070: 0c01 |007c: move-result-object v1 │ │ -02c072: 5b71 a703 |007d: iput-object v1, v7, Lutil/http/HttpHeader;.hostEntry:Ljava/lang/String; // field@03a7 │ │ -02c076: 5471 b003 |007f: iget-object v1, v7, Lutil/http/HttpHeader;.url:Ljava/lang/String; // field@03b0 │ │ -02c07a: 6e10 9605 0100 |0081: invoke-virtual {v1}, Ljava/lang/String;.length:()I // method@0596 │ │ -02c080: 0a01 |0084: move-result v1 │ │ -02c082: 3310 0700 |0085: if-ne v0, v1, 008c // +0007 │ │ -02c086: 1a00 6000 |0087: const-string v0, "/" // string@0060 │ │ -02c08a: 5b70 b003 |0089: iput-object v0, v7, Lutil/http/HttpHeader;.url:Ljava/lang/String; // field@03b0 │ │ -02c08e: 280e |008b: goto 0099 // +000e │ │ -02c090: 5471 b003 |008c: iget-object v1, v7, Lutil/http/HttpHeader;.url:Ljava/lang/String; // field@03b0 │ │ -02c094: 6e20 9c05 0100 |008e: invoke-virtual {v1, v0}, Ljava/lang/String;.substring:(I)Ljava/lang/String; // method@059c │ │ -02c09a: 0c00 |0091: move-result-object v0 │ │ -02c09c: 5b70 b003 |0092: iput-object v0, v7, Lutil/http/HttpHeader;.url:Ljava/lang/String; // field@03b0 │ │ -02c0a0: 2805 |0094: goto 0099 // +0005 │ │ -02c0a2: 5470 b003 |0095: iget-object v0, v7, Lutil/http/HttpHeader;.url:Ljava/lang/String; // field@03b0 │ │ -02c0a6: 5b70 a703 |0097: iput-object v0, v7, Lutil/http/HttpHeader;.hostEntry:Ljava/lang/String; // field@03a7 │ │ -02c0aa: 5470 a703 |0099: iget-object v0, v7, Lutil/http/HttpHeader;.hostEntry:Ljava/lang/String; // field@03a7 │ │ -02c0ae: 3800 0500 |009b: if-eqz v0, 00a0 // +0005 │ │ -02c0b2: 7010 0008 0700 |009d: invoke-direct {v7}, Lutil/http/HttpHeader;.parseHostEntry:()V // method@0800 │ │ -02c0b8: 0e00 |00a0: return-void │ │ -02c0ba: 2200 0001 |00a1: new-instance v0, Ljava/io/IOException; // type@0100 │ │ -02c0be: 2201 2d01 |00a3: new-instance v1, Ljava/lang/StringBuilder; // type@012d │ │ -02c0c2: 1a02 ce00 |00a5: const-string v2, "Bad request:" // string@00ce │ │ -02c0c6: 7020 aa05 2100 |00a7: invoke-direct {v1, v2}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05aa │ │ -02c0cc: 5472 a403 |00aa: iget-object v2, v7, Lutil/http/HttpHeader;._first:Ljava/lang/String; // field@03a4 │ │ -02c0d0: 6e20 af05 2100 |00ac: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -02c0d6: 6e10 b105 0100 |00af: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ -02c0dc: 0c01 |00b2: move-result-object v1 │ │ -02c0de: 7020 2105 1000 |00b3: invoke-direct {v0, v1}, Ljava/io/IOException;.:(Ljava/lang/String;)V // method@0521 │ │ -02c0e4: 2700 |00b6: throw v0 │ │ +02bf64: |[02bf64] util.http.HttpHeader.parseURI:()V │ │ +02bf74: 5470 a403 |0000: iget-object v0, v7, Lutil/http/HttpHeader;._first:Ljava/lang/String; // field@03a4 │ │ +02bf78: 1301 2000 |0002: const/16 v1, #int 32 // #20 │ │ +02bf7c: 6e20 9105 1000 |0004: invoke-virtual {v0, v1}, Ljava/lang/String;.indexOf:(I)I // method@0591 │ │ +02bf82: 0a00 |0007: move-result v0 │ │ +02bf84: 5472 a403 |0008: iget-object v2, v7, Lutil/http/HttpHeader;._first:Ljava/lang/String; // field@03a4 │ │ +02bf88: 6e20 9405 1200 |000a: invoke-virtual {v2, v1}, Ljava/lang/String;.lastIndexOf:(I)I // method@0594 │ │ +02bf8e: 0a01 |000d: move-result v1 │ │ +02bf90: 12f2 |000e: const/4 v2, #int -1 // #ff │ │ +02bf92: 3220 9200 |000f: if-eq v0, v2, 00a1 // +0092 │ │ +02bf96: 3210 9000 |0011: if-eq v0, v1, 00a1 // +0090 │ │ +02bf9a: 5473 a403 |0013: iget-object v3, v7, Lutil/http/HttpHeader;._first:Ljava/lang/String; // field@03a4 │ │ +02bf9e: 1204 |0015: const/4 v4, #int 0 // #0 │ │ +02bfa0: 6e30 9d05 4300 |0016: invoke-virtual {v3, v4, v0}, Ljava/lang/String;.substring:(II)Ljava/lang/String; // method@059d │ │ +02bfa6: 0c03 |0019: move-result-object v3 │ │ +02bfa8: 5b73 a803 |001a: iput-object v3, v7, Lutil/http/HttpHeader;.method:Ljava/lang/String; // field@03a8 │ │ +02bfac: 5473 a403 |001c: iget-object v3, v7, Lutil/http/HttpHeader;._first:Ljava/lang/String; // field@03a4 │ │ +02bfb0: 1215 |001e: const/4 v5, #int 1 // #1 │ │ +02bfb2: b050 |001f: add-int/2addr v0, v5 │ │ +02bfb4: 6e30 9d05 0301 |0020: invoke-virtual {v3, v0, v1}, Ljava/lang/String;.substring:(II)Ljava/lang/String; // method@059d │ │ +02bfba: 0c00 |0023: move-result-object v0 │ │ +02bfbc: 5b70 b003 |0024: iput-object v0, v7, Lutil/http/HttpHeader;.url:Ljava/lang/String; // field@03b0 │ │ +02bfc0: 5470 a803 |0026: iget-object v0, v7, Lutil/http/HttpHeader;.method:Ljava/lang/String; // field@03a8 │ │ +02bfc4: 1a01 df00 |0028: const-string v1, "CONNECT" // string@00df │ │ +02bfc8: 6e20 8e05 1000 |002a: invoke-virtual {v0, v1}, Ljava/lang/String;.equalsIgnoreCase:(Ljava/lang/String;)Z // method@058e │ │ +02bfce: 0a00 |002d: move-result v0 │ │ +02bfd0: 5c70 ae03 |002e: iput-boolean v0, v7, Lutil/http/HttpHeader;.tunnelMode:Z // field@03ae │ │ +02bfd4: 3900 6500 |0030: if-nez v0, 0095 // +0065 │ │ +02bfd8: 5470 b003 |0032: iget-object v0, v7, Lutil/http/HttpHeader;.url:Ljava/lang/String; // field@03b0 │ │ +02bfdc: 1a01 8400 |0034: const-string v1, "://" // string@0084 │ │ +02bfe0: 6e20 9205 1000 |0036: invoke-virtual {v0, v1}, Ljava/lang/String;.indexOf:(Ljava/lang/String;)I // method@0592 │ │ +02bfe6: 0a00 |0039: move-result v0 │ │ +02bfe8: 3220 5f00 |003a: if-eq v0, v2, 0099 // +005f │ │ +02bfec: 5471 b003 |003c: iget-object v1, v7, Lutil/http/HttpHeader;.url:Ljava/lang/String; // field@03b0 │ │ +02bff0: 6e30 9d05 4100 |003e: invoke-virtual {v1, v4, v0}, Ljava/lang/String;.substring:(II)Ljava/lang/String; // method@059d │ │ +02bff6: 0c01 |0041: move-result-object v1 │ │ +02bff8: 6e10 9e05 0100 |0042: invoke-virtual {v1}, Ljava/lang/String;.toLowerCase:()Ljava/lang/String; // method@059e │ │ +02bffe: 0c01 |0045: move-result-object v1 │ │ +02c000: 1a03 1308 |0046: const-string v3, "http" // string@0813 │ │ +02c004: 6e20 8d05 3100 |0048: invoke-virtual {v1, v3}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058d │ │ +02c00a: 0a03 |004b: move-result v3 │ │ +02c00c: 1236 |004c: const/4 v6, #int 3 // #3 │ │ +02c00e: 3803 0500 |004d: if-eqz v3, 0052 // +0005 │ │ +02c012: 5975 a903 |004f: iput v5, v7, Lutil/http/HttpHeader;.protocoll:I // field@03a9 │ │ +02c016: 280f |0051: goto 0060 // +000f │ │ +02c018: 1a03 1908 |0052: const-string v3, "https" // string@0819 │ │ +02c01c: 6e20 8d05 3100 |0054: invoke-virtual {v1, v3}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058d │ │ +02c022: 0a01 |0057: move-result v1 │ │ +02c024: 3801 0600 |0058: if-eqz v1, 005e // +0006 │ │ +02c028: 1221 |005a: const/4 v1, #int 2 // #2 │ │ +02c02a: 5971 a903 |005b: iput v1, v7, Lutil/http/HttpHeader;.protocoll:I // field@03a9 │ │ +02c02e: 2803 |005d: goto 0060 // +0003 │ │ +02c030: 5976 a903 |005e: iput v6, v7, Lutil/http/HttpHeader;.protocoll:I // field@03a9 │ │ +02c034: 5471 b003 |0060: iget-object v1, v7, Lutil/http/HttpHeader;.url:Ljava/lang/String; // field@03b0 │ │ +02c038: b060 |0062: add-int/2addr v0, v6 │ │ +02c03a: 6e20 9c05 0100 |0063: invoke-virtual {v1, v0}, Ljava/lang/String;.substring:(I)Ljava/lang/String; // method@059c │ │ +02c040: 0c00 |0066: move-result-object v0 │ │ +02c042: 5b70 b003 |0067: iput-object v0, v7, Lutil/http/HttpHeader;.url:Ljava/lang/String; // field@03b0 │ │ +02c046: 1301 2f00 |0069: const/16 v1, #int 47 // #2f │ │ +02c04a: 6e20 9105 1000 |006b: invoke-virtual {v0, v1}, Ljava/lang/String;.indexOf:(I)I // method@0591 │ │ +02c050: 0a00 |006e: move-result v0 │ │ +02c052: 3320 0800 |006f: if-ne v0, v2, 0077 // +0008 │ │ +02c056: 5470 b003 |0071: iget-object v0, v7, Lutil/http/HttpHeader;.url:Ljava/lang/String; // field@03b0 │ │ +02c05a: 6e10 9605 0000 |0073: invoke-virtual {v0}, Ljava/lang/String;.length:()I // method@0596 │ │ +02c060: 0a00 |0076: move-result v0 │ │ +02c062: 5471 b003 |0077: iget-object v1, v7, Lutil/http/HttpHeader;.url:Ljava/lang/String; // field@03b0 │ │ +02c066: 6e30 9d05 4100 |0079: invoke-virtual {v1, v4, v0}, Ljava/lang/String;.substring:(II)Ljava/lang/String; // method@059d │ │ +02c06c: 0c01 |007c: move-result-object v1 │ │ +02c06e: 5b71 a703 |007d: iput-object v1, v7, Lutil/http/HttpHeader;.hostEntry:Ljava/lang/String; // field@03a7 │ │ +02c072: 5471 b003 |007f: iget-object v1, v7, Lutil/http/HttpHeader;.url:Ljava/lang/String; // field@03b0 │ │ +02c076: 6e10 9605 0100 |0081: invoke-virtual {v1}, Ljava/lang/String;.length:()I // method@0596 │ │ +02c07c: 0a01 |0084: move-result v1 │ │ +02c07e: 3310 0700 |0085: if-ne v0, v1, 008c // +0007 │ │ +02c082: 1a00 6000 |0087: const-string v0, "/" // string@0060 │ │ +02c086: 5b70 b003 |0089: iput-object v0, v7, Lutil/http/HttpHeader;.url:Ljava/lang/String; // field@03b0 │ │ +02c08a: 280e |008b: goto 0099 // +000e │ │ +02c08c: 5471 b003 |008c: iget-object v1, v7, Lutil/http/HttpHeader;.url:Ljava/lang/String; // field@03b0 │ │ +02c090: 6e20 9c05 0100 |008e: invoke-virtual {v1, v0}, Ljava/lang/String;.substring:(I)Ljava/lang/String; // method@059c │ │ +02c096: 0c00 |0091: move-result-object v0 │ │ +02c098: 5b70 b003 |0092: iput-object v0, v7, Lutil/http/HttpHeader;.url:Ljava/lang/String; // field@03b0 │ │ +02c09c: 2805 |0094: goto 0099 // +0005 │ │ +02c09e: 5470 b003 |0095: iget-object v0, v7, Lutil/http/HttpHeader;.url:Ljava/lang/String; // field@03b0 │ │ +02c0a2: 5b70 a703 |0097: iput-object v0, v7, Lutil/http/HttpHeader;.hostEntry:Ljava/lang/String; // field@03a7 │ │ +02c0a6: 5470 a703 |0099: iget-object v0, v7, Lutil/http/HttpHeader;.hostEntry:Ljava/lang/String; // field@03a7 │ │ +02c0aa: 3800 0500 |009b: if-eqz v0, 00a0 // +0005 │ │ +02c0ae: 7010 0008 0700 |009d: invoke-direct {v7}, Lutil/http/HttpHeader;.parseHostEntry:()V // method@0800 │ │ +02c0b4: 0e00 |00a0: return-void │ │ +02c0b6: 2200 0001 |00a1: new-instance v0, Ljava/io/IOException; // type@0100 │ │ +02c0ba: 2201 2d01 |00a3: new-instance v1, Ljava/lang/StringBuilder; // type@012d │ │ +02c0be: 1a02 ce00 |00a5: const-string v2, "Bad request:" // string@00ce │ │ +02c0c2: 7020 aa05 2100 |00a7: invoke-direct {v1, v2}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05aa │ │ +02c0c8: 5472 a403 |00aa: iget-object v2, v7, Lutil/http/HttpHeader;._first:Ljava/lang/String; // field@03a4 │ │ +02c0cc: 6e20 af05 2100 |00ac: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +02c0d2: 6e10 b105 0100 |00af: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ +02c0d8: 0c01 |00b2: move-result-object v1 │ │ +02c0da: 7020 2105 1000 |00b3: invoke-direct {v0, v1}, Ljava/io/IOException;.:(Ljava/lang/String;)V // method@0521 │ │ +02c0e0: 2700 |00b6: throw v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=322 │ │ 0x0008 line=323 │ │ 0x0013 line=327 │ │ 0x001c line=328 │ │ 0x0026 line=329 │ │ @@ -34899,37 +34899,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 │ │ -02bdec: |[02bdec] util.http.HttpHeader.appendValueToHeaderString:(Ljava/lang/StringBuffer;Ljava/lang/String;Ljava/lang/String;)V │ │ -02bdfc: 1a00 1105 |0000: const-string v0, "_,_" // string@0511 │ │ -02be00: 6e20 9905 0600 |0002: invoke-virtual {v6, v0}, Ljava/lang/String;.split:(Ljava/lang/String;)[Ljava/lang/String; // method@0599 │ │ -02be06: 0c06 |0005: move-result-object v6 │ │ -02be08: 1200 |0006: const/4 v0, #int 0 // #0 │ │ -02be0a: 2161 |0007: array-length v1, v6 │ │ -02be0c: 3510 2300 |0008: if-ge v0, v1, 002b // +0023 │ │ -02be10: 2201 2d01 |000a: new-instance v1, Ljava/lang/StringBuilder; // type@012d │ │ -02be14: 7010 a905 0100 |000c: invoke-direct {v1}, Ljava/lang/StringBuilder;.:()V // method@05a9 │ │ -02be1a: 6e20 af05 5100 |000f: invoke-virtual {v1, v5}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -02be20: 1a02 8300 |0012: const-string v2, ": " // string@0083 │ │ -02be24: 6e20 af05 2100 |0014: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -02be2a: 4602 0600 |0017: aget-object v2, v6, v0 │ │ -02be2e: 6e20 af05 2100 |0019: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -02be34: 1a02 0900 |001c: const-string v2, " │ │ +02bde8: |[02bde8] util.http.HttpHeader.appendValueToHeaderString:(Ljava/lang/StringBuffer;Ljava/lang/String;Ljava/lang/String;)V │ │ +02bdf8: 1a00 1105 |0000: const-string v0, "_,_" // string@0511 │ │ +02bdfc: 6e20 9905 0600 |0002: invoke-virtual {v6, v0}, Ljava/lang/String;.split:(Ljava/lang/String;)[Ljava/lang/String; // method@0599 │ │ +02be02: 0c06 |0005: move-result-object v6 │ │ +02be04: 1200 |0006: const/4 v0, #int 0 // #0 │ │ +02be06: 2161 |0007: array-length v1, v6 │ │ +02be08: 3510 2300 |0008: if-ge v0, v1, 002b // +0023 │ │ +02be0c: 2201 2d01 |000a: new-instance v1, Ljava/lang/StringBuilder; // type@012d │ │ +02be10: 7010 a905 0100 |000c: invoke-direct {v1}, Ljava/lang/StringBuilder;.:()V // method@05a9 │ │ +02be16: 6e20 af05 5100 |000f: invoke-virtual {v1, v5}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +02be1c: 1a02 8300 |0012: const-string v2, ": " // string@0083 │ │ +02be20: 6e20 af05 2100 |0014: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +02be26: 4602 0600 |0017: aget-object v2, v6, v0 │ │ +02be2a: 6e20 af05 2100 |0019: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +02be30: 1a02 0900 |001c: const-string v2, " │ │ " // string@0009 │ │ -02be38: 6e20 af05 2100 |001e: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -02be3e: 6e10 b105 0100 |0021: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ -02be44: 0c01 |0024: move-result-object v1 │ │ -02be46: 6e20 a605 1400 |0025: invoke-virtual {v4, v1}, Ljava/lang/StringBuffer;.append:(Ljava/lang/String;)Ljava/lang/StringBuffer; // method@05a6 │ │ -02be4c: d800 0001 |0028: add-int/lit8 v0, v0, #int 1 // #01 │ │ -02be50: 28dd |002a: goto 0007 // -0023 │ │ -02be52: 0e00 |002b: return-void │ │ +02be34: 6e20 af05 2100 |001e: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +02be3a: 6e10 b105 0100 |0021: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ +02be40: 0c01 |0024: move-result-object v1 │ │ +02be42: 6e20 a605 1400 |0025: invoke-virtual {v4, v1}, Ljava/lang/StringBuffer;.append:(Ljava/lang/String;)Ljava/lang/StringBuffer; // method@05a6 │ │ +02be48: d800 0001 |0028: add-int/lit8 v0, v0, #int 1 // #01 │ │ +02be4c: 28dd |002a: goto 0007 // -0023 │ │ +02be4e: 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; │ │ @@ -34942,27 +34942,27 @@ │ │ type : '()Z' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 3 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 20 16-bit code units │ │ -02b294: |[02b294] util.http.HttpHeader.chunkedTransfer:()Z │ │ -02b2a4: 1a00 7e04 |0000: const-string v0, "Transfer-Encoding" // string@047e │ │ -02b2a8: 6e20 ff07 0200 |0002: invoke-virtual {v2, v0}, Lutil/http/HttpHeader;.getValue:(Ljava/lang/String;)Ljava/lang/String; // method@07ff │ │ -02b2ae: 0c00 |0005: move-result-object v0 │ │ -02b2b0: 3800 0c00 |0006: if-eqz v0, 0012 // +000c │ │ -02b2b4: 0701 |0008: move-object v1, v0 │ │ -02b2b6: 1f01 2b01 |0009: check-cast v1, Ljava/lang/String; // type@012b │ │ -02b2ba: 1a01 d205 |000b: const-string v1, "chunked" // string@05d2 │ │ -02b2be: 6e20 8e05 1000 |000d: invoke-virtual {v0, v1}, Ljava/lang/String;.equalsIgnoreCase:(Ljava/lang/String;)Z // method@058e │ │ -02b2c4: 0a00 |0010: move-result v0 │ │ -02b2c6: 0f00 |0011: return v0 │ │ -02b2c8: 1200 |0012: const/4 v0, #int 0 // #0 │ │ -02b2ca: 0f00 |0013: return v0 │ │ +02b290: |[02b290] util.http.HttpHeader.chunkedTransfer:()Z │ │ +02b2a0: 1a00 7e04 |0000: const-string v0, "Transfer-Encoding" // string@047e │ │ +02b2a4: 6e20 ff07 0200 |0002: invoke-virtual {v2, v0}, Lutil/http/HttpHeader;.getValue:(Ljava/lang/String;)Ljava/lang/String; // method@07ff │ │ +02b2aa: 0c00 |0005: move-result-object v0 │ │ +02b2ac: 3800 0c00 |0006: if-eqz v0, 0012 // +000c │ │ +02b2b0: 0701 |0008: move-object v1, v0 │ │ +02b2b2: 1f01 2b01 |0009: check-cast v1, Ljava/lang/String; // type@012b │ │ +02b2b6: 1a01 d205 |000b: const-string v1, "chunked" // string@05d2 │ │ +02b2ba: 6e20 8e05 1000 |000d: invoke-virtual {v0, v1}, Ljava/lang/String;.equalsIgnoreCase:(Ljava/lang/String;)Z // method@058e │ │ +02b2c0: 0a00 |0010: move-result v0 │ │ +02b2c2: 0f00 |0011: return v0 │ │ +02b2c4: 1200 |0012: const/4 v0, #int 0 // #0 │ │ +02b2c6: 0f00 |0013: return v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=299 │ │ 0x0008 line=301 │ │ locals : │ │ 0x0000 - 0x0014 reg=2 this Lutil/http/HttpHeader; │ │ │ │ @@ -34971,18 +34971,18 @@ │ │ type : '()Ljava/lang/Object;' │ │ access : 0x1041 (PUBLIC BRIDGE SYNTHETIC) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 5 16-bit code units │ │ -02b358: |[02b358] util.http.HttpHeader.clone:()Ljava/lang/Object; │ │ -02b368: 6e10 f707 0100 |0000: invoke-virtual {v1}, Lutil/http/HttpHeader;.clone:()Lutil/http/HttpHeader; // method@07f7 │ │ -02b36e: 0c00 |0003: move-result-object v0 │ │ -02b370: 1100 |0004: return-object v0 │ │ +02b354: |[02b354] util.http.HttpHeader.clone:()Ljava/lang/Object; │ │ +02b364: 6e10 f707 0100 |0000: invoke-virtual {v1}, Lutil/http/HttpHeader;.clone:()Lutil/http/HttpHeader; // method@07f7 │ │ +02b36a: 0c00 |0003: move-result-object v0 │ │ +02b36c: 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;) │ │ @@ -34990,46 +34990,46 @@ │ │ type : '()Lutil/http/HttpHeader;' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 3 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 62 16-bit code units │ │ -02b728: |[02b728] util.http.HttpHeader.clone:()Lutil/http/HttpHeader; │ │ -02b738: 2200 9901 |0000: new-instance v0, Lutil/http/HttpHeader; // type@0199 │ │ -02b73c: 7010 f007 0000 |0002: invoke-direct {v0}, Lutil/http/HttpHeader;.:()V // method@07f0 │ │ -02b742: 5421 aa03 |0005: iget-object v1, v2, Lutil/http/HttpHeader;.remote_host_name:Ljava/lang/String; // field@03aa │ │ -02b746: 5b01 aa03 |0007: iput-object v1, v0, Lutil/http/HttpHeader;.remote_host_name:Ljava/lang/String; // field@03aa │ │ -02b74a: 5421 a703 |0009: iget-object v1, v2, Lutil/http/HttpHeader;.hostEntry:Ljava/lang/String; // field@03a7 │ │ -02b74e: 5b01 a703 |000b: iput-object v1, v0, Lutil/http/HttpHeader;.hostEntry:Ljava/lang/String; // field@03a7 │ │ -02b752: 5421 b003 |000d: iget-object v1, v2, Lutil/http/HttpHeader;.url:Ljava/lang/String; // field@03b0 │ │ -02b756: 5b01 b003 |000f: iput-object v1, v0, Lutil/http/HttpHeader;.url:Ljava/lang/String; // field@03b0 │ │ -02b75a: 5421 a803 |0011: iget-object v1, v2, Lutil/http/HttpHeader;.method:Ljava/lang/String; // field@03a8 │ │ -02b75e: 5b01 a803 |0013: iput-object v1, v0, Lutil/http/HttpHeader;.method:Ljava/lang/String; // field@03a8 │ │ -02b762: 5221 ab03 |0015: iget v1, v2, Lutil/http/HttpHeader;.remote_port:I // field@03ab │ │ -02b766: 5901 ab03 |0017: iput v1, v0, Lutil/http/HttpHeader;.remote_port:I // field@03ab │ │ -02b76a: 5521 ae03 |0019: iget-boolean v1, v2, Lutil/http/HttpHeader;.tunnelMode:Z // field@03ae │ │ -02b76e: 5c01 ae03 |001b: iput-boolean v1, v0, Lutil/http/HttpHeader;.tunnelMode:Z // field@03ae │ │ -02b772: 5221 ad03 |001d: iget v1, v2, Lutil/http/HttpHeader;.responsecode:I // field@03ad │ │ -02b776: 5901 ad03 |001f: iput v1, v0, Lutil/http/HttpHeader;.responsecode:I // field@03ad │ │ -02b77a: 5421 a403 |0021: iget-object v1, v2, Lutil/http/HttpHeader;._first:Ljava/lang/String; // field@03a4 │ │ -02b77e: 5b01 a403 |0023: iput-object v1, v0, Lutil/http/HttpHeader;._first:Ljava/lang/String; // field@03a4 │ │ -02b782: 5421 a503 |0025: iget-object v1, v2, Lutil/http/HttpHeader;._keys:Ljava/util/Vector; // field@03a5 │ │ -02b786: 6e10 7c06 0100 |0027: invoke-virtual {v1}, Ljava/util/Vector;.clone:()Ljava/lang/Object; // method@067c │ │ -02b78c: 0c01 |002a: move-result-object v1 │ │ -02b78e: 1f01 6a01 |002b: check-cast v1, Ljava/util/Vector; // type@016a │ │ -02b792: 5b01 a503 |002d: iput-object v1, v0, Lutil/http/HttpHeader;._keys:Ljava/util/Vector; // field@03a5 │ │ -02b796: 5421 a603 |002f: iget-object v1, v2, Lutil/http/HttpHeader;._mapping:Ljava/util/HashMap; // field@03a6 │ │ -02b79a: 6e10 2806 0100 |0031: invoke-virtual {v1}, Ljava/util/HashMap;.clone:()Ljava/lang/Object; // method@0628 │ │ -02b7a0: 0c01 |0034: move-result-object v1 │ │ -02b7a2: 1f01 5801 |0035: check-cast v1, Ljava/util/HashMap; // type@0158 │ │ -02b7a6: 5b01 a603 |0037: iput-object v1, v0, Lutil/http/HttpHeader;._mapping:Ljava/util/HashMap; // field@03a6 │ │ -02b7aa: 5221 af03 |0039: iget v1, v2, Lutil/http/HttpHeader;.type:I // field@03af │ │ -02b7ae: 5901 af03 |003b: iput v1, v0, Lutil/http/HttpHeader;.type:I // field@03af │ │ -02b7b2: 1100 |003d: return-object v0 │ │ +02b724: |[02b724] util.http.HttpHeader.clone:()Lutil/http/HttpHeader; │ │ +02b734: 2200 9901 |0000: new-instance v0, Lutil/http/HttpHeader; // type@0199 │ │ +02b738: 7010 f007 0000 |0002: invoke-direct {v0}, Lutil/http/HttpHeader;.:()V // method@07f0 │ │ +02b73e: 5421 aa03 |0005: iget-object v1, v2, Lutil/http/HttpHeader;.remote_host_name:Ljava/lang/String; // field@03aa │ │ +02b742: 5b01 aa03 |0007: iput-object v1, v0, Lutil/http/HttpHeader;.remote_host_name:Ljava/lang/String; // field@03aa │ │ +02b746: 5421 a703 |0009: iget-object v1, v2, Lutil/http/HttpHeader;.hostEntry:Ljava/lang/String; // field@03a7 │ │ +02b74a: 5b01 a703 |000b: iput-object v1, v0, Lutil/http/HttpHeader;.hostEntry:Ljava/lang/String; // field@03a7 │ │ +02b74e: 5421 b003 |000d: iget-object v1, v2, Lutil/http/HttpHeader;.url:Ljava/lang/String; // field@03b0 │ │ +02b752: 5b01 b003 |000f: iput-object v1, v0, Lutil/http/HttpHeader;.url:Ljava/lang/String; // field@03b0 │ │ +02b756: 5421 a803 |0011: iget-object v1, v2, Lutil/http/HttpHeader;.method:Ljava/lang/String; // field@03a8 │ │ +02b75a: 5b01 a803 |0013: iput-object v1, v0, Lutil/http/HttpHeader;.method:Ljava/lang/String; // field@03a8 │ │ +02b75e: 5221 ab03 |0015: iget v1, v2, Lutil/http/HttpHeader;.remote_port:I // field@03ab │ │ +02b762: 5901 ab03 |0017: iput v1, v0, Lutil/http/HttpHeader;.remote_port:I // field@03ab │ │ +02b766: 5521 ae03 |0019: iget-boolean v1, v2, Lutil/http/HttpHeader;.tunnelMode:Z // field@03ae │ │ +02b76a: 5c01 ae03 |001b: iput-boolean v1, v0, Lutil/http/HttpHeader;.tunnelMode:Z // field@03ae │ │ +02b76e: 5221 ad03 |001d: iget v1, v2, Lutil/http/HttpHeader;.responsecode:I // field@03ad │ │ +02b772: 5901 ad03 |001f: iput v1, v0, Lutil/http/HttpHeader;.responsecode:I // field@03ad │ │ +02b776: 5421 a403 |0021: iget-object v1, v2, Lutil/http/HttpHeader;._first:Ljava/lang/String; // field@03a4 │ │ +02b77a: 5b01 a403 |0023: iput-object v1, v0, Lutil/http/HttpHeader;._first:Ljava/lang/String; // field@03a4 │ │ +02b77e: 5421 a503 |0025: iget-object v1, v2, Lutil/http/HttpHeader;._keys:Ljava/util/Vector; // field@03a5 │ │ +02b782: 6e10 7c06 0100 |0027: invoke-virtual {v1}, Ljava/util/Vector;.clone:()Ljava/lang/Object; // method@067c │ │ +02b788: 0c01 |002a: move-result-object v1 │ │ +02b78a: 1f01 6a01 |002b: check-cast v1, Ljava/util/Vector; // type@016a │ │ +02b78e: 5b01 a503 |002d: iput-object v1, v0, Lutil/http/HttpHeader;._keys:Ljava/util/Vector; // field@03a5 │ │ +02b792: 5421 a603 |002f: iget-object v1, v2, Lutil/http/HttpHeader;._mapping:Ljava/util/HashMap; // field@03a6 │ │ +02b796: 6e10 2806 0100 |0031: invoke-virtual {v1}, Ljava/util/HashMap;.clone:()Ljava/lang/Object; // method@0628 │ │ +02b79c: 0c01 |0034: move-result-object v1 │ │ +02b79e: 1f01 5801 |0035: check-cast v1, Ljava/util/HashMap; // type@0158 │ │ +02b7a2: 5b01 a603 |0037: iput-object v1, v0, Lutil/http/HttpHeader;._mapping:Ljava/util/HashMap; // field@03a6 │ │ +02b7a6: 5221 af03 |0039: iget v1, v2, Lutil/http/HttpHeader;.type:I // field@03af │ │ +02b7aa: 5901 af03 |003b: iput v1, v0, Lutil/http/HttpHeader;.type:I // field@03af │ │ +02b7ae: 1100 |003d: return-object v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=160 │ │ 0x0005 line=162 │ │ 0x0009 line=163 │ │ 0x000d line=164 │ │ 0x0011 line=165 │ │ @@ -35048,28 +35048,28 @@ │ │ type : '()Z' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 4 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 21 16-bit code units │ │ -02b2cc: |[02b2cc] util.http.HttpHeader.getConnectionClose:()Z │ │ -02b2dc: 1a00 0d01 |0000: const-string v0, "Connection" // string@010d │ │ -02b2e0: 6e20 ff07 0300 |0002: invoke-virtual {v3, v0}, Lutil/http/HttpHeader;.getValue:(Ljava/lang/String;)Ljava/lang/String; // method@07ff │ │ -02b2e6: 0c00 |0005: move-result-object v0 │ │ -02b2e8: 1211 |0006: const/4 v1, #int 1 // #1 │ │ -02b2ea: 3900 0300 |0007: if-nez v0, 000a // +0003 │ │ -02b2ee: 0f01 |0009: return v1 │ │ -02b2f0: 1a02 e205 |000a: const-string v2, "close" // string@05e2 │ │ -02b2f4: 6e20 8e05 2000 |000c: invoke-virtual {v0, v2}, Ljava/lang/String;.equalsIgnoreCase:(Ljava/lang/String;)Z // method@058e │ │ -02b2fa: 0a00 |000f: move-result v0 │ │ -02b2fc: 3800 0300 |0010: if-eqz v0, 0013 // +0003 │ │ -02b300: 0f01 |0012: return v1 │ │ -02b302: 1200 |0013: const/4 v0, #int 0 // #0 │ │ -02b304: 0f00 |0014: return v0 │ │ +02b2c8: |[02b2c8] util.http.HttpHeader.getConnectionClose:()Z │ │ +02b2d8: 1a00 0d01 |0000: const-string v0, "Connection" // string@010d │ │ +02b2dc: 6e20 ff07 0300 |0002: invoke-virtual {v3, v0}, Lutil/http/HttpHeader;.getValue:(Ljava/lang/String;)Ljava/lang/String; // method@07ff │ │ +02b2e2: 0c00 |0005: move-result-object v0 │ │ +02b2e4: 1211 |0006: const/4 v1, #int 1 // #1 │ │ +02b2e6: 3900 0300 |0007: if-nez v0, 000a // +0003 │ │ +02b2ea: 0f01 |0009: return v1 │ │ +02b2ec: 1a02 e205 |000a: const-string v2, "close" // string@05e2 │ │ +02b2f0: 6e20 8e05 2000 |000c: invoke-virtual {v0, v2}, Ljava/lang/String;.equalsIgnoreCase:(Ljava/lang/String;)Z // method@058e │ │ +02b2f6: 0a00 |000f: move-result v0 │ │ +02b2f8: 3800 0300 |0010: if-eqz v0, 0013 // +0003 │ │ +02b2fc: 0f01 |0012: return v1 │ │ +02b2fe: 1200 |0013: const/4 v0, #int 0 // #0 │ │ +02b300: 0f00 |0014: return v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=288 │ │ 0x000a line=291 │ │ locals : │ │ 0x0000 - 0x0015 reg=3 this Lutil/http/HttpHeader; │ │ │ │ @@ -35078,32 +35078,32 @@ │ │ type : '()J' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 3 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 30 16-bit code units │ │ -02b6dc: |[02b6dc] util.http.HttpHeader.getContentLength:()J │ │ -02b6ec: 5220 ad03 |0000: iget v0, v2, Lutil/http/HttpHeader;.responsecode:I // field@03ad │ │ -02b6f0: 1301 3001 |0002: const/16 v1, #int 304 // #130 │ │ -02b6f4: 3210 1700 |0004: if-eq v0, v1, 001b // +0017 │ │ -02b6f8: 1301 cc00 |0006: const/16 v1, #int 204 // #cc │ │ -02b6fc: 3310 0300 |0008: if-ne v0, v1, 000b // +0003 │ │ -02b700: 2811 |000a: goto 001b // +0011 │ │ -02b702: 1a00 1201 |000b: const-string v0, "Content-Length" // string@0112 │ │ -02b706: 6e20 ff07 0200 |000d: invoke-virtual {v2, v0}, Lutil/http/HttpHeader;.getValue:(Ljava/lang/String;)Ljava/lang/String; // method@07ff │ │ -02b70c: 0c00 |0010: move-result-object v0 │ │ -02b70e: 3800 0700 |0011: if-eqz v0, 0018 // +0007 │ │ -02b712: 7110 6d05 0000 |0013: invoke-static {v0}, Ljava/lang/Long;.parseLong:(Ljava/lang/String;)J // method@056d │ │ -02b718: 0b00 |0016: move-result-wide v0 │ │ -02b71a: 1000 |0017: return-wide v0 │ │ -02b71c: 1600 ffff |0018: const-wide/16 v0, #int -1 // #ffff │ │ -02b720: 1000 |001a: return-wide v0 │ │ -02b722: 1600 0000 |001b: const-wide/16 v0, #int 0 // #0 │ │ -02b726: 1000 |001d: return-wide v0 │ │ +02b6d8: |[02b6d8] util.http.HttpHeader.getContentLength:()J │ │ +02b6e8: 5220 ad03 |0000: iget v0, v2, Lutil/http/HttpHeader;.responsecode:I // field@03ad │ │ +02b6ec: 1301 3001 |0002: const/16 v1, #int 304 // #130 │ │ +02b6f0: 3210 1700 |0004: if-eq v0, v1, 001b // +0017 │ │ +02b6f4: 1301 cc00 |0006: const/16 v1, #int 204 // #cc │ │ +02b6f8: 3310 0300 |0008: if-ne v0, v1, 000b // +0003 │ │ +02b6fc: 2811 |000a: goto 001b // +0011 │ │ +02b6fe: 1a00 1201 |000b: const-string v0, "Content-Length" // string@0112 │ │ +02b702: 6e20 ff07 0200 |000d: invoke-virtual {v2, v0}, Lutil/http/HttpHeader;.getValue:(Ljava/lang/String;)Ljava/lang/String; // method@07ff │ │ +02b708: 0c00 |0010: move-result-object v0 │ │ +02b70a: 3800 0700 |0011: if-eqz v0, 0018 // +0007 │ │ +02b70e: 7110 6d05 0000 |0013: invoke-static {v0}, Ljava/lang/Long;.parseLong:(Ljava/lang/String;)J // method@056d │ │ +02b714: 0b00 |0016: move-result-wide v0 │ │ +02b716: 1000 |0017: return-wide v0 │ │ +02b718: 1600 ffff |0018: const-wide/16 v0, #int -1 // #ffff │ │ +02b71c: 1000 |001a: return-wide v0 │ │ +02b71e: 1600 0000 |001b: const-wide/16 v0, #int 0 // #0 │ │ +02b722: 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; │ │ @@ -35113,47 +35113,47 @@ │ │ type : '()Ljava/lang/String;' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 7 │ │ ins : 1 │ │ outs : 4 │ │ insns size : 66 16-bit code units │ │ -02b374: |[02b374] util.http.HttpHeader.getHeaderString:()Ljava/lang/String; │ │ -02b384: 2200 2c01 |0000: new-instance v0, Ljava/lang/StringBuffer; // type@012c │ │ -02b388: 2201 2d01 |0002: new-instance v1, Ljava/lang/StringBuilder; // type@012d │ │ -02b38c: 7010 a905 0100 |0004: invoke-direct {v1}, Ljava/lang/StringBuilder;.:()V // method@05a9 │ │ -02b392: 5462 a403 |0007: iget-object v2, v6, Lutil/http/HttpHeader;._first:Ljava/lang/String; // field@03a4 │ │ -02b396: 6e20 af05 2100 |0009: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -02b39c: 1a02 0900 |000c: const-string v2, " │ │ +02b370: |[02b370] util.http.HttpHeader.getHeaderString:()Ljava/lang/String; │ │ +02b380: 2200 2c01 |0000: new-instance v0, Ljava/lang/StringBuffer; // type@012c │ │ +02b384: 2201 2d01 |0002: new-instance v1, Ljava/lang/StringBuilder; // type@012d │ │ +02b388: 7010 a905 0100 |0004: invoke-direct {v1}, Ljava/lang/StringBuilder;.:()V // method@05a9 │ │ +02b38e: 5462 a403 |0007: iget-object v2, v6, Lutil/http/HttpHeader;._first:Ljava/lang/String; // field@03a4 │ │ +02b392: 6e20 af05 2100 |0009: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +02b398: 1a02 0900 |000c: const-string v2, " │ │ " // string@0009 │ │ -02b3a0: 6e20 af05 2100 |000e: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -02b3a6: 6e10 b105 0100 |0011: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ -02b3ac: 0c01 |0014: move-result-object v1 │ │ -02b3ae: 7020 a405 1000 |0015: invoke-direct {v0, v1}, Ljava/lang/StringBuffer;.:(Ljava/lang/String;)V // method@05a4 │ │ -02b3b4: 5461 a503 |0018: iget-object v1, v6, Lutil/http/HttpHeader;._keys:Ljava/util/Vector; // field@03a5 │ │ -02b3b8: 6e10 8006 0100 |001a: invoke-virtual {v1}, Ljava/util/Vector;.iterator:()Ljava/util/Iterator; // method@0680 │ │ -02b3be: 0c01 |001d: move-result-object v1 │ │ -02b3c0: 7210 3c06 0100 |001e: invoke-interface {v1}, Ljava/util/Iterator;.hasNext:()Z // method@063c │ │ -02b3c6: 0a03 |0021: move-result v3 │ │ -02b3c8: 3803 1800 |0022: if-eqz v3, 003a // +0018 │ │ -02b3cc: 7210 3d06 0100 |0024: invoke-interface {v1}, Ljava/util/Iterator;.next:()Ljava/lang/Object; // method@063d │ │ -02b3d2: 0c03 |0027: move-result-object v3 │ │ -02b3d4: 1f03 2b01 |0028: check-cast v3, Ljava/lang/String; // type@012b │ │ -02b3d8: 5464 a603 |002a: iget-object v4, v6, Lutil/http/HttpHeader;._mapping:Ljava/util/HashMap; // field@03a6 │ │ -02b3dc: 6e10 a005 0300 |002c: invoke-virtual {v3}, Ljava/lang/String;.toUpperCase:()Ljava/lang/String; // method@05a0 │ │ -02b3e2: 0c05 |002f: move-result-object v5 │ │ -02b3e4: 6e20 2a06 5400 |0030: invoke-virtual {v4, v5}, Ljava/util/HashMap;.get:(Ljava/lang/Object;)Ljava/lang/Object; // method@062a │ │ -02b3ea: 0c04 |0033: move-result-object v4 │ │ -02b3ec: 1f04 2b01 |0034: check-cast v4, Ljava/lang/String; // type@012b │ │ -02b3f0: 6e40 f407 0643 |0036: invoke-virtual {v6, v0, v3, v4}, Lutil/http/HttpHeader;.appendValueToHeaderString:(Ljava/lang/StringBuffer;Ljava/lang/String;Ljava/lang/String;)V // method@07f4 │ │ -02b3f6: 28e5 |0039: goto 001e // -001b │ │ -02b3f8: 6e20 a605 2000 |003a: invoke-virtual {v0, v2}, Ljava/lang/StringBuffer;.append:(Ljava/lang/String;)Ljava/lang/StringBuffer; // method@05a6 │ │ -02b3fe: 6e10 a805 0000 |003d: invoke-virtual {v0}, Ljava/lang/StringBuffer;.toString:()Ljava/lang/String; // method@05a8 │ │ -02b404: 0c00 |0040: move-result-object v0 │ │ -02b406: 1100 |0041: return-object v0 │ │ +02b39c: 6e20 af05 2100 |000e: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +02b3a2: 6e10 b105 0100 |0011: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ +02b3a8: 0c01 |0014: move-result-object v1 │ │ +02b3aa: 7020 a405 1000 |0015: invoke-direct {v0, v1}, Ljava/lang/StringBuffer;.:(Ljava/lang/String;)V // method@05a4 │ │ +02b3b0: 5461 a503 |0018: iget-object v1, v6, Lutil/http/HttpHeader;._keys:Ljava/util/Vector; // field@03a5 │ │ +02b3b4: 6e10 8006 0100 |001a: invoke-virtual {v1}, Ljava/util/Vector;.iterator:()Ljava/util/Iterator; // method@0680 │ │ +02b3ba: 0c01 |001d: move-result-object v1 │ │ +02b3bc: 7210 3c06 0100 |001e: invoke-interface {v1}, Ljava/util/Iterator;.hasNext:()Z // method@063c │ │ +02b3c2: 0a03 |0021: move-result v3 │ │ +02b3c4: 3803 1800 |0022: if-eqz v3, 003a // +0018 │ │ +02b3c8: 7210 3d06 0100 |0024: invoke-interface {v1}, Ljava/util/Iterator;.next:()Ljava/lang/Object; // method@063d │ │ +02b3ce: 0c03 |0027: move-result-object v3 │ │ +02b3d0: 1f03 2b01 |0028: check-cast v3, Ljava/lang/String; // type@012b │ │ +02b3d4: 5464 a603 |002a: iget-object v4, v6, Lutil/http/HttpHeader;._mapping:Ljava/util/HashMap; // field@03a6 │ │ +02b3d8: 6e10 a005 0300 |002c: invoke-virtual {v3}, Ljava/lang/String;.toUpperCase:()Ljava/lang/String; // method@05a0 │ │ +02b3de: 0c05 |002f: move-result-object v5 │ │ +02b3e0: 6e20 2a06 5400 |0030: invoke-virtual {v4, v5}, Ljava/util/HashMap;.get:(Ljava/lang/Object;)Ljava/lang/Object; // method@062a │ │ +02b3e6: 0c04 |0033: move-result-object v4 │ │ +02b3e8: 1f04 2b01 |0034: check-cast v4, Ljava/lang/String; // type@012b │ │ +02b3ec: 6e40 f407 0643 |0036: invoke-virtual {v6, v0, v3, v4}, Lutil/http/HttpHeader;.appendValueToHeaderString:(Ljava/lang/StringBuffer;Ljava/lang/String;Ljava/lang/String;)V // method@07f4 │ │ +02b3f2: 28e5 |0039: goto 001e // -001b │ │ +02b3f4: 6e20 a605 2000 |003a: invoke-virtual {v0, v2}, Ljava/lang/StringBuffer;.append:(Ljava/lang/String;)Ljava/lang/StringBuffer; // method@05a6 │ │ +02b3fa: 6e10 a805 0000 |003d: invoke-virtual {v0}, Ljava/lang/StringBuffer;.toString:()Ljava/lang/String; // method@05a8 │ │ +02b400: 0c00 |0040: move-result-object v0 │ │ +02b402: 1100 |0041: return-object v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=215 │ │ 0x0018 line=216 │ │ 0x001e line=217 │ │ 0x0024 line=218 │ │ 0x002a line=219 │ │ @@ -35168,30 +35168,30 @@ │ │ type : '()I' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 4 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 31 16-bit code units │ │ -02b308: |[02b308] util.http.HttpHeader.getResponseCode:()I │ │ -02b318: 5230 af03 |0000: iget v0, v3, Lutil/http/HttpHeader;.type:I // field@03af │ │ -02b31c: 1221 |0002: const/4 v1, #int 2 // #2 │ │ -02b31e: 3310 0500 |0003: if-ne v0, v1, 0008 // +0005 │ │ -02b322: 5230 ad03 |0005: iget v0, v3, Lutil/http/HttpHeader;.responsecode:I // field@03ad │ │ -02b326: 0f00 |0007: return v0 │ │ -02b328: 2200 1d01 |0008: new-instance v0, Ljava/lang/IllegalStateException; // type@011d │ │ -02b32c: 2201 2d01 |000a: new-instance v1, Ljava/lang/StringBuilder; // type@012d │ │ -02b330: 7010 a905 0100 |000c: invoke-direct {v1}, Ljava/lang/StringBuilder;.:()V // method@05a9 │ │ -02b336: 6e20 ae05 3100 |000f: invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@05ae │ │ -02b33c: 1a02 2000 |0012: const-string v2, " is not a response header!" // string@0020 │ │ -02b340: 6e20 af05 2100 |0014: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -02b346: 6e10 b105 0100 |0017: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ -02b34c: 0c01 |001a: move-result-object v1 │ │ -02b34e: 7020 6305 1000 |001b: invoke-direct {v0, v1}, Ljava/lang/IllegalStateException;.:(Ljava/lang/String;)V // method@0563 │ │ -02b354: 2700 |001e: throw v0 │ │ +02b304: |[02b304] util.http.HttpHeader.getResponseCode:()I │ │ +02b314: 5230 af03 |0000: iget v0, v3, Lutil/http/HttpHeader;.type:I // field@03af │ │ +02b318: 1221 |0002: const/4 v1, #int 2 // #2 │ │ +02b31a: 3310 0500 |0003: if-ne v0, v1, 0008 // +0005 │ │ +02b31e: 5230 ad03 |0005: iget v0, v3, Lutil/http/HttpHeader;.responsecode:I // field@03ad │ │ +02b322: 0f00 |0007: return v0 │ │ +02b324: 2200 1d01 |0008: new-instance v0, Ljava/lang/IllegalStateException; // type@011d │ │ +02b328: 2201 2d01 |000a: new-instance v1, Ljava/lang/StringBuilder; // type@012d │ │ +02b32c: 7010 a905 0100 |000c: invoke-direct {v1}, Ljava/lang/StringBuilder;.:()V // method@05a9 │ │ +02b332: 6e20 ae05 3100 |000f: invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@05ae │ │ +02b338: 1a02 2000 |0012: const-string v2, " is not a response header!" // string@0020 │ │ +02b33c: 6e20 af05 2100 |0014: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +02b342: 6e10 b105 0100 |0017: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ +02b348: 0c01 |001a: move-result-object v1 │ │ +02b34a: 7020 6305 1000 |001b: invoke-direct {v0, v1}, Ljava/lang/IllegalStateException;.:(Ljava/lang/String;)V // method@0563 │ │ +02b350: 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; │ │ @@ -35201,30 +35201,30 @@ │ │ type : '()Ljava/lang/String;' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 4 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 31 16-bit code units │ │ -02b408: |[02b408] util.http.HttpHeader.getResponseMessage:()Ljava/lang/String; │ │ -02b418: 5230 af03 |0000: iget v0, v3, Lutil/http/HttpHeader;.type:I // field@03af │ │ -02b41c: 1221 |0002: const/4 v1, #int 2 // #2 │ │ -02b41e: 3310 0500 |0003: if-ne v0, v1, 0008 // +0005 │ │ -02b422: 5430 a403 |0005: iget-object v0, v3, Lutil/http/HttpHeader;._first:Ljava/lang/String; // field@03a4 │ │ -02b426: 1100 |0007: return-object v0 │ │ -02b428: 2200 1d01 |0008: new-instance v0, Ljava/lang/IllegalStateException; // type@011d │ │ -02b42c: 2201 2d01 |000a: new-instance v1, Ljava/lang/StringBuilder; // type@012d │ │ -02b430: 7010 a905 0100 |000c: invoke-direct {v1}, Ljava/lang/StringBuilder;.:()V // method@05a9 │ │ -02b436: 6e20 ae05 3100 |000f: invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@05ae │ │ -02b43c: 1a02 2000 |0012: const-string v2, " is not a response header!" // string@0020 │ │ -02b440: 6e20 af05 2100 |0014: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -02b446: 6e10 b105 0100 |0017: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ -02b44c: 0c01 |001a: move-result-object v1 │ │ -02b44e: 7020 6305 1000 |001b: invoke-direct {v0, v1}, Ljava/lang/IllegalStateException;.:(Ljava/lang/String;)V // method@0563 │ │ -02b454: 2700 |001e: throw v0 │ │ +02b404: |[02b404] util.http.HttpHeader.getResponseMessage:()Ljava/lang/String; │ │ +02b414: 5230 af03 |0000: iget v0, v3, Lutil/http/HttpHeader;.type:I // field@03af │ │ +02b418: 1221 |0002: const/4 v1, #int 2 // #2 │ │ +02b41a: 3310 0500 |0003: if-ne v0, v1, 0008 // +0005 │ │ +02b41e: 5430 a403 |0005: iget-object v0, v3, Lutil/http/HttpHeader;._first:Ljava/lang/String; // field@03a4 │ │ +02b422: 1100 |0007: return-object v0 │ │ +02b424: 2200 1d01 |0008: new-instance v0, Ljava/lang/IllegalStateException; // type@011d │ │ +02b428: 2201 2d01 |000a: new-instance v1, Ljava/lang/StringBuilder; // type@012d │ │ +02b42c: 7010 a905 0100 |000c: invoke-direct {v1}, Ljava/lang/StringBuilder;.:()V // method@05a9 │ │ +02b432: 6e20 ae05 3100 |000f: invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@05ae │ │ +02b438: 1a02 2000 |0012: const-string v2, " is not a response header!" // string@0020 │ │ +02b43c: 6e20 af05 2100 |0014: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +02b442: 6e10 b105 0100 |0017: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ +02b448: 0c01 |001a: move-result-object v1 │ │ +02b44a: 7020 6305 1000 |001b: invoke-direct {v0, v1}, Ljava/lang/IllegalStateException;.:(Ljava/lang/String;)V // method@0563 │ │ +02b450: 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; │ │ @@ -35234,19 +35234,19 @@ │ │ type : '()Ljava/lang/String;' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 6 16-bit code units │ │ -02b458: |[02b458] util.http.HttpHeader.getServerRequestHeader:()Ljava/lang/String; │ │ -02b468: 1200 |0000: const/4 v0, #int 0 // #0 │ │ -02b46a: 6e20 fe07 0100 |0001: invoke-virtual {v1, v0}, Lutil/http/HttpHeader;.getServerRequestHeader:(Z)Ljava/lang/String; // method@07fe │ │ -02b470: 0c00 |0004: move-result-object v0 │ │ -02b472: 1100 |0005: return-object v0 │ │ +02b454: |[02b454] util.http.HttpHeader.getServerRequestHeader:()Ljava/lang/String; │ │ +02b464: 1200 |0000: const/4 v0, #int 0 // #0 │ │ +02b466: 6e20 fe07 0100 |0001: invoke-virtual {v1, v0}, Lutil/http/HttpHeader;.getServerRequestHeader:(Z)Ljava/lang/String; // method@07fe │ │ +02b46c: 0c00 |0004: move-result-object v0 │ │ +02b46e: 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;) │ │ @@ -35254,134 +35254,134 @@ │ │ type : '(Z)Ljava/lang/String;' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 11 │ │ ins : 2 │ │ outs : 4 │ │ insns size : 252 16-bit code units │ │ -02b474: |[02b474] util.http.HttpHeader.getServerRequestHeader:(Z)Ljava/lang/String; │ │ -02b484: 5490 a403 |0000: iget-object v0, v9, Lutil/http/HttpHeader;._first:Ljava/lang/String; // field@03a4 │ │ -02b488: 5591 ae03 |0002: iget-boolean v1, v9, Lutil/http/HttpHeader;.tunnelMode:Z // field@03ae │ │ -02b48c: 3901 4200 |0004: if-nez v1, 0046 // +0042 │ │ -02b490: 1a00 1400 |0006: const-string v0, " HTTP/1.1" // string@0014 │ │ -02b494: 380a 2300 |0008: if-eqz v10, 002b // +0023 │ │ -02b498: 2201 2d01 |000a: new-instance v1, Ljava/lang/StringBuilder; // type@012d │ │ -02b49c: 7010 a905 0100 |000c: invoke-direct {v1}, Ljava/lang/StringBuilder;.:()V // method@05a9 │ │ -02b4a2: 5492 a803 |000f: iget-object v2, v9, Lutil/http/HttpHeader;.method:Ljava/lang/String; // field@03a8 │ │ -02b4a6: 6e20 af05 2100 |0011: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -02b4ac: 1a02 1f00 |0014: const-string v2, " http://" // string@001f │ │ -02b4b0: 6e20 af05 2100 |0016: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -02b4b6: 5492 a703 |0019: iget-object v2, v9, Lutil/http/HttpHeader;.hostEntry:Ljava/lang/String; // field@03a7 │ │ -02b4ba: 6e20 af05 2100 |001b: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -02b4c0: 5492 b003 |001e: iget-object v2, v9, Lutil/http/HttpHeader;.url:Ljava/lang/String; // field@03b0 │ │ -02b4c4: 6e20 af05 2100 |0020: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -02b4ca: 6e20 af05 0100 |0023: invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -02b4d0: 6e10 b105 0100 |0026: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ -02b4d6: 0c00 |0029: move-result-object v0 │ │ -02b4d8: 281c |002a: goto 0046 // +001c │ │ -02b4da: 2201 2d01 |002b: new-instance v1, Ljava/lang/StringBuilder; // type@012d │ │ -02b4de: 7010 a905 0100 |002d: invoke-direct {v1}, Ljava/lang/StringBuilder;.:()V // method@05a9 │ │ -02b4e4: 5492 a803 |0030: iget-object v2, v9, Lutil/http/HttpHeader;.method:Ljava/lang/String; // field@03a8 │ │ -02b4e8: 6e20 af05 2100 |0032: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -02b4ee: 1a02 0d00 |0035: const-string v2, " " // string@000d │ │ -02b4f2: 6e20 af05 2100 |0037: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -02b4f8: 5492 b003 |003a: iget-object v2, v9, Lutil/http/HttpHeader;.url:Ljava/lang/String; // field@03b0 │ │ -02b4fc: 6e20 af05 2100 |003c: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -02b502: 6e20 af05 0100 |003f: invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -02b508: 6e10 b105 0100 |0042: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ -02b50e: 0c00 |0045: move-result-object v0 │ │ -02b510: 2201 2c01 |0046: new-instance v1, Ljava/lang/StringBuffer; // type@012c │ │ -02b514: 2202 2d01 |0048: new-instance v2, Ljava/lang/StringBuilder; // type@012d │ │ -02b518: 7010 a905 0200 |004a: invoke-direct {v2}, Ljava/lang/StringBuilder;.:()V // method@05a9 │ │ -02b51e: 6e20 af05 0200 |004d: invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -02b524: 1a00 0900 |0050: const-string v0, " │ │ +02b470: |[02b470] util.http.HttpHeader.getServerRequestHeader:(Z)Ljava/lang/String; │ │ +02b480: 5490 a403 |0000: iget-object v0, v9, Lutil/http/HttpHeader;._first:Ljava/lang/String; // field@03a4 │ │ +02b484: 5591 ae03 |0002: iget-boolean v1, v9, Lutil/http/HttpHeader;.tunnelMode:Z // field@03ae │ │ +02b488: 3901 4200 |0004: if-nez v1, 0046 // +0042 │ │ +02b48c: 1a00 1400 |0006: const-string v0, " HTTP/1.1" // string@0014 │ │ +02b490: 380a 2300 |0008: if-eqz v10, 002b // +0023 │ │ +02b494: 2201 2d01 |000a: new-instance v1, Ljava/lang/StringBuilder; // type@012d │ │ +02b498: 7010 a905 0100 |000c: invoke-direct {v1}, Ljava/lang/StringBuilder;.:()V // method@05a9 │ │ +02b49e: 5492 a803 |000f: iget-object v2, v9, Lutil/http/HttpHeader;.method:Ljava/lang/String; // field@03a8 │ │ +02b4a2: 6e20 af05 2100 |0011: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +02b4a8: 1a02 1f00 |0014: const-string v2, " http://" // string@001f │ │ +02b4ac: 6e20 af05 2100 |0016: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +02b4b2: 5492 a703 |0019: iget-object v2, v9, Lutil/http/HttpHeader;.hostEntry:Ljava/lang/String; // field@03a7 │ │ +02b4b6: 6e20 af05 2100 |001b: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +02b4bc: 5492 b003 |001e: iget-object v2, v9, Lutil/http/HttpHeader;.url:Ljava/lang/String; // field@03b0 │ │ +02b4c0: 6e20 af05 2100 |0020: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +02b4c6: 6e20 af05 0100 |0023: invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +02b4cc: 6e10 b105 0100 |0026: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ +02b4d2: 0c00 |0029: move-result-object v0 │ │ +02b4d4: 281c |002a: goto 0046 // +001c │ │ +02b4d6: 2201 2d01 |002b: new-instance v1, Ljava/lang/StringBuilder; // type@012d │ │ +02b4da: 7010 a905 0100 |002d: invoke-direct {v1}, Ljava/lang/StringBuilder;.:()V // method@05a9 │ │ +02b4e0: 5492 a803 |0030: iget-object v2, v9, Lutil/http/HttpHeader;.method:Ljava/lang/String; // field@03a8 │ │ +02b4e4: 6e20 af05 2100 |0032: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +02b4ea: 1a02 0d00 |0035: const-string v2, " " // string@000d │ │ +02b4ee: 6e20 af05 2100 |0037: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +02b4f4: 5492 b003 |003a: iget-object v2, v9, Lutil/http/HttpHeader;.url:Ljava/lang/String; // field@03b0 │ │ +02b4f8: 6e20 af05 2100 |003c: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +02b4fe: 6e20 af05 0100 |003f: invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +02b504: 6e10 b105 0100 |0042: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ +02b50a: 0c00 |0045: move-result-object v0 │ │ +02b50c: 2201 2c01 |0046: new-instance v1, Ljava/lang/StringBuffer; // type@012c │ │ +02b510: 2202 2d01 |0048: new-instance v2, Ljava/lang/StringBuilder; // type@012d │ │ +02b514: 7010 a905 0200 |004a: invoke-direct {v2}, Ljava/lang/StringBuilder;.:()V // method@05a9 │ │ +02b51a: 6e20 af05 0200 |004d: invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +02b520: 1a00 0900 |0050: const-string v0, " │ │ " // string@0009 │ │ -02b528: 6e20 af05 0200 |0052: invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -02b52e: 6e10 b105 0200 |0055: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ -02b534: 0c02 |0058: move-result-object v2 │ │ -02b536: 7020 a405 2100 |0059: invoke-direct {v1, v2}, Ljava/lang/StringBuffer;.:(Ljava/lang/String;)V // method@05a4 │ │ -02b53c: 5492 a603 |005c: iget-object v2, v9, Lutil/http/HttpHeader;._mapping:Ljava/util/HashMap; // field@03a6 │ │ -02b540: 6e10 2806 0200 |005e: invoke-virtual {v2}, Ljava/util/HashMap;.clone:()Ljava/lang/Object; // method@0628 │ │ -02b546: 0c02 |0061: move-result-object v2 │ │ -02b548: 1f02 5801 |0062: check-cast v2, Ljava/util/HashMap; // type@0158 │ │ -02b54c: 1203 |0064: const/4 v3, #int 0 // #0 │ │ -02b54e: 6204 ac03 |0065: sget-object v4, Lutil/http/HttpHeader;.reqparamSequence:[Ljava/lang/String; // field@03ac │ │ -02b552: 2145 |0067: array-length v5, v4 │ │ -02b554: 1a06 8200 |0068: const-string v6, ": │ │ +02b524: 6e20 af05 0200 |0052: invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +02b52a: 6e10 b105 0200 |0055: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ +02b530: 0c02 |0058: move-result-object v2 │ │ +02b532: 7020 a405 2100 |0059: invoke-direct {v1, v2}, Ljava/lang/StringBuffer;.:(Ljava/lang/String;)V // method@05a4 │ │ +02b538: 5492 a603 |005c: iget-object v2, v9, Lutil/http/HttpHeader;._mapping:Ljava/util/HashMap; // field@03a6 │ │ +02b53c: 6e10 2806 0200 |005e: invoke-virtual {v2}, Ljava/util/HashMap;.clone:()Ljava/lang/Object; // method@0628 │ │ +02b542: 0c02 |0061: move-result-object v2 │ │ +02b544: 1f02 5801 |0062: check-cast v2, Ljava/util/HashMap; // type@0158 │ │ +02b548: 1203 |0064: const/4 v3, #int 0 // #0 │ │ +02b54a: 6204 ac03 |0065: sget-object v4, Lutil/http/HttpHeader;.reqparamSequence:[Ljava/lang/String; // field@03ac │ │ +02b54e: 2145 |0067: array-length v5, v4 │ │ +02b550: 1a06 8200 |0068: const-string v6, ": │ │ " // string@0082 │ │ -02b558: 3553 3f00 |006a: if-ge v3, v5, 00a9 // +003f │ │ -02b55c: 4604 0403 |006c: aget-object v4, v4, v3 │ │ -02b560: 6e10 a005 0400 |006e: invoke-virtual {v4}, Ljava/lang/String;.toUpperCase:()Ljava/lang/String; // method@05a0 │ │ -02b566: 0c05 |0071: move-result-object v5 │ │ -02b568: 6e20 2c06 5200 |0072: invoke-virtual {v2, v5}, Ljava/util/HashMap;.remove:(Ljava/lang/Object;)Ljava/lang/Object; // method@062c │ │ -02b56e: 0c05 |0075: move-result-object v5 │ │ -02b570: 1f05 2b01 |0076: check-cast v5, Ljava/lang/String; // type@012b │ │ -02b574: 3805 2e00 |0078: if-eqz v5, 00a6 // +002e │ │ -02b578: 380a 1000 |007a: if-eqz v10, 008a // +0010 │ │ -02b57c: 6e10 a005 0400 |007c: invoke-virtual {v4}, Ljava/lang/String;.toUpperCase:()Ljava/lang/String; // method@05a0 │ │ -02b582: 0c07 |007f: move-result-object v7 │ │ -02b584: 1a08 e200 |0080: const-string v8, "CONNECTION" // string@00e2 │ │ -02b588: 6e20 8d05 8700 |0082: invoke-virtual {v7, v8}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058d │ │ -02b58e: 0a07 |0085: move-result v7 │ │ -02b590: 3807 0400 |0086: if-eqz v7, 008a // +0004 │ │ -02b594: 1a04 1704 |0088: const-string v4, "Proxy-Connection" // string@0417 │ │ -02b598: 6e10 9605 0500 |008a: invoke-virtual {v5}, Ljava/lang/String;.length:()I // method@0596 │ │ -02b59e: 0a07 |008d: move-result v7 │ │ -02b5a0: 3d07 0600 |008e: if-lez v7, 0094 // +0006 │ │ -02b5a4: 6e40 f407 1954 |0090: invoke-virtual {v9, v1, v4, v5}, Lutil/http/HttpHeader;.appendValueToHeaderString:(Ljava/lang/StringBuffer;Ljava/lang/String;Ljava/lang/String;)V // method@07f4 │ │ -02b5aa: 2813 |0093: goto 00a6 // +0013 │ │ -02b5ac: 2205 2d01 |0094: new-instance v5, Ljava/lang/StringBuilder; // type@012d │ │ -02b5b0: 7010 a905 0500 |0096: invoke-direct {v5}, Ljava/lang/StringBuilder;.:()V // method@05a9 │ │ -02b5b6: 6e20 af05 4500 |0099: invoke-virtual {v5, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -02b5bc: 6e20 af05 6500 |009c: invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -02b5c2: 6e10 b105 0500 |009f: invoke-virtual {v5}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ -02b5c8: 0c04 |00a2: move-result-object v4 │ │ -02b5ca: 6e20 a605 4100 |00a3: invoke-virtual {v1, v4}, Ljava/lang/StringBuffer;.append:(Ljava/lang/String;)Ljava/lang/StringBuffer; // method@05a6 │ │ -02b5d0: d803 0301 |00a6: add-int/lit8 v3, v3, #int 1 // #01 │ │ -02b5d4: 28bd |00a8: goto 0065 // -0043 │ │ -02b5d6: 5493 a503 |00a9: iget-object v3, v9, Lutil/http/HttpHeader;._keys:Ljava/util/Vector; // field@03a5 │ │ -02b5da: 6e10 8006 0300 |00ab: invoke-virtual {v3}, Ljava/util/Vector;.iterator:()Ljava/util/Iterator; // method@0680 │ │ -02b5e0: 0c03 |00ae: move-result-object v3 │ │ -02b5e2: 7210 3c06 0300 |00af: invoke-interface {v3}, Ljava/util/Iterator;.hasNext:()Z // method@063c │ │ -02b5e8: 0a04 |00b2: move-result v4 │ │ -02b5ea: 3804 4100 |00b3: if-eqz v4, 00f4 // +0041 │ │ -02b5ee: 7210 3d06 0300 |00b5: invoke-interface {v3}, Ljava/util/Iterator;.next:()Ljava/lang/Object; // method@063d │ │ -02b5f4: 0c04 |00b8: move-result-object v4 │ │ -02b5f6: 1f04 2b01 |00b9: check-cast v4, Ljava/lang/String; // type@012b │ │ -02b5fa: 6e10 a005 0400 |00bb: invoke-virtual {v4}, Ljava/lang/String;.toUpperCase:()Ljava/lang/String; // method@05a0 │ │ -02b600: 0c05 |00be: move-result-object v5 │ │ -02b602: 6e20 2c06 5200 |00bf: invoke-virtual {v2, v5}, Ljava/util/HashMap;.remove:(Ljava/lang/Object;)Ljava/lang/Object; // method@062c │ │ -02b608: 0c05 |00c2: move-result-object v5 │ │ -02b60a: 1f05 2b01 |00c3: check-cast v5, Ljava/lang/String; // type@012b │ │ -02b60e: 3805 eaff |00c5: if-eqz v5, 00af // -0016 │ │ -02b612: 390a 1000 |00c7: if-nez v10, 00d7 // +0010 │ │ -02b616: 6e10 a005 0400 |00c9: invoke-virtual {v4}, Ljava/lang/String;.toUpperCase:()Ljava/lang/String; // method@05a0 │ │ -02b61c: 0c07 |00cc: move-result-object v7 │ │ -02b61e: 1a08 0604 |00cd: const-string v8, "PROXY-CONNECTION" // string@0406 │ │ -02b622: 6e20 8d05 8700 |00cf: invoke-virtual {v7, v8}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058d │ │ -02b628: 0a07 |00d2: move-result v7 │ │ -02b62a: 3807 0400 |00d3: if-eqz v7, 00d7 // +0004 │ │ -02b62e: 1a04 0d01 |00d5: const-string v4, "Connection" // string@010d │ │ -02b632: 6e10 9605 0500 |00d7: invoke-virtual {v5}, Ljava/lang/String;.length:()I // method@0596 │ │ -02b638: 0a07 |00da: move-result v7 │ │ -02b63a: 3d07 0600 |00db: if-lez v7, 00e1 // +0006 │ │ -02b63e: 6e40 f407 1954 |00dd: invoke-virtual {v9, v1, v4, v5}, Lutil/http/HttpHeader;.appendValueToHeaderString:(Ljava/lang/StringBuffer;Ljava/lang/String;Ljava/lang/String;)V // method@07f4 │ │ -02b644: 28cf |00e0: goto 00af // -0031 │ │ -02b646: 2205 2d01 |00e1: new-instance v5, Ljava/lang/StringBuilder; // type@012d │ │ -02b64a: 7010 a905 0500 |00e3: invoke-direct {v5}, Ljava/lang/StringBuilder;.:()V // method@05a9 │ │ -02b650: 6e20 af05 4500 |00e6: invoke-virtual {v5, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -02b656: 6e20 af05 6500 |00e9: invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -02b65c: 6e10 b105 0500 |00ec: invoke-virtual {v5}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ -02b662: 0c04 |00ef: move-result-object v4 │ │ -02b664: 6e20 a605 4100 |00f0: invoke-virtual {v1, v4}, Ljava/lang/StringBuffer;.append:(Ljava/lang/String;)Ljava/lang/StringBuffer; // method@05a6 │ │ -02b66a: 28bc |00f3: goto 00af // -0044 │ │ -02b66c: 6e20 a605 0100 |00f4: invoke-virtual {v1, v0}, Ljava/lang/StringBuffer;.append:(Ljava/lang/String;)Ljava/lang/StringBuffer; // method@05a6 │ │ -02b672: 6e10 a805 0100 |00f7: invoke-virtual {v1}, Ljava/lang/StringBuffer;.toString:()Ljava/lang/String; // method@05a8 │ │ -02b678: 0c0a |00fa: move-result-object v10 │ │ -02b67a: 110a |00fb: return-object v10 │ │ +02b554: 3553 3f00 |006a: if-ge v3, v5, 00a9 // +003f │ │ +02b558: 4604 0403 |006c: aget-object v4, v4, v3 │ │ +02b55c: 6e10 a005 0400 |006e: invoke-virtual {v4}, Ljava/lang/String;.toUpperCase:()Ljava/lang/String; // method@05a0 │ │ +02b562: 0c05 |0071: move-result-object v5 │ │ +02b564: 6e20 2c06 5200 |0072: invoke-virtual {v2, v5}, Ljava/util/HashMap;.remove:(Ljava/lang/Object;)Ljava/lang/Object; // method@062c │ │ +02b56a: 0c05 |0075: move-result-object v5 │ │ +02b56c: 1f05 2b01 |0076: check-cast v5, Ljava/lang/String; // type@012b │ │ +02b570: 3805 2e00 |0078: if-eqz v5, 00a6 // +002e │ │ +02b574: 380a 1000 |007a: if-eqz v10, 008a // +0010 │ │ +02b578: 6e10 a005 0400 |007c: invoke-virtual {v4}, Ljava/lang/String;.toUpperCase:()Ljava/lang/String; // method@05a0 │ │ +02b57e: 0c07 |007f: move-result-object v7 │ │ +02b580: 1a08 e200 |0080: const-string v8, "CONNECTION" // string@00e2 │ │ +02b584: 6e20 8d05 8700 |0082: invoke-virtual {v7, v8}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058d │ │ +02b58a: 0a07 |0085: move-result v7 │ │ +02b58c: 3807 0400 |0086: if-eqz v7, 008a // +0004 │ │ +02b590: 1a04 1704 |0088: const-string v4, "Proxy-Connection" // string@0417 │ │ +02b594: 6e10 9605 0500 |008a: invoke-virtual {v5}, Ljava/lang/String;.length:()I // method@0596 │ │ +02b59a: 0a07 |008d: move-result v7 │ │ +02b59c: 3d07 0600 |008e: if-lez v7, 0094 // +0006 │ │ +02b5a0: 6e40 f407 1954 |0090: invoke-virtual {v9, v1, v4, v5}, Lutil/http/HttpHeader;.appendValueToHeaderString:(Ljava/lang/StringBuffer;Ljava/lang/String;Ljava/lang/String;)V // method@07f4 │ │ +02b5a6: 2813 |0093: goto 00a6 // +0013 │ │ +02b5a8: 2205 2d01 |0094: new-instance v5, Ljava/lang/StringBuilder; // type@012d │ │ +02b5ac: 7010 a905 0500 |0096: invoke-direct {v5}, Ljava/lang/StringBuilder;.:()V // method@05a9 │ │ +02b5b2: 6e20 af05 4500 |0099: invoke-virtual {v5, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +02b5b8: 6e20 af05 6500 |009c: invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +02b5be: 6e10 b105 0500 |009f: invoke-virtual {v5}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ +02b5c4: 0c04 |00a2: move-result-object v4 │ │ +02b5c6: 6e20 a605 4100 |00a3: invoke-virtual {v1, v4}, Ljava/lang/StringBuffer;.append:(Ljava/lang/String;)Ljava/lang/StringBuffer; // method@05a6 │ │ +02b5cc: d803 0301 |00a6: add-int/lit8 v3, v3, #int 1 // #01 │ │ +02b5d0: 28bd |00a8: goto 0065 // -0043 │ │ +02b5d2: 5493 a503 |00a9: iget-object v3, v9, Lutil/http/HttpHeader;._keys:Ljava/util/Vector; // field@03a5 │ │ +02b5d6: 6e10 8006 0300 |00ab: invoke-virtual {v3}, Ljava/util/Vector;.iterator:()Ljava/util/Iterator; // method@0680 │ │ +02b5dc: 0c03 |00ae: move-result-object v3 │ │ +02b5de: 7210 3c06 0300 |00af: invoke-interface {v3}, Ljava/util/Iterator;.hasNext:()Z // method@063c │ │ +02b5e4: 0a04 |00b2: move-result v4 │ │ +02b5e6: 3804 4100 |00b3: if-eqz v4, 00f4 // +0041 │ │ +02b5ea: 7210 3d06 0300 |00b5: invoke-interface {v3}, Ljava/util/Iterator;.next:()Ljava/lang/Object; // method@063d │ │ +02b5f0: 0c04 |00b8: move-result-object v4 │ │ +02b5f2: 1f04 2b01 |00b9: check-cast v4, Ljava/lang/String; // type@012b │ │ +02b5f6: 6e10 a005 0400 |00bb: invoke-virtual {v4}, Ljava/lang/String;.toUpperCase:()Ljava/lang/String; // method@05a0 │ │ +02b5fc: 0c05 |00be: move-result-object v5 │ │ +02b5fe: 6e20 2c06 5200 |00bf: invoke-virtual {v2, v5}, Ljava/util/HashMap;.remove:(Ljava/lang/Object;)Ljava/lang/Object; // method@062c │ │ +02b604: 0c05 |00c2: move-result-object v5 │ │ +02b606: 1f05 2b01 |00c3: check-cast v5, Ljava/lang/String; // type@012b │ │ +02b60a: 3805 eaff |00c5: if-eqz v5, 00af // -0016 │ │ +02b60e: 390a 1000 |00c7: if-nez v10, 00d7 // +0010 │ │ +02b612: 6e10 a005 0400 |00c9: invoke-virtual {v4}, Ljava/lang/String;.toUpperCase:()Ljava/lang/String; // method@05a0 │ │ +02b618: 0c07 |00cc: move-result-object v7 │ │ +02b61a: 1a08 0604 |00cd: const-string v8, "PROXY-CONNECTION" // string@0406 │ │ +02b61e: 6e20 8d05 8700 |00cf: invoke-virtual {v7, v8}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058d │ │ +02b624: 0a07 |00d2: move-result v7 │ │ +02b626: 3807 0400 |00d3: if-eqz v7, 00d7 // +0004 │ │ +02b62a: 1a04 0d01 |00d5: const-string v4, "Connection" // string@010d │ │ +02b62e: 6e10 9605 0500 |00d7: invoke-virtual {v5}, Ljava/lang/String;.length:()I // method@0596 │ │ +02b634: 0a07 |00da: move-result v7 │ │ +02b636: 3d07 0600 |00db: if-lez v7, 00e1 // +0006 │ │ +02b63a: 6e40 f407 1954 |00dd: invoke-virtual {v9, v1, v4, v5}, Lutil/http/HttpHeader;.appendValueToHeaderString:(Ljava/lang/StringBuffer;Ljava/lang/String;Ljava/lang/String;)V // method@07f4 │ │ +02b640: 28cf |00e0: goto 00af // -0031 │ │ +02b642: 2205 2d01 |00e1: new-instance v5, Ljava/lang/StringBuilder; // type@012d │ │ +02b646: 7010 a905 0500 |00e3: invoke-direct {v5}, Ljava/lang/StringBuilder;.:()V // method@05a9 │ │ +02b64c: 6e20 af05 4500 |00e6: invoke-virtual {v5, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +02b652: 6e20 af05 6500 |00e9: invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +02b658: 6e10 b105 0500 |00ec: invoke-virtual {v5}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ +02b65e: 0c04 |00ef: move-result-object v4 │ │ +02b660: 6e20 a605 4100 |00f0: invoke-virtual {v1, v4}, Ljava/lang/StringBuffer;.append:(Ljava/lang/String;)Ljava/lang/StringBuffer; // method@05a6 │ │ +02b666: 28bc |00f3: goto 00af // -0044 │ │ +02b668: 6e20 a605 0100 |00f4: invoke-virtual {v1, v0}, Ljava/lang/StringBuffer;.append:(Ljava/lang/String;)Ljava/lang/StringBuffer; // method@05a6 │ │ +02b66e: 6e10 a805 0100 |00f7: invoke-virtual {v1}, Ljava/lang/StringBuffer;.toString:()Ljava/lang/String; // method@05a8 │ │ +02b674: 0c0a |00fa: move-result-object v10 │ │ +02b676: 110a |00fb: return-object v10 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=228 │ │ 0x0002 line=230 │ │ 0x0006 line=231 │ │ 0x000a line=232 │ │ 0x002b line=234 │ │ @@ -35415,22 +35415,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 │ │ -02b67c: |[02b67c] util.http.HttpHeader.getValue:(Ljava/lang/String;)Ljava/lang/String; │ │ -02b68c: 5410 a603 |0000: iget-object v0, v1, Lutil/http/HttpHeader;._mapping:Ljava/util/HashMap; // field@03a6 │ │ -02b690: 6e10 a005 0200 |0002: invoke-virtual {v2}, Ljava/lang/String;.toUpperCase:()Ljava/lang/String; // method@05a0 │ │ -02b696: 0c02 |0005: move-result-object v2 │ │ -02b698: 6e20 2a06 2000 |0006: invoke-virtual {v0, v2}, Ljava/util/HashMap;.get:(Ljava/lang/Object;)Ljava/lang/Object; // method@062a │ │ -02b69e: 0c02 |0009: move-result-object v2 │ │ -02b6a0: 1f02 2b01 |000a: check-cast v2, Ljava/lang/String; // type@012b │ │ -02b6a4: 1102 |000c: return-object v2 │ │ +02b678: |[02b678] util.http.HttpHeader.getValue:(Ljava/lang/String;)Ljava/lang/String; │ │ +02b688: 5410 a603 |0000: iget-object v0, v1, Lutil/http/HttpHeader;._mapping:Ljava/util/HashMap; // field@03a6 │ │ +02b68c: 6e10 a005 0200 |0002: invoke-virtual {v2}, Ljava/lang/String;.toUpperCase:()Ljava/lang/String; // method@05a0 │ │ +02b692: 0c02 |0005: move-result-object v2 │ │ +02b694: 6e20 2a06 2000 |0006: invoke-virtual {v0, v2}, Ljava/util/HashMap;.get:(Ljava/lang/Object;)Ljava/lang/Object; // method@062a │ │ +02b69a: 0c02 |0009: move-result-object v2 │ │ +02b69c: 1f02 2b01 |000a: check-cast v2, Ljava/lang/String; // type@012b │ │ +02b6a0: 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; │ │ │ │ @@ -35439,24 +35439,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 │ │ -02b6a8: |[02b6a8] util.http.HttpHeader.removeValue:(Ljava/lang/String;)Ljava/lang/String; │ │ -02b6b8: 5410 a503 |0000: iget-object v0, v1, Lutil/http/HttpHeader;._keys:Ljava/util/Vector; // field@03a5 │ │ -02b6bc: 6e20 8206 2000 |0002: invoke-virtual {v0, v2}, Ljava/util/Vector;.remove:(Ljava/lang/Object;)Z // method@0682 │ │ -02b6c2: 5410 a603 |0005: iget-object v0, v1, Lutil/http/HttpHeader;._mapping:Ljava/util/HashMap; // field@03a6 │ │ -02b6c6: 6e10 a005 0200 |0007: invoke-virtual {v2}, Ljava/lang/String;.toUpperCase:()Ljava/lang/String; // method@05a0 │ │ -02b6cc: 0c02 |000a: move-result-object v2 │ │ -02b6ce: 6e20 2c06 2000 |000b: invoke-virtual {v0, v2}, Ljava/util/HashMap;.remove:(Ljava/lang/Object;)Ljava/lang/Object; // method@062c │ │ -02b6d4: 0c02 |000e: move-result-object v2 │ │ -02b6d6: 1f02 2b01 |000f: check-cast v2, Ljava/lang/String; // type@012b │ │ -02b6da: 1102 |0011: return-object v2 │ │ +02b6a4: |[02b6a4] util.http.HttpHeader.removeValue:(Ljava/lang/String;)Ljava/lang/String; │ │ +02b6b4: 5410 a503 |0000: iget-object v0, v1, Lutil/http/HttpHeader;._keys:Ljava/util/Vector; // field@03a5 │ │ +02b6b8: 6e20 8206 2000 |0002: invoke-virtual {v0, v2}, Ljava/util/Vector;.remove:(Ljava/lang/Object;)Z // method@0682 │ │ +02b6be: 5410 a603 |0005: iget-object v0, v1, Lutil/http/HttpHeader;._mapping:Ljava/util/HashMap; // field@03a6 │ │ +02b6c2: 6e10 a005 0200 |0007: invoke-virtual {v2}, Ljava/lang/String;.toUpperCase:()Ljava/lang/String; // method@05a0 │ │ +02b6c8: 0c02 |000a: move-result-object v2 │ │ +02b6ca: 6e20 2c06 2000 |000b: invoke-virtual {v0, v2}, Ljava/util/HashMap;.remove:(Ljava/lang/Object;)Ljava/lang/Object; // method@062c │ │ +02b6d0: 0c02 |000e: move-result-object v2 │ │ +02b6d2: 1f02 2b01 |000f: check-cast v2, Ljava/lang/String; // type@012b │ │ +02b6d6: 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; │ │ @@ -35466,20 +35466,20 @@ │ │ type : '(Ljava/lang/String;)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 3 │ │ ins : 2 │ │ outs : 3 │ │ insns size : 11 16-bit code units │ │ -02c0e8: |[02c0e8] util.http.HttpHeader.setHostEntry:(Ljava/lang/String;)V │ │ -02c0f8: 5b12 a703 |0000: iput-object v2, v1, Lutil/http/HttpHeader;.hostEntry:Ljava/lang/String; // field@03a7 │ │ -02c0fc: 1a00 b701 |0002: const-string v0, "Host" // string@01b7 │ │ -02c100: 6e30 0508 0102 |0004: invoke-virtual {v1, v0, v2}, Lutil/http/HttpHeader;.setValue:(Ljava/lang/String;Ljava/lang/String;)V // method@0805 │ │ -02c106: 7010 0008 0100 |0007: invoke-direct {v1}, Lutil/http/HttpHeader;.parseHostEntry:()V // method@0800 │ │ -02c10c: 0e00 |000a: return-void │ │ +02c0e4: |[02c0e4] util.http.HttpHeader.setHostEntry:(Ljava/lang/String;)V │ │ +02c0f4: 5b12 a703 |0000: iput-object v2, v1, Lutil/http/HttpHeader;.hostEntry:Ljava/lang/String; // field@03a7 │ │ +02c0f8: 1a00 b701 |0002: const-string v0, "Host" // string@01b7 │ │ +02c0fc: 6e30 0508 0102 |0004: invoke-virtual {v1, v0, v2}, Lutil/http/HttpHeader;.setValue:(Ljava/lang/String;Ljava/lang/String;)V // method@0805 │ │ +02c102: 7010 0008 0100 |0007: invoke-direct {v1}, Lutil/http/HttpHeader;.parseHostEntry:()V // method@0800 │ │ +02c108: 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; │ │ @@ -35490,21 +35490,21 @@ │ │ type : '(Ljava/lang/String;)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 3 │ │ ins : 2 │ │ outs : 3 │ │ insns size : 13 16-bit code units │ │ -02c110: |[02c110] util.http.HttpHeader.setRequest:(Ljava/lang/String;)V │ │ -02c120: 5b12 a403 |0000: iput-object v2, v1, Lutil/http/HttpHeader;._first:Ljava/lang/String; // field@03a4 │ │ -02c124: 7010 0108 0100 |0002: invoke-direct {v1}, Lutil/http/HttpHeader;.parseURI:()V // method@0801 │ │ -02c12a: 1a02 b701 |0005: const-string v2, "Host" // string@01b7 │ │ -02c12e: 5410 a703 |0007: iget-object v0, v1, Lutil/http/HttpHeader;.hostEntry:Ljava/lang/String; // field@03a7 │ │ -02c132: 6e30 0508 2100 |0009: invoke-virtual {v1, v2, v0}, Lutil/http/HttpHeader;.setValue:(Ljava/lang/String;Ljava/lang/String;)V // method@0805 │ │ -02c138: 0e00 |000c: return-void │ │ +02c10c: |[02c10c] util.http.HttpHeader.setRequest:(Ljava/lang/String;)V │ │ +02c11c: 5b12 a403 |0000: iput-object v2, v1, Lutil/http/HttpHeader;._first:Ljava/lang/String; // field@03a4 │ │ +02c120: 7010 0108 0100 |0002: invoke-direct {v1}, Lutil/http/HttpHeader;.parseURI:()V // method@0801 │ │ +02c126: 1a02 b701 |0005: const-string v2, "Host" // string@01b7 │ │ +02c12a: 5410 a703 |0007: iget-object v0, v1, Lutil/http/HttpHeader;.hostEntry:Ljava/lang/String; // field@03a7 │ │ +02c12e: 6e30 0508 2100 |0009: invoke-virtual {v1, v2, v0}, Lutil/http/HttpHeader;.setValue:(Ljava/lang/String;Ljava/lang/String;)V // method@0805 │ │ +02c134: 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; │ │ @@ -35515,25 +35515,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 │ │ -02c13c: |[02c13c] util.http.HttpHeader.setValue:(Ljava/lang/String;Ljava/lang/String;)V │ │ -02c14c: 6e20 ff07 2100 |0000: invoke-virtual {v1, v2}, Lutil/http/HttpHeader;.getValue:(Ljava/lang/String;)Ljava/lang/String; // method@07ff │ │ -02c152: 0c00 |0003: move-result-object v0 │ │ -02c154: 3900 0700 |0004: if-nez v0, 000b // +0007 │ │ -02c158: 5410 a503 |0006: iget-object v0, v1, Lutil/http/HttpHeader;._keys:Ljava/util/Vector; // field@03a5 │ │ -02c15c: 6e20 7906 2000 |0008: invoke-virtual {v0, v2}, Ljava/util/Vector;.add:(Ljava/lang/Object;)Z // method@0679 │ │ -02c162: 5410 a603 |000b: iget-object v0, v1, Lutil/http/HttpHeader;._mapping:Ljava/util/HashMap; // field@03a6 │ │ -02c166: 6e10 a005 0200 |000d: invoke-virtual {v2}, Ljava/lang/String;.toUpperCase:()Ljava/lang/String; // method@05a0 │ │ -02c16c: 0c02 |0010: move-result-object v2 │ │ -02c16e: 6e30 2b06 2003 |0011: invoke-virtual {v0, v2, v3}, Ljava/util/HashMap;.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; // method@062b │ │ -02c174: 0e00 |0014: return-void │ │ +02c138: |[02c138] util.http.HttpHeader.setValue:(Ljava/lang/String;Ljava/lang/String;)V │ │ +02c148: 6e20 ff07 2100 |0000: invoke-virtual {v1, v2}, Lutil/http/HttpHeader;.getValue:(Ljava/lang/String;)Ljava/lang/String; // method@07ff │ │ +02c14e: 0c00 |0003: move-result-object v0 │ │ +02c150: 3900 0700 |0004: if-nez v0, 000b // +0007 │ │ +02c154: 5410 a503 |0006: iget-object v0, v1, Lutil/http/HttpHeader;._keys:Ljava/util/Vector; // field@03a5 │ │ +02c158: 6e20 7906 2000 |0008: invoke-virtual {v0, v2}, Ljava/util/Vector;.add:(Ljava/lang/Object;)Z // method@0679 │ │ +02c15e: 5410 a603 |000b: iget-object v0, v1, Lutil/http/HttpHeader;._mapping:Ljava/util/HashMap; // field@03a6 │ │ +02c162: 6e10 a005 0200 |000d: invoke-virtual {v2}, Ljava/lang/String;.toUpperCase:()Ljava/lang/String; // method@05a0 │ │ +02c168: 0c02 |0010: move-result-object v2 │ │ +02c16a: 6e30 2b06 2003 |0011: invoke-virtual {v0, v2, v3}, Ljava/util/HashMap;.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; // method@062b │ │ +02c170: 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; │ │ @@ -42803,19 +42803,19 @@ │ │ type : '()V' │ │ access : 0x10002 (PRIVATE CONSTRUCTOR) │ │ code - │ │ registers : 3 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 11 16-bit code units │ │ -01990c: |[01990c] dnsfilter.android.DNSProxyActivity$MsgTimeoutListener.:()V │ │ -01991c: 7010 7505 0200 |0000: invoke-direct {v2}, Ljava/lang/Object;.:()V // method@0575 │ │ -019922: 1800 ffff ffff ffff ff7f |0003: const-wide v0, #double nan // #7fffffffffffffff │ │ -01992c: 5a20 e700 |0008: iput-wide v0, v2, Ldnsfilter/android/DNSProxyActivity$MsgTimeoutListener;.timeout:J // field@00e7 │ │ -019930: 0e00 |000a: return-void │ │ +019908: |[019908] dnsfilter.android.DNSProxyActivity$MsgTimeoutListener.:()V │ │ +019918: 7010 7505 0200 |0000: invoke-direct {v2}, Ljava/lang/Object;.:()V // method@0575 │ │ +01991e: 1800 ffff ffff ffff ff7f |0003: const-wide v0, #double nan // #7fffffffffffffff │ │ +019928: 5a20 e700 |0008: iput-wide v0, v2, Ldnsfilter/android/DNSProxyActivity$MsgTimeoutListener;.timeout:J // field@00e7 │ │ +01992c: 0e00 |000a: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=197 │ │ 0x0008 line=199 │ │ locals : │ │ 0x0000 - 0x000b reg=2 this Ldnsfilter/android/DNSProxyActivity$MsgTimeoutListener; │ │ │ │ @@ -42824,17 +42824,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 │ │ -019934: |[019934] dnsfilter.android.DNSProxyActivity$MsgTimeoutListener.:(Ldnsfilter/android/DNSProxyActivity$1;)V │ │ -019944: 7010 cf02 0000 |0000: invoke-direct {v0}, Ldnsfilter/android/DNSProxyActivity$MsgTimeoutListener;.:()V // method@02cf │ │ -01994a: 0e00 |0003: return-void │ │ +019930: |[019930] dnsfilter.android.DNSProxyActivity$MsgTimeoutListener.:(Ldnsfilter/android/DNSProxyActivity$1;)V │ │ +019940: 7010 cf02 0000 |0000: invoke-direct {v0}, Ldnsfilter/android/DNSProxyActivity$MsgTimeoutListener;.:()V // method@02cf │ │ +019946: 0e00 |0003: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=197 │ │ locals : │ │ 0x0000 - 0x0004 reg=0 this Ldnsfilter/android/DNSProxyActivity$MsgTimeoutListener; │ │ 0x0000 - 0x0004 reg=1 (null) Ldnsfilter/android/DNSProxyActivity$1; │ │ │ │ @@ -42843,17 +42843,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 │ │ -01994c: |[01994c] dnsfilter.android.DNSProxyActivity$MsgTimeoutListener.access$800:(Ldnsfilter/android/DNSProxyActivity$MsgTimeoutListener;I)V │ │ -01995c: 7020 d402 1000 |0000: invoke-direct {v0, v1}, Ldnsfilter/android/DNSProxyActivity$MsgTimeoutListener;.setTimeout:(I)V // method@02d4 │ │ -019962: 0e00 |0003: return-void │ │ +019948: |[019948] dnsfilter.android.DNSProxyActivity$MsgTimeoutListener.access$800:(Ldnsfilter/android/DNSProxyActivity$MsgTimeoutListener;I)V │ │ +019958: 7020 d402 1000 |0000: invoke-direct {v0, v1}, Ldnsfilter/android/DNSProxyActivity$MsgTimeoutListener;.setTimeout:(I)V // method@02d4 │ │ +01995e: 0e00 |0003: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=197 │ │ locals : │ │ 0x0000 - 0x0004 reg=0 (null) Ldnsfilter/android/DNSProxyActivity$MsgTimeoutListener; │ │ 0x0000 - 0x0004 reg=1 (null) I │ │ │ │ @@ -42862,24 +42862,24 @@ │ │ type : '(I)V' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 6 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 16 16-bit code units │ │ -01997c: |[01997c] dnsfilter.android.DNSProxyActivity$MsgTimeoutListener.setTimeout:(I)V │ │ -01998c: 7100 b305 0000 |0000: invoke-static {}, Ljava/lang/System;.currentTimeMillis:()J // method@05b3 │ │ -019992: 0b00 |0003: move-result-wide v0 │ │ -019994: 8152 |0004: int-to-long v2, v5 │ │ -019996: bb20 |0005: add-long/2addr v0, v2 │ │ -019998: 5a40 e700 |0006: iput-wide v0, v4, Ldnsfilter/android/DNSProxyActivity$MsgTimeoutListener;.timeout:J // field@00e7 │ │ -01999c: 7100 8807 0000 |0008: invoke-static {}, Lutil/TimoutNotificator;.getInstance:()Lutil/TimoutNotificator; // method@0788 │ │ -0199a2: 0c05 |000b: move-result-object v5 │ │ -0199a4: 6e20 8a07 4500 |000c: invoke-virtual {v5, v4}, Lutil/TimoutNotificator;.register:(Lutil/TimeoutListener;)V // method@078a │ │ -0199aa: 0e00 |000f: return-void │ │ +019978: |[019978] dnsfilter.android.DNSProxyActivity$MsgTimeoutListener.setTimeout:(I)V │ │ +019988: 7100 b305 0000 |0000: invoke-static {}, Ljava/lang/System;.currentTimeMillis:()J // method@05b3 │ │ +01998e: 0b00 |0003: move-result-wide v0 │ │ +019990: 8152 |0004: int-to-long v2, v5 │ │ +019992: bb20 |0005: add-long/2addr v0, v2 │ │ +019994: 5a40 e700 |0006: iput-wide v0, v4, Ldnsfilter/android/DNSProxyActivity$MsgTimeoutListener;.timeout:J // field@00e7 │ │ +019998: 7100 8807 0000 |0008: invoke-static {}, Lutil/TimoutNotificator;.getInstance:()Lutil/TimoutNotificator; // method@0788 │ │ +01999e: 0c05 |000b: move-result-object v5 │ │ +0199a0: 6e20 8a07 4500 |000c: invoke-virtual {v5, v4}, Lutil/TimoutNotificator;.register:(Lutil/TimeoutListener;)V // method@078a │ │ +0199a6: 0e00 |000f: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=208 │ │ 0x0008 line=209 │ │ locals : │ │ 0x0000 - 0x0010 reg=4 this Ldnsfilter/android/DNSProxyActivity$MsgTimeoutListener; │ │ 0x0000 - 0x0010 reg=5 (null) I │ │ @@ -42890,17 +42890,17 @@ │ │ type : '()J' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 3 │ │ ins : 1 │ │ outs : 0 │ │ insns size : 3 16-bit code units │ │ -0198f4: |[0198f4] dnsfilter.android.DNSProxyActivity$MsgTimeoutListener.getTimoutTime:()J │ │ -019904: 5320 e700 |0000: iget-wide v0, v2, Ldnsfilter/android/DNSProxyActivity$MsgTimeoutListener;.timeout:J // field@00e7 │ │ -019908: 1000 |0002: return-wide v0 │ │ +0198f0: |[0198f0] dnsfilter.android.DNSProxyActivity$MsgTimeoutListener.getTimoutTime:()J │ │ +019900: 5320 e700 |0000: iget-wide v0, v2, Ldnsfilter/android/DNSProxyActivity$MsgTimeoutListener;.timeout:J // field@00e7 │ │ +019904: 1000 |0002: return-wide v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=226 │ │ locals : │ │ 0x0000 - 0x0003 reg=2 this Ldnsfilter/android/DNSProxyActivity$MsgTimeoutListener; │ │ │ │ #1 : (in Ldnsfilter/android/DNSProxyActivity$MsgTimeoutListener;) │ │ @@ -42908,17 +42908,17 @@ │ │ type : '(Ldnsfilter/android/DNSProxyActivity;)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 2 │ │ outs : 0 │ │ insns size : 3 16-bit code units │ │ -019964: |[019964] dnsfilter.android.DNSProxyActivity$MsgTimeoutListener.setActivity:(Ldnsfilter/android/DNSProxyActivity;)V │ │ -019974: 5b01 e600 |0000: iput-object v1, v0, Ldnsfilter/android/DNSProxyActivity$MsgTimeoutListener;.activity:Ldnsfilter/android/DNSProxyActivity; // field@00e6 │ │ -019978: 0e00 |0002: return-void │ │ +019960: |[019960] dnsfilter.android.DNSProxyActivity$MsgTimeoutListener.setActivity:(Ldnsfilter/android/DNSProxyActivity;)V │ │ +019970: 5b01 e600 |0000: iput-object v1, v0, Ldnsfilter/android/DNSProxyActivity$MsgTimeoutListener;.activity:Ldnsfilter/android/DNSProxyActivity; // field@00e6 │ │ +019974: 0e00 |0002: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=204 │ │ locals : │ │ 0x0000 - 0x0003 reg=0 this Ldnsfilter/android/DNSProxyActivity$MsgTimeoutListener; │ │ 0x0000 - 0x0003 reg=1 (null) Ldnsfilter/android/DNSProxyActivity; │ │ │ │ @@ -42927,47 +42927,47 @@ │ │ type : '()V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 4 │ │ ins : 1 │ │ outs : 3 │ │ insns size : 67 16-bit code units │ │ -0199ac: |[0199ac] dnsfilter.android.DNSProxyActivity$MsgTimeoutListener.timeoutNotification:()V │ │ -0199bc: 6200 ed00 |0000: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.CONFIG:Ldnsfilter/ConfigurationAccess; // field@00ed │ │ -0199c0: 6e10 5701 0000 |0002: invoke-virtual {v0}, Ldnsfilter/ConfigurationAccess;.isLocal:()Z // method@0157 │ │ -0199c6: 0a00 |0005: move-result v0 │ │ -0199c8: 3800 1900 |0006: if-eqz v0, 001f // +0019 │ │ -0199cc: 5430 e600 |0008: iget-object v0, v3, Ldnsfilter/android/DNSProxyActivity$MsgTimeoutListener;.activity:Ldnsfilter/android/DNSProxyActivity; // field@00e6 │ │ -0199d0: 6201 1f01 |000a: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.link_field_txt:Ljava/lang/String; // field@011f │ │ -0199d4: 7110 da02 0100 |000c: invoke-static {v1}, Ldnsfilter/android/DNSProxyActivity;.access$000:(Ljava/lang/String;)Landroid/text/Spanned; // method@02da │ │ -0199da: 0c01 |000f: move-result-object v1 │ │ -0199dc: 6002 1e01 |0010: sget v2, Ldnsfilter/android/DNSProxyActivity;.link_field_color:I // field@011e │ │ -0199e0: 7130 db02 1002 |0012: invoke-static {v0, v1, v2}, Ldnsfilter/android/DNSProxyActivity;.access$100:(Ldnsfilter/android/DNSProxyActivity;Landroid/text/Spanned;I)V // method@02db │ │ -0199e6: 6200 1d01 |0015: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.link_field:Landroid/widget/TextView; // field@011d │ │ -0199ea: 7100 9f00 0000 |0017: invoke-static {}, Landroid/text/method/LinkMovementMethod;.getInstance:()Landroid/text/method/MovementMethod; // method@009f │ │ -0199f0: 0c01 |001a: move-result-object v1 │ │ -0199f2: 6e20 0701 1000 |001b: invoke-virtual {v0, v1}, Landroid/widget/TextView;.setMovementMethod:(Landroid/text/method/MovementMethod;)V // method@0107 │ │ -0199f8: 2821 |001e: goto 003f // +0021 │ │ -0199fa: 5430 e600 |001f: iget-object v0, v3, Ldnsfilter/android/DNSProxyActivity$MsgTimeoutListener;.activity:Ldnsfilter/android/DNSProxyActivity; // field@00e6 │ │ -0199fe: 2201 2d01 |0021: new-instance v1, Ljava/lang/StringBuilder; // type@012d │ │ -019a02: 1a02 9600 |0023: const-string v2, "" // string@0096 │ │ -019a06: 7020 aa05 2100 |0025: invoke-direct {v1, v2}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05aa │ │ -019a0c: 6202 ed00 |0028: sget-object v2, Ldnsfilter/android/DNSProxyActivity;.CONFIG:Ldnsfilter/ConfigurationAccess; // field@00ed │ │ -019a10: 6e20 ae05 2100 |002a: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@05ae │ │ -019a16: 1a02 8f00 |002d: const-string v2, "" // string@008f │ │ -019a1a: 6e20 af05 2100 |002f: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -019a20: 6e10 b105 0100 |0032: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ -019a26: 0c01 |0035: move-result-object v1 │ │ -019a28: 7110 da02 0100 |0036: invoke-static {v1}, Ldnsfilter/android/DNSProxyActivity;.access$000:(Ljava/lang/String;)Landroid/text/Spanned; // method@02da │ │ -019a2e: 0c01 |0039: move-result-object v1 │ │ -019a30: 6002 1e01 |003a: sget v2, Ldnsfilter/android/DNSProxyActivity;.link_field_color:I // field@011e │ │ -019a34: 7130 db02 1002 |003c: invoke-static {v0, v1, v2}, Ldnsfilter/android/DNSProxyActivity;.access$100:(Ldnsfilter/android/DNSProxyActivity;Landroid/text/Spanned;I)V // method@02db │ │ -019a3a: 1200 |003f: const/4 v0, #int 0 // #0 │ │ -019a3c: 6a00 f500 |0040: sput-boolean v0, Ldnsfilter/android/DNSProxyActivity;.MSG_ACTIVE:Z // field@00f5 │ │ -019a40: 0e00 |0042: return-void │ │ +0199a8: |[0199a8] dnsfilter.android.DNSProxyActivity$MsgTimeoutListener.timeoutNotification:()V │ │ +0199b8: 6200 ed00 |0000: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.CONFIG:Ldnsfilter/ConfigurationAccess; // field@00ed │ │ +0199bc: 6e10 5701 0000 |0002: invoke-virtual {v0}, Ldnsfilter/ConfigurationAccess;.isLocal:()Z // method@0157 │ │ +0199c2: 0a00 |0005: move-result v0 │ │ +0199c4: 3800 1900 |0006: if-eqz v0, 001f // +0019 │ │ +0199c8: 5430 e600 |0008: iget-object v0, v3, Ldnsfilter/android/DNSProxyActivity$MsgTimeoutListener;.activity:Ldnsfilter/android/DNSProxyActivity; // field@00e6 │ │ +0199cc: 6201 1f01 |000a: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.link_field_txt:Ljava/lang/String; // field@011f │ │ +0199d0: 7110 da02 0100 |000c: invoke-static {v1}, Ldnsfilter/android/DNSProxyActivity;.access$000:(Ljava/lang/String;)Landroid/text/Spanned; // method@02da │ │ +0199d6: 0c01 |000f: move-result-object v1 │ │ +0199d8: 6002 1e01 |0010: sget v2, Ldnsfilter/android/DNSProxyActivity;.link_field_color:I // field@011e │ │ +0199dc: 7130 db02 1002 |0012: invoke-static {v0, v1, v2}, Ldnsfilter/android/DNSProxyActivity;.access$100:(Ldnsfilter/android/DNSProxyActivity;Landroid/text/Spanned;I)V // method@02db │ │ +0199e2: 6200 1d01 |0015: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.link_field:Landroid/widget/TextView; // field@011d │ │ +0199e6: 7100 9f00 0000 |0017: invoke-static {}, Landroid/text/method/LinkMovementMethod;.getInstance:()Landroid/text/method/MovementMethod; // method@009f │ │ +0199ec: 0c01 |001a: move-result-object v1 │ │ +0199ee: 6e20 0701 1000 |001b: invoke-virtual {v0, v1}, Landroid/widget/TextView;.setMovementMethod:(Landroid/text/method/MovementMethod;)V // method@0107 │ │ +0199f4: 2821 |001e: goto 003f // +0021 │ │ +0199f6: 5430 e600 |001f: iget-object v0, v3, Ldnsfilter/android/DNSProxyActivity$MsgTimeoutListener;.activity:Ldnsfilter/android/DNSProxyActivity; // field@00e6 │ │ +0199fa: 2201 2d01 |0021: new-instance v1, Ljava/lang/StringBuilder; // type@012d │ │ +0199fe: 1a02 9600 |0023: const-string v2, "" // string@0096 │ │ +019a02: 7020 aa05 2100 |0025: invoke-direct {v1, v2}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05aa │ │ +019a08: 6202 ed00 |0028: sget-object v2, Ldnsfilter/android/DNSProxyActivity;.CONFIG:Ldnsfilter/ConfigurationAccess; // field@00ed │ │ +019a0c: 6e20 ae05 2100 |002a: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@05ae │ │ +019a12: 1a02 8f00 |002d: const-string v2, "" // string@008f │ │ +019a16: 6e20 af05 2100 |002f: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +019a1c: 6e10 b105 0100 |0032: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ +019a22: 0c01 |0035: move-result-object v1 │ │ +019a24: 7110 da02 0100 |0036: invoke-static {v1}, Ldnsfilter/android/DNSProxyActivity;.access$000:(Ljava/lang/String;)Landroid/text/Spanned; // method@02da │ │ +019a2a: 0c01 |0039: move-result-object v1 │ │ +019a2c: 6002 1e01 |003a: sget v2, Ldnsfilter/android/DNSProxyActivity;.link_field_color:I // field@011e │ │ +019a30: 7130 db02 1002 |003c: invoke-static {v0, v1, v2}, Ldnsfilter/android/DNSProxyActivity;.access$100:(Ldnsfilter/android/DNSProxyActivity;Landroid/text/Spanned;I)V // method@02db │ │ +019a36: 1200 |003f: const/4 v0, #int 0 // #0 │ │ +019a38: 6a00 f500 |0040: sput-boolean v0, Ldnsfilter/android/DNSProxyActivity;.MSG_ACTIVE:Z // field@00f5 │ │ +019a3c: 0e00 |0042: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=214 │ │ 0x0008 line=215 │ │ 0x0015 line=216 │ │ 0x001f line=219 │ │ 0x0040 line=221 │ │ @@ -43399,37 +43399,37 @@ │ │ type : '()V' │ │ access : 0x10008 (STATIC CONSTRUCTOR) │ │ code - │ │ registers : 3 │ │ ins : 0 │ │ outs : 2 │ │ insns size : 41 16-bit code units │ │ -01a218: |[01a218] dnsfilter.android.DNSProxyActivity.:()V │ │ -01a228: 7100 5301 0000 |0000: invoke-static {}, Ldnsfilter/ConfigurationAccess;.getLocal:()Ldnsfilter/ConfigurationAccess; // method@0153 │ │ -01a22e: 0c00 |0003: move-result-object v0 │ │ -01a230: 6900 ed00 |0004: sput-object v0, Ldnsfilter/android/DNSProxyActivity;.CONFIG:Ldnsfilter/ConfigurationAccess; // field@00ed │ │ -01a234: 1200 |0006: const/4 v0, #int 0 // #0 │ │ -01a236: 6a00 3801 |0007: sput-boolean v0, Ldnsfilter/android/DNSProxyActivity;.switchingConfig:Z // field@0138 │ │ -01a23a: 1201 |0009: const/4 v1, #int 0 // #0 │ │ -01a23c: 6901 fa00 |000a: sput-object v1, Ldnsfilter/android/DNSProxyActivity;.PASSWORD_DIAG:Landroid/app/AlertDialog; // field@00fa │ │ -01a240: 6a00 f900 |000c: sput-boolean v0, Ldnsfilter/android/DNSProxyActivity;.NO_VPN:Z // field@00f9 │ │ -01a244: 6a00 f500 |000e: sput-boolean v0, Ldnsfilter/android/DNSProxyActivity;.MSG_ACTIVE:Z // field@00f5 │ │ -01a248: 6700 ef00 |0010: sput v0, Ldnsfilter/android/DNSProxyActivity;.DISPLAY_WIDTH:I // field@00ef │ │ -01a24c: 6700 ee00 |0012: sput v0, Ldnsfilter/android/DNSProxyActivity;.DISPLAY_HEIGTH:I // field@00ee │ │ -01a250: 2202 ae00 |0014: new-instance v2, Ldnsfilter/android/DNSProxyActivity$MsgTimeoutListener; // type@00ae │ │ -01a254: 7020 d002 1200 |0016: invoke-direct {v2, v1}, Ldnsfilter/android/DNSProxyActivity$MsgTimeoutListener;.:(Ldnsfilter/android/DNSProxyActivity$1;)V // method@02d0 │ │ -01a25a: 6902 f600 |0019: sput-object v2, Ldnsfilter/android/DNSProxyActivity;.MsgTO:Ldnsfilter/android/DNSProxyActivity$MsgTimeoutListener; // field@00f6 │ │ -01a25e: 6700 f000 |001b: sput v0, Ldnsfilter/android/DNSProxyActivity;.DO_BACKUP:I // field@00f0 │ │ -01a262: 1212 |001d: const/4 v2, #int 1 // #1 │ │ -01a264: 6702 f100 |001e: sput v2, Ldnsfilter/android/DNSProxyActivity;.DO_RESTORE:I // field@00f1 │ │ -01a268: 6901 2601 |0020: sput-object v1, Ldnsfilter/android/DNSProxyActivity;.popUpDialog:Landroid/app/Dialog; // field@0126 │ │ -01a26c: 6a02 3501 |0022: sput-boolean v2, Ldnsfilter/android/DNSProxyActivity;.showInitialInfoPopUp:Z // field@0135 │ │ -01a270: 6a00 2701 |0024: sput-boolean v0, Ldnsfilter/android/DNSProxyActivity;.popUpDialogChanged:Z // field@0127 │ │ -01a274: 6901 1b01 |0026: sput-object v1, Ldnsfilter/android/DNSProxyActivity;.initialInfoPopUpExitBtn:Landroid/widget/Button; // field@011b │ │ -01a278: 0e00 |0028: return-void │ │ +01a214: |[01a214] dnsfilter.android.DNSProxyActivity.:()V │ │ +01a224: 7100 5301 0000 |0000: invoke-static {}, Ldnsfilter/ConfigurationAccess;.getLocal:()Ldnsfilter/ConfigurationAccess; // method@0153 │ │ +01a22a: 0c00 |0003: move-result-object v0 │ │ +01a22c: 6900 ed00 |0004: sput-object v0, Ldnsfilter/android/DNSProxyActivity;.CONFIG:Ldnsfilter/ConfigurationAccess; // field@00ed │ │ +01a230: 1200 |0006: const/4 v0, #int 0 // #0 │ │ +01a232: 6a00 3801 |0007: sput-boolean v0, Ldnsfilter/android/DNSProxyActivity;.switchingConfig:Z // field@0138 │ │ +01a236: 1201 |0009: const/4 v1, #int 0 // #0 │ │ +01a238: 6901 fa00 |000a: sput-object v1, Ldnsfilter/android/DNSProxyActivity;.PASSWORD_DIAG:Landroid/app/AlertDialog; // field@00fa │ │ +01a23c: 6a00 f900 |000c: sput-boolean v0, Ldnsfilter/android/DNSProxyActivity;.NO_VPN:Z // field@00f9 │ │ +01a240: 6a00 f500 |000e: sput-boolean v0, Ldnsfilter/android/DNSProxyActivity;.MSG_ACTIVE:Z // field@00f5 │ │ +01a244: 6700 ef00 |0010: sput v0, Ldnsfilter/android/DNSProxyActivity;.DISPLAY_WIDTH:I // field@00ef │ │ +01a248: 6700 ee00 |0012: sput v0, Ldnsfilter/android/DNSProxyActivity;.DISPLAY_HEIGTH:I // field@00ee │ │ +01a24c: 2202 ae00 |0014: new-instance v2, Ldnsfilter/android/DNSProxyActivity$MsgTimeoutListener; // type@00ae │ │ +01a250: 7020 d002 1200 |0016: invoke-direct {v2, v1}, Ldnsfilter/android/DNSProxyActivity$MsgTimeoutListener;.:(Ldnsfilter/android/DNSProxyActivity$1;)V // method@02d0 │ │ +01a256: 6902 f600 |0019: sput-object v2, Ldnsfilter/android/DNSProxyActivity;.MsgTO:Ldnsfilter/android/DNSProxyActivity$MsgTimeoutListener; // field@00f6 │ │ +01a25a: 6700 f000 |001b: sput v0, Ldnsfilter/android/DNSProxyActivity;.DO_BACKUP:I // field@00f0 │ │ +01a25e: 1212 |001d: const/4 v2, #int 1 // #1 │ │ +01a260: 6702 f100 |001e: sput v2, Ldnsfilter/android/DNSProxyActivity;.DO_RESTORE:I // field@00f1 │ │ +01a264: 6901 2601 |0020: sput-object v1, Ldnsfilter/android/DNSProxyActivity;.popUpDialog:Landroid/app/Dialog; // field@0126 │ │ +01a268: 6a02 3501 |0022: sput-boolean v2, Ldnsfilter/android/DNSProxyActivity;.showInitialInfoPopUp:Z // field@0135 │ │ +01a26c: 6a00 2701 |0024: sput-boolean v0, Ldnsfilter/android/DNSProxyActivity;.popUpDialogChanged:Z // field@0127 │ │ +01a270: 6901 1b01 |0026: sput-object v1, Ldnsfilter/android/DNSProxyActivity;.initialInfoPopUpExitBtn:Landroid/widget/Button; // field@011b │ │ +01a274: 0e00 |0028: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=177 │ │ 0x0007 line=178 │ │ 0x000a line=180 │ │ 0x000c line=182 │ │ 0x000e line=184 │ │ @@ -43449,23 +43449,23 @@ │ │ type : '()V' │ │ access : 0x10001 (PUBLIC CONSTRUCTOR) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 14 16-bit code units │ │ -01a27c: |[01a27c] dnsfilter.android.DNSProxyActivity.:()V │ │ -01a28c: 7010 0100 0100 |0000: invoke-direct {v1}, Landroid/app/Activity;.:()V // method@0001 │ │ -01a292: 1200 |0003: const/4 v0, #int 0 // #0 │ │ -01a294: 5b10 3201 |0004: iput-object v0, v1, Ldnsfilter/android/DNSProxyActivity;.scrollView:Landroid/widget/ScrollView; // field@0132 │ │ -01a298: 1200 |0006: const/4 v0, #int 0 // #0 │ │ -01a29a: 5c10 ea00 |0007: iput-boolean v0, v1, Ldnsfilter/android/DNSProxyActivity;.ACTION_MENU_FALLBACK:Z // field@00ea │ │ -01a29e: 1300 7901 |0009: const/16 v0, #int 377 // #179 │ │ -01a2a2: 5910 fd00 |000b: iput v0, v1, Ldnsfilter/android/DNSProxyActivity;.START_SVC:I // field@00fd │ │ -01a2a6: 0e00 |000d: return-void │ │ +01a278: |[01a278] dnsfilter.android.DNSProxyActivity.:()V │ │ +01a288: 7010 0100 0100 |0000: invoke-direct {v1}, Landroid/app/Activity;.:()V // method@0001 │ │ +01a28e: 1200 |0003: const/4 v0, #int 0 // #0 │ │ +01a290: 5b10 3201 |0004: iput-object v0, v1, Ldnsfilter/android/DNSProxyActivity;.scrollView:Landroid/widget/ScrollView; // field@0132 │ │ +01a294: 1200 |0006: const/4 v0, #int 0 // #0 │ │ +01a296: 5c10 ea00 |0007: iput-boolean v0, v1, Ldnsfilter/android/DNSProxyActivity;.ACTION_MENU_FALLBACK:Z // field@00ea │ │ +01a29a: 1300 7901 |0009: const/16 v0, #int 377 // #179 │ │ +01a29e: 5910 fd00 |000b: iput v0, v1, Ldnsfilter/android/DNSProxyActivity;.START_SVC:I // field@00fd │ │ +01a2a2: 0e00 |000d: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=91 │ │ 0x0004 line=154 │ │ 0x0007 line=164 │ │ 0x000b line=1556 │ │ locals : │ │ @@ -43476,18 +43476,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 │ │ -019c80: |[019c80] dnsfilter.android.DNSProxyActivity.access$000:(Ljava/lang/String;)Landroid/text/Spanned; │ │ -019c90: 7110 f302 0000 |0000: invoke-static {v0}, Ldnsfilter/android/DNSProxyActivity;.fromHtml:(Ljava/lang/String;)Landroid/text/Spanned; // method@02f3 │ │ -019c96: 0c00 |0003: move-result-object v0 │ │ -019c98: 1100 |0004: return-object v0 │ │ +019c7c: |[019c7c] dnsfilter.android.DNSProxyActivity.access$000:(Ljava/lang/String;)Landroid/text/Spanned; │ │ +019c8c: 7110 f302 0000 |0000: invoke-static {v0}, Ldnsfilter/android/DNSProxyActivity;.fromHtml:(Ljava/lang/String;)Landroid/text/Spanned; // method@02f3 │ │ +019c92: 0c00 |0003: move-result-object v0 │ │ +019c94: 1100 |0004: return-object v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=91 │ │ locals : │ │ 0x0000 - 0x0005 reg=0 (null) Ljava/lang/String; │ │ │ │ #3 : (in Ldnsfilter/android/DNSProxyActivity;) │ │ @@ -43495,17 +43495,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 │ │ -01a2a8: |[01a2a8] dnsfilter.android.DNSProxyActivity.access$100:(Ldnsfilter/android/DNSProxyActivity;Landroid/text/Spanned;I)V │ │ -01a2b8: 7030 2e03 1002 |0000: invoke-direct {v0, v1, v2}, Ldnsfilter/android/DNSProxyActivity;.setMessage:(Landroid/text/Spanned;I)V // method@032e │ │ -01a2be: 0e00 |0003: return-void │ │ +01a2a4: |[01a2a4] dnsfilter.android.DNSProxyActivity.access$100:(Ldnsfilter/android/DNSProxyActivity;Landroid/text/Spanned;I)V │ │ +01a2b4: 7030 2e03 1002 |0000: invoke-direct {v0, v1, v2}, Ldnsfilter/android/DNSProxyActivity;.setMessage:(Landroid/text/Spanned;I)V // method@032e │ │ +01a2ba: 0e00 |0003: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=91 │ │ locals : │ │ 0x0000 - 0x0004 reg=0 (null) Ldnsfilter/android/DNSProxyActivity; │ │ 0x0000 - 0x0004 reg=1 (null) Landroid/text/Spanned; │ │ 0x0000 - 0x0004 reg=2 (null) I │ │ @@ -43515,18 +43515,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 │ │ -01a158: |[01a158] dnsfilter.android.DNSProxyActivity.access$1000:(Ldnsfilter/android/DNSProxyActivity;Z)Ljava/lang/String; │ │ -01a168: 7020 f902 1000 |0000: invoke-direct {v0, v1}, Ldnsfilter/android/DNSProxyActivity;.getSelectedText:(Z)Ljava/lang/String; // method@02f9 │ │ -01a16e: 0c00 |0003: move-result-object v0 │ │ -01a170: 1100 |0004: return-object v0 │ │ +01a154: |[01a154] dnsfilter.android.DNSProxyActivity.access$1000:(Ldnsfilter/android/DNSProxyActivity;Z)Ljava/lang/String; │ │ +01a164: 7020 f902 1000 |0000: invoke-direct {v0, v1}, Ldnsfilter/android/DNSProxyActivity;.getSelectedText:(Z)Ljava/lang/String; // method@02f9 │ │ +01a16a: 0c00 |0003: move-result-object v0 │ │ +01a16c: 1100 |0004: return-object v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=91 │ │ locals : │ │ 0x0000 - 0x0005 reg=0 (null) Ldnsfilter/android/DNSProxyActivity; │ │ 0x0000 - 0x0005 reg=1 (null) Z │ │ │ │ @@ -43535,17 +43535,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 │ │ -01a2c0: |[01a2c0] dnsfilter.android.DNSProxyActivity.access$300:(Ldnsfilter/android/DNSProxyActivity;Ljava/lang/String;)V │ │ -01a2d0: 7020 e302 1000 |0000: invoke-direct {v0, v1}, Ldnsfilter/android/DNSProxyActivity;.addToLogView:(Ljava/lang/String;)V // method@02e3 │ │ -01a2d6: 0e00 |0003: return-void │ │ +01a2bc: |[01a2bc] dnsfilter.android.DNSProxyActivity.access$300:(Ldnsfilter/android/DNSProxyActivity;Ljava/lang/String;)V │ │ +01a2cc: 7020 e302 1000 |0000: invoke-direct {v0, v1}, Ldnsfilter/android/DNSProxyActivity;.addToLogView:(Ljava/lang/String;)V // method@02e3 │ │ +01a2d2: 0e00 |0003: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=91 │ │ locals : │ │ 0x0000 - 0x0004 reg=0 (null) Ldnsfilter/android/DNSProxyActivity; │ │ 0x0000 - 0x0004 reg=1 (null) Ljava/lang/String; │ │ │ │ @@ -43554,17 +43554,17 @@ │ │ type : '(Ldnsfilter/android/DNSProxyActivity;)V' │ │ access : 0x1008 (STATIC SYNTHETIC) │ │ code - │ │ registers : 1 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 4 16-bit code units │ │ -01a2d8: |[01a2d8] dnsfilter.android.DNSProxyActivity.access$400:(Ldnsfilter/android/DNSProxyActivity;)V │ │ -01a2e8: 7010 e802 0000 |0000: invoke-direct {v0}, Ldnsfilter/android/DNSProxyActivity;.checkPasscode:()V // method@02e8 │ │ -01a2ee: 0e00 |0003: return-void │ │ +01a2d4: |[01a2d4] dnsfilter.android.DNSProxyActivity.access$400:(Ldnsfilter/android/DNSProxyActivity;)V │ │ +01a2e4: 7010 e802 0000 |0000: invoke-direct {v0}, Ldnsfilter/android/DNSProxyActivity;.checkPasscode:()V // method@02e8 │ │ +01a2ea: 0e00 |0003: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=91 │ │ locals : │ │ 0x0000 - 0x0004 reg=0 (null) Ldnsfilter/android/DNSProxyActivity; │ │ │ │ #7 : (in Ldnsfilter/android/DNSProxyActivity;) │ │ @@ -43572,17 +43572,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 │ │ -01a2f0: |[01a2f0] dnsfilter.android.DNSProxyActivity.access$500:(Ldnsfilter/android/DNSProxyActivity;Ljava/lang/String;Ljava/lang/String;)V │ │ -01a300: 7030 2603 1002 |0000: invoke-direct {v0, v1, v2}, Ldnsfilter/android/DNSProxyActivity;.persistRemoteControlConfig:(Ljava/lang/String;Ljava/lang/String;)V // method@0326 │ │ -01a306: 0e00 |0003: return-void │ │ +01a2ec: |[01a2ec] dnsfilter.android.DNSProxyActivity.access$500:(Ldnsfilter/android/DNSProxyActivity;Ljava/lang/String;Ljava/lang/String;)V │ │ +01a2fc: 7030 2603 1002 |0000: invoke-direct {v0, v1, v2}, Ldnsfilter/android/DNSProxyActivity;.persistRemoteControlConfig:(Ljava/lang/String;Ljava/lang/String;)V // method@0326 │ │ +01a302: 0e00 |0003: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=91 │ │ 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; │ │ @@ -43592,17 +43592,17 @@ │ │ type : '(Ldnsfilter/android/DNSProxyActivity;)V' │ │ access : 0x1008 (STATIC SYNTHETIC) │ │ code - │ │ registers : 1 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 4 16-bit code units │ │ -01a308: |[01a308] dnsfilter.android.DNSProxyActivity.access$600:(Ldnsfilter/android/DNSProxyActivity;)V │ │ -01a318: 7010 0003 0000 |0000: invoke-direct {v0}, Ldnsfilter/android/DNSProxyActivity;.handleRemoteControl:()V // method@0300 │ │ -01a31e: 0e00 |0003: return-void │ │ +01a304: |[01a304] dnsfilter.android.DNSProxyActivity.access$600:(Ldnsfilter/android/DNSProxyActivity;)V │ │ +01a314: 7010 0003 0000 |0000: invoke-direct {v0}, Ldnsfilter/android/DNSProxyActivity;.handleRemoteControl:()V // method@0300 │ │ +01a31a: 0e00 |0003: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=91 │ │ locals : │ │ 0x0000 - 0x0004 reg=0 (null) Ldnsfilter/android/DNSProxyActivity; │ │ │ │ #9 : (in Ldnsfilter/android/DNSProxyActivity;) │ │ @@ -43610,34 +43610,34 @@ │ │ type : '()Ldnsfilter/android/DNSProxyActivity$MsgTimeoutListener;' │ │ access : 0x1008 (STATIC SYNTHETIC) │ │ code - │ │ registers : 1 │ │ ins : 0 │ │ outs : 0 │ │ insns size : 3 16-bit code units │ │ -01a140: |[01a140] dnsfilter.android.DNSProxyActivity.access$700:()Ldnsfilter/android/DNSProxyActivity$MsgTimeoutListener; │ │ -01a150: 6200 f600 |0000: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.MsgTO:Ldnsfilter/android/DNSProxyActivity$MsgTimeoutListener; // field@00f6 │ │ -01a154: 1100 |0002: return-object v0 │ │ +01a13c: |[01a13c] dnsfilter.android.DNSProxyActivity.access$700:()Ldnsfilter/android/DNSProxyActivity$MsgTimeoutListener; │ │ +01a14c: 6200 f600 |0000: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.MsgTO:Ldnsfilter/android/DNSProxyActivity$MsgTimeoutListener; // field@00f6 │ │ +01a150: 1100 |0002: return-object v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=91 │ │ 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 │ │ -01a320: |[01a320] dnsfilter.android.DNSProxyActivity.access$900:(Ldnsfilter/android/DNSProxyActivity;Ldnsfilter/ConfigurationAccess;)V │ │ -01a330: 7020 1a03 1000 |0000: invoke-direct {v0, v1}, Ldnsfilter/android/DNSProxyActivity;.onRemoteConnected:(Ldnsfilter/ConfigurationAccess;)V // method@031a │ │ -01a336: 0e00 |0003: return-void │ │ +01a31c: |[01a31c] dnsfilter.android.DNSProxyActivity.access$900:(Ldnsfilter/android/DNSProxyActivity;Ldnsfilter/ConfigurationAccess;)V │ │ +01a32c: 7020 1a03 1000 |0000: invoke-direct {v0, v1}, Ldnsfilter/android/DNSProxyActivity;.onRemoteConnected:(Ldnsfilter/ConfigurationAccess;)V // method@031a │ │ +01a332: 0e00 |0003: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=91 │ │ locals : │ │ 0x0000 - 0x0004 reg=0 (null) Ldnsfilter/android/DNSProxyActivity; │ │ 0x0000 - 0x0004 reg=1 (null) Ldnsfilter/ConfigurationAccess; │ │ │ │ @@ -43646,95 +43646,95 @@ │ │ type : '(Ljava/lang/String;)V' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 9 │ │ ins : 2 │ │ outs : 3 │ │ insns size : 164 16-bit code units │ │ -01a338: |[01a338] dnsfilter.android.DNSProxyActivity.addToLogView:(Ljava/lang/String;)V │ │ -01a348: 2200 6601 |0000: new-instance v0, Ljava/util/StringTokenizer; // type@0166 │ │ -01a34c: 1a01 0200 |0002: const-string v1, " │ │ +01a334: |[01a334] dnsfilter.android.DNSProxyActivity.addToLogView:(Ljava/lang/String;)V │ │ +01a344: 2200 6601 |0000: new-instance v0, Ljava/util/StringTokenizer; // type@0166 │ │ +01a348: 1a01 0200 |0002: const-string v1, " │ │ " // string@0002 │ │ -01a350: 7030 6406 8001 |0004: invoke-direct {v0, v8, v1}, Ljava/util/StringTokenizer;.:(Ljava/lang/String;Ljava/lang/String;)V // method@0664 │ │ -01a356: 6e10 6606 0000 |0007: invoke-virtual {v0}, Ljava/util/StringTokenizer;.hasMoreElements:()Z // method@0666 │ │ -01a35c: 0a02 |000a: move-result v2 │ │ -01a35e: 3802 9800 |000b: if-eqz v2, 00a3 // +0098 │ │ -01a362: 6e10 6806 0000 |000d: invoke-virtual {v0}, Ljava/util/StringTokenizer;.nextToken:()Ljava/lang/String; // method@0668 │ │ -01a368: 0c02 |0010: move-result-object v2 │ │ -01a36a: 6203 f300 |0011: sget-object v3, Ldnsfilter/android/DNSProxyActivity;.IN_FILTER_PREF:Ljava/lang/String; // field@00f3 │ │ -01a36e: 6e20 9b05 3200 |0013: invoke-virtual {v2, v3}, Ljava/lang/String;.startsWith:(Ljava/lang/String;)Z // method@059b │ │ -01a374: 0a03 |0016: move-result v3 │ │ -01a376: 6204 f800 |0017: sget-object v4, Ldnsfilter/android/DNSProxyActivity;.NO_FILTER_PREF:Ljava/lang/String; // field@00f8 │ │ -01a37a: 6e20 9b05 4200 |0019: invoke-virtual {v2, v4}, Ljava/lang/String;.startsWith:(Ljava/lang/String;)Z // method@059b │ │ -01a380: 0a04 |001c: move-result v4 │ │ -01a382: 6205 f400 |001d: sget-object v5, Ldnsfilter/android/DNSProxyActivity;.IP_FORWARD_PREF:Ljava/lang/String; // field@00f4 │ │ -01a386: 6e20 9b05 5200 |001f: invoke-virtual {v2, v5}, Ljava/lang/String;.startsWith:(Ljava/lang/String;)Z // method@059b │ │ -01a38c: 0a05 |0022: move-result v5 │ │ -01a38e: 1a06 4400 |0023: const-string v6, "($CONTENT)" // string@0044 │ │ -01a392: 3903 2c00 |0025: if-nez v3, 0051 // +002c │ │ -01a396: 3904 2a00 |0027: if-nez v4, 0051 // +002a │ │ -01a39a: 3805 0300 |0029: if-eqz v5, 002c // +0003 │ │ -01a39e: 2826 |002b: goto 0051 // +0026 │ │ -01a3a0: 6e10 6606 0000 |002c: invoke-virtual {v0}, Ljava/util/StringTokenizer;.hasMoreElements:()Z // method@0666 │ │ -01a3a6: 0a03 |002f: move-result v3 │ │ -01a3a8: 3903 0b00 |0030: if-nez v3, 003b // +000b │ │ -01a3ac: 6e20 8c05 1800 |0032: invoke-virtual {v8, v1}, Ljava/lang/String;.endsWith:(Ljava/lang/String;)Z // method@058c │ │ -01a3b2: 0a03 |0035: move-result v3 │ │ -01a3b4: 3903 0500 |0036: if-nez v3, 003b // +0005 │ │ -01a3b8: 1a03 0000 |0038: const-string v3, "" // string@0000 │ │ -01a3bc: 2802 |003a: goto 003c // +0002 │ │ -01a3be: 0713 |003b: move-object v3, v1 │ │ -01a3c0: 6204 2001 |003c: sget-object v4, Ldnsfilter/android/DNSProxyActivity;.logOutView:Landroid/widget/EditText; // field@0120 │ │ -01a3c4: 6205 2501 |003e: sget-object v5, Ldnsfilter/android/DNSProxyActivity;.normalLogFormat:Ljava/lang/String; // field@0125 │ │ -01a3c8: 6e30 9705 6502 |0040: invoke-virtual {v5, v6, v2}, Ljava/lang/String;.replace:(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String; // method@0597 │ │ -01a3ce: 0c02 |0043: move-result-object v2 │ │ -01a3d0: 7110 f302 0200 |0044: invoke-static {v2}, Ldnsfilter/android/DNSProxyActivity;.fromHtml:(Ljava/lang/String;)Landroid/text/Spanned; // method@02f3 │ │ -01a3d6: 0c02 |0047: move-result-object v2 │ │ -01a3d8: 6e20 d500 2400 |0048: invoke-virtual {v4, v2}, Landroid/widget/EditText;.append:(Ljava/lang/CharSequence;)V // method@00d5 │ │ -01a3de: 6202 2001 |004b: sget-object v2, Ldnsfilter/android/DNSProxyActivity;.logOutView:Landroid/widget/EditText; // field@0120 │ │ -01a3e2: 6e20 d500 3200 |004d: invoke-virtual {v2, v3}, Landroid/widget/EditText;.append:(Ljava/lang/CharSequence;)V // method@00d5 │ │ -01a3e8: 28b7 |0050: goto 0007 // -0049 │ │ -01a3ea: 1a05 9200 |0051: const-string v5, "
" // string@0092 │ │ -01a3ee: 3803 1800 |0053: if-eqz v3, 006b // +0018 │ │ -01a3f2: 2203 2d01 |0055: new-instance v3, Ljava/lang/StringBuilder; // type@012d │ │ -01a3f6: 7010 a905 0300 |0057: invoke-direct {v3}, Ljava/lang/StringBuilder;.:()V // method@05a9 │ │ -01a3fc: 6204 1701 |005a: sget-object v4, Ldnsfilter/android/DNSProxyActivity;.filterLogFormat:Ljava/lang/String; // field@0117 │ │ -01a400: 6e30 9705 6402 |005c: invoke-virtual {v4, v6, v2}, Ljava/lang/String;.replace:(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String; // method@0597 │ │ -01a406: 0c02 |005f: move-result-object v2 │ │ -01a408: 6e20 af05 2300 |0060: invoke-virtual {v3, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -01a40e: 6e20 af05 5300 |0063: invoke-virtual {v3, v5}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -01a414: 6e10 b105 0300 |0066: invoke-virtual {v3}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ -01a41a: 0c02 |0069: move-result-object v2 │ │ -01a41c: 282e |006a: goto 0098 // +002e │ │ -01a41e: 3804 1800 |006b: if-eqz v4, 0083 // +0018 │ │ -01a422: 2203 2d01 |006d: new-instance v3, Ljava/lang/StringBuilder; // type@012d │ │ -01a426: 7010 a905 0300 |006f: invoke-direct {v3}, Ljava/lang/StringBuilder;.:()V // method@05a9 │ │ -01a42c: 6204 fe00 |0072: sget-object v4, Ldnsfilter/android/DNSProxyActivity;.acceptLogFormat:Ljava/lang/String; // field@00fe │ │ -01a430: 6e30 9705 6402 |0074: invoke-virtual {v4, v6, v2}, Ljava/lang/String;.replace:(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String; // method@0597 │ │ -01a436: 0c02 |0077: move-result-object v2 │ │ -01a438: 6e20 af05 2300 |0078: invoke-virtual {v3, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -01a43e: 6e20 af05 5300 |007b: invoke-virtual {v3, v5}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -01a444: 6e10 b105 0300 |007e: invoke-virtual {v3}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ -01a44a: 0c02 |0081: move-result-object v2 │ │ -01a44c: 2816 |0082: goto 0098 // +0016 │ │ -01a44e: 2203 2d01 |0083: new-instance v3, Ljava/lang/StringBuilder; // type@012d │ │ -01a452: 7010 a905 0300 |0085: invoke-direct {v3}, Ljava/lang/StringBuilder;.:()V // method@05a9 │ │ -01a458: 6204 1901 |0088: sget-object v4, Ldnsfilter/android/DNSProxyActivity;.fwdLogFormat:Ljava/lang/String; // field@0119 │ │ -01a45c: 6e30 9705 6402 |008a: invoke-virtual {v4, v6, v2}, Ljava/lang/String;.replace:(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String; // method@0597 │ │ -01a462: 0c02 |008d: move-result-object v2 │ │ -01a464: 6e20 af05 2300 |008e: invoke-virtual {v3, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -01a46a: 6e20 af05 5300 |0091: invoke-virtual {v3, v5}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -01a470: 6e10 b105 0300 |0094: invoke-virtual {v3}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ -01a476: 0c02 |0097: move-result-object v2 │ │ -01a478: 6203 2001 |0098: sget-object v3, Ldnsfilter/android/DNSProxyActivity;.logOutView:Landroid/widget/EditText; // field@0120 │ │ -01a47c: 7110 f302 0200 |009a: invoke-static {v2}, Ldnsfilter/android/DNSProxyActivity;.fromHtml:(Ljava/lang/String;)Landroid/text/Spanned; // method@02f3 │ │ -01a482: 0c02 |009d: move-result-object v2 │ │ -01a484: 6e20 d500 2300 |009e: invoke-virtual {v3, v2}, Landroid/widget/EditText;.append:(Ljava/lang/CharSequence;)V // method@00d5 │ │ -01a48a: 2900 66ff |00a1: goto/16 0007 // -009a │ │ -01a48e: 0e00 |00a3: return-void │ │ +01a34c: 7030 6406 8001 |0004: invoke-direct {v0, v8, v1}, Ljava/util/StringTokenizer;.:(Ljava/lang/String;Ljava/lang/String;)V // method@0664 │ │ +01a352: 6e10 6606 0000 |0007: invoke-virtual {v0}, Ljava/util/StringTokenizer;.hasMoreElements:()Z // method@0666 │ │ +01a358: 0a02 |000a: move-result v2 │ │ +01a35a: 3802 9800 |000b: if-eqz v2, 00a3 // +0098 │ │ +01a35e: 6e10 6806 0000 |000d: invoke-virtual {v0}, Ljava/util/StringTokenizer;.nextToken:()Ljava/lang/String; // method@0668 │ │ +01a364: 0c02 |0010: move-result-object v2 │ │ +01a366: 6203 f300 |0011: sget-object v3, Ldnsfilter/android/DNSProxyActivity;.IN_FILTER_PREF:Ljava/lang/String; // field@00f3 │ │ +01a36a: 6e20 9b05 3200 |0013: invoke-virtual {v2, v3}, Ljava/lang/String;.startsWith:(Ljava/lang/String;)Z // method@059b │ │ +01a370: 0a03 |0016: move-result v3 │ │ +01a372: 6204 f800 |0017: sget-object v4, Ldnsfilter/android/DNSProxyActivity;.NO_FILTER_PREF:Ljava/lang/String; // field@00f8 │ │ +01a376: 6e20 9b05 4200 |0019: invoke-virtual {v2, v4}, Ljava/lang/String;.startsWith:(Ljava/lang/String;)Z // method@059b │ │ +01a37c: 0a04 |001c: move-result v4 │ │ +01a37e: 6205 f400 |001d: sget-object v5, Ldnsfilter/android/DNSProxyActivity;.IP_FORWARD_PREF:Ljava/lang/String; // field@00f4 │ │ +01a382: 6e20 9b05 5200 |001f: invoke-virtual {v2, v5}, Ljava/lang/String;.startsWith:(Ljava/lang/String;)Z // method@059b │ │ +01a388: 0a05 |0022: move-result v5 │ │ +01a38a: 1a06 4400 |0023: const-string v6, "($CONTENT)" // string@0044 │ │ +01a38e: 3903 2c00 |0025: if-nez v3, 0051 // +002c │ │ +01a392: 3904 2a00 |0027: if-nez v4, 0051 // +002a │ │ +01a396: 3805 0300 |0029: if-eqz v5, 002c // +0003 │ │ +01a39a: 2826 |002b: goto 0051 // +0026 │ │ +01a39c: 6e10 6606 0000 |002c: invoke-virtual {v0}, Ljava/util/StringTokenizer;.hasMoreElements:()Z // method@0666 │ │ +01a3a2: 0a03 |002f: move-result v3 │ │ +01a3a4: 3903 0b00 |0030: if-nez v3, 003b // +000b │ │ +01a3a8: 6e20 8c05 1800 |0032: invoke-virtual {v8, v1}, Ljava/lang/String;.endsWith:(Ljava/lang/String;)Z // method@058c │ │ +01a3ae: 0a03 |0035: move-result v3 │ │ +01a3b0: 3903 0500 |0036: if-nez v3, 003b // +0005 │ │ +01a3b4: 1a03 0000 |0038: const-string v3, "" // string@0000 │ │ +01a3b8: 2802 |003a: goto 003c // +0002 │ │ +01a3ba: 0713 |003b: move-object v3, v1 │ │ +01a3bc: 6204 2001 |003c: sget-object v4, Ldnsfilter/android/DNSProxyActivity;.logOutView:Landroid/widget/EditText; // field@0120 │ │ +01a3c0: 6205 2501 |003e: sget-object v5, Ldnsfilter/android/DNSProxyActivity;.normalLogFormat:Ljava/lang/String; // field@0125 │ │ +01a3c4: 6e30 9705 6502 |0040: invoke-virtual {v5, v6, v2}, Ljava/lang/String;.replace:(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String; // method@0597 │ │ +01a3ca: 0c02 |0043: move-result-object v2 │ │ +01a3cc: 7110 f302 0200 |0044: invoke-static {v2}, Ldnsfilter/android/DNSProxyActivity;.fromHtml:(Ljava/lang/String;)Landroid/text/Spanned; // method@02f3 │ │ +01a3d2: 0c02 |0047: move-result-object v2 │ │ +01a3d4: 6e20 d500 2400 |0048: invoke-virtual {v4, v2}, Landroid/widget/EditText;.append:(Ljava/lang/CharSequence;)V // method@00d5 │ │ +01a3da: 6202 2001 |004b: sget-object v2, Ldnsfilter/android/DNSProxyActivity;.logOutView:Landroid/widget/EditText; // field@0120 │ │ +01a3de: 6e20 d500 3200 |004d: invoke-virtual {v2, v3}, Landroid/widget/EditText;.append:(Ljava/lang/CharSequence;)V // method@00d5 │ │ +01a3e4: 28b7 |0050: goto 0007 // -0049 │ │ +01a3e6: 1a05 9200 |0051: const-string v5, "
" // string@0092 │ │ +01a3ea: 3803 1800 |0053: if-eqz v3, 006b // +0018 │ │ +01a3ee: 2203 2d01 |0055: new-instance v3, Ljava/lang/StringBuilder; // type@012d │ │ +01a3f2: 7010 a905 0300 |0057: invoke-direct {v3}, Ljava/lang/StringBuilder;.:()V // method@05a9 │ │ +01a3f8: 6204 1701 |005a: sget-object v4, Ldnsfilter/android/DNSProxyActivity;.filterLogFormat:Ljava/lang/String; // field@0117 │ │ +01a3fc: 6e30 9705 6402 |005c: invoke-virtual {v4, v6, v2}, Ljava/lang/String;.replace:(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String; // method@0597 │ │ +01a402: 0c02 |005f: move-result-object v2 │ │ +01a404: 6e20 af05 2300 |0060: invoke-virtual {v3, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +01a40a: 6e20 af05 5300 |0063: invoke-virtual {v3, v5}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +01a410: 6e10 b105 0300 |0066: invoke-virtual {v3}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ +01a416: 0c02 |0069: move-result-object v2 │ │ +01a418: 282e |006a: goto 0098 // +002e │ │ +01a41a: 3804 1800 |006b: if-eqz v4, 0083 // +0018 │ │ +01a41e: 2203 2d01 |006d: new-instance v3, Ljava/lang/StringBuilder; // type@012d │ │ +01a422: 7010 a905 0300 |006f: invoke-direct {v3}, Ljava/lang/StringBuilder;.:()V // method@05a9 │ │ +01a428: 6204 fe00 |0072: sget-object v4, Ldnsfilter/android/DNSProxyActivity;.acceptLogFormat:Ljava/lang/String; // field@00fe │ │ +01a42c: 6e30 9705 6402 |0074: invoke-virtual {v4, v6, v2}, Ljava/lang/String;.replace:(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String; // method@0597 │ │ +01a432: 0c02 |0077: move-result-object v2 │ │ +01a434: 6e20 af05 2300 |0078: invoke-virtual {v3, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +01a43a: 6e20 af05 5300 |007b: invoke-virtual {v3, v5}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +01a440: 6e10 b105 0300 |007e: invoke-virtual {v3}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ +01a446: 0c02 |0081: move-result-object v2 │ │ +01a448: 2816 |0082: goto 0098 // +0016 │ │ +01a44a: 2203 2d01 |0083: new-instance v3, Ljava/lang/StringBuilder; // type@012d │ │ +01a44e: 7010 a905 0300 |0085: invoke-direct {v3}, Ljava/lang/StringBuilder;.:()V // method@05a9 │ │ +01a454: 6204 1901 |0088: sget-object v4, Ldnsfilter/android/DNSProxyActivity;.fwdLogFormat:Ljava/lang/String; // field@0119 │ │ +01a458: 6e30 9705 6402 |008a: invoke-virtual {v4, v6, v2}, Ljava/lang/String;.replace:(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String; // method@0597 │ │ +01a45e: 0c02 |008d: move-result-object v2 │ │ +01a460: 6e20 af05 2300 |008e: invoke-virtual {v3, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +01a466: 6e20 af05 5300 |0091: invoke-virtual {v3, v5}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +01a46c: 6e10 b105 0300 |0094: invoke-virtual {v3}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ +01a472: 0c02 |0097: move-result-object v2 │ │ +01a474: 6203 2001 |0098: sget-object v3, Ldnsfilter/android/DNSProxyActivity;.logOutView:Landroid/widget/EditText; // field@0120 │ │ +01a478: 7110 f302 0200 |009a: invoke-static {v2}, Ldnsfilter/android/DNSProxyActivity;.fromHtml:(Ljava/lang/String;)Landroid/text/Spanned; // method@02f3 │ │ +01a47e: 0c02 |009d: move-result-object v2 │ │ +01a480: 6e20 d500 2300 |009e: invoke-virtual {v3, v2}, Landroid/widget/EditText;.append:(Ljava/lang/CharSequence;)V // method@00d5 │ │ +01a486: 2900 66ff |00a1: goto/16 0007 // -009a │ │ +01a48a: 0e00 |00a3: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=242 │ │ 0x0007 line=243 │ │ 0x000d line=245 │ │ 0x0011 line=247 │ │ 0x0017 line=248 │ │ @@ -43758,33 +43758,33 @@ │ │ type : '()Z' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 3 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 34 16-bit code units │ │ -019cd0: |[019cd0] dnsfilter.android.DNSProxyActivity.checkNotificationPermission:()Z │ │ -019ce0: 6000 0200 |0000: sget v0, Landroid/os/Build$VERSION;.SDK_INT:I // field@0002 │ │ -019ce4: 1301 2100 |0002: const/16 v1, #int 33 // #21 │ │ -019ce8: 3410 1c00 |0004: if-lt v0, v1, 0020 // +001c │ │ -019cec: 1a00 6505 |0006: const-string v0, "android.permission.POST_NOTIFICATIONS" // string@0565 │ │ -019cf0: 7120 5a02 0200 |0008: invoke-static {v2, v0}, Ldnsfilter/android/BootUpReceiver$$ExternalSyntheticApiModelOutline0;.m:(Ldnsfilter/android/DNSProxyActivity;Ljava/lang/String;)I // method@025a │ │ -019cf6: 0a00 |000b: move-result v0 │ │ -019cf8: 3800 1400 |000c: if-eqz v0, 0020 // +0014 │ │ -019cfc: 7100 2707 0000 |000e: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0727 │ │ -019d02: 0c00 |0011: move-result-object v0 │ │ -019d04: 1a01 e203 |0012: const-string v1, "NOTIFICATION PERMISSION IS REQUIRED!" // string@03e2 │ │ -019d08: 7220 3307 1000 |0014: invoke-interface {v0, v1}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0733 │ │ -019d0e: 7100 2707 0000 |0017: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0727 │ │ -019d14: 0c00 |001a: move-result-object v0 │ │ -019d16: 7220 3407 1000 |001b: invoke-interface {v0, v1}, Lutil/LoggerInterface;.message:(Ljava/lang/String;)V // method@0734 │ │ -019d1c: 1200 |001e: const/4 v0, #int 0 // #0 │ │ -019d1e: 0f00 |001f: return v0 │ │ -019d20: 1210 |0020: const/4 v0, #int 1 // #1 │ │ -019d22: 0f00 |0021: return v0 │ │ +019ccc: |[019ccc] dnsfilter.android.DNSProxyActivity.checkNotificationPermission:()Z │ │ +019cdc: 6000 0200 |0000: sget v0, Landroid/os/Build$VERSION;.SDK_INT:I // field@0002 │ │ +019ce0: 1301 2100 |0002: const/16 v1, #int 33 // #21 │ │ +019ce4: 3410 1c00 |0004: if-lt v0, v1, 0020 // +001c │ │ +019ce8: 1a00 6505 |0006: const-string v0, "android.permission.POST_NOTIFICATIONS" // string@0565 │ │ +019cec: 7120 5a02 0200 |0008: invoke-static {v2, v0}, Ldnsfilter/android/BootUpReceiver$$ExternalSyntheticApiModelOutline0;.m:(Ldnsfilter/android/DNSProxyActivity;Ljava/lang/String;)I // method@025a │ │ +019cf2: 0a00 |000b: move-result v0 │ │ +019cf4: 3800 1400 |000c: if-eqz v0, 0020 // +0014 │ │ +019cf8: 7100 2707 0000 |000e: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0727 │ │ +019cfe: 0c00 |0011: move-result-object v0 │ │ +019d00: 1a01 e203 |0012: const-string v1, "NOTIFICATION PERMISSION IS REQUIRED!" // string@03e2 │ │ +019d04: 7220 3307 1000 |0014: invoke-interface {v0, v1}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0733 │ │ +019d0a: 7100 2707 0000 |0017: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0727 │ │ +019d10: 0c00 |001a: move-result-object v0 │ │ +019d12: 7220 3407 1000 |001b: invoke-interface {v0, v1}, Lutil/LoggerInterface;.message:(Ljava/lang/String;)V // method@0734 │ │ +019d18: 1200 |001e: const/4 v0, #int 0 // #0 │ │ +019d1a: 0f00 |001f: return v0 │ │ +019d1c: 1210 |0020: const/4 v0, #int 1 // #1 │ │ +019d1e: 0f00 |0021: return v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=915 │ │ 0x0006 line=916 │ │ 0x000e line=917 │ │ 0x0017 line=918 │ │ locals : │ │ @@ -43795,65 +43795,65 @@ │ │ type : '()V' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 6 │ │ ins : 1 │ │ outs : 4 │ │ insns size : 106 16-bit code units │ │ -01a614: |[01a614] dnsfilter.android.DNSProxyActivity.checkPasscode:()V │ │ -01a624: 1a00 0000 |0000: const-string v0, "" // string@0000 │ │ -01a628: 6201 fa00 |0002: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.PASSWORD_DIAG:Landroid/app/AlertDialog; // field@00fa │ │ -01a62c: 3801 0d00 |0004: if-eqz v1, 0011 // +000d │ │ -01a630: 6e10 1000 0100 |0006: invoke-virtual {v1}, Landroid/app/AlertDialog;.isShowing:()Z // method@0010 │ │ -01a636: 0a01 |0009: move-result v1 │ │ -01a638: 3801 0700 |000a: if-eqz v1, 0011 // +0007 │ │ -01a63c: 6201 fa00 |000c: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.PASSWORD_DIAG:Landroid/app/AlertDialog; // field@00fa │ │ -01a640: 6e10 0f00 0100 |000e: invoke-virtual {v1}, Landroid/app/AlertDialog;.dismiss:()V // method@000f │ │ -01a646: 6201 ed00 |0011: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.CONFIG:Ldnsfilter/ConfigurationAccess; // field@00ed │ │ -01a64a: 6e10 4d01 0100 |0013: invoke-virtual {v1}, Ldnsfilter/ConfigurationAccess;.getConfig:()Ljava/util/Properties; // method@014d │ │ -01a650: 0c01 |0016: move-result-object v1 │ │ -01a652: 3901 0800 |0017: if-nez v1, 001f // +0008 │ │ -01a656: 1a00 8401 |0019: const-string v0, "Error: Config is null!" // string@0184 │ │ -01a65a: 6e20 0a03 0500 |001b: invoke-virtual {v5, v0}, Ldnsfilter/android/DNSProxyActivity;.logLine:(Ljava/lang/String;)V // method@030a │ │ -01a660: 0e00 |001e: return-void │ │ -01a662: 6201 ed00 |001f: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.CONFIG:Ldnsfilter/ConfigurationAccess; // field@00ed │ │ -01a666: 6e10 4d01 0100 |0021: invoke-virtual {v1}, Ldnsfilter/ConfigurationAccess;.getConfig:()Ljava/util/Properties; // method@014d │ │ -01a66c: 0c01 |0024: move-result-object v1 │ │ -01a66e: 1a02 5609 |0025: const-string v2, "passcode" // string@0956 │ │ -01a672: 6e30 5706 2100 |0027: invoke-virtual {v1, v2, v0}, Ljava/util/Properties;.getProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@0657 │ │ -01a678: 0c01 |002a: move-result-object v1 │ │ -01a67a: 6e10 a205 0100 |002b: invoke-virtual {v1}, Ljava/lang/String;.trim:()Ljava/lang/String; // method@05a2 │ │ -01a680: 0c01 |002e: move-result-object v1 │ │ -01a682: 6e20 8d05 0100 |002f: invoke-virtual {v1, v0}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058d │ │ -01a688: 0a00 |0032: move-result v0 │ │ -01a68a: 3800 0300 |0033: if-eqz v0, 0036 // +0003 │ │ -01a68e: 0e00 |0035: return-void │ │ -01a690: 2200 0800 |0036: new-instance v0, Landroid/app/AlertDialog$Builder; // type@0008 │ │ -01a694: 7020 0900 5000 |0038: invoke-direct {v0, v5}, Landroid/app/AlertDialog$Builder;.:(Landroid/content/Context;)V // method@0009 │ │ -01a69a: 1202 |003b: const/4 v2, #int 0 // #0 │ │ -01a69c: 6e20 0a00 2000 |003c: invoke-virtual {v0, v2}, Landroid/app/AlertDialog$Builder;.setCancelable:(Z)Landroid/app/AlertDialog$Builder; // method@000a │ │ -01a6a2: 0c00 |003f: move-result-object v0 │ │ -01a6a4: 1a02 0c04 |0040: const-string v2, "Passcode required!" // string@040c │ │ -01a6a8: 6e20 0c00 2000 |0042: invoke-virtual {v0, v2}, Landroid/app/AlertDialog$Builder;.setTitle:(Ljava/lang/CharSequence;)Landroid/app/AlertDialog$Builder; // method@000c │ │ -01a6ae: 2202 6700 |0045: new-instance v2, Landroid/widget/EditText; // type@0067 │ │ -01a6b2: 7020 d300 5200 |0047: invoke-direct {v2, v5}, Landroid/widget/EditText;.:(Landroid/content/Context;)V // method@00d3 │ │ -01a6b8: 1303 8100 |004a: const/16 v3, #int 129 // #81 │ │ -01a6bc: 6e20 df00 3200 |004c: invoke-virtual {v2, v3}, Landroid/widget/EditText;.setInputType:(I)V // method@00df │ │ -01a6c2: 6e20 0d00 2000 |004f: invoke-virtual {v0, v2}, Landroid/app/AlertDialog$Builder;.setView:(Landroid/view/View;)Landroid/app/AlertDialog$Builder; // method@000d │ │ -01a6c8: 1a03 fa03 |0052: const-string v3, "OK" // string@03fa │ │ -01a6cc: 2204 a600 |0054: new-instance v4, Ldnsfilter/android/DNSProxyActivity$1; // type@00a6 │ │ -01a6d0: 7040 bf02 5412 |0056: invoke-direct {v4, v5, v2, v1}, Ldnsfilter/android/DNSProxyActivity$1;.:(Ldnsfilter/android/DNSProxyActivity;Landroid/widget/EditText;Ljava/lang/String;)V // method@02bf │ │ -01a6d6: 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 │ │ -01a6dc: 2201 a700 |005c: new-instance v1, Ldnsfilter/android/DNSProxyActivity$2; // type@00a7 │ │ -01a6e0: 7030 c102 5100 |005e: invoke-direct {v1, v5, v0}, Ldnsfilter/android/DNSProxyActivity$2;.:(Ldnsfilter/android/DNSProxyActivity;Landroid/app/AlertDialog$Builder;)V // method@02c1 │ │ -01a6e6: 6e20 2c03 1500 |0061: invoke-virtual {v5, v1}, Ldnsfilter/android/DNSProxyActivity;.runOnUiThread:(Ljava/lang/Runnable;)V // method@032c │ │ -01a6ec: 2805 |0064: goto 0069 // +0005 │ │ -01a6ee: 0d00 |0065: move-exception v0 │ │ -01a6f0: 6e20 0903 0500 |0066: invoke-virtual {v5, v0}, Ldnsfilter/android/DNSProxyActivity;.logException:(Ljava/lang/Exception;)V // method@0309 │ │ -01a6f6: 0e00 |0069: return-void │ │ +01a610: |[01a610] dnsfilter.android.DNSProxyActivity.checkPasscode:()V │ │ +01a620: 1a00 0000 |0000: const-string v0, "" // string@0000 │ │ +01a624: 6201 fa00 |0002: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.PASSWORD_DIAG:Landroid/app/AlertDialog; // field@00fa │ │ +01a628: 3801 0d00 |0004: if-eqz v1, 0011 // +000d │ │ +01a62c: 6e10 1000 0100 |0006: invoke-virtual {v1}, Landroid/app/AlertDialog;.isShowing:()Z // method@0010 │ │ +01a632: 0a01 |0009: move-result v1 │ │ +01a634: 3801 0700 |000a: if-eqz v1, 0011 // +0007 │ │ +01a638: 6201 fa00 |000c: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.PASSWORD_DIAG:Landroid/app/AlertDialog; // field@00fa │ │ +01a63c: 6e10 0f00 0100 |000e: invoke-virtual {v1}, Landroid/app/AlertDialog;.dismiss:()V // method@000f │ │ +01a642: 6201 ed00 |0011: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.CONFIG:Ldnsfilter/ConfigurationAccess; // field@00ed │ │ +01a646: 6e10 4d01 0100 |0013: invoke-virtual {v1}, Ldnsfilter/ConfigurationAccess;.getConfig:()Ljava/util/Properties; // method@014d │ │ +01a64c: 0c01 |0016: move-result-object v1 │ │ +01a64e: 3901 0800 |0017: if-nez v1, 001f // +0008 │ │ +01a652: 1a00 8401 |0019: const-string v0, "Error: Config is null!" // string@0184 │ │ +01a656: 6e20 0a03 0500 |001b: invoke-virtual {v5, v0}, Ldnsfilter/android/DNSProxyActivity;.logLine:(Ljava/lang/String;)V // method@030a │ │ +01a65c: 0e00 |001e: return-void │ │ +01a65e: 6201 ed00 |001f: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.CONFIG:Ldnsfilter/ConfigurationAccess; // field@00ed │ │ +01a662: 6e10 4d01 0100 |0021: invoke-virtual {v1}, Ldnsfilter/ConfigurationAccess;.getConfig:()Ljava/util/Properties; // method@014d │ │ +01a668: 0c01 |0024: move-result-object v1 │ │ +01a66a: 1a02 5609 |0025: const-string v2, "passcode" // string@0956 │ │ +01a66e: 6e30 5706 2100 |0027: invoke-virtual {v1, v2, v0}, Ljava/util/Properties;.getProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@0657 │ │ +01a674: 0c01 |002a: move-result-object v1 │ │ +01a676: 6e10 a205 0100 |002b: invoke-virtual {v1}, Ljava/lang/String;.trim:()Ljava/lang/String; // method@05a2 │ │ +01a67c: 0c01 |002e: move-result-object v1 │ │ +01a67e: 6e20 8d05 0100 |002f: invoke-virtual {v1, v0}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058d │ │ +01a684: 0a00 |0032: move-result v0 │ │ +01a686: 3800 0300 |0033: if-eqz v0, 0036 // +0003 │ │ +01a68a: 0e00 |0035: return-void │ │ +01a68c: 2200 0800 |0036: new-instance v0, Landroid/app/AlertDialog$Builder; // type@0008 │ │ +01a690: 7020 0900 5000 |0038: invoke-direct {v0, v5}, Landroid/app/AlertDialog$Builder;.:(Landroid/content/Context;)V // method@0009 │ │ +01a696: 1202 |003b: const/4 v2, #int 0 // #0 │ │ +01a698: 6e20 0a00 2000 |003c: invoke-virtual {v0, v2}, Landroid/app/AlertDialog$Builder;.setCancelable:(Z)Landroid/app/AlertDialog$Builder; // method@000a │ │ +01a69e: 0c00 |003f: move-result-object v0 │ │ +01a6a0: 1a02 0c04 |0040: const-string v2, "Passcode required!" // string@040c │ │ +01a6a4: 6e20 0c00 2000 |0042: invoke-virtual {v0, v2}, Landroid/app/AlertDialog$Builder;.setTitle:(Ljava/lang/CharSequence;)Landroid/app/AlertDialog$Builder; // method@000c │ │ +01a6aa: 2202 6700 |0045: new-instance v2, Landroid/widget/EditText; // type@0067 │ │ +01a6ae: 7020 d300 5200 |0047: invoke-direct {v2, v5}, Landroid/widget/EditText;.:(Landroid/content/Context;)V // method@00d3 │ │ +01a6b4: 1303 8100 |004a: const/16 v3, #int 129 // #81 │ │ +01a6b8: 6e20 df00 3200 |004c: invoke-virtual {v2, v3}, Landroid/widget/EditText;.setInputType:(I)V // method@00df │ │ +01a6be: 6e20 0d00 2000 |004f: invoke-virtual {v0, v2}, Landroid/app/AlertDialog$Builder;.setView:(Landroid/view/View;)Landroid/app/AlertDialog$Builder; // method@000d │ │ +01a6c4: 1a03 fa03 |0052: const-string v3, "OK" // string@03fa │ │ +01a6c8: 2204 a600 |0054: new-instance v4, Ldnsfilter/android/DNSProxyActivity$1; // type@00a6 │ │ +01a6cc: 7040 bf02 5412 |0056: invoke-direct {v4, v5, v2, v1}, Ldnsfilter/android/DNSProxyActivity$1;.:(Ldnsfilter/android/DNSProxyActivity;Landroid/widget/EditText;Ljava/lang/String;)V // method@02bf │ │ +01a6d2: 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 │ │ +01a6d8: 2201 a700 |005c: new-instance v1, Ldnsfilter/android/DNSProxyActivity$2; // type@00a7 │ │ +01a6dc: 7030 c102 5100 |005e: invoke-direct {v1, v5, v0}, Ldnsfilter/android/DNSProxyActivity$2;.:(Ldnsfilter/android/DNSProxyActivity;Landroid/app/AlertDialog$Builder;)V // method@02c1 │ │ +01a6e2: 6e20 2c03 1500 |0061: invoke-virtual {v5, v1}, Ldnsfilter/android/DNSProxyActivity;.runOnUiThread:(Ljava/lang/Runnable;)V // method@032c │ │ +01a6e8: 2805 |0064: goto 0069 // +0005 │ │ +01a6ea: 0d00 |0065: move-exception v0 │ │ +01a6ec: 6e20 0903 0500 |0066: invoke-virtual {v5, v0}, Ldnsfilter/android/DNSProxyActivity;.logException:(Ljava/lang/Exception;)V // method@0309 │ │ +01a6f2: 0e00 |0069: return-void │ │ catches : 1 │ │ 0x0011 - 0x0064 │ │ Ljava/io/IOException; -> 0x0065 │ │ positions : │ │ 0x0000 line=635 │ │ 0x000c line=636 │ │ 0x0011 line=638 │ │ @@ -43877,34 +43877,34 @@ │ │ type : '()V' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 3 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 37 16-bit code units │ │ -01a708: |[01a708] dnsfilter.android.DNSProxyActivity.closeInitialInfoPopUp:()V │ │ -01a718: 6200 2601 |0000: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.popUpDialog:Landroid/app/Dialog; // field@0126 │ │ -01a71c: 1401 1b00 057f |0002: const v1, #float 1.76788e+38 // #7f05001b │ │ -01a722: 6e20 1700 1000 |0005: invoke-virtual {v0, v1}, Landroid/app/Dialog;.findViewById:(I)Landroid/view/View; // method@0017 │ │ -01a728: 0c00 |0008: move-result-object v0 │ │ -01a72a: 1f00 6400 |0009: check-cast v0, Landroid/widget/CheckBox; // type@0064 │ │ -01a72e: 6e10 cc00 0000 |000b: invoke-virtual {v0}, Landroid/widget/CheckBox;.isChecked:()Z // method@00cc │ │ -01a734: 0a00 |000e: move-result v0 │ │ -01a736: 1211 |000f: const/4 v1, #int 1 // #1 │ │ -01a738: b710 |0010: xor-int/2addr v0, v1 │ │ -01a73a: 6a00 3501 |0011: sput-boolean v0, Ldnsfilter/android/DNSProxyActivity;.showInitialInfoPopUp:Z // field@0135 │ │ -01a73e: 6200 2601 |0013: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.popUpDialog:Landroid/app/Dialog; // field@0126 │ │ -01a742: 6e10 1600 0000 |0015: invoke-virtual {v0}, Landroid/app/Dialog;.dismiss:()V // method@0016 │ │ -01a748: 6300 3501 |0018: sget-boolean v0, Ldnsfilter/android/DNSProxyActivity;.showInitialInfoPopUp:Z // field@0135 │ │ -01a74c: 3900 0a00 |001a: if-nez v0, 0024 // +000a │ │ -01a750: 6a01 2701 |001c: sput-boolean v1, Ldnsfilter/android/DNSProxyActivity;.popUpDialogChanged:Z // field@0127 │ │ -01a754: 7010 2403 0200 |001e: invoke-direct {v2}, Ldnsfilter/android/DNSProxyActivity;.persistConfig:()V // method@0324 │ │ -01a75a: 1200 |0021: const/4 v0, #int 0 // #0 │ │ -01a75c: 6a00 2701 |0022: sput-boolean v0, Ldnsfilter/android/DNSProxyActivity;.popUpDialogChanged:Z // field@0127 │ │ -01a760: 0e00 |0024: return-void │ │ +01a704: |[01a704] dnsfilter.android.DNSProxyActivity.closeInitialInfoPopUp:()V │ │ +01a714: 6200 2601 |0000: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.popUpDialog:Landroid/app/Dialog; // field@0126 │ │ +01a718: 1401 1b00 057f |0002: const v1, #float 1.76788e+38 // #7f05001b │ │ +01a71e: 6e20 1700 1000 |0005: invoke-virtual {v0, v1}, Landroid/app/Dialog;.findViewById:(I)Landroid/view/View; // method@0017 │ │ +01a724: 0c00 |0008: move-result-object v0 │ │ +01a726: 1f00 6400 |0009: check-cast v0, Landroid/widget/CheckBox; // type@0064 │ │ +01a72a: 6e10 cc00 0000 |000b: invoke-virtual {v0}, Landroid/widget/CheckBox;.isChecked:()Z // method@00cc │ │ +01a730: 0a00 |000e: move-result v0 │ │ +01a732: 1211 |000f: const/4 v1, #int 1 // #1 │ │ +01a734: b710 |0010: xor-int/2addr v0, v1 │ │ +01a736: 6a00 3501 |0011: sput-boolean v0, Ldnsfilter/android/DNSProxyActivity;.showInitialInfoPopUp:Z // field@0135 │ │ +01a73a: 6200 2601 |0013: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.popUpDialog:Landroid/app/Dialog; // field@0126 │ │ +01a73e: 6e10 1600 0000 |0015: invoke-virtual {v0}, Landroid/app/Dialog;.dismiss:()V // method@0016 │ │ +01a744: 6300 3501 |0018: sget-boolean v0, Ldnsfilter/android/DNSProxyActivity;.showInitialInfoPopUp:Z // field@0135 │ │ +01a748: 3900 0a00 |001a: if-nez v0, 0024 // +000a │ │ +01a74c: 6a01 2701 |001c: sput-boolean v1, Ldnsfilter/android/DNSProxyActivity;.popUpDialogChanged:Z // field@0127 │ │ +01a750: 7010 2403 0200 |001e: invoke-direct {v2}, Ldnsfilter/android/DNSProxyActivity;.persistConfig:()V // method@0324 │ │ +01a756: 1200 |0021: const/4 v0, #int 0 // #0 │ │ +01a758: 6a00 2701 |0022: sput-boolean v0, Ldnsfilter/android/DNSProxyActivity;.popUpDialogChanged:Z // field@0127 │ │ +01a75c: 0e00 |0024: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=905 │ │ 0x0013 line=906 │ │ 0x0018 line=907 │ │ 0x001c line=908 │ │ 0x001e line=909 │ │ @@ -43917,21 +43917,21 @@ │ │ type : '()V' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 3 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 14 16-bit code units │ │ -01a778: |[01a778] dnsfilter.android.DNSProxyActivity.doAsyncCheck:()V │ │ -01a788: 2200 2f01 |0000: new-instance v0, Ljava/lang/Thread; // type@012f │ │ -01a78c: 2201 ad00 |0002: new-instance v1, Ldnsfilter/android/DNSProxyActivity$7; // type@00ad │ │ -01a790: 7020 cd02 2100 |0004: invoke-direct {v1, v2}, Ldnsfilter/android/DNSProxyActivity$7;.:(Ldnsfilter/android/DNSProxyActivity;)V // method@02cd │ │ -01a796: 7020 b605 1000 |0007: invoke-direct {v0, v1}, Ljava/lang/Thread;.:(Ljava/lang/Runnable;)V // method@05b6 │ │ -01a79c: 6e10 bc05 0000 |000a: invoke-virtual {v0}, Ljava/lang/Thread;.start:()V // method@05bc │ │ -01a7a2: 0e00 |000d: return-void │ │ +01a774: |[01a774] dnsfilter.android.DNSProxyActivity.doAsyncCheck:()V │ │ +01a784: 2200 2f01 |0000: new-instance v0, Ljava/lang/Thread; // type@012f │ │ +01a788: 2201 ad00 |0002: new-instance v1, Ldnsfilter/android/DNSProxyActivity$7; // type@00ad │ │ +01a78c: 7020 cd02 2100 |0004: invoke-direct {v1, v2}, Ldnsfilter/android/DNSProxyActivity$7;.:(Ldnsfilter/android/DNSProxyActivity;)V // method@02cd │ │ +01a792: 7020 b605 1000 |0007: invoke-direct {v0, v1}, Ljava/lang/Thread;.:(Ljava/lang/Runnable;)V // method@05b6 │ │ +01a798: 6e10 bc05 0000 |000a: invoke-virtual {v0}, Ljava/lang/Thread;.start:()V // method@05bc │ │ +01a79e: 0e00 |000d: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=1797 │ │ 0x000a line=1815 │ │ locals : │ │ 0x0000 - 0x000e reg=2 this Ldnsfilter/android/DNSProxyActivity; │ │ │ │ @@ -43940,65 +43940,65 @@ │ │ type : '(Ljava/lang/Exception;)V' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 8 │ │ ins : 2 │ │ outs : 3 │ │ insns size : 109 16-bit code units │ │ -01a8e0: |[01a8e0] dnsfilter.android.DNSProxyActivity.dump:(Ljava/lang/Exception;)V │ │ -01a8f0: 1a00 0700 |0000: const-string v0, " │ │ +01a8dc: |[01a8dc] dnsfilter.android.DNSProxyActivity.dump:(Ljava/lang/Exception;)V │ │ +01a8ec: 1a00 0700 |0000: const-string v0, " │ │ VERSION: 1505801 │ │ │ │ " // string@0007 │ │ -01a8f4: 1a01 6b04 |0002: const-string v1, "TIME: " // string@046b │ │ -01a8f8: 2202 0d01 |0004: new-instance v2, Ljava/io/StringWriter; // type@010d │ │ -01a8fc: 7010 4805 0200 |0006: invoke-direct {v2}, Ljava/io/StringWriter;.:()V // method@0548 │ │ -01a902: 2203 0a01 |0009: new-instance v3, Ljava/io/PrintWriter; // type@010a │ │ -01a906: 7020 4305 2300 |000b: invoke-direct {v3, v2}, Ljava/io/PrintWriter;.:(Ljava/io/Writer;)V // method@0543 │ │ -01a90c: 6e20 6005 3700 |000e: invoke-virtual {v7, v3}, Ljava/lang/Exception;.printStackTrace:(Ljava/io/PrintWriter;)V // method@0560 │ │ -01a912: 2207 ff00 |0011: new-instance v7, Ljava/io/FileOutputStream; // type@00ff │ │ -01a916: 2203 2d01 |0013: new-instance v3, Ljava/lang/StringBuilder; // type@012d │ │ -01a91a: 7010 a905 0300 |0015: invoke-direct {v3}, Ljava/lang/StringBuilder;.:()V // method@05a9 │ │ -01a920: 7100 d406 0000 |0018: invoke-static {}, Lutil/ExecutionEnvironment;.getEnvironment:()Lutil/ExecutionEnvironmentInterface; // method@06d4 │ │ -01a926: 0c04 |001b: move-result-object v4 │ │ -01a928: 7210 e406 0400 |001c: invoke-interface {v4}, Lutil/ExecutionEnvironmentInterface;.getWorkDir:()Ljava/lang/String; // method@06e4 │ │ -01a92e: 0c04 |001f: move-result-object v4 │ │ -01a930: 6e20 af05 4300 |0020: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -01a936: 1a04 6700 |0023: const-string v4, "/dump-" // string@0067 │ │ -01a93a: 6e20 af05 4300 |0025: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -01a940: 7100 b305 0000 |0028: invoke-static {}, Ljava/lang/System;.currentTimeMillis:()J // method@05b3 │ │ -01a946: 0b04 |002b: move-result-wide v4 │ │ -01a948: 6e30 ad05 4305 |002c: invoke-virtual {v3, v4, v5}, Ljava/lang/StringBuilder;.append:(J)Ljava/lang/StringBuilder; // method@05ad │ │ -01a94e: 1a04 5f00 |002f: const-string v4, ".txt" // string@005f │ │ -01a952: 6e20 af05 4300 |0031: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -01a958: 6e10 b105 0300 |0034: invoke-virtual {v3}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ -01a95e: 0c03 |0037: move-result-object v3 │ │ -01a960: 7020 1c05 3700 |0038: invoke-direct {v7, v3}, Ljava/io/FileOutputStream;.:(Ljava/lang/String;)V // method@051c │ │ -01a966: 2203 2d01 |003b: new-instance v3, Ljava/lang/StringBuilder; // type@012d │ │ -01a96a: 7020 aa05 1300 |003d: invoke-direct {v3, v1}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05aa │ │ -01a970: 2201 5601 |0040: new-instance v1, Ljava/util/Date; // type@0156 │ │ -01a974: 7010 2206 0100 |0042: invoke-direct {v1}, Ljava/util/Date;.:()V // method@0622 │ │ -01a97a: 6e20 ae05 1300 |0045: invoke-virtual {v3, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@05ae │ │ -01a980: 6e20 af05 0300 |0048: invoke-virtual {v3, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -01a986: 6e10 b105 0300 |004b: invoke-virtual {v3}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ -01a98c: 0c00 |004e: move-result-object v0 │ │ -01a98e: 6e10 8f05 0000 |004f: invoke-virtual {v0}, Ljava/lang/String;.getBytes:()[B // method@058f │ │ -01a994: 0c00 |0052: move-result-object v0 │ │ -01a996: 6e20 1f05 0700 |0053: invoke-virtual {v7, v0}, Ljava/io/FileOutputStream;.write:([B)V // method@051f │ │ -01a99c: 6e10 4905 0200 |0056: invoke-virtual {v2}, Ljava/io/StringWriter;.toString:()Ljava/lang/String; // method@0549 │ │ -01a9a2: 0c00 |0059: move-result-object v0 │ │ -01a9a4: 6e10 8f05 0000 |005a: invoke-virtual {v0}, Ljava/lang/String;.getBytes:()[B // method@058f │ │ -01a9aa: 0c00 |005d: move-result-object v0 │ │ -01a9ac: 6e20 1f05 0700 |005e: invoke-virtual {v7, v0}, Ljava/io/FileOutputStream;.write:([B)V // method@051f │ │ -01a9b2: 6e10 1e05 0700 |0061: invoke-virtual {v7}, Ljava/io/FileOutputStream;.flush:()V // method@051e │ │ -01a9b8: 6e10 1d05 0700 |0064: invoke-virtual {v7}, Ljava/io/FileOutputStream;.close:()V // method@051d │ │ -01a9be: 2805 |0067: goto 006c // +0005 │ │ -01a9c0: 0d07 |0068: move-exception v7 │ │ -01a9c2: 6e10 5e05 0700 |0069: invoke-virtual {v7}, Ljava/lang/Exception;.printStackTrace:()V // method@055e │ │ -01a9c8: 0e00 |006c: return-void │ │ +01a8f0: 1a01 6b04 |0002: const-string v1, "TIME: " // string@046b │ │ +01a8f4: 2202 0d01 |0004: new-instance v2, Ljava/io/StringWriter; // type@010d │ │ +01a8f8: 7010 4805 0200 |0006: invoke-direct {v2}, Ljava/io/StringWriter;.:()V // method@0548 │ │ +01a8fe: 2203 0a01 |0009: new-instance v3, Ljava/io/PrintWriter; // type@010a │ │ +01a902: 7020 4305 2300 |000b: invoke-direct {v3, v2}, Ljava/io/PrintWriter;.:(Ljava/io/Writer;)V // method@0543 │ │ +01a908: 6e20 6005 3700 |000e: invoke-virtual {v7, v3}, Ljava/lang/Exception;.printStackTrace:(Ljava/io/PrintWriter;)V // method@0560 │ │ +01a90e: 2207 ff00 |0011: new-instance v7, Ljava/io/FileOutputStream; // type@00ff │ │ +01a912: 2203 2d01 |0013: new-instance v3, Ljava/lang/StringBuilder; // type@012d │ │ +01a916: 7010 a905 0300 |0015: invoke-direct {v3}, Ljava/lang/StringBuilder;.:()V // method@05a9 │ │ +01a91c: 7100 d406 0000 |0018: invoke-static {}, Lutil/ExecutionEnvironment;.getEnvironment:()Lutil/ExecutionEnvironmentInterface; // method@06d4 │ │ +01a922: 0c04 |001b: move-result-object v4 │ │ +01a924: 7210 e406 0400 |001c: invoke-interface {v4}, Lutil/ExecutionEnvironmentInterface;.getWorkDir:()Ljava/lang/String; // method@06e4 │ │ +01a92a: 0c04 |001f: move-result-object v4 │ │ +01a92c: 6e20 af05 4300 |0020: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +01a932: 1a04 6700 |0023: const-string v4, "/dump-" // string@0067 │ │ +01a936: 6e20 af05 4300 |0025: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +01a93c: 7100 b305 0000 |0028: invoke-static {}, Ljava/lang/System;.currentTimeMillis:()J // method@05b3 │ │ +01a942: 0b04 |002b: move-result-wide v4 │ │ +01a944: 6e30 ad05 4305 |002c: invoke-virtual {v3, v4, v5}, Ljava/lang/StringBuilder;.append:(J)Ljava/lang/StringBuilder; // method@05ad │ │ +01a94a: 1a04 5f00 |002f: const-string v4, ".txt" // string@005f │ │ +01a94e: 6e20 af05 4300 |0031: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +01a954: 6e10 b105 0300 |0034: invoke-virtual {v3}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ +01a95a: 0c03 |0037: move-result-object v3 │ │ +01a95c: 7020 1c05 3700 |0038: invoke-direct {v7, v3}, Ljava/io/FileOutputStream;.:(Ljava/lang/String;)V // method@051c │ │ +01a962: 2203 2d01 |003b: new-instance v3, Ljava/lang/StringBuilder; // type@012d │ │ +01a966: 7020 aa05 1300 |003d: invoke-direct {v3, v1}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05aa │ │ +01a96c: 2201 5601 |0040: new-instance v1, Ljava/util/Date; // type@0156 │ │ +01a970: 7010 2206 0100 |0042: invoke-direct {v1}, Ljava/util/Date;.:()V // method@0622 │ │ +01a976: 6e20 ae05 1300 |0045: invoke-virtual {v3, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@05ae │ │ +01a97c: 6e20 af05 0300 |0048: invoke-virtual {v3, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +01a982: 6e10 b105 0300 |004b: invoke-virtual {v3}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ +01a988: 0c00 |004e: move-result-object v0 │ │ +01a98a: 6e10 8f05 0000 |004f: invoke-virtual {v0}, Ljava/lang/String;.getBytes:()[B // method@058f │ │ +01a990: 0c00 |0052: move-result-object v0 │ │ +01a992: 6e20 1f05 0700 |0053: invoke-virtual {v7, v0}, Ljava/io/FileOutputStream;.write:([B)V // method@051f │ │ +01a998: 6e10 4905 0200 |0056: invoke-virtual {v2}, Ljava/io/StringWriter;.toString:()Ljava/lang/String; // method@0549 │ │ +01a99e: 0c00 |0059: move-result-object v0 │ │ +01a9a0: 6e10 8f05 0000 |005a: invoke-virtual {v0}, Ljava/lang/String;.getBytes:()[B // method@058f │ │ +01a9a6: 0c00 |005d: move-result-object v0 │ │ +01a9a8: 6e20 1f05 0700 |005e: invoke-virtual {v7, v0}, Ljava/io/FileOutputStream;.write:([B)V // method@051f │ │ +01a9ae: 6e10 1e05 0700 |0061: invoke-virtual {v7}, Ljava/io/FileOutputStream;.flush:()V // method@051e │ │ +01a9b4: 6e10 1d05 0700 |0064: invoke-virtual {v7}, Ljava/io/FileOutputStream;.close:()V // method@051d │ │ +01a9ba: 2805 |0067: goto 006c // +0005 │ │ +01a9bc: 0d07 |0068: move-exception v7 │ │ +01a9be: 6e10 5e05 0700 |0069: invoke-virtual {v7}, Ljava/lang/Exception;.printStackTrace:()V // method@055e │ │ +01a9c4: 0e00 |006c: return-void │ │ catches : 1 │ │ 0x0011 - 0x0067 │ │ Ljava/lang/Exception; -> 0x0068 │ │ positions : │ │ 0x0004 line=682 │ │ 0x0009 line=683 │ │ 0x0011 line=685 │ │ @@ -44016,25 +44016,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 │ │ -019c9c: |[019c9c] dnsfilter.android.DNSProxyActivity.fromHtml:(Ljava/lang/String;)Landroid/text/Spanned; │ │ -019cac: 6000 0200 |0000: sget v0, Landroid/os/Build$VERSION;.SDK_INT:I // field@0002 │ │ -019cb0: 1301 1800 |0002: const/16 v1, #int 24 // #18 │ │ -019cb4: 3410 0800 |0004: if-lt v0, v1, 000c // +0008 │ │ -019cb8: 1200 |0006: const/4 v0, #int 0 // #0 │ │ -019cba: 7120 6302 0200 |0007: invoke-static {v2, v0}, Ldnsfilter/android/BootUpReceiver$$ExternalSyntheticApiModelOutline0;.m:(Ljava/lang/String;I)Landroid/text/Spanned; // method@0263 │ │ -019cc0: 0c02 |000a: move-result-object v2 │ │ -019cc2: 1102 |000b: return-object v2 │ │ -019cc4: 7110 9a00 0200 |000c: invoke-static {v2}, Landroid/text/Html;.fromHtml:(Ljava/lang/String;)Landroid/text/Spanned; // method@009a │ │ -019cca: 0c02 |000f: move-result-object v2 │ │ -019ccc: 1102 |0010: return-object v2 │ │ +019c98: |[019c98] dnsfilter.android.DNSProxyActivity.fromHtml:(Ljava/lang/String;)Landroid/text/Spanned; │ │ +019ca8: 6000 0200 |0000: sget v0, Landroid/os/Build$VERSION;.SDK_INT:I // field@0002 │ │ +019cac: 1301 1800 |0002: const/16 v1, #int 24 // #18 │ │ +019cb0: 3410 0800 |0004: if-lt v0, v1, 000c // +0008 │ │ +019cb4: 1200 |0006: const/4 v0, #int 0 // #0 │ │ +019cb6: 7120 6302 0200 |0007: invoke-static {v2, v0}, Ldnsfilter/android/BootUpReceiver$$ExternalSyntheticApiModelOutline0;.m:(Ljava/lang/String;I)Landroid/text/Spanned; // method@0263 │ │ +019cbc: 0c02 |000a: move-result-object v2 │ │ +019cbe: 1102 |000b: return-object v2 │ │ +019cc0: 7110 9a00 0200 |000c: invoke-static {v2}, Landroid/text/Html;.fromHtml:(Ljava/lang/String;)Landroid/text/Spanned; // method@009a │ │ +019cc6: 0c02 |000f: move-result-object v2 │ │ +019cc8: 1102 |0010: return-object v2 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=233 │ │ 0x0007 line=234 │ │ 0x000c line=236 │ │ locals : │ │ 0x0000 - 0x0011 reg=2 (null) Ljava/lang/String; │ │ @@ -44044,53 +44044,53 @@ │ │ type : '(Z)Ljava/lang/String;' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 6 │ │ ins : 2 │ │ outs : 3 │ │ insns size : 73 16-bit code units │ │ -01a174: |[01a174] dnsfilter.android.DNSProxyActivity.getSelectedText:(Z)Ljava/lang/String; │ │ -01a184: 6200 2001 |0000: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.logOutView:Landroid/widget/EditText; // field@0120 │ │ -01a188: 6e10 d900 0000 |0002: invoke-virtual {v0}, Landroid/widget/EditText;.getSelectionStart:()I // method@00d9 │ │ -01a18e: 0a00 |0005: move-result v0 │ │ -01a190: 6201 2001 |0006: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.logOutView:Landroid/widget/EditText; // field@0120 │ │ -01a194: 6e10 d800 0100 |0008: invoke-virtual {v1}, Landroid/widget/EditText;.getSelectionEnd:()I // method@00d8 │ │ -01a19a: 0a01 |000b: move-result v1 │ │ -01a19c: 3701 3a00 |000c: if-le v1, v0, 0046 // +003a │ │ -01a1a0: 6202 2001 |000e: sget-object v2, Ldnsfilter/android/DNSProxyActivity;.logOutView:Landroid/widget/EditText; // field@0120 │ │ -01a1a4: 6e10 da00 0200 |0010: invoke-virtual {v2}, Landroid/widget/EditText;.getText:()Landroid/text/Editable; // method@00da │ │ -01a1aa: 0c02 |0013: move-result-object v2 │ │ -01a1ac: 3805 2900 |0014: if-eqz v5, 003d // +0029 │ │ -01a1b0: 7220 9c00 0200 |0016: invoke-interface {v2, v0}, Landroid/text/Spannable;.charAt:(I)C // method@009c │ │ -01a1b6: 0a05 |0019: move-result v5 │ │ -01a1b8: 1303 0a00 |001a: const/16 v3, #int 10 // #a │ │ -01a1bc: 3235 0700 |001c: if-eq v5, v3, 0023 // +0007 │ │ -01a1c0: 3d00 0500 |001e: if-lez v0, 0023 // +0005 │ │ -01a1c4: d800 00ff |0020: add-int/lit8 v0, v0, #int -1 // #ff │ │ -01a1c8: 28f4 |0022: goto 0016 // -000c │ │ -01a1ca: 3800 0400 |0023: if-eqz v0, 0027 // +0004 │ │ -01a1ce: d800 0001 |0025: add-int/lit8 v0, v0, #int 1 // #01 │ │ -01a1d2: 7210 9d00 0200 |0027: invoke-interface {v2}, Landroid/text/Spannable;.length:()I // method@009d │ │ -01a1d8: 0a05 |002a: move-result v5 │ │ -01a1da: d805 05ff |002b: add-int/lit8 v5, v5, #int -1 // #ff │ │ -01a1de: 3551 0b00 |002d: if-ge v1, v5, 0038 // +000b │ │ -01a1e2: 7220 9c00 1200 |002f: invoke-interface {v2, v1}, Landroid/text/Spannable;.charAt:(I)C // method@009c │ │ -01a1e8: 0a05 |0032: move-result v5 │ │ -01a1ea: 3235 0500 |0033: if-eq v5, v3, 0038 // +0005 │ │ -01a1ee: d801 0101 |0035: add-int/lit8 v1, v1, #int 1 // #01 │ │ -01a1f2: 28f0 |0037: goto 0027 // -0010 │ │ -01a1f4: 6205 2001 |0038: sget-object v5, Ldnsfilter/android/DNSProxyActivity;.logOutView:Landroid/widget/EditText; // field@0120 │ │ -01a1f8: 6e30 e500 0501 |003a: invoke-virtual {v5, v0, v1}, Landroid/widget/EditText;.setSelection:(II)V // method@00e5 │ │ -01a1fe: 7230 9e00 0201 |003d: invoke-interface {v2, v0, v1}, Landroid/text/Spannable;.subSequence:(II)Ljava/lang/CharSequence; // method@009e │ │ -01a204: 0c05 |0040: move-result-object v5 │ │ -01a206: 7210 5205 0500 |0041: invoke-interface {v5}, Ljava/lang/CharSequence;.toString:()Ljava/lang/String; // method@0552 │ │ -01a20c: 0c05 |0044: move-result-object v5 │ │ -01a20e: 2803 |0045: goto 0048 // +0003 │ │ -01a210: 1a05 0000 |0046: const-string v5, "" // string@0000 │ │ -01a214: 1105 |0048: return-object v5 │ │ +01a170: |[01a170] dnsfilter.android.DNSProxyActivity.getSelectedText:(Z)Ljava/lang/String; │ │ +01a180: 6200 2001 |0000: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.logOutView:Landroid/widget/EditText; // field@0120 │ │ +01a184: 6e10 d900 0000 |0002: invoke-virtual {v0}, Landroid/widget/EditText;.getSelectionStart:()I // method@00d9 │ │ +01a18a: 0a00 |0005: move-result v0 │ │ +01a18c: 6201 2001 |0006: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.logOutView:Landroid/widget/EditText; // field@0120 │ │ +01a190: 6e10 d800 0100 |0008: invoke-virtual {v1}, Landroid/widget/EditText;.getSelectionEnd:()I // method@00d8 │ │ +01a196: 0a01 |000b: move-result v1 │ │ +01a198: 3701 3a00 |000c: if-le v1, v0, 0046 // +003a │ │ +01a19c: 6202 2001 |000e: sget-object v2, Ldnsfilter/android/DNSProxyActivity;.logOutView:Landroid/widget/EditText; // field@0120 │ │ +01a1a0: 6e10 da00 0200 |0010: invoke-virtual {v2}, Landroid/widget/EditText;.getText:()Landroid/text/Editable; // method@00da │ │ +01a1a6: 0c02 |0013: move-result-object v2 │ │ +01a1a8: 3805 2900 |0014: if-eqz v5, 003d // +0029 │ │ +01a1ac: 7220 9c00 0200 |0016: invoke-interface {v2, v0}, Landroid/text/Spannable;.charAt:(I)C // method@009c │ │ +01a1b2: 0a05 |0019: move-result v5 │ │ +01a1b4: 1303 0a00 |001a: const/16 v3, #int 10 // #a │ │ +01a1b8: 3235 0700 |001c: if-eq v5, v3, 0023 // +0007 │ │ +01a1bc: 3d00 0500 |001e: if-lez v0, 0023 // +0005 │ │ +01a1c0: d800 00ff |0020: add-int/lit8 v0, v0, #int -1 // #ff │ │ +01a1c4: 28f4 |0022: goto 0016 // -000c │ │ +01a1c6: 3800 0400 |0023: if-eqz v0, 0027 // +0004 │ │ +01a1ca: d800 0001 |0025: add-int/lit8 v0, v0, #int 1 // #01 │ │ +01a1ce: 7210 9d00 0200 |0027: invoke-interface {v2}, Landroid/text/Spannable;.length:()I // method@009d │ │ +01a1d4: 0a05 |002a: move-result v5 │ │ +01a1d6: d805 05ff |002b: add-int/lit8 v5, v5, #int -1 // #ff │ │ +01a1da: 3551 0b00 |002d: if-ge v1, v5, 0038 // +000b │ │ +01a1de: 7220 9c00 1200 |002f: invoke-interface {v2, v1}, Landroid/text/Spannable;.charAt:(I)C // method@009c │ │ +01a1e4: 0a05 |0032: move-result v5 │ │ +01a1e6: 3235 0500 |0033: if-eq v5, v3, 0038 // +0005 │ │ +01a1ea: d801 0101 |0035: add-int/lit8 v1, v1, #int 1 // #01 │ │ +01a1ee: 28f0 |0037: goto 0027 // -0010 │ │ +01a1f0: 6205 2001 |0038: sget-object v5, Ldnsfilter/android/DNSProxyActivity;.logOutView:Landroid/widget/EditText; // field@0120 │ │ +01a1f4: 6e30 e500 0501 |003a: invoke-virtual {v5, v0, v1}, Landroid/widget/EditText;.setSelection:(II)V // method@00e5 │ │ +01a1fa: 7230 9e00 0201 |003d: invoke-interface {v2, v0, v1}, Landroid/text/Spannable;.subSequence:(II)Ljava/lang/CharSequence; // method@009e │ │ +01a200: 0c05 |0040: move-result-object v5 │ │ +01a202: 7210 5205 0500 |0041: invoke-interface {v5}, Ljava/lang/CharSequence;.toString:()Ljava/lang/String; // method@0552 │ │ +01a208: 0c05 |0044: move-result-object v5 │ │ +01a20a: 2803 |0045: goto 0048 // +0003 │ │ +01a20c: 1a05 0000 |0046: const-string v5, "" // string@0000 │ │ +01a210: 1105 |0048: return-object v5 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=1829 │ │ 0x0006 line=1830 │ │ 0x000e line=1833 │ │ 0x0016 line=1835 │ │ 0x0027 line=1839 │ │ @@ -44106,278 +44106,278 @@ │ │ type : '(Landroid/widget/CheckBox;)V' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 12 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 593 16-bit code units │ │ -01a9dc: |[01a9dc] dnsfilter.android.DNSProxyActivity.handleAdvancedConfig:(Landroid/widget/CheckBox;)V │ │ -01a9ec: 1400 3900 057f |0000: const v0, #float 1.76788e+38 // #7f050039 │ │ -01a9f2: 6e20 f102 0a00 |0003: invoke-virtual {v10, v0}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02f1 │ │ -01a9f8: 0c00 |0006: move-result-object v0 │ │ -01a9fa: 1f00 5900 |0007: check-cast v0, Landroid/view/ViewGroup; // type@0059 │ │ -01a9fe: 7020 2703 0a00 |0009: invoke-direct {v10, v0}, Ldnsfilter/android/DNSProxyActivity;.prepareTransition:(Landroid/view/ViewGroup;)V // method@0327 │ │ -01aa04: 1400 1000 057f |000c: const v0, #float 1.76788e+38 // #7f050010 │ │ -01aa0a: 6e20 f102 0a00 |000f: invoke-virtual {v10, v0}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02f1 │ │ -01aa10: 0c00 |0012: move-result-object v0 │ │ -01aa12: 1f00 7300 |0013: check-cast v0, Landroid/widget/TextView; // type@0073 │ │ -01aa16: 1a01 0000 |0015: const-string v1, "" // string@0000 │ │ -01aa1a: 6e20 0901 1000 |0017: invoke-virtual {v0, v1}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@0109 │ │ -01aa20: 6200 0301 |001a: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.advancedConfigCheck:Landroid/widget/CheckBox; // field@0103 │ │ -01aa24: 6e10 cc00 0000 |001c: invoke-virtual {v0}, Landroid/widget/CheckBox;.isChecked:()Z // method@00cc │ │ -01aa2a: 0a00 |001f: move-result v0 │ │ -01aa2c: 1402 0900 057f |0020: const v2, #float 1.76788e+38 // #7f050009 │ │ -01aa32: 1403 1200 057f |0023: const v3, #float 1.76788e+38 // #7f050012 │ │ -01aa38: 1404 4500 057f |0026: const v4, #float 1.76789e+38 // #7f050045 │ │ -01aa3e: 1405 0600 057f |0029: const v5, #float 1.76787e+38 // #7f050006 │ │ -01aa44: 1406 3100 057f |002c: const v6, #float 1.76788e+38 // #7f050031 │ │ -01aa4a: 1307 0800 |002f: const/16 v7, #int 8 // #8 │ │ -01aa4e: 1208 |0031: const/4 v8, #int 0 // #0 │ │ -01aa50: 3800 c701 |0032: if-eqz v0, 01f9 // +01c7 │ │ -01aa54: 7020 3103 7a00 |0034: invoke-direct {v10, v7}, Ldnsfilter/android/DNSProxyActivity;.setVisibilityForAdvCfg:(I)V // method@0331 │ │ -01aa5a: 6000 0200 |0037: sget v0, Landroid/os/Build$VERSION;.SDK_INT:I // field@0002 │ │ -01aa5e: 1309 1500 |0039: const/16 v9, #int 21 // #15 │ │ -01aa62: 3490 1700 |003b: if-lt v0, v9, 0052 // +0017 │ │ -01aa66: 6200 ed00 |003d: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.CONFIG:Ldnsfilter/ConfigurationAccess; // field@00ed │ │ -01aa6a: 6e10 5701 0000 |003f: invoke-virtual {v0}, Ldnsfilter/ConfigurationAccess;.isLocal:()Z // method@0157 │ │ -01aa70: 0a00 |0042: move-result v0 │ │ -01aa72: 3800 0f00 |0043: if-eqz v0, 0052 // +000f │ │ -01aa76: 6300 f900 |0045: sget-boolean v0, Ldnsfilter/android/DNSProxyActivity;.NO_VPN:Z // field@00f9 │ │ -01aa7a: 3900 0b00 |0047: if-nez v0, 0052 // +000b │ │ -01aa7e: 6200 0601 |0049: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.appWhiteListCheck:Landroid/widget/CheckBox; // field@0106 │ │ -01aa82: 6e20 d200 8000 |004b: invoke-virtual {v0, v8}, Landroid/widget/CheckBox;.setVisibility:(I)V // method@00d2 │ │ -01aa88: 1210 |004e: const/4 v0, #int 1 // #1 │ │ -01aa8a: 6a00 0801 |004f: sput-boolean v0, Ldnsfilter/android/DNSProxyActivity;.appWhitelistingEnabled:Z // field@0108 │ │ -01aa8e: 280d |0051: goto 005e // +000d │ │ -01aa90: 6200 0601 |0052: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.appWhiteListCheck:Landroid/widget/CheckBox; // field@0106 │ │ -01aa94: 6e20 d200 7000 |0054: invoke-virtual {v0, v7}, Landroid/widget/CheckBox;.setVisibility:(I)V // method@00d2 │ │ -01aa9a: 6200 0601 |0057: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.appWhiteListCheck:Landroid/widget/CheckBox; // field@0106 │ │ -01aa9e: 6e20 cd00 8000 |0059: invoke-virtual {v0, v8}, Landroid/widget/CheckBox;.setChecked:(Z)V // method@00cd │ │ -01aaa4: 6a08 0801 |005c: sput-boolean v8, Ldnsfilter/android/DNSProxyActivity;.appWhitelistingEnabled:Z // field@0108 │ │ -01aaa8: 6e20 f102 2a00 |005e: invoke-virtual {v10, v2}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02f1 │ │ -01aaae: 0c00 |0061: move-result-object v0 │ │ -01aab0: 6e20 b400 8000 |0062: invoke-virtual {v0, v8}, Landroid/view/View;.setVisibility:(I)V // method@00b4 │ │ -01aab6: 6200 1c01 |0065: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.keepAwakeCheck:Landroid/widget/CheckBox; // field@011c │ │ -01aaba: 6e20 d200 8000 |0067: invoke-virtual {v0, v8}, Landroid/widget/CheckBox;.setVisibility:(I)V // method@00d2 │ │ -01aac0: 6200 2901 |006a: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.proxyModeCheck:Landroid/widget/CheckBox; // field@0129 │ │ -01aac4: 6e20 d200 8000 |006c: invoke-virtual {v0, v8}, Landroid/widget/CheckBox;.setVisibility:(I)V // method@00d2 │ │ -01aaca: 6200 2801 |006f: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.proxyLocalOnlyCheck:Landroid/widget/CheckBox; // field@0128 │ │ -01aace: 6e20 d200 8000 |0071: invoke-virtual {v0, v8}, Landroid/widget/CheckBox;.setVisibility:(I)V // method@00d2 │ │ -01aad4: 6200 3001 |0074: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.rootModeCheck:Landroid/widget/CheckBox; // field@0130 │ │ -01aad8: 6e20 d200 8000 |0076: invoke-virtual {v0, v8}, Landroid/widget/CheckBox;.setVisibility:(I)V // method@00d2 │ │ -01aade: 6200 1501 |0079: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.enableCloakProtectCheck:Landroid/widget/CheckBox; // field@0115 │ │ -01aae2: 6e20 d200 8000 |007b: invoke-virtual {v0, v8}, Landroid/widget/CheckBox;.setVisibility:(I)V // method@00d2 │ │ -01aae8: 6200 1101 |007e: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.editAdditionalHostsCheck:Landroid/widget/CheckBox; // field@0111 │ │ -01aaec: 6e20 d200 8000 |0080: invoke-virtual {v0, v8}, Landroid/widget/CheckBox;.setVisibility:(I)V // method@00d2 │ │ -01aaf2: 6200 2201 |0083: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.manuallyEditConfChk:Landroid/widget/CheckBox; // field@0122 │ │ -01aaf6: 6e20 d200 8000 |0085: invoke-virtual {v0, v8}, Landroid/widget/CheckBox;.setVisibility:(I)V // method@00d2 │ │ -01aafc: 6200 1201 |0088: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.editFilterLoadCheck:Landroid/widget/CheckBox; // field@0112 │ │ -01ab00: 6e20 d200 8000 |008a: invoke-virtual {v0, v8}, Landroid/widget/CheckBox;.setVisibility:(I)V // method@00d2 │ │ -01ab06: 6200 0c01 |008d: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.backupRestoreCheck:Landroid/widget/CheckBox; // field@010c │ │ -01ab0a: 6e20 d200 8000 |008f: invoke-virtual {v0, v8}, Landroid/widget/CheckBox;.setVisibility:(I)V // method@00d2 │ │ -01ab10: 390b 3700 |0092: if-nez v11, 00c9 // +0037 │ │ -01ab14: 6200 1101 |0094: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.editAdditionalHostsCheck:Landroid/widget/CheckBox; // field@0111 │ │ -01ab18: 6e10 cc00 0000 |0096: invoke-virtual {v0}, Landroid/widget/CheckBox;.isChecked:()Z // method@00cc │ │ -01ab1e: 0a00 |0099: move-result v0 │ │ -01ab20: 3800 0400 |009a: if-eqz v0, 009e // +0004 │ │ -01ab24: 620b 1101 |009c: sget-object v11, Ldnsfilter/android/DNSProxyActivity;.editAdditionalHostsCheck:Landroid/widget/CheckBox; // field@0111 │ │ -01ab28: 6200 2201 |009e: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.manuallyEditConfChk:Landroid/widget/CheckBox; // field@0122 │ │ -01ab2c: 6e10 cc00 0000 |00a0: invoke-virtual {v0}, Landroid/widget/CheckBox;.isChecked:()Z // method@00cc │ │ -01ab32: 0a00 |00a3: move-result v0 │ │ -01ab34: 3800 0500 |00a4: if-eqz v0, 00a9 // +0005 │ │ -01ab38: 620b 2201 |00a6: sget-object v11, Ldnsfilter/android/DNSProxyActivity;.manuallyEditConfChk:Landroid/widget/CheckBox; // field@0122 │ │ -01ab3c: 2821 |00a8: goto 00c9 // +0021 │ │ -01ab3e: 6200 1201 |00a9: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.editFilterLoadCheck:Landroid/widget/CheckBox; // field@0112 │ │ -01ab42: 6e10 cc00 0000 |00ab: invoke-virtual {v0}, Landroid/widget/CheckBox;.isChecked:()Z // method@00cc │ │ -01ab48: 0a00 |00ae: move-result v0 │ │ -01ab4a: 3800 0500 |00af: if-eqz v0, 00b4 // +0005 │ │ -01ab4e: 620b 1201 |00b1: sget-object v11, Ldnsfilter/android/DNSProxyActivity;.editFilterLoadCheck:Landroid/widget/CheckBox; // field@0112 │ │ -01ab52: 2816 |00b3: goto 00c9 // +0016 │ │ -01ab54: 6200 0c01 |00b4: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.backupRestoreCheck:Landroid/widget/CheckBox; // field@010c │ │ -01ab58: 6e10 cc00 0000 |00b6: invoke-virtual {v0}, Landroid/widget/CheckBox;.isChecked:()Z // method@00cc │ │ -01ab5e: 0a00 |00b9: move-result v0 │ │ -01ab60: 3800 0500 |00ba: if-eqz v0, 00bf // +0005 │ │ -01ab64: 620b 0c01 |00bc: sget-object v11, Ldnsfilter/android/DNSProxyActivity;.backupRestoreCheck:Landroid/widget/CheckBox; // field@010c │ │ -01ab68: 280b |00be: goto 00c9 // +000b │ │ -01ab6a: 6200 0601 |00bf: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.appWhiteListCheck:Landroid/widget/CheckBox; // field@0106 │ │ -01ab6e: 6e10 cc00 0000 |00c1: invoke-virtual {v0}, Landroid/widget/CheckBox;.isChecked:()Z // method@00cc │ │ -01ab74: 0a00 |00c4: move-result v0 │ │ -01ab76: 3800 0400 |00c5: if-eqz v0, 00c9 // +0004 │ │ -01ab7a: 620b 0601 |00c7: sget-object v11, Ldnsfilter/android/DNSProxyActivity;.appWhiteListCheck:Landroid/widget/CheckBox; // field@0106 │ │ -01ab7e: 6200 0301 |00c9: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.advancedConfigCheck:Landroid/widget/CheckBox; // field@0103 │ │ -01ab82: 320b 9600 |00cb: if-eq v11, v0, 0161 // +0096 │ │ -01ab86: 380b 9400 |00cd: if-eqz v11, 0161 // +0094 │ │ -01ab8a: 6e10 cc00 0b00 |00cf: invoke-virtual {v11}, Landroid/widget/CheckBox;.isChecked:()Z // method@00cc │ │ -01ab90: 0a00 |00d2: move-result v0 │ │ -01ab92: 3800 5800 |00d3: if-eqz v0, 012b // +0058 │ │ -01ab96: 6200 1c01 |00d5: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.keepAwakeCheck:Landroid/widget/CheckBox; // field@011c │ │ -01ab9a: 6e20 d200 7000 |00d7: invoke-virtual {v0, v7}, Landroid/widget/CheckBox;.setVisibility:(I)V // method@00d2 │ │ -01aba0: 6200 2901 |00da: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.proxyModeCheck:Landroid/widget/CheckBox; // field@0129 │ │ -01aba4: 6e20 d200 7000 |00dc: invoke-virtual {v0, v7}, Landroid/widget/CheckBox;.setVisibility:(I)V // method@00d2 │ │ -01abaa: 6200 2801 |00df: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.proxyLocalOnlyCheck:Landroid/widget/CheckBox; // field@0128 │ │ -01abae: 6e20 d200 7000 |00e1: invoke-virtual {v0, v7}, Landroid/widget/CheckBox;.setVisibility:(I)V // method@00d2 │ │ -01abb4: 6200 3001 |00e4: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.rootModeCheck:Landroid/widget/CheckBox; // field@0130 │ │ -01abb8: 6e20 d200 7000 |00e6: invoke-virtual {v0, v7}, Landroid/widget/CheckBox;.setVisibility:(I)V // method@00d2 │ │ -01abbe: 6200 1501 |00e9: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.enableCloakProtectCheck:Landroid/widget/CheckBox; // field@0115 │ │ -01abc2: 6e20 d200 7000 |00eb: invoke-virtual {v0, v7}, Landroid/widget/CheckBox;.setVisibility:(I)V // method@00d2 │ │ -01abc8: 6200 1101 |00ee: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.editAdditionalHostsCheck:Landroid/widget/CheckBox; // field@0111 │ │ -01abcc: 320b 0a00 |00f0: if-eq v11, v0, 00fa // +000a │ │ -01abd0: 6e20 cd00 8000 |00f2: invoke-virtual {v0, v8}, Landroid/widget/CheckBox;.setChecked:(Z)V // method@00cd │ │ -01abd6: 6200 1101 |00f5: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.editAdditionalHostsCheck:Landroid/widget/CheckBox; // field@0111 │ │ -01abda: 6e20 d200 7000 |00f7: invoke-virtual {v0, v7}, Landroid/widget/CheckBox;.setVisibility:(I)V // method@00d2 │ │ -01abe0: 6200 2201 |00fa: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.manuallyEditConfChk:Landroid/widget/CheckBox; // field@0122 │ │ -01abe4: 320b 0a00 |00fc: if-eq v11, v0, 0106 // +000a │ │ -01abe8: 6e20 cd00 8000 |00fe: invoke-virtual {v0, v8}, Landroid/widget/CheckBox;.setChecked:(Z)V // method@00cd │ │ -01abee: 6200 2201 |0101: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.manuallyEditConfChk:Landroid/widget/CheckBox; // field@0122 │ │ -01abf2: 6e20 d200 7000 |0103: invoke-virtual {v0, v7}, Landroid/widget/CheckBox;.setVisibility:(I)V // method@00d2 │ │ -01abf8: 6200 1201 |0106: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.editFilterLoadCheck:Landroid/widget/CheckBox; // field@0112 │ │ -01abfc: 320b 0a00 |0108: if-eq v11, v0, 0112 // +000a │ │ -01ac00: 6e20 cd00 8000 |010a: invoke-virtual {v0, v8}, Landroid/widget/CheckBox;.setChecked:(Z)V // method@00cd │ │ -01ac06: 6200 1201 |010d: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.editFilterLoadCheck:Landroid/widget/CheckBox; // field@0112 │ │ -01ac0a: 6e20 d200 7000 |010f: invoke-virtual {v0, v7}, Landroid/widget/CheckBox;.setVisibility:(I)V // method@00d2 │ │ -01ac10: 6200 0601 |0112: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.appWhiteListCheck:Landroid/widget/CheckBox; // field@0106 │ │ -01ac14: 320b 0a00 |0114: if-eq v11, v0, 011e // +000a │ │ -01ac18: 6e20 cd00 8000 |0116: invoke-virtual {v0, v8}, Landroid/widget/CheckBox;.setChecked:(Z)V // method@00cd │ │ -01ac1e: 6200 0601 |0119: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.appWhiteListCheck:Landroid/widget/CheckBox; // field@0106 │ │ -01ac22: 6e20 d200 7000 |011b: invoke-virtual {v0, v7}, Landroid/widget/CheckBox;.setVisibility:(I)V // method@00d2 │ │ -01ac28: 6200 0c01 |011e: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.backupRestoreCheck:Landroid/widget/CheckBox; // field@010c │ │ -01ac2c: 320b 4100 |0120: if-eq v11, v0, 0161 // +0041 │ │ -01ac30: 6e20 cd00 8000 |0122: invoke-virtual {v0, v8}, Landroid/widget/CheckBox;.setChecked:(Z)V // method@00cd │ │ -01ac36: 620b 0c01 |0125: sget-object v11, Ldnsfilter/android/DNSProxyActivity;.backupRestoreCheck:Landroid/widget/CheckBox; // field@010c │ │ -01ac3a: 6e20 d200 7b00 |0127: invoke-virtual {v11, v7}, Landroid/widget/CheckBox;.setVisibility:(I)V // method@00d2 │ │ -01ac40: 2837 |012a: goto 0161 // +0037 │ │ -01ac42: 620b 1c01 |012b: sget-object v11, Ldnsfilter/android/DNSProxyActivity;.keepAwakeCheck:Landroid/widget/CheckBox; // field@011c │ │ -01ac46: 6e20 d200 8b00 |012d: invoke-virtual {v11, v8}, Landroid/widget/CheckBox;.setVisibility:(I)V // method@00d2 │ │ -01ac4c: 620b 2901 |0130: sget-object v11, Ldnsfilter/android/DNSProxyActivity;.proxyModeCheck:Landroid/widget/CheckBox; // field@0129 │ │ -01ac50: 6e20 d200 8b00 |0132: invoke-virtual {v11, v8}, Landroid/widget/CheckBox;.setVisibility:(I)V // method@00d2 │ │ -01ac56: 620b 2801 |0135: sget-object v11, Ldnsfilter/android/DNSProxyActivity;.proxyLocalOnlyCheck:Landroid/widget/CheckBox; // field@0128 │ │ -01ac5a: 6e20 d200 8b00 |0137: invoke-virtual {v11, v8}, Landroid/widget/CheckBox;.setVisibility:(I)V // method@00d2 │ │ -01ac60: 620b 3001 |013a: sget-object v11, Ldnsfilter/android/DNSProxyActivity;.rootModeCheck:Landroid/widget/CheckBox; // field@0130 │ │ -01ac64: 6e20 d200 8b00 |013c: invoke-virtual {v11, v8}, Landroid/widget/CheckBox;.setVisibility:(I)V // method@00d2 │ │ -01ac6a: 620b 1501 |013f: sget-object v11, Ldnsfilter/android/DNSProxyActivity;.enableCloakProtectCheck:Landroid/widget/CheckBox; // field@0115 │ │ -01ac6e: 6e20 d200 8b00 |0141: invoke-virtual {v11, v8}, Landroid/widget/CheckBox;.setVisibility:(I)V // method@00d2 │ │ -01ac74: 620b 1101 |0144: sget-object v11, Ldnsfilter/android/DNSProxyActivity;.editAdditionalHostsCheck:Landroid/widget/CheckBox; // field@0111 │ │ -01ac78: 6e20 d200 8b00 |0146: invoke-virtual {v11, v8}, Landroid/widget/CheckBox;.setVisibility:(I)V // method@00d2 │ │ -01ac7e: 620b 2201 |0149: sget-object v11, Ldnsfilter/android/DNSProxyActivity;.manuallyEditConfChk:Landroid/widget/CheckBox; // field@0122 │ │ -01ac82: 6e20 d200 8b00 |014b: invoke-virtual {v11, v8}, Landroid/widget/CheckBox;.setVisibility:(I)V // method@00d2 │ │ -01ac88: 620b 1201 |014e: sget-object v11, Ldnsfilter/android/DNSProxyActivity;.editFilterLoadCheck:Landroid/widget/CheckBox; // field@0112 │ │ -01ac8c: 6e20 d200 8b00 |0150: invoke-virtual {v11, v8}, Landroid/widget/CheckBox;.setVisibility:(I)V // method@00d2 │ │ -01ac92: 630b 0801 |0153: sget-boolean v11, Ldnsfilter/android/DNSProxyActivity;.appWhitelistingEnabled:Z // field@0108 │ │ -01ac96: 380b 0700 |0155: if-eqz v11, 015c // +0007 │ │ -01ac9a: 620b 0601 |0157: sget-object v11, Ldnsfilter/android/DNSProxyActivity;.appWhiteListCheck:Landroid/widget/CheckBox; // field@0106 │ │ -01ac9e: 6e20 d200 8b00 |0159: invoke-virtual {v11, v8}, Landroid/widget/CheckBox;.setVisibility:(I)V // method@00d2 │ │ -01aca4: 620b 0c01 |015c: sget-object v11, Ldnsfilter/android/DNSProxyActivity;.backupRestoreCheck:Landroid/widget/CheckBox; // field@010c │ │ -01aca8: 6e20 d200 8b00 |015e: invoke-virtual {v11, v8}, Landroid/widget/CheckBox;.setVisibility:(I)V // method@00d2 │ │ -01acae: 620b 0c01 |0161: sget-object v11, Ldnsfilter/android/DNSProxyActivity;.backupRestoreCheck:Landroid/widget/CheckBox; // field@010c │ │ -01acb2: 6e10 cc00 0b00 |0163: invoke-virtual {v11}, Landroid/widget/CheckBox;.isChecked:()Z // method@00cc │ │ -01acb8: 0a0b |0166: move-result v11 │ │ -01acba: 380b 0a00 |0167: if-eqz v11, 0171 // +000a │ │ -01acbe: 6e20 f102 3a00 |0169: invoke-virtual {v10, v3}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02f1 │ │ -01acc4: 0c0b |016c: move-result-object v11 │ │ -01acc6: 6e20 b400 8b00 |016d: invoke-virtual {v11, v8}, Landroid/view/View;.setVisibility:(I)V // method@00b4 │ │ -01accc: 2808 |0170: goto 0178 // +0008 │ │ -01acce: 6e20 f102 3a00 |0171: invoke-virtual {v10, v3}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02f1 │ │ -01acd4: 0c0b |0174: move-result-object v11 │ │ -01acd6: 6e20 b400 7b00 |0175: invoke-virtual {v11, v7}, Landroid/view/View;.setVisibility:(I)V // method@00b4 │ │ -01acdc: 620b 0601 |0178: sget-object v11, Ldnsfilter/android/DNSProxyActivity;.appWhiteListCheck:Landroid/widget/CheckBox; // field@0106 │ │ -01ace0: 6e10 cc00 0b00 |017a: invoke-virtual {v11}, Landroid/widget/CheckBox;.isChecked:()Z // method@00cc │ │ -01ace6: 0a0b |017d: move-result v11 │ │ -01ace8: 380b 0d00 |017e: if-eqz v11, 018b // +000d │ │ -01acec: 620b 0701 |0180: sget-object v11, Ldnsfilter/android/DNSProxyActivity;.appWhiteListScroll:Landroid/widget/ScrollView; // field@0107 │ │ -01acf0: 6e20 f500 8b00 |0182: invoke-virtual {v11, v8}, Landroid/widget/ScrollView;.setVisibility:(I)V // method@00f5 │ │ -01acf6: 620b 0401 |0185: sget-object v11, Ldnsfilter/android/DNSProxyActivity;.appSelector:Ldnsfilter/android/AppSelectorView; // field@0104 │ │ -01acfa: 6e10 5202 0b00 |0187: invoke-virtual {v11}, Ldnsfilter/android/AppSelectorView;.loadAppList:()V // method@0252 │ │ -01ad00: 280b |018a: goto 0195 // +000b │ │ -01ad02: 620b 0401 |018b: sget-object v11, Ldnsfilter/android/DNSProxyActivity;.appSelector:Ldnsfilter/android/AppSelectorView; // field@0104 │ │ -01ad06: 6e10 4e02 0b00 |018d: invoke-virtual {v11}, Ldnsfilter/android/AppSelectorView;.clear:()V // method@024e │ │ -01ad0c: 620b 0701 |0190: sget-object v11, Ldnsfilter/android/DNSProxyActivity;.appWhiteListScroll:Landroid/widget/ScrollView; // field@0107 │ │ -01ad10: 6e20 f500 7b00 |0192: invoke-virtual {v11, v7}, Landroid/widget/ScrollView;.setVisibility:(I)V // method@00f5 │ │ -01ad16: 620b 1201 |0195: sget-object v11, Ldnsfilter/android/DNSProxyActivity;.editFilterLoadCheck:Landroid/widget/CheckBox; // field@0112 │ │ -01ad1a: 6e10 cc00 0b00 |0197: invoke-virtual {v11}, Landroid/widget/CheckBox;.isChecked:()Z // method@00cc │ │ -01ad20: 0a0b |019a: move-result v11 │ │ -01ad22: 380b 0f00 |019b: if-eqz v11, 01aa // +000f │ │ -01ad26: 620b 1601 |019d: sget-object v11, Ldnsfilter/android/DNSProxyActivity;.filterCfg:Ldnsfilter/android/FilterConfig; // field@0116 │ │ -01ad2a: 6e10 4203 0b00 |019f: invoke-virtual {v11}, Ldnsfilter/android/FilterConfig;.load:()V // method@0342 │ │ -01ad30: 6e20 f102 6a00 |01a2: invoke-virtual {v10, v6}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02f1 │ │ -01ad36: 0c0b |01a5: move-result-object v11 │ │ -01ad38: 6e20 b400 8b00 |01a6: invoke-virtual {v11, v8}, Landroid/view/View;.setVisibility:(I)V // method@00b4 │ │ -01ad3e: 280d |01a9: goto 01b6 // +000d │ │ -01ad40: 6e20 f102 6a00 |01aa: invoke-virtual {v10, v6}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02f1 │ │ -01ad46: 0c0b |01ad: move-result-object v11 │ │ -01ad48: 6e20 b400 7b00 |01ae: invoke-virtual {v11, v7}, Landroid/view/View;.setVisibility:(I)V // method@00b4 │ │ -01ad4e: 620b 1601 |01b1: sget-object v11, Ldnsfilter/android/DNSProxyActivity;.filterCfg:Ldnsfilter/android/FilterConfig; // field@0116 │ │ -01ad52: 6e10 3c03 0b00 |01b3: invoke-virtual {v11}, Ldnsfilter/android/FilterConfig;.clear:()V // method@033c │ │ -01ad58: 620b 1101 |01b6: sget-object v11, Ldnsfilter/android/DNSProxyActivity;.editAdditionalHostsCheck:Landroid/widget/CheckBox; // field@0111 │ │ -01ad5c: 6e10 cc00 0b00 |01b8: invoke-virtual {v11}, Landroid/widget/CheckBox;.isChecked:()Z // method@00cc │ │ -01ad62: 0a0b |01bb: move-result v11 │ │ -01ad64: 380b 0d00 |01bc: if-eqz v11, 01c9 // +000d │ │ -01ad68: 6e10 0503 0a00 |01be: invoke-virtual {v10}, Ldnsfilter/android/DNSProxyActivity;.loadAdditionalHosts:()V // method@0305 │ │ -01ad6e: 6e20 f102 5a00 |01c1: invoke-virtual {v10, v5}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02f1 │ │ -01ad74: 0c0b |01c4: move-result-object v11 │ │ -01ad76: 6e20 b400 8b00 |01c5: invoke-virtual {v11, v8}, Landroid/view/View;.setVisibility:(I)V // method@00b4 │ │ -01ad7c: 280f |01c8: goto 01d7 // +000f │ │ -01ad7e: 620b 0201 |01c9: sget-object v11, Ldnsfilter/android/DNSProxyActivity;.additionalHostsField:Landroid/widget/EditText; // field@0102 │ │ -01ad82: 6e20 e600 1b00 |01cb: invoke-virtual {v11, v1}, Landroid/widget/EditText;.setText:(Ljava/lang/CharSequence;)V // method@00e6 │ │ -01ad88: 6a08 0101 |01ce: sput-boolean v8, Ldnsfilter/android/DNSProxyActivity;.additionalHostsChanged:Z // field@0101 │ │ -01ad8c: 6e20 f102 5a00 |01d0: invoke-virtual {v10, v5}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02f1 │ │ -01ad92: 0c0b |01d3: move-result-object v11 │ │ -01ad94: 6e20 b400 7b00 |01d4: invoke-virtual {v11, v7}, Landroid/view/View;.setVisibility:(I)V // method@00b4 │ │ -01ad9a: 620b 2201 |01d7: sget-object v11, Ldnsfilter/android/DNSProxyActivity;.manuallyEditConfChk:Landroid/widget/CheckBox; // field@0122 │ │ -01ad9e: 6e10 cc00 0b00 |01d9: invoke-virtual {v11}, Landroid/widget/CheckBox;.isChecked:()Z // method@00cc │ │ -01ada4: 0a0b |01dc: move-result v11 │ │ -01ada6: 380b 0d00 |01dd: if-eqz v11, 01ea // +000d │ │ -01adaa: 6e10 0703 0a00 |01df: invoke-virtual {v10}, Ldnsfilter/android/DNSProxyActivity;.loadManuallyEditConf:()V // method@0307 │ │ -01adb0: 6e20 f102 4a00 |01e2: invoke-virtual {v10, v4}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02f1 │ │ -01adb6: 0c0b |01e5: move-result-object v11 │ │ -01adb8: 6e20 b400 8b00 |01e6: invoke-virtual {v11, v8}, Landroid/view/View;.setVisibility:(I)V // method@00b4 │ │ -01adbe: 2867 |01e9: goto 0250 // +0067 │ │ -01adc0: 620b 2301 |01ea: sget-object v11, Ldnsfilter/android/DNSProxyActivity;.manuallyEditField:Landroid/widget/EditText; // field@0123 │ │ -01adc4: 6e20 e600 1b00 |01ec: invoke-virtual {v11, v1}, Landroid/widget/EditText;.setText:(Ljava/lang/CharSequence;)V // method@00e6 │ │ -01adca: 6a08 2101 |01ef: sput-boolean v8, Ldnsfilter/android/DNSProxyActivity;.manuallyConfEdited:Z // field@0121 │ │ -01adce: 6e20 f102 4a00 |01f1: invoke-virtual {v10, v4}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02f1 │ │ -01add4: 0c0b |01f4: move-result-object v11 │ │ -01add6: 6e20 b400 7b00 |01f5: invoke-virtual {v11, v7}, Landroid/view/View;.setVisibility:(I)V // method@00b4 │ │ -01addc: 2858 |01f8: goto 0250 // +0058 │ │ -01adde: 7020 3103 8a00 |01f9: invoke-direct {v10, v8}, Ldnsfilter/android/DNSProxyActivity;.setVisibilityForAdvCfg:(I)V // method@0331 │ │ -01ade4: 6e20 f102 6a00 |01fc: invoke-virtual {v10, v6}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02f1 │ │ -01adea: 0c0b |01ff: move-result-object v11 │ │ -01adec: 6e20 b400 7b00 |0200: invoke-virtual {v11, v7}, Landroid/view/View;.setVisibility:(I)V // method@00b4 │ │ -01adf2: 620b 1601 |0203: sget-object v11, Ldnsfilter/android/DNSProxyActivity;.filterCfg:Ldnsfilter/android/FilterConfig; // field@0116 │ │ -01adf6: 6e10 3c03 0b00 |0205: invoke-virtual {v11}, Ldnsfilter/android/FilterConfig;.clear:()V // method@033c │ │ -01adfc: 6e20 f102 5a00 |0208: invoke-virtual {v10, v5}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02f1 │ │ -01ae02: 0c0b |020b: move-result-object v11 │ │ -01ae04: 6e20 b400 7b00 |020c: invoke-virtual {v11, v7}, Landroid/view/View;.setVisibility:(I)V // method@00b4 │ │ -01ae0a: 6e20 f102 4a00 |020f: invoke-virtual {v10, v4}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02f1 │ │ -01ae10: 0c0b |0212: move-result-object v11 │ │ -01ae12: 6e20 b400 7b00 |0213: invoke-virtual {v11, v7}, Landroid/view/View;.setVisibility:(I)V // method@00b4 │ │ -01ae18: 6e20 f102 2a00 |0216: invoke-virtual {v10, v2}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02f1 │ │ -01ae1e: 0c0b |0219: move-result-object v11 │ │ -01ae20: 6e20 b400 7b00 |021a: invoke-virtual {v11, v7}, Landroid/view/View;.setVisibility:(I)V // method@00b4 │ │ -01ae26: 620b 0601 |021d: sget-object v11, Ldnsfilter/android/DNSProxyActivity;.appWhiteListCheck:Landroid/widget/CheckBox; // field@0106 │ │ -01ae2a: 6e20 cd00 8b00 |021f: invoke-virtual {v11, v8}, Landroid/widget/CheckBox;.setChecked:(Z)V // method@00cd │ │ -01ae30: 620b 0401 |0222: sget-object v11, Ldnsfilter/android/DNSProxyActivity;.appSelector:Ldnsfilter/android/AppSelectorView; // field@0104 │ │ -01ae34: 6e10 4e02 0b00 |0224: invoke-virtual {v11}, Ldnsfilter/android/AppSelectorView;.clear:()V // method@024e │ │ -01ae3a: 6e20 f102 3a00 |0227: invoke-virtual {v10, v3}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02f1 │ │ -01ae40: 0c0b |022a: move-result-object v11 │ │ -01ae42: 6e20 b400 7b00 |022b: invoke-virtual {v11, v7}, Landroid/view/View;.setVisibility:(I)V // method@00b4 │ │ -01ae48: 620b 1201 |022e: sget-object v11, Ldnsfilter/android/DNSProxyActivity;.editFilterLoadCheck:Landroid/widget/CheckBox; // field@0112 │ │ -01ae4c: 6e20 cd00 8b00 |0230: invoke-virtual {v11, v8}, Landroid/widget/CheckBox;.setChecked:(Z)V // method@00cd │ │ -01ae52: 620b 0c01 |0233: sget-object v11, Ldnsfilter/android/DNSProxyActivity;.backupRestoreCheck:Landroid/widget/CheckBox; // field@010c │ │ -01ae56: 6e20 cd00 8b00 |0235: invoke-virtual {v11, v8}, Landroid/widget/CheckBox;.setChecked:(Z)V // method@00cd │ │ -01ae5c: 620b 1101 |0238: sget-object v11, Ldnsfilter/android/DNSProxyActivity;.editAdditionalHostsCheck:Landroid/widget/CheckBox; // field@0111 │ │ -01ae60: 6e20 cd00 8b00 |023a: invoke-virtual {v11, v8}, Landroid/widget/CheckBox;.setChecked:(Z)V // method@00cd │ │ -01ae66: 620b 2201 |023d: sget-object v11, Ldnsfilter/android/DNSProxyActivity;.manuallyEditConfChk:Landroid/widget/CheckBox; // field@0122 │ │ -01ae6a: 6e20 cd00 8b00 |023f: invoke-virtual {v11, v8}, Landroid/widget/CheckBox;.setChecked:(Z)V // method@00cd │ │ -01ae70: 620b 0201 |0242: sget-object v11, Ldnsfilter/android/DNSProxyActivity;.additionalHostsField:Landroid/widget/EditText; // field@0102 │ │ -01ae74: 6e20 e600 1b00 |0244: invoke-virtual {v11, v1}, Landroid/widget/EditText;.setText:(Ljava/lang/CharSequence;)V // method@00e6 │ │ -01ae7a: 620b 2301 |0247: sget-object v11, Ldnsfilter/android/DNSProxyActivity;.manuallyEditField:Landroid/widget/EditText; // field@0123 │ │ -01ae7e: 6e20 e600 1b00 |0249: invoke-virtual {v11, v1}, Landroid/widget/EditText;.setText:(Ljava/lang/CharSequence;)V // method@00e6 │ │ -01ae84: 6a08 0101 |024c: sput-boolean v8, Ldnsfilter/android/DNSProxyActivity;.additionalHostsChanged:Z // field@0101 │ │ -01ae88: 6a08 2101 |024e: sput-boolean v8, Ldnsfilter/android/DNSProxyActivity;.manuallyConfEdited:Z // field@0121 │ │ -01ae8c: 0e00 |0250: return-void │ │ +01a9d8: |[01a9d8] dnsfilter.android.DNSProxyActivity.handleAdvancedConfig:(Landroid/widget/CheckBox;)V │ │ +01a9e8: 1400 3900 057f |0000: const v0, #float 1.76788e+38 // #7f050039 │ │ +01a9ee: 6e20 f102 0a00 |0003: invoke-virtual {v10, v0}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02f1 │ │ +01a9f4: 0c00 |0006: move-result-object v0 │ │ +01a9f6: 1f00 5900 |0007: check-cast v0, Landroid/view/ViewGroup; // type@0059 │ │ +01a9fa: 7020 2703 0a00 |0009: invoke-direct {v10, v0}, Ldnsfilter/android/DNSProxyActivity;.prepareTransition:(Landroid/view/ViewGroup;)V // method@0327 │ │ +01aa00: 1400 1000 057f |000c: const v0, #float 1.76788e+38 // #7f050010 │ │ +01aa06: 6e20 f102 0a00 |000f: invoke-virtual {v10, v0}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02f1 │ │ +01aa0c: 0c00 |0012: move-result-object v0 │ │ +01aa0e: 1f00 7300 |0013: check-cast v0, Landroid/widget/TextView; // type@0073 │ │ +01aa12: 1a01 0000 |0015: const-string v1, "" // string@0000 │ │ +01aa16: 6e20 0901 1000 |0017: invoke-virtual {v0, v1}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@0109 │ │ +01aa1c: 6200 0301 |001a: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.advancedConfigCheck:Landroid/widget/CheckBox; // field@0103 │ │ +01aa20: 6e10 cc00 0000 |001c: invoke-virtual {v0}, Landroid/widget/CheckBox;.isChecked:()Z // method@00cc │ │ +01aa26: 0a00 |001f: move-result v0 │ │ +01aa28: 1402 0900 057f |0020: const v2, #float 1.76788e+38 // #7f050009 │ │ +01aa2e: 1403 1200 057f |0023: const v3, #float 1.76788e+38 // #7f050012 │ │ +01aa34: 1404 4500 057f |0026: const v4, #float 1.76789e+38 // #7f050045 │ │ +01aa3a: 1405 0600 057f |0029: const v5, #float 1.76787e+38 // #7f050006 │ │ +01aa40: 1406 3100 057f |002c: const v6, #float 1.76788e+38 // #7f050031 │ │ +01aa46: 1307 0800 |002f: const/16 v7, #int 8 // #8 │ │ +01aa4a: 1208 |0031: const/4 v8, #int 0 // #0 │ │ +01aa4c: 3800 c701 |0032: if-eqz v0, 01f9 // +01c7 │ │ +01aa50: 7020 3103 7a00 |0034: invoke-direct {v10, v7}, Ldnsfilter/android/DNSProxyActivity;.setVisibilityForAdvCfg:(I)V // method@0331 │ │ +01aa56: 6000 0200 |0037: sget v0, Landroid/os/Build$VERSION;.SDK_INT:I // field@0002 │ │ +01aa5a: 1309 1500 |0039: const/16 v9, #int 21 // #15 │ │ +01aa5e: 3490 1700 |003b: if-lt v0, v9, 0052 // +0017 │ │ +01aa62: 6200 ed00 |003d: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.CONFIG:Ldnsfilter/ConfigurationAccess; // field@00ed │ │ +01aa66: 6e10 5701 0000 |003f: invoke-virtual {v0}, Ldnsfilter/ConfigurationAccess;.isLocal:()Z // method@0157 │ │ +01aa6c: 0a00 |0042: move-result v0 │ │ +01aa6e: 3800 0f00 |0043: if-eqz v0, 0052 // +000f │ │ +01aa72: 6300 f900 |0045: sget-boolean v0, Ldnsfilter/android/DNSProxyActivity;.NO_VPN:Z // field@00f9 │ │ +01aa76: 3900 0b00 |0047: if-nez v0, 0052 // +000b │ │ +01aa7a: 6200 0601 |0049: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.appWhiteListCheck:Landroid/widget/CheckBox; // field@0106 │ │ +01aa7e: 6e20 d200 8000 |004b: invoke-virtual {v0, v8}, Landroid/widget/CheckBox;.setVisibility:(I)V // method@00d2 │ │ +01aa84: 1210 |004e: const/4 v0, #int 1 // #1 │ │ +01aa86: 6a00 0801 |004f: sput-boolean v0, Ldnsfilter/android/DNSProxyActivity;.appWhitelistingEnabled:Z // field@0108 │ │ +01aa8a: 280d |0051: goto 005e // +000d │ │ +01aa8c: 6200 0601 |0052: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.appWhiteListCheck:Landroid/widget/CheckBox; // field@0106 │ │ +01aa90: 6e20 d200 7000 |0054: invoke-virtual {v0, v7}, Landroid/widget/CheckBox;.setVisibility:(I)V // method@00d2 │ │ +01aa96: 6200 0601 |0057: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.appWhiteListCheck:Landroid/widget/CheckBox; // field@0106 │ │ +01aa9a: 6e20 cd00 8000 |0059: invoke-virtual {v0, v8}, Landroid/widget/CheckBox;.setChecked:(Z)V // method@00cd │ │ +01aaa0: 6a08 0801 |005c: sput-boolean v8, Ldnsfilter/android/DNSProxyActivity;.appWhitelistingEnabled:Z // field@0108 │ │ +01aaa4: 6e20 f102 2a00 |005e: invoke-virtual {v10, v2}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02f1 │ │ +01aaaa: 0c00 |0061: move-result-object v0 │ │ +01aaac: 6e20 b400 8000 |0062: invoke-virtual {v0, v8}, Landroid/view/View;.setVisibility:(I)V // method@00b4 │ │ +01aab2: 6200 1c01 |0065: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.keepAwakeCheck:Landroid/widget/CheckBox; // field@011c │ │ +01aab6: 6e20 d200 8000 |0067: invoke-virtual {v0, v8}, Landroid/widget/CheckBox;.setVisibility:(I)V // method@00d2 │ │ +01aabc: 6200 2901 |006a: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.proxyModeCheck:Landroid/widget/CheckBox; // field@0129 │ │ +01aac0: 6e20 d200 8000 |006c: invoke-virtual {v0, v8}, Landroid/widget/CheckBox;.setVisibility:(I)V // method@00d2 │ │ +01aac6: 6200 2801 |006f: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.proxyLocalOnlyCheck:Landroid/widget/CheckBox; // field@0128 │ │ +01aaca: 6e20 d200 8000 |0071: invoke-virtual {v0, v8}, Landroid/widget/CheckBox;.setVisibility:(I)V // method@00d2 │ │ +01aad0: 6200 3001 |0074: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.rootModeCheck:Landroid/widget/CheckBox; // field@0130 │ │ +01aad4: 6e20 d200 8000 |0076: invoke-virtual {v0, v8}, Landroid/widget/CheckBox;.setVisibility:(I)V // method@00d2 │ │ +01aada: 6200 1501 |0079: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.enableCloakProtectCheck:Landroid/widget/CheckBox; // field@0115 │ │ +01aade: 6e20 d200 8000 |007b: invoke-virtual {v0, v8}, Landroid/widget/CheckBox;.setVisibility:(I)V // method@00d2 │ │ +01aae4: 6200 1101 |007e: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.editAdditionalHostsCheck:Landroid/widget/CheckBox; // field@0111 │ │ +01aae8: 6e20 d200 8000 |0080: invoke-virtual {v0, v8}, Landroid/widget/CheckBox;.setVisibility:(I)V // method@00d2 │ │ +01aaee: 6200 2201 |0083: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.manuallyEditConfChk:Landroid/widget/CheckBox; // field@0122 │ │ +01aaf2: 6e20 d200 8000 |0085: invoke-virtual {v0, v8}, Landroid/widget/CheckBox;.setVisibility:(I)V // method@00d2 │ │ +01aaf8: 6200 1201 |0088: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.editFilterLoadCheck:Landroid/widget/CheckBox; // field@0112 │ │ +01aafc: 6e20 d200 8000 |008a: invoke-virtual {v0, v8}, Landroid/widget/CheckBox;.setVisibility:(I)V // method@00d2 │ │ +01ab02: 6200 0c01 |008d: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.backupRestoreCheck:Landroid/widget/CheckBox; // field@010c │ │ +01ab06: 6e20 d200 8000 |008f: invoke-virtual {v0, v8}, Landroid/widget/CheckBox;.setVisibility:(I)V // method@00d2 │ │ +01ab0c: 390b 3700 |0092: if-nez v11, 00c9 // +0037 │ │ +01ab10: 6200 1101 |0094: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.editAdditionalHostsCheck:Landroid/widget/CheckBox; // field@0111 │ │ +01ab14: 6e10 cc00 0000 |0096: invoke-virtual {v0}, Landroid/widget/CheckBox;.isChecked:()Z // method@00cc │ │ +01ab1a: 0a00 |0099: move-result v0 │ │ +01ab1c: 3800 0400 |009a: if-eqz v0, 009e // +0004 │ │ +01ab20: 620b 1101 |009c: sget-object v11, Ldnsfilter/android/DNSProxyActivity;.editAdditionalHostsCheck:Landroid/widget/CheckBox; // field@0111 │ │ +01ab24: 6200 2201 |009e: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.manuallyEditConfChk:Landroid/widget/CheckBox; // field@0122 │ │ +01ab28: 6e10 cc00 0000 |00a0: invoke-virtual {v0}, Landroid/widget/CheckBox;.isChecked:()Z // method@00cc │ │ +01ab2e: 0a00 |00a3: move-result v0 │ │ +01ab30: 3800 0500 |00a4: if-eqz v0, 00a9 // +0005 │ │ +01ab34: 620b 2201 |00a6: sget-object v11, Ldnsfilter/android/DNSProxyActivity;.manuallyEditConfChk:Landroid/widget/CheckBox; // field@0122 │ │ +01ab38: 2821 |00a8: goto 00c9 // +0021 │ │ +01ab3a: 6200 1201 |00a9: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.editFilterLoadCheck:Landroid/widget/CheckBox; // field@0112 │ │ +01ab3e: 6e10 cc00 0000 |00ab: invoke-virtual {v0}, Landroid/widget/CheckBox;.isChecked:()Z // method@00cc │ │ +01ab44: 0a00 |00ae: move-result v0 │ │ +01ab46: 3800 0500 |00af: if-eqz v0, 00b4 // +0005 │ │ +01ab4a: 620b 1201 |00b1: sget-object v11, Ldnsfilter/android/DNSProxyActivity;.editFilterLoadCheck:Landroid/widget/CheckBox; // field@0112 │ │ +01ab4e: 2816 |00b3: goto 00c9 // +0016 │ │ +01ab50: 6200 0c01 |00b4: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.backupRestoreCheck:Landroid/widget/CheckBox; // field@010c │ │ +01ab54: 6e10 cc00 0000 |00b6: invoke-virtual {v0}, Landroid/widget/CheckBox;.isChecked:()Z // method@00cc │ │ +01ab5a: 0a00 |00b9: move-result v0 │ │ +01ab5c: 3800 0500 |00ba: if-eqz v0, 00bf // +0005 │ │ +01ab60: 620b 0c01 |00bc: sget-object v11, Ldnsfilter/android/DNSProxyActivity;.backupRestoreCheck:Landroid/widget/CheckBox; // field@010c │ │ +01ab64: 280b |00be: goto 00c9 // +000b │ │ +01ab66: 6200 0601 |00bf: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.appWhiteListCheck:Landroid/widget/CheckBox; // field@0106 │ │ +01ab6a: 6e10 cc00 0000 |00c1: invoke-virtual {v0}, Landroid/widget/CheckBox;.isChecked:()Z // method@00cc │ │ +01ab70: 0a00 |00c4: move-result v0 │ │ +01ab72: 3800 0400 |00c5: if-eqz v0, 00c9 // +0004 │ │ +01ab76: 620b 0601 |00c7: sget-object v11, Ldnsfilter/android/DNSProxyActivity;.appWhiteListCheck:Landroid/widget/CheckBox; // field@0106 │ │ +01ab7a: 6200 0301 |00c9: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.advancedConfigCheck:Landroid/widget/CheckBox; // field@0103 │ │ +01ab7e: 320b 9600 |00cb: if-eq v11, v0, 0161 // +0096 │ │ +01ab82: 380b 9400 |00cd: if-eqz v11, 0161 // +0094 │ │ +01ab86: 6e10 cc00 0b00 |00cf: invoke-virtual {v11}, Landroid/widget/CheckBox;.isChecked:()Z // method@00cc │ │ +01ab8c: 0a00 |00d2: move-result v0 │ │ +01ab8e: 3800 5800 |00d3: if-eqz v0, 012b // +0058 │ │ +01ab92: 6200 1c01 |00d5: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.keepAwakeCheck:Landroid/widget/CheckBox; // field@011c │ │ +01ab96: 6e20 d200 7000 |00d7: invoke-virtual {v0, v7}, Landroid/widget/CheckBox;.setVisibility:(I)V // method@00d2 │ │ +01ab9c: 6200 2901 |00da: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.proxyModeCheck:Landroid/widget/CheckBox; // field@0129 │ │ +01aba0: 6e20 d200 7000 |00dc: invoke-virtual {v0, v7}, Landroid/widget/CheckBox;.setVisibility:(I)V // method@00d2 │ │ +01aba6: 6200 2801 |00df: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.proxyLocalOnlyCheck:Landroid/widget/CheckBox; // field@0128 │ │ +01abaa: 6e20 d200 7000 |00e1: invoke-virtual {v0, v7}, Landroid/widget/CheckBox;.setVisibility:(I)V // method@00d2 │ │ +01abb0: 6200 3001 |00e4: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.rootModeCheck:Landroid/widget/CheckBox; // field@0130 │ │ +01abb4: 6e20 d200 7000 |00e6: invoke-virtual {v0, v7}, Landroid/widget/CheckBox;.setVisibility:(I)V // method@00d2 │ │ +01abba: 6200 1501 |00e9: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.enableCloakProtectCheck:Landroid/widget/CheckBox; // field@0115 │ │ +01abbe: 6e20 d200 7000 |00eb: invoke-virtual {v0, v7}, Landroid/widget/CheckBox;.setVisibility:(I)V // method@00d2 │ │ +01abc4: 6200 1101 |00ee: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.editAdditionalHostsCheck:Landroid/widget/CheckBox; // field@0111 │ │ +01abc8: 320b 0a00 |00f0: if-eq v11, v0, 00fa // +000a │ │ +01abcc: 6e20 cd00 8000 |00f2: invoke-virtual {v0, v8}, Landroid/widget/CheckBox;.setChecked:(Z)V // method@00cd │ │ +01abd2: 6200 1101 |00f5: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.editAdditionalHostsCheck:Landroid/widget/CheckBox; // field@0111 │ │ +01abd6: 6e20 d200 7000 |00f7: invoke-virtual {v0, v7}, Landroid/widget/CheckBox;.setVisibility:(I)V // method@00d2 │ │ +01abdc: 6200 2201 |00fa: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.manuallyEditConfChk:Landroid/widget/CheckBox; // field@0122 │ │ +01abe0: 320b 0a00 |00fc: if-eq v11, v0, 0106 // +000a │ │ +01abe4: 6e20 cd00 8000 |00fe: invoke-virtual {v0, v8}, Landroid/widget/CheckBox;.setChecked:(Z)V // method@00cd │ │ +01abea: 6200 2201 |0101: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.manuallyEditConfChk:Landroid/widget/CheckBox; // field@0122 │ │ +01abee: 6e20 d200 7000 |0103: invoke-virtual {v0, v7}, Landroid/widget/CheckBox;.setVisibility:(I)V // method@00d2 │ │ +01abf4: 6200 1201 |0106: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.editFilterLoadCheck:Landroid/widget/CheckBox; // field@0112 │ │ +01abf8: 320b 0a00 |0108: if-eq v11, v0, 0112 // +000a │ │ +01abfc: 6e20 cd00 8000 |010a: invoke-virtual {v0, v8}, Landroid/widget/CheckBox;.setChecked:(Z)V // method@00cd │ │ +01ac02: 6200 1201 |010d: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.editFilterLoadCheck:Landroid/widget/CheckBox; // field@0112 │ │ +01ac06: 6e20 d200 7000 |010f: invoke-virtual {v0, v7}, Landroid/widget/CheckBox;.setVisibility:(I)V // method@00d2 │ │ +01ac0c: 6200 0601 |0112: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.appWhiteListCheck:Landroid/widget/CheckBox; // field@0106 │ │ +01ac10: 320b 0a00 |0114: if-eq v11, v0, 011e // +000a │ │ +01ac14: 6e20 cd00 8000 |0116: invoke-virtual {v0, v8}, Landroid/widget/CheckBox;.setChecked:(Z)V // method@00cd │ │ +01ac1a: 6200 0601 |0119: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.appWhiteListCheck:Landroid/widget/CheckBox; // field@0106 │ │ +01ac1e: 6e20 d200 7000 |011b: invoke-virtual {v0, v7}, Landroid/widget/CheckBox;.setVisibility:(I)V // method@00d2 │ │ +01ac24: 6200 0c01 |011e: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.backupRestoreCheck:Landroid/widget/CheckBox; // field@010c │ │ +01ac28: 320b 4100 |0120: if-eq v11, v0, 0161 // +0041 │ │ +01ac2c: 6e20 cd00 8000 |0122: invoke-virtual {v0, v8}, Landroid/widget/CheckBox;.setChecked:(Z)V // method@00cd │ │ +01ac32: 620b 0c01 |0125: sget-object v11, Ldnsfilter/android/DNSProxyActivity;.backupRestoreCheck:Landroid/widget/CheckBox; // field@010c │ │ +01ac36: 6e20 d200 7b00 |0127: invoke-virtual {v11, v7}, Landroid/widget/CheckBox;.setVisibility:(I)V // method@00d2 │ │ +01ac3c: 2837 |012a: goto 0161 // +0037 │ │ +01ac3e: 620b 1c01 |012b: sget-object v11, Ldnsfilter/android/DNSProxyActivity;.keepAwakeCheck:Landroid/widget/CheckBox; // field@011c │ │ +01ac42: 6e20 d200 8b00 |012d: invoke-virtual {v11, v8}, Landroid/widget/CheckBox;.setVisibility:(I)V // method@00d2 │ │ +01ac48: 620b 2901 |0130: sget-object v11, Ldnsfilter/android/DNSProxyActivity;.proxyModeCheck:Landroid/widget/CheckBox; // field@0129 │ │ +01ac4c: 6e20 d200 8b00 |0132: invoke-virtual {v11, v8}, Landroid/widget/CheckBox;.setVisibility:(I)V // method@00d2 │ │ +01ac52: 620b 2801 |0135: sget-object v11, Ldnsfilter/android/DNSProxyActivity;.proxyLocalOnlyCheck:Landroid/widget/CheckBox; // field@0128 │ │ +01ac56: 6e20 d200 8b00 |0137: invoke-virtual {v11, v8}, Landroid/widget/CheckBox;.setVisibility:(I)V // method@00d2 │ │ +01ac5c: 620b 3001 |013a: sget-object v11, Ldnsfilter/android/DNSProxyActivity;.rootModeCheck:Landroid/widget/CheckBox; // field@0130 │ │ +01ac60: 6e20 d200 8b00 |013c: invoke-virtual {v11, v8}, Landroid/widget/CheckBox;.setVisibility:(I)V // method@00d2 │ │ +01ac66: 620b 1501 |013f: sget-object v11, Ldnsfilter/android/DNSProxyActivity;.enableCloakProtectCheck:Landroid/widget/CheckBox; // field@0115 │ │ +01ac6a: 6e20 d200 8b00 |0141: invoke-virtual {v11, v8}, Landroid/widget/CheckBox;.setVisibility:(I)V // method@00d2 │ │ +01ac70: 620b 1101 |0144: sget-object v11, Ldnsfilter/android/DNSProxyActivity;.editAdditionalHostsCheck:Landroid/widget/CheckBox; // field@0111 │ │ +01ac74: 6e20 d200 8b00 |0146: invoke-virtual {v11, v8}, Landroid/widget/CheckBox;.setVisibility:(I)V // method@00d2 │ │ +01ac7a: 620b 2201 |0149: sget-object v11, Ldnsfilter/android/DNSProxyActivity;.manuallyEditConfChk:Landroid/widget/CheckBox; // field@0122 │ │ +01ac7e: 6e20 d200 8b00 |014b: invoke-virtual {v11, v8}, Landroid/widget/CheckBox;.setVisibility:(I)V // method@00d2 │ │ +01ac84: 620b 1201 |014e: sget-object v11, Ldnsfilter/android/DNSProxyActivity;.editFilterLoadCheck:Landroid/widget/CheckBox; // field@0112 │ │ +01ac88: 6e20 d200 8b00 |0150: invoke-virtual {v11, v8}, Landroid/widget/CheckBox;.setVisibility:(I)V // method@00d2 │ │ +01ac8e: 630b 0801 |0153: sget-boolean v11, Ldnsfilter/android/DNSProxyActivity;.appWhitelistingEnabled:Z // field@0108 │ │ +01ac92: 380b 0700 |0155: if-eqz v11, 015c // +0007 │ │ +01ac96: 620b 0601 |0157: sget-object v11, Ldnsfilter/android/DNSProxyActivity;.appWhiteListCheck:Landroid/widget/CheckBox; // field@0106 │ │ +01ac9a: 6e20 d200 8b00 |0159: invoke-virtual {v11, v8}, Landroid/widget/CheckBox;.setVisibility:(I)V // method@00d2 │ │ +01aca0: 620b 0c01 |015c: sget-object v11, Ldnsfilter/android/DNSProxyActivity;.backupRestoreCheck:Landroid/widget/CheckBox; // field@010c │ │ +01aca4: 6e20 d200 8b00 |015e: invoke-virtual {v11, v8}, Landroid/widget/CheckBox;.setVisibility:(I)V // method@00d2 │ │ +01acaa: 620b 0c01 |0161: sget-object v11, Ldnsfilter/android/DNSProxyActivity;.backupRestoreCheck:Landroid/widget/CheckBox; // field@010c │ │ +01acae: 6e10 cc00 0b00 |0163: invoke-virtual {v11}, Landroid/widget/CheckBox;.isChecked:()Z // method@00cc │ │ +01acb4: 0a0b |0166: move-result v11 │ │ +01acb6: 380b 0a00 |0167: if-eqz v11, 0171 // +000a │ │ +01acba: 6e20 f102 3a00 |0169: invoke-virtual {v10, v3}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02f1 │ │ +01acc0: 0c0b |016c: move-result-object v11 │ │ +01acc2: 6e20 b400 8b00 |016d: invoke-virtual {v11, v8}, Landroid/view/View;.setVisibility:(I)V // method@00b4 │ │ +01acc8: 2808 |0170: goto 0178 // +0008 │ │ +01acca: 6e20 f102 3a00 |0171: invoke-virtual {v10, v3}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02f1 │ │ +01acd0: 0c0b |0174: move-result-object v11 │ │ +01acd2: 6e20 b400 7b00 |0175: invoke-virtual {v11, v7}, Landroid/view/View;.setVisibility:(I)V // method@00b4 │ │ +01acd8: 620b 0601 |0178: sget-object v11, Ldnsfilter/android/DNSProxyActivity;.appWhiteListCheck:Landroid/widget/CheckBox; // field@0106 │ │ +01acdc: 6e10 cc00 0b00 |017a: invoke-virtual {v11}, Landroid/widget/CheckBox;.isChecked:()Z // method@00cc │ │ +01ace2: 0a0b |017d: move-result v11 │ │ +01ace4: 380b 0d00 |017e: if-eqz v11, 018b // +000d │ │ +01ace8: 620b 0701 |0180: sget-object v11, Ldnsfilter/android/DNSProxyActivity;.appWhiteListScroll:Landroid/widget/ScrollView; // field@0107 │ │ +01acec: 6e20 f500 8b00 |0182: invoke-virtual {v11, v8}, Landroid/widget/ScrollView;.setVisibility:(I)V // method@00f5 │ │ +01acf2: 620b 0401 |0185: sget-object v11, Ldnsfilter/android/DNSProxyActivity;.appSelector:Ldnsfilter/android/AppSelectorView; // field@0104 │ │ +01acf6: 6e10 5202 0b00 |0187: invoke-virtual {v11}, Ldnsfilter/android/AppSelectorView;.loadAppList:()V // method@0252 │ │ +01acfc: 280b |018a: goto 0195 // +000b │ │ +01acfe: 620b 0401 |018b: sget-object v11, Ldnsfilter/android/DNSProxyActivity;.appSelector:Ldnsfilter/android/AppSelectorView; // field@0104 │ │ +01ad02: 6e10 4e02 0b00 |018d: invoke-virtual {v11}, Ldnsfilter/android/AppSelectorView;.clear:()V // method@024e │ │ +01ad08: 620b 0701 |0190: sget-object v11, Ldnsfilter/android/DNSProxyActivity;.appWhiteListScroll:Landroid/widget/ScrollView; // field@0107 │ │ +01ad0c: 6e20 f500 7b00 |0192: invoke-virtual {v11, v7}, Landroid/widget/ScrollView;.setVisibility:(I)V // method@00f5 │ │ +01ad12: 620b 1201 |0195: sget-object v11, Ldnsfilter/android/DNSProxyActivity;.editFilterLoadCheck:Landroid/widget/CheckBox; // field@0112 │ │ +01ad16: 6e10 cc00 0b00 |0197: invoke-virtual {v11}, Landroid/widget/CheckBox;.isChecked:()Z // method@00cc │ │ +01ad1c: 0a0b |019a: move-result v11 │ │ +01ad1e: 380b 0f00 |019b: if-eqz v11, 01aa // +000f │ │ +01ad22: 620b 1601 |019d: sget-object v11, Ldnsfilter/android/DNSProxyActivity;.filterCfg:Ldnsfilter/android/FilterConfig; // field@0116 │ │ +01ad26: 6e10 4203 0b00 |019f: invoke-virtual {v11}, Ldnsfilter/android/FilterConfig;.load:()V // method@0342 │ │ +01ad2c: 6e20 f102 6a00 |01a2: invoke-virtual {v10, v6}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02f1 │ │ +01ad32: 0c0b |01a5: move-result-object v11 │ │ +01ad34: 6e20 b400 8b00 |01a6: invoke-virtual {v11, v8}, Landroid/view/View;.setVisibility:(I)V // method@00b4 │ │ +01ad3a: 280d |01a9: goto 01b6 // +000d │ │ +01ad3c: 6e20 f102 6a00 |01aa: invoke-virtual {v10, v6}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02f1 │ │ +01ad42: 0c0b |01ad: move-result-object v11 │ │ +01ad44: 6e20 b400 7b00 |01ae: invoke-virtual {v11, v7}, Landroid/view/View;.setVisibility:(I)V // method@00b4 │ │ +01ad4a: 620b 1601 |01b1: sget-object v11, Ldnsfilter/android/DNSProxyActivity;.filterCfg:Ldnsfilter/android/FilterConfig; // field@0116 │ │ +01ad4e: 6e10 3c03 0b00 |01b3: invoke-virtual {v11}, Ldnsfilter/android/FilterConfig;.clear:()V // method@033c │ │ +01ad54: 620b 1101 |01b6: sget-object v11, Ldnsfilter/android/DNSProxyActivity;.editAdditionalHostsCheck:Landroid/widget/CheckBox; // field@0111 │ │ +01ad58: 6e10 cc00 0b00 |01b8: invoke-virtual {v11}, Landroid/widget/CheckBox;.isChecked:()Z // method@00cc │ │ +01ad5e: 0a0b |01bb: move-result v11 │ │ +01ad60: 380b 0d00 |01bc: if-eqz v11, 01c9 // +000d │ │ +01ad64: 6e10 0503 0a00 |01be: invoke-virtual {v10}, Ldnsfilter/android/DNSProxyActivity;.loadAdditionalHosts:()V // method@0305 │ │ +01ad6a: 6e20 f102 5a00 |01c1: invoke-virtual {v10, v5}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02f1 │ │ +01ad70: 0c0b |01c4: move-result-object v11 │ │ +01ad72: 6e20 b400 8b00 |01c5: invoke-virtual {v11, v8}, Landroid/view/View;.setVisibility:(I)V // method@00b4 │ │ +01ad78: 280f |01c8: goto 01d7 // +000f │ │ +01ad7a: 620b 0201 |01c9: sget-object v11, Ldnsfilter/android/DNSProxyActivity;.additionalHostsField:Landroid/widget/EditText; // field@0102 │ │ +01ad7e: 6e20 e600 1b00 |01cb: invoke-virtual {v11, v1}, Landroid/widget/EditText;.setText:(Ljava/lang/CharSequence;)V // method@00e6 │ │ +01ad84: 6a08 0101 |01ce: sput-boolean v8, Ldnsfilter/android/DNSProxyActivity;.additionalHostsChanged:Z // field@0101 │ │ +01ad88: 6e20 f102 5a00 |01d0: invoke-virtual {v10, v5}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02f1 │ │ +01ad8e: 0c0b |01d3: move-result-object v11 │ │ +01ad90: 6e20 b400 7b00 |01d4: invoke-virtual {v11, v7}, Landroid/view/View;.setVisibility:(I)V // method@00b4 │ │ +01ad96: 620b 2201 |01d7: sget-object v11, Ldnsfilter/android/DNSProxyActivity;.manuallyEditConfChk:Landroid/widget/CheckBox; // field@0122 │ │ +01ad9a: 6e10 cc00 0b00 |01d9: invoke-virtual {v11}, Landroid/widget/CheckBox;.isChecked:()Z // method@00cc │ │ +01ada0: 0a0b |01dc: move-result v11 │ │ +01ada2: 380b 0d00 |01dd: if-eqz v11, 01ea // +000d │ │ +01ada6: 6e10 0703 0a00 |01df: invoke-virtual {v10}, Ldnsfilter/android/DNSProxyActivity;.loadManuallyEditConf:()V // method@0307 │ │ +01adac: 6e20 f102 4a00 |01e2: invoke-virtual {v10, v4}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02f1 │ │ +01adb2: 0c0b |01e5: move-result-object v11 │ │ +01adb4: 6e20 b400 8b00 |01e6: invoke-virtual {v11, v8}, Landroid/view/View;.setVisibility:(I)V // method@00b4 │ │ +01adba: 2867 |01e9: goto 0250 // +0067 │ │ +01adbc: 620b 2301 |01ea: sget-object v11, Ldnsfilter/android/DNSProxyActivity;.manuallyEditField:Landroid/widget/EditText; // field@0123 │ │ +01adc0: 6e20 e600 1b00 |01ec: invoke-virtual {v11, v1}, Landroid/widget/EditText;.setText:(Ljava/lang/CharSequence;)V // method@00e6 │ │ +01adc6: 6a08 2101 |01ef: sput-boolean v8, Ldnsfilter/android/DNSProxyActivity;.manuallyConfEdited:Z // field@0121 │ │ +01adca: 6e20 f102 4a00 |01f1: invoke-virtual {v10, v4}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02f1 │ │ +01add0: 0c0b |01f4: move-result-object v11 │ │ +01add2: 6e20 b400 7b00 |01f5: invoke-virtual {v11, v7}, Landroid/view/View;.setVisibility:(I)V // method@00b4 │ │ +01add8: 2858 |01f8: goto 0250 // +0058 │ │ +01adda: 7020 3103 8a00 |01f9: invoke-direct {v10, v8}, Ldnsfilter/android/DNSProxyActivity;.setVisibilityForAdvCfg:(I)V // method@0331 │ │ +01ade0: 6e20 f102 6a00 |01fc: invoke-virtual {v10, v6}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02f1 │ │ +01ade6: 0c0b |01ff: move-result-object v11 │ │ +01ade8: 6e20 b400 7b00 |0200: invoke-virtual {v11, v7}, Landroid/view/View;.setVisibility:(I)V // method@00b4 │ │ +01adee: 620b 1601 |0203: sget-object v11, Ldnsfilter/android/DNSProxyActivity;.filterCfg:Ldnsfilter/android/FilterConfig; // field@0116 │ │ +01adf2: 6e10 3c03 0b00 |0205: invoke-virtual {v11}, Ldnsfilter/android/FilterConfig;.clear:()V // method@033c │ │ +01adf8: 6e20 f102 5a00 |0208: invoke-virtual {v10, v5}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02f1 │ │ +01adfe: 0c0b |020b: move-result-object v11 │ │ +01ae00: 6e20 b400 7b00 |020c: invoke-virtual {v11, v7}, Landroid/view/View;.setVisibility:(I)V // method@00b4 │ │ +01ae06: 6e20 f102 4a00 |020f: invoke-virtual {v10, v4}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02f1 │ │ +01ae0c: 0c0b |0212: move-result-object v11 │ │ +01ae0e: 6e20 b400 7b00 |0213: invoke-virtual {v11, v7}, Landroid/view/View;.setVisibility:(I)V // method@00b4 │ │ +01ae14: 6e20 f102 2a00 |0216: invoke-virtual {v10, v2}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02f1 │ │ +01ae1a: 0c0b |0219: move-result-object v11 │ │ +01ae1c: 6e20 b400 7b00 |021a: invoke-virtual {v11, v7}, Landroid/view/View;.setVisibility:(I)V // method@00b4 │ │ +01ae22: 620b 0601 |021d: sget-object v11, Ldnsfilter/android/DNSProxyActivity;.appWhiteListCheck:Landroid/widget/CheckBox; // field@0106 │ │ +01ae26: 6e20 cd00 8b00 |021f: invoke-virtual {v11, v8}, Landroid/widget/CheckBox;.setChecked:(Z)V // method@00cd │ │ +01ae2c: 620b 0401 |0222: sget-object v11, Ldnsfilter/android/DNSProxyActivity;.appSelector:Ldnsfilter/android/AppSelectorView; // field@0104 │ │ +01ae30: 6e10 4e02 0b00 |0224: invoke-virtual {v11}, Ldnsfilter/android/AppSelectorView;.clear:()V // method@024e │ │ +01ae36: 6e20 f102 3a00 |0227: invoke-virtual {v10, v3}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02f1 │ │ +01ae3c: 0c0b |022a: move-result-object v11 │ │ +01ae3e: 6e20 b400 7b00 |022b: invoke-virtual {v11, v7}, Landroid/view/View;.setVisibility:(I)V // method@00b4 │ │ +01ae44: 620b 1201 |022e: sget-object v11, Ldnsfilter/android/DNSProxyActivity;.editFilterLoadCheck:Landroid/widget/CheckBox; // field@0112 │ │ +01ae48: 6e20 cd00 8b00 |0230: invoke-virtual {v11, v8}, Landroid/widget/CheckBox;.setChecked:(Z)V // method@00cd │ │ +01ae4e: 620b 0c01 |0233: sget-object v11, Ldnsfilter/android/DNSProxyActivity;.backupRestoreCheck:Landroid/widget/CheckBox; // field@010c │ │ +01ae52: 6e20 cd00 8b00 |0235: invoke-virtual {v11, v8}, Landroid/widget/CheckBox;.setChecked:(Z)V // method@00cd │ │ +01ae58: 620b 1101 |0238: sget-object v11, Ldnsfilter/android/DNSProxyActivity;.editAdditionalHostsCheck:Landroid/widget/CheckBox; // field@0111 │ │ +01ae5c: 6e20 cd00 8b00 |023a: invoke-virtual {v11, v8}, Landroid/widget/CheckBox;.setChecked:(Z)V // method@00cd │ │ +01ae62: 620b 2201 |023d: sget-object v11, Ldnsfilter/android/DNSProxyActivity;.manuallyEditConfChk:Landroid/widget/CheckBox; // field@0122 │ │ +01ae66: 6e20 cd00 8b00 |023f: invoke-virtual {v11, v8}, Landroid/widget/CheckBox;.setChecked:(Z)V // method@00cd │ │ +01ae6c: 620b 0201 |0242: sget-object v11, Ldnsfilter/android/DNSProxyActivity;.additionalHostsField:Landroid/widget/EditText; // field@0102 │ │ +01ae70: 6e20 e600 1b00 |0244: invoke-virtual {v11, v1}, Landroid/widget/EditText;.setText:(Ljava/lang/CharSequence;)V // method@00e6 │ │ +01ae76: 620b 2301 |0247: sget-object v11, Ldnsfilter/android/DNSProxyActivity;.manuallyEditField:Landroid/widget/EditText; // field@0123 │ │ +01ae7a: 6e20 e600 1b00 |0249: invoke-virtual {v11, v1}, Landroid/widget/EditText;.setText:(Ljava/lang/CharSequence;)V // method@00e6 │ │ +01ae80: 6a08 0101 |024c: sput-boolean v8, Ldnsfilter/android/DNSProxyActivity;.additionalHostsChanged:Z // field@0101 │ │ +01ae84: 6a08 2101 |024e: sput-boolean v8, Ldnsfilter/android/DNSProxyActivity;.manuallyConfEdited:Z // field@0121 │ │ +01ae88: 0e00 |0250: return-void │ │ catches : (none) │ │ positions : │ │ 0x0003 line=1376 │ │ 0x000f line=1378 │ │ 0x001a line=1379 │ │ 0x0034 line=1380 │ │ 0x0037 line=1382 │ │ @@ -44489,89 +44489,89 @@ │ │ type : '()V' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 6 │ │ ins : 1 │ │ outs : 3 │ │ insns size : 159 16-bit code units │ │ -01aefc: |[01aefc] dnsfilter.android.DNSProxyActivity.handleInitialInfoPopUp:()V │ │ -01af0c: 1a00 0000 |0000: const-string v0, "" // string@0000 │ │ -01af10: 6201 ed00 |0002: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.CONFIG:Ldnsfilter/ConfigurationAccess; // field@00ed │ │ -01af14: 6e10 4e01 0100 |0004: invoke-virtual {v1}, Ldnsfilter/ConfigurationAccess;.getConfigUtil:()Ldnsfilter/ConfigUtil; // method@014e │ │ -01af1a: 0c01 |0007: move-result-object v1 │ │ -01af1c: 1a02 ce0a |0008: const-string v2, "showInitialInfoPopUp" // string@0ace │ │ -01af20: 1a03 420b |000a: const-string v3, "true" // string@0b42 │ │ -01af24: 6e30 3a01 2103 |000c: invoke-virtual {v1, v2, v3}, Ldnsfilter/ConfigUtil;.getConfigValue:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@013a │ │ -01af2a: 0c02 |000f: move-result-object v2 │ │ -01af2c: 7110 4d05 0200 |0010: invoke-static {v2}, Ljava/lang/Boolean;.parseBoolean:(Ljava/lang/String;)Z // method@054d │ │ -01af32: 0a02 |0013: move-result v2 │ │ -01af34: 6a02 3501 |0014: sput-boolean v2, Ldnsfilter/android/DNSProxyActivity;.showInitialInfoPopUp:Z // field@0135 │ │ -01af38: 3802 8800 |0016: if-eqz v2, 009e // +0088 │ │ -01af3c: 2202 0b00 |0018: new-instance v2, Landroid/app/Dialog; // type@000b │ │ -01af40: 1503 097f |001a: const/high16 v3, #int 2131296256 // #7f09 │ │ -01af44: 7030 1400 5203 |001c: invoke-direct {v2, v5, v3}, Landroid/app/Dialog;.:(Landroid/content/Context;I)V // method@0014 │ │ -01af4a: 6902 2601 |001f: sput-object v2, Ldnsfilter/android/DNSProxyActivity;.popUpDialog:Landroid/app/Dialog; // field@0126 │ │ -01af4e: 1403 0c00 067f |0021: const v3, #float 1.78117e+38 // #7f06000c │ │ -01af54: 6e20 1b00 3200 |0024: invoke-virtual {v2, v3}, Landroid/app/Dialog;.setContentView:(I)V // method@001b │ │ -01af5a: 6202 2601 |0027: sget-object v2, Ldnsfilter/android/DNSProxyActivity;.popUpDialog:Landroid/app/Dialog; // field@0126 │ │ -01af5e: 1a03 4108 |0029: const-string v3, "initialInfoPopUpTitle" // string@0841 │ │ -01af62: 6e30 3a01 3100 |002b: invoke-virtual {v1, v3, v0}, Ldnsfilter/ConfigUtil;.getConfigValue:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@013a │ │ -01af68: 0c03 |002e: move-result-object v3 │ │ -01af6a: 6e20 2100 3200 |002f: invoke-virtual {v2, v3}, Landroid/app/Dialog;.setTitle:(Ljava/lang/CharSequence;)V // method@0021 │ │ -01af70: 6202 2601 |0032: sget-object v2, Ldnsfilter/android/DNSProxyActivity;.popUpDialog:Landroid/app/Dialog; // field@0126 │ │ -01af74: 1403 3400 057f |0034: const v3, #float 1.76788e+38 // #7f050034 │ │ -01af7a: 6e20 1700 3200 |0037: invoke-virtual {v2, v3}, Landroid/app/Dialog;.findViewById:(I)Landroid/view/View; // method@0017 │ │ -01af80: 0c02 |003a: move-result-object v2 │ │ -01af82: 1f02 7300 |003b: check-cast v2, Landroid/widget/TextView; // type@0073 │ │ -01af86: 1a04 4008 |003d: const-string v4, "initialInfoPopUpText" // string@0840 │ │ -01af8a: 6e30 3a01 4100 |003f: invoke-virtual {v1, v4, v0}, Ldnsfilter/ConfigUtil;.getConfigValue:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@013a │ │ -01af90: 0c00 |0042: move-result-object v0 │ │ -01af92: 7110 f302 0000 |0043: invoke-static {v0}, Ldnsfilter/android/DNSProxyActivity;.fromHtml:(Ljava/lang/String;)Landroid/text/Spanned; // method@02f3 │ │ -01af98: 0c00 |0046: move-result-object v0 │ │ -01af9a: 6e20 0901 0200 |0047: invoke-virtual {v2, v0}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@0109 │ │ -01afa0: 6200 2601 |004a: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.popUpDialog:Landroid/app/Dialog; // field@0126 │ │ -01afa4: 6e20 1700 3000 |004c: invoke-virtual {v0, v3}, Landroid/app/Dialog;.findViewById:(I)Landroid/view/View; // method@0017 │ │ -01afaa: 0c00 |004f: move-result-object v0 │ │ -01afac: 1f00 7300 |0050: check-cast v0, Landroid/widget/TextView; // type@0073 │ │ -01afb0: 7100 9f00 0000 |0052: invoke-static {}, Landroid/text/method/LinkMovementMethod;.getInstance:()Landroid/text/method/MovementMethod; // method@009f │ │ -01afb6: 0c01 |0055: move-result-object v1 │ │ -01afb8: 6e20 0701 1000 |0056: invoke-virtual {v0, v1}, Landroid/widget/TextView;.setMovementMethod:(Landroid/text/method/MovementMethod;)V // method@0107 │ │ -01afbe: 6200 2601 |0059: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.popUpDialog:Landroid/app/Dialog; // field@0126 │ │ -01afc2: 1401 1600 057f |005b: const v1, #float 1.76788e+38 // #7f050016 │ │ -01afc8: 6e20 1700 1000 |005e: invoke-virtual {v0, v1}, Landroid/app/Dialog;.findViewById:(I)Landroid/view/View; // method@0017 │ │ -01afce: 0c00 |0061: move-result-object v0 │ │ -01afd0: 1f00 6300 |0062: check-cast v0, Landroid/widget/Button; // type@0063 │ │ -01afd4: 6900 1b01 |0064: sput-object v0, Ldnsfilter/android/DNSProxyActivity;.initialInfoPopUpExitBtn:Landroid/widget/Button; // field@011b │ │ -01afd8: 6e20 c500 5000 |0066: invoke-virtual {v0, v5}, Landroid/widget/Button;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@00c5 │ │ -01afde: 6200 2601 |0069: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.popUpDialog:Landroid/app/Dialog; // field@0126 │ │ -01afe2: 6e10 2200 0000 |006b: invoke-virtual {v0}, Landroid/app/Dialog;.show:()V // method@0022 │ │ -01afe8: 6200 2601 |006e: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.popUpDialog:Landroid/app/Dialog; // field@0126 │ │ -01afec: 6e10 1800 0000 |0070: invoke-virtual {v0}, Landroid/app/Dialog;.getWindow:()Landroid/view/Window; // method@0018 │ │ -01aff2: 0c00 |0073: move-result-object v0 │ │ -01aff4: 6001 ef00 |0074: sget v1, Ldnsfilter/android/DNSProxyActivity;.DISPLAY_WIDTH:I // field@00ef │ │ -01aff8: 6002 ee00 |0076: sget v2, Ldnsfilter/android/DNSProxyActivity;.DISPLAY_HEIGTH:I // field@00ee │ │ -01affc: 7120 7305 2100 |0078: invoke-static {v1, v2}, Ljava/lang/Math;.min:(II)I // method@0573 │ │ -01b002: 0a01 |007b: move-result v1 │ │ -01b004: 8311 |007c: int-to-double v1, v1 │ │ -01b006: 1803 cdcc cccc cccc ec3f |007d: const-wide v3, #double 0.9 // #3feccccccccccccd │ │ -01b010: 7120 5805 2100 |0082: invoke-static {v1, v2}, Ljava/lang/Double;.isNaN:(D)Z // method@0558 │ │ -01b016: ad01 0103 |0085: mul-double v1, v1, v3 │ │ -01b01a: 8a11 |0087: double-to-int v1, v1 │ │ -01b01c: 12e2 |0088: const/4 v2, #int -2 // #fe │ │ -01b01e: 6e30 ba00 1002 |0089: invoke-virtual {v0, v1, v2}, Landroid/view/Window;.setLayout:(II)V // method@00ba │ │ -01b024: 1401 0d00 0601 |008c: const v1, #float 2.46119e-38 // #0106000d │ │ -01b02a: 6e20 b900 1000 |008f: invoke-virtual {v0, v1}, Landroid/view/Window;.setBackgroundDrawableResource:(I)V // method@00b9 │ │ -01b030: 280c |0092: goto 009e // +000c │ │ -01b032: 0d00 |0093: move-exception v0 │ │ -01b034: 7100 2707 0000 |0094: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0727 │ │ -01b03a: 0c01 |0097: move-result-object v1 │ │ -01b03c: 7220 3207 0100 |0098: invoke-interface {v1, v0}, Lutil/LoggerInterface;.logException:(Ljava/lang/Exception;)V // method@0732 │ │ -01b042: 1200 |009b: const/4 v0, #int 0 // #0 │ │ -01b044: 6a00 3501 |009c: sput-boolean v0, Ldnsfilter/android/DNSProxyActivity;.showInitialInfoPopUp:Z // field@0135 │ │ -01b048: 0e00 |009e: return-void │ │ +01aef8: |[01aef8] dnsfilter.android.DNSProxyActivity.handleInitialInfoPopUp:()V │ │ +01af08: 1a00 0000 |0000: const-string v0, "" // string@0000 │ │ +01af0c: 6201 ed00 |0002: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.CONFIG:Ldnsfilter/ConfigurationAccess; // field@00ed │ │ +01af10: 6e10 4e01 0100 |0004: invoke-virtual {v1}, Ldnsfilter/ConfigurationAccess;.getConfigUtil:()Ldnsfilter/ConfigUtil; // method@014e │ │ +01af16: 0c01 |0007: move-result-object v1 │ │ +01af18: 1a02 ce0a |0008: const-string v2, "showInitialInfoPopUp" // string@0ace │ │ +01af1c: 1a03 420b |000a: const-string v3, "true" // string@0b42 │ │ +01af20: 6e30 3a01 2103 |000c: invoke-virtual {v1, v2, v3}, Ldnsfilter/ConfigUtil;.getConfigValue:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@013a │ │ +01af26: 0c02 |000f: move-result-object v2 │ │ +01af28: 7110 4d05 0200 |0010: invoke-static {v2}, Ljava/lang/Boolean;.parseBoolean:(Ljava/lang/String;)Z // method@054d │ │ +01af2e: 0a02 |0013: move-result v2 │ │ +01af30: 6a02 3501 |0014: sput-boolean v2, Ldnsfilter/android/DNSProxyActivity;.showInitialInfoPopUp:Z // field@0135 │ │ +01af34: 3802 8800 |0016: if-eqz v2, 009e // +0088 │ │ +01af38: 2202 0b00 |0018: new-instance v2, Landroid/app/Dialog; // type@000b │ │ +01af3c: 1503 097f |001a: const/high16 v3, #int 2131296256 // #7f09 │ │ +01af40: 7030 1400 5203 |001c: invoke-direct {v2, v5, v3}, Landroid/app/Dialog;.:(Landroid/content/Context;I)V // method@0014 │ │ +01af46: 6902 2601 |001f: sput-object v2, Ldnsfilter/android/DNSProxyActivity;.popUpDialog:Landroid/app/Dialog; // field@0126 │ │ +01af4a: 1403 0c00 067f |0021: const v3, #float 1.78117e+38 // #7f06000c │ │ +01af50: 6e20 1b00 3200 |0024: invoke-virtual {v2, v3}, Landroid/app/Dialog;.setContentView:(I)V // method@001b │ │ +01af56: 6202 2601 |0027: sget-object v2, Ldnsfilter/android/DNSProxyActivity;.popUpDialog:Landroid/app/Dialog; // field@0126 │ │ +01af5a: 1a03 4108 |0029: const-string v3, "initialInfoPopUpTitle" // string@0841 │ │ +01af5e: 6e30 3a01 3100 |002b: invoke-virtual {v1, v3, v0}, Ldnsfilter/ConfigUtil;.getConfigValue:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@013a │ │ +01af64: 0c03 |002e: move-result-object v3 │ │ +01af66: 6e20 2100 3200 |002f: invoke-virtual {v2, v3}, Landroid/app/Dialog;.setTitle:(Ljava/lang/CharSequence;)V // method@0021 │ │ +01af6c: 6202 2601 |0032: sget-object v2, Ldnsfilter/android/DNSProxyActivity;.popUpDialog:Landroid/app/Dialog; // field@0126 │ │ +01af70: 1403 3400 057f |0034: const v3, #float 1.76788e+38 // #7f050034 │ │ +01af76: 6e20 1700 3200 |0037: invoke-virtual {v2, v3}, Landroid/app/Dialog;.findViewById:(I)Landroid/view/View; // method@0017 │ │ +01af7c: 0c02 |003a: move-result-object v2 │ │ +01af7e: 1f02 7300 |003b: check-cast v2, Landroid/widget/TextView; // type@0073 │ │ +01af82: 1a04 4008 |003d: const-string v4, "initialInfoPopUpText" // string@0840 │ │ +01af86: 6e30 3a01 4100 |003f: invoke-virtual {v1, v4, v0}, Ldnsfilter/ConfigUtil;.getConfigValue:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@013a │ │ +01af8c: 0c00 |0042: move-result-object v0 │ │ +01af8e: 7110 f302 0000 |0043: invoke-static {v0}, Ldnsfilter/android/DNSProxyActivity;.fromHtml:(Ljava/lang/String;)Landroid/text/Spanned; // method@02f3 │ │ +01af94: 0c00 |0046: move-result-object v0 │ │ +01af96: 6e20 0901 0200 |0047: invoke-virtual {v2, v0}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@0109 │ │ +01af9c: 6200 2601 |004a: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.popUpDialog:Landroid/app/Dialog; // field@0126 │ │ +01afa0: 6e20 1700 3000 |004c: invoke-virtual {v0, v3}, Landroid/app/Dialog;.findViewById:(I)Landroid/view/View; // method@0017 │ │ +01afa6: 0c00 |004f: move-result-object v0 │ │ +01afa8: 1f00 7300 |0050: check-cast v0, Landroid/widget/TextView; // type@0073 │ │ +01afac: 7100 9f00 0000 |0052: invoke-static {}, Landroid/text/method/LinkMovementMethod;.getInstance:()Landroid/text/method/MovementMethod; // method@009f │ │ +01afb2: 0c01 |0055: move-result-object v1 │ │ +01afb4: 6e20 0701 1000 |0056: invoke-virtual {v0, v1}, Landroid/widget/TextView;.setMovementMethod:(Landroid/text/method/MovementMethod;)V // method@0107 │ │ +01afba: 6200 2601 |0059: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.popUpDialog:Landroid/app/Dialog; // field@0126 │ │ +01afbe: 1401 1600 057f |005b: const v1, #float 1.76788e+38 // #7f050016 │ │ +01afc4: 6e20 1700 1000 |005e: invoke-virtual {v0, v1}, Landroid/app/Dialog;.findViewById:(I)Landroid/view/View; // method@0017 │ │ +01afca: 0c00 |0061: move-result-object v0 │ │ +01afcc: 1f00 6300 |0062: check-cast v0, Landroid/widget/Button; // type@0063 │ │ +01afd0: 6900 1b01 |0064: sput-object v0, Ldnsfilter/android/DNSProxyActivity;.initialInfoPopUpExitBtn:Landroid/widget/Button; // field@011b │ │ +01afd4: 6e20 c500 5000 |0066: invoke-virtual {v0, v5}, Landroid/widget/Button;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@00c5 │ │ +01afda: 6200 2601 |0069: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.popUpDialog:Landroid/app/Dialog; // field@0126 │ │ +01afde: 6e10 2200 0000 |006b: invoke-virtual {v0}, Landroid/app/Dialog;.show:()V // method@0022 │ │ +01afe4: 6200 2601 |006e: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.popUpDialog:Landroid/app/Dialog; // field@0126 │ │ +01afe8: 6e10 1800 0000 |0070: invoke-virtual {v0}, Landroid/app/Dialog;.getWindow:()Landroid/view/Window; // method@0018 │ │ +01afee: 0c00 |0073: move-result-object v0 │ │ +01aff0: 6001 ef00 |0074: sget v1, Ldnsfilter/android/DNSProxyActivity;.DISPLAY_WIDTH:I // field@00ef │ │ +01aff4: 6002 ee00 |0076: sget v2, Ldnsfilter/android/DNSProxyActivity;.DISPLAY_HEIGTH:I // field@00ee │ │ +01aff8: 7120 7305 2100 |0078: invoke-static {v1, v2}, Ljava/lang/Math;.min:(II)I // method@0573 │ │ +01affe: 0a01 |007b: move-result v1 │ │ +01b000: 8311 |007c: int-to-double v1, v1 │ │ +01b002: 1803 cdcc cccc cccc ec3f |007d: const-wide v3, #double 0.9 // #3feccccccccccccd │ │ +01b00c: 7120 5805 2100 |0082: invoke-static {v1, v2}, Ljava/lang/Double;.isNaN:(D)Z // method@0558 │ │ +01b012: ad01 0103 |0085: mul-double v1, v1, v3 │ │ +01b016: 8a11 |0087: double-to-int v1, v1 │ │ +01b018: 12e2 |0088: const/4 v2, #int -2 // #fe │ │ +01b01a: 6e30 ba00 1002 |0089: invoke-virtual {v0, v1, v2}, Landroid/view/Window;.setLayout:(II)V // method@00ba │ │ +01b020: 1401 0d00 0601 |008c: const v1, #float 2.46119e-38 // #0106000d │ │ +01b026: 6e20 b900 1000 |008f: invoke-virtual {v0, v1}, Landroid/view/Window;.setBackgroundDrawableResource:(I)V // method@00b9 │ │ +01b02c: 280c |0092: goto 009e // +000c │ │ +01b02e: 0d00 |0093: move-exception v0 │ │ +01b030: 7100 2707 0000 |0094: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0727 │ │ +01b036: 0c01 |0097: move-result-object v1 │ │ +01b038: 7220 3207 0100 |0098: invoke-interface {v1, v0}, Lutil/LoggerInterface;.logException:(Ljava/lang/Exception;)V // method@0732 │ │ +01b03e: 1200 |009b: const/4 v0, #int 0 // #0 │ │ +01b040: 6a00 3501 |009c: sput-boolean v0, Ldnsfilter/android/DNSProxyActivity;.showInitialInfoPopUp:Z // field@0135 │ │ +01b044: 0e00 |009e: return-void │ │ catches : 2 │ │ 0x0002 - 0x007c │ │ Ljava/lang/Exception; -> 0x0093 │ │ 0x0089 - 0x0092 │ │ Ljava/lang/Exception; -> 0x0093 │ │ positions : │ │ 0x0000 line=928 │ │ @@ -44597,116 +44597,116 @@ │ │ type : '()V' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 7 │ │ ins : 1 │ │ outs : 5 │ │ insns size : 210 16-bit code units │ │ -01b064: |[01b064] dnsfilter.android.DNSProxyActivity.handleRemoteControl:()V │ │ -01b074: 1a00 0000 |0000: const-string v0, "" // string@0000 │ │ -01b078: 6301 3801 |0002: sget-boolean v1, Ldnsfilter/android/DNSProxyActivity;.switchingConfig:Z // field@0138 │ │ -01b07c: 3801 0300 |0004: if-eqz v1, 0007 // +0003 │ │ -01b080: 0e00 |0006: return-void │ │ -01b082: 1211 |0007: const/4 v1, #int 1 // #1 │ │ -01b084: 6a01 3801 |0008: sput-boolean v1, Ldnsfilter/android/DNSProxyActivity;.switchingConfig:Z // field@0138 │ │ -01b088: 1201 |000a: const/4 v1, #int 0 // #0 │ │ -01b08a: 7020 fd02 1600 |000b: invoke-direct {v6, v1}, Ldnsfilter/android/DNSProxyActivity;.handleAdvancedConfig:(Landroid/widget/CheckBox;)V // method@02fd │ │ -01b090: 6201 ed00 |000e: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.CONFIG:Ldnsfilter/ConfigurationAccess; // field@00ed │ │ -01b094: 6e10 5701 0100 |0010: invoke-virtual {v1}, Ldnsfilter/ConfigurationAccess;.isLocal:()Z // method@0157 │ │ -01b09a: 0a01 |0013: move-result v1 │ │ -01b09c: 1202 |0014: const/4 v2, #int 0 // #0 │ │ -01b09e: 3801 7500 |0015: if-eqz v1, 008a // +0075 │ │ -01b0a2: 7100 5301 0000 |0017: invoke-static {}, Ldnsfilter/ConfigurationAccess;.getLocal:()Ldnsfilter/ConfigurationAccess; // method@0153 │ │ -01b0a8: 0c01 |001a: move-result-object v1 │ │ -01b0aa: 6e10 4d01 0100 |001b: invoke-virtual {v1}, Ldnsfilter/ConfigurationAccess;.getConfig:()Ljava/util/Properties; // method@014d │ │ -01b0b0: 0c01 |001e: move-result-object v1 │ │ -01b0b2: 1a03 dd05 |001f: const-string v3, "client_remote_ctrl_host" // string@05dd │ │ -01b0b6: 6e30 5706 3100 |0021: invoke-virtual {v1, v3, v0}, Ljava/util/Properties;.getProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@0657 │ │ -01b0bc: 0c01 |0024: move-result-object v1 │ │ -01b0be: 7100 5301 0000 |0025: invoke-static {}, Ldnsfilter/ConfigurationAccess;.getLocal:()Ldnsfilter/ConfigurationAccess; // method@0153 │ │ -01b0c4: 0c03 |0028: move-result-object v3 │ │ -01b0c6: 6e10 4d01 0300 |0029: invoke-virtual {v3}, Ldnsfilter/ConfigurationAccess;.getConfig:()Ljava/util/Properties; // method@014d │ │ -01b0cc: 0c03 |002c: move-result-object v3 │ │ -01b0ce: 1a04 de05 |002d: const-string v4, "client_remote_ctrl_keyphrase" // string@05de │ │ -01b0d2: 6e30 5706 4300 |002f: invoke-virtual {v3, v4, v0}, Ljava/util/Properties;.getProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@0657 │ │ -01b0d8: 0c03 |0032: move-result-object v3 │ │ -01b0da: 6e20 8d05 0100 |0033: invoke-virtual {v1, v0}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058d │ │ -01b0e0: 0a04 |0036: move-result v4 │ │ -01b0e2: 3904 3a00 |0037: if-nez v4, 0071 // +003a │ │ -01b0e6: 1a04 6b00 |0039: const-string v4, "0.0.0.0" // string@006b │ │ -01b0ea: 6e20 8d05 4100 |003b: invoke-virtual {v1, v4}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058d │ │ -01b0f0: 0a04 |003e: move-result v4 │ │ -01b0f2: 3904 3200 |003f: if-nez v4, 0071 // +0032 │ │ -01b0f6: 6e20 8d05 0300 |0041: invoke-virtual {v3, v0}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058d │ │ -01b0fc: 0a00 |0044: move-result v0 │ │ -01b0fe: 3900 2c00 |0045: if-nez v0, 0071 // +002c │ │ -01b102: 7100 5301 0000 |0047: invoke-static {}, Ldnsfilter/ConfigurationAccess;.getLocal:()Ldnsfilter/ConfigurationAccess; // method@0153 │ │ -01b108: 0c00 |004a: move-result-object v0 │ │ -01b10a: 6e10 4d01 0000 |004b: invoke-virtual {v0}, Ldnsfilter/ConfigurationAccess;.getConfig:()Ljava/util/Properties; // method@014d │ │ -01b110: 0c00 |004e: move-result-object v0 │ │ -01b112: 1a04 df05 |004f: const-string v4, "client_remote_ctrl_port" // string@05df │ │ -01b116: 1a05 7900 |0051: const-string v5, "3333" // string@0079 │ │ -01b11a: 6e30 5706 4005 |0053: invoke-virtual {v0, v4, v5}, Ljava/util/Properties;.getProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@0657 │ │ -01b120: 0c00 |0056: move-result-object v0 │ │ -01b122: 7110 6705 0000 |0057: invoke-static {v0}, Ljava/lang/Integer;.parseInt:(Ljava/lang/String;)I // method@0567 │ │ -01b128: 0a00 |005a: move-result v0 │ │ -01b12a: 2204 aa00 |005b: new-instance v4, Ldnsfilter/android/DNSProxyActivity$5; // type@00aa │ │ -01b12e: 7053 c702 6401 |005d: invoke-direct {v4, v6, v1, v0, v3}, Ldnsfilter/android/DNSProxyActivity$5;.:(Ldnsfilter/android/DNSProxyActivity;Ljava/lang/String;ILjava/lang/String;)V // method@02c7 │ │ -01b134: 2200 2f01 |0060: new-instance v0, Ljava/lang/Thread; // type@012f │ │ -01b138: 7020 b605 4000 |0062: invoke-direct {v0, v4}, Ljava/lang/Thread;.:(Ljava/lang/Runnable;)V // method@05b6 │ │ -01b13e: 6e10 bc05 0000 |0065: invoke-virtual {v0}, Ljava/lang/Thread;.start:()V // method@05bc │ │ -01b144: 2869 |0068: goto 00d1 // +0069 │ │ -01b146: 2200 0001 |0069: new-instance v0, Ljava/io/IOException; // type@0100 │ │ -01b14a: 1a01 ee01 |006b: const-string v1, "Invalid connect_remote_ctrl_port" // string@01ee │ │ -01b14e: 7020 2105 1000 |006d: invoke-direct {v0, v1}, Ljava/io/IOException;.:(Ljava/lang/String;)V // method@0521 │ │ -01b154: 2700 |0070: throw v0 │ │ -01b156: 2200 0001 |0071: new-instance v0, Ljava/io/IOException; // type@0100 │ │ -01b15a: 1a01 3b04 |0073: const-string v1, "Remote control not configured!" // string@043b │ │ -01b15e: 7020 2105 1000 |0075: invoke-direct {v0, v1}, Ljava/io/IOException;.:(Ljava/lang/String;)V // method@0521 │ │ -01b164: 2700 |0078: throw v0 │ │ -01b166: 0d00 |0079: move-exception v0 │ │ -01b168: 6e10 2405 0000 |007a: invoke-virtual {v0}, Ljava/io/IOException;.getMessage:()Ljava/lang/String; // method@0524 │ │ -01b16e: 0c00 |007d: move-result-object v0 │ │ -01b170: 6e20 0b03 0600 |007e: invoke-virtual {v6, v0}, Ldnsfilter/android/DNSProxyActivity;.message:(Ljava/lang/String;)V // method@030b │ │ -01b176: 7100 5301 0000 |0081: invoke-static {}, Ldnsfilter/ConfigurationAccess;.getLocal:()Ldnsfilter/ConfigurationAccess; // method@0153 │ │ -01b17c: 0c00 |0084: move-result-object v0 │ │ -01b17e: 6900 ed00 |0085: sput-object v0, Ldnsfilter/android/DNSProxyActivity;.CONFIG:Ldnsfilter/ConfigurationAccess; // field@00ed │ │ -01b182: 6a02 3801 |0087: sput-boolean v2, Ldnsfilter/android/DNSProxyActivity;.switchingConfig:Z // field@0138 │ │ -01b186: 2848 |0089: goto 00d1 // +0048 │ │ -01b188: 6200 ed00 |008a: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.CONFIG:Ldnsfilter/ConfigurationAccess; // field@00ed │ │ -01b18c: 6e10 5a01 0000 |008c: invoke-virtual {v0}, Ldnsfilter/ConfigurationAccess;.releaseConfiguration:()V // method@015a │ │ -01b192: 7100 5301 0000 |008f: invoke-static {}, Ldnsfilter/ConfigurationAccess;.getLocal:()Ldnsfilter/ConfigurationAccess; // method@0153 │ │ -01b198: 0c00 |0092: move-result-object v0 │ │ -01b19a: 6900 ed00 |0093: sput-object v0, Ldnsfilter/android/DNSProxyActivity;.CONFIG:Ldnsfilter/ConfigurationAccess; // field@00ed │ │ -01b19e: 7100 2707 0000 |0095: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0727 │ │ -01b1a4: 0c00 |0098: move-result-object v0 │ │ -01b1a6: 1f00 8201 |0099: check-cast v0, Lutil/GroupedLogger; // type@0182 │ │ -01b1aa: 6201 2401 |009b: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.myLogger:Lutil/SuppressRepeatingsLogger; // field@0124 │ │ -01b1ae: 6e20 f706 1000 |009d: invoke-virtual {v0, v1}, Lutil/GroupedLogger;.attachLogger:(Lutil/LoggerInterface;)V // method@06f7 │ │ -01b1b4: 6e20 0603 2600 |00a0: invoke-virtual {v6, v2}, Ldnsfilter/android/DNSProxyActivity;.loadAndApplyConfig:(Z)V // method@0306 │ │ -01b1ba: 2200 2d01 |00a3: new-instance v0, Ljava/lang/StringBuilder; // type@012d │ │ -01b1be: 1a01 e100 |00a5: const-string v1, "CONNECTED TO " // string@00e1 │ │ -01b1c2: 7020 aa05 1000 |00a7: invoke-direct {v0, v1}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05aa │ │ -01b1c8: 6201 ed00 |00aa: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.CONFIG:Ldnsfilter/ConfigurationAccess; // field@00ed │ │ -01b1cc: 6e20 ae05 1000 |00ac: invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@05ae │ │ -01b1d2: 6e10 b105 0000 |00af: invoke-virtual {v0}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ -01b1d8: 0c00 |00b2: move-result-object v0 │ │ -01b1da: 6e20 0b03 0600 |00b3: invoke-virtual {v6, v0}, Ldnsfilter/android/DNSProxyActivity;.message:(Ljava/lang/String;)V // method@030b │ │ -01b1e0: 2200 2d01 |00b6: new-instance v0, Ljava/lang/StringBuilder; // type@012d │ │ -01b1e4: 1a01 9e00 |00b8: const-string v1, "=>CONNECTED to " // string@009e │ │ -01b1e8: 7020 aa05 1000 |00ba: invoke-direct {v0, v1}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05aa │ │ -01b1ee: 6201 ed00 |00bd: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.CONFIG:Ldnsfilter/ConfigurationAccess; // field@00ed │ │ -01b1f2: 6e20 ae05 1000 |00bf: invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@05ae │ │ -01b1f8: 1a01 9000 |00c2: const-string v1, "<=" // string@0090 │ │ -01b1fc: 6e20 af05 1000 |00c4: invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -01b202: 6e10 b105 0000 |00c7: invoke-virtual {v0}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ -01b208: 0c00 |00ca: move-result-object v0 │ │ -01b20a: 6e20 0a03 0600 |00cb: invoke-virtual {v6, v0}, Ldnsfilter/android/DNSProxyActivity;.logLine:(Ljava/lang/String;)V // method@030a │ │ -01b210: 7010 e802 0600 |00ce: invoke-direct {v6}, Ldnsfilter/android/DNSProxyActivity;.checkPasscode:()V // method@02e8 │ │ -01b216: 0e00 |00d1: return-void │ │ +01b060: |[01b060] dnsfilter.android.DNSProxyActivity.handleRemoteControl:()V │ │ +01b070: 1a00 0000 |0000: const-string v0, "" // string@0000 │ │ +01b074: 6301 3801 |0002: sget-boolean v1, Ldnsfilter/android/DNSProxyActivity;.switchingConfig:Z // field@0138 │ │ +01b078: 3801 0300 |0004: if-eqz v1, 0007 // +0003 │ │ +01b07c: 0e00 |0006: return-void │ │ +01b07e: 1211 |0007: const/4 v1, #int 1 // #1 │ │ +01b080: 6a01 3801 |0008: sput-boolean v1, Ldnsfilter/android/DNSProxyActivity;.switchingConfig:Z // field@0138 │ │ +01b084: 1201 |000a: const/4 v1, #int 0 // #0 │ │ +01b086: 7020 fd02 1600 |000b: invoke-direct {v6, v1}, Ldnsfilter/android/DNSProxyActivity;.handleAdvancedConfig:(Landroid/widget/CheckBox;)V // method@02fd │ │ +01b08c: 6201 ed00 |000e: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.CONFIG:Ldnsfilter/ConfigurationAccess; // field@00ed │ │ +01b090: 6e10 5701 0100 |0010: invoke-virtual {v1}, Ldnsfilter/ConfigurationAccess;.isLocal:()Z // method@0157 │ │ +01b096: 0a01 |0013: move-result v1 │ │ +01b098: 1202 |0014: const/4 v2, #int 0 // #0 │ │ +01b09a: 3801 7500 |0015: if-eqz v1, 008a // +0075 │ │ +01b09e: 7100 5301 0000 |0017: invoke-static {}, Ldnsfilter/ConfigurationAccess;.getLocal:()Ldnsfilter/ConfigurationAccess; // method@0153 │ │ +01b0a4: 0c01 |001a: move-result-object v1 │ │ +01b0a6: 6e10 4d01 0100 |001b: invoke-virtual {v1}, Ldnsfilter/ConfigurationAccess;.getConfig:()Ljava/util/Properties; // method@014d │ │ +01b0ac: 0c01 |001e: move-result-object v1 │ │ +01b0ae: 1a03 dd05 |001f: const-string v3, "client_remote_ctrl_host" // string@05dd │ │ +01b0b2: 6e30 5706 3100 |0021: invoke-virtual {v1, v3, v0}, Ljava/util/Properties;.getProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@0657 │ │ +01b0b8: 0c01 |0024: move-result-object v1 │ │ +01b0ba: 7100 5301 0000 |0025: invoke-static {}, Ldnsfilter/ConfigurationAccess;.getLocal:()Ldnsfilter/ConfigurationAccess; // method@0153 │ │ +01b0c0: 0c03 |0028: move-result-object v3 │ │ +01b0c2: 6e10 4d01 0300 |0029: invoke-virtual {v3}, Ldnsfilter/ConfigurationAccess;.getConfig:()Ljava/util/Properties; // method@014d │ │ +01b0c8: 0c03 |002c: move-result-object v3 │ │ +01b0ca: 1a04 de05 |002d: const-string v4, "client_remote_ctrl_keyphrase" // string@05de │ │ +01b0ce: 6e30 5706 4300 |002f: invoke-virtual {v3, v4, v0}, Ljava/util/Properties;.getProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@0657 │ │ +01b0d4: 0c03 |0032: move-result-object v3 │ │ +01b0d6: 6e20 8d05 0100 |0033: invoke-virtual {v1, v0}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058d │ │ +01b0dc: 0a04 |0036: move-result v4 │ │ +01b0de: 3904 3a00 |0037: if-nez v4, 0071 // +003a │ │ +01b0e2: 1a04 6b00 |0039: const-string v4, "0.0.0.0" // string@006b │ │ +01b0e6: 6e20 8d05 4100 |003b: invoke-virtual {v1, v4}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058d │ │ +01b0ec: 0a04 |003e: move-result v4 │ │ +01b0ee: 3904 3200 |003f: if-nez v4, 0071 // +0032 │ │ +01b0f2: 6e20 8d05 0300 |0041: invoke-virtual {v3, v0}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058d │ │ +01b0f8: 0a00 |0044: move-result v0 │ │ +01b0fa: 3900 2c00 |0045: if-nez v0, 0071 // +002c │ │ +01b0fe: 7100 5301 0000 |0047: invoke-static {}, Ldnsfilter/ConfigurationAccess;.getLocal:()Ldnsfilter/ConfigurationAccess; // method@0153 │ │ +01b104: 0c00 |004a: move-result-object v0 │ │ +01b106: 6e10 4d01 0000 |004b: invoke-virtual {v0}, Ldnsfilter/ConfigurationAccess;.getConfig:()Ljava/util/Properties; // method@014d │ │ +01b10c: 0c00 |004e: move-result-object v0 │ │ +01b10e: 1a04 df05 |004f: const-string v4, "client_remote_ctrl_port" // string@05df │ │ +01b112: 1a05 7900 |0051: const-string v5, "3333" // string@0079 │ │ +01b116: 6e30 5706 4005 |0053: invoke-virtual {v0, v4, v5}, Ljava/util/Properties;.getProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@0657 │ │ +01b11c: 0c00 |0056: move-result-object v0 │ │ +01b11e: 7110 6705 0000 |0057: invoke-static {v0}, Ljava/lang/Integer;.parseInt:(Ljava/lang/String;)I // method@0567 │ │ +01b124: 0a00 |005a: move-result v0 │ │ +01b126: 2204 aa00 |005b: new-instance v4, Ldnsfilter/android/DNSProxyActivity$5; // type@00aa │ │ +01b12a: 7053 c702 6401 |005d: invoke-direct {v4, v6, v1, v0, v3}, Ldnsfilter/android/DNSProxyActivity$5;.:(Ldnsfilter/android/DNSProxyActivity;Ljava/lang/String;ILjava/lang/String;)V // method@02c7 │ │ +01b130: 2200 2f01 |0060: new-instance v0, Ljava/lang/Thread; // type@012f │ │ +01b134: 7020 b605 4000 |0062: invoke-direct {v0, v4}, Ljava/lang/Thread;.:(Ljava/lang/Runnable;)V // method@05b6 │ │ +01b13a: 6e10 bc05 0000 |0065: invoke-virtual {v0}, Ljava/lang/Thread;.start:()V // method@05bc │ │ +01b140: 2869 |0068: goto 00d1 // +0069 │ │ +01b142: 2200 0001 |0069: new-instance v0, Ljava/io/IOException; // type@0100 │ │ +01b146: 1a01 ee01 |006b: const-string v1, "Invalid connect_remote_ctrl_port" // string@01ee │ │ +01b14a: 7020 2105 1000 |006d: invoke-direct {v0, v1}, Ljava/io/IOException;.:(Ljava/lang/String;)V // method@0521 │ │ +01b150: 2700 |0070: throw v0 │ │ +01b152: 2200 0001 |0071: new-instance v0, Ljava/io/IOException; // type@0100 │ │ +01b156: 1a01 3b04 |0073: const-string v1, "Remote control not configured!" // string@043b │ │ +01b15a: 7020 2105 1000 |0075: invoke-direct {v0, v1}, Ljava/io/IOException;.:(Ljava/lang/String;)V // method@0521 │ │ +01b160: 2700 |0078: throw v0 │ │ +01b162: 0d00 |0079: move-exception v0 │ │ +01b164: 6e10 2405 0000 |007a: invoke-virtual {v0}, Ljava/io/IOException;.getMessage:()Ljava/lang/String; // method@0524 │ │ +01b16a: 0c00 |007d: move-result-object v0 │ │ +01b16c: 6e20 0b03 0600 |007e: invoke-virtual {v6, v0}, Ldnsfilter/android/DNSProxyActivity;.message:(Ljava/lang/String;)V // method@030b │ │ +01b172: 7100 5301 0000 |0081: invoke-static {}, Ldnsfilter/ConfigurationAccess;.getLocal:()Ldnsfilter/ConfigurationAccess; // method@0153 │ │ +01b178: 0c00 |0084: move-result-object v0 │ │ +01b17a: 6900 ed00 |0085: sput-object v0, Ldnsfilter/android/DNSProxyActivity;.CONFIG:Ldnsfilter/ConfigurationAccess; // field@00ed │ │ +01b17e: 6a02 3801 |0087: sput-boolean v2, Ldnsfilter/android/DNSProxyActivity;.switchingConfig:Z // field@0138 │ │ +01b182: 2848 |0089: goto 00d1 // +0048 │ │ +01b184: 6200 ed00 |008a: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.CONFIG:Ldnsfilter/ConfigurationAccess; // field@00ed │ │ +01b188: 6e10 5a01 0000 |008c: invoke-virtual {v0}, Ldnsfilter/ConfigurationAccess;.releaseConfiguration:()V // method@015a │ │ +01b18e: 7100 5301 0000 |008f: invoke-static {}, Ldnsfilter/ConfigurationAccess;.getLocal:()Ldnsfilter/ConfigurationAccess; // method@0153 │ │ +01b194: 0c00 |0092: move-result-object v0 │ │ +01b196: 6900 ed00 |0093: sput-object v0, Ldnsfilter/android/DNSProxyActivity;.CONFIG:Ldnsfilter/ConfigurationAccess; // field@00ed │ │ +01b19a: 7100 2707 0000 |0095: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0727 │ │ +01b1a0: 0c00 |0098: move-result-object v0 │ │ +01b1a2: 1f00 8201 |0099: check-cast v0, Lutil/GroupedLogger; // type@0182 │ │ +01b1a6: 6201 2401 |009b: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.myLogger:Lutil/SuppressRepeatingsLogger; // field@0124 │ │ +01b1aa: 6e20 f706 1000 |009d: invoke-virtual {v0, v1}, Lutil/GroupedLogger;.attachLogger:(Lutil/LoggerInterface;)V // method@06f7 │ │ +01b1b0: 6e20 0603 2600 |00a0: invoke-virtual {v6, v2}, Ldnsfilter/android/DNSProxyActivity;.loadAndApplyConfig:(Z)V // method@0306 │ │ +01b1b6: 2200 2d01 |00a3: new-instance v0, Ljava/lang/StringBuilder; // type@012d │ │ +01b1ba: 1a01 e100 |00a5: const-string v1, "CONNECTED TO " // string@00e1 │ │ +01b1be: 7020 aa05 1000 |00a7: invoke-direct {v0, v1}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05aa │ │ +01b1c4: 6201 ed00 |00aa: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.CONFIG:Ldnsfilter/ConfigurationAccess; // field@00ed │ │ +01b1c8: 6e20 ae05 1000 |00ac: invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@05ae │ │ +01b1ce: 6e10 b105 0000 |00af: invoke-virtual {v0}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ +01b1d4: 0c00 |00b2: move-result-object v0 │ │ +01b1d6: 6e20 0b03 0600 |00b3: invoke-virtual {v6, v0}, Ldnsfilter/android/DNSProxyActivity;.message:(Ljava/lang/String;)V // method@030b │ │ +01b1dc: 2200 2d01 |00b6: new-instance v0, Ljava/lang/StringBuilder; // type@012d │ │ +01b1e0: 1a01 9e00 |00b8: const-string v1, "=>CONNECTED to " // string@009e │ │ +01b1e4: 7020 aa05 1000 |00ba: invoke-direct {v0, v1}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05aa │ │ +01b1ea: 6201 ed00 |00bd: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.CONFIG:Ldnsfilter/ConfigurationAccess; // field@00ed │ │ +01b1ee: 6e20 ae05 1000 |00bf: invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@05ae │ │ +01b1f4: 1a01 9000 |00c2: const-string v1, "<=" // string@0090 │ │ +01b1f8: 6e20 af05 1000 |00c4: invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +01b1fe: 6e10 b105 0000 |00c7: invoke-virtual {v0}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ +01b204: 0c00 |00ca: move-result-object v0 │ │ +01b206: 6e20 0a03 0600 |00cb: invoke-virtual {v6, v0}, Ldnsfilter/android/DNSProxyActivity;.logLine:(Ljava/lang/String;)V // method@030a │ │ +01b20c: 7010 e802 0600 |00ce: invoke-direct {v6}, Ldnsfilter/android/DNSProxyActivity;.checkPasscode:()V // method@02e8 │ │ +01b212: 0e00 |00d1: return-void │ │ catches : 3 │ │ 0x0017 - 0x0045 │ │ Ljava/io/IOException; -> 0x0079 │ │ 0x0047 - 0x005b │ │ Ljava/lang/Exception; -> 0x0069 │ │ Ljava/io/IOException; -> 0x0079 │ │ 0x005b - 0x0079 │ │ @@ -44742,40 +44742,40 @@ │ │ type : '()V' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 3 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 48 16-bit code units │ │ -01b23c: |[01b23c] dnsfilter.android.DNSProxyActivity.handleRestart:()V │ │ -01b24c: 6200 ed00 |0000: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.CONFIG:Ldnsfilter/ConfigurationAccess; // field@00ed │ │ -01b250: 6e10 5701 0000 |0002: invoke-virtual {v0}, Ldnsfilter/ConfigurationAccess;.isLocal:()Z // method@0157 │ │ -01b256: 0a00 |0005: move-result v0 │ │ -01b258: 1201 |0006: const/4 v1, #int 0 // #0 │ │ -01b25a: 3800 1700 |0007: if-eqz v0, 001e // +0017 │ │ -01b25e: 7010 e702 0200 |0009: invoke-direct {v2}, Ldnsfilter/android/DNSProxyActivity;.checkNotificationPermission:()Z // method@02e7 │ │ -01b264: 0a00 |000c: move-result v0 │ │ -01b266: 3900 0300 |000d: if-nez v0, 0010 // +0003 │ │ -01b26a: 0e00 |000f: return-void │ │ -01b26c: 7110 af02 0100 |0010: invoke-static {v1}, Ldnsfilter/android/DNSFilterService;.stop:(Z)Z // method@02af │ │ -01b272: 0a00 |0013: move-result v0 │ │ -01b274: 3900 0300 |0014: if-nez v0, 0017 // +0003 │ │ -01b278: 0e00 |0016: return-void │ │ -01b27a: 6e10 3703 0200 |0017: invoke-virtual {v2}, Ldnsfilter/android/DNSProxyActivity;.startup:()V // method@0337 │ │ -01b280: 6e20 0603 1200 |001a: invoke-virtual {v2, v1}, Ldnsfilter/android/DNSProxyActivity;.loadAndApplyConfig:(Z)V // method@0306 │ │ -01b286: 2812 |001d: goto 002f // +0012 │ │ -01b288: 6200 ed00 |001e: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.CONFIG:Ldnsfilter/ConfigurationAccess; // field@00ed │ │ -01b28c: 6e10 5c01 0000 |0020: invoke-virtual {v0}, Ldnsfilter/ConfigurationAccess;.restart:()V // method@015c │ │ -01b292: 6e20 0603 1200 |0023: invoke-virtual {v2, v1}, Ldnsfilter/android/DNSProxyActivity;.loadAndApplyConfig:(Z)V // method@0306 │ │ -01b298: 2809 |0026: goto 002f // +0009 │ │ -01b29a: 0d00 |0027: move-exception v0 │ │ -01b29c: 7100 2707 0000 |0028: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0727 │ │ -01b2a2: 0c01 |002b: move-result-object v1 │ │ -01b2a4: 7220 3207 0100 |002c: invoke-interface {v1, v0}, Lutil/LoggerInterface;.logException:(Ljava/lang/Exception;)V // method@0732 │ │ -01b2aa: 0e00 |002f: return-void │ │ +01b238: |[01b238] dnsfilter.android.DNSProxyActivity.handleRestart:()V │ │ +01b248: 6200 ed00 |0000: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.CONFIG:Ldnsfilter/ConfigurationAccess; // field@00ed │ │ +01b24c: 6e10 5701 0000 |0002: invoke-virtual {v0}, Ldnsfilter/ConfigurationAccess;.isLocal:()Z // method@0157 │ │ +01b252: 0a00 |0005: move-result v0 │ │ +01b254: 1201 |0006: const/4 v1, #int 0 // #0 │ │ +01b256: 3800 1700 |0007: if-eqz v0, 001e // +0017 │ │ +01b25a: 7010 e702 0200 |0009: invoke-direct {v2}, Ldnsfilter/android/DNSProxyActivity;.checkNotificationPermission:()Z // method@02e7 │ │ +01b260: 0a00 |000c: move-result v0 │ │ +01b262: 3900 0300 |000d: if-nez v0, 0010 // +0003 │ │ +01b266: 0e00 |000f: return-void │ │ +01b268: 7110 af02 0100 |0010: invoke-static {v1}, Ldnsfilter/android/DNSFilterService;.stop:(Z)Z // method@02af │ │ +01b26e: 0a00 |0013: move-result v0 │ │ +01b270: 3900 0300 |0014: if-nez v0, 0017 // +0003 │ │ +01b274: 0e00 |0016: return-void │ │ +01b276: 6e10 3703 0200 |0017: invoke-virtual {v2}, Ldnsfilter/android/DNSProxyActivity;.startup:()V // method@0337 │ │ +01b27c: 6e20 0603 1200 |001a: invoke-virtual {v2, v1}, Ldnsfilter/android/DNSProxyActivity;.loadAndApplyConfig:(Z)V // method@0306 │ │ +01b282: 2812 |001d: goto 002f // +0012 │ │ +01b284: 6200 ed00 |001e: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.CONFIG:Ldnsfilter/ConfigurationAccess; // field@00ed │ │ +01b288: 6e10 5c01 0000 |0020: invoke-virtual {v0}, Ldnsfilter/ConfigurationAccess;.restart:()V // method@015c │ │ +01b28e: 6e20 0603 1200 |0023: invoke-virtual {v2, v1}, Ldnsfilter/android/DNSProxyActivity;.loadAndApplyConfig:(Z)V // method@0306 │ │ +01b294: 2809 |0026: goto 002f // +0009 │ │ +01b296: 0d00 |0027: move-exception v0 │ │ +01b298: 7100 2707 0000 |0028: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0727 │ │ +01b29e: 0c01 |002b: move-result-object v1 │ │ +01b2a0: 7220 3207 0100 |002c: invoke-interface {v1, v0}, Lutil/LoggerInterface;.logException:(Ljava/lang/Exception;)V // method@0732 │ │ +01b2a6: 0e00 |002f: return-void │ │ catches : 1 │ │ 0x001e - 0x0026 │ │ Ljava/io/IOException; -> 0x0027 │ │ positions : │ │ 0x0000 line=1535 │ │ 0x0009 line=1537 │ │ 0x0010 line=1540 │ │ @@ -44792,38 +44792,38 @@ │ │ type : '()V' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 3 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 46 16-bit code units │ │ -01b2bc: |[01b2bc] dnsfilter.android.DNSProxyActivity.handleScrollLock:()V │ │ -01b2cc: 6300 3301 |0000: sget-boolean v0, Ldnsfilter/android/DNSProxyActivity;.scroll_locked:Z // field@0133 │ │ -01b2d0: 3800 2100 |0002: if-eqz v0, 0023 // +0021 │ │ -01b2d4: 1200 |0004: const/4 v0, #int 0 // #0 │ │ -01b2d6: 6a00 3301 |0005: sput-boolean v0, Ldnsfilter/android/DNSProxyActivity;.scroll_locked:Z // field@0133 │ │ -01b2da: 6200 3101 |0007: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.scrollLockField:Landroid/widget/TextView; // field@0131 │ │ -01b2de: 6201 fc00 |0009: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.SCROLL_PAUSE:Ljava/lang/String; // field@00fc │ │ -01b2e2: 6e20 0901 1000 |000b: invoke-virtual {v0, v1}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@0109 │ │ -01b2e8: 6200 2001 |000e: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.logOutView:Landroid/widget/EditText; // field@0120 │ │ -01b2ec: 6e10 da00 0000 |0010: invoke-virtual {v0}, Landroid/widget/EditText;.getText:()Landroid/text/Editable; // method@00da │ │ -01b2f2: 0c01 |0013: move-result-object v1 │ │ -01b2f4: 7210 9900 0100 |0014: invoke-interface {v1}, Landroid/text/Editable;.length:()I // method@0099 │ │ -01b2fa: 0a01 |0017: move-result v1 │ │ -01b2fc: 6e20 e400 1000 |0018: invoke-virtual {v0, v1}, Landroid/widget/EditText;.setSelection:(I)V // method@00e4 │ │ -01b302: 5420 3201 |001b: iget-object v0, v2, Ldnsfilter/android/DNSProxyActivity;.scrollView:Landroid/widget/ScrollView; // field@0132 │ │ -01b306: 1301 8200 |001d: const/16 v1, #int 130 // #82 │ │ -01b30a: 6e20 f400 1000 |001f: invoke-virtual {v0, v1}, Landroid/widget/ScrollView;.fullScroll:(I)Z // method@00f4 │ │ -01b310: 280b |0022: goto 002d // +000b │ │ -01b312: 1210 |0023: const/4 v0, #int 1 // #1 │ │ -01b314: 6a00 3301 |0024: sput-boolean v0, Ldnsfilter/android/DNSProxyActivity;.scroll_locked:Z // field@0133 │ │ -01b318: 6200 3101 |0026: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.scrollLockField:Landroid/widget/TextView; // field@0131 │ │ -01b31c: 6201 fb00 |0028: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.SCROLL_CONTINUE:Ljava/lang/String; // field@00fb │ │ -01b320: 6e20 0901 1000 |002a: invoke-virtual {v0, v1}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@0109 │ │ -01b326: 0e00 |002d: return-void │ │ +01b2b8: |[01b2b8] dnsfilter.android.DNSProxyActivity.handleScrollLock:()V │ │ +01b2c8: 6300 3301 |0000: sget-boolean v0, Ldnsfilter/android/DNSProxyActivity;.scroll_locked:Z // field@0133 │ │ +01b2cc: 3800 2100 |0002: if-eqz v0, 0023 // +0021 │ │ +01b2d0: 1200 |0004: const/4 v0, #int 0 // #0 │ │ +01b2d2: 6a00 3301 |0005: sput-boolean v0, Ldnsfilter/android/DNSProxyActivity;.scroll_locked:Z // field@0133 │ │ +01b2d6: 6200 3101 |0007: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.scrollLockField:Landroid/widget/TextView; // field@0131 │ │ +01b2da: 6201 fc00 |0009: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.SCROLL_PAUSE:Ljava/lang/String; // field@00fc │ │ +01b2de: 6e20 0901 1000 |000b: invoke-virtual {v0, v1}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@0109 │ │ +01b2e4: 6200 2001 |000e: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.logOutView:Landroid/widget/EditText; // field@0120 │ │ +01b2e8: 6e10 da00 0000 |0010: invoke-virtual {v0}, Landroid/widget/EditText;.getText:()Landroid/text/Editable; // method@00da │ │ +01b2ee: 0c01 |0013: move-result-object v1 │ │ +01b2f0: 7210 9900 0100 |0014: invoke-interface {v1}, Landroid/text/Editable;.length:()I // method@0099 │ │ +01b2f6: 0a01 |0017: move-result v1 │ │ +01b2f8: 6e20 e400 1000 |0018: invoke-virtual {v0, v1}, Landroid/widget/EditText;.setSelection:(I)V // method@00e4 │ │ +01b2fe: 5420 3201 |001b: iget-object v0, v2, Ldnsfilter/android/DNSProxyActivity;.scrollView:Landroid/widget/ScrollView; // field@0132 │ │ +01b302: 1301 8200 |001d: const/16 v1, #int 130 // #82 │ │ +01b306: 6e20 f400 1000 |001f: invoke-virtual {v0, v1}, Landroid/widget/ScrollView;.fullScroll:(I)Z // method@00f4 │ │ +01b30c: 280b |0022: goto 002d // +000b │ │ +01b30e: 1210 |0023: const/4 v0, #int 1 // #1 │ │ +01b310: 6a00 3301 |0024: sput-boolean v0, Ldnsfilter/android/DNSProxyActivity;.scroll_locked:Z // field@0133 │ │ +01b314: 6200 3101 |0026: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.scrollLockField:Landroid/widget/TextView; // field@0131 │ │ +01b318: 6201 fb00 |0028: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.SCROLL_CONTINUE:Ljava/lang/String; // field@00fb │ │ +01b31c: 6e20 0901 1000 |002a: invoke-virtual {v0, v1}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@0109 │ │ +01b322: 0e00 |002d: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=1354 │ │ 0x0005 line=1355 │ │ 0x0007 line=1356 │ │ 0x000e line=1357 │ │ 0x001b line=1358 │ │ @@ -44837,63 +44837,63 @@ │ │ type : '()V' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 5 │ │ ins : 1 │ │ outs : 3 │ │ insns size : 100 16-bit code units │ │ -01b368: |[01b368] dnsfilter.android.DNSProxyActivity.initAppAndStartup:()V │ │ -01b378: 1a00 eb01 |0000: const-string v0, "Initializing ..." // string@01eb │ │ -01b37c: 6e20 0a03 0400 |0002: invoke-virtual {v4, v0}, Ldnsfilter/android/DNSProxyActivity;.logLine:(Ljava/lang/String;)V // method@030a │ │ -01b382: 7100 5301 0000 |0005: invoke-static {}, Ldnsfilter/ConfigurationAccess;.getLocal:()Ldnsfilter/ConfigurationAccess; // method@0153 │ │ -01b388: 0c00 |0008: move-result-object v0 │ │ -01b38a: 6e10 4e01 0000 |0009: invoke-virtual {v0}, Ldnsfilter/ConfigurationAccess;.getConfigUtil:()Ldnsfilter/ConfigUtil; // method@014e │ │ -01b390: 0c00 |000c: move-result-object v0 │ │ -01b392: 1a01 680b |000d: const-string v1, "useActionMenuFallback" // string@0b68 │ │ -01b396: 1a02 df06 |000f: const-string v2, "false" // string@06df │ │ -01b39a: 6e30 3a01 1002 |0011: invoke-virtual {v0, v1, v2}, Ldnsfilter/ConfigUtil;.getConfigValue:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@013a │ │ -01b3a0: 0c00 |0014: move-result-object v0 │ │ -01b3a2: 7110 4d05 0000 |0015: invoke-static {v0}, Ljava/lang/Boolean;.parseBoolean:(Ljava/lang/String;)Z // method@054d │ │ -01b3a8: 0a00 |0018: move-result v0 │ │ -01b3aa: 5c40 ea00 |0019: iput-boolean v0, v4, Ldnsfilter/android/DNSProxyActivity;.ACTION_MENU_FALLBACK:Z // field@00ea │ │ -01b3ae: 281b |001b: goto 0036 // +001b │ │ -01b3b0: 0d00 |001c: move-exception v0 │ │ -01b3b2: 7100 2707 0000 |001d: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0727 │ │ -01b3b8: 0c01 |0020: move-result-object v1 │ │ -01b3ba: 2202 2d01 |0021: new-instance v2, Ljava/lang/StringBuilder; // type@012d │ │ -01b3be: 1a03 f200 |0023: const-string v3, "Cannot get Config for useActionMenuFallback " // string@00f2 │ │ -01b3c2: 7020 aa05 3200 |0025: invoke-direct {v2, v3}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05aa │ │ -01b3c8: 6e10 2605 0000 |0028: invoke-virtual {v0}, Ljava/io/IOException;.toString:()Ljava/lang/String; // method@0526 │ │ -01b3ce: 0c00 |002b: move-result-object v0 │ │ -01b3d0: 6e20 af05 0200 |002c: invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -01b3d6: 6e10 b105 0200 |002f: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ -01b3dc: 0c00 |0032: move-result-object v0 │ │ -01b3de: 7220 3307 0100 |0033: invoke-interface {v1, v0}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0733 │ │ -01b3e4: 6300 ec00 |0036: sget-boolean v0, Ldnsfilter/android/DNSProxyActivity;.BOOT_START:Z // field@00ec │ │ -01b3e8: 1201 |0038: const/4 v1, #int 0 // #0 │ │ -01b3ea: 3800 2400 |0039: if-eqz v0, 005d // +0024 │ │ -01b3ee: 7100 2707 0000 |003b: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0727 │ │ -01b3f4: 0c00 |003e: move-result-object v0 │ │ -01b3f6: 2202 2d01 |003f: new-instance v2, Ljava/lang/StringBuilder; // type@012d │ │ -01b3fa: 1a03 4904 |0041: const-string v3, "Running on SDK" // string@0449 │ │ -01b3fe: 7020 aa05 3200 |0043: invoke-direct {v2, v3}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05aa │ │ -01b404: 6003 0200 |0046: sget v3, Landroid/os/Build$VERSION;.SDK_INT:I // field@0002 │ │ -01b408: 6e20 ac05 3200 |0048: invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@05ac │ │ -01b40e: 6e10 b105 0200 |004b: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ -01b414: 0c02 |004e: move-result-object v2 │ │ -01b416: 7220 3307 2000 |004f: invoke-interface {v0, v2}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0733 │ │ -01b41c: 6000 0200 |0052: sget v0, Landroid/os/Build$VERSION;.SDK_INT:I // field@0002 │ │ -01b420: 1302 1400 |0054: const/16 v2, #int 20 // #14 │ │ -01b424: 3420 0500 |0056: if-lt v0, v2, 005b // +0005 │ │ -01b428: 6e10 f202 0400 |0058: invoke-virtual {v4}, Ldnsfilter/android/DNSProxyActivity;.finish:()V // method@02f2 │ │ -01b42e: 6a01 ec00 |005b: sput-boolean v1, Ldnsfilter/android/DNSProxyActivity;.BOOT_START:Z // field@00ec │ │ -01b432: 1210 |005d: const/4 v0, #int 1 // #1 │ │ -01b434: 6e20 0603 0400 |005e: invoke-virtual {v4, v0}, Ldnsfilter/android/DNSProxyActivity;.loadAndApplyConfig:(Z)V // method@0306 │ │ -01b43a: 6a01 0501 |0061: sput-boolean v1, Ldnsfilter/android/DNSProxyActivity;.appStart:Z // field@0105 │ │ -01b43e: 0e00 |0063: return-void │ │ +01b364: |[01b364] dnsfilter.android.DNSProxyActivity.initAppAndStartup:()V │ │ +01b374: 1a00 eb01 |0000: const-string v0, "Initializing ..." // string@01eb │ │ +01b378: 6e20 0a03 0400 |0002: invoke-virtual {v4, v0}, Ldnsfilter/android/DNSProxyActivity;.logLine:(Ljava/lang/String;)V // method@030a │ │ +01b37e: 7100 5301 0000 |0005: invoke-static {}, Ldnsfilter/ConfigurationAccess;.getLocal:()Ldnsfilter/ConfigurationAccess; // method@0153 │ │ +01b384: 0c00 |0008: move-result-object v0 │ │ +01b386: 6e10 4e01 0000 |0009: invoke-virtual {v0}, Ldnsfilter/ConfigurationAccess;.getConfigUtil:()Ldnsfilter/ConfigUtil; // method@014e │ │ +01b38c: 0c00 |000c: move-result-object v0 │ │ +01b38e: 1a01 680b |000d: const-string v1, "useActionMenuFallback" // string@0b68 │ │ +01b392: 1a02 df06 |000f: const-string v2, "false" // string@06df │ │ +01b396: 6e30 3a01 1002 |0011: invoke-virtual {v0, v1, v2}, Ldnsfilter/ConfigUtil;.getConfigValue:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@013a │ │ +01b39c: 0c00 |0014: move-result-object v0 │ │ +01b39e: 7110 4d05 0000 |0015: invoke-static {v0}, Ljava/lang/Boolean;.parseBoolean:(Ljava/lang/String;)Z // method@054d │ │ +01b3a4: 0a00 |0018: move-result v0 │ │ +01b3a6: 5c40 ea00 |0019: iput-boolean v0, v4, Ldnsfilter/android/DNSProxyActivity;.ACTION_MENU_FALLBACK:Z // field@00ea │ │ +01b3aa: 281b |001b: goto 0036 // +001b │ │ +01b3ac: 0d00 |001c: move-exception v0 │ │ +01b3ae: 7100 2707 0000 |001d: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0727 │ │ +01b3b4: 0c01 |0020: move-result-object v1 │ │ +01b3b6: 2202 2d01 |0021: new-instance v2, Ljava/lang/StringBuilder; // type@012d │ │ +01b3ba: 1a03 f200 |0023: const-string v3, "Cannot get Config for useActionMenuFallback " // string@00f2 │ │ +01b3be: 7020 aa05 3200 |0025: invoke-direct {v2, v3}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05aa │ │ +01b3c4: 6e10 2605 0000 |0028: invoke-virtual {v0}, Ljava/io/IOException;.toString:()Ljava/lang/String; // method@0526 │ │ +01b3ca: 0c00 |002b: move-result-object v0 │ │ +01b3cc: 6e20 af05 0200 |002c: invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +01b3d2: 6e10 b105 0200 |002f: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ +01b3d8: 0c00 |0032: move-result-object v0 │ │ +01b3da: 7220 3307 0100 |0033: invoke-interface {v1, v0}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0733 │ │ +01b3e0: 6300 ec00 |0036: sget-boolean v0, Ldnsfilter/android/DNSProxyActivity;.BOOT_START:Z // field@00ec │ │ +01b3e4: 1201 |0038: const/4 v1, #int 0 // #0 │ │ +01b3e6: 3800 2400 |0039: if-eqz v0, 005d // +0024 │ │ +01b3ea: 7100 2707 0000 |003b: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0727 │ │ +01b3f0: 0c00 |003e: move-result-object v0 │ │ +01b3f2: 2202 2d01 |003f: new-instance v2, Ljava/lang/StringBuilder; // type@012d │ │ +01b3f6: 1a03 4904 |0041: const-string v3, "Running on SDK" // string@0449 │ │ +01b3fa: 7020 aa05 3200 |0043: invoke-direct {v2, v3}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05aa │ │ +01b400: 6003 0200 |0046: sget v3, Landroid/os/Build$VERSION;.SDK_INT:I // field@0002 │ │ +01b404: 6e20 ac05 3200 |0048: invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@05ac │ │ +01b40a: 6e10 b105 0200 |004b: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ +01b410: 0c02 |004e: move-result-object v2 │ │ +01b412: 7220 3307 2000 |004f: invoke-interface {v0, v2}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0733 │ │ +01b418: 6000 0200 |0052: sget v0, Landroid/os/Build$VERSION;.SDK_INT:I // field@0002 │ │ +01b41c: 1302 1400 |0054: const/16 v2, #int 20 // #14 │ │ +01b420: 3420 0500 |0056: if-lt v0, v2, 005b // +0005 │ │ +01b424: 6e10 f202 0400 |0058: invoke-virtual {v4}, Ldnsfilter/android/DNSProxyActivity;.finish:()V // method@02f2 │ │ +01b42a: 6a01 ec00 |005b: sput-boolean v1, Ldnsfilter/android/DNSProxyActivity;.BOOT_START:Z // field@00ec │ │ +01b42e: 1210 |005d: const/4 v0, #int 1 // #1 │ │ +01b430: 6e20 0603 0400 |005e: invoke-virtual {v4, v0}, Ldnsfilter/android/DNSProxyActivity;.loadAndApplyConfig:(Z)V // method@0306 │ │ +01b436: 6a01 0501 |0061: sput-boolean v1, Ldnsfilter/android/DNSProxyActivity;.appStart:Z // field@0105 │ │ +01b43a: 0e00 |0063: return-void │ │ catches : 1 │ │ 0x0005 - 0x001b │ │ Ljava/io/IOException; -> 0x001c │ │ positions : │ │ 0x0000 line=881 │ │ 0x0005 line=883 │ │ 0x001d line=885 │ │ @@ -44912,42 +44912,42 @@ │ │ type : '(Ldnsfilter/ConfigurationAccess;)V' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 3 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 61 16-bit code units │ │ -01c7d8: |[01c7d8] dnsfilter.android.DNSProxyActivity.onRemoteConnected:(Ldnsfilter/ConfigurationAccess;)V │ │ -01c7e8: 6902 ed00 |0000: sput-object v2, Ldnsfilter/android/DNSProxyActivity;.CONFIG:Ldnsfilter/ConfigurationAccess; // field@00ed │ │ -01c7ec: 7100 2707 0000 |0002: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0727 │ │ -01c7f2: 0c02 |0005: move-result-object v2 │ │ -01c7f4: 1f02 8201 |0006: check-cast v2, Lutil/GroupedLogger; // type@0182 │ │ -01c7f8: 6200 2401 |0008: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.myLogger:Lutil/SuppressRepeatingsLogger; // field@0124 │ │ -01c7fc: 6e20 f906 0200 |000a: invoke-virtual {v2, v0}, Lutil/GroupedLogger;.detachLogger:(Lutil/LoggerInterface;)V // method@06f9 │ │ -01c802: 1202 |000d: const/4 v2, #int 0 // #0 │ │ -01c804: 6e20 0603 2100 |000e: invoke-virtual {v1, v2}, Ldnsfilter/android/DNSProxyActivity;.loadAndApplyConfig:(Z)V // method@0306 │ │ -01c80a: 2202 2d01 |0011: new-instance v2, Ljava/lang/StringBuilder; // type@012d │ │ -01c80e: 1a00 e100 |0013: const-string v0, "CONNECTED TO " // string@00e1 │ │ -01c812: 7020 aa05 0200 |0015: invoke-direct {v2, v0}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05aa │ │ -01c818: 6200 ed00 |0018: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.CONFIG:Ldnsfilter/ConfigurationAccess; // field@00ed │ │ -01c81c: 6e20 ae05 0200 |001a: invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@05ae │ │ -01c822: 6e10 b105 0200 |001d: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ -01c828: 0c02 |0020: move-result-object v2 │ │ -01c82a: 6e20 0b03 2100 |0021: invoke-virtual {v1, v2}, Ldnsfilter/android/DNSProxyActivity;.message:(Ljava/lang/String;)V // method@030b │ │ -01c830: 2202 2d01 |0024: new-instance v2, Ljava/lang/StringBuilder; // type@012d │ │ -01c834: 1a00 9e00 |0026: const-string v0, "=>CONNECTED to " // string@009e │ │ -01c838: 7020 aa05 0200 |0028: invoke-direct {v2, v0}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05aa │ │ -01c83e: 6200 ed00 |002b: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.CONFIG:Ldnsfilter/ConfigurationAccess; // field@00ed │ │ -01c842: 6e20 ae05 0200 |002d: invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@05ae │ │ -01c848: 1a00 9000 |0030: const-string v0, "<=" // string@0090 │ │ -01c84c: 6e20 af05 0200 |0032: invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -01c852: 6e10 b105 0200 |0035: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ -01c858: 0c02 |0038: move-result-object v2 │ │ -01c85a: 6e20 0a03 2100 |0039: invoke-virtual {v1, v2}, Ldnsfilter/android/DNSProxyActivity;.logLine:(Ljava/lang/String;)V // method@030a │ │ -01c860: 0e00 |003c: return-void │ │ +01c7d4: |[01c7d4] dnsfilter.android.DNSProxyActivity.onRemoteConnected:(Ldnsfilter/ConfigurationAccess;)V │ │ +01c7e4: 6902 ed00 |0000: sput-object v2, Ldnsfilter/android/DNSProxyActivity;.CONFIG:Ldnsfilter/ConfigurationAccess; // field@00ed │ │ +01c7e8: 7100 2707 0000 |0002: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0727 │ │ +01c7ee: 0c02 |0005: move-result-object v2 │ │ +01c7f0: 1f02 8201 |0006: check-cast v2, Lutil/GroupedLogger; // type@0182 │ │ +01c7f4: 6200 2401 |0008: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.myLogger:Lutil/SuppressRepeatingsLogger; // field@0124 │ │ +01c7f8: 6e20 f906 0200 |000a: invoke-virtual {v2, v0}, Lutil/GroupedLogger;.detachLogger:(Lutil/LoggerInterface;)V // method@06f9 │ │ +01c7fe: 1202 |000d: const/4 v2, #int 0 // #0 │ │ +01c800: 6e20 0603 2100 |000e: invoke-virtual {v1, v2}, Ldnsfilter/android/DNSProxyActivity;.loadAndApplyConfig:(Z)V // method@0306 │ │ +01c806: 2202 2d01 |0011: new-instance v2, Ljava/lang/StringBuilder; // type@012d │ │ +01c80a: 1a00 e100 |0013: const-string v0, "CONNECTED TO " // string@00e1 │ │ +01c80e: 7020 aa05 0200 |0015: invoke-direct {v2, v0}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05aa │ │ +01c814: 6200 ed00 |0018: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.CONFIG:Ldnsfilter/ConfigurationAccess; // field@00ed │ │ +01c818: 6e20 ae05 0200 |001a: invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@05ae │ │ +01c81e: 6e10 b105 0200 |001d: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ +01c824: 0c02 |0020: move-result-object v2 │ │ +01c826: 6e20 0b03 2100 |0021: invoke-virtual {v1, v2}, Ldnsfilter/android/DNSProxyActivity;.message:(Ljava/lang/String;)V // method@030b │ │ +01c82c: 2202 2d01 |0024: new-instance v2, Ljava/lang/StringBuilder; // type@012d │ │ +01c830: 1a00 9e00 |0026: const-string v0, "=>CONNECTED to " // string@009e │ │ +01c834: 7020 aa05 0200 |0028: invoke-direct {v2, v0}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05aa │ │ +01c83a: 6200 ed00 |002b: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.CONFIG:Ldnsfilter/ConfigurationAccess; // field@00ed │ │ +01c83e: 6e20 ae05 0200 |002d: invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@05ae │ │ +01c844: 1a00 9000 |0030: const-string v0, "<=" // string@0090 │ │ +01c848: 6e20 af05 0200 |0032: invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +01c84e: 6e10 b105 0200 |0035: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ +01c854: 0c02 |0038: move-result-object v2 │ │ +01c856: 6e20 0a03 2100 |0039: invoke-virtual {v1, v2}, Ldnsfilter/android/DNSProxyActivity;.logLine:(Ljava/lang/String;)V // method@030a │ │ +01c85c: 0e00 |003c: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=1209 │ │ 0x0002 line=1210 │ │ 0x000e line=1211 │ │ 0x0011 line=1212 │ │ 0x0024 line=1213 │ │ @@ -44960,34 +44960,34 @@ │ │ type : '(Ljava/lang/String;)V' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 5 │ │ ins : 2 │ │ outs : 3 │ │ insns size : 41 16-bit code units │ │ -01c988: |[01c988] dnsfilter.android.DNSProxyActivity.openBrowser:(Ljava/lang/String;)V │ │ -01c998: 2200 1a00 |0000: new-instance v0, Landroid/content/Intent; // type@001a │ │ -01c99c: 1a01 6005 |0002: const-string v1, "android.intent.action.VIEW" // string@0560 │ │ -01c9a0: 7110 6a00 0400 |0004: invoke-static {v4}, Landroid/net/Uri;.parse:(Ljava/lang/String;)Landroid/net/Uri; // method@006a │ │ -01c9a6: 0c02 |0007: move-result-object v2 │ │ -01c9a8: 7030 4400 1002 |0008: invoke-direct {v0, v1, v2}, Landroid/content/Intent;.:(Ljava/lang/String;Landroid/net/Uri;)V // method@0044 │ │ -01c9ae: 6e20 3303 0300 |000b: invoke-virtual {v3, v0}, Ldnsfilter/android/DNSProxyActivity;.startActivity:(Landroid/content/Intent;)V // method@0333 │ │ -01c9b4: 281a |000e: goto 0028 // +001a │ │ -01c9b6: 0d00 |000f: move-exception v0 │ │ -01c9b8: 2201 2d01 |0010: new-instance v1, Ljava/lang/StringBuilder; // type@012d │ │ -01c9bc: 1a02 7e01 |0012: const-string v2, "Error opening " // string@017e │ │ -01c9c0: 7020 aa05 2100 |0014: invoke-direct {v1, v2}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05aa │ │ -01c9c6: 6e20 af05 4100 |0017: invoke-virtual {v1, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -01c9cc: 6e10 b105 0100 |001a: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ -01c9d2: 0c04 |001d: move-result-object v4 │ │ -01c9d4: 6e20 0b03 4300 |001e: invoke-virtual {v3, v4}, Ldnsfilter/android/DNSProxyActivity;.message:(Ljava/lang/String;)V // method@030b │ │ -01c9da: 6e10 6105 0000 |0021: invoke-virtual {v0}, Ljava/lang/Exception;.toString:()Ljava/lang/String; // method@0561 │ │ -01c9e0: 0c04 |0024: move-result-object v4 │ │ -01c9e2: 6e20 0a03 4300 |0025: invoke-virtual {v3, v4}, Ldnsfilter/android/DNSProxyActivity;.logLine:(Ljava/lang/String;)V // method@030a │ │ -01c9e8: 0e00 |0028: return-void │ │ +01c984: |[01c984] dnsfilter.android.DNSProxyActivity.openBrowser:(Ljava/lang/String;)V │ │ +01c994: 2200 1a00 |0000: new-instance v0, Landroid/content/Intent; // type@001a │ │ +01c998: 1a01 6005 |0002: const-string v1, "android.intent.action.VIEW" // string@0560 │ │ +01c99c: 7110 6a00 0400 |0004: invoke-static {v4}, Landroid/net/Uri;.parse:(Ljava/lang/String;)Landroid/net/Uri; // method@006a │ │ +01c9a2: 0c02 |0007: move-result-object v2 │ │ +01c9a4: 7030 4400 1002 |0008: invoke-direct {v0, v1, v2}, Landroid/content/Intent;.:(Ljava/lang/String;Landroid/net/Uri;)V // method@0044 │ │ +01c9aa: 6e20 3303 0300 |000b: invoke-virtual {v3, v0}, Ldnsfilter/android/DNSProxyActivity;.startActivity:(Landroid/content/Intent;)V // method@0333 │ │ +01c9b0: 281a |000e: goto 0028 // +001a │ │ +01c9b2: 0d00 |000f: move-exception v0 │ │ +01c9b4: 2201 2d01 |0010: new-instance v1, Ljava/lang/StringBuilder; // type@012d │ │ +01c9b8: 1a02 7e01 |0012: const-string v2, "Error opening " // string@017e │ │ +01c9bc: 7020 aa05 2100 |0014: invoke-direct {v1, v2}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05aa │ │ +01c9c2: 6e20 af05 4100 |0017: invoke-virtual {v1, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +01c9c8: 6e10 b105 0100 |001a: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ +01c9ce: 0c04 |001d: move-result-object v4 │ │ +01c9d0: 6e20 0b03 4300 |001e: invoke-virtual {v3, v4}, Ldnsfilter/android/DNSProxyActivity;.message:(Ljava/lang/String;)V // method@030b │ │ +01c9d6: 6e10 6105 0000 |0021: invoke-virtual {v0}, Ljava/lang/Exception;.toString:()Ljava/lang/String; // method@0561 │ │ +01c9dc: 0c04 |0024: move-result-object v4 │ │ +01c9de: 6e20 0a03 4300 |0025: invoke-virtual {v3, v4}, Ldnsfilter/android/DNSProxyActivity;.logLine:(Ljava/lang/String;)V // method@030a │ │ +01c9e4: 0e00 |0028: return-void │ │ catches : 1 │ │ 0x000b - 0x000e │ │ Ljava/lang/Exception; -> 0x000f │ │ positions : │ │ 0x0000 line=1198 │ │ 0x000b line=1200 │ │ 0x0010 line=1202 │ │ @@ -45001,106 +45001,106 @@ │ │ type : '()V' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 8 │ │ ins : 1 │ │ outs : 4 │ │ insns size : 203 16-bit code units │ │ -01c9fc: |[01c9fc] dnsfilter.android.DNSProxyActivity.pepareRemoteControl:()V │ │ -01ca0c: 1a00 0000 |0000: const-string v0, "" // string@0000 │ │ -01ca10: 2201 0b00 |0002: new-instance v1, Landroid/app/Dialog; // type@000b │ │ -01ca14: 1502 097f |0004: const/high16 v2, #int 2131296256 // #7f09 │ │ -01ca18: 7030 1400 7102 |0006: invoke-direct {v1, v7, v2}, Landroid/app/Dialog;.:(Landroid/content/Context;I)V // method@0014 │ │ -01ca1e: 1402 0d00 067f |0009: const v2, #float 1.78117e+38 // #7f06000d │ │ -01ca24: 6e20 1b00 2100 |000c: invoke-virtual {v1, v2}, Landroid/app/Dialog;.setContentView:(I)V // method@001b │ │ -01ca2a: 1402 5000 057f |000f: const v2, #float 1.76789e+38 // #7f050050 │ │ -01ca30: 6e20 1700 2100 |0012: invoke-virtual {v1, v2}, Landroid/app/Dialog;.findViewById:(I)Landroid/view/View; // method@0017 │ │ -01ca36: 0c02 |0015: move-result-object v2 │ │ -01ca38: 1f02 6300 |0016: check-cast v2, Landroid/widget/Button; // type@0063 │ │ -01ca3c: 1403 4f00 057f |0018: const v3, #float 1.76789e+38 // #7f05004f │ │ -01ca42: 6e20 1700 3100 |001b: invoke-virtual {v1, v3}, Landroid/app/Dialog;.findViewById:(I)Landroid/view/View; // method@0017 │ │ -01ca48: 0c03 |001e: move-result-object v3 │ │ -01ca4a: 1f03 6300 |001f: check-cast v3, Landroid/widget/Button; // type@0063 │ │ -01ca4e: 2204 a900 |0021: new-instance v4, Ldnsfilter/android/DNSProxyActivity$4; // type@00a9 │ │ -01ca52: 7040 c502 7421 |0023: invoke-direct {v4, v7, v1, v2}, Ldnsfilter/android/DNSProxyActivity$4;.:(Ldnsfilter/android/DNSProxyActivity;Landroid/app/Dialog;Landroid/widget/Button;)V // method@02c5 │ │ -01ca58: 6e20 1f00 7100 |0026: invoke-virtual {v1, v7}, Landroid/app/Dialog;.setOnKeyListener:(Landroid/content/DialogInterface$OnKeyListener;)V // method@001f │ │ -01ca5e: 6e10 f802 0700 |0029: invoke-virtual {v7}, Ldnsfilter/android/DNSProxyActivity;.getResources:()Landroid/content/res/Resources; // method@02f8 │ │ -01ca64: 0c05 |002c: move-result-object v5 │ │ -01ca66: 1406 2500 087f |002d: const v6, #float 1.80776e+38 // #7f080025 │ │ -01ca6c: 6e20 5900 6500 |0030: invoke-virtual {v5, v6}, Landroid/content/res/Resources;.getString:(I)Ljava/lang/String; // method@0059 │ │ -01ca72: 0c05 |0033: move-result-object v5 │ │ -01ca74: 6e20 2100 5100 |0034: invoke-virtual {v1, v5}, Landroid/app/Dialog;.setTitle:(Ljava/lang/CharSequence;)V // method@0021 │ │ -01ca7a: 6e20 c500 4200 |0037: invoke-virtual {v2, v4}, Landroid/widget/Button;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@00c5 │ │ -01ca80: 6e20 c500 4300 |003a: invoke-virtual {v3, v4}, Landroid/widget/Button;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@00c5 │ │ -01ca86: 7100 5301 0000 |003d: invoke-static {}, Ldnsfilter/ConfigurationAccess;.getLocal:()Ldnsfilter/ConfigurationAccess; // method@0153 │ │ -01ca8c: 0c02 |0040: move-result-object v2 │ │ -01ca8e: 6e10 4d01 0200 |0041: invoke-virtual {v2}, Ldnsfilter/ConfigurationAccess;.getConfig:()Ljava/util/Properties; // method@014d │ │ -01ca94: 0c02 |0044: move-result-object v2 │ │ -01ca96: 1a03 dd05 |0045: const-string v3, "client_remote_ctrl_host" // string@05dd │ │ -01ca9a: 6e30 5706 3200 |0047: invoke-virtual {v2, v3, v0}, Ljava/util/Properties;.getProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@0657 │ │ -01caa0: 0c02 |004a: move-result-object v2 │ │ -01caa2: 7100 5301 0000 |004b: invoke-static {}, Ldnsfilter/ConfigurationAccess;.getLocal:()Ldnsfilter/ConfigurationAccess; // method@0153 │ │ -01caa8: 0c03 |004e: move-result-object v3 │ │ -01caaa: 6e10 4d01 0300 |004f: invoke-virtual {v3}, Ldnsfilter/ConfigurationAccess;.getConfig:()Ljava/util/Properties; // method@014d │ │ -01cab0: 0c03 |0052: move-result-object v3 │ │ -01cab2: 1a04 de05 |0053: const-string v4, "client_remote_ctrl_keyphrase" // string@05de │ │ -01cab6: 6e30 5706 4300 |0055: invoke-virtual {v3, v4, v0}, Ljava/util/Properties;.getProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@0657 │ │ -01cabc: 0c00 |0058: move-result-object v0 │ │ -01cabe: 7100 5301 0000 |0059: invoke-static {}, Ldnsfilter/ConfigurationAccess;.getLocal:()Ldnsfilter/ConfigurationAccess; // method@0153 │ │ -01cac4: 0c03 |005c: move-result-object v3 │ │ -01cac6: 6e10 4d01 0300 |005d: invoke-virtual {v3}, Ldnsfilter/ConfigurationAccess;.getConfig:()Ljava/util/Properties; // method@014d │ │ -01cacc: 0c03 |0060: move-result-object v3 │ │ -01cace: 1a04 df05 |0061: const-string v4, "client_remote_ctrl_port" // string@05df │ │ -01cad2: 1a05 7900 |0063: const-string v5, "3333" // string@0079 │ │ -01cad6: 6e30 5706 4305 |0065: invoke-virtual {v3, v4, v5}, Ljava/util/Properties;.getProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@0657 │ │ -01cadc: 0c03 |0068: move-result-object v3 │ │ -01cade: 7110 6705 0300 |0069: invoke-static {v3}, Ljava/lang/Integer;.parseInt:(Ljava/lang/String;)I // method@0567 │ │ -01cae4: 0a03 |006c: move-result v3 │ │ -01cae6: 2803 |006d: goto 0070 // +0003 │ │ -01cae8: 1303 050d |006e: const/16 v3, #int 3333 // #d05 │ │ -01caec: 1404 5100 057f |0070: const v4, #float 1.76789e+38 // #7f050051 │ │ -01caf2: 6e20 1700 4100 |0073: invoke-virtual {v1, v4}, Landroid/app/Dialog;.findViewById:(I)Landroid/view/View; // method@0017 │ │ -01caf8: 0c04 |0076: move-result-object v4 │ │ -01cafa: 1f04 6700 |0077: check-cast v4, Landroid/widget/EditText; // type@0067 │ │ -01cafe: 2205 2d01 |0079: new-instance v5, Ljava/lang/StringBuilder; // type@012d │ │ -01cb02: 7010 a905 0500 |007b: invoke-direct {v5}, Ljava/lang/StringBuilder;.:()V // method@05a9 │ │ -01cb08: 6e20 af05 2500 |007e: invoke-virtual {v5, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -01cb0e: 1a02 8100 |0081: const-string v2, ":" // string@0081 │ │ -01cb12: 6e20 af05 2500 |0083: invoke-virtual {v5, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -01cb18: 6e20 ac05 3500 |0086: invoke-virtual {v5, v3}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@05ac │ │ -01cb1e: 6e10 b105 0500 |0089: invoke-virtual {v5}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ -01cb24: 0c02 |008c: move-result-object v2 │ │ -01cb26: 6e20 e600 2400 |008d: invoke-virtual {v4, v2}, Landroid/widget/EditText;.setText:(Ljava/lang/CharSequence;)V // method@00e6 │ │ -01cb2c: 1402 4700 057f |0090: const v2, #float 1.76789e+38 // #7f050047 │ │ -01cb32: 6e20 1700 2100 |0093: invoke-virtual {v1, v2}, Landroid/app/Dialog;.findViewById:(I)Landroid/view/View; // method@0017 │ │ -01cb38: 0c02 |0096: move-result-object v2 │ │ -01cb3a: 1f02 6700 |0097: check-cast v2, Landroid/widget/EditText; // type@0067 │ │ -01cb3e: 6e20 e600 0200 |0099: invoke-virtual {v2, v0}, Landroid/widget/EditText;.setText:(Ljava/lang/CharSequence;)V // method@00e6 │ │ -01cb44: 6e10 2200 0100 |009c: invoke-virtual {v1}, Landroid/app/Dialog;.show:()V // method@0022 │ │ -01cb4a: 6e10 1800 0100 |009f: invoke-virtual {v1}, Landroid/app/Dialog;.getWindow:()Landroid/view/Window; // method@0018 │ │ -01cb50: 0c00 |00a2: move-result-object v0 │ │ -01cb52: 6001 ef00 |00a3: sget v1, Ldnsfilter/android/DNSProxyActivity;.DISPLAY_WIDTH:I // field@00ef │ │ -01cb56: 6002 ee00 |00a5: sget v2, Ldnsfilter/android/DNSProxyActivity;.DISPLAY_HEIGTH:I // field@00ee │ │ -01cb5a: 7120 7305 2100 |00a7: invoke-static {v1, v2}, Ljava/lang/Math;.min:(II)I // method@0573 │ │ -01cb60: 0a01 |00aa: move-result v1 │ │ -01cb62: 8311 |00ab: int-to-double v1, v1 │ │ -01cb64: 1803 cdcc cccc cccc ec3f |00ac: const-wide v3, #double 0.9 // #3feccccccccccccd │ │ -01cb6e: 7120 5805 2100 |00b1: invoke-static {v1, v2}, Ljava/lang/Double;.isNaN:(D)Z // method@0558 │ │ -01cb74: ad01 0103 |00b4: mul-double v1, v1, v3 │ │ -01cb78: 8a11 |00b6: double-to-int v1, v1 │ │ -01cb7a: 12e2 |00b7: const/4 v2, #int -2 // #fe │ │ -01cb7c: 6e30 ba00 1002 |00b8: invoke-virtual {v0, v1, v2}, Landroid/view/Window;.setLayout:(II)V // method@00ba │ │ -01cb82: 1401 0d00 0601 |00bb: const v1, #float 2.46119e-38 // #0106000d │ │ -01cb88: 6e20 b900 1000 |00be: invoke-virtual {v0, v1}, Landroid/view/Window;.setBackgroundDrawableResource:(I)V // method@00b9 │ │ -01cb8e: 0e00 |00c1: return-void │ │ -01cb90: 0d00 |00c2: move-exception v0 │ │ -01cb92: 7100 2707 0000 |00c3: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0727 │ │ -01cb98: 0c01 |00c6: move-result-object v1 │ │ -01cb9a: 7220 3207 0100 |00c7: invoke-interface {v1, v0}, Lutil/LoggerInterface;.logException:(Ljava/lang/Exception;)V // method@0732 │ │ -01cba0: 0e00 |00ca: return-void │ │ +01c9f8: |[01c9f8] dnsfilter.android.DNSProxyActivity.pepareRemoteControl:()V │ │ +01ca08: 1a00 0000 |0000: const-string v0, "" // string@0000 │ │ +01ca0c: 2201 0b00 |0002: new-instance v1, Landroid/app/Dialog; // type@000b │ │ +01ca10: 1502 097f |0004: const/high16 v2, #int 2131296256 // #7f09 │ │ +01ca14: 7030 1400 7102 |0006: invoke-direct {v1, v7, v2}, Landroid/app/Dialog;.:(Landroid/content/Context;I)V // method@0014 │ │ +01ca1a: 1402 0d00 067f |0009: const v2, #float 1.78117e+38 // #7f06000d │ │ +01ca20: 6e20 1b00 2100 |000c: invoke-virtual {v1, v2}, Landroid/app/Dialog;.setContentView:(I)V // method@001b │ │ +01ca26: 1402 5000 057f |000f: const v2, #float 1.76789e+38 // #7f050050 │ │ +01ca2c: 6e20 1700 2100 |0012: invoke-virtual {v1, v2}, Landroid/app/Dialog;.findViewById:(I)Landroid/view/View; // method@0017 │ │ +01ca32: 0c02 |0015: move-result-object v2 │ │ +01ca34: 1f02 6300 |0016: check-cast v2, Landroid/widget/Button; // type@0063 │ │ +01ca38: 1403 4f00 057f |0018: const v3, #float 1.76789e+38 // #7f05004f │ │ +01ca3e: 6e20 1700 3100 |001b: invoke-virtual {v1, v3}, Landroid/app/Dialog;.findViewById:(I)Landroid/view/View; // method@0017 │ │ +01ca44: 0c03 |001e: move-result-object v3 │ │ +01ca46: 1f03 6300 |001f: check-cast v3, Landroid/widget/Button; // type@0063 │ │ +01ca4a: 2204 a900 |0021: new-instance v4, Ldnsfilter/android/DNSProxyActivity$4; // type@00a9 │ │ +01ca4e: 7040 c502 7421 |0023: invoke-direct {v4, v7, v1, v2}, Ldnsfilter/android/DNSProxyActivity$4;.:(Ldnsfilter/android/DNSProxyActivity;Landroid/app/Dialog;Landroid/widget/Button;)V // method@02c5 │ │ +01ca54: 6e20 1f00 7100 |0026: invoke-virtual {v1, v7}, Landroid/app/Dialog;.setOnKeyListener:(Landroid/content/DialogInterface$OnKeyListener;)V // method@001f │ │ +01ca5a: 6e10 f802 0700 |0029: invoke-virtual {v7}, Ldnsfilter/android/DNSProxyActivity;.getResources:()Landroid/content/res/Resources; // method@02f8 │ │ +01ca60: 0c05 |002c: move-result-object v5 │ │ +01ca62: 1406 2500 087f |002d: const v6, #float 1.80776e+38 // #7f080025 │ │ +01ca68: 6e20 5900 6500 |0030: invoke-virtual {v5, v6}, Landroid/content/res/Resources;.getString:(I)Ljava/lang/String; // method@0059 │ │ +01ca6e: 0c05 |0033: move-result-object v5 │ │ +01ca70: 6e20 2100 5100 |0034: invoke-virtual {v1, v5}, Landroid/app/Dialog;.setTitle:(Ljava/lang/CharSequence;)V // method@0021 │ │ +01ca76: 6e20 c500 4200 |0037: invoke-virtual {v2, v4}, Landroid/widget/Button;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@00c5 │ │ +01ca7c: 6e20 c500 4300 |003a: invoke-virtual {v3, v4}, Landroid/widget/Button;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@00c5 │ │ +01ca82: 7100 5301 0000 |003d: invoke-static {}, Ldnsfilter/ConfigurationAccess;.getLocal:()Ldnsfilter/ConfigurationAccess; // method@0153 │ │ +01ca88: 0c02 |0040: move-result-object v2 │ │ +01ca8a: 6e10 4d01 0200 |0041: invoke-virtual {v2}, Ldnsfilter/ConfigurationAccess;.getConfig:()Ljava/util/Properties; // method@014d │ │ +01ca90: 0c02 |0044: move-result-object v2 │ │ +01ca92: 1a03 dd05 |0045: const-string v3, "client_remote_ctrl_host" // string@05dd │ │ +01ca96: 6e30 5706 3200 |0047: invoke-virtual {v2, v3, v0}, Ljava/util/Properties;.getProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@0657 │ │ +01ca9c: 0c02 |004a: move-result-object v2 │ │ +01ca9e: 7100 5301 0000 |004b: invoke-static {}, Ldnsfilter/ConfigurationAccess;.getLocal:()Ldnsfilter/ConfigurationAccess; // method@0153 │ │ +01caa4: 0c03 |004e: move-result-object v3 │ │ +01caa6: 6e10 4d01 0300 |004f: invoke-virtual {v3}, Ldnsfilter/ConfigurationAccess;.getConfig:()Ljava/util/Properties; // method@014d │ │ +01caac: 0c03 |0052: move-result-object v3 │ │ +01caae: 1a04 de05 |0053: const-string v4, "client_remote_ctrl_keyphrase" // string@05de │ │ +01cab2: 6e30 5706 4300 |0055: invoke-virtual {v3, v4, v0}, Ljava/util/Properties;.getProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@0657 │ │ +01cab8: 0c00 |0058: move-result-object v0 │ │ +01caba: 7100 5301 0000 |0059: invoke-static {}, Ldnsfilter/ConfigurationAccess;.getLocal:()Ldnsfilter/ConfigurationAccess; // method@0153 │ │ +01cac0: 0c03 |005c: move-result-object v3 │ │ +01cac2: 6e10 4d01 0300 |005d: invoke-virtual {v3}, Ldnsfilter/ConfigurationAccess;.getConfig:()Ljava/util/Properties; // method@014d │ │ +01cac8: 0c03 |0060: move-result-object v3 │ │ +01caca: 1a04 df05 |0061: const-string v4, "client_remote_ctrl_port" // string@05df │ │ +01cace: 1a05 7900 |0063: const-string v5, "3333" // string@0079 │ │ +01cad2: 6e30 5706 4305 |0065: invoke-virtual {v3, v4, v5}, Ljava/util/Properties;.getProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@0657 │ │ +01cad8: 0c03 |0068: move-result-object v3 │ │ +01cada: 7110 6705 0300 |0069: invoke-static {v3}, Ljava/lang/Integer;.parseInt:(Ljava/lang/String;)I // method@0567 │ │ +01cae0: 0a03 |006c: move-result v3 │ │ +01cae2: 2803 |006d: goto 0070 // +0003 │ │ +01cae4: 1303 050d |006e: const/16 v3, #int 3333 // #d05 │ │ +01cae8: 1404 5100 057f |0070: const v4, #float 1.76789e+38 // #7f050051 │ │ +01caee: 6e20 1700 4100 |0073: invoke-virtual {v1, v4}, Landroid/app/Dialog;.findViewById:(I)Landroid/view/View; // method@0017 │ │ +01caf4: 0c04 |0076: move-result-object v4 │ │ +01caf6: 1f04 6700 |0077: check-cast v4, Landroid/widget/EditText; // type@0067 │ │ +01cafa: 2205 2d01 |0079: new-instance v5, Ljava/lang/StringBuilder; // type@012d │ │ +01cafe: 7010 a905 0500 |007b: invoke-direct {v5}, Ljava/lang/StringBuilder;.:()V // method@05a9 │ │ +01cb04: 6e20 af05 2500 |007e: invoke-virtual {v5, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +01cb0a: 1a02 8100 |0081: const-string v2, ":" // string@0081 │ │ +01cb0e: 6e20 af05 2500 |0083: invoke-virtual {v5, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +01cb14: 6e20 ac05 3500 |0086: invoke-virtual {v5, v3}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@05ac │ │ +01cb1a: 6e10 b105 0500 |0089: invoke-virtual {v5}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ +01cb20: 0c02 |008c: move-result-object v2 │ │ +01cb22: 6e20 e600 2400 |008d: invoke-virtual {v4, v2}, Landroid/widget/EditText;.setText:(Ljava/lang/CharSequence;)V // method@00e6 │ │ +01cb28: 1402 4700 057f |0090: const v2, #float 1.76789e+38 // #7f050047 │ │ +01cb2e: 6e20 1700 2100 |0093: invoke-virtual {v1, v2}, Landroid/app/Dialog;.findViewById:(I)Landroid/view/View; // method@0017 │ │ +01cb34: 0c02 |0096: move-result-object v2 │ │ +01cb36: 1f02 6700 |0097: check-cast v2, Landroid/widget/EditText; // type@0067 │ │ +01cb3a: 6e20 e600 0200 |0099: invoke-virtual {v2, v0}, Landroid/widget/EditText;.setText:(Ljava/lang/CharSequence;)V // method@00e6 │ │ +01cb40: 6e10 2200 0100 |009c: invoke-virtual {v1}, Landroid/app/Dialog;.show:()V // method@0022 │ │ +01cb46: 6e10 1800 0100 |009f: invoke-virtual {v1}, Landroid/app/Dialog;.getWindow:()Landroid/view/Window; // method@0018 │ │ +01cb4c: 0c00 |00a2: move-result-object v0 │ │ +01cb4e: 6001 ef00 |00a3: sget v1, Ldnsfilter/android/DNSProxyActivity;.DISPLAY_WIDTH:I // field@00ef │ │ +01cb52: 6002 ee00 |00a5: sget v2, Ldnsfilter/android/DNSProxyActivity;.DISPLAY_HEIGTH:I // field@00ee │ │ +01cb56: 7120 7305 2100 |00a7: invoke-static {v1, v2}, Ljava/lang/Math;.min:(II)I // method@0573 │ │ +01cb5c: 0a01 |00aa: move-result v1 │ │ +01cb5e: 8311 |00ab: int-to-double v1, v1 │ │ +01cb60: 1803 cdcc cccc cccc ec3f |00ac: const-wide v3, #double 0.9 // #3feccccccccccccd │ │ +01cb6a: 7120 5805 2100 |00b1: invoke-static {v1, v2}, Ljava/lang/Double;.isNaN:(D)Z // method@0558 │ │ +01cb70: ad01 0103 |00b4: mul-double v1, v1, v3 │ │ +01cb74: 8a11 |00b6: double-to-int v1, v1 │ │ +01cb76: 12e2 |00b7: const/4 v2, #int -2 // #fe │ │ +01cb78: 6e30 ba00 1002 |00b8: invoke-virtual {v0, v1, v2}, Landroid/view/Window;.setLayout:(II)V // method@00ba │ │ +01cb7e: 1401 0d00 0601 |00bb: const v1, #float 2.46119e-38 // #0106000d │ │ +01cb84: 6e20 b900 1000 |00be: invoke-virtual {v0, v1}, Landroid/view/Window;.setBackgroundDrawableResource:(I)V // method@00b9 │ │ +01cb8a: 0e00 |00c1: return-void │ │ +01cb8c: 0d00 |00c2: move-exception v0 │ │ +01cb8e: 7100 2707 0000 |00c3: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0727 │ │ +01cb94: 0c01 |00c6: move-result-object v1 │ │ +01cb96: 7220 3207 0100 |00c7: invoke-interface {v1, v0}, Lutil/LoggerInterface;.logException:(Ljava/lang/Exception;)V // method@0732 │ │ +01cb9c: 0e00 |00ca: return-void │ │ catches : 2 │ │ 0x003d - 0x0059 │ │ Ljava/lang/Exception; -> 0x00c2 │ │ 0x0059 - 0x006d │ │ Ljava/lang/Exception; -> 0x006e │ │ positions : │ │ 0x0000 line=1237 │ │ @@ -45130,254 +45130,254 @@ │ │ type : '()V' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 17 │ │ ins : 1 │ │ outs : 3 │ │ insns size : 513 16-bit code units │ │ -01cbc0: |[01cbc0] dnsfilter.android.DNSProxyActivity.persistConfig:()V │ │ -01cbd0: 1a00 ce0a |0000: const-string v0, "showInitialInfoPopUp" // string@0ace │ │ -01cbd4: 1a01 e606 |0002: const-string v1, "filterActive" // string@06e6 │ │ -01cbd8: 1a02 2a0a |0004: const-string v2, "rootModeOnAndroid" // string@0a2a │ │ -01cbdc: 1a03 6d06 |0006: const-string v3, "dnsProxyOnlyLocalRequests" // string@066d │ │ -01cbe0: 1a04 6b06 |0008: const-string v4, "dnsProxyOnAndroid" // string@066b │ │ -01cbe4: 1a05 6805 |000a: const-string v5, "androidKeepAwake" // string@0568 │ │ -01cbe8: 1a06 c005 |000c: const-string v6, "checkCNAME" // string@05c0 │ │ -01cbec: 1a07 6705 |000e: const-string v7, "androidAppWhiteList" // string@0567 │ │ -01cbf0: 1a08 b200 |0010: const-string v8, "AUTOSTART" // string@00b2 │ │ -01cbf4: 1a09 db09 |0012: const-string v9, "reloadIntervalDays" // string@09db │ │ -01cbf8: 1a0a 0000 |0014: const-string v10, "" // string@0000 │ │ -01cbfc: 7401 2503 1000 |0016: invoke-virtual/range {v16}, Ldnsfilter/android/DNSProxyActivity;.persistManuallyEditConf:()Z // method@0325 │ │ -01cc02: 0a0b |0019: move-result v11 │ │ -01cc04: 380b 0300 |001a: if-eqz v11, 001d // +0003 │ │ -01cc08: 0e00 |001c: return-void │ │ -01cc0a: 7401 2303 1000 |001d: invoke-virtual/range {v16}, Ldnsfilter/android/DNSProxyActivity;.persistAdditionalHosts:()Z // method@0323 │ │ -01cc10: 0a0b |0020: move-result v11 │ │ -01cc12: 620c 1801 |0021: sget-object v12, Ldnsfilter/android/DNSProxyActivity;.filterReloadIntervalView:Landroid/widget/EditText; // field@0118 │ │ -01cc16: 6e10 da00 0c00 |0023: invoke-virtual {v12}, Landroid/widget/EditText;.getText:()Landroid/text/Editable; // method@00da │ │ -01cc1c: 0c0c |0026: move-result-object v12 │ │ -01cc1e: 6e10 7a05 0c00 |0027: invoke-virtual {v12}, Ljava/lang/Object;.toString:()Ljava/lang/String; // method@057a │ │ -01cc24: 0c0c |002a: move-result-object v12 │ │ -01cc26: 6e20 8d05 ac00 |002b: invoke-virtual {v12, v10}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058d │ │ -01cc2c: 0a0c |002e: move-result v12 │ │ -01cc2e: 380c 0900 |002f: if-eqz v12, 0038 // +0009 │ │ -01cc32: 620c 1801 |0031: sget-object v12, Ldnsfilter/android/DNSProxyActivity;.filterReloadIntervalView:Landroid/widget/EditText; // field@0118 │ │ -01cc36: 1a0d 7f00 |0033: const-string v13, "7" // string@007f │ │ -01cc3a: 6e20 e600 dc00 |0035: invoke-virtual {v12, v13}, Landroid/widget/EditText;.setText:(Ljava/lang/CharSequence;)V // method@00e6 │ │ -01cc40: 7401 f502 1000 |0038: invoke-virtual/range {v16}, Ldnsfilter/android/DNSProxyActivity;.getConfig:()Ldnsfilter/ConfigUtil; // method@02f5 │ │ -01cc46: 0c0c |003b: move-result-object v12 │ │ -01cc48: 620d 1601 |003c: sget-object v13, Ldnsfilter/android/DNSProxyActivity;.filterCfg:Ldnsfilter/android/FilterConfig; // field@0116 │ │ -01cc4c: 6e10 3f03 0d00 |003e: invoke-virtual {v13}, Ldnsfilter/android/FilterConfig;.getFilterEntries:()[Ldnsfilter/ConfigUtil$HostFilterList; // method@033f │ │ -01cc52: 0c0d |0041: move-result-object v13 │ │ -01cc54: 6e20 4101 dc00 |0042: invoke-virtual {v12, v13}, Ldnsfilter/ConfigUtil;.setConfiguredFilterLists:([Ldnsfilter/ConfigUtil$HostFilterList;)V // method@0141 │ │ -01cc5a: 220c f400 |0045: new-instance v12, Ljava/io/BufferedReader; // type@00f4 │ │ -01cc5e: 220d 0201 |0047: new-instance v13, Ljava/io/InputStreamReader; // type@0102 │ │ -01cc62: 220e f600 |0049: new-instance v14, Ljava/io/ByteArrayInputStream; // type@00f6 │ │ -01cc66: 620f ed00 |004b: sget-object v15, Ldnsfilter/android/DNSProxyActivity;.CONFIG:Ldnsfilter/ConfigurationAccess; // field@00ed │ │ -01cc6a: 6e10 5901 0f00 |004d: invoke-virtual {v15}, Ldnsfilter/ConfigurationAccess;.readConfig:()[B // method@0159 │ │ -01cc70: 0c0f |0050: move-result-object v15 │ │ -01cc72: 7020 e104 fe00 |0051: invoke-direct {v14, v15}, Ljava/io/ByteArrayInputStream;.:([B)V // method@04e1 │ │ -01cc78: 7020 2d05 ed00 |0054: invoke-direct {v13, v14}, Ljava/io/InputStreamReader;.:(Ljava/io/InputStream;)V // method@052d │ │ -01cc7e: 7020 da04 dc00 |0057: invoke-direct {v12, v13}, Ljava/io/BufferedReader;.:(Ljava/io/Reader;)V // method@04da │ │ -01cc84: 6e10 dc04 0c00 |005a: invoke-virtual {v12}, Ljava/io/BufferedReader;.readLine:()Ljava/lang/String; // method@04dc │ │ -01cc8a: 0c0d |005d: move-result-object v13 │ │ -01cc8c: 380d 7501 |005e: if-eqz v13, 01d3 // +0175 │ │ -01cc90: 6e10 a205 0d00 |0060: invoke-virtual {v13}, Ljava/lang/String;.trim:()Ljava/lang/String; // method@05a2 │ │ -01cc96: 0c0e |0063: move-result-object v14 │ │ -01cc98: 6e20 9b05 9e00 |0064: invoke-virtual {v14, v9}, Ljava/lang/String;.startsWith:(Ljava/lang/String;)Z // method@059b │ │ -01cc9e: 0a0e |0067: move-result v14 │ │ -01cca0: 380e 1400 |0068: if-eqz v14, 007c // +0014 │ │ -01cca4: 7401 f502 1000 |006a: invoke-virtual/range {v16}, Ldnsfilter/android/DNSProxyActivity;.getConfig:()Ldnsfilter/ConfigUtil; // method@02f5 │ │ -01ccaa: 0c0d |006d: move-result-object v13 │ │ -01ccac: 620e 1801 |006e: sget-object v14, Ldnsfilter/android/DNSProxyActivity;.filterReloadIntervalView:Landroid/widget/EditText; // field@0118 │ │ -01ccb0: 6e10 da00 0e00 |0070: invoke-virtual {v14}, Landroid/widget/EditText;.getText:()Landroid/text/Editable; // method@00da │ │ -01ccb6: 0c0e |0073: move-result-object v14 │ │ -01ccb8: 6e10 7a05 0e00 |0074: invoke-virtual {v14}, Ljava/lang/Object;.toString:()Ljava/lang/String; // method@057a │ │ -01ccbe: 0c0e |0077: move-result-object v14 │ │ -01ccc0: 6e30 4301 9d0e |0078: invoke-virtual {v13, v9, v14}, Ldnsfilter/ConfigUtil;.updateConfigValue:(Ljava/lang/String;Ljava/lang/String;)V // method@0143 │ │ -01ccc6: 28df |007b: goto 005a // -0021 │ │ -01ccc8: 6e10 a205 0d00 |007c: invoke-virtual {v13}, Ljava/lang/String;.trim:()Ljava/lang/String; // method@05a2 │ │ -01ccce: 0c0e |007f: move-result-object v14 │ │ -01ccd0: 6e20 9b05 8e00 |0080: invoke-virtual {v14, v8}, Ljava/lang/String;.startsWith:(Ljava/lang/String;)Z // method@059b │ │ -01ccd6: 0a0e |0083: move-result v14 │ │ -01ccd8: 380e 1f00 |0084: if-eqz v14, 00a3 // +001f │ │ -01ccdc: 7401 f502 1000 |0086: invoke-virtual/range {v16}, Ldnsfilter/android/DNSProxyActivity;.getConfig:()Ldnsfilter/ConfigUtil; // method@02f5 │ │ -01cce2: 0c0d |0089: move-result-object v13 │ │ -01cce4: 220e 2d01 |008a: new-instance v14, Ljava/lang/StringBuilder; // type@012d │ │ -01cce8: 7010 a905 0e00 |008c: invoke-direct {v14}, Ljava/lang/StringBuilder;.:()V // method@05a9 │ │ -01ccee: 620f 1401 |008f: sget-object v15, Ldnsfilter/android/DNSProxyActivity;.enableAutoStartCheck:Landroid/widget/CheckBox; // field@0114 │ │ -01ccf2: 6e10 cc00 0f00 |0091: invoke-virtual {v15}, Landroid/widget/CheckBox;.isChecked:()Z // method@00cc │ │ -01ccf8: 0a0f |0094: move-result v15 │ │ -01ccfa: 6e20 b005 fe00 |0095: invoke-virtual {v14, v15}, Ljava/lang/StringBuilder;.append:(Z)Ljava/lang/StringBuilder; // method@05b0 │ │ -01cd00: 6e20 af05 ae00 |0098: invoke-virtual {v14, v10}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -01cd06: 6e10 b105 0e00 |009b: invoke-virtual {v14}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ -01cd0c: 0c0e |009e: move-result-object v14 │ │ -01cd0e: 6e30 4301 8d0e |009f: invoke-virtual {v13, v8, v14}, Ldnsfilter/ConfigUtil;.updateConfigValue:(Ljava/lang/String;Ljava/lang/String;)V // method@0143 │ │ -01cd14: 28b8 |00a2: goto 005a // -0048 │ │ -01cd16: 6e10 a205 0d00 |00a3: invoke-virtual {v13}, Ljava/lang/String;.trim:()Ljava/lang/String; // method@05a2 │ │ -01cd1c: 0c0e |00a6: move-result-object v14 │ │ -01cd1e: 6e20 9b05 7e00 |00a7: invoke-virtual {v14, v7}, Ljava/lang/String;.startsWith:(Ljava/lang/String;)Z // method@059b │ │ -01cd24: 0a0e |00aa: move-result v14 │ │ -01cd26: 380e 1000 |00ab: if-eqz v14, 00bb // +0010 │ │ -01cd2a: 7401 f502 1000 |00ad: invoke-virtual/range {v16}, Ldnsfilter/android/DNSProxyActivity;.getConfig:()Ldnsfilter/ConfigUtil; // method@02f5 │ │ -01cd30: 0c0d |00b0: move-result-object v13 │ │ -01cd32: 620e 0401 |00b1: sget-object v14, Ldnsfilter/android/DNSProxyActivity;.appSelector:Ldnsfilter/android/AppSelectorView; // field@0104 │ │ -01cd36: 6e10 5102 0e00 |00b3: invoke-virtual {v14}, Ldnsfilter/android/AppSelectorView;.getSelectedAppPackages:()Ljava/lang/String; // method@0251 │ │ -01cd3c: 0c0e |00b6: move-result-object v14 │ │ -01cd3e: 6e30 4301 7d0e |00b7: invoke-virtual {v13, v7, v14}, Ldnsfilter/ConfigUtil;.updateConfigValue:(Ljava/lang/String;Ljava/lang/String;)V // method@0143 │ │ -01cd44: 28a0 |00ba: goto 005a // -0060 │ │ -01cd46: 6e10 a205 0d00 |00bb: invoke-virtual {v13}, Ljava/lang/String;.trim:()Ljava/lang/String; // method@05a2 │ │ -01cd4c: 0c0e |00be: move-result-object v14 │ │ -01cd4e: 6e20 9b05 6e00 |00bf: invoke-virtual {v14, v6}, Ljava/lang/String;.startsWith:(Ljava/lang/String;)Z // method@059b │ │ -01cd54: 0a0e |00c2: move-result v14 │ │ -01cd56: 380e 2000 |00c3: if-eqz v14, 00e3 // +0020 │ │ -01cd5a: 7401 f502 1000 |00c5: invoke-virtual/range {v16}, Ldnsfilter/android/DNSProxyActivity;.getConfig:()Ldnsfilter/ConfigUtil; // method@02f5 │ │ -01cd60: 0c0d |00c8: move-result-object v13 │ │ -01cd62: 220e 2d01 |00c9: new-instance v14, Ljava/lang/StringBuilder; // type@012d │ │ -01cd66: 7010 a905 0e00 |00cb: invoke-direct {v14}, Ljava/lang/StringBuilder;.:()V // method@05a9 │ │ -01cd6c: 620f 1501 |00ce: sget-object v15, Ldnsfilter/android/DNSProxyActivity;.enableCloakProtectCheck:Landroid/widget/CheckBox; // field@0115 │ │ -01cd70: 6e10 cc00 0f00 |00d0: invoke-virtual {v15}, Landroid/widget/CheckBox;.isChecked:()Z // method@00cc │ │ -01cd76: 0a0f |00d3: move-result v15 │ │ -01cd78: 6e20 b005 fe00 |00d4: invoke-virtual {v14, v15}, Ljava/lang/StringBuilder;.append:(Z)Ljava/lang/StringBuilder; // method@05b0 │ │ -01cd7e: 6e20 af05 ae00 |00d7: invoke-virtual {v14, v10}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -01cd84: 6e10 b105 0e00 |00da: invoke-virtual {v14}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ -01cd8a: 0c0e |00dd: move-result-object v14 │ │ -01cd8c: 6e30 4301 6d0e |00de: invoke-virtual {v13, v6, v14}, Ldnsfilter/ConfigUtil;.updateConfigValue:(Ljava/lang/String;Ljava/lang/String;)V // method@0143 │ │ -01cd92: 2900 79ff |00e1: goto/16 005a // -0087 │ │ -01cd96: 6e10 a205 0d00 |00e3: invoke-virtual {v13}, Ljava/lang/String;.trim:()Ljava/lang/String; // method@05a2 │ │ -01cd9c: 0c0e |00e6: move-result-object v14 │ │ -01cd9e: 6e20 9b05 5e00 |00e7: invoke-virtual {v14, v5}, Ljava/lang/String;.startsWith:(Ljava/lang/String;)Z // method@059b │ │ -01cda4: 0a0e |00ea: move-result v14 │ │ -01cda6: 380e 2000 |00eb: if-eqz v14, 010b // +0020 │ │ -01cdaa: 7401 f502 1000 |00ed: invoke-virtual/range {v16}, Ldnsfilter/android/DNSProxyActivity;.getConfig:()Ldnsfilter/ConfigUtil; // method@02f5 │ │ -01cdb0: 0c0d |00f0: move-result-object v13 │ │ -01cdb2: 220e 2d01 |00f1: new-instance v14, Ljava/lang/StringBuilder; // type@012d │ │ -01cdb6: 7010 a905 0e00 |00f3: invoke-direct {v14}, Ljava/lang/StringBuilder;.:()V // method@05a9 │ │ -01cdbc: 620f 1c01 |00f6: sget-object v15, Ldnsfilter/android/DNSProxyActivity;.keepAwakeCheck:Landroid/widget/CheckBox; // field@011c │ │ -01cdc0: 6e10 cc00 0f00 |00f8: invoke-virtual {v15}, Landroid/widget/CheckBox;.isChecked:()Z // method@00cc │ │ -01cdc6: 0a0f |00fb: move-result v15 │ │ -01cdc8: 6e20 b005 fe00 |00fc: invoke-virtual {v14, v15}, Ljava/lang/StringBuilder;.append:(Z)Ljava/lang/StringBuilder; // method@05b0 │ │ -01cdce: 6e20 af05 ae00 |00ff: invoke-virtual {v14, v10}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -01cdd4: 6e10 b105 0e00 |0102: invoke-virtual {v14}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ -01cdda: 0c0e |0105: move-result-object v14 │ │ -01cddc: 6e30 4301 5d0e |0106: invoke-virtual {v13, v5, v14}, Ldnsfilter/ConfigUtil;.updateConfigValue:(Ljava/lang/String;Ljava/lang/String;)V // method@0143 │ │ -01cde2: 2900 51ff |0109: goto/16 005a // -00af │ │ -01cde6: 6e10 a205 0d00 |010b: invoke-virtual {v13}, Ljava/lang/String;.trim:()Ljava/lang/String; // method@05a2 │ │ -01cdec: 0c0e |010e: move-result-object v14 │ │ -01cdee: 6e20 9b05 4e00 |010f: invoke-virtual {v14, v4}, Ljava/lang/String;.startsWith:(Ljava/lang/String;)Z // method@059b │ │ -01cdf4: 0a0e |0112: move-result v14 │ │ -01cdf6: 380e 2000 |0113: if-eqz v14, 0133 // +0020 │ │ -01cdfa: 7401 f502 1000 |0115: invoke-virtual/range {v16}, Ldnsfilter/android/DNSProxyActivity;.getConfig:()Ldnsfilter/ConfigUtil; // method@02f5 │ │ -01ce00: 0c0d |0118: move-result-object v13 │ │ -01ce02: 220e 2d01 |0119: new-instance v14, Ljava/lang/StringBuilder; // type@012d │ │ -01ce06: 7010 a905 0e00 |011b: invoke-direct {v14}, Ljava/lang/StringBuilder;.:()V // method@05a9 │ │ -01ce0c: 620f 2901 |011e: sget-object v15, Ldnsfilter/android/DNSProxyActivity;.proxyModeCheck:Landroid/widget/CheckBox; // field@0129 │ │ -01ce10: 6e10 cc00 0f00 |0120: invoke-virtual {v15}, Landroid/widget/CheckBox;.isChecked:()Z // method@00cc │ │ -01ce16: 0a0f |0123: move-result v15 │ │ -01ce18: 6e20 b005 fe00 |0124: invoke-virtual {v14, v15}, Ljava/lang/StringBuilder;.append:(Z)Ljava/lang/StringBuilder; // method@05b0 │ │ -01ce1e: 6e20 af05 ae00 |0127: invoke-virtual {v14, v10}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -01ce24: 6e10 b105 0e00 |012a: invoke-virtual {v14}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ -01ce2a: 0c0e |012d: move-result-object v14 │ │ -01ce2c: 6e30 4301 4d0e |012e: invoke-virtual {v13, v4, v14}, Ldnsfilter/ConfigUtil;.updateConfigValue:(Ljava/lang/String;Ljava/lang/String;)V // method@0143 │ │ -01ce32: 2900 29ff |0131: goto/16 005a // -00d7 │ │ -01ce36: 6e10 a205 0d00 |0133: invoke-virtual {v13}, Ljava/lang/String;.trim:()Ljava/lang/String; // method@05a2 │ │ -01ce3c: 0c0e |0136: move-result-object v14 │ │ -01ce3e: 6e20 9b05 3e00 |0137: invoke-virtual {v14, v3}, Ljava/lang/String;.startsWith:(Ljava/lang/String;)Z // method@059b │ │ -01ce44: 0a0e |013a: move-result v14 │ │ -01ce46: 380e 2000 |013b: if-eqz v14, 015b // +0020 │ │ -01ce4a: 7401 f502 1000 |013d: invoke-virtual/range {v16}, Ldnsfilter/android/DNSProxyActivity;.getConfig:()Ldnsfilter/ConfigUtil; // method@02f5 │ │ -01ce50: 0c0d |0140: move-result-object v13 │ │ -01ce52: 220e 2d01 |0141: new-instance v14, Ljava/lang/StringBuilder; // type@012d │ │ -01ce56: 7010 a905 0e00 |0143: invoke-direct {v14}, Ljava/lang/StringBuilder;.:()V // method@05a9 │ │ -01ce5c: 620f 2801 |0146: sget-object v15, Ldnsfilter/android/DNSProxyActivity;.proxyLocalOnlyCheck:Landroid/widget/CheckBox; // field@0128 │ │ -01ce60: 6e10 cc00 0f00 |0148: invoke-virtual {v15}, Landroid/widget/CheckBox;.isChecked:()Z // method@00cc │ │ -01ce66: 0a0f |014b: move-result v15 │ │ -01ce68: 6e20 b005 fe00 |014c: invoke-virtual {v14, v15}, Ljava/lang/StringBuilder;.append:(Z)Ljava/lang/StringBuilder; // method@05b0 │ │ -01ce6e: 6e20 af05 ae00 |014f: invoke-virtual {v14, v10}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -01ce74: 6e10 b105 0e00 |0152: invoke-virtual {v14}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ -01ce7a: 0c0e |0155: move-result-object v14 │ │ -01ce7c: 6e30 4301 3d0e |0156: invoke-virtual {v13, v3, v14}, Ldnsfilter/ConfigUtil;.updateConfigValue:(Ljava/lang/String;Ljava/lang/String;)V // method@0143 │ │ -01ce82: 2900 01ff |0159: goto/16 005a // -00ff │ │ -01ce86: 6e10 a205 0d00 |015b: invoke-virtual {v13}, Ljava/lang/String;.trim:()Ljava/lang/String; // method@05a2 │ │ -01ce8c: 0c0e |015e: move-result-object v14 │ │ -01ce8e: 6e20 9b05 2e00 |015f: invoke-virtual {v14, v2}, Ljava/lang/String;.startsWith:(Ljava/lang/String;)Z // method@059b │ │ -01ce94: 0a0e |0162: move-result v14 │ │ -01ce96: 380e 2000 |0163: if-eqz v14, 0183 // +0020 │ │ -01ce9a: 7401 f502 1000 |0165: invoke-virtual/range {v16}, Ldnsfilter/android/DNSProxyActivity;.getConfig:()Ldnsfilter/ConfigUtil; // method@02f5 │ │ -01cea0: 0c0d |0168: move-result-object v13 │ │ -01cea2: 220e 2d01 |0169: new-instance v14, Ljava/lang/StringBuilder; // type@012d │ │ -01cea6: 7010 a905 0e00 |016b: invoke-direct {v14}, Ljava/lang/StringBuilder;.:()V // method@05a9 │ │ -01ceac: 620f 3001 |016e: sget-object v15, Ldnsfilter/android/DNSProxyActivity;.rootModeCheck:Landroid/widget/CheckBox; // field@0130 │ │ -01ceb0: 6e10 cc00 0f00 |0170: invoke-virtual {v15}, Landroid/widget/CheckBox;.isChecked:()Z // method@00cc │ │ -01ceb6: 0a0f |0173: move-result v15 │ │ -01ceb8: 6e20 b005 fe00 |0174: invoke-virtual {v14, v15}, Ljava/lang/StringBuilder;.append:(Z)Ljava/lang/StringBuilder; // method@05b0 │ │ -01cebe: 6e20 af05 ae00 |0177: invoke-virtual {v14, v10}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -01cec4: 6e10 b105 0e00 |017a: invoke-virtual {v14}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ -01ceca: 0c0e |017d: move-result-object v14 │ │ -01cecc: 6e30 4301 2d0e |017e: invoke-virtual {v13, v2, v14}, Ldnsfilter/ConfigUtil;.updateConfigValue:(Ljava/lang/String;Ljava/lang/String;)V // method@0143 │ │ -01ced2: 2900 d9fe |0181: goto/16 005a // -0127 │ │ -01ced6: 6e10 a205 0d00 |0183: invoke-virtual {v13}, Ljava/lang/String;.trim:()Ljava/lang/String; // method@05a2 │ │ -01cedc: 0c0e |0186: move-result-object v14 │ │ -01cede: 6e20 9b05 1e00 |0187: invoke-virtual {v14, v1}, Ljava/lang/String;.startsWith:(Ljava/lang/String;)Z // method@059b │ │ -01cee4: 0a0e |018a: move-result v14 │ │ -01cee6: 380e 2000 |018b: if-eqz v14, 01ab // +0020 │ │ -01ceea: 7401 f502 1000 |018d: invoke-virtual/range {v16}, Ldnsfilter/android/DNSProxyActivity;.getConfig:()Ldnsfilter/ConfigUtil; // method@02f5 │ │ -01cef0: 0c0d |0190: move-result-object v13 │ │ -01cef2: 220e 2d01 |0191: new-instance v14, Ljava/lang/StringBuilder; // type@012d │ │ -01cef6: 7010 a905 0e00 |0193: invoke-direct {v14}, Ljava/lang/StringBuilder;.:()V // method@05a9 │ │ -01cefc: 620f 1301 |0196: sget-object v15, Ldnsfilter/android/DNSProxyActivity;.enableAdFilterCheck:Landroid/widget/CheckBox; // field@0113 │ │ -01cf00: 6e10 cc00 0f00 |0198: invoke-virtual {v15}, Landroid/widget/CheckBox;.isChecked:()Z // method@00cc │ │ -01cf06: 0a0f |019b: move-result v15 │ │ -01cf08: 6e20 b005 fe00 |019c: invoke-virtual {v14, v15}, Ljava/lang/StringBuilder;.append:(Z)Ljava/lang/StringBuilder; // method@05b0 │ │ -01cf0e: 6e20 af05 ae00 |019f: invoke-virtual {v14, v10}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -01cf14: 6e10 b105 0e00 |01a2: invoke-virtual {v14}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ -01cf1a: 0c0e |01a5: move-result-object v14 │ │ -01cf1c: 6e30 4301 1d0e |01a6: invoke-virtual {v13, v1, v14}, Ldnsfilter/ConfigUtil;.updateConfigValue:(Ljava/lang/String;Ljava/lang/String;)V // method@0143 │ │ -01cf22: 2900 b1fe |01a9: goto/16 005a // -014f │ │ -01cf26: 630e 2701 |01ab: sget-boolean v14, Ldnsfilter/android/DNSProxyActivity;.popUpDialogChanged:Z // field@0127 │ │ -01cf2a: 380e adfe |01ad: if-eqz v14, 005a // -0153 │ │ -01cf2e: 6e10 a205 0d00 |01af: invoke-virtual {v13}, Ljava/lang/String;.trim:()Ljava/lang/String; // method@05a2 │ │ -01cf34: 0c0d |01b2: move-result-object v13 │ │ -01cf36: 6e20 9b05 0d00 |01b3: invoke-virtual {v13, v0}, Ljava/lang/String;.startsWith:(Ljava/lang/String;)Z // method@059b │ │ -01cf3c: 0a0d |01b6: move-result v13 │ │ -01cf3e: 380d a3fe |01b7: if-eqz v13, 005a // -015d │ │ -01cf42: 7401 f502 1000 |01b9: invoke-virtual/range {v16}, Ldnsfilter/android/DNSProxyActivity;.getConfig:()Ldnsfilter/ConfigUtil; // method@02f5 │ │ -01cf48: 0c0d |01bc: move-result-object v13 │ │ -01cf4a: 220e 2d01 |01bd: new-instance v14, Ljava/lang/StringBuilder; // type@012d │ │ -01cf4e: 7010 a905 0e00 |01bf: invoke-direct {v14}, Ljava/lang/StringBuilder;.:()V // method@05a9 │ │ -01cf54: 630f 3501 |01c2: sget-boolean v15, Ldnsfilter/android/DNSProxyActivity;.showInitialInfoPopUp:Z // field@0135 │ │ -01cf58: 6e20 b005 fe00 |01c4: invoke-virtual {v14, v15}, Ljava/lang/StringBuilder;.append:(Z)Ljava/lang/StringBuilder; // method@05b0 │ │ -01cf5e: 6e20 af05 ae00 |01c7: invoke-virtual {v14, v10}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -01cf64: 6e10 b105 0e00 |01ca: invoke-virtual {v14}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ -01cf6a: 0c0e |01cd: move-result-object v14 │ │ -01cf6c: 6e30 4301 0d0e |01ce: invoke-virtual {v13, v0, v14}, Ldnsfilter/ConfigUtil;.updateConfigValue:(Ljava/lang/String;Ljava/lang/String;)V // method@0143 │ │ -01cf72: 2900 89fe |01d1: goto/16 005a // -0177 │ │ -01cf76: 6e10 db04 0c00 |01d3: invoke-virtual {v12}, Ljava/io/BufferedReader;.close:()V // method@04db │ │ -01cf7c: 390b 0a00 |01d6: if-nez v11, 01e0 // +000a │ │ -01cf80: 7401 f502 1000 |01d8: invoke-virtual/range {v16}, Ldnsfilter/android/DNSProxyActivity;.getConfig:()Ldnsfilter/ConfigUtil; // method@02f5 │ │ -01cf86: 0c00 |01db: move-result-object v0 │ │ -01cf88: 6e10 4001 0000 |01dc: invoke-virtual {v0}, Ldnsfilter/ConfigUtil;.isChanged:()Z // method@0140 │ │ -01cf8e: 0a00 |01df: move-result v0 │ │ -01cf90: 7401 f502 1000 |01e0: invoke-virtual/range {v16}, Ldnsfilter/android/DNSProxyActivity;.getConfig:()Ldnsfilter/ConfigUtil; // method@02f5 │ │ -01cf96: 0c00 |01e3: move-result-object v0 │ │ -01cf98: 6e10 4001 0000 |01e4: invoke-virtual {v0}, Ldnsfilter/ConfigUtil;.isChanged:()Z // method@0140 │ │ -01cf9e: 0a00 |01e7: move-result v0 │ │ -01cfa0: 3800 1800 |01e8: if-eqz v0, 0200 // +0018 │ │ -01cfa4: 6200 ed00 |01ea: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.CONFIG:Ldnsfilter/ConfigurationAccess; // field@00ed │ │ -01cfa8: 7401 f502 1000 |01ec: invoke-virtual/range {v16}, Ldnsfilter/android/DNSProxyActivity;.getConfig:()Ldnsfilter/ConfigUtil; // method@02f5 │ │ -01cfae: 0c01 |01ef: move-result-object v1 │ │ -01cfb0: 6e10 3901 0100 |01f0: invoke-virtual {v1}, Ldnsfilter/ConfigUtil;.getConfigBytes:()[B // method@0139 │ │ -01cfb6: 0c01 |01f3: move-result-object v1 │ │ -01cfb8: 6e20 6101 1000 |01f4: invoke-virtual {v0, v1}, Ldnsfilter/ConfigurationAccess;.updateConfig:([B)V // method@0161 │ │ -01cfbe: 2809 |01f7: goto 0200 // +0009 │ │ -01cfc0: 0d00 |01f8: move-exception v0 │ │ -01cfc2: 7100 2707 0000 |01f9: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0727 │ │ -01cfc8: 0c01 |01fc: move-result-object v1 │ │ -01cfca: 7220 3207 0100 |01fd: invoke-interface {v1, v0}, Lutil/LoggerInterface;.logException:(Ljava/lang/Exception;)V // method@0732 │ │ -01cfd0: 0e00 |0200: return-void │ │ +01cbbc: |[01cbbc] dnsfilter.android.DNSProxyActivity.persistConfig:()V │ │ +01cbcc: 1a00 ce0a |0000: const-string v0, "showInitialInfoPopUp" // string@0ace │ │ +01cbd0: 1a01 e606 |0002: const-string v1, "filterActive" // string@06e6 │ │ +01cbd4: 1a02 2a0a |0004: const-string v2, "rootModeOnAndroid" // string@0a2a │ │ +01cbd8: 1a03 6d06 |0006: const-string v3, "dnsProxyOnlyLocalRequests" // string@066d │ │ +01cbdc: 1a04 6b06 |0008: const-string v4, "dnsProxyOnAndroid" // string@066b │ │ +01cbe0: 1a05 6805 |000a: const-string v5, "androidKeepAwake" // string@0568 │ │ +01cbe4: 1a06 c005 |000c: const-string v6, "checkCNAME" // string@05c0 │ │ +01cbe8: 1a07 6705 |000e: const-string v7, "androidAppWhiteList" // string@0567 │ │ +01cbec: 1a08 b200 |0010: const-string v8, "AUTOSTART" // string@00b2 │ │ +01cbf0: 1a09 db09 |0012: const-string v9, "reloadIntervalDays" // string@09db │ │ +01cbf4: 1a0a 0000 |0014: const-string v10, "" // string@0000 │ │ +01cbf8: 7401 2503 1000 |0016: invoke-virtual/range {v16}, Ldnsfilter/android/DNSProxyActivity;.persistManuallyEditConf:()Z // method@0325 │ │ +01cbfe: 0a0b |0019: move-result v11 │ │ +01cc00: 380b 0300 |001a: if-eqz v11, 001d // +0003 │ │ +01cc04: 0e00 |001c: return-void │ │ +01cc06: 7401 2303 1000 |001d: invoke-virtual/range {v16}, Ldnsfilter/android/DNSProxyActivity;.persistAdditionalHosts:()Z // method@0323 │ │ +01cc0c: 0a0b |0020: move-result v11 │ │ +01cc0e: 620c 1801 |0021: sget-object v12, Ldnsfilter/android/DNSProxyActivity;.filterReloadIntervalView:Landroid/widget/EditText; // field@0118 │ │ +01cc12: 6e10 da00 0c00 |0023: invoke-virtual {v12}, Landroid/widget/EditText;.getText:()Landroid/text/Editable; // method@00da │ │ +01cc18: 0c0c |0026: move-result-object v12 │ │ +01cc1a: 6e10 7a05 0c00 |0027: invoke-virtual {v12}, Ljava/lang/Object;.toString:()Ljava/lang/String; // method@057a │ │ +01cc20: 0c0c |002a: move-result-object v12 │ │ +01cc22: 6e20 8d05 ac00 |002b: invoke-virtual {v12, v10}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058d │ │ +01cc28: 0a0c |002e: move-result v12 │ │ +01cc2a: 380c 0900 |002f: if-eqz v12, 0038 // +0009 │ │ +01cc2e: 620c 1801 |0031: sget-object v12, Ldnsfilter/android/DNSProxyActivity;.filterReloadIntervalView:Landroid/widget/EditText; // field@0118 │ │ +01cc32: 1a0d 7f00 |0033: const-string v13, "7" // string@007f │ │ +01cc36: 6e20 e600 dc00 |0035: invoke-virtual {v12, v13}, Landroid/widget/EditText;.setText:(Ljava/lang/CharSequence;)V // method@00e6 │ │ +01cc3c: 7401 f502 1000 |0038: invoke-virtual/range {v16}, Ldnsfilter/android/DNSProxyActivity;.getConfig:()Ldnsfilter/ConfigUtil; // method@02f5 │ │ +01cc42: 0c0c |003b: move-result-object v12 │ │ +01cc44: 620d 1601 |003c: sget-object v13, Ldnsfilter/android/DNSProxyActivity;.filterCfg:Ldnsfilter/android/FilterConfig; // field@0116 │ │ +01cc48: 6e10 3f03 0d00 |003e: invoke-virtual {v13}, Ldnsfilter/android/FilterConfig;.getFilterEntries:()[Ldnsfilter/ConfigUtil$HostFilterList; // method@033f │ │ +01cc4e: 0c0d |0041: move-result-object v13 │ │ +01cc50: 6e20 4101 dc00 |0042: invoke-virtual {v12, v13}, Ldnsfilter/ConfigUtil;.setConfiguredFilterLists:([Ldnsfilter/ConfigUtil$HostFilterList;)V // method@0141 │ │ +01cc56: 220c f400 |0045: new-instance v12, Ljava/io/BufferedReader; // type@00f4 │ │ +01cc5a: 220d 0201 |0047: new-instance v13, Ljava/io/InputStreamReader; // type@0102 │ │ +01cc5e: 220e f600 |0049: new-instance v14, Ljava/io/ByteArrayInputStream; // type@00f6 │ │ +01cc62: 620f ed00 |004b: sget-object v15, Ldnsfilter/android/DNSProxyActivity;.CONFIG:Ldnsfilter/ConfigurationAccess; // field@00ed │ │ +01cc66: 6e10 5901 0f00 |004d: invoke-virtual {v15}, Ldnsfilter/ConfigurationAccess;.readConfig:()[B // method@0159 │ │ +01cc6c: 0c0f |0050: move-result-object v15 │ │ +01cc6e: 7020 e104 fe00 |0051: invoke-direct {v14, v15}, Ljava/io/ByteArrayInputStream;.:([B)V // method@04e1 │ │ +01cc74: 7020 2d05 ed00 |0054: invoke-direct {v13, v14}, Ljava/io/InputStreamReader;.:(Ljava/io/InputStream;)V // method@052d │ │ +01cc7a: 7020 da04 dc00 |0057: invoke-direct {v12, v13}, Ljava/io/BufferedReader;.:(Ljava/io/Reader;)V // method@04da │ │ +01cc80: 6e10 dc04 0c00 |005a: invoke-virtual {v12}, Ljava/io/BufferedReader;.readLine:()Ljava/lang/String; // method@04dc │ │ +01cc86: 0c0d |005d: move-result-object v13 │ │ +01cc88: 380d 7501 |005e: if-eqz v13, 01d3 // +0175 │ │ +01cc8c: 6e10 a205 0d00 |0060: invoke-virtual {v13}, Ljava/lang/String;.trim:()Ljava/lang/String; // method@05a2 │ │ +01cc92: 0c0e |0063: move-result-object v14 │ │ +01cc94: 6e20 9b05 9e00 |0064: invoke-virtual {v14, v9}, Ljava/lang/String;.startsWith:(Ljava/lang/String;)Z // method@059b │ │ +01cc9a: 0a0e |0067: move-result v14 │ │ +01cc9c: 380e 1400 |0068: if-eqz v14, 007c // +0014 │ │ +01cca0: 7401 f502 1000 |006a: invoke-virtual/range {v16}, Ldnsfilter/android/DNSProxyActivity;.getConfig:()Ldnsfilter/ConfigUtil; // method@02f5 │ │ +01cca6: 0c0d |006d: move-result-object v13 │ │ +01cca8: 620e 1801 |006e: sget-object v14, Ldnsfilter/android/DNSProxyActivity;.filterReloadIntervalView:Landroid/widget/EditText; // field@0118 │ │ +01ccac: 6e10 da00 0e00 |0070: invoke-virtual {v14}, Landroid/widget/EditText;.getText:()Landroid/text/Editable; // method@00da │ │ +01ccb2: 0c0e |0073: move-result-object v14 │ │ +01ccb4: 6e10 7a05 0e00 |0074: invoke-virtual {v14}, Ljava/lang/Object;.toString:()Ljava/lang/String; // method@057a │ │ +01ccba: 0c0e |0077: move-result-object v14 │ │ +01ccbc: 6e30 4301 9d0e |0078: invoke-virtual {v13, v9, v14}, Ldnsfilter/ConfigUtil;.updateConfigValue:(Ljava/lang/String;Ljava/lang/String;)V // method@0143 │ │ +01ccc2: 28df |007b: goto 005a // -0021 │ │ +01ccc4: 6e10 a205 0d00 |007c: invoke-virtual {v13}, Ljava/lang/String;.trim:()Ljava/lang/String; // method@05a2 │ │ +01ccca: 0c0e |007f: move-result-object v14 │ │ +01cccc: 6e20 9b05 8e00 |0080: invoke-virtual {v14, v8}, Ljava/lang/String;.startsWith:(Ljava/lang/String;)Z // method@059b │ │ +01ccd2: 0a0e |0083: move-result v14 │ │ +01ccd4: 380e 1f00 |0084: if-eqz v14, 00a3 // +001f │ │ +01ccd8: 7401 f502 1000 |0086: invoke-virtual/range {v16}, Ldnsfilter/android/DNSProxyActivity;.getConfig:()Ldnsfilter/ConfigUtil; // method@02f5 │ │ +01ccde: 0c0d |0089: move-result-object v13 │ │ +01cce0: 220e 2d01 |008a: new-instance v14, Ljava/lang/StringBuilder; // type@012d │ │ +01cce4: 7010 a905 0e00 |008c: invoke-direct {v14}, Ljava/lang/StringBuilder;.:()V // method@05a9 │ │ +01ccea: 620f 1401 |008f: sget-object v15, Ldnsfilter/android/DNSProxyActivity;.enableAutoStartCheck:Landroid/widget/CheckBox; // field@0114 │ │ +01ccee: 6e10 cc00 0f00 |0091: invoke-virtual {v15}, Landroid/widget/CheckBox;.isChecked:()Z // method@00cc │ │ +01ccf4: 0a0f |0094: move-result v15 │ │ +01ccf6: 6e20 b005 fe00 |0095: invoke-virtual {v14, v15}, Ljava/lang/StringBuilder;.append:(Z)Ljava/lang/StringBuilder; // method@05b0 │ │ +01ccfc: 6e20 af05 ae00 |0098: invoke-virtual {v14, v10}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +01cd02: 6e10 b105 0e00 |009b: invoke-virtual {v14}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ +01cd08: 0c0e |009e: move-result-object v14 │ │ +01cd0a: 6e30 4301 8d0e |009f: invoke-virtual {v13, v8, v14}, Ldnsfilter/ConfigUtil;.updateConfigValue:(Ljava/lang/String;Ljava/lang/String;)V // method@0143 │ │ +01cd10: 28b8 |00a2: goto 005a // -0048 │ │ +01cd12: 6e10 a205 0d00 |00a3: invoke-virtual {v13}, Ljava/lang/String;.trim:()Ljava/lang/String; // method@05a2 │ │ +01cd18: 0c0e |00a6: move-result-object v14 │ │ +01cd1a: 6e20 9b05 7e00 |00a7: invoke-virtual {v14, v7}, Ljava/lang/String;.startsWith:(Ljava/lang/String;)Z // method@059b │ │ +01cd20: 0a0e |00aa: move-result v14 │ │ +01cd22: 380e 1000 |00ab: if-eqz v14, 00bb // +0010 │ │ +01cd26: 7401 f502 1000 |00ad: invoke-virtual/range {v16}, Ldnsfilter/android/DNSProxyActivity;.getConfig:()Ldnsfilter/ConfigUtil; // method@02f5 │ │ +01cd2c: 0c0d |00b0: move-result-object v13 │ │ +01cd2e: 620e 0401 |00b1: sget-object v14, Ldnsfilter/android/DNSProxyActivity;.appSelector:Ldnsfilter/android/AppSelectorView; // field@0104 │ │ +01cd32: 6e10 5102 0e00 |00b3: invoke-virtual {v14}, Ldnsfilter/android/AppSelectorView;.getSelectedAppPackages:()Ljava/lang/String; // method@0251 │ │ +01cd38: 0c0e |00b6: move-result-object v14 │ │ +01cd3a: 6e30 4301 7d0e |00b7: invoke-virtual {v13, v7, v14}, Ldnsfilter/ConfigUtil;.updateConfigValue:(Ljava/lang/String;Ljava/lang/String;)V // method@0143 │ │ +01cd40: 28a0 |00ba: goto 005a // -0060 │ │ +01cd42: 6e10 a205 0d00 |00bb: invoke-virtual {v13}, Ljava/lang/String;.trim:()Ljava/lang/String; // method@05a2 │ │ +01cd48: 0c0e |00be: move-result-object v14 │ │ +01cd4a: 6e20 9b05 6e00 |00bf: invoke-virtual {v14, v6}, Ljava/lang/String;.startsWith:(Ljava/lang/String;)Z // method@059b │ │ +01cd50: 0a0e |00c2: move-result v14 │ │ +01cd52: 380e 2000 |00c3: if-eqz v14, 00e3 // +0020 │ │ +01cd56: 7401 f502 1000 |00c5: invoke-virtual/range {v16}, Ldnsfilter/android/DNSProxyActivity;.getConfig:()Ldnsfilter/ConfigUtil; // method@02f5 │ │ +01cd5c: 0c0d |00c8: move-result-object v13 │ │ +01cd5e: 220e 2d01 |00c9: new-instance v14, Ljava/lang/StringBuilder; // type@012d │ │ +01cd62: 7010 a905 0e00 |00cb: invoke-direct {v14}, Ljava/lang/StringBuilder;.:()V // method@05a9 │ │ +01cd68: 620f 1501 |00ce: sget-object v15, Ldnsfilter/android/DNSProxyActivity;.enableCloakProtectCheck:Landroid/widget/CheckBox; // field@0115 │ │ +01cd6c: 6e10 cc00 0f00 |00d0: invoke-virtual {v15}, Landroid/widget/CheckBox;.isChecked:()Z // method@00cc │ │ +01cd72: 0a0f |00d3: move-result v15 │ │ +01cd74: 6e20 b005 fe00 |00d4: invoke-virtual {v14, v15}, Ljava/lang/StringBuilder;.append:(Z)Ljava/lang/StringBuilder; // method@05b0 │ │ +01cd7a: 6e20 af05 ae00 |00d7: invoke-virtual {v14, v10}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +01cd80: 6e10 b105 0e00 |00da: invoke-virtual {v14}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ +01cd86: 0c0e |00dd: move-result-object v14 │ │ +01cd88: 6e30 4301 6d0e |00de: invoke-virtual {v13, v6, v14}, Ldnsfilter/ConfigUtil;.updateConfigValue:(Ljava/lang/String;Ljava/lang/String;)V // method@0143 │ │ +01cd8e: 2900 79ff |00e1: goto/16 005a // -0087 │ │ +01cd92: 6e10 a205 0d00 |00e3: invoke-virtual {v13}, Ljava/lang/String;.trim:()Ljava/lang/String; // method@05a2 │ │ +01cd98: 0c0e |00e6: move-result-object v14 │ │ +01cd9a: 6e20 9b05 5e00 |00e7: invoke-virtual {v14, v5}, Ljava/lang/String;.startsWith:(Ljava/lang/String;)Z // method@059b │ │ +01cda0: 0a0e |00ea: move-result v14 │ │ +01cda2: 380e 2000 |00eb: if-eqz v14, 010b // +0020 │ │ +01cda6: 7401 f502 1000 |00ed: invoke-virtual/range {v16}, Ldnsfilter/android/DNSProxyActivity;.getConfig:()Ldnsfilter/ConfigUtil; // method@02f5 │ │ +01cdac: 0c0d |00f0: move-result-object v13 │ │ +01cdae: 220e 2d01 |00f1: new-instance v14, Ljava/lang/StringBuilder; // type@012d │ │ +01cdb2: 7010 a905 0e00 |00f3: invoke-direct {v14}, Ljava/lang/StringBuilder;.:()V // method@05a9 │ │ +01cdb8: 620f 1c01 |00f6: sget-object v15, Ldnsfilter/android/DNSProxyActivity;.keepAwakeCheck:Landroid/widget/CheckBox; // field@011c │ │ +01cdbc: 6e10 cc00 0f00 |00f8: invoke-virtual {v15}, Landroid/widget/CheckBox;.isChecked:()Z // method@00cc │ │ +01cdc2: 0a0f |00fb: move-result v15 │ │ +01cdc4: 6e20 b005 fe00 |00fc: invoke-virtual {v14, v15}, Ljava/lang/StringBuilder;.append:(Z)Ljava/lang/StringBuilder; // method@05b0 │ │ +01cdca: 6e20 af05 ae00 |00ff: invoke-virtual {v14, v10}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +01cdd0: 6e10 b105 0e00 |0102: invoke-virtual {v14}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ +01cdd6: 0c0e |0105: move-result-object v14 │ │ +01cdd8: 6e30 4301 5d0e |0106: invoke-virtual {v13, v5, v14}, Ldnsfilter/ConfigUtil;.updateConfigValue:(Ljava/lang/String;Ljava/lang/String;)V // method@0143 │ │ +01cdde: 2900 51ff |0109: goto/16 005a // -00af │ │ +01cde2: 6e10 a205 0d00 |010b: invoke-virtual {v13}, Ljava/lang/String;.trim:()Ljava/lang/String; // method@05a2 │ │ +01cde8: 0c0e |010e: move-result-object v14 │ │ +01cdea: 6e20 9b05 4e00 |010f: invoke-virtual {v14, v4}, Ljava/lang/String;.startsWith:(Ljava/lang/String;)Z // method@059b │ │ +01cdf0: 0a0e |0112: move-result v14 │ │ +01cdf2: 380e 2000 |0113: if-eqz v14, 0133 // +0020 │ │ +01cdf6: 7401 f502 1000 |0115: invoke-virtual/range {v16}, Ldnsfilter/android/DNSProxyActivity;.getConfig:()Ldnsfilter/ConfigUtil; // method@02f5 │ │ +01cdfc: 0c0d |0118: move-result-object v13 │ │ +01cdfe: 220e 2d01 |0119: new-instance v14, Ljava/lang/StringBuilder; // type@012d │ │ +01ce02: 7010 a905 0e00 |011b: invoke-direct {v14}, Ljava/lang/StringBuilder;.:()V // method@05a9 │ │ +01ce08: 620f 2901 |011e: sget-object v15, Ldnsfilter/android/DNSProxyActivity;.proxyModeCheck:Landroid/widget/CheckBox; // field@0129 │ │ +01ce0c: 6e10 cc00 0f00 |0120: invoke-virtual {v15}, Landroid/widget/CheckBox;.isChecked:()Z // method@00cc │ │ +01ce12: 0a0f |0123: move-result v15 │ │ +01ce14: 6e20 b005 fe00 |0124: invoke-virtual {v14, v15}, Ljava/lang/StringBuilder;.append:(Z)Ljava/lang/StringBuilder; // method@05b0 │ │ +01ce1a: 6e20 af05 ae00 |0127: invoke-virtual {v14, v10}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +01ce20: 6e10 b105 0e00 |012a: invoke-virtual {v14}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ +01ce26: 0c0e |012d: move-result-object v14 │ │ +01ce28: 6e30 4301 4d0e |012e: invoke-virtual {v13, v4, v14}, Ldnsfilter/ConfigUtil;.updateConfigValue:(Ljava/lang/String;Ljava/lang/String;)V // method@0143 │ │ +01ce2e: 2900 29ff |0131: goto/16 005a // -00d7 │ │ +01ce32: 6e10 a205 0d00 |0133: invoke-virtual {v13}, Ljava/lang/String;.trim:()Ljava/lang/String; // method@05a2 │ │ +01ce38: 0c0e |0136: move-result-object v14 │ │ +01ce3a: 6e20 9b05 3e00 |0137: invoke-virtual {v14, v3}, Ljava/lang/String;.startsWith:(Ljava/lang/String;)Z // method@059b │ │ +01ce40: 0a0e |013a: move-result v14 │ │ +01ce42: 380e 2000 |013b: if-eqz v14, 015b // +0020 │ │ +01ce46: 7401 f502 1000 |013d: invoke-virtual/range {v16}, Ldnsfilter/android/DNSProxyActivity;.getConfig:()Ldnsfilter/ConfigUtil; // method@02f5 │ │ +01ce4c: 0c0d |0140: move-result-object v13 │ │ +01ce4e: 220e 2d01 |0141: new-instance v14, Ljava/lang/StringBuilder; // type@012d │ │ +01ce52: 7010 a905 0e00 |0143: invoke-direct {v14}, Ljava/lang/StringBuilder;.:()V // method@05a9 │ │ +01ce58: 620f 2801 |0146: sget-object v15, Ldnsfilter/android/DNSProxyActivity;.proxyLocalOnlyCheck:Landroid/widget/CheckBox; // field@0128 │ │ +01ce5c: 6e10 cc00 0f00 |0148: invoke-virtual {v15}, Landroid/widget/CheckBox;.isChecked:()Z // method@00cc │ │ +01ce62: 0a0f |014b: move-result v15 │ │ +01ce64: 6e20 b005 fe00 |014c: invoke-virtual {v14, v15}, Ljava/lang/StringBuilder;.append:(Z)Ljava/lang/StringBuilder; // method@05b0 │ │ +01ce6a: 6e20 af05 ae00 |014f: invoke-virtual {v14, v10}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +01ce70: 6e10 b105 0e00 |0152: invoke-virtual {v14}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ +01ce76: 0c0e |0155: move-result-object v14 │ │ +01ce78: 6e30 4301 3d0e |0156: invoke-virtual {v13, v3, v14}, Ldnsfilter/ConfigUtil;.updateConfigValue:(Ljava/lang/String;Ljava/lang/String;)V // method@0143 │ │ +01ce7e: 2900 01ff |0159: goto/16 005a // -00ff │ │ +01ce82: 6e10 a205 0d00 |015b: invoke-virtual {v13}, Ljava/lang/String;.trim:()Ljava/lang/String; // method@05a2 │ │ +01ce88: 0c0e |015e: move-result-object v14 │ │ +01ce8a: 6e20 9b05 2e00 |015f: invoke-virtual {v14, v2}, Ljava/lang/String;.startsWith:(Ljava/lang/String;)Z // method@059b │ │ +01ce90: 0a0e |0162: move-result v14 │ │ +01ce92: 380e 2000 |0163: if-eqz v14, 0183 // +0020 │ │ +01ce96: 7401 f502 1000 |0165: invoke-virtual/range {v16}, Ldnsfilter/android/DNSProxyActivity;.getConfig:()Ldnsfilter/ConfigUtil; // method@02f5 │ │ +01ce9c: 0c0d |0168: move-result-object v13 │ │ +01ce9e: 220e 2d01 |0169: new-instance v14, Ljava/lang/StringBuilder; // type@012d │ │ +01cea2: 7010 a905 0e00 |016b: invoke-direct {v14}, Ljava/lang/StringBuilder;.:()V // method@05a9 │ │ +01cea8: 620f 3001 |016e: sget-object v15, Ldnsfilter/android/DNSProxyActivity;.rootModeCheck:Landroid/widget/CheckBox; // field@0130 │ │ +01ceac: 6e10 cc00 0f00 |0170: invoke-virtual {v15}, Landroid/widget/CheckBox;.isChecked:()Z // method@00cc │ │ +01ceb2: 0a0f |0173: move-result v15 │ │ +01ceb4: 6e20 b005 fe00 |0174: invoke-virtual {v14, v15}, Ljava/lang/StringBuilder;.append:(Z)Ljava/lang/StringBuilder; // method@05b0 │ │ +01ceba: 6e20 af05 ae00 |0177: invoke-virtual {v14, v10}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +01cec0: 6e10 b105 0e00 |017a: invoke-virtual {v14}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ +01cec6: 0c0e |017d: move-result-object v14 │ │ +01cec8: 6e30 4301 2d0e |017e: invoke-virtual {v13, v2, v14}, Ldnsfilter/ConfigUtil;.updateConfigValue:(Ljava/lang/String;Ljava/lang/String;)V // method@0143 │ │ +01cece: 2900 d9fe |0181: goto/16 005a // -0127 │ │ +01ced2: 6e10 a205 0d00 |0183: invoke-virtual {v13}, Ljava/lang/String;.trim:()Ljava/lang/String; // method@05a2 │ │ +01ced8: 0c0e |0186: move-result-object v14 │ │ +01ceda: 6e20 9b05 1e00 |0187: invoke-virtual {v14, v1}, Ljava/lang/String;.startsWith:(Ljava/lang/String;)Z // method@059b │ │ +01cee0: 0a0e |018a: move-result v14 │ │ +01cee2: 380e 2000 |018b: if-eqz v14, 01ab // +0020 │ │ +01cee6: 7401 f502 1000 |018d: invoke-virtual/range {v16}, Ldnsfilter/android/DNSProxyActivity;.getConfig:()Ldnsfilter/ConfigUtil; // method@02f5 │ │ +01ceec: 0c0d |0190: move-result-object v13 │ │ +01ceee: 220e 2d01 |0191: new-instance v14, Ljava/lang/StringBuilder; // type@012d │ │ +01cef2: 7010 a905 0e00 |0193: invoke-direct {v14}, Ljava/lang/StringBuilder;.:()V // method@05a9 │ │ +01cef8: 620f 1301 |0196: sget-object v15, Ldnsfilter/android/DNSProxyActivity;.enableAdFilterCheck:Landroid/widget/CheckBox; // field@0113 │ │ +01cefc: 6e10 cc00 0f00 |0198: invoke-virtual {v15}, Landroid/widget/CheckBox;.isChecked:()Z // method@00cc │ │ +01cf02: 0a0f |019b: move-result v15 │ │ +01cf04: 6e20 b005 fe00 |019c: invoke-virtual {v14, v15}, Ljava/lang/StringBuilder;.append:(Z)Ljava/lang/StringBuilder; // method@05b0 │ │ +01cf0a: 6e20 af05 ae00 |019f: invoke-virtual {v14, v10}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +01cf10: 6e10 b105 0e00 |01a2: invoke-virtual {v14}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ +01cf16: 0c0e |01a5: move-result-object v14 │ │ +01cf18: 6e30 4301 1d0e |01a6: invoke-virtual {v13, v1, v14}, Ldnsfilter/ConfigUtil;.updateConfigValue:(Ljava/lang/String;Ljava/lang/String;)V // method@0143 │ │ +01cf1e: 2900 b1fe |01a9: goto/16 005a // -014f │ │ +01cf22: 630e 2701 |01ab: sget-boolean v14, Ldnsfilter/android/DNSProxyActivity;.popUpDialogChanged:Z // field@0127 │ │ +01cf26: 380e adfe |01ad: if-eqz v14, 005a // -0153 │ │ +01cf2a: 6e10 a205 0d00 |01af: invoke-virtual {v13}, Ljava/lang/String;.trim:()Ljava/lang/String; // method@05a2 │ │ +01cf30: 0c0d |01b2: move-result-object v13 │ │ +01cf32: 6e20 9b05 0d00 |01b3: invoke-virtual {v13, v0}, Ljava/lang/String;.startsWith:(Ljava/lang/String;)Z // method@059b │ │ +01cf38: 0a0d |01b6: move-result v13 │ │ +01cf3a: 380d a3fe |01b7: if-eqz v13, 005a // -015d │ │ +01cf3e: 7401 f502 1000 |01b9: invoke-virtual/range {v16}, Ldnsfilter/android/DNSProxyActivity;.getConfig:()Ldnsfilter/ConfigUtil; // method@02f5 │ │ +01cf44: 0c0d |01bc: move-result-object v13 │ │ +01cf46: 220e 2d01 |01bd: new-instance v14, Ljava/lang/StringBuilder; // type@012d │ │ +01cf4a: 7010 a905 0e00 |01bf: invoke-direct {v14}, Ljava/lang/StringBuilder;.:()V // method@05a9 │ │ +01cf50: 630f 3501 |01c2: sget-boolean v15, Ldnsfilter/android/DNSProxyActivity;.showInitialInfoPopUp:Z // field@0135 │ │ +01cf54: 6e20 b005 fe00 |01c4: invoke-virtual {v14, v15}, Ljava/lang/StringBuilder;.append:(Z)Ljava/lang/StringBuilder; // method@05b0 │ │ +01cf5a: 6e20 af05 ae00 |01c7: invoke-virtual {v14, v10}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +01cf60: 6e10 b105 0e00 |01ca: invoke-virtual {v14}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ +01cf66: 0c0e |01cd: move-result-object v14 │ │ +01cf68: 6e30 4301 0d0e |01ce: invoke-virtual {v13, v0, v14}, Ldnsfilter/ConfigUtil;.updateConfigValue:(Ljava/lang/String;Ljava/lang/String;)V // method@0143 │ │ +01cf6e: 2900 89fe |01d1: goto/16 005a // -0177 │ │ +01cf72: 6e10 db04 0c00 |01d3: invoke-virtual {v12}, Ljava/io/BufferedReader;.close:()V // method@04db │ │ +01cf78: 390b 0a00 |01d6: if-nez v11, 01e0 // +000a │ │ +01cf7c: 7401 f502 1000 |01d8: invoke-virtual/range {v16}, Ldnsfilter/android/DNSProxyActivity;.getConfig:()Ldnsfilter/ConfigUtil; // method@02f5 │ │ +01cf82: 0c00 |01db: move-result-object v0 │ │ +01cf84: 6e10 4001 0000 |01dc: invoke-virtual {v0}, Ldnsfilter/ConfigUtil;.isChanged:()Z // method@0140 │ │ +01cf8a: 0a00 |01df: move-result v0 │ │ +01cf8c: 7401 f502 1000 |01e0: invoke-virtual/range {v16}, Ldnsfilter/android/DNSProxyActivity;.getConfig:()Ldnsfilter/ConfigUtil; // method@02f5 │ │ +01cf92: 0c00 |01e3: move-result-object v0 │ │ +01cf94: 6e10 4001 0000 |01e4: invoke-virtual {v0}, Ldnsfilter/ConfigUtil;.isChanged:()Z // method@0140 │ │ +01cf9a: 0a00 |01e7: move-result v0 │ │ +01cf9c: 3800 1800 |01e8: if-eqz v0, 0200 // +0018 │ │ +01cfa0: 6200 ed00 |01ea: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.CONFIG:Ldnsfilter/ConfigurationAccess; // field@00ed │ │ +01cfa4: 7401 f502 1000 |01ec: invoke-virtual/range {v16}, Ldnsfilter/android/DNSProxyActivity;.getConfig:()Ldnsfilter/ConfigUtil; // method@02f5 │ │ +01cfaa: 0c01 |01ef: move-result-object v1 │ │ +01cfac: 6e10 3901 0100 |01f0: invoke-virtual {v1}, Ldnsfilter/ConfigUtil;.getConfigBytes:()[B // method@0139 │ │ +01cfb2: 0c01 |01f3: move-result-object v1 │ │ +01cfb4: 6e20 6101 1000 |01f4: invoke-virtual {v0, v1}, Ldnsfilter/ConfigurationAccess;.updateConfig:([B)V // method@0161 │ │ +01cfba: 2809 |01f7: goto 0200 // +0009 │ │ +01cfbc: 0d00 |01f8: move-exception v0 │ │ +01cfbe: 7100 2707 0000 |01f9: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0727 │ │ +01cfc4: 0c01 |01fc: move-result-object v1 │ │ +01cfc6: 7220 3207 0100 |01fd: invoke-interface {v1, v0}, Lutil/LoggerInterface;.logException:(Ljava/lang/Exception;)V // method@0732 │ │ +01cfcc: 0e00 |0200: return-void │ │ catches : 1 │ │ 0x0016 - 0x01f7 │ │ Ljava/lang/Exception; -> 0x01f8 │ │ positions : │ │ 0x0000 line=1039 │ │ 0x001d line=1042 │ │ 0x0021 line=1044 │ │ @@ -45418,63 +45418,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 │ │ -01cfe4: |[01cfe4] dnsfilter.android.DNSProxyActivity.persistRemoteControlConfig:(Ljava/lang/String;Ljava/lang/String;)V │ │ -01cff4: 1a00 8100 |0000: const-string v0, ":" // string@0081 │ │ -01cff8: 6e20 9205 0400 |0002: invoke-virtual {v4, v0}, Ljava/lang/String;.indexOf:(Ljava/lang/String;)I // method@0592 │ │ -01cffe: 0a01 |0005: move-result v1 │ │ -01d000: 1202 |0006: const/4 v2, #int 0 // #0 │ │ -01d002: 6e30 9d05 2401 |0007: invoke-virtual {v4, v2, v1}, Ljava/lang/String;.substring:(II)Ljava/lang/String; // method@059d │ │ -01d008: 0c01 |000a: move-result-object v1 │ │ -01d00a: 6e20 9205 0400 |000b: invoke-virtual {v4, v0}, Ljava/lang/String;.indexOf:(Ljava/lang/String;)I // method@0592 │ │ -01d010: 0a00 |000e: move-result v0 │ │ -01d012: d800 0001 |000f: add-int/lit8 v0, v0, #int 1 // #01 │ │ -01d016: 6e20 9c05 0400 |0011: invoke-virtual {v4, v0}, Ljava/lang/String;.substring:(I)Ljava/lang/String; // method@059c │ │ -01d01c: 0c04 |0014: move-result-object v4 │ │ -01d01e: 7110 6705 0400 |0015: invoke-static {v4}, Ljava/lang/Integer;.parseInt:(Ljava/lang/String;)I // method@0567 │ │ -01d024: 0a04 |0018: move-result v4 │ │ -01d026: 6e10 f502 0300 |0019: invoke-virtual {v3}, Ldnsfilter/android/DNSProxyActivity;.getConfig:()Ldnsfilter/ConfigUtil; // method@02f5 │ │ -01d02c: 0c00 |001c: move-result-object v0 │ │ -01d02e: 1a02 dd05 |001d: const-string v2, "client_remote_ctrl_host" // string@05dd │ │ -01d032: 6e30 4301 2001 |001f: invoke-virtual {v0, v2, v1}, Ldnsfilter/ConfigUtil;.updateConfigValue:(Ljava/lang/String;Ljava/lang/String;)V // method@0143 │ │ -01d038: 6e10 f502 0300 |0022: invoke-virtual {v3}, Ldnsfilter/android/DNSProxyActivity;.getConfig:()Ldnsfilter/ConfigUtil; // method@02f5 │ │ -01d03e: 0c00 |0025: move-result-object v0 │ │ -01d040: 2201 2d01 |0026: new-instance v1, Ljava/lang/StringBuilder; // type@012d │ │ -01d044: 7010 a905 0100 |0028: invoke-direct {v1}, Ljava/lang/StringBuilder;.:()V // method@05a9 │ │ -01d04a: 6e20 ac05 4100 |002b: invoke-virtual {v1, v4}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@05ac │ │ -01d050: 1a04 0000 |002e: const-string v4, "" // string@0000 │ │ -01d054: 6e20 af05 4100 |0030: invoke-virtual {v1, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -01d05a: 6e10 b105 0100 |0033: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ -01d060: 0c04 |0036: move-result-object v4 │ │ -01d062: 1a01 df05 |0037: const-string v1, "client_remote_ctrl_port" // string@05df │ │ -01d066: 6e30 4301 1004 |0039: invoke-virtual {v0, v1, v4}, Ldnsfilter/ConfigUtil;.updateConfigValue:(Ljava/lang/String;Ljava/lang/String;)V // method@0143 │ │ -01d06c: 6e10 f502 0300 |003c: invoke-virtual {v3}, Ldnsfilter/android/DNSProxyActivity;.getConfig:()Ldnsfilter/ConfigUtil; // method@02f5 │ │ -01d072: 0c04 |003f: move-result-object v4 │ │ -01d074: 1a00 de05 |0040: const-string v0, "client_remote_ctrl_keyphrase" // string@05de │ │ -01d078: 6e30 4301 0405 |0042: invoke-virtual {v4, v0, v5}, Ldnsfilter/ConfigUtil;.updateConfigValue:(Ljava/lang/String;Ljava/lang/String;)V // method@0143 │ │ -01d07e: 6e10 f502 0300 |0045: invoke-virtual {v3}, Ldnsfilter/android/DNSProxyActivity;.getConfig:()Ldnsfilter/ConfigUtil; // method@02f5 │ │ -01d084: 0c04 |0048: move-result-object v4 │ │ -01d086: 6e10 4001 0400 |0049: invoke-virtual {v4}, Ldnsfilter/ConfigUtil;.isChanged:()Z // method@0140 │ │ -01d08c: 0a04 |004c: move-result v4 │ │ -01d08e: 3804 0f00 |004d: if-eqz v4, 005c // +000f │ │ -01d092: 6204 ed00 |004f: sget-object v4, Ldnsfilter/android/DNSProxyActivity;.CONFIG:Ldnsfilter/ConfigurationAccess; // field@00ed │ │ -01d096: 6e10 f502 0300 |0051: invoke-virtual {v3}, Ldnsfilter/android/DNSProxyActivity;.getConfig:()Ldnsfilter/ConfigUtil; // method@02f5 │ │ -01d09c: 0c05 |0054: move-result-object v5 │ │ -01d09e: 6e10 3901 0500 |0055: invoke-virtual {v5}, Ldnsfilter/ConfigUtil;.getConfigBytes:()[B // method@0139 │ │ -01d0a4: 0c05 |0058: move-result-object v5 │ │ -01d0a6: 6e20 6101 5400 |0059: invoke-virtual {v4, v5}, Ldnsfilter/ConfigurationAccess;.updateConfig:([B)V // method@0161 │ │ -01d0ac: 0e00 |005c: return-void │ │ -01d0ae: 2204 1b01 |005d: new-instance v4, Ljava/lang/Exception; // type@011b │ │ -01d0b2: 1a05 6601 |005f: const-string v5, "Destination needed in format "host:port"!" // string@0166 │ │ -01d0b6: 7020 5c05 5400 |0061: invoke-direct {v4, v5}, Ljava/lang/Exception;.:(Ljava/lang/String;)V // method@055c │ │ -01d0bc: 2704 |0064: throw v4 │ │ +01cfe0: |[01cfe0] dnsfilter.android.DNSProxyActivity.persistRemoteControlConfig:(Ljava/lang/String;Ljava/lang/String;)V │ │ +01cff0: 1a00 8100 |0000: const-string v0, ":" // string@0081 │ │ +01cff4: 6e20 9205 0400 |0002: invoke-virtual {v4, v0}, Ljava/lang/String;.indexOf:(Ljava/lang/String;)I // method@0592 │ │ +01cffa: 0a01 |0005: move-result v1 │ │ +01cffc: 1202 |0006: const/4 v2, #int 0 // #0 │ │ +01cffe: 6e30 9d05 2401 |0007: invoke-virtual {v4, v2, v1}, Ljava/lang/String;.substring:(II)Ljava/lang/String; // method@059d │ │ +01d004: 0c01 |000a: move-result-object v1 │ │ +01d006: 6e20 9205 0400 |000b: invoke-virtual {v4, v0}, Ljava/lang/String;.indexOf:(Ljava/lang/String;)I // method@0592 │ │ +01d00c: 0a00 |000e: move-result v0 │ │ +01d00e: d800 0001 |000f: add-int/lit8 v0, v0, #int 1 // #01 │ │ +01d012: 6e20 9c05 0400 |0011: invoke-virtual {v4, v0}, Ljava/lang/String;.substring:(I)Ljava/lang/String; // method@059c │ │ +01d018: 0c04 |0014: move-result-object v4 │ │ +01d01a: 7110 6705 0400 |0015: invoke-static {v4}, Ljava/lang/Integer;.parseInt:(Ljava/lang/String;)I // method@0567 │ │ +01d020: 0a04 |0018: move-result v4 │ │ +01d022: 6e10 f502 0300 |0019: invoke-virtual {v3}, Ldnsfilter/android/DNSProxyActivity;.getConfig:()Ldnsfilter/ConfigUtil; // method@02f5 │ │ +01d028: 0c00 |001c: move-result-object v0 │ │ +01d02a: 1a02 dd05 |001d: const-string v2, "client_remote_ctrl_host" // string@05dd │ │ +01d02e: 6e30 4301 2001 |001f: invoke-virtual {v0, v2, v1}, Ldnsfilter/ConfigUtil;.updateConfigValue:(Ljava/lang/String;Ljava/lang/String;)V // method@0143 │ │ +01d034: 6e10 f502 0300 |0022: invoke-virtual {v3}, Ldnsfilter/android/DNSProxyActivity;.getConfig:()Ldnsfilter/ConfigUtil; // method@02f5 │ │ +01d03a: 0c00 |0025: move-result-object v0 │ │ +01d03c: 2201 2d01 |0026: new-instance v1, Ljava/lang/StringBuilder; // type@012d │ │ +01d040: 7010 a905 0100 |0028: invoke-direct {v1}, Ljava/lang/StringBuilder;.:()V // method@05a9 │ │ +01d046: 6e20 ac05 4100 |002b: invoke-virtual {v1, v4}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@05ac │ │ +01d04c: 1a04 0000 |002e: const-string v4, "" // string@0000 │ │ +01d050: 6e20 af05 4100 |0030: invoke-virtual {v1, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +01d056: 6e10 b105 0100 |0033: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ +01d05c: 0c04 |0036: move-result-object v4 │ │ +01d05e: 1a01 df05 |0037: const-string v1, "client_remote_ctrl_port" // string@05df │ │ +01d062: 6e30 4301 1004 |0039: invoke-virtual {v0, v1, v4}, Ldnsfilter/ConfigUtil;.updateConfigValue:(Ljava/lang/String;Ljava/lang/String;)V // method@0143 │ │ +01d068: 6e10 f502 0300 |003c: invoke-virtual {v3}, Ldnsfilter/android/DNSProxyActivity;.getConfig:()Ldnsfilter/ConfigUtil; // method@02f5 │ │ +01d06e: 0c04 |003f: move-result-object v4 │ │ +01d070: 1a00 de05 |0040: const-string v0, "client_remote_ctrl_keyphrase" // string@05de │ │ +01d074: 6e30 4301 0405 |0042: invoke-virtual {v4, v0, v5}, Ldnsfilter/ConfigUtil;.updateConfigValue:(Ljava/lang/String;Ljava/lang/String;)V // method@0143 │ │ +01d07a: 6e10 f502 0300 |0045: invoke-virtual {v3}, Ldnsfilter/android/DNSProxyActivity;.getConfig:()Ldnsfilter/ConfigUtil; // method@02f5 │ │ +01d080: 0c04 |0048: move-result-object v4 │ │ +01d082: 6e10 4001 0400 |0049: invoke-virtual {v4}, Ldnsfilter/ConfigUtil;.isChanged:()Z // method@0140 │ │ +01d088: 0a04 |004c: move-result v4 │ │ +01d08a: 3804 0f00 |004d: if-eqz v4, 005c // +000f │ │ +01d08e: 6204 ed00 |004f: sget-object v4, Ldnsfilter/android/DNSProxyActivity;.CONFIG:Ldnsfilter/ConfigurationAccess; // field@00ed │ │ +01d092: 6e10 f502 0300 |0051: invoke-virtual {v3}, Ldnsfilter/android/DNSProxyActivity;.getConfig:()Ldnsfilter/ConfigUtil; // method@02f5 │ │ +01d098: 0c05 |0054: move-result-object v5 │ │ +01d09a: 6e10 3901 0500 |0055: invoke-virtual {v5}, Ldnsfilter/ConfigUtil;.getConfigBytes:()[B // method@0139 │ │ +01d0a0: 0c05 |0058: move-result-object v5 │ │ +01d0a2: 6e20 6101 5400 |0059: invoke-virtual {v4, v5}, Ldnsfilter/ConfigurationAccess;.updateConfig:([B)V // method@0161 │ │ +01d0a8: 0e00 |005c: return-void │ │ +01d0aa: 2204 1b01 |005d: new-instance v4, Ljava/lang/Exception; // type@011b │ │ +01d0ae: 1a05 6601 |005f: const-string v5, "Destination needed in format "host:port"!" // string@0166 │ │ +01d0b2: 7020 5c05 5400 |0061: invoke-direct {v4, v5}, Ljava/lang/Exception;.:(Ljava/lang/String;)V // method@055c │ │ +01d0b8: 2704 |0064: throw v4 │ │ catches : 1 │ │ 0x0002 - 0x0019 │ │ Ljava/lang/Exception; -> 0x005d │ │ positions : │ │ 0x0000 line=1221 │ │ 0x000b line=1222 │ │ 0x0019 line=1227 │ │ @@ -45493,20 +45493,20 @@ │ │ type : '(Landroid/view/ViewGroup;)V' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 4 │ │ ins : 2 │ │ outs : 1 │ │ insns size : 10 16-bit code units │ │ -01d0d0: |[01d0d0] dnsfilter.android.DNSProxyActivity.prepareTransition:(Landroid/view/ViewGroup;)V │ │ -01d0e0: 6000 0200 |0000: sget v0, Landroid/os/Build$VERSION;.SDK_INT:I // field@0002 │ │ -01d0e4: 1301 1300 |0002: const/16 v1, #int 19 // #13 │ │ -01d0e8: 3410 0500 |0004: if-lt v0, v1, 0009 // +0005 │ │ -01d0ec: 7110 6b02 0300 |0006: invoke-static {v3}, Ldnsfilter/android/BootUpReceiver$$ExternalSyntheticApiModelOutline0;.m:(Landroid/view/ViewGroup;)V // method@026b │ │ -01d0f2: 0e00 |0009: return-void │ │ +01d0cc: |[01d0cc] dnsfilter.android.DNSProxyActivity.prepareTransition:(Landroid/view/ViewGroup;)V │ │ +01d0dc: 6000 0200 |0000: sget v0, Landroid/os/Build$VERSION;.SDK_INT:I // field@0002 │ │ +01d0e0: 1301 1300 |0002: const/16 v1, #int 19 // #13 │ │ +01d0e4: 3410 0500 |0004: if-lt v0, v1, 0009 // +0005 │ │ +01d0e8: 7110 6b02 0300 |0006: invoke-static {v3}, Ldnsfilter/android/BootUpReceiver$$ExternalSyntheticApiModelOutline0;.m:(Landroid/view/ViewGroup;)V // method@026b │ │ +01d0ee: 0e00 |0009: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=1519 │ │ 0x0006 line=1520 │ │ locals : │ │ 0x0000 - 0x000a reg=2 this Ldnsfilter/android/DNSProxyActivity; │ │ 0x0000 - 0x000a reg=3 (null) Landroid/view/ViewGroup; │ │ @@ -45516,24 +45516,24 @@ │ │ type : '()V' │ │ access : 0x0009 (PUBLIC STATIC) │ │ code - │ │ registers : 2 │ │ ins : 0 │ │ outs : 2 │ │ insns size : 17 16-bit code units │ │ -01d0f4: |[01d0f4] dnsfilter.android.DNSProxyActivity.reloadLocalConfig:()V │ │ -01d104: 6200 f200 |0000: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.INSTANCE:Ldnsfilter/android/DNSProxyActivity; // field@00f2 │ │ -01d108: 3800 0e00 |0002: if-eqz v0, 0010 // +000e │ │ -01d10c: 6201 ed00 |0004: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.CONFIG:Ldnsfilter/ConfigurationAccess; // field@00ed │ │ -01d110: 6e10 5701 0100 |0006: invoke-virtual {v1}, Ldnsfilter/ConfigurationAccess;.isLocal:()Z // method@0157 │ │ -01d116: 0a01 |0009: move-result v1 │ │ -01d118: 3801 0600 |000a: if-eqz v1, 0010 // +0006 │ │ -01d11c: 1201 |000c: const/4 v1, #int 0 // #0 │ │ -01d11e: 6e20 0603 1000 |000d: invoke-virtual {v0, v1}, Ldnsfilter/android/DNSProxyActivity;.loadAndApplyConfig:(Z)V // method@0306 │ │ -01d124: 0e00 |0010: return-void │ │ +01d0f0: |[01d0f0] dnsfilter.android.DNSProxyActivity.reloadLocalConfig:()V │ │ +01d100: 6200 f200 |0000: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.INSTANCE:Ldnsfilter/android/DNSProxyActivity; // field@00f2 │ │ +01d104: 3800 0e00 |0002: if-eqz v0, 0010 // +000e │ │ +01d108: 6201 ed00 |0004: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.CONFIG:Ldnsfilter/ConfigurationAccess; // field@00ed │ │ +01d10c: 6e10 5701 0100 |0006: invoke-virtual {v1}, Ldnsfilter/ConfigurationAccess;.isLocal:()Z // method@0157 │ │ +01d112: 0a01 |0009: move-result v1 │ │ +01d114: 3801 0600 |000a: if-eqz v1, 0010 // +0006 │ │ +01d118: 1201 |000c: const/4 v1, #int 0 // #0 │ │ +01d11a: 6e20 0603 1000 |000d: invoke-virtual {v0, v1}, Ldnsfilter/android/DNSProxyActivity;.loadAndApplyConfig:(Z)V // method@0306 │ │ +01d120: 0e00 |0010: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=192 │ │ 0x0004 line=193 │ │ 0x000d line=194 │ │ locals : │ │ │ │ @@ -45542,19 +45542,19 @@ │ │ type : '(Landroid/text/Spanned;I)V' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 4 │ │ ins : 3 │ │ outs : 4 │ │ insns size : 9 16-bit code units │ │ -01d1e0: |[01d1e0] dnsfilter.android.DNSProxyActivity.setMessage:(Landroid/text/Spanned;I)V │ │ -01d1f0: 2200 ab00 |0000: new-instance v0, Ldnsfilter/android/DNSProxyActivity$6; // type@00ab │ │ -01d1f4: 7040 c902 1023 |0002: invoke-direct {v0, v1, v3, v2}, Ldnsfilter/android/DNSProxyActivity$6;.:(Ldnsfilter/android/DNSProxyActivity;ILandroid/text/Spanned;)V // method@02c9 │ │ -01d1fa: 6e20 2c03 0100 |0005: invoke-virtual {v1, v0}, Ldnsfilter/android/DNSProxyActivity;.runOnUiThread:(Ljava/lang/Runnable;)V // method@032c │ │ -01d200: 0e00 |0008: return-void │ │ +01d1dc: |[01d1dc] dnsfilter.android.DNSProxyActivity.setMessage:(Landroid/text/Spanned;I)V │ │ +01d1ec: 2200 ab00 |0000: new-instance v0, Ldnsfilter/android/DNSProxyActivity$6; // type@00ab │ │ +01d1f0: 7040 c902 1023 |0002: invoke-direct {v0, v1, v3, v2}, Ldnsfilter/android/DNSProxyActivity$6;.:(Ldnsfilter/android/DNSProxyActivity;ILandroid/text/Spanned;)V // method@02c9 │ │ +01d1f6: 6e20 2c03 0100 |0005: invoke-virtual {v1, v0}, Ldnsfilter/android/DNSProxyActivity;.runOnUiThread:(Ljava/lang/Runnable;)V // method@032c │ │ +01d1fc: 0e00 |0008: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=1640 │ │ locals : │ │ 0x0000 - 0x0009 reg=1 this Ldnsfilter/android/DNSProxyActivity; │ │ 0x0000 - 0x0009 reg=2 (null) Landroid/text/Spanned; │ │ 0x0000 - 0x0009 reg=3 (null) I │ │ @@ -45564,30 +45564,30 @@ │ │ type : '(I)V' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 3 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 36 16-bit code units │ │ -01d204: |[01d204] dnsfilter.android.DNSProxyActivity.setVisibilityForAdvCfg:(I)V │ │ -01d214: 6200 1301 |0000: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.enableAdFilterCheck:Landroid/widget/CheckBox; // field@0113 │ │ -01d218: 6e20 d200 2000 |0002: invoke-virtual {v0, v2}, Landroid/widget/CheckBox;.setVisibility:(I)V // method@00d2 │ │ -01d21e: 6200 1401 |0005: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.enableAutoStartCheck:Landroid/widget/CheckBox; // field@0114 │ │ -01d222: 6e20 d200 2000 |0007: invoke-virtual {v0, v2}, Landroid/widget/CheckBox;.setVisibility:(I)V // method@00d2 │ │ -01d228: 1400 5800 057f |000a: const v0, #float 1.76789e+38 // #7f050058 │ │ -01d22e: 6e20 f102 0100 |000d: invoke-virtual {v1, v0}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02f1 │ │ -01d234: 0c00 |0010: move-result-object v0 │ │ -01d236: 6e20 b400 2000 |0011: invoke-virtual {v0, v2}, Landroid/view/View;.setVisibility:(I)V // method@00b4 │ │ -01d23c: 5410 2a01 |0014: iget-object v0, v1, Ldnsfilter/android/DNSProxyActivity;.reloadFilterBtn:Landroid/widget/Button; // field@012a │ │ -01d240: 6e20 c600 2000 |0016: invoke-virtual {v0, v2}, Landroid/widget/Button;.setVisibility:(I)V // method@00c6 │ │ -01d246: 5410 3601 |0019: iget-object v0, v1, Ldnsfilter/android/DNSProxyActivity;.startBtn:Landroid/widget/Button; // field@0136 │ │ -01d24a: 6e20 c600 2000 |001b: invoke-virtual {v0, v2}, Landroid/widget/Button;.setVisibility:(I)V // method@00c6 │ │ -01d250: 5410 3701 |001e: iget-object v0, v1, Ldnsfilter/android/DNSProxyActivity;.stopBtn:Landroid/widget/Button; // field@0137 │ │ -01d254: 6e20 c600 2000 |0020: invoke-virtual {v0, v2}, Landroid/widget/Button;.setVisibility:(I)V // method@00c6 │ │ -01d25a: 0e00 |0023: return-void │ │ +01d200: |[01d200] dnsfilter.android.DNSProxyActivity.setVisibilityForAdvCfg:(I)V │ │ +01d210: 6200 1301 |0000: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.enableAdFilterCheck:Landroid/widget/CheckBox; // field@0113 │ │ +01d214: 6e20 d200 2000 |0002: invoke-virtual {v0, v2}, Landroid/widget/CheckBox;.setVisibility:(I)V // method@00d2 │ │ +01d21a: 6200 1401 |0005: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.enableAutoStartCheck:Landroid/widget/CheckBox; // field@0114 │ │ +01d21e: 6e20 d200 2000 |0007: invoke-virtual {v0, v2}, Landroid/widget/CheckBox;.setVisibility:(I)V // method@00d2 │ │ +01d224: 1400 5800 057f |000a: const v0, #float 1.76789e+38 // #7f050058 │ │ +01d22a: 6e20 f102 0100 |000d: invoke-virtual {v1, v0}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02f1 │ │ +01d230: 0c00 |0010: move-result-object v0 │ │ +01d232: 6e20 b400 2000 |0011: invoke-virtual {v0, v2}, Landroid/view/View;.setVisibility:(I)V // method@00b4 │ │ +01d238: 5410 2a01 |0014: iget-object v0, v1, Ldnsfilter/android/DNSProxyActivity;.reloadFilterBtn:Landroid/widget/Button; // field@012a │ │ +01d23c: 6e20 c600 2000 |0016: invoke-virtual {v0, v2}, Landroid/widget/Button;.setVisibility:(I)V // method@00c6 │ │ +01d242: 5410 3601 |0019: iget-object v0, v1, Ldnsfilter/android/DNSProxyActivity;.startBtn:Landroid/widget/Button; // field@0136 │ │ +01d246: 6e20 c600 2000 |001b: invoke-virtual {v0, v2}, Landroid/widget/Button;.setVisibility:(I)V // method@00c6 │ │ +01d24c: 5410 3701 |001e: iget-object v0, v1, Ldnsfilter/android/DNSProxyActivity;.stopBtn:Landroid/widget/Button; // field@0137 │ │ +01d250: 6e20 c600 2000 |0020: invoke-virtual {v0, v2}, Landroid/widget/Button;.setVisibility:(I)V // method@00c6 │ │ +01d256: 0e00 |0023: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=1366 │ │ 0x0005 line=1367 │ │ 0x000d line=1368 │ │ 0x0014 line=1369 │ │ 0x0019 line=1370 │ │ @@ -45601,20 +45601,20 @@ │ │ type : '()V' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 3 │ │ ins : 1 │ │ outs : 3 │ │ insns size : 11 16-bit code units │ │ -01d34c: |[01d34c] dnsfilter.android.DNSProxyActivity.startSvc:()V │ │ -01d35c: 2200 1a00 |0000: new-instance v0, Landroid/content/Intent; // type@001a │ │ -01d360: 1c01 a400 |0002: const-class v1, Ldnsfilter/android/DNSFilterService; // type@00a4 │ │ -01d364: 7030 4200 2001 |0004: invoke-direct {v0, v2, v1}, Landroid/content/Intent;.:(Landroid/content/Context;Ljava/lang/Class;)V // method@0042 │ │ -01d36a: 6e20 3503 0200 |0007: invoke-virtual {v2, v0}, Ldnsfilter/android/DNSProxyActivity;.startService:(Landroid/content/Intent;)Landroid/content/ComponentName; // method@0335 │ │ -01d370: 0e00 |000a: return-void │ │ +01d348: |[01d348] dnsfilter.android.DNSProxyActivity.startSvc:()V │ │ +01d358: 2200 1a00 |0000: new-instance v0, Landroid/content/Intent; // type@001a │ │ +01d35c: 1c01 a400 |0002: const-class v1, Ldnsfilter/android/DNSFilterService; // type@00a4 │ │ +01d360: 7030 4200 2001 |0004: invoke-direct {v0, v2, v1}, Landroid/content/Intent;.:(Landroid/content/Context;Ljava/lang/Class;)V // method@0042 │ │ +01d366: 6e20 3503 0200 |0007: invoke-virtual {v2, v0}, Ldnsfilter/android/DNSProxyActivity;.startService:(Landroid/content/Intent;)Landroid/content/ComponentName; // method@0335 │ │ +01d36c: 0e00 |000a: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=1596 │ │ locals : │ │ 0x0000 - 0x000b reg=2 this Ldnsfilter/android/DNSProxyActivity; │ │ │ │ Virtual methods - │ │ @@ -45623,28 +45623,28 @@ │ │ type : '(Landroid/text/Editable;)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 4 │ │ ins : 2 │ │ outs : 1 │ │ insns size : 23 16-bit code units │ │ -01a490: |[01a490] dnsfilter.android.DNSProxyActivity.afterTextChanged:(Landroid/text/Editable;)V │ │ -01a4a0: 6200 0201 |0000: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.additionalHostsField:Landroid/widget/EditText; // field@0102 │ │ -01a4a4: 6e10 d700 0000 |0002: invoke-virtual {v0}, Landroid/widget/EditText;.getEditableText:()Landroid/text/Editable; // method@00d7 │ │ -01a4aa: 0c00 |0005: move-result-object v0 │ │ -01a4ac: 1211 |0006: const/4 v1, #int 1 // #1 │ │ -01a4ae: 3303 0500 |0007: if-ne v3, v0, 000c // +0005 │ │ -01a4b2: 6a01 0101 |0009: sput-boolean v1, Ldnsfilter/android/DNSProxyActivity;.additionalHostsChanged:Z // field@0101 │ │ -01a4b6: 280b |000b: goto 0016 // +000b │ │ -01a4b8: 6200 2301 |000c: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.manuallyEditField:Landroid/widget/EditText; // field@0123 │ │ -01a4bc: 6e10 d700 0000 |000e: invoke-virtual {v0}, Landroid/widget/EditText;.getEditableText:()Landroid/text/Editable; // method@00d7 │ │ -01a4c2: 0c00 |0011: move-result-object v0 │ │ -01a4c4: 3303 0400 |0012: if-ne v3, v0, 0016 // +0004 │ │ -01a4c8: 6a01 2101 |0014: sput-boolean v1, Ldnsfilter/android/DNSProxyActivity;.manuallyConfEdited:Z // field@0121 │ │ -01a4cc: 0e00 |0016: return-void │ │ +01a48c: |[01a48c] dnsfilter.android.DNSProxyActivity.afterTextChanged:(Landroid/text/Editable;)V │ │ +01a49c: 6200 0201 |0000: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.additionalHostsField:Landroid/widget/EditText; // field@0102 │ │ +01a4a0: 6e10 d700 0000 |0002: invoke-virtual {v0}, Landroid/widget/EditText;.getEditableText:()Landroid/text/Editable; // method@00d7 │ │ +01a4a6: 0c00 |0005: move-result-object v0 │ │ +01a4a8: 1211 |0006: const/4 v1, #int 1 // #1 │ │ +01a4aa: 3303 0500 |0007: if-ne v3, v0, 000c // +0005 │ │ +01a4ae: 6a01 0101 |0009: sput-boolean v1, Ldnsfilter/android/DNSProxyActivity;.additionalHostsChanged:Z // field@0101 │ │ +01a4b2: 280b |000b: goto 0016 // +000b │ │ +01a4b4: 6200 2301 |000c: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.manuallyEditField:Landroid/widget/EditText; // field@0123 │ │ +01a4b8: 6e10 d700 0000 |000e: invoke-virtual {v0}, Landroid/widget/EditText;.getEditableText:()Landroid/text/Editable; // method@00d7 │ │ +01a4be: 0c00 |0011: move-result-object v0 │ │ +01a4c0: 3303 0400 |0012: if-ne v3, v0, 0016 // +0004 │ │ +01a4c4: 6a01 2101 |0014: sput-boolean v1, Ldnsfilter/android/DNSProxyActivity;.manuallyConfEdited:Z // field@0121 │ │ +01a4c8: 0e00 |0016: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=1661 │ │ 0x0009 line=1662 │ │ 0x000c line=1663 │ │ 0x0014 line=1664 │ │ locals : │ │ @@ -45656,80 +45656,80 @@ │ │ type : '(Ljava/lang/String;Z)V' │ │ access : 0x0004 (PROTECTED) │ │ code - │ │ registers : 7 │ │ ins : 3 │ │ outs : 3 │ │ insns size : 136 16-bit code units │ │ -01a4d0: |[01a4d0] dnsfilter.android.DNSProxyActivity.applyCopiedHosts:(Ljava/lang/String;Z)V │ │ -01a4e0: 1400 1900 057f |0000: const v0, #float 1.76788e+38 // #7f050019 │ │ -01a4e6: 6e20 f102 0400 |0003: invoke-virtual {v4, v0}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02f1 │ │ -01a4ec: 0c00 |0006: move-result-object v0 │ │ -01a4ee: 1301 0800 |0007: const/16 v1, #int 8 // #8 │ │ -01a4f2: 6e20 b400 1000 |0009: invoke-virtual {v0, v1}, Landroid/view/View;.setVisibility:(I)V // method@00b4 │ │ -01a4f8: 2200 6601 |000c: new-instance v0, Ljava/util/StringTokenizer; // type@0166 │ │ -01a4fc: 1a01 0200 |000e: const-string v1, " │ │ +01a4cc: |[01a4cc] dnsfilter.android.DNSProxyActivity.applyCopiedHosts:(Ljava/lang/String;Z)V │ │ +01a4dc: 1400 1900 057f |0000: const v0, #float 1.76788e+38 // #7f050019 │ │ +01a4e2: 6e20 f102 0400 |0003: invoke-virtual {v4, v0}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02f1 │ │ +01a4e8: 0c00 |0006: move-result-object v0 │ │ +01a4ea: 1301 0800 |0007: const/16 v1, #int 8 // #8 │ │ +01a4ee: 6e20 b400 1000 |0009: invoke-virtual {v0, v1}, Landroid/view/View;.setVisibility:(I)V // method@00b4 │ │ +01a4f4: 2200 6601 |000c: new-instance v0, Ljava/util/StringTokenizer; // type@0166 │ │ +01a4f8: 1a01 0200 |000e: const-string v1, " │ │ " // string@0002 │ │ -01a500: 7030 6406 5001 |0010: invoke-direct {v0, v5, v1}, Ljava/util/StringTokenizer;.:(Ljava/lang/String;Ljava/lang/String;)V // method@0664 │ │ -01a506: 1a05 0000 |0013: const-string v5, "" // string@0000 │ │ -01a50a: 6e10 6706 0000 |0015: invoke-virtual {v0}, Ljava/util/StringTokenizer;.hasMoreTokens:()Z // method@0667 │ │ -01a510: 0a02 |0018: move-result v2 │ │ -01a512: 3802 5c00 |0019: if-eqz v2, 0075 // +005c │ │ -01a516: 6e10 6806 0000 |001b: invoke-virtual {v0}, Ljava/util/StringTokenizer;.nextToken:()Ljava/lang/String; // method@0668 │ │ -01a51c: 0c02 |001e: move-result-object v2 │ │ -01a51e: 6203 f300 |001f: sget-object v3, Ldnsfilter/android/DNSProxyActivity;.IN_FILTER_PREF:Ljava/lang/String; // field@00f3 │ │ -01a522: 6e20 9b05 3200 |0021: invoke-virtual {v2, v3}, Ljava/lang/String;.startsWith:(Ljava/lang/String;)Z // method@059b │ │ -01a528: 0a03 |0024: move-result v3 │ │ -01a52a: 3803 2400 |0025: if-eqz v3, 0049 // +0024 │ │ -01a52e: 3906 2200 |0027: if-nez v6, 0049 // +0022 │ │ -01a532: 2203 2d01 |0029: new-instance v3, Ljava/lang/StringBuilder; // type@012d │ │ -01a536: 7010 a905 0300 |002b: invoke-direct {v3}, Ljava/lang/StringBuilder;.:()V // method@05a9 │ │ -01a53c: 6e20 af05 5300 |002e: invoke-virtual {v3, v5}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -01a542: 6205 f300 |0031: sget-object v5, Ldnsfilter/android/DNSProxyActivity;.IN_FILTER_PREF:Ljava/lang/String; // field@00f3 │ │ -01a546: 6e10 9605 0500 |0033: invoke-virtual {v5}, Ljava/lang/String;.length:()I // method@0596 │ │ -01a54c: 0a05 |0036: move-result v5 │ │ -01a54e: 6e20 9c05 5200 |0037: invoke-virtual {v2, v5}, Ljava/lang/String;.substring:(I)Ljava/lang/String; // method@059c │ │ -01a554: 0c05 |003a: move-result-object v5 │ │ -01a556: 6e10 a205 0500 |003b: invoke-virtual {v5}, Ljava/lang/String;.trim:()Ljava/lang/String; // method@05a2 │ │ -01a55c: 0c05 |003e: move-result-object v5 │ │ -01a55e: 6e20 af05 5300 |003f: invoke-virtual {v3, v5}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -01a564: 6e20 af05 1300 |0042: invoke-virtual {v3, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -01a56a: 6e10 b105 0300 |0045: invoke-virtual {v3}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ -01a570: 0c05 |0048: move-result-object v5 │ │ -01a572: 6203 f800 |0049: sget-object v3, Ldnsfilter/android/DNSProxyActivity;.NO_FILTER_PREF:Ljava/lang/String; // field@00f8 │ │ -01a576: 6e20 9b05 3200 |004b: invoke-virtual {v2, v3}, Ljava/lang/String;.startsWith:(Ljava/lang/String;)Z // method@059b │ │ -01a57c: 0a03 |004e: move-result v3 │ │ -01a57e: 3803 c6ff |004f: if-eqz v3, 0015 // -003a │ │ -01a582: 1213 |0051: const/4 v3, #int 1 // #1 │ │ -01a584: 3336 c3ff |0052: if-ne v6, v3, 0015 // -003d │ │ -01a588: 2203 2d01 |0054: new-instance v3, Ljava/lang/StringBuilder; // type@012d │ │ -01a58c: 7010 a905 0300 |0056: invoke-direct {v3}, Ljava/lang/StringBuilder;.:()V // method@05a9 │ │ -01a592: 6e20 af05 5300 |0059: invoke-virtual {v3, v5}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -01a598: 6205 f800 |005c: sget-object v5, Ldnsfilter/android/DNSProxyActivity;.NO_FILTER_PREF:Ljava/lang/String; // field@00f8 │ │ -01a59c: 6e10 9605 0500 |005e: invoke-virtual {v5}, Ljava/lang/String;.length:()I // method@0596 │ │ -01a5a2: 0a05 |0061: move-result v5 │ │ -01a5a4: 6e20 9c05 5200 |0062: invoke-virtual {v2, v5}, Ljava/lang/String;.substring:(I)Ljava/lang/String; // method@059c │ │ -01a5aa: 0c05 |0065: move-result-object v5 │ │ -01a5ac: 6e10 a205 0500 |0066: invoke-virtual {v5}, Ljava/lang/String;.trim:()Ljava/lang/String; // method@05a2 │ │ -01a5b2: 0c05 |0069: move-result-object v5 │ │ -01a5b4: 6e20 af05 5300 |006a: invoke-virtual {v3, v5}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -01a5ba: 6e20 af05 1300 |006d: invoke-virtual {v3, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -01a5c0: 6e10 b105 0300 |0070: invoke-virtual {v3}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ -01a5c6: 0c05 |0073: move-result-object v5 │ │ -01a5c8: 28a1 |0074: goto 0015 // -005f │ │ -01a5ca: 6200 ed00 |0075: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.CONFIG:Ldnsfilter/ConfigurationAccess; // field@00ed │ │ -01a5ce: 6e10 a205 0500 |0077: invoke-virtual {v5}, Ljava/lang/String;.trim:()Ljava/lang/String; // method@05a2 │ │ -01a5d4: 0c05 |007a: move-result-object v5 │ │ -01a5d6: 6e30 6301 5006 |007b: invoke-virtual {v0, v5, v6}, Ldnsfilter/ConfigurationAccess;.updateFilter:(Ljava/lang/String;Z)V // method@0163 │ │ -01a5dc: 2809 |007e: goto 0087 // +0009 │ │ -01a5de: 0d05 |007f: move-exception v5 │ │ -01a5e0: 7100 2707 0000 |0080: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0727 │ │ -01a5e6: 0c06 |0083: move-result-object v6 │ │ -01a5e8: 7220 3207 5600 |0084: invoke-interface {v6, v5}, Lutil/LoggerInterface;.logException:(Ljava/lang/Exception;)V // method@0732 │ │ -01a5ee: 0e00 |0087: return-void │ │ +01a4fc: 7030 6406 5001 |0010: invoke-direct {v0, v5, v1}, Ljava/util/StringTokenizer;.:(Ljava/lang/String;Ljava/lang/String;)V // method@0664 │ │ +01a502: 1a05 0000 |0013: const-string v5, "" // string@0000 │ │ +01a506: 6e10 6706 0000 |0015: invoke-virtual {v0}, Ljava/util/StringTokenizer;.hasMoreTokens:()Z // method@0667 │ │ +01a50c: 0a02 |0018: move-result v2 │ │ +01a50e: 3802 5c00 |0019: if-eqz v2, 0075 // +005c │ │ +01a512: 6e10 6806 0000 |001b: invoke-virtual {v0}, Ljava/util/StringTokenizer;.nextToken:()Ljava/lang/String; // method@0668 │ │ +01a518: 0c02 |001e: move-result-object v2 │ │ +01a51a: 6203 f300 |001f: sget-object v3, Ldnsfilter/android/DNSProxyActivity;.IN_FILTER_PREF:Ljava/lang/String; // field@00f3 │ │ +01a51e: 6e20 9b05 3200 |0021: invoke-virtual {v2, v3}, Ljava/lang/String;.startsWith:(Ljava/lang/String;)Z // method@059b │ │ +01a524: 0a03 |0024: move-result v3 │ │ +01a526: 3803 2400 |0025: if-eqz v3, 0049 // +0024 │ │ +01a52a: 3906 2200 |0027: if-nez v6, 0049 // +0022 │ │ +01a52e: 2203 2d01 |0029: new-instance v3, Ljava/lang/StringBuilder; // type@012d │ │ +01a532: 7010 a905 0300 |002b: invoke-direct {v3}, Ljava/lang/StringBuilder;.:()V // method@05a9 │ │ +01a538: 6e20 af05 5300 |002e: invoke-virtual {v3, v5}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +01a53e: 6205 f300 |0031: sget-object v5, Ldnsfilter/android/DNSProxyActivity;.IN_FILTER_PREF:Ljava/lang/String; // field@00f3 │ │ +01a542: 6e10 9605 0500 |0033: invoke-virtual {v5}, Ljava/lang/String;.length:()I // method@0596 │ │ +01a548: 0a05 |0036: move-result v5 │ │ +01a54a: 6e20 9c05 5200 |0037: invoke-virtual {v2, v5}, Ljava/lang/String;.substring:(I)Ljava/lang/String; // method@059c │ │ +01a550: 0c05 |003a: move-result-object v5 │ │ +01a552: 6e10 a205 0500 |003b: invoke-virtual {v5}, Ljava/lang/String;.trim:()Ljava/lang/String; // method@05a2 │ │ +01a558: 0c05 |003e: move-result-object v5 │ │ +01a55a: 6e20 af05 5300 |003f: invoke-virtual {v3, v5}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +01a560: 6e20 af05 1300 |0042: invoke-virtual {v3, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +01a566: 6e10 b105 0300 |0045: invoke-virtual {v3}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ +01a56c: 0c05 |0048: move-result-object v5 │ │ +01a56e: 6203 f800 |0049: sget-object v3, Ldnsfilter/android/DNSProxyActivity;.NO_FILTER_PREF:Ljava/lang/String; // field@00f8 │ │ +01a572: 6e20 9b05 3200 |004b: invoke-virtual {v2, v3}, Ljava/lang/String;.startsWith:(Ljava/lang/String;)Z // method@059b │ │ +01a578: 0a03 |004e: move-result v3 │ │ +01a57a: 3803 c6ff |004f: if-eqz v3, 0015 // -003a │ │ +01a57e: 1213 |0051: const/4 v3, #int 1 // #1 │ │ +01a580: 3336 c3ff |0052: if-ne v6, v3, 0015 // -003d │ │ +01a584: 2203 2d01 |0054: new-instance v3, Ljava/lang/StringBuilder; // type@012d │ │ +01a588: 7010 a905 0300 |0056: invoke-direct {v3}, Ljava/lang/StringBuilder;.:()V // method@05a9 │ │ +01a58e: 6e20 af05 5300 |0059: invoke-virtual {v3, v5}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +01a594: 6205 f800 |005c: sget-object v5, Ldnsfilter/android/DNSProxyActivity;.NO_FILTER_PREF:Ljava/lang/String; // field@00f8 │ │ +01a598: 6e10 9605 0500 |005e: invoke-virtual {v5}, Ljava/lang/String;.length:()I // method@0596 │ │ +01a59e: 0a05 |0061: move-result v5 │ │ +01a5a0: 6e20 9c05 5200 |0062: invoke-virtual {v2, v5}, Ljava/lang/String;.substring:(I)Ljava/lang/String; // method@059c │ │ +01a5a6: 0c05 |0065: move-result-object v5 │ │ +01a5a8: 6e10 a205 0500 |0066: invoke-virtual {v5}, Ljava/lang/String;.trim:()Ljava/lang/String; // method@05a2 │ │ +01a5ae: 0c05 |0069: move-result-object v5 │ │ +01a5b0: 6e20 af05 5300 |006a: invoke-virtual {v3, v5}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +01a5b6: 6e20 af05 1300 |006d: invoke-virtual {v3, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +01a5bc: 6e10 b105 0300 |0070: invoke-virtual {v3}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ +01a5c2: 0c05 |0073: move-result-object v5 │ │ +01a5c4: 28a1 |0074: goto 0015 // -005f │ │ +01a5c6: 6200 ed00 |0075: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.CONFIG:Ldnsfilter/ConfigurationAccess; // field@00ed │ │ +01a5ca: 6e10 a205 0500 |0077: invoke-virtual {v5}, Ljava/lang/String;.trim:()Ljava/lang/String; // method@05a2 │ │ +01a5d0: 0c05 |007a: move-result-object v5 │ │ +01a5d2: 6e30 6301 5006 |007b: invoke-virtual {v0, v5, v6}, Ldnsfilter/ConfigurationAccess;.updateFilter:(Ljava/lang/String;Z)V // method@0163 │ │ +01a5d8: 2809 |007e: goto 0087 // +0009 │ │ +01a5da: 0d05 |007f: move-exception v5 │ │ +01a5dc: 7100 2707 0000 |0080: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0727 │ │ +01a5e2: 0c06 |0083: move-result-object v6 │ │ +01a5e4: 7220 3207 5600 |0084: invoke-interface {v6, v5}, Lutil/LoggerInterface;.logException:(Ljava/lang/Exception;)V // method@0732 │ │ +01a5ea: 0e00 |0087: return-void │ │ catches : 1 │ │ 0x0075 - 0x007e │ │ Ljava/io/IOException; -> 0x007f │ │ positions : │ │ 0x0003 line=859 │ │ 0x000c line=861 │ │ 0x0013 line=862 │ │ @@ -45751,58 +45751,58 @@ │ │ type : '(Ljava/lang/CharSequence;III)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 5 │ │ ins : 5 │ │ outs : 0 │ │ insns size : 1 16-bit code units │ │ -01a600: |[01a600] dnsfilter.android.DNSProxyActivity.beforeTextChanged:(Ljava/lang/CharSequence;III)V │ │ -01a610: 0e00 |0000: return-void │ │ +01a5fc: |[01a5fc] dnsfilter.android.DNSProxyActivity.beforeTextChanged:(Ljava/lang/CharSequence;III)V │ │ +01a60c: 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 │ │ -01a764: |[01a764] dnsfilter.android.DNSProxyActivity.closeLogger:()V │ │ -01a774: 0e00 |0000: return-void │ │ +01a760: |[01a760] dnsfilter.android.DNSProxyActivity.closeLogger:()V │ │ +01a770: 0e00 |0000: return-void │ │ catches : (none) │ │ positions : │ │ locals : │ │ │ │ #4 : (in Ldnsfilter/android/DNSProxyActivity;) │ │ name : 'doBackup' │ │ type : '()V' │ │ access : 0x0004 (PROTECTED) │ │ code - │ │ registers : 4 │ │ ins : 1 │ │ outs : 3 │ │ insns size : 30 16-bit code units │ │ -01a7a4: |[01a7a4] dnsfilter.android.DNSProxyActivity.doBackup:()V │ │ -01a7b4: 2200 1a00 |0000: new-instance v0, Landroid/content/Intent; // type@001a │ │ -01a7b8: 1a01 5e05 |0002: const-string v1, "android.intent.action.CREATE_DOCUMENT" // string@055e │ │ -01a7bc: 7020 4300 1000 |0004: invoke-direct {v0, v1}, Landroid/content/Intent;.:(Ljava/lang/String;)V // method@0043 │ │ -01a7c2: 1a01 6105 |0007: const-string v1, "android.intent.category.OPENABLE" // string@0561 │ │ -01a7c6: 6e20 4500 1000 |0009: invoke-virtual {v0, v1}, Landroid/content/Intent;.addCategory:(Ljava/lang/String;)Landroid/content/Intent; // method@0045 │ │ -01a7cc: 1a01 7705 |000c: const-string v1, "application/zip" // string@0577 │ │ -01a7d0: 6e20 4e00 1000 |000e: invoke-virtual {v0, v1}, Landroid/content/Intent;.setType:(Ljava/lang/String;)Landroid/content/Intent; // method@004e │ │ -01a7d6: 1a01 6205 |0011: const-string v1, "android.intent.extra.TITLE" // string@0562 │ │ -01a7da: 1a02 5d09 |0013: const-string v2, "pdnsf_backup.zip" // string@095d │ │ -01a7de: 6e30 4b00 1002 |0015: invoke-virtual {v0, v1, v2}, Landroid/content/Intent;.putExtra:(Ljava/lang/String;Ljava/lang/String;)Landroid/content/Intent; // method@004b │ │ -01a7e4: 6001 f000 |0018: sget v1, Ldnsfilter/android/DNSProxyActivity;.DO_BACKUP:I // field@00f0 │ │ -01a7e8: 6e30 3403 0301 |001a: invoke-virtual {v3, v0, v1}, Ldnsfilter/android/DNSProxyActivity;.startActivityForResult:(Landroid/content/Intent;I)V // method@0334 │ │ -01a7ee: 0e00 |001d: return-void │ │ +01a7a0: |[01a7a0] dnsfilter.android.DNSProxyActivity.doBackup:()V │ │ +01a7b0: 2200 1a00 |0000: new-instance v0, Landroid/content/Intent; // type@001a │ │ +01a7b4: 1a01 5e05 |0002: const-string v1, "android.intent.action.CREATE_DOCUMENT" // string@055e │ │ +01a7b8: 7020 4300 1000 |0004: invoke-direct {v0, v1}, Landroid/content/Intent;.:(Ljava/lang/String;)V // method@0043 │ │ +01a7be: 1a01 6105 |0007: const-string v1, "android.intent.category.OPENABLE" // string@0561 │ │ +01a7c2: 6e20 4500 1000 |0009: invoke-virtual {v0, v1}, Landroid/content/Intent;.addCategory:(Ljava/lang/String;)Landroid/content/Intent; // method@0045 │ │ +01a7c8: 1a01 7705 |000c: const-string v1, "application/zip" // string@0577 │ │ +01a7cc: 6e20 4e00 1000 |000e: invoke-virtual {v0, v1}, Landroid/content/Intent;.setType:(Ljava/lang/String;)Landroid/content/Intent; // method@004e │ │ +01a7d2: 1a01 6205 |0011: const-string v1, "android.intent.extra.TITLE" // string@0562 │ │ +01a7d6: 1a02 5d09 |0013: const-string v2, "pdnsf_backup.zip" // string@095d │ │ +01a7da: 6e30 4b00 1002 |0015: invoke-virtual {v0, v1, v2}, Landroid/content/Intent;.putExtra:(Ljava/lang/String;Ljava/lang/String;)Landroid/content/Intent; // method@004b │ │ +01a7e0: 6001 f000 |0018: sget v1, Ldnsfilter/android/DNSProxyActivity;.DO_BACKUP:I // field@00f0 │ │ +01a7e4: 6e30 3403 0301 |001a: invoke-virtual {v3, v0, v1}, Ldnsfilter/android/DNSProxyActivity;.startActivityForResult:(Landroid/content/Intent;I)V // method@0334 │ │ +01a7ea: 0e00 |001d: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=728 │ │ 0x0007 line=729 │ │ 0x000c line=730 │ │ 0x0011 line=731 │ │ 0x0018 line=733 │ │ @@ -45814,28 +45814,28 @@ │ │ type : '()V' │ │ access : 0x0004 (PROTECTED) │ │ code - │ │ registers : 4 │ │ ins : 1 │ │ outs : 3 │ │ insns size : 30 16-bit code units │ │ -01a7f0: |[01a7f0] dnsfilter.android.DNSProxyActivity.doRestore:()V │ │ -01a800: 2200 1a00 |0000: new-instance v0, Landroid/content/Intent; // type@001a │ │ -01a804: 1a01 5f05 |0002: const-string v1, "android.intent.action.OPEN_DOCUMENT" // string@055f │ │ -01a808: 7020 4300 1000 |0004: invoke-direct {v0, v1}, Landroid/content/Intent;.:(Ljava/lang/String;)V // method@0043 │ │ -01a80e: 1a01 6105 |0007: const-string v1, "android.intent.category.OPENABLE" // string@0561 │ │ -01a812: 6e20 4500 1000 |0009: invoke-virtual {v0, v1}, Landroid/content/Intent;.addCategory:(Ljava/lang/String;)Landroid/content/Intent; // method@0045 │ │ -01a818: 1a01 7705 |000c: const-string v1, "application/zip" // string@0577 │ │ -01a81c: 6e20 4e00 1000 |000e: invoke-virtual {v0, v1}, Landroid/content/Intent;.setType:(Ljava/lang/String;)Landroid/content/Intent; // method@004e │ │ -01a822: 1a01 6205 |0011: const-string v1, "android.intent.extra.TITLE" // string@0562 │ │ -01a826: 1a02 5d09 |0013: const-string v2, "pdnsf_backup.zip" // string@095d │ │ -01a82a: 6e30 4b00 1002 |0015: invoke-virtual {v0, v1, v2}, Landroid/content/Intent;.putExtra:(Ljava/lang/String;Ljava/lang/String;)Landroid/content/Intent; // method@004b │ │ -01a830: 6001 f100 |0018: sget v1, Ldnsfilter/android/DNSProxyActivity;.DO_RESTORE:I // field@00f1 │ │ -01a834: 6e30 3403 0301 |001a: invoke-virtual {v3, v0, v1}, Ldnsfilter/android/DNSProxyActivity;.startActivityForResult:(Landroid/content/Intent;I)V // method@0334 │ │ -01a83a: 0e00 |001d: return-void │ │ +01a7ec: |[01a7ec] dnsfilter.android.DNSProxyActivity.doRestore:()V │ │ +01a7fc: 2200 1a00 |0000: new-instance v0, Landroid/content/Intent; // type@001a │ │ +01a800: 1a01 5f05 |0002: const-string v1, "android.intent.action.OPEN_DOCUMENT" // string@055f │ │ +01a804: 7020 4300 1000 |0004: invoke-direct {v0, v1}, Landroid/content/Intent;.:(Ljava/lang/String;)V // method@0043 │ │ +01a80a: 1a01 6105 |0007: const-string v1, "android.intent.category.OPENABLE" // string@0561 │ │ +01a80e: 6e20 4500 1000 |0009: invoke-virtual {v0, v1}, Landroid/content/Intent;.addCategory:(Ljava/lang/String;)Landroid/content/Intent; // method@0045 │ │ +01a814: 1a01 7705 |000c: const-string v1, "application/zip" // string@0577 │ │ +01a818: 6e20 4e00 1000 |000e: invoke-virtual {v0, v1}, Landroid/content/Intent;.setType:(Ljava/lang/String;)Landroid/content/Intent; // method@004e │ │ +01a81e: 1a01 6205 |0011: const-string v1, "android.intent.extra.TITLE" // string@0562 │ │ +01a822: 1a02 5d09 |0013: const-string v2, "pdnsf_backup.zip" // string@095d │ │ +01a826: 6e30 4b00 1002 |0015: invoke-virtual {v0, v1, v2}, Landroid/content/Intent;.putExtra:(Ljava/lang/String;Ljava/lang/String;)Landroid/content/Intent; // method@004b │ │ +01a82c: 6001 f100 |0018: sget v1, Ldnsfilter/android/DNSProxyActivity;.DO_RESTORE:I // field@00f1 │ │ +01a830: 6e30 3403 0301 |001a: invoke-virtual {v3, v0, v1}, Ldnsfilter/android/DNSProxyActivity;.startActivityForResult:(Landroid/content/Intent;I)V // method@0334 │ │ +01a836: 0e00 |001d: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=738 │ │ 0x0007 line=739 │ │ 0x000c line=740 │ │ 0x0011 line=741 │ │ 0x0018 line=743 │ │ @@ -45847,45 +45847,45 @@ │ │ type : '()V' │ │ access : 0x0004 (PROTECTED) │ │ code - │ │ registers : 5 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 65 16-bit code units │ │ -01a83c: |[01a83c] dnsfilter.android.DNSProxyActivity.doRestoreDefaults:()V │ │ -01a84c: 1400 1000 057f |0000: const v0, #float 1.76788e+38 // #7f050010 │ │ -01a852: 6e20 f102 0400 |0003: invoke-virtual {v4, v0}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02f1 │ │ -01a858: 0c00 |0006: move-result-object v0 │ │ -01a85a: 1f00 7300 |0007: check-cast v0, Landroid/widget/TextView; // type@0073 │ │ -01a85e: 6201 ed00 |0009: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.CONFIG:Ldnsfilter/ConfigurationAccess; // field@00ed │ │ -01a862: 6e10 4b01 0100 |000b: invoke-virtual {v1}, Ldnsfilter/ConfigurationAccess;.doRestoreDefaults:()V // method@014b │ │ -01a868: 1a01 3500 |000e: const-string v1, "#43A047" // string@0035 │ │ -01a86c: 7110 5c00 0100 |0010: invoke-static {v1}, Landroid/graphics/Color;.parseColor:(Ljava/lang/String;)I // method@005c │ │ -01a872: 0a01 |0013: move-result v1 │ │ -01a874: 6e20 0a01 1000 |0014: invoke-virtual {v0, v1}, Landroid/widget/TextView;.setTextColor:(I)V // method@010a │ │ -01a87a: 1201 |0017: const/4 v1, #int 0 // #0 │ │ -01a87c: 6e20 0603 1400 |0018: invoke-virtual {v4, v1}, Ldnsfilter/android/DNSProxyActivity;.loadAndApplyConfig:(Z)V // method@0306 │ │ -01a882: 1a01 4404 |001b: const-string v1, "Restore success!" // string@0444 │ │ -01a886: 6e20 0901 1000 |001d: invoke-virtual {v0, v1}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@0109 │ │ -01a88c: 2820 |0020: goto 0040 // +0020 │ │ -01a88e: 0d01 |0021: move-exception v1 │ │ -01a890: 1a02 3700 |0022: const-string v2, "#E53935" // string@0037 │ │ -01a894: 7110 5c00 0200 |0024: invoke-static {v2}, Landroid/graphics/Color;.parseColor:(Ljava/lang/String;)I // method@005c │ │ -01a89a: 0a02 |0027: move-result v2 │ │ -01a89c: 6e20 0a01 2000 |0028: invoke-virtual {v0, v2}, Landroid/widget/TextView;.setTextColor:(I)V // method@010a │ │ -01a8a2: 2202 2d01 |002b: new-instance v2, Ljava/lang/StringBuilder; // type@012d │ │ -01a8a6: 1a03 4304 |002d: const-string v3, "Restore failed! " // string@0443 │ │ -01a8aa: 7020 aa05 3200 |002f: invoke-direct {v2, v3}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05aa │ │ -01a8b0: 6e10 2405 0100 |0032: invoke-virtual {v1}, Ljava/io/IOException;.getMessage:()Ljava/lang/String; // method@0524 │ │ -01a8b6: 0c01 |0035: move-result-object v1 │ │ -01a8b8: 6e20 af05 1200 |0036: invoke-virtual {v2, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -01a8be: 6e10 b105 0200 |0039: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ -01a8c4: 0c01 |003c: move-result-object v1 │ │ -01a8c6: 6e20 0901 1000 |003d: invoke-virtual {v0, v1}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@0109 │ │ -01a8cc: 0e00 |0040: return-void │ │ +01a838: |[01a838] dnsfilter.android.DNSProxyActivity.doRestoreDefaults:()V │ │ +01a848: 1400 1000 057f |0000: const v0, #float 1.76788e+38 // #7f050010 │ │ +01a84e: 6e20 f102 0400 |0003: invoke-virtual {v4, v0}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02f1 │ │ +01a854: 0c00 |0006: move-result-object v0 │ │ +01a856: 1f00 7300 |0007: check-cast v0, Landroid/widget/TextView; // type@0073 │ │ +01a85a: 6201 ed00 |0009: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.CONFIG:Ldnsfilter/ConfigurationAccess; // field@00ed │ │ +01a85e: 6e10 4b01 0100 |000b: invoke-virtual {v1}, Ldnsfilter/ConfigurationAccess;.doRestoreDefaults:()V // method@014b │ │ +01a864: 1a01 3500 |000e: const-string v1, "#43A047" // string@0035 │ │ +01a868: 7110 5c00 0100 |0010: invoke-static {v1}, Landroid/graphics/Color;.parseColor:(Ljava/lang/String;)I // method@005c │ │ +01a86e: 0a01 |0013: move-result v1 │ │ +01a870: 6e20 0a01 1000 |0014: invoke-virtual {v0, v1}, Landroid/widget/TextView;.setTextColor:(I)V // method@010a │ │ +01a876: 1201 |0017: const/4 v1, #int 0 // #0 │ │ +01a878: 6e20 0603 1400 |0018: invoke-virtual {v4, v1}, Ldnsfilter/android/DNSProxyActivity;.loadAndApplyConfig:(Z)V // method@0306 │ │ +01a87e: 1a01 4404 |001b: const-string v1, "Restore success!" // string@0444 │ │ +01a882: 6e20 0901 1000 |001d: invoke-virtual {v0, v1}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@0109 │ │ +01a888: 2820 |0020: goto 0040 // +0020 │ │ +01a88a: 0d01 |0021: move-exception v1 │ │ +01a88c: 1a02 3700 |0022: const-string v2, "#E53935" // string@0037 │ │ +01a890: 7110 5c00 0200 |0024: invoke-static {v2}, Landroid/graphics/Color;.parseColor:(Ljava/lang/String;)I // method@005c │ │ +01a896: 0a02 |0027: move-result v2 │ │ +01a898: 6e20 0a01 2000 |0028: invoke-virtual {v0, v2}, Landroid/widget/TextView;.setTextColor:(I)V // method@010a │ │ +01a89e: 2202 2d01 |002b: new-instance v2, Ljava/lang/StringBuilder; // type@012d │ │ +01a8a2: 1a03 4304 |002d: const-string v3, "Restore failed! " // string@0443 │ │ +01a8a6: 7020 aa05 3200 |002f: invoke-direct {v2, v3}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05aa │ │ +01a8ac: 6e10 2405 0100 |0032: invoke-virtual {v1}, Ljava/io/IOException;.getMessage:()Ljava/lang/String; // method@0524 │ │ +01a8b2: 0c01 |0035: move-result-object v1 │ │ +01a8b4: 6e20 af05 1200 |0036: invoke-virtual {v2, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +01a8ba: 6e10 b105 0200 |0039: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ +01a8c0: 0c01 |003c: move-result-object v1 │ │ +01a8c2: 6e20 0901 1000 |003d: invoke-virtual {v0, v1}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@0109 │ │ +01a8c8: 0e00 |0040: return-void │ │ catches : 1 │ │ 0x0009 - 0x0020 │ │ Ljava/io/IOException; -> 0x0021 │ │ positions : │ │ 0x0003 line=777 │ │ 0x0009 line=779 │ │ 0x000e line=780 │ │ @@ -45901,25 +45901,25 @@ │ │ type : '()Ldnsfilter/ConfigUtil;' │ │ access : 0x0004 (PROTECTED) │ │ code - │ │ registers : 3 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 17 16-bit code units │ │ -01a0fc: |[01a0fc] dnsfilter.android.DNSProxyActivity.getConfig:()Ldnsfilter/ConfigUtil; │ │ -01a10c: 6200 ed00 |0000: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.CONFIG:Ldnsfilter/ConfigurationAccess; // field@00ed │ │ -01a110: 6e10 4e01 0000 |0002: invoke-virtual {v0}, Ldnsfilter/ConfigurationAccess;.getConfigUtil:()Ldnsfilter/ConfigUtil; // method@014e │ │ -01a116: 0c00 |0005: move-result-object v0 │ │ -01a118: 1100 |0006: return-object v0 │ │ -01a11a: 0d00 |0007: move-exception v0 │ │ -01a11c: 7100 2707 0000 |0008: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0727 │ │ -01a122: 0c01 |000b: move-result-object v1 │ │ -01a124: 7220 3207 0100 |000c: invoke-interface {v1, v0}, Lutil/LoggerInterface;.logException:(Ljava/lang/Exception;)V // method@0732 │ │ -01a12a: 1200 |000f: const/4 v0, #int 0 // #0 │ │ -01a12c: 1100 |0010: return-object v0 │ │ +01a0f8: |[01a0f8] dnsfilter.android.DNSProxyActivity.getConfig:()Ldnsfilter/ConfigUtil; │ │ +01a108: 6200 ed00 |0000: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.CONFIG:Ldnsfilter/ConfigurationAccess; // field@00ed │ │ +01a10c: 6e10 4e01 0000 |0002: invoke-virtual {v0}, Ldnsfilter/ConfigurationAccess;.getConfigUtil:()Ldnsfilter/ConfigUtil; // method@014e │ │ +01a112: 0c00 |0005: move-result-object v0 │ │ +01a114: 1100 |0006: return-object v0 │ │ +01a116: 0d00 |0007: move-exception v0 │ │ +01a118: 7100 2707 0000 |0008: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0727 │ │ +01a11e: 0c01 |000b: move-result-object v1 │ │ +01a120: 7220 3207 0100 |000c: invoke-interface {v1, v0}, Lutil/LoggerInterface;.logException:(Ljava/lang/Exception;)V // method@0732 │ │ +01a126: 1200 |000f: const/4 v0, #int 0 // #0 │ │ +01a128: 1100 |0010: return-object v0 │ │ catches : 1 │ │ 0x0000 - 0x0006 │ │ Ljava/lang/Exception; -> 0x0007 │ │ positions : │ │ 0x0000 line=698 │ │ 0x0008 line=700 │ │ locals : │ │ @@ -45930,35 +45930,35 @@ │ │ type : '()V' │ │ access : 0x20004 (PROTECTED DECLARED_SYNCHRONIZED) │ │ code - │ │ registers : 4 │ │ ins : 1 │ │ outs : 3 │ │ insns size : 40 16-bit code units │ │ -01ae90: |[01ae90] dnsfilter.android.DNSProxyActivity.handleExitApp:()V │ │ -01aea0: 1d03 |0000: monitor-enter v3 │ │ -01aea2: 1210 |0001: const/4 v0, #int 1 // #1 │ │ -01aea4: 7110 af02 0000 |0002: invoke-static {v0}, Ldnsfilter/android/DNSFilterService;.stop:(Z)Z // method@02af │ │ -01aeaa: 6001 0200 |0005: sget v1, Landroid/os/Build$VERSION;.SDK_INT:I // field@0002 │ │ -01aeae: 1302 1800 |0007: const/16 v2, #int 24 // #18 │ │ -01aeb2: 3421 0500 |0009: if-lt v1, v2, 000e // +0005 │ │ -01aeb6: 7110 bb02 0300 |000b: invoke-static {v3}, Ldnsfilter/android/DNSFilterTileService;.requestTileUpdate:(Landroid/content/Context;)V // method@02bb │ │ -01aebc: 2201 1a00 |000e: new-instance v1, Landroid/content/Intent; // type@001a │ │ -01aec0: 1c02 b000 |0010: const-class v2, Ldnsfilter/android/DNSProxyActivity; // type@00b0 │ │ -01aec4: 7030 4200 3102 |0012: invoke-direct {v1, v3, v2}, Landroid/content/Intent;.:(Landroid/content/Context;Ljava/lang/Class;)V // method@0042 │ │ -01aeca: 1402 0080 0010 |0015: const v2, #float 2.53422e-29 // #10008000 │ │ -01aed0: 6e20 4600 2100 |0018: invoke-virtual {v1, v2}, Landroid/content/Intent;.addFlags:(I)Landroid/content/Intent; // method@0046 │ │ -01aed6: 1a02 5404 |001b: const-string v2, "SHOULD_FINISH" // string@0454 │ │ -01aeda: 6e30 4c00 2100 |001d: invoke-virtual {v1, v2, v0}, Landroid/content/Intent;.putExtra:(Ljava/lang/String;Z)Landroid/content/Intent; // method@004c │ │ -01aee0: 6e20 3303 1300 |0020: invoke-virtual {v3, v1}, Ldnsfilter/android/DNSProxyActivity;.startActivity:(Landroid/content/Intent;)V // method@0333 │ │ -01aee6: 1e03 |0023: monitor-exit v3 │ │ -01aee8: 0e00 |0024: return-void │ │ -01aeea: 0d00 |0025: move-exception v0 │ │ -01aeec: 1e03 |0026: monitor-exit v3 │ │ -01aeee: 2700 |0027: throw v0 │ │ +01ae8c: |[01ae8c] dnsfilter.android.DNSProxyActivity.handleExitApp:()V │ │ +01ae9c: 1d03 |0000: monitor-enter v3 │ │ +01ae9e: 1210 |0001: const/4 v0, #int 1 // #1 │ │ +01aea0: 7110 af02 0000 |0002: invoke-static {v0}, Ldnsfilter/android/DNSFilterService;.stop:(Z)Z // method@02af │ │ +01aea6: 6001 0200 |0005: sget v1, Landroid/os/Build$VERSION;.SDK_INT:I // field@0002 │ │ +01aeaa: 1302 1800 |0007: const/16 v2, #int 24 // #18 │ │ +01aeae: 3421 0500 |0009: if-lt v1, v2, 000e // +0005 │ │ +01aeb2: 7110 bb02 0300 |000b: invoke-static {v3}, Ldnsfilter/android/DNSFilterTileService;.requestTileUpdate:(Landroid/content/Context;)V // method@02bb │ │ +01aeb8: 2201 1a00 |000e: new-instance v1, Landroid/content/Intent; // type@001a │ │ +01aebc: 1c02 b000 |0010: const-class v2, Ldnsfilter/android/DNSProxyActivity; // type@00b0 │ │ +01aec0: 7030 4200 3102 |0012: invoke-direct {v1, v3, v2}, Landroid/content/Intent;.:(Landroid/content/Context;Ljava/lang/Class;)V // method@0042 │ │ +01aec6: 1402 0080 0010 |0015: const v2, #float 2.53422e-29 // #10008000 │ │ +01aecc: 6e20 4600 2100 |0018: invoke-virtual {v1, v2}, Landroid/content/Intent;.addFlags:(I)Landroid/content/Intent; // method@0046 │ │ +01aed2: 1a02 5404 |001b: const-string v2, "SHOULD_FINISH" // string@0454 │ │ +01aed6: 6e30 4c00 2100 |001d: invoke-virtual {v1, v2, v0}, Landroid/content/Intent;.putExtra:(Ljava/lang/String;Z)Landroid/content/Intent; // method@004c │ │ +01aedc: 6e20 3303 1300 |0020: invoke-virtual {v3, v1}, Ldnsfilter/android/DNSProxyActivity;.startActivity:(Landroid/content/Intent;)V // method@0333 │ │ +01aee2: 1e03 |0023: monitor-exit v3 │ │ +01aee4: 0e00 |0024: return-void │ │ +01aee6: 0d00 |0025: move-exception v0 │ │ +01aee8: 1e03 |0026: monitor-exit v3 │ │ +01aeea: 2700 |0027: throw v0 │ │ catches : 1 │ │ 0x0002 - 0x0023 │ │ -> 0x0025 │ │ positions : │ │ 0x0002 line=1525 │ │ 0x0005 line=1526 │ │ 0x000b line=1527 │ │ @@ -45975,23 +45975,23 @@ │ │ type : '()V' │ │ access : 0x0004 (PROTECTED) │ │ code - │ │ registers : 3 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 15 16-bit code units │ │ -01b328: |[01b328] dnsfilter.android.DNSProxyActivity.handlefilterReload:()V │ │ -01b338: 6200 ed00 |0000: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.CONFIG:Ldnsfilter/ConfigurationAccess; // field@00ed │ │ -01b33c: 6e10 5f01 0000 |0002: invoke-virtual {v0}, Ldnsfilter/ConfigurationAccess;.triggerUpdateFilter:()V // method@015f │ │ -01b342: 2809 |0005: goto 000e // +0009 │ │ -01b344: 0d00 |0006: move-exception v0 │ │ -01b346: 7100 2707 0000 |0007: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0727 │ │ -01b34c: 0c01 |000a: move-result-object v1 │ │ -01b34e: 7220 3207 0100 |000b: invoke-interface {v1, v0}, Lutil/LoggerInterface;.logException:(Ljava/lang/Exception;)V // method@0732 │ │ -01b354: 0e00 |000e: return-void │ │ +01b324: |[01b324] dnsfilter.android.DNSProxyActivity.handlefilterReload:()V │ │ +01b334: 6200 ed00 |0000: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.CONFIG:Ldnsfilter/ConfigurationAccess; // field@00ed │ │ +01b338: 6e10 5f01 0000 |0002: invoke-virtual {v0}, Ldnsfilter/ConfigurationAccess;.triggerUpdateFilter:()V // method@015f │ │ +01b33e: 2809 |0005: goto 000e // +0009 │ │ +01b340: 0d00 |0006: move-exception v0 │ │ +01b342: 7100 2707 0000 |0007: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0727 │ │ +01b348: 0c01 |000a: move-result-object v1 │ │ +01b34a: 7220 3207 0100 |000b: invoke-interface {v1, v0}, Lutil/LoggerInterface;.logException:(Ljava/lang/Exception;)V // method@0732 │ │ +01b350: 0e00 |000e: return-void │ │ catches : 1 │ │ 0x0000 - 0x0005 │ │ Ljava/lang/Exception; -> 0x0006 │ │ positions : │ │ 0x0000 line=852 │ │ 0x0007 line=854 │ │ locals : │ │ @@ -46002,47 +46002,47 @@ │ │ type : '()V' │ │ access : 0x0004 (PROTECTED) │ │ code - │ │ registers : 5 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 64 16-bit code units │ │ -01b450: |[01b450] dnsfilter.android.DNSProxyActivity.loadAdditionalHosts:()V │ │ -01b460: 6200 ed00 |0000: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.CONFIG:Ldnsfilter/ConfigurationAccess; // field@00ed │ │ -01b464: 1501 0800 |0002: const/high16 v1, #int 524288 // #8 │ │ -01b468: 6e20 4c01 1000 |0004: invoke-virtual {v0, v1}, Ldnsfilter/ConfigurationAccess;.getAdditionalHosts:(I)[B // method@014c │ │ -01b46e: 0c00 |0007: move-result-object v0 │ │ -01b470: 1201 |0008: const/4 v1, #int 0 // #0 │ │ -01b472: 3900 0f00 |0009: if-nez v0, 0018 // +000f │ │ -01b476: 6200 0201 |000b: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.additionalHostsField:Landroid/widget/EditText; // field@0102 │ │ -01b47a: 6202 eb00 |000d: sget-object v2, Ldnsfilter/android/DNSProxyActivity;.ADDITIONAL_HOSTS_TO_LONG:Ljava/lang/String; // field@00eb │ │ -01b47e: 6e20 e600 2000 |000f: invoke-virtual {v0, v2}, Landroid/widget/EditText;.setText:(Ljava/lang/CharSequence;)V // method@00e6 │ │ -01b484: 6200 0201 |0012: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.additionalHostsField:Landroid/widget/EditText; // field@0102 │ │ -01b488: 6e20 dd00 1000 |0014: invoke-virtual {v0, v1}, Landroid/widget/EditText;.setEnabled:(Z)V // method@00dd │ │ -01b48e: 0e00 |0017: return-void │ │ -01b490: 6202 0201 |0018: sget-object v2, Ldnsfilter/android/DNSProxyActivity;.additionalHostsField:Landroid/widget/EditText; // field@0102 │ │ -01b494: 2203 2b01 |001a: new-instance v3, Ljava/lang/String; // type@012b │ │ -01b498: 7020 8705 0300 |001c: invoke-direct {v3, v0}, Ljava/lang/String;.:([B)V // method@0587 │ │ -01b49e: 6e20 e600 3200 |001f: invoke-virtual {v2, v3}, Landroid/widget/EditText;.setText:(Ljava/lang/CharSequence;)V // method@00e6 │ │ -01b4a4: 6a01 0101 |0022: sput-boolean v1, Ldnsfilter/android/DNSProxyActivity;.additionalHostsChanged:Z // field@0101 │ │ -01b4a8: 281b |0024: goto 003f // +001b │ │ -01b4aa: 0d00 |0025: move-exception v0 │ │ -01b4ac: 7100 2707 0000 |0026: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0727 │ │ -01b4b2: 0c01 |0029: move-result-object v1 │ │ -01b4b4: 2202 2d01 |002a: new-instance v2, Ljava/lang/StringBuilder; // type@012d │ │ -01b4b8: 1a03 e800 |002c: const-string v3, "Can not load /PersonalDNSFilter/additionalHosts.txt! │ │ +01b44c: |[01b44c] dnsfilter.android.DNSProxyActivity.loadAdditionalHosts:()V │ │ +01b45c: 6200 ed00 |0000: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.CONFIG:Ldnsfilter/ConfigurationAccess; // field@00ed │ │ +01b460: 1501 0800 |0002: const/high16 v1, #int 524288 // #8 │ │ +01b464: 6e20 4c01 1000 |0004: invoke-virtual {v0, v1}, Ldnsfilter/ConfigurationAccess;.getAdditionalHosts:(I)[B // method@014c │ │ +01b46a: 0c00 |0007: move-result-object v0 │ │ +01b46c: 1201 |0008: const/4 v1, #int 0 // #0 │ │ +01b46e: 3900 0f00 |0009: if-nez v0, 0018 // +000f │ │ +01b472: 6200 0201 |000b: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.additionalHostsField:Landroid/widget/EditText; // field@0102 │ │ +01b476: 6202 eb00 |000d: sget-object v2, Ldnsfilter/android/DNSProxyActivity;.ADDITIONAL_HOSTS_TO_LONG:Ljava/lang/String; // field@00eb │ │ +01b47a: 6e20 e600 2000 |000f: invoke-virtual {v0, v2}, Landroid/widget/EditText;.setText:(Ljava/lang/CharSequence;)V // method@00e6 │ │ +01b480: 6200 0201 |0012: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.additionalHostsField:Landroid/widget/EditText; // field@0102 │ │ +01b484: 6e20 dd00 1000 |0014: invoke-virtual {v0, v1}, Landroid/widget/EditText;.setEnabled:(Z)V // method@00dd │ │ +01b48a: 0e00 |0017: return-void │ │ +01b48c: 6202 0201 |0018: sget-object v2, Ldnsfilter/android/DNSProxyActivity;.additionalHostsField:Landroid/widget/EditText; // field@0102 │ │ +01b490: 2203 2b01 |001a: new-instance v3, Ljava/lang/String; // type@012b │ │ +01b494: 7020 8705 0300 |001c: invoke-direct {v3, v0}, Ljava/lang/String;.:([B)V // method@0587 │ │ +01b49a: 6e20 e600 3200 |001f: invoke-virtual {v2, v3}, Landroid/widget/EditText;.setText:(Ljava/lang/CharSequence;)V // method@00e6 │ │ +01b4a0: 6a01 0101 |0022: sput-boolean v1, Ldnsfilter/android/DNSProxyActivity;.additionalHostsChanged:Z // field@0101 │ │ +01b4a4: 281b |0024: goto 003f // +001b │ │ +01b4a6: 0d00 |0025: move-exception v0 │ │ +01b4a8: 7100 2707 0000 |0026: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0727 │ │ +01b4ae: 0c01 |0029: move-result-object v1 │ │ +01b4b0: 2202 2d01 |002a: new-instance v2, Ljava/lang/StringBuilder; // type@012d │ │ +01b4b4: 1a03 e800 |002c: const-string v3, "Can not load /PersonalDNSFilter/additionalHosts.txt! │ │ " // string@00e8 │ │ -01b4bc: 7020 aa05 3200 |002e: invoke-direct {v2, v3}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05aa │ │ -01b4c2: 6e10 2605 0000 |0031: invoke-virtual {v0}, Ljava/io/IOException;.toString:()Ljava/lang/String; // method@0526 │ │ -01b4c8: 0c00 |0034: move-result-object v0 │ │ -01b4ca: 6e20 af05 0200 |0035: invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -01b4d0: 6e10 b105 0200 |0038: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ -01b4d6: 0c00 |003b: move-result-object v0 │ │ -01b4d8: 7220 3307 0100 |003c: invoke-interface {v1, v0}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0733 │ │ -01b4de: 0e00 |003f: return-void │ │ +01b4b8: 7020 aa05 3200 |002e: invoke-direct {v2, v3}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05aa │ │ +01b4be: 6e10 2605 0000 |0031: invoke-virtual {v0}, Ljava/io/IOException;.toString:()Ljava/lang/String; // method@0526 │ │ +01b4c4: 0c00 |0034: move-result-object v0 │ │ +01b4c6: 6e20 af05 0200 |0035: invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +01b4cc: 6e10 b105 0200 |0038: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ +01b4d2: 0c00 |003b: move-result-object v0 │ │ +01b4d4: 7220 3307 0100 |003c: invoke-interface {v1, v0}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0733 │ │ +01b4da: 0e00 |003f: return-void │ │ catches : 1 │ │ 0x0000 - 0x0024 │ │ Ljava/io/IOException; -> 0x0025 │ │ positions : │ │ 0x0000 line=792 │ │ 0x000b line=794 │ │ 0x0012 line=795 │ │ @@ -46057,49 +46057,49 @@ │ │ type : '(Z)V' │ │ access : 0x0004 (PROTECTED) │ │ code - │ │ registers : 7 │ │ ins : 2 │ │ outs : 3 │ │ insns size : 67 16-bit code units │ │ -01b4f0: |[01b4f0] dnsfilter.android.DNSProxyActivity.loadAndApplyConfig:(Z)V │ │ -01b500: 6e10 f502 0500 |0000: invoke-virtual {v5}, Ldnsfilter/android/DNSProxyActivity;.getConfig:()Ldnsfilter/ConfigUtil; // method@02f5 │ │ -01b506: 0c00 |0003: move-result-object v0 │ │ -01b508: 6900 0e01 |0004: sput-object v0, Ldnsfilter/android/DNSProxyActivity;.config:Ldnsfilter/ConfigUtil; // field@010e │ │ -01b50c: 1201 |0006: const/4 v1, #int 0 // #0 │ │ -01b50e: 3800 3900 |0007: if-eqz v0, 0040 // +0039 │ │ -01b512: 1a02 6b06 |0009: const-string v2, "dnsProxyOnAndroid" // string@066b │ │ -01b516: 1a03 df06 |000b: const-string v3, "false" // string@06df │ │ -01b51a: 6e30 3a01 2003 |000d: invoke-virtual {v0, v2, v3}, Ldnsfilter/ConfigUtil;.getConfigValue:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@013a │ │ -01b520: 0c00 |0010: move-result-object v0 │ │ -01b522: 7110 4d05 0000 |0011: invoke-static {v0}, Ljava/lang/Boolean;.parseBoolean:(Ljava/lang/String;)Z // method@054d │ │ -01b528: 0a00 |0014: move-result v0 │ │ -01b52a: 6202 0e01 |0015: sget-object v2, Ldnsfilter/android/DNSProxyActivity;.config:Ldnsfilter/ConfigUtil; // field@010e │ │ -01b52e: 1a04 900b |0017: const-string v4, "vpnInAdditionToProxyMode" // string@0b90 │ │ -01b532: 6e30 3a01 4203 |0019: invoke-virtual {v2, v4, v3}, Ldnsfilter/ConfigUtil;.getConfigValue:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@013a │ │ -01b538: 0c02 |001c: move-result-object v2 │ │ -01b53a: 7110 4d05 0200 |001d: invoke-static {v2}, Ljava/lang/Boolean;.parseBoolean:(Ljava/lang/String;)Z // method@054d │ │ -01b540: 0a02 |0020: move-result v2 │ │ -01b542: 3800 0500 |0021: if-eqz v0, 0026 // +0005 │ │ -01b546: 3902 0300 |0023: if-nez v2, 0026 // +0003 │ │ -01b54a: 1211 |0025: const/4 v1, #int 1 // #1 │ │ -01b54c: 6a01 f900 |0026: sput-boolean v1, Ldnsfilter/android/DNSProxyActivity;.NO_VPN:Z // field@00f9 │ │ -01b550: 2200 a800 |0028: new-instance v0, Ldnsfilter/android/DNSProxyActivity$3; // type@00a8 │ │ -01b554: 7020 c302 5000 |002a: invoke-direct {v0, v5}, Ldnsfilter/android/DNSProxyActivity$3;.:(Ldnsfilter/android/DNSProxyActivity;)V // method@02c3 │ │ -01b55a: 6e20 2c03 0500 |002d: invoke-virtual {v5, v0}, Ldnsfilter/android/DNSProxyActivity;.runOnUiThread:(Ljava/lang/Runnable;)V // method@032c │ │ -01b560: 7010 e702 0500 |0030: invoke-direct {v5}, Ldnsfilter/android/DNSProxyActivity;.checkNotificationPermission:()Z // method@02e7 │ │ -01b566: 0a00 |0033: move-result v0 │ │ -01b568: 3900 0300 |0034: if-nez v0, 0037 // +0003 │ │ -01b56c: 0e00 |0036: return-void │ │ -01b56e: 3806 0b00 |0037: if-eqz v6, 0042 // +000b │ │ -01b572: 7010 ff02 0500 |0039: invoke-direct {v5}, Ldnsfilter/android/DNSProxyActivity;.handleInitialInfoPopUp:()V // method@02ff │ │ -01b578: 6e10 3703 0500 |003c: invoke-virtual {v5}, Ldnsfilter/android/DNSProxyActivity;.startup:()V // method@0337 │ │ -01b57e: 2803 |003f: goto 0042 // +0003 │ │ -01b580: 6a01 3801 |0040: sput-boolean v1, Ldnsfilter/android/DNSProxyActivity;.switchingConfig:Z // field@0138 │ │ -01b584: 0e00 |0042: return-void │ │ +01b4ec: |[01b4ec] dnsfilter.android.DNSProxyActivity.loadAndApplyConfig:(Z)V │ │ +01b4fc: 6e10 f502 0500 |0000: invoke-virtual {v5}, Ldnsfilter/android/DNSProxyActivity;.getConfig:()Ldnsfilter/ConfigUtil; // method@02f5 │ │ +01b502: 0c00 |0003: move-result-object v0 │ │ +01b504: 6900 0e01 |0004: sput-object v0, Ldnsfilter/android/DNSProxyActivity;.config:Ldnsfilter/ConfigUtil; // field@010e │ │ +01b508: 1201 |0006: const/4 v1, #int 0 // #0 │ │ +01b50a: 3800 3900 |0007: if-eqz v0, 0040 // +0039 │ │ +01b50e: 1a02 6b06 |0009: const-string v2, "dnsProxyOnAndroid" // string@066b │ │ +01b512: 1a03 df06 |000b: const-string v3, "false" // string@06df │ │ +01b516: 6e30 3a01 2003 |000d: invoke-virtual {v0, v2, v3}, Ldnsfilter/ConfigUtil;.getConfigValue:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@013a │ │ +01b51c: 0c00 |0010: move-result-object v0 │ │ +01b51e: 7110 4d05 0000 |0011: invoke-static {v0}, Ljava/lang/Boolean;.parseBoolean:(Ljava/lang/String;)Z // method@054d │ │ +01b524: 0a00 |0014: move-result v0 │ │ +01b526: 6202 0e01 |0015: sget-object v2, Ldnsfilter/android/DNSProxyActivity;.config:Ldnsfilter/ConfigUtil; // field@010e │ │ +01b52a: 1a04 900b |0017: const-string v4, "vpnInAdditionToProxyMode" // string@0b90 │ │ +01b52e: 6e30 3a01 4203 |0019: invoke-virtual {v2, v4, v3}, Ldnsfilter/ConfigUtil;.getConfigValue:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@013a │ │ +01b534: 0c02 |001c: move-result-object v2 │ │ +01b536: 7110 4d05 0200 |001d: invoke-static {v2}, Ljava/lang/Boolean;.parseBoolean:(Ljava/lang/String;)Z // method@054d │ │ +01b53c: 0a02 |0020: move-result v2 │ │ +01b53e: 3800 0500 |0021: if-eqz v0, 0026 // +0005 │ │ +01b542: 3902 0300 |0023: if-nez v2, 0026 // +0003 │ │ +01b546: 1211 |0025: const/4 v1, #int 1 // #1 │ │ +01b548: 6a01 f900 |0026: sput-boolean v1, Ldnsfilter/android/DNSProxyActivity;.NO_VPN:Z // field@00f9 │ │ +01b54c: 2200 a800 |0028: new-instance v0, Ldnsfilter/android/DNSProxyActivity$3; // type@00a8 │ │ +01b550: 7020 c302 5000 |002a: invoke-direct {v0, v5}, Ldnsfilter/android/DNSProxyActivity$3;.:(Ldnsfilter/android/DNSProxyActivity;)V // method@02c3 │ │ +01b556: 6e20 2c03 0500 |002d: invoke-virtual {v5, v0}, Ldnsfilter/android/DNSProxyActivity;.runOnUiThread:(Ljava/lang/Runnable;)V // method@032c │ │ +01b55c: 7010 e702 0500 |0030: invoke-direct {v5}, Ldnsfilter/android/DNSProxyActivity;.checkNotificationPermission:()Z // method@02e7 │ │ +01b562: 0a00 |0033: move-result v0 │ │ +01b564: 3900 0300 |0034: if-nez v0, 0037 // +0003 │ │ +01b568: 0e00 |0036: return-void │ │ +01b56a: 3806 0b00 |0037: if-eqz v6, 0042 // +000b │ │ +01b56e: 7010 ff02 0500 |0039: invoke-direct {v5}, Ldnsfilter/android/DNSProxyActivity;.handleInitialInfoPopUp:()V // method@02ff │ │ +01b574: 6e10 3703 0500 |003c: invoke-virtual {v5}, Ldnsfilter/android/DNSProxyActivity;.startup:()V // method@0337 │ │ +01b57a: 2803 |003f: goto 0042 // +0003 │ │ +01b57c: 6a01 3801 |0040: sput-boolean v1, Ldnsfilter/android/DNSProxyActivity;.switchingConfig:Z // field@0138 │ │ +01b580: 0e00 |0042: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=950 │ │ 0x0009 line=954 │ │ 0x0015 line=955 │ │ 0x0026 line=956 │ │ 0x0028 line=958 │ │ @@ -46117,39 +46117,39 @@ │ │ type : '()V' │ │ access : 0x0004 (PROTECTED) │ │ code - │ │ registers : 5 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 47 16-bit code units │ │ -01b588: |[01b588] dnsfilter.android.DNSProxyActivity.loadManuallyEditConf:()V │ │ -01b598: 6200 ed00 |0000: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.CONFIG:Ldnsfilter/ConfigurationAccess; // field@00ed │ │ -01b59c: 6e10 5901 0000 |0002: invoke-virtual {v0}, Ldnsfilter/ConfigurationAccess;.readConfig:()[B // method@0159 │ │ -01b5a2: 0c00 |0005: move-result-object v0 │ │ -01b5a4: 6201 2301 |0006: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.manuallyEditField:Landroid/widget/EditText; // field@0123 │ │ -01b5a8: 2202 2b01 |0008: new-instance v2, Ljava/lang/String; // type@012b │ │ -01b5ac: 7020 8705 0200 |000a: invoke-direct {v2, v0}, Ljava/lang/String;.:([B)V // method@0587 │ │ -01b5b2: 6e20 e600 2100 |000d: invoke-virtual {v1, v2}, Landroid/widget/EditText;.setText:(Ljava/lang/CharSequence;)V // method@00e6 │ │ -01b5b8: 1200 |0010: const/4 v0, #int 0 // #0 │ │ -01b5ba: 6a00 2101 |0011: sput-boolean v0, Ldnsfilter/android/DNSProxyActivity;.manuallyConfEdited:Z // field@0121 │ │ -01b5be: 281b |0013: goto 002e // +001b │ │ -01b5c0: 0d00 |0014: move-exception v0 │ │ -01b5c2: 7100 2707 0000 |0015: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0727 │ │ -01b5c8: 0c01 |0018: move-result-object v1 │ │ -01b5ca: 2202 2d01 |0019: new-instance v2, Ljava/lang/StringBuilder; // type@012d │ │ -01b5ce: 1a03 e900 |001b: const-string v3, "Can not load /PersonalDNSFilter/dnsfilter.conf! │ │ +01b584: |[01b584] dnsfilter.android.DNSProxyActivity.loadManuallyEditConf:()V │ │ +01b594: 6200 ed00 |0000: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.CONFIG:Ldnsfilter/ConfigurationAccess; // field@00ed │ │ +01b598: 6e10 5901 0000 |0002: invoke-virtual {v0}, Ldnsfilter/ConfigurationAccess;.readConfig:()[B // method@0159 │ │ +01b59e: 0c00 |0005: move-result-object v0 │ │ +01b5a0: 6201 2301 |0006: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.manuallyEditField:Landroid/widget/EditText; // field@0123 │ │ +01b5a4: 2202 2b01 |0008: new-instance v2, Ljava/lang/String; // type@012b │ │ +01b5a8: 7020 8705 0200 |000a: invoke-direct {v2, v0}, Ljava/lang/String;.:([B)V // method@0587 │ │ +01b5ae: 6e20 e600 2100 |000d: invoke-virtual {v1, v2}, Landroid/widget/EditText;.setText:(Ljava/lang/CharSequence;)V // method@00e6 │ │ +01b5b4: 1200 |0010: const/4 v0, #int 0 // #0 │ │ +01b5b6: 6a00 2101 |0011: sput-boolean v0, Ldnsfilter/android/DNSProxyActivity;.manuallyConfEdited:Z // field@0121 │ │ +01b5ba: 281b |0013: goto 002e // +001b │ │ +01b5bc: 0d00 |0014: move-exception v0 │ │ +01b5be: 7100 2707 0000 |0015: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0727 │ │ +01b5c4: 0c01 |0018: move-result-object v1 │ │ +01b5c6: 2202 2d01 |0019: new-instance v2, Ljava/lang/StringBuilder; // type@012d │ │ +01b5ca: 1a03 e900 |001b: const-string v3, "Can not load /PersonalDNSFilter/dnsfilter.conf! │ │ " // string@00e9 │ │ -01b5d2: 7020 aa05 3200 |001d: invoke-direct {v2, v3}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05aa │ │ -01b5d8: 6e10 2605 0000 |0020: invoke-virtual {v0}, Ljava/io/IOException;.toString:()Ljava/lang/String; // method@0526 │ │ -01b5de: 0c00 |0023: move-result-object v0 │ │ -01b5e0: 6e20 af05 0200 |0024: invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -01b5e6: 6e10 b105 0200 |0027: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ -01b5ec: 0c00 |002a: move-result-object v0 │ │ -01b5ee: 7220 3307 0100 |002b: invoke-interface {v1, v0}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0733 │ │ -01b5f4: 0e00 |002e: return-void │ │ +01b5ce: 7020 aa05 3200 |001d: invoke-direct {v2, v3}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05aa │ │ +01b5d4: 6e10 2605 0000 |0020: invoke-virtual {v0}, Ljava/io/IOException;.toString:()Ljava/lang/String; // method@0526 │ │ +01b5da: 0c00 |0023: move-result-object v0 │ │ +01b5dc: 6e20 af05 0200 |0024: invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +01b5e2: 6e10 b105 0200 |0027: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ +01b5e8: 0c00 |002a: move-result-object v0 │ │ +01b5ea: 7220 3307 0100 |002b: invoke-interface {v1, v0}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0733 │ │ +01b5f0: 0e00 |002e: return-void │ │ catches : 1 │ │ 0x0000 - 0x0013 │ │ Ljava/io/IOException; -> 0x0014 │ │ positions : │ │ 0x0000 line=807 │ │ 0x0006 line=808 │ │ 0x0011 line=809 │ │ @@ -46162,19 +46162,19 @@ │ │ type : '(Ljava/lang/String;)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 3 │ │ ins : 2 │ │ outs : 3 │ │ insns size : 9 16-bit code units │ │ -01b608: |[01b608] dnsfilter.android.DNSProxyActivity.log:(Ljava/lang/String;)V │ │ -01b618: 2200 af00 |0000: new-instance v0, Ldnsfilter/android/DNSProxyActivity$MyUIThreadLogger; // type@00af │ │ -01b61c: 7030 d602 1002 |0002: invoke-direct {v0, v1, v2}, Ldnsfilter/android/DNSProxyActivity$MyUIThreadLogger;.:(Ldnsfilter/android/DNSProxyActivity;Ljava/lang/String;)V // method@02d6 │ │ -01b622: 6e20 2c03 0100 |0005: invoke-virtual {v1, v0}, Ldnsfilter/android/DNSProxyActivity;.runOnUiThread:(Ljava/lang/Runnable;)V // method@032c │ │ -01b628: 0e00 |0008: return-void │ │ +01b604: |[01b604] dnsfilter.android.DNSProxyActivity.log:(Ljava/lang/String;)V │ │ +01b614: 2200 af00 |0000: new-instance v0, Ldnsfilter/android/DNSProxyActivity$MyUIThreadLogger; // type@00af │ │ +01b618: 7030 d602 1002 |0002: invoke-direct {v0, v1, v2}, Ldnsfilter/android/DNSProxyActivity$MyUIThreadLogger;.:(Ldnsfilter/android/DNSProxyActivity;Ljava/lang/String;)V // method@02d6 │ │ +01b61e: 6e20 2c03 0100 |0005: invoke-virtual {v1, v0}, Ldnsfilter/android/DNSProxyActivity;.runOnUiThread:(Ljava/lang/Runnable;)V // method@032c │ │ +01b624: 0e00 |0008: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=1628 │ │ locals : │ │ 0x0000 - 0x0009 reg=1 this Ldnsfilter/android/DNSProxyActivity; │ │ 0x0000 - 0x0009 reg=2 (null) Ljava/lang/String; │ │ │ │ @@ -46183,34 +46183,34 @@ │ │ type : '(Ljava/lang/Exception;)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 4 │ │ ins : 2 │ │ outs : 3 │ │ insns size : 43 16-bit code units │ │ -01b62c: |[01b62c] dnsfilter.android.DNSProxyActivity.logException:(Ljava/lang/Exception;)V │ │ -01b63c: 2200 0d01 |0000: new-instance v0, Ljava/io/StringWriter; // type@010d │ │ -01b640: 7010 4805 0000 |0002: invoke-direct {v0}, Ljava/io/StringWriter;.:()V // method@0548 │ │ -01b646: 2201 0a01 |0005: new-instance v1, Ljava/io/PrintWriter; // type@010a │ │ -01b64a: 7020 4305 0100 |0007: invoke-direct {v1, v0}, Ljava/io/PrintWriter;.:(Ljava/io/Writer;)V // method@0543 │ │ -01b650: 6e20 6005 1300 |000a: invoke-virtual {v3, v1}, Ljava/lang/Exception;.printStackTrace:(Ljava/io/PrintWriter;)V // method@0560 │ │ -01b656: 2203 af00 |000d: new-instance v3, Ldnsfilter/android/DNSProxyActivity$MyUIThreadLogger; // type@00af │ │ -01b65a: 2201 2d01 |000f: new-instance v1, Ljava/lang/StringBuilder; // type@012d │ │ -01b65e: 7010 a905 0100 |0011: invoke-direct {v1}, Ljava/lang/StringBuilder;.:()V // method@05a9 │ │ -01b664: 6e10 4905 0000 |0014: invoke-virtual {v0}, Ljava/io/StringWriter;.toString:()Ljava/lang/String; // method@0549 │ │ -01b66a: 0c00 |0017: move-result-object v0 │ │ -01b66c: 6e20 af05 0100 |0018: invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -01b672: 1a00 0200 |001b: const-string v0, " │ │ +01b628: |[01b628] dnsfilter.android.DNSProxyActivity.logException:(Ljava/lang/Exception;)V │ │ +01b638: 2200 0d01 |0000: new-instance v0, Ljava/io/StringWriter; // type@010d │ │ +01b63c: 7010 4805 0000 |0002: invoke-direct {v0}, Ljava/io/StringWriter;.:()V // method@0548 │ │ +01b642: 2201 0a01 |0005: new-instance v1, Ljava/io/PrintWriter; // type@010a │ │ +01b646: 7020 4305 0100 |0007: invoke-direct {v1, v0}, Ljava/io/PrintWriter;.:(Ljava/io/Writer;)V // method@0543 │ │ +01b64c: 6e20 6005 1300 |000a: invoke-virtual {v3, v1}, Ljava/lang/Exception;.printStackTrace:(Ljava/io/PrintWriter;)V // method@0560 │ │ +01b652: 2203 af00 |000d: new-instance v3, Ldnsfilter/android/DNSProxyActivity$MyUIThreadLogger; // type@00af │ │ +01b656: 2201 2d01 |000f: new-instance v1, Ljava/lang/StringBuilder; // type@012d │ │ +01b65a: 7010 a905 0100 |0011: invoke-direct {v1}, Ljava/lang/StringBuilder;.:()V // method@05a9 │ │ +01b660: 6e10 4905 0000 |0014: invoke-virtual {v0}, Ljava/io/StringWriter;.toString:()Ljava/lang/String; // method@0549 │ │ +01b666: 0c00 |0017: move-result-object v0 │ │ +01b668: 6e20 af05 0100 |0018: invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +01b66e: 1a00 0200 |001b: const-string v0, " │ │ " // string@0002 │ │ -01b676: 6e20 af05 0100 |001d: invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -01b67c: 6e10 b105 0100 |0020: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ -01b682: 0c00 |0023: move-result-object v0 │ │ -01b684: 7030 d602 2300 |0024: invoke-direct {v3, v2, v0}, Ldnsfilter/android/DNSProxyActivity$MyUIThreadLogger;.:(Ldnsfilter/android/DNSProxyActivity;Ljava/lang/String;)V // method@02d6 │ │ -01b68a: 6e20 2c03 3200 |0027: invoke-virtual {v2, v3}, Ldnsfilter/android/DNSProxyActivity;.runOnUiThread:(Ljava/lang/Runnable;)V // method@032c │ │ -01b690: 0e00 |002a: return-void │ │ +01b672: 6e20 af05 0100 |001d: invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +01b678: 6e10 b105 0100 |0020: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ +01b67e: 0c00 |0023: move-result-object v0 │ │ +01b680: 7030 d602 2300 |0024: invoke-direct {v3, v2, v0}, Ldnsfilter/android/DNSProxyActivity$MyUIThreadLogger;.:(Ldnsfilter/android/DNSProxyActivity;Ljava/lang/String;)V // method@02d6 │ │ +01b686: 6e20 2c03 3200 |0027: invoke-virtual {v2, v3}, Ldnsfilter/android/DNSProxyActivity;.runOnUiThread:(Ljava/lang/Runnable;)V // method@032c │ │ +01b68c: 0e00 |002a: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=1621 │ │ 0x0005 line=1622 │ │ 0x000d line=1623 │ │ locals : │ │ 0x0000 - 0x002b reg=2 this Ldnsfilter/android/DNSProxyActivity; │ │ @@ -46221,27 +46221,27 @@ │ │ type : '(Ljava/lang/String;)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 4 │ │ ins : 2 │ │ outs : 3 │ │ insns size : 26 16-bit code units │ │ -01b694: |[01b694] dnsfilter.android.DNSProxyActivity.logLine:(Ljava/lang/String;)V │ │ -01b6a4: 2200 af00 |0000: new-instance v0, Ldnsfilter/android/DNSProxyActivity$MyUIThreadLogger; // type@00af │ │ -01b6a8: 2201 2d01 |0002: new-instance v1, Ljava/lang/StringBuilder; // type@012d │ │ -01b6ac: 7010 a905 0100 |0004: invoke-direct {v1}, Ljava/lang/StringBuilder;.:()V // method@05a9 │ │ -01b6b2: 6e20 af05 3100 |0007: invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -01b6b8: 1a03 0200 |000a: const-string v3, " │ │ +01b690: |[01b690] dnsfilter.android.DNSProxyActivity.logLine:(Ljava/lang/String;)V │ │ +01b6a0: 2200 af00 |0000: new-instance v0, Ldnsfilter/android/DNSProxyActivity$MyUIThreadLogger; // type@00af │ │ +01b6a4: 2201 2d01 |0002: new-instance v1, Ljava/lang/StringBuilder; // type@012d │ │ +01b6a8: 7010 a905 0100 |0004: invoke-direct {v1}, Ljava/lang/StringBuilder;.:()V // method@05a9 │ │ +01b6ae: 6e20 af05 3100 |0007: invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +01b6b4: 1a03 0200 |000a: const-string v3, " │ │ " // string@0002 │ │ -01b6bc: 6e20 af05 3100 |000c: invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -01b6c2: 6e10 b105 0100 |000f: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ -01b6c8: 0c03 |0012: move-result-object v3 │ │ -01b6ca: 7030 d602 2003 |0013: invoke-direct {v0, v2, v3}, Ldnsfilter/android/DNSProxyActivity$MyUIThreadLogger;.:(Ldnsfilter/android/DNSProxyActivity;Ljava/lang/String;)V // method@02d6 │ │ -01b6d0: 6e20 2c03 0200 |0016: invoke-virtual {v2, v0}, Ldnsfilter/android/DNSProxyActivity;.runOnUiThread:(Ljava/lang/Runnable;)V // method@032c │ │ -01b6d6: 0e00 |0019: return-void │ │ +01b6b8: 6e20 af05 3100 |000c: invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +01b6be: 6e10 b105 0100 |000f: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ +01b6c4: 0c03 |0012: move-result-object v3 │ │ +01b6c6: 7030 d602 2003 |0013: invoke-direct {v0, v2, v3}, Ldnsfilter/android/DNSProxyActivity$MyUIThreadLogger;.:(Ldnsfilter/android/DNSProxyActivity;Ljava/lang/String;)V // method@02d6 │ │ +01b6cc: 6e20 2c03 0200 |0016: invoke-virtual {v2, v0}, Ldnsfilter/android/DNSProxyActivity;.runOnUiThread:(Ljava/lang/Runnable;)V // method@032c │ │ +01b6d2: 0e00 |0019: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=1616 │ │ locals : │ │ 0x0000 - 0x001a reg=2 this Ldnsfilter/android/DNSProxyActivity; │ │ 0x0000 - 0x001a reg=3 (null) Ljava/lang/String; │ │ │ │ @@ -46250,33 +46250,33 @@ │ │ type : '(Ljava/lang/String;)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 4 │ │ ins : 2 │ │ outs : 3 │ │ insns size : 40 16-bit code units │ │ -01b6d8: |[01b6d8] dnsfilter.android.DNSProxyActivity.message:(Ljava/lang/String;)V │ │ -01b6e8: 2200 2d01 |0000: new-instance v0, Ljava/lang/StringBuilder; // type@012d │ │ -01b6ec: 1a01 9b00 |0002: const-string v1, "" // string@009b │ │ -01b6f0: 7020 aa05 1000 |0004: invoke-direct {v0, v1}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05aa │ │ -01b6f6: 6e20 af05 3000 |0007: invoke-virtual {v0, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -01b6fc: 1a03 8e00 |000a: const-string v3, "" // string@008e │ │ -01b700: 6e20 af05 3000 |000c: invoke-virtual {v0, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -01b706: 6e10 b105 0000 |000f: invoke-virtual {v0}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ -01b70c: 0c03 |0012: move-result-object v3 │ │ -01b70e: 7110 f302 0300 |0013: invoke-static {v3}, Ldnsfilter/android/DNSProxyActivity;.fromHtml:(Ljava/lang/String;)Landroid/text/Spanned; // method@02f3 │ │ -01b714: 0c03 |0016: move-result-object v3 │ │ -01b716: 1a00 3800 |0017: const-string v0, "#FFC107" // string@0038 │ │ -01b71a: 7110 5c00 0000 |0019: invoke-static {v0}, Landroid/graphics/Color;.parseColor:(Ljava/lang/String;)I // method@005c │ │ -01b720: 0a00 |001c: move-result v0 │ │ -01b722: 7030 2e03 3200 |001d: invoke-direct {v2, v3, v0}, Ldnsfilter/android/DNSProxyActivity;.setMessage:(Landroid/text/Spanned;I)V // method@032e │ │ -01b728: 6203 f600 |0020: sget-object v3, Ldnsfilter/android/DNSProxyActivity;.MsgTO:Ldnsfilter/android/DNSProxyActivity$MsgTimeoutListener; // field@00f6 │ │ -01b72c: 1300 8813 |0022: const/16 v0, #int 5000 // #1388 │ │ -01b730: 7120 d102 0300 |0024: invoke-static {v3, v0}, Ldnsfilter/android/DNSProxyActivity$MsgTimeoutListener;.access$800:(Ldnsfilter/android/DNSProxyActivity$MsgTimeoutListener;I)V // method@02d1 │ │ -01b736: 0e00 |0027: return-void │ │ +01b6d4: |[01b6d4] dnsfilter.android.DNSProxyActivity.message:(Ljava/lang/String;)V │ │ +01b6e4: 2200 2d01 |0000: new-instance v0, Ljava/lang/StringBuilder; // type@012d │ │ +01b6e8: 1a01 9b00 |0002: const-string v1, "" // string@009b │ │ +01b6ec: 7020 aa05 1000 |0004: invoke-direct {v0, v1}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05aa │ │ +01b6f2: 6e20 af05 3000 |0007: invoke-virtual {v0, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +01b6f8: 1a03 8e00 |000a: const-string v3, "" // string@008e │ │ +01b6fc: 6e20 af05 3000 |000c: invoke-virtual {v0, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +01b702: 6e10 b105 0000 |000f: invoke-virtual {v0}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ +01b708: 0c03 |0012: move-result-object v3 │ │ +01b70a: 7110 f302 0300 |0013: invoke-static {v3}, Ldnsfilter/android/DNSProxyActivity;.fromHtml:(Ljava/lang/String;)Landroid/text/Spanned; // method@02f3 │ │ +01b710: 0c03 |0016: move-result-object v3 │ │ +01b712: 1a00 3800 |0017: const-string v0, "#FFC107" // string@0038 │ │ +01b716: 7110 5c00 0000 |0019: invoke-static {v0}, Landroid/graphics/Color;.parseColor:(Ljava/lang/String;)I // method@005c │ │ +01b71c: 0a00 |001c: move-result v0 │ │ +01b71e: 7030 2e03 3200 |001d: invoke-direct {v2, v3, v0}, Ldnsfilter/android/DNSProxyActivity;.setMessage:(Landroid/text/Spanned;I)V // method@032e │ │ +01b724: 6203 f600 |0020: sget-object v3, Ldnsfilter/android/DNSProxyActivity;.MsgTO:Ldnsfilter/android/DNSProxyActivity$MsgTimeoutListener; // field@00f6 │ │ +01b728: 1300 8813 |0022: const/16 v0, #int 5000 // #1388 │ │ +01b72c: 7120 d102 0300 |0024: invoke-static {v3, v0}, Ldnsfilter/android/DNSProxyActivity$MsgTimeoutListener;.access$800:(Ldnsfilter/android/DNSProxyActivity$MsgTimeoutListener;I)V // method@02d1 │ │ +01b732: 0e00 |0027: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=1634 │ │ 0x0020 line=1635 │ │ locals : │ │ 0x0000 - 0x0028 reg=2 this Ldnsfilter/android/DNSProxyActivity; │ │ 0x0000 - 0x0028 reg=3 (null) Ljava/lang/String; │ │ @@ -46286,25 +46286,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 │ │ -019d24: |[019d24] dnsfilter.android.DNSProxyActivity.onActionItemClicked:(Landroid/view/ActionMode;Landroid/view/MenuItem;)Z │ │ -019d34: 6202 0001 |0000: sget-object v2, Ldnsfilter/android/DNSProxyActivity;.add_filter:Landroid/view/MenuItem; // field@0100 │ │ -019d38: 1200 |0002: const/4 v0, #int 0 // #0 │ │ -019d3a: 3323 0700 |0003: if-ne v3, v2, 000a // +0007 │ │ -019d3e: 1212 |0005: const/4 v2, #int 1 // #1 │ │ -019d40: 6e20 1103 2100 |0006: invoke-virtual {v1, v2}, Ldnsfilter/android/DNSProxyActivity;.onCopyFilterFromLogView:(Z)V // method@0311 │ │ -019d46: 2808 |0009: goto 0011 // +0008 │ │ -019d48: 6202 2d01 |000a: sget-object v2, Ldnsfilter/android/DNSProxyActivity;.remove_filter:Landroid/view/MenuItem; // field@012d │ │ -019d4c: 3323 0500 |000c: if-ne v3, v2, 0011 // +0005 │ │ -019d50: 6e20 1103 0100 |000e: invoke-virtual {v1, v0}, Ldnsfilter/android/DNSProxyActivity;.onCopyFilterFromLogView:(Z)V // method@0311 │ │ -019d56: 0f00 |0011: return v0 │ │ +019d20: |[019d20] dnsfilter.android.DNSProxyActivity.onActionItemClicked:(Landroid/view/ActionMode;Landroid/view/MenuItem;)Z │ │ +019d30: 6202 0001 |0000: sget-object v2, Ldnsfilter/android/DNSProxyActivity;.add_filter:Landroid/view/MenuItem; // field@0100 │ │ +019d34: 1200 |0002: const/4 v0, #int 0 // #0 │ │ +019d36: 3323 0700 |0003: if-ne v3, v2, 000a // +0007 │ │ +019d3a: 1212 |0005: const/4 v2, #int 1 // #1 │ │ +019d3c: 6e20 1103 2100 |0006: invoke-virtual {v1, v2}, Ldnsfilter/android/DNSProxyActivity;.onCopyFilterFromLogView:(Z)V // method@0311 │ │ +019d42: 2808 |0009: goto 0011 // +0008 │ │ +019d44: 6202 2d01 |000a: sget-object v2, Ldnsfilter/android/DNSProxyActivity;.remove_filter:Landroid/view/MenuItem; // field@012d │ │ +019d48: 3323 0500 |000c: if-ne v3, v2, 0011 // +0005 │ │ +019d4c: 6e20 1103 0100 |000e: invoke-virtual {v1, v0}, Ldnsfilter/android/DNSProxyActivity;.onCopyFilterFromLogView:(Z)V // method@0311 │ │ +019d52: 0f00 |0011: return v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=1711 │ │ 0x0006 line=1712 │ │ 0x000a line=1714 │ │ 0x000e line=1715 │ │ locals : │ │ @@ -46317,17 +46317,17 @@ │ │ type : '(Landroid/view/ActionMode;)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 4 16-bit code units │ │ -01b738: |[01b738] dnsfilter.android.DNSProxyActivity.onActionModeStarted:(Landroid/view/ActionMode;)V │ │ -01b748: 6f20 0200 1000 |0000: invoke-super {v0, v1}, Landroid/app/Activity;.onActionModeStarted:(Landroid/view/ActionMode;)V // method@0002 │ │ -01b74e: 0e00 |0003: return-void │ │ +01b734: |[01b734] dnsfilter.android.DNSProxyActivity.onActionModeStarted:(Landroid/view/ActionMode;)V │ │ +01b744: 6f20 0200 1000 |0000: invoke-super {v0, v1}, Landroid/app/Activity;.onActionModeStarted:(Landroid/view/ActionMode;)V // method@0002 │ │ +01b74a: 0e00 |0003: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=1739 │ │ locals : │ │ 0x0000 - 0x0004 reg=0 this Ldnsfilter/android/DNSProxyActivity; │ │ 0x0000 - 0x0004 reg=1 (null) Landroid/view/ActionMode; │ │ │ │ @@ -46336,43 +46336,43 @@ │ │ type : '(IILandroid/content/Intent;)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 7 │ │ ins : 4 │ │ outs : 4 │ │ insns size : 52 16-bit code units │ │ -01b750: |[01b750] dnsfilter.android.DNSProxyActivity.onActivityResult:(IILandroid/content/Intent;)V │ │ -01b760: 6f40 0300 4365 |0000: invoke-super {v3, v4, v5, v6}, Landroid/app/Activity;.onActivityResult:(IILandroid/content/Intent;)V // method@0003 │ │ -01b766: 12f0 |0003: const/4 v0, #int -1 // #ff │ │ -01b768: 1301 7901 |0004: const/16 v1, #int 377 // #179 │ │ -01b76c: 3314 0800 |0006: if-ne v4, v1, 000e // +0008 │ │ -01b770: 3305 0600 |0008: if-ne v5, v0, 000e // +0006 │ │ -01b774: 7010 3603 0300 |000a: invoke-direct {v3}, Ldnsfilter/android/DNSProxyActivity;.startSvc:()V // method@0336 │ │ -01b77a: 280e |000d: goto 001b // +000e │ │ -01b77c: 3314 0d00 |000e: if-ne v4, v1, 001b // +000d │ │ -01b780: 3205 0b00 |0010: if-eq v5, v0, 001b // +000b │ │ -01b784: 7100 2707 0000 |0012: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0727 │ │ -01b78a: 0c01 |0015: move-result-object v1 │ │ -01b78c: 1a02 ca04 |0016: const-string v2, "VPN confirmation dialog not accepted! │ │ +01b74c: |[01b74c] dnsfilter.android.DNSProxyActivity.onActivityResult:(IILandroid/content/Intent;)V │ │ +01b75c: 6f40 0300 4365 |0000: invoke-super {v3, v4, v5, v6}, Landroid/app/Activity;.onActivityResult:(IILandroid/content/Intent;)V // method@0003 │ │ +01b762: 12f0 |0003: const/4 v0, #int -1 // #ff │ │ +01b764: 1301 7901 |0004: const/16 v1, #int 377 // #179 │ │ +01b768: 3314 0800 |0006: if-ne v4, v1, 000e // +0008 │ │ +01b76c: 3305 0600 |0008: if-ne v5, v0, 000e // +0006 │ │ +01b770: 7010 3603 0300 |000a: invoke-direct {v3}, Ldnsfilter/android/DNSProxyActivity;.startSvc:()V // method@0336 │ │ +01b776: 280e |000d: goto 001b // +000e │ │ +01b778: 3314 0d00 |000e: if-ne v4, v1, 001b // +000d │ │ +01b77c: 3205 0b00 |0010: if-eq v5, v0, 001b // +000b │ │ +01b780: 7100 2707 0000 |0012: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0727 │ │ +01b786: 0c01 |0015: move-result-object v1 │ │ +01b788: 1a02 ca04 |0016: const-string v2, "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@04ca │ │ -01b790: 7220 3307 2100 |0018: invoke-interface {v1, v2}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0733 │ │ -01b796: 6201 5702 |001b: sget-object v1, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.ACTIVITY_RESULT_CODE:Ljava/lang/Integer; // field@0257 │ │ -01b79a: 6e10 6605 0100 |001d: invoke-virtual {v1}, Ljava/lang/Integer;.intValue:()I // method@0566 │ │ -01b7a0: 0a01 |0020: move-result v1 │ │ -01b7a2: 3314 0700 |0021: if-ne v4, v1, 0028 // +0007 │ │ -01b7a6: 3305 0500 |0023: if-ne v5, v0, 0028 // +0005 │ │ -01b7aa: 7010 2403 0300 |0025: invoke-direct {v3}, Ldnsfilter/android/DNSProxyActivity;.persistConfig:()V // method@0324 │ │ -01b7b0: 6000 f000 |0028: sget v0, Ldnsfilter/android/DNSProxyActivity;.DO_BACKUP:I // field@00f0 │ │ -01b7b4: 3204 0600 |002a: if-eq v4, v0, 0030 // +0006 │ │ -01b7b8: 6000 f100 |002c: sget v0, Ldnsfilter/android/DNSProxyActivity;.DO_RESTORE:I // field@00f1 │ │ -01b7bc: 3304 0500 |002e: if-ne v4, v0, 0033 // +0005 │ │ -01b7c0: 6e40 0f03 4365 |0030: invoke-virtual {v3, v4, v5, v6}, Ldnsfilter/android/DNSProxyActivity;.onBackupRestore:(IILandroid/content/Intent;)V // method@030f │ │ -01b7c6: 0e00 |0033: return-void │ │ +01b78c: 7220 3307 2100 |0018: invoke-interface {v1, v2}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0733 │ │ +01b792: 6201 5702 |001b: sget-object v1, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.ACTIVITY_RESULT_CODE:Ljava/lang/Integer; // field@0257 │ │ +01b796: 6e10 6605 0100 |001d: invoke-virtual {v1}, Ljava/lang/Integer;.intValue:()I // method@0566 │ │ +01b79c: 0a01 |0020: move-result v1 │ │ +01b79e: 3314 0700 |0021: if-ne v4, v1, 0028 // +0007 │ │ +01b7a2: 3305 0500 |0023: if-ne v5, v0, 0028 // +0005 │ │ +01b7a6: 7010 2403 0300 |0025: invoke-direct {v3}, Ldnsfilter/android/DNSProxyActivity;.persistConfig:()V // method@0324 │ │ +01b7ac: 6000 f000 |0028: sget v0, Ldnsfilter/android/DNSProxyActivity;.DO_BACKUP:I // field@00f0 │ │ +01b7b0: 3204 0600 |002a: if-eq v4, v0, 0030 // +0006 │ │ +01b7b4: 6000 f100 |002c: sget v0, Ldnsfilter/android/DNSProxyActivity;.DO_RESTORE:I // field@00f1 │ │ +01b7b8: 3304 0500 |002e: if-ne v4, v0, 0033 // +0005 │ │ +01b7bc: 6e40 0f03 4365 |0030: invoke-virtual {v3, v4, v5, v6}, Ldnsfilter/android/DNSProxyActivity;.onBackupRestore:(IILandroid/content/Intent;)V // method@030f │ │ +01b7c2: 0e00 |0033: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=1601 │ │ 0x000a line=1603 │ │ 0x0012 line=1605 │ │ 0x001b line=1607 │ │ 0x0025 line=1608 │ │ @@ -46389,74 +46389,74 @@ │ │ type : '(IILandroid/content/Intent;)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 7 │ │ ins : 4 │ │ outs : 2 │ │ insns size : 124 16-bit code units │ │ -01b7c8: |[01b7c8] dnsfilter.android.DNSProxyActivity.onBackupRestore:(IILandroid/content/Intent;)V │ │ -01b7d8: 1400 1000 057f |0000: const v0, #float 1.76788e+38 // #7f050010 │ │ -01b7de: 6e20 f102 0300 |0003: invoke-virtual {v3, v0}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02f1 │ │ -01b7e4: 0c00 |0006: move-result-object v0 │ │ -01b7e6: 1f00 7300 |0007: check-cast v0, Landroid/widget/TextView; // type@0073 │ │ -01b7ea: 12f1 |0009: const/4 v1, #int -1 // #ff │ │ -01b7ec: 3315 7100 |000a: if-ne v5, v1, 007b // +0071 │ │ -01b7f0: 3806 4900 |000c: if-eqz v6, 0055 // +0049 │ │ -01b7f4: 6e10 4900 0600 |000e: invoke-virtual {v6}, Landroid/content/Intent;.getData:()Landroid/net/Uri; // method@0049 │ │ -01b7fa: 0c05 |0011: move-result-object v5 │ │ -01b7fc: 6006 f000 |0012: sget v6, Ldnsfilter/android/DNSProxyActivity;.DO_BACKUP:I // field@00f0 │ │ -01b800: 1a01 3500 |0014: const-string v1, "#43A047" // string@0035 │ │ -01b804: 3364 1b00 |0016: if-ne v4, v6, 0031 // +001b │ │ -01b808: 6206 ed00 |0018: sget-object v6, Ldnsfilter/android/DNSProxyActivity;.CONFIG:Ldnsfilter/ConfigurationAccess; // field@00ed │ │ -01b80c: 6e10 f602 0300 |001a: invoke-virtual {v3}, Ldnsfilter/android/DNSProxyActivity;.getContentResolver:()Landroid/content/ContentResolver; // method@02f6 │ │ -01b812: 0c02 |001d: move-result-object v2 │ │ -01b814: 6e20 3300 5200 |001e: invoke-virtual {v2, v5}, Landroid/content/ContentResolver;.openOutputStream:(Landroid/net/Uri;)Ljava/io/OutputStream; // method@0033 │ │ -01b81a: 0c02 |0021: move-result-object v2 │ │ -01b81c: 6e20 4901 2600 |0022: invoke-virtual {v6, v2}, Ldnsfilter/ConfigurationAccess;.doBackup:(Ljava/io/OutputStream;)V // method@0149 │ │ -01b822: 7110 5c00 0100 |0025: invoke-static {v1}, Landroid/graphics/Color;.parseColor:(Ljava/lang/String;)I // method@005c │ │ -01b828: 0a06 |0028: move-result v6 │ │ -01b82a: 6e20 0a01 6000 |0029: invoke-virtual {v0, v6}, Landroid/widget/TextView;.setTextColor:(I)V // method@010a │ │ -01b830: 1a06 cb00 |002c: const-string v6, "Backup success!" // string@00cb │ │ -01b834: 6e20 0901 6000 |002e: invoke-virtual {v0, v6}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@0109 │ │ -01b83a: 6006 f100 |0031: sget v6, Ldnsfilter/android/DNSProxyActivity;.DO_RESTORE:I // field@00f1 │ │ -01b83e: 3364 4800 |0033: if-ne v4, v6, 007b // +0048 │ │ -01b842: 6204 ed00 |0035: sget-object v4, Ldnsfilter/android/DNSProxyActivity;.CONFIG:Ldnsfilter/ConfigurationAccess; // field@00ed │ │ -01b846: 6e10 f602 0300 |0037: invoke-virtual {v3}, Ldnsfilter/android/DNSProxyActivity;.getContentResolver:()Landroid/content/ContentResolver; // method@02f6 │ │ -01b84c: 0c06 |003a: move-result-object v6 │ │ -01b84e: 6e20 3200 5600 |003b: invoke-virtual {v6, v5}, Landroid/content/ContentResolver;.openInputStream:(Landroid/net/Uri;)Ljava/io/InputStream; // method@0032 │ │ -01b854: 0c05 |003e: move-result-object v5 │ │ -01b856: 6e20 4a01 5400 |003f: invoke-virtual {v4, v5}, Ldnsfilter/ConfigurationAccess;.doRestore:(Ljava/io/InputStream;)V // method@014a │ │ -01b85c: 7110 5c00 0100 |0042: invoke-static {v1}, Landroid/graphics/Color;.parseColor:(Ljava/lang/String;)I // method@005c │ │ -01b862: 0a04 |0045: move-result v4 │ │ -01b864: 6e20 0a01 4000 |0046: invoke-virtual {v0, v4}, Landroid/widget/TextView;.setTextColor:(I)V // method@010a │ │ -01b86a: 1204 |0049: const/4 v4, #int 0 // #0 │ │ -01b86c: 6e20 0603 4300 |004a: invoke-virtual {v3, v4}, Ldnsfilter/android/DNSProxyActivity;.loadAndApplyConfig:(Z)V // method@0306 │ │ -01b872: 1a04 4404 |004d: const-string v4, "Restore success!" // string@0444 │ │ -01b876: 6e20 0901 4000 |004f: invoke-virtual {v0, v4}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@0109 │ │ -01b87c: 2829 |0052: goto 007b // +0029 │ │ -01b87e: 0d04 |0053: move-exception v4 │ │ -01b880: 2809 |0054: goto 005d // +0009 │ │ -01b882: 2204 1b01 |0055: new-instance v4, Ljava/lang/Exception; // type@011b │ │ -01b886: 1a05 ff03 |0057: const-string v5, "Operation aborted!" // string@03ff │ │ -01b88a: 7020 5c05 5400 |0059: invoke-direct {v4, v5}, Ljava/lang/Exception;.:(Ljava/lang/String;)V // method@055c │ │ -01b890: 2704 |005c: throw v4 │ │ -01b892: 1a05 3700 |005d: const-string v5, "#E53935" // string@0037 │ │ -01b896: 7110 5c00 0500 |005f: invoke-static {v5}, Landroid/graphics/Color;.parseColor:(Ljava/lang/String;)I // method@005c │ │ -01b89c: 0a05 |0062: move-result v5 │ │ -01b89e: 6e20 0a01 5000 |0063: invoke-virtual {v0, v5}, Landroid/widget/TextView;.setTextColor:(I)V // method@010a │ │ -01b8a4: 2205 2d01 |0066: new-instance v5, Ljava/lang/StringBuilder; // type@012d │ │ -01b8a8: 1a06 0004 |0068: const-string v6, "Operation failed! " // string@0400 │ │ -01b8ac: 7020 aa05 6500 |006a: invoke-direct {v5, v6}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05aa │ │ -01b8b2: 6e10 5d05 0400 |006d: invoke-virtual {v4}, Ljava/lang/Exception;.getMessage:()Ljava/lang/String; // method@055d │ │ -01b8b8: 0c04 |0070: move-result-object v4 │ │ -01b8ba: 6e20 af05 4500 |0071: invoke-virtual {v5, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -01b8c0: 6e10 b105 0500 |0074: invoke-virtual {v5}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ -01b8c6: 0c04 |0077: move-result-object v4 │ │ -01b8c8: 6e20 0901 4000 |0078: invoke-virtual {v0, v4}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@0109 │ │ -01b8ce: 0e00 |007b: return-void │ │ +01b7c4: |[01b7c4] dnsfilter.android.DNSProxyActivity.onBackupRestore:(IILandroid/content/Intent;)V │ │ +01b7d4: 1400 1000 057f |0000: const v0, #float 1.76788e+38 // #7f050010 │ │ +01b7da: 6e20 f102 0300 |0003: invoke-virtual {v3, v0}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02f1 │ │ +01b7e0: 0c00 |0006: move-result-object v0 │ │ +01b7e2: 1f00 7300 |0007: check-cast v0, Landroid/widget/TextView; // type@0073 │ │ +01b7e6: 12f1 |0009: const/4 v1, #int -1 // #ff │ │ +01b7e8: 3315 7100 |000a: if-ne v5, v1, 007b // +0071 │ │ +01b7ec: 3806 4900 |000c: if-eqz v6, 0055 // +0049 │ │ +01b7f0: 6e10 4900 0600 |000e: invoke-virtual {v6}, Landroid/content/Intent;.getData:()Landroid/net/Uri; // method@0049 │ │ +01b7f6: 0c05 |0011: move-result-object v5 │ │ +01b7f8: 6006 f000 |0012: sget v6, Ldnsfilter/android/DNSProxyActivity;.DO_BACKUP:I // field@00f0 │ │ +01b7fc: 1a01 3500 |0014: const-string v1, "#43A047" // string@0035 │ │ +01b800: 3364 1b00 |0016: if-ne v4, v6, 0031 // +001b │ │ +01b804: 6206 ed00 |0018: sget-object v6, Ldnsfilter/android/DNSProxyActivity;.CONFIG:Ldnsfilter/ConfigurationAccess; // field@00ed │ │ +01b808: 6e10 f602 0300 |001a: invoke-virtual {v3}, Ldnsfilter/android/DNSProxyActivity;.getContentResolver:()Landroid/content/ContentResolver; // method@02f6 │ │ +01b80e: 0c02 |001d: move-result-object v2 │ │ +01b810: 6e20 3300 5200 |001e: invoke-virtual {v2, v5}, Landroid/content/ContentResolver;.openOutputStream:(Landroid/net/Uri;)Ljava/io/OutputStream; // method@0033 │ │ +01b816: 0c02 |0021: move-result-object v2 │ │ +01b818: 6e20 4901 2600 |0022: invoke-virtual {v6, v2}, Ldnsfilter/ConfigurationAccess;.doBackup:(Ljava/io/OutputStream;)V // method@0149 │ │ +01b81e: 7110 5c00 0100 |0025: invoke-static {v1}, Landroid/graphics/Color;.parseColor:(Ljava/lang/String;)I // method@005c │ │ +01b824: 0a06 |0028: move-result v6 │ │ +01b826: 6e20 0a01 6000 |0029: invoke-virtual {v0, v6}, Landroid/widget/TextView;.setTextColor:(I)V // method@010a │ │ +01b82c: 1a06 cb00 |002c: const-string v6, "Backup success!" // string@00cb │ │ +01b830: 6e20 0901 6000 |002e: invoke-virtual {v0, v6}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@0109 │ │ +01b836: 6006 f100 |0031: sget v6, Ldnsfilter/android/DNSProxyActivity;.DO_RESTORE:I // field@00f1 │ │ +01b83a: 3364 4800 |0033: if-ne v4, v6, 007b // +0048 │ │ +01b83e: 6204 ed00 |0035: sget-object v4, Ldnsfilter/android/DNSProxyActivity;.CONFIG:Ldnsfilter/ConfigurationAccess; // field@00ed │ │ +01b842: 6e10 f602 0300 |0037: invoke-virtual {v3}, Ldnsfilter/android/DNSProxyActivity;.getContentResolver:()Landroid/content/ContentResolver; // method@02f6 │ │ +01b848: 0c06 |003a: move-result-object v6 │ │ +01b84a: 6e20 3200 5600 |003b: invoke-virtual {v6, v5}, Landroid/content/ContentResolver;.openInputStream:(Landroid/net/Uri;)Ljava/io/InputStream; // method@0032 │ │ +01b850: 0c05 |003e: move-result-object v5 │ │ +01b852: 6e20 4a01 5400 |003f: invoke-virtual {v4, v5}, Ldnsfilter/ConfigurationAccess;.doRestore:(Ljava/io/InputStream;)V // method@014a │ │ +01b858: 7110 5c00 0100 |0042: invoke-static {v1}, Landroid/graphics/Color;.parseColor:(Ljava/lang/String;)I // method@005c │ │ +01b85e: 0a04 |0045: move-result v4 │ │ +01b860: 6e20 0a01 4000 |0046: invoke-virtual {v0, v4}, Landroid/widget/TextView;.setTextColor:(I)V // method@010a │ │ +01b866: 1204 |0049: const/4 v4, #int 0 // #0 │ │ +01b868: 6e20 0603 4300 |004a: invoke-virtual {v3, v4}, Ldnsfilter/android/DNSProxyActivity;.loadAndApplyConfig:(Z)V // method@0306 │ │ +01b86e: 1a04 4404 |004d: const-string v4, "Restore success!" // string@0444 │ │ +01b872: 6e20 0901 4000 |004f: invoke-virtual {v0, v4}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@0109 │ │ +01b878: 2829 |0052: goto 007b // +0029 │ │ +01b87a: 0d04 |0053: move-exception v4 │ │ +01b87c: 2809 |0054: goto 005d // +0009 │ │ +01b87e: 2204 1b01 |0055: new-instance v4, Ljava/lang/Exception; // type@011b │ │ +01b882: 1a05 ff03 |0057: const-string v5, "Operation aborted!" // string@03ff │ │ +01b886: 7020 5c05 5400 |0059: invoke-direct {v4, v5}, Ljava/lang/Exception;.:(Ljava/lang/String;)V // method@055c │ │ +01b88c: 2704 |005c: throw v4 │ │ +01b88e: 1a05 3700 |005d: const-string v5, "#E53935" // string@0037 │ │ +01b892: 7110 5c00 0500 |005f: invoke-static {v5}, Landroid/graphics/Color;.parseColor:(Ljava/lang/String;)I // method@005c │ │ +01b898: 0a05 |0062: move-result v5 │ │ +01b89a: 6e20 0a01 5000 |0063: invoke-virtual {v0, v5}, Landroid/widget/TextView;.setTextColor:(I)V // method@010a │ │ +01b8a0: 2205 2d01 |0066: new-instance v5, Ljava/lang/StringBuilder; // type@012d │ │ +01b8a4: 1a06 0004 |0068: const-string v6, "Operation failed! " // string@0400 │ │ +01b8a8: 7020 aa05 6500 |006a: invoke-direct {v5, v6}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05aa │ │ +01b8ae: 6e10 5d05 0400 |006d: invoke-virtual {v4}, Ljava/lang/Exception;.getMessage:()Ljava/lang/String; // method@055d │ │ +01b8b4: 0c04 |0070: move-result-object v4 │ │ +01b8b6: 6e20 af05 4500 |0071: invoke-virtual {v5, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +01b8bc: 6e10 b105 0500 |0074: invoke-virtual {v5}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ +01b8c2: 0c04 |0077: move-result-object v4 │ │ +01b8c4: 6e20 0901 4000 |0078: invoke-virtual {v0, v4}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@0109 │ │ +01b8ca: 0e00 |007b: return-void │ │ catches : 2 │ │ 0x000e - 0x0014 │ │ Ljava/lang/Exception; -> 0x0053 │ │ 0x0018 - 0x005d │ │ Ljava/lang/Exception; -> 0x0053 │ │ positions : │ │ 0x0003 line=748 │ │ @@ -46484,157 +46484,157 @@ │ │ type : '(Landroid/view/View;)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 5 │ │ ins : 2 │ │ outs : 3 │ │ insns size : 296 16-bit code units │ │ -01b8e8: |[01b8e8] dnsfilter.android.DNSProxyActivity.onClick:(Landroid/view/View;)V │ │ -01b8f8: 6300 3801 |0000: sget-boolean v0, Ldnsfilter/android/DNSProxyActivity;.switchingConfig:Z // field@0138 │ │ -01b8fc: 1201 |0002: const/4 v1, #int 0 // #0 │ │ -01b8fe: 3800 1100 |0003: if-eqz v0, 0014 // +0011 │ │ -01b902: 6204 0301 |0005: sget-object v4, Ldnsfilter/android/DNSProxyActivity;.advancedConfigCheck:Landroid/widget/CheckBox; // field@0103 │ │ -01b906: 6e20 cd00 1400 |0007: invoke-virtual {v4, v1}, Landroid/widget/CheckBox;.setChecked:(Z)V // method@00cd │ │ -01b90c: 7100 2707 0000 |000a: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0727 │ │ -01b912: 0c04 |000d: move-result-object v4 │ │ -01b914: 1a00 0801 |000e: const-string v0, "Config switch in progress - Wait!" // string@0108 │ │ -01b918: 7220 3307 0400 |0010: invoke-interface {v4, v0}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0733 │ │ -01b91e: 0e00 |0013: return-void │ │ -01b920: 6200 2001 |0014: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.logOutView:Landroid/widget/EditText; // field@0120 │ │ -01b924: 1212 |0016: const/4 v2, #int 1 // #1 │ │ -01b926: 3304 1200 |0017: if-ne v4, v0, 0029 // +0012 │ │ -01b92a: 1404 1900 057f |0019: const v4, #float 1.76788e+38 // #7f050019 │ │ -01b930: 6e20 f102 4300 |001c: invoke-virtual {v3, v4}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02f1 │ │ -01b936: 0c04 |001f: move-result-object v4 │ │ -01b938: 1300 0800 |0020: const/16 v0, #int 8 // #8 │ │ -01b93c: 6e20 b400 0400 |0022: invoke-virtual {v4, v0}, Landroid/view/View;.setVisibility:(I)V // method@00b4 │ │ -01b942: 6e20 3203 2300 |0025: invoke-virtual {v3, v2}, Ldnsfilter/android/DNSProxyActivity;.showFilterRate:(Z)V // method@0332 │ │ -01b948: 0e00 |0028: return-void │ │ -01b94a: 6200 ff00 |0029: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.addFilterBtn:Landroid/widget/TextView; // field@00ff │ │ -01b94e: 3304 0600 |002b: if-ne v4, v0, 0031 // +0006 │ │ -01b952: 6e20 1103 2300 |002d: invoke-virtual {v3, v2}, Ldnsfilter/android/DNSProxyActivity;.onCopyFilterFromLogView:(Z)V // method@0311 │ │ -01b958: 0e00 |0030: return-void │ │ -01b95a: 6200 2c01 |0031: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.removeFilterBtn:Landroid/widget/TextView; // field@012c │ │ -01b95e: 3304 0600 |0033: if-ne v4, v0, 0039 // +0006 │ │ -01b962: 6e20 1103 1300 |0035: invoke-virtual {v3, v1}, Ldnsfilter/android/DNSProxyActivity;.onCopyFilterFromLogView:(Z)V // method@0311 │ │ -01b968: 0e00 |0038: return-void │ │ -01b96a: 5430 1a01 |0039: iget-object v0, v3, Ldnsfilter/android/DNSProxyActivity;.helpBtn:Landroid/widget/Button; // field@011a │ │ -01b96e: 3304 0800 |003b: if-ne v4, v0, 0043 // +0008 │ │ -01b972: 1a04 1b08 |003d: const-string v4, "https://www.zenz-home.com/personaldnsfilter/help/help.php" // string@081b │ │ -01b976: 7020 2103 4300 |003f: invoke-direct {v3, v4}, Ldnsfilter/android/DNSProxyActivity;.openBrowser:(Ljava/lang/String;)V // method@0321 │ │ -01b97c: 0e00 |0042: return-void │ │ -01b97e: 6200 1001 |0043: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.dnsField:Landroid/widget/TextView; // field@0110 │ │ -01b982: 3304 1300 |0045: if-ne v4, v0, 0058 // +0013 │ │ -01b986: 2204 1a00 |0047: new-instance v4, Landroid/content/Intent; // type@001a │ │ -01b98a: 1c00 c500 |0049: const-class v0, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity; // type@00c5 │ │ -01b98e: 7030 4200 3400 |004b: invoke-direct {v4, v3, v0}, Landroid/content/Intent;.:(Landroid/content/Context;Ljava/lang/Class;)V // method@0042 │ │ -01b994: 6200 5702 |004e: sget-object v0, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.ACTIVITY_RESULT_CODE:Ljava/lang/Integer; // field@0257 │ │ -01b998: 6e10 6605 0000 |0050: invoke-virtual {v0}, Ljava/lang/Integer;.intValue:()I // method@0566 │ │ -01b99e: 0a00 |0053: move-result v0 │ │ -01b9a0: 6e30 3403 4300 |0054: invoke-virtual {v3, v4, v0}, Ldnsfilter/android/DNSProxyActivity;.startActivityForResult:(Landroid/content/Intent;I)V // method@0334 │ │ -01b9a6: 0e00 |0057: return-void │ │ -01b9a8: 6200 3101 |0058: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.scrollLockField:Landroid/widget/TextView; // field@0131 │ │ -01b9ac: 3304 0600 |005a: if-ne v4, v0, 0060 // +0006 │ │ -01b9b0: 7010 0203 0300 |005c: invoke-direct {v3}, Ldnsfilter/android/DNSProxyActivity;.handleScrollLock:()V // method@0302 │ │ -01b9b6: 0e00 |005f: return-void │ │ -01b9b8: 6200 0a01 |0060: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.backupBtn:Landroid/widget/Button; // field@010a │ │ -01b9bc: 3304 0600 |0062: if-ne v4, v0, 0068 // +0006 │ │ -01b9c0: 6e10 ed02 0300 |0064: invoke-virtual {v3}, Ldnsfilter/android/DNSProxyActivity;.doBackup:()V // method@02ed │ │ -01b9c6: 0e00 |0067: return-void │ │ -01b9c8: 6200 2e01 |0068: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.restoreBtn:Landroid/widget/Button; // field@012e │ │ -01b9cc: 3304 0600 |006a: if-ne v4, v0, 0070 // +0006 │ │ -01b9d0: 6e10 ee02 0300 |006c: invoke-virtual {v3}, Ldnsfilter/android/DNSProxyActivity;.doRestore:()V // method@02ee │ │ -01b9d6: 0e00 |006f: return-void │ │ -01b9d8: 6200 2f01 |0070: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.restoreDefaultsBtn:Landroid/widget/Button; // field@012f │ │ -01b9dc: 3304 0600 |0072: if-ne v4, v0, 0078 // +0006 │ │ -01b9e0: 6e10 ef02 0300 |0074: invoke-virtual {v3}, Ldnsfilter/android/DNSProxyActivity;.doRestoreDefaults:()V // method@02ef │ │ -01b9e6: 0e00 |0077: return-void │ │ -01b9e8: 6200 1b01 |0078: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.initialInfoPopUpExitBtn:Landroid/widget/Button; // field@011b │ │ -01b9ec: 3304 0600 |007a: if-ne v4, v0, 0080 // +0006 │ │ -01b9f0: 7010 ea02 0300 |007c: invoke-direct {v3}, Ldnsfilter/android/DNSProxyActivity;.closeInitialInfoPopUp:()V // method@02ea │ │ -01b9f6: 0e00 |007f: return-void │ │ -01b9f8: 6200 3001 |0080: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.rootModeCheck:Landroid/widget/CheckBox; // field@0130 │ │ -01b9fc: 3304 1e00 |0082: if-ne v4, v0, 00a0 // +001e │ │ -01ba00: 6e10 cc00 0000 |0084: invoke-virtual {v0}, Landroid/widget/CheckBox;.isChecked:()Z // method@00cc │ │ -01ba06: 0a00 |0087: move-result v0 │ │ -01ba08: 3800 1800 |0088: if-eqz v0, 00a0 // +0018 │ │ -01ba0c: 6200 2901 |008a: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.proxyModeCheck:Landroid/widget/CheckBox; // field@0129 │ │ -01ba10: 6e10 cc00 0000 |008c: invoke-virtual {v0}, Landroid/widget/CheckBox;.isChecked:()Z // method@00cc │ │ -01ba16: 0a00 |008f: move-result v0 │ │ -01ba18: 3900 1000 |0090: if-nez v0, 00a0 // +0010 │ │ -01ba1c: 6200 2901 |0092: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.proxyModeCheck:Landroid/widget/CheckBox; // field@0129 │ │ -01ba20: 6e20 cd00 2000 |0094: invoke-virtual {v0, v2}, Landroid/widget/CheckBox;.setChecked:(Z)V // method@00cd │ │ -01ba26: 7100 2707 0000 |0097: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0727 │ │ -01ba2c: 0c00 |009a: move-result-object v0 │ │ -01ba2e: 1a02 7501 |009b: const-string v2, "Enabled also DNS proxy mode as required by root mode!" // string@0175 │ │ -01ba32: 7220 3307 2000 |009d: invoke-interface {v0, v2}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0733 │ │ -01ba38: 6200 2901 |00a0: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.proxyModeCheck:Landroid/widget/CheckBox; // field@0129 │ │ -01ba3c: 3304 1e00 |00a2: if-ne v4, v0, 00c0 // +001e │ │ -01ba40: 6e10 cc00 0000 |00a4: invoke-virtual {v0}, Landroid/widget/CheckBox;.isChecked:()Z // method@00cc │ │ -01ba46: 0a00 |00a7: move-result v0 │ │ -01ba48: 3900 1800 |00a8: if-nez v0, 00c0 // +0018 │ │ -01ba4c: 6200 3001 |00aa: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.rootModeCheck:Landroid/widget/CheckBox; // field@0130 │ │ -01ba50: 6e10 cc00 0000 |00ac: invoke-virtual {v0}, Landroid/widget/CheckBox;.isChecked:()Z // method@00cc │ │ -01ba56: 0a00 |00af: move-result v0 │ │ -01ba58: 3800 1000 |00b0: if-eqz v0, 00c0 // +0010 │ │ -01ba5c: 6200 3001 |00b2: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.rootModeCheck:Landroid/widget/CheckBox; // field@0130 │ │ -01ba60: 6e20 cd00 1000 |00b4: invoke-virtual {v0, v1}, Landroid/widget/CheckBox;.setChecked:(Z)V // method@00cd │ │ -01ba66: 7100 2707 0000 |00b7: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0727 │ │ -01ba6c: 0c00 |00ba: move-result-object v0 │ │ -01ba6e: 1a02 6901 |00bb: const-string v2, "Disabled also root mode as it requires DNS proxy mode!" // string@0169 │ │ -01ba72: 7220 3307 2000 |00bd: invoke-interface {v0, v2}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0733 │ │ -01ba78: 7010 2403 0300 |00c0: invoke-direct {v3}, Ldnsfilter/android/DNSProxyActivity;.persistConfig:()V // method@0324 │ │ -01ba7e: 5430 2b01 |00c3: iget-object v0, v3, Ldnsfilter/android/DNSProxyActivity;.remoteCtrlBtn:Landroid/widget/Button; // field@012b │ │ -01ba82: 3304 1a00 |00c5: if-ne v4, v0, 00df // +001a │ │ -01ba86: 6300 3801 |00c7: sget-boolean v0, Ldnsfilter/android/DNSProxyActivity;.switchingConfig:Z // field@0138 │ │ -01ba8a: 3900 1600 |00c9: if-nez v0, 00df // +0016 │ │ -01ba8e: 6200 0301 |00cb: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.advancedConfigCheck:Landroid/widget/CheckBox; // field@0103 │ │ -01ba92: 6e20 cd00 1000 |00cd: invoke-virtual {v0, v1}, Landroid/widget/CheckBox;.setChecked:(Z)V // method@00cd │ │ -01ba98: 6200 ed00 |00d0: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.CONFIG:Ldnsfilter/ConfigurationAccess; // field@00ed │ │ -01ba9c: 6e10 5701 0000 |00d2: invoke-virtual {v0}, Ldnsfilter/ConfigurationAccess;.isLocal:()Z // method@0157 │ │ -01baa2: 0a00 |00d5: move-result v0 │ │ -01baa4: 3800 0600 |00d6: if-eqz v0, 00dc // +0006 │ │ -01baa8: 7010 2203 0300 |00d8: invoke-direct {v3}, Ldnsfilter/android/DNSProxyActivity;.pepareRemoteControl:()V // method@0322 │ │ -01baae: 2804 |00db: goto 00df // +0004 │ │ -01bab0: 7010 0003 0300 |00dc: invoke-direct {v3}, Ldnsfilter/android/DNSProxyActivity;.handleRemoteControl:()V // method@0300 │ │ -01bab6: 5430 3601 |00df: iget-object v0, v3, Ldnsfilter/android/DNSProxyActivity;.startBtn:Landroid/widget/Button; // field@0136 │ │ -01baba: 3204 0600 |00e1: if-eq v4, v0, 00e7 // +0006 │ │ -01babe: 6200 1301 |00e3: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.enableAdFilterCheck:Landroid/widget/CheckBox; // field@0113 │ │ -01bac2: 3304 0500 |00e5: if-ne v4, v0, 00ea // +0005 │ │ -01bac6: 7010 0103 0300 |00e7: invoke-direct {v3}, Ldnsfilter/android/DNSProxyActivity;.handleRestart:()V // method@0301 │ │ -01bacc: 5430 3701 |00ea: iget-object v0, v3, Ldnsfilter/android/DNSProxyActivity;.stopBtn:Landroid/widget/Button; // field@0137 │ │ -01bad0: 3304 0500 |00ec: if-ne v4, v0, 00f1 // +0005 │ │ -01bad4: 6e10 fe02 0300 |00ee: invoke-virtual {v3}, Ldnsfilter/android/DNSProxyActivity;.handleExitApp:()V // method@02fe │ │ -01bada: 5430 2a01 |00f1: iget-object v0, v3, Ldnsfilter/android/DNSProxyActivity;.reloadFilterBtn:Landroid/widget/Button; // field@012a │ │ -01bade: 3304 0500 |00f3: if-ne v4, v0, 00f8 // +0005 │ │ -01bae2: 6e10 0303 0300 |00f5: invoke-virtual {v3}, Ldnsfilter/android/DNSProxyActivity;.handlefilterReload:()V // method@0303 │ │ -01bae8: 6200 0301 |00f8: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.advancedConfigCheck:Landroid/widget/CheckBox; // field@0103 │ │ -01baec: 3204 1600 |00fa: if-eq v4, v0, 0110 // +0016 │ │ -01baf0: 6200 1101 |00fc: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.editAdditionalHostsCheck:Landroid/widget/CheckBox; // field@0111 │ │ -01baf4: 3204 1200 |00fe: if-eq v4, v0, 0110 // +0012 │ │ -01baf8: 6200 2201 |0100: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.manuallyEditConfChk:Landroid/widget/CheckBox; // field@0122 │ │ -01bafc: 3204 0e00 |0102: if-eq v4, v0, 0110 // +000e │ │ -01bb00: 6200 1201 |0104: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.editFilterLoadCheck:Landroid/widget/CheckBox; // field@0112 │ │ -01bb04: 3204 0a00 |0106: if-eq v4, v0, 0110 // +000a │ │ -01bb08: 6200 0601 |0108: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.appWhiteListCheck:Landroid/widget/CheckBox; // field@0106 │ │ -01bb0c: 3204 0600 |010a: if-eq v4, v0, 0110 // +0006 │ │ -01bb10: 6200 0c01 |010c: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.backupRestoreCheck:Landroid/widget/CheckBox; // field@010c │ │ -01bb14: 3304 0800 |010e: if-ne v4, v0, 0116 // +0008 │ │ -01bb18: 0740 |0110: move-object v0, v4 │ │ -01bb1a: 1f00 6400 |0111: check-cast v0, Landroid/widget/CheckBox; // type@0064 │ │ -01bb1e: 7020 fd02 0300 |0113: invoke-direct {v3, v0}, Ldnsfilter/android/DNSProxyActivity;.handleAdvancedConfig:(Landroid/widget/CheckBox;)V // method@02fd │ │ -01bb24: 6200 1c01 |0116: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.keepAwakeCheck:Landroid/widget/CheckBox; // field@011c │ │ -01bb28: 3304 0f00 |0118: if-ne v4, v0, 0127 // +000f │ │ -01bb2c: 6e10 cc00 0000 |011a: invoke-virtual {v0}, Landroid/widget/CheckBox;.isChecked:()Z // method@00cc │ │ -01bb32: 0a04 |011d: move-result v4 │ │ -01bb34: 3804 0600 |011e: if-eqz v4, 0124 // +0006 │ │ -01bb38: 6e10 2a03 0300 |0120: invoke-virtual {v3}, Ldnsfilter/android/DNSProxyActivity;.remoteWakeLock:()V // method@032a │ │ -01bb3e: 2804 |0123: goto 0127 // +0004 │ │ -01bb40: 6e10 2903 0300 |0124: invoke-virtual {v3}, Ldnsfilter/android/DNSProxyActivity;.remoteReleaseWakeLock:()V // method@0329 │ │ -01bb46: 0e00 |0127: return-void │ │ +01b8e4: |[01b8e4] dnsfilter.android.DNSProxyActivity.onClick:(Landroid/view/View;)V │ │ +01b8f4: 6300 3801 |0000: sget-boolean v0, Ldnsfilter/android/DNSProxyActivity;.switchingConfig:Z // field@0138 │ │ +01b8f8: 1201 |0002: const/4 v1, #int 0 // #0 │ │ +01b8fa: 3800 1100 |0003: if-eqz v0, 0014 // +0011 │ │ +01b8fe: 6204 0301 |0005: sget-object v4, Ldnsfilter/android/DNSProxyActivity;.advancedConfigCheck:Landroid/widget/CheckBox; // field@0103 │ │ +01b902: 6e20 cd00 1400 |0007: invoke-virtual {v4, v1}, Landroid/widget/CheckBox;.setChecked:(Z)V // method@00cd │ │ +01b908: 7100 2707 0000 |000a: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0727 │ │ +01b90e: 0c04 |000d: move-result-object v4 │ │ +01b910: 1a00 0801 |000e: const-string v0, "Config switch in progress - Wait!" // string@0108 │ │ +01b914: 7220 3307 0400 |0010: invoke-interface {v4, v0}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0733 │ │ +01b91a: 0e00 |0013: return-void │ │ +01b91c: 6200 2001 |0014: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.logOutView:Landroid/widget/EditText; // field@0120 │ │ +01b920: 1212 |0016: const/4 v2, #int 1 // #1 │ │ +01b922: 3304 1200 |0017: if-ne v4, v0, 0029 // +0012 │ │ +01b926: 1404 1900 057f |0019: const v4, #float 1.76788e+38 // #7f050019 │ │ +01b92c: 6e20 f102 4300 |001c: invoke-virtual {v3, v4}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02f1 │ │ +01b932: 0c04 |001f: move-result-object v4 │ │ +01b934: 1300 0800 |0020: const/16 v0, #int 8 // #8 │ │ +01b938: 6e20 b400 0400 |0022: invoke-virtual {v4, v0}, Landroid/view/View;.setVisibility:(I)V // method@00b4 │ │ +01b93e: 6e20 3203 2300 |0025: invoke-virtual {v3, v2}, Ldnsfilter/android/DNSProxyActivity;.showFilterRate:(Z)V // method@0332 │ │ +01b944: 0e00 |0028: return-void │ │ +01b946: 6200 ff00 |0029: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.addFilterBtn:Landroid/widget/TextView; // field@00ff │ │ +01b94a: 3304 0600 |002b: if-ne v4, v0, 0031 // +0006 │ │ +01b94e: 6e20 1103 2300 |002d: invoke-virtual {v3, v2}, Ldnsfilter/android/DNSProxyActivity;.onCopyFilterFromLogView:(Z)V // method@0311 │ │ +01b954: 0e00 |0030: return-void │ │ +01b956: 6200 2c01 |0031: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.removeFilterBtn:Landroid/widget/TextView; // field@012c │ │ +01b95a: 3304 0600 |0033: if-ne v4, v0, 0039 // +0006 │ │ +01b95e: 6e20 1103 1300 |0035: invoke-virtual {v3, v1}, Ldnsfilter/android/DNSProxyActivity;.onCopyFilterFromLogView:(Z)V // method@0311 │ │ +01b964: 0e00 |0038: return-void │ │ +01b966: 5430 1a01 |0039: iget-object v0, v3, Ldnsfilter/android/DNSProxyActivity;.helpBtn:Landroid/widget/Button; // field@011a │ │ +01b96a: 3304 0800 |003b: if-ne v4, v0, 0043 // +0008 │ │ +01b96e: 1a04 1b08 |003d: const-string v4, "https://www.zenz-home.com/personaldnsfilter/help/help.php" // string@081b │ │ +01b972: 7020 2103 4300 |003f: invoke-direct {v3, v4}, Ldnsfilter/android/DNSProxyActivity;.openBrowser:(Ljava/lang/String;)V // method@0321 │ │ +01b978: 0e00 |0042: return-void │ │ +01b97a: 6200 1001 |0043: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.dnsField:Landroid/widget/TextView; // field@0110 │ │ +01b97e: 3304 1300 |0045: if-ne v4, v0, 0058 // +0013 │ │ +01b982: 2204 1a00 |0047: new-instance v4, Landroid/content/Intent; // type@001a │ │ +01b986: 1c00 c500 |0049: const-class v0, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity; // type@00c5 │ │ +01b98a: 7030 4200 3400 |004b: invoke-direct {v4, v3, v0}, Landroid/content/Intent;.:(Landroid/content/Context;Ljava/lang/Class;)V // method@0042 │ │ +01b990: 6200 5702 |004e: sget-object v0, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.ACTIVITY_RESULT_CODE:Ljava/lang/Integer; // field@0257 │ │ +01b994: 6e10 6605 0000 |0050: invoke-virtual {v0}, Ljava/lang/Integer;.intValue:()I // method@0566 │ │ +01b99a: 0a00 |0053: move-result v0 │ │ +01b99c: 6e30 3403 4300 |0054: invoke-virtual {v3, v4, v0}, Ldnsfilter/android/DNSProxyActivity;.startActivityForResult:(Landroid/content/Intent;I)V // method@0334 │ │ +01b9a2: 0e00 |0057: return-void │ │ +01b9a4: 6200 3101 |0058: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.scrollLockField:Landroid/widget/TextView; // field@0131 │ │ +01b9a8: 3304 0600 |005a: if-ne v4, v0, 0060 // +0006 │ │ +01b9ac: 7010 0203 0300 |005c: invoke-direct {v3}, Ldnsfilter/android/DNSProxyActivity;.handleScrollLock:()V // method@0302 │ │ +01b9b2: 0e00 |005f: return-void │ │ +01b9b4: 6200 0a01 |0060: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.backupBtn:Landroid/widget/Button; // field@010a │ │ +01b9b8: 3304 0600 |0062: if-ne v4, v0, 0068 // +0006 │ │ +01b9bc: 6e10 ed02 0300 |0064: invoke-virtual {v3}, Ldnsfilter/android/DNSProxyActivity;.doBackup:()V // method@02ed │ │ +01b9c2: 0e00 |0067: return-void │ │ +01b9c4: 6200 2e01 |0068: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.restoreBtn:Landroid/widget/Button; // field@012e │ │ +01b9c8: 3304 0600 |006a: if-ne v4, v0, 0070 // +0006 │ │ +01b9cc: 6e10 ee02 0300 |006c: invoke-virtual {v3}, Ldnsfilter/android/DNSProxyActivity;.doRestore:()V // method@02ee │ │ +01b9d2: 0e00 |006f: return-void │ │ +01b9d4: 6200 2f01 |0070: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.restoreDefaultsBtn:Landroid/widget/Button; // field@012f │ │ +01b9d8: 3304 0600 |0072: if-ne v4, v0, 0078 // +0006 │ │ +01b9dc: 6e10 ef02 0300 |0074: invoke-virtual {v3}, Ldnsfilter/android/DNSProxyActivity;.doRestoreDefaults:()V // method@02ef │ │ +01b9e2: 0e00 |0077: return-void │ │ +01b9e4: 6200 1b01 |0078: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.initialInfoPopUpExitBtn:Landroid/widget/Button; // field@011b │ │ +01b9e8: 3304 0600 |007a: if-ne v4, v0, 0080 // +0006 │ │ +01b9ec: 7010 ea02 0300 |007c: invoke-direct {v3}, Ldnsfilter/android/DNSProxyActivity;.closeInitialInfoPopUp:()V // method@02ea │ │ +01b9f2: 0e00 |007f: return-void │ │ +01b9f4: 6200 3001 |0080: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.rootModeCheck:Landroid/widget/CheckBox; // field@0130 │ │ +01b9f8: 3304 1e00 |0082: if-ne v4, v0, 00a0 // +001e │ │ +01b9fc: 6e10 cc00 0000 |0084: invoke-virtual {v0}, Landroid/widget/CheckBox;.isChecked:()Z // method@00cc │ │ +01ba02: 0a00 |0087: move-result v0 │ │ +01ba04: 3800 1800 |0088: if-eqz v0, 00a0 // +0018 │ │ +01ba08: 6200 2901 |008a: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.proxyModeCheck:Landroid/widget/CheckBox; // field@0129 │ │ +01ba0c: 6e10 cc00 0000 |008c: invoke-virtual {v0}, Landroid/widget/CheckBox;.isChecked:()Z // method@00cc │ │ +01ba12: 0a00 |008f: move-result v0 │ │ +01ba14: 3900 1000 |0090: if-nez v0, 00a0 // +0010 │ │ +01ba18: 6200 2901 |0092: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.proxyModeCheck:Landroid/widget/CheckBox; // field@0129 │ │ +01ba1c: 6e20 cd00 2000 |0094: invoke-virtual {v0, v2}, Landroid/widget/CheckBox;.setChecked:(Z)V // method@00cd │ │ +01ba22: 7100 2707 0000 |0097: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0727 │ │ +01ba28: 0c00 |009a: move-result-object v0 │ │ +01ba2a: 1a02 7501 |009b: const-string v2, "Enabled also DNS proxy mode as required by root mode!" // string@0175 │ │ +01ba2e: 7220 3307 2000 |009d: invoke-interface {v0, v2}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0733 │ │ +01ba34: 6200 2901 |00a0: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.proxyModeCheck:Landroid/widget/CheckBox; // field@0129 │ │ +01ba38: 3304 1e00 |00a2: if-ne v4, v0, 00c0 // +001e │ │ +01ba3c: 6e10 cc00 0000 |00a4: invoke-virtual {v0}, Landroid/widget/CheckBox;.isChecked:()Z // method@00cc │ │ +01ba42: 0a00 |00a7: move-result v0 │ │ +01ba44: 3900 1800 |00a8: if-nez v0, 00c0 // +0018 │ │ +01ba48: 6200 3001 |00aa: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.rootModeCheck:Landroid/widget/CheckBox; // field@0130 │ │ +01ba4c: 6e10 cc00 0000 |00ac: invoke-virtual {v0}, Landroid/widget/CheckBox;.isChecked:()Z // method@00cc │ │ +01ba52: 0a00 |00af: move-result v0 │ │ +01ba54: 3800 1000 |00b0: if-eqz v0, 00c0 // +0010 │ │ +01ba58: 6200 3001 |00b2: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.rootModeCheck:Landroid/widget/CheckBox; // field@0130 │ │ +01ba5c: 6e20 cd00 1000 |00b4: invoke-virtual {v0, v1}, Landroid/widget/CheckBox;.setChecked:(Z)V // method@00cd │ │ +01ba62: 7100 2707 0000 |00b7: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0727 │ │ +01ba68: 0c00 |00ba: move-result-object v0 │ │ +01ba6a: 1a02 6901 |00bb: const-string v2, "Disabled also root mode as it requires DNS proxy mode!" // string@0169 │ │ +01ba6e: 7220 3307 2000 |00bd: invoke-interface {v0, v2}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0733 │ │ +01ba74: 7010 2403 0300 |00c0: invoke-direct {v3}, Ldnsfilter/android/DNSProxyActivity;.persistConfig:()V // method@0324 │ │ +01ba7a: 5430 2b01 |00c3: iget-object v0, v3, Ldnsfilter/android/DNSProxyActivity;.remoteCtrlBtn:Landroid/widget/Button; // field@012b │ │ +01ba7e: 3304 1a00 |00c5: if-ne v4, v0, 00df // +001a │ │ +01ba82: 6300 3801 |00c7: sget-boolean v0, Ldnsfilter/android/DNSProxyActivity;.switchingConfig:Z // field@0138 │ │ +01ba86: 3900 1600 |00c9: if-nez v0, 00df // +0016 │ │ +01ba8a: 6200 0301 |00cb: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.advancedConfigCheck:Landroid/widget/CheckBox; // field@0103 │ │ +01ba8e: 6e20 cd00 1000 |00cd: invoke-virtual {v0, v1}, Landroid/widget/CheckBox;.setChecked:(Z)V // method@00cd │ │ +01ba94: 6200 ed00 |00d0: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.CONFIG:Ldnsfilter/ConfigurationAccess; // field@00ed │ │ +01ba98: 6e10 5701 0000 |00d2: invoke-virtual {v0}, Ldnsfilter/ConfigurationAccess;.isLocal:()Z // method@0157 │ │ +01ba9e: 0a00 |00d5: move-result v0 │ │ +01baa0: 3800 0600 |00d6: if-eqz v0, 00dc // +0006 │ │ +01baa4: 7010 2203 0300 |00d8: invoke-direct {v3}, Ldnsfilter/android/DNSProxyActivity;.pepareRemoteControl:()V // method@0322 │ │ +01baaa: 2804 |00db: goto 00df // +0004 │ │ +01baac: 7010 0003 0300 |00dc: invoke-direct {v3}, Ldnsfilter/android/DNSProxyActivity;.handleRemoteControl:()V // method@0300 │ │ +01bab2: 5430 3601 |00df: iget-object v0, v3, Ldnsfilter/android/DNSProxyActivity;.startBtn:Landroid/widget/Button; // field@0136 │ │ +01bab6: 3204 0600 |00e1: if-eq v4, v0, 00e7 // +0006 │ │ +01baba: 6200 1301 |00e3: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.enableAdFilterCheck:Landroid/widget/CheckBox; // field@0113 │ │ +01babe: 3304 0500 |00e5: if-ne v4, v0, 00ea // +0005 │ │ +01bac2: 7010 0103 0300 |00e7: invoke-direct {v3}, Ldnsfilter/android/DNSProxyActivity;.handleRestart:()V // method@0301 │ │ +01bac8: 5430 3701 |00ea: iget-object v0, v3, Ldnsfilter/android/DNSProxyActivity;.stopBtn:Landroid/widget/Button; // field@0137 │ │ +01bacc: 3304 0500 |00ec: if-ne v4, v0, 00f1 // +0005 │ │ +01bad0: 6e10 fe02 0300 |00ee: invoke-virtual {v3}, Ldnsfilter/android/DNSProxyActivity;.handleExitApp:()V // method@02fe │ │ +01bad6: 5430 2a01 |00f1: iget-object v0, v3, Ldnsfilter/android/DNSProxyActivity;.reloadFilterBtn:Landroid/widget/Button; // field@012a │ │ +01bada: 3304 0500 |00f3: if-ne v4, v0, 00f8 // +0005 │ │ +01bade: 6e10 0303 0300 |00f5: invoke-virtual {v3}, Ldnsfilter/android/DNSProxyActivity;.handlefilterReload:()V // method@0303 │ │ +01bae4: 6200 0301 |00f8: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.advancedConfigCheck:Landroid/widget/CheckBox; // field@0103 │ │ +01bae8: 3204 1600 |00fa: if-eq v4, v0, 0110 // +0016 │ │ +01baec: 6200 1101 |00fc: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.editAdditionalHostsCheck:Landroid/widget/CheckBox; // field@0111 │ │ +01baf0: 3204 1200 |00fe: if-eq v4, v0, 0110 // +0012 │ │ +01baf4: 6200 2201 |0100: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.manuallyEditConfChk:Landroid/widget/CheckBox; // field@0122 │ │ +01baf8: 3204 0e00 |0102: if-eq v4, v0, 0110 // +000e │ │ +01bafc: 6200 1201 |0104: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.editFilterLoadCheck:Landroid/widget/CheckBox; // field@0112 │ │ +01bb00: 3204 0a00 |0106: if-eq v4, v0, 0110 // +000a │ │ +01bb04: 6200 0601 |0108: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.appWhiteListCheck:Landroid/widget/CheckBox; // field@0106 │ │ +01bb08: 3204 0600 |010a: if-eq v4, v0, 0110 // +0006 │ │ +01bb0c: 6200 0c01 |010c: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.backupRestoreCheck:Landroid/widget/CheckBox; // field@010c │ │ +01bb10: 3304 0800 |010e: if-ne v4, v0, 0116 // +0008 │ │ +01bb14: 0740 |0110: move-object v0, v4 │ │ +01bb16: 1f00 6400 |0111: check-cast v0, Landroid/widget/CheckBox; // type@0064 │ │ +01bb1a: 7020 fd02 0300 |0113: invoke-direct {v3, v0}, Ldnsfilter/android/DNSProxyActivity;.handleAdvancedConfig:(Landroid/widget/CheckBox;)V // method@02fd │ │ +01bb20: 6200 1c01 |0116: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.keepAwakeCheck:Landroid/widget/CheckBox; // field@011c │ │ +01bb24: 3304 0f00 |0118: if-ne v4, v0, 0127 // +000f │ │ +01bb28: 6e10 cc00 0000 |011a: invoke-virtual {v0}, Landroid/widget/CheckBox;.isChecked:()Z // method@00cc │ │ +01bb2e: 0a04 |011d: move-result v4 │ │ +01bb30: 3804 0600 |011e: if-eqz v4, 0124 // +0006 │ │ +01bb34: 6e10 2a03 0300 |0120: invoke-virtual {v3}, Ldnsfilter/android/DNSProxyActivity;.remoteWakeLock:()V // method@032a │ │ +01bb3a: 2804 |0123: goto 0127 // +0004 │ │ +01bb3c: 6e10 2903 0300 |0124: invoke-virtual {v3}, Ldnsfilter/android/DNSProxyActivity;.remoteReleaseWakeLock:()V // method@0329 │ │ +01bb42: 0e00 |0127: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=1114 │ │ 0x0005 line=1115 │ │ 0x000a line=1116 │ │ 0x0014 line=1120 │ │ 0x001c line=1121 │ │ @@ -46691,24 +46691,24 @@ │ │ type : '(Z)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 4 │ │ ins : 2 │ │ outs : 3 │ │ insns size : 18 16-bit code units │ │ -01bb48: |[01bb48] dnsfilter.android.DNSProxyActivity.onCopyFilterFromLogView:(Z)V │ │ -01bb58: 1200 |0000: const/4 v0, #int 0 // #0 │ │ -01bb5a: 7020 f902 0200 |0001: invoke-direct {v2, v0}, Ldnsfilter/android/DNSProxyActivity;.getSelectedText:(Z)Ljava/lang/String; // method@02f9 │ │ -01bb60: 0c00 |0004: move-result-object v0 │ │ -01bb62: 6201 2001 |0005: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.logOutView:Landroid/widget/EditText; // field@0120 │ │ -01bb66: 6e10 d600 0100 |0007: invoke-virtual {v1}, Landroid/widget/EditText;.clearFocus:()V // method@00d6 │ │ -01bb6c: 6e10 a205 0000 |000a: invoke-virtual {v0}, Ljava/lang/String;.trim:()Ljava/lang/String; // method@05a2 │ │ -01bb72: 0c00 |000d: move-result-object v0 │ │ -01bb74: 6e30 e502 0203 |000e: invoke-virtual {v2, v0, v3}, Ldnsfilter/android/DNSProxyActivity;.applyCopiedHosts:(Ljava/lang/String;Z)V // method@02e5 │ │ -01bb7a: 0e00 |0011: return-void │ │ +01bb44: |[01bb44] dnsfilter.android.DNSProxyActivity.onCopyFilterFromLogView:(Z)V │ │ +01bb54: 1200 |0000: const/4 v0, #int 0 // #0 │ │ +01bb56: 7020 f902 0200 |0001: invoke-direct {v2, v0}, Ldnsfilter/android/DNSProxyActivity;.getSelectedText:(Z)Ljava/lang/String; // method@02f9 │ │ +01bb5c: 0c00 |0004: move-result-object v0 │ │ +01bb5e: 6201 2001 |0005: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.logOutView:Landroid/widget/EditText; // field@0120 │ │ +01bb62: 6e10 d600 0100 |0007: invoke-virtual {v1}, Landroid/widget/EditText;.clearFocus:()V // method@00d6 │ │ +01bb68: 6e10 a205 0000 |000a: invoke-virtual {v0}, Ljava/lang/String;.trim:()Ljava/lang/String; // method@05a2 │ │ +01bb6e: 0c00 |000d: move-result-object v0 │ │ +01bb70: 6e30 e502 0203 |000e: invoke-virtual {v2, v0, v3}, Ldnsfilter/android/DNSProxyActivity;.applyCopiedHosts:(Ljava/lang/String;Z)V // method@02e5 │ │ +01bb76: 0e00 |0011: return-void │ │ catches : (none) │ │ positions : │ │ 0x0001 line=1866 │ │ 0x0005 line=1869 │ │ 0x000a line=1871 │ │ locals : │ │ 0x0000 - 0x0012 reg=2 this Ldnsfilter/android/DNSProxyActivity; │ │ @@ -46719,706 +46719,706 @@ │ │ type : '(Landroid/os/Bundle;)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 15 │ │ ins : 2 │ │ outs : 6 │ │ insns size : 1461 16-bit code units │ │ -01bb7c: |[01bb7c] dnsfilter.android.DNSProxyActivity.onCreate:(Landroid/os/Bundle;)V │ │ -01bb8c: 1a00 6505 |0000: const-string v0, "android.permission.POST_NOTIFICATIONS" // string@0565 │ │ -01bb90: 1a01 9c0b |0002: const-string v1, "window" // string@0b9c │ │ -01bb94: 1a02 0000 |0004: const-string v2, "" // string@0000 │ │ -01bb98: 1a03 c308 |0006: const-string v3, "logcat -d -f" // string@08c3 │ │ -01bb9c: 1a04 6b09 |0008: const-string v4, "personalDNSfilter V" // string@096b │ │ -01bba0: 2205 3b00 |000a: new-instance v5, Landroid/os/StrictMode$ThreadPolicy$Builder; // type@003b │ │ -01bba4: 7010 8c00 0500 |000c: invoke-direct {v5}, Landroid/os/StrictMode$ThreadPolicy$Builder;.:()V // method@008c │ │ -01bbaa: 6e10 8d00 0500 |000f: invoke-virtual {v5}, Landroid/os/StrictMode$ThreadPolicy$Builder;.build:()Landroid/os/StrictMode$ThreadPolicy; // method@008d │ │ -01bbb0: 0c05 |0012: move-result-object v5 │ │ -01bbb2: 7110 8e00 0500 |0013: invoke-static {v5}, Landroid/os/StrictMode;.setThreadPolicy:(Landroid/os/StrictMode$ThreadPolicy;)V // method@008e │ │ -01bbb8: 6f20 0400 ed00 |0016: invoke-super {v13, v14}, Landroid/app/Activity;.onCreate:(Landroid/os/Bundle;)V // method@0004 │ │ -01bbbe: 6e10 f702 0d00 |0019: invoke-virtual {v13}, Ldnsfilter/android/DNSProxyActivity;.getIntent:()Landroid/content/Intent; // method@02f7 │ │ -01bbc4: 0c0e |001c: move-result-object v14 │ │ -01bbc6: 1a05 5404 |001d: const-string v5, "SHOULD_FINISH" // string@0454 │ │ -01bbca: 1206 |001f: const/4 v6, #int 0 // #0 │ │ -01bbcc: 6e30 4800 5e06 |0020: invoke-virtual {v14, v5, v6}, Landroid/content/Intent;.getBooleanExtra:(Ljava/lang/String;Z)Z // method@0048 │ │ -01bbd2: 0a0e |0023: move-result v14 │ │ -01bbd4: 380e 0800 |0024: if-eqz v14, 002c // +0008 │ │ -01bbd8: 6e10 f202 0d00 |0026: invoke-virtual {v13}, Ldnsfilter/android/DNSProxyActivity;.finish:()V // method@02f2 │ │ -01bbde: 7110 b405 0600 |0029: invoke-static {v6}, Ljava/lang/System;.exit:(I)V // method@05b4 │ │ -01bbe4: 7110 2202 0d00 |002c: invoke-static {v13}, Ldnsfilter/android/AndroidEnvironment;.initEnvironment:(Landroid/content/Context;)V // method@0222 │ │ -01bbea: 6e20 fb02 1d00 |002f: invoke-virtual {v13, v1}, Ldnsfilter/android/DNSProxyActivity;.getSystemService:(Ljava/lang/String;)Ljava/lang/Object; // method@02fb │ │ -01bbf0: 0c0e |0032: move-result-object v14 │ │ -01bbf2: 1f0e 5c00 |0033: check-cast v14, Landroid/view/WindowManager; // type@005c │ │ -01bbf6: 7210 bd00 0e00 |0035: invoke-interface {v14}, Landroid/view/WindowManager;.getDefaultDisplay:()Landroid/view/Display; // method@00bd │ │ -01bbfc: 0c0e |0038: move-result-object v14 │ │ -01bbfe: 6e10 a400 0e00 |0039: invoke-virtual {v14}, Landroid/view/Display;.getWidth:()I // method@00a4 │ │ -01bc04: 0a0e |003c: move-result v14 │ │ -01bc06: 670e ef00 |003d: sput v14, Ldnsfilter/android/DNSProxyActivity;.DISPLAY_WIDTH:I // field@00ef │ │ -01bc0a: 6e20 fb02 1d00 |003f: invoke-virtual {v13, v1}, Ldnsfilter/android/DNSProxyActivity;.getSystemService:(Ljava/lang/String;)Ljava/lang/Object; // method@02fb │ │ -01bc10: 0c0e |0042: move-result-object v14 │ │ -01bc12: 1f0e 5c00 |0043: check-cast v14, Landroid/view/WindowManager; // type@005c │ │ -01bc16: 7210 bd00 0e00 |0045: invoke-interface {v14}, Landroid/view/WindowManager;.getDefaultDisplay:()Landroid/view/Display; // method@00bd │ │ -01bc1c: 0c0e |0048: move-result-object v14 │ │ -01bc1e: 6e10 a300 0e00 |0049: invoke-virtual {v14}, Landroid/view/Display;.getHeight:()I // method@00a3 │ │ -01bc24: 0a0e |004c: move-result v14 │ │ -01bc26: 670e ee00 |004d: sput v14, Ldnsfilter/android/DNSProxyActivity;.DISPLAY_HEIGTH:I // field@00ee │ │ -01bc2a: 620e f600 |004f: sget-object v14, Ldnsfilter/android/DNSProxyActivity;.MsgTO:Ldnsfilter/android/DNSProxyActivity$MsgTimeoutListener; // field@00f6 │ │ -01bc2e: 6e20 d302 de00 |0051: invoke-virtual {v14, v13}, Ldnsfilter/android/DNSProxyActivity$MsgTimeoutListener;.setActivity:(Ldnsfilter/android/DNSProxyActivity;)V // method@02d3 │ │ -01bc34: 690d f200 |0054: sput-object v13, Ldnsfilter/android/DNSProxyActivity;.INSTANCE:Ldnsfilter/android/DNSProxyActivity; // field@00f2 │ │ -01bc38: 600e 0200 |0056: sget v14, Landroid/os/Build$VERSION;.SDK_INT:I // field@0002 │ │ -01bc3c: 1301 1500 |0058: const/16 v1, #int 21 // #15 │ │ -01bc40: 341e 2d00 |005a: if-lt v14, v1, 0087 // +002d │ │ -01bc44: 6e10 fc02 0d00 |005c: invoke-virtual {v13}, Ldnsfilter/android/DNSProxyActivity;.getWindow:()Landroid/view/Window; // method@02fc │ │ -01bc4a: 0c0e |005f: move-result-object v14 │ │ -01bc4c: 1501 0080 |0060: const/high16 v1, #int -2147483648 // #8000 │ │ -01bc50: 6e20 b700 1e00 |0062: invoke-virtual {v14, v1}, Landroid/view/Window;.addFlags:(I)V // method@00b7 │ │ -01bc56: 1501 0004 |0065: const/high16 v1, #int 67108864 // #400 │ │ -01bc5a: 6e20 b800 1e00 |0067: invoke-virtual {v14, v1}, Landroid/view/Window;.clearFlags:(I)V // method@00b8 │ │ -01bc60: 6e10 f802 0d00 |006a: invoke-virtual {v13}, Ldnsfilter/android/DNSProxyActivity;.getResources:()Landroid/content/res/Resources; // method@02f8 │ │ -01bc66: 0c01 |006d: move-result-object v1 │ │ -01bc68: 1405 0600 037f |006e: const v5, #float 1.74129e+38 // #7f030006 │ │ -01bc6e: 6e20 5600 5100 |0071: invoke-virtual {v1, v5}, Landroid/content/res/Resources;.getColor:(I)I // method@0056 │ │ -01bc74: 0a01 |0074: move-result v1 │ │ -01bc76: 7120 6c02 1e00 |0075: invoke-static {v14, v1}, Ldnsfilter/android/BootUpReceiver$$ExternalSyntheticApiModelOutline0;.m:(Landroid/view/Window;I)V // method@026c │ │ -01bc7c: 6e10 fc02 0d00 |0078: invoke-virtual {v13}, Ldnsfilter/android/DNSProxyActivity;.getWindow:()Landroid/view/Window; // method@02fc │ │ -01bc82: 0c0e |007b: move-result-object v14 │ │ -01bc84: 6e10 f802 0d00 |007c: invoke-virtual {v13}, Ldnsfilter/android/DNSProxyActivity;.getResources:()Landroid/content/res/Resources; // method@02f8 │ │ -01bc8a: 0c01 |007f: move-result-object v1 │ │ -01bc8c: 6e20 5600 5100 |0080: invoke-virtual {v1, v5}, Landroid/content/res/Resources;.getColor:(I)I // method@0056 │ │ -01bc92: 0a01 |0083: move-result v1 │ │ -01bc94: 7120 7302 1e00 |0084: invoke-static {v14, v1}, Ldnsfilter/android/BootUpReceiver$$ExternalSyntheticApiModelOutline0;.m$1:(Landroid/view/Window;I)V // method@0273 │ │ -01bc9a: 140e 0b00 067f |0087: const v14, #float 1.78117e+38 // #7f06000b │ │ -01bca0: 6e20 2d03 ed00 |008a: invoke-virtual {v13, v14}, Ldnsfilter/android/DNSProxyActivity;.setContentView:(I)V // method@032d │ │ -01bca6: 620e 2001 |008d: sget-object v14, Ldnsfilter/android/DNSProxyActivity;.logOutView:Landroid/widget/EditText; // field@0120 │ │ -01bcaa: 1501 80bf |008f: const/high16 v1, #int -1082130432 // #bf80 │ │ -01bcae: 1205 |0091: const/4 v5, #int 0 // #0 │ │ -01bcb0: 380e 0d00 |0092: if-eqz v14, 009f // +000d │ │ -01bcb4: 6e10 da00 0e00 |0094: invoke-virtual {v14}, Landroid/widget/EditText;.getText:()Landroid/text/Editable; // method@00da │ │ -01bcba: 0c0e |0097: move-result-object v14 │ │ -01bcbc: 6207 2001 |0098: sget-object v7, Ldnsfilter/android/DNSProxyActivity;.logOutView:Landroid/widget/EditText; // field@0120 │ │ -01bcc0: 6e10 db00 0700 |009a: invoke-virtual {v7}, Landroid/widget/EditText;.getTextSize:()F // method@00db │ │ -01bcc6: 0a07 |009d: move-result v7 │ │ -01bcc8: 2804 |009e: goto 00a2 // +0004 │ │ -01bcca: 075e |009f: move-object v14, v5 │ │ -01bccc: 1507 80bf |00a0: const/high16 v7, #int -1082130432 // #bf80 │ │ -01bcd0: 1408 3c00 057f |00a2: const v8, #float 1.76789e+38 // #7f05003c │ │ -01bcd6: 6e20 f102 8d00 |00a5: invoke-virtual {v13, v8}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02f1 │ │ -01bcdc: 0c08 |00a8: move-result-object v8 │ │ -01bcde: 1f08 6700 |00a9: check-cast v8, Landroid/widget/EditText; // type@0067 │ │ -01bce2: 6908 2001 |00ab: sput-object v8, Ldnsfilter/android/DNSProxyActivity;.logOutView:Landroid/widget/EditText; // field@0120 │ │ -01bce6: 2d01 0701 |00ad: cmpl-float v1, v7, v1 │ │ -01bcea: 3801 0500 |00af: if-eqz v1, 00b4 // +0005 │ │ -01bcee: 6e30 e700 6807 |00b1: invoke-virtual {v8, v6, v7}, Landroid/widget/EditText;.setTextSize:(IF)V // method@00e7 │ │ -01bcf4: 380e 0800 |00b4: if-eqz v14, 00bc // +0008 │ │ -01bcf8: 6201 2001 |00b6: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.logOutView:Landroid/widget/EditText; // field@0120 │ │ -01bcfc: 6e20 e600 e100 |00b8: invoke-virtual {v1, v14}, Landroid/widget/EditText;.setText:(Ljava/lang/CharSequence;)V // method@00e6 │ │ -01bd02: 280c |00bb: goto 00c7 // +000c │ │ -01bd04: 620e 2001 |00bc: sget-object v14, Ldnsfilter/android/DNSProxyActivity;.logOutView:Landroid/widget/EditText; // field@0120 │ │ -01bd08: 1a01 9c00 |00be: const-string v1, "****This is personalDNSfilter V+1505801****

" // string@009c │ │ -01bd0c: 7110 f302 0100 |00c0: invoke-static {v1}, Ldnsfilter/android/DNSProxyActivity;.fromHtml:(Ljava/lang/String;)Landroid/text/Spanned; // method@02f3 │ │ -01bd12: 0c01 |00c3: move-result-object v1 │ │ -01bd14: 6e20 e600 1e00 |00c4: invoke-virtual {v14, v1}, Landroid/widget/EditText;.setText:(Ljava/lang/CharSequence;)V // method@00e6 │ │ -01bd1a: 620e 2001 |00c7: sget-object v14, Ldnsfilter/android/DNSProxyActivity;.logOutView:Landroid/widget/EditText; // field@0120 │ │ -01bd1e: 6e20 e000 5e00 |00c9: invoke-virtual {v14, v5}, Landroid/widget/EditText;.setKeyListener:(Landroid/text/method/KeyListener;)V // method@00e0 │ │ -01bd24: 620e 2001 |00cc: sget-object v14, Ldnsfilter/android/DNSProxyActivity;.logOutView:Landroid/widget/EditText; // field@0120 │ │ -01bd28: 6e20 dc00 de00 |00ce: invoke-virtual {v14, v13}, Landroid/widget/EditText;.setCustomSelectionActionModeCallback:(Landroid/view/ActionMode$Callback;)V // method@00dc │ │ -01bd2e: 620e 2001 |00d1: sget-object v14, Ldnsfilter/android/DNSProxyActivity;.logOutView:Landroid/widget/EditText; // field@0120 │ │ -01bd32: 6e20 e300 de00 |00d3: invoke-virtual {v14, v13}, Landroid/widget/EditText;.setOnTouchListener:(Landroid/view/View$OnTouchListener;)V // method@00e3 │ │ -01bd38: 620e 2001 |00d6: sget-object v14, Ldnsfilter/android/DNSProxyActivity;.logOutView:Landroid/widget/EditText; // field@0120 │ │ -01bd3c: 6e20 e200 de00 |00d8: invoke-virtual {v14, v13}, Landroid/widget/EditText;.setOnFocusChangeListener:(Landroid/view/View$OnFocusChangeListener;)V // method@00e2 │ │ -01bd42: 620e 2001 |00db: sget-object v14, Ldnsfilter/android/DNSProxyActivity;.logOutView:Landroid/widget/EditText; // field@0120 │ │ -01bd46: 6e20 e100 de00 |00dd: invoke-virtual {v14, v13}, Landroid/widget/EditText;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@00e1 │ │ -01bd4c: 1a0e 9d00 |00e0: const-string v14, "" // string@009d │ │ -01bd50: 1a01 5800 |00e2: const-string v1, "-1" // string@0058 │ │ -01bd54: 6207 ed00 |00e4: sget-object v7, Ldnsfilter/android/DNSProxyActivity;.CONFIG:Ldnsfilter/ConfigurationAccess; // field@00ed │ │ -01bd58: 6e10 5501 0700 |00e6: invoke-virtual {v7}, Ldnsfilter/ConfigurationAccess;.getVersion:()Ljava/lang/String; // method@0155 │ │ -01bd5e: 0c0e |00e9: move-result-object v14 │ │ -01bd60: 2207 2d01 |00ea: new-instance v7, Ljava/lang/StringBuilder; // type@012d │ │ -01bd64: 7010 a905 0700 |00ec: invoke-direct {v7}, Ljava/lang/StringBuilder;.:()V // method@05a9 │ │ -01bd6a: 6208 ed00 |00ef: sget-object v8, Ldnsfilter/android/DNSProxyActivity;.CONFIG:Ldnsfilter/ConfigurationAccess; // field@00ed │ │ -01bd6e: 6e10 5801 0800 |00f1: invoke-virtual {v8}, Ldnsfilter/ConfigurationAccess;.openConnectionsCount:()I // method@0158 │ │ -01bd74: 0a08 |00f4: move-result v8 │ │ -01bd76: 6e20 ac05 8700 |00f5: invoke-virtual {v7, v8}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@05ac │ │ -01bd7c: 6e20 af05 2700 |00f8: invoke-virtual {v7, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -01bd82: 6e10 b105 0700 |00fb: invoke-virtual {v7}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ -01bd88: 0c01 |00fe: move-result-object v1 │ │ -01bd8a: 281a |00ff: goto 0119 // +001a │ │ -01bd8c: 0d07 |0100: move-exception v7 │ │ -01bd8e: 2208 2d01 |0101: new-instance v8, Ljava/lang/StringBuilder; // type@012d │ │ -01bd92: 7010 a905 0800 |0103: invoke-direct {v8}, Ljava/lang/StringBuilder;.:()V // method@05a9 │ │ -01bd98: 6e10 2605 0700 |0106: invoke-virtual {v7}, Ljava/io/IOException;.toString:()Ljava/lang/String; // method@0526 │ │ -01bd9e: 0c07 |0109: move-result-object v7 │ │ -01bda0: 6e20 af05 7800 |010a: invoke-virtual {v8, v7}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -01bda6: 1a07 0200 |010d: const-string v7, " │ │ +01bb78: |[01bb78] dnsfilter.android.DNSProxyActivity.onCreate:(Landroid/os/Bundle;)V │ │ +01bb88: 1a00 6505 |0000: const-string v0, "android.permission.POST_NOTIFICATIONS" // string@0565 │ │ +01bb8c: 1a01 9c0b |0002: const-string v1, "window" // string@0b9c │ │ +01bb90: 1a02 0000 |0004: const-string v2, "" // string@0000 │ │ +01bb94: 1a03 c308 |0006: const-string v3, "logcat -d -f" // string@08c3 │ │ +01bb98: 1a04 6b09 |0008: const-string v4, "personalDNSfilter V" // string@096b │ │ +01bb9c: 2205 3b00 |000a: new-instance v5, Landroid/os/StrictMode$ThreadPolicy$Builder; // type@003b │ │ +01bba0: 7010 8c00 0500 |000c: invoke-direct {v5}, Landroid/os/StrictMode$ThreadPolicy$Builder;.:()V // method@008c │ │ +01bba6: 6e10 8d00 0500 |000f: invoke-virtual {v5}, Landroid/os/StrictMode$ThreadPolicy$Builder;.build:()Landroid/os/StrictMode$ThreadPolicy; // method@008d │ │ +01bbac: 0c05 |0012: move-result-object v5 │ │ +01bbae: 7110 8e00 0500 |0013: invoke-static {v5}, Landroid/os/StrictMode;.setThreadPolicy:(Landroid/os/StrictMode$ThreadPolicy;)V // method@008e │ │ +01bbb4: 6f20 0400 ed00 |0016: invoke-super {v13, v14}, Landroid/app/Activity;.onCreate:(Landroid/os/Bundle;)V // method@0004 │ │ +01bbba: 6e10 f702 0d00 |0019: invoke-virtual {v13}, Ldnsfilter/android/DNSProxyActivity;.getIntent:()Landroid/content/Intent; // method@02f7 │ │ +01bbc0: 0c0e |001c: move-result-object v14 │ │ +01bbc2: 1a05 5404 |001d: const-string v5, "SHOULD_FINISH" // string@0454 │ │ +01bbc6: 1206 |001f: const/4 v6, #int 0 // #0 │ │ +01bbc8: 6e30 4800 5e06 |0020: invoke-virtual {v14, v5, v6}, Landroid/content/Intent;.getBooleanExtra:(Ljava/lang/String;Z)Z // method@0048 │ │ +01bbce: 0a0e |0023: move-result v14 │ │ +01bbd0: 380e 0800 |0024: if-eqz v14, 002c // +0008 │ │ +01bbd4: 6e10 f202 0d00 |0026: invoke-virtual {v13}, Ldnsfilter/android/DNSProxyActivity;.finish:()V // method@02f2 │ │ +01bbda: 7110 b405 0600 |0029: invoke-static {v6}, Ljava/lang/System;.exit:(I)V // method@05b4 │ │ +01bbe0: 7110 2202 0d00 |002c: invoke-static {v13}, Ldnsfilter/android/AndroidEnvironment;.initEnvironment:(Landroid/content/Context;)V // method@0222 │ │ +01bbe6: 6e20 fb02 1d00 |002f: invoke-virtual {v13, v1}, Ldnsfilter/android/DNSProxyActivity;.getSystemService:(Ljava/lang/String;)Ljava/lang/Object; // method@02fb │ │ +01bbec: 0c0e |0032: move-result-object v14 │ │ +01bbee: 1f0e 5c00 |0033: check-cast v14, Landroid/view/WindowManager; // type@005c │ │ +01bbf2: 7210 bd00 0e00 |0035: invoke-interface {v14}, Landroid/view/WindowManager;.getDefaultDisplay:()Landroid/view/Display; // method@00bd │ │ +01bbf8: 0c0e |0038: move-result-object v14 │ │ +01bbfa: 6e10 a400 0e00 |0039: invoke-virtual {v14}, Landroid/view/Display;.getWidth:()I // method@00a4 │ │ +01bc00: 0a0e |003c: move-result v14 │ │ +01bc02: 670e ef00 |003d: sput v14, Ldnsfilter/android/DNSProxyActivity;.DISPLAY_WIDTH:I // field@00ef │ │ +01bc06: 6e20 fb02 1d00 |003f: invoke-virtual {v13, v1}, Ldnsfilter/android/DNSProxyActivity;.getSystemService:(Ljava/lang/String;)Ljava/lang/Object; // method@02fb │ │ +01bc0c: 0c0e |0042: move-result-object v14 │ │ +01bc0e: 1f0e 5c00 |0043: check-cast v14, Landroid/view/WindowManager; // type@005c │ │ +01bc12: 7210 bd00 0e00 |0045: invoke-interface {v14}, Landroid/view/WindowManager;.getDefaultDisplay:()Landroid/view/Display; // method@00bd │ │ +01bc18: 0c0e |0048: move-result-object v14 │ │ +01bc1a: 6e10 a300 0e00 |0049: invoke-virtual {v14}, Landroid/view/Display;.getHeight:()I // method@00a3 │ │ +01bc20: 0a0e |004c: move-result v14 │ │ +01bc22: 670e ee00 |004d: sput v14, Ldnsfilter/android/DNSProxyActivity;.DISPLAY_HEIGTH:I // field@00ee │ │ +01bc26: 620e f600 |004f: sget-object v14, Ldnsfilter/android/DNSProxyActivity;.MsgTO:Ldnsfilter/android/DNSProxyActivity$MsgTimeoutListener; // field@00f6 │ │ +01bc2a: 6e20 d302 de00 |0051: invoke-virtual {v14, v13}, Ldnsfilter/android/DNSProxyActivity$MsgTimeoutListener;.setActivity:(Ldnsfilter/android/DNSProxyActivity;)V // method@02d3 │ │ +01bc30: 690d f200 |0054: sput-object v13, Ldnsfilter/android/DNSProxyActivity;.INSTANCE:Ldnsfilter/android/DNSProxyActivity; // field@00f2 │ │ +01bc34: 600e 0200 |0056: sget v14, Landroid/os/Build$VERSION;.SDK_INT:I // field@0002 │ │ +01bc38: 1301 1500 |0058: const/16 v1, #int 21 // #15 │ │ +01bc3c: 341e 2d00 |005a: if-lt v14, v1, 0087 // +002d │ │ +01bc40: 6e10 fc02 0d00 |005c: invoke-virtual {v13}, Ldnsfilter/android/DNSProxyActivity;.getWindow:()Landroid/view/Window; // method@02fc │ │ +01bc46: 0c0e |005f: move-result-object v14 │ │ +01bc48: 1501 0080 |0060: const/high16 v1, #int -2147483648 // #8000 │ │ +01bc4c: 6e20 b700 1e00 |0062: invoke-virtual {v14, v1}, Landroid/view/Window;.addFlags:(I)V // method@00b7 │ │ +01bc52: 1501 0004 |0065: const/high16 v1, #int 67108864 // #400 │ │ +01bc56: 6e20 b800 1e00 |0067: invoke-virtual {v14, v1}, Landroid/view/Window;.clearFlags:(I)V // method@00b8 │ │ +01bc5c: 6e10 f802 0d00 |006a: invoke-virtual {v13}, Ldnsfilter/android/DNSProxyActivity;.getResources:()Landroid/content/res/Resources; // method@02f8 │ │ +01bc62: 0c01 |006d: move-result-object v1 │ │ +01bc64: 1405 0600 037f |006e: const v5, #float 1.74129e+38 // #7f030006 │ │ +01bc6a: 6e20 5600 5100 |0071: invoke-virtual {v1, v5}, Landroid/content/res/Resources;.getColor:(I)I // method@0056 │ │ +01bc70: 0a01 |0074: move-result v1 │ │ +01bc72: 7120 6c02 1e00 |0075: invoke-static {v14, v1}, Ldnsfilter/android/BootUpReceiver$$ExternalSyntheticApiModelOutline0;.m:(Landroid/view/Window;I)V // method@026c │ │ +01bc78: 6e10 fc02 0d00 |0078: invoke-virtual {v13}, Ldnsfilter/android/DNSProxyActivity;.getWindow:()Landroid/view/Window; // method@02fc │ │ +01bc7e: 0c0e |007b: move-result-object v14 │ │ +01bc80: 6e10 f802 0d00 |007c: invoke-virtual {v13}, Ldnsfilter/android/DNSProxyActivity;.getResources:()Landroid/content/res/Resources; // method@02f8 │ │ +01bc86: 0c01 |007f: move-result-object v1 │ │ +01bc88: 6e20 5600 5100 |0080: invoke-virtual {v1, v5}, Landroid/content/res/Resources;.getColor:(I)I // method@0056 │ │ +01bc8e: 0a01 |0083: move-result v1 │ │ +01bc90: 7120 7302 1e00 |0084: invoke-static {v14, v1}, Ldnsfilter/android/BootUpReceiver$$ExternalSyntheticApiModelOutline0;.m$1:(Landroid/view/Window;I)V // method@0273 │ │ +01bc96: 140e 0b00 067f |0087: const v14, #float 1.78117e+38 // #7f06000b │ │ +01bc9c: 6e20 2d03 ed00 |008a: invoke-virtual {v13, v14}, Ldnsfilter/android/DNSProxyActivity;.setContentView:(I)V // method@032d │ │ +01bca2: 620e 2001 |008d: sget-object v14, Ldnsfilter/android/DNSProxyActivity;.logOutView:Landroid/widget/EditText; // field@0120 │ │ +01bca6: 1501 80bf |008f: const/high16 v1, #int -1082130432 // #bf80 │ │ +01bcaa: 1205 |0091: const/4 v5, #int 0 // #0 │ │ +01bcac: 380e 0d00 |0092: if-eqz v14, 009f // +000d │ │ +01bcb0: 6e10 da00 0e00 |0094: invoke-virtual {v14}, Landroid/widget/EditText;.getText:()Landroid/text/Editable; // method@00da │ │ +01bcb6: 0c0e |0097: move-result-object v14 │ │ +01bcb8: 6207 2001 |0098: sget-object v7, Ldnsfilter/android/DNSProxyActivity;.logOutView:Landroid/widget/EditText; // field@0120 │ │ +01bcbc: 6e10 db00 0700 |009a: invoke-virtual {v7}, Landroid/widget/EditText;.getTextSize:()F // method@00db │ │ +01bcc2: 0a07 |009d: move-result v7 │ │ +01bcc4: 2804 |009e: goto 00a2 // +0004 │ │ +01bcc6: 075e |009f: move-object v14, v5 │ │ +01bcc8: 1507 80bf |00a0: const/high16 v7, #int -1082130432 // #bf80 │ │ +01bccc: 1408 3c00 057f |00a2: const v8, #float 1.76789e+38 // #7f05003c │ │ +01bcd2: 6e20 f102 8d00 |00a5: invoke-virtual {v13, v8}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02f1 │ │ +01bcd8: 0c08 |00a8: move-result-object v8 │ │ +01bcda: 1f08 6700 |00a9: check-cast v8, Landroid/widget/EditText; // type@0067 │ │ +01bcde: 6908 2001 |00ab: sput-object v8, Ldnsfilter/android/DNSProxyActivity;.logOutView:Landroid/widget/EditText; // field@0120 │ │ +01bce2: 2d01 0701 |00ad: cmpl-float v1, v7, v1 │ │ +01bce6: 3801 0500 |00af: if-eqz v1, 00b4 // +0005 │ │ +01bcea: 6e30 e700 6807 |00b1: invoke-virtual {v8, v6, v7}, Landroid/widget/EditText;.setTextSize:(IF)V // method@00e7 │ │ +01bcf0: 380e 0800 |00b4: if-eqz v14, 00bc // +0008 │ │ +01bcf4: 6201 2001 |00b6: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.logOutView:Landroid/widget/EditText; // field@0120 │ │ +01bcf8: 6e20 e600 e100 |00b8: invoke-virtual {v1, v14}, Landroid/widget/EditText;.setText:(Ljava/lang/CharSequence;)V // method@00e6 │ │ +01bcfe: 280c |00bb: goto 00c7 // +000c │ │ +01bd00: 620e 2001 |00bc: sget-object v14, Ldnsfilter/android/DNSProxyActivity;.logOutView:Landroid/widget/EditText; // field@0120 │ │ +01bd04: 1a01 9c00 |00be: const-string v1, "****This is personalDNSfilter V+1505801****

" // string@009c │ │ +01bd08: 7110 f302 0100 |00c0: invoke-static {v1}, Ldnsfilter/android/DNSProxyActivity;.fromHtml:(Ljava/lang/String;)Landroid/text/Spanned; // method@02f3 │ │ +01bd0e: 0c01 |00c3: move-result-object v1 │ │ +01bd10: 6e20 e600 1e00 |00c4: invoke-virtual {v14, v1}, Landroid/widget/EditText;.setText:(Ljava/lang/CharSequence;)V // method@00e6 │ │ +01bd16: 620e 2001 |00c7: sget-object v14, Ldnsfilter/android/DNSProxyActivity;.logOutView:Landroid/widget/EditText; // field@0120 │ │ +01bd1a: 6e20 e000 5e00 |00c9: invoke-virtual {v14, v5}, Landroid/widget/EditText;.setKeyListener:(Landroid/text/method/KeyListener;)V // method@00e0 │ │ +01bd20: 620e 2001 |00cc: sget-object v14, Ldnsfilter/android/DNSProxyActivity;.logOutView:Landroid/widget/EditText; // field@0120 │ │ +01bd24: 6e20 dc00 de00 |00ce: invoke-virtual {v14, v13}, Landroid/widget/EditText;.setCustomSelectionActionModeCallback:(Landroid/view/ActionMode$Callback;)V // method@00dc │ │ +01bd2a: 620e 2001 |00d1: sget-object v14, Ldnsfilter/android/DNSProxyActivity;.logOutView:Landroid/widget/EditText; // field@0120 │ │ +01bd2e: 6e20 e300 de00 |00d3: invoke-virtual {v14, v13}, Landroid/widget/EditText;.setOnTouchListener:(Landroid/view/View$OnTouchListener;)V // method@00e3 │ │ +01bd34: 620e 2001 |00d6: sget-object v14, Ldnsfilter/android/DNSProxyActivity;.logOutView:Landroid/widget/EditText; // field@0120 │ │ +01bd38: 6e20 e200 de00 |00d8: invoke-virtual {v14, v13}, Landroid/widget/EditText;.setOnFocusChangeListener:(Landroid/view/View$OnFocusChangeListener;)V // method@00e2 │ │ +01bd3e: 620e 2001 |00db: sget-object v14, Ldnsfilter/android/DNSProxyActivity;.logOutView:Landroid/widget/EditText; // field@0120 │ │ +01bd42: 6e20 e100 de00 |00dd: invoke-virtual {v14, v13}, Landroid/widget/EditText;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@00e1 │ │ +01bd48: 1a0e 9d00 |00e0: const-string v14, "" // string@009d │ │ +01bd4c: 1a01 5800 |00e2: const-string v1, "-1" // string@0058 │ │ +01bd50: 6207 ed00 |00e4: sget-object v7, Ldnsfilter/android/DNSProxyActivity;.CONFIG:Ldnsfilter/ConfigurationAccess; // field@00ed │ │ +01bd54: 6e10 5501 0700 |00e6: invoke-virtual {v7}, Ldnsfilter/ConfigurationAccess;.getVersion:()Ljava/lang/String; // method@0155 │ │ +01bd5a: 0c0e |00e9: move-result-object v14 │ │ +01bd5c: 2207 2d01 |00ea: new-instance v7, Ljava/lang/StringBuilder; // type@012d │ │ +01bd60: 7010 a905 0700 |00ec: invoke-direct {v7}, Ljava/lang/StringBuilder;.:()V // method@05a9 │ │ +01bd66: 6208 ed00 |00ef: sget-object v8, Ldnsfilter/android/DNSProxyActivity;.CONFIG:Ldnsfilter/ConfigurationAccess; // field@00ed │ │ +01bd6a: 6e10 5801 0800 |00f1: invoke-virtual {v8}, Ldnsfilter/ConfigurationAccess;.openConnectionsCount:()I // method@0158 │ │ +01bd70: 0a08 |00f4: move-result v8 │ │ +01bd72: 6e20 ac05 8700 |00f5: invoke-virtual {v7, v8}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@05ac │ │ +01bd78: 6e20 af05 2700 |00f8: invoke-virtual {v7, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +01bd7e: 6e10 b105 0700 |00fb: invoke-virtual {v7}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ +01bd84: 0c01 |00fe: move-result-object v1 │ │ +01bd86: 281a |00ff: goto 0119 // +001a │ │ +01bd88: 0d07 |0100: move-exception v7 │ │ +01bd8a: 2208 2d01 |0101: new-instance v8, Ljava/lang/StringBuilder; // type@012d │ │ +01bd8e: 7010 a905 0800 |0103: invoke-direct {v8}, Ljava/lang/StringBuilder;.:()V // method@05a9 │ │ +01bd94: 6e10 2605 0700 |0106: invoke-virtual {v7}, Ljava/io/IOException;.toString:()Ljava/lang/String; // method@0526 │ │ +01bd9a: 0c07 |0109: move-result-object v7 │ │ +01bd9c: 6e20 af05 7800 |010a: invoke-virtual {v8, v7}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +01bda2: 1a07 0200 |010d: const-string v7, " │ │ " // string@0002 │ │ -01bdaa: 6e20 af05 7800 |010f: invoke-virtual {v8, v7}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -01bdb0: 6e10 b105 0800 |0112: invoke-virtual {v8}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ -01bdb6: 0c07 |0115: move-result-object v7 │ │ -01bdb8: 7020 e302 7d00 |0116: invoke-direct {v13, v7}, Ldnsfilter/android/DNSProxyActivity;.addToLogView:(Ljava/lang/String;)V // method@02e3 │ │ -01bdbe: 2207 2d01 |0119: new-instance v7, Ljava/lang/StringBuilder; // type@012d │ │ -01bdc2: 7020 aa05 4700 |011b: invoke-direct {v7, v4}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05aa │ │ -01bdc8: 6e20 af05 e700 |011e: invoke-virtual {v7, v14}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -01bdce: 1a0e 0f00 |0121: const-string v14, " (Connections:" // string@000f │ │ -01bdd2: 6e20 af05 e700 |0123: invoke-virtual {v7, v14}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -01bdd8: 6e20 af05 1700 |0126: invoke-virtual {v7, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -01bdde: 1a0e 4800 |0129: const-string v14, ")" // string@0048 │ │ -01bde2: 6e20 af05 e700 |012b: invoke-virtual {v7, v14}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -01bde8: 6e10 b105 0700 |012e: invoke-virtual {v7}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ -01bdee: 0c0e |0131: move-result-object v14 │ │ -01bdf0: 6e20 3003 ed00 |0132: invoke-virtual {v13, v14}, Ldnsfilter/android/DNSProxyActivity;.setTitle:(Ljava/lang/CharSequence;)V // method@0330 │ │ -01bdf6: 620e 1601 |0135: sget-object v14, Ldnsfilter/android/DNSProxyActivity;.filterCfg:Ldnsfilter/android/FilterConfig; // field@0116 │ │ -01bdfa: 380e 1200 |0137: if-eqz v14, 0149 // +0012 │ │ -01bdfe: 6e10 3f03 0e00 |0139: invoke-virtual {v14}, Ldnsfilter/android/FilterConfig;.getFilterEntries:()[Ldnsfilter/ConfigUtil$HostFilterList; // method@033f │ │ -01be04: 0c0e |013c: move-result-object v14 │ │ -01be06: 6201 1601 |013d: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.filterCfg:Ldnsfilter/android/FilterConfig; // field@0116 │ │ -01be0a: 6e10 3e03 0100 |013f: invoke-virtual {v1}, Ldnsfilter/android/FilterConfig;.getCurrentCategory:()Ljava/lang/String; // method@033e │ │ -01be10: 0c01 |0142: move-result-object v1 │ │ -01be12: 6204 1601 |0143: sget-object v4, Ldnsfilter/android/DNSProxyActivity;.filterCfg:Ldnsfilter/android/FilterConfig; // field@0116 │ │ -01be16: 6e10 3c03 0400 |0145: invoke-virtual {v4}, Ldnsfilter/android/FilterConfig;.clear:()V // method@033c │ │ -01be1c: 2803 |0148: goto 014b // +0003 │ │ -01be1e: 075e |0149: move-object v14, v5 │ │ -01be20: 07e1 |014a: move-object v1, v14 │ │ -01be22: 1404 0100 057f |014b: const v4, #float 1.76787e+38 // #7f050001 │ │ -01be28: 6e20 f102 4d00 |014e: invoke-virtual {v13, v4}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02f1 │ │ -01be2e: 0c04 |0151: move-result-object v4 │ │ -01be30: 0749 |0152: move-object v9, v4 │ │ -01be32: 1f09 6300 |0153: check-cast v9, Landroid/widget/Button; // type@0063 │ │ -01be36: 1504 057f |0155: const/high16 v4, #int 2131034112 // #7f05 │ │ -01be3a: 6e20 f102 4d00 |0157: invoke-virtual {v13, v4}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02f1 │ │ -01be40: 0c04 |015a: move-result-object v4 │ │ -01be42: 074a |015b: move-object v10, v4 │ │ -01be44: 1f0a 6300 |015c: check-cast v10, Landroid/widget/Button; // type@0063 │ │ -01be48: 1404 1400 057f |015e: const v4, #float 1.76788e+38 // #7f050014 │ │ -01be4e: 6e20 f102 4d00 |0161: invoke-virtual {v13, v4}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02f1 │ │ -01be54: 0c04 |0164: move-result-object v4 │ │ -01be56: 074b |0165: move-object v11, v4 │ │ -01be58: 1f0b 7300 |0166: check-cast v11, Landroid/widget/TextView; // type@0073 │ │ -01be5c: 1404 5300 057f |0168: const v4, #float 1.76789e+38 // #7f050053 │ │ -01be62: 6e20 f102 4d00 |016b: invoke-virtual {v13, v4}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02f1 │ │ -01be68: 0c04 |016e: move-result-object v4 │ │ -01be6a: 074c |016f: move-object v12, v4 │ │ -01be6c: 1f0c 6300 |0170: check-cast v12, Landroid/widget/Button; // type@0063 │ │ -01be70: 2204 b100 |0172: new-instance v4, Ldnsfilter/android/FilterConfig; // type@00b1 │ │ -01be74: 1407 3000 057f |0174: const v7, #float 1.76788e+38 // #7f050030 │ │ -01be7a: 6e20 f102 7d00 |0177: invoke-virtual {v13, v7}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02f1 │ │ -01be80: 0c07 |017a: move-result-object v7 │ │ -01be82: 0778 |017b: move-object v8, v7 │ │ -01be84: 1f08 7100 |017c: check-cast v8, Landroid/widget/TableLayout; // type@0071 │ │ -01be88: 0747 |017e: move-object v7, v4 │ │ -01be8a: 7606 3903 0700 |017f: 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@0339 │ │ -01be90: 6904 1601 |0182: sput-object v4, Ldnsfilter/android/DNSProxyActivity;.filterCfg:Ldnsfilter/android/FilterConfig; // field@0116 │ │ -01be94: 380e 0a00 |0184: if-eqz v14, 018e // +000a │ │ -01be98: 6e20 4803 e400 |0186: invoke-virtual {v4, v14}, Ldnsfilter/android/FilterConfig;.setEntries:([Ldnsfilter/ConfigUtil$HostFilterList;)V // method@0348 │ │ -01be9e: 620e 1601 |0189: sget-object v14, Ldnsfilter/android/DNSProxyActivity;.filterCfg:Ldnsfilter/android/FilterConfig; // field@0116 │ │ -01bea2: 6e20 4703 1e00 |018b: invoke-virtual {v14, v1}, Ldnsfilter/android/FilterConfig;.setCurrentCategory:(Ljava/lang/String;)V // method@0347 │ │ -01bea8: 620e 1801 |018e: sget-object v14, Ldnsfilter/android/DNSProxyActivity;.filterReloadIntervalView:Landroid/widget/EditText; // field@0118 │ │ -01beac: 380e 0b00 |0190: if-eqz v14, 019b // +000b │ │ -01beb0: 6e10 da00 0e00 |0192: invoke-virtual {v14}, Landroid/widget/EditText;.getText:()Landroid/text/Editable; // method@00da │ │ -01beb6: 0c0e |0195: move-result-object v14 │ │ -01beb8: 6e10 7a05 0e00 |0196: invoke-virtual {v14}, Ljava/lang/Object;.toString:()Ljava/lang/String; // method@057a │ │ -01bebe: 0c0e |0199: move-result-object v14 │ │ -01bec0: 2802 |019a: goto 019c // +0002 │ │ -01bec2: 072e |019b: move-object v14, v2 │ │ -01bec4: 1401 3200 057f |019c: const v1, #float 1.76788e+38 // #7f050032 │ │ -01beca: 6e20 f102 1d00 |019f: invoke-virtual {v13, v1}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02f1 │ │ -01bed0: 0c01 |01a2: move-result-object v1 │ │ -01bed2: 1f01 6700 |01a3: check-cast v1, Landroid/widget/EditText; // type@0067 │ │ -01bed6: 6901 1801 |01a5: sput-object v1, Ldnsfilter/android/DNSProxyActivity;.filterReloadIntervalView:Landroid/widget/EditText; // field@0118 │ │ -01beda: 6e20 e600 e100 |01a7: invoke-virtual {v1, v14}, Landroid/widget/EditText;.setText:(Ljava/lang/CharSequence;)V // method@00e6 │ │ -01bee0: 140e 5c00 057f |01aa: const v14, #float 1.76789e+38 // #7f05005c │ │ -01bee6: 6e20 f102 ed00 |01ad: invoke-virtual {v13, v14}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02f1 │ │ -01beec: 0c0e |01b0: move-result-object v14 │ │ -01beee: 1f0e 6300 |01b1: check-cast v14, Landroid/widget/Button; // type@0063 │ │ -01bef2: 5bde 3601 |01b3: iput-object v14, v13, Ldnsfilter/android/DNSProxyActivity;.startBtn:Landroid/widget/Button; // field@0136 │ │ -01bef6: 6e20 c500 de00 |01b5: invoke-virtual {v14, v13}, Landroid/widget/Button;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@00c5 │ │ -01befc: 140e 5d00 057f |01b8: const v14, #float 1.76789e+38 // #7f05005d │ │ -01bf02: 6e20 f102 ed00 |01bb: invoke-virtual {v13, v14}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02f1 │ │ -01bf08: 0c0e |01be: move-result-object v14 │ │ -01bf0a: 1f0e 6300 |01bf: check-cast v14, Landroid/widget/Button; // type@0063 │ │ -01bf0e: 5bde 3701 |01c1: iput-object v14, v13, Ldnsfilter/android/DNSProxyActivity;.stopBtn:Landroid/widget/Button; // field@0137 │ │ -01bf12: 6e20 c500 de00 |01c3: invoke-virtual {v14, v13}, Landroid/widget/Button;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@00c5 │ │ -01bf18: 140e 2e00 057f |01c6: const v14, #float 1.76788e+38 // #7f05002e │ │ -01bf1e: 6e20 f102 ed00 |01c9: invoke-virtual {v13, v14}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02f1 │ │ -01bf24: 0c0e |01cc: move-result-object v14 │ │ -01bf26: 1f0e 6300 |01cd: check-cast v14, Landroid/widget/Button; // type@0063 │ │ -01bf2a: 5bde 2a01 |01cf: iput-object v14, v13, Ldnsfilter/android/DNSProxyActivity;.reloadFilterBtn:Landroid/widget/Button; // field@012a │ │ -01bf2e: 6e20 c500 de00 |01d1: invoke-virtual {v14, v13}, Landroid/widget/Button;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@00c5 │ │ -01bf34: 140e 3300 057f |01d4: const v14, #float 1.76788e+38 // #7f050033 │ │ -01bf3a: 6e20 f102 ed00 |01d7: invoke-virtual {v13, v14}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02f1 │ │ -01bf40: 0c0e |01da: move-result-object v14 │ │ -01bf42: 1f0e 6300 |01db: check-cast v14, Landroid/widget/Button; // type@0063 │ │ -01bf46: 5bde 1a01 |01dd: iput-object v14, v13, Ldnsfilter/android/DNSProxyActivity;.helpBtn:Landroid/widget/Button; // field@011a │ │ -01bf4a: 6e20 c500 de00 |01df: invoke-virtual {v14, v13}, Landroid/widget/Button;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@00c5 │ │ -01bf50: 140e 4e00 057f |01e2: const v14, #float 1.76789e+38 // #7f05004e │ │ -01bf56: 6e20 f102 ed00 |01e5: invoke-virtual {v13, v14}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02f1 │ │ -01bf5c: 0c0e |01e8: move-result-object v14 │ │ -01bf5e: 1f0e 6300 |01e9: check-cast v14, Landroid/widget/Button; // type@0063 │ │ -01bf62: 5bde 2b01 |01eb: iput-object v14, v13, Ldnsfilter/android/DNSProxyActivity;.remoteCtrlBtn:Landroid/widget/Button; // field@012b │ │ -01bf66: 620e ed00 |01ed: sget-object v14, Ldnsfilter/android/DNSProxyActivity;.CONFIG:Ldnsfilter/ConfigurationAccess; // field@00ed │ │ -01bf6a: 6e10 5701 0e00 |01ef: invoke-virtual {v14}, Ldnsfilter/ConfigurationAccess;.isLocal:()Z // method@0157 │ │ -01bf70: 0a0e |01f2: move-result v14 │ │ -01bf72: 390e 1300 |01f3: if-nez v14, 0206 // +0013 │ │ -01bf76: 54de 2b01 |01f5: iget-object v14, v13, Ldnsfilter/android/DNSProxyActivity;.remoteCtrlBtn:Landroid/widget/Button; // field@012b │ │ -01bf7a: 6e10 f802 0d00 |01f7: invoke-virtual {v13}, Ldnsfilter/android/DNSProxyActivity;.getResources:()Landroid/content/res/Resources; // method@02f8 │ │ -01bf80: 0c01 |01fa: move-result-object v1 │ │ -01bf82: 1404 2b00 047f |01fb: const v4, #float 1.75459e+38 // #7f04002b │ │ -01bf88: 6e20 5800 4100 |01fe: invoke-virtual {v1, v4}, Landroid/content/res/Resources;.getDrawable:(I)Landroid/graphics/drawable/Drawable; // method@0058 │ │ -01bf8e: 0c01 |0201: move-result-object v1 │ │ -01bf90: 6e55 c400 5e15 |0202: 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@00c4 │ │ -01bf96: 2811 |0205: goto 0216 // +0011 │ │ -01bf98: 54de 2b01 |0206: iget-object v14, v13, Ldnsfilter/android/DNSProxyActivity;.remoteCtrlBtn:Landroid/widget/Button; // field@012b │ │ -01bf9c: 6e10 f802 0d00 |0208: invoke-virtual {v13}, Ldnsfilter/android/DNSProxyActivity;.getResources:()Landroid/content/res/Resources; // method@02f8 │ │ -01bfa2: 0c01 |020b: move-result-object v1 │ │ -01bfa4: 1404 2c00 047f |020c: const v4, #float 1.75459e+38 // #7f04002c │ │ -01bfaa: 6e20 5800 4100 |020f: invoke-virtual {v1, v4}, Landroid/content/res/Resources;.getDrawable:(I)Landroid/graphics/drawable/Drawable; // method@0058 │ │ -01bfb0: 0c01 |0212: move-result-object v1 │ │ -01bfb2: 6e55 c400 5e15 |0213: 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@00c4 │ │ -01bfb8: 54de 2b01 |0216: iget-object v14, v13, Ldnsfilter/android/DNSProxyActivity;.remoteCtrlBtn:Landroid/widget/Button; // field@012b │ │ -01bfbc: 6e20 c500 de00 |0218: invoke-virtual {v14, v13}, Landroid/widget/Button;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@00c5 │ │ -01bfc2: 140e 0f00 057f |021b: const v14, #float 1.76788e+38 // #7f05000f │ │ -01bfc8: 6e20 f102 ed00 |021e: invoke-virtual {v13, v14}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02f1 │ │ -01bfce: 0c0e |0221: move-result-object v14 │ │ -01bfd0: 1f0e 6300 |0222: check-cast v14, Landroid/widget/Button; // type@0063 │ │ -01bfd4: 690e 0a01 |0224: sput-object v14, Ldnsfilter/android/DNSProxyActivity;.backupBtn:Landroid/widget/Button; // field@010a │ │ -01bfd8: 6e20 c500 de00 |0226: invoke-virtual {v14, v13}, Landroid/widget/Button;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@00c5 │ │ -01bfde: 140e 0200 057f |0229: const v14, #float 1.76787e+38 // #7f050002 │ │ -01bfe4: 6e20 f102 ed00 |022c: invoke-virtual {v13, v14}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02f1 │ │ -01bfea: 0c0e |022f: move-result-object v14 │ │ -01bfec: 1f0e 6300 |0230: check-cast v14, Landroid/widget/Button; // type@0063 │ │ -01bff0: 690e 2e01 |0232: sput-object v14, Ldnsfilter/android/DNSProxyActivity;.restoreBtn:Landroid/widget/Button; // field@012e │ │ -01bff4: 6e20 c500 de00 |0234: invoke-virtual {v14, v13}, Landroid/widget/Button;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@00c5 │ │ -01bffa: 140e 0300 057f |0237: const v14, #float 1.76787e+38 // #7f050003 │ │ -01c000: 6e20 f102 ed00 |023a: invoke-virtual {v13, v14}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02f1 │ │ -01c006: 0c0e |023d: move-result-object v14 │ │ -01c008: 1f0e 6300 |023e: check-cast v14, Landroid/widget/Button; // type@0063 │ │ -01c00c: 690e 2f01 |0240: sput-object v14, Ldnsfilter/android/DNSProxyActivity;.restoreDefaultsBtn:Landroid/widget/Button; // field@012f │ │ -01c010: 6e20 c500 de00 |0242: invoke-virtual {v14, v13}, Landroid/widget/Button;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@00c5 │ │ -01c016: 140e 0500 057f |0245: const v14, #float 1.76787e+38 // #7f050005 │ │ -01c01c: 6e20 f102 ed00 |0248: invoke-virtual {v13, v14}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02f1 │ │ -01c022: 0c0e |024b: move-result-object v14 │ │ -01c024: 1f0e 7300 |024c: check-cast v14, Landroid/widget/TextView; // type@0073 │ │ -01c028: 690e ff00 |024e: sput-object v14, Ldnsfilter/android/DNSProxyActivity;.addFilterBtn:Landroid/widget/TextView; // field@00ff │ │ -01c02c: 6e20 0801 de00 |0250: invoke-virtual {v14, v13}, Landroid/widget/TextView;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@0108 │ │ -01c032: 140e 5200 057f |0253: const v14, #float 1.76789e+38 // #7f050052 │ │ -01c038: 6e20 f102 ed00 |0256: invoke-virtual {v13, v14}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02f1 │ │ -01c03e: 0c0e |0259: move-result-object v14 │ │ -01c040: 1f0e 7300 |025a: check-cast v14, Landroid/widget/TextView; // type@0073 │ │ -01c044: 690e 2c01 |025c: sput-object v14, Ldnsfilter/android/DNSProxyActivity;.removeFilterBtn:Landroid/widget/TextView; // field@012c │ │ -01c048: 6e20 0801 de00 |025e: invoke-virtual {v14, v13}, Landroid/widget/TextView;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@0108 │ │ -01c04e: 140e 3b00 057f |0261: const v14, #float 1.76789e+38 // #7f05003b │ │ -01c054: 6e20 f102 ed00 |0264: invoke-virtual {v13, v14}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02f1 │ │ -01c05a: 0c0e |0267: move-result-object v14 │ │ -01c05c: 1f0e 7300 |0268: check-cast v14, Landroid/widget/TextView; // type@0073 │ │ -01c060: 690e 1d01 |026a: sput-object v14, Ldnsfilter/android/DNSProxyActivity;.link_field:Landroid/widget/TextView; // field@011d │ │ -01c064: 6201 1f01 |026c: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.link_field_txt:Ljava/lang/String; // field@011f │ │ -01c068: 7110 f302 0100 |026e: invoke-static {v1}, Ldnsfilter/android/DNSProxyActivity;.fromHtml:(Ljava/lang/String;)Landroid/text/Spanned; // method@02f3 │ │ -01c06e: 0c01 |0271: move-result-object v1 │ │ -01c070: 6e20 0901 1e00 |0272: invoke-virtual {v14, v1}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@0109 │ │ -01c076: 620e 1d01 |0275: sget-object v14, Ldnsfilter/android/DNSProxyActivity;.link_field:Landroid/widget/TextView; // field@011d │ │ -01c07a: 7100 9f00 0000 |0277: invoke-static {}, Landroid/text/method/LinkMovementMethod;.getInstance:()Landroid/text/method/MovementMethod; // method@009f │ │ -01c080: 0c01 |027a: move-result-object v1 │ │ -01c082: 6e20 0701 1e00 |027b: invoke-virtual {v14, v1}, Landroid/widget/TextView;.setMovementMethod:(Landroid/text/method/MovementMethod;)V // method@0107 │ │ -01c088: 620e 1d01 |027e: sget-object v14, Ldnsfilter/android/DNSProxyActivity;.link_field:Landroid/widget/TextView; // field@011d │ │ -01c08c: 6e10 0301 0e00 |0280: invoke-virtual {v14}, Landroid/widget/TextView;.getBackground:()Landroid/graphics/drawable/Drawable; // method@0103 │ │ -01c092: 0c0e |0283: move-result-object v14 │ │ -01c094: 20e1 2600 |0284: instance-of v1, v14, Landroid/graphics/drawable/ColorDrawable; // type@0026 │ │ -01c098: 3801 0a00 |0286: if-eqz v1, 0290 // +000a │ │ -01c09c: 1f0e 2600 |0288: check-cast v14, Landroid/graphics/drawable/ColorDrawable; // type@0026 │ │ -01c0a0: 6e10 5e00 0e00 |028a: invoke-virtual {v14}, Landroid/graphics/drawable/ColorDrawable;.getColor:()I // method@005e │ │ -01c0a6: 0a0e |028d: move-result v14 │ │ -01c0a8: 670e 1e01 |028e: sput v14, Ldnsfilter/android/DNSProxyActivity;.link_field_color:I // field@011e │ │ -01c0ac: 140e 5800 057f |0290: const v14, #float 1.76789e+38 // #7f050058 │ │ -01c0b2: 6e20 f102 ed00 |0293: invoke-virtual {v13, v14}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02f1 │ │ -01c0b8: 0c0e |0296: move-result-object v14 │ │ -01c0ba: 1f0e 7300 |0297: check-cast v14, Landroid/widget/TextView; // type@0073 │ │ -01c0be: 690e 3101 |0299: sput-object v14, Ldnsfilter/android/DNSProxyActivity;.scrollLockField:Landroid/widget/TextView; // field@0131 │ │ -01c0c2: 6301 3301 |029b: sget-boolean v1, Ldnsfilter/android/DNSProxyActivity;.scroll_locked:Z // field@0133 │ │ -01c0c6: 3801 0800 |029d: if-eqz v1, 02a5 // +0008 │ │ -01c0ca: 6201 fb00 |029f: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.SCROLL_CONTINUE:Ljava/lang/String; // field@00fb │ │ -01c0ce: 6e20 0901 1e00 |02a1: invoke-virtual {v14, v1}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@0109 │ │ -01c0d4: 2806 |02a4: goto 02aa // +0006 │ │ -01c0d6: 6201 fc00 |02a5: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.SCROLL_PAUSE:Ljava/lang/String; // field@00fc │ │ -01c0da: 6e20 0901 1e00 |02a7: invoke-virtual {v14, v1}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@0109 │ │ -01c0e0: 620e 3101 |02aa: sget-object v14, Ldnsfilter/android/DNSProxyActivity;.scrollLockField:Landroid/widget/TextView; // field@0131 │ │ -01c0e4: 6e20 0801 de00 |02ac: invoke-virtual {v14, v13}, Landroid/widget/TextView;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@0108 │ │ -01c0ea: 140e 3d00 057f |02af: const v14, #float 1.76789e+38 // #7f05003d │ │ -01c0f0: 6e20 f102 ed00 |02b2: invoke-virtual {v13, v14}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02f1 │ │ -01c0f6: 0c0e |02b5: move-result-object v14 │ │ -01c0f8: 1f0e 6e00 |02b6: check-cast v14, Landroid/widget/ScrollView; // type@006e │ │ -01c0fc: 5bde 3201 |02b8: iput-object v14, v13, Ldnsfilter/android/DNSProxyActivity;.scrollView:Landroid/widget/ScrollView; // field@0132 │ │ -01c100: 620e 1001 |02ba: sget-object v14, Ldnsfilter/android/DNSProxyActivity;.dnsField:Landroid/widget/TextView; // field@0110 │ │ -01c104: 380e 0b00 |02bc: if-eqz v14, 02c7 // +000b │ │ -01c108: 6e10 0401 0e00 |02be: invoke-virtual {v14}, Landroid/widget/TextView;.getText:()Ljava/lang/CharSequence; // method@0104 │ │ -01c10e: 0c0e |02c1: move-result-object v14 │ │ -01c110: 7210 5205 0e00 |02c2: invoke-interface {v14}, Ljava/lang/CharSequence;.toString:()Ljava/lang/String; // method@0552 │ │ -01c116: 0c0e |02c5: move-result-object v14 │ │ -01c118: 2802 |02c6: goto 02c8 // +0002 │ │ -01c11a: 072e |02c7: move-object v14, v2 │ │ -01c11c: 1401 1c00 057f |02c8: const v1, #float 1.76788e+38 // #7f05001c │ │ -01c122: 6e20 f102 1d00 |02cb: invoke-virtual {v13, v1}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02f1 │ │ -01c128: 0c01 |02ce: move-result-object v1 │ │ -01c12a: 1f01 7300 |02cf: check-cast v1, Landroid/widget/TextView; // type@0073 │ │ -01c12e: 6901 1001 |02d1: sput-object v1, Ldnsfilter/android/DNSProxyActivity;.dnsField:Landroid/widget/TextView; // field@0110 │ │ -01c132: 6e20 0901 e100 |02d3: invoke-virtual {v1, v14}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@0109 │ │ -01c138: 6201 1001 |02d6: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.dnsField:Landroid/widget/TextView; // field@0110 │ │ -01c13c: 1214 |02d8: const/4 v4, #int 1 // #1 │ │ -01c13e: 6e20 0601 4100 |02d9: invoke-virtual {v1, v4}, Landroid/widget/TextView;.setEnabled:(Z)V // method@0106 │ │ -01c144: 6201 1001 |02dc: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.dnsField:Landroid/widget/TextView; // field@0110 │ │ -01c148: 6e20 0801 d100 |02de: invoke-virtual {v1, v13}, Landroid/widget/TextView;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@0108 │ │ -01c14e: 6201 1301 |02e1: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.enableAdFilterCheck:Landroid/widget/CheckBox; // field@0113 │ │ -01c152: 3801 0a00 |02e3: if-eqz v1, 02ed // +000a │ │ -01c156: 6e10 cc00 0100 |02e5: invoke-virtual {v1}, Landroid/widget/CheckBox;.isChecked:()Z // method@00cc │ │ -01c15c: 0a01 |02e8: move-result v1 │ │ -01c15e: 3801 0400 |02e9: if-eqz v1, 02ed // +0004 │ │ -01c162: 1211 |02eb: const/4 v1, #int 1 // #1 │ │ -01c164: 2802 |02ec: goto 02ee // +0002 │ │ -01c166: 1201 |02ed: const/4 v1, #int 0 // #0 │ │ -01c168: 1407 2600 057f |02ee: const v7, #float 1.76788e+38 // #7f050026 │ │ -01c16e: 6e20 f102 7d00 |02f1: invoke-virtual {v13, v7}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02f1 │ │ -01c174: 0c07 |02f4: move-result-object v7 │ │ -01c176: 1f07 6400 |02f5: check-cast v7, Landroid/widget/CheckBox; // type@0064 │ │ -01c17a: 6907 1301 |02f7: sput-object v7, Ldnsfilter/android/DNSProxyActivity;.enableAdFilterCheck:Landroid/widget/CheckBox; // field@0113 │ │ -01c17e: 6e20 cd00 1700 |02f9: invoke-virtual {v7, v1}, Landroid/widget/CheckBox;.setChecked:(Z)V // method@00cd │ │ -01c184: 6201 1301 |02fc: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.enableAdFilterCheck:Landroid/widget/CheckBox; // field@0113 │ │ -01c188: 6e20 d000 d100 |02fe: invoke-virtual {v1, v13}, Landroid/widget/CheckBox;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@00d0 │ │ -01c18e: 6201 1401 |0301: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.enableAutoStartCheck:Landroid/widget/CheckBox; // field@0114 │ │ -01c192: 3801 0a00 |0303: if-eqz v1, 030d // +000a │ │ -01c196: 6e10 cc00 0100 |0305: invoke-virtual {v1}, Landroid/widget/CheckBox;.isChecked:()Z // method@00cc │ │ -01c19c: 0a01 |0308: move-result v1 │ │ -01c19e: 3801 0400 |0309: if-eqz v1, 030d // +0004 │ │ -01c1a2: 1211 |030b: const/4 v1, #int 1 // #1 │ │ -01c1a4: 2802 |030c: goto 030e // +0002 │ │ -01c1a6: 1201 |030d: const/4 v1, #int 0 // #0 │ │ -01c1a8: 1407 2700 057f |030e: const v7, #float 1.76788e+38 // #7f050027 │ │ -01c1ae: 6e20 f102 7d00 |0311: invoke-virtual {v13, v7}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02f1 │ │ -01c1b4: 0c07 |0314: move-result-object v7 │ │ -01c1b6: 1f07 6400 |0315: check-cast v7, Landroid/widget/CheckBox; // type@0064 │ │ -01c1ba: 6907 1401 |0317: sput-object v7, Ldnsfilter/android/DNSProxyActivity;.enableAutoStartCheck:Landroid/widget/CheckBox; // field@0114 │ │ -01c1be: 6e20 cd00 1700 |0319: invoke-virtual {v7, v1}, Landroid/widget/CheckBox;.setChecked:(Z)V // method@00cd │ │ -01c1c4: 6201 1401 |031c: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.enableAutoStartCheck:Landroid/widget/CheckBox; // field@0114 │ │ -01c1c8: 6e20 d000 d100 |031e: invoke-virtual {v1, v13}, Landroid/widget/CheckBox;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@00d0 │ │ -01c1ce: 6201 0c01 |0321: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.backupRestoreCheck:Landroid/widget/CheckBox; // field@010c │ │ -01c1d2: 3801 0a00 |0323: if-eqz v1, 032d // +000a │ │ -01c1d6: 6e10 cc00 0100 |0325: invoke-virtual {v1}, Landroid/widget/CheckBox;.isChecked:()Z // method@00cc │ │ -01c1dc: 0a01 |0328: move-result v1 │ │ -01c1de: 3801 0400 |0329: if-eqz v1, 032d // +0004 │ │ -01c1e2: 1211 |032b: const/4 v1, #int 1 // #1 │ │ -01c1e4: 2802 |032c: goto 032e // +0002 │ │ -01c1e6: 1201 |032d: const/4 v1, #int 0 // #0 │ │ -01c1e8: 1407 1100 057f |032e: const v7, #float 1.76788e+38 // #7f050011 │ │ -01c1ee: 6e20 f102 7d00 |0331: invoke-virtual {v13, v7}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02f1 │ │ -01c1f4: 0c07 |0334: move-result-object v7 │ │ -01c1f6: 1f07 6400 |0335: check-cast v7, Landroid/widget/CheckBox; // type@0064 │ │ -01c1fa: 6907 0c01 |0337: sput-object v7, Ldnsfilter/android/DNSProxyActivity;.backupRestoreCheck:Landroid/widget/CheckBox; // field@010c │ │ -01c1fe: 6e20 cd00 1700 |0339: invoke-virtual {v7, v1}, Landroid/widget/CheckBox;.setChecked:(Z)V // method@00cd │ │ -01c204: 6201 0c01 |033c: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.backupRestoreCheck:Landroid/widget/CheckBox; // field@010c │ │ -01c208: 6e20 d000 d100 |033e: invoke-virtual {v1, v13}, Landroid/widget/CheckBox;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@00d0 │ │ -01c20e: 6201 0601 |0341: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.appWhiteListCheck:Landroid/widget/CheckBox; // field@0106 │ │ -01c212: 3801 0a00 |0343: if-eqz v1, 034d // +000a │ │ -01c216: 6e10 cc00 0100 |0345: invoke-virtual {v1}, Landroid/widget/CheckBox;.isChecked:()Z // method@00cc │ │ -01c21c: 0a01 |0348: move-result v1 │ │ -01c21e: 3801 0400 |0349: if-eqz v1, 034d // +0004 │ │ -01c222: 1211 |034b: const/4 v1, #int 1 // #1 │ │ -01c224: 2802 |034c: goto 034e // +0002 │ │ -01c226: 1201 |034d: const/4 v1, #int 0 // #0 │ │ -01c228: 1407 0d00 057f |034e: const v7, #float 1.76788e+38 // #7f05000d │ │ -01c22e: 6e20 f102 7d00 |0351: invoke-virtual {v13, v7}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02f1 │ │ -01c234: 0c07 |0354: move-result-object v7 │ │ -01c236: 1f07 6400 |0355: check-cast v7, Landroid/widget/CheckBox; // type@0064 │ │ -01c23a: 6907 0601 |0357: sput-object v7, Ldnsfilter/android/DNSProxyActivity;.appWhiteListCheck:Landroid/widget/CheckBox; // field@0106 │ │ -01c23e: 6e20 cd00 1700 |0359: invoke-virtual {v7, v1}, Landroid/widget/CheckBox;.setChecked:(Z)V // method@00cd │ │ -01c244: 6201 0601 |035c: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.appWhiteListCheck:Landroid/widget/CheckBox; // field@0106 │ │ -01c248: 6e20 d000 d100 |035e: invoke-virtual {v1, v13}, Landroid/widget/CheckBox;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@00d0 │ │ -01c24e: 6201 1c01 |0361: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.keepAwakeCheck:Landroid/widget/CheckBox; // field@011c │ │ -01c252: 3801 0a00 |0363: if-eqz v1, 036d // +000a │ │ -01c256: 6e10 cc00 0100 |0365: invoke-virtual {v1}, Landroid/widget/CheckBox;.isChecked:()Z // method@00cc │ │ -01c25c: 0a01 |0368: move-result v1 │ │ -01c25e: 3801 0400 |0369: if-eqz v1, 036d // +0004 │ │ -01c262: 1211 |036b: const/4 v1, #int 1 // #1 │ │ -01c264: 2802 |036c: goto 036e // +0002 │ │ -01c266: 1201 |036d: const/4 v1, #int 0 // #0 │ │ -01c268: 1407 3700 057f |036e: const v7, #float 1.76788e+38 // #7f050037 │ │ -01c26e: 6e20 f102 7d00 |0371: invoke-virtual {v13, v7}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02f1 │ │ -01c274: 0c07 |0374: move-result-object v7 │ │ -01c276: 1f07 6400 |0375: check-cast v7, Landroid/widget/CheckBox; // type@0064 │ │ -01c27a: 6907 1c01 |0377: sput-object v7, Ldnsfilter/android/DNSProxyActivity;.keepAwakeCheck:Landroid/widget/CheckBox; // field@011c │ │ -01c27e: 6e20 cd00 1700 |0379: invoke-virtual {v7, v1}, Landroid/widget/CheckBox;.setChecked:(Z)V // method@00cd │ │ -01c284: 6201 1c01 |037c: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.keepAwakeCheck:Landroid/widget/CheckBox; // field@011c │ │ -01c288: 6e20 d000 d100 |037e: invoke-virtual {v1, v13}, Landroid/widget/CheckBox;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@00d0 │ │ -01c28e: 6201 2901 |0381: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.proxyModeCheck:Landroid/widget/CheckBox; // field@0129 │ │ -01c292: 3801 0a00 |0383: if-eqz v1, 038d // +000a │ │ -01c296: 6e10 cc00 0100 |0385: invoke-virtual {v1}, Landroid/widget/CheckBox;.isChecked:()Z // method@00cc │ │ -01c29c: 0a01 |0388: move-result v1 │ │ -01c29e: 3801 0400 |0389: if-eqz v1, 038d // +0004 │ │ -01c2a2: 1211 |038b: const/4 v1, #int 1 // #1 │ │ -01c2a4: 2802 |038c: goto 038e // +0002 │ │ -01c2a6: 1201 |038d: const/4 v1, #int 0 // #0 │ │ -01c2a8: 1407 4b00 057f |038e: const v7, #float 1.76789e+38 // #7f05004b │ │ -01c2ae: 6e20 f102 7d00 |0391: invoke-virtual {v13, v7}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02f1 │ │ -01c2b4: 0c07 |0394: move-result-object v7 │ │ -01c2b6: 1f07 6400 |0395: check-cast v7, Landroid/widget/CheckBox; // type@0064 │ │ -01c2ba: 6907 2901 |0397: sput-object v7, Ldnsfilter/android/DNSProxyActivity;.proxyModeCheck:Landroid/widget/CheckBox; // field@0129 │ │ -01c2be: 6e20 cd00 1700 |0399: invoke-virtual {v7, v1}, Landroid/widget/CheckBox;.setChecked:(Z)V // method@00cd │ │ -01c2c4: 6201 2901 |039c: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.proxyModeCheck:Landroid/widget/CheckBox; // field@0129 │ │ -01c2c8: 6e20 d000 d100 |039e: invoke-virtual {v1, v13}, Landroid/widget/CheckBox;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@00d0 │ │ -01c2ce: 6201 2801 |03a1: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.proxyLocalOnlyCheck:Landroid/widget/CheckBox; // field@0128 │ │ -01c2d2: 3801 0a00 |03a3: if-eqz v1, 03ad // +000a │ │ -01c2d6: 6e10 cc00 0100 |03a5: invoke-virtual {v1}, Landroid/widget/CheckBox;.isChecked:()Z // method@00cc │ │ -01c2dc: 0a01 |03a8: move-result v1 │ │ -01c2de: 3801 0400 |03a9: if-eqz v1, 03ad // +0004 │ │ -01c2e2: 1211 |03ab: const/4 v1, #int 1 // #1 │ │ -01c2e4: 2802 |03ac: goto 03ae // +0002 │ │ -01c2e6: 1201 |03ad: const/4 v1, #int 0 // #0 │ │ -01c2e8: 1407 4a00 057f |03ae: const v7, #float 1.76789e+38 // #7f05004a │ │ -01c2ee: 6e20 f102 7d00 |03b1: invoke-virtual {v13, v7}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02f1 │ │ -01c2f4: 0c07 |03b4: move-result-object v7 │ │ -01c2f6: 1f07 6400 |03b5: check-cast v7, Landroid/widget/CheckBox; // type@0064 │ │ -01c2fa: 6907 2801 |03b7: sput-object v7, Ldnsfilter/android/DNSProxyActivity;.proxyLocalOnlyCheck:Landroid/widget/CheckBox; // field@0128 │ │ -01c2fe: 6e20 cd00 1700 |03b9: invoke-virtual {v7, v1}, Landroid/widget/CheckBox;.setChecked:(Z)V // method@00cd │ │ -01c304: 6201 2801 |03bc: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.proxyLocalOnlyCheck:Landroid/widget/CheckBox; // field@0128 │ │ -01c308: 6e20 d000 d100 |03be: invoke-virtual {v1, v13}, Landroid/widget/CheckBox;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@00d0 │ │ -01c30e: 6201 3001 |03c1: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.rootModeCheck:Landroid/widget/CheckBox; // field@0130 │ │ -01c312: 3801 0a00 |03c3: if-eqz v1, 03cd // +000a │ │ -01c316: 6e10 cc00 0100 |03c5: invoke-virtual {v1}, Landroid/widget/CheckBox;.isChecked:()Z // method@00cc │ │ -01c31c: 0a01 |03c8: move-result v1 │ │ -01c31e: 3801 0400 |03c9: if-eqz v1, 03cd // +0004 │ │ -01c322: 1211 |03cb: const/4 v1, #int 1 // #1 │ │ -01c324: 2802 |03cc: goto 03ce // +0002 │ │ -01c326: 1201 |03cd: const/4 v1, #int 0 // #0 │ │ -01c328: 1407 5600 057f |03ce: const v7, #float 1.76789e+38 // #7f050056 │ │ -01c32e: 6e20 f102 7d00 |03d1: invoke-virtual {v13, v7}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02f1 │ │ -01c334: 0c07 |03d4: move-result-object v7 │ │ -01c336: 1f07 6400 |03d5: check-cast v7, Landroid/widget/CheckBox; // type@0064 │ │ -01c33a: 6907 3001 |03d7: sput-object v7, Ldnsfilter/android/DNSProxyActivity;.rootModeCheck:Landroid/widget/CheckBox; // field@0130 │ │ -01c33e: 6e20 cd00 1700 |03d9: invoke-virtual {v7, v1}, Landroid/widget/CheckBox;.setChecked:(Z)V // method@00cd │ │ -01c344: 6201 3001 |03dc: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.rootModeCheck:Landroid/widget/CheckBox; // field@0130 │ │ -01c348: 6e20 d000 d100 |03de: invoke-virtual {v1, v13}, Landroid/widget/CheckBox;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@00d0 │ │ -01c34e: 6201 1501 |03e1: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.enableCloakProtectCheck:Landroid/widget/CheckBox; // field@0115 │ │ -01c352: 3801 0a00 |03e3: if-eqz v1, 03ed // +000a │ │ -01c356: 6e10 cc00 0100 |03e5: invoke-virtual {v1}, Landroid/widget/CheckBox;.isChecked:()Z // method@00cc │ │ -01c35c: 0a01 |03e8: move-result v1 │ │ -01c35e: 3801 0400 |03e9: if-eqz v1, 03ed // +0004 │ │ -01c362: 1211 |03eb: const/4 v1, #int 1 // #1 │ │ -01c364: 2802 |03ec: goto 03ee // +0002 │ │ -01c366: 1201 |03ed: const/4 v1, #int 0 // #0 │ │ -01c368: 1407 1500 057f |03ee: const v7, #float 1.76788e+38 // #7f050015 │ │ -01c36e: 6e20 f102 7d00 |03f1: invoke-virtual {v13, v7}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02f1 │ │ -01c374: 0c07 |03f4: move-result-object v7 │ │ -01c376: 1f07 6400 |03f5: check-cast v7, Landroid/widget/CheckBox; // type@0064 │ │ -01c37a: 6907 1501 |03f7: sput-object v7, Ldnsfilter/android/DNSProxyActivity;.enableCloakProtectCheck:Landroid/widget/CheckBox; // field@0115 │ │ -01c37e: 6e20 cd00 1700 |03f9: invoke-virtual {v7, v1}, Landroid/widget/CheckBox;.setChecked:(Z)V // method@00cd │ │ -01c384: 6201 1501 |03fc: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.enableCloakProtectCheck:Landroid/widget/CheckBox; // field@0115 │ │ -01c388: 6e20 d000 d100 |03fe: invoke-virtual {v1, v13}, Landroid/widget/CheckBox;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@00d0 │ │ -01c38e: 6201 0301 |0401: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.advancedConfigCheck:Landroid/widget/CheckBox; // field@0103 │ │ -01c392: 3801 0a00 |0403: if-eqz v1, 040d // +000a │ │ -01c396: 6e10 cc00 0100 |0405: invoke-virtual {v1}, Landroid/widget/CheckBox;.isChecked:()Z // method@00cc │ │ -01c39c: 0a01 |0408: move-result v1 │ │ -01c39e: 3801 0400 |0409: if-eqz v1, 040d // +0004 │ │ -01c3a2: 1211 |040b: const/4 v1, #int 1 // #1 │ │ -01c3a4: 2802 |040c: goto 040e // +0002 │ │ -01c3a6: 1201 |040d: const/4 v1, #int 0 // #0 │ │ -01c3a8: 1407 0a00 057f |040e: const v7, #float 1.76788e+38 // #7f05000a │ │ -01c3ae: 6e20 f102 7d00 |0411: invoke-virtual {v13, v7}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02f1 │ │ -01c3b4: 0c07 |0414: move-result-object v7 │ │ -01c3b6: 1f07 6400 |0415: check-cast v7, Landroid/widget/CheckBox; // type@0064 │ │ -01c3ba: 6907 0301 |0417: sput-object v7, Ldnsfilter/android/DNSProxyActivity;.advancedConfigCheck:Landroid/widget/CheckBox; // field@0103 │ │ -01c3be: 6e20 cd00 1700 |0419: invoke-virtual {v7, v1}, Landroid/widget/CheckBox;.setChecked:(Z)V // method@00cd │ │ -01c3c4: 6201 0301 |041c: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.advancedConfigCheck:Landroid/widget/CheckBox; // field@0103 │ │ -01c3c8: 6e20 d000 d100 |041e: invoke-virtual {v1, v13}, Landroid/widget/CheckBox;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@00d0 │ │ -01c3ce: 6201 1201 |0421: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.editFilterLoadCheck:Landroid/widget/CheckBox; // field@0112 │ │ -01c3d2: 3801 0a00 |0423: if-eqz v1, 042d // +000a │ │ -01c3d6: 6e10 cc00 0100 |0425: invoke-virtual {v1}, Landroid/widget/CheckBox;.isChecked:()Z // method@00cc │ │ -01c3dc: 0a01 |0428: move-result v1 │ │ -01c3de: 3801 0400 |0429: if-eqz v1, 042d // +0004 │ │ -01c3e2: 1211 |042b: const/4 v1, #int 1 // #1 │ │ -01c3e4: 2802 |042c: goto 042e // +0002 │ │ -01c3e6: 1201 |042d: const/4 v1, #int 0 // #0 │ │ -01c3e8: 1407 2200 057f |042e: const v7, #float 1.76788e+38 // #7f050022 │ │ -01c3ee: 6e20 f102 7d00 |0431: invoke-virtual {v13, v7}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02f1 │ │ -01c3f4: 0c07 |0434: move-result-object v7 │ │ -01c3f6: 1f07 6400 |0435: check-cast v7, Landroid/widget/CheckBox; // type@0064 │ │ -01c3fa: 6907 1201 |0437: sput-object v7, Ldnsfilter/android/DNSProxyActivity;.editFilterLoadCheck:Landroid/widget/CheckBox; // field@0112 │ │ -01c3fe: 6e20 cd00 1700 |0439: invoke-virtual {v7, v1}, Landroid/widget/CheckBox;.setChecked:(Z)V // method@00cd │ │ -01c404: 6201 1201 |043c: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.editFilterLoadCheck:Landroid/widget/CheckBox; // field@0112 │ │ -01c408: 6e20 d000 d100 |043e: invoke-virtual {v1, v13}, Landroid/widget/CheckBox;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@00d0 │ │ -01c40e: 6201 2201 |0441: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.manuallyEditConfChk:Landroid/widget/CheckBox; // field@0122 │ │ -01c412: 3801 0a00 |0443: if-eqz v1, 044d // +000a │ │ -01c416: 6e10 cc00 0100 |0445: invoke-virtual {v1}, Landroid/widget/CheckBox;.isChecked:()Z // method@00cc │ │ -01c41c: 0a01 |0448: move-result v1 │ │ -01c41e: 3801 0400 |0449: if-eqz v1, 044d // +0004 │ │ -01c422: 1211 |044b: const/4 v1, #int 1 // #1 │ │ -01c424: 2802 |044c: goto 044e // +0002 │ │ -01c426: 1201 |044d: const/4 v1, #int 0 // #0 │ │ -01c428: 1407 4300 057f |044e: const v7, #float 1.76789e+38 // #7f050043 │ │ -01c42e: 6e20 f102 7d00 |0451: invoke-virtual {v13, v7}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02f1 │ │ -01c434: 0c07 |0454: move-result-object v7 │ │ -01c436: 1f07 6400 |0455: check-cast v7, Landroid/widget/CheckBox; // type@0064 │ │ -01c43a: 6907 2201 |0457: sput-object v7, Ldnsfilter/android/DNSProxyActivity;.manuallyEditConfChk:Landroid/widget/CheckBox; // field@0122 │ │ -01c43e: 6e20 cd00 1700 |0459: invoke-virtual {v7, v1}, Landroid/widget/CheckBox;.setChecked:(Z)V // method@00cd │ │ -01c444: 6201 2201 |045c: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.manuallyEditConfChk:Landroid/widget/CheckBox; // field@0122 │ │ -01c448: 6e20 d000 d100 |045e: invoke-virtual {v1, v13}, Landroid/widget/CheckBox;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@00d0 │ │ -01c44e: 6201 1101 |0461: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.editAdditionalHostsCheck:Landroid/widget/CheckBox; // field@0111 │ │ -01c452: 3801 0a00 |0463: if-eqz v1, 046d // +000a │ │ -01c456: 6e10 cc00 0100 |0465: invoke-virtual {v1}, Landroid/widget/CheckBox;.isChecked:()Z // method@00cc │ │ -01c45c: 0a01 |0468: move-result v1 │ │ -01c45e: 3801 0400 |0469: if-eqz v1, 046d // +0004 │ │ -01c462: 1211 |046b: const/4 v1, #int 1 // #1 │ │ -01c464: 2802 |046c: goto 046e // +0002 │ │ -01c466: 1201 |046d: const/4 v1, #int 0 // #0 │ │ -01c468: 1407 1d00 057f |046e: const v7, #float 1.76788e+38 // #7f05001d │ │ -01c46e: 6e20 f102 7d00 |0471: invoke-virtual {v13, v7}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02f1 │ │ -01c474: 0c07 |0474: move-result-object v7 │ │ -01c476: 1f07 6400 |0475: check-cast v7, Landroid/widget/CheckBox; // type@0064 │ │ -01c47a: 6907 1101 |0477: sput-object v7, Ldnsfilter/android/DNSProxyActivity;.editAdditionalHostsCheck:Landroid/widget/CheckBox; // field@0111 │ │ -01c47e: 6e20 cd00 1700 |0479: invoke-virtual {v7, v1}, Landroid/widget/CheckBox;.setChecked:(Z)V // method@00cd │ │ -01c484: 6201 1101 |047c: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.editAdditionalHostsCheck:Landroid/widget/CheckBox; // field@0111 │ │ -01c488: 6e20 d000 d100 |047e: invoke-virtual {v1, v13}, Landroid/widget/CheckBox;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@00d0 │ │ -01c48e: 1401 0c00 057f |0481: const v1, #float 1.76788e+38 // #7f05000c │ │ -01c494: 6e20 f102 1d00 |0484: invoke-virtual {v13, v1}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02f1 │ │ -01c49a: 0c01 |0487: move-result-object v1 │ │ -01c49c: 1f01 6e00 |0488: check-cast v1, Landroid/widget/ScrollView; // type@006e │ │ -01c4a0: 6901 0701 |048a: sput-object v1, Ldnsfilter/android/DNSProxyActivity;.appWhiteListScroll:Landroid/widget/ScrollView; // field@0107 │ │ -01c4a4: 6201 0401 |048c: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.appSelector:Ldnsfilter/android/AppSelectorView; // field@0104 │ │ -01c4a8: 3801 0b00 |048e: if-eqz v1, 0499 // +000b │ │ -01c4ac: 6e10 4e02 0100 |0490: invoke-virtual {v1}, Ldnsfilter/android/AppSelectorView;.clear:()V // method@024e │ │ -01c4b2: 6201 0401 |0493: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.appSelector:Ldnsfilter/android/AppSelectorView; // field@0104 │ │ -01c4b6: 6e10 5102 0100 |0495: invoke-virtual {v1}, Ldnsfilter/android/AppSelectorView;.getSelectedAppPackages:()Ljava/lang/String; // method@0251 │ │ -01c4bc: 0c02 |0498: move-result-object v2 │ │ -01c4be: 1401 0b00 057f |0499: const v1, #float 1.76788e+38 // #7f05000b │ │ -01c4c4: 6e20 f102 1d00 |049c: invoke-virtual {v13, v1}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02f1 │ │ -01c4ca: 0c01 |049f: move-result-object v1 │ │ -01c4cc: 1f01 9d00 |04a0: check-cast v1, Ldnsfilter/android/AppSelectorView; // type@009d │ │ -01c4d0: 6901 0401 |04a2: sput-object v1, Ldnsfilter/android/DNSProxyActivity;.appSelector:Ldnsfilter/android/AppSelectorView; // field@0104 │ │ -01c4d4: 6e20 5802 2100 |04a4: invoke-virtual {v1, v2}, Ldnsfilter/android/AppSelectorView;.setSelectedApps:(Ljava/lang/String;)V // method@0258 │ │ -01c4da: 6201 0201 |04a7: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.additionalHostsField:Landroid/widget/EditText; // field@0102 │ │ -01c4de: 3801 0a00 |04a9: if-eqz v1, 04b3 // +000a │ │ -01c4e2: 6e10 da00 0100 |04ab: invoke-virtual {v1}, Landroid/widget/EditText;.getText:()Landroid/text/Editable; // method@00da │ │ -01c4e8: 0c0e |04ae: move-result-object v14 │ │ -01c4ea: 6e10 7a05 0e00 |04af: invoke-virtual {v14}, Ljava/lang/Object;.toString:()Ljava/lang/String; // method@057a │ │ -01c4f0: 0c0e |04b2: move-result-object v14 │ │ -01c4f2: 1401 0800 057f |04b3: const v1, #float 1.76787e+38 // #7f050008 │ │ -01c4f8: 6e20 f102 1d00 |04b6: invoke-virtual {v13, v1}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02f1 │ │ -01c4fe: 0c01 |04b9: move-result-object v1 │ │ -01c500: 1f01 6700 |04ba: check-cast v1, Landroid/widget/EditText; // type@0067 │ │ -01c504: 6901 0201 |04bc: sput-object v1, Ldnsfilter/android/DNSProxyActivity;.additionalHostsField:Landroid/widget/EditText; // field@0102 │ │ -01c508: 6e20 e600 e100 |04be: invoke-virtual {v1, v14}, Landroid/widget/EditText;.setText:(Ljava/lang/CharSequence;)V // method@00e6 │ │ -01c50e: 6201 0201 |04c1: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.additionalHostsField:Landroid/widget/EditText; // field@0102 │ │ -01c512: 6e20 d400 d100 |04c3: invoke-virtual {v1, v13}, Landroid/widget/EditText;.addTextChangedListener:(Landroid/text/TextWatcher;)V // method@00d4 │ │ -01c518: 6201 2301 |04c6: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.manuallyEditField:Landroid/widget/EditText; // field@0123 │ │ -01c51c: 3801 0a00 |04c8: if-eqz v1, 04d2 // +000a │ │ -01c520: 6e10 da00 0100 |04ca: invoke-virtual {v1}, Landroid/widget/EditText;.getText:()Landroid/text/Editable; // method@00da │ │ -01c526: 0c0e |04cd: move-result-object v14 │ │ -01c528: 6e10 7a05 0e00 |04ce: invoke-virtual {v14}, Ljava/lang/Object;.toString:()Ljava/lang/String; // method@057a │ │ -01c52e: 0c0e |04d1: move-result-object v14 │ │ -01c530: 1401 4400 057f |04d2: const v1, #float 1.76789e+38 // #7f050044 │ │ -01c536: 6e20 f102 1d00 |04d5: invoke-virtual {v13, v1}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02f1 │ │ -01c53c: 0c01 |04d8: move-result-object v1 │ │ -01c53e: 1f01 6700 |04d9: check-cast v1, Landroid/widget/EditText; // type@0067 │ │ -01c542: 6901 2301 |04db: sput-object v1, Ldnsfilter/android/DNSProxyActivity;.manuallyEditField:Landroid/widget/EditText; // field@0123 │ │ -01c546: 6e20 e600 e100 |04dd: invoke-virtual {v1, v14}, Landroid/widget/EditText;.setText:(Ljava/lang/CharSequence;)V // method@00e6 │ │ -01c54c: 620e 2301 |04e0: sget-object v14, Ldnsfilter/android/DNSProxyActivity;.manuallyEditField:Landroid/widget/EditText; // field@0123 │ │ -01c550: 6e20 d400 de00 |04e2: invoke-virtual {v14, v13}, Landroid/widget/EditText;.addTextChangedListener:(Landroid/text/TextWatcher;)V // method@00d4 │ │ -01c556: 140e 1900 057f |04e5: const v14, #float 1.76788e+38 // #7f050019 │ │ -01c55c: 6e20 f102 ed00 |04e8: invoke-virtual {v13, v14}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02f1 │ │ -01c562: 0c0e |04eb: move-result-object v14 │ │ -01c564: 1301 0800 |04ec: const/16 v1, #int 8 // #8 │ │ -01c568: 6e20 b400 1e00 |04ee: invoke-virtual {v14, v1}, Landroid/view/View;.setVisibility:(I)V // method@00b4 │ │ -01c56e: 7020 fd02 5d00 |04f1: invoke-direct {v13, v5}, Ldnsfilter/android/DNSProxyActivity;.handleAdvancedConfig:(Landroid/widget/CheckBox;)V // method@02fd │ │ -01c574: 620e 2401 |04f4: sget-object v14, Ldnsfilter/android/DNSProxyActivity;.myLogger:Lutil/SuppressRepeatingsLogger; // field@0124 │ │ -01c578: 380e 1000 |04f6: if-eqz v14, 0506 // +0010 │ │ -01c57c: 620e ed00 |04f8: sget-object v14, Ldnsfilter/android/DNSProxyActivity;.CONFIG:Ldnsfilter/ConfigurationAccess; // field@00ed │ │ -01c580: 6e10 5701 0e00 |04fa: invoke-virtual {v14}, Ldnsfilter/ConfigurationAccess;.isLocal:()Z // method@0157 │ │ -01c586: 0a0e |04fd: move-result v14 │ │ -01c588: 380e 1d00 |04fe: if-eqz v14, 051b // +001d │ │ -01c58c: 620e 2401 |0500: sget-object v14, Ldnsfilter/android/DNSProxyActivity;.myLogger:Lutil/SuppressRepeatingsLogger; // field@0124 │ │ -01c590: 6e20 7d07 de00 |0502: invoke-virtual {v14, v13}, Lutil/SuppressRepeatingsLogger;.setNestedLogger:(Lutil/LoggerInterface;)V // method@077d │ │ -01c596: 2816 |0505: goto 051b // +0016 │ │ -01c598: 220e 8e01 |0506: new-instance v14, Lutil/SuppressRepeatingsLogger; // type@018e │ │ -01c59c: 7020 7407 de00 |0508: invoke-direct {v14, v13}, Lutil/SuppressRepeatingsLogger;.:(Lutil/LoggerInterface;)V // method@0774 │ │ -01c5a2: 690e 2401 |050b: sput-object v14, Ldnsfilter/android/DNSProxyActivity;.myLogger:Lutil/SuppressRepeatingsLogger; // field@0124 │ │ -01c5a6: 220e 8201 |050d: new-instance v14, Lutil/GroupedLogger; // type@0182 │ │ -01c5aa: 2341 b401 |050f: new-array v1, v4, [Lutil/LoggerInterface; // type@01b4 │ │ -01c5ae: 6202 2401 |0511: sget-object v2, Ldnsfilter/android/DNSProxyActivity;.myLogger:Lutil/SuppressRepeatingsLogger; // field@0124 │ │ -01c5b2: 4d02 0106 |0513: aput-object v2, v1, v6 │ │ -01c5b6: 7020 f606 1e00 |0515: invoke-direct {v14, v1}, Lutil/GroupedLogger;.:([Lutil/LoggerInterface;)V // method@06f6 │ │ -01c5bc: 7110 2e07 0e00 |0518: invoke-static {v14}, Lutil/Logger;.setLogger:(Lutil/LoggerInterface;)V // method@072e │ │ -01c5c2: 7100 5301 0000 |051b: invoke-static {}, Ldnsfilter/ConfigurationAccess;.getLocal:()Ldnsfilter/ConfigurationAccess; // method@0153 │ │ -01c5c8: 0c0e |051e: move-result-object v14 │ │ -01c5ca: 6e10 4e01 0e00 |051f: invoke-virtual {v14}, Ldnsfilter/ConfigurationAccess;.getConfigUtil:()Ldnsfilter/ConfigUtil; // method@014e │ │ -01c5d0: 0c0e |0522: move-result-object v14 │ │ -01c5d2: 1a01 1407 |0523: const-string v1, "forceAndroidDisplayMode" // string@0714 │ │ -01c5d6: 1a02 0309 |0525: const-string v2, "none" // string@0903 │ │ -01c5da: 6e30 3a01 1e02 |0527: invoke-virtual {v14, v1, v2}, Ldnsfilter/ConfigUtil;.getConfigValue:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@013a │ │ -01c5e0: 0c0e |052a: move-result-object v14 │ │ -01c5e2: 6e10 a205 0e00 |052b: invoke-virtual {v14}, Ljava/lang/String;.trim:()Ljava/lang/String; // method@05a2 │ │ -01c5e8: 0c0e |052e: move-result-object v14 │ │ -01c5ea: 1a01 7d09 |052f: const-string v1, "portrait" // string@097d │ │ -01c5ee: 6e20 8e05 1e00 |0531: invoke-virtual {v14, v1}, Ljava/lang/String;.equalsIgnoreCase:(Ljava/lang/String;)Z // method@058e │ │ -01c5f4: 0a01 |0534: move-result v1 │ │ -01c5f6: 3801 0600 |0535: if-eqz v1, 053b // +0006 │ │ -01c5fa: 6e20 2f03 4d00 |0537: invoke-virtual {v13, v4}, Ldnsfilter/android/DNSProxyActivity;.setRequestedOrientation:(I)V // method@032f │ │ -01c600: 281c |053a: goto 0556 // +001c │ │ -01c602: 1a01 8d08 |053b: const-string v1, "landscape" // string@088d │ │ -01c606: 6e20 8e05 1e00 |053d: invoke-virtual {v14, v1}, Ljava/lang/String;.equalsIgnoreCase:(Ljava/lang/String;)Z // method@058e │ │ -01c60c: 0a0e |0540: move-result v14 │ │ -01c60e: 380e 0600 |0541: if-eqz v14, 0547 // +0006 │ │ -01c612: 6e20 2f03 6d00 |0543: invoke-virtual {v13, v6}, Ldnsfilter/android/DNSProxyActivity;.setRequestedOrientation:(I)V // method@032f │ │ -01c618: 2810 |0546: goto 0556 // +0010 │ │ -01c61a: 6e10 f802 0d00 |0547: invoke-virtual {v13}, Ldnsfilter/android/DNSProxyActivity;.getResources:()Landroid/content/res/Resources; // method@02f8 │ │ -01c620: 0c0e |054a: move-result-object v14 │ │ -01c622: 1501 027f |054b: const/high16 v1, #int 2130837504 // #7f02 │ │ -01c626: 6e20 5500 1e00 |054d: invoke-virtual {v14, v1}, Landroid/content/res/Resources;.getBoolean:(I)Z // method@0055 │ │ -01c62c: 0a0e |0550: move-result v14 │ │ -01c62e: 380e 0500 |0551: if-eqz v14, 0556 // +0005 │ │ -01c632: 6e20 2f03 4d00 |0553: invoke-virtual {v13, v4}, Ldnsfilter/android/DNSProxyActivity;.setRequestedOrientation:(I)V // method@032f │ │ -01c638: 7100 5301 0000 |0556: invoke-static {}, Ldnsfilter/ConfigurationAccess;.getLocal:()Ldnsfilter/ConfigurationAccess; // method@0153 │ │ -01c63e: 0c0e |0559: move-result-object v14 │ │ -01c640: 6e10 4e01 0e00 |055a: invoke-virtual {v14}, Ldnsfilter/ConfigurationAccess;.getConfigUtil:()Ldnsfilter/ConfigUtil; // method@014e │ │ -01c646: 0c0e |055d: move-result-object v14 │ │ -01c648: 1a01 4d06 |055e: const-string v1, "debug" // string@064d │ │ -01c64c: 1a02 df06 |0560: const-string v2, "false" // string@06df │ │ -01c650: 6e30 3a01 1e02 |0562: invoke-virtual {v14, v1, v2}, Ldnsfilter/ConfigUtil;.getConfigValue:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@013a │ │ -01c656: 0c0e |0565: move-result-object v14 │ │ -01c658: 7110 4d05 0e00 |0566: invoke-static {v14}, Ljava/lang/Boolean;.parseBoolean:(Ljava/lang/String;)Z // method@054d │ │ -01c65e: 0a0e |0569: move-result v14 │ │ -01c660: 6a0e 0f01 |056a: sput-boolean v14, Ldnsfilter/android/DNSProxyActivity;.debug:Z // field@010f │ │ -01c664: 380e 2200 |056c: if-eqz v14, 058e // +0022 │ │ -01c668: 7100 8305 0000 |056e: invoke-static {}, Ljava/lang/Runtime;.getRuntime:()Ljava/lang/Runtime; // method@0583 │ │ -01c66e: 0c0e |0571: move-result-object v14 │ │ -01c670: 2201 2d01 |0572: new-instance v1, Ljava/lang/StringBuilder; // type@012d │ │ -01c674: 7020 aa05 3100 |0574: invoke-direct {v1, v3}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05aa │ │ -01c67a: 7100 d406 0000 |0577: invoke-static {}, Lutil/ExecutionEnvironment;.getEnvironment:()Lutil/ExecutionEnvironmentInterface; // method@06d4 │ │ -01c680: 0c02 |057a: move-result-object v2 │ │ -01c682: 7210 e406 0200 |057b: invoke-interface {v2}, Lutil/ExecutionEnvironmentInterface;.getWorkDir:()Ljava/lang/String; // method@06e4 │ │ -01c688: 0c02 |057e: move-result-object v2 │ │ -01c68a: 6e20 af05 2100 |057f: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -01c690: 1a02 6200 |0582: const-string v2, "/Logcat_file.txt" // string@0062 │ │ -01c694: 6e20 af05 2100 |0584: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -01c69a: 6e10 b105 0100 |0587: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ -01c6a0: 0c01 |058a: move-result-object v1 │ │ -01c6a2: 6e20 8205 1e00 |058b: invoke-virtual {v14, v1}, Ljava/lang/Runtime;.exec:(Ljava/lang/String;)Ljava/lang/Process; // method@0582 │ │ -01c6a8: 630e 0501 |058e: sget-boolean v14, Ldnsfilter/android/DNSProxyActivity;.appStart:Z // field@0105 │ │ -01c6ac: 380e 1a00 |0590: if-eqz v14, 05aa // +001a │ │ -01c6b0: 600e 0200 |0592: sget v14, Landroid/os/Build$VERSION;.SDK_INT:I // field@0002 │ │ -01c6b4: 1301 2100 |0594: const/16 v1, #int 33 // #21 │ │ -01c6b8: 341e 1100 |0596: if-lt v14, v1, 05a7 // +0011 │ │ -01c6bc: 7120 5a02 0d00 |0598: invoke-static {v13, v0}, Ldnsfilter/android/BootUpReceiver$$ExternalSyntheticApiModelOutline0;.m:(Ldnsfilter/android/DNSProxyActivity;Ljava/lang/String;)I // method@025a │ │ -01c6c2: 0a0e |059b: move-result v14 │ │ -01c6c4: 380e 0b00 |059c: if-eqz v14, 05a7 // +000b │ │ -01c6c8: 234e ad01 |059e: new-array v14, v4, [Ljava/lang/String; // type@01ad │ │ -01c6cc: 4d00 0e06 |05a0: aput-object v0, v14, v6 │ │ -01c6d0: 1300 6500 |05a2: const/16 v0, #int 101 // #65 │ │ -01c6d4: 7130 6f02 ed00 |05a4: invoke-static {v13, v14, v0}, Ldnsfilter/android/BootUpReceiver$$ExternalSyntheticApiModelOutline0;.m:(Ldnsfilter/android/DNSProxyActivity;[Ljava/lang/String;I)V // method@026f │ │ -01c6da: 7010 0403 0d00 |05a7: invoke-direct {v13}, Ldnsfilter/android/DNSProxyActivity;.initAppAndStartup:()V // method@0304 │ │ -01c6e0: 0e00 |05aa: return-void │ │ -01c6e2: 0d0e |05ab: move-exception v14 │ │ -01c6e4: 7020 f002 ed00 |05ac: invoke-direct {v13, v14}, Ldnsfilter/android/DNSProxyActivity;.dump:(Ljava/lang/Exception;)V // method@02f0 │ │ -01c6ea: 2200 2901 |05af: new-instance v0, Ljava/lang/RuntimeException; // type@0129 │ │ -01c6ee: 7020 8405 e000 |05b1: invoke-direct {v0, v14}, Ljava/lang/RuntimeException;.:(Ljava/lang/Throwable;)V // method@0584 │ │ -01c6f4: 2700 |05b4: throw v0 │ │ +01bda6: 6e20 af05 7800 |010f: invoke-virtual {v8, v7}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +01bdac: 6e10 b105 0800 |0112: invoke-virtual {v8}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ +01bdb2: 0c07 |0115: move-result-object v7 │ │ +01bdb4: 7020 e302 7d00 |0116: invoke-direct {v13, v7}, Ldnsfilter/android/DNSProxyActivity;.addToLogView:(Ljava/lang/String;)V // method@02e3 │ │ +01bdba: 2207 2d01 |0119: new-instance v7, Ljava/lang/StringBuilder; // type@012d │ │ +01bdbe: 7020 aa05 4700 |011b: invoke-direct {v7, v4}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05aa │ │ +01bdc4: 6e20 af05 e700 |011e: invoke-virtual {v7, v14}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +01bdca: 1a0e 0f00 |0121: const-string v14, " (Connections:" // string@000f │ │ +01bdce: 6e20 af05 e700 |0123: invoke-virtual {v7, v14}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +01bdd4: 6e20 af05 1700 |0126: invoke-virtual {v7, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +01bdda: 1a0e 4800 |0129: const-string v14, ")" // string@0048 │ │ +01bdde: 6e20 af05 e700 |012b: invoke-virtual {v7, v14}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +01bde4: 6e10 b105 0700 |012e: invoke-virtual {v7}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ +01bdea: 0c0e |0131: move-result-object v14 │ │ +01bdec: 6e20 3003 ed00 |0132: invoke-virtual {v13, v14}, Ldnsfilter/android/DNSProxyActivity;.setTitle:(Ljava/lang/CharSequence;)V // method@0330 │ │ +01bdf2: 620e 1601 |0135: sget-object v14, Ldnsfilter/android/DNSProxyActivity;.filterCfg:Ldnsfilter/android/FilterConfig; // field@0116 │ │ +01bdf6: 380e 1200 |0137: if-eqz v14, 0149 // +0012 │ │ +01bdfa: 6e10 3f03 0e00 |0139: invoke-virtual {v14}, Ldnsfilter/android/FilterConfig;.getFilterEntries:()[Ldnsfilter/ConfigUtil$HostFilterList; // method@033f │ │ +01be00: 0c0e |013c: move-result-object v14 │ │ +01be02: 6201 1601 |013d: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.filterCfg:Ldnsfilter/android/FilterConfig; // field@0116 │ │ +01be06: 6e10 3e03 0100 |013f: invoke-virtual {v1}, Ldnsfilter/android/FilterConfig;.getCurrentCategory:()Ljava/lang/String; // method@033e │ │ +01be0c: 0c01 |0142: move-result-object v1 │ │ +01be0e: 6204 1601 |0143: sget-object v4, Ldnsfilter/android/DNSProxyActivity;.filterCfg:Ldnsfilter/android/FilterConfig; // field@0116 │ │ +01be12: 6e10 3c03 0400 |0145: invoke-virtual {v4}, Ldnsfilter/android/FilterConfig;.clear:()V // method@033c │ │ +01be18: 2803 |0148: goto 014b // +0003 │ │ +01be1a: 075e |0149: move-object v14, v5 │ │ +01be1c: 07e1 |014a: move-object v1, v14 │ │ +01be1e: 1404 0100 057f |014b: const v4, #float 1.76787e+38 // #7f050001 │ │ +01be24: 6e20 f102 4d00 |014e: invoke-virtual {v13, v4}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02f1 │ │ +01be2a: 0c04 |0151: move-result-object v4 │ │ +01be2c: 0749 |0152: move-object v9, v4 │ │ +01be2e: 1f09 6300 |0153: check-cast v9, Landroid/widget/Button; // type@0063 │ │ +01be32: 1504 057f |0155: const/high16 v4, #int 2131034112 // #7f05 │ │ +01be36: 6e20 f102 4d00 |0157: invoke-virtual {v13, v4}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02f1 │ │ +01be3c: 0c04 |015a: move-result-object v4 │ │ +01be3e: 074a |015b: move-object v10, v4 │ │ +01be40: 1f0a 6300 |015c: check-cast v10, Landroid/widget/Button; // type@0063 │ │ +01be44: 1404 1400 057f |015e: const v4, #float 1.76788e+38 // #7f050014 │ │ +01be4a: 6e20 f102 4d00 |0161: invoke-virtual {v13, v4}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02f1 │ │ +01be50: 0c04 |0164: move-result-object v4 │ │ +01be52: 074b |0165: move-object v11, v4 │ │ +01be54: 1f0b 7300 |0166: check-cast v11, Landroid/widget/TextView; // type@0073 │ │ +01be58: 1404 5300 057f |0168: const v4, #float 1.76789e+38 // #7f050053 │ │ +01be5e: 6e20 f102 4d00 |016b: invoke-virtual {v13, v4}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02f1 │ │ +01be64: 0c04 |016e: move-result-object v4 │ │ +01be66: 074c |016f: move-object v12, v4 │ │ +01be68: 1f0c 6300 |0170: check-cast v12, Landroid/widget/Button; // type@0063 │ │ +01be6c: 2204 b100 |0172: new-instance v4, Ldnsfilter/android/FilterConfig; // type@00b1 │ │ +01be70: 1407 3000 057f |0174: const v7, #float 1.76788e+38 // #7f050030 │ │ +01be76: 6e20 f102 7d00 |0177: invoke-virtual {v13, v7}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02f1 │ │ +01be7c: 0c07 |017a: move-result-object v7 │ │ +01be7e: 0778 |017b: move-object v8, v7 │ │ +01be80: 1f08 7100 |017c: check-cast v8, Landroid/widget/TableLayout; // type@0071 │ │ +01be84: 0747 |017e: move-object v7, v4 │ │ +01be86: 7606 3903 0700 |017f: 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@0339 │ │ +01be8c: 6904 1601 |0182: sput-object v4, Ldnsfilter/android/DNSProxyActivity;.filterCfg:Ldnsfilter/android/FilterConfig; // field@0116 │ │ +01be90: 380e 0a00 |0184: if-eqz v14, 018e // +000a │ │ +01be94: 6e20 4803 e400 |0186: invoke-virtual {v4, v14}, Ldnsfilter/android/FilterConfig;.setEntries:([Ldnsfilter/ConfigUtil$HostFilterList;)V // method@0348 │ │ +01be9a: 620e 1601 |0189: sget-object v14, Ldnsfilter/android/DNSProxyActivity;.filterCfg:Ldnsfilter/android/FilterConfig; // field@0116 │ │ +01be9e: 6e20 4703 1e00 |018b: invoke-virtual {v14, v1}, Ldnsfilter/android/FilterConfig;.setCurrentCategory:(Ljava/lang/String;)V // method@0347 │ │ +01bea4: 620e 1801 |018e: sget-object v14, Ldnsfilter/android/DNSProxyActivity;.filterReloadIntervalView:Landroid/widget/EditText; // field@0118 │ │ +01bea8: 380e 0b00 |0190: if-eqz v14, 019b // +000b │ │ +01beac: 6e10 da00 0e00 |0192: invoke-virtual {v14}, Landroid/widget/EditText;.getText:()Landroid/text/Editable; // method@00da │ │ +01beb2: 0c0e |0195: move-result-object v14 │ │ +01beb4: 6e10 7a05 0e00 |0196: invoke-virtual {v14}, Ljava/lang/Object;.toString:()Ljava/lang/String; // method@057a │ │ +01beba: 0c0e |0199: move-result-object v14 │ │ +01bebc: 2802 |019a: goto 019c // +0002 │ │ +01bebe: 072e |019b: move-object v14, v2 │ │ +01bec0: 1401 3200 057f |019c: const v1, #float 1.76788e+38 // #7f050032 │ │ +01bec6: 6e20 f102 1d00 |019f: invoke-virtual {v13, v1}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02f1 │ │ +01becc: 0c01 |01a2: move-result-object v1 │ │ +01bece: 1f01 6700 |01a3: check-cast v1, Landroid/widget/EditText; // type@0067 │ │ +01bed2: 6901 1801 |01a5: sput-object v1, Ldnsfilter/android/DNSProxyActivity;.filterReloadIntervalView:Landroid/widget/EditText; // field@0118 │ │ +01bed6: 6e20 e600 e100 |01a7: invoke-virtual {v1, v14}, Landroid/widget/EditText;.setText:(Ljava/lang/CharSequence;)V // method@00e6 │ │ +01bedc: 140e 5c00 057f |01aa: const v14, #float 1.76789e+38 // #7f05005c │ │ +01bee2: 6e20 f102 ed00 |01ad: invoke-virtual {v13, v14}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02f1 │ │ +01bee8: 0c0e |01b0: move-result-object v14 │ │ +01beea: 1f0e 6300 |01b1: check-cast v14, Landroid/widget/Button; // type@0063 │ │ +01beee: 5bde 3601 |01b3: iput-object v14, v13, Ldnsfilter/android/DNSProxyActivity;.startBtn:Landroid/widget/Button; // field@0136 │ │ +01bef2: 6e20 c500 de00 |01b5: invoke-virtual {v14, v13}, Landroid/widget/Button;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@00c5 │ │ +01bef8: 140e 5d00 057f |01b8: const v14, #float 1.76789e+38 // #7f05005d │ │ +01befe: 6e20 f102 ed00 |01bb: invoke-virtual {v13, v14}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02f1 │ │ +01bf04: 0c0e |01be: move-result-object v14 │ │ +01bf06: 1f0e 6300 |01bf: check-cast v14, Landroid/widget/Button; // type@0063 │ │ +01bf0a: 5bde 3701 |01c1: iput-object v14, v13, Ldnsfilter/android/DNSProxyActivity;.stopBtn:Landroid/widget/Button; // field@0137 │ │ +01bf0e: 6e20 c500 de00 |01c3: invoke-virtual {v14, v13}, Landroid/widget/Button;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@00c5 │ │ +01bf14: 140e 2e00 057f |01c6: const v14, #float 1.76788e+38 // #7f05002e │ │ +01bf1a: 6e20 f102 ed00 |01c9: invoke-virtual {v13, v14}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02f1 │ │ +01bf20: 0c0e |01cc: move-result-object v14 │ │ +01bf22: 1f0e 6300 |01cd: check-cast v14, Landroid/widget/Button; // type@0063 │ │ +01bf26: 5bde 2a01 |01cf: iput-object v14, v13, Ldnsfilter/android/DNSProxyActivity;.reloadFilterBtn:Landroid/widget/Button; // field@012a │ │ +01bf2a: 6e20 c500 de00 |01d1: invoke-virtual {v14, v13}, Landroid/widget/Button;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@00c5 │ │ +01bf30: 140e 3300 057f |01d4: const v14, #float 1.76788e+38 // #7f050033 │ │ +01bf36: 6e20 f102 ed00 |01d7: invoke-virtual {v13, v14}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02f1 │ │ +01bf3c: 0c0e |01da: move-result-object v14 │ │ +01bf3e: 1f0e 6300 |01db: check-cast v14, Landroid/widget/Button; // type@0063 │ │ +01bf42: 5bde 1a01 |01dd: iput-object v14, v13, Ldnsfilter/android/DNSProxyActivity;.helpBtn:Landroid/widget/Button; // field@011a │ │ +01bf46: 6e20 c500 de00 |01df: invoke-virtual {v14, v13}, Landroid/widget/Button;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@00c5 │ │ +01bf4c: 140e 4e00 057f |01e2: const v14, #float 1.76789e+38 // #7f05004e │ │ +01bf52: 6e20 f102 ed00 |01e5: invoke-virtual {v13, v14}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02f1 │ │ +01bf58: 0c0e |01e8: move-result-object v14 │ │ +01bf5a: 1f0e 6300 |01e9: check-cast v14, Landroid/widget/Button; // type@0063 │ │ +01bf5e: 5bde 2b01 |01eb: iput-object v14, v13, Ldnsfilter/android/DNSProxyActivity;.remoteCtrlBtn:Landroid/widget/Button; // field@012b │ │ +01bf62: 620e ed00 |01ed: sget-object v14, Ldnsfilter/android/DNSProxyActivity;.CONFIG:Ldnsfilter/ConfigurationAccess; // field@00ed │ │ +01bf66: 6e10 5701 0e00 |01ef: invoke-virtual {v14}, Ldnsfilter/ConfigurationAccess;.isLocal:()Z // method@0157 │ │ +01bf6c: 0a0e |01f2: move-result v14 │ │ +01bf6e: 390e 1300 |01f3: if-nez v14, 0206 // +0013 │ │ +01bf72: 54de 2b01 |01f5: iget-object v14, v13, Ldnsfilter/android/DNSProxyActivity;.remoteCtrlBtn:Landroid/widget/Button; // field@012b │ │ +01bf76: 6e10 f802 0d00 |01f7: invoke-virtual {v13}, Ldnsfilter/android/DNSProxyActivity;.getResources:()Landroid/content/res/Resources; // method@02f8 │ │ +01bf7c: 0c01 |01fa: move-result-object v1 │ │ +01bf7e: 1404 2b00 047f |01fb: const v4, #float 1.75459e+38 // #7f04002b │ │ +01bf84: 6e20 5800 4100 |01fe: invoke-virtual {v1, v4}, Landroid/content/res/Resources;.getDrawable:(I)Landroid/graphics/drawable/Drawable; // method@0058 │ │ +01bf8a: 0c01 |0201: move-result-object v1 │ │ +01bf8c: 6e55 c400 5e15 |0202: 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@00c4 │ │ +01bf92: 2811 |0205: goto 0216 // +0011 │ │ +01bf94: 54de 2b01 |0206: iget-object v14, v13, Ldnsfilter/android/DNSProxyActivity;.remoteCtrlBtn:Landroid/widget/Button; // field@012b │ │ +01bf98: 6e10 f802 0d00 |0208: invoke-virtual {v13}, Ldnsfilter/android/DNSProxyActivity;.getResources:()Landroid/content/res/Resources; // method@02f8 │ │ +01bf9e: 0c01 |020b: move-result-object v1 │ │ +01bfa0: 1404 2c00 047f |020c: const v4, #float 1.75459e+38 // #7f04002c │ │ +01bfa6: 6e20 5800 4100 |020f: invoke-virtual {v1, v4}, Landroid/content/res/Resources;.getDrawable:(I)Landroid/graphics/drawable/Drawable; // method@0058 │ │ +01bfac: 0c01 |0212: move-result-object v1 │ │ +01bfae: 6e55 c400 5e15 |0213: 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@00c4 │ │ +01bfb4: 54de 2b01 |0216: iget-object v14, v13, Ldnsfilter/android/DNSProxyActivity;.remoteCtrlBtn:Landroid/widget/Button; // field@012b │ │ +01bfb8: 6e20 c500 de00 |0218: invoke-virtual {v14, v13}, Landroid/widget/Button;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@00c5 │ │ +01bfbe: 140e 0f00 057f |021b: const v14, #float 1.76788e+38 // #7f05000f │ │ +01bfc4: 6e20 f102 ed00 |021e: invoke-virtual {v13, v14}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02f1 │ │ +01bfca: 0c0e |0221: move-result-object v14 │ │ +01bfcc: 1f0e 6300 |0222: check-cast v14, Landroid/widget/Button; // type@0063 │ │ +01bfd0: 690e 0a01 |0224: sput-object v14, Ldnsfilter/android/DNSProxyActivity;.backupBtn:Landroid/widget/Button; // field@010a │ │ +01bfd4: 6e20 c500 de00 |0226: invoke-virtual {v14, v13}, Landroid/widget/Button;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@00c5 │ │ +01bfda: 140e 0200 057f |0229: const v14, #float 1.76787e+38 // #7f050002 │ │ +01bfe0: 6e20 f102 ed00 |022c: invoke-virtual {v13, v14}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02f1 │ │ +01bfe6: 0c0e |022f: move-result-object v14 │ │ +01bfe8: 1f0e 6300 |0230: check-cast v14, Landroid/widget/Button; // type@0063 │ │ +01bfec: 690e 2e01 |0232: sput-object v14, Ldnsfilter/android/DNSProxyActivity;.restoreBtn:Landroid/widget/Button; // field@012e │ │ +01bff0: 6e20 c500 de00 |0234: invoke-virtual {v14, v13}, Landroid/widget/Button;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@00c5 │ │ +01bff6: 140e 0300 057f |0237: const v14, #float 1.76787e+38 // #7f050003 │ │ +01bffc: 6e20 f102 ed00 |023a: invoke-virtual {v13, v14}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02f1 │ │ +01c002: 0c0e |023d: move-result-object v14 │ │ +01c004: 1f0e 6300 |023e: check-cast v14, Landroid/widget/Button; // type@0063 │ │ +01c008: 690e 2f01 |0240: sput-object v14, Ldnsfilter/android/DNSProxyActivity;.restoreDefaultsBtn:Landroid/widget/Button; // field@012f │ │ +01c00c: 6e20 c500 de00 |0242: invoke-virtual {v14, v13}, Landroid/widget/Button;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@00c5 │ │ +01c012: 140e 0500 057f |0245: const v14, #float 1.76787e+38 // #7f050005 │ │ +01c018: 6e20 f102 ed00 |0248: invoke-virtual {v13, v14}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02f1 │ │ +01c01e: 0c0e |024b: move-result-object v14 │ │ +01c020: 1f0e 7300 |024c: check-cast v14, Landroid/widget/TextView; // type@0073 │ │ +01c024: 690e ff00 |024e: sput-object v14, Ldnsfilter/android/DNSProxyActivity;.addFilterBtn:Landroid/widget/TextView; // field@00ff │ │ +01c028: 6e20 0801 de00 |0250: invoke-virtual {v14, v13}, Landroid/widget/TextView;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@0108 │ │ +01c02e: 140e 5200 057f |0253: const v14, #float 1.76789e+38 // #7f050052 │ │ +01c034: 6e20 f102 ed00 |0256: invoke-virtual {v13, v14}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02f1 │ │ +01c03a: 0c0e |0259: move-result-object v14 │ │ +01c03c: 1f0e 7300 |025a: check-cast v14, Landroid/widget/TextView; // type@0073 │ │ +01c040: 690e 2c01 |025c: sput-object v14, Ldnsfilter/android/DNSProxyActivity;.removeFilterBtn:Landroid/widget/TextView; // field@012c │ │ +01c044: 6e20 0801 de00 |025e: invoke-virtual {v14, v13}, Landroid/widget/TextView;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@0108 │ │ +01c04a: 140e 3b00 057f |0261: const v14, #float 1.76789e+38 // #7f05003b │ │ +01c050: 6e20 f102 ed00 |0264: invoke-virtual {v13, v14}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02f1 │ │ +01c056: 0c0e |0267: move-result-object v14 │ │ +01c058: 1f0e 7300 |0268: check-cast v14, Landroid/widget/TextView; // type@0073 │ │ +01c05c: 690e 1d01 |026a: sput-object v14, Ldnsfilter/android/DNSProxyActivity;.link_field:Landroid/widget/TextView; // field@011d │ │ +01c060: 6201 1f01 |026c: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.link_field_txt:Ljava/lang/String; // field@011f │ │ +01c064: 7110 f302 0100 |026e: invoke-static {v1}, Ldnsfilter/android/DNSProxyActivity;.fromHtml:(Ljava/lang/String;)Landroid/text/Spanned; // method@02f3 │ │ +01c06a: 0c01 |0271: move-result-object v1 │ │ +01c06c: 6e20 0901 1e00 |0272: invoke-virtual {v14, v1}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@0109 │ │ +01c072: 620e 1d01 |0275: sget-object v14, Ldnsfilter/android/DNSProxyActivity;.link_field:Landroid/widget/TextView; // field@011d │ │ +01c076: 7100 9f00 0000 |0277: invoke-static {}, Landroid/text/method/LinkMovementMethod;.getInstance:()Landroid/text/method/MovementMethod; // method@009f │ │ +01c07c: 0c01 |027a: move-result-object v1 │ │ +01c07e: 6e20 0701 1e00 |027b: invoke-virtual {v14, v1}, Landroid/widget/TextView;.setMovementMethod:(Landroid/text/method/MovementMethod;)V // method@0107 │ │ +01c084: 620e 1d01 |027e: sget-object v14, Ldnsfilter/android/DNSProxyActivity;.link_field:Landroid/widget/TextView; // field@011d │ │ +01c088: 6e10 0301 0e00 |0280: invoke-virtual {v14}, Landroid/widget/TextView;.getBackground:()Landroid/graphics/drawable/Drawable; // method@0103 │ │ +01c08e: 0c0e |0283: move-result-object v14 │ │ +01c090: 20e1 2600 |0284: instance-of v1, v14, Landroid/graphics/drawable/ColorDrawable; // type@0026 │ │ +01c094: 3801 0a00 |0286: if-eqz v1, 0290 // +000a │ │ +01c098: 1f0e 2600 |0288: check-cast v14, Landroid/graphics/drawable/ColorDrawable; // type@0026 │ │ +01c09c: 6e10 5e00 0e00 |028a: invoke-virtual {v14}, Landroid/graphics/drawable/ColorDrawable;.getColor:()I // method@005e │ │ +01c0a2: 0a0e |028d: move-result v14 │ │ +01c0a4: 670e 1e01 |028e: sput v14, Ldnsfilter/android/DNSProxyActivity;.link_field_color:I // field@011e │ │ +01c0a8: 140e 5800 057f |0290: const v14, #float 1.76789e+38 // #7f050058 │ │ +01c0ae: 6e20 f102 ed00 |0293: invoke-virtual {v13, v14}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02f1 │ │ +01c0b4: 0c0e |0296: move-result-object v14 │ │ +01c0b6: 1f0e 7300 |0297: check-cast v14, Landroid/widget/TextView; // type@0073 │ │ +01c0ba: 690e 3101 |0299: sput-object v14, Ldnsfilter/android/DNSProxyActivity;.scrollLockField:Landroid/widget/TextView; // field@0131 │ │ +01c0be: 6301 3301 |029b: sget-boolean v1, Ldnsfilter/android/DNSProxyActivity;.scroll_locked:Z // field@0133 │ │ +01c0c2: 3801 0800 |029d: if-eqz v1, 02a5 // +0008 │ │ +01c0c6: 6201 fb00 |029f: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.SCROLL_CONTINUE:Ljava/lang/String; // field@00fb │ │ +01c0ca: 6e20 0901 1e00 |02a1: invoke-virtual {v14, v1}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@0109 │ │ +01c0d0: 2806 |02a4: goto 02aa // +0006 │ │ +01c0d2: 6201 fc00 |02a5: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.SCROLL_PAUSE:Ljava/lang/String; // field@00fc │ │ +01c0d6: 6e20 0901 1e00 |02a7: invoke-virtual {v14, v1}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@0109 │ │ +01c0dc: 620e 3101 |02aa: sget-object v14, Ldnsfilter/android/DNSProxyActivity;.scrollLockField:Landroid/widget/TextView; // field@0131 │ │ +01c0e0: 6e20 0801 de00 |02ac: invoke-virtual {v14, v13}, Landroid/widget/TextView;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@0108 │ │ +01c0e6: 140e 3d00 057f |02af: const v14, #float 1.76789e+38 // #7f05003d │ │ +01c0ec: 6e20 f102 ed00 |02b2: invoke-virtual {v13, v14}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02f1 │ │ +01c0f2: 0c0e |02b5: move-result-object v14 │ │ +01c0f4: 1f0e 6e00 |02b6: check-cast v14, Landroid/widget/ScrollView; // type@006e │ │ +01c0f8: 5bde 3201 |02b8: iput-object v14, v13, Ldnsfilter/android/DNSProxyActivity;.scrollView:Landroid/widget/ScrollView; // field@0132 │ │ +01c0fc: 620e 1001 |02ba: sget-object v14, Ldnsfilter/android/DNSProxyActivity;.dnsField:Landroid/widget/TextView; // field@0110 │ │ +01c100: 380e 0b00 |02bc: if-eqz v14, 02c7 // +000b │ │ +01c104: 6e10 0401 0e00 |02be: invoke-virtual {v14}, Landroid/widget/TextView;.getText:()Ljava/lang/CharSequence; // method@0104 │ │ +01c10a: 0c0e |02c1: move-result-object v14 │ │ +01c10c: 7210 5205 0e00 |02c2: invoke-interface {v14}, Ljava/lang/CharSequence;.toString:()Ljava/lang/String; // method@0552 │ │ +01c112: 0c0e |02c5: move-result-object v14 │ │ +01c114: 2802 |02c6: goto 02c8 // +0002 │ │ +01c116: 072e |02c7: move-object v14, v2 │ │ +01c118: 1401 1c00 057f |02c8: const v1, #float 1.76788e+38 // #7f05001c │ │ +01c11e: 6e20 f102 1d00 |02cb: invoke-virtual {v13, v1}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02f1 │ │ +01c124: 0c01 |02ce: move-result-object v1 │ │ +01c126: 1f01 7300 |02cf: check-cast v1, Landroid/widget/TextView; // type@0073 │ │ +01c12a: 6901 1001 |02d1: sput-object v1, Ldnsfilter/android/DNSProxyActivity;.dnsField:Landroid/widget/TextView; // field@0110 │ │ +01c12e: 6e20 0901 e100 |02d3: invoke-virtual {v1, v14}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@0109 │ │ +01c134: 6201 1001 |02d6: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.dnsField:Landroid/widget/TextView; // field@0110 │ │ +01c138: 1214 |02d8: const/4 v4, #int 1 // #1 │ │ +01c13a: 6e20 0601 4100 |02d9: invoke-virtual {v1, v4}, Landroid/widget/TextView;.setEnabled:(Z)V // method@0106 │ │ +01c140: 6201 1001 |02dc: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.dnsField:Landroid/widget/TextView; // field@0110 │ │ +01c144: 6e20 0801 d100 |02de: invoke-virtual {v1, v13}, Landroid/widget/TextView;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@0108 │ │ +01c14a: 6201 1301 |02e1: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.enableAdFilterCheck:Landroid/widget/CheckBox; // field@0113 │ │ +01c14e: 3801 0a00 |02e3: if-eqz v1, 02ed // +000a │ │ +01c152: 6e10 cc00 0100 |02e5: invoke-virtual {v1}, Landroid/widget/CheckBox;.isChecked:()Z // method@00cc │ │ +01c158: 0a01 |02e8: move-result v1 │ │ +01c15a: 3801 0400 |02e9: if-eqz v1, 02ed // +0004 │ │ +01c15e: 1211 |02eb: const/4 v1, #int 1 // #1 │ │ +01c160: 2802 |02ec: goto 02ee // +0002 │ │ +01c162: 1201 |02ed: const/4 v1, #int 0 // #0 │ │ +01c164: 1407 2600 057f |02ee: const v7, #float 1.76788e+38 // #7f050026 │ │ +01c16a: 6e20 f102 7d00 |02f1: invoke-virtual {v13, v7}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02f1 │ │ +01c170: 0c07 |02f4: move-result-object v7 │ │ +01c172: 1f07 6400 |02f5: check-cast v7, Landroid/widget/CheckBox; // type@0064 │ │ +01c176: 6907 1301 |02f7: sput-object v7, Ldnsfilter/android/DNSProxyActivity;.enableAdFilterCheck:Landroid/widget/CheckBox; // field@0113 │ │ +01c17a: 6e20 cd00 1700 |02f9: invoke-virtual {v7, v1}, Landroid/widget/CheckBox;.setChecked:(Z)V // method@00cd │ │ +01c180: 6201 1301 |02fc: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.enableAdFilterCheck:Landroid/widget/CheckBox; // field@0113 │ │ +01c184: 6e20 d000 d100 |02fe: invoke-virtual {v1, v13}, Landroid/widget/CheckBox;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@00d0 │ │ +01c18a: 6201 1401 |0301: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.enableAutoStartCheck:Landroid/widget/CheckBox; // field@0114 │ │ +01c18e: 3801 0a00 |0303: if-eqz v1, 030d // +000a │ │ +01c192: 6e10 cc00 0100 |0305: invoke-virtual {v1}, Landroid/widget/CheckBox;.isChecked:()Z // method@00cc │ │ +01c198: 0a01 |0308: move-result v1 │ │ +01c19a: 3801 0400 |0309: if-eqz v1, 030d // +0004 │ │ +01c19e: 1211 |030b: const/4 v1, #int 1 // #1 │ │ +01c1a0: 2802 |030c: goto 030e // +0002 │ │ +01c1a2: 1201 |030d: const/4 v1, #int 0 // #0 │ │ +01c1a4: 1407 2700 057f |030e: const v7, #float 1.76788e+38 // #7f050027 │ │ +01c1aa: 6e20 f102 7d00 |0311: invoke-virtual {v13, v7}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02f1 │ │ +01c1b0: 0c07 |0314: move-result-object v7 │ │ +01c1b2: 1f07 6400 |0315: check-cast v7, Landroid/widget/CheckBox; // type@0064 │ │ +01c1b6: 6907 1401 |0317: sput-object v7, Ldnsfilter/android/DNSProxyActivity;.enableAutoStartCheck:Landroid/widget/CheckBox; // field@0114 │ │ +01c1ba: 6e20 cd00 1700 |0319: invoke-virtual {v7, v1}, Landroid/widget/CheckBox;.setChecked:(Z)V // method@00cd │ │ +01c1c0: 6201 1401 |031c: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.enableAutoStartCheck:Landroid/widget/CheckBox; // field@0114 │ │ +01c1c4: 6e20 d000 d100 |031e: invoke-virtual {v1, v13}, Landroid/widget/CheckBox;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@00d0 │ │ +01c1ca: 6201 0c01 |0321: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.backupRestoreCheck:Landroid/widget/CheckBox; // field@010c │ │ +01c1ce: 3801 0a00 |0323: if-eqz v1, 032d // +000a │ │ +01c1d2: 6e10 cc00 0100 |0325: invoke-virtual {v1}, Landroid/widget/CheckBox;.isChecked:()Z // method@00cc │ │ +01c1d8: 0a01 |0328: move-result v1 │ │ +01c1da: 3801 0400 |0329: if-eqz v1, 032d // +0004 │ │ +01c1de: 1211 |032b: const/4 v1, #int 1 // #1 │ │ +01c1e0: 2802 |032c: goto 032e // +0002 │ │ +01c1e2: 1201 |032d: const/4 v1, #int 0 // #0 │ │ +01c1e4: 1407 1100 057f |032e: const v7, #float 1.76788e+38 // #7f050011 │ │ +01c1ea: 6e20 f102 7d00 |0331: invoke-virtual {v13, v7}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02f1 │ │ +01c1f0: 0c07 |0334: move-result-object v7 │ │ +01c1f2: 1f07 6400 |0335: check-cast v7, Landroid/widget/CheckBox; // type@0064 │ │ +01c1f6: 6907 0c01 |0337: sput-object v7, Ldnsfilter/android/DNSProxyActivity;.backupRestoreCheck:Landroid/widget/CheckBox; // field@010c │ │ +01c1fa: 6e20 cd00 1700 |0339: invoke-virtual {v7, v1}, Landroid/widget/CheckBox;.setChecked:(Z)V // method@00cd │ │ +01c200: 6201 0c01 |033c: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.backupRestoreCheck:Landroid/widget/CheckBox; // field@010c │ │ +01c204: 6e20 d000 d100 |033e: invoke-virtual {v1, v13}, Landroid/widget/CheckBox;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@00d0 │ │ +01c20a: 6201 0601 |0341: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.appWhiteListCheck:Landroid/widget/CheckBox; // field@0106 │ │ +01c20e: 3801 0a00 |0343: if-eqz v1, 034d // +000a │ │ +01c212: 6e10 cc00 0100 |0345: invoke-virtual {v1}, Landroid/widget/CheckBox;.isChecked:()Z // method@00cc │ │ +01c218: 0a01 |0348: move-result v1 │ │ +01c21a: 3801 0400 |0349: if-eqz v1, 034d // +0004 │ │ +01c21e: 1211 |034b: const/4 v1, #int 1 // #1 │ │ +01c220: 2802 |034c: goto 034e // +0002 │ │ +01c222: 1201 |034d: const/4 v1, #int 0 // #0 │ │ +01c224: 1407 0d00 057f |034e: const v7, #float 1.76788e+38 // #7f05000d │ │ +01c22a: 6e20 f102 7d00 |0351: invoke-virtual {v13, v7}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02f1 │ │ +01c230: 0c07 |0354: move-result-object v7 │ │ +01c232: 1f07 6400 |0355: check-cast v7, Landroid/widget/CheckBox; // type@0064 │ │ +01c236: 6907 0601 |0357: sput-object v7, Ldnsfilter/android/DNSProxyActivity;.appWhiteListCheck:Landroid/widget/CheckBox; // field@0106 │ │ +01c23a: 6e20 cd00 1700 |0359: invoke-virtual {v7, v1}, Landroid/widget/CheckBox;.setChecked:(Z)V // method@00cd │ │ +01c240: 6201 0601 |035c: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.appWhiteListCheck:Landroid/widget/CheckBox; // field@0106 │ │ +01c244: 6e20 d000 d100 |035e: invoke-virtual {v1, v13}, Landroid/widget/CheckBox;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@00d0 │ │ +01c24a: 6201 1c01 |0361: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.keepAwakeCheck:Landroid/widget/CheckBox; // field@011c │ │ +01c24e: 3801 0a00 |0363: if-eqz v1, 036d // +000a │ │ +01c252: 6e10 cc00 0100 |0365: invoke-virtual {v1}, Landroid/widget/CheckBox;.isChecked:()Z // method@00cc │ │ +01c258: 0a01 |0368: move-result v1 │ │ +01c25a: 3801 0400 |0369: if-eqz v1, 036d // +0004 │ │ +01c25e: 1211 |036b: const/4 v1, #int 1 // #1 │ │ +01c260: 2802 |036c: goto 036e // +0002 │ │ +01c262: 1201 |036d: const/4 v1, #int 0 // #0 │ │ +01c264: 1407 3700 057f |036e: const v7, #float 1.76788e+38 // #7f050037 │ │ +01c26a: 6e20 f102 7d00 |0371: invoke-virtual {v13, v7}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02f1 │ │ +01c270: 0c07 |0374: move-result-object v7 │ │ +01c272: 1f07 6400 |0375: check-cast v7, Landroid/widget/CheckBox; // type@0064 │ │ +01c276: 6907 1c01 |0377: sput-object v7, Ldnsfilter/android/DNSProxyActivity;.keepAwakeCheck:Landroid/widget/CheckBox; // field@011c │ │ +01c27a: 6e20 cd00 1700 |0379: invoke-virtual {v7, v1}, Landroid/widget/CheckBox;.setChecked:(Z)V // method@00cd │ │ +01c280: 6201 1c01 |037c: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.keepAwakeCheck:Landroid/widget/CheckBox; // field@011c │ │ +01c284: 6e20 d000 d100 |037e: invoke-virtual {v1, v13}, Landroid/widget/CheckBox;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@00d0 │ │ +01c28a: 6201 2901 |0381: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.proxyModeCheck:Landroid/widget/CheckBox; // field@0129 │ │ +01c28e: 3801 0a00 |0383: if-eqz v1, 038d // +000a │ │ +01c292: 6e10 cc00 0100 |0385: invoke-virtual {v1}, Landroid/widget/CheckBox;.isChecked:()Z // method@00cc │ │ +01c298: 0a01 |0388: move-result v1 │ │ +01c29a: 3801 0400 |0389: if-eqz v1, 038d // +0004 │ │ +01c29e: 1211 |038b: const/4 v1, #int 1 // #1 │ │ +01c2a0: 2802 |038c: goto 038e // +0002 │ │ +01c2a2: 1201 |038d: const/4 v1, #int 0 // #0 │ │ +01c2a4: 1407 4b00 057f |038e: const v7, #float 1.76789e+38 // #7f05004b │ │ +01c2aa: 6e20 f102 7d00 |0391: invoke-virtual {v13, v7}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02f1 │ │ +01c2b0: 0c07 |0394: move-result-object v7 │ │ +01c2b2: 1f07 6400 |0395: check-cast v7, Landroid/widget/CheckBox; // type@0064 │ │ +01c2b6: 6907 2901 |0397: sput-object v7, Ldnsfilter/android/DNSProxyActivity;.proxyModeCheck:Landroid/widget/CheckBox; // field@0129 │ │ +01c2ba: 6e20 cd00 1700 |0399: invoke-virtual {v7, v1}, Landroid/widget/CheckBox;.setChecked:(Z)V // method@00cd │ │ +01c2c0: 6201 2901 |039c: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.proxyModeCheck:Landroid/widget/CheckBox; // field@0129 │ │ +01c2c4: 6e20 d000 d100 |039e: invoke-virtual {v1, v13}, Landroid/widget/CheckBox;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@00d0 │ │ +01c2ca: 6201 2801 |03a1: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.proxyLocalOnlyCheck:Landroid/widget/CheckBox; // field@0128 │ │ +01c2ce: 3801 0a00 |03a3: if-eqz v1, 03ad // +000a │ │ +01c2d2: 6e10 cc00 0100 |03a5: invoke-virtual {v1}, Landroid/widget/CheckBox;.isChecked:()Z // method@00cc │ │ +01c2d8: 0a01 |03a8: move-result v1 │ │ +01c2da: 3801 0400 |03a9: if-eqz v1, 03ad // +0004 │ │ +01c2de: 1211 |03ab: const/4 v1, #int 1 // #1 │ │ +01c2e0: 2802 |03ac: goto 03ae // +0002 │ │ +01c2e2: 1201 |03ad: const/4 v1, #int 0 // #0 │ │ +01c2e4: 1407 4a00 057f |03ae: const v7, #float 1.76789e+38 // #7f05004a │ │ +01c2ea: 6e20 f102 7d00 |03b1: invoke-virtual {v13, v7}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02f1 │ │ +01c2f0: 0c07 |03b4: move-result-object v7 │ │ +01c2f2: 1f07 6400 |03b5: check-cast v7, Landroid/widget/CheckBox; // type@0064 │ │ +01c2f6: 6907 2801 |03b7: sput-object v7, Ldnsfilter/android/DNSProxyActivity;.proxyLocalOnlyCheck:Landroid/widget/CheckBox; // field@0128 │ │ +01c2fa: 6e20 cd00 1700 |03b9: invoke-virtual {v7, v1}, Landroid/widget/CheckBox;.setChecked:(Z)V // method@00cd │ │ +01c300: 6201 2801 |03bc: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.proxyLocalOnlyCheck:Landroid/widget/CheckBox; // field@0128 │ │ +01c304: 6e20 d000 d100 |03be: invoke-virtual {v1, v13}, Landroid/widget/CheckBox;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@00d0 │ │ +01c30a: 6201 3001 |03c1: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.rootModeCheck:Landroid/widget/CheckBox; // field@0130 │ │ +01c30e: 3801 0a00 |03c3: if-eqz v1, 03cd // +000a │ │ +01c312: 6e10 cc00 0100 |03c5: invoke-virtual {v1}, Landroid/widget/CheckBox;.isChecked:()Z // method@00cc │ │ +01c318: 0a01 |03c8: move-result v1 │ │ +01c31a: 3801 0400 |03c9: if-eqz v1, 03cd // +0004 │ │ +01c31e: 1211 |03cb: const/4 v1, #int 1 // #1 │ │ +01c320: 2802 |03cc: goto 03ce // +0002 │ │ +01c322: 1201 |03cd: const/4 v1, #int 0 // #0 │ │ +01c324: 1407 5600 057f |03ce: const v7, #float 1.76789e+38 // #7f050056 │ │ +01c32a: 6e20 f102 7d00 |03d1: invoke-virtual {v13, v7}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02f1 │ │ +01c330: 0c07 |03d4: move-result-object v7 │ │ +01c332: 1f07 6400 |03d5: check-cast v7, Landroid/widget/CheckBox; // type@0064 │ │ +01c336: 6907 3001 |03d7: sput-object v7, Ldnsfilter/android/DNSProxyActivity;.rootModeCheck:Landroid/widget/CheckBox; // field@0130 │ │ +01c33a: 6e20 cd00 1700 |03d9: invoke-virtual {v7, v1}, Landroid/widget/CheckBox;.setChecked:(Z)V // method@00cd │ │ +01c340: 6201 3001 |03dc: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.rootModeCheck:Landroid/widget/CheckBox; // field@0130 │ │ +01c344: 6e20 d000 d100 |03de: invoke-virtual {v1, v13}, Landroid/widget/CheckBox;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@00d0 │ │ +01c34a: 6201 1501 |03e1: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.enableCloakProtectCheck:Landroid/widget/CheckBox; // field@0115 │ │ +01c34e: 3801 0a00 |03e3: if-eqz v1, 03ed // +000a │ │ +01c352: 6e10 cc00 0100 |03e5: invoke-virtual {v1}, Landroid/widget/CheckBox;.isChecked:()Z // method@00cc │ │ +01c358: 0a01 |03e8: move-result v1 │ │ +01c35a: 3801 0400 |03e9: if-eqz v1, 03ed // +0004 │ │ +01c35e: 1211 |03eb: const/4 v1, #int 1 // #1 │ │ +01c360: 2802 |03ec: goto 03ee // +0002 │ │ +01c362: 1201 |03ed: const/4 v1, #int 0 // #0 │ │ +01c364: 1407 1500 057f |03ee: const v7, #float 1.76788e+38 // #7f050015 │ │ +01c36a: 6e20 f102 7d00 |03f1: invoke-virtual {v13, v7}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02f1 │ │ +01c370: 0c07 |03f4: move-result-object v7 │ │ +01c372: 1f07 6400 |03f5: check-cast v7, Landroid/widget/CheckBox; // type@0064 │ │ +01c376: 6907 1501 |03f7: sput-object v7, Ldnsfilter/android/DNSProxyActivity;.enableCloakProtectCheck:Landroid/widget/CheckBox; // field@0115 │ │ +01c37a: 6e20 cd00 1700 |03f9: invoke-virtual {v7, v1}, Landroid/widget/CheckBox;.setChecked:(Z)V // method@00cd │ │ +01c380: 6201 1501 |03fc: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.enableCloakProtectCheck:Landroid/widget/CheckBox; // field@0115 │ │ +01c384: 6e20 d000 d100 |03fe: invoke-virtual {v1, v13}, Landroid/widget/CheckBox;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@00d0 │ │ +01c38a: 6201 0301 |0401: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.advancedConfigCheck:Landroid/widget/CheckBox; // field@0103 │ │ +01c38e: 3801 0a00 |0403: if-eqz v1, 040d // +000a │ │ +01c392: 6e10 cc00 0100 |0405: invoke-virtual {v1}, Landroid/widget/CheckBox;.isChecked:()Z // method@00cc │ │ +01c398: 0a01 |0408: move-result v1 │ │ +01c39a: 3801 0400 |0409: if-eqz v1, 040d // +0004 │ │ +01c39e: 1211 |040b: const/4 v1, #int 1 // #1 │ │ +01c3a0: 2802 |040c: goto 040e // +0002 │ │ +01c3a2: 1201 |040d: const/4 v1, #int 0 // #0 │ │ +01c3a4: 1407 0a00 057f |040e: const v7, #float 1.76788e+38 // #7f05000a │ │ +01c3aa: 6e20 f102 7d00 |0411: invoke-virtual {v13, v7}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02f1 │ │ +01c3b0: 0c07 |0414: move-result-object v7 │ │ +01c3b2: 1f07 6400 |0415: check-cast v7, Landroid/widget/CheckBox; // type@0064 │ │ +01c3b6: 6907 0301 |0417: sput-object v7, Ldnsfilter/android/DNSProxyActivity;.advancedConfigCheck:Landroid/widget/CheckBox; // field@0103 │ │ +01c3ba: 6e20 cd00 1700 |0419: invoke-virtual {v7, v1}, Landroid/widget/CheckBox;.setChecked:(Z)V // method@00cd │ │ +01c3c0: 6201 0301 |041c: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.advancedConfigCheck:Landroid/widget/CheckBox; // field@0103 │ │ +01c3c4: 6e20 d000 d100 |041e: invoke-virtual {v1, v13}, Landroid/widget/CheckBox;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@00d0 │ │ +01c3ca: 6201 1201 |0421: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.editFilterLoadCheck:Landroid/widget/CheckBox; // field@0112 │ │ +01c3ce: 3801 0a00 |0423: if-eqz v1, 042d // +000a │ │ +01c3d2: 6e10 cc00 0100 |0425: invoke-virtual {v1}, Landroid/widget/CheckBox;.isChecked:()Z // method@00cc │ │ +01c3d8: 0a01 |0428: move-result v1 │ │ +01c3da: 3801 0400 |0429: if-eqz v1, 042d // +0004 │ │ +01c3de: 1211 |042b: const/4 v1, #int 1 // #1 │ │ +01c3e0: 2802 |042c: goto 042e // +0002 │ │ +01c3e2: 1201 |042d: const/4 v1, #int 0 // #0 │ │ +01c3e4: 1407 2200 057f |042e: const v7, #float 1.76788e+38 // #7f050022 │ │ +01c3ea: 6e20 f102 7d00 |0431: invoke-virtual {v13, v7}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02f1 │ │ +01c3f0: 0c07 |0434: move-result-object v7 │ │ +01c3f2: 1f07 6400 |0435: check-cast v7, Landroid/widget/CheckBox; // type@0064 │ │ +01c3f6: 6907 1201 |0437: sput-object v7, Ldnsfilter/android/DNSProxyActivity;.editFilterLoadCheck:Landroid/widget/CheckBox; // field@0112 │ │ +01c3fa: 6e20 cd00 1700 |0439: invoke-virtual {v7, v1}, Landroid/widget/CheckBox;.setChecked:(Z)V // method@00cd │ │ +01c400: 6201 1201 |043c: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.editFilterLoadCheck:Landroid/widget/CheckBox; // field@0112 │ │ +01c404: 6e20 d000 d100 |043e: invoke-virtual {v1, v13}, Landroid/widget/CheckBox;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@00d0 │ │ +01c40a: 6201 2201 |0441: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.manuallyEditConfChk:Landroid/widget/CheckBox; // field@0122 │ │ +01c40e: 3801 0a00 |0443: if-eqz v1, 044d // +000a │ │ +01c412: 6e10 cc00 0100 |0445: invoke-virtual {v1}, Landroid/widget/CheckBox;.isChecked:()Z // method@00cc │ │ +01c418: 0a01 |0448: move-result v1 │ │ +01c41a: 3801 0400 |0449: if-eqz v1, 044d // +0004 │ │ +01c41e: 1211 |044b: const/4 v1, #int 1 // #1 │ │ +01c420: 2802 |044c: goto 044e // +0002 │ │ +01c422: 1201 |044d: const/4 v1, #int 0 // #0 │ │ +01c424: 1407 4300 057f |044e: const v7, #float 1.76789e+38 // #7f050043 │ │ +01c42a: 6e20 f102 7d00 |0451: invoke-virtual {v13, v7}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02f1 │ │ +01c430: 0c07 |0454: move-result-object v7 │ │ +01c432: 1f07 6400 |0455: check-cast v7, Landroid/widget/CheckBox; // type@0064 │ │ +01c436: 6907 2201 |0457: sput-object v7, Ldnsfilter/android/DNSProxyActivity;.manuallyEditConfChk:Landroid/widget/CheckBox; // field@0122 │ │ +01c43a: 6e20 cd00 1700 |0459: invoke-virtual {v7, v1}, Landroid/widget/CheckBox;.setChecked:(Z)V // method@00cd │ │ +01c440: 6201 2201 |045c: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.manuallyEditConfChk:Landroid/widget/CheckBox; // field@0122 │ │ +01c444: 6e20 d000 d100 |045e: invoke-virtual {v1, v13}, Landroid/widget/CheckBox;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@00d0 │ │ +01c44a: 6201 1101 |0461: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.editAdditionalHostsCheck:Landroid/widget/CheckBox; // field@0111 │ │ +01c44e: 3801 0a00 |0463: if-eqz v1, 046d // +000a │ │ +01c452: 6e10 cc00 0100 |0465: invoke-virtual {v1}, Landroid/widget/CheckBox;.isChecked:()Z // method@00cc │ │ +01c458: 0a01 |0468: move-result v1 │ │ +01c45a: 3801 0400 |0469: if-eqz v1, 046d // +0004 │ │ +01c45e: 1211 |046b: const/4 v1, #int 1 // #1 │ │ +01c460: 2802 |046c: goto 046e // +0002 │ │ +01c462: 1201 |046d: const/4 v1, #int 0 // #0 │ │ +01c464: 1407 1d00 057f |046e: const v7, #float 1.76788e+38 // #7f05001d │ │ +01c46a: 6e20 f102 7d00 |0471: invoke-virtual {v13, v7}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02f1 │ │ +01c470: 0c07 |0474: move-result-object v7 │ │ +01c472: 1f07 6400 |0475: check-cast v7, Landroid/widget/CheckBox; // type@0064 │ │ +01c476: 6907 1101 |0477: sput-object v7, Ldnsfilter/android/DNSProxyActivity;.editAdditionalHostsCheck:Landroid/widget/CheckBox; // field@0111 │ │ +01c47a: 6e20 cd00 1700 |0479: invoke-virtual {v7, v1}, Landroid/widget/CheckBox;.setChecked:(Z)V // method@00cd │ │ +01c480: 6201 1101 |047c: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.editAdditionalHostsCheck:Landroid/widget/CheckBox; // field@0111 │ │ +01c484: 6e20 d000 d100 |047e: invoke-virtual {v1, v13}, Landroid/widget/CheckBox;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@00d0 │ │ +01c48a: 1401 0c00 057f |0481: const v1, #float 1.76788e+38 // #7f05000c │ │ +01c490: 6e20 f102 1d00 |0484: invoke-virtual {v13, v1}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02f1 │ │ +01c496: 0c01 |0487: move-result-object v1 │ │ +01c498: 1f01 6e00 |0488: check-cast v1, Landroid/widget/ScrollView; // type@006e │ │ +01c49c: 6901 0701 |048a: sput-object v1, Ldnsfilter/android/DNSProxyActivity;.appWhiteListScroll:Landroid/widget/ScrollView; // field@0107 │ │ +01c4a0: 6201 0401 |048c: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.appSelector:Ldnsfilter/android/AppSelectorView; // field@0104 │ │ +01c4a4: 3801 0b00 |048e: if-eqz v1, 0499 // +000b │ │ +01c4a8: 6e10 4e02 0100 |0490: invoke-virtual {v1}, Ldnsfilter/android/AppSelectorView;.clear:()V // method@024e │ │ +01c4ae: 6201 0401 |0493: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.appSelector:Ldnsfilter/android/AppSelectorView; // field@0104 │ │ +01c4b2: 6e10 5102 0100 |0495: invoke-virtual {v1}, Ldnsfilter/android/AppSelectorView;.getSelectedAppPackages:()Ljava/lang/String; // method@0251 │ │ +01c4b8: 0c02 |0498: move-result-object v2 │ │ +01c4ba: 1401 0b00 057f |0499: const v1, #float 1.76788e+38 // #7f05000b │ │ +01c4c0: 6e20 f102 1d00 |049c: invoke-virtual {v13, v1}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02f1 │ │ +01c4c6: 0c01 |049f: move-result-object v1 │ │ +01c4c8: 1f01 9d00 |04a0: check-cast v1, Ldnsfilter/android/AppSelectorView; // type@009d │ │ +01c4cc: 6901 0401 |04a2: sput-object v1, Ldnsfilter/android/DNSProxyActivity;.appSelector:Ldnsfilter/android/AppSelectorView; // field@0104 │ │ +01c4d0: 6e20 5802 2100 |04a4: invoke-virtual {v1, v2}, Ldnsfilter/android/AppSelectorView;.setSelectedApps:(Ljava/lang/String;)V // method@0258 │ │ +01c4d6: 6201 0201 |04a7: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.additionalHostsField:Landroid/widget/EditText; // field@0102 │ │ +01c4da: 3801 0a00 |04a9: if-eqz v1, 04b3 // +000a │ │ +01c4de: 6e10 da00 0100 |04ab: invoke-virtual {v1}, Landroid/widget/EditText;.getText:()Landroid/text/Editable; // method@00da │ │ +01c4e4: 0c0e |04ae: move-result-object v14 │ │ +01c4e6: 6e10 7a05 0e00 |04af: invoke-virtual {v14}, Ljava/lang/Object;.toString:()Ljava/lang/String; // method@057a │ │ +01c4ec: 0c0e |04b2: move-result-object v14 │ │ +01c4ee: 1401 0800 057f |04b3: const v1, #float 1.76787e+38 // #7f050008 │ │ +01c4f4: 6e20 f102 1d00 |04b6: invoke-virtual {v13, v1}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02f1 │ │ +01c4fa: 0c01 |04b9: move-result-object v1 │ │ +01c4fc: 1f01 6700 |04ba: check-cast v1, Landroid/widget/EditText; // type@0067 │ │ +01c500: 6901 0201 |04bc: sput-object v1, Ldnsfilter/android/DNSProxyActivity;.additionalHostsField:Landroid/widget/EditText; // field@0102 │ │ +01c504: 6e20 e600 e100 |04be: invoke-virtual {v1, v14}, Landroid/widget/EditText;.setText:(Ljava/lang/CharSequence;)V // method@00e6 │ │ +01c50a: 6201 0201 |04c1: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.additionalHostsField:Landroid/widget/EditText; // field@0102 │ │ +01c50e: 6e20 d400 d100 |04c3: invoke-virtual {v1, v13}, Landroid/widget/EditText;.addTextChangedListener:(Landroid/text/TextWatcher;)V // method@00d4 │ │ +01c514: 6201 2301 |04c6: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.manuallyEditField:Landroid/widget/EditText; // field@0123 │ │ +01c518: 3801 0a00 |04c8: if-eqz v1, 04d2 // +000a │ │ +01c51c: 6e10 da00 0100 |04ca: invoke-virtual {v1}, Landroid/widget/EditText;.getText:()Landroid/text/Editable; // method@00da │ │ +01c522: 0c0e |04cd: move-result-object v14 │ │ +01c524: 6e10 7a05 0e00 |04ce: invoke-virtual {v14}, Ljava/lang/Object;.toString:()Ljava/lang/String; // method@057a │ │ +01c52a: 0c0e |04d1: move-result-object v14 │ │ +01c52c: 1401 4400 057f |04d2: const v1, #float 1.76789e+38 // #7f050044 │ │ +01c532: 6e20 f102 1d00 |04d5: invoke-virtual {v13, v1}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02f1 │ │ +01c538: 0c01 |04d8: move-result-object v1 │ │ +01c53a: 1f01 6700 |04d9: check-cast v1, Landroid/widget/EditText; // type@0067 │ │ +01c53e: 6901 2301 |04db: sput-object v1, Ldnsfilter/android/DNSProxyActivity;.manuallyEditField:Landroid/widget/EditText; // field@0123 │ │ +01c542: 6e20 e600 e100 |04dd: invoke-virtual {v1, v14}, Landroid/widget/EditText;.setText:(Ljava/lang/CharSequence;)V // method@00e6 │ │ +01c548: 620e 2301 |04e0: sget-object v14, Ldnsfilter/android/DNSProxyActivity;.manuallyEditField:Landroid/widget/EditText; // field@0123 │ │ +01c54c: 6e20 d400 de00 |04e2: invoke-virtual {v14, v13}, Landroid/widget/EditText;.addTextChangedListener:(Landroid/text/TextWatcher;)V // method@00d4 │ │ +01c552: 140e 1900 057f |04e5: const v14, #float 1.76788e+38 // #7f050019 │ │ +01c558: 6e20 f102 ed00 |04e8: invoke-virtual {v13, v14}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02f1 │ │ +01c55e: 0c0e |04eb: move-result-object v14 │ │ +01c560: 1301 0800 |04ec: const/16 v1, #int 8 // #8 │ │ +01c564: 6e20 b400 1e00 |04ee: invoke-virtual {v14, v1}, Landroid/view/View;.setVisibility:(I)V // method@00b4 │ │ +01c56a: 7020 fd02 5d00 |04f1: invoke-direct {v13, v5}, Ldnsfilter/android/DNSProxyActivity;.handleAdvancedConfig:(Landroid/widget/CheckBox;)V // method@02fd │ │ +01c570: 620e 2401 |04f4: sget-object v14, Ldnsfilter/android/DNSProxyActivity;.myLogger:Lutil/SuppressRepeatingsLogger; // field@0124 │ │ +01c574: 380e 1000 |04f6: if-eqz v14, 0506 // +0010 │ │ +01c578: 620e ed00 |04f8: sget-object v14, Ldnsfilter/android/DNSProxyActivity;.CONFIG:Ldnsfilter/ConfigurationAccess; // field@00ed │ │ +01c57c: 6e10 5701 0e00 |04fa: invoke-virtual {v14}, Ldnsfilter/ConfigurationAccess;.isLocal:()Z // method@0157 │ │ +01c582: 0a0e |04fd: move-result v14 │ │ +01c584: 380e 1d00 |04fe: if-eqz v14, 051b // +001d │ │ +01c588: 620e 2401 |0500: sget-object v14, Ldnsfilter/android/DNSProxyActivity;.myLogger:Lutil/SuppressRepeatingsLogger; // field@0124 │ │ +01c58c: 6e20 7d07 de00 |0502: invoke-virtual {v14, v13}, Lutil/SuppressRepeatingsLogger;.setNestedLogger:(Lutil/LoggerInterface;)V // method@077d │ │ +01c592: 2816 |0505: goto 051b // +0016 │ │ +01c594: 220e 8e01 |0506: new-instance v14, Lutil/SuppressRepeatingsLogger; // type@018e │ │ +01c598: 7020 7407 de00 |0508: invoke-direct {v14, v13}, Lutil/SuppressRepeatingsLogger;.:(Lutil/LoggerInterface;)V // method@0774 │ │ +01c59e: 690e 2401 |050b: sput-object v14, Ldnsfilter/android/DNSProxyActivity;.myLogger:Lutil/SuppressRepeatingsLogger; // field@0124 │ │ +01c5a2: 220e 8201 |050d: new-instance v14, Lutil/GroupedLogger; // type@0182 │ │ +01c5a6: 2341 b401 |050f: new-array v1, v4, [Lutil/LoggerInterface; // type@01b4 │ │ +01c5aa: 6202 2401 |0511: sget-object v2, Ldnsfilter/android/DNSProxyActivity;.myLogger:Lutil/SuppressRepeatingsLogger; // field@0124 │ │ +01c5ae: 4d02 0106 |0513: aput-object v2, v1, v6 │ │ +01c5b2: 7020 f606 1e00 |0515: invoke-direct {v14, v1}, Lutil/GroupedLogger;.:([Lutil/LoggerInterface;)V // method@06f6 │ │ +01c5b8: 7110 2e07 0e00 |0518: invoke-static {v14}, Lutil/Logger;.setLogger:(Lutil/LoggerInterface;)V // method@072e │ │ +01c5be: 7100 5301 0000 |051b: invoke-static {}, Ldnsfilter/ConfigurationAccess;.getLocal:()Ldnsfilter/ConfigurationAccess; // method@0153 │ │ +01c5c4: 0c0e |051e: move-result-object v14 │ │ +01c5c6: 6e10 4e01 0e00 |051f: invoke-virtual {v14}, Ldnsfilter/ConfigurationAccess;.getConfigUtil:()Ldnsfilter/ConfigUtil; // method@014e │ │ +01c5cc: 0c0e |0522: move-result-object v14 │ │ +01c5ce: 1a01 1407 |0523: const-string v1, "forceAndroidDisplayMode" // string@0714 │ │ +01c5d2: 1a02 0309 |0525: const-string v2, "none" // string@0903 │ │ +01c5d6: 6e30 3a01 1e02 |0527: invoke-virtual {v14, v1, v2}, Ldnsfilter/ConfigUtil;.getConfigValue:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@013a │ │ +01c5dc: 0c0e |052a: move-result-object v14 │ │ +01c5de: 6e10 a205 0e00 |052b: invoke-virtual {v14}, Ljava/lang/String;.trim:()Ljava/lang/String; // method@05a2 │ │ +01c5e4: 0c0e |052e: move-result-object v14 │ │ +01c5e6: 1a01 7d09 |052f: const-string v1, "portrait" // string@097d │ │ +01c5ea: 6e20 8e05 1e00 |0531: invoke-virtual {v14, v1}, Ljava/lang/String;.equalsIgnoreCase:(Ljava/lang/String;)Z // method@058e │ │ +01c5f0: 0a01 |0534: move-result v1 │ │ +01c5f2: 3801 0600 |0535: if-eqz v1, 053b // +0006 │ │ +01c5f6: 6e20 2f03 4d00 |0537: invoke-virtual {v13, v4}, Ldnsfilter/android/DNSProxyActivity;.setRequestedOrientation:(I)V // method@032f │ │ +01c5fc: 281c |053a: goto 0556 // +001c │ │ +01c5fe: 1a01 8d08 |053b: const-string v1, "landscape" // string@088d │ │ +01c602: 6e20 8e05 1e00 |053d: invoke-virtual {v14, v1}, Ljava/lang/String;.equalsIgnoreCase:(Ljava/lang/String;)Z // method@058e │ │ +01c608: 0a0e |0540: move-result v14 │ │ +01c60a: 380e 0600 |0541: if-eqz v14, 0547 // +0006 │ │ +01c60e: 6e20 2f03 6d00 |0543: invoke-virtual {v13, v6}, Ldnsfilter/android/DNSProxyActivity;.setRequestedOrientation:(I)V // method@032f │ │ +01c614: 2810 |0546: goto 0556 // +0010 │ │ +01c616: 6e10 f802 0d00 |0547: invoke-virtual {v13}, Ldnsfilter/android/DNSProxyActivity;.getResources:()Landroid/content/res/Resources; // method@02f8 │ │ +01c61c: 0c0e |054a: move-result-object v14 │ │ +01c61e: 1501 027f |054b: const/high16 v1, #int 2130837504 // #7f02 │ │ +01c622: 6e20 5500 1e00 |054d: invoke-virtual {v14, v1}, Landroid/content/res/Resources;.getBoolean:(I)Z // method@0055 │ │ +01c628: 0a0e |0550: move-result v14 │ │ +01c62a: 380e 0500 |0551: if-eqz v14, 0556 // +0005 │ │ +01c62e: 6e20 2f03 4d00 |0553: invoke-virtual {v13, v4}, Ldnsfilter/android/DNSProxyActivity;.setRequestedOrientation:(I)V // method@032f │ │ +01c634: 7100 5301 0000 |0556: invoke-static {}, Ldnsfilter/ConfigurationAccess;.getLocal:()Ldnsfilter/ConfigurationAccess; // method@0153 │ │ +01c63a: 0c0e |0559: move-result-object v14 │ │ +01c63c: 6e10 4e01 0e00 |055a: invoke-virtual {v14}, Ldnsfilter/ConfigurationAccess;.getConfigUtil:()Ldnsfilter/ConfigUtil; // method@014e │ │ +01c642: 0c0e |055d: move-result-object v14 │ │ +01c644: 1a01 4d06 |055e: const-string v1, "debug" // string@064d │ │ +01c648: 1a02 df06 |0560: const-string v2, "false" // string@06df │ │ +01c64c: 6e30 3a01 1e02 |0562: invoke-virtual {v14, v1, v2}, Ldnsfilter/ConfigUtil;.getConfigValue:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@013a │ │ +01c652: 0c0e |0565: move-result-object v14 │ │ +01c654: 7110 4d05 0e00 |0566: invoke-static {v14}, Ljava/lang/Boolean;.parseBoolean:(Ljava/lang/String;)Z // method@054d │ │ +01c65a: 0a0e |0569: move-result v14 │ │ +01c65c: 6a0e 0f01 |056a: sput-boolean v14, Ldnsfilter/android/DNSProxyActivity;.debug:Z // field@010f │ │ +01c660: 380e 2200 |056c: if-eqz v14, 058e // +0022 │ │ +01c664: 7100 8305 0000 |056e: invoke-static {}, Ljava/lang/Runtime;.getRuntime:()Ljava/lang/Runtime; // method@0583 │ │ +01c66a: 0c0e |0571: move-result-object v14 │ │ +01c66c: 2201 2d01 |0572: new-instance v1, Ljava/lang/StringBuilder; // type@012d │ │ +01c670: 7020 aa05 3100 |0574: invoke-direct {v1, v3}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05aa │ │ +01c676: 7100 d406 0000 |0577: invoke-static {}, Lutil/ExecutionEnvironment;.getEnvironment:()Lutil/ExecutionEnvironmentInterface; // method@06d4 │ │ +01c67c: 0c02 |057a: move-result-object v2 │ │ +01c67e: 7210 e406 0200 |057b: invoke-interface {v2}, Lutil/ExecutionEnvironmentInterface;.getWorkDir:()Ljava/lang/String; // method@06e4 │ │ +01c684: 0c02 |057e: move-result-object v2 │ │ +01c686: 6e20 af05 2100 |057f: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +01c68c: 1a02 6200 |0582: const-string v2, "/Logcat_file.txt" // string@0062 │ │ +01c690: 6e20 af05 2100 |0584: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +01c696: 6e10 b105 0100 |0587: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ +01c69c: 0c01 |058a: move-result-object v1 │ │ +01c69e: 6e20 8205 1e00 |058b: invoke-virtual {v14, v1}, Ljava/lang/Runtime;.exec:(Ljava/lang/String;)Ljava/lang/Process; // method@0582 │ │ +01c6a4: 630e 0501 |058e: sget-boolean v14, Ldnsfilter/android/DNSProxyActivity;.appStart:Z // field@0105 │ │ +01c6a8: 380e 1a00 |0590: if-eqz v14, 05aa // +001a │ │ +01c6ac: 600e 0200 |0592: sget v14, Landroid/os/Build$VERSION;.SDK_INT:I // field@0002 │ │ +01c6b0: 1301 2100 |0594: const/16 v1, #int 33 // #21 │ │ +01c6b4: 341e 1100 |0596: if-lt v14, v1, 05a7 // +0011 │ │ +01c6b8: 7120 5a02 0d00 |0598: invoke-static {v13, v0}, Ldnsfilter/android/BootUpReceiver$$ExternalSyntheticApiModelOutline0;.m:(Ldnsfilter/android/DNSProxyActivity;Ljava/lang/String;)I // method@025a │ │ +01c6be: 0a0e |059b: move-result v14 │ │ +01c6c0: 380e 0b00 |059c: if-eqz v14, 05a7 // +000b │ │ +01c6c4: 234e ad01 |059e: new-array v14, v4, [Ljava/lang/String; // type@01ad │ │ +01c6c8: 4d00 0e06 |05a0: aput-object v0, v14, v6 │ │ +01c6cc: 1300 6500 |05a2: const/16 v0, #int 101 // #65 │ │ +01c6d0: 7130 6f02 ed00 |05a4: invoke-static {v13, v14, v0}, Ldnsfilter/android/BootUpReceiver$$ExternalSyntheticApiModelOutline0;.m:(Ldnsfilter/android/DNSProxyActivity;[Ljava/lang/String;I)V // method@026f │ │ +01c6d6: 7010 0403 0d00 |05a7: invoke-direct {v13}, Ldnsfilter/android/DNSProxyActivity;.initAppAndStartup:()V // method@0304 │ │ +01c6dc: 0e00 |05aa: return-void │ │ +01c6de: 0d0e |05ab: move-exception v14 │ │ +01c6e0: 7020 f002 ed00 |05ac: invoke-direct {v13, v14}, Ldnsfilter/android/DNSProxyActivity;.dump:(Ljava/lang/Exception;)V // method@02f0 │ │ +01c6e6: 2200 2901 |05af: new-instance v0, Ljava/lang/RuntimeException; // type@0129 │ │ +01c6ea: 7020 8405 e000 |05b1: invoke-direct {v0, v14}, Ljava/lang/RuntimeException;.:(Ljava/lang/Throwable;)V // method@0584 │ │ +01c6f0: 2700 |05b4: throw v0 │ │ catches : 3 │ │ 0x000a - 0x00e4 │ │ Ljava/lang/Exception; -> 0x05ab │ │ 0x00e4 - 0x00ff │ │ Ljava/io/IOException; -> 0x0100 │ │ Ljava/lang/Exception; -> 0x05ab │ │ 0x0101 - 0x05aa │ │ @@ -47617,49 +47617,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 │ │ -019d58: |[019d58] dnsfilter.android.DNSProxyActivity.onCreateActionMode:(Landroid/view/ActionMode;Landroid/view/Menu;)Z │ │ -019d68: 12f5 |0000: const/4 v5, #int -1 // #ff │ │ -019d6a: 6705 f700 |0001: sput v5, Ldnsfilter/android/DNSProxyActivity;.NO_ACTION_MENU:I // field@00f7 │ │ -019d6e: 1210 |0003: const/4 v0, #int 1 // #1 │ │ -019d70: 7020 f902 0400 |0004: invoke-direct {v4, v0}, Ldnsfilter/android/DNSProxyActivity;.getSelectedText:(Z)Ljava/lang/String; // method@02f9 │ │ -019d76: 0c01 |0007: move-result-object v1 │ │ -019d78: 6002 0200 |0008: sget v2, Landroid/os/Build$VERSION;.SDK_INT:I // field@0002 │ │ -019d7c: 1303 1700 |000a: const/16 v3, #int 23 // #17 │ │ -019d80: 3532 0d00 |000c: if-ge v2, v3, 0019 // +000d │ │ -019d84: 1402 1900 057f |000e: const v2, #float 1.76788e+38 // #7f050019 │ │ -019d8a: 6e20 f102 2400 |0011: invoke-virtual {v4, v2}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02f1 │ │ -019d90: 0c02 |0014: move-result-object v2 │ │ -019d92: 1203 |0015: const/4 v3, #int 0 // #0 │ │ -019d94: 6e20 b400 3200 |0016: invoke-virtual {v2, v3}, Landroid/view/View;.setVisibility:(I)V // method@00b4 │ │ -019d9a: 6202 f800 |0019: sget-object v2, Ldnsfilter/android/DNSProxyActivity;.NO_FILTER_PREF:Ljava/lang/String; // field@00f8 │ │ -019d9e: 6e20 9205 2100 |001b: invoke-virtual {v1, v2}, Ljava/lang/String;.indexOf:(Ljava/lang/String;)I // method@0592 │ │ -019da4: 0a02 |001e: move-result v2 │ │ -019da6: 3252 0f00 |001f: if-eq v2, v5, 002e // +000f │ │ -019daa: 1402 0500 087f |0021: const v2, #float 1.80775e+38 // #7f080005 │ │ -019db0: 6e20 fa02 2400 |0024: invoke-virtual {v4, v2}, Ldnsfilter/android/DNSProxyActivity;.getString:(I)Ljava/lang/String; // method@02fa │ │ -019db6: 0c02 |0027: move-result-object v2 │ │ -019db8: 7220 a800 2600 |0028: invoke-interface {v6, v2}, Landroid/view/Menu;.add:(Ljava/lang/CharSequence;)Landroid/view/MenuItem; // method@00a8 │ │ -019dbe: 0c02 |002b: move-result-object v2 │ │ -019dc0: 6902 0001 |002c: sput-object v2, Ldnsfilter/android/DNSProxyActivity;.add_filter:Landroid/view/MenuItem; // field@0100 │ │ -019dc4: 6202 f300 |002e: sget-object v2, Ldnsfilter/android/DNSProxyActivity;.IN_FILTER_PREF:Ljava/lang/String; // field@00f3 │ │ -019dc8: 6e20 9205 2100 |0030: invoke-virtual {v1, v2}, Ljava/lang/String;.indexOf:(Ljava/lang/String;)I // method@0592 │ │ -019dce: 0a01 |0033: move-result v1 │ │ -019dd0: 3251 0f00 |0034: if-eq v1, v5, 0043 // +000f │ │ -019dd4: 1405 2700 087f |0036: const v5, #float 1.80776e+38 // #7f080027 │ │ -019dda: 6e20 fa02 5400 |0039: invoke-virtual {v4, v5}, Ldnsfilter/android/DNSProxyActivity;.getString:(I)Ljava/lang/String; // method@02fa │ │ -019de0: 0c05 |003c: move-result-object v5 │ │ -019de2: 7220 a800 5600 |003d: invoke-interface {v6, v5}, Landroid/view/Menu;.add:(Ljava/lang/CharSequence;)Landroid/view/MenuItem; // method@00a8 │ │ -019de8: 0c05 |0040: move-result-object v5 │ │ -019dea: 6905 2d01 |0041: sput-object v5, Ldnsfilter/android/DNSProxyActivity;.remove_filter:Landroid/view/MenuItem; // field@012d │ │ -019dee: 0f00 |0043: return v0 │ │ +019d54: |[019d54] dnsfilter.android.DNSProxyActivity.onCreateActionMode:(Landroid/view/ActionMode;Landroid/view/Menu;)Z │ │ +019d64: 12f5 |0000: const/4 v5, #int -1 // #ff │ │ +019d66: 6705 f700 |0001: sput v5, Ldnsfilter/android/DNSProxyActivity;.NO_ACTION_MENU:I // field@00f7 │ │ +019d6a: 1210 |0003: const/4 v0, #int 1 // #1 │ │ +019d6c: 7020 f902 0400 |0004: invoke-direct {v4, v0}, Ldnsfilter/android/DNSProxyActivity;.getSelectedText:(Z)Ljava/lang/String; // method@02f9 │ │ +019d72: 0c01 |0007: move-result-object v1 │ │ +019d74: 6002 0200 |0008: sget v2, Landroid/os/Build$VERSION;.SDK_INT:I // field@0002 │ │ +019d78: 1303 1700 |000a: const/16 v3, #int 23 // #17 │ │ +019d7c: 3532 0d00 |000c: if-ge v2, v3, 0019 // +000d │ │ +019d80: 1402 1900 057f |000e: const v2, #float 1.76788e+38 // #7f050019 │ │ +019d86: 6e20 f102 2400 |0011: invoke-virtual {v4, v2}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02f1 │ │ +019d8c: 0c02 |0014: move-result-object v2 │ │ +019d8e: 1203 |0015: const/4 v3, #int 0 // #0 │ │ +019d90: 6e20 b400 3200 |0016: invoke-virtual {v2, v3}, Landroid/view/View;.setVisibility:(I)V // method@00b4 │ │ +019d96: 6202 f800 |0019: sget-object v2, Ldnsfilter/android/DNSProxyActivity;.NO_FILTER_PREF:Ljava/lang/String; // field@00f8 │ │ +019d9a: 6e20 9205 2100 |001b: invoke-virtual {v1, v2}, Ljava/lang/String;.indexOf:(Ljava/lang/String;)I // method@0592 │ │ +019da0: 0a02 |001e: move-result v2 │ │ +019da2: 3252 0f00 |001f: if-eq v2, v5, 002e // +000f │ │ +019da6: 1402 0500 087f |0021: const v2, #float 1.80775e+38 // #7f080005 │ │ +019dac: 6e20 fa02 2400 |0024: invoke-virtual {v4, v2}, Ldnsfilter/android/DNSProxyActivity;.getString:(I)Ljava/lang/String; // method@02fa │ │ +019db2: 0c02 |0027: move-result-object v2 │ │ +019db4: 7220 a800 2600 |0028: invoke-interface {v6, v2}, Landroid/view/Menu;.add:(Ljava/lang/CharSequence;)Landroid/view/MenuItem; // method@00a8 │ │ +019dba: 0c02 |002b: move-result-object v2 │ │ +019dbc: 6902 0001 |002c: sput-object v2, Ldnsfilter/android/DNSProxyActivity;.add_filter:Landroid/view/MenuItem; // field@0100 │ │ +019dc0: 6202 f300 |002e: sget-object v2, Ldnsfilter/android/DNSProxyActivity;.IN_FILTER_PREF:Ljava/lang/String; // field@00f3 │ │ +019dc4: 6e20 9205 2100 |0030: invoke-virtual {v1, v2}, Ljava/lang/String;.indexOf:(Ljava/lang/String;)I // method@0592 │ │ +019dca: 0a01 |0033: move-result v1 │ │ +019dcc: 3251 0f00 |0034: if-eq v1, v5, 0043 // +000f │ │ +019dd0: 1405 2700 087f |0036: const v5, #float 1.80776e+38 // #7f080027 │ │ +019dd6: 6e20 fa02 5400 |0039: invoke-virtual {v4, v5}, Ldnsfilter/android/DNSProxyActivity;.getString:(I)Ljava/lang/String; // method@02fa │ │ +019ddc: 0c05 |003c: move-result-object v5 │ │ +019dde: 7220 a800 5600 |003d: invoke-interface {v6, v5}, Landroid/view/Menu;.add:(Ljava/lang/CharSequence;)Landroid/view/MenuItem; // method@00a8 │ │ +019de4: 0c05 |0040: move-result-object v5 │ │ +019de6: 6905 2d01 |0041: sput-object v5, Ldnsfilter/android/DNSProxyActivity;.remove_filter:Landroid/view/MenuItem; // field@012d │ │ +019dea: 0f00 |0043: return v0 │ │ catches : (none) │ │ positions : │ │ 0x0001 line=1684 │ │ 0x0004 line=1686 │ │ 0x0008 line=1688 │ │ 0x0011 line=1689 │ │ 0x0019 line=1691 │ │ @@ -47676,30 +47676,30 @@ │ │ type : '()V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 32 16-bit code units │ │ -01c720: |[01c720] dnsfilter.android.DNSProxyActivity.onDestroy:()V │ │ -01c730: 6f10 0500 0100 |0000: invoke-super {v1}, Landroid/app/Activity;.onDestroy:()V // method@0005 │ │ -01c736: 6200 fa00 |0003: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.PASSWORD_DIAG:Landroid/app/AlertDialog; // field@00fa │ │ -01c73a: 3800 0d00 |0005: if-eqz v0, 0012 // +000d │ │ -01c73e: 6e10 1000 0000 |0007: invoke-virtual {v0}, Landroid/app/AlertDialog;.isShowing:()Z // method@0010 │ │ -01c744: 0a00 |000a: move-result v0 │ │ -01c746: 3800 0700 |000b: if-eqz v0, 0012 // +0007 │ │ -01c74a: 6200 fa00 |000d: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.PASSWORD_DIAG:Landroid/app/AlertDialog; // field@00fa │ │ -01c74e: 6e10 0f00 0000 |000f: invoke-virtual {v0}, Landroid/app/AlertDialog;.dismiss:()V // method@000f │ │ -01c754: 6200 2601 |0012: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.popUpDialog:Landroid/app/Dialog; // field@0126 │ │ -01c758: 3800 0b00 |0014: if-eqz v0, 001f // +000b │ │ -01c75c: 6e10 1900 0000 |0016: invoke-virtual {v0}, Landroid/app/Dialog;.isShowing:()Z // method@0019 │ │ -01c762: 0a00 |0019: move-result v0 │ │ -01c764: 3800 0500 |001a: if-eqz v0, 001f // +0005 │ │ -01c768: 7010 ea02 0100 |001c: invoke-direct {v1}, Ldnsfilter/android/DNSProxyActivity;.closeInitialInfoPopUp:()V // method@02ea │ │ -01c76e: 0e00 |001f: return-void │ │ +01c71c: |[01c71c] dnsfilter.android.DNSProxyActivity.onDestroy:()V │ │ +01c72c: 6f10 0500 0100 |0000: invoke-super {v1}, Landroid/app/Activity;.onDestroy:()V // method@0005 │ │ +01c732: 6200 fa00 |0003: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.PASSWORD_DIAG:Landroid/app/AlertDialog; // field@00fa │ │ +01c736: 3800 0d00 |0005: if-eqz v0, 0012 // +000d │ │ +01c73a: 6e10 1000 0000 |0007: invoke-virtual {v0}, Landroid/app/AlertDialog;.isShowing:()Z // method@0010 │ │ +01c740: 0a00 |000a: move-result v0 │ │ +01c742: 3800 0700 |000b: if-eqz v0, 0012 // +0007 │ │ +01c746: 6200 fa00 |000d: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.PASSWORD_DIAG:Landroid/app/AlertDialog; // field@00fa │ │ +01c74a: 6e10 0f00 0000 |000f: invoke-virtual {v0}, Landroid/app/AlertDialog;.dismiss:()V // method@000f │ │ +01c750: 6200 2601 |0012: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.popUpDialog:Landroid/app/Dialog; // field@0126 │ │ +01c754: 3800 0b00 |0014: if-eqz v0, 001f // +000b │ │ +01c758: 6e10 1900 0000 |0016: invoke-virtual {v0}, Landroid/app/Dialog;.isShowing:()Z // method@0019 │ │ +01c75e: 0a00 |0019: move-result v0 │ │ +01c760: 3800 0500 |001a: if-eqz v0, 001f // +0005 │ │ +01c764: 7010 ea02 0100 |001c: invoke-direct {v1}, Ldnsfilter/android/DNSProxyActivity;.closeInitialInfoPopUp:()V // method@02ea │ │ +01c76a: 0e00 |001f: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=614 │ │ 0x0003 line=615 │ │ 0x000d line=616 │ │ 0x0012 line=618 │ │ 0x001c line=619 │ │ @@ -47711,24 +47711,24 @@ │ │ type : '(Landroid/view/ActionMode;)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 3 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 19 16-bit code units │ │ -01c770: |[01c770] dnsfilter.android.DNSProxyActivity.onDestroyActionMode:(Landroid/view/ActionMode;)V │ │ -01c780: 6002 0200 |0000: sget v2, Landroid/os/Build$VERSION;.SDK_INT:I // field@0002 │ │ -01c784: 1300 1700 |0002: const/16 v0, #int 23 // #17 │ │ -01c788: 3502 0e00 |0004: if-ge v2, v0, 0012 // +000e │ │ -01c78c: 1402 1900 057f |0006: const v2, #float 1.76788e+38 // #7f050019 │ │ -01c792: 6e20 f102 2100 |0009: invoke-virtual {v1, v2}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02f1 │ │ -01c798: 0c02 |000c: move-result-object v2 │ │ -01c79a: 1300 0800 |000d: const/16 v0, #int 8 // #8 │ │ -01c79e: 6e20 b400 0200 |000f: invoke-virtual {v2, v0}, Landroid/view/View;.setVisibility:(I)V // method@00b4 │ │ -01c7a4: 0e00 |0012: return-void │ │ +01c76c: |[01c76c] dnsfilter.android.DNSProxyActivity.onDestroyActionMode:(Landroid/view/ActionMode;)V │ │ +01c77c: 6002 0200 |0000: sget v2, Landroid/os/Build$VERSION;.SDK_INT:I // field@0002 │ │ +01c780: 1300 1700 |0002: const/16 v0, #int 23 // #17 │ │ +01c784: 3502 0e00 |0004: if-ge v2, v0, 0012 // +000e │ │ +01c788: 1402 1900 057f |0006: const v2, #float 1.76788e+38 // #7f050019 │ │ +01c78e: 6e20 f102 2100 |0009: invoke-virtual {v1, v2}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02f1 │ │ +01c794: 0c02 |000c: move-result-object v2 │ │ +01c796: 1300 0800 |000d: const/16 v0, #int 8 // #8 │ │ +01c79a: 6e20 b400 0200 |000f: invoke-virtual {v2, v0}, Landroid/view/View;.setVisibility:(I)V // method@00b4 │ │ +01c7a0: 0e00 |0012: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=1722 │ │ 0x0009 line=1724 │ │ locals : │ │ 0x0000 - 0x0013 reg=1 this Ldnsfilter/android/DNSProxyActivity; │ │ 0x0000 - 0x0013 reg=2 (null) Landroid/view/ActionMode; │ │ @@ -47738,22 +47738,22 @@ │ │ type : '(Landroid/view/View;Z)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 3 │ │ ins : 3 │ │ outs : 2 │ │ insns size : 15 16-bit code units │ │ -01c7a8: |[01c7a8] dnsfilter.android.DNSProxyActivity.onFocusChange:(Landroid/view/View;Z)V │ │ -01c7b8: 3902 0e00 |0000: if-nez v2, 000e // +000e │ │ -01c7bc: 1401 1900 057f |0002: const v1, #float 1.76788e+38 // #7f050019 │ │ -01c7c2: 6e20 f102 1000 |0005: invoke-virtual {v0, v1}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02f1 │ │ -01c7c8: 0c01 |0008: move-result-object v1 │ │ -01c7ca: 1302 0800 |0009: const/16 v2, #int 8 // #8 │ │ -01c7ce: 6e20 b400 2100 |000b: invoke-virtual {v1, v2}, Landroid/view/View;.setVisibility:(I)V // method@00b4 │ │ -01c7d4: 0e00 |000e: return-void │ │ +01c7a4: |[01c7a4] dnsfilter.android.DNSProxyActivity.onFocusChange:(Landroid/view/View;Z)V │ │ +01c7b4: 3902 0e00 |0000: if-nez v2, 000e // +000e │ │ +01c7b8: 1401 1900 057f |0002: const v1, #float 1.76788e+38 // #7f050019 │ │ +01c7be: 6e20 f102 1000 |0005: invoke-virtual {v0, v1}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02f1 │ │ +01c7c4: 0c01 |0008: move-result-object v1 │ │ +01c7c6: 1302 0800 |0009: const/16 v2, #int 8 // #8 │ │ +01c7ca: 6e20 b400 2100 |000b: invoke-virtual {v1, v2}, Landroid/view/View;.setVisibility:(I)V // method@00b4 │ │ +01c7d0: 0e00 |000e: return-void │ │ catches : (none) │ │ positions : │ │ 0x0005 line=1821 │ │ locals : │ │ 0x0000 - 0x000f reg=0 this Ldnsfilter/android/DNSProxyActivity; │ │ 0x0000 - 0x000f reg=1 (null) Landroid/view/View; │ │ 0x0000 - 0x000f reg=2 (null) Z │ │ @@ -47763,23 +47763,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 │ │ -019df0: |[019df0] dnsfilter.android.DNSProxyActivity.onKey:(Landroid/content/DialogInterface;ILandroid/view/KeyEvent;)Z │ │ -019e00: 1243 |0000: const/4 v3, #int 4 // #4 │ │ -019e02: 3232 0500 |0001: if-eq v2, v3, 0006 // +0005 │ │ -019e06: 1233 |0003: const/4 v3, #int 3 // #3 │ │ -019e08: 3332 0800 |0004: if-ne v2, v3, 000c // +0008 │ │ -019e0c: 7210 4000 0100 |0006: invoke-interface {v1}, Landroid/content/DialogInterface;.dismiss:()V // method@0040 │ │ -019e12: 7010 2403 0000 |0009: invoke-direct {v0}, Ldnsfilter/android/DNSProxyActivity;.persistConfig:()V // method@0324 │ │ -019e18: 1201 |000c: const/4 v1, #int 0 // #0 │ │ -019e1a: 0f01 |000d: return v1 │ │ +019dec: |[019dec] dnsfilter.android.DNSProxyActivity.onKey:(Landroid/content/DialogInterface;ILandroid/view/KeyEvent;)Z │ │ +019dfc: 1243 |0000: const/4 v3, #int 4 // #4 │ │ +019dfe: 3232 0500 |0001: if-eq v2, v3, 0006 // +0005 │ │ +019e02: 1233 |0003: const/4 v3, #int 3 // #3 │ │ +019e04: 3332 0800 |0004: if-ne v2, v3, 000c // +0008 │ │ +019e08: 7210 4000 0100 |0006: invoke-interface {v1}, Landroid/content/DialogInterface;.dismiss:()V // method@0040 │ │ +019e0e: 7010 2403 0000 |0009: invoke-direct {v0}, Ldnsfilter/android/DNSProxyActivity;.persistConfig:()V // method@0324 │ │ +019e14: 1201 |000c: const/4 v1, #int 0 // #0 │ │ +019e16: 0f01 |000d: return v1 │ │ catches : (none) │ │ positions : │ │ 0x0006 line=1103 │ │ 0x0009 line=1104 │ │ locals : │ │ 0x0000 - 0x000e reg=0 this Ldnsfilter/android/DNSProxyActivity; │ │ 0x0000 - 0x000e reg=1 (null) Landroid/content/DialogInterface; │ │ @@ -47791,66 +47791,66 @@ │ │ type : '(Landroid/view/MenuItem;)Z' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 2 │ │ outs : 0 │ │ insns size : 2 16-bit code units │ │ -019e1c: |[019e1c] dnsfilter.android.DNSProxyActivity.onMenuItemClick:(Landroid/view/MenuItem;)Z │ │ -019e2c: 1201 |0000: const/4 v1, #int 0 // #0 │ │ -019e2e: 0f01 |0001: return v1 │ │ +019e18: |[019e18] dnsfilter.android.DNSProxyActivity.onMenuItemClick:(Landroid/view/MenuItem;)Z │ │ +019e28: 1201 |0000: const/4 v1, #int 0 // #0 │ │ +019e2a: 0f01 |0001: return v1 │ │ catches : (none) │ │ positions : │ │ locals : │ │ │ │ #30 : (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 │ │ -019e30: |[019e30] dnsfilter.android.DNSProxyActivity.onPrepareActionMode:(Landroid/view/ActionMode;Landroid/view/Menu;)Z │ │ -019e40: 1201 |0000: const/4 v1, #int 0 // #0 │ │ -019e42: 0f01 |0001: return v1 │ │ +019e2c: |[019e2c] dnsfilter.android.DNSProxyActivity.onPrepareActionMode:(Landroid/view/ActionMode;Landroid/view/Menu;)Z │ │ +019e3c: 1201 |0000: const/4 v1, #int 0 // #0 │ │ +019e3e: 0f01 |0001: return v1 │ │ catches : (none) │ │ positions : │ │ locals : │ │ │ │ #31 : (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 │ │ -01c864: |[01c864] dnsfilter.android.DNSProxyActivity.onRequestPermissionsResult:(I[Ljava/lang/String;[I)V │ │ -01c874: 2142 |0000: array-length v2, v4 │ │ -01c876: 3902 0300 |0001: if-nez v2, 0004 // +0003 │ │ -01c87a: 0e00 |0003: return-void │ │ -01c87c: 1202 |0004: const/4 v2, #int 0 // #0 │ │ -01c87e: 4603 0302 |0005: aget-object v3, v3, v2 │ │ -01c882: 1a00 6505 |0007: const-string v0, "android.permission.POST_NOTIFICATIONS" // string@0565 │ │ -01c886: 6e20 8d05 0300 |0009: invoke-virtual {v3, v0}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058d │ │ -01c88c: 0a03 |000c: move-result v3 │ │ -01c88e: 3803 0d00 |000d: if-eqz v3, 001a // +000d │ │ -01c892: 4402 0402 |000f: aget v2, v4, v2 │ │ -01c896: 3902 0900 |0011: if-nez v2, 001a // +0009 │ │ -01c89a: 7010 0103 0100 |0013: invoke-direct {v1}, Ldnsfilter/android/DNSProxyActivity;.handleRestart:()V // method@0301 │ │ -01c8a0: 7010 ff02 0100 |0016: invoke-direct {v1}, Ldnsfilter/android/DNSProxyActivity;.handleInitialInfoPopUp:()V // method@02ff │ │ -01c8a6: 280a |0019: goto 0023 // +000a │ │ -01c8a8: 7100 2707 0000 |001a: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0727 │ │ -01c8ae: 0c02 |001d: move-result-object v2 │ │ -01c8b0: 1a03 e203 |001e: const-string v3, "NOTIFICATION PERMISSION IS REQUIRED!" // string@03e2 │ │ -01c8b4: 7220 3407 3200 |0020: invoke-interface {v2, v3}, Lutil/LoggerInterface;.message:(Ljava/lang/String;)V // method@0734 │ │ -01c8ba: 0e00 |0023: return-void │ │ +01c860: |[01c860] dnsfilter.android.DNSProxyActivity.onRequestPermissionsResult:(I[Ljava/lang/String;[I)V │ │ +01c870: 2142 |0000: array-length v2, v4 │ │ +01c872: 3902 0300 |0001: if-nez v2, 0004 // +0003 │ │ +01c876: 0e00 |0003: return-void │ │ +01c878: 1202 |0004: const/4 v2, #int 0 // #0 │ │ +01c87a: 4603 0302 |0005: aget-object v3, v3, v2 │ │ +01c87e: 1a00 6505 |0007: const-string v0, "android.permission.POST_NOTIFICATIONS" // string@0565 │ │ +01c882: 6e20 8d05 0300 |0009: invoke-virtual {v3, v0}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058d │ │ +01c888: 0a03 |000c: move-result v3 │ │ +01c88a: 3803 0d00 |000d: if-eqz v3, 001a // +000d │ │ +01c88e: 4402 0402 |000f: aget v2, v4, v2 │ │ +01c892: 3902 0900 |0011: if-nez v2, 001a // +0009 │ │ +01c896: 7010 0103 0100 |0013: invoke-direct {v1}, Ldnsfilter/android/DNSProxyActivity;.handleRestart:()V // method@0301 │ │ +01c89c: 7010 ff02 0100 |0016: invoke-direct {v1}, Ldnsfilter/android/DNSProxyActivity;.handleInitialInfoPopUp:()V // method@02ff │ │ +01c8a2: 280a |0019: goto 0023 // +000a │ │ +01c8a4: 7100 2707 0000 |001a: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0727 │ │ +01c8aa: 0c02 |001d: move-result-object v2 │ │ +01c8ac: 1a03 e203 |001e: const-string v3, "NOTIFICATION PERMISSION IS REQUIRED!" // string@03e2 │ │ +01c8b0: 7220 3407 3200 |0020: invoke-interface {v2, v3}, Lutil/LoggerInterface;.message:(Ljava/lang/String;)V // method@0734 │ │ +01c8b6: 0e00 |0023: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=603 │ │ 0x0005 line=605 │ │ 0x0013 line=606 │ │ 0x0016 line=607 │ │ 0x001a line=609 │ │ @@ -47865,32 +47865,32 @@ │ │ type : '()V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 5 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 37 16-bit code units │ │ -01c8bc: |[01c8bc] dnsfilter.android.DNSProxyActivity.onResume:()V │ │ -01c8cc: 6f10 0600 0400 |0000: invoke-super {v4}, Landroid/app/Activity;.onResume:()V // method@0006 │ │ -01c8d2: 7010 e802 0400 |0003: invoke-direct {v4}, Ldnsfilter/android/DNSProxyActivity;.checkPasscode:()V // method@02e8 │ │ -01c8d8: 281e |0006: goto 0024 // +001e │ │ -01c8da: 0d00 |0007: move-exception v0 │ │ -01c8dc: 6e10 5e05 0000 |0008: invoke-virtual {v0}, Ljava/lang/Exception;.printStackTrace:()V // method@055e │ │ -01c8e2: 7100 2707 0000 |000b: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0727 │ │ -01c8e8: 0c01 |000e: move-result-object v1 │ │ -01c8ea: 2202 2d01 |000f: new-instance v2, Ljava/lang/StringBuilder; // type@012d │ │ -01c8ee: 1a03 3409 |0011: const-string v3, "onResume() failed! " // string@0934 │ │ -01c8f2: 7020 aa05 3200 |0013: invoke-direct {v2, v3}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05aa │ │ -01c8f8: 6e10 6105 0000 |0016: invoke-virtual {v0}, Ljava/lang/Exception;.toString:()Ljava/lang/String; // method@0561 │ │ -01c8fe: 0c00 |0019: move-result-object v0 │ │ -01c900: 6e20 af05 0200 |001a: invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -01c906: 6e10 b105 0200 |001d: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ -01c90c: 0c00 |0020: move-result-object v0 │ │ -01c90e: 7220 3307 0100 |0021: invoke-interface {v1, v0}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0733 │ │ -01c914: 0e00 |0024: return-void │ │ +01c8b8: |[01c8b8] dnsfilter.android.DNSProxyActivity.onResume:()V │ │ +01c8c8: 6f10 0600 0400 |0000: invoke-super {v4}, Landroid/app/Activity;.onResume:()V // method@0006 │ │ +01c8ce: 7010 e802 0400 |0003: invoke-direct {v4}, Ldnsfilter/android/DNSProxyActivity;.checkPasscode:()V // method@02e8 │ │ +01c8d4: 281e |0006: goto 0024 // +001e │ │ +01c8d6: 0d00 |0007: move-exception v0 │ │ +01c8d8: 6e10 5e05 0000 |0008: invoke-virtual {v0}, Ljava/lang/Exception;.printStackTrace:()V // method@055e │ │ +01c8de: 7100 2707 0000 |000b: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0727 │ │ +01c8e4: 0c01 |000e: move-result-object v1 │ │ +01c8e6: 2202 2d01 |000f: new-instance v2, Ljava/lang/StringBuilder; // type@012d │ │ +01c8ea: 1a03 3409 |0011: const-string v3, "onResume() failed! " // string@0934 │ │ +01c8ee: 7020 aa05 3200 |0013: invoke-direct {v2, v3}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05aa │ │ +01c8f4: 6e10 6105 0000 |0016: invoke-virtual {v0}, Ljava/lang/Exception;.toString:()Ljava/lang/String; // method@0561 │ │ +01c8fa: 0c00 |0019: move-result-object v0 │ │ +01c8fc: 6e20 af05 0200 |001a: invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +01c902: 6e10 b105 0200 |001d: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ +01c908: 0c00 |0020: move-result-object v0 │ │ +01c90a: 7220 3307 0100 |0021: invoke-interface {v1, v0}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0733 │ │ +01c910: 0e00 |0024: return-void │ │ catches : 1 │ │ 0x0000 - 0x0006 │ │ Ljava/lang/Exception; -> 0x0007 │ │ positions : │ │ 0x0000 line=625 │ │ 0x0003 line=626 │ │ 0x0008 line=628 │ │ @@ -47903,65 +47903,65 @@ │ │ type : '(Ljava/lang/CharSequence;III)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 5 │ │ ins : 5 │ │ outs : 0 │ │ insns size : 1 16-bit code units │ │ -01c928: |[01c928] dnsfilter.android.DNSProxyActivity.onTextChanged:(Ljava/lang/CharSequence;III)V │ │ -01c938: 0e00 |0000: return-void │ │ +01c924: |[01c924] dnsfilter.android.DNSProxyActivity.onTextChanged:(Ljava/lang/CharSequence;III)V │ │ +01c934: 0e00 |0000: return-void │ │ catches : (none) │ │ positions : │ │ locals : │ │ │ │ #34 : (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 │ │ -019e44: |[019e44] dnsfilter.android.DNSProxyActivity.onTouch:(Landroid/view/View;Landroid/view/MotionEvent;)Z │ │ -019e54: 5530 ea00 |0000: iget-boolean v0, v3, Ldnsfilter/android/DNSProxyActivity;.ACTION_MENU_FALLBACK:Z // field@00ea │ │ -019e58: 3800 0700 |0002: if-eqz v0, 0009 // +0007 │ │ -019e5c: 6e30 1f03 4305 |0004: invoke-virtual {v3, v4, v5}, Ldnsfilter/android/DNSProxyActivity;.onTouchActionMenuFallback:(Landroid/view/View;Landroid/view/MotionEvent;)Z // method@031f │ │ -019e62: 0a04 |0007: move-result v4 │ │ -019e64: 0f04 |0008: return v4 │ │ -019e66: 6004 0200 |0009: sget v4, Landroid/os/Build$VERSION;.SDK_INT:I // field@0002 │ │ -019e6a: 1300 1700 |000b: const/16 v0, #int 23 // #17 │ │ -019e6e: 1201 |000d: const/4 v1, #int 0 // #0 │ │ -019e70: 1212 |000e: const/4 v2, #int 1 // #1 │ │ -019e72: 3504 0600 |000f: if-ge v4, v0, 0015 // +0006 │ │ -019e76: 7020 f902 2300 |0011: invoke-direct {v3, v2}, Ldnsfilter/android/DNSProxyActivity;.getSelectedText:(Z)Ljava/lang/String; // method@02f9 │ │ -019e7c: 0f01 |0014: return v1 │ │ -019e7e: 6e10 a900 0500 |0015: invoke-virtual {v5}, Landroid/view/MotionEvent;.getAction:()I // method@00a9 │ │ -019e84: 0a04 |0018: move-result v4 │ │ -019e86: 3324 2a00 |0019: if-ne v4, v2, 0043 // +002a │ │ -019e8a: 7020 f902 2300 |001b: invoke-direct {v3, v2}, Ldnsfilter/android/DNSProxyActivity;.getSelectedText:(Z)Ljava/lang/String; // method@02f9 │ │ -019e90: 0c04 |001e: move-result-object v4 │ │ -019e92: 6005 f700 |001f: sget v5, Ldnsfilter/android/DNSProxyActivity;.NO_ACTION_MENU:I // field@00f7 │ │ -019e96: 3a05 2200 |0021: if-ltz v5, 0043 // +0022 │ │ -019e9a: 1a05 0000 |0023: const-string v5, "" // string@0000 │ │ -019e9e: 6e20 8d05 5400 |0025: invoke-virtual {v4, v5}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058d │ │ -019ea4: 0a04 |0028: move-result v4 │ │ -019ea6: 3904 1a00 |0029: if-nez v4, 0043 // +001a │ │ -019eaa: 6004 f700 |002b: sget v4, Ldnsfilter/android/DNSProxyActivity;.NO_ACTION_MENU:I // field@00f7 │ │ -019eae: 3624 0800 |002d: if-gt v4, v2, 0035 // +0008 │ │ -019eb2: b024 |002f: add-int/2addr v4, v2 │ │ -019eb4: 6704 f700 |0030: sput v4, Ldnsfilter/android/DNSProxyActivity;.NO_ACTION_MENU:I // field@00f7 │ │ -019eb8: 7010 ec02 0300 |0032: invoke-direct {v3}, Ldnsfilter/android/DNSProxyActivity;.doAsyncCheck:()V // method@02ec │ │ -019ebe: 6004 f700 |0035: sget v4, Ldnsfilter/android/DNSProxyActivity;.NO_ACTION_MENU:I // field@00f7 │ │ -019ec2: 3724 0c00 |0037: if-le v4, v2, 0043 // +000c │ │ -019ec6: 1404 1900 057f |0039: const v4, #float 1.76788e+38 // #7f050019 │ │ -019ecc: 6e20 f102 4300 |003c: invoke-virtual {v3, v4}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02f1 │ │ -019ed2: 0c04 |003f: move-result-object v4 │ │ -019ed4: 6e20 b400 1400 |0040: invoke-virtual {v4, v1}, Landroid/view/View;.setVisibility:(I)V // method@00b4 │ │ -019eda: 0f01 |0043: return v1 │ │ +019e40: |[019e40] dnsfilter.android.DNSProxyActivity.onTouch:(Landroid/view/View;Landroid/view/MotionEvent;)Z │ │ +019e50: 5530 ea00 |0000: iget-boolean v0, v3, Ldnsfilter/android/DNSProxyActivity;.ACTION_MENU_FALLBACK:Z // field@00ea │ │ +019e54: 3800 0700 |0002: if-eqz v0, 0009 // +0007 │ │ +019e58: 6e30 1f03 4305 |0004: invoke-virtual {v3, v4, v5}, Ldnsfilter/android/DNSProxyActivity;.onTouchActionMenuFallback:(Landroid/view/View;Landroid/view/MotionEvent;)Z // method@031f │ │ +019e5e: 0a04 |0007: move-result v4 │ │ +019e60: 0f04 |0008: return v4 │ │ +019e62: 6004 0200 |0009: sget v4, Landroid/os/Build$VERSION;.SDK_INT:I // field@0002 │ │ +019e66: 1300 1700 |000b: const/16 v0, #int 23 // #17 │ │ +019e6a: 1201 |000d: const/4 v1, #int 0 // #0 │ │ +019e6c: 1212 |000e: const/4 v2, #int 1 // #1 │ │ +019e6e: 3504 0600 |000f: if-ge v4, v0, 0015 // +0006 │ │ +019e72: 7020 f902 2300 |0011: invoke-direct {v3, v2}, Ldnsfilter/android/DNSProxyActivity;.getSelectedText:(Z)Ljava/lang/String; // method@02f9 │ │ +019e78: 0f01 |0014: return v1 │ │ +019e7a: 6e10 a900 0500 |0015: invoke-virtual {v5}, Landroid/view/MotionEvent;.getAction:()I // method@00a9 │ │ +019e80: 0a04 |0018: move-result v4 │ │ +019e82: 3324 2a00 |0019: if-ne v4, v2, 0043 // +002a │ │ +019e86: 7020 f902 2300 |001b: invoke-direct {v3, v2}, Ldnsfilter/android/DNSProxyActivity;.getSelectedText:(Z)Ljava/lang/String; // method@02f9 │ │ +019e8c: 0c04 |001e: move-result-object v4 │ │ +019e8e: 6005 f700 |001f: sget v5, Ldnsfilter/android/DNSProxyActivity;.NO_ACTION_MENU:I // field@00f7 │ │ +019e92: 3a05 2200 |0021: if-ltz v5, 0043 // +0022 │ │ +019e96: 1a05 0000 |0023: const-string v5, "" // string@0000 │ │ +019e9a: 6e20 8d05 5400 |0025: invoke-virtual {v4, v5}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058d │ │ +019ea0: 0a04 |0028: move-result v4 │ │ +019ea2: 3904 1a00 |0029: if-nez v4, 0043 // +001a │ │ +019ea6: 6004 f700 |002b: sget v4, Ldnsfilter/android/DNSProxyActivity;.NO_ACTION_MENU:I // field@00f7 │ │ +019eaa: 3624 0800 |002d: if-gt v4, v2, 0035 // +0008 │ │ +019eae: b024 |002f: add-int/2addr v4, v2 │ │ +019eb0: 6704 f700 |0030: sput v4, Ldnsfilter/android/DNSProxyActivity;.NO_ACTION_MENU:I // field@00f7 │ │ +019eb4: 7010 ec02 0300 |0032: invoke-direct {v3}, Ldnsfilter/android/DNSProxyActivity;.doAsyncCheck:()V // method@02ec │ │ +019eba: 6004 f700 |0035: sget v4, Ldnsfilter/android/DNSProxyActivity;.NO_ACTION_MENU:I // field@00f7 │ │ +019ebe: 3724 0c00 |0037: if-le v4, v2, 0043 // +000c │ │ +019ec2: 1404 1900 057f |0039: const v4, #float 1.76788e+38 // #7f050019 │ │ +019ec8: 6e20 f102 4300 |003c: invoke-virtual {v3, v4}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02f1 │ │ +019ece: 0c04 |003f: move-result-object v4 │ │ +019ed0: 6e20 b400 1400 |0040: invoke-virtual {v4, v1}, Landroid/view/View;.setVisibility:(I)V // method@00b4 │ │ +019ed6: 0f01 |0043: return v1 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=1767 │ │ 0x0004 line=1768 │ │ 0x0009 line=1770 │ │ 0x0011 line=1771 │ │ 0x0015 line=1775 │ │ @@ -47982,62 +47982,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 │ │ -019edc: |[019edc] dnsfilter.android.DNSProxyActivity.onTouchActionMenuFallback:(Landroid/view/View;Landroid/view/MotionEvent;)Z │ │ -019eec: 6e10 a900 0400 |0000: invoke-virtual {v4}, Landroid/view/MotionEvent;.getAction:()I // method@00a9 │ │ -019ef2: 0a03 |0003: move-result v3 │ │ -019ef4: 1400 1900 057f |0004: const v0, #float 1.76788e+38 // #7f050019 │ │ -019efa: 1201 |0007: const/4 v1, #int 0 // #0 │ │ -019efc: 3903 2300 |0008: if-nez v3, 002b // +0023 │ │ -019f00: 6e20 f102 0200 |000a: invoke-virtual {v2, v0}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02f1 │ │ -019f06: 0c03 |000d: move-result-object v3 │ │ -019f08: 6e10 b000 0300 |000e: invoke-virtual {v3}, Landroid/view/View;.getVisibility:()I // method@00b0 │ │ -019f0e: 0a03 |0011: move-result v3 │ │ -019f10: 3903 1900 |0012: if-nez v3, 002b // +0019 │ │ -019f14: 6e20 f102 0200 |0014: invoke-virtual {v2, v0}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02f1 │ │ -019f1a: 0c03 |0017: move-result-object v3 │ │ -019f1c: 1304 0800 |0018: const/16 v4, #int 8 // #8 │ │ -019f20: 6e20 b400 4300 |001a: invoke-virtual {v3, v4}, Landroid/view/View;.setVisibility:(I)V // method@00b4 │ │ -019f26: 6203 2001 |001d: sget-object v3, Ldnsfilter/android/DNSProxyActivity;.logOutView:Landroid/widget/EditText; // field@0120 │ │ -019f2a: 6e10 da00 0300 |001f: invoke-virtual {v3}, Landroid/widget/EditText;.getText:()Landroid/text/Editable; // method@00da │ │ -019f30: 0c04 |0022: move-result-object v4 │ │ -019f32: 7210 9900 0400 |0023: invoke-interface {v4}, Landroid/text/Editable;.length:()I // method@0099 │ │ -019f38: 0a04 |0026: move-result v4 │ │ -019f3a: 6e20 e400 4300 |0027: invoke-virtual {v3, v4}, Landroid/widget/EditText;.setSelection:(I)V // method@00e4 │ │ -019f40: 0f01 |002a: return v1 │ │ -019f42: 6e10 a900 0400 |002b: invoke-virtual {v4}, Landroid/view/MotionEvent;.getAction:()I // method@00a9 │ │ -019f48: 0a03 |002e: move-result v3 │ │ -019f4a: 1214 |002f: const/4 v4, #int 1 // #1 │ │ -019f4c: 3343 2e00 |0030: if-ne v3, v4, 005e // +002e │ │ -019f50: 7020 f902 4200 |0032: invoke-direct {v2, v4}, Ldnsfilter/android/DNSProxyActivity;.getSelectedText:(Z)Ljava/lang/String; // method@02f9 │ │ -019f56: 0c03 |0035: move-result-object v3 │ │ -019f58: 6204 f300 |0036: sget-object v4, Ldnsfilter/android/DNSProxyActivity;.IN_FILTER_PREF:Ljava/lang/String; // field@00f3 │ │ -019f5c: 6e20 9b05 4300 |0038: invoke-virtual {v3, v4}, Ljava/lang/String;.startsWith:(Ljava/lang/String;)Z // method@059b │ │ -019f62: 0a04 |003b: move-result v4 │ │ -019f64: 3904 0a00 |003c: if-nez v4, 0046 // +000a │ │ -019f68: 6204 f800 |003e: sget-object v4, Ldnsfilter/android/DNSProxyActivity;.NO_FILTER_PREF:Ljava/lang/String; // field@00f8 │ │ -019f6c: 6e20 9b05 4300 |0040: invoke-virtual {v3, v4}, Ljava/lang/String;.startsWith:(Ljava/lang/String;)Z // method@059b │ │ -019f72: 0a03 |0043: move-result v3 │ │ -019f74: 3803 1a00 |0044: if-eqz v3, 005e // +001a │ │ -019f78: 6203 2001 |0046: sget-object v3, Ldnsfilter/android/DNSProxyActivity;.logOutView:Landroid/widget/EditText; // field@0120 │ │ -019f7c: 6e10 d900 0300 |0048: invoke-virtual {v3}, Landroid/widget/EditText;.getSelectionStart:()I // method@00d9 │ │ -019f82: 0a03 |004b: move-result v3 │ │ -019f84: 6204 2001 |004c: sget-object v4, Ldnsfilter/android/DNSProxyActivity;.logOutView:Landroid/widget/EditText; // field@0120 │ │ -019f88: 6e10 d800 0400 |004e: invoke-virtual {v4}, Landroid/widget/EditText;.getSelectionEnd:()I // method@00d8 │ │ -019f8e: 0a04 |0051: move-result v4 │ │ -019f90: 6e20 f102 0200 |0052: invoke-virtual {v2, v0}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02f1 │ │ -019f96: 0c00 |0055: move-result-object v0 │ │ -019f98: 6e20 b400 1000 |0056: invoke-virtual {v0, v1}, Landroid/view/View;.setVisibility:(I)V // method@00b4 │ │ -019f9e: 6200 2001 |0059: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.logOutView:Landroid/widget/EditText; // field@0120 │ │ -019fa2: 6e30 e500 3004 |005b: invoke-virtual {v0, v3, v4}, Landroid/widget/EditText;.setSelection:(II)V // method@00e5 │ │ -019fa8: 0f01 |005e: return v1 │ │ +019ed8: |[019ed8] dnsfilter.android.DNSProxyActivity.onTouchActionMenuFallback:(Landroid/view/View;Landroid/view/MotionEvent;)Z │ │ +019ee8: 6e10 a900 0400 |0000: invoke-virtual {v4}, Landroid/view/MotionEvent;.getAction:()I // method@00a9 │ │ +019eee: 0a03 |0003: move-result v3 │ │ +019ef0: 1400 1900 057f |0004: const v0, #float 1.76788e+38 // #7f050019 │ │ +019ef6: 1201 |0007: const/4 v1, #int 0 // #0 │ │ +019ef8: 3903 2300 |0008: if-nez v3, 002b // +0023 │ │ +019efc: 6e20 f102 0200 |000a: invoke-virtual {v2, v0}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02f1 │ │ +019f02: 0c03 |000d: move-result-object v3 │ │ +019f04: 6e10 b000 0300 |000e: invoke-virtual {v3}, Landroid/view/View;.getVisibility:()I // method@00b0 │ │ +019f0a: 0a03 |0011: move-result v3 │ │ +019f0c: 3903 1900 |0012: if-nez v3, 002b // +0019 │ │ +019f10: 6e20 f102 0200 |0014: invoke-virtual {v2, v0}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02f1 │ │ +019f16: 0c03 |0017: move-result-object v3 │ │ +019f18: 1304 0800 |0018: const/16 v4, #int 8 // #8 │ │ +019f1c: 6e20 b400 4300 |001a: invoke-virtual {v3, v4}, Landroid/view/View;.setVisibility:(I)V // method@00b4 │ │ +019f22: 6203 2001 |001d: sget-object v3, Ldnsfilter/android/DNSProxyActivity;.logOutView:Landroid/widget/EditText; // field@0120 │ │ +019f26: 6e10 da00 0300 |001f: invoke-virtual {v3}, Landroid/widget/EditText;.getText:()Landroid/text/Editable; // method@00da │ │ +019f2c: 0c04 |0022: move-result-object v4 │ │ +019f2e: 7210 9900 0400 |0023: invoke-interface {v4}, Landroid/text/Editable;.length:()I // method@0099 │ │ +019f34: 0a04 |0026: move-result v4 │ │ +019f36: 6e20 e400 4300 |0027: invoke-virtual {v3, v4}, Landroid/widget/EditText;.setSelection:(I)V // method@00e4 │ │ +019f3c: 0f01 |002a: return v1 │ │ +019f3e: 6e10 a900 0400 |002b: invoke-virtual {v4}, Landroid/view/MotionEvent;.getAction:()I // method@00a9 │ │ +019f44: 0a03 |002e: move-result v3 │ │ +019f46: 1214 |002f: const/4 v4, #int 1 // #1 │ │ +019f48: 3343 2e00 |0030: if-ne v3, v4, 005e // +002e │ │ +019f4c: 7020 f902 4200 |0032: invoke-direct {v2, v4}, Ldnsfilter/android/DNSProxyActivity;.getSelectedText:(Z)Ljava/lang/String; // method@02f9 │ │ +019f52: 0c03 |0035: move-result-object v3 │ │ +019f54: 6204 f300 |0036: sget-object v4, Ldnsfilter/android/DNSProxyActivity;.IN_FILTER_PREF:Ljava/lang/String; // field@00f3 │ │ +019f58: 6e20 9b05 4300 |0038: invoke-virtual {v3, v4}, Ljava/lang/String;.startsWith:(Ljava/lang/String;)Z // method@059b │ │ +019f5e: 0a04 |003b: move-result v4 │ │ +019f60: 3904 0a00 |003c: if-nez v4, 0046 // +000a │ │ +019f64: 6204 f800 |003e: sget-object v4, Ldnsfilter/android/DNSProxyActivity;.NO_FILTER_PREF:Ljava/lang/String; // field@00f8 │ │ +019f68: 6e20 9b05 4300 |0040: invoke-virtual {v3, v4}, Ljava/lang/String;.startsWith:(Ljava/lang/String;)Z // method@059b │ │ +019f6e: 0a03 |0043: move-result v3 │ │ +019f70: 3803 1a00 |0044: if-eqz v3, 005e // +001a │ │ +019f74: 6203 2001 |0046: sget-object v3, Ldnsfilter/android/DNSProxyActivity;.logOutView:Landroid/widget/EditText; // field@0120 │ │ +019f78: 6e10 d900 0300 |0048: invoke-virtual {v3}, Landroid/widget/EditText;.getSelectionStart:()I // method@00d9 │ │ +019f7e: 0a03 |004b: move-result v3 │ │ +019f80: 6204 2001 |004c: sget-object v4, Ldnsfilter/android/DNSProxyActivity;.logOutView:Landroid/widget/EditText; // field@0120 │ │ +019f84: 6e10 d800 0400 |004e: invoke-virtual {v4}, Landroid/widget/EditText;.getSelectionEnd:()I // method@00d8 │ │ +019f8a: 0a04 |0051: move-result v4 │ │ +019f8c: 6e20 f102 0200 |0052: invoke-virtual {v2, v0}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02f1 │ │ +019f92: 0c00 |0055: move-result-object v0 │ │ +019f94: 6e20 b400 1000 |0056: invoke-virtual {v0, v1}, Landroid/view/View;.setVisibility:(I)V // method@00b4 │ │ +019f9a: 6200 2001 |0059: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.logOutView:Landroid/widget/EditText; // field@0120 │ │ +019f9e: 6e30 e500 3004 |005b: invoke-virtual {v0, v3, v4}, Landroid/widget/EditText;.setSelection:(II)V // method@00e5 │ │ +019fa4: 0f01 |005e: return v1 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=1744 │ │ 0x0014 line=1745 │ │ 0x001d line=1746 │ │ 0x002b line=1749 │ │ 0x0032 line=1751 │ │ @@ -48056,29 +48056,29 @@ │ │ type : '(Z)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 3 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 30 16-bit code units │ │ -01c93c: |[01c93c] dnsfilter.android.DNSProxyActivity.onWindowFocusChanged:(Z)V │ │ -01c94c: 6f20 0800 2100 |0000: invoke-super {v1, v2}, Landroid/app/Activity;.onWindowFocusChanged:(Z)V // method@0008 │ │ -01c952: 3802 1a00 |0003: if-eqz v2, 001d // +001a │ │ -01c956: 6302 3301 |0005: sget-boolean v2, Ldnsfilter/android/DNSProxyActivity;.scroll_locked:Z // field@0133 │ │ -01c95a: 3902 1600 |0007: if-nez v2, 001d // +0016 │ │ -01c95e: 6202 2001 |0009: sget-object v2, Ldnsfilter/android/DNSProxyActivity;.logOutView:Landroid/widget/EditText; // field@0120 │ │ -01c962: 6e10 da00 0200 |000b: invoke-virtual {v2}, Landroid/widget/EditText;.getText:()Landroid/text/Editable; // method@00da │ │ -01c968: 0c00 |000e: move-result-object v0 │ │ -01c96a: 7210 9900 0000 |000f: invoke-interface {v0}, Landroid/text/Editable;.length:()I // method@0099 │ │ -01c970: 0a00 |0012: move-result v0 │ │ -01c972: 6e20 e400 0200 |0013: invoke-virtual {v2, v0}, Landroid/widget/EditText;.setSelection:(I)V // method@00e4 │ │ -01c978: 5412 3201 |0016: iget-object v2, v1, Ldnsfilter/android/DNSProxyActivity;.scrollView:Landroid/widget/ScrollView; // field@0132 │ │ -01c97c: 1300 8200 |0018: const/16 v0, #int 130 // #82 │ │ -01c980: 6e20 f400 0200 |001a: invoke-virtual {v2, v0}, Landroid/widget/ScrollView;.fullScroll:(I)Z // method@00f4 │ │ -01c986: 0e00 |001d: return-void │ │ +01c938: |[01c938] dnsfilter.android.DNSProxyActivity.onWindowFocusChanged:(Z)V │ │ +01c948: 6f20 0800 2100 |0000: invoke-super {v1, v2}, Landroid/app/Activity;.onWindowFocusChanged:(Z)V // method@0008 │ │ +01c94e: 3802 1a00 |0003: if-eqz v2, 001d // +001a │ │ +01c952: 6302 3301 |0005: sget-boolean v2, Ldnsfilter/android/DNSProxyActivity;.scroll_locked:Z // field@0133 │ │ +01c956: 3902 1600 |0007: if-nez v2, 001d // +0016 │ │ +01c95a: 6202 2001 |0009: sget-object v2, Ldnsfilter/android/DNSProxyActivity;.logOutView:Landroid/widget/EditText; // field@0120 │ │ +01c95e: 6e10 da00 0200 |000b: invoke-virtual {v2}, Landroid/widget/EditText;.getText:()Landroid/text/Editable; // method@00da │ │ +01c964: 0c00 |000e: move-result-object v0 │ │ +01c966: 7210 9900 0000 |000f: invoke-interface {v0}, Landroid/text/Editable;.length:()I // method@0099 │ │ +01c96c: 0a00 |0012: move-result v0 │ │ +01c96e: 6e20 e400 0200 |0013: invoke-virtual {v2, v0}, Landroid/widget/EditText;.setSelection:(I)V // method@00e4 │ │ +01c974: 5412 3201 |0016: iget-object v2, v1, Ldnsfilter/android/DNSProxyActivity;.scrollView:Landroid/widget/ScrollView; // field@0132 │ │ +01c978: 1300 8200 |0018: const/16 v0, #int 130 // #82 │ │ +01c97c: 6e20 f400 0200 |001a: invoke-virtual {v2, v0}, Landroid/widget/ScrollView;.fullScroll:(I)Z // method@00f4 │ │ +01c982: 0e00 |001d: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=1029 │ │ 0x0005 line=1030 │ │ 0x0009 line=1031 │ │ 0x0016 line=1032 │ │ locals : │ │ @@ -48090,52 +48090,52 @@ │ │ type : '()Z' │ │ access : 0x0004 (PROTECTED) │ │ code - │ │ registers : 6 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 70 16-bit code units │ │ -019fac: |[019fac] dnsfilter.android.DNSProxyActivity.persistAdditionalHosts:()Z │ │ -019fbc: 6200 0201 |0000: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.additionalHostsField:Landroid/widget/EditText; // field@0102 │ │ -019fc0: 6e10 da00 0000 |0002: invoke-virtual {v0}, Landroid/widget/EditText;.getText:()Landroid/text/Editable; // method@00da │ │ -019fc6: 0c00 |0005: move-result-object v0 │ │ -019fc8: 6e10 7a05 0000 |0006: invoke-virtual {v0}, Ljava/lang/Object;.toString:()Ljava/lang/String; // method@057a │ │ -019fce: 0c00 |0009: move-result-object v0 │ │ -019fd0: 1a01 0000 |000a: const-string v1, "" // string@0000 │ │ -019fd4: 6e20 8d05 1000 |000c: invoke-virtual {v0, v1}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058d │ │ -019fda: 0a01 |000f: move-result v1 │ │ -019fdc: 3901 3400 |0010: if-nez v1, 0044 // +0034 │ │ -019fe0: 6201 eb00 |0012: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.ADDITIONAL_HOSTS_TO_LONG:Ljava/lang/String; // field@00eb │ │ -019fe4: 6e20 8d05 1000 |0014: invoke-virtual {v0, v1}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058d │ │ -019fea: 0a01 |0017: move-result v1 │ │ -019fec: 3901 2c00 |0018: if-nez v1, 0044 // +002c │ │ -019ff0: 6301 0101 |001a: sget-boolean v1, Ldnsfilter/android/DNSProxyActivity;.additionalHostsChanged:Z // field@0101 │ │ -019ff4: 3801 2800 |001c: if-eqz v1, 0044 // +0028 │ │ -019ff8: 1211 |001e: const/4 v1, #int 1 // #1 │ │ -019ffa: 6202 ed00 |001f: sget-object v2, Ldnsfilter/android/DNSProxyActivity;.CONFIG:Ldnsfilter/ConfigurationAccess; // field@00ed │ │ -019ffe: 6e10 8f05 0000 |0021: invoke-virtual {v0}, Ljava/lang/String;.getBytes:()[B // method@058f │ │ -01a004: 0c00 |0024: move-result-object v0 │ │ -01a006: 6e20 6001 0200 |0025: invoke-virtual {v2, v0}, Ldnsfilter/ConfigurationAccess;.updateAdditionalHosts:([B)V // method@0160 │ │ -01a00c: 0f01 |0028: return v1 │ │ -01a00e: 0d00 |0029: move-exception v0 │ │ -01a010: 7100 2707 0000 |002a: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0727 │ │ -01a016: 0c02 |002d: move-result-object v2 │ │ -01a018: 2203 2d01 |002e: new-instance v3, Ljava/lang/StringBuilder; // type@012d │ │ -01a01c: 1a04 fa00 |0030: const-string v4, "Cannot persistAdditionalHosts! │ │ +019fa8: |[019fa8] dnsfilter.android.DNSProxyActivity.persistAdditionalHosts:()Z │ │ +019fb8: 6200 0201 |0000: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.additionalHostsField:Landroid/widget/EditText; // field@0102 │ │ +019fbc: 6e10 da00 0000 |0002: invoke-virtual {v0}, Landroid/widget/EditText;.getText:()Landroid/text/Editable; // method@00da │ │ +019fc2: 0c00 |0005: move-result-object v0 │ │ +019fc4: 6e10 7a05 0000 |0006: invoke-virtual {v0}, Ljava/lang/Object;.toString:()Ljava/lang/String; // method@057a │ │ +019fca: 0c00 |0009: move-result-object v0 │ │ +019fcc: 1a01 0000 |000a: const-string v1, "" // string@0000 │ │ +019fd0: 6e20 8d05 1000 |000c: invoke-virtual {v0, v1}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058d │ │ +019fd6: 0a01 |000f: move-result v1 │ │ +019fd8: 3901 3400 |0010: if-nez v1, 0044 // +0034 │ │ +019fdc: 6201 eb00 |0012: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.ADDITIONAL_HOSTS_TO_LONG:Ljava/lang/String; // field@00eb │ │ +019fe0: 6e20 8d05 1000 |0014: invoke-virtual {v0, v1}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058d │ │ +019fe6: 0a01 |0017: move-result v1 │ │ +019fe8: 3901 2c00 |0018: if-nez v1, 0044 // +002c │ │ +019fec: 6301 0101 |001a: sget-boolean v1, Ldnsfilter/android/DNSProxyActivity;.additionalHostsChanged:Z // field@0101 │ │ +019ff0: 3801 2800 |001c: if-eqz v1, 0044 // +0028 │ │ +019ff4: 1211 |001e: const/4 v1, #int 1 // #1 │ │ +019ff6: 6202 ed00 |001f: sget-object v2, Ldnsfilter/android/DNSProxyActivity;.CONFIG:Ldnsfilter/ConfigurationAccess; // field@00ed │ │ +019ffa: 6e10 8f05 0000 |0021: invoke-virtual {v0}, Ljava/lang/String;.getBytes:()[B // method@058f │ │ +01a000: 0c00 |0024: move-result-object v0 │ │ +01a002: 6e20 6001 0200 |0025: invoke-virtual {v2, v0}, Ldnsfilter/ConfigurationAccess;.updateAdditionalHosts:([B)V // method@0160 │ │ +01a008: 0f01 |0028: return v1 │ │ +01a00a: 0d00 |0029: move-exception v0 │ │ +01a00c: 7100 2707 0000 |002a: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0727 │ │ +01a012: 0c02 |002d: move-result-object v2 │ │ +01a014: 2203 2d01 |002e: new-instance v3, Ljava/lang/StringBuilder; // type@012d │ │ +01a018: 1a04 fa00 |0030: const-string v4, "Cannot persistAdditionalHosts! │ │ " // string@00fa │ │ -01a020: 7020 aa05 4300 |0032: invoke-direct {v3, v4}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05aa │ │ -01a026: 6e10 2605 0000 |0035: invoke-virtual {v0}, Ljava/io/IOException;.toString:()Ljava/lang/String; // method@0526 │ │ -01a02c: 0c00 |0038: move-result-object v0 │ │ -01a02e: 6e20 af05 0300 |0039: invoke-virtual {v3, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -01a034: 6e10 b105 0300 |003c: invoke-virtual {v3}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ -01a03a: 0c00 |003f: move-result-object v0 │ │ -01a03c: 7220 3307 0200 |0040: invoke-interface {v2, v0}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0733 │ │ -01a042: 0f01 |0043: return v1 │ │ -01a044: 1200 |0044: const/4 v0, #int 0 // #0 │ │ -01a046: 0f00 |0045: return v0 │ │ +01a01c: 7020 aa05 4300 |0032: invoke-direct {v3, v4}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05aa │ │ +01a022: 6e10 2605 0000 |0035: invoke-virtual {v0}, Ljava/io/IOException;.toString:()Ljava/lang/String; // method@0526 │ │ +01a028: 0c00 |0038: move-result-object v0 │ │ +01a02a: 6e20 af05 0300 |0039: invoke-virtual {v3, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +01a030: 6e10 b105 0300 |003c: invoke-virtual {v3}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ +01a036: 0c00 |003f: move-result-object v0 │ │ +01a038: 7220 3307 0200 |0040: invoke-interface {v2, v0}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0733 │ │ +01a03e: 0f01 |0043: return v1 │ │ +01a040: 1200 |0044: const/4 v0, #int 0 // #0 │ │ +01a042: 0f00 |0045: return v0 │ │ catches : 1 │ │ 0x001f - 0x0028 │ │ Ljava/io/IOException; -> 0x0029 │ │ positions : │ │ 0x0000 line=817 │ │ 0x000a line=818 │ │ 0x001a line=819 │ │ @@ -48149,49 +48149,49 @@ │ │ type : '()Z' │ │ access : 0x0004 (PROTECTED) │ │ code - │ │ registers : 6 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 65 16-bit code units │ │ -01a058: |[01a058] dnsfilter.android.DNSProxyActivity.persistManuallyEditConf:()Z │ │ -01a068: 6200 2301 |0000: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.manuallyEditField:Landroid/widget/EditText; // field@0123 │ │ -01a06c: 6e10 da00 0000 |0002: invoke-virtual {v0}, Landroid/widget/EditText;.getText:()Landroid/text/Editable; // method@00da │ │ -01a072: 0c00 |0005: move-result-object v0 │ │ -01a074: 6e10 7a05 0000 |0006: invoke-virtual {v0}, Ljava/lang/Object;.toString:()Ljava/lang/String; // method@057a │ │ -01a07a: 0c00 |0009: move-result-object v0 │ │ -01a07c: 1a01 0000 |000a: const-string v1, "" // string@0000 │ │ -01a080: 6e20 8d05 1000 |000c: invoke-virtual {v0, v1}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058d │ │ -01a086: 0a01 |000f: move-result v1 │ │ -01a088: 1202 |0010: const/4 v2, #int 0 // #0 │ │ -01a08a: 3901 2f00 |0011: if-nez v1, 0040 // +002f │ │ -01a08e: 6301 2101 |0013: sget-boolean v1, Ldnsfilter/android/DNSProxyActivity;.manuallyConfEdited:Z // field@0121 │ │ -01a092: 3801 2b00 |0015: if-eqz v1, 0040 // +002b │ │ -01a096: 1211 |0017: const/4 v1, #int 1 // #1 │ │ -01a098: 6203 ed00 |0018: sget-object v3, Ldnsfilter/android/DNSProxyActivity;.CONFIG:Ldnsfilter/ConfigurationAccess; // field@00ed │ │ -01a09c: 6e10 8f05 0000 |001a: invoke-virtual {v0}, Ljava/lang/String;.getBytes:()[B // method@058f │ │ -01a0a2: 0c00 |001d: move-result-object v0 │ │ -01a0a4: 6e20 6201 0300 |001e: invoke-virtual {v3, v0}, Ldnsfilter/ConfigurationAccess;.updateConfigMergeDefaults:([B)V // method@0162 │ │ -01a0aa: 6e20 0603 2500 |0021: invoke-virtual {v5, v2}, Ldnsfilter/android/DNSProxyActivity;.loadAndApplyConfig:(Z)V // method@0306 │ │ -01a0b0: 0f01 |0024: return v1 │ │ -01a0b2: 0d00 |0025: move-exception v0 │ │ -01a0b4: 7100 2707 0000 |0026: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0727 │ │ -01a0ba: 0c02 |0029: move-result-object v2 │ │ -01a0bc: 2203 2d01 |002a: new-instance v3, Ljava/lang/StringBuilder; // type@012d │ │ -01a0c0: 1a04 f900 |002c: const-string v4, "Cannot persist manually edited config! │ │ +01a054: |[01a054] dnsfilter.android.DNSProxyActivity.persistManuallyEditConf:()Z │ │ +01a064: 6200 2301 |0000: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.manuallyEditField:Landroid/widget/EditText; // field@0123 │ │ +01a068: 6e10 da00 0000 |0002: invoke-virtual {v0}, Landroid/widget/EditText;.getText:()Landroid/text/Editable; // method@00da │ │ +01a06e: 0c00 |0005: move-result-object v0 │ │ +01a070: 6e10 7a05 0000 |0006: invoke-virtual {v0}, Ljava/lang/Object;.toString:()Ljava/lang/String; // method@057a │ │ +01a076: 0c00 |0009: move-result-object v0 │ │ +01a078: 1a01 0000 |000a: const-string v1, "" // string@0000 │ │ +01a07c: 6e20 8d05 1000 |000c: invoke-virtual {v0, v1}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058d │ │ +01a082: 0a01 |000f: move-result v1 │ │ +01a084: 1202 |0010: const/4 v2, #int 0 // #0 │ │ +01a086: 3901 2f00 |0011: if-nez v1, 0040 // +002f │ │ +01a08a: 6301 2101 |0013: sget-boolean v1, Ldnsfilter/android/DNSProxyActivity;.manuallyConfEdited:Z // field@0121 │ │ +01a08e: 3801 2b00 |0015: if-eqz v1, 0040 // +002b │ │ +01a092: 1211 |0017: const/4 v1, #int 1 // #1 │ │ +01a094: 6203 ed00 |0018: sget-object v3, Ldnsfilter/android/DNSProxyActivity;.CONFIG:Ldnsfilter/ConfigurationAccess; // field@00ed │ │ +01a098: 6e10 8f05 0000 |001a: invoke-virtual {v0}, Ljava/lang/String;.getBytes:()[B // method@058f │ │ +01a09e: 0c00 |001d: move-result-object v0 │ │ +01a0a0: 6e20 6201 0300 |001e: invoke-virtual {v3, v0}, Ldnsfilter/ConfigurationAccess;.updateConfigMergeDefaults:([B)V // method@0162 │ │ +01a0a6: 6e20 0603 2500 |0021: invoke-virtual {v5, v2}, Ldnsfilter/android/DNSProxyActivity;.loadAndApplyConfig:(Z)V // method@0306 │ │ +01a0ac: 0f01 |0024: return v1 │ │ +01a0ae: 0d00 |0025: move-exception v0 │ │ +01a0b0: 7100 2707 0000 |0026: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0727 │ │ +01a0b6: 0c02 |0029: move-result-object v2 │ │ +01a0b8: 2203 2d01 |002a: new-instance v3, Ljava/lang/StringBuilder; // type@012d │ │ +01a0bc: 1a04 f900 |002c: const-string v4, "Cannot persist manually edited config! │ │ " // string@00f9 │ │ -01a0c4: 7020 aa05 4300 |002e: invoke-direct {v3, v4}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05aa │ │ -01a0ca: 6e10 2605 0000 |0031: invoke-virtual {v0}, Ljava/io/IOException;.toString:()Ljava/lang/String; // method@0526 │ │ -01a0d0: 0c00 |0034: move-result-object v0 │ │ -01a0d2: 6e20 af05 0300 |0035: invoke-virtual {v3, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -01a0d8: 6e10 b105 0300 |0038: invoke-virtual {v3}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ -01a0de: 0c00 |003b: move-result-object v0 │ │ -01a0e0: 7220 3307 0200 |003c: invoke-interface {v2, v0}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0733 │ │ -01a0e6: 0f01 |003f: return v1 │ │ -01a0e8: 0f02 |0040: return v2 │ │ +01a0c0: 7020 aa05 4300 |002e: invoke-direct {v3, v4}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05aa │ │ +01a0c6: 6e10 2605 0000 |0031: invoke-virtual {v0}, Ljava/io/IOException;.toString:()Ljava/lang/String; // method@0526 │ │ +01a0cc: 0c00 |0034: move-result-object v0 │ │ +01a0ce: 6e20 af05 0300 |0035: invoke-virtual {v3, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +01a0d4: 6e10 b105 0300 |0038: invoke-virtual {v3}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ +01a0da: 0c00 |003b: move-result-object v0 │ │ +01a0dc: 7220 3307 0200 |003c: invoke-interface {v2, v0}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0733 │ │ +01a0e2: 0f01 |003f: return v1 │ │ +01a0e4: 0f02 |0040: return v2 │ │ catches : 1 │ │ 0x0018 - 0x0024 │ │ Ljava/io/IOException; -> 0x0025 │ │ positions : │ │ 0x0000 line=832 │ │ 0x000a line=833 │ │ 0x0013 line=834 │ │ @@ -48206,29 +48206,29 @@ │ │ type : '()V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 5 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 29 16-bit code units │ │ -01d128: |[01d128] dnsfilter.android.DNSProxyActivity.remoteReleaseWakeLock:()V │ │ -01d138: 6200 ed00 |0000: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.CONFIG:Ldnsfilter/ConfigurationAccess; // field@00ed │ │ -01d13c: 6e10 5b01 0000 |0002: invoke-virtual {v0}, Ldnsfilter/ConfigurationAccess;.releaseWakeLock:()V // method@015b │ │ -01d142: 2817 |0005: goto 001c // +0017 │ │ -01d144: 0d00 |0006: move-exception v0 │ │ -01d146: 7100 2707 0000 |0007: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0727 │ │ -01d14c: 0c01 |000a: move-result-object v1 │ │ -01d14e: 2202 2d01 |000b: new-instance v2, Ljava/lang/StringBuilder; // type@012d │ │ -01d152: 1a03 d609 |000d: const-string v3, "releaseWakeLock failed! " // string@09d6 │ │ -01d156: 7020 aa05 3200 |000f: invoke-direct {v2, v3}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05aa │ │ -01d15c: 6e20 ae05 0200 |0012: invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@05ae │ │ -01d162: 6e10 b105 0200 |0015: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ -01d168: 0c00 |0018: move-result-object v0 │ │ -01d16a: 7220 3307 0100 |0019: invoke-interface {v1, v0}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0733 │ │ -01d170: 0e00 |001c: return-void │ │ +01d124: |[01d124] dnsfilter.android.DNSProxyActivity.remoteReleaseWakeLock:()V │ │ +01d134: 6200 ed00 |0000: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.CONFIG:Ldnsfilter/ConfigurationAccess; // field@00ed │ │ +01d138: 6e10 5b01 0000 |0002: invoke-virtual {v0}, Ldnsfilter/ConfigurationAccess;.releaseWakeLock:()V // method@015b │ │ +01d13e: 2817 |0005: goto 001c // +0017 │ │ +01d140: 0d00 |0006: move-exception v0 │ │ +01d142: 7100 2707 0000 |0007: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0727 │ │ +01d148: 0c01 |000a: move-result-object v1 │ │ +01d14a: 2202 2d01 |000b: new-instance v2, Ljava/lang/StringBuilder; // type@012d │ │ +01d14e: 1a03 d609 |000d: const-string v3, "releaseWakeLock failed! " // string@09d6 │ │ +01d152: 7020 aa05 3200 |000f: invoke-direct {v2, v3}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05aa │ │ +01d158: 6e20 ae05 0200 |0012: invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@05ae │ │ +01d15e: 6e10 b105 0200 |0015: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ +01d164: 0c00 |0018: move-result-object v0 │ │ +01d166: 7220 3307 0100 |0019: invoke-interface {v1, v0}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0733 │ │ +01d16c: 0e00 |001c: return-void │ │ catches : 1 │ │ 0x0000 - 0x0005 │ │ Ljava/io/IOException; -> 0x0006 │ │ positions : │ │ 0x0000 line=1884 │ │ 0x0007 line=1886 │ │ locals : │ │ @@ -48239,29 +48239,29 @@ │ │ type : '()V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 5 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 29 16-bit code units │ │ -01d184: |[01d184] dnsfilter.android.DNSProxyActivity.remoteWakeLock:()V │ │ -01d194: 6200 ed00 |0000: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.CONFIG:Ldnsfilter/ConfigurationAccess; // field@00ed │ │ -01d198: 6e10 6401 0000 |0002: invoke-virtual {v0}, Ldnsfilter/ConfigurationAccess;.wakeLock:()V // method@0164 │ │ -01d19e: 2817 |0005: goto 001c // +0017 │ │ -01d1a0: 0d00 |0006: move-exception v0 │ │ -01d1a2: 7100 2707 0000 |0007: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0727 │ │ -01d1a8: 0c01 |000a: move-result-object v1 │ │ -01d1aa: 2202 2d01 |000b: new-instance v2, Ljava/lang/StringBuilder; // type@012d │ │ -01d1ae: 1a03 dd04 |000d: const-string v3, "WakeLock failed! " // string@04dd │ │ -01d1b2: 7020 aa05 3200 |000f: invoke-direct {v2, v3}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05aa │ │ -01d1b8: 6e20 ae05 0200 |0012: invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@05ae │ │ -01d1be: 6e10 b105 0200 |0015: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ -01d1c4: 0c00 |0018: move-result-object v0 │ │ -01d1c6: 7220 3307 0100 |0019: invoke-interface {v1, v0}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0733 │ │ -01d1cc: 0e00 |001c: return-void │ │ +01d180: |[01d180] dnsfilter.android.DNSProxyActivity.remoteWakeLock:()V │ │ +01d190: 6200 ed00 |0000: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.CONFIG:Ldnsfilter/ConfigurationAccess; // field@00ed │ │ +01d194: 6e10 6401 0000 |0002: invoke-virtual {v0}, Ldnsfilter/ConfigurationAccess;.wakeLock:()V // method@0164 │ │ +01d19a: 2817 |0005: goto 001c // +0017 │ │ +01d19c: 0d00 |0006: move-exception v0 │ │ +01d19e: 7100 2707 0000 |0007: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0727 │ │ +01d1a4: 0c01 |000a: move-result-object v1 │ │ +01d1a6: 2202 2d01 |000b: new-instance v2, Ljava/lang/StringBuilder; // type@012d │ │ +01d1aa: 1a03 dd04 |000d: const-string v3, "WakeLock failed! " // string@04dd │ │ +01d1ae: 7020 aa05 3200 |000f: invoke-direct {v2, v3}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05aa │ │ +01d1b4: 6e20 ae05 0200 |0012: invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@05ae │ │ +01d1ba: 6e10 b105 0200 |0015: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ +01d1c0: 0c00 |0018: move-result-object v0 │ │ +01d1c2: 7220 3307 0100 |0019: invoke-interface {v1, v0}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0733 │ │ +01d1c8: 0e00 |001c: return-void │ │ catches : 1 │ │ 0x0000 - 0x0005 │ │ Ljava/io/IOException; -> 0x0006 │ │ positions : │ │ 0x0000 line=1876 │ │ 0x0007 line=1878 │ │ locals : │ │ @@ -48272,62 +48272,62 @@ │ │ type : '(Z)V' │ │ access : 0x0004 (PROTECTED) │ │ code - │ │ registers : 11 │ │ ins : 2 │ │ outs : 3 │ │ insns size : 99 16-bit code units │ │ -01d25c: |[01d25c] dnsfilter.android.DNSProxyActivity.showFilterRate:(Z)V │ │ -01d26c: 6200 ed00 |0000: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.CONFIG:Ldnsfilter/ConfigurationAccess; // field@00ed │ │ -01d270: 6e10 5101 0000 |0002: invoke-virtual {v0}, Ldnsfilter/ConfigurationAccess;.getFilterStatistics:()[J // method@0151 │ │ -01d276: 0c00 |0005: move-result-object v0 │ │ -01d278: 1201 |0006: const/4 v1, #int 0 // #0 │ │ -01d27a: 4501 0001 |0007: aget-wide v1, v0, v1 │ │ -01d27e: 1213 |0009: const/4 v3, #int 1 // #1 │ │ -01d280: 4504 0003 |000a: aget-wide v4, v0, v3 │ │ -01d284: bb41 |000c: add-long/2addr v1, v4 │ │ -01d286: 1606 0000 |000d: const-wide/16 v6, #int 0 // #0 │ │ -01d28a: 3108 0106 |000f: cmp-long v8, v1, v6 │ │ -01d28e: 3808 5100 |0011: if-eqz v8, 0062 // +0051 │ │ -01d292: 1606 6400 |0013: const-wide/16 v6, #int 100 // #64 │ │ -01d296: 9d04 0406 |0015: mul-long v4, v4, v6 │ │ -01d29a: be14 |0017: div-long/2addr v4, v1 │ │ -01d29c: 1a01 1700 |0018: const-string v1, " blocked)!" // string@0017 │ │ -01d2a0: 1a02 3d00 |001a: const-string v2, "% (" // string@003d │ │ -01d2a4: 1a06 cf00 |001c: const-string v6, "Block rate: " // string@00cf │ │ -01d2a8: 380a 1f00 |001e: if-eqz v10, 003d // +001f │ │ -01d2ac: 620a 2401 |0020: sget-object v10, Ldnsfilter/android/DNSProxyActivity;.myLogger:Lutil/SuppressRepeatingsLogger; // field@0124 │ │ -01d2b0: 2207 2d01 |0022: new-instance v7, Ljava/lang/StringBuilder; // type@012d │ │ -01d2b4: 7020 aa05 6700 |0024: invoke-direct {v7, v6}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05aa │ │ -01d2ba: 6e30 ad05 4705 |0027: invoke-virtual {v7, v4, v5}, Ljava/lang/StringBuilder;.append:(J)Ljava/lang/StringBuilder; // method@05ad │ │ -01d2c0: 6e20 af05 2700 |002a: invoke-virtual {v7, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -01d2c6: 4502 0003 |002d: aget-wide v2, v0, v3 │ │ -01d2ca: 6e30 ad05 2703 |002f: invoke-virtual {v7, v2, v3}, Ljava/lang/StringBuilder;.append:(J)Ljava/lang/StringBuilder; // method@05ad │ │ -01d2d0: 6e20 af05 1700 |0032: invoke-virtual {v7, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -01d2d6: 6e10 b105 0700 |0035: invoke-virtual {v7}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ -01d2dc: 0c00 |0038: move-result-object v0 │ │ -01d2de: 6e20 7b07 0a00 |0039: invoke-virtual {v10, v0}, Lutil/SuppressRepeatingsLogger;.message:(Ljava/lang/String;)V // method@077b │ │ -01d2e4: 2826 |003c: goto 0062 // +0026 │ │ -01d2e6: 620a 2401 |003d: sget-object v10, Ldnsfilter/android/DNSProxyActivity;.myLogger:Lutil/SuppressRepeatingsLogger; // field@0124 │ │ -01d2ea: 2207 2d01 |003f: new-instance v7, Ljava/lang/StringBuilder; // type@012d │ │ -01d2ee: 7020 aa05 6700 |0041: invoke-direct {v7, v6}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05aa │ │ -01d2f4: 6e30 ad05 4705 |0044: invoke-virtual {v7, v4, v5}, Ljava/lang/StringBuilder;.append:(J)Ljava/lang/StringBuilder; // method@05ad │ │ -01d2fa: 6e20 af05 2700 |0047: invoke-virtual {v7, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -01d300: 4502 0003 |004a: aget-wide v2, v0, v3 │ │ -01d304: 6e30 ad05 2703 |004c: invoke-virtual {v7, v2, v3}, Ljava/lang/StringBuilder;.append:(J)Ljava/lang/StringBuilder; // method@05ad │ │ -01d30a: 6e20 af05 1700 |004f: invoke-virtual {v7, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -01d310: 6e10 b105 0700 |0052: invoke-virtual {v7}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ -01d316: 0c00 |0055: move-result-object v0 │ │ -01d318: 6e20 7a07 0a00 |0056: invoke-virtual {v10, v0}, Lutil/SuppressRepeatingsLogger;.logLine:(Ljava/lang/String;)V // method@077a │ │ -01d31e: 2809 |0059: goto 0062 // +0009 │ │ -01d320: 0d0a |005a: move-exception v10 │ │ -01d322: 7100 2707 0000 |005b: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0727 │ │ -01d328: 0c00 |005e: move-result-object v0 │ │ -01d32a: 7220 3207 a000 |005f: invoke-interface {v0, v10}, Lutil/LoggerInterface;.logException:(Ljava/lang/Exception;)V // method@0732 │ │ -01d330: 0e00 |0062: return-void │ │ +01d258: |[01d258] dnsfilter.android.DNSProxyActivity.showFilterRate:(Z)V │ │ +01d268: 6200 ed00 |0000: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.CONFIG:Ldnsfilter/ConfigurationAccess; // field@00ed │ │ +01d26c: 6e10 5101 0000 |0002: invoke-virtual {v0}, Ldnsfilter/ConfigurationAccess;.getFilterStatistics:()[J // method@0151 │ │ +01d272: 0c00 |0005: move-result-object v0 │ │ +01d274: 1201 |0006: const/4 v1, #int 0 // #0 │ │ +01d276: 4501 0001 |0007: aget-wide v1, v0, v1 │ │ +01d27a: 1213 |0009: const/4 v3, #int 1 // #1 │ │ +01d27c: 4504 0003 |000a: aget-wide v4, v0, v3 │ │ +01d280: bb41 |000c: add-long/2addr v1, v4 │ │ +01d282: 1606 0000 |000d: const-wide/16 v6, #int 0 // #0 │ │ +01d286: 3108 0106 |000f: cmp-long v8, v1, v6 │ │ +01d28a: 3808 5100 |0011: if-eqz v8, 0062 // +0051 │ │ +01d28e: 1606 6400 |0013: const-wide/16 v6, #int 100 // #64 │ │ +01d292: 9d04 0406 |0015: mul-long v4, v4, v6 │ │ +01d296: be14 |0017: div-long/2addr v4, v1 │ │ +01d298: 1a01 1700 |0018: const-string v1, " blocked)!" // string@0017 │ │ +01d29c: 1a02 3d00 |001a: const-string v2, "% (" // string@003d │ │ +01d2a0: 1a06 cf00 |001c: const-string v6, "Block rate: " // string@00cf │ │ +01d2a4: 380a 1f00 |001e: if-eqz v10, 003d // +001f │ │ +01d2a8: 620a 2401 |0020: sget-object v10, Ldnsfilter/android/DNSProxyActivity;.myLogger:Lutil/SuppressRepeatingsLogger; // field@0124 │ │ +01d2ac: 2207 2d01 |0022: new-instance v7, Ljava/lang/StringBuilder; // type@012d │ │ +01d2b0: 7020 aa05 6700 |0024: invoke-direct {v7, v6}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05aa │ │ +01d2b6: 6e30 ad05 4705 |0027: invoke-virtual {v7, v4, v5}, Ljava/lang/StringBuilder;.append:(J)Ljava/lang/StringBuilder; // method@05ad │ │ +01d2bc: 6e20 af05 2700 |002a: invoke-virtual {v7, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +01d2c2: 4502 0003 |002d: aget-wide v2, v0, v3 │ │ +01d2c6: 6e30 ad05 2703 |002f: invoke-virtual {v7, v2, v3}, Ljava/lang/StringBuilder;.append:(J)Ljava/lang/StringBuilder; // method@05ad │ │ +01d2cc: 6e20 af05 1700 |0032: invoke-virtual {v7, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +01d2d2: 6e10 b105 0700 |0035: invoke-virtual {v7}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ +01d2d8: 0c00 |0038: move-result-object v0 │ │ +01d2da: 6e20 7b07 0a00 |0039: invoke-virtual {v10, v0}, Lutil/SuppressRepeatingsLogger;.message:(Ljava/lang/String;)V // method@077b │ │ +01d2e0: 2826 |003c: goto 0062 // +0026 │ │ +01d2e2: 620a 2401 |003d: sget-object v10, Ldnsfilter/android/DNSProxyActivity;.myLogger:Lutil/SuppressRepeatingsLogger; // field@0124 │ │ +01d2e6: 2207 2d01 |003f: new-instance v7, Ljava/lang/StringBuilder; // type@012d │ │ +01d2ea: 7020 aa05 6700 |0041: invoke-direct {v7, v6}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05aa │ │ +01d2f0: 6e30 ad05 4705 |0044: invoke-virtual {v7, v4, v5}, Ljava/lang/StringBuilder;.append:(J)Ljava/lang/StringBuilder; // method@05ad │ │ +01d2f6: 6e20 af05 2700 |0047: invoke-virtual {v7, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +01d2fc: 4502 0003 |004a: aget-wide v2, v0, v3 │ │ +01d300: 6e30 ad05 2703 |004c: invoke-virtual {v7, v2, v3}, Ljava/lang/StringBuilder;.append:(J)Ljava/lang/StringBuilder; // method@05ad │ │ +01d306: 6e20 af05 1700 |004f: invoke-virtual {v7, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +01d30c: 6e10 b105 0700 |0052: invoke-virtual {v7}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ +01d312: 0c00 |0055: move-result-object v0 │ │ +01d314: 6e20 7a07 0a00 |0056: invoke-virtual {v10, v0}, Lutil/SuppressRepeatingsLogger;.logLine:(Ljava/lang/String;)V // method@077a │ │ +01d31a: 2809 |0059: goto 0062 // +0009 │ │ +01d31c: 0d0a |005a: move-exception v10 │ │ +01d31e: 7100 2707 0000 |005b: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0727 │ │ +01d324: 0c00 |005e: move-result-object v0 │ │ +01d326: 7220 3207 a000 |005f: invoke-interface {v0, v10}, Lutil/LoggerInterface;.logException:(Ljava/lang/Exception;)V // method@0732 │ │ +01d32c: 0e00 |0062: return-void │ │ catches : 2 │ │ 0x0000 - 0x0018 │ │ Ljava/lang/Exception; -> 0x005a │ │ 0x0020 - 0x0059 │ │ Ljava/lang/Exception; -> 0x005a │ │ positions : │ │ 0x0000 line=708 │ │ @@ -48346,97 +48346,97 @@ │ │ type : '()V' │ │ access : 0x0004 (PROTECTED) │ │ code - │ │ registers : 8 │ │ ins : 1 │ │ outs : 3 │ │ insns size : 166 16-bit code units │ │ -01d374: |[01d374] dnsfilter.android.DNSProxyActivity.startup:()V │ │ -01d384: 1a00 df06 |0000: const-string v0, "false" // string@06df │ │ -01d388: 6e10 f502 0700 |0002: invoke-virtual {v7}, Ldnsfilter/android/DNSProxyActivity;.getConfig:()Ldnsfilter/ConfigUtil; // method@02f5 │ │ -01d38e: 0c01 |0005: move-result-object v1 │ │ -01d390: 1a02 ff09 |0006: const-string v2, "repeatingLogSuppressTime" // string@09ff │ │ -01d394: 1a03 7000 |0008: const-string v3, "1000" // string@0070 │ │ -01d398: 6e30 3a01 2103 |000a: invoke-virtual {v1, v2, v3}, Ldnsfilter/ConfigUtil;.getConfigValue:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@013a │ │ -01d39e: 0c01 |000d: move-result-object v1 │ │ -01d3a0: 7110 6d05 0100 |000e: invoke-static {v1}, Ljava/lang/Long;.parseLong:(Ljava/lang/String;)J // method@056d │ │ -01d3a6: 0b01 |0011: move-result-wide v1 │ │ -01d3a8: 6e10 f502 0700 |0012: invoke-virtual {v7}, Ldnsfilter/android/DNSProxyActivity;.getConfig:()Ldnsfilter/ConfigUtil; // method@02f5 │ │ -01d3ae: 0c03 |0015: move-result-object v3 │ │ -01d3b0: 1a04 4905 |0016: const-string v4, "addLiveLogTimestamp" // string@0549 │ │ -01d3b4: 6e30 3a01 4300 |0018: invoke-virtual {v3, v4, v0}, Ldnsfilter/ConfigUtil;.getConfigValue:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@013a │ │ -01d3ba: 0c03 |001b: move-result-object v3 │ │ -01d3bc: 7110 4d05 0300 |001c: invoke-static {v3}, Ljava/lang/Boolean;.parseBoolean:(Ljava/lang/String;)Z // method@054d │ │ -01d3c2: 0a03 |001f: move-result v3 │ │ -01d3c4: 6204 2401 |0020: sget-object v4, Ldnsfilter/android/DNSProxyActivity;.myLogger:Lutil/SuppressRepeatingsLogger; // field@0124 │ │ -01d3c8: 1205 |0022: const/4 v5, #int 0 // #0 │ │ -01d3ca: 6e20 7f07 5400 |0023: invoke-virtual {v4, v5}, Lutil/SuppressRepeatingsLogger;.setTimestampFormat:(Ljava/lang/String;)V // method@077f │ │ -01d3d0: 3803 1300 |0026: if-eqz v3, 0039 // +0013 │ │ -01d3d4: 6e10 f502 0700 |0028: invoke-virtual {v7}, Ldnsfilter/android/DNSProxyActivity;.getConfig:()Ldnsfilter/ConfigUtil; // method@02f5 │ │ -01d3da: 0c03 |002b: move-result-object v3 │ │ -01d3dc: 1a04 a908 |002c: const-string v4, "liveLogTimeStampFormat" // string@08a9 │ │ -01d3e0: 1a06 0b08 |002e: const-string v6, "hh:mm:ss" // string@080b │ │ -01d3e4: 6e30 3a01 4306 |0030: invoke-virtual {v3, v4, v6}, Ldnsfilter/ConfigUtil;.getConfigValue:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@013a │ │ -01d3ea: 0c03 |0033: move-result-object v3 │ │ -01d3ec: 6204 2401 |0034: sget-object v4, Ldnsfilter/android/DNSProxyActivity;.myLogger:Lutil/SuppressRepeatingsLogger; // field@0124 │ │ -01d3f0: 6e20 7f07 3400 |0036: invoke-virtual {v4, v3}, Lutil/SuppressRepeatingsLogger;.setTimestampFormat:(Ljava/lang/String;)V // method@077f │ │ -01d3f6: 6203 2401 |0039: sget-object v3, Ldnsfilter/android/DNSProxyActivity;.myLogger:Lutil/SuppressRepeatingsLogger; // field@0124 │ │ -01d3fa: 6e30 7e07 1302 |003b: invoke-virtual {v3, v1, v2}, Lutil/SuppressRepeatingsLogger;.setSuppressTime:(J)V // method@077e │ │ -01d400: 6201 bd00 |003e: sget-object v1, Ldnsfilter/android/DNSFilterService;.SERVICE:Landroid/content/Intent; // field@00bd │ │ -01d404: 1202 |0040: const/4 v2, #int 0 // #0 │ │ -01d406: 3801 1800 |0041: if-eqz v1, 0059 // +0018 │ │ -01d40a: 7100 2707 0000 |0043: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0727 │ │ -01d410: 0c00 |0046: move-result-object v0 │ │ -01d412: 1a01 3201 |0047: const-string v1, "DNS filter service is running!" // string@0132 │ │ -01d416: 7220 3307 1000 |0049: invoke-interface {v0, v1}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0733 │ │ -01d41c: 7100 2707 0000 |004c: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0727 │ │ -01d422: 0c00 |004f: move-result-object v0 │ │ -01d424: 1a01 a501 |0050: const-string v1, "Filter statistic since last restart:" // string@01a5 │ │ -01d428: 7220 3307 1000 |0052: invoke-interface {v0, v1}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0733 │ │ -01d42e: 6e20 3203 2700 |0055: invoke-virtual {v7, v2}, Ldnsfilter/android/DNSProxyActivity;.showFilterRate:(Z)V // method@0332 │ │ -01d434: 0e00 |0058: return-void │ │ -01d436: 6e10 f502 0700 |0059: invoke-virtual {v7}, Ldnsfilter/android/DNSProxyActivity;.getConfig:()Ldnsfilter/ConfigUtil; // method@02f5 │ │ -01d43c: 0c01 |005c: move-result-object v1 │ │ -01d43e: 1a03 900b |005d: const-string v3, "vpnInAdditionToProxyMode" // string@0b90 │ │ -01d442: 6e30 3a01 3100 |005f: invoke-virtual {v1, v3, v0}, Ldnsfilter/ConfigUtil;.getConfigValue:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@013a │ │ -01d448: 0c01 |0062: move-result-object v1 │ │ -01d44a: 7110 4d05 0100 |0063: invoke-static {v1}, Ljava/lang/Boolean;.parseBoolean:(Ljava/lang/String;)Z // method@054d │ │ -01d450: 0a01 |0066: move-result v1 │ │ -01d452: 3901 1300 |0067: if-nez v1, 007a // +0013 │ │ -01d456: 6e10 f502 0700 |0069: invoke-virtual {v7}, Ldnsfilter/android/DNSProxyActivity;.getConfig:()Ldnsfilter/ConfigUtil; // method@02f5 │ │ -01d45c: 0c01 |006c: move-result-object v1 │ │ -01d45e: 1a03 6b06 |006d: const-string v3, "dnsProxyOnAndroid" // string@066b │ │ -01d462: 6e30 3a01 3100 |006f: invoke-virtual {v1, v3, v0}, Ldnsfilter/ConfigUtil;.getConfigValue:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@013a │ │ -01d468: 0c00 |0072: move-result-object v0 │ │ -01d46a: 7110 4d05 0000 |0073: invoke-static {v0}, Ljava/lang/Boolean;.parseBoolean:(Ljava/lang/String;)Z // method@054d │ │ -01d470: 0a00 |0076: move-result v0 │ │ -01d472: 3800 0300 |0077: if-eqz v0, 007a // +0003 │ │ -01d476: 1212 |0079: const/4 v2, #int 1 // #1 │ │ -01d478: 3902 0a00 |007a: if-nez v2, 0084 // +000a │ │ -01d47c: 6e10 f402 0700 |007c: invoke-virtual {v7}, Ldnsfilter/android/DNSProxyActivity;.getApplicationContext:()Landroid/content/Context; // method@02f4 │ │ -01d482: 0c00 |007f: move-result-object v0 │ │ -01d484: 7110 7900 0000 |0080: invoke-static {v0}, Landroid/net/VpnService;.prepare:(Landroid/content/Context;)Landroid/content/Intent; // method@0079 │ │ -01d48a: 0c05 |0083: move-result-object v5 │ │ -01d48c: 3805 0800 |0084: if-eqz v5, 008c // +0008 │ │ -01d490: 1300 7901 |0086: const/16 v0, #int 377 // #179 │ │ -01d494: 6e30 3403 5700 |0088: invoke-virtual {v7, v5, v0}, Ldnsfilter/android/DNSProxyActivity;.startActivityForResult:(Landroid/content/Intent;I)V // method@0334 │ │ -01d49a: 281a |008b: goto 00a5 // +001a │ │ -01d49c: 7010 3603 0700 |008c: invoke-direct {v7}, Ldnsfilter/android/DNSProxyActivity;.startSvc:()V // method@0336 │ │ -01d4a2: 2816 |008f: goto 00a5 // +0016 │ │ -01d4a4: 0d00 |0090: move-exception v0 │ │ -01d4a6: 7100 2707 0000 |0091: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0727 │ │ -01d4ac: 0c01 |0094: move-result-object v1 │ │ -01d4ae: 7220 3207 0100 |0095: invoke-interface {v1, v0}, Lutil/LoggerInterface;.logException:(Ljava/lang/Exception;)V // method@0732 │ │ -01d4b4: 280d |0098: goto 00a5 // +000d │ │ -01d4b6: 7100 2707 0000 |0099: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0727 │ │ -01d4bc: 0c00 |009c: move-result-object v0 │ │ -01d4be: 1a01 5904 |009d: const-string v1, "Seems we are on Android 4.4 or older!" // string@0459 │ │ -01d4c2: 7220 3307 1000 |009f: invoke-interface {v0, v1}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0733 │ │ -01d4c8: 7010 3603 0700 |00a2: invoke-direct {v7}, Ldnsfilter/android/DNSProxyActivity;.startSvc:()V // method@0336 │ │ -01d4ce: 0e00 |00a5: return-void │ │ +01d370: |[01d370] dnsfilter.android.DNSProxyActivity.startup:()V │ │ +01d380: 1a00 df06 |0000: const-string v0, "false" // string@06df │ │ +01d384: 6e10 f502 0700 |0002: invoke-virtual {v7}, Ldnsfilter/android/DNSProxyActivity;.getConfig:()Ldnsfilter/ConfigUtil; // method@02f5 │ │ +01d38a: 0c01 |0005: move-result-object v1 │ │ +01d38c: 1a02 ff09 |0006: const-string v2, "repeatingLogSuppressTime" // string@09ff │ │ +01d390: 1a03 7000 |0008: const-string v3, "1000" // string@0070 │ │ +01d394: 6e30 3a01 2103 |000a: invoke-virtual {v1, v2, v3}, Ldnsfilter/ConfigUtil;.getConfigValue:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@013a │ │ +01d39a: 0c01 |000d: move-result-object v1 │ │ +01d39c: 7110 6d05 0100 |000e: invoke-static {v1}, Ljava/lang/Long;.parseLong:(Ljava/lang/String;)J // method@056d │ │ +01d3a2: 0b01 |0011: move-result-wide v1 │ │ +01d3a4: 6e10 f502 0700 |0012: invoke-virtual {v7}, Ldnsfilter/android/DNSProxyActivity;.getConfig:()Ldnsfilter/ConfigUtil; // method@02f5 │ │ +01d3aa: 0c03 |0015: move-result-object v3 │ │ +01d3ac: 1a04 4905 |0016: const-string v4, "addLiveLogTimestamp" // string@0549 │ │ +01d3b0: 6e30 3a01 4300 |0018: invoke-virtual {v3, v4, v0}, Ldnsfilter/ConfigUtil;.getConfigValue:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@013a │ │ +01d3b6: 0c03 |001b: move-result-object v3 │ │ +01d3b8: 7110 4d05 0300 |001c: invoke-static {v3}, Ljava/lang/Boolean;.parseBoolean:(Ljava/lang/String;)Z // method@054d │ │ +01d3be: 0a03 |001f: move-result v3 │ │ +01d3c0: 6204 2401 |0020: sget-object v4, Ldnsfilter/android/DNSProxyActivity;.myLogger:Lutil/SuppressRepeatingsLogger; // field@0124 │ │ +01d3c4: 1205 |0022: const/4 v5, #int 0 // #0 │ │ +01d3c6: 6e20 7f07 5400 |0023: invoke-virtual {v4, v5}, Lutil/SuppressRepeatingsLogger;.setTimestampFormat:(Ljava/lang/String;)V // method@077f │ │ +01d3cc: 3803 1300 |0026: if-eqz v3, 0039 // +0013 │ │ +01d3d0: 6e10 f502 0700 |0028: invoke-virtual {v7}, Ldnsfilter/android/DNSProxyActivity;.getConfig:()Ldnsfilter/ConfigUtil; // method@02f5 │ │ +01d3d6: 0c03 |002b: move-result-object v3 │ │ +01d3d8: 1a04 a908 |002c: const-string v4, "liveLogTimeStampFormat" // string@08a9 │ │ +01d3dc: 1a06 0b08 |002e: const-string v6, "hh:mm:ss" // string@080b │ │ +01d3e0: 6e30 3a01 4306 |0030: invoke-virtual {v3, v4, v6}, Ldnsfilter/ConfigUtil;.getConfigValue:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@013a │ │ +01d3e6: 0c03 |0033: move-result-object v3 │ │ +01d3e8: 6204 2401 |0034: sget-object v4, Ldnsfilter/android/DNSProxyActivity;.myLogger:Lutil/SuppressRepeatingsLogger; // field@0124 │ │ +01d3ec: 6e20 7f07 3400 |0036: invoke-virtual {v4, v3}, Lutil/SuppressRepeatingsLogger;.setTimestampFormat:(Ljava/lang/String;)V // method@077f │ │ +01d3f2: 6203 2401 |0039: sget-object v3, Ldnsfilter/android/DNSProxyActivity;.myLogger:Lutil/SuppressRepeatingsLogger; // field@0124 │ │ +01d3f6: 6e30 7e07 1302 |003b: invoke-virtual {v3, v1, v2}, Lutil/SuppressRepeatingsLogger;.setSuppressTime:(J)V // method@077e │ │ +01d3fc: 6201 bd00 |003e: sget-object v1, Ldnsfilter/android/DNSFilterService;.SERVICE:Landroid/content/Intent; // field@00bd │ │ +01d400: 1202 |0040: const/4 v2, #int 0 // #0 │ │ +01d402: 3801 1800 |0041: if-eqz v1, 0059 // +0018 │ │ +01d406: 7100 2707 0000 |0043: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0727 │ │ +01d40c: 0c00 |0046: move-result-object v0 │ │ +01d40e: 1a01 3201 |0047: const-string v1, "DNS filter service is running!" // string@0132 │ │ +01d412: 7220 3307 1000 |0049: invoke-interface {v0, v1}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0733 │ │ +01d418: 7100 2707 0000 |004c: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0727 │ │ +01d41e: 0c00 |004f: move-result-object v0 │ │ +01d420: 1a01 a501 |0050: const-string v1, "Filter statistic since last restart:" // string@01a5 │ │ +01d424: 7220 3307 1000 |0052: invoke-interface {v0, v1}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0733 │ │ +01d42a: 6e20 3203 2700 |0055: invoke-virtual {v7, v2}, Ldnsfilter/android/DNSProxyActivity;.showFilterRate:(Z)V // method@0332 │ │ +01d430: 0e00 |0058: return-void │ │ +01d432: 6e10 f502 0700 |0059: invoke-virtual {v7}, Ldnsfilter/android/DNSProxyActivity;.getConfig:()Ldnsfilter/ConfigUtil; // method@02f5 │ │ +01d438: 0c01 |005c: move-result-object v1 │ │ +01d43a: 1a03 900b |005d: const-string v3, "vpnInAdditionToProxyMode" // string@0b90 │ │ +01d43e: 6e30 3a01 3100 |005f: invoke-virtual {v1, v3, v0}, Ldnsfilter/ConfigUtil;.getConfigValue:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@013a │ │ +01d444: 0c01 |0062: move-result-object v1 │ │ +01d446: 7110 4d05 0100 |0063: invoke-static {v1}, Ljava/lang/Boolean;.parseBoolean:(Ljava/lang/String;)Z // method@054d │ │ +01d44c: 0a01 |0066: move-result v1 │ │ +01d44e: 3901 1300 |0067: if-nez v1, 007a // +0013 │ │ +01d452: 6e10 f502 0700 |0069: invoke-virtual {v7}, Ldnsfilter/android/DNSProxyActivity;.getConfig:()Ldnsfilter/ConfigUtil; // method@02f5 │ │ +01d458: 0c01 |006c: move-result-object v1 │ │ +01d45a: 1a03 6b06 |006d: const-string v3, "dnsProxyOnAndroid" // string@066b │ │ +01d45e: 6e30 3a01 3100 |006f: invoke-virtual {v1, v3, v0}, Ldnsfilter/ConfigUtil;.getConfigValue:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@013a │ │ +01d464: 0c00 |0072: move-result-object v0 │ │ +01d466: 7110 4d05 0000 |0073: invoke-static {v0}, Ljava/lang/Boolean;.parseBoolean:(Ljava/lang/String;)Z // method@054d │ │ +01d46c: 0a00 |0076: move-result v0 │ │ +01d46e: 3800 0300 |0077: if-eqz v0, 007a // +0003 │ │ +01d472: 1212 |0079: const/4 v2, #int 1 // #1 │ │ +01d474: 3902 0a00 |007a: if-nez v2, 0084 // +000a │ │ +01d478: 6e10 f402 0700 |007c: invoke-virtual {v7}, Ldnsfilter/android/DNSProxyActivity;.getApplicationContext:()Landroid/content/Context; // method@02f4 │ │ +01d47e: 0c00 |007f: move-result-object v0 │ │ +01d480: 7110 7900 0000 |0080: invoke-static {v0}, Landroid/net/VpnService;.prepare:(Landroid/content/Context;)Landroid/content/Intent; // method@0079 │ │ +01d486: 0c05 |0083: move-result-object v5 │ │ +01d488: 3805 0800 |0084: if-eqz v5, 008c // +0008 │ │ +01d48c: 1300 7901 |0086: const/16 v0, #int 377 // #179 │ │ +01d490: 6e30 3403 5700 |0088: invoke-virtual {v7, v5, v0}, Ldnsfilter/android/DNSProxyActivity;.startActivityForResult:(Landroid/content/Intent;I)V // method@0334 │ │ +01d496: 281a |008b: goto 00a5 // +001a │ │ +01d498: 7010 3603 0700 |008c: invoke-direct {v7}, Ldnsfilter/android/DNSProxyActivity;.startSvc:()V // method@0336 │ │ +01d49e: 2816 |008f: goto 00a5 // +0016 │ │ +01d4a0: 0d00 |0090: move-exception v0 │ │ +01d4a2: 7100 2707 0000 |0091: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0727 │ │ +01d4a8: 0c01 |0094: move-result-object v1 │ │ +01d4aa: 7220 3207 0100 |0095: invoke-interface {v1, v0}, Lutil/LoggerInterface;.logException:(Ljava/lang/Exception;)V // method@0732 │ │ +01d4b0: 280d |0098: goto 00a5 // +000d │ │ +01d4b2: 7100 2707 0000 |0099: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0727 │ │ +01d4b8: 0c00 |009c: move-result-object v0 │ │ +01d4ba: 1a01 5904 |009d: const-string v1, "Seems we are on Android 4.4 or older!" // string@0459 │ │ +01d4be: 7220 3307 1000 |009f: invoke-interface {v0, v1}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0733 │ │ +01d4c4: 7010 3603 0700 |00a2: invoke-direct {v7}, Ldnsfilter/android/DNSProxyActivity;.startSvc:()V // method@0336 │ │ +01d4ca: 0e00 |00a5: return-void │ │ catches : 1 │ │ 0x0002 - 0x008f │ │ Ljava/lang/NullPointerException; -> 0x0099 │ │ Ljava/lang/Exception; -> 0x0090 │ │ positions : │ │ 0x0000 line=1560 │ │ 0x0012 line=1561 │ │ @@ -48521,37 +48521,37 @@ │ │ type : '()V' │ │ access : 0x10008 (STATIC CONSTRUCTOR) │ │ code - │ │ registers : 1 │ │ ins : 0 │ │ outs : 1 │ │ insns size : 9 16-bit code units │ │ -01e8bc: |[01e8bc] dnsfilter.android.dnsserverconfig.DNSServerConfigActivity.:()V │ │ -01e8cc: 1300 4501 |0000: const/16 v0, #int 325 // #145 │ │ -01e8d0: 7110 6a05 0000 |0002: invoke-static {v0}, Ljava/lang/Integer;.valueOf:(I)Ljava/lang/Integer; // method@056a │ │ -01e8d6: 0c00 |0005: move-result-object v0 │ │ -01e8d8: 6900 5702 |0006: sput-object v0, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.ACTIVITY_RESULT_CODE:Ljava/lang/Integer; // field@0257 │ │ -01e8dc: 0e00 |0008: return-void │ │ +01e8b8: |[01e8b8] dnsfilter.android.dnsserverconfig.DNSServerConfigActivity.:()V │ │ +01e8c8: 1300 4501 |0000: const/16 v0, #int 325 // #145 │ │ +01e8cc: 7110 6a05 0000 |0002: invoke-static {v0}, Ljava/lang/Integer;.valueOf:(I)Ljava/lang/Integer; // method@056a │ │ +01e8d2: 0c00 |0005: move-result-object v0 │ │ +01e8d4: 6900 5702 |0006: sput-object v0, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.ACTIVITY_RESULT_CODE:Ljava/lang/Integer; // field@0257 │ │ +01e8d8: 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 │ │ -01e8e0: |[01e8e0] dnsfilter.android.dnsserverconfig.DNSServerConfigActivity.:()V │ │ -01e8f0: 7010 0100 0000 |0000: invoke-direct {v0}, Landroid/app/Activity;.:()V // method@0001 │ │ -01e8f6: 0e00 |0003: return-void │ │ +01e8dc: |[01e8dc] dnsfilter.android.dnsserverconfig.DNSServerConfigActivity.:()V │ │ +01e8ec: 7010 0100 0000 |0000: invoke-direct {v0}, Landroid/app/Activity;.:()V // method@0001 │ │ +01e8f2: 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;) │ │ @@ -48559,17 +48559,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 │ │ -01e85c: |[01e85c] dnsfilter.android.dnsserverconfig.DNSServerConfigActivity.access$000:(Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;)Ldnsfilter/android/PaddedCheckBox; │ │ -01e86c: 5400 5c02 |0000: iget-object v0, v0, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.manualDNSRawModeCheckbox:Ldnsfilter/android/PaddedCheckBox; // field@025c │ │ -01e870: 1100 |0002: return-object v0 │ │ +01e858: |[01e858] dnsfilter.android.dnsserverconfig.DNSServerConfigActivity.access$000:(Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;)Ldnsfilter/android/PaddedCheckBox; │ │ +01e868: 5400 5c02 |0000: iget-object v0, v0, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.manualDNSRawModeCheckbox:Ldnsfilter/android/PaddedCheckBox; // field@025c │ │ +01e86c: 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;) │ │ @@ -48577,17 +48577,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 │ │ -01e844: |[01e844] dnsfilter.android.dnsserverconfig.DNSServerConfigActivity.access$100:(Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;)Landroid/widget/EditText; │ │ -01e854: 5400 5a02 |0000: iget-object v0, v0, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.manualDNSEditText:Landroid/widget/EditText; // field@025a │ │ -01e858: 1100 |0002: return-object v0 │ │ +01e840: |[01e840] dnsfilter.android.dnsserverconfig.DNSServerConfigActivity.access$100:(Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;)Landroid/widget/EditText; │ │ +01e850: 5400 5a02 |0000: iget-object v0, v0, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.manualDNSEditText:Landroid/widget/EditText; // field@025a │ │ +01e854: 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;) │ │ @@ -48595,17 +48595,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 │ │ -01e8a4: |[01e8a4] dnsfilter.android.dnsserverconfig.DNSServerConfigActivity.access$200:(Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;)Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenter; │ │ -01e8b4: 5400 5d02 |0000: iget-object v0, v0, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.presenter:Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenter; // field@025d │ │ -01e8b8: 1100 |0002: return-object v0 │ │ +01e8a0: |[01e8a0] dnsfilter.android.dnsserverconfig.DNSServerConfigActivity.access$200:(Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;)Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenter; │ │ +01e8b0: 5400 5d02 |0000: iget-object v0, v0, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.presenter:Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenter; // field@025d │ │ +01e8b4: 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;) │ │ @@ -48613,17 +48613,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 │ │ -01e874: |[01e874] dnsfilter.android.dnsserverconfig.DNSServerConfigActivity.access$300:(Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;)Ldnsfilter/android/PaddedCheckBox; │ │ -01e884: 5400 5902 |0000: iget-object v0, v0, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.manualDNSCheck:Ldnsfilter/android/PaddedCheckBox; // field@0259 │ │ -01e888: 1100 |0002: return-object v0 │ │ +01e870: |[01e870] dnsfilter.android.dnsserverconfig.DNSServerConfigActivity.access$300:(Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;)Ldnsfilter/android/PaddedCheckBox; │ │ +01e880: 5400 5902 |0000: iget-object v0, v0, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.manualDNSCheck:Ldnsfilter/android/PaddedCheckBox; // field@0259 │ │ +01e884: 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;) │ │ @@ -48631,17 +48631,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 │ │ -01e88c: |[01e88c] dnsfilter.android.dnsserverconfig.DNSServerConfigActivity.access$400:(Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;)Ldnsfilter/android/PaddedCheckBox; │ │ -01e89c: 5400 5f02 |0000: iget-object v0, v0, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.showCommentedLinesCheckbox:Ldnsfilter/android/PaddedCheckBox; // field@025f │ │ -01e8a0: 1100 |0002: return-object v0 │ │ +01e888: |[01e888] dnsfilter.android.dnsserverconfig.DNSServerConfigActivity.access$400:(Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;)Ldnsfilter/android/PaddedCheckBox; │ │ +01e898: 5400 5f02 |0000: iget-object v0, v0, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.showCommentedLinesCheckbox:Ldnsfilter/android/PaddedCheckBox; // field@025f │ │ +01e89c: 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;) │ │ @@ -48649,20 +48649,20 @@ │ │ type : '()V' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 3 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 11 16-bit code units │ │ -01e8f8: |[01e8f8] dnsfilter.android.dnsserverconfig.DNSServerConfigActivity.configureApplyNewConfigurationButton:()V │ │ -01e908: 5420 5802 |0000: iget-object v0, v2, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.applyNewConfigurationButton:Landroid/widget/ImageButton; // field@0258 │ │ -01e90c: 2201 bf00 |0002: new-instance v1, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity$1; // type@00bf │ │ -01e910: 7020 6a03 2100 |0004: invoke-direct {v1, v2}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity$1;.:(Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;)V // method@036a │ │ -01e916: 6e20 ea00 1000 |0007: invoke-virtual {v0, v1}, Landroid/widget/ImageButton;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@00ea │ │ -01e91c: 0e00 |000a: return-void │ │ +01e8f4: |[01e8f4] dnsfilter.android.dnsserverconfig.DNSServerConfigActivity.configureApplyNewConfigurationButton:()V │ │ +01e904: 5420 5802 |0000: iget-object v0, v2, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.applyNewConfigurationButton:Landroid/widget/ImageButton; // field@0258 │ │ +01e908: 2201 bf00 |0002: new-instance v1, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity$1; // type@00bf │ │ +01e90c: 7020 6a03 2100 |0004: invoke-direct {v1, v2}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity$1;.:(Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;)V // method@036a │ │ +01e912: 6e20 ea00 1000 |0007: invoke-virtual {v0, v1}, Landroid/widget/ImageButton;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@00ea │ │ +01e918: 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;) │ │ @@ -48670,21 +48670,21 @@ │ │ type : '()V' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 3 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 12 16-bit code units │ │ -01e920: |[01e920] dnsfilter.android.dnsserverconfig.DNSServerConfigActivity.configureDNSList:()V │ │ -01e930: 5420 5b02 |0000: iget-object v0, v2, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.manualDNSList:Landroid/widget/ListView; // field@025b │ │ -01e934: 5421 5d02 |0002: iget-object v1, v2, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.presenter:Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenter; // field@025d │ │ -01e938: 7210 9803 0100 |0004: invoke-interface {v1}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenter;.getListAdapter:()Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter; // method@0398 │ │ -01e93e: 0c01 |0007: move-result-object v1 │ │ -01e940: 6e20 f100 1000 |0008: invoke-virtual {v0, v1}, Landroid/widget/ListView;.setAdapter:(Landroid/widget/ListAdapter;)V // method@00f1 │ │ -01e946: 0e00 |000b: return-void │ │ +01e91c: |[01e91c] dnsfilter.android.dnsserverconfig.DNSServerConfigActivity.configureDNSList:()V │ │ +01e92c: 5420 5b02 |0000: iget-object v0, v2, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.manualDNSList:Landroid/widget/ListView; // field@025b │ │ +01e930: 5421 5d02 |0002: iget-object v1, v2, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.presenter:Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenter; // field@025d │ │ +01e934: 7210 9803 0100 |0004: invoke-interface {v1}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenter;.getListAdapter:()Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter; // method@0398 │ │ +01e93a: 0c01 |0007: move-result-object v1 │ │ +01e93c: 6e20 f100 1000 |0008: invoke-virtual {v0, v1}, Landroid/widget/ListView;.setAdapter:(Landroid/widget/ListAdapter;)V // method@00f1 │ │ +01e942: 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;) │ │ @@ -48692,24 +48692,24 @@ │ │ type : '()V' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 3 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 20 16-bit code units │ │ -01e948: |[01e948] dnsfilter.android.dnsserverconfig.DNSServerConfigActivity.configureManualDNSValue:()V │ │ -01e958: 5420 5d02 |0000: iget-object v0, v2, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.presenter:Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenter; // field@025d │ │ -01e95c: 7210 9703 0000 |0002: invoke-interface {v0}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenter;.getIsManualDNSServers:()Z // method@0397 │ │ -01e962: 0a00 |0005: move-result v0 │ │ -01e964: 6e20 8f03 0200 |0006: invoke-virtual {v2, v0}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.setManualDNSServers:(Z)V // method@038f │ │ -01e96a: 5420 5902 |0009: iget-object v0, v2, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.manualDNSCheck:Ldnsfilter/android/PaddedCheckBox; // field@0259 │ │ -01e96e: 2201 c000 |000b: new-instance v1, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity$2; // type@00c0 │ │ -01e972: 7020 6c03 2100 |000d: invoke-direct {v1, v2}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity$2;.:(Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;)V // method@036c │ │ -01e978: 6e20 5b03 1000 |0010: invoke-virtual {v0, v1}, Ldnsfilter/android/PaddedCheckBox;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@035b │ │ -01e97e: 0e00 |0013: return-void │ │ +01e944: |[01e944] dnsfilter.android.dnsserverconfig.DNSServerConfigActivity.configureManualDNSValue:()V │ │ +01e954: 5420 5d02 |0000: iget-object v0, v2, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.presenter:Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenter; // field@025d │ │ +01e958: 7210 9703 0000 |0002: invoke-interface {v0}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenter;.getIsManualDNSServers:()Z // method@0397 │ │ +01e95e: 0a00 |0005: move-result v0 │ │ +01e960: 6e20 8f03 0200 |0006: invoke-virtual {v2, v0}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.setManualDNSServers:(Z)V // method@038f │ │ +01e966: 5420 5902 |0009: iget-object v0, v2, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.manualDNSCheck:Ldnsfilter/android/PaddedCheckBox; // field@0259 │ │ +01e96a: 2201 c000 |000b: new-instance v1, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity$2; // type@00c0 │ │ +01e96e: 7020 6c03 2100 |000d: invoke-direct {v1, v2}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity$2;.:(Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;)V // method@036c │ │ +01e974: 6e20 5b03 1000 |0010: invoke-virtual {v0, v1}, Ldnsfilter/android/PaddedCheckBox;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@035b │ │ +01e97a: 0e00 |0013: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=89 │ │ 0x0009 line=90 │ │ locals : │ │ 0x0000 - 0x0014 reg=2 this Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity; │ │ │ │ @@ -48718,20 +48718,20 @@ │ │ type : '()V' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 3 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 11 16-bit code units │ │ -01e980: |[01e980] dnsfilter.android.dnsserverconfig.DNSServerConfigActivity.configureRawMode:()V │ │ -01e990: 5420 5c02 |0000: iget-object v0, v2, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.manualDNSRawModeCheckbox:Ldnsfilter/android/PaddedCheckBox; // field@025c │ │ -01e994: 2201 c100 |0002: new-instance v1, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity$3; // type@00c1 │ │ -01e998: 7020 6e03 2100 |0004: invoke-direct {v1, v2}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity$3;.:(Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;)V // method@036e │ │ -01e99e: 6e20 5b03 1000 |0007: invoke-virtual {v0, v1}, Ldnsfilter/android/PaddedCheckBox;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@035b │ │ -01e9a4: 0e00 |000a: return-void │ │ +01e97c: |[01e97c] dnsfilter.android.dnsserverconfig.DNSServerConfigActivity.configureRawMode:()V │ │ +01e98c: 5420 5c02 |0000: iget-object v0, v2, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.manualDNSRawModeCheckbox:Ldnsfilter/android/PaddedCheckBox; // field@025c │ │ +01e990: 2201 c100 |0002: new-instance v1, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity$3; // type@00c1 │ │ +01e994: 7020 6e03 2100 |0004: invoke-direct {v1, v2}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity$3;.:(Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;)V // method@036e │ │ +01e99a: 6e20 5b03 1000 |0007: invoke-virtual {v0, v1}, Ldnsfilter/android/PaddedCheckBox;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@035b │ │ +01e9a0: 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;) │ │ @@ -48739,20 +48739,20 @@ │ │ type : '()V' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 3 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 11 16-bit code units │ │ -01e9a8: |[01e9a8] dnsfilter.android.dnsserverconfig.DNSServerConfigActivity.configureRestoreDefaultsButton:()V │ │ -01e9b8: 5420 5e02 |0000: iget-object v0, v2, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.restoreDefaultConfigurationButton:Landroid/widget/Button; // field@025e │ │ -01e9bc: 2201 c300 |0002: new-instance v1, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity$5; // type@00c3 │ │ -01e9c0: 7020 7203 2100 |0004: invoke-direct {v1, v2}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity$5;.:(Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;)V // method@0372 │ │ -01e9c6: 6e20 c500 1000 |0007: invoke-virtual {v0, v1}, Landroid/widget/Button;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@00c5 │ │ -01e9cc: 0e00 |000a: return-void │ │ +01e9a4: |[01e9a4] dnsfilter.android.dnsserverconfig.DNSServerConfigActivity.configureRestoreDefaultsButton:()V │ │ +01e9b4: 5420 5e02 |0000: iget-object v0, v2, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.restoreDefaultConfigurationButton:Landroid/widget/Button; // field@025e │ │ +01e9b8: 2201 c300 |0002: new-instance v1, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity$5; // type@00c3 │ │ +01e9bc: 7020 7203 2100 |0004: invoke-direct {v1, v2}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity$5;.:(Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;)V // method@0372 │ │ +01e9c2: 6e20 c500 1000 |0007: invoke-virtual {v0, v1}, Landroid/widget/Button;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@00c5 │ │ +01e9c8: 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;) │ │ @@ -48760,20 +48760,20 @@ │ │ type : '()V' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 3 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 11 16-bit code units │ │ -01e9d0: |[01e9d0] dnsfilter.android.dnsserverconfig.DNSServerConfigActivity.configureShowCommentedLines:()V │ │ -01e9e0: 5420 5f02 |0000: iget-object v0, v2, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.showCommentedLinesCheckbox:Ldnsfilter/android/PaddedCheckBox; // field@025f │ │ -01e9e4: 2201 c200 |0002: new-instance v1, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity$4; // type@00c2 │ │ -01e9e8: 7020 7003 2100 |0004: invoke-direct {v1, v2}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity$4;.:(Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;)V // method@0370 │ │ -01e9ee: 6e20 5b03 1000 |0007: invoke-virtual {v0, v1}, Ldnsfilter/android/PaddedCheckBox;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@035b │ │ -01e9f4: 0e00 |000a: return-void │ │ +01e9cc: |[01e9cc] dnsfilter.android.dnsserverconfig.DNSServerConfigActivity.configureShowCommentedLines:()V │ │ +01e9dc: 5420 5f02 |0000: iget-object v0, v2, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.showCommentedLinesCheckbox:Ldnsfilter/android/PaddedCheckBox; // field@025f │ │ +01e9e0: 2201 c200 |0002: new-instance v1, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity$4; // type@00c2 │ │ +01e9e4: 7020 7003 2100 |0004: invoke-direct {v1, v2}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity$4;.:(Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;)V // method@0370 │ │ +01e9ea: 6e20 5b03 1000 |0007: invoke-virtual {v0, v1}, Ldnsfilter/android/PaddedCheckBox;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@035b │ │ +01e9f0: 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;) │ │ @@ -48781,51 +48781,51 @@ │ │ type : '()V' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 78 16-bit code units │ │ -01e9f8: |[01e9f8] dnsfilter.android.dnsserverconfig.DNSServerConfigActivity.findViews:()V │ │ -01ea08: 1400 4100 057f |0000: const v0, #float 1.76789e+38 // #7f050041 │ │ -01ea0e: 6e20 8303 0100 |0003: invoke-virtual {v1, v0}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.findViewById:(I)Landroid/view/View; // method@0383 │ │ -01ea14: 0c00 |0006: move-result-object v0 │ │ -01ea16: 1f00 6c00 |0007: check-cast v0, Landroid/widget/ListView; // type@006c │ │ -01ea1a: 5b10 5b02 |0009: iput-object v0, v1, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.manualDNSList:Landroid/widget/ListView; // field@025b │ │ -01ea1e: 1400 4200 057f |000b: const v0, #float 1.76789e+38 // #7f050042 │ │ -01ea24: 6e20 8303 0100 |000e: invoke-virtual {v1, v0}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.findViewById:(I)Landroid/view/View; // method@0383 │ │ -01ea2a: 0c00 |0011: move-result-object v0 │ │ -01ea2c: 1f00 b300 |0012: check-cast v0, Ldnsfilter/android/PaddedCheckBox; // type@00b3 │ │ -01ea30: 5b10 5c02 |0014: iput-object v0, v1, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.manualDNSRawModeCheckbox:Ldnsfilter/android/PaddedCheckBox; // field@025c │ │ -01ea34: 1400 5b00 057f |0016: const v0, #float 1.76789e+38 // #7f05005b │ │ -01ea3a: 6e20 8303 0100 |0019: invoke-virtual {v1, v0}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.findViewById:(I)Landroid/view/View; // method@0383 │ │ -01ea40: 0c00 |001c: move-result-object v0 │ │ -01ea42: 1f00 b300 |001d: check-cast v0, Ldnsfilter/android/PaddedCheckBox; // type@00b3 │ │ -01ea46: 5b10 5f02 |001f: iput-object v0, v1, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.showCommentedLinesCheckbox:Ldnsfilter/android/PaddedCheckBox; // field@025f │ │ -01ea4a: 1400 4000 057f |0021: const v0, #float 1.76789e+38 // #7f050040 │ │ -01ea50: 6e20 8303 0100 |0024: invoke-virtual {v1, v0}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.findViewById:(I)Landroid/view/View; // method@0383 │ │ -01ea56: 0c00 |0027: move-result-object v0 │ │ -01ea58: 1f00 6700 |0028: check-cast v0, Landroid/widget/EditText; // type@0067 │ │ -01ea5c: 5b10 5a02 |002a: iput-object v0, v1, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.manualDNSEditText:Landroid/widget/EditText; // field@025a │ │ -01ea60: 1400 3f00 057f |002c: const v0, #float 1.76789e+38 // #7f05003f │ │ -01ea66: 6e20 8303 0100 |002f: invoke-virtual {v1, v0}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.findViewById:(I)Landroid/view/View; // method@0383 │ │ -01ea6c: 0c00 |0032: move-result-object v0 │ │ -01ea6e: 1f00 b300 |0033: check-cast v0, Ldnsfilter/android/PaddedCheckBox; // type@00b3 │ │ -01ea72: 5b10 5902 |0035: iput-object v0, v1, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.manualDNSCheck:Ldnsfilter/android/PaddedCheckBox; // field@0259 │ │ -01ea76: 1400 5300 057f |0037: const v0, #float 1.76789e+38 // #7f050053 │ │ -01ea7c: 6e20 8303 0100 |003a: invoke-virtual {v1, v0}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.findViewById:(I)Landroid/view/View; // method@0383 │ │ -01ea82: 0c00 |003d: move-result-object v0 │ │ -01ea84: 1f00 6300 |003e: check-cast v0, Landroid/widget/Button; // type@0063 │ │ -01ea88: 5b10 5e02 |0040: iput-object v0, v1, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.restoreDefaultConfigurationButton:Landroid/widget/Button; // field@025e │ │ -01ea8c: 1400 0e00 057f |0042: const v0, #float 1.76788e+38 // #7f05000e │ │ -01ea92: 6e20 8303 0100 |0045: invoke-virtual {v1, v0}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.findViewById:(I)Landroid/view/View; // method@0383 │ │ -01ea98: 0c00 |0048: move-result-object v0 │ │ -01ea9a: 1f00 6800 |0049: check-cast v0, Landroid/widget/ImageButton; // type@0068 │ │ -01ea9e: 5b10 5802 |004b: iput-object v0, v1, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.applyNewConfigurationButton:Landroid/widget/ImageButton; // field@0258 │ │ -01eaa2: 0e00 |004d: return-void │ │ +01e9f4: |[01e9f4] dnsfilter.android.dnsserverconfig.DNSServerConfigActivity.findViews:()V │ │ +01ea04: 1400 4100 057f |0000: const v0, #float 1.76789e+38 // #7f050041 │ │ +01ea0a: 6e20 8303 0100 |0003: invoke-virtual {v1, v0}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.findViewById:(I)Landroid/view/View; // method@0383 │ │ +01ea10: 0c00 |0006: move-result-object v0 │ │ +01ea12: 1f00 6c00 |0007: check-cast v0, Landroid/widget/ListView; // type@006c │ │ +01ea16: 5b10 5b02 |0009: iput-object v0, v1, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.manualDNSList:Landroid/widget/ListView; // field@025b │ │ +01ea1a: 1400 4200 057f |000b: const v0, #float 1.76789e+38 // #7f050042 │ │ +01ea20: 6e20 8303 0100 |000e: invoke-virtual {v1, v0}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.findViewById:(I)Landroid/view/View; // method@0383 │ │ +01ea26: 0c00 |0011: move-result-object v0 │ │ +01ea28: 1f00 b300 |0012: check-cast v0, Ldnsfilter/android/PaddedCheckBox; // type@00b3 │ │ +01ea2c: 5b10 5c02 |0014: iput-object v0, v1, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.manualDNSRawModeCheckbox:Ldnsfilter/android/PaddedCheckBox; // field@025c │ │ +01ea30: 1400 5b00 057f |0016: const v0, #float 1.76789e+38 // #7f05005b │ │ +01ea36: 6e20 8303 0100 |0019: invoke-virtual {v1, v0}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.findViewById:(I)Landroid/view/View; // method@0383 │ │ +01ea3c: 0c00 |001c: move-result-object v0 │ │ +01ea3e: 1f00 b300 |001d: check-cast v0, Ldnsfilter/android/PaddedCheckBox; // type@00b3 │ │ +01ea42: 5b10 5f02 |001f: iput-object v0, v1, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.showCommentedLinesCheckbox:Ldnsfilter/android/PaddedCheckBox; // field@025f │ │ +01ea46: 1400 4000 057f |0021: const v0, #float 1.76789e+38 // #7f050040 │ │ +01ea4c: 6e20 8303 0100 |0024: invoke-virtual {v1, v0}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.findViewById:(I)Landroid/view/View; // method@0383 │ │ +01ea52: 0c00 |0027: move-result-object v0 │ │ +01ea54: 1f00 6700 |0028: check-cast v0, Landroid/widget/EditText; // type@0067 │ │ +01ea58: 5b10 5a02 |002a: iput-object v0, v1, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.manualDNSEditText:Landroid/widget/EditText; // field@025a │ │ +01ea5c: 1400 3f00 057f |002c: const v0, #float 1.76789e+38 // #7f05003f │ │ +01ea62: 6e20 8303 0100 |002f: invoke-virtual {v1, v0}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.findViewById:(I)Landroid/view/View; // method@0383 │ │ +01ea68: 0c00 |0032: move-result-object v0 │ │ +01ea6a: 1f00 b300 |0033: check-cast v0, Ldnsfilter/android/PaddedCheckBox; // type@00b3 │ │ +01ea6e: 5b10 5902 |0035: iput-object v0, v1, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.manualDNSCheck:Ldnsfilter/android/PaddedCheckBox; // field@0259 │ │ +01ea72: 1400 5300 057f |0037: const v0, #float 1.76789e+38 // #7f050053 │ │ +01ea78: 6e20 8303 0100 |003a: invoke-virtual {v1, v0}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.findViewById:(I)Landroid/view/View; // method@0383 │ │ +01ea7e: 0c00 |003d: move-result-object v0 │ │ +01ea80: 1f00 6300 |003e: check-cast v0, Landroid/widget/Button; // type@0063 │ │ +01ea84: 5b10 5e02 |0040: iput-object v0, v1, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.restoreDefaultConfigurationButton:Landroid/widget/Button; // field@025e │ │ +01ea88: 1400 0e00 057f |0042: const v0, #float 1.76788e+38 // #7f05000e │ │ +01ea8e: 6e20 8303 0100 |0045: invoke-virtual {v1, v0}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.findViewById:(I)Landroid/view/View; // method@0383 │ │ +01ea94: 0c00 |0048: move-result-object v0 │ │ +01ea96: 1f00 6800 |0049: check-cast v0, Landroid/widget/ImageButton; // type@0068 │ │ +01ea9a: 5b10 5802 |004b: iput-object v0, v1, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.applyNewConfigurationButton:Landroid/widget/ImageButton; // field@0258 │ │ +01ea9e: 0e00 |004d: return-void │ │ catches : (none) │ │ positions : │ │ 0x0003 line=70 │ │ 0x000e line=71 │ │ 0x0019 line=72 │ │ 0x0024 line=73 │ │ 0x002f line=74 │ │ @@ -48839,42 +48839,42 @@ │ │ type : '()V' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 4 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 60 16-bit code units │ │ -01ec18: |[01ec18] dnsfilter.android.dnsserverconfig.DNSServerConfigActivity.setupActionBar:()V │ │ -01ec28: 6000 0200 |0000: sget v0, Landroid/os/Build$VERSION;.SDK_INT:I // field@0002 │ │ -01ec2c: 1301 1500 |0002: const/16 v1, #int 21 // #15 │ │ -01ec30: 3410 2d00 |0004: if-lt v0, v1, 0031 // +002d │ │ -01ec34: 6e10 8903 0300 |0006: invoke-virtual {v3}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.getWindow:()Landroid/view/Window; // method@0389 │ │ -01ec3a: 0c00 |0009: move-result-object v0 │ │ -01ec3c: 1501 0080 |000a: const/high16 v1, #int -2147483648 // #8000 │ │ -01ec40: 6e20 b700 1000 |000c: invoke-virtual {v0, v1}, Landroid/view/Window;.addFlags:(I)V // method@00b7 │ │ -01ec46: 1501 0004 |000f: const/high16 v1, #int 67108864 // #400 │ │ -01ec4a: 6e20 b800 1000 |0011: invoke-virtual {v0, v1}, Landroid/view/Window;.clearFlags:(I)V // method@00b8 │ │ -01ec50: 6e10 8803 0300 |0014: invoke-virtual {v3}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.getResources:()Landroid/content/res/Resources; // method@0388 │ │ -01ec56: 0c01 |0017: move-result-object v1 │ │ -01ec58: 1402 0600 037f |0018: const v2, #float 1.74129e+38 // #7f030006 │ │ -01ec5e: 6e20 5600 2100 |001b: invoke-virtual {v1, v2}, Landroid/content/res/Resources;.getColor:(I)I // method@0056 │ │ -01ec64: 0a01 |001e: move-result v1 │ │ -01ec66: 7120 6c02 1000 |001f: invoke-static {v0, v1}, Ldnsfilter/android/BootUpReceiver$$ExternalSyntheticApiModelOutline0;.m:(Landroid/view/Window;I)V // method@026c │ │ -01ec6c: 6e10 8903 0300 |0022: invoke-virtual {v3}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.getWindow:()Landroid/view/Window; // method@0389 │ │ -01ec72: 0c00 |0025: move-result-object v0 │ │ -01ec74: 6e10 8803 0300 |0026: invoke-virtual {v3}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.getResources:()Landroid/content/res/Resources; // method@0388 │ │ -01ec7a: 0c01 |0029: move-result-object v1 │ │ -01ec7c: 6e20 5600 2100 |002a: invoke-virtual {v1, v2}, Landroid/content/res/Resources;.getColor:(I)I // method@0056 │ │ -01ec82: 0a01 |002d: move-result v1 │ │ -01ec84: 7120 7302 1000 |002e: invoke-static {v0, v1}, Ldnsfilter/android/BootUpReceiver$$ExternalSyntheticApiModelOutline0;.m$1:(Landroid/view/Window;I)V // method@0273 │ │ -01ec8a: 6e10 8603 0300 |0031: invoke-virtual {v3}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.getActionBar:()Landroid/app/ActionBar; // method@0386 │ │ -01ec90: 0c00 |0034: move-result-object v0 │ │ -01ec92: 1401 0c00 087f |0035: const v1, #float 1.80775e+38 // #7f08000c │ │ -01ec98: 6e20 0000 1000 |0038: invoke-virtual {v0, v1}, Landroid/app/ActionBar;.setTitle:(I)V // method@0000 │ │ -01ec9e: 0e00 |003b: return-void │ │ +01ec14: |[01ec14] dnsfilter.android.dnsserverconfig.DNSServerConfigActivity.setupActionBar:()V │ │ +01ec24: 6000 0200 |0000: sget v0, Landroid/os/Build$VERSION;.SDK_INT:I // field@0002 │ │ +01ec28: 1301 1500 |0002: const/16 v1, #int 21 // #15 │ │ +01ec2c: 3410 2d00 |0004: if-lt v0, v1, 0031 // +002d │ │ +01ec30: 6e10 8903 0300 |0006: invoke-virtual {v3}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.getWindow:()Landroid/view/Window; // method@0389 │ │ +01ec36: 0c00 |0009: move-result-object v0 │ │ +01ec38: 1501 0080 |000a: const/high16 v1, #int -2147483648 // #8000 │ │ +01ec3c: 6e20 b700 1000 |000c: invoke-virtual {v0, v1}, Landroid/view/Window;.addFlags:(I)V // method@00b7 │ │ +01ec42: 1501 0004 |000f: const/high16 v1, #int 67108864 // #400 │ │ +01ec46: 6e20 b800 1000 |0011: invoke-virtual {v0, v1}, Landroid/view/Window;.clearFlags:(I)V // method@00b8 │ │ +01ec4c: 6e10 8803 0300 |0014: invoke-virtual {v3}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.getResources:()Landroid/content/res/Resources; // method@0388 │ │ +01ec52: 0c01 |0017: move-result-object v1 │ │ +01ec54: 1402 0600 037f |0018: const v2, #float 1.74129e+38 // #7f030006 │ │ +01ec5a: 6e20 5600 2100 |001b: invoke-virtual {v1, v2}, Landroid/content/res/Resources;.getColor:(I)I // method@0056 │ │ +01ec60: 0a01 |001e: move-result v1 │ │ +01ec62: 7120 6c02 1000 |001f: invoke-static {v0, v1}, Ldnsfilter/android/BootUpReceiver$$ExternalSyntheticApiModelOutline0;.m:(Landroid/view/Window;I)V // method@026c │ │ +01ec68: 6e10 8903 0300 |0022: invoke-virtual {v3}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.getWindow:()Landroid/view/Window; // method@0389 │ │ +01ec6e: 0c00 |0025: move-result-object v0 │ │ +01ec70: 6e10 8803 0300 |0026: invoke-virtual {v3}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.getResources:()Landroid/content/res/Resources; // method@0388 │ │ +01ec76: 0c01 |0029: move-result-object v1 │ │ +01ec78: 6e20 5600 2100 |002a: invoke-virtual {v1, v2}, Landroid/content/res/Resources;.getColor:(I)I // method@0056 │ │ +01ec7e: 0a01 |002d: move-result v1 │ │ +01ec80: 7120 7302 1000 |002e: invoke-static {v0, v1}, Ldnsfilter/android/BootUpReceiver$$ExternalSyntheticApiModelOutline0;.m$1:(Landroid/view/Window;I)V // method@0273 │ │ +01ec86: 6e10 8603 0300 |0031: invoke-virtual {v3}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.getActionBar:()Landroid/app/ActionBar; // method@0386 │ │ +01ec8c: 0c00 |0034: move-result-object v0 │ │ +01ec8e: 1401 0c00 087f |0035: const v1, #float 1.80775e+38 // #7f08000c │ │ +01ec94: 6e20 0000 1000 |0038: invoke-virtual {v0, v1}, Landroid/app/ActionBar;.setTitle:(I)V // method@0000 │ │ +01ec9a: 0e00 |003b: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=57 │ │ 0x0006 line=58 │ │ 0x000c line=59 │ │ 0x0011 line=60 │ │ 0x0014 line=61 │ │ @@ -48890,35 +48890,35 @@ │ │ type : '(Landroid/os/Bundle;)V' │ │ access : 0x0004 (PROTECTED) │ │ code - │ │ registers : 3 │ │ ins : 2 │ │ outs : 4 │ │ insns size : 51 16-bit code units │ │ -01eaa4: |[01eaa4] dnsfilter.android.dnsserverconfig.DNSServerConfigActivity.onCreate:(Landroid/os/Bundle;)V │ │ -01eab4: 6f20 0400 2100 |0000: invoke-super {v1, v2}, Landroid/app/Activity;.onCreate:(Landroid/os/Bundle;)V // method@0004 │ │ -01eaba: 1500 067f |0003: const/high16 v0, #int 2131099648 // #7f06 │ │ -01eabe: 6e20 8e03 0100 |0005: invoke-virtual {v1, v0}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.setContentView:(I)V // method@038e │ │ -01eac4: 7010 9103 0100 |0008: invoke-direct {v1}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.setupActionBar:()V // method@0391 │ │ -01eaca: 7010 8403 0100 |000b: invoke-direct {v1}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.findViews:()V // method@0384 │ │ -01ead0: 2200 c700 |000e: new-instance v0, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl; // type@00c7 │ │ -01ead4: 7040 a003 1021 |0010: invoke-direct {v0, v1, v1, v2}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.:(Ldnsfilter/android/dnsserverconfig/DNSServerConfigView;Landroid/content/Context;Landroid/os/Bundle;)V // method@03a0 │ │ -01eada: 5b10 5d02 |0013: iput-object v0, v1, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.presenter:Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenter; // field@025d │ │ -01eade: 7010 7f03 0100 |0015: invoke-direct {v1}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.configureManualDNSValue:()V // method@037f │ │ -01eae4: 7010 7e03 0100 |0018: invoke-direct {v1}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.configureDNSList:()V // method@037e │ │ -01eaea: 7010 8003 0100 |001b: invoke-direct {v1}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.configureRawMode:()V // method@0380 │ │ -01eaf0: 7010 8103 0100 |001e: invoke-direct {v1}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.configureRestoreDefaultsButton:()V // method@0381 │ │ -01eaf6: 7010 7d03 0100 |0021: invoke-direct {v1}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.configureApplyNewConfigurationButton:()V // method@037d │ │ -01eafc: 7010 8203 0100 |0024: invoke-direct {v1}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.configureShowCommentedLines:()V // method@0382 │ │ -01eb02: 5412 5d02 |0027: iget-object v2, v1, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.presenter:Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenter; // field@025d │ │ -01eb06: 5410 5f02 |0029: iget-object v0, v1, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.showCommentedLinesCheckbox:Ldnsfilter/android/PaddedCheckBox; // field@025f │ │ -01eb0a: 6e10 5903 0000 |002b: invoke-virtual {v0}, Ldnsfilter/android/PaddedCheckBox;.isChecked:()Z // method@0359 │ │ -01eb10: 0a00 |002e: move-result v0 │ │ -01eb12: 7220 9b03 0200 |002f: invoke-interface {v2, v0}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenter;.onChangedShowCommentedLinesCheckbox:(Z)V // method@039b │ │ -01eb18: 0e00 |0032: return-void │ │ +01eaa0: |[01eaa0] dnsfilter.android.dnsserverconfig.DNSServerConfigActivity.onCreate:(Landroid/os/Bundle;)V │ │ +01eab0: 6f20 0400 2100 |0000: invoke-super {v1, v2}, Landroid/app/Activity;.onCreate:(Landroid/os/Bundle;)V // method@0004 │ │ +01eab6: 1500 067f |0003: const/high16 v0, #int 2131099648 // #7f06 │ │ +01eaba: 6e20 8e03 0100 |0005: invoke-virtual {v1, v0}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.setContentView:(I)V // method@038e │ │ +01eac0: 7010 9103 0100 |0008: invoke-direct {v1}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.setupActionBar:()V // method@0391 │ │ +01eac6: 7010 8403 0100 |000b: invoke-direct {v1}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.findViews:()V // method@0384 │ │ +01eacc: 2200 c700 |000e: new-instance v0, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl; // type@00c7 │ │ +01ead0: 7040 a003 1021 |0010: invoke-direct {v0, v1, v1, v2}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.:(Ldnsfilter/android/dnsserverconfig/DNSServerConfigView;Landroid/content/Context;Landroid/os/Bundle;)V // method@03a0 │ │ +01ead6: 5b10 5d02 |0013: iput-object v0, v1, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.presenter:Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenter; // field@025d │ │ +01eada: 7010 7f03 0100 |0015: invoke-direct {v1}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.configureManualDNSValue:()V // method@037f │ │ +01eae0: 7010 7e03 0100 |0018: invoke-direct {v1}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.configureDNSList:()V // method@037e │ │ +01eae6: 7010 8003 0100 |001b: invoke-direct {v1}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.configureRawMode:()V // method@0380 │ │ +01eaec: 7010 8103 0100 |001e: invoke-direct {v1}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.configureRestoreDefaultsButton:()V // method@0381 │ │ +01eaf2: 7010 7d03 0100 |0021: invoke-direct {v1}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.configureApplyNewConfigurationButton:()V // method@037d │ │ +01eaf8: 7010 8203 0100 |0024: invoke-direct {v1}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.configureShowCommentedLines:()V // method@0382 │ │ +01eafe: 5412 5d02 |0027: iget-object v2, v1, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.presenter:Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenter; // field@025d │ │ +01eb02: 5410 5f02 |0029: iget-object v0, v1, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.showCommentedLinesCheckbox:Ldnsfilter/android/PaddedCheckBox; // field@025f │ │ +01eb06: 6e10 5903 0000 |002b: invoke-virtual {v0}, Ldnsfilter/android/PaddedCheckBox;.isChecked:()Z // method@0359 │ │ +01eb0c: 0a00 |002e: move-result v0 │ │ +01eb0e: 7220 9b03 0200 |002f: invoke-interface {v2, v0}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenter;.onChangedShowCommentedLinesCheckbox:(Z)V // method@039b │ │ +01eb14: 0e00 |0032: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=39 │ │ 0x0005 line=40 │ │ 0x0008 line=42 │ │ 0x000b line=43 │ │ 0x000e line=45 │ │ @@ -48938,19 +48938,19 @@ │ │ type : '()V' │ │ access : 0x0004 (PROTECTED) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 9 16-bit code units │ │ -01eb1c: |[01eb1c] dnsfilter.android.dnsserverconfig.DNSServerConfigActivity.onDestroy:()V │ │ -01eb2c: 5410 5d02 |0000: iget-object v0, v1, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.presenter:Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenter; // field@025d │ │ -01eb30: 7210 9c03 0000 |0002: invoke-interface {v0}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenter;.onDestroy:()V // method@039c │ │ -01eb36: 6f10 0500 0100 |0005: invoke-super {v1}, Landroid/app/Activity;.onDestroy:()V // method@0005 │ │ -01eb3c: 0e00 |0008: return-void │ │ +01eb18: |[01eb18] dnsfilter.android.dnsserverconfig.DNSServerConfigActivity.onDestroy:()V │ │ +01eb28: 5410 5d02 |0000: iget-object v0, v1, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.presenter:Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenter; // field@025d │ │ +01eb2c: 7210 9c03 0000 |0002: invoke-interface {v0}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenter;.onDestroy:()V // method@039c │ │ +01eb32: 6f10 0500 0100 |0005: invoke-super {v1}, Landroid/app/Activity;.onDestroy:()V // method@0005 │ │ +01eb38: 0e00 |0008: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=197 │ │ 0x0005 line=198 │ │ locals : │ │ 0x0000 - 0x0009 reg=1 this Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity; │ │ │ │ @@ -48959,30 +48959,30 @@ │ │ type : '(Landroid/os/Bundle;)V' │ │ access : 0x0004 (PROTECTED) │ │ code - │ │ registers : 6 │ │ ins : 2 │ │ outs : 5 │ │ insns size : 31 16-bit code units │ │ -01eb40: |[01eb40] dnsfilter.android.dnsserverconfig.DNSServerConfigActivity.onSaveInstanceState:(Landroid/os/Bundle;)V │ │ -01eb50: 5440 5d02 |0000: iget-object v0, v4, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.presenter:Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenter; // field@025d │ │ -01eb54: 5441 5c02 |0002: iget-object v1, v4, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.manualDNSRawModeCheckbox:Ldnsfilter/android/PaddedCheckBox; // field@025c │ │ -01eb58: 6e10 5903 0100 |0004: invoke-virtual {v1}, Ldnsfilter/android/PaddedCheckBox;.isChecked:()Z // method@0359 │ │ -01eb5e: 0a01 |0007: move-result v1 │ │ -01eb60: 5442 5a02 |0008: iget-object v2, v4, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.manualDNSEditText:Landroid/widget/EditText; // field@025a │ │ -01eb64: 6e10 da00 0200 |000a: invoke-virtual {v2}, Landroid/widget/EditText;.getText:()Landroid/text/Editable; // method@00da │ │ -01eb6a: 0c02 |000d: move-result-object v2 │ │ -01eb6c: 6e10 7a05 0200 |000e: invoke-virtual {v2}, Ljava/lang/Object;.toString:()Ljava/lang/String; // method@057a │ │ -01eb72: 0c02 |0011: move-result-object v2 │ │ -01eb74: 5443 5f02 |0012: iget-object v3, v4, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.showCommentedLinesCheckbox:Ldnsfilter/android/PaddedCheckBox; // field@025f │ │ -01eb78: 6e10 5903 0300 |0014: invoke-virtual {v3}, Ldnsfilter/android/PaddedCheckBox;.isChecked:()Z // method@0359 │ │ -01eb7e: 0a03 |0017: move-result v3 │ │ -01eb80: 7253 9e03 5021 |0018: invoke-interface {v0, v5, v1, v2, v3}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenter;.saveState:(Landroid/os/Bundle;ZLjava/lang/String;Z)V // method@039e │ │ -01eb86: 6f20 0700 5400 |001b: invoke-super {v4, v5}, Landroid/app/Activity;.onSaveInstanceState:(Landroid/os/Bundle;)V // method@0007 │ │ -01eb8c: 0e00 |001e: return-void │ │ +01eb3c: |[01eb3c] dnsfilter.android.dnsserverconfig.DNSServerConfigActivity.onSaveInstanceState:(Landroid/os/Bundle;)V │ │ +01eb4c: 5440 5d02 |0000: iget-object v0, v4, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.presenter:Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenter; // field@025d │ │ +01eb50: 5441 5c02 |0002: iget-object v1, v4, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.manualDNSRawModeCheckbox:Ldnsfilter/android/PaddedCheckBox; // field@025c │ │ +01eb54: 6e10 5903 0100 |0004: invoke-virtual {v1}, Ldnsfilter/android/PaddedCheckBox;.isChecked:()Z // method@0359 │ │ +01eb5a: 0a01 |0007: move-result v1 │ │ +01eb5c: 5442 5a02 |0008: iget-object v2, v4, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.manualDNSEditText:Landroid/widget/EditText; // field@025a │ │ +01eb60: 6e10 da00 0200 |000a: invoke-virtual {v2}, Landroid/widget/EditText;.getText:()Landroid/text/Editable; // method@00da │ │ +01eb66: 0c02 |000d: move-result-object v2 │ │ +01eb68: 6e10 7a05 0200 |000e: invoke-virtual {v2}, Ljava/lang/Object;.toString:()Ljava/lang/String; // method@057a │ │ +01eb6e: 0c02 |0011: move-result-object v2 │ │ +01eb70: 5443 5f02 |0012: iget-object v3, v4, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.showCommentedLinesCheckbox:Ldnsfilter/android/PaddedCheckBox; // field@025f │ │ +01eb74: 6e10 5903 0300 |0014: invoke-virtual {v3}, Ldnsfilter/android/PaddedCheckBox;.isChecked:()Z // method@0359 │ │ +01eb7a: 0a03 |0017: move-result v3 │ │ +01eb7c: 7253 9e03 5021 |0018: invoke-interface {v0, v5, v1, v2, v3}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenter;.saveState:(Landroid/os/Bundle;ZLjava/lang/String;Z)V // method@039e │ │ +01eb82: 6f20 0700 5400 |001b: invoke-super {v4, v5}, Landroid/app/Activity;.onSaveInstanceState:(Landroid/os/Bundle;)V // method@0007 │ │ +01eb88: 0e00 |001e: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=186 │ │ 0x0004 line=188 │ │ 0x000a line=189 │ │ 0x0014 line=190 │ │ 0x0018 line=186 │ │ @@ -48996,36 +48996,36 @@ │ │ type : '()V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 4 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 46 16-bit code units │ │ -01eb90: |[01eb90] dnsfilter.android.dnsserverconfig.DNSServerConfigActivity.resetToDefaultMode:()V │ │ -01eba0: 5430 5a02 |0000: iget-object v0, v3, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.manualDNSEditText:Landroid/widget/EditText; // field@025a │ │ -01eba4: 7110 b203 0000 |0002: invoke-static {v0}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigUtils;.hideKeyboard:(Landroid/view/View;)V // method@03b2 │ │ -01ebaa: 5430 5c02 |0005: iget-object v0, v3, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.manualDNSRawModeCheckbox:Ldnsfilter/android/PaddedCheckBox; // field@025c │ │ -01ebae: 1201 |0007: const/4 v1, #int 0 // #0 │ │ -01ebb0: 6e20 5a03 1000 |0008: invoke-virtual {v0, v1}, Ldnsfilter/android/PaddedCheckBox;.setChecked:(Z)V // method@035a │ │ -01ebb6: 5430 5b02 |000b: iget-object v0, v3, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.manualDNSList:Landroid/widget/ListView; // field@025b │ │ -01ebba: 6e20 f200 1000 |000d: invoke-virtual {v0, v1}, Landroid/widget/ListView;.setVisibility:(I)V // method@00f2 │ │ -01ebc0: 5430 5a02 |0010: iget-object v0, v3, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.manualDNSEditText:Landroid/widget/EditText; // field@025a │ │ -01ebc4: 1302 0800 |0012: const/16 v2, #int 8 // #8 │ │ -01ebc8: 6e20 e800 2000 |0014: invoke-virtual {v0, v2}, Landroid/widget/EditText;.setVisibility:(I)V // method@00e8 │ │ -01ebce: 5430 5a02 |0017: iget-object v0, v3, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.manualDNSEditText:Landroid/widget/EditText; // field@025a │ │ -01ebd2: 1202 |0019: const/4 v2, #int 0 // #0 │ │ -01ebd4: 6e20 de00 2000 |001a: invoke-virtual {v0, v2}, Landroid/widget/EditText;.setError:(Ljava/lang/CharSequence;)V // method@00de │ │ -01ebda: 5430 5f02 |001d: iget-object v0, v3, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.showCommentedLinesCheckbox:Ldnsfilter/android/PaddedCheckBox; // field@025f │ │ -01ebde: 6e20 5d03 1000 |001f: invoke-virtual {v0, v1}, Ldnsfilter/android/PaddedCheckBox;.setVisibility:(I)V // method@035d │ │ -01ebe4: 5430 5d02 |0022: iget-object v0, v3, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.presenter:Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenter; // field@025d │ │ -01ebe8: 5431 5f02 |0024: iget-object v1, v3, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.showCommentedLinesCheckbox:Ldnsfilter/android/PaddedCheckBox; // field@025f │ │ -01ebec: 6e10 5903 0100 |0026: invoke-virtual {v1}, Ldnsfilter/android/PaddedCheckBox;.isChecked:()Z // method@0359 │ │ -01ebf2: 0a01 |0029: move-result v1 │ │ -01ebf4: 7220 9b03 1000 |002a: invoke-interface {v0, v1}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenter;.onChangedShowCommentedLinesCheckbox:(Z)V // method@039b │ │ -01ebfa: 0e00 |002d: return-void │ │ +01eb8c: |[01eb8c] dnsfilter.android.dnsserverconfig.DNSServerConfigActivity.resetToDefaultMode:()V │ │ +01eb9c: 5430 5a02 |0000: iget-object v0, v3, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.manualDNSEditText:Landroid/widget/EditText; // field@025a │ │ +01eba0: 7110 b203 0000 |0002: invoke-static {v0}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigUtils;.hideKeyboard:(Landroid/view/View;)V // method@03b2 │ │ +01eba6: 5430 5c02 |0005: iget-object v0, v3, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.manualDNSRawModeCheckbox:Ldnsfilter/android/PaddedCheckBox; // field@025c │ │ +01ebaa: 1201 |0007: const/4 v1, #int 0 // #0 │ │ +01ebac: 6e20 5a03 1000 |0008: invoke-virtual {v0, v1}, Ldnsfilter/android/PaddedCheckBox;.setChecked:(Z)V // method@035a │ │ +01ebb2: 5430 5b02 |000b: iget-object v0, v3, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.manualDNSList:Landroid/widget/ListView; // field@025b │ │ +01ebb6: 6e20 f200 1000 |000d: invoke-virtual {v0, v1}, Landroid/widget/ListView;.setVisibility:(I)V // method@00f2 │ │ +01ebbc: 5430 5a02 |0010: iget-object v0, v3, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.manualDNSEditText:Landroid/widget/EditText; // field@025a │ │ +01ebc0: 1302 0800 |0012: const/16 v2, #int 8 // #8 │ │ +01ebc4: 6e20 e800 2000 |0014: invoke-virtual {v0, v2}, Landroid/widget/EditText;.setVisibility:(I)V // method@00e8 │ │ +01ebca: 5430 5a02 |0017: iget-object v0, v3, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.manualDNSEditText:Landroid/widget/EditText; // field@025a │ │ +01ebce: 1202 |0019: const/4 v2, #int 0 // #0 │ │ +01ebd0: 6e20 de00 2000 |001a: invoke-virtual {v0, v2}, Landroid/widget/EditText;.setError:(Ljava/lang/CharSequence;)V // method@00de │ │ +01ebd6: 5430 5f02 |001d: iget-object v0, v3, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.showCommentedLinesCheckbox:Ldnsfilter/android/PaddedCheckBox; // field@025f │ │ +01ebda: 6e20 5d03 1000 |001f: invoke-virtual {v0, v1}, Ldnsfilter/android/PaddedCheckBox;.setVisibility:(I)V // method@035d │ │ +01ebe0: 5430 5d02 |0022: iget-object v0, v3, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.presenter:Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenter; // field@025d │ │ +01ebe4: 5431 5f02 |0024: iget-object v1, v3, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.showCommentedLinesCheckbox:Ldnsfilter/android/PaddedCheckBox; // field@025f │ │ +01ebe8: 6e10 5903 0100 |0026: invoke-virtual {v1}, Ldnsfilter/android/PaddedCheckBox;.isChecked:()Z // method@0359 │ │ +01ebee: 0a01 |0029: move-result v1 │ │ +01ebf0: 7220 9b03 1000 |002a: invoke-interface {v0, v1}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenter;.onChangedShowCommentedLinesCheckbox:(Z)V // method@039b │ │ +01ebf6: 0e00 |002d: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=164 │ │ 0x0005 line=165 │ │ 0x000b line=166 │ │ 0x0010 line=167 │ │ 0x0017 line=168 │ │ @@ -49039,18 +49039,18 @@ │ │ type : '(Z)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 3 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 6 16-bit code units │ │ -01ebfc: |[01ebfc] dnsfilter.android.dnsserverconfig.DNSServerConfigActivity.setManualDNSServers:(Z)V │ │ -01ec0c: 5410 5902 |0000: iget-object v0, v1, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.manualDNSCheck:Ldnsfilter/android/PaddedCheckBox; // field@0259 │ │ -01ec10: 6e20 5a03 2000 |0002: invoke-virtual {v0, v2}, Ldnsfilter/android/PaddedCheckBox;.setChecked:(Z)V // method@035a │ │ -01ec16: 0e00 |0005: return-void │ │ +01ebf8: |[01ebf8] dnsfilter.android.dnsserverconfig.DNSServerConfigActivity.setManualDNSServers:(Z)V │ │ +01ec08: 5410 5902 |0000: iget-object v0, v1, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.manualDNSCheck:Ldnsfilter/android/PaddedCheckBox; // field@0259 │ │ +01ec0c: 6e20 5a03 2000 |0002: invoke-virtual {v0, v2}, Ldnsfilter/android/PaddedCheckBox;.setChecked:(Z)V // method@035a │ │ +01ec12: 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 │ │ │ │ @@ -49059,33 +49059,33 @@ │ │ type : '(Ljava/lang/String;)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 4 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 38 16-bit code units │ │ -01eca0: |[01eca0] dnsfilter.android.dnsserverconfig.DNSServerConfigActivity.showRawMode:(Ljava/lang/String;)V │ │ -01ecb0: 5420 5c02 |0000: iget-object v0, v2, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.manualDNSRawModeCheckbox:Ldnsfilter/android/PaddedCheckBox; // field@025c │ │ -01ecb4: 6e10 5903 0000 |0002: invoke-virtual {v0}, Ldnsfilter/android/PaddedCheckBox;.isChecked:()Z // method@0359 │ │ -01ecba: 0a00 |0005: move-result v0 │ │ -01ecbc: 3900 0800 |0006: if-nez v0, 000e // +0008 │ │ -01ecc0: 5420 5c02 |0008: iget-object v0, v2, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.manualDNSRawModeCheckbox:Ldnsfilter/android/PaddedCheckBox; // field@025c │ │ -01ecc4: 1211 |000a: const/4 v1, #int 1 // #1 │ │ -01ecc6: 6e20 5a03 1000 |000b: invoke-virtual {v0, v1}, Ldnsfilter/android/PaddedCheckBox;.setChecked:(Z)V // method@035a │ │ -01eccc: 5420 5a02 |000e: iget-object v0, v2, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.manualDNSEditText:Landroid/widget/EditText; // field@025a │ │ -01ecd0: 6e20 e600 3000 |0010: invoke-virtual {v0, v3}, Landroid/widget/EditText;.setText:(Ljava/lang/CharSequence;)V // method@00e6 │ │ -01ecd6: 5423 5b02 |0013: iget-object v3, v2, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.manualDNSList:Landroid/widget/ListView; // field@025b │ │ -01ecda: 1300 0800 |0015: const/16 v0, #int 8 // #8 │ │ -01ecde: 6e20 f200 0300 |0017: invoke-virtual {v3, v0}, Landroid/widget/ListView;.setVisibility:(I)V // method@00f2 │ │ -01ece4: 5423 5a02 |001a: iget-object v3, v2, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.manualDNSEditText:Landroid/widget/EditText; // field@025a │ │ -01ece8: 1201 |001c: const/4 v1, #int 0 // #0 │ │ -01ecea: 6e20 e800 1300 |001d: invoke-virtual {v3, v1}, Landroid/widget/EditText;.setVisibility:(I)V // method@00e8 │ │ -01ecf0: 5423 5f02 |0020: iget-object v3, v2, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.showCommentedLinesCheckbox:Ldnsfilter/android/PaddedCheckBox; // field@025f │ │ -01ecf4: 6e20 5d03 0300 |0022: invoke-virtual {v3, v0}, Ldnsfilter/android/PaddedCheckBox;.setVisibility:(I)V // method@035d │ │ -01ecfa: 0e00 |0025: return-void │ │ +01ec9c: |[01ec9c] dnsfilter.android.dnsserverconfig.DNSServerConfigActivity.showRawMode:(Ljava/lang/String;)V │ │ +01ecac: 5420 5c02 |0000: iget-object v0, v2, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.manualDNSRawModeCheckbox:Ldnsfilter/android/PaddedCheckBox; // field@025c │ │ +01ecb0: 6e10 5903 0000 |0002: invoke-virtual {v0}, Ldnsfilter/android/PaddedCheckBox;.isChecked:()Z // method@0359 │ │ +01ecb6: 0a00 |0005: move-result v0 │ │ +01ecb8: 3900 0800 |0006: if-nez v0, 000e // +0008 │ │ +01ecbc: 5420 5c02 |0008: iget-object v0, v2, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.manualDNSRawModeCheckbox:Ldnsfilter/android/PaddedCheckBox; // field@025c │ │ +01ecc0: 1211 |000a: const/4 v1, #int 1 // #1 │ │ +01ecc2: 6e20 5a03 1000 |000b: invoke-virtual {v0, v1}, Ldnsfilter/android/PaddedCheckBox;.setChecked:(Z)V // method@035a │ │ +01ecc8: 5420 5a02 |000e: iget-object v0, v2, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.manualDNSEditText:Landroid/widget/EditText; // field@025a │ │ +01eccc: 6e20 e600 3000 |0010: invoke-virtual {v0, v3}, Landroid/widget/EditText;.setText:(Ljava/lang/CharSequence;)V // method@00e6 │ │ +01ecd2: 5423 5b02 |0013: iget-object v3, v2, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.manualDNSList:Landroid/widget/ListView; // field@025b │ │ +01ecd6: 1300 0800 |0015: const/16 v0, #int 8 // #8 │ │ +01ecda: 6e20 f200 0300 |0017: invoke-virtual {v3, v0}, Landroid/widget/ListView;.setVisibility:(I)V // method@00f2 │ │ +01ece0: 5423 5a02 |001a: iget-object v3, v2, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.manualDNSEditText:Landroid/widget/EditText; // field@025a │ │ +01ece4: 1201 |001c: const/4 v1, #int 0 // #0 │ │ +01ece6: 6e20 e800 1300 |001d: invoke-virtual {v3, v1}, Landroid/widget/EditText;.setVisibility:(I)V // method@00e8 │ │ +01ecec: 5423 5f02 |0020: iget-object v3, v2, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.showCommentedLinesCheckbox:Ldnsfilter/android/PaddedCheckBox; // field@025f │ │ +01ecf0: 6e20 5d03 0300 |0022: invoke-virtual {v3, v0}, Ldnsfilter/android/PaddedCheckBox;.setVisibility:(I)V // method@035d │ │ +01ecf6: 0e00 |0025: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=175 │ │ 0x0008 line=176 │ │ 0x000e line=178 │ │ 0x0013 line=179 │ │ 0x001a line=180 │ │ @@ -49099,21 +49099,21 @@ │ │ type : '(Ljava/lang/String;)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 3 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 12 16-bit code units │ │ -01ecfc: |[01ecfc] dnsfilter.android.dnsserverconfig.DNSServerConfigActivity.showRawModeError:(Ljava/lang/String;)V │ │ -01ed0c: 5410 5a02 |0000: iget-object v0, v1, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.manualDNSEditText:Landroid/widget/EditText; // field@025a │ │ -01ed10: 6e20 de00 2000 |0002: invoke-virtual {v0, v2}, Landroid/widget/EditText;.setError:(Ljava/lang/CharSequence;)V // method@00de │ │ -01ed16: 5412 5c02 |0005: iget-object v2, v1, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.manualDNSRawModeCheckbox:Ldnsfilter/android/PaddedCheckBox; // field@025c │ │ -01ed1a: 1210 |0007: const/4 v0, #int 1 // #1 │ │ -01ed1c: 6e20 5a03 0200 |0008: invoke-virtual {v2, v0}, Ldnsfilter/android/PaddedCheckBox;.setChecked:(Z)V // method@035a │ │ -01ed22: 0e00 |000b: return-void │ │ +01ecf8: |[01ecf8] dnsfilter.android.dnsserverconfig.DNSServerConfigActivity.showRawModeError:(Ljava/lang/String;)V │ │ +01ed08: 5410 5a02 |0000: iget-object v0, v1, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.manualDNSEditText:Landroid/widget/EditText; // field@025a │ │ +01ed0c: 6e20 de00 2000 |0002: invoke-virtual {v0, v2}, Landroid/widget/EditText;.setError:(Ljava/lang/CharSequence;)V // method@00de │ │ +01ed12: 5412 5c02 |0005: iget-object v2, v1, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.manualDNSRawModeCheckbox:Ldnsfilter/android/PaddedCheckBox; // field@025c │ │ +01ed16: 1210 |0007: const/4 v0, #int 1 // #1 │ │ +01ed18: 6e20 5a03 0200 |0008: invoke-virtual {v2, v0}, Ldnsfilter/android/PaddedCheckBox;.setChecked:(Z)V // method@035a │ │ +01ed1e: 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; │ │ @@ -49123,20 +49123,20 @@ │ │ type : '(Ljava/lang/String;)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 3 │ │ ins : 2 │ │ outs : 3 │ │ insns size : 9 16-bit code units │ │ -01ed24: |[01ed24] dnsfilter.android.dnsserverconfig.DNSServerConfigActivity.showToast:(Ljava/lang/String;)V │ │ -01ed34: 1200 |0000: const/4 v0, #int 0 // #0 │ │ -01ed36: 7130 0c01 2100 |0001: invoke-static {v1, v2, v0}, Landroid/widget/Toast;.makeText:(Landroid/content/Context;Ljava/lang/CharSequence;I)Landroid/widget/Toast; // method@010c │ │ -01ed3c: 0c02 |0004: move-result-object v2 │ │ -01ed3e: 6e10 0d01 0200 |0005: invoke-virtual {v2}, Landroid/widget/Toast;.show:()V // method@010d │ │ -01ed44: 0e00 |0008: return-void │ │ +01ed20: |[01ed20] dnsfilter.android.dnsserverconfig.DNSServerConfigActivity.showToast:(Ljava/lang/String;)V │ │ +01ed30: 1200 |0000: const/4 v0, #int 0 // #0 │ │ +01ed32: 7130 0c01 2100 |0001: invoke-static {v1, v2, v0}, Landroid/widget/Toast;.makeText:(Landroid/content/Context;Ljava/lang/CharSequence;I)Landroid/widget/Toast; // method@010c │ │ +01ed38: 0c02 |0004: move-result-object v2 │ │ +01ed3a: 6e10 0d01 0200 |0005: invoke-virtual {v2}, Landroid/widget/Toast;.show:()V // method@010d │ │ +01ed40: 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; │ │ │ │ @@ -49145,34 +49145,34 @@ │ │ type : '(Ljava/lang/String;)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 5 │ │ ins : 2 │ │ outs : 4 │ │ insns size : 39 16-bit code units │ │ -01ed48: |[01ed48] dnsfilter.android.dnsserverconfig.DNSServerConfigActivity.showToastAndCloseScreen:(Ljava/lang/String;)V │ │ -01ed58: 3804 0900 |0000: if-eqz v4, 0009 // +0009 │ │ -01ed5c: 6e10 9305 0400 |0002: invoke-virtual {v4}, Ljava/lang/String;.isEmpty:()Z // method@0593 │ │ -01ed62: 0a00 |0005: move-result v0 │ │ -01ed64: 3900 0300 |0006: if-nez v0, 0009 // +0003 │ │ -01ed68: 2803 |0008: goto 000b // +0003 │ │ -01ed6a: 1a04 3801 |0009: const-string v4, "DNS servers config updated" // string@0138 │ │ -01ed6e: 1200 |000b: const/4 v0, #int 0 // #0 │ │ -01ed70: 7130 0c01 4300 |000c: invoke-static {v3, v4, v0}, Landroid/widget/Toast;.makeText:(Landroid/content/Context;Ljava/lang/CharSequence;I)Landroid/widget/Toast; // method@010c │ │ -01ed76: 0c04 |000f: move-result-object v4 │ │ -01ed78: 6e10 0d01 0400 |0010: invoke-virtual {v4}, Landroid/widget/Toast;.show:()V // method@010d │ │ -01ed7e: 2204 3500 |0013: new-instance v4, Landroid/os/Handler; // type@0035 │ │ -01ed82: 6e10 8703 0300 |0015: invoke-virtual {v3}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.getMainLooper:()Landroid/os/Looper; // method@0387 │ │ -01ed88: 0c00 |0018: move-result-object v0 │ │ -01ed8a: 7020 8400 0400 |0019: invoke-direct {v4, v0}, Landroid/os/Handler;.:(Landroid/os/Looper;)V // method@0084 │ │ -01ed90: 2200 c400 |001c: new-instance v0, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity$6; // type@00c4 │ │ -01ed94: 7020 7403 3000 |001e: invoke-direct {v0, v3}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity$6;.:(Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;)V // method@0374 │ │ -01ed9a: 1601 f401 |0021: const-wide/16 v1, #int 500 // #1f4 │ │ -01ed9e: 6e40 8600 0421 |0023: invoke-virtual {v4, v0, v1, v2}, Landroid/os/Handler;.postDelayed:(Ljava/lang/Runnable;J)Z // method@0086 │ │ -01eda4: 0e00 |0026: return-void │ │ +01ed44: |[01ed44] dnsfilter.android.dnsserverconfig.DNSServerConfigActivity.showToastAndCloseScreen:(Ljava/lang/String;)V │ │ +01ed54: 3804 0900 |0000: if-eqz v4, 0009 // +0009 │ │ +01ed58: 6e10 9305 0400 |0002: invoke-virtual {v4}, Ljava/lang/String;.isEmpty:()Z // method@0593 │ │ +01ed5e: 0a00 |0005: move-result v0 │ │ +01ed60: 3900 0300 |0006: if-nez v0, 0009 // +0003 │ │ +01ed64: 2803 |0008: goto 000b // +0003 │ │ +01ed66: 1a04 3801 |0009: const-string v4, "DNS servers config updated" // string@0138 │ │ +01ed6a: 1200 |000b: const/4 v0, #int 0 // #0 │ │ +01ed6c: 7130 0c01 4300 |000c: invoke-static {v3, v4, v0}, Landroid/widget/Toast;.makeText:(Landroid/content/Context;Ljava/lang/CharSequence;I)Landroid/widget/Toast; // method@010c │ │ +01ed72: 0c04 |000f: move-result-object v4 │ │ +01ed74: 6e10 0d01 0400 |0010: invoke-virtual {v4}, Landroid/widget/Toast;.show:()V // method@010d │ │ +01ed7a: 2204 3500 |0013: new-instance v4, Landroid/os/Handler; // type@0035 │ │ +01ed7e: 6e10 8703 0300 |0015: invoke-virtual {v3}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.getMainLooper:()Landroid/os/Looper; // method@0387 │ │ +01ed84: 0c00 |0018: move-result-object v0 │ │ +01ed86: 7020 8400 0400 |0019: invoke-direct {v4, v0}, Landroid/os/Handler;.:(Landroid/os/Looper;)V // method@0084 │ │ +01ed8c: 2200 c400 |001c: new-instance v0, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity$6; // type@00c4 │ │ +01ed90: 7020 7403 3000 |001e: invoke-direct {v0, v3}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity$6;.:(Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;)V // method@0374 │ │ +01ed96: 1601 f401 |0021: const-wide/16 v1, #int 500 // #1f4 │ │ +01ed9a: 6e40 8600 0421 |0023: invoke-virtual {v4, v0, v1, v2}, Landroid/os/Handler;.postDelayed:(Ljava/lang/Runnable;J)Z // method@0086 │ │ +01eda0: 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; │ │ @@ -49281,27 +49281,27 @@ │ │ type : '()V' │ │ access : 0x10008 (STATIC CONSTRUCTOR) │ │ code - │ │ registers : 2 │ │ ins : 0 │ │ outs : 1 │ │ insns size : 20 16-bit code units │ │ -01f054: |[01f054] dnsfilter.android.dnsserverconfig.DNSServerConfigPresenterImpl.:()V │ │ -01f064: 1a00 9c08 |0000: const-string v0, "line.separator" // string@089c │ │ -01f068: 7110 b505 0000 |0002: invoke-static {v0}, Ljava/lang/System;.getProperty:(Ljava/lang/String;)Ljava/lang/String; // method@05b5 │ │ -01f06e: 0c01 |0005: move-result-object v1 │ │ -01f070: 3901 0700 |0006: if-nez v1, 000d // +0007 │ │ -01f074: 1a00 0200 |0008: const-string v0, " │ │ +01f050: |[01f050] dnsfilter.android.dnsserverconfig.DNSServerConfigPresenterImpl.:()V │ │ +01f060: 1a00 9c08 |0000: const-string v0, "line.separator" // string@089c │ │ +01f064: 7110 b505 0000 |0002: invoke-static {v0}, Ljava/lang/System;.getProperty:(Ljava/lang/String;)Ljava/lang/String; // method@05b5 │ │ +01f06a: 0c01 |0005: move-result-object v1 │ │ +01f06c: 3901 0700 |0006: if-nez v1, 000d // +0007 │ │ +01f070: 1a00 0200 |0008: const-string v0, " │ │ " // string@0002 │ │ -01f078: 6900 6502 |000a: sput-object v0, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.LINE_SEPARATOR:Ljava/lang/String; // field@0265 │ │ -01f07c: 2807 |000c: goto 0013 // +0007 │ │ -01f07e: 7110 b505 0000 |000d: invoke-static {v0}, Ljava/lang/System;.getProperty:(Ljava/lang/String;)Ljava/lang/String; // method@05b5 │ │ -01f084: 0c00 |0010: move-result-object v0 │ │ -01f086: 6900 6502 |0011: sput-object v0, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.LINE_SEPARATOR:Ljava/lang/String; // field@0265 │ │ -01f08a: 0e00 |0013: return-void │ │ +01f074: 6900 6502 |000a: sput-object v0, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.LINE_SEPARATOR:Ljava/lang/String; // field@0265 │ │ +01f078: 2807 |000c: goto 0013 // +0007 │ │ +01f07a: 7110 b505 0000 |000d: invoke-static {v0}, Ljava/lang/System;.getProperty:(Ljava/lang/String;)Ljava/lang/String; // method@05b5 │ │ +01f080: 0c00 |0010: move-result-object v0 │ │ +01f082: 6900 6502 |0011: sput-object v0, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.LINE_SEPARATOR:Ljava/lang/String; // field@0265 │ │ +01f086: 0e00 |0013: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=28 │ │ 0x0008 line=29 │ │ 0x000d line=31 │ │ locals : │ │ │ │ @@ -49310,83 +49310,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 │ │ -01f08c: |[01f08c] dnsfilter.android.dnsserverconfig.DNSServerConfigPresenterImpl.:(Ldnsfilter/android/dnsserverconfig/DNSServerConfigView;Landroid/content/Context;Landroid/os/Bundle;)V │ │ -01f09c: 7010 7505 0700 |0000: invoke-direct {v7}, Ljava/lang/Object;.:()V // method@0575 │ │ -01f0a2: 7100 4f01 0000 |0003: invoke-static {}, Ldnsfilter/ConfigurationAccess;.getCurrent:()Ldnsfilter/ConfigurationAccess; // method@014f │ │ -01f0a8: 0c00 |0006: move-result-object v0 │ │ -01f0aa: 5b70 6202 |0007: iput-object v0, v7, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.CONFIG:Ldnsfilter/ConfigurationAccess; // field@0262 │ │ -01f0ae: 2200 d800 |0009: new-instance v0, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntrySerializer; // type@00d8 │ │ -01f0b2: 7010 f303 0000 |000b: invoke-direct {v0}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntrySerializer;.:()V // method@03f3 │ │ -01f0b8: 5b70 6c02 |000e: iput-object v0, v7, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.serializer:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntrySerializer; // field@026c │ │ -01f0bc: 1200 |0010: const/4 v0, #int 0 // #0 │ │ -01f0be: 5c70 6a02 |0011: iput-boolean v0, v7, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.isManualDNSServers:Z // field@026a │ │ -01f0c2: 7100 8806 0000 |0013: invoke-static {}, Ljava/util/concurrent/Executors;.newSingleThreadExecutor:()Ljava/util/concurrent/ExecutorService; // method@0688 │ │ -01f0c8: 0c01 |0016: move-result-object v1 │ │ -01f0ca: 5b71 6d02 |0017: iput-object v1, v7, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.testTasksPool:Ljava/util/concurrent/ExecutorService; // field@026d │ │ -01f0ce: 5b78 6e02 |0019: iput-object v8, v7, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.view:Ldnsfilter/android/dnsserverconfig/DNSServerConfigView; // field@026e │ │ -01f0d2: 2202 5101 |001b: new-instance v2, Ljava/util/ArrayList; // type@0151 │ │ -01f0d6: 7010 1a06 0200 |001d: invoke-direct {v2}, Ljava/util/ArrayList;.:()V // method@061a │ │ -01f0dc: 1213 |0020: const/4 v3, #int 1 // #1 │ │ -01f0de: 1a04 5e06 |0021: const-string v4, "detectDNS" // string@065e │ │ -01f0e2: 1a05 de06 |0023: const-string v5, "fallbackDNS" // string@06de │ │ -01f0e6: 380a 2100 |0025: if-eqz v10, 0046 // +0021 │ │ -01f0ea: 6e20 7d00 4a00 |0027: invoke-virtual {v10, v4}, Landroid/os/Bundle;.getBoolean:(Ljava/lang/String;)Z // method@007d │ │ -01f0f0: 0a04 |002a: move-result v4 │ │ -01f0f2: 5c74 6a02 |002b: iput-boolean v4, v7, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.isManualDNSServers:Z // field@026a │ │ -01f0f6: 1a04 7708 |002d: const-string v4, "isRadModeDNS" // string@0877 │ │ -01f0fa: 6e20 7d00 4a00 |002f: invoke-virtual {v10, v4}, Landroid/os/Bundle;.getBoolean:(Ljava/lang/String;)Z // method@007d │ │ -01f100: 0a04 |0032: move-result v4 │ │ -01f102: 3804 0a00 |0033: if-eqz v4, 003d // +000a │ │ -01f106: 6e20 7f00 5a00 |0035: invoke-virtual {v10, v5}, Landroid/os/Bundle;.getString:(Ljava/lang/String;)Ljava/lang/String; // method@007f │ │ -01f10c: 0c04 |0038: move-result-object v4 │ │ -01f10e: 7220 b503 4800 |0039: invoke-interface {v8, v4}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigView;.showRawMode:(Ljava/lang/String;)V // method@03b5 │ │ -01f114: 2833 |003c: goto 006f // +0033 │ │ -01f116: 6e20 7f00 5a00 |003d: invoke-virtual {v10, v5}, Landroid/os/Bundle;.getString:(Ljava/lang/String;)Ljava/lang/String; // method@007f │ │ -01f11c: 0c08 |0040: move-result-object v8 │ │ -01f11e: 7020 ac03 8700 |0041: invoke-direct {v7, v8}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.readDNSServerConfigFrom:(Ljava/lang/String;)Ljava/util/List; // method@03ac │ │ -01f124: 0c02 |0044: move-result-object v2 │ │ -01f126: 282a |0045: goto 006f // +002a │ │ -01f128: 7010 a303 0700 |0046: invoke-direct {v7}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.getConfig:()Ldnsfilter/ConfigUtil; // method@03a3 │ │ -01f12e: 0c08 |0049: move-result-object v8 │ │ -01f130: 3808 2500 |004a: if-eqz v8, 006f // +0025 │ │ -01f134: 6e10 3f01 0800 |004c: invoke-virtual {v8}, Ldnsfilter/ConfigUtil;.getProperties:()Ljava/util/Properties; // method@013f │ │ -01f13a: 0c02 |004f: move-result-object v2 │ │ -01f13c: 1a06 0000 |0050: const-string v6, "" // string@0000 │ │ -01f140: 6e30 5706 5206 |0052: invoke-virtual {v2, v5, v6}, Ljava/util/Properties;.getProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@0657 │ │ -01f146: 0c02 |0055: move-result-object v2 │ │ -01f148: 7110 b103 0200 |0056: invoke-static {v2}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigUtils;.formatSerializedProperties:(Ljava/lang/String;)Ljava/lang/String; // method@03b1 │ │ -01f14e: 0c02 |0059: move-result-object v2 │ │ -01f150: 7020 ac03 2700 |005a: invoke-direct {v7, v2}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.readDNSServerConfigFrom:(Ljava/lang/String;)Ljava/util/List; // method@03ac │ │ -01f156: 0c02 |005d: move-result-object v2 │ │ -01f158: 6e10 3f01 0800 |005e: invoke-virtual {v8}, Ldnsfilter/ConfigUtil;.getProperties:()Ljava/util/Properties; // method@013f │ │ -01f15e: 0c08 |0061: move-result-object v8 │ │ -01f160: 1a05 420b |0062: const-string v5, "true" // string@0b42 │ │ -01f164: 6e30 5706 4805 |0064: invoke-virtual {v8, v4, v5}, Ljava/util/Properties;.getProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@0657 │ │ -01f16a: 0c08 |0067: move-result-object v8 │ │ -01f16c: 7110 4d05 0800 |0068: invoke-static {v8}, Ljava/lang/Boolean;.parseBoolean:(Ljava/lang/String;)Z // method@054d │ │ -01f172: 0a08 |006b: move-result v8 │ │ -01f174: b738 |006c: xor-int/2addr v8, v3 │ │ -01f176: 5c78 6a02 |006d: iput-boolean v8, v7, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.isManualDNSServers:Z // field@026a │ │ -01f17a: 2208 d700 |006f: new-instance v8, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter; // type@00d7 │ │ -01f17e: 7040 d403 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@03d4 │ │ -01f184: 5b78 6b02 |0074: iput-object v8, v7, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.listAdapter:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter; // field@026b │ │ -01f188: 380a 0e00 |0076: if-eqz v10, 0084 // +000e │ │ -01f18c: 1a08 c90a |0078: const-string v8, "showCommentedLines" // string@0ac9 │ │ -01f190: 6e20 7d00 8a00 |007a: invoke-virtual {v10, v8}, Landroid/os/Bundle;.getBoolean:(Ljava/lang/String;)Z // method@007d │ │ -01f196: 0a08 |007d: move-result v8 │ │ -01f198: 3808 0900 |007e: if-eqz v8, 0087 // +0009 │ │ -01f19c: 6e20 a903 3700 |0080: invoke-virtual {v7, v3}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.onChangedShowCommentedLinesCheckbox:(Z)V // method@03a9 │ │ -01f1a2: 2804 |0083: goto 0087 // +0004 │ │ -01f1a4: 6e20 a903 0700 |0084: invoke-virtual {v7, v0}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.onChangedShowCommentedLinesCheckbox:(Z)V // method@03a9 │ │ -01f1aa: 0e00 |0087: return-void │ │ +01f088: |[01f088] dnsfilter.android.dnsserverconfig.DNSServerConfigPresenterImpl.:(Ldnsfilter/android/dnsserverconfig/DNSServerConfigView;Landroid/content/Context;Landroid/os/Bundle;)V │ │ +01f098: 7010 7505 0700 |0000: invoke-direct {v7}, Ljava/lang/Object;.:()V // method@0575 │ │ +01f09e: 7100 4f01 0000 |0003: invoke-static {}, Ldnsfilter/ConfigurationAccess;.getCurrent:()Ldnsfilter/ConfigurationAccess; // method@014f │ │ +01f0a4: 0c00 |0006: move-result-object v0 │ │ +01f0a6: 5b70 6202 |0007: iput-object v0, v7, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.CONFIG:Ldnsfilter/ConfigurationAccess; // field@0262 │ │ +01f0aa: 2200 d800 |0009: new-instance v0, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntrySerializer; // type@00d8 │ │ +01f0ae: 7010 f303 0000 |000b: invoke-direct {v0}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntrySerializer;.:()V // method@03f3 │ │ +01f0b4: 5b70 6c02 |000e: iput-object v0, v7, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.serializer:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntrySerializer; // field@026c │ │ +01f0b8: 1200 |0010: const/4 v0, #int 0 // #0 │ │ +01f0ba: 5c70 6a02 |0011: iput-boolean v0, v7, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.isManualDNSServers:Z // field@026a │ │ +01f0be: 7100 8806 0000 |0013: invoke-static {}, Ljava/util/concurrent/Executors;.newSingleThreadExecutor:()Ljava/util/concurrent/ExecutorService; // method@0688 │ │ +01f0c4: 0c01 |0016: move-result-object v1 │ │ +01f0c6: 5b71 6d02 |0017: iput-object v1, v7, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.testTasksPool:Ljava/util/concurrent/ExecutorService; // field@026d │ │ +01f0ca: 5b78 6e02 |0019: iput-object v8, v7, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.view:Ldnsfilter/android/dnsserverconfig/DNSServerConfigView; // field@026e │ │ +01f0ce: 2202 5101 |001b: new-instance v2, Ljava/util/ArrayList; // type@0151 │ │ +01f0d2: 7010 1a06 0200 |001d: invoke-direct {v2}, Ljava/util/ArrayList;.:()V // method@061a │ │ +01f0d8: 1213 |0020: const/4 v3, #int 1 // #1 │ │ +01f0da: 1a04 5e06 |0021: const-string v4, "detectDNS" // string@065e │ │ +01f0de: 1a05 de06 |0023: const-string v5, "fallbackDNS" // string@06de │ │ +01f0e2: 380a 2100 |0025: if-eqz v10, 0046 // +0021 │ │ +01f0e6: 6e20 7d00 4a00 |0027: invoke-virtual {v10, v4}, Landroid/os/Bundle;.getBoolean:(Ljava/lang/String;)Z // method@007d │ │ +01f0ec: 0a04 |002a: move-result v4 │ │ +01f0ee: 5c74 6a02 |002b: iput-boolean v4, v7, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.isManualDNSServers:Z // field@026a │ │ +01f0f2: 1a04 7708 |002d: const-string v4, "isRadModeDNS" // string@0877 │ │ +01f0f6: 6e20 7d00 4a00 |002f: invoke-virtual {v10, v4}, Landroid/os/Bundle;.getBoolean:(Ljava/lang/String;)Z // method@007d │ │ +01f0fc: 0a04 |0032: move-result v4 │ │ +01f0fe: 3804 0a00 |0033: if-eqz v4, 003d // +000a │ │ +01f102: 6e20 7f00 5a00 |0035: invoke-virtual {v10, v5}, Landroid/os/Bundle;.getString:(Ljava/lang/String;)Ljava/lang/String; // method@007f │ │ +01f108: 0c04 |0038: move-result-object v4 │ │ +01f10a: 7220 b503 4800 |0039: invoke-interface {v8, v4}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigView;.showRawMode:(Ljava/lang/String;)V // method@03b5 │ │ +01f110: 2833 |003c: goto 006f // +0033 │ │ +01f112: 6e20 7f00 5a00 |003d: invoke-virtual {v10, v5}, Landroid/os/Bundle;.getString:(Ljava/lang/String;)Ljava/lang/String; // method@007f │ │ +01f118: 0c08 |0040: move-result-object v8 │ │ +01f11a: 7020 ac03 8700 |0041: invoke-direct {v7, v8}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.readDNSServerConfigFrom:(Ljava/lang/String;)Ljava/util/List; // method@03ac │ │ +01f120: 0c02 |0044: move-result-object v2 │ │ +01f122: 282a |0045: goto 006f // +002a │ │ +01f124: 7010 a303 0700 |0046: invoke-direct {v7}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.getConfig:()Ldnsfilter/ConfigUtil; // method@03a3 │ │ +01f12a: 0c08 |0049: move-result-object v8 │ │ +01f12c: 3808 2500 |004a: if-eqz v8, 006f // +0025 │ │ +01f130: 6e10 3f01 0800 |004c: invoke-virtual {v8}, Ldnsfilter/ConfigUtil;.getProperties:()Ljava/util/Properties; // method@013f │ │ +01f136: 0c02 |004f: move-result-object v2 │ │ +01f138: 1a06 0000 |0050: const-string v6, "" // string@0000 │ │ +01f13c: 6e30 5706 5206 |0052: invoke-virtual {v2, v5, v6}, Ljava/util/Properties;.getProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@0657 │ │ +01f142: 0c02 |0055: move-result-object v2 │ │ +01f144: 7110 b103 0200 |0056: invoke-static {v2}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigUtils;.formatSerializedProperties:(Ljava/lang/String;)Ljava/lang/String; // method@03b1 │ │ +01f14a: 0c02 |0059: move-result-object v2 │ │ +01f14c: 7020 ac03 2700 |005a: invoke-direct {v7, v2}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.readDNSServerConfigFrom:(Ljava/lang/String;)Ljava/util/List; // method@03ac │ │ +01f152: 0c02 |005d: move-result-object v2 │ │ +01f154: 6e10 3f01 0800 |005e: invoke-virtual {v8}, Ldnsfilter/ConfigUtil;.getProperties:()Ljava/util/Properties; // method@013f │ │ +01f15a: 0c08 |0061: move-result-object v8 │ │ +01f15c: 1a05 420b |0062: const-string v5, "true" // string@0b42 │ │ +01f160: 6e30 5706 4805 |0064: invoke-virtual {v8, v4, v5}, Ljava/util/Properties;.getProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@0657 │ │ +01f166: 0c08 |0067: move-result-object v8 │ │ +01f168: 7110 4d05 0800 |0068: invoke-static {v8}, Ljava/lang/Boolean;.parseBoolean:(Ljava/lang/String;)Z // method@054d │ │ +01f16e: 0a08 |006b: move-result v8 │ │ +01f170: b738 |006c: xor-int/2addr v8, v3 │ │ +01f172: 5c78 6a02 |006d: iput-boolean v8, v7, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.isManualDNSServers:Z // field@026a │ │ +01f176: 2208 d700 |006f: new-instance v8, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter; // type@00d7 │ │ +01f17a: 7040 d403 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@03d4 │ │ +01f180: 5b78 6b02 |0074: iput-object v8, v7, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.listAdapter:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter; // field@026b │ │ +01f184: 380a 0e00 |0076: if-eqz v10, 0084 // +000e │ │ +01f188: 1a08 c90a |0078: const-string v8, "showCommentedLines" // string@0ac9 │ │ +01f18c: 6e20 7d00 8a00 |007a: invoke-virtual {v10, v8}, Landroid/os/Bundle;.getBoolean:(Ljava/lang/String;)Z // method@007d │ │ +01f192: 0a08 |007d: move-result v8 │ │ +01f194: 3808 0900 |007e: if-eqz v8, 0087 // +0009 │ │ +01f198: 6e20 a903 3700 |0080: invoke-virtual {v7, v3}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.onChangedShowCommentedLinesCheckbox:(Z)V // method@03a9 │ │ +01f19e: 2804 |0083: goto 0087 // +0004 │ │ +01f1a0: 6e20 a903 0700 |0084: invoke-virtual {v7, v0}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.onChangedShowCommentedLinesCheckbox:(Z)V // method@03a9 │ │ +01f1a6: 0e00 |0087: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=61 │ │ 0x0003 line=44 │ │ 0x0009 line=45 │ │ 0x0011 line=48 │ │ 0x0013 line=49 │ │ @@ -49416,37 +49416,37 @@ │ │ type : '()Ljava/lang/String;' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 4 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 44 16-bit code units │ │ -01ee9c: |[01ee9c] dnsfilter.android.dnsserverconfig.DNSServerConfigPresenterImpl.DNSServerEntriesToRawEntries:()Ljava/lang/String; │ │ -01eeac: 2200 2d01 |0000: new-instance v0, Ljava/lang/StringBuilder; // type@012d │ │ -01eeb0: 7010 a905 0000 |0002: invoke-direct {v0}, Ljava/lang/StringBuilder;.:()V // method@05a9 │ │ -01eeb6: 1201 |0005: const/4 v1, #int 0 // #0 │ │ -01eeb8: 5432 6b02 |0006: iget-object v2, v3, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.listAdapter:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter; // field@026b │ │ -01eebc: 6e10 e903 0200 |0008: invoke-virtual {v2}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.getObjectsCount:()I // method@03e9 │ │ -01eec2: 0a02 |000b: move-result v2 │ │ -01eec4: d802 02ff |000c: add-int/lit8 v2, v2, #int -1 // #ff │ │ -01eec8: 3621 1900 |000e: if-gt v1, v2, 0027 // +0019 │ │ -01eecc: 5432 6b02 |0010: iget-object v2, v3, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.listAdapter:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter; // field@026b │ │ -01eed0: 6e20 e603 1200 |0012: invoke-virtual {v2, v1}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.getItem:(I)Ljava/lang/Object; // method@03e6 │ │ -01eed6: 0c02 |0015: move-result-object v2 │ │ -01eed8: 1f02 e600 |0016: check-cast v2, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigBaseEntry; // type@00e6 │ │ -01eedc: 6e10 7a05 0200 |0018: invoke-virtual {v2}, Ljava/lang/Object;.toString:()Ljava/lang/String; // method@057a │ │ -01eee2: 0c02 |001b: move-result-object v2 │ │ -01eee4: 6e20 af05 2000 |001c: invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -01eeea: 6202 6502 |001f: sget-object v2, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.LINE_SEPARATOR:Ljava/lang/String; // field@0265 │ │ -01eeee: 6e20 af05 2000 |0021: invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -01eef4: d801 0101 |0024: add-int/lit8 v1, v1, #int 1 // #01 │ │ -01eef8: 28e0 |0026: goto 0006 // -0020 │ │ -01eefa: 6e10 b105 0000 |0027: invoke-virtual {v0}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ -01ef00: 0c00 |002a: move-result-object v0 │ │ -01ef02: 1100 |002b: return-object v0 │ │ +01ee98: |[01ee98] dnsfilter.android.dnsserverconfig.DNSServerConfigPresenterImpl.DNSServerEntriesToRawEntries:()Ljava/lang/String; │ │ +01eea8: 2200 2d01 |0000: new-instance v0, Ljava/lang/StringBuilder; // type@012d │ │ +01eeac: 7010 a905 0000 |0002: invoke-direct {v0}, Ljava/lang/StringBuilder;.:()V // method@05a9 │ │ +01eeb2: 1201 |0005: const/4 v1, #int 0 // #0 │ │ +01eeb4: 5432 6b02 |0006: iget-object v2, v3, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.listAdapter:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter; // field@026b │ │ +01eeb8: 6e10 e903 0200 |0008: invoke-virtual {v2}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.getObjectsCount:()I // method@03e9 │ │ +01eebe: 0a02 |000b: move-result v2 │ │ +01eec0: d802 02ff |000c: add-int/lit8 v2, v2, #int -1 // #ff │ │ +01eec4: 3621 1900 |000e: if-gt v1, v2, 0027 // +0019 │ │ +01eec8: 5432 6b02 |0010: iget-object v2, v3, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.listAdapter:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter; // field@026b │ │ +01eecc: 6e20 e603 1200 |0012: invoke-virtual {v2, v1}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.getItem:(I)Ljava/lang/Object; // method@03e6 │ │ +01eed2: 0c02 |0015: move-result-object v2 │ │ +01eed4: 1f02 e600 |0016: check-cast v2, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigBaseEntry; // type@00e6 │ │ +01eed8: 6e10 7a05 0200 |0018: invoke-virtual {v2}, Ljava/lang/Object;.toString:()Ljava/lang/String; // method@057a │ │ +01eede: 0c02 |001b: move-result-object v2 │ │ +01eee0: 6e20 af05 2000 |001c: invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +01eee6: 6202 6502 |001f: sget-object v2, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.LINE_SEPARATOR:Ljava/lang/String; // field@0265 │ │ +01eeea: 6e20 af05 2000 |0021: invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +01eef0: d801 0101 |0024: add-int/lit8 v1, v1, #int 1 // #01 │ │ +01eef4: 28e0 |0026: goto 0006 // -0020 │ │ +01eef6: 6e10 b105 0000 |0027: invoke-virtual {v0}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ +01eefc: 0c00 |002a: move-result-object v0 │ │ +01eefe: 1100 |002b: return-object v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=224 │ │ 0x0006 line=225 │ │ 0x0010 line=226 │ │ 0x001f line=227 │ │ 0x0027 line=230 │ │ @@ -49458,24 +49458,24 @@ │ │ type : '()Ldnsfilter/ConfigUtil;' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 3 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 16 16-bit code units │ │ -01ee44: |[01ee44] dnsfilter.android.dnsserverconfig.DNSServerConfigPresenterImpl.getConfig:()Ldnsfilter/ConfigUtil; │ │ -01ee54: 5420 6202 |0000: iget-object v0, v2, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.CONFIG:Ldnsfilter/ConfigurationAccess; // field@0262 │ │ -01ee58: 6e10 4e01 0000 |0002: invoke-virtual {v0}, Ldnsfilter/ConfigurationAccess;.getConfigUtil:()Ldnsfilter/ConfigUtil; // method@014e │ │ -01ee5e: 0c00 |0005: move-result-object v0 │ │ -01ee60: 1100 |0006: return-object v0 │ │ -01ee62: 5420 6e02 |0007: iget-object v0, v2, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.view:Ldnsfilter/android/dnsserverconfig/DNSServerConfigView; // field@026e │ │ -01ee66: 1a01 1801 |0009: const-string v1, "Critical error - can't load config. Try to restart application." // string@0118 │ │ -01ee6a: 7220 b803 1000 |000b: invoke-interface {v0, v1}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigView;.showToastAndCloseScreen:(Ljava/lang/String;)V // method@03b8 │ │ -01ee70: 1200 |000e: const/4 v0, #int 0 // #0 │ │ -01ee72: 1100 |000f: return-object v0 │ │ +01ee40: |[01ee40] dnsfilter.android.dnsserverconfig.DNSServerConfigPresenterImpl.getConfig:()Ldnsfilter/ConfigUtil; │ │ +01ee50: 5420 6202 |0000: iget-object v0, v2, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.CONFIG:Ldnsfilter/ConfigurationAccess; // field@0262 │ │ +01ee54: 6e10 4e01 0000 |0002: invoke-virtual {v0}, Ldnsfilter/ConfigurationAccess;.getConfigUtil:()Ldnsfilter/ConfigUtil; // method@014e │ │ +01ee5a: 0c00 |0005: move-result-object v0 │ │ +01ee5c: 1100 |0006: return-object v0 │ │ +01ee5e: 5420 6e02 |0007: iget-object v0, v2, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.view:Ldnsfilter/android/dnsserverconfig/DNSServerConfigView; // field@026e │ │ +01ee62: 1a01 1801 |0009: const-string v1, "Critical error - can't load config. Try to restart application." // string@0118 │ │ +01ee66: 7220 b803 1000 |000b: invoke-interface {v0, v1}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigView;.showToastAndCloseScreen:(Ljava/lang/String;)V // method@03b8 │ │ +01ee6c: 1200 |000e: const/4 v0, #int 0 // #0 │ │ +01ee6e: 1100 |000f: return-object v0 │ │ catches : 1 │ │ 0x0000 - 0x0006 │ │ Ljava/lang/Exception; -> 0x0007 │ │ positions : │ │ 0x0000 line=109 │ │ 0x0007 line=111 │ │ locals : │ │ @@ -49486,54 +49486,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 │ │ -01ef04: |[01ef04] dnsfilter.android.dnsserverconfig.DNSServerConfigPresenterImpl.getDNSServerEntriesAsConfig:(ZLjava/lang/String;)Ljava/lang/String; │ │ -01ef14: 3804 0300 |0000: if-eqz v4, 0003 // +0003 │ │ -01ef18: 2805 |0002: goto 0007 // +0005 │ │ -01ef1a: 7010 a103 0300 |0003: invoke-direct {v3}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.DNSServerEntriesToRawEntries:()Ljava/lang/String; // method@03a1 │ │ -01ef20: 0c05 |0006: move-result-object v5 │ │ -01ef22: 2204 6601 |0007: new-instance v4, Ljava/util/StringTokenizer; // type@0166 │ │ -01ef26: 1a00 0200 |0009: const-string v0, " │ │ +01ef00: |[01ef00] dnsfilter.android.dnsserverconfig.DNSServerConfigPresenterImpl.getDNSServerEntriesAsConfig:(ZLjava/lang/String;)Ljava/lang/String; │ │ +01ef10: 3804 0300 |0000: if-eqz v4, 0003 // +0003 │ │ +01ef14: 2805 |0002: goto 0007 // +0005 │ │ +01ef16: 7010 a103 0300 |0003: invoke-direct {v3}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.DNSServerEntriesToRawEntries:()Ljava/lang/String; // method@03a1 │ │ +01ef1c: 0c05 |0006: move-result-object v5 │ │ +01ef1e: 2204 6601 |0007: new-instance v4, Ljava/util/StringTokenizer; // type@0166 │ │ +01ef22: 1a00 0200 |0009: const-string v0, " │ │ " // string@0002 │ │ -01ef2a: 7030 6406 5400 |000b: invoke-direct {v4, v5, v0}, Ljava/util/StringTokenizer;.:(Ljava/lang/String;Ljava/lang/String;)V // method@0664 │ │ -01ef30: 1a05 0000 |000e: const-string v5, "" // string@0000 │ │ -01ef34: 0750 |0010: move-object v0, v5 │ │ -01ef36: 6e10 6706 0400 |0011: invoke-virtual {v4}, Ljava/util/StringTokenizer;.hasMoreTokens:()Z // method@0667 │ │ -01ef3c: 0a01 |0014: move-result v1 │ │ -01ef3e: 3801 2500 |0015: if-eqz v1, 003a // +0025 │ │ -01ef42: 6e10 6806 0400 |0017: invoke-virtual {v4}, Ljava/util/StringTokenizer;.nextToken:()Ljava/lang/String; // method@0668 │ │ -01ef48: 0c01 |001a: move-result-object v1 │ │ -01ef4a: 6e10 a205 0100 |001b: invoke-virtual {v1}, Ljava/lang/String;.trim:()Ljava/lang/String; // method@05a2 │ │ -01ef50: 0c01 |001e: move-result-object v1 │ │ -01ef52: 6e20 8d05 5100 |001f: invoke-virtual {v1, v5}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058d │ │ -01ef58: 0a02 |0022: move-result v2 │ │ -01ef5a: 3902 eeff |0023: if-nez v2, 0011 // -0012 │ │ -01ef5e: 2202 2d01 |0025: new-instance v2, Ljava/lang/StringBuilder; // type@012d │ │ -01ef62: 7010 a905 0200 |0027: invoke-direct {v2}, Ljava/lang/StringBuilder;.:()V // method@05a9 │ │ -01ef68: 6e20 af05 0200 |002a: invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -01ef6e: 6e20 af05 1200 |002d: invoke-virtual {v2, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -01ef74: 1a00 8d00 |0030: const-string v0, "; " // string@008d │ │ -01ef78: 6e20 af05 0200 |0032: invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -01ef7e: 6e10 b105 0200 |0035: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ -01ef84: 0c00 |0038: move-result-object v0 │ │ -01ef86: 28d8 |0039: goto 0011 // -0028 │ │ -01ef88: 6e20 8d05 5000 |003a: invoke-virtual {v0, v5}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058d │ │ -01ef8e: 0a04 |003d: move-result v4 │ │ -01ef90: 3904 0d00 |003e: if-nez v4, 004b // +000d │ │ -01ef94: 6e10 9605 0000 |0040: invoke-virtual {v0}, Ljava/lang/String;.length:()I // method@0596 │ │ -01ef9a: 0a04 |0043: move-result v4 │ │ -01ef9c: d804 04fe |0044: add-int/lit8 v4, v4, #int -2 // #fe │ │ -01efa0: 1205 |0046: const/4 v5, #int 0 // #0 │ │ -01efa2: 6e30 9d05 5004 |0047: invoke-virtual {v0, v5, v4}, Ljava/lang/String;.substring:(II)Ljava/lang/String; // method@059d │ │ -01efa8: 0c00 |004a: move-result-object v0 │ │ -01efaa: 1100 |004b: return-object v0 │ │ +01ef26: 7030 6406 5400 |000b: invoke-direct {v4, v5, v0}, Ljava/util/StringTokenizer;.:(Ljava/lang/String;Ljava/lang/String;)V // method@0664 │ │ +01ef2c: 1a05 0000 |000e: const-string v5, "" // string@0000 │ │ +01ef30: 0750 |0010: move-object v0, v5 │ │ +01ef32: 6e10 6706 0400 |0011: invoke-virtual {v4}, Ljava/util/StringTokenizer;.hasMoreTokens:()Z // method@0667 │ │ +01ef38: 0a01 |0014: move-result v1 │ │ +01ef3a: 3801 2500 |0015: if-eqz v1, 003a // +0025 │ │ +01ef3e: 6e10 6806 0400 |0017: invoke-virtual {v4}, Ljava/util/StringTokenizer;.nextToken:()Ljava/lang/String; // method@0668 │ │ +01ef44: 0c01 |001a: move-result-object v1 │ │ +01ef46: 6e10 a205 0100 |001b: invoke-virtual {v1}, Ljava/lang/String;.trim:()Ljava/lang/String; // method@05a2 │ │ +01ef4c: 0c01 |001e: move-result-object v1 │ │ +01ef4e: 6e20 8d05 5100 |001f: invoke-virtual {v1, v5}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058d │ │ +01ef54: 0a02 |0022: move-result v2 │ │ +01ef56: 3902 eeff |0023: if-nez v2, 0011 // -0012 │ │ +01ef5a: 2202 2d01 |0025: new-instance v2, Ljava/lang/StringBuilder; // type@012d │ │ +01ef5e: 7010 a905 0200 |0027: invoke-direct {v2}, Ljava/lang/StringBuilder;.:()V // method@05a9 │ │ +01ef64: 6e20 af05 0200 |002a: invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +01ef6a: 6e20 af05 1200 |002d: invoke-virtual {v2, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +01ef70: 1a00 8d00 |0030: const-string v0, "; " // string@008d │ │ +01ef74: 6e20 af05 0200 |0032: invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +01ef7a: 6e10 b105 0200 |0035: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ +01ef80: 0c00 |0038: move-result-object v0 │ │ +01ef82: 28d8 |0039: goto 0011 // -0028 │ │ +01ef84: 6e20 8d05 5000 |003a: invoke-virtual {v0, v5}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058d │ │ +01ef8a: 0a04 |003d: move-result v4 │ │ +01ef8c: 3904 0d00 |003e: if-nez v4, 004b // +000d │ │ +01ef90: 6e10 9605 0000 |0040: invoke-virtual {v0}, Ljava/lang/String;.length:()I // method@0596 │ │ +01ef96: 0a04 |0043: move-result v4 │ │ +01ef98: d804 04fe |0044: add-int/lit8 v4, v4, #int -2 // #fe │ │ +01ef9c: 1205 |0046: const/4 v5, #int 0 // #0 │ │ +01ef9e: 6e30 9d05 5004 |0047: invoke-virtual {v0, v5, v4}, Ljava/lang/String;.substring:(II)Ljava/lang/String; // method@059d │ │ +01efa4: 0c00 |004a: move-result-object v0 │ │ +01efa6: 1100 |004b: return-object v0 │ │ catches : (none) │ │ positions : │ │ 0x0003 line=208 │ │ 0x0007 line=211 │ │ 0x0011 line=212 │ │ 0x0017 line=213 │ │ 0x001f line=214 │ │ @@ -49550,42 +49550,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 │ │ -01edc0: |[01edc0] dnsfilter.android.dnsserverconfig.DNSServerConfigPresenterImpl.rawEntriesToDNSServerEntries:(Ljava/lang/String;Ljava/util/ArrayList;)Z │ │ -01edd0: 2200 d800 |0000: new-instance v0, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntrySerializer; // type@00d8 │ │ -01edd4: 7010 f303 0000 |0002: invoke-direct {v0}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntrySerializer;.:()V // method@03f3 │ │ -01edda: 6201 6502 |0005: sget-object v1, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.LINE_SEPARATOR:Ljava/lang/String; // field@0265 │ │ -01edde: 6e20 9905 1700 |0007: invoke-virtual {v7, v1}, Ljava/lang/String;.split:(Ljava/lang/String;)[Ljava/lang/String; // method@0599 │ │ -01ede4: 0c07 |000a: move-result-object v7 │ │ -01ede6: 1201 |000b: const/4 v1, #int 0 // #0 │ │ -01ede8: 2172 |000c: array-length v2, v7 │ │ -01edea: 1203 |000d: const/4 v3, #int 0 // #0 │ │ -01edec: 3523 1600 |000e: if-ge v3, v2, 0024 // +0016 │ │ -01edf0: 4604 0703 |0010: aget-object v4, v7, v3 │ │ -01edf4: 6e10 9305 0400 |0012: invoke-virtual {v4}, Ljava/lang/String;.isEmpty:()Z // method@0593 │ │ -01edfa: 0a05 |0015: move-result v5 │ │ -01edfc: 3905 0b00 |0016: if-nez v5, 0021 // +000b │ │ -01ee00: 6e20 f403 4000 |0018: invoke-virtual {v0, v4}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntrySerializer;.deserialize:(Ljava/lang/String;)Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigBaseEntry; // method@03f4 │ │ -01ee06: 0c04 |001b: move-result-object v4 │ │ -01ee08: 3808 0500 |001c: if-eqz v8, 0021 // +0005 │ │ -01ee0c: 6e20 1b06 4800 |001e: invoke-virtual {v8, v4}, Ljava/util/ArrayList;.add:(Ljava/lang/Object;)Z // method@061b │ │ -01ee12: d803 0301 |0021: add-int/lit8 v3, v3, #int 1 // #01 │ │ -01ee16: 28eb |0023: goto 000e // -0015 │ │ -01ee18: 1217 |0024: const/4 v7, #int 1 // #1 │ │ -01ee1a: 0f07 |0025: return v7 │ │ -01ee1c: 0d07 |0026: move-exception v7 │ │ -01ee1e: 5468 6e02 |0027: iget-object v8, v6, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.view:Ldnsfilter/android/dnsserverconfig/DNSServerConfigView; // field@026e │ │ -01ee22: 6e10 3904 0700 |0029: invoke-virtual {v7}, Ldnsfilter/android/dnsserverconfig/widget/NotDeserializableException;.getMessage:()Ljava/lang/String; // method@0439 │ │ -01ee28: 0c07 |002c: move-result-object v7 │ │ -01ee2a: 7220 b603 7800 |002d: invoke-interface {v8, v7}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigView;.showRawModeError:(Ljava/lang/String;)V // method@03b6 │ │ -01ee30: 0f01 |0030: return v1 │ │ +01edbc: |[01edbc] dnsfilter.android.dnsserverconfig.DNSServerConfigPresenterImpl.rawEntriesToDNSServerEntries:(Ljava/lang/String;Ljava/util/ArrayList;)Z │ │ +01edcc: 2200 d800 |0000: new-instance v0, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntrySerializer; // type@00d8 │ │ +01edd0: 7010 f303 0000 |0002: invoke-direct {v0}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntrySerializer;.:()V // method@03f3 │ │ +01edd6: 6201 6502 |0005: sget-object v1, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.LINE_SEPARATOR:Ljava/lang/String; // field@0265 │ │ +01edda: 6e20 9905 1700 |0007: invoke-virtual {v7, v1}, Ljava/lang/String;.split:(Ljava/lang/String;)[Ljava/lang/String; // method@0599 │ │ +01ede0: 0c07 |000a: move-result-object v7 │ │ +01ede2: 1201 |000b: const/4 v1, #int 0 // #0 │ │ +01ede4: 2172 |000c: array-length v2, v7 │ │ +01ede6: 1203 |000d: const/4 v3, #int 0 // #0 │ │ +01ede8: 3523 1600 |000e: if-ge v3, v2, 0024 // +0016 │ │ +01edec: 4604 0703 |0010: aget-object v4, v7, v3 │ │ +01edf0: 6e10 9305 0400 |0012: invoke-virtual {v4}, Ljava/lang/String;.isEmpty:()Z // method@0593 │ │ +01edf6: 0a05 |0015: move-result v5 │ │ +01edf8: 3905 0b00 |0016: if-nez v5, 0021 // +000b │ │ +01edfc: 6e20 f403 4000 |0018: invoke-virtual {v0, v4}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntrySerializer;.deserialize:(Ljava/lang/String;)Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigBaseEntry; // method@03f4 │ │ +01ee02: 0c04 |001b: move-result-object v4 │ │ +01ee04: 3808 0500 |001c: if-eqz v8, 0021 // +0005 │ │ +01ee08: 6e20 1b06 4800 |001e: invoke-virtual {v8, v4}, Ljava/util/ArrayList;.add:(Ljava/lang/Object;)Z // method@061b │ │ +01ee0e: d803 0301 |0021: add-int/lit8 v3, v3, #int 1 // #01 │ │ +01ee12: 28eb |0023: goto 000e // -0015 │ │ +01ee14: 1217 |0024: const/4 v7, #int 1 // #1 │ │ +01ee16: 0f07 |0025: return v7 │ │ +01ee18: 0d07 |0026: move-exception v7 │ │ +01ee1a: 5468 6e02 |0027: iget-object v8, v6, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.view:Ldnsfilter/android/dnsserverconfig/DNSServerConfigView; // field@026e │ │ +01ee1e: 6e10 3904 0700 |0029: invoke-virtual {v7}, Ldnsfilter/android/dnsserverconfig/widget/NotDeserializableException;.getMessage:()Ljava/lang/String; // method@0439 │ │ +01ee24: 0c07 |002c: move-result-object v7 │ │ +01ee26: 7220 b603 7800 |002d: invoke-interface {v8, v7}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigView;.showRawModeError:(Ljava/lang/String;)V // method@03b6 │ │ +01ee2c: 0f01 |0030: return v1 │ │ catches : 1 │ │ 0x000c - 0x0021 │ │ Ldnsfilter/android/dnsserverconfig/widget/NotDeserializableException; -> 0x0026 │ │ positions : │ │ 0x0000 line=234 │ │ 0x0005 line=235 │ │ 0x000c line=237 │ │ @@ -49603,39 +49603,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 │ │ -01efac: |[01efac] dnsfilter.android.dnsserverconfig.DNSServerConfigPresenterImpl.readDNSServerConfigFrom:(Ljava/lang/String;)Ljava/util/List; │ │ -01efbc: 2200 5101 |0000: new-instance v0, Ljava/util/ArrayList; // type@0151 │ │ -01efc0: 7010 1a06 0000 |0002: invoke-direct {v0}, Ljava/util/ArrayList;.:()V // method@061a │ │ -01efc6: 7010 a303 0500 |0005: invoke-direct {v5}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.getConfig:()Ldnsfilter/ConfigUtil; // method@03a3 │ │ -01efcc: 0c01 |0008: move-result-object v1 │ │ -01efce: 3801 2400 |0009: if-eqz v1, 002d // +0024 │ │ -01efd2: 6201 6502 |000b: sget-object v1, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.LINE_SEPARATOR:Ljava/lang/String; // field@0265 │ │ -01efd6: 6e20 9905 1600 |000d: invoke-virtual {v6, v1}, Ljava/lang/String;.split:(Ljava/lang/String;)[Ljava/lang/String; // method@0599 │ │ -01efdc: 0c06 |0010: move-result-object v6 │ │ -01efde: 2161 |0011: array-length v1, v6 │ │ -01efe0: 1202 |0012: const/4 v2, #int 0 // #0 │ │ -01efe2: 3512 1a00 |0013: if-ge v2, v1, 002d // +001a │ │ -01efe6: 4603 0602 |0015: aget-object v3, v6, v2 │ │ -01efea: 6e10 9305 0300 |0017: invoke-virtual {v3}, Ljava/lang/String;.isEmpty:()Z // method@0593 │ │ -01eff0: 0a04 |001a: move-result v4 │ │ -01eff2: 3904 0f00 |001b: if-nez v4, 002a // +000f │ │ -01eff6: 5454 6c02 |001d: iget-object v4, v5, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.serializer:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntrySerializer; // field@026c │ │ -01effa: 6e10 a205 0300 |001f: invoke-virtual {v3}, Ljava/lang/String;.trim:()Ljava/lang/String; // method@05a2 │ │ -01f000: 0c03 |0022: move-result-object v3 │ │ -01f002: 6e20 f603 3400 |0023: invoke-virtual {v4, v3}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntrySerializer;.deserializeSafe:(Ljava/lang/String;)Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigBaseEntry; // method@03f6 │ │ -01f008: 0c03 |0026: move-result-object v3 │ │ -01f00a: 7220 4d06 3000 |0027: invoke-interface {v0, v3}, Ljava/util/List;.add:(Ljava/lang/Object;)Z // method@064d │ │ -01f010: d802 0201 |002a: add-int/lit8 v2, v2, #int 1 // #01 │ │ -01f014: 28e7 |002c: goto 0013 // -0019 │ │ -01f016: 1100 |002d: return-object v0 │ │ +01efa8: |[01efa8] dnsfilter.android.dnsserverconfig.DNSServerConfigPresenterImpl.readDNSServerConfigFrom:(Ljava/lang/String;)Ljava/util/List; │ │ +01efb8: 2200 5101 |0000: new-instance v0, Ljava/util/ArrayList; // type@0151 │ │ +01efbc: 7010 1a06 0000 |0002: invoke-direct {v0}, Ljava/util/ArrayList;.:()V // method@061a │ │ +01efc2: 7010 a303 0500 |0005: invoke-direct {v5}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.getConfig:()Ldnsfilter/ConfigUtil; // method@03a3 │ │ +01efc8: 0c01 |0008: move-result-object v1 │ │ +01efca: 3801 2400 |0009: if-eqz v1, 002d // +0024 │ │ +01efce: 6201 6502 |000b: sget-object v1, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.LINE_SEPARATOR:Ljava/lang/String; // field@0265 │ │ +01efd2: 6e20 9905 1600 |000d: invoke-virtual {v6, v1}, Ljava/lang/String;.split:(Ljava/lang/String;)[Ljava/lang/String; // method@0599 │ │ +01efd8: 0c06 |0010: move-result-object v6 │ │ +01efda: 2161 |0011: array-length v1, v6 │ │ +01efdc: 1202 |0012: const/4 v2, #int 0 // #0 │ │ +01efde: 3512 1a00 |0013: if-ge v2, v1, 002d // +001a │ │ +01efe2: 4603 0602 |0015: aget-object v3, v6, v2 │ │ +01efe6: 6e10 9305 0300 |0017: invoke-virtual {v3}, Ljava/lang/String;.isEmpty:()Z // method@0593 │ │ +01efec: 0a04 |001a: move-result v4 │ │ +01efee: 3904 0f00 |001b: if-nez v4, 002a // +000f │ │ +01eff2: 5454 6c02 |001d: iget-object v4, v5, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.serializer:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntrySerializer; // field@026c │ │ +01eff6: 6e10 a205 0300 |001f: invoke-virtual {v3}, Ljava/lang/String;.trim:()Ljava/lang/String; // method@05a2 │ │ +01effc: 0c03 |0022: move-result-object v3 │ │ +01effe: 6e20 f603 3400 |0023: invoke-virtual {v4, v3}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntrySerializer;.deserializeSafe:(Ljava/lang/String;)Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigBaseEntry; // method@03f6 │ │ +01f004: 0c03 |0026: move-result-object v3 │ │ +01f006: 7220 4d06 3000 |0027: invoke-interface {v0, v3}, Ljava/util/List;.add:(Ljava/lang/Object;)Z // method@064d │ │ +01f00c: d802 0201 |002a: add-int/lit8 v2, v2, #int 1 // #01 │ │ +01f010: 28e7 |002c: goto 0013 // -0019 │ │ +01f012: 1100 |002d: return-object v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=93 │ │ 0x0005 line=94 │ │ 0x000b line=97 │ │ 0x0011 line=98 │ │ 0x0017 line=99 │ │ @@ -49649,25 +49649,25 @@ │ │ type : '()Ljava/util/Properties;' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 3 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 22 16-bit code units │ │ -01f018: |[01f018] dnsfilter.android.dnsserverconfig.DNSServerConfigPresenterImpl.readDefaultDNSConfig:()Ljava/util/Properties; │ │ -01f028: 7100 d406 0000 |0000: invoke-static {}, Lutil/ExecutionEnvironment;.getEnvironment:()Lutil/ExecutionEnvironmentInterface; // method@06d4 │ │ -01f02e: 0c00 |0003: move-result-object v0 │ │ -01f030: 1a01 7d06 |0004: const-string v1, "dnsfilter.conf" // string@067d │ │ -01f034: 7220 e106 1000 |0006: invoke-interface {v0, v1}, Lutil/ExecutionEnvironmentInterface;.getAsset:(Ljava/lang/String;)Ljava/io/InputStream; // method@06e1 │ │ -01f03a: 0c00 |0009: move-result-object v0 │ │ -01f03c: 2201 6201 |000a: new-instance v1, Ljava/util/Properties; // type@0162 │ │ -01f040: 7010 5306 0100 |000c: invoke-direct {v1}, Ljava/util/Properties;.:()V // method@0653 │ │ -01f046: 6e20 5906 0100 |000f: invoke-virtual {v1, v0}, Ljava/util/Properties;.load:(Ljava/io/InputStream;)V // method@0659 │ │ -01f04c: 6e10 2905 0000 |0012: invoke-virtual {v0}, Ljava/io/InputStream;.close:()V // method@0529 │ │ -01f052: 1101 |0015: return-object v1 │ │ +01f014: |[01f014] dnsfilter.android.dnsserverconfig.DNSServerConfigPresenterImpl.readDefaultDNSConfig:()Ljava/util/Properties; │ │ +01f024: 7100 d406 0000 |0000: invoke-static {}, Lutil/ExecutionEnvironment;.getEnvironment:()Lutil/ExecutionEnvironmentInterface; // method@06d4 │ │ +01f02a: 0c00 |0003: move-result-object v0 │ │ +01f02c: 1a01 7d06 |0004: const-string v1, "dnsfilter.conf" // string@067d │ │ +01f030: 7220 e106 1000 |0006: invoke-interface {v0, v1}, Lutil/ExecutionEnvironmentInterface;.getAsset:(Ljava/lang/String;)Ljava/io/InputStream; // method@06e1 │ │ +01f036: 0c00 |0009: move-result-object v0 │ │ +01f038: 2201 6201 |000a: new-instance v1, Ljava/util/Properties; // type@0162 │ │ +01f03c: 7010 5306 0100 |000c: invoke-direct {v1}, Ljava/util/Properties;.:()V // method@0653 │ │ +01f042: 6e20 5906 0100 |000f: invoke-virtual {v1, v0}, Ljava/util/Properties;.load:(Ljava/io/InputStream;)V // method@0659 │ │ +01f048: 6e10 2905 0000 |0012: invoke-virtual {v0}, Ljava/io/InputStream;.close:()V // method@0529 │ │ +01f04e: 1101 |0015: return-object v1 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=196 │ │ 0x000a line=197 │ │ 0x000f line=198 │ │ 0x0012 line=199 │ │ locals : │ │ @@ -49679,40 +49679,40 @@ │ │ type : '(ZLjava/lang/String;)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 6 │ │ ins : 3 │ │ outs : 3 │ │ insns size : 51 16-bit code units │ │ -01f1ac: |[01f1ac] dnsfilter.android.dnsserverconfig.DNSServerConfigPresenterImpl.applyNewConfiguration:(ZLjava/lang/String;)V │ │ -01f1bc: 1200 |0000: const/4 v0, #int 0 // #0 │ │ -01f1be: 3804 1000 |0001: if-eqz v4, 0011 // +0010 │ │ -01f1c2: 7030 ab03 5300 |0003: invoke-direct {v3, v5, v0}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.rawEntriesToDNSServerEntries:(Ljava/lang/String;Ljava/util/ArrayList;)Z // method@03ab │ │ -01f1c8: 0a01 |0006: move-result v1 │ │ -01f1ca: 3901 0a00 |0007: if-nez v1, 0011 // +000a │ │ -01f1ce: 5434 6e02 |0009: iget-object v4, v3, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.view:Ldnsfilter/android/dnsserverconfig/DNSServerConfigView; // field@026e │ │ -01f1d2: 1a05 2004 |000b: const-string v5, "Raw text is not possibly to convert" // string@0420 │ │ -01f1d6: 7220 b703 5400 |000d: invoke-interface {v4, v5}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigView;.showToast:(Ljava/lang/String;)V // method@03b7 │ │ -01f1dc: 0e00 |0010: return-void │ │ -01f1de: 7010 a303 0300 |0011: invoke-direct {v3}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.getConfig:()Ldnsfilter/ConfigUtil; // method@03a3 │ │ -01f1e4: 0c01 |0014: move-result-object v1 │ │ -01f1e6: 3801 1800 |0015: if-eqz v1, 002d // +0018 │ │ -01f1ea: 1a02 de06 |0017: const-string v2, "fallbackDNS" // string@06de │ │ -01f1ee: 7030 a403 4305 |0019: invoke-direct {v3, v4, v5}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.getDNSServerEntriesAsConfig:(ZLjava/lang/String;)Ljava/lang/String; // method@03a4 │ │ -01f1f4: 0c04 |001c: move-result-object v4 │ │ -01f1f6: 6e30 4301 2104 |001d: invoke-virtual {v1, v2, v4}, Ldnsfilter/ConfigUtil;.updateConfigValue:(Ljava/lang/String;Ljava/lang/String;)V // method@0143 │ │ -01f1fc: 5534 6a02 |0020: iget-boolean v4, v3, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.isManualDNSServers:Z // field@026a │ │ -01f200: df04 0401 |0022: xor-int/lit8 v4, v4, #int 1 // #01 │ │ -01f204: 7110 4e05 0400 |0024: invoke-static {v4}, Ljava/lang/Boolean;.toString:(Z)Ljava/lang/String; // method@054e │ │ -01f20a: 0c04 |0027: move-result-object v4 │ │ -01f20c: 1a05 5e06 |0028: const-string v5, "detectDNS" // string@065e │ │ -01f210: 6e30 4301 5104 |002a: invoke-virtual {v1, v5, v4}, Ldnsfilter/ConfigUtil;.updateConfigValue:(Ljava/lang/String;Ljava/lang/String;)V // method@0143 │ │ -01f216: 5434 6e02 |002d: iget-object v4, v3, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.view:Ldnsfilter/android/dnsserverconfig/DNSServerConfigView; // field@026e │ │ -01f21a: 7220 b803 0400 |002f: invoke-interface {v4, v0}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigView;.showToastAndCloseScreen:(Ljava/lang/String;)V // method@03b8 │ │ -01f220: 0e00 |0032: return-void │ │ +01f1a8: |[01f1a8] dnsfilter.android.dnsserverconfig.DNSServerConfigPresenterImpl.applyNewConfiguration:(ZLjava/lang/String;)V │ │ +01f1b8: 1200 |0000: const/4 v0, #int 0 // #0 │ │ +01f1ba: 3804 1000 |0001: if-eqz v4, 0011 // +0010 │ │ +01f1be: 7030 ab03 5300 |0003: invoke-direct {v3, v5, v0}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.rawEntriesToDNSServerEntries:(Ljava/lang/String;Ljava/util/ArrayList;)Z // method@03ab │ │ +01f1c4: 0a01 |0006: move-result v1 │ │ +01f1c6: 3901 0a00 |0007: if-nez v1, 0011 // +000a │ │ +01f1ca: 5434 6e02 |0009: iget-object v4, v3, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.view:Ldnsfilter/android/dnsserverconfig/DNSServerConfigView; // field@026e │ │ +01f1ce: 1a05 2004 |000b: const-string v5, "Raw text is not possibly to convert" // string@0420 │ │ +01f1d2: 7220 b703 5400 |000d: invoke-interface {v4, v5}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigView;.showToast:(Ljava/lang/String;)V // method@03b7 │ │ +01f1d8: 0e00 |0010: return-void │ │ +01f1da: 7010 a303 0300 |0011: invoke-direct {v3}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.getConfig:()Ldnsfilter/ConfigUtil; // method@03a3 │ │ +01f1e0: 0c01 |0014: move-result-object v1 │ │ +01f1e2: 3801 1800 |0015: if-eqz v1, 002d // +0018 │ │ +01f1e6: 1a02 de06 |0017: const-string v2, "fallbackDNS" // string@06de │ │ +01f1ea: 7030 a403 4305 |0019: invoke-direct {v3, v4, v5}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.getDNSServerEntriesAsConfig:(ZLjava/lang/String;)Ljava/lang/String; // method@03a4 │ │ +01f1f0: 0c04 |001c: move-result-object v4 │ │ +01f1f2: 6e30 4301 2104 |001d: invoke-virtual {v1, v2, v4}, Ldnsfilter/ConfigUtil;.updateConfigValue:(Ljava/lang/String;Ljava/lang/String;)V // method@0143 │ │ +01f1f8: 5534 6a02 |0020: iget-boolean v4, v3, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.isManualDNSServers:Z // field@026a │ │ +01f1fc: df04 0401 |0022: xor-int/lit8 v4, v4, #int 1 // #01 │ │ +01f200: 7110 4e05 0400 |0024: invoke-static {v4}, Ljava/lang/Boolean;.toString:(Z)Ljava/lang/String; // method@054e │ │ +01f206: 0c04 |0027: move-result-object v4 │ │ +01f208: 1a05 5e06 |0028: const-string v5, "detectDNS" // string@065e │ │ +01f20c: 6e30 4301 5104 |002a: invoke-virtual {v1, v5, v4}, Ldnsfilter/ConfigUtil;.updateConfigValue:(Ljava/lang/String;Ljava/lang/String;)V // method@0143 │ │ +01f212: 5434 6e02 |002d: iget-object v4, v3, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.view:Ldnsfilter/android/dnsserverconfig/DNSServerConfigView; // field@026e │ │ +01f216: 7220 b803 0400 |002f: invoke-interface {v4, v0}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigView;.showToastAndCloseScreen:(Ljava/lang/String;)V // method@03b8 │ │ +01f21c: 0e00 |0032: return-void │ │ catches : (none) │ │ positions : │ │ 0x0003 line=165 │ │ 0x0009 line=166 │ │ 0x0011 line=169 │ │ 0x0017 line=171 │ │ 0x0020 line=172 │ │ @@ -49727,17 +49727,17 @@ │ │ type : '()Z' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 0 │ │ insns size : 3 16-bit code units │ │ -01eda8: |[01eda8] dnsfilter.android.dnsserverconfig.DNSServerConfigPresenterImpl.getIsManualDNSServers:()Z │ │ -01edb8: 5510 6a02 |0000: iget-boolean v0, v1, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.isManualDNSServers:Z // field@026a │ │ -01edbc: 0f00 |0002: return v0 │ │ +01eda4: |[01eda4] dnsfilter.android.dnsserverconfig.DNSServerConfigPresenterImpl.getIsManualDNSServers:()Z │ │ +01edb4: 5510 6a02 |0000: iget-boolean v0, v1, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.isManualDNSServers:Z // field@026a │ │ +01edb8: 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;) │ │ @@ -49745,17 +49745,17 @@ │ │ type : '()Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 0 │ │ insns size : 3 16-bit code units │ │ -01ee84: |[01ee84] dnsfilter.android.dnsserverconfig.DNSServerConfigPresenterImpl.getListAdapter:()Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter; │ │ -01ee94: 5410 6b02 |0000: iget-object v0, v1, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.listAdapter:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter; // field@026b │ │ -01ee98: 1100 |0002: return-object v0 │ │ +01ee80: |[01ee80] dnsfilter.android.dnsserverconfig.DNSServerConfigPresenterImpl.getListAdapter:()Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter; │ │ +01ee90: 5410 6b02 |0000: iget-object v0, v1, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.listAdapter:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter; // field@026b │ │ +01ee94: 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;) │ │ @@ -49763,52 +49763,52 @@ │ │ type : '(ZLjava/lang/String;)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 4 │ │ ins : 3 │ │ outs : 3 │ │ insns size : 78 16-bit code units │ │ -01f224: |[01f224] dnsfilter.android.dnsserverconfig.DNSServerConfigPresenterImpl.onChangedEditModeValue:(ZLjava/lang/String;)V │ │ -01f234: 3802 3300 |0000: if-eqz v2, 0033 // +0033 │ │ -01f238: 2202 2d01 |0002: new-instance v2, Ljava/lang/StringBuilder; // type@012d │ │ -01f23c: 7010 a905 0200 |0004: invoke-direct {v2}, Ljava/lang/StringBuilder;.:()V // method@05a9 │ │ -01f242: 1203 |0007: const/4 v3, #int 0 // #0 │ │ -01f244: 5410 6b02 |0008: iget-object v0, v1, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.listAdapter:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter; // field@026b │ │ -01f248: 6e10 e903 0000 |000a: invoke-virtual {v0}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.getObjectsCount:()I // method@03e9 │ │ -01f24e: 0a00 |000d: move-result v0 │ │ -01f250: d800 00ff |000e: add-int/lit8 v0, v0, #int -1 // #ff │ │ -01f254: 3603 1900 |0010: if-gt v3, v0, 0029 // +0019 │ │ -01f258: 5410 6b02 |0012: iget-object v0, v1, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.listAdapter:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter; // field@026b │ │ -01f25c: 6e20 e603 3000 |0014: invoke-virtual {v0, v3}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.getItem:(I)Ljava/lang/Object; // method@03e6 │ │ -01f262: 0c00 |0017: move-result-object v0 │ │ -01f264: 1f00 e600 |0018: check-cast v0, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigBaseEntry; // type@00e6 │ │ -01f268: 6e10 7a05 0000 |001a: invoke-virtual {v0}, Ljava/lang/Object;.toString:()Ljava/lang/String; // method@057a │ │ -01f26e: 0c00 |001d: move-result-object v0 │ │ -01f270: 6e20 af05 0200 |001e: invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -01f276: 6200 6502 |0021: sget-object v0, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.LINE_SEPARATOR:Ljava/lang/String; // field@0265 │ │ -01f27a: 6e20 af05 0200 |0023: invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -01f280: d803 0301 |0026: add-int/lit8 v3, v3, #int 1 // #01 │ │ -01f284: 28e0 |0028: goto 0008 // -0020 │ │ -01f286: 5413 6e02 |0029: iget-object v3, v1, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.view:Ldnsfilter/android/dnsserverconfig/DNSServerConfigView; // field@026e │ │ -01f28a: 6e10 b105 0200 |002b: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ -01f290: 0c02 |002e: move-result-object v2 │ │ -01f292: 7220 b503 2300 |002f: invoke-interface {v3, v2}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigView;.showRawMode:(Ljava/lang/String;)V // method@03b5 │ │ -01f298: 281b |0032: goto 004d // +001b │ │ -01f29a: 2202 5101 |0033: new-instance v2, Ljava/util/ArrayList; // type@0151 │ │ -01f29e: 7010 1a06 0200 |0035: invoke-direct {v2}, Ljava/util/ArrayList;.:()V // method@061a │ │ -01f2a4: 7030 ab03 3102 |0038: invoke-direct {v1, v3, v2}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.rawEntriesToDNSServerEntries:(Ljava/lang/String;Ljava/util/ArrayList;)Z // method@03ab │ │ -01f2aa: 0a03 |003b: move-result v3 │ │ -01f2ac: 3803 1100 |003c: if-eqz v3, 004d // +0011 │ │ -01f2b0: 5413 6b02 |003e: iget-object v3, v1, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.listAdapter:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter; // field@026b │ │ -01f2b4: 6e10 df03 0300 |0040: invoke-virtual {v3}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.clear:()V // method@03df │ │ -01f2ba: 5413 6b02 |0043: iget-object v3, v1, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.listAdapter:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter; // field@026b │ │ -01f2be: 6e20 dd03 2300 |0045: invoke-virtual {v3, v2}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.addAll:(Ljava/util/Collection;)V // method@03dd │ │ -01f2c4: 5412 6e02 |0048: iget-object v2, v1, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.view:Ldnsfilter/android/dnsserverconfig/DNSServerConfigView; // field@026e │ │ -01f2c8: 7210 b303 0200 |004a: invoke-interface {v2}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigView;.resetToDefaultMode:()V // method@03b3 │ │ -01f2ce: 0e00 |004d: return-void │ │ +01f220: |[01f220] dnsfilter.android.dnsserverconfig.DNSServerConfigPresenterImpl.onChangedEditModeValue:(ZLjava/lang/String;)V │ │ +01f230: 3802 3300 |0000: if-eqz v2, 0033 // +0033 │ │ +01f234: 2202 2d01 |0002: new-instance v2, Ljava/lang/StringBuilder; // type@012d │ │ +01f238: 7010 a905 0200 |0004: invoke-direct {v2}, Ljava/lang/StringBuilder;.:()V // method@05a9 │ │ +01f23e: 1203 |0007: const/4 v3, #int 0 // #0 │ │ +01f240: 5410 6b02 |0008: iget-object v0, v1, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.listAdapter:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter; // field@026b │ │ +01f244: 6e10 e903 0000 |000a: invoke-virtual {v0}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.getObjectsCount:()I // method@03e9 │ │ +01f24a: 0a00 |000d: move-result v0 │ │ +01f24c: d800 00ff |000e: add-int/lit8 v0, v0, #int -1 // #ff │ │ +01f250: 3603 1900 |0010: if-gt v3, v0, 0029 // +0019 │ │ +01f254: 5410 6b02 |0012: iget-object v0, v1, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.listAdapter:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter; // field@026b │ │ +01f258: 6e20 e603 3000 |0014: invoke-virtual {v0, v3}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.getItem:(I)Ljava/lang/Object; // method@03e6 │ │ +01f25e: 0c00 |0017: move-result-object v0 │ │ +01f260: 1f00 e600 |0018: check-cast v0, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigBaseEntry; // type@00e6 │ │ +01f264: 6e10 7a05 0000 |001a: invoke-virtual {v0}, Ljava/lang/Object;.toString:()Ljava/lang/String; // method@057a │ │ +01f26a: 0c00 |001d: move-result-object v0 │ │ +01f26c: 6e20 af05 0200 |001e: invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +01f272: 6200 6502 |0021: sget-object v0, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.LINE_SEPARATOR:Ljava/lang/String; // field@0265 │ │ +01f276: 6e20 af05 0200 |0023: invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +01f27c: d803 0301 |0026: add-int/lit8 v3, v3, #int 1 // #01 │ │ +01f280: 28e0 |0028: goto 0008 // -0020 │ │ +01f282: 5413 6e02 |0029: iget-object v3, v1, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.view:Ldnsfilter/android/dnsserverconfig/DNSServerConfigView; // field@026e │ │ +01f286: 6e10 b105 0200 |002b: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ +01f28c: 0c02 |002e: move-result-object v2 │ │ +01f28e: 7220 b503 2300 |002f: invoke-interface {v3, v2}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigView;.showRawMode:(Ljava/lang/String;)V // method@03b5 │ │ +01f294: 281b |0032: goto 004d // +001b │ │ +01f296: 2202 5101 |0033: new-instance v2, Ljava/util/ArrayList; // type@0151 │ │ +01f29a: 7010 1a06 0200 |0035: invoke-direct {v2}, Ljava/util/ArrayList;.:()V // method@061a │ │ +01f2a0: 7030 ab03 3102 |0038: invoke-direct {v1, v3, v2}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.rawEntriesToDNSServerEntries:(Ljava/lang/String;Ljava/util/ArrayList;)Z // method@03ab │ │ +01f2a6: 0a03 |003b: move-result v3 │ │ +01f2a8: 3803 1100 |003c: if-eqz v3, 004d // +0011 │ │ +01f2ac: 5413 6b02 |003e: iget-object v3, v1, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.listAdapter:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter; // field@026b │ │ +01f2b0: 6e10 df03 0300 |0040: invoke-virtual {v3}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.clear:()V // method@03df │ │ +01f2b6: 5413 6b02 |0043: iget-object v3, v1, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.listAdapter:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter; // field@026b │ │ +01f2ba: 6e20 dd03 2300 |0045: invoke-virtual {v3, v2}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.addAll:(Ljava/util/Collection;)V // method@03dd │ │ +01f2c0: 5412 6e02 |0048: iget-object v2, v1, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.view:Ldnsfilter/android/dnsserverconfig/DNSServerConfigView; // field@026e │ │ +01f2c4: 7210 b303 0200 |004a: invoke-interface {v2}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigView;.resetToDefaultMode:()V // method@03b3 │ │ +01f2ca: 0e00 |004d: return-void │ │ catches : (none) │ │ positions : │ │ 0x0002 line=138 │ │ 0x0008 line=139 │ │ 0x0012 line=140 │ │ 0x0029 line=142 │ │ 0x0033 line=144 │ │ @@ -49826,17 +49826,17 @@ │ │ type : '(Z)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 2 │ │ outs : 0 │ │ insns size : 3 16-bit code units │ │ -01f2d0: |[01f2d0] dnsfilter.android.dnsserverconfig.DNSServerConfigPresenterImpl.onChangedManualDNSServers:(Z)V │ │ -01f2e0: 5c01 6a02 |0000: iput-boolean v1, v0, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.isManualDNSServers:Z // field@026a │ │ -01f2e4: 0e00 |0002: return-void │ │ +01f2cc: |[01f2cc] dnsfilter.android.dnsserverconfig.DNSServerConfigPresenterImpl.onChangedManualDNSServers:(Z)V │ │ +01f2dc: 5c01 6a02 |0000: iput-boolean v1, v0, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.isManualDNSServers:Z // field@026a │ │ +01f2e0: 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 │ │ │ │ @@ -49845,18 +49845,18 @@ │ │ type : '(Z)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 3 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 6 16-bit code units │ │ -01f2e8: |[01f2e8] dnsfilter.android.dnsserverconfig.DNSServerConfigPresenterImpl.onChangedShowCommentedLinesCheckbox:(Z)V │ │ -01f2f8: 5410 6b02 |0000: iget-object v0, v1, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.listAdapter:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter; // field@026b │ │ -01f2fc: 6e20 de03 2000 |0002: invoke-virtual {v0, v2}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.changeCommentedLinesVisibility:(Z)V // method@03de │ │ -01f302: 0e00 |0005: return-void │ │ +01f2e4: |[01f2e4] dnsfilter.android.dnsserverconfig.DNSServerConfigPresenterImpl.onChangedShowCommentedLinesCheckbox:(Z)V │ │ +01f2f4: 5410 6b02 |0000: iget-object v0, v1, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.listAdapter:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter; // field@026b │ │ +01f2f8: 6e20 de03 2000 |0002: invoke-virtual {v0, v2}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.changeCommentedLinesVisibility:(Z)V // method@03de │ │ +01f2fe: 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 │ │ │ │ @@ -49865,18 +49865,18 @@ │ │ type : '()V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 6 16-bit code units │ │ -01f304: |[01f304] dnsfilter.android.dnsserverconfig.DNSServerConfigPresenterImpl.onDestroy:()V │ │ -01f314: 5410 6d02 |0000: iget-object v0, v1, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.testTasksPool:Ljava/util/concurrent/ExecutorService; // field@026d │ │ -01f318: 7210 8706 0000 |0002: invoke-interface {v0}, Ljava/util/concurrent/ExecutorService;.shutdownNow:()Ljava/util/List; // method@0687 │ │ -01f31e: 0e00 |0005: return-void │ │ +01f300: |[01f300] dnsfilter.android.dnsserverconfig.DNSServerConfigPresenterImpl.onDestroy:()V │ │ +01f310: 5410 6d02 |0000: iget-object v0, v1, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.testTasksPool:Ljava/util/concurrent/ExecutorService; // field@026d │ │ +01f314: 7210 8706 0000 |0002: invoke-interface {v0}, Ljava/util/concurrent/ExecutorService;.shutdownNow:()Ljava/util/List; // method@0687 │ │ +01f31a: 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;) │ │ @@ -49884,51 +49884,51 @@ │ │ type : '()V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 4 │ │ ins : 1 │ │ outs : 3 │ │ insns size : 75 16-bit code units │ │ -01f320: |[01f320] dnsfilter.android.dnsserverconfig.DNSServerConfigPresenterImpl.resetDNSConfigToDefault:()V │ │ -01f330: 7010 ad03 0300 |0000: invoke-direct {v3}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.readDefaultDNSConfig:()Ljava/util/Properties; // method@03ad │ │ -01f336: 0c00 |0003: move-result-object v0 │ │ -01f338: 1a01 de06 |0004: const-string v1, "fallbackDNS" // string@06de │ │ -01f33c: 1a02 0000 |0006: const-string v2, "" // string@0000 │ │ -01f340: 6e30 5706 1002 |0008: invoke-virtual {v0, v1, v2}, Ljava/util/Properties;.getProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@0657 │ │ -01f346: 0c01 |000b: move-result-object v1 │ │ -01f348: 7110 b103 0100 |000c: invoke-static {v1}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigUtils;.formatSerializedProperties:(Ljava/lang/String;)Ljava/lang/String; // method@03b1 │ │ -01f34e: 0c01 |000f: move-result-object v1 │ │ -01f350: 7020 ac03 1300 |0010: invoke-direct {v3, v1}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.readDNSServerConfigFrom:(Ljava/lang/String;)Ljava/util/List; // method@03ac │ │ -01f356: 0c01 |0013: move-result-object v1 │ │ -01f358: 5432 6e02 |0014: iget-object v2, v3, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.view:Ldnsfilter/android/dnsserverconfig/DNSServerConfigView; // field@026e │ │ -01f35c: 7210 b303 0200 |0016: invoke-interface {v2}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigView;.resetToDefaultMode:()V // method@03b3 │ │ -01f362: 5432 6b02 |0019: iget-object v2, v3, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.listAdapter:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter; // field@026b │ │ -01f366: 6e10 df03 0200 |001b: invoke-virtual {v2}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.clear:()V // method@03df │ │ -01f36c: 5432 6b02 |001e: iget-object v2, v3, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.listAdapter:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter; // field@026b │ │ -01f370: 6e20 dd03 1200 |0020: invoke-virtual {v2, v1}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.addAll:(Ljava/util/Collection;)V // method@03dd │ │ -01f376: 5431 6e02 |0023: iget-object v1, v3, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.view:Ldnsfilter/android/dnsserverconfig/DNSServerConfigView; // field@026e │ │ -01f37a: 1a02 2b01 |0025: const-string v2, "DNS configuration is is reset to default" // string@012b │ │ -01f37e: 7220 b703 2100 |0027: invoke-interface {v1, v2}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigView;.showToast:(Ljava/lang/String;)V // method@03b7 │ │ -01f384: 1a01 5e06 |002a: const-string v1, "detectDNS" // string@065e │ │ -01f388: 1a02 420b |002c: const-string v2, "true" // string@0b42 │ │ -01f38c: 6e30 5706 1002 |002e: invoke-virtual {v0, v1, v2}, Ljava/util/Properties;.getProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@0657 │ │ -01f392: 0c00 |0031: move-result-object v0 │ │ -01f394: 7110 4d05 0000 |0032: invoke-static {v0}, Ljava/lang/Boolean;.parseBoolean:(Ljava/lang/String;)Z // method@054d │ │ -01f39a: 0a00 |0035: move-result v0 │ │ -01f39c: df00 0001 |0036: xor-int/lit8 v0, v0, #int 1 // #01 │ │ -01f3a0: 5c30 6a02 |0038: iput-boolean v0, v3, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.isManualDNSServers:Z // field@026a │ │ -01f3a4: 5431 6e02 |003a: iget-object v1, v3, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.view:Ldnsfilter/android/dnsserverconfig/DNSServerConfigView; // field@026e │ │ -01f3a8: 7220 b403 0100 |003c: invoke-interface {v1, v0}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigView;.setManualDNSServers:(Z)V // method@03b4 │ │ -01f3ae: 280b |003f: goto 004a // +000b │ │ -01f3b0: 0d00 |0040: move-exception v0 │ │ -01f3b2: 5431 6e02 |0041: iget-object v1, v3, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.view:Ldnsfilter/android/dnsserverconfig/DNSServerConfigView; // field@026e │ │ -01f3b6: 6e10 5d05 0000 |0043: invoke-virtual {v0}, Ljava/lang/Exception;.getMessage:()Ljava/lang/String; // method@055d │ │ -01f3bc: 0c00 |0046: move-result-object v0 │ │ -01f3be: 7220 b703 0100 |0047: invoke-interface {v1, v0}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigView;.showToast:(Ljava/lang/String;)V // method@03b7 │ │ -01f3c4: 0e00 |004a: return-void │ │ +01f31c: |[01f31c] dnsfilter.android.dnsserverconfig.DNSServerConfigPresenterImpl.resetDNSConfigToDefault:()V │ │ +01f32c: 7010 ad03 0300 |0000: invoke-direct {v3}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.readDefaultDNSConfig:()Ljava/util/Properties; // method@03ad │ │ +01f332: 0c00 |0003: move-result-object v0 │ │ +01f334: 1a01 de06 |0004: const-string v1, "fallbackDNS" // string@06de │ │ +01f338: 1a02 0000 |0006: const-string v2, "" // string@0000 │ │ +01f33c: 6e30 5706 1002 |0008: invoke-virtual {v0, v1, v2}, Ljava/util/Properties;.getProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@0657 │ │ +01f342: 0c01 |000b: move-result-object v1 │ │ +01f344: 7110 b103 0100 |000c: invoke-static {v1}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigUtils;.formatSerializedProperties:(Ljava/lang/String;)Ljava/lang/String; // method@03b1 │ │ +01f34a: 0c01 |000f: move-result-object v1 │ │ +01f34c: 7020 ac03 1300 |0010: invoke-direct {v3, v1}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.readDNSServerConfigFrom:(Ljava/lang/String;)Ljava/util/List; // method@03ac │ │ +01f352: 0c01 |0013: move-result-object v1 │ │ +01f354: 5432 6e02 |0014: iget-object v2, v3, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.view:Ldnsfilter/android/dnsserverconfig/DNSServerConfigView; // field@026e │ │ +01f358: 7210 b303 0200 |0016: invoke-interface {v2}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigView;.resetToDefaultMode:()V // method@03b3 │ │ +01f35e: 5432 6b02 |0019: iget-object v2, v3, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.listAdapter:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter; // field@026b │ │ +01f362: 6e10 df03 0200 |001b: invoke-virtual {v2}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.clear:()V // method@03df │ │ +01f368: 5432 6b02 |001e: iget-object v2, v3, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.listAdapter:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter; // field@026b │ │ +01f36c: 6e20 dd03 1200 |0020: invoke-virtual {v2, v1}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.addAll:(Ljava/util/Collection;)V // method@03dd │ │ +01f372: 5431 6e02 |0023: iget-object v1, v3, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.view:Ldnsfilter/android/dnsserverconfig/DNSServerConfigView; // field@026e │ │ +01f376: 1a02 2b01 |0025: const-string v2, "DNS configuration is is reset to default" // string@012b │ │ +01f37a: 7220 b703 2100 |0027: invoke-interface {v1, v2}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigView;.showToast:(Ljava/lang/String;)V // method@03b7 │ │ +01f380: 1a01 5e06 |002a: const-string v1, "detectDNS" // string@065e │ │ +01f384: 1a02 420b |002c: const-string v2, "true" // string@0b42 │ │ +01f388: 6e30 5706 1002 |002e: invoke-virtual {v0, v1, v2}, Ljava/util/Properties;.getProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@0657 │ │ +01f38e: 0c00 |0031: move-result-object v0 │ │ +01f390: 7110 4d05 0000 |0032: invoke-static {v0}, Ljava/lang/Boolean;.parseBoolean:(Ljava/lang/String;)Z // method@054d │ │ +01f396: 0a00 |0035: move-result v0 │ │ +01f398: df00 0001 |0036: xor-int/lit8 v0, v0, #int 1 // #01 │ │ +01f39c: 5c30 6a02 |0038: iput-boolean v0, v3, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.isManualDNSServers:Z // field@026a │ │ +01f3a0: 5431 6e02 |003a: iget-object v1, v3, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.view:Ldnsfilter/android/dnsserverconfig/DNSServerConfigView; // field@026e │ │ +01f3a4: 7220 b403 0100 |003c: invoke-interface {v1, v0}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigView;.setManualDNSServers:(Z)V // method@03b4 │ │ +01f3aa: 280b |003f: goto 004a // +000b │ │ +01f3ac: 0d00 |0040: move-exception v0 │ │ +01f3ae: 5431 6e02 |0041: iget-object v1, v3, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.view:Ldnsfilter/android/dnsserverconfig/DNSServerConfigView; // field@026e │ │ +01f3b2: 6e10 5d05 0000 |0043: invoke-virtual {v0}, Ljava/lang/Exception;.getMessage:()Ljava/lang/String; // method@055d │ │ +01f3b8: 0c00 |0046: move-result-object v0 │ │ +01f3ba: 7220 b703 0100 |0047: invoke-interface {v1, v0}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigView;.showToast:(Ljava/lang/String;)V // method@03b7 │ │ +01f3c0: 0e00 |004a: return-void │ │ catches : 1 │ │ 0x0000 - 0x003f │ │ Ljava/lang/Exception; -> 0x0040 │ │ positions : │ │ 0x0000 line=119 │ │ 0x0004 line=120 │ │ 0x0008 line=121 │ │ @@ -49948,33 +49948,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 │ │ -01f3d8: |[01f3d8] dnsfilter.android.dnsserverconfig.DNSServerConfigPresenterImpl.saveState:(Landroid/os/Bundle;ZLjava/lang/String;Z)V │ │ -01f3e8: 1a00 5e06 |0000: const-string v0, "detectDNS" // string@065e │ │ -01f3ec: 5521 6a02 |0002: iget-boolean v1, v2, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.isManualDNSServers:Z // field@026a │ │ -01f3f0: 6e30 8000 0301 |0004: invoke-virtual {v3, v0, v1}, Landroid/os/Bundle;.putBoolean:(Ljava/lang/String;Z)V // method@0080 │ │ -01f3f6: 1a00 7708 |0007: const-string v0, "isRadModeDNS" // string@0877 │ │ -01f3fa: 1a01 de06 |0009: const-string v1, "fallbackDNS" // string@06de │ │ -01f3fe: 3804 0a00 |000b: if-eqz v4, 0015 // +000a │ │ -01f402: 6e30 8100 1305 |000d: invoke-virtual {v3, v1, v5}, Landroid/os/Bundle;.putString:(Ljava/lang/String;Ljava/lang/String;)V // method@0081 │ │ -01f408: 1214 |0010: const/4 v4, #int 1 // #1 │ │ -01f40a: 6e30 8000 0304 |0011: invoke-virtual {v3, v0, v4}, Landroid/os/Bundle;.putBoolean:(Ljava/lang/String;Z)V // method@0080 │ │ -01f410: 280c |0014: goto 0020 // +000c │ │ -01f412: 7010 a103 0200 |0015: invoke-direct {v2}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.DNSServerEntriesToRawEntries:()Ljava/lang/String; // method@03a1 │ │ -01f418: 0c04 |0018: move-result-object v4 │ │ -01f41a: 6e30 8100 1304 |0019: invoke-virtual {v3, v1, v4}, Landroid/os/Bundle;.putString:(Ljava/lang/String;Ljava/lang/String;)V // method@0081 │ │ -01f420: 1204 |001c: const/4 v4, #int 0 // #0 │ │ -01f422: 6e30 8000 0304 |001d: invoke-virtual {v3, v0, v4}, Landroid/os/Bundle;.putBoolean:(Ljava/lang/String;Z)V // method@0080 │ │ -01f428: 1a04 c90a |0020: const-string v4, "showCommentedLines" // string@0ac9 │ │ -01f42c: 6e30 8000 4306 |0022: invoke-virtual {v3, v4, v6}, Landroid/os/Bundle;.putBoolean:(Ljava/lang/String;Z)V // method@0080 │ │ -01f432: 0e00 |0025: return-void │ │ +01f3d4: |[01f3d4] dnsfilter.android.dnsserverconfig.DNSServerConfigPresenterImpl.saveState:(Landroid/os/Bundle;ZLjava/lang/String;Z)V │ │ +01f3e4: 1a00 5e06 |0000: const-string v0, "detectDNS" // string@065e │ │ +01f3e8: 5521 6a02 |0002: iget-boolean v1, v2, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.isManualDNSServers:Z // field@026a │ │ +01f3ec: 6e30 8000 0301 |0004: invoke-virtual {v3, v0, v1}, Landroid/os/Bundle;.putBoolean:(Ljava/lang/String;Z)V // method@0080 │ │ +01f3f2: 1a00 7708 |0007: const-string v0, "isRadModeDNS" // string@0877 │ │ +01f3f6: 1a01 de06 |0009: const-string v1, "fallbackDNS" // string@06de │ │ +01f3fa: 3804 0a00 |000b: if-eqz v4, 0015 // +000a │ │ +01f3fe: 6e30 8100 1305 |000d: invoke-virtual {v3, v1, v5}, Landroid/os/Bundle;.putString:(Ljava/lang/String;Ljava/lang/String;)V // method@0081 │ │ +01f404: 1214 |0010: const/4 v4, #int 1 // #1 │ │ +01f406: 6e30 8000 0304 |0011: invoke-virtual {v3, v0, v4}, Landroid/os/Bundle;.putBoolean:(Ljava/lang/String;Z)V // method@0080 │ │ +01f40c: 280c |0014: goto 0020 // +000c │ │ +01f40e: 7010 a103 0200 |0015: invoke-direct {v2}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.DNSServerEntriesToRawEntries:()Ljava/lang/String; // method@03a1 │ │ +01f414: 0c04 |0018: move-result-object v4 │ │ +01f416: 6e30 8100 1304 |0019: invoke-virtual {v3, v1, v4}, Landroid/os/Bundle;.putString:(Ljava/lang/String;Ljava/lang/String;)V // method@0081 │ │ +01f41c: 1204 |001c: const/4 v4, #int 0 // #0 │ │ +01f41e: 6e30 8000 0304 |001d: invoke-virtual {v3, v0, v4}, Landroid/os/Bundle;.putBoolean:(Ljava/lang/String;Z)V // method@0080 │ │ +01f424: 1a04 c90a |0020: const-string v4, "showCommentedLines" // string@0ac9 │ │ +01f428: 6e30 8000 4306 |0022: invoke-virtual {v3, v4, v6}, Landroid/os/Bundle;.putBoolean:(Ljava/lang/String;Z)V // method@0080 │ │ +01f42e: 0e00 |0025: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=179 │ │ 0x0007 line=180 │ │ 0x000d line=181 │ │ 0x0011 line=182 │ │ 0x0015 line=184 │ │ @@ -50057,57 +50057,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 │ │ -020074: |[020074] dnsfilter.android.dnsserverconfig.widget.DNSListAdapter.:(Landroid/content/Context;Ljava/util/List;Ljava/util/concurrent/ExecutorService;)V │ │ -020084: 1200 |0000: const/4 v0, #int 0 // #0 │ │ -020086: 7040 c100 4350 |0001: invoke-direct {v3, v4, v0, v5}, Landroid/widget/ArrayAdapter;.:(Landroid/content/Context;ILjava/util/List;)V // method@00c1 │ │ -02008c: 2205 3500 |0004: new-instance v5, Landroid/os/Handler; // type@0035 │ │ -020090: 7010 8300 0500 |0006: invoke-direct {v5}, Landroid/os/Handler;.:()V // method@0083 │ │ -020096: 5b35 9502 |0009: iput-object v5, v3, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.handler:Landroid/os/Handler; // field@0295 │ │ -02009a: 2205 e200 |000b: new-instance v5, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView; // type@00e2 │ │ -02009e: 7030 1604 4503 |000d: invoke-direct {v5, v4, v3}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;.:(Landroid/content/Context;Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$EditEventsListener;)V // method@0416 │ │ -0200a4: 5b35 9402 |0010: iput-object v5, v3, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.dnsServerConfigEntryView:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView; // field@0294 │ │ -0200a8: 1405 2b00 087f |0012: const v5, #float 1.80776e+38 // #7f08002b │ │ -0200ae: 6e20 3b00 5400 |0015: invoke-virtual {v4, v5}, Landroid/content/Context;.getString:(I)Ljava/lang/String; // method@003b │ │ -0200b4: 0c05 |0018: move-result-object v5 │ │ -0200b6: 5b35 9702 |0019: iput-object v5, v3, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.serverIsUnreachableMessage:Ljava/lang/String; // field@0297 │ │ -0200ba: 2205 0b00 |001b: new-instance v5, Landroid/app/Dialog; // type@000b │ │ -0200be: 7020 1300 4500 |001d: invoke-direct {v5, v4}, Landroid/app/Dialog;.:(Landroid/content/Context;)V // method@0013 │ │ -0200c4: 5b35 9802 |0020: iput-object v5, v3, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.testResultDialog:Landroid/app/Dialog; // field@0298 │ │ -0200c8: 1210 |0022: const/4 v0, #int 1 // #1 │ │ -0200ca: 6e20 1a00 0500 |0023: invoke-virtual {v5, v0}, Landroid/app/Dialog;.requestWindowFeature:(I)Z // method@001a │ │ -0200d0: 7110 a500 0400 |0026: invoke-static {v4}, Landroid/view/LayoutInflater;.from:(Landroid/content/Context;)Landroid/view/LayoutInflater; // method@00a5 │ │ -0200d6: 0c00 |0029: move-result-object v0 │ │ -0200d8: 1401 0300 067f |002a: const v1, #float 1.78117e+38 // #7f060003 │ │ -0200de: 1202 |002d: const/4 v2, #int 0 // #0 │ │ -0200e0: 6e30 a600 1002 |002e: invoke-virtual {v0, v1, v2}, Landroid/view/LayoutInflater;.inflate:(ILandroid/view/ViewGroup;)Landroid/view/View; // method@00a6 │ │ -0200e6: 0c00 |0031: move-result-object v0 │ │ -0200e8: 6e20 1c00 0500 |0032: invoke-virtual {v5, v0}, Landroid/app/Dialog;.setContentView:(Landroid/view/View;)V // method@001c │ │ -0200ee: 1405 5400 057f |0035: const v5, #float 1.76789e+38 // #7f050054 │ │ -0200f4: 6e20 ac00 5000 |0038: invoke-virtual {v0, v5}, Landroid/view/View;.findViewById:(I)Landroid/view/View; // method@00ac │ │ -0200fa: 0c05 |003b: move-result-object v5 │ │ -0200fc: 1f05 6900 |003c: check-cast v5, Landroid/widget/ImageView; // type@0069 │ │ -020100: 5b35 9902 |003e: iput-object v5, v3, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.testResultImage:Landroid/widget/ImageView; // field@0299 │ │ -020104: 1405 5500 057f |0040: const v5, #float 1.76789e+38 // #7f050055 │ │ -02010a: 6e20 ac00 5000 |0043: invoke-virtual {v0, v5}, Landroid/view/View;.findViewById:(I)Landroid/view/View; // method@00ac │ │ -020110: 0c05 |0046: move-result-object v5 │ │ -020112: 1f05 7300 |0047: check-cast v5, Landroid/widget/TextView; // type@0073 │ │ -020116: 5b35 9a02 |0049: iput-object v5, v3, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.testResultText:Landroid/widget/TextView; // field@029a │ │ -02011a: 1505 017f |004b: const/high16 v5, #int 2130771968 // #7f01 │ │ -02011e: 7120 bf00 5400 |004d: invoke-static {v4, v5}, Landroid/view/animation/AnimationUtils;.loadAnimation:(Landroid/content/Context;I)Landroid/view/animation/Animation; // method@00bf │ │ -020124: 0c04 |0050: move-result-object v4 │ │ -020126: 5b34 9602 |0051: iput-object v4, v3, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.progressBarAnim:Landroid/view/animation/Animation; // field@0296 │ │ -02012a: 12f5 |0053: const/4 v5, #int -1 // #ff │ │ -02012c: 6e20 be00 5400 |0054: invoke-virtual {v4, v5}, Landroid/view/animation/Animation;.setRepeatCount:(I)V // method@00be │ │ -020132: 5b36 9b02 |0057: iput-object v6, v3, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.testTasksPool:Ljava/util/concurrent/ExecutorService; // field@029b │ │ -020136: 0e00 |0059: return-void │ │ +020070: |[020070] dnsfilter.android.dnsserverconfig.widget.DNSListAdapter.:(Landroid/content/Context;Ljava/util/List;Ljava/util/concurrent/ExecutorService;)V │ │ +020080: 1200 |0000: const/4 v0, #int 0 // #0 │ │ +020082: 7040 c100 4350 |0001: invoke-direct {v3, v4, v0, v5}, Landroid/widget/ArrayAdapter;.:(Landroid/content/Context;ILjava/util/List;)V // method@00c1 │ │ +020088: 2205 3500 |0004: new-instance v5, Landroid/os/Handler; // type@0035 │ │ +02008c: 7010 8300 0500 |0006: invoke-direct {v5}, Landroid/os/Handler;.:()V // method@0083 │ │ +020092: 5b35 9502 |0009: iput-object v5, v3, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.handler:Landroid/os/Handler; // field@0295 │ │ +020096: 2205 e200 |000b: new-instance v5, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView; // type@00e2 │ │ +02009a: 7030 1604 4503 |000d: invoke-direct {v5, v4, v3}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;.:(Landroid/content/Context;Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$EditEventsListener;)V // method@0416 │ │ +0200a0: 5b35 9402 |0010: iput-object v5, v3, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.dnsServerConfigEntryView:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView; // field@0294 │ │ +0200a4: 1405 2b00 087f |0012: const v5, #float 1.80776e+38 // #7f08002b │ │ +0200aa: 6e20 3b00 5400 |0015: invoke-virtual {v4, v5}, Landroid/content/Context;.getString:(I)Ljava/lang/String; // method@003b │ │ +0200b0: 0c05 |0018: move-result-object v5 │ │ +0200b2: 5b35 9702 |0019: iput-object v5, v3, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.serverIsUnreachableMessage:Ljava/lang/String; // field@0297 │ │ +0200b6: 2205 0b00 |001b: new-instance v5, Landroid/app/Dialog; // type@000b │ │ +0200ba: 7020 1300 4500 |001d: invoke-direct {v5, v4}, Landroid/app/Dialog;.:(Landroid/content/Context;)V // method@0013 │ │ +0200c0: 5b35 9802 |0020: iput-object v5, v3, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.testResultDialog:Landroid/app/Dialog; // field@0298 │ │ +0200c4: 1210 |0022: const/4 v0, #int 1 // #1 │ │ +0200c6: 6e20 1a00 0500 |0023: invoke-virtual {v5, v0}, Landroid/app/Dialog;.requestWindowFeature:(I)Z // method@001a │ │ +0200cc: 7110 a500 0400 |0026: invoke-static {v4}, Landroid/view/LayoutInflater;.from:(Landroid/content/Context;)Landroid/view/LayoutInflater; // method@00a5 │ │ +0200d2: 0c00 |0029: move-result-object v0 │ │ +0200d4: 1401 0300 067f |002a: const v1, #float 1.78117e+38 // #7f060003 │ │ +0200da: 1202 |002d: const/4 v2, #int 0 // #0 │ │ +0200dc: 6e30 a600 1002 |002e: invoke-virtual {v0, v1, v2}, Landroid/view/LayoutInflater;.inflate:(ILandroid/view/ViewGroup;)Landroid/view/View; // method@00a6 │ │ +0200e2: 0c00 |0031: move-result-object v0 │ │ +0200e4: 6e20 1c00 0500 |0032: invoke-virtual {v5, v0}, Landroid/app/Dialog;.setContentView:(Landroid/view/View;)V // method@001c │ │ +0200ea: 1405 5400 057f |0035: const v5, #float 1.76789e+38 // #7f050054 │ │ +0200f0: 6e20 ac00 5000 |0038: invoke-virtual {v0, v5}, Landroid/view/View;.findViewById:(I)Landroid/view/View; // method@00ac │ │ +0200f6: 0c05 |003b: move-result-object v5 │ │ +0200f8: 1f05 6900 |003c: check-cast v5, Landroid/widget/ImageView; // type@0069 │ │ +0200fc: 5b35 9902 |003e: iput-object v5, v3, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.testResultImage:Landroid/widget/ImageView; // field@0299 │ │ +020100: 1405 5500 057f |0040: const v5, #float 1.76789e+38 // #7f050055 │ │ +020106: 6e20 ac00 5000 |0043: invoke-virtual {v0, v5}, Landroid/view/View;.findViewById:(I)Landroid/view/View; // method@00ac │ │ +02010c: 0c05 |0046: move-result-object v5 │ │ +02010e: 1f05 7300 |0047: check-cast v5, Landroid/widget/TextView; // type@0073 │ │ +020112: 5b35 9a02 |0049: iput-object v5, v3, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.testResultText:Landroid/widget/TextView; // field@029a │ │ +020116: 1505 017f |004b: const/high16 v5, #int 2130771968 // #7f01 │ │ +02011a: 7120 bf00 5400 |004d: invoke-static {v4, v5}, Landroid/view/animation/AnimationUtils;.loadAnimation:(Landroid/content/Context;I)Landroid/view/animation/Animation; // method@00bf │ │ +020120: 0c04 |0050: move-result-object v4 │ │ +020122: 5b34 9602 |0051: iput-object v4, v3, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.progressBarAnim:Landroid/view/animation/Animation; // field@0296 │ │ +020126: 12f5 |0053: const/4 v5, #int -1 // #ff │ │ +020128: 6e20 be00 5400 |0054: invoke-virtual {v4, v5}, Landroid/view/animation/Animation;.setRepeatCount:(I)V // method@00be │ │ +02012e: 5b36 9b02 |0057: iput-object v6, v3, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.testTasksPool:Ljava/util/concurrent/ExecutorService; // field@029b │ │ +020132: 0e00 |0059: return-void │ │ catches : (none) │ │ positions : │ │ 0x0001 line=50 │ │ 0x0004 line=45 │ │ 0x000b line=52 │ │ 0x0015 line=53 │ │ 0x001b line=55 │ │ @@ -50131,17 +50131,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 │ │ -01ffb4: |[01ffb4] dnsfilter.android.dnsserverconfig.widget.DNSListAdapter.access$000:(Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;)Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView; │ │ -01ffc4: 5400 9402 |0000: iget-object v0, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.dnsServerConfigEntryView:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView; // field@0294 │ │ -01ffc8: 1100 |0002: return-object v0 │ │ +01ffb0: |[01ffb0] dnsfilter.android.dnsserverconfig.widget.DNSListAdapter.access$000:(Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;)Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView; │ │ +01ffc0: 5400 9402 |0000: iget-object v0, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.dnsServerConfigEntryView:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView; // field@0294 │ │ +01ffc4: 1100 |0002: return-object v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=33 │ │ locals : │ │ 0x0000 - 0x0003 reg=0 (null) Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter; │ │ │ │ #2 : (in Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;) │ │ @@ -50149,17 +50149,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 │ │ -01fcc8: |[01fcc8] dnsfilter.android.dnsserverconfig.widget.DNSListAdapter.access$200:(Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;)Landroid/os/Handler; │ │ -01fcd8: 5400 9502 |0000: iget-object v0, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.handler:Landroid/os/Handler; // field@0295 │ │ -01fcdc: 1100 |0002: return-object v0 │ │ +01fcc4: |[01fcc4] dnsfilter.android.dnsserverconfig.widget.DNSListAdapter.access$200:(Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;)Landroid/os/Handler; │ │ +01fcd4: 5400 9502 |0000: iget-object v0, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.handler:Landroid/os/Handler; // field@0295 │ │ +01fcd8: 1100 |0002: return-object v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=33 │ │ locals : │ │ 0x0000 - 0x0003 reg=0 (null) Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter; │ │ │ │ #3 : (in Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;) │ │ @@ -50167,17 +50167,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 │ │ -020044: |[020044] dnsfilter.android.dnsserverconfig.widget.DNSListAdapter.access$300:(Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;)Ljava/lang/String; │ │ -020054: 5400 9702 |0000: iget-object v0, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.serverIsUnreachableMessage:Ljava/lang/String; // field@0297 │ │ -020058: 1100 |0002: return-object v0 │ │ +020040: |[020040] dnsfilter.android.dnsserverconfig.widget.DNSListAdapter.access$300:(Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;)Ljava/lang/String; │ │ +020050: 5400 9702 |0000: iget-object v0, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.serverIsUnreachableMessage:Ljava/lang/String; // field@0297 │ │ +020054: 1100 |0002: return-object v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=33 │ │ locals : │ │ 0x0000 - 0x0003 reg=0 (null) Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter; │ │ │ │ #4 : (in Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;) │ │ @@ -50185,17 +50185,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 │ │ -02005c: |[02005c] dnsfilter.android.dnsserverconfig.widget.DNSListAdapter.access$400:(Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;)Ljava/util/concurrent/ExecutorService; │ │ -02006c: 5400 9b02 |0000: iget-object v0, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.testTasksPool:Ljava/util/concurrent/ExecutorService; // field@029b │ │ -020070: 1100 |0002: return-object v0 │ │ +020058: |[020058] dnsfilter.android.dnsserverconfig.widget.DNSListAdapter.access$400:(Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;)Ljava/util/concurrent/ExecutorService; │ │ +020068: 5400 9b02 |0000: iget-object v0, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.testTasksPool:Ljava/util/concurrent/ExecutorService; // field@029b │ │ +02006c: 1100 |0002: return-object v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=33 │ │ locals : │ │ 0x0000 - 0x0003 reg=0 (null) Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter; │ │ │ │ #5 : (in Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;) │ │ @@ -50203,17 +50203,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 │ │ -01ff84: |[01ff84] dnsfilter.android.dnsserverconfig.widget.DNSListAdapter.access$500:(Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;)Landroid/widget/ImageView; │ │ -01ff94: 5400 9902 |0000: iget-object v0, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.testResultImage:Landroid/widget/ImageView; // field@0299 │ │ -01ff98: 1100 |0002: return-object v0 │ │ +01ff80: |[01ff80] dnsfilter.android.dnsserverconfig.widget.DNSListAdapter.access$500:(Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;)Landroid/widget/ImageView; │ │ +01ff90: 5400 9902 |0000: iget-object v0, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.testResultImage:Landroid/widget/ImageView; // field@0299 │ │ +01ff94: 1100 |0002: return-object v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=33 │ │ locals : │ │ 0x0000 - 0x0003 reg=0 (null) Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter; │ │ │ │ #6 : (in Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;) │ │ @@ -50221,17 +50221,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 │ │ -01ff9c: |[01ff9c] dnsfilter.android.dnsserverconfig.widget.DNSListAdapter.access$600:(Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;)Landroid/widget/TextView; │ │ -01ffac: 5400 9a02 |0000: iget-object v0, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.testResultText:Landroid/widget/TextView; // field@029a │ │ -01ffb0: 1100 |0002: return-object v0 │ │ +01ff98: |[01ff98] dnsfilter.android.dnsserverconfig.widget.DNSListAdapter.access$600:(Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;)Landroid/widget/TextView; │ │ +01ffa8: 5400 9a02 |0000: iget-object v0, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.testResultText:Landroid/widget/TextView; // field@029a │ │ +01ffac: 1100 |0002: return-object v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=33 │ │ locals : │ │ 0x0000 - 0x0003 reg=0 (null) Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter; │ │ │ │ #7 : (in Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;) │ │ @@ -50239,17 +50239,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 │ │ -01fcb0: |[01fcb0] dnsfilter.android.dnsserverconfig.widget.DNSListAdapter.access$700:(Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;)Landroid/app/Dialog; │ │ -01fcc0: 5400 9802 |0000: iget-object v0, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.testResultDialog:Landroid/app/Dialog; // field@0298 │ │ -01fcc4: 1100 |0002: return-object v0 │ │ +01fcac: |[01fcac] dnsfilter.android.dnsserverconfig.widget.DNSListAdapter.access$700:(Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;)Landroid/app/Dialog; │ │ +01fcbc: 5400 9802 |0000: iget-object v0, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.testResultDialog:Landroid/app/Dialog; // field@0298 │ │ +01fcc0: 1100 |0002: return-object v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=33 │ │ locals : │ │ 0x0000 - 0x0003 reg=0 (null) Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter; │ │ │ │ #8 : (in Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;) │ │ @@ -50257,26 +50257,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 │ │ -020198: |[020198] dnsfilter.android.dnsserverconfig.widget.DNSListAdapter.findCommentEntryViews:(Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerCommentEntryViewHolder;Landroid/view/View;)V │ │ -0201a8: 1400 1700 057f |0000: const v0, #float 1.76788e+38 // #7f050017 │ │ -0201ae: 6e20 ac00 0300 |0003: invoke-virtual {v3, v0}, Landroid/view/View;.findViewById:(I)Landroid/view/View; // method@00ac │ │ -0201b4: 0c00 |0006: move-result-object v0 │ │ -0201b6: 1f00 7300 |0007: check-cast v0, Landroid/widget/TextView; // type@0073 │ │ -0201ba: 5b20 8402 |0009: iput-object v0, v2, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerCommentEntryViewHolder;.commentView:Landroid/widget/TextView; // field@0284 │ │ -0201be: 1400 1800 057f |000b: const v0, #float 1.76788e+38 // #7f050018 │ │ -0201c4: 6e20 ac00 0300 |000e: invoke-virtual {v3, v0}, Landroid/view/View;.findViewById:(I)Landroid/view/View; // method@00ac │ │ -0201ca: 0c03 |0011: move-result-object v3 │ │ -0201cc: 1f03 5900 |0012: check-cast v3, Landroid/view/ViewGroup; // type@0059 │ │ -0201d0: 5b23 8502 |0014: iput-object v3, v2, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerCommentEntryViewHolder;.containter:Landroid/view/ViewGroup; // field@0285 │ │ -0201d4: 0e00 |0016: return-void │ │ +020194: |[020194] dnsfilter.android.dnsserverconfig.widget.DNSListAdapter.findCommentEntryViews:(Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerCommentEntryViewHolder;Landroid/view/View;)V │ │ +0201a4: 1400 1700 057f |0000: const v0, #float 1.76788e+38 // #7f050017 │ │ +0201aa: 6e20 ac00 0300 |0003: invoke-virtual {v3, v0}, Landroid/view/View;.findViewById:(I)Landroid/view/View; // method@00ac │ │ +0201b0: 0c00 |0006: move-result-object v0 │ │ +0201b2: 1f00 7300 |0007: check-cast v0, Landroid/widget/TextView; // type@0073 │ │ +0201b6: 5b20 8402 |0009: iput-object v0, v2, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerCommentEntryViewHolder;.commentView:Landroid/widget/TextView; // field@0284 │ │ +0201ba: 1400 1800 057f |000b: const v0, #float 1.76788e+38 // #7f050018 │ │ +0201c0: 6e20 ac00 0300 |000e: invoke-virtual {v3, v0}, Landroid/view/View;.findViewById:(I)Landroid/view/View; // method@00ac │ │ +0201c6: 0c03 |0011: move-result-object v3 │ │ +0201c8: 1f03 5900 |0012: check-cast v3, Landroid/view/ViewGroup; // type@0059 │ │ +0201cc: 5b23 8502 |0014: iput-object v3, v2, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerCommentEntryViewHolder;.containter:Landroid/view/ViewGroup; // field@0285 │ │ +0201d0: 0e00 |0016: return-void │ │ catches : (none) │ │ positions : │ │ 0x0003 line=265 │ │ 0x000e line=266 │ │ locals : │ │ 0x0000 - 0x0017 reg=1 this Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter; │ │ 0x0000 - 0x0017 reg=2 (null) Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerCommentEntryViewHolder; │ │ @@ -50287,68 +50287,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 │ │ -0201d8: |[0201d8] dnsfilter.android.dnsserverconfig.widget.DNSListAdapter.findEntryViews:(Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;Landroid/view/View;)V │ │ -0201e8: 1400 1800 057f |0000: const v0, #float 1.76788e+38 // #7f050018 │ │ -0201ee: 6e20 ac00 0300 |0003: invoke-virtual {v3, v0}, Landroid/view/View;.findViewById:(I)Landroid/view/View; // method@00ac │ │ -0201f4: 0c00 |0006: move-result-object v0 │ │ -0201f6: 1f00 6d00 |0007: check-cast v0, Landroid/widget/RelativeLayout; // type@006d │ │ -0201fa: 5b20 8e02 |0009: iput-object v0, v2, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.root:Landroid/widget/RelativeLayout; // field@028e │ │ -0201fe: 1400 4900 057f |000b: const v0, #float 1.76789e+38 // #7f050049 │ │ -020204: 6e20 ac00 0300 |000e: invoke-virtual {v3, v0}, Landroid/view/View;.findViewById:(I)Landroid/view/View; // method@00ac │ │ -02020a: 0c00 |0011: move-result-object v0 │ │ -02020c: 1f00 7300 |0012: check-cast v0, Landroid/widget/TextView; // type@0073 │ │ -020210: 5b20 8d02 |0014: iput-object v0, v2, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.protocolView:Landroid/widget/TextView; // field@028d │ │ -020214: 1400 3500 057f |0016: const v0, #float 1.76788e+38 // #7f050035 │ │ -02021a: 6e20 ac00 0300 |0019: invoke-virtual {v3, v0}, Landroid/view/View;.findViewById:(I)Landroid/view/View; // method@00ac │ │ -020220: 0c00 |001c: move-result-object v0 │ │ -020222: 1f00 7300 |001d: check-cast v0, Landroid/widget/TextView; // type@0073 │ │ -020226: 5b20 8902 |001f: iput-object v0, v2, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.ipView:Landroid/widget/TextView; // field@0289 │ │ -02022a: 1400 4800 057f |0021: const v0, #float 1.76789e+38 // #7f050048 │ │ -020230: 6e20 ac00 0300 |0024: invoke-virtual {v3, v0}, Landroid/view/View;.findViewById:(I)Landroid/view/View; // method@00ac │ │ -020236: 0c00 |0027: move-result-object v0 │ │ -020238: 1f00 7300 |0028: check-cast v0, Landroid/widget/TextView; // type@0073 │ │ -02023c: 5b20 8b02 |002a: iput-object v0, v2, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.portView:Landroid/widget/TextView; // field@028b │ │ -020240: 1400 2100 057f |002c: const v0, #float 1.76788e+38 // #7f050021 │ │ -020246: 6e20 ac00 0300 |002f: invoke-virtual {v3, v0}, Landroid/view/View;.findViewById:(I)Landroid/view/View; // method@00ac │ │ -02024c: 0c00 |0032: move-result-object v0 │ │ -02024e: 1f00 6800 |0033: check-cast v0, Landroid/widget/ImageButton; // type@0068 │ │ -020252: 5b20 8802 |0035: iput-object v0, v2, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.editEntryButton:Landroid/widget/ImageButton; // field@0288 │ │ -020256: 1400 3600 057f |0037: const v0, #float 1.76788e+38 // #7f050036 │ │ -02025c: 6e20 ac00 0300 |003a: invoke-virtual {v3, v0}, Landroid/view/View;.findViewById:(I)Landroid/view/View; // method@00ac │ │ -020262: 0c00 |003d: move-result-object v0 │ │ -020264: 1f00 6400 |003e: check-cast v0, Landroid/widget/CheckBox; // type@0064 │ │ -020268: 5b20 8a02 |0040: iput-object v0, v2, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.isActiveEntryCheckbox:Landroid/widget/CheckBox; // field@028a │ │ -02026c: 1400 5e00 057f |0042: const v0, #float 1.76789e+38 // #7f05005e │ │ -020272: 6e20 ac00 0300 |0045: invoke-virtual {v3, v0}, Landroid/view/View;.findViewById:(I)Landroid/view/View; // method@00ac │ │ -020278: 0c00 |0048: move-result-object v0 │ │ -02027a: 1f00 6800 |0049: check-cast v0, Landroid/widget/ImageButton; // type@0068 │ │ -02027e: 5b20 8f02 |004b: iput-object v0, v2, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.testEntryButton:Landroid/widget/ImageButton; // field@028f │ │ -020282: 1400 6100 057f |004d: const v0, #float 1.76789e+38 // #7f050061 │ │ -020288: 6e20 ac00 0300 |0050: invoke-virtual {v3, v0}, Landroid/view/View;.findViewById:(I)Landroid/view/View; // method@00ac │ │ -02028e: 0c00 |0053: move-result-object v0 │ │ -020290: 1f00 6800 |0054: check-cast v0, Landroid/widget/ImageButton; // type@0068 │ │ -020294: 5b20 9002 |0056: iput-object v0, v2, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.testEntryProgressBar:Landroid/widget/ImageButton; // field@0290 │ │ -020298: 1400 5f00 057f |0058: const v0, #float 1.76789e+38 // #7f05005f │ │ -02029e: 6e20 ac00 0300 |005b: invoke-virtual {v3, v0}, Landroid/view/View;.findViewById:(I)Landroid/view/View; // method@00ac │ │ -0202a4: 0c00 |005e: move-result-object v0 │ │ -0202a6: 1f00 6800 |005f: check-cast v0, Landroid/widget/ImageButton; // type@0068 │ │ -0202aa: 5b20 9102 |0061: iput-object v0, v2, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.testEntryResultFailure:Landroid/widget/ImageButton; // field@0291 │ │ -0202ae: 1400 6000 057f |0063: const v0, #float 1.76789e+38 // #7f050060 │ │ -0202b4: 6e20 ac00 0300 |0066: invoke-virtual {v3, v0}, Landroid/view/View;.findViewById:(I)Landroid/view/View; // method@00ac │ │ -0202ba: 0c03 |0069: move-result-object v3 │ │ -0202bc: 1f03 6800 |006a: check-cast v3, Landroid/widget/ImageButton; // type@0068 │ │ -0202c0: 5b23 9202 |006c: iput-object v3, v2, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.testEntryResultSuccess:Landroid/widget/ImageButton; // field@0292 │ │ -0202c4: 5413 9602 |006e: iget-object v3, v1, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.progressBarAnim:Landroid/view/animation/Animation; // field@0296 │ │ -0202c8: 5b23 8c02 |0070: iput-object v3, v2, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.progressBarAnim:Landroid/view/animation/Animation; // field@028c │ │ -0202cc: 0e00 |0072: return-void │ │ +0201d4: |[0201d4] dnsfilter.android.dnsserverconfig.widget.DNSListAdapter.findEntryViews:(Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;Landroid/view/View;)V │ │ +0201e4: 1400 1800 057f |0000: const v0, #float 1.76788e+38 // #7f050018 │ │ +0201ea: 6e20 ac00 0300 |0003: invoke-virtual {v3, v0}, Landroid/view/View;.findViewById:(I)Landroid/view/View; // method@00ac │ │ +0201f0: 0c00 |0006: move-result-object v0 │ │ +0201f2: 1f00 6d00 |0007: check-cast v0, Landroid/widget/RelativeLayout; // type@006d │ │ +0201f6: 5b20 8e02 |0009: iput-object v0, v2, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.root:Landroid/widget/RelativeLayout; // field@028e │ │ +0201fa: 1400 4900 057f |000b: const v0, #float 1.76789e+38 // #7f050049 │ │ +020200: 6e20 ac00 0300 |000e: invoke-virtual {v3, v0}, Landroid/view/View;.findViewById:(I)Landroid/view/View; // method@00ac │ │ +020206: 0c00 |0011: move-result-object v0 │ │ +020208: 1f00 7300 |0012: check-cast v0, Landroid/widget/TextView; // type@0073 │ │ +02020c: 5b20 8d02 |0014: iput-object v0, v2, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.protocolView:Landroid/widget/TextView; // field@028d │ │ +020210: 1400 3500 057f |0016: const v0, #float 1.76788e+38 // #7f050035 │ │ +020216: 6e20 ac00 0300 |0019: invoke-virtual {v3, v0}, Landroid/view/View;.findViewById:(I)Landroid/view/View; // method@00ac │ │ +02021c: 0c00 |001c: move-result-object v0 │ │ +02021e: 1f00 7300 |001d: check-cast v0, Landroid/widget/TextView; // type@0073 │ │ +020222: 5b20 8902 |001f: iput-object v0, v2, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.ipView:Landroid/widget/TextView; // field@0289 │ │ +020226: 1400 4800 057f |0021: const v0, #float 1.76789e+38 // #7f050048 │ │ +02022c: 6e20 ac00 0300 |0024: invoke-virtual {v3, v0}, Landroid/view/View;.findViewById:(I)Landroid/view/View; // method@00ac │ │ +020232: 0c00 |0027: move-result-object v0 │ │ +020234: 1f00 7300 |0028: check-cast v0, Landroid/widget/TextView; // type@0073 │ │ +020238: 5b20 8b02 |002a: iput-object v0, v2, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.portView:Landroid/widget/TextView; // field@028b │ │ +02023c: 1400 2100 057f |002c: const v0, #float 1.76788e+38 // #7f050021 │ │ +020242: 6e20 ac00 0300 |002f: invoke-virtual {v3, v0}, Landroid/view/View;.findViewById:(I)Landroid/view/View; // method@00ac │ │ +020248: 0c00 |0032: move-result-object v0 │ │ +02024a: 1f00 6800 |0033: check-cast v0, Landroid/widget/ImageButton; // type@0068 │ │ +02024e: 5b20 8802 |0035: iput-object v0, v2, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.editEntryButton:Landroid/widget/ImageButton; // field@0288 │ │ +020252: 1400 3600 057f |0037: const v0, #float 1.76788e+38 // #7f050036 │ │ +020258: 6e20 ac00 0300 |003a: invoke-virtual {v3, v0}, Landroid/view/View;.findViewById:(I)Landroid/view/View; // method@00ac │ │ +02025e: 0c00 |003d: move-result-object v0 │ │ +020260: 1f00 6400 |003e: check-cast v0, Landroid/widget/CheckBox; // type@0064 │ │ +020264: 5b20 8a02 |0040: iput-object v0, v2, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.isActiveEntryCheckbox:Landroid/widget/CheckBox; // field@028a │ │ +020268: 1400 5e00 057f |0042: const v0, #float 1.76789e+38 // #7f05005e │ │ +02026e: 6e20 ac00 0300 |0045: invoke-virtual {v3, v0}, Landroid/view/View;.findViewById:(I)Landroid/view/View; // method@00ac │ │ +020274: 0c00 |0048: move-result-object v0 │ │ +020276: 1f00 6800 |0049: check-cast v0, Landroid/widget/ImageButton; // type@0068 │ │ +02027a: 5b20 8f02 |004b: iput-object v0, v2, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.testEntryButton:Landroid/widget/ImageButton; // field@028f │ │ +02027e: 1400 6100 057f |004d: const v0, #float 1.76789e+38 // #7f050061 │ │ +020284: 6e20 ac00 0300 |0050: invoke-virtual {v3, v0}, Landroid/view/View;.findViewById:(I)Landroid/view/View; // method@00ac │ │ +02028a: 0c00 |0053: move-result-object v0 │ │ +02028c: 1f00 6800 |0054: check-cast v0, Landroid/widget/ImageButton; // type@0068 │ │ +020290: 5b20 9002 |0056: iput-object v0, v2, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.testEntryProgressBar:Landroid/widget/ImageButton; // field@0290 │ │ +020294: 1400 5f00 057f |0058: const v0, #float 1.76789e+38 // #7f05005f │ │ +02029a: 6e20 ac00 0300 |005b: invoke-virtual {v3, v0}, Landroid/view/View;.findViewById:(I)Landroid/view/View; // method@00ac │ │ +0202a0: 0c00 |005e: move-result-object v0 │ │ +0202a2: 1f00 6800 |005f: check-cast v0, Landroid/widget/ImageButton; // type@0068 │ │ +0202a6: 5b20 9102 |0061: iput-object v0, v2, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.testEntryResultFailure:Landroid/widget/ImageButton; // field@0291 │ │ +0202aa: 1400 6000 057f |0063: const v0, #float 1.76789e+38 // #7f050060 │ │ +0202b0: 6e20 ac00 0300 |0066: invoke-virtual {v3, v0}, Landroid/view/View;.findViewById:(I)Landroid/view/View; // method@00ac │ │ +0202b6: 0c03 |0069: move-result-object v3 │ │ +0202b8: 1f03 6800 |006a: check-cast v3, Landroid/widget/ImageButton; // type@0068 │ │ +0202bc: 5b23 9202 |006c: iput-object v3, v2, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.testEntryResultSuccess:Landroid/widget/ImageButton; // field@0292 │ │ +0202c0: 5413 9602 |006e: iget-object v3, v1, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.progressBarAnim:Landroid/view/animation/Animation; // field@0296 │ │ +0202c4: 5b23 8c02 |0070: iput-object v3, v2, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.progressBarAnim:Landroid/view/animation/Animation; // field@028c │ │ +0202c8: 0e00 |0072: return-void │ │ catches : (none) │ │ positions : │ │ 0x0003 line=281 │ │ 0x000e line=282 │ │ 0x0019 line=283 │ │ 0x0024 line=284 │ │ 0x002f line=285 │ │ @@ -50368,30 +50368,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 │ │ -01fce0: |[01fce0] dnsfilter.android.dnsserverconfig.widget.DNSListAdapter.getAddButton:(Landroid/view/ViewGroup;)Landroid/view/View; │ │ -01fcf0: 6e10 e403 0300 |0000: invoke-virtual {v3}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.getContext:()Landroid/content/Context; // method@03e4 │ │ -01fcf6: 0c00 |0003: move-result-object v0 │ │ -01fcf8: 7110 a500 0000 |0004: invoke-static {v0}, Landroid/view/LayoutInflater;.from:(Landroid/content/Context;)Landroid/view/LayoutInflater; // method@00a5 │ │ -01fcfe: 0c00 |0007: move-result-object v0 │ │ -01fd00: 1401 0700 067f |0008: const v1, #float 1.78117e+38 // #7f060007 │ │ -01fd06: 1202 |000b: const/4 v2, #int 0 // #0 │ │ -01fd08: 6e40 a700 1024 |000c: invoke-virtual {v0, v1, v4, v2}, Landroid/view/LayoutInflater;.inflate:(ILandroid/view/ViewGroup;Z)Landroid/view/View; // method@00a7 │ │ -01fd0e: 0c04 |000f: move-result-object v4 │ │ -01fd10: 1400 0700 057f |0010: const v0, #float 1.76787e+38 // #7f050007 │ │ -01fd16: 6e20 ac00 0400 |0013: invoke-virtual {v4, v0}, Landroid/view/View;.findViewById:(I)Landroid/view/View; // method@00ac │ │ -01fd1c: 0c00 |0016: move-result-object v0 │ │ -01fd1e: 2201 cc00 |0017: new-instance v1, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$1; // type@00cc │ │ -01fd22: 7020 bf03 3100 |0019: invoke-direct {v1, v3}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$1;.:(Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;)V // method@03bf │ │ -01fd28: 6e20 b200 1000 |001c: invoke-virtual {v0, v1}, Landroid/view/View;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@00b2 │ │ -01fd2e: 1104 |001f: return-object v4 │ │ +01fcdc: |[01fcdc] dnsfilter.android.dnsserverconfig.widget.DNSListAdapter.getAddButton:(Landroid/view/ViewGroup;)Landroid/view/View; │ │ +01fcec: 6e10 e403 0300 |0000: invoke-virtual {v3}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.getContext:()Landroid/content/Context; // method@03e4 │ │ +01fcf2: 0c00 |0003: move-result-object v0 │ │ +01fcf4: 7110 a500 0000 |0004: invoke-static {v0}, Landroid/view/LayoutInflater;.from:(Landroid/content/Context;)Landroid/view/LayoutInflater; // method@00a5 │ │ +01fcfa: 0c00 |0007: move-result-object v0 │ │ +01fcfc: 1401 0700 067f |0008: const v1, #float 1.78117e+38 // #7f060007 │ │ +01fd02: 1202 |000b: const/4 v2, #int 0 // #0 │ │ +01fd04: 6e40 a700 1024 |000c: invoke-virtual {v0, v1, v4, v2}, Landroid/view/LayoutInflater;.inflate:(ILandroid/view/ViewGroup;Z)Landroid/view/View; // method@00a7 │ │ +01fd0a: 0c04 |000f: move-result-object v4 │ │ +01fd0c: 1400 0700 057f |0010: const v0, #float 1.76787e+38 // #7f050007 │ │ +01fd12: 6e20 ac00 0400 |0013: invoke-virtual {v4, v0}, Landroid/view/View;.findViewById:(I)Landroid/view/View; // method@00ac │ │ +01fd18: 0c00 |0016: move-result-object v0 │ │ +01fd1a: 2201 cc00 |0017: new-instance v1, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$1; // type@00cc │ │ +01fd1e: 7020 bf03 3100 |0019: invoke-direct {v1, v3}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$1;.:(Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;)V // method@03bf │ │ +01fd24: 6e20 b200 1000 |001c: invoke-virtual {v0, v1}, Landroid/view/View;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@00b2 │ │ +01fd2a: 1104 |001f: return-object v4 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=123 │ │ 0x0013 line=124 │ │ locals : │ │ 0x0000 - 0x0020 reg=3 this Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter; │ │ 0x0000 - 0x0020 reg=4 (null) Landroid/view/ViewGroup; │ │ @@ -50401,60 +50401,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 │ │ -01fd30: |[01fd30] dnsfilter.android.dnsserverconfig.widget.DNSListAdapter.getCommentView:(ILandroid/view/View;Landroid/view/ViewGroup;)Landroid/view/View; │ │ -01fd40: 6e20 e603 5400 |0000: invoke-virtual {v4, v5}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.getItem:(I)Ljava/lang/Object; // method@03e6 │ │ -01fd46: 0c05 |0003: move-result-object v5 │ │ -01fd48: 1f05 e700 |0004: check-cast v5, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigCommentedEntry; // type@00e7 │ │ -01fd4c: 6e10 3d04 0500 |0006: invoke-virtual {v5}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigCommentedEntry;.isVisible:()Z // method@043d │ │ -01fd52: 0a00 |0009: move-result v0 │ │ -01fd54: 3900 0c00 |000a: if-nez v0, 0016 // +000c │ │ -01fd58: 2205 5800 |000c: new-instance v5, Landroid/view/View; // type@0058 │ │ -01fd5c: 6e10 e403 0400 |000e: invoke-virtual {v4}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.getContext:()Landroid/content/Context; // method@03e4 │ │ -01fd62: 0c06 |0011: move-result-object v6 │ │ -01fd64: 7020 aa00 6500 |0012: invoke-direct {v5, v6}, Landroid/view/View;.:(Landroid/content/Context;)V // method@00aa │ │ -01fd6a: 1105 |0015: return-object v5 │ │ -01fd6c: 1200 |0016: const/4 v0, #int 0 // #0 │ │ -01fd6e: 3806 1200 |0017: if-eqz v6, 0029 // +0012 │ │ -01fd72: 6e10 af00 0600 |0019: invoke-virtual {v6}, Landroid/view/View;.getTag:()Ljava/lang/Object; // method@00af │ │ -01fd78: 0c01 |001c: move-result-object v1 │ │ -01fd7a: 2011 d500 |001d: instance-of v1, v1, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerCommentEntryViewHolder; // type@00d5 │ │ -01fd7e: 3901 0300 |001f: if-nez v1, 0022 // +0003 │ │ -01fd82: 2808 |0021: goto 0029 // +0008 │ │ -01fd84: 6e10 af00 0600 |0022: invoke-virtual {v6}, Landroid/view/View;.getTag:()Ljava/lang/Object; // method@00af │ │ -01fd8a: 0c07 |0025: move-result-object v7 │ │ -01fd8c: 1f07 d500 |0026: check-cast v7, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerCommentEntryViewHolder; // type@00d5 │ │ -01fd90: 281b |0028: goto 0043 // +001b │ │ -01fd92: 6e10 e403 0400 |0029: invoke-virtual {v4}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.getContext:()Landroid/content/Context; // method@03e4 │ │ -01fd98: 0c06 |002c: move-result-object v6 │ │ -01fd9a: 7110 a500 0600 |002d: invoke-static {v6}, Landroid/view/LayoutInflater;.from:(Landroid/content/Context;)Landroid/view/LayoutInflater; // method@00a5 │ │ -01fda0: 0c06 |0030: move-result-object v6 │ │ -01fda2: 1401 0500 067f |0031: const v1, #float 1.78117e+38 // #7f060005 │ │ -01fda8: 6e40 a700 1607 |0034: invoke-virtual {v6, v1, v7, v0}, Landroid/view/LayoutInflater;.inflate:(ILandroid/view/ViewGroup;Z)Landroid/view/View; // method@00a7 │ │ -01fdae: 0c06 |0037: move-result-object v6 │ │ -01fdb0: 2207 d500 |0038: new-instance v7, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerCommentEntryViewHolder; // type@00d5 │ │ -01fdb4: 7010 d003 0700 |003a: invoke-direct {v7}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerCommentEntryViewHolder;.:()V // method@03d0 │ │ -01fdba: 7030 f103 7406 |003d: invoke-direct {v4, v7, v6}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.setupNewCommentHolder:(Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerCommentEntryViewHolder;Landroid/view/View;)V // method@03f1 │ │ -01fdc0: 6e20 b300 7600 |0040: invoke-virtual {v6, v7}, Landroid/view/View;.setTag:(Ljava/lang/Object;)V // method@00b3 │ │ -01fdc6: 5b75 8602 |0043: iput-object v5, v7, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerCommentEntryViewHolder;.dnsServerCommentEntry:Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigCommentedEntry; // field@0286 │ │ -01fdca: 5471 8402 |0045: iget-object v1, v7, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerCommentEntryViewHolder;.commentView:Landroid/widget/TextView; // field@0284 │ │ -01fdce: 6e10 4004 0500 |0047: invoke-virtual {v5}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigCommentedEntry;.toString:()Ljava/lang/String; // method@0440 │ │ -01fdd4: 0c05 |004a: move-result-object v5 │ │ -01fdd6: 1a02 3000 |004b: const-string v2, "#" // string@0030 │ │ -01fdda: 1a03 0000 |004d: const-string v3, "" // string@0000 │ │ -01fdde: 6e30 9705 2503 |004f: invoke-virtual {v5, v2, v3}, Ljava/lang/String;.replace:(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String; // method@0597 │ │ -01fde4: 0c05 |0052: move-result-object v5 │ │ -01fde6: 6e20 0901 5100 |0053: invoke-virtual {v1, v5}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@0109 │ │ -01fdec: 5475 8502 |0056: iget-object v5, v7, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerCommentEntryViewHolder;.containter:Landroid/view/ViewGroup; // field@0285 │ │ -01fdf0: 6e20 b600 0500 |0058: invoke-virtual {v5, v0}, Landroid/view/ViewGroup;.setEnabled:(Z)V // method@00b6 │ │ -01fdf6: 1106 |005b: return-object v6 │ │ +01fd2c: |[01fd2c] dnsfilter.android.dnsserverconfig.widget.DNSListAdapter.getCommentView:(ILandroid/view/View;Landroid/view/ViewGroup;)Landroid/view/View; │ │ +01fd3c: 6e20 e603 5400 |0000: invoke-virtual {v4, v5}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.getItem:(I)Ljava/lang/Object; // method@03e6 │ │ +01fd42: 0c05 |0003: move-result-object v5 │ │ +01fd44: 1f05 e700 |0004: check-cast v5, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigCommentedEntry; // type@00e7 │ │ +01fd48: 6e10 3d04 0500 |0006: invoke-virtual {v5}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigCommentedEntry;.isVisible:()Z // method@043d │ │ +01fd4e: 0a00 |0009: move-result v0 │ │ +01fd50: 3900 0c00 |000a: if-nez v0, 0016 // +000c │ │ +01fd54: 2205 5800 |000c: new-instance v5, Landroid/view/View; // type@0058 │ │ +01fd58: 6e10 e403 0400 |000e: invoke-virtual {v4}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.getContext:()Landroid/content/Context; // method@03e4 │ │ +01fd5e: 0c06 |0011: move-result-object v6 │ │ +01fd60: 7020 aa00 6500 |0012: invoke-direct {v5, v6}, Landroid/view/View;.:(Landroid/content/Context;)V // method@00aa │ │ +01fd66: 1105 |0015: return-object v5 │ │ +01fd68: 1200 |0016: const/4 v0, #int 0 // #0 │ │ +01fd6a: 3806 1200 |0017: if-eqz v6, 0029 // +0012 │ │ +01fd6e: 6e10 af00 0600 |0019: invoke-virtual {v6}, Landroid/view/View;.getTag:()Ljava/lang/Object; // method@00af │ │ +01fd74: 0c01 |001c: move-result-object v1 │ │ +01fd76: 2011 d500 |001d: instance-of v1, v1, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerCommentEntryViewHolder; // type@00d5 │ │ +01fd7a: 3901 0300 |001f: if-nez v1, 0022 // +0003 │ │ +01fd7e: 2808 |0021: goto 0029 // +0008 │ │ +01fd80: 6e10 af00 0600 |0022: invoke-virtual {v6}, Landroid/view/View;.getTag:()Ljava/lang/Object; // method@00af │ │ +01fd86: 0c07 |0025: move-result-object v7 │ │ +01fd88: 1f07 d500 |0026: check-cast v7, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerCommentEntryViewHolder; // type@00d5 │ │ +01fd8c: 281b |0028: goto 0043 // +001b │ │ +01fd8e: 6e10 e403 0400 |0029: invoke-virtual {v4}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.getContext:()Landroid/content/Context; // method@03e4 │ │ +01fd94: 0c06 |002c: move-result-object v6 │ │ +01fd96: 7110 a500 0600 |002d: invoke-static {v6}, Landroid/view/LayoutInflater;.from:(Landroid/content/Context;)Landroid/view/LayoutInflater; // method@00a5 │ │ +01fd9c: 0c06 |0030: move-result-object v6 │ │ +01fd9e: 1401 0500 067f |0031: const v1, #float 1.78117e+38 // #7f060005 │ │ +01fda4: 6e40 a700 1607 |0034: invoke-virtual {v6, v1, v7, v0}, Landroid/view/LayoutInflater;.inflate:(ILandroid/view/ViewGroup;Z)Landroid/view/View; // method@00a7 │ │ +01fdaa: 0c06 |0037: move-result-object v6 │ │ +01fdac: 2207 d500 |0038: new-instance v7, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerCommentEntryViewHolder; // type@00d5 │ │ +01fdb0: 7010 d003 0700 |003a: invoke-direct {v7}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerCommentEntryViewHolder;.:()V // method@03d0 │ │ +01fdb6: 7030 f103 7406 |003d: invoke-direct {v4, v7, v6}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.setupNewCommentHolder:(Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerCommentEntryViewHolder;Landroid/view/View;)V // method@03f1 │ │ +01fdbc: 6e20 b300 7600 |0040: invoke-virtual {v6, v7}, Landroid/view/View;.setTag:(Ljava/lang/Object;)V // method@00b3 │ │ +01fdc2: 5b75 8602 |0043: iput-object v5, v7, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerCommentEntryViewHolder;.dnsServerCommentEntry:Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigCommentedEntry; // field@0286 │ │ +01fdc6: 5471 8402 |0045: iget-object v1, v7, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerCommentEntryViewHolder;.commentView:Landroid/widget/TextView; // field@0284 │ │ +01fdca: 6e10 4004 0500 |0047: invoke-virtual {v5}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigCommentedEntry;.toString:()Ljava/lang/String; // method@0440 │ │ +01fdd0: 0c05 |004a: move-result-object v5 │ │ +01fdd2: 1a02 3000 |004b: const-string v2, "#" // string@0030 │ │ +01fdd6: 1a03 0000 |004d: const-string v3, "" // string@0000 │ │ +01fdda: 6e30 9705 2503 |004f: invoke-virtual {v5, v2, v3}, Ljava/lang/String;.replace:(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String; // method@0597 │ │ +01fde0: 0c05 |0052: move-result-object v5 │ │ +01fde2: 6e20 0901 5100 |0053: invoke-virtual {v1, v5}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@0109 │ │ +01fde8: 5475 8502 |0056: iget-object v5, v7, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerCommentEntryViewHolder;.containter:Landroid/view/ViewGroup; // field@0285 │ │ +01fdec: 6e20 b600 0500 |0058: invoke-virtual {v5, v0}, Landroid/view/ViewGroup;.setEnabled:(Z)V // method@00b6 │ │ +01fdf2: 1106 |005b: return-object v6 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=136 │ │ 0x0006 line=140 │ │ 0x000c line=141 │ │ 0x0019 line=144 │ │ 0x0022 line=151 │ │ @@ -50476,85 +50476,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 │ │ -01fdf8: |[01fdf8] dnsfilter.android.dnsserverconfig.widget.DNSListAdapter.getItemView:(ILandroid/view/View;Landroid/view/ViewGroup;)Landroid/view/View; │ │ -01fe08: 6e20 e603 3200 |0000: invoke-virtual {v2, v3}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.getItem:(I)Ljava/lang/Object; // method@03e6 │ │ -01fe0e: 0c03 |0003: move-result-object v3 │ │ -01fe10: 1f03 e800 |0004: check-cast v3, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry; // type@00e8 │ │ -01fe14: 3804 1200 |0006: if-eqz v4, 0018 // +0012 │ │ -01fe18: 6e10 af00 0400 |0008: invoke-virtual {v4}, Landroid/view/View;.getTag:()Ljava/lang/Object; // method@00af │ │ -01fe1e: 0c00 |000b: move-result-object v0 │ │ -01fe20: 2000 d600 |000c: instance-of v0, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder; // type@00d6 │ │ -01fe24: 3900 0300 |000e: if-nez v0, 0011 // +0003 │ │ -01fe28: 2808 |0010: goto 0018 // +0008 │ │ -01fe2a: 6e10 af00 0400 |0011: invoke-virtual {v4}, Landroid/view/View;.getTag:()Ljava/lang/Object; // method@00af │ │ -01fe30: 0c05 |0014: move-result-object v5 │ │ -01fe32: 1f05 d600 |0015: check-cast v5, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder; // type@00d6 │ │ -01fe36: 281c |0017: goto 0033 // +001c │ │ -01fe38: 6e10 e403 0200 |0018: invoke-virtual {v2}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.getContext:()Landroid/content/Context; // method@03e4 │ │ -01fe3e: 0c04 |001b: move-result-object v4 │ │ -01fe40: 7110 a500 0400 |001c: invoke-static {v4}, Landroid/view/LayoutInflater;.from:(Landroid/content/Context;)Landroid/view/LayoutInflater; // method@00a5 │ │ -01fe46: 0c04 |001f: move-result-object v4 │ │ -01fe48: 1400 0600 067f |0020: const v0, #float 1.78117e+38 // #7f060006 │ │ -01fe4e: 1201 |0023: const/4 v1, #int 0 // #0 │ │ -01fe50: 6e40 a700 0415 |0024: invoke-virtual {v4, v0, v5, v1}, Landroid/view/LayoutInflater;.inflate:(ILandroid/view/ViewGroup;Z)Landroid/view/View; // method@00a7 │ │ -01fe56: 0c04 |0027: move-result-object v4 │ │ -01fe58: 2205 d600 |0028: new-instance v5, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder; // type@00d6 │ │ -01fe5c: 7010 d103 0500 |002a: invoke-direct {v5}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.:()V // method@03d1 │ │ -01fe62: 7030 f203 5204 |002d: invoke-direct {v2, v5, v4}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.setupNewViewHolder:(Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;Landroid/view/View;)V // method@03f2 │ │ -01fe68: 6e20 b300 5400 |0030: invoke-virtual {v4, v5}, Landroid/view/View;.setTag:(Ljava/lang/Object;)V // method@00b3 │ │ -01fe6e: 5b53 8702 |0033: iput-object v3, v5, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.dnsServerConfigEntry:Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry; // field@0287 │ │ -01fe72: 5450 8d02 |0035: iget-object v0, v5, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.protocolView:Landroid/widget/TextView; // field@028d │ │ -01fe76: 6e10 5004 0300 |0037: invoke-virtual {v3}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.getProtocol:()Ldnsfilter/android/dnsserverconfig/widget/DNSType; // method@0450 │ │ -01fe7c: 0c01 |003a: move-result-object v1 │ │ -01fe7e: 6e10 3404 0100 |003b: invoke-virtual {v1}, Ldnsfilter/android/dnsserverconfig/widget/DNSType;.toString:()Ljava/lang/String; // method@0434 │ │ -01fe84: 0c01 |003e: move-result-object v1 │ │ -01fe86: 6e20 0901 1000 |003f: invoke-virtual {v0, v1}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@0109 │ │ -01fe8c: 5450 8902 |0042: iget-object v0, v5, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.ipView:Landroid/widget/TextView; // field@0289 │ │ -01fe90: 6e10 4c04 0300 |0044: invoke-virtual {v3}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.getIp:()Ljava/lang/String; // method@044c │ │ -01fe96: 0c01 |0047: move-result-object v1 │ │ -01fe98: 6e20 0901 1000 |0048: invoke-virtual {v0, v1}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@0109 │ │ -01fe9e: 5450 8b02 |004b: iget-object v0, v5, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.portView:Landroid/widget/TextView; // field@028b │ │ -01fea2: 6e10 4f04 0300 |004d: invoke-virtual {v3}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.getPort:()Ljava/lang/String; // method@044f │ │ -01fea8: 0c01 |0050: move-result-object v1 │ │ -01feaa: 6e20 0901 1000 |0051: invoke-virtual {v0, v1}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@0109 │ │ -01feb0: 5450 8a02 |0054: iget-object v0, v5, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.isActiveEntryCheckbox:Landroid/widget/CheckBox; // field@028a │ │ -01feb4: 2201 cb00 |0056: new-instance v1, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$$ExternalSyntheticLambda0; // type@00cb │ │ -01feb8: 7030 bd03 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@03bd │ │ -01febe: 6e20 cf00 1000 |005b: invoke-virtual {v0, v1}, Landroid/widget/CheckBox;.setOnCheckedChangeListener:(Landroid/widget/CompoundButton$OnCheckedChangeListener;)V // method@00cf │ │ -01fec4: 5450 8a02 |005e: iget-object v0, v5, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.isActiveEntryCheckbox:Landroid/widget/CheckBox; // field@028a │ │ -01fec8: 6e10 4d04 0300 |0060: invoke-virtual {v3}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.getIsActive:()Ljava/lang/Boolean; // method@044d │ │ -01fece: 0c01 |0063: move-result-object v1 │ │ -01fed0: 6e10 4b05 0100 |0064: invoke-virtual {v1}, Ljava/lang/Boolean;.booleanValue:()Z // method@054b │ │ -01fed6: 0a01 |0067: move-result v1 │ │ -01fed8: 6e20 cd00 1000 |0068: invoke-virtual {v0, v1}, Landroid/widget/CheckBox;.setChecked:(Z)V // method@00cd │ │ -01fede: 7110 d203 0500 |006b: invoke-static {v5}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.access$100:(Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;)V // method@03d2 │ │ -01fee4: 5450 8f02 |006e: iget-object v0, v5, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.testEntryButton:Landroid/widget/ImageButton; // field@028f │ │ -01fee8: 2201 d000 |0070: new-instance v1, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2; // type@00d0 │ │ -01feec: 7030 c703 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@03c7 │ │ -01fef2: 6e20 ea00 1000 |0075: invoke-virtual {v0, v1}, Landroid/widget/ImageButton;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@00ea │ │ -01fef8: 5450 9102 |0078: iget-object v0, v5, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.testEntryResultFailure:Landroid/widget/ImageButton; // field@0291 │ │ -01fefc: 2201 d100 |007a: new-instance v1, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$3; // type@00d1 │ │ -01ff00: 7040 c903 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@03c9 │ │ -01ff06: 6e20 ea00 1000 |007f: invoke-virtual {v0, v1}, Landroid/widget/ImageButton;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@00ea │ │ -01ff0c: 5450 9202 |0082: iget-object v0, v5, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.testEntryResultSuccess:Landroid/widget/ImageButton; // field@0292 │ │ -01ff10: 2201 d200 |0084: new-instance v1, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$4; // type@00d2 │ │ -01ff14: 7040 cb03 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@03cb │ │ -01ff1a: 6e20 ea00 1000 |0089: invoke-virtual {v0, v1}, Landroid/widget/ImageButton;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@00ea │ │ -01ff20: 5455 8e02 |008c: iget-object v5, v5, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.root:Landroid/widget/RelativeLayout; // field@028e │ │ -01ff24: 6e10 4d04 0300 |008e: invoke-virtual {v3}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.getIsActive:()Ljava/lang/Boolean; // method@044d │ │ -01ff2a: 0c03 |0091: move-result-object v3 │ │ -01ff2c: 6e10 4b05 0300 |0092: invoke-virtual {v3}, Ljava/lang/Boolean;.booleanValue:()Z // method@054b │ │ -01ff32: 0a03 |0095: move-result v3 │ │ -01ff34: 6e20 f300 3500 |0096: invoke-virtual {v5, v3}, Landroid/widget/RelativeLayout;.setEnabled:(Z)V // method@00f3 │ │ -01ff3a: 1104 |0099: return-object v4 │ │ +01fdf4: |[01fdf4] dnsfilter.android.dnsserverconfig.widget.DNSListAdapter.getItemView:(ILandroid/view/View;Landroid/view/ViewGroup;)Landroid/view/View; │ │ +01fe04: 6e20 e603 3200 |0000: invoke-virtual {v2, v3}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.getItem:(I)Ljava/lang/Object; // method@03e6 │ │ +01fe0a: 0c03 |0003: move-result-object v3 │ │ +01fe0c: 1f03 e800 |0004: check-cast v3, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry; // type@00e8 │ │ +01fe10: 3804 1200 |0006: if-eqz v4, 0018 // +0012 │ │ +01fe14: 6e10 af00 0400 |0008: invoke-virtual {v4}, Landroid/view/View;.getTag:()Ljava/lang/Object; // method@00af │ │ +01fe1a: 0c00 |000b: move-result-object v0 │ │ +01fe1c: 2000 d600 |000c: instance-of v0, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder; // type@00d6 │ │ +01fe20: 3900 0300 |000e: if-nez v0, 0011 // +0003 │ │ +01fe24: 2808 |0010: goto 0018 // +0008 │ │ +01fe26: 6e10 af00 0400 |0011: invoke-virtual {v4}, Landroid/view/View;.getTag:()Ljava/lang/Object; // method@00af │ │ +01fe2c: 0c05 |0014: move-result-object v5 │ │ +01fe2e: 1f05 d600 |0015: check-cast v5, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder; // type@00d6 │ │ +01fe32: 281c |0017: goto 0033 // +001c │ │ +01fe34: 6e10 e403 0200 |0018: invoke-virtual {v2}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.getContext:()Landroid/content/Context; // method@03e4 │ │ +01fe3a: 0c04 |001b: move-result-object v4 │ │ +01fe3c: 7110 a500 0400 |001c: invoke-static {v4}, Landroid/view/LayoutInflater;.from:(Landroid/content/Context;)Landroid/view/LayoutInflater; // method@00a5 │ │ +01fe42: 0c04 |001f: move-result-object v4 │ │ +01fe44: 1400 0600 067f |0020: const v0, #float 1.78117e+38 // #7f060006 │ │ +01fe4a: 1201 |0023: const/4 v1, #int 0 // #0 │ │ +01fe4c: 6e40 a700 0415 |0024: invoke-virtual {v4, v0, v5, v1}, Landroid/view/LayoutInflater;.inflate:(ILandroid/view/ViewGroup;Z)Landroid/view/View; // method@00a7 │ │ +01fe52: 0c04 |0027: move-result-object v4 │ │ +01fe54: 2205 d600 |0028: new-instance v5, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder; // type@00d6 │ │ +01fe58: 7010 d103 0500 |002a: invoke-direct {v5}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.:()V // method@03d1 │ │ +01fe5e: 7030 f203 5204 |002d: invoke-direct {v2, v5, v4}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.setupNewViewHolder:(Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;Landroid/view/View;)V // method@03f2 │ │ +01fe64: 6e20 b300 5400 |0030: invoke-virtual {v4, v5}, Landroid/view/View;.setTag:(Ljava/lang/Object;)V // method@00b3 │ │ +01fe6a: 5b53 8702 |0033: iput-object v3, v5, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.dnsServerConfigEntry:Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry; // field@0287 │ │ +01fe6e: 5450 8d02 |0035: iget-object v0, v5, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.protocolView:Landroid/widget/TextView; // field@028d │ │ +01fe72: 6e10 5004 0300 |0037: invoke-virtual {v3}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.getProtocol:()Ldnsfilter/android/dnsserverconfig/widget/DNSType; // method@0450 │ │ +01fe78: 0c01 |003a: move-result-object v1 │ │ +01fe7a: 6e10 3404 0100 |003b: invoke-virtual {v1}, Ldnsfilter/android/dnsserverconfig/widget/DNSType;.toString:()Ljava/lang/String; // method@0434 │ │ +01fe80: 0c01 |003e: move-result-object v1 │ │ +01fe82: 6e20 0901 1000 |003f: invoke-virtual {v0, v1}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@0109 │ │ +01fe88: 5450 8902 |0042: iget-object v0, v5, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.ipView:Landroid/widget/TextView; // field@0289 │ │ +01fe8c: 6e10 4c04 0300 |0044: invoke-virtual {v3}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.getIp:()Ljava/lang/String; // method@044c │ │ +01fe92: 0c01 |0047: move-result-object v1 │ │ +01fe94: 6e20 0901 1000 |0048: invoke-virtual {v0, v1}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@0109 │ │ +01fe9a: 5450 8b02 |004b: iget-object v0, v5, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.portView:Landroid/widget/TextView; // field@028b │ │ +01fe9e: 6e10 4f04 0300 |004d: invoke-virtual {v3}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.getPort:()Ljava/lang/String; // method@044f │ │ +01fea4: 0c01 |0050: move-result-object v1 │ │ +01fea6: 6e20 0901 1000 |0051: invoke-virtual {v0, v1}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@0109 │ │ +01feac: 5450 8a02 |0054: iget-object v0, v5, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.isActiveEntryCheckbox:Landroid/widget/CheckBox; // field@028a │ │ +01feb0: 2201 cb00 |0056: new-instance v1, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$$ExternalSyntheticLambda0; // type@00cb │ │ +01feb4: 7030 bd03 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@03bd │ │ +01feba: 6e20 cf00 1000 |005b: invoke-virtual {v0, v1}, Landroid/widget/CheckBox;.setOnCheckedChangeListener:(Landroid/widget/CompoundButton$OnCheckedChangeListener;)V // method@00cf │ │ +01fec0: 5450 8a02 |005e: iget-object v0, v5, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.isActiveEntryCheckbox:Landroid/widget/CheckBox; // field@028a │ │ +01fec4: 6e10 4d04 0300 |0060: invoke-virtual {v3}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.getIsActive:()Ljava/lang/Boolean; // method@044d │ │ +01feca: 0c01 |0063: move-result-object v1 │ │ +01fecc: 6e10 4b05 0100 |0064: invoke-virtual {v1}, Ljava/lang/Boolean;.booleanValue:()Z // method@054b │ │ +01fed2: 0a01 |0067: move-result v1 │ │ +01fed4: 6e20 cd00 1000 |0068: invoke-virtual {v0, v1}, Landroid/widget/CheckBox;.setChecked:(Z)V // method@00cd │ │ +01feda: 7110 d203 0500 |006b: invoke-static {v5}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.access$100:(Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;)V // method@03d2 │ │ +01fee0: 5450 8f02 |006e: iget-object v0, v5, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.testEntryButton:Landroid/widget/ImageButton; // field@028f │ │ +01fee4: 2201 d000 |0070: new-instance v1, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2; // type@00d0 │ │ +01fee8: 7030 c703 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@03c7 │ │ +01feee: 6e20 ea00 1000 |0075: invoke-virtual {v0, v1}, Landroid/widget/ImageButton;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@00ea │ │ +01fef4: 5450 9102 |0078: iget-object v0, v5, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.testEntryResultFailure:Landroid/widget/ImageButton; // field@0291 │ │ +01fef8: 2201 d100 |007a: new-instance v1, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$3; // type@00d1 │ │ +01fefc: 7040 c903 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@03c9 │ │ +01ff02: 6e20 ea00 1000 |007f: invoke-virtual {v0, v1}, Landroid/widget/ImageButton;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@00ea │ │ +01ff08: 5450 9202 |0082: iget-object v0, v5, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.testEntryResultSuccess:Landroid/widget/ImageButton; // field@0292 │ │ +01ff0c: 2201 d200 |0084: new-instance v1, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$4; // type@00d2 │ │ +01ff10: 7040 cb03 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@03cb │ │ +01ff16: 6e20 ea00 1000 |0089: invoke-virtual {v0, v1}, Landroid/widget/ImageButton;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@00ea │ │ +01ff1c: 5455 8e02 |008c: iget-object v5, v5, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.root:Landroid/widget/RelativeLayout; // field@028e │ │ +01ff20: 6e10 4d04 0300 |008e: invoke-virtual {v3}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.getIsActive:()Ljava/lang/Boolean; // method@044d │ │ +01ff26: 0c03 |0091: move-result-object v3 │ │ +01ff28: 6e10 4b05 0300 |0092: invoke-virtual {v3}, Ljava/lang/Boolean;.booleanValue:()Z // method@054b │ │ +01ff2e: 0a03 |0095: move-result v3 │ │ +01ff30: 6e20 f300 3500 |0096: invoke-virtual {v5, v3}, Landroid/widget/RelativeLayout;.setEnabled:(Z)V // method@00f3 │ │ +01ff36: 1104 |0099: return-object v4 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=162 │ │ 0x0008 line=166 │ │ 0x0011 line=174 │ │ 0x0018 line=167 │ │ 0x0028 line=169 │ │ @@ -50582,25 +50582,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 │ │ -0202d0: |[0202d0] 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 │ │ -0202e0: 7110 4f05 0300 |0000: invoke-static {v3}, Ljava/lang/Boolean;.valueOf:(Z)Ljava/lang/Boolean; // method@054f │ │ -0202e6: 0c02 |0003: move-result-object v2 │ │ -0202e8: 6e20 5604 2000 |0004: invoke-virtual {v0, v2}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.setIsActive:(Ljava/lang/Boolean;)V // method@0456 │ │ -0202ee: 5411 8e02 |0007: iget-object v1, v1, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.root:Landroid/widget/RelativeLayout; // field@028e │ │ -0202f2: 6e10 4d04 0000 |0009: invoke-virtual {v0}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.getIsActive:()Ljava/lang/Boolean; // method@044d │ │ -0202f8: 0c00 |000c: move-result-object v0 │ │ -0202fa: 6e10 4b05 0000 |000d: invoke-virtual {v0}, Ljava/lang/Boolean;.booleanValue:()Z // method@054b │ │ -020300: 0a00 |0010: move-result v0 │ │ -020302: 6e20 f300 0100 |0011: invoke-virtual {v1, v0}, Landroid/widget/RelativeLayout;.setEnabled:(Z)V // method@00f3 │ │ -020308: 0e00 |0014: return-void │ │ +0202cc: |[0202cc] 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 │ │ +0202dc: 7110 4f05 0300 |0000: invoke-static {v3}, Ljava/lang/Boolean;.valueOf:(Z)Ljava/lang/Boolean; // method@054f │ │ +0202e2: 0c02 |0003: move-result-object v2 │ │ +0202e4: 6e20 5604 2000 |0004: invoke-virtual {v0, v2}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.setIsActive:(Ljava/lang/Boolean;)V // method@0456 │ │ +0202ea: 5411 8e02 |0007: iget-object v1, v1, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.root:Landroid/widget/RelativeLayout; // field@028e │ │ +0202ee: 6e10 4d04 0000 |0009: invoke-virtual {v0}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.getIsActive:()Ljava/lang/Boolean; // method@044d │ │ +0202f4: 0c00 |000c: move-result-object v0 │ │ +0202f6: 6e10 4b05 0000 |000d: invoke-virtual {v0}, Ljava/lang/Boolean;.booleanValue:()Z // method@054b │ │ +0202fc: 0a00 |0010: move-result v0 │ │ +0202fe: 6e20 f300 0100 |0011: invoke-virtual {v1, v0}, Landroid/widget/RelativeLayout;.setEnabled:(Z)V // method@00f3 │ │ +020304: 0e00 |0014: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=184 │ │ 0x0007 line=185 │ │ locals : │ │ 0x0000 - 0x0015 reg=0 (null) Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry; │ │ 0x0000 - 0x0015 reg=1 (null) Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder; │ │ @@ -50612,17 +50612,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 │ │ -020354: |[020354] dnsfilter.android.dnsserverconfig.widget.DNSListAdapter.setupNewCommentHolder:(Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerCommentEntryViewHolder;Landroid/view/View;)V │ │ -020364: 7030 e003 1002 |0000: invoke-direct {v0, v1, v2}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.findCommentEntryViews:(Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerCommentEntryViewHolder;Landroid/view/View;)V // method@03e0 │ │ -02036a: 0e00 |0003: return-void │ │ +020350: |[020350] dnsfilter.android.dnsserverconfig.widget.DNSListAdapter.setupNewCommentHolder:(Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerCommentEntryViewHolder;Landroid/view/View;)V │ │ +020360: 7030 e003 1002 |0000: invoke-direct {v0, v1, v2}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.findCommentEntryViews:(Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerCommentEntryViewHolder;Landroid/view/View;)V // method@03e0 │ │ +020366: 0e00 |0003: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=261 │ │ 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; │ │ @@ -50632,21 +50632,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 │ │ -02036c: |[02036c] dnsfilter.android.dnsserverconfig.widget.DNSListAdapter.setupNewViewHolder:(Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;Landroid/view/View;)V │ │ -02037c: 7030 e103 2103 |0000: invoke-direct {v1, v2, v3}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.findEntryViews:(Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;Landroid/view/View;)V // method@03e1 │ │ -020382: 5423 8802 |0003: iget-object v3, v2, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.editEntryButton:Landroid/widget/ImageButton; // field@0288 │ │ -020386: 2200 d300 |0005: new-instance v0, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$5; // type@00d3 │ │ -02038a: 7030 cd03 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@03cd │ │ -020390: 6e20 ea00 0300 |000a: invoke-virtual {v3, v0}, Landroid/widget/ImageButton;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@00ea │ │ -020396: 0e00 |000d: return-void │ │ +020368: |[020368] dnsfilter.android.dnsserverconfig.widget.DNSListAdapter.setupNewViewHolder:(Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;Landroid/view/View;)V │ │ +020378: 7030 e103 2103 |0000: invoke-direct {v1, v2, v3}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.findEntryViews:(Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;Landroid/view/View;)V // method@03e1 │ │ +02037e: 5423 8802 |0003: iget-object v3, v2, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.editEntryButton:Landroid/widget/ImageButton; // field@0288 │ │ +020382: 2200 d300 |0005: new-instance v0, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$5; // type@00d3 │ │ +020386: 7030 cd03 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@03cd │ │ +02038c: 6e20 ea00 0300 |000a: invoke-virtual {v3, v0}, Landroid/widget/ImageButton;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@00ea │ │ +020392: 0e00 |000d: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=270 │ │ 0x0003 line=272 │ │ locals : │ │ 0x0000 - 0x000e reg=1 this Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter; │ │ 0x0000 - 0x000e reg=2 (null) Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder; │ │ @@ -50658,36 +50658,36 @@ │ │ type : '(Z)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 6 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 39 16-bit code units │ │ -020138: |[020138] dnsfilter.android.dnsserverconfig.widget.DNSListAdapter.changeCommentedLinesVisibility:(Z)V │ │ -020148: 1200 |0000: const/4 v0, #int 0 // #0 │ │ -02014a: 1201 |0001: const/4 v1, #int 0 // #0 │ │ -02014c: 6e10 e903 0400 |0002: invoke-virtual {v4}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.getObjectsCount:()I // method@03e9 │ │ -020152: 0a02 |0005: move-result v2 │ │ -020154: 3520 1b00 |0006: if-ge v0, v2, 0021 // +001b │ │ -020158: 6e20 e603 0400 |0008: invoke-virtual {v4, v0}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.getItem:(I)Ljava/lang/Object; // method@03e6 │ │ -02015e: 0c02 |000b: move-result-object v2 │ │ -020160: 1f02 e600 |000c: check-cast v2, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigBaseEntry; // type@00e6 │ │ -020164: 2023 e700 |000e: instance-of v3, v2, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigCommentedEntry; // type@00e7 │ │ -020168: 3803 0e00 |0010: if-eqz v3, 001e // +000e │ │ -02016c: 1f02 e700 |0012: check-cast v2, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigCommentedEntry; // type@00e7 │ │ -020170: 6e10 3d04 0200 |0014: invoke-virtual {v2}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigCommentedEntry;.isVisible:()Z // method@043d │ │ -020176: 0a03 |0017: move-result v3 │ │ -020178: 3253 0600 |0018: if-eq v3, v5, 001e // +0006 │ │ -02017c: 6e20 3f04 5200 |001a: invoke-virtual {v2, v5}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigCommentedEntry;.setVisible:(Z)V // method@043f │ │ -020182: 1211 |001d: const/4 v1, #int 1 // #1 │ │ -020184: d800 0001 |001e: add-int/lit8 v0, v0, #int 1 // #01 │ │ -020188: 28e2 |0020: goto 0002 // -001e │ │ -02018a: 3801 0500 |0021: if-eqz v1, 0026 // +0005 │ │ -02018e: 6e10 ec03 0400 |0023: invoke-virtual {v4}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.notifyDataSetChanged:()V // method@03ec │ │ -020194: 0e00 |0026: return-void │ │ +020134: |[020134] dnsfilter.android.dnsserverconfig.widget.DNSListAdapter.changeCommentedLinesVisibility:(Z)V │ │ +020144: 1200 |0000: const/4 v0, #int 0 // #0 │ │ +020146: 1201 |0001: const/4 v1, #int 0 // #0 │ │ +020148: 6e10 e903 0400 |0002: invoke-virtual {v4}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.getObjectsCount:()I // method@03e9 │ │ +02014e: 0a02 |0005: move-result v2 │ │ +020150: 3520 1b00 |0006: if-ge v0, v2, 0021 // +001b │ │ +020154: 6e20 e603 0400 |0008: invoke-virtual {v4, v0}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.getItem:(I)Ljava/lang/Object; // method@03e6 │ │ +02015a: 0c02 |000b: move-result-object v2 │ │ +02015c: 1f02 e600 |000c: check-cast v2, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigBaseEntry; // type@00e6 │ │ +020160: 2023 e700 |000e: instance-of v3, v2, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigCommentedEntry; // type@00e7 │ │ +020164: 3803 0e00 |0010: if-eqz v3, 001e // +000e │ │ +020168: 1f02 e700 |0012: check-cast v2, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigCommentedEntry; // type@00e7 │ │ +02016c: 6e10 3d04 0200 |0014: invoke-virtual {v2}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigCommentedEntry;.isVisible:()Z // method@043d │ │ +020172: 0a03 |0017: move-result v3 │ │ +020174: 3253 0600 |0018: if-eq v3, v5, 001e // +0006 │ │ +020178: 6e20 3f04 5200 |001a: invoke-virtual {v2, v5}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigCommentedEntry;.setVisible:(Z)V // method@043f │ │ +02017e: 1211 |001d: const/4 v1, #int 1 // #1 │ │ +020180: d800 0001 |001e: add-int/lit8 v0, v0, #int 1 // #01 │ │ +020184: 28e2 |0020: goto 0002 // -001e │ │ +020186: 3801 0500 |0021: if-eqz v1, 0026 // +0005 │ │ +02018a: 6e10 ec03 0400 |0023: invoke-virtual {v4}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.notifyDataSetChanged:()V // method@03ec │ │ +020190: 0e00 |0026: return-void │ │ catches : (none) │ │ positions : │ │ 0x0002 line=71 │ │ 0x0008 line=72 │ │ 0x000e line=73 │ │ 0x001a line=74 │ │ 0x0023 line=80 │ │ @@ -50700,19 +50700,19 @@ │ │ type : '()I' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 7 16-bit code units │ │ -01ffcc: |[01ffcc] dnsfilter.android.dnsserverconfig.widget.DNSListAdapter.getCount:()I │ │ -01ffdc: 6f10 c300 0100 |0000: invoke-super {v1}, Landroid/widget/ArrayAdapter;.getCount:()I // method@00c3 │ │ -01ffe2: 0a00 |0003: move-result v0 │ │ -01ffe4: d800 0001 |0004: add-int/lit8 v0, v0, #int 1 // #01 │ │ -01ffe8: 0f00 |0006: return v0 │ │ +01ffc8: |[01ffc8] dnsfilter.android.dnsserverconfig.widget.DNSListAdapter.getCount:()I │ │ +01ffd8: 6f10 c300 0100 |0000: invoke-super {v1}, Landroid/widget/ArrayAdapter;.getCount:()I // method@00c3 │ │ +01ffde: 0a00 |0003: move-result v0 │ │ +01ffe0: d800 0001 |0004: add-int/lit8 v0, v0, #int 1 // #01 │ │ +01ffe4: 0f00 |0006: return v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=86 │ │ locals : │ │ 0x0000 - 0x0007 reg=1 this Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter; │ │ │ │ #2 : (in Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;) │ │ @@ -50720,29 +50720,29 @@ │ │ type : '(I)I' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 4 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 21 16-bit code units │ │ -01ffec: |[01ffec] dnsfilter.android.dnsserverconfig.widget.DNSListAdapter.getItemViewType:(I)I │ │ -01fffc: 6f10 c300 0200 |0000: invoke-super {v2}, Landroid/widget/ArrayAdapter;.getCount:()I // method@00c3 │ │ -020002: 0a00 |0003: move-result v0 │ │ -020004: 1211 |0004: const/4 v1, #int 1 // #1 │ │ -020006: b110 |0005: sub-int/2addr v0, v1 │ │ -020008: 3703 0400 |0006: if-le v3, v0, 000a // +0004 │ │ -02000c: 1223 |0008: const/4 v3, #int 2 // #2 │ │ -02000e: 0f03 |0009: return v3 │ │ -020010: 6e20 e603 3200 |000a: invoke-virtual {v2, v3}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.getItem:(I)Ljava/lang/Object; // method@03e6 │ │ -020016: 0c03 |000d: move-result-object v3 │ │ -020018: 2033 e700 |000e: instance-of v3, v3, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigCommentedEntry; // type@00e7 │ │ -02001c: 3803 0300 |0010: if-eqz v3, 0013 // +0003 │ │ -020020: 0f01 |0012: return v1 │ │ -020022: 1203 |0013: const/4 v3, #int 0 // #0 │ │ -020024: 0f03 |0014: return v3 │ │ +01ffe8: |[01ffe8] dnsfilter.android.dnsserverconfig.widget.DNSListAdapter.getItemViewType:(I)I │ │ +01fff8: 6f10 c300 0200 |0000: invoke-super {v2}, Landroid/widget/ArrayAdapter;.getCount:()I // method@00c3 │ │ +01fffe: 0a00 |0003: move-result v0 │ │ +020000: 1211 |0004: const/4 v1, #int 1 // #1 │ │ +020002: b110 |0005: sub-int/2addr v0, v1 │ │ +020004: 3703 0400 |0006: if-le v3, v0, 000a // +0004 │ │ +020008: 1223 |0008: const/4 v3, #int 2 // #2 │ │ +02000a: 0f03 |0009: return v3 │ │ +02000c: 6e20 e603 3200 |000a: invoke-virtual {v2, v3}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.getItem:(I)Ljava/lang/Object; // method@03e6 │ │ +020012: 0c03 |000d: move-result-object v3 │ │ +020014: 2033 e700 |000e: instance-of v3, v3, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigCommentedEntry; // type@00e7 │ │ +020018: 3803 0300 |0010: if-eqz v3, 0013 // +0003 │ │ +02001c: 0f01 |0012: return v1 │ │ +02001e: 1203 |0013: const/4 v3, #int 0 // #0 │ │ +020020: 0f03 |0014: return v3 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=95 │ │ 0x000a line=97 │ │ locals : │ │ 0x0000 - 0x0015 reg=2 this Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter; │ │ 0x0000 - 0x0015 reg=3 (null) I │ │ @@ -50752,18 +50752,18 @@ │ │ type : '()I' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 5 16-bit code units │ │ -020028: |[020028] dnsfilter.android.dnsserverconfig.widget.DNSListAdapter.getObjectsCount:()I │ │ -020038: 6f10 c300 0100 |0000: invoke-super {v1}, Landroid/widget/ArrayAdapter;.getCount:()I // method@00c3 │ │ -02003e: 0a00 |0003: move-result v0 │ │ -020040: 0f00 |0004: return v0 │ │ +020024: |[020024] dnsfilter.android.dnsserverconfig.widget.DNSListAdapter.getObjectsCount:()I │ │ +020034: 6f10 c300 0100 |0000: invoke-super {v1}, Landroid/widget/ArrayAdapter;.getCount:()I // method@00c3 │ │ +02003a: 0a00 |0003: move-result v0 │ │ +02003c: 0f00 |0004: return v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=90 │ │ locals : │ │ 0x0000 - 0x0005 reg=1 this Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter; │ │ │ │ #4 : (in Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;) │ │ @@ -50771,32 +50771,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 │ │ -01ff3c: |[01ff3c] dnsfilter.android.dnsserverconfig.widget.DNSListAdapter.getView:(ILandroid/view/View;Landroid/view/ViewGroup;)Landroid/view/View; │ │ -01ff4c: 6e20 e803 3200 |0000: invoke-virtual {v2, v3}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.getItemViewType:(I)I // method@03e8 │ │ -01ff52: 0a00 |0003: move-result v0 │ │ -01ff54: 3800 1300 |0004: if-eqz v0, 0017 // +0013 │ │ -01ff58: 1211 |0006: const/4 v1, #int 1 // #1 │ │ -01ff5a: 3210 0b00 |0007: if-eq v0, v1, 0012 // +000b │ │ -01ff5e: 1223 |0009: const/4 v3, #int 2 // #2 │ │ -01ff60: 3230 0300 |000a: if-eq v0, v3, 000d // +0003 │ │ -01ff64: 280f |000c: goto 001b // +000f │ │ -01ff66: 7020 e203 5200 |000d: invoke-direct {v2, v5}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.getAddButton:(Landroid/view/ViewGroup;)Landroid/view/View; // method@03e2 │ │ -01ff6c: 0c04 |0010: move-result-object v4 │ │ -01ff6e: 280a |0011: goto 001b // +000a │ │ -01ff70: 7040 e303 3254 |0012: invoke-direct {v2, v3, v4, v5}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.getCommentView:(ILandroid/view/View;Landroid/view/ViewGroup;)Landroid/view/View; // method@03e3 │ │ -01ff76: 0c04 |0015: move-result-object v4 │ │ -01ff78: 2805 |0016: goto 001b // +0005 │ │ -01ff7a: 7040 e703 3254 |0017: invoke-direct {v2, v3, v4, v5}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.getItemView:(ILandroid/view/View;Landroid/view/ViewGroup;)Landroid/view/View; // method@03e7 │ │ -01ff80: 0c04 |001a: move-result-object v4 │ │ -01ff82: 1104 |001b: return-object v4 │ │ +01ff38: |[01ff38] dnsfilter.android.dnsserverconfig.widget.DNSListAdapter.getView:(ILandroid/view/View;Landroid/view/ViewGroup;)Landroid/view/View; │ │ +01ff48: 6e20 e803 3200 |0000: invoke-virtual {v2, v3}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.getItemViewType:(I)I // method@03e8 │ │ +01ff4e: 0a00 |0003: move-result v0 │ │ +01ff50: 3800 1300 |0004: if-eqz v0, 0017 // +0013 │ │ +01ff54: 1211 |0006: const/4 v1, #int 1 // #1 │ │ +01ff56: 3210 0b00 |0007: if-eq v0, v1, 0012 // +000b │ │ +01ff5a: 1223 |0009: const/4 v3, #int 2 // #2 │ │ +01ff5c: 3230 0300 |000a: if-eq v0, v3, 000d // +0003 │ │ +01ff60: 280f |000c: goto 001b // +000f │ │ +01ff62: 7020 e203 5200 |000d: invoke-direct {v2, v5}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.getAddButton:(Landroid/view/ViewGroup;)Landroid/view/View; // method@03e2 │ │ +01ff68: 0c04 |0010: move-result-object v4 │ │ +01ff6a: 280a |0011: goto 001b // +000a │ │ +01ff6c: 7040 e303 3254 |0012: invoke-direct {v2, v3, v4, v5}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.getCommentView:(ILandroid/view/View;Landroid/view/ViewGroup;)Landroid/view/View; // method@03e3 │ │ +01ff72: 0c04 |0015: move-result-object v4 │ │ +01ff74: 2805 |0016: goto 001b // +0005 │ │ +01ff76: 7040 e703 3254 |0017: invoke-direct {v2, v3, v4, v5}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.getItemView:(ILandroid/view/View;Landroid/view/ViewGroup;)Landroid/view/View; // method@03e7 │ │ +01ff7c: 0c04 |001a: move-result-object v4 │ │ +01ff7e: 1104 |001b: return-object v4 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=107 │ │ 0x000d line=109 │ │ 0x0012 line=112 │ │ 0x0017 line=115 │ │ locals : │ │ @@ -50810,17 +50810,17 @@ │ │ type : '()V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 1 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 4 16-bit code units │ │ -02030c: |[02030c] dnsfilter.android.dnsserverconfig.widget.DNSListAdapter.onApplyChanges:()V │ │ -02031c: 6e10 ec03 0000 |0000: invoke-virtual {v0}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.notifyDataSetChanged:()V // method@03ec │ │ -020322: 0e00 |0003: return-void │ │ +020308: |[020308] dnsfilter.android.dnsserverconfig.widget.DNSListAdapter.onApplyChanges:()V │ │ +020318: 6e10 ec03 0000 |0000: invoke-virtual {v0}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.notifyDataSetChanged:()V // method@03ec │ │ +02031e: 0e00 |0003: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=298 │ │ locals : │ │ 0x0000 - 0x0004 reg=0 this Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter; │ │ │ │ #6 : (in Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;) │ │ @@ -50828,17 +50828,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 │ │ -020324: |[020324] dnsfilter.android.dnsserverconfig.widget.DNSListAdapter.onDeleteItem:(Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;)V │ │ -020334: 6e20 f003 1000 |0000: invoke-virtual {v0, v1}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.remove:(Ljava/lang/Object;)V // method@03f0 │ │ -02033a: 0e00 |0003: return-void │ │ +020320: |[020320] dnsfilter.android.dnsserverconfig.widget.DNSListAdapter.onDeleteItem:(Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;)V │ │ +020330: 6e20 f003 1000 |0000: invoke-virtual {v0, v1}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.remove:(Ljava/lang/Object;)V // method@03f0 │ │ +020336: 0e00 |0003: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=308 │ │ locals : │ │ 0x0000 - 0x0004 reg=0 this Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter; │ │ 0x0000 - 0x0004 reg=1 (null) Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry; │ │ │ │ @@ -50847,17 +50847,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 │ │ -02033c: |[02033c] dnsfilter.android.dnsserverconfig.widget.DNSListAdapter.onNewCancelled:(Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;)V │ │ -02034c: 6e20 f003 1000 |0000: invoke-virtual {v0, v1}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.remove:(Ljava/lang/Object;)V // method@03f0 │ │ -020352: 0e00 |0003: return-void │ │ +020338: |[020338] dnsfilter.android.dnsserverconfig.widget.DNSListAdapter.onNewCancelled:(Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;)V │ │ +020348: 6e20 f003 1000 |0000: invoke-virtual {v0, v1}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.remove:(Ljava/lang/Object;)V // method@03f0 │ │ +02034e: 0e00 |0003: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=303 │ │ locals : │ │ 0x0000 - 0x0004 reg=0 this Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter; │ │ 0x0000 - 0x0004 reg=1 (null) Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry; │ │ │ │ @@ -50894,20 +50894,20 @@ │ │ type : '(Ljava/lang/String;)V' │ │ access : 0x10001 (PUBLIC CONSTRUCTOR) │ │ code - │ │ registers : 2 │ │ ins : 2 │ │ outs : 1 │ │ insns size : 9 16-bit code units │ │ -0213d0: |[0213d0] dnsfilter.android.dnsserverconfig.widget.listitem.DNSServerConfigCommentedEntry.:(Ljava/lang/String;)V │ │ -0213e0: 7010 3a04 0000 |0000: invoke-direct {v0}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigBaseEntry;.:()V // method@043a │ │ -0213e6: 5b01 c402 |0003: iput-object v1, v0, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigCommentedEntry;.comment:Ljava/lang/String; // field@02c4 │ │ -0213ea: 1211 |0005: const/4 v1, #int 1 // #1 │ │ -0213ec: 5c01 c502 |0006: iput-boolean v1, v0, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigCommentedEntry;.isVisible:Z // field@02c5 │ │ -0213f0: 0e00 |0008: return-void │ │ +0213cc: |[0213cc] dnsfilter.android.dnsserverconfig.widget.listitem.DNSServerConfigCommentedEntry.:(Ljava/lang/String;)V │ │ +0213dc: 7010 3a04 0000 |0000: invoke-direct {v0}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigBaseEntry;.:()V // method@043a │ │ +0213e2: 5b01 c402 |0003: iput-object v1, v0, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigCommentedEntry;.comment:Ljava/lang/String; // field@02c4 │ │ +0213e6: 1211 |0005: const/4 v1, #int 1 // #1 │ │ +0213e8: 5c01 c502 |0006: iput-boolean v1, v0, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigCommentedEntry;.isVisible:Z // field@02c5 │ │ +0213ec: 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; │ │ @@ -50919,17 +50919,17 @@ │ │ type : '()Ljava/lang/String;' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 0 │ │ insns size : 3 16-bit code units │ │ -021384: |[021384] dnsfilter.android.dnsserverconfig.widget.listitem.DNSServerConfigCommentedEntry.getComment:()Ljava/lang/String; │ │ -021394: 5410 c402 |0000: iget-object v0, v1, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigCommentedEntry;.comment:Ljava/lang/String; // field@02c4 │ │ -021398: 1100 |0002: return-object v0 │ │ +021380: |[021380] dnsfilter.android.dnsserverconfig.widget.listitem.DNSServerConfigCommentedEntry.getComment:()Ljava/lang/String; │ │ +021390: 5410 c402 |0000: iget-object v0, v1, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigCommentedEntry;.comment:Ljava/lang/String; // field@02c4 │ │ +021394: 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;) │ │ @@ -50937,17 +50937,17 @@ │ │ type : '()Z' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 0 │ │ insns size : 3 16-bit code units │ │ -02136c: |[02136c] dnsfilter.android.dnsserverconfig.widget.listitem.DNSServerConfigCommentedEntry.isVisible:()Z │ │ -02137c: 5510 c502 |0000: iget-boolean v0, v1, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigCommentedEntry;.isVisible:Z // field@02c5 │ │ -021380: 0f00 |0002: return v0 │ │ +021368: |[021368] dnsfilter.android.dnsserverconfig.widget.listitem.DNSServerConfigCommentedEntry.isVisible:()Z │ │ +021378: 5510 c502 |0000: iget-boolean v0, v1, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigCommentedEntry;.isVisible:Z // field@02c5 │ │ +02137c: 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;) │ │ @@ -50955,17 +50955,17 @@ │ │ type : '(Ljava/lang/String;)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 2 │ │ outs : 0 │ │ insns size : 3 16-bit code units │ │ -0213f4: |[0213f4] dnsfilter.android.dnsserverconfig.widget.listitem.DNSServerConfigCommentedEntry.setComment:(Ljava/lang/String;)V │ │ -021404: 5b01 c402 |0000: iput-object v1, v0, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigCommentedEntry;.comment:Ljava/lang/String; // field@02c4 │ │ -021408: 0e00 |0002: return-void │ │ +0213f0: |[0213f0] dnsfilter.android.dnsserverconfig.widget.listitem.DNSServerConfigCommentedEntry.setComment:(Ljava/lang/String;)V │ │ +021400: 5b01 c402 |0000: iput-object v1, v0, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigCommentedEntry;.comment:Ljava/lang/String; // field@02c4 │ │ +021404: 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; │ │ │ │ @@ -50974,17 +50974,17 @@ │ │ type : '(Z)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 2 │ │ outs : 0 │ │ insns size : 3 16-bit code units │ │ -02140c: |[02140c] dnsfilter.android.dnsserverconfig.widget.listitem.DNSServerConfigCommentedEntry.setVisible:(Z)V │ │ -02141c: 5c01 c502 |0000: iput-boolean v1, v0, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigCommentedEntry;.isVisible:Z // field@02c5 │ │ -021420: 0e00 |0002: return-void │ │ +021408: |[021408] dnsfilter.android.dnsserverconfig.widget.listitem.DNSServerConfigCommentedEntry.setVisible:(Z)V │ │ +021418: 5c01 c502 |0000: iput-boolean v1, v0, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigCommentedEntry;.isVisible:Z // field@02c5 │ │ +02141c: 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 │ │ │ │ @@ -50993,23 +50993,23 @@ │ │ type : '()Ljava/lang/String;' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 3 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 17 16-bit code units │ │ -02139c: |[02139c] dnsfilter.android.dnsserverconfig.widget.listitem.DNSServerConfigCommentedEntry.toString:()Ljava/lang/String; │ │ -0213ac: 2200 2d01 |0000: new-instance v0, Ljava/lang/StringBuilder; // type@012d │ │ -0213b0: 1a01 3000 |0002: const-string v1, "#" // string@0030 │ │ -0213b4: 7020 aa05 1000 |0004: invoke-direct {v0, v1}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05aa │ │ -0213ba: 5421 c402 |0007: iget-object v1, v2, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigCommentedEntry;.comment:Ljava/lang/String; // field@02c4 │ │ -0213be: 6e20 af05 1000 |0009: invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -0213c4: 6e10 b105 0000 |000c: invoke-virtual {v0}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ -0213ca: 0c00 |000f: move-result-object v0 │ │ -0213cc: 1100 |0010: return-object v0 │ │ +021398: |[021398] dnsfilter.android.dnsserverconfig.widget.listitem.DNSServerConfigCommentedEntry.toString:()Ljava/lang/String; │ │ +0213a8: 2200 2d01 |0000: new-instance v0, Ljava/lang/StringBuilder; // type@012d │ │ +0213ac: 1a01 3000 |0002: const-string v1, "#" // string@0030 │ │ +0213b0: 7020 aa05 1000 |0004: invoke-direct {v0, v1}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05aa │ │ +0213b6: 5421 c402 |0007: iget-object v1, v2, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigCommentedEntry;.comment:Ljava/lang/String; // field@02c4 │ │ +0213ba: 6e20 af05 1000 |0009: invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +0213c0: 6e10 b105 0000 |000c: invoke-virtual {v0}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ +0213c6: 0c00 |000f: move-result-object v0 │ │ +0213c8: 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 : 335 (DNSServerConfigCommentedEntry.java) │ │ @@ -51120,24 +51120,24 @@ │ │ type : '()V' │ │ access : 0x10008 (STATIC CONSTRUCTOR) │ │ code - │ │ registers : 1 │ │ ins : 0 │ │ outs : 1 │ │ insns size : 15 16-bit code units │ │ -021768: |[021768] dnsfilter.android.dnsserverconfig.widget.listitem.DNSServerConfigEntry.:()V │ │ -021778: 1200 |0000: const/4 v0, #int 0 // #0 │ │ -02177a: 7110 5105 0000 |0001: invoke-static {v0}, Ljava/lang/Byte;.valueOf:(B)Ljava/lang/Byte; // method@0551 │ │ -021780: 0c00 |0004: move-result-object v0 │ │ -021782: 6900 c702 |0005: sput-object v0, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.DEFAULT_DNS_SELECTION:Ljava/lang/Byte; // field@02c7 │ │ -021786: 1210 |0007: const/4 v0, #int 1 // #1 │ │ -021788: 7110 4f05 0000 |0008: invoke-static {v0}, Ljava/lang/Boolean;.valueOf:(Z)Ljava/lang/Boolean; // method@054f │ │ -02178e: 0c00 |000b: move-result-object v0 │ │ -021790: 6900 ca02 |000c: sput-object v0, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.DEFAULT_IS_ACTIVE:Ljava/lang/Boolean; // field@02ca │ │ -021794: 0e00 |000e: return-void │ │ +021764: |[021764] dnsfilter.android.dnsserverconfig.widget.listitem.DNSServerConfigEntry.:()V │ │ +021774: 1200 |0000: const/4 v0, #int 0 // #0 │ │ +021776: 7110 5105 0000 |0001: invoke-static {v0}, Ljava/lang/Byte;.valueOf:(B)Ljava/lang/Byte; // method@0551 │ │ +02177c: 0c00 |0004: move-result-object v0 │ │ +02177e: 6900 c702 |0005: sput-object v0, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.DEFAULT_DNS_SELECTION:Ljava/lang/Byte; // field@02c7 │ │ +021782: 1210 |0007: const/4 v0, #int 1 // #1 │ │ +021784: 7110 4f05 0000 |0008: invoke-static {v0}, Ljava/lang/Boolean;.valueOf:(Z)Ljava/lang/Boolean; // method@054f │ │ +02178a: 0c00 |000b: move-result-object v0 │ │ +02178c: 6900 ca02 |000c: sput-object v0, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.DEFAULT_IS_ACTIVE:Ljava/lang/Boolean; // field@02ca │ │ +021790: 0e00 |000e: return-void │ │ catches : (none) │ │ positions : │ │ 0x0001 line=11 │ │ 0x0008 line=14 │ │ locals : │ │ │ │ #1 : (in Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;) │ │ @@ -51145,24 +51145,24 @@ │ │ type : '()V' │ │ access : 0x10001 (PUBLIC CONSTRUCTOR) │ │ code - │ │ registers : 7 │ │ ins : 1 │ │ outs : 6 │ │ insns size : 17 16-bit code units │ │ -021798: |[021798] dnsfilter.android.dnsserverconfig.widget.listitem.DNSServerConfigEntry.:()V │ │ -0217a8: 7100 4904 0000 |0000: invoke-static {}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.getDefaultDNSType:()Ldnsfilter/android/dnsserverconfig/widget/DNSType; // method@0449 │ │ -0217ae: 0c03 |0003: move-result-object v3 │ │ -0217b0: 1a04 0000 |0004: const-string v4, "" // string@0000 │ │ -0217b4: 6205 ca02 |0006: sget-object v5, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.DEFAULT_IS_ACTIVE:Ljava/lang/Boolean; // field@02ca │ │ -0217b8: 1a01 0000 |0008: const-string v1, "" // string@0000 │ │ -0217bc: 1a02 7c00 |000a: const-string v2, "53" // string@007c │ │ -0217c0: 0760 |000c: move-object v0, v6 │ │ -0217c2: 7606 4304 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@0443 │ │ -0217c8: 0e00 |0010: return-void │ │ +021794: |[021794] dnsfilter.android.dnsserverconfig.widget.listitem.DNSServerConfigEntry.:()V │ │ +0217a4: 7100 4904 0000 |0000: invoke-static {}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.getDefaultDNSType:()Ldnsfilter/android/dnsserverconfig/widget/DNSType; // method@0449 │ │ +0217aa: 0c03 |0003: move-result-object v3 │ │ +0217ac: 1a04 0000 |0004: const-string v4, "" // string@0000 │ │ +0217b0: 6205 ca02 |0006: sget-object v5, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.DEFAULT_IS_ACTIVE:Ljava/lang/Boolean; // field@02ca │ │ +0217b4: 1a01 0000 |0008: const-string v1, "" // string@0000 │ │ +0217b8: 1a02 7c00 |000a: const-string v2, "53" // string@007c │ │ +0217bc: 0760 |000c: move-object v0, v6 │ │ +0217be: 7606 4304 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@0443 │ │ +0217c4: 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;) │ │ @@ -51170,34 +51170,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 │ │ -021860: |[021860] dnsfilter.android.dnsserverconfig.widget.listitem.DNSServerConfigEntry.:(Ljava/lang/String;Ljava/lang/String;Ldnsfilter/android/dnsserverconfig/widget/DNSType;Ljava/lang/String;Ljava/lang/Boolean;)V │ │ -021870: 7010 3a04 0000 |0000: invoke-direct {v0}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigBaseEntry;.:()V // method@043a │ │ -021876: 6e10 a205 0100 |0003: invoke-virtual {v1}, Ljava/lang/String;.trim:()Ljava/lang/String; // method@05a2 │ │ -02187c: 0c01 |0006: move-result-object v1 │ │ -02187e: 5b01 d202 |0007: iput-object v1, v0, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.ip:Ljava/lang/String; // field@02d2 │ │ -021882: 6e10 a205 0200 |0009: invoke-virtual {v2}, Ljava/lang/String;.trim:()Ljava/lang/String; // method@05a2 │ │ -021888: 0c01 |000c: move-result-object v1 │ │ -02188a: 5b01 d402 |000d: iput-object v1, v0, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.port:Ljava/lang/String; // field@02d4 │ │ -02188e: 5b03 d502 |000f: iput-object v3, v0, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.protocol:Ldnsfilter/android/dnsserverconfig/widget/DNSType; // field@02d5 │ │ -021892: 6e10 a205 0400 |0011: invoke-virtual {v4}, Ljava/lang/String;.trim:()Ljava/lang/String; // method@05a2 │ │ -021898: 0c01 |0014: move-result-object v1 │ │ -02189a: 5b01 d102 |0015: iput-object v1, v0, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.endpoint:Ljava/lang/String; // field@02d1 │ │ -02189e: 5b05 d302 |0017: iput-object v5, v0, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.isActive:Ljava/lang/Boolean; // field@02d3 │ │ -0218a2: 2201 e300 |0019: new-instance v1, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult; // type@00e3 │ │ -0218a6: 7010 2204 0100 |001b: invoke-direct {v1}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult;.:()V // method@0422 │ │ -0218ac: 5b01 d602 |001e: iput-object v1, v0, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.testResult:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult; // field@02d6 │ │ -0218b0: 2201 da00 |0020: new-instance v1, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult; // type@00da │ │ -0218b4: 7010 fe03 0100 |0022: invoke-direct {v1}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult;.:()V // method@03fe │ │ -0218ba: 5b01 d702 |0025: iput-object v1, v0, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.validationResult:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult; // field@02d7 │ │ -0218be: 0e00 |0027: return-void │ │ +02185c: |[02185c] dnsfilter.android.dnsserverconfig.widget.listitem.DNSServerConfigEntry.:(Ljava/lang/String;Ljava/lang/String;Ldnsfilter/android/dnsserverconfig/widget/DNSType;Ljava/lang/String;Ljava/lang/Boolean;)V │ │ +02186c: 7010 3a04 0000 |0000: invoke-direct {v0}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigBaseEntry;.:()V // method@043a │ │ +021872: 6e10 a205 0100 |0003: invoke-virtual {v1}, Ljava/lang/String;.trim:()Ljava/lang/String; // method@05a2 │ │ +021878: 0c01 |0006: move-result-object v1 │ │ +02187a: 5b01 d202 |0007: iput-object v1, v0, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.ip:Ljava/lang/String; // field@02d2 │ │ +02187e: 6e10 a205 0200 |0009: invoke-virtual {v2}, Ljava/lang/String;.trim:()Ljava/lang/String; // method@05a2 │ │ +021884: 0c01 |000c: move-result-object v1 │ │ +021886: 5b01 d402 |000d: iput-object v1, v0, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.port:Ljava/lang/String; // field@02d4 │ │ +02188a: 5b03 d502 |000f: iput-object v3, v0, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.protocol:Ldnsfilter/android/dnsserverconfig/widget/DNSType; // field@02d5 │ │ +02188e: 6e10 a205 0400 |0011: invoke-virtual {v4}, Ljava/lang/String;.trim:()Ljava/lang/String; // method@05a2 │ │ +021894: 0c01 |0014: move-result-object v1 │ │ +021896: 5b01 d102 |0015: iput-object v1, v0, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.endpoint:Ljava/lang/String; // field@02d1 │ │ +02189a: 5b05 d302 |0017: iput-object v5, v0, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.isActive:Ljava/lang/Boolean; // field@02d3 │ │ +02189e: 2201 e300 |0019: new-instance v1, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult; // type@00e3 │ │ +0218a2: 7010 2204 0100 |001b: invoke-direct {v1}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult;.:()V // method@0422 │ │ +0218a8: 5b01 d602 |001e: iput-object v1, v0, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.testResult:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult; // field@02d6 │ │ +0218ac: 2201 da00 |0020: new-instance v1, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult; // type@00da │ │ +0218b0: 7010 fe03 0100 |0022: invoke-direct {v1}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult;.:()V // method@03fe │ │ +0218b6: 5b01 d702 |0025: iput-object v1, v0, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.validationResult:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult; // field@02d7 │ │ +0218ba: 0e00 |0027: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=67 │ │ 0x0003 line=68 │ │ 0x0009 line=69 │ │ 0x000f line=70 │ │ 0x0011 line=71 │ │ @@ -51217,24 +51217,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 │ │ -021834: |[021834] dnsfilter.android.dnsserverconfig.widget.listitem.DNSServerConfigEntry.:(Ljava/lang/String;Ljava/lang/String;Ldnsfilter/android/dnsserverconfig/widget/DNSType;Z)V │ │ -021844: 1a04 0000 |0000: const-string v4, "" // string@0000 │ │ -021848: 7110 4f05 0a00 |0002: invoke-static {v10}, Ljava/lang/Boolean;.valueOf:(Z)Ljava/lang/Boolean; // method@054f │ │ -02184e: 0c05 |0005: move-result-object v5 │ │ -021850: 0760 |0006: move-object v0, v6 │ │ -021852: 0771 |0007: move-object v1, v7 │ │ -021854: 0782 |0008: move-object v2, v8 │ │ -021856: 0793 |0009: move-object v3, v9 │ │ -021858: 7606 4304 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@0443 │ │ -02185e: 0e00 |000d: return-void │ │ +021830: |[021830] dnsfilter.android.dnsserverconfig.widget.listitem.DNSServerConfigEntry.:(Ljava/lang/String;Ljava/lang/String;Ldnsfilter/android/dnsserverconfig/widget/DNSType;Z)V │ │ +021840: 1a04 0000 |0000: const-string v4, "" // string@0000 │ │ +021844: 7110 4f05 0a00 |0002: invoke-static {v10}, Ljava/lang/Boolean;.valueOf:(Z)Ljava/lang/Boolean; // method@054f │ │ +02184a: 0c05 |0005: move-result-object v5 │ │ +02184c: 0760 |0006: move-object v0, v6 │ │ +02184e: 0771 |0007: move-object v1, v7 │ │ +021850: 0782 |0008: move-object v2, v8 │ │ +021852: 0793 |0009: move-object v3, v9 │ │ +021854: 7606 4304 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@0443 │ │ +02185a: 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; │ │ @@ -51246,25 +51246,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 │ │ -021800: |[021800] dnsfilter.android.dnsserverconfig.widget.listitem.DNSServerConfigEntry.:(Ljava/lang/String;Ljava/lang/String;Z)V │ │ -021810: 7100 4904 0000 |0000: invoke-static {}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.getDefaultDNSType:()Ldnsfilter/android/dnsserverconfig/widget/DNSType; // method@0449 │ │ -021816: 0c03 |0003: move-result-object v3 │ │ -021818: 1a04 0000 |0004: const-string v4, "" // string@0000 │ │ -02181c: 7110 4f05 0900 |0006: invoke-static {v9}, Ljava/lang/Boolean;.valueOf:(Z)Ljava/lang/Boolean; // method@054f │ │ -021822: 0c05 |0009: move-result-object v5 │ │ -021824: 0760 |000a: move-object v0, v6 │ │ -021826: 0771 |000b: move-object v1, v7 │ │ -021828: 0782 |000c: move-object v2, v8 │ │ -02182a: 7606 4304 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@0443 │ │ -021830: 0e00 |0010: return-void │ │ +0217fc: |[0217fc] dnsfilter.android.dnsserverconfig.widget.listitem.DNSServerConfigEntry.:(Ljava/lang/String;Ljava/lang/String;Z)V │ │ +02180c: 7100 4904 0000 |0000: invoke-static {}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.getDefaultDNSType:()Ldnsfilter/android/dnsserverconfig/widget/DNSType; // method@0449 │ │ +021812: 0c03 |0003: move-result-object v3 │ │ +021814: 1a04 0000 |0004: const-string v4, "" // string@0000 │ │ +021818: 7110 4f05 0900 |0006: invoke-static {v9}, Ljava/lang/Boolean;.valueOf:(Z)Ljava/lang/Boolean; // method@054f │ │ +02181e: 0c05 |0009: move-result-object v5 │ │ +021820: 0760 |000a: move-object v0, v6 │ │ +021822: 0771 |000b: move-object v1, v7 │ │ +021824: 0782 |000c: move-object v2, v8 │ │ +021826: 7606 4304 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@0443 │ │ +02182c: 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; │ │ @@ -51275,25 +51275,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 │ │ -0217cc: |[0217cc] dnsfilter.android.dnsserverconfig.widget.listitem.DNSServerConfigEntry.:(Ljava/lang/String;Z)V │ │ -0217dc: 7100 4904 0000 |0000: invoke-static {}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.getDefaultDNSType:()Ldnsfilter/android/dnsserverconfig/widget/DNSType; // method@0449 │ │ -0217e2: 0c03 |0003: move-result-object v3 │ │ -0217e4: 1a04 0000 |0004: const-string v4, "" // string@0000 │ │ -0217e8: 7110 4f05 0800 |0006: invoke-static {v8}, Ljava/lang/Boolean;.valueOf:(Z)Ljava/lang/Boolean; // method@054f │ │ -0217ee: 0c05 |0009: move-result-object v5 │ │ -0217f0: 1a02 7c00 |000a: const-string v2, "53" // string@007c │ │ -0217f4: 0760 |000c: move-object v0, v6 │ │ -0217f6: 0771 |000d: move-object v1, v7 │ │ -0217f8: 7606 4304 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@0443 │ │ -0217fe: 0e00 |0011: return-void │ │ +0217c8: |[0217c8] dnsfilter.android.dnsserverconfig.widget.listitem.DNSServerConfigEntry.:(Ljava/lang/String;Z)V │ │ +0217d8: 7100 4904 0000 |0000: invoke-static {}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.getDefaultDNSType:()Ldnsfilter/android/dnsserverconfig/widget/DNSType; // method@0449 │ │ +0217de: 0c03 |0003: move-result-object v3 │ │ +0217e0: 1a04 0000 |0004: const-string v4, "" // string@0000 │ │ +0217e4: 7110 4f05 0800 |0006: invoke-static {v8}, Ljava/lang/Boolean;.valueOf:(Z)Ljava/lang/Boolean; // method@054f │ │ +0217ea: 0c05 |0009: move-result-object v5 │ │ +0217ec: 1a02 7c00 |000a: const-string v2, "53" // string@007c │ │ +0217f0: 0760 |000c: move-object v0, v6 │ │ +0217f2: 0771 |000d: move-object v1, v7 │ │ +0217f4: 7606 4304 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@0443 │ │ +0217fa: 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 │ │ @@ -51303,24 +51303,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 │ │ -0215f0: |[0215f0] dnsfilter.android.dnsserverconfig.widget.listitem.DNSServerConfigEntry.getBracedIP:(Ljava/lang/String;)Ljava/lang/String; │ │ -021600: 2200 2d01 |0000: new-instance v0, Ljava/lang/StringBuilder; // type@012d │ │ -021604: 1a01 f004 |0002: const-string v1, "[" // string@04f0 │ │ -021608: 7020 aa05 1000 |0004: invoke-direct {v0, v1}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05aa │ │ -02160e: 6e20 af05 2000 |0007: invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -021614: 1a02 0e05 |000a: const-string v2, "]" // string@050e │ │ -021618: 6e20 af05 2000 |000c: invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -02161e: 6e10 b105 0000 |000f: invoke-virtual {v0}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ -021624: 0c02 |0012: move-result-object v2 │ │ -021626: 1102 |0013: return-object v2 │ │ +0215ec: |[0215ec] dnsfilter.android.dnsserverconfig.widget.listitem.DNSServerConfigEntry.getBracedIP:(Ljava/lang/String;)Ljava/lang/String; │ │ +0215fc: 2200 2d01 |0000: new-instance v0, Ljava/lang/StringBuilder; // type@012d │ │ +021600: 1a01 f004 |0002: const-string v1, "[" // string@04f0 │ │ +021604: 7020 aa05 1000 |0004: invoke-direct {v0, v1}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05aa │ │ +02160a: 6e20 af05 2000 |0007: invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +021610: 1a02 0e05 |000a: const-string v2, "]" // string@050e │ │ +021614: 6e20 af05 2000 |000c: invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +02161a: 6e10 b105 0000 |000f: invoke-virtual {v0}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ +021620: 0c02 |0012: move-result-object v2 │ │ +021622: 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;) │ │ @@ -51328,51 +51328,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 │ │ -021518: |[021518] dnsfilter.android.dnsserverconfig.widget.listitem.DNSServerConfigEntry.getDefaultDNSType:()Ldnsfilter/android/dnsserverconfig/widget/DNSType; │ │ -021528: 7100 3604 0000 |0000: invoke-static {}, Ldnsfilter/android/dnsserverconfig/widget/DNSType;.values:()[Ldnsfilter/android/dnsserverconfig/widget/DNSType; // method@0436 │ │ -02152e: 0c00 |0003: move-result-object v0 │ │ -021530: 6201 c702 |0004: sget-object v1, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.DEFAULT_DNS_SELECTION:Ljava/lang/Byte; // field@02c7 │ │ -021534: 6e10 5005 0100 |0006: invoke-virtual {v1}, Ljava/lang/Byte;.byteValue:()B // method@0550 │ │ -02153a: 0a01 |0009: move-result v1 │ │ -02153c: 4600 0001 |000a: aget-object v0, v0, v1 │ │ -021540: 1100 |000c: return-object v0 │ │ +021514: |[021514] dnsfilter.android.dnsserverconfig.widget.listitem.DNSServerConfigEntry.getDefaultDNSType:()Ldnsfilter/android/dnsserverconfig/widget/DNSType; │ │ +021524: 7100 3604 0000 |0000: invoke-static {}, Ldnsfilter/android/dnsserverconfig/widget/DNSType;.values:()[Ldnsfilter/android/dnsserverconfig/widget/DNSType; // method@0436 │ │ +02152a: 0c00 |0003: move-result-object v0 │ │ +02152c: 6201 c702 |0004: sget-object v1, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.DEFAULT_DNS_SELECTION:Ljava/lang/Byte; // field@02c7 │ │ +021530: 6e10 5005 0100 |0006: invoke-virtual {v1}, Ljava/lang/Byte;.byteValue:()B // method@0550 │ │ +021536: 0a01 |0009: move-result v1 │ │ +021538: 4600 0001 |000a: aget-object v0, v0, v1 │ │ +02153c: 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 │ │ -021640: |[021640] dnsfilter.android.dnsserverconfig.widget.listitem.DNSServerConfigEntry.getEndpointAsString:(Ljava/lang/String;)Ljava/lang/String; │ │ -021650: 3802 1800 |0000: if-eqz v2, 0018 // +0018 │ │ -021654: 6e10 9305 0200 |0002: invoke-virtual {v2}, Ljava/lang/String;.isEmpty:()Z // method@0593 │ │ -02165a: 0a00 |0005: move-result v0 │ │ -02165c: 3800 0300 |0006: if-eqz v0, 0009 // +0003 │ │ -021660: 2810 |0008: goto 0018 // +0010 │ │ -021662: 2200 2d01 |0009: new-instance v0, Ljava/lang/StringBuilder; // type@012d │ │ -021666: 1a01 8500 |000b: const-string v1, "::" // string@0085 │ │ -02166a: 7020 aa05 1000 |000d: invoke-direct {v0, v1}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05aa │ │ -021670: 6e20 af05 2000 |0010: invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -021676: 6e10 b105 0000 |0013: invoke-virtual {v0}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ -02167c: 0c02 |0016: move-result-object v2 │ │ -02167e: 1102 |0017: return-object v2 │ │ -021680: 1a02 0000 |0018: const-string v2, "" // string@0000 │ │ -021684: 1102 |001a: return-object v2 │ │ +02163c: |[02163c] dnsfilter.android.dnsserverconfig.widget.listitem.DNSServerConfigEntry.getEndpointAsString:(Ljava/lang/String;)Ljava/lang/String; │ │ +02164c: 3802 1800 |0000: if-eqz v2, 0018 // +0018 │ │ +021650: 6e10 9305 0200 |0002: invoke-virtual {v2}, Ljava/lang/String;.isEmpty:()Z // method@0593 │ │ +021656: 0a00 |0005: move-result v0 │ │ +021658: 3800 0300 |0006: if-eqz v0, 0009 // +0003 │ │ +02165c: 2810 |0008: goto 0018 // +0010 │ │ +02165e: 2200 2d01 |0009: new-instance v0, Ljava/lang/StringBuilder; // type@012d │ │ +021662: 1a01 8500 |000b: const-string v1, "::" // string@0085 │ │ +021666: 7020 aa05 1000 |000d: invoke-direct {v0, v1}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05aa │ │ +02166c: 6e20 af05 2000 |0010: invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +021672: 6e10 b105 0000 |0013: invoke-virtual {v0}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ +021678: 0c02 |0016: move-result-object v2 │ │ +02167a: 1102 |0017: return-object v2 │ │ +02167c: 1a02 0000 |0018: const-string v2, "" // string@0000 │ │ +021680: 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; │ │ @@ -51382,20 +51382,20 @@ │ │ type : '(Z)Ljava/lang/String;' │ │ access : 0x0009 (PUBLIC STATIC) │ │ code - │ │ registers : 1 │ │ ins : 1 │ │ outs : 0 │ │ insns size : 8 16-bit code units │ │ -0216a0: |[0216a0] dnsfilter.android.dnsserverconfig.widget.listitem.DNSServerConfigEntry.getIsActiveAsString:(Z)Ljava/lang/String; │ │ -0216b0: 3800 0500 |0000: if-eqz v0, 0005 // +0005 │ │ -0216b4: 1a00 0000 |0002: const-string v0, "" // string@0000 │ │ -0216b8: 1100 |0004: return-object v0 │ │ -0216ba: 1a00 b10b |0005: const-string v0, "~" // string@0bb1 │ │ -0216be: 1100 |0007: return-object v0 │ │ +02169c: |[02169c] dnsfilter.android.dnsserverconfig.widget.listitem.DNSServerConfigEntry.getIsActiveAsString:(Z)Ljava/lang/String; │ │ +0216ac: 3800 0500 |0000: if-eqz v0, 0005 // +0005 │ │ +0216b0: 1a00 0000 |0002: const-string v0, "" // string@0000 │ │ +0216b4: 1100 |0004: return-object v0 │ │ +0216b6: 1a00 b10b |0005: const-string v0, "~" // string@0bb1 │ │ +0216ba: 1100 |0007: return-object v0 │ │ catches : (none) │ │ positions : │ │ 0x0002 line=172 │ │ 0x0005 line=174 │ │ locals : │ │ 0x0000 - 0x0008 reg=0 (null) Z │ │ │ │ @@ -51405,64 +51405,64 @@ │ │ type : '(Ljava/lang/Object;)Z' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 6 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 90 16-bit code units │ │ -021424: |[021424] dnsfilter.android.dnsserverconfig.widget.listitem.DNSServerConfigEntry.equals:(Ljava/lang/Object;)Z │ │ -021434: 1210 |0000: const/4 v0, #int 1 // #1 │ │ -021436: 3354 0300 |0001: if-ne v4, v5, 0004 // +0003 │ │ -02143a: 0f00 |0003: return v0 │ │ -02143c: 1201 |0004: const/4 v1, #int 0 // #0 │ │ -02143e: 3805 5400 |0005: if-eqz v5, 0059 // +0054 │ │ -021442: 6e10 7705 0400 |0007: invoke-virtual {v4}, Ljava/lang/Object;.getClass:()Ljava/lang/Class; // method@0577 │ │ -021448: 0c02 |000a: move-result-object v2 │ │ -02144a: 6e10 7705 0500 |000b: invoke-virtual {v5}, Ljava/lang/Object;.getClass:()Ljava/lang/Class; // method@0577 │ │ -021450: 0c03 |000e: move-result-object v3 │ │ -021452: 3232 0300 |000f: if-eq v2, v3, 0012 // +0003 │ │ -021456: 2848 |0011: goto 0059 // +0048 │ │ -021458: 1f05 e800 |0012: check-cast v5, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry; // type@00e8 │ │ -02145c: 5442 d202 |0014: iget-object v2, v4, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.ip:Ljava/lang/String; // field@02d2 │ │ -021460: 5453 d202 |0016: iget-object v3, v5, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.ip:Ljava/lang/String; // field@02d2 │ │ -021464: 6e20 8d05 3200 |0018: invoke-virtual {v2, v3}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058d │ │ -02146a: 0a02 |001b: move-result v2 │ │ -02146c: 3802 3b00 |001c: if-eqz v2, 0057 // +003b │ │ -021470: 5442 d402 |001e: iget-object v2, v4, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.port:Ljava/lang/String; // field@02d4 │ │ -021474: 5453 d402 |0020: iget-object v3, v5, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.port:Ljava/lang/String; // field@02d4 │ │ -021478: 6e20 8d05 3200 |0022: invoke-virtual {v2, v3}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058d │ │ -02147e: 0a02 |0025: move-result v2 │ │ -021480: 3802 3100 |0026: if-eqz v2, 0057 // +0031 │ │ -021484: 5442 d502 |0028: iget-object v2, v4, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.protocol:Ldnsfilter/android/dnsserverconfig/widget/DNSType; // field@02d5 │ │ -021488: 5453 d502 |002a: iget-object v3, v5, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.protocol:Ldnsfilter/android/dnsserverconfig/widget/DNSType; // field@02d5 │ │ -02148c: 3332 2b00 |002c: if-ne v2, v3, 0057 // +002b │ │ -021490: 5442 d102 |002e: iget-object v2, v4, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.endpoint:Ljava/lang/String; // field@02d1 │ │ -021494: 5453 d102 |0030: iget-object v3, v5, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.endpoint:Ljava/lang/String; // field@02d1 │ │ -021498: 6e20 8d05 3200 |0032: invoke-virtual {v2, v3}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058d │ │ -02149e: 0a02 |0035: move-result v2 │ │ -0214a0: 3802 2100 |0036: if-eqz v2, 0057 // +0021 │ │ -0214a4: 5442 d302 |0038: iget-object v2, v4, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.isActive:Ljava/lang/Boolean; // field@02d3 │ │ -0214a8: 5453 d302 |003a: iget-object v3, v5, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.isActive:Ljava/lang/Boolean; // field@02d3 │ │ -0214ac: 6e20 4c05 3200 |003c: invoke-virtual {v2, v3}, Ljava/lang/Boolean;.equals:(Ljava/lang/Object;)Z // method@054c │ │ -0214b2: 0a02 |003f: move-result v2 │ │ -0214b4: 3802 1700 |0040: if-eqz v2, 0057 // +0017 │ │ -0214b8: 5442 d602 |0042: iget-object v2, v4, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.testResult:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult; // field@02d6 │ │ -0214bc: 5453 d602 |0044: iget-object v3, v5, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.testResult:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult; // field@02d6 │ │ -0214c0: 6e20 2804 3200 |0046: invoke-virtual {v2, v3}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult;.equals:(Ljava/lang/Object;)Z // method@0428 │ │ -0214c6: 0a02 |0049: move-result v2 │ │ -0214c8: 3802 0d00 |004a: if-eqz v2, 0057 // +000d │ │ -0214cc: 5442 d702 |004c: iget-object v2, v4, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.validationResult:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult; // field@02d7 │ │ -0214d0: 5455 d702 |004e: iget-object v5, v5, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.validationResult:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult; // field@02d7 │ │ -0214d4: 6e20 ff03 5200 |0050: invoke-virtual {v2, v5}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult;.equals:(Ljava/lang/Object;)Z // method@03ff │ │ -0214da: 0a05 |0053: move-result v5 │ │ -0214dc: 3805 0300 |0054: if-eqz v5, 0057 // +0003 │ │ -0214e0: 2802 |0056: goto 0058 // +0002 │ │ -0214e2: 1200 |0057: const/4 v0, #int 0 // #0 │ │ -0214e4: 0f00 |0058: return v0 │ │ -0214e6: 0f01 |0059: return v1 │ │ +021420: |[021420] dnsfilter.android.dnsserverconfig.widget.listitem.DNSServerConfigEntry.equals:(Ljava/lang/Object;)Z │ │ +021430: 1210 |0000: const/4 v0, #int 1 // #1 │ │ +021432: 3354 0300 |0001: if-ne v4, v5, 0004 // +0003 │ │ +021436: 0f00 |0003: return v0 │ │ +021438: 1201 |0004: const/4 v1, #int 0 // #0 │ │ +02143a: 3805 5400 |0005: if-eqz v5, 0059 // +0054 │ │ +02143e: 6e10 7705 0400 |0007: invoke-virtual {v4}, Ljava/lang/Object;.getClass:()Ljava/lang/Class; // method@0577 │ │ +021444: 0c02 |000a: move-result-object v2 │ │ +021446: 6e10 7705 0500 |000b: invoke-virtual {v5}, Ljava/lang/Object;.getClass:()Ljava/lang/Class; // method@0577 │ │ +02144c: 0c03 |000e: move-result-object v3 │ │ +02144e: 3232 0300 |000f: if-eq v2, v3, 0012 // +0003 │ │ +021452: 2848 |0011: goto 0059 // +0048 │ │ +021454: 1f05 e800 |0012: check-cast v5, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry; // type@00e8 │ │ +021458: 5442 d202 |0014: iget-object v2, v4, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.ip:Ljava/lang/String; // field@02d2 │ │ +02145c: 5453 d202 |0016: iget-object v3, v5, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.ip:Ljava/lang/String; // field@02d2 │ │ +021460: 6e20 8d05 3200 |0018: invoke-virtual {v2, v3}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058d │ │ +021466: 0a02 |001b: move-result v2 │ │ +021468: 3802 3b00 |001c: if-eqz v2, 0057 // +003b │ │ +02146c: 5442 d402 |001e: iget-object v2, v4, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.port:Ljava/lang/String; // field@02d4 │ │ +021470: 5453 d402 |0020: iget-object v3, v5, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.port:Ljava/lang/String; // field@02d4 │ │ +021474: 6e20 8d05 3200 |0022: invoke-virtual {v2, v3}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058d │ │ +02147a: 0a02 |0025: move-result v2 │ │ +02147c: 3802 3100 |0026: if-eqz v2, 0057 // +0031 │ │ +021480: 5442 d502 |0028: iget-object v2, v4, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.protocol:Ldnsfilter/android/dnsserverconfig/widget/DNSType; // field@02d5 │ │ +021484: 5453 d502 |002a: iget-object v3, v5, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.protocol:Ldnsfilter/android/dnsserverconfig/widget/DNSType; // field@02d5 │ │ +021488: 3332 2b00 |002c: if-ne v2, v3, 0057 // +002b │ │ +02148c: 5442 d102 |002e: iget-object v2, v4, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.endpoint:Ljava/lang/String; // field@02d1 │ │ +021490: 5453 d102 |0030: iget-object v3, v5, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.endpoint:Ljava/lang/String; // field@02d1 │ │ +021494: 6e20 8d05 3200 |0032: invoke-virtual {v2, v3}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058d │ │ +02149a: 0a02 |0035: move-result v2 │ │ +02149c: 3802 2100 |0036: if-eqz v2, 0057 // +0021 │ │ +0214a0: 5442 d302 |0038: iget-object v2, v4, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.isActive:Ljava/lang/Boolean; // field@02d3 │ │ +0214a4: 5453 d302 |003a: iget-object v3, v5, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.isActive:Ljava/lang/Boolean; // field@02d3 │ │ +0214a8: 6e20 4c05 3200 |003c: invoke-virtual {v2, v3}, Ljava/lang/Boolean;.equals:(Ljava/lang/Object;)Z // method@054c │ │ +0214ae: 0a02 |003f: move-result v2 │ │ +0214b0: 3802 1700 |0040: if-eqz v2, 0057 // +0017 │ │ +0214b4: 5442 d602 |0042: iget-object v2, v4, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.testResult:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult; // field@02d6 │ │ +0214b8: 5453 d602 |0044: iget-object v3, v5, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.testResult:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult; // field@02d6 │ │ +0214bc: 6e20 2804 3200 |0046: invoke-virtual {v2, v3}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult;.equals:(Ljava/lang/Object;)Z // method@0428 │ │ +0214c2: 0a02 |0049: move-result v2 │ │ +0214c4: 3802 0d00 |004a: if-eqz v2, 0057 // +000d │ │ +0214c8: 5442 d702 |004c: iget-object v2, v4, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.validationResult:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult; // field@02d7 │ │ +0214cc: 5455 d702 |004e: iget-object v5, v5, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.validationResult:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult; // field@02d7 │ │ +0214d0: 6e20 ff03 5200 |0050: invoke-virtual {v2, v5}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult;.equals:(Ljava/lang/Object;)Z // method@03ff │ │ +0214d6: 0a05 |0053: move-result v5 │ │ +0214d8: 3805 0300 |0054: if-eqz v5, 0057 // +0003 │ │ +0214dc: 2802 |0056: goto 0058 // +0002 │ │ +0214de: 1200 |0057: const/4 v0, #int 0 // #0 │ │ +0214e0: 0f00 |0058: return v0 │ │ +0214e2: 0f01 |0059: return v1 │ │ catches : (none) │ │ positions : │ │ 0x0007 line=139 │ │ 0x0012 line=140 │ │ 0x0014 line=141 │ │ 0x0022 line=142 │ │ 0x0032 line=144 │ │ @@ -51478,17 +51478,17 @@ │ │ type : '()Ljava/lang/String;' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 0 │ │ insns size : 3 16-bit code units │ │ -021628: |[021628] dnsfilter.android.dnsserverconfig.widget.listitem.DNSServerConfigEntry.getEndpoint:()Ljava/lang/String; │ │ -021638: 5410 d102 |0000: iget-object v0, v1, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.endpoint:Ljava/lang/String; // field@02d1 │ │ -02163c: 1100 |0002: return-object v0 │ │ +021624: |[021624] dnsfilter.android.dnsserverconfig.widget.listitem.DNSServerConfigEntry.getEndpoint:()Ljava/lang/String; │ │ +021634: 5410 d102 |0000: iget-object v0, v1, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.endpoint:Ljava/lang/String; // field@02d1 │ │ +021638: 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;) │ │ @@ -51496,17 +51496,17 @@ │ │ type : '()Ljava/lang/String;' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 0 │ │ insns size : 3 16-bit code units │ │ -021688: |[021688] dnsfilter.android.dnsserverconfig.widget.listitem.DNSServerConfigEntry.getIp:()Ljava/lang/String; │ │ -021698: 5410 d202 |0000: iget-object v0, v1, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.ip:Ljava/lang/String; // field@02d2 │ │ -02169c: 1100 |0002: return-object v0 │ │ +021684: |[021684] dnsfilter.android.dnsserverconfig.widget.listitem.DNSServerConfigEntry.getIp:()Ljava/lang/String; │ │ +021694: 5410 d202 |0000: iget-object v0, v1, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.ip:Ljava/lang/String; // field@02d2 │ │ +021698: 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;) │ │ @@ -51514,17 +51514,17 @@ │ │ type : '()Ljava/lang/Boolean;' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 0 │ │ insns size : 3 16-bit code units │ │ -0215d8: |[0215d8] dnsfilter.android.dnsserverconfig.widget.listitem.DNSServerConfigEntry.getIsActive:()Ljava/lang/Boolean; │ │ -0215e8: 5410 d302 |0000: iget-object v0, v1, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.isActive:Ljava/lang/Boolean; // field@02d3 │ │ -0215ec: 1100 |0002: return-object v0 │ │ +0215d4: |[0215d4] dnsfilter.android.dnsserverconfig.widget.listitem.DNSServerConfigEntry.getIsActive:()Ljava/lang/Boolean; │ │ +0215e4: 5410 d302 |0000: iget-object v0, v1, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.isActive:Ljava/lang/Boolean; // field@02d3 │ │ +0215e8: 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;) │ │ @@ -51532,17 +51532,17 @@ │ │ type : '()Ljava/lang/String;' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 0 │ │ insns size : 3 16-bit code units │ │ -0216c0: |[0216c0] dnsfilter.android.dnsserverconfig.widget.listitem.DNSServerConfigEntry.getPort:()Ljava/lang/String; │ │ -0216d0: 5410 d402 |0000: iget-object v0, v1, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.port:Ljava/lang/String; // field@02d4 │ │ -0216d4: 1100 |0002: return-object v0 │ │ +0216bc: |[0216bc] dnsfilter.android.dnsserverconfig.widget.listitem.DNSServerConfigEntry.getPort:()Ljava/lang/String; │ │ +0216cc: 5410 d402 |0000: iget-object v0, v1, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.port:Ljava/lang/String; // field@02d4 │ │ +0216d0: 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;) │ │ @@ -51550,17 +51550,17 @@ │ │ type : '()Ldnsfilter/android/dnsserverconfig/widget/DNSType;' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 0 │ │ insns size : 3 16-bit code units │ │ -021544: |[021544] dnsfilter.android.dnsserverconfig.widget.listitem.DNSServerConfigEntry.getProtocol:()Ldnsfilter/android/dnsserverconfig/widget/DNSType; │ │ -021554: 5410 d502 |0000: iget-object v0, v1, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.protocol:Ldnsfilter/android/dnsserverconfig/widget/DNSType; // field@02d5 │ │ -021558: 1100 |0002: return-object v0 │ │ +021540: |[021540] dnsfilter.android.dnsserverconfig.widget.listitem.DNSServerConfigEntry.getProtocol:()Ldnsfilter/android/dnsserverconfig/widget/DNSType; │ │ +021550: 5410 d502 |0000: iget-object v0, v1, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.protocol:Ldnsfilter/android/dnsserverconfig/widget/DNSType; // field@02d5 │ │ +021554: 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;) │ │ @@ -51568,17 +51568,17 @@ │ │ type : '()Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult;' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 0 │ │ insns size : 3 16-bit code units │ │ -021500: |[021500] dnsfilter.android.dnsserverconfig.widget.listitem.DNSServerConfigEntry.getTestResult:()Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult; │ │ -021510: 5410 d602 |0000: iget-object v0, v1, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.testResult:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult; // field@02d6 │ │ -021514: 1100 |0002: return-object v0 │ │ +0214fc: |[0214fc] dnsfilter.android.dnsserverconfig.widget.listitem.DNSServerConfigEntry.getTestResult:()Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult; │ │ +02150c: 5410 d602 |0000: iget-object v0, v1, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.testResult:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult; // field@02d6 │ │ +021510: 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;) │ │ @@ -51586,17 +51586,17 @@ │ │ type : '()Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult;' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 0 │ │ insns size : 3 16-bit code units │ │ -0214e8: |[0214e8] dnsfilter.android.dnsserverconfig.widget.listitem.DNSServerConfigEntry.getValidationResult:()Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult; │ │ -0214f8: 5410 d702 |0000: iget-object v0, v1, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.validationResult:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult; // field@02d7 │ │ -0214fc: 1100 |0002: return-object v0 │ │ +0214e4: |[0214e4] dnsfilter.android.dnsserverconfig.widget.listitem.DNSServerConfigEntry.getValidationResult:()Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult; │ │ +0214f4: 5410 d702 |0000: iget-object v0, v1, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.validationResult:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult; // field@02d7 │ │ +0214f8: 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;) │ │ @@ -51604,48 +51604,48 @@ │ │ type : '()I' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 11 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 54 16-bit code units │ │ -02155c: |[02155c] dnsfilter.android.dnsserverconfig.widget.listitem.DNSServerConfigEntry.hashCode:()I │ │ -02156c: 54a0 d202 |0000: iget-object v0, v10, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.ip:Ljava/lang/String; // field@02d2 │ │ -021570: 54a1 d402 |0002: iget-object v1, v10, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.port:Ljava/lang/String; // field@02d4 │ │ -021574: 54a2 d502 |0004: iget-object v2, v10, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.protocol:Ldnsfilter/android/dnsserverconfig/widget/DNSType; // field@02d5 │ │ -021578: 54a3 d102 |0006: iget-object v3, v10, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.endpoint:Ljava/lang/String; // field@02d1 │ │ -02157c: 54a4 d302 |0008: iget-object v4, v10, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.isActive:Ljava/lang/Boolean; // field@02d3 │ │ -021580: 54a5 d602 |000a: iget-object v5, v10, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.testResult:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult; // field@02d6 │ │ -021584: 54a6 d702 |000c: iget-object v6, v10, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.validationResult:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult; // field@02d7 │ │ -021588: 1277 |000e: const/4 v7, #int 7 // #7 │ │ -02158a: 2378 ac01 |000f: new-array v8, v7, [Ljava/lang/Object; // type@01ac │ │ -02158e: 1209 |0011: const/4 v9, #int 0 // #0 │ │ -021590: 4d00 0809 |0012: aput-object v0, v8, v9 │ │ -021594: 1210 |0014: const/4 v0, #int 1 // #1 │ │ -021596: 4d01 0800 |0015: aput-object v1, v8, v0 │ │ -02159a: 1220 |0017: const/4 v0, #int 2 // #2 │ │ -02159c: 4d02 0800 |0018: aput-object v2, v8, v0 │ │ -0215a0: 1230 |001a: const/4 v0, #int 3 // #3 │ │ -0215a2: 4d03 0800 |001b: aput-object v3, v8, v0 │ │ -0215a6: 1240 |001d: const/4 v0, #int 4 // #4 │ │ -0215a8: 4d04 0800 |001e: aput-object v4, v8, v0 │ │ -0215ac: 1250 |0020: const/4 v0, #int 5 // #5 │ │ -0215ae: 4d05 0800 |0021: aput-object v5, v8, v0 │ │ -0215b2: 1260 |0023: const/4 v0, #int 6 // #6 │ │ -0215b4: 4d06 0800 |0024: aput-object v6, v8, v0 │ │ -0215b8: 1200 |0026: const/4 v0, #int 0 // #0 │ │ -0215ba: 3579 0e00 |0027: if-ge v9, v7, 0035 // +000e │ │ -0215be: da00 001f |0029: mul-int/lit8 v0, v0, #int 31 // #1f │ │ -0215c2: 4601 0809 |002b: aget-object v1, v8, v9 │ │ -0215c6: 6e10 7805 0100 |002d: invoke-virtual {v1}, Ljava/lang/Object;.hashCode:()I // method@0578 │ │ -0215cc: 0a01 |0030: move-result v1 │ │ -0215ce: b010 |0031: add-int/2addr v0, v1 │ │ -0215d0: d809 0901 |0032: add-int/lit8 v9, v9, #int 1 // #01 │ │ -0215d4: 28f3 |0034: goto 0027 // -000d │ │ -0215d6: 0f00 |0035: return v0 │ │ +021558: |[021558] dnsfilter.android.dnsserverconfig.widget.listitem.DNSServerConfigEntry.hashCode:()I │ │ +021568: 54a0 d202 |0000: iget-object v0, v10, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.ip:Ljava/lang/String; // field@02d2 │ │ +02156c: 54a1 d402 |0002: iget-object v1, v10, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.port:Ljava/lang/String; // field@02d4 │ │ +021570: 54a2 d502 |0004: iget-object v2, v10, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.protocol:Ldnsfilter/android/dnsserverconfig/widget/DNSType; // field@02d5 │ │ +021574: 54a3 d102 |0006: iget-object v3, v10, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.endpoint:Ljava/lang/String; // field@02d1 │ │ +021578: 54a4 d302 |0008: iget-object v4, v10, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.isActive:Ljava/lang/Boolean; // field@02d3 │ │ +02157c: 54a5 d602 |000a: iget-object v5, v10, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.testResult:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult; // field@02d6 │ │ +021580: 54a6 d702 |000c: iget-object v6, v10, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.validationResult:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult; // field@02d7 │ │ +021584: 1277 |000e: const/4 v7, #int 7 // #7 │ │ +021586: 2378 ac01 |000f: new-array v8, v7, [Ljava/lang/Object; // type@01ac │ │ +02158a: 1209 |0011: const/4 v9, #int 0 // #0 │ │ +02158c: 4d00 0809 |0012: aput-object v0, v8, v9 │ │ +021590: 1210 |0014: const/4 v0, #int 1 // #1 │ │ +021592: 4d01 0800 |0015: aput-object v1, v8, v0 │ │ +021596: 1220 |0017: const/4 v0, #int 2 // #2 │ │ +021598: 4d02 0800 |0018: aput-object v2, v8, v0 │ │ +02159c: 1230 |001a: const/4 v0, #int 3 // #3 │ │ +02159e: 4d03 0800 |001b: aput-object v3, v8, v0 │ │ +0215a2: 1240 |001d: const/4 v0, #int 4 // #4 │ │ +0215a4: 4d04 0800 |001e: aput-object v4, v8, v0 │ │ +0215a8: 1250 |0020: const/4 v0, #int 5 // #5 │ │ +0215aa: 4d05 0800 |0021: aput-object v5, v8, v0 │ │ +0215ae: 1260 |0023: const/4 v0, #int 6 // #6 │ │ +0215b0: 4d06 0800 |0024: aput-object v6, v8, v0 │ │ +0215b4: 1200 |0026: const/4 v0, #int 0 // #0 │ │ +0215b6: 3579 0e00 |0027: if-ge v9, v7, 0035 // +000e │ │ +0215ba: da00 001f |0029: mul-int/lit8 v0, v0, #int 31 // #1f │ │ +0215be: 4601 0809 |002b: aget-object v1, v8, v9 │ │ +0215c2: 6e10 7805 0100 |002d: invoke-virtual {v1}, Ljava/lang/Object;.hashCode:()I // method@0578 │ │ +0215c8: 0a01 |0030: move-result v1 │ │ +0215ca: b010 |0031: add-int/2addr v0, v1 │ │ +0215cc: d809 0901 |0032: add-int/lit8 v9, v9, #int 1 // #01 │ │ +0215d0: 28f3 |0034: goto 0027 // -000d │ │ +0215d2: 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; │ │ │ │ @@ -51654,17 +51654,17 @@ │ │ type : '(Ljava/lang/String;)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 2 │ │ outs : 0 │ │ insns size : 3 16-bit code units │ │ -0218c0: |[0218c0] dnsfilter.android.dnsserverconfig.widget.listitem.DNSServerConfigEntry.setEndpoint:(Ljava/lang/String;)V │ │ -0218d0: 5b01 d102 |0000: iput-object v1, v0, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.endpoint:Ljava/lang/String; // field@02d1 │ │ -0218d4: 0e00 |0002: return-void │ │ +0218bc: |[0218bc] dnsfilter.android.dnsserverconfig.widget.listitem.DNSServerConfigEntry.setEndpoint:(Ljava/lang/String;)V │ │ +0218cc: 5b01 d102 |0000: iput-object v1, v0, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.endpoint:Ljava/lang/String; // field@02d1 │ │ +0218d0: 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; │ │ │ │ @@ -51673,17 +51673,17 @@ │ │ type : '(Ljava/lang/String;)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 2 │ │ outs : 0 │ │ insns size : 3 16-bit code units │ │ -0218d8: |[0218d8] dnsfilter.android.dnsserverconfig.widget.listitem.DNSServerConfigEntry.setIp:(Ljava/lang/String;)V │ │ -0218e8: 5b01 d202 |0000: iput-object v1, v0, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.ip:Ljava/lang/String; // field@02d2 │ │ -0218ec: 0e00 |0002: return-void │ │ +0218d4: |[0218d4] dnsfilter.android.dnsserverconfig.widget.listitem.DNSServerConfigEntry.setIp:(Ljava/lang/String;)V │ │ +0218e4: 5b01 d202 |0000: iput-object v1, v0, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.ip:Ljava/lang/String; // field@02d2 │ │ +0218e8: 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; │ │ │ │ @@ -51692,17 +51692,17 @@ │ │ type : '(Ljava/lang/Boolean;)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 2 │ │ outs : 0 │ │ insns size : 3 16-bit code units │ │ -0218f0: |[0218f0] dnsfilter.android.dnsserverconfig.widget.listitem.DNSServerConfigEntry.setIsActive:(Ljava/lang/Boolean;)V │ │ -021900: 5b01 d302 |0000: iput-object v1, v0, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.isActive:Ljava/lang/Boolean; // field@02d3 │ │ -021904: 0e00 |0002: return-void │ │ +0218ec: |[0218ec] dnsfilter.android.dnsserverconfig.widget.listitem.DNSServerConfigEntry.setIsActive:(Ljava/lang/Boolean;)V │ │ +0218fc: 5b01 d302 |0000: iput-object v1, v0, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.isActive:Ljava/lang/Boolean; // field@02d3 │ │ +021900: 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; │ │ │ │ @@ -51711,17 +51711,17 @@ │ │ type : '(Ljava/lang/String;)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 2 │ │ outs : 0 │ │ insns size : 3 16-bit code units │ │ -021908: |[021908] dnsfilter.android.dnsserverconfig.widget.listitem.DNSServerConfigEntry.setPort:(Ljava/lang/String;)V │ │ -021918: 5b01 d402 |0000: iput-object v1, v0, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.port:Ljava/lang/String; // field@02d4 │ │ -02191c: 0e00 |0002: return-void │ │ +021904: |[021904] dnsfilter.android.dnsserverconfig.widget.listitem.DNSServerConfigEntry.setPort:(Ljava/lang/String;)V │ │ +021914: 5b01 d402 |0000: iput-object v1, v0, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.port:Ljava/lang/String; // field@02d4 │ │ +021918: 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; │ │ │ │ @@ -51730,17 +51730,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 │ │ -021920: |[021920] dnsfilter.android.dnsserverconfig.widget.listitem.DNSServerConfigEntry.setProtocol:(Ldnsfilter/android/dnsserverconfig/widget/DNSType;)V │ │ -021930: 5b01 d502 |0000: iput-object v1, v0, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.protocol:Ldnsfilter/android/dnsserverconfig/widget/DNSType; // field@02d5 │ │ -021934: 0e00 |0002: return-void │ │ +02191c: |[02191c] dnsfilter.android.dnsserverconfig.widget.listitem.DNSServerConfigEntry.setProtocol:(Ldnsfilter/android/dnsserverconfig/widget/DNSType;)V │ │ +02192c: 5b01 d502 |0000: iput-object v1, v0, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.protocol:Ldnsfilter/android/dnsserverconfig/widget/DNSType; // field@02d5 │ │ +021930: 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; │ │ │ │ @@ -51749,17 +51749,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 │ │ -021938: |[021938] dnsfilter.android.dnsserverconfig.widget.listitem.DNSServerConfigEntry.setTestResult:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult;)V │ │ -021948: 5b01 d602 |0000: iput-object v1, v0, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.testResult:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult; // field@02d6 │ │ -02194c: 0e00 |0002: return-void │ │ +021934: |[021934] dnsfilter.android.dnsserverconfig.widget.listitem.DNSServerConfigEntry.setTestResult:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult;)V │ │ +021944: 5b01 d602 |0000: iput-object v1, v0, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.testResult:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult; // field@02d6 │ │ +021948: 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; │ │ │ │ @@ -51768,17 +51768,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 │ │ -021950: |[021950] dnsfilter.android.dnsserverconfig.widget.listitem.DNSServerConfigEntry.setValidationResult:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult;)V │ │ -021960: 5b01 d702 |0000: iput-object v1, v0, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.validationResult:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult; // field@02d7 │ │ -021964: 0e00 |0002: return-void │ │ +02194c: |[02194c] dnsfilter.android.dnsserverconfig.widget.listitem.DNSServerConfigEntry.setValidationResult:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult;)V │ │ +02195c: 5b01 d702 |0000: iput-object v1, v0, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.validationResult:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult; // field@02d7 │ │ +021960: 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; │ │ │ │ @@ -51787,43 +51787,43 @@ │ │ type : '()Ljava/lang/String;' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 4 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 63 16-bit code units │ │ -0216d8: |[0216d8] dnsfilter.android.dnsserverconfig.widget.listitem.DNSServerConfigEntry.toString:()Ljava/lang/String; │ │ -0216e8: 2200 2d01 |0000: new-instance v0, Ljava/lang/StringBuilder; // type@012d │ │ -0216ec: 7010 a905 0000 |0002: invoke-direct {v0}, Ljava/lang/StringBuilder;.:()V // method@05a9 │ │ -0216f2: 5431 d302 |0005: iget-object v1, v3, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.isActive:Ljava/lang/Boolean; // field@02d3 │ │ -0216f6: 6e10 4b05 0100 |0007: invoke-virtual {v1}, Ljava/lang/Boolean;.booleanValue:()Z // method@054b │ │ -0216fc: 0a01 |000a: move-result v1 │ │ -0216fe: 7110 4e04 0100 |000b: invoke-static {v1}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.getIsActiveAsString:(Z)Ljava/lang/String; // method@044e │ │ -021704: 0c01 |000e: move-result-object v1 │ │ -021706: 6e20 af05 1000 |000f: invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -02170c: 5431 d202 |0012: iget-object v1, v3, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.ip:Ljava/lang/String; // field@02d2 │ │ -021710: 7110 4804 0100 |0014: invoke-static {v1}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.getBracedIP:(Ljava/lang/String;)Ljava/lang/String; // method@0448 │ │ -021716: 0c01 |0017: move-result-object v1 │ │ -021718: 6e20 af05 1000 |0018: invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -02171e: 1a01 8500 |001b: const-string v1, "::" // string@0085 │ │ -021722: 6e20 af05 1000 |001d: invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -021728: 5432 d402 |0020: iget-object v2, v3, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.port:Ljava/lang/String; // field@02d4 │ │ -02172c: 6e20 af05 2000 |0022: invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -021732: 6e20 af05 1000 |0025: invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -021738: 5431 d502 |0028: iget-object v1, v3, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.protocol:Ldnsfilter/android/dnsserverconfig/widget/DNSType; // field@02d5 │ │ -02173c: 6e10 3404 0100 |002a: invoke-virtual {v1}, Ldnsfilter/android/dnsserverconfig/widget/DNSType;.toString:()Ljava/lang/String; // method@0434 │ │ -021742: 0c01 |002d: move-result-object v1 │ │ -021744: 6e20 af05 1000 |002e: invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -02174a: 5431 d102 |0031: iget-object v1, v3, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.endpoint:Ljava/lang/String; // field@02d1 │ │ -02174e: 7110 4b04 0100 |0033: invoke-static {v1}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.getEndpointAsString:(Ljava/lang/String;)Ljava/lang/String; // method@044b │ │ -021754: 0c01 |0036: move-result-object v1 │ │ -021756: 6e20 af05 1000 |0037: invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -02175c: 6e10 b105 0000 |003a: invoke-virtual {v0}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ -021762: 0c00 |003d: move-result-object v0 │ │ -021764: 1100 |003e: return-object v0 │ │ +0216d4: |[0216d4] dnsfilter.android.dnsserverconfig.widget.listitem.DNSServerConfigEntry.toString:()Ljava/lang/String; │ │ +0216e4: 2200 2d01 |0000: new-instance v0, Ljava/lang/StringBuilder; // type@012d │ │ +0216e8: 7010 a905 0000 |0002: invoke-direct {v0}, Ljava/lang/StringBuilder;.:()V // method@05a9 │ │ +0216ee: 5431 d302 |0005: iget-object v1, v3, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.isActive:Ljava/lang/Boolean; // field@02d3 │ │ +0216f2: 6e10 4b05 0100 |0007: invoke-virtual {v1}, Ljava/lang/Boolean;.booleanValue:()Z // method@054b │ │ +0216f8: 0a01 |000a: move-result v1 │ │ +0216fa: 7110 4e04 0100 |000b: invoke-static {v1}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.getIsActiveAsString:(Z)Ljava/lang/String; // method@044e │ │ +021700: 0c01 |000e: move-result-object v1 │ │ +021702: 6e20 af05 1000 |000f: invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +021708: 5431 d202 |0012: iget-object v1, v3, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.ip:Ljava/lang/String; // field@02d2 │ │ +02170c: 7110 4804 0100 |0014: invoke-static {v1}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.getBracedIP:(Ljava/lang/String;)Ljava/lang/String; // method@0448 │ │ +021712: 0c01 |0017: move-result-object v1 │ │ +021714: 6e20 af05 1000 |0018: invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +02171a: 1a01 8500 |001b: const-string v1, "::" // string@0085 │ │ +02171e: 6e20 af05 1000 |001d: invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +021724: 5432 d402 |0020: iget-object v2, v3, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.port:Ljava/lang/String; // field@02d4 │ │ +021728: 6e20 af05 2000 |0022: invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +02172e: 6e20 af05 1000 |0025: invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +021734: 5431 d502 |0028: iget-object v1, v3, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.protocol:Ldnsfilter/android/dnsserverconfig/widget/DNSType; // field@02d5 │ │ +021738: 6e10 3404 0100 |002a: invoke-virtual {v1}, Ldnsfilter/android/dnsserverconfig/widget/DNSType;.toString:()Ljava/lang/String; // method@0434 │ │ +02173e: 0c01 |002d: move-result-object v1 │ │ +021740: 6e20 af05 1000 |002e: invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +021746: 5431 d102 |0031: iget-object v1, v3, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.endpoint:Ljava/lang/String; // field@02d1 │ │ +02174a: 7110 4b04 0100 |0033: invoke-static {v1}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.getEndpointAsString:(Ljava/lang/String;)Ljava/lang/String; // method@044b │ │ +021750: 0c01 |0036: move-result-object v1 │ │ +021752: 6e20 af05 1000 |0037: invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +021758: 6e10 b105 0000 |003a: invoke-virtual {v0}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ +02175e: 0c00 |003d: move-result-object v0 │ │ +021760: 1100 |003e: return-object v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=111 │ │ 0x0014 line=112 │ │ 0x002a line=116 │ │ 0x0033 line=117 │ │ locals : │ │ @@ -52010,50 +52010,50 @@ │ │ type : '()V' │ │ access : 0x10008 (STATIC CONSTRUCTOR) │ │ code - │ │ registers : 0 │ │ ins : 0 │ │ outs : 0 │ │ insns size : 1 16-bit code units │ │ -022728: |[022728] dnsfilter.remote.RemoteAccessClient.:()V │ │ -022738: 0e00 |0000: return-void │ │ +022724: |[022724] dnsfilter.remote.RemoteAccessClient.:()V │ │ +022734: 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 │ │ -02273c: |[02273c] dnsfilter.remote.RemoteAccessClient.:(Lutil/LoggerInterface;Ljava/lang/String;ILjava/lang/String;)V │ │ -02274c: 7010 4801 0300 |0000: invoke-direct {v3}, Ldnsfilter/ConfigurationAccess;.:()V // method@0148 │ │ -022752: 12f0 |0003: const/4 v0, #int -1 // #ff │ │ -022754: 5930 ea02 |0004: iput v0, v3, Ldnsfilter/remote/RemoteAccessClient;.ctrlConId:I // field@02ea │ │ -022758: 1a01 9d00 |0006: const-string v1, "" // string@009d │ │ -02275c: 5b31 ee02 |0008: iput-object v1, v3, Ldnsfilter/remote/RemoteAccessClient;.last_dns:Ljava/lang/String; // field@02ee │ │ -022760: 5930 e802 |000a: iput v0, v3, Ldnsfilter/remote/RemoteAccessClient;.con_cnt:I // field@02e8 │ │ -022764: 1200 |000c: const/4 v0, #int 0 // #0 │ │ -022766: 5c30 f502 |000d: iput-boolean v0, v3, Ldnsfilter/remote/RemoteAccessClient;.valid:Z // field@02f5 │ │ -02276a: 1801 ffff ffff ffff ff7f |000f: const-wide v1, #double nan // #7fffffffffffffff │ │ -022774: 5a31 f402 |0014: iput-wide v1, v3, Ldnsfilter/remote/RemoteAccessClient;.timeout:J // field@02f4 │ │ -022778: 5930 f302 |0016: iput v0, v3, Ldnsfilter/remote/RemoteAccessClient;.timeOutCounter:I // field@02f3 │ │ -02277c: 3904 0600 |0018: if-nez v4, 001e // +0006 │ │ -022780: 7100 2707 0000 |001a: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0727 │ │ -022786: 0c04 |001d: move-result-object v4 │ │ -022788: 5b34 e902 |001e: iput-object v4, v3, Ldnsfilter/remote/RemoteAccessClient;.connectedLogger:Lutil/LoggerInterface; // field@02e9 │ │ -02278c: 7110 ce06 0700 |0020: invoke-static {v7}, Lutil/Encryption;.init_AES:(Ljava/lang/String;)V // method@06ce │ │ -022792: 5b35 ec02 |0023: iput-object v5, v3, Ldnsfilter/remote/RemoteAccessClient;.host:Ljava/lang/String; // field@02ec │ │ -022796: 5936 f002 |0025: iput v6, v3, Ldnsfilter/remote/RemoteAccessClient;.port:I // field@02f0 │ │ -02279a: 7010 6b04 0300 |0027: invoke-direct {v3}, Ldnsfilter/remote/RemoteAccessClient;.connect:()V // method@046b │ │ -0227a0: 0e00 |002a: return-void │ │ +022738: |[022738] dnsfilter.remote.RemoteAccessClient.:(Lutil/LoggerInterface;Ljava/lang/String;ILjava/lang/String;)V │ │ +022748: 7010 4801 0300 |0000: invoke-direct {v3}, Ldnsfilter/ConfigurationAccess;.:()V // method@0148 │ │ +02274e: 12f0 |0003: const/4 v0, #int -1 // #ff │ │ +022750: 5930 ea02 |0004: iput v0, v3, Ldnsfilter/remote/RemoteAccessClient;.ctrlConId:I // field@02ea │ │ +022754: 1a01 9d00 |0006: const-string v1, "" // string@009d │ │ +022758: 5b31 ee02 |0008: iput-object v1, v3, Ldnsfilter/remote/RemoteAccessClient;.last_dns:Ljava/lang/String; // field@02ee │ │ +02275c: 5930 e802 |000a: iput v0, v3, Ldnsfilter/remote/RemoteAccessClient;.con_cnt:I // field@02e8 │ │ +022760: 1200 |000c: const/4 v0, #int 0 // #0 │ │ +022762: 5c30 f502 |000d: iput-boolean v0, v3, Ldnsfilter/remote/RemoteAccessClient;.valid:Z // field@02f5 │ │ +022766: 1801 ffff ffff ffff ff7f |000f: const-wide v1, #double nan // #7fffffffffffffff │ │ +022770: 5a31 f402 |0014: iput-wide v1, v3, Ldnsfilter/remote/RemoteAccessClient;.timeout:J // field@02f4 │ │ +022774: 5930 f302 |0016: iput v0, v3, Ldnsfilter/remote/RemoteAccessClient;.timeOutCounter:I // field@02f3 │ │ +022778: 3904 0600 |0018: if-nez v4, 001e // +0006 │ │ +02277c: 7100 2707 0000 |001a: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0727 │ │ +022782: 0c04 |001d: move-result-object v4 │ │ +022784: 5b34 e902 |001e: iput-object v4, v3, Ldnsfilter/remote/RemoteAccessClient;.connectedLogger:Lutil/LoggerInterface; // field@02e9 │ │ +022788: 7110 ce06 0700 |0020: invoke-static {v7}, Lutil/Encryption;.init_AES:(Ljava/lang/String;)V // method@06ce │ │ +02278e: 5b35 ec02 |0023: iput-object v5, v3, Ldnsfilter/remote/RemoteAccessClient;.host:Ljava/lang/String; // field@02ec │ │ +022792: 5936 f002 |0025: iput v6, v3, Ldnsfilter/remote/RemoteAccessClient;.port:I // field@02f0 │ │ +022796: 7010 6b04 0300 |0027: invoke-direct {v3}, Ldnsfilter/remote/RemoteAccessClient;.connect:()V // method@046b │ │ +02279c: 0e00 |002a: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=59 │ │ 0x0004 line=46 │ │ 0x0006 line=49 │ │ 0x000a line=50 │ │ 0x000d line=53 │ │ @@ -52077,18 +52077,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 │ │ -0220cc: |[0220cc] dnsfilter.remote.RemoteAccessClient.access$000:(Ldnsfilter/remote/RemoteAccessClient;)[Ljava/lang/Object; │ │ -0220dc: 7010 7804 0000 |0000: invoke-direct {v0}, Ldnsfilter/remote/RemoteAccessClient;.initConnection:()[Ljava/lang/Object; // method@0478 │ │ -0220e2: 0c00 |0003: move-result-object v0 │ │ -0220e4: 1100 |0004: return-object v0 │ │ +0220c8: |[0220c8] dnsfilter.remote.RemoteAccessClient.access$000:(Ldnsfilter/remote/RemoteAccessClient;)[Ljava/lang/Object; │ │ +0220d8: 7010 7804 0000 |0000: invoke-direct {v0}, Ldnsfilter/remote/RemoteAccessClient;.initConnection:()[Ljava/lang/Object; // method@0478 │ │ +0220de: 0c00 |0003: move-result-object v0 │ │ +0220e0: 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;) │ │ @@ -52096,17 +52096,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 │ │ -022710: |[022710] dnsfilter.remote.RemoteAccessClient.access$100:(Ldnsfilter/remote/RemoteAccessClient;)Lutil/LoggerInterface; │ │ -022720: 5400 e902 |0000: iget-object v0, v0, Ldnsfilter/remote/RemoteAccessClient;.connectedLogger:Lutil/LoggerInterface; // field@02e9 │ │ -022724: 1100 |0002: return-object v0 │ │ +02270c: |[02270c] dnsfilter.remote.RemoteAccessClient.access$100:(Ldnsfilter/remote/RemoteAccessClient;)Lutil/LoggerInterface; │ │ +02271c: 5400 e902 |0000: iget-object v0, v0, Ldnsfilter/remote/RemoteAccessClient;.connectedLogger:Lutil/LoggerInterface; // field@02e9 │ │ +022720: 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;) │ │ @@ -52114,17 +52114,17 @@ │ │ type : '(Ldnsfilter/remote/RemoteAccessClient;)V' │ │ access : 0x1008 (STATIC SYNTHETIC) │ │ code - │ │ registers : 1 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 4 16-bit code units │ │ -0227a4: |[0227a4] dnsfilter.remote.RemoteAccessClient.access$200:(Ldnsfilter/remote/RemoteAccessClient;)V │ │ -0227b4: 7010 6a04 0000 |0000: invoke-direct {v0}, Ldnsfilter/remote/RemoteAccessClient;.closeConnectionReconnect:()V // method@046a │ │ -0227ba: 0e00 |0003: return-void │ │ +0227a0: |[0227a0] dnsfilter.remote.RemoteAccessClient.access$200:(Ldnsfilter/remote/RemoteAccessClient;)V │ │ +0227b0: 7010 6a04 0000 |0000: invoke-direct {v0}, Ldnsfilter/remote/RemoteAccessClient;.closeConnectionReconnect:()V // method@046a │ │ +0227b6: 0e00 |0003: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=24 │ │ locals : │ │ 0x0000 - 0x0004 reg=0 (null) Ldnsfilter/remote/RemoteAccessClient; │ │ │ │ #5 : (in Ldnsfilter/remote/RemoteAccessClient;) │ │ @@ -52132,17 +52132,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 │ │ -0222ac: |[0222ac] dnsfilter.remote.RemoteAccessClient.access$302:(Ldnsfilter/remote/RemoteAccessClient;Ljava/lang/String;)Ljava/lang/String; │ │ -0222bc: 5b01 ee02 |0000: iput-object v1, v0, Ldnsfilter/remote/RemoteAccessClient;.last_dns:Ljava/lang/String; // field@02ee │ │ -0222c0: 1101 |0002: return-object v1 │ │ +0222a8: |[0222a8] dnsfilter.remote.RemoteAccessClient.access$302:(Ldnsfilter/remote/RemoteAccessClient;Ljava/lang/String;)Ljava/lang/String; │ │ +0222b8: 5b01 ee02 |0000: iput-object v1, v0, Ldnsfilter/remote/RemoteAccessClient;.last_dns:Ljava/lang/String; // field@02ee │ │ +0222bc: 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; │ │ │ │ @@ -52151,17 +52151,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 │ │ -02203c: |[02203c] dnsfilter.remote.RemoteAccessClient.access$402:(Ldnsfilter/remote/RemoteAccessClient;I)I │ │ -02204c: 5901 e802 |0000: iput v1, v0, Ldnsfilter/remote/RemoteAccessClient;.con_cnt:I // field@02e8 │ │ -022050: 0f01 |0002: return v1 │ │ +022038: |[022038] dnsfilter.remote.RemoteAccessClient.access$402:(Ldnsfilter/remote/RemoteAccessClient;I)I │ │ +022048: 5901 e802 |0000: iput v1, v0, Ldnsfilter/remote/RemoteAccessClient;.con_cnt:I // field@02e8 │ │ +02204c: 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 │ │ │ │ @@ -52170,17 +52170,17 @@ │ │ type : '(Ldnsfilter/remote/RemoteAccessClient;)V' │ │ access : 0x1008 (STATIC SYNTHETIC) │ │ code - │ │ registers : 1 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 4 16-bit code units │ │ -0227bc: |[0227bc] dnsfilter.remote.RemoteAccessClient.access$500:(Ldnsfilter/remote/RemoteAccessClient;)V │ │ -0227cc: 7010 7c04 0000 |0000: invoke-direct {v0}, Ldnsfilter/remote/RemoteAccessClient;.processHeartBeat:()V // method@047c │ │ -0227d2: 0e00 |0003: return-void │ │ +0227b8: |[0227b8] dnsfilter.remote.RemoteAccessClient.access$500:(Ldnsfilter/remote/RemoteAccessClient;)V │ │ +0227c8: 7010 7c04 0000 |0000: invoke-direct {v0}, Ldnsfilter/remote/RemoteAccessClient;.processHeartBeat:()V // method@047c │ │ +0227ce: 0e00 |0003: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=24 │ │ locals : │ │ 0x0000 - 0x0004 reg=0 (null) Ldnsfilter/remote/RemoteAccessClient; │ │ │ │ #8 : (in Ldnsfilter/remote/RemoteAccessClient;) │ │ @@ -52188,17 +52188,17 @@ │ │ type : '(Ldnsfilter/remote/RemoteAccessClient;)V' │ │ access : 0x1008 (STATIC SYNTHETIC) │ │ code - │ │ registers : 1 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 4 16-bit code units │ │ -0227d4: |[0227d4] dnsfilter.remote.RemoteAccessClient.access$600:(Ldnsfilter/remote/RemoteAccessClient;)V │ │ -0227e4: 6e10 7904 0000 |0000: invoke-virtual {v0}, Ldnsfilter/remote/RemoteAccessClient;.invalidate:()V // method@0479 │ │ -0227ea: 0e00 |0003: return-void │ │ +0227d0: |[0227d0] dnsfilter.remote.RemoteAccessClient.access$600:(Ldnsfilter/remote/RemoteAccessClient;)V │ │ +0227e0: 6e10 7904 0000 |0000: invoke-virtual {v0}, Ldnsfilter/remote/RemoteAccessClient;.invalidate:()V // method@0479 │ │ +0227e6: 0e00 |0003: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=24 │ │ locals : │ │ 0x0000 - 0x0004 reg=0 (null) Ldnsfilter/remote/RemoteAccessClient; │ │ │ │ #9 : (in Ldnsfilter/remote/RemoteAccessClient;) │ │ @@ -52206,51 +52206,51 @@ │ │ type : '()V' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 5 │ │ ins : 1 │ │ outs : 3 │ │ insns size : 68 16-bit code units │ │ -0227ec: |[0227ec] dnsfilter.remote.RemoteAccessClient.closeConnectionReconnect:()V │ │ -0227fc: 7100 8807 0000 |0000: invoke-static {}, Lutil/TimoutNotificator;.getInstance:()Lutil/TimoutNotificator; // method@0788 │ │ -022802: 0c00 |0003: move-result-object v0 │ │ -022804: 6e20 8d07 4000 |0004: invoke-virtual {v0, v4}, Lutil/TimoutNotificator;.unregister:(Lutil/TimeoutListener;)V // method@078d │ │ -02280a: 5540 f502 |0007: iget-boolean v0, v4, Ldnsfilter/remote/RemoteAccessClient;.valid:Z // field@02f5 │ │ -02280e: 3900 0300 |0009: if-nez v0, 000c // +0003 │ │ -022812: 0e00 |000b: return-void │ │ -022814: 6e10 7e04 0400 |000c: invoke-virtual {v4}, Ldnsfilter/remote/RemoteAccessClient;.releaseConfiguration:()V // method@047e │ │ -02281a: 2200 2501 |000f: new-instance v0, Ljava/lang/Object; // type@0125 │ │ -02281e: 7010 7505 0000 |0011: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@0575 │ │ -022824: 1d00 |0014: monitor-enter v0 │ │ -022826: 1601 d007 |0015: const-wide/16 v1, #int 2000 // #7d0 │ │ -02282a: 6e30 7c05 1002 |0017: invoke-virtual {v0, v1, v2}, Ljava/lang/Object;.wait:(J)V // method@057c │ │ -022830: 2807 |001a: goto 0021 // +0007 │ │ -022832: 0d01 |001b: move-exception v1 │ │ -022834: 2826 |001c: goto 0042 // +0026 │ │ -022836: 0d01 |001d: move-exception v1 │ │ -022838: 6e10 6b05 0100 |001e: invoke-virtual {v1}, Ljava/lang/InterruptedException;.printStackTrace:()V // method@056b │ │ -02283e: 1e00 |0021: monitor-exit v0 │ │ -022840: 7010 6b04 0400 |0022: invoke-direct {v4}, Ldnsfilter/remote/RemoteAccessClient;.connect:()V // method@046b │ │ -022846: 281c |0025: goto 0041 // +001c │ │ -022848: 0d00 |0026: move-exception v0 │ │ -02284a: 5441 e902 |0027: iget-object v1, v4, Ldnsfilter/remote/RemoteAccessClient;.connectedLogger:Lutil/LoggerInterface; // field@02e9 │ │ -02284e: 2202 2d01 |0029: new-instance v2, Ljava/lang/StringBuilder; // type@012d │ │ -022852: 1a03 2604 |002b: const-string v3, "Reconnect failed:" // string@0426 │ │ -022856: 7020 aa05 3200 |002d: invoke-direct {v2, v3}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05aa │ │ -02285c: 6e10 2605 0000 |0030: invoke-virtual {v0}, Ljava/io/IOException;.toString:()Ljava/lang/String; // method@0526 │ │ -022862: 0c00 |0033: move-result-object v0 │ │ -022864: 6e20 af05 0200 |0034: invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -02286a: 6e10 b105 0200 |0037: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ -022870: 0c00 |003a: move-result-object v0 │ │ -022872: 7220 3307 0100 |003b: invoke-interface {v1, v0}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0733 │ │ -022878: 1200 |003e: const/4 v0, #int 0 // #0 │ │ -02287a: 5c40 f502 |003f: iput-boolean v0, v4, Ldnsfilter/remote/RemoteAccessClient;.valid:Z // field@02f5 │ │ -02287e: 0e00 |0041: return-void │ │ -022880: 1e00 |0042: monitor-exit v0 │ │ -022882: 2701 |0043: throw v1 │ │ +0227e8: |[0227e8] dnsfilter.remote.RemoteAccessClient.closeConnectionReconnect:()V │ │ +0227f8: 7100 8807 0000 |0000: invoke-static {}, Lutil/TimoutNotificator;.getInstance:()Lutil/TimoutNotificator; // method@0788 │ │ +0227fe: 0c00 |0003: move-result-object v0 │ │ +022800: 6e20 8d07 4000 |0004: invoke-virtual {v0, v4}, Lutil/TimoutNotificator;.unregister:(Lutil/TimeoutListener;)V // method@078d │ │ +022806: 5540 f502 |0007: iget-boolean v0, v4, Ldnsfilter/remote/RemoteAccessClient;.valid:Z // field@02f5 │ │ +02280a: 3900 0300 |0009: if-nez v0, 000c // +0003 │ │ +02280e: 0e00 |000b: return-void │ │ +022810: 6e10 7e04 0400 |000c: invoke-virtual {v4}, Ldnsfilter/remote/RemoteAccessClient;.releaseConfiguration:()V // method@047e │ │ +022816: 2200 2501 |000f: new-instance v0, Ljava/lang/Object; // type@0125 │ │ +02281a: 7010 7505 0000 |0011: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@0575 │ │ +022820: 1d00 |0014: monitor-enter v0 │ │ +022822: 1601 d007 |0015: const-wide/16 v1, #int 2000 // #7d0 │ │ +022826: 6e30 7c05 1002 |0017: invoke-virtual {v0, v1, v2}, Ljava/lang/Object;.wait:(J)V // method@057c │ │ +02282c: 2807 |001a: goto 0021 // +0007 │ │ +02282e: 0d01 |001b: move-exception v1 │ │ +022830: 2826 |001c: goto 0042 // +0026 │ │ +022832: 0d01 |001d: move-exception v1 │ │ +022834: 6e10 6b05 0100 |001e: invoke-virtual {v1}, Ljava/lang/InterruptedException;.printStackTrace:()V // method@056b │ │ +02283a: 1e00 |0021: monitor-exit v0 │ │ +02283c: 7010 6b04 0400 |0022: invoke-direct {v4}, Ldnsfilter/remote/RemoteAccessClient;.connect:()V // method@046b │ │ +022842: 281c |0025: goto 0041 // +001c │ │ +022844: 0d00 |0026: move-exception v0 │ │ +022846: 5441 e902 |0027: iget-object v1, v4, Ldnsfilter/remote/RemoteAccessClient;.connectedLogger:Lutil/LoggerInterface; // field@02e9 │ │ +02284a: 2202 2d01 |0029: new-instance v2, Ljava/lang/StringBuilder; // type@012d │ │ +02284e: 1a03 2604 |002b: const-string v3, "Reconnect failed:" // string@0426 │ │ +022852: 7020 aa05 3200 |002d: invoke-direct {v2, v3}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05aa │ │ +022858: 6e10 2605 0000 |0030: invoke-virtual {v0}, Ljava/io/IOException;.toString:()Ljava/lang/String; // method@0526 │ │ +02285e: 0c00 |0033: move-result-object v0 │ │ +022860: 6e20 af05 0200 |0034: invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +022866: 6e10 b105 0200 |0037: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ +02286c: 0c00 |003a: move-result-object v0 │ │ +02286e: 7220 3307 0100 |003b: invoke-interface {v1, v0}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0733 │ │ +022874: 1200 |003e: const/4 v0, #int 0 // #0 │ │ +022876: 5c40 f502 |003f: iput-boolean v0, v4, Ldnsfilter/remote/RemoteAccessClient;.valid:Z // field@02f5 │ │ +02287a: 0e00 |0041: return-void │ │ +02287c: 1e00 |0042: monitor-exit v0 │ │ +02287e: 2701 |0043: throw v1 │ │ catches : 4 │ │ 0x0017 - 0x001a │ │ Ljava/lang/InterruptedException; -> 0x001d │ │ -> 0x001b │ │ 0x001e - 0x0022 │ │ -> 0x001b │ │ 0x0022 - 0x0025 │ │ @@ -52278,43 +52278,43 @@ │ │ type : '()V' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 5 │ │ ins : 1 │ │ outs : 3 │ │ insns size : 53 16-bit code units │ │ -0228b0: |[0228b0] dnsfilter.remote.RemoteAccessClient.connect:()V │ │ -0228c0: 7010 7804 0400 |0000: invoke-direct {v4}, Ldnsfilter/remote/RemoteAccessClient;.initConnection:()[Ljava/lang/Object; // method@0478 │ │ -0228c6: 0c00 |0003: move-result-object v0 │ │ -0228c8: 1211 |0004: const/4 v1, #int 1 // #1 │ │ -0228ca: 4602 0001 |0005: aget-object v2, v0, v1 │ │ -0228ce: 1f02 3e01 |0007: check-cast v2, Ljava/net/Socket; // type@013e │ │ -0228d2: 5b42 eb02 |0009: iput-object v2, v4, Ldnsfilter/remote/RemoteAccessClient;.ctrlcon:Ljava/net/Socket; // field@02eb │ │ -0228d6: 1223 |000b: const/4 v3, #int 2 // #2 │ │ -0228d8: 4603 0003 |000c: aget-object v3, v0, v3 │ │ -0228dc: 1f03 0101 |000e: check-cast v3, Ljava/io/InputStream; // type@0101 │ │ -0228e0: 5b43 ed02 |0010: iput-object v3, v4, Ldnsfilter/remote/RemoteAccessClient;.in:Ljava/io/InputStream; // field@02ed │ │ -0228e4: 1233 |0012: const/4 v3, #int 3 // #3 │ │ -0228e6: 4603 0003 |0013: aget-object v3, v0, v3 │ │ -0228ea: 1f03 0501 |0015: check-cast v3, Ljava/io/OutputStream; // type@0105 │ │ -0228ee: 5b43 ef02 |0017: iput-object v3, v4, Ldnsfilter/remote/RemoteAccessClient;.out:Ljava/io/OutputStream; // field@02ef │ │ -0228f2: 6003 e402 |0019: sget v3, Ldnsfilter/remote/RemoteAccessClient;.READ_TIMEOUT:I // field@02e4 │ │ -0228f6: 6e20 ef05 3200 |001b: invoke-virtual {v2, v3}, Ljava/net/Socket;.setSoTimeout:(I)V // method@05ef │ │ -0228fc: 1202 |001e: const/4 v2, #int 0 // #0 │ │ -0228fe: 4600 0002 |001f: aget-object v0, v0, v2 │ │ -022902: 1f00 1e01 |0021: check-cast v0, Ljava/lang/Integer; // type@011e │ │ -022906: 6e10 6605 0000 |0023: invoke-virtual {v0}, Ljava/lang/Integer;.intValue:()I // method@0566 │ │ -02290c: 0a00 |0026: move-result v0 │ │ -02290e: 5940 ea02 |0027: iput v0, v4, Ldnsfilter/remote/RemoteAccessClient;.ctrlConId:I // field@02ea │ │ -022912: 2200 e900 |0029: new-instance v0, Ldnsfilter/remote/RemoteAccessClient$RemoteStream; // type@00e9 │ │ -022916: 5242 ea02 |002b: iget v2, v4, Ldnsfilter/remote/RemoteAccessClient;.ctrlConId:I // field@02ea │ │ -02291a: 7030 5c04 4002 |002d: invoke-direct {v0, v4, v2}, Ldnsfilter/remote/RemoteAccessClient$RemoteStream;.:(Ldnsfilter/remote/RemoteAccessClient;I)V // method@045c │ │ -022920: 5b40 f102 |0030: iput-object v0, v4, Ldnsfilter/remote/RemoteAccessClient;.remoteStream:Ldnsfilter/remote/RemoteAccessClient$RemoteStream; // field@02f1 │ │ -022924: 5c41 f502 |0032: iput-boolean v1, v4, Ldnsfilter/remote/RemoteAccessClient;.valid:Z // field@02f5 │ │ -022928: 0e00 |0034: return-void │ │ +0228ac: |[0228ac] dnsfilter.remote.RemoteAccessClient.connect:()V │ │ +0228bc: 7010 7804 0400 |0000: invoke-direct {v4}, Ldnsfilter/remote/RemoteAccessClient;.initConnection:()[Ljava/lang/Object; // method@0478 │ │ +0228c2: 0c00 |0003: move-result-object v0 │ │ +0228c4: 1211 |0004: const/4 v1, #int 1 // #1 │ │ +0228c6: 4602 0001 |0005: aget-object v2, v0, v1 │ │ +0228ca: 1f02 3e01 |0007: check-cast v2, Ljava/net/Socket; // type@013e │ │ +0228ce: 5b42 eb02 |0009: iput-object v2, v4, Ldnsfilter/remote/RemoteAccessClient;.ctrlcon:Ljava/net/Socket; // field@02eb │ │ +0228d2: 1223 |000b: const/4 v3, #int 2 // #2 │ │ +0228d4: 4603 0003 |000c: aget-object v3, v0, v3 │ │ +0228d8: 1f03 0101 |000e: check-cast v3, Ljava/io/InputStream; // type@0101 │ │ +0228dc: 5b43 ed02 |0010: iput-object v3, v4, Ldnsfilter/remote/RemoteAccessClient;.in:Ljava/io/InputStream; // field@02ed │ │ +0228e0: 1233 |0012: const/4 v3, #int 3 // #3 │ │ +0228e2: 4603 0003 |0013: aget-object v3, v0, v3 │ │ +0228e6: 1f03 0501 |0015: check-cast v3, Ljava/io/OutputStream; // type@0105 │ │ +0228ea: 5b43 ef02 |0017: iput-object v3, v4, Ldnsfilter/remote/RemoteAccessClient;.out:Ljava/io/OutputStream; // field@02ef │ │ +0228ee: 6003 e402 |0019: sget v3, Ldnsfilter/remote/RemoteAccessClient;.READ_TIMEOUT:I // field@02e4 │ │ +0228f2: 6e20 ef05 3200 |001b: invoke-virtual {v2, v3}, Ljava/net/Socket;.setSoTimeout:(I)V // method@05ef │ │ +0228f8: 1202 |001e: const/4 v2, #int 0 // #0 │ │ +0228fa: 4600 0002 |001f: aget-object v0, v0, v2 │ │ +0228fe: 1f00 1e01 |0021: check-cast v0, Ljava/lang/Integer; // type@011e │ │ +022902: 6e10 6605 0000 |0023: invoke-virtual {v0}, Ljava/lang/Integer;.intValue:()I // method@0566 │ │ +022908: 0a00 |0026: move-result v0 │ │ +02290a: 5940 ea02 |0027: iput v0, v4, Ldnsfilter/remote/RemoteAccessClient;.ctrlConId:I // field@02ea │ │ +02290e: 2200 e900 |0029: new-instance v0, Ldnsfilter/remote/RemoteAccessClient$RemoteStream; // type@00e9 │ │ +022912: 5242 ea02 |002b: iget v2, v4, Ldnsfilter/remote/RemoteAccessClient;.ctrlConId:I // field@02ea │ │ +022916: 7030 5c04 4002 |002d: invoke-direct {v0, v4, v2}, Ldnsfilter/remote/RemoteAccessClient$RemoteStream;.:(Ldnsfilter/remote/RemoteAccessClient;I)V // method@045c │ │ +02291c: 5b40 f102 |0030: iput-object v0, v4, Ldnsfilter/remote/RemoteAccessClient;.remoteStream:Ldnsfilter/remote/RemoteAccessClient$RemoteStream; // field@02f1 │ │ +022920: 5c41 f502 |0032: iput-boolean v1, v4, Ldnsfilter/remote/RemoteAccessClient;.valid:Z // field@02f5 │ │ +022924: 0e00 |0034: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=73 │ │ 0x0005 line=74 │ │ 0x000c line=75 │ │ 0x0013 line=76 │ │ 0x0019 line=77 │ │ @@ -52329,23 +52329,23 @@ │ │ type : '()Ljava/io/InputStream;' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 3 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 15 16-bit code units │ │ -02206c: |[02206c] dnsfilter.remote.RemoteAccessClient.getInputStream:()Ljava/io/InputStream; │ │ -02207c: 5520 f502 |0000: iget-boolean v0, v2, Ldnsfilter/remote/RemoteAccessClient;.valid:Z // field@02f5 │ │ -022080: 3800 0500 |0002: if-eqz v0, 0007 // +0005 │ │ -022084: 5420 ed02 |0004: iget-object v0, v2, Ldnsfilter/remote/RemoteAccessClient;.in:Ljava/io/InputStream; // field@02ed │ │ -022088: 1100 |0006: return-object v0 │ │ -02208a: 2200 0001 |0007: new-instance v0, Ljava/io/IOException; // type@0100 │ │ -02208e: 1a01 f203 |0009: const-string v1, "Not connected!" // string@03f2 │ │ -022092: 7020 2105 1000 |000b: invoke-direct {v0, v1}, Ljava/io/IOException;.:(Ljava/lang/String;)V // method@0521 │ │ -022098: 2700 |000e: throw v0 │ │ +022068: |[022068] dnsfilter.remote.RemoteAccessClient.getInputStream:()Ljava/io/InputStream; │ │ +022078: 5520 f502 |0000: iget-boolean v0, v2, Ldnsfilter/remote/RemoteAccessClient;.valid:Z // field@02f5 │ │ +02207c: 3800 0500 |0002: if-eqz v0, 0007 // +0005 │ │ +022080: 5420 ed02 |0004: iget-object v0, v2, Ldnsfilter/remote/RemoteAccessClient;.in:Ljava/io/InputStream; // field@02ed │ │ +022084: 1100 |0006: return-object v0 │ │ +022086: 2200 0001 |0007: new-instance v0, Ljava/io/IOException; // type@0100 │ │ +02208a: 1a01 f203 |0009: const-string v1, "Not connected!" // string@03f2 │ │ +02208e: 7020 2105 1000 |000b: invoke-direct {v0, v1}, Ljava/io/IOException;.:(Ljava/lang/String;)V // method@0521 │ │ +022094: 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; │ │ @@ -52355,23 +52355,23 @@ │ │ type : '()Ljava/io/OutputStream;' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 3 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 15 16-bit code units │ │ -02209c: |[02209c] dnsfilter.remote.RemoteAccessClient.getOutputStream:()Ljava/io/OutputStream; │ │ -0220ac: 5520 f502 |0000: iget-boolean v0, v2, Ldnsfilter/remote/RemoteAccessClient;.valid:Z // field@02f5 │ │ -0220b0: 3800 0500 |0002: if-eqz v0, 0007 // +0005 │ │ -0220b4: 5420 ef02 |0004: iget-object v0, v2, Ldnsfilter/remote/RemoteAccessClient;.out:Ljava/io/OutputStream; // field@02ef │ │ -0220b8: 1100 |0006: return-object v0 │ │ -0220ba: 2200 0001 |0007: new-instance v0, Ljava/io/IOException; // type@0100 │ │ -0220be: 1a01 f203 |0009: const-string v1, "Not connected!" // string@03f2 │ │ -0220c2: 7020 2105 1000 |000b: invoke-direct {v0, v1}, Ljava/io/IOException;.:(Ljava/lang/String;)V // method@0521 │ │ -0220c8: 2700 |000e: throw v0 │ │ +022098: |[022098] dnsfilter.remote.RemoteAccessClient.getOutputStream:()Ljava/io/OutputStream; │ │ +0220a8: 5520 f502 |0000: iget-boolean v0, v2, Ldnsfilter/remote/RemoteAccessClient;.valid:Z // field@02f5 │ │ +0220ac: 3800 0500 |0002: if-eqz v0, 0007 // +0005 │ │ +0220b0: 5420 ef02 |0004: iget-object v0, v2, Ldnsfilter/remote/RemoteAccessClient;.out:Ljava/io/OutputStream; // field@02ef │ │ +0220b4: 1100 |0006: return-object v0 │ │ +0220b6: 2200 0001 |0007: new-instance v0, Ljava/io/IOException; // type@0100 │ │ +0220ba: 1a01 f203 |0009: const-string v1, "Not connected!" // string@03f2 │ │ +0220be: 7020 2105 1000 |000b: invoke-direct {v0, v1}, Ljava/io/IOException;.:(Ljava/lang/String;)V // method@0521 │ │ +0220c4: 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; │ │ @@ -52381,109 +52381,109 @@ │ │ type : '()[Ljava/lang/Object;' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 8 │ │ ins : 1 │ │ outs : 3 │ │ insns size : 179 16-bit code units │ │ -0220e8: |[0220e8] dnsfilter.remote.RemoteAccessClient.initConnection:()[Ljava/lang/Object; │ │ -0220f8: 1200 |0000: const/4 v0, #int 0 // #0 │ │ -0220fa: 2201 3e01 |0001: new-instance v1, Ljava/net/Socket; // type@013e │ │ -0220fe: 7010 e905 0100 |0003: invoke-direct {v1}, Ljava/net/Socket;.:()V // method@05e9 │ │ -022104: 2200 3801 |0006: new-instance v0, Ljava/net/InetSocketAddress; // type@0138 │ │ -022108: 5472 ec02 |0008: iget-object v2, v7, Ldnsfilter/remote/RemoteAccessClient;.host:Ljava/lang/String; // field@02ec │ │ -02210c: 7110 d505 0200 |000a: invoke-static {v2}, Ljava/net/InetAddress;.getByName:(Ljava/lang/String;)Ljava/net/InetAddress; // method@05d5 │ │ -022112: 0c02 |000d: move-result-object v2 │ │ -022114: 5273 f002 |000e: iget v3, v7, Ldnsfilter/remote/RemoteAccessClient;.port:I // field@02f0 │ │ -022118: 7030 da05 2003 |0010: invoke-direct {v0, v2, v3}, Ljava/net/InetSocketAddress;.:(Ljava/net/InetAddress;I)V // method@05da │ │ -02211e: 6002 de02 |0013: sget v2, Ldnsfilter/remote/RemoteAccessClient;.CON_TIMEOUT:I // field@02de │ │ -022122: 6e30 eb05 0102 |0015: invoke-virtual {v1, v0, v2}, Ljava/net/Socket;.connect:(Ljava/net/SocketAddress;I)V // method@05eb │ │ -022128: 6000 e402 |0018: sget v0, Ldnsfilter/remote/RemoteAccessClient;.READ_TIMEOUT:I // field@02e4 │ │ -02212c: 6e20 ef05 0100 |001a: invoke-virtual {v1, v0}, Ljava/net/Socket;.setSoTimeout:(I)V // method@05ef │ │ -022132: 6e10 ed05 0100 |001d: invoke-virtual {v1}, Ljava/net/Socket;.getOutputStream:()Ljava/io/OutputStream; // method@05ed │ │ -022138: 0c00 |0020: move-result-object v0 │ │ -02213a: 1302 0004 |0021: const/16 v2, #int 1024 // #400 │ │ -02213e: 7120 cd06 2000 |0023: invoke-static {v0, v2}, Lutil/Encryption;.getEncryptedOutputStream:(Ljava/io/OutputStream;I)Ljava/io/OutputStream; // method@06cd │ │ -022144: 0c00 |0026: move-result-object v0 │ │ -022146: 6e10 ec05 0100 |0027: invoke-virtual {v1}, Ljava/net/Socket;.getInputStream:()Ljava/io/InputStream; // method@05ec │ │ -02214c: 0c02 |002a: move-result-object v2 │ │ -02214e: 7110 cc06 0200 |002b: invoke-static {v2}, Lutil/Encryption;.getDecryptedStream:(Ljava/io/InputStream;)Ljava/io/InputStream; // method@06cc │ │ -022154: 0c02 |002e: move-result-object v2 │ │ -022156: 1a03 7600 |002f: const-string v3, "1505801 │ │ +0220e4: |[0220e4] dnsfilter.remote.RemoteAccessClient.initConnection:()[Ljava/lang/Object; │ │ +0220f4: 1200 |0000: const/4 v0, #int 0 // #0 │ │ +0220f6: 2201 3e01 |0001: new-instance v1, Ljava/net/Socket; // type@013e │ │ +0220fa: 7010 e905 0100 |0003: invoke-direct {v1}, Ljava/net/Socket;.:()V // method@05e9 │ │ +022100: 2200 3801 |0006: new-instance v0, Ljava/net/InetSocketAddress; // type@0138 │ │ +022104: 5472 ec02 |0008: iget-object v2, v7, Ldnsfilter/remote/RemoteAccessClient;.host:Ljava/lang/String; // field@02ec │ │ +022108: 7110 d505 0200 |000a: invoke-static {v2}, Ljava/net/InetAddress;.getByName:(Ljava/lang/String;)Ljava/net/InetAddress; // method@05d5 │ │ +02210e: 0c02 |000d: move-result-object v2 │ │ +022110: 5273 f002 |000e: iget v3, v7, Ldnsfilter/remote/RemoteAccessClient;.port:I // field@02f0 │ │ +022114: 7030 da05 2003 |0010: invoke-direct {v0, v2, v3}, Ljava/net/InetSocketAddress;.:(Ljava/net/InetAddress;I)V // method@05da │ │ +02211a: 6002 de02 |0013: sget v2, Ldnsfilter/remote/RemoteAccessClient;.CON_TIMEOUT:I // field@02de │ │ +02211e: 6e30 eb05 0102 |0015: invoke-virtual {v1, v0, v2}, Ljava/net/Socket;.connect:(Ljava/net/SocketAddress;I)V // method@05eb │ │ +022124: 6000 e402 |0018: sget v0, Ldnsfilter/remote/RemoteAccessClient;.READ_TIMEOUT:I // field@02e4 │ │ +022128: 6e20 ef05 0100 |001a: invoke-virtual {v1, v0}, Ljava/net/Socket;.setSoTimeout:(I)V // method@05ef │ │ +02212e: 6e10 ed05 0100 |001d: invoke-virtual {v1}, Ljava/net/Socket;.getOutputStream:()Ljava/io/OutputStream; // method@05ed │ │ +022134: 0c00 |0020: move-result-object v0 │ │ +022136: 1302 0004 |0021: const/16 v2, #int 1024 // #400 │ │ +02213a: 7120 cd06 2000 |0023: invoke-static {v0, v2}, Lutil/Encryption;.getEncryptedOutputStream:(Ljava/io/OutputStream;I)Ljava/io/OutputStream; // method@06cd │ │ +022140: 0c00 |0026: move-result-object v0 │ │ +022142: 6e10 ec05 0100 |0027: invoke-virtual {v1}, Ljava/net/Socket;.getInputStream:()Ljava/io/InputStream; // method@05ec │ │ +022148: 0c02 |002a: move-result-object v2 │ │ +02214a: 7110 cc06 0200 |002b: invoke-static {v2}, Lutil/Encryption;.getDecryptedStream:(Ljava/io/InputStream;)Ljava/io/InputStream; // method@06cc │ │ +022150: 0c02 |002e: move-result-object v2 │ │ +022152: 1a03 7600 |002f: const-string v3, "1505801 │ │ new_session │ │ " // string@0076 │ │ -02215a: 6e10 8f05 0300 |0031: invoke-virtual {v3}, Ljava/lang/String;.getBytes:()[B // method@058f │ │ -022160: 0c03 |0034: move-result-object v3 │ │ -022162: 6e20 3805 3000 |0035: invoke-virtual {v0, v3}, Ljava/io/OutputStream;.write:([B)V // method@0538 │ │ -022168: 6e10 3605 0000 |0038: invoke-virtual {v0}, Ljava/io/OutputStream;.flush:()V // method@0536 │ │ -02216e: 7110 9f07 0200 |003b: invoke-static {v2}, Lutil/Utils;.readLineFromStream:(Ljava/io/InputStream;)Ljava/lang/String; // method@079f │ │ -022174: 0c03 |003e: move-result-object v3 │ │ -022176: 1a04 fa03 |003f: const-string v4, "OK" // string@03fa │ │ -02217a: 6e20 8d05 4300 |0041: invoke-virtual {v3, v4}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058d │ │ -022180: 0a04 |0044: move-result v4 │ │ -022182: 3804 4500 |0045: if-eqz v4, 008a // +0045 │ │ -022186: 7110 9f07 0200 |0047: invoke-static {v2}, Lutil/Utils;.readLineFromStream:(Ljava/io/InputStream;)Ljava/lang/String; // method@079f │ │ -02218c: 0c03 |004a: move-result-object v3 │ │ -02218e: 7110 6705 0300 |004b: invoke-static {v3}, Ljava/lang/Integer;.parseInt:(Ljava/lang/String;)I // method@0567 │ │ -022194: 0a03 |004e: move-result v3 │ │ -022196: 7110 9f07 0200 |004f: invoke-static {v2}, Lutil/Utils;.readLineFromStream:(Ljava/io/InputStream;)Ljava/lang/String; // method@079f │ │ -02219c: 0c04 |0052: move-result-object v4 │ │ -02219e: 5b74 f202 |0053: iput-object v4, v7, Ldnsfilter/remote/RemoteAccessClient;.remote_version:Ljava/lang/String; // field@02f2 │ │ -0221a2: 7110 9f07 0200 |0055: invoke-static {v2}, Lutil/Utils;.readLineFromStream:(Ljava/io/InputStream;)Ljava/lang/String; // method@079f │ │ -0221a8: 0c04 |0058: move-result-object v4 │ │ -0221aa: 5b74 ee02 |0059: iput-object v4, v7, Ldnsfilter/remote/RemoteAccessClient;.last_dns:Ljava/lang/String; // field@02ee │ │ -0221ae: 7110 9f07 0200 |005b: invoke-static {v2}, Lutil/Utils;.readLineFromStream:(Ljava/io/InputStream;)Ljava/lang/String; // method@079f │ │ -0221b4: 0c04 |005e: move-result-object v4 │ │ -0221b6: 7110 6705 0400 |005f: invoke-static {v4}, Ljava/lang/Integer;.parseInt:(Ljava/lang/String;)I // method@0567 │ │ -0221bc: 0a04 |0062: move-result v4 │ │ -0221be: 5974 e802 |0063: iput v4, v7, Ldnsfilter/remote/RemoteAccessClient;.con_cnt:I // field@02e8 │ │ -0221c2: 1204 |0065: const/4 v4, #int 0 // #0 │ │ -0221c4: 6e20 ef05 4100 |0066: invoke-virtual {v1, v4}, Ljava/net/Socket;.setSoTimeout:(I)V // method@05ef │ │ -0221ca: 1245 |0069: const/4 v5, #int 4 // #4 │ │ -0221cc: 2355 ac01 |006a: new-array v5, v5, [Ljava/lang/Object; // type@01ac │ │ -0221d0: 7110 6a05 0300 |006c: invoke-static {v3}, Ljava/lang/Integer;.valueOf:(I)Ljava/lang/Integer; // method@056a │ │ -0221d6: 0c03 |006f: move-result-object v3 │ │ -0221d8: 4d03 0504 |0070: aput-object v3, v5, v4 │ │ -0221dc: 1213 |0072: const/4 v3, #int 1 // #1 │ │ -0221de: 4d01 0503 |0073: aput-object v1, v5, v3 │ │ -0221e2: 1223 |0075: const/4 v3, #int 2 // #2 │ │ -0221e4: 4d02 0503 |0076: aput-object v2, v5, v3 │ │ -0221e8: 1232 |0078: const/4 v2, #int 3 // #3 │ │ -0221ea: 4d00 0502 |0079: aput-object v0, v5, v2 │ │ -0221ee: 1105 |007b: return-object v5 │ │ -0221f0: 0d00 |007c: move-exception v0 │ │ -0221f2: 2202 0001 |007d: new-instance v2, Ljava/io/IOException; // type@0100 │ │ -0221f6: 7020 2305 0200 |007f: invoke-direct {v2, v0}, Ljava/io/IOException;.:(Ljava/lang/Throwable;)V // method@0523 │ │ -0221fc: 2702 |0082: throw v2 │ │ -0221fe: 0d00 |0083: move-exception v0 │ │ -022200: 2202 0001 |0084: new-instance v2, Ljava/io/IOException; // type@0100 │ │ -022204: 7020 2305 0200 |0086: invoke-direct {v2, v0}, Ljava/io/IOException;.:(Ljava/lang/Throwable;)V // method@0523 │ │ -02220a: 2702 |0089: throw v2 │ │ -02220c: 2200 0001 |008a: new-instance v0, Ljava/io/IOException; // type@0100 │ │ -022210: 7020 2105 3000 |008c: invoke-direct {v0, v3}, Ljava/io/IOException;.:(Ljava/lang/String;)V // method@0521 │ │ -022216: 2700 |008f: throw v0 │ │ -022218: 0d00 |0090: move-exception v0 │ │ -02221a: 2805 |0091: goto 0096 // +0005 │ │ -02221c: 0d01 |0092: move-exception v1 │ │ -02221e: 0716 |0093: move-object v6, v1 │ │ -022220: 0701 |0094: move-object v1, v0 │ │ -022222: 0760 |0095: move-object v0, v6 │ │ -022224: 5472 e902 |0096: iget-object v2, v7, Ldnsfilter/remote/RemoteAccessClient;.connectedLogger:Lutil/LoggerInterface; // field@02e9 │ │ -022228: 2203 2d01 |0098: new-instance v3, Ljava/lang/StringBuilder; // type@012d │ │ -02222c: 1a04 8901 |009a: const-string v4, "Exception during initConnection(): " // string@0189 │ │ -022230: 7020 aa05 4300 |009c: invoke-direct {v3, v4}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05aa │ │ -022236: 6e10 2605 0000 |009f: invoke-virtual {v0}, Ljava/io/IOException;.toString:()Ljava/lang/String; // method@0526 │ │ -02223c: 0c04 |00a2: move-result-object v4 │ │ -02223e: 6e20 af05 4300 |00a3: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -022244: 6e10 b105 0300 |00a6: invoke-virtual {v3}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ -02224a: 0c03 |00a9: move-result-object v3 │ │ -02224c: 7220 3307 3200 |00aa: invoke-interface {v2, v3}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0733 │ │ -022252: 3801 0500 |00ad: if-eqz v1, 00b2 // +0005 │ │ -022256: 7110 9207 0100 |00af: invoke-static {v1}, Lutil/Utils;.closeSocket:(Ljava/net/Socket;)V // method@0792 │ │ -02225c: 2700 |00b2: throw v0 │ │ +022156: 6e10 8f05 0300 |0031: invoke-virtual {v3}, Ljava/lang/String;.getBytes:()[B // method@058f │ │ +02215c: 0c03 |0034: move-result-object v3 │ │ +02215e: 6e20 3805 3000 |0035: invoke-virtual {v0, v3}, Ljava/io/OutputStream;.write:([B)V // method@0538 │ │ +022164: 6e10 3605 0000 |0038: invoke-virtual {v0}, Ljava/io/OutputStream;.flush:()V // method@0536 │ │ +02216a: 7110 9f07 0200 |003b: invoke-static {v2}, Lutil/Utils;.readLineFromStream:(Ljava/io/InputStream;)Ljava/lang/String; // method@079f │ │ +022170: 0c03 |003e: move-result-object v3 │ │ +022172: 1a04 fa03 |003f: const-string v4, "OK" // string@03fa │ │ +022176: 6e20 8d05 4300 |0041: invoke-virtual {v3, v4}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058d │ │ +02217c: 0a04 |0044: move-result v4 │ │ +02217e: 3804 4500 |0045: if-eqz v4, 008a // +0045 │ │ +022182: 7110 9f07 0200 |0047: invoke-static {v2}, Lutil/Utils;.readLineFromStream:(Ljava/io/InputStream;)Ljava/lang/String; // method@079f │ │ +022188: 0c03 |004a: move-result-object v3 │ │ +02218a: 7110 6705 0300 |004b: invoke-static {v3}, Ljava/lang/Integer;.parseInt:(Ljava/lang/String;)I // method@0567 │ │ +022190: 0a03 |004e: move-result v3 │ │ +022192: 7110 9f07 0200 |004f: invoke-static {v2}, Lutil/Utils;.readLineFromStream:(Ljava/io/InputStream;)Ljava/lang/String; // method@079f │ │ +022198: 0c04 |0052: move-result-object v4 │ │ +02219a: 5b74 f202 |0053: iput-object v4, v7, Ldnsfilter/remote/RemoteAccessClient;.remote_version:Ljava/lang/String; // field@02f2 │ │ +02219e: 7110 9f07 0200 |0055: invoke-static {v2}, Lutil/Utils;.readLineFromStream:(Ljava/io/InputStream;)Ljava/lang/String; // method@079f │ │ +0221a4: 0c04 |0058: move-result-object v4 │ │ +0221a6: 5b74 ee02 |0059: iput-object v4, v7, Ldnsfilter/remote/RemoteAccessClient;.last_dns:Ljava/lang/String; // field@02ee │ │ +0221aa: 7110 9f07 0200 |005b: invoke-static {v2}, Lutil/Utils;.readLineFromStream:(Ljava/io/InputStream;)Ljava/lang/String; // method@079f │ │ +0221b0: 0c04 |005e: move-result-object v4 │ │ +0221b2: 7110 6705 0400 |005f: invoke-static {v4}, Ljava/lang/Integer;.parseInt:(Ljava/lang/String;)I // method@0567 │ │ +0221b8: 0a04 |0062: move-result v4 │ │ +0221ba: 5974 e802 |0063: iput v4, v7, Ldnsfilter/remote/RemoteAccessClient;.con_cnt:I // field@02e8 │ │ +0221be: 1204 |0065: const/4 v4, #int 0 // #0 │ │ +0221c0: 6e20 ef05 4100 |0066: invoke-virtual {v1, v4}, Ljava/net/Socket;.setSoTimeout:(I)V // method@05ef │ │ +0221c6: 1245 |0069: const/4 v5, #int 4 // #4 │ │ +0221c8: 2355 ac01 |006a: new-array v5, v5, [Ljava/lang/Object; // type@01ac │ │ +0221cc: 7110 6a05 0300 |006c: invoke-static {v3}, Ljava/lang/Integer;.valueOf:(I)Ljava/lang/Integer; // method@056a │ │ +0221d2: 0c03 |006f: move-result-object v3 │ │ +0221d4: 4d03 0504 |0070: aput-object v3, v5, v4 │ │ +0221d8: 1213 |0072: const/4 v3, #int 1 // #1 │ │ +0221da: 4d01 0503 |0073: aput-object v1, v5, v3 │ │ +0221de: 1223 |0075: const/4 v3, #int 2 // #2 │ │ +0221e0: 4d02 0503 |0076: aput-object v2, v5, v3 │ │ +0221e4: 1232 |0078: const/4 v2, #int 3 // #3 │ │ +0221e6: 4d00 0502 |0079: aput-object v0, v5, v2 │ │ +0221ea: 1105 |007b: return-object v5 │ │ +0221ec: 0d00 |007c: move-exception v0 │ │ +0221ee: 2202 0001 |007d: new-instance v2, Ljava/io/IOException; // type@0100 │ │ +0221f2: 7020 2305 0200 |007f: invoke-direct {v2, v0}, Ljava/io/IOException;.:(Ljava/lang/Throwable;)V // method@0523 │ │ +0221f8: 2702 |0082: throw v2 │ │ +0221fa: 0d00 |0083: move-exception v0 │ │ +0221fc: 2202 0001 |0084: new-instance v2, Ljava/io/IOException; // type@0100 │ │ +022200: 7020 2305 0200 |0086: invoke-direct {v2, v0}, Ljava/io/IOException;.:(Ljava/lang/Throwable;)V // method@0523 │ │ +022206: 2702 |0089: throw v2 │ │ +022208: 2200 0001 |008a: new-instance v0, Ljava/io/IOException; // type@0100 │ │ +02220c: 7020 2105 3000 |008c: invoke-direct {v0, v3}, Ljava/io/IOException;.:(Ljava/lang/String;)V // method@0521 │ │ +022212: 2700 |008f: throw v0 │ │ +022214: 0d00 |0090: move-exception v0 │ │ +022216: 2805 |0091: goto 0096 // +0005 │ │ +022218: 0d01 |0092: move-exception v1 │ │ +02221a: 0716 |0093: move-object v6, v1 │ │ +02221c: 0701 |0094: move-object v1, v0 │ │ +02221e: 0760 |0095: move-object v0, v6 │ │ +022220: 5472 e902 |0096: iget-object v2, v7, Ldnsfilter/remote/RemoteAccessClient;.connectedLogger:Lutil/LoggerInterface; // field@02e9 │ │ +022224: 2203 2d01 |0098: new-instance v3, Ljava/lang/StringBuilder; // type@012d │ │ +022228: 1a04 8901 |009a: const-string v4, "Exception during initConnection(): " // string@0189 │ │ +02222c: 7020 aa05 4300 |009c: invoke-direct {v3, v4}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05aa │ │ +022232: 6e10 2605 0000 |009f: invoke-virtual {v0}, Ljava/io/IOException;.toString:()Ljava/lang/String; // method@0526 │ │ +022238: 0c04 |00a2: move-result-object v4 │ │ +02223a: 6e20 af05 4300 |00a3: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +022240: 6e10 b105 0300 |00a6: invoke-virtual {v3}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ +022246: 0c03 |00a9: move-result-object v3 │ │ +022248: 7220 3307 3200 |00aa: invoke-interface {v2, v3}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0733 │ │ +02224e: 3801 0500 |00ad: if-eqz v1, 00b2 // +0005 │ │ +022252: 7110 9207 0100 |00af: invoke-static {v1}, Lutil/Utils;.closeSocket:(Ljava/net/Socket;)V // method@0792 │ │ +022258: 2700 |00b2: throw v0 │ │ catches : 6 │ │ 0x0001 - 0x0006 │ │ Ljava/io/IOException; -> 0x0092 │ │ 0x0006 - 0x0045 │ │ Ljava/io/IOException; -> 0x0090 │ │ 0x0047 - 0x004f │ │ Ljava/lang/Exception; -> 0x0083 │ │ @@ -52525,23 +52525,23 @@ │ │ type : '()V' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 3 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 16 16-bit code units │ │ -022a7c: |[022a7c] dnsfilter.remote.RemoteAccessClient.processHeartBeat:()V │ │ -022a8c: 5420 e902 |0000: iget-object v0, v2, Ldnsfilter/remote/RemoteAccessClient;.connectedLogger:Lutil/LoggerInterface; // field@02e9 │ │ -022a90: 1a01 b301 |0002: const-string v1, "Heart Beat!" // string@01b3 │ │ -022a94: 7220 3407 1000 |0004: invoke-interface {v0, v1}, Lutil/LoggerInterface;.message:(Ljava/lang/String;)V // method@0734 │ │ -022a9a: 1200 |0007: const/4 v0, #int 0 // #0 │ │ -022a9c: 5920 f302 |0008: iput v0, v2, Ldnsfilter/remote/RemoteAccessClient;.timeOutCounter:I // field@02f3 │ │ -022aa0: 6000 e402 |000a: sget v0, Ldnsfilter/remote/RemoteAccessClient;.READ_TIMEOUT:I // field@02e4 │ │ -022aa4: 7020 8104 0200 |000c: invoke-direct {v2, v0}, Ldnsfilter/remote/RemoteAccessClient;.setTimeout:(I)V // method@0481 │ │ -022aaa: 0e00 |000f: return-void │ │ +022a78: |[022a78] dnsfilter.remote.RemoteAccessClient.processHeartBeat:()V │ │ +022a88: 5420 e902 |0000: iget-object v0, v2, Ldnsfilter/remote/RemoteAccessClient;.connectedLogger:Lutil/LoggerInterface; // field@02e9 │ │ +022a8c: 1a01 b301 |0002: const-string v1, "Heart Beat!" // string@01b3 │ │ +022a90: 7220 3407 1000 |0004: invoke-interface {v0, v1}, Lutil/LoggerInterface;.message:(Ljava/lang/String;)V // method@0734 │ │ +022a96: 1200 |0007: const/4 v0, #int 0 // #0 │ │ +022a98: 5920 f302 |0008: iput v0, v2, Ldnsfilter/remote/RemoteAccessClient;.timeOutCounter:I // field@02f3 │ │ +022a9c: 6000 e402 |000a: sget v0, Ldnsfilter/remote/RemoteAccessClient;.READ_TIMEOUT:I // field@02e4 │ │ +022aa0: 7020 8104 0200 |000c: invoke-direct {v2, v0}, Ldnsfilter/remote/RemoteAccessClient;.setTimeout:(I)V // method@0481 │ │ +022aa6: 0e00 |000f: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=531 │ │ 0x0008 line=532 │ │ 0x000a line=533 │ │ locals : │ │ 0x0000 - 0x0010 reg=2 this Ldnsfilter/remote/RemoteAccessClient; │ │ @@ -52551,24 +52551,24 @@ │ │ type : '(I)V' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 6 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 16 16-bit code units │ │ -022ba8: |[022ba8] dnsfilter.remote.RemoteAccessClient.setTimeout:(I)V │ │ -022bb8: 7100 b305 0000 |0000: invoke-static {}, Ljava/lang/System;.currentTimeMillis:()J // method@05b3 │ │ -022bbe: 0b00 |0003: move-result-wide v0 │ │ -022bc0: 8152 |0004: int-to-long v2, v5 │ │ -022bc2: bb20 |0005: add-long/2addr v0, v2 │ │ -022bc4: 5a40 f402 |0006: iput-wide v0, v4, Ldnsfilter/remote/RemoteAccessClient;.timeout:J // field@02f4 │ │ -022bc8: 7100 8807 0000 |0008: invoke-static {}, Lutil/TimoutNotificator;.getInstance:()Lutil/TimoutNotificator; // method@0788 │ │ -022bce: 0c05 |000b: move-result-object v5 │ │ -022bd0: 6e20 8a07 4500 |000c: invoke-virtual {v5, v4}, Lutil/TimoutNotificator;.register:(Lutil/TimeoutListener;)V // method@078a │ │ -022bd6: 0e00 |000f: return-void │ │ +022ba4: |[022ba4] dnsfilter.remote.RemoteAccessClient.setTimeout:(I)V │ │ +022bb4: 7100 b305 0000 |0000: invoke-static {}, Ljava/lang/System;.currentTimeMillis:()J // method@05b3 │ │ +022bba: 0b00 |0003: move-result-wide v0 │ │ +022bbc: 8152 |0004: int-to-long v2, v5 │ │ +022bbe: bb20 |0005: add-long/2addr v0, v2 │ │ +022bc0: 5a40 f402 |0006: iput-wide v0, v4, Ldnsfilter/remote/RemoteAccessClient;.timeout:J // field@02f4 │ │ +022bc4: 7100 8807 0000 |0008: invoke-static {}, Lutil/TimoutNotificator;.getInstance:()Lutil/TimoutNotificator; // method@0788 │ │ +022bca: 0c05 |000b: move-result-object v5 │ │ +022bcc: 6e20 8a07 4500 |000c: invoke-virtual {v5, v4}, Lutil/TimoutNotificator;.register:(Lutil/TimeoutListener;)V // method@078a │ │ +022bd2: 0e00 |000f: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=538 │ │ 0x0008 line=539 │ │ locals : │ │ 0x0000 - 0x0010 reg=4 this Ldnsfilter/remote/RemoteAccessClient; │ │ 0x0000 - 0x0010 reg=5 (null) I │ │ @@ -52578,84 +52578,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 │ │ -022c50: |[022c50] dnsfilter.remote.RemoteAccessClient.triggerAction:(Ljava/lang/String;Ljava/lang/String;)V │ │ -022c60: 1a00 0200 |0000: const-string v0, " │ │ +022c4c: |[022c4c] dnsfilter.remote.RemoteAccessClient.triggerAction:(Ljava/lang/String;Ljava/lang/String;)V │ │ +022c5c: 1a00 0200 |0000: const-string v0, " │ │ " // string@0002 │ │ -022c64: 7010 7504 0300 |0002: invoke-direct {v3}, Ldnsfilter/remote/RemoteAccessClient;.getOutputStream:()Ljava/io/OutputStream; // method@0475 │ │ -022c6a: 0c01 |0005: move-result-object v1 │ │ -022c6c: 2202 2d01 |0006: new-instance v2, Ljava/lang/StringBuilder; // type@012d │ │ -022c70: 7010 a905 0200 |0008: invoke-direct {v2}, Ljava/lang/StringBuilder;.:()V // method@05a9 │ │ -022c76: 6e20 af05 4200 |000b: invoke-virtual {v2, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -022c7c: 6e20 af05 0200 |000e: invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -022c82: 6e10 b105 0200 |0011: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ -022c88: 0c02 |0014: move-result-object v2 │ │ -022c8a: 6e10 8f05 0200 |0015: invoke-virtual {v2}, Ljava/lang/String;.getBytes:()[B // method@058f │ │ -022c90: 0c02 |0018: move-result-object v2 │ │ -022c92: 6e20 3805 2100 |0019: invoke-virtual {v1, v2}, Ljava/io/OutputStream;.write:([B)V // method@0538 │ │ -022c98: 3805 1c00 |001c: if-eqz v5, 0038 // +001c │ │ -022c9c: 7010 7504 0300 |001e: invoke-direct {v3}, Ldnsfilter/remote/RemoteAccessClient;.getOutputStream:()Ljava/io/OutputStream; // method@0475 │ │ -022ca2: 0c01 |0021: move-result-object v1 │ │ -022ca4: 2202 2d01 |0022: new-instance v2, Ljava/lang/StringBuilder; // type@012d │ │ -022ca8: 7010 a905 0200 |0024: invoke-direct {v2}, Ljava/lang/StringBuilder;.:()V // method@05a9 │ │ -022cae: 6e20 af05 5200 |0027: invoke-virtual {v2, v5}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -022cb4: 6e20 af05 0200 |002a: invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -022cba: 6e10 b105 0200 |002d: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ -022cc0: 0c05 |0030: move-result-object v5 │ │ -022cc2: 6e10 8f05 0500 |0031: invoke-virtual {v5}, Ljava/lang/String;.getBytes:()[B // method@058f │ │ -022cc8: 0c05 |0034: move-result-object v5 │ │ -022cca: 6e20 3805 5100 |0035: invoke-virtual {v1, v5}, Ljava/io/OutputStream;.write:([B)V // method@0538 │ │ -022cd0: 7010 7504 0300 |0038: invoke-direct {v3}, Ldnsfilter/remote/RemoteAccessClient;.getOutputStream:()Ljava/io/OutputStream; // method@0475 │ │ -022cd6: 0c05 |003b: move-result-object v5 │ │ -022cd8: 6e10 3605 0500 |003c: invoke-virtual {v5}, Ljava/io/OutputStream;.flush:()V // method@0536 │ │ -022cde: 7010 7304 0300 |003f: invoke-direct {v3}, Ldnsfilter/remote/RemoteAccessClient;.getInputStream:()Ljava/io/InputStream; // method@0473 │ │ -022ce4: 0c05 |0042: move-result-object v5 │ │ -022ce6: 7110 9f07 0500 |0043: invoke-static {v5}, Lutil/Utils;.readLineFromStream:(Ljava/io/InputStream;)Ljava/lang/String; // method@079f │ │ -022cec: 0c05 |0046: move-result-object v5 │ │ -022cee: 1a00 fa03 |0047: const-string v0, "OK" // string@03fa │ │ -022cf2: 6e20 8d05 0500 |0049: invoke-virtual {v5, v0}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058d │ │ -022cf8: 0a00 |004c: move-result v0 │ │ -022cfa: 3800 0300 |004d: if-eqz v0, 0050 // +0003 │ │ -022cfe: 0e00 |004f: return-void │ │ -022d00: 2200 8200 |0050: new-instance v0, Ldnsfilter/ConfigurationAccess$ConfigurationAccessException; // type@0082 │ │ -022d04: 1201 |0052: const/4 v1, #int 0 // #0 │ │ -022d06: 7030 4501 5001 |0053: invoke-direct {v0, v5, v1}, Ldnsfilter/ConfigurationAccess$ConfigurationAccessException;.:(Ljava/lang/String;Ljava/io/IOException;)V // method@0145 │ │ -022d0c: 2700 |0056: throw v0 │ │ -022d0e: 0d05 |0057: move-exception v5 │ │ -022d10: 5430 e902 |0058: iget-object v0, v3, Ldnsfilter/remote/RemoteAccessClient;.connectedLogger:Lutil/LoggerInterface; // field@02e9 │ │ -022d14: 2201 2d01 |005a: new-instance v1, Ljava/lang/StringBuilder; // type@012d │ │ -022d18: 1a02 3004 |005c: const-string v2, "Remote action " // string@0430 │ │ -022d1c: 7020 aa05 2100 |005e: invoke-direct {v1, v2}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05aa │ │ -022d22: 6e20 af05 4100 |0061: invoke-virtual {v1, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -022d28: 1a04 1c00 |0064: const-string v4, " failed! " // string@001c │ │ -022d2c: 6e20 af05 4100 |0066: invoke-virtual {v1, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -022d32: 6e10 2405 0500 |0069: invoke-virtual {v5}, Ljava/io/IOException;.getMessage:()Ljava/lang/String; // method@0524 │ │ -022d38: 0c04 |006c: move-result-object v4 │ │ -022d3a: 6e20 af05 4100 |006d: invoke-virtual {v1, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -022d40: 6e10 b105 0100 |0070: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ -022d46: 0c04 |0073: move-result-object v4 │ │ -022d48: 7220 3307 4000 |0074: invoke-interface {v0, v4}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0733 │ │ -022d4e: 7010 6a04 0300 |0077: invoke-direct {v3}, Ldnsfilter/remote/RemoteAccessClient;.closeConnectionReconnect:()V // method@046a │ │ -022d54: 2705 |007a: throw v5 │ │ -022d56: 0d04 |007b: move-exception v4 │ │ -022d58: 5435 e902 |007c: iget-object v5, v3, Ldnsfilter/remote/RemoteAccessClient;.connectedLogger:Lutil/LoggerInterface; // field@02e9 │ │ -022d5c: 2200 2d01 |007e: new-instance v0, Ljava/lang/StringBuilder; // type@012d │ │ -022d60: 1a01 3404 |0080: const-string v1, "Remote action failed! " // string@0434 │ │ -022d64: 7020 aa05 1000 |0082: invoke-direct {v0, v1}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05aa │ │ -022d6a: 6e10 4601 0400 |0085: invoke-virtual {v4}, Ldnsfilter/ConfigurationAccess$ConfigurationAccessException;.getMessage:()Ljava/lang/String; // method@0146 │ │ -022d70: 0c01 |0088: move-result-object v1 │ │ -022d72: 6e20 af05 1000 |0089: invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -022d78: 6e10 b105 0000 |008c: invoke-virtual {v0}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ -022d7e: 0c00 |008f: move-result-object v0 │ │ -022d80: 7220 3307 0500 |0090: invoke-interface {v5, v0}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0733 │ │ -022d86: 2704 |0093: throw v4 │ │ +022c60: 7010 7504 0300 |0002: invoke-direct {v3}, Ldnsfilter/remote/RemoteAccessClient;.getOutputStream:()Ljava/io/OutputStream; // method@0475 │ │ +022c66: 0c01 |0005: move-result-object v1 │ │ +022c68: 2202 2d01 |0006: new-instance v2, Ljava/lang/StringBuilder; // type@012d │ │ +022c6c: 7010 a905 0200 |0008: invoke-direct {v2}, Ljava/lang/StringBuilder;.:()V // method@05a9 │ │ +022c72: 6e20 af05 4200 |000b: invoke-virtual {v2, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +022c78: 6e20 af05 0200 |000e: invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +022c7e: 6e10 b105 0200 |0011: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ +022c84: 0c02 |0014: move-result-object v2 │ │ +022c86: 6e10 8f05 0200 |0015: invoke-virtual {v2}, Ljava/lang/String;.getBytes:()[B // method@058f │ │ +022c8c: 0c02 |0018: move-result-object v2 │ │ +022c8e: 6e20 3805 2100 |0019: invoke-virtual {v1, v2}, Ljava/io/OutputStream;.write:([B)V // method@0538 │ │ +022c94: 3805 1c00 |001c: if-eqz v5, 0038 // +001c │ │ +022c98: 7010 7504 0300 |001e: invoke-direct {v3}, Ldnsfilter/remote/RemoteAccessClient;.getOutputStream:()Ljava/io/OutputStream; // method@0475 │ │ +022c9e: 0c01 |0021: move-result-object v1 │ │ +022ca0: 2202 2d01 |0022: new-instance v2, Ljava/lang/StringBuilder; // type@012d │ │ +022ca4: 7010 a905 0200 |0024: invoke-direct {v2}, Ljava/lang/StringBuilder;.:()V // method@05a9 │ │ +022caa: 6e20 af05 5200 |0027: invoke-virtual {v2, v5}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +022cb0: 6e20 af05 0200 |002a: invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +022cb6: 6e10 b105 0200 |002d: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ +022cbc: 0c05 |0030: move-result-object v5 │ │ +022cbe: 6e10 8f05 0500 |0031: invoke-virtual {v5}, Ljava/lang/String;.getBytes:()[B // method@058f │ │ +022cc4: 0c05 |0034: move-result-object v5 │ │ +022cc6: 6e20 3805 5100 |0035: invoke-virtual {v1, v5}, Ljava/io/OutputStream;.write:([B)V // method@0538 │ │ +022ccc: 7010 7504 0300 |0038: invoke-direct {v3}, Ldnsfilter/remote/RemoteAccessClient;.getOutputStream:()Ljava/io/OutputStream; // method@0475 │ │ +022cd2: 0c05 |003b: move-result-object v5 │ │ +022cd4: 6e10 3605 0500 |003c: invoke-virtual {v5}, Ljava/io/OutputStream;.flush:()V // method@0536 │ │ +022cda: 7010 7304 0300 |003f: invoke-direct {v3}, Ldnsfilter/remote/RemoteAccessClient;.getInputStream:()Ljava/io/InputStream; // method@0473 │ │ +022ce0: 0c05 |0042: move-result-object v5 │ │ +022ce2: 7110 9f07 0500 |0043: invoke-static {v5}, Lutil/Utils;.readLineFromStream:(Ljava/io/InputStream;)Ljava/lang/String; // method@079f │ │ +022ce8: 0c05 |0046: move-result-object v5 │ │ +022cea: 1a00 fa03 |0047: const-string v0, "OK" // string@03fa │ │ +022cee: 6e20 8d05 0500 |0049: invoke-virtual {v5, v0}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058d │ │ +022cf4: 0a00 |004c: move-result v0 │ │ +022cf6: 3800 0300 |004d: if-eqz v0, 0050 // +0003 │ │ +022cfa: 0e00 |004f: return-void │ │ +022cfc: 2200 8200 |0050: new-instance v0, Ldnsfilter/ConfigurationAccess$ConfigurationAccessException; // type@0082 │ │ +022d00: 1201 |0052: const/4 v1, #int 0 // #0 │ │ +022d02: 7030 4501 5001 |0053: invoke-direct {v0, v5, v1}, Ldnsfilter/ConfigurationAccess$ConfigurationAccessException;.:(Ljava/lang/String;Ljava/io/IOException;)V // method@0145 │ │ +022d08: 2700 |0056: throw v0 │ │ +022d0a: 0d05 |0057: move-exception v5 │ │ +022d0c: 5430 e902 |0058: iget-object v0, v3, Ldnsfilter/remote/RemoteAccessClient;.connectedLogger:Lutil/LoggerInterface; // field@02e9 │ │ +022d10: 2201 2d01 |005a: new-instance v1, Ljava/lang/StringBuilder; // type@012d │ │ +022d14: 1a02 3004 |005c: const-string v2, "Remote action " // string@0430 │ │ +022d18: 7020 aa05 2100 |005e: invoke-direct {v1, v2}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05aa │ │ +022d1e: 6e20 af05 4100 |0061: invoke-virtual {v1, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +022d24: 1a04 1c00 |0064: const-string v4, " failed! " // string@001c │ │ +022d28: 6e20 af05 4100 |0066: invoke-virtual {v1, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +022d2e: 6e10 2405 0500 |0069: invoke-virtual {v5}, Ljava/io/IOException;.getMessage:()Ljava/lang/String; // method@0524 │ │ +022d34: 0c04 |006c: move-result-object v4 │ │ +022d36: 6e20 af05 4100 |006d: invoke-virtual {v1, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +022d3c: 6e10 b105 0100 |0070: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ +022d42: 0c04 |0073: move-result-object v4 │ │ +022d44: 7220 3307 4000 |0074: invoke-interface {v0, v4}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0733 │ │ +022d4a: 7010 6a04 0300 |0077: invoke-direct {v3}, Ldnsfilter/remote/RemoteAccessClient;.closeConnectionReconnect:()V // method@046a │ │ +022d50: 2705 |007a: throw v5 │ │ +022d52: 0d04 |007b: move-exception v4 │ │ +022d54: 5435 e902 |007c: iget-object v5, v3, Ldnsfilter/remote/RemoteAccessClient;.connectedLogger:Lutil/LoggerInterface; // field@02e9 │ │ +022d58: 2200 2d01 |007e: new-instance v0, Ljava/lang/StringBuilder; // type@012d │ │ +022d5c: 1a01 3404 |0080: const-string v1, "Remote action failed! " // string@0434 │ │ +022d60: 7020 aa05 1000 |0082: invoke-direct {v0, v1}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05aa │ │ +022d66: 6e10 4601 0400 |0085: invoke-virtual {v4}, Ldnsfilter/ConfigurationAccess$ConfigurationAccessException;.getMessage:()Ljava/lang/String; // method@0146 │ │ +022d6c: 0c01 |0088: move-result-object v1 │ │ +022d6e: 6e20 af05 1000 |0089: invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +022d74: 6e10 b105 0000 |008c: invoke-virtual {v0}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ +022d7a: 0c00 |008f: move-result-object v0 │ │ +022d7c: 7220 3307 0500 |0090: invoke-interface {v5, v0}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0733 │ │ +022d82: 2704 |0093: throw v4 │ │ catches : 1 │ │ 0x0002 - 0x0057 │ │ Ldnsfilter/ConfigurationAccess$ConfigurationAccessException; -> 0x007b │ │ Ljava/io/IOException; -> 0x0057 │ │ positions : │ │ 0x0000 line=174 │ │ 0x001e line=177 │ │ @@ -52680,47 +52680,47 @@ │ │ type : '(Ljava/io/OutputStream;)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 5 │ │ ins : 2 │ │ outs : 3 │ │ insns size : 68 16-bit code units │ │ -02292c: |[02292c] dnsfilter.remote.RemoteAccessClient.doBackup:(Ljava/io/OutputStream;)V │ │ -02293c: 2200 f900 |0000: new-instance v0, Ljava/io/DataOutputStream; // type@00f9 │ │ -022940: 7010 7504 0300 |0002: invoke-direct {v3}, Ldnsfilter/remote/RemoteAccessClient;.getOutputStream:()Ljava/io/OutputStream; // method@0475 │ │ -022946: 0c01 |0005: move-result-object v1 │ │ -022948: 7020 f704 1000 |0006: invoke-direct {v0, v1}, Ljava/io/DataOutputStream;.:(Ljava/io/OutputStream;)V // method@04f7 │ │ -02294e: 2201 f800 |0009: new-instance v1, Ljava/io/DataInputStream; // type@00f8 │ │ -022952: 7010 7304 0300 |000b: invoke-direct {v3}, Ldnsfilter/remote/RemoteAccessClient;.getInputStream:()Ljava/io/InputStream; // method@0473 │ │ -022958: 0c02 |000e: move-result-object v2 │ │ -02295a: 7020 f004 2100 |000f: invoke-direct {v1, v2}, Ljava/io/DataInputStream;.:(Ljava/io/InputStream;)V // method@04f0 │ │ -022960: 1a02 8506 |0012: const-string v2, "doBackup() │ │ +022928: |[022928] dnsfilter.remote.RemoteAccessClient.doBackup:(Ljava/io/OutputStream;)V │ │ +022938: 2200 f900 |0000: new-instance v0, Ljava/io/DataOutputStream; // type@00f9 │ │ +02293c: 7010 7504 0300 |0002: invoke-direct {v3}, Ldnsfilter/remote/RemoteAccessClient;.getOutputStream:()Ljava/io/OutputStream; // method@0475 │ │ +022942: 0c01 |0005: move-result-object v1 │ │ +022944: 7020 f704 1000 |0006: invoke-direct {v0, v1}, Ljava/io/DataOutputStream;.:(Ljava/io/OutputStream;)V // method@04f7 │ │ +02294a: 2201 f800 |0009: new-instance v1, Ljava/io/DataInputStream; // type@00f8 │ │ +02294e: 7010 7304 0300 |000b: invoke-direct {v3}, Ldnsfilter/remote/RemoteAccessClient;.getInputStream:()Ljava/io/InputStream; // method@0473 │ │ +022954: 0c02 |000e: move-result-object v2 │ │ +022956: 7020 f004 2100 |000f: invoke-direct {v1, v2}, Ljava/io/DataInputStream;.:(Ljava/io/InputStream;)V // method@04f0 │ │ +02295c: 1a02 8506 |0012: const-string v2, "doBackup() │ │ " // string@0685 │ │ -022964: 6e10 8f05 0200 |0014: invoke-virtual {v2}, Ljava/lang/String;.getBytes:()[B // method@058f │ │ -02296a: 0c02 |0017: move-result-object v2 │ │ -02296c: 6e20 fa04 2000 |0018: invoke-virtual {v0, v2}, Ljava/io/DataOutputStream;.write:([B)V // method@04fa │ │ -022972: 6e10 f904 0000 |001b: invoke-virtual {v0}, Ljava/io/DataOutputStream;.flush:()V // method@04f9 │ │ -022978: 7110 9f07 0100 |001e: invoke-static {v1}, Lutil/Utils;.readLineFromStream:(Ljava/io/InputStream;)Ljava/lang/String; // method@079f │ │ -02297e: 0c00 |0021: move-result-object v0 │ │ -022980: 1a02 fa03 |0022: const-string v2, "OK" // string@03fa │ │ -022984: 6e20 8d05 2000 |0024: invoke-virtual {v0, v2}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058d │ │ -02298a: 0a02 |0027: move-result v2 │ │ -02298c: 3802 1500 |0028: if-eqz v2, 003d // +0015 │ │ -022990: 6e10 f404 0100 |002a: invoke-virtual {v1}, Ljava/io/DataInputStream;.readInt:()I // method@04f4 │ │ -022996: 0a00 |002d: move-result v0 │ │ -022998: 2300 9d01 |002e: new-array v0, v0, [B // type@019d │ │ -02299c: 6e20 f204 0100 |0030: invoke-virtual {v1, v0}, Ljava/io/DataInputStream;.readFully:([B)V // method@04f2 │ │ -0229a2: 6e20 3805 0400 |0033: invoke-virtual {v4, v0}, Ljava/io/OutputStream;.write:([B)V // method@0538 │ │ -0229a8: 6e10 3605 0400 |0036: invoke-virtual {v4}, Ljava/io/OutputStream;.flush:()V // method@0536 │ │ -0229ae: 6e10 3505 0400 |0039: invoke-virtual {v4}, Ljava/io/OutputStream;.close:()V // method@0535 │ │ -0229b4: 0e00 |003c: return-void │ │ -0229b6: 2204 8200 |003d: new-instance v4, Ldnsfilter/ConfigurationAccess$ConfigurationAccessException; // type@0082 │ │ -0229ba: 1201 |003f: const/4 v1, #int 0 // #0 │ │ -0229bc: 7030 4501 0401 |0040: invoke-direct {v4, v0, v1}, Ldnsfilter/ConfigurationAccess$ConfigurationAccessException;.:(Ljava/lang/String;Ljava/io/IOException;)V // method@0145 │ │ -0229c2: 2704 |0043: throw v4 │ │ +022960: 6e10 8f05 0200 |0014: invoke-virtual {v2}, Ljava/lang/String;.getBytes:()[B // method@058f │ │ +022966: 0c02 |0017: move-result-object v2 │ │ +022968: 6e20 fa04 2000 |0018: invoke-virtual {v0, v2}, Ljava/io/DataOutputStream;.write:([B)V // method@04fa │ │ +02296e: 6e10 f904 0000 |001b: invoke-virtual {v0}, Ljava/io/DataOutputStream;.flush:()V // method@04f9 │ │ +022974: 7110 9f07 0100 |001e: invoke-static {v1}, Lutil/Utils;.readLineFromStream:(Ljava/io/InputStream;)Ljava/lang/String; // method@079f │ │ +02297a: 0c00 |0021: move-result-object v0 │ │ +02297c: 1a02 fa03 |0022: const-string v2, "OK" // string@03fa │ │ +022980: 6e20 8d05 2000 |0024: invoke-virtual {v0, v2}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058d │ │ +022986: 0a02 |0027: move-result v2 │ │ +022988: 3802 1500 |0028: if-eqz v2, 003d // +0015 │ │ +02298c: 6e10 f404 0100 |002a: invoke-virtual {v1}, Ljava/io/DataInputStream;.readInt:()I // method@04f4 │ │ +022992: 0a00 |002d: move-result v0 │ │ +022994: 2300 9d01 |002e: new-array v0, v0, [B // type@019d │ │ +022998: 6e20 f204 0100 |0030: invoke-virtual {v1, v0}, Ljava/io/DataInputStream;.readFully:([B)V // method@04f2 │ │ +02299e: 6e20 3805 0400 |0033: invoke-virtual {v4, v0}, Ljava/io/OutputStream;.write:([B)V // method@0538 │ │ +0229a4: 6e10 3605 0400 |0036: invoke-virtual {v4}, Ljava/io/OutputStream;.flush:()V // method@0536 │ │ +0229aa: 6e10 3505 0400 |0039: invoke-virtual {v4}, Ljava/io/OutputStream;.close:()V // method@0535 │ │ +0229b0: 0e00 |003c: return-void │ │ +0229b2: 2204 8200 |003d: new-instance v4, Ldnsfilter/ConfigurationAccess$ConfigurationAccessException; // type@0082 │ │ +0229b6: 1201 |003f: const/4 v1, #int 0 // #0 │ │ +0229b8: 7030 4501 0401 |0040: invoke-direct {v4, v0, v1}, Ldnsfilter/ConfigurationAccess$ConfigurationAccessException;.:(Ljava/lang/String;Ljava/io/IOException;)V // method@0145 │ │ +0229be: 2704 |0043: throw v4 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=484 │ │ 0x0009 line=485 │ │ 0x0012 line=486 │ │ 0x001b line=487 │ │ 0x001e line=488 │ │ @@ -52740,47 +52740,47 @@ │ │ type : '(Ljava/io/InputStream;)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 5 │ │ ins : 2 │ │ outs : 3 │ │ insns size : 66 16-bit code units │ │ -0229c4: |[0229c4] dnsfilter.remote.RemoteAccessClient.doRestore:(Ljava/io/InputStream;)V │ │ -0229d4: 6e10 7904 0300 |0000: invoke-virtual {v3}, Ldnsfilter/remote/RemoteAccessClient;.invalidate:()V // method@0479 │ │ -0229da: 2200 f900 |0003: new-instance v0, Ljava/io/DataOutputStream; // type@00f9 │ │ -0229de: 7010 7504 0300 |0005: invoke-direct {v3}, Ldnsfilter/remote/RemoteAccessClient;.getOutputStream:()Ljava/io/OutputStream; // method@0475 │ │ -0229e4: 0c01 |0008: move-result-object v1 │ │ -0229e6: 7020 f704 1000 |0009: invoke-direct {v0, v1}, Ljava/io/DataOutputStream;.:(Ljava/io/OutputStream;)V // method@04f7 │ │ -0229ec: 2201 f800 |000c: new-instance v1, Ljava/io/DataInputStream; // type@00f8 │ │ -0229f0: 7010 7304 0300 |000e: invoke-direct {v3}, Ldnsfilter/remote/RemoteAccessClient;.getInputStream:()Ljava/io/InputStream; // method@0473 │ │ -0229f6: 0c02 |0011: move-result-object v2 │ │ -0229f8: 7020 f004 2100 |0012: invoke-direct {v1, v2}, Ljava/io/DataInputStream;.:(Ljava/io/InputStream;)V // method@04f0 │ │ -0229fe: 1a02 8c06 |0015: const-string v2, "doRestore() │ │ +0229c0: |[0229c0] dnsfilter.remote.RemoteAccessClient.doRestore:(Ljava/io/InputStream;)V │ │ +0229d0: 6e10 7904 0300 |0000: invoke-virtual {v3}, Ldnsfilter/remote/RemoteAccessClient;.invalidate:()V // method@0479 │ │ +0229d6: 2200 f900 |0003: new-instance v0, Ljava/io/DataOutputStream; // type@00f9 │ │ +0229da: 7010 7504 0300 |0005: invoke-direct {v3}, Ldnsfilter/remote/RemoteAccessClient;.getOutputStream:()Ljava/io/OutputStream; // method@0475 │ │ +0229e0: 0c01 |0008: move-result-object v1 │ │ +0229e2: 7020 f704 1000 |0009: invoke-direct {v0, v1}, Ljava/io/DataOutputStream;.:(Ljava/io/OutputStream;)V // method@04f7 │ │ +0229e8: 2201 f800 |000c: new-instance v1, Ljava/io/DataInputStream; // type@00f8 │ │ +0229ec: 7010 7304 0300 |000e: invoke-direct {v3}, Ldnsfilter/remote/RemoteAccessClient;.getInputStream:()Ljava/io/InputStream; // method@0473 │ │ +0229f2: 0c02 |0011: move-result-object v2 │ │ +0229f4: 7020 f004 2100 |0012: invoke-direct {v1, v2}, Ljava/io/DataInputStream;.:(Ljava/io/InputStream;)V // method@04f0 │ │ +0229fa: 1a02 8c06 |0015: const-string v2, "doRestore() │ │ " // string@068c │ │ -022a02: 6e10 8f05 0200 |0017: invoke-virtual {v2}, Ljava/lang/String;.getBytes:()[B // method@058f │ │ -022a08: 0c02 |001a: move-result-object v2 │ │ -022a0a: 6e20 fa04 2000 |001b: invoke-virtual {v0, v2}, Ljava/io/DataOutputStream;.write:([B)V // method@04fa │ │ -022a10: 1302 0004 |001e: const/16 v2, #int 1024 // #400 │ │ -022a14: 7120 9d07 2400 |0020: invoke-static {v4, v2}, Lutil/Utils;.readFully:(Ljava/io/InputStream;I)[B // method@079d │ │ -022a1a: 0c04 |0023: move-result-object v4 │ │ -022a1c: 2142 |0024: array-length v2, v4 │ │ -022a1e: 6e20 fd04 2000 |0025: invoke-virtual {v0, v2}, Ljava/io/DataOutputStream;.writeInt:(I)V // method@04fd │ │ -022a24: 6e20 fa04 4000 |0028: invoke-virtual {v0, v4}, Ljava/io/DataOutputStream;.write:([B)V // method@04fa │ │ -022a2a: 6e10 f904 0000 |002b: invoke-virtual {v0}, Ljava/io/DataOutputStream;.flush:()V // method@04f9 │ │ -022a30: 7110 9f07 0100 |002e: invoke-static {v1}, Lutil/Utils;.readLineFromStream:(Ljava/io/InputStream;)Ljava/lang/String; // method@079f │ │ -022a36: 0c04 |0031: move-result-object v4 │ │ -022a38: 1a00 fa03 |0032: const-string v0, "OK" // string@03fa │ │ -022a3c: 6e20 8d05 0400 |0034: invoke-virtual {v4, v0}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058d │ │ -022a42: 0a00 |0037: move-result v0 │ │ -022a44: 3800 0300 |0038: if-eqz v0, 003b // +0003 │ │ -022a48: 0e00 |003a: return-void │ │ -022a4a: 2200 8200 |003b: new-instance v0, Ldnsfilter/ConfigurationAccess$ConfigurationAccessException; // type@0082 │ │ -022a4e: 1201 |003d: const/4 v1, #int 0 // #0 │ │ -022a50: 7030 4501 4001 |003e: invoke-direct {v0, v4, v1}, Ldnsfilter/ConfigurationAccess$ConfigurationAccessException;.:(Ljava/lang/String;Ljava/io/IOException;)V // method@0145 │ │ -022a56: 2700 |0041: throw v0 │ │ +0229fe: 6e10 8f05 0200 |0017: invoke-virtual {v2}, Ljava/lang/String;.getBytes:()[B // method@058f │ │ +022a04: 0c02 |001a: move-result-object v2 │ │ +022a06: 6e20 fa04 2000 |001b: invoke-virtual {v0, v2}, Ljava/io/DataOutputStream;.write:([B)V // method@04fa │ │ +022a0c: 1302 0004 |001e: const/16 v2, #int 1024 // #400 │ │ +022a10: 7120 9d07 2400 |0020: invoke-static {v4, v2}, Lutil/Utils;.readFully:(Ljava/io/InputStream;I)[B // method@079d │ │ +022a16: 0c04 |0023: move-result-object v4 │ │ +022a18: 2142 |0024: array-length v2, v4 │ │ +022a1a: 6e20 fd04 2000 |0025: invoke-virtual {v0, v2}, Ljava/io/DataOutputStream;.writeInt:(I)V // method@04fd │ │ +022a20: 6e20 fa04 4000 |0028: invoke-virtual {v0, v4}, Ljava/io/DataOutputStream;.write:([B)V // method@04fa │ │ +022a26: 6e10 f904 0000 |002b: invoke-virtual {v0}, Ljava/io/DataOutputStream;.flush:()V // method@04f9 │ │ +022a2c: 7110 9f07 0100 |002e: invoke-static {v1}, Lutil/Utils;.readLineFromStream:(Ljava/io/InputStream;)Ljava/lang/String; // method@079f │ │ +022a32: 0c04 |0031: move-result-object v4 │ │ +022a34: 1a00 fa03 |0032: const-string v0, "OK" // string@03fa │ │ +022a38: 6e20 8d05 0400 |0034: invoke-virtual {v4, v0}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058d │ │ +022a3e: 0a00 |0037: move-result v0 │ │ +022a40: 3800 0300 |0038: if-eqz v0, 003b // +0003 │ │ +022a44: 0e00 |003a: return-void │ │ +022a46: 2200 8200 |003b: new-instance v0, Ldnsfilter/ConfigurationAccess$ConfigurationAccessException; // type@0082 │ │ +022a4a: 1201 |003d: const/4 v1, #int 0 // #0 │ │ +022a4c: 7030 4501 4001 |003e: invoke-direct {v0, v4, v1}, Ldnsfilter/ConfigurationAccess$ConfigurationAccessException;.:(Ljava/lang/String;Ljava/io/IOException;)V // method@0145 │ │ +022a52: 2700 |0041: throw v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=507 │ │ 0x0003 line=508 │ │ 0x000c line=509 │ │ 0x0015 line=510 │ │ 0x0020 line=511 │ │ @@ -52799,20 +52799,20 @@ │ │ type : '()V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 3 │ │ ins : 1 │ │ outs : 3 │ │ insns size : 10 16-bit code units │ │ -022a58: |[022a58] dnsfilter.remote.RemoteAccessClient.doRestoreDefaults:()V │ │ -022a68: 6e10 7904 0200 |0000: invoke-virtual {v2}, Ldnsfilter/remote/RemoteAccessClient;.invalidate:()V // method@0479 │ │ -022a6e: 1a00 8e06 |0003: const-string v0, "doRestoreDefaults()" // string@068e │ │ -022a72: 1201 |0005: const/4 v1, #int 0 // #0 │ │ -022a74: 7030 8504 0201 |0006: invoke-direct {v2, v0, v1}, Ldnsfilter/remote/RemoteAccessClient;.triggerAction:(Ljava/lang/String;Ljava/lang/String;)V // method@0485 │ │ -022a7a: 0e00 |0009: return-void │ │ +022a54: |[022a54] dnsfilter.remote.RemoteAccessClient.doRestoreDefaults:()V │ │ +022a64: 6e10 7904 0200 |0000: invoke-virtual {v2}, Ldnsfilter/remote/RemoteAccessClient;.invalidate:()V // method@0479 │ │ +022a6a: 1a00 8e06 |0003: const-string v0, "doRestoreDefaults()" // string@068e │ │ +022a6e: 1201 |0005: const/4 v1, #int 0 // #0 │ │ +022a70: 7030 8504 0201 |0006: invoke-direct {v2, v0, v1}, Ldnsfilter/remote/RemoteAccessClient;.triggerAction:(Ljava/lang/String;Ljava/lang/String;)V // method@0485 │ │ +022a76: 0e00 |0009: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=501 │ │ 0x0003 line=502 │ │ locals : │ │ 0x0000 - 0x000a reg=2 this Ldnsfilter/remote/RemoteAccessClient; │ │ │ │ @@ -52821,70 +52821,70 @@ │ │ type : '(I)[B' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 5 │ │ ins : 2 │ │ outs : 3 │ │ insns size : 115 16-bit code units │ │ -021e34: |[021e34] dnsfilter.remote.RemoteAccessClient.getAdditionalHosts:(I)[B │ │ -021e44: 2200 f900 |0000: new-instance v0, Ljava/io/DataOutputStream; // type@00f9 │ │ -021e48: 7010 7504 0300 |0002: invoke-direct {v3}, Ldnsfilter/remote/RemoteAccessClient;.getOutputStream:()Ljava/io/OutputStream; // method@0475 │ │ -021e4e: 0c01 |0005: move-result-object v1 │ │ -021e50: 7020 f704 1000 |0006: invoke-direct {v0, v1}, Ljava/io/DataOutputStream;.:(Ljava/io/OutputStream;)V // method@04f7 │ │ -021e56: 2201 f800 |0009: new-instance v1, Ljava/io/DataInputStream; // type@00f8 │ │ -021e5a: 7010 7304 0300 |000b: invoke-direct {v3}, Ldnsfilter/remote/RemoteAccessClient;.getInputStream:()Ljava/io/InputStream; // method@0473 │ │ -021e60: 0c02 |000e: move-result-object v2 │ │ -021e62: 7020 f004 2100 |000f: invoke-direct {v1, v2}, Ljava/io/DataInputStream;.:(Ljava/io/InputStream;)V // method@04f0 │ │ -021e68: 1a02 2b07 |0012: const-string v2, "getAdditionalHosts() │ │ +021e30: |[021e30] dnsfilter.remote.RemoteAccessClient.getAdditionalHosts:(I)[B │ │ +021e40: 2200 f900 |0000: new-instance v0, Ljava/io/DataOutputStream; // type@00f9 │ │ +021e44: 7010 7504 0300 |0002: invoke-direct {v3}, Ldnsfilter/remote/RemoteAccessClient;.getOutputStream:()Ljava/io/OutputStream; // method@0475 │ │ +021e4a: 0c01 |0005: move-result-object v1 │ │ +021e4c: 7020 f704 1000 |0006: invoke-direct {v0, v1}, Ljava/io/DataOutputStream;.:(Ljava/io/OutputStream;)V // method@04f7 │ │ +021e52: 2201 f800 |0009: new-instance v1, Ljava/io/DataInputStream; // type@00f8 │ │ +021e56: 7010 7304 0300 |000b: invoke-direct {v3}, Ldnsfilter/remote/RemoteAccessClient;.getInputStream:()Ljava/io/InputStream; // method@0473 │ │ +021e5c: 0c02 |000e: move-result-object v2 │ │ +021e5e: 7020 f004 2100 |000f: invoke-direct {v1, v2}, Ljava/io/DataInputStream;.:(Ljava/io/InputStream;)V // method@04f0 │ │ +021e64: 1a02 2b07 |0012: const-string v2, "getAdditionalHosts() │ │ " // string@072b │ │ -021e6c: 6e10 8f05 0200 |0014: invoke-virtual {v2}, Ljava/lang/String;.getBytes:()[B // method@058f │ │ -021e72: 0c02 |0017: move-result-object v2 │ │ -021e74: 6e20 fa04 2000 |0018: invoke-virtual {v0, v2}, Ljava/io/DataOutputStream;.write:([B)V // method@04fa │ │ -021e7a: 6e20 fd04 4000 |001b: invoke-virtual {v0, v4}, Ljava/io/DataOutputStream;.writeInt:(I)V // method@04fd │ │ -021e80: 6e10 f904 0000 |001e: invoke-virtual {v0}, Ljava/io/DataOutputStream;.flush:()V // method@04f9 │ │ -021e86: 7110 9f07 0100 |0021: invoke-static {v1}, Lutil/Utils;.readLineFromStream:(Ljava/io/InputStream;)Ljava/lang/String; // method@079f │ │ -021e8c: 0c04 |0024: move-result-object v4 │ │ -021e8e: 1a00 fa03 |0025: const-string v0, "OK" // string@03fa │ │ -021e92: 6e20 8d05 0400 |0027: invoke-virtual {v4, v0}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058d │ │ -021e98: 0a00 |002a: move-result v0 │ │ -021e9a: 3800 0c00 |002b: if-eqz v0, 0037 // +000c │ │ -021e9e: 6e10 f404 0100 |002d: invoke-virtual {v1}, Ljava/io/DataInputStream;.readInt:()I // method@04f4 │ │ -021ea4: 0a04 |0030: move-result v4 │ │ -021ea6: 2344 9d01 |0031: new-array v4, v4, [B // type@019d │ │ -021eaa: 6e20 f204 4100 |0033: invoke-virtual {v1, v4}, Ljava/io/DataInputStream;.readFully:([B)V // method@04f2 │ │ -021eb0: 1104 |0036: return-object v4 │ │ -021eb2: 2200 8200 |0037: new-instance v0, Ldnsfilter/ConfigurationAccess$ConfigurationAccessException; // type@0082 │ │ -021eb6: 1201 |0039: const/4 v1, #int 0 // #0 │ │ -021eb8: 7030 4501 4001 |003a: invoke-direct {v0, v4, v1}, Ldnsfilter/ConfigurationAccess$ConfigurationAccessException;.:(Ljava/lang/String;Ljava/io/IOException;)V // method@0145 │ │ -021ebe: 2700 |003d: throw v0 │ │ -021ec0: 0d04 |003e: move-exception v4 │ │ -021ec2: 5430 e902 |003f: iget-object v0, v3, Ldnsfilter/remote/RemoteAccessClient;.connectedLogger:Lutil/LoggerInterface; // field@02e9 │ │ -021ec6: 2201 2d01 |0041: new-instance v1, Ljava/lang/StringBuilder; // type@012d │ │ -021eca: 1a02 3504 |0043: const-string v2, "Remote action getAdditionalHosts() failed! " // string@0435 │ │ -021ece: 7020 aa05 2100 |0045: invoke-direct {v1, v2}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05aa │ │ -021ed4: 6e10 2405 0400 |0048: invoke-virtual {v4}, Ljava/io/IOException;.getMessage:()Ljava/lang/String; // method@0524 │ │ -021eda: 0c02 |004b: move-result-object v2 │ │ -021edc: 6e20 af05 2100 |004c: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -021ee2: 6e10 b105 0100 |004f: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ -021ee8: 0c01 |0052: move-result-object v1 │ │ -021eea: 7220 3307 1000 |0053: invoke-interface {v0, v1}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0733 │ │ -021ef0: 7010 6a04 0300 |0056: invoke-direct {v3}, Ldnsfilter/remote/RemoteAccessClient;.closeConnectionReconnect:()V // method@046a │ │ -021ef6: 2704 |0059: throw v4 │ │ -021ef8: 0d04 |005a: move-exception v4 │ │ -021efa: 5430 e902 |005b: iget-object v0, v3, Ldnsfilter/remote/RemoteAccessClient;.connectedLogger:Lutil/LoggerInterface; // field@02e9 │ │ -021efe: 2201 2d01 |005d: new-instance v1, Ljava/lang/StringBuilder; // type@012d │ │ -021f02: 1a02 3404 |005f: const-string v2, "Remote action failed! " // string@0434 │ │ -021f06: 7020 aa05 2100 |0061: invoke-direct {v1, v2}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05aa │ │ -021f0c: 6e10 4601 0400 |0064: invoke-virtual {v4}, Ldnsfilter/ConfigurationAccess$ConfigurationAccessException;.getMessage:()Ljava/lang/String; // method@0146 │ │ -021f12: 0c02 |0067: move-result-object v2 │ │ -021f14: 6e20 af05 2100 |0068: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -021f1a: 6e10 b105 0100 |006b: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ -021f20: 0c01 |006e: move-result-object v1 │ │ -021f22: 7220 3307 1000 |006f: invoke-interface {v0, v1}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0733 │ │ -021f28: 2704 |0072: throw v4 │ │ +021e68: 6e10 8f05 0200 |0014: invoke-virtual {v2}, Ljava/lang/String;.getBytes:()[B // method@058f │ │ +021e6e: 0c02 |0017: move-result-object v2 │ │ +021e70: 6e20 fa04 2000 |0018: invoke-virtual {v0, v2}, Ljava/io/DataOutputStream;.write:([B)V // method@04fa │ │ +021e76: 6e20 fd04 4000 |001b: invoke-virtual {v0, v4}, Ljava/io/DataOutputStream;.writeInt:(I)V // method@04fd │ │ +021e7c: 6e10 f904 0000 |001e: invoke-virtual {v0}, Ljava/io/DataOutputStream;.flush:()V // method@04f9 │ │ +021e82: 7110 9f07 0100 |0021: invoke-static {v1}, Lutil/Utils;.readLineFromStream:(Ljava/io/InputStream;)Ljava/lang/String; // method@079f │ │ +021e88: 0c04 |0024: move-result-object v4 │ │ +021e8a: 1a00 fa03 |0025: const-string v0, "OK" // string@03fa │ │ +021e8e: 6e20 8d05 0400 |0027: invoke-virtual {v4, v0}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058d │ │ +021e94: 0a00 |002a: move-result v0 │ │ +021e96: 3800 0c00 |002b: if-eqz v0, 0037 // +000c │ │ +021e9a: 6e10 f404 0100 |002d: invoke-virtual {v1}, Ljava/io/DataInputStream;.readInt:()I // method@04f4 │ │ +021ea0: 0a04 |0030: move-result v4 │ │ +021ea2: 2344 9d01 |0031: new-array v4, v4, [B // type@019d │ │ +021ea6: 6e20 f204 4100 |0033: invoke-virtual {v1, v4}, Ljava/io/DataInputStream;.readFully:([B)V // method@04f2 │ │ +021eac: 1104 |0036: return-object v4 │ │ +021eae: 2200 8200 |0037: new-instance v0, Ldnsfilter/ConfigurationAccess$ConfigurationAccessException; // type@0082 │ │ +021eb2: 1201 |0039: const/4 v1, #int 0 // #0 │ │ +021eb4: 7030 4501 4001 |003a: invoke-direct {v0, v4, v1}, Ldnsfilter/ConfigurationAccess$ConfigurationAccessException;.:(Ljava/lang/String;Ljava/io/IOException;)V // method@0145 │ │ +021eba: 2700 |003d: throw v0 │ │ +021ebc: 0d04 |003e: move-exception v4 │ │ +021ebe: 5430 e902 |003f: iget-object v0, v3, Ldnsfilter/remote/RemoteAccessClient;.connectedLogger:Lutil/LoggerInterface; // field@02e9 │ │ +021ec2: 2201 2d01 |0041: new-instance v1, Ljava/lang/StringBuilder; // type@012d │ │ +021ec6: 1a02 3504 |0043: const-string v2, "Remote action getAdditionalHosts() failed! " // string@0435 │ │ +021eca: 7020 aa05 2100 |0045: invoke-direct {v1, v2}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05aa │ │ +021ed0: 6e10 2405 0400 |0048: invoke-virtual {v4}, Ljava/io/IOException;.getMessage:()Ljava/lang/String; // method@0524 │ │ +021ed6: 0c02 |004b: move-result-object v2 │ │ +021ed8: 6e20 af05 2100 |004c: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +021ede: 6e10 b105 0100 |004f: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ +021ee4: 0c01 |0052: move-result-object v1 │ │ +021ee6: 7220 3307 1000 |0053: invoke-interface {v0, v1}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0733 │ │ +021eec: 7010 6a04 0300 |0056: invoke-direct {v3}, Ldnsfilter/remote/RemoteAccessClient;.closeConnectionReconnect:()V // method@046a │ │ +021ef2: 2704 |0059: throw v4 │ │ +021ef4: 0d04 |005a: move-exception v4 │ │ +021ef6: 5430 e902 |005b: iget-object v0, v3, Ldnsfilter/remote/RemoteAccessClient;.connectedLogger:Lutil/LoggerInterface; // field@02e9 │ │ +021efa: 2201 2d01 |005d: new-instance v1, Ljava/lang/StringBuilder; // type@012d │ │ +021efe: 1a02 3404 |005f: const-string v2, "Remote action failed! " // string@0434 │ │ +021f02: 7020 aa05 2100 |0061: invoke-direct {v1, v2}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05aa │ │ +021f08: 6e10 4601 0400 |0064: invoke-virtual {v4}, Ldnsfilter/ConfigurationAccess$ConfigurationAccessException;.getMessage:()Ljava/lang/String; // method@0146 │ │ +021f0e: 0c02 |0067: move-result-object v2 │ │ +021f10: 6e20 af05 2100 |0068: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +021f16: 6e10 b105 0100 |006b: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ +021f1c: 0c01 |006e: move-result-object v1 │ │ +021f1e: 7220 3307 1000 |006f: invoke-interface {v0, v1}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0733 │ │ +021f24: 2704 |0072: throw v4 │ │ catches : 1 │ │ 0x0000 - 0x003e │ │ Ldnsfilter/ConfigurationAccess$ConfigurationAccessException; -> 0x005a │ │ Ljava/io/IOException; -> 0x003e │ │ positions : │ │ 0x0000 line=356 │ │ 0x0009 line=357 │ │ @@ -52910,74 +52910,74 @@ │ │ type : '()Ljava/util/Properties;' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 5 │ │ ins : 1 │ │ outs : 3 │ │ insns size : 120 16-bit code units │ │ -02233c: |[02233c] dnsfilter.remote.RemoteAccessClient.getConfig:()Ljava/util/Properties; │ │ -02234c: 7010 7504 0400 |0000: invoke-direct {v4}, Ldnsfilter/remote/RemoteAccessClient;.getOutputStream:()Ljava/io/OutputStream; // method@0475 │ │ -022352: 0c00 |0003: move-result-object v0 │ │ -022354: 1a01 4507 |0004: const-string v1, "getConfig() │ │ +022338: |[022338] dnsfilter.remote.RemoteAccessClient.getConfig:()Ljava/util/Properties; │ │ +022348: 7010 7504 0400 |0000: invoke-direct {v4}, Ldnsfilter/remote/RemoteAccessClient;.getOutputStream:()Ljava/io/OutputStream; // method@0475 │ │ +02234e: 0c00 |0003: move-result-object v0 │ │ +022350: 1a01 4507 |0004: const-string v1, "getConfig() │ │ " // string@0745 │ │ -022358: 6e10 8f05 0100 |0006: invoke-virtual {v1}, Ljava/lang/String;.getBytes:()[B // method@058f │ │ -02235e: 0c01 |0009: move-result-object v1 │ │ -022360: 6e20 3805 1000 |000a: invoke-virtual {v0, v1}, Ljava/io/OutputStream;.write:([B)V // method@0538 │ │ -022366: 7010 7504 0400 |000d: invoke-direct {v4}, Ldnsfilter/remote/RemoteAccessClient;.getOutputStream:()Ljava/io/OutputStream; // method@0475 │ │ -02236c: 0c00 |0010: move-result-object v0 │ │ -02236e: 6e10 3605 0000 |0011: invoke-virtual {v0}, Ljava/io/OutputStream;.flush:()V // method@0536 │ │ -022374: 7010 7304 0400 |0014: invoke-direct {v4}, Ldnsfilter/remote/RemoteAccessClient;.getInputStream:()Ljava/io/InputStream; // method@0473 │ │ -02237a: 0c00 |0017: move-result-object v0 │ │ -02237c: 7110 9f07 0000 |0018: invoke-static {v0}, Lutil/Utils;.readLineFromStream:(Ljava/io/InputStream;)Ljava/lang/String; // method@079f │ │ -022382: 0c01 |001b: move-result-object v1 │ │ -022384: 1a02 fa03 |001c: const-string v2, "OK" // string@03fa │ │ -022388: 6e20 8d05 2100 |001e: invoke-virtual {v1, v2}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058d │ │ -02238e: 0a02 |0021: move-result v2 │ │ -022390: 3802 1a00 |0022: if-eqz v2, 003c // +001a │ │ -022394: 2201 0301 |0024: new-instance v1, Ljava/io/ObjectInputStream; // type@0103 │ │ -022398: 7020 2e05 0100 |0026: invoke-direct {v1, v0}, Ljava/io/ObjectInputStream;.:(Ljava/io/InputStream;)V // method@052e │ │ -02239e: 6e10 2f05 0100 |0029: invoke-virtual {v1}, Ljava/io/ObjectInputStream;.readObject:()Ljava/lang/Object; // method@052f │ │ -0223a4: 0c00 |002c: move-result-object v0 │ │ -0223a6: 1f00 6201 |002d: check-cast v0, Ljava/util/Properties; // type@0162 │ │ -0223aa: 1100 |002f: return-object v0 │ │ -0223ac: 0d00 |0030: move-exception v0 │ │ -0223ae: 5441 e902 |0031: iget-object v1, v4, Ldnsfilter/remote/RemoteAccessClient;.connectedLogger:Lutil/LoggerInterface; // field@02e9 │ │ -0223b2: 7220 3207 0100 |0033: invoke-interface {v1, v0}, Lutil/LoggerInterface;.logException:(Ljava/lang/Exception;)V // method@0732 │ │ -0223b8: 2201 0001 |0036: new-instance v1, Ljava/io/IOException; // type@0100 │ │ -0223bc: 7020 2305 0100 |0038: invoke-direct {v1, v0}, Ljava/io/IOException;.:(Ljava/lang/Throwable;)V // method@0523 │ │ -0223c2: 2701 |003b: throw v1 │ │ -0223c4: 2200 8200 |003c: new-instance v0, Ldnsfilter/ConfigurationAccess$ConfigurationAccessException; // type@0082 │ │ -0223c8: 1202 |003e: const/4 v2, #int 0 // #0 │ │ -0223ca: 7030 4501 1002 |003f: invoke-direct {v0, v1, v2}, Ldnsfilter/ConfigurationAccess$ConfigurationAccessException;.:(Ljava/lang/String;Ljava/io/IOException;)V // method@0145 │ │ -0223d0: 2700 |0042: throw v0 │ │ -0223d2: 0d00 |0043: move-exception v0 │ │ -0223d4: 5441 e902 |0044: iget-object v1, v4, Ldnsfilter/remote/RemoteAccessClient;.connectedLogger:Lutil/LoggerInterface; // field@02e9 │ │ -0223d8: 2202 2d01 |0046: new-instance v2, Ljava/lang/StringBuilder; // type@012d │ │ -0223dc: 1a03 3604 |0048: const-string v3, "Remote action getConfig() failed! " // string@0436 │ │ -0223e0: 7020 aa05 3200 |004a: invoke-direct {v2, v3}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05aa │ │ -0223e6: 6e10 2405 0000 |004d: invoke-virtual {v0}, Ljava/io/IOException;.getMessage:()Ljava/lang/String; // method@0524 │ │ -0223ec: 0c03 |0050: move-result-object v3 │ │ -0223ee: 6e20 af05 3200 |0051: invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -0223f4: 6e10 b105 0200 |0054: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ -0223fa: 0c02 |0057: move-result-object v2 │ │ -0223fc: 7220 3307 2100 |0058: invoke-interface {v1, v2}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0733 │ │ -022402: 7010 6a04 0400 |005b: invoke-direct {v4}, Ldnsfilter/remote/RemoteAccessClient;.closeConnectionReconnect:()V // method@046a │ │ -022408: 2700 |005e: throw v0 │ │ -02240a: 0d00 |005f: move-exception v0 │ │ -02240c: 5441 e902 |0060: iget-object v1, v4, Ldnsfilter/remote/RemoteAccessClient;.connectedLogger:Lutil/LoggerInterface; // field@02e9 │ │ -022410: 2202 2d01 |0062: new-instance v2, Ljava/lang/StringBuilder; // type@012d │ │ -022414: 1a03 3404 |0064: const-string v3, "Remote action failed! " // string@0434 │ │ -022418: 7020 aa05 3200 |0066: invoke-direct {v2, v3}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05aa │ │ -02241e: 6e10 4601 0000 |0069: invoke-virtual {v0}, Ldnsfilter/ConfigurationAccess$ConfigurationAccessException;.getMessage:()Ljava/lang/String; // method@0146 │ │ -022424: 0c03 |006c: move-result-object v3 │ │ -022426: 6e20 af05 3200 |006d: invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -02242c: 6e10 b105 0200 |0070: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ -022432: 0c02 |0073: move-result-object v2 │ │ -022434: 7220 3307 2100 |0074: invoke-interface {v1, v2}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0733 │ │ -02243a: 2700 |0077: throw v0 │ │ +022354: 6e10 8f05 0100 |0006: invoke-virtual {v1}, Ljava/lang/String;.getBytes:()[B // method@058f │ │ +02235a: 0c01 |0009: move-result-object v1 │ │ +02235c: 6e20 3805 1000 |000a: invoke-virtual {v0, v1}, Ljava/io/OutputStream;.write:([B)V // method@0538 │ │ +022362: 7010 7504 0400 |000d: invoke-direct {v4}, Ldnsfilter/remote/RemoteAccessClient;.getOutputStream:()Ljava/io/OutputStream; // method@0475 │ │ +022368: 0c00 |0010: move-result-object v0 │ │ +02236a: 6e10 3605 0000 |0011: invoke-virtual {v0}, Ljava/io/OutputStream;.flush:()V // method@0536 │ │ +022370: 7010 7304 0400 |0014: invoke-direct {v4}, Ldnsfilter/remote/RemoteAccessClient;.getInputStream:()Ljava/io/InputStream; // method@0473 │ │ +022376: 0c00 |0017: move-result-object v0 │ │ +022378: 7110 9f07 0000 |0018: invoke-static {v0}, Lutil/Utils;.readLineFromStream:(Ljava/io/InputStream;)Ljava/lang/String; // method@079f │ │ +02237e: 0c01 |001b: move-result-object v1 │ │ +022380: 1a02 fa03 |001c: const-string v2, "OK" // string@03fa │ │ +022384: 6e20 8d05 2100 |001e: invoke-virtual {v1, v2}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058d │ │ +02238a: 0a02 |0021: move-result v2 │ │ +02238c: 3802 1a00 |0022: if-eqz v2, 003c // +001a │ │ +022390: 2201 0301 |0024: new-instance v1, Ljava/io/ObjectInputStream; // type@0103 │ │ +022394: 7020 2e05 0100 |0026: invoke-direct {v1, v0}, Ljava/io/ObjectInputStream;.:(Ljava/io/InputStream;)V // method@052e │ │ +02239a: 6e10 2f05 0100 |0029: invoke-virtual {v1}, Ljava/io/ObjectInputStream;.readObject:()Ljava/lang/Object; // method@052f │ │ +0223a0: 0c00 |002c: move-result-object v0 │ │ +0223a2: 1f00 6201 |002d: check-cast v0, Ljava/util/Properties; // type@0162 │ │ +0223a6: 1100 |002f: return-object v0 │ │ +0223a8: 0d00 |0030: move-exception v0 │ │ +0223aa: 5441 e902 |0031: iget-object v1, v4, Ldnsfilter/remote/RemoteAccessClient;.connectedLogger:Lutil/LoggerInterface; // field@02e9 │ │ +0223ae: 7220 3207 0100 |0033: invoke-interface {v1, v0}, Lutil/LoggerInterface;.logException:(Ljava/lang/Exception;)V // method@0732 │ │ +0223b4: 2201 0001 |0036: new-instance v1, Ljava/io/IOException; // type@0100 │ │ +0223b8: 7020 2305 0100 |0038: invoke-direct {v1, v0}, Ljava/io/IOException;.:(Ljava/lang/Throwable;)V // method@0523 │ │ +0223be: 2701 |003b: throw v1 │ │ +0223c0: 2200 8200 |003c: new-instance v0, Ldnsfilter/ConfigurationAccess$ConfigurationAccessException; // type@0082 │ │ +0223c4: 1202 |003e: const/4 v2, #int 0 // #0 │ │ +0223c6: 7030 4501 1002 |003f: invoke-direct {v0, v1, v2}, Ldnsfilter/ConfigurationAccess$ConfigurationAccessException;.:(Ljava/lang/String;Ljava/io/IOException;)V // method@0145 │ │ +0223cc: 2700 |0042: throw v0 │ │ +0223ce: 0d00 |0043: move-exception v0 │ │ +0223d0: 5441 e902 |0044: iget-object v1, v4, Ldnsfilter/remote/RemoteAccessClient;.connectedLogger:Lutil/LoggerInterface; // field@02e9 │ │ +0223d4: 2202 2d01 |0046: new-instance v2, Ljava/lang/StringBuilder; // type@012d │ │ +0223d8: 1a03 3604 |0048: const-string v3, "Remote action getConfig() failed! " // string@0436 │ │ +0223dc: 7020 aa05 3200 |004a: invoke-direct {v2, v3}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05aa │ │ +0223e2: 6e10 2405 0000 |004d: invoke-virtual {v0}, Ljava/io/IOException;.getMessage:()Ljava/lang/String; // method@0524 │ │ +0223e8: 0c03 |0050: move-result-object v3 │ │ +0223ea: 6e20 af05 3200 |0051: invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +0223f0: 6e10 b105 0200 |0054: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ +0223f6: 0c02 |0057: move-result-object v2 │ │ +0223f8: 7220 3307 2100 |0058: invoke-interface {v1, v2}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0733 │ │ +0223fe: 7010 6a04 0400 |005b: invoke-direct {v4}, Ldnsfilter/remote/RemoteAccessClient;.closeConnectionReconnect:()V // method@046a │ │ +022404: 2700 |005e: throw v0 │ │ +022406: 0d00 |005f: move-exception v0 │ │ +022408: 5441 e902 |0060: iget-object v1, v4, Ldnsfilter/remote/RemoteAccessClient;.connectedLogger:Lutil/LoggerInterface; // field@02e9 │ │ +02240c: 2202 2d01 |0062: new-instance v2, Ljava/lang/StringBuilder; // type@012d │ │ +022410: 1a03 3404 |0064: const-string v3, "Remote action failed! " // string@0434 │ │ +022414: 7020 aa05 3200 |0066: invoke-direct {v2, v3}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05aa │ │ +02241a: 6e10 4601 0000 |0069: invoke-virtual {v0}, Ldnsfilter/ConfigurationAccess$ConfigurationAccessException;.getMessage:()Ljava/lang/String; // method@0146 │ │ +022420: 0c03 |006c: move-result-object v3 │ │ +022422: 6e20 af05 3200 |006d: invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +022428: 6e10 b105 0200 |0070: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ +02242e: 0c02 |0073: move-result-object v2 │ │ +022430: 7220 3307 2100 |0074: invoke-interface {v1, v2}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0733 │ │ +022436: 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 │ │ @@ -53008,92 +53008,92 @@ │ │ type : '()Ljava/util/Properties;' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 6 │ │ ins : 1 │ │ outs : 3 │ │ insns size : 162 16-bit code units │ │ -022468: |[022468] dnsfilter.remote.RemoteAccessClient.getDefaultConfig:()Ljava/util/Properties; │ │ -022478: 7010 7504 0500 |0000: invoke-direct {v5}, Ldnsfilter/remote/RemoteAccessClient;.getOutputStream:()Ljava/io/OutputStream; // method@0475 │ │ -02247e: 0c00 |0003: move-result-object v0 │ │ -022480: 1a01 6507 |0004: const-string v1, "getDefaultConfig() │ │ +022464: |[022464] dnsfilter.remote.RemoteAccessClient.getDefaultConfig:()Ljava/util/Properties; │ │ +022474: 7010 7504 0500 |0000: invoke-direct {v5}, Ldnsfilter/remote/RemoteAccessClient;.getOutputStream:()Ljava/io/OutputStream; // method@0475 │ │ +02247a: 0c00 |0003: move-result-object v0 │ │ +02247c: 1a01 6507 |0004: const-string v1, "getDefaultConfig() │ │ " // string@0765 │ │ -022484: 6e10 8f05 0100 |0006: invoke-virtual {v1}, Ljava/lang/String;.getBytes:()[B // method@058f │ │ -02248a: 0c01 |0009: move-result-object v1 │ │ -02248c: 6e20 3805 1000 |000a: invoke-virtual {v0, v1}, Ljava/io/OutputStream;.write:([B)V // method@0538 │ │ -022492: 7010 7504 0500 |000d: invoke-direct {v5}, Ldnsfilter/remote/RemoteAccessClient;.getOutputStream:()Ljava/io/OutputStream; // method@0475 │ │ -022498: 0c00 |0010: move-result-object v0 │ │ -02249a: 6e10 3605 0000 |0011: invoke-virtual {v0}, Ljava/io/OutputStream;.flush:()V // method@0536 │ │ -0224a0: 7010 7304 0500 |0014: invoke-direct {v5}, Ldnsfilter/remote/RemoteAccessClient;.getInputStream:()Ljava/io/InputStream; // method@0473 │ │ -0224a6: 0c00 |0017: move-result-object v0 │ │ -0224a8: 7110 9f07 0000 |0018: invoke-static {v0}, Lutil/Utils;.readLineFromStream:(Ljava/io/InputStream;)Ljava/lang/String; // method@079f │ │ -0224ae: 0c01 |001b: move-result-object v1 │ │ -0224b0: 1a02 fa03 |001c: const-string v2, "OK" // string@03fa │ │ -0224b4: 6e20 8d05 2100 |001e: invoke-virtual {v1, v2}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058d │ │ -0224ba: 0a02 |0021: move-result v2 │ │ -0224bc: 3802 1a00 |0022: if-eqz v2, 003c // +001a │ │ -0224c0: 2201 0301 |0024: new-instance v1, Ljava/io/ObjectInputStream; // type@0103 │ │ -0224c4: 7020 2e05 0100 |0026: invoke-direct {v1, v0}, Ljava/io/ObjectInputStream;.:(Ljava/io/InputStream;)V // method@052e │ │ -0224ca: 6e10 2f05 0100 |0029: invoke-virtual {v1}, Ljava/io/ObjectInputStream;.readObject:()Ljava/lang/Object; // method@052f │ │ -0224d0: 0c00 |002c: move-result-object v0 │ │ -0224d2: 1f00 6201 |002d: check-cast v0, Ljava/util/Properties; // type@0162 │ │ -0224d6: 1100 |002f: return-object v0 │ │ -0224d8: 0d00 |0030: move-exception v0 │ │ -0224da: 5451 e902 |0031: iget-object v1, v5, Ldnsfilter/remote/RemoteAccessClient;.connectedLogger:Lutil/LoggerInterface; // field@02e9 │ │ -0224de: 7220 3207 0100 |0033: invoke-interface {v1, v0}, Lutil/LoggerInterface;.logException:(Ljava/lang/Exception;)V // method@0732 │ │ -0224e4: 2201 0001 |0036: new-instance v1, Ljava/io/IOException; // type@0100 │ │ -0224e8: 7020 2305 0100 |0038: invoke-direct {v1, v0}, Ljava/io/IOException;.:(Ljava/lang/Throwable;)V // method@0523 │ │ -0224ee: 2701 |003b: throw v1 │ │ -0224f0: 2200 8200 |003c: new-instance v0, Ldnsfilter/ConfigurationAccess$ConfigurationAccessException; // type@0082 │ │ -0224f4: 1202 |003e: const/4 v2, #int 0 // #0 │ │ -0224f6: 7030 4501 1002 |003f: invoke-direct {v0, v1, v2}, Ldnsfilter/ConfigurationAccess$ConfigurationAccessException;.:(Ljava/lang/String;Ljava/io/IOException;)V // method@0145 │ │ -0224fc: 2700 |0042: throw v0 │ │ -0224fe: 0d00 |0043: move-exception v0 │ │ -022500: 5451 e902 |0044: iget-object v1, v5, Ldnsfilter/remote/RemoteAccessClient;.connectedLogger:Lutil/LoggerInterface; // field@02e9 │ │ -022504: 2202 2d01 |0046: new-instance v2, Ljava/lang/StringBuilder; // type@012d │ │ -022508: 1a03 3604 |0048: const-string v3, "Remote action getConfig() failed! " // string@0436 │ │ -02250c: 7020 aa05 3200 |004a: invoke-direct {v2, v3}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05aa │ │ -022512: 6e10 2405 0000 |004d: invoke-virtual {v0}, Ljava/io/IOException;.getMessage:()Ljava/lang/String; // method@0524 │ │ -022518: 0c04 |0050: move-result-object v4 │ │ -02251a: 6e20 af05 4200 |0051: invoke-virtual {v2, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -022520: 6e10 b105 0200 |0054: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ -022526: 0c02 |0057: move-result-object v2 │ │ -022528: 7220 3307 2100 |0058: invoke-interface {v1, v2}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0733 │ │ -02252e: 5451 e902 |005b: iget-object v1, v5, Ldnsfilter/remote/RemoteAccessClient;.connectedLogger:Lutil/LoggerInterface; // field@02e9 │ │ -022532: 2202 2d01 |005d: new-instance v2, Ljava/lang/StringBuilder; // type@012d │ │ -022536: 7020 aa05 3200 |005f: invoke-direct {v2, v3}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05aa │ │ -02253c: 6e10 2405 0000 |0062: invoke-virtual {v0}, Ljava/io/IOException;.getMessage:()Ljava/lang/String; // method@0524 │ │ -022542: 0c03 |0065: move-result-object v3 │ │ -022544: 6e20 af05 3200 |0066: invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -02254a: 6e10 b105 0200 |0069: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ -022550: 0c02 |006c: move-result-object v2 │ │ -022552: 7220 3407 2100 |006d: invoke-interface {v1, v2}, Lutil/LoggerInterface;.message:(Ljava/lang/String;)V // method@0734 │ │ -022558: 7010 6a04 0500 |0070: invoke-direct {v5}, Ldnsfilter/remote/RemoteAccessClient;.closeConnectionReconnect:()V // method@046a │ │ -02255e: 2700 |0073: throw v0 │ │ -022560: 0d00 |0074: move-exception v0 │ │ -022562: 5451 e902 |0075: iget-object v1, v5, Ldnsfilter/remote/RemoteAccessClient;.connectedLogger:Lutil/LoggerInterface; // field@02e9 │ │ -022566: 2202 2d01 |0077: new-instance v2, Ljava/lang/StringBuilder; // type@012d │ │ -02256a: 1a03 3404 |0079: const-string v3, "Remote action failed! " // string@0434 │ │ -02256e: 7020 aa05 3200 |007b: invoke-direct {v2, v3}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05aa │ │ -022574: 6e10 4601 0000 |007e: invoke-virtual {v0}, Ldnsfilter/ConfigurationAccess$ConfigurationAccessException;.getMessage:()Ljava/lang/String; // method@0146 │ │ -02257a: 0c04 |0081: move-result-object v4 │ │ -02257c: 6e20 af05 4200 |0082: invoke-virtual {v2, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -022582: 6e10 b105 0200 |0085: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ -022588: 0c02 |0088: move-result-object v2 │ │ -02258a: 7220 3307 2100 |0089: invoke-interface {v1, v2}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0733 │ │ -022590: 5451 e902 |008c: iget-object v1, v5, Ldnsfilter/remote/RemoteAccessClient;.connectedLogger:Lutil/LoggerInterface; // field@02e9 │ │ -022594: 2202 2d01 |008e: new-instance v2, Ljava/lang/StringBuilder; // type@012d │ │ -022598: 7020 aa05 3200 |0090: invoke-direct {v2, v3}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05aa │ │ -02259e: 6e10 4601 0000 |0093: invoke-virtual {v0}, Ldnsfilter/ConfigurationAccess$ConfigurationAccessException;.getMessage:()Ljava/lang/String; // method@0146 │ │ -0225a4: 0c03 |0096: move-result-object v3 │ │ -0225a6: 6e20 af05 3200 |0097: invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -0225ac: 6e10 b105 0200 |009a: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ -0225b2: 0c02 |009d: move-result-object v2 │ │ -0225b4: 7220 3407 2100 |009e: invoke-interface {v1, v2}, Lutil/LoggerInterface;.message:(Ljava/lang/String;)V // method@0734 │ │ -0225ba: 2700 |00a1: throw v0 │ │ +022480: 6e10 8f05 0100 |0006: invoke-virtual {v1}, Ljava/lang/String;.getBytes:()[B // method@058f │ │ +022486: 0c01 |0009: move-result-object v1 │ │ +022488: 6e20 3805 1000 |000a: invoke-virtual {v0, v1}, Ljava/io/OutputStream;.write:([B)V // method@0538 │ │ +02248e: 7010 7504 0500 |000d: invoke-direct {v5}, Ldnsfilter/remote/RemoteAccessClient;.getOutputStream:()Ljava/io/OutputStream; // method@0475 │ │ +022494: 0c00 |0010: move-result-object v0 │ │ +022496: 6e10 3605 0000 |0011: invoke-virtual {v0}, Ljava/io/OutputStream;.flush:()V // method@0536 │ │ +02249c: 7010 7304 0500 |0014: invoke-direct {v5}, Ldnsfilter/remote/RemoteAccessClient;.getInputStream:()Ljava/io/InputStream; // method@0473 │ │ +0224a2: 0c00 |0017: move-result-object v0 │ │ +0224a4: 7110 9f07 0000 |0018: invoke-static {v0}, Lutil/Utils;.readLineFromStream:(Ljava/io/InputStream;)Ljava/lang/String; // method@079f │ │ +0224aa: 0c01 |001b: move-result-object v1 │ │ +0224ac: 1a02 fa03 |001c: const-string v2, "OK" // string@03fa │ │ +0224b0: 6e20 8d05 2100 |001e: invoke-virtual {v1, v2}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058d │ │ +0224b6: 0a02 |0021: move-result v2 │ │ +0224b8: 3802 1a00 |0022: if-eqz v2, 003c // +001a │ │ +0224bc: 2201 0301 |0024: new-instance v1, Ljava/io/ObjectInputStream; // type@0103 │ │ +0224c0: 7020 2e05 0100 |0026: invoke-direct {v1, v0}, Ljava/io/ObjectInputStream;.:(Ljava/io/InputStream;)V // method@052e │ │ +0224c6: 6e10 2f05 0100 |0029: invoke-virtual {v1}, Ljava/io/ObjectInputStream;.readObject:()Ljava/lang/Object; // method@052f │ │ +0224cc: 0c00 |002c: move-result-object v0 │ │ +0224ce: 1f00 6201 |002d: check-cast v0, Ljava/util/Properties; // type@0162 │ │ +0224d2: 1100 |002f: return-object v0 │ │ +0224d4: 0d00 |0030: move-exception v0 │ │ +0224d6: 5451 e902 |0031: iget-object v1, v5, Ldnsfilter/remote/RemoteAccessClient;.connectedLogger:Lutil/LoggerInterface; // field@02e9 │ │ +0224da: 7220 3207 0100 |0033: invoke-interface {v1, v0}, Lutil/LoggerInterface;.logException:(Ljava/lang/Exception;)V // method@0732 │ │ +0224e0: 2201 0001 |0036: new-instance v1, Ljava/io/IOException; // type@0100 │ │ +0224e4: 7020 2305 0100 |0038: invoke-direct {v1, v0}, Ljava/io/IOException;.:(Ljava/lang/Throwable;)V // method@0523 │ │ +0224ea: 2701 |003b: throw v1 │ │ +0224ec: 2200 8200 |003c: new-instance v0, Ldnsfilter/ConfigurationAccess$ConfigurationAccessException; // type@0082 │ │ +0224f0: 1202 |003e: const/4 v2, #int 0 // #0 │ │ +0224f2: 7030 4501 1002 |003f: invoke-direct {v0, v1, v2}, Ldnsfilter/ConfigurationAccess$ConfigurationAccessException;.:(Ljava/lang/String;Ljava/io/IOException;)V // method@0145 │ │ +0224f8: 2700 |0042: throw v0 │ │ +0224fa: 0d00 |0043: move-exception v0 │ │ +0224fc: 5451 e902 |0044: iget-object v1, v5, Ldnsfilter/remote/RemoteAccessClient;.connectedLogger:Lutil/LoggerInterface; // field@02e9 │ │ +022500: 2202 2d01 |0046: new-instance v2, Ljava/lang/StringBuilder; // type@012d │ │ +022504: 1a03 3604 |0048: const-string v3, "Remote action getConfig() failed! " // string@0436 │ │ +022508: 7020 aa05 3200 |004a: invoke-direct {v2, v3}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05aa │ │ +02250e: 6e10 2405 0000 |004d: invoke-virtual {v0}, Ljava/io/IOException;.getMessage:()Ljava/lang/String; // method@0524 │ │ +022514: 0c04 |0050: move-result-object v4 │ │ +022516: 6e20 af05 4200 |0051: invoke-virtual {v2, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +02251c: 6e10 b105 0200 |0054: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ +022522: 0c02 |0057: move-result-object v2 │ │ +022524: 7220 3307 2100 |0058: invoke-interface {v1, v2}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0733 │ │ +02252a: 5451 e902 |005b: iget-object v1, v5, Ldnsfilter/remote/RemoteAccessClient;.connectedLogger:Lutil/LoggerInterface; // field@02e9 │ │ +02252e: 2202 2d01 |005d: new-instance v2, Ljava/lang/StringBuilder; // type@012d │ │ +022532: 7020 aa05 3200 |005f: invoke-direct {v2, v3}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05aa │ │ +022538: 6e10 2405 0000 |0062: invoke-virtual {v0}, Ljava/io/IOException;.getMessage:()Ljava/lang/String; // method@0524 │ │ +02253e: 0c03 |0065: move-result-object v3 │ │ +022540: 6e20 af05 3200 |0066: invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +022546: 6e10 b105 0200 |0069: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ +02254c: 0c02 |006c: move-result-object v2 │ │ +02254e: 7220 3407 2100 |006d: invoke-interface {v1, v2}, Lutil/LoggerInterface;.message:(Ljava/lang/String;)V // method@0734 │ │ +022554: 7010 6a04 0500 |0070: invoke-direct {v5}, Ldnsfilter/remote/RemoteAccessClient;.closeConnectionReconnect:()V // method@046a │ │ +02255a: 2700 |0073: throw v0 │ │ +02255c: 0d00 |0074: move-exception v0 │ │ +02255e: 5451 e902 |0075: iget-object v1, v5, Ldnsfilter/remote/RemoteAccessClient;.connectedLogger:Lutil/LoggerInterface; // field@02e9 │ │ +022562: 2202 2d01 |0077: new-instance v2, Ljava/lang/StringBuilder; // type@012d │ │ +022566: 1a03 3404 |0079: const-string v3, "Remote action failed! " // string@0434 │ │ +02256a: 7020 aa05 3200 |007b: invoke-direct {v2, v3}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05aa │ │ +022570: 6e10 4601 0000 |007e: invoke-virtual {v0}, Ldnsfilter/ConfigurationAccess$ConfigurationAccessException;.getMessage:()Ljava/lang/String; // method@0146 │ │ +022576: 0c04 |0081: move-result-object v4 │ │ +022578: 6e20 af05 4200 |0082: invoke-virtual {v2, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +02257e: 6e10 b105 0200 |0085: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ +022584: 0c02 |0088: move-result-object v2 │ │ +022586: 7220 3307 2100 |0089: invoke-interface {v1, v2}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0733 │ │ +02258c: 5451 e902 |008c: iget-object v1, v5, Ldnsfilter/remote/RemoteAccessClient;.connectedLogger:Lutil/LoggerInterface; // field@02e9 │ │ +022590: 2202 2d01 |008e: new-instance v2, Ljava/lang/StringBuilder; // type@012d │ │ +022594: 7020 aa05 3200 |0090: invoke-direct {v2, v3}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05aa │ │ +02259a: 6e10 4601 0000 |0093: invoke-virtual {v0}, Ldnsfilter/ConfigurationAccess$ConfigurationAccessException;.getMessage:()Ljava/lang/String; // method@0146 │ │ +0225a0: 0c03 |0096: move-result-object v3 │ │ +0225a2: 6e20 af05 3200 |0097: invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +0225a8: 6e10 b105 0200 |009a: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ +0225ae: 0c02 |009d: move-result-object v2 │ │ +0225b0: 7220 3407 2100 |009e: invoke-interface {v1, v2}, Lutil/LoggerInterface;.message:(Ljava/lang/String;)V // method@0734 │ │ +0225b6: 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 │ │ @@ -53126,75 +53126,75 @@ │ │ type : '()[J' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 6 │ │ ins : 1 │ │ outs : 3 │ │ insns size : 120 16-bit code units │ │ -022600: |[022600] dnsfilter.remote.RemoteAccessClient.getFilterStatistics:()[J │ │ -022610: 2200 f900 |0000: new-instance v0, Ljava/io/DataOutputStream; // type@00f9 │ │ -022614: 7010 7504 0500 |0002: invoke-direct {v5}, Ldnsfilter/remote/RemoteAccessClient;.getOutputStream:()Ljava/io/OutputStream; // method@0475 │ │ -02261a: 0c01 |0005: move-result-object v1 │ │ -02261c: 7020 f704 1000 |0006: invoke-direct {v0, v1}, Ljava/io/DataOutputStream;.:(Ljava/io/OutputStream;)V // method@04f7 │ │ -022622: 2201 f800 |0009: new-instance v1, Ljava/io/DataInputStream; // type@00f8 │ │ -022626: 7010 7304 0500 |000b: invoke-direct {v5}, Ldnsfilter/remote/RemoteAccessClient;.getInputStream:()Ljava/io/InputStream; // method@0473 │ │ -02262c: 0c02 |000e: move-result-object v2 │ │ -02262e: 7020 f004 2100 |000f: invoke-direct {v1, v2}, Ljava/io/DataInputStream;.:(Ljava/io/InputStream;)V // method@04f0 │ │ -022634: 1a02 8207 |0012: const-string v2, "getFilterStatistics() │ │ +0225fc: |[0225fc] dnsfilter.remote.RemoteAccessClient.getFilterStatistics:()[J │ │ +02260c: 2200 f900 |0000: new-instance v0, Ljava/io/DataOutputStream; // type@00f9 │ │ +022610: 7010 7504 0500 |0002: invoke-direct {v5}, Ldnsfilter/remote/RemoteAccessClient;.getOutputStream:()Ljava/io/OutputStream; // method@0475 │ │ +022616: 0c01 |0005: move-result-object v1 │ │ +022618: 7020 f704 1000 |0006: invoke-direct {v0, v1}, Ljava/io/DataOutputStream;.:(Ljava/io/OutputStream;)V // method@04f7 │ │ +02261e: 2201 f800 |0009: new-instance v1, Ljava/io/DataInputStream; // type@00f8 │ │ +022622: 7010 7304 0500 |000b: invoke-direct {v5}, Ldnsfilter/remote/RemoteAccessClient;.getInputStream:()Ljava/io/InputStream; // method@0473 │ │ +022628: 0c02 |000e: move-result-object v2 │ │ +02262a: 7020 f004 2100 |000f: invoke-direct {v1, v2}, Ljava/io/DataInputStream;.:(Ljava/io/InputStream;)V // method@04f0 │ │ +022630: 1a02 8207 |0012: const-string v2, "getFilterStatistics() │ │ " // string@0782 │ │ -022638: 6e10 8f05 0200 |0014: invoke-virtual {v2}, Ljava/lang/String;.getBytes:()[B // method@058f │ │ -02263e: 0c02 |0017: move-result-object v2 │ │ -022640: 6e20 fa04 2000 |0018: invoke-virtual {v0, v2}, Ljava/io/DataOutputStream;.write:([B)V // method@04fa │ │ -022646: 6e10 f904 0000 |001b: invoke-virtual {v0}, Ljava/io/DataOutputStream;.flush:()V // method@04f9 │ │ -02264c: 7110 9f07 0100 |001e: invoke-static {v1}, Lutil/Utils;.readLineFromStream:(Ljava/io/InputStream;)Ljava/lang/String; // method@079f │ │ -022652: 0c00 |0021: move-result-object v0 │ │ -022654: 1a02 fa03 |0022: const-string v2, "OK" // string@03fa │ │ -022658: 6e20 8d05 2000 |0024: invoke-virtual {v0, v2}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058d │ │ -02265e: 0a02 |0027: move-result v2 │ │ -022660: 3802 1400 |0028: if-eqz v2, 003c // +0014 │ │ -022664: 1220 |002a: const/4 v0, #int 2 // #2 │ │ -022666: 2300 9f01 |002b: new-array v0, v0, [J // type@019f │ │ -02266a: 6e10 f504 0100 |002d: invoke-virtual {v1}, Ljava/io/DataInputStream;.readLong:()J // method@04f5 │ │ -022670: 0b02 |0030: move-result-wide v2 │ │ -022672: 1204 |0031: const/4 v4, #int 0 // #0 │ │ -022674: 4c02 0004 |0032: aput-wide v2, v0, v4 │ │ -022678: 6e10 f504 0100 |0034: invoke-virtual {v1}, Ljava/io/DataInputStream;.readLong:()J // method@04f5 │ │ -02267e: 0b01 |0037: move-result-wide v1 │ │ -022680: 1213 |0038: const/4 v3, #int 1 // #1 │ │ -022682: 4c01 0003 |0039: aput-wide v1, v0, v3 │ │ -022686: 1100 |003b: return-object v0 │ │ -022688: 2201 8200 |003c: new-instance v1, Ldnsfilter/ConfigurationAccess$ConfigurationAccessException; // type@0082 │ │ -02268c: 1202 |003e: const/4 v2, #int 0 // #0 │ │ -02268e: 7030 4501 0102 |003f: invoke-direct {v1, v0, v2}, Ldnsfilter/ConfigurationAccess$ConfigurationAccessException;.:(Ljava/lang/String;Ljava/io/IOException;)V // method@0145 │ │ -022694: 2701 |0042: throw v1 │ │ -022696: 0d00 |0043: move-exception v0 │ │ -022698: 5451 e902 |0044: iget-object v1, v5, Ldnsfilter/remote/RemoteAccessClient;.connectedLogger:Lutil/LoggerInterface; // field@02e9 │ │ -02269c: 2202 2d01 |0046: new-instance v2, Ljava/lang/StringBuilder; // type@012d │ │ -0226a0: 1a03 3104 |0048: const-string v3, "Remote action getFilterStatistics() failed! " // string@0431 │ │ -0226a4: 7020 aa05 3200 |004a: invoke-direct {v2, v3}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05aa │ │ -0226aa: 6e10 2405 0000 |004d: invoke-virtual {v0}, Ljava/io/IOException;.getMessage:()Ljava/lang/String; // method@0524 │ │ -0226b0: 0c03 |0050: move-result-object v3 │ │ -0226b2: 6e20 af05 3200 |0051: invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -0226b8: 6e10 b105 0200 |0054: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ -0226be: 0c02 |0057: move-result-object v2 │ │ -0226c0: 7220 3307 2100 |0058: invoke-interface {v1, v2}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0733 │ │ -0226c6: 7010 6a04 0500 |005b: invoke-direct {v5}, Ldnsfilter/remote/RemoteAccessClient;.closeConnectionReconnect:()V // method@046a │ │ -0226cc: 2700 |005e: throw v0 │ │ -0226ce: 0d00 |005f: move-exception v0 │ │ -0226d0: 5451 e902 |0060: iget-object v1, v5, Ldnsfilter/remote/RemoteAccessClient;.connectedLogger:Lutil/LoggerInterface; // field@02e9 │ │ -0226d4: 2202 2d01 |0062: new-instance v2, Ljava/lang/StringBuilder; // type@012d │ │ -0226d8: 1a03 3404 |0064: const-string v3, "Remote action failed! " // string@0434 │ │ -0226dc: 7020 aa05 3200 |0066: invoke-direct {v2, v3}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05aa │ │ -0226e2: 6e10 4601 0000 |0069: invoke-virtual {v0}, Ldnsfilter/ConfigurationAccess$ConfigurationAccessException;.getMessage:()Ljava/lang/String; // method@0146 │ │ -0226e8: 0c03 |006c: move-result-object v3 │ │ -0226ea: 6e20 af05 3200 |006d: invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -0226f0: 6e10 b105 0200 |0070: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ -0226f6: 0c02 |0073: move-result-object v2 │ │ -0226f8: 7220 3307 2100 |0074: invoke-interface {v1, v2}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0733 │ │ -0226fe: 2700 |0077: throw v0 │ │ +022634: 6e10 8f05 0200 |0014: invoke-virtual {v2}, Ljava/lang/String;.getBytes:()[B // method@058f │ │ +02263a: 0c02 |0017: move-result-object v2 │ │ +02263c: 6e20 fa04 2000 |0018: invoke-virtual {v0, v2}, Ljava/io/DataOutputStream;.write:([B)V // method@04fa │ │ +022642: 6e10 f904 0000 |001b: invoke-virtual {v0}, Ljava/io/DataOutputStream;.flush:()V // method@04f9 │ │ +022648: 7110 9f07 0100 |001e: invoke-static {v1}, Lutil/Utils;.readLineFromStream:(Ljava/io/InputStream;)Ljava/lang/String; // method@079f │ │ +02264e: 0c00 |0021: move-result-object v0 │ │ +022650: 1a02 fa03 |0022: const-string v2, "OK" // string@03fa │ │ +022654: 6e20 8d05 2000 |0024: invoke-virtual {v0, v2}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058d │ │ +02265a: 0a02 |0027: move-result v2 │ │ +02265c: 3802 1400 |0028: if-eqz v2, 003c // +0014 │ │ +022660: 1220 |002a: const/4 v0, #int 2 // #2 │ │ +022662: 2300 9f01 |002b: new-array v0, v0, [J // type@019f │ │ +022666: 6e10 f504 0100 |002d: invoke-virtual {v1}, Ljava/io/DataInputStream;.readLong:()J // method@04f5 │ │ +02266c: 0b02 |0030: move-result-wide v2 │ │ +02266e: 1204 |0031: const/4 v4, #int 0 // #0 │ │ +022670: 4c02 0004 |0032: aput-wide v2, v0, v4 │ │ +022674: 6e10 f504 0100 |0034: invoke-virtual {v1}, Ljava/io/DataInputStream;.readLong:()J // method@04f5 │ │ +02267a: 0b01 |0037: move-result-wide v1 │ │ +02267c: 1213 |0038: const/4 v3, #int 1 // #1 │ │ +02267e: 4c01 0003 |0039: aput-wide v1, v0, v3 │ │ +022682: 1100 |003b: return-object v0 │ │ +022684: 2201 8200 |003c: new-instance v1, Ldnsfilter/ConfigurationAccess$ConfigurationAccessException; // type@0082 │ │ +022688: 1202 |003e: const/4 v2, #int 0 // #0 │ │ +02268a: 7030 4501 0102 |003f: invoke-direct {v1, v0, v2}, Ldnsfilter/ConfigurationAccess$ConfigurationAccessException;.:(Ljava/lang/String;Ljava/io/IOException;)V // method@0145 │ │ +022690: 2701 |0042: throw v1 │ │ +022692: 0d00 |0043: move-exception v0 │ │ +022694: 5451 e902 |0044: iget-object v1, v5, Ldnsfilter/remote/RemoteAccessClient;.connectedLogger:Lutil/LoggerInterface; // field@02e9 │ │ +022698: 2202 2d01 |0046: new-instance v2, Ljava/lang/StringBuilder; // type@012d │ │ +02269c: 1a03 3104 |0048: const-string v3, "Remote action getFilterStatistics() failed! " // string@0431 │ │ +0226a0: 7020 aa05 3200 |004a: invoke-direct {v2, v3}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05aa │ │ +0226a6: 6e10 2405 0000 |004d: invoke-virtual {v0}, Ljava/io/IOException;.getMessage:()Ljava/lang/String; // method@0524 │ │ +0226ac: 0c03 |0050: move-result-object v3 │ │ +0226ae: 6e20 af05 3200 |0051: invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +0226b4: 6e10 b105 0200 |0054: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ +0226ba: 0c02 |0057: move-result-object v2 │ │ +0226bc: 7220 3307 2100 |0058: invoke-interface {v1, v2}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0733 │ │ +0226c2: 7010 6a04 0500 |005b: invoke-direct {v5}, Ldnsfilter/remote/RemoteAccessClient;.closeConnectionReconnect:()V // method@046a │ │ +0226c8: 2700 |005e: throw v0 │ │ +0226ca: 0d00 |005f: move-exception v0 │ │ +0226cc: 5451 e902 |0060: iget-object v1, v5, Ldnsfilter/remote/RemoteAccessClient;.connectedLogger:Lutil/LoggerInterface; // field@02e9 │ │ +0226d0: 2202 2d01 |0062: new-instance v2, Ljava/lang/StringBuilder; // type@012d │ │ +0226d4: 1a03 3404 |0064: const-string v3, "Remote action failed! " // string@0434 │ │ +0226d8: 7020 aa05 3200 |0066: invoke-direct {v2, v3}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05aa │ │ +0226de: 6e10 4601 0000 |0069: invoke-virtual {v0}, Ldnsfilter/ConfigurationAccess$ConfigurationAccessException;.getMessage:()Ljava/lang/String; // method@0146 │ │ +0226e4: 0c03 |006c: move-result-object v3 │ │ +0226e6: 6e20 af05 3200 |006d: invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +0226ec: 6e10 b105 0200 |0070: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ +0226f2: 0c02 |0073: move-result-object v2 │ │ +0226f4: 7220 3307 2100 |0074: invoke-interface {v1, v2}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0733 │ │ +0226fa: 2700 |0077: throw v0 │ │ catches : 1 │ │ 0x0000 - 0x0043 │ │ Ldnsfilter/ConfigurationAccess$ConfigurationAccessException; -> 0x005f │ │ Ljava/io/IOException; -> 0x0043 │ │ positions : │ │ 0x0000 line=457 │ │ 0x0009 line=458 │ │ @@ -53217,17 +53217,17 @@ │ │ type : '()Ljava/lang/String;' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 0 │ │ insns size : 3 16-bit code units │ │ -0222c4: |[0222c4] dnsfilter.remote.RemoteAccessClient.getLastDNSAddress:()Ljava/lang/String; │ │ -0222d4: 5410 ee02 |0000: iget-object v0, v1, Ldnsfilter/remote/RemoteAccessClient;.last_dns:Ljava/lang/String; // field@02ee │ │ -0222d8: 1100 |0002: return-object v0 │ │ +0222c0: |[0222c0] dnsfilter.remote.RemoteAccessClient.getLastDNSAddress:()Ljava/lang/String; │ │ +0222d0: 5410 ee02 |0000: iget-object v0, v1, Ldnsfilter/remote/RemoteAccessClient;.last_dns:Ljava/lang/String; // field@02ee │ │ +0222d4: 1100 |0002: return-object v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=440 │ │ locals : │ │ 0x0000 - 0x0003 reg=1 this Ldnsfilter/remote/RemoteAccessClient; │ │ │ │ #8 : (in Ldnsfilter/remote/RemoteAccessClient;) │ │ @@ -53235,17 +53235,17 @@ │ │ type : '()J' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 3 │ │ ins : 1 │ │ outs : 0 │ │ insns size : 3 16-bit code units │ │ -0225e8: |[0225e8] dnsfilter.remote.RemoteAccessClient.getTimoutTime:()J │ │ -0225f8: 5320 f402 |0000: iget-wide v0, v2, Ldnsfilter/remote/RemoteAccessClient;.timeout:J // field@02f4 │ │ -0225fc: 1000 |0002: return-wide v0 │ │ +0225e4: |[0225e4] dnsfilter.remote.RemoteAccessClient.getTimoutTime:()J │ │ +0225f4: 5320 f402 |0000: iget-wide v0, v2, Ldnsfilter/remote/RemoteAccessClient;.timeout:J // field@02f4 │ │ +0225f8: 1000 |0002: return-wide v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=559 │ │ locals : │ │ 0x0000 - 0x0003 reg=2 this Ldnsfilter/remote/RemoteAccessClient; │ │ │ │ #9 : (in Ldnsfilter/remote/RemoteAccessClient;) │ │ @@ -53253,17 +53253,17 @@ │ │ type : '()Ljava/lang/String;' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 0 │ │ insns size : 3 16-bit code units │ │ -0222dc: |[0222dc] dnsfilter.remote.RemoteAccessClient.getVersion:()Ljava/lang/String; │ │ -0222ec: 5410 f202 |0000: iget-object v0, v1, Ldnsfilter/remote/RemoteAccessClient;.remote_version:Ljava/lang/String; // field@02f2 │ │ -0222f0: 1100 |0002: return-object v0 │ │ +0222d8: |[0222d8] dnsfilter.remote.RemoteAccessClient.getVersion:()Ljava/lang/String; │ │ +0222e8: 5410 f202 |0000: iget-object v0, v1, Ldnsfilter/remote/RemoteAccessClient;.remote_version:Ljava/lang/String; // field@02f2 │ │ +0222ec: 1100 |0002: return-object v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=430 │ │ locals : │ │ 0x0000 - 0x0003 reg=1 this Ldnsfilter/remote/RemoteAccessClient; │ │ │ │ #10 : (in Ldnsfilter/remote/RemoteAccessClient;) │ │ @@ -53271,33 +53271,33 @@ │ │ type : '()Z' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 0 │ │ insns size : 2 16-bit code units │ │ -021e20: |[021e20] dnsfilter.remote.RemoteAccessClient.isLocal:()Z │ │ -021e30: 1200 |0000: const/4 v0, #int 0 // #0 │ │ -021e32: 0f00 |0001: return v0 │ │ +021e1c: |[021e1c] dnsfilter.remote.RemoteAccessClient.isLocal:()Z │ │ +021e2c: 1200 |0000: const/4 v0, #int 0 // #0 │ │ +021e2e: 0f00 |0001: return v0 │ │ catches : (none) │ │ positions : │ │ locals : │ │ │ │ #11 : (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 │ │ -022054: |[022054] dnsfilter.remote.RemoteAccessClient.openConnectionsCount:()I │ │ -022064: 5210 e802 |0000: iget v0, v1, Ldnsfilter/remote/RemoteAccessClient;.con_cnt:I // field@02e8 │ │ -022068: 0f00 |0002: return v0 │ │ +022050: |[022050] dnsfilter.remote.RemoteAccessClient.openConnectionsCount:()I │ │ +022060: 5210 e802 |0000: iget v0, v1, Ldnsfilter/remote/RemoteAccessClient;.con_cnt:I // field@02e8 │ │ +022064: 0f00 |0002: return v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=435 │ │ locals : │ │ 0x0000 - 0x0003 reg=1 this Ldnsfilter/remote/RemoteAccessClient; │ │ │ │ #12 : (in Ldnsfilter/remote/RemoteAccessClient;) │ │ @@ -53305,69 +53305,69 @@ │ │ type : '()[B' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 5 │ │ ins : 1 │ │ outs : 3 │ │ insns size : 111 16-bit code units │ │ -021f3c: |[021f3c] dnsfilter.remote.RemoteAccessClient.readConfig:()[B │ │ -021f4c: 7010 7504 0400 |0000: invoke-direct {v4}, Ldnsfilter/remote/RemoteAccessClient;.getOutputStream:()Ljava/io/OutputStream; // method@0475 │ │ -021f52: 0c00 |0003: move-result-object v0 │ │ -021f54: 1a01 b509 |0004: const-string v1, "readConfig() │ │ +021f38: |[021f38] dnsfilter.remote.RemoteAccessClient.readConfig:()[B │ │ +021f48: 7010 7504 0400 |0000: invoke-direct {v4}, Ldnsfilter/remote/RemoteAccessClient;.getOutputStream:()Ljava/io/OutputStream; // method@0475 │ │ +021f4e: 0c00 |0003: move-result-object v0 │ │ +021f50: 1a01 b509 |0004: const-string v1, "readConfig() │ │ " // string@09b5 │ │ -021f58: 6e10 8f05 0100 |0006: invoke-virtual {v1}, Ljava/lang/String;.getBytes:()[B // method@058f │ │ -021f5e: 0c01 |0009: move-result-object v1 │ │ -021f60: 6e20 3805 1000 |000a: invoke-virtual {v0, v1}, Ljava/io/OutputStream;.write:([B)V // method@0538 │ │ -021f66: 7010 7504 0400 |000d: invoke-direct {v4}, Ldnsfilter/remote/RemoteAccessClient;.getOutputStream:()Ljava/io/OutputStream; // method@0475 │ │ -021f6c: 0c00 |0010: move-result-object v0 │ │ -021f6e: 6e10 3605 0000 |0011: invoke-virtual {v0}, Ljava/io/OutputStream;.flush:()V // method@0536 │ │ -021f74: 2200 f800 |0014: new-instance v0, Ljava/io/DataInputStream; // type@00f8 │ │ -021f78: 7010 7304 0400 |0016: invoke-direct {v4}, Ldnsfilter/remote/RemoteAccessClient;.getInputStream:()Ljava/io/InputStream; // method@0473 │ │ -021f7e: 0c01 |0019: move-result-object v1 │ │ -021f80: 7020 f004 1000 |001a: invoke-direct {v0, v1}, Ljava/io/DataInputStream;.:(Ljava/io/InputStream;)V // method@04f0 │ │ -021f86: 7110 9f07 0000 |001d: invoke-static {v0}, Lutil/Utils;.readLineFromStream:(Ljava/io/InputStream;)Ljava/lang/String; // method@079f │ │ -021f8c: 0c01 |0020: move-result-object v1 │ │ -021f8e: 1a02 fa03 |0021: const-string v2, "OK" // string@03fa │ │ -021f92: 6e20 8d05 2100 |0023: invoke-virtual {v1, v2}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058d │ │ -021f98: 0a02 |0026: move-result v2 │ │ -021f9a: 3802 0c00 |0027: if-eqz v2, 0033 // +000c │ │ -021f9e: 6e10 f404 0000 |0029: invoke-virtual {v0}, Ljava/io/DataInputStream;.readInt:()I // method@04f4 │ │ -021fa4: 0a01 |002c: move-result v1 │ │ -021fa6: 2311 9d01 |002d: new-array v1, v1, [B // type@019d │ │ -021faa: 6e20 f204 1000 |002f: invoke-virtual {v0, v1}, Ljava/io/DataInputStream;.readFully:([B)V // method@04f2 │ │ -021fb0: 1101 |0032: return-object v1 │ │ -021fb2: 2200 8200 |0033: new-instance v0, Ldnsfilter/ConfigurationAccess$ConfigurationAccessException; // type@0082 │ │ -021fb6: 1202 |0035: const/4 v2, #int 0 // #0 │ │ -021fb8: 7030 4501 1002 |0036: invoke-direct {v0, v1, v2}, Ldnsfilter/ConfigurationAccess$ConfigurationAccessException;.:(Ljava/lang/String;Ljava/io/IOException;)V // method@0145 │ │ -021fbe: 2700 |0039: throw v0 │ │ -021fc0: 0d00 |003a: move-exception v0 │ │ -021fc2: 5441 e902 |003b: iget-object v1, v4, Ldnsfilter/remote/RemoteAccessClient;.connectedLogger:Lutil/LoggerInterface; // field@02e9 │ │ -021fc6: 2202 2d01 |003d: new-instance v2, Ljava/lang/StringBuilder; // type@012d │ │ -021fca: 1a03 3704 |003f: const-string v3, "Remote action readConfig() failed! " // string@0437 │ │ -021fce: 7020 aa05 3200 |0041: invoke-direct {v2, v3}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05aa │ │ -021fd4: 6e10 2405 0000 |0044: invoke-virtual {v0}, Ljava/io/IOException;.getMessage:()Ljava/lang/String; // method@0524 │ │ -021fda: 0c03 |0047: move-result-object v3 │ │ -021fdc: 6e20 af05 3200 |0048: invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -021fe2: 6e10 b105 0200 |004b: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ -021fe8: 0c02 |004e: move-result-object v2 │ │ -021fea: 7220 3307 2100 |004f: invoke-interface {v1, v2}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0733 │ │ -021ff0: 7010 6a04 0400 |0052: invoke-direct {v4}, Ldnsfilter/remote/RemoteAccessClient;.closeConnectionReconnect:()V // method@046a │ │ -021ff6: 2700 |0055: throw v0 │ │ -021ff8: 0d00 |0056: move-exception v0 │ │ -021ffa: 5441 e902 |0057: iget-object v1, v4, Ldnsfilter/remote/RemoteAccessClient;.connectedLogger:Lutil/LoggerInterface; // field@02e9 │ │ -021ffe: 2202 2d01 |0059: new-instance v2, Ljava/lang/StringBuilder; // type@012d │ │ -022002: 1a03 3404 |005b: const-string v3, "Remote action failed! " // string@0434 │ │ -022006: 7020 aa05 3200 |005d: invoke-direct {v2, v3}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05aa │ │ -02200c: 6e10 4601 0000 |0060: invoke-virtual {v0}, Ldnsfilter/ConfigurationAccess$ConfigurationAccessException;.getMessage:()Ljava/lang/String; // method@0146 │ │ -022012: 0c03 |0063: move-result-object v3 │ │ -022014: 6e20 af05 3200 |0064: invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -02201a: 6e10 b105 0200 |0067: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ -022020: 0c02 |006a: move-result-object v2 │ │ -022022: 7220 3307 2100 |006b: invoke-interface {v1, v2}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0733 │ │ -022028: 2700 |006e: throw v0 │ │ +021f54: 6e10 8f05 0100 |0006: invoke-virtual {v1}, Ljava/lang/String;.getBytes:()[B // method@058f │ │ +021f5a: 0c01 |0009: move-result-object v1 │ │ +021f5c: 6e20 3805 1000 |000a: invoke-virtual {v0, v1}, Ljava/io/OutputStream;.write:([B)V // method@0538 │ │ +021f62: 7010 7504 0400 |000d: invoke-direct {v4}, Ldnsfilter/remote/RemoteAccessClient;.getOutputStream:()Ljava/io/OutputStream; // method@0475 │ │ +021f68: 0c00 |0010: move-result-object v0 │ │ +021f6a: 6e10 3605 0000 |0011: invoke-virtual {v0}, Ljava/io/OutputStream;.flush:()V // method@0536 │ │ +021f70: 2200 f800 |0014: new-instance v0, Ljava/io/DataInputStream; // type@00f8 │ │ +021f74: 7010 7304 0400 |0016: invoke-direct {v4}, Ldnsfilter/remote/RemoteAccessClient;.getInputStream:()Ljava/io/InputStream; // method@0473 │ │ +021f7a: 0c01 |0019: move-result-object v1 │ │ +021f7c: 7020 f004 1000 |001a: invoke-direct {v0, v1}, Ljava/io/DataInputStream;.:(Ljava/io/InputStream;)V // method@04f0 │ │ +021f82: 7110 9f07 0000 |001d: invoke-static {v0}, Lutil/Utils;.readLineFromStream:(Ljava/io/InputStream;)Ljava/lang/String; // method@079f │ │ +021f88: 0c01 |0020: move-result-object v1 │ │ +021f8a: 1a02 fa03 |0021: const-string v2, "OK" // string@03fa │ │ +021f8e: 6e20 8d05 2100 |0023: invoke-virtual {v1, v2}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058d │ │ +021f94: 0a02 |0026: move-result v2 │ │ +021f96: 3802 0c00 |0027: if-eqz v2, 0033 // +000c │ │ +021f9a: 6e10 f404 0000 |0029: invoke-virtual {v0}, Ljava/io/DataInputStream;.readInt:()I // method@04f4 │ │ +021fa0: 0a01 |002c: move-result v1 │ │ +021fa2: 2311 9d01 |002d: new-array v1, v1, [B // type@019d │ │ +021fa6: 6e20 f204 1000 |002f: invoke-virtual {v0, v1}, Ljava/io/DataInputStream;.readFully:([B)V // method@04f2 │ │ +021fac: 1101 |0032: return-object v1 │ │ +021fae: 2200 8200 |0033: new-instance v0, Ldnsfilter/ConfigurationAccess$ConfigurationAccessException; // type@0082 │ │ +021fb2: 1202 |0035: const/4 v2, #int 0 // #0 │ │ +021fb4: 7030 4501 1002 |0036: invoke-direct {v0, v1, v2}, Ldnsfilter/ConfigurationAccess$ConfigurationAccessException;.:(Ljava/lang/String;Ljava/io/IOException;)V // method@0145 │ │ +021fba: 2700 |0039: throw v0 │ │ +021fbc: 0d00 |003a: move-exception v0 │ │ +021fbe: 5441 e902 |003b: iget-object v1, v4, Ldnsfilter/remote/RemoteAccessClient;.connectedLogger:Lutil/LoggerInterface; // field@02e9 │ │ +021fc2: 2202 2d01 |003d: new-instance v2, Ljava/lang/StringBuilder; // type@012d │ │ +021fc6: 1a03 3704 |003f: const-string v3, "Remote action readConfig() failed! " // string@0437 │ │ +021fca: 7020 aa05 3200 |0041: invoke-direct {v2, v3}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05aa │ │ +021fd0: 6e10 2405 0000 |0044: invoke-virtual {v0}, Ljava/io/IOException;.getMessage:()Ljava/lang/String; // method@0524 │ │ +021fd6: 0c03 |0047: move-result-object v3 │ │ +021fd8: 6e20 af05 3200 |0048: invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +021fde: 6e10 b105 0200 |004b: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ +021fe4: 0c02 |004e: move-result-object v2 │ │ +021fe6: 7220 3307 2100 |004f: invoke-interface {v1, v2}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0733 │ │ +021fec: 7010 6a04 0400 |0052: invoke-direct {v4}, Ldnsfilter/remote/RemoteAccessClient;.closeConnectionReconnect:()V // method@046a │ │ +021ff2: 2700 |0055: throw v0 │ │ +021ff4: 0d00 |0056: move-exception v0 │ │ +021ff6: 5441 e902 |0057: iget-object v1, v4, Ldnsfilter/remote/RemoteAccessClient;.connectedLogger:Lutil/LoggerInterface; // field@02e9 │ │ +021ffa: 2202 2d01 |0059: new-instance v2, Ljava/lang/StringBuilder; // type@012d │ │ +021ffe: 1a03 3404 |005b: const-string v3, "Remote action failed! " // string@0434 │ │ +022002: 7020 aa05 3200 |005d: invoke-direct {v2, v3}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05aa │ │ +022008: 6e10 4601 0000 |0060: invoke-virtual {v0}, Ldnsfilter/ConfigurationAccess$ConfigurationAccessException;.getMessage:()Ljava/lang/String; // method@0146 │ │ +02200e: 0c03 |0063: move-result-object v3 │ │ +022010: 6e20 af05 3200 |0064: invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +022016: 6e10 b105 0200 |0067: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ +02201c: 0c02 |006a: move-result-object v2 │ │ +02201e: 7220 3307 2100 |006b: invoke-interface {v1, v2}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0733 │ │ +022024: 2700 |006e: throw v0 │ │ catches : 1 │ │ 0x0000 - 0x003a │ │ Ldnsfilter/ConfigurationAccess$ConfigurationAccessException; -> 0x0056 │ │ Ljava/io/IOException; -> 0x003a │ │ positions : │ │ 0x0000 line=279 │ │ 0x000d line=280 │ │ @@ -53390,51 +53390,51 @@ │ │ type : '()V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 5 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 75 16-bit code units │ │ -022aac: |[022aac] dnsfilter.remote.RemoteAccessClient.releaseConfiguration:()V │ │ -022abc: 7100 8807 0000 |0000: invoke-static {}, Lutil/TimoutNotificator;.getInstance:()Lutil/TimoutNotificator; // method@0788 │ │ -022ac2: 0c00 |0003: move-result-object v0 │ │ -022ac4: 6e20 8d07 4000 |0004: invoke-virtual {v0, v4}, Lutil/TimoutNotificator;.unregister:(Lutil/TimeoutListener;)V // method@078d │ │ -022aca: 1200 |0007: const/4 v0, #int 0 // #0 │ │ -022acc: 5c40 f502 |0008: iput-boolean v0, v4, Ldnsfilter/remote/RemoteAccessClient;.valid:Z // field@02f5 │ │ -022ad0: 5440 f102 |000a: iget-object v0, v4, Ldnsfilter/remote/RemoteAccessClient;.remoteStream:Ldnsfilter/remote/RemoteAccessClient$RemoteStream; // field@02f1 │ │ -022ad4: 3800 0500 |000c: if-eqz v0, 0011 // +0005 │ │ -022ad8: 6e10 5d04 0000 |000e: invoke-virtual {v0}, Ldnsfilter/remote/RemoteAccessClient$RemoteStream;.close:()V // method@045d │ │ -022ade: 5440 eb02 |0011: iget-object v0, v4, Ldnsfilter/remote/RemoteAccessClient;.ctrlcon:Ljava/net/Socket; // field@02eb │ │ -022ae2: 3800 3000 |0013: if-eqz v0, 0043 // +0030 │ │ -022ae6: 5440 ef02 |0015: iget-object v0, v4, Ldnsfilter/remote/RemoteAccessClient;.out:Ljava/io/OutputStream; // field@02ef │ │ -022aea: 1a01 d309 |0017: const-string v1, "releaseConfiguration()" // string@09d3 │ │ -022aee: 6e10 8f05 0100 |0019: invoke-virtual {v1}, Ljava/lang/String;.getBytes:()[B // method@058f │ │ -022af4: 0c01 |001c: move-result-object v1 │ │ -022af6: 6e20 3805 1000 |001d: invoke-virtual {v0, v1}, Ljava/io/OutputStream;.write:([B)V // method@0538 │ │ -022afc: 5440 ef02 |0020: iget-object v0, v4, Ldnsfilter/remote/RemoteAccessClient;.out:Ljava/io/OutputStream; // field@02ef │ │ -022b00: 6e10 3605 0000 |0022: invoke-virtual {v0}, Ljava/io/OutputStream;.flush:()V // method@0536 │ │ -022b06: 281e |0025: goto 0043 // +001e │ │ -022b08: 0d00 |0026: move-exception v0 │ │ -022b0a: 5441 e902 |0027: iget-object v1, v4, Ldnsfilter/remote/RemoteAccessClient;.connectedLogger:Lutil/LoggerInterface; // field@02e9 │ │ -022b0e: 2202 2d01 |0029: new-instance v2, Ljava/lang/StringBuilder; // type@012d │ │ -022b12: 1a03 8b01 |002b: const-string v3, "Exception during remote configuration release: " // string@018b │ │ -022b16: 7020 aa05 3200 |002d: invoke-direct {v2, v3}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05aa │ │ -022b1c: 6e10 2605 0000 |0030: invoke-virtual {v0}, Ljava/io/IOException;.toString:()Ljava/lang/String; // method@0526 │ │ -022b22: 0c00 |0033: move-result-object v0 │ │ -022b24: 6e20 af05 0200 |0034: invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -022b2a: 6e10 b105 0200 |0037: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ -022b30: 0c00 |003a: move-result-object v0 │ │ -022b32: 7220 3307 0100 |003b: invoke-interface {v1, v0}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0733 │ │ -022b38: 5440 eb02 |003e: iget-object v0, v4, Ldnsfilter/remote/RemoteAccessClient;.ctrlcon:Ljava/net/Socket; // field@02eb │ │ -022b3c: 7110 9207 0000 |0040: invoke-static {v0}, Lutil/Utils;.closeSocket:(Ljava/net/Socket;)V // method@0792 │ │ -022b42: 1200 |0043: const/4 v0, #int 0 // #0 │ │ -022b44: 5b40 eb02 |0044: iput-object v0, v4, Ldnsfilter/remote/RemoteAccessClient;.ctrlcon:Ljava/net/Socket; // field@02eb │ │ -022b48: 5b40 f102 |0046: iput-object v0, v4, Ldnsfilter/remote/RemoteAccessClient;.remoteStream:Ldnsfilter/remote/RemoteAccessClient$RemoteStream; // field@02f1 │ │ -022b4c: 6900 e502 |0048: sput-object v0, Ldnsfilter/remote/RemoteAccessClient;.REMOTE:Ldnsfilter/ConfigurationAccess; // field@02e5 │ │ -022b50: 0e00 |004a: return-void │ │ +022aa8: |[022aa8] dnsfilter.remote.RemoteAccessClient.releaseConfiguration:()V │ │ +022ab8: 7100 8807 0000 |0000: invoke-static {}, Lutil/TimoutNotificator;.getInstance:()Lutil/TimoutNotificator; // method@0788 │ │ +022abe: 0c00 |0003: move-result-object v0 │ │ +022ac0: 6e20 8d07 4000 |0004: invoke-virtual {v0, v4}, Lutil/TimoutNotificator;.unregister:(Lutil/TimeoutListener;)V // method@078d │ │ +022ac6: 1200 |0007: const/4 v0, #int 0 // #0 │ │ +022ac8: 5c40 f502 |0008: iput-boolean v0, v4, Ldnsfilter/remote/RemoteAccessClient;.valid:Z // field@02f5 │ │ +022acc: 5440 f102 |000a: iget-object v0, v4, Ldnsfilter/remote/RemoteAccessClient;.remoteStream:Ldnsfilter/remote/RemoteAccessClient$RemoteStream; // field@02f1 │ │ +022ad0: 3800 0500 |000c: if-eqz v0, 0011 // +0005 │ │ +022ad4: 6e10 5d04 0000 |000e: invoke-virtual {v0}, Ldnsfilter/remote/RemoteAccessClient$RemoteStream;.close:()V // method@045d │ │ +022ada: 5440 eb02 |0011: iget-object v0, v4, Ldnsfilter/remote/RemoteAccessClient;.ctrlcon:Ljava/net/Socket; // field@02eb │ │ +022ade: 3800 3000 |0013: if-eqz v0, 0043 // +0030 │ │ +022ae2: 5440 ef02 |0015: iget-object v0, v4, Ldnsfilter/remote/RemoteAccessClient;.out:Ljava/io/OutputStream; // field@02ef │ │ +022ae6: 1a01 d309 |0017: const-string v1, "releaseConfiguration()" // string@09d3 │ │ +022aea: 6e10 8f05 0100 |0019: invoke-virtual {v1}, Ljava/lang/String;.getBytes:()[B // method@058f │ │ +022af0: 0c01 |001c: move-result-object v1 │ │ +022af2: 6e20 3805 1000 |001d: invoke-virtual {v0, v1}, Ljava/io/OutputStream;.write:([B)V // method@0538 │ │ +022af8: 5440 ef02 |0020: iget-object v0, v4, Ldnsfilter/remote/RemoteAccessClient;.out:Ljava/io/OutputStream; // field@02ef │ │ +022afc: 6e10 3605 0000 |0022: invoke-virtual {v0}, Ljava/io/OutputStream;.flush:()V // method@0536 │ │ +022b02: 281e |0025: goto 0043 // +001e │ │ +022b04: 0d00 |0026: move-exception v0 │ │ +022b06: 5441 e902 |0027: iget-object v1, v4, Ldnsfilter/remote/RemoteAccessClient;.connectedLogger:Lutil/LoggerInterface; // field@02e9 │ │ +022b0a: 2202 2d01 |0029: new-instance v2, Ljava/lang/StringBuilder; // type@012d │ │ +022b0e: 1a03 8b01 |002b: const-string v3, "Exception during remote configuration release: " // string@018b │ │ +022b12: 7020 aa05 3200 |002d: invoke-direct {v2, v3}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05aa │ │ +022b18: 6e10 2605 0000 |0030: invoke-virtual {v0}, Ljava/io/IOException;.toString:()Ljava/lang/String; // method@0526 │ │ +022b1e: 0c00 |0033: move-result-object v0 │ │ +022b20: 6e20 af05 0200 |0034: invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +022b26: 6e10 b105 0200 |0037: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ +022b2c: 0c00 |003a: move-result-object v0 │ │ +022b2e: 7220 3307 0100 |003b: invoke-interface {v1, v0}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0733 │ │ +022b34: 5440 eb02 |003e: iget-object v0, v4, Ldnsfilter/remote/RemoteAccessClient;.ctrlcon:Ljava/net/Socket; // field@02eb │ │ +022b38: 7110 9207 0000 |0040: invoke-static {v0}, Lutil/Utils;.closeSocket:(Ljava/net/Socket;)V // method@0792 │ │ +022b3e: 1200 |0043: const/4 v0, #int 0 // #0 │ │ +022b40: 5b40 eb02 |0044: iput-object v0, v4, Ldnsfilter/remote/RemoteAccessClient;.ctrlcon:Ljava/net/Socket; // field@02eb │ │ +022b44: 5b40 f102 |0046: iput-object v0, v4, Ldnsfilter/remote/RemoteAccessClient;.remoteStream:Ldnsfilter/remote/RemoteAccessClient$RemoteStream; // field@02f1 │ │ +022b48: 6900 e502 |0048: sput-object v0, Ldnsfilter/remote/RemoteAccessClient;.REMOTE:Ldnsfilter/ConfigurationAccess; // field@02e5 │ │ +022b4c: 0e00 |004a: return-void │ │ catches : 1 │ │ 0x0015 - 0x0025 │ │ Ljava/io/IOException; -> 0x0026 │ │ positions : │ │ 0x0000 line=202 │ │ 0x0008 line=203 │ │ 0x000a line=205 │ │ @@ -53455,19 +53455,19 @@ │ │ type : '()V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 3 │ │ ins : 1 │ │ outs : 3 │ │ insns size : 7 16-bit code units │ │ -022b64: |[022b64] dnsfilter.remote.RemoteAccessClient.releaseWakeLock:()V │ │ -022b74: 1a00 d709 |0000: const-string v0, "releaseWakeLock()" // string@09d7 │ │ -022b78: 1201 |0002: const/4 v1, #int 0 // #0 │ │ -022b7a: 7030 8504 0201 |0003: invoke-direct {v2, v0, v1}, Ldnsfilter/remote/RemoteAccessClient;.triggerAction:(Ljava/lang/String;Ljava/lang/String;)V // method@0485 │ │ -022b80: 0e00 |0006: return-void │ │ +022b60: |[022b60] dnsfilter.remote.RemoteAccessClient.releaseWakeLock:()V │ │ +022b70: 1a00 d709 |0000: const-string v0, "releaseWakeLock()" // string@09d7 │ │ +022b74: 1201 |0002: const/4 v1, #int 0 // #0 │ │ +022b76: 7030 8504 0201 |0003: invoke-direct {v2, v0, v1}, Ldnsfilter/remote/RemoteAccessClient;.triggerAction:(Ljava/lang/String;Ljava/lang/String;)V // method@0485 │ │ +022b7c: 0e00 |0006: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=527 │ │ locals : │ │ 0x0000 - 0x0007 reg=2 this Ldnsfilter/remote/RemoteAccessClient; │ │ │ │ #15 : (in Ldnsfilter/remote/RemoteAccessClient;) │ │ @@ -53475,20 +53475,20 @@ │ │ type : '()V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 3 │ │ ins : 1 │ │ outs : 3 │ │ insns size : 10 16-bit code units │ │ -022b84: |[022b84] dnsfilter.remote.RemoteAccessClient.restart:()V │ │ -022b94: 1a00 150a |0000: const-string v0, "restart()" // string@0a15 │ │ -022b98: 1201 |0002: const/4 v1, #int 0 // #0 │ │ -022b9a: 7030 8504 0201 |0003: invoke-direct {v2, v0, v1}, Ldnsfilter/remote/RemoteAccessClient;.triggerAction:(Ljava/lang/String;Ljava/lang/String;)V // method@0485 │ │ -022ba0: 6e10 7904 0200 |0006: invoke-virtual {v2}, Ldnsfilter/remote/RemoteAccessClient;.invalidate:()V // method@0479 │ │ -022ba6: 0e00 |0009: return-void │ │ +022b80: |[022b80] dnsfilter.remote.RemoteAccessClient.restart:()V │ │ +022b90: 1a00 150a |0000: const-string v0, "restart()" // string@0a15 │ │ +022b94: 1201 |0002: const/4 v1, #int 0 // #0 │ │ +022b96: 7030 8504 0201 |0003: invoke-direct {v2, v0, v1}, Ldnsfilter/remote/RemoteAccessClient;.triggerAction:(Ljava/lang/String;Ljava/lang/String;)V // method@0485 │ │ +022b9c: 6e10 7904 0200 |0006: invoke-virtual {v2}, Ldnsfilter/remote/RemoteAccessClient;.invalidate:()V // method@0479 │ │ +022ba2: 0e00 |0009: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=445 │ │ 0x0006 line=446 │ │ locals : │ │ 0x0000 - 0x000a reg=2 this Ldnsfilter/remote/RemoteAccessClient; │ │ │ │ @@ -53497,19 +53497,19 @@ │ │ type : '()V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 3 │ │ ins : 1 │ │ outs : 3 │ │ insns size : 7 16-bit code units │ │ -022bd8: |[022bd8] dnsfilter.remote.RemoteAccessClient.stop:()V │ │ -022be8: 1a00 f50a |0000: const-string v0, "stop()" // string@0af5 │ │ -022bec: 1201 |0002: const/4 v1, #int 0 // #0 │ │ -022bee: 7030 8504 0201 |0003: invoke-direct {v2, v0, v1}, Ldnsfilter/remote/RemoteAccessClient;.triggerAction:(Ljava/lang/String;Ljava/lang/String;)V // method@0485 │ │ -022bf4: 0e00 |0006: return-void │ │ +022bd4: |[022bd4] dnsfilter.remote.RemoteAccessClient.stop:()V │ │ +022be4: 1a00 f50a |0000: const-string v0, "stop()" // string@0af5 │ │ +022be8: 1201 |0002: const/4 v1, #int 0 // #0 │ │ +022bea: 7030 8504 0201 |0003: invoke-direct {v2, v0, v1}, Ldnsfilter/remote/RemoteAccessClient;.triggerAction:(Ljava/lang/String;Ljava/lang/String;)V // method@0485 │ │ +022bf0: 0e00 |0006: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=451 │ │ locals : │ │ 0x0000 - 0x0007 reg=2 this Ldnsfilter/remote/RemoteAccessClient; │ │ │ │ #17 : (in Ldnsfilter/remote/RemoteAccessClient;) │ │ @@ -53517,33 +53517,33 @@ │ │ type : '()V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 3 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 36 16-bit code units │ │ -022bf8: |[022bf8] dnsfilter.remote.RemoteAccessClient.timeoutNotification:()V │ │ -022c08: 5220 f302 |0000: iget v0, v2, Ldnsfilter/remote/RemoteAccessClient;.timeOutCounter:I // field@02f3 │ │ -022c0c: d800 0001 |0002: add-int/lit8 v0, v0, #int 1 // #01 │ │ -022c10: 5920 f302 |0004: iput v0, v2, Ldnsfilter/remote/RemoteAccessClient;.timeOutCounter:I // field@02f3 │ │ -022c14: 1221 |0006: const/4 v1, #int 2 // #2 │ │ -022c16: 3310 1700 |0007: if-ne v0, v1, 001e // +0017 │ │ -022c1a: 5420 e902 |0009: iget-object v0, v2, Ldnsfilter/remote/RemoteAccessClient;.connectedLogger:Lutil/LoggerInterface; // field@02e9 │ │ -022c1e: 1a01 2e04 |000b: const-string v1, "Remote Session is Dead!" // string@042e │ │ -022c22: 7220 3407 1000 |000d: invoke-interface {v0, v1}, Lutil/LoggerInterface;.message:(Ljava/lang/String;)V // method@0734 │ │ -022c28: 5420 e902 |0010: iget-object v0, v2, Ldnsfilter/remote/RemoteAccessClient;.connectedLogger:Lutil/LoggerInterface; // field@02e9 │ │ -022c2c: 1a01 2f04 |0012: const-string v1, "Remote Session is Dead! - Closing...!" // string@042f │ │ -022c30: 7220 3307 1000 |0014: invoke-interface {v0, v1}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0733 │ │ -022c36: 1200 |0017: const/4 v0, #int 0 // #0 │ │ -022c38: 5920 f302 |0018: iput v0, v2, Ldnsfilter/remote/RemoteAccessClient;.timeOutCounter:I // field@02f3 │ │ -022c3c: 7010 6a04 0200 |001a: invoke-direct {v2}, Ldnsfilter/remote/RemoteAccessClient;.closeConnectionReconnect:()V // method@046a │ │ -022c42: 2806 |001d: goto 0023 // +0006 │ │ -022c44: 6000 e402 |001e: sget v0, Ldnsfilter/remote/RemoteAccessClient;.READ_TIMEOUT:I // field@02e4 │ │ -022c48: 7020 8104 0200 |0020: invoke-direct {v2, v0}, Ldnsfilter/remote/RemoteAccessClient;.setTimeout:(I)V // method@0481 │ │ -022c4e: 0e00 |0023: return-void │ │ +022bf4: |[022bf4] dnsfilter.remote.RemoteAccessClient.timeoutNotification:()V │ │ +022c04: 5220 f302 |0000: iget v0, v2, Ldnsfilter/remote/RemoteAccessClient;.timeOutCounter:I // field@02f3 │ │ +022c08: d800 0001 |0002: add-int/lit8 v0, v0, #int 1 // #01 │ │ +022c0c: 5920 f302 |0004: iput v0, v2, Ldnsfilter/remote/RemoteAccessClient;.timeOutCounter:I // field@02f3 │ │ +022c10: 1221 |0006: const/4 v1, #int 2 // #2 │ │ +022c12: 3310 1700 |0007: if-ne v0, v1, 001e // +0017 │ │ +022c16: 5420 e902 |0009: iget-object v0, v2, Ldnsfilter/remote/RemoteAccessClient;.connectedLogger:Lutil/LoggerInterface; // field@02e9 │ │ +022c1a: 1a01 2e04 |000b: const-string v1, "Remote Session is Dead!" // string@042e │ │ +022c1e: 7220 3407 1000 |000d: invoke-interface {v0, v1}, Lutil/LoggerInterface;.message:(Ljava/lang/String;)V // method@0734 │ │ +022c24: 5420 e902 |0010: iget-object v0, v2, Ldnsfilter/remote/RemoteAccessClient;.connectedLogger:Lutil/LoggerInterface; // field@02e9 │ │ +022c28: 1a01 2f04 |0012: const-string v1, "Remote Session is Dead! - Closing...!" // string@042f │ │ +022c2c: 7220 3307 1000 |0014: invoke-interface {v0, v1}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0733 │ │ +022c32: 1200 |0017: const/4 v0, #int 0 // #0 │ │ +022c34: 5920 f302 |0018: iput v0, v2, Ldnsfilter/remote/RemoteAccessClient;.timeOutCounter:I // field@02f3 │ │ +022c38: 7010 6a04 0200 |001a: invoke-direct {v2}, Ldnsfilter/remote/RemoteAccessClient;.closeConnectionReconnect:()V // method@046a │ │ +022c3e: 2806 |001d: goto 0023 // +0006 │ │ +022c40: 6000 e402 |001e: sget v0, Ldnsfilter/remote/RemoteAccessClient;.READ_TIMEOUT:I // field@02e4 │ │ +022c44: 7020 8104 0200 |0020: invoke-direct {v2, v0}, Ldnsfilter/remote/RemoteAccessClient;.setTimeout:(I)V // method@0481 │ │ +022c4a: 0e00 |0023: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=544 │ │ 0x0009 line=546 │ │ 0x0010 line=547 │ │ 0x0018 line=548 │ │ 0x001a line=549 │ │ @@ -53556,27 +53556,27 @@ │ │ type : '()Ljava/lang/String;' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 3 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 27 16-bit code units │ │ -0222f4: |[0222f4] dnsfilter.remote.RemoteAccessClient.toString:()Ljava/lang/String; │ │ -022304: 2200 2d01 |0000: new-instance v0, Ljava/lang/StringBuilder; // type@012d │ │ -022308: 1a01 1a04 |0002: const-string v1, "REMOTE -> " // string@041a │ │ -02230c: 7020 aa05 1000 |0004: invoke-direct {v0, v1}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05aa │ │ -022312: 5421 ec02 |0007: iget-object v1, v2, Ldnsfilter/remote/RemoteAccessClient;.host:Ljava/lang/String; // field@02ec │ │ -022316: 6e20 af05 1000 |0009: invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -02231c: 1a01 8100 |000c: const-string v1, ":" // string@0081 │ │ -022320: 6e20 af05 1000 |000e: invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -022326: 5221 f002 |0011: iget v1, v2, Ldnsfilter/remote/RemoteAccessClient;.port:I // field@02f0 │ │ -02232a: 6e20 ac05 1000 |0013: invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@05ac │ │ -022330: 6e10 b105 0000 |0016: invoke-virtual {v0}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ -022336: 0c00 |0019: move-result-object v0 │ │ -022338: 1100 |001a: return-object v0 │ │ +0222f0: |[0222f0] dnsfilter.remote.RemoteAccessClient.toString:()Ljava/lang/String; │ │ +022300: 2200 2d01 |0000: new-instance v0, Ljava/lang/StringBuilder; // type@012d │ │ +022304: 1a01 1a04 |0002: const-string v1, "REMOTE -> " // string@041a │ │ +022308: 7020 aa05 1000 |0004: invoke-direct {v0, v1}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05aa │ │ +02230e: 5421 ec02 |0007: iget-object v1, v2, Ldnsfilter/remote/RemoteAccessClient;.host:Ljava/lang/String; // field@02ec │ │ +022312: 6e20 af05 1000 |0009: invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +022318: 1a01 8100 |000c: const-string v1, ":" // string@0081 │ │ +02231c: 6e20 af05 1000 |000e: invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +022322: 5221 f002 |0011: iget v1, v2, Ldnsfilter/remote/RemoteAccessClient;.port:I // field@02f0 │ │ +022326: 6e20 ac05 1000 |0013: invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@05ac │ │ +02232c: 6e10 b105 0000 |0016: invoke-virtual {v0}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ +022332: 0c00 |0019: move-result-object v0 │ │ +022334: 1100 |001a: return-object v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=85 │ │ locals : │ │ 0x0000 - 0x001b reg=2 this Ldnsfilter/remote/RemoteAccessClient; │ │ │ │ #19 : (in Ldnsfilter/remote/RemoteAccessClient;) │ │ @@ -53584,19 +53584,19 @@ │ │ type : '()V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 3 │ │ ins : 1 │ │ outs : 3 │ │ insns size : 7 16-bit code units │ │ -022d98: |[022d98] dnsfilter.remote.RemoteAccessClient.triggerUpdateFilter:()V │ │ -022da8: 1a00 400b |0000: const-string v0, "triggerUpdateFilter()" // string@0b40 │ │ -022dac: 1201 |0002: const/4 v1, #int 0 // #0 │ │ -022dae: 7030 8504 0201 |0003: invoke-direct {v2, v0, v1}, Ldnsfilter/remote/RemoteAccessClient;.triggerAction:(Ljava/lang/String;Ljava/lang/String;)V // method@0485 │ │ -022db4: 0e00 |0006: return-void │ │ +022d94: |[022d94] dnsfilter.remote.RemoteAccessClient.triggerUpdateFilter:()V │ │ +022da4: 1a00 400b |0000: const-string v0, "triggerUpdateFilter()" // string@0b40 │ │ +022da8: 1201 |0002: const/4 v1, #int 0 // #0 │ │ +022daa: 7030 8504 0201 |0003: invoke-direct {v2, v0, v1}, Ldnsfilter/remote/RemoteAccessClient;.triggerAction:(Ljava/lang/String;Ljava/lang/String;)V // method@0485 │ │ +022db0: 0e00 |0006: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=479 │ │ locals : │ │ 0x0000 - 0x0007 reg=2 this Ldnsfilter/remote/RemoteAccessClient; │ │ │ │ #20 : (in Ldnsfilter/remote/RemoteAccessClient;) │ │ @@ -53604,68 +53604,68 @@ │ │ type : '([B)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 5 │ │ ins : 2 │ │ outs : 3 │ │ insns size : 110 16-bit code units │ │ -022db8: |[022db8] dnsfilter.remote.RemoteAccessClient.updateAdditionalHosts:([B)V │ │ -022dc8: 2200 f900 |0000: new-instance v0, Ljava/io/DataOutputStream; // type@00f9 │ │ -022dcc: 7010 7504 0300 |0002: invoke-direct {v3}, Ldnsfilter/remote/RemoteAccessClient;.getOutputStream:()Ljava/io/OutputStream; // method@0475 │ │ -022dd2: 0c01 |0005: move-result-object v1 │ │ -022dd4: 7020 f704 1000 |0006: invoke-direct {v0, v1}, Ljava/io/DataOutputStream;.:(Ljava/io/OutputStream;)V // method@04f7 │ │ -022dda: 2201 f800 |0009: new-instance v1, Ljava/io/DataInputStream; // type@00f8 │ │ -022dde: 7010 7304 0300 |000b: invoke-direct {v3}, Ldnsfilter/remote/RemoteAccessClient;.getInputStream:()Ljava/io/InputStream; // method@0473 │ │ -022de4: 0c02 |000e: move-result-object v2 │ │ -022de6: 7020 f004 2100 |000f: invoke-direct {v1, v2}, Ljava/io/DataInputStream;.:(Ljava/io/InputStream;)V // method@04f0 │ │ -022dec: 1a02 510b |0012: const-string v2, "updateAdditionalHosts() │ │ +022db4: |[022db4] dnsfilter.remote.RemoteAccessClient.updateAdditionalHosts:([B)V │ │ +022dc4: 2200 f900 |0000: new-instance v0, Ljava/io/DataOutputStream; // type@00f9 │ │ +022dc8: 7010 7504 0300 |0002: invoke-direct {v3}, Ldnsfilter/remote/RemoteAccessClient;.getOutputStream:()Ljava/io/OutputStream; // method@0475 │ │ +022dce: 0c01 |0005: move-result-object v1 │ │ +022dd0: 7020 f704 1000 |0006: invoke-direct {v0, v1}, Ljava/io/DataOutputStream;.:(Ljava/io/OutputStream;)V // method@04f7 │ │ +022dd6: 2201 f800 |0009: new-instance v1, Ljava/io/DataInputStream; // type@00f8 │ │ +022dda: 7010 7304 0300 |000b: invoke-direct {v3}, Ldnsfilter/remote/RemoteAccessClient;.getInputStream:()Ljava/io/InputStream; // method@0473 │ │ +022de0: 0c02 |000e: move-result-object v2 │ │ +022de2: 7020 f004 2100 |000f: invoke-direct {v1, v2}, Ljava/io/DataInputStream;.:(Ljava/io/InputStream;)V // method@04f0 │ │ +022de8: 1a02 510b |0012: const-string v2, "updateAdditionalHosts() │ │ " // string@0b51 │ │ -022df0: 6e10 8f05 0200 |0014: invoke-virtual {v2}, Ljava/lang/String;.getBytes:()[B // method@058f │ │ -022df6: 0c02 |0017: move-result-object v2 │ │ -022df8: 6e20 fa04 2000 |0018: invoke-virtual {v0, v2}, Ljava/io/DataOutputStream;.write:([B)V // method@04fa │ │ -022dfe: 2142 |001b: array-length v2, v4 │ │ -022e00: 6e20 fd04 2000 |001c: invoke-virtual {v0, v2}, Ljava/io/DataOutputStream;.writeInt:(I)V // method@04fd │ │ -022e06: 6e20 fa04 4000 |001f: invoke-virtual {v0, v4}, Ljava/io/DataOutputStream;.write:([B)V // method@04fa │ │ -022e0c: 6e10 f904 0000 |0022: invoke-virtual {v0}, Ljava/io/DataOutputStream;.flush:()V // method@04f9 │ │ -022e12: 7110 9f07 0100 |0025: invoke-static {v1}, Lutil/Utils;.readLineFromStream:(Ljava/io/InputStream;)Ljava/lang/String; // method@079f │ │ -022e18: 0c04 |0028: move-result-object v4 │ │ -022e1a: 1a00 fa03 |0029: const-string v0, "OK" // string@03fa │ │ -022e1e: 6e20 8d05 0400 |002b: invoke-virtual {v4, v0}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058d │ │ -022e24: 0a00 |002e: move-result v0 │ │ -022e26: 3800 0300 |002f: if-eqz v0, 0032 // +0003 │ │ -022e2a: 0e00 |0031: return-void │ │ -022e2c: 2200 8200 |0032: new-instance v0, Ldnsfilter/ConfigurationAccess$ConfigurationAccessException; // type@0082 │ │ -022e30: 1201 |0034: const/4 v1, #int 0 // #0 │ │ -022e32: 7030 4501 4001 |0035: invoke-direct {v0, v4, v1}, Ldnsfilter/ConfigurationAccess$ConfigurationAccessException;.:(Ljava/lang/String;Ljava/io/IOException;)V // method@0145 │ │ -022e38: 2700 |0038: throw v0 │ │ -022e3a: 0d04 |0039: move-exception v4 │ │ -022e3c: 5430 e902 |003a: iget-object v0, v3, Ldnsfilter/remote/RemoteAccessClient;.connectedLogger:Lutil/LoggerInterface; // field@02e9 │ │ -022e40: 2201 2d01 |003c: new-instance v1, Ljava/lang/StringBuilder; // type@012d │ │ -022e44: 1a02 3804 |003e: const-string v2, "Remote action updateAdditionalHosts() failed! " // string@0438 │ │ -022e48: 7020 aa05 2100 |0040: invoke-direct {v1, v2}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05aa │ │ -022e4e: 6e10 2405 0400 |0043: invoke-virtual {v4}, Ljava/io/IOException;.getMessage:()Ljava/lang/String; // method@0524 │ │ -022e54: 0c02 |0046: move-result-object v2 │ │ -022e56: 6e20 af05 2100 |0047: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -022e5c: 6e10 b105 0100 |004a: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ -022e62: 0c01 |004d: move-result-object v1 │ │ -022e64: 7220 3307 1000 |004e: invoke-interface {v0, v1}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0733 │ │ -022e6a: 7010 6a04 0300 |0051: invoke-direct {v3}, Ldnsfilter/remote/RemoteAccessClient;.closeConnectionReconnect:()V // method@046a │ │ -022e70: 2704 |0054: throw v4 │ │ -022e72: 0d04 |0055: move-exception v4 │ │ -022e74: 5430 e902 |0056: iget-object v0, v3, Ldnsfilter/remote/RemoteAccessClient;.connectedLogger:Lutil/LoggerInterface; // field@02e9 │ │ -022e78: 2201 2d01 |0058: new-instance v1, Ljava/lang/StringBuilder; // type@012d │ │ -022e7c: 1a02 3404 |005a: const-string v2, "Remote action failed! " // string@0434 │ │ -022e80: 7020 aa05 2100 |005c: invoke-direct {v1, v2}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05aa │ │ -022e86: 6e10 4601 0400 |005f: invoke-virtual {v4}, Ldnsfilter/ConfigurationAccess$ConfigurationAccessException;.getMessage:()Ljava/lang/String; // method@0146 │ │ -022e8c: 0c02 |0062: move-result-object v2 │ │ -022e8e: 6e20 af05 2100 |0063: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -022e94: 6e10 b105 0100 |0066: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ -022e9a: 0c01 |0069: move-result-object v1 │ │ -022e9c: 7220 3307 1000 |006a: invoke-interface {v0, v1}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0733 │ │ -022ea2: 2704 |006d: throw v4 │ │ +022dec: 6e10 8f05 0200 |0014: invoke-virtual {v2}, Ljava/lang/String;.getBytes:()[B // method@058f │ │ +022df2: 0c02 |0017: move-result-object v2 │ │ +022df4: 6e20 fa04 2000 |0018: invoke-virtual {v0, v2}, Ljava/io/DataOutputStream;.write:([B)V // method@04fa │ │ +022dfa: 2142 |001b: array-length v2, v4 │ │ +022dfc: 6e20 fd04 2000 |001c: invoke-virtual {v0, v2}, Ljava/io/DataOutputStream;.writeInt:(I)V // method@04fd │ │ +022e02: 6e20 fa04 4000 |001f: invoke-virtual {v0, v4}, Ljava/io/DataOutputStream;.write:([B)V // method@04fa │ │ +022e08: 6e10 f904 0000 |0022: invoke-virtual {v0}, Ljava/io/DataOutputStream;.flush:()V // method@04f9 │ │ +022e0e: 7110 9f07 0100 |0025: invoke-static {v1}, Lutil/Utils;.readLineFromStream:(Ljava/io/InputStream;)Ljava/lang/String; // method@079f │ │ +022e14: 0c04 |0028: move-result-object v4 │ │ +022e16: 1a00 fa03 |0029: const-string v0, "OK" // string@03fa │ │ +022e1a: 6e20 8d05 0400 |002b: invoke-virtual {v4, v0}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058d │ │ +022e20: 0a00 |002e: move-result v0 │ │ +022e22: 3800 0300 |002f: if-eqz v0, 0032 // +0003 │ │ +022e26: 0e00 |0031: return-void │ │ +022e28: 2200 8200 |0032: new-instance v0, Ldnsfilter/ConfigurationAccess$ConfigurationAccessException; // type@0082 │ │ +022e2c: 1201 |0034: const/4 v1, #int 0 // #0 │ │ +022e2e: 7030 4501 4001 |0035: invoke-direct {v0, v4, v1}, Ldnsfilter/ConfigurationAccess$ConfigurationAccessException;.:(Ljava/lang/String;Ljava/io/IOException;)V // method@0145 │ │ +022e34: 2700 |0038: throw v0 │ │ +022e36: 0d04 |0039: move-exception v4 │ │ +022e38: 5430 e902 |003a: iget-object v0, v3, Ldnsfilter/remote/RemoteAccessClient;.connectedLogger:Lutil/LoggerInterface; // field@02e9 │ │ +022e3c: 2201 2d01 |003c: new-instance v1, Ljava/lang/StringBuilder; // type@012d │ │ +022e40: 1a02 3804 |003e: const-string v2, "Remote action updateAdditionalHosts() failed! " // string@0438 │ │ +022e44: 7020 aa05 2100 |0040: invoke-direct {v1, v2}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05aa │ │ +022e4a: 6e10 2405 0400 |0043: invoke-virtual {v4}, Ljava/io/IOException;.getMessage:()Ljava/lang/String; // method@0524 │ │ +022e50: 0c02 |0046: move-result-object v2 │ │ +022e52: 6e20 af05 2100 |0047: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +022e58: 6e10 b105 0100 |004a: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ +022e5e: 0c01 |004d: move-result-object v1 │ │ +022e60: 7220 3307 1000 |004e: invoke-interface {v0, v1}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0733 │ │ +022e66: 7010 6a04 0300 |0051: invoke-direct {v3}, Ldnsfilter/remote/RemoteAccessClient;.closeConnectionReconnect:()V // method@046a │ │ +022e6c: 2704 |0054: throw v4 │ │ +022e6e: 0d04 |0055: move-exception v4 │ │ +022e70: 5430 e902 |0056: iget-object v0, v3, Ldnsfilter/remote/RemoteAccessClient;.connectedLogger:Lutil/LoggerInterface; // field@02e9 │ │ +022e74: 2201 2d01 |0058: new-instance v1, Ljava/lang/StringBuilder; // type@012d │ │ +022e78: 1a02 3404 |005a: const-string v2, "Remote action failed! " // string@0434 │ │ +022e7c: 7020 aa05 2100 |005c: invoke-direct {v1, v2}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05aa │ │ +022e82: 6e10 4601 0400 |005f: invoke-virtual {v4}, Ldnsfilter/ConfigurationAccess$ConfigurationAccessException;.getMessage:()Ljava/lang/String; // method@0146 │ │ +022e88: 0c02 |0062: move-result-object v2 │ │ +022e8a: 6e20 af05 2100 |0063: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +022e90: 6e10 b105 0100 |0066: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ +022e96: 0c01 |0069: move-result-object v1 │ │ +022e98: 7220 3307 1000 |006a: invoke-interface {v0, v1}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0733 │ │ +022e9e: 2704 |006d: throw v4 │ │ catches : 1 │ │ 0x0000 - 0x0039 │ │ Ldnsfilter/ConfigurationAccess$ConfigurationAccessException; -> 0x0055 │ │ Ljava/io/IOException; -> 0x0039 │ │ positions : │ │ 0x0000 line=384 │ │ 0x0009 line=385 │ │ @@ -53690,67 +53690,67 @@ │ │ type : '([B)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 5 │ │ ins : 2 │ │ outs : 3 │ │ insns size : 108 16-bit code units │ │ -022eb4: |[022eb4] dnsfilter.remote.RemoteAccessClient.updateConfig:([B)V │ │ -022ec4: 6e10 7904 0300 |0000: invoke-virtual {v3}, Ldnsfilter/remote/RemoteAccessClient;.invalidate:()V // method@0479 │ │ -022eca: 7010 7304 0300 |0003: invoke-direct {v3}, Ldnsfilter/remote/RemoteAccessClient;.getInputStream:()Ljava/io/InputStream; // method@0473 │ │ -022ed0: 0c00 |0006: move-result-object v0 │ │ -022ed2: 2201 f900 |0007: new-instance v1, Ljava/io/DataOutputStream; // type@00f9 │ │ -022ed6: 7010 7504 0300 |0009: invoke-direct {v3}, Ldnsfilter/remote/RemoteAccessClient;.getOutputStream:()Ljava/io/OutputStream; // method@0475 │ │ -022edc: 0c02 |000c: move-result-object v2 │ │ -022ede: 7020 f704 2100 |000d: invoke-direct {v1, v2}, Ljava/io/DataOutputStream;.:(Ljava/io/OutputStream;)V // method@04f7 │ │ -022ee4: 1a02 540b |0010: const-string v2, "updateConfig() │ │ +022eb0: |[022eb0] dnsfilter.remote.RemoteAccessClient.updateConfig:([B)V │ │ +022ec0: 6e10 7904 0300 |0000: invoke-virtual {v3}, Ldnsfilter/remote/RemoteAccessClient;.invalidate:()V // method@0479 │ │ +022ec6: 7010 7304 0300 |0003: invoke-direct {v3}, Ldnsfilter/remote/RemoteAccessClient;.getInputStream:()Ljava/io/InputStream; // method@0473 │ │ +022ecc: 0c00 |0006: move-result-object v0 │ │ +022ece: 2201 f900 |0007: new-instance v1, Ljava/io/DataOutputStream; // type@00f9 │ │ +022ed2: 7010 7504 0300 |0009: invoke-direct {v3}, Ldnsfilter/remote/RemoteAccessClient;.getOutputStream:()Ljava/io/OutputStream; // method@0475 │ │ +022ed8: 0c02 |000c: move-result-object v2 │ │ +022eda: 7020 f704 2100 |000d: invoke-direct {v1, v2}, Ljava/io/DataOutputStream;.:(Ljava/io/OutputStream;)V // method@04f7 │ │ +022ee0: 1a02 540b |0010: const-string v2, "updateConfig() │ │ " // string@0b54 │ │ -022ee8: 6e10 8f05 0200 |0012: invoke-virtual {v2}, Ljava/lang/String;.getBytes:()[B // method@058f │ │ -022eee: 0c02 |0015: move-result-object v2 │ │ -022ef0: 6e20 fa04 2100 |0016: invoke-virtual {v1, v2}, Ljava/io/DataOutputStream;.write:([B)V // method@04fa │ │ -022ef6: 2142 |0019: array-length v2, v4 │ │ -022ef8: 6e20 fd04 2100 |001a: invoke-virtual {v1, v2}, Ljava/io/DataOutputStream;.writeInt:(I)V // method@04fd │ │ -022efe: 6e20 fa04 4100 |001d: invoke-virtual {v1, v4}, Ljava/io/DataOutputStream;.write:([B)V // method@04fa │ │ -022f04: 6e10 f904 0100 |0020: invoke-virtual {v1}, Ljava/io/DataOutputStream;.flush:()V // method@04f9 │ │ -022f0a: 7110 9f07 0000 |0023: invoke-static {v0}, Lutil/Utils;.readLineFromStream:(Ljava/io/InputStream;)Ljava/lang/String; // method@079f │ │ -022f10: 0c04 |0026: move-result-object v4 │ │ -022f12: 1a00 fa03 |0027: const-string v0, "OK" // string@03fa │ │ -022f16: 6e20 8d05 0400 |0029: invoke-virtual {v4, v0}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058d │ │ -022f1c: 0a00 |002c: move-result v0 │ │ -022f1e: 3800 0300 |002d: if-eqz v0, 0030 // +0003 │ │ -022f22: 0e00 |002f: return-void │ │ -022f24: 2200 8200 |0030: new-instance v0, Ldnsfilter/ConfigurationAccess$ConfigurationAccessException; // type@0082 │ │ -022f28: 1201 |0032: const/4 v1, #int 0 // #0 │ │ -022f2a: 7030 4501 4001 |0033: invoke-direct {v0, v4, v1}, Ldnsfilter/ConfigurationAccess$ConfigurationAccessException;.:(Ljava/lang/String;Ljava/io/IOException;)V // method@0145 │ │ -022f30: 2700 |0036: throw v0 │ │ -022f32: 0d04 |0037: move-exception v4 │ │ -022f34: 5430 e902 |0038: iget-object v0, v3, Ldnsfilter/remote/RemoteAccessClient;.connectedLogger:Lutil/LoggerInterface; // field@02e9 │ │ -022f38: 2201 2d01 |003a: new-instance v1, Ljava/lang/StringBuilder; // type@012d │ │ -022f3c: 1a02 3904 |003c: const-string v2, "Remote action updateConfig() failed! " // string@0439 │ │ -022f40: 7020 aa05 2100 |003e: invoke-direct {v1, v2}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05aa │ │ -022f46: 6e10 2405 0400 |0041: invoke-virtual {v4}, Ljava/io/IOException;.getMessage:()Ljava/lang/String; // method@0524 │ │ -022f4c: 0c02 |0044: move-result-object v2 │ │ -022f4e: 6e20 af05 2100 |0045: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -022f54: 6e10 b105 0100 |0048: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ -022f5a: 0c01 |004b: move-result-object v1 │ │ -022f5c: 7220 3307 1000 |004c: invoke-interface {v0, v1}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0733 │ │ -022f62: 7010 6a04 0300 |004f: invoke-direct {v3}, Ldnsfilter/remote/RemoteAccessClient;.closeConnectionReconnect:()V // method@046a │ │ -022f68: 2704 |0052: throw v4 │ │ -022f6a: 0d04 |0053: move-exception v4 │ │ -022f6c: 5430 e902 |0054: iget-object v0, v3, Ldnsfilter/remote/RemoteAccessClient;.connectedLogger:Lutil/LoggerInterface; // field@02e9 │ │ -022f70: 2201 2d01 |0056: new-instance v1, Ljava/lang/StringBuilder; // type@012d │ │ -022f74: 1a02 3404 |0058: const-string v2, "Remote action failed! " // string@0434 │ │ -022f78: 7020 aa05 2100 |005a: invoke-direct {v1, v2}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05aa │ │ -022f7e: 6e10 4601 0400 |005d: invoke-virtual {v4}, Ldnsfilter/ConfigurationAccess$ConfigurationAccessException;.getMessage:()Ljava/lang/String; // method@0146 │ │ -022f84: 0c02 |0060: move-result-object v2 │ │ -022f86: 6e20 af05 2100 |0061: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -022f8c: 6e10 b105 0100 |0064: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ -022f92: 0c01 |0067: move-result-object v1 │ │ -022f94: 7220 3307 1000 |0068: invoke-interface {v0, v1}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0733 │ │ -022f9a: 2704 |006b: throw v4 │ │ +022ee4: 6e10 8f05 0200 |0012: invoke-virtual {v2}, Ljava/lang/String;.getBytes:()[B // method@058f │ │ +022eea: 0c02 |0015: move-result-object v2 │ │ +022eec: 6e20 fa04 2100 |0016: invoke-virtual {v1, v2}, Ljava/io/DataOutputStream;.write:([B)V // method@04fa │ │ +022ef2: 2142 |0019: array-length v2, v4 │ │ +022ef4: 6e20 fd04 2100 |001a: invoke-virtual {v1, v2}, Ljava/io/DataOutputStream;.writeInt:(I)V // method@04fd │ │ +022efa: 6e20 fa04 4100 |001d: invoke-virtual {v1, v4}, Ljava/io/DataOutputStream;.write:([B)V // method@04fa │ │ +022f00: 6e10 f904 0100 |0020: invoke-virtual {v1}, Ljava/io/DataOutputStream;.flush:()V // method@04f9 │ │ +022f06: 7110 9f07 0000 |0023: invoke-static {v0}, Lutil/Utils;.readLineFromStream:(Ljava/io/InputStream;)Ljava/lang/String; // method@079f │ │ +022f0c: 0c04 |0026: move-result-object v4 │ │ +022f0e: 1a00 fa03 |0027: const-string v0, "OK" // string@03fa │ │ +022f12: 6e20 8d05 0400 |0029: invoke-virtual {v4, v0}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058d │ │ +022f18: 0a00 |002c: move-result v0 │ │ +022f1a: 3800 0300 |002d: if-eqz v0, 0030 // +0003 │ │ +022f1e: 0e00 |002f: return-void │ │ +022f20: 2200 8200 |0030: new-instance v0, Ldnsfilter/ConfigurationAccess$ConfigurationAccessException; // type@0082 │ │ +022f24: 1201 |0032: const/4 v1, #int 0 // #0 │ │ +022f26: 7030 4501 4001 |0033: invoke-direct {v0, v4, v1}, Ldnsfilter/ConfigurationAccess$ConfigurationAccessException;.:(Ljava/lang/String;Ljava/io/IOException;)V // method@0145 │ │ +022f2c: 2700 |0036: throw v0 │ │ +022f2e: 0d04 |0037: move-exception v4 │ │ +022f30: 5430 e902 |0038: iget-object v0, v3, Ldnsfilter/remote/RemoteAccessClient;.connectedLogger:Lutil/LoggerInterface; // field@02e9 │ │ +022f34: 2201 2d01 |003a: new-instance v1, Ljava/lang/StringBuilder; // type@012d │ │ +022f38: 1a02 3904 |003c: const-string v2, "Remote action updateConfig() failed! " // string@0439 │ │ +022f3c: 7020 aa05 2100 |003e: invoke-direct {v1, v2}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05aa │ │ +022f42: 6e10 2405 0400 |0041: invoke-virtual {v4}, Ljava/io/IOException;.getMessage:()Ljava/lang/String; // method@0524 │ │ +022f48: 0c02 |0044: move-result-object v2 │ │ +022f4a: 6e20 af05 2100 |0045: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +022f50: 6e10 b105 0100 |0048: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ +022f56: 0c01 |004b: move-result-object v1 │ │ +022f58: 7220 3307 1000 |004c: invoke-interface {v0, v1}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0733 │ │ +022f5e: 7010 6a04 0300 |004f: invoke-direct {v3}, Ldnsfilter/remote/RemoteAccessClient;.closeConnectionReconnect:()V // method@046a │ │ +022f64: 2704 |0052: throw v4 │ │ +022f66: 0d04 |0053: move-exception v4 │ │ +022f68: 5430 e902 |0054: iget-object v0, v3, Ldnsfilter/remote/RemoteAccessClient;.connectedLogger:Lutil/LoggerInterface; // field@02e9 │ │ +022f6c: 2201 2d01 |0056: new-instance v1, Ljava/lang/StringBuilder; // type@012d │ │ +022f70: 1a02 3404 |0058: const-string v2, "Remote action failed! " // string@0434 │ │ +022f74: 7020 aa05 2100 |005a: invoke-direct {v1, v2}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05aa │ │ +022f7a: 6e10 4601 0400 |005d: invoke-virtual {v4}, Ldnsfilter/ConfigurationAccess$ConfigurationAccessException;.getMessage:()Ljava/lang/String; // method@0146 │ │ +022f80: 0c02 |0060: move-result-object v2 │ │ +022f82: 6e20 af05 2100 |0061: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +022f88: 6e10 b105 0100 |0064: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ +022f8e: 0c01 |0067: move-result-object v1 │ │ +022f90: 7220 3307 1000 |0068: invoke-interface {v0, v1}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0733 │ │ +022f96: 2704 |006b: throw v4 │ │ catches : 1 │ │ 0x0000 - 0x0037 │ │ Ldnsfilter/ConfigurationAccess$ConfigurationAccessException; -> 0x0053 │ │ Ljava/io/IOException; -> 0x0037 │ │ positions : │ │ 0x0000 line=304 │ │ 0x0003 line=305 │ │ @@ -53776,67 +53776,67 @@ │ │ type : '([B)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 5 │ │ ins : 2 │ │ outs : 3 │ │ insns size : 108 16-bit code units │ │ -022fac: |[022fac] dnsfilter.remote.RemoteAccessClient.updateConfigMergeDefaults:([B)V │ │ -022fbc: 6e10 7904 0300 |0000: invoke-virtual {v3}, Ldnsfilter/remote/RemoteAccessClient;.invalidate:()V // method@0479 │ │ -022fc2: 7010 7304 0300 |0003: invoke-direct {v3}, Ldnsfilter/remote/RemoteAccessClient;.getInputStream:()Ljava/io/InputStream; // method@0473 │ │ -022fc8: 0c00 |0006: move-result-object v0 │ │ -022fca: 2201 f900 |0007: new-instance v1, Ljava/io/DataOutputStream; // type@00f9 │ │ -022fce: 7010 7504 0300 |0009: invoke-direct {v3}, Ldnsfilter/remote/RemoteAccessClient;.getOutputStream:()Ljava/io/OutputStream; // method@0475 │ │ -022fd4: 0c02 |000c: move-result-object v2 │ │ -022fd6: 7020 f704 2100 |000d: invoke-direct {v1, v2}, Ljava/io/DataOutputStream;.:(Ljava/io/OutputStream;)V // method@04f7 │ │ -022fdc: 1a02 580b |0010: const-string v2, "updateConfigMergeDefaults() │ │ +022fa8: |[022fa8] dnsfilter.remote.RemoteAccessClient.updateConfigMergeDefaults:([B)V │ │ +022fb8: 6e10 7904 0300 |0000: invoke-virtual {v3}, Ldnsfilter/remote/RemoteAccessClient;.invalidate:()V // method@0479 │ │ +022fbe: 7010 7304 0300 |0003: invoke-direct {v3}, Ldnsfilter/remote/RemoteAccessClient;.getInputStream:()Ljava/io/InputStream; // method@0473 │ │ +022fc4: 0c00 |0006: move-result-object v0 │ │ +022fc6: 2201 f900 |0007: new-instance v1, Ljava/io/DataOutputStream; // type@00f9 │ │ +022fca: 7010 7504 0300 |0009: invoke-direct {v3}, Ldnsfilter/remote/RemoteAccessClient;.getOutputStream:()Ljava/io/OutputStream; // method@0475 │ │ +022fd0: 0c02 |000c: move-result-object v2 │ │ +022fd2: 7020 f704 2100 |000d: invoke-direct {v1, v2}, Ljava/io/DataOutputStream;.:(Ljava/io/OutputStream;)V // method@04f7 │ │ +022fd8: 1a02 580b |0010: const-string v2, "updateConfigMergeDefaults() │ │ " // string@0b58 │ │ -022fe0: 6e10 8f05 0200 |0012: invoke-virtual {v2}, Ljava/lang/String;.getBytes:()[B // method@058f │ │ -022fe6: 0c02 |0015: move-result-object v2 │ │ -022fe8: 6e20 fa04 2100 |0016: invoke-virtual {v1, v2}, Ljava/io/DataOutputStream;.write:([B)V // method@04fa │ │ -022fee: 2142 |0019: array-length v2, v4 │ │ -022ff0: 6e20 fd04 2100 |001a: invoke-virtual {v1, v2}, Ljava/io/DataOutputStream;.writeInt:(I)V // method@04fd │ │ -022ff6: 6e20 fa04 4100 |001d: invoke-virtual {v1, v4}, Ljava/io/DataOutputStream;.write:([B)V // method@04fa │ │ -022ffc: 6e10 f904 0100 |0020: invoke-virtual {v1}, Ljava/io/DataOutputStream;.flush:()V // method@04f9 │ │ -023002: 7110 9f07 0000 |0023: invoke-static {v0}, Lutil/Utils;.readLineFromStream:(Ljava/io/InputStream;)Ljava/lang/String; // method@079f │ │ -023008: 0c04 |0026: move-result-object v4 │ │ -02300a: 1a00 fa03 |0027: const-string v0, "OK" // string@03fa │ │ -02300e: 6e20 8d05 0400 |0029: invoke-virtual {v4, v0}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058d │ │ -023014: 0a00 |002c: move-result v0 │ │ -023016: 3800 0300 |002d: if-eqz v0, 0030 // +0003 │ │ -02301a: 0e00 |002f: return-void │ │ -02301c: 2200 8200 |0030: new-instance v0, Ldnsfilter/ConfigurationAccess$ConfigurationAccessException; // type@0082 │ │ -023020: 1201 |0032: const/4 v1, #int 0 // #0 │ │ -023022: 7030 4501 4001 |0033: invoke-direct {v0, v4, v1}, Ldnsfilter/ConfigurationAccess$ConfigurationAccessException;.:(Ljava/lang/String;Ljava/io/IOException;)V // method@0145 │ │ -023028: 2700 |0036: throw v0 │ │ -02302a: 0d04 |0037: move-exception v4 │ │ -02302c: 5430 e902 |0038: iget-object v0, v3, Ldnsfilter/remote/RemoteAccessClient;.connectedLogger:Lutil/LoggerInterface; // field@02e9 │ │ -023030: 2201 2d01 |003a: new-instance v1, Ljava/lang/StringBuilder; // type@012d │ │ -023034: 1a02 3904 |003c: const-string v2, "Remote action updateConfig() failed! " // string@0439 │ │ -023038: 7020 aa05 2100 |003e: invoke-direct {v1, v2}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05aa │ │ -02303e: 6e10 2405 0400 |0041: invoke-virtual {v4}, Ljava/io/IOException;.getMessage:()Ljava/lang/String; // method@0524 │ │ -023044: 0c02 |0044: move-result-object v2 │ │ -023046: 6e20 af05 2100 |0045: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -02304c: 6e10 b105 0100 |0048: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ -023052: 0c01 |004b: move-result-object v1 │ │ -023054: 7220 3307 1000 |004c: invoke-interface {v0, v1}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0733 │ │ -02305a: 7010 6a04 0300 |004f: invoke-direct {v3}, Ldnsfilter/remote/RemoteAccessClient;.closeConnectionReconnect:()V // method@046a │ │ -023060: 2704 |0052: throw v4 │ │ -023062: 0d04 |0053: move-exception v4 │ │ -023064: 5430 e902 |0054: iget-object v0, v3, Ldnsfilter/remote/RemoteAccessClient;.connectedLogger:Lutil/LoggerInterface; // field@02e9 │ │ -023068: 2201 2d01 |0056: new-instance v1, Ljava/lang/StringBuilder; // type@012d │ │ -02306c: 1a02 3404 |0058: const-string v2, "Remote action failed! " // string@0434 │ │ -023070: 7020 aa05 2100 |005a: invoke-direct {v1, v2}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05aa │ │ -023076: 6e10 4601 0400 |005d: invoke-virtual {v4}, Ldnsfilter/ConfigurationAccess$ConfigurationAccessException;.getMessage:()Ljava/lang/String; // method@0146 │ │ -02307c: 0c02 |0060: move-result-object v2 │ │ -02307e: 6e20 af05 2100 |0061: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -023084: 6e10 b105 0100 |0064: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ -02308a: 0c01 |0067: move-result-object v1 │ │ -02308c: 7220 3307 1000 |0068: invoke-interface {v0, v1}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0733 │ │ -023092: 2704 |006b: throw v4 │ │ +022fdc: 6e10 8f05 0200 |0012: invoke-virtual {v2}, Ljava/lang/String;.getBytes:()[B // method@058f │ │ +022fe2: 0c02 |0015: move-result-object v2 │ │ +022fe4: 6e20 fa04 2100 |0016: invoke-virtual {v1, v2}, Ljava/io/DataOutputStream;.write:([B)V // method@04fa │ │ +022fea: 2142 |0019: array-length v2, v4 │ │ +022fec: 6e20 fd04 2100 |001a: invoke-virtual {v1, v2}, Ljava/io/DataOutputStream;.writeInt:(I)V // method@04fd │ │ +022ff2: 6e20 fa04 4100 |001d: invoke-virtual {v1, v4}, Ljava/io/DataOutputStream;.write:([B)V // method@04fa │ │ +022ff8: 6e10 f904 0100 |0020: invoke-virtual {v1}, Ljava/io/DataOutputStream;.flush:()V // method@04f9 │ │ +022ffe: 7110 9f07 0000 |0023: invoke-static {v0}, Lutil/Utils;.readLineFromStream:(Ljava/io/InputStream;)Ljava/lang/String; // method@079f │ │ +023004: 0c04 |0026: move-result-object v4 │ │ +023006: 1a00 fa03 |0027: const-string v0, "OK" // string@03fa │ │ +02300a: 6e20 8d05 0400 |0029: invoke-virtual {v4, v0}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058d │ │ +023010: 0a00 |002c: move-result v0 │ │ +023012: 3800 0300 |002d: if-eqz v0, 0030 // +0003 │ │ +023016: 0e00 |002f: return-void │ │ +023018: 2200 8200 |0030: new-instance v0, Ldnsfilter/ConfigurationAccess$ConfigurationAccessException; // type@0082 │ │ +02301c: 1201 |0032: const/4 v1, #int 0 // #0 │ │ +02301e: 7030 4501 4001 |0033: invoke-direct {v0, v4, v1}, Ldnsfilter/ConfigurationAccess$ConfigurationAccessException;.:(Ljava/lang/String;Ljava/io/IOException;)V // method@0145 │ │ +023024: 2700 |0036: throw v0 │ │ +023026: 0d04 |0037: move-exception v4 │ │ +023028: 5430 e902 |0038: iget-object v0, v3, Ldnsfilter/remote/RemoteAccessClient;.connectedLogger:Lutil/LoggerInterface; // field@02e9 │ │ +02302c: 2201 2d01 |003a: new-instance v1, Ljava/lang/StringBuilder; // type@012d │ │ +023030: 1a02 3904 |003c: const-string v2, "Remote action updateConfig() failed! " // string@0439 │ │ +023034: 7020 aa05 2100 |003e: invoke-direct {v1, v2}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05aa │ │ +02303a: 6e10 2405 0400 |0041: invoke-virtual {v4}, Ljava/io/IOException;.getMessage:()Ljava/lang/String; // method@0524 │ │ +023040: 0c02 |0044: move-result-object v2 │ │ +023042: 6e20 af05 2100 |0045: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +023048: 6e10 b105 0100 |0048: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ +02304e: 0c01 |004b: move-result-object v1 │ │ +023050: 7220 3307 1000 |004c: invoke-interface {v0, v1}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0733 │ │ +023056: 7010 6a04 0300 |004f: invoke-direct {v3}, Ldnsfilter/remote/RemoteAccessClient;.closeConnectionReconnect:()V // method@046a │ │ +02305c: 2704 |0052: throw v4 │ │ +02305e: 0d04 |0053: move-exception v4 │ │ +023060: 5430 e902 |0054: iget-object v0, v3, Ldnsfilter/remote/RemoteAccessClient;.connectedLogger:Lutil/LoggerInterface; // field@02e9 │ │ +023064: 2201 2d01 |0056: new-instance v1, Ljava/lang/StringBuilder; // type@012d │ │ +023068: 1a02 3404 |0058: const-string v2, "Remote action failed! " // string@0434 │ │ +02306c: 7020 aa05 2100 |005a: invoke-direct {v1, v2}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05aa │ │ +023072: 6e10 4601 0400 |005d: invoke-virtual {v4}, Ldnsfilter/ConfigurationAccess$ConfigurationAccessException;.getMessage:()Ljava/lang/String; // method@0146 │ │ +023078: 0c02 |0060: move-result-object v2 │ │ +02307a: 6e20 af05 2100 |0061: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +023080: 6e10 b105 0100 |0064: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ +023086: 0c01 |0067: move-result-object v1 │ │ +023088: 7220 3307 1000 |0068: invoke-interface {v0, v1}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0733 │ │ +02308e: 2704 |006b: throw v4 │ │ catches : 1 │ │ 0x0000 - 0x0037 │ │ Ldnsfilter/ConfigurationAccess$ConfigurationAccessException; -> 0x0053 │ │ Ljava/io/IOException; -> 0x0037 │ │ positions : │ │ 0x0000 line=330 │ │ 0x0003 line=331 │ │ @@ -53862,74 +53862,74 @@ │ │ type : '(Ljava/lang/String;Z)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 8 │ │ ins : 3 │ │ outs : 3 │ │ insns size : 122 16-bit code units │ │ -0230a4: |[0230a4] dnsfilter.remote.RemoteAccessClient.updateFilter:(Ljava/lang/String;Z)V │ │ -0230b4: 1a00 0200 |0000: const-string v0, " │ │ +0230a0: |[0230a0] dnsfilter.remote.RemoteAccessClient.updateFilter:(Ljava/lang/String;Z)V │ │ +0230b0: 1a00 0200 |0000: const-string v0, " │ │ " // string@0002 │ │ -0230b8: 1a01 5c0b |0002: const-string v1, "updateFilter() │ │ +0230b4: 1a01 5c0b |0002: const-string v1, "updateFilter() │ │ " // string@0b5c │ │ -0230bc: 7010 7504 0500 |0004: invoke-direct {v5}, Ldnsfilter/remote/RemoteAccessClient;.getOutputStream:()Ljava/io/OutputStream; // method@0475 │ │ -0230c2: 0c02 |0007: move-result-object v2 │ │ -0230c4: 7010 7304 0500 |0008: invoke-direct {v5}, Ldnsfilter/remote/RemoteAccessClient;.getInputStream:()Ljava/io/InputStream; // method@0473 │ │ -0230ca: 0c03 |000b: move-result-object v3 │ │ -0230cc: 2204 2d01 |000c: new-instance v4, Ljava/lang/StringBuilder; // type@012d │ │ -0230d0: 7020 aa05 1400 |000e: invoke-direct {v4, v1}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05aa │ │ -0230d6: 1a01 8c00 |0011: const-string v1, ";" // string@008c │ │ -0230da: 6e30 9705 0601 |0013: invoke-virtual {v6, v0, v1}, Ljava/lang/String;.replace:(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String; // method@0597 │ │ -0230e0: 0c06 |0016: move-result-object v6 │ │ -0230e2: 6e20 af05 6400 |0017: invoke-virtual {v4, v6}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -0230e8: 6e20 af05 0400 |001a: invoke-virtual {v4, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -0230ee: 6e20 b005 7400 |001d: invoke-virtual {v4, v7}, Ljava/lang/StringBuilder;.append:(Z)Ljava/lang/StringBuilder; // method@05b0 │ │ -0230f4: 6e20 af05 0400 |0020: invoke-virtual {v4, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -0230fa: 6e10 b105 0400 |0023: invoke-virtual {v4}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ -023100: 0c06 |0026: move-result-object v6 │ │ -023102: 6e10 8f05 0600 |0027: invoke-virtual {v6}, Ljava/lang/String;.getBytes:()[B // method@058f │ │ -023108: 0c06 |002a: move-result-object v6 │ │ -02310a: 6e20 3805 6200 |002b: invoke-virtual {v2, v6}, Ljava/io/OutputStream;.write:([B)V // method@0538 │ │ -023110: 6e10 3605 0200 |002e: invoke-virtual {v2}, Ljava/io/OutputStream;.flush:()V // method@0536 │ │ -023116: 7110 9f07 0300 |0031: invoke-static {v3}, Lutil/Utils;.readLineFromStream:(Ljava/io/InputStream;)Ljava/lang/String; // method@079f │ │ -02311c: 0c06 |0034: move-result-object v6 │ │ -02311e: 1a07 fa03 |0035: const-string v7, "OK" // string@03fa │ │ -023122: 6e20 8d05 7600 |0037: invoke-virtual {v6, v7}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058d │ │ -023128: 0a07 |003a: move-result v7 │ │ -02312a: 3807 0300 |003b: if-eqz v7, 003e // +0003 │ │ -02312e: 0e00 |003d: return-void │ │ -023130: 2207 8200 |003e: new-instance v7, Ldnsfilter/ConfigurationAccess$ConfigurationAccessException; // type@0082 │ │ -023134: 1200 |0040: const/4 v0, #int 0 // #0 │ │ -023136: 7030 4501 6700 |0041: invoke-direct {v7, v6, v0}, Ldnsfilter/ConfigurationAccess$ConfigurationAccessException;.:(Ljava/lang/String;Ljava/io/IOException;)V // method@0145 │ │ -02313c: 2707 |0044: throw v7 │ │ -02313e: 0d06 |0045: move-exception v6 │ │ -023140: 5457 e902 |0046: iget-object v7, v5, Ldnsfilter/remote/RemoteAccessClient;.connectedLogger:Lutil/LoggerInterface; // field@02e9 │ │ -023144: 2200 2d01 |0048: new-instance v0, Ljava/lang/StringBuilder; // type@012d │ │ -023148: 1a01 3204 |004a: const-string v1, "Remote action updateFilter() failed! " // string@0432 │ │ -02314c: 7020 aa05 1000 |004c: invoke-direct {v0, v1}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05aa │ │ -023152: 6e10 2405 0600 |004f: invoke-virtual {v6}, Ljava/io/IOException;.getMessage:()Ljava/lang/String; // method@0524 │ │ -023158: 0c01 |0052: move-result-object v1 │ │ -02315a: 6e20 af05 1000 |0053: invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -023160: 6e10 b105 0000 |0056: invoke-virtual {v0}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ -023166: 0c00 |0059: move-result-object v0 │ │ -023168: 7220 3307 0700 |005a: invoke-interface {v7, v0}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0733 │ │ -02316e: 7010 6a04 0500 |005d: invoke-direct {v5}, Ldnsfilter/remote/RemoteAccessClient;.closeConnectionReconnect:()V // method@046a │ │ -023174: 2706 |0060: throw v6 │ │ -023176: 0d06 |0061: move-exception v6 │ │ -023178: 5457 e902 |0062: iget-object v7, v5, Ldnsfilter/remote/RemoteAccessClient;.connectedLogger:Lutil/LoggerInterface; // field@02e9 │ │ -02317c: 2200 2d01 |0064: new-instance v0, Ljava/lang/StringBuilder; // type@012d │ │ -023180: 1a01 3404 |0066: const-string v1, "Remote action failed! " // string@0434 │ │ -023184: 7020 aa05 1000 |0068: invoke-direct {v0, v1}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05aa │ │ -02318a: 6e10 4601 0600 |006b: invoke-virtual {v6}, Ldnsfilter/ConfigurationAccess$ConfigurationAccessException;.getMessage:()Ljava/lang/String; // method@0146 │ │ -023190: 0c01 |006e: move-result-object v1 │ │ -023192: 6e20 af05 1000 |006f: invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -023198: 6e10 b105 0000 |0072: invoke-virtual {v0}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ -02319e: 0c00 |0075: move-result-object v0 │ │ -0231a0: 7220 3307 0700 |0076: invoke-interface {v7, v0}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0733 │ │ -0231a6: 2706 |0079: throw v6 │ │ +0230b8: 7010 7504 0500 |0004: invoke-direct {v5}, Ldnsfilter/remote/RemoteAccessClient;.getOutputStream:()Ljava/io/OutputStream; // method@0475 │ │ +0230be: 0c02 |0007: move-result-object v2 │ │ +0230c0: 7010 7304 0500 |0008: invoke-direct {v5}, Ldnsfilter/remote/RemoteAccessClient;.getInputStream:()Ljava/io/InputStream; // method@0473 │ │ +0230c6: 0c03 |000b: move-result-object v3 │ │ +0230c8: 2204 2d01 |000c: new-instance v4, Ljava/lang/StringBuilder; // type@012d │ │ +0230cc: 7020 aa05 1400 |000e: invoke-direct {v4, v1}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05aa │ │ +0230d2: 1a01 8c00 |0011: const-string v1, ";" // string@008c │ │ +0230d6: 6e30 9705 0601 |0013: invoke-virtual {v6, v0, v1}, Ljava/lang/String;.replace:(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String; // method@0597 │ │ +0230dc: 0c06 |0016: move-result-object v6 │ │ +0230de: 6e20 af05 6400 |0017: invoke-virtual {v4, v6}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +0230e4: 6e20 af05 0400 |001a: invoke-virtual {v4, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +0230ea: 6e20 b005 7400 |001d: invoke-virtual {v4, v7}, Ljava/lang/StringBuilder;.append:(Z)Ljava/lang/StringBuilder; // method@05b0 │ │ +0230f0: 6e20 af05 0400 |0020: invoke-virtual {v4, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +0230f6: 6e10 b105 0400 |0023: invoke-virtual {v4}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ +0230fc: 0c06 |0026: move-result-object v6 │ │ +0230fe: 6e10 8f05 0600 |0027: invoke-virtual {v6}, Ljava/lang/String;.getBytes:()[B // method@058f │ │ +023104: 0c06 |002a: move-result-object v6 │ │ +023106: 6e20 3805 6200 |002b: invoke-virtual {v2, v6}, Ljava/io/OutputStream;.write:([B)V // method@0538 │ │ +02310c: 6e10 3605 0200 |002e: invoke-virtual {v2}, Ljava/io/OutputStream;.flush:()V // method@0536 │ │ +023112: 7110 9f07 0300 |0031: invoke-static {v3}, Lutil/Utils;.readLineFromStream:(Ljava/io/InputStream;)Ljava/lang/String; // method@079f │ │ +023118: 0c06 |0034: move-result-object v6 │ │ +02311a: 1a07 fa03 |0035: const-string v7, "OK" // string@03fa │ │ +02311e: 6e20 8d05 7600 |0037: invoke-virtual {v6, v7}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058d │ │ +023124: 0a07 |003a: move-result v7 │ │ +023126: 3807 0300 |003b: if-eqz v7, 003e // +0003 │ │ +02312a: 0e00 |003d: return-void │ │ +02312c: 2207 8200 |003e: new-instance v7, Ldnsfilter/ConfigurationAccess$ConfigurationAccessException; // type@0082 │ │ +023130: 1200 |0040: const/4 v0, #int 0 // #0 │ │ +023132: 7030 4501 6700 |0041: invoke-direct {v7, v6, v0}, Ldnsfilter/ConfigurationAccess$ConfigurationAccessException;.:(Ljava/lang/String;Ljava/io/IOException;)V // method@0145 │ │ +023138: 2707 |0044: throw v7 │ │ +02313a: 0d06 |0045: move-exception v6 │ │ +02313c: 5457 e902 |0046: iget-object v7, v5, Ldnsfilter/remote/RemoteAccessClient;.connectedLogger:Lutil/LoggerInterface; // field@02e9 │ │ +023140: 2200 2d01 |0048: new-instance v0, Ljava/lang/StringBuilder; // type@012d │ │ +023144: 1a01 3204 |004a: const-string v1, "Remote action updateFilter() failed! " // string@0432 │ │ +023148: 7020 aa05 1000 |004c: invoke-direct {v0, v1}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05aa │ │ +02314e: 6e10 2405 0600 |004f: invoke-virtual {v6}, Ljava/io/IOException;.getMessage:()Ljava/lang/String; // method@0524 │ │ +023154: 0c01 |0052: move-result-object v1 │ │ +023156: 6e20 af05 1000 |0053: invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +02315c: 6e10 b105 0000 |0056: invoke-virtual {v0}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ +023162: 0c00 |0059: move-result-object v0 │ │ +023164: 7220 3307 0700 |005a: invoke-interface {v7, v0}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0733 │ │ +02316a: 7010 6a04 0500 |005d: invoke-direct {v5}, Ldnsfilter/remote/RemoteAccessClient;.closeConnectionReconnect:()V // method@046a │ │ +023170: 2706 |0060: throw v6 │ │ +023172: 0d06 |0061: move-exception v6 │ │ +023174: 5457 e902 |0062: iget-object v7, v5, Ldnsfilter/remote/RemoteAccessClient;.connectedLogger:Lutil/LoggerInterface; // field@02e9 │ │ +023178: 2200 2d01 |0064: new-instance v0, Ljava/lang/StringBuilder; // type@012d │ │ +02317c: 1a01 3404 |0066: const-string v1, "Remote action failed! " // string@0434 │ │ +023180: 7020 aa05 1000 |0068: invoke-direct {v0, v1}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05aa │ │ +023186: 6e10 4601 0600 |006b: invoke-virtual {v6}, Ldnsfilter/ConfigurationAccess$ConfigurationAccessException;.getMessage:()Ljava/lang/String; // method@0146 │ │ +02318c: 0c01 |006e: move-result-object v1 │ │ +02318e: 6e20 af05 1000 |006f: invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +023194: 6e10 b105 0000 |0072: invoke-virtual {v0}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ +02319a: 0c00 |0075: move-result-object v0 │ │ +02319c: 7220 3307 0700 |0076: invoke-interface {v7, v0}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0733 │ │ +0231a2: 2706 |0079: throw v6 │ │ catches : 1 │ │ 0x0004 - 0x0045 │ │ Ldnsfilter/ConfigurationAccess$ConfigurationAccessException; -> 0x0061 │ │ Ljava/io/IOException; -> 0x0045 │ │ positions : │ │ 0x0000 line=409 │ │ 0x0002 line=0 │ │ @@ -53955,19 +53955,19 @@ │ │ type : '()V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 3 │ │ ins : 1 │ │ outs : 3 │ │ insns size : 7 16-bit code units │ │ -0231b8: |[0231b8] dnsfilter.remote.RemoteAccessClient.wakeLock:()V │ │ -0231c8: 1a00 990b |0000: const-string v0, "wakeLock()" // string@0b99 │ │ -0231cc: 1201 |0002: const/4 v1, #int 0 // #0 │ │ -0231ce: 7030 8504 0201 |0003: invoke-direct {v2, v0, v1}, Ldnsfilter/remote/RemoteAccessClient;.triggerAction:(Ljava/lang/String;Ljava/lang/String;)V // method@0485 │ │ -0231d4: 0e00 |0006: return-void │ │ +0231b4: |[0231b4] dnsfilter.remote.RemoteAccessClient.wakeLock:()V │ │ +0231c4: 1a00 990b |0000: const-string v0, "wakeLock()" // string@0b99 │ │ +0231c8: 1201 |0002: const/4 v1, #int 0 // #0 │ │ +0231ca: 7030 8504 0201 |0003: invoke-direct {v2, v0, v1}, Ldnsfilter/remote/RemoteAccessClient;.triggerAction:(Ljava/lang/String;Ljava/lang/String;)V // method@0485 │ │ +0231d0: 0e00 |0006: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=522 │ │ locals : │ │ 0x0000 - 0x0007 reg=2 this Ldnsfilter/remote/RemoteAccessClient; │ │ │ │ source_file_idx : 1084 (RemoteAccessClient.java) │ │ @@ -54005,18 +54005,18 @@ │ │ type : '(Ldnsfilter/remote/RemoteAccessServer$RemoteSession;)V' │ │ access : 0x10000 (CONSTRUCTOR) │ │ code - │ │ registers : 2 │ │ ins : 2 │ │ outs : 1 │ │ insns size : 6 16-bit code units │ │ -0231d8: |[0231d8] dnsfilter.remote.RemoteAccessServer$RemoteSession$1.:(Ldnsfilter/remote/RemoteAccessServer$RemoteSession;)V │ │ -0231e8: 5b01 f602 |0000: iput-object v1, v0, Ldnsfilter/remote/RemoteAccessServer$RemoteSession$1;.this$1:Ldnsfilter/remote/RemoteAccessServer$RemoteSession; // field@02f6 │ │ -0231ec: 7010 7505 0000 |0002: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@0575 │ │ -0231f2: 0e00 |0005: return-void │ │ +0231d4: |[0231d4] dnsfilter.remote.RemoteAccessServer$RemoteSession$1.:(Ldnsfilter/remote/RemoteAccessServer$RemoteSession;)V │ │ +0231e4: 5b01 f602 |0000: iput-object v1, v0, Ldnsfilter/remote/RemoteAccessServer$RemoteSession$1;.this$1:Ldnsfilter/remote/RemoteAccessServer$RemoteSession; // field@02f6 │ │ +0231e8: 7010 7505 0000 |0002: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@0575 │ │ +0231ee: 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; │ │ │ │ @@ -54026,33 +54026,33 @@ │ │ type : '()V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 1 │ │ ins : 1 │ │ outs : 0 │ │ insns size : 1 16-bit code units │ │ -0231f4: |[0231f4] dnsfilter.remote.RemoteAccessServer$RemoteSession$1.closeLogger:()V │ │ -023204: 0e00 |0000: return-void │ │ +0231f0: |[0231f0] dnsfilter.remote.RemoteAccessServer$RemoteSession$1.closeLogger:()V │ │ +023200: 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 │ │ -023208: |[023208] dnsfilter.remote.RemoteAccessServer$RemoteSession$1.log:(Ljava/lang/String;)V │ │ -023218: 1210 |0000: const/4 v0, #int 1 // #1 │ │ -02321a: 6e30 9204 0102 |0001: invoke-virtual {v1, v0, v2}, Ldnsfilter/remote/RemoteAccessServer$RemoteSession$1;.sendLog:(ILjava/lang/String;)V // method@0492 │ │ -023220: 0e00 |0004: return-void │ │ +023204: |[023204] dnsfilter.remote.RemoteAccessServer$RemoteSession$1.log:(Ljava/lang/String;)V │ │ +023214: 1210 |0000: const/4 v0, #int 1 // #1 │ │ +023216: 6e30 9204 0102 |0001: invoke-virtual {v1, v0, v2}, Ldnsfilter/remote/RemoteAccessServer$RemoteSession$1;.sendLog:(ILjava/lang/String;)V // method@0492 │ │ +02321c: 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; │ │ │ │ @@ -54061,32 +54061,32 @@ │ │ type : '(Ljava/lang/Exception;)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 4 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 38 16-bit code units │ │ -023224: |[023224] dnsfilter.remote.RemoteAccessServer$RemoteSession$1.logException:(Ljava/lang/Exception;)V │ │ -023234: 2200 0d01 |0000: new-instance v0, Ljava/io/StringWriter; // type@010d │ │ -023238: 7010 4805 0000 |0002: invoke-direct {v0}, Ljava/io/StringWriter;.:()V // method@0548 │ │ -02323e: 2201 0a01 |0005: new-instance v1, Ljava/io/PrintWriter; // type@010a │ │ -023242: 7020 4305 0100 |0007: invoke-direct {v1, v0}, Ljava/io/PrintWriter;.:(Ljava/io/Writer;)V // method@0543 │ │ -023248: 6e20 6005 1300 |000a: invoke-virtual {v3, v1}, Ljava/lang/Exception;.printStackTrace:(Ljava/io/PrintWriter;)V // method@0560 │ │ -02324e: 2203 2d01 |000d: new-instance v3, Ljava/lang/StringBuilder; // type@012d │ │ -023252: 7010 a905 0300 |000f: invoke-direct {v3}, Ljava/lang/StringBuilder;.:()V // method@05a9 │ │ -023258: 6e10 4905 0000 |0012: invoke-virtual {v0}, Ljava/io/StringWriter;.toString:()Ljava/lang/String; // method@0549 │ │ -02325e: 0c00 |0015: move-result-object v0 │ │ -023260: 6e20 af05 0300 |0016: invoke-virtual {v3, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -023266: 1a00 0200 |0019: const-string v0, " │ │ +023220: |[023220] dnsfilter.remote.RemoteAccessServer$RemoteSession$1.logException:(Ljava/lang/Exception;)V │ │ +023230: 2200 0d01 |0000: new-instance v0, Ljava/io/StringWriter; // type@010d │ │ +023234: 7010 4805 0000 |0002: invoke-direct {v0}, Ljava/io/StringWriter;.:()V // method@0548 │ │ +02323a: 2201 0a01 |0005: new-instance v1, Ljava/io/PrintWriter; // type@010a │ │ +02323e: 7020 4305 0100 |0007: invoke-direct {v1, v0}, Ljava/io/PrintWriter;.:(Ljava/io/Writer;)V // method@0543 │ │ +023244: 6e20 6005 1300 |000a: invoke-virtual {v3, v1}, Ljava/lang/Exception;.printStackTrace:(Ljava/io/PrintWriter;)V // method@0560 │ │ +02324a: 2203 2d01 |000d: new-instance v3, Ljava/lang/StringBuilder; // type@012d │ │ +02324e: 7010 a905 0300 |000f: invoke-direct {v3}, Ljava/lang/StringBuilder;.:()V // method@05a9 │ │ +023254: 6e10 4905 0000 |0012: invoke-virtual {v0}, Ljava/io/StringWriter;.toString:()Ljava/lang/String; // method@0549 │ │ +02325a: 0c00 |0015: move-result-object v0 │ │ +02325c: 6e20 af05 0300 |0016: invoke-virtual {v3, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +023262: 1a00 0200 |0019: const-string v0, " │ │ " // string@0002 │ │ -02326a: 6e20 af05 0300 |001b: invoke-virtual {v3, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -023270: 6e10 b105 0300 |001e: invoke-virtual {v3}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ -023276: 0c03 |0021: move-result-object v3 │ │ -023278: 6e20 8e04 3200 |0022: invoke-virtual {v2, v3}, Ldnsfilter/remote/RemoteAccessServer$RemoteSession$1;.log:(Ljava/lang/String;)V // method@048e │ │ -02327e: 0e00 |0025: return-void │ │ +023266: 6e20 af05 0300 |001b: invoke-virtual {v3, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +02326c: 6e10 b105 0300 |001e: invoke-virtual {v3}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ +023272: 0c03 |0021: move-result-object v3 │ │ +023274: 6e20 8e04 3200 |0022: invoke-virtual {v2, v3}, Ldnsfilter/remote/RemoteAccessServer$RemoteSession$1;.log:(Ljava/lang/String;)V // method@048e │ │ +02327a: 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; │ │ @@ -54097,18 +54097,18 @@ │ │ type : '(Ljava/lang/String;)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 3 │ │ ins : 2 │ │ outs : 3 │ │ insns size : 5 16-bit code units │ │ -023280: |[023280] dnsfilter.remote.RemoteAccessServer$RemoteSession$1.logLine:(Ljava/lang/String;)V │ │ -023290: 1220 |0000: const/4 v0, #int 2 // #2 │ │ -023292: 6e30 9204 0102 |0001: invoke-virtual {v1, v0, v2}, Ldnsfilter/remote/RemoteAccessServer$RemoteSession$1;.sendLog:(ILjava/lang/String;)V // method@0492 │ │ -023298: 0e00 |0004: return-void │ │ +02327c: |[02327c] dnsfilter.remote.RemoteAccessServer$RemoteSession$1.logLine:(Ljava/lang/String;)V │ │ +02328c: 1220 |0000: const/4 v0, #int 2 // #2 │ │ +02328e: 6e30 9204 0102 |0001: invoke-virtual {v1, v0, v2}, Ldnsfilter/remote/RemoteAccessServer$RemoteSession$1;.sendLog:(ILjava/lang/String;)V // method@0492 │ │ +023294: 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; │ │ │ │ @@ -54117,18 +54117,18 @@ │ │ type : '(Ljava/lang/String;)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 3 │ │ ins : 2 │ │ outs : 3 │ │ insns size : 5 16-bit code units │ │ -02329c: |[02329c] dnsfilter.remote.RemoteAccessServer$RemoteSession$1.message:(Ljava/lang/String;)V │ │ -0232ac: 1230 |0000: const/4 v0, #int 3 // #3 │ │ -0232ae: 6e30 9204 0102 |0001: invoke-virtual {v1, v0, v2}, Ldnsfilter/remote/RemoteAccessServer$RemoteSession$1;.sendLog:(ILjava/lang/String;)V // method@0492 │ │ -0232b4: 0e00 |0004: return-void │ │ +023298: |[023298] dnsfilter.remote.RemoteAccessServer$RemoteSession$1.message:(Ljava/lang/String;)V │ │ +0232a8: 1230 |0000: const/4 v0, #int 3 // #3 │ │ +0232aa: 6e30 9204 0102 |0001: invoke-virtual {v1, v0, v2}, Ldnsfilter/remote/RemoteAccessServer$RemoteSession$1;.sendLog:(ILjava/lang/String;)V // method@0492 │ │ +0232b0: 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; │ │ │ │ @@ -54137,95 +54137,95 @@ │ │ type : '(ILjava/lang/String;)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 8 │ │ ins : 3 │ │ outs : 2 │ │ insns size : 163 16-bit code units │ │ -0232b8: |[0232b8] dnsfilter.remote.RemoteAccessServer$RemoteSession$1.sendLog:(ILjava/lang/String;)V │ │ -0232c8: 1a00 8c01 |0000: const-string v0, "Exception during remote logging! " // string@018c │ │ -0232cc: 5451 f602 |0002: iget-object v1, v5, Ldnsfilter/remote/RemoteAccessServer$RemoteSession$1;.this$1:Ldnsfilter/remote/RemoteAccessServer$RemoteSession; // field@02f6 │ │ -0232d0: 5411 fd02 |0004: iget-object v1, v1, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@02fd │ │ -0232d4: 1d01 |0006: monitor-enter v1 │ │ -0232d6: 5452 f602 |0007: iget-object v2, v5, Ldnsfilter/remote/RemoteAccessServer$RemoteSession$1;.this$1:Ldnsfilter/remote/RemoteAccessServer$RemoteSession; // field@02f6 │ │ -0232da: 5422 fd02 |0009: iget-object v2, v2, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@02fd │ │ -0232de: 1253 |000b: const/4 v3, #int 5 // #5 │ │ -0232e0: 6e20 ff04 3200 |000c: invoke-virtual {v2, v3}, Ljava/io/DataOutputStream;.writeShort:(I)V // method@04ff │ │ -0232e6: 2202 2d01 |000f: new-instance v2, Ljava/lang/StringBuilder; // type@012d │ │ -0232ea: 7010 a905 0200 |0011: invoke-direct {v2}, Ljava/lang/StringBuilder;.:()V // method@05a9 │ │ -0232f0: 7100 5301 0000 |0014: invoke-static {}, Ldnsfilter/ConfigurationAccess;.getLocal:()Ldnsfilter/ConfigurationAccess; // method@0153 │ │ -0232f6: 0c03 |0017: move-result-object v3 │ │ -0232f8: 6e10 5801 0300 |0018: invoke-virtual {v3}, Ldnsfilter/ConfigurationAccess;.openConnectionsCount:()I // method@0158 │ │ -0232fe: 0a03 |001b: move-result v3 │ │ -023300: 6e20 ac05 3200 |001c: invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@05ac │ │ -023306: 1a03 0000 |001f: const-string v3, "" // string@0000 │ │ -02330a: 6e20 af05 3200 |0021: invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -023310: 6e10 b105 0200 |0024: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ -023316: 0c02 |0027: move-result-object v2 │ │ -023318: 6e10 8f05 0200 |0028: invoke-virtual {v2}, Ljava/lang/String;.getBytes:()[B // method@058f │ │ -02331e: 0c02 |002b: move-result-object v2 │ │ -023320: 5453 f602 |002c: iget-object v3, v5, Ldnsfilter/remote/RemoteAccessServer$RemoteSession$1;.this$1:Ldnsfilter/remote/RemoteAccessServer$RemoteSession; // field@02f6 │ │ -023324: 5433 fd02 |002e: iget-object v3, v3, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@02fd │ │ -023328: 2124 |0030: array-length v4, v2 │ │ -02332a: 6e20 ff04 4300 |0031: invoke-virtual {v3, v4}, Ljava/io/DataOutputStream;.writeShort:(I)V // method@04ff │ │ -023330: 5453 f602 |0034: iget-object v3, v5, Ldnsfilter/remote/RemoteAccessServer$RemoteSession$1;.this$1:Ldnsfilter/remote/RemoteAccessServer$RemoteSession; // field@02f6 │ │ -023334: 5433 fd02 |0036: iget-object v3, v3, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@02fd │ │ -023338: 6e20 fa04 2300 |0038: invoke-virtual {v3, v2}, Ljava/io/DataOutputStream;.write:([B)V // method@04fa │ │ -02333e: 5452 f602 |003b: iget-object v2, v5, Ldnsfilter/remote/RemoteAccessServer$RemoteSession$1;.this$1:Ldnsfilter/remote/RemoteAccessServer$RemoteSession; // field@02f6 │ │ -023342: 5422 fd02 |003d: iget-object v2, v2, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@02fd │ │ -023346: 1243 |003f: const/4 v3, #int 4 // #4 │ │ -023348: 6e20 ff04 3200 |0040: invoke-virtual {v2, v3}, Ljava/io/DataOutputStream;.writeShort:(I)V // method@04ff │ │ -02334e: 7100 5301 0000 |0043: invoke-static {}, Ldnsfilter/ConfigurationAccess;.getLocal:()Ldnsfilter/ConfigurationAccess; // method@0153 │ │ -023354: 0c02 |0046: move-result-object v2 │ │ -023356: 6e10 5201 0200 |0047: invoke-virtual {v2}, Ldnsfilter/ConfigurationAccess;.getLastDNSAddress:()Ljava/lang/String; // method@0152 │ │ -02335c: 0c02 |004a: move-result-object v2 │ │ -02335e: 6e10 8f05 0200 |004b: invoke-virtual {v2}, Ljava/lang/String;.getBytes:()[B // method@058f │ │ -023364: 0c02 |004e: move-result-object v2 │ │ -023366: 5453 f602 |004f: iget-object v3, v5, Ldnsfilter/remote/RemoteAccessServer$RemoteSession$1;.this$1:Ldnsfilter/remote/RemoteAccessServer$RemoteSession; // field@02f6 │ │ -02336a: 5433 fd02 |0051: iget-object v3, v3, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@02fd │ │ -02336e: 2124 |0053: array-length v4, v2 │ │ -023370: 6e20 ff04 4300 |0054: invoke-virtual {v3, v4}, Ljava/io/DataOutputStream;.writeShort:(I)V // method@04ff │ │ -023376: 5453 f602 |0057: iget-object v3, v5, Ldnsfilter/remote/RemoteAccessServer$RemoteSession$1;.this$1:Ldnsfilter/remote/RemoteAccessServer$RemoteSession; // field@02f6 │ │ -02337a: 5433 fd02 |0059: iget-object v3, v3, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@02fd │ │ -02337e: 6e20 fa04 2300 |005b: invoke-virtual {v3, v2}, Ljava/io/DataOutputStream;.write:([B)V // method@04fa │ │ -023384: 6e10 8f05 0700 |005e: invoke-virtual {v7}, Ljava/lang/String;.getBytes:()[B // method@058f │ │ -02338a: 0c07 |0061: move-result-object v7 │ │ -02338c: 5452 f602 |0062: iget-object v2, v5, Ldnsfilter/remote/RemoteAccessServer$RemoteSession$1;.this$1:Ldnsfilter/remote/RemoteAccessServer$RemoteSession; // field@02f6 │ │ -023390: 5422 fd02 |0064: iget-object v2, v2, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@02fd │ │ -023394: 6e20 ff04 6200 |0066: invoke-virtual {v2, v6}, Ljava/io/DataOutputStream;.writeShort:(I)V // method@04ff │ │ -02339a: 5456 f602 |0069: iget-object v6, v5, Ldnsfilter/remote/RemoteAccessServer$RemoteSession$1;.this$1:Ldnsfilter/remote/RemoteAccessServer$RemoteSession; // field@02f6 │ │ -02339e: 5466 fd02 |006b: iget-object v6, v6, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@02fd │ │ -0233a2: 2172 |006d: array-length v2, v7 │ │ -0233a4: 6e20 ff04 2600 |006e: invoke-virtual {v6, v2}, Ljava/io/DataOutputStream;.writeShort:(I)V // method@04ff │ │ -0233aa: 5456 f602 |0071: iget-object v6, v5, Ldnsfilter/remote/RemoteAccessServer$RemoteSession$1;.this$1:Ldnsfilter/remote/RemoteAccessServer$RemoteSession; // field@02f6 │ │ -0233ae: 5466 fd02 |0073: iget-object v6, v6, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@02fd │ │ -0233b2: 6e20 fa04 7600 |0075: invoke-virtual {v6, v7}, Ljava/io/DataOutputStream;.write:([B)V // method@04fa │ │ -0233b8: 5456 f602 |0078: iget-object v6, v5, Ldnsfilter/remote/RemoteAccessServer$RemoteSession$1;.this$1:Ldnsfilter/remote/RemoteAccessServer$RemoteSession; // field@02f6 │ │ -0233bc: 5466 fd02 |007a: iget-object v6, v6, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@02fd │ │ -0233c0: 6e10 f904 0600 |007c: invoke-virtual {v6}, Ljava/io/DataOutputStream;.flush:()V // method@04f9 │ │ -0233c6: 2820 |007f: goto 009f // +0020 │ │ -0233c8: 0d06 |0080: move-exception v6 │ │ -0233ca: 2820 |0081: goto 00a1 // +0020 │ │ -0233cc: 0d06 |0082: move-exception v6 │ │ -0233ce: 5457 f602 |0083: iget-object v7, v5, Ldnsfilter/remote/RemoteAccessServer$RemoteSession$1;.this$1:Ldnsfilter/remote/RemoteAccessServer$RemoteSession; // field@02f6 │ │ -0233d2: 6e10 9d04 0700 |0085: invoke-virtual {v7}, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.killSession:()V // method@049d │ │ -0233d8: 7100 2707 0000 |0088: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0727 │ │ -0233de: 0c07 |008b: move-result-object v7 │ │ -0233e0: 2202 2d01 |008c: new-instance v2, Ljava/lang/StringBuilder; // type@012d │ │ -0233e4: 7020 aa05 0200 |008e: invoke-direct {v2, v0}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05aa │ │ -0233ea: 6e10 2605 0600 |0091: invoke-virtual {v6}, Ljava/io/IOException;.toString:()Ljava/lang/String; // method@0526 │ │ -0233f0: 0c06 |0094: move-result-object v6 │ │ -0233f2: 6e20 af05 6200 |0095: invoke-virtual {v2, v6}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -0233f8: 6e10 b105 0200 |0098: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ -0233fe: 0c06 |009b: move-result-object v6 │ │ -023400: 7220 3307 6700 |009c: invoke-interface {v7, v6}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0733 │ │ -023406: 1e01 |009f: monitor-exit v1 │ │ -023408: 0e00 |00a0: return-void │ │ -02340a: 1e01 |00a1: monitor-exit v1 │ │ -02340c: 2706 |00a2: throw v6 │ │ +0232b4: |[0232b4] dnsfilter.remote.RemoteAccessServer$RemoteSession$1.sendLog:(ILjava/lang/String;)V │ │ +0232c4: 1a00 8c01 |0000: const-string v0, "Exception during remote logging! " // string@018c │ │ +0232c8: 5451 f602 |0002: iget-object v1, v5, Ldnsfilter/remote/RemoteAccessServer$RemoteSession$1;.this$1:Ldnsfilter/remote/RemoteAccessServer$RemoteSession; // field@02f6 │ │ +0232cc: 5411 fd02 |0004: iget-object v1, v1, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@02fd │ │ +0232d0: 1d01 |0006: monitor-enter v1 │ │ +0232d2: 5452 f602 |0007: iget-object v2, v5, Ldnsfilter/remote/RemoteAccessServer$RemoteSession$1;.this$1:Ldnsfilter/remote/RemoteAccessServer$RemoteSession; // field@02f6 │ │ +0232d6: 5422 fd02 |0009: iget-object v2, v2, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@02fd │ │ +0232da: 1253 |000b: const/4 v3, #int 5 // #5 │ │ +0232dc: 6e20 ff04 3200 |000c: invoke-virtual {v2, v3}, Ljava/io/DataOutputStream;.writeShort:(I)V // method@04ff │ │ +0232e2: 2202 2d01 |000f: new-instance v2, Ljava/lang/StringBuilder; // type@012d │ │ +0232e6: 7010 a905 0200 |0011: invoke-direct {v2}, Ljava/lang/StringBuilder;.:()V // method@05a9 │ │ +0232ec: 7100 5301 0000 |0014: invoke-static {}, Ldnsfilter/ConfigurationAccess;.getLocal:()Ldnsfilter/ConfigurationAccess; // method@0153 │ │ +0232f2: 0c03 |0017: move-result-object v3 │ │ +0232f4: 6e10 5801 0300 |0018: invoke-virtual {v3}, Ldnsfilter/ConfigurationAccess;.openConnectionsCount:()I // method@0158 │ │ +0232fa: 0a03 |001b: move-result v3 │ │ +0232fc: 6e20 ac05 3200 |001c: invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@05ac │ │ +023302: 1a03 0000 |001f: const-string v3, "" // string@0000 │ │ +023306: 6e20 af05 3200 |0021: invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +02330c: 6e10 b105 0200 |0024: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ +023312: 0c02 |0027: move-result-object v2 │ │ +023314: 6e10 8f05 0200 |0028: invoke-virtual {v2}, Ljava/lang/String;.getBytes:()[B // method@058f │ │ +02331a: 0c02 |002b: move-result-object v2 │ │ +02331c: 5453 f602 |002c: iget-object v3, v5, Ldnsfilter/remote/RemoteAccessServer$RemoteSession$1;.this$1:Ldnsfilter/remote/RemoteAccessServer$RemoteSession; // field@02f6 │ │ +023320: 5433 fd02 |002e: iget-object v3, v3, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@02fd │ │ +023324: 2124 |0030: array-length v4, v2 │ │ +023326: 6e20 ff04 4300 |0031: invoke-virtual {v3, v4}, Ljava/io/DataOutputStream;.writeShort:(I)V // method@04ff │ │ +02332c: 5453 f602 |0034: iget-object v3, v5, Ldnsfilter/remote/RemoteAccessServer$RemoteSession$1;.this$1:Ldnsfilter/remote/RemoteAccessServer$RemoteSession; // field@02f6 │ │ +023330: 5433 fd02 |0036: iget-object v3, v3, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@02fd │ │ +023334: 6e20 fa04 2300 |0038: invoke-virtual {v3, v2}, Ljava/io/DataOutputStream;.write:([B)V // method@04fa │ │ +02333a: 5452 f602 |003b: iget-object v2, v5, Ldnsfilter/remote/RemoteAccessServer$RemoteSession$1;.this$1:Ldnsfilter/remote/RemoteAccessServer$RemoteSession; // field@02f6 │ │ +02333e: 5422 fd02 |003d: iget-object v2, v2, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@02fd │ │ +023342: 1243 |003f: const/4 v3, #int 4 // #4 │ │ +023344: 6e20 ff04 3200 |0040: invoke-virtual {v2, v3}, Ljava/io/DataOutputStream;.writeShort:(I)V // method@04ff │ │ +02334a: 7100 5301 0000 |0043: invoke-static {}, Ldnsfilter/ConfigurationAccess;.getLocal:()Ldnsfilter/ConfigurationAccess; // method@0153 │ │ +023350: 0c02 |0046: move-result-object v2 │ │ +023352: 6e10 5201 0200 |0047: invoke-virtual {v2}, Ldnsfilter/ConfigurationAccess;.getLastDNSAddress:()Ljava/lang/String; // method@0152 │ │ +023358: 0c02 |004a: move-result-object v2 │ │ +02335a: 6e10 8f05 0200 |004b: invoke-virtual {v2}, Ljava/lang/String;.getBytes:()[B // method@058f │ │ +023360: 0c02 |004e: move-result-object v2 │ │ +023362: 5453 f602 |004f: iget-object v3, v5, Ldnsfilter/remote/RemoteAccessServer$RemoteSession$1;.this$1:Ldnsfilter/remote/RemoteAccessServer$RemoteSession; // field@02f6 │ │ +023366: 5433 fd02 |0051: iget-object v3, v3, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@02fd │ │ +02336a: 2124 |0053: array-length v4, v2 │ │ +02336c: 6e20 ff04 4300 |0054: invoke-virtual {v3, v4}, Ljava/io/DataOutputStream;.writeShort:(I)V // method@04ff │ │ +023372: 5453 f602 |0057: iget-object v3, v5, Ldnsfilter/remote/RemoteAccessServer$RemoteSession$1;.this$1:Ldnsfilter/remote/RemoteAccessServer$RemoteSession; // field@02f6 │ │ +023376: 5433 fd02 |0059: iget-object v3, v3, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@02fd │ │ +02337a: 6e20 fa04 2300 |005b: invoke-virtual {v3, v2}, Ljava/io/DataOutputStream;.write:([B)V // method@04fa │ │ +023380: 6e10 8f05 0700 |005e: invoke-virtual {v7}, Ljava/lang/String;.getBytes:()[B // method@058f │ │ +023386: 0c07 |0061: move-result-object v7 │ │ +023388: 5452 f602 |0062: iget-object v2, v5, Ldnsfilter/remote/RemoteAccessServer$RemoteSession$1;.this$1:Ldnsfilter/remote/RemoteAccessServer$RemoteSession; // field@02f6 │ │ +02338c: 5422 fd02 |0064: iget-object v2, v2, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@02fd │ │ +023390: 6e20 ff04 6200 |0066: invoke-virtual {v2, v6}, Ljava/io/DataOutputStream;.writeShort:(I)V // method@04ff │ │ +023396: 5456 f602 |0069: iget-object v6, v5, Ldnsfilter/remote/RemoteAccessServer$RemoteSession$1;.this$1:Ldnsfilter/remote/RemoteAccessServer$RemoteSession; // field@02f6 │ │ +02339a: 5466 fd02 |006b: iget-object v6, v6, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@02fd │ │ +02339e: 2172 |006d: array-length v2, v7 │ │ +0233a0: 6e20 ff04 2600 |006e: invoke-virtual {v6, v2}, Ljava/io/DataOutputStream;.writeShort:(I)V // method@04ff │ │ +0233a6: 5456 f602 |0071: iget-object v6, v5, Ldnsfilter/remote/RemoteAccessServer$RemoteSession$1;.this$1:Ldnsfilter/remote/RemoteAccessServer$RemoteSession; // field@02f6 │ │ +0233aa: 5466 fd02 |0073: iget-object v6, v6, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@02fd │ │ +0233ae: 6e20 fa04 7600 |0075: invoke-virtual {v6, v7}, Ljava/io/DataOutputStream;.write:([B)V // method@04fa │ │ +0233b4: 5456 f602 |0078: iget-object v6, v5, Ldnsfilter/remote/RemoteAccessServer$RemoteSession$1;.this$1:Ldnsfilter/remote/RemoteAccessServer$RemoteSession; // field@02f6 │ │ +0233b8: 5466 fd02 |007a: iget-object v6, v6, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@02fd │ │ +0233bc: 6e10 f904 0600 |007c: invoke-virtual {v6}, Ljava/io/DataOutputStream;.flush:()V // method@04f9 │ │ +0233c2: 2820 |007f: goto 009f // +0020 │ │ +0233c4: 0d06 |0080: move-exception v6 │ │ +0233c6: 2820 |0081: goto 00a1 // +0020 │ │ +0233c8: 0d06 |0082: move-exception v6 │ │ +0233ca: 5457 f602 |0083: iget-object v7, v5, Ldnsfilter/remote/RemoteAccessServer$RemoteSession$1;.this$1:Ldnsfilter/remote/RemoteAccessServer$RemoteSession; // field@02f6 │ │ +0233ce: 6e10 9d04 0700 |0085: invoke-virtual {v7}, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.killSession:()V // method@049d │ │ +0233d4: 7100 2707 0000 |0088: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0727 │ │ +0233da: 0c07 |008b: move-result-object v7 │ │ +0233dc: 2202 2d01 |008c: new-instance v2, Ljava/lang/StringBuilder; // type@012d │ │ +0233e0: 7020 aa05 0200 |008e: invoke-direct {v2, v0}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05aa │ │ +0233e6: 6e10 2605 0600 |0091: invoke-virtual {v6}, Ljava/io/IOException;.toString:()Ljava/lang/String; // method@0526 │ │ +0233ec: 0c06 |0094: move-result-object v6 │ │ +0233ee: 6e20 af05 6200 |0095: invoke-virtual {v2, v6}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +0233f4: 6e10 b105 0200 |0098: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ +0233fa: 0c06 |009b: move-result-object v6 │ │ +0233fc: 7220 3307 6700 |009c: invoke-interface {v7, v6}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0733 │ │ +023402: 1e01 |009f: monitor-exit v1 │ │ +023404: 0e00 |00a0: return-void │ │ +023406: 1e01 |00a1: monitor-exit v1 │ │ +023408: 2706 |00a2: throw v6 │ │ catches : 2 │ │ 0x0007 - 0x007f │ │ Ljava/io/IOException; -> 0x0082 │ │ -> 0x0080 │ │ 0x0083 - 0x00a2 │ │ -> 0x0080 │ │ positions : │ │ @@ -54341,57 +54341,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 │ │ -023494: |[023494] dnsfilter.remote.RemoteAccessServer$RemoteSession.:(Ldnsfilter/remote/RemoteAccessServer;Ljava/net/Socket;Ljava/io/InputStream;Ljava/io/OutputStream;I)V │ │ -0234a4: 5b23 0103 |0000: iput-object v3, v2, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.this$0:Ldnsfilter/remote/RemoteAccessServer; // field@0301 │ │ -0234a8: 7010 7505 0200 |0002: invoke-direct {v2}, Ljava/lang/Object;.:()V // method@0575 │ │ -0234ae: 12f0 |0005: const/4 v0, #int -1 // #ff │ │ -0234b0: 5920 f702 |0006: iput v0, v2, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.connectedSessionId:I // field@02f7 │ │ -0234b4: 1200 |0008: const/4 v0, #int 0 // #0 │ │ -0234b6: 5c20 fb02 |0009: iput-boolean v0, v2, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.killed:Z // field@02fb │ │ -0234ba: 5c20 f802 |000b: iput-boolean v0, v2, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.doReconnect:Z // field@02f8 │ │ -0234be: 5c20 ff02 |000d: iput-boolean v0, v2, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.remoteStreamSession:Z // field@02ff │ │ -0234c2: 1800 ffff ffff ffff ff7f |000f: const-wide v0, #double nan // #7fffffffffffffff │ │ -0234cc: 5a20 0203 |0014: iput-wide v0, v2, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.timeout:J // field@0302 │ │ -0234d0: 7100 b305 0000 |0016: invoke-static {}, Ljava/lang/System;.currentTimeMillis:()J // method@05b3 │ │ -0234d6: 0b00 |0019: move-result-wide v0 │ │ -0234d8: 5a20 fc02 |001a: iput-wide v0, v2, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.lastHeartBeatConfirm:J // field@02fc │ │ -0234dc: 5927 f902 |001c: iput v7, v2, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.id:I // field@02f9 │ │ -0234e0: 5b24 0003 |001e: iput-object v4, v2, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.socket:Ljava/net/Socket; // field@0300 │ │ -0234e4: 2200 f900 |0020: new-instance v0, Ljava/io/DataOutputStream; // type@00f9 │ │ -0234e8: 7020 f704 6000 |0022: invoke-direct {v0, v6}, Ljava/io/DataOutputStream;.:(Ljava/io/OutputStream;)V // method@04f7 │ │ -0234ee: 5b20 fd02 |0025: iput-object v0, v2, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@02fd │ │ -0234f2: 2206 f800 |0027: new-instance v6, Ljava/io/DataInputStream; // type@00f8 │ │ -0234f6: 7020 f004 5600 |0029: invoke-direct {v6, v5}, Ljava/io/DataInputStream;.:(Ljava/io/InputStream;)V // method@04f0 │ │ -0234fc: 5b26 fa02 |002c: iput-object v6, v2, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.in:Ljava/io/DataInputStream; // field@02fa │ │ -023500: 7110 a304 0300 |002e: invoke-static {v3}, Ldnsfilter/remote/RemoteAccessServer;.access$200:(Ldnsfilter/remote/RemoteAccessServer;)Ljava/util/HashMap; // method@04a3 │ │ -023506: 0c03 |0031: move-result-object v3 │ │ -023508: 7110 6a05 0700 |0032: invoke-static {v7}, Ljava/lang/Integer;.valueOf:(I)Ljava/lang/Integer; // method@056a │ │ -02350e: 0c05 |0035: move-result-object v5 │ │ -023510: 6e30 2b06 5302 |0036: invoke-virtual {v3, v5, v2}, Ljava/util/HashMap;.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; // method@062b │ │ -023516: 7100 2707 0000 |0039: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0727 │ │ -02351c: 0c03 |003c: move-result-object v3 │ │ -02351e: 2205 2d01 |003d: new-instance v5, Ljava/lang/StringBuilder; // type@012d │ │ -023522: 1a06 ec03 |003f: const-string v6, "New Remote Session " // string@03ec │ │ -023526: 7020 aa05 6500 |0041: invoke-direct {v5, v6}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05aa │ │ -02352c: 6e20 ac05 7500 |0044: invoke-virtual {v5, v7}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@05ac │ │ -023532: 1a06 1d00 |0047: const-string v6, " from :" // string@001d │ │ -023536: 6e20 af05 6500 |0049: invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -02353c: 6e20 ae05 4500 |004c: invoke-virtual {v5, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@05ae │ │ -023542: 6e10 b105 0500 |004f: invoke-virtual {v5}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ -023548: 0c04 |0052: move-result-object v4 │ │ -02354a: 7220 3307 4300 |0053: invoke-interface {v3, v4}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0733 │ │ -023550: 2203 2f01 |0056: new-instance v3, Ljava/lang/Thread; // type@012f │ │ -023554: 7020 b605 2300 |0058: invoke-direct {v3, v2}, Ljava/lang/Thread;.:(Ljava/lang/Runnable;)V // method@05b6 │ │ -02355a: 6e10 bc05 0300 |005b: invoke-virtual {v3}, Ljava/lang/Thread;.start:()V // method@05bc │ │ -023560: 0e00 |005e: return-void │ │ +023490: |[023490] dnsfilter.remote.RemoteAccessServer$RemoteSession.:(Ldnsfilter/remote/RemoteAccessServer;Ljava/net/Socket;Ljava/io/InputStream;Ljava/io/OutputStream;I)V │ │ +0234a0: 5b23 0103 |0000: iput-object v3, v2, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.this$0:Ldnsfilter/remote/RemoteAccessServer; // field@0301 │ │ +0234a4: 7010 7505 0200 |0002: invoke-direct {v2}, Ljava/lang/Object;.:()V // method@0575 │ │ +0234aa: 12f0 |0005: const/4 v0, #int -1 // #ff │ │ +0234ac: 5920 f702 |0006: iput v0, v2, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.connectedSessionId:I // field@02f7 │ │ +0234b0: 1200 |0008: const/4 v0, #int 0 // #0 │ │ +0234b2: 5c20 fb02 |0009: iput-boolean v0, v2, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.killed:Z // field@02fb │ │ +0234b6: 5c20 f802 |000b: iput-boolean v0, v2, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.doReconnect:Z // field@02f8 │ │ +0234ba: 5c20 ff02 |000d: iput-boolean v0, v2, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.remoteStreamSession:Z // field@02ff │ │ +0234be: 1800 ffff ffff ffff ff7f |000f: const-wide v0, #double nan // #7fffffffffffffff │ │ +0234c8: 5a20 0203 |0014: iput-wide v0, v2, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.timeout:J // field@0302 │ │ +0234cc: 7100 b305 0000 |0016: invoke-static {}, Ljava/lang/System;.currentTimeMillis:()J // method@05b3 │ │ +0234d2: 0b00 |0019: move-result-wide v0 │ │ +0234d4: 5a20 fc02 |001a: iput-wide v0, v2, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.lastHeartBeatConfirm:J // field@02fc │ │ +0234d8: 5927 f902 |001c: iput v7, v2, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.id:I // field@02f9 │ │ +0234dc: 5b24 0003 |001e: iput-object v4, v2, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.socket:Ljava/net/Socket; // field@0300 │ │ +0234e0: 2200 f900 |0020: new-instance v0, Ljava/io/DataOutputStream; // type@00f9 │ │ +0234e4: 7020 f704 6000 |0022: invoke-direct {v0, v6}, Ljava/io/DataOutputStream;.:(Ljava/io/OutputStream;)V // method@04f7 │ │ +0234ea: 5b20 fd02 |0025: iput-object v0, v2, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@02fd │ │ +0234ee: 2206 f800 |0027: new-instance v6, Ljava/io/DataInputStream; // type@00f8 │ │ +0234f2: 7020 f004 5600 |0029: invoke-direct {v6, v5}, Ljava/io/DataInputStream;.:(Ljava/io/InputStream;)V // method@04f0 │ │ +0234f8: 5b26 fa02 |002c: iput-object v6, v2, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.in:Ljava/io/DataInputStream; // field@02fa │ │ +0234fc: 7110 a304 0300 |002e: invoke-static {v3}, Ldnsfilter/remote/RemoteAccessServer;.access$200:(Ldnsfilter/remote/RemoteAccessServer;)Ljava/util/HashMap; // method@04a3 │ │ +023502: 0c03 |0031: move-result-object v3 │ │ +023504: 7110 6a05 0700 |0032: invoke-static {v7}, Ljava/lang/Integer;.valueOf:(I)Ljava/lang/Integer; // method@056a │ │ +02350a: 0c05 |0035: move-result-object v5 │ │ +02350c: 6e30 2b06 5302 |0036: invoke-virtual {v3, v5, v2}, Ljava/util/HashMap;.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; // method@062b │ │ +023512: 7100 2707 0000 |0039: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0727 │ │ +023518: 0c03 |003c: move-result-object v3 │ │ +02351a: 2205 2d01 |003d: new-instance v5, Ljava/lang/StringBuilder; // type@012d │ │ +02351e: 1a06 ec03 |003f: const-string v6, "New Remote Session " // string@03ec │ │ +023522: 7020 aa05 6500 |0041: invoke-direct {v5, v6}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05aa │ │ +023528: 6e20 ac05 7500 |0044: invoke-virtual {v5, v7}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@05ac │ │ +02352e: 1a06 1d00 |0047: const-string v6, " from :" // string@001d │ │ +023532: 6e20 af05 6500 |0049: invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +023538: 6e20 ae05 4500 |004c: invoke-virtual {v5, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@05ae │ │ +02353e: 6e10 b105 0500 |004f: invoke-virtual {v5}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ +023544: 0c04 |0052: move-result-object v4 │ │ +023546: 7220 3307 4300 |0053: invoke-interface {v3, v4}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0733 │ │ +02354c: 2203 2f01 |0056: new-instance v3, Ljava/lang/Thread; // type@012f │ │ +023550: 7020 b605 2300 |0058: invoke-direct {v3, v2}, Ljava/lang/Thread;.:(Ljava/lang/Runnable;)V // method@05b6 │ │ +023556: 6e10 bc05 0300 |005b: invoke-virtual {v3}, Ljava/lang/Thread;.start:()V // method@05bc │ │ +02355c: 0e00 |005e: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=151 │ │ 0x0006 line=138 │ │ 0x0009 line=141 │ │ 0x000b line=142 │ │ 0x000d line=145 │ │ @@ -54417,17 +54417,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 │ │ -023564: |[023564] dnsfilter.remote.RemoteAccessServer$RemoteSession.:(Ldnsfilter/remote/RemoteAccessServer;Ljava/net/Socket;Ljava/io/InputStream;Ljava/io/OutputStream;ILdnsfilter/remote/RemoteAccessServer$1;)V │ │ -023574: 7606 9304 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@0493 │ │ -02357a: 0e00 |0003: return-void │ │ +023560: |[023560] dnsfilter.remote.RemoteAccessServer$RemoteSession.:(Ldnsfilter/remote/RemoteAccessServer;Ljava/net/Socket;Ljava/io/InputStream;Ljava/io/OutputStream;ILdnsfilter/remote/RemoteAccessServer$1;)V │ │ +023570: 7606 9304 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@0493 │ │ +023576: 0e00 |0003: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=135 │ │ 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; │ │ @@ -54441,17 +54441,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 │ │ -02357c: |[02357c] dnsfilter.remote.RemoteAccessServer$RemoteSession.access$000:(Ldnsfilter/remote/RemoteAccessServer$RemoteSession;)V │ │ -02358c: 7010 9c04 0000 |0000: invoke-direct {v0}, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.invalidate:()V // method@049c │ │ -023592: 0e00 |0003: return-void │ │ +023578: |[023578] dnsfilter.remote.RemoteAccessServer$RemoteSession.access$000:(Ldnsfilter/remote/RemoteAccessServer$RemoteSession;)V │ │ +023588: 7010 9c04 0000 |0000: invoke-direct {v0}, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.invalidate:()V // method@049c │ │ +02358e: 0e00 |0003: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=135 │ │ locals : │ │ 0x0000 - 0x0004 reg=0 (null) Ldnsfilter/remote/RemoteAccessServer$RemoteSession; │ │ │ │ #3 : (in Ldnsfilter/remote/RemoteAccessServer$RemoteSession;) │ │ @@ -54459,107 +54459,107 @@ │ │ type : '()V' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 7 │ │ ins : 1 │ │ outs : 3 │ │ insns size : 179 16-bit code units │ │ -023594: |[023594] dnsfilter.remote.RemoteAccessServer$RemoteSession.attachStream:()V │ │ -0235a4: 5460 fa02 |0000: iget-object v0, v6, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.in:Ljava/io/DataInputStream; // field@02fa │ │ -0235a8: 7110 9f07 0000 |0002: invoke-static {v0}, Lutil/Utils;.readLineFromStream:(Ljava/io/InputStream;)Ljava/lang/String; // method@079f │ │ -0235ae: 0c00 |0005: move-result-object v0 │ │ -0235b0: 7110 6705 0000 |0006: invoke-static {v0}, Ljava/lang/Integer;.parseInt:(Ljava/lang/String;)I // method@0567 │ │ -0235b6: 0a00 |0009: move-result v0 │ │ -0235b8: 5960 f702 |000a: iput v0, v6, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.connectedSessionId:I // field@02f7 │ │ -0235bc: 1210 |000c: const/4 v0, #int 1 // #1 │ │ -0235be: 5c60 ff02 |000d: iput-boolean v0, v6, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.remoteStreamSession:Z // field@02ff │ │ -0235c2: 2201 8e01 |000f: new-instance v1, Lutil/SuppressRepeatingsLogger; // type@018e │ │ -0235c6: 2202 7c01 |0011: new-instance v2, Lutil/AsyncLogger; // type@017c │ │ -0235ca: 2203 ec00 |0013: new-instance v3, Ldnsfilter/remote/RemoteAccessServer$RemoteSession$1; // type@00ec │ │ -0235ce: 7020 8c04 6300 |0015: invoke-direct {v3, v6}, Ldnsfilter/remote/RemoteAccessServer$RemoteSession$1;.:(Ldnsfilter/remote/RemoteAccessServer$RemoteSession;)V // method@048c │ │ -0235d4: 7020 b706 3200 |0018: invoke-direct {v2, v3}, Lutil/AsyncLogger;.:(Lutil/LoggerInterface;)V // method@06b7 │ │ -0235da: 7020 7407 2100 |001b: invoke-direct {v1, v2}, Lutil/SuppressRepeatingsLogger;.:(Lutil/LoggerInterface;)V // method@0774 │ │ -0235e0: 5b61 fe02 |001e: iput-object v1, v6, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.remoteLogger:Lutil/SuppressRepeatingsLogger; // field@02fe │ │ -0235e4: 7100 9901 0000 |0020: invoke-static {}, Ldnsfilter/DNSFilterManager;.getInstance:()Ldnsfilter/DNSFilterManager; // method@0199 │ │ -0235ea: 0c01 |0023: move-result-object v1 │ │ -0235ec: 6e10 9401 0100 |0024: invoke-virtual {v1}, Ldnsfilter/DNSFilterManager;.getConfig:()Ljava/util/Properties; // method@0194 │ │ -0235f2: 0c01 |0027: move-result-object v1 │ │ -0235f4: 1a02 ff09 |0028: const-string v2, "repeatingLogSuppressTime" // string@09ff │ │ -0235f8: 1a03 7000 |002a: const-string v3, "1000" // string@0070 │ │ -0235fc: 6e30 5706 2103 |002c: invoke-virtual {v1, v2, v3}, Ljava/util/Properties;.getProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@0657 │ │ -023602: 0c01 |002f: move-result-object v1 │ │ -023604: 7110 6d05 0100 |0030: invoke-static {v1}, Ljava/lang/Long;.parseLong:(Ljava/lang/String;)J // method@056d │ │ -02360a: 0b01 |0033: move-result-wide v1 │ │ -02360c: 5463 fe02 |0034: iget-object v3, v6, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.remoteLogger:Lutil/SuppressRepeatingsLogger; // field@02fe │ │ -023610: 6e30 7e07 1302 |0036: invoke-virtual {v3, v1, v2}, Lutil/SuppressRepeatingsLogger;.setSuppressTime:(J)V // method@077e │ │ -023616: 7100 9901 0000 |0039: invoke-static {}, Ldnsfilter/DNSFilterManager;.getInstance:()Ldnsfilter/DNSFilterManager; // method@0199 │ │ -02361c: 0c01 |003c: move-result-object v1 │ │ -02361e: 6e10 9401 0100 |003d: invoke-virtual {v1}, Ldnsfilter/DNSFilterManager;.getConfig:()Ljava/util/Properties; // method@0194 │ │ -023624: 0c01 |0040: move-result-object v1 │ │ -023626: 1a02 4905 |0041: const-string v2, "addLiveLogTimestamp" // string@0549 │ │ -02362a: 1a03 df06 |0043: const-string v3, "false" // string@06df │ │ -02362e: 6e30 5706 2103 |0045: invoke-virtual {v1, v2, v3}, Ljava/util/Properties;.getProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@0657 │ │ -023634: 0c01 |0048: move-result-object v1 │ │ -023636: 7110 4d05 0100 |0049: invoke-static {v1}, Ljava/lang/Boolean;.parseBoolean:(Ljava/lang/String;)Z // method@054d │ │ -02363c: 0a01 |004c: move-result v1 │ │ -02363e: 5462 fe02 |004d: iget-object v2, v6, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.remoteLogger:Lutil/SuppressRepeatingsLogger; // field@02fe │ │ -023642: 1203 |004f: const/4 v3, #int 0 // #0 │ │ -023644: 6e20 7f07 3200 |0050: invoke-virtual {v2, v3}, Lutil/SuppressRepeatingsLogger;.setTimestampFormat:(Ljava/lang/String;)V // method@077f │ │ -02364a: 3801 1700 |0053: if-eqz v1, 006a // +0017 │ │ -02364e: 7100 9901 0000 |0055: invoke-static {}, Ldnsfilter/DNSFilterManager;.getInstance:()Ldnsfilter/DNSFilterManager; // method@0199 │ │ -023654: 0c01 |0058: move-result-object v1 │ │ -023656: 6e10 9401 0100 |0059: invoke-virtual {v1}, Ldnsfilter/DNSFilterManager;.getConfig:()Ljava/util/Properties; // method@0194 │ │ -02365c: 0c01 |005c: move-result-object v1 │ │ -02365e: 1a02 a908 |005d: const-string v2, "liveLogTimeStampFormat" // string@08a9 │ │ -023662: 1a03 0b08 |005f: const-string v3, "hh:mm:ss" // string@080b │ │ -023666: 6e30 5706 2103 |0061: invoke-virtual {v1, v2, v3}, Ljava/util/Properties;.getProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@0657 │ │ -02366c: 0c01 |0064: move-result-object v1 │ │ -02366e: 5462 fe02 |0065: iget-object v2, v6, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.remoteLogger:Lutil/SuppressRepeatingsLogger; // field@02fe │ │ -023672: 6e20 7f07 1200 |0067: invoke-virtual {v2, v1}, Lutil/SuppressRepeatingsLogger;.setTimestampFormat:(Ljava/lang/String;)V // method@077f │ │ -023678: 5461 fd02 |006a: iget-object v1, v6, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@02fd │ │ -02367c: 1d01 |006c: monitor-enter v1 │ │ -02367e: 7100 2707 0000 |006d: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0727 │ │ -023684: 0c02 |0070: move-result-object v2 │ │ -023686: 1f02 8201 |0071: check-cast v2, Lutil/GroupedLogger; // type@0182 │ │ -02368a: 5463 fe02 |0073: iget-object v3, v6, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.remoteLogger:Lutil/SuppressRepeatingsLogger; // field@02fe │ │ -02368e: 6e20 f706 3200 |0075: invoke-virtual {v2, v3}, Lutil/GroupedLogger;.attachLogger:(Lutil/LoggerInterface;)V // method@06f7 │ │ -023694: 2819 |0078: goto 0091 // +0019 │ │ -023696: 0d00 |0079: move-exception v0 │ │ -023698: 2829 |007a: goto 00a3 // +0029 │ │ -02369a: 2202 8201 |007b: new-instance v2, Lutil/GroupedLogger; // type@0182 │ │ -02369e: 1223 |007d: const/4 v3, #int 2 // #2 │ │ -0236a0: 2333 b401 |007e: new-array v3, v3, [Lutil/LoggerInterface; // type@01b4 │ │ -0236a4: 7100 2707 0000 |0080: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0727 │ │ -0236aa: 0c04 |0083: move-result-object v4 │ │ -0236ac: 1205 |0084: const/4 v5, #int 0 // #0 │ │ -0236ae: 4d04 0305 |0085: aput-object v4, v3, v5 │ │ -0236b2: 5464 fe02 |0087: iget-object v4, v6, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.remoteLogger:Lutil/SuppressRepeatingsLogger; // field@02fe │ │ -0236b6: 4d04 0300 |0089: aput-object v4, v3, v0 │ │ -0236ba: 7020 f606 3200 |008b: invoke-direct {v2, v3}, Lutil/GroupedLogger;.:([Lutil/LoggerInterface;)V // method@06f6 │ │ -0236c0: 7110 2e07 0200 |008e: invoke-static {v2}, Lutil/Logger;.setLogger:(Lutil/LoggerInterface;)V // method@072e │ │ -0236c6: 5460 fd02 |0091: iget-object v0, v6, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@02fd │ │ -0236ca: 1a02 fb03 |0093: const-string v2, "OK │ │ +023590: |[023590] dnsfilter.remote.RemoteAccessServer$RemoteSession.attachStream:()V │ │ +0235a0: 5460 fa02 |0000: iget-object v0, v6, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.in:Ljava/io/DataInputStream; // field@02fa │ │ +0235a4: 7110 9f07 0000 |0002: invoke-static {v0}, Lutil/Utils;.readLineFromStream:(Ljava/io/InputStream;)Ljava/lang/String; // method@079f │ │ +0235aa: 0c00 |0005: move-result-object v0 │ │ +0235ac: 7110 6705 0000 |0006: invoke-static {v0}, Ljava/lang/Integer;.parseInt:(Ljava/lang/String;)I // method@0567 │ │ +0235b2: 0a00 |0009: move-result v0 │ │ +0235b4: 5960 f702 |000a: iput v0, v6, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.connectedSessionId:I // field@02f7 │ │ +0235b8: 1210 |000c: const/4 v0, #int 1 // #1 │ │ +0235ba: 5c60 ff02 |000d: iput-boolean v0, v6, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.remoteStreamSession:Z // field@02ff │ │ +0235be: 2201 8e01 |000f: new-instance v1, Lutil/SuppressRepeatingsLogger; // type@018e │ │ +0235c2: 2202 7c01 |0011: new-instance v2, Lutil/AsyncLogger; // type@017c │ │ +0235c6: 2203 ec00 |0013: new-instance v3, Ldnsfilter/remote/RemoteAccessServer$RemoteSession$1; // type@00ec │ │ +0235ca: 7020 8c04 6300 |0015: invoke-direct {v3, v6}, Ldnsfilter/remote/RemoteAccessServer$RemoteSession$1;.:(Ldnsfilter/remote/RemoteAccessServer$RemoteSession;)V // method@048c │ │ +0235d0: 7020 b706 3200 |0018: invoke-direct {v2, v3}, Lutil/AsyncLogger;.:(Lutil/LoggerInterface;)V // method@06b7 │ │ +0235d6: 7020 7407 2100 |001b: invoke-direct {v1, v2}, Lutil/SuppressRepeatingsLogger;.:(Lutil/LoggerInterface;)V // method@0774 │ │ +0235dc: 5b61 fe02 |001e: iput-object v1, v6, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.remoteLogger:Lutil/SuppressRepeatingsLogger; // field@02fe │ │ +0235e0: 7100 9901 0000 |0020: invoke-static {}, Ldnsfilter/DNSFilterManager;.getInstance:()Ldnsfilter/DNSFilterManager; // method@0199 │ │ +0235e6: 0c01 |0023: move-result-object v1 │ │ +0235e8: 6e10 9401 0100 |0024: invoke-virtual {v1}, Ldnsfilter/DNSFilterManager;.getConfig:()Ljava/util/Properties; // method@0194 │ │ +0235ee: 0c01 |0027: move-result-object v1 │ │ +0235f0: 1a02 ff09 |0028: const-string v2, "repeatingLogSuppressTime" // string@09ff │ │ +0235f4: 1a03 7000 |002a: const-string v3, "1000" // string@0070 │ │ +0235f8: 6e30 5706 2103 |002c: invoke-virtual {v1, v2, v3}, Ljava/util/Properties;.getProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@0657 │ │ +0235fe: 0c01 |002f: move-result-object v1 │ │ +023600: 7110 6d05 0100 |0030: invoke-static {v1}, Ljava/lang/Long;.parseLong:(Ljava/lang/String;)J // method@056d │ │ +023606: 0b01 |0033: move-result-wide v1 │ │ +023608: 5463 fe02 |0034: iget-object v3, v6, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.remoteLogger:Lutil/SuppressRepeatingsLogger; // field@02fe │ │ +02360c: 6e30 7e07 1302 |0036: invoke-virtual {v3, v1, v2}, Lutil/SuppressRepeatingsLogger;.setSuppressTime:(J)V // method@077e │ │ +023612: 7100 9901 0000 |0039: invoke-static {}, Ldnsfilter/DNSFilterManager;.getInstance:()Ldnsfilter/DNSFilterManager; // method@0199 │ │ +023618: 0c01 |003c: move-result-object v1 │ │ +02361a: 6e10 9401 0100 |003d: invoke-virtual {v1}, Ldnsfilter/DNSFilterManager;.getConfig:()Ljava/util/Properties; // method@0194 │ │ +023620: 0c01 |0040: move-result-object v1 │ │ +023622: 1a02 4905 |0041: const-string v2, "addLiveLogTimestamp" // string@0549 │ │ +023626: 1a03 df06 |0043: const-string v3, "false" // string@06df │ │ +02362a: 6e30 5706 2103 |0045: invoke-virtual {v1, v2, v3}, Ljava/util/Properties;.getProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@0657 │ │ +023630: 0c01 |0048: move-result-object v1 │ │ +023632: 7110 4d05 0100 |0049: invoke-static {v1}, Ljava/lang/Boolean;.parseBoolean:(Ljava/lang/String;)Z // method@054d │ │ +023638: 0a01 |004c: move-result v1 │ │ +02363a: 5462 fe02 |004d: iget-object v2, v6, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.remoteLogger:Lutil/SuppressRepeatingsLogger; // field@02fe │ │ +02363e: 1203 |004f: const/4 v3, #int 0 // #0 │ │ +023640: 6e20 7f07 3200 |0050: invoke-virtual {v2, v3}, Lutil/SuppressRepeatingsLogger;.setTimestampFormat:(Ljava/lang/String;)V // method@077f │ │ +023646: 3801 1700 |0053: if-eqz v1, 006a // +0017 │ │ +02364a: 7100 9901 0000 |0055: invoke-static {}, Ldnsfilter/DNSFilterManager;.getInstance:()Ldnsfilter/DNSFilterManager; // method@0199 │ │ +023650: 0c01 |0058: move-result-object v1 │ │ +023652: 6e10 9401 0100 |0059: invoke-virtual {v1}, Ldnsfilter/DNSFilterManager;.getConfig:()Ljava/util/Properties; // method@0194 │ │ +023658: 0c01 |005c: move-result-object v1 │ │ +02365a: 1a02 a908 |005d: const-string v2, "liveLogTimeStampFormat" // string@08a9 │ │ +02365e: 1a03 0b08 |005f: const-string v3, "hh:mm:ss" // string@080b │ │ +023662: 6e30 5706 2103 |0061: invoke-virtual {v1, v2, v3}, Ljava/util/Properties;.getProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@0657 │ │ +023668: 0c01 |0064: move-result-object v1 │ │ +02366a: 5462 fe02 |0065: iget-object v2, v6, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.remoteLogger:Lutil/SuppressRepeatingsLogger; // field@02fe │ │ +02366e: 6e20 7f07 1200 |0067: invoke-virtual {v2, v1}, Lutil/SuppressRepeatingsLogger;.setTimestampFormat:(Ljava/lang/String;)V // method@077f │ │ +023674: 5461 fd02 |006a: iget-object v1, v6, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@02fd │ │ +023678: 1d01 |006c: monitor-enter v1 │ │ +02367a: 7100 2707 0000 |006d: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0727 │ │ +023680: 0c02 |0070: move-result-object v2 │ │ +023682: 1f02 8201 |0071: check-cast v2, Lutil/GroupedLogger; // type@0182 │ │ +023686: 5463 fe02 |0073: iget-object v3, v6, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.remoteLogger:Lutil/SuppressRepeatingsLogger; // field@02fe │ │ +02368a: 6e20 f706 3200 |0075: invoke-virtual {v2, v3}, Lutil/GroupedLogger;.attachLogger:(Lutil/LoggerInterface;)V // method@06f7 │ │ +023690: 2819 |0078: goto 0091 // +0019 │ │ +023692: 0d00 |0079: move-exception v0 │ │ +023694: 2829 |007a: goto 00a3 // +0029 │ │ +023696: 2202 8201 |007b: new-instance v2, Lutil/GroupedLogger; // type@0182 │ │ +02369a: 1223 |007d: const/4 v3, #int 2 // #2 │ │ +02369c: 2333 b401 |007e: new-array v3, v3, [Lutil/LoggerInterface; // type@01b4 │ │ +0236a0: 7100 2707 0000 |0080: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0727 │ │ +0236a6: 0c04 |0083: move-result-object v4 │ │ +0236a8: 1205 |0084: const/4 v5, #int 0 // #0 │ │ +0236aa: 4d04 0305 |0085: aput-object v4, v3, v5 │ │ +0236ae: 5464 fe02 |0087: iget-object v4, v6, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.remoteLogger:Lutil/SuppressRepeatingsLogger; // field@02fe │ │ +0236b2: 4d04 0300 |0089: aput-object v4, v3, v0 │ │ +0236b6: 7020 f606 3200 |008b: invoke-direct {v2, v3}, Lutil/GroupedLogger;.:([Lutil/LoggerInterface;)V // method@06f6 │ │ +0236bc: 7110 2e07 0200 |008e: invoke-static {v2}, Lutil/Logger;.setLogger:(Lutil/LoggerInterface;)V // method@072e │ │ +0236c2: 5460 fd02 |0091: iget-object v0, v6, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@02fd │ │ +0236c6: 1a02 fb03 |0093: const-string v2, "OK │ │ " // string@03fb │ │ -0236ce: 6e10 8f05 0200 |0095: invoke-virtual {v2}, Ljava/lang/String;.getBytes:()[B // method@058f │ │ -0236d4: 0c02 |0098: move-result-object v2 │ │ -0236d6: 6e20 fa04 2000 |0099: invoke-virtual {v0, v2}, Ljava/io/DataOutputStream;.write:([B)V // method@04fa │ │ -0236dc: 6000 e402 |009c: sget v0, Ldnsfilter/remote/RemoteAccessClient;.READ_TIMEOUT:I // field@02e4 │ │ -0236e0: 7020 9804 0600 |009e: invoke-direct {v6, v0}, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.doHeartBeat:(I)V // method@0498 │ │ -0236e6: 1e01 |00a1: monitor-exit v1 │ │ -0236e8: 0e00 |00a2: return-void │ │ -0236ea: 1e01 |00a3: monitor-exit v1 │ │ -0236ec: 2700 |00a4: throw v0 │ │ -0236ee: 0d00 |00a5: move-exception v0 │ │ -0236f0: 2201 0001 |00a6: new-instance v1, Ljava/io/IOException; // type@0100 │ │ -0236f4: 7020 2305 0100 |00a8: invoke-direct {v1, v0}, Ljava/io/IOException;.:(Ljava/lang/Throwable;)V // method@0523 │ │ -0236fa: 2701 |00ab: throw v1 │ │ -0236fc: 0d00 |00ac: move-exception v0 │ │ -0236fe: 2201 0001 |00ad: new-instance v1, Ljava/io/IOException; // type@0100 │ │ -023702: 7020 2305 0100 |00af: invoke-direct {v1, v0}, Ljava/io/IOException;.:(Ljava/lang/Throwable;)V // method@0523 │ │ -023708: 2701 |00b2: throw v1 │ │ +0236ca: 6e10 8f05 0200 |0095: invoke-virtual {v2}, Ljava/lang/String;.getBytes:()[B // method@058f │ │ +0236d0: 0c02 |0098: move-result-object v2 │ │ +0236d2: 6e20 fa04 2000 |0099: invoke-virtual {v0, v2}, Ljava/io/DataOutputStream;.write:([B)V // method@04fa │ │ +0236d8: 6000 e402 |009c: sget v0, Ldnsfilter/remote/RemoteAccessClient;.READ_TIMEOUT:I // field@02e4 │ │ +0236dc: 7020 9804 0600 |009e: invoke-direct {v6, v0}, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.doHeartBeat:(I)V // method@0498 │ │ +0236e2: 1e01 |00a1: monitor-exit v1 │ │ +0236e4: 0e00 |00a2: return-void │ │ +0236e6: 1e01 |00a3: monitor-exit v1 │ │ +0236e8: 2700 |00a4: throw v0 │ │ +0236ea: 0d00 |00a5: move-exception v0 │ │ +0236ec: 2201 0001 |00a6: new-instance v1, Ljava/io/IOException; // type@0100 │ │ +0236f0: 7020 2305 0100 |00a8: invoke-direct {v1, v0}, Ljava/io/IOException;.:(Ljava/lang/Throwable;)V // method@0523 │ │ +0236f6: 2701 |00ab: throw v1 │ │ +0236f8: 0d00 |00ac: move-exception v0 │ │ +0236fa: 2201 0001 |00ad: new-instance v1, Ljava/io/IOException; // type@0100 │ │ +0236fe: 7020 2305 0100 |00af: invoke-direct {v1, v0}, Ljava/io/IOException;.:(Ljava/lang/Throwable;)V // method@0523 │ │ +023704: 2701 |00b2: throw v1 │ │ catches : 4 │ │ 0x0000 - 0x000f │ │ Ljava/lang/Exception; -> 0x00ac │ │ 0x0020 - 0x006a │ │ Ljava/lang/Exception; -> 0x00a5 │ │ 0x006d - 0x0078 │ │ Ljava/lang/ClassCastException; -> 0x007b │ │ @@ -54593,33 +54593,33 @@ │ │ type : '()Z' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 6 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 32 16-bit code units │ │ -02342c: |[02342c] dnsfilter.remote.RemoteAccessServer$RemoteSession.checkLastConfirmedHeartBeat:()Z │ │ -02343c: 7100 b305 0000 |0000: invoke-static {}, Ljava/lang/System;.currentTimeMillis:()J // method@05b3 │ │ -023442: 0b00 |0003: move-result-wide v0 │ │ -023444: 5352 fc02 |0004: iget-wide v2, v5, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.lastHeartBeatConfirm:J // field@02fc │ │ -023448: bc20 |0006: sub-long/2addr v0, v2 │ │ -02344a: 6002 e402 |0007: sget v2, Ldnsfilter/remote/RemoteAccessClient;.READ_TIMEOUT:I // field@02e4 │ │ -02344e: da02 0202 |0009: mul-int/lit8 v2, v2, #int 2 // #02 │ │ -023452: 8122 |000b: int-to-long v2, v2 │ │ -023454: 3104 0002 |000c: cmp-long v4, v0, v2 │ │ -023458: 3d04 1000 |000e: if-lez v4, 001e // +0010 │ │ -02345c: 7100 2707 0000 |0010: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0727 │ │ -023462: 0c00 |0013: move-result-object v0 │ │ -023464: 1a01 b401 |0014: const-string v1, "Heartbeat Confirmation not received - Dead Session!" // string@01b4 │ │ -023468: 7220 3307 1000 |0016: invoke-interface {v0, v1}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0733 │ │ -02346e: 6e10 9d04 0500 |0019: invoke-virtual {v5}, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.killSession:()V // method@049d │ │ -023474: 1200 |001c: const/4 v0, #int 0 // #0 │ │ -023476: 0f00 |001d: return v0 │ │ -023478: 1210 |001e: const/4 v0, #int 1 // #1 │ │ -02347a: 0f00 |001f: return v0 │ │ +023428: |[023428] dnsfilter.remote.RemoteAccessServer$RemoteSession.checkLastConfirmedHeartBeat:()Z │ │ +023438: 7100 b305 0000 |0000: invoke-static {}, Ljava/lang/System;.currentTimeMillis:()J // method@05b3 │ │ +02343e: 0b00 |0003: move-result-wide v0 │ │ +023440: 5352 fc02 |0004: iget-wide v2, v5, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.lastHeartBeatConfirm:J // field@02fc │ │ +023444: bc20 |0006: sub-long/2addr v0, v2 │ │ +023446: 6002 e402 |0007: sget v2, Ldnsfilter/remote/RemoteAccessClient;.READ_TIMEOUT:I // field@02e4 │ │ +02344a: da02 0202 |0009: mul-int/lit8 v2, v2, #int 2 // #02 │ │ +02344e: 8122 |000b: int-to-long v2, v2 │ │ +023450: 3104 0002 |000c: cmp-long v4, v0, v2 │ │ +023454: 3d04 1000 |000e: if-lez v4, 001e // +0010 │ │ +023458: 7100 2707 0000 |0010: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0727 │ │ +02345e: 0c00 |0013: move-result-object v0 │ │ +023460: 1a01 b401 |0014: const-string v1, "Heartbeat Confirmation not received - Dead Session!" // string@01b4 │ │ +023464: 7220 3307 1000 |0016: invoke-interface {v0, v1}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0733 │ │ +02346a: 6e10 9d04 0500 |0019: invoke-virtual {v5}, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.killSession:()V // method@049d │ │ +023470: 1200 |001c: const/4 v0, #int 0 // #0 │ │ +023472: 0f00 |001d: return v0 │ │ +023474: 1210 |001e: const/4 v0, #int 1 // #1 │ │ +023476: 0f00 |001f: return v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=470 │ │ 0x0007 line=471 │ │ 0x0010 line=472 │ │ 0x0019 line=473 │ │ locals : │ │ @@ -54630,50 +54630,50 @@ │ │ type : '(I)V' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 6 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 66 16-bit code units │ │ -023740: |[023740] dnsfilter.remote.RemoteAccessServer$RemoteSession.doHeartBeat:(I)V │ │ -023750: 5440 fd02 |0000: iget-object v0, v4, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@02fd │ │ -023754: 1d00 |0002: monitor-enter v0 │ │ -023756: 5441 fd02 |0003: iget-object v1, v4, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@02fd │ │ -02375a: 1262 |0005: const/4 v2, #int 6 // #6 │ │ -02375c: 6e20 ff04 2100 |0006: invoke-virtual {v1, v2}, Ljava/io/DataOutputStream;.writeShort:(I)V // method@04ff │ │ -023762: 5441 fd02 |0009: iget-object v1, v4, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@02fd │ │ -023766: 1202 |000b: const/4 v2, #int 0 // #0 │ │ -023768: 6e20 ff04 2100 |000c: invoke-virtual {v1, v2}, Ljava/io/DataOutputStream;.writeShort:(I)V // method@04ff │ │ -02376e: 5441 fd02 |000f: iget-object v1, v4, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@02fd │ │ -023772: 6e10 f904 0100 |0011: invoke-virtual {v1}, Ljava/io/DataOutputStream;.flush:()V // method@04f9 │ │ -023778: 1e00 |0014: monitor-exit v0 │ │ -02377a: 7100 b305 0000 |0015: invoke-static {}, Ljava/lang/System;.currentTimeMillis:()J // method@05b3 │ │ -023780: 0b00 |0018: move-result-wide v0 │ │ -023782: 8152 |0019: int-to-long v2, v5 │ │ -023784: bb20 |001a: add-long/2addr v0, v2 │ │ -023786: 5a40 0203 |001b: iput-wide v0, v4, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.timeout:J // field@0302 │ │ -02378a: 7100 8807 0000 |001d: invoke-static {}, Lutil/TimoutNotificator;.getInstance:()Lutil/TimoutNotificator; // method@0788 │ │ -023790: 0c05 |0020: move-result-object v5 │ │ -023792: 6e20 8a07 4500 |0021: invoke-virtual {v5, v4}, Lutil/TimoutNotificator;.register:(Lutil/TimeoutListener;)V // method@078a │ │ -023798: 281d |0024: goto 0041 // +001d │ │ -02379a: 0d05 |0025: move-exception v5 │ │ -02379c: 1e00 |0026: monitor-exit v0 │ │ -02379e: 2705 |0027: throw v5 │ │ -0237a0: 0d05 |0028: move-exception v5 │ │ -0237a2: 7100 2707 0000 |0029: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0727 │ │ -0237a8: 0c00 |002c: move-result-object v0 │ │ -0237aa: 2201 2d01 |002d: new-instance v1, Ljava/lang/StringBuilder; // type@012d │ │ -0237ae: 1a02 b501 |002f: const-string v2, "Heartbeat failed! " // string@01b5 │ │ -0237b2: 7020 aa05 2100 |0031: invoke-direct {v1, v2}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05aa │ │ -0237b8: 6e20 ae05 5100 |0034: invoke-virtual {v1, v5}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@05ae │ │ -0237be: 6e10 b105 0100 |0037: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ -0237c4: 0c05 |003a: move-result-object v5 │ │ -0237c6: 7220 3307 5000 |003b: invoke-interface {v0, v5}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0733 │ │ -0237cc: 6e10 9d04 0400 |003e: invoke-virtual {v4}, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.killSession:()V // method@049d │ │ -0237d2: 0e00 |0041: return-void │ │ +02373c: |[02373c] dnsfilter.remote.RemoteAccessServer$RemoteSession.doHeartBeat:(I)V │ │ +02374c: 5440 fd02 |0000: iget-object v0, v4, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@02fd │ │ +023750: 1d00 |0002: monitor-enter v0 │ │ +023752: 5441 fd02 |0003: iget-object v1, v4, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@02fd │ │ +023756: 1262 |0005: const/4 v2, #int 6 // #6 │ │ +023758: 6e20 ff04 2100 |0006: invoke-virtual {v1, v2}, Ljava/io/DataOutputStream;.writeShort:(I)V // method@04ff │ │ +02375e: 5441 fd02 |0009: iget-object v1, v4, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@02fd │ │ +023762: 1202 |000b: const/4 v2, #int 0 // #0 │ │ +023764: 6e20 ff04 2100 |000c: invoke-virtual {v1, v2}, Ljava/io/DataOutputStream;.writeShort:(I)V // method@04ff │ │ +02376a: 5441 fd02 |000f: iget-object v1, v4, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@02fd │ │ +02376e: 6e10 f904 0100 |0011: invoke-virtual {v1}, Ljava/io/DataOutputStream;.flush:()V // method@04f9 │ │ +023774: 1e00 |0014: monitor-exit v0 │ │ +023776: 7100 b305 0000 |0015: invoke-static {}, Ljava/lang/System;.currentTimeMillis:()J // method@05b3 │ │ +02377c: 0b00 |0018: move-result-wide v0 │ │ +02377e: 8152 |0019: int-to-long v2, v5 │ │ +023780: bb20 |001a: add-long/2addr v0, v2 │ │ +023782: 5a40 0203 |001b: iput-wide v0, v4, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.timeout:J // field@0302 │ │ +023786: 7100 8807 0000 |001d: invoke-static {}, Lutil/TimoutNotificator;.getInstance:()Lutil/TimoutNotificator; // method@0788 │ │ +02378c: 0c05 |0020: move-result-object v5 │ │ +02378e: 6e20 8a07 4500 |0021: invoke-virtual {v5, v4}, Lutil/TimoutNotificator;.register:(Lutil/TimeoutListener;)V // method@078a │ │ +023794: 281d |0024: goto 0041 // +001d │ │ +023796: 0d05 |0025: move-exception v5 │ │ +023798: 1e00 |0026: monitor-exit v0 │ │ +02379a: 2705 |0027: throw v5 │ │ +02379c: 0d05 |0028: move-exception v5 │ │ +02379e: 7100 2707 0000 |0029: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0727 │ │ +0237a4: 0c00 |002c: move-result-object v0 │ │ +0237a6: 2201 2d01 |002d: new-instance v1, Ljava/lang/StringBuilder; // type@012d │ │ +0237aa: 1a02 b501 |002f: const-string v2, "Heartbeat failed! " // string@01b5 │ │ +0237ae: 7020 aa05 2100 |0031: invoke-direct {v1, v2}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05aa │ │ +0237b4: 6e20 ae05 5100 |0034: invoke-virtual {v1, v5}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@05ae │ │ +0237ba: 6e10 b105 0100 |0037: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ +0237c0: 0c05 |003a: move-result-object v5 │ │ +0237c2: 7220 3307 5000 |003b: invoke-interface {v0, v5}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0733 │ │ +0237c8: 6e10 9d04 0400 |003e: invoke-virtual {v4}, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.killSession:()V // method@049d │ │ +0237ce: 0e00 |0041: return-void │ │ catches : 5 │ │ 0x0000 - 0x0003 │ │ Ljava/io/IOException; -> 0x0028 │ │ 0x0003 - 0x0015 │ │ -> 0x0025 │ │ 0x0015 - 0x0024 │ │ Ljava/io/IOException; -> 0x0028 │ │ @@ -54701,363 +54701,363 @@ │ │ type : '(Ljava/lang/String;)V' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 6 │ │ ins : 2 │ │ outs : 3 │ │ insns size : 753 16-bit code units │ │ -023804: |[023804] dnsfilter.remote.RemoteAccessServer$RemoteSession.executeAction:(Ljava/lang/String;)V │ │ -023814: 1a00 0200 |0000: const-string v0, " │ │ +023800: |[023800] dnsfilter.remote.RemoteAccessServer$RemoteSession.executeAction:(Ljava/lang/String;)V │ │ +023810: 1a00 0200 |0000: const-string v0, " │ │ " // string@0002 │ │ -023818: 1a01 8b04 |0002: const-string v1, "Unknown action: " // string@048b │ │ -02381c: 1a02 4407 |0004: const-string v2, "getConfig()" // string@0744 │ │ -023820: 6e20 8d05 2500 |0006: invoke-virtual {v5, v2}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058d │ │ -023826: 0a02 |0009: move-result v2 │ │ -023828: 1a03 fb03 |000a: const-string v3, "OK │ │ +023814: 1a01 8b04 |0002: const-string v1, "Unknown action: " // string@048b │ │ +023818: 1a02 4407 |0004: const-string v2, "getConfig()" // string@0744 │ │ +02381c: 6e20 8d05 2500 |0006: invoke-virtual {v5, v2}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058d │ │ +023822: 0a02 |0009: move-result v2 │ │ +023824: 1a03 fb03 |000a: const-string v3, "OK │ │ " // string@03fb │ │ -02382c: 3802 2200 |000c: if-eqz v2, 002e // +0022 │ │ -023830: 7100 5301 0000 |000e: invoke-static {}, Ldnsfilter/ConfigurationAccess;.getLocal:()Ldnsfilter/ConfigurationAccess; // method@0153 │ │ -023836: 0c05 |0011: move-result-object v5 │ │ -023838: 6e10 4d01 0500 |0012: invoke-virtual {v5}, Ldnsfilter/ConfigurationAccess;.getConfig:()Ljava/util/Properties; // method@014d │ │ -02383e: 0c05 |0015: move-result-object v5 │ │ -023840: 5441 fd02 |0016: iget-object v1, v4, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@02fd │ │ -023844: 6e10 8f05 0300 |0018: invoke-virtual {v3}, Ljava/lang/String;.getBytes:()[B // method@058f │ │ -02384a: 0c02 |001b: move-result-object v2 │ │ -02384c: 6e20 fa04 2100 |001c: invoke-virtual {v1, v2}, Ljava/io/DataOutputStream;.write:([B)V // method@04fa │ │ -023852: 2201 0401 |001f: new-instance v1, Ljava/io/ObjectOutputStream; // type@0104 │ │ -023856: 5442 fd02 |0021: iget-object v2, v4, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@02fd │ │ -02385a: 7020 3005 2100 |0023: invoke-direct {v1, v2}, Ljava/io/ObjectOutputStream;.:(Ljava/io/OutputStream;)V // method@0530 │ │ -023860: 6e20 3305 5100 |0026: invoke-virtual {v1, v5}, Ljava/io/ObjectOutputStream;.writeObject:(Ljava/lang/Object;)V // method@0533 │ │ -023866: 6e10 3205 0100 |0029: invoke-virtual {v1}, Ljava/io/ObjectOutputStream;.flush:()V // method@0532 │ │ -02386c: 2900 c402 |002c: goto/16 02f0 // +02c4 │ │ -023870: 1a02 6407 |002e: const-string v2, "getDefaultConfig()" // string@0764 │ │ -023874: 6e20 8d05 2500 |0030: invoke-virtual {v5, v2}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058d │ │ -02387a: 0a02 |0033: move-result v2 │ │ -02387c: 3802 2200 |0034: if-eqz v2, 0056 // +0022 │ │ -023880: 7100 5301 0000 |0036: invoke-static {}, Ldnsfilter/ConfigurationAccess;.getLocal:()Ldnsfilter/ConfigurationAccess; // method@0153 │ │ -023886: 0c05 |0039: move-result-object v5 │ │ -023888: 6e10 5001 0500 |003a: invoke-virtual {v5}, Ldnsfilter/ConfigurationAccess;.getDefaultConfig:()Ljava/util/Properties; // method@0150 │ │ -02388e: 0c05 |003d: move-result-object v5 │ │ -023890: 5441 fd02 |003e: iget-object v1, v4, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@02fd │ │ -023894: 6e10 8f05 0300 |0040: invoke-virtual {v3}, Ljava/lang/String;.getBytes:()[B // method@058f │ │ -02389a: 0c02 |0043: move-result-object v2 │ │ -02389c: 6e20 fa04 2100 |0044: invoke-virtual {v1, v2}, Ljava/io/DataOutputStream;.write:([B)V // method@04fa │ │ -0238a2: 2201 0401 |0047: new-instance v1, Ljava/io/ObjectOutputStream; // type@0104 │ │ -0238a6: 5442 fd02 |0049: iget-object v2, v4, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@02fd │ │ -0238aa: 7020 3005 2100 |004b: invoke-direct {v1, v2}, Ljava/io/ObjectOutputStream;.:(Ljava/io/OutputStream;)V // method@0530 │ │ -0238b0: 6e20 3305 5100 |004e: invoke-virtual {v1, v5}, Ljava/io/ObjectOutputStream;.writeObject:(Ljava/lang/Object;)V // method@0533 │ │ -0238b6: 6e10 3205 0100 |0051: invoke-virtual {v1}, Ljava/io/ObjectOutputStream;.flush:()V // method@0532 │ │ -0238bc: 2900 9c02 |0054: goto/16 02f0 // +029c │ │ -0238c0: 1a02 b409 |0056: const-string v2, "readConfig()" // string@09b4 │ │ -0238c4: 6e20 8d05 2500 |0058: invoke-virtual {v5, v2}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058d │ │ -0238ca: 0a02 |005b: move-result v2 │ │ -0238cc: 3802 2500 |005c: if-eqz v2, 0081 // +0025 │ │ -0238d0: 7100 5301 0000 |005e: invoke-static {}, Ldnsfilter/ConfigurationAccess;.getLocal:()Ldnsfilter/ConfigurationAccess; // method@0153 │ │ -0238d6: 0c05 |0061: move-result-object v5 │ │ -0238d8: 6e10 5901 0500 |0062: invoke-virtual {v5}, Ldnsfilter/ConfigurationAccess;.readConfig:()[B // method@0159 │ │ -0238de: 0c05 |0065: move-result-object v5 │ │ -0238e0: 5441 fd02 |0066: iget-object v1, v4, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@02fd │ │ -0238e4: 6e10 8f05 0300 |0068: invoke-virtual {v3}, Ljava/lang/String;.getBytes:()[B // method@058f │ │ -0238ea: 0c02 |006b: move-result-object v2 │ │ -0238ec: 6e20 fa04 2100 |006c: invoke-virtual {v1, v2}, Ljava/io/DataOutputStream;.write:([B)V // method@04fa │ │ -0238f2: 5441 fd02 |006f: iget-object v1, v4, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@02fd │ │ -0238f6: 2152 |0071: array-length v2, v5 │ │ -0238f8: 6e20 fd04 2100 |0072: invoke-virtual {v1, v2}, Ljava/io/DataOutputStream;.writeInt:(I)V // method@04fd │ │ -0238fe: 5441 fd02 |0075: iget-object v1, v4, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@02fd │ │ -023902: 6e20 fa04 5100 |0077: invoke-virtual {v1, v5}, Ljava/io/DataOutputStream;.write:([B)V // method@04fa │ │ -023908: 5445 fd02 |007a: iget-object v5, v4, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@02fd │ │ -02390c: 6e10 f904 0500 |007c: invoke-virtual {v5}, Ljava/io/DataOutputStream;.flush:()V // method@04f9 │ │ -023912: 2900 7102 |007f: goto/16 02f0 // +0271 │ │ -023916: 1a02 530b |0081: const-string v2, "updateConfig()" // string@0b53 │ │ -02391a: 6e20 8d05 2500 |0083: invoke-virtual {v5, v2}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058d │ │ -023920: 0a02 |0086: move-result v2 │ │ -023922: 3802 2600 |0087: if-eqz v2, 00ad // +0026 │ │ -023926: 5445 fa02 |0089: iget-object v5, v4, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.in:Ljava/io/DataInputStream; // field@02fa │ │ -02392a: 6e10 f404 0500 |008b: invoke-virtual {v5}, Ljava/io/DataInputStream;.readInt:()I // method@04f4 │ │ -023930: 0a05 |008e: move-result v5 │ │ -023932: 2355 9d01 |008f: new-array v5, v5, [B // type@019d │ │ -023936: 5441 fa02 |0091: iget-object v1, v4, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.in:Ljava/io/DataInputStream; // field@02fa │ │ -02393a: 6e20 f204 5100 |0093: invoke-virtual {v1, v5}, Ljava/io/DataInputStream;.readFully:([B)V // method@04f2 │ │ -023940: 7100 5301 0000 |0096: invoke-static {}, Ldnsfilter/ConfigurationAccess;.getLocal:()Ldnsfilter/ConfigurationAccess; // method@0153 │ │ -023946: 0c01 |0099: move-result-object v1 │ │ -023948: 6e20 6101 5100 |009a: invoke-virtual {v1, v5}, Ldnsfilter/ConfigurationAccess;.updateConfig:([B)V // method@0161 │ │ -02394e: 5445 fd02 |009d: iget-object v5, v4, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@02fd │ │ -023952: 6e10 8f05 0300 |009f: invoke-virtual {v3}, Ljava/lang/String;.getBytes:()[B // method@058f │ │ -023958: 0c01 |00a2: move-result-object v1 │ │ -02395a: 6e20 fa04 1500 |00a3: invoke-virtual {v5, v1}, Ljava/io/DataOutputStream;.write:([B)V // method@04fa │ │ -023960: 5445 fd02 |00a6: iget-object v5, v4, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@02fd │ │ -023964: 6e10 f904 0500 |00a8: invoke-virtual {v5}, Ljava/io/DataOutputStream;.flush:()V // method@04f9 │ │ -02396a: 2900 4502 |00ab: goto/16 02f0 // +0245 │ │ -02396e: 1a02 570b |00ad: const-string v2, "updateConfigMergeDefaults()" // string@0b57 │ │ -023972: 6e20 8d05 2500 |00af: invoke-virtual {v5, v2}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058d │ │ -023978: 0a02 |00b2: move-result v2 │ │ -02397a: 3802 2600 |00b3: if-eqz v2, 00d9 // +0026 │ │ -02397e: 5445 fa02 |00b5: iget-object v5, v4, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.in:Ljava/io/DataInputStream; // field@02fa │ │ -023982: 6e10 f404 0500 |00b7: invoke-virtual {v5}, Ljava/io/DataInputStream;.readInt:()I // method@04f4 │ │ -023988: 0a05 |00ba: move-result v5 │ │ -02398a: 2355 9d01 |00bb: new-array v5, v5, [B // type@019d │ │ -02398e: 5441 fa02 |00bd: iget-object v1, v4, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.in:Ljava/io/DataInputStream; // field@02fa │ │ -023992: 6e20 f204 5100 |00bf: invoke-virtual {v1, v5}, Ljava/io/DataInputStream;.readFully:([B)V // method@04f2 │ │ -023998: 7100 5301 0000 |00c2: invoke-static {}, Ldnsfilter/ConfigurationAccess;.getLocal:()Ldnsfilter/ConfigurationAccess; // method@0153 │ │ -02399e: 0c01 |00c5: move-result-object v1 │ │ -0239a0: 6e20 6201 5100 |00c6: invoke-virtual {v1, v5}, Ldnsfilter/ConfigurationAccess;.updateConfigMergeDefaults:([B)V // method@0162 │ │ -0239a6: 5445 fd02 |00c9: iget-object v5, v4, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@02fd │ │ -0239aa: 6e10 8f05 0300 |00cb: invoke-virtual {v3}, Ljava/lang/String;.getBytes:()[B // method@058f │ │ -0239b0: 0c01 |00ce: move-result-object v1 │ │ -0239b2: 6e20 fa04 1500 |00cf: invoke-virtual {v5, v1}, Ljava/io/DataOutputStream;.write:([B)V // method@04fa │ │ -0239b8: 5445 fd02 |00d2: iget-object v5, v4, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@02fd │ │ -0239bc: 6e10 f904 0500 |00d4: invoke-virtual {v5}, Ljava/io/DataOutputStream;.flush:()V // method@04f9 │ │ -0239c2: 2900 1902 |00d7: goto/16 02f0 // +0219 │ │ -0239c6: 1a02 2a07 |00d9: const-string v2, "getAdditionalHosts()" // string@072a │ │ -0239ca: 6e20 8d05 2500 |00db: invoke-virtual {v5, v2}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058d │ │ -0239d0: 0a02 |00de: move-result v2 │ │ -0239d2: 3802 2b00 |00df: if-eqz v2, 010a // +002b │ │ -0239d6: 5445 fa02 |00e1: iget-object v5, v4, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.in:Ljava/io/DataInputStream; // field@02fa │ │ -0239da: 6e10 f404 0500 |00e3: invoke-virtual {v5}, Ljava/io/DataInputStream;.readInt:()I // method@04f4 │ │ -0239e0: 0a05 |00e6: move-result v5 │ │ -0239e2: 7100 5301 0000 |00e7: invoke-static {}, Ldnsfilter/ConfigurationAccess;.getLocal:()Ldnsfilter/ConfigurationAccess; // method@0153 │ │ -0239e8: 0c01 |00ea: move-result-object v1 │ │ -0239ea: 6e20 4c01 5100 |00eb: invoke-virtual {v1, v5}, Ldnsfilter/ConfigurationAccess;.getAdditionalHosts:(I)[B // method@014c │ │ -0239f0: 0c05 |00ee: move-result-object v5 │ │ -0239f2: 5441 fd02 |00ef: iget-object v1, v4, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@02fd │ │ -0239f6: 6e10 8f05 0300 |00f1: invoke-virtual {v3}, Ljava/lang/String;.getBytes:()[B // method@058f │ │ -0239fc: 0c02 |00f4: move-result-object v2 │ │ -0239fe: 6e20 fa04 2100 |00f5: invoke-virtual {v1, v2}, Ljava/io/DataOutputStream;.write:([B)V // method@04fa │ │ -023a04: 5441 fd02 |00f8: iget-object v1, v4, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@02fd │ │ -023a08: 2152 |00fa: array-length v2, v5 │ │ -023a0a: 6e20 fd04 2100 |00fb: invoke-virtual {v1, v2}, Ljava/io/DataOutputStream;.writeInt:(I)V // method@04fd │ │ -023a10: 5441 fd02 |00fe: iget-object v1, v4, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@02fd │ │ -023a14: 6e20 fa04 5100 |0100: invoke-virtual {v1, v5}, Ljava/io/DataOutputStream;.write:([B)V // method@04fa │ │ -023a1a: 5445 fd02 |0103: iget-object v5, v4, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@02fd │ │ -023a1e: 6e10 f904 0500 |0105: invoke-virtual {v5}, Ljava/io/DataOutputStream;.flush:()V // method@04f9 │ │ -023a24: 2900 e801 |0108: goto/16 02f0 // +01e8 │ │ -023a28: 1a02 500b |010a: const-string v2, "updateAdditionalHosts()" // string@0b50 │ │ -023a2c: 6e20 8d05 2500 |010c: invoke-virtual {v5, v2}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058d │ │ -023a32: 0a02 |010f: move-result v2 │ │ -023a34: 3802 2600 |0110: if-eqz v2, 0136 // +0026 │ │ -023a38: 5445 fa02 |0112: iget-object v5, v4, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.in:Ljava/io/DataInputStream; // field@02fa │ │ -023a3c: 6e10 f404 0500 |0114: invoke-virtual {v5}, Ljava/io/DataInputStream;.readInt:()I // method@04f4 │ │ -023a42: 0a05 |0117: move-result v5 │ │ -023a44: 2355 9d01 |0118: new-array v5, v5, [B // type@019d │ │ -023a48: 5441 fa02 |011a: iget-object v1, v4, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.in:Ljava/io/DataInputStream; // field@02fa │ │ -023a4c: 6e20 f204 5100 |011c: invoke-virtual {v1, v5}, Ljava/io/DataInputStream;.readFully:([B)V // method@04f2 │ │ -023a52: 7100 5301 0000 |011f: invoke-static {}, Ldnsfilter/ConfigurationAccess;.getLocal:()Ldnsfilter/ConfigurationAccess; // method@0153 │ │ -023a58: 0c01 |0122: move-result-object v1 │ │ -023a5a: 6e20 6001 5100 |0123: invoke-virtual {v1, v5}, Ldnsfilter/ConfigurationAccess;.updateAdditionalHosts:([B)V // method@0160 │ │ -023a60: 5445 fd02 |0126: iget-object v5, v4, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@02fd │ │ -023a64: 6e10 8f05 0300 |0128: invoke-virtual {v3}, Ljava/lang/String;.getBytes:()[B // method@058f │ │ -023a6a: 0c01 |012b: move-result-object v1 │ │ -023a6c: 6e20 fa04 1500 |012c: invoke-virtual {v5, v1}, Ljava/io/DataOutputStream;.write:([B)V // method@04fa │ │ -023a72: 5445 fd02 |012f: iget-object v5, v4, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@02fd │ │ -023a76: 6e10 f904 0500 |0131: invoke-virtual {v5}, Ljava/io/DataOutputStream;.flush:()V // method@04f9 │ │ -023a7c: 2900 bc01 |0134: goto/16 02f0 // +01bc │ │ -023a80: 1a02 5b0b |0136: const-string v2, "updateFilter()" // string@0b5b │ │ -023a84: 6e20 8d05 2500 |0138: invoke-virtual {v5, v2}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058d │ │ -023a8a: 0a02 |013b: move-result v2 │ │ -023a8c: 3802 2f00 |013c: if-eqz v2, 016b // +002f │ │ -023a90: 5445 fa02 |013e: iget-object v5, v4, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.in:Ljava/io/DataInputStream; // field@02fa │ │ -023a94: 7110 9f07 0500 |0140: invoke-static {v5}, Lutil/Utils;.readLineFromStream:(Ljava/io/InputStream;)Ljava/lang/String; // method@079f │ │ -023a9a: 0c05 |0143: move-result-object v5 │ │ -023a9c: 1a01 8c00 |0144: const-string v1, ";" // string@008c │ │ -023aa0: 6e30 9705 1500 |0146: invoke-virtual {v5, v1, v0}, Ljava/lang/String;.replace:(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String; // method@0597 │ │ -023aa6: 0c05 |0149: move-result-object v5 │ │ -023aa8: 5441 fa02 |014a: iget-object v1, v4, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.in:Ljava/io/DataInputStream; // field@02fa │ │ -023aac: 7110 9f07 0100 |014c: invoke-static {v1}, Lutil/Utils;.readLineFromStream:(Ljava/io/InputStream;)Ljava/lang/String; // method@079f │ │ -023ab2: 0c01 |014f: move-result-object v1 │ │ -023ab4: 7110 4d05 0100 |0150: invoke-static {v1}, Ljava/lang/Boolean;.parseBoolean:(Ljava/lang/String;)Z // method@054d │ │ -023aba: 0a01 |0153: move-result v1 │ │ -023abc: 7100 5301 0000 |0154: invoke-static {}, Ldnsfilter/ConfigurationAccess;.getLocal:()Ldnsfilter/ConfigurationAccess; // method@0153 │ │ -023ac2: 0c02 |0157: move-result-object v2 │ │ -023ac4: 6e30 6301 5201 |0158: invoke-virtual {v2, v5, v1}, Ldnsfilter/ConfigurationAccess;.updateFilter:(Ljava/lang/String;Z)V // method@0163 │ │ -023aca: 5445 fd02 |015b: iget-object v5, v4, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@02fd │ │ -023ace: 6e10 8f05 0300 |015d: invoke-virtual {v3}, Ljava/lang/String;.getBytes:()[B // method@058f │ │ -023ad4: 0c01 |0160: move-result-object v1 │ │ -023ad6: 6e20 fa04 1500 |0161: invoke-virtual {v5, v1}, Ljava/io/DataOutputStream;.write:([B)V // method@04fa │ │ -023adc: 5445 fd02 |0164: iget-object v5, v4, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@02fd │ │ -023ae0: 6e10 f904 0500 |0166: invoke-virtual {v5}, Ljava/io/DataOutputStream;.flush:()V // method@04f9 │ │ -023ae6: 2900 8701 |0169: goto/16 02f0 // +0187 │ │ -023aea: 1a02 150a |016b: const-string v2, "restart()" // string@0a15 │ │ -023aee: 6e20 8d05 2500 |016d: invoke-virtual {v5, v2}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058d │ │ -023af4: 0a02 |0170: move-result v2 │ │ -023af6: 3802 1900 |0171: if-eqz v2, 018a // +0019 │ │ -023afa: 7100 5301 0000 |0173: invoke-static {}, Ldnsfilter/ConfigurationAccess;.getLocal:()Ldnsfilter/ConfigurationAccess; // method@0153 │ │ -023b00: 0c05 |0176: move-result-object v5 │ │ -023b02: 6e10 5c01 0500 |0177: invoke-virtual {v5}, Ldnsfilter/ConfigurationAccess;.restart:()V // method@015c │ │ -023b08: 5445 fd02 |017a: iget-object v5, v4, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@02fd │ │ -023b0c: 6e10 8f05 0300 |017c: invoke-virtual {v3}, Ljava/lang/String;.getBytes:()[B // method@058f │ │ -023b12: 0c01 |017f: move-result-object v1 │ │ -023b14: 6e20 fa04 1500 |0180: invoke-virtual {v5, v1}, Ljava/io/DataOutputStream;.write:([B)V // method@04fa │ │ -023b1a: 5445 fd02 |0183: iget-object v5, v4, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@02fd │ │ -023b1e: 6e10 f904 0500 |0185: invoke-virtual {v5}, Ljava/io/DataOutputStream;.flush:()V // method@04f9 │ │ -023b24: 2900 6801 |0188: goto/16 02f0 // +0168 │ │ -023b28: 1a02 f50a |018a: const-string v2, "stop()" // string@0af5 │ │ -023b2c: 6e20 8d05 2500 |018c: invoke-virtual {v5, v2}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058d │ │ -023b32: 0a02 |018f: move-result v2 │ │ -023b34: 3802 1900 |0190: if-eqz v2, 01a9 // +0019 │ │ -023b38: 7100 5301 0000 |0192: invoke-static {}, Ldnsfilter/ConfigurationAccess;.getLocal:()Ldnsfilter/ConfigurationAccess; // method@0153 │ │ -023b3e: 0c05 |0195: move-result-object v5 │ │ -023b40: 6e10 5d01 0500 |0196: invoke-virtual {v5}, Ldnsfilter/ConfigurationAccess;.stop:()V // method@015d │ │ -023b46: 5445 fd02 |0199: iget-object v5, v4, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@02fd │ │ -023b4a: 6e10 8f05 0300 |019b: invoke-virtual {v3}, Ljava/lang/String;.getBytes:()[B // method@058f │ │ -023b50: 0c01 |019e: move-result-object v1 │ │ -023b52: 6e20 fa04 1500 |019f: invoke-virtual {v5, v1}, Ljava/io/DataOutputStream;.write:([B)V // method@04fa │ │ -023b58: 5445 fd02 |01a2: iget-object v5, v4, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@02fd │ │ -023b5c: 6e10 f904 0500 |01a4: invoke-virtual {v5}, Ljava/io/DataOutputStream;.flush:()V // method@04f9 │ │ -023b62: 2900 4901 |01a7: goto/16 02f0 // +0149 │ │ -023b66: 1a02 8107 |01a9: const-string v2, "getFilterStatistics()" // string@0781 │ │ -023b6a: 6e20 8d05 2500 |01ab: invoke-virtual {v5, v2}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058d │ │ -023b70: 0a02 |01ae: move-result v2 │ │ -023b72: 3802 2a00 |01af: if-eqz v2, 01d9 // +002a │ │ -023b76: 7100 5301 0000 |01b1: invoke-static {}, Ldnsfilter/ConfigurationAccess;.getLocal:()Ldnsfilter/ConfigurationAccess; // method@0153 │ │ -023b7c: 0c05 |01b4: move-result-object v5 │ │ -023b7e: 6e10 5101 0500 |01b5: invoke-virtual {v5}, Ldnsfilter/ConfigurationAccess;.getFilterStatistics:()[J // method@0151 │ │ -023b84: 0c05 |01b8: move-result-object v5 │ │ -023b86: 5441 fd02 |01b9: iget-object v1, v4, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@02fd │ │ -023b8a: 6e10 8f05 0300 |01bb: invoke-virtual {v3}, Ljava/lang/String;.getBytes:()[B // method@058f │ │ -023b90: 0c02 |01be: move-result-object v2 │ │ -023b92: 6e20 fa04 2100 |01bf: invoke-virtual {v1, v2}, Ljava/io/DataOutputStream;.write:([B)V // method@04fa │ │ -023b98: 5441 fd02 |01c2: iget-object v1, v4, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@02fd │ │ -023b9c: 1202 |01c4: const/4 v2, #int 0 // #0 │ │ -023b9e: 4502 0502 |01c5: aget-wide v2, v5, v2 │ │ -023ba2: 6e30 fe04 2103 |01c7: invoke-virtual {v1, v2, v3}, Ljava/io/DataOutputStream;.writeLong:(J)V // method@04fe │ │ -023ba8: 5441 fd02 |01ca: iget-object v1, v4, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@02fd │ │ -023bac: 1212 |01cc: const/4 v2, #int 1 // #1 │ │ -023bae: 4502 0502 |01cd: aget-wide v2, v5, v2 │ │ -023bb2: 6e30 fe04 2103 |01cf: invoke-virtual {v1, v2, v3}, Ljava/io/DataOutputStream;.writeLong:(J)V // method@04fe │ │ -023bb8: 5445 fd02 |01d2: iget-object v5, v4, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@02fd │ │ -023bbc: 6e10 f904 0500 |01d4: invoke-virtual {v5}, Ljava/io/DataOutputStream;.flush:()V // method@04f9 │ │ -023bc2: 2900 1901 |01d7: goto/16 02f0 // +0119 │ │ -023bc6: 1a02 400b |01d9: const-string v2, "triggerUpdateFilter()" // string@0b40 │ │ -023bca: 6e20 8d05 2500 |01db: invoke-virtual {v5, v2}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058d │ │ -023bd0: 0a02 |01de: move-result v2 │ │ -023bd2: 3802 1900 |01df: if-eqz v2, 01f8 // +0019 │ │ -023bd6: 7100 5301 0000 |01e1: invoke-static {}, Ldnsfilter/ConfigurationAccess;.getLocal:()Ldnsfilter/ConfigurationAccess; // method@0153 │ │ -023bdc: 0c05 |01e4: move-result-object v5 │ │ -023bde: 6e10 5f01 0500 |01e5: invoke-virtual {v5}, Ldnsfilter/ConfigurationAccess;.triggerUpdateFilter:()V // method@015f │ │ -023be4: 5445 fd02 |01e8: iget-object v5, v4, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@02fd │ │ -023be8: 6e10 8f05 0300 |01ea: invoke-virtual {v3}, Ljava/lang/String;.getBytes:()[B // method@058f │ │ -023bee: 0c01 |01ed: move-result-object v1 │ │ -023bf0: 6e20 fa04 1500 |01ee: invoke-virtual {v5, v1}, Ljava/io/DataOutputStream;.write:([B)V // method@04fa │ │ -023bf6: 5445 fd02 |01f1: iget-object v5, v4, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@02fd │ │ -023bfa: 6e10 f904 0500 |01f3: invoke-virtual {v5}, Ljava/io/DataOutputStream;.flush:()V // method@04f9 │ │ -023c00: 2900 fa00 |01f6: goto/16 02f0 // +00fa │ │ -023c04: 1a02 8406 |01f8: const-string v2, "doBackup()" // string@0684 │ │ -023c08: 6e20 8d05 2500 |01fa: invoke-virtual {v5, v2}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058d │ │ -023c0e: 0a02 |01fd: move-result v2 │ │ -023c10: 3802 2d00 |01fe: if-eqz v2, 022b // +002d │ │ -023c14: 2205 f700 |0200: new-instance v5, Ljava/io/ByteArrayOutputStream; // type@00f7 │ │ -023c18: 7010 e604 0500 |0202: invoke-direct {v5}, Ljava/io/ByteArrayOutputStream;.:()V // method@04e6 │ │ -023c1e: 7100 5301 0000 |0205: invoke-static {}, Ldnsfilter/ConfigurationAccess;.getLocal:()Ldnsfilter/ConfigurationAccess; // method@0153 │ │ -023c24: 0c01 |0208: move-result-object v1 │ │ -023c26: 6e20 4901 5100 |0209: invoke-virtual {v1, v5}, Ldnsfilter/ConfigurationAccess;.doBackup:(Ljava/io/OutputStream;)V // method@0149 │ │ -023c2c: 5441 fd02 |020c: iget-object v1, v4, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@02fd │ │ -023c30: 6e10 8f05 0300 |020e: invoke-virtual {v3}, Ljava/lang/String;.getBytes:()[B // method@058f │ │ -023c36: 0c02 |0211: move-result-object v2 │ │ -023c38: 6e20 fa04 2100 |0212: invoke-virtual {v1, v2}, Ljava/io/DataOutputStream;.write:([B)V // method@04fa │ │ -023c3e: 6e10 ec04 0500 |0215: invoke-virtual {v5}, Ljava/io/ByteArrayOutputStream;.toByteArray:()[B // method@04ec │ │ -023c44: 0c05 |0218: move-result-object v5 │ │ -023c46: 5441 fd02 |0219: iget-object v1, v4, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@02fd │ │ -023c4a: 2152 |021b: array-length v2, v5 │ │ -023c4c: 6e20 fd04 2100 |021c: invoke-virtual {v1, v2}, Ljava/io/DataOutputStream;.writeInt:(I)V // method@04fd │ │ -023c52: 5441 fd02 |021f: iget-object v1, v4, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@02fd │ │ -023c56: 6e20 fa04 5100 |0221: invoke-virtual {v1, v5}, Ljava/io/DataOutputStream;.write:([B)V // method@04fa │ │ -023c5c: 5445 fd02 |0224: iget-object v5, v4, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@02fd │ │ -023c60: 6e10 f904 0500 |0226: invoke-virtual {v5}, Ljava/io/DataOutputStream;.flush:()V // method@04f9 │ │ -023c66: 2900 c700 |0229: goto/16 02f0 // +00c7 │ │ -023c6a: 1a02 8b06 |022b: const-string v2, "doRestore()" // string@068b │ │ -023c6e: 6e20 8d05 2500 |022d: invoke-virtual {v5, v2}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058d │ │ -023c74: 0a02 |0230: move-result v2 │ │ -023c76: 3802 2b00 |0231: if-eqz v2, 025c // +002b │ │ -023c7a: 5445 fa02 |0233: iget-object v5, v4, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.in:Ljava/io/DataInputStream; // field@02fa │ │ -023c7e: 6e10 f404 0500 |0235: invoke-virtual {v5}, Ljava/io/DataInputStream;.readInt:()I // method@04f4 │ │ -023c84: 0a05 |0238: move-result v5 │ │ -023c86: 2355 9d01 |0239: new-array v5, v5, [B // type@019d │ │ -023c8a: 5441 fa02 |023b: iget-object v1, v4, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.in:Ljava/io/DataInputStream; // field@02fa │ │ -023c8e: 6e20 f204 5100 |023d: invoke-virtual {v1, v5}, Ljava/io/DataInputStream;.readFully:([B)V // method@04f2 │ │ -023c94: 7100 5301 0000 |0240: invoke-static {}, Ldnsfilter/ConfigurationAccess;.getLocal:()Ldnsfilter/ConfigurationAccess; // method@0153 │ │ -023c9a: 0c01 |0243: move-result-object v1 │ │ -023c9c: 2202 f600 |0244: new-instance v2, Ljava/io/ByteArrayInputStream; // type@00f6 │ │ -023ca0: 7020 e104 5200 |0246: invoke-direct {v2, v5}, Ljava/io/ByteArrayInputStream;.:([B)V // method@04e1 │ │ -023ca6: 6e20 4a01 2100 |0249: invoke-virtual {v1, v2}, Ldnsfilter/ConfigurationAccess;.doRestore:(Ljava/io/InputStream;)V // method@014a │ │ -023cac: 5445 fd02 |024c: iget-object v5, v4, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@02fd │ │ -023cb0: 6e10 8f05 0300 |024e: invoke-virtual {v3}, Ljava/lang/String;.getBytes:()[B // method@058f │ │ -023cb6: 0c01 |0251: move-result-object v1 │ │ -023cb8: 6e20 fa04 1500 |0252: invoke-virtual {v5, v1}, Ljava/io/DataOutputStream;.write:([B)V // method@04fa │ │ -023cbe: 5445 fd02 |0255: iget-object v5, v4, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@02fd │ │ -023cc2: 6e10 f904 0500 |0257: invoke-virtual {v5}, Ljava/io/DataOutputStream;.flush:()V // method@04f9 │ │ -023cc8: 2900 9600 |025a: goto/16 02f0 // +0096 │ │ -023ccc: 1a02 8e06 |025c: const-string v2, "doRestoreDefaults()" // string@068e │ │ -023cd0: 6e20 8d05 2500 |025e: invoke-virtual {v5, v2}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058d │ │ -023cd6: 0a02 |0261: move-result v2 │ │ -023cd8: 3802 1800 |0262: if-eqz v2, 027a // +0018 │ │ -023cdc: 7100 5301 0000 |0264: invoke-static {}, Ldnsfilter/ConfigurationAccess;.getLocal:()Ldnsfilter/ConfigurationAccess; // method@0153 │ │ -023ce2: 0c05 |0267: move-result-object v5 │ │ -023ce4: 6e10 4b01 0500 |0268: invoke-virtual {v5}, Ldnsfilter/ConfigurationAccess;.doRestoreDefaults:()V // method@014b │ │ -023cea: 5445 fd02 |026b: iget-object v5, v4, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@02fd │ │ -023cee: 6e10 8f05 0300 |026d: invoke-virtual {v3}, Ljava/lang/String;.getBytes:()[B // method@058f │ │ -023cf4: 0c01 |0270: move-result-object v1 │ │ -023cf6: 6e20 fa04 1500 |0271: invoke-virtual {v5, v1}, Ljava/io/DataOutputStream;.write:([B)V // method@04fa │ │ -023cfc: 5445 fd02 |0274: iget-object v5, v4, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@02fd │ │ -023d00: 6e10 f904 0500 |0276: invoke-virtual {v5}, Ljava/io/DataOutputStream;.flush:()V // method@04f9 │ │ -023d06: 2877 |0279: goto 02f0 // +0077 │ │ -023d08: 1a02 990b |027a: const-string v2, "wakeLock()" // string@0b99 │ │ -023d0c: 6e20 8d05 2500 |027c: invoke-virtual {v5, v2}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058d │ │ -023d12: 0a02 |027f: move-result v2 │ │ -023d14: 3802 1800 |0280: if-eqz v2, 0298 // +0018 │ │ -023d18: 7100 5301 0000 |0282: invoke-static {}, Ldnsfilter/ConfigurationAccess;.getLocal:()Ldnsfilter/ConfigurationAccess; // method@0153 │ │ -023d1e: 0c05 |0285: move-result-object v5 │ │ -023d20: 6e10 6401 0500 |0286: invoke-virtual {v5}, Ldnsfilter/ConfigurationAccess;.wakeLock:()V // method@0164 │ │ -023d26: 5445 fd02 |0289: iget-object v5, v4, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@02fd │ │ -023d2a: 6e10 8f05 0300 |028b: invoke-virtual {v3}, Ljava/lang/String;.getBytes:()[B // method@058f │ │ -023d30: 0c01 |028e: move-result-object v1 │ │ -023d32: 6e20 fa04 1500 |028f: invoke-virtual {v5, v1}, Ljava/io/DataOutputStream;.write:([B)V // method@04fa │ │ -023d38: 5445 fd02 |0292: iget-object v5, v4, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@02fd │ │ -023d3c: 6e10 f904 0500 |0294: invoke-virtual {v5}, Ljava/io/DataOutputStream;.flush:()V // method@04f9 │ │ -023d42: 2859 |0297: goto 02f0 // +0059 │ │ -023d44: 1a02 d709 |0298: const-string v2, "releaseWakeLock()" // string@09d7 │ │ -023d48: 6e20 8d05 2500 |029a: invoke-virtual {v5, v2}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058d │ │ -023d4e: 0a02 |029d: move-result v2 │ │ -023d50: 3802 1800 |029e: if-eqz v2, 02b6 // +0018 │ │ -023d54: 7100 5301 0000 |02a0: invoke-static {}, Ldnsfilter/ConfigurationAccess;.getLocal:()Ldnsfilter/ConfigurationAccess; // method@0153 │ │ -023d5a: 0c05 |02a3: move-result-object v5 │ │ -023d5c: 6e10 5b01 0500 |02a4: invoke-virtual {v5}, Ldnsfilter/ConfigurationAccess;.releaseWakeLock:()V // method@015b │ │ -023d62: 5445 fd02 |02a7: iget-object v5, v4, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@02fd │ │ -023d66: 6e10 8f05 0300 |02a9: invoke-virtual {v3}, Ljava/lang/String;.getBytes:()[B // method@058f │ │ -023d6c: 0c01 |02ac: move-result-object v1 │ │ -023d6e: 6e20 fa04 1500 |02ad: invoke-virtual {v5, v1}, Ljava/io/DataOutputStream;.write:([B)V // method@04fa │ │ -023d74: 5445 fd02 |02b0: iget-object v5, v4, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@02fd │ │ -023d78: 6e10 f904 0500 |02b2: invoke-virtual {v5}, Ljava/io/DataOutputStream;.flush:()V // method@04f9 │ │ -023d7e: 283b |02b5: goto 02f0 // +003b │ │ -023d80: 2202 8200 |02b6: new-instance v2, Ldnsfilter/ConfigurationAccess$ConfigurationAccessException; // type@0082 │ │ -023d84: 2203 2d01 |02b8: new-instance v3, Ljava/lang/StringBuilder; // type@012d │ │ -023d88: 7020 aa05 1300 |02ba: invoke-direct {v3, v1}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05aa │ │ -023d8e: 6e20 af05 5300 |02bd: invoke-virtual {v3, v5}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -023d94: 6e10 b105 0300 |02c0: invoke-virtual {v3}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ -023d9a: 0c05 |02c3: move-result-object v5 │ │ -023d9c: 7020 4401 5200 |02c4: invoke-direct {v2, v5}, Ldnsfilter/ConfigurationAccess$ConfigurationAccessException;.:(Ljava/lang/String;)V // method@0144 │ │ -023da2: 2702 |02c7: throw v2 │ │ -023da4: 0d05 |02c8: move-exception v5 │ │ -023da6: 5441 fd02 |02c9: iget-object v1, v4, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@02fd │ │ -023daa: 2202 2d01 |02cb: new-instance v2, Ljava/lang/StringBuilder; // type@012d │ │ -023dae: 7010 a905 0200 |02cd: invoke-direct {v2}, Ljava/lang/StringBuilder;.:()V // method@05a9 │ │ -023db4: 6e10 4601 0500 |02d0: invoke-virtual {v5}, Ldnsfilter/ConfigurationAccess$ConfigurationAccessException;.getMessage:()Ljava/lang/String; // method@0146 │ │ -023dba: 0c05 |02d3: move-result-object v5 │ │ -023dbc: 1a03 0100 |02d4: const-string v3, " " // string@0001 │ │ -023dc0: 6e30 9705 0503 |02d6: invoke-virtual {v5, v0, v3}, Ljava/lang/String;.replace:(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String; // method@0597 │ │ -023dc6: 0c05 |02d9: move-result-object v5 │ │ -023dc8: 6e20 af05 5200 |02da: invoke-virtual {v2, v5}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -023dce: 6e20 af05 0200 |02dd: invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -023dd4: 6e10 b105 0200 |02e0: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ -023dda: 0c05 |02e3: move-result-object v5 │ │ -023ddc: 6e10 8f05 0500 |02e4: invoke-virtual {v5}, Ljava/lang/String;.getBytes:()[B // method@058f │ │ -023de2: 0c05 |02e7: move-result-object v5 │ │ -023de4: 6e20 fa04 5100 |02e8: invoke-virtual {v1, v5}, Ljava/io/DataOutputStream;.write:([B)V // method@04fa │ │ -023dea: 5445 fd02 |02eb: iget-object v5, v4, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@02fd │ │ -023dee: 6e10 f904 0500 |02ed: invoke-virtual {v5}, Ljava/io/DataOutputStream;.flush:()V // method@04f9 │ │ -023df4: 0e00 |02f0: return-void │ │ +023828: 3802 2200 |000c: if-eqz v2, 002e // +0022 │ │ +02382c: 7100 5301 0000 |000e: invoke-static {}, Ldnsfilter/ConfigurationAccess;.getLocal:()Ldnsfilter/ConfigurationAccess; // method@0153 │ │ +023832: 0c05 |0011: move-result-object v5 │ │ +023834: 6e10 4d01 0500 |0012: invoke-virtual {v5}, Ldnsfilter/ConfigurationAccess;.getConfig:()Ljava/util/Properties; // method@014d │ │ +02383a: 0c05 |0015: move-result-object v5 │ │ +02383c: 5441 fd02 |0016: iget-object v1, v4, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@02fd │ │ +023840: 6e10 8f05 0300 |0018: invoke-virtual {v3}, Ljava/lang/String;.getBytes:()[B // method@058f │ │ +023846: 0c02 |001b: move-result-object v2 │ │ +023848: 6e20 fa04 2100 |001c: invoke-virtual {v1, v2}, Ljava/io/DataOutputStream;.write:([B)V // method@04fa │ │ +02384e: 2201 0401 |001f: new-instance v1, Ljava/io/ObjectOutputStream; // type@0104 │ │ +023852: 5442 fd02 |0021: iget-object v2, v4, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@02fd │ │ +023856: 7020 3005 2100 |0023: invoke-direct {v1, v2}, Ljava/io/ObjectOutputStream;.:(Ljava/io/OutputStream;)V // method@0530 │ │ +02385c: 6e20 3305 5100 |0026: invoke-virtual {v1, v5}, Ljava/io/ObjectOutputStream;.writeObject:(Ljava/lang/Object;)V // method@0533 │ │ +023862: 6e10 3205 0100 |0029: invoke-virtual {v1}, Ljava/io/ObjectOutputStream;.flush:()V // method@0532 │ │ +023868: 2900 c402 |002c: goto/16 02f0 // +02c4 │ │ +02386c: 1a02 6407 |002e: const-string v2, "getDefaultConfig()" // string@0764 │ │ +023870: 6e20 8d05 2500 |0030: invoke-virtual {v5, v2}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058d │ │ +023876: 0a02 |0033: move-result v2 │ │ +023878: 3802 2200 |0034: if-eqz v2, 0056 // +0022 │ │ +02387c: 7100 5301 0000 |0036: invoke-static {}, Ldnsfilter/ConfigurationAccess;.getLocal:()Ldnsfilter/ConfigurationAccess; // method@0153 │ │ +023882: 0c05 |0039: move-result-object v5 │ │ +023884: 6e10 5001 0500 |003a: invoke-virtual {v5}, Ldnsfilter/ConfigurationAccess;.getDefaultConfig:()Ljava/util/Properties; // method@0150 │ │ +02388a: 0c05 |003d: move-result-object v5 │ │ +02388c: 5441 fd02 |003e: iget-object v1, v4, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@02fd │ │ +023890: 6e10 8f05 0300 |0040: invoke-virtual {v3}, Ljava/lang/String;.getBytes:()[B // method@058f │ │ +023896: 0c02 |0043: move-result-object v2 │ │ +023898: 6e20 fa04 2100 |0044: invoke-virtual {v1, v2}, Ljava/io/DataOutputStream;.write:([B)V // method@04fa │ │ +02389e: 2201 0401 |0047: new-instance v1, Ljava/io/ObjectOutputStream; // type@0104 │ │ +0238a2: 5442 fd02 |0049: iget-object v2, v4, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@02fd │ │ +0238a6: 7020 3005 2100 |004b: invoke-direct {v1, v2}, Ljava/io/ObjectOutputStream;.:(Ljava/io/OutputStream;)V // method@0530 │ │ +0238ac: 6e20 3305 5100 |004e: invoke-virtual {v1, v5}, Ljava/io/ObjectOutputStream;.writeObject:(Ljava/lang/Object;)V // method@0533 │ │ +0238b2: 6e10 3205 0100 |0051: invoke-virtual {v1}, Ljava/io/ObjectOutputStream;.flush:()V // method@0532 │ │ +0238b8: 2900 9c02 |0054: goto/16 02f0 // +029c │ │ +0238bc: 1a02 b409 |0056: const-string v2, "readConfig()" // string@09b4 │ │ +0238c0: 6e20 8d05 2500 |0058: invoke-virtual {v5, v2}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058d │ │ +0238c6: 0a02 |005b: move-result v2 │ │ +0238c8: 3802 2500 |005c: if-eqz v2, 0081 // +0025 │ │ +0238cc: 7100 5301 0000 |005e: invoke-static {}, Ldnsfilter/ConfigurationAccess;.getLocal:()Ldnsfilter/ConfigurationAccess; // method@0153 │ │ +0238d2: 0c05 |0061: move-result-object v5 │ │ +0238d4: 6e10 5901 0500 |0062: invoke-virtual {v5}, Ldnsfilter/ConfigurationAccess;.readConfig:()[B // method@0159 │ │ +0238da: 0c05 |0065: move-result-object v5 │ │ +0238dc: 5441 fd02 |0066: iget-object v1, v4, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@02fd │ │ +0238e0: 6e10 8f05 0300 |0068: invoke-virtual {v3}, Ljava/lang/String;.getBytes:()[B // method@058f │ │ +0238e6: 0c02 |006b: move-result-object v2 │ │ +0238e8: 6e20 fa04 2100 |006c: invoke-virtual {v1, v2}, Ljava/io/DataOutputStream;.write:([B)V // method@04fa │ │ +0238ee: 5441 fd02 |006f: iget-object v1, v4, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@02fd │ │ +0238f2: 2152 |0071: array-length v2, v5 │ │ +0238f4: 6e20 fd04 2100 |0072: invoke-virtual {v1, v2}, Ljava/io/DataOutputStream;.writeInt:(I)V // method@04fd │ │ +0238fa: 5441 fd02 |0075: iget-object v1, v4, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@02fd │ │ +0238fe: 6e20 fa04 5100 |0077: invoke-virtual {v1, v5}, Ljava/io/DataOutputStream;.write:([B)V // method@04fa │ │ +023904: 5445 fd02 |007a: iget-object v5, v4, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@02fd │ │ +023908: 6e10 f904 0500 |007c: invoke-virtual {v5}, Ljava/io/DataOutputStream;.flush:()V // method@04f9 │ │ +02390e: 2900 7102 |007f: goto/16 02f0 // +0271 │ │ +023912: 1a02 530b |0081: const-string v2, "updateConfig()" // string@0b53 │ │ +023916: 6e20 8d05 2500 |0083: invoke-virtual {v5, v2}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058d │ │ +02391c: 0a02 |0086: move-result v2 │ │ +02391e: 3802 2600 |0087: if-eqz v2, 00ad // +0026 │ │ +023922: 5445 fa02 |0089: iget-object v5, v4, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.in:Ljava/io/DataInputStream; // field@02fa │ │ +023926: 6e10 f404 0500 |008b: invoke-virtual {v5}, Ljava/io/DataInputStream;.readInt:()I // method@04f4 │ │ +02392c: 0a05 |008e: move-result v5 │ │ +02392e: 2355 9d01 |008f: new-array v5, v5, [B // type@019d │ │ +023932: 5441 fa02 |0091: iget-object v1, v4, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.in:Ljava/io/DataInputStream; // field@02fa │ │ +023936: 6e20 f204 5100 |0093: invoke-virtual {v1, v5}, Ljava/io/DataInputStream;.readFully:([B)V // method@04f2 │ │ +02393c: 7100 5301 0000 |0096: invoke-static {}, Ldnsfilter/ConfigurationAccess;.getLocal:()Ldnsfilter/ConfigurationAccess; // method@0153 │ │ +023942: 0c01 |0099: move-result-object v1 │ │ +023944: 6e20 6101 5100 |009a: invoke-virtual {v1, v5}, Ldnsfilter/ConfigurationAccess;.updateConfig:([B)V // method@0161 │ │ +02394a: 5445 fd02 |009d: iget-object v5, v4, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@02fd │ │ +02394e: 6e10 8f05 0300 |009f: invoke-virtual {v3}, Ljava/lang/String;.getBytes:()[B // method@058f │ │ +023954: 0c01 |00a2: move-result-object v1 │ │ +023956: 6e20 fa04 1500 |00a3: invoke-virtual {v5, v1}, Ljava/io/DataOutputStream;.write:([B)V // method@04fa │ │ +02395c: 5445 fd02 |00a6: iget-object v5, v4, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@02fd │ │ +023960: 6e10 f904 0500 |00a8: invoke-virtual {v5}, Ljava/io/DataOutputStream;.flush:()V // method@04f9 │ │ +023966: 2900 4502 |00ab: goto/16 02f0 // +0245 │ │ +02396a: 1a02 570b |00ad: const-string v2, "updateConfigMergeDefaults()" // string@0b57 │ │ +02396e: 6e20 8d05 2500 |00af: invoke-virtual {v5, v2}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058d │ │ +023974: 0a02 |00b2: move-result v2 │ │ +023976: 3802 2600 |00b3: if-eqz v2, 00d9 // +0026 │ │ +02397a: 5445 fa02 |00b5: iget-object v5, v4, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.in:Ljava/io/DataInputStream; // field@02fa │ │ +02397e: 6e10 f404 0500 |00b7: invoke-virtual {v5}, Ljava/io/DataInputStream;.readInt:()I // method@04f4 │ │ +023984: 0a05 |00ba: move-result v5 │ │ +023986: 2355 9d01 |00bb: new-array v5, v5, [B // type@019d │ │ +02398a: 5441 fa02 |00bd: iget-object v1, v4, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.in:Ljava/io/DataInputStream; // field@02fa │ │ +02398e: 6e20 f204 5100 |00bf: invoke-virtual {v1, v5}, Ljava/io/DataInputStream;.readFully:([B)V // method@04f2 │ │ +023994: 7100 5301 0000 |00c2: invoke-static {}, Ldnsfilter/ConfigurationAccess;.getLocal:()Ldnsfilter/ConfigurationAccess; // method@0153 │ │ +02399a: 0c01 |00c5: move-result-object v1 │ │ +02399c: 6e20 6201 5100 |00c6: invoke-virtual {v1, v5}, Ldnsfilter/ConfigurationAccess;.updateConfigMergeDefaults:([B)V // method@0162 │ │ +0239a2: 5445 fd02 |00c9: iget-object v5, v4, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@02fd │ │ +0239a6: 6e10 8f05 0300 |00cb: invoke-virtual {v3}, Ljava/lang/String;.getBytes:()[B // method@058f │ │ +0239ac: 0c01 |00ce: move-result-object v1 │ │ +0239ae: 6e20 fa04 1500 |00cf: invoke-virtual {v5, v1}, Ljava/io/DataOutputStream;.write:([B)V // method@04fa │ │ +0239b4: 5445 fd02 |00d2: iget-object v5, v4, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@02fd │ │ +0239b8: 6e10 f904 0500 |00d4: invoke-virtual {v5}, Ljava/io/DataOutputStream;.flush:()V // method@04f9 │ │ +0239be: 2900 1902 |00d7: goto/16 02f0 // +0219 │ │ +0239c2: 1a02 2a07 |00d9: const-string v2, "getAdditionalHosts()" // string@072a │ │ +0239c6: 6e20 8d05 2500 |00db: invoke-virtual {v5, v2}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058d │ │ +0239cc: 0a02 |00de: move-result v2 │ │ +0239ce: 3802 2b00 |00df: if-eqz v2, 010a // +002b │ │ +0239d2: 5445 fa02 |00e1: iget-object v5, v4, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.in:Ljava/io/DataInputStream; // field@02fa │ │ +0239d6: 6e10 f404 0500 |00e3: invoke-virtual {v5}, Ljava/io/DataInputStream;.readInt:()I // method@04f4 │ │ +0239dc: 0a05 |00e6: move-result v5 │ │ +0239de: 7100 5301 0000 |00e7: invoke-static {}, Ldnsfilter/ConfigurationAccess;.getLocal:()Ldnsfilter/ConfigurationAccess; // method@0153 │ │ +0239e4: 0c01 |00ea: move-result-object v1 │ │ +0239e6: 6e20 4c01 5100 |00eb: invoke-virtual {v1, v5}, Ldnsfilter/ConfigurationAccess;.getAdditionalHosts:(I)[B // method@014c │ │ +0239ec: 0c05 |00ee: move-result-object v5 │ │ +0239ee: 5441 fd02 |00ef: iget-object v1, v4, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@02fd │ │ +0239f2: 6e10 8f05 0300 |00f1: invoke-virtual {v3}, Ljava/lang/String;.getBytes:()[B // method@058f │ │ +0239f8: 0c02 |00f4: move-result-object v2 │ │ +0239fa: 6e20 fa04 2100 |00f5: invoke-virtual {v1, v2}, Ljava/io/DataOutputStream;.write:([B)V // method@04fa │ │ +023a00: 5441 fd02 |00f8: iget-object v1, v4, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@02fd │ │ +023a04: 2152 |00fa: array-length v2, v5 │ │ +023a06: 6e20 fd04 2100 |00fb: invoke-virtual {v1, v2}, Ljava/io/DataOutputStream;.writeInt:(I)V // method@04fd │ │ +023a0c: 5441 fd02 |00fe: iget-object v1, v4, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@02fd │ │ +023a10: 6e20 fa04 5100 |0100: invoke-virtual {v1, v5}, Ljava/io/DataOutputStream;.write:([B)V // method@04fa │ │ +023a16: 5445 fd02 |0103: iget-object v5, v4, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@02fd │ │ +023a1a: 6e10 f904 0500 |0105: invoke-virtual {v5}, Ljava/io/DataOutputStream;.flush:()V // method@04f9 │ │ +023a20: 2900 e801 |0108: goto/16 02f0 // +01e8 │ │ +023a24: 1a02 500b |010a: const-string v2, "updateAdditionalHosts()" // string@0b50 │ │ +023a28: 6e20 8d05 2500 |010c: invoke-virtual {v5, v2}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058d │ │ +023a2e: 0a02 |010f: move-result v2 │ │ +023a30: 3802 2600 |0110: if-eqz v2, 0136 // +0026 │ │ +023a34: 5445 fa02 |0112: iget-object v5, v4, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.in:Ljava/io/DataInputStream; // field@02fa │ │ +023a38: 6e10 f404 0500 |0114: invoke-virtual {v5}, Ljava/io/DataInputStream;.readInt:()I // method@04f4 │ │ +023a3e: 0a05 |0117: move-result v5 │ │ +023a40: 2355 9d01 |0118: new-array v5, v5, [B // type@019d │ │ +023a44: 5441 fa02 |011a: iget-object v1, v4, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.in:Ljava/io/DataInputStream; // field@02fa │ │ +023a48: 6e20 f204 5100 |011c: invoke-virtual {v1, v5}, Ljava/io/DataInputStream;.readFully:([B)V // method@04f2 │ │ +023a4e: 7100 5301 0000 |011f: invoke-static {}, Ldnsfilter/ConfigurationAccess;.getLocal:()Ldnsfilter/ConfigurationAccess; // method@0153 │ │ +023a54: 0c01 |0122: move-result-object v1 │ │ +023a56: 6e20 6001 5100 |0123: invoke-virtual {v1, v5}, Ldnsfilter/ConfigurationAccess;.updateAdditionalHosts:([B)V // method@0160 │ │ +023a5c: 5445 fd02 |0126: iget-object v5, v4, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@02fd │ │ +023a60: 6e10 8f05 0300 |0128: invoke-virtual {v3}, Ljava/lang/String;.getBytes:()[B // method@058f │ │ +023a66: 0c01 |012b: move-result-object v1 │ │ +023a68: 6e20 fa04 1500 |012c: invoke-virtual {v5, v1}, Ljava/io/DataOutputStream;.write:([B)V // method@04fa │ │ +023a6e: 5445 fd02 |012f: iget-object v5, v4, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@02fd │ │ +023a72: 6e10 f904 0500 |0131: invoke-virtual {v5}, Ljava/io/DataOutputStream;.flush:()V // method@04f9 │ │ +023a78: 2900 bc01 |0134: goto/16 02f0 // +01bc │ │ +023a7c: 1a02 5b0b |0136: const-string v2, "updateFilter()" // string@0b5b │ │ +023a80: 6e20 8d05 2500 |0138: invoke-virtual {v5, v2}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058d │ │ +023a86: 0a02 |013b: move-result v2 │ │ +023a88: 3802 2f00 |013c: if-eqz v2, 016b // +002f │ │ +023a8c: 5445 fa02 |013e: iget-object v5, v4, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.in:Ljava/io/DataInputStream; // field@02fa │ │ +023a90: 7110 9f07 0500 |0140: invoke-static {v5}, Lutil/Utils;.readLineFromStream:(Ljava/io/InputStream;)Ljava/lang/String; // method@079f │ │ +023a96: 0c05 |0143: move-result-object v5 │ │ +023a98: 1a01 8c00 |0144: const-string v1, ";" // string@008c │ │ +023a9c: 6e30 9705 1500 |0146: invoke-virtual {v5, v1, v0}, Ljava/lang/String;.replace:(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String; // method@0597 │ │ +023aa2: 0c05 |0149: move-result-object v5 │ │ +023aa4: 5441 fa02 |014a: iget-object v1, v4, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.in:Ljava/io/DataInputStream; // field@02fa │ │ +023aa8: 7110 9f07 0100 |014c: invoke-static {v1}, Lutil/Utils;.readLineFromStream:(Ljava/io/InputStream;)Ljava/lang/String; // method@079f │ │ +023aae: 0c01 |014f: move-result-object v1 │ │ +023ab0: 7110 4d05 0100 |0150: invoke-static {v1}, Ljava/lang/Boolean;.parseBoolean:(Ljava/lang/String;)Z // method@054d │ │ +023ab6: 0a01 |0153: move-result v1 │ │ +023ab8: 7100 5301 0000 |0154: invoke-static {}, Ldnsfilter/ConfigurationAccess;.getLocal:()Ldnsfilter/ConfigurationAccess; // method@0153 │ │ +023abe: 0c02 |0157: move-result-object v2 │ │ +023ac0: 6e30 6301 5201 |0158: invoke-virtual {v2, v5, v1}, Ldnsfilter/ConfigurationAccess;.updateFilter:(Ljava/lang/String;Z)V // method@0163 │ │ +023ac6: 5445 fd02 |015b: iget-object v5, v4, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@02fd │ │ +023aca: 6e10 8f05 0300 |015d: invoke-virtual {v3}, Ljava/lang/String;.getBytes:()[B // method@058f │ │ +023ad0: 0c01 |0160: move-result-object v1 │ │ +023ad2: 6e20 fa04 1500 |0161: invoke-virtual {v5, v1}, Ljava/io/DataOutputStream;.write:([B)V // method@04fa │ │ +023ad8: 5445 fd02 |0164: iget-object v5, v4, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@02fd │ │ +023adc: 6e10 f904 0500 |0166: invoke-virtual {v5}, Ljava/io/DataOutputStream;.flush:()V // method@04f9 │ │ +023ae2: 2900 8701 |0169: goto/16 02f0 // +0187 │ │ +023ae6: 1a02 150a |016b: const-string v2, "restart()" // string@0a15 │ │ +023aea: 6e20 8d05 2500 |016d: invoke-virtual {v5, v2}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058d │ │ +023af0: 0a02 |0170: move-result v2 │ │ +023af2: 3802 1900 |0171: if-eqz v2, 018a // +0019 │ │ +023af6: 7100 5301 0000 |0173: invoke-static {}, Ldnsfilter/ConfigurationAccess;.getLocal:()Ldnsfilter/ConfigurationAccess; // method@0153 │ │ +023afc: 0c05 |0176: move-result-object v5 │ │ +023afe: 6e10 5c01 0500 |0177: invoke-virtual {v5}, Ldnsfilter/ConfigurationAccess;.restart:()V // method@015c │ │ +023b04: 5445 fd02 |017a: iget-object v5, v4, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@02fd │ │ +023b08: 6e10 8f05 0300 |017c: invoke-virtual {v3}, Ljava/lang/String;.getBytes:()[B // method@058f │ │ +023b0e: 0c01 |017f: move-result-object v1 │ │ +023b10: 6e20 fa04 1500 |0180: invoke-virtual {v5, v1}, Ljava/io/DataOutputStream;.write:([B)V // method@04fa │ │ +023b16: 5445 fd02 |0183: iget-object v5, v4, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@02fd │ │ +023b1a: 6e10 f904 0500 |0185: invoke-virtual {v5}, Ljava/io/DataOutputStream;.flush:()V // method@04f9 │ │ +023b20: 2900 6801 |0188: goto/16 02f0 // +0168 │ │ +023b24: 1a02 f50a |018a: const-string v2, "stop()" // string@0af5 │ │ +023b28: 6e20 8d05 2500 |018c: invoke-virtual {v5, v2}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058d │ │ +023b2e: 0a02 |018f: move-result v2 │ │ +023b30: 3802 1900 |0190: if-eqz v2, 01a9 // +0019 │ │ +023b34: 7100 5301 0000 |0192: invoke-static {}, Ldnsfilter/ConfigurationAccess;.getLocal:()Ldnsfilter/ConfigurationAccess; // method@0153 │ │ +023b3a: 0c05 |0195: move-result-object v5 │ │ +023b3c: 6e10 5d01 0500 |0196: invoke-virtual {v5}, Ldnsfilter/ConfigurationAccess;.stop:()V // method@015d │ │ +023b42: 5445 fd02 |0199: iget-object v5, v4, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@02fd │ │ +023b46: 6e10 8f05 0300 |019b: invoke-virtual {v3}, Ljava/lang/String;.getBytes:()[B // method@058f │ │ +023b4c: 0c01 |019e: move-result-object v1 │ │ +023b4e: 6e20 fa04 1500 |019f: invoke-virtual {v5, v1}, Ljava/io/DataOutputStream;.write:([B)V // method@04fa │ │ +023b54: 5445 fd02 |01a2: iget-object v5, v4, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@02fd │ │ +023b58: 6e10 f904 0500 |01a4: invoke-virtual {v5}, Ljava/io/DataOutputStream;.flush:()V // method@04f9 │ │ +023b5e: 2900 4901 |01a7: goto/16 02f0 // +0149 │ │ +023b62: 1a02 8107 |01a9: const-string v2, "getFilterStatistics()" // string@0781 │ │ +023b66: 6e20 8d05 2500 |01ab: invoke-virtual {v5, v2}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058d │ │ +023b6c: 0a02 |01ae: move-result v2 │ │ +023b6e: 3802 2a00 |01af: if-eqz v2, 01d9 // +002a │ │ +023b72: 7100 5301 0000 |01b1: invoke-static {}, Ldnsfilter/ConfigurationAccess;.getLocal:()Ldnsfilter/ConfigurationAccess; // method@0153 │ │ +023b78: 0c05 |01b4: move-result-object v5 │ │ +023b7a: 6e10 5101 0500 |01b5: invoke-virtual {v5}, Ldnsfilter/ConfigurationAccess;.getFilterStatistics:()[J // method@0151 │ │ +023b80: 0c05 |01b8: move-result-object v5 │ │ +023b82: 5441 fd02 |01b9: iget-object v1, v4, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@02fd │ │ +023b86: 6e10 8f05 0300 |01bb: invoke-virtual {v3}, Ljava/lang/String;.getBytes:()[B // method@058f │ │ +023b8c: 0c02 |01be: move-result-object v2 │ │ +023b8e: 6e20 fa04 2100 |01bf: invoke-virtual {v1, v2}, Ljava/io/DataOutputStream;.write:([B)V // method@04fa │ │ +023b94: 5441 fd02 |01c2: iget-object v1, v4, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@02fd │ │ +023b98: 1202 |01c4: const/4 v2, #int 0 // #0 │ │ +023b9a: 4502 0502 |01c5: aget-wide v2, v5, v2 │ │ +023b9e: 6e30 fe04 2103 |01c7: invoke-virtual {v1, v2, v3}, Ljava/io/DataOutputStream;.writeLong:(J)V // method@04fe │ │ +023ba4: 5441 fd02 |01ca: iget-object v1, v4, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@02fd │ │ +023ba8: 1212 |01cc: const/4 v2, #int 1 // #1 │ │ +023baa: 4502 0502 |01cd: aget-wide v2, v5, v2 │ │ +023bae: 6e30 fe04 2103 |01cf: invoke-virtual {v1, v2, v3}, Ljava/io/DataOutputStream;.writeLong:(J)V // method@04fe │ │ +023bb4: 5445 fd02 |01d2: iget-object v5, v4, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@02fd │ │ +023bb8: 6e10 f904 0500 |01d4: invoke-virtual {v5}, Ljava/io/DataOutputStream;.flush:()V // method@04f9 │ │ +023bbe: 2900 1901 |01d7: goto/16 02f0 // +0119 │ │ +023bc2: 1a02 400b |01d9: const-string v2, "triggerUpdateFilter()" // string@0b40 │ │ +023bc6: 6e20 8d05 2500 |01db: invoke-virtual {v5, v2}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058d │ │ +023bcc: 0a02 |01de: move-result v2 │ │ +023bce: 3802 1900 |01df: if-eqz v2, 01f8 // +0019 │ │ +023bd2: 7100 5301 0000 |01e1: invoke-static {}, Ldnsfilter/ConfigurationAccess;.getLocal:()Ldnsfilter/ConfigurationAccess; // method@0153 │ │ +023bd8: 0c05 |01e4: move-result-object v5 │ │ +023bda: 6e10 5f01 0500 |01e5: invoke-virtual {v5}, Ldnsfilter/ConfigurationAccess;.triggerUpdateFilter:()V // method@015f │ │ +023be0: 5445 fd02 |01e8: iget-object v5, v4, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@02fd │ │ +023be4: 6e10 8f05 0300 |01ea: invoke-virtual {v3}, Ljava/lang/String;.getBytes:()[B // method@058f │ │ +023bea: 0c01 |01ed: move-result-object v1 │ │ +023bec: 6e20 fa04 1500 |01ee: invoke-virtual {v5, v1}, Ljava/io/DataOutputStream;.write:([B)V // method@04fa │ │ +023bf2: 5445 fd02 |01f1: iget-object v5, v4, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@02fd │ │ +023bf6: 6e10 f904 0500 |01f3: invoke-virtual {v5}, Ljava/io/DataOutputStream;.flush:()V // method@04f9 │ │ +023bfc: 2900 fa00 |01f6: goto/16 02f0 // +00fa │ │ +023c00: 1a02 8406 |01f8: const-string v2, "doBackup()" // string@0684 │ │ +023c04: 6e20 8d05 2500 |01fa: invoke-virtual {v5, v2}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058d │ │ +023c0a: 0a02 |01fd: move-result v2 │ │ +023c0c: 3802 2d00 |01fe: if-eqz v2, 022b // +002d │ │ +023c10: 2205 f700 |0200: new-instance v5, Ljava/io/ByteArrayOutputStream; // type@00f7 │ │ +023c14: 7010 e604 0500 |0202: invoke-direct {v5}, Ljava/io/ByteArrayOutputStream;.:()V // method@04e6 │ │ +023c1a: 7100 5301 0000 |0205: invoke-static {}, Ldnsfilter/ConfigurationAccess;.getLocal:()Ldnsfilter/ConfigurationAccess; // method@0153 │ │ +023c20: 0c01 |0208: move-result-object v1 │ │ +023c22: 6e20 4901 5100 |0209: invoke-virtual {v1, v5}, Ldnsfilter/ConfigurationAccess;.doBackup:(Ljava/io/OutputStream;)V // method@0149 │ │ +023c28: 5441 fd02 |020c: iget-object v1, v4, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@02fd │ │ +023c2c: 6e10 8f05 0300 |020e: invoke-virtual {v3}, Ljava/lang/String;.getBytes:()[B // method@058f │ │ +023c32: 0c02 |0211: move-result-object v2 │ │ +023c34: 6e20 fa04 2100 |0212: invoke-virtual {v1, v2}, Ljava/io/DataOutputStream;.write:([B)V // method@04fa │ │ +023c3a: 6e10 ec04 0500 |0215: invoke-virtual {v5}, Ljava/io/ByteArrayOutputStream;.toByteArray:()[B // method@04ec │ │ +023c40: 0c05 |0218: move-result-object v5 │ │ +023c42: 5441 fd02 |0219: iget-object v1, v4, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@02fd │ │ +023c46: 2152 |021b: array-length v2, v5 │ │ +023c48: 6e20 fd04 2100 |021c: invoke-virtual {v1, v2}, Ljava/io/DataOutputStream;.writeInt:(I)V // method@04fd │ │ +023c4e: 5441 fd02 |021f: iget-object v1, v4, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@02fd │ │ +023c52: 6e20 fa04 5100 |0221: invoke-virtual {v1, v5}, Ljava/io/DataOutputStream;.write:([B)V // method@04fa │ │ +023c58: 5445 fd02 |0224: iget-object v5, v4, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@02fd │ │ +023c5c: 6e10 f904 0500 |0226: invoke-virtual {v5}, Ljava/io/DataOutputStream;.flush:()V // method@04f9 │ │ +023c62: 2900 c700 |0229: goto/16 02f0 // +00c7 │ │ +023c66: 1a02 8b06 |022b: const-string v2, "doRestore()" // string@068b │ │ +023c6a: 6e20 8d05 2500 |022d: invoke-virtual {v5, v2}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058d │ │ +023c70: 0a02 |0230: move-result v2 │ │ +023c72: 3802 2b00 |0231: if-eqz v2, 025c // +002b │ │ +023c76: 5445 fa02 |0233: iget-object v5, v4, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.in:Ljava/io/DataInputStream; // field@02fa │ │ +023c7a: 6e10 f404 0500 |0235: invoke-virtual {v5}, Ljava/io/DataInputStream;.readInt:()I // method@04f4 │ │ +023c80: 0a05 |0238: move-result v5 │ │ +023c82: 2355 9d01 |0239: new-array v5, v5, [B // type@019d │ │ +023c86: 5441 fa02 |023b: iget-object v1, v4, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.in:Ljava/io/DataInputStream; // field@02fa │ │ +023c8a: 6e20 f204 5100 |023d: invoke-virtual {v1, v5}, Ljava/io/DataInputStream;.readFully:([B)V // method@04f2 │ │ +023c90: 7100 5301 0000 |0240: invoke-static {}, Ldnsfilter/ConfigurationAccess;.getLocal:()Ldnsfilter/ConfigurationAccess; // method@0153 │ │ +023c96: 0c01 |0243: move-result-object v1 │ │ +023c98: 2202 f600 |0244: new-instance v2, Ljava/io/ByteArrayInputStream; // type@00f6 │ │ +023c9c: 7020 e104 5200 |0246: invoke-direct {v2, v5}, Ljava/io/ByteArrayInputStream;.:([B)V // method@04e1 │ │ +023ca2: 6e20 4a01 2100 |0249: invoke-virtual {v1, v2}, Ldnsfilter/ConfigurationAccess;.doRestore:(Ljava/io/InputStream;)V // method@014a │ │ +023ca8: 5445 fd02 |024c: iget-object v5, v4, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@02fd │ │ +023cac: 6e10 8f05 0300 |024e: invoke-virtual {v3}, Ljava/lang/String;.getBytes:()[B // method@058f │ │ +023cb2: 0c01 |0251: move-result-object v1 │ │ +023cb4: 6e20 fa04 1500 |0252: invoke-virtual {v5, v1}, Ljava/io/DataOutputStream;.write:([B)V // method@04fa │ │ +023cba: 5445 fd02 |0255: iget-object v5, v4, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@02fd │ │ +023cbe: 6e10 f904 0500 |0257: invoke-virtual {v5}, Ljava/io/DataOutputStream;.flush:()V // method@04f9 │ │ +023cc4: 2900 9600 |025a: goto/16 02f0 // +0096 │ │ +023cc8: 1a02 8e06 |025c: const-string v2, "doRestoreDefaults()" // string@068e │ │ +023ccc: 6e20 8d05 2500 |025e: invoke-virtual {v5, v2}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058d │ │ +023cd2: 0a02 |0261: move-result v2 │ │ +023cd4: 3802 1800 |0262: if-eqz v2, 027a // +0018 │ │ +023cd8: 7100 5301 0000 |0264: invoke-static {}, Ldnsfilter/ConfigurationAccess;.getLocal:()Ldnsfilter/ConfigurationAccess; // method@0153 │ │ +023cde: 0c05 |0267: move-result-object v5 │ │ +023ce0: 6e10 4b01 0500 |0268: invoke-virtual {v5}, Ldnsfilter/ConfigurationAccess;.doRestoreDefaults:()V // method@014b │ │ +023ce6: 5445 fd02 |026b: iget-object v5, v4, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@02fd │ │ +023cea: 6e10 8f05 0300 |026d: invoke-virtual {v3}, Ljava/lang/String;.getBytes:()[B // method@058f │ │ +023cf0: 0c01 |0270: move-result-object v1 │ │ +023cf2: 6e20 fa04 1500 |0271: invoke-virtual {v5, v1}, Ljava/io/DataOutputStream;.write:([B)V // method@04fa │ │ +023cf8: 5445 fd02 |0274: iget-object v5, v4, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@02fd │ │ +023cfc: 6e10 f904 0500 |0276: invoke-virtual {v5}, Ljava/io/DataOutputStream;.flush:()V // method@04f9 │ │ +023d02: 2877 |0279: goto 02f0 // +0077 │ │ +023d04: 1a02 990b |027a: const-string v2, "wakeLock()" // string@0b99 │ │ +023d08: 6e20 8d05 2500 |027c: invoke-virtual {v5, v2}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058d │ │ +023d0e: 0a02 |027f: move-result v2 │ │ +023d10: 3802 1800 |0280: if-eqz v2, 0298 // +0018 │ │ +023d14: 7100 5301 0000 |0282: invoke-static {}, Ldnsfilter/ConfigurationAccess;.getLocal:()Ldnsfilter/ConfigurationAccess; // method@0153 │ │ +023d1a: 0c05 |0285: move-result-object v5 │ │ +023d1c: 6e10 6401 0500 |0286: invoke-virtual {v5}, Ldnsfilter/ConfigurationAccess;.wakeLock:()V // method@0164 │ │ +023d22: 5445 fd02 |0289: iget-object v5, v4, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@02fd │ │ +023d26: 6e10 8f05 0300 |028b: invoke-virtual {v3}, Ljava/lang/String;.getBytes:()[B // method@058f │ │ +023d2c: 0c01 |028e: move-result-object v1 │ │ +023d2e: 6e20 fa04 1500 |028f: invoke-virtual {v5, v1}, Ljava/io/DataOutputStream;.write:([B)V // method@04fa │ │ +023d34: 5445 fd02 |0292: iget-object v5, v4, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@02fd │ │ +023d38: 6e10 f904 0500 |0294: invoke-virtual {v5}, Ljava/io/DataOutputStream;.flush:()V // method@04f9 │ │ +023d3e: 2859 |0297: goto 02f0 // +0059 │ │ +023d40: 1a02 d709 |0298: const-string v2, "releaseWakeLock()" // string@09d7 │ │ +023d44: 6e20 8d05 2500 |029a: invoke-virtual {v5, v2}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058d │ │ +023d4a: 0a02 |029d: move-result v2 │ │ +023d4c: 3802 1800 |029e: if-eqz v2, 02b6 // +0018 │ │ +023d50: 7100 5301 0000 |02a0: invoke-static {}, Ldnsfilter/ConfigurationAccess;.getLocal:()Ldnsfilter/ConfigurationAccess; // method@0153 │ │ +023d56: 0c05 |02a3: move-result-object v5 │ │ +023d58: 6e10 5b01 0500 |02a4: invoke-virtual {v5}, Ldnsfilter/ConfigurationAccess;.releaseWakeLock:()V // method@015b │ │ +023d5e: 5445 fd02 |02a7: iget-object v5, v4, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@02fd │ │ +023d62: 6e10 8f05 0300 |02a9: invoke-virtual {v3}, Ljava/lang/String;.getBytes:()[B // method@058f │ │ +023d68: 0c01 |02ac: move-result-object v1 │ │ +023d6a: 6e20 fa04 1500 |02ad: invoke-virtual {v5, v1}, Ljava/io/DataOutputStream;.write:([B)V // method@04fa │ │ +023d70: 5445 fd02 |02b0: iget-object v5, v4, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@02fd │ │ +023d74: 6e10 f904 0500 |02b2: invoke-virtual {v5}, Ljava/io/DataOutputStream;.flush:()V // method@04f9 │ │ +023d7a: 283b |02b5: goto 02f0 // +003b │ │ +023d7c: 2202 8200 |02b6: new-instance v2, Ldnsfilter/ConfigurationAccess$ConfigurationAccessException; // type@0082 │ │ +023d80: 2203 2d01 |02b8: new-instance v3, Ljava/lang/StringBuilder; // type@012d │ │ +023d84: 7020 aa05 1300 |02ba: invoke-direct {v3, v1}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05aa │ │ +023d8a: 6e20 af05 5300 |02bd: invoke-virtual {v3, v5}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +023d90: 6e10 b105 0300 |02c0: invoke-virtual {v3}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ +023d96: 0c05 |02c3: move-result-object v5 │ │ +023d98: 7020 4401 5200 |02c4: invoke-direct {v2, v5}, Ldnsfilter/ConfigurationAccess$ConfigurationAccessException;.:(Ljava/lang/String;)V // method@0144 │ │ +023d9e: 2702 |02c7: throw v2 │ │ +023da0: 0d05 |02c8: move-exception v5 │ │ +023da2: 5441 fd02 |02c9: iget-object v1, v4, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@02fd │ │ +023da6: 2202 2d01 |02cb: new-instance v2, Ljava/lang/StringBuilder; // type@012d │ │ +023daa: 7010 a905 0200 |02cd: invoke-direct {v2}, Ljava/lang/StringBuilder;.:()V // method@05a9 │ │ +023db0: 6e10 4601 0500 |02d0: invoke-virtual {v5}, Ldnsfilter/ConfigurationAccess$ConfigurationAccessException;.getMessage:()Ljava/lang/String; // method@0146 │ │ +023db6: 0c05 |02d3: move-result-object v5 │ │ +023db8: 1a03 0100 |02d4: const-string v3, " " // string@0001 │ │ +023dbc: 6e30 9705 0503 |02d6: invoke-virtual {v5, v0, v3}, Ljava/lang/String;.replace:(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String; // method@0597 │ │ +023dc2: 0c05 |02d9: move-result-object v5 │ │ +023dc4: 6e20 af05 5200 |02da: invoke-virtual {v2, v5}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +023dca: 6e20 af05 0200 |02dd: invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +023dd0: 6e10 b105 0200 |02e0: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ +023dd6: 0c05 |02e3: move-result-object v5 │ │ +023dd8: 6e10 8f05 0500 |02e4: invoke-virtual {v5}, Ljava/lang/String;.getBytes:()[B // method@058f │ │ +023dde: 0c05 |02e7: move-result-object v5 │ │ +023de0: 6e20 fa04 5100 |02e8: invoke-virtual {v1, v5}, Ljava/io/DataOutputStream;.write:([B)V // method@04fa │ │ +023de6: 5445 fd02 |02eb: iget-object v5, v4, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@02fd │ │ +023dea: 6e10 f904 0500 |02ed: invoke-virtual {v5}, Ljava/io/DataOutputStream;.flush:()V // method@04f9 │ │ +023df0: 0e00 |02f0: return-void │ │ catches : 2 │ │ 0x0004 - 0x000a │ │ Ldnsfilter/ConfigurationAccess$ConfigurationAccessException; -> 0x02c8 │ │ 0x000e - 0x02c8 │ │ Ldnsfilter/ConfigurationAccess$ConfigurationAccessException; -> 0x02c8 │ │ positions : │ │ 0x0000 line=229 │ │ @@ -55167,19 +55167,19 @@ │ │ type : '()V' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 3 │ │ ins : 1 │ │ outs : 0 │ │ insns size : 7 16-bit code units │ │ -023e10: |[023e10] dnsfilter.remote.RemoteAccessServer$RemoteSession.heartBeatConfirmed:()V │ │ -023e20: 7100 b305 0000 |0000: invoke-static {}, Ljava/lang/System;.currentTimeMillis:()J // method@05b3 │ │ -023e26: 0b00 |0003: move-result-wide v0 │ │ -023e28: 5a20 fc02 |0004: iput-wide v0, v2, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.lastHeartBeatConfirm:J // field@02fc │ │ -023e2c: 0e00 |0006: return-void │ │ +023e0c: |[023e0c] dnsfilter.remote.RemoteAccessServer$RemoteSession.heartBeatConfirmed:()V │ │ +023e1c: 7100 b305 0000 |0000: invoke-static {}, Ljava/lang/System;.currentTimeMillis:()J // method@05b3 │ │ +023e22: 0b00 |0003: move-result-wide v0 │ │ +023e24: 5a20 fc02 |0004: iput-wide v0, v2, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.lastHeartBeatConfirm:J // field@02fc │ │ +023e28: 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;) │ │ @@ -55187,44 +55187,44 @@ │ │ type : '()V' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 5 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 53 16-bit code units │ │ -023e30: |[023e30] dnsfilter.remote.RemoteAccessServer$RemoteSession.invalidate:()V │ │ -023e40: 5540 ff02 |0000: iget-boolean v0, v4, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.remoteStreamSession:Z // field@02ff │ │ -023e44: 3900 0300 |0002: if-nez v0, 0005 // +0003 │ │ -023e48: 0e00 |0004: return-void │ │ -023e4a: 5440 fd02 |0005: iget-object v0, v4, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@02fd │ │ -023e4e: 1d00 |0007: monitor-enter v0 │ │ -023e50: 5441 fd02 |0008: iget-object v1, v4, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@02fd │ │ -023e54: 1272 |000a: const/4 v2, #int 7 // #7 │ │ -023e56: 6e20 ff04 2100 |000b: invoke-virtual {v1, v2}, Ljava/io/DataOutputStream;.writeShort:(I)V // method@04ff │ │ -023e5c: 5441 fd02 |000e: iget-object v1, v4, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@02fd │ │ -023e60: 1202 |0010: const/4 v2, #int 0 // #0 │ │ -023e62: 6e20 ff04 2100 |0011: invoke-virtual {v1, v2}, Ljava/io/DataOutputStream;.writeShort:(I)V // method@04ff │ │ -023e68: 5441 fd02 |0014: iget-object v1, v4, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@02fd │ │ -023e6c: 6e10 f904 0100 |0016: invoke-virtual {v1}, Ljava/io/DataOutputStream;.flush:()V // method@04f9 │ │ -023e72: 1e00 |0019: monitor-exit v0 │ │ -023e74: 281a |001a: goto 0034 // +001a │ │ -023e76: 0d01 |001b: move-exception v1 │ │ -023e78: 1e00 |001c: monitor-exit v0 │ │ -023e7a: 2701 |001d: throw v1 │ │ -023e7c: 0d00 |001e: move-exception v0 │ │ -023e7e: 7100 2707 0000 |001f: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0727 │ │ -023e84: 0c01 |0022: move-result-object v1 │ │ -023e86: 2202 2d01 |0023: new-instance v2, Ljava/lang/StringBuilder; // type@012d │ │ -023e8a: 1a03 fb01 |0025: const-string v3, "Invalidation failed! " // string@01fb │ │ -023e8e: 7020 aa05 3200 |0027: invoke-direct {v2, v3}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05aa │ │ -023e94: 6e20 ae05 0200 |002a: invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@05ae │ │ -023e9a: 6e10 b105 0200 |002d: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ -023ea0: 0c00 |0030: move-result-object v0 │ │ -023ea2: 7220 3307 0100 |0031: invoke-interface {v1, v0}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0733 │ │ -023ea8: 0e00 |0034: return-void │ │ +023e2c: |[023e2c] dnsfilter.remote.RemoteAccessServer$RemoteSession.invalidate:()V │ │ +023e3c: 5540 ff02 |0000: iget-boolean v0, v4, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.remoteStreamSession:Z // field@02ff │ │ +023e40: 3900 0300 |0002: if-nez v0, 0005 // +0003 │ │ +023e44: 0e00 |0004: return-void │ │ +023e46: 5440 fd02 |0005: iget-object v0, v4, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@02fd │ │ +023e4a: 1d00 |0007: monitor-enter v0 │ │ +023e4c: 5441 fd02 |0008: iget-object v1, v4, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@02fd │ │ +023e50: 1272 |000a: const/4 v2, #int 7 // #7 │ │ +023e52: 6e20 ff04 2100 |000b: invoke-virtual {v1, v2}, Ljava/io/DataOutputStream;.writeShort:(I)V // method@04ff │ │ +023e58: 5441 fd02 |000e: iget-object v1, v4, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@02fd │ │ +023e5c: 1202 |0010: const/4 v2, #int 0 // #0 │ │ +023e5e: 6e20 ff04 2100 |0011: invoke-virtual {v1, v2}, Ljava/io/DataOutputStream;.writeShort:(I)V // method@04ff │ │ +023e64: 5441 fd02 |0014: iget-object v1, v4, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@02fd │ │ +023e68: 6e10 f904 0100 |0016: invoke-virtual {v1}, Ljava/io/DataOutputStream;.flush:()V // method@04f9 │ │ +023e6e: 1e00 |0019: monitor-exit v0 │ │ +023e70: 281a |001a: goto 0034 // +001a │ │ +023e72: 0d01 |001b: move-exception v1 │ │ +023e74: 1e00 |001c: monitor-exit v0 │ │ +023e76: 2701 |001d: throw v1 │ │ +023e78: 0d00 |001e: move-exception v0 │ │ +023e7a: 7100 2707 0000 |001f: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0727 │ │ +023e80: 0c01 |0022: move-result-object v1 │ │ +023e82: 2202 2d01 |0023: new-instance v2, Ljava/lang/StringBuilder; // type@012d │ │ +023e86: 1a03 fb01 |0025: const-string v3, "Invalidation failed! " // string@01fb │ │ +023e8a: 7020 aa05 3200 |0027: invoke-direct {v2, v3}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05aa │ │ +023e90: 6e20 ae05 0200 |002a: invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@05ae │ │ +023e96: 6e10 b105 0200 |002d: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ +023e9c: 0c00 |0030: move-result-object v0 │ │ +023e9e: 7220 3307 0100 |0031: invoke-interface {v1, v0}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0733 │ │ +023ea4: 0e00 |0034: return-void │ │ catches : 3 │ │ 0x0005 - 0x0008 │ │ Ljava/io/IOException; -> 0x001e │ │ 0x0008 - 0x001d │ │ -> 0x001b │ │ 0x001d - 0x001e │ │ Ljava/io/IOException; -> 0x001e │ │ @@ -55245,17 +55245,17 @@ │ │ type : '()J' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 3 │ │ ins : 1 │ │ outs : 0 │ │ insns size : 3 16-bit code units │ │ -02347c: |[02347c] dnsfilter.remote.RemoteAccessServer$RemoteSession.getTimoutTime:()J │ │ -02348c: 5320 0203 |0000: iget-wide v0, v2, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.timeout:J // field@0302 │ │ -023490: 1000 |0002: return-wide v0 │ │ +023478: |[023478] dnsfilter.remote.RemoteAccessServer$RemoteSession.getTimoutTime:()J │ │ +023488: 5320 0203 |0000: iget-wide v0, v2, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.timeout:J // field@0302 │ │ +02348c: 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;) │ │ @@ -55263,55 +55263,55 @@ │ │ type : '()V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 3 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 82 16-bit code units │ │ -023ecc: |[023ecc] dnsfilter.remote.RemoteAccessServer$RemoteSession.killSession:()V │ │ -023edc: 5520 fb02 |0000: iget-boolean v0, v2, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.killed:Z // field@02fb │ │ -023ee0: 3800 0300 |0002: if-eqz v0, 0005 // +0003 │ │ -023ee4: 0e00 |0004: return-void │ │ -023ee6: 1210 |0005: const/4 v0, #int 1 // #1 │ │ -023ee8: 5c20 fb02 |0006: iput-boolean v0, v2, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.killed:Z // field@02fb │ │ -023eec: 7100 8807 0000 |0008: invoke-static {}, Lutil/TimoutNotificator;.getInstance:()Lutil/TimoutNotificator; // method@0788 │ │ -023ef2: 0c00 |000b: move-result-object v0 │ │ -023ef4: 6e20 8d07 2000 |000c: invoke-virtual {v0, v2}, Lutil/TimoutNotificator;.unregister:(Lutil/TimeoutListener;)V // method@078d │ │ -023efa: 5420 fe02 |000f: iget-object v0, v2, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.remoteLogger:Lutil/SuppressRepeatingsLogger; // field@02fe │ │ -023efe: 3800 1000 |0011: if-eqz v0, 0021 // +0010 │ │ -023f02: 6e10 7607 0000 |0013: invoke-virtual {v0}, Lutil/SuppressRepeatingsLogger;.closeLogger:()V // method@0776 │ │ -023f08: 7100 2707 0000 |0016: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0727 │ │ -023f0e: 0c00 |0019: move-result-object v0 │ │ -023f10: 1f00 8201 |001a: check-cast v0, Lutil/GroupedLogger; // type@0182 │ │ -023f14: 5421 fe02 |001c: iget-object v1, v2, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.remoteLogger:Lutil/SuppressRepeatingsLogger; // field@02fe │ │ -023f18: 6e20 f906 1000 |001e: invoke-virtual {v0, v1}, Lutil/GroupedLogger;.detachLogger:(Lutil/LoggerInterface;)V // method@06f9 │ │ -023f1e: 5420 0003 |0021: iget-object v0, v2, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.socket:Ljava/net/Socket; // field@0300 │ │ -023f22: 7110 9207 0000 |0023: invoke-static {v0}, Lutil/Utils;.closeSocket:(Ljava/net/Socket;)V // method@0792 │ │ -023f28: 5420 0103 |0026: iget-object v0, v2, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.this$0:Ldnsfilter/remote/RemoteAccessServer; // field@0301 │ │ -023f2c: 7110 a304 0000 |0028: invoke-static {v0}, Ldnsfilter/remote/RemoteAccessServer;.access$200:(Ldnsfilter/remote/RemoteAccessServer;)Ljava/util/HashMap; // method@04a3 │ │ -023f32: 0c00 |002b: move-result-object v0 │ │ -023f34: 5221 f902 |002c: iget v1, v2, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.id:I // field@02f9 │ │ -023f38: 7110 6a05 0100 |002e: invoke-static {v1}, Ljava/lang/Integer;.valueOf:(I)Ljava/lang/Integer; // method@056a │ │ -023f3e: 0c01 |0031: move-result-object v1 │ │ -023f40: 6e20 2c06 1000 |0032: invoke-virtual {v0, v1}, Ljava/util/HashMap;.remove:(Ljava/lang/Object;)Ljava/lang/Object; // method@062c │ │ -023f46: 5220 f702 |0035: iget v0, v2, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.connectedSessionId:I // field@02f7 │ │ -023f4a: 12f1 |0037: const/4 v1, #int -1 // #ff │ │ -023f4c: 3210 1900 |0038: if-eq v0, v1, 0051 // +0019 │ │ -023f50: 5420 0103 |003a: iget-object v0, v2, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.this$0:Ldnsfilter/remote/RemoteAccessServer; // field@0301 │ │ -023f54: 7110 a304 0000 |003c: invoke-static {v0}, Ldnsfilter/remote/RemoteAccessServer;.access$200:(Ldnsfilter/remote/RemoteAccessServer;)Ljava/util/HashMap; // method@04a3 │ │ -023f5a: 0c00 |003f: move-result-object v0 │ │ -023f5c: 5221 f702 |0040: iget v1, v2, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.connectedSessionId:I // field@02f7 │ │ -023f60: 7110 6a05 0100 |0042: invoke-static {v1}, Ljava/lang/Integer;.valueOf:(I)Ljava/lang/Integer; // method@056a │ │ -023f66: 0c01 |0045: move-result-object v1 │ │ -023f68: 6e20 2a06 1000 |0046: invoke-virtual {v0, v1}, Ljava/util/HashMap;.get:(Ljava/lang/Object;)Ljava/lang/Object; // method@062a │ │ -023f6e: 0c00 |0049: move-result-object v0 │ │ -023f70: 1f00 ed00 |004a: check-cast v0, Ldnsfilter/remote/RemoteAccessServer$RemoteSession; // type@00ed │ │ -023f74: 3800 0500 |004c: if-eqz v0, 0051 // +0005 │ │ -023f78: 6e10 9d04 0000 |004e: invoke-virtual {v0}, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.killSession:()V // method@049d │ │ -023f7e: 0e00 |0051: return-void │ │ +023ec8: |[023ec8] dnsfilter.remote.RemoteAccessServer$RemoteSession.killSession:()V │ │ +023ed8: 5520 fb02 |0000: iget-boolean v0, v2, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.killed:Z // field@02fb │ │ +023edc: 3800 0300 |0002: if-eqz v0, 0005 // +0003 │ │ +023ee0: 0e00 |0004: return-void │ │ +023ee2: 1210 |0005: const/4 v0, #int 1 // #1 │ │ +023ee4: 5c20 fb02 |0006: iput-boolean v0, v2, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.killed:Z // field@02fb │ │ +023ee8: 7100 8807 0000 |0008: invoke-static {}, Lutil/TimoutNotificator;.getInstance:()Lutil/TimoutNotificator; // method@0788 │ │ +023eee: 0c00 |000b: move-result-object v0 │ │ +023ef0: 6e20 8d07 2000 |000c: invoke-virtual {v0, v2}, Lutil/TimoutNotificator;.unregister:(Lutil/TimeoutListener;)V // method@078d │ │ +023ef6: 5420 fe02 |000f: iget-object v0, v2, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.remoteLogger:Lutil/SuppressRepeatingsLogger; // field@02fe │ │ +023efa: 3800 1000 |0011: if-eqz v0, 0021 // +0010 │ │ +023efe: 6e10 7607 0000 |0013: invoke-virtual {v0}, Lutil/SuppressRepeatingsLogger;.closeLogger:()V // method@0776 │ │ +023f04: 7100 2707 0000 |0016: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0727 │ │ +023f0a: 0c00 |0019: move-result-object v0 │ │ +023f0c: 1f00 8201 |001a: check-cast v0, Lutil/GroupedLogger; // type@0182 │ │ +023f10: 5421 fe02 |001c: iget-object v1, v2, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.remoteLogger:Lutil/SuppressRepeatingsLogger; // field@02fe │ │ +023f14: 6e20 f906 1000 |001e: invoke-virtual {v0, v1}, Lutil/GroupedLogger;.detachLogger:(Lutil/LoggerInterface;)V // method@06f9 │ │ +023f1a: 5420 0003 |0021: iget-object v0, v2, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.socket:Ljava/net/Socket; // field@0300 │ │ +023f1e: 7110 9207 0000 |0023: invoke-static {v0}, Lutil/Utils;.closeSocket:(Ljava/net/Socket;)V // method@0792 │ │ +023f24: 5420 0103 |0026: iget-object v0, v2, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.this$0:Ldnsfilter/remote/RemoteAccessServer; // field@0301 │ │ +023f28: 7110 a304 0000 |0028: invoke-static {v0}, Ldnsfilter/remote/RemoteAccessServer;.access$200:(Ldnsfilter/remote/RemoteAccessServer;)Ljava/util/HashMap; // method@04a3 │ │ +023f2e: 0c00 |002b: move-result-object v0 │ │ +023f30: 5221 f902 |002c: iget v1, v2, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.id:I // field@02f9 │ │ +023f34: 7110 6a05 0100 |002e: invoke-static {v1}, Ljava/lang/Integer;.valueOf:(I)Ljava/lang/Integer; // method@056a │ │ +023f3a: 0c01 |0031: move-result-object v1 │ │ +023f3c: 6e20 2c06 1000 |0032: invoke-virtual {v0, v1}, Ljava/util/HashMap;.remove:(Ljava/lang/Object;)Ljava/lang/Object; // method@062c │ │ +023f42: 5220 f702 |0035: iget v0, v2, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.connectedSessionId:I // field@02f7 │ │ +023f46: 12f1 |0037: const/4 v1, #int -1 // #ff │ │ +023f48: 3210 1900 |0038: if-eq v0, v1, 0051 // +0019 │ │ +023f4c: 5420 0103 |003a: iget-object v0, v2, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.this$0:Ldnsfilter/remote/RemoteAccessServer; // field@0301 │ │ +023f50: 7110 a304 0000 |003c: invoke-static {v0}, Ldnsfilter/remote/RemoteAccessServer;.access$200:(Ldnsfilter/remote/RemoteAccessServer;)Ljava/util/HashMap; // method@04a3 │ │ +023f56: 0c00 |003f: move-result-object v0 │ │ +023f58: 5221 f702 |0040: iget v1, v2, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.connectedSessionId:I // field@02f7 │ │ +023f5c: 7110 6a05 0100 |0042: invoke-static {v1}, Ljava/lang/Integer;.valueOf:(I)Ljava/lang/Integer; // method@056a │ │ +023f62: 0c01 |0045: move-result-object v1 │ │ +023f64: 6e20 2a06 1000 |0046: invoke-virtual {v0, v1}, Ljava/util/HashMap;.get:(Ljava/lang/Object;)Ljava/lang/Object; // method@062a │ │ +023f6a: 0c00 |0049: move-result-object v0 │ │ +023f6c: 1f00 ed00 |004a: check-cast v0, Ldnsfilter/remote/RemoteAccessServer$RemoteSession; // type@00ed │ │ +023f70: 3800 0500 |004c: if-eqz v0, 0051 // +0005 │ │ +023f74: 6e10 9d04 0000 |004e: invoke-virtual {v0}, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.killSession:()V // method@049d │ │ +023f7a: 0e00 |0051: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=162 │ │ 0x0006 line=164 │ │ 0x0008 line=165 │ │ 0x000f line=167 │ │ 0x0013 line=168 │ │ @@ -55329,31 +55329,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 │ │ -023f80: |[023f80] dnsfilter.remote.RemoteAccessServer$RemoteSession.reconnectSession:(Ljava/net/Socket;Ljava/io/InputStream;Ljava/io/OutputStream;)V │ │ -023f90: 1213 |0000: const/4 v3, #int 1 // #1 │ │ -023f92: 5c13 f802 |0001: iput-boolean v3, v1, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.doReconnect:Z // field@02f8 │ │ -023f96: 5413 0003 |0003: iget-object v3, v1, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.socket:Ljava/net/Socket; // field@0300 │ │ -023f9a: 5b12 0003 |0005: iput-object v2, v1, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.socket:Ljava/net/Socket; // field@0300 │ │ -023f9e: 2204 f900 |0007: new-instance v4, Ljava/io/DataOutputStream; // type@00f9 │ │ -023fa2: 6e10 ed05 0200 |0009: invoke-virtual {v2}, Ljava/net/Socket;.getOutputStream:()Ljava/io/OutputStream; // method@05ed │ │ -023fa8: 0c00 |000c: move-result-object v0 │ │ -023faa: 7020 f704 0400 |000d: invoke-direct {v4, v0}, Ljava/io/DataOutputStream;.:(Ljava/io/OutputStream;)V // method@04f7 │ │ -023fb0: 5b14 fd02 |0010: iput-object v4, v1, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@02fd │ │ -023fb4: 2204 f800 |0012: new-instance v4, Ljava/io/DataInputStream; // type@00f8 │ │ -023fb8: 6e10 ec05 0200 |0014: invoke-virtual {v2}, Ljava/net/Socket;.getInputStream:()Ljava/io/InputStream; // method@05ec │ │ -023fbe: 0c02 |0017: move-result-object v2 │ │ -023fc0: 7020 f004 2400 |0018: invoke-direct {v4, v2}, Ljava/io/DataInputStream;.:(Ljava/io/InputStream;)V // method@04f0 │ │ -023fc6: 5b14 fa02 |001b: iput-object v4, v1, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.in:Ljava/io/DataInputStream; // field@02fa │ │ -023fca: 7110 9207 0300 |001d: invoke-static {v3}, Lutil/Utils;.closeSocket:(Ljava/net/Socket;)V // method@0792 │ │ -023fd0: 0e00 |0020: return-void │ │ +023f7c: |[023f7c] dnsfilter.remote.RemoteAccessServer$RemoteSession.reconnectSession:(Ljava/net/Socket;Ljava/io/InputStream;Ljava/io/OutputStream;)V │ │ +023f8c: 1213 |0000: const/4 v3, #int 1 // #1 │ │ +023f8e: 5c13 f802 |0001: iput-boolean v3, v1, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.doReconnect:Z // field@02f8 │ │ +023f92: 5413 0003 |0003: iget-object v3, v1, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.socket:Ljava/net/Socket; // field@0300 │ │ +023f96: 5b12 0003 |0005: iput-object v2, v1, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.socket:Ljava/net/Socket; // field@0300 │ │ +023f9a: 2204 f900 |0007: new-instance v4, Ljava/io/DataOutputStream; // type@00f9 │ │ +023f9e: 6e10 ed05 0200 |0009: invoke-virtual {v2}, Ljava/net/Socket;.getOutputStream:()Ljava/io/OutputStream; // method@05ed │ │ +023fa4: 0c00 |000c: move-result-object v0 │ │ +023fa6: 7020 f704 0400 |000d: invoke-direct {v4, v0}, Ljava/io/DataOutputStream;.:(Ljava/io/OutputStream;)V // method@04f7 │ │ +023fac: 5b14 fd02 |0010: iput-object v4, v1, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@02fd │ │ +023fb0: 2204 f800 |0012: new-instance v4, Ljava/io/DataInputStream; // type@00f8 │ │ +023fb4: 6e10 ec05 0200 |0014: invoke-virtual {v2}, Ljava/net/Socket;.getInputStream:()Ljava/io/InputStream; // method@05ec │ │ +023fba: 0c02 |0017: move-result-object v2 │ │ +023fbc: 7020 f004 2400 |0018: invoke-direct {v4, v2}, Ljava/io/DataInputStream;.:(Ljava/io/InputStream;)V // method@04f0 │ │ +023fc2: 5b14 fa02 |001b: iput-object v4, v1, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.in:Ljava/io/DataInputStream; // field@02fa │ │ +023fc6: 7110 9207 0300 |001d: invoke-static {v3}, Lutil/Utils;.closeSocket:(Ljava/net/Socket;)V // method@0792 │ │ +023fcc: 0e00 |0020: return-void │ │ catches : (none) │ │ positions : │ │ 0x0001 line=184 │ │ 0x0003 line=185 │ │ 0x0005 line=186 │ │ 0x0007 line=187 │ │ 0x0012 line=188 │ │ @@ -55369,100 +55369,100 @@ │ │ type : '()V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 7 │ │ ins : 1 │ │ outs : 3 │ │ insns size : 179 16-bit code units │ │ -023fd4: |[023fd4] dnsfilter.remote.RemoteAccessServer$RemoteSession.run:()V │ │ -023fe4: 1300 0004 |0000: const/16 v0, #int 1024 // #400 │ │ -023fe8: 2300 9d01 |0002: new-array v0, v0, [B // type@019d │ │ -023fec: 1a01 0000 |0004: const-string v1, "" // string@0000 │ │ -023ff0: 5562 fb02 |0006: iget-boolean v2, v6, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.killed:Z // field@02fb │ │ -023ff4: 3902 8900 |0008: if-nez v2, 0091 // +0089 │ │ -023ff8: 5462 0103 |000a: iget-object v2, v6, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.this$0:Ldnsfilter/remote/RemoteAccessServer; // field@0301 │ │ -023ffc: 5463 fa02 |000c: iget-object v3, v6, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.in:Ljava/io/DataInputStream; // field@02fa │ │ -024000: 7130 a404 3200 |000e: invoke-static {v2, v3, v0}, Ldnsfilter/remote/RemoteAccessServer;.access$300:(Ldnsfilter/remote/RemoteAccessServer;Ljava/io/InputStream;[B)Ljava/lang/String; // method@04a4 │ │ -024006: 0c01 |0011: move-result-object v1 │ │ -024008: 1a02 8705 |0012: const-string v2, "attach" // string@0587 │ │ -02400c: 6e20 8d05 2100 |0014: invoke-virtual {v1, v2}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058d │ │ -024012: 0a02 |0017: move-result v2 │ │ -024014: 3802 0600 |0018: if-eqz v2, 001e // +0006 │ │ -024018: 7010 9604 0600 |001a: invoke-direct {v6}, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.attachStream:()V // method@0496 │ │ -02401e: 28e9 |001d: goto 0006 // -0017 │ │ -024020: 1a02 d309 |001e: const-string v2, "releaseConfiguration()" // string@09d3 │ │ -024024: 6e20 8d05 2100 |0020: invoke-virtual {v1, v2}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058d │ │ -02402a: 0a02 |0023: move-result v2 │ │ -02402c: 3802 0600 |0024: if-eqz v2, 002a // +0006 │ │ -024030: 6e10 9d04 0600 |0026: invoke-virtual {v6}, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.killSession:()V // method@049d │ │ -024036: 28dd |0029: goto 0006 // -0023 │ │ -024038: 1a02 0e06 |002a: const-string v2, "confirmHeartBeat()" // string@060e │ │ -02403c: 6e20 8d05 2100 |002c: invoke-virtual {v1, v2}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058d │ │ -024042: 0a02 |002f: move-result v2 │ │ -024044: 3802 0600 |0030: if-eqz v2, 0036 // +0006 │ │ -024048: 7010 9b04 0600 |0032: invoke-direct {v6}, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.heartBeatConfirmed:()V // method@049b │ │ -02404e: 28d1 |0035: goto 0006 // -002f │ │ -024050: 7020 9904 1600 |0036: invoke-direct {v6, v1}, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.executeAction:(Ljava/lang/String;)V // method@0499 │ │ -024056: 28cd |0039: goto 0006 // -0033 │ │ -024058: 0d02 |003a: move-exception v2 │ │ -02405a: 5563 f802 |003b: iget-boolean v3, v6, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.doReconnect:Z // field@02f8 │ │ -02405e: 3903 2300 |003d: if-nez v3, 0060 // +0023 │ │ -024062: 5563 fb02 |003f: iget-boolean v3, v6, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.killed:Z // field@02fb │ │ -024066: 3903 c5ff |0041: if-nez v3, 0006 // -003b │ │ -02406a: 7100 2707 0000 |0043: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0727 │ │ -024070: 0c00 |0046: move-result-object v0 │ │ -024072: 2201 2d01 |0047: new-instance v1, Ljava/lang/StringBuilder; // type@012d │ │ -024076: 1a03 8601 |0049: const-string v3, "Exception during RemoteServer Session read! " // string@0186 │ │ -02407a: 7020 aa05 3100 |004b: invoke-direct {v1, v3}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05aa │ │ -024080: 6e10 2605 0200 |004e: invoke-virtual {v2}, Ljava/io/IOException;.toString:()Ljava/lang/String; // method@0526 │ │ -024086: 0c02 |0051: move-result-object v2 │ │ -024088: 6e20 af05 2100 |0052: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -02408e: 6e10 b105 0100 |0055: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ -024094: 0c01 |0058: move-result-object v1 │ │ -024096: 7220 3307 1000 |0059: invoke-interface {v0, v1}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0733 │ │ -02409c: 6e10 9d04 0600 |005c: invoke-virtual {v6}, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.killSession:()V // method@049d │ │ -0240a2: 2832 |005f: goto 0091 // +0032 │ │ -0240a4: 7100 2707 0000 |0060: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0727 │ │ -0240aa: 0c02 |0063: move-result-object v2 │ │ -0240ac: 1a03 2804 |0064: const-string v3, "Reconnected Remote!" // string@0428 │ │ -0240b0: 7220 3307 3200 |0066: invoke-interface {v2, v3}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0733 │ │ -0240b6: 1202 |0069: const/4 v2, #int 0 // #0 │ │ -0240b8: 5c62 f802 |006a: iput-boolean v2, v6, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.doReconnect:Z // field@02f8 │ │ -0240bc: 289a |006c: goto 0006 // -0066 │ │ -0240be: 0d02 |006d: move-exception v2 │ │ -0240c0: 7100 2707 0000 |006e: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0727 │ │ -0240c6: 0c03 |0071: move-result-object v3 │ │ -0240c8: 2204 2d01 |0072: new-instance v4, Ljava/lang/StringBuilder; // type@012d │ │ -0240cc: 1a05 3e04 |0074: const-string v5, "RemoteServer Exception processing " // string@043e │ │ -0240d0: 7020 aa05 5400 |0076: invoke-direct {v4, v5}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05aa │ │ -0240d6: 6e20 af05 1400 |0079: invoke-virtual {v4, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -0240dc: 1a05 2b00 |007c: const-string v5, "! " // string@002b │ │ -0240e0: 6e20 af05 5400 |007e: invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -0240e6: 6e10 4701 0200 |0081: invoke-virtual {v2}, Ldnsfilter/ConfigurationAccess$ConfigurationAccessException;.toString:()Ljava/lang/String; // method@0147 │ │ -0240ec: 0c02 |0084: move-result-object v2 │ │ -0240ee: 6e20 af05 2400 |0085: invoke-virtual {v4, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -0240f4: 6e10 b105 0400 |0088: invoke-virtual {v4}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ -0240fa: 0c02 |008b: move-result-object v2 │ │ -0240fc: 7220 3307 2300 |008c: invoke-interface {v3, v2}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0733 │ │ -024102: 2900 77ff |008f: goto/16 0006 // -0089 │ │ -024106: 7100 2707 0000 |0091: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0727 │ │ -02410c: 0c00 |0094: move-result-object v0 │ │ -02410e: 2201 2d01 |0095: new-instance v1, Ljava/lang/StringBuilder; // type@012d │ │ -024112: 1a02 2d04 |0097: const-string v2, "Remote Session " // string@042d │ │ -024116: 7020 aa05 2100 |0099: invoke-direct {v1, v2}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05aa │ │ -02411c: 5262 f902 |009c: iget v2, v6, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.id:I // field@02f9 │ │ -024120: 6e20 ac05 2100 |009e: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@05ac │ │ -024126: 1a02 1900 |00a1: const-string v2, " closed! " // string@0019 │ │ -02412a: 6e20 af05 2100 |00a3: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -024130: 5462 0003 |00a6: iget-object v2, v6, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.socket:Ljava/net/Socket; // field@0300 │ │ -024134: 6e20 ae05 2100 |00a8: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@05ae │ │ -02413a: 6e10 b105 0100 |00ab: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ -024140: 0c01 |00ae: move-result-object v1 │ │ -024142: 7220 3307 1000 |00af: invoke-interface {v0, v1}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0733 │ │ -024148: 0e00 |00b2: return-void │ │ +023fd0: |[023fd0] dnsfilter.remote.RemoteAccessServer$RemoteSession.run:()V │ │ +023fe0: 1300 0004 |0000: const/16 v0, #int 1024 // #400 │ │ +023fe4: 2300 9d01 |0002: new-array v0, v0, [B // type@019d │ │ +023fe8: 1a01 0000 |0004: const-string v1, "" // string@0000 │ │ +023fec: 5562 fb02 |0006: iget-boolean v2, v6, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.killed:Z // field@02fb │ │ +023ff0: 3902 8900 |0008: if-nez v2, 0091 // +0089 │ │ +023ff4: 5462 0103 |000a: iget-object v2, v6, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.this$0:Ldnsfilter/remote/RemoteAccessServer; // field@0301 │ │ +023ff8: 5463 fa02 |000c: iget-object v3, v6, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.in:Ljava/io/DataInputStream; // field@02fa │ │ +023ffc: 7130 a404 3200 |000e: invoke-static {v2, v3, v0}, Ldnsfilter/remote/RemoteAccessServer;.access$300:(Ldnsfilter/remote/RemoteAccessServer;Ljava/io/InputStream;[B)Ljava/lang/String; // method@04a4 │ │ +024002: 0c01 |0011: move-result-object v1 │ │ +024004: 1a02 8705 |0012: const-string v2, "attach" // string@0587 │ │ +024008: 6e20 8d05 2100 |0014: invoke-virtual {v1, v2}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058d │ │ +02400e: 0a02 |0017: move-result v2 │ │ +024010: 3802 0600 |0018: if-eqz v2, 001e // +0006 │ │ +024014: 7010 9604 0600 |001a: invoke-direct {v6}, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.attachStream:()V // method@0496 │ │ +02401a: 28e9 |001d: goto 0006 // -0017 │ │ +02401c: 1a02 d309 |001e: const-string v2, "releaseConfiguration()" // string@09d3 │ │ +024020: 6e20 8d05 2100 |0020: invoke-virtual {v1, v2}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058d │ │ +024026: 0a02 |0023: move-result v2 │ │ +024028: 3802 0600 |0024: if-eqz v2, 002a // +0006 │ │ +02402c: 6e10 9d04 0600 |0026: invoke-virtual {v6}, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.killSession:()V // method@049d │ │ +024032: 28dd |0029: goto 0006 // -0023 │ │ +024034: 1a02 0e06 |002a: const-string v2, "confirmHeartBeat()" // string@060e │ │ +024038: 6e20 8d05 2100 |002c: invoke-virtual {v1, v2}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058d │ │ +02403e: 0a02 |002f: move-result v2 │ │ +024040: 3802 0600 |0030: if-eqz v2, 0036 // +0006 │ │ +024044: 7010 9b04 0600 |0032: invoke-direct {v6}, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.heartBeatConfirmed:()V // method@049b │ │ +02404a: 28d1 |0035: goto 0006 // -002f │ │ +02404c: 7020 9904 1600 |0036: invoke-direct {v6, v1}, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.executeAction:(Ljava/lang/String;)V // method@0499 │ │ +024052: 28cd |0039: goto 0006 // -0033 │ │ +024054: 0d02 |003a: move-exception v2 │ │ +024056: 5563 f802 |003b: iget-boolean v3, v6, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.doReconnect:Z // field@02f8 │ │ +02405a: 3903 2300 |003d: if-nez v3, 0060 // +0023 │ │ +02405e: 5563 fb02 |003f: iget-boolean v3, v6, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.killed:Z // field@02fb │ │ +024062: 3903 c5ff |0041: if-nez v3, 0006 // -003b │ │ +024066: 7100 2707 0000 |0043: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0727 │ │ +02406c: 0c00 |0046: move-result-object v0 │ │ +02406e: 2201 2d01 |0047: new-instance v1, Ljava/lang/StringBuilder; // type@012d │ │ +024072: 1a03 8601 |0049: const-string v3, "Exception during RemoteServer Session read! " // string@0186 │ │ +024076: 7020 aa05 3100 |004b: invoke-direct {v1, v3}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05aa │ │ +02407c: 6e10 2605 0200 |004e: invoke-virtual {v2}, Ljava/io/IOException;.toString:()Ljava/lang/String; // method@0526 │ │ +024082: 0c02 |0051: move-result-object v2 │ │ +024084: 6e20 af05 2100 |0052: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +02408a: 6e10 b105 0100 |0055: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ +024090: 0c01 |0058: move-result-object v1 │ │ +024092: 7220 3307 1000 |0059: invoke-interface {v0, v1}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0733 │ │ +024098: 6e10 9d04 0600 |005c: invoke-virtual {v6}, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.killSession:()V // method@049d │ │ +02409e: 2832 |005f: goto 0091 // +0032 │ │ +0240a0: 7100 2707 0000 |0060: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0727 │ │ +0240a6: 0c02 |0063: move-result-object v2 │ │ +0240a8: 1a03 2804 |0064: const-string v3, "Reconnected Remote!" // string@0428 │ │ +0240ac: 7220 3307 3200 |0066: invoke-interface {v2, v3}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0733 │ │ +0240b2: 1202 |0069: const/4 v2, #int 0 // #0 │ │ +0240b4: 5c62 f802 |006a: iput-boolean v2, v6, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.doReconnect:Z // field@02f8 │ │ +0240b8: 289a |006c: goto 0006 // -0066 │ │ +0240ba: 0d02 |006d: move-exception v2 │ │ +0240bc: 7100 2707 0000 |006e: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0727 │ │ +0240c2: 0c03 |0071: move-result-object v3 │ │ +0240c4: 2204 2d01 |0072: new-instance v4, Ljava/lang/StringBuilder; // type@012d │ │ +0240c8: 1a05 3e04 |0074: const-string v5, "RemoteServer Exception processing " // string@043e │ │ +0240cc: 7020 aa05 5400 |0076: invoke-direct {v4, v5}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05aa │ │ +0240d2: 6e20 af05 1400 |0079: invoke-virtual {v4, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +0240d8: 1a05 2b00 |007c: const-string v5, "! " // string@002b │ │ +0240dc: 6e20 af05 5400 |007e: invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +0240e2: 6e10 4701 0200 |0081: invoke-virtual {v2}, Ldnsfilter/ConfigurationAccess$ConfigurationAccessException;.toString:()Ljava/lang/String; // method@0147 │ │ +0240e8: 0c02 |0084: move-result-object v2 │ │ +0240ea: 6e20 af05 2400 |0085: invoke-virtual {v4, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +0240f0: 6e10 b105 0400 |0088: invoke-virtual {v4}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ +0240f6: 0c02 |008b: move-result-object v2 │ │ +0240f8: 7220 3307 2300 |008c: invoke-interface {v3, v2}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0733 │ │ +0240fe: 2900 77ff |008f: goto/16 0006 // -0089 │ │ +024102: 7100 2707 0000 |0091: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0727 │ │ +024108: 0c00 |0094: move-result-object v0 │ │ +02410a: 2201 2d01 |0095: new-instance v1, Ljava/lang/StringBuilder; // type@012d │ │ +02410e: 1a02 2d04 |0097: const-string v2, "Remote Session " // string@042d │ │ +024112: 7020 aa05 2100 |0099: invoke-direct {v1, v2}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05aa │ │ +024118: 5262 f902 |009c: iget v2, v6, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.id:I // field@02f9 │ │ +02411c: 6e20 ac05 2100 |009e: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@05ac │ │ +024122: 1a02 1900 |00a1: const-string v2, " closed! " // string@0019 │ │ +024126: 6e20 af05 2100 |00a3: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +02412c: 5462 0003 |00a6: iget-object v2, v6, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.socket:Ljava/net/Socket; // field@0300 │ │ +024130: 6e20 ae05 2100 |00a8: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@05ae │ │ +024136: 6e10 b105 0100 |00ab: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ +02413c: 0c01 |00ae: move-result-object v1 │ │ +02413e: 7220 3307 1000 |00af: invoke-interface {v0, v1}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0733 │ │ +024144: 0e00 |00b2: return-void │ │ catches : 1 │ │ 0x000a - 0x0039 │ │ Ldnsfilter/ConfigurationAccess$ConfigurationAccessException; -> 0x006d │ │ Ljava/io/IOException; -> 0x003a │ │ positions : │ │ 0x0002 line=194 │ │ 0x0004 line=195 │ │ @@ -55491,21 +55491,21 @@ │ │ type : '()V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 12 16-bit code units │ │ -02415c: |[02415c] dnsfilter.remote.RemoteAccessServer$RemoteSession.timeoutNotification:()V │ │ -02416c: 7010 9704 0100 |0000: invoke-direct {v1}, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.checkLastConfirmedHeartBeat:()Z // method@0497 │ │ -024172: 0a00 |0003: move-result v0 │ │ -024174: 3800 0700 |0004: if-eqz v0, 000b // +0007 │ │ -024178: 6000 e402 |0006: sget v0, Ldnsfilter/remote/RemoteAccessClient;.READ_TIMEOUT:I // field@02e4 │ │ -02417c: 7020 9804 0100 |0008: invoke-direct {v1, v0}, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.doHeartBeat:(I)V // method@0498 │ │ -024182: 0e00 |000b: return-void │ │ +024158: |[024158] dnsfilter.remote.RemoteAccessServer$RemoteSession.timeoutNotification:()V │ │ +024168: 7010 9704 0100 |0000: invoke-direct {v1}, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.checkLastConfirmedHeartBeat:()Z // method@0497 │ │ +02416e: 0a00 |0003: move-result v0 │ │ +024170: 3800 0700 |0004: if-eqz v0, 000b // +0007 │ │ +024174: 6000 e402 |0006: sget v0, Ldnsfilter/remote/RemoteAccessClient;.READ_TIMEOUT:I // field@02e4 │ │ +024178: 7020 9804 0100 |0008: invoke-direct {v1, v0}, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.doHeartBeat:(I)V // method@0498 │ │ +02417e: 0e00 |000b: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=482 │ │ 0x0006 line=483 │ │ locals : │ │ 0x0000 - 0x000c reg=1 this Ldnsfilter/remote/RemoteAccessServer$RemoteSession; │ │ │ │ @@ -55538,28 +55538,28 @@ │ │ type : '([BII)V' │ │ access : 0x10001 (PUBLIC CONSTRUCTOR) │ │ code - │ │ registers : 4 │ │ ins : 4 │ │ outs : 4 │ │ insns size : 25 16-bit code units │ │ -025384: |[025384] ip.UDPPacket.:([BII)V │ │ -025394: 7040 ac04 1032 |0000: invoke-direct {v0, v1, v2, v3}, Lip/IPPacket;.:([BII)V // method@04ac │ │ -02539a: 5203 1003 |0003: iget v3, v0, Lip/UDPPacket;.ipHdrlen:I // field@0310 │ │ -02539e: b032 |0005: add-int/2addr v2, v3 │ │ -0253a0: 1303 0800 |0006: const/16 v3, #int 8 // #8 │ │ -0253a4: 7130 0b06 2103 |0008: invoke-static {v1, v2, v3}, Ljava/nio/ByteBuffer;.wrap:([BII)Ljava/nio/ByteBuffer; // method@060b │ │ -0253aa: 0c01 |000b: move-result-object v1 │ │ -0253ac: 6202 1c03 |000c: sget-object v2, Ljava/nio/ByteOrder;.BIG_ENDIAN:Ljava/nio/ByteOrder; // field@031c │ │ -0253b0: 6e20 0206 2100 |000e: invoke-virtual {v1, v2}, Ljava/nio/ByteBuffer;.order:(Ljava/nio/ByteOrder;)Ljava/nio/ByteBuffer; // method@0602 │ │ -0253b6: 0c01 |0011: move-result-object v1 │ │ -0253b8: 6e10 fc05 0100 |0012: invoke-virtual {v1}, Ljava/nio/ByteBuffer;.asIntBuffer:()Ljava/nio/IntBuffer; // method@05fc │ │ -0253be: 0c01 |0015: move-result-object v1 │ │ -0253c0: 5b01 1403 |0016: iput-object v1, v0, Lip/UDPPacket;.udpHeader:Ljava/nio/IntBuffer; // field@0314 │ │ -0253c4: 0e00 |0018: return-void │ │ +025380: |[025380] ip.UDPPacket.:([BII)V │ │ +025390: 7040 ac04 1032 |0000: invoke-direct {v0, v1, v2, v3}, Lip/IPPacket;.:([BII)V // method@04ac │ │ +025396: 5203 1003 |0003: iget v3, v0, Lip/UDPPacket;.ipHdrlen:I // field@0310 │ │ +02539a: b032 |0005: add-int/2addr v2, v3 │ │ +02539c: 1303 0800 |0006: const/16 v3, #int 8 // #8 │ │ +0253a0: 7130 0b06 2103 |0008: invoke-static {v1, v2, v3}, Ljava/nio/ByteBuffer;.wrap:([BII)Ljava/nio/ByteBuffer; // method@060b │ │ +0253a6: 0c01 |000b: move-result-object v1 │ │ +0253a8: 6202 1c03 |000c: sget-object v2, Ljava/nio/ByteOrder;.BIG_ENDIAN:Ljava/nio/ByteOrder; // field@031c │ │ +0253ac: 6e20 0206 2100 |000e: invoke-virtual {v1, v2}, Ljava/nio/ByteBuffer;.order:(Ljava/nio/ByteOrder;)Ljava/nio/ByteBuffer; // method@0602 │ │ +0253b2: 0c01 |0011: move-result-object v1 │ │ +0253b4: 6e10 fc05 0100 |0012: invoke-virtual {v1}, Ljava/nio/ByteBuffer;.asIntBuffer:()Ljava/nio/IntBuffer; // method@05fc │ │ +0253ba: 0c01 |0015: move-result-object v1 │ │ +0253bc: 5b01 1403 |0016: iput-object v1, v0, Lip/UDPPacket;.udpHeader:Ljava/nio/IntBuffer; // field@0314 │ │ +0253c0: 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 │ │ @@ -55571,83 +55571,83 @@ │ │ type : '(Z)I' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 8 │ │ ins : 2 │ │ outs : 3 │ │ insns size : 135 16-bit code units │ │ -025134: |[025134] ip.UDPPacket.calculateCheckSum:(Z)I │ │ -025144: 5260 1503 |0000: iget v0, v6, Lip/UDPPacket;.version:I // field@0315 │ │ -025148: 1241 |0002: const/4 v1, #int 4 // #4 │ │ -02514a: 3310 2a00 |0003: if-ne v0, v1, 002d // +002a │ │ -02514e: 5460 1103 |0005: iget-object v0, v6, Lip/UDPPacket;.ipHeader:Ljava/nio/IntBuffer; // field@0311 │ │ -025152: 1221 |0007: const/4 v1, #int 2 // #2 │ │ -025154: 6e20 0c06 1000 |0008: invoke-virtual {v0, v1}, Ljava/nio/IntBuffer;.get:(I)I // method@060c │ │ -02515a: 0a00 |000b: move-result v0 │ │ -02515c: 5462 1103 |000c: iget-object v2, v6, Lip/UDPPacket;.ipHeader:Ljava/nio/IntBuffer; // field@0311 │ │ -025160: 1503 1100 |000e: const/high16 v3, #int 1114112 // #11 │ │ -025164: 5264 1203 |0010: iget v4, v6, Lip/UDPPacket;.len:I // field@0312 │ │ -025168: b034 |0012: add-int/2addr v4, v3 │ │ -02516a: 5263 1003 |0013: iget v3, v6, Lip/UDPPacket;.ipHdrlen:I // field@0310 │ │ -02516e: b134 |0015: sub-int/2addr v4, v3 │ │ -025170: 6e30 1106 1204 |0016: invoke-virtual {v2, v1, v4}, Ljava/nio/IntBuffer;.put:(II)Ljava/nio/IntBuffer; // method@0611 │ │ -025176: 5462 0f03 |0019: iget-object v2, v6, Lip/UDPPacket;.data:[B // field@030f │ │ -02517a: 5263 1303 |001b: iget v3, v6, Lip/UDPPacket;.offset:I // field@0313 │ │ -02517e: d803 0308 |001d: add-int/lit8 v3, v3, #int 8 // #08 │ │ -025182: 5264 1203 |001f: iget v4, v6, Lip/UDPPacket;.len:I // field@0312 │ │ -025186: d804 04f8 |0021: add-int/lit8 v4, v4, #int -8 // #f8 │ │ -02518a: 7130 aa04 3204 |0023: invoke-static {v2, v3, v4}, Lip/CheckSum;.chkSum:([BII)I // method@04aa │ │ -025190: 0a02 |0026: move-result v2 │ │ -025192: 5463 1103 |0027: iget-object v3, v6, Lip/UDPPacket;.ipHeader:Ljava/nio/IntBuffer; // field@0311 │ │ -025196: 6e30 1106 1300 |0029: invoke-virtual {v3, v1, v0}, Ljava/nio/IntBuffer;.put:(II)Ljava/nio/IntBuffer; // method@0611 │ │ -02519c: 283d |002c: goto 0069 // +003d │ │ -02519e: 5260 1503 |002d: iget v0, v6, Lip/UDPPacket;.version:I // field@0315 │ │ -0251a2: 1261 |002f: const/4 v1, #int 6 // #6 │ │ -0251a4: 3310 4100 |0030: if-ne v0, v1, 0071 // +0041 │ │ -0251a8: 5460 1103 |0032: iget-object v0, v6, Lip/UDPPacket;.ipHeader:Ljava/nio/IntBuffer; // field@0311 │ │ -0251ac: 1201 |0034: const/4 v1, #int 0 // #0 │ │ -0251ae: 6e20 0c06 1000 |0035: invoke-virtual {v0, v1}, Ljava/nio/IntBuffer;.get:(I)I // method@060c │ │ -0251b4: 0a00 |0038: move-result v0 │ │ -0251b6: 5462 1103 |0039: iget-object v2, v6, Lip/UDPPacket;.ipHeader:Ljava/nio/IntBuffer; // field@0311 │ │ -0251ba: 1213 |003b: const/4 v3, #int 1 // #1 │ │ -0251bc: 6e20 0c06 3200 |003c: invoke-virtual {v2, v3}, Ljava/nio/IntBuffer;.get:(I)I // method@060c │ │ -0251c2: 0a02 |003f: move-result v2 │ │ -0251c4: 2420 9e01 2000 |0040: filled-new-array {v0, v2}, [I // type@019e │ │ -0251ca: 0c00 |0043: move-result-object v0 │ │ -0251cc: 5462 1103 |0044: iget-object v2, v6, Lip/UDPPacket;.ipHeader:Ljava/nio/IntBuffer; // field@0311 │ │ -0251d0: 5264 1203 |0046: iget v4, v6, Lip/UDPPacket;.len:I // field@0312 │ │ -0251d4: 5265 1003 |0048: iget v5, v6, Lip/UDPPacket;.ipHdrlen:I // field@0310 │ │ -0251d8: b154 |004a: sub-int/2addr v4, v5 │ │ -0251da: 6e30 1106 1204 |004b: invoke-virtual {v2, v1, v4}, Ljava/nio/IntBuffer;.put:(II)Ljava/nio/IntBuffer; // method@0611 │ │ -0251e0: 5462 1103 |004e: iget-object v2, v6, Lip/UDPPacket;.ipHeader:Ljava/nio/IntBuffer; // field@0311 │ │ -0251e4: 1304 1100 |0050: const/16 v4, #int 17 // #11 │ │ -0251e8: 6e30 1106 3204 |0052: invoke-virtual {v2, v3, v4}, Ljava/nio/IntBuffer;.put:(II)Ljava/nio/IntBuffer; // method@0611 │ │ -0251ee: 5462 0f03 |0055: iget-object v2, v6, Lip/UDPPacket;.data:[B // field@030f │ │ -0251f2: 5263 1303 |0057: iget v3, v6, Lip/UDPPacket;.offset:I // field@0313 │ │ -0251f6: 5264 1203 |0059: iget v4, v6, Lip/UDPPacket;.len:I // field@0312 │ │ -0251fa: 7130 aa04 3204 |005b: invoke-static {v2, v3, v4}, Lip/CheckSum;.chkSum:([BII)I // method@04aa │ │ -025200: 0a02 |005e: move-result v2 │ │ -025202: 5463 1103 |005f: iget-object v3, v6, Lip/UDPPacket;.ipHeader:Ljava/nio/IntBuffer; // field@0311 │ │ -025206: 6e20 0f06 1300 |0061: invoke-virtual {v3, v1}, Ljava/nio/IntBuffer;.position:(I)Ljava/nio/Buffer; // method@060f │ │ -02520c: 5461 1103 |0064: iget-object v1, v6, Lip/UDPPacket;.ipHeader:Ljava/nio/IntBuffer; // field@0311 │ │ -025210: 6e20 1206 0100 |0066: invoke-virtual {v1, v0}, Ljava/nio/IntBuffer;.put:([I)Ljava/nio/IntBuffer; // method@0612 │ │ -025216: 3807 0700 |0069: if-eqz v7, 0070 // +0007 │ │ -02521a: 3902 0500 |006b: if-nez v2, 0070 // +0005 │ │ -02521e: 1402 ffff 0000 |006d: const v2, #float 9.18341e-41 // #0000ffff │ │ -025224: 0f02 |0070: return v2 │ │ -025226: 2207 1d01 |0071: new-instance v7, Ljava/lang/IllegalStateException; // type@011d │ │ -02522a: 2200 2d01 |0073: new-instance v0, Ljava/lang/StringBuilder; // type@012d │ │ -02522e: 1a01 e201 |0075: const-string v1, "Illegal version:" // string@01e2 │ │ -025232: 7020 aa05 1000 |0077: invoke-direct {v0, v1}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05aa │ │ -025238: 5261 1503 |007a: iget v1, v6, Lip/UDPPacket;.version:I // field@0315 │ │ -02523c: 6e20 ac05 1000 |007c: invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@05ac │ │ -025242: 6e10 b105 0000 |007f: invoke-virtual {v0}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ -025248: 0c00 |0082: move-result-object v0 │ │ -02524a: 7020 6305 0700 |0083: invoke-direct {v7, v0}, Ljava/lang/IllegalStateException;.:(Ljava/lang/String;)V // method@0563 │ │ -025250: 2707 |0086: throw v7 │ │ +025130: |[025130] ip.UDPPacket.calculateCheckSum:(Z)I │ │ +025140: 5260 1503 |0000: iget v0, v6, Lip/UDPPacket;.version:I // field@0315 │ │ +025144: 1241 |0002: const/4 v1, #int 4 // #4 │ │ +025146: 3310 2a00 |0003: if-ne v0, v1, 002d // +002a │ │ +02514a: 5460 1103 |0005: iget-object v0, v6, Lip/UDPPacket;.ipHeader:Ljava/nio/IntBuffer; // field@0311 │ │ +02514e: 1221 |0007: const/4 v1, #int 2 // #2 │ │ +025150: 6e20 0c06 1000 |0008: invoke-virtual {v0, v1}, Ljava/nio/IntBuffer;.get:(I)I // method@060c │ │ +025156: 0a00 |000b: move-result v0 │ │ +025158: 5462 1103 |000c: iget-object v2, v6, Lip/UDPPacket;.ipHeader:Ljava/nio/IntBuffer; // field@0311 │ │ +02515c: 1503 1100 |000e: const/high16 v3, #int 1114112 // #11 │ │ +025160: 5264 1203 |0010: iget v4, v6, Lip/UDPPacket;.len:I // field@0312 │ │ +025164: b034 |0012: add-int/2addr v4, v3 │ │ +025166: 5263 1003 |0013: iget v3, v6, Lip/UDPPacket;.ipHdrlen:I // field@0310 │ │ +02516a: b134 |0015: sub-int/2addr v4, v3 │ │ +02516c: 6e30 1106 1204 |0016: invoke-virtual {v2, v1, v4}, Ljava/nio/IntBuffer;.put:(II)Ljava/nio/IntBuffer; // method@0611 │ │ +025172: 5462 0f03 |0019: iget-object v2, v6, Lip/UDPPacket;.data:[B // field@030f │ │ +025176: 5263 1303 |001b: iget v3, v6, Lip/UDPPacket;.offset:I // field@0313 │ │ +02517a: d803 0308 |001d: add-int/lit8 v3, v3, #int 8 // #08 │ │ +02517e: 5264 1203 |001f: iget v4, v6, Lip/UDPPacket;.len:I // field@0312 │ │ +025182: d804 04f8 |0021: add-int/lit8 v4, v4, #int -8 // #f8 │ │ +025186: 7130 aa04 3204 |0023: invoke-static {v2, v3, v4}, Lip/CheckSum;.chkSum:([BII)I // method@04aa │ │ +02518c: 0a02 |0026: move-result v2 │ │ +02518e: 5463 1103 |0027: iget-object v3, v6, Lip/UDPPacket;.ipHeader:Ljava/nio/IntBuffer; // field@0311 │ │ +025192: 6e30 1106 1300 |0029: invoke-virtual {v3, v1, v0}, Ljava/nio/IntBuffer;.put:(II)Ljava/nio/IntBuffer; // method@0611 │ │ +025198: 283d |002c: goto 0069 // +003d │ │ +02519a: 5260 1503 |002d: iget v0, v6, Lip/UDPPacket;.version:I // field@0315 │ │ +02519e: 1261 |002f: const/4 v1, #int 6 // #6 │ │ +0251a0: 3310 4100 |0030: if-ne v0, v1, 0071 // +0041 │ │ +0251a4: 5460 1103 |0032: iget-object v0, v6, Lip/UDPPacket;.ipHeader:Ljava/nio/IntBuffer; // field@0311 │ │ +0251a8: 1201 |0034: const/4 v1, #int 0 // #0 │ │ +0251aa: 6e20 0c06 1000 |0035: invoke-virtual {v0, v1}, Ljava/nio/IntBuffer;.get:(I)I // method@060c │ │ +0251b0: 0a00 |0038: move-result v0 │ │ +0251b2: 5462 1103 |0039: iget-object v2, v6, Lip/UDPPacket;.ipHeader:Ljava/nio/IntBuffer; // field@0311 │ │ +0251b6: 1213 |003b: const/4 v3, #int 1 // #1 │ │ +0251b8: 6e20 0c06 3200 |003c: invoke-virtual {v2, v3}, Ljava/nio/IntBuffer;.get:(I)I // method@060c │ │ +0251be: 0a02 |003f: move-result v2 │ │ +0251c0: 2420 9e01 2000 |0040: filled-new-array {v0, v2}, [I // type@019e │ │ +0251c6: 0c00 |0043: move-result-object v0 │ │ +0251c8: 5462 1103 |0044: iget-object v2, v6, Lip/UDPPacket;.ipHeader:Ljava/nio/IntBuffer; // field@0311 │ │ +0251cc: 5264 1203 |0046: iget v4, v6, Lip/UDPPacket;.len:I // field@0312 │ │ +0251d0: 5265 1003 |0048: iget v5, v6, Lip/UDPPacket;.ipHdrlen:I // field@0310 │ │ +0251d4: b154 |004a: sub-int/2addr v4, v5 │ │ +0251d6: 6e30 1106 1204 |004b: invoke-virtual {v2, v1, v4}, Ljava/nio/IntBuffer;.put:(II)Ljava/nio/IntBuffer; // method@0611 │ │ +0251dc: 5462 1103 |004e: iget-object v2, v6, Lip/UDPPacket;.ipHeader:Ljava/nio/IntBuffer; // field@0311 │ │ +0251e0: 1304 1100 |0050: const/16 v4, #int 17 // #11 │ │ +0251e4: 6e30 1106 3204 |0052: invoke-virtual {v2, v3, v4}, Ljava/nio/IntBuffer;.put:(II)Ljava/nio/IntBuffer; // method@0611 │ │ +0251ea: 5462 0f03 |0055: iget-object v2, v6, Lip/UDPPacket;.data:[B // field@030f │ │ +0251ee: 5263 1303 |0057: iget v3, v6, Lip/UDPPacket;.offset:I // field@0313 │ │ +0251f2: 5264 1203 |0059: iget v4, v6, Lip/UDPPacket;.len:I // field@0312 │ │ +0251f6: 7130 aa04 3204 |005b: invoke-static {v2, v3, v4}, Lip/CheckSum;.chkSum:([BII)I // method@04aa │ │ +0251fc: 0a02 |005e: move-result v2 │ │ +0251fe: 5463 1103 |005f: iget-object v3, v6, Lip/UDPPacket;.ipHeader:Ljava/nio/IntBuffer; // field@0311 │ │ +025202: 6e20 0f06 1300 |0061: invoke-virtual {v3, v1}, Ljava/nio/IntBuffer;.position:(I)Ljava/nio/Buffer; // method@060f │ │ +025208: 5461 1103 |0064: iget-object v1, v6, Lip/UDPPacket;.ipHeader:Ljava/nio/IntBuffer; // field@0311 │ │ +02520c: 6e20 1206 0100 |0066: invoke-virtual {v1, v0}, Ljava/nio/IntBuffer;.put:([I)Ljava/nio/IntBuffer; // method@0612 │ │ +025212: 3807 0700 |0069: if-eqz v7, 0070 // +0007 │ │ +025216: 3902 0500 |006b: if-nez v2, 0070 // +0005 │ │ +02521a: 1402 ffff 0000 |006d: const v2, #float 9.18341e-41 // #0000ffff │ │ +025220: 0f02 |0070: return v2 │ │ +025222: 2207 1d01 |0071: new-instance v7, Ljava/lang/IllegalStateException; // type@011d │ │ +025226: 2200 2d01 |0073: new-instance v0, Ljava/lang/StringBuilder; // type@012d │ │ +02522a: 1a01 e201 |0075: const-string v1, "Illegal version:" // string@01e2 │ │ +02522e: 7020 aa05 1000 |0077: invoke-direct {v0, v1}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05aa │ │ +025234: 5261 1503 |007a: iget v1, v6, Lip/UDPPacket;.version:I // field@0315 │ │ +025238: 6e20 ac05 1000 |007c: invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@05ac │ │ +02523e: 6e10 b105 0000 |007f: invoke-virtual {v0}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ +025244: 0c00 |0082: move-result-object v0 │ │ +025246: 7020 6305 0700 |0083: invoke-direct {v7, v0}, Ljava/lang/IllegalStateException;.:(Ljava/lang/String;)V // method@0563 │ │ +02524c: 2707 |0086: throw v7 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=64 │ │ 0x0005 line=65 │ │ 0x000c line=66 │ │ 0x0019 line=67 │ │ 0x0027 line=68 │ │ @@ -55668,23 +55668,23 @@ │ │ type : '([BIII)Lip/UDPPacket;' │ │ access : 0x0009 (PUBLIC STATIC) │ │ code - │ │ registers : 4 │ │ ins : 4 │ │ outs : 4 │ │ insns size : 16 16-bit code units │ │ -025354: |[025354] ip.UDPPacket.createUDPPacket:([BIII)Lip/UDPPacket; │ │ -025364: e003 0304 |0000: shl-int/lit8 v3, v3, #int 4 // #04 │ │ -025368: d533 ff00 |0002: and-int/lit16 v3, v3, #int 255 // #00ff │ │ -02536c: 8d33 |0004: int-to-byte v3, v3 │ │ -02536e: 4f03 0001 |0005: aput-byte v3, v0, v1 │ │ -025372: 2203 f100 |0007: new-instance v3, Lip/UDPPacket; // type@00f1 │ │ -025376: 7040 c104 0321 |0009: invoke-direct {v3, v0, v1, v2}, Lip/UDPPacket;.:([BII)V // method@04c1 │ │ -02537c: 6e10 d104 0300 |000c: invoke-virtual {v3}, Lip/UDPPacket;.initInitialIPHeader:()V // method@04d1 │ │ -025382: 1103 |000f: return-object v3 │ │ +025350: |[025350] ip.UDPPacket.createUDPPacket:([BIII)Lip/UDPPacket; │ │ +025360: e003 0304 |0000: shl-int/lit8 v3, v3, #int 4 // #04 │ │ +025364: d533 ff00 |0002: and-int/lit16 v3, v3, #int 255 // #00ff │ │ +025368: 8d33 |0004: int-to-byte v3, v3 │ │ +02536a: 4f03 0001 |0005: aput-byte v3, v0, v1 │ │ +02536e: 2203 f100 |0007: new-instance v3, Lip/UDPPacket; // type@00f1 │ │ +025372: 7040 c104 0321 |0009: invoke-direct {v3, v0, v1, v2}, Lip/UDPPacket;.:([BII)V // method@04c1 │ │ +025378: 6e10 d104 0300 |000c: invoke-virtual {v3}, Lip/UDPPacket;.initInitialIPHeader:()V // method@04d1 │ │ +02537e: 1103 |000f: return-object v3 │ │ catches : (none) │ │ positions : │ │ 0x0005 line=41 │ │ 0x0007 line=43 │ │ 0x000c line=44 │ │ locals : │ │ 0x0000 - 0x0010 reg=0 (null) [B │ │ @@ -55698,19 +55698,19 @@ │ │ type : '()I' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 6 16-bit code units │ │ -025254: |[025254] ip.UDPPacket.checkCheckSum:()I │ │ -025264: 1200 |0000: const/4 v0, #int 0 // #0 │ │ -025266: 7020 c204 0100 |0001: invoke-direct {v1, v0}, Lip/UDPPacket;.calculateCheckSum:(Z)I // method@04c2 │ │ -02526c: 0a00 |0004: move-result v0 │ │ -02526e: 0f00 |0005: return v0 │ │ +025250: |[025250] ip.UDPPacket.checkCheckSum:()I │ │ +025260: 1200 |0000: const/4 v0, #int 0 // #0 │ │ +025262: 7020 c204 0100 |0001: invoke-direct {v1, v0}, Lip/UDPPacket;.calculateCheckSum:(Z)I // method@04c2 │ │ +025268: 0a00 |0004: move-result v0 │ │ +02526a: 0f00 |0005: return v0 │ │ catches : (none) │ │ positions : │ │ 0x0001 line=59 │ │ locals : │ │ 0x0000 - 0x0006 reg=1 this Lip/UDPPacket; │ │ │ │ #1 : (in Lip/UDPPacket;) │ │ @@ -55718,22 +55718,22 @@ │ │ type : '()I' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 3 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 12 16-bit code units │ │ -025270: |[025270] ip.UDPPacket.getDestPort:()I │ │ -025280: 5420 1403 |0000: iget-object v0, v2, Lip/UDPPacket;.udpHeader:Ljava/nio/IntBuffer; // field@0314 │ │ -025284: 1201 |0002: const/4 v1, #int 0 // #0 │ │ -025286: 6e20 0c06 1000 |0003: invoke-virtual {v0, v1}, Ljava/nio/IntBuffer;.get:(I)I // method@060c │ │ -02528c: 0a00 |0006: move-result v0 │ │ -02528e: 1401 ffff 0000 |0007: const v1, #float 9.18341e-41 // #0000ffff │ │ -025294: b510 |000a: and-int/2addr v0, v1 │ │ -025296: 0f00 |000b: return v0 │ │ +02526c: |[02526c] ip.UDPPacket.getDestPort:()I │ │ +02527c: 5420 1403 |0000: iget-object v0, v2, Lip/UDPPacket;.udpHeader:Ljava/nio/IntBuffer; // field@0314 │ │ +025280: 1201 |0002: const/4 v1, #int 0 // #0 │ │ +025282: 6e20 0c06 1000 |0003: invoke-virtual {v0, v1}, Ljava/nio/IntBuffer;.get:(I)I // method@060c │ │ +025288: 0a00 |0006: move-result v0 │ │ +02528a: 1401 ffff 0000 |0007: const v1, #float 9.18341e-41 // #0000ffff │ │ +025290: b510 |000a: and-int/2addr v0, v1 │ │ +025292: 0f00 |000b: return v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=90 │ │ locals : │ │ 0x0000 - 0x000c reg=2 this Lip/UDPPacket; │ │ │ │ #2 : (in Lip/UDPPacket;) │ │ @@ -55741,18 +55741,18 @@ │ │ type : '()I' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 0 │ │ insns size : 5 16-bit code units │ │ -025298: |[025298] ip.UDPPacket.getHeaderLength:()I │ │ -0252a8: 5210 1003 |0000: iget v0, v1, Lip/UDPPacket;.ipHdrlen:I // field@0310 │ │ -0252ac: d800 0008 |0002: add-int/lit8 v0, v0, #int 8 // #08 │ │ -0252b0: 0f00 |0004: return v0 │ │ +025294: |[025294] ip.UDPPacket.getHeaderLength:()I │ │ +0252a4: 5210 1003 |0000: iget v0, v1, Lip/UDPPacket;.ipHdrlen:I // field@0310 │ │ +0252a8: d800 0008 |0002: add-int/lit8 v0, v0, #int 8 // #08 │ │ +0252ac: 0f00 |0004: return v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=102 │ │ locals : │ │ 0x0000 - 0x0005 reg=1 this Lip/UDPPacket; │ │ │ │ #3 : (in Lip/UDPPacket;) │ │ @@ -55760,18 +55760,18 @@ │ │ type : '()I' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 5 16-bit code units │ │ -0252b4: |[0252b4] ip.UDPPacket.getIPPacketLength:()I │ │ -0252c4: 6f10 b604 0100 |0000: invoke-super {v1}, Lip/IPPacket;.getLength:()I // method@04b6 │ │ -0252ca: 0a00 |0003: move-result v0 │ │ -0252cc: 0f00 |0004: return v0 │ │ +0252b0: |[0252b0] ip.UDPPacket.getIPPacketLength:()I │ │ +0252c0: 6f10 b604 0100 |0000: invoke-super {v1}, Lip/IPPacket;.getLength:()I // method@04b6 │ │ +0252c6: 0a00 |0003: move-result v0 │ │ +0252c8: 0f00 |0004: return v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=98 │ │ locals : │ │ 0x0000 - 0x0005 reg=1 this Lip/UDPPacket; │ │ │ │ #4 : (in Lip/UDPPacket;) │ │ @@ -55779,18 +55779,18 @@ │ │ type : '()I' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 5 16-bit code units │ │ -0252d0: |[0252d0] ip.UDPPacket.getIPPacketOffset:()I │ │ -0252e0: 6f10 b704 0100 |0000: invoke-super {v1}, Lip/IPPacket;.getOffset:()I // method@04b7 │ │ -0252e6: 0a00 |0003: move-result v0 │ │ -0252e8: 0f00 |0004: return v0 │ │ +0252cc: |[0252cc] ip.UDPPacket.getIPPacketOffset:()I │ │ +0252dc: 6f10 b704 0100 |0000: invoke-super {v1}, Lip/IPPacket;.getOffset:()I // method@04b7 │ │ +0252e2: 0a00 |0003: move-result v0 │ │ +0252e4: 0f00 |0004: return v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=110 │ │ locals : │ │ 0x0000 - 0x0005 reg=1 this Lip/UDPPacket; │ │ │ │ #5 : (in Lip/UDPPacket;) │ │ @@ -55798,21 +55798,21 @@ │ │ type : '()I' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 3 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 10 16-bit code units │ │ -0252ec: |[0252ec] ip.UDPPacket.getLength:()I │ │ -0252fc: 5420 1403 |0000: iget-object v0, v2, Lip/UDPPacket;.udpHeader:Ljava/nio/IntBuffer; // field@0314 │ │ -025300: 1211 |0002: const/4 v1, #int 1 // #1 │ │ -025302: 6e20 0c06 1000 |0003: invoke-virtual {v0, v1}, Ljava/nio/IntBuffer;.get:(I)I // method@060c │ │ -025308: 0a00 |0006: move-result v0 │ │ -02530a: e200 0010 |0007: ushr-int/lit8 v0, v0, #int 16 // #10 │ │ -02530e: 0f00 |0009: return v0 │ │ +0252e8: |[0252e8] ip.UDPPacket.getLength:()I │ │ +0252f8: 5420 1403 |0000: iget-object v0, v2, Lip/UDPPacket;.udpHeader:Ljava/nio/IntBuffer; // field@0314 │ │ +0252fc: 1211 |0002: const/4 v1, #int 1 // #1 │ │ +0252fe: 6e20 0c06 1000 |0003: invoke-virtual {v0, v1}, Ljava/nio/IntBuffer;.get:(I)I // method@060c │ │ +025304: 0a00 |0006: move-result v0 │ │ +025306: e200 0010 |0007: ushr-int/lit8 v0, v0, #int 16 // #10 │ │ +02530a: 0f00 |0009: return v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=94 │ │ locals : │ │ 0x0000 - 0x000a reg=2 this Lip/UDPPacket; │ │ │ │ #6 : (in Lip/UDPPacket;) │ │ @@ -55820,20 +55820,20 @@ │ │ type : '()I' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 3 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 8 16-bit code units │ │ -025310: |[025310] ip.UDPPacket.getOffset:()I │ │ -025320: 6f10 b704 0200 |0000: invoke-super {v2}, Lip/IPPacket;.getOffset:()I // method@04b7 │ │ -025326: 0a00 |0003: move-result v0 │ │ -025328: 5221 1003 |0004: iget v1, v2, Lip/UDPPacket;.ipHdrlen:I // field@0310 │ │ -02532c: b010 |0006: add-int/2addr v0, v1 │ │ -02532e: 0f00 |0007: return v0 │ │ +02530c: |[02530c] ip.UDPPacket.getOffset:()I │ │ +02531c: 6f10 b704 0200 |0000: invoke-super {v2}, Lip/IPPacket;.getOffset:()I // method@04b7 │ │ +025322: 0a00 |0003: move-result v0 │ │ +025324: 5221 1003 |0004: iget v1, v2, Lip/UDPPacket;.ipHdrlen:I // field@0310 │ │ +025328: b010 |0006: add-int/2addr v0, v1 │ │ +02532a: 0f00 |0007: return v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=106 │ │ locals : │ │ 0x0000 - 0x0008 reg=2 this Lip/UDPPacket; │ │ │ │ #7 : (in Lip/UDPPacket;) │ │ @@ -55841,21 +55841,21 @@ │ │ type : '()I' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 3 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 10 16-bit code units │ │ -025330: |[025330] ip.UDPPacket.getSourcePort:()I │ │ -025340: 5420 1403 |0000: iget-object v0, v2, Lip/UDPPacket;.udpHeader:Ljava/nio/IntBuffer; // field@0314 │ │ -025344: 1201 |0002: const/4 v1, #int 0 // #0 │ │ -025346: 6e20 0c06 1000 |0003: invoke-virtual {v0, v1}, Ljava/nio/IntBuffer;.get:(I)I // method@060c │ │ -02534c: 0a00 |0006: move-result v0 │ │ -02534e: e200 0010 |0007: ushr-int/lit8 v0, v0, #int 16 // #10 │ │ -025352: 0f00 |0009: return v0 │ │ +02532c: |[02532c] ip.UDPPacket.getSourcePort:()I │ │ +02533c: 5420 1403 |0000: iget-object v0, v2, Lip/UDPPacket;.udpHeader:Ljava/nio/IntBuffer; // field@0314 │ │ +025340: 1201 |0002: const/4 v1, #int 0 // #0 │ │ +025342: 6e20 0c06 1000 |0003: invoke-virtual {v0, v1}, Ljava/nio/IntBuffer;.get:(I)I // method@060c │ │ +025348: 0a00 |0006: move-result v0 │ │ +02534a: e200 0010 |0007: ushr-int/lit8 v0, v0, #int 16 // #10 │ │ +02534e: 0f00 |0009: return v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=86 │ │ locals : │ │ 0x0000 - 0x000a reg=2 this Lip/UDPPacket; │ │ │ │ #8 : (in Lip/UDPPacket;) │ │ @@ -55863,37 +55863,37 @@ │ │ type : '(II)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 5 │ │ ins : 3 │ │ outs : 3 │ │ insns size : 41 16-bit code units │ │ -0253c8: |[0253c8] ip.UDPPacket.updateHeader:(II)V │ │ -0253d8: e003 0310 |0000: shl-int/lit8 v3, v3, #int 16 // #10 │ │ -0253dc: b043 |0002: add-int/2addr v3, v4 │ │ -0253de: 5224 1203 |0003: iget v4, v2, Lip/UDPPacket;.len:I // field@0312 │ │ -0253e2: 5220 1003 |0005: iget v0, v2, Lip/UDPPacket;.ipHdrlen:I // field@0310 │ │ -0253e6: b104 |0007: sub-int/2addr v4, v0 │ │ -0253e8: e004 0410 |0008: shl-int/lit8 v4, v4, #int 16 // #10 │ │ -0253ec: 2420 9e01 4300 |000a: filled-new-array {v3, v4}, [I // type@019e │ │ -0253f2: 0c03 |000d: move-result-object v3 │ │ -0253f4: 5424 1403 |000e: iget-object v4, v2, Lip/UDPPacket;.udpHeader:Ljava/nio/IntBuffer; // field@0314 │ │ -0253f8: 1200 |0010: const/4 v0, #int 0 // #0 │ │ -0253fa: 6e20 0f06 0400 |0011: invoke-virtual {v4, v0}, Ljava/nio/IntBuffer;.position:(I)Ljava/nio/Buffer; // method@060f │ │ -025400: 5424 1403 |0014: iget-object v4, v2, Lip/UDPPacket;.udpHeader:Ljava/nio/IntBuffer; // field@0314 │ │ -025404: 6e20 1206 3400 |0016: invoke-virtual {v4, v3}, Ljava/nio/IntBuffer;.put:([I)Ljava/nio/IntBuffer; // method@0612 │ │ -02540a: 1214 |0019: const/4 v4, #int 1 // #1 │ │ -02540c: 4400 0304 |001a: aget v0, v3, v4 │ │ -025410: 7020 c204 4200 |001c: invoke-direct {v2, v4}, Lip/UDPPacket;.calculateCheckSum:(Z)I // method@04c2 │ │ -025416: 0a01 |001f: move-result v1 │ │ -025418: b010 |0020: add-int/2addr v0, v1 │ │ -02541a: 4b00 0304 |0021: aput v0, v3, v4 │ │ -02541e: 5423 1403 |0023: iget-object v3, v2, Lip/UDPPacket;.udpHeader:Ljava/nio/IntBuffer; // field@0314 │ │ -025422: 6e30 1106 4300 |0025: invoke-virtual {v3, v4, v0}, Ljava/nio/IntBuffer;.put:(II)Ljava/nio/IntBuffer; // method@0611 │ │ -025428: 0e00 |0028: return-void │ │ +0253c4: |[0253c4] ip.UDPPacket.updateHeader:(II)V │ │ +0253d4: e003 0310 |0000: shl-int/lit8 v3, v3, #int 16 // #10 │ │ +0253d8: b043 |0002: add-int/2addr v3, v4 │ │ +0253da: 5224 1203 |0003: iget v4, v2, Lip/UDPPacket;.len:I // field@0312 │ │ +0253de: 5220 1003 |0005: iget v0, v2, Lip/UDPPacket;.ipHdrlen:I // field@0310 │ │ +0253e2: b104 |0007: sub-int/2addr v4, v0 │ │ +0253e4: e004 0410 |0008: shl-int/lit8 v4, v4, #int 16 // #10 │ │ +0253e8: 2420 9e01 4300 |000a: filled-new-array {v3, v4}, [I // type@019e │ │ +0253ee: 0c03 |000d: move-result-object v3 │ │ +0253f0: 5424 1403 |000e: iget-object v4, v2, Lip/UDPPacket;.udpHeader:Ljava/nio/IntBuffer; // field@0314 │ │ +0253f4: 1200 |0010: const/4 v0, #int 0 // #0 │ │ +0253f6: 6e20 0f06 0400 |0011: invoke-virtual {v4, v0}, Ljava/nio/IntBuffer;.position:(I)Ljava/nio/Buffer; // method@060f │ │ +0253fc: 5424 1403 |0014: iget-object v4, v2, Lip/UDPPacket;.udpHeader:Ljava/nio/IntBuffer; // field@0314 │ │ +025400: 6e20 1206 3400 |0016: invoke-virtual {v4, v3}, Ljava/nio/IntBuffer;.put:([I)Ljava/nio/IntBuffer; // method@0612 │ │ +025406: 1214 |0019: const/4 v4, #int 1 // #1 │ │ +025408: 4400 0304 |001a: aget v0, v3, v4 │ │ +02540c: 7020 c204 4200 |001c: invoke-direct {v2, v4}, Lip/UDPPacket;.calculateCheckSum:(Z)I // method@04c2 │ │ +025412: 0a01 |001f: move-result v1 │ │ +025414: b010 |0020: add-int/2addr v0, v1 │ │ +025416: 4b00 0304 |0021: aput v0, v3, v4 │ │ +02541a: 5423 1403 |0023: iget-object v3, v2, Lip/UDPPacket;.udpHeader:Ljava/nio/IntBuffer; // field@0314 │ │ +02541e: 6e30 1106 4300 |0025: invoke-virtual {v3, v4, v0}, Ljava/nio/IntBuffer;.put:(II)Ljava/nio/IntBuffer; // method@0611 │ │ +025424: 0e00 |0028: return-void │ │ catches : (none) │ │ positions : │ │ 0x0003 line=51 │ │ 0x000e line=52 │ │ 0x0014 line=53 │ │ 0x001a line=54 │ │ 0x0023 line=55 │ │ @@ -55959,22 +55959,22 @@ │ │ type : '(Lutil/LoggerInterface;)V' │ │ access : 0x10001 (PUBLIC CONSTRUCTOR) │ │ code - │ │ registers : 3 │ │ ins : 2 │ │ outs : 1 │ │ insns size : 14 16-bit code units │ │ -02542c: |[02542c] util.AsyncBulkLogger.:(Lutil/LoggerInterface;)V │ │ -02543c: 7010 7505 0100 |0000: invoke-direct {v1}, Ljava/lang/Object;.:()V // method@0575 │ │ -025442: 1200 |0003: const/4 v0, #int 0 // #0 │ │ -025444: 5c10 1f03 |0004: iput-boolean v0, v1, Lutil/AsyncBulkLogger;.closed:Z // field@031f │ │ -025448: 5c10 2403 |0006: iput-boolean v0, v1, Lutil/AsyncBulkLogger;.timeStampEnabled:Z // field@0324 │ │ -02544c: 5b12 2003 |0008: iput-object v2, v1, Lutil/AsyncBulkLogger;.out:Lutil/LoggerInterface; // field@0320 │ │ -025450: 7010 b406 0100 |000a: invoke-direct {v1}, Lutil/AsyncBulkLogger;.logOpen:()V // method@06b4 │ │ -025456: 0e00 |000d: return-void │ │ +025428: |[025428] util.AsyncBulkLogger.:(Lutil/LoggerInterface;)V │ │ +025438: 7010 7505 0100 |0000: invoke-direct {v1}, Ljava/lang/Object;.:()V // method@0575 │ │ +02543e: 1200 |0003: const/4 v0, #int 0 // #0 │ │ +025440: 5c10 1f03 |0004: iput-boolean v0, v1, Lutil/AsyncBulkLogger;.closed:Z // field@031f │ │ +025444: 5c10 2403 |0006: iput-boolean v0, v1, Lutil/AsyncBulkLogger;.timeStampEnabled:Z // field@0324 │ │ +025448: 5b12 2003 |0008: iput-object v2, v1, Lutil/AsyncBulkLogger;.out:Lutil/LoggerInterface; // field@0320 │ │ +02544c: 7010 b406 0100 |000a: invoke-direct {v1}, Lutil/AsyncBulkLogger;.logOpen:()V // method@06b4 │ │ +025452: 0e00 |000d: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=39 │ │ 0x0004 line=36 │ │ 0x0006 line=37 │ │ 0x0008 line=40 │ │ 0x000a line=41 │ │ @@ -55987,33 +55987,33 @@ │ │ type : '()V' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 4 │ │ ins : 1 │ │ outs : 3 │ │ insns size : 40 16-bit code units │ │ -0256e0: |[0256e0] util.AsyncBulkLogger.logOpen:()V │ │ -0256f0: 2200 0701 |0000: new-instance v0, Ljava/io/PipedInputStream; // type@0107 │ │ -0256f4: 1301 0028 |0002: const/16 v1, #int 10240 // #2800 │ │ -0256f8: 7020 3b05 1000 |0004: invoke-direct {v0, v1}, Ljava/io/PipedInputStream;.:(I)V // method@053b │ │ -0256fe: 5b30 2103 |0007: iput-object v0, v3, Lutil/AsyncBulkLogger;.pin:Ljava/io/PipedInputStream; // field@0321 │ │ -025702: 2200 0801 |0009: new-instance v0, Ljava/io/PipedOutputStream; // type@0108 │ │ -025706: 5431 2103 |000b: iget-object v1, v3, Lutil/AsyncBulkLogger;.pin:Ljava/io/PipedInputStream; // field@0321 │ │ -02570a: 7020 3e05 1000 |000d: invoke-direct {v0, v1}, Ljava/io/PipedOutputStream;.:(Ljava/io/PipedInputStream;)V // method@053e │ │ -025710: 5b30 2203 |0010: iput-object v0, v3, Lutil/AsyncBulkLogger;.pout:Ljava/io/PipedOutputStream; // field@0322 │ │ -025714: 2200 0901 |0012: new-instance v0, Ljava/io/PrintStream; // type@0109 │ │ -025718: 5431 2203 |0014: iget-object v1, v3, Lutil/AsyncBulkLogger;.pout:Ljava/io/PipedOutputStream; // field@0322 │ │ -02571c: 1212 |0016: const/4 v2, #int 1 // #1 │ │ -02571e: 7030 4005 1002 |0017: invoke-direct {v0, v1, v2}, Ljava/io/PrintStream;.:(Ljava/io/OutputStream;Z)V // method@0540 │ │ -025724: 5b30 2303 |001a: iput-object v0, v3, Lutil/AsyncBulkLogger;.psout:Ljava/io/PrintStream; // field@0323 │ │ -025728: 2200 2f01 |001c: new-instance v0, Ljava/lang/Thread; // type@012f │ │ -02572c: 7020 b605 3000 |001e: invoke-direct {v0, v3}, Ljava/lang/Thread;.:(Ljava/lang/Runnable;)V // method@05b6 │ │ -025732: 6e20 ba05 2000 |0021: invoke-virtual {v0, v2}, Ljava/lang/Thread;.setDaemon:(Z)V // method@05ba │ │ -025738: 6e10 bc05 0000 |0024: invoke-virtual {v0}, Ljava/lang/Thread;.start:()V // method@05bc │ │ -02573e: 0e00 |0027: return-void │ │ +0256dc: |[0256dc] util.AsyncBulkLogger.logOpen:()V │ │ +0256ec: 2200 0701 |0000: new-instance v0, Ljava/io/PipedInputStream; // type@0107 │ │ +0256f0: 1301 0028 |0002: const/16 v1, #int 10240 // #2800 │ │ +0256f4: 7020 3b05 1000 |0004: invoke-direct {v0, v1}, Ljava/io/PipedInputStream;.:(I)V // method@053b │ │ +0256fa: 5b30 2103 |0007: iput-object v0, v3, Lutil/AsyncBulkLogger;.pin:Ljava/io/PipedInputStream; // field@0321 │ │ +0256fe: 2200 0801 |0009: new-instance v0, Ljava/io/PipedOutputStream; // type@0108 │ │ +025702: 5431 2103 |000b: iget-object v1, v3, Lutil/AsyncBulkLogger;.pin:Ljava/io/PipedInputStream; // field@0321 │ │ +025706: 7020 3e05 1000 |000d: invoke-direct {v0, v1}, Ljava/io/PipedOutputStream;.:(Ljava/io/PipedInputStream;)V // method@053e │ │ +02570c: 5b30 2203 |0010: iput-object v0, v3, Lutil/AsyncBulkLogger;.pout:Ljava/io/PipedOutputStream; // field@0322 │ │ +025710: 2200 0901 |0012: new-instance v0, Ljava/io/PrintStream; // type@0109 │ │ +025714: 5431 2203 |0014: iget-object v1, v3, Lutil/AsyncBulkLogger;.pout:Ljava/io/PipedOutputStream; // field@0322 │ │ +025718: 1212 |0016: const/4 v2, #int 1 // #1 │ │ +02571a: 7030 4005 1002 |0017: invoke-direct {v0, v1, v2}, Ljava/io/PrintStream;.:(Ljava/io/OutputStream;Z)V // method@0540 │ │ +025720: 5b30 2303 |001a: iput-object v0, v3, Lutil/AsyncBulkLogger;.psout:Ljava/io/PrintStream; // field@0323 │ │ +025724: 2200 2f01 |001c: new-instance v0, Ljava/lang/Thread; // type@012f │ │ +025728: 7020 b605 3000 |001e: invoke-direct {v0, v3}, Ljava/lang/Thread;.:(Ljava/lang/Runnable;)V // method@05b6 │ │ +02572e: 6e20 ba05 2000 |0021: invoke-virtual {v0, v2}, Ljava/lang/Thread;.setDaemon:(Z)V // method@05ba │ │ +025734: 6e10 bc05 0000 |0024: invoke-virtual {v0}, Ljava/lang/Thread;.start:()V // method@05bc │ │ +02573a: 0e00 |0027: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=49 │ │ 0x0009 line=50 │ │ 0x0012 line=51 │ │ 0x001c line=53 │ │ 0x0021 line=54 │ │ @@ -56027,32 +56027,32 @@ │ │ type : '()V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 3 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 27 16-bit code units │ │ -025458: |[025458] util.AsyncBulkLogger.closeLogger:()V │ │ -025468: 5420 2103 |0000: iget-object v0, v2, Lutil/AsyncBulkLogger;.pin:Ljava/io/PipedInputStream; // field@0321 │ │ -02546c: 1d00 |0002: monitor-enter v0 │ │ -02546e: 1211 |0003: const/4 v1, #int 1 // #1 │ │ -025470: 5c21 1f03 |0004: iput-boolean v1, v2, Lutil/AsyncBulkLogger;.closed:Z // field@031f │ │ -025474: 5421 2203 |0006: iget-object v1, v2, Lutil/AsyncBulkLogger;.pout:Ljava/io/PipedOutputStream; // field@0322 │ │ -025478: 6e10 3f05 0100 |0008: invoke-virtual {v1}, Ljava/io/PipedOutputStream;.close:()V // method@053f │ │ -02547e: 5421 2103 |000b: iget-object v1, v2, Lutil/AsyncBulkLogger;.pin:Ljava/io/PipedInputStream; // field@0321 │ │ -025482: 6e10 7905 0100 |000d: invoke-virtual {v1}, Ljava/lang/Object;.notifyAll:()V // method@0579 │ │ -025488: 2807 |0010: goto 0017 // +0007 │ │ -02548a: 0d01 |0011: move-exception v1 │ │ -02548c: 2807 |0012: goto 0019 // +0007 │ │ -02548e: 0d01 |0013: move-exception v1 │ │ -025490: 6e10 2505 0100 |0014: invoke-virtual {v1}, Ljava/io/IOException;.printStackTrace:()V // method@0525 │ │ -025496: 1e00 |0017: monitor-exit v0 │ │ -025498: 0e00 |0018: return-void │ │ -02549a: 1e00 |0019: monitor-exit v0 │ │ -02549c: 2701 |001a: throw v1 │ │ +025454: |[025454] util.AsyncBulkLogger.closeLogger:()V │ │ +025464: 5420 2103 |0000: iget-object v0, v2, Lutil/AsyncBulkLogger;.pin:Ljava/io/PipedInputStream; // field@0321 │ │ +025468: 1d00 |0002: monitor-enter v0 │ │ +02546a: 1211 |0003: const/4 v1, #int 1 // #1 │ │ +02546c: 5c21 1f03 |0004: iput-boolean v1, v2, Lutil/AsyncBulkLogger;.closed:Z // field@031f │ │ +025470: 5421 2203 |0006: iget-object v1, v2, Lutil/AsyncBulkLogger;.pout:Ljava/io/PipedOutputStream; // field@0322 │ │ +025474: 6e10 3f05 0100 |0008: invoke-virtual {v1}, Ljava/io/PipedOutputStream;.close:()V // method@053f │ │ +02547a: 5421 2103 |000b: iget-object v1, v2, Lutil/AsyncBulkLogger;.pin:Ljava/io/PipedInputStream; // field@0321 │ │ +02547e: 6e10 7905 0100 |000d: invoke-virtual {v1}, Ljava/lang/Object;.notifyAll:()V // method@0579 │ │ +025484: 2807 |0010: goto 0017 // +0007 │ │ +025486: 0d01 |0011: move-exception v1 │ │ +025488: 2807 |0012: goto 0019 // +0007 │ │ +02548a: 0d01 |0013: move-exception v1 │ │ +02548c: 6e10 2505 0100 |0014: invoke-virtual {v1}, Ljava/io/IOException;.printStackTrace:()V // method@0525 │ │ +025492: 1e00 |0017: monitor-exit v0 │ │ +025494: 0e00 |0018: return-void │ │ +025496: 1e00 |0019: monitor-exit v0 │ │ +025498: 2701 |001a: throw v1 │ │ catches : 2 │ │ 0x0004 - 0x0010 │ │ Ljava/io/IOException; -> 0x0013 │ │ -> 0x0011 │ │ 0x0014 - 0x001a │ │ -> 0x0011 │ │ positions : │ │ @@ -56070,17 +56070,17 @@ │ │ type : '(Z)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 2 │ │ outs : 0 │ │ insns size : 3 16-bit code units │ │ -0254b8: |[0254b8] util.AsyncBulkLogger.enableTimestamp:(Z)V │ │ -0254c8: 5c01 2403 |0000: iput-boolean v1, v0, Lutil/AsyncBulkLogger;.timeStampEnabled:Z // field@0324 │ │ -0254cc: 0e00 |0002: return-void │ │ +0254b4: |[0254b4] util.AsyncBulkLogger.enableTimestamp:(Z)V │ │ +0254c4: 5c01 2403 |0000: iput-boolean v1, v0, Lutil/AsyncBulkLogger;.timeStampEnabled:Z // field@0324 │ │ +0254c8: 0e00 |0002: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=45 │ │ locals : │ │ 0x0000 - 0x0003 reg=0 this Lutil/AsyncBulkLogger; │ │ 0x0000 - 0x0003 reg=1 (null) Z │ │ │ │ @@ -56089,45 +56089,45 @@ │ │ type : '(Ljava/lang/String;)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 7 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 55 16-bit code units │ │ -0254d0: |[0254d0] util.AsyncBulkLogger.log:(Ljava/lang/String;)V │ │ -0254e0: 5450 2303 |0000: iget-object v0, v5, Lutil/AsyncBulkLogger;.psout:Ljava/io/PrintStream; // field@0323 │ │ -0254e4: 1d00 |0002: monitor-enter v0 │ │ -0254e6: 5451 2103 |0003: iget-object v1, v5, Lutil/AsyncBulkLogger;.pin:Ljava/io/PipedInputStream; // field@0321 │ │ -0254ea: 1d01 |0005: monitor-enter v1 │ │ -0254ec: 5552 2403 |0006: iget-boolean v2, v5, Lutil/AsyncBulkLogger;.timeStampEnabled:Z // field@0324 │ │ -0254f0: 3802 1c00 |0008: if-eqz v2, 0024 // +001c │ │ -0254f4: 5452 2303 |000a: iget-object v2, v5, Lutil/AsyncBulkLogger;.psout:Ljava/io/PrintStream; // field@0323 │ │ -0254f8: 2203 2d01 |000c: new-instance v3, Ljava/lang/StringBuilder; // type@012d │ │ -0254fc: 7010 a905 0300 |000e: invoke-direct {v3}, Ljava/lang/StringBuilder;.:()V // method@05a9 │ │ -025502: 7100 c306 0000 |0011: invoke-static {}, Lutil/DateRetriever;.getDateString:()Ljava/lang/String; // method@06c3 │ │ -025508: 0c04 |0014: move-result-object v4 │ │ -02550a: 6e20 af05 4300 |0015: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -025510: 1a04 0d00 |0018: const-string v4, " " // string@000d │ │ -025514: 6e20 af05 4300 |001a: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -02551a: 6e10 b105 0300 |001d: invoke-virtual {v3}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ -025520: 0c03 |0020: move-result-object v3 │ │ -025522: 6e20 4105 3200 |0021: invoke-virtual {v2, v3}, Ljava/io/PrintStream;.print:(Ljava/lang/String;)V // method@0541 │ │ -025528: 5452 2303 |0024: iget-object v2, v5, Lutil/AsyncBulkLogger;.psout:Ljava/io/PrintStream; // field@0323 │ │ -02552c: 6e20 4105 6200 |0026: invoke-virtual {v2, v6}, Ljava/io/PrintStream;.print:(Ljava/lang/String;)V // method@0541 │ │ -025532: 5456 2103 |0029: iget-object v6, v5, Lutil/AsyncBulkLogger;.pin:Ljava/io/PipedInputStream; // field@0321 │ │ -025536: 6e10 7905 0600 |002b: invoke-virtual {v6}, Ljava/lang/Object;.notifyAll:()V // method@0579 │ │ -02553c: 1e01 |002e: monitor-exit v1 │ │ -02553e: 1e00 |002f: monitor-exit v0 │ │ -025540: 0e00 |0030: return-void │ │ -025542: 0d06 |0031: move-exception v6 │ │ -025544: 1e01 |0032: monitor-exit v1 │ │ -025546: 2706 |0033: throw v6 │ │ -025548: 0d06 |0034: move-exception v6 │ │ -02554a: 1e00 |0035: monitor-exit v0 │ │ -02554c: 2706 |0036: throw v6 │ │ +0254cc: |[0254cc] util.AsyncBulkLogger.log:(Ljava/lang/String;)V │ │ +0254dc: 5450 2303 |0000: iget-object v0, v5, Lutil/AsyncBulkLogger;.psout:Ljava/io/PrintStream; // field@0323 │ │ +0254e0: 1d00 |0002: monitor-enter v0 │ │ +0254e2: 5451 2103 |0003: iget-object v1, v5, Lutil/AsyncBulkLogger;.pin:Ljava/io/PipedInputStream; // field@0321 │ │ +0254e6: 1d01 |0005: monitor-enter v1 │ │ +0254e8: 5552 2403 |0006: iget-boolean v2, v5, Lutil/AsyncBulkLogger;.timeStampEnabled:Z // field@0324 │ │ +0254ec: 3802 1c00 |0008: if-eqz v2, 0024 // +001c │ │ +0254f0: 5452 2303 |000a: iget-object v2, v5, Lutil/AsyncBulkLogger;.psout:Ljava/io/PrintStream; // field@0323 │ │ +0254f4: 2203 2d01 |000c: new-instance v3, Ljava/lang/StringBuilder; // type@012d │ │ +0254f8: 7010 a905 0300 |000e: invoke-direct {v3}, Ljava/lang/StringBuilder;.:()V // method@05a9 │ │ +0254fe: 7100 c306 0000 |0011: invoke-static {}, Lutil/DateRetriever;.getDateString:()Ljava/lang/String; // method@06c3 │ │ +025504: 0c04 |0014: move-result-object v4 │ │ +025506: 6e20 af05 4300 |0015: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +02550c: 1a04 0d00 |0018: const-string v4, " " // string@000d │ │ +025510: 6e20 af05 4300 |001a: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +025516: 6e10 b105 0300 |001d: invoke-virtual {v3}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ +02551c: 0c03 |0020: move-result-object v3 │ │ +02551e: 6e20 4105 3200 |0021: invoke-virtual {v2, v3}, Ljava/io/PrintStream;.print:(Ljava/lang/String;)V // method@0541 │ │ +025524: 5452 2303 |0024: iget-object v2, v5, Lutil/AsyncBulkLogger;.psout:Ljava/io/PrintStream; // field@0323 │ │ +025528: 6e20 4105 6200 |0026: invoke-virtual {v2, v6}, Ljava/io/PrintStream;.print:(Ljava/lang/String;)V // method@0541 │ │ +02552e: 5456 2103 |0029: iget-object v6, v5, Lutil/AsyncBulkLogger;.pin:Ljava/io/PipedInputStream; // field@0321 │ │ +025532: 6e10 7905 0600 |002b: invoke-virtual {v6}, Ljava/lang/Object;.notifyAll:()V // method@0579 │ │ +025538: 1e01 |002e: monitor-exit v1 │ │ +02553a: 1e00 |002f: monitor-exit v0 │ │ +02553c: 0e00 |0030: return-void │ │ +02553e: 0d06 |0031: move-exception v6 │ │ +025540: 1e01 |0032: monitor-exit v1 │ │ +025542: 2706 |0033: throw v6 │ │ +025544: 0d06 |0034: move-exception v6 │ │ +025546: 1e00 |0035: monitor-exit v0 │ │ +025548: 2706 |0036: throw v6 │ │ catches : 5 │ │ 0x0003 - 0x0006 │ │ -> 0x0034 │ │ 0x0006 - 0x002f │ │ -> 0x0031 │ │ 0x002f - 0x0030 │ │ -> 0x0034 │ │ @@ -56155,45 +56155,45 @@ │ │ type : '(Ljava/lang/Exception;)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 7 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 55 16-bit code units │ │ -025580: |[025580] util.AsyncBulkLogger.logException:(Ljava/lang/Exception;)V │ │ -025590: 5450 2303 |0000: iget-object v0, v5, Lutil/AsyncBulkLogger;.psout:Ljava/io/PrintStream; // field@0323 │ │ -025594: 1d00 |0002: monitor-enter v0 │ │ -025596: 5451 2103 |0003: iget-object v1, v5, Lutil/AsyncBulkLogger;.pin:Ljava/io/PipedInputStream; // field@0321 │ │ -02559a: 1d01 |0005: monitor-enter v1 │ │ -02559c: 5552 2403 |0006: iget-boolean v2, v5, Lutil/AsyncBulkLogger;.timeStampEnabled:Z // field@0324 │ │ -0255a0: 3802 1c00 |0008: if-eqz v2, 0024 // +001c │ │ -0255a4: 5452 2303 |000a: iget-object v2, v5, Lutil/AsyncBulkLogger;.psout:Ljava/io/PrintStream; // field@0323 │ │ -0255a8: 2203 2d01 |000c: new-instance v3, Ljava/lang/StringBuilder; // type@012d │ │ -0255ac: 7010 a905 0300 |000e: invoke-direct {v3}, Ljava/lang/StringBuilder;.:()V // method@05a9 │ │ -0255b2: 7100 c306 0000 |0011: invoke-static {}, Lutil/DateRetriever;.getDateString:()Ljava/lang/String; // method@06c3 │ │ -0255b8: 0c04 |0014: move-result-object v4 │ │ -0255ba: 6e20 af05 4300 |0015: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -0255c0: 1a04 0d00 |0018: const-string v4, " " // string@000d │ │ -0255c4: 6e20 af05 4300 |001a: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -0255ca: 6e10 b105 0300 |001d: invoke-virtual {v3}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ -0255d0: 0c03 |0020: move-result-object v3 │ │ -0255d2: 6e20 4105 3200 |0021: invoke-virtual {v2, v3}, Ljava/io/PrintStream;.print:(Ljava/lang/String;)V // method@0541 │ │ -0255d8: 5452 2303 |0024: iget-object v2, v5, Lutil/AsyncBulkLogger;.psout:Ljava/io/PrintStream; // field@0323 │ │ -0255dc: 6e20 5f05 2600 |0026: invoke-virtual {v6, v2}, Ljava/lang/Exception;.printStackTrace:(Ljava/io/PrintStream;)V // method@055f │ │ -0255e2: 5456 2103 |0029: iget-object v6, v5, Lutil/AsyncBulkLogger;.pin:Ljava/io/PipedInputStream; // field@0321 │ │ -0255e6: 6e10 7905 0600 |002b: invoke-virtual {v6}, Ljava/lang/Object;.notifyAll:()V // method@0579 │ │ -0255ec: 1e01 |002e: monitor-exit v1 │ │ -0255ee: 1e00 |002f: monitor-exit v0 │ │ -0255f0: 0e00 |0030: return-void │ │ -0255f2: 0d06 |0031: move-exception v6 │ │ -0255f4: 1e01 |0032: monitor-exit v1 │ │ -0255f6: 2706 |0033: throw v6 │ │ -0255f8: 0d06 |0034: move-exception v6 │ │ -0255fa: 1e00 |0035: monitor-exit v0 │ │ -0255fc: 2706 |0036: throw v6 │ │ +02557c: |[02557c] util.AsyncBulkLogger.logException:(Ljava/lang/Exception;)V │ │ +02558c: 5450 2303 |0000: iget-object v0, v5, Lutil/AsyncBulkLogger;.psout:Ljava/io/PrintStream; // field@0323 │ │ +025590: 1d00 |0002: monitor-enter v0 │ │ +025592: 5451 2103 |0003: iget-object v1, v5, Lutil/AsyncBulkLogger;.pin:Ljava/io/PipedInputStream; // field@0321 │ │ +025596: 1d01 |0005: monitor-enter v1 │ │ +025598: 5552 2403 |0006: iget-boolean v2, v5, Lutil/AsyncBulkLogger;.timeStampEnabled:Z // field@0324 │ │ +02559c: 3802 1c00 |0008: if-eqz v2, 0024 // +001c │ │ +0255a0: 5452 2303 |000a: iget-object v2, v5, Lutil/AsyncBulkLogger;.psout:Ljava/io/PrintStream; // field@0323 │ │ +0255a4: 2203 2d01 |000c: new-instance v3, Ljava/lang/StringBuilder; // type@012d │ │ +0255a8: 7010 a905 0300 |000e: invoke-direct {v3}, Ljava/lang/StringBuilder;.:()V // method@05a9 │ │ +0255ae: 7100 c306 0000 |0011: invoke-static {}, Lutil/DateRetriever;.getDateString:()Ljava/lang/String; // method@06c3 │ │ +0255b4: 0c04 |0014: move-result-object v4 │ │ +0255b6: 6e20 af05 4300 |0015: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +0255bc: 1a04 0d00 |0018: const-string v4, " " // string@000d │ │ +0255c0: 6e20 af05 4300 |001a: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +0255c6: 6e10 b105 0300 |001d: invoke-virtual {v3}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ +0255cc: 0c03 |0020: move-result-object v3 │ │ +0255ce: 6e20 4105 3200 |0021: invoke-virtual {v2, v3}, Ljava/io/PrintStream;.print:(Ljava/lang/String;)V // method@0541 │ │ +0255d4: 5452 2303 |0024: iget-object v2, v5, Lutil/AsyncBulkLogger;.psout:Ljava/io/PrintStream; // field@0323 │ │ +0255d8: 6e20 5f05 2600 |0026: invoke-virtual {v6, v2}, Ljava/lang/Exception;.printStackTrace:(Ljava/io/PrintStream;)V // method@055f │ │ +0255de: 5456 2103 |0029: iget-object v6, v5, Lutil/AsyncBulkLogger;.pin:Ljava/io/PipedInputStream; // field@0321 │ │ +0255e2: 6e10 7905 0600 |002b: invoke-virtual {v6}, Ljava/lang/Object;.notifyAll:()V // method@0579 │ │ +0255e8: 1e01 |002e: monitor-exit v1 │ │ +0255ea: 1e00 |002f: monitor-exit v0 │ │ +0255ec: 0e00 |0030: return-void │ │ +0255ee: 0d06 |0031: move-exception v6 │ │ +0255f0: 1e01 |0032: monitor-exit v1 │ │ +0255f2: 2706 |0033: throw v6 │ │ +0255f4: 0d06 |0034: move-exception v6 │ │ +0255f6: 1e00 |0035: monitor-exit v0 │ │ +0255f8: 2706 |0036: throw v6 │ │ catches : 5 │ │ 0x0003 - 0x0006 │ │ -> 0x0034 │ │ 0x0006 - 0x002f │ │ -> 0x0031 │ │ 0x002f - 0x0030 │ │ -> 0x0034 │ │ @@ -56221,45 +56221,45 @@ │ │ type : '(Ljava/lang/String;)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 7 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 55 16-bit code units │ │ -025630: |[025630] util.AsyncBulkLogger.logLine:(Ljava/lang/String;)V │ │ -025640: 5450 2303 |0000: iget-object v0, v5, Lutil/AsyncBulkLogger;.psout:Ljava/io/PrintStream; // field@0323 │ │ -025644: 1d00 |0002: monitor-enter v0 │ │ -025646: 5451 2103 |0003: iget-object v1, v5, Lutil/AsyncBulkLogger;.pin:Ljava/io/PipedInputStream; // field@0321 │ │ -02564a: 1d01 |0005: monitor-enter v1 │ │ -02564c: 5552 2403 |0006: iget-boolean v2, v5, Lutil/AsyncBulkLogger;.timeStampEnabled:Z // field@0324 │ │ -025650: 3802 1c00 |0008: if-eqz v2, 0024 // +001c │ │ -025654: 5452 2303 |000a: iget-object v2, v5, Lutil/AsyncBulkLogger;.psout:Ljava/io/PrintStream; // field@0323 │ │ -025658: 2203 2d01 |000c: new-instance v3, Ljava/lang/StringBuilder; // type@012d │ │ -02565c: 7010 a905 0300 |000e: invoke-direct {v3}, Ljava/lang/StringBuilder;.:()V // method@05a9 │ │ -025662: 7100 c306 0000 |0011: invoke-static {}, Lutil/DateRetriever;.getDateString:()Ljava/lang/String; // method@06c3 │ │ -025668: 0c04 |0014: move-result-object v4 │ │ -02566a: 6e20 af05 4300 |0015: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -025670: 1a04 0d00 |0018: const-string v4, " " // string@000d │ │ -025674: 6e20 af05 4300 |001a: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -02567a: 6e10 b105 0300 |001d: invoke-virtual {v3}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ -025680: 0c03 |0020: move-result-object v3 │ │ -025682: 6e20 4105 3200 |0021: invoke-virtual {v2, v3}, Ljava/io/PrintStream;.print:(Ljava/lang/String;)V // method@0541 │ │ -025688: 5452 2303 |0024: iget-object v2, v5, Lutil/AsyncBulkLogger;.psout:Ljava/io/PrintStream; // field@0323 │ │ -02568c: 6e20 4205 6200 |0026: invoke-virtual {v2, v6}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@0542 │ │ -025692: 5456 2103 |0029: iget-object v6, v5, Lutil/AsyncBulkLogger;.pin:Ljava/io/PipedInputStream; // field@0321 │ │ -025696: 6e10 7905 0600 |002b: invoke-virtual {v6}, Ljava/lang/Object;.notifyAll:()V // method@0579 │ │ -02569c: 1e01 |002e: monitor-exit v1 │ │ -02569e: 1e00 |002f: monitor-exit v0 │ │ -0256a0: 0e00 |0030: return-void │ │ -0256a2: 0d06 |0031: move-exception v6 │ │ -0256a4: 1e01 |0032: monitor-exit v1 │ │ -0256a6: 2706 |0033: throw v6 │ │ -0256a8: 0d06 |0034: move-exception v6 │ │ -0256aa: 1e00 |0035: monitor-exit v0 │ │ -0256ac: 2706 |0036: throw v6 │ │ +02562c: |[02562c] util.AsyncBulkLogger.logLine:(Ljava/lang/String;)V │ │ +02563c: 5450 2303 |0000: iget-object v0, v5, Lutil/AsyncBulkLogger;.psout:Ljava/io/PrintStream; // field@0323 │ │ +025640: 1d00 |0002: monitor-enter v0 │ │ +025642: 5451 2103 |0003: iget-object v1, v5, Lutil/AsyncBulkLogger;.pin:Ljava/io/PipedInputStream; // field@0321 │ │ +025646: 1d01 |0005: monitor-enter v1 │ │ +025648: 5552 2403 |0006: iget-boolean v2, v5, Lutil/AsyncBulkLogger;.timeStampEnabled:Z // field@0324 │ │ +02564c: 3802 1c00 |0008: if-eqz v2, 0024 // +001c │ │ +025650: 5452 2303 |000a: iget-object v2, v5, Lutil/AsyncBulkLogger;.psout:Ljava/io/PrintStream; // field@0323 │ │ +025654: 2203 2d01 |000c: new-instance v3, Ljava/lang/StringBuilder; // type@012d │ │ +025658: 7010 a905 0300 |000e: invoke-direct {v3}, Ljava/lang/StringBuilder;.:()V // method@05a9 │ │ +02565e: 7100 c306 0000 |0011: invoke-static {}, Lutil/DateRetriever;.getDateString:()Ljava/lang/String; // method@06c3 │ │ +025664: 0c04 |0014: move-result-object v4 │ │ +025666: 6e20 af05 4300 |0015: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +02566c: 1a04 0d00 |0018: const-string v4, " " // string@000d │ │ +025670: 6e20 af05 4300 |001a: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +025676: 6e10 b105 0300 |001d: invoke-virtual {v3}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ +02567c: 0c03 |0020: move-result-object v3 │ │ +02567e: 6e20 4105 3200 |0021: invoke-virtual {v2, v3}, Ljava/io/PrintStream;.print:(Ljava/lang/String;)V // method@0541 │ │ +025684: 5452 2303 |0024: iget-object v2, v5, Lutil/AsyncBulkLogger;.psout:Ljava/io/PrintStream; // field@0323 │ │ +025688: 6e20 4205 6200 |0026: invoke-virtual {v2, v6}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@0542 │ │ +02568e: 5456 2103 |0029: iget-object v6, v5, Lutil/AsyncBulkLogger;.pin:Ljava/io/PipedInputStream; // field@0321 │ │ +025692: 6e10 7905 0600 |002b: invoke-virtual {v6}, Ljava/lang/Object;.notifyAll:()V // method@0579 │ │ +025698: 1e01 |002e: monitor-exit v1 │ │ +02569a: 1e00 |002f: monitor-exit v0 │ │ +02569c: 0e00 |0030: return-void │ │ +02569e: 0d06 |0031: move-exception v6 │ │ +0256a0: 1e01 |0032: monitor-exit v1 │ │ +0256a2: 2706 |0033: throw v6 │ │ +0256a4: 0d06 |0034: move-exception v6 │ │ +0256a6: 1e00 |0035: monitor-exit v0 │ │ +0256a8: 2706 |0036: throw v6 │ │ catches : 5 │ │ 0x0003 - 0x0006 │ │ -> 0x0034 │ │ 0x0006 - 0x002f │ │ -> 0x0031 │ │ 0x002f - 0x0030 │ │ -> 0x0034 │ │ @@ -56287,24 +56287,24 @@ │ │ type : '(Ljava/lang/String;)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 4 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 13 16-bit code units │ │ -025740: |[025740] util.AsyncBulkLogger.message:(Ljava/lang/String;)V │ │ -025750: 5420 2103 |0000: iget-object v0, v2, Lutil/AsyncBulkLogger;.pin:Ljava/io/PipedInputStream; // field@0321 │ │ -025754: 1d00 |0002: monitor-enter v0 │ │ -025756: 5421 2003 |0003: iget-object v1, v2, Lutil/AsyncBulkLogger;.out:Lutil/LoggerInterface; // field@0320 │ │ -02575a: 7220 3407 3100 |0005: invoke-interface {v1, v3}, Lutil/LoggerInterface;.message:(Ljava/lang/String;)V // method@0734 │ │ -025760: 1e00 |0008: monitor-exit v0 │ │ -025762: 0e00 |0009: return-void │ │ -025764: 0d03 |000a: move-exception v3 │ │ -025766: 1e00 |000b: monitor-exit v0 │ │ -025768: 2703 |000c: throw v3 │ │ +02573c: |[02573c] util.AsyncBulkLogger.message:(Ljava/lang/String;)V │ │ +02574c: 5420 2103 |0000: iget-object v0, v2, Lutil/AsyncBulkLogger;.pin:Ljava/io/PipedInputStream; // field@0321 │ │ +025750: 1d00 |0002: monitor-enter v0 │ │ +025752: 5421 2003 |0003: iget-object v1, v2, Lutil/AsyncBulkLogger;.out:Lutil/LoggerInterface; // field@0320 │ │ +025756: 7220 3407 3100 |0005: invoke-interface {v1, v3}, Lutil/LoggerInterface;.message:(Ljava/lang/String;)V // method@0734 │ │ +02575c: 1e00 |0008: monitor-exit v0 │ │ +02575e: 0e00 |0009: return-void │ │ +025760: 0d03 |000a: move-exception v3 │ │ +025762: 1e00 |000b: monitor-exit v0 │ │ +025764: 2703 |000c: throw v3 │ │ catches : 1 │ │ 0x0003 - 0x000c │ │ -> 0x000a │ │ positions : │ │ 0x0000 line=109 │ │ 0x0003 line=110 │ │ 0x0008 line=111 │ │ @@ -56317,55 +56317,55 @@ │ │ type : '()V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 6 │ │ ins : 1 │ │ outs : 4 │ │ insns size : 71 16-bit code units │ │ -025778: |[025778] util.AsyncBulkLogger.run:()V │ │ -025788: 1300 0010 |0000: const/16 v0, #int 4096 // #1000 │ │ -02578c: 2300 9d01 |0002: new-array v0, v0, [B // type@019d │ │ -025790: 1201 |0004: const/4 v1, #int 0 // #0 │ │ -025792: 1202 |0005: const/4 v2, #int 0 // #0 │ │ -025794: 5553 1f03 |0006: iget-boolean v3, v5, Lutil/AsyncBulkLogger;.closed:Z // field@031f │ │ -025798: 3903 3e00 |0008: if-nez v3, 0046 // +003e │ │ -02579c: 5453 2103 |000a: iget-object v3, v5, Lutil/AsyncBulkLogger;.pin:Ljava/io/PipedInputStream; // field@0321 │ │ -0257a0: 1d03 |000c: monitor-enter v3 │ │ -0257a2: 5454 2103 |000d: iget-object v4, v5, Lutil/AsyncBulkLogger;.pin:Ljava/io/PipedInputStream; // field@0321 │ │ -0257a6: 6e10 3c05 0400 |000f: invoke-virtual {v4}, Ljava/io/PipedInputStream;.available:()I // method@053c │ │ -0257ac: 0a04 |0012: move-result v4 │ │ -0257ae: 3c04 1100 |0013: if-gtz v4, 0024 // +0011 │ │ -0257b2: 5554 1f03 |0015: iget-boolean v4, v5, Lutil/AsyncBulkLogger;.closed:Z // field@031f │ │ -0257b6: 3904 0d00 |0017: if-nez v4, 0024 // +000d │ │ -0257ba: 5454 2103 |0019: iget-object v4, v5, Lutil/AsyncBulkLogger;.pin:Ljava/io/PipedInputStream; // field@0321 │ │ -0257be: 6e10 7b05 0400 |001b: invoke-virtual {v4}, Ljava/lang/Object;.wait:()V // method@057b │ │ -0257c4: 28ef |001e: goto 000d // -0011 │ │ -0257c6: 0d04 |001f: move-exception v4 │ │ -0257c8: 6e10 6b05 0400 |0020: invoke-virtual {v4}, Ljava/lang/InterruptedException;.printStackTrace:()V // method@056b │ │ -0257ce: 28ea |0023: goto 000d // -0016 │ │ -0257d0: 5554 1f03 |0024: iget-boolean v4, v5, Lutil/AsyncBulkLogger;.closed:Z // field@031f │ │ -0257d4: 3904 0800 |0026: if-nez v4, 002e // +0008 │ │ -0257d8: 5454 2103 |0028: iget-object v4, v5, Lutil/AsyncBulkLogger;.pin:Ljava/io/PipedInputStream; // field@0321 │ │ -0257dc: 6e20 3d05 0400 |002a: invoke-virtual {v4, v0}, Ljava/io/PipedInputStream;.read:([B)I // method@053d │ │ -0257e2: 0a02 |002d: move-result v2 │ │ -0257e4: 1e03 |002e: monitor-exit v3 │ │ -0257e6: 5553 1f03 |002f: iget-boolean v3, v5, Lutil/AsyncBulkLogger;.closed:Z // field@031f │ │ -0257ea: 3903 d5ff |0031: if-nez v3, 0006 // -002b │ │ -0257ee: 5453 2003 |0033: iget-object v3, v5, Lutil/AsyncBulkLogger;.out:Lutil/LoggerInterface; // field@0320 │ │ -0257f2: 2204 2b01 |0035: new-instance v4, Ljava/lang/String; // type@012b │ │ -0257f6: 7040 8805 0421 |0037: invoke-direct {v4, v0, v1, v2}, Ljava/lang/String;.:([BII)V // method@0588 │ │ -0257fc: 7220 3107 4300 |003a: invoke-interface {v3, v4}, Lutil/LoggerInterface;.log:(Ljava/lang/String;)V // method@0731 │ │ -025802: 28c9 |003d: goto 0006 // -0037 │ │ -025804: 0d04 |003e: move-exception v4 │ │ -025806: 1e03 |003f: monitor-exit v3 │ │ -025808: 2704 |0040: throw v4 │ │ -02580a: 0d03 |0041: move-exception v3 │ │ -02580c: 6e10 5e05 0300 |0042: invoke-virtual {v3}, Ljava/lang/Exception;.printStackTrace:()V // method@055e │ │ -025812: 28c1 |0045: goto 0006 // -003f │ │ -025814: 0e00 |0046: return-void │ │ +025774: |[025774] util.AsyncBulkLogger.run:()V │ │ +025784: 1300 0010 |0000: const/16 v0, #int 4096 // #1000 │ │ +025788: 2300 9d01 |0002: new-array v0, v0, [B // type@019d │ │ +02578c: 1201 |0004: const/4 v1, #int 0 // #0 │ │ +02578e: 1202 |0005: const/4 v2, #int 0 // #0 │ │ +025790: 5553 1f03 |0006: iget-boolean v3, v5, Lutil/AsyncBulkLogger;.closed:Z // field@031f │ │ +025794: 3903 3e00 |0008: if-nez v3, 0046 // +003e │ │ +025798: 5453 2103 |000a: iget-object v3, v5, Lutil/AsyncBulkLogger;.pin:Ljava/io/PipedInputStream; // field@0321 │ │ +02579c: 1d03 |000c: monitor-enter v3 │ │ +02579e: 5454 2103 |000d: iget-object v4, v5, Lutil/AsyncBulkLogger;.pin:Ljava/io/PipedInputStream; // field@0321 │ │ +0257a2: 6e10 3c05 0400 |000f: invoke-virtual {v4}, Ljava/io/PipedInputStream;.available:()I // method@053c │ │ +0257a8: 0a04 |0012: move-result v4 │ │ +0257aa: 3c04 1100 |0013: if-gtz v4, 0024 // +0011 │ │ +0257ae: 5554 1f03 |0015: iget-boolean v4, v5, Lutil/AsyncBulkLogger;.closed:Z // field@031f │ │ +0257b2: 3904 0d00 |0017: if-nez v4, 0024 // +000d │ │ +0257b6: 5454 2103 |0019: iget-object v4, v5, Lutil/AsyncBulkLogger;.pin:Ljava/io/PipedInputStream; // field@0321 │ │ +0257ba: 6e10 7b05 0400 |001b: invoke-virtual {v4}, Ljava/lang/Object;.wait:()V // method@057b │ │ +0257c0: 28ef |001e: goto 000d // -0011 │ │ +0257c2: 0d04 |001f: move-exception v4 │ │ +0257c4: 6e10 6b05 0400 |0020: invoke-virtual {v4}, Ljava/lang/InterruptedException;.printStackTrace:()V // method@056b │ │ +0257ca: 28ea |0023: goto 000d // -0016 │ │ +0257cc: 5554 1f03 |0024: iget-boolean v4, v5, Lutil/AsyncBulkLogger;.closed:Z // field@031f │ │ +0257d0: 3904 0800 |0026: if-nez v4, 002e // +0008 │ │ +0257d4: 5454 2103 |0028: iget-object v4, v5, Lutil/AsyncBulkLogger;.pin:Ljava/io/PipedInputStream; // field@0321 │ │ +0257d8: 6e20 3d05 0400 |002a: invoke-virtual {v4, v0}, Ljava/io/PipedInputStream;.read:([B)I // method@053d │ │ +0257de: 0a02 |002d: move-result v2 │ │ +0257e0: 1e03 |002e: monitor-exit v3 │ │ +0257e2: 5553 1f03 |002f: iget-boolean v3, v5, Lutil/AsyncBulkLogger;.closed:Z // field@031f │ │ +0257e6: 3903 d5ff |0031: if-nez v3, 0006 // -002b │ │ +0257ea: 5453 2003 |0033: iget-object v3, v5, Lutil/AsyncBulkLogger;.out:Lutil/LoggerInterface; // field@0320 │ │ +0257ee: 2204 2b01 |0035: new-instance v4, Ljava/lang/String; // type@012b │ │ +0257f2: 7040 8805 0421 |0037: invoke-direct {v4, v0, v1, v2}, Ljava/lang/String;.:([BII)V // method@0588 │ │ +0257f8: 7220 3107 4300 |003a: invoke-interface {v3, v4}, Lutil/LoggerInterface;.log:(Ljava/lang/String;)V // method@0731 │ │ +0257fe: 28c9 |003d: goto 0006 // -0037 │ │ +025800: 0d04 |003e: move-exception v4 │ │ +025802: 1e03 |003f: monitor-exit v3 │ │ +025804: 2704 |0040: throw v4 │ │ +025806: 0d03 |0041: move-exception v3 │ │ +025808: 6e10 5e05 0300 |0042: invoke-virtual {v3}, Ljava/lang/Exception;.printStackTrace:()V // method@055e │ │ +02580e: 28c1 |0045: goto 0006 // -003f │ │ +025810: 0e00 |0046: return-void │ │ catches : 7 │ │ 0x000a - 0x000d │ │ Ljava/lang/Exception; -> 0x0041 │ │ 0x000d - 0x0017 │ │ -> 0x003e │ │ 0x0019 - 0x001e │ │ Ljava/lang/InterruptedException; -> 0x001f │ │ @@ -56464,21 +56464,21 @@ │ │ type : '(Lutil/LoggerInterface;)V' │ │ access : 0x10001 (PUBLIC CONSTRUCTOR) │ │ code - │ │ registers : 3 │ │ ins : 2 │ │ outs : 1 │ │ insns size : 12 16-bit code units │ │ -02585c: |[02585c] util.AsyncLogger.:(Lutil/LoggerInterface;)V │ │ -02586c: 7010 7505 0100 |0000: invoke-direct {v1}, Ljava/lang/Object;.:()V // method@0575 │ │ -025872: 1200 |0003: const/4 v0, #int 0 // #0 │ │ -025874: 5c10 2903 |0004: iput-boolean v0, v1, Lutil/AsyncLogger;.closed:Z // field@0329 │ │ -025878: 5b12 2a03 |0006: iput-object v2, v1, Lutil/AsyncLogger;.out:Lutil/LoggerInterface; // field@032a │ │ -02587c: 7010 bc06 0100 |0008: invoke-direct {v1}, Lutil/AsyncLogger;.logOpen:()V // method@06bc │ │ -025882: 0e00 |000b: return-void │ │ +025858: |[025858] util.AsyncLogger.:(Lutil/LoggerInterface;)V │ │ +025868: 7010 7505 0100 |0000: invoke-direct {v1}, Ljava/lang/Object;.:()V // method@0575 │ │ +02586e: 1200 |0003: const/4 v0, #int 0 // #0 │ │ +025870: 5c10 2903 |0004: iput-boolean v0, v1, Lutil/AsyncLogger;.closed:Z // field@0329 │ │ +025874: 5b12 2a03 |0006: iput-object v2, v1, Lutil/AsyncLogger;.out:Lutil/LoggerInterface; // field@032a │ │ +025878: 7010 bc06 0100 |0008: invoke-direct {v1}, Lutil/AsyncLogger;.logOpen:()V // method@06bc │ │ +02587e: 0e00 |000b: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=44 │ │ 0x0004 line=42 │ │ 0x0006 line=45 │ │ 0x0008 line=46 │ │ locals : │ │ @@ -56490,31 +56490,31 @@ │ │ type : '()V' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 4 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 36 16-bit code units │ │ -025a64: |[025a64] util.AsyncLogger.logOpen:()V │ │ -025a74: 2200 0701 |0000: new-instance v0, Ljava/io/PipedInputStream; // type@0107 │ │ -025a78: 1301 0028 |0002: const/16 v1, #int 10240 // #2800 │ │ -025a7c: 7020 3b05 1000 |0004: invoke-direct {v0, v1}, Ljava/io/PipedInputStream;.:(I)V // method@053b │ │ -025a82: 5b30 2b03 |0007: iput-object v0, v3, Lutil/AsyncLogger;.pin:Ljava/io/PipedInputStream; // field@032b │ │ -025a86: 2200 f900 |0009: new-instance v0, Ljava/io/DataOutputStream; // type@00f9 │ │ -025a8a: 2201 0801 |000b: new-instance v1, Ljava/io/PipedOutputStream; // type@0108 │ │ -025a8e: 5432 2b03 |000d: iget-object v2, v3, Lutil/AsyncLogger;.pin:Ljava/io/PipedInputStream; // field@032b │ │ -025a92: 7020 3e05 2100 |000f: invoke-direct {v1, v2}, Ljava/io/PipedOutputStream;.:(Ljava/io/PipedInputStream;)V // method@053e │ │ -025a98: 7020 f704 1000 |0012: invoke-direct {v0, v1}, Ljava/io/DataOutputStream;.:(Ljava/io/OutputStream;)V // method@04f7 │ │ -025a9e: 5b30 2c03 |0015: iput-object v0, v3, Lutil/AsyncLogger;.pout:Ljava/io/DataOutputStream; // field@032c │ │ -025aa2: 2200 2f01 |0017: new-instance v0, Ljava/lang/Thread; // type@012f │ │ -025aa6: 7020 b605 3000 |0019: invoke-direct {v0, v3}, Ljava/lang/Thread;.:(Ljava/lang/Runnable;)V // method@05b6 │ │ -025aac: 1211 |001c: const/4 v1, #int 1 // #1 │ │ -025aae: 6e20 ba05 1000 |001d: invoke-virtual {v0, v1}, Ljava/lang/Thread;.setDaemon:(Z)V // method@05ba │ │ -025ab4: 6e10 bc05 0000 |0020: invoke-virtual {v0}, Ljava/lang/Thread;.start:()V // method@05bc │ │ -025aba: 0e00 |0023: return-void │ │ +025a60: |[025a60] util.AsyncLogger.logOpen:()V │ │ +025a70: 2200 0701 |0000: new-instance v0, Ljava/io/PipedInputStream; // type@0107 │ │ +025a74: 1301 0028 |0002: const/16 v1, #int 10240 // #2800 │ │ +025a78: 7020 3b05 1000 |0004: invoke-direct {v0, v1}, Ljava/io/PipedInputStream;.:(I)V // method@053b │ │ +025a7e: 5b30 2b03 |0007: iput-object v0, v3, Lutil/AsyncLogger;.pin:Ljava/io/PipedInputStream; // field@032b │ │ +025a82: 2200 f900 |0009: new-instance v0, Ljava/io/DataOutputStream; // type@00f9 │ │ +025a86: 2201 0801 |000b: new-instance v1, Ljava/io/PipedOutputStream; // type@0108 │ │ +025a8a: 5432 2b03 |000d: iget-object v2, v3, Lutil/AsyncLogger;.pin:Ljava/io/PipedInputStream; // field@032b │ │ +025a8e: 7020 3e05 2100 |000f: invoke-direct {v1, v2}, Ljava/io/PipedOutputStream;.:(Ljava/io/PipedInputStream;)V // method@053e │ │ +025a94: 7020 f704 1000 |0012: invoke-direct {v0, v1}, Ljava/io/DataOutputStream;.:(Ljava/io/OutputStream;)V // method@04f7 │ │ +025a9a: 5b30 2c03 |0015: iput-object v0, v3, Lutil/AsyncLogger;.pout:Ljava/io/DataOutputStream; // field@032c │ │ +025a9e: 2200 2f01 |0017: new-instance v0, Ljava/lang/Thread; // type@012f │ │ +025aa2: 7020 b605 3000 |0019: invoke-direct {v0, v3}, Ljava/lang/Thread;.:(Ljava/lang/Runnable;)V // method@05b6 │ │ +025aa8: 1211 |001c: const/4 v1, #int 1 // #1 │ │ +025aaa: 6e20 ba05 1000 |001d: invoke-virtual {v0, v1}, Ljava/lang/Thread;.setDaemon:(Z)V // method@05ba │ │ +025ab0: 6e10 bc05 0000 |0020: invoke-virtual {v0}, Ljava/lang/Thread;.start:()V // method@05bc │ │ +025ab6: 0e00 |0023: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=52 │ │ 0x0009 line=53 │ │ 0x0017 line=56 │ │ 0x001d line=57 │ │ 0x0020 line=58 │ │ @@ -56526,28 +56526,28 @@ │ │ type : '(I[B)V' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 4 │ │ ins : 3 │ │ outs : 2 │ │ insns size : 27 16-bit code units │ │ -025cbc: |[025cbc] util.AsyncLogger.writeLog:(I[B)V │ │ -025ccc: 5410 2c03 |0000: iget-object v0, v1, Lutil/AsyncLogger;.pout:Ljava/io/DataOutputStream; // field@032c │ │ -025cd0: 6e20 ff04 2000 |0002: invoke-virtual {v0, v2}, Ljava/io/DataOutputStream;.writeShort:(I)V // method@04ff │ │ -025cd6: 5412 2c03 |0005: iget-object v2, v1, Lutil/AsyncLogger;.pout:Ljava/io/DataOutputStream; // field@032c │ │ -025cda: 2130 |0007: array-length v0, v3 │ │ -025cdc: 6e20 fd04 0200 |0008: invoke-virtual {v2, v0}, Ljava/io/DataOutputStream;.writeInt:(I)V // method@04fd │ │ -025ce2: 5412 2c03 |000b: iget-object v2, v1, Lutil/AsyncLogger;.pout:Ljava/io/DataOutputStream; // field@032c │ │ -025ce6: 6e20 fa04 3200 |000d: invoke-virtual {v2, v3}, Ljava/io/DataOutputStream;.write:([B)V // method@04fa │ │ -025cec: 5412 2c03 |0010: iget-object v2, v1, Lutil/AsyncLogger;.pout:Ljava/io/DataOutputStream; // field@032c │ │ -025cf0: 6e10 f904 0200 |0012: invoke-virtual {v2}, Ljava/io/DataOutputStream;.flush:()V // method@04f9 │ │ -025cf6: 2805 |0015: goto 001a // +0005 │ │ -025cf8: 0d02 |0016: move-exception v2 │ │ -025cfa: 6e10 2505 0200 |0017: invoke-virtual {v2}, Ljava/io/IOException;.printStackTrace:()V // method@0525 │ │ -025d00: 0e00 |001a: return-void │ │ +025cb8: |[025cb8] util.AsyncLogger.writeLog:(I[B)V │ │ +025cc8: 5410 2c03 |0000: iget-object v0, v1, Lutil/AsyncLogger;.pout:Ljava/io/DataOutputStream; // field@032c │ │ +025ccc: 6e20 ff04 2000 |0002: invoke-virtual {v0, v2}, Ljava/io/DataOutputStream;.writeShort:(I)V // method@04ff │ │ +025cd2: 5412 2c03 |0005: iget-object v2, v1, Lutil/AsyncLogger;.pout:Ljava/io/DataOutputStream; // field@032c │ │ +025cd6: 2130 |0007: array-length v0, v3 │ │ +025cd8: 6e20 fd04 0200 |0008: invoke-virtual {v2, v0}, Ljava/io/DataOutputStream;.writeInt:(I)V // method@04fd │ │ +025cde: 5412 2c03 |000b: iget-object v2, v1, Lutil/AsyncLogger;.pout:Ljava/io/DataOutputStream; // field@032c │ │ +025ce2: 6e20 fa04 3200 |000d: invoke-virtual {v2, v3}, Ljava/io/DataOutputStream;.write:([B)V // method@04fa │ │ +025ce8: 5412 2c03 |0010: iget-object v2, v1, Lutil/AsyncLogger;.pout:Ljava/io/DataOutputStream; // field@032c │ │ +025cec: 6e10 f904 0200 |0012: invoke-virtual {v2}, Ljava/io/DataOutputStream;.flush:()V // method@04f9 │ │ +025cf2: 2805 |0015: goto 001a // +0005 │ │ +025cf4: 0d02 |0016: move-exception v2 │ │ +025cf6: 6e10 2505 0200 |0017: invoke-virtual {v2}, Ljava/io/IOException;.printStackTrace:()V // method@0525 │ │ +025cfc: 0e00 |001a: return-void │ │ catches : 1 │ │ 0x0000 - 0x0015 │ │ Ljava/io/IOException; -> 0x0016 │ │ positions : │ │ 0x0000 line=76 │ │ 0x0005 line=77 │ │ 0x000b line=78 │ │ @@ -56564,32 +56564,32 @@ │ │ type : '()V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 3 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 27 16-bit code units │ │ -025884: |[025884] util.AsyncLogger.closeLogger:()V │ │ -025894: 5420 2b03 |0000: iget-object v0, v2, Lutil/AsyncLogger;.pin:Ljava/io/PipedInputStream; // field@032b │ │ -025898: 1d00 |0002: monitor-enter v0 │ │ -02589a: 1211 |0003: const/4 v1, #int 1 // #1 │ │ -02589c: 5c21 2903 |0004: iput-boolean v1, v2, Lutil/AsyncLogger;.closed:Z // field@0329 │ │ -0258a0: 5421 2c03 |0006: iget-object v1, v2, Lutil/AsyncLogger;.pout:Ljava/io/DataOutputStream; // field@032c │ │ -0258a4: 6e10 f804 0100 |0008: invoke-virtual {v1}, Ljava/io/DataOutputStream;.close:()V // method@04f8 │ │ -0258aa: 5421 2b03 |000b: iget-object v1, v2, Lutil/AsyncLogger;.pin:Ljava/io/PipedInputStream; // field@032b │ │ -0258ae: 6e10 7905 0100 |000d: invoke-virtual {v1}, Ljava/lang/Object;.notifyAll:()V // method@0579 │ │ -0258b4: 2807 |0010: goto 0017 // +0007 │ │ -0258b6: 0d01 |0011: move-exception v1 │ │ -0258b8: 2807 |0012: goto 0019 // +0007 │ │ -0258ba: 0d01 |0013: move-exception v1 │ │ -0258bc: 6e10 2505 0100 |0014: invoke-virtual {v1}, Ljava/io/IOException;.printStackTrace:()V // method@0525 │ │ -0258c2: 1e00 |0017: monitor-exit v0 │ │ -0258c4: 0e00 |0018: return-void │ │ -0258c6: 1e00 |0019: monitor-exit v0 │ │ -0258c8: 2701 |001a: throw v1 │ │ +025880: |[025880] util.AsyncLogger.closeLogger:()V │ │ +025890: 5420 2b03 |0000: iget-object v0, v2, Lutil/AsyncLogger;.pin:Ljava/io/PipedInputStream; // field@032b │ │ +025894: 1d00 |0002: monitor-enter v0 │ │ +025896: 1211 |0003: const/4 v1, #int 1 // #1 │ │ +025898: 5c21 2903 |0004: iput-boolean v1, v2, Lutil/AsyncLogger;.closed:Z // field@0329 │ │ +02589c: 5421 2c03 |0006: iget-object v1, v2, Lutil/AsyncLogger;.pout:Ljava/io/DataOutputStream; // field@032c │ │ +0258a0: 6e10 f804 0100 |0008: invoke-virtual {v1}, Ljava/io/DataOutputStream;.close:()V // method@04f8 │ │ +0258a6: 5421 2b03 |000b: iget-object v1, v2, Lutil/AsyncLogger;.pin:Ljava/io/PipedInputStream; // field@032b │ │ +0258aa: 6e10 7905 0100 |000d: invoke-virtual {v1}, Ljava/lang/Object;.notifyAll:()V // method@0579 │ │ +0258b0: 2807 |0010: goto 0017 // +0007 │ │ +0258b2: 0d01 |0011: move-exception v1 │ │ +0258b4: 2807 |0012: goto 0019 // +0007 │ │ +0258b6: 0d01 |0013: move-exception v1 │ │ +0258b8: 6e10 2505 0100 |0014: invoke-virtual {v1}, Ljava/io/IOException;.printStackTrace:()V // method@0525 │ │ +0258be: 1e00 |0017: monitor-exit v0 │ │ +0258c0: 0e00 |0018: return-void │ │ +0258c2: 1e00 |0019: monitor-exit v0 │ │ +0258c4: 2701 |001a: throw v1 │ │ catches : 2 │ │ 0x0004 - 0x0010 │ │ Ljava/io/IOException; -> 0x0013 │ │ -> 0x0011 │ │ 0x0014 - 0x001a │ │ -> 0x0011 │ │ positions : │ │ @@ -56607,34 +56607,34 @@ │ │ type : '(Ljava/lang/String;)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 5 │ │ ins : 2 │ │ outs : 3 │ │ insns size : 28 16-bit code units │ │ -0258e4: |[0258e4] util.AsyncLogger.log:(Ljava/lang/String;)V │ │ -0258f4: 5430 2c03 |0000: iget-object v0, v3, Lutil/AsyncLogger;.pout:Ljava/io/DataOutputStream; // field@032c │ │ -0258f8: 1d00 |0002: monitor-enter v0 │ │ -0258fa: 5431 2b03 |0003: iget-object v1, v3, Lutil/AsyncLogger;.pin:Ljava/io/PipedInputStream; // field@032b │ │ -0258fe: 1d01 |0005: monitor-enter v1 │ │ -025900: 6e10 8f05 0400 |0006: invoke-virtual {v4}, Ljava/lang/String;.getBytes:()[B // method@058f │ │ -025906: 0c04 |0009: move-result-object v4 │ │ -025908: 1212 |000a: const/4 v2, #int 1 // #1 │ │ -02590a: 7030 bf06 2304 |000b: invoke-direct {v3, v2, v4}, Lutil/AsyncLogger;.writeLog:(I[B)V // method@06bf │ │ -025910: 5434 2b03 |000e: iget-object v4, v3, Lutil/AsyncLogger;.pin:Ljava/io/PipedInputStream; // field@032b │ │ -025914: 6e10 7905 0400 |0010: invoke-virtual {v4}, Ljava/lang/Object;.notifyAll:()V // method@0579 │ │ -02591a: 1e01 |0013: monitor-exit v1 │ │ -02591c: 1e00 |0014: monitor-exit v0 │ │ -02591e: 0e00 |0015: return-void │ │ -025920: 0d04 |0016: move-exception v4 │ │ -025922: 1e01 |0017: monitor-exit v1 │ │ -025924: 2704 |0018: throw v4 │ │ -025926: 0d04 |0019: move-exception v4 │ │ -025928: 1e00 |001a: monitor-exit v0 │ │ -02592a: 2704 |001b: throw v4 │ │ +0258e0: |[0258e0] util.AsyncLogger.log:(Ljava/lang/String;)V │ │ +0258f0: 5430 2c03 |0000: iget-object v0, v3, Lutil/AsyncLogger;.pout:Ljava/io/DataOutputStream; // field@032c │ │ +0258f4: 1d00 |0002: monitor-enter v0 │ │ +0258f6: 5431 2b03 |0003: iget-object v1, v3, Lutil/AsyncLogger;.pin:Ljava/io/PipedInputStream; // field@032b │ │ +0258fa: 1d01 |0005: monitor-enter v1 │ │ +0258fc: 6e10 8f05 0400 |0006: invoke-virtual {v4}, Ljava/lang/String;.getBytes:()[B // method@058f │ │ +025902: 0c04 |0009: move-result-object v4 │ │ +025904: 1212 |000a: const/4 v2, #int 1 // #1 │ │ +025906: 7030 bf06 2304 |000b: invoke-direct {v3, v2, v4}, Lutil/AsyncLogger;.writeLog:(I[B)V // method@06bf │ │ +02590c: 5434 2b03 |000e: iget-object v4, v3, Lutil/AsyncLogger;.pin:Ljava/io/PipedInputStream; // field@032b │ │ +025910: 6e10 7905 0400 |0010: invoke-virtual {v4}, Ljava/lang/Object;.notifyAll:()V // method@0579 │ │ +025916: 1e01 |0013: monitor-exit v1 │ │ +025918: 1e00 |0014: monitor-exit v0 │ │ +02591a: 0e00 |0015: return-void │ │ +02591c: 0d04 |0016: move-exception v4 │ │ +02591e: 1e01 |0017: monitor-exit v1 │ │ +025920: 2704 |0018: throw v4 │ │ +025922: 0d04 |0019: move-exception v4 │ │ +025924: 1e00 |001a: monitor-exit v0 │ │ +025926: 2704 |001b: throw v4 │ │ catches : 5 │ │ 0x0003 - 0x0006 │ │ -> 0x0019 │ │ 0x0006 - 0x0014 │ │ -> 0x0016 │ │ 0x0014 - 0x0015 │ │ -> 0x0019 │ │ @@ -56660,37 +56660,37 @@ │ │ type : '(Ljava/lang/Exception;)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 5 │ │ ins : 2 │ │ outs : 3 │ │ insns size : 33 16-bit code units │ │ -02595c: |[02595c] util.AsyncLogger.logException:(Ljava/lang/Exception;)V │ │ -02596c: 7110 a207 0400 |0000: invoke-static {v4}, Lutil/Utils;.serializeObject:(Ljava/lang/Object;)[B // method@07a2 │ │ -025972: 0c04 |0003: move-result-object v4 │ │ -025974: 5430 2c03 |0004: iget-object v0, v3, Lutil/AsyncLogger;.pout:Ljava/io/DataOutputStream; // field@032c │ │ -025978: 1d00 |0006: monitor-enter v0 │ │ -02597a: 5431 2b03 |0007: iget-object v1, v3, Lutil/AsyncLogger;.pin:Ljava/io/PipedInputStream; // field@032b │ │ -02597e: 1d01 |0009: monitor-enter v1 │ │ -025980: 1242 |000a: const/4 v2, #int 4 // #4 │ │ -025982: 7030 bf06 2304 |000b: invoke-direct {v3, v2, v4}, Lutil/AsyncLogger;.writeLog:(I[B)V // method@06bf │ │ -025988: 5434 2b03 |000e: iget-object v4, v3, Lutil/AsyncLogger;.pin:Ljava/io/PipedInputStream; // field@032b │ │ -02598c: 6e10 7905 0400 |0010: invoke-virtual {v4}, Ljava/lang/Object;.notifyAll:()V // method@0579 │ │ -025992: 1e01 |0013: monitor-exit v1 │ │ -025994: 1e00 |0014: monitor-exit v0 │ │ -025996: 0e00 |0015: return-void │ │ -025998: 0d04 |0016: move-exception v4 │ │ -02599a: 1e01 |0017: monitor-exit v1 │ │ -02599c: 2704 |0018: throw v4 │ │ -02599e: 0d04 |0019: move-exception v4 │ │ -0259a0: 1e00 |001a: monitor-exit v0 │ │ -0259a2: 2704 |001b: throw v4 │ │ -0259a4: 0d04 |001c: move-exception v4 │ │ -0259a6: 6e10 2505 0400 |001d: invoke-virtual {v4}, Ljava/io/IOException;.printStackTrace:()V // method@0525 │ │ -0259ac: 0e00 |0020: return-void │ │ +025958: |[025958] util.AsyncLogger.logException:(Ljava/lang/Exception;)V │ │ +025968: 7110 a207 0400 |0000: invoke-static {v4}, Lutil/Utils;.serializeObject:(Ljava/lang/Object;)[B // method@07a2 │ │ +02596e: 0c04 |0003: move-result-object v4 │ │ +025970: 5430 2c03 |0004: iget-object v0, v3, Lutil/AsyncLogger;.pout:Ljava/io/DataOutputStream; // field@032c │ │ +025974: 1d00 |0006: monitor-enter v0 │ │ +025976: 5431 2b03 |0007: iget-object v1, v3, Lutil/AsyncLogger;.pin:Ljava/io/PipedInputStream; // field@032b │ │ +02597a: 1d01 |0009: monitor-enter v1 │ │ +02597c: 1242 |000a: const/4 v2, #int 4 // #4 │ │ +02597e: 7030 bf06 2304 |000b: invoke-direct {v3, v2, v4}, Lutil/AsyncLogger;.writeLog:(I[B)V // method@06bf │ │ +025984: 5434 2b03 |000e: iget-object v4, v3, Lutil/AsyncLogger;.pin:Ljava/io/PipedInputStream; // field@032b │ │ +025988: 6e10 7905 0400 |0010: invoke-virtual {v4}, Ljava/lang/Object;.notifyAll:()V // method@0579 │ │ +02598e: 1e01 |0013: monitor-exit v1 │ │ +025990: 1e00 |0014: monitor-exit v0 │ │ +025992: 0e00 |0015: return-void │ │ +025994: 0d04 |0016: move-exception v4 │ │ +025996: 1e01 |0017: monitor-exit v1 │ │ +025998: 2704 |0018: throw v4 │ │ +02599a: 0d04 |0019: move-exception v4 │ │ +02599c: 1e00 |001a: monitor-exit v0 │ │ +02599e: 2704 |001b: throw v4 │ │ +0259a0: 0d04 |001c: move-exception v4 │ │ +0259a2: 6e10 2505 0400 |001d: invoke-virtual {v4}, Ljava/io/IOException;.printStackTrace:()V // method@0525 │ │ +0259a8: 0e00 |0020: return-void │ │ catches : 6 │ │ 0x0000 - 0x0004 │ │ Ljava/io/IOException; -> 0x001c │ │ 0x0007 - 0x000a │ │ -> 0x0019 │ │ 0x000b - 0x0014 │ │ -> 0x0016 │ │ @@ -56720,34 +56720,34 @@ │ │ type : '(Ljava/lang/String;)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 5 │ │ ins : 2 │ │ outs : 3 │ │ insns size : 28 16-bit code units │ │ -0259ec: |[0259ec] util.AsyncLogger.logLine:(Ljava/lang/String;)V │ │ -0259fc: 5430 2c03 |0000: iget-object v0, v3, Lutil/AsyncLogger;.pout:Ljava/io/DataOutputStream; // field@032c │ │ -025a00: 1d00 |0002: monitor-enter v0 │ │ -025a02: 5431 2b03 |0003: iget-object v1, v3, Lutil/AsyncLogger;.pin:Ljava/io/PipedInputStream; // field@032b │ │ -025a06: 1d01 |0005: monitor-enter v1 │ │ -025a08: 6e10 8f05 0400 |0006: invoke-virtual {v4}, Ljava/lang/String;.getBytes:()[B // method@058f │ │ -025a0e: 0c04 |0009: move-result-object v4 │ │ -025a10: 1222 |000a: const/4 v2, #int 2 // #2 │ │ -025a12: 7030 bf06 2304 |000b: invoke-direct {v3, v2, v4}, Lutil/AsyncLogger;.writeLog:(I[B)V // method@06bf │ │ -025a18: 5434 2b03 |000e: iget-object v4, v3, Lutil/AsyncLogger;.pin:Ljava/io/PipedInputStream; // field@032b │ │ -025a1c: 6e10 7905 0400 |0010: invoke-virtual {v4}, Ljava/lang/Object;.notifyAll:()V // method@0579 │ │ -025a22: 1e01 |0013: monitor-exit v1 │ │ -025a24: 1e00 |0014: monitor-exit v0 │ │ -025a26: 0e00 |0015: return-void │ │ -025a28: 0d04 |0016: move-exception v4 │ │ -025a2a: 1e01 |0017: monitor-exit v1 │ │ -025a2c: 2704 |0018: throw v4 │ │ -025a2e: 0d04 |0019: move-exception v4 │ │ -025a30: 1e00 |001a: monitor-exit v0 │ │ -025a32: 2704 |001b: throw v4 │ │ +0259e8: |[0259e8] util.AsyncLogger.logLine:(Ljava/lang/String;)V │ │ +0259f8: 5430 2c03 |0000: iget-object v0, v3, Lutil/AsyncLogger;.pout:Ljava/io/DataOutputStream; // field@032c │ │ +0259fc: 1d00 |0002: monitor-enter v0 │ │ +0259fe: 5431 2b03 |0003: iget-object v1, v3, Lutil/AsyncLogger;.pin:Ljava/io/PipedInputStream; // field@032b │ │ +025a02: 1d01 |0005: monitor-enter v1 │ │ +025a04: 6e10 8f05 0400 |0006: invoke-virtual {v4}, Ljava/lang/String;.getBytes:()[B // method@058f │ │ +025a0a: 0c04 |0009: move-result-object v4 │ │ +025a0c: 1222 |000a: const/4 v2, #int 2 // #2 │ │ +025a0e: 7030 bf06 2304 |000b: invoke-direct {v3, v2, v4}, Lutil/AsyncLogger;.writeLog:(I[B)V // method@06bf │ │ +025a14: 5434 2b03 |000e: iget-object v4, v3, Lutil/AsyncLogger;.pin:Ljava/io/PipedInputStream; // field@032b │ │ +025a18: 6e10 7905 0400 |0010: invoke-virtual {v4}, Ljava/lang/Object;.notifyAll:()V // method@0579 │ │ +025a1e: 1e01 |0013: monitor-exit v1 │ │ +025a20: 1e00 |0014: monitor-exit v0 │ │ +025a22: 0e00 |0015: return-void │ │ +025a24: 0d04 |0016: move-exception v4 │ │ +025a26: 1e01 |0017: monitor-exit v1 │ │ +025a28: 2704 |0018: throw v4 │ │ +025a2a: 0d04 |0019: move-exception v4 │ │ +025a2c: 1e00 |001a: monitor-exit v0 │ │ +025a2e: 2704 |001b: throw v4 │ │ catches : 5 │ │ 0x0003 - 0x0006 │ │ -> 0x0019 │ │ 0x0006 - 0x0014 │ │ -> 0x0016 │ │ 0x0014 - 0x0015 │ │ -> 0x0019 │ │ @@ -56773,34 +56773,34 @@ │ │ type : '(Ljava/lang/String;)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 5 │ │ ins : 2 │ │ outs : 3 │ │ insns size : 28 16-bit code units │ │ -025abc: |[025abc] util.AsyncLogger.message:(Ljava/lang/String;)V │ │ -025acc: 5430 2c03 |0000: iget-object v0, v3, Lutil/AsyncLogger;.pout:Ljava/io/DataOutputStream; // field@032c │ │ -025ad0: 1d00 |0002: monitor-enter v0 │ │ -025ad2: 5431 2b03 |0003: iget-object v1, v3, Lutil/AsyncLogger;.pin:Ljava/io/PipedInputStream; // field@032b │ │ -025ad6: 1d01 |0005: monitor-enter v1 │ │ -025ad8: 6e10 8f05 0400 |0006: invoke-virtual {v4}, Ljava/lang/String;.getBytes:()[B // method@058f │ │ -025ade: 0c04 |0009: move-result-object v4 │ │ -025ae0: 1232 |000a: const/4 v2, #int 3 // #3 │ │ -025ae2: 7030 bf06 2304 |000b: invoke-direct {v3, v2, v4}, Lutil/AsyncLogger;.writeLog:(I[B)V // method@06bf │ │ -025ae8: 5434 2b03 |000e: iget-object v4, v3, Lutil/AsyncLogger;.pin:Ljava/io/PipedInputStream; // field@032b │ │ -025aec: 6e10 7905 0400 |0010: invoke-virtual {v4}, Ljava/lang/Object;.notifyAll:()V // method@0579 │ │ -025af2: 1e01 |0013: monitor-exit v1 │ │ -025af4: 1e00 |0014: monitor-exit v0 │ │ -025af6: 0e00 |0015: return-void │ │ -025af8: 0d04 |0016: move-exception v4 │ │ -025afa: 1e01 |0017: monitor-exit v1 │ │ -025afc: 2704 |0018: throw v4 │ │ -025afe: 0d04 |0019: move-exception v4 │ │ -025b00: 1e00 |001a: monitor-exit v0 │ │ -025b02: 2704 |001b: throw v4 │ │ +025ab8: |[025ab8] util.AsyncLogger.message:(Ljava/lang/String;)V │ │ +025ac8: 5430 2c03 |0000: iget-object v0, v3, Lutil/AsyncLogger;.pout:Ljava/io/DataOutputStream; // field@032c │ │ +025acc: 1d00 |0002: monitor-enter v0 │ │ +025ace: 5431 2b03 |0003: iget-object v1, v3, Lutil/AsyncLogger;.pin:Ljava/io/PipedInputStream; // field@032b │ │ +025ad2: 1d01 |0005: monitor-enter v1 │ │ +025ad4: 6e10 8f05 0400 |0006: invoke-virtual {v4}, Ljava/lang/String;.getBytes:()[B // method@058f │ │ +025ada: 0c04 |0009: move-result-object v4 │ │ +025adc: 1232 |000a: const/4 v2, #int 3 // #3 │ │ +025ade: 7030 bf06 2304 |000b: invoke-direct {v3, v2, v4}, Lutil/AsyncLogger;.writeLog:(I[B)V // method@06bf │ │ +025ae4: 5434 2b03 |000e: iget-object v4, v3, Lutil/AsyncLogger;.pin:Ljava/io/PipedInputStream; // field@032b │ │ +025ae8: 6e10 7905 0400 |0010: invoke-virtual {v4}, Ljava/lang/Object;.notifyAll:()V // method@0579 │ │ +025aee: 1e01 |0013: monitor-exit v1 │ │ +025af0: 1e00 |0014: monitor-exit v0 │ │ +025af2: 0e00 |0015: return-void │ │ +025af4: 0d04 |0016: move-exception v4 │ │ +025af6: 1e01 |0017: monitor-exit v1 │ │ +025af8: 2704 |0018: throw v4 │ │ +025afa: 0d04 |0019: move-exception v4 │ │ +025afc: 1e00 |001a: monitor-exit v0 │ │ +025afe: 2704 |001b: throw v4 │ │ catches : 5 │ │ 0x0003 - 0x0006 │ │ -> 0x0019 │ │ 0x0006 - 0x0014 │ │ -> 0x0016 │ │ 0x0014 - 0x0015 │ │ -> 0x0019 │ │ @@ -56826,93 +56826,93 @@ │ │ type : '()V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 6 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 152 16-bit code units │ │ -025b34: |[025b34] util.AsyncLogger.run:()V │ │ -025b44: 2200 f800 |0000: new-instance v0, Ljava/io/DataInputStream; // type@00f8 │ │ -025b48: 5451 2b03 |0002: iget-object v1, v5, Lutil/AsyncLogger;.pin:Ljava/io/PipedInputStream; // field@032b │ │ -025b4c: 7020 f004 1000 |0004: invoke-direct {v0, v1}, Ljava/io/DataInputStream;.:(Ljava/io/InputStream;)V // method@04f0 │ │ -025b52: 5551 2903 |0007: iget-boolean v1, v5, Lutil/AsyncLogger;.closed:Z // field@0329 │ │ -025b56: 3901 8e00 |0009: if-nez v1, 0097 // +008e │ │ -025b5a: 5451 2b03 |000b: iget-object v1, v5, Lutil/AsyncLogger;.pin:Ljava/io/PipedInputStream; // field@032b │ │ -025b5e: 1d01 |000d: monitor-enter v1 │ │ -025b60: 5452 2b03 |000e: iget-object v2, v5, Lutil/AsyncLogger;.pin:Ljava/io/PipedInputStream; // field@032b │ │ -025b64: 6e10 3c05 0200 |0010: invoke-virtual {v2}, Ljava/io/PipedInputStream;.available:()I // method@053c │ │ -025b6a: 0a02 |0013: move-result v2 │ │ -025b6c: 3c02 1100 |0014: if-gtz v2, 0025 // +0011 │ │ -025b70: 5552 2903 |0016: iget-boolean v2, v5, Lutil/AsyncLogger;.closed:Z // field@0329 │ │ -025b74: 3902 0d00 |0018: if-nez v2, 0025 // +000d │ │ -025b78: 5452 2b03 |001a: iget-object v2, v5, Lutil/AsyncLogger;.pin:Ljava/io/PipedInputStream; // field@032b │ │ -025b7c: 6e10 7b05 0200 |001c: invoke-virtual {v2}, Ljava/lang/Object;.wait:()V // method@057b │ │ -025b82: 28ef |001f: goto 000e // -0011 │ │ -025b84: 0d02 |0020: move-exception v2 │ │ -025b86: 6e10 6b05 0200 |0021: invoke-virtual {v2}, Ljava/lang/InterruptedException;.printStackTrace:()V // method@056b │ │ -025b8c: 28ea |0024: goto 000e // -0016 │ │ -025b8e: 5552 2903 |0025: iget-boolean v2, v5, Lutil/AsyncLogger;.closed:Z // field@0329 │ │ -025b92: 3802 0400 |0027: if-eqz v2, 002b // +0004 │ │ -025b96: 1e01 |0029: monitor-exit v1 │ │ -025b98: 286d |002a: goto 0097 // +006d │ │ -025b9a: 6e10 f604 0000 |002b: invoke-virtual {v0}, Ljava/io/DataInputStream;.readShort:()S // method@04f6 │ │ -025ba0: 0a02 |002e: move-result v2 │ │ -025ba2: 6e10 f404 0000 |002f: invoke-virtual {v0}, Ljava/io/DataInputStream;.readInt:()I // method@04f4 │ │ -025ba8: 0a03 |0032: move-result v3 │ │ -025baa: 2333 9d01 |0033: new-array v3, v3, [B // type@019d │ │ -025bae: 6e20 f204 3000 |0035: invoke-virtual {v0, v3}, Ljava/io/DataInputStream;.readFully:([B)V // method@04f2 │ │ -025bb4: 1e01 |0038: monitor-exit v1 │ │ -025bb6: 1211 |0039: const/4 v1, #int 1 // #1 │ │ -025bb8: 3212 4400 |003a: if-eq v2, v1, 007e // +0044 │ │ -025bbc: 1221 |003c: const/4 v1, #int 2 // #2 │ │ -025bbe: 3212 3600 |003d: if-eq v2, v1, 0073 // +0036 │ │ -025bc2: 1231 |003f: const/4 v1, #int 3 // #3 │ │ -025bc4: 3212 2800 |0040: if-eq v2, v1, 0068 // +0028 │ │ -025bc8: 1241 |0042: const/4 v1, #int 4 // #4 │ │ -025bca: 3312 0e00 |0043: if-ne v2, v1, 0051 // +000e │ │ -025bce: 5451 2a03 |0045: iget-object v1, v5, Lutil/AsyncLogger;.out:Lutil/LoggerInterface; // field@032a │ │ -025bd2: 7110 9607 0300 |0047: invoke-static {v3}, Lutil/Utils;.deserializeObject:([B)Ljava/lang/Object; // method@0796 │ │ -025bd8: 0c02 |004a: move-result-object v2 │ │ -025bda: 1f02 1b01 |004b: check-cast v2, Ljava/lang/Exception; // type@011b │ │ -025bde: 7220 3207 2100 |004d: invoke-interface {v1, v2}, Lutil/LoggerInterface;.logException:(Ljava/lang/Exception;)V // method@0732 │ │ -025be4: 28b7 |0050: goto 0007 // -0049 │ │ -025be6: 2201 0001 |0051: new-instance v1, Ljava/io/IOException; // type@0100 │ │ -025bea: 2203 2d01 |0053: new-instance v3, Ljava/lang/StringBuilder; // type@012d │ │ -025bee: 7010 a905 0300 |0055: invoke-direct {v3}, Ljava/lang/StringBuilder;.:()V // method@05a9 │ │ -025bf4: 1a04 8c04 |0058: const-string v4, "Unknown log Msg type: " // string@048c │ │ -025bf8: 6e20 af05 4300 |005a: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -025bfe: 6e20 ac05 2300 |005d: invoke-virtual {v3, v2}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@05ac │ │ -025c04: 6e10 b105 0300 |0060: invoke-virtual {v3}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ -025c0a: 0c02 |0063: move-result-object v2 │ │ -025c0c: 7020 2105 2100 |0064: invoke-direct {v1, v2}, Ljava/io/IOException;.:(Ljava/lang/String;)V // method@0521 │ │ -025c12: 2701 |0067: throw v1 │ │ -025c14: 5451 2a03 |0068: iget-object v1, v5, Lutil/AsyncLogger;.out:Lutil/LoggerInterface; // field@032a │ │ -025c18: 2202 2b01 |006a: new-instance v2, Ljava/lang/String; // type@012b │ │ -025c1c: 7020 8705 3200 |006c: invoke-direct {v2, v3}, Ljava/lang/String;.:([B)V // method@0587 │ │ -025c22: 7220 3407 2100 |006f: invoke-interface {v1, v2}, Lutil/LoggerInterface;.message:(Ljava/lang/String;)V // method@0734 │ │ -025c28: 2895 |0072: goto 0007 // -006b │ │ -025c2a: 5451 2a03 |0073: iget-object v1, v5, Lutil/AsyncLogger;.out:Lutil/LoggerInterface; // field@032a │ │ -025c2e: 2202 2b01 |0075: new-instance v2, Ljava/lang/String; // type@012b │ │ -025c32: 7020 8705 3200 |0077: invoke-direct {v2, v3}, Ljava/lang/String;.:([B)V // method@0587 │ │ -025c38: 7220 3307 2100 |007a: invoke-interface {v1, v2}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0733 │ │ -025c3e: 288a |007d: goto 0007 // -0076 │ │ -025c40: 5451 2a03 |007e: iget-object v1, v5, Lutil/AsyncLogger;.out:Lutil/LoggerInterface; // field@032a │ │ -025c44: 2202 2b01 |0080: new-instance v2, Ljava/lang/String; // type@012b │ │ -025c48: 7020 8705 3200 |0082: invoke-direct {v2, v3}, Ljava/lang/String;.:([B)V // method@0587 │ │ -025c4e: 7220 3107 2100 |0085: invoke-interface {v1, v2}, Lutil/LoggerInterface;.log:(Ljava/lang/String;)V // method@0731 │ │ -025c54: 2900 7fff |0088: goto/16 0007 // -0081 │ │ -025c58: 0d02 |008a: move-exception v2 │ │ -025c5a: 1e01 |008b: monitor-exit v1 │ │ -025c5c: 2702 |008c: throw v2 │ │ -025c5e: 0d01 |008d: move-exception v1 │ │ -025c60: 5552 2903 |008e: iget-boolean v2, v5, Lutil/AsyncLogger;.closed:Z // field@0329 │ │ -025c64: 3902 77ff |0090: if-nez v2, 0007 // -0089 │ │ -025c68: 6e10 5e05 0100 |0092: invoke-virtual {v1}, Ljava/lang/Exception;.printStackTrace:()V // method@055e │ │ -025c6e: 2900 72ff |0095: goto/16 0007 // -008e │ │ -025c72: 0e00 |0097: return-void │ │ +025b30: |[025b30] util.AsyncLogger.run:()V │ │ +025b40: 2200 f800 |0000: new-instance v0, Ljava/io/DataInputStream; // type@00f8 │ │ +025b44: 5451 2b03 |0002: iget-object v1, v5, Lutil/AsyncLogger;.pin:Ljava/io/PipedInputStream; // field@032b │ │ +025b48: 7020 f004 1000 |0004: invoke-direct {v0, v1}, Ljava/io/DataInputStream;.:(Ljava/io/InputStream;)V // method@04f0 │ │ +025b4e: 5551 2903 |0007: iget-boolean v1, v5, Lutil/AsyncLogger;.closed:Z // field@0329 │ │ +025b52: 3901 8e00 |0009: if-nez v1, 0097 // +008e │ │ +025b56: 5451 2b03 |000b: iget-object v1, v5, Lutil/AsyncLogger;.pin:Ljava/io/PipedInputStream; // field@032b │ │ +025b5a: 1d01 |000d: monitor-enter v1 │ │ +025b5c: 5452 2b03 |000e: iget-object v2, v5, Lutil/AsyncLogger;.pin:Ljava/io/PipedInputStream; // field@032b │ │ +025b60: 6e10 3c05 0200 |0010: invoke-virtual {v2}, Ljava/io/PipedInputStream;.available:()I // method@053c │ │ +025b66: 0a02 |0013: move-result v2 │ │ +025b68: 3c02 1100 |0014: if-gtz v2, 0025 // +0011 │ │ +025b6c: 5552 2903 |0016: iget-boolean v2, v5, Lutil/AsyncLogger;.closed:Z // field@0329 │ │ +025b70: 3902 0d00 |0018: if-nez v2, 0025 // +000d │ │ +025b74: 5452 2b03 |001a: iget-object v2, v5, Lutil/AsyncLogger;.pin:Ljava/io/PipedInputStream; // field@032b │ │ +025b78: 6e10 7b05 0200 |001c: invoke-virtual {v2}, Ljava/lang/Object;.wait:()V // method@057b │ │ +025b7e: 28ef |001f: goto 000e // -0011 │ │ +025b80: 0d02 |0020: move-exception v2 │ │ +025b82: 6e10 6b05 0200 |0021: invoke-virtual {v2}, Ljava/lang/InterruptedException;.printStackTrace:()V // method@056b │ │ +025b88: 28ea |0024: goto 000e // -0016 │ │ +025b8a: 5552 2903 |0025: iget-boolean v2, v5, Lutil/AsyncLogger;.closed:Z // field@0329 │ │ +025b8e: 3802 0400 |0027: if-eqz v2, 002b // +0004 │ │ +025b92: 1e01 |0029: monitor-exit v1 │ │ +025b94: 286d |002a: goto 0097 // +006d │ │ +025b96: 6e10 f604 0000 |002b: invoke-virtual {v0}, Ljava/io/DataInputStream;.readShort:()S // method@04f6 │ │ +025b9c: 0a02 |002e: move-result v2 │ │ +025b9e: 6e10 f404 0000 |002f: invoke-virtual {v0}, Ljava/io/DataInputStream;.readInt:()I // method@04f4 │ │ +025ba4: 0a03 |0032: move-result v3 │ │ +025ba6: 2333 9d01 |0033: new-array v3, v3, [B // type@019d │ │ +025baa: 6e20 f204 3000 |0035: invoke-virtual {v0, v3}, Ljava/io/DataInputStream;.readFully:([B)V // method@04f2 │ │ +025bb0: 1e01 |0038: monitor-exit v1 │ │ +025bb2: 1211 |0039: const/4 v1, #int 1 // #1 │ │ +025bb4: 3212 4400 |003a: if-eq v2, v1, 007e // +0044 │ │ +025bb8: 1221 |003c: const/4 v1, #int 2 // #2 │ │ +025bba: 3212 3600 |003d: if-eq v2, v1, 0073 // +0036 │ │ +025bbe: 1231 |003f: const/4 v1, #int 3 // #3 │ │ +025bc0: 3212 2800 |0040: if-eq v2, v1, 0068 // +0028 │ │ +025bc4: 1241 |0042: const/4 v1, #int 4 // #4 │ │ +025bc6: 3312 0e00 |0043: if-ne v2, v1, 0051 // +000e │ │ +025bca: 5451 2a03 |0045: iget-object v1, v5, Lutil/AsyncLogger;.out:Lutil/LoggerInterface; // field@032a │ │ +025bce: 7110 9607 0300 |0047: invoke-static {v3}, Lutil/Utils;.deserializeObject:([B)Ljava/lang/Object; // method@0796 │ │ +025bd4: 0c02 |004a: move-result-object v2 │ │ +025bd6: 1f02 1b01 |004b: check-cast v2, Ljava/lang/Exception; // type@011b │ │ +025bda: 7220 3207 2100 |004d: invoke-interface {v1, v2}, Lutil/LoggerInterface;.logException:(Ljava/lang/Exception;)V // method@0732 │ │ +025be0: 28b7 |0050: goto 0007 // -0049 │ │ +025be2: 2201 0001 |0051: new-instance v1, Ljava/io/IOException; // type@0100 │ │ +025be6: 2203 2d01 |0053: new-instance v3, Ljava/lang/StringBuilder; // type@012d │ │ +025bea: 7010 a905 0300 |0055: invoke-direct {v3}, Ljava/lang/StringBuilder;.:()V // method@05a9 │ │ +025bf0: 1a04 8c04 |0058: const-string v4, "Unknown log Msg type: " // string@048c │ │ +025bf4: 6e20 af05 4300 |005a: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +025bfa: 6e20 ac05 2300 |005d: invoke-virtual {v3, v2}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@05ac │ │ +025c00: 6e10 b105 0300 |0060: invoke-virtual {v3}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ +025c06: 0c02 |0063: move-result-object v2 │ │ +025c08: 7020 2105 2100 |0064: invoke-direct {v1, v2}, Ljava/io/IOException;.:(Ljava/lang/String;)V // method@0521 │ │ +025c0e: 2701 |0067: throw v1 │ │ +025c10: 5451 2a03 |0068: iget-object v1, v5, Lutil/AsyncLogger;.out:Lutil/LoggerInterface; // field@032a │ │ +025c14: 2202 2b01 |006a: new-instance v2, Ljava/lang/String; // type@012b │ │ +025c18: 7020 8705 3200 |006c: invoke-direct {v2, v3}, Ljava/lang/String;.:([B)V // method@0587 │ │ +025c1e: 7220 3407 2100 |006f: invoke-interface {v1, v2}, Lutil/LoggerInterface;.message:(Ljava/lang/String;)V // method@0734 │ │ +025c24: 2895 |0072: goto 0007 // -006b │ │ +025c26: 5451 2a03 |0073: iget-object v1, v5, Lutil/AsyncLogger;.out:Lutil/LoggerInterface; // field@032a │ │ +025c2a: 2202 2b01 |0075: new-instance v2, Ljava/lang/String; // type@012b │ │ +025c2e: 7020 8705 3200 |0077: invoke-direct {v2, v3}, Ljava/lang/String;.:([B)V // method@0587 │ │ +025c34: 7220 3307 2100 |007a: invoke-interface {v1, v2}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0733 │ │ +025c3a: 288a |007d: goto 0007 // -0076 │ │ +025c3c: 5451 2a03 |007e: iget-object v1, v5, Lutil/AsyncLogger;.out:Lutil/LoggerInterface; // field@032a │ │ +025c40: 2202 2b01 |0080: new-instance v2, Ljava/lang/String; // type@012b │ │ +025c44: 7020 8705 3200 |0082: invoke-direct {v2, v3}, Ljava/lang/String;.:([B)V // method@0587 │ │ +025c4a: 7220 3107 2100 |0085: invoke-interface {v1, v2}, Lutil/LoggerInterface;.log:(Ljava/lang/String;)V // method@0731 │ │ +025c50: 2900 7fff |0088: goto/16 0007 // -0081 │ │ +025c54: 0d02 |008a: move-exception v2 │ │ +025c56: 1e01 |008b: monitor-exit v1 │ │ +025c58: 2702 |008c: throw v2 │ │ +025c5a: 0d01 |008d: move-exception v1 │ │ +025c5c: 5552 2903 |008e: iget-boolean v2, v5, Lutil/AsyncLogger;.closed:Z // field@0329 │ │ +025c60: 3902 77ff |0090: if-nez v2, 0007 // -0089 │ │ +025c64: 6e10 5e05 0100 |0092: invoke-virtual {v1}, Ljava/lang/Exception;.printStackTrace:()V // method@055e │ │ +025c6a: 2900 72ff |0095: goto/16 0007 // -008e │ │ +025c6e: 0e00 |0097: return-void │ │ catches : 7 │ │ 0x000b - 0x000e │ │ Ljava/lang/Exception; -> 0x008d │ │ 0x000e - 0x0018 │ │ -> 0x008a │ │ 0x001a - 0x001f │ │ Ljava/lang/InterruptedException; -> 0x0020 │ │ @@ -56991,36 +56991,36 @@ │ │ type : '()V' │ │ access : 0x10008 (STATIC CONSTRUCTOR) │ │ code - │ │ registers : 1 │ │ ins : 0 │ │ outs : 1 │ │ insns size : 8 16-bit code units │ │ -026490: |[026490] util.ExecutionEnvironment.:()V │ │ -0264a0: 2200 7f01 |0000: new-instance v0, Lutil/ExecutionEnvironment; // type@017f │ │ -0264a4: 7010 d106 0000 |0002: invoke-direct {v0}, Lutil/ExecutionEnvironment;.:()V // method@06d1 │ │ -0264aa: 6900 3c03 |0005: sput-object v0, Lutil/ExecutionEnvironment;.m_default:Lutil/ExecutionEnvironmentInterface; // field@033c │ │ -0264ae: 0e00 |0007: return-void │ │ +02648c: |[02648c] util.ExecutionEnvironment.:()V │ │ +02649c: 2200 7f01 |0000: new-instance v0, Lutil/ExecutionEnvironment; // type@017f │ │ +0264a0: 7010 d106 0000 |0002: invoke-direct {v0}, Lutil/ExecutionEnvironment;.:()V // method@06d1 │ │ +0264a6: 6900 3c03 |0005: sput-object v0, Lutil/ExecutionEnvironment;.m_default:Lutil/ExecutionEnvironmentInterface; // field@033c │ │ +0264aa: 0e00 |0007: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=31 │ │ 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 │ │ -0264b0: |[0264b0] util.ExecutionEnvironment.:()V │ │ -0264c0: 7010 7505 0000 |0000: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@0575 │ │ -0264c6: 0e00 |0003: return-void │ │ +0264ac: |[0264ac] util.ExecutionEnvironment.:()V │ │ +0264bc: 7010 7505 0000 |0000: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@0575 │ │ +0264c2: 0e00 |0003: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=28 │ │ locals : │ │ 0x0000 - 0x0004 reg=0 this Lutil/ExecutionEnvironment; │ │ │ │ #2 : (in Lutil/ExecutionEnvironment;) │ │ @@ -57028,20 +57028,20 @@ │ │ type : '()Lutil/ExecutionEnvironmentInterface;' │ │ access : 0x0009 (PUBLIC STATIC) │ │ code - │ │ registers : 1 │ │ ins : 0 │ │ outs : 0 │ │ insns size : 8 16-bit code units │ │ -026470: |[026470] util.ExecutionEnvironment.getEnvironment:()Lutil/ExecutionEnvironmentInterface; │ │ -026480: 6200 3b03 |0000: sget-object v0, Lutil/ExecutionEnvironment;.m_Env:Lutil/ExecutionEnvironmentInterface; // field@033b │ │ -026484: 3800 0300 |0002: if-eqz v0, 0005 // +0003 │ │ -026488: 1100 |0004: return-object v0 │ │ -02648a: 6200 3c03 |0005: sget-object v0, Lutil/ExecutionEnvironment;.m_default:Lutil/ExecutionEnvironmentInterface; // field@033c │ │ -02648e: 1100 |0007: return-object v0 │ │ +02646c: |[02646c] util.ExecutionEnvironment.getEnvironment:()Lutil/ExecutionEnvironmentInterface; │ │ +02647c: 6200 3b03 |0000: sget-object v0, Lutil/ExecutionEnvironment;.m_Env:Lutil/ExecutionEnvironmentInterface; // field@033b │ │ +026480: 3800 0300 |0002: if-eqz v0, 0005 // +0003 │ │ +026484: 1100 |0004: return-object v0 │ │ +026486: 6200 3c03 |0005: sget-object v0, Lutil/ExecutionEnvironment;.m_default:Lutil/ExecutionEnvironmentInterface; // field@033c │ │ +02648a: 1100 |0007: return-object v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=39 │ │ 0x0005 line=42 │ │ locals : │ │ │ │ #3 : (in Lutil/ExecutionEnvironment;) │ │ @@ -57049,17 +57049,17 @@ │ │ type : '(Lutil/ExecutionEnvironmentInterface;)V' │ │ access : 0x0009 (PUBLIC STATIC) │ │ code - │ │ registers : 1 │ │ ins : 1 │ │ outs : 0 │ │ insns size : 3 16-bit code units │ │ -026518: |[026518] util.ExecutionEnvironment.setEnvironment:(Lutil/ExecutionEnvironmentInterface;)V │ │ -026528: 6900 3b03 |0000: sput-object v0, Lutil/ExecutionEnvironment;.m_Env:Lutil/ExecutionEnvironmentInterface; // field@033b │ │ -02652c: 0e00 |0002: return-void │ │ +026514: |[026514] util.ExecutionEnvironment.setEnvironment:(Lutil/ExecutionEnvironmentInterface;)V │ │ +026524: 6900 3b03 |0000: sput-object v0, Lutil/ExecutionEnvironment;.m_Env:Lutil/ExecutionEnvironmentInterface; // field@033b │ │ +026528: 0e00 |0002: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=35 │ │ locals : │ │ 0x0000 - 0x0003 reg=0 (null) Lutil/ExecutionEnvironmentInterface; │ │ │ │ Virtual methods - │ │ @@ -57068,35 +57068,35 @@ │ │ type : '()Z' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 0 │ │ insns size : 2 16-bit code units │ │ -0263c0: |[0263c0] util.ExecutionEnvironment.debug:()Z │ │ -0263d0: 1200 |0000: const/4 v0, #int 0 // #0 │ │ -0263d2: 0f00 |0001: return v0 │ │ +0263bc: |[0263bc] util.ExecutionEnvironment.debug:()Z │ │ +0263cc: 1200 |0000: const/4 v0, #int 0 // #0 │ │ +0263ce: 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 │ │ -026410: |[026410] util.ExecutionEnvironment.getAsset:(Ljava/lang/String;)Ljava/io/InputStream; │ │ -026420: 2202 0001 |0000: new-instance v2, Ljava/io/IOException; // type@0100 │ │ -026424: 1a00 f603 |0002: const-string v0, "Not supported!" // string@03f6 │ │ -026428: 7020 2105 0200 |0004: invoke-direct {v2, v0}, Ljava/io/IOException;.:(Ljava/lang/String;)V // method@0521 │ │ -02642e: 2702 |0007: throw v2 │ │ +02640c: |[02640c] util.ExecutionEnvironment.getAsset:(Ljava/lang/String;)Ljava/io/InputStream; │ │ +02641c: 2202 0001 |0000: new-instance v2, Ljava/io/IOException; // type@0100 │ │ +026420: 1a00 f603 |0002: const-string v0, "Not supported!" // string@03f6 │ │ +026424: 7020 2105 0200 |0004: invoke-direct {v2, v0}, Ljava/io/IOException;.:(Ljava/lang/String;)V // method@0521 │ │ +02642a: 2702 |0007: throw v2 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=87 │ │ locals : │ │ 0x0000 - 0x0008 reg=1 this Lutil/ExecutionEnvironment; │ │ 0x0000 - 0x0008 reg=2 (null) Ljava/lang/String; │ │ │ │ @@ -57105,35 +57105,35 @@ │ │ type : '()I' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 0 │ │ insns size : 2 16-bit code units │ │ -0263fc: |[0263fc] util.ExecutionEnvironment.getEnvironmentID:()I │ │ -02640c: 1200 |0000: const/4 v0, #int 0 // #0 │ │ -02640e: 0f00 |0001: return v0 │ │ +0263f8: |[0263f8] util.ExecutionEnvironment.getEnvironmentID:()I │ │ +026408: 1200 |0000: const/4 v0, #int 0 // #0 │ │ +02640a: 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 │ │ -026430: |[026430] util.ExecutionEnvironment.getEnvironmentVersion:()Ljava/lang/String; │ │ -026440: 1a00 8108 |0000: const-string v0, "java.version" // string@0881 │ │ -026444: 7110 b505 0000 |0002: invoke-static {v0}, Ljava/lang/System;.getProperty:(Ljava/lang/String;)Ljava/lang/String; // method@05b5 │ │ -02644a: 0c00 |0005: move-result-object v0 │ │ -02644c: 1100 |0006: return-object v0 │ │ +02642c: |[02642c] util.ExecutionEnvironment.getEnvironmentVersion:()Ljava/lang/String; │ │ +02643c: 1a00 8108 |0000: const-string v0, "java.version" // string@0881 │ │ +026440: 7110 b505 0000 |0002: invoke-static {v0}, Ljava/lang/System;.getProperty:(Ljava/lang/String;)Ljava/lang/String; // method@05b5 │ │ +026446: 0c00 |0005: move-result-object v0 │ │ +026448: 1100 |0006: return-object v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=53 │ │ locals : │ │ 0x0000 - 0x0007 reg=1 this Lutil/ExecutionEnvironment; │ │ │ │ #4 : (in Lutil/ExecutionEnvironment;) │ │ @@ -57141,19 +57141,19 @@ │ │ type : '()Ljava/lang/String;' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 7 16-bit code units │ │ -026450: |[026450] util.ExecutionEnvironment.getWorkDir:()Ljava/lang/String; │ │ -026460: 1a00 6c0b |0000: const-string v0, "user.dir" // string@0b6c │ │ -026464: 7110 b505 0000 |0002: invoke-static {v0}, Ljava/lang/System;.getProperty:(Ljava/lang/String;)Ljava/lang/String; // method@05b5 │ │ -02646a: 0c00 |0005: move-result-object v0 │ │ -02646c: 1100 |0006: return-object v0 │ │ +02644c: |[02644c] util.ExecutionEnvironment.getWorkDir:()Ljava/lang/String; │ │ +02645c: 1a00 6c0b |0000: const-string v0, "user.dir" // string@0b6c │ │ +026460: 7110 b505 0000 |0002: invoke-static {v0}, Ljava/lang/System;.getProperty:(Ljava/lang/String;)Ljava/lang/String; // method@05b5 │ │ +026466: 0c00 |0005: move-result-object v0 │ │ +026468: 1100 |0006: return-object v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=74 │ │ locals : │ │ 0x0000 - 0x0007 reg=1 this Lutil/ExecutionEnvironment; │ │ │ │ #5 : (in Lutil/ExecutionEnvironment;) │ │ @@ -57161,108 +57161,108 @@ │ │ type : '()Z' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 0 │ │ insns size : 2 16-bit code units │ │ -0263d4: |[0263d4] util.ExecutionEnvironment.hasNetwork:()Z │ │ -0263e4: 1210 |0000: const/4 v0, #int 1 // #1 │ │ -0263e6: 0f00 |0001: return v0 │ │ +0263d0: |[0263d0] util.ExecutionEnvironment.hasNetwork:()Z │ │ +0263e0: 1210 |0000: const/4 v0, #int 1 // #1 │ │ +0263e2: 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 │ │ -0264c8: |[0264c8] util.ExecutionEnvironment.migrateConfig:()V │ │ -0264d8: 0e00 |0000: return-void │ │ +0264c4: |[0264c4] util.ExecutionEnvironment.migrateConfig:()V │ │ +0264d4: 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 │ │ -0264dc: |[0264dc] util.ExecutionEnvironment.onReload:()V │ │ -0264ec: 0e00 |0000: return-void │ │ +0264d8: |[0264d8] util.ExecutionEnvironment.onReload:()V │ │ +0264e8: 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 │ │ -0263e8: |[0263e8] util.ExecutionEnvironment.protectSocket:(Ljava/lang/Object;I)Z │ │ -0263f8: 1211 |0000: const/4 v1, #int 1 // #1 │ │ -0263fa: 0f01 |0001: return v1 │ │ +0263e4: |[0263e4] util.ExecutionEnvironment.protectSocket:(Ljava/lang/Object;I)Z │ │ +0263f4: 1211 |0000: const/4 v1, #int 1 // #1 │ │ +0263f6: 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 │ │ -0264f0: |[0264f0] util.ExecutionEnvironment.releaseAllWakeLocks:()V │ │ -026500: 0e00 |0000: return-void │ │ +0264ec: |[0264ec] util.ExecutionEnvironment.releaseAllWakeLocks:()V │ │ +0264fc: 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 │ │ -026504: |[026504] util.ExecutionEnvironment.releaseWakeLock:()V │ │ -026514: 0e00 |0000: return-void │ │ +026500: |[026500] util.ExecutionEnvironment.releaseWakeLock:()V │ │ +026510: 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 │ │ -026530: |[026530] util.ExecutionEnvironment.wakeLock:()V │ │ -026540: 0e00 |0000: return-void │ │ +02652c: |[02652c] util.ExecutionEnvironment.wakeLock:()V │ │ +02653c: 0e00 |0000: return-void │ │ catches : (none) │ │ positions : │ │ locals : │ │ │ │ source_file_idx : 403 (ExecutionEnvironment.java) │ │ │ │ Class #144 header: │ │ @@ -57350,48 +57350,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 │ │ -02664c: |[02664c] util.FileLogger.:(Ljava/lang/String;Ljava/lang/String;JILjava/lang/String;)V │ │ -02665c: 7010 7505 0300 |0000: invoke-direct {v3}, Ljava/lang/Object;.:()V // method@0575 │ │ -026662: 1600 0000 |0003: const-wide/16 v0, #int 0 // #0 │ │ -026666: 5a30 3f03 |0005: iput-wide v0, v3, Lutil/FileLogger;.curSlotSize:J // field@033f │ │ -02666a: 1200 |0007: const/4 v0, #int 0 // #0 │ │ -02666c: 5930 3e03 |0008: iput v0, v3, Lutil/FileLogger;.curSlot:I // field@033e │ │ -026670: 1201 |000a: const/4 v1, #int 0 // #0 │ │ -026672: 5b31 4003 |000b: iput-object v1, v3, Lutil/FileLogger;.fout:Ljava/io/OutputStream; // field@0340 │ │ -026676: 5c30 3d03 |000d: iput-boolean v0, v3, Lutil/FileLogger;.closed:Z // field@033d │ │ -02667a: 5c30 4903 |000f: iput-boolean v0, v3, Lutil/FileLogger;.timeStampEnabled:Z // field@0349 │ │ -02667e: 1600 0100 |0011: const-wide/16 v0, #int 1 // #1 │ │ -026682: 3102 0600 |0013: cmp-long v2, v6, v0 │ │ -026686: 3a02 2700 |0015: if-ltz v2, 003c // +0027 │ │ -02668a: 1210 |0017: const/4 v0, #int 1 // #1 │ │ -02668c: 3408 2400 |0018: if-lt v8, v0, 003c // +0024 │ │ -026690: 2200 2d01 |001a: new-instance v0, Ljava/lang/StringBuilder; // type@012d │ │ -026694: 7010 a905 0000 |001c: invoke-direct {v0}, Ljava/lang/StringBuilder;.:()V // method@05a9 │ │ -02669a: 6e20 af05 4000 |001f: invoke-virtual {v0, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -0266a0: 1a04 6000 |0022: const-string v4, "/" // string@0060 │ │ -0266a4: 6e20 af05 4000 |0024: invoke-virtual {v0, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -0266aa: 6e20 af05 5000 |0027: invoke-virtual {v0, v5}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -0266b0: 6e10 b105 0000 |002a: invoke-virtual {v0}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ -0266b6: 0c04 |002d: move-result-object v4 │ │ -0266b8: 5b34 4203 |002e: iput-object v4, v3, Lutil/FileLogger;.logFolderPath:Ljava/lang/String; // field@0342 │ │ -0266bc: 5b35 4303 |0030: iput-object v5, v3, Lutil/FileLogger;.name:Ljava/lang/String; // field@0343 │ │ -0266c0: 5a36 4803 |0032: iput-wide v6, v3, Lutil/FileLogger;.slotSize:J // field@0348 │ │ -0266c4: 5938 4703 |0034: iput v8, v3, Lutil/FileLogger;.slotCount:I // field@0347 │ │ -0266c8: 5b39 4103 |0036: iput-object v9, v3, Lutil/FileLogger;.header:Ljava/lang/String; // field@0341 │ │ -0266cc: 7010 f306 0300 |0038: invoke-direct {v3}, Lutil/FileLogger;.logOpen:()V // method@06f3 │ │ -0266d2: 0e00 |003b: return-void │ │ -0266d4: 2204 1c01 |003c: new-instance v4, Ljava/lang/IllegalArgumentException; // type@011c │ │ -0266d8: 1a05 dd0a |003e: const-string v5, "slotSize and slotCount must not be less than 1" // string@0add │ │ -0266dc: 7020 6205 5400 |0040: invoke-direct {v4, v5}, Ljava/lang/IllegalArgumentException;.:(Ljava/lang/String;)V // method@0562 │ │ -0266e2: 2704 |0043: throw v4 │ │ +026648: |[026648] util.FileLogger.:(Ljava/lang/String;Ljava/lang/String;JILjava/lang/String;)V │ │ +026658: 7010 7505 0300 |0000: invoke-direct {v3}, Ljava/lang/Object;.:()V // method@0575 │ │ +02665e: 1600 0000 |0003: const-wide/16 v0, #int 0 // #0 │ │ +026662: 5a30 3f03 |0005: iput-wide v0, v3, Lutil/FileLogger;.curSlotSize:J // field@033f │ │ +026666: 1200 |0007: const/4 v0, #int 0 // #0 │ │ +026668: 5930 3e03 |0008: iput v0, v3, Lutil/FileLogger;.curSlot:I // field@033e │ │ +02666c: 1201 |000a: const/4 v1, #int 0 // #0 │ │ +02666e: 5b31 4003 |000b: iput-object v1, v3, Lutil/FileLogger;.fout:Ljava/io/OutputStream; // field@0340 │ │ +026672: 5c30 3d03 |000d: iput-boolean v0, v3, Lutil/FileLogger;.closed:Z // field@033d │ │ +026676: 5c30 4903 |000f: iput-boolean v0, v3, Lutil/FileLogger;.timeStampEnabled:Z // field@0349 │ │ +02667a: 1600 0100 |0011: const-wide/16 v0, #int 1 // #1 │ │ +02667e: 3102 0600 |0013: cmp-long v2, v6, v0 │ │ +026682: 3a02 2700 |0015: if-ltz v2, 003c // +0027 │ │ +026686: 1210 |0017: const/4 v0, #int 1 // #1 │ │ +026688: 3408 2400 |0018: if-lt v8, v0, 003c // +0024 │ │ +02668c: 2200 2d01 |001a: new-instance v0, Ljava/lang/StringBuilder; // type@012d │ │ +026690: 7010 a905 0000 |001c: invoke-direct {v0}, Ljava/lang/StringBuilder;.:()V // method@05a9 │ │ +026696: 6e20 af05 4000 |001f: invoke-virtual {v0, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +02669c: 1a04 6000 |0022: const-string v4, "/" // string@0060 │ │ +0266a0: 6e20 af05 4000 |0024: invoke-virtual {v0, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +0266a6: 6e20 af05 5000 |0027: invoke-virtual {v0, v5}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +0266ac: 6e10 b105 0000 |002a: invoke-virtual {v0}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ +0266b2: 0c04 |002d: move-result-object v4 │ │ +0266b4: 5b34 4203 |002e: iput-object v4, v3, Lutil/FileLogger;.logFolderPath:Ljava/lang/String; // field@0342 │ │ +0266b8: 5b35 4303 |0030: iput-object v5, v3, Lutil/FileLogger;.name:Ljava/lang/String; // field@0343 │ │ +0266bc: 5a36 4803 |0032: iput-wide v6, v3, Lutil/FileLogger;.slotSize:J // field@0348 │ │ +0266c0: 5938 4703 |0034: iput v8, v3, Lutil/FileLogger;.slotCount:I // field@0347 │ │ +0266c4: 5b39 4103 |0036: iput-object v9, v3, Lutil/FileLogger;.header:Ljava/lang/String; // field@0341 │ │ +0266c8: 7010 f306 0300 |0038: invoke-direct {v3}, Lutil/FileLogger;.logOpen:()V // method@06f3 │ │ +0266ce: 0e00 |003b: return-void │ │ +0266d0: 2204 1c01 |003c: new-instance v4, Ljava/lang/IllegalArgumentException; // type@011c │ │ +0266d4: 1a05 dd0a |003e: const-string v5, "slotSize and slotCount must not be less than 1" // string@0add │ │ +0266d8: 7020 6205 5400 |0040: invoke-direct {v4, v5}, Ljava/lang/IllegalArgumentException;.:(Ljava/lang/String;)V // method@0562 │ │ +0266de: 2704 |0043: throw v4 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=49 │ │ 0x0005 line=40 │ │ 0x0008 line=41 │ │ 0x000b line=42 │ │ 0x000d line=46 │ │ @@ -57416,71 +57416,71 @@ │ │ type : '()Ljava/io/OutputStream;' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 6 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 123 16-bit code units │ │ -026544: |[026544] util.FileLogger.getOutputStream:()Ljava/io/OutputStream; │ │ -026554: 5350 3f03 |0000: iget-wide v0, v5, Lutil/FileLogger;.curSlotSize:J // field@033f │ │ -026558: 5352 4803 |0002: iget-wide v2, v5, Lutil/FileLogger;.slotSize:J // field@0348 │ │ -02655c: 3104 0002 |0004: cmp-long v4, v0, v2 │ │ -026560: 3b04 0500 |0006: if-gez v4, 000b // +0005 │ │ -026564: 5450 4003 |0008: iget-object v0, v5, Lutil/FileLogger;.fout:Ljava/io/OutputStream; // field@0340 │ │ -026568: 1100 |000a: return-object v0 │ │ -02656a: 5450 4003 |000b: iget-object v0, v5, Lutil/FileLogger;.fout:Ljava/io/OutputStream; // field@0340 │ │ -02656e: 6e10 3605 0000 |000d: invoke-virtual {v0}, Ljava/io/OutputStream;.flush:()V // method@0536 │ │ -026574: 5450 4003 |0010: iget-object v0, v5, Lutil/FileLogger;.fout:Ljava/io/OutputStream; // field@0340 │ │ -026578: 6e10 3505 0000 |0012: invoke-virtual {v0}, Ljava/io/OutputStream;.close:()V // method@0535 │ │ -02657e: 5250 3e03 |0015: iget v0, v5, Lutil/FileLogger;.curSlot:I // field@033e │ │ -026582: d800 0001 |0017: add-int/lit8 v0, v0, #int 1 // #01 │ │ -026586: 5251 4703 |0019: iget v1, v5, Lutil/FileLogger;.slotCount:I // field@0347 │ │ -02658a: b410 |001b: rem-int/2addr v0, v1 │ │ -02658c: 5950 3e03 |001c: iput v0, v5, Lutil/FileLogger;.curSlot:I // field@033e │ │ -026590: 2200 fb00 |001e: new-instance v0, Ljava/io/File; // type@00fb │ │ -026594: 2201 2d01 |0020: new-instance v1, Ljava/lang/StringBuilder; // type@012d │ │ -026598: 7010 a905 0100 |0022: invoke-direct {v1}, Ljava/lang/StringBuilder;.:()V // method@05a9 │ │ -02659e: 5452 4203 |0025: iget-object v2, v5, Lutil/FileLogger;.logFolderPath:Ljava/lang/String; // field@0342 │ │ -0265a2: 6e20 af05 2100 |0027: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -0265a8: 1a02 6000 |002a: const-string v2, "/" // string@0060 │ │ -0265ac: 6e20 af05 2100 |002c: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -0265b2: 5452 4303 |002f: iget-object v2, v5, Lutil/FileLogger;.name:Ljava/lang/String; // field@0343 │ │ -0265b6: 6e20 af05 2100 |0031: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -0265bc: 1a02 1005 |0034: const-string v2, "_" // string@0510 │ │ -0265c0: 6e20 af05 2100 |0036: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -0265c6: 5252 3e03 |0039: iget v2, v5, Lutil/FileLogger;.curSlot:I // field@033e │ │ -0265ca: 6e20 ac05 2100 |003b: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@05ac │ │ -0265d0: 1a02 5d00 |003e: const-string v2, ".log" // string@005d │ │ -0265d4: 6e20 af05 2100 |0040: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -0265da: 6e10 b105 0100 |0043: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ -0265e0: 0c01 |0046: move-result-object v1 │ │ -0265e2: 7020 0105 1000 |0047: invoke-direct {v0, v1}, Ljava/io/File;.:(Ljava/lang/String;)V // method@0501 │ │ -0265e8: 2201 ff00 |004a: new-instance v1, Ljava/io/FileOutputStream; // type@00ff │ │ -0265ec: 7020 1905 0100 |004c: invoke-direct {v1, v0}, Ljava/io/FileOutputStream;.:(Ljava/io/File;)V // method@0519 │ │ -0265f2: 5b51 4003 |004f: iput-object v1, v5, Lutil/FileLogger;.fout:Ljava/io/OutputStream; // field@0340 │ │ -0265f6: 1602 0000 |0051: const-wide/16 v2, #int 0 // #0 │ │ -0265fa: 5a52 3f03 |0053: iput-wide v2, v5, Lutil/FileLogger;.curSlotSize:J // field@033f │ │ -0265fe: 5450 4103 |0055: iget-object v0, v5, Lutil/FileLogger;.header:Ljava/lang/String; // field@0341 │ │ -026602: 3800 2100 |0057: if-eqz v0, 0078 // +0021 │ │ -026606: 2200 2d01 |0059: new-instance v0, Ljava/lang/StringBuilder; // type@012d │ │ -02660a: 7010 a905 0000 |005b: invoke-direct {v0}, Ljava/lang/StringBuilder;.:()V // method@05a9 │ │ -026610: 5452 4103 |005e: iget-object v2, v5, Lutil/FileLogger;.header:Ljava/lang/String; // field@0341 │ │ -026614: 6e20 af05 2000 |0060: invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -02661a: 1a02 0900 |0063: const-string v2, " │ │ +026540: |[026540] util.FileLogger.getOutputStream:()Ljava/io/OutputStream; │ │ +026550: 5350 3f03 |0000: iget-wide v0, v5, Lutil/FileLogger;.curSlotSize:J // field@033f │ │ +026554: 5352 4803 |0002: iget-wide v2, v5, Lutil/FileLogger;.slotSize:J // field@0348 │ │ +026558: 3104 0002 |0004: cmp-long v4, v0, v2 │ │ +02655c: 3b04 0500 |0006: if-gez v4, 000b // +0005 │ │ +026560: 5450 4003 |0008: iget-object v0, v5, Lutil/FileLogger;.fout:Ljava/io/OutputStream; // field@0340 │ │ +026564: 1100 |000a: return-object v0 │ │ +026566: 5450 4003 |000b: iget-object v0, v5, Lutil/FileLogger;.fout:Ljava/io/OutputStream; // field@0340 │ │ +02656a: 6e10 3605 0000 |000d: invoke-virtual {v0}, Ljava/io/OutputStream;.flush:()V // method@0536 │ │ +026570: 5450 4003 |0010: iget-object v0, v5, Lutil/FileLogger;.fout:Ljava/io/OutputStream; // field@0340 │ │ +026574: 6e10 3505 0000 |0012: invoke-virtual {v0}, Ljava/io/OutputStream;.close:()V // method@0535 │ │ +02657a: 5250 3e03 |0015: iget v0, v5, Lutil/FileLogger;.curSlot:I // field@033e │ │ +02657e: d800 0001 |0017: add-int/lit8 v0, v0, #int 1 // #01 │ │ +026582: 5251 4703 |0019: iget v1, v5, Lutil/FileLogger;.slotCount:I // field@0347 │ │ +026586: b410 |001b: rem-int/2addr v0, v1 │ │ +026588: 5950 3e03 |001c: iput v0, v5, Lutil/FileLogger;.curSlot:I // field@033e │ │ +02658c: 2200 fb00 |001e: new-instance v0, Ljava/io/File; // type@00fb │ │ +026590: 2201 2d01 |0020: new-instance v1, Ljava/lang/StringBuilder; // type@012d │ │ +026594: 7010 a905 0100 |0022: invoke-direct {v1}, Ljava/lang/StringBuilder;.:()V // method@05a9 │ │ +02659a: 5452 4203 |0025: iget-object v2, v5, Lutil/FileLogger;.logFolderPath:Ljava/lang/String; // field@0342 │ │ +02659e: 6e20 af05 2100 |0027: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +0265a4: 1a02 6000 |002a: const-string v2, "/" // string@0060 │ │ +0265a8: 6e20 af05 2100 |002c: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +0265ae: 5452 4303 |002f: iget-object v2, v5, Lutil/FileLogger;.name:Ljava/lang/String; // field@0343 │ │ +0265b2: 6e20 af05 2100 |0031: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +0265b8: 1a02 1005 |0034: const-string v2, "_" // string@0510 │ │ +0265bc: 6e20 af05 2100 |0036: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +0265c2: 5252 3e03 |0039: iget v2, v5, Lutil/FileLogger;.curSlot:I // field@033e │ │ +0265c6: 6e20 ac05 2100 |003b: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@05ac │ │ +0265cc: 1a02 5d00 |003e: const-string v2, ".log" // string@005d │ │ +0265d0: 6e20 af05 2100 |0040: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +0265d6: 6e10 b105 0100 |0043: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ +0265dc: 0c01 |0046: move-result-object v1 │ │ +0265de: 7020 0105 1000 |0047: invoke-direct {v0, v1}, Ljava/io/File;.:(Ljava/lang/String;)V // method@0501 │ │ +0265e4: 2201 ff00 |004a: new-instance v1, Ljava/io/FileOutputStream; // type@00ff │ │ +0265e8: 7020 1905 0100 |004c: invoke-direct {v1, v0}, Ljava/io/FileOutputStream;.:(Ljava/io/File;)V // method@0519 │ │ +0265ee: 5b51 4003 |004f: iput-object v1, v5, Lutil/FileLogger;.fout:Ljava/io/OutputStream; // field@0340 │ │ +0265f2: 1602 0000 |0051: const-wide/16 v2, #int 0 // #0 │ │ +0265f6: 5a52 3f03 |0053: iput-wide v2, v5, Lutil/FileLogger;.curSlotSize:J // field@033f │ │ +0265fa: 5450 4103 |0055: iget-object v0, v5, Lutil/FileLogger;.header:Ljava/lang/String; // field@0341 │ │ +0265fe: 3800 2100 |0057: if-eqz v0, 0078 // +0021 │ │ +026602: 2200 2d01 |0059: new-instance v0, Ljava/lang/StringBuilder; // type@012d │ │ +026606: 7010 a905 0000 |005b: invoke-direct {v0}, Ljava/lang/StringBuilder;.:()V // method@05a9 │ │ +02660c: 5452 4103 |005e: iget-object v2, v5, Lutil/FileLogger;.header:Ljava/lang/String; // field@0341 │ │ +026610: 6e20 af05 2000 |0060: invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +026616: 1a02 0900 |0063: const-string v2, " │ │ " // string@0009 │ │ -02661e: 6e20 af05 2000 |0065: invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -026624: 6e10 b105 0000 |0068: invoke-virtual {v0}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ -02662a: 0c00 |006b: move-result-object v0 │ │ -02662c: 6e10 8f05 0000 |006c: invoke-virtual {v0}, Ljava/lang/String;.getBytes:()[B // method@058f │ │ -026632: 0c00 |006f: move-result-object v0 │ │ -026634: 6e20 3805 0100 |0070: invoke-virtual {v1, v0}, Ljava/io/OutputStream;.write:([B)V // method@0538 │ │ -02663a: 5450 4003 |0073: iget-object v0, v5, Lutil/FileLogger;.fout:Ljava/io/OutputStream; // field@0340 │ │ -02663e: 6e10 3605 0000 |0075: invoke-virtual {v0}, Ljava/io/OutputStream;.flush:()V // method@0536 │ │ -026644: 5450 4003 |0078: iget-object v0, v5, Lutil/FileLogger;.fout:Ljava/io/OutputStream; // field@0340 │ │ -026648: 1100 |007a: return-object v0 │ │ +02661a: 6e20 af05 2000 |0065: invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +026620: 6e10 b105 0000 |0068: invoke-virtual {v0}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ +026626: 0c00 |006b: move-result-object v0 │ │ +026628: 6e10 8f05 0000 |006c: invoke-virtual {v0}, Ljava/lang/String;.getBytes:()[B // method@058f │ │ +02662e: 0c00 |006f: move-result-object v0 │ │ +026630: 6e20 3805 0100 |0070: invoke-virtual {v1, v0}, Ljava/io/OutputStream;.write:([B)V // method@0538 │ │ +026636: 5450 4003 |0073: iget-object v0, v5, Lutil/FileLogger;.fout:Ljava/io/OutputStream; // field@0340 │ │ +02663a: 6e10 3605 0000 |0075: invoke-virtual {v0}, Ljava/io/OutputStream;.flush:()V // method@0536 │ │ +026640: 5450 4003 |0078: iget-object v0, v5, Lutil/FileLogger;.fout:Ljava/io/OutputStream; // field@0340 │ │ +026644: 1100 |007a: return-object v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=154 │ │ 0x0008 line=155 │ │ 0x000b line=158 │ │ 0x0010 line=159 │ │ 0x0015 line=160 │ │ @@ -57499,114 +57499,114 @@ │ │ type : '()V' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 12 │ │ ins : 1 │ │ outs : 3 │ │ insns size : 221 16-bit code units │ │ -026974: |[026974] util.FileLogger.logOpen:()V │ │ -026984: 2200 fb00 |0000: new-instance v0, Ljava/io/File; // type@00fb │ │ -026988: 54b1 4203 |0002: iget-object v1, v11, Lutil/FileLogger;.logFolderPath:Ljava/lang/String; // field@0342 │ │ -02698c: 7020 0105 1000 |0004: invoke-direct {v0, v1}, Ljava/io/File;.:(Ljava/lang/String;)V // method@0501 │ │ -026992: 6e10 0705 0000 |0007: invoke-virtual {v0}, Ljava/io/File;.exists:()Z // method@0507 │ │ -026998: 0a01 |000a: move-result v1 │ │ -02699a: 3901 0500 |000b: if-nez v1, 0010 // +0005 │ │ -02699e: 6e10 1105 0000 |000d: invoke-virtual {v0}, Ljava/io/File;.mkdirs:()Z // method@0511 │ │ -0269a4: 1600 0000 |0010: const-wide/16 v0, #int 0 // #0 │ │ -0269a8: 1202 |0012: const/4 v2, #int 0 // #0 │ │ -0269aa: 0403 |0013: move-wide v3, v0 │ │ -0269ac: 52b5 4703 |0014: iget v5, v11, Lutil/FileLogger;.slotCount:I // field@0347 │ │ -0269b0: 1a06 5d00 |0016: const-string v6, ".log" // string@005d │ │ -0269b4: 1a07 1005 |0018: const-string v7, "_" // string@0510 │ │ -0269b8: 1a08 6000 |001a: const-string v8, "/" // string@0060 │ │ -0269bc: 3552 4300 |001c: if-ge v2, v5, 005f // +0043 │ │ -0269c0: 2205 fb00 |001e: new-instance v5, Ljava/io/File; // type@00fb │ │ -0269c4: 2209 2d01 |0020: new-instance v9, Ljava/lang/StringBuilder; // type@012d │ │ -0269c8: 7010 a905 0900 |0022: invoke-direct {v9}, Ljava/lang/StringBuilder;.:()V // method@05a9 │ │ -0269ce: 54ba 4203 |0025: iget-object v10, v11, Lutil/FileLogger;.logFolderPath:Ljava/lang/String; // field@0342 │ │ -0269d2: 6e20 af05 a900 |0027: invoke-virtual {v9, v10}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -0269d8: 6e20 af05 8900 |002a: invoke-virtual {v9, v8}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -0269de: 54b8 4303 |002d: iget-object v8, v11, Lutil/FileLogger;.name:Ljava/lang/String; // field@0343 │ │ -0269e2: 6e20 af05 8900 |002f: invoke-virtual {v9, v8}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -0269e8: 6e20 af05 7900 |0032: invoke-virtual {v9, v7}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -0269ee: 6e20 ac05 2900 |0035: invoke-virtual {v9, v2}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@05ac │ │ -0269f4: 6e20 af05 6900 |0038: invoke-virtual {v9, v6}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -0269fa: 6e10 b105 0900 |003b: invoke-virtual {v9}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ -026a00: 0c06 |003e: move-result-object v6 │ │ -026a02: 7020 0105 6500 |003f: invoke-direct {v5, v6}, Ljava/io/File;.:(Ljava/lang/String;)V // method@0501 │ │ -026a08: 6e10 0705 0500 |0042: invoke-virtual {v5}, Ljava/io/File;.exists:()Z // method@0507 │ │ -026a0e: 0a06 |0045: move-result v6 │ │ -026a10: 3806 1600 |0046: if-eqz v6, 005c // +0016 │ │ -026a14: 6e10 0d05 0500 |0048: invoke-virtual {v5}, Ljava/io/File;.lastModified:()J // method@050d │ │ -026a1a: 0b06 |004b: move-result-wide v6 │ │ -026a1c: 3108 0603 |004c: cmp-long v8, v6, v3 │ │ -026a20: 3d08 0e00 |004e: if-lez v8, 005c // +000e │ │ -026a24: 6e10 0d05 0500 |0050: invoke-virtual {v5}, Ljava/io/File;.lastModified:()J // method@050d │ │ -026a2a: 0b03 |0053: move-result-wide v3 │ │ -026a2c: 6e10 0e05 0500 |0054: invoke-virtual {v5}, Ljava/io/File;.length:()J // method@050e │ │ -026a32: 0b05 |0057: move-result-wide v5 │ │ -026a34: 5ab5 3f03 |0058: iput-wide v5, v11, Lutil/FileLogger;.curSlotSize:J // field@033f │ │ -026a38: 59b2 3e03 |005a: iput v2, v11, Lutil/FileLogger;.curSlot:I // field@033e │ │ -026a3c: d802 0201 |005c: add-int/lit8 v2, v2, #int 1 // #01 │ │ -026a40: 28b6 |005e: goto 0014 // -004a │ │ -026a42: 2202 ff00 |005f: new-instance v2, Ljava/io/FileOutputStream; // type@00ff │ │ -026a46: 2203 fb00 |0061: new-instance v3, Ljava/io/File; // type@00fb │ │ -026a4a: 2204 2d01 |0063: new-instance v4, Ljava/lang/StringBuilder; // type@012d │ │ -026a4e: 7010 a905 0400 |0065: invoke-direct {v4}, Ljava/lang/StringBuilder;.:()V // method@05a9 │ │ -026a54: 54b5 4203 |0068: iget-object v5, v11, Lutil/FileLogger;.logFolderPath:Ljava/lang/String; // field@0342 │ │ -026a58: 6e20 af05 5400 |006a: invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -026a5e: 6e20 af05 8400 |006d: invoke-virtual {v4, v8}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -026a64: 54b5 4303 |0070: iget-object v5, v11, Lutil/FileLogger;.name:Ljava/lang/String; // field@0343 │ │ -026a68: 6e20 af05 5400 |0072: invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -026a6e: 6e20 af05 7400 |0075: invoke-virtual {v4, v7}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -026a74: 52b5 3e03 |0078: iget v5, v11, Lutil/FileLogger;.curSlot:I // field@033e │ │ -026a78: 6e20 ac05 5400 |007a: invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@05ac │ │ -026a7e: 6e20 af05 6400 |007d: invoke-virtual {v4, v6}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -026a84: 6e10 b105 0400 |0080: invoke-virtual {v4}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ -026a8a: 0c04 |0083: move-result-object v4 │ │ -026a8c: 7020 0105 4300 |0084: invoke-direct {v3, v4}, Ljava/io/File;.:(Ljava/lang/String;)V // method@0501 │ │ -026a92: 1214 |0087: const/4 v4, #int 1 // #1 │ │ -026a94: 7030 1a05 3204 |0088: invoke-direct {v2, v3, v4}, Ljava/io/FileOutputStream;.:(Ljava/io/File;Z)V // method@051a │ │ -026a9a: 5bb2 4003 |008b: iput-object v2, v11, Lutil/FileLogger;.fout:Ljava/io/OutputStream; // field@0340 │ │ -026a9e: 53b5 3f03 |008d: iget-wide v5, v11, Lutil/FileLogger;.curSlotSize:J // field@033f │ │ -026aa2: 3103 0500 |008f: cmp-long v3, v5, v0 │ │ -026aa6: 3903 2500 |0091: if-nez v3, 00b6 // +0025 │ │ -026aaa: 54b0 4103 |0093: iget-object v0, v11, Lutil/FileLogger;.header:Ljava/lang/String; // field@0341 │ │ -026aae: 3800 2100 |0095: if-eqz v0, 00b6 // +0021 │ │ -026ab2: 2200 2d01 |0097: new-instance v0, Ljava/lang/StringBuilder; // type@012d │ │ -026ab6: 7010 a905 0000 |0099: invoke-direct {v0}, Ljava/lang/StringBuilder;.:()V // method@05a9 │ │ -026abc: 54b1 4103 |009c: iget-object v1, v11, Lutil/FileLogger;.header:Ljava/lang/String; // field@0341 │ │ -026ac0: 6e20 af05 1000 |009e: invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -026ac6: 1a01 0900 |00a1: const-string v1, " │ │ +026970: |[026970] util.FileLogger.logOpen:()V │ │ +026980: 2200 fb00 |0000: new-instance v0, Ljava/io/File; // type@00fb │ │ +026984: 54b1 4203 |0002: iget-object v1, v11, Lutil/FileLogger;.logFolderPath:Ljava/lang/String; // field@0342 │ │ +026988: 7020 0105 1000 |0004: invoke-direct {v0, v1}, Ljava/io/File;.:(Ljava/lang/String;)V // method@0501 │ │ +02698e: 6e10 0705 0000 |0007: invoke-virtual {v0}, Ljava/io/File;.exists:()Z // method@0507 │ │ +026994: 0a01 |000a: move-result v1 │ │ +026996: 3901 0500 |000b: if-nez v1, 0010 // +0005 │ │ +02699a: 6e10 1105 0000 |000d: invoke-virtual {v0}, Ljava/io/File;.mkdirs:()Z // method@0511 │ │ +0269a0: 1600 0000 |0010: const-wide/16 v0, #int 0 // #0 │ │ +0269a4: 1202 |0012: const/4 v2, #int 0 // #0 │ │ +0269a6: 0403 |0013: move-wide v3, v0 │ │ +0269a8: 52b5 4703 |0014: iget v5, v11, Lutil/FileLogger;.slotCount:I // field@0347 │ │ +0269ac: 1a06 5d00 |0016: const-string v6, ".log" // string@005d │ │ +0269b0: 1a07 1005 |0018: const-string v7, "_" // string@0510 │ │ +0269b4: 1a08 6000 |001a: const-string v8, "/" // string@0060 │ │ +0269b8: 3552 4300 |001c: if-ge v2, v5, 005f // +0043 │ │ +0269bc: 2205 fb00 |001e: new-instance v5, Ljava/io/File; // type@00fb │ │ +0269c0: 2209 2d01 |0020: new-instance v9, Ljava/lang/StringBuilder; // type@012d │ │ +0269c4: 7010 a905 0900 |0022: invoke-direct {v9}, Ljava/lang/StringBuilder;.:()V // method@05a9 │ │ +0269ca: 54ba 4203 |0025: iget-object v10, v11, Lutil/FileLogger;.logFolderPath:Ljava/lang/String; // field@0342 │ │ +0269ce: 6e20 af05 a900 |0027: invoke-virtual {v9, v10}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +0269d4: 6e20 af05 8900 |002a: invoke-virtual {v9, v8}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +0269da: 54b8 4303 |002d: iget-object v8, v11, Lutil/FileLogger;.name:Ljava/lang/String; // field@0343 │ │ +0269de: 6e20 af05 8900 |002f: invoke-virtual {v9, v8}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +0269e4: 6e20 af05 7900 |0032: invoke-virtual {v9, v7}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +0269ea: 6e20 ac05 2900 |0035: invoke-virtual {v9, v2}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@05ac │ │ +0269f0: 6e20 af05 6900 |0038: invoke-virtual {v9, v6}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +0269f6: 6e10 b105 0900 |003b: invoke-virtual {v9}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ +0269fc: 0c06 |003e: move-result-object v6 │ │ +0269fe: 7020 0105 6500 |003f: invoke-direct {v5, v6}, Ljava/io/File;.:(Ljava/lang/String;)V // method@0501 │ │ +026a04: 6e10 0705 0500 |0042: invoke-virtual {v5}, Ljava/io/File;.exists:()Z // method@0507 │ │ +026a0a: 0a06 |0045: move-result v6 │ │ +026a0c: 3806 1600 |0046: if-eqz v6, 005c // +0016 │ │ +026a10: 6e10 0d05 0500 |0048: invoke-virtual {v5}, Ljava/io/File;.lastModified:()J // method@050d │ │ +026a16: 0b06 |004b: move-result-wide v6 │ │ +026a18: 3108 0603 |004c: cmp-long v8, v6, v3 │ │ +026a1c: 3d08 0e00 |004e: if-lez v8, 005c // +000e │ │ +026a20: 6e10 0d05 0500 |0050: invoke-virtual {v5}, Ljava/io/File;.lastModified:()J // method@050d │ │ +026a26: 0b03 |0053: move-result-wide v3 │ │ +026a28: 6e10 0e05 0500 |0054: invoke-virtual {v5}, Ljava/io/File;.length:()J // method@050e │ │ +026a2e: 0b05 |0057: move-result-wide v5 │ │ +026a30: 5ab5 3f03 |0058: iput-wide v5, v11, Lutil/FileLogger;.curSlotSize:J // field@033f │ │ +026a34: 59b2 3e03 |005a: iput v2, v11, Lutil/FileLogger;.curSlot:I // field@033e │ │ +026a38: d802 0201 |005c: add-int/lit8 v2, v2, #int 1 // #01 │ │ +026a3c: 28b6 |005e: goto 0014 // -004a │ │ +026a3e: 2202 ff00 |005f: new-instance v2, Ljava/io/FileOutputStream; // type@00ff │ │ +026a42: 2203 fb00 |0061: new-instance v3, Ljava/io/File; // type@00fb │ │ +026a46: 2204 2d01 |0063: new-instance v4, Ljava/lang/StringBuilder; // type@012d │ │ +026a4a: 7010 a905 0400 |0065: invoke-direct {v4}, Ljava/lang/StringBuilder;.:()V // method@05a9 │ │ +026a50: 54b5 4203 |0068: iget-object v5, v11, Lutil/FileLogger;.logFolderPath:Ljava/lang/String; // field@0342 │ │ +026a54: 6e20 af05 5400 |006a: invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +026a5a: 6e20 af05 8400 |006d: invoke-virtual {v4, v8}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +026a60: 54b5 4303 |0070: iget-object v5, v11, Lutil/FileLogger;.name:Ljava/lang/String; // field@0343 │ │ +026a64: 6e20 af05 5400 |0072: invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +026a6a: 6e20 af05 7400 |0075: invoke-virtual {v4, v7}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +026a70: 52b5 3e03 |0078: iget v5, v11, Lutil/FileLogger;.curSlot:I // field@033e │ │ +026a74: 6e20 ac05 5400 |007a: invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@05ac │ │ +026a7a: 6e20 af05 6400 |007d: invoke-virtual {v4, v6}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +026a80: 6e10 b105 0400 |0080: invoke-virtual {v4}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ +026a86: 0c04 |0083: move-result-object v4 │ │ +026a88: 7020 0105 4300 |0084: invoke-direct {v3, v4}, Ljava/io/File;.:(Ljava/lang/String;)V // method@0501 │ │ +026a8e: 1214 |0087: const/4 v4, #int 1 // #1 │ │ +026a90: 7030 1a05 3204 |0088: invoke-direct {v2, v3, v4}, Ljava/io/FileOutputStream;.:(Ljava/io/File;Z)V // method@051a │ │ +026a96: 5bb2 4003 |008b: iput-object v2, v11, Lutil/FileLogger;.fout:Ljava/io/OutputStream; // field@0340 │ │ +026a9a: 53b5 3f03 |008d: iget-wide v5, v11, Lutil/FileLogger;.curSlotSize:J // field@033f │ │ +026a9e: 3103 0500 |008f: cmp-long v3, v5, v0 │ │ +026aa2: 3903 2500 |0091: if-nez v3, 00b6 // +0025 │ │ +026aa6: 54b0 4103 |0093: iget-object v0, v11, Lutil/FileLogger;.header:Ljava/lang/String; // field@0341 │ │ +026aaa: 3800 2100 |0095: if-eqz v0, 00b6 // +0021 │ │ +026aae: 2200 2d01 |0097: new-instance v0, Ljava/lang/StringBuilder; // type@012d │ │ +026ab2: 7010 a905 0000 |0099: invoke-direct {v0}, Ljava/lang/StringBuilder;.:()V // method@05a9 │ │ +026ab8: 54b1 4103 |009c: iget-object v1, v11, Lutil/FileLogger;.header:Ljava/lang/String; // field@0341 │ │ +026abc: 6e20 af05 1000 |009e: invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +026ac2: 1a01 0900 |00a1: const-string v1, " │ │ " // string@0009 │ │ -026aca: 6e20 af05 1000 |00a3: invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -026ad0: 6e10 b105 0000 |00a6: invoke-virtual {v0}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ -026ad6: 0c00 |00a9: move-result-object v0 │ │ -026ad8: 6e10 8f05 0000 |00aa: invoke-virtual {v0}, Ljava/lang/String;.getBytes:()[B // method@058f │ │ -026ade: 0c00 |00ad: move-result-object v0 │ │ -026ae0: 6e20 3805 0200 |00ae: invoke-virtual {v2, v0}, Ljava/io/OutputStream;.write:([B)V // method@0538 │ │ -026ae6: 54b0 4003 |00b1: iget-object v0, v11, Lutil/FileLogger;.fout:Ljava/io/OutputStream; // field@0340 │ │ -026aea: 6e10 3605 0000 |00b3: invoke-virtual {v0}, Ljava/io/OutputStream;.flush:()V // method@0536 │ │ -026af0: 2200 0701 |00b6: new-instance v0, Ljava/io/PipedInputStream; // type@0107 │ │ -026af4: 1301 0028 |00b8: const/16 v1, #int 10240 // #2800 │ │ -026af8: 7020 3b05 1000 |00ba: invoke-direct {v0, v1}, Ljava/io/PipedInputStream;.:(I)V // method@053b │ │ -026afe: 5bb0 4403 |00bd: iput-object v0, v11, Lutil/FileLogger;.pin:Ljava/io/PipedInputStream; // field@0344 │ │ -026b02: 2200 0801 |00bf: new-instance v0, Ljava/io/PipedOutputStream; // type@0108 │ │ -026b06: 54b1 4403 |00c1: iget-object v1, v11, Lutil/FileLogger;.pin:Ljava/io/PipedInputStream; // field@0344 │ │ -026b0a: 7020 3e05 1000 |00c3: invoke-direct {v0, v1}, Ljava/io/PipedOutputStream;.:(Ljava/io/PipedInputStream;)V // method@053e │ │ -026b10: 5bb0 4503 |00c6: iput-object v0, v11, Lutil/FileLogger;.pout:Ljava/io/PipedOutputStream; // field@0345 │ │ -026b14: 2200 0901 |00c8: new-instance v0, Ljava/io/PrintStream; // type@0109 │ │ -026b18: 54b1 4503 |00ca: iget-object v1, v11, Lutil/FileLogger;.pout:Ljava/io/PipedOutputStream; // field@0345 │ │ -026b1c: 7030 4005 1004 |00cc: invoke-direct {v0, v1, v4}, Ljava/io/PrintStream;.:(Ljava/io/OutputStream;Z)V // method@0540 │ │ -026b22: 5bb0 4603 |00cf: iput-object v0, v11, Lutil/FileLogger;.psout:Ljava/io/PrintStream; // field@0346 │ │ -026b26: 2200 2f01 |00d1: new-instance v0, Ljava/lang/Thread; // type@012f │ │ -026b2a: 7020 b605 b000 |00d3: invoke-direct {v0, v11}, Ljava/lang/Thread;.:(Ljava/lang/Runnable;)V // method@05b6 │ │ -026b30: 6e20 ba05 4000 |00d6: invoke-virtual {v0, v4}, Ljava/lang/Thread;.setDaemon:(Z)V // method@05ba │ │ -026b36: 6e10 bc05 0000 |00d9: invoke-virtual {v0}, Ljava/lang/Thread;.start:()V // method@05bc │ │ -026b3c: 0e00 |00dc: return-void │ │ +026ac6: 6e20 af05 1000 |00a3: invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +026acc: 6e10 b105 0000 |00a6: invoke-virtual {v0}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ +026ad2: 0c00 |00a9: move-result-object v0 │ │ +026ad4: 6e10 8f05 0000 |00aa: invoke-virtual {v0}, Ljava/lang/String;.getBytes:()[B // method@058f │ │ +026ada: 0c00 |00ad: move-result-object v0 │ │ +026adc: 6e20 3805 0200 |00ae: invoke-virtual {v2, v0}, Ljava/io/OutputStream;.write:([B)V // method@0538 │ │ +026ae2: 54b0 4003 |00b1: iget-object v0, v11, Lutil/FileLogger;.fout:Ljava/io/OutputStream; // field@0340 │ │ +026ae6: 6e10 3605 0000 |00b3: invoke-virtual {v0}, Ljava/io/OutputStream;.flush:()V // method@0536 │ │ +026aec: 2200 0701 |00b6: new-instance v0, Ljava/io/PipedInputStream; // type@0107 │ │ +026af0: 1301 0028 |00b8: const/16 v1, #int 10240 // #2800 │ │ +026af4: 7020 3b05 1000 |00ba: invoke-direct {v0, v1}, Ljava/io/PipedInputStream;.:(I)V // method@053b │ │ +026afa: 5bb0 4403 |00bd: iput-object v0, v11, Lutil/FileLogger;.pin:Ljava/io/PipedInputStream; // field@0344 │ │ +026afe: 2200 0801 |00bf: new-instance v0, Ljava/io/PipedOutputStream; // type@0108 │ │ +026b02: 54b1 4403 |00c1: iget-object v1, v11, Lutil/FileLogger;.pin:Ljava/io/PipedInputStream; // field@0344 │ │ +026b06: 7020 3e05 1000 |00c3: invoke-direct {v0, v1}, Ljava/io/PipedOutputStream;.:(Ljava/io/PipedInputStream;)V // method@053e │ │ +026b0c: 5bb0 4503 |00c6: iput-object v0, v11, Lutil/FileLogger;.pout:Ljava/io/PipedOutputStream; // field@0345 │ │ +026b10: 2200 0901 |00c8: new-instance v0, Ljava/io/PrintStream; // type@0109 │ │ +026b14: 54b1 4503 |00ca: iget-object v1, v11, Lutil/FileLogger;.pout:Ljava/io/PipedOutputStream; // field@0345 │ │ +026b18: 7030 4005 1004 |00cc: invoke-direct {v0, v1, v4}, Ljava/io/PrintStream;.:(Ljava/io/OutputStream;Z)V // method@0540 │ │ +026b1e: 5bb0 4603 |00cf: iput-object v0, v11, Lutil/FileLogger;.psout:Ljava/io/PrintStream; // field@0346 │ │ +026b22: 2200 2f01 |00d1: new-instance v0, Ljava/lang/Thread; // type@012f │ │ +026b26: 7020 b605 b000 |00d3: invoke-direct {v0, v11}, Ljava/lang/Thread;.:(Ljava/lang/Runnable;)V // method@05b6 │ │ +026b2c: 6e20 ba05 4000 |00d6: invoke-virtual {v0, v4}, Ljava/lang/Thread;.setDaemon:(Z)V // method@05ba │ │ +026b32: 6e10 bc05 0000 |00d9: invoke-virtual {v0}, Ljava/lang/Thread;.start:()V // method@05bc │ │ +026b38: 0e00 |00dc: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=63 │ │ 0x0007 line=64 │ │ 0x000d line=65 │ │ 0x0014 line=69 │ │ 0x001e line=70 │ │ @@ -57633,34 +57633,34 @@ │ │ type : '()V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 3 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 32 16-bit code units │ │ -0266e4: |[0266e4] util.FileLogger.closeLogger:()V │ │ -0266f4: 5420 4403 |0000: iget-object v0, v2, Lutil/FileLogger;.pin:Ljava/io/PipedInputStream; // field@0344 │ │ -0266f8: 1d00 |0002: monitor-enter v0 │ │ -0266fa: 1211 |0003: const/4 v1, #int 1 // #1 │ │ -0266fc: 5c21 3d03 |0004: iput-boolean v1, v2, Lutil/FileLogger;.closed:Z // field@033d │ │ -026700: 5421 4503 |0006: iget-object v1, v2, Lutil/FileLogger;.pout:Ljava/io/PipedOutputStream; // field@0345 │ │ -026704: 6e10 3f05 0100 |0008: invoke-virtual {v1}, Ljava/io/PipedOutputStream;.close:()V // method@053f │ │ -02670a: 5421 4003 |000b: iget-object v1, v2, Lutil/FileLogger;.fout:Ljava/io/OutputStream; // field@0340 │ │ -02670e: 6e10 3505 0100 |000d: invoke-virtual {v1}, Ljava/io/OutputStream;.close:()V // method@0535 │ │ -026714: 5421 4403 |0010: iget-object v1, v2, Lutil/FileLogger;.pin:Ljava/io/PipedInputStream; // field@0344 │ │ -026718: 6e10 7905 0100 |0012: invoke-virtual {v1}, Ljava/lang/Object;.notifyAll:()V // method@0579 │ │ -02671e: 2807 |0015: goto 001c // +0007 │ │ -026720: 0d01 |0016: move-exception v1 │ │ -026722: 2807 |0017: goto 001e // +0007 │ │ -026724: 0d01 |0018: move-exception v1 │ │ -026726: 6e10 2505 0100 |0019: invoke-virtual {v1}, Ljava/io/IOException;.printStackTrace:()V // method@0525 │ │ -02672c: 1e00 |001c: monitor-exit v0 │ │ -02672e: 0e00 |001d: return-void │ │ -026730: 1e00 |001e: monitor-exit v0 │ │ -026732: 2701 |001f: throw v1 │ │ +0266e0: |[0266e0] util.FileLogger.closeLogger:()V │ │ +0266f0: 5420 4403 |0000: iget-object v0, v2, Lutil/FileLogger;.pin:Ljava/io/PipedInputStream; // field@0344 │ │ +0266f4: 1d00 |0002: monitor-enter v0 │ │ +0266f6: 1211 |0003: const/4 v1, #int 1 // #1 │ │ +0266f8: 5c21 3d03 |0004: iput-boolean v1, v2, Lutil/FileLogger;.closed:Z // field@033d │ │ +0266fc: 5421 4503 |0006: iget-object v1, v2, Lutil/FileLogger;.pout:Ljava/io/PipedOutputStream; // field@0345 │ │ +026700: 6e10 3f05 0100 |0008: invoke-virtual {v1}, Ljava/io/PipedOutputStream;.close:()V // method@053f │ │ +026706: 5421 4003 |000b: iget-object v1, v2, Lutil/FileLogger;.fout:Ljava/io/OutputStream; // field@0340 │ │ +02670a: 6e10 3505 0100 |000d: invoke-virtual {v1}, Ljava/io/OutputStream;.close:()V // method@0535 │ │ +026710: 5421 4403 |0010: iget-object v1, v2, Lutil/FileLogger;.pin:Ljava/io/PipedInputStream; // field@0344 │ │ +026714: 6e10 7905 0100 |0012: invoke-virtual {v1}, Ljava/lang/Object;.notifyAll:()V // method@0579 │ │ +02671a: 2807 |0015: goto 001c // +0007 │ │ +02671c: 0d01 |0016: move-exception v1 │ │ +02671e: 2807 |0017: goto 001e // +0007 │ │ +026720: 0d01 |0018: move-exception v1 │ │ +026722: 6e10 2505 0100 |0019: invoke-virtual {v1}, Ljava/io/IOException;.printStackTrace:()V // method@0525 │ │ +026728: 1e00 |001c: monitor-exit v0 │ │ +02672a: 0e00 |001d: return-void │ │ +02672c: 1e00 |001e: monitor-exit v0 │ │ +02672e: 2701 |001f: throw v1 │ │ catches : 2 │ │ 0x0004 - 0x0015 │ │ Ljava/io/IOException; -> 0x0018 │ │ -> 0x0016 │ │ 0x0019 - 0x001f │ │ -> 0x0016 │ │ positions : │ │ @@ -57679,17 +57679,17 @@ │ │ type : '(Z)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 2 │ │ outs : 0 │ │ insns size : 3 16-bit code units │ │ -02674c: |[02674c] util.FileLogger.enableTimestamp:(Z)V │ │ -02675c: 5c01 4903 |0000: iput-boolean v1, v0, Lutil/FileLogger;.timeStampEnabled:Z // field@0349 │ │ -026760: 0e00 |0002: return-void │ │ +026748: |[026748] util.FileLogger.enableTimestamp:(Z)V │ │ +026758: 5c01 4903 |0000: iput-boolean v1, v0, Lutil/FileLogger;.timeStampEnabled:Z // field@0349 │ │ +02675c: 0e00 |0002: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=109 │ │ locals : │ │ 0x0000 - 0x0003 reg=0 this Lutil/FileLogger; │ │ 0x0000 - 0x0003 reg=1 (null) Z │ │ │ │ @@ -57698,45 +57698,45 @@ │ │ type : '(Ljava/lang/String;)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 7 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 55 16-bit code units │ │ -026764: |[026764] util.FileLogger.log:(Ljava/lang/String;)V │ │ -026774: 5450 4603 |0000: iget-object v0, v5, Lutil/FileLogger;.psout:Ljava/io/PrintStream; // field@0346 │ │ -026778: 1d00 |0002: monitor-enter v0 │ │ -02677a: 5451 4403 |0003: iget-object v1, v5, Lutil/FileLogger;.pin:Ljava/io/PipedInputStream; // field@0344 │ │ -02677e: 1d01 |0005: monitor-enter v1 │ │ -026780: 5552 4903 |0006: iget-boolean v2, v5, Lutil/FileLogger;.timeStampEnabled:Z // field@0349 │ │ -026784: 3802 1c00 |0008: if-eqz v2, 0024 // +001c │ │ -026788: 5452 4603 |000a: iget-object v2, v5, Lutil/FileLogger;.psout:Ljava/io/PrintStream; // field@0346 │ │ -02678c: 2203 2d01 |000c: new-instance v3, Ljava/lang/StringBuilder; // type@012d │ │ -026790: 7010 a905 0300 |000e: invoke-direct {v3}, Ljava/lang/StringBuilder;.:()V // method@05a9 │ │ -026796: 7100 c306 0000 |0011: invoke-static {}, Lutil/DateRetriever;.getDateString:()Ljava/lang/String; // method@06c3 │ │ -02679c: 0c04 |0014: move-result-object v4 │ │ -02679e: 6e20 af05 4300 |0015: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -0267a4: 1a04 0d00 |0018: const-string v4, " " // string@000d │ │ -0267a8: 6e20 af05 4300 |001a: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -0267ae: 6e10 b105 0300 |001d: invoke-virtual {v3}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ -0267b4: 0c03 |0020: move-result-object v3 │ │ -0267b6: 6e20 4105 3200 |0021: invoke-virtual {v2, v3}, Ljava/io/PrintStream;.print:(Ljava/lang/String;)V // method@0541 │ │ -0267bc: 5452 4603 |0024: iget-object v2, v5, Lutil/FileLogger;.psout:Ljava/io/PrintStream; // field@0346 │ │ -0267c0: 6e20 4105 6200 |0026: invoke-virtual {v2, v6}, Ljava/io/PrintStream;.print:(Ljava/lang/String;)V // method@0541 │ │ -0267c6: 5456 4403 |0029: iget-object v6, v5, Lutil/FileLogger;.pin:Ljava/io/PipedInputStream; // field@0344 │ │ -0267ca: 6e10 7905 0600 |002b: invoke-virtual {v6}, Ljava/lang/Object;.notifyAll:()V // method@0579 │ │ -0267d0: 1e01 |002e: monitor-exit v1 │ │ -0267d2: 1e00 |002f: monitor-exit v0 │ │ -0267d4: 0e00 |0030: return-void │ │ -0267d6: 0d06 |0031: move-exception v6 │ │ -0267d8: 1e01 |0032: monitor-exit v1 │ │ -0267da: 2706 |0033: throw v6 │ │ -0267dc: 0d06 |0034: move-exception v6 │ │ -0267de: 1e00 |0035: monitor-exit v0 │ │ -0267e0: 2706 |0036: throw v6 │ │ +026760: |[026760] util.FileLogger.log:(Ljava/lang/String;)V │ │ +026770: 5450 4603 |0000: iget-object v0, v5, Lutil/FileLogger;.psout:Ljava/io/PrintStream; // field@0346 │ │ +026774: 1d00 |0002: monitor-enter v0 │ │ +026776: 5451 4403 |0003: iget-object v1, v5, Lutil/FileLogger;.pin:Ljava/io/PipedInputStream; // field@0344 │ │ +02677a: 1d01 |0005: monitor-enter v1 │ │ +02677c: 5552 4903 |0006: iget-boolean v2, v5, Lutil/FileLogger;.timeStampEnabled:Z // field@0349 │ │ +026780: 3802 1c00 |0008: if-eqz v2, 0024 // +001c │ │ +026784: 5452 4603 |000a: iget-object v2, v5, Lutil/FileLogger;.psout:Ljava/io/PrintStream; // field@0346 │ │ +026788: 2203 2d01 |000c: new-instance v3, Ljava/lang/StringBuilder; // type@012d │ │ +02678c: 7010 a905 0300 |000e: invoke-direct {v3}, Ljava/lang/StringBuilder;.:()V // method@05a9 │ │ +026792: 7100 c306 0000 |0011: invoke-static {}, Lutil/DateRetriever;.getDateString:()Ljava/lang/String; // method@06c3 │ │ +026798: 0c04 |0014: move-result-object v4 │ │ +02679a: 6e20 af05 4300 |0015: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +0267a0: 1a04 0d00 |0018: const-string v4, " " // string@000d │ │ +0267a4: 6e20 af05 4300 |001a: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +0267aa: 6e10 b105 0300 |001d: invoke-virtual {v3}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ +0267b0: 0c03 |0020: move-result-object v3 │ │ +0267b2: 6e20 4105 3200 |0021: invoke-virtual {v2, v3}, Ljava/io/PrintStream;.print:(Ljava/lang/String;)V // method@0541 │ │ +0267b8: 5452 4603 |0024: iget-object v2, v5, Lutil/FileLogger;.psout:Ljava/io/PrintStream; // field@0346 │ │ +0267bc: 6e20 4105 6200 |0026: invoke-virtual {v2, v6}, Ljava/io/PrintStream;.print:(Ljava/lang/String;)V // method@0541 │ │ +0267c2: 5456 4403 |0029: iget-object v6, v5, Lutil/FileLogger;.pin:Ljava/io/PipedInputStream; // field@0344 │ │ +0267c6: 6e10 7905 0600 |002b: invoke-virtual {v6}, Ljava/lang/Object;.notifyAll:()V // method@0579 │ │ +0267cc: 1e01 |002e: monitor-exit v1 │ │ +0267ce: 1e00 |002f: monitor-exit v0 │ │ +0267d0: 0e00 |0030: return-void │ │ +0267d2: 0d06 |0031: move-exception v6 │ │ +0267d4: 1e01 |0032: monitor-exit v1 │ │ +0267d6: 2706 |0033: throw v6 │ │ +0267d8: 0d06 |0034: move-exception v6 │ │ +0267da: 1e00 |0035: monitor-exit v0 │ │ +0267dc: 2706 |0036: throw v6 │ │ catches : 5 │ │ 0x0003 - 0x0006 │ │ -> 0x0034 │ │ 0x0006 - 0x002f │ │ -> 0x0031 │ │ 0x002f - 0x0030 │ │ -> 0x0034 │ │ @@ -57764,45 +57764,45 @@ │ │ type : '(Ljava/lang/Exception;)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 7 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 55 16-bit code units │ │ -026814: |[026814] util.FileLogger.logException:(Ljava/lang/Exception;)V │ │ -026824: 5450 4603 |0000: iget-object v0, v5, Lutil/FileLogger;.psout:Ljava/io/PrintStream; // field@0346 │ │ -026828: 1d00 |0002: monitor-enter v0 │ │ -02682a: 5451 4403 |0003: iget-object v1, v5, Lutil/FileLogger;.pin:Ljava/io/PipedInputStream; // field@0344 │ │ -02682e: 1d01 |0005: monitor-enter v1 │ │ -026830: 5552 4903 |0006: iget-boolean v2, v5, Lutil/FileLogger;.timeStampEnabled:Z // field@0349 │ │ -026834: 3802 1c00 |0008: if-eqz v2, 0024 // +001c │ │ -026838: 5452 4603 |000a: iget-object v2, v5, Lutil/FileLogger;.psout:Ljava/io/PrintStream; // field@0346 │ │ -02683c: 2203 2d01 |000c: new-instance v3, Ljava/lang/StringBuilder; // type@012d │ │ -026840: 7010 a905 0300 |000e: invoke-direct {v3}, Ljava/lang/StringBuilder;.:()V // method@05a9 │ │ -026846: 7100 c306 0000 |0011: invoke-static {}, Lutil/DateRetriever;.getDateString:()Ljava/lang/String; // method@06c3 │ │ -02684c: 0c04 |0014: move-result-object v4 │ │ -02684e: 6e20 af05 4300 |0015: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -026854: 1a04 0d00 |0018: const-string v4, " " // string@000d │ │ -026858: 6e20 af05 4300 |001a: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -02685e: 6e10 b105 0300 |001d: invoke-virtual {v3}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ -026864: 0c03 |0020: move-result-object v3 │ │ -026866: 6e20 4105 3200 |0021: invoke-virtual {v2, v3}, Ljava/io/PrintStream;.print:(Ljava/lang/String;)V // method@0541 │ │ -02686c: 5452 4603 |0024: iget-object v2, v5, Lutil/FileLogger;.psout:Ljava/io/PrintStream; // field@0346 │ │ -026870: 6e20 5f05 2600 |0026: invoke-virtual {v6, v2}, Ljava/lang/Exception;.printStackTrace:(Ljava/io/PrintStream;)V // method@055f │ │ -026876: 5456 4403 |0029: iget-object v6, v5, Lutil/FileLogger;.pin:Ljava/io/PipedInputStream; // field@0344 │ │ -02687a: 6e10 7905 0600 |002b: invoke-virtual {v6}, Ljava/lang/Object;.notifyAll:()V // method@0579 │ │ -026880: 1e01 |002e: monitor-exit v1 │ │ -026882: 1e00 |002f: monitor-exit v0 │ │ -026884: 0e00 |0030: return-void │ │ -026886: 0d06 |0031: move-exception v6 │ │ -026888: 1e01 |0032: monitor-exit v1 │ │ -02688a: 2706 |0033: throw v6 │ │ -02688c: 0d06 |0034: move-exception v6 │ │ -02688e: 1e00 |0035: monitor-exit v0 │ │ -026890: 2706 |0036: throw v6 │ │ +026810: |[026810] util.FileLogger.logException:(Ljava/lang/Exception;)V │ │ +026820: 5450 4603 |0000: iget-object v0, v5, Lutil/FileLogger;.psout:Ljava/io/PrintStream; // field@0346 │ │ +026824: 1d00 |0002: monitor-enter v0 │ │ +026826: 5451 4403 |0003: iget-object v1, v5, Lutil/FileLogger;.pin:Ljava/io/PipedInputStream; // field@0344 │ │ +02682a: 1d01 |0005: monitor-enter v1 │ │ +02682c: 5552 4903 |0006: iget-boolean v2, v5, Lutil/FileLogger;.timeStampEnabled:Z // field@0349 │ │ +026830: 3802 1c00 |0008: if-eqz v2, 0024 // +001c │ │ +026834: 5452 4603 |000a: iget-object v2, v5, Lutil/FileLogger;.psout:Ljava/io/PrintStream; // field@0346 │ │ +026838: 2203 2d01 |000c: new-instance v3, Ljava/lang/StringBuilder; // type@012d │ │ +02683c: 7010 a905 0300 |000e: invoke-direct {v3}, Ljava/lang/StringBuilder;.:()V // method@05a9 │ │ +026842: 7100 c306 0000 |0011: invoke-static {}, Lutil/DateRetriever;.getDateString:()Ljava/lang/String; // method@06c3 │ │ +026848: 0c04 |0014: move-result-object v4 │ │ +02684a: 6e20 af05 4300 |0015: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +026850: 1a04 0d00 |0018: const-string v4, " " // string@000d │ │ +026854: 6e20 af05 4300 |001a: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +02685a: 6e10 b105 0300 |001d: invoke-virtual {v3}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ +026860: 0c03 |0020: move-result-object v3 │ │ +026862: 6e20 4105 3200 |0021: invoke-virtual {v2, v3}, Ljava/io/PrintStream;.print:(Ljava/lang/String;)V // method@0541 │ │ +026868: 5452 4603 |0024: iget-object v2, v5, Lutil/FileLogger;.psout:Ljava/io/PrintStream; // field@0346 │ │ +02686c: 6e20 5f05 2600 |0026: invoke-virtual {v6, v2}, Ljava/lang/Exception;.printStackTrace:(Ljava/io/PrintStream;)V // method@055f │ │ +026872: 5456 4403 |0029: iget-object v6, v5, Lutil/FileLogger;.pin:Ljava/io/PipedInputStream; // field@0344 │ │ +026876: 6e10 7905 0600 |002b: invoke-virtual {v6}, Ljava/lang/Object;.notifyAll:()V // method@0579 │ │ +02687c: 1e01 |002e: monitor-exit v1 │ │ +02687e: 1e00 |002f: monitor-exit v0 │ │ +026880: 0e00 |0030: return-void │ │ +026882: 0d06 |0031: move-exception v6 │ │ +026884: 1e01 |0032: monitor-exit v1 │ │ +026886: 2706 |0033: throw v6 │ │ +026888: 0d06 |0034: move-exception v6 │ │ +02688a: 1e00 |0035: monitor-exit v0 │ │ +02688c: 2706 |0036: throw v6 │ │ catches : 5 │ │ 0x0003 - 0x0006 │ │ -> 0x0034 │ │ 0x0006 - 0x002f │ │ -> 0x0031 │ │ 0x002f - 0x0030 │ │ -> 0x0034 │ │ @@ -57830,45 +57830,45 @@ │ │ type : '(Ljava/lang/String;)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 7 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 55 16-bit code units │ │ -0268c4: |[0268c4] util.FileLogger.logLine:(Ljava/lang/String;)V │ │ -0268d4: 5450 4603 |0000: iget-object v0, v5, Lutil/FileLogger;.psout:Ljava/io/PrintStream; // field@0346 │ │ -0268d8: 1d00 |0002: monitor-enter v0 │ │ -0268da: 5451 4403 |0003: iget-object v1, v5, Lutil/FileLogger;.pin:Ljava/io/PipedInputStream; // field@0344 │ │ -0268de: 1d01 |0005: monitor-enter v1 │ │ -0268e0: 5552 4903 |0006: iget-boolean v2, v5, Lutil/FileLogger;.timeStampEnabled:Z // field@0349 │ │ -0268e4: 3802 1c00 |0008: if-eqz v2, 0024 // +001c │ │ -0268e8: 5452 4603 |000a: iget-object v2, v5, Lutil/FileLogger;.psout:Ljava/io/PrintStream; // field@0346 │ │ -0268ec: 2203 2d01 |000c: new-instance v3, Ljava/lang/StringBuilder; // type@012d │ │ -0268f0: 7010 a905 0300 |000e: invoke-direct {v3}, Ljava/lang/StringBuilder;.:()V // method@05a9 │ │ -0268f6: 7100 c306 0000 |0011: invoke-static {}, Lutil/DateRetriever;.getDateString:()Ljava/lang/String; // method@06c3 │ │ -0268fc: 0c04 |0014: move-result-object v4 │ │ -0268fe: 6e20 af05 4300 |0015: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -026904: 1a04 0d00 |0018: const-string v4, " " // string@000d │ │ -026908: 6e20 af05 4300 |001a: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -02690e: 6e10 b105 0300 |001d: invoke-virtual {v3}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ -026914: 0c03 |0020: move-result-object v3 │ │ -026916: 6e20 4105 3200 |0021: invoke-virtual {v2, v3}, Ljava/io/PrintStream;.print:(Ljava/lang/String;)V // method@0541 │ │ -02691c: 5452 4603 |0024: iget-object v2, v5, Lutil/FileLogger;.psout:Ljava/io/PrintStream; // field@0346 │ │ -026920: 6e20 4205 6200 |0026: invoke-virtual {v2, v6}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@0542 │ │ -026926: 5456 4403 |0029: iget-object v6, v5, Lutil/FileLogger;.pin:Ljava/io/PipedInputStream; // field@0344 │ │ -02692a: 6e10 7905 0600 |002b: invoke-virtual {v6}, Ljava/lang/Object;.notifyAll:()V // method@0579 │ │ -026930: 1e01 |002e: monitor-exit v1 │ │ -026932: 1e00 |002f: monitor-exit v0 │ │ -026934: 0e00 |0030: return-void │ │ -026936: 0d06 |0031: move-exception v6 │ │ -026938: 1e01 |0032: monitor-exit v1 │ │ -02693a: 2706 |0033: throw v6 │ │ -02693c: 0d06 |0034: move-exception v6 │ │ -02693e: 1e00 |0035: monitor-exit v0 │ │ -026940: 2706 |0036: throw v6 │ │ +0268c0: |[0268c0] util.FileLogger.logLine:(Ljava/lang/String;)V │ │ +0268d0: 5450 4603 |0000: iget-object v0, v5, Lutil/FileLogger;.psout:Ljava/io/PrintStream; // field@0346 │ │ +0268d4: 1d00 |0002: monitor-enter v0 │ │ +0268d6: 5451 4403 |0003: iget-object v1, v5, Lutil/FileLogger;.pin:Ljava/io/PipedInputStream; // field@0344 │ │ +0268da: 1d01 |0005: monitor-enter v1 │ │ +0268dc: 5552 4903 |0006: iget-boolean v2, v5, Lutil/FileLogger;.timeStampEnabled:Z // field@0349 │ │ +0268e0: 3802 1c00 |0008: if-eqz v2, 0024 // +001c │ │ +0268e4: 5452 4603 |000a: iget-object v2, v5, Lutil/FileLogger;.psout:Ljava/io/PrintStream; // field@0346 │ │ +0268e8: 2203 2d01 |000c: new-instance v3, Ljava/lang/StringBuilder; // type@012d │ │ +0268ec: 7010 a905 0300 |000e: invoke-direct {v3}, Ljava/lang/StringBuilder;.:()V // method@05a9 │ │ +0268f2: 7100 c306 0000 |0011: invoke-static {}, Lutil/DateRetriever;.getDateString:()Ljava/lang/String; // method@06c3 │ │ +0268f8: 0c04 |0014: move-result-object v4 │ │ +0268fa: 6e20 af05 4300 |0015: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +026900: 1a04 0d00 |0018: const-string v4, " " // string@000d │ │ +026904: 6e20 af05 4300 |001a: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +02690a: 6e10 b105 0300 |001d: invoke-virtual {v3}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ +026910: 0c03 |0020: move-result-object v3 │ │ +026912: 6e20 4105 3200 |0021: invoke-virtual {v2, v3}, Ljava/io/PrintStream;.print:(Ljava/lang/String;)V // method@0541 │ │ +026918: 5452 4603 |0024: iget-object v2, v5, Lutil/FileLogger;.psout:Ljava/io/PrintStream; // field@0346 │ │ +02691c: 6e20 4205 6200 |0026: invoke-virtual {v2, v6}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@0542 │ │ +026922: 5456 4403 |0029: iget-object v6, v5, Lutil/FileLogger;.pin:Ljava/io/PipedInputStream; // field@0344 │ │ +026926: 6e10 7905 0600 |002b: invoke-virtual {v6}, Ljava/lang/Object;.notifyAll:()V // method@0579 │ │ +02692c: 1e01 |002e: monitor-exit v1 │ │ +02692e: 1e00 |002f: monitor-exit v0 │ │ +026930: 0e00 |0030: return-void │ │ +026932: 0d06 |0031: move-exception v6 │ │ +026934: 1e01 |0032: monitor-exit v1 │ │ +026936: 2706 |0033: throw v6 │ │ +026938: 0d06 |0034: move-exception v6 │ │ +02693a: 1e00 |0035: monitor-exit v0 │ │ +02693c: 2706 |0036: throw v6 │ │ catches : 5 │ │ 0x0003 - 0x0006 │ │ -> 0x0034 │ │ 0x0006 - 0x002f │ │ -> 0x0031 │ │ 0x002f - 0x0030 │ │ -> 0x0034 │ │ @@ -57896,17 +57896,17 @@ │ │ type : '(Ljava/lang/String;)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 4 16-bit code units │ │ -026b40: |[026b40] util.FileLogger.message:(Ljava/lang/String;)V │ │ -026b50: 6e20 f006 1000 |0000: invoke-virtual {v0, v1}, Lutil/FileLogger;.log:(Ljava/lang/String;)V // method@06f0 │ │ -026b56: 0e00 |0003: return-void │ │ +026b3c: |[026b3c] util.FileLogger.message:(Ljava/lang/String;)V │ │ +026b4c: 6e20 f006 1000 |0000: invoke-virtual {v0, v1}, Lutil/FileLogger;.log:(Ljava/lang/String;)V // method@06f0 │ │ +026b52: 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; │ │ │ │ @@ -57915,60 +57915,60 @@ │ │ type : '()V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 10 │ │ ins : 1 │ │ outs : 4 │ │ insns size : 79 16-bit code units │ │ -026b58: |[026b58] util.FileLogger.run:()V │ │ -026b68: 1300 0008 |0000: const/16 v0, #int 2048 // #800 │ │ -026b6c: 2300 9d01 |0002: new-array v0, v0, [B // type@019d │ │ -026b70: 1201 |0004: const/4 v1, #int 0 // #0 │ │ -026b72: 1202 |0005: const/4 v2, #int 0 // #0 │ │ -026b74: 5593 3d03 |0006: iget-boolean v3, v9, Lutil/FileLogger;.closed:Z // field@033d │ │ -026b78: 3903 4600 |0008: if-nez v3, 004e // +0046 │ │ -026b7c: 5493 4403 |000a: iget-object v3, v9, Lutil/FileLogger;.pin:Ljava/io/PipedInputStream; // field@0344 │ │ -026b80: 1d03 |000c: monitor-enter v3 │ │ -026b82: 5494 4403 |000d: iget-object v4, v9, Lutil/FileLogger;.pin:Ljava/io/PipedInputStream; // field@0344 │ │ -026b86: 6e10 3c05 0400 |000f: invoke-virtual {v4}, Ljava/io/PipedInputStream;.available:()I // method@053c │ │ -026b8c: 0a04 |0012: move-result v4 │ │ -026b8e: 3c04 1100 |0013: if-gtz v4, 0024 // +0011 │ │ -026b92: 5595 3d03 |0015: iget-boolean v5, v9, Lutil/FileLogger;.closed:Z // field@033d │ │ -026b96: 3905 0d00 |0017: if-nez v5, 0024 // +000d │ │ -026b9a: 5494 4403 |0019: iget-object v4, v9, Lutil/FileLogger;.pin:Ljava/io/PipedInputStream; // field@0344 │ │ -026b9e: 6e10 7b05 0400 |001b: invoke-virtual {v4}, Ljava/lang/Object;.wait:()V // method@057b │ │ -026ba4: 28ef |001e: goto 000d // -0011 │ │ -026ba6: 0d04 |001f: move-exception v4 │ │ -026ba8: 6e10 6b05 0400 |0020: invoke-virtual {v4}, Ljava/lang/InterruptedException;.printStackTrace:()V // method@056b │ │ -026bae: 28ea |0023: goto 000d // -0016 │ │ -026bb0: 5595 3d03 |0024: iget-boolean v5, v9, Lutil/FileLogger;.closed:Z // field@033d │ │ -026bb4: 3905 0800 |0026: if-nez v5, 002e // +0008 │ │ -026bb8: 5495 4403 |0028: iget-object v5, v9, Lutil/FileLogger;.pin:Ljava/io/PipedInputStream; // field@0344 │ │ -026bbc: 6e20 3d05 0500 |002a: invoke-virtual {v5, v0}, Ljava/io/PipedInputStream;.read:([B)I // method@053d │ │ -026bc2: 0a02 |002d: move-result v2 │ │ -026bc4: 1e03 |002e: monitor-exit v3 │ │ -026bc6: 5593 3d03 |002f: iget-boolean v3, v9, Lutil/FileLogger;.closed:Z // field@033d │ │ -026bca: 3903 d5ff |0031: if-nez v3, 0006 // -002b │ │ -026bce: 7010 ef06 0900 |0033: invoke-direct {v9}, Lutil/FileLogger;.getOutputStream:()Ljava/io/OutputStream; // method@06ef │ │ -026bd4: 0c03 |0036: move-result-object v3 │ │ -026bd6: 6e40 3905 0321 |0037: invoke-virtual {v3, v0, v1, v2}, Ljava/io/OutputStream;.write:([BII)V // method@0539 │ │ -026bdc: 5395 3f03 |003a: iget-wide v5, v9, Lutil/FileLogger;.curSlotSize:J // field@033f │ │ -026be0: 8127 |003c: int-to-long v7, v2 │ │ -026be2: bb75 |003d: add-long/2addr v5, v7 │ │ -026be4: 5a95 3f03 |003e: iput-wide v5, v9, Lutil/FileLogger;.curSlotSize:J // field@033f │ │ -026be8: 3324 c6ff |0040: if-ne v4, v2, 0006 // -003a │ │ -026bec: 6e10 3605 0300 |0042: invoke-virtual {v3}, Ljava/io/OutputStream;.flush:()V // method@0536 │ │ -026bf2: 28c1 |0045: goto 0006 // -003f │ │ -026bf4: 0d04 |0046: move-exception v4 │ │ -026bf6: 1e03 |0047: monitor-exit v3 │ │ -026bf8: 2704 |0048: throw v4 │ │ -026bfa: 0d03 |0049: move-exception v3 │ │ -026bfc: 6e10 5e05 0300 |004a: invoke-virtual {v3}, Ljava/lang/Exception;.printStackTrace:()V // method@055e │ │ -026c02: 28b9 |004d: goto 0006 // -0047 │ │ -026c04: 0e00 |004e: return-void │ │ +026b54: |[026b54] util.FileLogger.run:()V │ │ +026b64: 1300 0008 |0000: const/16 v0, #int 2048 // #800 │ │ +026b68: 2300 9d01 |0002: new-array v0, v0, [B // type@019d │ │ +026b6c: 1201 |0004: const/4 v1, #int 0 // #0 │ │ +026b6e: 1202 |0005: const/4 v2, #int 0 // #0 │ │ +026b70: 5593 3d03 |0006: iget-boolean v3, v9, Lutil/FileLogger;.closed:Z // field@033d │ │ +026b74: 3903 4600 |0008: if-nez v3, 004e // +0046 │ │ +026b78: 5493 4403 |000a: iget-object v3, v9, Lutil/FileLogger;.pin:Ljava/io/PipedInputStream; // field@0344 │ │ +026b7c: 1d03 |000c: monitor-enter v3 │ │ +026b7e: 5494 4403 |000d: iget-object v4, v9, Lutil/FileLogger;.pin:Ljava/io/PipedInputStream; // field@0344 │ │ +026b82: 6e10 3c05 0400 |000f: invoke-virtual {v4}, Ljava/io/PipedInputStream;.available:()I // method@053c │ │ +026b88: 0a04 |0012: move-result v4 │ │ +026b8a: 3c04 1100 |0013: if-gtz v4, 0024 // +0011 │ │ +026b8e: 5595 3d03 |0015: iget-boolean v5, v9, Lutil/FileLogger;.closed:Z // field@033d │ │ +026b92: 3905 0d00 |0017: if-nez v5, 0024 // +000d │ │ +026b96: 5494 4403 |0019: iget-object v4, v9, Lutil/FileLogger;.pin:Ljava/io/PipedInputStream; // field@0344 │ │ +026b9a: 6e10 7b05 0400 |001b: invoke-virtual {v4}, Ljava/lang/Object;.wait:()V // method@057b │ │ +026ba0: 28ef |001e: goto 000d // -0011 │ │ +026ba2: 0d04 |001f: move-exception v4 │ │ +026ba4: 6e10 6b05 0400 |0020: invoke-virtual {v4}, Ljava/lang/InterruptedException;.printStackTrace:()V // method@056b │ │ +026baa: 28ea |0023: goto 000d // -0016 │ │ +026bac: 5595 3d03 |0024: iget-boolean v5, v9, Lutil/FileLogger;.closed:Z // field@033d │ │ +026bb0: 3905 0800 |0026: if-nez v5, 002e // +0008 │ │ +026bb4: 5495 4403 |0028: iget-object v5, v9, Lutil/FileLogger;.pin:Ljava/io/PipedInputStream; // field@0344 │ │ +026bb8: 6e20 3d05 0500 |002a: invoke-virtual {v5, v0}, Ljava/io/PipedInputStream;.read:([B)I // method@053d │ │ +026bbe: 0a02 |002d: move-result v2 │ │ +026bc0: 1e03 |002e: monitor-exit v3 │ │ +026bc2: 5593 3d03 |002f: iget-boolean v3, v9, Lutil/FileLogger;.closed:Z // field@033d │ │ +026bc6: 3903 d5ff |0031: if-nez v3, 0006 // -002b │ │ +026bca: 7010 ef06 0900 |0033: invoke-direct {v9}, Lutil/FileLogger;.getOutputStream:()Ljava/io/OutputStream; // method@06ef │ │ +026bd0: 0c03 |0036: move-result-object v3 │ │ +026bd2: 6e40 3905 0321 |0037: invoke-virtual {v3, v0, v1, v2}, Ljava/io/OutputStream;.write:([BII)V // method@0539 │ │ +026bd8: 5395 3f03 |003a: iget-wide v5, v9, Lutil/FileLogger;.curSlotSize:J // field@033f │ │ +026bdc: 8127 |003c: int-to-long v7, v2 │ │ +026bde: bb75 |003d: add-long/2addr v5, v7 │ │ +026be0: 5a95 3f03 |003e: iput-wide v5, v9, Lutil/FileLogger;.curSlotSize:J // field@033f │ │ +026be4: 3324 c6ff |0040: if-ne v4, v2, 0006 // -003a │ │ +026be8: 6e10 3605 0300 |0042: invoke-virtual {v3}, Ljava/io/OutputStream;.flush:()V // method@0536 │ │ +026bee: 28c1 |0045: goto 0006 // -003f │ │ +026bf0: 0d04 |0046: move-exception v4 │ │ +026bf2: 1e03 |0047: monitor-exit v3 │ │ +026bf4: 2704 |0048: throw v4 │ │ +026bf6: 0d03 |0049: move-exception v3 │ │ +026bf8: 6e10 5e05 0300 |004a: invoke-virtual {v3}, Ljava/lang/Exception;.printStackTrace:()V // method@055e │ │ +026bfe: 28b9 |004d: goto 0006 // -0047 │ │ +026c00: 0e00 |004e: return-void │ │ catches : 7 │ │ 0x000a - 0x000d │ │ Ljava/lang/Exception; -> 0x0049 │ │ 0x000d - 0x0017 │ │ -> 0x0046 │ │ 0x0019 - 0x001e │ │ Ljava/lang/InterruptedException; -> 0x001f │ │ @@ -58031,18 +58031,18 @@ │ │ type : '([Lutil/LoggerInterface;)V' │ │ access : 0x10001 (PUBLIC CONSTRUCTOR) │ │ code - │ │ registers : 2 │ │ ins : 2 │ │ outs : 1 │ │ insns size : 6 16-bit code units │ │ -026c4c: |[026c4c] util.GroupedLogger.:([Lutil/LoggerInterface;)V │ │ -026c5c: 7010 7505 0000 |0000: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@0575 │ │ -026c62: 5b01 4a03 |0003: iput-object v1, v0, Lutil/GroupedLogger;.nestedLoggers:[Lutil/LoggerInterface; // field@034a │ │ -026c66: 0e00 |0005: return-void │ │ +026c48: |[026c48] util.GroupedLogger.:([Lutil/LoggerInterface;)V │ │ +026c58: 7010 7505 0000 |0000: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@0575 │ │ +026c5e: 5b01 4a03 |0003: iput-object v1, v0, Lutil/GroupedLogger;.nestedLoggers:[Lutil/LoggerInterface; // field@034a │ │ +026c62: 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; │ │ @@ -58053,31 +58053,31 @@ │ │ type : '(Lutil/LoggerInterface;)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 6 │ │ ins : 2 │ │ outs : 0 │ │ insns size : 26 16-bit code units │ │ -026c68: |[026c68] util.GroupedLogger.attachLogger:(Lutil/LoggerInterface;)V │ │ -026c78: 5440 4a03 |0000: iget-object v0, v4, Lutil/GroupedLogger;.nestedLoggers:[Lutil/LoggerInterface; // field@034a │ │ -026c7c: 2100 |0002: array-length v0, v0 │ │ -026c7e: d800 0001 |0003: add-int/lit8 v0, v0, #int 1 // #01 │ │ -026c82: 2300 b401 |0005: new-array v0, v0, [Lutil/LoggerInterface; // type@01b4 │ │ -026c86: 1201 |0007: const/4 v1, #int 0 // #0 │ │ -026c88: 5442 4a03 |0008: iget-object v2, v4, Lutil/GroupedLogger;.nestedLoggers:[Lutil/LoggerInterface; // field@034a │ │ -026c8c: 2123 |000a: array-length v3, v2 │ │ -026c8e: 3531 0900 |000b: if-ge v1, v3, 0014 // +0009 │ │ -026c92: 4602 0201 |000d: aget-object v2, v2, v1 │ │ -026c96: 4d02 0001 |000f: aput-object v2, v0, v1 │ │ -026c9a: d801 0101 |0011: add-int/lit8 v1, v1, #int 1 // #01 │ │ -026c9e: 28f5 |0013: goto 0008 // -000b │ │ -026ca0: 2121 |0014: array-length v1, v2 │ │ -026ca2: 4d05 0001 |0015: aput-object v5, v0, v1 │ │ -026ca6: 5b40 4a03 |0017: iput-object v0, v4, Lutil/GroupedLogger;.nestedLoggers:[Lutil/LoggerInterface; // field@034a │ │ -026caa: 0e00 |0019: return-void │ │ +026c64: |[026c64] util.GroupedLogger.attachLogger:(Lutil/LoggerInterface;)V │ │ +026c74: 5440 4a03 |0000: iget-object v0, v4, Lutil/GroupedLogger;.nestedLoggers:[Lutil/LoggerInterface; // field@034a │ │ +026c78: 2100 |0002: array-length v0, v0 │ │ +026c7a: d800 0001 |0003: add-int/lit8 v0, v0, #int 1 // #01 │ │ +026c7e: 2300 b401 |0005: new-array v0, v0, [Lutil/LoggerInterface; // type@01b4 │ │ +026c82: 1201 |0007: const/4 v1, #int 0 // #0 │ │ +026c84: 5442 4a03 |0008: iget-object v2, v4, Lutil/GroupedLogger;.nestedLoggers:[Lutil/LoggerInterface; // field@034a │ │ +026c88: 2123 |000a: array-length v3, v2 │ │ +026c8a: 3531 0900 |000b: if-ge v1, v3, 0014 // +0009 │ │ +026c8e: 4602 0201 |000d: aget-object v2, v2, v1 │ │ +026c92: 4d02 0001 |000f: aput-object v2, v0, v1 │ │ +026c96: d801 0101 |0011: add-int/lit8 v1, v1, #int 1 // #01 │ │ +026c9a: 28f5 |0013: goto 0008 // -000b │ │ +026c9c: 2121 |0014: array-length v1, v2 │ │ +026c9e: 4d05 0001 |0015: aput-object v5, v0, v1 │ │ +026ca2: 5b40 4a03 |0017: iput-object v0, v4, Lutil/GroupedLogger;.nestedLoggers:[Lutil/LoggerInterface; // field@034a │ │ +026ca6: 0e00 |0019: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=46 │ │ 0x0008 line=47 │ │ 0x000d line=48 │ │ 0x0014 line=50 │ │ 0x0017 line=51 │ │ @@ -58090,24 +58090,24 @@ │ │ type : '()V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 4 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 15 16-bit code units │ │ -026cac: |[026cac] util.GroupedLogger.closeLogger:()V │ │ -026cbc: 1200 |0000: const/4 v0, #int 0 // #0 │ │ -026cbe: 5431 4a03 |0001: iget-object v1, v3, Lutil/GroupedLogger;.nestedLoggers:[Lutil/LoggerInterface; // field@034a │ │ -026cc2: 2112 |0003: array-length v2, v1 │ │ -026cc4: 3520 0a00 |0004: if-ge v0, v2, 000e // +000a │ │ -026cc8: 4601 0100 |0006: aget-object v1, v1, v0 │ │ -026ccc: 7210 3007 0100 |0008: invoke-interface {v1}, Lutil/LoggerInterface;.closeLogger:()V // method@0730 │ │ -026cd2: d800 0001 |000b: add-int/lit8 v0, v0, #int 1 // #01 │ │ -026cd6: 28f4 |000d: goto 0001 // -000c │ │ -026cd8: 0e00 |000e: return-void │ │ +026ca8: |[026ca8] util.GroupedLogger.closeLogger:()V │ │ +026cb8: 1200 |0000: const/4 v0, #int 0 // #0 │ │ +026cba: 5431 4a03 |0001: iget-object v1, v3, Lutil/GroupedLogger;.nestedLoggers:[Lutil/LoggerInterface; // field@034a │ │ +026cbe: 2112 |0003: array-length v2, v1 │ │ +026cc0: 3520 0a00 |0004: if-ge v0, v2, 000e // +000a │ │ +026cc4: 4601 0100 |0006: aget-object v1, v1, v0 │ │ +026cc8: 7210 3007 0100 |0008: invoke-interface {v1}, Lutil/LoggerInterface;.closeLogger:()V // method@0730 │ │ +026cce: d800 0001 |000b: add-int/lit8 v0, v0, #int 1 // #01 │ │ +026cd2: 28f4 |000d: goto 0001 // -000c │ │ +026cd4: 0e00 |000e: return-void │ │ catches : (none) │ │ positions : │ │ 0x0001 line=40 │ │ 0x0006 line=41 │ │ locals : │ │ 0x0000 - 0x000f reg=3 this Lutil/GroupedLogger; │ │ │ │ @@ -58116,36 +58116,36 @@ │ │ type : '(Lutil/LoggerInterface;)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 6 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 39 16-bit code units │ │ -026cdc: |[026cdc] util.GroupedLogger.detachLogger:(Lutil/LoggerInterface;)V │ │ -026cec: 2200 6a01 |0000: new-instance v0, Ljava/util/Vector; // type@016a │ │ -026cf0: 5441 4a03 |0002: iget-object v1, v4, Lutil/GroupedLogger;.nestedLoggers:[Lutil/LoggerInterface; // field@034a │ │ -026cf4: 2111 |0004: array-length v1, v1 │ │ -026cf6: 7020 7806 1000 |0005: invoke-direct {v0, v1}, Ljava/util/Vector;.:(I)V // method@0678 │ │ -026cfc: 1201 |0008: const/4 v1, #int 0 // #0 │ │ -026cfe: 5442 4a03 |0009: iget-object v2, v4, Lutil/GroupedLogger;.nestedLoggers:[Lutil/LoggerInterface; // field@034a │ │ -026d02: 2123 |000b: array-length v3, v2 │ │ -026d04: 3531 0c00 |000c: if-ge v1, v3, 0018 // +000c │ │ -026d08: 4602 0201 |000e: aget-object v2, v2, v1 │ │ -026d0c: 3252 0500 |0010: if-eq v2, v5, 0015 // +0005 │ │ -026d10: 6e20 7906 2000 |0012: invoke-virtual {v0, v2}, Ljava/util/Vector;.add:(Ljava/lang/Object;)Z // method@0679 │ │ -026d16: d801 0101 |0015: add-int/lit8 v1, v1, #int 1 // #01 │ │ -026d1a: 28f2 |0017: goto 0009 // -000e │ │ -026d1c: 6e10 8406 0000 |0018: invoke-virtual {v0}, Ljava/util/Vector;.size:()I // method@0684 │ │ -026d22: 0a05 |001b: move-result v5 │ │ -026d24: 2355 b401 |001c: new-array v5, v5, [Lutil/LoggerInterface; // type@01b4 │ │ -026d28: 6e20 8506 5000 |001e: invoke-virtual {v0, v5}, Ljava/util/Vector;.toArray:([Ljava/lang/Object;)[Ljava/lang/Object; // method@0685 │ │ -026d2e: 0c05 |0021: move-result-object v5 │ │ -026d30: 1f05 b401 |0022: check-cast v5, [Lutil/LoggerInterface; // type@01b4 │ │ -026d34: 5b45 4a03 |0024: iput-object v5, v4, Lutil/GroupedLogger;.nestedLoggers:[Lutil/LoggerInterface; // field@034a │ │ -026d38: 0e00 |0026: return-void │ │ +026cd8: |[026cd8] util.GroupedLogger.detachLogger:(Lutil/LoggerInterface;)V │ │ +026ce8: 2200 6a01 |0000: new-instance v0, Ljava/util/Vector; // type@016a │ │ +026cec: 5441 4a03 |0002: iget-object v1, v4, Lutil/GroupedLogger;.nestedLoggers:[Lutil/LoggerInterface; // field@034a │ │ +026cf0: 2111 |0004: array-length v1, v1 │ │ +026cf2: 7020 7806 1000 |0005: invoke-direct {v0, v1}, Ljava/util/Vector;.:(I)V // method@0678 │ │ +026cf8: 1201 |0008: const/4 v1, #int 0 // #0 │ │ +026cfa: 5442 4a03 |0009: iget-object v2, v4, Lutil/GroupedLogger;.nestedLoggers:[Lutil/LoggerInterface; // field@034a │ │ +026cfe: 2123 |000b: array-length v3, v2 │ │ +026d00: 3531 0c00 |000c: if-ge v1, v3, 0018 // +000c │ │ +026d04: 4602 0201 |000e: aget-object v2, v2, v1 │ │ +026d08: 3252 0500 |0010: if-eq v2, v5, 0015 // +0005 │ │ +026d0c: 6e20 7906 2000 |0012: invoke-virtual {v0, v2}, Ljava/util/Vector;.add:(Ljava/lang/Object;)Z // method@0679 │ │ +026d12: d801 0101 |0015: add-int/lit8 v1, v1, #int 1 // #01 │ │ +026d16: 28f2 |0017: goto 0009 // -000e │ │ +026d18: 6e10 8406 0000 |0018: invoke-virtual {v0}, Ljava/util/Vector;.size:()I // method@0684 │ │ +026d1e: 0a05 |001b: move-result v5 │ │ +026d20: 2355 b401 |001c: new-array v5, v5, [Lutil/LoggerInterface; // type@01b4 │ │ +026d24: 6e20 8506 5000 |001e: invoke-virtual {v0, v5}, Ljava/util/Vector;.toArray:([Ljava/lang/Object;)[Ljava/lang/Object; // method@0685 │ │ +026d2a: 0c05 |0021: move-result-object v5 │ │ +026d2c: 1f05 b401 |0022: check-cast v5, [Lutil/LoggerInterface; // type@01b4 │ │ +026d30: 5b45 4a03 |0024: iput-object v5, v4, Lutil/GroupedLogger;.nestedLoggers:[Lutil/LoggerInterface; // field@034a │ │ +026d34: 0e00 |0026: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=55 │ │ 0x0009 line=57 │ │ 0x000e line=58 │ │ 0x0012 line=59 │ │ 0x0018 line=62 │ │ @@ -58158,24 +58158,24 @@ │ │ type : '(Ljava/lang/String;)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 5 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 15 16-bit code units │ │ -026d3c: |[026d3c] util.GroupedLogger.log:(Ljava/lang/String;)V │ │ -026d4c: 1200 |0000: const/4 v0, #int 0 // #0 │ │ -026d4e: 5431 4a03 |0001: iget-object v1, v3, Lutil/GroupedLogger;.nestedLoggers:[Lutil/LoggerInterface; // field@034a │ │ -026d52: 2112 |0003: array-length v2, v1 │ │ -026d54: 3520 0a00 |0004: if-ge v0, v2, 000e // +000a │ │ -026d58: 4601 0100 |0006: aget-object v1, v1, v0 │ │ -026d5c: 7220 3107 4100 |0008: invoke-interface {v1, v4}, Lutil/LoggerInterface;.log:(Ljava/lang/String;)V // method@0731 │ │ -026d62: d800 0001 |000b: add-int/lit8 v0, v0, #int 1 // #01 │ │ -026d66: 28f4 |000d: goto 0001 // -000c │ │ -026d68: 0e00 |000e: return-void │ │ +026d38: |[026d38] util.GroupedLogger.log:(Ljava/lang/String;)V │ │ +026d48: 1200 |0000: const/4 v0, #int 0 // #0 │ │ +026d4a: 5431 4a03 |0001: iget-object v1, v3, Lutil/GroupedLogger;.nestedLoggers:[Lutil/LoggerInterface; // field@034a │ │ +026d4e: 2112 |0003: array-length v2, v1 │ │ +026d50: 3520 0a00 |0004: if-ge v0, v2, 000e // +000a │ │ +026d54: 4601 0100 |0006: aget-object v1, v1, v0 │ │ +026d58: 7220 3107 4100 |0008: invoke-interface {v1, v4}, Lutil/LoggerInterface;.log:(Ljava/lang/String;)V // method@0731 │ │ +026d5e: d800 0001 |000b: add-int/lit8 v0, v0, #int 1 // #01 │ │ +026d62: 28f4 |000d: goto 0001 // -000c │ │ +026d64: 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; │ │ @@ -58185,24 +58185,24 @@ │ │ type : '(Ljava/lang/Exception;)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 5 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 15 16-bit code units │ │ -026d6c: |[026d6c] util.GroupedLogger.logException:(Ljava/lang/Exception;)V │ │ -026d7c: 1200 |0000: const/4 v0, #int 0 // #0 │ │ -026d7e: 5431 4a03 |0001: iget-object v1, v3, Lutil/GroupedLogger;.nestedLoggers:[Lutil/LoggerInterface; // field@034a │ │ -026d82: 2112 |0003: array-length v2, v1 │ │ -026d84: 3520 0a00 |0004: if-ge v0, v2, 000e // +000a │ │ -026d88: 4601 0100 |0006: aget-object v1, v1, v0 │ │ -026d8c: 7220 3207 4100 |0008: invoke-interface {v1, v4}, Lutil/LoggerInterface;.logException:(Ljava/lang/Exception;)V // method@0732 │ │ -026d92: d800 0001 |000b: add-int/lit8 v0, v0, #int 1 // #01 │ │ -026d96: 28f4 |000d: goto 0001 // -000c │ │ -026d98: 0e00 |000e: return-void │ │ +026d68: |[026d68] util.GroupedLogger.logException:(Ljava/lang/Exception;)V │ │ +026d78: 1200 |0000: const/4 v0, #int 0 // #0 │ │ +026d7a: 5431 4a03 |0001: iget-object v1, v3, Lutil/GroupedLogger;.nestedLoggers:[Lutil/LoggerInterface; // field@034a │ │ +026d7e: 2112 |0003: array-length v2, v1 │ │ +026d80: 3520 0a00 |0004: if-ge v0, v2, 000e // +000a │ │ +026d84: 4601 0100 |0006: aget-object v1, v1, v0 │ │ +026d88: 7220 3207 4100 |0008: invoke-interface {v1, v4}, Lutil/LoggerInterface;.logException:(Ljava/lang/Exception;)V // method@0732 │ │ +026d8e: d800 0001 |000b: add-int/lit8 v0, v0, #int 1 // #01 │ │ +026d92: 28f4 |000d: goto 0001 // -000c │ │ +026d94: 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; │ │ @@ -58212,24 +58212,24 @@ │ │ type : '(Ljava/lang/String;)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 5 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 15 16-bit code units │ │ -026d9c: |[026d9c] util.GroupedLogger.logLine:(Ljava/lang/String;)V │ │ -026dac: 1200 |0000: const/4 v0, #int 0 // #0 │ │ -026dae: 5431 4a03 |0001: iget-object v1, v3, Lutil/GroupedLogger;.nestedLoggers:[Lutil/LoggerInterface; // field@034a │ │ -026db2: 2112 |0003: array-length v2, v1 │ │ -026db4: 3520 0a00 |0004: if-ge v0, v2, 000e // +000a │ │ -026db8: 4601 0100 |0006: aget-object v1, v1, v0 │ │ -026dbc: 7220 3307 4100 |0008: invoke-interface {v1, v4}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0733 │ │ -026dc2: d800 0001 |000b: add-int/lit8 v0, v0, #int 1 // #01 │ │ -026dc6: 28f4 |000d: goto 0001 // -000c │ │ -026dc8: 0e00 |000e: return-void │ │ +026d98: |[026d98] util.GroupedLogger.logLine:(Ljava/lang/String;)V │ │ +026da8: 1200 |0000: const/4 v0, #int 0 // #0 │ │ +026daa: 5431 4a03 |0001: iget-object v1, v3, Lutil/GroupedLogger;.nestedLoggers:[Lutil/LoggerInterface; // field@034a │ │ +026dae: 2112 |0003: array-length v2, v1 │ │ +026db0: 3520 0a00 |0004: if-ge v0, v2, 000e // +000a │ │ +026db4: 4601 0100 |0006: aget-object v1, v1, v0 │ │ +026db8: 7220 3307 4100 |0008: invoke-interface {v1, v4}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0733 │ │ +026dbe: d800 0001 |000b: add-int/lit8 v0, v0, #int 1 // #01 │ │ +026dc2: 28f4 |000d: goto 0001 // -000c │ │ +026dc4: 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; │ │ @@ -58239,24 +58239,24 @@ │ │ type : '(Ljava/lang/String;)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 5 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 15 16-bit code units │ │ -026dcc: |[026dcc] util.GroupedLogger.message:(Ljava/lang/String;)V │ │ -026ddc: 1200 |0000: const/4 v0, #int 0 // #0 │ │ -026dde: 5431 4a03 |0001: iget-object v1, v3, Lutil/GroupedLogger;.nestedLoggers:[Lutil/LoggerInterface; // field@034a │ │ -026de2: 2112 |0003: array-length v2, v1 │ │ -026de4: 3520 0a00 |0004: if-ge v0, v2, 000e // +000a │ │ -026de8: 4601 0100 |0006: aget-object v1, v1, v0 │ │ -026dec: 7220 3407 4100 |0008: invoke-interface {v1, v4}, Lutil/LoggerInterface;.message:(Ljava/lang/String;)V // method@0734 │ │ -026df2: d800 0001 |000b: add-int/lit8 v0, v0, #int 1 // #01 │ │ -026df6: 28f4 |000d: goto 0001 // -000c │ │ -026df8: 0e00 |000e: return-void │ │ +026dc8: |[026dc8] util.GroupedLogger.message:(Ljava/lang/String;)V │ │ +026dd8: 1200 |0000: const/4 v0, #int 0 // #0 │ │ +026dda: 5431 4a03 |0001: iget-object v1, v3, Lutil/GroupedLogger;.nestedLoggers:[Lutil/LoggerInterface; // field@034a │ │ +026dde: 2112 |0003: array-length v2, v1 │ │ +026de0: 3520 0a00 |0004: if-ge v0, v2, 000e // +000a │ │ +026de4: 4601 0100 |0006: aget-object v1, v1, v0 │ │ +026de8: 7220 3407 4100 |0008: invoke-interface {v1, v4}, Lutil/LoggerInterface;.message:(Ljava/lang/String;)V // method@0734 │ │ +026dee: d800 0001 |000b: add-int/lit8 v0, v0, #int 1 // #01 │ │ +026df2: 28f4 |000d: goto 0001 // -000c │ │ +026df4: 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; │ │ @@ -58299,22 +58299,22 @@ │ │ type : '()V' │ │ access : 0x10008 (STATIC CONSTRUCTOR) │ │ code - │ │ registers : 1 │ │ ins : 0 │ │ outs : 1 │ │ insns size : 15 16-bit code units │ │ -027820: |[027820] util.Logger.:()V │ │ -027830: 2200 5a01 |0000: new-instance v0, Ljava/util/Hashtable; // type@015a │ │ -027834: 7010 3806 0000 |0002: invoke-direct {v0}, Ljava/util/Hashtable;.:()V // method@0638 │ │ -02783a: 6900 5303 |0005: sput-object v0, Lutil/Logger;._loggers:Ljava/util/Hashtable; // field@0353 │ │ -02783e: 2200 8501 |0007: new-instance v0, Lutil/Logger; // type@0185 │ │ -027842: 7010 2507 0000 |0009: invoke-direct {v0}, Lutil/Logger;.:()V // method@0725 │ │ -027848: 6900 5403 |000c: sput-object v0, Lutil/Logger;.m_default:Lutil/LoggerInterface; // field@0354 │ │ -02784c: 0e00 |000e: return-void │ │ +02781c: |[02781c] util.Logger.:()V │ │ +02782c: 2200 5a01 |0000: new-instance v0, Ljava/util/Hashtable; // type@015a │ │ +027830: 7010 3806 0000 |0002: invoke-direct {v0}, Ljava/util/Hashtable;.:()V // method@0638 │ │ +027836: 6900 5303 |0005: sput-object v0, Lutil/Logger;._loggers:Ljava/util/Hashtable; // field@0353 │ │ +02783a: 2200 8501 |0007: new-instance v0, Lutil/Logger; // type@0185 │ │ +02783e: 7010 2507 0000 |0009: invoke-direct {v0}, Lutil/Logger;.:()V // method@0725 │ │ +027844: 6900 5403 |000c: sput-object v0, Lutil/Logger;.m_default:Lutil/LoggerInterface; // field@0354 │ │ +027848: 0e00 |000e: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=28 │ │ 0x0007 line=30 │ │ locals : │ │ │ │ #1 : (in Lutil/Logger;) │ │ @@ -58322,17 +58322,17 @@ │ │ type : '()V' │ │ access : 0x10001 (PUBLIC CONSTRUCTOR) │ │ code - │ │ registers : 1 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 4 16-bit code units │ │ -027850: |[027850] util.Logger.:()V │ │ -027860: 7010 7505 0000 |0000: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@0575 │ │ -027866: 0e00 |0003: return-void │ │ +02784c: |[02784c] util.Logger.:()V │ │ +02785c: 7010 7505 0000 |0000: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@0575 │ │ +027862: 0e00 |0003: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=27 │ │ locals : │ │ 0x0000 - 0x0004 reg=0 this Lutil/Logger; │ │ │ │ #2 : (in Lutil/Logger;) │ │ @@ -58340,20 +58340,20 @@ │ │ type : '()Lutil/LoggerInterface;' │ │ access : 0x0009 (PUBLIC STATIC) │ │ code - │ │ registers : 1 │ │ ins : 0 │ │ outs : 0 │ │ insns size : 8 16-bit code units │ │ -0277d0: |[0277d0] util.Logger.getLogger:()Lutil/LoggerInterface; │ │ -0277e0: 6200 5503 |0000: sget-object v0, Lutil/Logger;.m_logger:Lutil/LoggerInterface; // field@0355 │ │ -0277e4: 3800 0300 |0002: if-eqz v0, 0005 // +0003 │ │ -0277e8: 1100 |0004: return-object v0 │ │ -0277ea: 6200 5403 |0005: sget-object v0, Lutil/Logger;.m_default:Lutil/LoggerInterface; // field@0354 │ │ -0277ee: 1100 |0007: return-object v0 │ │ +0277cc: |[0277cc] util.Logger.getLogger:()Lutil/LoggerInterface; │ │ +0277dc: 6200 5503 |0000: sget-object v0, Lutil/Logger;.m_logger:Lutil/LoggerInterface; // field@0355 │ │ +0277e0: 3800 0300 |0002: if-eqz v0, 0005 // +0003 │ │ +0277e4: 1100 |0004: return-object v0 │ │ +0277e6: 6200 5403 |0005: sget-object v0, Lutil/Logger;.m_default:Lutil/LoggerInterface; // field@0354 │ │ +0277ea: 1100 |0007: return-object v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=45 │ │ 0x0005 line=48 │ │ locals : │ │ │ │ #3 : (in Lutil/Logger;) │ │ @@ -58361,24 +58361,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 │ │ -0277f0: |[0277f0] util.Logger.getLogger:(Ljava/lang/String;)Lutil/LoggerInterface; │ │ -027800: 6200 5303 |0000: sget-object v0, Lutil/Logger;._loggers:Ljava/util/Hashtable; // field@0353 │ │ -027804: 6e20 3906 1000 |0002: invoke-virtual {v0, v1}, Ljava/util/Hashtable;.get:(Ljava/lang/Object;)Ljava/lang/Object; // method@0639 │ │ -02780a: 0c01 |0005: move-result-object v1 │ │ -02780c: 1f01 8601 |0006: check-cast v1, Lutil/LoggerInterface; // type@0186 │ │ -027810: 3801 0300 |0008: if-eqz v1, 000b // +0003 │ │ -027814: 1101 |000a: return-object v1 │ │ -027816: 7100 2707 0000 |000b: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0727 │ │ -02781c: 0c01 |000e: move-result-object v1 │ │ -02781e: 1101 |000f: return-object v1 │ │ +0277ec: |[0277ec] util.Logger.getLogger:(Ljava/lang/String;)Lutil/LoggerInterface; │ │ +0277fc: 6200 5303 |0000: sget-object v0, Lutil/Logger;._loggers:Ljava/util/Hashtable; // field@0353 │ │ +027800: 6e20 3906 1000 |0002: invoke-virtual {v0, v1}, Ljava/util/Hashtable;.get:(Ljava/lang/Object;)Ljava/lang/Object; // method@0639 │ │ +027806: 0c01 |0005: move-result-object v1 │ │ +027808: 1f01 8601 |0006: check-cast v1, Lutil/LoggerInterface; // type@0186 │ │ +02780c: 3801 0300 |0008: if-eqz v1, 000b // +0003 │ │ +027810: 1101 |000a: return-object v1 │ │ +027812: 7100 2707 0000 |000b: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0727 │ │ +027818: 0c01 |000e: move-result-object v1 │ │ +02781a: 1101 |000f: return-object v1 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=52 │ │ 0x000b line=55 │ │ locals : │ │ 0x0000 - 0x0010 reg=1 (null) Ljava/lang/String; │ │ │ │ @@ -58387,18 +58387,18 @@ │ │ type : '(Ljava/lang/String;)V' │ │ access : 0x0009 (PUBLIC STATIC) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 6 16-bit code units │ │ -0278e8: |[0278e8] util.Logger.removeLogger:(Ljava/lang/String;)V │ │ -0278f8: 6200 5303 |0000: sget-object v0, Lutil/Logger;._loggers:Ljava/util/Hashtable; // field@0353 │ │ -0278fc: 6e20 3b06 1000 |0002: invoke-virtual {v0, v1}, Ljava/util/Hashtable;.remove:(Ljava/lang/Object;)Ljava/lang/Object; // method@063b │ │ -027902: 0e00 |0005: return-void │ │ +0278e4: |[0278e4] util.Logger.removeLogger:(Ljava/lang/String;)V │ │ +0278f4: 6200 5303 |0000: sget-object v0, Lutil/Logger;._loggers:Ljava/util/Hashtable; // field@0353 │ │ +0278f8: 6e20 3b06 1000 |0002: invoke-virtual {v0, v1}, Ljava/util/Hashtable;.remove:(Ljava/lang/Object;)Ljava/lang/Object; // method@063b │ │ +0278fe: 0e00 |0005: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=41 │ │ locals : │ │ 0x0000 - 0x0006 reg=1 (null) Ljava/lang/String; │ │ │ │ #5 : (in Lutil/Logger;) │ │ @@ -58406,17 +58406,17 @@ │ │ type : '(Lutil/LoggerInterface;)V' │ │ access : 0x0009 (PUBLIC STATIC) │ │ code - │ │ registers : 1 │ │ ins : 1 │ │ outs : 0 │ │ insns size : 3 16-bit code units │ │ -027904: |[027904] util.Logger.setLogger:(Lutil/LoggerInterface;)V │ │ -027914: 6900 5503 |0000: sput-object v0, Lutil/Logger;.m_logger:Lutil/LoggerInterface; // field@0355 │ │ -027918: 0e00 |0002: return-void │ │ +027900: |[027900] util.Logger.setLogger:(Lutil/LoggerInterface;)V │ │ +027910: 6900 5503 |0000: sput-object v0, Lutil/Logger;.m_logger:Lutil/LoggerInterface; // field@0355 │ │ +027914: 0e00 |0002: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=33 │ │ locals : │ │ 0x0000 - 0x0003 reg=0 (null) Lutil/LoggerInterface; │ │ │ │ #6 : (in Lutil/Logger;) │ │ @@ -58424,18 +58424,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 │ │ -02791c: |[02791c] util.Logger.setLogger:(Lutil/LoggerInterface;Ljava/lang/String;)V │ │ -02792c: 6200 5303 |0000: sget-object v0, Lutil/Logger;._loggers:Ljava/util/Hashtable; // field@0353 │ │ -027930: 6e30 3a06 2001 |0002: invoke-virtual {v0, v2, v1}, Ljava/util/Hashtable;.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; // method@063a │ │ -027936: 0e00 |0005: return-void │ │ +027918: |[027918] util.Logger.setLogger:(Lutil/LoggerInterface;Ljava/lang/String;)V │ │ +027928: 6200 5303 |0000: sget-object v0, Lutil/Logger;._loggers:Ljava/util/Hashtable; // field@0353 │ │ +02792c: 6e30 3a06 2001 |0002: invoke-virtual {v0, v2, v1}, Ljava/util/Hashtable;.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; // method@063a │ │ +027932: 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; │ │ │ │ @@ -58445,33 +58445,33 @@ │ │ type : '()V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 1 │ │ ins : 1 │ │ outs : 0 │ │ insns size : 1 16-bit code units │ │ -027868: |[027868] util.Logger.closeLogger:()V │ │ -027878: 0e00 |0000: return-void │ │ +027864: |[027864] util.Logger.closeLogger:()V │ │ +027874: 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 │ │ -02787c: |[02787c] util.Logger.log:(Ljava/lang/String;)V │ │ -02788c: 6200 1903 |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0319 │ │ -027890: 6e20 4105 2000 |0002: invoke-virtual {v0, v2}, Ljava/io/PrintStream;.print:(Ljava/lang/String;)V // method@0541 │ │ -027896: 0e00 |0005: return-void │ │ +027878: |[027878] util.Logger.log:(Ljava/lang/String;)V │ │ +027888: 6200 1903 |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0319 │ │ +02788c: 6e20 4105 2000 |0002: invoke-virtual {v0, v2}, Ljava/io/PrintStream;.print:(Ljava/lang/String;)V // method@0541 │ │ +027892: 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; │ │ │ │ @@ -58480,17 +58480,17 @@ │ │ type : '(Ljava/lang/Exception;)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 2 │ │ outs : 1 │ │ insns size : 4 16-bit code units │ │ -027898: |[027898] util.Logger.logException:(Ljava/lang/Exception;)V │ │ -0278a8: 6e10 5e05 0100 |0000: invoke-virtual {v1}, Ljava/lang/Exception;.printStackTrace:()V // method@055e │ │ -0278ae: 0e00 |0003: return-void │ │ +027894: |[027894] util.Logger.logException:(Ljava/lang/Exception;)V │ │ +0278a4: 6e10 5e05 0100 |0000: invoke-virtual {v1}, Ljava/lang/Exception;.printStackTrace:()V // method@055e │ │ +0278aa: 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; │ │ │ │ @@ -58499,18 +58499,18 @@ │ │ type : '(Ljava/lang/String;)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 3 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 6 16-bit code units │ │ -0278b0: |[0278b0] util.Logger.logLine:(Ljava/lang/String;)V │ │ -0278c0: 6200 1903 |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0319 │ │ -0278c4: 6e20 4205 2000 |0002: invoke-virtual {v0, v2}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@0542 │ │ -0278ca: 0e00 |0005: return-void │ │ +0278ac: |[0278ac] util.Logger.logLine:(Ljava/lang/String;)V │ │ +0278bc: 6200 1903 |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0319 │ │ +0278c0: 6e20 4205 2000 |0002: invoke-virtual {v0, v2}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@0542 │ │ +0278c6: 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; │ │ │ │ @@ -58519,18 +58519,18 @@ │ │ type : '(Ljava/lang/String;)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 3 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 6 16-bit code units │ │ -0278cc: |[0278cc] util.Logger.message:(Ljava/lang/String;)V │ │ -0278dc: 6200 1903 |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0319 │ │ -0278e0: 6e20 4205 2000 |0002: invoke-virtual {v0, v2}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@0542 │ │ -0278e6: 0e00 |0005: return-void │ │ +0278c8: |[0278c8] util.Logger.message:(Ljava/lang/String;)V │ │ +0278d8: 6200 1903 |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0319 │ │ +0278dc: 6e20 4205 2000 |0002: invoke-virtual {v0, v2}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@0542 │ │ +0278e2: 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; │ │ │ │ @@ -58588,28 +58588,28 @@ │ │ type : '(Lutil/LoggerInterface;)V' │ │ access : 0x10001 (PUBLIC CONSTRUCTOR) │ │ code - │ │ registers : 4 │ │ ins : 2 │ │ outs : 1 │ │ insns size : 26 16-bit code units │ │ -028a20: |[028a20] util.SuppressRepeatingsLogger.:(Lutil/LoggerInterface;)V │ │ -028a30: 7010 7505 0200 |0000: invoke-direct {v2}, Ljava/lang/Object;.:()V // method@0575 │ │ -028a36: 2200 5801 |0003: new-instance v0, Ljava/util/HashMap; // type@0158 │ │ -028a3a: 7010 2606 0000 |0005: invoke-direct {v0}, Ljava/util/HashMap;.:()V // method@0626 │ │ -028a40: 5b20 7103 |0008: iput-object v0, v2, Lutil/SuppressRepeatingsLogger;.lastLogs:Ljava/util/HashMap; // field@0371 │ │ -028a44: 1600 0000 |000a: const-wide/16 v0, #int 0 // #0 │ │ -028a48: 5a20 7403 |000c: iput-wide v0, v2, Lutil/SuppressRepeatingsLogger;.timeRepeat:J // field@0374 │ │ -028a4c: 5a20 7003 |000e: iput-wide v0, v2, Lutil/SuppressRepeatingsLogger;.lastCleanup:J // field@0370 │ │ -028a50: 1200 |0010: const/4 v0, #int 0 // #0 │ │ -028a52: 5b20 6f03 |0011: iput-object v0, v2, Lutil/SuppressRepeatingsLogger;.dateFormatter:Ljava/text/DateFormat; // field@036f │ │ -028a56: 1a00 0000 |0013: const-string v0, "" // string@0000 │ │ -028a5a: 5b20 7203 |0015: iput-object v0, v2, Lutil/SuppressRepeatingsLogger;.lastTS:Ljava/lang/String; // field@0372 │ │ -028a5e: 5b23 7303 |0017: iput-object v3, v2, Lutil/SuppressRepeatingsLogger;.nestedLogger:Lutil/LoggerInterface; // field@0373 │ │ -028a62: 0e00 |0019: return-void │ │ +028a1c: |[028a1c] util.SuppressRepeatingsLogger.:(Lutil/LoggerInterface;)V │ │ +028a2c: 7010 7505 0200 |0000: invoke-direct {v2}, Ljava/lang/Object;.:()V // method@0575 │ │ +028a32: 2200 5801 |0003: new-instance v0, Ljava/util/HashMap; // type@0158 │ │ +028a36: 7010 2606 0000 |0005: invoke-direct {v0}, Ljava/util/HashMap;.:()V // method@0626 │ │ +028a3c: 5b20 7103 |0008: iput-object v0, v2, Lutil/SuppressRepeatingsLogger;.lastLogs:Ljava/util/HashMap; // field@0371 │ │ +028a40: 1600 0000 |000a: const-wide/16 v0, #int 0 // #0 │ │ +028a44: 5a20 7403 |000c: iput-wide v0, v2, Lutil/SuppressRepeatingsLogger;.timeRepeat:J // field@0374 │ │ +028a48: 5a20 7003 |000e: iput-wide v0, v2, Lutil/SuppressRepeatingsLogger;.lastCleanup:J // field@0370 │ │ +028a4c: 1200 |0010: const/4 v0, #int 0 // #0 │ │ +028a4e: 5b20 6f03 |0011: iput-object v0, v2, Lutil/SuppressRepeatingsLogger;.dateFormatter:Ljava/text/DateFormat; // field@036f │ │ +028a52: 1a00 0000 |0013: const-string v0, "" // string@0000 │ │ +028a56: 5b20 7203 |0015: iput-object v0, v2, Lutil/SuppressRepeatingsLogger;.lastTS:Ljava/lang/String; // field@0372 │ │ +028a5a: 5b23 7303 |0017: iput-object v3, v2, Lutil/SuppressRepeatingsLogger;.nestedLogger:Lutil/LoggerInterface; // field@0373 │ │ +028a5e: 0e00 |0019: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=18 │ │ 0x0003 line=11 │ │ 0x000c line=12 │ │ 0x000e line=13 │ │ 0x0011 line=14 │ │ @@ -58624,35 +58624,35 @@ │ │ type : '()V' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 5 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 41 16-bit code units │ │ -028a64: |[028a64] util.SuppressRepeatingsLogger.addTimeStamp:()V │ │ -028a74: 5440 6f03 |0000: iget-object v0, v4, Lutil/SuppressRepeatingsLogger;.dateFormatter:Ljava/text/DateFormat; // field@036f │ │ -028a78: 3900 0300 |0002: if-nez v0, 0005 // +0003 │ │ -028a7c: 0e00 |0004: return-void │ │ -028a7e: 2201 5601 |0005: new-instance v1, Ljava/util/Date; // type@0156 │ │ -028a82: 7010 2206 0100 |0007: invoke-direct {v1}, Ljava/util/Date;.:()V // method@0622 │ │ -028a88: 6e20 1506 1000 |000a: invoke-virtual {v0, v1}, Ljava/text/DateFormat;.format:(Ljava/util/Date;)Ljava/lang/String; // method@0615 │ │ -028a8e: 0c00 |000d: move-result-object v0 │ │ -028a90: 5441 7203 |000e: iget-object v1, v4, Lutil/SuppressRepeatingsLogger;.lastTS:Ljava/lang/String; // field@0372 │ │ -028a94: 6e20 8d05 1000 |0010: invoke-virtual {v0, v1}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058d │ │ -028a9a: 0a01 |0013: move-result v1 │ │ -028a9c: 3901 1400 |0014: if-nez v1, 0028 // +0014 │ │ -028aa0: 5441 7303 |0016: iget-object v1, v4, Lutil/SuppressRepeatingsLogger;.nestedLogger:Lutil/LoggerInterface; // field@0373 │ │ -028aa4: 5442 6f03 |0018: iget-object v2, v4, Lutil/SuppressRepeatingsLogger;.dateFormatter:Ljava/text/DateFormat; // field@036f │ │ -028aa8: 2203 5601 |001a: new-instance v3, Ljava/util/Date; // type@0156 │ │ -028aac: 7010 2206 0300 |001c: invoke-direct {v3}, Ljava/util/Date;.:()V // method@0622 │ │ -028ab2: 6e20 1506 3200 |001f: invoke-virtual {v2, v3}, Ljava/text/DateFormat;.format:(Ljava/util/Date;)Ljava/lang/String; // method@0615 │ │ -028ab8: 0c02 |0022: move-result-object v2 │ │ -028aba: 7220 3307 2100 |0023: invoke-interface {v1, v2}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0733 │ │ -028ac0: 5b40 7203 |0026: iput-object v0, v4, Lutil/SuppressRepeatingsLogger;.lastTS:Ljava/lang/String; // field@0372 │ │ -028ac4: 0e00 |0028: return-void │ │ +028a60: |[028a60] util.SuppressRepeatingsLogger.addTimeStamp:()V │ │ +028a70: 5440 6f03 |0000: iget-object v0, v4, Lutil/SuppressRepeatingsLogger;.dateFormatter:Ljava/text/DateFormat; // field@036f │ │ +028a74: 3900 0300 |0002: if-nez v0, 0005 // +0003 │ │ +028a78: 0e00 |0004: return-void │ │ +028a7a: 2201 5601 |0005: new-instance v1, Ljava/util/Date; // type@0156 │ │ +028a7e: 7010 2206 0100 |0007: invoke-direct {v1}, Ljava/util/Date;.:()V // method@0622 │ │ +028a84: 6e20 1506 1000 |000a: invoke-virtual {v0, v1}, Ljava/text/DateFormat;.format:(Ljava/util/Date;)Ljava/lang/String; // method@0615 │ │ +028a8a: 0c00 |000d: move-result-object v0 │ │ +028a8c: 5441 7203 |000e: iget-object v1, v4, Lutil/SuppressRepeatingsLogger;.lastTS:Ljava/lang/String; // field@0372 │ │ +028a90: 6e20 8d05 1000 |0010: invoke-virtual {v0, v1}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058d │ │ +028a96: 0a01 |0013: move-result v1 │ │ +028a98: 3901 1400 |0014: if-nez v1, 0028 // +0014 │ │ +028a9c: 5441 7303 |0016: iget-object v1, v4, Lutil/SuppressRepeatingsLogger;.nestedLogger:Lutil/LoggerInterface; // field@0373 │ │ +028aa0: 5442 6f03 |0018: iget-object v2, v4, Lutil/SuppressRepeatingsLogger;.dateFormatter:Ljava/text/DateFormat; // field@036f │ │ +028aa4: 2203 5601 |001a: new-instance v3, Ljava/util/Date; // type@0156 │ │ +028aa8: 7010 2206 0300 |001c: invoke-direct {v3}, Ljava/util/Date;.:()V // method@0622 │ │ +028aae: 6e20 1506 3200 |001f: invoke-virtual {v2, v3}, Ljava/text/DateFormat;.format:(Ljava/util/Date;)Ljava/lang/String; // method@0615 │ │ +028ab4: 0c02 |0022: move-result-object v2 │ │ +028ab6: 7220 3307 2100 |0023: invoke-interface {v1, v2}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0733 │ │ +028abc: 5b40 7203 |0026: iput-object v0, v4, Lutil/SuppressRepeatingsLogger;.lastTS:Ljava/lang/String; // field@0372 │ │ +028ac0: 0e00 |0028: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=23 │ │ 0x0005 line=25 │ │ 0x000e line=26 │ │ 0x0016 line=27 │ │ 0x0026 line=28 │ │ @@ -58664,81 +58664,81 @@ │ │ type : '(Ljava/lang/String;)Z' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 14 │ │ ins : 2 │ │ outs : 3 │ │ insns size : 119 16-bit code units │ │ -0288fc: |[0288fc] util.SuppressRepeatingsLogger.repeatingLog:(Ljava/lang/String;)Z │ │ -02890c: 54c0 7103 |0000: iget-object v0, v12, Lutil/SuppressRepeatingsLogger;.lastLogs:Ljava/util/HashMap; // field@0371 │ │ -028910: 1d00 |0002: monitor-enter v0 │ │ -028912: 7100 b305 0000 |0003: invoke-static {}, Ljava/lang/System;.currentTimeMillis:()J // method@05b3 │ │ -028918: 0b01 |0006: move-result-wide v1 │ │ -02891a: 54c3 7103 |0007: iget-object v3, v12, Lutil/SuppressRepeatingsLogger;.lastLogs:Ljava/util/HashMap; // field@0371 │ │ -02891e: 6e20 2a06 d300 |0009: invoke-virtual {v3, v13}, Ljava/util/HashMap;.get:(Ljava/lang/Object;)Ljava/lang/Object; // method@062a │ │ -028924: 0c03 |000c: move-result-object v3 │ │ -028926: 1f03 2001 |000d: check-cast v3, Ljava/lang/Long; // type@0120 │ │ -02892a: 3803 0700 |000f: if-eqz v3, 0016 // +0007 │ │ -02892e: 6e10 6c05 0300 |0011: invoke-virtual {v3}, Ljava/lang/Long;.longValue:()J // method@056c │ │ -028934: 0b03 |0014: move-result-wide v3 │ │ -028936: 2803 |0015: goto 0018 // +0003 │ │ -028938: 1603 0000 |0016: const-wide/16 v3, #int 0 // #0 │ │ -02893c: 54c5 7103 |0018: iget-object v5, v12, Lutil/SuppressRepeatingsLogger;.lastLogs:Ljava/util/HashMap; // field@0371 │ │ -028940: 7120 6e05 2100 |001a: invoke-static {v1, v2}, Ljava/lang/Long;.valueOf:(J)Ljava/lang/Long; // method@056e │ │ -028946: 0c06 |001d: move-result-object v6 │ │ -028948: 6e30 2b06 d506 |001e: invoke-virtual {v5, v13, v6}, Ljava/util/HashMap;.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; // method@062b │ │ -02894e: 53c5 7003 |0021: iget-wide v5, v12, Lutil/SuppressRepeatingsLogger;.lastCleanup:J // field@0370 │ │ -028952: 9c05 0105 |0023: sub-long v5, v1, v5 │ │ -028956: 53c7 7403 |0025: iget-wide v7, v12, Lutil/SuppressRepeatingsLogger;.timeRepeat:J // field@0374 │ │ -02895a: 120d |0027: const/4 v13, #int 0 // #0 │ │ -02895c: 3109 0507 |0028: cmp-long v9, v5, v7 │ │ -028960: 3d09 3e00 |002a: if-lez v9, 0068 // +003e │ │ -028964: 54c5 7103 |002c: iget-object v5, v12, Lutil/SuppressRepeatingsLogger;.lastLogs:Ljava/util/HashMap; // field@0371 │ │ -028968: 6e10 2906 0500 |002e: invoke-virtual {v5}, Ljava/util/HashMap;.entrySet:()Ljava/util/Set; // method@0629 │ │ -02896e: 0c05 |0031: move-result-object v5 │ │ -028970: 54c6 7103 |0032: iget-object v6, v12, Lutil/SuppressRepeatingsLogger;.lastLogs:Ljava/util/HashMap; // field@0371 │ │ -028974: 6e10 2d06 0600 |0034: invoke-virtual {v6}, Ljava/util/HashMap;.size:()I // method@062d │ │ -02897a: 0a06 |0037: move-result v6 │ │ -02897c: 2366 b001 |0038: new-array v6, v6, [Ljava/util/Map$Entry; // type@01b0 │ │ -028980: 7220 5e06 6500 |003a: invoke-interface {v5, v6}, Ljava/util/Set;.toArray:([Ljava/lang/Object;)[Ljava/lang/Object; // method@065e │ │ -028986: 0c05 |003d: move-result-object v5 │ │ -028988: 1f05 b001 |003e: check-cast v5, [Ljava/util/Map$Entry; // type@01b0 │ │ -02898c: 1206 |0040: const/4 v6, #int 0 // #0 │ │ -02898e: 2157 |0041: array-length v7, v5 │ │ -028990: 3576 2400 |0042: if-ge v6, v7, 0066 // +0024 │ │ -028994: 4607 0506 |0044: aget-object v7, v5, v6 │ │ -028998: 7210 5206 0700 |0046: invoke-interface {v7}, Ljava/util/Map$Entry;.getValue:()Ljava/lang/Object; // method@0652 │ │ -02899e: 0c07 |0049: move-result-object v7 │ │ -0289a0: 1f07 2001 |004a: check-cast v7, Ljava/lang/Long; // type@0120 │ │ -0289a4: 6e10 6c05 0700 |004c: invoke-virtual {v7}, Ljava/lang/Long;.longValue:()J // method@056c │ │ -0289aa: 0b07 |004f: move-result-wide v7 │ │ -0289ac: 9c07 0107 |0050: sub-long v7, v1, v7 │ │ -0289b0: 53c9 7403 |0052: iget-wide v9, v12, Lutil/SuppressRepeatingsLogger;.timeRepeat:J // field@0374 │ │ -0289b4: 310b 0709 |0054: cmp-long v11, v7, v9 │ │ -0289b8: 3d0b 0d00 |0056: if-lez v11, 0063 // +000d │ │ -0289bc: 54c7 7103 |0058: iget-object v7, v12, Lutil/SuppressRepeatingsLogger;.lastLogs:Ljava/util/HashMap; // field@0371 │ │ -0289c0: 4608 0506 |005a: aget-object v8, v5, v6 │ │ -0289c4: 7210 5106 0800 |005c: invoke-interface {v8}, Ljava/util/Map$Entry;.getKey:()Ljava/lang/Object; // method@0651 │ │ -0289ca: 0c08 |005f: move-result-object v8 │ │ -0289cc: 6e20 2c06 8700 |0060: invoke-virtual {v7, v8}, Ljava/util/HashMap;.remove:(Ljava/lang/Object;)Ljava/lang/Object; // method@062c │ │ -0289d2: d806 0601 |0063: add-int/lit8 v6, v6, #int 1 // #01 │ │ -0289d6: 28dc |0065: goto 0041 // -0024 │ │ -0289d8: 5ac1 7003 |0066: iput-wide v1, v12, Lutil/SuppressRepeatingsLogger;.lastCleanup:J // field@0370 │ │ -0289dc: bc31 |0068: sub-long/2addr v1, v3 │ │ -0289de: 53c3 7403 |0069: iget-wide v3, v12, Lutil/SuppressRepeatingsLogger;.timeRepeat:J // field@0374 │ │ -0289e2: 3105 0103 |006b: cmp-long v5, v1, v3 │ │ -0289e6: 3c05 0300 |006d: if-gtz v5, 0070 // +0003 │ │ -0289ea: 121d |006f: const/4 v13, #int 1 // #1 │ │ -0289ec: 1e00 |0070: monitor-exit v0 │ │ -0289ee: 0f0d |0071: return v13 │ │ -0289f0: 0d0d |0072: move-exception v13 │ │ -0289f2: 1e00 |0073: monitor-exit v0 │ │ -0289f4: 2802 |0074: goto 0076 // +0002 │ │ -0289f6: 270d |0075: throw v13 │ │ -0289f8: 28ff |0076: goto 0075 // -0001 │ │ +0288f8: |[0288f8] util.SuppressRepeatingsLogger.repeatingLog:(Ljava/lang/String;)Z │ │ +028908: 54c0 7103 |0000: iget-object v0, v12, Lutil/SuppressRepeatingsLogger;.lastLogs:Ljava/util/HashMap; // field@0371 │ │ +02890c: 1d00 |0002: monitor-enter v0 │ │ +02890e: 7100 b305 0000 |0003: invoke-static {}, Ljava/lang/System;.currentTimeMillis:()J // method@05b3 │ │ +028914: 0b01 |0006: move-result-wide v1 │ │ +028916: 54c3 7103 |0007: iget-object v3, v12, Lutil/SuppressRepeatingsLogger;.lastLogs:Ljava/util/HashMap; // field@0371 │ │ +02891a: 6e20 2a06 d300 |0009: invoke-virtual {v3, v13}, Ljava/util/HashMap;.get:(Ljava/lang/Object;)Ljava/lang/Object; // method@062a │ │ +028920: 0c03 |000c: move-result-object v3 │ │ +028922: 1f03 2001 |000d: check-cast v3, Ljava/lang/Long; // type@0120 │ │ +028926: 3803 0700 |000f: if-eqz v3, 0016 // +0007 │ │ +02892a: 6e10 6c05 0300 |0011: invoke-virtual {v3}, Ljava/lang/Long;.longValue:()J // method@056c │ │ +028930: 0b03 |0014: move-result-wide v3 │ │ +028932: 2803 |0015: goto 0018 // +0003 │ │ +028934: 1603 0000 |0016: const-wide/16 v3, #int 0 // #0 │ │ +028938: 54c5 7103 |0018: iget-object v5, v12, Lutil/SuppressRepeatingsLogger;.lastLogs:Ljava/util/HashMap; // field@0371 │ │ +02893c: 7120 6e05 2100 |001a: invoke-static {v1, v2}, Ljava/lang/Long;.valueOf:(J)Ljava/lang/Long; // method@056e │ │ +028942: 0c06 |001d: move-result-object v6 │ │ +028944: 6e30 2b06 d506 |001e: invoke-virtual {v5, v13, v6}, Ljava/util/HashMap;.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; // method@062b │ │ +02894a: 53c5 7003 |0021: iget-wide v5, v12, Lutil/SuppressRepeatingsLogger;.lastCleanup:J // field@0370 │ │ +02894e: 9c05 0105 |0023: sub-long v5, v1, v5 │ │ +028952: 53c7 7403 |0025: iget-wide v7, v12, Lutil/SuppressRepeatingsLogger;.timeRepeat:J // field@0374 │ │ +028956: 120d |0027: const/4 v13, #int 0 // #0 │ │ +028958: 3109 0507 |0028: cmp-long v9, v5, v7 │ │ +02895c: 3d09 3e00 |002a: if-lez v9, 0068 // +003e │ │ +028960: 54c5 7103 |002c: iget-object v5, v12, Lutil/SuppressRepeatingsLogger;.lastLogs:Ljava/util/HashMap; // field@0371 │ │ +028964: 6e10 2906 0500 |002e: invoke-virtual {v5}, Ljava/util/HashMap;.entrySet:()Ljava/util/Set; // method@0629 │ │ +02896a: 0c05 |0031: move-result-object v5 │ │ +02896c: 54c6 7103 |0032: iget-object v6, v12, Lutil/SuppressRepeatingsLogger;.lastLogs:Ljava/util/HashMap; // field@0371 │ │ +028970: 6e10 2d06 0600 |0034: invoke-virtual {v6}, Ljava/util/HashMap;.size:()I // method@062d │ │ +028976: 0a06 |0037: move-result v6 │ │ +028978: 2366 b001 |0038: new-array v6, v6, [Ljava/util/Map$Entry; // type@01b0 │ │ +02897c: 7220 5e06 6500 |003a: invoke-interface {v5, v6}, Ljava/util/Set;.toArray:([Ljava/lang/Object;)[Ljava/lang/Object; // method@065e │ │ +028982: 0c05 |003d: move-result-object v5 │ │ +028984: 1f05 b001 |003e: check-cast v5, [Ljava/util/Map$Entry; // type@01b0 │ │ +028988: 1206 |0040: const/4 v6, #int 0 // #0 │ │ +02898a: 2157 |0041: array-length v7, v5 │ │ +02898c: 3576 2400 |0042: if-ge v6, v7, 0066 // +0024 │ │ +028990: 4607 0506 |0044: aget-object v7, v5, v6 │ │ +028994: 7210 5206 0700 |0046: invoke-interface {v7}, Ljava/util/Map$Entry;.getValue:()Ljava/lang/Object; // method@0652 │ │ +02899a: 0c07 |0049: move-result-object v7 │ │ +02899c: 1f07 2001 |004a: check-cast v7, Ljava/lang/Long; // type@0120 │ │ +0289a0: 6e10 6c05 0700 |004c: invoke-virtual {v7}, Ljava/lang/Long;.longValue:()J // method@056c │ │ +0289a6: 0b07 |004f: move-result-wide v7 │ │ +0289a8: 9c07 0107 |0050: sub-long v7, v1, v7 │ │ +0289ac: 53c9 7403 |0052: iget-wide v9, v12, Lutil/SuppressRepeatingsLogger;.timeRepeat:J // field@0374 │ │ +0289b0: 310b 0709 |0054: cmp-long v11, v7, v9 │ │ +0289b4: 3d0b 0d00 |0056: if-lez v11, 0063 // +000d │ │ +0289b8: 54c7 7103 |0058: iget-object v7, v12, Lutil/SuppressRepeatingsLogger;.lastLogs:Ljava/util/HashMap; // field@0371 │ │ +0289bc: 4608 0506 |005a: aget-object v8, v5, v6 │ │ +0289c0: 7210 5106 0800 |005c: invoke-interface {v8}, Ljava/util/Map$Entry;.getKey:()Ljava/lang/Object; // method@0651 │ │ +0289c6: 0c08 |005f: move-result-object v8 │ │ +0289c8: 6e20 2c06 8700 |0060: invoke-virtual {v7, v8}, Ljava/util/HashMap;.remove:(Ljava/lang/Object;)Ljava/lang/Object; // method@062c │ │ +0289ce: d806 0601 |0063: add-int/lit8 v6, v6, #int 1 // #01 │ │ +0289d2: 28dc |0065: goto 0041 // -0024 │ │ +0289d4: 5ac1 7003 |0066: iput-wide v1, v12, Lutil/SuppressRepeatingsLogger;.lastCleanup:J // field@0370 │ │ +0289d8: bc31 |0068: sub-long/2addr v1, v3 │ │ +0289da: 53c3 7403 |0069: iget-wide v3, v12, Lutil/SuppressRepeatingsLogger;.timeRepeat:J // field@0374 │ │ +0289de: 3105 0103 |006b: cmp-long v5, v1, v3 │ │ +0289e2: 3c05 0300 |006d: if-gtz v5, 0070 // +0003 │ │ +0289e6: 121d |006f: const/4 v13, #int 1 // #1 │ │ +0289e8: 1e00 |0070: monitor-exit v0 │ │ +0289ea: 0f0d |0071: return v13 │ │ +0289ec: 0d0d |0072: move-exception v13 │ │ +0289ee: 1e00 |0073: monitor-exit v0 │ │ +0289f0: 2802 |0074: goto 0076 // +0002 │ │ +0289f2: 270d |0075: throw v13 │ │ +0289f4: 28ff |0076: goto 0075 // -0001 │ │ catches : 1 │ │ 0x0003 - 0x0074 │ │ -> 0x0072 │ │ positions : │ │ 0x0000 line=56 │ │ 0x0003 line=57 │ │ 0x0007 line=60 │ │ @@ -58762,20 +58762,20 @@ │ │ type : '()V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 11 16-bit code units │ │ -028ac8: |[028ac8] util.SuppressRepeatingsLogger.closeLogger:()V │ │ -028ad8: 5410 7103 |0000: iget-object v0, v1, Lutil/SuppressRepeatingsLogger;.lastLogs:Ljava/util/HashMap; // field@0371 │ │ -028adc: 6e10 2706 0000 |0002: invoke-virtual {v0}, Ljava/util/HashMap;.clear:()V // method@0627 │ │ -028ae2: 5410 7303 |0005: iget-object v0, v1, Lutil/SuppressRepeatingsLogger;.nestedLogger:Lutil/LoggerInterface; // field@0373 │ │ -028ae6: 7210 3007 0000 |0007: invoke-interface {v0}, Lutil/LoggerInterface;.closeLogger:()V // method@0730 │ │ -028aec: 0e00 |000a: return-void │ │ +028ac4: |[028ac4] util.SuppressRepeatingsLogger.closeLogger:()V │ │ +028ad4: 5410 7103 |0000: iget-object v0, v1, Lutil/SuppressRepeatingsLogger;.lastLogs:Ljava/util/HashMap; // field@0371 │ │ +028ad8: 6e10 2706 0000 |0002: invoke-virtual {v0}, Ljava/util/HashMap;.clear:()V // method@0627 │ │ +028ade: 5410 7303 |0005: iget-object v0, v1, Lutil/SuppressRepeatingsLogger;.nestedLogger:Lutil/LoggerInterface; // field@0373 │ │ +028ae2: 7210 3007 0000 |0007: invoke-interface {v0}, Lutil/LoggerInterface;.closeLogger:()V // method@0730 │ │ +028ae8: 0e00 |000a: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=108 │ │ 0x0005 line=109 │ │ locals : │ │ 0x0000 - 0x000b reg=1 this Lutil/SuppressRepeatingsLogger; │ │ │ │ @@ -58784,17 +58784,17 @@ │ │ type : '()Lutil/LoggerInterface;' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 0 │ │ insns size : 3 16-bit code units │ │ -028a08: |[028a08] util.SuppressRepeatingsLogger.getNestedLogger:()Lutil/LoggerInterface; │ │ -028a18: 5410 7303 |0000: iget-object v0, v1, Lutil/SuppressRepeatingsLogger;.nestedLogger:Lutil/LoggerInterface; // field@0373 │ │ -028a1c: 1100 |0002: return-object v0 │ │ +028a04: |[028a04] util.SuppressRepeatingsLogger.getNestedLogger:()Lutil/LoggerInterface; │ │ +028a14: 5410 7303 |0000: iget-object v0, v1, Lutil/SuppressRepeatingsLogger;.nestedLogger:Lutil/LoggerInterface; // field@0373 │ │ +028a18: 1100 |0002: return-object v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=38 │ │ locals : │ │ 0x0000 - 0x0003 reg=1 this Lutil/SuppressRepeatingsLogger; │ │ │ │ #2 : (in Lutil/SuppressRepeatingsLogger;) │ │ @@ -58802,21 +58802,21 @@ │ │ type : '(Ljava/lang/String;)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 3 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 12 16-bit code units │ │ -028af0: |[028af0] util.SuppressRepeatingsLogger.log:(Ljava/lang/String;)V │ │ -028b00: 7020 7c07 2100 |0000: invoke-direct {v1, v2}, Lutil/SuppressRepeatingsLogger;.repeatingLog:(Ljava/lang/String;)Z // method@077c │ │ -028b06: 0a00 |0003: move-result v0 │ │ -028b08: 3900 0700 |0004: if-nez v0, 000b // +0007 │ │ -028b0c: 5410 7303 |0006: iget-object v0, v1, Lutil/SuppressRepeatingsLogger;.nestedLogger:Lutil/LoggerInterface; // field@0373 │ │ -028b10: 7220 3107 2000 |0008: invoke-interface {v0, v2}, Lutil/LoggerInterface;.log:(Ljava/lang/String;)V // method@0731 │ │ -028b16: 0e00 |000b: return-void │ │ +028aec: |[028aec] util.SuppressRepeatingsLogger.log:(Ljava/lang/String;)V │ │ +028afc: 7020 7c07 2100 |0000: invoke-direct {v1, v2}, Lutil/SuppressRepeatingsLogger;.repeatingLog:(Ljava/lang/String;)Z // method@077c │ │ +028b02: 0a00 |0003: move-result v0 │ │ +028b04: 3900 0700 |0004: if-nez v0, 000b // +0007 │ │ +028b08: 5410 7303 |0006: iget-object v0, v1, Lutil/SuppressRepeatingsLogger;.nestedLogger:Lutil/LoggerInterface; // field@0373 │ │ +028b0c: 7220 3107 2000 |0008: invoke-interface {v0, v2}, Lutil/LoggerInterface;.log:(Ljava/lang/String;)V // method@0731 │ │ +028b12: 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; │ │ @@ -58826,19 +58826,19 @@ │ │ type : '(Ljava/lang/Exception;)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 3 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 9 16-bit code units │ │ -028b18: |[028b18] util.SuppressRepeatingsLogger.logException:(Ljava/lang/Exception;)V │ │ -028b28: 7010 7507 0100 |0000: invoke-direct {v1}, Lutil/SuppressRepeatingsLogger;.addTimeStamp:()V // method@0775 │ │ -028b2e: 5410 7303 |0003: iget-object v0, v1, Lutil/SuppressRepeatingsLogger;.nestedLogger:Lutil/LoggerInterface; // field@0373 │ │ -028b32: 7220 3207 2000 |0005: invoke-interface {v0, v2}, Lutil/LoggerInterface;.logException:(Ljava/lang/Exception;)V // method@0732 │ │ -028b38: 0e00 |0008: return-void │ │ +028b14: |[028b14] util.SuppressRepeatingsLogger.logException:(Ljava/lang/Exception;)V │ │ +028b24: 7010 7507 0100 |0000: invoke-direct {v1}, Lutil/SuppressRepeatingsLogger;.addTimeStamp:()V // method@0775 │ │ +028b2a: 5410 7303 |0003: iget-object v0, v1, Lutil/SuppressRepeatingsLogger;.nestedLogger:Lutil/LoggerInterface; // field@0373 │ │ +028b2e: 7220 3207 2000 |0005: invoke-interface {v0, v2}, Lutil/LoggerInterface;.logException:(Ljava/lang/Exception;)V // method@0732 │ │ +028b34: 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; │ │ @@ -58848,22 +58848,22 @@ │ │ type : '(Ljava/lang/String;)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 3 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 15 16-bit code units │ │ -028b3c: |[028b3c] util.SuppressRepeatingsLogger.logLine:(Ljava/lang/String;)V │ │ -028b4c: 7020 7c07 2100 |0000: invoke-direct {v1, v2}, Lutil/SuppressRepeatingsLogger;.repeatingLog:(Ljava/lang/String;)Z // method@077c │ │ -028b52: 0a00 |0003: move-result v0 │ │ -028b54: 3900 0a00 |0004: if-nez v0, 000e // +000a │ │ -028b58: 7010 7507 0100 |0006: invoke-direct {v1}, Lutil/SuppressRepeatingsLogger;.addTimeStamp:()V // method@0775 │ │ -028b5e: 5410 7303 |0009: iget-object v0, v1, Lutil/SuppressRepeatingsLogger;.nestedLogger:Lutil/LoggerInterface; // field@0373 │ │ -028b62: 7220 3307 2000 |000b: invoke-interface {v0, v2}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0733 │ │ -028b68: 0e00 |000e: return-void │ │ +028b38: |[028b38] util.SuppressRepeatingsLogger.logLine:(Ljava/lang/String;)V │ │ +028b48: 7020 7c07 2100 |0000: invoke-direct {v1, v2}, Lutil/SuppressRepeatingsLogger;.repeatingLog:(Ljava/lang/String;)Z // method@077c │ │ +028b4e: 0a00 |0003: move-result v0 │ │ +028b50: 3900 0a00 |0004: if-nez v0, 000e // +000a │ │ +028b54: 7010 7507 0100 |0006: invoke-direct {v1}, Lutil/SuppressRepeatingsLogger;.addTimeStamp:()V // method@0775 │ │ +028b5a: 5410 7303 |0009: iget-object v0, v1, Lutil/SuppressRepeatingsLogger;.nestedLogger:Lutil/LoggerInterface; // field@0373 │ │ +028b5e: 7220 3307 2000 |000b: invoke-interface {v0, v2}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0733 │ │ +028b64: 0e00 |000e: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=83 │ │ 0x0006 line=84 │ │ 0x0009 line=85 │ │ locals : │ │ 0x0000 - 0x000f reg=1 this Lutil/SuppressRepeatingsLogger; │ │ @@ -58874,18 +58874,18 @@ │ │ type : '(Ljava/lang/String;)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 3 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 6 16-bit code units │ │ -028b6c: |[028b6c] util.SuppressRepeatingsLogger.message:(Ljava/lang/String;)V │ │ -028b7c: 5410 7303 |0000: iget-object v0, v1, Lutil/SuppressRepeatingsLogger;.nestedLogger:Lutil/LoggerInterface; // field@0373 │ │ -028b80: 7220 3407 2000 |0002: invoke-interface {v0, v2}, Lutil/LoggerInterface;.message:(Ljava/lang/String;)V // method@0734 │ │ -028b86: 0e00 |0005: return-void │ │ +028b68: |[028b68] util.SuppressRepeatingsLogger.message:(Ljava/lang/String;)V │ │ +028b78: 5410 7303 |0000: iget-object v0, v1, Lutil/SuppressRepeatingsLogger;.nestedLogger:Lutil/LoggerInterface; // field@0373 │ │ +028b7c: 7220 3407 2000 |0002: invoke-interface {v0, v2}, Lutil/LoggerInterface;.message:(Ljava/lang/String;)V // method@0734 │ │ +028b82: 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; │ │ │ │ @@ -58894,17 +58894,17 @@ │ │ type : '(Lutil/LoggerInterface;)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 2 │ │ outs : 0 │ │ insns size : 3 16-bit code units │ │ -028b88: |[028b88] util.SuppressRepeatingsLogger.setNestedLogger:(Lutil/LoggerInterface;)V │ │ -028b98: 5b01 7303 |0000: iput-object v1, v0, Lutil/SuppressRepeatingsLogger;.nestedLogger:Lutil/LoggerInterface; // field@0373 │ │ -028b9c: 0e00 |0002: return-void │ │ +028b84: |[028b84] util.SuppressRepeatingsLogger.setNestedLogger:(Lutil/LoggerInterface;)V │ │ +028b94: 5b01 7303 |0000: iput-object v1, v0, Lutil/SuppressRepeatingsLogger;.nestedLogger:Lutil/LoggerInterface; // field@0373 │ │ +028b98: 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; │ │ │ │ @@ -58913,17 +58913,17 @@ │ │ type : '(J)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 3 │ │ ins : 3 │ │ outs : 0 │ │ insns size : 3 16-bit code units │ │ -028ba0: |[028ba0] util.SuppressRepeatingsLogger.setSuppressTime:(J)V │ │ -028bb0: 5a01 7403 |0000: iput-wide v1, v0, Lutil/SuppressRepeatingsLogger;.timeRepeat:J // field@0374 │ │ -028bb4: 0e00 |0002: return-void │ │ +028b9c: |[028b9c] util.SuppressRepeatingsLogger.setSuppressTime:(J)V │ │ +028bac: 5a01 7403 |0000: iput-wide v1, v0, Lutil/SuppressRepeatingsLogger;.timeRepeat:J // field@0374 │ │ +028bb0: 0e00 |0002: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=42 │ │ locals : │ │ 0x0000 - 0x0003 reg=0 this Lutil/SuppressRepeatingsLogger; │ │ 0x0000 - 0x0003 reg=1 (null) J │ │ │ │ @@ -58932,23 +58932,23 @@ │ │ type : '(Ljava/lang/String;)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 3 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 14 16-bit code units │ │ -028bb8: |[028bb8] util.SuppressRepeatingsLogger.setTimestampFormat:(Ljava/lang/String;)V │ │ -028bc8: 3802 0a00 |0000: if-eqz v2, 000a // +000a │ │ -028bcc: 2200 5001 |0002: new-instance v0, Ljava/text/SimpleDateFormat; // type@0150 │ │ -028bd0: 7020 1606 2000 |0004: invoke-direct {v0, v2}, Ljava/text/SimpleDateFormat;.:(Ljava/lang/String;)V // method@0616 │ │ -028bd6: 5b10 6f03 |0007: iput-object v0, v1, Lutil/SuppressRepeatingsLogger;.dateFormatter:Ljava/text/DateFormat; // field@036f │ │ -028bda: 2804 |0009: goto 000d // +0004 │ │ -028bdc: 1202 |000a: const/4 v2, #int 0 // #0 │ │ -028bde: 5b12 6f03 |000b: iput-object v2, v1, Lutil/SuppressRepeatingsLogger;.dateFormatter:Ljava/text/DateFormat; // field@036f │ │ -028be2: 0e00 |000d: return-void │ │ +028bb4: |[028bb4] util.SuppressRepeatingsLogger.setTimestampFormat:(Ljava/lang/String;)V │ │ +028bc4: 3802 0a00 |0000: if-eqz v2, 000a // +000a │ │ +028bc8: 2200 5001 |0002: new-instance v0, Ljava/text/SimpleDateFormat; // type@0150 │ │ +028bcc: 7020 1606 2000 |0004: invoke-direct {v0, v2}, Ljava/text/SimpleDateFormat;.:(Ljava/lang/String;)V // method@0616 │ │ +028bd2: 5b10 6f03 |0007: iput-object v0, v1, Lutil/SuppressRepeatingsLogger;.dateFormatter:Ljava/text/DateFormat; // field@036f │ │ +028bd6: 2804 |0009: goto 000d // +0004 │ │ +028bd8: 1202 |000a: const/4 v2, #int 0 // #0 │ │ +028bda: 5b12 6f03 |000b: iput-object v2, v1, Lutil/SuppressRepeatingsLogger;.dateFormatter:Ljava/text/DateFormat; // field@036f │ │ +028bde: 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; │ │ @@ -59095,38 +59095,38 @@ │ │ type : '()V' │ │ access : 0x10008 (STATIC CONSTRUCTOR) │ │ code - │ │ registers : 2 │ │ ins : 0 │ │ outs : 1 │ │ insns size : 50 16-bit code units │ │ -02a200: |[02a200] util.conpool.Connection.:()V │ │ -02a210: 1240 |0000: const/4 v0, #int 4 // #4 │ │ -02a212: 2300 9d01 |0001: new-array v0, v0, [B // type@019d │ │ -02a216: 2600 2900 0000 |0003: fill-array-data v0, 0000002c // +00000029 │ │ -02a21c: 6900 7e03 |0006: sput-object v0, Lutil/conpool/Connection;.NO_IP:[B // field@037e │ │ -02a220: 2200 5801 |0008: new-instance v0, Ljava/util/HashMap; // type@0158 │ │ -02a224: 7010 2606 0000 |000a: invoke-direct {v0}, Ljava/util/HashMap;.:()V // method@0626 │ │ -02a22a: 6900 8303 |000d: sput-object v0, Lutil/conpool/Connection;.connPooled:Ljava/util/HashMap; // field@0383 │ │ -02a22e: 2200 5901 |000f: new-instance v0, Ljava/util/HashSet; // type@0159 │ │ -02a232: 7010 2f06 0000 |0011: invoke-direct {v0}, Ljava/util/HashSet;.:()V // method@062f │ │ -02a238: 6900 8203 |0014: sput-object v0, Lutil/conpool/Connection;.connAcquired:Ljava/util/HashSet; // field@0382 │ │ -02a23c: 7100 b507 0000 |0016: invoke-static {}, Lutil/conpool/Connection;.getCustomHosts:()Ljava/util/Hashtable; // method@07b5 │ │ -02a242: 0c00 |0019: move-result-object v0 │ │ -02a244: 6900 7c03 |001a: sput-object v0, Lutil/conpool/Connection;.CUSTOM_HOSTS:Ljava/util/Hashtable; // field@037c │ │ -02a248: 1200 |001c: const/4 v0, #int 0 // #0 │ │ -02a24a: 6900 7d03 |001d: sput-object v0, Lutil/conpool/Connection;.CUSTOM_HOSTS_FILE_NAME:Ljava/lang/String; // field@037d │ │ -02a24e: 1301 2c01 |001f: const/16 v1, #int 300 // #12c │ │ -02a252: 6701 7f03 |0021: sput v1, Lutil/conpool/Connection;.POOLTIMEOUT_SECONDS:I // field@037f │ │ -02a256: 7100 8907 0000 |0023: invoke-static {}, Lutil/TimoutNotificator;.getNewInstance:()Lutil/TimoutNotificator; // method@0789 │ │ -02a25c: 0c01 |0026: move-result-object v1 │ │ -02a25e: 6901 9003 |0027: sput-object v1, Lutil/conpool/Connection;.toNotify:Lutil/TimoutNotificator; // field@0390 │ │ -02a262: 6900 8403 |0029: sput-object v0, Lutil/conpool/Connection;.defaultSSLSocketFactory:Ljavax/net/ssl/SSLSocketFactory; // field@0384 │ │ -02a266: 0e00 |002b: return-void │ │ -02a268: 0003 0100 0400 0000 0000 0000 |002c: array-data (6 units) │ │ +02a1fc: |[02a1fc] util.conpool.Connection.:()V │ │ +02a20c: 1240 |0000: const/4 v0, #int 4 // #4 │ │ +02a20e: 2300 9d01 |0001: new-array v0, v0, [B // type@019d │ │ +02a212: 2600 2900 0000 |0003: fill-array-data v0, 0000002c // +00000029 │ │ +02a218: 6900 7e03 |0006: sput-object v0, Lutil/conpool/Connection;.NO_IP:[B // field@037e │ │ +02a21c: 2200 5801 |0008: new-instance v0, Ljava/util/HashMap; // type@0158 │ │ +02a220: 7010 2606 0000 |000a: invoke-direct {v0}, Ljava/util/HashMap;.:()V // method@0626 │ │ +02a226: 6900 8303 |000d: sput-object v0, Lutil/conpool/Connection;.connPooled:Ljava/util/HashMap; // field@0383 │ │ +02a22a: 2200 5901 |000f: new-instance v0, Ljava/util/HashSet; // type@0159 │ │ +02a22e: 7010 2f06 0000 |0011: invoke-direct {v0}, Ljava/util/HashSet;.:()V // method@062f │ │ +02a234: 6900 8203 |0014: sput-object v0, Lutil/conpool/Connection;.connAcquired:Ljava/util/HashSet; // field@0382 │ │ +02a238: 7100 b507 0000 |0016: invoke-static {}, Lutil/conpool/Connection;.getCustomHosts:()Ljava/util/Hashtable; // method@07b5 │ │ +02a23e: 0c00 |0019: move-result-object v0 │ │ +02a240: 6900 7c03 |001a: sput-object v0, Lutil/conpool/Connection;.CUSTOM_HOSTS:Ljava/util/Hashtable; // field@037c │ │ +02a244: 1200 |001c: const/4 v0, #int 0 // #0 │ │ +02a246: 6900 7d03 |001d: sput-object v0, Lutil/conpool/Connection;.CUSTOM_HOSTS_FILE_NAME:Ljava/lang/String; // field@037d │ │ +02a24a: 1301 2c01 |001f: const/16 v1, #int 300 // #12c │ │ +02a24e: 6701 7f03 |0021: sput v1, Lutil/conpool/Connection;.POOLTIMEOUT_SECONDS:I // field@037f │ │ +02a252: 7100 8907 0000 |0023: invoke-static {}, Lutil/TimoutNotificator;.getNewInstance:()Lutil/TimoutNotificator; // method@0789 │ │ +02a258: 0c01 |0026: move-result-object v1 │ │ +02a25a: 6901 9003 |0027: sput-object v1, Lutil/conpool/Connection;.toNotify:Lutil/TimoutNotificator; // field@0390 │ │ +02a25e: 6900 8403 |0029: sput-object v0, Lutil/conpool/Connection;.defaultSSLSocketFactory:Ljavax/net/ssl/SSLSocketFactory; // field@0384 │ │ +02a262: 0e00 |002b: return-void │ │ +02a264: 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 │ │ @@ -59140,53 +59140,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 │ │ -02a274: |[02a274] util.conpool.Connection.:(Ljava/lang/String;IIZLjavax/net/ssl/SSLSocketFactory;Ljava/net/Proxy;)V │ │ -02a284: 7010 7505 0700 |0000: invoke-direct {v7}, Ljava/lang/Object;.:()V // method@0575 │ │ -02a28a: 1200 |0003: const/4 v0, #int 0 // #0 │ │ -02a28c: 5b70 8a03 |0004: iput-object v0, v7, Lutil/conpool/Connection;.socket:Ljava/net/Socket; // field@038a │ │ -02a290: 1211 |0006: const/4 v1, #int 1 // #1 │ │ -02a292: 5c71 8003 |0007: iput-boolean v1, v7, Lutil/conpool/Connection;.acquired:Z // field@0380 │ │ -02a296: 5c71 9103 |0009: iput-boolean v1, v7, Lutil/conpool/Connection;.valid:Z // field@0391 │ │ -02a29a: 1201 |000b: const/4 v1, #int 0 // #0 │ │ -02a29c: 5c71 8d03 |000c: iput-boolean v1, v7, Lutil/conpool/Connection;.ssl:Z // field@038d │ │ -02a2a0: 6201 7c03 |000e: sget-object v1, Lutil/conpool/Connection;.CUSTOM_HOSTS:Ljava/util/Hashtable; // field@037c │ │ -02a2a4: 3801 0800 |0010: if-eqz v1, 0018 // +0008 │ │ -02a2a8: 6e20 3906 8100 |0012: invoke-virtual {v1, v8}, Ljava/util/Hashtable;.get:(Ljava/lang/Object;)Ljava/lang/Object; // method@0639 │ │ -02a2ae: 0c00 |0015: move-result-object v0 │ │ -02a2b0: 1f00 3701 |0016: check-cast v0, Ljava/net/InetAddress; // type@0137 │ │ -02a2b4: 3900 1100 |0018: if-nez v0, 0029 // +0011 │ │ -02a2b8: 6200 1b03 |001a: sget-object v0, Ljava/net/Proxy;.NO_PROXY:Ljava/net/Proxy; // field@031b │ │ -02a2bc: 330d 0700 |001c: if-ne v13, v0, 0023 // +0007 │ │ -02a2c0: 7110 d505 0800 |001e: invoke-static {v8}, Ljava/net/InetAddress;.getByName:(Ljava/lang/String;)Ljava/net/InetAddress; // method@05d5 │ │ -02a2c6: 0c00 |0021: move-result-object v0 │ │ -02a2c8: 2807 |0022: goto 0029 // +0007 │ │ -02a2ca: 6200 7e03 |0023: sget-object v0, Lutil/conpool/Connection;.NO_IP:[B // field@037e │ │ -02a2ce: 7120 d305 0800 |0025: invoke-static {v8, v0}, Ljava/net/InetAddress;.getByAddress:(Ljava/lang/String;[B)Ljava/net/InetAddress; // method@05d3 │ │ -02a2d4: 0c00 |0028: move-result-object v0 │ │ -02a2d6: 2202 3801 |0029: new-instance v2, Ljava/net/InetSocketAddress; // type@0138 │ │ -02a2da: 7030 da05 0209 |002b: invoke-direct {v2, v0, v9}, Ljava/net/InetSocketAddress;.:(Ljava/net/InetAddress;I)V // method@05da │ │ -02a2e0: 7140 c107 98db |002e: invoke-static {v8, v9, v11, v13}, Lutil/conpool/Connection;.poolKey:(Ljava/lang/String;IZLjava/net/Proxy;)Ljava/lang/String; // method@07c1 │ │ -02a2e6: 0c08 |0031: move-result-object v8 │ │ -02a2e8: 5b78 8703 |0032: iput-object v8, v7, Lutil/conpool/Connection;.poolKey:Ljava/lang/String; // field@0387 │ │ -02a2ec: 0771 |0034: move-object v1, v7 │ │ -02a2ee: 01a3 |0035: move v3, v10 │ │ -02a2f0: 01b4 |0036: move v4, v11 │ │ -02a2f2: 07c5 |0037: move-object v5, v12 │ │ -02a2f4: 07d6 |0038: move-object v6, v13 │ │ -02a2f6: 7606 bc07 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@07bc │ │ -02a2fc: 2208 9001 |003c: new-instance v8, Lutil/TimeoutTime; // type@0190 │ │ -02a300: 6209 9003 |003e: sget-object v9, Lutil/conpool/Connection;.toNotify:Lutil/TimoutNotificator; // field@0390 │ │ -02a304: 7020 8207 9800 |0040: invoke-direct {v8, v9}, Lutil/TimeoutTime;.:(Lutil/TimoutNotificator;)V // method@0782 │ │ -02a30a: 5b78 8f03 |0043: iput-object v8, v7, Lutil/conpool/Connection;.timeout:Lutil/TimeoutTime; // field@038f │ │ -02a30e: 0e00 |0045: return-void │ │ +02a270: |[02a270] util.conpool.Connection.:(Ljava/lang/String;IIZLjavax/net/ssl/SSLSocketFactory;Ljava/net/Proxy;)V │ │ +02a280: 7010 7505 0700 |0000: invoke-direct {v7}, Ljava/lang/Object;.:()V // method@0575 │ │ +02a286: 1200 |0003: const/4 v0, #int 0 // #0 │ │ +02a288: 5b70 8a03 |0004: iput-object v0, v7, Lutil/conpool/Connection;.socket:Ljava/net/Socket; // field@038a │ │ +02a28c: 1211 |0006: const/4 v1, #int 1 // #1 │ │ +02a28e: 5c71 8003 |0007: iput-boolean v1, v7, Lutil/conpool/Connection;.acquired:Z // field@0380 │ │ +02a292: 5c71 9103 |0009: iput-boolean v1, v7, Lutil/conpool/Connection;.valid:Z // field@0391 │ │ +02a296: 1201 |000b: const/4 v1, #int 0 // #0 │ │ +02a298: 5c71 8d03 |000c: iput-boolean v1, v7, Lutil/conpool/Connection;.ssl:Z // field@038d │ │ +02a29c: 6201 7c03 |000e: sget-object v1, Lutil/conpool/Connection;.CUSTOM_HOSTS:Ljava/util/Hashtable; // field@037c │ │ +02a2a0: 3801 0800 |0010: if-eqz v1, 0018 // +0008 │ │ +02a2a4: 6e20 3906 8100 |0012: invoke-virtual {v1, v8}, Ljava/util/Hashtable;.get:(Ljava/lang/Object;)Ljava/lang/Object; // method@0639 │ │ +02a2aa: 0c00 |0015: move-result-object v0 │ │ +02a2ac: 1f00 3701 |0016: check-cast v0, Ljava/net/InetAddress; // type@0137 │ │ +02a2b0: 3900 1100 |0018: if-nez v0, 0029 // +0011 │ │ +02a2b4: 6200 1b03 |001a: sget-object v0, Ljava/net/Proxy;.NO_PROXY:Ljava/net/Proxy; // field@031b │ │ +02a2b8: 330d 0700 |001c: if-ne v13, v0, 0023 // +0007 │ │ +02a2bc: 7110 d505 0800 |001e: invoke-static {v8}, Ljava/net/InetAddress;.getByName:(Ljava/lang/String;)Ljava/net/InetAddress; // method@05d5 │ │ +02a2c2: 0c00 |0021: move-result-object v0 │ │ +02a2c4: 2807 |0022: goto 0029 // +0007 │ │ +02a2c6: 6200 7e03 |0023: sget-object v0, Lutil/conpool/Connection;.NO_IP:[B // field@037e │ │ +02a2ca: 7120 d305 0800 |0025: invoke-static {v8, v0}, Ljava/net/InetAddress;.getByAddress:(Ljava/lang/String;[B)Ljava/net/InetAddress; // method@05d3 │ │ +02a2d0: 0c00 |0028: move-result-object v0 │ │ +02a2d2: 2202 3801 |0029: new-instance v2, Ljava/net/InetSocketAddress; // type@0138 │ │ +02a2d6: 7030 da05 0209 |002b: invoke-direct {v2, v0, v9}, Ljava/net/InetSocketAddress;.:(Ljava/net/InetAddress;I)V // method@05da │ │ +02a2dc: 7140 c107 98db |002e: invoke-static {v8, v9, v11, v13}, Lutil/conpool/Connection;.poolKey:(Ljava/lang/String;IZLjava/net/Proxy;)Ljava/lang/String; // method@07c1 │ │ +02a2e2: 0c08 |0031: move-result-object v8 │ │ +02a2e4: 5b78 8703 |0032: iput-object v8, v7, Lutil/conpool/Connection;.poolKey:Ljava/lang/String; // field@0387 │ │ +02a2e8: 0771 |0034: move-object v1, v7 │ │ +02a2ea: 01a3 |0035: move v3, v10 │ │ +02a2ec: 01b4 |0036: move v4, v11 │ │ +02a2ee: 07c5 |0037: move-object v5, v12 │ │ +02a2f0: 07d6 |0038: move-object v6, v13 │ │ +02a2f2: 7606 bc07 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@07bc │ │ +02a2f8: 2208 9001 |003c: new-instance v8, Lutil/TimeoutTime; // type@0190 │ │ +02a2fc: 6209 9003 |003e: sget-object v9, Lutil/conpool/Connection;.toNotify:Lutil/TimoutNotificator; // field@0390 │ │ +02a300: 7020 8207 9800 |0040: invoke-direct {v8, v9}, Lutil/TimeoutTime;.:(Lutil/TimoutNotificator;)V // method@0782 │ │ +02a306: 5b78 8f03 |0043: iput-object v8, v7, Lutil/conpool/Connection;.timeout:Lutil/TimeoutTime; // field@038f │ │ +02a30a: 0e00 |0045: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=79 │ │ 0x0004 line=56 │ │ 0x0007 line=63 │ │ 0x0009 line=64 │ │ 0x000c line=65 │ │ @@ -59213,38 +59213,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 │ │ -02a310: |[02a310] util.conpool.Connection.:(Ljava/net/InetSocketAddress;IZLjavax/net/ssl/SSLSocketFactory;Ljava/net/Proxy;)V │ │ -02a320: 7010 7505 0200 |0000: invoke-direct {v2}, Ljava/lang/Object;.:()V // method@0575 │ │ -02a326: 1200 |0003: const/4 v0, #int 0 // #0 │ │ -02a328: 5b20 8a03 |0004: iput-object v0, v2, Lutil/conpool/Connection;.socket:Ljava/net/Socket; // field@038a │ │ -02a32c: 1210 |0006: const/4 v0, #int 1 // #1 │ │ -02a32e: 5c20 8003 |0007: iput-boolean v0, v2, Lutil/conpool/Connection;.acquired:Z // field@0380 │ │ -02a332: 5c20 9103 |0009: iput-boolean v0, v2, Lutil/conpool/Connection;.valid:Z // field@0391 │ │ -02a336: 1200 |000b: const/4 v0, #int 0 // #0 │ │ -02a338: 5c20 8d03 |000c: iput-boolean v0, v2, Lutil/conpool/Connection;.ssl:Z // field@038d │ │ -02a33c: 6e10 dc05 0300 |000e: invoke-virtual {v3}, Ljava/net/InetSocketAddress;.getAddress:()Ljava/net/InetAddress; // method@05dc │ │ -02a342: 0c00 |0011: move-result-object v0 │ │ -02a344: 6e10 d605 0000 |0012: invoke-virtual {v0}, Ljava/net/InetAddress;.getHostAddress:()Ljava/lang/String; // method@05d6 │ │ -02a34a: 0c00 |0015: move-result-object v0 │ │ -02a34c: 6e10 de05 0300 |0016: invoke-virtual {v3}, Ljava/net/InetSocketAddress;.getPort:()I // method@05de │ │ -02a352: 0a01 |0019: move-result v1 │ │ -02a354: 7140 c107 1075 |001a: invoke-static {v0, v1, v5, v7}, Lutil/conpool/Connection;.poolKey:(Ljava/lang/String;IZLjava/net/Proxy;)Ljava/lang/String; // method@07c1 │ │ -02a35a: 0c00 |001d: move-result-object v0 │ │ -02a35c: 5b20 8703 |001e: iput-object v0, v2, Lutil/conpool/Connection;.poolKey:Ljava/lang/String; // field@0387 │ │ -02a360: 7606 bc07 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@07bc │ │ -02a366: 2203 9001 |0023: new-instance v3, Lutil/TimeoutTime; // type@0190 │ │ -02a36a: 6204 9003 |0025: sget-object v4, Lutil/conpool/Connection;.toNotify:Lutil/TimoutNotificator; // field@0390 │ │ -02a36e: 7020 8207 4300 |0027: invoke-direct {v3, v4}, Lutil/TimeoutTime;.:(Lutil/TimoutNotificator;)V // method@0782 │ │ -02a374: 5b23 8f03 |002a: iput-object v3, v2, Lutil/conpool/Connection;.timeout:Lutil/TimeoutTime; // field@038f │ │ -02a378: 0e00 |002c: return-void │ │ +02a30c: |[02a30c] util.conpool.Connection.:(Ljava/net/InetSocketAddress;IZLjavax/net/ssl/SSLSocketFactory;Ljava/net/Proxy;)V │ │ +02a31c: 7010 7505 0200 |0000: invoke-direct {v2}, Ljava/lang/Object;.:()V // method@0575 │ │ +02a322: 1200 |0003: const/4 v0, #int 0 // #0 │ │ +02a324: 5b20 8a03 |0004: iput-object v0, v2, Lutil/conpool/Connection;.socket:Ljava/net/Socket; // field@038a │ │ +02a328: 1210 |0006: const/4 v0, #int 1 // #1 │ │ +02a32a: 5c20 8003 |0007: iput-boolean v0, v2, Lutil/conpool/Connection;.acquired:Z // field@0380 │ │ +02a32e: 5c20 9103 |0009: iput-boolean v0, v2, Lutil/conpool/Connection;.valid:Z // field@0391 │ │ +02a332: 1200 |000b: const/4 v0, #int 0 // #0 │ │ +02a334: 5c20 8d03 |000c: iput-boolean v0, v2, Lutil/conpool/Connection;.ssl:Z // field@038d │ │ +02a338: 6e10 dc05 0300 |000e: invoke-virtual {v3}, Ljava/net/InetSocketAddress;.getAddress:()Ljava/net/InetAddress; // method@05dc │ │ +02a33e: 0c00 |0011: move-result-object v0 │ │ +02a340: 6e10 d605 0000 |0012: invoke-virtual {v0}, Ljava/net/InetAddress;.getHostAddress:()Ljava/lang/String; // method@05d6 │ │ +02a346: 0c00 |0015: move-result-object v0 │ │ +02a348: 6e10 de05 0300 |0016: invoke-virtual {v3}, Ljava/net/InetSocketAddress;.getPort:()I // method@05de │ │ +02a34e: 0a01 |0019: move-result v1 │ │ +02a350: 7140 c107 1075 |001a: invoke-static {v0, v1, v5, v7}, Lutil/conpool/Connection;.poolKey:(Ljava/lang/String;IZLjava/net/Proxy;)Ljava/lang/String; // method@07c1 │ │ +02a356: 0c00 |001d: move-result-object v0 │ │ +02a358: 5b20 8703 |001e: iput-object v0, v2, Lutil/conpool/Connection;.poolKey:Ljava/lang/String; // field@0387 │ │ +02a35c: 7606 bc07 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@07bc │ │ +02a362: 2203 9001 |0023: new-instance v3, Lutil/TimeoutTime; // type@0190 │ │ +02a366: 6204 9003 |0025: sget-object v4, Lutil/conpool/Connection;.toNotify:Lutil/TimoutNotificator; // field@0390 │ │ +02a36a: 7020 8207 4300 |0027: invoke-direct {v3, v4}, Lutil/TimeoutTime;.:(Lutil/TimoutNotificator;)V // method@0782 │ │ +02a370: 5b23 8f03 |002a: iput-object v3, v2, Lutil/conpool/Connection;.timeout:Lutil/TimeoutTime; // field@038f │ │ +02a374: 0e00 |002c: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=96 │ │ 0x0004 line=56 │ │ 0x0007 line=63 │ │ 0x0009 line=64 │ │ 0x000c line=65 │ │ @@ -59264,31 +59264,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 │ │ -02a37c: |[02a37c] util.conpool.Connection.addCustomHost:(Ljava/net/InetAddress;)V │ │ -02a38c: 1c00 9301 |0000: const-class v0, Lutil/conpool/Connection; // type@0193 │ │ -02a390: 1d00 |0002: monitor-enter v0 │ │ -02a392: 6201 7c03 |0003: sget-object v1, Lutil/conpool/Connection;.CUSTOM_HOSTS:Ljava/util/Hashtable; // field@037c │ │ -02a396: 3901 0900 |0005: if-nez v1, 000e // +0009 │ │ -02a39a: 2201 5a01 |0007: new-instance v1, Ljava/util/Hashtable; // type@015a │ │ -02a39e: 7010 3806 0100 |0009: invoke-direct {v1}, Ljava/util/Hashtable;.:()V // method@0638 │ │ -02a3a4: 6901 7c03 |000c: sput-object v1, Lutil/conpool/Connection;.CUSTOM_HOSTS:Ljava/util/Hashtable; // field@037c │ │ -02a3a8: 6201 7c03 |000e: sget-object v1, Lutil/conpool/Connection;.CUSTOM_HOSTS:Ljava/util/Hashtable; // field@037c │ │ -02a3ac: 6e10 d705 0300 |0010: invoke-virtual {v3}, Ljava/net/InetAddress;.getHostName:()Ljava/lang/String; // method@05d7 │ │ -02a3b2: 0c02 |0013: move-result-object v2 │ │ -02a3b4: 6e30 3a06 2103 |0014: invoke-virtual {v1, v2, v3}, Ljava/util/Hashtable;.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; // method@063a │ │ -02a3ba: 1e00 |0017: monitor-exit v0 │ │ -02a3bc: 0e00 |0018: return-void │ │ -02a3be: 0d03 |0019: move-exception v3 │ │ -02a3c0: 1e00 |001a: monitor-exit v0 │ │ -02a3c2: 2703 |001b: throw v3 │ │ +02a378: |[02a378] util.conpool.Connection.addCustomHost:(Ljava/net/InetAddress;)V │ │ +02a388: 1c00 9301 |0000: const-class v0, Lutil/conpool/Connection; // type@0193 │ │ +02a38c: 1d00 |0002: monitor-enter v0 │ │ +02a38e: 6201 7c03 |0003: sget-object v1, Lutil/conpool/Connection;.CUSTOM_HOSTS:Ljava/util/Hashtable; // field@037c │ │ +02a392: 3901 0900 |0005: if-nez v1, 000e // +0009 │ │ +02a396: 2201 5a01 |0007: new-instance v1, Ljava/util/Hashtable; // type@015a │ │ +02a39a: 7010 3806 0100 |0009: invoke-direct {v1}, Ljava/util/Hashtable;.:()V // method@0638 │ │ +02a3a0: 6901 7c03 |000c: sput-object v1, Lutil/conpool/Connection;.CUSTOM_HOSTS:Ljava/util/Hashtable; // field@037c │ │ +02a3a4: 6201 7c03 |000e: sget-object v1, Lutil/conpool/Connection;.CUSTOM_HOSTS:Ljava/util/Hashtable; // field@037c │ │ +02a3a8: 6e10 d705 0300 |0010: invoke-virtual {v3}, Ljava/net/InetAddress;.getHostName:()Ljava/lang/String; // method@05d7 │ │ +02a3ae: 0c02 |0013: move-result-object v2 │ │ +02a3b0: 6e30 3a06 2103 |0014: invoke-virtual {v1, v2, v3}, Ljava/util/Hashtable;.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; // method@063a │ │ +02a3b6: 1e00 |0017: monitor-exit v0 │ │ +02a3b8: 0e00 |0018: return-void │ │ +02a3ba: 0d03 |0019: move-exception v3 │ │ +02a3bc: 1e00 |001a: monitor-exit v0 │ │ +02a3be: 2703 |001b: throw v3 │ │ catches : 1 │ │ 0x0003 - 0x0017 │ │ -> 0x0019 │ │ positions : │ │ 0x0003 line=155 │ │ 0x0007 line=156 │ │ 0x000e line=157 │ │ @@ -59301,26 +59301,26 @@ │ │ type : '()V' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 23 16-bit code units │ │ -02a3d0: |[02a3d0] util.conpool.Connection.closeConnection:()V │ │ -02a3e0: 1200 |0000: const/4 v0, #int 0 // #0 │ │ -02a3e2: 5c10 9103 |0001: iput-boolean v0, v1, Lutil/conpool/Connection;.valid:Z // field@0391 │ │ -02a3e6: 5510 8d03 |0003: iget-boolean v0, v1, Lutil/conpool/Connection;.ssl:Z // field@038d │ │ -02a3ea: 3900 0c00 |0005: if-nez v0, 0011 // +000c │ │ -02a3ee: 5410 8a03 |0007: iget-object v0, v1, Lutil/conpool/Connection;.socket:Ljava/net/Socket; // field@038a │ │ -02a3f2: 6e10 f105 0000 |0009: invoke-virtual {v0}, Ljava/net/Socket;.shutdownOutput:()V // method@05f1 │ │ -02a3f8: 5410 8a03 |000c: iget-object v0, v1, Lutil/conpool/Connection;.socket:Ljava/net/Socket; // field@038a │ │ -02a3fc: 6e10 f005 0000 |000e: invoke-virtual {v0}, Ljava/net/Socket;.shutdownInput:()V // method@05f0 │ │ -02a402: 5410 8a03 |0011: iget-object v0, v1, Lutil/conpool/Connection;.socket:Ljava/net/Socket; // field@038a │ │ -02a406: 6e10 ea05 0000 |0013: invoke-virtual {v0}, Ljava/net/Socket;.close:()V // method@05ea │ │ -02a40c: 0e00 |0016: return-void │ │ +02a3cc: |[02a3cc] util.conpool.Connection.closeConnection:()V │ │ +02a3dc: 1200 |0000: const/4 v0, #int 0 // #0 │ │ +02a3de: 5c10 9103 |0001: iput-boolean v0, v1, Lutil/conpool/Connection;.valid:Z // field@0391 │ │ +02a3e2: 5510 8d03 |0003: iget-boolean v0, v1, Lutil/conpool/Connection;.ssl:Z // field@038d │ │ +02a3e6: 3900 0c00 |0005: if-nez v0, 0011 // +000c │ │ +02a3ea: 5410 8a03 |0007: iget-object v0, v1, Lutil/conpool/Connection;.socket:Ljava/net/Socket; // field@038a │ │ +02a3ee: 6e10 f105 0000 |0009: invoke-virtual {v0}, Ljava/net/Socket;.shutdownOutput:()V // method@05f1 │ │ +02a3f4: 5410 8a03 |000c: iget-object v0, v1, Lutil/conpool/Connection;.socket:Ljava/net/Socket; // field@038a │ │ +02a3f8: 6e10 f005 0000 |000e: invoke-virtual {v0}, Ljava/net/Socket;.shutdownInput:()V // method@05f0 │ │ +02a3fe: 5410 8a03 |0011: iget-object v0, v1, Lutil/conpool/Connection;.socket:Ljava/net/Socket; // field@038a │ │ +02a402: 6e10 ea05 0000 |0013: invoke-virtual {v0}, Ljava/net/Socket;.close:()V // method@05ea │ │ +02a408: 0e00 |0016: return-void │ │ catches : 1 │ │ 0x0001 - 0x0016 │ │ Ljava/io/IOException; -> 0x0016 │ │ positions : │ │ 0x0001 line=438 │ │ 0x0003 line=439 │ │ 0x0007 line=440 │ │ @@ -59334,24 +59334,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 │ │ -029fa4: |[029fa4] util.conpool.Connection.connect:(Ljava/lang/String;I)Lutil/conpool/Connection; │ │ -029fb4: 1204 |0000: const/4 v4, #int 0 // #0 │ │ -029fb6: 6205 1b03 |0001: sget-object v5, Ljava/net/Proxy;.NO_PROXY:Ljava/net/Proxy; // field@031b │ │ -029fba: 12f2 |0003: const/4 v2, #int -1 // #ff │ │ -029fbc: 1203 |0004: const/4 v3, #int 0 // #0 │ │ -029fbe: 0760 |0005: move-object v0, v6 │ │ -029fc0: 0171 |0006: move v1, v7 │ │ -029fc2: 7706 b007 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@07b0 │ │ -029fc8: 0c06 |000a: move-result-object v6 │ │ -029fca: 1106 |000b: return-object v6 │ │ +029fa0: |[029fa0] util.conpool.Connection.connect:(Ljava/lang/String;I)Lutil/conpool/Connection; │ │ +029fb0: 1204 |0000: const/4 v4, #int 0 // #0 │ │ +029fb2: 6205 1b03 |0001: sget-object v5, Ljava/net/Proxy;.NO_PROXY:Ljava/net/Proxy; // field@031b │ │ +029fb6: 12f2 |0003: const/4 v2, #int -1 // #ff │ │ +029fb8: 1203 |0004: const/4 v3, #int 0 // #0 │ │ +029fba: 0760 |0005: move-object v0, v6 │ │ +029fbc: 0171 |0006: move v1, v7 │ │ +029fbe: 7706 b007 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@07b0 │ │ +029fc4: 0c06 |000a: move-result-object v6 │ │ +029fc6: 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 │ │ │ │ @@ -59360,24 +59360,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 │ │ -029fcc: |[029fcc] util.conpool.Connection.connect:(Ljava/lang/String;II)Lutil/conpool/Connection; │ │ -029fdc: 1204 |0000: const/4 v4, #int 0 // #0 │ │ -029fde: 6205 1b03 |0001: sget-object v5, Ljava/net/Proxy;.NO_PROXY:Ljava/net/Proxy; // field@031b │ │ -029fe2: 1203 |0003: const/4 v3, #int 0 // #0 │ │ -029fe4: 0760 |0004: move-object v0, v6 │ │ -029fe6: 0171 |0005: move v1, v7 │ │ -029fe8: 0182 |0006: move v2, v8 │ │ -029fea: 7706 b007 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@07b0 │ │ -029ff0: 0c06 |000a: move-result-object v6 │ │ -029ff2: 1106 |000b: return-object v6 │ │ +029fc8: |[029fc8] util.conpool.Connection.connect:(Ljava/lang/String;II)Lutil/conpool/Connection; │ │ +029fd8: 1204 |0000: const/4 v4, #int 0 // #0 │ │ +029fda: 6205 1b03 |0001: sget-object v5, Ljava/net/Proxy;.NO_PROXY:Ljava/net/Proxy; // field@031b │ │ +029fde: 1203 |0003: const/4 v3, #int 0 // #0 │ │ +029fe0: 0760 |0004: move-object v0, v6 │ │ +029fe2: 0171 |0005: move v1, v7 │ │ +029fe4: 0182 |0006: move v2, v8 │ │ +029fe6: 7706 b007 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@07b0 │ │ +029fec: 0c06 |000a: move-result-object v6 │ │ +029fee: 1106 |000b: return-object v6 │ │ catches : (none) │ │ positions : │ │ 0x0001 line=141 │ │ locals : │ │ 0x0000 - 0x000c reg=6 (null) Ljava/lang/String; │ │ 0x0000 - 0x000c reg=7 (null) I │ │ 0x0000 - 0x000c reg=8 (null) I │ │ @@ -59387,39 +59387,39 @@ │ │ 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 : 38 16-bit code units │ │ -029ff4: |[029ff4] util.conpool.Connection.connect:(Ljava/lang/String;IIZLjavax/net/ssl/SSLSocketFactory;Ljava/net/Proxy;)Lutil/conpool/Connection; │ │ -02a004: 7140 c107 98db |0000: invoke-static {v8, v9, v11, v13}, Lutil/conpool/Connection;.poolKey:(Ljava/lang/String;IZLjava/net/Proxy;)Ljava/lang/String; // method@07c1 │ │ -02a00a: 0c00 |0003: move-result-object v0 │ │ -02a00c: 7110 c207 0000 |0004: invoke-static {v0}, Lutil/conpool/Connection;.poolRemove:(Ljava/lang/String;)Lutil/conpool/Connection; // method@07c2 │ │ -02a012: 0c00 |0007: move-result-object v0 │ │ -02a014: 3900 0e00 |0008: if-nez v0, 0016 // +000e │ │ -02a018: 2200 9301 |000a: new-instance v0, Lutil/conpool/Connection; // type@0193 │ │ -02a01c: 0701 |000c: move-object v1, v0 │ │ -02a01e: 0782 |000d: move-object v2, v8 │ │ -02a020: 0193 |000e: move v3, v9 │ │ -02a022: 01a4 |000f: move v4, v10 │ │ -02a024: 01b5 |0010: move v5, v11 │ │ -02a026: 07c6 |0011: move-object v6, v12 │ │ -02a028: 07d7 |0012: move-object v7, v13 │ │ -02a02a: 7607 aa07 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@07aa │ │ -02a030: 7010 bd07 0000 |0016: invoke-direct {v0}, Lutil/conpool/Connection;.initStreams:()V // method@07bd │ │ -02a036: 6208 8203 |0019: sget-object v8, Lutil/conpool/Connection;.connAcquired:Ljava/util/HashSet; // field@0382 │ │ -02a03a: 1d08 |001b: monitor-enter v8 │ │ -02a03c: 6209 8203 |001c: sget-object v9, Lutil/conpool/Connection;.connAcquired:Ljava/util/HashSet; // field@0382 │ │ -02a040: 6e20 3006 0900 |001e: invoke-virtual {v9, v0}, Ljava/util/HashSet;.add:(Ljava/lang/Object;)Z // method@0630 │ │ -02a046: 1e08 |0021: monitor-exit v8 │ │ -02a048: 1100 |0022: return-object v0 │ │ -02a04a: 0d09 |0023: move-exception v9 │ │ -02a04c: 1e08 |0024: monitor-exit v8 │ │ -02a04e: 2709 |0025: throw v9 │ │ +029ff0: |[029ff0] util.conpool.Connection.connect:(Ljava/lang/String;IIZLjavax/net/ssl/SSLSocketFactory;Ljava/net/Proxy;)Lutil/conpool/Connection; │ │ +02a000: 7140 c107 98db |0000: invoke-static {v8, v9, v11, v13}, Lutil/conpool/Connection;.poolKey:(Ljava/lang/String;IZLjava/net/Proxy;)Ljava/lang/String; // method@07c1 │ │ +02a006: 0c00 |0003: move-result-object v0 │ │ +02a008: 7110 c207 0000 |0004: invoke-static {v0}, Lutil/conpool/Connection;.poolRemove:(Ljava/lang/String;)Lutil/conpool/Connection; // method@07c2 │ │ +02a00e: 0c00 |0007: move-result-object v0 │ │ +02a010: 3900 0e00 |0008: if-nez v0, 0016 // +000e │ │ +02a014: 2200 9301 |000a: new-instance v0, Lutil/conpool/Connection; // type@0193 │ │ +02a018: 0701 |000c: move-object v1, v0 │ │ +02a01a: 0782 |000d: move-object v2, v8 │ │ +02a01c: 0193 |000e: move v3, v9 │ │ +02a01e: 01a4 |000f: move v4, v10 │ │ +02a020: 01b5 |0010: move v5, v11 │ │ +02a022: 07c6 |0011: move-object v6, v12 │ │ +02a024: 07d7 |0012: move-object v7, v13 │ │ +02a026: 7607 aa07 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@07aa │ │ +02a02c: 7010 bd07 0000 |0016: invoke-direct {v0}, Lutil/conpool/Connection;.initStreams:()V // method@07bd │ │ +02a032: 6208 8203 |0019: sget-object v8, Lutil/conpool/Connection;.connAcquired:Ljava/util/HashSet; // field@0382 │ │ +02a036: 1d08 |001b: monitor-enter v8 │ │ +02a038: 6209 8203 |001c: sget-object v9, Lutil/conpool/Connection;.connAcquired:Ljava/util/HashSet; // field@0382 │ │ +02a03c: 6e20 3006 0900 |001e: invoke-virtual {v9, v0}, Ljava/util/HashSet;.add:(Ljava/lang/Object;)Z // method@0630 │ │ +02a042: 1e08 |0021: monitor-exit v8 │ │ +02a044: 1100 |0022: return-object v0 │ │ +02a046: 0d09 |0023: move-exception v9 │ │ +02a048: 1e08 |0024: monitor-exit v8 │ │ +02a04a: 2709 |0025: throw v9 │ │ catches : 1 │ │ 0x001c - 0x0025 │ │ -> 0x0023 │ │ positions : │ │ 0x0000 line=125 │ │ 0x000a line=127 │ │ 0x0016 line=129 │ │ @@ -59439,19 +59439,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 │ │ -02a05c: |[02a05c] util.conpool.Connection.connect:(Ljava/net/InetSocketAddress;)Lutil/conpool/Connection; │ │ -02a06c: 12f0 |0000: const/4 v0, #int -1 // #ff │ │ -02a06e: 7120 b207 0100 |0001: invoke-static {v1, v0}, Lutil/conpool/Connection;.connect:(Ljava/net/InetSocketAddress;I)Lutil/conpool/Connection; // method@07b2 │ │ -02a074: 0c01 |0004: move-result-object v1 │ │ -02a076: 1101 |0005: return-object v1 │ │ +02a058: |[02a058] util.conpool.Connection.connect:(Ljava/net/InetSocketAddress;)Lutil/conpool/Connection; │ │ +02a068: 12f0 |0000: const/4 v0, #int -1 // #ff │ │ +02a06a: 7120 b207 0100 |0001: invoke-static {v1, v0}, Lutil/conpool/Connection;.connect:(Ljava/net/InetSocketAddress;I)Lutil/conpool/Connection; // method@07b2 │ │ +02a070: 0c01 |0004: move-result-object v1 │ │ +02a072: 1101 |0005: return-object v1 │ │ catches : (none) │ │ positions : │ │ 0x0001 line=120 │ │ locals : │ │ 0x0000 - 0x0006 reg=1 (null) Ljava/net/InetSocketAddress; │ │ │ │ #9 : (in Lutil/conpool/Connection;) │ │ @@ -59459,21 +59459,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 │ │ -02a078: |[02a078] util.conpool.Connection.connect:(Ljava/net/InetSocketAddress;I)Lutil/conpool/Connection; │ │ -02a088: 1200 |0000: const/4 v0, #int 0 // #0 │ │ -02a08a: 6201 1b03 |0001: sget-object v1, Ljava/net/Proxy;.NO_PROXY:Ljava/net/Proxy; // field@031b │ │ -02a08e: 1202 |0003: const/4 v2, #int 0 // #0 │ │ -02a090: 7151 b307 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@07b3 │ │ -02a096: 0c03 |0007: move-result-object v3 │ │ -02a098: 1103 |0008: return-object v3 │ │ +02a074: |[02a074] util.conpool.Connection.connect:(Ljava/net/InetSocketAddress;I)Lutil/conpool/Connection; │ │ +02a084: 1200 |0000: const/4 v0, #int 0 // #0 │ │ +02a086: 6201 1b03 |0001: sget-object v1, Ljava/net/Proxy;.NO_PROXY:Ljava/net/Proxy; // field@031b │ │ +02a08a: 1202 |0003: const/4 v2, #int 0 // #0 │ │ +02a08c: 7151 b307 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@07b3 │ │ +02a092: 0c03 |0007: move-result-object v3 │ │ +02a094: 1103 |0008: return-object v3 │ │ catches : (none) │ │ positions : │ │ 0x0001 line=116 │ │ locals : │ │ 0x0000 - 0x0009 reg=3 (null) Ljava/net/InetSocketAddress; │ │ 0x0000 - 0x0009 reg=4 (null) I │ │ │ │ @@ -59482,44 +59482,44 @@ │ │ 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 : 49 16-bit code units │ │ -02a09c: |[02a09c] util.conpool.Connection.connect:(Ljava/net/InetSocketAddress;IZLjavax/net/ssl/SSLSocketFactory;Ljava/net/Proxy;)Lutil/conpool/Connection; │ │ -02a0ac: 6e10 dc05 0700 |0000: invoke-virtual {v7}, Ljava/net/InetSocketAddress;.getAddress:()Ljava/net/InetAddress; // method@05dc │ │ -02a0b2: 0c00 |0003: move-result-object v0 │ │ -02a0b4: 6e10 d605 0000 |0004: invoke-virtual {v0}, Ljava/net/InetAddress;.getHostAddress:()Ljava/lang/String; // method@05d6 │ │ -02a0ba: 0c00 |0007: move-result-object v0 │ │ -02a0bc: 6e10 de05 0700 |0008: invoke-virtual {v7}, Ljava/net/InetSocketAddress;.getPort:()I // method@05de │ │ -02a0c2: 0a01 |000b: move-result v1 │ │ -02a0c4: 7140 c107 10b9 |000c: invoke-static {v0, v1, v9, v11}, Lutil/conpool/Connection;.poolKey:(Ljava/lang/String;IZLjava/net/Proxy;)Ljava/lang/String; // method@07c1 │ │ -02a0ca: 0c00 |000f: move-result-object v0 │ │ -02a0cc: 7110 c207 0000 |0010: invoke-static {v0}, Lutil/conpool/Connection;.poolRemove:(Ljava/lang/String;)Lutil/conpool/Connection; // method@07c2 │ │ -02a0d2: 0c00 |0013: move-result-object v0 │ │ -02a0d4: 3900 0d00 |0014: if-nez v0, 0021 // +000d │ │ -02a0d8: 2200 9301 |0016: new-instance v0, Lutil/conpool/Connection; // type@0193 │ │ -02a0dc: 0701 |0018: move-object v1, v0 │ │ -02a0de: 0772 |0019: move-object v2, v7 │ │ -02a0e0: 0183 |001a: move v3, v8 │ │ -02a0e2: 0194 |001b: move v4, v9 │ │ -02a0e4: 07a5 |001c: move-object v5, v10 │ │ -02a0e6: 07b6 |001d: move-object v6, v11 │ │ -02a0e8: 7606 ab07 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@07ab │ │ -02a0ee: 7010 bd07 0000 |0021: invoke-direct {v0}, Lutil/conpool/Connection;.initStreams:()V // method@07bd │ │ -02a0f4: 6207 8203 |0024: sget-object v7, Lutil/conpool/Connection;.connAcquired:Ljava/util/HashSet; // field@0382 │ │ -02a0f8: 1d07 |0026: monitor-enter v7 │ │ -02a0fa: 6208 8203 |0027: sget-object v8, Lutil/conpool/Connection;.connAcquired:Ljava/util/HashSet; // field@0382 │ │ -02a0fe: 6e20 3006 0800 |0029: invoke-virtual {v8, v0}, Ljava/util/HashSet;.add:(Ljava/lang/Object;)Z // method@0630 │ │ -02a104: 1e07 |002c: monitor-exit v7 │ │ -02a106: 1100 |002d: return-object v0 │ │ -02a108: 0d08 |002e: move-exception v8 │ │ -02a10a: 1e07 |002f: monitor-exit v7 │ │ -02a10c: 2708 |0030: throw v8 │ │ +02a098: |[02a098] util.conpool.Connection.connect:(Ljava/net/InetSocketAddress;IZLjavax/net/ssl/SSLSocketFactory;Ljava/net/Proxy;)Lutil/conpool/Connection; │ │ +02a0a8: 6e10 dc05 0700 |0000: invoke-virtual {v7}, Ljava/net/InetSocketAddress;.getAddress:()Ljava/net/InetAddress; // method@05dc │ │ +02a0ae: 0c00 |0003: move-result-object v0 │ │ +02a0b0: 6e10 d605 0000 |0004: invoke-virtual {v0}, Ljava/net/InetAddress;.getHostAddress:()Ljava/lang/String; // method@05d6 │ │ +02a0b6: 0c00 |0007: move-result-object v0 │ │ +02a0b8: 6e10 de05 0700 |0008: invoke-virtual {v7}, Ljava/net/InetSocketAddress;.getPort:()I // method@05de │ │ +02a0be: 0a01 |000b: move-result v1 │ │ +02a0c0: 7140 c107 10b9 |000c: invoke-static {v0, v1, v9, v11}, Lutil/conpool/Connection;.poolKey:(Ljava/lang/String;IZLjava/net/Proxy;)Ljava/lang/String; // method@07c1 │ │ +02a0c6: 0c00 |000f: move-result-object v0 │ │ +02a0c8: 7110 c207 0000 |0010: invoke-static {v0}, Lutil/conpool/Connection;.poolRemove:(Ljava/lang/String;)Lutil/conpool/Connection; // method@07c2 │ │ +02a0ce: 0c00 |0013: move-result-object v0 │ │ +02a0d0: 3900 0d00 |0014: if-nez v0, 0021 // +000d │ │ +02a0d4: 2200 9301 |0016: new-instance v0, Lutil/conpool/Connection; // type@0193 │ │ +02a0d8: 0701 |0018: move-object v1, v0 │ │ +02a0da: 0772 |0019: move-object v2, v7 │ │ +02a0dc: 0183 |001a: move v3, v8 │ │ +02a0de: 0194 |001b: move v4, v9 │ │ +02a0e0: 07a5 |001c: move-object v5, v10 │ │ +02a0e2: 07b6 |001d: move-object v6, v11 │ │ +02a0e4: 7606 ab07 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@07ab │ │ +02a0ea: 7010 bd07 0000 |0021: invoke-direct {v0}, Lutil/conpool/Connection;.initStreams:()V // method@07bd │ │ +02a0f0: 6207 8203 |0024: sget-object v7, Lutil/conpool/Connection;.connAcquired:Ljava/util/HashSet; // field@0382 │ │ +02a0f4: 1d07 |0026: monitor-enter v7 │ │ +02a0f6: 6208 8203 |0027: sget-object v8, Lutil/conpool/Connection;.connAcquired:Ljava/util/HashSet; // field@0382 │ │ +02a0fa: 6e20 3006 0800 |0029: invoke-virtual {v8, v0}, Ljava/util/HashSet;.add:(Ljava/lang/Object;)Z // method@0630 │ │ +02a100: 1e07 |002c: monitor-exit v7 │ │ +02a102: 1100 |002d: return-object v0 │ │ +02a104: 0d08 |002e: move-exception v8 │ │ +02a106: 1e07 |002f: monitor-exit v7 │ │ +02a108: 2708 |0030: throw v8 │ │ catches : 1 │ │ 0x0027 - 0x0030 │ │ -> 0x002e │ │ positions : │ │ 0x0000 line=104 │ │ 0x0016 line=106 │ │ 0x0021 line=108 │ │ @@ -59538,95 +59538,95 @@ │ │ type : '()V' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 7 │ │ ins : 1 │ │ outs : 5 │ │ insns size : 163 16-bit code units │ │ -02a420: |[02a420] util.conpool.Connection.establishConnection:()V │ │ -02a430: 5260 8103 |0000: iget v0, v6, Lutil/conpool/Connection;.conTimeout:I // field@0381 │ │ -02a434: 1201 |0002: const/4 v1, #int 0 // #0 │ │ -02a436: 3b00 0400 |0003: if-gez v0, 0007 // +0004 │ │ -02a43a: 5961 8103 |0005: iput v1, v6, Lutil/conpool/Connection;.conTimeout:I // field@0381 │ │ -02a43e: 5460 8803 |0007: iget-object v0, v6, Lutil/conpool/Connection;.proxy:Ljava/net/Proxy; // field@0388 │ │ -02a442: 6202 1b03 |0009: sget-object v2, Ljava/net/Proxy;.NO_PROXY:Ljava/net/Proxy; // field@031b │ │ -02a446: 1213 |000b: const/4 v3, #int 1 // #1 │ │ -02a448: 3320 1f00 |000c: if-ne v0, v2, 002b // +001f │ │ -02a44c: 7100 1306 0000 |000e: invoke-static {}, Ljava/nio/channels/SocketChannel;.open:()Ljava/nio/channels/SocketChannel; // method@0613 │ │ -02a452: 0c00 |0011: move-result-object v0 │ │ -02a454: 6e10 1406 0000 |0012: invoke-virtual {v0}, Ljava/nio/channels/SocketChannel;.socket:()Ljava/net/Socket; // method@0614 │ │ -02a45a: 0c00 |0015: move-result-object v0 │ │ -02a45c: 5b60 8a03 |0016: iput-object v0, v6, Lutil/conpool/Connection;.socket:Ljava/net/Socket; // field@038a │ │ -02a460: 7100 d406 0000 |0018: invoke-static {}, Lutil/ExecutionEnvironment;.getEnvironment:()Lutil/ExecutionEnvironmentInterface; // method@06d4 │ │ -02a466: 0c00 |001b: move-result-object v0 │ │ -02a468: 5462 8a03 |001c: iget-object v2, v6, Lutil/conpool/Connection;.socket:Ljava/net/Socket; // field@038a │ │ -02a46c: 7230 e806 2001 |001e: invoke-interface {v0, v2, v1}, Lutil/ExecutionEnvironmentInterface;.protectSocket:(Ljava/lang/Object;I)Z // method@06e8 │ │ -02a472: 5460 8a03 |0021: iget-object v0, v6, Lutil/conpool/Connection;.socket:Ljava/net/Socket; // field@038a │ │ -02a476: 5462 8903 |0023: iget-object v2, v6, Lutil/conpool/Connection;.sadr:Ljava/net/InetSocketAddress; // field@0389 │ │ -02a47a: 5264 8103 |0025: iget v4, v6, Lutil/conpool/Connection;.conTimeout:I // field@0381 │ │ -02a47e: 6e30 eb05 2004 |0027: invoke-virtual {v0, v2, v4}, Ljava/net/Socket;.connect:(Ljava/net/SocketAddress;I)V // method@05eb │ │ -02a484: 2813 |002a: goto 003d // +0013 │ │ -02a486: 5460 8803 |002b: iget-object v0, v6, Lutil/conpool/Connection;.proxy:Ljava/net/Proxy; // field@0388 │ │ -02a48a: 2002 9401 |002d: instance-of v2, v0, Lutil/conpool/HttpProxy; // type@0194 │ │ -02a48e: 3802 5500 |002f: if-eqz v2, 0084 // +0055 │ │ -02a492: 1f00 9401 |0031: check-cast v0, Lutil/conpool/HttpProxy; // type@0194 │ │ -02a496: 5462 8903 |0033: iget-object v2, v6, Lutil/conpool/Connection;.sadr:Ljava/net/InetSocketAddress; // field@0389 │ │ -02a49a: 5264 8103 |0035: iget v4, v6, Lutil/conpool/Connection;.conTimeout:I // field@0381 │ │ -02a49e: 6e40 cd07 2034 |0037: invoke-virtual {v0, v2, v4, v3}, Lutil/conpool/HttpProxy;.openTunnel:(Ljava/net/InetSocketAddress;IZ)Ljava/net/Socket; // method@07cd │ │ -02a4a4: 0c00 |003a: move-result-object v0 │ │ -02a4a6: 5b60 8a03 |003b: iput-object v0, v6, Lutil/conpool/Connection;.socket:Ljava/net/Socket; // field@038a │ │ -02a4aa: 5560 8d03 |003d: iget-boolean v0, v6, Lutil/conpool/Connection;.ssl:Z // field@038d │ │ -02a4ae: 3800 2b00 |003f: if-eqz v0, 006a // +002b │ │ -02a4b2: 5460 8a03 |0041: iget-object v0, v6, Lutil/conpool/Connection;.socket:Ljava/net/Socket; // field@038a │ │ -02a4b6: 5262 8103 |0043: iget v2, v6, Lutil/conpool/Connection;.conTimeout:I // field@0381 │ │ -02a4ba: 6e20 ef05 2000 |0045: invoke-virtual {v0, v2}, Ljava/net/Socket;.setSoTimeout:(I)V // method@05ef │ │ -02a4c0: 5460 8e03 |0048: iget-object v0, v6, Lutil/conpool/Connection;.sslSocketFactory:Ljavax/net/ssl/SSLSocketFactory; // field@038e │ │ -02a4c4: 3900 0800 |004a: if-nez v0, 0052 // +0008 │ │ -02a4c8: 7010 b607 0600 |004c: invoke-direct {v6}, Lutil/conpool/Connection;.getDefaultSSLSocketFactory:()Ljavax/net/ssl/SSLSocketFactory; // method@07b6 │ │ -02a4ce: 0c00 |004f: move-result-object v0 │ │ -02a4d0: 5b60 8e03 |0050: iput-object v0, v6, Lutil/conpool/Connection;.sslSocketFactory:Ljavax/net/ssl/SSLSocketFactory; // field@038e │ │ -02a4d4: 5460 8e03 |0052: iget-object v0, v6, Lutil/conpool/Connection;.sslSocketFactory:Ljavax/net/ssl/SSLSocketFactory; // field@038e │ │ -02a4d8: 5462 8a03 |0054: iget-object v2, v6, Lutil/conpool/Connection;.socket:Ljava/net/Socket; // field@038a │ │ -02a4dc: 5464 8903 |0056: iget-object v4, v6, Lutil/conpool/Connection;.sadr:Ljava/net/InetSocketAddress; // field@0389 │ │ -02a4e0: 6e10 dd05 0400 |0058: invoke-virtual {v4}, Ljava/net/InetSocketAddress;.getHostName:()Ljava/lang/String; // method@05dd │ │ -02a4e6: 0c04 |005b: move-result-object v4 │ │ -02a4e8: 5465 8903 |005c: iget-object v5, v6, Lutil/conpool/Connection;.sadr:Ljava/net/InetSocketAddress; // field@0389 │ │ -02a4ec: 6e10 de05 0500 |005e: invoke-virtual {v5}, Ljava/net/InetSocketAddress;.getPort:()I // method@05de │ │ -02a4f2: 0a05 |0061: move-result v5 │ │ -02a4f4: 6e53 aa06 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@06aa │ │ -02a4fa: 0c00 |0065: move-result-object v0 │ │ -02a4fc: 5b60 8a03 |0066: iput-object v0, v6, Lutil/conpool/Connection;.socket:Ljava/net/Socket; // field@038a │ │ -02a500: 5c63 8d03 |0068: iput-boolean v3, v6, Lutil/conpool/Connection;.ssl:Z // field@038d │ │ -02a504: 5460 8a03 |006a: iget-object v0, v6, Lutil/conpool/Connection;.socket:Ljava/net/Socket; // field@038a │ │ -02a508: 6e10 ec05 0000 |006c: invoke-virtual {v0}, Ljava/net/Socket;.getInputStream:()Ljava/io/InputStream; // method@05ec │ │ -02a50e: 0c00 |006f: move-result-object v0 │ │ -02a510: 5b60 8b03 |0070: iput-object v0, v6, Lutil/conpool/Connection;.socketIn:Ljava/io/InputStream; // field@038b │ │ -02a514: 5460 8a03 |0072: iget-object v0, v6, Lutil/conpool/Connection;.socket:Ljava/net/Socket; // field@038a │ │ -02a518: 6e10 ed05 0000 |0074: invoke-virtual {v0}, Ljava/net/Socket;.getOutputStream:()Ljava/io/OutputStream; // method@05ed │ │ -02a51e: 0c00 |0077: move-result-object v0 │ │ -02a520: 5b60 8c03 |0078: iput-object v0, v6, Lutil/conpool/Connection;.socketOut:Ljava/io/OutputStream; // field@038c │ │ -02a524: 5560 8d03 |007a: iget-boolean v0, v6, Lutil/conpool/Connection;.ssl:Z // field@038d │ │ -02a528: 3800 0700 |007c: if-eqz v0, 0083 // +0007 │ │ -02a52c: 5460 8a03 |007e: iget-object v0, v6, Lutil/conpool/Connection;.socket:Ljava/net/Socket; // field@038a │ │ -02a530: 6e20 ef05 1000 |0080: invoke-virtual {v0, v1}, Ljava/net/Socket;.setSoTimeout:(I)V // method@05ef │ │ -02a536: 0e00 |0083: return-void │ │ -02a538: 2200 0001 |0084: new-instance v0, Ljava/io/IOException; // type@0100 │ │ -02a53c: 2201 2d01 |0086: new-instance v1, Ljava/lang/StringBuilder; // type@012d │ │ -02a540: 1a02 fe03 |0088: const-string v2, "Only " // string@03fe │ │ -02a544: 7020 aa05 2100 |008a: invoke-direct {v1, v2}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05aa │ │ -02a54a: 1c02 9401 |008d: const-class v2, Lutil/conpool/HttpProxy; // type@0194 │ │ -02a54e: 6e10 5605 0200 |008f: invoke-virtual {v2}, Ljava/lang/Class;.getName:()Ljava/lang/String; // method@0556 │ │ -02a554: 0c02 |0092: move-result-object v2 │ │ -02a556: 6e20 af05 2100 |0093: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -02a55c: 1a02 2600 |0096: const-string v2, " supported for creating connection over tunnel!" // string@0026 │ │ -02a560: 6e20 af05 2100 |0098: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -02a566: 6e10 b105 0100 |009b: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ -02a56c: 0c01 |009e: move-result-object v1 │ │ -02a56e: 7020 2105 1000 |009f: invoke-direct {v0, v1}, Ljava/io/IOException;.:(Ljava/lang/String;)V // method@0521 │ │ -02a574: 2700 |00a2: throw v0 │ │ +02a41c: |[02a41c] util.conpool.Connection.establishConnection:()V │ │ +02a42c: 5260 8103 |0000: iget v0, v6, Lutil/conpool/Connection;.conTimeout:I // field@0381 │ │ +02a430: 1201 |0002: const/4 v1, #int 0 // #0 │ │ +02a432: 3b00 0400 |0003: if-gez v0, 0007 // +0004 │ │ +02a436: 5961 8103 |0005: iput v1, v6, Lutil/conpool/Connection;.conTimeout:I // field@0381 │ │ +02a43a: 5460 8803 |0007: iget-object v0, v6, Lutil/conpool/Connection;.proxy:Ljava/net/Proxy; // field@0388 │ │ +02a43e: 6202 1b03 |0009: sget-object v2, Ljava/net/Proxy;.NO_PROXY:Ljava/net/Proxy; // field@031b │ │ +02a442: 1213 |000b: const/4 v3, #int 1 // #1 │ │ +02a444: 3320 1f00 |000c: if-ne v0, v2, 002b // +001f │ │ +02a448: 7100 1306 0000 |000e: invoke-static {}, Ljava/nio/channels/SocketChannel;.open:()Ljava/nio/channels/SocketChannel; // method@0613 │ │ +02a44e: 0c00 |0011: move-result-object v0 │ │ +02a450: 6e10 1406 0000 |0012: invoke-virtual {v0}, Ljava/nio/channels/SocketChannel;.socket:()Ljava/net/Socket; // method@0614 │ │ +02a456: 0c00 |0015: move-result-object v0 │ │ +02a458: 5b60 8a03 |0016: iput-object v0, v6, Lutil/conpool/Connection;.socket:Ljava/net/Socket; // field@038a │ │ +02a45c: 7100 d406 0000 |0018: invoke-static {}, Lutil/ExecutionEnvironment;.getEnvironment:()Lutil/ExecutionEnvironmentInterface; // method@06d4 │ │ +02a462: 0c00 |001b: move-result-object v0 │ │ +02a464: 5462 8a03 |001c: iget-object v2, v6, Lutil/conpool/Connection;.socket:Ljava/net/Socket; // field@038a │ │ +02a468: 7230 e806 2001 |001e: invoke-interface {v0, v2, v1}, Lutil/ExecutionEnvironmentInterface;.protectSocket:(Ljava/lang/Object;I)Z // method@06e8 │ │ +02a46e: 5460 8a03 |0021: iget-object v0, v6, Lutil/conpool/Connection;.socket:Ljava/net/Socket; // field@038a │ │ +02a472: 5462 8903 |0023: iget-object v2, v6, Lutil/conpool/Connection;.sadr:Ljava/net/InetSocketAddress; // field@0389 │ │ +02a476: 5264 8103 |0025: iget v4, v6, Lutil/conpool/Connection;.conTimeout:I // field@0381 │ │ +02a47a: 6e30 eb05 2004 |0027: invoke-virtual {v0, v2, v4}, Ljava/net/Socket;.connect:(Ljava/net/SocketAddress;I)V // method@05eb │ │ +02a480: 2813 |002a: goto 003d // +0013 │ │ +02a482: 5460 8803 |002b: iget-object v0, v6, Lutil/conpool/Connection;.proxy:Ljava/net/Proxy; // field@0388 │ │ +02a486: 2002 9401 |002d: instance-of v2, v0, Lutil/conpool/HttpProxy; // type@0194 │ │ +02a48a: 3802 5500 |002f: if-eqz v2, 0084 // +0055 │ │ +02a48e: 1f00 9401 |0031: check-cast v0, Lutil/conpool/HttpProxy; // type@0194 │ │ +02a492: 5462 8903 |0033: iget-object v2, v6, Lutil/conpool/Connection;.sadr:Ljava/net/InetSocketAddress; // field@0389 │ │ +02a496: 5264 8103 |0035: iget v4, v6, Lutil/conpool/Connection;.conTimeout:I // field@0381 │ │ +02a49a: 6e40 cd07 2034 |0037: invoke-virtual {v0, v2, v4, v3}, Lutil/conpool/HttpProxy;.openTunnel:(Ljava/net/InetSocketAddress;IZ)Ljava/net/Socket; // method@07cd │ │ +02a4a0: 0c00 |003a: move-result-object v0 │ │ +02a4a2: 5b60 8a03 |003b: iput-object v0, v6, Lutil/conpool/Connection;.socket:Ljava/net/Socket; // field@038a │ │ +02a4a6: 5560 8d03 |003d: iget-boolean v0, v6, Lutil/conpool/Connection;.ssl:Z // field@038d │ │ +02a4aa: 3800 2b00 |003f: if-eqz v0, 006a // +002b │ │ +02a4ae: 5460 8a03 |0041: iget-object v0, v6, Lutil/conpool/Connection;.socket:Ljava/net/Socket; // field@038a │ │ +02a4b2: 5262 8103 |0043: iget v2, v6, Lutil/conpool/Connection;.conTimeout:I // field@0381 │ │ +02a4b6: 6e20 ef05 2000 |0045: invoke-virtual {v0, v2}, Ljava/net/Socket;.setSoTimeout:(I)V // method@05ef │ │ +02a4bc: 5460 8e03 |0048: iget-object v0, v6, Lutil/conpool/Connection;.sslSocketFactory:Ljavax/net/ssl/SSLSocketFactory; // field@038e │ │ +02a4c0: 3900 0800 |004a: if-nez v0, 0052 // +0008 │ │ +02a4c4: 7010 b607 0600 |004c: invoke-direct {v6}, Lutil/conpool/Connection;.getDefaultSSLSocketFactory:()Ljavax/net/ssl/SSLSocketFactory; // method@07b6 │ │ +02a4ca: 0c00 |004f: move-result-object v0 │ │ +02a4cc: 5b60 8e03 |0050: iput-object v0, v6, Lutil/conpool/Connection;.sslSocketFactory:Ljavax/net/ssl/SSLSocketFactory; // field@038e │ │ +02a4d0: 5460 8e03 |0052: iget-object v0, v6, Lutil/conpool/Connection;.sslSocketFactory:Ljavax/net/ssl/SSLSocketFactory; // field@038e │ │ +02a4d4: 5462 8a03 |0054: iget-object v2, v6, Lutil/conpool/Connection;.socket:Ljava/net/Socket; // field@038a │ │ +02a4d8: 5464 8903 |0056: iget-object v4, v6, Lutil/conpool/Connection;.sadr:Ljava/net/InetSocketAddress; // field@0389 │ │ +02a4dc: 6e10 dd05 0400 |0058: invoke-virtual {v4}, Ljava/net/InetSocketAddress;.getHostName:()Ljava/lang/String; // method@05dd │ │ +02a4e2: 0c04 |005b: move-result-object v4 │ │ +02a4e4: 5465 8903 |005c: iget-object v5, v6, Lutil/conpool/Connection;.sadr:Ljava/net/InetSocketAddress; // field@0389 │ │ +02a4e8: 6e10 de05 0500 |005e: invoke-virtual {v5}, Ljava/net/InetSocketAddress;.getPort:()I // method@05de │ │ +02a4ee: 0a05 |0061: move-result v5 │ │ +02a4f0: 6e53 aa06 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@06aa │ │ +02a4f6: 0c00 |0065: move-result-object v0 │ │ +02a4f8: 5b60 8a03 |0066: iput-object v0, v6, Lutil/conpool/Connection;.socket:Ljava/net/Socket; // field@038a │ │ +02a4fc: 5c63 8d03 |0068: iput-boolean v3, v6, Lutil/conpool/Connection;.ssl:Z // field@038d │ │ +02a500: 5460 8a03 |006a: iget-object v0, v6, Lutil/conpool/Connection;.socket:Ljava/net/Socket; // field@038a │ │ +02a504: 6e10 ec05 0000 |006c: invoke-virtual {v0}, Ljava/net/Socket;.getInputStream:()Ljava/io/InputStream; // method@05ec │ │ +02a50a: 0c00 |006f: move-result-object v0 │ │ +02a50c: 5b60 8b03 |0070: iput-object v0, v6, Lutil/conpool/Connection;.socketIn:Ljava/io/InputStream; // field@038b │ │ +02a510: 5460 8a03 |0072: iget-object v0, v6, Lutil/conpool/Connection;.socket:Ljava/net/Socket; // field@038a │ │ +02a514: 6e10 ed05 0000 |0074: invoke-virtual {v0}, Ljava/net/Socket;.getOutputStream:()Ljava/io/OutputStream; // method@05ed │ │ +02a51a: 0c00 |0077: move-result-object v0 │ │ +02a51c: 5b60 8c03 |0078: iput-object v0, v6, Lutil/conpool/Connection;.socketOut:Ljava/io/OutputStream; // field@038c │ │ +02a520: 5560 8d03 |007a: iget-boolean v0, v6, Lutil/conpool/Connection;.ssl:Z // field@038d │ │ +02a524: 3800 0700 |007c: if-eqz v0, 0083 // +0007 │ │ +02a528: 5460 8a03 |007e: iget-object v0, v6, Lutil/conpool/Connection;.socket:Ljava/net/Socket; // field@038a │ │ +02a52c: 6e20 ef05 1000 |0080: invoke-virtual {v0, v1}, Ljava/net/Socket;.setSoTimeout:(I)V // method@05ef │ │ +02a532: 0e00 |0083: return-void │ │ +02a534: 2200 0001 |0084: new-instance v0, Ljava/io/IOException; // type@0100 │ │ +02a538: 2201 2d01 |0086: new-instance v1, Ljava/lang/StringBuilder; // type@012d │ │ +02a53c: 1a02 fe03 |0088: const-string v2, "Only " // string@03fe │ │ +02a540: 7020 aa05 2100 |008a: invoke-direct {v1, v2}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05aa │ │ +02a546: 1c02 9401 |008d: const-class v2, Lutil/conpool/HttpProxy; // type@0194 │ │ +02a54a: 6e10 5605 0200 |008f: invoke-virtual {v2}, Ljava/lang/Class;.getName:()Ljava/lang/String; // method@0556 │ │ +02a550: 0c02 |0092: move-result-object v2 │ │ +02a552: 6e20 af05 2100 |0093: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +02a558: 1a02 2600 |0096: const-string v2, " supported for creating connection over tunnel!" // string@0026 │ │ +02a55c: 6e20 af05 2100 |0098: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +02a562: 6e10 b105 0100 |009b: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ +02a568: 0c01 |009e: move-result-object v1 │ │ +02a56a: 7020 2105 1000 |009f: invoke-direct {v0, v1}, Ljava/io/IOException;.:(Ljava/lang/String;)V // method@0521 │ │ +02a570: 2700 |00a2: throw v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=236 │ │ 0x0005 line=237 │ │ 0x0007 line=239 │ │ 0x000e line=240 │ │ 0x0018 line=241 │ │ @@ -59652,65 +59652,65 @@ │ │ type : '()Ljava/util/Hashtable;' │ │ access : 0x000a (PRIVATE STATIC) │ │ code - │ │ registers : 5 │ │ ins : 0 │ │ outs : 3 │ │ insns size : 98 16-bit code units │ │ -029da8: |[029da8] util.conpool.Connection.getCustomHosts:()Ljava/util/Hashtable; │ │ -029db8: 6200 7d03 |0000: sget-object v0, Lutil/conpool/Connection;.CUSTOM_HOSTS_FILE_NAME:Ljava/lang/String; // field@037d │ │ -029dbc: 1201 |0002: const/4 v1, #int 0 // #0 │ │ -029dbe: 3900 0300 |0003: if-nez v0, 0006 // +0003 │ │ -029dc2: 1101 |0005: return-object v1 │ │ -029dc4: 2200 fb00 |0006: new-instance v0, Ljava/io/File; // type@00fb │ │ -029dc8: 2202 2d01 |0008: new-instance v2, Ljava/lang/StringBuilder; // type@012d │ │ -029dcc: 7010 a905 0200 |000a: invoke-direct {v2}, Ljava/lang/StringBuilder;.:()V // method@05a9 │ │ -029dd2: 7100 d406 0000 |000d: invoke-static {}, Lutil/ExecutionEnvironment;.getEnvironment:()Lutil/ExecutionEnvironmentInterface; // method@06d4 │ │ -029dd8: 0c03 |0010: move-result-object v3 │ │ -029dda: 7210 e406 0300 |0011: invoke-interface {v3}, Lutil/ExecutionEnvironmentInterface;.getWorkDir:()Ljava/lang/String; // method@06e4 │ │ -029de0: 0c03 |0014: move-result-object v3 │ │ -029de2: 6e20 af05 3200 |0015: invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -029de8: 6203 7d03 |0018: sget-object v3, Lutil/conpool/Connection;.CUSTOM_HOSTS_FILE_NAME:Ljava/lang/String; // field@037d │ │ -029dec: 6e20 af05 3200 |001a: invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -029df2: 6e10 b105 0200 |001d: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ -029df8: 0c02 |0020: move-result-object v2 │ │ -029dfa: 7020 0105 2000 |0021: invoke-direct {v0, v2}, Ljava/io/File;.:(Ljava/lang/String;)V // method@0501 │ │ -029e00: 6e10 0705 0000 |0024: invoke-virtual {v0}, Ljava/io/File;.exists:()Z // method@0507 │ │ -029e06: 0a02 |0027: move-result v2 │ │ -029e08: 3802 3900 |0028: if-eqz v2, 0061 // +0039 │ │ -029e0c: 2202 5a01 |002a: new-instance v2, Ljava/util/Hashtable; // type@015a │ │ -029e10: 7010 3806 0200 |002c: invoke-direct {v2}, Ljava/util/Hashtable;.:()V // method@0638 │ │ -029e16: 2201 f400 |002f: new-instance v1, Ljava/io/BufferedReader; // type@00f4 │ │ -029e1a: 2203 0201 |0031: new-instance v3, Ljava/io/InputStreamReader; // type@0102 │ │ -029e1e: 2204 fd00 |0033: new-instance v4, Ljava/io/FileInputStream; // type@00fd │ │ -029e22: 7020 1305 0400 |0035: invoke-direct {v4, v0}, Ljava/io/FileInputStream;.:(Ljava/io/File;)V // method@0513 │ │ -029e28: 7020 2d05 4300 |0038: invoke-direct {v3, v4}, Ljava/io/InputStreamReader;.:(Ljava/io/InputStream;)V // method@052d │ │ -029e2e: 7020 da04 3100 |003b: invoke-direct {v1, v3}, Ljava/io/BufferedReader;.:(Ljava/io/Reader;)V // method@04da │ │ -029e34: 6e10 dc04 0100 |003e: invoke-virtual {v1}, Ljava/io/BufferedReader;.readLine:()Ljava/lang/String; // method@04dc │ │ -029e3a: 0c00 |0041: move-result-object v0 │ │ -029e3c: 3800 1600 |0042: if-eqz v0, 0058 // +0016 │ │ -029e40: 7110 c007 0000 |0044: invoke-static {v0}, Lutil/conpool/Connection;.parseHosts:(Ljava/lang/String;)[Ljava/lang/String; // method@07c0 │ │ -029e46: 0c00 |0047: move-result-object v0 │ │ -029e48: 3800 f6ff |0048: if-eqz v0, 003e // -000a │ │ -029e4c: 1213 |004a: const/4 v3, #int 1 // #1 │ │ -029e4e: 4603 0003 |004b: aget-object v3, v0, v3 │ │ -029e52: 1204 |004d: const/4 v4, #int 0 // #0 │ │ -029e54: 4600 0004 |004e: aget-object v0, v0, v4 │ │ -029e58: 7110 d505 0000 |0050: invoke-static {v0}, Ljava/net/InetAddress;.getByName:(Ljava/lang/String;)Ljava/net/InetAddress; // method@05d5 │ │ -029e5e: 0c00 |0053: move-result-object v0 │ │ -029e60: 6e30 3a06 3200 |0054: invoke-virtual {v2, v3, v0}, Ljava/util/Hashtable;.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; // method@063a │ │ -029e66: 28e7 |0057: goto 003e // -0019 │ │ -029e68: 0721 |0058: move-object v1, v2 │ │ -029e6a: 2808 |0059: goto 0061 // +0008 │ │ -029e6c: 0d00 |005a: move-exception v0 │ │ -029e6e: 0721 |005b: move-object v1, v2 │ │ -029e70: 2802 |005c: goto 005e // +0002 │ │ -029e72: 0d00 |005d: move-exception v0 │ │ -029e74: 6e10 2505 0000 |005e: invoke-virtual {v0}, Ljava/io/IOException;.printStackTrace:()V // method@0525 │ │ -029e7a: 1101 |0061: return-object v1 │ │ +029da4: |[029da4] util.conpool.Connection.getCustomHosts:()Ljava/util/Hashtable; │ │ +029db4: 6200 7d03 |0000: sget-object v0, Lutil/conpool/Connection;.CUSTOM_HOSTS_FILE_NAME:Ljava/lang/String; // field@037d │ │ +029db8: 1201 |0002: const/4 v1, #int 0 // #0 │ │ +029dba: 3900 0300 |0003: if-nez v0, 0006 // +0003 │ │ +029dbe: 1101 |0005: return-object v1 │ │ +029dc0: 2200 fb00 |0006: new-instance v0, Ljava/io/File; // type@00fb │ │ +029dc4: 2202 2d01 |0008: new-instance v2, Ljava/lang/StringBuilder; // type@012d │ │ +029dc8: 7010 a905 0200 |000a: invoke-direct {v2}, Ljava/lang/StringBuilder;.:()V // method@05a9 │ │ +029dce: 7100 d406 0000 |000d: invoke-static {}, Lutil/ExecutionEnvironment;.getEnvironment:()Lutil/ExecutionEnvironmentInterface; // method@06d4 │ │ +029dd4: 0c03 |0010: move-result-object v3 │ │ +029dd6: 7210 e406 0300 |0011: invoke-interface {v3}, Lutil/ExecutionEnvironmentInterface;.getWorkDir:()Ljava/lang/String; // method@06e4 │ │ +029ddc: 0c03 |0014: move-result-object v3 │ │ +029dde: 6e20 af05 3200 |0015: invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +029de4: 6203 7d03 |0018: sget-object v3, Lutil/conpool/Connection;.CUSTOM_HOSTS_FILE_NAME:Ljava/lang/String; // field@037d │ │ +029de8: 6e20 af05 3200 |001a: invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +029dee: 6e10 b105 0200 |001d: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ +029df4: 0c02 |0020: move-result-object v2 │ │ +029df6: 7020 0105 2000 |0021: invoke-direct {v0, v2}, Ljava/io/File;.:(Ljava/lang/String;)V // method@0501 │ │ +029dfc: 6e10 0705 0000 |0024: invoke-virtual {v0}, Ljava/io/File;.exists:()Z // method@0507 │ │ +029e02: 0a02 |0027: move-result v2 │ │ +029e04: 3802 3900 |0028: if-eqz v2, 0061 // +0039 │ │ +029e08: 2202 5a01 |002a: new-instance v2, Ljava/util/Hashtable; // type@015a │ │ +029e0c: 7010 3806 0200 |002c: invoke-direct {v2}, Ljava/util/Hashtable;.:()V // method@0638 │ │ +029e12: 2201 f400 |002f: new-instance v1, Ljava/io/BufferedReader; // type@00f4 │ │ +029e16: 2203 0201 |0031: new-instance v3, Ljava/io/InputStreamReader; // type@0102 │ │ +029e1a: 2204 fd00 |0033: new-instance v4, Ljava/io/FileInputStream; // type@00fd │ │ +029e1e: 7020 1305 0400 |0035: invoke-direct {v4, v0}, Ljava/io/FileInputStream;.:(Ljava/io/File;)V // method@0513 │ │ +029e24: 7020 2d05 4300 |0038: invoke-direct {v3, v4}, Ljava/io/InputStreamReader;.:(Ljava/io/InputStream;)V // method@052d │ │ +029e2a: 7020 da04 3100 |003b: invoke-direct {v1, v3}, Ljava/io/BufferedReader;.:(Ljava/io/Reader;)V // method@04da │ │ +029e30: 6e10 dc04 0100 |003e: invoke-virtual {v1}, Ljava/io/BufferedReader;.readLine:()Ljava/lang/String; // method@04dc │ │ +029e36: 0c00 |0041: move-result-object v0 │ │ +029e38: 3800 1600 |0042: if-eqz v0, 0058 // +0016 │ │ +029e3c: 7110 c007 0000 |0044: invoke-static {v0}, Lutil/conpool/Connection;.parseHosts:(Ljava/lang/String;)[Ljava/lang/String; // method@07c0 │ │ +029e42: 0c00 |0047: move-result-object v0 │ │ +029e44: 3800 f6ff |0048: if-eqz v0, 003e // -000a │ │ +029e48: 1213 |004a: const/4 v3, #int 1 // #1 │ │ +029e4a: 4603 0003 |004b: aget-object v3, v0, v3 │ │ +029e4e: 1204 |004d: const/4 v4, #int 0 // #0 │ │ +029e50: 4600 0004 |004e: aget-object v0, v0, v4 │ │ +029e54: 7110 d505 0000 |0050: invoke-static {v0}, Ljava/net/InetAddress;.getByName:(Ljava/lang/String;)Ljava/net/InetAddress; // method@05d5 │ │ +029e5a: 0c00 |0053: move-result-object v0 │ │ +029e5c: 6e30 3a06 3200 |0054: invoke-virtual {v2, v3, v0}, Ljava/util/Hashtable;.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; // method@063a │ │ +029e62: 28e7 |0057: goto 003e // -0019 │ │ +029e64: 0721 |0058: move-object v1, v2 │ │ +029e66: 2808 |0059: goto 0061 // +0008 │ │ +029e68: 0d00 |005a: move-exception v0 │ │ +029e6a: 0721 |005b: move-object v1, v2 │ │ +029e6c: 2802 |005c: goto 005e // +0002 │ │ +029e6e: 0d00 |005d: move-exception v0 │ │ +029e70: 6e10 2505 0000 |005e: invoke-virtual {v0}, Ljava/io/IOException;.printStackTrace:()V // method@0525 │ │ +029e76: 1101 |0061: return-object v1 │ │ catches : 2 │ │ 0x0024 - 0x002f │ │ Ljava/io/IOException; -> 0x005d │ │ 0x002f - 0x0057 │ │ Ljava/io/IOException; -> 0x005a │ │ positions : │ │ 0x0000 line=166 │ │ @@ -59729,47 +59729,47 @@ │ │ type : '()Ljavax/net/ssl/SSLSocketFactory;' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 4 │ │ ins : 1 │ │ outs : 3 │ │ insns size : 60 16-bit code units │ │ -029e98: |[029e98] util.conpool.Connection.getDefaultSSLSocketFactory:()Ljavax/net/ssl/SSLSocketFactory; │ │ -029ea8: 6200 8403 |0000: sget-object v0, Lutil/conpool/Connection;.defaultSSLSocketFactory:Ljavax/net/ssl/SSLSocketFactory; // field@0384 │ │ -029eac: 3800 0300 |0002: if-eqz v0, 0005 // +0003 │ │ -029eb0: 1100 |0004: return-object v0 │ │ -029eb2: 7100 d406 0000 |0005: invoke-static {}, Lutil/ExecutionEnvironment;.getEnvironment:()Lutil/ExecutionEnvironmentInterface; // method@06d4 │ │ -029eb8: 0c00 |0008: move-result-object v0 │ │ -029eba: 7210 e206 0000 |0009: invoke-interface {v0}, Lutil/ExecutionEnvironmentInterface;.getEnvironmentID:()I // method@06e2 │ │ -029ec0: 0a00 |000c: move-result v0 │ │ -029ec2: 1211 |000d: const/4 v1, #int 1 // #1 │ │ -029ec4: 3310 1a00 |000e: if-ne v0, v1, 0028 // +001a │ │ -029ec8: 7100 d406 0000 |0010: invoke-static {}, Lutil/ExecutionEnvironment;.getEnvironment:()Lutil/ExecutionEnvironmentInterface; // method@06d4 │ │ -029ece: 0c00 |0013: move-result-object v0 │ │ -029ed0: 7210 e306 0000 |0014: invoke-interface {v0}, Lutil/ExecutionEnvironmentInterface;.getEnvironmentVersion:()Ljava/lang/String; // method@06e3 │ │ -029ed6: 0c00 |0017: move-result-object v0 │ │ -029ed8: 7110 6705 0000 |0018: invoke-static {v0}, Ljava/lang/Integer;.parseInt:(Ljava/lang/String;)I // method@0567 │ │ -029ede: 0a00 |001b: move-result v0 │ │ -029ee0: 1301 1500 |001c: const/16 v1, #int 21 // #15 │ │ -029ee4: 3510 0a00 |001e: if-ge v0, v1, 0028 // +000a │ │ -029ee8: 2200 9701 |0020: new-instance v0, Lutil/conpool/TLSSocketFactory; // type@0197 │ │ -029eec: 7010 de07 0000 |0022: invoke-direct {v0}, Lutil/conpool/TLSSocketFactory;.:()V // method@07de │ │ -029ef2: 6900 8403 |0025: sput-object v0, Lutil/conpool/Connection;.defaultSSLSocketFactory:Ljavax/net/ssl/SSLSocketFactory; // field@0384 │ │ -029ef6: 2809 |0027: goto 0030 // +0009 │ │ -029ef8: 7100 ab06 0000 |0028: invoke-static {}, Ljavax/net/ssl/SSLSocketFactory;.getDefault:()Ljavax/net/SocketFactory; // method@06ab │ │ -029efe: 0c00 |002b: move-result-object v0 │ │ -029f00: 1f00 7a01 |002c: check-cast v0, Ljavax/net/ssl/SSLSocketFactory; // type@017a │ │ -029f04: 6900 8403 |002e: sput-object v0, Lutil/conpool/Connection;.defaultSSLSocketFactory:Ljavax/net/ssl/SSLSocketFactory; // field@0384 │ │ -029f08: 6200 8403 |0030: sget-object v0, Lutil/conpool/Connection;.defaultSSLSocketFactory:Ljavax/net/ssl/SSLSocketFactory; // field@0384 │ │ -029f0c: 1100 |0032: return-object v0 │ │ -029f0e: 0d00 |0033: move-exception v0 │ │ -029f10: 2201 0001 |0034: new-instance v1, Ljava/io/IOException; // type@0100 │ │ -029f14: 1a02 f300 |0036: const-string v2, "Cannot get TLSSocketFactory" // string@00f3 │ │ -029f18: 7030 2205 2100 |0038: invoke-direct {v1, v2, v0}, Ljava/io/IOException;.:(Ljava/lang/String;Ljava/lang/Throwable;)V // method@0522 │ │ -029f1e: 2701 |003b: throw v1 │ │ +029e94: |[029e94] util.conpool.Connection.getDefaultSSLSocketFactory:()Ljavax/net/ssl/SSLSocketFactory; │ │ +029ea4: 6200 8403 |0000: sget-object v0, Lutil/conpool/Connection;.defaultSSLSocketFactory:Ljavax/net/ssl/SSLSocketFactory; // field@0384 │ │ +029ea8: 3800 0300 |0002: if-eqz v0, 0005 // +0003 │ │ +029eac: 1100 |0004: return-object v0 │ │ +029eae: 7100 d406 0000 |0005: invoke-static {}, Lutil/ExecutionEnvironment;.getEnvironment:()Lutil/ExecutionEnvironmentInterface; // method@06d4 │ │ +029eb4: 0c00 |0008: move-result-object v0 │ │ +029eb6: 7210 e206 0000 |0009: invoke-interface {v0}, Lutil/ExecutionEnvironmentInterface;.getEnvironmentID:()I // method@06e2 │ │ +029ebc: 0a00 |000c: move-result v0 │ │ +029ebe: 1211 |000d: const/4 v1, #int 1 // #1 │ │ +029ec0: 3310 1a00 |000e: if-ne v0, v1, 0028 // +001a │ │ +029ec4: 7100 d406 0000 |0010: invoke-static {}, Lutil/ExecutionEnvironment;.getEnvironment:()Lutil/ExecutionEnvironmentInterface; // method@06d4 │ │ +029eca: 0c00 |0013: move-result-object v0 │ │ +029ecc: 7210 e306 0000 |0014: invoke-interface {v0}, Lutil/ExecutionEnvironmentInterface;.getEnvironmentVersion:()Ljava/lang/String; // method@06e3 │ │ +029ed2: 0c00 |0017: move-result-object v0 │ │ +029ed4: 7110 6705 0000 |0018: invoke-static {v0}, Ljava/lang/Integer;.parseInt:(Ljava/lang/String;)I // method@0567 │ │ +029eda: 0a00 |001b: move-result v0 │ │ +029edc: 1301 1500 |001c: const/16 v1, #int 21 // #15 │ │ +029ee0: 3510 0a00 |001e: if-ge v0, v1, 0028 // +000a │ │ +029ee4: 2200 9701 |0020: new-instance v0, Lutil/conpool/TLSSocketFactory; // type@0197 │ │ +029ee8: 7010 de07 0000 |0022: invoke-direct {v0}, Lutil/conpool/TLSSocketFactory;.:()V // method@07de │ │ +029eee: 6900 8403 |0025: sput-object v0, Lutil/conpool/Connection;.defaultSSLSocketFactory:Ljavax/net/ssl/SSLSocketFactory; // field@0384 │ │ +029ef2: 2809 |0027: goto 0030 // +0009 │ │ +029ef4: 7100 ab06 0000 |0028: invoke-static {}, Ljavax/net/ssl/SSLSocketFactory;.getDefault:()Ljavax/net/SocketFactory; // method@06ab │ │ +029efa: 0c00 |002b: move-result-object v0 │ │ +029efc: 1f00 7a01 |002c: check-cast v0, Ljavax/net/ssl/SSLSocketFactory; // type@017a │ │ +029f00: 6900 8403 |002e: sput-object v0, Lutil/conpool/Connection;.defaultSSLSocketFactory:Ljavax/net/ssl/SSLSocketFactory; // field@0384 │ │ +029f04: 6200 8403 |0030: sget-object v0, Lutil/conpool/Connection;.defaultSSLSocketFactory:Ljavax/net/ssl/SSLSocketFactory; // field@0384 │ │ +029f08: 1100 |0032: return-object v0 │ │ +029f0a: 0d00 |0033: move-exception v0 │ │ +029f0c: 2201 0001 |0034: new-instance v1, Ljava/io/IOException; // type@0100 │ │ +029f10: 1a02 f300 |0036: const-string v2, "Cannot get TLSSocketFactory" // string@00f3 │ │ +029f14: 7030 2205 2100 |0038: invoke-direct {v1, v2, v0}, Ljava/io/IOException;.:(Ljava/lang/String;Ljava/lang/Throwable;)V // method@0522 │ │ +029f1a: 2701 |003b: throw v1 │ │ catches : 1 │ │ 0x0020 - 0x0032 │ │ Ljava/lang/Exception; -> 0x0033 │ │ positions : │ │ 0x0000 line=217 │ │ 0x0005 line=220 │ │ 0x0010 line=221 │ │ @@ -59785,22 +59785,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 │ │ -02a578: |[02a578] util.conpool.Connection.initConnection:(Ljava/net/InetSocketAddress;IZLjavax/net/ssl/SSLSocketFactory;Ljava/net/Proxy;)V │ │ -02a588: 5b01 8903 |0000: iput-object v1, v0, Lutil/conpool/Connection;.sadr:Ljava/net/InetSocketAddress; // field@0389 │ │ -02a58c: 5902 8103 |0002: iput v2, v0, Lutil/conpool/Connection;.conTimeout:I // field@0381 │ │ -02a590: 5c03 8d03 |0004: iput-boolean v3, v0, Lutil/conpool/Connection;.ssl:Z // field@038d │ │ -02a594: 5b04 8e03 |0006: iput-object v4, v0, Lutil/conpool/Connection;.sslSocketFactory:Ljavax/net/ssl/SSLSocketFactory; // field@038e │ │ -02a598: 5b05 8803 |0008: iput-object v5, v0, Lutil/conpool/Connection;.proxy:Ljava/net/Proxy; // field@0388 │ │ -02a59c: 7010 b407 0000 |000a: invoke-direct {v0}, Lutil/conpool/Connection;.establishConnection:()V // method@07b4 │ │ -02a5a2: 0e00 |000d: return-void │ │ +02a574: |[02a574] util.conpool.Connection.initConnection:(Ljava/net/InetSocketAddress;IZLjavax/net/ssl/SSLSocketFactory;Ljava/net/Proxy;)V │ │ +02a584: 5b01 8903 |0000: iput-object v1, v0, Lutil/conpool/Connection;.sadr:Ljava/net/InetSocketAddress; // field@0389 │ │ +02a588: 5902 8103 |0002: iput v2, v0, Lutil/conpool/Connection;.conTimeout:I // field@0381 │ │ +02a58c: 5c03 8d03 |0004: iput-boolean v3, v0, Lutil/conpool/Connection;.ssl:Z // field@038d │ │ +02a590: 5b04 8e03 |0006: iput-object v4, v0, Lutil/conpool/Connection;.sslSocketFactory:Ljavax/net/ssl/SSLSocketFactory; // field@038e │ │ +02a594: 5b05 8803 |0008: iput-object v5, v0, Lutil/conpool/Connection;.proxy:Ljava/net/Proxy; // field@0388 │ │ +02a598: 7010 b407 0000 |000a: invoke-direct {v0}, Lutil/conpool/Connection;.establishConnection:()V // method@07b4 │ │ +02a59e: 0e00 |000d: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=206 │ │ 0x0002 line=207 │ │ 0x0004 line=208 │ │ 0x0006 line=209 │ │ 0x0008 line=210 │ │ @@ -59818,24 +59818,24 @@ │ │ type : '()V' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 3 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 19 16-bit code units │ │ -02a5a4: |[02a5a4] util.conpool.Connection.initStreams:()V │ │ -02a5b4: 2200 9501 |0000: new-instance v0, Lutil/conpool/PooledConnectionInputStream; // type@0195 │ │ -02a5b8: 5421 8b03 |0002: iget-object v1, v2, Lutil/conpool/Connection;.socketIn:Ljava/io/InputStream; // field@038b │ │ -02a5bc: 7020 cf07 1000 |0004: invoke-direct {v0, v1}, Lutil/conpool/PooledConnectionInputStream;.:(Ljava/io/InputStream;)V // method@07cf │ │ -02a5c2: 5b20 8503 |0007: iput-object v0, v2, Lutil/conpool/Connection;.in:Lutil/conpool/PooledConnectionInputStream; // field@0385 │ │ -02a5c6: 2200 9601 |0009: new-instance v0, Lutil/conpool/PooledConnectionOutputStream; // type@0196 │ │ -02a5ca: 5421 8c03 |000b: iget-object v1, v2, Lutil/conpool/Connection;.socketOut:Ljava/io/OutputStream; // field@038c │ │ -02a5ce: 7020 d607 1000 |000d: invoke-direct {v0, v1}, Lutil/conpool/PooledConnectionOutputStream;.:(Ljava/io/OutputStream;)V // method@07d6 │ │ -02a5d4: 5b20 8603 |0010: iput-object v0, v2, Lutil/conpool/Connection;.out:Lutil/conpool/PooledConnectionOutputStream; // field@0386 │ │ -02a5d8: 0e00 |0012: return-void │ │ +02a5a0: |[02a5a0] util.conpool.Connection.initStreams:()V │ │ +02a5b0: 2200 9501 |0000: new-instance v0, Lutil/conpool/PooledConnectionInputStream; // type@0195 │ │ +02a5b4: 5421 8b03 |0002: iget-object v1, v2, Lutil/conpool/Connection;.socketIn:Ljava/io/InputStream; // field@038b │ │ +02a5b8: 7020 cf07 1000 |0004: invoke-direct {v0, v1}, Lutil/conpool/PooledConnectionInputStream;.:(Ljava/io/InputStream;)V // method@07cf │ │ +02a5be: 5b20 8503 |0007: iput-object v0, v2, Lutil/conpool/Connection;.in:Lutil/conpool/PooledConnectionInputStream; // field@0385 │ │ +02a5c2: 2200 9601 |0009: new-instance v0, Lutil/conpool/PooledConnectionOutputStream; // type@0196 │ │ +02a5c6: 5421 8c03 |000b: iget-object v1, v2, Lutil/conpool/Connection;.socketOut:Ljava/io/OutputStream; // field@038c │ │ +02a5ca: 7020 d607 1000 |000d: invoke-direct {v0, v1}, Lutil/conpool/PooledConnectionOutputStream;.:(Ljava/io/OutputStream;)V // method@07d6 │ │ +02a5d0: 5b20 8603 |0010: iput-object v0, v2, Lutil/conpool/Connection;.out:Lutil/conpool/PooledConnectionOutputStream; // field@0386 │ │ +02a5d4: 0e00 |0012: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=293 │ │ 0x0009 line=294 │ │ locals : │ │ 0x0000 - 0x0013 reg=2 this Lutil/conpool/Connection; │ │ │ │ @@ -59844,96 +59844,96 @@ │ │ type : '()V' │ │ access : 0x0009 (PUBLIC STATIC) │ │ code - │ │ registers : 10 │ │ ins : 0 │ │ outs : 2 │ │ insns size : 144 16-bit code units │ │ -02a5dc: |[02a5dc] util.conpool.Connection.invalidate:()V │ │ -02a5ec: 2200 6a01 |0000: new-instance v0, Ljava/util/Vector; // type@016a │ │ -02a5f0: 7010 7706 0000 |0002: invoke-direct {v0}, Ljava/util/Vector;.:()V // method@0677 │ │ -02a5f6: 6201 8303 |0005: sget-object v1, Lutil/conpool/Connection;.connPooled:Ljava/util/HashMap; // field@0383 │ │ -02a5fa: 1d01 |0007: monitor-enter v1 │ │ -02a5fc: 6202 8203 |0008: sget-object v2, Lutil/conpool/Connection;.connAcquired:Ljava/util/HashSet; // field@0382 │ │ -02a600: 1d02 |000a: monitor-enter v2 │ │ -02a602: 6203 8303 |000b: sget-object v3, Lutil/conpool/Connection;.connPooled:Ljava/util/HashMap; // field@0383 │ │ -02a606: 6e10 2e06 0300 |000d: invoke-virtual {v3}, Ljava/util/HashMap;.values:()Ljava/util/Collection; // method@062e │ │ -02a60c: 0c03 |0010: move-result-object v3 │ │ -02a60e: 1204 |0011: const/4 v4, #int 0 // #0 │ │ -02a610: 2345 b101 |0012: new-array v5, v4, [Ljava/util/Vector; // type@01b1 │ │ -02a614: 7220 2006 5300 |0014: invoke-interface {v3, v5}, Ljava/util/Collection;.toArray:([Ljava/lang/Object;)[Ljava/lang/Object; // method@0620 │ │ -02a61a: 0c03 |0017: move-result-object v3 │ │ -02a61c: 1f03 b101 |0018: check-cast v3, [Ljava/util/Vector; // type@01b1 │ │ -02a620: 1205 |001a: const/4 v5, #int 0 // #0 │ │ -02a622: 2136 |001b: array-length v6, v3 │ │ -02a624: 3565 2f00 |001c: if-ge v5, v6, 004b // +002f │ │ -02a628: 4606 0305 |001e: aget-object v6, v3, v5 │ │ -02a62c: 6e10 8406 0600 |0020: invoke-virtual {v6}, Ljava/util/Vector;.size:()I // method@0684 │ │ -02a632: 0a07 |0023: move-result v7 │ │ -02a634: 2377 b701 |0024: new-array v7, v7, [Lutil/conpool/Connection; // type@01b7 │ │ -02a638: 6e20 8506 7600 |0026: invoke-virtual {v6, v7}, Ljava/util/Vector;.toArray:([Ljava/lang/Object;)[Ljava/lang/Object; // method@0685 │ │ -02a63e: 0c06 |0029: move-result-object v6 │ │ -02a640: 1f06 b701 |002a: check-cast v6, [Lutil/conpool/Connection; // type@01b7 │ │ -02a644: 1207 |002c: const/4 v7, #int 0 // #0 │ │ -02a646: 2168 |002d: array-length v8, v6 │ │ -02a648: 3587 1300 |002e: if-ge v7, v8, 0041 // +0013 │ │ -02a64c: 4608 0607 |0030: aget-object v8, v6, v7 │ │ -02a650: 6e20 7906 8000 |0032: invoke-virtual {v0, v8}, Ljava/util/Vector;.add:(Ljava/lang/Object;)Z // method@0679 │ │ -02a656: 4608 0607 |0035: aget-object v8, v6, v7 │ │ -02a65a: 5c84 9103 |0037: iput-boolean v4, v8, Lutil/conpool/Connection;.valid:Z // field@0391 │ │ -02a65e: 4609 0305 |0039: aget-object v9, v3, v5 │ │ -02a662: 6e20 8206 8900 |003b: invoke-virtual {v9, v8}, Ljava/util/Vector;.remove:(Ljava/lang/Object;)Z // method@0682 │ │ -02a668: d807 0701 |003e: add-int/lit8 v7, v7, #int 1 // #01 │ │ -02a66c: 28ed |0040: goto 002d // -0013 │ │ -02a66e: 6206 8303 |0041: sget-object v6, Lutil/conpool/Connection;.connPooled:Ljava/util/HashMap; // field@0383 │ │ -02a672: 4607 0305 |0043: aget-object v7, v3, v5 │ │ -02a676: 6e20 2c06 7600 |0045: invoke-virtual {v6, v7}, Ljava/util/HashMap;.remove:(Ljava/lang/Object;)Ljava/lang/Object; // method@062c │ │ -02a67c: d805 0501 |0048: add-int/lit8 v5, v5, #int 1 // #01 │ │ -02a680: 28d1 |004a: goto 001b // -002f │ │ -02a682: 6203 8203 |004b: sget-object v3, Lutil/conpool/Connection;.connAcquired:Ljava/util/HashSet; // field@0382 │ │ -02a686: 6e10 3606 0300 |004d: invoke-virtual {v3}, Ljava/util/HashSet;.size:()I // method@0636 │ │ -02a68c: 0a05 |0050: move-result v5 │ │ -02a68e: 2355 b701 |0051: new-array v5, v5, [Lutil/conpool/Connection; // type@01b7 │ │ -02a692: 6e20 3706 5300 |0053: invoke-virtual {v3, v5}, Ljava/util/HashSet;.toArray:([Ljava/lang/Object;)[Ljava/lang/Object; // method@0637 │ │ -02a698: 0c03 |0056: move-result-object v3 │ │ -02a69a: 1f03 b701 |0057: check-cast v3, [Lutil/conpool/Connection; // type@01b7 │ │ -02a69e: 1205 |0059: const/4 v5, #int 0 // #0 │ │ -02a6a0: 2136 |005a: array-length v6, v3 │ │ -02a6a2: 3565 1300 |005b: if-ge v5, v6, 006e // +0013 │ │ -02a6a6: 4606 0305 |005d: aget-object v6, v3, v5 │ │ -02a6aa: 6e20 7906 6000 |005f: invoke-virtual {v0, v6}, Ljava/util/Vector;.add:(Ljava/lang/Object;)Z // method@0679 │ │ -02a6b0: 4606 0305 |0062: aget-object v6, v3, v5 │ │ -02a6b4: 5c64 9103 |0064: iput-boolean v4, v6, Lutil/conpool/Connection;.valid:Z // field@0391 │ │ -02a6b8: 6207 8203 |0066: sget-object v7, Lutil/conpool/Connection;.connAcquired:Ljava/util/HashSet; // field@0382 │ │ -02a6bc: 6e20 3506 6700 |0068: invoke-virtual {v7, v6}, Ljava/util/HashSet;.remove:(Ljava/lang/Object;)Z // method@0635 │ │ -02a6c2: d805 0501 |006b: add-int/lit8 v5, v5, #int 1 // #01 │ │ -02a6c6: 28ed |006d: goto 005a // -0013 │ │ -02a6c8: 1e02 |006e: monitor-exit v2 │ │ -02a6ca: 1e01 |006f: monitor-exit v1 │ │ -02a6cc: 6e10 8406 0000 |0070: invoke-virtual {v0}, Ljava/util/Vector;.size:()I // method@0684 │ │ -02a6d2: 0a01 |0073: move-result v1 │ │ -02a6d4: 2311 b701 |0074: new-array v1, v1, [Lutil/conpool/Connection; // type@01b7 │ │ -02a6d8: 6e20 8506 1000 |0076: invoke-virtual {v0, v1}, Ljava/util/Vector;.toArray:([Ljava/lang/Object;)[Ljava/lang/Object; // method@0685 │ │ -02a6de: 0c00 |0079: move-result-object v0 │ │ -02a6e0: 1f00 b701 |007a: check-cast v0, [Lutil/conpool/Connection; // type@01b7 │ │ -02a6e4: 2101 |007c: array-length v1, v0 │ │ -02a6e6: 3514 0a00 |007d: if-ge v4, v1, 0087 // +000a │ │ -02a6ea: 4601 0004 |007f: aget-object v1, v0, v4 │ │ -02a6ee: 7010 ad07 0100 |0081: invoke-direct {v1}, Lutil/conpool/Connection;.closeConnection:()V // method@07ad │ │ -02a6f4: d804 0401 |0084: add-int/lit8 v4, v4, #int 1 // #01 │ │ -02a6f8: 28f6 |0086: goto 007c // -000a │ │ -02a6fa: 0e00 |0087: return-void │ │ -02a6fc: 0d00 |0088: move-exception v0 │ │ -02a6fe: 1e02 |0089: monitor-exit v2 │ │ -02a700: 2700 |008a: throw v0 │ │ -02a702: 0d00 |008b: move-exception v0 │ │ -02a704: 1e01 |008c: monitor-exit v1 │ │ -02a706: 2802 |008d: goto 008f // +0002 │ │ -02a708: 2700 |008e: throw v0 │ │ -02a70a: 28ff |008f: goto 008e // -0001 │ │ +02a5d8: |[02a5d8] util.conpool.Connection.invalidate:()V │ │ +02a5e8: 2200 6a01 |0000: new-instance v0, Ljava/util/Vector; // type@016a │ │ +02a5ec: 7010 7706 0000 |0002: invoke-direct {v0}, Ljava/util/Vector;.:()V // method@0677 │ │ +02a5f2: 6201 8303 |0005: sget-object v1, Lutil/conpool/Connection;.connPooled:Ljava/util/HashMap; // field@0383 │ │ +02a5f6: 1d01 |0007: monitor-enter v1 │ │ +02a5f8: 6202 8203 |0008: sget-object v2, Lutil/conpool/Connection;.connAcquired:Ljava/util/HashSet; // field@0382 │ │ +02a5fc: 1d02 |000a: monitor-enter v2 │ │ +02a5fe: 6203 8303 |000b: sget-object v3, Lutil/conpool/Connection;.connPooled:Ljava/util/HashMap; // field@0383 │ │ +02a602: 6e10 2e06 0300 |000d: invoke-virtual {v3}, Ljava/util/HashMap;.values:()Ljava/util/Collection; // method@062e │ │ +02a608: 0c03 |0010: move-result-object v3 │ │ +02a60a: 1204 |0011: const/4 v4, #int 0 // #0 │ │ +02a60c: 2345 b101 |0012: new-array v5, v4, [Ljava/util/Vector; // type@01b1 │ │ +02a610: 7220 2006 5300 |0014: invoke-interface {v3, v5}, Ljava/util/Collection;.toArray:([Ljava/lang/Object;)[Ljava/lang/Object; // method@0620 │ │ +02a616: 0c03 |0017: move-result-object v3 │ │ +02a618: 1f03 b101 |0018: check-cast v3, [Ljava/util/Vector; // type@01b1 │ │ +02a61c: 1205 |001a: const/4 v5, #int 0 // #0 │ │ +02a61e: 2136 |001b: array-length v6, v3 │ │ +02a620: 3565 2f00 |001c: if-ge v5, v6, 004b // +002f │ │ +02a624: 4606 0305 |001e: aget-object v6, v3, v5 │ │ +02a628: 6e10 8406 0600 |0020: invoke-virtual {v6}, Ljava/util/Vector;.size:()I // method@0684 │ │ +02a62e: 0a07 |0023: move-result v7 │ │ +02a630: 2377 b701 |0024: new-array v7, v7, [Lutil/conpool/Connection; // type@01b7 │ │ +02a634: 6e20 8506 7600 |0026: invoke-virtual {v6, v7}, Ljava/util/Vector;.toArray:([Ljava/lang/Object;)[Ljava/lang/Object; // method@0685 │ │ +02a63a: 0c06 |0029: move-result-object v6 │ │ +02a63c: 1f06 b701 |002a: check-cast v6, [Lutil/conpool/Connection; // type@01b7 │ │ +02a640: 1207 |002c: const/4 v7, #int 0 // #0 │ │ +02a642: 2168 |002d: array-length v8, v6 │ │ +02a644: 3587 1300 |002e: if-ge v7, v8, 0041 // +0013 │ │ +02a648: 4608 0607 |0030: aget-object v8, v6, v7 │ │ +02a64c: 6e20 7906 8000 |0032: invoke-virtual {v0, v8}, Ljava/util/Vector;.add:(Ljava/lang/Object;)Z // method@0679 │ │ +02a652: 4608 0607 |0035: aget-object v8, v6, v7 │ │ +02a656: 5c84 9103 |0037: iput-boolean v4, v8, Lutil/conpool/Connection;.valid:Z // field@0391 │ │ +02a65a: 4609 0305 |0039: aget-object v9, v3, v5 │ │ +02a65e: 6e20 8206 8900 |003b: invoke-virtual {v9, v8}, Ljava/util/Vector;.remove:(Ljava/lang/Object;)Z // method@0682 │ │ +02a664: d807 0701 |003e: add-int/lit8 v7, v7, #int 1 // #01 │ │ +02a668: 28ed |0040: goto 002d // -0013 │ │ +02a66a: 6206 8303 |0041: sget-object v6, Lutil/conpool/Connection;.connPooled:Ljava/util/HashMap; // field@0383 │ │ +02a66e: 4607 0305 |0043: aget-object v7, v3, v5 │ │ +02a672: 6e20 2c06 7600 |0045: invoke-virtual {v6, v7}, Ljava/util/HashMap;.remove:(Ljava/lang/Object;)Ljava/lang/Object; // method@062c │ │ +02a678: d805 0501 |0048: add-int/lit8 v5, v5, #int 1 // #01 │ │ +02a67c: 28d1 |004a: goto 001b // -002f │ │ +02a67e: 6203 8203 |004b: sget-object v3, Lutil/conpool/Connection;.connAcquired:Ljava/util/HashSet; // field@0382 │ │ +02a682: 6e10 3606 0300 |004d: invoke-virtual {v3}, Ljava/util/HashSet;.size:()I // method@0636 │ │ +02a688: 0a05 |0050: move-result v5 │ │ +02a68a: 2355 b701 |0051: new-array v5, v5, [Lutil/conpool/Connection; // type@01b7 │ │ +02a68e: 6e20 3706 5300 |0053: invoke-virtual {v3, v5}, Ljava/util/HashSet;.toArray:([Ljava/lang/Object;)[Ljava/lang/Object; // method@0637 │ │ +02a694: 0c03 |0056: move-result-object v3 │ │ +02a696: 1f03 b701 |0057: check-cast v3, [Lutil/conpool/Connection; // type@01b7 │ │ +02a69a: 1205 |0059: const/4 v5, #int 0 // #0 │ │ +02a69c: 2136 |005a: array-length v6, v3 │ │ +02a69e: 3565 1300 |005b: if-ge v5, v6, 006e // +0013 │ │ +02a6a2: 4606 0305 |005d: aget-object v6, v3, v5 │ │ +02a6a6: 6e20 7906 6000 |005f: invoke-virtual {v0, v6}, Ljava/util/Vector;.add:(Ljava/lang/Object;)Z // method@0679 │ │ +02a6ac: 4606 0305 |0062: aget-object v6, v3, v5 │ │ +02a6b0: 5c64 9103 |0064: iput-boolean v4, v6, Lutil/conpool/Connection;.valid:Z // field@0391 │ │ +02a6b4: 6207 8203 |0066: sget-object v7, Lutil/conpool/Connection;.connAcquired:Ljava/util/HashSet; // field@0382 │ │ +02a6b8: 6e20 3506 6700 |0068: invoke-virtual {v7, v6}, Ljava/util/HashSet;.remove:(Ljava/lang/Object;)Z // method@0635 │ │ +02a6be: d805 0501 |006b: add-int/lit8 v5, v5, #int 1 // #01 │ │ +02a6c2: 28ed |006d: goto 005a // -0013 │ │ +02a6c4: 1e02 |006e: monitor-exit v2 │ │ +02a6c6: 1e01 |006f: monitor-exit v1 │ │ +02a6c8: 6e10 8406 0000 |0070: invoke-virtual {v0}, Ljava/util/Vector;.size:()I // method@0684 │ │ +02a6ce: 0a01 |0073: move-result v1 │ │ +02a6d0: 2311 b701 |0074: new-array v1, v1, [Lutil/conpool/Connection; // type@01b7 │ │ +02a6d4: 6e20 8506 1000 |0076: invoke-virtual {v0, v1}, Ljava/util/Vector;.toArray:([Ljava/lang/Object;)[Ljava/lang/Object; // method@0685 │ │ +02a6da: 0c00 |0079: move-result-object v0 │ │ +02a6dc: 1f00 b701 |007a: check-cast v0, [Lutil/conpool/Connection; // type@01b7 │ │ +02a6e0: 2101 |007c: array-length v1, v0 │ │ +02a6e2: 3514 0a00 |007d: if-ge v4, v1, 0087 // +000a │ │ +02a6e6: 4601 0004 |007f: aget-object v1, v0, v4 │ │ +02a6ea: 7010 ad07 0100 |0081: invoke-direct {v1}, Lutil/conpool/Connection;.closeConnection:()V // method@07ad │ │ +02a6f0: d804 0401 |0084: add-int/lit8 v4, v4, #int 1 // #01 │ │ +02a6f4: 28f6 |0086: goto 007c // -000a │ │ +02a6f6: 0e00 |0087: return-void │ │ +02a6f8: 0d00 |0088: move-exception v0 │ │ +02a6fa: 1e02 |0089: monitor-exit v2 │ │ +02a6fc: 2700 |008a: throw v0 │ │ +02a6fe: 0d00 |008b: move-exception v0 │ │ +02a700: 1e01 |008c: monitor-exit v1 │ │ +02a702: 2802 |008d: goto 008f // +0002 │ │ +02a704: 2700 |008e: throw v0 │ │ +02a706: 28ff |008f: goto 008e // -0001 │ │ catches : 5 │ │ 0x0008 - 0x000b │ │ -> 0x008b │ │ 0x000b - 0x006f │ │ -> 0x0088 │ │ 0x006f - 0x0070 │ │ -> 0x008b │ │ @@ -59972,40 +59972,40 @@ │ │ type : '()Z' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 5 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 48 16-bit code units │ │ -029b94: |[029b94] util.conpool.Connection.isAlive:()Z │ │ -029ba4: 1210 |0000: const/4 v0, #int 1 // #1 │ │ -029ba6: 1201 |0001: const/4 v1, #int 0 // #0 │ │ -029ba8: 5442 8a03 |0002: iget-object v2, v4, Lutil/conpool/Connection;.socket:Ljava/net/Socket; // field@038a │ │ -029bac: 6e20 ef05 0200 |0004: invoke-virtual {v2, v0}, Ljava/net/Socket;.setSoTimeout:(I)V // method@05ef │ │ -029bb2: 5442 8b03 |0007: iget-object v2, v4, Lutil/conpool/Connection;.socketIn:Ljava/io/InputStream; // field@038b │ │ -029bb6: 6e10 2a05 0200 |0009: invoke-virtual {v2}, Ljava/io/InputStream;.read:()I // method@052a │ │ -029bbc: 0a02 |000c: move-result v2 │ │ -029bbe: 12f3 |000d: const/4 v3, #int -1 // #ff │ │ -029bc0: 3232 1a00 |000e: if-eq v2, v3, 0028 // +001a │ │ -029bc4: 5442 8b03 |0010: iget-object v2, v4, Lutil/conpool/Connection;.socketIn:Ljava/io/InputStream; // field@038b │ │ -029bc8: 6e10 2805 0200 |0012: invoke-virtual {v2}, Ljava/io/InputStream;.available:()I // method@0528 │ │ -029bce: 0a02 |0015: move-result v2 │ │ -029bd0: 1303 0028 |0016: const/16 v3, #int 10240 // #2800 │ │ -029bd4: 7120 7105 3200 |0018: invoke-static {v2, v3}, Ljava/lang/Math;.max:(II)I // method@0571 │ │ -029bda: 0a02 |001b: move-result v2 │ │ -029bdc: 2322 9d01 |001c: new-array v2, v2, [B // type@019d │ │ -029be0: 5443 8b03 |001e: iget-object v3, v4, Lutil/conpool/Connection;.socketIn:Ljava/io/InputStream; // field@038b │ │ -029be4: 6e20 2b05 2300 |0020: invoke-virtual {v3, v2}, Ljava/io/InputStream;.read:([B)I // method@052b │ │ -029bea: 2203 2b01 |0023: new-instance v3, Ljava/lang/String; // type@012b │ │ -029bee: 7020 8705 2300 |0025: invoke-direct {v3, v2}, Ljava/lang/String;.:([B)V // method@0587 │ │ -029bf4: 0f01 |0028: return v1 │ │ -029bf6: 5442 8a03 |0029: iget-object v2, v4, Lutil/conpool/Connection;.socket:Ljava/net/Socket; // field@038a │ │ -029bfa: 6e20 ef05 1200 |002b: invoke-virtual {v2, v1}, Ljava/net/Socket;.setSoTimeout:(I)V // method@05ef │ │ -029c00: 0f00 |002e: return v0 │ │ -029c02: 0f01 |002f: return v1 │ │ +029b90: |[029b90] util.conpool.Connection.isAlive:()Z │ │ +029ba0: 1210 |0000: const/4 v0, #int 1 // #1 │ │ +029ba2: 1201 |0001: const/4 v1, #int 0 // #0 │ │ +029ba4: 5442 8a03 |0002: iget-object v2, v4, Lutil/conpool/Connection;.socket:Ljava/net/Socket; // field@038a │ │ +029ba8: 6e20 ef05 0200 |0004: invoke-virtual {v2, v0}, Ljava/net/Socket;.setSoTimeout:(I)V // method@05ef │ │ +029bae: 5442 8b03 |0007: iget-object v2, v4, Lutil/conpool/Connection;.socketIn:Ljava/io/InputStream; // field@038b │ │ +029bb2: 6e10 2a05 0200 |0009: invoke-virtual {v2}, Ljava/io/InputStream;.read:()I // method@052a │ │ +029bb8: 0a02 |000c: move-result v2 │ │ +029bba: 12f3 |000d: const/4 v3, #int -1 // #ff │ │ +029bbc: 3232 1a00 |000e: if-eq v2, v3, 0028 // +001a │ │ +029bc0: 5442 8b03 |0010: iget-object v2, v4, Lutil/conpool/Connection;.socketIn:Ljava/io/InputStream; // field@038b │ │ +029bc4: 6e10 2805 0200 |0012: invoke-virtual {v2}, Ljava/io/InputStream;.available:()I // method@0528 │ │ +029bca: 0a02 |0015: move-result v2 │ │ +029bcc: 1303 0028 |0016: const/16 v3, #int 10240 // #2800 │ │ +029bd0: 7120 7105 3200 |0018: invoke-static {v2, v3}, Ljava/lang/Math;.max:(II)I // method@0571 │ │ +029bd6: 0a02 |001b: move-result v2 │ │ +029bd8: 2322 9d01 |001c: new-array v2, v2, [B // type@019d │ │ +029bdc: 5443 8b03 |001e: iget-object v3, v4, Lutil/conpool/Connection;.socketIn:Ljava/io/InputStream; // field@038b │ │ +029be0: 6e20 2b05 2300 |0020: invoke-virtual {v3, v2}, Ljava/io/InputStream;.read:([B)I // method@052b │ │ +029be6: 2203 2b01 |0023: new-instance v3, Ljava/lang/String; // type@012b │ │ +029bea: 7020 8705 2300 |0025: invoke-direct {v3, v2}, Ljava/lang/String;.:([B)V // method@0587 │ │ +029bf0: 0f01 |0028: return v1 │ │ +029bf2: 5442 8a03 |0029: iget-object v2, v4, Lutil/conpool/Connection;.socket:Ljava/net/Socket; // field@038a │ │ +029bf6: 6e20 ef05 1200 |002b: invoke-virtual {v2, v1}, Ljava/net/Socket;.setSoTimeout:(I)V // method@05ef │ │ +029bfc: 0f00 |002e: return v0 │ │ +029bfe: 0f01 |002f: return v1 │ │ catches : 2 │ │ 0x0002 - 0x0028 │ │ Ljava/net/SocketTimeoutException; -> 0x0029 │ │ Ljava/lang/Exception; -> 0x0028 │ │ 0x0029 - 0x002e │ │ Ljava/net/SocketException; -> 0x002f │ │ positions : │ │ @@ -60024,57 +60024,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 │ │ -029cfc: |[029cfc] util.conpool.Connection.parseHosts:(Ljava/lang/String;)[Ljava/lang/String; │ │ -029d0c: 1a00 3000 |0000: const-string v0, "#" // string@0030 │ │ -029d10: 6e20 9b05 0400 |0002: invoke-virtual {v4, v0}, Ljava/lang/String;.startsWith:(Ljava/lang/String;)Z // method@059b │ │ -029d16: 0a00 |0005: move-result v0 │ │ -029d18: 3900 4500 |0006: if-nez v0, 004b // +0045 │ │ -029d1c: 6e10 a205 0400 |0008: invoke-virtual {v4}, Ljava/lang/String;.trim:()Ljava/lang/String; // method@05a2 │ │ -029d22: 0c00 |000b: move-result-object v0 │ │ -029d24: 1a01 0000 |000c: const-string v1, "" // string@0000 │ │ -029d28: 6e20 8d05 1000 |000e: invoke-virtual {v0, v1}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058d │ │ -029d2e: 0a00 |0011: move-result v0 │ │ -029d30: 3800 0300 |0012: if-eqz v0, 0015 // +0003 │ │ -029d34: 2837 |0014: goto 004b // +0037 │ │ -029d36: 2200 6601 |0015: new-instance v0, Ljava/util/StringTokenizer; // type@0166 │ │ -029d3a: 7020 6306 4000 |0017: invoke-direct {v0, v4}, Ljava/util/StringTokenizer;.:(Ljava/lang/String;)V // method@0663 │ │ -029d40: 6e10 6506 0000 |001a: invoke-virtual {v0}, Ljava/util/StringTokenizer;.countTokens:()I // method@0665 │ │ -029d46: 0a04 |001d: move-result v4 │ │ -029d48: 1211 |001e: const/4 v1, #int 1 // #1 │ │ -029d4a: 1202 |001f: const/4 v2, #int 0 // #0 │ │ -029d4c: 1223 |0020: const/4 v3, #int 2 // #2 │ │ -029d4e: 3434 1900 |0021: if-lt v4, v3, 003a // +0019 │ │ -029d52: 6e10 6806 0000 |0023: invoke-virtual {v0}, Ljava/util/StringTokenizer;.nextToken:()Ljava/lang/String; // method@0668 │ │ -029d58: 0c04 |0026: move-result-object v4 │ │ -029d5a: 6e10 a205 0400 |0027: invoke-virtual {v4}, Ljava/lang/String;.trim:()Ljava/lang/String; // method@05a2 │ │ -029d60: 0c04 |002a: move-result-object v4 │ │ -029d62: 6e10 6806 0000 |002b: invoke-virtual {v0}, Ljava/util/StringTokenizer;.nextToken:()Ljava/lang/String; // method@0668 │ │ -029d68: 0c00 |002e: move-result-object v0 │ │ -029d6a: 6e10 a205 0000 |002f: invoke-virtual {v0}, Ljava/lang/String;.trim:()Ljava/lang/String; // method@05a2 │ │ -029d70: 0c00 |0032: move-result-object v0 │ │ -029d72: 2333 ad01 |0033: new-array v3, v3, [Ljava/lang/String; // type@01ad │ │ -029d76: 4d04 0302 |0035: aput-object v4, v3, v2 │ │ -029d7a: 4d00 0301 |0037: aput-object v0, v3, v1 │ │ -029d7e: 1103 |0039: return-object v3 │ │ -029d80: 6e10 6806 0000 |003a: invoke-virtual {v0}, Ljava/util/StringTokenizer;.nextToken:()Ljava/lang/String; // method@0668 │ │ -029d86: 0c04 |003d: move-result-object v4 │ │ -029d88: 6e10 a205 0400 |003e: invoke-virtual {v4}, Ljava/lang/String;.trim:()Ljava/lang/String; // method@05a2 │ │ -029d8e: 0c04 |0041: move-result-object v4 │ │ -029d90: 2330 ad01 |0042: new-array v0, v3, [Ljava/lang/String; // type@01ad │ │ -029d94: 1a03 7200 |0044: const-string v3, "127.0.0.1" // string@0072 │ │ -029d98: 4d03 0002 |0046: aput-object v3, v0, v2 │ │ -029d9c: 4d04 0001 |0048: aput-object v4, v0, v1 │ │ -029da0: 1100 |004a: return-object v0 │ │ -029da2: 1204 |004b: const/4 v4, #int 0 // #0 │ │ -029da4: 1104 |004c: return-object v4 │ │ +029cf8: |[029cf8] util.conpool.Connection.parseHosts:(Ljava/lang/String;)[Ljava/lang/String; │ │ +029d08: 1a00 3000 |0000: const-string v0, "#" // string@0030 │ │ +029d0c: 6e20 9b05 0400 |0002: invoke-virtual {v4, v0}, Ljava/lang/String;.startsWith:(Ljava/lang/String;)Z // method@059b │ │ +029d12: 0a00 |0005: move-result v0 │ │ +029d14: 3900 4500 |0006: if-nez v0, 004b // +0045 │ │ +029d18: 6e10 a205 0400 |0008: invoke-virtual {v4}, Ljava/lang/String;.trim:()Ljava/lang/String; // method@05a2 │ │ +029d1e: 0c00 |000b: move-result-object v0 │ │ +029d20: 1a01 0000 |000c: const-string v1, "" // string@0000 │ │ +029d24: 6e20 8d05 1000 |000e: invoke-virtual {v0, v1}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058d │ │ +029d2a: 0a00 |0011: move-result v0 │ │ +029d2c: 3800 0300 |0012: if-eqz v0, 0015 // +0003 │ │ +029d30: 2837 |0014: goto 004b // +0037 │ │ +029d32: 2200 6601 |0015: new-instance v0, Ljava/util/StringTokenizer; // type@0166 │ │ +029d36: 7020 6306 4000 |0017: invoke-direct {v0, v4}, Ljava/util/StringTokenizer;.:(Ljava/lang/String;)V // method@0663 │ │ +029d3c: 6e10 6506 0000 |001a: invoke-virtual {v0}, Ljava/util/StringTokenizer;.countTokens:()I // method@0665 │ │ +029d42: 0a04 |001d: move-result v4 │ │ +029d44: 1211 |001e: const/4 v1, #int 1 // #1 │ │ +029d46: 1202 |001f: const/4 v2, #int 0 // #0 │ │ +029d48: 1223 |0020: const/4 v3, #int 2 // #2 │ │ +029d4a: 3434 1900 |0021: if-lt v4, v3, 003a // +0019 │ │ +029d4e: 6e10 6806 0000 |0023: invoke-virtual {v0}, Ljava/util/StringTokenizer;.nextToken:()Ljava/lang/String; // method@0668 │ │ +029d54: 0c04 |0026: move-result-object v4 │ │ +029d56: 6e10 a205 0400 |0027: invoke-virtual {v4}, Ljava/lang/String;.trim:()Ljava/lang/String; // method@05a2 │ │ +029d5c: 0c04 |002a: move-result-object v4 │ │ +029d5e: 6e10 6806 0000 |002b: invoke-virtual {v0}, Ljava/util/StringTokenizer;.nextToken:()Ljava/lang/String; // method@0668 │ │ +029d64: 0c00 |002e: move-result-object v0 │ │ +029d66: 6e10 a205 0000 |002f: invoke-virtual {v0}, Ljava/lang/String;.trim:()Ljava/lang/String; // method@05a2 │ │ +029d6c: 0c00 |0032: move-result-object v0 │ │ +029d6e: 2333 ad01 |0033: new-array v3, v3, [Ljava/lang/String; // type@01ad │ │ +029d72: 4d04 0302 |0035: aput-object v4, v3, v2 │ │ +029d76: 4d00 0301 |0037: aput-object v0, v3, v1 │ │ +029d7a: 1103 |0039: return-object v3 │ │ +029d7c: 6e10 6806 0000 |003a: invoke-virtual {v0}, Ljava/util/StringTokenizer;.nextToken:()Ljava/lang/String; // method@0668 │ │ +029d82: 0c04 |003d: move-result-object v4 │ │ +029d84: 6e10 a205 0400 |003e: invoke-virtual {v4}, Ljava/lang/String;.trim:()Ljava/lang/String; // method@05a2 │ │ +029d8a: 0c04 |0041: move-result-object v4 │ │ +029d8c: 2330 ad01 |0042: new-array v0, v3, [Ljava/lang/String; // type@01ad │ │ +029d90: 1a03 7200 |0044: const-string v3, "127.0.0.1" // string@0072 │ │ +029d94: 4d03 0002 |0046: aput-object v3, v0, v2 │ │ +029d98: 4d04 0001 |0048: aput-object v4, v0, v1 │ │ +029d9c: 1100 |004a: return-object v0 │ │ +029d9e: 1204 |004b: const/4 v4, #int 0 // #0 │ │ +029da0: 1104 |004c: return-object v4 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=189 │ │ 0x0015 line=191 │ │ 0x001a line=192 │ │ 0x0023 line=193 │ │ 0x002b line=194 │ │ @@ -60089,43 +60089,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 │ │ -029c68: |[029c68] util.conpool.Connection.poolKey:(Ljava/lang/String;IZLjava/net/Proxy;)Ljava/lang/String; │ │ -029c78: 1a00 8100 |0000: const-string v0, ":" // string@0081 │ │ -029c7c: 3803 2100 |0002: if-eqz v3, 0023 // +0021 │ │ -029c80: 2203 2d01 |0004: new-instance v3, Ljava/lang/StringBuilder; // type@012d │ │ -029c84: 7010 a905 0300 |0006: invoke-direct {v3}, Ljava/lang/StringBuilder;.:()V // method@05a9 │ │ -029c8a: 6e20 af05 1300 |0009: invoke-virtual {v3, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -029c90: 6e20 af05 0300 |000c: invoke-virtual {v3, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -029c96: 6e20 ac05 2300 |000f: invoke-virtual {v3, v2}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@05ac │ │ -029c9c: 1a01 8b00 |0012: const-string v1, ":ssl:" // string@008b │ │ -029ca0: 6e20 af05 1300 |0014: invoke-virtual {v3, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -029ca6: 6e10 e505 0400 |0017: invoke-virtual {v4}, Ljava/net/Proxy;.hashCode:()I // method@05e5 │ │ -029cac: 0a01 |001a: move-result v1 │ │ -029cae: 6e20 ac05 1300 |001b: invoke-virtual {v3, v1}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@05ac │ │ -029cb4: 6e10 b105 0300 |001e: invoke-virtual {v3}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ -029cba: 0c01 |0021: move-result-object v1 │ │ -029cbc: 1101 |0022: return-object v1 │ │ -029cbe: 2203 2d01 |0023: new-instance v3, Ljava/lang/StringBuilder; // type@012d │ │ -029cc2: 7010 a905 0300 |0025: invoke-direct {v3}, Ljava/lang/StringBuilder;.:()V // method@05a9 │ │ -029cc8: 6e20 af05 1300 |0028: invoke-virtual {v3, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -029cce: 6e20 af05 0300 |002b: invoke-virtual {v3, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -029cd4: 6e20 ac05 2300 |002e: invoke-virtual {v3, v2}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@05ac │ │ -029cda: 1a01 8a00 |0031: const-string v1, ":plain:" // string@008a │ │ -029cde: 6e20 af05 1300 |0033: invoke-virtual {v3, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ -029ce4: 6e10 e505 0400 |0036: invoke-virtual {v4}, Ljava/net/Proxy;.hashCode:()I // method@05e5 │ │ -029cea: 0a01 |0039: move-result v1 │ │ -029cec: 6e20 ac05 1300 |003a: invoke-virtual {v3, v1}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@05ac │ │ -029cf2: 6e10 b105 0300 |003d: invoke-virtual {v3}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ -029cf8: 0c01 |0040: move-result-object v1 │ │ -029cfa: 1101 |0041: return-object v1 │ │ +029c64: |[029c64] util.conpool.Connection.poolKey:(Ljava/lang/String;IZLjava/net/Proxy;)Ljava/lang/String; │ │ +029c74: 1a00 8100 |0000: const-string v0, ":" // string@0081 │ │ +029c78: 3803 2100 |0002: if-eqz v3, 0023 // +0021 │ │ +029c7c: 2203 2d01 |0004: new-instance v3, Ljava/lang/StringBuilder; // type@012d │ │ +029c80: 7010 a905 0300 |0006: invoke-direct {v3}, Ljava/lang/StringBuilder;.:()V // method@05a9 │ │ +029c86: 6e20 af05 1300 |0009: invoke-virtual {v3, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +029c8c: 6e20 af05 0300 |000c: invoke-virtual {v3, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +029c92: 6e20 ac05 2300 |000f: invoke-virtual {v3, v2}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@05ac │ │ +029c98: 1a01 8b00 |0012: const-string v1, ":ssl:" // string@008b │ │ +029c9c: 6e20 af05 1300 |0014: invoke-virtual {v3, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +029ca2: 6e10 e505 0400 |0017: invoke-virtual {v4}, Ljava/net/Proxy;.hashCode:()I // method@05e5 │ │ +029ca8: 0a01 |001a: move-result v1 │ │ +029caa: 6e20 ac05 1300 |001b: invoke-virtual {v3, v1}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@05ac │ │ +029cb0: 6e10 b105 0300 |001e: invoke-virtual {v3}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ +029cb6: 0c01 |0021: move-result-object v1 │ │ +029cb8: 1101 |0022: return-object v1 │ │ +029cba: 2203 2d01 |0023: new-instance v3, Ljava/lang/StringBuilder; // type@012d │ │ +029cbe: 7010 a905 0300 |0025: invoke-direct {v3}, Ljava/lang/StringBuilder;.:()V // method@05a9 │ │ +029cc4: 6e20 af05 1300 |0028: invoke-virtual {v3, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +029cca: 6e20 af05 0300 |002b: invoke-virtual {v3, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +029cd0: 6e20 ac05 2300 |002e: invoke-virtual {v3, v2}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@05ac │ │ +029cd6: 1a01 8a00 |0031: const-string v1, ":plain:" // string@008a │ │ +029cda: 6e20 af05 1300 |0033: invoke-virtual {v3, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05af │ │ +029ce0: 6e10 e505 0400 |0036: invoke-virtual {v4}, Ljava/net/Proxy;.hashCode:()I // method@05e5 │ │ +029ce6: 0a01 |0039: move-result v1 │ │ +029ce8: 6e20 ac05 1300 |003a: invoke-virtual {v3, v1}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@05ac │ │ +029cee: 6e10 b105 0300 |003d: invoke-virtual {v3}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05b1 │ │ +029cf4: 0c01 |0040: move-result-object v1 │ │ +029cf6: 1101 |0041: return-object v1 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=146 │ │ 0x0004 line=147 │ │ 0x0023 line=149 │ │ locals : │ │ 0x0000 - 0x0042 reg=1 (null) Ljava/lang/String; │ │ @@ -60138,76 +60138,76 @@ │ │ type : '(Ljava/lang/String;)Lutil/conpool/Connection;' │ │ access : 0x0009 (PUBLIC STATIC) │ │ code - │ │ registers : 9 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 100 16-bit code units │ │ -02a11c: |[02a11c] util.conpool.Connection.poolRemove:(Ljava/lang/String;)Lutil/conpool/Connection; │ │ -02a12c: 6200 8303 |0000: sget-object v0, Lutil/conpool/Connection;.connPooled:Ljava/util/HashMap; // field@0383 │ │ -02a130: 1d00 |0002: monitor-enter v0 │ │ -02a132: 6201 8303 |0003: sget-object v1, Lutil/conpool/Connection;.connPooled:Ljava/util/HashMap; // field@0383 │ │ -02a136: 6e20 2a06 8100 |0005: invoke-virtual {v1, v8}, Ljava/util/HashMap;.get:(Ljava/lang/Object;)Ljava/lang/Object; // method@062a │ │ -02a13c: 0c01 |0008: move-result-object v1 │ │ -02a13e: 1f01 6a01 |0009: check-cast v1, Ljava/util/Vector; // type@016a │ │ -02a142: 1202 |000b: const/4 v2, #int 0 // #0 │ │ -02a144: 3901 0400 |000c: if-nez v1, 0010 // +0004 │ │ -02a148: 1e00 |000e: monitor-exit v0 │ │ -02a14a: 1102 |000f: return-object v2 │ │ -02a14c: 1203 |0010: const/4 v3, #int 0 // #0 │ │ -02a14e: 0725 |0011: move-object v5, v2 │ │ -02a150: 1204 |0012: const/4 v4, #int 0 // #0 │ │ -02a152: 3904 3f00 |0013: if-nez v4, 0052 // +003f │ │ -02a156: 6e10 7f06 0100 |0015: invoke-virtual {v1}, Ljava/util/Vector;.isEmpty:()Z // method@067f │ │ -02a15c: 0a04 |0018: move-result v4 │ │ -02a15e: 3904 3900 |0019: if-nez v4, 0052 // +0039 │ │ -02a162: 6e10 8406 0100 |001b: invoke-virtual {v1}, Ljava/util/Vector;.size:()I // method@0684 │ │ -02a168: 0a04 |001e: move-result v4 │ │ -02a16a: 1215 |001f: const/4 v5, #int 1 // #1 │ │ -02a16c: b154 |0020: sub-int/2addr v4, v5 │ │ -02a16e: 6e20 8106 4100 |0021: invoke-virtual {v1, v4}, Ljava/util/Vector;.remove:(I)Ljava/lang/Object; // method@0681 │ │ -02a174: 0c04 |0024: move-result-object v4 │ │ -02a176: 1f04 9301 |0025: check-cast v4, Lutil/conpool/Connection; // type@0193 │ │ -02a17a: 5546 8003 |0027: iget-boolean v6, v4, Lutil/conpool/Connection;.acquired:Z // field@0380 │ │ -02a17e: 3906 2100 |0029: if-nez v6, 004a // +0021 │ │ -02a182: 5c45 8003 |002b: iput-boolean v5, v4, Lutil/conpool/Connection;.acquired:Z // field@0380 │ │ -02a186: 6206 9003 |002d: sget-object v6, Lutil/conpool/Connection;.toNotify:Lutil/TimoutNotificator; // field@0390 │ │ -02a18a: 6e20 8d07 4600 |002f: invoke-virtual {v6, v4}, Lutil/TimoutNotificator;.unregister:(Lutil/TimeoutListener;)V // method@078d │ │ -02a190: 5546 9103 |0032: iget-boolean v6, v4, Lutil/conpool/Connection;.valid:Z // field@0391 │ │ -02a194: 3806 0900 |0034: if-eqz v6, 003d // +0009 │ │ -02a198: 7010 bf07 0400 |0036: invoke-direct {v4}, Lutil/conpool/Connection;.isAlive:()Z // method@07bf │ │ -02a19e: 0a06 |0039: move-result v6 │ │ -02a1a0: 3806 0300 |003a: if-eqz v6, 003d // +0003 │ │ -02a1a4: 2802 |003c: goto 003e // +0002 │ │ -02a1a6: 1205 |003d: const/4 v5, #int 0 // #0 │ │ -02a1a8: 3905 0800 |003e: if-nez v5, 0046 // +0008 │ │ -02a1ac: 7010 ad07 0400 |0040: invoke-direct {v4}, Lutil/conpool/Connection;.closeConnection:()V // method@07ad │ │ -02a1b2: 0154 |0043: move v4, v5 │ │ -02a1b4: 0725 |0044: move-object v5, v2 │ │ -02a1b6: 28ce |0045: goto 0013 // -0032 │ │ -02a1b8: 0157 |0046: move v7, v5 │ │ -02a1ba: 0745 |0047: move-object v5, v4 │ │ -02a1bc: 0174 |0048: move v4, v7 │ │ -02a1be: 28ca |0049: goto 0013 // -0036 │ │ -02a1c0: 2208 1d01 |004a: new-instance v8, Ljava/lang/IllegalStateException; // type@011d │ │ -02a1c4: 1a01 e501 |004c: const-string v1, "Inconsistent connection state - Cannot take already acquired connection from pool!" // string@01e5 │ │ -02a1c8: 7020 6305 1800 |004e: invoke-direct {v8, v1}, Ljava/lang/IllegalStateException;.:(Ljava/lang/String;)V // method@0563 │ │ -02a1ce: 2708 |0051: throw v8 │ │ -02a1d0: 6e10 7f06 0100 |0052: invoke-virtual {v1}, Ljava/util/Vector;.isEmpty:()Z // method@067f │ │ -02a1d6: 0a01 |0055: move-result v1 │ │ -02a1d8: 3801 0700 |0056: if-eqz v1, 005d // +0007 │ │ -02a1dc: 6201 8303 |0058: sget-object v1, Lutil/conpool/Connection;.connPooled:Ljava/util/HashMap; // field@0383 │ │ -02a1e0: 6e20 2c06 8100 |005a: invoke-virtual {v1, v8}, Ljava/util/HashMap;.remove:(Ljava/lang/Object;)Ljava/lang/Object; // method@062c │ │ -02a1e6: 1e00 |005d: monitor-exit v0 │ │ -02a1e8: 1105 |005e: return-object v5 │ │ -02a1ea: 0d08 |005f: move-exception v8 │ │ -02a1ec: 1e00 |0060: monitor-exit v0 │ │ -02a1ee: 2802 |0061: goto 0063 // +0002 │ │ -02a1f0: 2708 |0062: throw v8 │ │ -02a1f2: 28ff |0063: goto 0062 // -0001 │ │ +02a118: |[02a118] util.conpool.Connection.poolRemove:(Ljava/lang/String;)Lutil/conpool/Connection; │ │ +02a128: 6200 8303 |0000: sget-object v0, Lutil/conpool/Connection;.connPooled:Ljava/util/HashMap; // field@0383 │ │ +02a12c: 1d00 |0002: monitor-enter v0 │ │ +02a12e: 6201 8303 |0003: sget-object v1, Lutil/conpool/Connection;.connPooled:Ljava/util/HashMap; // field@0383 │ │ +02a132: 6e20 2a06 8100 |0005: invoke-virtual {v1, v8}, Ljava/util/HashMap;.get:(Ljava/lang/Object;)Ljava/lang/Object; // method@062a │ │ +02a138: 0c01 |0008: move-result-object v1 │ │ +02a13a: 1f01 6a01 |0009: check-cast v1, Ljava/util/Vector; // type@016a │ │ +02a13e: 1202 |000b: const/4 v2, #int 0 // #0 │ │ +02a140: 3901 0400 |000c: if-nez v1, 0010 // +0004 │ │ +02a144: 1e00 |000e: monitor-exit v0 │ │ +02a146: 1102 |000f: return-object v2 │ │ +02a148: 1203 |0010: const/4 v3, #int 0 // #0 │ │ +02a14a: 0725 |0011: move-object v5, v2 │ │ +02a14c: 1204 |0012: const/4 v4, #int 0 // #0 │ │ +02a14e: 3904 3f00 |0013: if-nez v4, 0052 // +003f │ │ +02a152: 6e10 7f06 0100 |0015: invoke-virtual {v1}, Ljava/util/Vector;.isEmpty:()Z // method@067f │ │ +02a158: 0a04 |0018: move-result v4 │ │ +02a15a: 3904 3900 |0019: if-nez v4, 0052 // +0039 │ │ +02a15e: 6e10 8406 0100 |001b: invoke-virtual {v1}, Ljava/util/Vector;.size:()I // method@0684 │ │ +02a164: 0a04 |001e: move-result v4 │ │ +02a166: 1215 |001f: const/4 v5, #int 1 // #1 │ │ +02a168: b154 |0020: sub-int/2addr v4, v5 │ │ +02a16a: 6e20 8106 4100 |0021: invoke-virtual {v1, v4}, Ljava/util/Vector;.remove:(I)Ljava/lang/Object; // method@0681 │ │ +02a170: 0c04 |0024: move-result-object v4 │ │ +02a172: 1f04 9301 |0025: check-cast v4, Lutil/conpool/Connection; // type@0193 │ │ +02a176: 5546 8003 |0027: iget-boolean v6, v4, Lutil/conpool/Connection;.acquired:Z // field@0380 │ │ +02a17a: 3906 2100 |0029: if-nez v6, 004a // +0021 │ │ +02a17e: 5c45 8003 |002b: iput-boolean v5, v4, Lutil/conpool/Connection;.acquired:Z // field@0380 │ │ +02a182: 6206 9003 |002d: sget-object v6, Lutil/conpool/Connection;.toNotify:Lutil/TimoutNotificator; // field@0390 │ │ +02a186: 6e20 8d07 4600 |002f: invoke-virtual {v6, v4}, Lutil/TimoutNotificator;.unregister:(Lutil/TimeoutListener;)V // method@078d │ │ +02a18c: 5546 9103 |0032: iget-boolean v6, v4, Lutil/conpool/Connection;.valid:Z // field@0391 │ │ +02a190: 3806 0900 |0034: if-eqz v6, 003d // +0009 │ │ +02a194: 7010 bf07 0400 |0036: invoke-direct {v4}, Lutil/conpool/Connection;.isAlive:()Z // method@07bf │ │ +02a19a: 0a06 |0039: move-result v6 │ │ +02a19c: 3806 0300 |003a: if-eqz v6, 003d // +0003 │ │ +02a1a0: 2802 |003c: goto 003e // +0002 │ │ +02a1a2: 1205 |003d: const/4 v5, #int 0 // #0 │ │ +02a1a4: 3905 0800 |003e: if-nez v5, 0046 // +0008 │ │ +02a1a8: 7010 ad07 0400 |0040: invoke-direct {v4}, Lutil/conpool/Connection;.closeConnection:()V // method@07ad │ │ +02a1ae: 0154 |0043: move v4, v5 │ │ +02a1b0: 0725 |0044: move-object v5, v2 │ │ +02a1b2: 28ce |0045: goto 0013 // -0032 │ │ +02a1b4: 0157 |0046: move v7, v5 │ │ +02a1b6: 0745 |0047: move-object v5, v4 │ │ +02a1b8: 0174 |0048: move v4, v7 │ │ +02a1ba: 28ca |0049: goto 0013 // -0036 │ │ +02a1bc: 2208 1d01 |004a: new-instance v8, Ljava/lang/IllegalStateException; // type@011d │ │ +02a1c0: 1a01 e501 |004c: const-string v1, "Inconsistent connection state - Cannot take already acquired connection from pool!" // string@01e5 │ │ +02a1c4: 7020 6305 1800 |004e: invoke-direct {v8, v1}, Ljava/lang/IllegalStateException;.:(Ljava/lang/String;)V // method@0563 │ │ +02a1ca: 2708 |0051: throw v8 │ │ +02a1cc: 6e10 7f06 0100 |0052: invoke-virtual {v1}, Ljava/util/Vector;.isEmpty:()Z // method@067f │ │ +02a1d2: 0a01 |0055: move-result v1 │ │ +02a1d4: 3801 0700 |0056: if-eqz v1, 005d // +0007 │ │ +02a1d8: 6201 8303 |0058: sget-object v1, Lutil/conpool/Connection;.connPooled:Ljava/util/HashMap; // field@0383 │ │ +02a1dc: 6e20 2c06 8100 |005a: invoke-virtual {v1, v8}, Ljava/util/HashMap;.remove:(Ljava/lang/Object;)Ljava/lang/Object; // method@062c │ │ +02a1e2: 1e00 |005d: monitor-exit v0 │ │ +02a1e4: 1105 |005e: return-object v5 │ │ +02a1e6: 0d08 |005f: move-exception v8 │ │ +02a1e8: 1e00 |0060: monitor-exit v0 │ │ +02a1ea: 2802 |0061: goto 0063 // +0002 │ │ +02a1ec: 2708 |0062: throw v8 │ │ +02a1ee: 28ff |0063: goto 0062 // -0001 │ │ catches : 1 │ │ 0x0003 - 0x0061 │ │ -> 0x005f │ │ positions : │ │ 0x0000 line=349 │ │ 0x0003 line=350 │ │ 0x000e line=352 │ │ @@ -60231,53 +60231,53 @@ │ │ type : '(Lutil/conpool/Connection;)V' │ │ access : 0x0009 (PUBLIC STATIC) │ │ code - │ │ registers : 6 │ │ ins : 1 │ │ outs : 3 │ │ insns size : 71 16-bit code units │ │ -02a73c: |[02a73c] util.conpool.Connection.poolReuse:(Lutil/conpool/Connection;)V │ │ -02a74c: 6200 8303 |0000: sget-object v0, Lutil/conpool/Connection;.connPooled:Ljava/util/HashMap; // field@0383 │ │ -02a750: 1d00 |0002: monitor-enter v0 │ │ -02a752: 5551 9103 |0003: iget-boolean v1, v5, Lutil/conpool/Connection;.valid:Z // field@0391 │ │ -02a756: 3901 0400 |0005: if-nez v1, 0009 // +0004 │ │ -02a75a: 1e00 |0007: monitor-exit v0 │ │ -02a75c: 0e00 |0008: return-void │ │ -02a75e: 5551 8003 |0009: iget-boolean v1, v5, Lutil/conpool/Connection;.acquired:Z // field@0380 │ │ -02a762: 3801 3100 |000b: if-eqz v1, 003c // +0031 │ │ -02a766: 1201 |000d: const/4 v1, #int 0 // #0 │ │ -02a768: 5c51 8003 |000e: iput-boolean v1, v5, Lutil/conpool/Connection;.acquired:Z // field@0380 │ │ -02a76c: 6201 8303 |0010: sget-object v1, Lutil/conpool/Connection;.connPooled:Ljava/util/HashMap; // field@0383 │ │ -02a770: 5452 8703 |0012: iget-object v2, v5, Lutil/conpool/Connection;.poolKey:Ljava/lang/String; // field@0387 │ │ -02a774: 6e20 2a06 2100 |0014: invoke-virtual {v1, v2}, Ljava/util/HashMap;.get:(Ljava/lang/Object;)Ljava/lang/Object; // method@062a │ │ -02a77a: 0c01 |0017: move-result-object v1 │ │ -02a77c: 1f01 6a01 |0018: check-cast v1, Ljava/util/Vector; // type@016a │ │ -02a780: 3901 0e00 |001a: if-nez v1, 0028 // +000e │ │ -02a784: 2201 6a01 |001c: new-instance v1, Ljava/util/Vector; // type@016a │ │ -02a788: 7010 7706 0100 |001e: invoke-direct {v1}, Ljava/util/Vector;.:()V // method@0677 │ │ -02a78e: 6202 8303 |0021: sget-object v2, Lutil/conpool/Connection;.connPooled:Ljava/util/HashMap; // field@0383 │ │ -02a792: 5453 8703 |0023: iget-object v3, v5, Lutil/conpool/Connection;.poolKey:Ljava/lang/String; // field@0387 │ │ -02a796: 6e30 2b06 3201 |0025: invoke-virtual {v2, v3, v1}, Ljava/util/HashMap;.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; // method@062b │ │ -02a79c: 6202 9003 |0028: sget-object v2, Lutil/conpool/Connection;.toNotify:Lutil/TimoutNotificator; // field@0390 │ │ -02a7a0: 6e20 8a07 5200 |002a: invoke-virtual {v2, v5}, Lutil/TimoutNotificator;.register:(Lutil/TimeoutListener;)V // method@078a │ │ -02a7a6: 5452 8f03 |002d: iget-object v2, v5, Lutil/conpool/Connection;.timeout:Lutil/TimeoutTime; // field@038f │ │ -02a7aa: 6003 7f03 |002f: sget v3, Lutil/conpool/Connection;.POOLTIMEOUT_SECONDS:I // field@037f │ │ -02a7ae: d233 e803 |0031: mul-int/lit16 v3, v3, #int 1000 // #03e8 │ │ -02a7b2: 8133 |0033: int-to-long v3, v3 │ │ -02a7b4: 6e30 8407 3204 |0034: invoke-virtual {v2, v3, v4}, Lutil/TimeoutTime;.setTimeout:(J)V // method@0784 │ │ -02a7ba: 6e20 7906 5100 |0037: invoke-virtual {v1, v5}, Ljava/util/Vector;.add:(Ljava/lang/Object;)Z // method@0679 │ │ -02a7c0: 1e00 |003a: monitor-exit v0 │ │ -02a7c2: 0e00 |003b: return-void │ │ -02a7c4: 2205 1d01 |003c: new-instance v5, Ljava/lang/IllegalStateException; // type@011d │ │ -02a7c8: 1a01 e401 |003e: const-string v1, "Inconsistent connection state - Cannot release non acquired connection" // string@01e4 │ │ -02a7cc: 7020 6305 1500 |0040: invoke-direct {v5, v1}, Ljava/lang/IllegalStateException;.:(Ljava/lang/String;)V // method@0563 │ │ -02a7d2: 2705 |0043: throw v5 │ │ -02a7d4: 0d05 |0044: move-exception v5 │ │ -02a7d6: 1e00 |0045: monitor-exit v0 │ │ -02a7d8: 2705 |0046: throw v5 │ │ +02a738: |[02a738] util.conpool.Connection.poolReuse:(Lutil/conpool/Connection;)V │ │ +02a748: 6200 8303 |0000: sget-object v0, Lutil/conpool/Connection;.connPooled:Ljava/util/HashMap; // field@0383 │ │ +02a74c: 1d00 |0002: monitor-enter v0 │ │ +02a74e: 5551 9103 |0003: iget-boolean v1, v5, Lutil/conpool/Connection;.valid:Z // field@0391 │ │ +02a752: 3901 0400 |0005: if-nez v1, 0009 // +0004 │ │ +02a756: 1e00 |0007: monitor-exit v0 │ │ +02a758: 0e00 |0008: return-void │ │ +02a75a: 5551 8003 |0009: iget-boolean v1, v5, Lutil/conpool/Connection;.acquired:Z // field@0380 │ │ +02a75e: 3801 3100 |000b: if-eqz v1, 003c // +0031 │ │ +02a762: 1201 |000d: const/4 v1, #int 0 // #0 │ │ +02a764: 5c51 8003 |000e: iput-boolean v1, v5, Lutil/conpool/Connection;.acquired:Z // field@0380 │ │ +02a768: 6201 8303 |0010: sget-object v1, Lutil/conpool/Connection;.connPooled:Ljava/util/HashMap; // field@0383 │ │ +02a76c: 5452 8703 |0012: iget-object v2, v5, Lutil/conpool/Connection;.poolKey:Ljava/lang/String; // field@0387 │ │ +02a770: 6e20 2a06 2100 |0014: invoke-virtual {v1, v2}, Ljava/util/HashMap;.get:(Ljava/lang/Object;)Ljava/lang/Object; // method@062a │ │ +02a776: 0c01 |0017: move-result-object v1 │ │ +02a778: 1f01 6a01 |0018: check-cast v1, Ljava/util/Vector; // type@016a │ │ +02a77c: 3901 0e00 |001a: if-nez v1, 0028 // +000e │ │ +02a780: 2201 6a01 |001c: new-instance v1, Ljava/util/Vector; // type@016a │ │ +02a784: 7010 7706 0100 |001e: invoke-direct {v1}, Ljava/util/Vector;.:()V // method@0677 │ │ +02a78a: 6202 8303 |0021: sget-object v2, Lutil/conpool/Connection;.connPooled:Ljava/util/HashMap; // field@0383 │ │ +02a78e: 5453 8703 |0023: iget-object v3, v5, Lutil/conpool/Connection;.poolKey:Ljava/lang/String; // field@0387 │ │ +02a792: 6e30 2b06 3201 |0025: invoke-virtual {v2, v3, v1}, Ljava/util/HashMap;.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; // method@062b │ │ +02a798: 6202 9003 |0028: sget-object v2, Lutil/conpool/Connection;.toNotify:Lutil/TimoutNotificator; // field@0390 │ │ +02a79c: 6e20 8a07 5200 |002a: invoke-virtual {v2, v5}, Lutil/TimoutNotificator;.register:(Lutil/TimeoutListener;)V // method@078a │ │ +02a7a2: 5452 8f03 |002d: iget-object v2, v5, Lutil/conpool/Connection;.timeout:Lutil/TimeoutTime; // field@038f │ │ +02a7a6: 6003 7f03 |002f: sget v3, Lutil/conpool/Connection;.POOLTIMEOUT_SECONDS:I // field@037f │ │ +02a7aa: d233 e803 |0031: mul-int/lit16 v3, v3, #int 1000 // #03e8 │ │ +02a7ae: 8133 |0033: int-to-long v3, v3 │ │ +02a7b0: 6e30 8407 3204 |0034: invoke-virtual {v2, v3, v4}, Lutil/TimeoutTime;.setTimeout:(J)V // method@0784 │ │ +02a7b6: 6e20 7906 5100 |0037: invoke-virtual {v1, v5}, Ljava/util/Vector;.add:(Ljava/lang/Object;)Z // method@0679 │ │ +02a7bc: 1e00 |003a: monitor-exit v0 │ │ +02a7be: 0e00 |003b: return-void │ │ +02a7c0: 2205 1d01 |003c: new-instance v5, Ljava/lang/IllegalStateException; // type@011d │ │ +02a7c4: 1a01 e401 |003e: const-string v1, "Inconsistent connection state - Cannot release non acquired connection" // string@01e4 │ │ +02a7c8: 7020 6305 1500 |0040: invoke-direct {v5, v1}, Ljava/lang/IllegalStateException;.:(Ljava/lang/String;)V // method@0563 │ │ +02a7ce: 2705 |0043: throw v5 │ │ +02a7d0: 0d05 |0044: move-exception v5 │ │ +02a7d2: 1e00 |0045: monitor-exit v0 │ │ +02a7d4: 2705 |0046: throw v5 │ │ catches : 1 │ │ 0x0003 - 0x0046 │ │ -> 0x0044 │ │ positions : │ │ 0x0000 line=328 │ │ 0x0003 line=329 │ │ 0x0007 line=330 │ │ @@ -60300,17 +60300,17 @@ │ │ type : '(Ljava/lang/String;)V' │ │ access : 0x0009 (PUBLIC STATIC) │ │ code - │ │ registers : 1 │ │ ins : 1 │ │ outs : 0 │ │ insns size : 3 16-bit code units │ │ -02a900: |[02a900] util.conpool.Connection.setCustomHostsFile:(Ljava/lang/String;)V │ │ -02a910: 6900 7d03 |0000: sput-object v0, Lutil/conpool/Connection;.CUSTOM_HOSTS_FILE_NAME:Ljava/lang/String; // field@037d │ │ -02a914: 0e00 |0002: return-void │ │ +02a8fc: |[02a8fc] util.conpool.Connection.setCustomHostsFile:(Ljava/lang/String;)V │ │ +02a90c: 6900 7d03 |0000: sput-object v0, Lutil/conpool/Connection;.CUSTOM_HOSTS_FILE_NAME:Ljava/lang/String; // field@037d │ │ +02a910: 0e00 |0002: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=161 │ │ locals : │ │ 0x0000 - 0x0003 reg=0 (null) Ljava/lang/String; │ │ │ │ #23 : (in Lutil/conpool/Connection;) │ │ @@ -60318,17 +60318,17 @@ │ │ type : '(I)V' │ │ access : 0x0009 (PUBLIC STATIC) │ │ code - │ │ registers : 1 │ │ ins : 1 │ │ outs : 0 │ │ insns size : 3 16-bit code units │ │ -02a918: |[02a918] util.conpool.Connection.setPoolTimeoutSeconds:(I)V │ │ -02a928: 6700 7f03 |0000: sput v0, Lutil/conpool/Connection;.POOLTIMEOUT_SECONDS:I // field@037f │ │ -02a92c: 0e00 |0002: return-void │ │ +02a914: |[02a914] util.conpool.Connection.setPoolTimeoutSeconds:(I)V │ │ +02a924: 6700 7f03 |0000: sput v0, Lutil/conpool/Connection;.POOLTIMEOUT_SECONDS:I // field@037f │ │ +02a928: 0e00 |0002: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=289 │ │ locals : │ │ 0x0000 - 0x0003 reg=0 (null) I │ │ │ │ Virtual methods - │ │ @@ -60337,17 +60337,17 @@ │ │ type : '()Ljava/lang/String;' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 0 │ │ insns size : 3 16-bit code units │ │ -029c50: |[029c50] util.conpool.Connection.getDestination:()Ljava/lang/String; │ │ -029c60: 5410 8703 |0000: iget-object v0, v1, Lutil/conpool/Connection;.poolKey:Ljava/lang/String; // field@0387 │ │ -029c64: 1100 |0002: return-object v0 │ │ +029c4c: |[029c4c] util.conpool.Connection.getDestination:()Ljava/lang/String; │ │ +029c5c: 5410 8703 |0000: iget-object v0, v1, Lutil/conpool/Connection;.poolKey:Ljava/lang/String; // field@0387 │ │ +029c60: 1100 |0002: return-object v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=491 │ │ locals : │ │ 0x0000 - 0x0003 reg=1 this Lutil/conpool/Connection; │ │ │ │ #1 : (in Lutil/conpool/Connection;) │ │ @@ -60355,17 +60355,17 @@ │ │ type : '()Ljava/io/InputStream;' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 0 │ │ insns size : 3 16-bit code units │ │ -029c20: |[029c20] util.conpool.Connection.getInputStream:()Ljava/io/InputStream; │ │ -029c30: 5410 8503 |0000: iget-object v0, v1, Lutil/conpool/Connection;.in:Lutil/conpool/PooledConnectionInputStream; // field@0385 │ │ -029c34: 1100 |0002: return-object v0 │ │ +029c1c: |[029c1c] util.conpool.Connection.getInputStream:()Ljava/io/InputStream; │ │ +029c2c: 5410 8503 |0000: iget-object v0, v1, Lutil/conpool/Connection;.in:Lutil/conpool/PooledConnectionInputStream; // field@0385 │ │ +029c30: 1100 |0002: return-object v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=409 │ │ locals : │ │ 0x0000 - 0x0003 reg=1 this Lutil/conpool/Connection; │ │ │ │ #2 : (in Lutil/conpool/Connection;) │ │ @@ -60373,17 +60373,17 @@ │ │ type : '()Ljava/io/OutputStream;' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 0 │ │ insns size : 3 16-bit code units │ │ -029c38: |[029c38] util.conpool.Connection.getOutputStream:()Ljava/io/OutputStream; │ │ -029c48: 5410 8603 |0000: iget-object v0, v1, Lutil/conpool/Connection;.out:Lutil/conpool/PooledConnectionOutputStream; // field@0386 │ │ -029c4c: 1100 |0002: return-object v0 │ │ +029c34: |[029c34] util.conpool.Connection.getOutputStream:()Ljava/io/OutputStream; │ │ +029c44: 5410 8603 |0000: iget-object v0, v1, Lutil/conpool/Connection;.out:Lutil/conpool/PooledConnectionOutputStream; // field@0386 │ │ +029c48: 1100 |0002: return-object v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=405 │ │ locals : │ │ 0x0000 - 0x0003 reg=1 this Lutil/conpool/Connection; │ │ │ │ #3 : (in Lutil/conpool/Connection;) │ │ @@ -60391,19 +60391,19 @@ │ │ type : '()J' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 3 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 7 16-bit code units │ │ -029f30: |[029f30] util.conpool.Connection.getTimoutTime:()J │ │ -029f40: 5420 8f03 |0000: iget-object v0, v2, Lutil/conpool/Connection;.timeout:Lutil/TimeoutTime; // field@038f │ │ -029f44: 6e10 8307 0000 |0002: invoke-virtual {v0}, Lutil/TimeoutTime;.getTimeout:()J // method@0783 │ │ -029f4a: 0b00 |0005: move-result-wide v0 │ │ -029f4c: 1000 |0006: return-wide v0 │ │ +029f2c: |[029f2c] util.conpool.Connection.getTimoutTime:()J │ │ +029f3c: 5420 8f03 |0000: iget-object v0, v2, Lutil/conpool/Connection;.timeout:Lutil/TimeoutTime; // field@038f │ │ +029f40: 6e10 8307 0000 |0002: invoke-virtual {v0}, Lutil/TimeoutTime;.getTimeout:()J // method@0783 │ │ +029f46: 0b00 |0005: move-result-wide v0 │ │ +029f48: 1000 |0006: return-wide v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=476 │ │ locals : │ │ 0x0000 - 0x0007 reg=2 this Lutil/conpool/Connection; │ │ │ │ #4 : (in Lutil/conpool/Connection;) │ │ @@ -60411,34 +60411,34 @@ │ │ type : '()[J' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 7 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 34 16-bit code units │ │ -029f50: |[029f50] util.conpool.Connection.getTraffic:()[J │ │ -029f60: 5560 8003 |0000: iget-boolean v0, v6, Lutil/conpool/Connection;.acquired:Z // field@0380 │ │ -029f64: 3800 1800 |0002: if-eqz v0, 001a // +0018 │ │ -029f68: 5460 8503 |0004: iget-object v0, v6, Lutil/conpool/Connection;.in:Lutil/conpool/PooledConnectionInputStream; // field@0385 │ │ -029f6c: 6e10 d107 0000 |0006: invoke-virtual {v0}, Lutil/conpool/PooledConnectionInputStream;.getTraffic:()J // method@07d1 │ │ -029f72: 0b00 |0009: move-result-wide v0 │ │ -029f74: 5462 8603 |000a: iget-object v2, v6, Lutil/conpool/Connection;.out:Lutil/conpool/PooledConnectionOutputStream; // field@0386 │ │ -029f78: 6e10 d907 0200 |000c: invoke-virtual {v2}, Lutil/conpool/PooledConnectionOutputStream;.getTraffic:()J // method@07d9 │ │ -029f7e: 0b02 |000f: move-result-wide v2 │ │ -029f80: 1224 |0010: const/4 v4, #int 2 // #2 │ │ -029f82: 2344 9f01 |0011: new-array v4, v4, [J // type@019f │ │ -029f86: 1205 |0013: const/4 v5, #int 0 // #0 │ │ -029f88: 4c00 0405 |0014: aput-wide v0, v4, v5 │ │ -029f8c: 1210 |0016: const/4 v0, #int 1 // #1 │ │ -029f8e: 4c02 0400 |0017: aput-wide v2, v4, v0 │ │ -029f92: 1104 |0019: return-object v4 │ │ -029f94: 2200 1d01 |001a: new-instance v0, Ljava/lang/IllegalStateException; // type@011d │ │ -029f98: 1a01 e601 |001c: const-string v1, "Inconsistent connection state - Connection is not acquired!" // string@01e6 │ │ -029f9c: 7020 6305 1000 |001e: invoke-direct {v0, v1}, Ljava/lang/IllegalStateException;.:(Ljava/lang/String;)V // method@0563 │ │ -029fa2: 2700 |0021: throw v0 │ │ +029f4c: |[029f4c] util.conpool.Connection.getTraffic:()[J │ │ +029f5c: 5560 8003 |0000: iget-boolean v0, v6, Lutil/conpool/Connection;.acquired:Z // field@0380 │ │ +029f60: 3800 1800 |0002: if-eqz v0, 001a // +0018 │ │ +029f64: 5460 8503 |0004: iget-object v0, v6, Lutil/conpool/Connection;.in:Lutil/conpool/PooledConnectionInputStream; // field@0385 │ │ +029f68: 6e10 d107 0000 |0006: invoke-virtual {v0}, Lutil/conpool/PooledConnectionInputStream;.getTraffic:()J // method@07d1 │ │ +029f6e: 0b00 |0009: move-result-wide v0 │ │ +029f70: 5462 8603 |000a: iget-object v2, v6, Lutil/conpool/Connection;.out:Lutil/conpool/PooledConnectionOutputStream; // field@0386 │ │ +029f74: 6e10 d907 0200 |000c: invoke-virtual {v2}, Lutil/conpool/PooledConnectionOutputStream;.getTraffic:()J // method@07d9 │ │ +029f7a: 0b02 |000f: move-result-wide v2 │ │ +029f7c: 1224 |0010: const/4 v4, #int 2 // #2 │ │ +029f7e: 2344 9f01 |0011: new-array v4, v4, [J // type@019f │ │ +029f82: 1205 |0013: const/4 v5, #int 0 // #0 │ │ +029f84: 4c00 0405 |0014: aput-wide v0, v4, v5 │ │ +029f88: 1210 |0016: const/4 v0, #int 1 // #1 │ │ +029f8a: 4c02 0400 |0017: aput-wide v2, v4, v0 │ │ +029f8e: 1104 |0019: return-object v4 │ │ +029f90: 2200 1d01 |001a: new-instance v0, Ljava/lang/IllegalStateException; // type@011d │ │ +029f94: 1a01 e601 |001c: const-string v1, "Inconsistent connection state - Connection is not acquired!" // string@01e6 │ │ +029f98: 7020 6305 1000 |001e: invoke-direct {v0, v1}, Ljava/lang/IllegalStateException;.:(Ljava/lang/String;)V // method@0563 │ │ +029f9e: 2700 |0021: throw v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=483 │ │ 0x0004 line=485 │ │ 0x001a line=484 │ │ locals : │ │ 0x0000 - 0x0022 reg=6 this Lutil/conpool/Connection; │ │ @@ -60448,38 +60448,38 @@ │ │ type : '()V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 3 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 51 16-bit code units │ │ -02a7e8: |[02a7e8] util.conpool.Connection.refreshConnection:()V │ │ -02a7f8: 5420 8a03 |0000: iget-object v0, v2, Lutil/conpool/Connection;.socket:Ljava/net/Socket; // field@038a │ │ -02a7fc: 3800 0700 |0002: if-eqz v0, 0009 // +0007 │ │ -02a800: 6e10 ee05 0000 |0004: invoke-virtual {v0}, Ljava/net/Socket;.getSoTimeout:()I // method@05ee │ │ -02a806: 0a00 |0007: move-result v0 │ │ -02a808: 2802 |0008: goto 000a // +0002 │ │ -02a80a: 1200 |0009: const/4 v0, #int 0 // #0 │ │ -02a80c: 5421 8503 |000a: iget-object v1, v2, Lutil/conpool/Connection;.in:Lutil/conpool/PooledConnectionInputStream; // field@0385 │ │ -02a810: 6e10 d207 0100 |000c: invoke-virtual {v1}, Lutil/conpool/PooledConnectionInputStream;.invalidate:()V // method@07d2 │ │ -02a816: 5421 8603 |000f: iget-object v1, v2, Lutil/conpool/Connection;.out:Lutil/conpool/PooledConnectionOutputStream; // field@0386 │ │ -02a81a: 6e10 da07 0100 |0011: invoke-virtual {v1}, Lutil/conpool/PooledConnectionOutputStream;.invalidate:()V // method@07da │ │ -02a820: 5521 8d03 |0014: iget-boolean v1, v2, Lutil/conpool/Connection;.ssl:Z // field@038d │ │ -02a824: 3901 0c00 |0016: if-nez v1, 0022 // +000c │ │ -02a828: 5421 8a03 |0018: iget-object v1, v2, Lutil/conpool/Connection;.socket:Ljava/net/Socket; // field@038a │ │ -02a82c: 6e10 f105 0100 |001a: invoke-virtual {v1}, Ljava/net/Socket;.shutdownOutput:()V // method@05f1 │ │ -02a832: 5421 8a03 |001d: iget-object v1, v2, Lutil/conpool/Connection;.socket:Ljava/net/Socket; // field@038a │ │ -02a836: 6e10 f005 0100 |001f: invoke-virtual {v1}, Ljava/net/Socket;.shutdownInput:()V // method@05f0 │ │ -02a83c: 5421 8a03 |0022: iget-object v1, v2, Lutil/conpool/Connection;.socket:Ljava/net/Socket; // field@038a │ │ -02a840: 6e10 ea05 0100 |0024: invoke-virtual {v1}, Ljava/net/Socket;.close:()V // method@05ea │ │ -02a846: 7010 b407 0200 |0027: invoke-direct {v2}, Lutil/conpool/Connection;.establishConnection:()V // method@07b4 │ │ -02a84c: 5421 8a03 |002a: iget-object v1, v2, Lutil/conpool/Connection;.socket:Ljava/net/Socket; // field@038a │ │ -02a850: 6e20 ef05 0100 |002c: invoke-virtual {v1, v0}, Ljava/net/Socket;.setSoTimeout:(I)V // method@05ef │ │ -02a856: 7010 bd07 0200 |002f: invoke-direct {v2}, Lutil/conpool/Connection;.initStreams:()V // method@07bd │ │ -02a85c: 0e00 |0032: return-void │ │ +02a7e4: |[02a7e4] util.conpool.Connection.refreshConnection:()V │ │ +02a7f4: 5420 8a03 |0000: iget-object v0, v2, Lutil/conpool/Connection;.socket:Ljava/net/Socket; // field@038a │ │ +02a7f8: 3800 0700 |0002: if-eqz v0, 0009 // +0007 │ │ +02a7fc: 6e10 ee05 0000 |0004: invoke-virtual {v0}, Ljava/net/Socket;.getSoTimeout:()I // method@05ee │ │ +02a802: 0a00 |0007: move-result v0 │ │ +02a804: 2802 |0008: goto 000a // +0002 │ │ +02a806: 1200 |0009: const/4 v0, #int 0 // #0 │ │ +02a808: 5421 8503 |000a: iget-object v1, v2, Lutil/conpool/Connection;.in:Lutil/conpool/PooledConnectionInputStream; // field@0385 │ │ +02a80c: 6e10 d207 0100 |000c: invoke-virtual {v1}, Lutil/conpool/PooledConnectionInputStream;.invalidate:()V // method@07d2 │ │ +02a812: 5421 8603 |000f: iget-object v1, v2, Lutil/conpool/Connection;.out:Lutil/conpool/PooledConnectionOutputStream; // field@0386 │ │ +02a816: 6e10 da07 0100 |0011: invoke-virtual {v1}, Lutil/conpool/PooledConnectionOutputStream;.invalidate:()V // method@07da │ │ +02a81c: 5521 8d03 |0014: iget-boolean v1, v2, Lutil/conpool/Connection;.ssl:Z // field@038d │ │ +02a820: 3901 0c00 |0016: if-nez v1, 0022 // +000c │ │ +02a824: 5421 8a03 |0018: iget-object v1, v2, Lutil/conpool/Connection;.socket:Ljava/net/Socket; // field@038a │ │ +02a828: 6e10 f105 0100 |001a: invoke-virtual {v1}, Ljava/net/Socket;.shutdownOutput:()V // method@05f1 │ │ +02a82e: 5421 8a03 |001d: iget-object v1, v2, Lutil/conpool/Connection;.socket:Ljava/net/Socket; // field@038a │ │ +02a832: 6e10 f005 0100 |001f: invoke-virtual {v1}, Ljava/net/Socket;.shutdownInput:()V // method@05f0 │ │ +02a838: 5421 8a03 |0022: iget-object v1, v2, Lutil/conpool/Connection;.socket:Ljava/net/Socket; // field@038a │ │ +02a83c: 6e10 ea05 0100 |0024: invoke-virtual {v1}, Ljava/net/Socket;.close:()V // method@05ea │ │ +02a842: 7010 b407 0200 |0027: invoke-direct {v2}, Lutil/conpool/Connection;.establishConnection:()V // method@07b4 │ │ +02a848: 5421 8a03 |002a: iget-object v1, v2, Lutil/conpool/Connection;.socket:Ljava/net/Socket; // field@038a │ │ +02a84c: 6e20 ef05 0100 |002c: invoke-virtual {v1, v0}, Ljava/net/Socket;.setSoTimeout:(I)V // method@05ef │ │ +02a852: 7010 bd07 0200 |002f: invoke-direct {v2}, Lutil/conpool/Connection;.initStreams:()V // method@07bd │ │ +02a858: 0e00 |0032: return-void │ │ catches : 1 │ │ 0x000a - 0x0027 │ │ Ljava/io/IOException; -> 0x0027 │ │ positions : │ │ 0x0000 line=265 │ │ 0x0004 line=266 │ │ 0x000a line=269 │ │ @@ -60499,40 +60499,40 @@ │ │ type : '(Z)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 4 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 47 16-bit code units │ │ -02a870: |[02a870] util.conpool.Connection.release:(Z)V │ │ -02a880: 5520 9103 |0000: iget-boolean v0, v2, Lutil/conpool/Connection;.valid:Z // field@0391 │ │ -02a884: 3900 0300 |0002: if-nez v0, 0005 // +0003 │ │ -02a888: 0e00 |0004: return-void │ │ -02a88a: 6200 8203 |0005: sget-object v0, Lutil/conpool/Connection;.connAcquired:Ljava/util/HashSet; // field@0382 │ │ -02a88e: 1d00 |0007: monitor-enter v0 │ │ -02a890: 6201 8203 |0008: sget-object v1, Lutil/conpool/Connection;.connAcquired:Ljava/util/HashSet; // field@0382 │ │ -02a894: 6e20 3506 2100 |000a: invoke-virtual {v1, v2}, Ljava/util/HashSet;.remove:(Ljava/lang/Object;)Z // method@0635 │ │ -02a89a: 1e00 |000d: monitor-exit v0 │ │ -02a89c: 3803 1a00 |000e: if-eqz v3, 0028 // +001a │ │ -02a8a0: 5423 8503 |0010: iget-object v3, v2, Lutil/conpool/Connection;.in:Lutil/conpool/PooledConnectionInputStream; // field@0385 │ │ -02a8a4: 6e10 d207 0300 |0012: invoke-virtual {v3}, Lutil/conpool/PooledConnectionInputStream;.invalidate:()V // method@07d2 │ │ -02a8aa: 5423 8603 |0015: iget-object v3, v2, Lutil/conpool/Connection;.out:Lutil/conpool/PooledConnectionOutputStream; // field@0386 │ │ -02a8ae: 6e10 da07 0300 |0017: invoke-virtual {v3}, Lutil/conpool/PooledConnectionOutputStream;.invalidate:()V // method@07da │ │ -02a8b4: 1203 |001a: const/4 v3, #int 0 // #0 │ │ -02a8b6: 5420 8a03 |001b: iget-object v0, v2, Lutil/conpool/Connection;.socket:Ljava/net/Socket; // field@038a │ │ -02a8ba: 6e20 ef05 3000 |001d: invoke-virtual {v0, v3}, Ljava/net/Socket;.setSoTimeout:(I)V // method@05ef │ │ -02a8c0: 7110 c307 0200 |0020: invoke-static {v2}, Lutil/conpool/Connection;.poolReuse:(Lutil/conpool/Connection;)V // method@07c3 │ │ -02a8c6: 2808 |0023: goto 002b // +0008 │ │ -02a8c8: 6e20 c507 3200 |0024: invoke-virtual {v2, v3}, Lutil/conpool/Connection;.release:(Z)V // method@07c5 │ │ -02a8ce: 0e00 |0027: return-void │ │ -02a8d0: 7010 ad07 0200 |0028: invoke-direct {v2}, Lutil/conpool/Connection;.closeConnection:()V // method@07ad │ │ -02a8d6: 0e00 |002b: return-void │ │ -02a8d8: 0d03 |002c: move-exception v3 │ │ -02a8da: 1e00 |002d: monitor-exit v0 │ │ -02a8dc: 2703 |002e: throw v3 │ │ +02a86c: |[02a86c] util.conpool.Connection.release:(Z)V │ │ +02a87c: 5520 9103 |0000: iget-boolean v0, v2, Lutil/conpool/Connection;.valid:Z // field@0391 │ │ +02a880: 3900 0300 |0002: if-nez v0, 0005 // +0003 │ │ +02a884: 0e00 |0004: return-void │ │ +02a886: 6200 8203 |0005: sget-object v0, Lutil/conpool/Connection;.connAcquired:Ljava/util/HashSet; // field@0382 │ │ +02a88a: 1d00 |0007: monitor-enter v0 │ │ +02a88c: 6201 8203 |0008: sget-object v1, Lutil/conpool/Connection;.connAcquired:Ljava/util/HashSet; // field@0382 │ │ +02a890: 6e20 3506 2100 |000a: invoke-virtual {v1, v2}, Ljava/util/HashSet;.remove:(Ljava/lang/Object;)Z // method@0635 │ │ +02a896: 1e00 |000d: monitor-exit v0 │ │ +02a898: 3803 1a00 |000e: if-eqz v3, 0028 // +001a │ │ +02a89c: 5423 8503 |0010: iget-object v3, v2, Lutil/conpool/Connection;.in:Lutil/conpool/PooledConnectionInputStream; // field@0385 │ │ +02a8a0: 6e10 d207 0300 |0012: invoke-virtual {v3}, Lutil/conpool/PooledConnectionInputStream;.invalidate:()V // method@07d2 │ │ +02a8a6: 5423 8603 |0015: iget-object v3, v2, Lutil/conpool/Connection;.out:Lutil/conpool/PooledConnectionOutputStream; // field@0386 │ │ +02a8aa: 6e10 da07 0300 |0017: invoke-virtual {v3}, Lutil/conpool/PooledConnectionOutputStream;.invalidate:()V // method@07da │ │ +02a8b0: 1203 |001a: const/4 v3, #int 0 // #0 │ │ +02a8b2: 5420 8a03 |001b: iget-object v0, v2, Lutil/conpool/Connection;.socket:Ljava/net/Socket; // field@038a │ │ +02a8b6: 6e20 ef05 3000 |001d: invoke-virtual {v0, v3}, Ljava/net/Socket;.setSoTimeout:(I)V // method@05ef │ │ +02a8bc: 7110 c307 0200 |0020: invoke-static {v2}, Lutil/conpool/Connection;.poolReuse:(Lutil/conpool/Connection;)V // method@07c3 │ │ +02a8c2: 2808 |0023: goto 002b // +0008 │ │ +02a8c4: 6e20 c507 3200 |0024: invoke-virtual {v2, v3}, Lutil/conpool/Connection;.release:(Z)V // method@07c5 │ │ +02a8ca: 0e00 |0027: return-void │ │ +02a8cc: 7010 ad07 0200 |0028: invoke-direct {v2}, Lutil/conpool/Connection;.closeConnection:()V // method@07ad │ │ +02a8d2: 0e00 |002b: return-void │ │ +02a8d4: 0d03 |002c: move-exception v3 │ │ +02a8d6: 1e00 |002d: monitor-exit v0 │ │ +02a8d8: 2703 |002e: throw v3 │ │ catches : 3 │ │ 0x0008 - 0x000e │ │ -> 0x002c │ │ 0x001b - 0x0020 │ │ Ljava/net/SocketException; -> 0x0024 │ │ 0x002d - 0x002e │ │ -> 0x002c │ │ @@ -60557,18 +60557,18 @@ │ │ type : '(I)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 3 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 6 16-bit code units │ │ -02a930: |[02a930] util.conpool.Connection.setSoTimeout:(I)V │ │ -02a940: 5410 8a03 |0000: iget-object v0, v1, Lutil/conpool/Connection;.socket:Ljava/net/Socket; // field@038a │ │ -02a944: 6e20 ef05 2000 |0002: invoke-virtual {v0, v2}, Ljava/net/Socket;.setSoTimeout:(I)V // method@05ef │ │ -02a94a: 0e00 |0005: return-void │ │ +02a92c: |[02a92c] util.conpool.Connection.setSoTimeout:(I)V │ │ +02a93c: 5410 8a03 |0000: iget-object v0, v1, Lutil/conpool/Connection;.socket:Ljava/net/Socket; // field@038a │ │ +02a940: 6e20 ef05 2000 |0002: invoke-virtual {v0, v2}, Ljava/net/Socket;.setSoTimeout:(I)V // method@05ef │ │ +02a946: 0e00 |0005: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=450 │ │ locals : │ │ 0x0000 - 0x0006 reg=1 this Lutil/conpool/Connection; │ │ 0x0000 - 0x0006 reg=2 (null) I │ │ │ │ @@ -60577,40 +60577,40 @@ │ │ type : '()V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 5 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 44 16-bit code units │ │ -02a94c: |[02a94c] util.conpool.Connection.timeoutNotification:()V │ │ -02a95c: 6200 8303 |0000: sget-object v0, Lutil/conpool/Connection;.connPooled:Ljava/util/HashMap; // field@0383 │ │ -02a960: 1d00 |0002: monitor-enter v0 │ │ -02a962: 6201 8303 |0003: sget-object v1, Lutil/conpool/Connection;.connPooled:Ljava/util/HashMap; // field@0383 │ │ -02a966: 5442 8703 |0005: iget-object v2, v4, Lutil/conpool/Connection;.poolKey:Ljava/lang/String; // field@0387 │ │ -02a96a: 6e20 2a06 2100 |0007: invoke-virtual {v1, v2}, Ljava/util/HashMap;.get:(Ljava/lang/Object;)Ljava/lang/Object; // method@062a │ │ -02a970: 0c01 |000a: move-result-object v1 │ │ -02a972: 1f01 6a01 |000b: check-cast v1, Ljava/util/Vector; // type@016a │ │ -02a976: 3901 0400 |000d: if-nez v1, 0011 // +0004 │ │ -02a97a: 1e00 |000f: monitor-exit v0 │ │ -02a97c: 0e00 |0010: return-void │ │ -02a97e: 6e20 8206 4100 |0011: invoke-virtual {v1, v4}, Ljava/util/Vector;.remove:(Ljava/lang/Object;)Z // method@0682 │ │ -02a984: 0a02 |0014: move-result v2 │ │ -02a986: 6e10 7f06 0100 |0015: invoke-virtual {v1}, Ljava/util/Vector;.isEmpty:()Z // method@067f │ │ -02a98c: 0a01 |0018: move-result v1 │ │ -02a98e: 3801 0900 |0019: if-eqz v1, 0022 // +0009 │ │ -02a992: 6201 8303 |001b: sget-object v1, Lutil/conpool/Connection;.connPooled:Ljava/util/HashMap; // field@0383 │ │ -02a996: 5443 8703 |001d: iget-object v3, v4, Lutil/conpool/Connection;.poolKey:Ljava/lang/String; // field@0387 │ │ -02a99a: 6e20 2c06 3100 |001f: invoke-virtual {v1, v3}, Ljava/util/HashMap;.remove:(Ljava/lang/Object;)Ljava/lang/Object; // method@062c │ │ -02a9a0: 1e00 |0022: monitor-exit v0 │ │ -02a9a2: 3802 0500 |0023: if-eqz v2, 0028 // +0005 │ │ -02a9a6: 7010 ad07 0400 |0025: invoke-direct {v4}, Lutil/conpool/Connection;.closeConnection:()V // method@07ad │ │ -02a9ac: 0e00 |0028: return-void │ │ -02a9ae: 0d01 |0029: move-exception v1 │ │ -02a9b0: 1e00 |002a: monitor-exit v0 │ │ -02a9b2: 2701 |002b: throw v1 │ │ +02a948: |[02a948] util.conpool.Connection.timeoutNotification:()V │ │ +02a958: 6200 8303 |0000: sget-object v0, Lutil/conpool/Connection;.connPooled:Ljava/util/HashMap; // field@0383 │ │ +02a95c: 1d00 |0002: monitor-enter v0 │ │ +02a95e: 6201 8303 |0003: sget-object v1, Lutil/conpool/Connection;.connPooled:Ljava/util/HashMap; // field@0383 │ │ +02a962: 5442 8703 |0005: iget-object v2, v4, Lutil/conpool/Connection;.poolKey:Ljava/lang/String; // field@0387 │ │ +02a966: 6e20 2a06 2100 |0007: invoke-virtual {v1, v2}, Ljava/util/HashMap;.get:(Ljava/lang/Object;)Ljava/lang/Object; // method@062a │ │ +02a96c: 0c01 |000a: move-result-object v1 │ │ +02a96e: 1f01 6a01 |000b: check-cast v1, Ljava/util/Vector; // type@016a │ │ +02a972: 3901 0400 |000d: if-nez v1, 0011 // +0004 │ │ +02a976: 1e00 |000f: monitor-exit v0 │ │ +02a978: 0e00 |0010: return-void │ │ +02a97a: 6e20 8206 4100 |0011: invoke-virtual {v1, v4}, Ljava/util/Vector;.remove:(Ljava/lang/Object;)Z // method@0682 │ │ +02a980: 0a02 |0014: move-result v2 │ │ +02a982: 6e10 7f06 0100 |0015: invoke-virtual {v1}, Ljava/util/Vector;.isEmpty:()Z // method@067f │ │ +02a988: 0a01 |0018: move-result v1 │ │ +02a98a: 3801 0900 |0019: if-eqz v1, 0022 // +0009 │ │ +02a98e: 6201 8303 |001b: sget-object v1, Lutil/conpool/Connection;.connPooled:Ljava/util/HashMap; // field@0383 │ │ +02a992: 5443 8703 |001d: iget-object v3, v4, Lutil/conpool/Connection;.poolKey:Ljava/lang/String; // field@0387 │ │ +02a996: 6e20 2c06 3100 |001f: invoke-virtual {v1, v3}, Ljava/util/HashMap;.remove:(Ljava/lang/Object;)Ljava/lang/Object; // method@062c │ │ +02a99c: 1e00 |0022: monitor-exit v0 │ │ +02a99e: 3802 0500 |0023: if-eqz v2, 0028 // +0005 │ │ +02a9a2: 7010 ad07 0400 |0025: invoke-direct {v4}, Lutil/conpool/Connection;.closeConnection:()V // method@07ad │ │ +02a9a8: 0e00 |0028: return-void │ │ +02a9aa: 0d01 |0029: move-exception v1 │ │ +02a9ac: 1e00 |002a: monitor-exit v0 │ │ +02a9ae: 2701 |002b: throw v1 │ │ catches : 2 │ │ 0x0003 - 0x0023 │ │ -> 0x0029 │ │ 0x002a - 0x002b │ │ -> 0x0029 │ │ positions : │ │ 0x0000 line=459 │ ├── classes.jar │ │ ├── zipinfo {} │ │ │ @@ -1,8 +1,8 @@ │ │ │ -Zip file size: 428870 bytes, number of entries: 150 │ │ │ +Zip file size: 428851 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 4587 b- stor 80-Jan-01 00:00 dnsfilter/android/BootUpReceiver$$ExternalSyntheticApiModelOutline0.class │ │ │ ?rwxrwxr-x 2.0 unx 2442 b- stor 80-Jan-01 00:00 dnsfilter/android/BootUpReceiver.class │ │ │ ?rwxrwxr-x 2.0 unx 2277 b- stor 80-Jan-01 00:00 dnsfilter/android/ConnectionChangeReceiver.class │ │ │ ?rwxrwxr-x 2.0 unx 656 b- stor 80-Jan-01 00:00 dnsfilter/android/DNSFilterService$1.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 11831 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, 477020 bytes uncompressed, 403676 bytes compressed: 15.4% │ │ │ +150 files, 477001 bytes uncompressed, 403657 bytes compressed: 15.4% │ │ ├── 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