--- /home/fdroid/fdroiddata/tmp/dnsfilter.android_1505800.apk +++ /home/fdroid/fdroiddata/tmp/sigcp_dnsfilter.android_1505800.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 271660 b- defN 81-Jan-01 01:01 classes.dex │ +-rw-r--r-- 0.0 unx 271656 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, 946024 bytes uncompressed, 581729 bytes compressed: 38.5% │ +405 files, 946020 bytes uncompressed, 581736 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 : c0399baf │ │ -signature : 9b14...5b9a │ │ -file_size : 271660 │ │ +checksum : 57de89ec │ │ +signature : 2ac1...35e6 │ │ +file_size : 271656 │ │ 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 : 21412 (0x0053a4) │ │ method_ids_size : 2054 │ │ method_ids_off : 28972 (0x00712c) │ │ class_defs_size : 150 │ │ class_defs_off : 45404 (0x00b15c) │ │ -data_size : 221456 │ │ +data_size : 221452 │ │ data_off : 50204 (0x00c41c) │ │ │ │ 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 │ │ 015b60: |[015b60] dnsfilter.android.AppSelectorView$AsyncLoader.run:()V │ │ 015b70: 1a00 5000 |0000: const-string v0, "," // string@0050 │ │ 015b74: 1d0b |0002: monitor-enter v11 │ │ 015b76: 7100 4002 0000 |0003: invoke-static {}, Ldnsfilter/android/AppSelectorView;.access$100:()I // method@0240 │ │ 015b7c: 0a01 |0006: move-result v1 │ │ 015b7e: 3901 1b00 |0007: if-nez v1, 0022 // +001b │ │ 015b82: 54b1 9700 |0009: iget-object v1, v11, Ldnsfilter/android/AppSelectorView$AsyncLoader;.this$0:Ldnsfilter/android/AppSelectorView; // field@0097 │ │ @@ -8898,17 +8898,17 @@ │ │ 015d78: 0c02 |0104: move-result-object v2 │ │ 015d7a: 1f02 a501 |0105: check-cast v2, [Ldnsfilter/android/AppSelectorView$ComparableAppInfoWrapper; // type@01a5 │ │ 015d7e: 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 │ │ 015d84: 54b0 9700 |010a: iget-object v0, v11, Ldnsfilter/android/AppSelectorView$AsyncLoader;.this$0:Ldnsfilter/android/AppSelectorView; // field@0097 │ │ 015d88: 7110 4b02 0000 |010c: invoke-static {v0}, Ldnsfilter/android/AppSelectorView;.access$800:(Ldnsfilter/android/AppSelectorView;)[Ldnsfilter/android/AppSelectorView$ComparableAppInfoWrapper; // method@024b │ │ 015d8e: 0c00 |010f: move-result-object v0 │ │ 015d90: 2100 |0110: array-length v0, v0 │ │ -015d92: 3504 4000 |0111: if-ge v4, v0, 0151 // +0040 │ │ +015d92: 3504 3f00 |0111: if-ge v4, v0, 0150 // +003f │ │ 015d96: 55b0 9600 |0113: iget-boolean v0, v11, Ldnsfilter/android/AppSelectorView$AsyncLoader;.abort:Z // field@0096 │ │ -015d9a: 3900 3c00 |0115: if-nez v0, 0151 // +003c │ │ +015d9a: 3900 3b00 |0115: if-nez v0, 0150 // +003b │ │ 015d9e: 54b0 9700 |0117: iget-object v0, v11, Ldnsfilter/android/AppSelectorView$AsyncLoader;.this$0:Ldnsfilter/android/AppSelectorView; // field@0097 │ │ 015da2: 7110 4b02 0000 |0119: invoke-static {v0}, Ldnsfilter/android/AppSelectorView;.access$800:(Ldnsfilter/android/AppSelectorView;)[Ldnsfilter/android/AppSelectorView$ComparableAppInfoWrapper; // method@024b │ │ 015da8: 0c00 |011c: move-result-object v0 │ │ 015daa: 4600 0004 |011d: aget-object v0, v0, v4 │ │ 015dae: 7110 3502 0000 |011f: invoke-static {v0}, Ldnsfilter/android/AppSelectorView$ComparableAppInfoWrapper;.access$900:(Ldnsfilter/android/AppSelectorView$ComparableAppInfoWrapper;)Landroid/content/pm/ApplicationInfo; // method@0235 │ │ 015db4: 0c00 |0122: move-result-object v0 │ │ 015db6: 54b2 9700 |0123: iget-object v2, v11, Ldnsfilter/android/AppSelectorView$AsyncLoader;.this$0:Ldnsfilter/android/AppSelectorView; // field@0097 │ │ @@ -8919,54 +8919,54 @@ │ │ 015dca: 54b2 9700 |012d: iget-object v2, v11, Ldnsfilter/android/AppSelectorView$AsyncLoader;.this$0:Ldnsfilter/android/AppSelectorView; // field@0097 │ │ 015dce: 7100 4002 0000 |012f: invoke-static {}, Ldnsfilter/android/AppSelectorView;.access$100:()I // method@0240 │ │ 015dd4: 0a03 |0132: move-result v3 │ │ 015dd6: 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 │ │ 015ddc: 0c08 |0136: move-result-object v8 │ │ 015dde: 54b0 9700 |0137: iget-object v0, v11, Ldnsfilter/android/AppSelectorView$AsyncLoader;.this$0:Ldnsfilter/android/AppSelectorView; // field@0097 │ │ 015de2: 2202 9c00 |0139: new-instance v2, Ldnsfilter/android/AppSelectorView$UIUpdate; // type@009c │ │ -015de6: 54b6 9700 |013b: iget-object v6, v11, Ldnsfilter/android/AppSelectorView$AsyncLoader;.this$0:Ldnsfilter/android/AppSelectorView; // field@0097 │ │ -015dea: 7110 4b02 0600 |013d: invoke-static {v6}, Ldnsfilter/android/AppSelectorView;.access$800:(Ldnsfilter/android/AppSelectorView;)[Ldnsfilter/android/AppSelectorView$ComparableAppInfoWrapper; // method@024b │ │ -015df0: 0c03 |0140: move-result-object v3 │ │ -015df2: 4603 0304 |0141: aget-object v3, v3, v4 │ │ -015df6: 5437 9900 |0143: iget-object v7, v3, Ldnsfilter/android/AppSelectorView$ComparableAppInfoWrapper;.checkBox:Landroid/widget/CheckBox; // field@0099 │ │ -015dfa: 120a |0145: const/4 v10, #int 0 // #0 │ │ -015dfc: 0725 |0146: move-object v5, v2 │ │ -015dfe: 07b9 |0147: move-object v9, v11 │ │ -015e00: 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 │ │ -015e06: 6e20 5402 2000 |014b: invoke-virtual {v0, v2}, Ldnsfilter/android/AppSelectorView;.post:(Ljava/lang/Runnable;)Z // method@0254 │ │ -015e0c: d804 0401 |014e: add-int/lit8 v4, v4, #int 1 // #01 │ │ -015e10: 28ba |0150: goto 010a // -0046 │ │ -015e12: 54b0 9700 |0151: iget-object v0, v11, Ldnsfilter/android/AppSelectorView$AsyncLoader;.this$0:Ldnsfilter/android/AppSelectorView; // field@0097 │ │ -015e16: 55b2 9600 |0153: iget-boolean v2, v11, Ldnsfilter/android/AppSelectorView$AsyncLoader;.abort:Z // field@0096 │ │ -015e1a: df02 0201 |0155: xor-int/lit8 v2, v2, #int 1 // #01 │ │ -015e1e: 7120 4302 2000 |0157: invoke-static {v0, v2}, Ldnsfilter/android/AppSelectorView;.access$1202:(Ldnsfilter/android/AppSelectorView;Z)Z // method@0243 │ │ -015e24: 54b0 9700 |015a: iget-object v0, v11, Ldnsfilter/android/AppSelectorView$AsyncLoader;.this$0:Ldnsfilter/android/AppSelectorView; // field@0097 │ │ -015e28: 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 │ │ -015e2e: 6e10 7705 0b00 |015f: invoke-virtual {v11}, Ljava/lang/Object;.notifyAll:()V // method@0577 │ │ -015e34: 1e0b |0162: monitor-exit v11 │ │ -015e36: 0e00 |0163: return-void │ │ -015e38: 0d00 |0164: move-exception v0 │ │ -015e3a: 54b2 9700 |0165: iget-object v2, v11, Ldnsfilter/android/AppSelectorView$AsyncLoader;.this$0:Ldnsfilter/android/AppSelectorView; // field@0097 │ │ -015e3e: 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 │ │ -015e44: 6e10 7705 0b00 |016a: invoke-virtual {v11}, Ljava/lang/Object;.notifyAll:()V // method@0577 │ │ -015e4a: 2700 |016d: throw v0 │ │ -015e4c: 0d00 |016e: move-exception v0 │ │ -015e4e: 1e0b |016f: monitor-exit v11 │ │ -015e50: 2802 |0170: goto 0172 // +0002 │ │ -015e52: 2700 |0171: throw v0 │ │ -015e54: 28ff |0172: goto 0171 // -0001 │ │ +015de6: 7110 4b02 0000 |013b: invoke-static {v0}, Ldnsfilter/android/AppSelectorView;.access$800:(Ldnsfilter/android/AppSelectorView;)[Ldnsfilter/android/AppSelectorView$ComparableAppInfoWrapper; // method@024b │ │ +015dec: 0c03 |013e: move-result-object v3 │ │ +015dee: 4603 0304 |013f: aget-object v3, v3, v4 │ │ +015df2: 5437 9900 |0141: iget-object v7, v3, Ldnsfilter/android/AppSelectorView$ComparableAppInfoWrapper;.checkBox:Landroid/widget/CheckBox; // field@0099 │ │ +015df6: 120a |0143: const/4 v10, #int 0 // #0 │ │ +015df8: 0725 |0144: move-object v5, v2 │ │ +015dfa: 0706 |0145: move-object v6, v0 │ │ +015dfc: 07b9 |0146: move-object v9, v11 │ │ +015dfe: 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 │ │ +015e04: 6e20 5402 2000 |014a: invoke-virtual {v0, v2}, Ldnsfilter/android/AppSelectorView;.post:(Ljava/lang/Runnable;)Z // method@0254 │ │ +015e0a: d804 0401 |014d: add-int/lit8 v4, v4, #int 1 // #01 │ │ +015e0e: 28bb |014f: goto 010a // -0045 │ │ +015e10: 54b0 9700 |0150: iget-object v0, v11, Ldnsfilter/android/AppSelectorView$AsyncLoader;.this$0:Ldnsfilter/android/AppSelectorView; // field@0097 │ │ +015e14: 55b2 9600 |0152: iget-boolean v2, v11, Ldnsfilter/android/AppSelectorView$AsyncLoader;.abort:Z // field@0096 │ │ +015e18: df02 0201 |0154: xor-int/lit8 v2, v2, #int 1 // #01 │ │ +015e1c: 7120 4302 2000 |0156: invoke-static {v0, v2}, Ldnsfilter/android/AppSelectorView;.access$1202:(Ldnsfilter/android/AppSelectorView;Z)Z // method@0243 │ │ +015e22: 54b0 9700 |0159: iget-object v0, v11, Ldnsfilter/android/AppSelectorView$AsyncLoader;.this$0:Ldnsfilter/android/AppSelectorView; // field@0097 │ │ +015e26: 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 │ │ +015e2c: 6e10 7705 0b00 |015e: invoke-virtual {v11}, Ljava/lang/Object;.notifyAll:()V // method@0577 │ │ +015e32: 1e0b |0161: monitor-exit v11 │ │ +015e34: 0e00 |0162: return-void │ │ +015e36: 0d00 |0163: move-exception v0 │ │ +015e38: 54b2 9700 |0164: iget-object v2, v11, Ldnsfilter/android/AppSelectorView$AsyncLoader;.this$0:Ldnsfilter/android/AppSelectorView; // field@0097 │ │ +015e3c: 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 │ │ +015e42: 6e10 7705 0b00 |0169: invoke-virtual {v11}, Ljava/lang/Object;.notifyAll:()V // method@0577 │ │ +015e48: 2700 |016c: throw v0 │ │ +015e4a: 0d00 |016d: move-exception v0 │ │ +015e4c: 1e0b |016e: monitor-exit v11 │ │ +015e4e: 2802 |016f: goto 0171 // +0002 │ │ +015e50: 2700 |0170: throw v0 │ │ +015e52: 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 │ │ -015eec: |[015eec] dnsfilter.android.AppSelectorView$ComparableAppInfoWrapper.:(Ldnsfilter/android/AppSelectorView;Landroid/content/pm/ApplicationInfo;Landroid/widget/CheckBox;)V │ │ -015efc: 5b01 9a00 |0000: iput-object v1, v0, Ldnsfilter/android/AppSelectorView$ComparableAppInfoWrapper;.this$0:Ldnsfilter/android/AppSelectorView; // field@009a │ │ -015f00: 7010 7305 0000 |0002: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@0573 │ │ -015f06: 1201 |0005: const/4 v1, #int 0 // #0 │ │ -015f08: 5b01 9800 |0006: iput-object v1, v0, Ldnsfilter/android/AppSelectorView$ComparableAppInfoWrapper;.appName:Ljava/lang/String; // field@0098 │ │ -015f0c: 5b01 9b00 |0008: iput-object v1, v0, Ldnsfilter/android/AppSelectorView$ComparableAppInfoWrapper;.wrapped:Landroid/content/pm/ApplicationInfo; // field@009b │ │ -015f10: 5b01 9900 |000a: iput-object v1, v0, Ldnsfilter/android/AppSelectorView$ComparableAppInfoWrapper;.checkBox:Landroid/widget/CheckBox; // field@0099 │ │ -015f14: 6e10 cb00 0300 |000c: invoke-virtual {v3}, Landroid/widget/CheckBox;.getText:()Ljava/lang/CharSequence; // method@00cb │ │ -015f1a: 0c01 |000f: move-result-object v1 │ │ -015f1c: 7210 5005 0100 |0010: invoke-interface {v1}, Ljava/lang/CharSequence;.toString:()Ljava/lang/String; // method@0550 │ │ -015f22: 0c01 |0013: move-result-object v1 │ │ -015f24: 5b01 9800 |0014: iput-object v1, v0, Ldnsfilter/android/AppSelectorView$ComparableAppInfoWrapper;.appName:Ljava/lang/String; // field@0098 │ │ -015f28: 5b02 9b00 |0016: iput-object v2, v0, Ldnsfilter/android/AppSelectorView$ComparableAppInfoWrapper;.wrapped:Landroid/content/pm/ApplicationInfo; // field@009b │ │ -015f2c: 5b03 9900 |0018: iput-object v3, v0, Ldnsfilter/android/AppSelectorView$ComparableAppInfoWrapper;.checkBox:Landroid/widget/CheckBox; // field@0099 │ │ -015f30: 0e00 |001a: return-void │ │ +015ee8: |[015ee8] dnsfilter.android.AppSelectorView$ComparableAppInfoWrapper.:(Ldnsfilter/android/AppSelectorView;Landroid/content/pm/ApplicationInfo;Landroid/widget/CheckBox;)V │ │ +015ef8: 5b01 9a00 |0000: iput-object v1, v0, Ldnsfilter/android/AppSelectorView$ComparableAppInfoWrapper;.this$0:Ldnsfilter/android/AppSelectorView; // field@009a │ │ +015efc: 7010 7305 0000 |0002: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@0573 │ │ +015f02: 1201 |0005: const/4 v1, #int 0 // #0 │ │ +015f04: 5b01 9800 |0006: iput-object v1, v0, Ldnsfilter/android/AppSelectorView$ComparableAppInfoWrapper;.appName:Ljava/lang/String; // field@0098 │ │ +015f08: 5b01 9b00 |0008: iput-object v1, v0, Ldnsfilter/android/AppSelectorView$ComparableAppInfoWrapper;.wrapped:Landroid/content/pm/ApplicationInfo; // field@009b │ │ +015f0c: 5b01 9900 |000a: iput-object v1, v0, Ldnsfilter/android/AppSelectorView$ComparableAppInfoWrapper;.checkBox:Landroid/widget/CheckBox; // field@0099 │ │ +015f10: 6e10 cb00 0300 |000c: invoke-virtual {v3}, Landroid/widget/CheckBox;.getText:()Ljava/lang/CharSequence; // method@00cb │ │ +015f16: 0c01 |000f: move-result-object v1 │ │ +015f18: 7210 5005 0100 |0010: invoke-interface {v1}, Ljava/lang/CharSequence;.toString:()Ljava/lang/String; // method@0550 │ │ +015f1e: 0c01 |0013: move-result-object v1 │ │ +015f20: 5b01 9800 |0014: iput-object v1, v0, Ldnsfilter/android/AppSelectorView$ComparableAppInfoWrapper;.appName:Ljava/lang/String; // field@0098 │ │ +015f24: 5b02 9b00 |0016: iput-object v2, v0, Ldnsfilter/android/AppSelectorView$ComparableAppInfoWrapper;.wrapped:Landroid/content/pm/ApplicationInfo; // field@009b │ │ +015f28: 5b03 9900 |0018: iput-object v3, v0, Ldnsfilter/android/AppSelectorView$ComparableAppInfoWrapper;.checkBox:Landroid/widget/CheckBox; // field@0099 │ │ +015f2c: 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 │ │ -015f34: |[015f34] dnsfilter.android.AppSelectorView$ComparableAppInfoWrapper.:(Ldnsfilter/android/AppSelectorView;Landroid/content/pm/ApplicationInfo;Landroid/widget/CheckBox;Ldnsfilter/android/AppSelectorView$1;)V │ │ -015f44: 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 │ │ -015f4a: 0e00 |0003: return-void │ │ +015f30: |[015f30] dnsfilter.android.AppSelectorView$ComparableAppInfoWrapper.:(Ldnsfilter/android/AppSelectorView;Landroid/content/pm/ApplicationInfo;Landroid/widget/CheckBox;Ldnsfilter/android/AppSelectorView$1;)V │ │ +015f40: 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 │ │ +015f46: 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 │ │ -015e80: |[015e80] dnsfilter.android.AppSelectorView$ComparableAppInfoWrapper.access$900:(Ldnsfilter/android/AppSelectorView$ComparableAppInfoWrapper;)Landroid/content/pm/ApplicationInfo; │ │ -015e90: 5400 9b00 |0000: iget-object v0, v0, Ldnsfilter/android/AppSelectorView$ComparableAppInfoWrapper;.wrapped:Landroid/content/pm/ApplicationInfo; // field@009b │ │ -015e94: 1100 |0002: return-object v0 │ │ +015e7c: |[015e7c] dnsfilter.android.AppSelectorView$ComparableAppInfoWrapper.access$900:(Ldnsfilter/android/AppSelectorView$ComparableAppInfoWrapper;)Landroid/content/pm/ApplicationInfo; │ │ +015e8c: 5400 9b00 |0000: iget-object v0, v0, Ldnsfilter/android/AppSelectorView$ComparableAppInfoWrapper;.wrapped:Landroid/content/pm/ApplicationInfo; // field@009b │ │ +015e90: 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 │ │ -015e98: |[015e98] dnsfilter.android.AppSelectorView$ComparableAppInfoWrapper.compareTo:(Ldnsfilter/android/AppSelectorView$ComparableAppInfoWrapper;)I │ │ -015ea8: 5410 9800 |0000: iget-object v0, v1, Ldnsfilter/android/AppSelectorView$ComparableAppInfoWrapper;.appName:Ljava/lang/String; // field@0098 │ │ -015eac: 6e10 9e05 0000 |0002: invoke-virtual {v0}, Ljava/lang/String;.toUpperCase:()Ljava/lang/String; // method@059e │ │ -015eb2: 0c00 |0005: move-result-object v0 │ │ -015eb4: 5422 9800 |0006: iget-object v2, v2, Ldnsfilter/android/AppSelectorView$ComparableAppInfoWrapper;.appName:Ljava/lang/String; // field@0098 │ │ -015eb8: 6e10 9e05 0200 |0008: invoke-virtual {v2}, Ljava/lang/String;.toUpperCase:()Ljava/lang/String; // method@059e │ │ -015ebe: 0c02 |000b: move-result-object v2 │ │ -015ec0: 6e20 8805 2000 |000c: invoke-virtual {v0, v2}, Ljava/lang/String;.compareTo:(Ljava/lang/String;)I // method@0588 │ │ -015ec6: 0a02 |000f: move-result v2 │ │ -015ec8: 0f02 |0010: return v2 │ │ +015e94: |[015e94] dnsfilter.android.AppSelectorView$ComparableAppInfoWrapper.compareTo:(Ldnsfilter/android/AppSelectorView$ComparableAppInfoWrapper;)I │ │ +015ea4: 5410 9800 |0000: iget-object v0, v1, Ldnsfilter/android/AppSelectorView$ComparableAppInfoWrapper;.appName:Ljava/lang/String; // field@0098 │ │ +015ea8: 6e10 9e05 0000 |0002: invoke-virtual {v0}, Ljava/lang/String;.toUpperCase:()Ljava/lang/String; // method@059e │ │ +015eae: 0c00 |0005: move-result-object v0 │ │ +015eb0: 5422 9800 |0006: iget-object v2, v2, Ldnsfilter/android/AppSelectorView$ComparableAppInfoWrapper;.appName:Ljava/lang/String; // field@0098 │ │ +015eb4: 6e10 9e05 0200 |0008: invoke-virtual {v2}, Ljava/lang/String;.toUpperCase:()Ljava/lang/String; // method@059e │ │ +015eba: 0c02 |000b: move-result-object v2 │ │ +015ebc: 6e20 8805 2000 |000c: invoke-virtual {v0, v2}, Ljava/lang/String;.compareTo:(Ljava/lang/String;)I // method@0588 │ │ +015ec2: 0a02 |000f: move-result v2 │ │ +015ec4: 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 │ │ -015ecc: |[015ecc] dnsfilter.android.AppSelectorView$ComparableAppInfoWrapper.compareTo:(Ljava/lang/Object;)I │ │ -015edc: 1f01 9b00 |0000: check-cast v1, Ldnsfilter/android/AppSelectorView$ComparableAppInfoWrapper; // type@009b │ │ -015ee0: 6e20 3602 1000 |0002: invoke-virtual {v0, v1}, Ldnsfilter/android/AppSelectorView$ComparableAppInfoWrapper;.compareTo:(Ldnsfilter/android/AppSelectorView$ComparableAppInfoWrapper;)I // method@0236 │ │ -015ee6: 0a01 |0005: move-result v1 │ │ -015ee8: 0f01 |0006: return v1 │ │ +015ec8: |[015ec8] dnsfilter.android.AppSelectorView$ComparableAppInfoWrapper.compareTo:(Ljava/lang/Object;)I │ │ +015ed8: 1f01 9b00 |0000: check-cast v1, Ldnsfilter/android/AppSelectorView$ComparableAppInfoWrapper; // type@009b │ │ +015edc: 6e20 3602 1000 |0002: invoke-virtual {v0, v1}, Ldnsfilter/android/AppSelectorView$ComparableAppInfoWrapper;.compareTo:(Ldnsfilter/android/AppSelectorView$ComparableAppInfoWrapper;)I // method@0236 │ │ +015ee2: 0a01 |0005: move-result v1 │ │ +015ee4: 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 │ │ -015f4c: |[015f4c] dnsfilter.android.AppSelectorView$UIUpdate.:(Ldnsfilter/android/AppSelectorView;Landroid/widget/CheckBox;Landroid/graphics/drawable/Drawable;Ldnsfilter/android/AppSelectorView$AsyncLoader;)V │ │ -015f5c: 5b01 9e00 |0000: iput-object v1, v0, Ldnsfilter/android/AppSelectorView$UIUpdate;.this$0:Ldnsfilter/android/AppSelectorView; // field@009e │ │ -015f60: 7010 7305 0000 |0002: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@0573 │ │ -015f66: 5b02 9c00 |0005: iput-object v2, v0, Ldnsfilter/android/AppSelectorView$UIUpdate;.checkBox:Landroid/widget/CheckBox; // field@009c │ │ -015f6a: 5b03 9d00 |0007: iput-object v3, v0, Ldnsfilter/android/AppSelectorView$UIUpdate;.icon:Landroid/graphics/drawable/Drawable; // field@009d │ │ -015f6e: 5b04 9f00 |0009: iput-object v4, v0, Ldnsfilter/android/AppSelectorView$UIUpdate;.update:Ldnsfilter/android/AppSelectorView$AsyncLoader; // field@009f │ │ -015f72: 0e00 |000b: return-void │ │ +015f48: |[015f48] dnsfilter.android.AppSelectorView$UIUpdate.:(Ldnsfilter/android/AppSelectorView;Landroid/widget/CheckBox;Landroid/graphics/drawable/Drawable;Ldnsfilter/android/AppSelectorView$AsyncLoader;)V │ │ +015f58: 5b01 9e00 |0000: iput-object v1, v0, Ldnsfilter/android/AppSelectorView$UIUpdate;.this$0:Ldnsfilter/android/AppSelectorView; // field@009e │ │ +015f5c: 7010 7305 0000 |0002: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@0573 │ │ +015f62: 5b02 9c00 |0005: iput-object v2, v0, Ldnsfilter/android/AppSelectorView$UIUpdate;.checkBox:Landroid/widget/CheckBox; // field@009c │ │ +015f66: 5b03 9d00 |0007: iput-object v3, v0, Ldnsfilter/android/AppSelectorView$UIUpdate;.icon:Landroid/graphics/drawable/Drawable; // field@009d │ │ +015f6a: 5b04 9f00 |0009: iput-object v4, v0, Ldnsfilter/android/AppSelectorView$UIUpdate;.update:Ldnsfilter/android/AppSelectorView$AsyncLoader; // field@009f │ │ +015f6e: 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 │ │ -015f74: |[015f74] dnsfilter.android.AppSelectorView$UIUpdate.:(Ldnsfilter/android/AppSelectorView;Landroid/widget/CheckBox;Landroid/graphics/drawable/Drawable;Ldnsfilter/android/AppSelectorView$AsyncLoader;Ldnsfilter/android/AppSelectorView$1;)V │ │ -015f84: 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 │ │ -015f8a: 0e00 |0003: return-void │ │ +015f70: |[015f70] dnsfilter.android.AppSelectorView$UIUpdate.:(Ldnsfilter/android/AppSelectorView;Landroid/widget/CheckBox;Landroid/graphics/drawable/Drawable;Ldnsfilter/android/AppSelectorView$AsyncLoader;Ldnsfilter/android/AppSelectorView$1;)V │ │ +015f80: 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 │ │ +015f86: 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 │ │ -015f8c: |[015f8c] dnsfilter.android.AppSelectorView$UIUpdate.run:()V │ │ -015f9c: 5430 9f00 |0000: iget-object v0, v3, Ldnsfilter/android/AppSelectorView$UIUpdate;.update:Ldnsfilter/android/AppSelectorView$AsyncLoader; // field@009f │ │ -015fa0: 7110 3102 0000 |0002: invoke-static {v0}, Ldnsfilter/android/AppSelectorView$AsyncLoader;.access$000:(Ldnsfilter/android/AppSelectorView$AsyncLoader;)Z // method@0231 │ │ -015fa6: 0a00 |0005: move-result v0 │ │ -015fa8: 3800 0300 |0006: if-eqz v0, 0009 // +0003 │ │ -015fac: 0e00 |0008: return-void │ │ -015fae: 5430 9c00 |0009: iget-object v0, v3, Ldnsfilter/android/AppSelectorView$UIUpdate;.checkBox:Landroid/widget/CheckBox; // field@009c │ │ -015fb2: 5431 9d00 |000b: iget-object v1, v3, Ldnsfilter/android/AppSelectorView$UIUpdate;.icon:Landroid/graphics/drawable/Drawable; // field@009d │ │ -015fb6: 1202 |000d: const/4 v2, #int 0 // #0 │ │ -015fb8: 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 │ │ -015fbe: 5430 9e00 |0011: iget-object v0, v3, Ldnsfilter/android/AppSelectorView$UIUpdate;.this$0:Ldnsfilter/android/AppSelectorView; // field@009e │ │ -015fc2: 5431 9c00 |0013: iget-object v1, v3, Ldnsfilter/android/AppSelectorView$UIUpdate;.checkBox:Landroid/widget/CheckBox; // field@009c │ │ -015fc6: 6e20 4d02 1000 |0015: invoke-virtual {v0, v1}, Ldnsfilter/android/AppSelectorView;.addView:(Landroid/view/View;)V // method@024d │ │ -015fcc: 0e00 |0018: return-void │ │ +015f88: |[015f88] dnsfilter.android.AppSelectorView$UIUpdate.run:()V │ │ +015f98: 5430 9f00 |0000: iget-object v0, v3, Ldnsfilter/android/AppSelectorView$UIUpdate;.update:Ldnsfilter/android/AppSelectorView$AsyncLoader; // field@009f │ │ +015f9c: 7110 3102 0000 |0002: invoke-static {v0}, Ldnsfilter/android/AppSelectorView$AsyncLoader;.access$000:(Ldnsfilter/android/AppSelectorView$AsyncLoader;)Z // method@0231 │ │ +015fa2: 0a00 |0005: move-result v0 │ │ +015fa4: 3800 0300 |0006: if-eqz v0, 0009 // +0003 │ │ +015fa8: 0e00 |0008: return-void │ │ +015faa: 5430 9c00 |0009: iget-object v0, v3, Ldnsfilter/android/AppSelectorView$UIUpdate;.checkBox:Landroid/widget/CheckBox; // field@009c │ │ +015fae: 5431 9d00 |000b: iget-object v1, v3, Ldnsfilter/android/AppSelectorView$UIUpdate;.icon:Landroid/graphics/drawable/Drawable; // field@009d │ │ +015fb2: 1202 |000d: const/4 v2, #int 0 // #0 │ │ +015fb4: 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 │ │ +015fba: 5430 9e00 |0011: iget-object v0, v3, Ldnsfilter/android/AppSelectorView$UIUpdate;.this$0:Ldnsfilter/android/AppSelectorView; // field@009e │ │ +015fbe: 5431 9c00 |0013: iget-object v1, v3, Ldnsfilter/android/AppSelectorView$UIUpdate;.checkBox:Landroid/widget/CheckBox; // field@009c │ │ +015fc2: 6e20 4d02 1000 |0015: invoke-virtual {v0, v1}, Ldnsfilter/android/AppSelectorView;.addView:(Landroid/view/View;)V // method@024d │ │ +015fc8: 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 │ │ -0161dc: |[0161dc] dnsfilter.android.AppSelectorView.:()V │ │ -0161ec: 0e00 |0000: return-void │ │ +0161d8: |[0161d8] dnsfilter.android.AppSelectorView.:()V │ │ +0161e8: 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 │ │ -0161f0: |[0161f0] dnsfilter.android.AppSelectorView.:(Landroid/content/Context;)V │ │ -016200: 7020 ee00 1000 |0000: invoke-direct {v0, v1}, Landroid/widget/LinearLayout;.:(Landroid/content/Context;)V // method@00ee │ │ -016206: 6e10 4f02 0000 |0003: invoke-virtual {v0}, Ldnsfilter/android/AppSelectorView;.getContext:()Landroid/content/Context; // method@024f │ │ -01620c: 0c01 |0006: move-result-object v1 │ │ -01620e: 6e10 3900 0100 |0007: invoke-virtual {v1}, Landroid/content/Context;.getPackageManager:()Landroid/content/pm/PackageManager; // method@0039 │ │ -016214: 0c01 |000a: move-result-object v1 │ │ -016216: 5b01 a400 |000b: iput-object v1, v0, Ldnsfilter/android/AppSelectorView;.pm:Landroid/content/pm/PackageManager; // field@00a4 │ │ -01621a: 1201 |000d: const/4 v1, #int 0 // #0 │ │ -01621c: 5c01 a300 |000e: iput-boolean v1, v0, Ldnsfilter/android/AppSelectorView;.loaded:Z // field@00a3 │ │ -016220: 1a01 0000 |0010: const-string v1, "" // string@0000 │ │ -016224: 5b01 a700 |0012: iput-object v1, v0, Ldnsfilter/android/AppSelectorView;.selectedApps:Ljava/lang/String; // field@00a7 │ │ -016228: 1201 |0014: const/4 v1, #int 0 // #0 │ │ -01622a: 5b01 a500 |0015: iput-object v1, v0, Ldnsfilter/android/AppSelectorView;.runningUpdate:Ldnsfilter/android/AppSelectorView$AsyncLoader; // field@00a5 │ │ -01622e: 5b01 a800 |0017: iput-object v1, v0, Ldnsfilter/android/AppSelectorView;.wrappers:[Ldnsfilter/android/AppSelectorView$ComparableAppInfoWrapper; // field@00a8 │ │ -016232: 0e00 |0019: return-void │ │ +0161ec: |[0161ec] dnsfilter.android.AppSelectorView.:(Landroid/content/Context;)V │ │ +0161fc: 7020 ee00 1000 |0000: invoke-direct {v0, v1}, Landroid/widget/LinearLayout;.:(Landroid/content/Context;)V // method@00ee │ │ +016202: 6e10 4f02 0000 |0003: invoke-virtual {v0}, Ldnsfilter/android/AppSelectorView;.getContext:()Landroid/content/Context; // method@024f │ │ +016208: 0c01 |0006: move-result-object v1 │ │ +01620a: 6e10 3900 0100 |0007: invoke-virtual {v1}, Landroid/content/Context;.getPackageManager:()Landroid/content/pm/PackageManager; // method@0039 │ │ +016210: 0c01 |000a: move-result-object v1 │ │ +016212: 5b01 a400 |000b: iput-object v1, v0, Ldnsfilter/android/AppSelectorView;.pm:Landroid/content/pm/PackageManager; // field@00a4 │ │ +016216: 1201 |000d: const/4 v1, #int 0 // #0 │ │ +016218: 5c01 a300 |000e: iput-boolean v1, v0, Ldnsfilter/android/AppSelectorView;.loaded:Z // field@00a3 │ │ +01621c: 1a01 0000 |0010: const-string v1, "" // string@0000 │ │ +016220: 5b01 a700 |0012: iput-object v1, v0, Ldnsfilter/android/AppSelectorView;.selectedApps:Ljava/lang/String; // field@00a7 │ │ +016224: 1201 |0014: const/4 v1, #int 0 // #0 │ │ +016226: 5b01 a500 |0015: iput-object v1, v0, Ldnsfilter/android/AppSelectorView;.runningUpdate:Ldnsfilter/android/AppSelectorView$AsyncLoader; // field@00a5 │ │ +01622a: 5b01 a800 |0017: iput-object v1, v0, Ldnsfilter/android/AppSelectorView;.wrappers:[Ldnsfilter/android/AppSelectorView$ComparableAppInfoWrapper; // field@00a8 │ │ +01622e: 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 │ │ -016234: |[016234] dnsfilter.android.AppSelectorView.:(Landroid/content/Context;Landroid/util/AttributeSet;)V │ │ -016244: 7030 ef00 1002 |0000: invoke-direct {v0, v1, v2}, Landroid/widget/LinearLayout;.:(Landroid/content/Context;Landroid/util/AttributeSet;)V // method@00ef │ │ -01624a: 6e10 4f02 0000 |0003: invoke-virtual {v0}, Ldnsfilter/android/AppSelectorView;.getContext:()Landroid/content/Context; // method@024f │ │ -016250: 0c01 |0006: move-result-object v1 │ │ -016252: 6e10 3900 0100 |0007: invoke-virtual {v1}, Landroid/content/Context;.getPackageManager:()Landroid/content/pm/PackageManager; // method@0039 │ │ -016258: 0c01 |000a: move-result-object v1 │ │ -01625a: 5b01 a400 |000b: iput-object v1, v0, Ldnsfilter/android/AppSelectorView;.pm:Landroid/content/pm/PackageManager; // field@00a4 │ │ -01625e: 1201 |000d: const/4 v1, #int 0 // #0 │ │ -016260: 5c01 a300 |000e: iput-boolean v1, v0, Ldnsfilter/android/AppSelectorView;.loaded:Z // field@00a3 │ │ -016264: 1a01 0000 |0010: const-string v1, "" // string@0000 │ │ -016268: 5b01 a700 |0012: iput-object v1, v0, Ldnsfilter/android/AppSelectorView;.selectedApps:Ljava/lang/String; // field@00a7 │ │ -01626c: 1201 |0014: const/4 v1, #int 0 // #0 │ │ -01626e: 5b01 a500 |0015: iput-object v1, v0, Ldnsfilter/android/AppSelectorView;.runningUpdate:Ldnsfilter/android/AppSelectorView$AsyncLoader; // field@00a5 │ │ -016272: 5b01 a800 |0017: iput-object v1, v0, Ldnsfilter/android/AppSelectorView;.wrappers:[Ldnsfilter/android/AppSelectorView$ComparableAppInfoWrapper; // field@00a8 │ │ -016276: 0e00 |0019: return-void │ │ +016230: |[016230] dnsfilter.android.AppSelectorView.:(Landroid/content/Context;Landroid/util/AttributeSet;)V │ │ +016240: 7030 ef00 1002 |0000: invoke-direct {v0, v1, v2}, Landroid/widget/LinearLayout;.:(Landroid/content/Context;Landroid/util/AttributeSet;)V // method@00ef │ │ +016246: 6e10 4f02 0000 |0003: invoke-virtual {v0}, Ldnsfilter/android/AppSelectorView;.getContext:()Landroid/content/Context; // method@024f │ │ +01624c: 0c01 |0006: move-result-object v1 │ │ +01624e: 6e10 3900 0100 |0007: invoke-virtual {v1}, Landroid/content/Context;.getPackageManager:()Landroid/content/pm/PackageManager; // method@0039 │ │ +016254: 0c01 |000a: move-result-object v1 │ │ +016256: 5b01 a400 |000b: iput-object v1, v0, Ldnsfilter/android/AppSelectorView;.pm:Landroid/content/pm/PackageManager; // field@00a4 │ │ +01625a: 1201 |000d: const/4 v1, #int 0 // #0 │ │ +01625c: 5c01 a300 |000e: iput-boolean v1, v0, Ldnsfilter/android/AppSelectorView;.loaded:Z // field@00a3 │ │ +016260: 1a01 0000 |0010: const-string v1, "" // string@0000 │ │ +016264: 5b01 a700 |0012: iput-object v1, v0, Ldnsfilter/android/AppSelectorView;.selectedApps:Ljava/lang/String; // field@00a7 │ │ +016268: 1201 |0014: const/4 v1, #int 0 // #0 │ │ +01626a: 5b01 a500 |0015: iput-object v1, v0, Ldnsfilter/android/AppSelectorView;.runningUpdate:Ldnsfilter/android/AppSelectorView$AsyncLoader; // field@00a5 │ │ +01626e: 5b01 a800 |0017: iput-object v1, v0, Ldnsfilter/android/AppSelectorView;.wrappers:[Ldnsfilter/android/AppSelectorView$ComparableAppInfoWrapper; // field@00a8 │ │ +016272: 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 │ │ -016278: |[016278] dnsfilter.android.AppSelectorView.:(Landroid/content/Context;Landroid/util/AttributeSet;I)V │ │ -016288: 7040 f000 1032 |0000: invoke-direct {v0, v1, v2, v3}, Landroid/widget/LinearLayout;.:(Landroid/content/Context;Landroid/util/AttributeSet;I)V // method@00f0 │ │ -01628e: 6e10 4f02 0000 |0003: invoke-virtual {v0}, Ldnsfilter/android/AppSelectorView;.getContext:()Landroid/content/Context; // method@024f │ │ -016294: 0c01 |0006: move-result-object v1 │ │ -016296: 6e10 3900 0100 |0007: invoke-virtual {v1}, Landroid/content/Context;.getPackageManager:()Landroid/content/pm/PackageManager; // method@0039 │ │ -01629c: 0c01 |000a: move-result-object v1 │ │ -01629e: 5b01 a400 |000b: iput-object v1, v0, Ldnsfilter/android/AppSelectorView;.pm:Landroid/content/pm/PackageManager; // field@00a4 │ │ -0162a2: 1201 |000d: const/4 v1, #int 0 // #0 │ │ -0162a4: 5c01 a300 |000e: iput-boolean v1, v0, Ldnsfilter/android/AppSelectorView;.loaded:Z // field@00a3 │ │ -0162a8: 1a01 0000 |0010: const-string v1, "" // string@0000 │ │ -0162ac: 5b01 a700 |0012: iput-object v1, v0, Ldnsfilter/android/AppSelectorView;.selectedApps:Ljava/lang/String; // field@00a7 │ │ -0162b0: 1201 |0014: const/4 v1, #int 0 // #0 │ │ -0162b2: 5b01 a500 |0015: iput-object v1, v0, Ldnsfilter/android/AppSelectorView;.runningUpdate:Ldnsfilter/android/AppSelectorView$AsyncLoader; // field@00a5 │ │ -0162b6: 5b01 a800 |0017: iput-object v1, v0, Ldnsfilter/android/AppSelectorView;.wrappers:[Ldnsfilter/android/AppSelectorView$ComparableAppInfoWrapper; // field@00a8 │ │ -0162ba: 0e00 |0019: return-void │ │ +016274: |[016274] dnsfilter.android.AppSelectorView.:(Landroid/content/Context;Landroid/util/AttributeSet;I)V │ │ +016284: 7040 f000 1032 |0000: invoke-direct {v0, v1, v2, v3}, Landroid/widget/LinearLayout;.:(Landroid/content/Context;Landroid/util/AttributeSet;I)V // method@00f0 │ │ +01628a: 6e10 4f02 0000 |0003: invoke-virtual {v0}, Ldnsfilter/android/AppSelectorView;.getContext:()Landroid/content/Context; // method@024f │ │ +016290: 0c01 |0006: move-result-object v1 │ │ +016292: 6e10 3900 0100 |0007: invoke-virtual {v1}, Landroid/content/Context;.getPackageManager:()Landroid/content/pm/PackageManager; // method@0039 │ │ +016298: 0c01 |000a: move-result-object v1 │ │ +01629a: 5b01 a400 |000b: iput-object v1, v0, Ldnsfilter/android/AppSelectorView;.pm:Landroid/content/pm/PackageManager; // field@00a4 │ │ +01629e: 1201 |000d: const/4 v1, #int 0 // #0 │ │ +0162a0: 5c01 a300 |000e: iput-boolean v1, v0, Ldnsfilter/android/AppSelectorView;.loaded:Z // field@00a3 │ │ +0162a4: 1a01 0000 |0010: const-string v1, "" // string@0000 │ │ +0162a8: 5b01 a700 |0012: iput-object v1, v0, Ldnsfilter/android/AppSelectorView;.selectedApps:Ljava/lang/String; // field@00a7 │ │ +0162ac: 1201 |0014: const/4 v1, #int 0 // #0 │ │ +0162ae: 5b01 a500 |0015: iput-object v1, v0, Ldnsfilter/android/AppSelectorView;.runningUpdate:Ldnsfilter/android/AppSelectorView$AsyncLoader; // field@00a5 │ │ +0162b2: 5b01 a800 |0017: iput-object v1, v0, Ldnsfilter/android/AppSelectorView;.wrappers:[Ldnsfilter/android/AppSelectorView$ComparableAppInfoWrapper; // field@00a8 │ │ +0162b6: 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 │ │ -0162bc: |[0162bc] dnsfilter.android.AppSelectorView.:(Landroid/content/Context;Landroid/util/AttributeSet;II)V │ │ -0162cc: 7040 f000 1032 |0000: invoke-direct {v0, v1, v2, v3}, Landroid/widget/LinearLayout;.:(Landroid/content/Context;Landroid/util/AttributeSet;I)V // method@00f0 │ │ -0162d2: 6e10 4f02 0000 |0003: invoke-virtual {v0}, Ldnsfilter/android/AppSelectorView;.getContext:()Landroid/content/Context; // method@024f │ │ -0162d8: 0c01 |0006: move-result-object v1 │ │ -0162da: 6e10 3900 0100 |0007: invoke-virtual {v1}, Landroid/content/Context;.getPackageManager:()Landroid/content/pm/PackageManager; // method@0039 │ │ -0162e0: 0c01 |000a: move-result-object v1 │ │ -0162e2: 5b01 a400 |000b: iput-object v1, v0, Ldnsfilter/android/AppSelectorView;.pm:Landroid/content/pm/PackageManager; // field@00a4 │ │ -0162e6: 1201 |000d: const/4 v1, #int 0 // #0 │ │ -0162e8: 5c01 a300 |000e: iput-boolean v1, v0, Ldnsfilter/android/AppSelectorView;.loaded:Z // field@00a3 │ │ -0162ec: 1a01 0000 |0010: const-string v1, "" // string@0000 │ │ -0162f0: 5b01 a700 |0012: iput-object v1, v0, Ldnsfilter/android/AppSelectorView;.selectedApps:Ljava/lang/String; // field@00a7 │ │ -0162f4: 1201 |0014: const/4 v1, #int 0 // #0 │ │ -0162f6: 5b01 a500 |0015: iput-object v1, v0, Ldnsfilter/android/AppSelectorView;.runningUpdate:Ldnsfilter/android/AppSelectorView$AsyncLoader; // field@00a5 │ │ -0162fa: 5b01 a800 |0017: iput-object v1, v0, Ldnsfilter/android/AppSelectorView;.wrappers:[Ldnsfilter/android/AppSelectorView$ComparableAppInfoWrapper; // field@00a8 │ │ -0162fe: 0e00 |0019: return-void │ │ +0162b8: |[0162b8] dnsfilter.android.AppSelectorView.:(Landroid/content/Context;Landroid/util/AttributeSet;II)V │ │ +0162c8: 7040 f000 1032 |0000: invoke-direct {v0, v1, v2, v3}, Landroid/widget/LinearLayout;.:(Landroid/content/Context;Landroid/util/AttributeSet;I)V // method@00f0 │ │ +0162ce: 6e10 4f02 0000 |0003: invoke-virtual {v0}, Ldnsfilter/android/AppSelectorView;.getContext:()Landroid/content/Context; // method@024f │ │ +0162d4: 0c01 |0006: move-result-object v1 │ │ +0162d6: 6e10 3900 0100 |0007: invoke-virtual {v1}, Landroid/content/Context;.getPackageManager:()Landroid/content/pm/PackageManager; // method@0039 │ │ +0162dc: 0c01 |000a: move-result-object v1 │ │ +0162de: 5b01 a400 |000b: iput-object v1, v0, Ldnsfilter/android/AppSelectorView;.pm:Landroid/content/pm/PackageManager; // field@00a4 │ │ +0162e2: 1201 |000d: const/4 v1, #int 0 // #0 │ │ +0162e4: 5c01 a300 |000e: iput-boolean v1, v0, Ldnsfilter/android/AppSelectorView;.loaded:Z // field@00a3 │ │ +0162e8: 1a01 0000 |0010: const-string v1, "" // string@0000 │ │ +0162ec: 5b01 a700 |0012: iput-object v1, v0, Ldnsfilter/android/AppSelectorView;.selectedApps:Ljava/lang/String; // field@00a7 │ │ +0162f0: 1201 |0014: const/4 v1, #int 0 // #0 │ │ +0162f2: 5b01 a500 |0015: iput-object v1, v0, Ldnsfilter/android/AppSelectorView;.runningUpdate:Ldnsfilter/android/AppSelectorView$AsyncLoader; // field@00a5 │ │ +0162f6: 5b01 a800 |0017: iput-object v1, v0, Ldnsfilter/android/AppSelectorView;.wrappers:[Ldnsfilter/android/AppSelectorView$ComparableAppInfoWrapper; // field@00a8 │ │ +0162fa: 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 │ │ -016104: |[016104] dnsfilter.android.AppSelectorView.access$100:()I │ │ -016114: 6000 a200 |0000: sget v0, Ldnsfilter/android/AppSelectorView;.iconSizePx:I // field@00a2 │ │ -016118: 0f00 |0002: return v0 │ │ +016100: |[016100] dnsfilter.android.AppSelectorView.access$100:()I │ │ +016110: 6000 a200 |0000: sget v0, Ldnsfilter/android/AppSelectorView;.iconSizePx:I // field@00a2 │ │ +016114: 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 │ │ -015fe8: |[015fe8] dnsfilter.android.AppSelectorView.access$1000:(Ldnsfilter/android/AppSelectorView;Landroid/graphics/drawable/Drawable;I)Landroid/graphics/drawable/Drawable; │ │ -015ff8: 7030 5702 1002 |0000: invoke-direct {v0, v1, v2}, Ldnsfilter/android/AppSelectorView;.resizeDrawable:(Landroid/graphics/drawable/Drawable;I)Landroid/graphics/drawable/Drawable; // method@0257 │ │ -015ffe: 0c00 |0003: move-result-object v0 │ │ -016000: 1100 |0004: return-object v0 │ │ +015fe4: |[015fe4] dnsfilter.android.AppSelectorView.access$1000:(Ldnsfilter/android/AppSelectorView;Landroid/graphics/drawable/Drawable;I)Landroid/graphics/drawable/Drawable; │ │ +015ff4: 7030 5702 1002 |0000: invoke-direct {v0, v1, v2}, Ldnsfilter/android/AppSelectorView;.resizeDrawable:(Landroid/graphics/drawable/Drawable;I)Landroid/graphics/drawable/Drawable; // method@0257 │ │ +015ffa: 0c00 |0003: move-result-object v0 │ │ +015ffc: 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 │ │ -01611c: |[01611c] dnsfilter.android.AppSelectorView.access$102:(I)I │ │ -01612c: 6700 a200 |0000: sput v0, Ldnsfilter/android/AppSelectorView;.iconSizePx:I // field@00a2 │ │ -016130: 0f00 |0002: return v0 │ │ +016118: |[016118] dnsfilter.android.AppSelectorView.access$102:(I)I │ │ +016128: 6700 a200 |0000: sput v0, Ldnsfilter/android/AppSelectorView;.iconSizePx:I // field@00a2 │ │ +01612c: 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 │ │ -016074: |[016074] dnsfilter.android.AppSelectorView.access$1202:(Ldnsfilter/android/AppSelectorView;Z)Z │ │ -016084: 5c01 a300 |0000: iput-boolean v1, v0, Ldnsfilter/android/AppSelectorView;.loaded:Z // field@00a3 │ │ -016088: 0f01 |0002: return v1 │ │ +016070: |[016070] dnsfilter.android.AppSelectorView.access$1202:(Ldnsfilter/android/AppSelectorView;Z)Z │ │ +016080: 5c01 a300 |0000: iput-boolean v1, v0, Ldnsfilter/android/AppSelectorView;.loaded:Z // field@00a3 │ │ +016084: 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 │ │ -01608c: |[01608c] dnsfilter.android.AppSelectorView.access$1300:(Ldnsfilter/android/AppSelectorView;)Ldnsfilter/android/AppSelectorView$AsyncLoader; │ │ -01609c: 5400 a500 |0000: iget-object v0, v0, Ldnsfilter/android/AppSelectorView;.runningUpdate:Ldnsfilter/android/AppSelectorView$AsyncLoader; // field@00a5 │ │ -0160a0: 1100 |0002: return-object v0 │ │ +016088: |[016088] dnsfilter.android.AppSelectorView.access$1300:(Ldnsfilter/android/AppSelectorView;)Ldnsfilter/android/AppSelectorView$AsyncLoader; │ │ +016098: 5400 a500 |0000: iget-object v0, v0, Ldnsfilter/android/AppSelectorView;.runningUpdate:Ldnsfilter/android/AppSelectorView$AsyncLoader; // field@00a5 │ │ +01609c: 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 │ │ -0160a4: |[0160a4] dnsfilter.android.AppSelectorView.access$1302:(Ldnsfilter/android/AppSelectorView;Ldnsfilter/android/AppSelectorView$AsyncLoader;)Ldnsfilter/android/AppSelectorView$AsyncLoader; │ │ -0160b4: 5b01 a500 |0000: iput-object v1, v0, Ldnsfilter/android/AppSelectorView;.runningUpdate:Ldnsfilter/android/AppSelectorView$AsyncLoader; // field@00a5 │ │ -0160b8: 1101 |0002: return-object v1 │ │ +0160a0: |[0160a0] dnsfilter.android.AppSelectorView.access$1302:(Ldnsfilter/android/AppSelectorView;Ldnsfilter/android/AppSelectorView$AsyncLoader;)Ldnsfilter/android/AppSelectorView$AsyncLoader; │ │ +0160b0: 5b01 a500 |0000: iput-object v1, v0, Ldnsfilter/android/AppSelectorView;.runningUpdate:Ldnsfilter/android/AppSelectorView$AsyncLoader; // field@00a5 │ │ +0160b4: 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 │ │ -0160ec: |[0160ec] dnsfilter.android.AppSelectorView.access$200:()F │ │ -0160fc: 6000 a100 |0000: sget v0, Ldnsfilter/android/AppSelectorView;.iconSizeDP:F // field@00a1 │ │ -016100: 0f00 |0002: return v0 │ │ +0160e8: |[0160e8] dnsfilter.android.AppSelectorView.access$200:()F │ │ +0160f8: 6000 a100 |0000: sget v0, Ldnsfilter/android/AppSelectorView;.iconSizeDP:F // field@00a1 │ │ +0160fc: 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 │ │ -016134: |[016134] dnsfilter.android.AppSelectorView.access$300:(Ldnsfilter/android/AppSelectorView;)Ljava/lang/String; │ │ -016144: 5400 a700 |0000: iget-object v0, v0, Ldnsfilter/android/AppSelectorView;.selectedApps:Ljava/lang/String; // field@00a7 │ │ -016148: 1100 |0002: return-object v0 │ │ +016130: |[016130] dnsfilter.android.AppSelectorView.access$300:(Ldnsfilter/android/AppSelectorView;)Ljava/lang/String; │ │ +016140: 5400 a700 |0000: iget-object v0, v0, Ldnsfilter/android/AppSelectorView;.selectedApps:Ljava/lang/String; // field@00a7 │ │ +016144: 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 │ │ -015fd0: |[015fd0] dnsfilter.android.AppSelectorView.access$400:(Ldnsfilter/android/AppSelectorView;)Landroid/content/pm/PackageManager; │ │ -015fe0: 5400 a400 |0000: iget-object v0, v0, Ldnsfilter/android/AppSelectorView;.pm:Landroid/content/pm/PackageManager; // field@00a4 │ │ -015fe4: 1100 |0002: return-object v0 │ │ +015fcc: |[015fcc] dnsfilter.android.AppSelectorView.access$400:(Ldnsfilter/android/AppSelectorView;)Landroid/content/pm/PackageManager; │ │ +015fdc: 5400 a400 |0000: iget-object v0, v0, Ldnsfilter/android/AppSelectorView;.pm:Landroid/content/pm/PackageManager; // field@00a4 │ │ +015fe0: 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 │ │ -016044: |[016044] dnsfilter.android.AppSelectorView.access$600:(Ldnsfilter/android/AppSelectorView;)Landroid/view/View; │ │ -016054: 5400 a600 |0000: iget-object v0, v0, Ldnsfilter/android/AppSelectorView;.searchView:Landroid/view/View; // field@00a6 │ │ -016058: 1100 |0002: return-object v0 │ │ +016040: |[016040] dnsfilter.android.AppSelectorView.access$600:(Ldnsfilter/android/AppSelectorView;)Landroid/view/View; │ │ +016050: 5400 a600 |0000: iget-object v0, v0, Ldnsfilter/android/AppSelectorView;.searchView:Landroid/view/View; // field@00a6 │ │ +016054: 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 │ │ -01605c: |[01605c] dnsfilter.android.AppSelectorView.access$700:(Ldnsfilter/android/AppSelectorView;)Landroid/view/View; │ │ -01606c: 5400 a000 |0000: iget-object v0, v0, Ldnsfilter/android/AppSelectorView;.emptyResult:Landroid/view/View; // field@00a0 │ │ -016070: 1100 |0002: return-object v0 │ │ +016058: |[016058] dnsfilter.android.AppSelectorView.access$700:(Ldnsfilter/android/AppSelectorView;)Landroid/view/View; │ │ +016068: 5400 a000 |0000: iget-object v0, v0, Ldnsfilter/android/AppSelectorView;.emptyResult:Landroid/view/View; // field@00a0 │ │ +01606c: 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 │ │ -0160bc: |[0160bc] dnsfilter.android.AppSelectorView.access$800:(Ldnsfilter/android/AppSelectorView;)[Ldnsfilter/android/AppSelectorView$ComparableAppInfoWrapper; │ │ -0160cc: 5400 a800 |0000: iget-object v0, v0, Ldnsfilter/android/AppSelectorView;.wrappers:[Ldnsfilter/android/AppSelectorView$ComparableAppInfoWrapper; // field@00a8 │ │ -0160d0: 1100 |0002: return-object v0 │ │ +0160b8: |[0160b8] dnsfilter.android.AppSelectorView.access$800:(Ldnsfilter/android/AppSelectorView;)[Ldnsfilter/android/AppSelectorView$ComparableAppInfoWrapper; │ │ +0160c8: 5400 a800 |0000: iget-object v0, v0, Ldnsfilter/android/AppSelectorView;.wrappers:[Ldnsfilter/android/AppSelectorView$ComparableAppInfoWrapper; // field@00a8 │ │ +0160cc: 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 │ │ -0160d4: |[0160d4] dnsfilter.android.AppSelectorView.access$802:(Ldnsfilter/android/AppSelectorView;[Ldnsfilter/android/AppSelectorView$ComparableAppInfoWrapper;)[Ldnsfilter/android/AppSelectorView$ComparableAppInfoWrapper; │ │ -0160e4: 5b01 a800 |0000: iput-object v1, v0, Ldnsfilter/android/AppSelectorView;.wrappers:[Ldnsfilter/android/AppSelectorView$ComparableAppInfoWrapper; // field@00a8 │ │ -0160e8: 1101 |0002: return-object v1 │ │ +0160d0: |[0160d0] dnsfilter.android.AppSelectorView.access$802:(Ldnsfilter/android/AppSelectorView;[Ldnsfilter/android/AppSelectorView$ComparableAppInfoWrapper;)[Ldnsfilter/android/AppSelectorView$ComparableAppInfoWrapper; │ │ +0160e0: 5b01 a800 |0000: iput-object v1, v0, Ldnsfilter/android/AppSelectorView;.wrappers:[Ldnsfilter/android/AppSelectorView$ComparableAppInfoWrapper; // field@00a8 │ │ +0160e4: 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 │ │ -016004: |[016004] dnsfilter.android.AppSelectorView.resizeDrawable:(Landroid/graphics/drawable/Drawable;I)Landroid/graphics/drawable/Drawable; │ │ -016014: 6200 0100 |0000: sget-object v0, Landroid/graphics/Bitmap$Config;.ARGB_8888:Landroid/graphics/Bitmap$Config; // field@0001 │ │ -016018: 7130 5a00 5500 |0002: invoke-static {v5, v5, v0}, Landroid/graphics/Bitmap;.createBitmap:(IILandroid/graphics/Bitmap$Config;)Landroid/graphics/Bitmap; // method@005a │ │ -01601e: 0c00 |0005: move-result-object v0 │ │ -016020: 2201 2300 |0006: new-instance v1, Landroid/graphics/Canvas; // type@0023 │ │ -016024: 7020 5b00 0100 |0008: invoke-direct {v1, v0}, Landroid/graphics/Canvas;.:(Landroid/graphics/Bitmap;)V // method@005b │ │ -01602a: 1202 |000b: const/4 v2, #int 0 // #0 │ │ -01602c: 6e55 6000 2452 |000c: invoke-virtual {v4, v2, v2, v5, v5}, Landroid/graphics/drawable/Drawable;.setBounds:(IIII)V // method@0060 │ │ -016032: 6e20 5f00 1400 |000f: invoke-virtual {v4, v1}, Landroid/graphics/drawable/Drawable;.draw:(Landroid/graphics/Canvas;)V // method@005f │ │ -016038: 2204 2500 |0012: new-instance v4, Landroid/graphics/drawable/BitmapDrawable; // type@0025 │ │ -01603c: 7020 5d00 0400 |0014: invoke-direct {v4, v0}, Landroid/graphics/drawable/BitmapDrawable;.:(Landroid/graphics/Bitmap;)V // method@005d │ │ -016042: 1104 |0017: return-object v4 │ │ +016000: |[016000] dnsfilter.android.AppSelectorView.resizeDrawable:(Landroid/graphics/drawable/Drawable;I)Landroid/graphics/drawable/Drawable; │ │ +016010: 6200 0100 |0000: sget-object v0, Landroid/graphics/Bitmap$Config;.ARGB_8888:Landroid/graphics/Bitmap$Config; // field@0001 │ │ +016014: 7130 5a00 5500 |0002: invoke-static {v5, v5, v0}, Landroid/graphics/Bitmap;.createBitmap:(IILandroid/graphics/Bitmap$Config;)Landroid/graphics/Bitmap; // method@005a │ │ +01601a: 0c00 |0005: move-result-object v0 │ │ +01601c: 2201 2300 |0006: new-instance v1, Landroid/graphics/Canvas; // type@0023 │ │ +016020: 7020 5b00 0100 |0008: invoke-direct {v1, v0}, Landroid/graphics/Canvas;.:(Landroid/graphics/Bitmap;)V // method@005b │ │ +016026: 1202 |000b: const/4 v2, #int 0 // #0 │ │ +016028: 6e55 6000 2452 |000c: invoke-virtual {v4, v2, v2, v5, v5}, Landroid/graphics/drawable/Drawable;.setBounds:(IIII)V // method@0060 │ │ +01602e: 6e20 5f00 1400 |000f: invoke-virtual {v4, v1}, Landroid/graphics/drawable/Drawable;.draw:(Landroid/graphics/Canvas;)V // method@005f │ │ +016034: 2204 2500 |0012: new-instance v4, Landroid/graphics/drawable/BitmapDrawable; // type@0025 │ │ +016038: 7020 5d00 0400 |0014: invoke-direct {v4, v0}, Landroid/graphics/drawable/BitmapDrawable;.:(Landroid/graphics/Bitmap;)V // method@005d │ │ +01603e: 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 │ │ -016300: |[016300] dnsfilter.android.AppSelectorView.clear:()V │ │ -016310: 5430 a500 |0000: iget-object v0, v3, Ldnsfilter/android/AppSelectorView;.runningUpdate:Ldnsfilter/android/AppSelectorView$AsyncLoader; // field@00a5 │ │ -016314: 1201 |0002: const/4 v1, #int 0 // #0 │ │ -016316: 1202 |0003: const/4 v2, #int 0 // #0 │ │ -016318: 3800 0900 |0004: if-eqz v0, 000d // +0009 │ │ -01631c: 6e10 3002 0000 |0006: invoke-virtual {v0}, Ldnsfilter/android/AppSelectorView$AsyncLoader;.abort:()V // method@0230 │ │ -016322: 5c31 a300 |0009: iput-boolean v1, v3, Ldnsfilter/android/AppSelectorView;.loaded:Z // field@00a3 │ │ -016326: 5b32 a800 |000b: iput-object v2, v3, Ldnsfilter/android/AppSelectorView;.wrappers:[Ldnsfilter/android/AppSelectorView$ComparableAppInfoWrapper; // field@00a8 │ │ -01632a: 6e10 5102 0300 |000d: invoke-virtual {v3}, Ldnsfilter/android/AppSelectorView;.getSelectedAppPackages:()Ljava/lang/String; // method@0251 │ │ -016330: 0c00 |0010: move-result-object v0 │ │ -016332: 5b30 a700 |0011: iput-object v0, v3, Ldnsfilter/android/AppSelectorView;.selectedApps:Ljava/lang/String; // field@00a7 │ │ -016336: 5b32 a800 |0013: iput-object v2, v3, Ldnsfilter/android/AppSelectorView;.wrappers:[Ldnsfilter/android/AppSelectorView$ComparableAppInfoWrapper; // field@00a8 │ │ -01633a: 5430 a600 |0015: iget-object v0, v3, Ldnsfilter/android/AppSelectorView;.searchView:Landroid/view/View; // field@00a6 │ │ -01633e: 3800 0500 |0017: if-eqz v0, 001c // +0005 │ │ -016342: 6e20 b200 2000 |0019: invoke-virtual {v0, v2}, Landroid/view/View;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@00b2 │ │ -016348: 6e10 5502 0300 |001c: invoke-virtual {v3}, Ldnsfilter/android/AppSelectorView;.removeAllViews:()V // method@0255 │ │ -01634e: 5c31 a300 |001f: iput-boolean v1, v3, Ldnsfilter/android/AppSelectorView;.loaded:Z // field@00a3 │ │ -016352: 0e00 |0021: return-void │ │ +0162fc: |[0162fc] dnsfilter.android.AppSelectorView.clear:()V │ │ +01630c: 5430 a500 |0000: iget-object v0, v3, Ldnsfilter/android/AppSelectorView;.runningUpdate:Ldnsfilter/android/AppSelectorView$AsyncLoader; // field@00a5 │ │ +016310: 1201 |0002: const/4 v1, #int 0 // #0 │ │ +016312: 1202 |0003: const/4 v2, #int 0 // #0 │ │ +016314: 3800 0900 |0004: if-eqz v0, 000d // +0009 │ │ +016318: 6e10 3002 0000 |0006: invoke-virtual {v0}, Ldnsfilter/android/AppSelectorView$AsyncLoader;.abort:()V // method@0230 │ │ +01631e: 5c31 a300 |0009: iput-boolean v1, v3, Ldnsfilter/android/AppSelectorView;.loaded:Z // field@00a3 │ │ +016322: 5b32 a800 |000b: iput-object v2, v3, Ldnsfilter/android/AppSelectorView;.wrappers:[Ldnsfilter/android/AppSelectorView$ComparableAppInfoWrapper; // field@00a8 │ │ +016326: 6e10 5102 0300 |000d: invoke-virtual {v3}, Ldnsfilter/android/AppSelectorView;.getSelectedAppPackages:()Ljava/lang/String; // method@0251 │ │ +01632c: 0c00 |0010: move-result-object v0 │ │ +01632e: 5b30 a700 |0011: iput-object v0, v3, Ldnsfilter/android/AppSelectorView;.selectedApps:Ljava/lang/String; // field@00a7 │ │ +016332: 5b32 a800 |0013: iput-object v2, v3, Ldnsfilter/android/AppSelectorView;.wrappers:[Ldnsfilter/android/AppSelectorView$ComparableAppInfoWrapper; // field@00a8 │ │ +016336: 5430 a600 |0015: iget-object v0, v3, Ldnsfilter/android/AppSelectorView;.searchView:Landroid/view/View; // field@00a6 │ │ +01633a: 3800 0500 |0017: if-eqz v0, 001c // +0005 │ │ +01633e: 6e20 b200 2000 |0019: invoke-virtual {v0, v2}, Landroid/view/View;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@00b2 │ │ +016344: 6e10 5502 0300 |001c: invoke-virtual {v3}, Ldnsfilter/android/AppSelectorView;.removeAllViews:()V // method@0255 │ │ +01634a: 5c31 a300 |001f: iput-boolean v1, v3, Ldnsfilter/android/AppSelectorView;.loaded:Z // field@00a3 │ │ +01634e: 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 │ │ -01614c: |[01614c] dnsfilter.android.AppSelectorView.getSelectedAppPackages:()Ljava/lang/String; │ │ -01615c: 5550 a300 |0000: iget-boolean v0, v5, Ldnsfilter/android/AppSelectorView;.loaded:Z // field@00a3 │ │ -016160: 3800 3b00 |0002: if-eqz v0, 003d // +003b │ │ -016164: 5450 a500 |0004: iget-object v0, v5, Ldnsfilter/android/AppSelectorView;.runningUpdate:Ldnsfilter/android/AppSelectorView$AsyncLoader; // field@00a5 │ │ -016168: 3800 0300 |0006: if-eqz v0, 0009 // +0003 │ │ -01616c: 2835 |0008: goto 003d // +0035 │ │ -01616e: 5450 a800 |0009: iget-object v0, v5, Ldnsfilter/android/AppSelectorView;.wrappers:[Ldnsfilter/android/AppSelectorView$ComparableAppInfoWrapper; // field@00a8 │ │ -016172: 1a01 0000 |000b: const-string v1, "" // string@0000 │ │ -016176: 1202 |000d: const/4 v2, #int 0 // #0 │ │ -016178: 0712 |000e: move-object v2, v1 │ │ -01617a: 1203 |000f: const/4 v3, #int 0 // #0 │ │ -01617c: 2104 |0010: array-length v4, v0 │ │ -01617e: 3543 2b00 |0011: if-ge v3, v4, 003c // +002b │ │ -016182: 4604 0003 |0013: aget-object v4, v0, v3 │ │ -016186: 5444 9900 |0015: iget-object v4, v4, Ldnsfilter/android/AppSelectorView$ComparableAppInfoWrapper;.checkBox:Landroid/widget/CheckBox; // field@0099 │ │ -01618a: 6e10 cc00 0400 |0017: invoke-virtual {v4}, Landroid/widget/CheckBox;.isChecked:()Z // method@00cc │ │ -016190: 0a04 |001a: move-result v4 │ │ -016192: 3804 1e00 |001b: if-eqz v4, 0039 // +001e │ │ -016196: 2204 2d01 |001d: new-instance v4, Ljava/lang/StringBuilder; // type@012d │ │ -01619a: 7010 a705 0400 |001f: invoke-direct {v4}, Ljava/lang/StringBuilder;.:()V // method@05a7 │ │ -0161a0: 6e20 ad05 1400 |0022: invoke-virtual {v4, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -0161a6: 6e20 ad05 2400 |0025: invoke-virtual {v4, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -0161ac: 4601 0003 |0028: aget-object v1, v0, v3 │ │ -0161b0: 7110 3502 0100 |002a: invoke-static {v1}, Ldnsfilter/android/AppSelectorView$ComparableAppInfoWrapper;.access$900:(Ldnsfilter/android/AppSelectorView$ComparableAppInfoWrapper;)Landroid/content/pm/ApplicationInfo; // method@0235 │ │ -0161b6: 0c01 |002d: move-result-object v1 │ │ -0161b8: 5411 0000 |002e: iget-object v1, v1, Landroid/content/pm/ApplicationInfo;.packageName:Ljava/lang/String; // field@0000 │ │ -0161bc: 6e20 ad05 1400 |0030: invoke-virtual {v4, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -0161c2: 6e10 af05 0400 |0033: invoke-virtual {v4}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ -0161c8: 0c01 |0036: move-result-object v1 │ │ -0161ca: 1a02 5100 |0037: const-string v2, ", " // string@0051 │ │ -0161ce: d803 0301 |0039: add-int/lit8 v3, v3, #int 1 // #01 │ │ -0161d2: 28d5 |003b: goto 0010 // -002b │ │ -0161d4: 1101 |003c: return-object v1 │ │ -0161d6: 5450 a700 |003d: iget-object v0, v5, Ldnsfilter/android/AppSelectorView;.selectedApps:Ljava/lang/String; // field@00a7 │ │ -0161da: 1100 |003f: return-object v0 │ │ +016148: |[016148] dnsfilter.android.AppSelectorView.getSelectedAppPackages:()Ljava/lang/String; │ │ +016158: 5550 a300 |0000: iget-boolean v0, v5, Ldnsfilter/android/AppSelectorView;.loaded:Z // field@00a3 │ │ +01615c: 3800 3b00 |0002: if-eqz v0, 003d // +003b │ │ +016160: 5450 a500 |0004: iget-object v0, v5, Ldnsfilter/android/AppSelectorView;.runningUpdate:Ldnsfilter/android/AppSelectorView$AsyncLoader; // field@00a5 │ │ +016164: 3800 0300 |0006: if-eqz v0, 0009 // +0003 │ │ +016168: 2835 |0008: goto 003d // +0035 │ │ +01616a: 5450 a800 |0009: iget-object v0, v5, Ldnsfilter/android/AppSelectorView;.wrappers:[Ldnsfilter/android/AppSelectorView$ComparableAppInfoWrapper; // field@00a8 │ │ +01616e: 1a01 0000 |000b: const-string v1, "" // string@0000 │ │ +016172: 1202 |000d: const/4 v2, #int 0 // #0 │ │ +016174: 0712 |000e: move-object v2, v1 │ │ +016176: 1203 |000f: const/4 v3, #int 0 // #0 │ │ +016178: 2104 |0010: array-length v4, v0 │ │ +01617a: 3543 2b00 |0011: if-ge v3, v4, 003c // +002b │ │ +01617e: 4604 0003 |0013: aget-object v4, v0, v3 │ │ +016182: 5444 9900 |0015: iget-object v4, v4, Ldnsfilter/android/AppSelectorView$ComparableAppInfoWrapper;.checkBox:Landroid/widget/CheckBox; // field@0099 │ │ +016186: 6e10 cc00 0400 |0017: invoke-virtual {v4}, Landroid/widget/CheckBox;.isChecked:()Z // method@00cc │ │ +01618c: 0a04 |001a: move-result v4 │ │ +01618e: 3804 1e00 |001b: if-eqz v4, 0039 // +001e │ │ +016192: 2204 2d01 |001d: new-instance v4, Ljava/lang/StringBuilder; // type@012d │ │ +016196: 7010 a705 0400 |001f: invoke-direct {v4}, Ljava/lang/StringBuilder;.:()V // method@05a7 │ │ +01619c: 6e20 ad05 1400 |0022: invoke-virtual {v4, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +0161a2: 6e20 ad05 2400 |0025: invoke-virtual {v4, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +0161a8: 4601 0003 |0028: aget-object v1, v0, v3 │ │ +0161ac: 7110 3502 0100 |002a: invoke-static {v1}, Ldnsfilter/android/AppSelectorView$ComparableAppInfoWrapper;.access$900:(Ldnsfilter/android/AppSelectorView$ComparableAppInfoWrapper;)Landroid/content/pm/ApplicationInfo; // method@0235 │ │ +0161b2: 0c01 |002d: move-result-object v1 │ │ +0161b4: 5411 0000 |002e: iget-object v1, v1, Landroid/content/pm/ApplicationInfo;.packageName:Ljava/lang/String; // field@0000 │ │ +0161b8: 6e20 ad05 1400 |0030: invoke-virtual {v4, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +0161be: 6e10 af05 0400 |0033: invoke-virtual {v4}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ +0161c4: 0c01 |0036: move-result-object v1 │ │ +0161c6: 1a02 5100 |0037: const-string v2, ", " // string@0051 │ │ +0161ca: d803 0301 |0039: add-int/lit8 v3, v3, #int 1 // #01 │ │ +0161ce: 28d5 |003b: goto 0010 // -002b │ │ +0161d0: 1101 |003c: return-object v1 │ │ +0161d2: 5450 a700 |003d: iget-object v0, v5, Ldnsfilter/android/AppSelectorView;.selectedApps:Ljava/lang/String; // field@00a7 │ │ +0161d6: 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 │ │ -016354: |[016354] dnsfilter.android.AppSelectorView.loadAppList:()V │ │ -016364: 6e10 4f02 0300 |0000: invoke-virtual {v3}, Ldnsfilter/android/AppSelectorView;.getContext:()Landroid/content/Context; // method@024f │ │ -01636a: 0c00 |0003: move-result-object v0 │ │ -01636c: 7110 a500 0000 |0004: invoke-static {v0}, Landroid/view/LayoutInflater;.from:(Landroid/content/Context;)Landroid/view/LayoutInflater; // method@00a5 │ │ -016372: 0c00 |0007: move-result-object v0 │ │ -016374: 1401 0200 067f |0008: const v1, #float 1.78117e+38 // #7f060002 │ │ -01637a: 1202 |000b: const/4 v2, #int 0 // #0 │ │ -01637c: 6e30 a600 1002 |000c: invoke-virtual {v0, v1, v2}, Landroid/view/LayoutInflater;.inflate:(ILandroid/view/ViewGroup;)Landroid/view/View; // method@00a6 │ │ -016382: 0c00 |000f: move-result-object v0 │ │ -016384: 5b30 a600 |0010: iput-object v0, v3, Ldnsfilter/android/AppSelectorView;.searchView:Landroid/view/View; // field@00a6 │ │ -016388: 1401 5900 057f |0012: const v1, #float 1.76789e+38 // #7f050059 │ │ -01638e: 6e20 ac00 1000 |0015: invoke-virtual {v0, v1}, Landroid/view/View;.findViewById:(I)Landroid/view/View; // method@00ac │ │ -016394: 0c00 |0018: move-result-object v0 │ │ -016396: 6e20 b200 3000 |0019: invoke-virtual {v0, v3}, Landroid/view/View;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@00b2 │ │ -01639c: 6e10 4f02 0300 |001c: invoke-virtual {v3}, Ldnsfilter/android/AppSelectorView;.getContext:()Landroid/content/Context; // method@024f │ │ -0163a2: 0c00 |001f: move-result-object v0 │ │ -0163a4: 7110 a500 0000 |0020: invoke-static {v0}, Landroid/view/LayoutInflater;.from:(Landroid/content/Context;)Landroid/view/LayoutInflater; // method@00a5 │ │ -0163aa: 0c00 |0023: move-result-object v0 │ │ -0163ac: 1401 0800 067f |0024: const v1, #float 1.78117e+38 // #7f060008 │ │ -0163b2: 6e30 a600 1002 |0027: invoke-virtual {v0, v1, v2}, Landroid/view/LayoutInflater;.inflate:(ILandroid/view/ViewGroup;)Landroid/view/View; // method@00a6 │ │ -0163b8: 0c00 |002a: move-result-object v0 │ │ -0163ba: 5b30 a000 |002b: iput-object v0, v3, Ldnsfilter/android/AppSelectorView;.emptyResult:Landroid/view/View; // field@00a0 │ │ -0163be: 1301 0800 |002d: const/16 v1, #int 8 // #8 │ │ -0163c2: 6e20 b400 1000 |002f: invoke-virtual {v0, v1}, Landroid/view/View;.setVisibility:(I)V // method@00b4 │ │ -0163c8: 5530 a300 |0032: iget-boolean v0, v3, Ldnsfilter/android/AppSelectorView;.loaded:Z // field@00a3 │ │ -0163cc: 3900 1800 |0034: if-nez v0, 004c // +0018 │ │ -0163d0: 5430 a500 |0036: iget-object v0, v3, Ldnsfilter/android/AppSelectorView;.runningUpdate:Ldnsfilter/android/AppSelectorView$AsyncLoader; // field@00a5 │ │ -0163d4: 3800 0300 |0038: if-eqz v0, 003b // +0003 │ │ -0163d8: 2812 |003a: goto 004c // +0012 │ │ -0163da: 2200 9a00 |003b: new-instance v0, Ldnsfilter/android/AppSelectorView$AsyncLoader; // type@009a │ │ -0163de: 7030 2f02 3002 |003d: invoke-direct {v0, v3, v2}, Ldnsfilter/android/AppSelectorView$AsyncLoader;.:(Ldnsfilter/android/AppSelectorView;Ldnsfilter/android/AppSelectorView$1;)V // method@022f │ │ -0163e4: 5b30 a500 |0040: iput-object v0, v3, Ldnsfilter/android/AppSelectorView;.runningUpdate:Ldnsfilter/android/AppSelectorView$AsyncLoader; // field@00a5 │ │ -0163e8: 2200 2f01 |0042: new-instance v0, Ljava/lang/Thread; // type@012f │ │ -0163ec: 5431 a500 |0044: iget-object v1, v3, Ldnsfilter/android/AppSelectorView;.runningUpdate:Ldnsfilter/android/AppSelectorView$AsyncLoader; // field@00a5 │ │ -0163f0: 7020 b405 1000 |0046: invoke-direct {v0, v1}, Ljava/lang/Thread;.:(Ljava/lang/Runnable;)V // method@05b4 │ │ -0163f6: 6e10 ba05 0000 |0049: invoke-virtual {v0}, Ljava/lang/Thread;.start:()V // method@05ba │ │ -0163fc: 0e00 |004c: return-void │ │ +016350: |[016350] dnsfilter.android.AppSelectorView.loadAppList:()V │ │ +016360: 6e10 4f02 0300 |0000: invoke-virtual {v3}, Ldnsfilter/android/AppSelectorView;.getContext:()Landroid/content/Context; // method@024f │ │ +016366: 0c00 |0003: move-result-object v0 │ │ +016368: 7110 a500 0000 |0004: invoke-static {v0}, Landroid/view/LayoutInflater;.from:(Landroid/content/Context;)Landroid/view/LayoutInflater; // method@00a5 │ │ +01636e: 0c00 |0007: move-result-object v0 │ │ +016370: 1401 0200 067f |0008: const v1, #float 1.78117e+38 // #7f060002 │ │ +016376: 1202 |000b: const/4 v2, #int 0 // #0 │ │ +016378: 6e30 a600 1002 |000c: invoke-virtual {v0, v1, v2}, Landroid/view/LayoutInflater;.inflate:(ILandroid/view/ViewGroup;)Landroid/view/View; // method@00a6 │ │ +01637e: 0c00 |000f: move-result-object v0 │ │ +016380: 5b30 a600 |0010: iput-object v0, v3, Ldnsfilter/android/AppSelectorView;.searchView:Landroid/view/View; // field@00a6 │ │ +016384: 1401 5900 057f |0012: const v1, #float 1.76789e+38 // #7f050059 │ │ +01638a: 6e20 ac00 1000 |0015: invoke-virtual {v0, v1}, Landroid/view/View;.findViewById:(I)Landroid/view/View; // method@00ac │ │ +016390: 0c00 |0018: move-result-object v0 │ │ +016392: 6e20 b200 3000 |0019: invoke-virtual {v0, v3}, Landroid/view/View;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@00b2 │ │ +016398: 6e10 4f02 0300 |001c: invoke-virtual {v3}, Ldnsfilter/android/AppSelectorView;.getContext:()Landroid/content/Context; // method@024f │ │ +01639e: 0c00 |001f: move-result-object v0 │ │ +0163a0: 7110 a500 0000 |0020: invoke-static {v0}, Landroid/view/LayoutInflater;.from:(Landroid/content/Context;)Landroid/view/LayoutInflater; // method@00a5 │ │ +0163a6: 0c00 |0023: move-result-object v0 │ │ +0163a8: 1401 0800 067f |0024: const v1, #float 1.78117e+38 // #7f060008 │ │ +0163ae: 6e30 a600 1002 |0027: invoke-virtual {v0, v1, v2}, Landroid/view/LayoutInflater;.inflate:(ILandroid/view/ViewGroup;)Landroid/view/View; // method@00a6 │ │ +0163b4: 0c00 |002a: move-result-object v0 │ │ +0163b6: 5b30 a000 |002b: iput-object v0, v3, Ldnsfilter/android/AppSelectorView;.emptyResult:Landroid/view/View; // field@00a0 │ │ +0163ba: 1301 0800 |002d: const/16 v1, #int 8 // #8 │ │ +0163be: 6e20 b400 1000 |002f: invoke-virtual {v0, v1}, Landroid/view/View;.setVisibility:(I)V // method@00b4 │ │ +0163c4: 5530 a300 |0032: iget-boolean v0, v3, Ldnsfilter/android/AppSelectorView;.loaded:Z // field@00a3 │ │ +0163c8: 3900 1800 |0034: if-nez v0, 004c // +0018 │ │ +0163cc: 5430 a500 |0036: iget-object v0, v3, Ldnsfilter/android/AppSelectorView;.runningUpdate:Ldnsfilter/android/AppSelectorView$AsyncLoader; // field@00a5 │ │ +0163d0: 3800 0300 |0038: if-eqz v0, 003b // +0003 │ │ +0163d4: 2812 |003a: goto 004c // +0012 │ │ +0163d6: 2200 9a00 |003b: new-instance v0, Ldnsfilter/android/AppSelectorView$AsyncLoader; // type@009a │ │ +0163da: 7030 2f02 3002 |003d: invoke-direct {v0, v3, v2}, Ldnsfilter/android/AppSelectorView$AsyncLoader;.:(Ldnsfilter/android/AppSelectorView;Ldnsfilter/android/AppSelectorView$1;)V // method@022f │ │ +0163e0: 5b30 a500 |0040: iput-object v0, v3, Ldnsfilter/android/AppSelectorView;.runningUpdate:Ldnsfilter/android/AppSelectorView$AsyncLoader; // field@00a5 │ │ +0163e4: 2200 2f01 |0042: new-instance v0, Ljava/lang/Thread; // type@012f │ │ +0163e8: 5431 a500 |0044: iget-object v1, v3, Ldnsfilter/android/AppSelectorView;.runningUpdate:Ldnsfilter/android/AppSelectorView$AsyncLoader; // field@00a5 │ │ +0163ec: 7020 b405 1000 |0046: invoke-direct {v0, v1}, Ljava/lang/Thread;.:(Ljava/lang/Runnable;)V // method@05b4 │ │ +0163f2: 6e10 ba05 0000 |0049: invoke-virtual {v0}, Ljava/lang/Thread;.start:()V // method@05ba │ │ +0163f8: 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 │ │ -016400: |[016400] dnsfilter.android.AppSelectorView.onClick:(Landroid/view/View;)V │ │ -016410: 5578 a300 |0000: iget-boolean v8, v7, Ldnsfilter/android/AppSelectorView;.loaded:Z // field@00a3 │ │ -016414: 3808 8100 |0002: if-eqz v8, 0083 // +0081 │ │ -016418: 5478 a500 |0004: iget-object v8, v7, Ldnsfilter/android/AppSelectorView;.runningUpdate:Ldnsfilter/android/AppSelectorView$AsyncLoader; // field@00a5 │ │ -01641c: 3808 0400 |0006: if-eqz v8, 000a // +0004 │ │ -016420: 2900 7b00 |0008: goto/16 0083 // +007b │ │ -016424: 5478 a600 |000a: iget-object v8, v7, Ldnsfilter/android/AppSelectorView;.searchView:Landroid/view/View; // field@00a6 │ │ -016428: 1400 5a00 057f |000c: const v0, #float 1.76789e+38 // #7f05005a │ │ -01642e: 6e20 ac00 0800 |000f: invoke-virtual {v8, v0}, Landroid/view/View;.findViewById:(I)Landroid/view/View; // method@00ac │ │ -016434: 0c08 |0012: move-result-object v8 │ │ -016436: 1f08 6700 |0013: check-cast v8, Landroid/widget/EditText; // type@0067 │ │ -01643a: 6e10 da00 0800 |0015: invoke-virtual {v8}, Landroid/widget/EditText;.getText:()Landroid/text/Editable; // method@00da │ │ -016440: 0c08 |0018: move-result-object v8 │ │ -016442: 6e10 7805 0800 |0019: invoke-virtual {v8}, Ljava/lang/Object;.toString:()Ljava/lang/String; // method@0578 │ │ -016448: 0c08 |001c: move-result-object v8 │ │ -01644a: 6e10 9c05 0800 |001d: invoke-virtual {v8}, Ljava/lang/String;.toLowerCase:()Ljava/lang/String; // method@059c │ │ -016450: 0c08 |0020: move-result-object v8 │ │ -016452: 5470 a800 |0021: iget-object v0, v7, Ldnsfilter/android/AppSelectorView;.wrappers:[Ldnsfilter/android/AppSelectorView$ComparableAppInfoWrapper; // field@00a8 │ │ -016456: 5471 a000 |0023: iget-object v1, v7, Ldnsfilter/android/AppSelectorView;.emptyResult:Landroid/view/View; // field@00a0 │ │ -01645a: 1302 0800 |0025: const/16 v2, #int 8 // #8 │ │ -01645e: 6e20 b400 2100 |0027: invoke-virtual {v1, v2}, Landroid/view/View;.setVisibility:(I)V // method@00b4 │ │ -016464: 1201 |002a: const/4 v1, #int 0 // #0 │ │ -016466: 1203 |002b: const/4 v3, #int 0 // #0 │ │ -016468: 1204 |002c: const/4 v4, #int 0 // #0 │ │ -01646a: 2105 |002d: array-length v5, v0 │ │ -01646c: 3553 3400 |002e: if-ge v3, v5, 0062 // +0034 │ │ -016470: 4605 0003 |0030: aget-object v5, v0, v3 │ │ -016474: 5455 9900 |0032: iget-object v5, v5, Ldnsfilter/android/AppSelectorView$ComparableAppInfoWrapper;.checkBox:Landroid/widget/CheckBox; // field@0099 │ │ -016478: 6e10 cb00 0500 |0034: invoke-virtual {v5}, Landroid/widget/CheckBox;.getText:()Ljava/lang/CharSequence; // method@00cb │ │ -01647e: 0c05 |0037: move-result-object v5 │ │ -016480: 7210 5005 0500 |0038: invoke-interface {v5}, Ljava/lang/CharSequence;.toString:()Ljava/lang/String; // method@0550 │ │ -016486: 0c05 |003b: move-result-object v5 │ │ -016488: 6e10 9c05 0500 |003c: invoke-virtual {v5}, Ljava/lang/String;.toLowerCase:()Ljava/lang/String; // method@059c │ │ -01648e: 0c05 |003f: move-result-object v5 │ │ -016490: 6e20 9005 8500 |0040: invoke-virtual {v5, v8}, Ljava/lang/String;.indexOf:(Ljava/lang/String;)I // method@0590 │ │ -016496: 0a05 |0043: move-result v5 │ │ -016498: 12f6 |0044: const/4 v6, #int -1 // #ff │ │ -01649a: 3265 0400 |0045: if-eq v5, v6, 0049 // +0004 │ │ -01649e: 1215 |0047: const/4 v5, #int 1 // #1 │ │ -0164a0: 2802 |0048: goto 004a // +0002 │ │ -0164a2: 1205 |0049: const/4 v5, #int 0 // #0 │ │ -0164a4: 3805 0a00 |004a: if-eqz v5, 0054 // +000a │ │ -0164a8: 4606 0003 |004c: aget-object v6, v0, v3 │ │ -0164ac: 5466 9900 |004e: iget-object v6, v6, Ldnsfilter/android/AppSelectorView$ComparableAppInfoWrapper;.checkBox:Landroid/widget/CheckBox; // field@0099 │ │ -0164b0: 6e20 d200 1600 |0050: invoke-virtual {v6, v1}, Landroid/widget/CheckBox;.setVisibility:(I)V // method@00d2 │ │ -0164b6: 2808 |0053: goto 005b // +0008 │ │ -0164b8: 4606 0003 |0054: aget-object v6, v0, v3 │ │ -0164bc: 5466 9900 |0056: iget-object v6, v6, Ldnsfilter/android/AppSelectorView$ComparableAppInfoWrapper;.checkBox:Landroid/widget/CheckBox; // field@0099 │ │ -0164c0: 6e20 d200 2600 |0058: invoke-virtual {v6, v2}, Landroid/widget/CheckBox;.setVisibility:(I)V // method@00d2 │ │ -0164c6: 3805 0400 |005b: if-eqz v5, 005f // +0004 │ │ -0164ca: d804 0401 |005d: add-int/lit8 v4, v4, #int 1 // #01 │ │ -0164ce: d803 0301 |005f: add-int/lit8 v3, v3, #int 1 // #01 │ │ -0164d2: 28cc |0061: goto 002d // -0034 │ │ -0164d4: 3904 0700 |0062: if-nez v4, 0069 // +0007 │ │ -0164d8: 5478 a000 |0064: iget-object v8, v7, Ldnsfilter/android/AppSelectorView;.emptyResult:Landroid/view/View; // field@00a0 │ │ -0164dc: 6e20 b400 1800 |0066: invoke-virtual {v8, v1}, Landroid/view/View;.setVisibility:(I)V // method@00b4 │ │ -0164e2: 7100 2507 0000 |0069: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0725 │ │ -0164e8: 0c08 |006c: move-result-object v8 │ │ -0164ea: 2200 2d01 |006d: new-instance v0, Ljava/lang/StringBuilder; // type@012d │ │ -0164ee: 1a01 a801 |006f: const-string v1, "Found: " // string@01a8 │ │ -0164f2: 7020 a805 1000 |0071: invoke-direct {v0, v1}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05a8 │ │ -0164f8: 6e20 aa05 4000 |0074: invoke-virtual {v0, v4}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@05aa │ │ -0164fe: 1a01 1600 |0077: const-string v1, " apps!" // string@0016 │ │ -016502: 6e20 ad05 1000 |0079: invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -016508: 6e10 af05 0000 |007c: invoke-virtual {v0}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ -01650e: 0c00 |007f: move-result-object v0 │ │ -016510: 7220 3107 0800 |0080: invoke-interface {v8, v0}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0731 │ │ -016516: 0e00 |0083: return-void │ │ +0163fc: |[0163fc] dnsfilter.android.AppSelectorView.onClick:(Landroid/view/View;)V │ │ +01640c: 5578 a300 |0000: iget-boolean v8, v7, Ldnsfilter/android/AppSelectorView;.loaded:Z // field@00a3 │ │ +016410: 3808 8100 |0002: if-eqz v8, 0083 // +0081 │ │ +016414: 5478 a500 |0004: iget-object v8, v7, Ldnsfilter/android/AppSelectorView;.runningUpdate:Ldnsfilter/android/AppSelectorView$AsyncLoader; // field@00a5 │ │ +016418: 3808 0400 |0006: if-eqz v8, 000a // +0004 │ │ +01641c: 2900 7b00 |0008: goto/16 0083 // +007b │ │ +016420: 5478 a600 |000a: iget-object v8, v7, Ldnsfilter/android/AppSelectorView;.searchView:Landroid/view/View; // field@00a6 │ │ +016424: 1400 5a00 057f |000c: const v0, #float 1.76789e+38 // #7f05005a │ │ +01642a: 6e20 ac00 0800 |000f: invoke-virtual {v8, v0}, Landroid/view/View;.findViewById:(I)Landroid/view/View; // method@00ac │ │ +016430: 0c08 |0012: move-result-object v8 │ │ +016432: 1f08 6700 |0013: check-cast v8, Landroid/widget/EditText; // type@0067 │ │ +016436: 6e10 da00 0800 |0015: invoke-virtual {v8}, Landroid/widget/EditText;.getText:()Landroid/text/Editable; // method@00da │ │ +01643c: 0c08 |0018: move-result-object v8 │ │ +01643e: 6e10 7805 0800 |0019: invoke-virtual {v8}, Ljava/lang/Object;.toString:()Ljava/lang/String; // method@0578 │ │ +016444: 0c08 |001c: move-result-object v8 │ │ +016446: 6e10 9c05 0800 |001d: invoke-virtual {v8}, Ljava/lang/String;.toLowerCase:()Ljava/lang/String; // method@059c │ │ +01644c: 0c08 |0020: move-result-object v8 │ │ +01644e: 5470 a800 |0021: iget-object v0, v7, Ldnsfilter/android/AppSelectorView;.wrappers:[Ldnsfilter/android/AppSelectorView$ComparableAppInfoWrapper; // field@00a8 │ │ +016452: 5471 a000 |0023: iget-object v1, v7, Ldnsfilter/android/AppSelectorView;.emptyResult:Landroid/view/View; // field@00a0 │ │ +016456: 1302 0800 |0025: const/16 v2, #int 8 // #8 │ │ +01645a: 6e20 b400 2100 |0027: invoke-virtual {v1, v2}, Landroid/view/View;.setVisibility:(I)V // method@00b4 │ │ +016460: 1201 |002a: const/4 v1, #int 0 // #0 │ │ +016462: 1203 |002b: const/4 v3, #int 0 // #0 │ │ +016464: 1204 |002c: const/4 v4, #int 0 // #0 │ │ +016466: 2105 |002d: array-length v5, v0 │ │ +016468: 3553 3400 |002e: if-ge v3, v5, 0062 // +0034 │ │ +01646c: 4605 0003 |0030: aget-object v5, v0, v3 │ │ +016470: 5455 9900 |0032: iget-object v5, v5, Ldnsfilter/android/AppSelectorView$ComparableAppInfoWrapper;.checkBox:Landroid/widget/CheckBox; // field@0099 │ │ +016474: 6e10 cb00 0500 |0034: invoke-virtual {v5}, Landroid/widget/CheckBox;.getText:()Ljava/lang/CharSequence; // method@00cb │ │ +01647a: 0c05 |0037: move-result-object v5 │ │ +01647c: 7210 5005 0500 |0038: invoke-interface {v5}, Ljava/lang/CharSequence;.toString:()Ljava/lang/String; // method@0550 │ │ +016482: 0c05 |003b: move-result-object v5 │ │ +016484: 6e10 9c05 0500 |003c: invoke-virtual {v5}, Ljava/lang/String;.toLowerCase:()Ljava/lang/String; // method@059c │ │ +01648a: 0c05 |003f: move-result-object v5 │ │ +01648c: 6e20 9005 8500 |0040: invoke-virtual {v5, v8}, Ljava/lang/String;.indexOf:(Ljava/lang/String;)I // method@0590 │ │ +016492: 0a05 |0043: move-result v5 │ │ +016494: 12f6 |0044: const/4 v6, #int -1 // #ff │ │ +016496: 3265 0400 |0045: if-eq v5, v6, 0049 // +0004 │ │ +01649a: 1215 |0047: const/4 v5, #int 1 // #1 │ │ +01649c: 2802 |0048: goto 004a // +0002 │ │ +01649e: 1205 |0049: const/4 v5, #int 0 // #0 │ │ +0164a0: 3805 0a00 |004a: if-eqz v5, 0054 // +000a │ │ +0164a4: 4606 0003 |004c: aget-object v6, v0, v3 │ │ +0164a8: 5466 9900 |004e: iget-object v6, v6, Ldnsfilter/android/AppSelectorView$ComparableAppInfoWrapper;.checkBox:Landroid/widget/CheckBox; // field@0099 │ │ +0164ac: 6e20 d200 1600 |0050: invoke-virtual {v6, v1}, Landroid/widget/CheckBox;.setVisibility:(I)V // method@00d2 │ │ +0164b2: 2808 |0053: goto 005b // +0008 │ │ +0164b4: 4606 0003 |0054: aget-object v6, v0, v3 │ │ +0164b8: 5466 9900 |0056: iget-object v6, v6, Ldnsfilter/android/AppSelectorView$ComparableAppInfoWrapper;.checkBox:Landroid/widget/CheckBox; // field@0099 │ │ +0164bc: 6e20 d200 2600 |0058: invoke-virtual {v6, v2}, Landroid/widget/CheckBox;.setVisibility:(I)V // method@00d2 │ │ +0164c2: 3805 0400 |005b: if-eqz v5, 005f // +0004 │ │ +0164c6: d804 0401 |005d: add-int/lit8 v4, v4, #int 1 // #01 │ │ +0164ca: d803 0301 |005f: add-int/lit8 v3, v3, #int 1 // #01 │ │ +0164ce: 28cc |0061: goto 002d // -0034 │ │ +0164d0: 3904 0700 |0062: if-nez v4, 0069 // +0007 │ │ +0164d4: 5478 a000 |0064: iget-object v8, v7, Ldnsfilter/android/AppSelectorView;.emptyResult:Landroid/view/View; // field@00a0 │ │ +0164d8: 6e20 b400 1800 |0066: invoke-virtual {v8, v1}, Landroid/view/View;.setVisibility:(I)V // method@00b4 │ │ +0164de: 7100 2507 0000 |0069: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0725 │ │ +0164e4: 0c08 |006c: move-result-object v8 │ │ +0164e6: 2200 2d01 |006d: new-instance v0, Ljava/lang/StringBuilder; // type@012d │ │ +0164ea: 1a01 a801 |006f: const-string v1, "Found: " // string@01a8 │ │ +0164ee: 7020 a805 1000 |0071: invoke-direct {v0, v1}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05a8 │ │ +0164f4: 6e20 aa05 4000 |0074: invoke-virtual {v0, v4}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@05aa │ │ +0164fa: 1a01 1600 |0077: const-string v1, " apps!" // string@0016 │ │ +0164fe: 6e20 ad05 1000 |0079: invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +016504: 6e10 af05 0000 |007c: invoke-virtual {v0}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ +01650a: 0c00 |007f: move-result-object v0 │ │ +01650c: 7220 3107 0800 |0080: invoke-interface {v8, v0}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0731 │ │ +016512: 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 │ │ -016518: |[016518] dnsfilter.android.AppSelectorView.setSelectedApps:(Ljava/lang/String;)V │ │ -016528: 5b01 a700 |0000: iput-object v1, v0, Ldnsfilter/android/AppSelectorView;.selectedApps:Ljava/lang/String; // field@00a7 │ │ -01652c: 0e00 |0002: return-void │ │ +016514: |[016514] dnsfilter.android.AppSelectorView.setSelectedApps:(Ljava/lang/String;)V │ │ +016524: 5b01 a700 |0000: iput-object v1, v0, Ldnsfilter/android/AppSelectorView;.selectedApps:Ljava/lang/String; // field@00a7 │ │ +016528: 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 │ │ -016664: |[016664] dnsfilter.android.BootUpReceiver$$ExternalSyntheticApiModelOutline0.m:(Landroid/content/Context;Ljava/lang/String;)I │ │ -016674: 6e20 3400 1000 |0000: invoke-virtual {v0, v1}, Landroid/content/Context;.checkSelfPermission:(Ljava/lang/String;)I // method@0034 │ │ -01667a: 0a00 |0003: move-result v0 │ │ -01667c: 0f00 |0004: return v0 │ │ +016660: |[016660] dnsfilter.android.BootUpReceiver$$ExternalSyntheticApiModelOutline0.m:(Landroid/content/Context;Ljava/lang/String;)I │ │ +016670: 6e20 3400 1000 |0000: invoke-virtual {v0, v1}, Landroid/content/Context;.checkSelfPermission:(Ljava/lang/String;)I // method@0034 │ │ +016676: 0a00 |0003: move-result v0 │ │ +016678: 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 │ │ -016680: |[016680] dnsfilter.android.BootUpReceiver$$ExternalSyntheticApiModelOutline0.m:(Ldnsfilter/android/DNSProxyActivity;Ljava/lang/String;)I │ │ -016690: 6e20 e702 1000 |0000: invoke-virtual {v0, v1}, Ldnsfilter/android/DNSProxyActivity;.checkSelfPermission:(Ljava/lang/String;)I // method@02e7 │ │ -016696: 0a00 |0003: move-result v0 │ │ -016698: 0f00 |0004: return v0 │ │ +01667c: |[01667c] dnsfilter.android.BootUpReceiver$$ExternalSyntheticApiModelOutline0.m:(Ldnsfilter/android/DNSProxyActivity;Ljava/lang/String;)I │ │ +01668c: 6e20 e702 1000 |0000: invoke-virtual {v0, v1}, Ldnsfilter/android/DNSProxyActivity;.checkSelfPermission:(Ljava/lang/String;)I // method@02e7 │ │ +016692: 0a00 |0003: move-result v0 │ │ +016694: 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 │ │ -016530: |[016530] dnsfilter.android.BootUpReceiver$$ExternalSyntheticApiModelOutline0.m:(Landroid/content/Context;Landroid/content/Intent;)Landroid/content/ComponentName; │ │ -016540: 6e20 3f00 1000 |0000: invoke-virtual {v0, v1}, Landroid/content/Context;.startForegroundService:(Landroid/content/Intent;)Landroid/content/ComponentName; // method@003f │ │ -016546: 0c00 |0003: move-result-object v0 │ │ -016548: 1100 |0004: return-object v0 │ │ +01652c: |[01652c] dnsfilter.android.BootUpReceiver$$ExternalSyntheticApiModelOutline0.m:(Landroid/content/Context;Landroid/content/Intent;)Landroid/content/ComponentName; │ │ +01653c: 6e20 3f00 1000 |0000: invoke-virtual {v0, v1}, Landroid/content/Context;.startForegroundService:(Landroid/content/Intent;)Landroid/content/ComponentName; // method@003f │ │ +016542: 0c00 |0003: move-result-object v0 │ │ +016544: 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 │ │ -01654c: |[01654c] dnsfilter.android.BootUpReceiver$$ExternalSyntheticApiModelOutline0.m:(Ldnsfilter/android/DNSFilterService;Landroid/content/BroadcastReceiver;Landroid/content/IntentFilter;I)Landroid/content/Intent; │ │ -01655c: 6e40 a602 1032 |0000: invoke-virtual {v0, v1, v2, v3}, Ldnsfilter/android/DNSFilterService;.registerReceiver:(Landroid/content/BroadcastReceiver;Landroid/content/IntentFilter;I)Landroid/content/Intent; // method@02a6 │ │ -016562: 0c00 |0003: move-result-object v0 │ │ -016564: 1100 |0004: return-object v0 │ │ +016548: |[016548] dnsfilter.android.BootUpReceiver$$ExternalSyntheticApiModelOutline0.m:(Ldnsfilter/android/DNSFilterService;Landroid/content/BroadcastReceiver;Landroid/content/IntentFilter;I)Landroid/content/Intent; │ │ +016558: 6e40 a602 1032 |0000: invoke-virtual {v0, v1, v2, v3}, Ldnsfilter/android/DNSFilterService;.registerReceiver:(Landroid/content/BroadcastReceiver;Landroid/content/IntentFilter;I)Landroid/content/Intent; // method@02a6 │ │ +01655e: 0c00 |0003: move-result-object v0 │ │ +016560: 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 │ │ -016568: |[016568] dnsfilter.android.BootUpReceiver$$ExternalSyntheticApiModelOutline0.m:(Landroid/content/Context;I)Landroid/graphics/drawable/Icon; │ │ -016578: 7120 6100 1000 |0000: invoke-static {v0, v1}, Landroid/graphics/drawable/Icon;.createWithResource:(Landroid/content/Context;I)Landroid/graphics/drawable/Icon; // method@0061 │ │ -01657e: 0c00 |0003: move-result-object v0 │ │ -016580: 1100 |0004: return-object v0 │ │ +016564: |[016564] dnsfilter.android.BootUpReceiver$$ExternalSyntheticApiModelOutline0.m:(Landroid/content/Context;I)Landroid/graphics/drawable/Icon; │ │ +016574: 7120 6100 1000 |0000: invoke-static {v0, v1}, Landroid/graphics/drawable/Icon;.createWithResource:(Landroid/content/Context;I)Landroid/graphics/drawable/Icon; // method@0061 │ │ +01657a: 0c00 |0003: move-result-object v0 │ │ +01657c: 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 │ │ -016584: |[016584] dnsfilter.android.BootUpReceiver$$ExternalSyntheticApiModelOutline0.m:(Landroid/net/ConnectivityManager;Landroid/net/Network;)Landroid/net/LinkProperties; │ │ -016594: 6e20 6400 1000 |0000: invoke-virtual {v0, v1}, Landroid/net/ConnectivityManager;.getLinkProperties:(Landroid/net/Network;)Landroid/net/LinkProperties; // method@0064 │ │ -01659a: 0c00 |0003: move-result-object v0 │ │ -01659c: 1100 |0004: return-object v0 │ │ +016580: |[016580] dnsfilter.android.BootUpReceiver$$ExternalSyntheticApiModelOutline0.m:(Landroid/net/ConnectivityManager;Landroid/net/Network;)Landroid/net/LinkProperties; │ │ +016590: 6e20 6400 1000 |0000: invoke-virtual {v0, v1}, Landroid/net/ConnectivityManager;.getLinkProperties:(Landroid/net/Network;)Landroid/net/LinkProperties; // method@0064 │ │ +016596: 0c00 |0003: move-result-object v0 │ │ +016598: 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 │ │ -0165a0: |[0165a0] dnsfilter.android.BootUpReceiver$$ExternalSyntheticApiModelOutline0.m:(Landroid/net/ConnectivityManager;Landroid/net/Network;)Landroid/net/NetworkInfo; │ │ -0165b0: 6e20 6500 1000 |0000: invoke-virtual {v0, v1}, Landroid/net/ConnectivityManager;.getNetworkInfo:(Landroid/net/Network;)Landroid/net/NetworkInfo; // method@0065 │ │ -0165b6: 0c00 |0003: move-result-object v0 │ │ -0165b8: 1100 |0004: return-object v0 │ │ +01659c: |[01659c] dnsfilter.android.BootUpReceiver$$ExternalSyntheticApiModelOutline0.m:(Landroid/net/ConnectivityManager;Landroid/net/Network;)Landroid/net/NetworkInfo; │ │ +0165ac: 6e20 6500 1000 |0000: invoke-virtual {v0, v1}, Landroid/net/ConnectivityManager;.getNetworkInfo:(Landroid/net/Network;)Landroid/net/NetworkInfo; // method@0065 │ │ +0165b2: 0c00 |0003: move-result-object v0 │ │ +0165b4: 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 │ │ -016610: |[016610] dnsfilter.android.BootUpReceiver$$ExternalSyntheticApiModelOutline0.m:(Landroid/net/VpnService$Builder;Ljava/lang/String;)Landroid/net/VpnService$Builder; │ │ -016620: 6e20 6d00 1000 |0000: invoke-virtual {v0, v1}, Landroid/net/VpnService$Builder;.addDisallowedApplication:(Ljava/lang/String;)Landroid/net/VpnService$Builder; // method@006d │ │ -016626: 0c00 |0003: move-result-object v0 │ │ -016628: 1100 |0004: return-object v0 │ │ +01660c: |[01660c] dnsfilter.android.BootUpReceiver$$ExternalSyntheticApiModelOutline0.m:(Landroid/net/VpnService$Builder;Ljava/lang/String;)Landroid/net/VpnService$Builder; │ │ +01661c: 6e20 6d00 1000 |0000: invoke-virtual {v0, v1}, Landroid/net/VpnService$Builder;.addDisallowedApplication:(Ljava/lang/String;)Landroid/net/VpnService$Builder; // method@006d │ │ +016622: 0c00 |0003: move-result-object v0 │ │ +016624: 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 │ │ -0165f4: |[0165f4] dnsfilter.android.BootUpReceiver$$ExternalSyntheticApiModelOutline0.m:(Landroid/net/VpnService$Builder;Z)Landroid/net/VpnService$Builder; │ │ -016604: 6e20 7200 1000 |0000: invoke-virtual {v0, v1}, Landroid/net/VpnService$Builder;.setBlocking:(Z)Landroid/net/VpnService$Builder; // method@0072 │ │ -01660a: 0c00 |0003: move-result-object v0 │ │ -01660c: 1100 |0004: return-object v0 │ │ +0165f0: |[0165f0] dnsfilter.android.BootUpReceiver$$ExternalSyntheticApiModelOutline0.m:(Landroid/net/VpnService$Builder;Z)Landroid/net/VpnService$Builder; │ │ +016600: 6e20 7200 1000 |0000: invoke-virtual {v0, v1}, Landroid/net/VpnService$Builder;.setBlocking:(Z)Landroid/net/VpnService$Builder; // method@0072 │ │ +016606: 0c00 |0003: move-result-object v0 │ │ +016608: 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 │ │ -01662c: |[01662c] dnsfilter.android.BootUpReceiver$$ExternalSyntheticApiModelOutline0.m:(Ldnsfilter/android/DNSFilterTileService;)Landroid/service/quicksettings/Tile; │ │ -01663c: 6e10 b402 0000 |0000: invoke-virtual {v0}, Ldnsfilter/android/DNSFilterTileService;.getQsTile:()Landroid/service/quicksettings/Tile; // method@02b4 │ │ -016642: 0c00 |0003: move-result-object v0 │ │ -016644: 1100 |0004: return-object v0 │ │ +016628: |[016628] dnsfilter.android.BootUpReceiver$$ExternalSyntheticApiModelOutline0.m:(Ldnsfilter/android/DNSFilterTileService;)Landroid/service/quicksettings/Tile; │ │ +016638: 6e10 b402 0000 |0000: invoke-virtual {v0}, Ldnsfilter/android/DNSFilterTileService;.getQsTile:()Landroid/service/quicksettings/Tile; // method@02b4 │ │ +01663e: 0c00 |0003: move-result-object v0 │ │ +016640: 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 │ │ -016648: |[016648] dnsfilter.android.BootUpReceiver$$ExternalSyntheticApiModelOutline0.m:(Ljava/lang/String;I)Landroid/text/Spanned; │ │ -016658: 7120 9b00 1000 |0000: invoke-static {v0, v1}, Landroid/text/Html;.fromHtml:(Ljava/lang/String;I)Landroid/text/Spanned; // method@009b │ │ -01665e: 0c00 |0003: move-result-object v0 │ │ -016660: 1100 |0004: return-object v0 │ │ +016644: |[016644] dnsfilter.android.BootUpReceiver$$ExternalSyntheticApiModelOutline0.m:(Ljava/lang/String;I)Landroid/text/Spanned; │ │ +016654: 7120 9b00 1000 |0000: invoke-static {v0, v1}, Landroid/text/Html;.fromHtml:(Ljava/lang/String;I)Landroid/text/Spanned; // method@009b │ │ +01665a: 0c00 |0003: move-result-object v0 │ │ +01665c: 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 │ │ -0166b8: |[0166b8] dnsfilter.android.BootUpReceiver$$ExternalSyntheticApiModelOutline0.m:(Landroid/net/Network;)Ljava/lang/String; │ │ -0166c8: 6e10 6700 0000 |0000: invoke-virtual {v0}, Landroid/net/Network;.toString:()Ljava/lang/String; // method@0067 │ │ -0166ce: 0c00 |0003: move-result-object v0 │ │ -0166d0: 1100 |0004: return-object v0 │ │ +0166b4: |[0166b4] dnsfilter.android.BootUpReceiver$$ExternalSyntheticApiModelOutline0.m:(Landroid/net/Network;)Ljava/lang/String; │ │ +0166c4: 6e10 6700 0000 |0000: invoke-virtual {v0}, Landroid/net/Network;.toString:()Ljava/lang/String; // method@0067 │ │ +0166ca: 0c00 |0003: move-result-object v0 │ │ +0166cc: 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 │ │ -0166d4: |[0166d4] dnsfilter.android.BootUpReceiver$$ExternalSyntheticApiModelOutline0.m:(Landroid/net/LinkProperties;)Ljava/util/List; │ │ -0166e4: 6e10 6600 0000 |0000: invoke-virtual {v0}, Landroid/net/LinkProperties;.getDnsServers:()Ljava/util/List; // method@0066 │ │ -0166ea: 0c00 |0003: move-result-object v0 │ │ -0166ec: 1100 |0004: return-object v0 │ │ +0166d0: |[0166d0] dnsfilter.android.BootUpReceiver$$ExternalSyntheticApiModelOutline0.m:(Landroid/net/LinkProperties;)Ljava/util/List; │ │ +0166e0: 6e10 6600 0000 |0000: invoke-virtual {v0}, Landroid/net/LinkProperties;.getDnsServers:()Ljava/util/List; // method@0066 │ │ +0166e6: 0c00 |0003: move-result-object v0 │ │ +0166e8: 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 │ │ -016708: |[016708] dnsfilter.android.BootUpReceiver$$ExternalSyntheticApiModelOutline0.m:(Landroid/app/NotificationManager;Landroid/app/NotificationChannel;)V │ │ -016718: 6e20 2c00 1000 |0000: invoke-virtual {v0, v1}, Landroid/app/NotificationManager;.createNotificationChannel:(Landroid/app/NotificationChannel;)V // method@002c │ │ -01671e: 0e00 |0003: return-void │ │ +016704: |[016704] dnsfilter.android.BootUpReceiver$$ExternalSyntheticApiModelOutline0.m:(Landroid/app/NotificationManager;Landroid/app/NotificationChannel;)V │ │ +016714: 6e20 2c00 1000 |0000: invoke-virtual {v0, v1}, Landroid/app/NotificationManager;.createNotificationChannel:(Landroid/app/NotificationChannel;)V // method@002c │ │ +01671a: 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 │ │ -016720: |[016720] dnsfilter.android.BootUpReceiver$$ExternalSyntheticApiModelOutline0.m:(Landroid/content/Context;Landroid/content/ComponentName;)V │ │ -016730: 7120 9800 1000 |0000: invoke-static {v0, v1}, Landroid/service/quicksettings/TileService;.requestListeningState:(Landroid/content/Context;Landroid/content/ComponentName;)V // method@0098 │ │ -016736: 0e00 |0003: return-void │ │ +01671c: |[01671c] dnsfilter.android.BootUpReceiver$$ExternalSyntheticApiModelOutline0.m:(Landroid/content/Context;Landroid/content/ComponentName;)V │ │ +01672c: 7120 9800 1000 |0000: invoke-static {v0, v1}, Landroid/service/quicksettings/TileService;.requestListeningState:(Landroid/content/Context;Landroid/content/ComponentName;)V // method@0098 │ │ +016732: 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 │ │ -016738: |[016738] dnsfilter.android.BootUpReceiver$$ExternalSyntheticApiModelOutline0.m:(Landroid/service/quicksettings/Tile;)V │ │ -016748: 6e10 9100 0000 |0000: invoke-virtual {v0}, Landroid/service/quicksettings/Tile;.updateTile:()V // method@0091 │ │ -01674e: 0e00 |0003: return-void │ │ +016734: |[016734] dnsfilter.android.BootUpReceiver$$ExternalSyntheticApiModelOutline0.m:(Landroid/service/quicksettings/Tile;)V │ │ +016744: 6e10 9100 0000 |0000: invoke-virtual {v0}, Landroid/service/quicksettings/Tile;.updateTile:()V // method@0091 │ │ +01674a: 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 │ │ -016768: |[016768] dnsfilter.android.BootUpReceiver$$ExternalSyntheticApiModelOutline0.m:(Landroid/service/quicksettings/Tile;I)V │ │ -016778: 6e20 9000 1000 |0000: invoke-virtual {v0, v1}, Landroid/service/quicksettings/Tile;.setState:(I)V // method@0090 │ │ -01677e: 0e00 |0003: return-void │ │ +016764: |[016764] dnsfilter.android.BootUpReceiver$$ExternalSyntheticApiModelOutline0.m:(Landroid/service/quicksettings/Tile;I)V │ │ +016774: 6e20 9000 1000 |0000: invoke-virtual {v0, v1}, Landroid/service/quicksettings/Tile;.setState:(I)V // method@0090 │ │ +01677a: 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 │ │ -016750: |[016750] dnsfilter.android.BootUpReceiver$$ExternalSyntheticApiModelOutline0.m:(Landroid/service/quicksettings/Tile;Landroid/graphics/drawable/Icon;)V │ │ -016760: 6e20 8f00 1000 |0000: invoke-virtual {v0, v1}, Landroid/service/quicksettings/Tile;.setIcon:(Landroid/graphics/drawable/Icon;)V // method@008f │ │ -016766: 0e00 |0003: return-void │ │ +01674c: |[01674c] dnsfilter.android.BootUpReceiver$$ExternalSyntheticApiModelOutline0.m:(Landroid/service/quicksettings/Tile;Landroid/graphics/drawable/Icon;)V │ │ +01675c: 6e20 8f00 1000 |0000: invoke-virtual {v0, v1}, Landroid/service/quicksettings/Tile;.setIcon:(Landroid/graphics/drawable/Icon;)V // method@008f │ │ +016762: 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 │ │ -016780: |[016780] dnsfilter.android.BootUpReceiver$$ExternalSyntheticApiModelOutline0.m:(Landroid/view/ViewGroup;)V │ │ -016790: 7110 a000 0000 |0000: invoke-static {v0}, Landroid/transition/TransitionManager;.beginDelayedTransition:(Landroid/view/ViewGroup;)V // method@00a0 │ │ -016796: 0e00 |0003: return-void │ │ +01677c: |[01677c] dnsfilter.android.BootUpReceiver$$ExternalSyntheticApiModelOutline0.m:(Landroid/view/ViewGroup;)V │ │ +01678c: 7110 a000 0000 |0000: invoke-static {v0}, Landroid/transition/TransitionManager;.beginDelayedTransition:(Landroid/view/ViewGroup;)V // method@00a0 │ │ +016792: 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 │ │ -016798: |[016798] dnsfilter.android.BootUpReceiver$$ExternalSyntheticApiModelOutline0.m:(Landroid/view/Window;I)V │ │ -0167a8: 6e20 bc00 1000 |0000: invoke-virtual {v0, v1}, Landroid/view/Window;.setStatusBarColor:(I)V // method@00bc │ │ -0167ae: 0e00 |0003: return-void │ │ +016794: |[016794] dnsfilter.android.BootUpReceiver$$ExternalSyntheticApiModelOutline0.m:(Landroid/view/Window;I)V │ │ +0167a4: 6e20 bc00 1000 |0000: invoke-virtual {v0, v1}, Landroid/view/Window;.setStatusBarColor:(I)V // method@00bc │ │ +0167aa: 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/content/Intent;)V' │ │ access : 0x1049 (PUBLIC STATIC BRIDGE SYNTHETIC) │ │ code - │ │ registers : 2 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 4 16-bit code units │ │ -0167b0: |[0167b0] dnsfilter.android.BootUpReceiver$$ExternalSyntheticApiModelOutline0.m:(Ldnsfilter/android/DNSFilterTileService;Landroid/content/Intent;)V │ │ -0167c0: 6e20 bb02 1000 |0000: invoke-virtual {v0, v1}, Ldnsfilter/android/DNSFilterTileService;.startActivityAndCollapse:(Landroid/content/Intent;)V // method@02bb │ │ -0167c6: 0e00 |0003: return-void │ │ +0167ac: |[0167ac] dnsfilter.android.BootUpReceiver$$ExternalSyntheticApiModelOutline0.m:(Ldnsfilter/android/DNSFilterTileService;Landroid/content/Intent;)V │ │ +0167bc: 6e20 bb02 1000 |0000: invoke-virtual {v0, v1}, Ldnsfilter/android/DNSFilterTileService;.startActivityAndCollapse:(Landroid/content/Intent;)V // method@02bb │ │ +0167c2: 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; │ │ │ │ @@ -10494,17 +10494,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 │ │ -0167c8: |[0167c8] dnsfilter.android.BootUpReceiver$$ExternalSyntheticApiModelOutline0.m:(Ldnsfilter/android/DNSProxyActivity;[Ljava/lang/String;I)V │ │ -0167d8: 6e30 2903 1002 |0000: invoke-virtual {v0, v1, v2}, Ldnsfilter/android/DNSProxyActivity;.requestPermissions:([Ljava/lang/String;I)V // method@0329 │ │ -0167de: 0e00 |0003: return-void │ │ +0167c4: |[0167c4] dnsfilter.android.BootUpReceiver$$ExternalSyntheticApiModelOutline0.m:(Ldnsfilter/android/DNSProxyActivity;[Ljava/lang/String;I)V │ │ +0167d4: 6e30 2903 1002 |0000: invoke-virtual {v0, v1, v2}, Ldnsfilter/android/DNSProxyActivity;.requestPermissions:([Ljava/lang/String;I)V // method@0329 │ │ +0167da: 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 │ │ @@ -10514,18 +10514,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 │ │ -0165bc: |[0165bc] dnsfilter.android.BootUpReceiver$$ExternalSyntheticApiModelOutline0.m:(Landroid/net/ConnectivityManager;)[Landroid/net/Network; │ │ -0165cc: 6e10 6300 0000 |0000: invoke-virtual {v0}, Landroid/net/ConnectivityManager;.getAllNetworks:()[Landroid/net/Network; // method@0063 │ │ -0165d2: 0c00 |0003: move-result-object v0 │ │ -0165d4: 1100 |0004: return-object v0 │ │ +0165b8: |[0165b8] dnsfilter.android.BootUpReceiver$$ExternalSyntheticApiModelOutline0.m:(Landroid/net/ConnectivityManager;)[Landroid/net/Network; │ │ +0165c8: 6e10 6300 0000 |0000: invoke-virtual {v0}, Landroid/net/ConnectivityManager;.getAllNetworks:()[Landroid/net/Network; // method@0063 │ │ +0165ce: 0c00 |0003: move-result-object v0 │ │ +0165d0: 1100 |0004: return-object v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=0 │ │ locals : │ │ 0x0000 - 0x0005 reg=0 (null) Landroid/net/ConnectivityManager; │ │ │ │ #23 : (in Ldnsfilter/android/BootUpReceiver$$ExternalSyntheticApiModelOutline0;) │ │ @@ -10533,18 +10533,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 │ │ -01669c: |[01669c] dnsfilter.android.BootUpReceiver$$ExternalSyntheticApiModelOutline0.m:(Landroid/content/Context;Ljava/lang/String;)[Ljava/io/File; │ │ -0166ac: 6e20 3800 1000 |0000: invoke-virtual {v0, v1}, Landroid/content/Context;.getExternalFilesDirs:(Ljava/lang/String;)[Ljava/io/File; // method@0038 │ │ -0166b2: 0c00 |0003: move-result-object v0 │ │ -0166b4: 1100 |0004: return-object v0 │ │ +016698: |[016698] dnsfilter.android.BootUpReceiver$$ExternalSyntheticApiModelOutline0.m:(Landroid/content/Context;Ljava/lang/String;)[Ljava/io/File; │ │ +0166a8: 6e20 3800 1000 |0000: invoke-virtual {v0, v1}, Landroid/content/Context;.getExternalFilesDirs:(Ljava/lang/String;)[Ljava/io/File; // method@0038 │ │ +0166ae: 0c00 |0003: move-result-object v0 │ │ +0166b0: 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; │ │ │ │ @@ -10553,18 +10553,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 │ │ -0165d8: |[0165d8] dnsfilter.android.BootUpReceiver$$ExternalSyntheticApiModelOutline0.m$1:(Landroid/net/VpnService$Builder;Z)Landroid/net/VpnService$Builder; │ │ -0165e8: 6e20 7400 1000 |0000: invoke-virtual {v0, v1}, Landroid/net/VpnService$Builder;.setMetered:(Z)Landroid/net/VpnService$Builder; // method@0074 │ │ -0165ee: 0c00 |0003: move-result-object v0 │ │ -0165f0: 1100 |0004: return-object v0 │ │ +0165d4: |[0165d4] dnsfilter.android.BootUpReceiver$$ExternalSyntheticApiModelOutline0.m$1:(Landroid/net/VpnService$Builder;Z)Landroid/net/VpnService$Builder; │ │ +0165e4: 6e20 7400 1000 |0000: invoke-virtual {v0, v1}, Landroid/net/VpnService$Builder;.setMetered:(Z)Landroid/net/VpnService$Builder; // method@0074 │ │ +0165ea: 0c00 |0003: move-result-object v0 │ │ +0165ec: 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 │ │ │ │ @@ -10573,17 +10573,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 │ │ -0166f0: |[0166f0] dnsfilter.android.BootUpReceiver$$ExternalSyntheticApiModelOutline0.m$1:(Landroid/view/Window;I)V │ │ -016700: 6e20 bb00 1000 |0000: invoke-virtual {v0, v1}, Landroid/view/Window;.setNavigationBarColor:(I)V // method@00bb │ │ -016706: 0e00 |0003: return-void │ │ +0166ec: |[0166ec] dnsfilter.android.BootUpReceiver$$ExternalSyntheticApiModelOutline0.m$1:(Landroid/view/Window;I)V │ │ +0166fc: 6e20 bb00 1000 |0000: invoke-virtual {v0, v1}, Landroid/view/Window;.setNavigationBarColor:(I)V // method@00bb │ │ +016702: 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 │ │ │ │ @@ -10613,17 +10613,17 @@ │ │ type : '()V' │ │ access : 0x10001 (PUBLIC CONSTRUCTOR) │ │ code - │ │ registers : 1 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 4 16-bit code units │ │ -016864: |[016864] dnsfilter.android.BootUpReceiver.:()V │ │ -016874: 7010 3000 0000 |0000: invoke-direct {v0}, Landroid/content/BroadcastReceiver;.:()V // method@0030 │ │ -01687a: 0e00 |0003: return-void │ │ +016860: |[016860] dnsfilter.android.BootUpReceiver.:()V │ │ +016870: 7010 3000 0000 |0000: invoke-direct {v0}, Landroid/content/BroadcastReceiver;.:()V // method@0030 │ │ +016876: 0e00 |0003: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=37 │ │ locals : │ │ 0x0000 - 0x0004 reg=0 this Ldnsfilter/android/BootUpReceiver; │ │ │ │ Virtual methods - │ │ @@ -10632,37 +10632,37 @@ │ │ type : '()Ljava/util/Properties;' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 4 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 49 16-bit code units │ │ -0167e0: |[0167e0] dnsfilter.android.BootUpReceiver.getConfig:()Ljava/util/Properties; │ │ -0167f0: 2200 fb00 |0000: new-instance v0, Ljava/io/File; // type@00fb │ │ -0167f4: 2201 2d01 |0002: new-instance v1, Ljava/lang/StringBuilder; // type@012d │ │ -0167f8: 7010 a705 0100 |0004: invoke-direct {v1}, Ljava/lang/StringBuilder;.:()V // method@05a7 │ │ -0167fe: 7100 d206 0000 |0007: invoke-static {}, Lutil/ExecutionEnvironment;.getEnvironment:()Lutil/ExecutionEnvironmentInterface; // method@06d2 │ │ -016804: 0c02 |000a: move-result-object v2 │ │ -016806: 7210 e206 0200 |000b: invoke-interface {v2}, Lutil/ExecutionEnvironmentInterface;.getWorkDir:()Ljava/lang/String; // method@06e2 │ │ -01680c: 0c02 |000e: move-result-object v2 │ │ -01680e: 6e20 ad05 2100 |000f: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -016814: 1a02 6500 |0012: const-string v2, "/dnsfilter.conf" // string@0065 │ │ -016818: 6e20 ad05 2100 |0014: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -01681e: 6e10 af05 0100 |0017: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ -016824: 0c01 |001a: move-result-object v1 │ │ -016826: 7020 ff04 1000 |001b: invoke-direct {v0, v1}, Ljava/io/File;.:(Ljava/lang/String;)V // method@04ff │ │ -01682c: 2201 fd00 |001e: new-instance v1, Ljava/io/FileInputStream; // type@00fd │ │ -016830: 7020 1105 0100 |0020: invoke-direct {v1, v0}, Ljava/io/FileInputStream;.:(Ljava/io/File;)V // method@0511 │ │ -016836: 2200 6201 |0023: new-instance v0, Ljava/util/Properties; // type@0162 │ │ -01683a: 7010 5106 0000 |0025: invoke-direct {v0}, Ljava/util/Properties;.:()V // method@0651 │ │ -016840: 6e20 5706 1000 |0028: invoke-virtual {v0, v1}, Ljava/util/Properties;.load:(Ljava/io/InputStream;)V // method@0657 │ │ -016846: 6e10 2705 0100 |002b: invoke-virtual {v1}, Ljava/io/InputStream;.close:()V // method@0527 │ │ -01684c: 1100 |002e: return-object v0 │ │ -01684e: 1200 |002f: const/4 v0, #int 0 // #0 │ │ -016850: 1100 |0030: return-object v0 │ │ +0167dc: |[0167dc] dnsfilter.android.BootUpReceiver.getConfig:()Ljava/util/Properties; │ │ +0167ec: 2200 fb00 |0000: new-instance v0, Ljava/io/File; // type@00fb │ │ +0167f0: 2201 2d01 |0002: new-instance v1, Ljava/lang/StringBuilder; // type@012d │ │ +0167f4: 7010 a705 0100 |0004: invoke-direct {v1}, Ljava/lang/StringBuilder;.:()V // method@05a7 │ │ +0167fa: 7100 d206 0000 |0007: invoke-static {}, Lutil/ExecutionEnvironment;.getEnvironment:()Lutil/ExecutionEnvironmentInterface; // method@06d2 │ │ +016800: 0c02 |000a: move-result-object v2 │ │ +016802: 7210 e206 0200 |000b: invoke-interface {v2}, Lutil/ExecutionEnvironmentInterface;.getWorkDir:()Ljava/lang/String; // method@06e2 │ │ +016808: 0c02 |000e: move-result-object v2 │ │ +01680a: 6e20 ad05 2100 |000f: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +016810: 1a02 6500 |0012: const-string v2, "/dnsfilter.conf" // string@0065 │ │ +016814: 6e20 ad05 2100 |0014: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +01681a: 6e10 af05 0100 |0017: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ +016820: 0c01 |001a: move-result-object v1 │ │ +016822: 7020 ff04 1000 |001b: invoke-direct {v0, v1}, Ljava/io/File;.:(Ljava/lang/String;)V // method@04ff │ │ +016828: 2201 fd00 |001e: new-instance v1, Ljava/io/FileInputStream; // type@00fd │ │ +01682c: 7020 1105 0100 |0020: invoke-direct {v1, v0}, Ljava/io/FileInputStream;.:(Ljava/io/File;)V // method@0511 │ │ +016832: 2200 6201 |0023: new-instance v0, Ljava/util/Properties; // type@0162 │ │ +016836: 7010 5106 0000 |0025: invoke-direct {v0}, Ljava/util/Properties;.:()V // method@0651 │ │ +01683c: 6e20 5706 1000 |0028: invoke-virtual {v0, v1}, Ljava/util/Properties;.load:(Ljava/io/InputStream;)V // method@0657 │ │ +016842: 6e10 2705 0100 |002b: invoke-virtual {v1}, Ljava/io/InputStream;.close:()V // method@0527 │ │ +016848: 1100 |002e: return-object v0 │ │ +01684a: 1200 |002f: const/4 v0, #int 0 // #0 │ │ +01684c: 1100 |0030: return-object v0 │ │ catches : 1 │ │ 0x001e - 0x002e │ │ Ljava/lang/Exception; -> 0x002f │ │ positions : │ │ 0x0000 line=63 │ │ 0x001e line=66 │ │ 0x0023 line=67 │ │ @@ -10676,56 +10676,56 @@ │ │ type : '(Landroid/content/Context;Landroid/content/Intent;)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 7 │ │ ins : 3 │ │ outs : 3 │ │ insns size : 86 16-bit code units │ │ -01687c: |[01687c] dnsfilter.android.BootUpReceiver.onReceive:(Landroid/content/Context;Landroid/content/Intent;)V │ │ -01688c: 7110 2202 0500 |0000: invoke-static {v5}, Ldnsfilter/android/AndroidEnvironment;.initEnvironment:(Landroid/content/Context;)V // method@0222 │ │ -016892: 6e10 7402 0400 |0003: invoke-virtual {v4}, Ldnsfilter/android/BootUpReceiver;.getConfig:()Ljava/util/Properties; // method@0274 │ │ -016898: 0c06 |0006: move-result-object v6 │ │ -01689a: 3806 4e00 |0007: if-eqz v6, 0055 // +004e │ │ -01689e: 1a00 b200 |0009: const-string v0, "AUTOSTART" // string@00b2 │ │ -0168a2: 1a01 df06 |000b: const-string v1, "false" // string@06df │ │ -0168a6: 6e30 5506 0601 |000d: invoke-virtual {v6, v0, v1}, Ljava/util/Properties;.getProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@0655 │ │ -0168ac: 0c00 |0010: move-result-object v0 │ │ -0168ae: 7110 4b05 0000 |0011: invoke-static {v0}, Ljava/lang/Boolean;.parseBoolean:(Ljava/lang/String;)Z // method@054b │ │ -0168b4: 0a00 |0014: move-result v0 │ │ -0168b6: 3800 4000 |0015: if-eqz v0, 0055 // +0040 │ │ -0168ba: 6000 0200 |0017: sget v0, Landroid/os/Build$VERSION;.SDK_INT:I // field@0002 │ │ -0168be: 1302 1c00 |0019: const/16 v2, #int 28 // #1c │ │ -0168c2: 3420 2800 |001b: if-lt v0, v2, 0043 // +0028 │ │ -0168c6: 2200 1a00 |001d: new-instance v0, Landroid/content/Intent; // type@001a │ │ -0168ca: 1c02 a400 |001f: const-class v2, Ldnsfilter/android/DNSFilterService; // type@00a4 │ │ -0168ce: 7030 4200 5002 |0021: invoke-direct {v0, v5, v2}, Landroid/content/Intent;.:(Landroid/content/Context;Ljava/lang/Class;)V // method@0042 │ │ -0168d4: 1a02 6b06 |0024: const-string v2, "dnsProxyOnAndroid" // string@066b │ │ -0168d8: 6e30 5506 2601 |0026: invoke-virtual {v6, v2, v1}, Ljava/util/Properties;.getProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@0655 │ │ -0168de: 0c02 |0029: move-result-object v2 │ │ -0168e0: 7110 4b05 0200 |002a: invoke-static {v2}, Ljava/lang/Boolean;.parseBoolean:(Ljava/lang/String;)Z // method@054b │ │ -0168e6: 0a02 |002d: move-result v2 │ │ -0168e8: 1a03 900b |002e: const-string v3, "vpnInAdditionToProxyMode" // string@0b90 │ │ -0168ec: 6e30 5506 3601 |0030: invoke-virtual {v6, v3, v1}, Ljava/util/Properties;.getProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@0655 │ │ -0168f2: 0c06 |0033: move-result-object v6 │ │ -0168f4: 7110 4b05 0600 |0034: invoke-static {v6}, Ljava/lang/Boolean;.parseBoolean:(Ljava/lang/String;)Z // method@054b │ │ -0168fa: 0a06 |0037: move-result v6 │ │ -0168fc: 3802 0400 |0038: if-eqz v2, 003c // +0004 │ │ -016900: 3806 0500 |003a: if-eqz v6, 003f // +0005 │ │ -016904: 7110 7900 0500 |003c: invoke-static {v5}, Landroid/net/VpnService;.prepare:(Landroid/content/Context;)Landroid/content/Intent; // method@0079 │ │ -01690a: 7120 5b02 0500 |003f: invoke-static {v5, v0}, Ldnsfilter/android/BootUpReceiver$$ExternalSyntheticApiModelOutline0;.m:(Landroid/content/Context;Landroid/content/Intent;)Landroid/content/ComponentName; // method@025b │ │ -016910: 2813 |0042: goto 0055 // +0013 │ │ -016912: 1216 |0043: const/4 v6, #int 1 // #1 │ │ -016914: 6a06 ec00 |0044: sput-boolean v6, Ldnsfilter/android/DNSProxyActivity;.BOOT_START:Z // field@00ec │ │ -016918: 2206 1a00 |0046: new-instance v6, Landroid/content/Intent; // type@001a │ │ -01691c: 1c00 b000 |0048: const-class v0, Ldnsfilter/android/DNSProxyActivity; // type@00b0 │ │ -016920: 7030 4200 5600 |004a: invoke-direct {v6, v5, v0}, Landroid/content/Intent;.:(Landroid/content/Context;Ljava/lang/Class;)V // method@0042 │ │ -016926: 1500 0010 |004d: const/high16 v0, #int 268435456 // #1000 │ │ -01692a: 6e20 4600 0600 |004f: invoke-virtual {v6, v0}, Landroid/content/Intent;.addFlags:(I)Landroid/content/Intent; // method@0046 │ │ -016930: 6e20 3e00 6500 |0052: invoke-virtual {v5, v6}, Landroid/content/Context;.startActivity:(Landroid/content/Intent;)V // method@003e │ │ -016936: 0e00 |0055: return-void │ │ +016878: |[016878] dnsfilter.android.BootUpReceiver.onReceive:(Landroid/content/Context;Landroid/content/Intent;)V │ │ +016888: 7110 2202 0500 |0000: invoke-static {v5}, Ldnsfilter/android/AndroidEnvironment;.initEnvironment:(Landroid/content/Context;)V // method@0222 │ │ +01688e: 6e10 7402 0400 |0003: invoke-virtual {v4}, Ldnsfilter/android/BootUpReceiver;.getConfig:()Ljava/util/Properties; // method@0274 │ │ +016894: 0c06 |0006: move-result-object v6 │ │ +016896: 3806 4e00 |0007: if-eqz v6, 0055 // +004e │ │ +01689a: 1a00 b200 |0009: const-string v0, "AUTOSTART" // string@00b2 │ │ +01689e: 1a01 df06 |000b: const-string v1, "false" // string@06df │ │ +0168a2: 6e30 5506 0601 |000d: invoke-virtual {v6, v0, v1}, Ljava/util/Properties;.getProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@0655 │ │ +0168a8: 0c00 |0010: move-result-object v0 │ │ +0168aa: 7110 4b05 0000 |0011: invoke-static {v0}, Ljava/lang/Boolean;.parseBoolean:(Ljava/lang/String;)Z // method@054b │ │ +0168b0: 0a00 |0014: move-result v0 │ │ +0168b2: 3800 4000 |0015: if-eqz v0, 0055 // +0040 │ │ +0168b6: 6000 0200 |0017: sget v0, Landroid/os/Build$VERSION;.SDK_INT:I // field@0002 │ │ +0168ba: 1302 1c00 |0019: const/16 v2, #int 28 // #1c │ │ +0168be: 3420 2800 |001b: if-lt v0, v2, 0043 // +0028 │ │ +0168c2: 2200 1a00 |001d: new-instance v0, Landroid/content/Intent; // type@001a │ │ +0168c6: 1c02 a400 |001f: const-class v2, Ldnsfilter/android/DNSFilterService; // type@00a4 │ │ +0168ca: 7030 4200 5002 |0021: invoke-direct {v0, v5, v2}, Landroid/content/Intent;.:(Landroid/content/Context;Ljava/lang/Class;)V // method@0042 │ │ +0168d0: 1a02 6b06 |0024: const-string v2, "dnsProxyOnAndroid" // string@066b │ │ +0168d4: 6e30 5506 2601 |0026: invoke-virtual {v6, v2, v1}, Ljava/util/Properties;.getProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@0655 │ │ +0168da: 0c02 |0029: move-result-object v2 │ │ +0168dc: 7110 4b05 0200 |002a: invoke-static {v2}, Ljava/lang/Boolean;.parseBoolean:(Ljava/lang/String;)Z // method@054b │ │ +0168e2: 0a02 |002d: move-result v2 │ │ +0168e4: 1a03 900b |002e: const-string v3, "vpnInAdditionToProxyMode" // string@0b90 │ │ +0168e8: 6e30 5506 3601 |0030: invoke-virtual {v6, v3, v1}, Ljava/util/Properties;.getProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@0655 │ │ +0168ee: 0c06 |0033: move-result-object v6 │ │ +0168f0: 7110 4b05 0600 |0034: invoke-static {v6}, Ljava/lang/Boolean;.parseBoolean:(Ljava/lang/String;)Z // method@054b │ │ +0168f6: 0a06 |0037: move-result v6 │ │ +0168f8: 3802 0400 |0038: if-eqz v2, 003c // +0004 │ │ +0168fc: 3806 0500 |003a: if-eqz v6, 003f // +0005 │ │ +016900: 7110 7900 0500 |003c: invoke-static {v5}, Landroid/net/VpnService;.prepare:(Landroid/content/Context;)Landroid/content/Intent; // method@0079 │ │ +016906: 7120 5b02 0500 |003f: invoke-static {v5, v0}, Ldnsfilter/android/BootUpReceiver$$ExternalSyntheticApiModelOutline0;.m:(Landroid/content/Context;Landroid/content/Intent;)Landroid/content/ComponentName; // method@025b │ │ +01690c: 2813 |0042: goto 0055 // +0013 │ │ +01690e: 1216 |0043: const/4 v6, #int 1 // #1 │ │ +016910: 6a06 ec00 |0044: sput-boolean v6, Ldnsfilter/android/DNSProxyActivity;.BOOT_START:Z // field@00ec │ │ +016914: 2206 1a00 |0046: new-instance v6, Landroid/content/Intent; // type@001a │ │ +016918: 1c00 b000 |0048: const-class v0, Ldnsfilter/android/DNSProxyActivity; // type@00b0 │ │ +01691c: 7030 4200 5600 |004a: invoke-direct {v6, v5, v0}, Landroid/content/Intent;.:(Landroid/content/Context;Ljava/lang/Class;)V // method@0042 │ │ +016922: 1500 0010 |004d: const/high16 v0, #int 268435456 // #1000 │ │ +016926: 6e20 4600 0600 |004f: invoke-virtual {v6, v0}, Landroid/content/Intent;.addFlags:(I)Landroid/content/Intent; // method@0046 │ │ +01692c: 6e20 3e00 6500 |0052: invoke-virtual {v5, v6}, Landroid/content/Context;.startActivity:(Landroid/content/Intent;)V // method@003e │ │ +016932: 0e00 |0055: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=41 │ │ 0x0003 line=42 │ │ 0x0009 line=43 │ │ 0x0017 line=45 │ │ 0x001d line=46 │ │ @@ -10772,36 +10772,36 @@ │ │ type : '()V' │ │ access : 0x10008 (STATIC CONSTRUCTOR) │ │ code - │ │ registers : 1 │ │ ins : 0 │ │ outs : 1 │ │ insns size : 8 16-bit code units │ │ -016950: |[016950] dnsfilter.android.ConnectionChangeReceiver.:()V │ │ -016960: 2200 a000 |0000: new-instance v0, Ldnsfilter/android/ConnectionChangeReceiver; // type@00a0 │ │ -016964: 7010 7702 0000 |0002: invoke-direct {v0}, Ldnsfilter/android/ConnectionChangeReceiver;.:()V // method@0277 │ │ -01696a: 6900 a900 |0005: sput-object v0, Ldnsfilter/android/ConnectionChangeReceiver;.instance:Ldnsfilter/android/ConnectionChangeReceiver; // field@00a9 │ │ -01696e: 0e00 |0007: return-void │ │ +01694c: |[01694c] dnsfilter.android.ConnectionChangeReceiver.:()V │ │ +01695c: 2200 a000 |0000: new-instance v0, Ldnsfilter/android/ConnectionChangeReceiver; // type@00a0 │ │ +016960: 7010 7702 0000 |0002: invoke-direct {v0}, Ldnsfilter/android/ConnectionChangeReceiver;.:()V // method@0277 │ │ +016966: 6900 a900 |0005: sput-object v0, Ldnsfilter/android/ConnectionChangeReceiver;.instance:Ldnsfilter/android/ConnectionChangeReceiver; // field@00a9 │ │ +01696a: 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 │ │ -016970: |[016970] dnsfilter.android.ConnectionChangeReceiver.:()V │ │ -016980: 7010 3000 0000 |0000: invoke-direct {v0}, Landroid/content/BroadcastReceiver;.:()V // method@0030 │ │ -016986: 0e00 |0003: return-void │ │ +01696c: |[01696c] dnsfilter.android.ConnectionChangeReceiver.:()V │ │ +01697c: 7010 3000 0000 |0000: invoke-direct {v0}, Landroid/content/BroadcastReceiver;.:()V // method@0030 │ │ +016982: 0e00 |0003: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=34 │ │ locals : │ │ 0x0000 - 0x0004 reg=0 this Ldnsfilter/android/ConnectionChangeReceiver; │ │ │ │ #2 : (in Ldnsfilter/android/ConnectionChangeReceiver;) │ │ @@ -10809,17 +10809,17 @@ │ │ type : '()Ldnsfilter/android/ConnectionChangeReceiver;' │ │ access : 0x0009 (PUBLIC STATIC) │ │ code - │ │ registers : 1 │ │ ins : 0 │ │ outs : 0 │ │ insns size : 3 16-bit code units │ │ -016938: |[016938] dnsfilter.android.ConnectionChangeReceiver.getInstance:()Ldnsfilter/android/ConnectionChangeReceiver; │ │ -016948: 6200 a900 |0000: sget-object v0, Ldnsfilter/android/ConnectionChangeReceiver;.instance:Ldnsfilter/android/ConnectionChangeReceiver; // field@00a9 │ │ -01694c: 1100 |0002: return-object v0 │ │ +016934: |[016934] dnsfilter.android.ConnectionChangeReceiver.getInstance:()Ldnsfilter/android/ConnectionChangeReceiver; │ │ +016944: 6200 a900 |0000: sget-object v0, Ldnsfilter/android/ConnectionChangeReceiver;.instance:Ldnsfilter/android/ConnectionChangeReceiver; // field@00a9 │ │ +016948: 1100 |0002: return-object v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=39 │ │ locals : │ │ │ │ Virtual methods - │ │ #0 : (in Ldnsfilter/android/ConnectionChangeReceiver;) │ │ @@ -10827,67 +10827,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 │ │ -016988: |[016988] dnsfilter.android.ConnectionChangeReceiver.onReceive:(Landroid/content/Context;Landroid/content/Intent;)V │ │ -016998: 1a03 2504 |0000: const-string v3, "Received network connection event: " // string@0425 │ │ -01699c: 1d02 |0002: monitor-enter v2 │ │ -01699e: 7100 d206 0000 |0003: invoke-static {}, Lutil/ExecutionEnvironment;.getEnvironment:()Lutil/ExecutionEnvironmentInterface; // method@06d2 │ │ -0169a4: 0c00 |0006: move-result-object v0 │ │ -0169a6: 7210 de06 0000 |0007: invoke-interface {v0}, Lutil/ExecutionEnvironmentInterface;.debug:()Z // method@06de │ │ -0169ac: 0a00 |000a: move-result v0 │ │ -0169ae: 3800 1900 |000b: if-eqz v0, 0024 // +0019 │ │ -0169b2: 7100 2507 0000 |000d: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0725 │ │ -0169b8: 0c00 |0010: move-result-object v0 │ │ -0169ba: 2201 2d01 |0011: new-instance v1, Ljava/lang/StringBuilder; // type@012d │ │ -0169be: 7020 a805 3100 |0013: invoke-direct {v1, v3}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05a8 │ │ -0169c4: 6e10 4700 0400 |0016: invoke-virtual {v4}, Landroid/content/Intent;.getAction:()Ljava/lang/String; // method@0047 │ │ -0169ca: 0c03 |0019: move-result-object v3 │ │ -0169cc: 6e20 ad05 3100 |001a: invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -0169d2: 6e10 af05 0100 |001d: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ -0169d8: 0c03 |0020: move-result-object v3 │ │ -0169da: 7220 3107 3000 |0021: invoke-interface {v0, v3}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0731 │ │ -0169e0: 6e10 4a00 0400 |0024: invoke-virtual {v4}, Landroid/content/Intent;.getExtras:()Landroid/os/Bundle; // method@004a │ │ -0169e6: 0c03 |0027: move-result-object v3 │ │ -0169e8: 1a04 0209 |0028: const-string v4, "noConnectivity" // string@0902 │ │ -0169ec: 6200 1703 |002a: sget-object v0, Ljava/lang/Boolean;.FALSE:Ljava/lang/Boolean; // field@0317 │ │ -0169f0: 6e10 4905 0000 |002c: invoke-virtual {v0}, Ljava/lang/Boolean;.booleanValue:()Z // method@0549 │ │ -0169f6: 0a00 |002f: move-result v0 │ │ -0169f8: 6e30 7e00 4300 |0030: invoke-virtual {v3, v4, v0}, Landroid/os/Bundle;.getBoolean:(Ljava/lang/String;Z)Z // method@007e │ │ -0169fe: 0a03 |0033: move-result v3 │ │ -016a00: 3803 1800 |0034: if-eqz v3, 004c // +0018 │ │ -016a04: 7100 d206 0000 |0036: invoke-static {}, Lutil/ExecutionEnvironment;.getEnvironment:()Lutil/ExecutionEnvironmentInterface; // method@06d2 │ │ -016a0a: 0c03 |0039: move-result-object v3 │ │ -016a0c: 7210 de06 0300 |003a: invoke-interface {v3}, Lutil/ExecutionEnvironmentInterface;.debug:()Z // method@06de │ │ -016a12: 0a03 |003d: move-result v3 │ │ -016a14: 3803 0b00 |003e: if-eqz v3, 0049 // +000b │ │ -016a18: 7100 2507 0000 |0040: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0725 │ │ -016a1e: 0c03 |0043: move-result-object v3 │ │ -016a20: 1a04 eb03 |0044: const-string v4, "Network got disconnected!" // string@03eb │ │ -016a24: 7220 3107 4300 |0046: invoke-interface {v3, v4}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0731 │ │ -016a2a: 7100 fc01 0000 |0049: invoke-static {}, Ldnsfilter/DNSServer;.invalidateOpenConnections:()V // method@01fc │ │ -016a30: 1203 |004c: const/4 v3, #int 0 // #0 │ │ -016a32: 7110 a102 0300 |004d: invoke-static {v3}, Ldnsfilter/android/DNSFilterService;.possibleNetworkChange:(Z)V // method@02a1 │ │ -016a38: 2203 2f01 |0050: new-instance v3, Ljava/lang/Thread; // type@012f │ │ -016a3c: 7020 b405 2300 |0052: invoke-direct {v3, v2}, Ljava/lang/Thread;.:(Ljava/lang/Runnable;)V // method@05b4 │ │ -016a42: 6e10 ba05 0300 |0055: invoke-virtual {v3}, Ljava/lang/Thread;.start:()V // method@05ba │ │ -016a48: 280b |0058: goto 0063 // +000b │ │ -016a4a: 0d03 |0059: move-exception v3 │ │ -016a4c: 280b |005a: goto 0065 // +000b │ │ -016a4e: 0d03 |005b: move-exception v3 │ │ -016a50: 7100 2507 0000 |005c: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0725 │ │ -016a56: 0c04 |005f: move-result-object v4 │ │ -016a58: 7220 3007 3400 |0060: invoke-interface {v4, v3}, Lutil/LoggerInterface;.logException:(Ljava/lang/Exception;)V // method@0730 │ │ -016a5e: 1e02 |0063: monitor-exit v2 │ │ -016a60: 0e00 |0064: return-void │ │ -016a62: 1e02 |0065: monitor-exit v2 │ │ -016a64: 2703 |0066: throw v3 │ │ +016984: |[016984] dnsfilter.android.ConnectionChangeReceiver.onReceive:(Landroid/content/Context;Landroid/content/Intent;)V │ │ +016994: 1a03 2504 |0000: const-string v3, "Received network connection event: " // string@0425 │ │ +016998: 1d02 |0002: monitor-enter v2 │ │ +01699a: 7100 d206 0000 |0003: invoke-static {}, Lutil/ExecutionEnvironment;.getEnvironment:()Lutil/ExecutionEnvironmentInterface; // method@06d2 │ │ +0169a0: 0c00 |0006: move-result-object v0 │ │ +0169a2: 7210 de06 0000 |0007: invoke-interface {v0}, Lutil/ExecutionEnvironmentInterface;.debug:()Z // method@06de │ │ +0169a8: 0a00 |000a: move-result v0 │ │ +0169aa: 3800 1900 |000b: if-eqz v0, 0024 // +0019 │ │ +0169ae: 7100 2507 0000 |000d: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0725 │ │ +0169b4: 0c00 |0010: move-result-object v0 │ │ +0169b6: 2201 2d01 |0011: new-instance v1, Ljava/lang/StringBuilder; // type@012d │ │ +0169ba: 7020 a805 3100 |0013: invoke-direct {v1, v3}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05a8 │ │ +0169c0: 6e10 4700 0400 |0016: invoke-virtual {v4}, Landroid/content/Intent;.getAction:()Ljava/lang/String; // method@0047 │ │ +0169c6: 0c03 |0019: move-result-object v3 │ │ +0169c8: 6e20 ad05 3100 |001a: invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +0169ce: 6e10 af05 0100 |001d: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ +0169d4: 0c03 |0020: move-result-object v3 │ │ +0169d6: 7220 3107 3000 |0021: invoke-interface {v0, v3}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0731 │ │ +0169dc: 6e10 4a00 0400 |0024: invoke-virtual {v4}, Landroid/content/Intent;.getExtras:()Landroid/os/Bundle; // method@004a │ │ +0169e2: 0c03 |0027: move-result-object v3 │ │ +0169e4: 1a04 0209 |0028: const-string v4, "noConnectivity" // string@0902 │ │ +0169e8: 6200 1703 |002a: sget-object v0, Ljava/lang/Boolean;.FALSE:Ljava/lang/Boolean; // field@0317 │ │ +0169ec: 6e10 4905 0000 |002c: invoke-virtual {v0}, Ljava/lang/Boolean;.booleanValue:()Z // method@0549 │ │ +0169f2: 0a00 |002f: move-result v0 │ │ +0169f4: 6e30 7e00 4300 |0030: invoke-virtual {v3, v4, v0}, Landroid/os/Bundle;.getBoolean:(Ljava/lang/String;Z)Z // method@007e │ │ +0169fa: 0a03 |0033: move-result v3 │ │ +0169fc: 3803 1800 |0034: if-eqz v3, 004c // +0018 │ │ +016a00: 7100 d206 0000 |0036: invoke-static {}, Lutil/ExecutionEnvironment;.getEnvironment:()Lutil/ExecutionEnvironmentInterface; // method@06d2 │ │ +016a06: 0c03 |0039: move-result-object v3 │ │ +016a08: 7210 de06 0300 |003a: invoke-interface {v3}, Lutil/ExecutionEnvironmentInterface;.debug:()Z // method@06de │ │ +016a0e: 0a03 |003d: move-result v3 │ │ +016a10: 3803 0b00 |003e: if-eqz v3, 0049 // +000b │ │ +016a14: 7100 2507 0000 |0040: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0725 │ │ +016a1a: 0c03 |0043: move-result-object v3 │ │ +016a1c: 1a04 eb03 |0044: const-string v4, "Network got disconnected!" // string@03eb │ │ +016a20: 7220 3107 4300 |0046: invoke-interface {v3, v4}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0731 │ │ +016a26: 7100 fc01 0000 |0049: invoke-static {}, Ldnsfilter/DNSServer;.invalidateOpenConnections:()V // method@01fc │ │ +016a2c: 1203 |004c: const/4 v3, #int 0 // #0 │ │ +016a2e: 7110 a102 0300 |004d: invoke-static {v3}, Ldnsfilter/android/DNSFilterService;.possibleNetworkChange:(Z)V // method@02a1 │ │ +016a34: 2203 2f01 |0050: new-instance v3, Ljava/lang/Thread; // type@012f │ │ +016a38: 7020 b405 2300 |0052: invoke-direct {v3, v2}, Ljava/lang/Thread;.:(Ljava/lang/Runnable;)V // method@05b4 │ │ +016a3e: 6e10 ba05 0300 |0055: invoke-virtual {v3}, Ljava/lang/Thread;.start:()V // method@05ba │ │ +016a44: 280b |0058: goto 0063 // +000b │ │ +016a46: 0d03 |0059: move-exception v3 │ │ +016a48: 280b |005a: goto 0065 // +000b │ │ +016a4a: 0d03 |005b: move-exception v3 │ │ +016a4c: 7100 2507 0000 |005c: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0725 │ │ +016a52: 0c04 |005f: move-result-object v4 │ │ +016a54: 7220 3007 3400 |0060: invoke-interface {v4, v3}, Lutil/LoggerInterface;.logException:(Ljava/lang/Exception;)V // method@0730 │ │ +016a5a: 1e02 |0063: monitor-exit v2 │ │ +016a5c: 0e00 |0064: return-void │ │ +016a5e: 1e02 |0065: monitor-exit v2 │ │ +016a60: 2703 |0066: throw v3 │ │ catches : 2 │ │ 0x0003 - 0x0058 │ │ Ljava/lang/Exception; -> 0x005b │ │ -> 0x0059 │ │ 0x005c - 0x0063 │ │ -> 0x0059 │ │ positions : │ │ @@ -10911,25 +10911,25 @@ │ │ type : '()V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 3 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 19 16-bit code units │ │ -016a80: |[016a80] dnsfilter.android.ConnectionChangeReceiver.run:()V │ │ -016a90: 1600 1027 |0000: const-wide/16 v0, #int 10000 // #2710 │ │ -016a94: 7120 b905 1000 |0002: invoke-static {v0, v1}, Ljava/lang/Thread;.sleep:(J)V // method@05b9 │ │ -016a9a: 1200 |0005: const/4 v0, #int 0 // #0 │ │ -016a9c: 7110 a102 0000 |0006: invoke-static {v0}, Ldnsfilter/android/DNSFilterService;.possibleNetworkChange:(Z)V // method@02a1 │ │ -016aa2: 2809 |0009: goto 0012 // +0009 │ │ -016aa4: 0d00 |000a: move-exception v0 │ │ -016aa6: 7100 2507 0000 |000b: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0725 │ │ -016aac: 0c01 |000e: move-result-object v1 │ │ -016aae: 7220 3007 0100 |000f: invoke-interface {v1, v0}, Lutil/LoggerInterface;.logException:(Ljava/lang/Exception;)V // method@0730 │ │ -016ab4: 0e00 |0012: return-void │ │ +016a7c: |[016a7c] dnsfilter.android.ConnectionChangeReceiver.run:()V │ │ +016a8c: 1600 1027 |0000: const-wide/16 v0, #int 10000 // #2710 │ │ +016a90: 7120 b905 1000 |0002: invoke-static {v0, v1}, Ljava/lang/Thread;.sleep:(J)V // method@05b9 │ │ +016a96: 1200 |0005: const/4 v0, #int 0 // #0 │ │ +016a98: 7110 a102 0000 |0006: invoke-static {v0}, Ldnsfilter/android/DNSFilterService;.possibleNetworkChange:(Z)V // method@02a1 │ │ +016a9e: 2809 |0009: goto 0012 // +0009 │ │ +016aa0: 0d00 |000a: move-exception v0 │ │ +016aa2: 7100 2507 0000 |000b: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0725 │ │ +016aa8: 0c01 |000e: move-result-object v1 │ │ +016aaa: 7220 3007 0100 |000f: invoke-interface {v1, v0}, Lutil/LoggerInterface;.logException:(Ljava/lang/Exception;)V // method@0730 │ │ +016ab0: 0e00 |0012: return-void │ │ catches : 1 │ │ 0x0002 - 0x0009 │ │ Ljava/lang/Exception; -> 0x000a │ │ positions : │ │ 0x0002 line=68 │ │ 0x0006 line=69 │ │ 0x000b line=72 │ │ @@ -10977,19 +10977,19 @@ │ │ type : '(ZLjava/lang/String;)V' │ │ access : 0x10000 (CONSTRUCTOR) │ │ code - │ │ registers : 3 │ │ ins : 3 │ │ outs : 1 │ │ insns size : 8 16-bit code units │ │ -016ac8: |[016ac8] dnsfilter.android.DNSFilterService$1.:(ZLjava/lang/String;)V │ │ -016ad8: 5c01 ab00 |0000: iput-boolean v1, v0, Ldnsfilter/android/DNSFilterService$1;.val$ignoreError:Z // field@00ab │ │ -016adc: 5b02 aa00 |0002: iput-object v2, v0, Ldnsfilter/android/DNSFilterService$1;.val$command:Ljava/lang/String; // field@00aa │ │ -016ae0: 7010 7305 0000 |0004: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@0573 │ │ -016ae6: 0e00 |0007: return-void │ │ +016ac4: |[016ac4] dnsfilter.android.DNSFilterService$1.:(ZLjava/lang/String;)V │ │ +016ad4: 5c01 ab00 |0000: iput-boolean v1, v0, Ldnsfilter/android/DNSFilterService$1;.val$ignoreError:Z // field@00ab │ │ +016ad8: 5b02 aa00 |0002: iput-object v2, v0, Ldnsfilter/android/DNSFilterService$1;.val$command:Ljava/lang/String; // field@00aa │ │ +016adc: 7010 7305 0000 |0004: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@0573 │ │ +016ae2: 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; │ │ @@ -11000,25 +11000,25 @@ │ │ type : '()V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 3 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 20 16-bit code units │ │ -016ae8: |[016ae8] dnsfilter.android.DNSFilterService$1.run:()V │ │ -016af8: 5520 ab00 |0000: iget-boolean v0, v2, Ldnsfilter/android/DNSFilterService$1;.val$ignoreError:Z // field@00ab │ │ -016afc: 5421 aa00 |0002: iget-object v1, v2, Ldnsfilter/android/DNSFilterService$1;.val$command:Ljava/lang/String; // field@00aa │ │ -016b00: 7120 8f02 1000 |0004: invoke-static {v0, v1}, Ldnsfilter/android/DNSFilterService;.access$300:(ZLjava/lang/String;)V // method@028f │ │ -016b06: 280c |0007: goto 0013 // +000c │ │ -016b08: 0d00 |0008: move-exception v0 │ │ -016b0a: 6e10 5c05 0000 |0009: invoke-virtual {v0}, Ljava/lang/Exception;.printStackTrace:()V // method@055c │ │ -016b10: 7100 2507 0000 |000c: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0725 │ │ -016b16: 0c01 |000f: move-result-object v1 │ │ -016b18: 7220 3007 0100 |0010: invoke-interface {v1, v0}, Lutil/LoggerInterface;.logException:(Ljava/lang/Exception;)V // method@0730 │ │ -016b1e: 0e00 |0013: return-void │ │ +016ae4: |[016ae4] dnsfilter.android.DNSFilterService$1.run:()V │ │ +016af4: 5520 ab00 |0000: iget-boolean v0, v2, Ldnsfilter/android/DNSFilterService$1;.val$ignoreError:Z // field@00ab │ │ +016af8: 5421 aa00 |0002: iget-object v1, v2, Ldnsfilter/android/DNSFilterService$1;.val$command:Ljava/lang/String; // field@00aa │ │ +016afc: 7120 8f02 1000 |0004: invoke-static {v0, v1}, Ldnsfilter/android/DNSFilterService;.access$300:(ZLjava/lang/String;)V // method@028f │ │ +016b02: 280c |0007: goto 0013 // +000c │ │ +016b04: 0d00 |0008: move-exception v0 │ │ +016b06: 6e10 5c05 0000 |0009: invoke-virtual {v0}, Ljava/lang/Exception;.printStackTrace:()V // method@055c │ │ +016b0c: 7100 2507 0000 |000c: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0725 │ │ +016b12: 0c01 |000f: move-result-object v1 │ │ +016b14: 7220 3007 0100 |0010: invoke-interface {v1, v0}, Lutil/LoggerInterface;.logException:(Ljava/lang/Exception;)V // method@0730 │ │ +016b1a: 0e00 |0013: return-void │ │ catches : 1 │ │ 0x0000 - 0x0007 │ │ Ljava/lang/Exception; -> 0x0008 │ │ positions : │ │ 0x0000 line=923 │ │ 0x0009 line=925 │ │ 0x000c line=926 │ │ @@ -11065,21 +11065,21 @@ │ │ type : '()V' │ │ access : 0x10004 (PROTECTED CONSTRUCTOR) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 11 16-bit code units │ │ -016bec: |[016bec] dnsfilter.android.DNSFilterService$DNSReqForwarder.:()V │ │ -016bfc: 7010 7305 0100 |0000: invoke-direct {v1}, Ljava/lang/Object;.:()V // method@0573 │ │ -016c02: 1200 |0003: const/4 v0, #int 0 // #0 │ │ -016c04: 5b10 ac00 |0004: iput-object v0, v1, Ldnsfilter/android/DNSFilterService$DNSReqForwarder;.forwardip:Ljava/lang/String; // field@00ac │ │ -016c08: 1a00 1707 |0006: const-string v0, "forward_ip" // string@0717 │ │ -016c0c: 5b10 ad00 |0008: iput-object v0, v1, Ldnsfilter/android/DNSFilterService$DNSReqForwarder;.ipFileName:Ljava/lang/String; // field@00ad │ │ -016c10: 0e00 |000a: return-void │ │ +016be8: |[016be8] dnsfilter.android.DNSFilterService$DNSReqForwarder.:()V │ │ +016bf8: 7010 7305 0100 |0000: invoke-direct {v1}, Ljava/lang/Object;.:()V // method@0573 │ │ +016bfe: 1200 |0003: const/4 v0, #int 0 // #0 │ │ +016c00: 5b10 ac00 |0004: iput-object v0, v1, Ldnsfilter/android/DNSFilterService$DNSReqForwarder;.forwardip:Ljava/lang/String; // field@00ac │ │ +016c04: 1a00 1707 |0006: const-string v0, "forward_ip" // string@0717 │ │ +016c08: 5b10 ad00 |0008: iput-object v0, v1, Ldnsfilter/android/DNSFilterService$DNSReqForwarder;.ipFileName:Ljava/lang/String; // field@00ad │ │ +016c0c: 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; │ │ @@ -11089,17 +11089,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 │ │ -016c14: |[016c14] dnsfilter.android.DNSFilterService$DNSReqForwarder.access$500:(Ldnsfilter/android/DNSFilterService$DNSReqForwarder;)V │ │ -016c24: 7010 8402 0000 |0000: invoke-direct {v0}, Ldnsfilter/android/DNSFilterService$DNSReqForwarder;.updateForward:()V // method@0284 │ │ -016c2a: 0e00 |0003: return-void │ │ +016c10: |[016c10] dnsfilter.android.DNSFilterService$DNSReqForwarder.access$500:(Ldnsfilter/android/DNSFilterService$DNSReqForwarder;)V │ │ +016c20: 7010 8402 0000 |0000: invoke-direct {v0}, Ldnsfilter/android/DNSFilterService$DNSReqForwarder;.updateForward:()V // method@0284 │ │ +016c26: 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;) │ │ @@ -11107,17 +11107,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 │ │ -016c2c: |[016c2c] dnsfilter.android.DNSFilterService$DNSReqForwarder.access$600:(Ldnsfilter/android/DNSFilterService$DNSReqForwarder;)V │ │ -016c3c: 7010 8102 0000 |0000: invoke-direct {v0}, Ldnsfilter/android/DNSFilterService$DNSReqForwarder;.clean:()V // method@0281 │ │ -016c42: 0e00 |0003: return-void │ │ +016c28: |[016c28] dnsfilter.android.DNSFilterService$DNSReqForwarder.access$600:(Ldnsfilter/android/DNSFilterService$DNSReqForwarder;)V │ │ +016c38: 7010 8102 0000 |0000: invoke-direct {v0}, Ldnsfilter/android/DNSFilterService$DNSReqForwarder;.clean:()V // method@0281 │ │ +016c3e: 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;) │ │ @@ -11125,17 +11125,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 │ │ -016c44: |[016c44] dnsfilter.android.DNSFilterService$DNSReqForwarder.access$800:(Ldnsfilter/android/DNSFilterService$DNSReqForwarder;)V │ │ -016c54: 7010 8202 0000 |0000: invoke-direct {v0}, Ldnsfilter/android/DNSFilterService$DNSReqForwarder;.clearForward:()V // method@0282 │ │ -016c5a: 0e00 |0003: return-void │ │ +016c40: |[016c40] dnsfilter.android.DNSFilterService$DNSReqForwarder.access$800:(Ldnsfilter/android/DNSFilterService$DNSReqForwarder;)V │ │ +016c50: 7010 8202 0000 |0000: invoke-direct {v0}, Ldnsfilter/android/DNSFilterService$DNSReqForwarder;.clearForward:()V // method@0282 │ │ +016c56: 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;) │ │ @@ -11143,84 +11143,84 @@ │ │ type : '()V' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 8 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 154 16-bit code units │ │ -016c5c: |[016c5c] dnsfilter.android.DNSFilterService$DNSReqForwarder.clean:()V │ │ -016c6c: 1a00 6208 |0000: const-string v0, "iptables -t nat -D OUTPUT -p udp --dport 53 -j DNAT --to-destination " // string@0862 │ │ -016c70: 1a01 f000 |0002: const-string v1, "Cannot delete " // string@00f0 │ │ -016c74: 2202 2d01 |0004: new-instance v2, Ljava/lang/StringBuilder; // type@012d │ │ -016c78: 7010 a705 0200 |0006: invoke-direct {v2}, Ljava/lang/StringBuilder;.:()V // method@05a7 │ │ -016c7e: 7100 d206 0000 |0009: invoke-static {}, Lutil/ExecutionEnvironment;.getEnvironment:()Lutil/ExecutionEnvironmentInterface; // method@06d2 │ │ -016c84: 0c03 |000c: move-result-object v3 │ │ -016c86: 7210 e206 0300 |000d: invoke-interface {v3}, Lutil/ExecutionEnvironmentInterface;.getWorkDir:()Ljava/lang/String; // method@06e2 │ │ -016c8c: 0c03 |0010: move-result-object v3 │ │ -016c8e: 6e20 ad05 3200 |0011: invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -016c94: 1a03 6000 |0014: const-string v3, "/" // string@0060 │ │ -016c98: 6e20 ad05 3200 |0016: invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -016c9e: 5473 ad00 |0019: iget-object v3, v7, Ldnsfilter/android/DNSFilterService$DNSReqForwarder;.ipFileName:Ljava/lang/String; // field@00ad │ │ -016ca2: 6e20 ad05 3200 |001b: invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -016ca8: 6e10 af05 0200 |001e: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ -016cae: 0c02 |0021: move-result-object v2 │ │ -016cb0: 2203 fb00 |0022: new-instance v3, Ljava/io/File; // type@00fb │ │ -016cb4: 7020 ff04 2300 |0024: invoke-direct {v3, v2}, Ljava/io/File;.:(Ljava/lang/String;)V // method@04ff │ │ -016cba: 6e10 0505 0300 |0027: invoke-virtual {v3}, Ljava/io/File;.exists:()Z // method@0505 │ │ -016cc0: 0a04 |002a: move-result v4 │ │ -016cc2: 3804 6e00 |002b: if-eqz v4, 0099 // +006e │ │ -016cc6: 2204 fd00 |002d: new-instance v4, Ljava/io/FileInputStream; // type@00fd │ │ -016cca: 7020 1105 3400 |002f: invoke-direct {v4, v3}, Ljava/io/FileInputStream;.:(Ljava/io/File;)V // method@0511 │ │ -016cd0: 2205 2b01 |0032: new-instance v5, Ljava/lang/String; // type@012b │ │ -016cd4: 1306 6400 |0034: const/16 v6, #int 100 // #64 │ │ -016cd8: 7120 9b07 6400 |0036: invoke-static {v4, v6}, Lutil/Utils;.readFully:(Ljava/io/InputStream;I)[B // method@079b │ │ -016cde: 0c06 |0039: move-result-object v6 │ │ -016ce0: 7020 8505 6500 |003a: invoke-direct {v5, v6}, Ljava/lang/String;.:([B)V // method@0585 │ │ -016ce6: 6e10 2705 0400 |003d: invoke-virtual {v4}, Ljava/io/InputStream;.close:()V // method@0527 │ │ -016cec: 6e10 0305 0300 |0040: invoke-virtual {v3}, Ljava/io/File;.delete:()Z // method@0503 │ │ -016cf2: 0a03 |0043: move-result v3 │ │ -016cf4: 3803 3700 |0044: if-eqz v3, 007b // +0037 │ │ -016cf8: 7100 2507 0000 |0046: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0725 │ │ -016cfe: 0c01 |0049: move-result-object v1 │ │ -016d00: 1a02 0501 |004a: const-string v2, "Cleaning up a previous redirect from previous not correctly terminated execution!" // string@0105 │ │ -016d04: 7220 3107 2100 |004c: invoke-interface {v1, v2}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0731 │ │ -016d0a: 2201 2d01 |004f: new-instance v1, Ljava/lang/StringBuilder; // type@012d │ │ -016d0e: 7020 a805 0100 |0051: invoke-direct {v1, v0}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05a8 │ │ -016d14: 6e20 ad05 5100 |0054: invoke-virtual {v1, v5}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -016d1a: 1a00 8100 |0057: const-string v0, ":" // string@0081 │ │ -016d1e: 6e20 ad05 0100 |0059: invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -016d24: 7100 8e02 0000 |005c: invoke-static {}, Ldnsfilter/android/DNSFilterService;.access$200:()I // method@028e │ │ -016d2a: 0a00 |005f: move-result v0 │ │ -016d2c: 6e20 aa05 0100 |0060: invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@05aa │ │ -016d32: 6e10 af05 0100 |0063: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ -016d38: 0c00 |0066: move-result-object v0 │ │ -016d3a: 1211 |0067: const/4 v1, #int 1 // #1 │ │ -016d3c: 7120 8f02 0100 |0068: invoke-static {v1, v0}, Ldnsfilter/android/DNSFilterService;.access$300:(ZLjava/lang/String;)V // method@028f │ │ -016d42: 1a00 5308 |006b: const-string v0, "ip6tables -D OUTPUT -p tcp --destination-port 53 -j DROP" // string@0853 │ │ -016d46: 7120 8f02 0100 |006d: invoke-static {v1, v0}, Ldnsfilter/android/DNSFilterService;.access$300:(ZLjava/lang/String;)V // method@028f │ │ -016d4c: 1a00 5408 |0070: const-string v0, "ip6tables -D OUTPUT -p udp --destination-port 53 -j DROP" // string@0854 │ │ -016d50: 7120 8f02 0100 |0072: invoke-static {v1, v0}, Ldnsfilter/android/DNSFilterService;.access$300:(ZLjava/lang/String;)V // method@028f │ │ -016d56: 1a00 6008 |0075: const-string v0, "iptables -D OUTPUT -p tcp --destination-port 53 -j DROP" // string@0860 │ │ -016d5a: 7120 8f02 0100 |0077: invoke-static {v1, v0}, Ldnsfilter/android/DNSFilterService;.access$300:(ZLjava/lang/String;)V // method@028f │ │ -016d60: 281f |007a: goto 0099 // +001f │ │ -016d62: 2200 0001 |007b: new-instance v0, Ljava/io/IOException; // type@0100 │ │ -016d66: 2203 2d01 |007d: new-instance v3, Ljava/lang/StringBuilder; // type@012d │ │ -016d6a: 7020 a805 1300 |007f: invoke-direct {v3, v1}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05a8 │ │ -016d70: 6e20 ad05 2300 |0082: invoke-virtual {v3, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -016d76: 6e10 af05 0300 |0085: invoke-virtual {v3}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ -016d7c: 0c01 |0088: move-result-object v1 │ │ -016d7e: 7020 1f05 1000 |0089: invoke-direct {v0, v1}, Ljava/io/IOException;.:(Ljava/lang/String;)V // method@051f │ │ -016d84: 2700 |008c: throw v0 │ │ -016d86: 0d00 |008d: move-exception v0 │ │ -016d88: 7100 2507 0000 |008e: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0725 │ │ -016d8e: 0c01 |0091: move-result-object v1 │ │ -016d90: 6e10 5f05 0000 |0092: invoke-virtual {v0}, Ljava/lang/Exception;.toString:()Ljava/lang/String; // method@055f │ │ -016d96: 0c00 |0095: move-result-object v0 │ │ -016d98: 7220 3107 0100 |0096: invoke-interface {v1, v0}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0731 │ │ -016d9e: 0e00 |0099: return-void │ │ +016c58: |[016c58] dnsfilter.android.DNSFilterService$DNSReqForwarder.clean:()V │ │ +016c68: 1a00 6208 |0000: const-string v0, "iptables -t nat -D OUTPUT -p udp --dport 53 -j DNAT --to-destination " // string@0862 │ │ +016c6c: 1a01 f000 |0002: const-string v1, "Cannot delete " // string@00f0 │ │ +016c70: 2202 2d01 |0004: new-instance v2, Ljava/lang/StringBuilder; // type@012d │ │ +016c74: 7010 a705 0200 |0006: invoke-direct {v2}, Ljava/lang/StringBuilder;.:()V // method@05a7 │ │ +016c7a: 7100 d206 0000 |0009: invoke-static {}, Lutil/ExecutionEnvironment;.getEnvironment:()Lutil/ExecutionEnvironmentInterface; // method@06d2 │ │ +016c80: 0c03 |000c: move-result-object v3 │ │ +016c82: 7210 e206 0300 |000d: invoke-interface {v3}, Lutil/ExecutionEnvironmentInterface;.getWorkDir:()Ljava/lang/String; // method@06e2 │ │ +016c88: 0c03 |0010: move-result-object v3 │ │ +016c8a: 6e20 ad05 3200 |0011: invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +016c90: 1a03 6000 |0014: const-string v3, "/" // string@0060 │ │ +016c94: 6e20 ad05 3200 |0016: invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +016c9a: 5473 ad00 |0019: iget-object v3, v7, Ldnsfilter/android/DNSFilterService$DNSReqForwarder;.ipFileName:Ljava/lang/String; // field@00ad │ │ +016c9e: 6e20 ad05 3200 |001b: invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +016ca4: 6e10 af05 0200 |001e: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ +016caa: 0c02 |0021: move-result-object v2 │ │ +016cac: 2203 fb00 |0022: new-instance v3, Ljava/io/File; // type@00fb │ │ +016cb0: 7020 ff04 2300 |0024: invoke-direct {v3, v2}, Ljava/io/File;.:(Ljava/lang/String;)V // method@04ff │ │ +016cb6: 6e10 0505 0300 |0027: invoke-virtual {v3}, Ljava/io/File;.exists:()Z // method@0505 │ │ +016cbc: 0a04 |002a: move-result v4 │ │ +016cbe: 3804 6e00 |002b: if-eqz v4, 0099 // +006e │ │ +016cc2: 2204 fd00 |002d: new-instance v4, Ljava/io/FileInputStream; // type@00fd │ │ +016cc6: 7020 1105 3400 |002f: invoke-direct {v4, v3}, Ljava/io/FileInputStream;.:(Ljava/io/File;)V // method@0511 │ │ +016ccc: 2205 2b01 |0032: new-instance v5, Ljava/lang/String; // type@012b │ │ +016cd0: 1306 6400 |0034: const/16 v6, #int 100 // #64 │ │ +016cd4: 7120 9b07 6400 |0036: invoke-static {v4, v6}, Lutil/Utils;.readFully:(Ljava/io/InputStream;I)[B // method@079b │ │ +016cda: 0c06 |0039: move-result-object v6 │ │ +016cdc: 7020 8505 6500 |003a: invoke-direct {v5, v6}, Ljava/lang/String;.:([B)V // method@0585 │ │ +016ce2: 6e10 2705 0400 |003d: invoke-virtual {v4}, Ljava/io/InputStream;.close:()V // method@0527 │ │ +016ce8: 6e10 0305 0300 |0040: invoke-virtual {v3}, Ljava/io/File;.delete:()Z // method@0503 │ │ +016cee: 0a03 |0043: move-result v3 │ │ +016cf0: 3803 3700 |0044: if-eqz v3, 007b // +0037 │ │ +016cf4: 7100 2507 0000 |0046: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0725 │ │ +016cfa: 0c01 |0049: move-result-object v1 │ │ +016cfc: 1a02 0501 |004a: const-string v2, "Cleaning up a previous redirect from previous not correctly terminated execution!" // string@0105 │ │ +016d00: 7220 3107 2100 |004c: invoke-interface {v1, v2}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0731 │ │ +016d06: 2201 2d01 |004f: new-instance v1, Ljava/lang/StringBuilder; // type@012d │ │ +016d0a: 7020 a805 0100 |0051: invoke-direct {v1, v0}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05a8 │ │ +016d10: 6e20 ad05 5100 |0054: invoke-virtual {v1, v5}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +016d16: 1a00 8100 |0057: const-string v0, ":" // string@0081 │ │ +016d1a: 6e20 ad05 0100 |0059: invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +016d20: 7100 8e02 0000 |005c: invoke-static {}, Ldnsfilter/android/DNSFilterService;.access$200:()I // method@028e │ │ +016d26: 0a00 |005f: move-result v0 │ │ +016d28: 6e20 aa05 0100 |0060: invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@05aa │ │ +016d2e: 6e10 af05 0100 |0063: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ +016d34: 0c00 |0066: move-result-object v0 │ │ +016d36: 1211 |0067: const/4 v1, #int 1 // #1 │ │ +016d38: 7120 8f02 0100 |0068: invoke-static {v1, v0}, Ldnsfilter/android/DNSFilterService;.access$300:(ZLjava/lang/String;)V // method@028f │ │ +016d3e: 1a00 5308 |006b: const-string v0, "ip6tables -D OUTPUT -p tcp --destination-port 53 -j DROP" // string@0853 │ │ +016d42: 7120 8f02 0100 |006d: invoke-static {v1, v0}, Ldnsfilter/android/DNSFilterService;.access$300:(ZLjava/lang/String;)V // method@028f │ │ +016d48: 1a00 5408 |0070: const-string v0, "ip6tables -D OUTPUT -p udp --destination-port 53 -j DROP" // string@0854 │ │ +016d4c: 7120 8f02 0100 |0072: invoke-static {v1, v0}, Ldnsfilter/android/DNSFilterService;.access$300:(ZLjava/lang/String;)V // method@028f │ │ +016d52: 1a00 6008 |0075: const-string v0, "iptables -D OUTPUT -p tcp --destination-port 53 -j DROP" // string@0860 │ │ +016d56: 7120 8f02 0100 |0077: invoke-static {v1, v0}, Ldnsfilter/android/DNSFilterService;.access$300:(ZLjava/lang/String;)V // method@028f │ │ +016d5c: 281f |007a: goto 0099 // +001f │ │ +016d5e: 2200 0001 |007b: new-instance v0, Ljava/io/IOException; // type@0100 │ │ +016d62: 2203 2d01 |007d: new-instance v3, Ljava/lang/StringBuilder; // type@012d │ │ +016d66: 7020 a805 1300 |007f: invoke-direct {v3, v1}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05a8 │ │ +016d6c: 6e20 ad05 2300 |0082: invoke-virtual {v3, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +016d72: 6e10 af05 0300 |0085: invoke-virtual {v3}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ +016d78: 0c01 |0088: move-result-object v1 │ │ +016d7a: 7020 1f05 1000 |0089: invoke-direct {v0, v1}, Ljava/io/IOException;.:(Ljava/lang/String;)V // method@051f │ │ +016d80: 2700 |008c: throw v0 │ │ +016d82: 0d00 |008d: move-exception v0 │ │ +016d84: 7100 2507 0000 |008e: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0725 │ │ +016d8a: 0c01 |0091: move-result-object v1 │ │ +016d8c: 6e10 5f05 0000 |0092: invoke-virtual {v0}, Ljava/lang/Exception;.toString:()Ljava/lang/String; // method@055f │ │ +016d92: 0c00 |0095: move-result-object v0 │ │ +016d94: 7220 3107 0100 |0096: invoke-interface {v1, v0}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0731 │ │ +016d9a: 0e00 |0099: return-void │ │ catches : 1 │ │ 0x0027 - 0x008d │ │ Ljava/lang/Exception; -> 0x008d │ │ positions : │ │ 0x0004 line=151 │ │ 0x0022 line=152 │ │ 0x0027 line=154 │ │ @@ -11243,82 +11243,82 @@ │ │ type : '()V' │ │ access : 0x20002 (PRIVATE DECLARED_SYNCHRONIZED) │ │ code - │ │ registers : 5 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 137 16-bit code units │ │ -016db0: |[016db0] dnsfilter.android.DNSFilterService$DNSReqForwarder.clearForward:()V │ │ -016dc0: 1a00 f000 |0000: const-string v0, "Cannot delete " // string@00f0 │ │ -016dc4: 1a01 6208 |0002: const-string v1, "iptables -t nat -D OUTPUT -p udp --dport 53 -j DNAT --to-destination " // string@0862 │ │ -016dc8: 1d04 |0004: monitor-enter v4 │ │ -016dca: 2202 2d01 |0005: new-instance v2, Ljava/lang/StringBuilder; // type@012d │ │ -016dce: 7010 a705 0200 |0007: invoke-direct {v2}, Ljava/lang/StringBuilder;.:()V // method@05a7 │ │ -016dd4: 7100 d206 0000 |000a: invoke-static {}, Lutil/ExecutionEnvironment;.getEnvironment:()Lutil/ExecutionEnvironmentInterface; // method@06d2 │ │ -016dda: 0c03 |000d: move-result-object v3 │ │ -016ddc: 7210 e206 0300 |000e: invoke-interface {v3}, Lutil/ExecutionEnvironmentInterface;.getWorkDir:()Ljava/lang/String; // method@06e2 │ │ -016de2: 0c03 |0011: move-result-object v3 │ │ -016de4: 6e20 ad05 3200 |0012: invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -016dea: 1a03 6000 |0015: const-string v3, "/" // string@0060 │ │ -016dee: 6e20 ad05 3200 |0017: invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -016df4: 5443 ad00 |001a: iget-object v3, v4, Ldnsfilter/android/DNSFilterService$DNSReqForwarder;.ipFileName:Ljava/lang/String; // field@00ad │ │ -016df8: 6e20 ad05 3200 |001c: invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -016dfe: 6e10 af05 0200 |001f: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ -016e04: 0c02 |0022: move-result-object v2 │ │ -016e06: 5443 ac00 |0023: iget-object v3, v4, Ldnsfilter/android/DNSFilterService$DNSReqForwarder;.forwardip:Ljava/lang/String; // field@00ac │ │ -016e0a: 3903 0400 |0025: if-nez v3, 0029 // +0004 │ │ -016e0e: 1e04 |0027: monitor-exit v4 │ │ -016e10: 0e00 |0028: return-void │ │ -016e12: 2203 2d01 |0029: new-instance v3, Ljava/lang/StringBuilder; // type@012d │ │ -016e16: 7020 a805 1300 |002b: invoke-direct {v3, v1}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05a8 │ │ -016e1c: 5441 ac00 |002e: iget-object v1, v4, Ldnsfilter/android/DNSFilterService$DNSReqForwarder;.forwardip:Ljava/lang/String; // field@00ac │ │ -016e20: 6e20 ad05 1300 |0030: invoke-virtual {v3, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -016e26: 1a01 8100 |0033: const-string v1, ":" // string@0081 │ │ -016e2a: 6e20 ad05 1300 |0035: invoke-virtual {v3, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -016e30: 7100 8e02 0000 |0038: invoke-static {}, Ldnsfilter/android/DNSFilterService;.access$200:()I // method@028e │ │ -016e36: 0a01 |003b: move-result v1 │ │ -016e38: 6e20 aa05 1300 |003c: invoke-virtual {v3, v1}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@05aa │ │ -016e3e: 6e10 af05 0300 |003f: invoke-virtual {v3}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ -016e44: 0c01 |0042: move-result-object v1 │ │ -016e46: 1203 |0043: const/4 v3, #int 0 // #0 │ │ -016e48: 7120 8f02 1300 |0044: invoke-static {v3, v1}, Ldnsfilter/android/DNSFilterService;.access$300:(ZLjava/lang/String;)V // method@028f │ │ -016e4e: 1a01 5308 |0047: const-string v1, "ip6tables -D OUTPUT -p tcp --destination-port 53 -j DROP" // string@0853 │ │ -016e52: 1213 |0049: const/4 v3, #int 1 // #1 │ │ -016e54: 7120 8f02 1300 |004a: invoke-static {v3, v1}, Ldnsfilter/android/DNSFilterService;.access$300:(ZLjava/lang/String;)V // method@028f │ │ -016e5a: 1a01 5408 |004d: const-string v1, "ip6tables -D OUTPUT -p udp --destination-port 53 -j DROP" // string@0854 │ │ -016e5e: 7120 8f02 1300 |004f: invoke-static {v3, v1}, Ldnsfilter/android/DNSFilterService;.access$300:(ZLjava/lang/String;)V // method@028f │ │ -016e64: 1a01 6008 |0052: const-string v1, "iptables -D OUTPUT -p tcp --destination-port 53 -j DROP" // string@0860 │ │ -016e68: 7120 8f02 1300 |0054: invoke-static {v3, v1}, Ldnsfilter/android/DNSFilterService;.access$300:(ZLjava/lang/String;)V // method@028f │ │ -016e6e: 1201 |0057: const/4 v1, #int 0 // #0 │ │ -016e70: 5b41 ac00 |0058: iput-object v1, v4, Ldnsfilter/android/DNSFilterService$DNSReqForwarder;.forwardip:Ljava/lang/String; // field@00ac │ │ -016e74: 2201 fb00 |005a: new-instance v1, Ljava/io/File; // type@00fb │ │ -016e78: 7020 ff04 2100 |005c: invoke-direct {v1, v2}, Ljava/io/File;.:(Ljava/lang/String;)V // method@04ff │ │ -016e7e: 6e10 0305 0100 |005f: invoke-virtual {v1}, Ljava/io/File;.delete:()Z // method@0503 │ │ -016e84: 0a01 |0062: move-result v1 │ │ -016e86: 3801 0300 |0063: if-eqz v1, 0066 // +0003 │ │ -016e8a: 281f |0065: goto 0084 // +001f │ │ -016e8c: 2201 0001 |0066: new-instance v1, Ljava/io/IOException; // type@0100 │ │ -016e90: 2203 2d01 |0068: new-instance v3, Ljava/lang/StringBuilder; // type@012d │ │ -016e94: 7020 a805 0300 |006a: invoke-direct {v3, v0}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05a8 │ │ -016e9a: 6e20 ad05 2300 |006d: invoke-virtual {v3, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -016ea0: 6e10 af05 0300 |0070: invoke-virtual {v3}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ -016ea6: 0c00 |0073: move-result-object v0 │ │ -016ea8: 7020 1f05 0100 |0074: invoke-direct {v1, v0}, Ljava/io/IOException;.:(Ljava/lang/String;)V // method@051f │ │ -016eae: 2701 |0077: throw v1 │ │ -016eb0: 0d00 |0078: move-exception v0 │ │ -016eb2: 7100 2507 0000 |0079: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0725 │ │ -016eb8: 0c01 |007c: move-result-object v1 │ │ -016eba: 6e10 5b05 0000 |007d: invoke-virtual {v0}, Ljava/lang/Exception;.getMessage:()Ljava/lang/String; // method@055b │ │ -016ec0: 0c00 |0080: move-result-object v0 │ │ -016ec2: 7220 3107 0100 |0081: invoke-interface {v1, v0}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0731 │ │ -016ec8: 1e04 |0084: monitor-exit v4 │ │ -016eca: 0e00 |0085: return-void │ │ -016ecc: 0d00 |0086: move-exception v0 │ │ -016ece: 1e04 |0087: monitor-exit v4 │ │ -016ed0: 2700 |0088: throw v0 │ │ +016dac: |[016dac] dnsfilter.android.DNSFilterService$DNSReqForwarder.clearForward:()V │ │ +016dbc: 1a00 f000 |0000: const-string v0, "Cannot delete " // string@00f0 │ │ +016dc0: 1a01 6208 |0002: const-string v1, "iptables -t nat -D OUTPUT -p udp --dport 53 -j DNAT --to-destination " // string@0862 │ │ +016dc4: 1d04 |0004: monitor-enter v4 │ │ +016dc6: 2202 2d01 |0005: new-instance v2, Ljava/lang/StringBuilder; // type@012d │ │ +016dca: 7010 a705 0200 |0007: invoke-direct {v2}, Ljava/lang/StringBuilder;.:()V // method@05a7 │ │ +016dd0: 7100 d206 0000 |000a: invoke-static {}, Lutil/ExecutionEnvironment;.getEnvironment:()Lutil/ExecutionEnvironmentInterface; // method@06d2 │ │ +016dd6: 0c03 |000d: move-result-object v3 │ │ +016dd8: 7210 e206 0300 |000e: invoke-interface {v3}, Lutil/ExecutionEnvironmentInterface;.getWorkDir:()Ljava/lang/String; // method@06e2 │ │ +016dde: 0c03 |0011: move-result-object v3 │ │ +016de0: 6e20 ad05 3200 |0012: invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +016de6: 1a03 6000 |0015: const-string v3, "/" // string@0060 │ │ +016dea: 6e20 ad05 3200 |0017: invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +016df0: 5443 ad00 |001a: iget-object v3, v4, Ldnsfilter/android/DNSFilterService$DNSReqForwarder;.ipFileName:Ljava/lang/String; // field@00ad │ │ +016df4: 6e20 ad05 3200 |001c: invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +016dfa: 6e10 af05 0200 |001f: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ +016e00: 0c02 |0022: move-result-object v2 │ │ +016e02: 5443 ac00 |0023: iget-object v3, v4, Ldnsfilter/android/DNSFilterService$DNSReqForwarder;.forwardip:Ljava/lang/String; // field@00ac │ │ +016e06: 3903 0400 |0025: if-nez v3, 0029 // +0004 │ │ +016e0a: 1e04 |0027: monitor-exit v4 │ │ +016e0c: 0e00 |0028: return-void │ │ +016e0e: 2203 2d01 |0029: new-instance v3, Ljava/lang/StringBuilder; // type@012d │ │ +016e12: 7020 a805 1300 |002b: invoke-direct {v3, v1}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05a8 │ │ +016e18: 5441 ac00 |002e: iget-object v1, v4, Ldnsfilter/android/DNSFilterService$DNSReqForwarder;.forwardip:Ljava/lang/String; // field@00ac │ │ +016e1c: 6e20 ad05 1300 |0030: invoke-virtual {v3, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +016e22: 1a01 8100 |0033: const-string v1, ":" // string@0081 │ │ +016e26: 6e20 ad05 1300 |0035: invoke-virtual {v3, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +016e2c: 7100 8e02 0000 |0038: invoke-static {}, Ldnsfilter/android/DNSFilterService;.access$200:()I // method@028e │ │ +016e32: 0a01 |003b: move-result v1 │ │ +016e34: 6e20 aa05 1300 |003c: invoke-virtual {v3, v1}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@05aa │ │ +016e3a: 6e10 af05 0300 |003f: invoke-virtual {v3}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ +016e40: 0c01 |0042: move-result-object v1 │ │ +016e42: 1203 |0043: const/4 v3, #int 0 // #0 │ │ +016e44: 7120 8f02 1300 |0044: invoke-static {v3, v1}, Ldnsfilter/android/DNSFilterService;.access$300:(ZLjava/lang/String;)V // method@028f │ │ +016e4a: 1a01 5308 |0047: const-string v1, "ip6tables -D OUTPUT -p tcp --destination-port 53 -j DROP" // string@0853 │ │ +016e4e: 1213 |0049: const/4 v3, #int 1 // #1 │ │ +016e50: 7120 8f02 1300 |004a: invoke-static {v3, v1}, Ldnsfilter/android/DNSFilterService;.access$300:(ZLjava/lang/String;)V // method@028f │ │ +016e56: 1a01 5408 |004d: const-string v1, "ip6tables -D OUTPUT -p udp --destination-port 53 -j DROP" // string@0854 │ │ +016e5a: 7120 8f02 1300 |004f: invoke-static {v3, v1}, Ldnsfilter/android/DNSFilterService;.access$300:(ZLjava/lang/String;)V // method@028f │ │ +016e60: 1a01 6008 |0052: const-string v1, "iptables -D OUTPUT -p tcp --destination-port 53 -j DROP" // string@0860 │ │ +016e64: 7120 8f02 1300 |0054: invoke-static {v3, v1}, Ldnsfilter/android/DNSFilterService;.access$300:(ZLjava/lang/String;)V // method@028f │ │ +016e6a: 1201 |0057: const/4 v1, #int 0 // #0 │ │ +016e6c: 5b41 ac00 |0058: iput-object v1, v4, Ldnsfilter/android/DNSFilterService$DNSReqForwarder;.forwardip:Ljava/lang/String; // field@00ac │ │ +016e70: 2201 fb00 |005a: new-instance v1, Ljava/io/File; // type@00fb │ │ +016e74: 7020 ff04 2100 |005c: invoke-direct {v1, v2}, Ljava/io/File;.:(Ljava/lang/String;)V // method@04ff │ │ +016e7a: 6e10 0305 0100 |005f: invoke-virtual {v1}, Ljava/io/File;.delete:()Z // method@0503 │ │ +016e80: 0a01 |0062: move-result v1 │ │ +016e82: 3801 0300 |0063: if-eqz v1, 0066 // +0003 │ │ +016e86: 281f |0065: goto 0084 // +001f │ │ +016e88: 2201 0001 |0066: new-instance v1, Ljava/io/IOException; // type@0100 │ │ +016e8c: 2203 2d01 |0068: new-instance v3, Ljava/lang/StringBuilder; // type@012d │ │ +016e90: 7020 a805 0300 |006a: invoke-direct {v3, v0}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05a8 │ │ +016e96: 6e20 ad05 2300 |006d: invoke-virtual {v3, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +016e9c: 6e10 af05 0300 |0070: invoke-virtual {v3}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ +016ea2: 0c00 |0073: move-result-object v0 │ │ +016ea4: 7020 1f05 0100 |0074: invoke-direct {v1, v0}, Ljava/io/IOException;.:(Ljava/lang/String;)V // method@051f │ │ +016eaa: 2701 |0077: throw v1 │ │ +016eac: 0d00 |0078: move-exception v0 │ │ +016eae: 7100 2507 0000 |0079: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0725 │ │ +016eb4: 0c01 |007c: move-result-object v1 │ │ +016eb6: 6e10 5b05 0000 |007d: invoke-virtual {v0}, Ljava/lang/Exception;.getMessage:()Ljava/lang/String; // method@055b │ │ +016ebc: 0c00 |0080: move-result-object v0 │ │ +016ebe: 7220 3107 0100 |0081: invoke-interface {v1, v0}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0731 │ │ +016ec4: 1e04 |0084: monitor-exit v4 │ │ +016ec6: 0e00 |0085: return-void │ │ +016ec8: 0d00 |0086: move-exception v0 │ │ +016eca: 1e04 |0087: monitor-exit v4 │ │ +016ecc: 2700 |0088: throw v0 │ │ catches : 3 │ │ 0x0005 - 0x0025 │ │ -> 0x0086 │ │ 0x0029 - 0x0078 │ │ Ljava/lang/Exception; -> 0x0078 │ │ -> 0x0086 │ │ 0x0079 - 0x0084 │ │ @@ -11344,77 +11344,77 @@ │ │ type : '()V' │ │ access : 0x20002 (PRIVATE DECLARED_SYNCHRONIZED) │ │ code - │ │ registers : 5 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 132 16-bit code units │ │ -016ef8: |[016ef8] dnsfilter.android.DNSFilterService$DNSReqForwarder.updateForward:()V │ │ -016f08: 1a00 6408 |0000: const-string v0, "iptables -t nat -I OUTPUT -p udp --dport 53 -j DNAT --to-destination " // string@0864 │ │ -016f0c: 1d04 |0002: monitor-enter v4 │ │ -016f0e: 2201 2d01 |0003: new-instance v1, Ljava/lang/StringBuilder; // type@012d │ │ -016f12: 7010 a705 0100 |0005: invoke-direct {v1}, Ljava/lang/StringBuilder;.:()V // method@05a7 │ │ -016f18: 7100 d206 0000 |0008: invoke-static {}, Lutil/ExecutionEnvironment;.getEnvironment:()Lutil/ExecutionEnvironmentInterface; // method@06d2 │ │ -016f1e: 0c02 |000b: move-result-object v2 │ │ -016f20: 7210 e206 0200 |000c: invoke-interface {v2}, Lutil/ExecutionEnvironmentInterface;.getWorkDir:()Ljava/lang/String; // method@06e2 │ │ -016f26: 0c02 |000f: move-result-object v2 │ │ -016f28: 6e20 ad05 2100 |0010: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -016f2e: 1a02 6000 |0013: const-string v2, "/" // string@0060 │ │ -016f32: 6e20 ad05 2100 |0015: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -016f38: 5442 ad00 |0018: iget-object v2, v4, Ldnsfilter/android/DNSFilterService$DNSReqForwarder;.ipFileName:Ljava/lang/String; // field@00ad │ │ -016f3c: 6e20 ad05 2100 |001a: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -016f42: 6e10 af05 0100 |001d: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ -016f48: 0c01 |0020: move-result-object v1 │ │ -016f4a: 6e10 8302 0400 |0021: invoke-virtual {v4}, Ldnsfilter/android/DNSFilterService$DNSReqForwarder;.getALocalIpAddress:()Ljava/lang/String; // method@0283 │ │ -016f50: 0c02 |0024: move-result-object v2 │ │ -016f52: 3802 5a00 |0025: if-eqz v2, 007f // +005a │ │ -016f56: 5443 ac00 |0027: iget-object v3, v4, Ldnsfilter/android/DNSFilterService$DNSReqForwarder;.forwardip:Ljava/lang/String; // field@00ac │ │ -016f5a: 6e20 8b05 3200 |0029: invoke-virtual {v2, v3}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058b │ │ -016f60: 0a03 |002c: move-result v3 │ │ -016f62: 3903 5200 |002d: if-nez v3, 007f // +0052 │ │ -016f66: 7010 8202 0400 |002f: invoke-direct {v4}, Ldnsfilter/android/DNSFilterService$DNSReqForwarder;.clearForward:()V // method@0282 │ │ -016f6c: 2203 2d01 |0032: new-instance v3, Ljava/lang/StringBuilder; // type@012d │ │ -016f70: 7020 a805 0300 |0034: invoke-direct {v3, v0}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05a8 │ │ -016f76: 6e20 ad05 2300 |0037: invoke-virtual {v3, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -016f7c: 1a00 8100 |003a: const-string v0, ":" // string@0081 │ │ -016f80: 6e20 ad05 0300 |003c: invoke-virtual {v3, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -016f86: 7100 8e02 0000 |003f: invoke-static {}, Ldnsfilter/android/DNSFilterService;.access$200:()I // method@028e │ │ -016f8c: 0a00 |0042: move-result v0 │ │ -016f8e: 6e20 aa05 0300 |0043: invoke-virtual {v3, v0}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@05aa │ │ -016f94: 6e10 af05 0300 |0046: invoke-virtual {v3}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ -016f9a: 0c00 |0049: move-result-object v0 │ │ -016f9c: 1203 |004a: const/4 v3, #int 0 // #0 │ │ -016f9e: 7120 8f02 0300 |004b: invoke-static {v3, v0}, Ldnsfilter/android/DNSFilterService;.access$300:(ZLjava/lang/String;)V // method@028f │ │ -016fa4: 1a00 5208 |004e: const-string v0, "ip6tables -A OUTPUT -p udp --destination-port 53 -j DROP" // string@0852 │ │ -016fa8: 1213 |0050: const/4 v3, #int 1 // #1 │ │ -016faa: 7120 8f02 0300 |0051: invoke-static {v3, v0}, Ldnsfilter/android/DNSFilterService;.access$300:(ZLjava/lang/String;)V // method@028f │ │ -016fb0: 1a00 5108 |0054: const-string v0, "ip6tables -A OUTPUT -p tcp --destination-port 53 -j DROP" // string@0851 │ │ -016fb4: 7120 8f02 0300 |0056: invoke-static {v3, v0}, Ldnsfilter/android/DNSFilterService;.access$300:(ZLjava/lang/String;)V // method@028f │ │ -016fba: 1a00 5f08 |0059: const-string v0, "iptables -A OUTPUT -p tcp --destination-port 53 -j DROP" // string@085f │ │ -016fbe: 7120 8f02 0300 |005b: invoke-static {v3, v0}, Ldnsfilter/android/DNSFilterService;.access$300:(ZLjava/lang/String;)V // method@028f │ │ -016fc4: 5b42 ac00 |005e: iput-object v2, v4, Ldnsfilter/android/DNSFilterService$DNSReqForwarder;.forwardip:Ljava/lang/String; // field@00ac │ │ -016fc8: 2200 ff00 |0060: new-instance v0, Ljava/io/FileOutputStream; // type@00ff │ │ -016fcc: 7020 1a05 1000 |0062: invoke-direct {v0, v1}, Ljava/io/FileOutputStream;.:(Ljava/lang/String;)V // method@051a │ │ -016fd2: 6e10 8d05 0200 |0065: invoke-virtual {v2}, Ljava/lang/String;.getBytes:()[B // method@058d │ │ -016fd8: 0c01 |0068: move-result-object v1 │ │ -016fda: 6e20 1d05 1000 |0069: invoke-virtual {v0, v1}, Ljava/io/FileOutputStream;.write:([B)V // method@051d │ │ -016fe0: 6e10 1c05 0000 |006c: invoke-virtual {v0}, Ljava/io/FileOutputStream;.flush:()V // method@051c │ │ -016fe6: 6e10 1b05 0000 |006f: invoke-virtual {v0}, Ljava/io/FileOutputStream;.close:()V // method@051b │ │ -016fec: 280d |0072: goto 007f // +000d │ │ -016fee: 0d00 |0073: move-exception v0 │ │ -016ff0: 7100 2507 0000 |0074: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0725 │ │ -016ff6: 0c01 |0077: move-result-object v1 │ │ -016ff8: 6e10 5b05 0000 |0078: invoke-virtual {v0}, Ljava/lang/Exception;.getMessage:()Ljava/lang/String; // method@055b │ │ -016ffe: 0c00 |007b: move-result-object v0 │ │ -017000: 7220 3107 0100 |007c: invoke-interface {v1, v0}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0731 │ │ -017006: 1e04 |007f: monitor-exit v4 │ │ -017008: 0e00 |0080: return-void │ │ -01700a: 0d00 |0081: move-exception v0 │ │ -01700c: 1e04 |0082: monitor-exit v4 │ │ -01700e: 2700 |0083: throw v0 │ │ +016ef4: |[016ef4] dnsfilter.android.DNSFilterService$DNSReqForwarder.updateForward:()V │ │ +016f04: 1a00 6408 |0000: const-string v0, "iptables -t nat -I OUTPUT -p udp --dport 53 -j DNAT --to-destination " // string@0864 │ │ +016f08: 1d04 |0002: monitor-enter v4 │ │ +016f0a: 2201 2d01 |0003: new-instance v1, Ljava/lang/StringBuilder; // type@012d │ │ +016f0e: 7010 a705 0100 |0005: invoke-direct {v1}, Ljava/lang/StringBuilder;.:()V // method@05a7 │ │ +016f14: 7100 d206 0000 |0008: invoke-static {}, Lutil/ExecutionEnvironment;.getEnvironment:()Lutil/ExecutionEnvironmentInterface; // method@06d2 │ │ +016f1a: 0c02 |000b: move-result-object v2 │ │ +016f1c: 7210 e206 0200 |000c: invoke-interface {v2}, Lutil/ExecutionEnvironmentInterface;.getWorkDir:()Ljava/lang/String; // method@06e2 │ │ +016f22: 0c02 |000f: move-result-object v2 │ │ +016f24: 6e20 ad05 2100 |0010: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +016f2a: 1a02 6000 |0013: const-string v2, "/" // string@0060 │ │ +016f2e: 6e20 ad05 2100 |0015: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +016f34: 5442 ad00 |0018: iget-object v2, v4, Ldnsfilter/android/DNSFilterService$DNSReqForwarder;.ipFileName:Ljava/lang/String; // field@00ad │ │ +016f38: 6e20 ad05 2100 |001a: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +016f3e: 6e10 af05 0100 |001d: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ +016f44: 0c01 |0020: move-result-object v1 │ │ +016f46: 6e10 8302 0400 |0021: invoke-virtual {v4}, Ldnsfilter/android/DNSFilterService$DNSReqForwarder;.getALocalIpAddress:()Ljava/lang/String; // method@0283 │ │ +016f4c: 0c02 |0024: move-result-object v2 │ │ +016f4e: 3802 5a00 |0025: if-eqz v2, 007f // +005a │ │ +016f52: 5443 ac00 |0027: iget-object v3, v4, Ldnsfilter/android/DNSFilterService$DNSReqForwarder;.forwardip:Ljava/lang/String; // field@00ac │ │ +016f56: 6e20 8b05 3200 |0029: invoke-virtual {v2, v3}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058b │ │ +016f5c: 0a03 |002c: move-result v3 │ │ +016f5e: 3903 5200 |002d: if-nez v3, 007f // +0052 │ │ +016f62: 7010 8202 0400 |002f: invoke-direct {v4}, Ldnsfilter/android/DNSFilterService$DNSReqForwarder;.clearForward:()V // method@0282 │ │ +016f68: 2203 2d01 |0032: new-instance v3, Ljava/lang/StringBuilder; // type@012d │ │ +016f6c: 7020 a805 0300 |0034: invoke-direct {v3, v0}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05a8 │ │ +016f72: 6e20 ad05 2300 |0037: invoke-virtual {v3, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +016f78: 1a00 8100 |003a: const-string v0, ":" // string@0081 │ │ +016f7c: 6e20 ad05 0300 |003c: invoke-virtual {v3, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +016f82: 7100 8e02 0000 |003f: invoke-static {}, Ldnsfilter/android/DNSFilterService;.access$200:()I // method@028e │ │ +016f88: 0a00 |0042: move-result v0 │ │ +016f8a: 6e20 aa05 0300 |0043: invoke-virtual {v3, v0}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@05aa │ │ +016f90: 6e10 af05 0300 |0046: invoke-virtual {v3}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ +016f96: 0c00 |0049: move-result-object v0 │ │ +016f98: 1203 |004a: const/4 v3, #int 0 // #0 │ │ +016f9a: 7120 8f02 0300 |004b: invoke-static {v3, v0}, Ldnsfilter/android/DNSFilterService;.access$300:(ZLjava/lang/String;)V // method@028f │ │ +016fa0: 1a00 5208 |004e: const-string v0, "ip6tables -A OUTPUT -p udp --destination-port 53 -j DROP" // string@0852 │ │ +016fa4: 1213 |0050: const/4 v3, #int 1 // #1 │ │ +016fa6: 7120 8f02 0300 |0051: invoke-static {v3, v0}, Ldnsfilter/android/DNSFilterService;.access$300:(ZLjava/lang/String;)V // method@028f │ │ +016fac: 1a00 5108 |0054: const-string v0, "ip6tables -A OUTPUT -p tcp --destination-port 53 -j DROP" // string@0851 │ │ +016fb0: 7120 8f02 0300 |0056: invoke-static {v3, v0}, Ldnsfilter/android/DNSFilterService;.access$300:(ZLjava/lang/String;)V // method@028f │ │ +016fb6: 1a00 5f08 |0059: const-string v0, "iptables -A OUTPUT -p tcp --destination-port 53 -j DROP" // string@085f │ │ +016fba: 7120 8f02 0300 |005b: invoke-static {v3, v0}, Ldnsfilter/android/DNSFilterService;.access$300:(ZLjava/lang/String;)V // method@028f │ │ +016fc0: 5b42 ac00 |005e: iput-object v2, v4, Ldnsfilter/android/DNSFilterService$DNSReqForwarder;.forwardip:Ljava/lang/String; // field@00ac │ │ +016fc4: 2200 ff00 |0060: new-instance v0, Ljava/io/FileOutputStream; // type@00ff │ │ +016fc8: 7020 1a05 1000 |0062: invoke-direct {v0, v1}, Ljava/io/FileOutputStream;.:(Ljava/lang/String;)V // method@051a │ │ +016fce: 6e10 8d05 0200 |0065: invoke-virtual {v2}, Ljava/lang/String;.getBytes:()[B // method@058d │ │ +016fd4: 0c01 |0068: move-result-object v1 │ │ +016fd6: 6e20 1d05 1000 |0069: invoke-virtual {v0, v1}, Ljava/io/FileOutputStream;.write:([B)V // method@051d │ │ +016fdc: 6e10 1c05 0000 |006c: invoke-virtual {v0}, Ljava/io/FileOutputStream;.flush:()V // method@051c │ │ +016fe2: 6e10 1b05 0000 |006f: invoke-virtual {v0}, Ljava/io/FileOutputStream;.close:()V // method@051b │ │ +016fe8: 280d |0072: goto 007f // +000d │ │ +016fea: 0d00 |0073: move-exception v0 │ │ +016fec: 7100 2507 0000 |0074: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0725 │ │ +016ff2: 0c01 |0077: move-result-object v1 │ │ +016ff4: 6e10 5b05 0000 |0078: invoke-virtual {v0}, Ljava/lang/Exception;.getMessage:()Ljava/lang/String; // method@055b │ │ +016ffa: 0c00 |007b: move-result-object v0 │ │ +016ffc: 7220 3107 0100 |007c: invoke-interface {v1, v0}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0731 │ │ +017002: 1e04 |007f: monitor-exit v4 │ │ +017004: 0e00 |0080: return-void │ │ +017006: 0d00 |0081: move-exception v0 │ │ +017008: 1e04 |0082: monitor-exit v4 │ │ +01700a: 2700 |0083: throw v0 │ │ catches : 3 │ │ 0x0003 - 0x0021 │ │ -> 0x0081 │ │ 0x0021 - 0x0072 │ │ Ljava/lang/Exception; -> 0x0073 │ │ -> 0x0081 │ │ 0x0074 - 0x007f │ │ @@ -11444,61 +11444,61 @@ │ │ type : '()Ljava/lang/String;' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 8 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 86 16-bit code units │ │ -016b30: |[016b30] dnsfilter.android.DNSFilterService$DNSReqForwarder.getALocalIpAddress:()Ljava/lang/String; │ │ -016b40: 7100 8c02 0000 |0000: invoke-static {}, Ldnsfilter/android/DNSFilterService;.access$000:()Z // method@028c │ │ -016b46: 0a00 |0003: move-result v0 │ │ -016b48: 3800 0b00 |0004: if-eqz v0, 000f // +000b │ │ -016b4c: 7100 8d02 0000 |0006: invoke-static {}, Ldnsfilter/android/DNSFilterService;.access$100:()Z // method@028d │ │ -016b52: 0a00 |0009: move-result v0 │ │ -016b54: 3800 0500 |000a: if-eqz v0, 000f // +0005 │ │ -016b58: 1a00 7200 |000c: const-string v0, "127.0.0.1" // string@0072 │ │ -016b5c: 1100 |000e: return-object v0 │ │ -016b5e: 7100 e005 0000 |000f: invoke-static {}, Ljava/net/NetworkInterface;.getNetworkInterfaces:()Ljava/util/Enumeration; // method@05e0 │ │ -016b64: 0c00 |0012: move-result-object v0 │ │ -016b66: 1201 |0013: const/4 v1, #int 0 // #0 │ │ -016b68: 7210 2206 0000 |0014: invoke-interface {v0}, Ljava/util/Enumeration;.hasMoreElements:()Z // method@0622 │ │ -016b6e: 0a02 |0017: move-result v2 │ │ -016b70: 3802 3d00 |0018: if-eqz v2, 0055 // +003d │ │ -016b74: 7210 2306 0000 |001a: invoke-interface {v0}, Ljava/util/Enumeration;.nextElement:()Ljava/lang/Object; // method@0623 │ │ -016b7a: 0c02 |001d: move-result-object v2 │ │ -016b7c: 1f02 3a01 |001e: check-cast v2, Ljava/net/NetworkInterface; // type@013a │ │ -016b80: 6e10 de05 0200 |0020: invoke-virtual {v2}, Ljava/net/NetworkInterface;.getInetAddresses:()Ljava/util/Enumeration; // method@05de │ │ -016b86: 0c03 |0023: move-result-object v3 │ │ -016b88: 7210 2206 0300 |0024: invoke-interface {v3}, Ljava/util/Enumeration;.hasMoreElements:()Z // method@0622 │ │ -016b8e: 0a04 |0027: move-result v4 │ │ -016b90: 3804 ecff |0028: if-eqz v4, 0014 // -0014 │ │ -016b94: 7210 2306 0300 |002a: invoke-interface {v3}, Ljava/util/Enumeration;.nextElement:()Ljava/lang/Object; // method@0623 │ │ -016b9a: 0c04 |002d: move-result-object v4 │ │ -016b9c: 1f04 3701 |002e: check-cast v4, Ljava/net/InetAddress; // type@0137 │ │ -016ba0: 6e10 d705 0400 |0030: invoke-virtual {v4}, Ljava/net/InetAddress;.isLoopbackAddress:()Z // method@05d7 │ │ -016ba6: 0a05 |0033: move-result v5 │ │ -016ba8: 3905 f0ff |0034: if-nez v5, 0024 // -0010 │ │ -016bac: 2045 3501 |0036: instance-of v5, v4, Ljava/net/Inet4Address; // type@0135 │ │ -016bb0: 3805 ecff |0038: if-eqz v5, 0024 // -0014 │ │ -016bb4: 6e10 d405 0400 |003a: invoke-virtual {v4}, Ljava/net/InetAddress;.getHostAddress:()Ljava/lang/String; // method@05d4 │ │ -016bba: 0c04 |003d: move-result-object v4 │ │ -016bbc: 6e10 df05 0200 |003e: invoke-virtual {v2}, Ljava/net/NetworkInterface;.getName:()Ljava/lang/String; // method@05df │ │ -016bc2: 0c05 |0041: move-result-object v5 │ │ -016bc4: 1a06 430b |0042: const-string v6, "tun" // string@0b43 │ │ -016bc8: 6e20 9905 6500 |0044: invoke-virtual {v5, v6}, Ljava/lang/String;.startsWith:(Ljava/lang/String;)Z // method@0599 │ │ -016bce: 0a05 |0047: move-result v5 │ │ -016bd0: 3805 0900 |0048: if-eqz v5, 0051 // +0009 │ │ -016bd4: 6e10 e105 0200 |004a: invoke-virtual {v2}, Ljava/net/NetworkInterface;.isUp:()Z // method@05e1 │ │ -016bda: 0a05 |004d: move-result v5 │ │ -016bdc: 3805 0300 |004e: if-eqz v5, 0051 // +0003 │ │ -016be0: 1104 |0050: return-object v4 │ │ -016be2: 3901 d3ff |0051: if-nez v1, 0024 // -002d │ │ -016be6: 0741 |0053: move-object v1, v4 │ │ -016be8: 28d0 |0054: goto 0024 // -0030 │ │ -016bea: 1101 |0055: return-object v1 │ │ +016b2c: |[016b2c] dnsfilter.android.DNSFilterService$DNSReqForwarder.getALocalIpAddress:()Ljava/lang/String; │ │ +016b3c: 7100 8c02 0000 |0000: invoke-static {}, Ldnsfilter/android/DNSFilterService;.access$000:()Z // method@028c │ │ +016b42: 0a00 |0003: move-result v0 │ │ +016b44: 3800 0b00 |0004: if-eqz v0, 000f // +000b │ │ +016b48: 7100 8d02 0000 |0006: invoke-static {}, Ldnsfilter/android/DNSFilterService;.access$100:()Z // method@028d │ │ +016b4e: 0a00 |0009: move-result v0 │ │ +016b50: 3800 0500 |000a: if-eqz v0, 000f // +0005 │ │ +016b54: 1a00 7200 |000c: const-string v0, "127.0.0.1" // string@0072 │ │ +016b58: 1100 |000e: return-object v0 │ │ +016b5a: 7100 e005 0000 |000f: invoke-static {}, Ljava/net/NetworkInterface;.getNetworkInterfaces:()Ljava/util/Enumeration; // method@05e0 │ │ +016b60: 0c00 |0012: move-result-object v0 │ │ +016b62: 1201 |0013: const/4 v1, #int 0 // #0 │ │ +016b64: 7210 2206 0000 |0014: invoke-interface {v0}, Ljava/util/Enumeration;.hasMoreElements:()Z // method@0622 │ │ +016b6a: 0a02 |0017: move-result v2 │ │ +016b6c: 3802 3d00 |0018: if-eqz v2, 0055 // +003d │ │ +016b70: 7210 2306 0000 |001a: invoke-interface {v0}, Ljava/util/Enumeration;.nextElement:()Ljava/lang/Object; // method@0623 │ │ +016b76: 0c02 |001d: move-result-object v2 │ │ +016b78: 1f02 3a01 |001e: check-cast v2, Ljava/net/NetworkInterface; // type@013a │ │ +016b7c: 6e10 de05 0200 |0020: invoke-virtual {v2}, Ljava/net/NetworkInterface;.getInetAddresses:()Ljava/util/Enumeration; // method@05de │ │ +016b82: 0c03 |0023: move-result-object v3 │ │ +016b84: 7210 2206 0300 |0024: invoke-interface {v3}, Ljava/util/Enumeration;.hasMoreElements:()Z // method@0622 │ │ +016b8a: 0a04 |0027: move-result v4 │ │ +016b8c: 3804 ecff |0028: if-eqz v4, 0014 // -0014 │ │ +016b90: 7210 2306 0300 |002a: invoke-interface {v3}, Ljava/util/Enumeration;.nextElement:()Ljava/lang/Object; // method@0623 │ │ +016b96: 0c04 |002d: move-result-object v4 │ │ +016b98: 1f04 3701 |002e: check-cast v4, Ljava/net/InetAddress; // type@0137 │ │ +016b9c: 6e10 d705 0400 |0030: invoke-virtual {v4}, Ljava/net/InetAddress;.isLoopbackAddress:()Z // method@05d7 │ │ +016ba2: 0a05 |0033: move-result v5 │ │ +016ba4: 3905 f0ff |0034: if-nez v5, 0024 // -0010 │ │ +016ba8: 2045 3501 |0036: instance-of v5, v4, Ljava/net/Inet4Address; // type@0135 │ │ +016bac: 3805 ecff |0038: if-eqz v5, 0024 // -0014 │ │ +016bb0: 6e10 d405 0400 |003a: invoke-virtual {v4}, Ljava/net/InetAddress;.getHostAddress:()Ljava/lang/String; // method@05d4 │ │ +016bb6: 0c04 |003d: move-result-object v4 │ │ +016bb8: 6e10 df05 0200 |003e: invoke-virtual {v2}, Ljava/net/NetworkInterface;.getName:()Ljava/lang/String; // method@05df │ │ +016bbe: 0c05 |0041: move-result-object v5 │ │ +016bc0: 1a06 430b |0042: const-string v6, "tun" // string@0b43 │ │ +016bc4: 6e20 9905 6500 |0044: invoke-virtual {v5, v6}, Ljava/lang/String;.startsWith:(Ljava/lang/String;)Z // method@0599 │ │ +016bca: 0a05 |0047: move-result v5 │ │ +016bcc: 3805 0900 |0048: if-eqz v5, 0051 // +0009 │ │ +016bd0: 6e10 e105 0200 |004a: invoke-virtual {v2}, Ljava/net/NetworkInterface;.isUp:()Z // method@05e1 │ │ +016bd6: 0a05 |004d: move-result v5 │ │ +016bd8: 3805 0300 |004e: if-eqz v5, 0051 // +0003 │ │ +016bdc: 1104 |0050: return-object v4 │ │ +016bde: 3901 d3ff |0051: if-nez v1, 0024 // -002d │ │ +016be2: 0741 |0053: move-object v1, v4 │ │ +016be4: 28d0 |0054: goto 0024 // -0030 │ │ +016be6: 1101 |0055: return-object v1 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=124 │ │ 0x000c line=125 │ │ 0x000f line=129 │ │ 0x0014 line=130 │ │ 0x001a line=131 │ │ @@ -11574,42 +11574,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 │ │ -017034: |[017034] dnsfilter.android.DNSFilterService$VPNRunner.:(Ldnsfilter/android/DNSFilterService;ILandroid/os/ParcelFileDescriptor;Z)V │ │ -017044: 5b01 b300 |0000: iput-object v1, v0, Ldnsfilter/android/DNSFilterService$VPNRunner;.this$0:Ldnsfilter/android/DNSFilterService; // field@00b3 │ │ -017048: 7010 7305 0000 |0002: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@0573 │ │ -01704e: 1201 |0005: const/4 v1, #int 0 // #0 │ │ -017050: 5b01 b000 |0006: iput-object v1, v0, Ldnsfilter/android/DNSFilterService$VPNRunner;.in:Ljava/io/FileInputStream; // field@00b0 │ │ -017054: 5b01 b100 |0008: iput-object v1, v0, Ldnsfilter/android/DNSFilterService$VPNRunner;.out:Ljava/io/FileOutputStream; // field@00b1 │ │ -017058: 5b01 b400 |000a: iput-object v1, v0, Ldnsfilter/android/DNSFilterService$VPNRunner;.thread:Ljava/lang/Thread; // field@00b4 │ │ -01705c: 1201 |000c: const/4 v1, #int 0 // #0 │ │ -01705e: 5c01 b200 |000d: iput-boolean v1, v0, Ldnsfilter/android/DNSFilterService$VPNRunner;.stopped:Z // field@00b2 │ │ -017062: 5c04 ae00 |000f: iput-boolean v4, v0, Ldnsfilter/android/DNSFilterService$VPNRunner;.explicitOperation:Z // field@00ae │ │ -017066: 5902 af00 |0011: iput v2, v0, Ldnsfilter/android/DNSFilterService$VPNRunner;.id:I // field@00af │ │ -01706a: 5b03 b500 |0013: iput-object v3, v0, Ldnsfilter/android/DNSFilterService$VPNRunner;.vpnInterface:Landroid/os/ParcelFileDescriptor; // field@00b5 │ │ -01706e: 2201 fd00 |0015: new-instance v1, Ljava/io/FileInputStream; // type@00fd │ │ -017072: 6e10 8800 0300 |0017: invoke-virtual {v3}, Landroid/os/ParcelFileDescriptor;.getFileDescriptor:()Ljava/io/FileDescriptor; // method@0088 │ │ -017078: 0c02 |001a: move-result-object v2 │ │ -01707a: 7020 1205 2100 |001b: invoke-direct {v1, v2}, Ljava/io/FileInputStream;.:(Ljava/io/FileDescriptor;)V // method@0512 │ │ -017080: 5b01 b000 |001e: iput-object v1, v0, Ldnsfilter/android/DNSFilterService$VPNRunner;.in:Ljava/io/FileInputStream; // field@00b0 │ │ -017084: 2201 ff00 |0020: new-instance v1, Ljava/io/FileOutputStream; // type@00ff │ │ -017088: 6e10 8800 0300 |0022: invoke-virtual {v3}, Landroid/os/ParcelFileDescriptor;.getFileDescriptor:()Ljava/io/FileDescriptor; // method@0088 │ │ -01708e: 0c02 |0025: move-result-object v2 │ │ -017090: 7020 1905 2100 |0026: invoke-direct {v1, v2}, Ljava/io/FileOutputStream;.:(Ljava/io/FileDescriptor;)V // method@0519 │ │ -017096: 5b01 b100 |0029: iput-object v1, v0, Ldnsfilter/android/DNSFilterService$VPNRunner;.out:Ljava/io/FileOutputStream; // field@00b1 │ │ -01709a: 3804 0b00 |002b: if-eqz v4, 0036 // +000b │ │ -01709e: 7100 2507 0000 |002d: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0725 │ │ -0170a4: 0c01 |0030: move-result-object v1 │ │ -0170a6: 1a02 cb04 |0031: const-string v2, "VPN connected!" // string@04cb │ │ -0170aa: 7220 3107 2100 |0033: invoke-interface {v1, v2}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0731 │ │ -0170b0: 0e00 |0036: return-void │ │ +017030: |[017030] dnsfilter.android.DNSFilterService$VPNRunner.:(Ldnsfilter/android/DNSFilterService;ILandroid/os/ParcelFileDescriptor;Z)V │ │ +017040: 5b01 b300 |0000: iput-object v1, v0, Ldnsfilter/android/DNSFilterService$VPNRunner;.this$0:Ldnsfilter/android/DNSFilterService; // field@00b3 │ │ +017044: 7010 7305 0000 |0002: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@0573 │ │ +01704a: 1201 |0005: const/4 v1, #int 0 // #0 │ │ +01704c: 5b01 b000 |0006: iput-object v1, v0, Ldnsfilter/android/DNSFilterService$VPNRunner;.in:Ljava/io/FileInputStream; // field@00b0 │ │ +017050: 5b01 b100 |0008: iput-object v1, v0, Ldnsfilter/android/DNSFilterService$VPNRunner;.out:Ljava/io/FileOutputStream; // field@00b1 │ │ +017054: 5b01 b400 |000a: iput-object v1, v0, Ldnsfilter/android/DNSFilterService$VPNRunner;.thread:Ljava/lang/Thread; // field@00b4 │ │ +017058: 1201 |000c: const/4 v1, #int 0 // #0 │ │ +01705a: 5c01 b200 |000d: iput-boolean v1, v0, Ldnsfilter/android/DNSFilterService$VPNRunner;.stopped:Z // field@00b2 │ │ +01705e: 5c04 ae00 |000f: iput-boolean v4, v0, Ldnsfilter/android/DNSFilterService$VPNRunner;.explicitOperation:Z // field@00ae │ │ +017062: 5902 af00 |0011: iput v2, v0, Ldnsfilter/android/DNSFilterService$VPNRunner;.id:I // field@00af │ │ +017066: 5b03 b500 |0013: iput-object v3, v0, Ldnsfilter/android/DNSFilterService$VPNRunner;.vpnInterface:Landroid/os/ParcelFileDescriptor; // field@00b5 │ │ +01706a: 2201 fd00 |0015: new-instance v1, Ljava/io/FileInputStream; // type@00fd │ │ +01706e: 6e10 8800 0300 |0017: invoke-virtual {v3}, Landroid/os/ParcelFileDescriptor;.getFileDescriptor:()Ljava/io/FileDescriptor; // method@0088 │ │ +017074: 0c02 |001a: move-result-object v2 │ │ +017076: 7020 1205 2100 |001b: invoke-direct {v1, v2}, Ljava/io/FileInputStream;.:(Ljava/io/FileDescriptor;)V // method@0512 │ │ +01707c: 5b01 b000 |001e: iput-object v1, v0, Ldnsfilter/android/DNSFilterService$VPNRunner;.in:Ljava/io/FileInputStream; // field@00b0 │ │ +017080: 2201 ff00 |0020: new-instance v1, Ljava/io/FileOutputStream; // type@00ff │ │ +017084: 6e10 8800 0300 |0022: invoke-virtual {v3}, Landroid/os/ParcelFileDescriptor;.getFileDescriptor:()Ljava/io/FileDescriptor; // method@0088 │ │ +01708a: 0c02 |0025: move-result-object v2 │ │ +01708c: 7020 1905 2100 |0026: invoke-direct {v1, v2}, Ljava/io/FileOutputStream;.:(Ljava/io/FileDescriptor;)V // method@0519 │ │ +017092: 5b01 b100 |0029: iput-object v1, v0, Ldnsfilter/android/DNSFilterService$VPNRunner;.out:Ljava/io/FileOutputStream; // field@00b1 │ │ +017096: 3804 0b00 |002b: if-eqz v4, 0036 // +000b │ │ +01709a: 7100 2507 0000 |002d: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0725 │ │ +0170a0: 0c01 |0030: move-result-object v1 │ │ +0170a2: 1a02 cb04 |0031: const-string v2, "VPN connected!" // string@04cb │ │ +0170a6: 7220 3107 2100 |0033: invoke-interface {v1, v2}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0731 │ │ +0170ac: 0e00 |0036: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=268 │ │ 0x0006 line=260 │ │ 0x0008 line=261 │ │ 0x000a line=262 │ │ 0x000d line=263 │ │ @@ -11631,17 +11631,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 │ │ -0170b4: |[0170b4] dnsfilter.android.DNSFilterService$VPNRunner.:(Ldnsfilter/android/DNSFilterService;ILandroid/os/ParcelFileDescriptor;ZLdnsfilter/android/DNSFilterService$1;)V │ │ -0170c4: 7054 8502 1032 |0000: invoke-direct {v0, v1, v2, v3, v4}, Ldnsfilter/android/DNSFilterService$VPNRunner;.:(Ldnsfilter/android/DNSFilterService;ILandroid/os/ParcelFileDescriptor;Z)V // method@0285 │ │ -0170ca: 0e00 |0003: return-void │ │ +0170b0: |[0170b0] dnsfilter.android.DNSFilterService$VPNRunner.:(Ldnsfilter/android/DNSFilterService;ILandroid/os/ParcelFileDescriptor;ZLdnsfilter/android/DNSFilterService$1;)V │ │ +0170c0: 7054 8502 1032 |0000: invoke-direct {v0, v1, v2, v3, v4}, Ldnsfilter/android/DNSFilterService$VPNRunner;.:(Ldnsfilter/android/DNSFilterService;ILandroid/os/ParcelFileDescriptor;Z)V // method@0285 │ │ +0170c6: 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 │ │ @@ -11654,17 +11654,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 │ │ -0170cc: |[0170cc] dnsfilter.android.DNSFilterService$VPNRunner.access$900:(Ldnsfilter/android/DNSFilterService$VPNRunner;Z)V │ │ -0170dc: 7020 8902 1000 |0000: invoke-direct {v0, v1}, Ldnsfilter/android/DNSFilterService$VPNRunner;.stop:(Z)V // method@0289 │ │ -0170e2: 0e00 |0003: return-void │ │ +0170c8: |[0170c8] dnsfilter.android.DNSFilterService$VPNRunner.access$900:(Ldnsfilter/android/DNSFilterService$VPNRunner;Z)V │ │ +0170d8: 7020 8902 1000 |0000: invoke-direct {v0, v1}, Ldnsfilter/android/DNSFilterService$VPNRunner;.stop:(Z)V // method@0289 │ │ +0170de: 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 │ │ │ │ @@ -11673,33 +11673,33 @@ │ │ type : '(Z)V' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 3 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 37 16-bit code units │ │ -0175e0: |[0175e0] dnsfilter.android.DNSFilterService$VPNRunner.stop:(Z)V │ │ -0175f0: 1210 |0000: const/4 v0, #int 1 // #1 │ │ -0175f2: 5c10 b200 |0001: iput-boolean v0, v1, Ldnsfilter/android/DNSFilterService$VPNRunner;.stopped:Z // field@00b2 │ │ -0175f6: 5c12 ae00 |0003: iput-boolean v2, v1, Ldnsfilter/android/DNSFilterService$VPNRunner;.explicitOperation:Z // field@00ae │ │ -0175fa: 5412 b000 |0005: iget-object v2, v1, Ldnsfilter/android/DNSFilterService$VPNRunner;.in:Ljava/io/FileInputStream; // field@00b0 │ │ -0175fe: 6e10 1405 0200 |0007: invoke-virtual {v2}, Ljava/io/FileInputStream;.close:()V // method@0514 │ │ -017604: 5412 b100 |000a: iget-object v2, v1, Ldnsfilter/android/DNSFilterService$VPNRunner;.out:Ljava/io/FileOutputStream; // field@00b1 │ │ -017608: 6e10 1b05 0200 |000c: invoke-virtual {v2}, Ljava/io/FileOutputStream;.close:()V // method@051b │ │ -01760e: 5412 b500 |000f: iget-object v2, v1, Ldnsfilter/android/DNSFilterService$VPNRunner;.vpnInterface:Landroid/os/ParcelFileDescriptor; // field@00b5 │ │ -017612: 6e10 8700 0200 |0011: invoke-virtual {v2}, Landroid/os/ParcelFileDescriptor;.close:()V // method@0087 │ │ -017618: 5412 b400 |0014: iget-object v2, v1, Ldnsfilter/android/DNSFilterService$VPNRunner;.thread:Ljava/lang/Thread; // field@00b4 │ │ -01761c: 3802 0e00 |0016: if-eqz v2, 0024 // +000e │ │ -017620: 6e10 b705 0200 |0018: invoke-virtual {v2}, Ljava/lang/Thread;.interrupt:()V // method@05b7 │ │ -017626: 2809 |001b: goto 0024 // +0009 │ │ -017628: 0d02 |001c: move-exception v2 │ │ -01762a: 7100 2507 0000 |001d: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0725 │ │ -017630: 0c00 |0020: move-result-object v0 │ │ -017632: 7220 3007 2000 |0021: invoke-interface {v0, v2}, Lutil/LoggerInterface;.logException:(Ljava/lang/Exception;)V // method@0730 │ │ -017638: 0e00 |0024: return-void │ │ +0175dc: |[0175dc] dnsfilter.android.DNSFilterService$VPNRunner.stop:(Z)V │ │ +0175ec: 1210 |0000: const/4 v0, #int 1 // #1 │ │ +0175ee: 5c10 b200 |0001: iput-boolean v0, v1, Ldnsfilter/android/DNSFilterService$VPNRunner;.stopped:Z // field@00b2 │ │ +0175f2: 5c12 ae00 |0003: iput-boolean v2, v1, Ldnsfilter/android/DNSFilterService$VPNRunner;.explicitOperation:Z // field@00ae │ │ +0175f6: 5412 b000 |0005: iget-object v2, v1, Ldnsfilter/android/DNSFilterService$VPNRunner;.in:Ljava/io/FileInputStream; // field@00b0 │ │ +0175fa: 6e10 1405 0200 |0007: invoke-virtual {v2}, Ljava/io/FileInputStream;.close:()V // method@0514 │ │ +017600: 5412 b100 |000a: iget-object v2, v1, Ldnsfilter/android/DNSFilterService$VPNRunner;.out:Ljava/io/FileOutputStream; // field@00b1 │ │ +017604: 6e10 1b05 0200 |000c: invoke-virtual {v2}, Ljava/io/FileOutputStream;.close:()V // method@051b │ │ +01760a: 5412 b500 |000f: iget-object v2, v1, Ldnsfilter/android/DNSFilterService$VPNRunner;.vpnInterface:Landroid/os/ParcelFileDescriptor; // field@00b5 │ │ +01760e: 6e10 8700 0200 |0011: invoke-virtual {v2}, Landroid/os/ParcelFileDescriptor;.close:()V // method@0087 │ │ +017614: 5412 b400 |0014: iget-object v2, v1, Ldnsfilter/android/DNSFilterService$VPNRunner;.thread:Ljava/lang/Thread; // field@00b4 │ │ +017618: 3802 0e00 |0016: if-eqz v2, 0024 // +000e │ │ +01761c: 6e10 b705 0200 |0018: invoke-virtual {v2}, Ljava/lang/Thread;.interrupt:()V // method@05b7 │ │ +017622: 2809 |001b: goto 0024 // +0009 │ │ +017624: 0d02 |001c: move-exception v2 │ │ +017626: 7100 2507 0000 |001d: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0725 │ │ +01762c: 0c00 |0020: move-result-object v0 │ │ +01762e: 7220 3007 2000 |0021: invoke-interface {v0, v2}, Lutil/LoggerInterface;.logException:(Ljava/lang/Exception;)V // method@0730 │ │ +017634: 0e00 |0024: return-void │ │ catches : 1 │ │ 0x0005 - 0x001b │ │ Ljava/lang/Exception; -> 0x001c │ │ positions : │ │ 0x0001 line=279 │ │ 0x0003 line=280 │ │ 0x0005 line=282 │ │ @@ -11718,294 +11718,294 @@ │ │ type : '()V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 13 │ │ ins : 1 │ │ outs : 4 │ │ insns size : 610 16-bit code units │ │ -0170e4: |[0170e4] dnsfilter.android.DNSFilterService$VPNRunner.run:()V │ │ -0170f4: 55c0 ae00 |0000: iget-boolean v0, v12, Ldnsfilter/android/DNSFilterService$VPNRunner;.explicitOperation:Z // field@00ae │ │ -0170f8: 1a01 cc04 |0002: const-string v1, "VPN runner thread " // string@04cc │ │ -0170fc: 3900 0600 |0004: if-nez v0, 000a // +0006 │ │ -017100: 6300 0f01 |0006: sget-boolean v0, Ldnsfilter/android/DNSProxyActivity;.debug:Z // field@010f │ │ -017104: 3800 1c00 |0008: if-eqz v0, 0024 // +001c │ │ -017108: 7100 2507 0000 |000a: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0725 │ │ -01710e: 0c00 |000d: move-result-object v0 │ │ -017110: 2202 2d01 |000e: new-instance v2, Ljava/lang/StringBuilder; // type@012d │ │ -017114: 7020 a805 1200 |0010: invoke-direct {v2, v1}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05a8 │ │ -01711a: 52c3 af00 |0013: iget v3, v12, Ldnsfilter/android/DNSFilterService$VPNRunner;.id:I // field@00af │ │ -01711e: 6e20 aa05 3200 |0015: invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@05aa │ │ -017124: 1a03 2500 |0018: const-string v3, " started!" // string@0025 │ │ -017128: 6e20 ad05 3200 |001a: invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -01712e: 6e10 af05 0200 |001d: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ -017134: 0c02 |0020: move-result-object v2 │ │ -017136: 7220 3107 2000 |0021: invoke-interface {v0, v2}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0731 │ │ -01713c: 7100 b505 0000 |0024: invoke-static {}, Ljava/lang/Thread;.currentThread:()Ljava/lang/Thread; // method@05b5 │ │ -017142: 0c00 |0027: move-result-object v0 │ │ -017144: 5bc0 b400 |0028: iput-object v0, v12, Ldnsfilter/android/DNSFilterService$VPNRunner;.thread:Ljava/lang/Thread; // field@00b4 │ │ -017148: 7100 9901 0000 |002a: invoke-static {}, Ldnsfilter/DNSFilterManager;.getInstance:()Ldnsfilter/DNSFilterManager; // method@0199 │ │ -01714e: 0c00 |002d: move-result-object v0 │ │ -017150: 6e10 9401 0000 |002e: invoke-virtual {v0}, Ldnsfilter/DNSFilterManager;.getConfig:()Ljava/util/Properties; // method@0194 │ │ -017156: 0c00 |0031: move-result-object v0 │ │ -017158: 1a02 de08 |0032: const-string v2, "maxResolverCount" // string@08de │ │ -01715c: 1a03 6f00 |0034: const-string v3, "100" // string@006f │ │ -017160: 6e30 5506 2003 |0036: invoke-virtual {v0, v2, v3}, Ljava/util/Properties;.getProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@0655 │ │ -017166: 0c00 |0039: move-result-object v0 │ │ -017168: 7110 6505 0000 |003a: invoke-static {v0}, Ljava/lang/Integer;.parseInt:(Ljava/lang/String;)I // method@0565 │ │ -01716e: 0a00 |003d: move-result v0 │ │ -017170: 55c2 b200 |003e: iget-boolean v2, v12, Ldnsfilter/android/DNSFilterService$VPNRunner;.stopped:Z // field@00b2 │ │ -017174: 3902 ff01 |0040: if-nez v2, 023f // +01ff │ │ -017178: 7100 f201 0000 |0042: invoke-static {}, Ldnsfilter/DNSServer;.getBufSize:()I // method@01f2 │ │ -01717e: 0a02 |0045: move-result v2 │ │ -017180: 2322 9d01 |0046: new-array v2, v2, [B // type@019d │ │ -017184: 54c3 b000 |0048: iget-object v3, v12, Ldnsfilter/android/DNSFilterService$VPNRunner;.in:Ljava/io/FileInputStream; // field@00b0 │ │ -017188: 6e20 1505 2300 |004a: invoke-virtual {v3, v2}, Ljava/io/FileInputStream;.read:([B)I // method@0515 │ │ -01718e: 0a03 |004d: move-result v3 │ │ -017190: 55c4 b200 |004e: iget-boolean v4, v12, Ldnsfilter/android/DNSFilterService$VPNRunner;.stopped:Z // field@00b2 │ │ -017194: 3804 0400 |0050: if-eqz v4, 0054 // +0004 │ │ -017198: 2900 ed01 |0052: goto/16 023f // +01ed │ │ -01719c: 7100 d201 0000 |0054: invoke-static {}, Ldnsfilter/DNSResolver;.getResolverCount:()I // method@01d2 │ │ -0171a2: 0a04 |0057: move-result v4 │ │ -0171a4: 1215 |0058: const/4 v5, #int 1 // #1 │ │ -0171a6: 1206 |0059: const/4 v6, #int 0 // #0 │ │ -0171a8: 3704 1c00 |005a: if-le v4, v0, 0076 // +001c │ │ -0171ac: 7100 2507 0000 |005c: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0725 │ │ -0171b2: 0c04 |005f: move-result-object v4 │ │ -0171b4: 2207 2d01 |0060: new-instance v7, Ljava/lang/StringBuilder; // type@012d │ │ -0171b8: 7010 a705 0700 |0062: invoke-direct {v7}, Ljava/lang/StringBuilder;.:()V // method@05a7 │ │ -0171be: 1a08 d603 |0065: const-string v8, "Max resolver count reached: " // string@03d6 │ │ -0171c2: 6e20 ad05 8700 |0067: invoke-virtual {v7, v8}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -0171c8: 6e20 aa05 0700 |006a: invoke-virtual {v7, v0}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@05aa │ │ -0171ce: 6e10 af05 0700 |006d: invoke-virtual {v7}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ -0171d4: 0c07 |0070: move-result-object v7 │ │ -0171d6: 7220 3207 7400 |0071: invoke-interface {v4, v7}, Lutil/LoggerInterface;.message:(Ljava/lang/String;)V // method@0732 │ │ -0171dc: 1214 |0074: const/4 v4, #int 1 // #1 │ │ -0171de: 2802 |0075: goto 0077 // +0002 │ │ -0171e0: 1204 |0076: const/4 v4, #int 0 // #0 │ │ -0171e2: 3d03 a401 |0077: if-lez v3, 021b // +01a4 │ │ -0171e6: 2207 f000 |0079: new-instance v7, Lip/IPPacket; // type@00f0 │ │ -0171ea: 7040 aa04 2736 |007b: invoke-direct {v7, v2, v6, v3}, Lip/IPPacket;.:([BII)V // method@04aa │ │ -0171f0: 6e10 b904 0700 |007e: invoke-virtual {v7}, Lip/IPPacket;.getVersion:()I // method@04b9 │ │ -0171f6: 0a08 |0081: move-result v8 │ │ -0171f8: 1269 |0082: const/4 v9, #int 6 // #6 │ │ -0171fa: 3398 0b01 |0083: if-ne v8, v9, 018e // +010b │ │ -0171fe: 6308 0f01 |0085: sget-boolean v8, Ldnsfilter/android/DNSProxyActivity;.debug:Z // field@010f │ │ -017202: 3808 0701 |0087: if-eqz v8, 018e // +0107 │ │ -017206: 7100 2507 0000 |0089: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0725 │ │ -01720c: 0c08 |008c: move-result-object v8 │ │ -01720e: 2209 2d01 |008d: new-instance v9, Ljava/lang/StringBuilder; // type@012d │ │ -017212: 7010 a705 0900 |008f: invoke-direct {v9}, Ljava/lang/StringBuilder;.:()V // method@05a7 │ │ -017218: 1a0a 2f00 |0092: const-string v10, "!!!IPV6 packet!!! Protocol:" // string@002f │ │ -01721c: 6e20 ad05 a900 |0094: invoke-virtual {v9, v10}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -017222: 6e10 b604 0700 |0097: invoke-virtual {v7}, Lip/IPPacket;.getProt:()I // method@04b6 │ │ -017228: 0a0a |009a: move-result v10 │ │ -01722a: 6e20 aa05 a900 |009b: invoke-virtual {v9, v10}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@05aa │ │ -017230: 6e10 af05 0900 |009e: invoke-virtual {v9}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ -017236: 0c09 |00a1: move-result-object v9 │ │ -017238: 7220 3107 9800 |00a2: invoke-interface {v8, v9}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0731 │ │ -01723e: 7100 2507 0000 |00a5: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0725 │ │ -017244: 0c08 |00a8: move-result-object v8 │ │ -017246: 2209 2d01 |00a9: new-instance v9, Ljava/lang/StringBuilder; // type@012d │ │ -01724a: 7010 a705 0900 |00ab: invoke-direct {v9}, Ljava/lang/StringBuilder;.:()V // method@05a7 │ │ -017250: 1a0a 5f04 |00ae: const-string v10, "SourceAddress:" // string@045f │ │ -017254: 6e20 ad05 a900 |00b0: invoke-virtual {v9, v10}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -01725a: 6e10 b704 0700 |00b3: invoke-virtual {v7}, Lip/IPPacket;.getSourceIP:()[I // method@04b7 │ │ -017260: 0c0a |00b6: move-result-object v10 │ │ -017262: 7110 bc04 0a00 |00b7: invoke-static {v10}, Lip/IPPacket;.int2ip:([I)Ljava/net/InetAddress; // method@04bc │ │ -017268: 0c0a |00ba: move-result-object v10 │ │ -01726a: 6e20 ac05 a900 |00bb: invoke-virtual {v9, v10}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@05ac │ │ -017270: 6e10 af05 0900 |00be: invoke-virtual {v9}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ -017276: 0c09 |00c1: move-result-object v9 │ │ -017278: 7220 3107 9800 |00c2: invoke-interface {v8, v9}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0731 │ │ -01727e: 7100 2507 0000 |00c5: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0725 │ │ -017284: 0c08 |00c8: move-result-object v8 │ │ -017286: 2209 2d01 |00c9: new-instance v9, Ljava/lang/StringBuilder; // type@012d │ │ -01728a: 7010 a705 0900 |00cb: invoke-direct {v9}, Ljava/lang/StringBuilder;.:()V // method@05a7 │ │ -017290: 1a0a 6501 |00ce: const-string v10, "DestAddress:" // string@0165 │ │ -017294: 6e20 ad05 a900 |00d0: invoke-virtual {v9, v10}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -01729a: 6e10 b204 0700 |00d3: invoke-virtual {v7}, Lip/IPPacket;.getDestIP:()[I // method@04b2 │ │ -0172a0: 0c0a |00d6: move-result-object v10 │ │ -0172a2: 7110 bc04 0a00 |00d7: invoke-static {v10}, Lip/IPPacket;.int2ip:([I)Ljava/net/InetAddress; // method@04bc │ │ -0172a8: 0c0a |00da: move-result-object v10 │ │ -0172aa: 6e20 ac05 a900 |00db: invoke-virtual {v9, v10}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@05ac │ │ -0172b0: 6e10 af05 0900 |00de: invoke-virtual {v9}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ -0172b6: 0c09 |00e1: move-result-object v9 │ │ -0172b8: 7220 3107 9800 |00e2: invoke-interface {v8, v9}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0731 │ │ -0172be: 7100 2507 0000 |00e5: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0725 │ │ -0172c4: 0c08 |00e8: move-result-object v8 │ │ -0172c6: 2209 2d01 |00e9: new-instance v9, Ljava/lang/StringBuilder; // type@012d │ │ -0172ca: 7010 a705 0900 |00eb: invoke-direct {v9}, Ljava/lang/StringBuilder;.:()V // method@05a7 │ │ -0172d0: 1a0a 7204 |00ee: const-string v10, "TTL:" // string@0472 │ │ -0172d4: 6e20 ad05 a900 |00f0: invoke-virtual {v9, v10}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -0172da: 6e10 b804 0700 |00f3: invoke-virtual {v7}, Lip/IPPacket;.getTTL:()I // method@04b8 │ │ -0172e0: 0a0a |00f6: move-result v10 │ │ -0172e2: 6e20 aa05 a900 |00f7: invoke-virtual {v9, v10}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@05aa │ │ -0172e8: 6e10 af05 0900 |00fa: invoke-virtual {v9}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ -0172ee: 0c09 |00fd: move-result-object v9 │ │ -0172f0: 7220 3107 9800 |00fe: invoke-interface {v8, v9}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0731 │ │ -0172f6: 7100 2507 0000 |0101: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0725 │ │ -0172fc: 0c08 |0104: move-result-object v8 │ │ -0172fe: 2209 2d01 |0105: new-instance v9, Ljava/lang/StringBuilder; // type@012d │ │ -017302: 7010 a705 0900 |0107: invoke-direct {v9}, Ljava/lang/StringBuilder;.:()V // method@05a7 │ │ -017308: 1a0a 1603 |010a: const-string v10, "Length:" // string@0316 │ │ -01730c: 6e20 ad05 a900 |010c: invoke-virtual {v9, v10}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -017312: 6e10 b404 0700 |010f: invoke-virtual {v7}, Lip/IPPacket;.getLength:()I // method@04b4 │ │ -017318: 0a0a |0112: move-result v10 │ │ -01731a: 6e20 aa05 a900 |0113: invoke-virtual {v9, v10}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@05aa │ │ -017320: 6e10 af05 0900 |0116: invoke-virtual {v9}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ -017326: 0c09 |0119: move-result-object v9 │ │ -017328: 7220 3107 9800 |011a: invoke-interface {v8, v9}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0731 │ │ -01732e: 6e10 b604 0700 |011d: invoke-virtual {v7}, Lip/IPPacket;.getProt:()I // method@04b6 │ │ -017334: 0a08 |0120: move-result v8 │ │ -017336: 3908 6d00 |0121: if-nez v8, 018e // +006d │ │ -01733a: 7100 2507 0000 |0123: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0725 │ │ -017340: 0c08 |0126: move-result-object v8 │ │ -017342: 1a09 b601 |0127: const-string v9, "Hopp by hopp header" // string@01b6 │ │ -017346: 7220 3107 9800 |0129: invoke-interface {v8, v9}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0731 │ │ -01734c: 7100 2507 0000 |012c: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0725 │ │ -017352: 0c08 |012f: move-result-object v8 │ │ -017354: 2209 2d01 |0130: new-instance v9, Ljava/lang/StringBuilder; // type@012d │ │ -017358: 7010 a705 0900 |0132: invoke-direct {v9}, Ljava/lang/StringBuilder;.:()V // method@05a7 │ │ -01735e: 1a0a ed03 |0135: const-string v10, "NextHeader:" // string@03ed │ │ -017362: 6e20 ad05 a900 |0137: invoke-virtual {v9, v10}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -017368: 130a 2800 |013a: const/16 v10, #int 40 // #28 │ │ -01736c: 480b 020a |013c: aget-byte v11, v2, v10 │ │ -017370: d5bb ff00 |013e: and-int/lit16 v11, v11, #int 255 // #00ff │ │ -017374: 6e20 aa05 b900 |0140: invoke-virtual {v9, v11}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@05aa │ │ -01737a: 6e10 af05 0900 |0143: invoke-virtual {v9}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ -017380: 0c09 |0146: move-result-object v9 │ │ -017382: 7220 3107 9800 |0147: invoke-interface {v8, v9}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0731 │ │ -017388: 7100 2507 0000 |014a: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0725 │ │ -01738e: 0c08 |014d: move-result-object v8 │ │ -017390: 2209 2d01 |014e: new-instance v9, Ljava/lang/StringBuilder; // type@012d │ │ -017394: 7010 a705 0900 |0150: invoke-direct {v9}, Ljava/lang/StringBuilder;.:()V // method@05a7 │ │ -01739a: 1a0b b201 |0153: const-string v11, "Hdr Ext Len:" // string@01b2 │ │ -01739e: 6e20 ad05 b900 |0155: invoke-virtual {v9, v11}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -0173a4: 130b 2900 |0158: const/16 v11, #int 41 // #29 │ │ -0173a8: 480b 020b |015a: aget-byte v11, v2, v11 │ │ -0173ac: d5bb ff00 |015c: and-int/lit16 v11, v11, #int 255 // #00ff │ │ -0173b0: 6e20 aa05 b900 |015e: invoke-virtual {v9, v11}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@05aa │ │ -0173b6: 6e10 af05 0900 |0161: invoke-virtual {v9}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ -0173bc: 0c09 |0164: move-result-object v9 │ │ -0173be: 7220 3107 9800 |0165: invoke-interface {v8, v9}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0731 │ │ -0173c4: 4808 020a |0168: aget-byte v8, v2, v10 │ │ -0173c8: d588 ff00 |016a: and-int/lit16 v8, v8, #int 255 // #00ff │ │ -0173cc: 1309 3a00 |016c: const/16 v9, #int 58 // #3a │ │ -0173d0: 3398 2000 |016e: if-ne v8, v9, 018e // +0020 │ │ -0173d4: 7100 2507 0000 |0170: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0725 │ │ -0173da: 0c08 |0173: move-result-object v8 │ │ -0173dc: 2209 2d01 |0174: new-instance v9, Ljava/lang/StringBuilder; // type@012d │ │ -0173e0: 7010 a705 0900 |0176: invoke-direct {v9}, Ljava/lang/StringBuilder;.:()V // method@05a7 │ │ -0173e6: 1a0a 2304 |0179: const-string v10, "Received ICMP IPV6 packet type:" // string@0423 │ │ -0173ea: 6e20 ad05 a900 |017b: invoke-virtual {v9, v10}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -0173f0: 130a 3000 |017e: const/16 v10, #int 48 // #30 │ │ -0173f4: 480a 020a |0180: aget-byte v10, v2, v10 │ │ -0173f8: d5aa ff00 |0182: and-int/lit16 v10, v10, #int 255 // #00ff │ │ -0173fc: 6e20 aa05 a900 |0184: invoke-virtual {v9, v10}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@05aa │ │ -017402: 6e10 af05 0900 |0187: invoke-virtual {v9}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ -017408: 0c09 |018a: move-result-object v9 │ │ -01740a: 7220 3107 9800 |018b: invoke-interface {v8, v9}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0731 │ │ -017410: 6e10 ac04 0700 |018e: invoke-virtual {v7}, Lip/IPPacket;.checkCheckSum:()I // method@04ac │ │ -017416: 0a08 |0191: move-result v8 │ │ -017418: 3908 5800 |0192: if-nez v8, 01ea // +0058 │ │ -01741c: 6e10 b604 0700 |0194: invoke-virtual {v7}, Lip/IPPacket;.getProt:()I // method@04b6 │ │ -017422: 0a08 |0197: move-result v8 │ │ -017424: 3358 2400 |0198: if-ne v8, v5, 01bc // +0024 │ │ -017428: 6305 0f01 |019a: sget-boolean v5, Ldnsfilter/android/DNSProxyActivity;.debug:Z // field@010f │ │ -01742c: 3805 2000 |019c: if-eqz v5, 01bc // +0020 │ │ -017430: 7100 2507 0000 |019e: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0725 │ │ -017436: 0c05 |01a1: move-result-object v5 │ │ -017438: 2208 2d01 |01a2: new-instance v8, Ljava/lang/StringBuilder; // type@012d │ │ -01743c: 7010 a705 0800 |01a4: invoke-direct {v8}, Ljava/lang/StringBuilder;.:()V // method@05a7 │ │ -017442: 1a09 2404 |01a7: const-string v9, "Received ICMP packet type:" // string@0424 │ │ -017446: 6e20 ad05 9800 |01a9: invoke-virtual {v8, v9}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -01744c: 1309 1400 |01ac: const/16 v9, #int 20 // #14 │ │ -017450: 4809 0209 |01ae: aget-byte v9, v2, v9 │ │ -017454: d599 ff00 |01b0: and-int/lit16 v9, v9, #int 255 // #00ff │ │ -017458: 6e20 aa05 9800 |01b2: invoke-virtual {v8, v9}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@05aa │ │ -01745e: 6e10 af05 0800 |01b5: invoke-virtual {v8}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ -017464: 0c08 |01b8: move-result-object v8 │ │ -017466: 7220 3107 8500 |01b9: invoke-interface {v5, v8}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0731 │ │ -01746c: 6e10 b604 0700 |01bc: invoke-virtual {v7}, Lip/IPPacket;.getProt:()I // method@04b6 │ │ -017472: 0a05 |01bf: move-result v5 │ │ -017474: 1307 1100 |01c0: const/16 v7, #int 17 // #11 │ │ -017478: 3375 7cfe |01c2: if-ne v5, v7, 003e // -0184 │ │ -01747c: 2205 f100 |01c4: new-instance v5, Lip/UDPPacket; // type@00f1 │ │ -017480: 7040 bf04 2536 |01c6: invoke-direct {v5, v2, v6, v3}, Lip/UDPPacket;.:([BII)V // method@04bf │ │ -017486: 6e10 c104 0500 |01c9: invoke-virtual {v5}, Lip/UDPPacket;.checkCheckSum:()I // method@04c1 │ │ -01748c: 0a02 |01cc: move-result v2 │ │ -01748e: 3902 1500 |01cd: if-nez v2, 01e2 // +0015 │ │ -017492: 3904 6ffe |01cf: if-nez v4, 003e // -0191 │ │ -017496: 2202 2f01 |01d1: new-instance v2, Ljava/lang/Thread; // type@012f │ │ -01749a: 2203 8e00 |01d3: new-instance v3, Ldnsfilter/DNSResolver; // type@008e │ │ -01749e: 54c4 b100 |01d5: iget-object v4, v12, Ldnsfilter/android/DNSFilterService$VPNRunner;.out:Ljava/io/FileOutputStream; // field@00b1 │ │ -0174a2: 7030 d001 5304 |01d7: invoke-direct {v3, v5, v4}, Ldnsfilter/DNSResolver;.:(Lip/UDPPacket;Ljava/io/OutputStream;)V // method@01d0 │ │ -0174a8: 7020 b405 3200 |01da: invoke-direct {v2, v3}, Ljava/lang/Thread;.:(Ljava/lang/Runnable;)V // method@05b4 │ │ -0174ae: 6e10 ba05 0200 |01dd: invoke-virtual {v2}, Ljava/lang/Thread;.start:()V // method@05ba │ │ -0174b4: 2900 5efe |01e0: goto/16 003e // -01a2 │ │ -0174b8: 2202 0001 |01e2: new-instance v2, Ljava/io/IOException; // type@0100 │ │ -0174bc: 1a03 8104 |01e4: const-string v3, "UDP packet checksum error!" // string@0481 │ │ -0174c0: 7020 1f05 3200 |01e6: invoke-direct {v2, v3}, Ljava/io/IOException;.:(Ljava/lang/String;)V // method@051f │ │ -0174c6: 2702 |01e9: throw v2 │ │ -0174c8: 2202 0001 |01ea: new-instance v2, Ljava/io/IOException; // type@0100 │ │ -0174cc: 1a03 d701 |01ec: const-string v3, "IP header checksum error!" // string@01d7 │ │ -0174d0: 7020 1f05 3200 |01ee: invoke-direct {v2, v3}, Ljava/io/IOException;.:(Ljava/lang/String;)V // method@051f │ │ -0174d6: 2702 |01f1: throw v2 │ │ -0174d8: 0d02 |01f2: move-exception v2 │ │ -0174da: 7100 2507 0000 |01f3: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0725 │ │ -0174e0: 0c03 |01f6: move-result-object v3 │ │ -0174e2: 7220 3007 2300 |01f7: invoke-interface {v3, v2}, Lutil/LoggerInterface;.logException:(Ljava/lang/Exception;)V // method@0730 │ │ -0174e8: 2900 44fe |01fa: goto/16 003e // -01bc │ │ -0174ec: 0d02 |01fc: move-exception v2 │ │ -0174ee: 7100 2507 0000 |01fd: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0725 │ │ -0174f4: 0c03 |0200: move-result-object v3 │ │ -0174f6: 2204 2d01 |0201: new-instance v4, Ljava/lang/StringBuilder; // type@012d │ │ -0174fa: 7010 a705 0400 |0203: invoke-direct {v4}, Ljava/lang/StringBuilder;.:()V // method@05a7 │ │ -017500: 1a05 d401 |0206: const-string v5, "IOEXCEPTION: " // string@01d4 │ │ -017504: 6e20 ad05 5400 |0208: invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -01750a: 6e10 2405 0200 |020b: invoke-virtual {v2}, Ljava/io/IOException;.toString:()Ljava/lang/String; // method@0524 │ │ -017510: 0c02 |020e: move-result-object v2 │ │ -017512: 6e20 ad05 2400 |020f: invoke-virtual {v4, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -017518: 6e10 af05 0400 |0212: invoke-virtual {v4}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ -01751e: 0c02 |0215: move-result-object v2 │ │ -017520: 7220 3107 2300 |0216: invoke-interface {v3, v2}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0731 │ │ -017526: 2900 25fe |0219: goto/16 003e // -01db │ │ -01752a: 54c2 b300 |021b: iget-object v2, v12, Ldnsfilter/android/DNSFilterService$VPNRunner;.this$0:Ldnsfilter/android/DNSFilterService; // field@00b3 │ │ -01752e: 7110 9002 0200 |021d: invoke-static {v2}, Ldnsfilter/android/DNSFilterService;.access$400:(Ldnsfilter/android/DNSFilterService;)Z // method@0290 │ │ -017534: 0a02 |0220: move-result v2 │ │ -017536: 3902 1dfe |0221: if-nez v2, 003e // -01e3 │ │ -01753a: 1602 e803 |0223: const-wide/16 v2, #int 1000 // #3e8 │ │ -01753e: 7120 b905 3200 |0225: invoke-static {v2, v3}, Ljava/lang/Thread;.sleep:(J)V // method@05b9 │ │ -017544: 2900 16fe |0228: goto/16 003e // -01ea │ │ -017548: 0d00 |022a: move-exception v0 │ │ -01754a: 55c2 b200 |022b: iget-boolean v2, v12, Ldnsfilter/android/DNSFilterService$VPNRunner;.stopped:Z // field@00b2 │ │ -01754e: 3902 1200 |022d: if-nez v2, 023f // +0012 │ │ -017552: 7100 2507 0000 |022f: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0725 │ │ -017558: 0c02 |0232: move-result-object v2 │ │ -01755a: 1a03 cd04 |0233: const-string v3, "VPN);Runner died!" // string@04cd │ │ -01755e: 7220 3107 3200 |0235: invoke-interface {v2, v3}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0731 │ │ -017564: 7100 2507 0000 |0238: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0725 │ │ -01756a: 0c02 |023b: move-result-object v2 │ │ -01756c: 7220 3007 0200 |023c: invoke-interface {v2, v0}, Lutil/LoggerInterface;.logException:(Ljava/lang/Exception;)V // method@0730 │ │ -017572: 55c0 ae00 |023f: iget-boolean v0, v12, Ldnsfilter/android/DNSFilterService$VPNRunner;.explicitOperation:Z // field@00ae │ │ -017576: 3900 0600 |0241: if-nez v0, 0247 // +0006 │ │ -01757a: 6300 0f01 |0243: sget-boolean v0, Ldnsfilter/android/DNSProxyActivity;.debug:Z // field@010f │ │ -01757e: 3800 1c00 |0245: if-eqz v0, 0261 // +001c │ │ -017582: 7100 2507 0000 |0247: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0725 │ │ -017588: 0c00 |024a: move-result-object v0 │ │ -01758a: 2202 2d01 |024b: new-instance v2, Ljava/lang/StringBuilder; // type@012d │ │ -01758e: 7020 a805 1200 |024d: invoke-direct {v2, v1}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05a8 │ │ -017594: 52c1 af00 |0250: iget v1, v12, Ldnsfilter/android/DNSFilterService$VPNRunner;.id:I // field@00af │ │ -017598: 6e20 aa05 1200 |0252: invoke-virtual {v2, v1}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@05aa │ │ -01759e: 1a01 2700 |0255: const-string v1, " terminated!" // string@0027 │ │ -0175a2: 6e20 ad05 1200 |0257: invoke-virtual {v2, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -0175a8: 6e10 af05 0200 |025a: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ -0175ae: 0c01 |025d: move-result-object v1 │ │ -0175b0: 7220 3107 1000 |025e: invoke-interface {v0, v1}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0731 │ │ -0175b6: 0e00 |0261: return-void │ │ +0170e0: |[0170e0] dnsfilter.android.DNSFilterService$VPNRunner.run:()V │ │ +0170f0: 55c0 ae00 |0000: iget-boolean v0, v12, Ldnsfilter/android/DNSFilterService$VPNRunner;.explicitOperation:Z // field@00ae │ │ +0170f4: 1a01 cc04 |0002: const-string v1, "VPN runner thread " // string@04cc │ │ +0170f8: 3900 0600 |0004: if-nez v0, 000a // +0006 │ │ +0170fc: 6300 0f01 |0006: sget-boolean v0, Ldnsfilter/android/DNSProxyActivity;.debug:Z // field@010f │ │ +017100: 3800 1c00 |0008: if-eqz v0, 0024 // +001c │ │ +017104: 7100 2507 0000 |000a: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0725 │ │ +01710a: 0c00 |000d: move-result-object v0 │ │ +01710c: 2202 2d01 |000e: new-instance v2, Ljava/lang/StringBuilder; // type@012d │ │ +017110: 7020 a805 1200 |0010: invoke-direct {v2, v1}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05a8 │ │ +017116: 52c3 af00 |0013: iget v3, v12, Ldnsfilter/android/DNSFilterService$VPNRunner;.id:I // field@00af │ │ +01711a: 6e20 aa05 3200 |0015: invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@05aa │ │ +017120: 1a03 2500 |0018: const-string v3, " started!" // string@0025 │ │ +017124: 6e20 ad05 3200 |001a: invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +01712a: 6e10 af05 0200 |001d: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ +017130: 0c02 |0020: move-result-object v2 │ │ +017132: 7220 3107 2000 |0021: invoke-interface {v0, v2}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0731 │ │ +017138: 7100 b505 0000 |0024: invoke-static {}, Ljava/lang/Thread;.currentThread:()Ljava/lang/Thread; // method@05b5 │ │ +01713e: 0c00 |0027: move-result-object v0 │ │ +017140: 5bc0 b400 |0028: iput-object v0, v12, Ldnsfilter/android/DNSFilterService$VPNRunner;.thread:Ljava/lang/Thread; // field@00b4 │ │ +017144: 7100 9901 0000 |002a: invoke-static {}, Ldnsfilter/DNSFilterManager;.getInstance:()Ldnsfilter/DNSFilterManager; // method@0199 │ │ +01714a: 0c00 |002d: move-result-object v0 │ │ +01714c: 6e10 9401 0000 |002e: invoke-virtual {v0}, Ldnsfilter/DNSFilterManager;.getConfig:()Ljava/util/Properties; // method@0194 │ │ +017152: 0c00 |0031: move-result-object v0 │ │ +017154: 1a02 de08 |0032: const-string v2, "maxResolverCount" // string@08de │ │ +017158: 1a03 6f00 |0034: const-string v3, "100" // string@006f │ │ +01715c: 6e30 5506 2003 |0036: invoke-virtual {v0, v2, v3}, Ljava/util/Properties;.getProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@0655 │ │ +017162: 0c00 |0039: move-result-object v0 │ │ +017164: 7110 6505 0000 |003a: invoke-static {v0}, Ljava/lang/Integer;.parseInt:(Ljava/lang/String;)I // method@0565 │ │ +01716a: 0a00 |003d: move-result v0 │ │ +01716c: 55c2 b200 |003e: iget-boolean v2, v12, Ldnsfilter/android/DNSFilterService$VPNRunner;.stopped:Z // field@00b2 │ │ +017170: 3902 ff01 |0040: if-nez v2, 023f // +01ff │ │ +017174: 7100 f201 0000 |0042: invoke-static {}, Ldnsfilter/DNSServer;.getBufSize:()I // method@01f2 │ │ +01717a: 0a02 |0045: move-result v2 │ │ +01717c: 2322 9d01 |0046: new-array v2, v2, [B // type@019d │ │ +017180: 54c3 b000 |0048: iget-object v3, v12, Ldnsfilter/android/DNSFilterService$VPNRunner;.in:Ljava/io/FileInputStream; // field@00b0 │ │ +017184: 6e20 1505 2300 |004a: invoke-virtual {v3, v2}, Ljava/io/FileInputStream;.read:([B)I // method@0515 │ │ +01718a: 0a03 |004d: move-result v3 │ │ +01718c: 55c4 b200 |004e: iget-boolean v4, v12, Ldnsfilter/android/DNSFilterService$VPNRunner;.stopped:Z // field@00b2 │ │ +017190: 3804 0400 |0050: if-eqz v4, 0054 // +0004 │ │ +017194: 2900 ed01 |0052: goto/16 023f // +01ed │ │ +017198: 7100 d201 0000 |0054: invoke-static {}, Ldnsfilter/DNSResolver;.getResolverCount:()I // method@01d2 │ │ +01719e: 0a04 |0057: move-result v4 │ │ +0171a0: 1215 |0058: const/4 v5, #int 1 // #1 │ │ +0171a2: 1206 |0059: const/4 v6, #int 0 // #0 │ │ +0171a4: 3704 1c00 |005a: if-le v4, v0, 0076 // +001c │ │ +0171a8: 7100 2507 0000 |005c: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0725 │ │ +0171ae: 0c04 |005f: move-result-object v4 │ │ +0171b0: 2207 2d01 |0060: new-instance v7, Ljava/lang/StringBuilder; // type@012d │ │ +0171b4: 7010 a705 0700 |0062: invoke-direct {v7}, Ljava/lang/StringBuilder;.:()V // method@05a7 │ │ +0171ba: 1a08 d603 |0065: const-string v8, "Max resolver count reached: " // string@03d6 │ │ +0171be: 6e20 ad05 8700 |0067: invoke-virtual {v7, v8}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +0171c4: 6e20 aa05 0700 |006a: invoke-virtual {v7, v0}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@05aa │ │ +0171ca: 6e10 af05 0700 |006d: invoke-virtual {v7}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ +0171d0: 0c07 |0070: move-result-object v7 │ │ +0171d2: 7220 3207 7400 |0071: invoke-interface {v4, v7}, Lutil/LoggerInterface;.message:(Ljava/lang/String;)V // method@0732 │ │ +0171d8: 1214 |0074: const/4 v4, #int 1 // #1 │ │ +0171da: 2802 |0075: goto 0077 // +0002 │ │ +0171dc: 1204 |0076: const/4 v4, #int 0 // #0 │ │ +0171de: 3d03 a401 |0077: if-lez v3, 021b // +01a4 │ │ +0171e2: 2207 f000 |0079: new-instance v7, Lip/IPPacket; // type@00f0 │ │ +0171e6: 7040 aa04 2736 |007b: invoke-direct {v7, v2, v6, v3}, Lip/IPPacket;.:([BII)V // method@04aa │ │ +0171ec: 6e10 b904 0700 |007e: invoke-virtual {v7}, Lip/IPPacket;.getVersion:()I // method@04b9 │ │ +0171f2: 0a08 |0081: move-result v8 │ │ +0171f4: 1269 |0082: const/4 v9, #int 6 // #6 │ │ +0171f6: 3398 0b01 |0083: if-ne v8, v9, 018e // +010b │ │ +0171fa: 6308 0f01 |0085: sget-boolean v8, Ldnsfilter/android/DNSProxyActivity;.debug:Z // field@010f │ │ +0171fe: 3808 0701 |0087: if-eqz v8, 018e // +0107 │ │ +017202: 7100 2507 0000 |0089: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0725 │ │ +017208: 0c08 |008c: move-result-object v8 │ │ +01720a: 2209 2d01 |008d: new-instance v9, Ljava/lang/StringBuilder; // type@012d │ │ +01720e: 7010 a705 0900 |008f: invoke-direct {v9}, Ljava/lang/StringBuilder;.:()V // method@05a7 │ │ +017214: 1a0a 2f00 |0092: const-string v10, "!!!IPV6 packet!!! Protocol:" // string@002f │ │ +017218: 6e20 ad05 a900 |0094: invoke-virtual {v9, v10}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +01721e: 6e10 b604 0700 |0097: invoke-virtual {v7}, Lip/IPPacket;.getProt:()I // method@04b6 │ │ +017224: 0a0a |009a: move-result v10 │ │ +017226: 6e20 aa05 a900 |009b: invoke-virtual {v9, v10}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@05aa │ │ +01722c: 6e10 af05 0900 |009e: invoke-virtual {v9}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ +017232: 0c09 |00a1: move-result-object v9 │ │ +017234: 7220 3107 9800 |00a2: invoke-interface {v8, v9}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0731 │ │ +01723a: 7100 2507 0000 |00a5: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0725 │ │ +017240: 0c08 |00a8: move-result-object v8 │ │ +017242: 2209 2d01 |00a9: new-instance v9, Ljava/lang/StringBuilder; // type@012d │ │ +017246: 7010 a705 0900 |00ab: invoke-direct {v9}, Ljava/lang/StringBuilder;.:()V // method@05a7 │ │ +01724c: 1a0a 5f04 |00ae: const-string v10, "SourceAddress:" // string@045f │ │ +017250: 6e20 ad05 a900 |00b0: invoke-virtual {v9, v10}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +017256: 6e10 b704 0700 |00b3: invoke-virtual {v7}, Lip/IPPacket;.getSourceIP:()[I // method@04b7 │ │ +01725c: 0c0a |00b6: move-result-object v10 │ │ +01725e: 7110 bc04 0a00 |00b7: invoke-static {v10}, Lip/IPPacket;.int2ip:([I)Ljava/net/InetAddress; // method@04bc │ │ +017264: 0c0a |00ba: move-result-object v10 │ │ +017266: 6e20 ac05 a900 |00bb: invoke-virtual {v9, v10}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@05ac │ │ +01726c: 6e10 af05 0900 |00be: invoke-virtual {v9}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ +017272: 0c09 |00c1: move-result-object v9 │ │ +017274: 7220 3107 9800 |00c2: invoke-interface {v8, v9}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0731 │ │ +01727a: 7100 2507 0000 |00c5: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0725 │ │ +017280: 0c08 |00c8: move-result-object v8 │ │ +017282: 2209 2d01 |00c9: new-instance v9, Ljava/lang/StringBuilder; // type@012d │ │ +017286: 7010 a705 0900 |00cb: invoke-direct {v9}, Ljava/lang/StringBuilder;.:()V // method@05a7 │ │ +01728c: 1a0a 6501 |00ce: const-string v10, "DestAddress:" // string@0165 │ │ +017290: 6e20 ad05 a900 |00d0: invoke-virtual {v9, v10}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +017296: 6e10 b204 0700 |00d3: invoke-virtual {v7}, Lip/IPPacket;.getDestIP:()[I // method@04b2 │ │ +01729c: 0c0a |00d6: move-result-object v10 │ │ +01729e: 7110 bc04 0a00 |00d7: invoke-static {v10}, Lip/IPPacket;.int2ip:([I)Ljava/net/InetAddress; // method@04bc │ │ +0172a4: 0c0a |00da: move-result-object v10 │ │ +0172a6: 6e20 ac05 a900 |00db: invoke-virtual {v9, v10}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@05ac │ │ +0172ac: 6e10 af05 0900 |00de: invoke-virtual {v9}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ +0172b2: 0c09 |00e1: move-result-object v9 │ │ +0172b4: 7220 3107 9800 |00e2: invoke-interface {v8, v9}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0731 │ │ +0172ba: 7100 2507 0000 |00e5: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0725 │ │ +0172c0: 0c08 |00e8: move-result-object v8 │ │ +0172c2: 2209 2d01 |00e9: new-instance v9, Ljava/lang/StringBuilder; // type@012d │ │ +0172c6: 7010 a705 0900 |00eb: invoke-direct {v9}, Ljava/lang/StringBuilder;.:()V // method@05a7 │ │ +0172cc: 1a0a 7204 |00ee: const-string v10, "TTL:" // string@0472 │ │ +0172d0: 6e20 ad05 a900 |00f0: invoke-virtual {v9, v10}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +0172d6: 6e10 b804 0700 |00f3: invoke-virtual {v7}, Lip/IPPacket;.getTTL:()I // method@04b8 │ │ +0172dc: 0a0a |00f6: move-result v10 │ │ +0172de: 6e20 aa05 a900 |00f7: invoke-virtual {v9, v10}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@05aa │ │ +0172e4: 6e10 af05 0900 |00fa: invoke-virtual {v9}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ +0172ea: 0c09 |00fd: move-result-object v9 │ │ +0172ec: 7220 3107 9800 |00fe: invoke-interface {v8, v9}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0731 │ │ +0172f2: 7100 2507 0000 |0101: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0725 │ │ +0172f8: 0c08 |0104: move-result-object v8 │ │ +0172fa: 2209 2d01 |0105: new-instance v9, Ljava/lang/StringBuilder; // type@012d │ │ +0172fe: 7010 a705 0900 |0107: invoke-direct {v9}, Ljava/lang/StringBuilder;.:()V // method@05a7 │ │ +017304: 1a0a 1603 |010a: const-string v10, "Length:" // string@0316 │ │ +017308: 6e20 ad05 a900 |010c: invoke-virtual {v9, v10}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +01730e: 6e10 b404 0700 |010f: invoke-virtual {v7}, Lip/IPPacket;.getLength:()I // method@04b4 │ │ +017314: 0a0a |0112: move-result v10 │ │ +017316: 6e20 aa05 a900 |0113: invoke-virtual {v9, v10}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@05aa │ │ +01731c: 6e10 af05 0900 |0116: invoke-virtual {v9}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ +017322: 0c09 |0119: move-result-object v9 │ │ +017324: 7220 3107 9800 |011a: invoke-interface {v8, v9}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0731 │ │ +01732a: 6e10 b604 0700 |011d: invoke-virtual {v7}, Lip/IPPacket;.getProt:()I // method@04b6 │ │ +017330: 0a08 |0120: move-result v8 │ │ +017332: 3908 6d00 |0121: if-nez v8, 018e // +006d │ │ +017336: 7100 2507 0000 |0123: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0725 │ │ +01733c: 0c08 |0126: move-result-object v8 │ │ +01733e: 1a09 b601 |0127: const-string v9, "Hopp by hopp header" // string@01b6 │ │ +017342: 7220 3107 9800 |0129: invoke-interface {v8, v9}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0731 │ │ +017348: 7100 2507 0000 |012c: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0725 │ │ +01734e: 0c08 |012f: move-result-object v8 │ │ +017350: 2209 2d01 |0130: new-instance v9, Ljava/lang/StringBuilder; // type@012d │ │ +017354: 7010 a705 0900 |0132: invoke-direct {v9}, Ljava/lang/StringBuilder;.:()V // method@05a7 │ │ +01735a: 1a0a ed03 |0135: const-string v10, "NextHeader:" // string@03ed │ │ +01735e: 6e20 ad05 a900 |0137: invoke-virtual {v9, v10}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +017364: 130a 2800 |013a: const/16 v10, #int 40 // #28 │ │ +017368: 480b 020a |013c: aget-byte v11, v2, v10 │ │ +01736c: d5bb ff00 |013e: and-int/lit16 v11, v11, #int 255 // #00ff │ │ +017370: 6e20 aa05 b900 |0140: invoke-virtual {v9, v11}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@05aa │ │ +017376: 6e10 af05 0900 |0143: invoke-virtual {v9}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ +01737c: 0c09 |0146: move-result-object v9 │ │ +01737e: 7220 3107 9800 |0147: invoke-interface {v8, v9}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0731 │ │ +017384: 7100 2507 0000 |014a: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0725 │ │ +01738a: 0c08 |014d: move-result-object v8 │ │ +01738c: 2209 2d01 |014e: new-instance v9, Ljava/lang/StringBuilder; // type@012d │ │ +017390: 7010 a705 0900 |0150: invoke-direct {v9}, Ljava/lang/StringBuilder;.:()V // method@05a7 │ │ +017396: 1a0b b201 |0153: const-string v11, "Hdr Ext Len:" // string@01b2 │ │ +01739a: 6e20 ad05 b900 |0155: invoke-virtual {v9, v11}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +0173a0: 130b 2900 |0158: const/16 v11, #int 41 // #29 │ │ +0173a4: 480b 020b |015a: aget-byte v11, v2, v11 │ │ +0173a8: d5bb ff00 |015c: and-int/lit16 v11, v11, #int 255 // #00ff │ │ +0173ac: 6e20 aa05 b900 |015e: invoke-virtual {v9, v11}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@05aa │ │ +0173b2: 6e10 af05 0900 |0161: invoke-virtual {v9}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ +0173b8: 0c09 |0164: move-result-object v9 │ │ +0173ba: 7220 3107 9800 |0165: invoke-interface {v8, v9}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0731 │ │ +0173c0: 4808 020a |0168: aget-byte v8, v2, v10 │ │ +0173c4: d588 ff00 |016a: and-int/lit16 v8, v8, #int 255 // #00ff │ │ +0173c8: 1309 3a00 |016c: const/16 v9, #int 58 // #3a │ │ +0173cc: 3398 2000 |016e: if-ne v8, v9, 018e // +0020 │ │ +0173d0: 7100 2507 0000 |0170: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0725 │ │ +0173d6: 0c08 |0173: move-result-object v8 │ │ +0173d8: 2209 2d01 |0174: new-instance v9, Ljava/lang/StringBuilder; // type@012d │ │ +0173dc: 7010 a705 0900 |0176: invoke-direct {v9}, Ljava/lang/StringBuilder;.:()V // method@05a7 │ │ +0173e2: 1a0a 2304 |0179: const-string v10, "Received ICMP IPV6 packet type:" // string@0423 │ │ +0173e6: 6e20 ad05 a900 |017b: invoke-virtual {v9, v10}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +0173ec: 130a 3000 |017e: const/16 v10, #int 48 // #30 │ │ +0173f0: 480a 020a |0180: aget-byte v10, v2, v10 │ │ +0173f4: d5aa ff00 |0182: and-int/lit16 v10, v10, #int 255 // #00ff │ │ +0173f8: 6e20 aa05 a900 |0184: invoke-virtual {v9, v10}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@05aa │ │ +0173fe: 6e10 af05 0900 |0187: invoke-virtual {v9}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ +017404: 0c09 |018a: move-result-object v9 │ │ +017406: 7220 3107 9800 |018b: invoke-interface {v8, v9}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0731 │ │ +01740c: 6e10 ac04 0700 |018e: invoke-virtual {v7}, Lip/IPPacket;.checkCheckSum:()I // method@04ac │ │ +017412: 0a08 |0191: move-result v8 │ │ +017414: 3908 5800 |0192: if-nez v8, 01ea // +0058 │ │ +017418: 6e10 b604 0700 |0194: invoke-virtual {v7}, Lip/IPPacket;.getProt:()I // method@04b6 │ │ +01741e: 0a08 |0197: move-result v8 │ │ +017420: 3358 2400 |0198: if-ne v8, v5, 01bc // +0024 │ │ +017424: 6305 0f01 |019a: sget-boolean v5, Ldnsfilter/android/DNSProxyActivity;.debug:Z // field@010f │ │ +017428: 3805 2000 |019c: if-eqz v5, 01bc // +0020 │ │ +01742c: 7100 2507 0000 |019e: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0725 │ │ +017432: 0c05 |01a1: move-result-object v5 │ │ +017434: 2208 2d01 |01a2: new-instance v8, Ljava/lang/StringBuilder; // type@012d │ │ +017438: 7010 a705 0800 |01a4: invoke-direct {v8}, Ljava/lang/StringBuilder;.:()V // method@05a7 │ │ +01743e: 1a09 2404 |01a7: const-string v9, "Received ICMP packet type:" // string@0424 │ │ +017442: 6e20 ad05 9800 |01a9: invoke-virtual {v8, v9}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +017448: 1309 1400 |01ac: const/16 v9, #int 20 // #14 │ │ +01744c: 4809 0209 |01ae: aget-byte v9, v2, v9 │ │ +017450: d599 ff00 |01b0: and-int/lit16 v9, v9, #int 255 // #00ff │ │ +017454: 6e20 aa05 9800 |01b2: invoke-virtual {v8, v9}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@05aa │ │ +01745a: 6e10 af05 0800 |01b5: invoke-virtual {v8}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ +017460: 0c08 |01b8: move-result-object v8 │ │ +017462: 7220 3107 8500 |01b9: invoke-interface {v5, v8}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0731 │ │ +017468: 6e10 b604 0700 |01bc: invoke-virtual {v7}, Lip/IPPacket;.getProt:()I // method@04b6 │ │ +01746e: 0a05 |01bf: move-result v5 │ │ +017470: 1307 1100 |01c0: const/16 v7, #int 17 // #11 │ │ +017474: 3375 7cfe |01c2: if-ne v5, v7, 003e // -0184 │ │ +017478: 2205 f100 |01c4: new-instance v5, Lip/UDPPacket; // type@00f1 │ │ +01747c: 7040 bf04 2536 |01c6: invoke-direct {v5, v2, v6, v3}, Lip/UDPPacket;.:([BII)V // method@04bf │ │ +017482: 6e10 c104 0500 |01c9: invoke-virtual {v5}, Lip/UDPPacket;.checkCheckSum:()I // method@04c1 │ │ +017488: 0a02 |01cc: move-result v2 │ │ +01748a: 3902 1500 |01cd: if-nez v2, 01e2 // +0015 │ │ +01748e: 3904 6ffe |01cf: if-nez v4, 003e // -0191 │ │ +017492: 2202 2f01 |01d1: new-instance v2, Ljava/lang/Thread; // type@012f │ │ +017496: 2203 8e00 |01d3: new-instance v3, Ldnsfilter/DNSResolver; // type@008e │ │ +01749a: 54c4 b100 |01d5: iget-object v4, v12, Ldnsfilter/android/DNSFilterService$VPNRunner;.out:Ljava/io/FileOutputStream; // field@00b1 │ │ +01749e: 7030 d001 5304 |01d7: invoke-direct {v3, v5, v4}, Ldnsfilter/DNSResolver;.:(Lip/UDPPacket;Ljava/io/OutputStream;)V // method@01d0 │ │ +0174a4: 7020 b405 3200 |01da: invoke-direct {v2, v3}, Ljava/lang/Thread;.:(Ljava/lang/Runnable;)V // method@05b4 │ │ +0174aa: 6e10 ba05 0200 |01dd: invoke-virtual {v2}, Ljava/lang/Thread;.start:()V // method@05ba │ │ +0174b0: 2900 5efe |01e0: goto/16 003e // -01a2 │ │ +0174b4: 2202 0001 |01e2: new-instance v2, Ljava/io/IOException; // type@0100 │ │ +0174b8: 1a03 8104 |01e4: const-string v3, "UDP packet checksum error!" // string@0481 │ │ +0174bc: 7020 1f05 3200 |01e6: invoke-direct {v2, v3}, Ljava/io/IOException;.:(Ljava/lang/String;)V // method@051f │ │ +0174c2: 2702 |01e9: throw v2 │ │ +0174c4: 2202 0001 |01ea: new-instance v2, Ljava/io/IOException; // type@0100 │ │ +0174c8: 1a03 d701 |01ec: const-string v3, "IP header checksum error!" // string@01d7 │ │ +0174cc: 7020 1f05 3200 |01ee: invoke-direct {v2, v3}, Ljava/io/IOException;.:(Ljava/lang/String;)V // method@051f │ │ +0174d2: 2702 |01f1: throw v2 │ │ +0174d4: 0d02 |01f2: move-exception v2 │ │ +0174d6: 7100 2507 0000 |01f3: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0725 │ │ +0174dc: 0c03 |01f6: move-result-object v3 │ │ +0174de: 7220 3007 2300 |01f7: invoke-interface {v3, v2}, Lutil/LoggerInterface;.logException:(Ljava/lang/Exception;)V // method@0730 │ │ +0174e4: 2900 44fe |01fa: goto/16 003e // -01bc │ │ +0174e8: 0d02 |01fc: move-exception v2 │ │ +0174ea: 7100 2507 0000 |01fd: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0725 │ │ +0174f0: 0c03 |0200: move-result-object v3 │ │ +0174f2: 2204 2d01 |0201: new-instance v4, Ljava/lang/StringBuilder; // type@012d │ │ +0174f6: 7010 a705 0400 |0203: invoke-direct {v4}, Ljava/lang/StringBuilder;.:()V // method@05a7 │ │ +0174fc: 1a05 d401 |0206: const-string v5, "IOEXCEPTION: " // string@01d4 │ │ +017500: 6e20 ad05 5400 |0208: invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +017506: 6e10 2405 0200 |020b: invoke-virtual {v2}, Ljava/io/IOException;.toString:()Ljava/lang/String; // method@0524 │ │ +01750c: 0c02 |020e: move-result-object v2 │ │ +01750e: 6e20 ad05 2400 |020f: invoke-virtual {v4, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +017514: 6e10 af05 0400 |0212: invoke-virtual {v4}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ +01751a: 0c02 |0215: move-result-object v2 │ │ +01751c: 7220 3107 2300 |0216: invoke-interface {v3, v2}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0731 │ │ +017522: 2900 25fe |0219: goto/16 003e // -01db │ │ +017526: 54c2 b300 |021b: iget-object v2, v12, Ldnsfilter/android/DNSFilterService$VPNRunner;.this$0:Ldnsfilter/android/DNSFilterService; // field@00b3 │ │ +01752a: 7110 9002 0200 |021d: invoke-static {v2}, Ldnsfilter/android/DNSFilterService;.access$400:(Ldnsfilter/android/DNSFilterService;)Z // method@0290 │ │ +017530: 0a02 |0220: move-result v2 │ │ +017532: 3902 1dfe |0221: if-nez v2, 003e // -01e3 │ │ +017536: 1602 e803 |0223: const-wide/16 v2, #int 1000 // #3e8 │ │ +01753a: 7120 b905 3200 |0225: invoke-static {v2, v3}, Ljava/lang/Thread;.sleep:(J)V // method@05b9 │ │ +017540: 2900 16fe |0228: goto/16 003e // -01ea │ │ +017544: 0d00 |022a: move-exception v0 │ │ +017546: 55c2 b200 |022b: iget-boolean v2, v12, Ldnsfilter/android/DNSFilterService$VPNRunner;.stopped:Z // field@00b2 │ │ +01754a: 3902 1200 |022d: if-nez v2, 023f // +0012 │ │ +01754e: 7100 2507 0000 |022f: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0725 │ │ +017554: 0c02 |0232: move-result-object v2 │ │ +017556: 1a03 cd04 |0233: const-string v3, "VPN);Runner died!" // string@04cd │ │ +01755a: 7220 3107 3200 |0235: invoke-interface {v2, v3}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0731 │ │ +017560: 7100 2507 0000 |0238: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0725 │ │ +017566: 0c02 |023b: move-result-object v2 │ │ +017568: 7220 3007 0200 |023c: invoke-interface {v2, v0}, Lutil/LoggerInterface;.logException:(Ljava/lang/Exception;)V // method@0730 │ │ +01756e: 55c0 ae00 |023f: iget-boolean v0, v12, Ldnsfilter/android/DNSFilterService$VPNRunner;.explicitOperation:Z // field@00ae │ │ +017572: 3900 0600 |0241: if-nez v0, 0247 // +0006 │ │ +017576: 6300 0f01 |0243: sget-boolean v0, Ldnsfilter/android/DNSProxyActivity;.debug:Z // field@010f │ │ +01757a: 3800 1c00 |0245: if-eqz v0, 0261 // +001c │ │ +01757e: 7100 2507 0000 |0247: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0725 │ │ +017584: 0c00 |024a: move-result-object v0 │ │ +017586: 2202 2d01 |024b: new-instance v2, Ljava/lang/StringBuilder; // type@012d │ │ +01758a: 7020 a805 1200 |024d: invoke-direct {v2, v1}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05a8 │ │ +017590: 52c1 af00 |0250: iget v1, v12, Ldnsfilter/android/DNSFilterService$VPNRunner;.id:I // field@00af │ │ +017594: 6e20 aa05 1200 |0252: invoke-virtual {v2, v1}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@05aa │ │ +01759a: 1a01 2700 |0255: const-string v1, " terminated!" // string@0027 │ │ +01759e: 6e20 ad05 1200 |0257: invoke-virtual {v2, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +0175a4: 6e10 af05 0200 |025a: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ +0175aa: 0c01 |025d: move-result-object v1 │ │ +0175ac: 7220 3107 1000 |025e: invoke-interface {v0, v1}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0731 │ │ +0175b2: 0e00 |0261: return-void │ │ catches : 3 │ │ 0x002a - 0x0074 │ │ Ljava/lang/Exception; -> 0x022a │ │ 0x0079 - 0x01f2 │ │ Ljava/io/IOException; -> 0x01fc │ │ Ljava/lang/Exception; -> 0x01f2 │ │ 0x01f3 - 0x0228 │ │ @@ -12240,23 +12240,23 @@ │ │ type : '()V' │ │ access : 0x10008 (STATIC CONSTRUCTOR) │ │ code - │ │ registers : 1 │ │ ins : 0 │ │ outs : 1 │ │ insns size : 15 16-bit code units │ │ -0185ac: |[0185ac] dnsfilter.android.DNSFilterService.:()V │ │ -0185bc: 2200 a200 |0000: new-instance v0, Ldnsfilter/android/DNSFilterService$DNSReqForwarder; // type@00a2 │ │ -0185c0: 7010 7d02 0000 |0002: invoke-direct {v0}, Ldnsfilter/android/DNSFilterService$DNSReqForwarder;.:()V // method@027d │ │ -0185c6: 6900 c600 |0005: sput-object v0, Ldnsfilter/android/DNSFilterService;.dnsReqForwarder:Ldnsfilter/android/DNSFilterService$DNSReqForwarder; // field@00c6 │ │ -0185ca: 1200 |0007: const/4 v0, #int 0 // #0 │ │ -0185cc: 6700 cf00 |0008: sput v0, Ldnsfilter/android/DNSFilterService;.startCounter:I // field@00cf │ │ -0185d0: 2300 ad01 |000a: new-array v0, v0, [Ljava/lang/String; // type@01ad │ │ -0185d4: 6900 c800 |000c: sput-object v0, Ldnsfilter/android/DNSFilterService;.lastDNSServers:[Ljava/lang/String; // field@00c8 │ │ -0185d8: 0e00 |000e: return-void │ │ +0185a8: |[0185a8] dnsfilter.android.DNSFilterService.:()V │ │ +0185b8: 2200 a200 |0000: new-instance v0, Ldnsfilter/android/DNSFilterService$DNSReqForwarder; // type@00a2 │ │ +0185bc: 7010 7d02 0000 |0002: invoke-direct {v0}, Ldnsfilter/android/DNSFilterService$DNSReqForwarder;.:()V // method@027d │ │ +0185c2: 6900 c600 |0005: sput-object v0, Ldnsfilter/android/DNSFilterService;.dnsReqForwarder:Ldnsfilter/android/DNSFilterService$DNSReqForwarder; // field@00c6 │ │ +0185c6: 1200 |0007: const/4 v0, #int 0 // #0 │ │ +0185c8: 6700 cf00 |0008: sput v0, Ldnsfilter/android/DNSFilterService;.startCounter:I // field@00cf │ │ +0185cc: 2300 ad01 |000a: new-array v0, v0, [Ljava/lang/String; // type@01ad │ │ +0185d0: 6900 c800 |000c: sput-object v0, Ldnsfilter/android/DNSFilterService;.lastDNSServers:[Ljava/lang/String; // field@00c8 │ │ +0185d4: 0e00 |000e: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=100 │ │ 0x0008 line=102 │ │ 0x000a line=480 │ │ locals : │ │ │ │ @@ -12265,23 +12265,23 @@ │ │ type : '()V' │ │ access : 0x10001 (PUBLIC CONSTRUCTOR) │ │ code - │ │ registers : 3 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 14 16-bit code units │ │ -0185dc: |[0185dc] dnsfilter.android.DNSFilterService.:()V │ │ -0185ec: 7010 7700 0200 |0000: invoke-direct {v2}, Landroid/net/VpnService;.:()V // method@0077 │ │ -0185f2: 1200 |0003: const/4 v0, #int 0 // #0 │ │ -0185f4: 5c20 c100 |0004: iput-boolean v0, v2, Ldnsfilter/android/DNSFilterService;.blocking:Z // field@00c1 │ │ -0185f8: 1201 |0006: const/4 v1, #int 0 // #0 │ │ -0185fa: 5b21 d100 |0007: iput-object v1, v2, Ldnsfilter/android/DNSFilterService;.vpnRunner:Ldnsfilter/android/DNSFilterService$VPNRunner; // field@00d1 │ │ -0185fe: 5c20 c900 |0009: iput-boolean v0, v2, Ldnsfilter/android/DNSFilterService;.manageDNSCryptProxy:Z // field@00c9 │ │ -018602: 5c20 c200 |000b: iput-boolean v0, v2, Ldnsfilter/android/DNSFilterService;.dnsCryptProxyStartTriggered:Z // field@00c2 │ │ -018606: 0e00 |000d: return-void │ │ +0185d8: |[0185d8] dnsfilter.android.DNSFilterService.:()V │ │ +0185e8: 7010 7700 0200 |0000: invoke-direct {v2}, Landroid/net/VpnService;.:()V // method@0077 │ │ +0185ee: 1200 |0003: const/4 v0, #int 0 // #0 │ │ +0185f0: 5c20 c100 |0004: iput-boolean v0, v2, Ldnsfilter/android/DNSFilterService;.blocking:Z // field@00c1 │ │ +0185f4: 1201 |0006: const/4 v1, #int 0 // #0 │ │ +0185f6: 5b21 d100 |0007: iput-object v1, v2, Ldnsfilter/android/DNSFilterService;.vpnRunner:Ldnsfilter/android/DNSFilterService$VPNRunner; // field@00d1 │ │ +0185fa: 5c20 c900 |0009: iput-boolean v0, v2, Ldnsfilter/android/DNSFilterService;.manageDNSCryptProxy:Z // field@00c9 │ │ +0185fe: 5c20 c200 |000b: iput-boolean v0, v2, Ldnsfilter/android/DNSFilterService;.dnsCryptProxyStartTriggered:Z // field@00c2 │ │ +018602: 0e00 |000d: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=75 │ │ 0x0004 line=104 │ │ 0x0007 line=105 │ │ 0x0009 line=106 │ │ 0x000b line=107 │ │ @@ -12293,68 +12293,68 @@ │ │ type : '()Z' │ │ access : 0x1008 (STATIC SYNTHETIC) │ │ code - │ │ registers : 1 │ │ ins : 0 │ │ outs : 0 │ │ insns size : 3 16-bit code units │ │ -017af0: |[017af0] dnsfilter.android.DNSFilterService.access$000:()Z │ │ -017b00: 6300 cd00 |0000: sget-boolean v0, Ldnsfilter/android/DNSFilterService;.rootMode:Z // field@00cd │ │ -017b04: 0f00 |0002: return v0 │ │ +017aec: |[017aec] dnsfilter.android.DNSFilterService.access$000:()Z │ │ +017afc: 6300 cd00 |0000: sget-boolean v0, Ldnsfilter/android/DNSFilterService;.rootMode:Z // field@00cd │ │ +017b00: 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 │ │ -017b08: |[017b08] dnsfilter.android.DNSFilterService.access$100:()Z │ │ -017b18: 6300 c400 |0000: sget-boolean v0, Ldnsfilter/android/DNSFilterService;.dnsProxyOnlyLocal:Z // field@00c4 │ │ -017b1c: 0f00 |0002: return v0 │ │ +017b04: |[017b04] dnsfilter.android.DNSFilterService.access$100:()Z │ │ +017b14: 6300 c400 |0000: sget-boolean v0, Ldnsfilter/android/DNSFilterService;.dnsProxyOnlyLocal:Z // field@00c4 │ │ +017b18: 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 │ │ -017df4: |[017df4] dnsfilter.android.DNSFilterService.access$200:()I │ │ -017e04: 6000 c500 |0000: sget v0, Ldnsfilter/android/DNSFilterService;.dnsProxyPort:I // field@00c5 │ │ -017e08: 0f00 |0002: return v0 │ │ +017df0: |[017df0] dnsfilter.android.DNSFilterService.access$200:()I │ │ +017e00: 6000 c500 |0000: sget v0, Ldnsfilter/android/DNSFilterService;.dnsProxyPort:I // field@00c5 │ │ +017e04: 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 │ │ -018608: |[018608] dnsfilter.android.DNSFilterService.access$300:(ZLjava/lang/String;)V │ │ -018618: 7120 a902 1000 |0000: invoke-static {v0, v1}, Ldnsfilter/android/DNSFilterService;.runOSCommand:(ZLjava/lang/String;)V // method@02a9 │ │ -01861e: 0e00 |0003: return-void │ │ +018604: |[018604] dnsfilter.android.DNSFilterService.access$300:(ZLjava/lang/String;)V │ │ +018614: 7120 a902 1000 |0000: invoke-static {v0, v1}, Ldnsfilter/android/DNSFilterService;.runOSCommand:(ZLjava/lang/String;)V // method@02a9 │ │ +01861a: 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; │ │ │ │ @@ -12363,17 +12363,17 @@ │ │ type : '(Ldnsfilter/android/DNSFilterService;)Z' │ │ access : 0x1008 (STATIC SYNTHETIC) │ │ code - │ │ registers : 1 │ │ ins : 1 │ │ outs : 0 │ │ insns size : 3 16-bit code units │ │ -017b20: |[017b20] dnsfilter.android.DNSFilterService.access$400:(Ldnsfilter/android/DNSFilterService;)Z │ │ -017b30: 5500 c100 |0000: iget-boolean v0, v0, Ldnsfilter/android/DNSFilterService;.blocking:Z // field@00c1 │ │ -017b34: 0f00 |0002: return v0 │ │ +017b1c: |[017b1c] dnsfilter.android.DNSFilterService.access$400:(Ldnsfilter/android/DNSFilterService;)Z │ │ +017b2c: 5500 c100 |0000: iget-boolean v0, v0, Ldnsfilter/android/DNSFilterService;.blocking:Z // field@00c1 │ │ +017b30: 0f00 |0002: return v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=75 │ │ locals : │ │ 0x0000 - 0x0003 reg=0 (null) Ldnsfilter/android/DNSFilterService; │ │ │ │ #7 : (in Ldnsfilter/android/DNSFilterService;) │ │ @@ -12381,42 +12381,42 @@ │ │ type : '()V' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 5 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 55 16-bit code units │ │ -018620: |[018620] dnsfilter.android.DNSFilterService.clearPortRedir:()V │ │ -018630: 1a00 6308 |0000: const-string v0, "iptables -t nat -D PREROUTING -p udp --dport 53 -j REDIRECT --to-port " // string@0863 │ │ -018634: 6301 ba00 |0002: sget-boolean v1, Ldnsfilter/android/DNSFilterService;.DNS_PROXY_PORT_IS_REDIRECTED:Z // field@00ba │ │ -018638: 3901 0300 |0004: if-nez v1, 0007 // +0003 │ │ -01863c: 0e00 |0006: return-void │ │ -01863e: 2201 2d01 |0007: new-instance v1, Ljava/lang/StringBuilder; // type@012d │ │ -018642: 7020 a805 0100 |0009: invoke-direct {v1, v0}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05a8 │ │ -018648: 6000 c500 |000c: sget v0, Ldnsfilter/android/DNSFilterService;.dnsProxyPort:I // field@00c5 │ │ -01864c: 6e20 aa05 0100 |000e: invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@05aa │ │ -018652: 6e10 af05 0100 |0011: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ -018658: 0c00 |0014: move-result-object v0 │ │ -01865a: 1201 |0015: const/4 v1, #int 0 // #0 │ │ -01865c: 7120 a902 0100 |0016: invoke-static {v1, v0}, Ldnsfilter/android/DNSFilterService;.runOSCommand:(ZLjava/lang/String;)V // method@02a9 │ │ -018662: 6a01 ba00 |0019: sput-boolean v1, Ldnsfilter/android/DNSFilterService;.DNS_PROXY_PORT_IS_REDIRECTED:Z // field@00ba │ │ -018666: 281b |001b: goto 0036 // +001b │ │ -018668: 0d00 |001c: move-exception v0 │ │ -01866a: 7100 2507 0000 |001d: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0725 │ │ -018670: 0c01 |0020: move-result-object v1 │ │ -018672: 2202 2d01 |0021: new-instance v2, Ljava/lang/StringBuilder; // type@012d │ │ -018676: 1a03 8e01 |0023: const-string v3, "Exception when clearing port redirection:" // string@018e │ │ -01867a: 7020 a805 3200 |0025: invoke-direct {v2, v3}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05a8 │ │ -018680: 6e10 5f05 0000 |0028: invoke-virtual {v0}, Ljava/lang/Exception;.toString:()Ljava/lang/String; // method@055f │ │ -018686: 0c00 |002b: move-result-object v0 │ │ -018688: 6e20 ad05 0200 |002c: invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -01868e: 6e10 af05 0200 |002f: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ -018694: 0c00 |0032: move-result-object v0 │ │ -018696: 7220 3107 0100 |0033: invoke-interface {v1, v0}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0731 │ │ -01869c: 0e00 |0036: return-void │ │ +01861c: |[01861c] dnsfilter.android.DNSFilterService.clearPortRedir:()V │ │ +01862c: 1a00 6308 |0000: const-string v0, "iptables -t nat -D PREROUTING -p udp --dport 53 -j REDIRECT --to-port " // string@0863 │ │ +018630: 6301 ba00 |0002: sget-boolean v1, Ldnsfilter/android/DNSFilterService;.DNS_PROXY_PORT_IS_REDIRECTED:Z // field@00ba │ │ +018634: 3901 0300 |0004: if-nez v1, 0007 // +0003 │ │ +018638: 0e00 |0006: return-void │ │ +01863a: 2201 2d01 |0007: new-instance v1, Ljava/lang/StringBuilder; // type@012d │ │ +01863e: 7020 a805 0100 |0009: invoke-direct {v1, v0}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05a8 │ │ +018644: 6000 c500 |000c: sget v0, Ldnsfilter/android/DNSFilterService;.dnsProxyPort:I // field@00c5 │ │ +018648: 6e20 aa05 0100 |000e: invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@05aa │ │ +01864e: 6e10 af05 0100 |0011: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ +018654: 0c00 |0014: move-result-object v0 │ │ +018656: 1201 |0015: const/4 v1, #int 0 // #0 │ │ +018658: 7120 a902 0100 |0016: invoke-static {v1, v0}, Ldnsfilter/android/DNSFilterService;.runOSCommand:(ZLjava/lang/String;)V // method@02a9 │ │ +01865e: 6a01 ba00 |0019: sput-boolean v1, Ldnsfilter/android/DNSFilterService;.DNS_PROXY_PORT_IS_REDIRECTED:Z // field@00ba │ │ +018662: 281b |001b: goto 0036 // +001b │ │ +018664: 0d00 |001c: move-exception v0 │ │ +018666: 7100 2507 0000 |001d: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0725 │ │ +01866c: 0c01 |0020: move-result-object v1 │ │ +01866e: 2202 2d01 |0021: new-instance v2, Ljava/lang/StringBuilder; // type@012d │ │ +018672: 1a03 8e01 |0023: const-string v3, "Exception when clearing port redirection:" // string@018e │ │ +018676: 7020 a805 3200 |0025: invoke-direct {v2, v3}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05a8 │ │ +01867c: 6e10 5f05 0000 |0028: invoke-virtual {v0}, Ljava/lang/Exception;.toString:()Ljava/lang/String; // method@055f │ │ +018682: 0c00 |002b: move-result-object v0 │ │ +018684: 6e20 ad05 0200 |002c: invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +01868a: 6e10 af05 0200 |002f: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ +018690: 0c00 |0032: move-result-object v0 │ │ +018692: 7220 3107 0100 |0033: invoke-interface {v1, v0}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0731 │ │ +018698: 0e00 |0036: return-void │ │ catches : 1 │ │ 0x0007 - 0x001b │ │ Ljava/lang/Exception; -> 0x001c │ │ positions : │ │ 0x0002 line=868 │ │ 0x0007 line=871 │ │ 0x0019 line=872 │ │ @@ -12429,30 +12429,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 │ │ -0186b0: |[0186b0] dnsfilter.android.DNSFilterService.excludeApp:(Ljava/lang/String;Landroid/net/VpnService$Builder;)V │ │ -0186c0: 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 │ │ -0186c6: 281b |0003: goto 001e // +001b │ │ -0186c8: 0d03 |0004: move-exception v3 │ │ -0186ca: 7100 2507 0000 |0005: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0725 │ │ -0186d0: 0c04 |0008: move-result-object v4 │ │ -0186d2: 2200 2d01 |0009: new-instance v0, Ljava/lang/StringBuilder; // type@012d │ │ -0186d6: 1a01 7b01 |000b: const-string v1, "Error during app whitelisting:" // string@017b │ │ -0186da: 7020 a805 1000 |000d: invoke-direct {v0, v1}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05a8 │ │ -0186e0: 6e10 5200 0300 |0010: invoke-virtual {v3}, Landroid/content/pm/PackageManager$NameNotFoundException;.getMessage:()Ljava/lang/String; // method@0052 │ │ -0186e6: 0c03 |0013: move-result-object v3 │ │ -0186e8: 6e20 ad05 3000 |0014: invoke-virtual {v0, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -0186ee: 6e10 af05 0000 |0017: invoke-virtual {v0}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ -0186f4: 0c03 |001a: move-result-object v3 │ │ -0186f6: 7220 3107 3400 |001b: invoke-interface {v4, v3}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0731 │ │ -0186fc: 0e00 |001e: return-void │ │ +0186ac: |[0186ac] dnsfilter.android.DNSFilterService.excludeApp:(Ljava/lang/String;Landroid/net/VpnService$Builder;)V │ │ +0186bc: 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 │ │ +0186c2: 281b |0003: goto 001e // +001b │ │ +0186c4: 0d03 |0004: move-exception v3 │ │ +0186c6: 7100 2507 0000 |0005: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0725 │ │ +0186cc: 0c04 |0008: move-result-object v4 │ │ +0186ce: 2200 2d01 |0009: new-instance v0, Ljava/lang/StringBuilder; // type@012d │ │ +0186d2: 1a01 7b01 |000b: const-string v1, "Error during app whitelisting:" // string@017b │ │ +0186d6: 7020 a805 1000 |000d: invoke-direct {v0, v1}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05a8 │ │ +0186dc: 6e10 5200 0300 |0010: invoke-virtual {v3}, Landroid/content/pm/PackageManager$NameNotFoundException;.getMessage:()Ljava/lang/String; // method@0052 │ │ +0186e2: 0c03 |0013: move-result-object v3 │ │ +0186e4: 6e20 ad05 3000 |0014: invoke-virtual {v0, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +0186ea: 6e10 af05 0000 |0017: invoke-virtual {v0}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ +0186f0: 0c03 |001a: move-result-object v3 │ │ +0186f2: 7220 3107 3400 |001b: invoke-interface {v4, v3}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0731 │ │ +0186f8: 0e00 |001e: return-void │ │ catches : 1 │ │ 0x0000 - 0x0003 │ │ Landroid/content/pm/PackageManager$NameNotFoundException; -> 0x0004 │ │ positions : │ │ 0x0000 line=937 │ │ 0x0005 line=939 │ │ locals : │ │ @@ -12465,65 +12465,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 │ │ -01764c: |[01764c] dnsfilter.android.DNSFilterService.getActiveNetwork:(Landroid/net/ConnectivityManager;)Landroid/net/Network; │ │ -01765c: 6e10 6200 0700 |0000: invoke-virtual {v7}, Landroid/net/ConnectivityManager;.getActiveNetworkInfo:()Landroid/net/NetworkInfo; // method@0062 │ │ -017662: 0c00 |0003: move-result-object v0 │ │ -017664: 3800 4900 |0004: if-eqz v0, 004d // +0049 │ │ -017668: 7110 6f02 0700 |0006: invoke-static {v7}, Ldnsfilter/android/BootUpReceiver$$ExternalSyntheticApiModelOutline0;.m:(Landroid/net/ConnectivityManager;)[Landroid/net/Network; // method@026f │ │ -01766e: 0c01 |0009: move-result-object v1 │ │ -017670: 2112 |000a: array-length v2, v1 │ │ -017672: 1203 |000b: const/4 v3, #int 0 // #0 │ │ -017674: 3523 4100 |000c: if-ge v3, v2, 004d // +0041 │ │ -017678: 4604 0103 |000e: aget-object v4, v1, v3 │ │ -01767c: 7120 5f02 4700 |0010: invoke-static {v7, v4}, Ldnsfilter/android/BootUpReceiver$$ExternalSyntheticApiModelOutline0;.m:(Landroid/net/ConnectivityManager;Landroid/net/Network;)Landroid/net/NetworkInfo; // method@025f │ │ -017682: 0c05 |0013: move-result-object v5 │ │ -017684: 3805 3600 |0014: if-eqz v5, 004a // +0036 │ │ -017688: 6e10 6900 0500 |0016: invoke-virtual {v5}, Landroid/net/NetworkInfo;.toString:()Ljava/lang/String; // method@0069 │ │ -01768e: 0c06 |0019: move-result-object v6 │ │ -017690: 3806 3000 |001a: if-eqz v6, 004a // +0030 │ │ -017694: 6e10 6900 0500 |001c: invoke-virtual {v5}, Landroid/net/NetworkInfo;.toString:()Ljava/lang/String; // method@0069 │ │ -01769a: 0c05 |001f: move-result-object v5 │ │ -01769c: 6e10 6900 0000 |0020: invoke-virtual {v0}, Landroid/net/NetworkInfo;.toString:()Ljava/lang/String; // method@0069 │ │ -0176a2: 0c06 |0023: move-result-object v6 │ │ -0176a4: 6e20 8b05 6500 |0024: invoke-virtual {v5, v6}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058b │ │ -0176aa: 0a05 |0027: move-result v5 │ │ -0176ac: 3805 2200 |0028: if-eqz v5, 004a // +0022 │ │ -0176b0: 7100 d206 0000 |002a: invoke-static {}, Lutil/ExecutionEnvironment;.getEnvironment:()Lutil/ExecutionEnvironmentInterface; // method@06d2 │ │ -0176b6: 0c07 |002d: move-result-object v7 │ │ -0176b8: 7210 de06 0700 |002e: invoke-interface {v7}, Lutil/ExecutionEnvironmentInterface;.debug:()Z // method@06de │ │ -0176be: 0a07 |0031: move-result v7 │ │ -0176c0: 3807 1700 |0032: if-eqz v7, 0049 // +0017 │ │ -0176c4: 7100 2507 0000 |0034: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0725 │ │ -0176ca: 0c07 |0037: move-result-object v7 │ │ -0176cc: 2200 2d01 |0038: new-instance v0, Ljava/lang/StringBuilder; // type@012d │ │ -0176d0: 1a01 a500 |003a: const-string v1, "ACTIVE NETWORK:" // string@00a5 │ │ -0176d4: 7020 a805 1000 |003c: invoke-direct {v0, v1}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05a8 │ │ -0176da: 6e20 ac05 4000 |003f: invoke-virtual {v0, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@05ac │ │ -0176e0: 6e10 af05 0000 |0042: invoke-virtual {v0}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ -0176e6: 0c00 |0045: move-result-object v0 │ │ -0176e8: 7220 3107 0700 |0046: invoke-interface {v7, v0}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0731 │ │ -0176ee: 1104 |0049: return-object v4 │ │ -0176f0: d803 0301 |004a: add-int/lit8 v3, v3, #int 1 // #01 │ │ -0176f4: 28c0 |004c: goto 000c // -0040 │ │ -0176f6: 7100 d206 0000 |004d: invoke-static {}, Lutil/ExecutionEnvironment;.getEnvironment:()Lutil/ExecutionEnvironmentInterface; // method@06d2 │ │ -0176fc: 0c07 |0050: move-result-object v7 │ │ -0176fe: 7210 de06 0700 |0051: invoke-interface {v7}, Lutil/ExecutionEnvironmentInterface;.debug:()Z // method@06de │ │ -017704: 0a07 |0054: move-result v7 │ │ -017706: 3807 0b00 |0055: if-eqz v7, 0060 // +000b │ │ -01770a: 7100 2507 0000 |0057: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0725 │ │ -017710: 0c07 |005a: move-result-object v7 │ │ -017712: 1a00 a600 |005b: const-string v0, "ACTIVE NETWORK: NULL" // string@00a6 │ │ -017716: 7220 3107 0700 |005d: invoke-interface {v7, v0}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0731 │ │ -01771c: 1207 |0060: const/4 v7, #int 0 // #0 │ │ -01771e: 1107 |0061: return-object v7 │ │ +017648: |[017648] dnsfilter.android.DNSFilterService.getActiveNetwork:(Landroid/net/ConnectivityManager;)Landroid/net/Network; │ │ +017658: 6e10 6200 0700 |0000: invoke-virtual {v7}, Landroid/net/ConnectivityManager;.getActiveNetworkInfo:()Landroid/net/NetworkInfo; // method@0062 │ │ +01765e: 0c00 |0003: move-result-object v0 │ │ +017660: 3800 4900 |0004: if-eqz v0, 004d // +0049 │ │ +017664: 7110 6f02 0700 |0006: invoke-static {v7}, Ldnsfilter/android/BootUpReceiver$$ExternalSyntheticApiModelOutline0;.m:(Landroid/net/ConnectivityManager;)[Landroid/net/Network; // method@026f │ │ +01766a: 0c01 |0009: move-result-object v1 │ │ +01766c: 2112 |000a: array-length v2, v1 │ │ +01766e: 1203 |000b: const/4 v3, #int 0 // #0 │ │ +017670: 3523 4100 |000c: if-ge v3, v2, 004d // +0041 │ │ +017674: 4604 0103 |000e: aget-object v4, v1, v3 │ │ +017678: 7120 5f02 4700 |0010: invoke-static {v7, v4}, Ldnsfilter/android/BootUpReceiver$$ExternalSyntheticApiModelOutline0;.m:(Landroid/net/ConnectivityManager;Landroid/net/Network;)Landroid/net/NetworkInfo; // method@025f │ │ +01767e: 0c05 |0013: move-result-object v5 │ │ +017680: 3805 3600 |0014: if-eqz v5, 004a // +0036 │ │ +017684: 6e10 6900 0500 |0016: invoke-virtual {v5}, Landroid/net/NetworkInfo;.toString:()Ljava/lang/String; // method@0069 │ │ +01768a: 0c06 |0019: move-result-object v6 │ │ +01768c: 3806 3000 |001a: if-eqz v6, 004a // +0030 │ │ +017690: 6e10 6900 0500 |001c: invoke-virtual {v5}, Landroid/net/NetworkInfo;.toString:()Ljava/lang/String; // method@0069 │ │ +017696: 0c05 |001f: move-result-object v5 │ │ +017698: 6e10 6900 0000 |0020: invoke-virtual {v0}, Landroid/net/NetworkInfo;.toString:()Ljava/lang/String; // method@0069 │ │ +01769e: 0c06 |0023: move-result-object v6 │ │ +0176a0: 6e20 8b05 6500 |0024: invoke-virtual {v5, v6}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058b │ │ +0176a6: 0a05 |0027: move-result v5 │ │ +0176a8: 3805 2200 |0028: if-eqz v5, 004a // +0022 │ │ +0176ac: 7100 d206 0000 |002a: invoke-static {}, Lutil/ExecutionEnvironment;.getEnvironment:()Lutil/ExecutionEnvironmentInterface; // method@06d2 │ │ +0176b2: 0c07 |002d: move-result-object v7 │ │ +0176b4: 7210 de06 0700 |002e: invoke-interface {v7}, Lutil/ExecutionEnvironmentInterface;.debug:()Z // method@06de │ │ +0176ba: 0a07 |0031: move-result v7 │ │ +0176bc: 3807 1700 |0032: if-eqz v7, 0049 // +0017 │ │ +0176c0: 7100 2507 0000 |0034: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0725 │ │ +0176c6: 0c07 |0037: move-result-object v7 │ │ +0176c8: 2200 2d01 |0038: new-instance v0, Ljava/lang/StringBuilder; // type@012d │ │ +0176cc: 1a01 a500 |003a: const-string v1, "ACTIVE NETWORK:" // string@00a5 │ │ +0176d0: 7020 a805 1000 |003c: invoke-direct {v0, v1}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05a8 │ │ +0176d6: 6e20 ac05 4000 |003f: invoke-virtual {v0, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@05ac │ │ +0176dc: 6e10 af05 0000 |0042: invoke-virtual {v0}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ +0176e2: 0c00 |0045: move-result-object v0 │ │ +0176e4: 7220 3107 0700 |0046: invoke-interface {v7, v0}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0731 │ │ +0176ea: 1104 |0049: return-object v4 │ │ +0176ec: d803 0301 |004a: add-int/lit8 v3, v3, #int 1 // #01 │ │ +0176f0: 28c0 |004c: goto 000c // -0040 │ │ +0176f2: 7100 d206 0000 |004d: invoke-static {}, Lutil/ExecutionEnvironment;.getEnvironment:()Lutil/ExecutionEnvironmentInterface; // method@06d2 │ │ +0176f8: 0c07 |0050: move-result-object v7 │ │ +0176fa: 7210 de06 0700 |0051: invoke-interface {v7}, Lutil/ExecutionEnvironmentInterface;.debug:()Z // method@06de │ │ +017700: 0a07 |0054: move-result v7 │ │ +017702: 3807 0b00 |0055: if-eqz v7, 0060 // +000b │ │ +017706: 7100 2507 0000 |0057: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0725 │ │ +01770c: 0c07 |005a: move-result-object v7 │ │ +01770e: 1a00 a600 |005b: const-string v0, "ACTIVE NETWORK: NULL" // string@00a6 │ │ +017712: 7220 3107 0700 |005d: invoke-interface {v7, v0}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0731 │ │ +017718: 1207 |0060: const/4 v7, #int 0 // #0 │ │ +01771a: 1107 |0061: return-object v7 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=380 │ │ 0x0006 line=382 │ │ 0x000a line=383 │ │ 0x0010 line=384 │ │ 0x0016 line=385 │ │ @@ -12540,28 +12540,28 @@ │ │ type : '()Ljava/lang/String;' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 5 │ │ ins : 1 │ │ outs : 4 │ │ insns size : 26 16-bit code units │ │ -018250: |[018250] dnsfilter.android.DNSFilterService.getChannel:()Ljava/lang/String; │ │ -018260: 1a00 0709 |0000: const-string v0, "notification" // string@0907 │ │ -018264: 6e20 9902 0400 |0002: invoke-virtual {v4, v0}, Ldnsfilter/android/DNSFilterService;.getSystemService:(Ljava/lang/String;)Ljava/lang/Object; // method@0299 │ │ -01826a: 0c00 |0005: move-result-object v0 │ │ -01826c: 1f00 0f00 |0006: check-cast v0, Landroid/app/NotificationManager; // type@000f │ │ -018270: 6001 0200 |0008: sget v1, Landroid/os/Build$VERSION;.SDK_INT:I // field@0002 │ │ -018274: 1302 1a00 |000a: const/16 v2, #int 26 // #1a │ │ -018278: 1a03 2a01 |000c: const-string v3, "DNS Filter" // string@012a │ │ -01827c: 3421 0b00 |000e: if-lt v1, v2, 0019 // +000b │ │ -018280: 2201 0e00 |0010: new-instance v1, Landroid/app/NotificationChannel; // type@000e │ │ -018284: 1232 |0012: const/4 v2, #int 3 // #3 │ │ -018286: 7040 2a00 3123 |0013: invoke-direct {v1, v3, v3, v2}, Landroid/app/NotificationChannel;.:(Ljava/lang/String;Ljava/lang/CharSequence;I)V // method@002a │ │ -01828c: 7120 6602 1000 |0016: invoke-static {v0, v1}, Ldnsfilter/android/BootUpReceiver$$ExternalSyntheticApiModelOutline0;.m:(Landroid/app/NotificationManager;Landroid/app/NotificationChannel;)V // method@0266 │ │ -018292: 1103 |0019: return-object v3 │ │ +01824c: |[01824c] dnsfilter.android.DNSFilterService.getChannel:()Ljava/lang/String; │ │ +01825c: 1a00 0709 |0000: const-string v0, "notification" // string@0907 │ │ +018260: 6e20 9902 0400 |0002: invoke-virtual {v4, v0}, Ldnsfilter/android/DNSFilterService;.getSystemService:(Ljava/lang/String;)Ljava/lang/Object; // method@0299 │ │ +018266: 0c00 |0005: move-result-object v0 │ │ +018268: 1f00 0f00 |0006: check-cast v0, Landroid/app/NotificationManager; // type@000f │ │ +01826c: 6001 0200 |0008: sget v1, Landroid/os/Build$VERSION;.SDK_INT:I // field@0002 │ │ +018270: 1302 1a00 |000a: const/16 v2, #int 26 // #1a │ │ +018274: 1a03 2a01 |000c: const-string v3, "DNS Filter" // string@012a │ │ +018278: 3421 0b00 |000e: if-lt v1, v2, 0019 // +000b │ │ +01827c: 2201 0e00 |0010: new-instance v1, Landroid/app/NotificationChannel; // type@000e │ │ +018280: 1232 |0012: const/4 v2, #int 3 // #3 │ │ +018282: 7040 2a00 3123 |0013: invoke-direct {v1, v3, v3, v2}, Landroid/app/NotificationChannel;.:(Ljava/lang/String;Ljava/lang/CharSequence;I)V // method@002a │ │ +018288: 7120 6602 1000 |0016: invoke-static {v0, v1}, Ldnsfilter/android/BootUpReceiver$$ExternalSyntheticApiModelOutline0;.m:(Landroid/app/NotificationManager;Landroid/app/NotificationChannel;)V // method@0266 │ │ +01828e: 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; │ │ @@ -12571,41 +12571,41 @@ │ │ type : '()[Ljava/lang/String;' │ │ access : 0x000a (PRIVATE STATIC) │ │ code - │ │ registers : 3 │ │ ins : 0 │ │ outs : 2 │ │ insns size : 52 16-bit code units │ │ -018294: |[018294] dnsfilter.android.DNSFilterService.getDNSServers:()[Ljava/lang/String; │ │ -0182a4: 6300 0f01 |0000: sget-boolean v0, Ldnsfilter/android/DNSProxyActivity;.debug:Z // field@010f │ │ -0182a8: 3800 0b00 |0002: if-eqz v0, 000d // +000b │ │ -0182ac: 7100 2507 0000 |0004: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0725 │ │ -0182b2: 0c00 |0007: move-result-object v0 │ │ -0182b4: 1a01 6801 |0008: const-string v1, "Detecting DNS servers..." // string@0168 │ │ -0182b8: 7220 3107 1000 |000a: invoke-interface {v0, v1}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0731 │ │ -0182be: 7100 9602 0000 |000d: invoke-static {}, Ldnsfilter/android/DNSFilterService;.getDNSviaConnectivityManager:()[Ljava/lang/String; // method@0296 │ │ -0182c4: 0c00 |0010: move-result-object v0 │ │ -0182c6: 2101 |0011: array-length v1, v0 │ │ -0182c8: 3901 1400 |0012: if-nez v1, 0026 // +0014 │ │ -0182cc: 6300 0f01 |0014: sget-boolean v0, Ldnsfilter/android/DNSProxyActivity;.debug:Z // field@010f │ │ -0182d0: 3800 0b00 |0016: if-eqz v0, 0021 // +000b │ │ -0182d4: 7100 2507 0000 |0018: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0725 │ │ -0182da: 0c00 |001b: move-result-object v0 │ │ -0182dc: 1a01 a201 |001c: const-string v1, "Fallback DNS detection via SystemProperties" // string@01a2 │ │ -0182e0: 7220 3107 1000 |001e: invoke-interface {v0, v1}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0731 │ │ -0182e6: 7100 9702 0000 |0021: invoke-static {}, Ldnsfilter/android/DNSFilterService;.getDNSviaSysProps:()[Ljava/lang/String; // method@0297 │ │ -0182ec: 0c00 |0024: move-result-object v0 │ │ -0182ee: 280e |0025: goto 0033 // +000e │ │ -0182f0: 6301 0f01 |0026: sget-boolean v1, Ldnsfilter/android/DNSProxyActivity;.debug:Z // field@010f │ │ -0182f4: 3801 0b00 |0028: if-eqz v1, 0033 // +000b │ │ -0182f8: 7100 2507 0000 |002a: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0725 │ │ -0182fe: 0c01 |002d: move-result-object v1 │ │ -018300: 1a02 2f01 |002e: const-string v2, "DNS detection via ConnectivityManager" // string@012f │ │ -018304: 7220 3107 2100 |0030: invoke-interface {v1, v2}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0731 │ │ -01830a: 1100 |0033: return-object v0 │ │ +018290: |[018290] dnsfilter.android.DNSFilterService.getDNSServers:()[Ljava/lang/String; │ │ +0182a0: 6300 0f01 |0000: sget-boolean v0, Ldnsfilter/android/DNSProxyActivity;.debug:Z // field@010f │ │ +0182a4: 3800 0b00 |0002: if-eqz v0, 000d // +000b │ │ +0182a8: 7100 2507 0000 |0004: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0725 │ │ +0182ae: 0c00 |0007: move-result-object v0 │ │ +0182b0: 1a01 6801 |0008: const-string v1, "Detecting DNS servers..." // string@0168 │ │ +0182b4: 7220 3107 1000 |000a: invoke-interface {v0, v1}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0731 │ │ +0182ba: 7100 9602 0000 |000d: invoke-static {}, Ldnsfilter/android/DNSFilterService;.getDNSviaConnectivityManager:()[Ljava/lang/String; // method@0296 │ │ +0182c0: 0c00 |0010: move-result-object v0 │ │ +0182c2: 2101 |0011: array-length v1, v0 │ │ +0182c4: 3901 1400 |0012: if-nez v1, 0026 // +0014 │ │ +0182c8: 6300 0f01 |0014: sget-boolean v0, Ldnsfilter/android/DNSProxyActivity;.debug:Z // field@010f │ │ +0182cc: 3800 0b00 |0016: if-eqz v0, 0021 // +000b │ │ +0182d0: 7100 2507 0000 |0018: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0725 │ │ +0182d6: 0c00 |001b: move-result-object v0 │ │ +0182d8: 1a01 a201 |001c: const-string v1, "Fallback DNS detection via SystemProperties" // string@01a2 │ │ +0182dc: 7220 3107 1000 |001e: invoke-interface {v0, v1}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0731 │ │ +0182e2: 7100 9702 0000 |0021: invoke-static {}, Ldnsfilter/android/DNSFilterService;.getDNSviaSysProps:()[Ljava/lang/String; // method@0297 │ │ +0182e8: 0c00 |0024: move-result-object v0 │ │ +0182ea: 280e |0025: goto 0033 // +000e │ │ +0182ec: 6301 0f01 |0026: sget-boolean v1, Ldnsfilter/android/DNSProxyActivity;.debug:Z // field@010f │ │ +0182f0: 3801 0b00 |0028: if-eqz v1, 0033 // +000b │ │ +0182f4: 7100 2507 0000 |002a: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0725 │ │ +0182fa: 0c01 |002d: move-result-object v1 │ │ +0182fc: 1a02 2f01 |002e: const-string v2, "DNS detection via ConnectivityManager" // string@012f │ │ +018300: 7220 3107 2100 |0030: invoke-interface {v1, v2}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0731 │ │ +018306: 1100 |0033: return-object v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=463 │ │ 0x0004 line=464 │ │ 0x000d line=466 │ │ 0x0011 line=468 │ │ 0x0014 line=469 │ │ @@ -12620,108 +12620,108 @@ │ │ type : '()[Ljava/lang/String;' │ │ access : 0x000a (PRIVATE STATIC) │ │ code - │ │ registers : 7 │ │ ins : 0 │ │ outs : 2 │ │ insns size : 193 16-bit code units │ │ -01830c: |[01830c] dnsfilter.android.DNSFilterService.getDNSviaConnectivityManager:()[Ljava/lang/String; │ │ -01831c: 6000 0200 |0000: sget v0, Landroid/os/Build$VERSION;.SDK_INT:I // field@0002 │ │ -018320: 1301 1500 |0002: const/16 v1, #int 21 // #15 │ │ -018324: 1202 |0004: const/4 v2, #int 0 // #0 │ │ -018326: 3510 0500 |0005: if-ge v0, v1, 000a // +0005 │ │ -01832a: 2320 ad01 |0007: new-array v0, v2, [Ljava/lang/String; // type@01ad │ │ -01832e: 1100 |0009: return-object v0 │ │ -018330: 6200 bb00 |000a: sget-object v0, Ldnsfilter/android/DNSFilterService;.INSTANCE:Ldnsfilter/android/DNSFilterService; // field@00bb │ │ -018334: 3900 0500 |000c: if-nez v0, 0011 // +0005 │ │ -018338: 2320 ad01 |000e: new-array v0, v2, [Ljava/lang/String; // type@01ad │ │ -01833c: 1100 |0010: return-object v0 │ │ -01833e: 2201 5901 |0011: new-instance v1, Ljava/util/HashSet; // type@0159 │ │ -018342: 7010 2d06 0100 |0013: invoke-direct {v1}, Ljava/util/HashSet;.:()V // method@062d │ │ -018348: 1a03 1506 |0016: const-string v3, "connectivity" // string@0615 │ │ -01834c: 6e20 9902 3000 |0018: invoke-virtual {v0, v3}, Ldnsfilter/android/DNSFilterService;.getSystemService:(Ljava/lang/String;)Ljava/lang/Object; // method@0299 │ │ -018352: 0c00 |001b: move-result-object v0 │ │ -018354: 1f00 2900 |001c: check-cast v0, Landroid/net/ConnectivityManager; // type@0029 │ │ -018358: 7110 9302 0000 |001e: invoke-static {v0}, Ldnsfilter/android/DNSFilterService;.getActiveNetwork:(Landroid/net/ConnectivityManager;)Landroid/net/Network; // method@0293 │ │ -01835e: 0c03 |0021: move-result-object v3 │ │ -018360: 3803 9200 |0022: if-eqz v3, 00b4 // +0092 │ │ -018364: 7120 5e02 3000 |0024: invoke-static {v0, v3}, Ldnsfilter/android/BootUpReceiver$$ExternalSyntheticApiModelOutline0;.m:(Landroid/net/ConnectivityManager;Landroid/net/Network;)Landroid/net/LinkProperties; // method@025e │ │ -01836a: 0c00 |0027: move-result-object v0 │ │ -01836c: 3800 7300 |0028: if-eqz v0, 009b // +0073 │ │ -018370: 7110 6502 0000 |002a: invoke-static {v0}, Ldnsfilter/android/BootUpReceiver$$ExternalSyntheticApiModelOutline0;.m:(Landroid/net/LinkProperties;)Ljava/util/List; // method@0265 │ │ -018376: 0c00 |002d: move-result-object v0 │ │ -018378: 7100 d206 0000 |002e: invoke-static {}, Lutil/ExecutionEnvironment;.getEnvironment:()Lutil/ExecutionEnvironmentInterface; // method@06d2 │ │ -01837e: 0c03 |0031: move-result-object v3 │ │ -018380: 7210 de06 0300 |0032: invoke-interface {v3}, Lutil/ExecutionEnvironmentInterface;.debug:()Z // method@06de │ │ -018386: 0a03 |0035: move-result v3 │ │ -018388: 3803 2000 |0036: if-eqz v3, 0056 // +0020 │ │ -01838c: 7100 2507 0000 |0038: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0725 │ │ -018392: 0c03 |003b: move-result-object v3 │ │ -018394: 2204 2d01 |003c: new-instance v4, Ljava/lang/StringBuilder; // type@012d │ │ -018398: 1a05 9d01 |003e: const-string v5, "FOUND " // string@019d │ │ -01839c: 7020 a805 5400 |0040: invoke-direct {v4, v5}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05a8 │ │ -0183a2: 7210 4d06 0000 |0043: invoke-interface {v0}, Ljava/util/List;.size:()I // method@064d │ │ -0183a8: 0a05 |0046: move-result v5 │ │ -0183aa: 6e20 aa05 5400 |0047: invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@05aa │ │ -0183b0: 1a05 1300 |004a: const-string v5, " DNS servers!" // string@0013 │ │ -0183b4: 6e20 ad05 5400 |004c: invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -0183ba: 6e10 af05 0400 |004f: invoke-virtual {v4}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ -0183c0: 0c04 |0052: move-result-object v4 │ │ -0183c2: 7220 3107 4300 |0053: invoke-interface {v3, v4}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0731 │ │ -0183c8: 7210 4d06 0000 |0056: invoke-interface {v0}, Ljava/util/List;.size:()I // method@064d │ │ -0183ce: 0a03 |0059: move-result v3 │ │ -0183d0: 3532 5a00 |005a: if-ge v2, v3, 00b4 // +005a │ │ -0183d4: 7220 4c06 2000 |005c: invoke-interface {v0, v2}, Ljava/util/List;.get:(I)Ljava/lang/Object; // method@064c │ │ -0183da: 0c03 |005f: move-result-object v3 │ │ -0183dc: 1f03 3701 |0060: check-cast v3, Ljava/net/InetAddress; // type@0137 │ │ -0183e0: 6e10 d405 0300 |0062: invoke-virtual {v3}, Ljava/net/InetAddress;.getHostAddress:()Ljava/lang/String; // method@05d4 │ │ -0183e6: 0c03 |0065: move-result-object v3 │ │ -0183e8: 7100 d206 0000 |0066: invoke-static {}, Lutil/ExecutionEnvironment;.getEnvironment:()Lutil/ExecutionEnvironmentInterface; // method@06d2 │ │ -0183ee: 0c04 |0069: move-result-object v4 │ │ -0183f0: 7210 de06 0400 |006a: invoke-interface {v4}, Lutil/ExecutionEnvironmentInterface;.debug:()Z // method@06de │ │ -0183f6: 0a04 |006d: move-result v4 │ │ -0183f8: 3804 1700 |006e: if-eqz v4, 0085 // +0017 │ │ -0183fc: 7100 2507 0000 |0070: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0725 │ │ -018402: 0c04 |0073: move-result-object v4 │ │ -018404: 2205 2d01 |0074: new-instance v5, Ljava/lang/StringBuilder; // type@012d │ │ -018408: 1a06 9e01 |0076: const-string v6, "FOUND DNS " // string@019e │ │ -01840c: 7020 a805 6500 |0078: invoke-direct {v5, v6}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05a8 │ │ -018412: 6e20 ad05 3500 |007b: invoke-virtual {v5, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -018418: 6e10 af05 0500 |007e: invoke-virtual {v5}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ -01841e: 0c05 |0081: move-result-object v5 │ │ -018420: 7220 3107 5400 |0082: invoke-interface {v4, v5}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0731 │ │ -018426: 6204 bf00 |0085: sget-object v4, Ldnsfilter/android/DNSFilterService;.VIRTUALDNS_IPV4:Ljava/lang/String; // field@00bf │ │ -01842a: 6e20 8b05 4300 |0087: invoke-virtual {v3, v4}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058b │ │ -018430: 0a04 |008a: move-result v4 │ │ -018432: 3904 0d00 |008b: if-nez v4, 0098 // +000d │ │ -018436: 6204 c000 |008d: sget-object v4, Ldnsfilter/android/DNSFilterService;.VIRTUALDNS_IPV6:Ljava/lang/String; // field@00c0 │ │ -01843a: 6e20 8b05 4300 |008f: invoke-virtual {v3, v4}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058b │ │ -018440: 0a04 |0092: move-result v4 │ │ -018442: 3904 0500 |0093: if-nez v4, 0098 // +0005 │ │ -018446: 6e20 2e06 3100 |0095: invoke-virtual {v1, v3}, Ljava/util/HashSet;.add:(Ljava/lang/Object;)Z // method@062e │ │ -01844c: d802 0201 |0098: add-int/lit8 v2, v2, #int 1 // #01 │ │ -018450: 28bc |009a: goto 0056 // -0044 │ │ -018452: 7100 2507 0000 |009b: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0725 │ │ -018458: 0c00 |009e: move-result-object v0 │ │ -01845a: 2202 2d01 |009f: new-instance v2, Ljava/lang/StringBuilder; // type@012d │ │ -01845e: 1a04 db04 |00a1: const-string v4, "WARNING: Cannot get link properties for " // string@04db │ │ -018462: 7020 a805 4200 |00a3: invoke-direct {v2, v4}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05a8 │ │ -018468: 7110 6402 0300 |00a6: invoke-static {v3}, Ldnsfilter/android/BootUpReceiver$$ExternalSyntheticApiModelOutline0;.m:(Landroid/net/Network;)Ljava/lang/String; // method@0264 │ │ -01846e: 0c03 |00a9: move-result-object v3 │ │ -018470: 6e20 ad05 3200 |00aa: invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -018476: 6e10 af05 0200 |00ad: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ -01847c: 0c02 |00b0: move-result-object v2 │ │ -01847e: 7220 3107 2000 |00b1: invoke-interface {v0, v2}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0731 │ │ -018484: 6e10 3406 0100 |00b4: invoke-virtual {v1}, Ljava/util/HashSet;.size:()I // method@0634 │ │ -01848a: 0a00 |00b7: move-result v0 │ │ -01848c: 2300 ad01 |00b8: new-array v0, v0, [Ljava/lang/String; // type@01ad │ │ -018490: 6e20 3506 0100 |00ba: invoke-virtual {v1, v0}, Ljava/util/HashSet;.toArray:([Ljava/lang/Object;)[Ljava/lang/Object; // method@0635 │ │ -018496: 0c00 |00bd: move-result-object v0 │ │ -018498: 1f00 ad01 |00be: check-cast v0, [Ljava/lang/String; // type@01ad │ │ -01849c: 1100 |00c0: return-object v0 │ │ +018308: |[018308] dnsfilter.android.DNSFilterService.getDNSviaConnectivityManager:()[Ljava/lang/String; │ │ +018318: 6000 0200 |0000: sget v0, Landroid/os/Build$VERSION;.SDK_INT:I // field@0002 │ │ +01831c: 1301 1500 |0002: const/16 v1, #int 21 // #15 │ │ +018320: 1202 |0004: const/4 v2, #int 0 // #0 │ │ +018322: 3510 0500 |0005: if-ge v0, v1, 000a // +0005 │ │ +018326: 2320 ad01 |0007: new-array v0, v2, [Ljava/lang/String; // type@01ad │ │ +01832a: 1100 |0009: return-object v0 │ │ +01832c: 6200 bb00 |000a: sget-object v0, Ldnsfilter/android/DNSFilterService;.INSTANCE:Ldnsfilter/android/DNSFilterService; // field@00bb │ │ +018330: 3900 0500 |000c: if-nez v0, 0011 // +0005 │ │ +018334: 2320 ad01 |000e: new-array v0, v2, [Ljava/lang/String; // type@01ad │ │ +018338: 1100 |0010: return-object v0 │ │ +01833a: 2201 5901 |0011: new-instance v1, Ljava/util/HashSet; // type@0159 │ │ +01833e: 7010 2d06 0100 |0013: invoke-direct {v1}, Ljava/util/HashSet;.:()V // method@062d │ │ +018344: 1a03 1506 |0016: const-string v3, "connectivity" // string@0615 │ │ +018348: 6e20 9902 3000 |0018: invoke-virtual {v0, v3}, Ldnsfilter/android/DNSFilterService;.getSystemService:(Ljava/lang/String;)Ljava/lang/Object; // method@0299 │ │ +01834e: 0c00 |001b: move-result-object v0 │ │ +018350: 1f00 2900 |001c: check-cast v0, Landroid/net/ConnectivityManager; // type@0029 │ │ +018354: 7110 9302 0000 |001e: invoke-static {v0}, Ldnsfilter/android/DNSFilterService;.getActiveNetwork:(Landroid/net/ConnectivityManager;)Landroid/net/Network; // method@0293 │ │ +01835a: 0c03 |0021: move-result-object v3 │ │ +01835c: 3803 9200 |0022: if-eqz v3, 00b4 // +0092 │ │ +018360: 7120 5e02 3000 |0024: invoke-static {v0, v3}, Ldnsfilter/android/BootUpReceiver$$ExternalSyntheticApiModelOutline0;.m:(Landroid/net/ConnectivityManager;Landroid/net/Network;)Landroid/net/LinkProperties; // method@025e │ │ +018366: 0c00 |0027: move-result-object v0 │ │ +018368: 3800 7300 |0028: if-eqz v0, 009b // +0073 │ │ +01836c: 7110 6502 0000 |002a: invoke-static {v0}, Ldnsfilter/android/BootUpReceiver$$ExternalSyntheticApiModelOutline0;.m:(Landroid/net/LinkProperties;)Ljava/util/List; // method@0265 │ │ +018372: 0c00 |002d: move-result-object v0 │ │ +018374: 7100 d206 0000 |002e: invoke-static {}, Lutil/ExecutionEnvironment;.getEnvironment:()Lutil/ExecutionEnvironmentInterface; // method@06d2 │ │ +01837a: 0c03 |0031: move-result-object v3 │ │ +01837c: 7210 de06 0300 |0032: invoke-interface {v3}, Lutil/ExecutionEnvironmentInterface;.debug:()Z // method@06de │ │ +018382: 0a03 |0035: move-result v3 │ │ +018384: 3803 2000 |0036: if-eqz v3, 0056 // +0020 │ │ +018388: 7100 2507 0000 |0038: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0725 │ │ +01838e: 0c03 |003b: move-result-object v3 │ │ +018390: 2204 2d01 |003c: new-instance v4, Ljava/lang/StringBuilder; // type@012d │ │ +018394: 1a05 9d01 |003e: const-string v5, "FOUND " // string@019d │ │ +018398: 7020 a805 5400 |0040: invoke-direct {v4, v5}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05a8 │ │ +01839e: 7210 4d06 0000 |0043: invoke-interface {v0}, Ljava/util/List;.size:()I // method@064d │ │ +0183a4: 0a05 |0046: move-result v5 │ │ +0183a6: 6e20 aa05 5400 |0047: invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@05aa │ │ +0183ac: 1a05 1300 |004a: const-string v5, " DNS servers!" // string@0013 │ │ +0183b0: 6e20 ad05 5400 |004c: invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +0183b6: 6e10 af05 0400 |004f: invoke-virtual {v4}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ +0183bc: 0c04 |0052: move-result-object v4 │ │ +0183be: 7220 3107 4300 |0053: invoke-interface {v3, v4}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0731 │ │ +0183c4: 7210 4d06 0000 |0056: invoke-interface {v0}, Ljava/util/List;.size:()I // method@064d │ │ +0183ca: 0a03 |0059: move-result v3 │ │ +0183cc: 3532 5a00 |005a: if-ge v2, v3, 00b4 // +005a │ │ +0183d0: 7220 4c06 2000 |005c: invoke-interface {v0, v2}, Ljava/util/List;.get:(I)Ljava/lang/Object; // method@064c │ │ +0183d6: 0c03 |005f: move-result-object v3 │ │ +0183d8: 1f03 3701 |0060: check-cast v3, Ljava/net/InetAddress; // type@0137 │ │ +0183dc: 6e10 d405 0300 |0062: invoke-virtual {v3}, Ljava/net/InetAddress;.getHostAddress:()Ljava/lang/String; // method@05d4 │ │ +0183e2: 0c03 |0065: move-result-object v3 │ │ +0183e4: 7100 d206 0000 |0066: invoke-static {}, Lutil/ExecutionEnvironment;.getEnvironment:()Lutil/ExecutionEnvironmentInterface; // method@06d2 │ │ +0183ea: 0c04 |0069: move-result-object v4 │ │ +0183ec: 7210 de06 0400 |006a: invoke-interface {v4}, Lutil/ExecutionEnvironmentInterface;.debug:()Z // method@06de │ │ +0183f2: 0a04 |006d: move-result v4 │ │ +0183f4: 3804 1700 |006e: if-eqz v4, 0085 // +0017 │ │ +0183f8: 7100 2507 0000 |0070: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0725 │ │ +0183fe: 0c04 |0073: move-result-object v4 │ │ +018400: 2205 2d01 |0074: new-instance v5, Ljava/lang/StringBuilder; // type@012d │ │ +018404: 1a06 9e01 |0076: const-string v6, "FOUND DNS " // string@019e │ │ +018408: 7020 a805 6500 |0078: invoke-direct {v5, v6}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05a8 │ │ +01840e: 6e20 ad05 3500 |007b: invoke-virtual {v5, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +018414: 6e10 af05 0500 |007e: invoke-virtual {v5}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ +01841a: 0c05 |0081: move-result-object v5 │ │ +01841c: 7220 3107 5400 |0082: invoke-interface {v4, v5}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0731 │ │ +018422: 6204 bf00 |0085: sget-object v4, Ldnsfilter/android/DNSFilterService;.VIRTUALDNS_IPV4:Ljava/lang/String; // field@00bf │ │ +018426: 6e20 8b05 4300 |0087: invoke-virtual {v3, v4}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058b │ │ +01842c: 0a04 |008a: move-result v4 │ │ +01842e: 3904 0d00 |008b: if-nez v4, 0098 // +000d │ │ +018432: 6204 c000 |008d: sget-object v4, Ldnsfilter/android/DNSFilterService;.VIRTUALDNS_IPV6:Ljava/lang/String; // field@00c0 │ │ +018436: 6e20 8b05 4300 |008f: invoke-virtual {v3, v4}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058b │ │ +01843c: 0a04 |0092: move-result v4 │ │ +01843e: 3904 0500 |0093: if-nez v4, 0098 // +0005 │ │ +018442: 6e20 2e06 3100 |0095: invoke-virtual {v1, v3}, Ljava/util/HashSet;.add:(Ljava/lang/Object;)Z // method@062e │ │ +018448: d802 0201 |0098: add-int/lit8 v2, v2, #int 1 // #01 │ │ +01844c: 28bc |009a: goto 0056 // -0044 │ │ +01844e: 7100 2507 0000 |009b: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0725 │ │ +018454: 0c00 |009e: move-result-object v0 │ │ +018456: 2202 2d01 |009f: new-instance v2, Ljava/lang/StringBuilder; // type@012d │ │ +01845a: 1a04 db04 |00a1: const-string v4, "WARNING: Cannot get link properties for " // string@04db │ │ +01845e: 7020 a805 4200 |00a3: invoke-direct {v2, v4}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05a8 │ │ +018464: 7110 6402 0300 |00a6: invoke-static {v3}, Ldnsfilter/android/BootUpReceiver$$ExternalSyntheticApiModelOutline0;.m:(Landroid/net/Network;)Ljava/lang/String; // method@0264 │ │ +01846a: 0c03 |00a9: move-result-object v3 │ │ +01846c: 6e20 ad05 3200 |00aa: invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +018472: 6e10 af05 0200 |00ad: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ +018478: 0c02 |00b0: move-result-object v2 │ │ +01847a: 7220 3107 2000 |00b1: invoke-interface {v0, v2}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0731 │ │ +018480: 6e10 3406 0100 |00b4: invoke-virtual {v1}, Ljava/util/HashSet;.size:()I // method@0634 │ │ +018486: 0a00 |00b7: move-result v0 │ │ +018488: 2300 ad01 |00b8: new-array v0, v0, [Ljava/lang/String; // type@01ad │ │ +01848c: 6e20 3506 0100 |00ba: invoke-virtual {v1, v0}, Ljava/util/HashSet;.toArray:([Ljava/lang/Object;)[Ljava/lang/Object; // method@0635 │ │ +018492: 0c00 |00bd: move-result-object v0 │ │ +018494: 1f00 ad01 |00be: check-cast v0, [Ljava/lang/String; // type@01ad │ │ +018498: 1100 |00c0: return-object v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=404 │ │ 0x0007 line=405 │ │ 0x000a line=407 │ │ 0x000e line=409 │ │ 0x0011 line=411 │ │ @@ -12746,78 +12746,78 @@ │ │ type : '()[Ljava/lang/String;' │ │ access : 0x000a (PRIVATE STATIC) │ │ code - │ │ registers : 9 │ │ ins : 0 │ │ outs : 3 │ │ insns size : 118 16-bit code units │ │ -0184a0: |[0184a0] dnsfilter.android.DNSFilterService.getDNSviaSysProps:()[Ljava/lang/String; │ │ -0184b0: 1200 |0000: const/4 v0, #int 0 // #0 │ │ -0184b2: 2201 5901 |0001: new-instance v1, Ljava/util/HashSet; // type@0159 │ │ -0184b6: 7010 2d06 0100 |0003: invoke-direct {v1}, Ljava/util/HashSet;.:()V // method@062d │ │ -0184bc: 1a02 6405 |0006: const-string v2, "android.os.SystemProperties" // string@0564 │ │ -0184c0: 7110 5205 0200 |0008: invoke-static {v2}, Ljava/lang/Class;.forName:(Ljava/lang/String;)Ljava/lang/Class; // method@0552 │ │ -0184c6: 0c02 |000b: move-result-object v2 │ │ -0184c8: 1a03 2007 |000c: const-string v3, "get" // string@0720 │ │ -0184cc: 1214 |000e: const/4 v4, #int 1 // #1 │ │ -0184ce: 2345 ab01 |000f: new-array v5, v4, [Ljava/lang/Class; // type@01ab │ │ -0184d2: 1c06 2b01 |0011: const-class v6, Ljava/lang/String; // type@012b │ │ -0184d6: 4d06 0500 |0013: aput-object v6, v5, v0 │ │ -0184da: 6e30 5305 3205 |0015: invoke-virtual {v2, v3, v5}, Ljava/lang/Class;.getMethod:(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method; // method@0553 │ │ -0184e0: 0c02 |0018: move-result-object v2 │ │ -0184e2: 1243 |0019: const/4 v3, #int 4 // #4 │ │ -0184e4: 2335 ad01 |001a: new-array v5, v3, [Ljava/lang/String; // type@01ad │ │ -0184e8: 1a06 f608 |001c: const-string v6, "net.dns1" // string@08f6 │ │ -0184ec: 4d06 0500 |001e: aput-object v6, v5, v0 │ │ -0184f0: 1a06 f708 |0020: const-string v6, "net.dns2" // string@08f7 │ │ -0184f4: 4d06 0504 |0022: aput-object v6, v5, v4 │ │ -0184f8: 1a06 f808 |0024: const-string v6, "net.dns3" // string@08f8 │ │ -0184fc: 1227 |0026: const/4 v7, #int 2 // #2 │ │ -0184fe: 4d06 0507 |0027: aput-object v6, v5, v7 │ │ -018502: 1a06 f908 |0029: const-string v6, "net.dns4" // string@08f9 │ │ -018506: 1237 |002b: const/4 v7, #int 3 // #3 │ │ -018508: 4d06 0507 |002c: aput-object v6, v5, v7 │ │ -01850c: 1206 |002e: const/4 v6, #int 0 // #0 │ │ -01850e: 3536 2f00 |002f: if-ge v6, v3, 005e // +002f │ │ -018512: 4607 0506 |0031: aget-object v7, v5, v6 │ │ -018516: 2348 ac01 |0033: new-array v8, v4, [Ljava/lang/Object; // type@01ac │ │ -01851a: 4d07 0800 |0035: aput-object v7, v8, v0 │ │ -01851e: 1207 |0037: const/4 v7, #int 0 // #0 │ │ -018520: 6e30 bd05 7208 |0038: invoke-virtual {v2, v7, v8}, Ljava/lang/reflect/Method;.invoke:(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object; // method@05bd │ │ -018526: 0c07 |003b: move-result-object v7 │ │ -018528: 1f07 2b01 |003c: check-cast v7, Ljava/lang/String; // type@012b │ │ -01852c: 3807 1d00 |003e: if-eqz v7, 005b // +001d │ │ -018530: 1a08 0000 |0040: const-string v8, "" // string@0000 │ │ -018534: 6e20 8b05 8700 |0042: invoke-virtual {v7, v8}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058b │ │ -01853a: 0a08 |0045: move-result v8 │ │ -01853c: 3908 1500 |0046: if-nez v8, 005b // +0015 │ │ -018540: 6208 bf00 |0048: sget-object v8, Ldnsfilter/android/DNSFilterService;.VIRTUALDNS_IPV4:Ljava/lang/String; // field@00bf │ │ -018544: 6e20 8b05 8700 |004a: invoke-virtual {v7, v8}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058b │ │ -01854a: 0a08 |004d: move-result v8 │ │ -01854c: 3908 0d00 |004e: if-nez v8, 005b // +000d │ │ -018550: 6208 c000 |0050: sget-object v8, Ldnsfilter/android/DNSFilterService;.VIRTUALDNS_IPV6:Ljava/lang/String; // field@00c0 │ │ -018554: 6e20 8b05 8700 |0052: invoke-virtual {v7, v8}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058b │ │ -01855a: 0a08 |0055: move-result v8 │ │ -01855c: 3908 0500 |0056: if-nez v8, 005b // +0005 │ │ -018560: 6e20 2e06 7100 |0058: invoke-virtual {v1, v7}, Ljava/util/HashSet;.add:(Ljava/lang/Object;)Z // method@062e │ │ -018566: d806 0601 |005b: add-int/lit8 v6, v6, #int 1 // #01 │ │ -01856a: 28d2 |005d: goto 002f // -002e │ │ -01856c: 6e10 3406 0100 |005e: invoke-virtual {v1}, Ljava/util/HashSet;.size:()I // method@0634 │ │ -018572: 0a02 |0061: move-result v2 │ │ -018574: 2322 ad01 |0062: new-array v2, v2, [Ljava/lang/String; // type@01ad │ │ -018578: 6e20 3506 2100 |0064: invoke-virtual {v1, v2}, Ljava/util/HashSet;.toArray:([Ljava/lang/Object;)[Ljava/lang/Object; // method@0635 │ │ -01857e: 0c01 |0067: move-result-object v1 │ │ -018580: 1f01 ad01 |0068: check-cast v1, [Ljava/lang/String; // type@01ad │ │ -018584: 1101 |006a: return-object v1 │ │ -018586: 0d01 |006b: move-exception v1 │ │ -018588: 7100 2507 0000 |006c: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0725 │ │ -01858e: 0c02 |006f: move-result-object v2 │ │ -018590: 7220 3007 1200 |0070: invoke-interface {v2, v1}, Lutil/LoggerInterface;.logException:(Ljava/lang/Exception;)V // method@0730 │ │ -018596: 2300 ad01 |0073: new-array v0, v0, [Ljava/lang/String; // type@01ad │ │ -01859a: 1100 |0075: return-object v0 │ │ +01849c: |[01849c] dnsfilter.android.DNSFilterService.getDNSviaSysProps:()[Ljava/lang/String; │ │ +0184ac: 1200 |0000: const/4 v0, #int 0 // #0 │ │ +0184ae: 2201 5901 |0001: new-instance v1, Ljava/util/HashSet; // type@0159 │ │ +0184b2: 7010 2d06 0100 |0003: invoke-direct {v1}, Ljava/util/HashSet;.:()V // method@062d │ │ +0184b8: 1a02 6405 |0006: const-string v2, "android.os.SystemProperties" // string@0564 │ │ +0184bc: 7110 5205 0200 |0008: invoke-static {v2}, Ljava/lang/Class;.forName:(Ljava/lang/String;)Ljava/lang/Class; // method@0552 │ │ +0184c2: 0c02 |000b: move-result-object v2 │ │ +0184c4: 1a03 2007 |000c: const-string v3, "get" // string@0720 │ │ +0184c8: 1214 |000e: const/4 v4, #int 1 // #1 │ │ +0184ca: 2345 ab01 |000f: new-array v5, v4, [Ljava/lang/Class; // type@01ab │ │ +0184ce: 1c06 2b01 |0011: const-class v6, Ljava/lang/String; // type@012b │ │ +0184d2: 4d06 0500 |0013: aput-object v6, v5, v0 │ │ +0184d6: 6e30 5305 3205 |0015: invoke-virtual {v2, v3, v5}, Ljava/lang/Class;.getMethod:(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method; // method@0553 │ │ +0184dc: 0c02 |0018: move-result-object v2 │ │ +0184de: 1243 |0019: const/4 v3, #int 4 // #4 │ │ +0184e0: 2335 ad01 |001a: new-array v5, v3, [Ljava/lang/String; // type@01ad │ │ +0184e4: 1a06 f608 |001c: const-string v6, "net.dns1" // string@08f6 │ │ +0184e8: 4d06 0500 |001e: aput-object v6, v5, v0 │ │ +0184ec: 1a06 f708 |0020: const-string v6, "net.dns2" // string@08f7 │ │ +0184f0: 4d06 0504 |0022: aput-object v6, v5, v4 │ │ +0184f4: 1a06 f808 |0024: const-string v6, "net.dns3" // string@08f8 │ │ +0184f8: 1227 |0026: const/4 v7, #int 2 // #2 │ │ +0184fa: 4d06 0507 |0027: aput-object v6, v5, v7 │ │ +0184fe: 1a06 f908 |0029: const-string v6, "net.dns4" // string@08f9 │ │ +018502: 1237 |002b: const/4 v7, #int 3 // #3 │ │ +018504: 4d06 0507 |002c: aput-object v6, v5, v7 │ │ +018508: 1206 |002e: const/4 v6, #int 0 // #0 │ │ +01850a: 3536 2f00 |002f: if-ge v6, v3, 005e // +002f │ │ +01850e: 4607 0506 |0031: aget-object v7, v5, v6 │ │ +018512: 2348 ac01 |0033: new-array v8, v4, [Ljava/lang/Object; // type@01ac │ │ +018516: 4d07 0800 |0035: aput-object v7, v8, v0 │ │ +01851a: 1207 |0037: const/4 v7, #int 0 // #0 │ │ +01851c: 6e30 bd05 7208 |0038: invoke-virtual {v2, v7, v8}, Ljava/lang/reflect/Method;.invoke:(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object; // method@05bd │ │ +018522: 0c07 |003b: move-result-object v7 │ │ +018524: 1f07 2b01 |003c: check-cast v7, Ljava/lang/String; // type@012b │ │ +018528: 3807 1d00 |003e: if-eqz v7, 005b // +001d │ │ +01852c: 1a08 0000 |0040: const-string v8, "" // string@0000 │ │ +018530: 6e20 8b05 8700 |0042: invoke-virtual {v7, v8}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058b │ │ +018536: 0a08 |0045: move-result v8 │ │ +018538: 3908 1500 |0046: if-nez v8, 005b // +0015 │ │ +01853c: 6208 bf00 |0048: sget-object v8, Ldnsfilter/android/DNSFilterService;.VIRTUALDNS_IPV4:Ljava/lang/String; // field@00bf │ │ +018540: 6e20 8b05 8700 |004a: invoke-virtual {v7, v8}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058b │ │ +018546: 0a08 |004d: move-result v8 │ │ +018548: 3908 0d00 |004e: if-nez v8, 005b // +000d │ │ +01854c: 6208 c000 |0050: sget-object v8, Ldnsfilter/android/DNSFilterService;.VIRTUALDNS_IPV6:Ljava/lang/String; // field@00c0 │ │ +018550: 6e20 8b05 8700 |0052: invoke-virtual {v7, v8}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058b │ │ +018556: 0a08 |0055: move-result v8 │ │ +018558: 3908 0500 |0056: if-nez v8, 005b // +0005 │ │ +01855c: 6e20 2e06 7100 |0058: invoke-virtual {v1, v7}, Ljava/util/HashSet;.add:(Ljava/lang/Object;)Z // method@062e │ │ +018562: d806 0601 |005b: add-int/lit8 v6, v6, #int 1 // #01 │ │ +018566: 28d2 |005d: goto 002f // -002e │ │ +018568: 6e10 3406 0100 |005e: invoke-virtual {v1}, Ljava/util/HashSet;.size:()I // method@0634 │ │ +01856e: 0a02 |0061: move-result v2 │ │ +018570: 2322 ad01 |0062: new-array v2, v2, [Ljava/lang/String; // type@01ad │ │ +018574: 6e20 3506 2100 |0064: invoke-virtual {v1, v2}, Ljava/util/HashSet;.toArray:([Ljava/lang/Object;)[Ljava/lang/Object; // method@0635 │ │ +01857a: 0c01 |0067: move-result-object v1 │ │ +01857c: 1f01 ad01 |0068: check-cast v1, [Ljava/lang/String; // type@01ad │ │ +018580: 1101 |006a: return-object v1 │ │ +018582: 0d01 |006b: move-exception v1 │ │ +018584: 7100 2507 0000 |006c: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0725 │ │ +01858a: 0c02 |006f: move-result-object v2 │ │ +01858c: 7220 3007 1200 |0070: invoke-interface {v2, v1}, Lutil/LoggerInterface;.logException:(Ljava/lang/Exception;)V // method@0730 │ │ +018592: 2300 ad01 |0073: new-array v0, v0, [Ljava/lang/String; // type@01ad │ │ +018596: 1100 |0075: return-object v0 │ │ catches : 1 │ │ 0x0001 - 0x006a │ │ Ljava/lang/Exception; -> 0x006b │ │ positions : │ │ 0x0001 line=441 │ │ 0x0006 line=442 │ │ 0x000c line=443 │ │ @@ -12835,149 +12835,149 @@ │ │ type : '([Ljava/lang/String;)V' │ │ access : 0x0009 (PUBLIC STATIC) │ │ code - │ │ registers : 13 │ │ ins : 1 │ │ outs : 6 │ │ insns size : 264 16-bit code units │ │ -01870c: |[01870c] dnsfilter.android.DNSFilterService.handleDNSServerChange:([Ljava/lang/String;)V │ │ -01871c: 6200 b800 |0000: sget-object v0, Ldnsfilter/android/DNSFilterService;.DNSFILTER:Ldnsfilter/DNSFilterManager; // field@00b8 │ │ -018720: 3900 0300 |0002: if-nez v0, 0005 // +0003 │ │ -018724: 0e00 |0004: return-void │ │ -018726: 6e10 9401 0000 |0005: invoke-virtual {v0}, Ldnsfilter/DNSFilterManager;.getConfig:()Ljava/util/Properties; // method@0194 │ │ -01872c: 0c01 |0008: move-result-object v1 │ │ -01872e: 1a02 5e06 |0009: const-string v2, "detectDNS" // string@065e │ │ -018732: 1a03 420b |000b: const-string v3, "true" // string@0b42 │ │ -018736: 6e30 5506 2103 |000d: invoke-virtual {v1, v2, v3}, Ljava/util/Properties;.getProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@0655 │ │ -01873c: 0c01 |0010: move-result-object v1 │ │ -01873e: 7110 4b05 0100 |0011: invoke-static {v1}, Ljava/lang/Boolean;.parseBoolean:(Ljava/lang/String;)Z // method@054b │ │ -018744: 0a01 |0014: move-result v1 │ │ -018746: 6e10 9401 0000 |0015: invoke-virtual {v0}, Ldnsfilter/DNSFilterManager;.getConfig:()Ljava/util/Properties; // method@0194 │ │ -01874c: 0c02 |0018: move-result-object v2 │ │ -01874e: 1a03 7206 |0019: const-string v3, "dnsRequestTimeout" // string@0672 │ │ -018752: 1a04 7400 |001b: const-string v4, "15000" // string@0074 │ │ -018756: 6e30 5506 3204 |001d: invoke-virtual {v2, v3, v4}, Ljava/util/Properties;.getProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@0655 │ │ -01875c: 0c02 |0020: move-result-object v2 │ │ -01875e: 7110 6505 0200 |0021: invoke-static {v2}, Ljava/lang/Integer;.parseInt:(Ljava/lang/String;)I // method@0565 │ │ -018764: 0a02 |0024: move-result v2 │ │ -018766: 280b |0025: goto 0030 // +000b │ │ -018768: 0d02 |0026: move-exception v2 │ │ -01876a: 7100 2507 0000 |0027: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0725 │ │ -018770: 0c03 |002a: move-result-object v3 │ │ -018772: 7220 3007 2300 |002b: invoke-interface {v3, v2}, Lutil/LoggerInterface;.logException:(Ljava/lang/Exception;)V // method@0730 │ │ -018778: 1302 983a |002e: const/16 v2, #int 15000 // #3a98 │ │ -01877c: 2209 6a01 |0030: new-instance v9, Ljava/util/Vector; // type@016a │ │ -018780: 7010 7506 0900 |0032: invoke-direct {v9}, Ljava/util/Vector;.:()V // method@0675 │ │ -018786: 1a0a 0000 |0035: const-string v10, "" // string@0000 │ │ -01878a: 3801 6200 |0037: if-eqz v1, 0099 // +0062 │ │ -01878e: 6303 cd00 |0039: sget-boolean v3, Ldnsfilter/android/DNSFilterService;.rootMode:Z // field@00cd │ │ -018792: 3903 5e00 |003b: if-nez v3, 0099 // +005e │ │ -018796: 1203 |003d: const/4 v3, #int 0 // #0 │ │ -018798: 120b |003e: const/4 v11, #int 0 // #0 │ │ -01879a: 21c3 |003f: array-length v3, v12 │ │ -01879c: 353b 5900 |0040: if-ge v11, v3, 0099 // +0059 │ │ -0187a0: 4603 0c0b |0042: aget-object v3, v12, v11 │ │ -0187a4: 3803 4a00 |0044: if-eqz v3, 008e // +004a │ │ -0187a8: 6e20 8b05 a300 |0046: invoke-virtual {v3, v10}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058b │ │ -0187ae: 0a04 |0049: move-result v4 │ │ -0187b0: 3904 4400 |004a: if-nez v4, 008e // +0044 │ │ -0187b4: 6304 0f01 |004c: sget-boolean v4, Ldnsfilter/android/DNSProxyActivity;.debug:Z // field@010f │ │ -0187b8: 3804 1a00 |004e: if-eqz v4, 0068 // +001a │ │ -0187bc: 7100 2507 0000 |0050: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0725 │ │ -0187c2: 0c04 |0053: move-result-object v4 │ │ -0187c4: 2205 2d01 |0054: new-instance v5, Ljava/lang/StringBuilder; // type@012d │ │ -0187c8: 7010 a705 0500 |0056: invoke-direct {v5}, Ljava/lang/StringBuilder;.:()V // method@05a7 │ │ -0187ce: 1a06 3901 |0059: const-string v6, "DNS:" // string@0139 │ │ -0187d2: 6e20 ad05 6500 |005b: invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -0187d8: 6e20 ad05 3500 |005e: invoke-virtual {v5, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -0187de: 6e10 af05 0500 |0061: invoke-virtual {v5}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ -0187e4: 0c05 |0064: move-result-object v5 │ │ -0187e6: 7220 3107 5400 |0065: invoke-interface {v4, v5}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0731 │ │ -0187ec: 6204 bf00 |0068: sget-object v4, Ldnsfilter/android/DNSFilterService;.VIRTUALDNS_IPV4:Ljava/lang/String; // field@00bf │ │ -0187f0: 6e20 8b05 4300 |006a: invoke-virtual {v3, v4}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058b │ │ -0187f6: 0a04 |006d: move-result v4 │ │ -0187f8: 3904 2000 |006e: if-nez v4, 008e // +0020 │ │ -0187fc: 6204 c000 |0070: sget-object v4, Ldnsfilter/android/DNSFilterService;.VIRTUALDNS_IPV6:Ljava/lang/String; // field@00c0 │ │ -018800: 6e20 8b05 4300 |0072: invoke-virtual {v3, v4}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058b │ │ -018806: 0a04 |0075: move-result v4 │ │ -018808: 3904 1800 |0076: if-nez v4, 008e // +0018 │ │ -01880c: 7100 f401 0000 |0078: invoke-static {}, Ldnsfilter/DNSServer;.getInstance:()Ldnsfilter/DNSServer; // method@01f4 │ │ -018812: 0c04 |007b: move-result-object v4 │ │ -018814: 7110 d305 0300 |007c: invoke-static {v3}, Ljava/net/InetAddress;.getByName:(Ljava/lang/String;)Ljava/net/InetAddress; // method@05d3 │ │ -01881a: 0c05 |007f: move-result-object v5 │ │ -01881c: 1306 3500 |0080: const/16 v6, #int 53 // #35 │ │ -018820: 1208 |0082: const/4 v8, #int 0 // #0 │ │ -018822: 1207 |0083: const/4 v7, #int 0 // #0 │ │ -018824: 0743 |0084: move-object v3, v4 │ │ -018826: 0174 |0085: move v4, v7 │ │ -018828: 0127 |0086: move v7, v2 │ │ -01882a: 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 │ │ -018830: 0c03 |008a: move-result-object v3 │ │ -018832: 6e20 7706 3900 |008b: invoke-virtual {v9, v3}, Ljava/util/Vector;.add:(Ljava/lang/Object;)Z // method@0677 │ │ -018838: d80b 0b01 |008e: add-int/lit8 v11, v11, #int 1 // #01 │ │ -01883c: 28af |0090: goto 003f // -0051 │ │ -01883e: 0d0c |0091: move-exception v12 │ │ -018840: 7100 2507 0000 |0092: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0725 │ │ -018846: 0c03 |0095: move-result-object v3 │ │ -018848: 7220 3007 c300 |0096: invoke-interface {v3, v12}, Lutil/LoggerInterface;.logException:(Ljava/lang/Exception;)V // method@0730 │ │ -01884e: 6e10 7d06 0900 |0099: invoke-virtual {v9}, Ljava/util/Vector;.isEmpty:()Z // method@067d │ │ -018854: 0a0c |009c: move-result v12 │ │ -018856: 380c 2d00 |009d: if-eqz v12, 00ca // +002d │ │ -01885a: 3801 0f00 |009f: if-eqz v1, 00ae // +000f │ │ -01885e: 630c cd00 |00a1: sget-boolean v12, Ldnsfilter/android/DNSFilterService;.rootMode:Z // field@00cd │ │ -018862: 380c 0b00 |00a3: if-eqz v12, 00ae // +000b │ │ -018866: 7100 2507 0000 |00a5: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0725 │ │ -01886c: 0c0c |00a8: move-result-object v12 │ │ -01886e: 1a01 2c01 |00a9: const-string v1, "DNS detection not possible in root mode!" // string@012c │ │ -018872: 7220 3207 1c00 |00ab: invoke-interface {v12, v1}, Lutil/LoggerInterface;.message:(Ljava/lang/String;)V // method@0732 │ │ -018878: 6e10 9401 0000 |00ae: invoke-virtual {v0}, Ldnsfilter/DNSFilterManager;.getConfig:()Ljava/util/Properties; // method@0194 │ │ -01887e: 0c0c |00b1: move-result-object v12 │ │ -018880: 1a00 de06 |00b2: const-string v0, "fallbackDNS" // string@06de │ │ -018884: 6e30 5506 0c0a |00b4: invoke-virtual {v12, v0, v10}, Ljava/util/Properties;.getProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@0655 │ │ -01888a: 0c0c |00b7: move-result-object v12 │ │ -01888c: 7100 f401 0000 |00b8: invoke-static {}, Ldnsfilter/DNSServer;.getInstance:()Ldnsfilter/DNSServer; // method@01f4 │ │ -018892: 0c00 |00bb: move-result-object v0 │ │ -018894: 6301 cd00 |00bc: sget-boolean v1, Ldnsfilter/android/DNSFilterService;.rootMode:Z // field@00cd │ │ -018898: 6e40 ee01 c012 |00be: invoke-virtual {v0, v12, v2, v1}, Ldnsfilter/DNSServer;.createDNSServers:(Ljava/lang/String;IZ)[Ldnsfilter/DNSServer; // method@01ee │ │ -01889e: 0c0c |00c1: move-result-object v12 │ │ -0188a0: 7100 6f01 0000 |00c2: invoke-static {}, Ldnsfilter/DNSCommunicator;.getInstance:()Ldnsfilter/DNSCommunicator; // method@016f │ │ -0188a6: 0c00 |00c5: move-result-object v0 │ │ -0188a8: 6e20 7201 c000 |00c6: invoke-virtual {v0, v12}, Ldnsfilter/DNSCommunicator;.setDNSServers:([Ldnsfilter/DNSServer;)V // method@0172 │ │ -0188ae: 283e |00c9: goto 0107 // +003e │ │ -0188b0: 7100 6f01 0000 |00ca: invoke-static {}, Ldnsfilter/DNSCommunicator;.getInstance:()Ldnsfilter/DNSCommunicator; // method@016f │ │ -0188b6: 0c0c |00cd: move-result-object v12 │ │ -0188b8: 6e10 8206 0900 |00ce: invoke-virtual {v9}, Ljava/util/Vector;.size:()I // method@0682 │ │ -0188be: 0a00 |00d1: move-result v0 │ │ -0188c0: 2300 a401 |00d2: new-array v0, v0, [Ldnsfilter/DNSServer; // type@01a4 │ │ -0188c4: 6e20 8306 0900 |00d4: invoke-virtual {v9, v0}, Ljava/util/Vector;.toArray:([Ljava/lang/Object;)[Ljava/lang/Object; // method@0683 │ │ -0188ca: 0c00 |00d7: move-result-object v0 │ │ -0188cc: 1f00 a401 |00d8: check-cast v0, [Ldnsfilter/DNSServer; // type@01a4 │ │ -0188d0: 6e20 7201 0c00 |00da: invoke-virtual {v12, v0}, Ldnsfilter/DNSCommunicator;.setDNSServers:([Ldnsfilter/DNSServer;)V // method@0172 │ │ -0188d6: 282a |00dd: goto 0107 // +002a │ │ -0188d8: 0d0c |00de: move-exception v12 │ │ -0188da: 7100 2507 0000 |00df: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0725 │ │ -0188e0: 0c00 |00e2: move-result-object v0 │ │ -0188e2: 7220 3007 c000 |00e3: invoke-interface {v0, v12}, Lutil/LoggerInterface;.logException:(Ljava/lang/Exception;)V // method@0730 │ │ -0188e8: 2821 |00e6: goto 0107 // +0021 │ │ -0188ea: 0d0c |00e7: move-exception v12 │ │ -0188ec: 7100 2507 0000 |00e8: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0725 │ │ -0188f2: 0c00 |00eb: move-result-object v0 │ │ -0188f4: 1a01 2e00 |00ec: const-string v1, "!!!DNS server initialization failed!!!" // string@002e │ │ -0188f8: 7220 3107 1000 |00ee: invoke-interface {v0, v1}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0731 │ │ -0188fe: 7100 2507 0000 |00f1: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0725 │ │ -018904: 0c00 |00f4: move-result-object v0 │ │ -018906: 6e10 2405 0c00 |00f5: invoke-virtual {v12}, Ljava/io/IOException;.toString:()Ljava/lang/String; // method@0524 │ │ -01890c: 0c01 |00f8: move-result-object v1 │ │ -01890e: 7220 3107 1000 |00f9: invoke-interface {v0, v1}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0731 │ │ -018914: 7100 2507 0000 |00fc: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0725 │ │ -01891a: 0c00 |00ff: move-result-object v0 │ │ -01891c: 6e10 2205 0c00 |0100: invoke-virtual {v12}, Ljava/io/IOException;.getMessage:()Ljava/lang/String; // method@0522 │ │ -018922: 0c0c |0103: move-result-object v12 │ │ -018924: 7220 3207 c000 |0104: invoke-interface {v0, v12}, Lutil/LoggerInterface;.message:(Ljava/lang/String;)V // method@0732 │ │ -01892a: 0e00 |0107: return-void │ │ +018708: |[018708] dnsfilter.android.DNSFilterService.handleDNSServerChange:([Ljava/lang/String;)V │ │ +018718: 6200 b800 |0000: sget-object v0, Ldnsfilter/android/DNSFilterService;.DNSFILTER:Ldnsfilter/DNSFilterManager; // field@00b8 │ │ +01871c: 3900 0300 |0002: if-nez v0, 0005 // +0003 │ │ +018720: 0e00 |0004: return-void │ │ +018722: 6e10 9401 0000 |0005: invoke-virtual {v0}, Ldnsfilter/DNSFilterManager;.getConfig:()Ljava/util/Properties; // method@0194 │ │ +018728: 0c01 |0008: move-result-object v1 │ │ +01872a: 1a02 5e06 |0009: const-string v2, "detectDNS" // string@065e │ │ +01872e: 1a03 420b |000b: const-string v3, "true" // string@0b42 │ │ +018732: 6e30 5506 2103 |000d: invoke-virtual {v1, v2, v3}, Ljava/util/Properties;.getProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@0655 │ │ +018738: 0c01 |0010: move-result-object v1 │ │ +01873a: 7110 4b05 0100 |0011: invoke-static {v1}, Ljava/lang/Boolean;.parseBoolean:(Ljava/lang/String;)Z // method@054b │ │ +018740: 0a01 |0014: move-result v1 │ │ +018742: 6e10 9401 0000 |0015: invoke-virtual {v0}, Ldnsfilter/DNSFilterManager;.getConfig:()Ljava/util/Properties; // method@0194 │ │ +018748: 0c02 |0018: move-result-object v2 │ │ +01874a: 1a03 7206 |0019: const-string v3, "dnsRequestTimeout" // string@0672 │ │ +01874e: 1a04 7400 |001b: const-string v4, "15000" // string@0074 │ │ +018752: 6e30 5506 3204 |001d: invoke-virtual {v2, v3, v4}, Ljava/util/Properties;.getProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@0655 │ │ +018758: 0c02 |0020: move-result-object v2 │ │ +01875a: 7110 6505 0200 |0021: invoke-static {v2}, Ljava/lang/Integer;.parseInt:(Ljava/lang/String;)I // method@0565 │ │ +018760: 0a02 |0024: move-result v2 │ │ +018762: 280b |0025: goto 0030 // +000b │ │ +018764: 0d02 |0026: move-exception v2 │ │ +018766: 7100 2507 0000 |0027: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0725 │ │ +01876c: 0c03 |002a: move-result-object v3 │ │ +01876e: 7220 3007 2300 |002b: invoke-interface {v3, v2}, Lutil/LoggerInterface;.logException:(Ljava/lang/Exception;)V // method@0730 │ │ +018774: 1302 983a |002e: const/16 v2, #int 15000 // #3a98 │ │ +018778: 2209 6a01 |0030: new-instance v9, Ljava/util/Vector; // type@016a │ │ +01877c: 7010 7506 0900 |0032: invoke-direct {v9}, Ljava/util/Vector;.:()V // method@0675 │ │ +018782: 1a0a 0000 |0035: const-string v10, "" // string@0000 │ │ +018786: 3801 6200 |0037: if-eqz v1, 0099 // +0062 │ │ +01878a: 6303 cd00 |0039: sget-boolean v3, Ldnsfilter/android/DNSFilterService;.rootMode:Z // field@00cd │ │ +01878e: 3903 5e00 |003b: if-nez v3, 0099 // +005e │ │ +018792: 1203 |003d: const/4 v3, #int 0 // #0 │ │ +018794: 120b |003e: const/4 v11, #int 0 // #0 │ │ +018796: 21c3 |003f: array-length v3, v12 │ │ +018798: 353b 5900 |0040: if-ge v11, v3, 0099 // +0059 │ │ +01879c: 4603 0c0b |0042: aget-object v3, v12, v11 │ │ +0187a0: 3803 4a00 |0044: if-eqz v3, 008e // +004a │ │ +0187a4: 6e20 8b05 a300 |0046: invoke-virtual {v3, v10}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058b │ │ +0187aa: 0a04 |0049: move-result v4 │ │ +0187ac: 3904 4400 |004a: if-nez v4, 008e // +0044 │ │ +0187b0: 6304 0f01 |004c: sget-boolean v4, Ldnsfilter/android/DNSProxyActivity;.debug:Z // field@010f │ │ +0187b4: 3804 1a00 |004e: if-eqz v4, 0068 // +001a │ │ +0187b8: 7100 2507 0000 |0050: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0725 │ │ +0187be: 0c04 |0053: move-result-object v4 │ │ +0187c0: 2205 2d01 |0054: new-instance v5, Ljava/lang/StringBuilder; // type@012d │ │ +0187c4: 7010 a705 0500 |0056: invoke-direct {v5}, Ljava/lang/StringBuilder;.:()V // method@05a7 │ │ +0187ca: 1a06 3901 |0059: const-string v6, "DNS:" // string@0139 │ │ +0187ce: 6e20 ad05 6500 |005b: invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +0187d4: 6e20 ad05 3500 |005e: invoke-virtual {v5, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +0187da: 6e10 af05 0500 |0061: invoke-virtual {v5}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ +0187e0: 0c05 |0064: move-result-object v5 │ │ +0187e2: 7220 3107 5400 |0065: invoke-interface {v4, v5}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0731 │ │ +0187e8: 6204 bf00 |0068: sget-object v4, Ldnsfilter/android/DNSFilterService;.VIRTUALDNS_IPV4:Ljava/lang/String; // field@00bf │ │ +0187ec: 6e20 8b05 4300 |006a: invoke-virtual {v3, v4}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058b │ │ +0187f2: 0a04 |006d: move-result v4 │ │ +0187f4: 3904 2000 |006e: if-nez v4, 008e // +0020 │ │ +0187f8: 6204 c000 |0070: sget-object v4, Ldnsfilter/android/DNSFilterService;.VIRTUALDNS_IPV6:Ljava/lang/String; // field@00c0 │ │ +0187fc: 6e20 8b05 4300 |0072: invoke-virtual {v3, v4}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058b │ │ +018802: 0a04 |0075: move-result v4 │ │ +018804: 3904 1800 |0076: if-nez v4, 008e // +0018 │ │ +018808: 7100 f401 0000 |0078: invoke-static {}, Ldnsfilter/DNSServer;.getInstance:()Ldnsfilter/DNSServer; // method@01f4 │ │ +01880e: 0c04 |007b: move-result-object v4 │ │ +018810: 7110 d305 0300 |007c: invoke-static {v3}, Ljava/net/InetAddress;.getByName:(Ljava/lang/String;)Ljava/net/InetAddress; // method@05d3 │ │ +018816: 0c05 |007f: move-result-object v5 │ │ +018818: 1306 3500 |0080: const/16 v6, #int 53 // #35 │ │ +01881c: 1208 |0082: const/4 v8, #int 0 // #0 │ │ +01881e: 1207 |0083: const/4 v7, #int 0 // #0 │ │ +018820: 0743 |0084: move-object v3, v4 │ │ +018822: 0174 |0085: move v4, v7 │ │ +018824: 0127 |0086: move v7, v2 │ │ +018826: 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 │ │ +01882c: 0c03 |008a: move-result-object v3 │ │ +01882e: 6e20 7706 3900 |008b: invoke-virtual {v9, v3}, Ljava/util/Vector;.add:(Ljava/lang/Object;)Z // method@0677 │ │ +018834: d80b 0b01 |008e: add-int/lit8 v11, v11, #int 1 // #01 │ │ +018838: 28af |0090: goto 003f // -0051 │ │ +01883a: 0d0c |0091: move-exception v12 │ │ +01883c: 7100 2507 0000 |0092: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0725 │ │ +018842: 0c03 |0095: move-result-object v3 │ │ +018844: 7220 3007 c300 |0096: invoke-interface {v3, v12}, Lutil/LoggerInterface;.logException:(Ljava/lang/Exception;)V // method@0730 │ │ +01884a: 6e10 7d06 0900 |0099: invoke-virtual {v9}, Ljava/util/Vector;.isEmpty:()Z // method@067d │ │ +018850: 0a0c |009c: move-result v12 │ │ +018852: 380c 2d00 |009d: if-eqz v12, 00ca // +002d │ │ +018856: 3801 0f00 |009f: if-eqz v1, 00ae // +000f │ │ +01885a: 630c cd00 |00a1: sget-boolean v12, Ldnsfilter/android/DNSFilterService;.rootMode:Z // field@00cd │ │ +01885e: 380c 0b00 |00a3: if-eqz v12, 00ae // +000b │ │ +018862: 7100 2507 0000 |00a5: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0725 │ │ +018868: 0c0c |00a8: move-result-object v12 │ │ +01886a: 1a01 2c01 |00a9: const-string v1, "DNS detection not possible in root mode!" // string@012c │ │ +01886e: 7220 3207 1c00 |00ab: invoke-interface {v12, v1}, Lutil/LoggerInterface;.message:(Ljava/lang/String;)V // method@0732 │ │ +018874: 6e10 9401 0000 |00ae: invoke-virtual {v0}, Ldnsfilter/DNSFilterManager;.getConfig:()Ljava/util/Properties; // method@0194 │ │ +01887a: 0c0c |00b1: move-result-object v12 │ │ +01887c: 1a00 de06 |00b2: const-string v0, "fallbackDNS" // string@06de │ │ +018880: 6e30 5506 0c0a |00b4: invoke-virtual {v12, v0, v10}, Ljava/util/Properties;.getProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@0655 │ │ +018886: 0c0c |00b7: move-result-object v12 │ │ +018888: 7100 f401 0000 |00b8: invoke-static {}, Ldnsfilter/DNSServer;.getInstance:()Ldnsfilter/DNSServer; // method@01f4 │ │ +01888e: 0c00 |00bb: move-result-object v0 │ │ +018890: 6301 cd00 |00bc: sget-boolean v1, Ldnsfilter/android/DNSFilterService;.rootMode:Z // field@00cd │ │ +018894: 6e40 ee01 c012 |00be: invoke-virtual {v0, v12, v2, v1}, Ldnsfilter/DNSServer;.createDNSServers:(Ljava/lang/String;IZ)[Ldnsfilter/DNSServer; // method@01ee │ │ +01889a: 0c0c |00c1: move-result-object v12 │ │ +01889c: 7100 6f01 0000 |00c2: invoke-static {}, Ldnsfilter/DNSCommunicator;.getInstance:()Ldnsfilter/DNSCommunicator; // method@016f │ │ +0188a2: 0c00 |00c5: move-result-object v0 │ │ +0188a4: 6e20 7201 c000 |00c6: invoke-virtual {v0, v12}, Ldnsfilter/DNSCommunicator;.setDNSServers:([Ldnsfilter/DNSServer;)V // method@0172 │ │ +0188aa: 283e |00c9: goto 0107 // +003e │ │ +0188ac: 7100 6f01 0000 |00ca: invoke-static {}, Ldnsfilter/DNSCommunicator;.getInstance:()Ldnsfilter/DNSCommunicator; // method@016f │ │ +0188b2: 0c0c |00cd: move-result-object v12 │ │ +0188b4: 6e10 8206 0900 |00ce: invoke-virtual {v9}, Ljava/util/Vector;.size:()I // method@0682 │ │ +0188ba: 0a00 |00d1: move-result v0 │ │ +0188bc: 2300 a401 |00d2: new-array v0, v0, [Ldnsfilter/DNSServer; // type@01a4 │ │ +0188c0: 6e20 8306 0900 |00d4: invoke-virtual {v9, v0}, Ljava/util/Vector;.toArray:([Ljava/lang/Object;)[Ljava/lang/Object; // method@0683 │ │ +0188c6: 0c00 |00d7: move-result-object v0 │ │ +0188c8: 1f00 a401 |00d8: check-cast v0, [Ldnsfilter/DNSServer; // type@01a4 │ │ +0188cc: 6e20 7201 0c00 |00da: invoke-virtual {v12, v0}, Ldnsfilter/DNSCommunicator;.setDNSServers:([Ldnsfilter/DNSServer;)V // method@0172 │ │ +0188d2: 282a |00dd: goto 0107 // +002a │ │ +0188d4: 0d0c |00de: move-exception v12 │ │ +0188d6: 7100 2507 0000 |00df: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0725 │ │ +0188dc: 0c00 |00e2: move-result-object v0 │ │ +0188de: 7220 3007 c000 |00e3: invoke-interface {v0, v12}, Lutil/LoggerInterface;.logException:(Ljava/lang/Exception;)V // method@0730 │ │ +0188e4: 2821 |00e6: goto 0107 // +0021 │ │ +0188e6: 0d0c |00e7: move-exception v12 │ │ +0188e8: 7100 2507 0000 |00e8: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0725 │ │ +0188ee: 0c00 |00eb: move-result-object v0 │ │ +0188f0: 1a01 2e00 |00ec: const-string v1, "!!!DNS server initialization failed!!!" // string@002e │ │ +0188f4: 7220 3107 1000 |00ee: invoke-interface {v0, v1}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0731 │ │ +0188fa: 7100 2507 0000 |00f1: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0725 │ │ +018900: 0c00 |00f4: move-result-object v0 │ │ +018902: 6e10 2405 0c00 |00f5: invoke-virtual {v12}, Ljava/io/IOException;.toString:()Ljava/lang/String; // method@0524 │ │ +018908: 0c01 |00f8: move-result-object v1 │ │ +01890a: 7220 3107 1000 |00f9: invoke-interface {v0, v1}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0731 │ │ +018910: 7100 2507 0000 |00fc: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0725 │ │ +018916: 0c00 |00ff: move-result-object v0 │ │ +018918: 6e10 2205 0c00 |0100: invoke-virtual {v12}, Ljava/io/IOException;.getMessage:()Ljava/lang/String; // method@0522 │ │ +01891e: 0c0c |0103: move-result-object v12 │ │ +018920: 7220 3207 c000 |0104: invoke-interface {v0, v12}, Lutil/LoggerInterface;.message:(Ljava/lang/String;)V // method@0732 │ │ +018926: 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 │ │ @@ -13027,243 +13027,243 @@ │ │ type : '(Z)Landroid/os/ParcelFileDescriptor;' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 16 │ │ ins : 2 │ │ outs : 3 │ │ insns size : 471 16-bit code units │ │ -017720: |[017720] dnsfilter.android.DNSFilterService.initVPN:(Z)Landroid/os/ParcelFileDescriptor; │ │ -017730: 7100 5301 0000 |0000: invoke-static {}, Ldnsfilter/ConfigurationAccess;.getLocal:()Ldnsfilter/ConfigurationAccess; // method@0153 │ │ -017736: 0c00 |0003: move-result-object v0 │ │ -017738: 6e10 4d01 0000 |0004: invoke-virtual {v0}, Ldnsfilter/ConfigurationAccess;.getConfig:()Ljava/util/Properties; // method@014d │ │ -01773e: 0c00 |0007: move-result-object v0 │ │ -017740: 1a01 d503 |0008: const-string v1, "MTU" // string@03d5 │ │ -017744: 1a02 7800 |000a: const-string v2, "3000" // string@0078 │ │ -017748: 6e30 5506 1002 |000c: invoke-virtual {v0, v1, v2}, Ljava/util/Properties;.getProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@0655 │ │ -01774e: 0c00 |000f: move-result-object v0 │ │ -017750: 7110 6505 0000 |0010: invoke-static {v0}, Ljava/lang/Integer;.parseInt:(Ljava/lang/String;)I // method@0565 │ │ -017756: 0a00 |0013: move-result v0 │ │ -017758: 59e0 ca00 |0014: iput v0, v14, Ldnsfilter/android/DNSFilterService;.mtu:I // field@00ca │ │ -01775c: 6200 b800 |0016: sget-object v0, Ldnsfilter/android/DNSFilterService;.DNSFILTER:Ldnsfilter/DNSFilterManager; // field@00b8 │ │ -017760: 6e10 9401 0000 |0018: invoke-virtual {v0}, Ldnsfilter/DNSFilterManager;.getConfig:()Ljava/util/Properties; // method@0194 │ │ -017766: 0c00 |001b: move-result-object v0 │ │ -017768: 1a01 330a |001c: const-string v1, "routeUnderlyingDNS" // string@0a33 │ │ -01776c: 1a02 df06 |001e: const-string v2, "false" // string@06df │ │ -017770: 6e30 5506 1002 |0020: invoke-virtual {v0, v1, v2}, Ljava/util/Properties;.getProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@0655 │ │ -017776: 0c00 |0023: move-result-object v0 │ │ -017778: 7110 4b05 0000 |0024: invoke-static {v0}, Ljava/lang/Boolean;.parseBoolean:(Ljava/lang/String;)Z // method@054b │ │ -01777e: 0a00 |0027: move-result v0 │ │ -017780: 6a00 ce00 |0028: sput-boolean v0, Ldnsfilter/android/DNSFilterService;.routeDNS:Z // field@00ce │ │ -017784: 2200 2e00 |002a: new-instance v0, Landroid/net/VpnService$Builder; // type@002e │ │ -017788: 7020 6b00 e000 |002c: invoke-direct {v0, v14}, Landroid/net/VpnService$Builder;.:(Landroid/net/VpnService;)V // method@006b │ │ -01778e: 1a01 6a09 |002f: const-string v1, "personalDNSFilter" // string@096a │ │ -017792: 6e20 7600 1000 |0031: invoke-virtual {v0, v1}, Landroid/net/VpnService$Builder;.setSession:(Ljava/lang/String;)Landroid/net/VpnService$Builder; // method@0076 │ │ -017798: 1241 |0034: const/4 v1, #int 4 // #4 │ │ -01779a: 7110 b002 0100 |0035: invoke-static {v1}, Ldnsfilter/android/DNSFilterService;.supportsIPVersion:(I)Z // method@02b0 │ │ -0177a0: 0a02 |0038: move-result v2 │ │ -0177a2: 1303 2000 |0039: const/16 v3, #int 32 // #20 │ │ -0177a6: 1304 1800 |003b: const/16 v4, #int 24 // #18 │ │ -0177aa: 3802 1300 |003d: if-eqz v2, 0050 // +0013 │ │ -0177ae: 6202 b600 |003f: sget-object v2, Ldnsfilter/android/DNSFilterService;.ADDRESS_IPV4:Ljava/lang/String; // field@00b6 │ │ -0177b2: 6e30 6c00 2004 |0041: invoke-virtual {v0, v2, v4}, Landroid/net/VpnService$Builder;.addAddress:(Ljava/lang/String;I)Landroid/net/VpnService$Builder; // method@006c │ │ -0177b8: 0c02 |0044: move-result-object v2 │ │ -0177ba: 6205 bf00 |0045: sget-object v5, Ldnsfilter/android/DNSFilterService;.VIRTUALDNS_IPV4:Ljava/lang/String; // field@00bf │ │ -0177be: 6e20 6e00 5200 |0047: invoke-virtual {v2, v5}, Landroid/net/VpnService$Builder;.addDnsServer:(Ljava/lang/String;)Landroid/net/VpnService$Builder; // method@006e │ │ -0177c4: 0c02 |004a: move-result-object v2 │ │ -0177c6: 6205 bf00 |004b: sget-object v5, Ldnsfilter/android/DNSFilterService;.VIRTUALDNS_IPV4:Ljava/lang/String; // field@00bf │ │ -0177ca: 6e30 6f00 5203 |004d: invoke-virtual {v2, v5, v3}, Landroid/net/VpnService$Builder;.addRoute:(Ljava/lang/String;I)Landroid/net/VpnService$Builder; // method@006f │ │ -0177d0: 1262 |0050: const/4 v2, #int 6 // #6 │ │ -0177d2: 7110 b002 0200 |0051: invoke-static {v2}, Ldnsfilter/android/DNSFilterService;.supportsIPVersion:(I)Z // method@02b0 │ │ -0177d8: 0a05 |0054: move-result v5 │ │ -0177da: 1306 8000 |0055: const/16 v6, #int 128 // #80 │ │ -0177de: 3805 1500 |0057: if-eqz v5, 006c // +0015 │ │ -0177e2: 6205 b700 |0059: sget-object v5, Ldnsfilter/android/DNSFilterService;.ADDRESS_IPV6:Ljava/lang/String; // field@00b7 │ │ -0177e6: 1307 3000 |005b: const/16 v7, #int 48 // #30 │ │ -0177ea: 6e30 6c00 5007 |005d: invoke-virtual {v0, v5, v7}, Landroid/net/VpnService$Builder;.addAddress:(Ljava/lang/String;I)Landroid/net/VpnService$Builder; // method@006c │ │ -0177f0: 0c05 |0060: move-result-object v5 │ │ -0177f2: 6207 c000 |0061: sget-object v7, Ldnsfilter/android/DNSFilterService;.VIRTUALDNS_IPV6:Ljava/lang/String; // field@00c0 │ │ -0177f6: 6e20 6e00 7500 |0063: invoke-virtual {v5, v7}, Landroid/net/VpnService$Builder;.addDnsServer:(Ljava/lang/String;)Landroid/net/VpnService$Builder; // method@006e │ │ -0177fc: 0c05 |0066: move-result-object v5 │ │ -0177fe: 6207 c000 |0067: sget-object v7, Ldnsfilter/android/DNSFilterService;.VIRTUALDNS_IPV6:Ljava/lang/String; // field@00c0 │ │ -017802: 6e30 6f00 7506 |0069: invoke-virtual {v5, v7, v6}, Landroid/net/VpnService$Builder;.addRoute:(Ljava/lang/String;I)Landroid/net/VpnService$Builder; // method@006f │ │ -017808: 6205 b800 |006c: sget-object v5, Ldnsfilter/android/DNSFilterService;.DNSFILTER:Ldnsfilter/DNSFilterManager; // field@00b8 │ │ -01780c: 6e10 9401 0500 |006e: invoke-virtual {v5}, Ldnsfilter/DNSFilterManager;.getConfig:()Ljava/util/Properties; // method@0194 │ │ -017812: 0c05 |0071: move-result-object v5 │ │ -017814: 1a07 320a |0072: const-string v7, "routeIPs" // string@0a32 │ │ -017818: 1a08 0000 |0074: const-string v8, "" // string@0000 │ │ -01781c: 6e30 5506 7508 |0076: invoke-virtual {v5, v7, v8}, Ljava/util/Properties;.getProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@0655 │ │ -017822: 0c05 |0079: move-result-object v5 │ │ -017824: 6e10 a005 0500 |007a: invoke-virtual {v5}, Ljava/lang/String;.trim:()Ljava/lang/String; // method@05a0 │ │ -01782a: 0c07 |007d: move-result-object v7 │ │ -01782c: 6e20 8b05 8700 |007e: invoke-virtual {v7, v8}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058b │ │ -017832: 0a07 |0081: move-result v7 │ │ -017834: 1a09 8d00 |0082: const-string v9, "; " // string@008d │ │ -017838: 3907 1100 |0084: if-nez v7, 0095 // +0011 │ │ -01783c: 2207 2d01 |0086: new-instance v7, Ljava/lang/StringBuilder; // type@012d │ │ -017840: 7010 a705 0700 |0088: invoke-direct {v7}, Ljava/lang/StringBuilder;.:()V // method@05a7 │ │ -017846: 6e20 ad05 5700 |008b: invoke-virtual {v7, v5}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -01784c: 6e20 ad05 9700 |008e: invoke-virtual {v7, v9}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -017852: 6e10 af05 0700 |0091: invoke-virtual {v7}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ -017858: 0c05 |0094: move-result-object v5 │ │ -01785a: 6307 ce00 |0095: sget-boolean v7, Ldnsfilter/android/DNSFilterService;.routeDNS:Z // field@00ce │ │ -01785e: 120a |0097: const/4 v10, #int 0 // #0 │ │ -017860: 3807 2100 |0098: if-eqz v7, 00b9 // +0021 │ │ -017864: 7100 9502 0000 |009a: invoke-static {}, Ldnsfilter/android/DNSFilterService;.getDNSServers:()[Ljava/lang/String; // method@0295 │ │ -01786a: 0c07 |009d: move-result-object v7 │ │ -01786c: 120b |009e: const/4 v11, #int 0 // #0 │ │ -01786e: 217c |009f: array-length v12, v7 │ │ -017870: 35cb 1900 |00a0: if-ge v11, v12, 00b9 // +0019 │ │ -017874: 220c 2d01 |00a2: new-instance v12, Ljava/lang/StringBuilder; // type@012d │ │ -017878: 7010 a705 0c00 |00a4: invoke-direct {v12}, Ljava/lang/StringBuilder;.:()V // method@05a7 │ │ -01787e: 6e20 ad05 5c00 |00a7: invoke-virtual {v12, v5}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -017884: 4605 070b |00aa: aget-object v5, v7, v11 │ │ -017888: 6e20 ad05 5c00 |00ac: invoke-virtual {v12, v5}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -01788e: 6e20 ad05 9c00 |00af: invoke-virtual {v12, v9}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -017894: 6e10 af05 0c00 |00b2: invoke-virtual {v12}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ -01789a: 0c05 |00b5: move-result-object v5 │ │ -01789c: d80b 0b01 |00b6: add-int/lit8 v11, v11, #int 1 // #01 │ │ -0178a0: 28e7 |00b8: goto 009f // -0019 │ │ -0178a2: 6e10 a005 0500 |00b9: invoke-virtual {v5}, Ljava/lang/String;.trim:()Ljava/lang/String; // method@05a0 │ │ -0178a8: 0c07 |00bc: move-result-object v7 │ │ -0178aa: 6e20 8b05 8700 |00bd: invoke-virtual {v7, v8}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058b │ │ -0178b0: 0a07 |00c0: move-result v7 │ │ -0178b2: 1a09 8c00 |00c1: const-string v9, ";" // string@008c │ │ -0178b6: 3907 2100 |00c3: if-nez v7, 00e4 // +0021 │ │ -0178ba: 6e10 a005 0500 |00c5: invoke-virtual {v5}, Ljava/lang/String;.trim:()Ljava/lang/String; // method@05a0 │ │ -0178c0: 0c07 |00c8: move-result-object v7 │ │ -0178c2: 6e20 8b05 9700 |00c9: invoke-virtual {v7, v9}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058b │ │ -0178c8: 0a07 |00cc: move-result v7 │ │ -0178ca: 3907 1700 |00cd: if-nez v7, 00e4 // +0017 │ │ -0178ce: 7100 2507 0000 |00cf: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0725 │ │ -0178d4: 0c07 |00d2: move-result-object v7 │ │ -0178d6: 220b 2d01 |00d3: new-instance v11, Ljava/lang/StringBuilder; // type@012d │ │ -0178da: 1a0c bb00 |00d5: const-string v12, "Adding routes: " // string@00bb │ │ -0178de: 7020 a805 cb00 |00d7: invoke-direct {v11, v12}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05a8 │ │ -0178e4: 6e20 ad05 5b00 |00da: invoke-virtual {v11, v5}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -0178ea: 6e10 af05 0b00 |00dd: invoke-virtual {v11}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ -0178f0: 0c0b |00e0: move-result-object v11 │ │ -0178f2: 7220 3107 b700 |00e1: invoke-interface {v7, v11}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0731 │ │ -0178f8: 2207 6601 |00e4: new-instance v7, Ljava/util/StringTokenizer; // type@0166 │ │ -0178fc: 7030 6206 5709 |00e6: invoke-direct {v7, v5, v9}, Ljava/util/StringTokenizer;.:(Ljava/lang/String;Ljava/lang/String;)V // method@0662 │ │ -017902: 6e10 6306 0700 |00e9: invoke-virtual {v7}, Ljava/util/StringTokenizer;.countTokens:()I // method@0663 │ │ -017908: 0a05 |00ec: move-result v5 │ │ -01790a: 1209 |00ed: const/4 v9, #int 0 // #0 │ │ -01790c: 3559 4300 |00ee: if-ge v9, v5, 0131 // +0043 │ │ -017910: 6e10 6606 0700 |00f0: invoke-virtual {v7}, Ljava/util/StringTokenizer;.nextToken:()Ljava/lang/String; // method@0666 │ │ -017916: 0c0b |00f3: move-result-object v11 │ │ -017918: 6e10 a005 0b00 |00f4: invoke-virtual {v11}, Ljava/lang/String;.trim:()Ljava/lang/String; // method@05a0 │ │ -01791e: 0c0b |00f7: move-result-object v11 │ │ -017920: 6e20 8b05 8b00 |00f8: invoke-virtual {v11, v8}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058b │ │ -017926: 0a0c |00fb: move-result v12 │ │ -017928: 390c 3200 |00fc: if-nez v12, 012e // +0032 │ │ -01792c: 7110 d305 0b00 |00fe: invoke-static {v11}, Ljava/net/InetAddress;.getByName:(Ljava/lang/String;)Ljava/net/InetAddress; // method@05d3 │ │ -017932: 0c0c |0101: move-result-object v12 │ │ -017934: 20cd 3501 |0102: instance-of v13, v12, Ljava/net/Inet4Address; // type@0135 │ │ -017938: 380d 1000 |0104: if-eqz v13, 0114 // +0010 │ │ -01793c: 7110 b002 0100 |0106: invoke-static {v1}, Ldnsfilter/android/DNSFilterService;.supportsIPVersion:(I)Z // method@02b0 │ │ -017942: 0a0d |0109: move-result v13 │ │ -017944: 380d 0a00 |010a: if-eqz v13, 0114 // +000a │ │ -017948: 7110 d305 0b00 |010c: invoke-static {v11}, Ljava/net/InetAddress;.getByName:(Ljava/lang/String;)Ljava/net/InetAddress; // method@05d3 │ │ -01794e: 0c0b |010f: move-result-object v11 │ │ -017950: 6e30 7000 b003 |0110: invoke-virtual {v0, v11, v3}, Landroid/net/VpnService$Builder;.addRoute:(Ljava/net/InetAddress;I)Landroid/net/VpnService$Builder; // method@0070 │ │ -017956: 281b |0113: goto 012e // +001b │ │ -017958: 20cc 3601 |0114: instance-of v12, v12, Ljava/net/Inet6Address; // type@0136 │ │ -01795c: 380c 1800 |0116: if-eqz v12, 012e // +0018 │ │ -017960: 7110 b002 0200 |0118: invoke-static {v2}, Ldnsfilter/android/DNSFilterService;.supportsIPVersion:(I)Z // method@02b0 │ │ -017966: 0a0c |011b: move-result v12 │ │ -017968: 380c 1200 |011c: if-eqz v12, 012e // +0012 │ │ -01796c: 7110 d305 0b00 |011e: invoke-static {v11}, Ljava/net/InetAddress;.getByName:(Ljava/lang/String;)Ljava/net/InetAddress; // method@05d3 │ │ -017972: 0c0b |0121: move-result-object v11 │ │ -017974: 6e30 7000 b006 |0122: invoke-virtual {v0, v11, v6}, Landroid/net/VpnService$Builder;.addRoute:(Ljava/net/InetAddress;I)Landroid/net/VpnService$Builder; // method@0070 │ │ -01797a: 2809 |0125: goto 012e // +0009 │ │ -01797c: 0d0b |0126: move-exception v11 │ │ -01797e: 7100 2507 0000 |0127: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0725 │ │ -017984: 0c0c |012a: move-result-object v12 │ │ -017986: 7220 3007 bc00 |012b: invoke-interface {v12, v11}, Lutil/LoggerInterface;.logException:(Ljava/lang/Exception;)V // method@0730 │ │ -01798c: d809 0901 |012e: add-int/lit8 v9, v9, #int 1 // #01 │ │ -017990: 28be |0130: goto 00ee // -0042 │ │ -017992: 2201 6601 |0131: new-instance v1, Ljava/util/StringTokenizer; // type@0166 │ │ -017996: 6202 b800 |0133: sget-object v2, Ldnsfilter/android/DNSFilterService;.DNSFILTER:Ldnsfilter/DNSFilterManager; // field@00b8 │ │ -01799a: 6e10 9401 0200 |0135: invoke-virtual {v2}, Ldnsfilter/DNSFilterManager;.getConfig:()Ljava/util/Properties; // method@0194 │ │ -0179a0: 0c02 |0138: move-result-object v2 │ │ -0179a2: 1a03 6705 |0139: const-string v3, "androidAppWhiteList" // string@0567 │ │ -0179a6: 6e30 5506 3208 |013b: invoke-virtual {v2, v3, v8}, Ljava/util/Properties;.getProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@0655 │ │ -0179ac: 0c02 |013e: move-result-object v2 │ │ -0179ae: 1a03 5000 |013f: const-string v3, "," // string@0050 │ │ -0179b2: 7030 6206 2103 |0141: invoke-direct {v1, v2, v3}, Ljava/util/StringTokenizer;.:(Ljava/lang/String;Ljava/lang/String;)V // method@0662 │ │ -0179b8: 6e10 6306 0100 |0144: invoke-virtual {v1}, Ljava/util/StringTokenizer;.countTokens:()I // method@0663 │ │ -0179be: 0a02 |0147: move-result v2 │ │ -0179c0: 1303 1500 |0148: const/16 v3, #int 21 // #15 │ │ -0179c4: 3802 1200 |014a: if-eqz v2, 015c // +0012 │ │ -0179c8: 6005 0200 |014c: sget v5, Landroid/os/Build$VERSION;.SDK_INT:I // field@0002 │ │ -0179cc: 3535 0e00 |014e: if-ge v5, v3, 015c // +000e │ │ -0179d0: 380f 0b00 |0150: if-eqz v15, 015b // +000b │ │ -0179d4: 7100 2507 0000 |0152: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0725 │ │ -0179da: 0c02 |0155: move-result-object v2 │ │ -0179dc: 1a05 da04 |0156: const-string v5, "WARNING!: Application whitelisting not supported for Android version below 5.01! │ │ +01771c: |[01771c] dnsfilter.android.DNSFilterService.initVPN:(Z)Landroid/os/ParcelFileDescriptor; │ │ +01772c: 7100 5301 0000 |0000: invoke-static {}, Ldnsfilter/ConfigurationAccess;.getLocal:()Ldnsfilter/ConfigurationAccess; // method@0153 │ │ +017732: 0c00 |0003: move-result-object v0 │ │ +017734: 6e10 4d01 0000 |0004: invoke-virtual {v0}, Ldnsfilter/ConfigurationAccess;.getConfig:()Ljava/util/Properties; // method@014d │ │ +01773a: 0c00 |0007: move-result-object v0 │ │ +01773c: 1a01 d503 |0008: const-string v1, "MTU" // string@03d5 │ │ +017740: 1a02 7800 |000a: const-string v2, "3000" // string@0078 │ │ +017744: 6e30 5506 1002 |000c: invoke-virtual {v0, v1, v2}, Ljava/util/Properties;.getProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@0655 │ │ +01774a: 0c00 |000f: move-result-object v0 │ │ +01774c: 7110 6505 0000 |0010: invoke-static {v0}, Ljava/lang/Integer;.parseInt:(Ljava/lang/String;)I // method@0565 │ │ +017752: 0a00 |0013: move-result v0 │ │ +017754: 59e0 ca00 |0014: iput v0, v14, Ldnsfilter/android/DNSFilterService;.mtu:I // field@00ca │ │ +017758: 6200 b800 |0016: sget-object v0, Ldnsfilter/android/DNSFilterService;.DNSFILTER:Ldnsfilter/DNSFilterManager; // field@00b8 │ │ +01775c: 6e10 9401 0000 |0018: invoke-virtual {v0}, Ldnsfilter/DNSFilterManager;.getConfig:()Ljava/util/Properties; // method@0194 │ │ +017762: 0c00 |001b: move-result-object v0 │ │ +017764: 1a01 330a |001c: const-string v1, "routeUnderlyingDNS" // string@0a33 │ │ +017768: 1a02 df06 |001e: const-string v2, "false" // string@06df │ │ +01776c: 6e30 5506 1002 |0020: invoke-virtual {v0, v1, v2}, Ljava/util/Properties;.getProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@0655 │ │ +017772: 0c00 |0023: move-result-object v0 │ │ +017774: 7110 4b05 0000 |0024: invoke-static {v0}, Ljava/lang/Boolean;.parseBoolean:(Ljava/lang/String;)Z // method@054b │ │ +01777a: 0a00 |0027: move-result v0 │ │ +01777c: 6a00 ce00 |0028: sput-boolean v0, Ldnsfilter/android/DNSFilterService;.routeDNS:Z // field@00ce │ │ +017780: 2200 2e00 |002a: new-instance v0, Landroid/net/VpnService$Builder; // type@002e │ │ +017784: 7020 6b00 e000 |002c: invoke-direct {v0, v14}, Landroid/net/VpnService$Builder;.:(Landroid/net/VpnService;)V // method@006b │ │ +01778a: 1a01 6a09 |002f: const-string v1, "personalDNSFilter" // string@096a │ │ +01778e: 6e20 7600 1000 |0031: invoke-virtual {v0, v1}, Landroid/net/VpnService$Builder;.setSession:(Ljava/lang/String;)Landroid/net/VpnService$Builder; // method@0076 │ │ +017794: 1241 |0034: const/4 v1, #int 4 // #4 │ │ +017796: 7110 b002 0100 |0035: invoke-static {v1}, Ldnsfilter/android/DNSFilterService;.supportsIPVersion:(I)Z // method@02b0 │ │ +01779c: 0a02 |0038: move-result v2 │ │ +01779e: 1303 2000 |0039: const/16 v3, #int 32 // #20 │ │ +0177a2: 1304 1800 |003b: const/16 v4, #int 24 // #18 │ │ +0177a6: 3802 1300 |003d: if-eqz v2, 0050 // +0013 │ │ +0177aa: 6202 b600 |003f: sget-object v2, Ldnsfilter/android/DNSFilterService;.ADDRESS_IPV4:Ljava/lang/String; // field@00b6 │ │ +0177ae: 6e30 6c00 2004 |0041: invoke-virtual {v0, v2, v4}, Landroid/net/VpnService$Builder;.addAddress:(Ljava/lang/String;I)Landroid/net/VpnService$Builder; // method@006c │ │ +0177b4: 0c02 |0044: move-result-object v2 │ │ +0177b6: 6205 bf00 |0045: sget-object v5, Ldnsfilter/android/DNSFilterService;.VIRTUALDNS_IPV4:Ljava/lang/String; // field@00bf │ │ +0177ba: 6e20 6e00 5200 |0047: invoke-virtual {v2, v5}, Landroid/net/VpnService$Builder;.addDnsServer:(Ljava/lang/String;)Landroid/net/VpnService$Builder; // method@006e │ │ +0177c0: 0c02 |004a: move-result-object v2 │ │ +0177c2: 6205 bf00 |004b: sget-object v5, Ldnsfilter/android/DNSFilterService;.VIRTUALDNS_IPV4:Ljava/lang/String; // field@00bf │ │ +0177c6: 6e30 6f00 5203 |004d: invoke-virtual {v2, v5, v3}, Landroid/net/VpnService$Builder;.addRoute:(Ljava/lang/String;I)Landroid/net/VpnService$Builder; // method@006f │ │ +0177cc: 1262 |0050: const/4 v2, #int 6 // #6 │ │ +0177ce: 7110 b002 0200 |0051: invoke-static {v2}, Ldnsfilter/android/DNSFilterService;.supportsIPVersion:(I)Z // method@02b0 │ │ +0177d4: 0a05 |0054: move-result v5 │ │ +0177d6: 1306 8000 |0055: const/16 v6, #int 128 // #80 │ │ +0177da: 3805 1500 |0057: if-eqz v5, 006c // +0015 │ │ +0177de: 6205 b700 |0059: sget-object v5, Ldnsfilter/android/DNSFilterService;.ADDRESS_IPV6:Ljava/lang/String; // field@00b7 │ │ +0177e2: 1307 3000 |005b: const/16 v7, #int 48 // #30 │ │ +0177e6: 6e30 6c00 5007 |005d: invoke-virtual {v0, v5, v7}, Landroid/net/VpnService$Builder;.addAddress:(Ljava/lang/String;I)Landroid/net/VpnService$Builder; // method@006c │ │ +0177ec: 0c05 |0060: move-result-object v5 │ │ +0177ee: 6207 c000 |0061: sget-object v7, Ldnsfilter/android/DNSFilterService;.VIRTUALDNS_IPV6:Ljava/lang/String; // field@00c0 │ │ +0177f2: 6e20 6e00 7500 |0063: invoke-virtual {v5, v7}, Landroid/net/VpnService$Builder;.addDnsServer:(Ljava/lang/String;)Landroid/net/VpnService$Builder; // method@006e │ │ +0177f8: 0c05 |0066: move-result-object v5 │ │ +0177fa: 6207 c000 |0067: sget-object v7, Ldnsfilter/android/DNSFilterService;.VIRTUALDNS_IPV6:Ljava/lang/String; // field@00c0 │ │ +0177fe: 6e30 6f00 7506 |0069: invoke-virtual {v5, v7, v6}, Landroid/net/VpnService$Builder;.addRoute:(Ljava/lang/String;I)Landroid/net/VpnService$Builder; // method@006f │ │ +017804: 6205 b800 |006c: sget-object v5, Ldnsfilter/android/DNSFilterService;.DNSFILTER:Ldnsfilter/DNSFilterManager; // field@00b8 │ │ +017808: 6e10 9401 0500 |006e: invoke-virtual {v5}, Ldnsfilter/DNSFilterManager;.getConfig:()Ljava/util/Properties; // method@0194 │ │ +01780e: 0c05 |0071: move-result-object v5 │ │ +017810: 1a07 320a |0072: const-string v7, "routeIPs" // string@0a32 │ │ +017814: 1a08 0000 |0074: const-string v8, "" // string@0000 │ │ +017818: 6e30 5506 7508 |0076: invoke-virtual {v5, v7, v8}, Ljava/util/Properties;.getProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@0655 │ │ +01781e: 0c05 |0079: move-result-object v5 │ │ +017820: 6e10 a005 0500 |007a: invoke-virtual {v5}, Ljava/lang/String;.trim:()Ljava/lang/String; // method@05a0 │ │ +017826: 0c07 |007d: move-result-object v7 │ │ +017828: 6e20 8b05 8700 |007e: invoke-virtual {v7, v8}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058b │ │ +01782e: 0a07 |0081: move-result v7 │ │ +017830: 1a09 8d00 |0082: const-string v9, "; " // string@008d │ │ +017834: 3907 1100 |0084: if-nez v7, 0095 // +0011 │ │ +017838: 2207 2d01 |0086: new-instance v7, Ljava/lang/StringBuilder; // type@012d │ │ +01783c: 7010 a705 0700 |0088: invoke-direct {v7}, Ljava/lang/StringBuilder;.:()V // method@05a7 │ │ +017842: 6e20 ad05 5700 |008b: invoke-virtual {v7, v5}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +017848: 6e20 ad05 9700 |008e: invoke-virtual {v7, v9}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +01784e: 6e10 af05 0700 |0091: invoke-virtual {v7}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ +017854: 0c05 |0094: move-result-object v5 │ │ +017856: 6307 ce00 |0095: sget-boolean v7, Ldnsfilter/android/DNSFilterService;.routeDNS:Z // field@00ce │ │ +01785a: 120a |0097: const/4 v10, #int 0 // #0 │ │ +01785c: 3807 2100 |0098: if-eqz v7, 00b9 // +0021 │ │ +017860: 7100 9502 0000 |009a: invoke-static {}, Ldnsfilter/android/DNSFilterService;.getDNSServers:()[Ljava/lang/String; // method@0295 │ │ +017866: 0c07 |009d: move-result-object v7 │ │ +017868: 120b |009e: const/4 v11, #int 0 // #0 │ │ +01786a: 217c |009f: array-length v12, v7 │ │ +01786c: 35cb 1900 |00a0: if-ge v11, v12, 00b9 // +0019 │ │ +017870: 220c 2d01 |00a2: new-instance v12, Ljava/lang/StringBuilder; // type@012d │ │ +017874: 7010 a705 0c00 |00a4: invoke-direct {v12}, Ljava/lang/StringBuilder;.:()V // method@05a7 │ │ +01787a: 6e20 ad05 5c00 |00a7: invoke-virtual {v12, v5}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +017880: 4605 070b |00aa: aget-object v5, v7, v11 │ │ +017884: 6e20 ad05 5c00 |00ac: invoke-virtual {v12, v5}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +01788a: 6e20 ad05 9c00 |00af: invoke-virtual {v12, v9}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +017890: 6e10 af05 0c00 |00b2: invoke-virtual {v12}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ +017896: 0c05 |00b5: move-result-object v5 │ │ +017898: d80b 0b01 |00b6: add-int/lit8 v11, v11, #int 1 // #01 │ │ +01789c: 28e7 |00b8: goto 009f // -0019 │ │ +01789e: 6e10 a005 0500 |00b9: invoke-virtual {v5}, Ljava/lang/String;.trim:()Ljava/lang/String; // method@05a0 │ │ +0178a4: 0c07 |00bc: move-result-object v7 │ │ +0178a6: 6e20 8b05 8700 |00bd: invoke-virtual {v7, v8}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058b │ │ +0178ac: 0a07 |00c0: move-result v7 │ │ +0178ae: 1a09 8c00 |00c1: const-string v9, ";" // string@008c │ │ +0178b2: 3907 2100 |00c3: if-nez v7, 00e4 // +0021 │ │ +0178b6: 6e10 a005 0500 |00c5: invoke-virtual {v5}, Ljava/lang/String;.trim:()Ljava/lang/String; // method@05a0 │ │ +0178bc: 0c07 |00c8: move-result-object v7 │ │ +0178be: 6e20 8b05 9700 |00c9: invoke-virtual {v7, v9}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058b │ │ +0178c4: 0a07 |00cc: move-result v7 │ │ +0178c6: 3907 1700 |00cd: if-nez v7, 00e4 // +0017 │ │ +0178ca: 7100 2507 0000 |00cf: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0725 │ │ +0178d0: 0c07 |00d2: move-result-object v7 │ │ +0178d2: 220b 2d01 |00d3: new-instance v11, Ljava/lang/StringBuilder; // type@012d │ │ +0178d6: 1a0c bb00 |00d5: const-string v12, "Adding routes: " // string@00bb │ │ +0178da: 7020 a805 cb00 |00d7: invoke-direct {v11, v12}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05a8 │ │ +0178e0: 6e20 ad05 5b00 |00da: invoke-virtual {v11, v5}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +0178e6: 6e10 af05 0b00 |00dd: invoke-virtual {v11}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ +0178ec: 0c0b |00e0: move-result-object v11 │ │ +0178ee: 7220 3107 b700 |00e1: invoke-interface {v7, v11}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0731 │ │ +0178f4: 2207 6601 |00e4: new-instance v7, Ljava/util/StringTokenizer; // type@0166 │ │ +0178f8: 7030 6206 5709 |00e6: invoke-direct {v7, v5, v9}, Ljava/util/StringTokenizer;.:(Ljava/lang/String;Ljava/lang/String;)V // method@0662 │ │ +0178fe: 6e10 6306 0700 |00e9: invoke-virtual {v7}, Ljava/util/StringTokenizer;.countTokens:()I // method@0663 │ │ +017904: 0a05 |00ec: move-result v5 │ │ +017906: 1209 |00ed: const/4 v9, #int 0 // #0 │ │ +017908: 3559 4300 |00ee: if-ge v9, v5, 0131 // +0043 │ │ +01790c: 6e10 6606 0700 |00f0: invoke-virtual {v7}, Ljava/util/StringTokenizer;.nextToken:()Ljava/lang/String; // method@0666 │ │ +017912: 0c0b |00f3: move-result-object v11 │ │ +017914: 6e10 a005 0b00 |00f4: invoke-virtual {v11}, Ljava/lang/String;.trim:()Ljava/lang/String; // method@05a0 │ │ +01791a: 0c0b |00f7: move-result-object v11 │ │ +01791c: 6e20 8b05 8b00 |00f8: invoke-virtual {v11, v8}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058b │ │ +017922: 0a0c |00fb: move-result v12 │ │ +017924: 390c 3200 |00fc: if-nez v12, 012e // +0032 │ │ +017928: 7110 d305 0b00 |00fe: invoke-static {v11}, Ljava/net/InetAddress;.getByName:(Ljava/lang/String;)Ljava/net/InetAddress; // method@05d3 │ │ +01792e: 0c0c |0101: move-result-object v12 │ │ +017930: 20cd 3501 |0102: instance-of v13, v12, Ljava/net/Inet4Address; // type@0135 │ │ +017934: 380d 1000 |0104: if-eqz v13, 0114 // +0010 │ │ +017938: 7110 b002 0100 |0106: invoke-static {v1}, Ldnsfilter/android/DNSFilterService;.supportsIPVersion:(I)Z // method@02b0 │ │ +01793e: 0a0d |0109: move-result v13 │ │ +017940: 380d 0a00 |010a: if-eqz v13, 0114 // +000a │ │ +017944: 7110 d305 0b00 |010c: invoke-static {v11}, Ljava/net/InetAddress;.getByName:(Ljava/lang/String;)Ljava/net/InetAddress; // method@05d3 │ │ +01794a: 0c0b |010f: move-result-object v11 │ │ +01794c: 6e30 7000 b003 |0110: invoke-virtual {v0, v11, v3}, Landroid/net/VpnService$Builder;.addRoute:(Ljava/net/InetAddress;I)Landroid/net/VpnService$Builder; // method@0070 │ │ +017952: 281b |0113: goto 012e // +001b │ │ +017954: 20cc 3601 |0114: instance-of v12, v12, Ljava/net/Inet6Address; // type@0136 │ │ +017958: 380c 1800 |0116: if-eqz v12, 012e // +0018 │ │ +01795c: 7110 b002 0200 |0118: invoke-static {v2}, Ldnsfilter/android/DNSFilterService;.supportsIPVersion:(I)Z // method@02b0 │ │ +017962: 0a0c |011b: move-result v12 │ │ +017964: 380c 1200 |011c: if-eqz v12, 012e // +0012 │ │ +017968: 7110 d305 0b00 |011e: invoke-static {v11}, Ljava/net/InetAddress;.getByName:(Ljava/lang/String;)Ljava/net/InetAddress; // method@05d3 │ │ +01796e: 0c0b |0121: move-result-object v11 │ │ +017970: 6e30 7000 b006 |0122: invoke-virtual {v0, v11, v6}, Landroid/net/VpnService$Builder;.addRoute:(Ljava/net/InetAddress;I)Landroid/net/VpnService$Builder; // method@0070 │ │ +017976: 2809 |0125: goto 012e // +0009 │ │ +017978: 0d0b |0126: move-exception v11 │ │ +01797a: 7100 2507 0000 |0127: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0725 │ │ +017980: 0c0c |012a: move-result-object v12 │ │ +017982: 7220 3007 bc00 |012b: invoke-interface {v12, v11}, Lutil/LoggerInterface;.logException:(Ljava/lang/Exception;)V // method@0730 │ │ +017988: d809 0901 |012e: add-int/lit8 v9, v9, #int 1 // #01 │ │ +01798c: 28be |0130: goto 00ee // -0042 │ │ +01798e: 2201 6601 |0131: new-instance v1, Ljava/util/StringTokenizer; // type@0166 │ │ +017992: 6202 b800 |0133: sget-object v2, Ldnsfilter/android/DNSFilterService;.DNSFILTER:Ldnsfilter/DNSFilterManager; // field@00b8 │ │ +017996: 6e10 9401 0200 |0135: invoke-virtual {v2}, Ldnsfilter/DNSFilterManager;.getConfig:()Ljava/util/Properties; // method@0194 │ │ +01799c: 0c02 |0138: move-result-object v2 │ │ +01799e: 1a03 6705 |0139: const-string v3, "androidAppWhiteList" // string@0567 │ │ +0179a2: 6e30 5506 3208 |013b: invoke-virtual {v2, v3, v8}, Ljava/util/Properties;.getProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@0655 │ │ +0179a8: 0c02 |013e: move-result-object v2 │ │ +0179aa: 1a03 5000 |013f: const-string v3, "," // string@0050 │ │ +0179ae: 7030 6206 2103 |0141: invoke-direct {v1, v2, v3}, Ljava/util/StringTokenizer;.:(Ljava/lang/String;Ljava/lang/String;)V // method@0662 │ │ +0179b4: 6e10 6306 0100 |0144: invoke-virtual {v1}, Ljava/util/StringTokenizer;.countTokens:()I // method@0663 │ │ +0179ba: 0a02 |0147: move-result v2 │ │ +0179bc: 1303 1500 |0148: const/16 v3, #int 21 // #15 │ │ +0179c0: 3802 1200 |014a: if-eqz v2, 015c // +0012 │ │ +0179c4: 6005 0200 |014c: sget v5, Landroid/os/Build$VERSION;.SDK_INT:I // field@0002 │ │ +0179c8: 3535 0e00 |014e: if-ge v5, v3, 015c // +000e │ │ +0179cc: 380f 0b00 |0150: if-eqz v15, 015b // +000b │ │ +0179d0: 7100 2507 0000 |0152: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0725 │ │ +0179d6: 0c02 |0155: move-result-object v2 │ │ +0179d8: 1a05 da04 |0156: const-string v5, "WARNING!: Application whitelisting not supported for Android version below 5.01! │ │ Setting ignored!" // string@04da │ │ -0179e0: 7220 3107 5200 |0158: invoke-interface {v2, v5}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0731 │ │ -0179e6: 1202 |015b: const/4 v2, #int 0 // #0 │ │ -0179e8: 1205 |015c: const/4 v5, #int 0 // #0 │ │ -0179ea: 3525 1000 |015d: if-ge v5, v2, 016d // +0010 │ │ -0179ee: 6e10 6606 0100 |015f: invoke-virtual {v1}, Ljava/util/StringTokenizer;.nextToken:()Ljava/lang/String; // method@0666 │ │ -0179f4: 0c06 |0162: move-result-object v6 │ │ -0179f6: 6e10 a005 0600 |0163: invoke-virtual {v6}, Ljava/lang/String;.trim:()Ljava/lang/String; // method@05a0 │ │ -0179fc: 0c06 |0166: move-result-object v6 │ │ -0179fe: 7030 9202 6e00 |0167: invoke-direct {v14, v6, v0}, Ldnsfilter/android/DNSFilterService;.excludeApp:(Ljava/lang/String;Landroid/net/VpnService$Builder;)V // method@0292 │ │ -017a04: d805 0501 |016a: add-int/lit8 v5, v5, #int 1 // #01 │ │ -017a08: 28f1 |016c: goto 015d // -000f │ │ -017a0a: 6001 0200 |016d: sget v1, Landroid/os/Build$VERSION;.SDK_INT:I // field@0002 │ │ -017a0e: 3441 3a00 |016f: if-lt v1, v4, 01a9 // +003a │ │ -017a12: 6001 0200 |0171: sget v1, Landroid/os/Build$VERSION;.SDK_INT:I // field@0002 │ │ -017a16: 1302 1b00 |0173: const/16 v2, #int 27 // #1b │ │ -017a1a: 3621 3400 |0175: if-gt v1, v2, 01a9 // +0034 │ │ -017a1e: 380f 1900 |0177: if-eqz v15, 0190 // +0019 │ │ -017a22: 7100 2507 0000 |0179: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0725 │ │ -017a28: 0c01 |017c: move-result-object v1 │ │ -017a2a: 2202 2d01 |017d: new-instance v2, Ljava/lang/StringBuilder; // type@012d │ │ -017a2e: 1a04 4904 |017f: const-string v4, "Running on SDK" // string@0449 │ │ -017a32: 7020 a805 4200 |0181: invoke-direct {v2, v4}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05a8 │ │ -017a38: 6004 0200 |0184: sget v4, Landroid/os/Build$VERSION;.SDK_INT:I // field@0002 │ │ -017a3c: 6e20 aa05 4200 |0186: invoke-virtual {v2, v4}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@05aa │ │ -017a42: 6e10 af05 0200 |0189: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ -017a48: 0c02 |018c: move-result-object v2 │ │ -017a4a: 7220 3107 2100 |018d: invoke-interface {v1, v2}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0731 │ │ -017a50: 1a01 f805 |0190: const-string v1, "com.android.vending" // string@05f8 │ │ -017a54: 7030 9202 1e00 |0192: invoke-direct {v14, v1, v0}, Ldnsfilter/android/DNSFilterService;.excludeApp:(Ljava/lang/String;Landroid/net/VpnService$Builder;)V // method@0292 │ │ -017a5a: 1a01 f905 |0195: const-string v1, "com.google.android.apps.docs" // string@05f9 │ │ -017a5e: 7030 9202 1e00 |0197: invoke-direct {v14, v1, v0}, Ldnsfilter/android/DNSFilterService;.excludeApp:(Ljava/lang/String;Landroid/net/VpnService$Builder;)V // method@0292 │ │ -017a64: 1a01 fa05 |019a: const-string v1, "com.google.android.apps.photos" // string@05fa │ │ -017a68: 7030 9202 1e00 |019c: invoke-direct {v14, v1, v0}, Ldnsfilter/android/DNSFilterService;.excludeApp:(Ljava/lang/String;Landroid/net/VpnService$Builder;)V // method@0292 │ │ -017a6e: 1a01 fc05 |019f: const-string v1, "com.google.android.gm" // string@05fc │ │ -017a72: 7030 9202 1e00 |01a1: invoke-direct {v14, v1, v0}, Ldnsfilter/android/DNSFilterService;.excludeApp:(Ljava/lang/String;Landroid/net/VpnService$Builder;)V // method@0292 │ │ -017a78: 1a01 fb05 |01a4: const-string v1, "com.google.android.apps.translate" // string@05fb │ │ -017a7c: 7030 9202 1e00 |01a6: invoke-direct {v14, v1, v0}, Ldnsfilter/android/DNSFilterService;.excludeApp:(Ljava/lang/String;Landroid/net/VpnService$Builder;)V // method@0292 │ │ -017a82: 6001 0200 |01a9: sget v1, Landroid/os/Build$VERSION;.SDK_INT:I // field@0002 │ │ -017a86: 3431 1300 |01ab: if-lt v1, v3, 01be // +0013 │ │ -017a8a: 1211 |01ad: const/4 v1, #int 1 // #1 │ │ -017a8c: 7120 6102 1000 |01ae: invoke-static {v0, v1}, Ldnsfilter/android/BootUpReceiver$$ExternalSyntheticApiModelOutline0;.m:(Landroid/net/VpnService$Builder;Z)Landroid/net/VpnService$Builder; // method@0261 │ │ -017a92: 380f 0b00 |01b1: if-eqz v15, 01bc // +000b │ │ -017a96: 7100 2507 0000 |01b3: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0725 │ │ -017a9c: 0c0f |01b6: move-result-object v15 │ │ -017a9e: 1a02 9404 |01b7: const-string v2, "Using blocking mode!" // string@0494 │ │ -017aa2: 7220 3107 2f00 |01b9: invoke-interface {v15, v2}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0731 │ │ -017aa8: 5ce1 c100 |01bc: iput-boolean v1, v14, Ldnsfilter/android/DNSFilterService;.blocking:Z // field@00c1 │ │ -017aac: 52ef ca00 |01be: iget v15, v14, Ldnsfilter/android/DNSFilterService;.mtu:I // field@00ca │ │ -017ab0: 6e20 7500 f000 |01c0: invoke-virtual {v0, v15}, Landroid/net/VpnService$Builder;.setMtu:(I)Landroid/net/VpnService$Builder; // method@0075 │ │ -017ab6: 600f 0200 |01c3: sget v15, Landroid/os/Build$VERSION;.SDK_INT:I // field@0002 │ │ -017aba: 1301 1d00 |01c5: const/16 v1, #int 29 // #1d │ │ -017abe: 341f 0500 |01c7: if-lt v15, v1, 01cc // +0005 │ │ -017ac2: 7120 7102 a000 |01c9: invoke-static {v0, v10}, Ldnsfilter/android/BootUpReceiver$$ExternalSyntheticApiModelOutline0;.m$1:(Landroid/net/VpnService$Builder;Z)Landroid/net/VpnService$Builder; // method@0271 │ │ -017ac8: 54ef cc00 |01cc: iget-object v15, v14, Ldnsfilter/android/DNSFilterService;.pendingIntent:Landroid/app/PendingIntent; // field@00cc │ │ -017acc: 6e20 7300 f000 |01ce: invoke-virtual {v0, v15}, Landroid/net/VpnService$Builder;.setConfigureIntent:(Landroid/app/PendingIntent;)Landroid/net/VpnService$Builder; // method@0073 │ │ -017ad2: 0c0f |01d1: move-result-object v15 │ │ -017ad4: 6e10 7100 0f00 |01d2: invoke-virtual {v15}, Landroid/net/VpnService$Builder;.establish:()Landroid/os/ParcelFileDescriptor; // method@0071 │ │ -017ada: 0c0f |01d5: move-result-object v15 │ │ -017adc: 110f |01d6: return-object v15 │ │ +0179dc: 7220 3107 5200 |0158: invoke-interface {v2, v5}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0731 │ │ +0179e2: 1202 |015b: const/4 v2, #int 0 // #0 │ │ +0179e4: 1205 |015c: const/4 v5, #int 0 // #0 │ │ +0179e6: 3525 1000 |015d: if-ge v5, v2, 016d // +0010 │ │ +0179ea: 6e10 6606 0100 |015f: invoke-virtual {v1}, Ljava/util/StringTokenizer;.nextToken:()Ljava/lang/String; // method@0666 │ │ +0179f0: 0c06 |0162: move-result-object v6 │ │ +0179f2: 6e10 a005 0600 |0163: invoke-virtual {v6}, Ljava/lang/String;.trim:()Ljava/lang/String; // method@05a0 │ │ +0179f8: 0c06 |0166: move-result-object v6 │ │ +0179fa: 7030 9202 6e00 |0167: invoke-direct {v14, v6, v0}, Ldnsfilter/android/DNSFilterService;.excludeApp:(Ljava/lang/String;Landroid/net/VpnService$Builder;)V // method@0292 │ │ +017a00: d805 0501 |016a: add-int/lit8 v5, v5, #int 1 // #01 │ │ +017a04: 28f1 |016c: goto 015d // -000f │ │ +017a06: 6001 0200 |016d: sget v1, Landroid/os/Build$VERSION;.SDK_INT:I // field@0002 │ │ +017a0a: 3441 3a00 |016f: if-lt v1, v4, 01a9 // +003a │ │ +017a0e: 6001 0200 |0171: sget v1, Landroid/os/Build$VERSION;.SDK_INT:I // field@0002 │ │ +017a12: 1302 1b00 |0173: const/16 v2, #int 27 // #1b │ │ +017a16: 3621 3400 |0175: if-gt v1, v2, 01a9 // +0034 │ │ +017a1a: 380f 1900 |0177: if-eqz v15, 0190 // +0019 │ │ +017a1e: 7100 2507 0000 |0179: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0725 │ │ +017a24: 0c01 |017c: move-result-object v1 │ │ +017a26: 2202 2d01 |017d: new-instance v2, Ljava/lang/StringBuilder; // type@012d │ │ +017a2a: 1a04 4904 |017f: const-string v4, "Running on SDK" // string@0449 │ │ +017a2e: 7020 a805 4200 |0181: invoke-direct {v2, v4}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05a8 │ │ +017a34: 6004 0200 |0184: sget v4, Landroid/os/Build$VERSION;.SDK_INT:I // field@0002 │ │ +017a38: 6e20 aa05 4200 |0186: invoke-virtual {v2, v4}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@05aa │ │ +017a3e: 6e10 af05 0200 |0189: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ +017a44: 0c02 |018c: move-result-object v2 │ │ +017a46: 7220 3107 2100 |018d: invoke-interface {v1, v2}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0731 │ │ +017a4c: 1a01 f805 |0190: const-string v1, "com.android.vending" // string@05f8 │ │ +017a50: 7030 9202 1e00 |0192: invoke-direct {v14, v1, v0}, Ldnsfilter/android/DNSFilterService;.excludeApp:(Ljava/lang/String;Landroid/net/VpnService$Builder;)V // method@0292 │ │ +017a56: 1a01 f905 |0195: const-string v1, "com.google.android.apps.docs" // string@05f9 │ │ +017a5a: 7030 9202 1e00 |0197: invoke-direct {v14, v1, v0}, Ldnsfilter/android/DNSFilterService;.excludeApp:(Ljava/lang/String;Landroid/net/VpnService$Builder;)V // method@0292 │ │ +017a60: 1a01 fa05 |019a: const-string v1, "com.google.android.apps.photos" // string@05fa │ │ +017a64: 7030 9202 1e00 |019c: invoke-direct {v14, v1, v0}, Ldnsfilter/android/DNSFilterService;.excludeApp:(Ljava/lang/String;Landroid/net/VpnService$Builder;)V // method@0292 │ │ +017a6a: 1a01 fc05 |019f: const-string v1, "com.google.android.gm" // string@05fc │ │ +017a6e: 7030 9202 1e00 |01a1: invoke-direct {v14, v1, v0}, Ldnsfilter/android/DNSFilterService;.excludeApp:(Ljava/lang/String;Landroid/net/VpnService$Builder;)V // method@0292 │ │ +017a74: 1a01 fb05 |01a4: const-string v1, "com.google.android.apps.translate" // string@05fb │ │ +017a78: 7030 9202 1e00 |01a6: invoke-direct {v14, v1, v0}, Ldnsfilter/android/DNSFilterService;.excludeApp:(Ljava/lang/String;Landroid/net/VpnService$Builder;)V // method@0292 │ │ +017a7e: 6001 0200 |01a9: sget v1, Landroid/os/Build$VERSION;.SDK_INT:I // field@0002 │ │ +017a82: 3431 1300 |01ab: if-lt v1, v3, 01be // +0013 │ │ +017a86: 1211 |01ad: const/4 v1, #int 1 // #1 │ │ +017a88: 7120 6102 1000 |01ae: invoke-static {v0, v1}, Ldnsfilter/android/BootUpReceiver$$ExternalSyntheticApiModelOutline0;.m:(Landroid/net/VpnService$Builder;Z)Landroid/net/VpnService$Builder; // method@0261 │ │ +017a8e: 380f 0b00 |01b1: if-eqz v15, 01bc // +000b │ │ +017a92: 7100 2507 0000 |01b3: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0725 │ │ +017a98: 0c0f |01b6: move-result-object v15 │ │ +017a9a: 1a02 9404 |01b7: const-string v2, "Using blocking mode!" // string@0494 │ │ +017a9e: 7220 3107 2f00 |01b9: invoke-interface {v15, v2}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0731 │ │ +017aa4: 5ce1 c100 |01bc: iput-boolean v1, v14, Ldnsfilter/android/DNSFilterService;.blocking:Z // field@00c1 │ │ +017aa8: 52ef ca00 |01be: iget v15, v14, Ldnsfilter/android/DNSFilterService;.mtu:I // field@00ca │ │ +017aac: 6e20 7500 f000 |01c0: invoke-virtual {v0, v15}, Landroid/net/VpnService$Builder;.setMtu:(I)Landroid/net/VpnService$Builder; // method@0075 │ │ +017ab2: 600f 0200 |01c3: sget v15, Landroid/os/Build$VERSION;.SDK_INT:I // field@0002 │ │ +017ab6: 1301 1d00 |01c5: const/16 v1, #int 29 // #1d │ │ +017aba: 341f 0500 |01c7: if-lt v15, v1, 01cc // +0005 │ │ +017abe: 7120 7102 a000 |01c9: invoke-static {v0, v10}, Ldnsfilter/android/BootUpReceiver$$ExternalSyntheticApiModelOutline0;.m$1:(Landroid/net/VpnService$Builder;Z)Landroid/net/VpnService$Builder; // method@0271 │ │ +017ac4: 54ef cc00 |01cc: iget-object v15, v14, Ldnsfilter/android/DNSFilterService;.pendingIntent:Landroid/app/PendingIntent; // field@00cc │ │ +017ac8: 6e20 7300 f000 |01ce: invoke-virtual {v0, v15}, Landroid/net/VpnService$Builder;.setConfigureIntent:(Landroid/app/PendingIntent;)Landroid/net/VpnService$Builder; // method@0073 │ │ +017ace: 0c0f |01d1: move-result-object v15 │ │ +017ad0: 6e10 7100 0f00 |01d2: invoke-virtual {v15}, Landroid/net/VpnService$Builder;.establish:()Landroid/os/ParcelFileDescriptor; // method@0071 │ │ +017ad6: 0c0f |01d5: move-result-object v15 │ │ +017ad8: 110f |01d6: return-object v15 │ │ catches : 1 │ │ 0x00fe - 0x0125 │ │ Ljava/net/UnknownHostException; -> 0x0126 │ │ positions : │ │ 0x0000 line=570 │ │ 0x0016 line=571 │ │ 0x002a line=573 │ │ @@ -13320,23 +13320,23 @@ │ │ type : '()V' │ │ access : 0x0009 (PUBLIC STATIC) │ │ code - │ │ registers : 2 │ │ ins : 0 │ │ outs : 2 │ │ insns size : 16 16-bit code units │ │ -0189a8: |[0189a8] dnsfilter.android.DNSFilterService.onReload:()V │ │ -0189b8: 6200 bb00 |0000: sget-object v0, Ldnsfilter/android/DNSFilterService;.INSTANCE:Ldnsfilter/android/DNSFilterService; // field@00bb │ │ -0189bc: 3800 0600 |0002: if-eqz v0, 0008 // +0006 │ │ -0189c0: 6e10 a702 0000 |0004: invoke-virtual {v0}, Ldnsfilter/android/DNSFilterService;.reload:()V // method@02a7 │ │ -0189c6: 0e00 |0007: return-void │ │ -0189c8: 2200 0001 |0008: new-instance v0, Ljava/io/IOException; // type@0100 │ │ -0189cc: 1a01 5b04 |000a: const-string v1, "Service instance is null!" // string@045b │ │ -0189d0: 7020 1f05 1000 |000c: invoke-direct {v0, v1}, Ljava/io/IOException;.:(Ljava/lang/String;)V // method@051f │ │ -0189d6: 2700 |000f: throw v0 │ │ +0189a4: |[0189a4] dnsfilter.android.DNSFilterService.onReload:()V │ │ +0189b4: 6200 bb00 |0000: sget-object v0, Ldnsfilter/android/DNSFilterService;.INSTANCE:Ldnsfilter/android/DNSFilterService; // field@00bb │ │ +0189b8: 3800 0600 |0002: if-eqz v0, 0008 // +0006 │ │ +0189bc: 6e10 a702 0000 |0004: invoke-virtual {v0}, Ldnsfilter/android/DNSFilterService;.reload:()V // method@02a7 │ │ +0189c2: 0e00 |0007: return-void │ │ +0189c4: 2200 0001 |0008: new-instance v0, Ljava/io/IOException; // type@0100 │ │ +0189c8: 1a01 5b04 |000a: const-string v1, "Service instance is null!" // string@045b │ │ +0189cc: 7020 1f05 1000 |000c: invoke-direct {v0, v1}, Ljava/io/IOException;.:(Ljava/lang/String;)V // method@051f │ │ +0189d2: 2700 |000f: throw v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=1062 │ │ 0x0004 line=1064 │ │ 0x0008 line=1066 │ │ locals : │ │ │ │ @@ -13345,67 +13345,67 @@ │ │ type : '(Z)V' │ │ access : 0x0009 (PUBLIC STATIC) │ │ code - │ │ registers : 6 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 100 16-bit code units │ │ -018a04: |[018a04] dnsfilter.android.DNSFilterService.possibleNetworkChange:(Z)V │ │ -018a14: 7100 d206 0000 |0000: invoke-static {}, Lutil/ExecutionEnvironment;.getEnvironment:()Lutil/ExecutionEnvironmentInterface; // method@06d2 │ │ -018a1a: 0c00 |0003: move-result-object v0 │ │ -018a1c: 7210 e306 0000 |0004: invoke-interface {v0}, Lutil/ExecutionEnvironmentInterface;.hasNetwork:()Z // method@06e3 │ │ -018a22: 0a00 |0007: move-result v0 │ │ -018a24: 3800 5b00 |0008: if-eqz v0, 0063 // +005b │ │ -018a28: 6300 cd00 |000a: sget-boolean v0, Ldnsfilter/android/DNSFilterService;.rootMode:Z // field@00cd │ │ -018a2c: 3800 0700 |000c: if-eqz v0, 0013 // +0007 │ │ -018a30: 6200 c600 |000e: sget-object v0, Ldnsfilter/android/DNSFilterService;.dnsReqForwarder:Ldnsfilter/android/DNSFilterService$DNSReqForwarder; // field@00c6 │ │ -018a34: 7110 7e02 0000 |0010: invoke-static {v0}, Ldnsfilter/android/DNSFilterService$DNSReqForwarder;.access$500:(Ldnsfilter/android/DNSFilterService$DNSReqForwarder;)V // method@027e │ │ -018a3a: 7100 9502 0000 |0013: invoke-static {}, Ldnsfilter/android/DNSFilterService;.getDNSServers:()[Ljava/lang/String; // method@0295 │ │ -018a40: 0c00 |0016: move-result-object v0 │ │ -018a42: 7100 d206 0000 |0017: invoke-static {}, Lutil/ExecutionEnvironment;.getEnvironment:()Lutil/ExecutionEnvironmentInterface; // method@06d2 │ │ -018a48: 0c01 |001a: move-result-object v1 │ │ -018a4a: 7210 de06 0100 |001b: invoke-interface {v1}, Lutil/ExecutionEnvironmentInterface;.debug:()Z // method@06de │ │ -018a50: 0a01 |001e: move-result v1 │ │ -018a52: 1202 |001f: const/4 v2, #int 0 // #0 │ │ -018a54: 3801 1b00 |0020: if-eqz v1, 003b // +001b │ │ -018a58: 7100 2507 0000 |0022: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0725 │ │ -018a5e: 0c01 |0025: move-result-object v1 │ │ -018a60: 1a03 6701 |0026: const-string v3, "Detected DNS Servers:*******************" // string@0167 │ │ -018a64: 7220 3107 3100 |0028: invoke-interface {v1, v3}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0731 │ │ -018a6a: 1201 |002b: const/4 v1, #int 0 // #0 │ │ -018a6c: 2103 |002c: array-length v3, v0 │ │ -018a6e: 3531 0e00 |002d: if-ge v1, v3, 003b // +000e │ │ -018a72: 7100 2507 0000 |002f: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0725 │ │ -018a78: 0c03 |0032: move-result-object v3 │ │ -018a7a: 4604 0001 |0033: aget-object v4, v0, v1 │ │ -018a7e: 7220 3107 4300 |0035: invoke-interface {v3, v4}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0731 │ │ -018a84: d801 0101 |0038: add-int/lit8 v1, v1, #int 1 // #01 │ │ -018a88: 28f2 |003a: goto 002c // -000e │ │ -018a8a: 2101 |003b: array-length v1, v0 │ │ -018a8c: 3801 0c00 |003c: if-eqz v1, 0048 // +000c │ │ -018a90: 6201 c800 |003e: sget-object v1, Ldnsfilter/android/DNSFilterService;.lastDNSServers:[Ljava/lang/String; // field@00c8 │ │ -018a94: 7120 8d07 0100 |0040: invoke-static {v1, v0}, Lutil/Utils;.arrayEqual:([Ljava/lang/Object;[Ljava/lang/Object;)Z // method@078d │ │ -018a9a: 0a01 |0043: move-result v1 │ │ -018a9c: 3901 0400 |0044: if-nez v1, 0048 // +0004 │ │ -018aa0: 1211 |0046: const/4 v1, #int 1 // #1 │ │ -018aa2: 2802 |0047: goto 0049 // +0002 │ │ -018aa4: 1201 |0048: const/4 v1, #int 0 // #0 │ │ -018aa6: 3905 0400 |0049: if-nez v5, 004d // +0004 │ │ -018aaa: 3801 0700 |004b: if-eqz v1, 0052 // +0007 │ │ -018aae: 6900 c800 |004d: sput-object v0, Ldnsfilter/android/DNSFilterService;.lastDNSServers:[Ljava/lang/String; // field@00c8 │ │ -018ab2: 7110 9a02 0000 |004f: invoke-static {v0}, Ldnsfilter/android/DNSFilterService;.handleDNSServerChange:([Ljava/lang/String;)V // method@029a │ │ -018ab8: 6305 ce00 |0052: sget-boolean v5, Ldnsfilter/android/DNSFilterService;.routeDNS:Z // field@00ce │ │ -018abc: 3805 0f00 |0054: if-eqz v5, 0063 // +000f │ │ -018ac0: 3801 0d00 |0056: if-eqz v1, 0063 // +000d │ │ -018ac4: 6205 bb00 |0058: sget-object v5, Ldnsfilter/android/DNSFilterService;.INSTANCE:Ldnsfilter/android/DNSFilterService; // field@00bb │ │ -018ac8: 3805 0900 |005a: if-eqz v5, 0063 // +0009 │ │ -018acc: 5450 d100 |005c: iget-object v0, v5, Ldnsfilter/android/DNSFilterService;.vpnRunner:Ldnsfilter/android/DNSFilterService$VPNRunner; // field@00d1 │ │ -018ad0: 3800 0500 |005e: if-eqz v0, 0063 // +0005 │ │ -018ad4: 7020 a802 2500 |0060: invoke-direct {v5, v2}, Ldnsfilter/android/DNSFilterService;.restartVPN:(Z)V // method@02a8 │ │ -018ada: 0e00 |0063: return-void │ │ +018a00: |[018a00] dnsfilter.android.DNSFilterService.possibleNetworkChange:(Z)V │ │ +018a10: 7100 d206 0000 |0000: invoke-static {}, Lutil/ExecutionEnvironment;.getEnvironment:()Lutil/ExecutionEnvironmentInterface; // method@06d2 │ │ +018a16: 0c00 |0003: move-result-object v0 │ │ +018a18: 7210 e306 0000 |0004: invoke-interface {v0}, Lutil/ExecutionEnvironmentInterface;.hasNetwork:()Z // method@06e3 │ │ +018a1e: 0a00 |0007: move-result v0 │ │ +018a20: 3800 5b00 |0008: if-eqz v0, 0063 // +005b │ │ +018a24: 6300 cd00 |000a: sget-boolean v0, Ldnsfilter/android/DNSFilterService;.rootMode:Z // field@00cd │ │ +018a28: 3800 0700 |000c: if-eqz v0, 0013 // +0007 │ │ +018a2c: 6200 c600 |000e: sget-object v0, Ldnsfilter/android/DNSFilterService;.dnsReqForwarder:Ldnsfilter/android/DNSFilterService$DNSReqForwarder; // field@00c6 │ │ +018a30: 7110 7e02 0000 |0010: invoke-static {v0}, Ldnsfilter/android/DNSFilterService$DNSReqForwarder;.access$500:(Ldnsfilter/android/DNSFilterService$DNSReqForwarder;)V // method@027e │ │ +018a36: 7100 9502 0000 |0013: invoke-static {}, Ldnsfilter/android/DNSFilterService;.getDNSServers:()[Ljava/lang/String; // method@0295 │ │ +018a3c: 0c00 |0016: move-result-object v0 │ │ +018a3e: 7100 d206 0000 |0017: invoke-static {}, Lutil/ExecutionEnvironment;.getEnvironment:()Lutil/ExecutionEnvironmentInterface; // method@06d2 │ │ +018a44: 0c01 |001a: move-result-object v1 │ │ +018a46: 7210 de06 0100 |001b: invoke-interface {v1}, Lutil/ExecutionEnvironmentInterface;.debug:()Z // method@06de │ │ +018a4c: 0a01 |001e: move-result v1 │ │ +018a4e: 1202 |001f: const/4 v2, #int 0 // #0 │ │ +018a50: 3801 1b00 |0020: if-eqz v1, 003b // +001b │ │ +018a54: 7100 2507 0000 |0022: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0725 │ │ +018a5a: 0c01 |0025: move-result-object v1 │ │ +018a5c: 1a03 6701 |0026: const-string v3, "Detected DNS Servers:*******************" // string@0167 │ │ +018a60: 7220 3107 3100 |0028: invoke-interface {v1, v3}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0731 │ │ +018a66: 1201 |002b: const/4 v1, #int 0 // #0 │ │ +018a68: 2103 |002c: array-length v3, v0 │ │ +018a6a: 3531 0e00 |002d: if-ge v1, v3, 003b // +000e │ │ +018a6e: 7100 2507 0000 |002f: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0725 │ │ +018a74: 0c03 |0032: move-result-object v3 │ │ +018a76: 4604 0001 |0033: aget-object v4, v0, v1 │ │ +018a7a: 7220 3107 4300 |0035: invoke-interface {v3, v4}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0731 │ │ +018a80: d801 0101 |0038: add-int/lit8 v1, v1, #int 1 // #01 │ │ +018a84: 28f2 |003a: goto 002c // -000e │ │ +018a86: 2101 |003b: array-length v1, v0 │ │ +018a88: 3801 0c00 |003c: if-eqz v1, 0048 // +000c │ │ +018a8c: 6201 c800 |003e: sget-object v1, Ldnsfilter/android/DNSFilterService;.lastDNSServers:[Ljava/lang/String; // field@00c8 │ │ +018a90: 7120 8d07 0100 |0040: invoke-static {v1, v0}, Lutil/Utils;.arrayEqual:([Ljava/lang/Object;[Ljava/lang/Object;)Z // method@078d │ │ +018a96: 0a01 |0043: move-result v1 │ │ +018a98: 3901 0400 |0044: if-nez v1, 0048 // +0004 │ │ +018a9c: 1211 |0046: const/4 v1, #int 1 // #1 │ │ +018a9e: 2802 |0047: goto 0049 // +0002 │ │ +018aa0: 1201 |0048: const/4 v1, #int 0 // #0 │ │ +018aa2: 3905 0400 |0049: if-nez v5, 004d // +0004 │ │ +018aa6: 3801 0700 |004b: if-eqz v1, 0052 // +0007 │ │ +018aaa: 6900 c800 |004d: sput-object v0, Ldnsfilter/android/DNSFilterService;.lastDNSServers:[Ljava/lang/String; // field@00c8 │ │ +018aae: 7110 9a02 0000 |004f: invoke-static {v0}, Ldnsfilter/android/DNSFilterService;.handleDNSServerChange:([Ljava/lang/String;)V // method@029a │ │ +018ab4: 6305 ce00 |0052: sget-boolean v5, Ldnsfilter/android/DNSFilterService;.routeDNS:Z // field@00ce │ │ +018ab8: 3805 0f00 |0054: if-eqz v5, 0063 // +000f │ │ +018abc: 3801 0d00 |0056: if-eqz v1, 0063 // +000d │ │ +018ac0: 6205 bb00 |0058: sget-object v5, Ldnsfilter/android/DNSFilterService;.INSTANCE:Ldnsfilter/android/DNSFilterService; // field@00bb │ │ +018ac4: 3805 0900 |005a: if-eqz v5, 0063 // +0009 │ │ +018ac8: 5450 d100 |005c: iget-object v0, v5, Ldnsfilter/android/DNSFilterService;.vpnRunner:Ldnsfilter/android/DNSFilterService$VPNRunner; // field@00d1 │ │ +018acc: 3800 0500 |005e: if-eqz v0, 0063 // +0005 │ │ +018ad0: 7020 a802 2500 |0060: invoke-direct {v5, v2}, Ldnsfilter/android/DNSFilterService;.restartVPN:(Z)V // method@02a8 │ │ +018ad6: 0e00 |0063: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=483 │ │ 0x000a line=485 │ │ 0x000e line=486 │ │ 0x0013 line=488 │ │ 0x0017 line=490 │ │ @@ -13425,35 +13425,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 │ │ -017b98: |[017b98] dnsfilter.android.DNSFilterService.protectSocket:(Ljava/lang/Object;I)Z │ │ -017ba8: 6200 bb00 |0000: sget-object v0, Ldnsfilter/android/DNSFilterService;.INSTANCE:Ldnsfilter/android/DNSFilterService; // field@00bb │ │ -017bac: 6301 c700 |0002: sget-boolean v1, Ldnsfilter/android/DNSFilterService;.is_running:Z // field@00c7 │ │ -017bb0: 1212 |0004: const/4 v2, #int 1 // #1 │ │ -017bb2: 3801 1b00 |0005: if-eqz v1, 0020 // +001b │ │ -017bb6: 5401 d100 |0007: iget-object v1, v0, Ldnsfilter/android/DNSFilterService;.vpnRunner:Ldnsfilter/android/DNSFilterService$VPNRunner; // field@00d1 │ │ -017bba: 3901 0300 |0009: if-nez v1, 000c // +0003 │ │ -017bbe: 2815 |000b: goto 0020 // +0015 │ │ -017bc0: 3904 0900 |000c: if-nez v4, 0015 // +0009 │ │ -017bc4: 1f03 3e01 |000e: check-cast v3, Ljava/net/Socket; // type@013e │ │ -017bc8: 6e20 a302 3000 |0010: invoke-virtual {v0, v3}, Ldnsfilter/android/DNSFilterService;.protect:(Ljava/net/Socket;)Z // method@02a3 │ │ -017bce: 0a03 |0013: move-result v3 │ │ -017bd0: 0f03 |0014: return v3 │ │ -017bd2: 3324 0900 |0015: if-ne v4, v2, 001e // +0009 │ │ -017bd6: 1f03 3401 |0017: check-cast v3, Ljava/net/DatagramSocket; // type@0134 │ │ -017bda: 6e20 a202 3000 |0019: invoke-virtual {v0, v3}, Ldnsfilter/android/DNSFilterService;.protect:(Ljava/net/DatagramSocket;)Z // method@02a2 │ │ -017be0: 0a03 |001c: move-result v3 │ │ -017be2: 0f03 |001d: return v3 │ │ -017be4: 1203 |001e: const/4 v3, #int 0 // #0 │ │ -017be6: 0f03 |001f: return v3 │ │ -017be8: 0f02 |0020: return v2 │ │ +017b94: |[017b94] dnsfilter.android.DNSFilterService.protectSocket:(Ljava/lang/Object;I)Z │ │ +017ba4: 6200 bb00 |0000: sget-object v0, Ldnsfilter/android/DNSFilterService;.INSTANCE:Ldnsfilter/android/DNSFilterService; // field@00bb │ │ +017ba8: 6301 c700 |0002: sget-boolean v1, Ldnsfilter/android/DNSFilterService;.is_running:Z // field@00c7 │ │ +017bac: 1212 |0004: const/4 v2, #int 1 // #1 │ │ +017bae: 3801 1b00 |0005: if-eqz v1, 0020 // +001b │ │ +017bb2: 5401 d100 |0007: iget-object v1, v0, Ldnsfilter/android/DNSFilterService;.vpnRunner:Ldnsfilter/android/DNSFilterService$VPNRunner; // field@00d1 │ │ +017bb6: 3901 0300 |0009: if-nez v1, 000c // +0003 │ │ +017bba: 2815 |000b: goto 0020 // +0015 │ │ +017bbc: 3904 0900 |000c: if-nez v4, 0015 // +0009 │ │ +017bc0: 1f03 3e01 |000e: check-cast v3, Ljava/net/Socket; // type@013e │ │ +017bc4: 6e20 a302 3000 |0010: invoke-virtual {v0, v3}, Ldnsfilter/android/DNSFilterService;.protect:(Ljava/net/Socket;)Z // method@02a3 │ │ +017bca: 0a03 |0013: move-result v3 │ │ +017bcc: 0f03 |0014: return v3 │ │ +017bce: 3324 0900 |0015: if-ne v4, v2, 001e // +0009 │ │ +017bd2: 1f03 3401 |0017: check-cast v3, Ljava/net/DatagramSocket; // type@0134 │ │ +017bd6: 6e20 a202 3000 |0019: invoke-virtual {v0, v3}, Ldnsfilter/android/DNSFilterService;.protect:(Ljava/net/DatagramSocket;)Z // method@02a2 │ │ +017bdc: 0a03 |001c: move-result v3 │ │ +017bde: 0f03 |001d: return v3 │ │ +017be0: 1203 |001e: const/4 v3, #int 0 // #0 │ │ +017be2: 0f03 |001f: return v3 │ │ +017be4: 0f02 |0020: return v2 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=226 │ │ 0x0002 line=228 │ │ 0x000e line=233 │ │ 0x0017 line=235 │ │ locals : │ │ @@ -13465,52 +13465,52 @@ │ │ type : '(Z)V' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 9 │ │ ins : 2 │ │ outs : 6 │ │ insns size : 72 16-bit code units │ │ -018b14: |[018b14] dnsfilter.android.DNSFilterService.restartVPN:(Z)V │ │ -018b24: 5470 d100 |0000: iget-object v0, v7, Ldnsfilter/android/DNSFilterService;.vpnRunner:Ldnsfilter/android/DNSFilterService$VPNRunner; // field@00d1 │ │ -018b28: 1201 |0002: const/4 v1, #int 0 // #0 │ │ -018b2a: 5b71 d100 |0003: iput-object v1, v7, Ldnsfilter/android/DNSFilterService;.vpnRunner:Ldnsfilter/android/DNSFilterService$VPNRunner; // field@00d1 │ │ -018b2e: 3800 0a00 |0005: if-eqz v0, 000f // +000a │ │ -018b32: 7120 8702 8000 |0007: invoke-static {v0, v8}, Ldnsfilter/android/DNSFilterService$VPNRunner;.access$900:(Ldnsfilter/android/DNSFilterService$VPNRunner;Z)V // method@0287 │ │ -018b38: 1600 6400 |000a: const-wide/16 v0, #int 100 // #64 │ │ -018b3c: 7120 a307 1000 |000c: invoke-static {v0, v1}, Lutil/Utils;.sleep:(J)V // method@07a3 │ │ -018b42: 7100 9901 0000 |000f: invoke-static {}, Ldnsfilter/DNSFilterManager;.getInstance:()Ldnsfilter/DNSFilterManager; // method@0199 │ │ -018b48: 0c00 |0012: move-result-object v0 │ │ -018b4a: 6900 b800 |0013: sput-object v0, Ldnsfilter/android/DNSFilterService;.DNSFILTER:Ldnsfilter/DNSFilterManager; // field@00b8 │ │ -018b4e: 7020 9b02 8700 |0015: invoke-direct {v7, v8}, Ldnsfilter/android/DNSFilterService;.initVPN:(Z)Landroid/os/ParcelFileDescriptor; // method@029b │ │ -018b54: 0c04 |0018: move-result-object v4 │ │ -018b56: 3804 1e00 |0019: if-eqz v4, 0037 // +001e │ │ -018b5a: 2200 a300 |001b: new-instance v0, Ldnsfilter/android/DNSFilterService$VPNRunner; // type@00a3 │ │ -018b5e: 6001 cf00 |001d: sget v1, Ldnsfilter/android/DNSFilterService;.startCounter:I // field@00cf │ │ -018b62: d803 0101 |001f: add-int/lit8 v3, v1, #int 1 // #01 │ │ -018b66: 6703 cf00 |0021: sput v3, Ldnsfilter/android/DNSFilterService;.startCounter:I // field@00cf │ │ -018b6a: 1206 |0023: const/4 v6, #int 0 // #0 │ │ -018b6c: 0701 |0024: move-object v1, v0 │ │ -018b6e: 0772 |0025: move-object v2, v7 │ │ -018b70: 0185 |0026: move v5, v8 │ │ -018b72: 7606 8602 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@0286 │ │ -018b78: 5b70 d100 |002a: iput-object v0, v7, Ldnsfilter/android/DNSFilterService;.vpnRunner:Ldnsfilter/android/DNSFilterService$VPNRunner; // field@00d1 │ │ -018b7c: 2208 2f01 |002c: new-instance v8, Ljava/lang/Thread; // type@012f │ │ -018b80: 5470 d100 |002e: iget-object v0, v7, Ldnsfilter/android/DNSFilterService;.vpnRunner:Ldnsfilter/android/DNSFilterService$VPNRunner; // field@00d1 │ │ -018b84: 7020 b405 0800 |0030: invoke-direct {v8, v0}, Ljava/lang/Thread;.:(Ljava/lang/Runnable;)V // method@05b4 │ │ -018b8a: 6e10 ba05 0800 |0033: invoke-virtual {v8}, Ljava/lang/Thread;.start:()V // method@05ba │ │ -018b90: 0e00 |0036: return-void │ │ -018b92: 2208 0001 |0037: new-instance v8, Ljava/io/IOException; // type@0100 │ │ -018b96: 1a00 8301 |0039: const-string v0, "Error! Cannot get VPN interface! Try restart!" // string@0183 │ │ -018b9a: 7020 1f05 0800 |003b: invoke-direct {v8, v0}, Ljava/io/IOException;.:(Ljava/lang/String;)V // method@051f │ │ -018ba0: 2708 |003e: throw v8 │ │ -018ba2: 0d08 |003f: move-exception v8 │ │ -018ba4: 2200 0001 |0040: new-instance v0, Ljava/io/IOException; // type@0100 │ │ -018ba8: 1a01 f500 |0042: const-string v1, "Cannot initialize VPN!" // string@00f5 │ │ -018bac: 7030 2005 1008 |0044: invoke-direct {v0, v1, v8}, Ljava/io/IOException;.:(Ljava/lang/String;Ljava/lang/Throwable;)V // method@0520 │ │ -018bb2: 2700 |0047: throw v0 │ │ +018b10: |[018b10] dnsfilter.android.DNSFilterService.restartVPN:(Z)V │ │ +018b20: 5470 d100 |0000: iget-object v0, v7, Ldnsfilter/android/DNSFilterService;.vpnRunner:Ldnsfilter/android/DNSFilterService$VPNRunner; // field@00d1 │ │ +018b24: 1201 |0002: const/4 v1, #int 0 // #0 │ │ +018b26: 5b71 d100 |0003: iput-object v1, v7, Ldnsfilter/android/DNSFilterService;.vpnRunner:Ldnsfilter/android/DNSFilterService$VPNRunner; // field@00d1 │ │ +018b2a: 3800 0a00 |0005: if-eqz v0, 000f // +000a │ │ +018b2e: 7120 8702 8000 |0007: invoke-static {v0, v8}, Ldnsfilter/android/DNSFilterService$VPNRunner;.access$900:(Ldnsfilter/android/DNSFilterService$VPNRunner;Z)V // method@0287 │ │ +018b34: 1600 6400 |000a: const-wide/16 v0, #int 100 // #64 │ │ +018b38: 7120 a307 1000 |000c: invoke-static {v0, v1}, Lutil/Utils;.sleep:(J)V // method@07a3 │ │ +018b3e: 7100 9901 0000 |000f: invoke-static {}, Ldnsfilter/DNSFilterManager;.getInstance:()Ldnsfilter/DNSFilterManager; // method@0199 │ │ +018b44: 0c00 |0012: move-result-object v0 │ │ +018b46: 6900 b800 |0013: sput-object v0, Ldnsfilter/android/DNSFilterService;.DNSFILTER:Ldnsfilter/DNSFilterManager; // field@00b8 │ │ +018b4a: 7020 9b02 8700 |0015: invoke-direct {v7, v8}, Ldnsfilter/android/DNSFilterService;.initVPN:(Z)Landroid/os/ParcelFileDescriptor; // method@029b │ │ +018b50: 0c04 |0018: move-result-object v4 │ │ +018b52: 3804 1e00 |0019: if-eqz v4, 0037 // +001e │ │ +018b56: 2200 a300 |001b: new-instance v0, Ldnsfilter/android/DNSFilterService$VPNRunner; // type@00a3 │ │ +018b5a: 6001 cf00 |001d: sget v1, Ldnsfilter/android/DNSFilterService;.startCounter:I // field@00cf │ │ +018b5e: d803 0101 |001f: add-int/lit8 v3, v1, #int 1 // #01 │ │ +018b62: 6703 cf00 |0021: sput v3, Ldnsfilter/android/DNSFilterService;.startCounter:I // field@00cf │ │ +018b66: 1206 |0023: const/4 v6, #int 0 // #0 │ │ +018b68: 0701 |0024: move-object v1, v0 │ │ +018b6a: 0772 |0025: move-object v2, v7 │ │ +018b6c: 0185 |0026: move v5, v8 │ │ +018b6e: 7606 8602 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@0286 │ │ +018b74: 5b70 d100 |002a: iput-object v0, v7, Ldnsfilter/android/DNSFilterService;.vpnRunner:Ldnsfilter/android/DNSFilterService$VPNRunner; // field@00d1 │ │ +018b78: 2208 2f01 |002c: new-instance v8, Ljava/lang/Thread; // type@012f │ │ +018b7c: 5470 d100 |002e: iget-object v0, v7, Ldnsfilter/android/DNSFilterService;.vpnRunner:Ldnsfilter/android/DNSFilterService$VPNRunner; // field@00d1 │ │ +018b80: 7020 b405 0800 |0030: invoke-direct {v8, v0}, Ljava/lang/Thread;.:(Ljava/lang/Runnable;)V // method@05b4 │ │ +018b86: 6e10 ba05 0800 |0033: invoke-virtual {v8}, Ljava/lang/Thread;.start:()V // method@05ba │ │ +018b8c: 0e00 |0036: return-void │ │ +018b8e: 2208 0001 |0037: new-instance v8, Ljava/io/IOException; // type@0100 │ │ +018b92: 1a00 8301 |0039: const-string v0, "Error! Cannot get VPN interface! Try restart!" // string@0183 │ │ +018b96: 7020 1f05 0800 |003b: invoke-direct {v8, v0}, Ljava/io/IOException;.:(Ljava/lang/String;)V // method@051f │ │ +018b9c: 2708 |003e: throw v8 │ │ +018b9e: 0d08 |003f: move-exception v8 │ │ +018ba0: 2200 0001 |0040: new-instance v0, Ljava/io/IOException; // type@0100 │ │ +018ba4: 1a01 f500 |0042: const-string v1, "Cannot initialize VPN!" // string@00f5 │ │ +018ba8: 7030 2005 1008 |0044: invoke-direct {v0, v1, v8}, Ljava/io/IOException;.:(Ljava/lang/String;Ljava/lang/Throwable;)V // method@0520 │ │ +018bae: 2700 |0047: throw v0 │ │ catches : 1 │ │ 0x0015 - 0x0019 │ │ Ljava/lang/Exception; -> 0x003f │ │ positions : │ │ 0x0000 line=1025 │ │ 0x0003 line=1027 │ │ 0x0007 line=1030 │ │ @@ -13530,91 +13530,91 @@ │ │ type : '(ZLjava/lang/String;)V' │ │ access : 0x000a (PRIVATE STATIC) │ │ code - │ │ registers : 9 │ │ ins : 2 │ │ outs : 4 │ │ insns size : 161 16-bit code units │ │ -018bfc: |[018bfc] dnsfilter.android.DNSFilterService.runOSCommand:(ZLjava/lang/String;)V │ │ -018c0c: 7100 2507 0000 |0000: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0725 │ │ -018c12: 0c00 |0003: move-result-object v0 │ │ -018c14: 2201 2d01 |0004: new-instance v1, Ljava/lang/StringBuilder; // type@012d │ │ -018c18: 1a02 9201 |0006: const-string v2, "Exec '" // string@0192 │ │ -018c1c: 7020 a805 2100 |0008: invoke-direct {v1, v2}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05a8 │ │ -018c22: 6e20 ad05 8100 |000b: invoke-virtual {v1, v8}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -018c28: 1a02 4000 |000e: const-string v2, "' !" // string@0040 │ │ -018c2c: 6e20 ad05 2100 |0010: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -018c32: 6e10 af05 0100 |0013: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ -018c38: 0c01 |0016: move-result-object v1 │ │ -018c3a: 7220 3107 1000 |0017: invoke-interface {v0, v1}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0731 │ │ -018c40: 7100 8105 0000 |001a: invoke-static {}, Ljava/lang/Runtime;.getRuntime:()Ljava/lang/Runtime; // method@0581 │ │ -018c46: 0c00 |001d: move-result-object v0 │ │ -018c48: 1a01 ff0a |001e: const-string v1, "su" // string@0aff │ │ -018c4c: 6e20 8005 1000 |0020: invoke-virtual {v0, v1}, Ljava/lang/Runtime;.exec:(Ljava/lang/String;)Ljava/lang/Process; // method@0580 │ │ -018c52: 0c00 |0023: move-result-object v0 │ │ -018c54: 2201 f900 |0024: new-instance v1, Ljava/io/DataOutputStream; // type@00f9 │ │ -018c58: 6e10 7e05 0000 |0026: invoke-virtual {v0}, Ljava/lang/Process;.getOutputStream:()Ljava/io/OutputStream; // method@057e │ │ -018c5e: 0c02 |0029: move-result-object v2 │ │ -018c60: 7020 f504 2100 |002a: invoke-direct {v1, v2}, Ljava/io/DataOutputStream;.:(Ljava/io/OutputStream;)V // method@04f5 │ │ -018c66: 2202 2d01 |002d: new-instance v2, Ljava/lang/StringBuilder; // type@012d │ │ -018c6a: 7010 a705 0200 |002f: invoke-direct {v2}, Ljava/lang/StringBuilder;.:()V // method@05a7 │ │ -018c70: 6e20 ad05 8200 |0032: invoke-virtual {v2, v8}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -018c76: 1a08 0200 |0035: const-string v8, " │ │ +018bf8: |[018bf8] dnsfilter.android.DNSFilterService.runOSCommand:(ZLjava/lang/String;)V │ │ +018c08: 7100 2507 0000 |0000: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0725 │ │ +018c0e: 0c00 |0003: move-result-object v0 │ │ +018c10: 2201 2d01 |0004: new-instance v1, Ljava/lang/StringBuilder; // type@012d │ │ +018c14: 1a02 9201 |0006: const-string v2, "Exec '" // string@0192 │ │ +018c18: 7020 a805 2100 |0008: invoke-direct {v1, v2}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05a8 │ │ +018c1e: 6e20 ad05 8100 |000b: invoke-virtual {v1, v8}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +018c24: 1a02 4000 |000e: const-string v2, "' !" // string@0040 │ │ +018c28: 6e20 ad05 2100 |0010: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +018c2e: 6e10 af05 0100 |0013: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ +018c34: 0c01 |0016: move-result-object v1 │ │ +018c36: 7220 3107 1000 |0017: invoke-interface {v0, v1}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0731 │ │ +018c3c: 7100 8105 0000 |001a: invoke-static {}, Ljava/lang/Runtime;.getRuntime:()Ljava/lang/Runtime; // method@0581 │ │ +018c42: 0c00 |001d: move-result-object v0 │ │ +018c44: 1a01 ff0a |001e: const-string v1, "su" // string@0aff │ │ +018c48: 6e20 8005 1000 |0020: invoke-virtual {v0, v1}, Ljava/lang/Runtime;.exec:(Ljava/lang/String;)Ljava/lang/Process; // method@0580 │ │ +018c4e: 0c00 |0023: move-result-object v0 │ │ +018c50: 2201 f900 |0024: new-instance v1, Ljava/io/DataOutputStream; // type@00f9 │ │ +018c54: 6e10 7e05 0000 |0026: invoke-virtual {v0}, Ljava/lang/Process;.getOutputStream:()Ljava/io/OutputStream; // method@057e │ │ +018c5a: 0c02 |0029: move-result-object v2 │ │ +018c5c: 7020 f504 2100 |002a: invoke-direct {v1, v2}, Ljava/io/DataOutputStream;.:(Ljava/io/OutputStream;)V // method@04f5 │ │ +018c62: 2202 2d01 |002d: new-instance v2, Ljava/lang/StringBuilder; // type@012d │ │ +018c66: 7010 a705 0200 |002f: invoke-direct {v2}, Ljava/lang/StringBuilder;.:()V // method@05a7 │ │ +018c6c: 6e20 ad05 8200 |0032: invoke-virtual {v2, v8}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +018c72: 1a08 0200 |0035: const-string v8, " │ │ " // string@0002 │ │ -018c7a: 6e20 ad05 8200 |0037: invoke-virtual {v2, v8}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -018c80: 6e10 af05 0200 |003a: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ -018c86: 0c08 |003d: move-result-object v8 │ │ -018c88: 6e20 fa04 8100 |003e: invoke-virtual {v1, v8}, Ljava/io/DataOutputStream;.writeBytes:(Ljava/lang/String;)V // method@04fa │ │ -018c8e: 6e10 f704 0100 |0041: invoke-virtual {v1}, Ljava/io/DataOutputStream;.flush:()V // method@04f7 │ │ -018c94: 1a08 d806 |0044: const-string v8, "exit │ │ +018c76: 6e20 ad05 8200 |0037: invoke-virtual {v2, v8}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +018c7c: 6e10 af05 0200 |003a: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ +018c82: 0c08 |003d: move-result-object v8 │ │ +018c84: 6e20 fa04 8100 |003e: invoke-virtual {v1, v8}, Ljava/io/DataOutputStream;.writeBytes:(Ljava/lang/String;)V // method@04fa │ │ +018c8a: 6e10 f704 0100 |0041: invoke-virtual {v1}, Ljava/io/DataOutputStream;.flush:()V // method@04f7 │ │ +018c90: 1a08 d806 |0044: const-string v8, "exit │ │ " // string@06d8 │ │ -018c98: 6e20 fa04 8100 |0046: invoke-virtual {v1, v8}, Ljava/io/DataOutputStream;.writeBytes:(Ljava/lang/String;)V // method@04fa │ │ -018c9e: 6e10 f704 0100 |0049: invoke-virtual {v1}, Ljava/io/DataOutputStream;.flush:()V // method@04f7 │ │ -018ca4: 6e10 7d05 0000 |004c: invoke-virtual {v0}, Ljava/lang/Process;.getInputStream:()Ljava/io/InputStream; // method@057d │ │ -018caa: 0c08 |004f: move-result-object v8 │ │ -018cac: 1301 0004 |0050: const/16 v1, #int 1024 // #400 │ │ -018cb0: 2311 9d01 |0052: new-array v1, v1, [B // type@019d │ │ -018cb4: 6e20 2905 1800 |0054: invoke-virtual {v8, v1}, Ljava/io/InputStream;.read:([B)I // method@0529 │ │ -018cba: 0a02 |0057: move-result v2 │ │ -018cbc: 1203 |0058: const/4 v3, #int 0 // #0 │ │ -018cbe: 12f4 |0059: const/4 v4, #int -1 // #ff │ │ -018cc0: 3242 0f00 |005a: if-eq v2, v4, 0069 // +000f │ │ -018cc4: 7100 2507 0000 |005c: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0725 │ │ -018cca: 0c04 |005f: move-result-object v4 │ │ -018ccc: 2205 2b01 |0060: new-instance v5, Ljava/lang/String; // type@012b │ │ -018cd0: 7040 8605 1523 |0062: invoke-direct {v5, v1, v3, v2}, Ljava/lang/String;.:([BII)V // method@0586 │ │ -018cd6: 7220 2f07 5400 |0065: invoke-interface {v4, v5}, Lutil/LoggerInterface;.log:(Ljava/lang/String;)V // method@072f │ │ -018cdc: 28ec |0068: goto 0054 // -0014 │ │ -018cde: 6e10 7c05 0000 |0069: invoke-virtual {v0}, Ljava/lang/Process;.getErrorStream:()Ljava/io/InputStream; // method@057c │ │ -018ce4: 0c08 |006c: move-result-object v8 │ │ -018ce6: 6e20 2905 1800 |006d: invoke-virtual {v8, v1}, Ljava/io/InputStream;.read:([B)I // method@0529 │ │ -018cec: 0a02 |0070: move-result v2 │ │ -018cee: 3242 0f00 |0071: if-eq v2, v4, 0080 // +000f │ │ -018cf2: 7100 2507 0000 |0073: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0725 │ │ -018cf8: 0c05 |0076: move-result-object v5 │ │ -018cfa: 2206 2b01 |0077: new-instance v6, Ljava/lang/String; // type@012b │ │ -018cfe: 7040 8605 1623 |0079: invoke-direct {v6, v1, v3, v2}, Ljava/lang/String;.:([BII)V // method@0586 │ │ -018d04: 7220 2f07 6500 |007c: invoke-interface {v5, v6}, Lutil/LoggerInterface;.log:(Ljava/lang/String;)V // method@072f │ │ -018d0a: 28ee |007f: goto 006d // -0012 │ │ -018d0c: 6e10 7f05 0000 |0080: invoke-virtual {v0}, Ljava/lang/Process;.waitFor:()I // method@057f │ │ -018d12: 6e10 7b05 0000 |0083: invoke-virtual {v0}, Ljava/lang/Process;.exitValue:()I // method@057b │ │ -018d18: 0a08 |0086: move-result v8 │ │ -018d1a: 3808 1900 |0087: if-eqz v8, 00a0 // +0019 │ │ -018d1e: 3807 0300 |0089: if-eqz v7, 008c // +0003 │ │ -018d22: 2815 |008b: goto 00a0 // +0015 │ │ -018d24: 2207 1b01 |008c: new-instance v7, Ljava/lang/Exception; // type@011b │ │ -018d28: 2200 2d01 |008e: new-instance v0, Ljava/lang/StringBuilder; // type@012d │ │ -018d2c: 1a01 7d01 |0090: const-string v1, "Error in process execution: " // string@017d │ │ -018d30: 7020 a805 1000 |0092: invoke-direct {v0, v1}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05a8 │ │ -018d36: 6e20 aa05 8000 |0095: invoke-virtual {v0, v8}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@05aa │ │ -018d3c: 6e10 af05 0000 |0098: invoke-virtual {v0}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ -018d42: 0c08 |009b: move-result-object v8 │ │ -018d44: 7020 5a05 8700 |009c: invoke-direct {v7, v8}, Ljava/lang/Exception;.:(Ljava/lang/String;)V // method@055a │ │ -018d4a: 2707 |009f: throw v7 │ │ -018d4c: 0e00 |00a0: return-void │ │ +018c94: 6e20 fa04 8100 |0046: invoke-virtual {v1, v8}, Ljava/io/DataOutputStream;.writeBytes:(Ljava/lang/String;)V // method@04fa │ │ +018c9a: 6e10 f704 0100 |0049: invoke-virtual {v1}, Ljava/io/DataOutputStream;.flush:()V // method@04f7 │ │ +018ca0: 6e10 7d05 0000 |004c: invoke-virtual {v0}, Ljava/lang/Process;.getInputStream:()Ljava/io/InputStream; // method@057d │ │ +018ca6: 0c08 |004f: move-result-object v8 │ │ +018ca8: 1301 0004 |0050: const/16 v1, #int 1024 // #400 │ │ +018cac: 2311 9d01 |0052: new-array v1, v1, [B // type@019d │ │ +018cb0: 6e20 2905 1800 |0054: invoke-virtual {v8, v1}, Ljava/io/InputStream;.read:([B)I // method@0529 │ │ +018cb6: 0a02 |0057: move-result v2 │ │ +018cb8: 1203 |0058: const/4 v3, #int 0 // #0 │ │ +018cba: 12f4 |0059: const/4 v4, #int -1 // #ff │ │ +018cbc: 3242 0f00 |005a: if-eq v2, v4, 0069 // +000f │ │ +018cc0: 7100 2507 0000 |005c: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0725 │ │ +018cc6: 0c04 |005f: move-result-object v4 │ │ +018cc8: 2205 2b01 |0060: new-instance v5, Ljava/lang/String; // type@012b │ │ +018ccc: 7040 8605 1523 |0062: invoke-direct {v5, v1, v3, v2}, Ljava/lang/String;.:([BII)V // method@0586 │ │ +018cd2: 7220 2f07 5400 |0065: invoke-interface {v4, v5}, Lutil/LoggerInterface;.log:(Ljava/lang/String;)V // method@072f │ │ +018cd8: 28ec |0068: goto 0054 // -0014 │ │ +018cda: 6e10 7c05 0000 |0069: invoke-virtual {v0}, Ljava/lang/Process;.getErrorStream:()Ljava/io/InputStream; // method@057c │ │ +018ce0: 0c08 |006c: move-result-object v8 │ │ +018ce2: 6e20 2905 1800 |006d: invoke-virtual {v8, v1}, Ljava/io/InputStream;.read:([B)I // method@0529 │ │ +018ce8: 0a02 |0070: move-result v2 │ │ +018cea: 3242 0f00 |0071: if-eq v2, v4, 0080 // +000f │ │ +018cee: 7100 2507 0000 |0073: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0725 │ │ +018cf4: 0c05 |0076: move-result-object v5 │ │ +018cf6: 2206 2b01 |0077: new-instance v6, Ljava/lang/String; // type@012b │ │ +018cfa: 7040 8605 1623 |0079: invoke-direct {v6, v1, v3, v2}, Ljava/lang/String;.:([BII)V // method@0586 │ │ +018d00: 7220 2f07 6500 |007c: invoke-interface {v5, v6}, Lutil/LoggerInterface;.log:(Ljava/lang/String;)V // method@072f │ │ +018d06: 28ee |007f: goto 006d // -0012 │ │ +018d08: 6e10 7f05 0000 |0080: invoke-virtual {v0}, Ljava/lang/Process;.waitFor:()I // method@057f │ │ +018d0e: 6e10 7b05 0000 |0083: invoke-virtual {v0}, Ljava/lang/Process;.exitValue:()I // method@057b │ │ +018d14: 0a08 |0086: move-result v8 │ │ +018d16: 3808 1900 |0087: if-eqz v8, 00a0 // +0019 │ │ +018d1a: 3807 0300 |0089: if-eqz v7, 008c // +0003 │ │ +018d1e: 2815 |008b: goto 00a0 // +0015 │ │ +018d20: 2207 1b01 |008c: new-instance v7, Ljava/lang/Exception; // type@011b │ │ +018d24: 2200 2d01 |008e: new-instance v0, Ljava/lang/StringBuilder; // type@012d │ │ +018d28: 1a01 7d01 |0090: const-string v1, "Error in process execution: " // string@017d │ │ +018d2c: 7020 a805 1000 |0092: invoke-direct {v0, v1}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05a8 │ │ +018d32: 6e20 aa05 8000 |0095: invoke-virtual {v0, v8}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@05aa │ │ +018d38: 6e10 af05 0000 |0098: invoke-virtual {v0}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ +018d3e: 0c08 |009b: move-result-object v8 │ │ +018d40: 7020 5a05 8700 |009c: invoke-direct {v7, v8}, Ljava/lang/Exception;.:(Ljava/lang/String;)V // method@055a │ │ +018d46: 2707 |009f: throw v7 │ │ +018d48: 0e00 |00a0: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=882 │ │ 0x001a line=884 │ │ 0x0024 line=885 │ │ 0x002d line=886 │ │ 0x0041 line=887 │ │ @@ -13639,24 +13639,24 @@ │ │ type : '(ZZLjava/lang/String;)V' │ │ access : 0x000a (PRIVATE STATIC) │ │ code - │ │ registers : 4 │ │ ins : 3 │ │ outs : 3 │ │ insns size : 20 16-bit code units │ │ -018bc4: |[018bc4] dnsfilter.android.DNSFilterService.runOSCommand:(ZZLjava/lang/String;)V │ │ -018bd4: 3902 0600 |0000: if-nez v2, 0006 // +0006 │ │ -018bd8: 7120 a902 3100 |0002: invoke-static {v1, v3}, Ldnsfilter/android/DNSFilterService;.runOSCommand:(ZLjava/lang/String;)V // method@02a9 │ │ -018bde: 280e |0005: goto 0013 // +000e │ │ -018be0: 2202 2f01 |0006: new-instance v2, Ljava/lang/Thread; // type@012f │ │ -018be4: 2200 a100 |0008: new-instance v0, Ldnsfilter/android/DNSFilterService$1; // type@00a1 │ │ -018be8: 7030 7b02 1003 |000a: invoke-direct {v0, v1, v3}, Ldnsfilter/android/DNSFilterService$1;.:(ZLjava/lang/String;)V // method@027b │ │ -018bee: 7020 b405 0200 |000d: invoke-direct {v2, v0}, Ljava/lang/Thread;.:(Ljava/lang/Runnable;)V // method@05b4 │ │ -018bf4: 6e10 ba05 0200 |0010: invoke-virtual {v2}, Ljava/lang/Thread;.start:()V // method@05ba │ │ -018bfa: 0e00 |0013: return-void │ │ +018bc0: |[018bc0] dnsfilter.android.DNSFilterService.runOSCommand:(ZZLjava/lang/String;)V │ │ +018bd0: 3902 0600 |0000: if-nez v2, 0006 // +0006 │ │ +018bd4: 7120 a902 3100 |0002: invoke-static {v1, v3}, Ldnsfilter/android/DNSFilterService;.runOSCommand:(ZLjava/lang/String;)V // method@02a9 │ │ +018bda: 280e |0005: goto 0013 // +000e │ │ +018bdc: 2202 2f01 |0006: new-instance v2, Ljava/lang/Thread; // type@012f │ │ +018be0: 2200 a100 |0008: new-instance v0, Ldnsfilter/android/DNSFilterService$1; // type@00a1 │ │ +018be4: 7030 7b02 1003 |000a: invoke-direct {v0, v1, v3}, Ldnsfilter/android/DNSFilterService$1;.:(ZLjava/lang/String;)V // method@027b │ │ +018bea: 7020 b405 0200 |000d: invoke-direct {v2, v0}, Ljava/lang/Thread;.:(Ljava/lang/Runnable;)V // method@05b4 │ │ +018bf0: 6e10 ba05 0200 |0010: invoke-virtual {v2}, Ljava/lang/Thread;.start:()V // method@05ba │ │ +018bf6: 0e00 |0013: return-void │ │ catches : (none) │ │ positions : │ │ 0x0002 line=916 │ │ 0x0006 line=918 │ │ 0x0010 line=929 │ │ locals : │ │ 0x0000 - 0x0014 reg=1 (null) Z │ │ @@ -13668,46 +13668,46 @@ │ │ type : '()V' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 5 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 61 16-bit code units │ │ -018d50: |[018d50] dnsfilter.android.DNSFilterService.setUpPortRedir:()V │ │ -018d60: 1a00 6108 |0000: const-string v0, "iptables -t nat -A PREROUTING -p udp --dport 53 -j REDIRECT --to-port " // string@0861 │ │ -018d64: 6301 c400 |0002: sget-boolean v1, Ldnsfilter/android/DNSFilterService;.dnsProxyOnlyLocal:Z // field@00c4 │ │ -018d68: 3801 0300 |0004: if-eqz v1, 0007 // +0003 │ │ -018d6c: 0e00 |0006: return-void │ │ -018d6e: 6301 ba00 |0007: sget-boolean v1, Ldnsfilter/android/DNSFilterService;.DNS_PROXY_PORT_IS_REDIRECTED:Z // field@00ba │ │ -018d72: 3801 0300 |0009: if-eqz v1, 000c // +0003 │ │ -018d76: 0e00 |000b: return-void │ │ -018d78: 2201 2d01 |000c: new-instance v1, Ljava/lang/StringBuilder; // type@012d │ │ -018d7c: 7020 a805 0100 |000e: invoke-direct {v1, v0}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05a8 │ │ -018d82: 6000 c500 |0011: sget v0, Ldnsfilter/android/DNSFilterService;.dnsProxyPort:I // field@00c5 │ │ -018d86: 6e20 aa05 0100 |0013: invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@05aa │ │ -018d8c: 6e10 af05 0100 |0016: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ -018d92: 0c00 |0019: move-result-object v0 │ │ -018d94: 1201 |001a: const/4 v1, #int 0 // #0 │ │ -018d96: 7120 a902 0100 |001b: invoke-static {v1, v0}, Ldnsfilter/android/DNSFilterService;.runOSCommand:(ZLjava/lang/String;)V // method@02a9 │ │ -018d9c: 1210 |001e: const/4 v0, #int 1 // #1 │ │ -018d9e: 6a00 ba00 |001f: sput-boolean v0, Ldnsfilter/android/DNSFilterService;.DNS_PROXY_PORT_IS_REDIRECTED:Z // field@00ba │ │ -018da2: 281b |0021: goto 003c // +001b │ │ -018da4: 0d00 |0022: move-exception v0 │ │ -018da6: 7100 2507 0000 |0023: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0725 │ │ -018dac: 0c01 |0026: move-result-object v1 │ │ -018dae: 2202 2d01 |0027: new-instance v2, Ljava/lang/StringBuilder; // type@012d │ │ -018db2: 1a03 8d01 |0029: const-string v3, "Exception during setting port redirection:" // string@018d │ │ -018db6: 7020 a805 3200 |002b: invoke-direct {v2, v3}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05a8 │ │ -018dbc: 6e10 5f05 0000 |002e: invoke-virtual {v0}, Ljava/lang/Exception;.toString:()Ljava/lang/String; // method@055f │ │ -018dc2: 0c00 |0031: move-result-object v0 │ │ -018dc4: 6e20 ad05 0200 |0032: invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -018dca: 6e10 af05 0200 |0035: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ -018dd0: 0c00 |0038: move-result-object v0 │ │ -018dd2: 7220 3107 0100 |0039: invoke-interface {v1, v0}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0731 │ │ -018dd8: 0e00 |003c: return-void │ │ +018d4c: |[018d4c] dnsfilter.android.DNSFilterService.setUpPortRedir:()V │ │ +018d5c: 1a00 6108 |0000: const-string v0, "iptables -t nat -A PREROUTING -p udp --dport 53 -j REDIRECT --to-port " // string@0861 │ │ +018d60: 6301 c400 |0002: sget-boolean v1, Ldnsfilter/android/DNSFilterService;.dnsProxyOnlyLocal:Z // field@00c4 │ │ +018d64: 3801 0300 |0004: if-eqz v1, 0007 // +0003 │ │ +018d68: 0e00 |0006: return-void │ │ +018d6a: 6301 ba00 |0007: sget-boolean v1, Ldnsfilter/android/DNSFilterService;.DNS_PROXY_PORT_IS_REDIRECTED:Z // field@00ba │ │ +018d6e: 3801 0300 |0009: if-eqz v1, 000c // +0003 │ │ +018d72: 0e00 |000b: return-void │ │ +018d74: 2201 2d01 |000c: new-instance v1, Ljava/lang/StringBuilder; // type@012d │ │ +018d78: 7020 a805 0100 |000e: invoke-direct {v1, v0}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05a8 │ │ +018d7e: 6000 c500 |0011: sget v0, Ldnsfilter/android/DNSFilterService;.dnsProxyPort:I // field@00c5 │ │ +018d82: 6e20 aa05 0100 |0013: invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@05aa │ │ +018d88: 6e10 af05 0100 |0016: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ +018d8e: 0c00 |0019: move-result-object v0 │ │ +018d90: 1201 |001a: const/4 v1, #int 0 // #0 │ │ +018d92: 7120 a902 0100 |001b: invoke-static {v1, v0}, Ldnsfilter/android/DNSFilterService;.runOSCommand:(ZLjava/lang/String;)V // method@02a9 │ │ +018d98: 1210 |001e: const/4 v0, #int 1 // #1 │ │ +018d9a: 6a00 ba00 |001f: sput-boolean v0, Ldnsfilter/android/DNSFilterService;.DNS_PROXY_PORT_IS_REDIRECTED:Z // field@00ba │ │ +018d9e: 281b |0021: goto 003c // +001b │ │ +018da0: 0d00 |0022: move-exception v0 │ │ +018da2: 7100 2507 0000 |0023: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0725 │ │ +018da8: 0c01 |0026: move-result-object v1 │ │ +018daa: 2202 2d01 |0027: new-instance v2, Ljava/lang/StringBuilder; // type@012d │ │ +018dae: 1a03 8d01 |0029: const-string v3, "Exception during setting port redirection:" // string@018d │ │ +018db2: 7020 a805 3200 |002b: invoke-direct {v2, v3}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05a8 │ │ +018db8: 6e10 5f05 0000 |002e: invoke-virtual {v0}, Ljava/lang/Exception;.toString:()Ljava/lang/String; // method@055f │ │ +018dbe: 0c00 |0031: move-result-object v0 │ │ +018dc0: 6e20 ad05 0200 |0032: invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +018dc6: 6e10 af05 0200 |0035: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ +018dcc: 0c00 |0038: move-result-object v0 │ │ +018dce: 7220 3107 0100 |0039: invoke-interface {v1, v0}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0731 │ │ +018dd4: 0e00 |003c: return-void │ │ catches : 1 │ │ 0x000c - 0x0021 │ │ Ljava/lang/Exception; -> 0x0022 │ │ positions : │ │ 0x0002 line=853 │ │ 0x0007 line=856 │ │ 0x000c line=859 │ │ @@ -13721,77 +13721,77 @@ │ │ type : '()Z' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 6 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 128 16-bit code units │ │ -017bec: |[017bec] dnsfilter.android.DNSFilterService.shutdown:()Z │ │ -017bfc: 6300 c700 |0000: sget-boolean v0, Ldnsfilter/android/DNSFilterService;.is_running:Z // field@00c7 │ │ -017c00: 1211 |0002: const/4 v1, #int 1 // #1 │ │ -017c02: 3900 0300 |0003: if-nez v0, 0006 // +0003 │ │ -017c06: 0f01 |0005: return v1 │ │ -017c08: 1200 |0006: const/4 v0, #int 0 // #0 │ │ -017c0a: 6202 b800 |0007: sget-object v2, Ldnsfilter/android/DNSFilterService;.DNSFILTER:Ldnsfilter/DNSFilterManager; // field@00b8 │ │ -017c0e: 3802 1200 |0009: if-eqz v2, 001b // +0012 │ │ -017c12: 6e10 8a01 0200 |000b: invoke-virtual {v2}, Ldnsfilter/DNSFilterManager;.canStop:()Z // method@018a │ │ -017c18: 0a02 |000e: move-result v2 │ │ -017c1a: 3902 0c00 |000f: if-nez v2, 001b // +000c │ │ -017c1e: 7100 2507 0000 |0011: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0725 │ │ -017c24: 0c01 |0014: move-result-object v1 │ │ -017c26: 1a02 fe00 |0015: const-string v2, "Cannot stop - pending operation!" // string@00fe │ │ -017c2a: 7220 3107 2100 |0017: invoke-interface {v1, v2}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0731 │ │ -017c30: 0f00 |001a: return v0 │ │ -017c32: 7100 7802 0000 |001b: invoke-static {}, Ldnsfilter/android/ConnectionChangeReceiver;.getInstance:()Ldnsfilter/android/ConnectionChangeReceiver; // method@0278 │ │ -017c38: 0c02 |001e: move-result-object v2 │ │ -017c3a: 6e20 b102 2500 |001f: invoke-virtual {v5, v2}, Ldnsfilter/android/DNSFilterService;.unregisterReceiver:(Landroid/content/BroadcastReceiver;)V // method@02b1 │ │ -017c40: 7100 4d03 0000 |0022: invoke-static {}, Ldnsfilter/android/NotificationReceiver;.getInstance:()Ldnsfilter/android/NotificationReceiver; // method@034d │ │ -017c46: 0c02 |0025: move-result-object v2 │ │ -017c48: 6e20 b102 2500 |0026: invoke-virtual {v5, v2}, Ldnsfilter/android/DNSFilterService;.unregisterReceiver:(Landroid/content/BroadcastReceiver;)V // method@02b1 │ │ -017c4e: 2805 |0029: goto 002e // +0005 │ │ -017c50: 0d02 |002a: move-exception v2 │ │ -017c52: 6e10 5c05 0200 |002b: invoke-virtual {v2}, Ljava/lang/Exception;.printStackTrace:()V // method@055c │ │ -017c58: 6302 cd00 |002e: sget-boolean v2, Ldnsfilter/android/DNSFilterService;.rootMode:Z // field@00cd │ │ -017c5c: 3802 0a00 |0030: if-eqz v2, 003a // +000a │ │ -017c60: 6202 c600 |0032: sget-object v2, Ldnsfilter/android/DNSFilterService;.dnsReqForwarder:Ldnsfilter/android/DNSFilterService$DNSReqForwarder; // field@00c6 │ │ -017c64: 7110 8002 0200 |0034: invoke-static {v2}, Ldnsfilter/android/DNSFilterService$DNSReqForwarder;.access$800:(Ldnsfilter/android/DNSFilterService$DNSReqForwarder;)V // method@0280 │ │ -017c6a: 7010 9102 0500 |0037: invoke-direct {v5}, Ldnsfilter/android/DNSFilterService;.clearPortRedir:()V // method@0291 │ │ -017c70: 5452 d100 |003a: iget-object v2, v5, Ldnsfilter/android/DNSFilterService;.vpnRunner:Ldnsfilter/android/DNSFilterService$VPNRunner; // field@00d1 │ │ -017c74: 1203 |003c: const/4 v3, #int 0 // #0 │ │ -017c76: 5b53 d100 |003d: iput-object v3, v5, Ldnsfilter/android/DNSFilterService;.vpnRunner:Ldnsfilter/android/DNSFilterService$VPNRunner; // field@00d1 │ │ -017c7a: 3802 0500 |003f: if-eqz v2, 0044 // +0005 │ │ -017c7e: 7120 8702 1200 |0041: invoke-static {v2, v1}, Ldnsfilter/android/DNSFilterService$VPNRunner;.access$900:(Ldnsfilter/android/DNSFilterService$VPNRunner;Z)V // method@0287 │ │ -017c84: 6202 b900 |0044: sget-object v2, Ldnsfilter/android/DNSFilterService;.DNSFILTERPROXY:Ldnsfilter/DNSFilterProxy; // field@00b9 │ │ -017c88: 3802 1000 |0046: if-eqz v2, 0056 // +0010 │ │ -017c8c: 6e10 ce01 0200 |0048: invoke-virtual {v2}, Ldnsfilter/DNSFilterProxy;.stop:()V // method@01ce │ │ -017c92: 6903 b900 |004b: sput-object v3, Ldnsfilter/android/DNSFilterService;.DNSFILTERPROXY:Ldnsfilter/DNSFilterProxy; // field@00b9 │ │ -017c96: 7100 2507 0000 |004d: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0725 │ │ -017c9c: 0c02 |0050: move-result-object v2 │ │ -017c9e: 1a04 3101 |0051: const-string v4, "DNS filter proxy Mode stopped!" // string@0131 │ │ -017ca2: 7220 3107 4200 |0053: invoke-interface {v2, v4}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0731 │ │ -017ca8: 6202 b800 |0056: sget-object v2, Ldnsfilter/android/DNSFilterService;.DNSFILTER:Ldnsfilter/DNSFilterManager; // field@00b8 │ │ -017cac: 3802 1000 |0058: if-eqz v2, 0068 // +0010 │ │ -017cb0: 6e10 ae01 0200 |005a: invoke-virtual {v2}, Ldnsfilter/DNSFilterManager;.stop:()V // method@01ae │ │ -017cb6: 6903 b800 |005d: sput-object v3, Ldnsfilter/android/DNSFilterService;.DNSFILTER:Ldnsfilter/DNSFilterManager; // field@00b8 │ │ -017cba: 7100 2507 0000 |005f: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0725 │ │ -017cc0: 0c02 |0062: move-result-object v2 │ │ -017cc2: 1a04 3301 |0063: const-string v4, "DNS filter stopped!" // string@0133 │ │ -017cc6: 7220 3107 4200 |0065: invoke-interface {v2, v4}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0731 │ │ -017ccc: 6202 bd00 |0068: sget-object v2, Ldnsfilter/android/DNSFilterService;.SERVICE:Landroid/content/Intent; // field@00bd │ │ -017cd0: 6e20 af02 2500 |006a: invoke-virtual {v5, v2}, Ldnsfilter/android/DNSFilterService;.stopService:(Landroid/content/Intent;)Z // method@02af │ │ -017cd6: 6903 bd00 |006d: sput-object v3, Ldnsfilter/android/DNSFilterService;.SERVICE:Landroid/content/Intent; // field@00bd │ │ -017cda: 6a00 c700 |006f: sput-boolean v0, Ldnsfilter/android/DNSFilterService;.is_running:Z // field@00c7 │ │ -017cde: 1602 c800 |0071: const-wide/16 v2, #int 200 // #c8 │ │ -017ce2: 7120 b905 3200 |0073: invoke-static {v2, v3}, Ljava/lang/Thread;.sleep:(J)V // method@05b9 │ │ -017ce8: 0f01 |0076: return v1 │ │ -017cea: 0d01 |0077: move-exception v1 │ │ -017cec: 7100 2507 0000 |0078: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0725 │ │ -017cf2: 0c02 |007b: move-result-object v2 │ │ -017cf4: 7220 3007 1200 |007c: invoke-interface {v2, v1}, Lutil/LoggerInterface;.logException:(Ljava/lang/Exception;)V // method@0730 │ │ -017cfa: 0f00 |007f: return v0 │ │ +017be8: |[017be8] dnsfilter.android.DNSFilterService.shutdown:()Z │ │ +017bf8: 6300 c700 |0000: sget-boolean v0, Ldnsfilter/android/DNSFilterService;.is_running:Z // field@00c7 │ │ +017bfc: 1211 |0002: const/4 v1, #int 1 // #1 │ │ +017bfe: 3900 0300 |0003: if-nez v0, 0006 // +0003 │ │ +017c02: 0f01 |0005: return v1 │ │ +017c04: 1200 |0006: const/4 v0, #int 0 // #0 │ │ +017c06: 6202 b800 |0007: sget-object v2, Ldnsfilter/android/DNSFilterService;.DNSFILTER:Ldnsfilter/DNSFilterManager; // field@00b8 │ │ +017c0a: 3802 1200 |0009: if-eqz v2, 001b // +0012 │ │ +017c0e: 6e10 8a01 0200 |000b: invoke-virtual {v2}, Ldnsfilter/DNSFilterManager;.canStop:()Z // method@018a │ │ +017c14: 0a02 |000e: move-result v2 │ │ +017c16: 3902 0c00 |000f: if-nez v2, 001b // +000c │ │ +017c1a: 7100 2507 0000 |0011: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0725 │ │ +017c20: 0c01 |0014: move-result-object v1 │ │ +017c22: 1a02 fe00 |0015: const-string v2, "Cannot stop - pending operation!" // string@00fe │ │ +017c26: 7220 3107 2100 |0017: invoke-interface {v1, v2}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0731 │ │ +017c2c: 0f00 |001a: return v0 │ │ +017c2e: 7100 7802 0000 |001b: invoke-static {}, Ldnsfilter/android/ConnectionChangeReceiver;.getInstance:()Ldnsfilter/android/ConnectionChangeReceiver; // method@0278 │ │ +017c34: 0c02 |001e: move-result-object v2 │ │ +017c36: 6e20 b102 2500 |001f: invoke-virtual {v5, v2}, Ldnsfilter/android/DNSFilterService;.unregisterReceiver:(Landroid/content/BroadcastReceiver;)V // method@02b1 │ │ +017c3c: 7100 4d03 0000 |0022: invoke-static {}, Ldnsfilter/android/NotificationReceiver;.getInstance:()Ldnsfilter/android/NotificationReceiver; // method@034d │ │ +017c42: 0c02 |0025: move-result-object v2 │ │ +017c44: 6e20 b102 2500 |0026: invoke-virtual {v5, v2}, Ldnsfilter/android/DNSFilterService;.unregisterReceiver:(Landroid/content/BroadcastReceiver;)V // method@02b1 │ │ +017c4a: 2805 |0029: goto 002e // +0005 │ │ +017c4c: 0d02 |002a: move-exception v2 │ │ +017c4e: 6e10 5c05 0200 |002b: invoke-virtual {v2}, Ljava/lang/Exception;.printStackTrace:()V // method@055c │ │ +017c54: 6302 cd00 |002e: sget-boolean v2, Ldnsfilter/android/DNSFilterService;.rootMode:Z // field@00cd │ │ +017c58: 3802 0a00 |0030: if-eqz v2, 003a // +000a │ │ +017c5c: 6202 c600 |0032: sget-object v2, Ldnsfilter/android/DNSFilterService;.dnsReqForwarder:Ldnsfilter/android/DNSFilterService$DNSReqForwarder; // field@00c6 │ │ +017c60: 7110 8002 0200 |0034: invoke-static {v2}, Ldnsfilter/android/DNSFilterService$DNSReqForwarder;.access$800:(Ldnsfilter/android/DNSFilterService$DNSReqForwarder;)V // method@0280 │ │ +017c66: 7010 9102 0500 |0037: invoke-direct {v5}, Ldnsfilter/android/DNSFilterService;.clearPortRedir:()V // method@0291 │ │ +017c6c: 5452 d100 |003a: iget-object v2, v5, Ldnsfilter/android/DNSFilterService;.vpnRunner:Ldnsfilter/android/DNSFilterService$VPNRunner; // field@00d1 │ │ +017c70: 1203 |003c: const/4 v3, #int 0 // #0 │ │ +017c72: 5b53 d100 |003d: iput-object v3, v5, Ldnsfilter/android/DNSFilterService;.vpnRunner:Ldnsfilter/android/DNSFilterService$VPNRunner; // field@00d1 │ │ +017c76: 3802 0500 |003f: if-eqz v2, 0044 // +0005 │ │ +017c7a: 7120 8702 1200 |0041: invoke-static {v2, v1}, Ldnsfilter/android/DNSFilterService$VPNRunner;.access$900:(Ldnsfilter/android/DNSFilterService$VPNRunner;Z)V // method@0287 │ │ +017c80: 6202 b900 |0044: sget-object v2, Ldnsfilter/android/DNSFilterService;.DNSFILTERPROXY:Ldnsfilter/DNSFilterProxy; // field@00b9 │ │ +017c84: 3802 1000 |0046: if-eqz v2, 0056 // +0010 │ │ +017c88: 6e10 ce01 0200 |0048: invoke-virtual {v2}, Ldnsfilter/DNSFilterProxy;.stop:()V // method@01ce │ │ +017c8e: 6903 b900 |004b: sput-object v3, Ldnsfilter/android/DNSFilterService;.DNSFILTERPROXY:Ldnsfilter/DNSFilterProxy; // field@00b9 │ │ +017c92: 7100 2507 0000 |004d: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0725 │ │ +017c98: 0c02 |0050: move-result-object v2 │ │ +017c9a: 1a04 3101 |0051: const-string v4, "DNS filter proxy Mode stopped!" // string@0131 │ │ +017c9e: 7220 3107 4200 |0053: invoke-interface {v2, v4}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0731 │ │ +017ca4: 6202 b800 |0056: sget-object v2, Ldnsfilter/android/DNSFilterService;.DNSFILTER:Ldnsfilter/DNSFilterManager; // field@00b8 │ │ +017ca8: 3802 1000 |0058: if-eqz v2, 0068 // +0010 │ │ +017cac: 6e10 ae01 0200 |005a: invoke-virtual {v2}, Ldnsfilter/DNSFilterManager;.stop:()V // method@01ae │ │ +017cb2: 6903 b800 |005d: sput-object v3, Ldnsfilter/android/DNSFilterService;.DNSFILTER:Ldnsfilter/DNSFilterManager; // field@00b8 │ │ +017cb6: 7100 2507 0000 |005f: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0725 │ │ +017cbc: 0c02 |0062: move-result-object v2 │ │ +017cbe: 1a04 3301 |0063: const-string v4, "DNS filter stopped!" // string@0133 │ │ +017cc2: 7220 3107 4200 |0065: invoke-interface {v2, v4}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0731 │ │ +017cc8: 6202 bd00 |0068: sget-object v2, Ldnsfilter/android/DNSFilterService;.SERVICE:Landroid/content/Intent; // field@00bd │ │ +017ccc: 6e20 af02 2500 |006a: invoke-virtual {v5, v2}, Ldnsfilter/android/DNSFilterService;.stopService:(Landroid/content/Intent;)Z // method@02af │ │ +017cd2: 6903 bd00 |006d: sput-object v3, Ldnsfilter/android/DNSFilterService;.SERVICE:Landroid/content/Intent; // field@00bd │ │ +017cd6: 6a00 c700 |006f: sput-boolean v0, Ldnsfilter/android/DNSFilterService;.is_running:Z // field@00c7 │ │ +017cda: 1602 c800 |0071: const-wide/16 v2, #int 200 // #c8 │ │ +017cde: 7120 b905 3200 |0073: invoke-static {v2, v3}, Ljava/lang/Thread;.sleep:(J)V // method@05b9 │ │ +017ce4: 0f01 |0076: return v1 │ │ +017ce6: 0d01 |0077: move-exception v1 │ │ +017ce8: 7100 2507 0000 |0078: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0725 │ │ +017cee: 0c02 |007b: move-result-object v2 │ │ +017cf0: 7220 3007 1200 |007c: invoke-interface {v2, v1}, Lutil/LoggerInterface;.logException:(Ljava/lang/Exception;)V // method@0730 │ │ +017cf6: 0f00 |007f: return v0 │ │ catches : 3 │ │ 0x0007 - 0x001a │ │ Ljava/lang/Exception; -> 0x0077 │ │ 0x001b - 0x0029 │ │ Ljava/lang/Exception; -> 0x002a │ │ 0x002b - 0x0076 │ │ Ljava/lang/Exception; -> 0x0077 │ │ @@ -13829,38 +13829,38 @@ │ │ type : '(Z)Z' │ │ access : 0x0009 (PUBLIC STATIC) │ │ code - │ │ registers : 5 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 40 16-bit code units │ │ -017d20: |[017d20] dnsfilter.android.DNSFilterService.stop:(Z)Z │ │ -017d30: 6200 bb00 |0000: sget-object v0, Ldnsfilter/android/DNSFilterService;.INSTANCE:Ldnsfilter/android/DNSFilterService; // field@00bb │ │ -017d34: 1211 |0002: const/4 v1, #int 1 // #1 │ │ -017d36: 3900 0300 |0003: if-nez v0, 0006 // +0003 │ │ -017d3a: 0f01 |0005: return v1 │ │ -017d3c: 5502 c900 |0006: iget-boolean v2, v0, Ldnsfilter/android/DNSFilterService;.manageDNSCryptProxy:Z // field@00c9 │ │ -017d40: 1203 |0008: const/4 v3, #int 0 // #0 │ │ -017d42: 3802 1400 |0009: if-eqz v2, 001d // +0014 │ │ -017d46: 3804 1200 |000b: if-eqz v4, 001d // +0012 │ │ -017d4a: 6204 bc00 |000d: sget-object v4, Ldnsfilter/android/DNSFilterService;.KILL_DNSCRYPTPROXY:Ljava/lang/String; // field@00bc │ │ -017d4e: 7120 a902 4300 |000f: invoke-static {v3, v4}, Ldnsfilter/android/DNSFilterService;.runOSCommand:(ZLjava/lang/String;)V // method@02a9 │ │ -017d54: 5c03 c200 |0012: iput-boolean v3, v0, Ldnsfilter/android/DNSFilterService;.dnsCryptProxyStartTriggered:Z // field@00c2 │ │ -017d58: 2809 |0014: goto 001d // +0009 │ │ -017d5a: 0d04 |0015: move-exception v4 │ │ -017d5c: 7100 2507 0000 |0016: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0725 │ │ -017d62: 0c02 |0019: move-result-object v2 │ │ -017d64: 7220 3007 4200 |001a: invoke-interface {v2, v4}, Lutil/LoggerInterface;.logException:(Ljava/lang/Exception;)V // method@0730 │ │ -017d6a: 7010 ac02 0000 |001d: invoke-direct {v0}, Ldnsfilter/android/DNSFilterService;.shutdown:()Z // method@02ac │ │ -017d70: 0a04 |0020: move-result v4 │ │ -017d72: 3804 0600 |0021: if-eqz v4, 0027 // +0006 │ │ -017d76: 1204 |0023: const/4 v4, #int 0 // #0 │ │ -017d78: 6904 bb00 |0024: sput-object v4, Ldnsfilter/android/DNSFilterService;.INSTANCE:Ldnsfilter/android/DNSFilterService; // field@00bb │ │ -017d7c: 0f01 |0026: return v1 │ │ -017d7e: 0f03 |0027: return v3 │ │ +017d1c: |[017d1c] dnsfilter.android.DNSFilterService.stop:(Z)Z │ │ +017d2c: 6200 bb00 |0000: sget-object v0, Ldnsfilter/android/DNSFilterService;.INSTANCE:Ldnsfilter/android/DNSFilterService; // field@00bb │ │ +017d30: 1211 |0002: const/4 v1, #int 1 // #1 │ │ +017d32: 3900 0300 |0003: if-nez v0, 0006 // +0003 │ │ +017d36: 0f01 |0005: return v1 │ │ +017d38: 5502 c900 |0006: iget-boolean v2, v0, Ldnsfilter/android/DNSFilterService;.manageDNSCryptProxy:Z // field@00c9 │ │ +017d3c: 1203 |0008: const/4 v3, #int 0 // #0 │ │ +017d3e: 3802 1400 |0009: if-eqz v2, 001d // +0014 │ │ +017d42: 3804 1200 |000b: if-eqz v4, 001d // +0012 │ │ +017d46: 6204 bc00 |000d: sget-object v4, Ldnsfilter/android/DNSFilterService;.KILL_DNSCRYPTPROXY:Ljava/lang/String; // field@00bc │ │ +017d4a: 7120 a902 4300 |000f: invoke-static {v3, v4}, Ldnsfilter/android/DNSFilterService;.runOSCommand:(ZLjava/lang/String;)V // method@02a9 │ │ +017d50: 5c03 c200 |0012: iput-boolean v3, v0, Ldnsfilter/android/DNSFilterService;.dnsCryptProxyStartTriggered:Z // field@00c2 │ │ +017d54: 2809 |0014: goto 001d // +0009 │ │ +017d56: 0d04 |0015: move-exception v4 │ │ +017d58: 7100 2507 0000 |0016: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0725 │ │ +017d5e: 0c02 |0019: move-result-object v2 │ │ +017d60: 7220 3007 4200 |001a: invoke-interface {v2, v4}, Lutil/LoggerInterface;.logException:(Ljava/lang/Exception;)V // method@0730 │ │ +017d66: 7010 ac02 0000 |001d: invoke-direct {v0}, Ldnsfilter/android/DNSFilterService;.shutdown:()Z // method@02ac │ │ +017d6c: 0a04 |0020: move-result v4 │ │ +017d6e: 3804 0600 |0021: if-eqz v4, 0027 // +0006 │ │ +017d72: 1204 |0023: const/4 v4, #int 0 // #0 │ │ +017d74: 6904 bb00 |0024: sput-object v4, Ldnsfilter/android/DNSFilterService;.INSTANCE:Ldnsfilter/android/DNSFilterService; // field@00bb │ │ +017d78: 0f01 |0026: return v1 │ │ +017d7a: 0f03 |0027: return v3 │ │ catches : 1 │ │ 0x000d - 0x0014 │ │ Ljava/lang/Exception; -> 0x0015 │ │ positions : │ │ 0x0000 line=1001 │ │ 0x0006 line=1006 │ │ 0x000d line=1008 │ │ @@ -13876,37 +13876,37 @@ │ │ type : '(I)Z' │ │ access : 0x000a (PRIVATE STATIC) │ │ code - │ │ registers : 4 │ │ ins : 1 │ │ outs : 3 │ │ insns size : 41 16-bit code units │ │ -017d90: |[017d90] dnsfilter.android.DNSFilterService.supportsIPVersion:(I)Z │ │ -017da0: 7100 9901 0000 |0000: invoke-static {}, Ldnsfilter/DNSFilterManager;.getInstance:()Ldnsfilter/DNSFilterManager; // method@0199 │ │ -017da6: 0c00 |0003: move-result-object v0 │ │ -017da8: 6e10 9401 0000 |0004: invoke-virtual {v0}, Ldnsfilter/DNSFilterManager;.getConfig:()Ljava/util/Properties; // method@0194 │ │ -017dae: 0c00 |0007: move-result-object v0 │ │ -017db0: 1a01 5d08 |0008: const-string v1, "ipVersionSupport" // string@085d │ │ -017db4: 1a02 7b00 |000a: const-string v2, "4, 6" // string@007b │ │ -017db8: 6e30 5506 1002 |000c: invoke-virtual {v0, v1, v2}, Ljava/util/Properties;.getProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@0655 │ │ -017dbe: 0c00 |000f: move-result-object v0 │ │ -017dc0: 2201 2d01 |0010: new-instance v1, Ljava/lang/StringBuilder; // type@012d │ │ -017dc4: 1a02 0000 |0012: const-string v2, "" // string@0000 │ │ -017dc8: 7020 a805 2100 |0014: invoke-direct {v1, v2}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05a8 │ │ -017dce: 6e20 aa05 3100 |0017: invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@05aa │ │ -017dd4: 6e10 af05 0100 |001a: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ -017dda: 0c03 |001d: move-result-object v3 │ │ -017ddc: 6e20 9005 3000 |001e: invoke-virtual {v0, v3}, Ljava/lang/String;.indexOf:(Ljava/lang/String;)I // method@0590 │ │ -017de2: 0a03 |0021: move-result v3 │ │ -017de4: 12f0 |0022: const/4 v0, #int -1 // #ff │ │ -017de6: 3203 0400 |0023: if-eq v3, v0, 0027 // +0004 │ │ -017dea: 1213 |0025: const/4 v3, #int 1 // #1 │ │ -017dec: 2802 |0026: goto 0028 // +0002 │ │ -017dee: 1203 |0027: const/4 v3, #int 0 // #0 │ │ -017df0: 0f03 |0028: return v3 │ │ +017d8c: |[017d8c] dnsfilter.android.DNSFilterService.supportsIPVersion:(I)Z │ │ +017d9c: 7100 9901 0000 |0000: invoke-static {}, Ldnsfilter/DNSFilterManager;.getInstance:()Ldnsfilter/DNSFilterManager; // method@0199 │ │ +017da2: 0c00 |0003: move-result-object v0 │ │ +017da4: 6e10 9401 0000 |0004: invoke-virtual {v0}, Ldnsfilter/DNSFilterManager;.getConfig:()Ljava/util/Properties; // method@0194 │ │ +017daa: 0c00 |0007: move-result-object v0 │ │ +017dac: 1a01 5d08 |0008: const-string v1, "ipVersionSupport" // string@085d │ │ +017db0: 1a02 7b00 |000a: const-string v2, "4, 6" // string@007b │ │ +017db4: 6e30 5506 1002 |000c: invoke-virtual {v0, v1, v2}, Ljava/util/Properties;.getProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@0655 │ │ +017dba: 0c00 |000f: move-result-object v0 │ │ +017dbc: 2201 2d01 |0010: new-instance v1, Ljava/lang/StringBuilder; // type@012d │ │ +017dc0: 1a02 0000 |0012: const-string v2, "" // string@0000 │ │ +017dc4: 7020 a805 2100 |0014: invoke-direct {v1, v2}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05a8 │ │ +017dca: 6e20 aa05 3100 |0017: invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@05aa │ │ +017dd0: 6e10 af05 0100 |001a: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ +017dd6: 0c03 |001d: move-result-object v3 │ │ +017dd8: 6e20 9005 3000 |001e: invoke-virtual {v0, v3}, Ljava/lang/String;.indexOf:(Ljava/lang/String;)I // method@0590 │ │ +017dde: 0a03 |0021: move-result v3 │ │ +017de0: 12f0 |0022: const/4 v0, #int -1 // #ff │ │ +017de2: 3203 0400 |0023: if-eq v3, v0, 0027 // +0004 │ │ +017de6: 1213 |0025: const/4 v3, #int 1 // #1 │ │ +017de8: 2802 |0026: goto 0028 // +0002 │ │ +017dea: 1203 |0027: const/4 v3, #int 0 // #0 │ │ +017dec: 0f03 |0028: return v3 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=254 │ │ locals : │ │ 0x0000 - 0x0029 reg=3 (null) I │ │ │ │ #26 : (in Ldnsfilter/android/DNSFilterService;) │ │ @@ -13914,68 +13914,68 @@ │ │ type : '()V' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 5 │ │ ins : 1 │ │ outs : 3 │ │ insns size : 112 16-bit code units │ │ -018dec: |[018dec] dnsfilter.android.DNSFilterService.updateNotification:()V │ │ -018dfc: 1a00 0709 |0000: const-string v0, "notification" // string@0907 │ │ -018e00: 6201 b800 |0002: sget-object v1, Ldnsfilter/android/DNSFilterService;.DNSFILTER:Ldnsfilter/DNSFilterManager; // field@00b8 │ │ -018e04: 6e10 9401 0100 |0004: invoke-virtual {v1}, Ldnsfilter/DNSFilterManager;.getConfig:()Ljava/util/Properties; // method@0194 │ │ -018e0a: 0c01 |0007: move-result-object v1 │ │ -018e0c: 1a02 e606 |0008: const-string v2, "filterActive" // string@06e6 │ │ -018e10: 1a03 420b |000a: const-string v3, "true" // string@0b42 │ │ -018e14: 6e30 5506 2103 |000c: invoke-virtual {v1, v2, v3}, Ljava/util/Properties;.getProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@0655 │ │ -018e1a: 0c01 |000f: move-result-object v1 │ │ -018e1c: 7110 4b05 0100 |0010: invoke-static {v1}, Ljava/lang/Boolean;.parseBoolean:(Ljava/lang/String;)Z // method@054b │ │ -018e22: 0a01 |0013: move-result v1 │ │ -018e24: 6e10 9802 0400 |0014: invoke-virtual {v4}, Ldnsfilter/android/DNSFilterService;.getResources:()Landroid/content/res/Resources; // method@0298 │ │ -018e2a: 0c02 |0017: move-result-object v2 │ │ -018e2c: 1403 1d00 087f |0018: const v3, #float 1.80776e+38 // #7f08001d │ │ -018e32: 6e20 5900 3200 |001b: invoke-virtual {v2, v3}, Landroid/content/res/Resources;.getString:(I)Ljava/lang/String; // method@0059 │ │ -018e38: 0c02 |001e: move-result-object v2 │ │ -018e3a: 3901 0d00 |001f: if-nez v1, 002c // +000d │ │ -018e3e: 6e10 9802 0400 |0021: invoke-virtual {v4}, Ldnsfilter/android/DNSFilterService;.getResources:()Landroid/content/res/Resources; // method@0298 │ │ -018e44: 0c02 |0024: move-result-object v2 │ │ -018e46: 1403 1e00 087f |0025: const v3, #float 1.80776e+38 // #7f08001e │ │ -018e4c: 6e20 5900 3200 |0028: invoke-virtual {v2, v3}, Landroid/content/res/Resources;.getString:(I)Ljava/lang/String; // method@0059 │ │ -018e52: 0c02 |002b: move-result-object v2 │ │ -018e54: 5443 cb00 |002c: iget-object v3, v4, Ldnsfilter/android/DNSFilterService;.notibuilder:Landroid/app/Notification$Builder; // field@00cb │ │ -018e58: 6e20 2800 2300 |002e: invoke-virtual {v3, v2}, Landroid/app/Notification$Builder;.setContentTitle:(Ljava/lang/CharSequence;)Landroid/app/Notification$Builder; // method@0028 │ │ -018e5e: 3801 0b00 |0031: if-eqz v1, 003c // +000b │ │ -018e62: 5441 cb00 |0033: iget-object v1, v4, Ldnsfilter/android/DNSFilterService;.notibuilder:Landroid/app/Notification$Builder; // field@00cb │ │ -018e66: 1402 2300 047f |0035: const v2, #float 1.75459e+38 // #7f040023 │ │ -018e6c: 6e20 2900 2100 |0038: invoke-virtual {v1, v2}, Landroid/app/Notification$Builder;.setSmallIcon:(I)Landroid/app/Notification$Builder; // method@0029 │ │ -018e72: 2809 |003b: goto 0044 // +0009 │ │ -018e74: 5441 cb00 |003c: iget-object v1, v4, Ldnsfilter/android/DNSFilterService;.notibuilder:Landroid/app/Notification$Builder; // field@00cb │ │ -018e78: 1402 2400 047f |003e: const v2, #float 1.75459e+38 // #7f040024 │ │ -018e7e: 6e20 2900 2100 |0041: invoke-virtual {v1, v2}, Landroid/app/Notification$Builder;.setSmallIcon:(I)Landroid/app/Notification$Builder; // method@0029 │ │ -018e84: 6e20 9902 0400 |0044: invoke-virtual {v4, v0}, Ldnsfilter/android/DNSFilterService;.getSystemService:(Ljava/lang/String;)Ljava/lang/Object; // method@0299 │ │ -018e8a: 0c01 |0047: move-result-object v1 │ │ -018e8c: 1f01 0f00 |0048: check-cast v1, Landroid/app/NotificationManager; // type@000f │ │ -018e90: 1212 |004a: const/4 v2, #int 1 // #1 │ │ -018e92: 6e20 2b00 2100 |004b: invoke-virtual {v1, v2}, Landroid/app/NotificationManager;.cancel:(I)V // method@002b │ │ -018e98: 6e20 9902 0400 |004e: invoke-virtual {v4, v0}, Ldnsfilter/android/DNSFilterService;.getSystemService:(Ljava/lang/String;)Ljava/lang/Object; // method@0299 │ │ -018e9e: 0c00 |0051: move-result-object v0 │ │ -018ea0: 1f00 0f00 |0052: check-cast v0, Landroid/app/NotificationManager; // type@000f │ │ -018ea4: 5441 cb00 |0054: iget-object v1, v4, Ldnsfilter/android/DNSFilterService;.notibuilder:Landroid/app/Notification$Builder; // field@00cb │ │ -018ea8: 6e10 2600 0100 |0056: invoke-virtual {v1}, Landroid/app/Notification$Builder;.build:()Landroid/app/Notification; // method@0026 │ │ -018eae: 0c01 |0059: move-result-object v1 │ │ -018eb0: 6e30 2d00 2001 |005a: invoke-virtual {v0, v2, v1}, Landroid/app/NotificationManager;.notify:(ILandroid/app/Notification;)V // method@002d │ │ -018eb6: 6000 0200 |005d: sget v0, Landroid/os/Build$VERSION;.SDK_INT:I // field@0002 │ │ -018eba: 1301 1800 |005f: const/16 v1, #int 24 // #18 │ │ -018ebe: 3410 0e00 |0061: if-lt v0, v1, 006f // +000e │ │ -018ec2: 7110 ba02 0400 |0063: invoke-static {v4}, Ldnsfilter/android/DNSFilterTileService;.requestTileUpdate:(Landroid/content/Context;)V // method@02ba │ │ -018ec8: 2809 |0066: goto 006f // +0009 │ │ -018eca: 0d00 |0067: move-exception v0 │ │ -018ecc: 7100 2507 0000 |0068: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0725 │ │ -018ed2: 0c01 |006b: move-result-object v1 │ │ -018ed4: 7220 3007 0100 |006c: invoke-interface {v1, v0}, Lutil/LoggerInterface;.logException:(Ljava/lang/Exception;)V // method@0730 │ │ -018eda: 0e00 |006f: return-void │ │ +018de8: |[018de8] dnsfilter.android.DNSFilterService.updateNotification:()V │ │ +018df8: 1a00 0709 |0000: const-string v0, "notification" // string@0907 │ │ +018dfc: 6201 b800 |0002: sget-object v1, Ldnsfilter/android/DNSFilterService;.DNSFILTER:Ldnsfilter/DNSFilterManager; // field@00b8 │ │ +018e00: 6e10 9401 0100 |0004: invoke-virtual {v1}, Ldnsfilter/DNSFilterManager;.getConfig:()Ljava/util/Properties; // method@0194 │ │ +018e06: 0c01 |0007: move-result-object v1 │ │ +018e08: 1a02 e606 |0008: const-string v2, "filterActive" // string@06e6 │ │ +018e0c: 1a03 420b |000a: const-string v3, "true" // string@0b42 │ │ +018e10: 6e30 5506 2103 |000c: invoke-virtual {v1, v2, v3}, Ljava/util/Properties;.getProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@0655 │ │ +018e16: 0c01 |000f: move-result-object v1 │ │ +018e18: 7110 4b05 0100 |0010: invoke-static {v1}, Ljava/lang/Boolean;.parseBoolean:(Ljava/lang/String;)Z // method@054b │ │ +018e1e: 0a01 |0013: move-result v1 │ │ +018e20: 6e10 9802 0400 |0014: invoke-virtual {v4}, Ldnsfilter/android/DNSFilterService;.getResources:()Landroid/content/res/Resources; // method@0298 │ │ +018e26: 0c02 |0017: move-result-object v2 │ │ +018e28: 1403 1d00 087f |0018: const v3, #float 1.80776e+38 // #7f08001d │ │ +018e2e: 6e20 5900 3200 |001b: invoke-virtual {v2, v3}, Landroid/content/res/Resources;.getString:(I)Ljava/lang/String; // method@0059 │ │ +018e34: 0c02 |001e: move-result-object v2 │ │ +018e36: 3901 0d00 |001f: if-nez v1, 002c // +000d │ │ +018e3a: 6e10 9802 0400 |0021: invoke-virtual {v4}, Ldnsfilter/android/DNSFilterService;.getResources:()Landroid/content/res/Resources; // method@0298 │ │ +018e40: 0c02 |0024: move-result-object v2 │ │ +018e42: 1403 1e00 087f |0025: const v3, #float 1.80776e+38 // #7f08001e │ │ +018e48: 6e20 5900 3200 |0028: invoke-virtual {v2, v3}, Landroid/content/res/Resources;.getString:(I)Ljava/lang/String; // method@0059 │ │ +018e4e: 0c02 |002b: move-result-object v2 │ │ +018e50: 5443 cb00 |002c: iget-object v3, v4, Ldnsfilter/android/DNSFilterService;.notibuilder:Landroid/app/Notification$Builder; // field@00cb │ │ +018e54: 6e20 2800 2300 |002e: invoke-virtual {v3, v2}, Landroid/app/Notification$Builder;.setContentTitle:(Ljava/lang/CharSequence;)Landroid/app/Notification$Builder; // method@0028 │ │ +018e5a: 3801 0b00 |0031: if-eqz v1, 003c // +000b │ │ +018e5e: 5441 cb00 |0033: iget-object v1, v4, Ldnsfilter/android/DNSFilterService;.notibuilder:Landroid/app/Notification$Builder; // field@00cb │ │ +018e62: 1402 2300 047f |0035: const v2, #float 1.75459e+38 // #7f040023 │ │ +018e68: 6e20 2900 2100 |0038: invoke-virtual {v1, v2}, Landroid/app/Notification$Builder;.setSmallIcon:(I)Landroid/app/Notification$Builder; // method@0029 │ │ +018e6e: 2809 |003b: goto 0044 // +0009 │ │ +018e70: 5441 cb00 |003c: iget-object v1, v4, Ldnsfilter/android/DNSFilterService;.notibuilder:Landroid/app/Notification$Builder; // field@00cb │ │ +018e74: 1402 2400 047f |003e: const v2, #float 1.75459e+38 // #7f040024 │ │ +018e7a: 6e20 2900 2100 |0041: invoke-virtual {v1, v2}, Landroid/app/Notification$Builder;.setSmallIcon:(I)Landroid/app/Notification$Builder; // method@0029 │ │ +018e80: 6e20 9902 0400 |0044: invoke-virtual {v4, v0}, Ldnsfilter/android/DNSFilterService;.getSystemService:(Ljava/lang/String;)Ljava/lang/Object; // method@0299 │ │ +018e86: 0c01 |0047: move-result-object v1 │ │ +018e88: 1f01 0f00 |0048: check-cast v1, Landroid/app/NotificationManager; // type@000f │ │ +018e8c: 1212 |004a: const/4 v2, #int 1 // #1 │ │ +018e8e: 6e20 2b00 2100 |004b: invoke-virtual {v1, v2}, Landroid/app/NotificationManager;.cancel:(I)V // method@002b │ │ +018e94: 6e20 9902 0400 |004e: invoke-virtual {v4, v0}, Ldnsfilter/android/DNSFilterService;.getSystemService:(Ljava/lang/String;)Ljava/lang/Object; // method@0299 │ │ +018e9a: 0c00 |0051: move-result-object v0 │ │ +018e9c: 1f00 0f00 |0052: check-cast v0, Landroid/app/NotificationManager; // type@000f │ │ +018ea0: 5441 cb00 |0054: iget-object v1, v4, Ldnsfilter/android/DNSFilterService;.notibuilder:Landroid/app/Notification$Builder; // field@00cb │ │ +018ea4: 6e10 2600 0100 |0056: invoke-virtual {v1}, Landroid/app/Notification$Builder;.build:()Landroid/app/Notification; // method@0026 │ │ +018eaa: 0c01 |0059: move-result-object v1 │ │ +018eac: 6e30 2d00 2001 |005a: invoke-virtual {v0, v2, v1}, Landroid/app/NotificationManager;.notify:(ILandroid/app/Notification;)V // method@002d │ │ +018eb2: 6000 0200 |005d: sget v0, Landroid/os/Build$VERSION;.SDK_INT:I // field@0002 │ │ +018eb6: 1301 1800 |005f: const/16 v1, #int 24 // #18 │ │ +018eba: 3410 0e00 |0061: if-lt v0, v1, 006f // +000e │ │ +018ebe: 7110 ba02 0400 |0063: invoke-static {v4}, Ldnsfilter/android/DNSFilterTileService;.requestTileUpdate:(Landroid/content/Context;)V // method@02ba │ │ +018ec4: 2809 |0066: goto 006f // +0009 │ │ +018ec6: 0d00 |0067: move-exception v0 │ │ +018ec8: 7100 2507 0000 |0068: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0725 │ │ +018ece: 0c01 |006b: move-result-object v1 │ │ +018ed0: 7220 3007 0100 |006c: invoke-interface {v1, v0}, Lutil/LoggerInterface;.logException:(Ljava/lang/Exception;)V // method@0730 │ │ +018ed6: 0e00 |006f: return-void │ │ catches : 1 │ │ 0x0002 - 0x0066 │ │ Ljava/lang/Exception; -> 0x0067 │ │ positions : │ │ 0x0000 line=813 │ │ 0x0002 line=816 │ │ 0x0014 line=817 │ │ @@ -13997,32 +13997,32 @@ │ │ type : '()Z' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 4 │ │ ins : 1 │ │ outs : 3 │ │ insns size : 31 16-bit code units │ │ -017b38: |[017b38] dnsfilter.android.DNSFilterService.isFilterActive:()Z │ │ -017b48: 6200 b800 |0000: sget-object v0, Ldnsfilter/android/DNSFilterService;.DNSFILTER:Ldnsfilter/DNSFilterManager; // field@00b8 │ │ -017b4c: 3800 1b00 |0002: if-eqz v0, 001d // +001b │ │ -017b50: 6e10 9401 0000 |0004: invoke-virtual {v0}, Ldnsfilter/DNSFilterManager;.getConfig:()Ljava/util/Properties; // method@0194 │ │ -017b56: 0c00 |0007: move-result-object v0 │ │ -017b58: 1a01 e606 |0008: const-string v1, "filterActive" // string@06e6 │ │ -017b5c: 1a02 420b |000a: const-string v2, "true" // string@0b42 │ │ -017b60: 6e30 5506 1002 |000c: invoke-virtual {v0, v1, v2}, Ljava/util/Properties;.getProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@0655 │ │ -017b66: 0c00 |000f: move-result-object v0 │ │ -017b68: 7110 4b05 0000 |0010: invoke-static {v0}, Ljava/lang/Boolean;.parseBoolean:(Ljava/lang/String;)Z // method@054b │ │ -017b6e: 0a00 |0013: move-result v0 │ │ -017b70: 0f00 |0014: return v0 │ │ -017b72: 0d00 |0015: move-exception v0 │ │ -017b74: 7100 2507 0000 |0016: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0725 │ │ -017b7a: 0c01 |0019: move-result-object v1 │ │ -017b7c: 7220 3007 0100 |001a: invoke-interface {v1, v0}, Lutil/LoggerInterface;.logException:(Ljava/lang/Exception;)V // method@0730 │ │ -017b82: 1200 |001d: const/4 v0, #int 0 // #0 │ │ -017b84: 0f00 |001e: return v0 │ │ +017b34: |[017b34] dnsfilter.android.DNSFilterService.isFilterActive:()Z │ │ +017b44: 6200 b800 |0000: sget-object v0, Ldnsfilter/android/DNSFilterService;.DNSFILTER:Ldnsfilter/DNSFilterManager; // field@00b8 │ │ +017b48: 3800 1b00 |0002: if-eqz v0, 001d // +001b │ │ +017b4c: 6e10 9401 0000 |0004: invoke-virtual {v0}, Ldnsfilter/DNSFilterManager;.getConfig:()Ljava/util/Properties; // method@0194 │ │ +017b52: 0c00 |0007: move-result-object v0 │ │ +017b54: 1a01 e606 |0008: const-string v1, "filterActive" // string@06e6 │ │ +017b58: 1a02 420b |000a: const-string v2, "true" // string@0b42 │ │ +017b5c: 6e30 5506 1002 |000c: invoke-virtual {v0, v1, v2}, Ljava/util/Properties;.getProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@0655 │ │ +017b62: 0c00 |000f: move-result-object v0 │ │ +017b64: 7110 4b05 0000 |0010: invoke-static {v0}, Ljava/lang/Boolean;.parseBoolean:(Ljava/lang/String;)Z // method@054b │ │ +017b6a: 0a00 |0013: move-result v0 │ │ +017b6c: 0f00 |0014: return v0 │ │ +017b6e: 0d00 |0015: move-exception v0 │ │ +017b70: 7100 2507 0000 |0016: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0725 │ │ +017b76: 0c01 |0019: move-result-object v1 │ │ +017b78: 7220 3007 0100 |001a: invoke-interface {v1, v0}, Lutil/LoggerInterface;.logException:(Ljava/lang/Exception;)V // method@0730 │ │ +017b7e: 1200 |001d: const/4 v0, #int 0 // #0 │ │ +017b80: 0f00 |001e: return v0 │ │ catches : 1 │ │ 0x0000 - 0x0014 │ │ Ljava/lang/Exception; -> 0x0015 │ │ positions : │ │ 0x0000 line=803 │ │ 0x0004 line=804 │ │ 0x0016 line=807 │ │ @@ -14034,22 +14034,22 @@ │ │ type : '()V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 3 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 16 16-bit code units │ │ -018978: |[018978] dnsfilter.android.DNSFilterService.onDestroy:()V │ │ -018988: 7100 2507 0000 |0000: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0725 │ │ -01898e: 0c00 |0003: move-result-object v0 │ │ -018990: 1a01 5c06 |0004: const-string v1, "destroyed" // string@065c │ │ -018994: 7220 3107 1000 |0006: invoke-interface {v0, v1}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0731 │ │ -01899a: 7010 ac02 0200 |0009: invoke-direct {v2}, Ldnsfilter/android/DNSFilterService;.shutdown:()Z // method@02ac │ │ -0189a0: 6f10 7800 0200 |000c: invoke-super {v2}, Landroid/net/VpnService;.onDestroy:()V // method@0078 │ │ -0189a6: 0e00 |000f: return-void │ │ +018974: |[018974] dnsfilter.android.DNSFilterService.onDestroy:()V │ │ +018984: 7100 2507 0000 |0000: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0725 │ │ +01898a: 0c00 |0003: move-result-object v0 │ │ +01898c: 1a01 5c06 |0004: const-string v1, "destroyed" // string@065c │ │ +018990: 7220 3107 1000 |0006: invoke-interface {v0, v1}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0731 │ │ +018996: 7010 ac02 0200 |0009: invoke-direct {v2}, Ldnsfilter/android/DNSFilterService;.shutdown:()Z // method@02ac │ │ +01899c: 6f10 7800 0200 |000c: invoke-super {v2}, Landroid/net/VpnService;.onDestroy:()V // method@0078 │ │ +0189a2: 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; │ │ @@ -14059,260 +14059,260 @@ │ │ type : '(Landroid/content/Intent;II)I' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 12 │ │ ins : 4 │ │ outs : 6 │ │ insns size : 513 16-bit code units │ │ -017e0c: |[017e0c] dnsfilter.android.DNSFilterService.onStartCommand:(Landroid/content/Intent;II)I │ │ -017e1c: 1a0a df06 |0000: const-string v10, "false" // string@06df │ │ -017e20: 7110 2202 0800 |0002: invoke-static {v8}, Ldnsfilter/android/AndroidEnvironment;.initEnvironment:(Landroid/content/Context;)V // method@0222 │ │ -017e26: 6908 bb00 |0005: sput-object v8, Ldnsfilter/android/DNSFilterService;.INSTANCE:Ldnsfilter/android/DNSFilterService; // field@00bb │ │ -017e2a: 6909 bd00 |0007: sput-object v9, Ldnsfilter/android/DNSFilterService;.SERVICE:Landroid/content/Intent; // field@00bd │ │ -017e2e: 6209 b800 |0009: sget-object v9, Ldnsfilter/android/DNSFilterService;.DNSFILTER:Ldnsfilter/DNSFilterManager; // field@00b8 │ │ -017e32: 1a0b 5c09 |000b: const-string v11, "pause_resume" // string@095c │ │ -017e36: 1200 |000d: const/4 v0, #int 0 // #0 │ │ -017e38: 1211 |000e: const/4 v1, #int 1 // #1 │ │ -017e3a: 3809 0d00 |000f: if-eqz v9, 001c // +000d │ │ -017e3e: 7100 2507 0000 |0011: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0725 │ │ -017e44: 0c09 |0014: move-result-object v9 │ │ -017e46: 1a0a 3001 |0015: const-string v10, "DNS filter already running!" // string@0130 │ │ -017e4a: 7220 3107 a900 |0017: invoke-interface {v9, v10}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0731 │ │ -017e50: 2900 2a01 |001a: goto/16 0144 // +012a │ │ -017e54: 7100 9901 0000 |001c: invoke-static {}, Ldnsfilter/DNSFilterManager;.getInstance:()Ldnsfilter/DNSFilterManager; // method@0199 │ │ -017e5a: 0c09 |001f: move-result-object v9 │ │ -017e5c: 6909 b800 |0020: sput-object v9, Ldnsfilter/android/DNSFilterService;.DNSFILTER:Ldnsfilter/DNSFilterManager; // field@00b8 │ │ -017e60: 6e10 9e01 0900 |0022: invoke-virtual {v9}, Ldnsfilter/DNSFilterManager;.init:()V // method@019e │ │ -017e66: 6209 b800 |0025: sget-object v9, Ldnsfilter/android/DNSFilterService;.DNSFILTER:Ldnsfilter/DNSFilterManager; // field@00b8 │ │ -017e6a: 6e10 9401 0900 |0027: invoke-virtual {v9}, Ldnsfilter/DNSFilterManager;.getConfig:()Ljava/util/Properties; // method@0194 │ │ -017e70: 0c09 |002a: move-result-object v9 │ │ -017e72: 1a02 6b06 |002b: const-string v2, "dnsProxyOnAndroid" // string@066b │ │ -017e76: 6e30 5506 290a |002d: invoke-virtual {v9, v2, v10}, Ljava/util/Properties;.getProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@0655 │ │ -017e7c: 0c09 |0030: move-result-object v9 │ │ -017e7e: 7110 4b05 0900 |0031: invoke-static {v9}, Ljava/lang/Boolean;.parseBoolean:(Ljava/lang/String;)Z // method@054b │ │ -017e84: 0a09 |0034: move-result v9 │ │ -017e86: 6a09 c300 |0035: sput-boolean v9, Ldnsfilter/android/DNSFilterService;.dnsProxyMode:Z // field@00c3 │ │ -017e8a: 6209 b800 |0037: sget-object v9, Ldnsfilter/android/DNSFilterService;.DNSFILTER:Ldnsfilter/DNSFilterManager; // field@00b8 │ │ -017e8e: 6e10 9401 0900 |0039: invoke-virtual {v9}, Ldnsfilter/DNSFilterManager;.getConfig:()Ljava/util/Properties; // method@0194 │ │ -017e94: 0c09 |003c: move-result-object v9 │ │ -017e96: 1a02 6f06 |003d: const-string v2, "dnsProxyPortAndroid" // string@066f │ │ -017e9a: 1a03 7d00 |003f: const-string v3, "5300" // string@007d │ │ -017e9e: 6e30 5506 2903 |0041: invoke-virtual {v9, v2, v3}, Ljava/util/Properties;.getProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@0655 │ │ -017ea4: 0c09 |0044: move-result-object v9 │ │ -017ea6: 7110 6505 0900 |0045: invoke-static {v9}, Ljava/lang/Integer;.parseInt:(Ljava/lang/String;)I // method@0565 │ │ -017eac: 0a09 |0048: move-result v9 │ │ -017eae: 6709 c500 |0049: sput v9, Ldnsfilter/android/DNSFilterService;.dnsProxyPort:I // field@00c5 │ │ -017eb2: 6209 b800 |004b: sget-object v9, Ldnsfilter/android/DNSFilterService;.DNSFILTER:Ldnsfilter/DNSFilterManager; // field@00b8 │ │ -017eb6: 6e10 9401 0900 |004d: invoke-virtual {v9}, Ldnsfilter/DNSFilterManager;.getConfig:()Ljava/util/Properties; // method@0194 │ │ -017ebc: 0c09 |0050: move-result-object v9 │ │ -017ebe: 1a02 6d06 |0051: const-string v2, "dnsProxyOnlyLocalRequests" // string@066d │ │ -017ec2: 1a03 420b |0053: const-string v3, "true" // string@0b42 │ │ -017ec6: 6e30 5506 2903 |0055: invoke-virtual {v9, v2, v3}, Ljava/util/Properties;.getProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@0655 │ │ -017ecc: 0c09 |0058: move-result-object v9 │ │ -017ece: 7110 4b05 0900 |0059: invoke-static {v9}, Ljava/lang/Boolean;.parseBoolean:(Ljava/lang/String;)Z // method@054b │ │ -017ed4: 0a09 |005c: move-result v9 │ │ -017ed6: 6a09 c400 |005d: sput-boolean v9, Ldnsfilter/android/DNSFilterService;.dnsProxyOnlyLocal:Z // field@00c4 │ │ -017eda: 6209 b800 |005f: sget-object v9, Ldnsfilter/android/DNSFilterService;.DNSFILTER:Ldnsfilter/DNSFilterManager; // field@00b8 │ │ -017ede: 6e10 9401 0900 |0061: invoke-virtual {v9}, Ldnsfilter/DNSFilterManager;.getConfig:()Ljava/util/Properties; // method@0194 │ │ -017ee4: 0c09 |0064: move-result-object v9 │ │ -017ee6: 1a02 2a0a |0065: const-string v2, "rootModeOnAndroid" // string@0a2a │ │ -017eea: 6e30 5506 290a |0067: invoke-virtual {v9, v2, v10}, Ljava/util/Properties;.getProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@0655 │ │ -017ef0: 0c09 |006a: move-result-object v9 │ │ -017ef2: 7110 4b05 0900 |006b: invoke-static {v9}, Ljava/lang/Boolean;.parseBoolean:(Ljava/lang/String;)Z // method@054b │ │ -017ef8: 0a09 |006e: move-result v9 │ │ -017efa: 6a09 cd00 |006f: sput-boolean v9, Ldnsfilter/android/DNSFilterService;.rootMode:Z // field@00cd │ │ -017efe: 6209 b800 |0071: sget-object v9, Ldnsfilter/android/DNSFilterService;.DNSFILTER:Ldnsfilter/DNSFilterManager; // field@00b8 │ │ -017f02: 6e10 9401 0900 |0073: invoke-virtual {v9}, Ldnsfilter/DNSFilterManager;.getConfig:()Ljava/util/Properties; // method@0194 │ │ -017f08: 0c09 |0076: move-result-object v9 │ │ -017f0a: 1a02 900b |0077: const-string v2, "vpnInAdditionToProxyMode" // string@0b90 │ │ -017f0e: 6e30 5506 290a |0079: invoke-virtual {v9, v2, v10}, Ljava/util/Properties;.getProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@0655 │ │ -017f14: 0c09 |007c: move-result-object v9 │ │ -017f16: 7110 4b05 0900 |007d: invoke-static {v9}, Ljava/lang/Boolean;.parseBoolean:(Ljava/lang/String;)Z // method@054b │ │ -017f1c: 0a09 |0080: move-result v9 │ │ -017f1e: 6a09 d000 |0081: sput-boolean v9, Ldnsfilter/android/DNSFilterService;.vpnInAdditionToProxyMode:Z // field@00d0 │ │ -017f22: 6309 cd00 |0083: sget-boolean v9, Ldnsfilter/android/DNSFilterService;.rootMode:Z // field@00cd │ │ -017f26: 3809 1100 |0085: if-eqz v9, 0096 // +0011 │ │ -017f2a: 6309 c300 |0087: sget-boolean v9, Ldnsfilter/android/DNSFilterService;.dnsProxyMode:Z // field@00c3 │ │ -017f2e: 3909 0d00 |0089: if-nez v9, 0096 // +000d │ │ -017f32: 6a00 cd00 |008b: sput-boolean v0, Ldnsfilter/android/DNSFilterService;.rootMode:Z // field@00cd │ │ -017f36: 7100 2507 0000 |008d: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0725 │ │ -017f3c: 0c09 |0090: move-result-object v9 │ │ -017f3e: 1a02 d904 |0091: const-string v2, "WARNING! Root mode only possible in combination with DNS proxy mode!" // string@04d9 │ │ -017f42: 7220 3107 2900 |0093: invoke-interface {v9, v2}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0731 │ │ -017f48: 6309 cd00 |0096: sget-boolean v9, Ldnsfilter/android/DNSFilterService;.rootMode:Z // field@00cd │ │ -017f4c: 3809 0c00 |0098: if-eqz v9, 00a4 // +000c │ │ -017f50: 6209 c600 |009a: sget-object v9, Ldnsfilter/android/DNSFilterService;.dnsReqForwarder:Ldnsfilter/android/DNSFilterService$DNSReqForwarder; // field@00c6 │ │ -017f54: 7110 7f02 0900 |009c: invoke-static {v9}, Ldnsfilter/android/DNSFilterService$DNSReqForwarder;.access$600:(Ldnsfilter/android/DNSFilterService$DNSReqForwarder;)V // method@027f │ │ -017f5a: 6209 c600 |009f: sget-object v9, Ldnsfilter/android/DNSFilterService;.dnsReqForwarder:Ldnsfilter/android/DNSFilterService$DNSReqForwarder; // field@00c6 │ │ -017f5e: 7110 7e02 0900 |00a1: invoke-static {v9}, Ldnsfilter/android/DNSFilterService$DNSReqForwarder;.access$500:(Ldnsfilter/android/DNSFilterService$DNSReqForwarder;)V // method@027e │ │ -017f64: 7100 7802 0000 |00a4: invoke-static {}, Ldnsfilter/android/ConnectionChangeReceiver;.getInstance:()Ldnsfilter/android/ConnectionChangeReceiver; // method@0278 │ │ -017f6a: 0c09 |00a7: move-result-object v9 │ │ -017f6c: 2202 1b00 |00a8: new-instance v2, Landroid/content/IntentFilter; // type@001b │ │ -017f70: 1a03 6305 |00aa: const-string v3, "android.net.conn.CONNECTIVITY_CHANGE" // string@0563 │ │ -017f74: 7020 4f00 3200 |00ac: invoke-direct {v2, v3}, Landroid/content/IntentFilter;.:(Ljava/lang/String;)V // method@004f │ │ -017f7a: 6e30 a502 9802 |00af: invoke-virtual {v8, v9, v2}, Ldnsfilter/android/DNSFilterService;.registerReceiver:(Landroid/content/BroadcastReceiver;Landroid/content/IntentFilter;)Landroid/content/Intent; // method@02a5 │ │ -017f80: 6009 0200 |00b2: sget v9, Landroid/os/Build$VERSION;.SDK_INT:I // field@0002 │ │ -017f84: 1302 2200 |00b4: const/16 v2, #int 34 // #22 │ │ -017f88: 3529 0f00 |00b6: if-ge v9, v2, 00c5 // +000f │ │ -017f8c: 7100 4d03 0000 |00b8: invoke-static {}, Ldnsfilter/android/NotificationReceiver;.getInstance:()Ldnsfilter/android/NotificationReceiver; // method@034d │ │ -017f92: 0c09 |00bb: move-result-object v9 │ │ -017f94: 2202 1b00 |00bc: new-instance v2, Landroid/content/IntentFilter; // type@001b │ │ -017f98: 7020 4f00 b200 |00be: invoke-direct {v2, v11}, Landroid/content/IntentFilter;.:(Ljava/lang/String;)V // method@004f │ │ -017f9e: 6e30 a502 9802 |00c1: invoke-virtual {v8, v9, v2}, Ldnsfilter/android/DNSFilterService;.registerReceiver:(Landroid/content/BroadcastReceiver;Landroid/content/IntentFilter;)Landroid/content/Intent; // method@02a5 │ │ -017fa4: 280e |00c4: goto 00d2 // +000e │ │ -017fa6: 7100 4d03 0000 |00c5: invoke-static {}, Ldnsfilter/android/NotificationReceiver;.getInstance:()Ldnsfilter/android/NotificationReceiver; // method@034d │ │ -017fac: 0c09 |00c8: move-result-object v9 │ │ -017fae: 2202 1b00 |00c9: new-instance v2, Landroid/content/IntentFilter; // type@001b │ │ -017fb2: 7020 4f00 b200 |00cb: invoke-direct {v2, v11}, Landroid/content/IntentFilter;.:(Ljava/lang/String;)V // method@004f │ │ -017fb8: 1223 |00ce: const/4 v3, #int 2 // #2 │ │ -017fba: 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 │ │ -017fc0: 7110 a102 0100 |00d2: invoke-static {v1}, Ldnsfilter/android/DNSFilterService;.possibleNetworkChange:(Z)V // method@02a1 │ │ -017fc6: 6309 c300 |00d5: sget-boolean v9, Ldnsfilter/android/DNSFilterService;.dnsProxyMode:Z // field@00c3 │ │ -017fca: 3809 1c00 |00d7: if-eqz v9, 00f3 // +001c │ │ -017fce: 6309 cd00 |00d9: sget-boolean v9, Ldnsfilter/android/DNSFilterService;.rootMode:Z // field@00cd │ │ -017fd2: 3809 0500 |00db: if-eqz v9, 00e0 // +0005 │ │ -017fd6: 7010 ab02 0800 |00dd: invoke-direct {v8}, Ldnsfilter/android/DNSFilterService;.setUpPortRedir:()V // method@02ab │ │ -017fdc: 2209 8d00 |00e0: new-instance v9, Ldnsfilter/DNSFilterProxy; // type@008d │ │ -017fe0: 6002 c500 |00e2: sget v2, Ldnsfilter/android/DNSFilterService;.dnsProxyPort:I // field@00c5 │ │ -017fe4: 7020 c801 2900 |00e4: invoke-direct {v9, v2}, Ldnsfilter/DNSFilterProxy;.:(I)V // method@01c8 │ │ -017fea: 6909 b900 |00e7: sput-object v9, Ldnsfilter/android/DNSFilterService;.DNSFILTERPROXY:Ldnsfilter/DNSFilterProxy; // field@00b9 │ │ -017fee: 2209 2f01 |00e9: new-instance v9, Ljava/lang/Thread; // type@012f │ │ -017ff2: 6202 b900 |00eb: sget-object v2, Ldnsfilter/android/DNSFilterService;.DNSFILTERPROXY:Ldnsfilter/DNSFilterProxy; // field@00b9 │ │ -017ff6: 7020 b405 2900 |00ed: invoke-direct {v9, v2}, Ljava/lang/Thread;.:(Ljava/lang/Runnable;)V // method@05b4 │ │ -017ffc: 6e10 ba05 0900 |00f0: invoke-virtual {v9}, Ljava/lang/Thread;.start:()V // method@05ba │ │ -018002: 6209 b800 |00f3: sget-object v9, Ldnsfilter/android/DNSFilterService;.DNSFILTER:Ldnsfilter/DNSFilterManager; // field@00b8 │ │ -018006: 6e10 9401 0900 |00f5: invoke-virtual {v9}, Ldnsfilter/DNSFilterManager;.getConfig:()Ljava/util/Properties; // method@0194 │ │ -01800c: 0c09 |00f8: move-result-object v9 │ │ -01800e: 1a02 d108 |00f9: const-string v2, "manageDNSCryptProxy" // string@08d1 │ │ -018012: 6e30 5506 290a |00fb: invoke-virtual {v9, v2, v10}, Ljava/util/Properties;.getProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@0655 │ │ -018018: 0c09 |00fe: move-result-object v9 │ │ -01801a: 7110 4b05 0900 |00ff: invoke-static {v9}, Ljava/lang/Boolean;.parseBoolean:(Ljava/lang/String;)Z // method@054b │ │ -018020: 0a09 |0102: move-result v9 │ │ -018022: 5c89 c900 |0103: iput-boolean v9, v8, Ldnsfilter/android/DNSFilterService;.manageDNSCryptProxy:Z // field@00c9 │ │ -018026: 3809 3d00 |0105: if-eqz v9, 0142 // +003d │ │ -01802a: 5589 c200 |0107: iget-boolean v9, v8, Ldnsfilter/android/DNSFilterService;.dnsCryptProxyStartTriggered:Z // field@00c2 │ │ -01802e: 3909 3900 |0109: if-nez v9, 0142 // +0039 │ │ -018032: 6209 bc00 |010b: sget-object v9, Ldnsfilter/android/DNSFilterService;.KILL_DNSCRYPTPROXY:Ljava/lang/String; // field@00bc │ │ -018036: 7130 aa02 0109 |010d: invoke-static {v1, v0, v9}, Ldnsfilter/android/DNSFilterService;.runOSCommand:(ZZLjava/lang/String;)V // method@02aa │ │ -01803c: 2209 2d01 |0110: new-instance v9, Ljava/lang/StringBuilder; // type@012d │ │ -018040: 7010 a705 0900 |0112: invoke-direct {v9}, Ljava/lang/StringBuilder;.:()V // method@05a7 │ │ -018046: 620a be00 |0115: sget-object v10, Ldnsfilter/android/DNSFilterService;.START_DNSCRYPTPROXY:Ljava/lang/String; // field@00be │ │ -01804a: 6e20 ad05 a900 |0117: invoke-virtual {v9, v10}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -018050: 1a0a 0d00 |011a: const-string v10, " " // string@000d │ │ -018054: 6e20 ad05 a900 |011c: invoke-virtual {v9, v10}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -01805a: 620a b800 |011f: sget-object v10, Ldnsfilter/android/DNSFilterService;.DNSFILTER:Ldnsfilter/DNSFilterManager; // field@00b8 │ │ -01805e: 6e10 9401 0a00 |0121: invoke-virtual {v10}, Ldnsfilter/DNSFilterManager;.getConfig:()Ljava/util/Properties; // method@0194 │ │ -018064: 0c0a |0124: move-result-object v10 │ │ -018066: 1a02 6406 |0125: const-string v2, "dnsCryptProxyStartOptions" // string@0664 │ │ -01806a: 1a03 0000 |0127: const-string v3, "" // string@0000 │ │ -01806e: 6e30 5506 2a03 |0129: invoke-virtual {v10, v2, v3}, Ljava/util/Properties;.getProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@0655 │ │ -018074: 0c0a |012c: move-result-object v10 │ │ -018076: 6e20 ad05 a900 |012d: invoke-virtual {v9, v10}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -01807c: 6e10 af05 0900 |0130: invoke-virtual {v9}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ -018082: 0c09 |0133: move-result-object v9 │ │ -018084: 7130 aa02 1009 |0134: invoke-static {v0, v1, v9}, Ldnsfilter/android/DNSFilterService;.runOSCommand:(ZZLjava/lang/String;)V // method@02aa │ │ -01808a: 5c81 c200 |0137: iput-boolean v1, v8, Ldnsfilter/android/DNSFilterService;.dnsCryptProxyStartTriggered:Z // field@00c2 │ │ -01808e: 2809 |0139: goto 0142 // +0009 │ │ -018090: 0d09 |013a: move-exception v9 │ │ -018092: 7100 2507 0000 |013b: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0725 │ │ -018098: 0c0a |013e: move-result-object v10 │ │ -01809a: 7220 3007 9a00 |013f: invoke-interface {v10, v9}, Lutil/LoggerInterface;.logException:(Ljava/lang/Exception;)V // method@0730 │ │ -0180a0: 6a01 c700 |0142: sput-boolean v1, Ldnsfilter/android/DNSFilterService;.is_running:Z // field@00c7 │ │ -0180a4: 2209 1a00 |0144: new-instance v9, Landroid/content/Intent; // type@001a │ │ -0180a8: 1c0a b000 |0146: const-class v10, Ldnsfilter/android/DNSProxyActivity; // type@00b0 │ │ -0180ac: 7030 4200 890a |0148: invoke-direct {v9, v8, v10}, Landroid/content/Intent;.:(Landroid/content/Context;Ljava/lang/Class;)V // method@0042 │ │ -0180b2: 150a 0004 |014b: const/high16 v10, #int 67108864 // #400 │ │ -0180b6: 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 │ │ -0180bc: 0c09 |0150: move-result-object v9 │ │ -0180be: 5b89 cc00 |0151: iput-object v9, v8, Ldnsfilter/android/DNSFilterService;.pendingIntent:Landroid/app/PendingIntent; // field@00cc │ │ -0180c2: 6309 c300 |0153: sget-boolean v9, Ldnsfilter/android/DNSFilterService;.dnsProxyMode:Z // field@00c3 │ │ -0180c6: 3809 0600 |0155: if-eqz v9, 015b // +0006 │ │ -0180ca: 6309 d000 |0157: sget-boolean v9, Ldnsfilter/android/DNSFilterService;.vpnInAdditionToProxyMode:Z // field@00d0 │ │ -0180ce: 3809 2d00 |0159: if-eqz v9, 0186 // +002d │ │ -0180d2: 7020 9b02 1800 |015b: invoke-direct {v8, v1}, Ldnsfilter/android/DNSFilterService;.initVPN:(Z)Landroid/os/ParcelFileDescriptor; // method@029b │ │ -0180d8: 0c05 |015e: move-result-object v5 │ │ -0180da: 3805 1e00 |015f: if-eqz v5, 017d // +001e │ │ -0180de: 2209 a300 |0161: new-instance v9, Ldnsfilter/android/DNSFilterService$VPNRunner; // type@00a3 │ │ -0180e2: 600a cf00 |0163: sget v10, Ldnsfilter/android/DNSFilterService;.startCounter:I // field@00cf │ │ -0180e6: d804 0a01 |0165: add-int/lit8 v4, v10, #int 1 // #01 │ │ -0180ea: 6704 cf00 |0167: sput v4, Ldnsfilter/android/DNSFilterService;.startCounter:I // field@00cf │ │ -0180ee: 1216 |0169: const/4 v6, #int 1 // #1 │ │ -0180f0: 1207 |016a: const/4 v7, #int 0 // #0 │ │ -0180f2: 0792 |016b: move-object v2, v9 │ │ -0180f4: 0783 |016c: move-object v3, v8 │ │ -0180f6: 7606 8602 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@0286 │ │ -0180fc: 5b89 d100 |0170: iput-object v9, v8, Ldnsfilter/android/DNSFilterService;.vpnRunner:Ldnsfilter/android/DNSFilterService$VPNRunner; // field@00d1 │ │ -018100: 2209 2f01 |0172: new-instance v9, Ljava/lang/Thread; // type@012f │ │ -018104: 548a d100 |0174: iget-object v10, v8, Ldnsfilter/android/DNSFilterService;.vpnRunner:Ldnsfilter/android/DNSFilterService$VPNRunner; // field@00d1 │ │ -018108: 7020 b405 a900 |0176: invoke-direct {v9, v10}, Ljava/lang/Thread;.:(Ljava/lang/Runnable;)V // method@05b4 │ │ -01810e: 6e10 ba05 0900 |0179: invoke-virtual {v9}, Ljava/lang/Thread;.start:()V // method@05ba │ │ -018114: 280a |017c: goto 0186 // +000a │ │ -018116: 7100 2507 0000 |017d: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0725 │ │ -01811c: 0c09 |0180: move-result-object v9 │ │ -01811e: 1a0a 8301 |0181: const-string v10, "Error! Cannot get VPN interface! Try restart!" // string@0183 │ │ -018122: 7220 3107 a900 |0183: invoke-interface {v9, v10}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0731 │ │ -018128: 6009 0200 |0186: sget v9, Landroid/os/Build$VERSION;.SDK_INT:I // field@0002 │ │ -01812c: 130a 1a00 |0188: const/16 v10, #int 26 // #1a │ │ -018130: 34a9 0e00 |018a: if-lt v9, v10, 0198 // +000e │ │ -018134: 2209 0c00 |018c: new-instance v9, Landroid/app/Notification$Builder; // type@000c │ │ -018138: 7010 9402 0800 |018e: invoke-direct {v8}, Ldnsfilter/android/DNSFilterService;.getChannel:()Ljava/lang/String; // method@0294 │ │ -01813e: 0c0a |0191: move-result-object v10 │ │ -018140: 7030 2400 890a |0192: invoke-direct {v9, v8, v10}, Landroid/app/Notification$Builder;.:(Landroid/content/Context;Ljava/lang/String;)V // method@0024 │ │ -018146: 5b89 cb00 |0195: iput-object v9, v8, Ldnsfilter/android/DNSFilterService;.notibuilder:Landroid/app/Notification$Builder; // field@00cb │ │ -01814a: 2808 |0197: goto 019f // +0008 │ │ -01814c: 2209 0c00 |0198: new-instance v9, Landroid/app/Notification$Builder; // type@000c │ │ -018150: 7020 2300 8900 |019a: invoke-direct {v9, v8}, Landroid/app/Notification$Builder;.:(Landroid/content/Context;)V // method@0023 │ │ -018156: 5b89 cb00 |019d: iput-object v9, v8, Ldnsfilter/android/DNSFilterService;.notibuilder:Landroid/app/Notification$Builder; // field@00cb │ │ -01815a: 2209 1a00 |019f: new-instance v9, Landroid/content/Intent; // type@001a │ │ -01815e: 7010 4100 0900 |01a1: invoke-direct {v9}, Landroid/content/Intent;.:()V // method@0041 │ │ -018164: 6e20 4d00 b900 |01a4: invoke-virtual {v9, v11}, Landroid/content/Intent;.setAction:(Ljava/lang/String;)Landroid/content/Intent; // method@004d │ │ -01816a: 130a 3930 |01a7: const/16 v10, #int 12345 // #3039 │ │ -01816e: 150b 000c |01a9: const/high16 v11, #int 201326592 // #c00 │ │ -018172: 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 │ │ -018178: 0c09 |01ae: move-result-object v9 │ │ -01817a: 548a cb00 |01af: iget-object v10, v8, Ldnsfilter/android/DNSFilterService;.notibuilder:Landroid/app/Notification$Builder; // field@00cb │ │ -01817e: 6e10 9802 0800 |01b1: invoke-virtual {v8}, Ldnsfilter/android/DNSFilterService;.getResources:()Landroid/content/res/Resources; // method@0298 │ │ -018184: 0c0b |01b4: move-result-object v11 │ │ -018186: 1402 1d00 087f |01b5: const v2, #float 1.80776e+38 // #7f08001d │ │ -01818c: 6e20 5900 2b00 |01b8: invoke-virtual {v11, v2}, Landroid/content/res/Resources;.getString:(I)Ljava/lang/String; // method@0059 │ │ -018192: 0c0b |01bb: move-result-object v11 │ │ -018194: 6e20 2800 ba00 |01bc: invoke-virtual {v10, v11}, Landroid/app/Notification$Builder;.setContentTitle:(Ljava/lang/CharSequence;)Landroid/app/Notification$Builder; // method@0028 │ │ -01819a: 0c0a |01bf: move-result-object v10 │ │ -01819c: 140b 2300 047f |01c0: const v11, #float 1.75459e+38 // #7f040023 │ │ -0181a2: 6e20 2900 ba00 |01c3: invoke-virtual {v10, v11}, Landroid/app/Notification$Builder;.setSmallIcon:(I)Landroid/app/Notification$Builder; // method@0029 │ │ -0181a8: 0c0a |01c6: move-result-object v10 │ │ -0181aa: 548b cc00 |01c7: iget-object v11, v8, Ldnsfilter/android/DNSFilterService;.pendingIntent:Landroid/app/PendingIntent; // field@00cc │ │ -0181ae: 6e20 2700 ba00 |01c9: invoke-virtual {v10, v11}, Landroid/app/Notification$Builder;.setContentIntent:(Landroid/app/PendingIntent;)Landroid/app/Notification$Builder; // method@0027 │ │ -0181b4: 0c0a |01cc: move-result-object v10 │ │ -0181b6: 6e10 9802 0800 |01cd: invoke-virtual {v8}, Ldnsfilter/android/DNSFilterService;.getResources:()Landroid/content/res/Resources; // method@0298 │ │ -0181bc: 0c0b |01d0: move-result-object v11 │ │ -0181be: 1402 3000 087f |01d1: const v2, #float 1.80776e+38 // #7f080030 │ │ -0181c4: 6e20 5900 2b00 |01d4: invoke-virtual {v11, v2}, Landroid/content/res/Resources;.getString:(I)Ljava/lang/String; // method@0059 │ │ -0181ca: 0c0b |01d7: move-result-object v11 │ │ -0181cc: 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 │ │ -0181d2: 0c09 |01db: move-result-object v9 │ │ -0181d4: 6e10 2600 0900 |01dc: invoke-virtual {v9}, Landroid/app/Notification$Builder;.build:()Landroid/app/Notification; // method@0026 │ │ -0181da: 7010 b202 0800 |01df: invoke-direct {v8}, Ldnsfilter/android/DNSFilterService;.updateNotification:()V // method@02b2 │ │ -0181e0: 5489 cb00 |01e2: iget-object v9, v8, Ldnsfilter/android/DNSFilterService;.notibuilder:Landroid/app/Notification$Builder; // field@00cb │ │ -0181e4: 6e10 2600 0900 |01e4: invoke-virtual {v9}, Landroid/app/Notification$Builder;.build:()Landroid/app/Notification; // method@0026 │ │ -0181ea: 0c09 |01e7: move-result-object v9 │ │ -0181ec: 6e30 ad02 1809 |01e8: invoke-virtual {v8, v1, v9}, Ldnsfilter/android/DNSFilterService;.startForeground:(ILandroid/app/Notification;)V // method@02ad │ │ -0181f2: 2809 |01eb: goto 01f4 // +0009 │ │ -0181f4: 0d09 |01ec: move-exception v9 │ │ -0181f6: 7100 2507 0000 |01ed: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0725 │ │ -0181fc: 0c0a |01f0: move-result-object v10 │ │ -0181fe: 7220 3007 9a00 |01f1: invoke-interface {v10, v9}, Lutil/LoggerInterface;.logException:(Ljava/lang/Exception;)V // method@0730 │ │ -018204: 0f01 |01f4: return v1 │ │ -018206: 0d09 |01f5: move-exception v9 │ │ -018208: 120a |01f6: const/4 v10, #int 0 // #0 │ │ -01820a: 690a b800 |01f7: sput-object v10, Ldnsfilter/android/DNSFilterService;.DNSFILTER:Ldnsfilter/DNSFilterManager; // field@00b8 │ │ -01820e: 7100 2507 0000 |01f9: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0725 │ │ -018214: 0c0a |01fc: move-result-object v10 │ │ -018216: 7220 3007 9a00 |01fd: invoke-interface {v10, v9}, Lutil/LoggerInterface;.logException:(Ljava/lang/Exception;)V // method@0730 │ │ -01821c: 0f01 |0200: return v1 │ │ +017e08: |[017e08] dnsfilter.android.DNSFilterService.onStartCommand:(Landroid/content/Intent;II)I │ │ +017e18: 1a0a df06 |0000: const-string v10, "false" // string@06df │ │ +017e1c: 7110 2202 0800 |0002: invoke-static {v8}, Ldnsfilter/android/AndroidEnvironment;.initEnvironment:(Landroid/content/Context;)V // method@0222 │ │ +017e22: 6908 bb00 |0005: sput-object v8, Ldnsfilter/android/DNSFilterService;.INSTANCE:Ldnsfilter/android/DNSFilterService; // field@00bb │ │ +017e26: 6909 bd00 |0007: sput-object v9, Ldnsfilter/android/DNSFilterService;.SERVICE:Landroid/content/Intent; // field@00bd │ │ +017e2a: 6209 b800 |0009: sget-object v9, Ldnsfilter/android/DNSFilterService;.DNSFILTER:Ldnsfilter/DNSFilterManager; // field@00b8 │ │ +017e2e: 1a0b 5c09 |000b: const-string v11, "pause_resume" // string@095c │ │ +017e32: 1200 |000d: const/4 v0, #int 0 // #0 │ │ +017e34: 1211 |000e: const/4 v1, #int 1 // #1 │ │ +017e36: 3809 0d00 |000f: if-eqz v9, 001c // +000d │ │ +017e3a: 7100 2507 0000 |0011: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0725 │ │ +017e40: 0c09 |0014: move-result-object v9 │ │ +017e42: 1a0a 3001 |0015: const-string v10, "DNS filter already running!" // string@0130 │ │ +017e46: 7220 3107 a900 |0017: invoke-interface {v9, v10}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0731 │ │ +017e4c: 2900 2a01 |001a: goto/16 0144 // +012a │ │ +017e50: 7100 9901 0000 |001c: invoke-static {}, Ldnsfilter/DNSFilterManager;.getInstance:()Ldnsfilter/DNSFilterManager; // method@0199 │ │ +017e56: 0c09 |001f: move-result-object v9 │ │ +017e58: 6909 b800 |0020: sput-object v9, Ldnsfilter/android/DNSFilterService;.DNSFILTER:Ldnsfilter/DNSFilterManager; // field@00b8 │ │ +017e5c: 6e10 9e01 0900 |0022: invoke-virtual {v9}, Ldnsfilter/DNSFilterManager;.init:()V // method@019e │ │ +017e62: 6209 b800 |0025: sget-object v9, Ldnsfilter/android/DNSFilterService;.DNSFILTER:Ldnsfilter/DNSFilterManager; // field@00b8 │ │ +017e66: 6e10 9401 0900 |0027: invoke-virtual {v9}, Ldnsfilter/DNSFilterManager;.getConfig:()Ljava/util/Properties; // method@0194 │ │ +017e6c: 0c09 |002a: move-result-object v9 │ │ +017e6e: 1a02 6b06 |002b: const-string v2, "dnsProxyOnAndroid" // string@066b │ │ +017e72: 6e30 5506 290a |002d: invoke-virtual {v9, v2, v10}, Ljava/util/Properties;.getProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@0655 │ │ +017e78: 0c09 |0030: move-result-object v9 │ │ +017e7a: 7110 4b05 0900 |0031: invoke-static {v9}, Ljava/lang/Boolean;.parseBoolean:(Ljava/lang/String;)Z // method@054b │ │ +017e80: 0a09 |0034: move-result v9 │ │ +017e82: 6a09 c300 |0035: sput-boolean v9, Ldnsfilter/android/DNSFilterService;.dnsProxyMode:Z // field@00c3 │ │ +017e86: 6209 b800 |0037: sget-object v9, Ldnsfilter/android/DNSFilterService;.DNSFILTER:Ldnsfilter/DNSFilterManager; // field@00b8 │ │ +017e8a: 6e10 9401 0900 |0039: invoke-virtual {v9}, Ldnsfilter/DNSFilterManager;.getConfig:()Ljava/util/Properties; // method@0194 │ │ +017e90: 0c09 |003c: move-result-object v9 │ │ +017e92: 1a02 6f06 |003d: const-string v2, "dnsProxyPortAndroid" // string@066f │ │ +017e96: 1a03 7d00 |003f: const-string v3, "5300" // string@007d │ │ +017e9a: 6e30 5506 2903 |0041: invoke-virtual {v9, v2, v3}, Ljava/util/Properties;.getProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@0655 │ │ +017ea0: 0c09 |0044: move-result-object v9 │ │ +017ea2: 7110 6505 0900 |0045: invoke-static {v9}, Ljava/lang/Integer;.parseInt:(Ljava/lang/String;)I // method@0565 │ │ +017ea8: 0a09 |0048: move-result v9 │ │ +017eaa: 6709 c500 |0049: sput v9, Ldnsfilter/android/DNSFilterService;.dnsProxyPort:I // field@00c5 │ │ +017eae: 6209 b800 |004b: sget-object v9, Ldnsfilter/android/DNSFilterService;.DNSFILTER:Ldnsfilter/DNSFilterManager; // field@00b8 │ │ +017eb2: 6e10 9401 0900 |004d: invoke-virtual {v9}, Ldnsfilter/DNSFilterManager;.getConfig:()Ljava/util/Properties; // method@0194 │ │ +017eb8: 0c09 |0050: move-result-object v9 │ │ +017eba: 1a02 6d06 |0051: const-string v2, "dnsProxyOnlyLocalRequests" // string@066d │ │ +017ebe: 1a03 420b |0053: const-string v3, "true" // string@0b42 │ │ +017ec2: 6e30 5506 2903 |0055: invoke-virtual {v9, v2, v3}, Ljava/util/Properties;.getProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@0655 │ │ +017ec8: 0c09 |0058: move-result-object v9 │ │ +017eca: 7110 4b05 0900 |0059: invoke-static {v9}, Ljava/lang/Boolean;.parseBoolean:(Ljava/lang/String;)Z // method@054b │ │ +017ed0: 0a09 |005c: move-result v9 │ │ +017ed2: 6a09 c400 |005d: sput-boolean v9, Ldnsfilter/android/DNSFilterService;.dnsProxyOnlyLocal:Z // field@00c4 │ │ +017ed6: 6209 b800 |005f: sget-object v9, Ldnsfilter/android/DNSFilterService;.DNSFILTER:Ldnsfilter/DNSFilterManager; // field@00b8 │ │ +017eda: 6e10 9401 0900 |0061: invoke-virtual {v9}, Ldnsfilter/DNSFilterManager;.getConfig:()Ljava/util/Properties; // method@0194 │ │ +017ee0: 0c09 |0064: move-result-object v9 │ │ +017ee2: 1a02 2a0a |0065: const-string v2, "rootModeOnAndroid" // string@0a2a │ │ +017ee6: 6e30 5506 290a |0067: invoke-virtual {v9, v2, v10}, Ljava/util/Properties;.getProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@0655 │ │ +017eec: 0c09 |006a: move-result-object v9 │ │ +017eee: 7110 4b05 0900 |006b: invoke-static {v9}, Ljava/lang/Boolean;.parseBoolean:(Ljava/lang/String;)Z // method@054b │ │ +017ef4: 0a09 |006e: move-result v9 │ │ +017ef6: 6a09 cd00 |006f: sput-boolean v9, Ldnsfilter/android/DNSFilterService;.rootMode:Z // field@00cd │ │ +017efa: 6209 b800 |0071: sget-object v9, Ldnsfilter/android/DNSFilterService;.DNSFILTER:Ldnsfilter/DNSFilterManager; // field@00b8 │ │ +017efe: 6e10 9401 0900 |0073: invoke-virtual {v9}, Ldnsfilter/DNSFilterManager;.getConfig:()Ljava/util/Properties; // method@0194 │ │ +017f04: 0c09 |0076: move-result-object v9 │ │ +017f06: 1a02 900b |0077: const-string v2, "vpnInAdditionToProxyMode" // string@0b90 │ │ +017f0a: 6e30 5506 290a |0079: invoke-virtual {v9, v2, v10}, Ljava/util/Properties;.getProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@0655 │ │ +017f10: 0c09 |007c: move-result-object v9 │ │ +017f12: 7110 4b05 0900 |007d: invoke-static {v9}, Ljava/lang/Boolean;.parseBoolean:(Ljava/lang/String;)Z // method@054b │ │ +017f18: 0a09 |0080: move-result v9 │ │ +017f1a: 6a09 d000 |0081: sput-boolean v9, Ldnsfilter/android/DNSFilterService;.vpnInAdditionToProxyMode:Z // field@00d0 │ │ +017f1e: 6309 cd00 |0083: sget-boolean v9, Ldnsfilter/android/DNSFilterService;.rootMode:Z // field@00cd │ │ +017f22: 3809 1100 |0085: if-eqz v9, 0096 // +0011 │ │ +017f26: 6309 c300 |0087: sget-boolean v9, Ldnsfilter/android/DNSFilterService;.dnsProxyMode:Z // field@00c3 │ │ +017f2a: 3909 0d00 |0089: if-nez v9, 0096 // +000d │ │ +017f2e: 6a00 cd00 |008b: sput-boolean v0, Ldnsfilter/android/DNSFilterService;.rootMode:Z // field@00cd │ │ +017f32: 7100 2507 0000 |008d: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0725 │ │ +017f38: 0c09 |0090: move-result-object v9 │ │ +017f3a: 1a02 d904 |0091: const-string v2, "WARNING! Root mode only possible in combination with DNS proxy mode!" // string@04d9 │ │ +017f3e: 7220 3107 2900 |0093: invoke-interface {v9, v2}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0731 │ │ +017f44: 6309 cd00 |0096: sget-boolean v9, Ldnsfilter/android/DNSFilterService;.rootMode:Z // field@00cd │ │ +017f48: 3809 0c00 |0098: if-eqz v9, 00a4 // +000c │ │ +017f4c: 6209 c600 |009a: sget-object v9, Ldnsfilter/android/DNSFilterService;.dnsReqForwarder:Ldnsfilter/android/DNSFilterService$DNSReqForwarder; // field@00c6 │ │ +017f50: 7110 7f02 0900 |009c: invoke-static {v9}, Ldnsfilter/android/DNSFilterService$DNSReqForwarder;.access$600:(Ldnsfilter/android/DNSFilterService$DNSReqForwarder;)V // method@027f │ │ +017f56: 6209 c600 |009f: sget-object v9, Ldnsfilter/android/DNSFilterService;.dnsReqForwarder:Ldnsfilter/android/DNSFilterService$DNSReqForwarder; // field@00c6 │ │ +017f5a: 7110 7e02 0900 |00a1: invoke-static {v9}, Ldnsfilter/android/DNSFilterService$DNSReqForwarder;.access$500:(Ldnsfilter/android/DNSFilterService$DNSReqForwarder;)V // method@027e │ │ +017f60: 7100 7802 0000 |00a4: invoke-static {}, Ldnsfilter/android/ConnectionChangeReceiver;.getInstance:()Ldnsfilter/android/ConnectionChangeReceiver; // method@0278 │ │ +017f66: 0c09 |00a7: move-result-object v9 │ │ +017f68: 2202 1b00 |00a8: new-instance v2, Landroid/content/IntentFilter; // type@001b │ │ +017f6c: 1a03 6305 |00aa: const-string v3, "android.net.conn.CONNECTIVITY_CHANGE" // string@0563 │ │ +017f70: 7020 4f00 3200 |00ac: invoke-direct {v2, v3}, Landroid/content/IntentFilter;.:(Ljava/lang/String;)V // method@004f │ │ +017f76: 6e30 a502 9802 |00af: invoke-virtual {v8, v9, v2}, Ldnsfilter/android/DNSFilterService;.registerReceiver:(Landroid/content/BroadcastReceiver;Landroid/content/IntentFilter;)Landroid/content/Intent; // method@02a5 │ │ +017f7c: 6009 0200 |00b2: sget v9, Landroid/os/Build$VERSION;.SDK_INT:I // field@0002 │ │ +017f80: 1302 2200 |00b4: const/16 v2, #int 34 // #22 │ │ +017f84: 3529 0f00 |00b6: if-ge v9, v2, 00c5 // +000f │ │ +017f88: 7100 4d03 0000 |00b8: invoke-static {}, Ldnsfilter/android/NotificationReceiver;.getInstance:()Ldnsfilter/android/NotificationReceiver; // method@034d │ │ +017f8e: 0c09 |00bb: move-result-object v9 │ │ +017f90: 2202 1b00 |00bc: new-instance v2, Landroid/content/IntentFilter; // type@001b │ │ +017f94: 7020 4f00 b200 |00be: invoke-direct {v2, v11}, Landroid/content/IntentFilter;.:(Ljava/lang/String;)V // method@004f │ │ +017f9a: 6e30 a502 9802 |00c1: invoke-virtual {v8, v9, v2}, Ldnsfilter/android/DNSFilterService;.registerReceiver:(Landroid/content/BroadcastReceiver;Landroid/content/IntentFilter;)Landroid/content/Intent; // method@02a5 │ │ +017fa0: 280e |00c4: goto 00d2 // +000e │ │ +017fa2: 7100 4d03 0000 |00c5: invoke-static {}, Ldnsfilter/android/NotificationReceiver;.getInstance:()Ldnsfilter/android/NotificationReceiver; // method@034d │ │ +017fa8: 0c09 |00c8: move-result-object v9 │ │ +017faa: 2202 1b00 |00c9: new-instance v2, Landroid/content/IntentFilter; // type@001b │ │ +017fae: 7020 4f00 b200 |00cb: invoke-direct {v2, v11}, Landroid/content/IntentFilter;.:(Ljava/lang/String;)V // method@004f │ │ +017fb4: 1223 |00ce: const/4 v3, #int 2 // #2 │ │ +017fb6: 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 │ │ +017fbc: 7110 a102 0100 |00d2: invoke-static {v1}, Ldnsfilter/android/DNSFilterService;.possibleNetworkChange:(Z)V // method@02a1 │ │ +017fc2: 6309 c300 |00d5: sget-boolean v9, Ldnsfilter/android/DNSFilterService;.dnsProxyMode:Z // field@00c3 │ │ +017fc6: 3809 1c00 |00d7: if-eqz v9, 00f3 // +001c │ │ +017fca: 6309 cd00 |00d9: sget-boolean v9, Ldnsfilter/android/DNSFilterService;.rootMode:Z // field@00cd │ │ +017fce: 3809 0500 |00db: if-eqz v9, 00e0 // +0005 │ │ +017fd2: 7010 ab02 0800 |00dd: invoke-direct {v8}, Ldnsfilter/android/DNSFilterService;.setUpPortRedir:()V // method@02ab │ │ +017fd8: 2209 8d00 |00e0: new-instance v9, Ldnsfilter/DNSFilterProxy; // type@008d │ │ +017fdc: 6002 c500 |00e2: sget v2, Ldnsfilter/android/DNSFilterService;.dnsProxyPort:I // field@00c5 │ │ +017fe0: 7020 c801 2900 |00e4: invoke-direct {v9, v2}, Ldnsfilter/DNSFilterProxy;.:(I)V // method@01c8 │ │ +017fe6: 6909 b900 |00e7: sput-object v9, Ldnsfilter/android/DNSFilterService;.DNSFILTERPROXY:Ldnsfilter/DNSFilterProxy; // field@00b9 │ │ +017fea: 2209 2f01 |00e9: new-instance v9, Ljava/lang/Thread; // type@012f │ │ +017fee: 6202 b900 |00eb: sget-object v2, Ldnsfilter/android/DNSFilterService;.DNSFILTERPROXY:Ldnsfilter/DNSFilterProxy; // field@00b9 │ │ +017ff2: 7020 b405 2900 |00ed: invoke-direct {v9, v2}, Ljava/lang/Thread;.:(Ljava/lang/Runnable;)V // method@05b4 │ │ +017ff8: 6e10 ba05 0900 |00f0: invoke-virtual {v9}, Ljava/lang/Thread;.start:()V // method@05ba │ │ +017ffe: 6209 b800 |00f3: sget-object v9, Ldnsfilter/android/DNSFilterService;.DNSFILTER:Ldnsfilter/DNSFilterManager; // field@00b8 │ │ +018002: 6e10 9401 0900 |00f5: invoke-virtual {v9}, Ldnsfilter/DNSFilterManager;.getConfig:()Ljava/util/Properties; // method@0194 │ │ +018008: 0c09 |00f8: move-result-object v9 │ │ +01800a: 1a02 d108 |00f9: const-string v2, "manageDNSCryptProxy" // string@08d1 │ │ +01800e: 6e30 5506 290a |00fb: invoke-virtual {v9, v2, v10}, Ljava/util/Properties;.getProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@0655 │ │ +018014: 0c09 |00fe: move-result-object v9 │ │ +018016: 7110 4b05 0900 |00ff: invoke-static {v9}, Ljava/lang/Boolean;.parseBoolean:(Ljava/lang/String;)Z // method@054b │ │ +01801c: 0a09 |0102: move-result v9 │ │ +01801e: 5c89 c900 |0103: iput-boolean v9, v8, Ldnsfilter/android/DNSFilterService;.manageDNSCryptProxy:Z // field@00c9 │ │ +018022: 3809 3d00 |0105: if-eqz v9, 0142 // +003d │ │ +018026: 5589 c200 |0107: iget-boolean v9, v8, Ldnsfilter/android/DNSFilterService;.dnsCryptProxyStartTriggered:Z // field@00c2 │ │ +01802a: 3909 3900 |0109: if-nez v9, 0142 // +0039 │ │ +01802e: 6209 bc00 |010b: sget-object v9, Ldnsfilter/android/DNSFilterService;.KILL_DNSCRYPTPROXY:Ljava/lang/String; // field@00bc │ │ +018032: 7130 aa02 0109 |010d: invoke-static {v1, v0, v9}, Ldnsfilter/android/DNSFilterService;.runOSCommand:(ZZLjava/lang/String;)V // method@02aa │ │ +018038: 2209 2d01 |0110: new-instance v9, Ljava/lang/StringBuilder; // type@012d │ │ +01803c: 7010 a705 0900 |0112: invoke-direct {v9}, Ljava/lang/StringBuilder;.:()V // method@05a7 │ │ +018042: 620a be00 |0115: sget-object v10, Ldnsfilter/android/DNSFilterService;.START_DNSCRYPTPROXY:Ljava/lang/String; // field@00be │ │ +018046: 6e20 ad05 a900 |0117: invoke-virtual {v9, v10}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +01804c: 1a0a 0d00 |011a: const-string v10, " " // string@000d │ │ +018050: 6e20 ad05 a900 |011c: invoke-virtual {v9, v10}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +018056: 620a b800 |011f: sget-object v10, Ldnsfilter/android/DNSFilterService;.DNSFILTER:Ldnsfilter/DNSFilterManager; // field@00b8 │ │ +01805a: 6e10 9401 0a00 |0121: invoke-virtual {v10}, Ldnsfilter/DNSFilterManager;.getConfig:()Ljava/util/Properties; // method@0194 │ │ +018060: 0c0a |0124: move-result-object v10 │ │ +018062: 1a02 6406 |0125: const-string v2, "dnsCryptProxyStartOptions" // string@0664 │ │ +018066: 1a03 0000 |0127: const-string v3, "" // string@0000 │ │ +01806a: 6e30 5506 2a03 |0129: invoke-virtual {v10, v2, v3}, Ljava/util/Properties;.getProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@0655 │ │ +018070: 0c0a |012c: move-result-object v10 │ │ +018072: 6e20 ad05 a900 |012d: invoke-virtual {v9, v10}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +018078: 6e10 af05 0900 |0130: invoke-virtual {v9}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ +01807e: 0c09 |0133: move-result-object v9 │ │ +018080: 7130 aa02 1009 |0134: invoke-static {v0, v1, v9}, Ldnsfilter/android/DNSFilterService;.runOSCommand:(ZZLjava/lang/String;)V // method@02aa │ │ +018086: 5c81 c200 |0137: iput-boolean v1, v8, Ldnsfilter/android/DNSFilterService;.dnsCryptProxyStartTriggered:Z // field@00c2 │ │ +01808a: 2809 |0139: goto 0142 // +0009 │ │ +01808c: 0d09 |013a: move-exception v9 │ │ +01808e: 7100 2507 0000 |013b: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0725 │ │ +018094: 0c0a |013e: move-result-object v10 │ │ +018096: 7220 3007 9a00 |013f: invoke-interface {v10, v9}, Lutil/LoggerInterface;.logException:(Ljava/lang/Exception;)V // method@0730 │ │ +01809c: 6a01 c700 |0142: sput-boolean v1, Ldnsfilter/android/DNSFilterService;.is_running:Z // field@00c7 │ │ +0180a0: 2209 1a00 |0144: new-instance v9, Landroid/content/Intent; // type@001a │ │ +0180a4: 1c0a b000 |0146: const-class v10, Ldnsfilter/android/DNSProxyActivity; // type@00b0 │ │ +0180a8: 7030 4200 890a |0148: invoke-direct {v9, v8, v10}, Landroid/content/Intent;.:(Landroid/content/Context;Ljava/lang/Class;)V // method@0042 │ │ +0180ae: 150a 0004 |014b: const/high16 v10, #int 67108864 // #400 │ │ +0180b2: 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 │ │ +0180b8: 0c09 |0150: move-result-object v9 │ │ +0180ba: 5b89 cc00 |0151: iput-object v9, v8, Ldnsfilter/android/DNSFilterService;.pendingIntent:Landroid/app/PendingIntent; // field@00cc │ │ +0180be: 6309 c300 |0153: sget-boolean v9, Ldnsfilter/android/DNSFilterService;.dnsProxyMode:Z // field@00c3 │ │ +0180c2: 3809 0600 |0155: if-eqz v9, 015b // +0006 │ │ +0180c6: 6309 d000 |0157: sget-boolean v9, Ldnsfilter/android/DNSFilterService;.vpnInAdditionToProxyMode:Z // field@00d0 │ │ +0180ca: 3809 2d00 |0159: if-eqz v9, 0186 // +002d │ │ +0180ce: 7020 9b02 1800 |015b: invoke-direct {v8, v1}, Ldnsfilter/android/DNSFilterService;.initVPN:(Z)Landroid/os/ParcelFileDescriptor; // method@029b │ │ +0180d4: 0c05 |015e: move-result-object v5 │ │ +0180d6: 3805 1e00 |015f: if-eqz v5, 017d // +001e │ │ +0180da: 2209 a300 |0161: new-instance v9, Ldnsfilter/android/DNSFilterService$VPNRunner; // type@00a3 │ │ +0180de: 600a cf00 |0163: sget v10, Ldnsfilter/android/DNSFilterService;.startCounter:I // field@00cf │ │ +0180e2: d804 0a01 |0165: add-int/lit8 v4, v10, #int 1 // #01 │ │ +0180e6: 6704 cf00 |0167: sput v4, Ldnsfilter/android/DNSFilterService;.startCounter:I // field@00cf │ │ +0180ea: 1216 |0169: const/4 v6, #int 1 // #1 │ │ +0180ec: 1207 |016a: const/4 v7, #int 0 // #0 │ │ +0180ee: 0792 |016b: move-object v2, v9 │ │ +0180f0: 0783 |016c: move-object v3, v8 │ │ +0180f2: 7606 8602 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@0286 │ │ +0180f8: 5b89 d100 |0170: iput-object v9, v8, Ldnsfilter/android/DNSFilterService;.vpnRunner:Ldnsfilter/android/DNSFilterService$VPNRunner; // field@00d1 │ │ +0180fc: 2209 2f01 |0172: new-instance v9, Ljava/lang/Thread; // type@012f │ │ +018100: 548a d100 |0174: iget-object v10, v8, Ldnsfilter/android/DNSFilterService;.vpnRunner:Ldnsfilter/android/DNSFilterService$VPNRunner; // field@00d1 │ │ +018104: 7020 b405 a900 |0176: invoke-direct {v9, v10}, Ljava/lang/Thread;.:(Ljava/lang/Runnable;)V // method@05b4 │ │ +01810a: 6e10 ba05 0900 |0179: invoke-virtual {v9}, Ljava/lang/Thread;.start:()V // method@05ba │ │ +018110: 280a |017c: goto 0186 // +000a │ │ +018112: 7100 2507 0000 |017d: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0725 │ │ +018118: 0c09 |0180: move-result-object v9 │ │ +01811a: 1a0a 8301 |0181: const-string v10, "Error! Cannot get VPN interface! Try restart!" // string@0183 │ │ +01811e: 7220 3107 a900 |0183: invoke-interface {v9, v10}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0731 │ │ +018124: 6009 0200 |0186: sget v9, Landroid/os/Build$VERSION;.SDK_INT:I // field@0002 │ │ +018128: 130a 1a00 |0188: const/16 v10, #int 26 // #1a │ │ +01812c: 34a9 0e00 |018a: if-lt v9, v10, 0198 // +000e │ │ +018130: 2209 0c00 |018c: new-instance v9, Landroid/app/Notification$Builder; // type@000c │ │ +018134: 7010 9402 0800 |018e: invoke-direct {v8}, Ldnsfilter/android/DNSFilterService;.getChannel:()Ljava/lang/String; // method@0294 │ │ +01813a: 0c0a |0191: move-result-object v10 │ │ +01813c: 7030 2400 890a |0192: invoke-direct {v9, v8, v10}, Landroid/app/Notification$Builder;.:(Landroid/content/Context;Ljava/lang/String;)V // method@0024 │ │ +018142: 5b89 cb00 |0195: iput-object v9, v8, Ldnsfilter/android/DNSFilterService;.notibuilder:Landroid/app/Notification$Builder; // field@00cb │ │ +018146: 2808 |0197: goto 019f // +0008 │ │ +018148: 2209 0c00 |0198: new-instance v9, Landroid/app/Notification$Builder; // type@000c │ │ +01814c: 7020 2300 8900 |019a: invoke-direct {v9, v8}, Landroid/app/Notification$Builder;.:(Landroid/content/Context;)V // method@0023 │ │ +018152: 5b89 cb00 |019d: iput-object v9, v8, Ldnsfilter/android/DNSFilterService;.notibuilder:Landroid/app/Notification$Builder; // field@00cb │ │ +018156: 2209 1a00 |019f: new-instance v9, Landroid/content/Intent; // type@001a │ │ +01815a: 7010 4100 0900 |01a1: invoke-direct {v9}, Landroid/content/Intent;.:()V // method@0041 │ │ +018160: 6e20 4d00 b900 |01a4: invoke-virtual {v9, v11}, Landroid/content/Intent;.setAction:(Ljava/lang/String;)Landroid/content/Intent; // method@004d │ │ +018166: 130a 3930 |01a7: const/16 v10, #int 12345 // #3039 │ │ +01816a: 150b 000c |01a9: const/high16 v11, #int 201326592 // #c00 │ │ +01816e: 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 │ │ +018174: 0c09 |01ae: move-result-object v9 │ │ +018176: 548a cb00 |01af: iget-object v10, v8, Ldnsfilter/android/DNSFilterService;.notibuilder:Landroid/app/Notification$Builder; // field@00cb │ │ +01817a: 6e10 9802 0800 |01b1: invoke-virtual {v8}, Ldnsfilter/android/DNSFilterService;.getResources:()Landroid/content/res/Resources; // method@0298 │ │ +018180: 0c0b |01b4: move-result-object v11 │ │ +018182: 1402 1d00 087f |01b5: const v2, #float 1.80776e+38 // #7f08001d │ │ +018188: 6e20 5900 2b00 |01b8: invoke-virtual {v11, v2}, Landroid/content/res/Resources;.getString:(I)Ljava/lang/String; // method@0059 │ │ +01818e: 0c0b |01bb: move-result-object v11 │ │ +018190: 6e20 2800 ba00 |01bc: invoke-virtual {v10, v11}, Landroid/app/Notification$Builder;.setContentTitle:(Ljava/lang/CharSequence;)Landroid/app/Notification$Builder; // method@0028 │ │ +018196: 0c0a |01bf: move-result-object v10 │ │ +018198: 140b 2300 047f |01c0: const v11, #float 1.75459e+38 // #7f040023 │ │ +01819e: 6e20 2900 ba00 |01c3: invoke-virtual {v10, v11}, Landroid/app/Notification$Builder;.setSmallIcon:(I)Landroid/app/Notification$Builder; // method@0029 │ │ +0181a4: 0c0a |01c6: move-result-object v10 │ │ +0181a6: 548b cc00 |01c7: iget-object v11, v8, Ldnsfilter/android/DNSFilterService;.pendingIntent:Landroid/app/PendingIntent; // field@00cc │ │ +0181aa: 6e20 2700 ba00 |01c9: invoke-virtual {v10, v11}, Landroid/app/Notification$Builder;.setContentIntent:(Landroid/app/PendingIntent;)Landroid/app/Notification$Builder; // method@0027 │ │ +0181b0: 0c0a |01cc: move-result-object v10 │ │ +0181b2: 6e10 9802 0800 |01cd: invoke-virtual {v8}, Ldnsfilter/android/DNSFilterService;.getResources:()Landroid/content/res/Resources; // method@0298 │ │ +0181b8: 0c0b |01d0: move-result-object v11 │ │ +0181ba: 1402 3000 087f |01d1: const v2, #float 1.80776e+38 // #7f080030 │ │ +0181c0: 6e20 5900 2b00 |01d4: invoke-virtual {v11, v2}, Landroid/content/res/Resources;.getString:(I)Ljava/lang/String; // method@0059 │ │ +0181c6: 0c0b |01d7: move-result-object v11 │ │ +0181c8: 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 │ │ +0181ce: 0c09 |01db: move-result-object v9 │ │ +0181d0: 6e10 2600 0900 |01dc: invoke-virtual {v9}, Landroid/app/Notification$Builder;.build:()Landroid/app/Notification; // method@0026 │ │ +0181d6: 7010 b202 0800 |01df: invoke-direct {v8}, Ldnsfilter/android/DNSFilterService;.updateNotification:()V // method@02b2 │ │ +0181dc: 5489 cb00 |01e2: iget-object v9, v8, Ldnsfilter/android/DNSFilterService;.notibuilder:Landroid/app/Notification$Builder; // field@00cb │ │ +0181e0: 6e10 2600 0900 |01e4: invoke-virtual {v9}, Landroid/app/Notification$Builder;.build:()Landroid/app/Notification; // method@0026 │ │ +0181e6: 0c09 |01e7: move-result-object v9 │ │ +0181e8: 6e30 ad02 1809 |01e8: invoke-virtual {v8, v1, v9}, Ldnsfilter/android/DNSFilterService;.startForeground:(ILandroid/app/Notification;)V // method@02ad │ │ +0181ee: 2809 |01eb: goto 01f4 // +0009 │ │ +0181f0: 0d09 |01ec: move-exception v9 │ │ +0181f2: 7100 2507 0000 |01ed: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0725 │ │ +0181f8: 0c0a |01f0: move-result-object v10 │ │ +0181fa: 7220 3007 9a00 |01f1: invoke-interface {v10, v9}, Lutil/LoggerInterface;.logException:(Ljava/lang/Exception;)V // method@0730 │ │ +018200: 0f01 |01f4: return v1 │ │ +018202: 0d09 |01f5: move-exception v9 │ │ +018204: 120a |01f6: const/4 v10, #int 0 // #0 │ │ +018206: 690a b800 |01f7: sput-object v10, Ldnsfilter/android/DNSFilterService;.DNSFILTER:Ldnsfilter/DNSFilterManager; // field@00b8 │ │ +01820a: 7100 2507 0000 |01f9: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0725 │ │ +018210: 0c0a |01fc: move-result-object v10 │ │ +018212: 7220 3007 9a00 |01fd: invoke-interface {v10, v9}, Lutil/LoggerInterface;.logException:(Ljava/lang/Exception;)V // method@0730 │ │ +018218: 0f01 |0200: return v1 │ │ catches : 4 │ │ 0x001c - 0x0109 │ │ Ljava/lang/Exception; -> 0x01f5 │ │ 0x010b - 0x0139 │ │ Ljava/lang/Exception; -> 0x013a │ │ 0x013b - 0x0144 │ │ Ljava/lang/Exception; -> 0x01f5 │ │ @@ -14390,21 +14390,21 @@ │ │ type : '()V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 14 16-bit code units │ │ -0189d8: |[0189d8] dnsfilter.android.DNSFilterService.pause_resume:()V │ │ -0189e8: 7100 9901 0000 |0000: invoke-static {}, Ldnsfilter/DNSFilterManager;.getInstance:()Ldnsfilter/DNSFilterManager; // method@0199 │ │ -0189ee: 0c00 |0003: move-result-object v0 │ │ -0189f0: 6e10 af01 0000 |0004: invoke-virtual {v0}, Ldnsfilter/DNSFilterManager;.switchBlockingActive:()V // method@01af │ │ -0189f6: 7100 2603 0000 |0007: invoke-static {}, Ldnsfilter/android/DNSProxyActivity;.reloadLocalConfig:()V // method@0326 │ │ -0189fc: 7010 b202 0100 |000a: invoke-direct {v1}, Ldnsfilter/android/DNSFilterService;.updateNotification:()V // method@02b2 │ │ -018a02: 0e00 |000d: return-void │ │ +0189d4: |[0189d4] dnsfilter.android.DNSFilterService.pause_resume:()V │ │ +0189e4: 7100 9901 0000 |0000: invoke-static {}, Ldnsfilter/DNSFilterManager;.getInstance:()Ldnsfilter/DNSFilterManager; // method@0199 │ │ +0189ea: 0c00 |0003: move-result-object v0 │ │ +0189ec: 6e10 af01 0000 |0004: invoke-virtual {v0}, Ldnsfilter/DNSFilterManager;.switchBlockingActive:()V // method@01af │ │ +0189f2: 7100 2603 0000 |0007: invoke-static {}, Ldnsfilter/android/DNSProxyActivity;.reloadLocalConfig:()V // method@0326 │ │ +0189f8: 7010 b202 0100 |000a: invoke-direct {v1}, Ldnsfilter/android/DNSFilterService;.updateNotification:()V // method@02b2 │ │ +0189fe: 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; │ │ @@ -14414,24 +14414,24 @@ │ │ type : '()V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 3 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 19 16-bit code units │ │ -018adc: |[018adc] dnsfilter.android.DNSFilterService.reload:()V │ │ -018aec: 6300 c300 |0000: sget-boolean v0, Ldnsfilter/android/DNSFilterService;.dnsProxyMode:Z // field@00c3 │ │ -018af0: 1211 |0002: const/4 v1, #int 1 // #1 │ │ -018af2: 3800 0600 |0003: if-eqz v0, 0009 // +0006 │ │ -018af6: 6300 d000 |0005: sget-boolean v0, Ldnsfilter/android/DNSFilterService;.vpnInAdditionToProxyMode:Z // field@00d0 │ │ -018afa: 3800 0500 |0007: if-eqz v0, 000c // +0005 │ │ -018afe: 7020 a802 1200 |0009: invoke-direct {v2, v1}, Ldnsfilter/android/DNSFilterService;.restartVPN:(Z)V // method@02a8 │ │ -018b04: 7010 b202 0200 |000c: invoke-direct {v2}, Ldnsfilter/android/DNSFilterService;.updateNotification:()V // method@02b2 │ │ -018b0a: 7110 a102 0100 |000f: invoke-static {v1}, Ldnsfilter/android/DNSFilterService;.possibleNetworkChange:(Z)V // method@02a1 │ │ -018b10: 0e00 |0012: return-void │ │ +018ad8: |[018ad8] dnsfilter.android.DNSFilterService.reload:()V │ │ +018ae8: 6300 c300 |0000: sget-boolean v0, Ldnsfilter/android/DNSFilterService;.dnsProxyMode:Z // field@00c3 │ │ +018aec: 1211 |0002: const/4 v1, #int 1 // #1 │ │ +018aee: 3800 0600 |0003: if-eqz v0, 0009 // +0006 │ │ +018af2: 6300 d000 |0005: sget-boolean v0, Ldnsfilter/android/DNSFilterService;.vpnInAdditionToProxyMode:Z // field@00d0 │ │ +018af6: 3800 0500 |0007: if-eqz v0, 000c // +0005 │ │ +018afa: 7020 a802 1200 |0009: invoke-direct {v2, v1}, Ldnsfilter/android/DNSFilterService;.restartVPN:(Z)V // method@02a8 │ │ +018b00: 7010 b202 0200 |000c: invoke-direct {v2}, Ldnsfilter/android/DNSFilterService;.updateNotification:()V // method@02b2 │ │ +018b06: 7110 a102 0100 |000f: invoke-static {v1}, Ldnsfilter/android/DNSFilterService;.possibleNetworkChange:(Z)V // method@02a1 │ │ +018b0c: 0e00 |0012: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=1054 │ │ 0x0009 line=1055 │ │ 0x000c line=1057 │ │ 0x000f line=1058 │ │ locals : │ │ @@ -14472,17 +14472,17 @@ │ │ type : '()V' │ │ access : 0x10001 (PUBLIC CONSTRUCTOR) │ │ code - │ │ registers : 1 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 4 16-bit code units │ │ -018eec: |[018eec] dnsfilter.android.DNSFilterTileService.:()V │ │ -018efc: 7010 9200 0000 |0000: invoke-direct {v0}, Landroid/service/quicksettings/TileService;.:()V // method@0092 │ │ -018f02: 0e00 |0003: return-void │ │ +018ee8: |[018ee8] dnsfilter.android.DNSFilterTileService.:()V │ │ +018ef8: 7010 9200 0000 |0000: invoke-direct {v0}, Landroid/service/quicksettings/TileService;.:()V // method@0092 │ │ +018efe: 0e00 |0003: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=19 │ │ locals : │ │ 0x0000 - 0x0004 reg=0 this Ldnsfilter/android/DNSFilterTileService; │ │ │ │ #1 : (in Ldnsfilter/android/DNSFilterTileService;) │ │ @@ -14490,32 +14490,32 @@ │ │ type : '(Landroid/content/Context;)V' │ │ access : 0x0009 (PUBLIC STATIC) │ │ code - │ │ registers : 3 │ │ ins : 1 │ │ outs : 3 │ │ insns size : 34 16-bit code units │ │ -019034: |[019034] dnsfilter.android.DNSFilterTileService.requestTileUpdate:(Landroid/content/Context;)V │ │ -019044: 6000 0200 |0000: sget v0, Landroid/os/Build$VERSION;.SDK_INT:I // field@0002 │ │ -019048: 1301 1800 |0002: const/16 v1, #int 24 // #18 │ │ -01904c: 3410 1600 |0004: if-lt v0, v1, 001a // +0016 │ │ -019050: 2200 1200 |0006: new-instance v0, Landroid/content/ComponentName; // type@0012 │ │ -019054: 1c01 a500 |0008: const-class v1, Ldnsfilter/android/DNSFilterTileService; // type@00a5 │ │ -019058: 7030 3100 2001 |000a: invoke-direct {v0, v2, v1}, Landroid/content/ComponentName;.:(Landroid/content/Context;Ljava/lang/Class;)V // method@0031 │ │ -01905e: 7120 6702 0200 |000d: invoke-static {v2, v0}, Ldnsfilter/android/BootUpReceiver$$ExternalSyntheticApiModelOutline0;.m:(Landroid/content/Context;Landroid/content/ComponentName;)V // method@0267 │ │ -019064: 2811 |0010: goto 0021 // +0011 │ │ -019066: 0d02 |0011: move-exception v2 │ │ -019068: 1a00 4301 |0012: const-string v0, "DNSFilterTileService" // string@0143 │ │ -01906c: 1a01 a101 |0014: const-string v1, "Failed to request tile update" // string@01a1 │ │ -019070: 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 │ │ -019076: 2808 |0019: goto 0021 // +0008 │ │ -019078: 6202 d200 |001a: sget-object v2, Ldnsfilter/android/DNSFilterTileService;.INSTANCE:Ldnsfilter/android/DNSFilterTileService; // field@00d2 │ │ -01907c: 3802 0500 |001c: if-eqz v2, 0021 // +0005 │ │ -019080: 7010 bc02 0200 |001e: invoke-direct {v2}, Ldnsfilter/android/DNSFilterTileService;.updateTile:()V // method@02bc │ │ -019086: 0e00 |0021: return-void │ │ +019030: |[019030] dnsfilter.android.DNSFilterTileService.requestTileUpdate:(Landroid/content/Context;)V │ │ +019040: 6000 0200 |0000: sget v0, Landroid/os/Build$VERSION;.SDK_INT:I // field@0002 │ │ +019044: 1301 1800 |0002: const/16 v1, #int 24 // #18 │ │ +019048: 3410 1600 |0004: if-lt v0, v1, 001a // +0016 │ │ +01904c: 2200 1200 |0006: new-instance v0, Landroid/content/ComponentName; // type@0012 │ │ +019050: 1c01 a500 |0008: const-class v1, Ldnsfilter/android/DNSFilterTileService; // type@00a5 │ │ +019054: 7030 3100 2001 |000a: invoke-direct {v0, v2, v1}, Landroid/content/ComponentName;.:(Landroid/content/Context;Ljava/lang/Class;)V // method@0031 │ │ +01905a: 7120 6702 0200 |000d: invoke-static {v2, v0}, Ldnsfilter/android/BootUpReceiver$$ExternalSyntheticApiModelOutline0;.m:(Landroid/content/Context;Landroid/content/ComponentName;)V // method@0267 │ │ +019060: 2811 |0010: goto 0021 // +0011 │ │ +019062: 0d02 |0011: move-exception v2 │ │ +019064: 1a00 4301 |0012: const-string v0, "DNSFilterTileService" // string@0143 │ │ +019068: 1a01 a101 |0014: const-string v1, "Failed to request tile update" // string@01a1 │ │ +01906c: 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 │ │ +019072: 2808 |0019: goto 0021 // +0008 │ │ +019074: 6202 d200 |001a: sget-object v2, Ldnsfilter/android/DNSFilterTileService;.INSTANCE:Ldnsfilter/android/DNSFilterTileService; // field@00d2 │ │ +019078: 3802 0500 |001c: if-eqz v2, 0021 // +0005 │ │ +01907c: 7010 bc02 0200 |001e: invoke-direct {v2}, Ldnsfilter/android/DNSFilterTileService;.updateTile:()V // method@02bc │ │ +019082: 0e00 |0021: return-void │ │ catches : 1 │ │ 0x0006 - 0x0010 │ │ Ljava/lang/Exception; -> 0x0011 │ │ positions : │ │ 0x0000 line=78 │ │ 0x0006 line=80 │ │ 0x000d line=81 │ │ @@ -14530,39 +14530,39 @@ │ │ type : '()V' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 3 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 51 16-bit code units │ │ -019098: |[019098] dnsfilter.android.DNSFilterTileService.updateTile:()V │ │ -0190a8: 7110 6202 0200 |0000: invoke-static {v2}, Ldnsfilter/android/BootUpReceiver$$ExternalSyntheticApiModelOutline0;.m:(Ldnsfilter/android/DNSFilterTileService;)Landroid/service/quicksettings/Tile; // method@0262 │ │ -0190ae: 0c00 |0003: move-result-object v0 │ │ -0190b0: 3800 2e00 |0004: if-eqz v0, 0032 // +002e │ │ -0190b4: 6201 bb00 |0006: sget-object v1, Ldnsfilter/android/DNSFilterService;.INSTANCE:Ldnsfilter/android/DNSFilterService; // field@00bb │ │ -0190b8: 3801 1900 |0008: if-eqz v1, 0021 // +0019 │ │ -0190bc: 6201 bb00 |000a: sget-object v1, Ldnsfilter/android/DNSFilterService;.INSTANCE:Ldnsfilter/android/DNSFilterService; // field@00bb │ │ -0190c0: 6e10 9c02 0100 |000c: invoke-virtual {v1}, Ldnsfilter/android/DNSFilterService;.isFilterActive:()Z // method@029c │ │ -0190c6: 0a01 |000f: move-result v1 │ │ -0190c8: 3801 1100 |0010: if-eqz v1, 0021 // +0011 │ │ -0190cc: 1221 |0012: const/4 v1, #int 2 // #2 │ │ -0190ce: 7120 6902 1000 |0013: invoke-static {v0, v1}, Ldnsfilter/android/BootUpReceiver$$ExternalSyntheticApiModelOutline0;.m:(Landroid/service/quicksettings/Tile;I)V // method@0269 │ │ -0190d4: 1401 2300 047f |0016: const v1, #float 1.75459e+38 // #7f040023 │ │ -0190da: 7120 5d02 1200 |0019: invoke-static {v2, v1}, Ldnsfilter/android/BootUpReceiver$$ExternalSyntheticApiModelOutline0;.m:(Landroid/content/Context;I)Landroid/graphics/drawable/Icon; // method@025d │ │ -0190e0: 0c01 |001c: move-result-object v1 │ │ -0190e2: 7120 6a02 1000 |001d: invoke-static {v0, v1}, Ldnsfilter/android/BootUpReceiver$$ExternalSyntheticApiModelOutline0;.m:(Landroid/service/quicksettings/Tile;Landroid/graphics/drawable/Icon;)V // method@026a │ │ -0190e8: 280f |0020: goto 002f // +000f │ │ -0190ea: 1211 |0021: const/4 v1, #int 1 // #1 │ │ -0190ec: 7120 6902 1000 |0022: invoke-static {v0, v1}, Ldnsfilter/android/BootUpReceiver$$ExternalSyntheticApiModelOutline0;.m:(Landroid/service/quicksettings/Tile;I)V // method@0269 │ │ -0190f2: 1401 2400 047f |0025: const v1, #float 1.75459e+38 // #7f040024 │ │ -0190f8: 7120 5d02 1200 |0028: invoke-static {v2, v1}, Ldnsfilter/android/BootUpReceiver$$ExternalSyntheticApiModelOutline0;.m:(Landroid/content/Context;I)Landroid/graphics/drawable/Icon; // method@025d │ │ -0190fe: 0c01 |002b: move-result-object v1 │ │ -019100: 7120 6a02 1000 |002c: invoke-static {v0, v1}, Ldnsfilter/android/BootUpReceiver$$ExternalSyntheticApiModelOutline0;.m:(Landroid/service/quicksettings/Tile;Landroid/graphics/drawable/Icon;)V // method@026a │ │ -019106: 7110 6802 0000 |002f: invoke-static {v0}, Ldnsfilter/android/BootUpReceiver$$ExternalSyntheticApiModelOutline0;.m:(Landroid/service/quicksettings/Tile;)V // method@0268 │ │ -01910c: 0e00 |0032: return-void │ │ +019094: |[019094] dnsfilter.android.DNSFilterTileService.updateTile:()V │ │ +0190a4: 7110 6202 0200 |0000: invoke-static {v2}, Ldnsfilter/android/BootUpReceiver$$ExternalSyntheticApiModelOutline0;.m:(Ldnsfilter/android/DNSFilterTileService;)Landroid/service/quicksettings/Tile; // method@0262 │ │ +0190aa: 0c00 |0003: move-result-object v0 │ │ +0190ac: 3800 2e00 |0004: if-eqz v0, 0032 // +002e │ │ +0190b0: 6201 bb00 |0006: sget-object v1, Ldnsfilter/android/DNSFilterService;.INSTANCE:Ldnsfilter/android/DNSFilterService; // field@00bb │ │ +0190b4: 3801 1900 |0008: if-eqz v1, 0021 // +0019 │ │ +0190b8: 6201 bb00 |000a: sget-object v1, Ldnsfilter/android/DNSFilterService;.INSTANCE:Ldnsfilter/android/DNSFilterService; // field@00bb │ │ +0190bc: 6e10 9c02 0100 |000c: invoke-virtual {v1}, Ldnsfilter/android/DNSFilterService;.isFilterActive:()Z // method@029c │ │ +0190c2: 0a01 |000f: move-result v1 │ │ +0190c4: 3801 1100 |0010: if-eqz v1, 0021 // +0011 │ │ +0190c8: 1221 |0012: const/4 v1, #int 2 // #2 │ │ +0190ca: 7120 6902 1000 |0013: invoke-static {v0, v1}, Ldnsfilter/android/BootUpReceiver$$ExternalSyntheticApiModelOutline0;.m:(Landroid/service/quicksettings/Tile;I)V // method@0269 │ │ +0190d0: 1401 2300 047f |0016: const v1, #float 1.75459e+38 // #7f040023 │ │ +0190d6: 7120 5d02 1200 |0019: invoke-static {v2, v1}, Ldnsfilter/android/BootUpReceiver$$ExternalSyntheticApiModelOutline0;.m:(Landroid/content/Context;I)Landroid/graphics/drawable/Icon; // method@025d │ │ +0190dc: 0c01 |001c: move-result-object v1 │ │ +0190de: 7120 6a02 1000 |001d: invoke-static {v0, v1}, Ldnsfilter/android/BootUpReceiver$$ExternalSyntheticApiModelOutline0;.m:(Landroid/service/quicksettings/Tile;Landroid/graphics/drawable/Icon;)V // method@026a │ │ +0190e4: 280f |0020: goto 002f // +000f │ │ +0190e6: 1211 |0021: const/4 v1, #int 1 // #1 │ │ +0190e8: 7120 6902 1000 |0022: invoke-static {v0, v1}, Ldnsfilter/android/BootUpReceiver$$ExternalSyntheticApiModelOutline0;.m:(Landroid/service/quicksettings/Tile;I)V // method@0269 │ │ +0190ee: 1401 2400 047f |0025: const v1, #float 1.75459e+38 // #7f040024 │ │ +0190f4: 7120 5d02 1200 |0028: invoke-static {v2, v1}, Ldnsfilter/android/BootUpReceiver$$ExternalSyntheticApiModelOutline0;.m:(Landroid/content/Context;I)Landroid/graphics/drawable/Icon; // method@025d │ │ +0190fa: 0c01 |002b: move-result-object v1 │ │ +0190fc: 7120 6a02 1000 |002c: invoke-static {v0, v1}, Ldnsfilter/android/BootUpReceiver$$ExternalSyntheticApiModelOutline0;.m:(Landroid/service/quicksettings/Tile;Landroid/graphics/drawable/Icon;)V // method@026a │ │ +019102: 7110 6802 0000 |002f: invoke-static {v0}, Ldnsfilter/android/BootUpReceiver$$ExternalSyntheticApiModelOutline0;.m:(Landroid/service/quicksettings/Tile;)V // method@0268 │ │ +019108: 0e00 |0032: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=91 │ │ 0x0006 line=96 │ │ 0x000a line=97 │ │ 0x0013 line=102 │ │ 0x0019 line=103 │ │ @@ -14578,45 +14578,45 @@ │ │ type : '()V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 5 │ │ ins : 1 │ │ outs : 3 │ │ insns size : 66 16-bit code units │ │ -018f04: |[018f04] dnsfilter.android.DNSFilterTileService.onClick:()V │ │ -018f14: 6f10 9300 0400 |0000: invoke-super {v4}, Landroid/service/quicksettings/TileService;.onClick:()V // method@0093 │ │ -018f1a: 6200 bb00 |0003: sget-object v0, Ldnsfilter/android/DNSFilterService;.INSTANCE:Ldnsfilter/android/DNSFilterService; // field@00bb │ │ -018f1e: 3800 0b00 |0005: if-eqz v0, 0010 // +000b │ │ -018f22: 6200 bb00 |0007: sget-object v0, Ldnsfilter/android/DNSFilterService;.INSTANCE:Ldnsfilter/android/DNSFilterService; // field@00bb │ │ -018f26: 6e10 a002 0000 |0009: invoke-virtual {v0}, Ldnsfilter/android/DNSFilterService;.pause_resume:()V // method@02a0 │ │ -018f2c: 7010 bc02 0400 |000c: invoke-direct {v4}, Ldnsfilter/android/DNSFilterTileService;.updateTile:()V // method@02bc │ │ -018f32: 2832 |000f: goto 0041 // +0032 │ │ -018f34: 2200 1a00 |0010: new-instance v0, Landroid/content/Intent; // type@001a │ │ -018f38: 1c01 b000 |0012: const-class v1, Ldnsfilter/android/DNSProxyActivity; // type@00b0 │ │ -018f3c: 7030 4200 4001 |0014: invoke-direct {v0, v4, v1}, Landroid/content/Intent;.:(Landroid/content/Context;Ljava/lang/Class;)V // method@0042 │ │ -018f42: 1501 0010 |0017: const/high16 v1, #int 268435456 // #1000 │ │ -018f46: 6e20 4600 1000 |0019: invoke-virtual {v0, v1}, Landroid/content/Intent;.addFlags:(I)Landroid/content/Intent; // method@0046 │ │ -018f4c: 7120 6d02 0400 |001c: invoke-static {v4, v0}, Ldnsfilter/android/BootUpReceiver$$ExternalSyntheticApiModelOutline0;.m:(Ldnsfilter/android/DNSFilterTileService;Landroid/content/Intent;)V // method@026d │ │ -018f52: 2822 |001f: goto 0041 // +0022 │ │ -018f54: 0d00 |0020: move-exception v0 │ │ -018f56: 7100 2507 0000 |0021: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0725 │ │ -018f5c: 0c01 |0024: move-result-object v1 │ │ -018f5e: 2202 2d01 |0025: new-instance v2, Ljava/lang/StringBuilder; // type@012d │ │ -018f62: 1a03 8201 |0027: const-string v3, "Error toggling DNS filtering state: " // string@0182 │ │ -018f66: 7020 a805 3200 |0029: invoke-direct {v2, v3}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05a8 │ │ -018f6c: 6e10 2205 0000 |002c: invoke-virtual {v0}, Ljava/io/IOException;.getMessage:()Ljava/lang/String; // method@0522 │ │ -018f72: 0c03 |002f: move-result-object v3 │ │ -018f74: 6e20 ad05 3200 |0030: invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -018f7a: 6e10 af05 0200 |0033: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ -018f80: 0c02 |0036: move-result-object v2 │ │ -018f82: 7220 3107 2100 |0037: invoke-interface {v1, v2}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0731 │ │ -018f88: 1a01 4301 |003a: const-string v1, "DNSFilterTileService" // string@0143 │ │ -018f8c: 1a02 8101 |003c: const-string v2, "Error toggling DNS filtering state" // string@0181 │ │ -018f90: 7130 a200 2100 |003e: invoke-static {v1, v2, v0}, Landroid/util/Log;.e:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I // method@00a2 │ │ -018f96: 0e00 |0041: return-void │ │ +018f00: |[018f00] dnsfilter.android.DNSFilterTileService.onClick:()V │ │ +018f10: 6f10 9300 0400 |0000: invoke-super {v4}, Landroid/service/quicksettings/TileService;.onClick:()V // method@0093 │ │ +018f16: 6200 bb00 |0003: sget-object v0, Ldnsfilter/android/DNSFilterService;.INSTANCE:Ldnsfilter/android/DNSFilterService; // field@00bb │ │ +018f1a: 3800 0b00 |0005: if-eqz v0, 0010 // +000b │ │ +018f1e: 6200 bb00 |0007: sget-object v0, Ldnsfilter/android/DNSFilterService;.INSTANCE:Ldnsfilter/android/DNSFilterService; // field@00bb │ │ +018f22: 6e10 a002 0000 |0009: invoke-virtual {v0}, Ldnsfilter/android/DNSFilterService;.pause_resume:()V // method@02a0 │ │ +018f28: 7010 bc02 0400 |000c: invoke-direct {v4}, Ldnsfilter/android/DNSFilterTileService;.updateTile:()V // method@02bc │ │ +018f2e: 2832 |000f: goto 0041 // +0032 │ │ +018f30: 2200 1a00 |0010: new-instance v0, Landroid/content/Intent; // type@001a │ │ +018f34: 1c01 b000 |0012: const-class v1, Ldnsfilter/android/DNSProxyActivity; // type@00b0 │ │ +018f38: 7030 4200 4001 |0014: invoke-direct {v0, v4, v1}, Landroid/content/Intent;.:(Landroid/content/Context;Ljava/lang/Class;)V // method@0042 │ │ +018f3e: 1501 0010 |0017: const/high16 v1, #int 268435456 // #1000 │ │ +018f42: 6e20 4600 1000 |0019: invoke-virtual {v0, v1}, Landroid/content/Intent;.addFlags:(I)Landroid/content/Intent; // method@0046 │ │ +018f48: 7120 6d02 0400 |001c: invoke-static {v4, v0}, Ldnsfilter/android/BootUpReceiver$$ExternalSyntheticApiModelOutline0;.m:(Ldnsfilter/android/DNSFilterTileService;Landroid/content/Intent;)V // method@026d │ │ +018f4e: 2822 |001f: goto 0041 // +0022 │ │ +018f50: 0d00 |0020: move-exception v0 │ │ +018f52: 7100 2507 0000 |0021: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0725 │ │ +018f58: 0c01 |0024: move-result-object v1 │ │ +018f5a: 2202 2d01 |0025: new-instance v2, Ljava/lang/StringBuilder; // type@012d │ │ +018f5e: 1a03 8201 |0027: const-string v3, "Error toggling DNS filtering state: " // string@0182 │ │ +018f62: 7020 a805 3200 |0029: invoke-direct {v2, v3}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05a8 │ │ +018f68: 6e10 2205 0000 |002c: invoke-virtual {v0}, Ljava/io/IOException;.getMessage:()Ljava/lang/String; // method@0522 │ │ +018f6e: 0c03 |002f: move-result-object v3 │ │ +018f70: 6e20 ad05 3200 |0030: invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +018f76: 6e10 af05 0200 |0033: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ +018f7c: 0c02 |0036: move-result-object v2 │ │ +018f7e: 7220 3107 2100 |0037: invoke-interface {v1, v2}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0731 │ │ +018f84: 1a01 4301 |003a: const-string v1, "DNSFilterTileService" // string@0143 │ │ +018f88: 1a02 8101 |003c: const-string v2, "Error toggling DNS filtering state" // string@0181 │ │ +018f8c: 7130 a200 2100 |003e: invoke-static {v1, v2, v0}, Landroid/util/Log;.e:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I // method@00a2 │ │ +018f92: 0e00 |0041: return-void │ │ catches : 1 │ │ 0x0003 - 0x001f │ │ Ljava/io/IOException; -> 0x0020 │ │ positions : │ │ 0x0000 line=54 │ │ 0x0003 line=58 │ │ 0x0007 line=59 │ │ @@ -14634,18 +14634,18 @@ │ │ type : '()V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 1 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 6 16-bit code units │ │ -018fa8: |[018fa8] dnsfilter.android.DNSFilterTileService.onCreate:()V │ │ -018fb8: 6f10 9400 0000 |0000: invoke-super {v0}, Landroid/service/quicksettings/TileService;.onCreate:()V // method@0094 │ │ -018fbe: 6900 d200 |0003: sput-object v0, Ldnsfilter/android/DNSFilterTileService;.INSTANCE:Ldnsfilter/android/DNSFilterTileService; // field@00d2 │ │ -018fc2: 0e00 |0005: return-void │ │ +018fa4: |[018fa4] dnsfilter.android.DNSFilterTileService.onCreate:()V │ │ +018fb4: 6f10 9400 0000 |0000: invoke-super {v0}, Landroid/service/quicksettings/TileService;.onCreate:()V // method@0094 │ │ +018fba: 6900 d200 |0003: sput-object v0, Ldnsfilter/android/DNSFilterTileService;.INSTANCE:Ldnsfilter/android/DNSFilterTileService; // field@00d2 │ │ +018fbe: 0e00 |0005: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=34 │ │ 0x0003 line=35 │ │ locals : │ │ 0x0000 - 0x0006 reg=0 this Ldnsfilter/android/DNSFilterTileService; │ │ │ │ @@ -14654,21 +14654,21 @@ │ │ type : '()V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 11 16-bit code units │ │ -018fc4: |[018fc4] dnsfilter.android.DNSFilterTileService.onDestroy:()V │ │ -018fd4: 6f10 9500 0100 |0000: invoke-super {v1}, Landroid/service/quicksettings/TileService;.onDestroy:()V // method@0095 │ │ -018fda: 6200 d200 |0003: sget-object v0, Ldnsfilter/android/DNSFilterTileService;.INSTANCE:Ldnsfilter/android/DNSFilterTileService; // field@00d2 │ │ -018fde: 3310 0500 |0005: if-ne v0, v1, 000a // +0005 │ │ -018fe2: 1200 |0007: const/4 v0, #int 0 // #0 │ │ -018fe4: 6900 d200 |0008: sput-object v0, Ldnsfilter/android/DNSFilterTileService;.INSTANCE:Ldnsfilter/android/DNSFilterTileService; // field@00d2 │ │ -018fe8: 0e00 |000a: return-void │ │ +018fc0: |[018fc0] dnsfilter.android.DNSFilterTileService.onDestroy:()V │ │ +018fd0: 6f10 9500 0100 |0000: invoke-super {v1}, Landroid/service/quicksettings/TileService;.onDestroy:()V // method@0095 │ │ +018fd6: 6200 d200 |0003: sget-object v0, Ldnsfilter/android/DNSFilterTileService;.INSTANCE:Ldnsfilter/android/DNSFilterTileService; // field@00d2 │ │ +018fda: 3310 0500 |0005: if-ne v0, v1, 000a // +0005 │ │ +018fde: 1200 |0007: const/4 v0, #int 0 // #0 │ │ +018fe0: 6900 d200 |0008: sput-object v0, Ldnsfilter/android/DNSFilterTileService;.INSTANCE:Ldnsfilter/android/DNSFilterTileService; // field@00d2 │ │ +018fe4: 0e00 |000a: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=40 │ │ 0x0003 line=41 │ │ 0x0008 line=42 │ │ locals : │ │ 0x0000 - 0x000b reg=1 this Ldnsfilter/android/DNSFilterTileService; │ │ @@ -14678,18 +14678,18 @@ │ │ type : '()V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 1 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 7 16-bit code units │ │ -018fec: |[018fec] dnsfilter.android.DNSFilterTileService.onStartListening:()V │ │ -018ffc: 6f10 9600 0000 |0000: invoke-super {v0}, Landroid/service/quicksettings/TileService;.onStartListening:()V // method@0096 │ │ -019002: 7010 bc02 0000 |0003: invoke-direct {v0}, Ldnsfilter/android/DNSFilterTileService;.updateTile:()V // method@02bc │ │ -019008: 0e00 |0006: return-void │ │ +018fe8: |[018fe8] dnsfilter.android.DNSFilterTileService.onStartListening:()V │ │ +018ff8: 6f10 9600 0000 |0000: invoke-super {v0}, Landroid/service/quicksettings/TileService;.onStartListening:()V // method@0096 │ │ +018ffe: 7010 bc02 0000 |0003: invoke-direct {v0}, Ldnsfilter/android/DNSFilterTileService;.updateTile:()V // method@02bc │ │ +019004: 0e00 |0006: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=48 │ │ 0x0003 line=49 │ │ locals : │ │ 0x0000 - 0x0007 reg=0 this Ldnsfilter/android/DNSFilterTileService; │ │ │ │ @@ -14698,20 +14698,20 @@ │ │ type : '()V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 3 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 11 16-bit code units │ │ -01900c: |[01900c] dnsfilter.android.DNSFilterTileService.onTileAdded:()V │ │ -01901c: 6f10 9700 0200 |0000: invoke-super {v2}, Landroid/service/quicksettings/TileService;.onTileAdded:()V // method@0097 │ │ -019022: 1a00 4301 |0003: const-string v0, "DNSFilterTileService" // string@0143 │ │ -019026: 1a01 7704 |0005: const-string v1, "Tile added" // string@0477 │ │ -01902a: 7120 a100 1000 |0007: invoke-static {v0, v1}, Landroid/util/Log;.d:(Ljava/lang/String;Ljava/lang/String;)I // method@00a1 │ │ -019030: 0e00 |000a: return-void │ │ +019008: |[019008] dnsfilter.android.DNSFilterTileService.onTileAdded:()V │ │ +019018: 6f10 9700 0200 |0000: invoke-super {v2}, Landroid/service/quicksettings/TileService;.onTileAdded:()V // method@0097 │ │ +01901e: 1a00 4301 |0003: const-string v0, "DNSFilterTileService" // string@0143 │ │ +019022: 1a01 7704 |0005: const-string v1, "Tile added" // string@0477 │ │ +019026: 7120 a100 1000 |0007: invoke-static {v0, v1}, Landroid/util/Log;.d:(Ljava/lang/String;Ljava/lang/String;)I // method@00a1 │ │ +01902c: 0e00 |000a: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=28 │ │ 0x0003 line=29 │ │ locals : │ │ 0x0000 - 0x000b reg=2 this Ldnsfilter/android/DNSFilterTileService; │ │ │ │ @@ -14760,20 +14760,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 │ │ -019110: |[019110] dnsfilter.android.DNSProxyActivity$1.:(Ldnsfilter/android/DNSProxyActivity;Landroid/widget/EditText;Ljava/lang/String;)V │ │ -019120: 5b01 d400 |0000: iput-object v1, v0, Ldnsfilter/android/DNSProxyActivity$1;.this$0:Ldnsfilter/android/DNSProxyActivity; // field@00d4 │ │ -019124: 5b02 d600 |0002: iput-object v2, v0, Ldnsfilter/android/DNSProxyActivity$1;.val$input:Landroid/widget/EditText; // field@00d6 │ │ -019128: 5b03 d500 |0004: iput-object v3, v0, Ldnsfilter/android/DNSProxyActivity$1;.val$code:Ljava/lang/String; // field@00d5 │ │ -01912c: 7010 7305 0000 |0006: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@0573 │ │ -019132: 0e00 |0009: return-void │ │ +01910c: |[01910c] dnsfilter.android.DNSProxyActivity$1.:(Ldnsfilter/android/DNSProxyActivity;Landroid/widget/EditText;Ljava/lang/String;)V │ │ +01911c: 5b01 d400 |0000: iput-object v1, v0, Ldnsfilter/android/DNSProxyActivity$1;.this$0:Ldnsfilter/android/DNSProxyActivity; // field@00d4 │ │ +019120: 5b02 d600 |0002: iput-object v2, v0, Ldnsfilter/android/DNSProxyActivity$1;.val$input:Landroid/widget/EditText; // field@00d6 │ │ +019124: 5b03 d500 |0004: iput-object v3, v0, Ldnsfilter/android/DNSProxyActivity$1;.val$code:Ljava/lang/String; // field@00d5 │ │ +019128: 7010 7305 0000 |0006: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@0573 │ │ +01912e: 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; │ │ @@ -14785,39 +14785,39 @@ │ │ type : '(Landroid/content/DialogInterface;I)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 3 │ │ ins : 3 │ │ outs : 2 │ │ insns size : 48 16-bit code units │ │ -019134: |[019134] dnsfilter.android.DNSProxyActivity$1.onClick:(Landroid/content/DialogInterface;I)V │ │ -019144: 1201 |0000: const/4 v1, #int 0 // #0 │ │ -019146: 6901 fa00 |0001: sput-object v1, Ldnsfilter/android/DNSProxyActivity;.PASSWORD_DIAG:Landroid/app/AlertDialog; // field@00fa │ │ -01914a: 5401 d600 |0003: iget-object v1, v0, Ldnsfilter/android/DNSProxyActivity$1;.val$input:Landroid/widget/EditText; // field@00d6 │ │ -01914e: 6e10 da00 0100 |0005: invoke-virtual {v1}, Landroid/widget/EditText;.getText:()Landroid/text/Editable; // method@00da │ │ -019154: 0c01 |0008: move-result-object v1 │ │ -019156: 6e10 7805 0100 |0009: invoke-virtual {v1}, Ljava/lang/Object;.toString:()Ljava/lang/String; // method@0578 │ │ -01915c: 0c01 |000c: move-result-object v1 │ │ -01915e: 5402 d500 |000d: iget-object v2, v0, Ldnsfilter/android/DNSProxyActivity$1;.val$code:Ljava/lang/String; // field@00d5 │ │ -019162: 6e20 8b05 2100 |000f: invoke-virtual {v1, v2}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058b │ │ -019168: 0a01 |0012: move-result v1 │ │ -01916a: 3901 0f00 |0013: if-nez v1, 0022 // +000f │ │ -01916e: 5401 d400 |0015: iget-object v1, v0, Ldnsfilter/android/DNSProxyActivity$1;.this$0:Ldnsfilter/android/DNSProxyActivity; // field@00d4 │ │ -019172: 1a02 e104 |0017: const-string v2, "Wrong passcode!" // string@04e1 │ │ -019176: 6e20 0903 2100 |0019: invoke-virtual {v1, v2}, Ldnsfilter/android/DNSProxyActivity;.message:(Ljava/lang/String;)V // method@0309 │ │ -01917c: 5401 d400 |001c: iget-object v1, v0, Ldnsfilter/android/DNSProxyActivity$1;.this$0:Ldnsfilter/android/DNSProxyActivity; // field@00d4 │ │ -019180: 7110 dc02 0100 |001e: invoke-static {v1}, Ldnsfilter/android/DNSProxyActivity;.access$400:(Ldnsfilter/android/DNSProxyActivity;)V // method@02dc │ │ -019186: 280e |0021: goto 002f // +000e │ │ -019188: 5401 d400 |0022: iget-object v1, v0, Ldnsfilter/android/DNSProxyActivity$1;.this$0:Ldnsfilter/android/DNSProxyActivity; // field@00d4 │ │ -01918c: 1402 3e00 057f |0024: const v2, #float 1.76789e+38 // #7f05003e │ │ -019192: 6e20 ef02 2100 |0027: invoke-virtual {v1, v2}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02ef │ │ -019198: 0c01 |002a: move-result-object v1 │ │ -01919a: 1202 |002b: const/4 v2, #int 0 // #0 │ │ -01919c: 6e20 b400 2100 |002c: invoke-virtual {v1, v2}, Landroid/view/View;.setVisibility:(I)V // method@00b4 │ │ -0191a2: 0e00 |002f: return-void │ │ +019130: |[019130] dnsfilter.android.DNSProxyActivity$1.onClick:(Landroid/content/DialogInterface;I)V │ │ +019140: 1201 |0000: const/4 v1, #int 0 // #0 │ │ +019142: 6901 fa00 |0001: sput-object v1, Ldnsfilter/android/DNSProxyActivity;.PASSWORD_DIAG:Landroid/app/AlertDialog; // field@00fa │ │ +019146: 5401 d600 |0003: iget-object v1, v0, Ldnsfilter/android/DNSProxyActivity$1;.val$input:Landroid/widget/EditText; // field@00d6 │ │ +01914a: 6e10 da00 0100 |0005: invoke-virtual {v1}, Landroid/widget/EditText;.getText:()Landroid/text/Editable; // method@00da │ │ +019150: 0c01 |0008: move-result-object v1 │ │ +019152: 6e10 7805 0100 |0009: invoke-virtual {v1}, Ljava/lang/Object;.toString:()Ljava/lang/String; // method@0578 │ │ +019158: 0c01 |000c: move-result-object v1 │ │ +01915a: 5402 d500 |000d: iget-object v2, v0, Ldnsfilter/android/DNSProxyActivity$1;.val$code:Ljava/lang/String; // field@00d5 │ │ +01915e: 6e20 8b05 2100 |000f: invoke-virtual {v1, v2}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058b │ │ +019164: 0a01 |0012: move-result v1 │ │ +019166: 3901 0f00 |0013: if-nez v1, 0022 // +000f │ │ +01916a: 5401 d400 |0015: iget-object v1, v0, Ldnsfilter/android/DNSProxyActivity$1;.this$0:Ldnsfilter/android/DNSProxyActivity; // field@00d4 │ │ +01916e: 1a02 e104 |0017: const-string v2, "Wrong passcode!" // string@04e1 │ │ +019172: 6e20 0903 2100 |0019: invoke-virtual {v1, v2}, Ldnsfilter/android/DNSProxyActivity;.message:(Ljava/lang/String;)V // method@0309 │ │ +019178: 5401 d400 |001c: iget-object v1, v0, Ldnsfilter/android/DNSProxyActivity$1;.this$0:Ldnsfilter/android/DNSProxyActivity; // field@00d4 │ │ +01917c: 7110 dc02 0100 |001e: invoke-static {v1}, Ldnsfilter/android/DNSProxyActivity;.access$400:(Ldnsfilter/android/DNSProxyActivity;)V // method@02dc │ │ +019182: 280e |0021: goto 002f // +000e │ │ +019184: 5401 d400 |0022: iget-object v1, v0, Ldnsfilter/android/DNSProxyActivity$1;.this$0:Ldnsfilter/android/DNSProxyActivity; // field@00d4 │ │ +019188: 1402 3e00 057f |0024: const v2, #float 1.76789e+38 // #7f05003e │ │ +01918e: 6e20 ef02 2100 |0027: invoke-virtual {v1, v2}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02ef │ │ +019194: 0c01 |002a: move-result-object v1 │ │ +019196: 1202 |002b: const/4 v2, #int 0 // #0 │ │ +019198: 6e20 b400 2100 |002c: invoke-virtual {v1, v2}, Landroid/view/View;.setVisibility:(I)V // method@00b4 │ │ +01919e: 0e00 |002f: return-void │ │ catches : (none) │ │ positions : │ │ 0x0001 line=658 │ │ 0x0003 line=659 │ │ 0x000d line=660 │ │ 0x0015 line=661 │ │ 0x001c line=662 │ │ @@ -14868,19 +14868,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 │ │ -0191a4: |[0191a4] dnsfilter.android.DNSProxyActivity$2.:(Ldnsfilter/android/DNSProxyActivity;Landroid/app/AlertDialog$Builder;)V │ │ -0191b4: 5b01 d700 |0000: iput-object v1, v0, Ldnsfilter/android/DNSProxyActivity$2;.this$0:Ldnsfilter/android/DNSProxyActivity; // field@00d7 │ │ -0191b8: 5b02 d800 |0002: iput-object v2, v0, Ldnsfilter/android/DNSProxyActivity$2;.val$builder:Landroid/app/AlertDialog$Builder; // field@00d8 │ │ -0191bc: 7010 7305 0000 |0004: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@0573 │ │ -0191c2: 0e00 |0007: return-void │ │ +0191a0: |[0191a0] dnsfilter.android.DNSProxyActivity$2.:(Ldnsfilter/android/DNSProxyActivity;Landroid/app/AlertDialog$Builder;)V │ │ +0191b0: 5b01 d700 |0000: iput-object v1, v0, Ldnsfilter/android/DNSProxyActivity$2;.this$0:Ldnsfilter/android/DNSProxyActivity; // field@00d7 │ │ +0191b4: 5b02 d800 |0002: iput-object v2, v0, Ldnsfilter/android/DNSProxyActivity$2;.val$builder:Landroid/app/AlertDialog$Builder; // field@00d8 │ │ +0191b8: 7010 7305 0000 |0004: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@0573 │ │ +0191be: 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; │ │ @@ -14891,26 +14891,26 @@ │ │ type : '()V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 3 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 23 16-bit code units │ │ -0191c4: |[0191c4] dnsfilter.android.DNSProxyActivity$2.run:()V │ │ -0191d4: 5420 d700 |0000: iget-object v0, v2, Ldnsfilter/android/DNSProxyActivity$2;.this$0:Ldnsfilter/android/DNSProxyActivity; // field@00d7 │ │ -0191d8: 1401 3e00 057f |0002: const v1, #float 1.76789e+38 // #7f05003e │ │ -0191de: 6e20 ef02 1000 |0005: invoke-virtual {v0, v1}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02ef │ │ -0191e4: 0c00 |0008: move-result-object v0 │ │ -0191e6: 1301 0800 |0009: const/16 v1, #int 8 // #8 │ │ -0191ea: 6e20 b400 1000 |000b: invoke-virtual {v0, v1}, Landroid/view/View;.setVisibility:(I)V // method@00b4 │ │ -0191f0: 5420 d800 |000e: iget-object v0, v2, Ldnsfilter/android/DNSProxyActivity$2;.val$builder:Landroid/app/AlertDialog$Builder; // field@00d8 │ │ -0191f4: 6e10 0e00 0000 |0010: invoke-virtual {v0}, Landroid/app/AlertDialog$Builder;.show:()Landroid/app/AlertDialog; // method@000e │ │ -0191fa: 0c00 |0013: move-result-object v0 │ │ -0191fc: 6900 fa00 |0014: sput-object v0, Ldnsfilter/android/DNSProxyActivity;.PASSWORD_DIAG:Landroid/app/AlertDialog; // field@00fa │ │ -019200: 0e00 |0016: return-void │ │ +0191c0: |[0191c0] dnsfilter.android.DNSProxyActivity$2.run:()V │ │ +0191d0: 5420 d700 |0000: iget-object v0, v2, Ldnsfilter/android/DNSProxyActivity$2;.this$0:Ldnsfilter/android/DNSProxyActivity; // field@00d7 │ │ +0191d4: 1401 3e00 057f |0002: const v1, #float 1.76789e+38 // #7f05003e │ │ +0191da: 6e20 ef02 1000 |0005: invoke-virtual {v0, v1}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02ef │ │ +0191e0: 0c00 |0008: move-result-object v0 │ │ +0191e2: 1301 0800 |0009: const/16 v1, #int 8 // #8 │ │ +0191e6: 6e20 b400 1000 |000b: invoke-virtual {v0, v1}, Landroid/view/View;.setVisibility:(I)V // method@00b4 │ │ +0191ec: 5420 d800 |000e: iget-object v0, v2, Ldnsfilter/android/DNSProxyActivity$2;.val$builder:Landroid/app/AlertDialog$Builder; // field@00d8 │ │ +0191f0: 6e10 0e00 0000 |0010: invoke-virtual {v0}, Landroid/app/AlertDialog$Builder;.show:()Landroid/app/AlertDialog; // method@000e │ │ +0191f6: 0c00 |0013: move-result-object v0 │ │ +0191f8: 6900 fa00 |0014: sput-object v0, Ldnsfilter/android/DNSProxyActivity;.PASSWORD_DIAG:Landroid/app/AlertDialog; // field@00fa │ │ +0191fc: 0e00 |0016: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=670 │ │ 0x000e line=671 │ │ locals : │ │ 0x0000 - 0x0017 reg=2 this Ldnsfilter/android/DNSProxyActivity$2; │ │ │ │ @@ -14949,18 +14949,18 @@ │ │ type : '(Ldnsfilter/android/DNSProxyActivity;)V' │ │ access : 0x10000 (CONSTRUCTOR) │ │ code - │ │ registers : 2 │ │ ins : 2 │ │ outs : 1 │ │ insns size : 6 16-bit code units │ │ -019204: |[019204] dnsfilter.android.DNSProxyActivity$3.:(Ldnsfilter/android/DNSProxyActivity;)V │ │ -019214: 5b01 d900 |0000: iput-object v1, v0, Ldnsfilter/android/DNSProxyActivity$3;.this$0:Ldnsfilter/android/DNSProxyActivity; // field@00d9 │ │ -019218: 7010 7305 0000 |0002: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@0573 │ │ -01921e: 0e00 |0005: return-void │ │ +019200: |[019200] dnsfilter.android.DNSProxyActivity$3.:(Ldnsfilter/android/DNSProxyActivity;)V │ │ +019210: 5b01 d900 |0000: iput-object v1, v0, Ldnsfilter/android/DNSProxyActivity$3;.this$0:Ldnsfilter/android/DNSProxyActivity; // field@00d9 │ │ +019214: 7010 7305 0000 |0002: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@0573 │ │ +01921a: 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; │ │ │ │ @@ -14970,183 +14970,183 @@ │ │ type : '()V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 7 │ │ ins : 1 │ │ outs : 5 │ │ insns size : 348 16-bit code units │ │ -019220: |[019220] dnsfilter.android.DNSProxyActivity$3.run:()V │ │ -019230: 6200 0e01 |0000: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.config:Ldnsfilter/ConfigUtil; // field@010e │ │ -019234: 1a01 1207 |0002: const-string v1, "footerLink" // string@0712 │ │ -019238: 1a02 0000 |0004: const-string v2, "" // string@0000 │ │ -01923c: 6e30 3a01 1002 |0006: invoke-virtual {v0, v1, v2}, Ldnsfilter/ConfigUtil;.getConfigValue:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@013a │ │ -019242: 0c00 |0009: move-result-object v0 │ │ -019244: 6900 1f01 |000a: sput-object v0, Ldnsfilter/android/DNSProxyActivity;.link_field_txt:Ljava/lang/String; // field@011f │ │ -019248: 6300 f500 |000c: sget-boolean v0, Ldnsfilter/android/DNSProxyActivity;.MSG_ACTIVE:Z // field@00f5 │ │ -01924c: 3900 1600 |000e: if-nez v0, 0024 // +0016 │ │ -019250: 6200 1d01 |0010: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.link_field:Landroid/widget/TextView; // field@011d │ │ -019254: 6201 1f01 |0012: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.link_field_txt:Ljava/lang/String; // field@011f │ │ -019258: 7110 d802 0100 |0014: invoke-static {v1}, Ldnsfilter/android/DNSProxyActivity;.access$000:(Ljava/lang/String;)Landroid/text/Spanned; // method@02d8 │ │ -01925e: 0c01 |0017: move-result-object v1 │ │ -019260: 6e20 0901 1000 |0018: invoke-virtual {v0, v1}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@0109 │ │ -019266: 6200 1d01 |001b: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.link_field:Landroid/widget/TextView; // field@011d │ │ -01926a: 7100 9f00 0000 |001d: invoke-static {}, Landroid/text/method/LinkMovementMethod;.getInstance:()Landroid/text/method/MovementMethod; // method@009f │ │ -019270: 0c01 |0020: move-result-object v1 │ │ -019272: 6e20 0701 1000 |0021: invoke-virtual {v0, v1}, Landroid/widget/TextView;.setMovementMethod:(Landroid/text/method/MovementMethod;)V // method@0107 │ │ -019278: 6200 0e01 |0024: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.config:Ldnsfilter/ConfigUtil; // field@010e │ │ -01927c: 1a01 fb06 |0026: const-string v1, "filterLogFormat" // string@06fb │ │ -019280: 1a03 9500 |0028: const-string v3, "($CONTENT)" // string@0095 │ │ -019284: 6e30 3a01 1003 |002a: invoke-virtual {v0, v1, v3}, Ldnsfilter/ConfigUtil;.getConfigValue:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@013a │ │ -01928a: 0c00 |002d: move-result-object v0 │ │ -01928c: 6900 1701 |002e: sput-object v0, Ldnsfilter/android/DNSProxyActivity;.filterLogFormat:Ljava/lang/String; // field@0117 │ │ -019290: 6200 0e01 |0030: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.config:Ldnsfilter/ConfigUtil; // field@010e │ │ -019294: 1a01 1c05 |0032: const-string v1, "acceptLogFormat" // string@051c │ │ -019298: 1a03 9400 |0034: const-string v3, "($CONTENT)" // string@0094 │ │ -01929c: 6e30 3a01 1003 |0036: invoke-virtual {v0, v1, v3}, Ldnsfilter/ConfigUtil;.getConfigValue:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@013a │ │ -0192a2: 0c00 |0039: move-result-object v0 │ │ -0192a4: 6900 fe00 |003a: sput-object v0, Ldnsfilter/android/DNSProxyActivity;.acceptLogFormat:Ljava/lang/String; // field@00fe │ │ -0192a8: 6200 0e01 |003c: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.config:Ldnsfilter/ConfigUtil; // field@010e │ │ -0192ac: 1a01 1e07 |003e: const-string v1, "fwdLogFormat" // string@071e │ │ -0192b0: 1a03 9700 |0040: const-string v3, "($CONTENT)" // string@0097 │ │ -0192b4: 6e30 3a01 1003 |0042: invoke-virtual {v0, v1, v3}, Ldnsfilter/ConfigUtil;.getConfigValue:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@013a │ │ -0192ba: 0c00 |0045: move-result-object v0 │ │ -0192bc: 6900 1901 |0046: sput-object v0, Ldnsfilter/android/DNSProxyActivity;.fwdLogFormat:Ljava/lang/String; // field@0119 │ │ -0192c0: 6200 0e01 |0048: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.config:Ldnsfilter/ConfigUtil; // field@010e │ │ -0192c4: 1a01 0509 |004a: const-string v1, "normalLogFormat" // string@0905 │ │ -0192c8: 1a03 4400 |004c: const-string v3, "($CONTENT)" // string@0044 │ │ -0192cc: 6e30 3a01 1003 |004e: invoke-virtual {v0, v1, v3}, Ldnsfilter/ConfigUtil;.getConfigValue:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@013a │ │ -0192d2: 0c00 |0051: move-result-object v0 │ │ -0192d4: 6900 2501 |0052: sput-object v0, Ldnsfilter/android/DNSProxyActivity;.normalLogFormat:Ljava/lang/String; // field@0125 │ │ -0192d8: 6200 0e01 |0054: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.config:Ldnsfilter/ConfigUtil; // field@010e │ │ -0192dc: 1a01 c208 |0056: const-string v1, "logTextSize" // string@08c2 │ │ -0192e0: 1a03 7300 |0058: const-string v3, "14" // string@0073 │ │ -0192e4: 6e30 3a01 1003 |005a: invoke-virtual {v0, v1, v3}, Ldnsfilter/ConfigUtil;.getConfigValue:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@013a │ │ -0192ea: 0c00 |005d: move-result-object v0 │ │ -0192ec: 7110 6505 0000 |005e: invoke-static {v0}, Ljava/lang/Integer;.parseInt:(Ljava/lang/String;)I // method@0565 │ │ -0192f2: 0a00 |0061: move-result v0 │ │ -0192f4: 6201 2001 |0062: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.logOutView:Landroid/widget/EditText; // field@0120 │ │ -0192f8: 1223 |0064: const/4 v3, #int 2 // #2 │ │ -0192fa: 8200 |0065: int-to-float v0, v0 │ │ -0192fc: 6e30 e700 3100 |0066: invoke-virtual {v1, v3, v0}, Landroid/widget/EditText;.setTextSize:(IF)V // method@00e7 │ │ -019302: 281b |0069: goto 0084 // +001b │ │ -019304: 0d00 |006a: move-exception v0 │ │ -019306: 7100 2507 0000 |006b: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0725 │ │ -01930c: 0c01 |006e: move-result-object v1 │ │ -01930e: 2203 2d01 |006f: new-instance v3, Ljava/lang/StringBuilder; // type@012d │ │ -019312: 1a04 7c01 |0071: const-string v4, "Error in log text size setting! " // string@017c │ │ -019316: 7020 a805 4300 |0073: invoke-direct {v3, v4}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05a8 │ │ -01931c: 6e10 5f05 0000 |0076: invoke-virtual {v0}, Ljava/lang/Exception;.toString:()Ljava/lang/String; // method@055f │ │ -019322: 0c00 |0079: move-result-object v0 │ │ -019324: 6e20 ad05 0300 |007a: invoke-virtual {v3, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -01932a: 6e10 af05 0300 |007d: invoke-virtual {v3}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ -019330: 0c00 |0080: move-result-object v0 │ │ -019332: 7220 3107 0100 |0081: invoke-interface {v1, v0}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0731 │ │ -019338: 6200 0e01 |0084: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.config:Ldnsfilter/ConfigUtil; // field@010e │ │ -01933c: 6e10 3b01 0000 |0086: invoke-virtual {v0}, Ldnsfilter/ConfigUtil;.getConfiguredFilterLists:()[Ldnsfilter/ConfigUtil$HostFilterList; // method@013b │ │ -019342: 0c00 |0089: move-result-object v0 │ │ -019344: 6201 1601 |008a: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.filterCfg:Ldnsfilter/android/FilterConfig; // field@0116 │ │ -019348: 6e20 4603 0100 |008c: invoke-virtual {v1, v0}, Ldnsfilter/android/FilterConfig;.setEntries:([Ldnsfilter/ConfigUtil$HostFilterList;)V // method@0346 │ │ -01934e: 6200 1801 |008f: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.filterReloadIntervalView:Landroid/widget/EditText; // field@0118 │ │ -019352: 6201 0e01 |0091: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.config:Ldnsfilter/ConfigUtil; // field@010e │ │ -019356: 1a03 db09 |0093: const-string v3, "reloadIntervalDays" // string@09db │ │ -01935a: 1a04 7f00 |0095: const-string v4, "7" // string@007f │ │ -01935e: 6e30 3a01 3104 |0097: invoke-virtual {v1, v3, v4}, Ldnsfilter/ConfigUtil;.getConfigValue:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@013a │ │ -019364: 0c01 |009a: move-result-object v1 │ │ -019366: 6e20 e600 1000 |009b: invoke-virtual {v0, v1}, Landroid/widget/EditText;.setText:(Ljava/lang/CharSequence;)V // method@00e6 │ │ -01936c: 6200 1301 |009e: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.enableAdFilterCheck:Landroid/widget/CheckBox; // field@0113 │ │ -019370: 6201 0e01 |00a0: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.config:Ldnsfilter/ConfigUtil; // field@010e │ │ -019374: 1a03 e606 |00a2: const-string v3, "filterActive" // string@06e6 │ │ -019378: 1a04 420b |00a4: const-string v4, "true" // string@0b42 │ │ -01937c: 6e30 3a01 3104 |00a6: invoke-virtual {v1, v3, v4}, Ldnsfilter/ConfigUtil;.getConfigValue:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@013a │ │ -019382: 0c01 |00a9: move-result-object v1 │ │ -019384: 7110 4b05 0100 |00aa: invoke-static {v1}, Ljava/lang/Boolean;.parseBoolean:(Ljava/lang/String;)Z // method@054b │ │ -01938a: 0a01 |00ad: move-result v1 │ │ -01938c: 6e20 cd00 1000 |00ae: invoke-virtual {v0, v1}, Landroid/widget/CheckBox;.setChecked:(Z)V // method@00cd │ │ -019392: 6200 1401 |00b1: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.enableAutoStartCheck:Landroid/widget/CheckBox; // field@0114 │ │ -019396: 6201 0e01 |00b3: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.config:Ldnsfilter/ConfigUtil; // field@010e │ │ -01939a: 1a03 b200 |00b5: const-string v3, "AUTOSTART" // string@00b2 │ │ -01939e: 1a05 df06 |00b7: const-string v5, "false" // string@06df │ │ -0193a2: 6e30 3a01 3105 |00b9: invoke-virtual {v1, v3, v5}, Ldnsfilter/ConfigUtil;.getConfigValue:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@013a │ │ -0193a8: 0c01 |00bc: move-result-object v1 │ │ -0193aa: 7110 4b05 0100 |00bd: invoke-static {v1}, Ljava/lang/Boolean;.parseBoolean:(Ljava/lang/String;)Z // method@054b │ │ -0193b0: 0a01 |00c0: move-result v1 │ │ -0193b2: 6e20 cd00 1000 |00c1: invoke-virtual {v0, v1}, Landroid/widget/CheckBox;.setChecked:(Z)V // method@00cd │ │ -0193b8: 6200 1501 |00c4: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.enableCloakProtectCheck:Landroid/widget/CheckBox; // field@0115 │ │ -0193bc: 6201 0e01 |00c6: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.config:Ldnsfilter/ConfigUtil; // field@010e │ │ -0193c0: 1a03 c005 |00c8: const-string v3, "checkCNAME" // string@05c0 │ │ -0193c4: 6e30 3a01 3104 |00ca: invoke-virtual {v1, v3, v4}, Ldnsfilter/ConfigUtil;.getConfigValue:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@013a │ │ -0193ca: 0c01 |00cd: move-result-object v1 │ │ -0193cc: 7110 4b05 0100 |00ce: invoke-static {v1}, Ljava/lang/Boolean;.parseBoolean:(Ljava/lang/String;)Z // method@054b │ │ -0193d2: 0a01 |00d1: move-result v1 │ │ -0193d4: 6e20 cd00 1000 |00d2: invoke-virtual {v0, v1}, Landroid/widget/CheckBox;.setChecked:(Z)V // method@00cd │ │ -0193da: 6200 1c01 |00d5: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.keepAwakeCheck:Landroid/widget/CheckBox; // field@011c │ │ -0193de: 6201 0e01 |00d7: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.config:Ldnsfilter/ConfigUtil; // field@010e │ │ -0193e2: 1a03 6805 |00d9: const-string v3, "androidKeepAwake" // string@0568 │ │ -0193e6: 6e30 3a01 3105 |00db: invoke-virtual {v1, v3, v5}, Ldnsfilter/ConfigUtil;.getConfigValue:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@013a │ │ -0193ec: 0c01 |00de: move-result-object v1 │ │ -0193ee: 7110 4b05 0100 |00df: invoke-static {v1}, Ljava/lang/Boolean;.parseBoolean:(Ljava/lang/String;)Z // method@054b │ │ -0193f4: 0a01 |00e2: move-result v1 │ │ -0193f6: 6e20 cd00 1000 |00e3: invoke-virtual {v0, v1}, Landroid/widget/CheckBox;.setChecked:(Z)V // method@00cd │ │ -0193fc: 6200 2901 |00e6: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.proxyModeCheck:Landroid/widget/CheckBox; // field@0129 │ │ -019400: 6201 0e01 |00e8: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.config:Ldnsfilter/ConfigUtil; // field@010e │ │ -019404: 1a03 6b06 |00ea: const-string v3, "dnsProxyOnAndroid" // string@066b │ │ -019408: 6e30 3a01 3105 |00ec: invoke-virtual {v1, v3, v5}, Ldnsfilter/ConfigUtil;.getConfigValue:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@013a │ │ -01940e: 0c01 |00ef: move-result-object v1 │ │ -019410: 7110 4b05 0100 |00f0: invoke-static {v1}, Ljava/lang/Boolean;.parseBoolean:(Ljava/lang/String;)Z // method@054b │ │ -019416: 0a01 |00f3: move-result v1 │ │ -019418: 6e20 cd00 1000 |00f4: invoke-virtual {v0, v1}, Landroid/widget/CheckBox;.setChecked:(Z)V // method@00cd │ │ -01941e: 6200 2801 |00f7: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.proxyLocalOnlyCheck:Landroid/widget/CheckBox; // field@0128 │ │ -019422: 6201 0e01 |00f9: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.config:Ldnsfilter/ConfigUtil; // field@010e │ │ -019426: 1a03 6d06 |00fb: const-string v3, "dnsProxyOnlyLocalRequests" // string@066d │ │ -01942a: 6e30 3a01 3104 |00fd: invoke-virtual {v1, v3, v4}, Ldnsfilter/ConfigUtil;.getConfigValue:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@013a │ │ -019430: 0c01 |0100: move-result-object v1 │ │ -019432: 7110 4b05 0100 |0101: invoke-static {v1}, Ljava/lang/Boolean;.parseBoolean:(Ljava/lang/String;)Z // method@054b │ │ -019438: 0a01 |0104: move-result v1 │ │ -01943a: 6e20 cd00 1000 |0105: invoke-virtual {v0, v1}, Landroid/widget/CheckBox;.setChecked:(Z)V // method@00cd │ │ -019440: 6200 3001 |0108: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.rootModeCheck:Landroid/widget/CheckBox; // field@0130 │ │ -019444: 6201 0e01 |010a: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.config:Ldnsfilter/ConfigUtil; // field@010e │ │ -019448: 1a03 2a0a |010c: const-string v3, "rootModeOnAndroid" // string@0a2a │ │ -01944c: 6e30 3a01 3105 |010e: invoke-virtual {v1, v3, v5}, Ldnsfilter/ConfigUtil;.getConfigValue:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@013a │ │ -019452: 0c01 |0111: move-result-object v1 │ │ -019454: 7110 4b05 0100 |0112: invoke-static {v1}, Ljava/lang/Boolean;.parseBoolean:(Ljava/lang/String;)Z // method@054b │ │ -01945a: 0a01 |0115: move-result v1 │ │ -01945c: 6e20 cd00 1000 |0116: invoke-virtual {v0, v1}, Landroid/widget/CheckBox;.setChecked:(Z)V // method@00cd │ │ -019462: 6200 0401 |0119: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.appSelector:Ldnsfilter/android/AppSelectorView; // field@0104 │ │ -019466: 6201 0e01 |011b: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.config:Ldnsfilter/ConfigUtil; // field@010e │ │ -01946a: 1a03 6705 |011d: const-string v3, "androidAppWhiteList" // string@0567 │ │ -01946e: 6e30 3a01 3102 |011f: invoke-virtual {v1, v3, v2}, Ldnsfilter/ConfigUtil;.getConfigValue:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@013a │ │ -019474: 0c01 |0122: move-result-object v1 │ │ -019476: 6e20 5802 1000 |0123: invoke-virtual {v0, v1}, Ldnsfilter/android/AppSelectorView;.setSelectedApps:(Ljava/lang/String;)V // method@0258 │ │ -01947c: 6200 ed00 |0126: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.CONFIG:Ldnsfilter/ConfigurationAccess; // field@00ed │ │ -019480: 6e10 5701 0000 |0128: invoke-virtual {v0}, Ldnsfilter/ConfigurationAccess;.isLocal:()Z // method@0157 │ │ -019486: 0a00 |012b: move-result v0 │ │ -019488: 1201 |012c: const/4 v1, #int 0 // #0 │ │ -01948a: 3900 1700 |012d: if-nez v0, 0144 // +0017 │ │ -01948e: 5460 d900 |012f: iget-object v0, v6, Ldnsfilter/android/DNSProxyActivity$3;.this$0:Ldnsfilter/android/DNSProxyActivity; // field@00d9 │ │ -019492: 5400 2b01 |0131: iget-object v0, v0, Ldnsfilter/android/DNSProxyActivity;.remoteCtrlBtn:Landroid/widget/Button; // field@012b │ │ -019496: 5462 d900 |0133: iget-object v2, v6, Ldnsfilter/android/DNSProxyActivity$3;.this$0:Ldnsfilter/android/DNSProxyActivity; // field@00d9 │ │ -01949a: 6e10 f602 0200 |0135: invoke-virtual {v2}, Ldnsfilter/android/DNSProxyActivity;.getResources:()Landroid/content/res/Resources; // method@02f6 │ │ -0194a0: 0c02 |0138: move-result-object v2 │ │ -0194a2: 1403 2b00 047f |0139: const v3, #float 1.75459e+38 // #7f04002b │ │ -0194a8: 6e20 5800 3200 |013c: invoke-virtual {v2, v3}, Landroid/content/res/Resources;.getDrawable:(I)Landroid/graphics/drawable/Drawable; // method@0058 │ │ -0194ae: 0c02 |013f: move-result-object v2 │ │ -0194b0: 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 │ │ -0194b6: 2815 |0143: goto 0158 // +0015 │ │ -0194b8: 5460 d900 |0144: iget-object v0, v6, Ldnsfilter/android/DNSProxyActivity$3;.this$0:Ldnsfilter/android/DNSProxyActivity; // field@00d9 │ │ -0194bc: 5400 2b01 |0146: iget-object v0, v0, Ldnsfilter/android/DNSProxyActivity;.remoteCtrlBtn:Landroid/widget/Button; // field@012b │ │ -0194c0: 5462 d900 |0148: iget-object v2, v6, Ldnsfilter/android/DNSProxyActivity$3;.this$0:Ldnsfilter/android/DNSProxyActivity; // field@00d9 │ │ -0194c4: 6e10 f602 0200 |014a: invoke-virtual {v2}, Ldnsfilter/android/DNSProxyActivity;.getResources:()Landroid/content/res/Resources; // method@02f6 │ │ -0194ca: 0c02 |014d: move-result-object v2 │ │ -0194cc: 1403 2c00 047f |014e: const v3, #float 1.75459e+38 // #7f04002c │ │ -0194d2: 6e20 5800 3200 |0151: invoke-virtual {v2, v3}, Landroid/content/res/Resources;.getDrawable:(I)Landroid/graphics/drawable/Drawable; // method@0058 │ │ -0194d8: 0c02 |0154: move-result-object v2 │ │ -0194da: 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 │ │ -0194e0: 1200 |0158: const/4 v0, #int 0 // #0 │ │ -0194e2: 6a00 3801 |0159: sput-boolean v0, Ldnsfilter/android/DNSProxyActivity;.switchingConfig:Z // field@0138 │ │ -0194e6: 0e00 |015b: return-void │ │ +01921c: |[01921c] dnsfilter.android.DNSProxyActivity$3.run:()V │ │ +01922c: 6200 0e01 |0000: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.config:Ldnsfilter/ConfigUtil; // field@010e │ │ +019230: 1a01 1207 |0002: const-string v1, "footerLink" // string@0712 │ │ +019234: 1a02 0000 |0004: const-string v2, "" // string@0000 │ │ +019238: 6e30 3a01 1002 |0006: invoke-virtual {v0, v1, v2}, Ldnsfilter/ConfigUtil;.getConfigValue:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@013a │ │ +01923e: 0c00 |0009: move-result-object v0 │ │ +019240: 6900 1f01 |000a: sput-object v0, Ldnsfilter/android/DNSProxyActivity;.link_field_txt:Ljava/lang/String; // field@011f │ │ +019244: 6300 f500 |000c: sget-boolean v0, Ldnsfilter/android/DNSProxyActivity;.MSG_ACTIVE:Z // field@00f5 │ │ +019248: 3900 1600 |000e: if-nez v0, 0024 // +0016 │ │ +01924c: 6200 1d01 |0010: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.link_field:Landroid/widget/TextView; // field@011d │ │ +019250: 6201 1f01 |0012: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.link_field_txt:Ljava/lang/String; // field@011f │ │ +019254: 7110 d802 0100 |0014: invoke-static {v1}, Ldnsfilter/android/DNSProxyActivity;.access$000:(Ljava/lang/String;)Landroid/text/Spanned; // method@02d8 │ │ +01925a: 0c01 |0017: move-result-object v1 │ │ +01925c: 6e20 0901 1000 |0018: invoke-virtual {v0, v1}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@0109 │ │ +019262: 6200 1d01 |001b: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.link_field:Landroid/widget/TextView; // field@011d │ │ +019266: 7100 9f00 0000 |001d: invoke-static {}, Landroid/text/method/LinkMovementMethod;.getInstance:()Landroid/text/method/MovementMethod; // method@009f │ │ +01926c: 0c01 |0020: move-result-object v1 │ │ +01926e: 6e20 0701 1000 |0021: invoke-virtual {v0, v1}, Landroid/widget/TextView;.setMovementMethod:(Landroid/text/method/MovementMethod;)V // method@0107 │ │ +019274: 6200 0e01 |0024: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.config:Ldnsfilter/ConfigUtil; // field@010e │ │ +019278: 1a01 fb06 |0026: const-string v1, "filterLogFormat" // string@06fb │ │ +01927c: 1a03 9500 |0028: const-string v3, "($CONTENT)" // string@0095 │ │ +019280: 6e30 3a01 1003 |002a: invoke-virtual {v0, v1, v3}, Ldnsfilter/ConfigUtil;.getConfigValue:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@013a │ │ +019286: 0c00 |002d: move-result-object v0 │ │ +019288: 6900 1701 |002e: sput-object v0, Ldnsfilter/android/DNSProxyActivity;.filterLogFormat:Ljava/lang/String; // field@0117 │ │ +01928c: 6200 0e01 |0030: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.config:Ldnsfilter/ConfigUtil; // field@010e │ │ +019290: 1a01 1c05 |0032: const-string v1, "acceptLogFormat" // string@051c │ │ +019294: 1a03 9400 |0034: const-string v3, "($CONTENT)" // string@0094 │ │ +019298: 6e30 3a01 1003 |0036: invoke-virtual {v0, v1, v3}, Ldnsfilter/ConfigUtil;.getConfigValue:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@013a │ │ +01929e: 0c00 |0039: move-result-object v0 │ │ +0192a0: 6900 fe00 |003a: sput-object v0, Ldnsfilter/android/DNSProxyActivity;.acceptLogFormat:Ljava/lang/String; // field@00fe │ │ +0192a4: 6200 0e01 |003c: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.config:Ldnsfilter/ConfigUtil; // field@010e │ │ +0192a8: 1a01 1e07 |003e: const-string v1, "fwdLogFormat" // string@071e │ │ +0192ac: 1a03 9700 |0040: const-string v3, "($CONTENT)" // string@0097 │ │ +0192b0: 6e30 3a01 1003 |0042: invoke-virtual {v0, v1, v3}, Ldnsfilter/ConfigUtil;.getConfigValue:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@013a │ │ +0192b6: 0c00 |0045: move-result-object v0 │ │ +0192b8: 6900 1901 |0046: sput-object v0, Ldnsfilter/android/DNSProxyActivity;.fwdLogFormat:Ljava/lang/String; // field@0119 │ │ +0192bc: 6200 0e01 |0048: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.config:Ldnsfilter/ConfigUtil; // field@010e │ │ +0192c0: 1a01 0509 |004a: const-string v1, "normalLogFormat" // string@0905 │ │ +0192c4: 1a03 4400 |004c: const-string v3, "($CONTENT)" // string@0044 │ │ +0192c8: 6e30 3a01 1003 |004e: invoke-virtual {v0, v1, v3}, Ldnsfilter/ConfigUtil;.getConfigValue:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@013a │ │ +0192ce: 0c00 |0051: move-result-object v0 │ │ +0192d0: 6900 2501 |0052: sput-object v0, Ldnsfilter/android/DNSProxyActivity;.normalLogFormat:Ljava/lang/String; // field@0125 │ │ +0192d4: 6200 0e01 |0054: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.config:Ldnsfilter/ConfigUtil; // field@010e │ │ +0192d8: 1a01 c208 |0056: const-string v1, "logTextSize" // string@08c2 │ │ +0192dc: 1a03 7300 |0058: const-string v3, "14" // string@0073 │ │ +0192e0: 6e30 3a01 1003 |005a: invoke-virtual {v0, v1, v3}, Ldnsfilter/ConfigUtil;.getConfigValue:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@013a │ │ +0192e6: 0c00 |005d: move-result-object v0 │ │ +0192e8: 7110 6505 0000 |005e: invoke-static {v0}, Ljava/lang/Integer;.parseInt:(Ljava/lang/String;)I // method@0565 │ │ +0192ee: 0a00 |0061: move-result v0 │ │ +0192f0: 6201 2001 |0062: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.logOutView:Landroid/widget/EditText; // field@0120 │ │ +0192f4: 1223 |0064: const/4 v3, #int 2 // #2 │ │ +0192f6: 8200 |0065: int-to-float v0, v0 │ │ +0192f8: 6e30 e700 3100 |0066: invoke-virtual {v1, v3, v0}, Landroid/widget/EditText;.setTextSize:(IF)V // method@00e7 │ │ +0192fe: 281b |0069: goto 0084 // +001b │ │ +019300: 0d00 |006a: move-exception v0 │ │ +019302: 7100 2507 0000 |006b: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0725 │ │ +019308: 0c01 |006e: move-result-object v1 │ │ +01930a: 2203 2d01 |006f: new-instance v3, Ljava/lang/StringBuilder; // type@012d │ │ +01930e: 1a04 7c01 |0071: const-string v4, "Error in log text size setting! " // string@017c │ │ +019312: 7020 a805 4300 |0073: invoke-direct {v3, v4}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05a8 │ │ +019318: 6e10 5f05 0000 |0076: invoke-virtual {v0}, Ljava/lang/Exception;.toString:()Ljava/lang/String; // method@055f │ │ +01931e: 0c00 |0079: move-result-object v0 │ │ +019320: 6e20 ad05 0300 |007a: invoke-virtual {v3, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +019326: 6e10 af05 0300 |007d: invoke-virtual {v3}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ +01932c: 0c00 |0080: move-result-object v0 │ │ +01932e: 7220 3107 0100 |0081: invoke-interface {v1, v0}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0731 │ │ +019334: 6200 0e01 |0084: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.config:Ldnsfilter/ConfigUtil; // field@010e │ │ +019338: 6e10 3b01 0000 |0086: invoke-virtual {v0}, Ldnsfilter/ConfigUtil;.getConfiguredFilterLists:()[Ldnsfilter/ConfigUtil$HostFilterList; // method@013b │ │ +01933e: 0c00 |0089: move-result-object v0 │ │ +019340: 6201 1601 |008a: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.filterCfg:Ldnsfilter/android/FilterConfig; // field@0116 │ │ +019344: 6e20 4603 0100 |008c: invoke-virtual {v1, v0}, Ldnsfilter/android/FilterConfig;.setEntries:([Ldnsfilter/ConfigUtil$HostFilterList;)V // method@0346 │ │ +01934a: 6200 1801 |008f: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.filterReloadIntervalView:Landroid/widget/EditText; // field@0118 │ │ +01934e: 6201 0e01 |0091: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.config:Ldnsfilter/ConfigUtil; // field@010e │ │ +019352: 1a03 db09 |0093: const-string v3, "reloadIntervalDays" // string@09db │ │ +019356: 1a04 7f00 |0095: const-string v4, "7" // string@007f │ │ +01935a: 6e30 3a01 3104 |0097: invoke-virtual {v1, v3, v4}, Ldnsfilter/ConfigUtil;.getConfigValue:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@013a │ │ +019360: 0c01 |009a: move-result-object v1 │ │ +019362: 6e20 e600 1000 |009b: invoke-virtual {v0, v1}, Landroid/widget/EditText;.setText:(Ljava/lang/CharSequence;)V // method@00e6 │ │ +019368: 6200 1301 |009e: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.enableAdFilterCheck:Landroid/widget/CheckBox; // field@0113 │ │ +01936c: 6201 0e01 |00a0: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.config:Ldnsfilter/ConfigUtil; // field@010e │ │ +019370: 1a03 e606 |00a2: const-string v3, "filterActive" // string@06e6 │ │ +019374: 1a04 420b |00a4: const-string v4, "true" // string@0b42 │ │ +019378: 6e30 3a01 3104 |00a6: invoke-virtual {v1, v3, v4}, Ldnsfilter/ConfigUtil;.getConfigValue:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@013a │ │ +01937e: 0c01 |00a9: move-result-object v1 │ │ +019380: 7110 4b05 0100 |00aa: invoke-static {v1}, Ljava/lang/Boolean;.parseBoolean:(Ljava/lang/String;)Z // method@054b │ │ +019386: 0a01 |00ad: move-result v1 │ │ +019388: 6e20 cd00 1000 |00ae: invoke-virtual {v0, v1}, Landroid/widget/CheckBox;.setChecked:(Z)V // method@00cd │ │ +01938e: 6200 1401 |00b1: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.enableAutoStartCheck:Landroid/widget/CheckBox; // field@0114 │ │ +019392: 6201 0e01 |00b3: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.config:Ldnsfilter/ConfigUtil; // field@010e │ │ +019396: 1a03 b200 |00b5: const-string v3, "AUTOSTART" // string@00b2 │ │ +01939a: 1a05 df06 |00b7: const-string v5, "false" // string@06df │ │ +01939e: 6e30 3a01 3105 |00b9: invoke-virtual {v1, v3, v5}, Ldnsfilter/ConfigUtil;.getConfigValue:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@013a │ │ +0193a4: 0c01 |00bc: move-result-object v1 │ │ +0193a6: 7110 4b05 0100 |00bd: invoke-static {v1}, Ljava/lang/Boolean;.parseBoolean:(Ljava/lang/String;)Z // method@054b │ │ +0193ac: 0a01 |00c0: move-result v1 │ │ +0193ae: 6e20 cd00 1000 |00c1: invoke-virtual {v0, v1}, Landroid/widget/CheckBox;.setChecked:(Z)V // method@00cd │ │ +0193b4: 6200 1501 |00c4: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.enableCloakProtectCheck:Landroid/widget/CheckBox; // field@0115 │ │ +0193b8: 6201 0e01 |00c6: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.config:Ldnsfilter/ConfigUtil; // field@010e │ │ +0193bc: 1a03 c005 |00c8: const-string v3, "checkCNAME" // string@05c0 │ │ +0193c0: 6e30 3a01 3104 |00ca: invoke-virtual {v1, v3, v4}, Ldnsfilter/ConfigUtil;.getConfigValue:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@013a │ │ +0193c6: 0c01 |00cd: move-result-object v1 │ │ +0193c8: 7110 4b05 0100 |00ce: invoke-static {v1}, Ljava/lang/Boolean;.parseBoolean:(Ljava/lang/String;)Z // method@054b │ │ +0193ce: 0a01 |00d1: move-result v1 │ │ +0193d0: 6e20 cd00 1000 |00d2: invoke-virtual {v0, v1}, Landroid/widget/CheckBox;.setChecked:(Z)V // method@00cd │ │ +0193d6: 6200 1c01 |00d5: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.keepAwakeCheck:Landroid/widget/CheckBox; // field@011c │ │ +0193da: 6201 0e01 |00d7: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.config:Ldnsfilter/ConfigUtil; // field@010e │ │ +0193de: 1a03 6805 |00d9: const-string v3, "androidKeepAwake" // string@0568 │ │ +0193e2: 6e30 3a01 3105 |00db: invoke-virtual {v1, v3, v5}, Ldnsfilter/ConfigUtil;.getConfigValue:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@013a │ │ +0193e8: 0c01 |00de: move-result-object v1 │ │ +0193ea: 7110 4b05 0100 |00df: invoke-static {v1}, Ljava/lang/Boolean;.parseBoolean:(Ljava/lang/String;)Z // method@054b │ │ +0193f0: 0a01 |00e2: move-result v1 │ │ +0193f2: 6e20 cd00 1000 |00e3: invoke-virtual {v0, v1}, Landroid/widget/CheckBox;.setChecked:(Z)V // method@00cd │ │ +0193f8: 6200 2901 |00e6: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.proxyModeCheck:Landroid/widget/CheckBox; // field@0129 │ │ +0193fc: 6201 0e01 |00e8: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.config:Ldnsfilter/ConfigUtil; // field@010e │ │ +019400: 1a03 6b06 |00ea: const-string v3, "dnsProxyOnAndroid" // string@066b │ │ +019404: 6e30 3a01 3105 |00ec: invoke-virtual {v1, v3, v5}, Ldnsfilter/ConfigUtil;.getConfigValue:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@013a │ │ +01940a: 0c01 |00ef: move-result-object v1 │ │ +01940c: 7110 4b05 0100 |00f0: invoke-static {v1}, Ljava/lang/Boolean;.parseBoolean:(Ljava/lang/String;)Z // method@054b │ │ +019412: 0a01 |00f3: move-result v1 │ │ +019414: 6e20 cd00 1000 |00f4: invoke-virtual {v0, v1}, Landroid/widget/CheckBox;.setChecked:(Z)V // method@00cd │ │ +01941a: 6200 2801 |00f7: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.proxyLocalOnlyCheck:Landroid/widget/CheckBox; // field@0128 │ │ +01941e: 6201 0e01 |00f9: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.config:Ldnsfilter/ConfigUtil; // field@010e │ │ +019422: 1a03 6d06 |00fb: const-string v3, "dnsProxyOnlyLocalRequests" // string@066d │ │ +019426: 6e30 3a01 3104 |00fd: invoke-virtual {v1, v3, v4}, Ldnsfilter/ConfigUtil;.getConfigValue:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@013a │ │ +01942c: 0c01 |0100: move-result-object v1 │ │ +01942e: 7110 4b05 0100 |0101: invoke-static {v1}, Ljava/lang/Boolean;.parseBoolean:(Ljava/lang/String;)Z // method@054b │ │ +019434: 0a01 |0104: move-result v1 │ │ +019436: 6e20 cd00 1000 |0105: invoke-virtual {v0, v1}, Landroid/widget/CheckBox;.setChecked:(Z)V // method@00cd │ │ +01943c: 6200 3001 |0108: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.rootModeCheck:Landroid/widget/CheckBox; // field@0130 │ │ +019440: 6201 0e01 |010a: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.config:Ldnsfilter/ConfigUtil; // field@010e │ │ +019444: 1a03 2a0a |010c: const-string v3, "rootModeOnAndroid" // string@0a2a │ │ +019448: 6e30 3a01 3105 |010e: invoke-virtual {v1, v3, v5}, Ldnsfilter/ConfigUtil;.getConfigValue:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@013a │ │ +01944e: 0c01 |0111: move-result-object v1 │ │ +019450: 7110 4b05 0100 |0112: invoke-static {v1}, Ljava/lang/Boolean;.parseBoolean:(Ljava/lang/String;)Z // method@054b │ │ +019456: 0a01 |0115: move-result v1 │ │ +019458: 6e20 cd00 1000 |0116: invoke-virtual {v0, v1}, Landroid/widget/CheckBox;.setChecked:(Z)V // method@00cd │ │ +01945e: 6200 0401 |0119: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.appSelector:Ldnsfilter/android/AppSelectorView; // field@0104 │ │ +019462: 6201 0e01 |011b: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.config:Ldnsfilter/ConfigUtil; // field@010e │ │ +019466: 1a03 6705 |011d: const-string v3, "androidAppWhiteList" // string@0567 │ │ +01946a: 6e30 3a01 3102 |011f: invoke-virtual {v1, v3, v2}, Ldnsfilter/ConfigUtil;.getConfigValue:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@013a │ │ +019470: 0c01 |0122: move-result-object v1 │ │ +019472: 6e20 5802 1000 |0123: invoke-virtual {v0, v1}, Ldnsfilter/android/AppSelectorView;.setSelectedApps:(Ljava/lang/String;)V // method@0258 │ │ +019478: 6200 ed00 |0126: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.CONFIG:Ldnsfilter/ConfigurationAccess; // field@00ed │ │ +01947c: 6e10 5701 0000 |0128: invoke-virtual {v0}, Ldnsfilter/ConfigurationAccess;.isLocal:()Z // method@0157 │ │ +019482: 0a00 |012b: move-result v0 │ │ +019484: 1201 |012c: const/4 v1, #int 0 // #0 │ │ +019486: 3900 1700 |012d: if-nez v0, 0144 // +0017 │ │ +01948a: 5460 d900 |012f: iget-object v0, v6, Ldnsfilter/android/DNSProxyActivity$3;.this$0:Ldnsfilter/android/DNSProxyActivity; // field@00d9 │ │ +01948e: 5400 2b01 |0131: iget-object v0, v0, Ldnsfilter/android/DNSProxyActivity;.remoteCtrlBtn:Landroid/widget/Button; // field@012b │ │ +019492: 5462 d900 |0133: iget-object v2, v6, Ldnsfilter/android/DNSProxyActivity$3;.this$0:Ldnsfilter/android/DNSProxyActivity; // field@00d9 │ │ +019496: 6e10 f602 0200 |0135: invoke-virtual {v2}, Ldnsfilter/android/DNSProxyActivity;.getResources:()Landroid/content/res/Resources; // method@02f6 │ │ +01949c: 0c02 |0138: move-result-object v2 │ │ +01949e: 1403 2b00 047f |0139: const v3, #float 1.75459e+38 // #7f04002b │ │ +0194a4: 6e20 5800 3200 |013c: invoke-virtual {v2, v3}, Landroid/content/res/Resources;.getDrawable:(I)Landroid/graphics/drawable/Drawable; // method@0058 │ │ +0194aa: 0c02 |013f: move-result-object v2 │ │ +0194ac: 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 │ │ +0194b2: 2815 |0143: goto 0158 // +0015 │ │ +0194b4: 5460 d900 |0144: iget-object v0, v6, Ldnsfilter/android/DNSProxyActivity$3;.this$0:Ldnsfilter/android/DNSProxyActivity; // field@00d9 │ │ +0194b8: 5400 2b01 |0146: iget-object v0, v0, Ldnsfilter/android/DNSProxyActivity;.remoteCtrlBtn:Landroid/widget/Button; // field@012b │ │ +0194bc: 5462 d900 |0148: iget-object v2, v6, Ldnsfilter/android/DNSProxyActivity$3;.this$0:Ldnsfilter/android/DNSProxyActivity; // field@00d9 │ │ +0194c0: 6e10 f602 0200 |014a: invoke-virtual {v2}, Ldnsfilter/android/DNSProxyActivity;.getResources:()Landroid/content/res/Resources; // method@02f6 │ │ +0194c6: 0c02 |014d: move-result-object v2 │ │ +0194c8: 1403 2c00 047f |014e: const v3, #float 1.75459e+38 // #7f04002c │ │ +0194ce: 6e20 5800 3200 |0151: invoke-virtual {v2, v3}, Landroid/content/res/Resources;.getDrawable:(I)Landroid/graphics/drawable/Drawable; // method@0058 │ │ +0194d4: 0c02 |0154: move-result-object v2 │ │ +0194d6: 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 │ │ +0194dc: 1200 |0158: const/4 v0, #int 0 // #0 │ │ +0194de: 6a00 3801 |0159: sput-boolean v0, Ldnsfilter/android/DNSProxyActivity;.switchingConfig:Z // field@0138 │ │ +0194e2: 0e00 |015b: return-void │ │ catches : 1 │ │ 0x0054 - 0x0069 │ │ Ljava/lang/Exception; -> 0x006a │ │ positions : │ │ 0x0000 line=963 │ │ 0x000c line=964 │ │ 0x0010 line=965 │ │ @@ -15221,20 +15221,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 │ │ -0194f8: |[0194f8] dnsfilter.android.DNSProxyActivity$4.:(Ldnsfilter/android/DNSProxyActivity;Landroid/app/Dialog;Landroid/widget/Button;)V │ │ -019508: 5b01 da00 |0000: iput-object v1, v0, Ldnsfilter/android/DNSProxyActivity$4;.this$0:Ldnsfilter/android/DNSProxyActivity; // field@00da │ │ -01950c: 5b02 dc00 |0002: iput-object v2, v0, Ldnsfilter/android/DNSProxyActivity$4;.val$remoteConnectDialog:Landroid/app/Dialog; // field@00dc │ │ -019510: 5b03 db00 |0004: iput-object v3, v0, Ldnsfilter/android/DNSProxyActivity$4;.val$okBtn:Landroid/widget/Button; // field@00db │ │ -019514: 7010 7305 0000 |0006: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@0573 │ │ -01951a: 0e00 |0009: return-void │ │ +0194f4: |[0194f4] dnsfilter.android.DNSProxyActivity$4.:(Ldnsfilter/android/DNSProxyActivity;Landroid/app/Dialog;Landroid/widget/Button;)V │ │ +019504: 5b01 da00 |0000: iput-object v1, v0, Ldnsfilter/android/DNSProxyActivity$4;.this$0:Ldnsfilter/android/DNSProxyActivity; // field@00da │ │ +019508: 5b02 dc00 |0002: iput-object v2, v0, Ldnsfilter/android/DNSProxyActivity$4;.val$remoteConnectDialog:Landroid/app/Dialog; // field@00dc │ │ +01950c: 5b03 db00 |0004: iput-object v3, v0, Ldnsfilter/android/DNSProxyActivity$4;.val$okBtn:Landroid/widget/Button; // field@00db │ │ +019510: 7010 7305 0000 |0006: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@0573 │ │ +019516: 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; │ │ @@ -15246,60 +15246,60 @@ │ │ type : '(Landroid/view/View;)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 5 │ │ ins : 2 │ │ outs : 3 │ │ insns size : 96 16-bit code units │ │ -01951c: |[01951c] dnsfilter.android.DNSProxyActivity$4.onClick:(Landroid/view/View;)V │ │ -01952c: 5430 dc00 |0000: iget-object v0, v3, Ldnsfilter/android/DNSProxyActivity$4;.val$remoteConnectDialog:Landroid/app/Dialog; // field@00dc │ │ -019530: 6e10 1600 0000 |0002: invoke-virtual {v0}, Landroid/app/Dialog;.dismiss:()V // method@0016 │ │ -019536: 5430 db00 |0005: iget-object v0, v3, Ldnsfilter/android/DNSProxyActivity$4;.val$okBtn:Landroid/widget/Button; // field@00db │ │ -01953a: 3304 5800 |0007: if-ne v4, v0, 005f // +0058 │ │ -01953e: 5434 dc00 |0009: iget-object v4, v3, Ldnsfilter/android/DNSProxyActivity$4;.val$remoteConnectDialog:Landroid/app/Dialog; // field@00dc │ │ -019542: 1400 5100 057f |000b: const v0, #float 1.76789e+38 // #7f050051 │ │ -019548: 6e20 1700 0400 |000e: invoke-virtual {v4, v0}, Landroid/app/Dialog;.findViewById:(I)Landroid/view/View; // method@0017 │ │ -01954e: 0c04 |0011: move-result-object v4 │ │ -019550: 1f04 6700 |0012: check-cast v4, Landroid/widget/EditText; // type@0067 │ │ -019554: 6e10 da00 0400 |0014: invoke-virtual {v4}, Landroid/widget/EditText;.getText:()Landroid/text/Editable; // method@00da │ │ -01955a: 0c04 |0017: move-result-object v4 │ │ -01955c: 6e10 7805 0400 |0018: invoke-virtual {v4}, Ljava/lang/Object;.toString:()Ljava/lang/String; // method@0578 │ │ -019562: 0c04 |001b: move-result-object v4 │ │ -019564: 5430 dc00 |001c: iget-object v0, v3, Ldnsfilter/android/DNSProxyActivity$4;.val$remoteConnectDialog:Landroid/app/Dialog; // field@00dc │ │ -019568: 1401 4700 057f |001e: const v1, #float 1.76789e+38 // #7f050047 │ │ -01956e: 6e20 1700 1000 |0021: invoke-virtual {v0, v1}, Landroid/app/Dialog;.findViewById:(I)Landroid/view/View; // method@0017 │ │ -019574: 0c00 |0024: move-result-object v0 │ │ -019576: 1f00 6700 |0025: check-cast v0, Landroid/widget/EditText; // type@0067 │ │ -01957a: 6e10 da00 0000 |0027: invoke-virtual {v0}, Landroid/widget/EditText;.getText:()Landroid/text/Editable; // method@00da │ │ -019580: 0c00 |002a: move-result-object v0 │ │ -019582: 6e10 7805 0000 |002b: invoke-virtual {v0}, Ljava/lang/Object;.toString:()Ljava/lang/String; // method@0578 │ │ -019588: 0c00 |002e: move-result-object v0 │ │ -01958a: 5431 da00 |002f: iget-object v1, v3, Ldnsfilter/android/DNSProxyActivity$4;.this$0:Ldnsfilter/android/DNSProxyActivity; // field@00da │ │ -01958e: 7130 dd02 4100 |0031: invoke-static {v1, v4, v0}, Ldnsfilter/android/DNSProxyActivity;.access$500:(Ldnsfilter/android/DNSProxyActivity;Ljava/lang/String;Ljava/lang/String;)V // method@02dd │ │ -019594: 5434 da00 |0034: iget-object v4, v3, Ldnsfilter/android/DNSProxyActivity$4;.this$0:Ldnsfilter/android/DNSProxyActivity; // field@00da │ │ -019598: 7110 de02 0400 |0036: invoke-static {v4}, Ldnsfilter/android/DNSProxyActivity;.access$600:(Ldnsfilter/android/DNSProxyActivity;)V // method@02de │ │ -01959e: 2826 |0039: goto 005f // +0026 │ │ -0195a0: 0d04 |003a: move-exception v4 │ │ -0195a2: 7100 2507 0000 |003b: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0725 │ │ -0195a8: 0c00 |003e: move-result-object v0 │ │ -0195aa: 2201 2d01 |003f: new-instance v1, Ljava/lang/StringBuilder; // type@012d │ │ -0195ae: 1a02 0001 |0041: const-string v2, "Cannot store remote connect configuration! " // string@0100 │ │ -0195b2: 7020 a805 2100 |0043: invoke-direct {v1, v2}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05a8 │ │ -0195b8: 6e10 5f05 0400 |0046: invoke-virtual {v4}, Ljava/lang/Exception;.toString:()Ljava/lang/String; // method@055f │ │ -0195be: 0c02 |0049: move-result-object v2 │ │ -0195c0: 6e20 ad05 2100 |004a: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -0195c6: 6e10 af05 0100 |004d: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ -0195cc: 0c01 |0050: move-result-object v1 │ │ -0195ce: 7220 3107 1000 |0051: invoke-interface {v0, v1}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0731 │ │ -0195d4: 7100 2507 0000 |0054: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0725 │ │ -0195da: 0c00 |0057: move-result-object v0 │ │ -0195dc: 6e10 5b05 0400 |0058: invoke-virtual {v4}, Ljava/lang/Exception;.getMessage:()Ljava/lang/String; // method@055b │ │ -0195e2: 0c04 |005b: move-result-object v4 │ │ -0195e4: 7220 3207 4000 |005c: invoke-interface {v0, v4}, Lutil/LoggerInterface;.message:(Ljava/lang/String;)V // method@0732 │ │ -0195ea: 0e00 |005f: return-void │ │ +019518: |[019518] dnsfilter.android.DNSProxyActivity$4.onClick:(Landroid/view/View;)V │ │ +019528: 5430 dc00 |0000: iget-object v0, v3, Ldnsfilter/android/DNSProxyActivity$4;.val$remoteConnectDialog:Landroid/app/Dialog; // field@00dc │ │ +01952c: 6e10 1600 0000 |0002: invoke-virtual {v0}, Landroid/app/Dialog;.dismiss:()V // method@0016 │ │ +019532: 5430 db00 |0005: iget-object v0, v3, Ldnsfilter/android/DNSProxyActivity$4;.val$okBtn:Landroid/widget/Button; // field@00db │ │ +019536: 3304 5800 |0007: if-ne v4, v0, 005f // +0058 │ │ +01953a: 5434 dc00 |0009: iget-object v4, v3, Ldnsfilter/android/DNSProxyActivity$4;.val$remoteConnectDialog:Landroid/app/Dialog; // field@00dc │ │ +01953e: 1400 5100 057f |000b: const v0, #float 1.76789e+38 // #7f050051 │ │ +019544: 6e20 1700 0400 |000e: invoke-virtual {v4, v0}, Landroid/app/Dialog;.findViewById:(I)Landroid/view/View; // method@0017 │ │ +01954a: 0c04 |0011: move-result-object v4 │ │ +01954c: 1f04 6700 |0012: check-cast v4, Landroid/widget/EditText; // type@0067 │ │ +019550: 6e10 da00 0400 |0014: invoke-virtual {v4}, Landroid/widget/EditText;.getText:()Landroid/text/Editable; // method@00da │ │ +019556: 0c04 |0017: move-result-object v4 │ │ +019558: 6e10 7805 0400 |0018: invoke-virtual {v4}, Ljava/lang/Object;.toString:()Ljava/lang/String; // method@0578 │ │ +01955e: 0c04 |001b: move-result-object v4 │ │ +019560: 5430 dc00 |001c: iget-object v0, v3, Ldnsfilter/android/DNSProxyActivity$4;.val$remoteConnectDialog:Landroid/app/Dialog; // field@00dc │ │ +019564: 1401 4700 057f |001e: const v1, #float 1.76789e+38 // #7f050047 │ │ +01956a: 6e20 1700 1000 |0021: invoke-virtual {v0, v1}, Landroid/app/Dialog;.findViewById:(I)Landroid/view/View; // method@0017 │ │ +019570: 0c00 |0024: move-result-object v0 │ │ +019572: 1f00 6700 |0025: check-cast v0, Landroid/widget/EditText; // type@0067 │ │ +019576: 6e10 da00 0000 |0027: invoke-virtual {v0}, Landroid/widget/EditText;.getText:()Landroid/text/Editable; // method@00da │ │ +01957c: 0c00 |002a: move-result-object v0 │ │ +01957e: 6e10 7805 0000 |002b: invoke-virtual {v0}, Ljava/lang/Object;.toString:()Ljava/lang/String; // method@0578 │ │ +019584: 0c00 |002e: move-result-object v0 │ │ +019586: 5431 da00 |002f: iget-object v1, v3, Ldnsfilter/android/DNSProxyActivity$4;.this$0:Ldnsfilter/android/DNSProxyActivity; // field@00da │ │ +01958a: 7130 dd02 4100 |0031: invoke-static {v1, v4, v0}, Ldnsfilter/android/DNSProxyActivity;.access$500:(Ldnsfilter/android/DNSProxyActivity;Ljava/lang/String;Ljava/lang/String;)V // method@02dd │ │ +019590: 5434 da00 |0034: iget-object v4, v3, Ldnsfilter/android/DNSProxyActivity$4;.this$0:Ldnsfilter/android/DNSProxyActivity; // field@00da │ │ +019594: 7110 de02 0400 |0036: invoke-static {v4}, Ldnsfilter/android/DNSProxyActivity;.access$600:(Ldnsfilter/android/DNSProxyActivity;)V // method@02de │ │ +01959a: 2826 |0039: goto 005f // +0026 │ │ +01959c: 0d04 |003a: move-exception v4 │ │ +01959e: 7100 2507 0000 |003b: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0725 │ │ +0195a4: 0c00 |003e: move-result-object v0 │ │ +0195a6: 2201 2d01 |003f: new-instance v1, Ljava/lang/StringBuilder; // type@012d │ │ +0195aa: 1a02 0001 |0041: const-string v2, "Cannot store remote connect configuration! " // string@0100 │ │ +0195ae: 7020 a805 2100 |0043: invoke-direct {v1, v2}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05a8 │ │ +0195b4: 6e10 5f05 0400 |0046: invoke-virtual {v4}, Ljava/lang/Exception;.toString:()Ljava/lang/String; // method@055f │ │ +0195ba: 0c02 |0049: move-result-object v2 │ │ +0195bc: 6e20 ad05 2100 |004a: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +0195c2: 6e10 af05 0100 |004d: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ +0195c8: 0c01 |0050: move-result-object v1 │ │ +0195ca: 7220 3107 1000 |0051: invoke-interface {v0, v1}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0731 │ │ +0195d0: 7100 2507 0000 |0054: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0725 │ │ +0195d6: 0c00 |0057: move-result-object v0 │ │ +0195d8: 6e10 5b05 0400 |0058: invoke-virtual {v4}, Ljava/lang/Exception;.getMessage:()Ljava/lang/String; // method@055b │ │ +0195de: 0c04 |005b: move-result-object v4 │ │ +0195e0: 7220 3207 4000 |005c: invoke-interface {v0, v4}, Lutil/LoggerInterface;.message:(Ljava/lang/String;)V // method@0732 │ │ +0195e6: 0e00 |005f: return-void │ │ catches : 1 │ │ 0x0009 - 0x0034 │ │ Ljava/lang/Exception; -> 0x003a │ │ positions : │ │ 0x0000 line=1246 │ │ 0x0005 line=1247 │ │ 0x0009 line=1249 │ │ @@ -15361,21 +15361,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 │ │ -0195fc: |[0195fc] dnsfilter.android.DNSProxyActivity$5.:(Ldnsfilter/android/DNSProxyActivity;Ljava/lang/String;ILjava/lang/String;)V │ │ -01960c: 5b01 dd00 |0000: iput-object v1, v0, Ldnsfilter/android/DNSProxyActivity$5;.this$0:Ldnsfilter/android/DNSProxyActivity; // field@00dd │ │ -019610: 5b02 de00 |0002: iput-object v2, v0, Ldnsfilter/android/DNSProxyActivity$5;.val$host:Ljava/lang/String; // field@00de │ │ -019614: 5903 e000 |0004: iput v3, v0, Ldnsfilter/android/DNSProxyActivity$5;.val$port:I // field@00e0 │ │ -019618: 5b04 df00 |0006: iput-object v4, v0, Ldnsfilter/android/DNSProxyActivity$5;.val$keyphrase:Ljava/lang/String; // field@00df │ │ -01961c: 7010 7305 0000 |0008: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@0573 │ │ -019622: 0e00 |000b: return-void │ │ +0195f8: |[0195f8] dnsfilter.android.DNSProxyActivity$5.:(Ldnsfilter/android/DNSProxyActivity;Ljava/lang/String;ILjava/lang/String;)V │ │ +019608: 5b01 dd00 |0000: iput-object v1, v0, Ldnsfilter/android/DNSProxyActivity$5;.this$0:Ldnsfilter/android/DNSProxyActivity; // field@00dd │ │ +01960c: 5b02 de00 |0002: iput-object v2, v0, Ldnsfilter/android/DNSProxyActivity$5;.val$host:Ljava/lang/String; // field@00de │ │ +019610: 5903 e000 |0004: iput v3, v0, Ldnsfilter/android/DNSProxyActivity$5;.val$port:I // field@00e0 │ │ +019614: 5b04 df00 |0006: iput-object v4, v0, Ldnsfilter/android/DNSProxyActivity$5;.val$keyphrase:Ljava/lang/String; // field@00df │ │ +019618: 7010 7305 0000 |0008: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@0573 │ │ +01961e: 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; │ │ @@ -15388,63 +15388,63 @@ │ │ type : '()V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 6 │ │ ins : 1 │ │ outs : 4 │ │ insns size : 105 16-bit code units │ │ -019624: |[019624] dnsfilter.android.DNSProxyActivity$5.run:()V │ │ -019634: 5450 dd00 |0000: iget-object v0, v5, Ldnsfilter/android/DNSProxyActivity$5;.this$0:Ldnsfilter/android/DNSProxyActivity; // field@00dd │ │ -019638: 2201 2d01 |0002: new-instance v1, Ljava/lang/StringBuilder; // type@012d │ │ -01963c: 1a02 0c01 |0004: const-string v2, "Connecting: " // string@010c │ │ -019640: 7020 a805 2100 |0006: invoke-direct {v1, v2}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05a8 │ │ -019646: 5452 de00 |0009: iget-object v2, v5, Ldnsfilter/android/DNSProxyActivity$5;.val$host:Ljava/lang/String; // field@00de │ │ -01964a: 6e20 ad05 2100 |000b: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -019650: 1a02 8100 |000e: const-string v2, ":" // string@0081 │ │ -019654: 6e20 ad05 2100 |0010: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -01965a: 5252 e000 |0013: iget v2, v5, Ldnsfilter/android/DNSProxyActivity$5;.val$port:I // field@00e0 │ │ -01965e: 6e20 aa05 2100 |0015: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@05aa │ │ -019664: 6e10 af05 0100 |0018: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ -01966a: 0c01 |001b: move-result-object v1 │ │ -01966c: 6e20 0903 1000 |001c: invoke-virtual {v0, v1}, Ldnsfilter/android/DNSProxyActivity;.message:(Ljava/lang/String;)V // method@0309 │ │ -019672: 7100 df02 0000 |001f: invoke-static {}, Ldnsfilter/android/DNSProxyActivity;.access$700:()Ldnsfilter/android/DNSProxyActivity$MsgTimeoutListener; // method@02df │ │ -019678: 0c00 |0022: move-result-object v0 │ │ -01967a: 1401 f049 0200 |0023: const v1, #float 2.10195e-40 // #000249f0 │ │ -019680: 7120 cf02 1000 |0026: invoke-static {v0, v1}, Ldnsfilter/android/DNSProxyActivity$MsgTimeoutListener;.access$800:(Ldnsfilter/android/DNSProxyActivity$MsgTimeoutListener;I)V // method@02cf │ │ -019686: 5450 dd00 |0029: iget-object v0, v5, Ldnsfilter/android/DNSProxyActivity$5;.this$0:Ldnsfilter/android/DNSProxyActivity; // field@00dd │ │ -01968a: 6201 2401 |002b: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.myLogger:Lutil/SuppressRepeatingsLogger; // field@0124 │ │ -01968e: 6e10 7507 0100 |002d: invoke-virtual {v1}, Lutil/SuppressRepeatingsLogger;.getNestedLogger:()Lutil/LoggerInterface; // method@0775 │ │ -019694: 0c01 |0030: move-result-object v1 │ │ -019696: 5452 de00 |0031: iget-object v2, v5, Ldnsfilter/android/DNSProxyActivity$5;.val$host:Ljava/lang/String; // field@00de │ │ -01969a: 5253 e000 |0033: iget v3, v5, Ldnsfilter/android/DNSProxyActivity$5;.val$port:I // field@00e0 │ │ -01969e: 5454 df00 |0035: iget-object v4, v5, Ldnsfilter/android/DNSProxyActivity$5;.val$keyphrase:Ljava/lang/String; // field@00df │ │ -0196a2: 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 │ │ -0196a8: 0c01 |003a: move-result-object v1 │ │ -0196aa: 7120 e002 1000 |003b: invoke-static {v0, v1}, Ldnsfilter/android/DNSProxyActivity;.access$900:(Ldnsfilter/android/DNSProxyActivity;Ldnsfilter/ConfigurationAccess;)V // method@02e0 │ │ -0196b0: 5450 dd00 |003e: iget-object v0, v5, Ldnsfilter/android/DNSProxyActivity$5;.this$0:Ldnsfilter/android/DNSProxyActivity; // field@00dd │ │ -0196b4: 7110 dc02 0000 |0040: invoke-static {v0}, Ldnsfilter/android/DNSProxyActivity;.access$400:(Ldnsfilter/android/DNSProxyActivity;)V // method@02dc │ │ -0196ba: 2825 |0043: goto 0068 // +0025 │ │ -0196bc: 0d00 |0044: move-exception v0 │ │ -0196be: 7100 2507 0000 |0045: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0725 │ │ -0196c4: 0c01 |0048: move-result-object v1 │ │ -0196c6: 2202 2d01 |0049: new-instance v2, Ljava/lang/StringBuilder; // type@012d │ │ -0196ca: 1a03 3a04 |004b: const-string v3, "Remote connect failed!" // string@043a │ │ -0196ce: 7020 a805 3200 |004d: invoke-direct {v2, v3}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05a8 │ │ -0196d4: 6e10 2405 0000 |0050: invoke-virtual {v0}, Ljava/io/IOException;.toString:()Ljava/lang/String; // method@0524 │ │ -0196da: 0c00 |0053: move-result-object v0 │ │ -0196dc: 6e20 ad05 0200 |0054: invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -0196e2: 6e10 af05 0200 |0057: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ -0196e8: 0c00 |005a: move-result-object v0 │ │ -0196ea: 7220 3107 0100 |005b: invoke-interface {v1, v0}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0731 │ │ -0196f0: 5450 dd00 |005e: iget-object v0, v5, Ldnsfilter/android/DNSProxyActivity$5;.this$0:Ldnsfilter/android/DNSProxyActivity; // field@00dd │ │ -0196f4: 1a01 2c04 |0060: const-string v1, "Remote Connect Failed!" // string@042c │ │ -0196f8: 6e20 0903 1000 |0062: invoke-virtual {v0, v1}, Ldnsfilter/android/DNSProxyActivity;.message:(Ljava/lang/String;)V // method@0309 │ │ -0196fe: 1200 |0065: const/4 v0, #int 0 // #0 │ │ -019700: 6a00 3801 |0066: sput-boolean v0, Ldnsfilter/android/DNSProxyActivity;.switchingConfig:Z // field@0138 │ │ -019704: 0e00 |0068: return-void │ │ +019620: |[019620] dnsfilter.android.DNSProxyActivity$5.run:()V │ │ +019630: 5450 dd00 |0000: iget-object v0, v5, Ldnsfilter/android/DNSProxyActivity$5;.this$0:Ldnsfilter/android/DNSProxyActivity; // field@00dd │ │ +019634: 2201 2d01 |0002: new-instance v1, Ljava/lang/StringBuilder; // type@012d │ │ +019638: 1a02 0c01 |0004: const-string v2, "Connecting: " // string@010c │ │ +01963c: 7020 a805 2100 |0006: invoke-direct {v1, v2}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05a8 │ │ +019642: 5452 de00 |0009: iget-object v2, v5, Ldnsfilter/android/DNSProxyActivity$5;.val$host:Ljava/lang/String; // field@00de │ │ +019646: 6e20 ad05 2100 |000b: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +01964c: 1a02 8100 |000e: const-string v2, ":" // string@0081 │ │ +019650: 6e20 ad05 2100 |0010: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +019656: 5252 e000 |0013: iget v2, v5, Ldnsfilter/android/DNSProxyActivity$5;.val$port:I // field@00e0 │ │ +01965a: 6e20 aa05 2100 |0015: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@05aa │ │ +019660: 6e10 af05 0100 |0018: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ +019666: 0c01 |001b: move-result-object v1 │ │ +019668: 6e20 0903 1000 |001c: invoke-virtual {v0, v1}, Ldnsfilter/android/DNSProxyActivity;.message:(Ljava/lang/String;)V // method@0309 │ │ +01966e: 7100 df02 0000 |001f: invoke-static {}, Ldnsfilter/android/DNSProxyActivity;.access$700:()Ldnsfilter/android/DNSProxyActivity$MsgTimeoutListener; // method@02df │ │ +019674: 0c00 |0022: move-result-object v0 │ │ +019676: 1401 f049 0200 |0023: const v1, #float 2.10195e-40 // #000249f0 │ │ +01967c: 7120 cf02 1000 |0026: invoke-static {v0, v1}, Ldnsfilter/android/DNSProxyActivity$MsgTimeoutListener;.access$800:(Ldnsfilter/android/DNSProxyActivity$MsgTimeoutListener;I)V // method@02cf │ │ +019682: 5450 dd00 |0029: iget-object v0, v5, Ldnsfilter/android/DNSProxyActivity$5;.this$0:Ldnsfilter/android/DNSProxyActivity; // field@00dd │ │ +019686: 6201 2401 |002b: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.myLogger:Lutil/SuppressRepeatingsLogger; // field@0124 │ │ +01968a: 6e10 7507 0100 |002d: invoke-virtual {v1}, Lutil/SuppressRepeatingsLogger;.getNestedLogger:()Lutil/LoggerInterface; // method@0775 │ │ +019690: 0c01 |0030: move-result-object v1 │ │ +019692: 5452 de00 |0031: iget-object v2, v5, Ldnsfilter/android/DNSProxyActivity$5;.val$host:Ljava/lang/String; // field@00de │ │ +019696: 5253 e000 |0033: iget v3, v5, Ldnsfilter/android/DNSProxyActivity$5;.val$port:I // field@00e0 │ │ +01969a: 5454 df00 |0035: iget-object v4, v5, Ldnsfilter/android/DNSProxyActivity$5;.val$keyphrase:Ljava/lang/String; // field@00df │ │ +01969e: 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 │ │ +0196a4: 0c01 |003a: move-result-object v1 │ │ +0196a6: 7120 e002 1000 |003b: invoke-static {v0, v1}, Ldnsfilter/android/DNSProxyActivity;.access$900:(Ldnsfilter/android/DNSProxyActivity;Ldnsfilter/ConfigurationAccess;)V // method@02e0 │ │ +0196ac: 5450 dd00 |003e: iget-object v0, v5, Ldnsfilter/android/DNSProxyActivity$5;.this$0:Ldnsfilter/android/DNSProxyActivity; // field@00dd │ │ +0196b0: 7110 dc02 0000 |0040: invoke-static {v0}, Ldnsfilter/android/DNSProxyActivity;.access$400:(Ldnsfilter/android/DNSProxyActivity;)V // method@02dc │ │ +0196b6: 2825 |0043: goto 0068 // +0025 │ │ +0196b8: 0d00 |0044: move-exception v0 │ │ +0196ba: 7100 2507 0000 |0045: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0725 │ │ +0196c0: 0c01 |0048: move-result-object v1 │ │ +0196c2: 2202 2d01 |0049: new-instance v2, Ljava/lang/StringBuilder; // type@012d │ │ +0196c6: 1a03 3a04 |004b: const-string v3, "Remote connect failed!" // string@043a │ │ +0196ca: 7020 a805 3200 |004d: invoke-direct {v2, v3}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05a8 │ │ +0196d0: 6e10 2405 0000 |0050: invoke-virtual {v0}, Ljava/io/IOException;.toString:()Ljava/lang/String; // method@0524 │ │ +0196d6: 0c00 |0053: move-result-object v0 │ │ +0196d8: 6e20 ad05 0200 |0054: invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +0196de: 6e10 af05 0200 |0057: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ +0196e4: 0c00 |005a: move-result-object v0 │ │ +0196e6: 7220 3107 0100 |005b: invoke-interface {v1, v0}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0731 │ │ +0196ec: 5450 dd00 |005e: iget-object v0, v5, Ldnsfilter/android/DNSProxyActivity$5;.this$0:Ldnsfilter/android/DNSProxyActivity; // field@00dd │ │ +0196f0: 1a01 2c04 |0060: const-string v1, "Remote Connect Failed!" // string@042c │ │ +0196f4: 6e20 0903 1000 |0062: invoke-virtual {v0, v1}, Ldnsfilter/android/DNSProxyActivity;.message:(Ljava/lang/String;)V // method@0309 │ │ +0196fa: 1200 |0065: const/4 v0, #int 0 // #0 │ │ +0196fc: 6a00 3801 |0066: sput-boolean v0, Ldnsfilter/android/DNSProxyActivity;.switchingConfig:Z // field@0138 │ │ +019700: 0e00 |0068: return-void │ │ catches : 1 │ │ 0x0029 - 0x0043 │ │ Ljava/io/IOException; -> 0x0044 │ │ positions : │ │ 0x0000 line=1321 │ │ 0x001f line=1322 │ │ 0x0029 line=1325 │ │ @@ -15500,20 +15500,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 │ │ -019718: |[019718] dnsfilter.android.DNSProxyActivity$6.:(Ldnsfilter/android/DNSProxyActivity;ILandroid/text/Spanned;)V │ │ -019728: 5b01 e100 |0000: iput-object v1, v0, Ldnsfilter/android/DNSProxyActivity$6;.this$0:Ldnsfilter/android/DNSProxyActivity; // field@00e1 │ │ -01972c: 5902 e200 |0002: iput v2, v0, Ldnsfilter/android/DNSProxyActivity$6;.val$backgroundColor:I // field@00e2 │ │ -019730: 5b03 e300 |0004: iput-object v3, v0, Ldnsfilter/android/DNSProxyActivity$6;.val$msg:Landroid/text/Spanned; // field@00e3 │ │ -019734: 7010 7305 0000 |0006: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@0573 │ │ -01973a: 0e00 |0009: return-void │ │ +019714: |[019714] dnsfilter.android.DNSProxyActivity$6.:(Ldnsfilter/android/DNSProxyActivity;ILandroid/text/Spanned;)V │ │ +019724: 5b01 e100 |0000: iput-object v1, v0, Ldnsfilter/android/DNSProxyActivity$6;.this$0:Ldnsfilter/android/DNSProxyActivity; // field@00e1 │ │ +019728: 5902 e200 |0002: iput v2, v0, Ldnsfilter/android/DNSProxyActivity$6;.val$backgroundColor:I // field@00e2 │ │ +01972c: 5b03 e300 |0004: iput-object v3, v0, Ldnsfilter/android/DNSProxyActivity$6;.val$msg:Landroid/text/Spanned; // field@00e3 │ │ +019730: 7010 7305 0000 |0006: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@0573 │ │ +019736: 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 │ │ @@ -15525,24 +15525,24 @@ │ │ type : '()V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 3 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 18 16-bit code units │ │ -01973c: |[01973c] dnsfilter.android.DNSProxyActivity$6.run:()V │ │ -01974c: 6200 1d01 |0000: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.link_field:Landroid/widget/TextView; // field@011d │ │ -019750: 5221 e200 |0002: iget v1, v2, Ldnsfilter/android/DNSProxyActivity$6;.val$backgroundColor:I // field@00e2 │ │ -019754: 6e20 0501 1000 |0004: invoke-virtual {v0, v1}, Landroid/widget/TextView;.setBackgroundColor:(I)V // method@0105 │ │ -01975a: 6200 1d01 |0007: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.link_field:Landroid/widget/TextView; // field@011d │ │ -01975e: 5421 e300 |0009: iget-object v1, v2, Ldnsfilter/android/DNSProxyActivity$6;.val$msg:Landroid/text/Spanned; // field@00e3 │ │ -019762: 6e20 0901 1000 |000b: invoke-virtual {v0, v1}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@0109 │ │ -019768: 1210 |000e: const/4 v0, #int 1 // #1 │ │ -01976a: 6a00 f500 |000f: sput-boolean v0, Ldnsfilter/android/DNSProxyActivity;.MSG_ACTIVE:Z // field@00f5 │ │ -01976e: 0e00 |0011: return-void │ │ +019738: |[019738] dnsfilter.android.DNSProxyActivity$6.run:()V │ │ +019748: 6200 1d01 |0000: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.link_field:Landroid/widget/TextView; // field@011d │ │ +01974c: 5221 e200 |0002: iget v1, v2, Ldnsfilter/android/DNSProxyActivity$6;.val$backgroundColor:I // field@00e2 │ │ +019750: 6e20 0501 1000 |0004: invoke-virtual {v0, v1}, Landroid/widget/TextView;.setBackgroundColor:(I)V // method@0105 │ │ +019756: 6200 1d01 |0007: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.link_field:Landroid/widget/TextView; // field@011d │ │ +01975a: 5421 e300 |0009: iget-object v1, v2, Ldnsfilter/android/DNSProxyActivity$6;.val$msg:Landroid/text/Spanned; // field@00e3 │ │ +01975e: 6e20 0901 1000 |000b: invoke-virtual {v0, v1}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@0109 │ │ +019764: 1210 |000e: const/4 v0, #int 1 // #1 │ │ +019766: 6a00 f500 |000f: sput-boolean v0, Ldnsfilter/android/DNSProxyActivity;.MSG_ACTIVE:Z // field@00f5 │ │ +01976a: 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; │ │ @@ -15582,18 +15582,18 @@ │ │ type : '(Ldnsfilter/android/DNSProxyActivity$7;)V' │ │ access : 0x10000 (CONSTRUCTOR) │ │ code - │ │ registers : 2 │ │ ins : 2 │ │ outs : 1 │ │ insns size : 6 16-bit code units │ │ -019770: |[019770] dnsfilter.android.DNSProxyActivity$7$1.:(Ldnsfilter/android/DNSProxyActivity$7;)V │ │ -019780: 5b01 e400 |0000: iput-object v1, v0, Ldnsfilter/android/DNSProxyActivity$7$1;.this$1:Ldnsfilter/android/DNSProxyActivity$7; // field@00e4 │ │ -019784: 7010 7305 0000 |0002: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@0573 │ │ -01978a: 0e00 |0005: return-void │ │ +01976c: |[01976c] dnsfilter.android.DNSProxyActivity$7$1.:(Ldnsfilter/android/DNSProxyActivity$7;)V │ │ +01977c: 5b01 e400 |0000: iput-object v1, v0, Ldnsfilter/android/DNSProxyActivity$7$1;.this$1:Ldnsfilter/android/DNSProxyActivity$7; // field@00e4 │ │ +019780: 7010 7305 0000 |0002: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@0573 │ │ +019786: 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; │ │ │ │ @@ -15603,34 +15603,34 @@ │ │ type : '()V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 3 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 37 16-bit code units │ │ -01978c: |[01978c] dnsfilter.android.DNSProxyActivity$7$1.run:()V │ │ -01979c: 5420 e400 |0000: iget-object v0, v2, Ldnsfilter/android/DNSProxyActivity$7$1;.this$1:Ldnsfilter/android/DNSProxyActivity$7; // field@00e4 │ │ -0197a0: 5400 e500 |0002: iget-object v0, v0, Ldnsfilter/android/DNSProxyActivity$7;.this$0:Ldnsfilter/android/DNSProxyActivity; // field@00e5 │ │ -0197a4: 1211 |0004: const/4 v1, #int 1 // #1 │ │ -0197a6: 7120 da02 1000 |0005: invoke-static {v0, v1}, Ldnsfilter/android/DNSProxyActivity;.access$1000:(Ldnsfilter/android/DNSProxyActivity;Z)Ljava/lang/String; // method@02da │ │ -0197ac: 0c00 |0008: move-result-object v0 │ │ -0197ae: 6001 f700 |0009: sget v1, Ldnsfilter/android/DNSProxyActivity;.NO_ACTION_MENU:I // field@00f7 │ │ -0197b2: 3a01 1900 |000b: if-ltz v1, 0024 // +0019 │ │ -0197b6: 1a01 0000 |000d: const-string v1, "" // string@0000 │ │ -0197ba: 6e20 8b05 1000 |000f: invoke-virtual {v0, v1}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058b │ │ -0197c0: 0a00 |0012: move-result v0 │ │ -0197c2: 3900 1100 |0013: if-nez v0, 0024 // +0011 │ │ -0197c6: 5420 e400 |0015: iget-object v0, v2, Ldnsfilter/android/DNSProxyActivity$7$1;.this$1:Ldnsfilter/android/DNSProxyActivity$7; // field@00e4 │ │ -0197ca: 5400 e500 |0017: iget-object v0, v0, Ldnsfilter/android/DNSProxyActivity$7;.this$0:Ldnsfilter/android/DNSProxyActivity; // field@00e5 │ │ -0197ce: 1401 1900 057f |0019: const v1, #float 1.76788e+38 // #7f050019 │ │ -0197d4: 6e20 ef02 1000 |001c: invoke-virtual {v0, v1}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02ef │ │ -0197da: 0c00 |001f: move-result-object v0 │ │ -0197dc: 1201 |0020: const/4 v1, #int 0 // #0 │ │ -0197de: 6e20 b400 1000 |0021: invoke-virtual {v0, v1}, Landroid/view/View;.setVisibility:(I)V // method@00b4 │ │ -0197e4: 0e00 |0024: return-void │ │ +019788: |[019788] dnsfilter.android.DNSProxyActivity$7$1.run:()V │ │ +019798: 5420 e400 |0000: iget-object v0, v2, Ldnsfilter/android/DNSProxyActivity$7$1;.this$1:Ldnsfilter/android/DNSProxyActivity$7; // field@00e4 │ │ +01979c: 5400 e500 |0002: iget-object v0, v0, Ldnsfilter/android/DNSProxyActivity$7;.this$0:Ldnsfilter/android/DNSProxyActivity; // field@00e5 │ │ +0197a0: 1211 |0004: const/4 v1, #int 1 // #1 │ │ +0197a2: 7120 da02 1000 |0005: invoke-static {v0, v1}, Ldnsfilter/android/DNSProxyActivity;.access$1000:(Ldnsfilter/android/DNSProxyActivity;Z)Ljava/lang/String; // method@02da │ │ +0197a8: 0c00 |0008: move-result-object v0 │ │ +0197aa: 6001 f700 |0009: sget v1, Ldnsfilter/android/DNSProxyActivity;.NO_ACTION_MENU:I // field@00f7 │ │ +0197ae: 3a01 1900 |000b: if-ltz v1, 0024 // +0019 │ │ +0197b2: 1a01 0000 |000d: const-string v1, "" // string@0000 │ │ +0197b6: 6e20 8b05 1000 |000f: invoke-virtual {v0, v1}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058b │ │ +0197bc: 0a00 |0012: move-result v0 │ │ +0197be: 3900 1100 |0013: if-nez v0, 0024 // +0011 │ │ +0197c2: 5420 e400 |0015: iget-object v0, v2, Ldnsfilter/android/DNSProxyActivity$7$1;.this$1:Ldnsfilter/android/DNSProxyActivity$7; // field@00e4 │ │ +0197c6: 5400 e500 |0017: iget-object v0, v0, Ldnsfilter/android/DNSProxyActivity$7;.this$0:Ldnsfilter/android/DNSProxyActivity; // field@00e5 │ │ +0197ca: 1401 1900 057f |0019: const v1, #float 1.76788e+38 // #7f050019 │ │ +0197d0: 6e20 ef02 1000 |001c: invoke-virtual {v0, v1}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02ef │ │ +0197d6: 0c00 |001f: move-result-object v0 │ │ +0197d8: 1201 |0020: const/4 v1, #int 0 // #0 │ │ +0197da: 6e20 b400 1000 |0021: invoke-virtual {v0, v1}, Landroid/view/View;.setVisibility:(I)V // method@00b4 │ │ +0197e0: 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; │ │ @@ -15670,18 +15670,18 @@ │ │ type : '(Ldnsfilter/android/DNSProxyActivity;)V' │ │ access : 0x10000 (CONSTRUCTOR) │ │ code - │ │ registers : 2 │ │ ins : 2 │ │ outs : 1 │ │ insns size : 6 16-bit code units │ │ -0197e8: |[0197e8] dnsfilter.android.DNSProxyActivity$7.:(Ldnsfilter/android/DNSProxyActivity;)V │ │ -0197f8: 5b01 e500 |0000: iput-object v1, v0, Ldnsfilter/android/DNSProxyActivity$7;.this$0:Ldnsfilter/android/DNSProxyActivity; // field@00e5 │ │ -0197fc: 7010 7305 0000 |0002: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@0573 │ │ -019802: 0e00 |0005: return-void │ │ +0197e4: |[0197e4] dnsfilter.android.DNSProxyActivity$7.:(Ldnsfilter/android/DNSProxyActivity;)V │ │ +0197f4: 5b01 e500 |0000: iput-object v1, v0, Ldnsfilter/android/DNSProxyActivity$7;.this$0:Ldnsfilter/android/DNSProxyActivity; // field@00e5 │ │ +0197f8: 7010 7305 0000 |0002: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@0573 │ │ +0197fe: 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; │ │ │ │ @@ -15691,31 +15691,31 @@ │ │ type : '()V' │ │ access : 0x20001 (PUBLIC DECLARED_SYNCHRONIZED) │ │ code - │ │ registers : 3 │ │ ins : 1 │ │ outs : 3 │ │ insns size : 27 16-bit code units │ │ -019804: |[019804] dnsfilter.android.DNSProxyActivity$7.run:()V │ │ -019814: 1d02 |0000: monitor-enter v2 │ │ -019816: 1600 e803 |0001: const-wide/16 v0, #int 1000 // #3e8 │ │ -01981a: 6e30 7a05 0201 |0003: invoke-virtual {v2, v0, v1}, Ljava/lang/Object;.wait:(J)V // method@057a │ │ -019820: 2807 |0006: goto 000d // +0007 │ │ -019822: 0d00 |0007: move-exception v0 │ │ -019824: 2811 |0008: goto 0019 // +0011 │ │ -019826: 0d00 |0009: move-exception v0 │ │ -019828: 6e10 6905 0000 |000a: invoke-virtual {v0}, Ljava/lang/InterruptedException;.printStackTrace:()V // method@0569 │ │ -01982e: 2200 ac00 |000d: new-instance v0, Ldnsfilter/android/DNSProxyActivity$7$1; // type@00ac │ │ -019832: 7020 c902 2000 |000f: invoke-direct {v0, v2}, Ldnsfilter/android/DNSProxyActivity$7$1;.:(Ldnsfilter/android/DNSProxyActivity$7;)V // method@02c9 │ │ -019838: 5421 e500 |0012: iget-object v1, v2, Ldnsfilter/android/DNSProxyActivity$7;.this$0:Ldnsfilter/android/DNSProxyActivity; // field@00e5 │ │ -01983c: 6e20 2a03 0100 |0014: invoke-virtual {v1, v0}, Ldnsfilter/android/DNSProxyActivity;.runOnUiThread:(Ljava/lang/Runnable;)V // method@032a │ │ -019842: 1e02 |0017: monitor-exit v2 │ │ -019844: 0e00 |0018: return-void │ │ -019846: 1e02 |0019: monitor-exit v2 │ │ -019848: 2700 |001a: throw v0 │ │ +019800: |[019800] dnsfilter.android.DNSProxyActivity$7.run:()V │ │ +019810: 1d02 |0000: monitor-enter v2 │ │ +019812: 1600 e803 |0001: const-wide/16 v0, #int 1000 // #3e8 │ │ +019816: 6e30 7a05 0201 |0003: invoke-virtual {v2, v0, v1}, Ljava/lang/Object;.wait:(J)V // method@057a │ │ +01981c: 2807 |0006: goto 000d // +0007 │ │ +01981e: 0d00 |0007: move-exception v0 │ │ +019820: 2811 |0008: goto 0019 // +0011 │ │ +019822: 0d00 |0009: move-exception v0 │ │ +019824: 6e10 6905 0000 |000a: invoke-virtual {v0}, Ljava/lang/InterruptedException;.printStackTrace:()V // method@0569 │ │ +01982a: 2200 ac00 |000d: new-instance v0, Ldnsfilter/android/DNSProxyActivity$7$1; // type@00ac │ │ +01982e: 7020 c902 2000 |000f: invoke-direct {v0, v2}, Ldnsfilter/android/DNSProxyActivity$7$1;.:(Ldnsfilter/android/DNSProxyActivity$7;)V // method@02c9 │ │ +019834: 5421 e500 |0012: iget-object v1, v2, Ldnsfilter/android/DNSProxyActivity$7;.this$0:Ldnsfilter/android/DNSProxyActivity; // field@00e5 │ │ +019838: 6e20 2a03 0100 |0014: invoke-virtual {v1, v0}, Ldnsfilter/android/DNSProxyActivity;.runOnUiThread:(Ljava/lang/Runnable;)V // method@032a │ │ +01983e: 1e02 |0017: monitor-exit v2 │ │ +019840: 0e00 |0018: return-void │ │ +019842: 1e02 |0019: monitor-exit v2 │ │ +019844: 2700 |001a: throw v0 │ │ catches : 2 │ │ 0x0003 - 0x0006 │ │ Ljava/lang/InterruptedException; -> 0x0009 │ │ -> 0x0007 │ │ 0x000a - 0x0017 │ │ -> 0x0007 │ │ positions : │ │ @@ -15766,19 +15766,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 │ │ -0199b4: |[0199b4] dnsfilter.android.DNSProxyActivity$MyUIThreadLogger.:(Ldnsfilter/android/DNSProxyActivity;Ljava/lang/String;)V │ │ -0199c4: 5b01 e900 |0000: iput-object v1, v0, Ldnsfilter/android/DNSProxyActivity$MyUIThreadLogger;.this$0:Ldnsfilter/android/DNSProxyActivity; // field@00e9 │ │ -0199c8: 7010 7305 0000 |0002: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@0573 │ │ -0199ce: 5b02 e800 |0005: iput-object v2, v0, Ldnsfilter/android/DNSProxyActivity$MyUIThreadLogger;.m_logStr:Ljava/lang/String; // field@00e8 │ │ -0199d2: 0e00 |0007: return-void │ │ +0199b0: |[0199b0] dnsfilter.android.DNSProxyActivity$MyUIThreadLogger.:(Ldnsfilter/android/DNSProxyActivity;Ljava/lang/String;)V │ │ +0199c0: 5b01 e900 |0000: iput-object v1, v0, Ldnsfilter/android/DNSProxyActivity$MyUIThreadLogger;.this$0:Ldnsfilter/android/DNSProxyActivity; // field@00e9 │ │ +0199c4: 7010 7305 0000 |0002: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@0573 │ │ +0199ca: 5b02 e800 |0005: iput-object v2, v0, Ldnsfilter/android/DNSProxyActivity$MyUIThreadLogger;.m_logStr:Ljava/lang/String; // field@00e8 │ │ +0199ce: 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; │ │ @@ -15790,134 +15790,134 @@ │ │ type : '()V' │ │ access : 0x20001 (PUBLIC DECLARED_SYNCHRONIZED) │ │ code - │ │ registers : 7 │ │ ins : 1 │ │ outs : 3 │ │ insns size : 244 16-bit code units │ │ -0199d4: |[0199d4] dnsfilter.android.DNSProxyActivity$MyUIThreadLogger.run:()V │ │ -0199e4: 1d06 |0000: monitor-enter v6 │ │ -0199e6: 6300 3301 |0001: sget-boolean v0, Ldnsfilter/android/DNSProxyActivity;.scroll_locked:Z // field@0133 │ │ -0199ea: 3900 7d00 |0003: if-nez v0, 0080 // +007d │ │ -0199ee: 5460 e800 |0005: iget-object v0, v6, Ldnsfilter/android/DNSProxyActivity$MyUIThreadLogger;.m_logStr:Ljava/lang/String; // field@00e8 │ │ -0199f2: 1a01 9c01 |0007: const-string v1, "FILTERED:" // string@019c │ │ -0199f6: 6202 f300 |0009: sget-object v2, Ldnsfilter/android/DNSProxyActivity;.IN_FILTER_PREF:Ljava/lang/String; // field@00f3 │ │ -0199fa: 6e30 9505 1002 |000b: invoke-virtual {v0, v1, v2}, Ljava/lang/String;.replace:(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String; // method@0595 │ │ -019a00: 0c00 |000e: move-result-object v0 │ │ -019a02: 5b60 e800 |000f: iput-object v0, v6, Ldnsfilter/android/DNSProxyActivity$MyUIThreadLogger;.m_logStr:Ljava/lang/String; // field@00e8 │ │ -019a06: 1a01 ad00 |0011: const-string v1, "ALLOWED:" // string@00ad │ │ -019a0a: 6202 f800 |0013: sget-object v2, Ldnsfilter/android/DNSProxyActivity;.NO_FILTER_PREF:Ljava/lang/String; // field@00f8 │ │ -019a0e: 6e30 9505 1002 |0015: invoke-virtual {v0, v1, v2}, Ljava/lang/String;.replace:(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String; // method@0595 │ │ -019a14: 0c00 |0018: move-result-object v0 │ │ -019a16: 5b60 e800 |0019: iput-object v0, v6, Ldnsfilter/android/DNSProxyActivity$MyUIThreadLogger;.m_logStr:Ljava/lang/String; // field@00e8 │ │ -019a1a: 1a01 cf03 |001b: const-string v1, "MAPPED_CUSTOM_IP:" // string@03cf │ │ -019a1e: 6202 f400 |001d: sget-object v2, Ldnsfilter/android/DNSProxyActivity;.IP_FORWARD_PREF:Ljava/lang/String; // field@00f4 │ │ -019a22: 6e30 9505 1002 |001f: invoke-virtual {v0, v1, v2}, Ljava/lang/String;.replace:(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String; // method@0595 │ │ -019a28: 0c00 |0022: move-result-object v0 │ │ -019a2a: 5b60 e800 |0023: iput-object v0, v6, Ldnsfilter/android/DNSProxyActivity$MyUIThreadLogger;.m_logStr:Ljava/lang/String; // field@00e8 │ │ -019a2e: 5461 e900 |0025: iget-object v1, v6, Ldnsfilter/android/DNSProxyActivity$MyUIThreadLogger;.this$0:Ldnsfilter/android/DNSProxyActivity; // field@00e9 │ │ -019a32: 7120 db02 0100 |0027: invoke-static {v1, v0}, Ldnsfilter/android/DNSProxyActivity;.access$300:(Ldnsfilter/android/DNSProxyActivity;Ljava/lang/String;)V // method@02db │ │ -019a38: 6200 2001 |002a: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.logOutView:Landroid/widget/EditText; // field@0120 │ │ -019a3c: 6e10 da00 0000 |002c: invoke-virtual {v0}, Landroid/widget/EditText;.getText:()Landroid/text/Editable; // method@00da │ │ -019a42: 0c00 |002f: move-result-object v0 │ │ -019a44: 7210 9900 0000 |0030: invoke-interface {v0}, Landroid/text/Editable;.length:()I // method@0099 │ │ -019a4a: 0a00 |0033: move-result v0 │ │ -019a4c: 1301 1027 |0034: const/16 v1, #int 10000 // #2710 │ │ -019a50: 3410 2a00 |0036: if-lt v0, v1, 0060 // +002a │ │ -019a54: 6201 2001 |0038: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.logOutView:Landroid/widget/EditText; // field@0120 │ │ -019a58: 6e10 da00 0100 |003a: invoke-virtual {v1}, Landroid/widget/EditText;.getText:()Landroid/text/Editable; // method@00da │ │ -019a5e: 0c01 |003d: move-result-object v1 │ │ -019a60: db00 0002 |003e: div-int/lit8 v0, v0, #int 2 // #02 │ │ -019a64: 7220 9c00 0100 |0040: invoke-interface {v1, v0}, Landroid/text/Spannable;.charAt:(I)C // method@009c │ │ -019a6a: 0a02 |0043: move-result v2 │ │ -019a6c: 1303 0a00 |0044: const/16 v3, #int 10 // #a │ │ -019a70: 3232 0d00 |0046: if-eq v2, v3, 0053 // +000d │ │ -019a74: 7210 9d00 0100 |0048: invoke-interface {v1}, Landroid/text/Spannable;.length:()I // method@009d │ │ -019a7a: 0a02 |004b: move-result v2 │ │ -019a7c: d802 02ff |004c: add-int/lit8 v2, v2, #int -1 // #ff │ │ -019a80: 3520 0500 |004e: if-ge v0, v2, 0053 // +0005 │ │ -019a84: d800 0001 |0050: add-int/lit8 v0, v0, #int 1 // #01 │ │ -019a88: 28ee |0052: goto 0040 // -0012 │ │ -019a8a: 6202 2001 |0053: sget-object v2, Ldnsfilter/android/DNSProxyActivity;.logOutView:Landroid/widget/EditText; // field@0120 │ │ -019a8e: 7210 9d00 0100 |0055: invoke-interface {v1}, Landroid/text/Spannable;.length:()I // method@009d │ │ -019a94: 0a03 |0058: move-result v3 │ │ -019a96: 7230 9e00 0103 |0059: invoke-interface {v1, v0, v3}, Landroid/text/Spannable;.subSequence:(II)Ljava/lang/CharSequence; // method@009e │ │ -019a9c: 0c00 |005c: move-result-object v0 │ │ -019a9e: 6e20 e600 0200 |005d: invoke-virtual {v2, v0}, Landroid/widget/EditText;.setText:(Ljava/lang/CharSequence;)V // method@00e6 │ │ -019aa4: 6200 0301 |0060: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.advancedConfigCheck:Landroid/widget/CheckBox; // field@0103 │ │ -019aa8: 6e10 cc00 0000 |0062: invoke-virtual {v0}, Landroid/widget/CheckBox;.isChecked:()Z // method@00cc │ │ -019aae: 0a00 |0065: move-result v0 │ │ -019ab0: 3900 1a00 |0066: if-nez v0, 0080 // +001a │ │ -019ab4: 6200 2001 |0068: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.logOutView:Landroid/widget/EditText; // field@0120 │ │ -019ab8: 6201 2001 |006a: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.logOutView:Landroid/widget/EditText; // field@0120 │ │ -019abc: 6e10 da00 0100 |006c: invoke-virtual {v1}, Landroid/widget/EditText;.getText:()Landroid/text/Editable; // method@00da │ │ -019ac2: 0c01 |006f: move-result-object v1 │ │ -019ac4: 7210 9900 0100 |0070: invoke-interface {v1}, Landroid/text/Editable;.length:()I // method@0099 │ │ -019aca: 0a01 |0073: move-result v1 │ │ -019acc: 6e20 e400 1000 |0074: invoke-virtual {v0, v1}, Landroid/widget/EditText;.setSelection:(I)V // method@00e4 │ │ -019ad2: 5460 e900 |0077: iget-object v0, v6, Ldnsfilter/android/DNSProxyActivity$MyUIThreadLogger;.this$0:Ldnsfilter/android/DNSProxyActivity; // field@00e9 │ │ -019ad6: 5400 3201 |0079: iget-object v0, v0, Ldnsfilter/android/DNSProxyActivity;.scrollView:Landroid/widget/ScrollView; // field@0132 │ │ -019ada: 1301 8200 |007b: const/16 v1, #int 130 // #82 │ │ -019ade: 6e20 f400 1000 |007d: invoke-virtual {v0, v1}, Landroid/widget/ScrollView;.fullScroll:(I)Z // method@00f4 │ │ -019ae4: 1a00 9d00 |0080: const-string v0, "" // string@009d │ │ -019ae8: 1a01 5800 |0082: const-string v1, "-1" // string@0058 │ │ -019aec: 1a02 9d00 |0084: const-string v2, "" // string@009d │ │ -019af0: 6203 ed00 |0086: sget-object v3, Ldnsfilter/android/DNSProxyActivity;.CONFIG:Ldnsfilter/ConfigurationAccess; // field@00ed │ │ -019af4: 6e10 5501 0300 |0088: invoke-virtual {v3}, Ldnsfilter/ConfigurationAccess;.getVersion:()Ljava/lang/String; // method@0155 │ │ -019afa: 0c00 |008b: move-result-object v0 │ │ -019afc: 2203 2d01 |008c: new-instance v3, Ljava/lang/StringBuilder; // type@012d │ │ -019b00: 7010 a705 0300 |008e: invoke-direct {v3}, Ljava/lang/StringBuilder;.:()V // method@05a7 │ │ -019b06: 6204 ed00 |0091: sget-object v4, Ldnsfilter/android/DNSProxyActivity;.CONFIG:Ldnsfilter/ConfigurationAccess; // field@00ed │ │ -019b0a: 6e10 5801 0400 |0093: invoke-virtual {v4}, Ldnsfilter/ConfigurationAccess;.openConnectionsCount:()I // method@0158 │ │ -019b10: 0a04 |0096: move-result v4 │ │ -019b12: 6e20 aa05 4300 |0097: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@05aa │ │ -019b18: 1a04 0000 |009a: const-string v4, "" // string@0000 │ │ -019b1c: 6e20 ad05 4300 |009c: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -019b22: 6e10 af05 0300 |009f: invoke-virtual {v3}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ -019b28: 0c01 |00a2: move-result-object v1 │ │ -019b2a: 6203 ed00 |00a3: sget-object v3, Ldnsfilter/android/DNSProxyActivity;.CONFIG:Ldnsfilter/ConfigurationAccess; // field@00ed │ │ -019b2e: 6e10 5201 0300 |00a5: invoke-virtual {v3}, Ldnsfilter/ConfigurationAccess;.getLastDNSAddress:()Ljava/lang/String; // method@0152 │ │ -019b34: 0c02 |00a8: move-result-object v2 │ │ -019b36: 281c |00a9: goto 00c5 // +001c │ │ -019b38: 0d03 |00aa: move-exception v3 │ │ -019b3a: 5464 e900 |00ab: iget-object v4, v6, Ldnsfilter/android/DNSProxyActivity$MyUIThreadLogger;.this$0:Ldnsfilter/android/DNSProxyActivity; // field@00e9 │ │ -019b3e: 2205 2d01 |00ad: new-instance v5, Ljava/lang/StringBuilder; // type@012d │ │ -019b42: 7010 a705 0500 |00af: invoke-direct {v5}, Ljava/lang/StringBuilder;.:()V // method@05a7 │ │ -019b48: 6e10 2405 0300 |00b2: invoke-virtual {v3}, Ljava/io/IOException;.toString:()Ljava/lang/String; // method@0524 │ │ -019b4e: 0c03 |00b5: move-result-object v3 │ │ -019b50: 6e20 ad05 3500 |00b6: invoke-virtual {v5, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -019b56: 1a03 0200 |00b9: const-string v3, " │ │ +0199d0: |[0199d0] dnsfilter.android.DNSProxyActivity$MyUIThreadLogger.run:()V │ │ +0199e0: 1d06 |0000: monitor-enter v6 │ │ +0199e2: 6300 3301 |0001: sget-boolean v0, Ldnsfilter/android/DNSProxyActivity;.scroll_locked:Z // field@0133 │ │ +0199e6: 3900 7d00 |0003: if-nez v0, 0080 // +007d │ │ +0199ea: 5460 e800 |0005: iget-object v0, v6, Ldnsfilter/android/DNSProxyActivity$MyUIThreadLogger;.m_logStr:Ljava/lang/String; // field@00e8 │ │ +0199ee: 1a01 9c01 |0007: const-string v1, "FILTERED:" // string@019c │ │ +0199f2: 6202 f300 |0009: sget-object v2, Ldnsfilter/android/DNSProxyActivity;.IN_FILTER_PREF:Ljava/lang/String; // field@00f3 │ │ +0199f6: 6e30 9505 1002 |000b: invoke-virtual {v0, v1, v2}, Ljava/lang/String;.replace:(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String; // method@0595 │ │ +0199fc: 0c00 |000e: move-result-object v0 │ │ +0199fe: 5b60 e800 |000f: iput-object v0, v6, Ldnsfilter/android/DNSProxyActivity$MyUIThreadLogger;.m_logStr:Ljava/lang/String; // field@00e8 │ │ +019a02: 1a01 ad00 |0011: const-string v1, "ALLOWED:" // string@00ad │ │ +019a06: 6202 f800 |0013: sget-object v2, Ldnsfilter/android/DNSProxyActivity;.NO_FILTER_PREF:Ljava/lang/String; // field@00f8 │ │ +019a0a: 6e30 9505 1002 |0015: invoke-virtual {v0, v1, v2}, Ljava/lang/String;.replace:(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String; // method@0595 │ │ +019a10: 0c00 |0018: move-result-object v0 │ │ +019a12: 5b60 e800 |0019: iput-object v0, v6, Ldnsfilter/android/DNSProxyActivity$MyUIThreadLogger;.m_logStr:Ljava/lang/String; // field@00e8 │ │ +019a16: 1a01 cf03 |001b: const-string v1, "MAPPED_CUSTOM_IP:" // string@03cf │ │ +019a1a: 6202 f400 |001d: sget-object v2, Ldnsfilter/android/DNSProxyActivity;.IP_FORWARD_PREF:Ljava/lang/String; // field@00f4 │ │ +019a1e: 6e30 9505 1002 |001f: invoke-virtual {v0, v1, v2}, Ljava/lang/String;.replace:(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String; // method@0595 │ │ +019a24: 0c00 |0022: move-result-object v0 │ │ +019a26: 5b60 e800 |0023: iput-object v0, v6, Ldnsfilter/android/DNSProxyActivity$MyUIThreadLogger;.m_logStr:Ljava/lang/String; // field@00e8 │ │ +019a2a: 5461 e900 |0025: iget-object v1, v6, Ldnsfilter/android/DNSProxyActivity$MyUIThreadLogger;.this$0:Ldnsfilter/android/DNSProxyActivity; // field@00e9 │ │ +019a2e: 7120 db02 0100 |0027: invoke-static {v1, v0}, Ldnsfilter/android/DNSProxyActivity;.access$300:(Ldnsfilter/android/DNSProxyActivity;Ljava/lang/String;)V // method@02db │ │ +019a34: 6200 2001 |002a: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.logOutView:Landroid/widget/EditText; // field@0120 │ │ +019a38: 6e10 da00 0000 |002c: invoke-virtual {v0}, Landroid/widget/EditText;.getText:()Landroid/text/Editable; // method@00da │ │ +019a3e: 0c00 |002f: move-result-object v0 │ │ +019a40: 7210 9900 0000 |0030: invoke-interface {v0}, Landroid/text/Editable;.length:()I // method@0099 │ │ +019a46: 0a00 |0033: move-result v0 │ │ +019a48: 1301 1027 |0034: const/16 v1, #int 10000 // #2710 │ │ +019a4c: 3410 2a00 |0036: if-lt v0, v1, 0060 // +002a │ │ +019a50: 6201 2001 |0038: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.logOutView:Landroid/widget/EditText; // field@0120 │ │ +019a54: 6e10 da00 0100 |003a: invoke-virtual {v1}, Landroid/widget/EditText;.getText:()Landroid/text/Editable; // method@00da │ │ +019a5a: 0c01 |003d: move-result-object v1 │ │ +019a5c: db00 0002 |003e: div-int/lit8 v0, v0, #int 2 // #02 │ │ +019a60: 7220 9c00 0100 |0040: invoke-interface {v1, v0}, Landroid/text/Spannable;.charAt:(I)C // method@009c │ │ +019a66: 0a02 |0043: move-result v2 │ │ +019a68: 1303 0a00 |0044: const/16 v3, #int 10 // #a │ │ +019a6c: 3232 0d00 |0046: if-eq v2, v3, 0053 // +000d │ │ +019a70: 7210 9d00 0100 |0048: invoke-interface {v1}, Landroid/text/Spannable;.length:()I // method@009d │ │ +019a76: 0a02 |004b: move-result v2 │ │ +019a78: d802 02ff |004c: add-int/lit8 v2, v2, #int -1 // #ff │ │ +019a7c: 3520 0500 |004e: if-ge v0, v2, 0053 // +0005 │ │ +019a80: d800 0001 |0050: add-int/lit8 v0, v0, #int 1 // #01 │ │ +019a84: 28ee |0052: goto 0040 // -0012 │ │ +019a86: 6202 2001 |0053: sget-object v2, Ldnsfilter/android/DNSProxyActivity;.logOutView:Landroid/widget/EditText; // field@0120 │ │ +019a8a: 7210 9d00 0100 |0055: invoke-interface {v1}, Landroid/text/Spannable;.length:()I // method@009d │ │ +019a90: 0a03 |0058: move-result v3 │ │ +019a92: 7230 9e00 0103 |0059: invoke-interface {v1, v0, v3}, Landroid/text/Spannable;.subSequence:(II)Ljava/lang/CharSequence; // method@009e │ │ +019a98: 0c00 |005c: move-result-object v0 │ │ +019a9a: 6e20 e600 0200 |005d: invoke-virtual {v2, v0}, Landroid/widget/EditText;.setText:(Ljava/lang/CharSequence;)V // method@00e6 │ │ +019aa0: 6200 0301 |0060: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.advancedConfigCheck:Landroid/widget/CheckBox; // field@0103 │ │ +019aa4: 6e10 cc00 0000 |0062: invoke-virtual {v0}, Landroid/widget/CheckBox;.isChecked:()Z // method@00cc │ │ +019aaa: 0a00 |0065: move-result v0 │ │ +019aac: 3900 1a00 |0066: if-nez v0, 0080 // +001a │ │ +019ab0: 6200 2001 |0068: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.logOutView:Landroid/widget/EditText; // field@0120 │ │ +019ab4: 6201 2001 |006a: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.logOutView:Landroid/widget/EditText; // field@0120 │ │ +019ab8: 6e10 da00 0100 |006c: invoke-virtual {v1}, Landroid/widget/EditText;.getText:()Landroid/text/Editable; // method@00da │ │ +019abe: 0c01 |006f: move-result-object v1 │ │ +019ac0: 7210 9900 0100 |0070: invoke-interface {v1}, Landroid/text/Editable;.length:()I // method@0099 │ │ +019ac6: 0a01 |0073: move-result v1 │ │ +019ac8: 6e20 e400 1000 |0074: invoke-virtual {v0, v1}, Landroid/widget/EditText;.setSelection:(I)V // method@00e4 │ │ +019ace: 5460 e900 |0077: iget-object v0, v6, Ldnsfilter/android/DNSProxyActivity$MyUIThreadLogger;.this$0:Ldnsfilter/android/DNSProxyActivity; // field@00e9 │ │ +019ad2: 5400 3201 |0079: iget-object v0, v0, Ldnsfilter/android/DNSProxyActivity;.scrollView:Landroid/widget/ScrollView; // field@0132 │ │ +019ad6: 1301 8200 |007b: const/16 v1, #int 130 // #82 │ │ +019ada: 6e20 f400 1000 |007d: invoke-virtual {v0, v1}, Landroid/widget/ScrollView;.fullScroll:(I)Z // method@00f4 │ │ +019ae0: 1a00 9d00 |0080: const-string v0, "" // string@009d │ │ +019ae4: 1a01 5800 |0082: const-string v1, "-1" // string@0058 │ │ +019ae8: 1a02 9d00 |0084: const-string v2, "" // string@009d │ │ +019aec: 6203 ed00 |0086: sget-object v3, Ldnsfilter/android/DNSProxyActivity;.CONFIG:Ldnsfilter/ConfigurationAccess; // field@00ed │ │ +019af0: 6e10 5501 0300 |0088: invoke-virtual {v3}, Ldnsfilter/ConfigurationAccess;.getVersion:()Ljava/lang/String; // method@0155 │ │ +019af6: 0c00 |008b: move-result-object v0 │ │ +019af8: 2203 2d01 |008c: new-instance v3, Ljava/lang/StringBuilder; // type@012d │ │ +019afc: 7010 a705 0300 |008e: invoke-direct {v3}, Ljava/lang/StringBuilder;.:()V // method@05a7 │ │ +019b02: 6204 ed00 |0091: sget-object v4, Ldnsfilter/android/DNSProxyActivity;.CONFIG:Ldnsfilter/ConfigurationAccess; // field@00ed │ │ +019b06: 6e10 5801 0400 |0093: invoke-virtual {v4}, Ldnsfilter/ConfigurationAccess;.openConnectionsCount:()I // method@0158 │ │ +019b0c: 0a04 |0096: move-result v4 │ │ +019b0e: 6e20 aa05 4300 |0097: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@05aa │ │ +019b14: 1a04 0000 |009a: const-string v4, "" // string@0000 │ │ +019b18: 6e20 ad05 4300 |009c: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +019b1e: 6e10 af05 0300 |009f: invoke-virtual {v3}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ +019b24: 0c01 |00a2: move-result-object v1 │ │ +019b26: 6203 ed00 |00a3: sget-object v3, Ldnsfilter/android/DNSProxyActivity;.CONFIG:Ldnsfilter/ConfigurationAccess; // field@00ed │ │ +019b2a: 6e10 5201 0300 |00a5: invoke-virtual {v3}, Ldnsfilter/ConfigurationAccess;.getLastDNSAddress:()Ljava/lang/String; // method@0152 │ │ +019b30: 0c02 |00a8: move-result-object v2 │ │ +019b32: 281c |00a9: goto 00c5 // +001c │ │ +019b34: 0d03 |00aa: move-exception v3 │ │ +019b36: 5464 e900 |00ab: iget-object v4, v6, Ldnsfilter/android/DNSProxyActivity$MyUIThreadLogger;.this$0:Ldnsfilter/android/DNSProxyActivity; // field@00e9 │ │ +019b3a: 2205 2d01 |00ad: new-instance v5, Ljava/lang/StringBuilder; // type@012d │ │ +019b3e: 7010 a705 0500 |00af: invoke-direct {v5}, Ljava/lang/StringBuilder;.:()V // method@05a7 │ │ +019b44: 6e10 2405 0300 |00b2: invoke-virtual {v3}, Ljava/io/IOException;.toString:()Ljava/lang/String; // method@0524 │ │ +019b4a: 0c03 |00b5: move-result-object v3 │ │ +019b4c: 6e20 ad05 3500 |00b6: invoke-virtual {v5, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +019b52: 1a03 0200 |00b9: const-string v3, " │ │ " // string@0002 │ │ -019b5a: 6e20 ad05 3500 |00bb: invoke-virtual {v5, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -019b60: 6e10 af05 0500 |00be: invoke-virtual {v5}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ -019b66: 0c03 |00c1: move-result-object v3 │ │ -019b68: 7120 db02 3400 |00c2: invoke-static {v4, v3}, Ldnsfilter/android/DNSProxyActivity;.access$300:(Ldnsfilter/android/DNSProxyActivity;Ljava/lang/String;)V // method@02db │ │ -019b6e: 5463 e900 |00c5: iget-object v3, v6, Ldnsfilter/android/DNSProxyActivity$MyUIThreadLogger;.this$0:Ldnsfilter/android/DNSProxyActivity; // field@00e9 │ │ -019b72: 2204 2d01 |00c7: new-instance v4, Ljava/lang/StringBuilder; // type@012d │ │ -019b76: 7010 a705 0400 |00c9: invoke-direct {v4}, Ljava/lang/StringBuilder;.:()V // method@05a7 │ │ -019b7c: 1a05 6b09 |00cc: const-string v5, "personalDNSfilter V" // string@096b │ │ -019b80: 6e20 ad05 5400 |00ce: invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -019b86: 6e20 ad05 0400 |00d1: invoke-virtual {v4, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -019b8c: 1a00 0f00 |00d4: const-string v0, " (Connections:" // string@000f │ │ -019b90: 6e20 ad05 0400 |00d6: invoke-virtual {v4, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -019b96: 6e20 ad05 1400 |00d9: invoke-virtual {v4, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -019b9c: 1a00 4800 |00dc: const-string v0, ")" // string@0048 │ │ -019ba0: 6e20 ad05 0400 |00de: invoke-virtual {v4, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -019ba6: 6e10 af05 0400 |00e1: invoke-virtual {v4}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ -019bac: 0c00 |00e4: move-result-object v0 │ │ -019bae: 6e20 2e03 0300 |00e5: invoke-virtual {v3, v0}, Ldnsfilter/android/DNSProxyActivity;.setTitle:(Ljava/lang/CharSequence;)V // method@032e │ │ -019bb4: 6200 1001 |00e8: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.dnsField:Landroid/widget/TextView; // field@0110 │ │ -019bb8: 6e20 0901 2000 |00ea: invoke-virtual {v0, v2}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@0109 │ │ -019bbe: 1e06 |00ed: monitor-exit v6 │ │ -019bc0: 0e00 |00ee: return-void │ │ -019bc2: 0d00 |00ef: move-exception v0 │ │ -019bc4: 1e06 |00f0: monitor-exit v6 │ │ -019bc6: 2802 |00f1: goto 00f3 // +0002 │ │ -019bc8: 2700 |00f2: throw v0 │ │ -019bca: 28ff |00f3: goto 00f2 // -0001 │ │ +019b56: 6e20 ad05 3500 |00bb: invoke-virtual {v5, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +019b5c: 6e10 af05 0500 |00be: invoke-virtual {v5}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ +019b62: 0c03 |00c1: move-result-object v3 │ │ +019b64: 7120 db02 3400 |00c2: invoke-static {v4, v3}, Ldnsfilter/android/DNSProxyActivity;.access$300:(Ldnsfilter/android/DNSProxyActivity;Ljava/lang/String;)V // method@02db │ │ +019b6a: 5463 e900 |00c5: iget-object v3, v6, Ldnsfilter/android/DNSProxyActivity$MyUIThreadLogger;.this$0:Ldnsfilter/android/DNSProxyActivity; // field@00e9 │ │ +019b6e: 2204 2d01 |00c7: new-instance v4, Ljava/lang/StringBuilder; // type@012d │ │ +019b72: 7010 a705 0400 |00c9: invoke-direct {v4}, Ljava/lang/StringBuilder;.:()V // method@05a7 │ │ +019b78: 1a05 6b09 |00cc: const-string v5, "personalDNSfilter V" // string@096b │ │ +019b7c: 6e20 ad05 5400 |00ce: invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +019b82: 6e20 ad05 0400 |00d1: invoke-virtual {v4, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +019b88: 1a00 0f00 |00d4: const-string v0, " (Connections:" // string@000f │ │ +019b8c: 6e20 ad05 0400 |00d6: invoke-virtual {v4, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +019b92: 6e20 ad05 1400 |00d9: invoke-virtual {v4, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +019b98: 1a00 4800 |00dc: const-string v0, ")" // string@0048 │ │ +019b9c: 6e20 ad05 0400 |00de: invoke-virtual {v4, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +019ba2: 6e10 af05 0400 |00e1: invoke-virtual {v4}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ +019ba8: 0c00 |00e4: move-result-object v0 │ │ +019baa: 6e20 2e03 0300 |00e5: invoke-virtual {v3, v0}, Ldnsfilter/android/DNSProxyActivity;.setTitle:(Ljava/lang/CharSequence;)V // method@032e │ │ +019bb0: 6200 1001 |00e8: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.dnsField:Landroid/widget/TextView; // field@0110 │ │ +019bb4: 6e20 0901 2000 |00ea: invoke-virtual {v0, v2}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@0109 │ │ +019bba: 1e06 |00ed: monitor-exit v6 │ │ +019bbc: 0e00 |00ee: return-void │ │ +019bbe: 0d00 |00ef: move-exception v0 │ │ +019bc0: 1e06 |00f0: monitor-exit v6 │ │ +019bc2: 2802 |00f1: goto 00f3 // +0002 │ │ +019bc4: 2700 |00f2: throw v0 │ │ +019bc6: 28ff |00f3: goto 00f2 // -0001 │ │ catches : 3 │ │ 0x0001 - 0x0086 │ │ -> 0x00ef │ │ 0x0086 - 0x00a9 │ │ Ljava/io/IOException; -> 0x00aa │ │ -> 0x00ef │ │ 0x00ab - 0x00ed │ │ @@ -16054,88 +16054,88 @@ │ │ type : '()V' │ │ access : 0x10008 (STATIC CONSTRUCTOR) │ │ code - │ │ registers : 0 │ │ ins : 0 │ │ outs : 0 │ │ insns size : 1 16-bit code units │ │ -01d5e4: |[01d5e4] dnsfilter.android.FilterConfig.:()V │ │ -01d5f4: 0e00 |0000: return-void │ │ +01d5e0: |[01d5e0] dnsfilter.android.FilterConfig.:()V │ │ +01d5f0: 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 │ │ -01d5f8: |[01d5f8] dnsfilter.android.FilterConfig.:(Landroid/widget/TableLayout;Landroid/widget/Button;Landroid/widget/Button;Landroid/widget/TextView;Landroid/widget/Button;)V │ │ -01d608: 7010 7305 0300 |0000: invoke-direct {v3}, Ljava/lang/Object;.:()V // method@0573 │ │ -01d60e: 1200 |0003: const/4 v0, #int 0 // #0 │ │ -01d610: 5c30 4801 |0004: iput-boolean v0, v3, Ldnsfilter/android/FilterConfig;.loaded:Z // field@0148 │ │ -01d614: 5b34 4101 |0006: iput-object v4, v3, Ldnsfilter/android/FilterConfig;.configTable:Landroid/widget/TableLayout; // field@0141 │ │ -01d618: 2200 0b00 |0008: new-instance v0, Landroid/app/Dialog; // type@000b │ │ -01d61c: 6e10 fd00 0400 |000a: invoke-virtual {v4}, Landroid/widget/TableLayout;.getContext:()Landroid/content/Context; // method@00fd │ │ -01d622: 0c01 |000d: move-result-object v1 │ │ -01d624: 1502 097f |000e: const/high16 v2, #int 2131296256 // #7f09 │ │ -01d628: 7030 1400 1002 |0010: invoke-direct {v0, v1, v2}, Landroid/app/Dialog;.:(Landroid/content/Context;I)V // method@0014 │ │ -01d62e: 5b30 4401 |0013: iput-object v0, v3, Ldnsfilter/android/FilterConfig;.editDialog:Landroid/app/Dialog; // field@0144 │ │ -01d632: 6e20 1f00 3000 |0015: invoke-virtual {v0, v3}, Landroid/app/Dialog;.setOnKeyListener:(Landroid/content/DialogInterface$OnKeyListener;)V // method@001f │ │ -01d638: 5430 4401 |0018: iget-object v0, v3, Ldnsfilter/android/FilterConfig;.editDialog:Landroid/app/Dialog; // field@0144 │ │ -01d63c: 1401 0a00 067f |001a: const v1, #float 1.78117e+38 // #7f06000a │ │ -01d642: 6e20 1b00 1000 |001d: invoke-virtual {v0, v1}, Landroid/app/Dialog;.setContentView:(I)V // method@001b │ │ -01d648: 5430 4401 |0020: iget-object v0, v3, Ldnsfilter/android/FilterConfig;.editDialog:Landroid/app/Dialog; // field@0144 │ │ -01d64c: 6e10 fd00 0400 |0022: invoke-virtual {v4}, Landroid/widget/TableLayout;.getContext:()Landroid/content/Context; // method@00fd │ │ -01d652: 0c04 |0025: move-result-object v4 │ │ -01d654: 6e10 3a00 0400 |0026: invoke-virtual {v4}, Landroid/content/Context;.getResources:()Landroid/content/res/Resources; // method@003a │ │ -01d65a: 0c04 |0029: move-result-object v4 │ │ -01d65c: 1401 1100 087f |002a: const v1, #float 1.80775e+38 // #7f080011 │ │ -01d662: 6e20 5900 1400 |002d: invoke-virtual {v4, v1}, Landroid/content/res/Resources;.getString:(I)Ljava/lang/String; // method@0059 │ │ -01d668: 0c04 |0030: move-result-object v4 │ │ -01d66a: 6e20 2100 4000 |0031: invoke-virtual {v0, v4}, Landroid/app/Dialog;.setTitle:(Ljava/lang/CharSequence;)V // method@0021 │ │ -01d670: 5434 4401 |0034: iget-object v4, v3, Ldnsfilter/android/FilterConfig;.editDialog:Landroid/app/Dialog; // field@0144 │ │ -01d674: 1400 2c00 057f |0036: const v0, #float 1.76788e+38 // #7f05002c │ │ -01d67a: 6e20 1700 0400 |0039: invoke-virtual {v4, v0}, Landroid/app/Dialog;.findViewById:(I)Landroid/view/View; // method@0017 │ │ -01d680: 0c04 |003c: move-result-object v4 │ │ -01d682: 1f04 6300 |003d: check-cast v4, Landroid/widget/Button; // type@0063 │ │ -01d686: 5b34 4501 |003f: iput-object v4, v3, Ldnsfilter/android/FilterConfig;.editOk:Landroid/widget/Button; // field@0145 │ │ -01d68a: 5434 4401 |0041: iget-object v4, v3, Ldnsfilter/android/FilterConfig;.editDialog:Landroid/app/Dialog; // field@0144 │ │ -01d68e: 1400 2b00 057f |0043: const v0, #float 1.76788e+38 // #7f05002b │ │ -01d694: 6e20 1700 0400 |0046: invoke-virtual {v4, v0}, Landroid/app/Dialog;.findViewById:(I)Landroid/view/View; // method@0017 │ │ -01d69a: 0c04 |0049: move-result-object v4 │ │ -01d69c: 1f04 6300 |004a: check-cast v4, Landroid/widget/Button; // type@0063 │ │ -01d6a0: 5b34 4301 |004c: iput-object v4, v3, Ldnsfilter/android/FilterConfig;.editDelete:Landroid/widget/Button; // field@0143 │ │ -01d6a4: 5434 4401 |004e: iget-object v4, v3, Ldnsfilter/android/FilterConfig;.editDialog:Landroid/app/Dialog; // field@0144 │ │ -01d6a8: 1400 2a00 057f |0050: const v0, #float 1.76788e+38 // #7f05002a │ │ -01d6ae: 6e20 1700 0400 |0053: invoke-virtual {v4, v0}, Landroid/app/Dialog;.findViewById:(I)Landroid/view/View; // method@0017 │ │ -01d6b4: 0c04 |0056: move-result-object v4 │ │ -01d6b6: 1f04 6300 |0057: check-cast v4, Landroid/widget/Button; // type@0063 │ │ -01d6ba: 5b34 4201 |0059: iput-object v4, v3, Ldnsfilter/android/FilterConfig;.editCancel:Landroid/widget/Button; // field@0142 │ │ -01d6be: 5434 4501 |005b: iget-object v4, v3, Ldnsfilter/android/FilterConfig;.editOk:Landroid/widget/Button; // field@0145 │ │ -01d6c2: 6e20 c500 3400 |005d: invoke-virtual {v4, v3}, Landroid/widget/Button;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@00c5 │ │ -01d6c8: 5434 4301 |0060: iget-object v4, v3, Ldnsfilter/android/FilterConfig;.editDelete:Landroid/widget/Button; // field@0143 │ │ -01d6cc: 6e20 c500 3400 |0062: invoke-virtual {v4, v3}, Landroid/widget/Button;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@00c5 │ │ -01d6d2: 5434 4201 |0065: iget-object v4, v3, Ldnsfilter/android/FilterConfig;.editCancel:Landroid/widget/Button; // field@0142 │ │ -01d6d6: 6e20 c500 3400 |0067: invoke-virtual {v4, v3}, Landroid/widget/Button;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@00c5 │ │ -01d6dc: 5b35 4001 |006a: iput-object v5, v3, Ldnsfilter/android/FilterConfig;.categoryUp:Landroid/widget/Button; // field@0140 │ │ -01d6e0: 5b36 3d01 |006c: iput-object v6, v3, Ldnsfilter/android/FilterConfig;.categoryDown:Landroid/widget/Button; // field@013d │ │ -01d6e4: 5b37 3e01 |006e: iput-object v7, v3, Ldnsfilter/android/FilterConfig;.categoryField:Landroid/widget/TextView; // field@013e │ │ -01d6e8: 5b38 4901 |0070: iput-object v8, v3, Ldnsfilter/android/FilterConfig;.restoreDefault:Landroid/widget/Button; // field@0149 │ │ -01d6ec: 6204 3901 |0072: sget-object v4, Ldnsfilter/android/FilterConfig;.ALL_ACTIVE:Ljava/lang/String; // field@0139 │ │ -01d6f0: 6e20 0901 4700 |0074: invoke-virtual {v7, v4}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@0109 │ │ -01d6f6: 2204 6801 |0077: new-instance v4, Ljava/util/TreeMap; // type@0168 │ │ -01d6fa: 6205 1803 |0079: sget-object v5, Ljava/lang/String;.CASE_INSENSITIVE_ORDER:Ljava/util/Comparator; // field@0318 │ │ -01d6fe: 7020 6906 5400 |007b: invoke-direct {v4, v5}, Ljava/util/TreeMap;.:(Ljava/util/Comparator;)V // method@0669 │ │ -01d704: 5b34 3f01 |007e: iput-object v4, v3, Ldnsfilter/android/FilterConfig;.categoryMap:Ljava/util/TreeMap; // field@013f │ │ -01d708: 0e00 |0080: return-void │ │ +01d5f4: |[01d5f4] dnsfilter.android.FilterConfig.:(Landroid/widget/TableLayout;Landroid/widget/Button;Landroid/widget/Button;Landroid/widget/TextView;Landroid/widget/Button;)V │ │ +01d604: 7010 7305 0300 |0000: invoke-direct {v3}, Ljava/lang/Object;.:()V // method@0573 │ │ +01d60a: 1200 |0003: const/4 v0, #int 0 // #0 │ │ +01d60c: 5c30 4801 |0004: iput-boolean v0, v3, Ldnsfilter/android/FilterConfig;.loaded:Z // field@0148 │ │ +01d610: 5b34 4101 |0006: iput-object v4, v3, Ldnsfilter/android/FilterConfig;.configTable:Landroid/widget/TableLayout; // field@0141 │ │ +01d614: 2200 0b00 |0008: new-instance v0, Landroid/app/Dialog; // type@000b │ │ +01d618: 6e10 fd00 0400 |000a: invoke-virtual {v4}, Landroid/widget/TableLayout;.getContext:()Landroid/content/Context; // method@00fd │ │ +01d61e: 0c01 |000d: move-result-object v1 │ │ +01d620: 1502 097f |000e: const/high16 v2, #int 2131296256 // #7f09 │ │ +01d624: 7030 1400 1002 |0010: invoke-direct {v0, v1, v2}, Landroid/app/Dialog;.:(Landroid/content/Context;I)V // method@0014 │ │ +01d62a: 5b30 4401 |0013: iput-object v0, v3, Ldnsfilter/android/FilterConfig;.editDialog:Landroid/app/Dialog; // field@0144 │ │ +01d62e: 6e20 1f00 3000 |0015: invoke-virtual {v0, v3}, Landroid/app/Dialog;.setOnKeyListener:(Landroid/content/DialogInterface$OnKeyListener;)V // method@001f │ │ +01d634: 5430 4401 |0018: iget-object v0, v3, Ldnsfilter/android/FilterConfig;.editDialog:Landroid/app/Dialog; // field@0144 │ │ +01d638: 1401 0a00 067f |001a: const v1, #float 1.78117e+38 // #7f06000a │ │ +01d63e: 6e20 1b00 1000 |001d: invoke-virtual {v0, v1}, Landroid/app/Dialog;.setContentView:(I)V // method@001b │ │ +01d644: 5430 4401 |0020: iget-object v0, v3, Ldnsfilter/android/FilterConfig;.editDialog:Landroid/app/Dialog; // field@0144 │ │ +01d648: 6e10 fd00 0400 |0022: invoke-virtual {v4}, Landroid/widget/TableLayout;.getContext:()Landroid/content/Context; // method@00fd │ │ +01d64e: 0c04 |0025: move-result-object v4 │ │ +01d650: 6e10 3a00 0400 |0026: invoke-virtual {v4}, Landroid/content/Context;.getResources:()Landroid/content/res/Resources; // method@003a │ │ +01d656: 0c04 |0029: move-result-object v4 │ │ +01d658: 1401 1100 087f |002a: const v1, #float 1.80775e+38 // #7f080011 │ │ +01d65e: 6e20 5900 1400 |002d: invoke-virtual {v4, v1}, Landroid/content/res/Resources;.getString:(I)Ljava/lang/String; // method@0059 │ │ +01d664: 0c04 |0030: move-result-object v4 │ │ +01d666: 6e20 2100 4000 |0031: invoke-virtual {v0, v4}, Landroid/app/Dialog;.setTitle:(Ljava/lang/CharSequence;)V // method@0021 │ │ +01d66c: 5434 4401 |0034: iget-object v4, v3, Ldnsfilter/android/FilterConfig;.editDialog:Landroid/app/Dialog; // field@0144 │ │ +01d670: 1400 2c00 057f |0036: const v0, #float 1.76788e+38 // #7f05002c │ │ +01d676: 6e20 1700 0400 |0039: invoke-virtual {v4, v0}, Landroid/app/Dialog;.findViewById:(I)Landroid/view/View; // method@0017 │ │ +01d67c: 0c04 |003c: move-result-object v4 │ │ +01d67e: 1f04 6300 |003d: check-cast v4, Landroid/widget/Button; // type@0063 │ │ +01d682: 5b34 4501 |003f: iput-object v4, v3, Ldnsfilter/android/FilterConfig;.editOk:Landroid/widget/Button; // field@0145 │ │ +01d686: 5434 4401 |0041: iget-object v4, v3, Ldnsfilter/android/FilterConfig;.editDialog:Landroid/app/Dialog; // field@0144 │ │ +01d68a: 1400 2b00 057f |0043: const v0, #float 1.76788e+38 // #7f05002b │ │ +01d690: 6e20 1700 0400 |0046: invoke-virtual {v4, v0}, Landroid/app/Dialog;.findViewById:(I)Landroid/view/View; // method@0017 │ │ +01d696: 0c04 |0049: move-result-object v4 │ │ +01d698: 1f04 6300 |004a: check-cast v4, Landroid/widget/Button; // type@0063 │ │ +01d69c: 5b34 4301 |004c: iput-object v4, v3, Ldnsfilter/android/FilterConfig;.editDelete:Landroid/widget/Button; // field@0143 │ │ +01d6a0: 5434 4401 |004e: iget-object v4, v3, Ldnsfilter/android/FilterConfig;.editDialog:Landroid/app/Dialog; // field@0144 │ │ +01d6a4: 1400 2a00 057f |0050: const v0, #float 1.76788e+38 // #7f05002a │ │ +01d6aa: 6e20 1700 0400 |0053: invoke-virtual {v4, v0}, Landroid/app/Dialog;.findViewById:(I)Landroid/view/View; // method@0017 │ │ +01d6b0: 0c04 |0056: move-result-object v4 │ │ +01d6b2: 1f04 6300 |0057: check-cast v4, Landroid/widget/Button; // type@0063 │ │ +01d6b6: 5b34 4201 |0059: iput-object v4, v3, Ldnsfilter/android/FilterConfig;.editCancel:Landroid/widget/Button; // field@0142 │ │ +01d6ba: 5434 4501 |005b: iget-object v4, v3, Ldnsfilter/android/FilterConfig;.editOk:Landroid/widget/Button; // field@0145 │ │ +01d6be: 6e20 c500 3400 |005d: invoke-virtual {v4, v3}, Landroid/widget/Button;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@00c5 │ │ +01d6c4: 5434 4301 |0060: iget-object v4, v3, Ldnsfilter/android/FilterConfig;.editDelete:Landroid/widget/Button; // field@0143 │ │ +01d6c8: 6e20 c500 3400 |0062: invoke-virtual {v4, v3}, Landroid/widget/Button;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@00c5 │ │ +01d6ce: 5434 4201 |0065: iget-object v4, v3, Ldnsfilter/android/FilterConfig;.editCancel:Landroid/widget/Button; // field@0142 │ │ +01d6d2: 6e20 c500 3400 |0067: invoke-virtual {v4, v3}, Landroid/widget/Button;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@00c5 │ │ +01d6d8: 5b35 4001 |006a: iput-object v5, v3, Ldnsfilter/android/FilterConfig;.categoryUp:Landroid/widget/Button; // field@0140 │ │ +01d6dc: 5b36 3d01 |006c: iput-object v6, v3, Ldnsfilter/android/FilterConfig;.categoryDown:Landroid/widget/Button; // field@013d │ │ +01d6e0: 5b37 3e01 |006e: iput-object v7, v3, Ldnsfilter/android/FilterConfig;.categoryField:Landroid/widget/TextView; // field@013e │ │ +01d6e4: 5b38 4901 |0070: iput-object v8, v3, Ldnsfilter/android/FilterConfig;.restoreDefault:Landroid/widget/Button; // field@0149 │ │ +01d6e8: 6204 3901 |0072: sget-object v4, Ldnsfilter/android/FilterConfig;.ALL_ACTIVE:Ljava/lang/String; // field@0139 │ │ +01d6ec: 6e20 0901 4700 |0074: invoke-virtual {v7, v4}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@0109 │ │ +01d6f2: 2204 6801 |0077: new-instance v4, Ljava/util/TreeMap; // type@0168 │ │ +01d6f6: 6205 1803 |0079: sget-object v5, Ljava/lang/String;.CASE_INSENSITIVE_ORDER:Ljava/util/Comparator; // field@0318 │ │ +01d6fa: 7020 6906 5400 |007b: invoke-direct {v4, v5}, Ljava/util/TreeMap;.:(Ljava/util/Comparator;)V // method@0669 │ │ +01d700: 5b34 3f01 |007e: iput-object v4, v3, Ldnsfilter/android/FilterConfig;.categoryMap:Ljava/util/TreeMap; // field@013f │ │ +01d704: 0e00 |0080: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=62 │ │ 0x0004 line=39 │ │ 0x0006 line=64 │ │ 0x0008 line=65 │ │ 0x0015 line=66 │ │ @@ -16166,21 +16166,21 @@ │ │ type : '()V' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 4 │ │ ins : 1 │ │ outs : 5 │ │ insns size : 12 16-bit code units │ │ -01d70c: |[01d70c] dnsfilter.android.FilterConfig.addEmptyEndItem:()V │ │ -01d71c: 2200 7f00 |0000: new-instance v0, Ldnsfilter/ConfigUtil$HostFilterList; // type@007f │ │ -01d720: 1201 |0002: const/4 v1, #int 0 // #0 │ │ -01d722: 6202 3c01 |0003: sget-object v2, Ldnsfilter/android/FilterConfig;.NEW_ITEM:Ljava/lang/String; // field@013c │ │ -01d726: 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 │ │ -01d72c: 7020 3903 0300 |0008: invoke-direct {v3, v0}, Ldnsfilter/android/FilterConfig;.addItem:(Ldnsfilter/ConfigUtil$HostFilterList;)V // method@0339 │ │ -01d732: 0e00 |000b: return-void │ │ +01d708: |[01d708] dnsfilter.android.FilterConfig.addEmptyEndItem:()V │ │ +01d718: 2200 7f00 |0000: new-instance v0, Ldnsfilter/ConfigUtil$HostFilterList; // type@007f │ │ +01d71c: 1201 |0002: const/4 v1, #int 0 // #0 │ │ +01d71e: 6202 3c01 |0003: sget-object v2, Ldnsfilter/android/FilterConfig;.NEW_ITEM:Ljava/lang/String; // field@013c │ │ +01d722: 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 │ │ +01d728: 7020 3903 0300 |0008: invoke-direct {v3, v0}, Ldnsfilter/android/FilterConfig;.addItem:(Ldnsfilter/ConfigUtil$HostFilterList;)V // method@0339 │ │ +01d72e: 0e00 |000b: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=156 │ │ locals : │ │ 0x0000 - 0x000c reg=3 this Ldnsfilter/android/FilterConfig; │ │ │ │ #3 : (in Ldnsfilter/android/FilterConfig;) │ │ @@ -16188,54 +16188,54 @@ │ │ type : '(Ldnsfilter/ConfigUtil$HostFilterList;)V' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 6 │ │ ins : 2 │ │ outs : 3 │ │ insns size : 79 16-bit code units │ │ -01d734: |[01d734] dnsfilter.android.FilterConfig.addItem:(Ldnsfilter/ConfigUtil$HostFilterList;)V │ │ -01d744: 5440 4101 |0000: iget-object v0, v4, Ldnsfilter/android/FilterConfig;.configTable:Landroid/widget/TableLayout; // field@0141 │ │ -01d748: 6e10 fd00 0000 |0002: invoke-virtual {v0}, Landroid/widget/TableLayout;.getContext:()Landroid/content/Context; // method@00fd │ │ -01d74e: 0c00 |0005: move-result-object v0 │ │ -01d750: 7110 a500 0000 |0006: invoke-static {v0}, Landroid/view/LayoutInflater;.from:(Landroid/content/Context;)Landroid/view/LayoutInflater; // method@00a5 │ │ -01d756: 0c00 |0009: move-result-object v0 │ │ -01d758: 1401 0900 067f |000a: const v1, #float 1.78117e+38 // #7f060009 │ │ -01d75e: 1202 |000d: const/4 v2, #int 0 // #0 │ │ -01d760: 6e30 a600 1002 |000e: invoke-virtual {v0, v1, v2}, Landroid/view/LayoutInflater;.inflate:(ILandroid/view/ViewGroup;)Landroid/view/View; // method@00a6 │ │ -01d766: 0c00 |0011: move-result-object v0 │ │ -01d768: 1f00 7200 |0012: check-cast v0, Landroid/widget/TableRow; // type@0072 │ │ -01d76c: 5441 4101 |0014: iget-object v1, v4, Ldnsfilter/android/FilterConfig;.configTable:Landroid/widget/TableLayout; // field@0141 │ │ -01d770: 6e20 fa00 0100 |0016: invoke-virtual {v1, v0}, Landroid/widget/TableLayout;.addView:(Landroid/view/View;)V // method@00fa │ │ -01d776: 7020 3b03 0400 |0019: invoke-direct {v4, v0}, Ldnsfilter/android/FilterConfig;.getContentCells:(Landroid/widget/TableRow;)[Landroid/view/View; // method@033b │ │ -01d77c: 0c01 |001c: move-result-object v1 │ │ -01d77e: 1202 |001d: const/4 v2, #int 0 // #0 │ │ -01d780: 4602 0102 |001e: aget-object v2, v1, v2 │ │ -01d784: 1f02 6400 |0020: check-cast v2, Landroid/widget/CheckBox; // type@0064 │ │ -01d788: 5553 0d00 |0022: iget-boolean v3, v5, Ldnsfilter/ConfigUtil$HostFilterList;.active:Z // field@000d │ │ -01d78c: 6e20 cd00 3200 |0024: invoke-virtual {v2, v3}, Landroid/widget/CheckBox;.setChecked:(Z)V // method@00cd │ │ -01d792: 1212 |0027: const/4 v2, #int 1 // #1 │ │ -01d794: 4602 0102 |0028: aget-object v2, v1, v2 │ │ -01d798: 1f02 7300 |002a: check-cast v2, Landroid/widget/TextView; // type@0073 │ │ -01d79c: 5453 0e00 |002c: iget-object v3, v5, Ldnsfilter/ConfigUtil$HostFilterList;.category:Ljava/lang/String; // field@000e │ │ -01d7a0: 6e20 0901 3200 |002e: invoke-virtual {v2, v3}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@0109 │ │ -01d7a6: 1222 |0031: const/4 v2, #int 2 // #2 │ │ -01d7a8: 4602 0102 |0032: aget-object v2, v1, v2 │ │ -01d7ac: 1f02 7300 |0034: check-cast v2, Landroid/widget/TextView; // type@0073 │ │ -01d7b0: 5453 0f00 |0036: iget-object v3, v5, Ldnsfilter/ConfigUtil$HostFilterList;.id:Ljava/lang/String; // field@000f │ │ -01d7b4: 6e20 0901 3200 |0038: invoke-virtual {v2, v3}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@0109 │ │ -01d7ba: 1232 |003b: const/4 v2, #int 3 // #3 │ │ -01d7bc: 4602 0102 |003c: aget-object v2, v1, v2 │ │ -01d7c0: 1f02 7300 |003e: check-cast v2, Landroid/widget/TextView; // type@0073 │ │ -01d7c4: 5455 1000 |0040: iget-object v5, v5, Ldnsfilter/ConfigUtil$HostFilterList;.url:Ljava/lang/String; // field@0010 │ │ -01d7c8: 6e20 0901 5200 |0042: invoke-virtual {v2, v5}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@0109 │ │ -01d7ce: 1245 |0045: const/4 v5, #int 4 // #4 │ │ -01d7d0: 4605 0105 |0046: aget-object v5, v1, v5 │ │ -01d7d4: 6e20 b200 4500 |0048: invoke-virtual {v5, v4}, Landroid/view/View;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@00b2 │ │ -01d7da: 7020 4703 0400 |004b: invoke-direct {v4, v0}, Ldnsfilter/android/FilterConfig;.setVisibility:(Landroid/widget/TableRow;)V // method@0347 │ │ -01d7e0: 0e00 |004e: return-void │ │ +01d730: |[01d730] dnsfilter.android.FilterConfig.addItem:(Ldnsfilter/ConfigUtil$HostFilterList;)V │ │ +01d740: 5440 4101 |0000: iget-object v0, v4, Ldnsfilter/android/FilterConfig;.configTable:Landroid/widget/TableLayout; // field@0141 │ │ +01d744: 6e10 fd00 0000 |0002: invoke-virtual {v0}, Landroid/widget/TableLayout;.getContext:()Landroid/content/Context; // method@00fd │ │ +01d74a: 0c00 |0005: move-result-object v0 │ │ +01d74c: 7110 a500 0000 |0006: invoke-static {v0}, Landroid/view/LayoutInflater;.from:(Landroid/content/Context;)Landroid/view/LayoutInflater; // method@00a5 │ │ +01d752: 0c00 |0009: move-result-object v0 │ │ +01d754: 1401 0900 067f |000a: const v1, #float 1.78117e+38 // #7f060009 │ │ +01d75a: 1202 |000d: const/4 v2, #int 0 // #0 │ │ +01d75c: 6e30 a600 1002 |000e: invoke-virtual {v0, v1, v2}, Landroid/view/LayoutInflater;.inflate:(ILandroid/view/ViewGroup;)Landroid/view/View; // method@00a6 │ │ +01d762: 0c00 |0011: move-result-object v0 │ │ +01d764: 1f00 7200 |0012: check-cast v0, Landroid/widget/TableRow; // type@0072 │ │ +01d768: 5441 4101 |0014: iget-object v1, v4, Ldnsfilter/android/FilterConfig;.configTable:Landroid/widget/TableLayout; // field@0141 │ │ +01d76c: 6e20 fa00 0100 |0016: invoke-virtual {v1, v0}, Landroid/widget/TableLayout;.addView:(Landroid/view/View;)V // method@00fa │ │ +01d772: 7020 3b03 0400 |0019: invoke-direct {v4, v0}, Ldnsfilter/android/FilterConfig;.getContentCells:(Landroid/widget/TableRow;)[Landroid/view/View; // method@033b │ │ +01d778: 0c01 |001c: move-result-object v1 │ │ +01d77a: 1202 |001d: const/4 v2, #int 0 // #0 │ │ +01d77c: 4602 0102 |001e: aget-object v2, v1, v2 │ │ +01d780: 1f02 6400 |0020: check-cast v2, Landroid/widget/CheckBox; // type@0064 │ │ +01d784: 5553 0d00 |0022: iget-boolean v3, v5, Ldnsfilter/ConfigUtil$HostFilterList;.active:Z // field@000d │ │ +01d788: 6e20 cd00 3200 |0024: invoke-virtual {v2, v3}, Landroid/widget/CheckBox;.setChecked:(Z)V // method@00cd │ │ +01d78e: 1212 |0027: const/4 v2, #int 1 // #1 │ │ +01d790: 4602 0102 |0028: aget-object v2, v1, v2 │ │ +01d794: 1f02 7300 |002a: check-cast v2, Landroid/widget/TextView; // type@0073 │ │ +01d798: 5453 0e00 |002c: iget-object v3, v5, Ldnsfilter/ConfigUtil$HostFilterList;.category:Ljava/lang/String; // field@000e │ │ +01d79c: 6e20 0901 3200 |002e: invoke-virtual {v2, v3}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@0109 │ │ +01d7a2: 1222 |0031: const/4 v2, #int 2 // #2 │ │ +01d7a4: 4602 0102 |0032: aget-object v2, v1, v2 │ │ +01d7a8: 1f02 7300 |0034: check-cast v2, Landroid/widget/TextView; // type@0073 │ │ +01d7ac: 5453 0f00 |0036: iget-object v3, v5, Ldnsfilter/ConfigUtil$HostFilterList;.id:Ljava/lang/String; // field@000f │ │ +01d7b0: 6e20 0901 3200 |0038: invoke-virtual {v2, v3}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@0109 │ │ +01d7b6: 1232 |003b: const/4 v2, #int 3 // #3 │ │ +01d7b8: 4602 0102 |003c: aget-object v2, v1, v2 │ │ +01d7bc: 1f02 7300 |003e: check-cast v2, Landroid/widget/TextView; // type@0073 │ │ +01d7c0: 5455 1000 |0040: iget-object v5, v5, Ldnsfilter/ConfigUtil$HostFilterList;.url:Ljava/lang/String; // field@0010 │ │ +01d7c4: 6e20 0901 5200 |0042: invoke-virtual {v2, v5}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@0109 │ │ +01d7ca: 1245 |0045: const/4 v5, #int 4 // #4 │ │ +01d7cc: 4605 0105 |0046: aget-object v5, v1, v5 │ │ +01d7d0: 6e20 b200 4500 |0048: invoke-virtual {v5, v4}, Landroid/view/View;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@00b2 │ │ +01d7d6: 7020 4703 0400 |004b: invoke-direct {v4, v0}, Ldnsfilter/android/FilterConfig;.setVisibility:(Landroid/widget/TableRow;)V // method@0347 │ │ +01d7dc: 0e00 |004e: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=98 │ │ 0x0014 line=99 │ │ 0x0019 line=100 │ │ 0x001e line=101 │ │ 0x0028 line=102 │ │ @@ -16252,38 +16252,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 │ │ -01d454: |[01d454] dnsfilter.android.FilterConfig.getContentCells:(Landroid/widget/TableRow;)[Landroid/view/View; │ │ -01d464: 1250 |0000: const/4 v0, #int 5 // #5 │ │ -01d466: 2301 a201 |0001: new-array v1, v0, [Landroid/view/View; // type@01a2 │ │ -01d46a: 1202 |0003: const/4 v2, #int 0 // #0 │ │ -01d46c: 1203 |0004: const/4 v3, #int 0 // #0 │ │ -01d46e: 3503 0b00 |0005: if-ge v3, v0, 0010 // +000b │ │ -01d472: 6e20 ff00 3600 |0007: invoke-virtual {v6, v3}, Landroid/widget/TableRow;.getChildAt:(I)Landroid/view/View; // method@00ff │ │ -01d478: 0c04 |000a: move-result-object v4 │ │ -01d47a: 4d04 0103 |000b: aput-object v4, v1, v3 │ │ -01d47e: d803 0301 |000d: add-int/lit8 v3, v3, #int 1 // #01 │ │ -01d482: 28f6 |000f: goto 0005 // -000a │ │ -01d484: 1226 |0010: const/4 v6, #int 2 // #2 │ │ -01d486: 4600 0106 |0011: aget-object v0, v1, v6 │ │ -01d48a: 1f00 5900 |0013: check-cast v0, Landroid/view/ViewGroup; // type@0059 │ │ -01d48e: 6e20 b500 2000 |0015: invoke-virtual {v0, v2}, Landroid/view/ViewGroup;.getChildAt:(I)Landroid/view/View; // method@00b5 │ │ -01d494: 0c00 |0018: move-result-object v0 │ │ -01d496: 4d00 0106 |0019: aput-object v0, v1, v6 │ │ -01d49a: 1236 |001b: const/4 v6, #int 3 // #3 │ │ -01d49c: 4600 0106 |001c: aget-object v0, v1, v6 │ │ -01d4a0: 1f00 5900 |001e: check-cast v0, Landroid/view/ViewGroup; // type@0059 │ │ -01d4a4: 6e20 b500 2000 |0020: invoke-virtual {v0, v2}, Landroid/view/ViewGroup;.getChildAt:(I)Landroid/view/View; // method@00b5 │ │ -01d4aa: 0c00 |0023: move-result-object v0 │ │ -01d4ac: 4d00 0106 |0024: aput-object v0, v1, v6 │ │ -01d4b0: 1101 |0026: return-object v1 │ │ +01d450: |[01d450] dnsfilter.android.FilterConfig.getContentCells:(Landroid/widget/TableRow;)[Landroid/view/View; │ │ +01d460: 1250 |0000: const/4 v0, #int 5 // #5 │ │ +01d462: 2301 a201 |0001: new-array v1, v0, [Landroid/view/View; // type@01a2 │ │ +01d466: 1202 |0003: const/4 v2, #int 0 // #0 │ │ +01d468: 1203 |0004: const/4 v3, #int 0 // #0 │ │ +01d46a: 3503 0b00 |0005: if-ge v3, v0, 0010 // +000b │ │ +01d46e: 6e20 ff00 3600 |0007: invoke-virtual {v6, v3}, Landroid/widget/TableRow;.getChildAt:(I)Landroid/view/View; // method@00ff │ │ +01d474: 0c04 |000a: move-result-object v4 │ │ +01d476: 4d04 0103 |000b: aput-object v4, v1, v3 │ │ +01d47a: d803 0301 |000d: add-int/lit8 v3, v3, #int 1 // #01 │ │ +01d47e: 28f6 |000f: goto 0005 // -000a │ │ +01d480: 1226 |0010: const/4 v6, #int 2 // #2 │ │ +01d482: 4600 0106 |0011: aget-object v0, v1, v6 │ │ +01d486: 1f00 5900 |0013: check-cast v0, Landroid/view/ViewGroup; // type@0059 │ │ +01d48a: 6e20 b500 2000 |0015: invoke-virtual {v0, v2}, Landroid/view/ViewGroup;.getChildAt:(I)Landroid/view/View; // method@00b5 │ │ +01d490: 0c00 |0018: move-result-object v0 │ │ +01d492: 4d00 0106 |0019: aput-object v0, v1, v6 │ │ +01d496: 1236 |001b: const/4 v6, #int 3 // #3 │ │ +01d498: 4600 0106 |001c: aget-object v0, v1, v6 │ │ +01d49c: 1f00 5900 |001e: check-cast v0, Landroid/view/ViewGroup; // type@0059 │ │ +01d4a0: 6e20 b500 2000 |0020: invoke-virtual {v0, v2}, Landroid/view/ViewGroup;.getChildAt:(I)Landroid/view/View; // method@00b5 │ │ +01d4a6: 0c00 |0023: move-result-object v0 │ │ +01d4a8: 4d00 0106 |0024: aput-object v0, v1, v6 │ │ +01d4ac: 1101 |0026: return-object v1 │ │ catches : (none) │ │ positions : │ │ 0x0001 line=87 │ │ 0x0007 line=89 │ │ 0x0011 line=91 │ │ 0x001c line=92 │ │ locals : │ │ @@ -16295,51 +16295,51 @@ │ │ type : '(Landroid/widget/Button;)V' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 4 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 71 16-bit code units │ │ -01d86c: |[01d86c] dnsfilter.android.FilterConfig.handleCategoryChange:(Landroid/widget/Button;)V │ │ -01d87c: 5420 3e01 |0000: iget-object v0, v2, Ldnsfilter/android/FilterConfig;.categoryField:Landroid/widget/TextView; // field@013e │ │ -01d880: 6e10 0401 0000 |0002: invoke-virtual {v0}, Landroid/widget/TextView;.getText:()Ljava/lang/CharSequence; // method@0104 │ │ -01d886: 0c00 |0005: move-result-object v0 │ │ -01d888: 7210 5005 0000 |0006: invoke-interface {v0}, Ljava/lang/CharSequence;.toString:()Ljava/lang/String; // method@0550 │ │ -01d88e: 0c00 |0009: move-result-object v0 │ │ -01d890: 5421 3f01 |000a: iget-object v1, v2, Ldnsfilter/android/FilterConfig;.categoryMap:Ljava/util/TreeMap; // field@013f │ │ -01d894: 6e20 6b06 0100 |000c: invoke-virtual {v1, v0}, Ljava/util/TreeMap;.containsKey:(Ljava/lang/Object;)Z // method@066b │ │ -01d89a: 0a01 |000f: move-result v1 │ │ -01d89c: 3901 0500 |0010: if-nez v1, 0015 // +0005 │ │ -01d8a0: 6203 3901 |0012: sget-object v3, Ldnsfilter/android/FilterConfig;.ALL_ACTIVE:Ljava/lang/String; // field@0139 │ │ -01d8a4: 282a |0014: goto 003e // +002a │ │ -01d8a6: 5421 4001 |0015: iget-object v1, v2, Ldnsfilter/android/FilterConfig;.categoryUp:Landroid/widget/Button; // field@0140 │ │ -01d8aa: 3313 1500 |0017: if-ne v3, v1, 002c // +0015 │ │ -01d8ae: 5423 3f01 |0019: iget-object v3, v2, Ldnsfilter/android/FilterConfig;.categoryMap:Ljava/util/TreeMap; // field@013f │ │ -01d8b2: 6e20 6e06 0300 |001b: invoke-virtual {v3, v0}, Ljava/util/TreeMap;.higherKey:(Ljava/lang/Object;)Ljava/lang/Object; // method@066e │ │ -01d8b8: 0c03 |001e: move-result-object v3 │ │ -01d8ba: 1f03 2b01 |001f: check-cast v3, Ljava/lang/String; // type@012b │ │ -01d8be: 3903 1d00 |0021: if-nez v3, 003e // +001d │ │ -01d8c2: 5423 3f01 |0023: iget-object v3, v2, Ldnsfilter/android/FilterConfig;.categoryMap:Ljava/util/TreeMap; // field@013f │ │ -01d8c6: 6e10 6c06 0300 |0025: invoke-virtual {v3}, Ljava/util/TreeMap;.firstKey:()Ljava/lang/Object; // method@066c │ │ -01d8cc: 0c03 |0028: move-result-object v3 │ │ -01d8ce: 1f03 2b01 |0029: check-cast v3, Ljava/lang/String; // type@012b │ │ -01d8d2: 2813 |002b: goto 003e // +0013 │ │ -01d8d4: 5423 3f01 |002c: iget-object v3, v2, Ldnsfilter/android/FilterConfig;.categoryMap:Ljava/util/TreeMap; // field@013f │ │ -01d8d8: 6e20 7006 0300 |002e: invoke-virtual {v3, v0}, Ljava/util/TreeMap;.lowerKey:(Ljava/lang/Object;)Ljava/lang/Object; // method@0670 │ │ -01d8de: 0c03 |0031: move-result-object v3 │ │ -01d8e0: 1f03 2b01 |0032: check-cast v3, Ljava/lang/String; // type@012b │ │ -01d8e4: 3903 0a00 |0034: if-nez v3, 003e // +000a │ │ -01d8e8: 5423 3f01 |0036: iget-object v3, v2, Ldnsfilter/android/FilterConfig;.categoryMap:Ljava/util/TreeMap; // field@013f │ │ -01d8ec: 6e10 6f06 0300 |0038: invoke-virtual {v3}, Ljava/util/TreeMap;.lastKey:()Ljava/lang/Object; // method@066f │ │ -01d8f2: 0c03 |003b: move-result-object v3 │ │ -01d8f4: 1f03 2b01 |003c: check-cast v3, Ljava/lang/String; // type@012b │ │ -01d8f8: 5420 3e01 |003e: iget-object v0, v2, Ldnsfilter/android/FilterConfig;.categoryField:Landroid/widget/TextView; // field@013e │ │ -01d8fc: 6e20 0901 3000 |0040: invoke-virtual {v0, v3}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@0109 │ │ -01d902: 7010 4903 0200 |0043: invoke-direct {v2}, Ldnsfilter/android/FilterConfig;.updateView:()V // method@0349 │ │ -01d908: 0e00 |0046: return-void │ │ +01d868: |[01d868] dnsfilter.android.FilterConfig.handleCategoryChange:(Landroid/widget/Button;)V │ │ +01d878: 5420 3e01 |0000: iget-object v0, v2, Ldnsfilter/android/FilterConfig;.categoryField:Landroid/widget/TextView; // field@013e │ │ +01d87c: 6e10 0401 0000 |0002: invoke-virtual {v0}, Landroid/widget/TextView;.getText:()Ljava/lang/CharSequence; // method@0104 │ │ +01d882: 0c00 |0005: move-result-object v0 │ │ +01d884: 7210 5005 0000 |0006: invoke-interface {v0}, Ljava/lang/CharSequence;.toString:()Ljava/lang/String; // method@0550 │ │ +01d88a: 0c00 |0009: move-result-object v0 │ │ +01d88c: 5421 3f01 |000a: iget-object v1, v2, Ldnsfilter/android/FilterConfig;.categoryMap:Ljava/util/TreeMap; // field@013f │ │ +01d890: 6e20 6b06 0100 |000c: invoke-virtual {v1, v0}, Ljava/util/TreeMap;.containsKey:(Ljava/lang/Object;)Z // method@066b │ │ +01d896: 0a01 |000f: move-result v1 │ │ +01d898: 3901 0500 |0010: if-nez v1, 0015 // +0005 │ │ +01d89c: 6203 3901 |0012: sget-object v3, Ldnsfilter/android/FilterConfig;.ALL_ACTIVE:Ljava/lang/String; // field@0139 │ │ +01d8a0: 282a |0014: goto 003e // +002a │ │ +01d8a2: 5421 4001 |0015: iget-object v1, v2, Ldnsfilter/android/FilterConfig;.categoryUp:Landroid/widget/Button; // field@0140 │ │ +01d8a6: 3313 1500 |0017: if-ne v3, v1, 002c // +0015 │ │ +01d8aa: 5423 3f01 |0019: iget-object v3, v2, Ldnsfilter/android/FilterConfig;.categoryMap:Ljava/util/TreeMap; // field@013f │ │ +01d8ae: 6e20 6e06 0300 |001b: invoke-virtual {v3, v0}, Ljava/util/TreeMap;.higherKey:(Ljava/lang/Object;)Ljava/lang/Object; // method@066e │ │ +01d8b4: 0c03 |001e: move-result-object v3 │ │ +01d8b6: 1f03 2b01 |001f: check-cast v3, Ljava/lang/String; // type@012b │ │ +01d8ba: 3903 1d00 |0021: if-nez v3, 003e // +001d │ │ +01d8be: 5423 3f01 |0023: iget-object v3, v2, Ldnsfilter/android/FilterConfig;.categoryMap:Ljava/util/TreeMap; // field@013f │ │ +01d8c2: 6e10 6c06 0300 |0025: invoke-virtual {v3}, Ljava/util/TreeMap;.firstKey:()Ljava/lang/Object; // method@066c │ │ +01d8c8: 0c03 |0028: move-result-object v3 │ │ +01d8ca: 1f03 2b01 |0029: check-cast v3, Ljava/lang/String; // type@012b │ │ +01d8ce: 2813 |002b: goto 003e // +0013 │ │ +01d8d0: 5423 3f01 |002c: iget-object v3, v2, Ldnsfilter/android/FilterConfig;.categoryMap:Ljava/util/TreeMap; // field@013f │ │ +01d8d4: 6e20 7006 0300 |002e: invoke-virtual {v3, v0}, Ljava/util/TreeMap;.lowerKey:(Ljava/lang/Object;)Ljava/lang/Object; // method@0670 │ │ +01d8da: 0c03 |0031: move-result-object v3 │ │ +01d8dc: 1f03 2b01 |0032: check-cast v3, Ljava/lang/String; // type@012b │ │ +01d8e0: 3903 0a00 |0034: if-nez v3, 003e // +000a │ │ +01d8e4: 5423 3f01 |0036: iget-object v3, v2, Ldnsfilter/android/FilterConfig;.categoryMap:Ljava/util/TreeMap; // field@013f │ │ +01d8e8: 6e10 6f06 0300 |0038: invoke-virtual {v3}, Ljava/util/TreeMap;.lastKey:()Ljava/lang/Object; // method@066f │ │ +01d8ee: 0c03 |003b: move-result-object v3 │ │ +01d8f0: 1f03 2b01 |003c: check-cast v3, Ljava/lang/String; // type@012b │ │ +01d8f4: 5420 3e01 |003e: iget-object v0, v2, Ldnsfilter/android/FilterConfig;.categoryField:Landroid/widget/TextView; // field@013e │ │ +01d8f8: 6e20 0901 3000 |0040: invoke-virtual {v0, v3}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@0109 │ │ +01d8fe: 7010 4903 0200 |0043: invoke-direct {v2}, Ldnsfilter/android/FilterConfig;.updateView:()V // method@0349 │ │ +01d904: 0e00 |0046: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=220 │ │ 0x000a line=222 │ │ 0x0012 line=223 │ │ 0x0015 line=225 │ │ 0x0019 line=226 │ │ @@ -16357,210 +16357,210 @@ │ │ type : '(Landroid/view/View;)V' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 18 │ │ ins : 2 │ │ outs : 3 │ │ insns size : 404 16-bit code units │ │ -01d90c: |[01d90c] dnsfilter.android.FilterConfig.handleEditDialogEvent:(Landroid/view/View;)V │ │ -01d91c: 0801 1000 |0000: move-object/from16 v1, v16 │ │ -01d920: 0800 1100 |0002: move-object/from16 v0, v17 │ │ -01d924: 5412 4201 |0004: iget-object v2, v1, Ldnsfilter/android/FilterConfig;.editCancel:Landroid/widget/Button; // field@0142 │ │ -01d928: 1303 0800 |0006: const/16 v3, #int 8 // #8 │ │ -01d92c: 1404 2800 057f |0008: const v4, #float 1.76788e+38 // #7f050028 │ │ -01d932: 3320 1100 |000b: if-ne v0, v2, 001c // +0011 │ │ -01d936: 5410 4401 |000d: iget-object v0, v1, Ldnsfilter/android/FilterConfig;.editDialog:Landroid/app/Dialog; // field@0144 │ │ -01d93a: 6e10 1600 0000 |000f: invoke-virtual {v0}, Landroid/app/Dialog;.dismiss:()V // method@0016 │ │ -01d940: 5410 4401 |0012: iget-object v0, v1, Ldnsfilter/android/FilterConfig;.editDialog:Landroid/app/Dialog; // field@0144 │ │ -01d944: 6e20 1700 4000 |0014: invoke-virtual {v0, v4}, Landroid/app/Dialog;.findViewById:(I)Landroid/view/View; // method@0017 │ │ -01d94a: 0c00 |0017: move-result-object v0 │ │ -01d94c: 6e20 b400 3000 |0018: invoke-virtual {v0, v3}, Landroid/view/View;.setVisibility:(I)V // method@00b4 │ │ -01d952: 0e00 |001b: return-void │ │ -01d954: 5412 4601 |001c: iget-object v2, v1, Ldnsfilter/android/FilterConfig;.editedRow:Landroid/widget/TableRow; // field@0146 │ │ -01d958: 7020 3b03 2100 |001e: invoke-direct {v1, v2}, Ldnsfilter/android/FilterConfig;.getContentCells:(Landroid/widget/TableRow;)[Landroid/view/View; // method@033b │ │ -01d95e: 0c02 |0021: move-result-object v2 │ │ -01d960: 1225 |0022: const/4 v5, #int 2 // #2 │ │ -01d962: 4606 0205 |0023: aget-object v6, v2, v5 │ │ -01d966: 1f06 7300 |0025: check-cast v6, Landroid/widget/TextView; // type@0073 │ │ -01d96a: 6e10 0401 0600 |0027: invoke-virtual {v6}, Landroid/widget/TextView;.getText:()Ljava/lang/CharSequence; // method@0104 │ │ -01d970: 0c06 |002a: move-result-object v6 │ │ -01d972: 7210 5005 0600 |002b: invoke-interface {v6}, Ljava/lang/CharSequence;.toString:()Ljava/lang/String; // method@0550 │ │ -01d978: 0c06 |002e: move-result-object v6 │ │ -01d97a: 6207 3c01 |002f: sget-object v7, Ldnsfilter/android/FilterConfig;.NEW_ITEM:Ljava/lang/String; // field@013c │ │ -01d97e: 6e20 8b05 7600 |0031: invoke-virtual {v6, v7}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058b │ │ -01d984: 0a06 |0034: move-result v6 │ │ -01d986: 5417 4301 |0035: iget-object v7, v1, Ldnsfilter/android/FilterConfig;.editDelete:Landroid/widget/Button; // field@0143 │ │ -01d98a: 1238 |0037: const/4 v8, #int 3 // #3 │ │ -01d98c: 1219 |0038: const/4 v9, #int 1 // #1 │ │ -01d98e: 3370 5400 |0039: if-ne v0, v7, 008d // +0054 │ │ -01d992: 3906 4200 |003b: if-nez v6, 007d // +0042 │ │ -01d996: 5410 4601 |003d: iget-object v0, v1, Ldnsfilter/android/FilterConfig;.editedRow:Landroid/widget/TableRow; // field@0146 │ │ -01d99a: 6e20 ff00 8000 |003f: invoke-virtual {v0, v8}, Landroid/widget/TableRow;.getChildAt:(I)Landroid/view/View; // method@00ff │ │ -01d9a0: 0c00 |0042: move-result-object v0 │ │ -01d9a2: 1205 |0043: const/4 v5, #int 0 // #0 │ │ -01d9a4: 6e20 b200 5000 |0044: invoke-virtual {v0, v5}, Landroid/view/View;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@00b2 │ │ -01d9aa: 5410 4101 |0047: iget-object v0, v1, Ldnsfilter/android/FilterConfig;.configTable:Landroid/widget/TableLayout; // field@0141 │ │ -01d9ae: 5415 4601 |0049: iget-object v5, v1, Ldnsfilter/android/FilterConfig;.editedRow:Landroid/widget/TableRow; // field@0146 │ │ -01d9b2: 6e20 fe00 5000 |004b: invoke-virtual {v0, v5}, Landroid/widget/TableLayout;.removeView:(Landroid/view/View;)V // method@00fe │ │ -01d9b8: 4600 0209 |004e: aget-object v0, v2, v9 │ │ -01d9bc: 1f00 7300 |0050: check-cast v0, Landroid/widget/TextView; // type@0073 │ │ -01d9c0: 6e10 0401 0000 |0052: invoke-virtual {v0}, Landroid/widget/TextView;.getText:()Ljava/lang/CharSequence; // method@0104 │ │ -01d9c6: 0c00 |0055: move-result-object v0 │ │ -01d9c8: 7210 5005 0000 |0056: invoke-interface {v0}, Ljava/lang/CharSequence;.toString:()Ljava/lang/String; // method@0550 │ │ -01d9ce: 0c00 |0059: move-result-object v0 │ │ -01d9d0: 5412 3f01 |005a: iget-object v2, v1, Ldnsfilter/android/FilterConfig;.categoryMap:Ljava/util/TreeMap; // field@013f │ │ -01d9d4: 6e20 6d06 0200 |005c: invoke-virtual {v2, v0}, Ljava/util/TreeMap;.get:(Ljava/lang/Object;)Ljava/lang/Object; // method@066d │ │ -01d9da: 0c02 |005f: move-result-object v2 │ │ -01d9dc: 1f02 1e01 |0060: check-cast v2, Ljava/lang/Integer; // type@011e │ │ -01d9e0: 6e10 6405 0200 |0062: invoke-virtual {v2}, Ljava/lang/Integer;.intValue:()I // method@0564 │ │ -01d9e6: 0a05 |0065: move-result v5 │ │ -01d9e8: 3395 0800 |0066: if-ne v5, v9, 006e // +0008 │ │ -01d9ec: 5412 3f01 |0068: iget-object v2, v1, Ldnsfilter/android/FilterConfig;.categoryMap:Ljava/util/TreeMap; // field@013f │ │ -01d9f0: 6e20 7206 0200 |006a: invoke-virtual {v2, v0}, Ljava/util/TreeMap;.remove:(Ljava/lang/Object;)Ljava/lang/Object; // method@0672 │ │ -01d9f6: 2810 |006d: goto 007d // +0010 │ │ -01d9f8: 5415 3f01 |006e: iget-object v5, v1, Ldnsfilter/android/FilterConfig;.categoryMap:Ljava/util/TreeMap; // field@013f │ │ -01d9fc: 2206 1e01 |0070: new-instance v6, Ljava/lang/Integer; // type@011e │ │ -01da00: 6e10 6405 0200 |0072: invoke-virtual {v2}, Ljava/lang/Integer;.intValue:()I // method@0564 │ │ -01da06: 0a02 |0075: move-result v2 │ │ -01da08: b192 |0076: sub-int/2addr v2, v9 │ │ -01da0a: 7020 6305 2600 |0077: invoke-direct {v6, v2}, Ljava/lang/Integer;.:(I)V // method@0563 │ │ -01da10: 6e30 7106 0506 |007a: invoke-virtual {v5, v0, v6}, Ljava/util/TreeMap;.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; // method@0671 │ │ -01da16: 5410 4401 |007d: iget-object v0, v1, Ldnsfilter/android/FilterConfig;.editDialog:Landroid/app/Dialog; // field@0144 │ │ -01da1a: 6e10 1600 0000 |007f: invoke-virtual {v0}, Landroid/app/Dialog;.dismiss:()V // method@0016 │ │ -01da20: 5410 4401 |0082: iget-object v0, v1, Ldnsfilter/android/FilterConfig;.editDialog:Landroid/app/Dialog; // field@0144 │ │ -01da24: 6e20 1700 4000 |0084: invoke-virtual {v0, v4}, Landroid/app/Dialog;.findViewById:(I)Landroid/view/View; // method@0017 │ │ -01da2a: 0c00 |0087: move-result-object v0 │ │ -01da2c: 6e20 b400 3000 |0088: invoke-virtual {v0, v3}, Landroid/view/View;.setVisibility:(I)V // method@00b4 │ │ -01da32: 2900 0801 |008b: goto/16 0193 // +0108 │ │ -01da36: 5417 4501 |008d: iget-object v7, v1, Ldnsfilter/android/FilterConfig;.editOk:Landroid/widget/Button; // field@0145 │ │ -01da3a: 3370 0401 |008f: if-ne v0, v7, 0193 // +0104 │ │ -01da3e: 5410 4401 |0091: iget-object v0, v1, Ldnsfilter/android/FilterConfig;.editDialog:Landroid/app/Dialog; // field@0144 │ │ -01da42: 1407 0400 057f |0093: const v7, #float 1.76787e+38 // #7f050004 │ │ -01da48: 6e20 1700 7000 |0096: invoke-virtual {v0, v7}, Landroid/app/Dialog;.findViewById:(I)Landroid/view/View; // method@0017 │ │ -01da4e: 0c00 |0099: move-result-object v0 │ │ -01da50: 5417 4401 |009a: iget-object v7, v1, Ldnsfilter/android/FilterConfig;.editDialog:Landroid/app/Dialog; // field@0144 │ │ -01da54: 140a 2900 057f |009c: const v10, #float 1.76788e+38 // #7f050029 │ │ -01da5a: 6e20 1700 a700 |009f: invoke-virtual {v7, v10}, Landroid/app/Dialog;.findViewById:(I)Landroid/view/View; // method@0017 │ │ -01da60: 0c07 |00a2: move-result-object v7 │ │ -01da62: 541a 4401 |00a3: iget-object v10, v1, Ldnsfilter/android/FilterConfig;.editDialog:Landroid/app/Dialog; // field@0144 │ │ -01da66: 140b 2d00 057f |00a5: const v11, #float 1.76788e+38 // #7f05002d │ │ -01da6c: 6e20 1700 ba00 |00a8: invoke-virtual {v10, v11}, Landroid/app/Dialog;.findViewById:(I)Landroid/view/View; // method@0017 │ │ -01da72: 0c0a |00ab: move-result-object v10 │ │ -01da74: 541b 4401 |00ac: iget-object v11, v1, Ldnsfilter/android/FilterConfig;.editDialog:Landroid/app/Dialog; // field@0144 │ │ -01da78: 140c 2f00 057f |00ae: const v12, #float 1.76788e+38 // #7f05002f │ │ -01da7e: 6e20 1700 cb00 |00b1: invoke-virtual {v11, v12}, Landroid/app/Dialog;.findViewById:(I)Landroid/view/View; // method@0017 │ │ -01da84: 0c0b |00b4: move-result-object v11 │ │ -01da86: 124c |00b5: const/4 v12, #int 4 // #4 │ │ -01da88: 23cc a201 |00b6: new-array v12, v12, [Landroid/view/View; // type@01a2 │ │ -01da8c: 120d |00b8: const/4 v13, #int 0 // #0 │ │ -01da8e: 4d00 0c0d |00b9: aput-object v0, v12, v13 │ │ -01da92: 4d07 0c09 |00bb: aput-object v7, v12, v9 │ │ -01da96: 4d0a 0c05 |00bd: aput-object v10, v12, v5 │ │ -01da9a: 4d0b 0c08 |00bf: aput-object v11, v12, v8 │ │ -01da9e: 7020 4a03 c100 |00c1: invoke-direct {v1, v12}, Ldnsfilter/android/FilterConfig;.validateContent:([Landroid/view/View;)V // method@034a │ │ -01daa4: 4600 0c0d |00c4: aget-object v0, v12, v13 │ │ -01daa8: 1f00 6400 |00c6: check-cast v0, Landroid/widget/CheckBox; // type@0064 │ │ -01daac: 6e10 cc00 0000 |00c8: invoke-virtual {v0}, Landroid/widget/CheckBox;.isChecked:()Z // method@00cc │ │ -01dab2: 0a00 |00cb: move-result v0 │ │ -01dab4: 4607 0c09 |00cc: aget-object v7, v12, v9 │ │ -01dab8: 1f07 7300 |00ce: check-cast v7, Landroid/widget/TextView; // type@0073 │ │ -01dabc: 6e10 0401 0700 |00d0: invoke-virtual {v7}, Landroid/widget/TextView;.getText:()Ljava/lang/CharSequence; // method@0104 │ │ -01dac2: 0c07 |00d3: move-result-object v7 │ │ -01dac4: 7210 5005 0700 |00d4: invoke-interface {v7}, Ljava/lang/CharSequence;.toString:()Ljava/lang/String; // method@0550 │ │ -01daca: 0c07 |00d7: move-result-object v7 │ │ -01dacc: 460a 0c05 |00d8: aget-object v10, v12, v5 │ │ -01dad0: 1f0a 7300 |00da: check-cast v10, Landroid/widget/TextView; // type@0073 │ │ -01dad4: 6e10 0401 0a00 |00dc: invoke-virtual {v10}, Landroid/widget/TextView;.getText:()Ljava/lang/CharSequence; // method@0104 │ │ -01dada: 0c0a |00df: move-result-object v10 │ │ -01dadc: 7210 5005 0a00 |00e0: invoke-interface {v10}, Ljava/lang/CharSequence;.toString:()Ljava/lang/String; // method@0550 │ │ -01dae2: 0c0a |00e3: move-result-object v10 │ │ -01dae4: 460b 0c08 |00e4: aget-object v11, v12, v8 │ │ -01dae8: 1f0b 7300 |00e6: check-cast v11, Landroid/widget/TextView; // type@0073 │ │ -01daec: 6e10 0401 0b00 |00e8: invoke-virtual {v11}, Landroid/widget/TextView;.getText:()Ljava/lang/CharSequence; // method@0104 │ │ -01daf2: 0c0b |00eb: move-result-object v11 │ │ -01daf4: 7210 5005 0b00 |00ec: invoke-interface {v11}, Ljava/lang/CharSequence;.toString:()Ljava/lang/String; // method@0550 │ │ -01dafa: 0c0b |00ef: move-result-object v11 │ │ -01dafc: 460c 0209 |00f0: aget-object v12, v2, v9 │ │ -01db00: 1f0c 7300 |00f2: check-cast v12, Landroid/widget/TextView; // type@0073 │ │ -01db04: 6e10 0401 0c00 |00f4: invoke-virtual {v12}, Landroid/widget/TextView;.getText:()Ljava/lang/CharSequence; // method@0104 │ │ -01db0a: 0c0c |00f7: move-result-object v12 │ │ -01db0c: 7210 5005 0c00 |00f8: invoke-interface {v12}, Ljava/lang/CharSequence;.toString:()Ljava/lang/String; // method@0550 │ │ -01db12: 0c0c |00fb: move-result-object v12 │ │ -01db14: 6e20 8b05 7c00 |00fc: invoke-virtual {v12, v7}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058b │ │ -01db1a: 0a0e |00ff: move-result v14 │ │ -01db1c: 390e 4b00 |0100: if-nez v14, 014b // +004b │ │ -01db20: 620e 3c01 |0102: sget-object v14, Ldnsfilter/android/FilterConfig;.NEW_ITEM:Ljava/lang/String; // field@013c │ │ -01db24: 6e20 8b05 ec00 |0104: invoke-virtual {v12, v14}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058b │ │ -01db2a: 0a0e |0107: move-result v14 │ │ -01db2c: 390e 2500 |0108: if-nez v14, 012d // +0025 │ │ -01db30: 541e 3f01 |010a: iget-object v14, v1, Ldnsfilter/android/FilterConfig;.categoryMap:Ljava/util/TreeMap; // field@013f │ │ -01db34: 6e20 6d06 ce00 |010c: invoke-virtual {v14, v12}, Ljava/util/TreeMap;.get:(Ljava/lang/Object;)Ljava/lang/Object; // method@066d │ │ -01db3a: 0c0e |010f: move-result-object v14 │ │ -01db3c: 1f0e 1e01 |0110: check-cast v14, Ljava/lang/Integer; // type@011e │ │ -01db40: 6e10 6405 0e00 |0112: invoke-virtual {v14}, Ljava/lang/Integer;.intValue:()I // method@0564 │ │ -01db46: 0a0f |0115: move-result v15 │ │ -01db48: 339f 0800 |0116: if-ne v15, v9, 011e // +0008 │ │ -01db4c: 541e 3f01 |0118: iget-object v14, v1, Ldnsfilter/android/FilterConfig;.categoryMap:Ljava/util/TreeMap; // field@013f │ │ -01db50: 6e20 7206 ce00 |011a: invoke-virtual {v14, v12}, Ljava/util/TreeMap;.remove:(Ljava/lang/Object;)Ljava/lang/Object; // method@0672 │ │ -01db56: 2810 |011d: goto 012d // +0010 │ │ -01db58: 541f 3f01 |011e: iget-object v15, v1, Ldnsfilter/android/FilterConfig;.categoryMap:Ljava/util/TreeMap; // field@013f │ │ -01db5c: 2203 1e01 |0120: new-instance v3, Ljava/lang/Integer; // type@011e │ │ -01db60: 6e10 6405 0e00 |0122: invoke-virtual {v14}, Ljava/lang/Integer;.intValue:()I // method@0564 │ │ -01db66: 0a0e |0125: move-result v14 │ │ -01db68: b19e |0126: sub-int/2addr v14, v9 │ │ -01db6a: 7020 6305 e300 |0127: invoke-direct {v3, v14}, Ljava/lang/Integer;.:(I)V // method@0563 │ │ -01db70: 6e30 7106 cf03 |012a: invoke-virtual {v15, v12, v3}, Ljava/util/TreeMap;.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; // method@0671 │ │ -01db76: 5413 3f01 |012d: iget-object v3, v1, Ldnsfilter/android/FilterConfig;.categoryMap:Ljava/util/TreeMap; // field@013f │ │ -01db7a: 6e20 6d06 7300 |012f: invoke-virtual {v3, v7}, Ljava/util/TreeMap;.get:(Ljava/lang/Object;)Ljava/lang/Object; // method@066d │ │ -01db80: 0c03 |0132: move-result-object v3 │ │ -01db82: 1f03 1e01 |0133: check-cast v3, Ljava/lang/Integer; // type@011e │ │ -01db86: 3903 0700 |0135: if-nez v3, 013c // +0007 │ │ -01db8a: 2203 1e01 |0137: new-instance v3, Ljava/lang/Integer; // type@011e │ │ -01db8e: 7020 6305 d300 |0139: invoke-direct {v3, v13}, Ljava/lang/Integer;.:(I)V // method@0563 │ │ -01db94: 541c 3f01 |013c: iget-object v12, v1, Ldnsfilter/android/FilterConfig;.categoryMap:Ljava/util/TreeMap; // field@013f │ │ -01db98: 220e 1e01 |013e: new-instance v14, Ljava/lang/Integer; // type@011e │ │ -01db9c: 6e10 6405 0300 |0140: invoke-virtual {v3}, Ljava/lang/Integer;.intValue:()I // method@0564 │ │ -01dba2: 0a03 |0143: move-result v3 │ │ -01dba4: b093 |0144: add-int/2addr v3, v9 │ │ -01dba6: 7020 6305 3e00 |0145: invoke-direct {v14, v3}, Ljava/lang/Integer;.:(I)V // method@0563 │ │ -01dbac: 6e30 7106 7c0e |0148: invoke-virtual {v12, v7, v14}, Ljava/util/TreeMap;.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; // method@0671 │ │ -01dbb2: 4603 020d |014b: aget-object v3, v2, v13 │ │ -01dbb6: 1f03 6400 |014d: check-cast v3, Landroid/widget/CheckBox; // type@0064 │ │ -01dbba: 6e20 cd00 0300 |014f: invoke-virtual {v3, v0}, Landroid/widget/CheckBox;.setChecked:(Z)V // method@00cd │ │ -01dbc0: 4600 0209 |0152: aget-object v0, v2, v9 │ │ -01dbc4: 1f00 7300 |0154: check-cast v0, Landroid/widget/TextView; // type@0073 │ │ -01dbc8: 6e20 0901 7000 |0156: invoke-virtual {v0, v7}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@0109 │ │ -01dbce: 4600 0205 |0159: aget-object v0, v2, v5 │ │ -01dbd2: 1f00 7300 |015b: check-cast v0, Landroid/widget/TextView; // type@0073 │ │ -01dbd6: 6e20 0901 a000 |015d: invoke-virtual {v0, v10}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@0109 │ │ -01dbdc: 4600 0208 |0160: aget-object v0, v2, v8 │ │ -01dbe0: 1f00 7300 |0162: check-cast v0, Landroid/widget/TextView; // type@0073 │ │ -01dbe4: 6e20 0901 b000 |0164: invoke-virtual {v0, v11}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@0109 │ │ -01dbea: 3806 0700 |0167: if-eqz v6, 016e // +0007 │ │ -01dbee: 5410 4601 |0169: iget-object v0, v1, Ldnsfilter/android/FilterConfig;.editedRow:Landroid/widget/TableRow; // field@0146 │ │ -01dbf2: 7020 4103 0100 |016b: invoke-direct {v1, v0}, Ldnsfilter/android/FilterConfig;.newItem:(Landroid/widget/TableRow;)V // method@0341 │ │ -01dbf8: 5410 4401 |016e: iget-object v0, v1, Ldnsfilter/android/FilterConfig;.editDialog:Landroid/app/Dialog; // field@0144 │ │ -01dbfc: 6e10 1600 0000 |0170: invoke-virtual {v0}, Landroid/app/Dialog;.dismiss:()V // method@0016 │ │ -01dc02: 5410 4401 |0173: iget-object v0, v1, Ldnsfilter/android/FilterConfig;.editDialog:Landroid/app/Dialog; // field@0144 │ │ -01dc06: 6e20 1700 4000 |0175: invoke-virtual {v0, v4}, Landroid/app/Dialog;.findViewById:(I)Landroid/view/View; // method@0017 │ │ -01dc0c: 0c00 |0178: move-result-object v0 │ │ -01dc0e: 1302 0800 |0179: const/16 v2, #int 8 // #8 │ │ -01dc12: 6e20 b400 2000 |017b: invoke-virtual {v0, v2}, Landroid/view/View;.setVisibility:(I)V // method@00b4 │ │ -01dc18: 2815 |017e: goto 0193 // +0015 │ │ -01dc1a: 0d00 |017f: move-exception v0 │ │ -01dc1c: 0702 |0180: move-object v2, v0 │ │ -01dc1e: 5410 4401 |0181: iget-object v0, v1, Ldnsfilter/android/FilterConfig;.editDialog:Landroid/app/Dialog; // field@0144 │ │ -01dc22: 6e20 1700 4000 |0183: invoke-virtual {v0, v4}, Landroid/app/Dialog;.findViewById:(I)Landroid/view/View; // method@0017 │ │ -01dc28: 0c00 |0186: move-result-object v0 │ │ -01dc2a: 1f00 7300 |0187: check-cast v0, Landroid/widget/TextView; // type@0073 │ │ -01dc2e: 6e20 0b01 d000 |0189: invoke-virtual {v0, v13}, Landroid/widget/TextView;.setVisibility:(I)V // method@010b │ │ -01dc34: 6e10 5b05 0200 |018c: invoke-virtual {v2}, Ljava/lang/Exception;.getMessage:()Ljava/lang/String; // method@055b │ │ -01dc3a: 0c02 |018f: move-result-object v2 │ │ -01dc3c: 6e20 0901 2000 |0190: invoke-virtual {v0, v2}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@0109 │ │ -01dc42: 0e00 |0193: return-void │ │ +01d908: |[01d908] dnsfilter.android.FilterConfig.handleEditDialogEvent:(Landroid/view/View;)V │ │ +01d918: 0801 1000 |0000: move-object/from16 v1, v16 │ │ +01d91c: 0800 1100 |0002: move-object/from16 v0, v17 │ │ +01d920: 5412 4201 |0004: iget-object v2, v1, Ldnsfilter/android/FilterConfig;.editCancel:Landroid/widget/Button; // field@0142 │ │ +01d924: 1303 0800 |0006: const/16 v3, #int 8 // #8 │ │ +01d928: 1404 2800 057f |0008: const v4, #float 1.76788e+38 // #7f050028 │ │ +01d92e: 3320 1100 |000b: if-ne v0, v2, 001c // +0011 │ │ +01d932: 5410 4401 |000d: iget-object v0, v1, Ldnsfilter/android/FilterConfig;.editDialog:Landroid/app/Dialog; // field@0144 │ │ +01d936: 6e10 1600 0000 |000f: invoke-virtual {v0}, Landroid/app/Dialog;.dismiss:()V // method@0016 │ │ +01d93c: 5410 4401 |0012: iget-object v0, v1, Ldnsfilter/android/FilterConfig;.editDialog:Landroid/app/Dialog; // field@0144 │ │ +01d940: 6e20 1700 4000 |0014: invoke-virtual {v0, v4}, Landroid/app/Dialog;.findViewById:(I)Landroid/view/View; // method@0017 │ │ +01d946: 0c00 |0017: move-result-object v0 │ │ +01d948: 6e20 b400 3000 |0018: invoke-virtual {v0, v3}, Landroid/view/View;.setVisibility:(I)V // method@00b4 │ │ +01d94e: 0e00 |001b: return-void │ │ +01d950: 5412 4601 |001c: iget-object v2, v1, Ldnsfilter/android/FilterConfig;.editedRow:Landroid/widget/TableRow; // field@0146 │ │ +01d954: 7020 3b03 2100 |001e: invoke-direct {v1, v2}, Ldnsfilter/android/FilterConfig;.getContentCells:(Landroid/widget/TableRow;)[Landroid/view/View; // method@033b │ │ +01d95a: 0c02 |0021: move-result-object v2 │ │ +01d95c: 1225 |0022: const/4 v5, #int 2 // #2 │ │ +01d95e: 4606 0205 |0023: aget-object v6, v2, v5 │ │ +01d962: 1f06 7300 |0025: check-cast v6, Landroid/widget/TextView; // type@0073 │ │ +01d966: 6e10 0401 0600 |0027: invoke-virtual {v6}, Landroid/widget/TextView;.getText:()Ljava/lang/CharSequence; // method@0104 │ │ +01d96c: 0c06 |002a: move-result-object v6 │ │ +01d96e: 7210 5005 0600 |002b: invoke-interface {v6}, Ljava/lang/CharSequence;.toString:()Ljava/lang/String; // method@0550 │ │ +01d974: 0c06 |002e: move-result-object v6 │ │ +01d976: 6207 3c01 |002f: sget-object v7, Ldnsfilter/android/FilterConfig;.NEW_ITEM:Ljava/lang/String; // field@013c │ │ +01d97a: 6e20 8b05 7600 |0031: invoke-virtual {v6, v7}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058b │ │ +01d980: 0a06 |0034: move-result v6 │ │ +01d982: 5417 4301 |0035: iget-object v7, v1, Ldnsfilter/android/FilterConfig;.editDelete:Landroid/widget/Button; // field@0143 │ │ +01d986: 1238 |0037: const/4 v8, #int 3 // #3 │ │ +01d988: 1219 |0038: const/4 v9, #int 1 // #1 │ │ +01d98a: 3370 5400 |0039: if-ne v0, v7, 008d // +0054 │ │ +01d98e: 3906 4200 |003b: if-nez v6, 007d // +0042 │ │ +01d992: 5410 4601 |003d: iget-object v0, v1, Ldnsfilter/android/FilterConfig;.editedRow:Landroid/widget/TableRow; // field@0146 │ │ +01d996: 6e20 ff00 8000 |003f: invoke-virtual {v0, v8}, Landroid/widget/TableRow;.getChildAt:(I)Landroid/view/View; // method@00ff │ │ +01d99c: 0c00 |0042: move-result-object v0 │ │ +01d99e: 1205 |0043: const/4 v5, #int 0 // #0 │ │ +01d9a0: 6e20 b200 5000 |0044: invoke-virtual {v0, v5}, Landroid/view/View;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@00b2 │ │ +01d9a6: 5410 4101 |0047: iget-object v0, v1, Ldnsfilter/android/FilterConfig;.configTable:Landroid/widget/TableLayout; // field@0141 │ │ +01d9aa: 5415 4601 |0049: iget-object v5, v1, Ldnsfilter/android/FilterConfig;.editedRow:Landroid/widget/TableRow; // field@0146 │ │ +01d9ae: 6e20 fe00 5000 |004b: invoke-virtual {v0, v5}, Landroid/widget/TableLayout;.removeView:(Landroid/view/View;)V // method@00fe │ │ +01d9b4: 4600 0209 |004e: aget-object v0, v2, v9 │ │ +01d9b8: 1f00 7300 |0050: check-cast v0, Landroid/widget/TextView; // type@0073 │ │ +01d9bc: 6e10 0401 0000 |0052: invoke-virtual {v0}, Landroid/widget/TextView;.getText:()Ljava/lang/CharSequence; // method@0104 │ │ +01d9c2: 0c00 |0055: move-result-object v0 │ │ +01d9c4: 7210 5005 0000 |0056: invoke-interface {v0}, Ljava/lang/CharSequence;.toString:()Ljava/lang/String; // method@0550 │ │ +01d9ca: 0c00 |0059: move-result-object v0 │ │ +01d9cc: 5412 3f01 |005a: iget-object v2, v1, Ldnsfilter/android/FilterConfig;.categoryMap:Ljava/util/TreeMap; // field@013f │ │ +01d9d0: 6e20 6d06 0200 |005c: invoke-virtual {v2, v0}, Ljava/util/TreeMap;.get:(Ljava/lang/Object;)Ljava/lang/Object; // method@066d │ │ +01d9d6: 0c02 |005f: move-result-object v2 │ │ +01d9d8: 1f02 1e01 |0060: check-cast v2, Ljava/lang/Integer; // type@011e │ │ +01d9dc: 6e10 6405 0200 |0062: invoke-virtual {v2}, Ljava/lang/Integer;.intValue:()I // method@0564 │ │ +01d9e2: 0a05 |0065: move-result v5 │ │ +01d9e4: 3395 0800 |0066: if-ne v5, v9, 006e // +0008 │ │ +01d9e8: 5412 3f01 |0068: iget-object v2, v1, Ldnsfilter/android/FilterConfig;.categoryMap:Ljava/util/TreeMap; // field@013f │ │ +01d9ec: 6e20 7206 0200 |006a: invoke-virtual {v2, v0}, Ljava/util/TreeMap;.remove:(Ljava/lang/Object;)Ljava/lang/Object; // method@0672 │ │ +01d9f2: 2810 |006d: goto 007d // +0010 │ │ +01d9f4: 5415 3f01 |006e: iget-object v5, v1, Ldnsfilter/android/FilterConfig;.categoryMap:Ljava/util/TreeMap; // field@013f │ │ +01d9f8: 2206 1e01 |0070: new-instance v6, Ljava/lang/Integer; // type@011e │ │ +01d9fc: 6e10 6405 0200 |0072: invoke-virtual {v2}, Ljava/lang/Integer;.intValue:()I // method@0564 │ │ +01da02: 0a02 |0075: move-result v2 │ │ +01da04: b192 |0076: sub-int/2addr v2, v9 │ │ +01da06: 7020 6305 2600 |0077: invoke-direct {v6, v2}, Ljava/lang/Integer;.:(I)V // method@0563 │ │ +01da0c: 6e30 7106 0506 |007a: invoke-virtual {v5, v0, v6}, Ljava/util/TreeMap;.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; // method@0671 │ │ +01da12: 5410 4401 |007d: iget-object v0, v1, Ldnsfilter/android/FilterConfig;.editDialog:Landroid/app/Dialog; // field@0144 │ │ +01da16: 6e10 1600 0000 |007f: invoke-virtual {v0}, Landroid/app/Dialog;.dismiss:()V // method@0016 │ │ +01da1c: 5410 4401 |0082: iget-object v0, v1, Ldnsfilter/android/FilterConfig;.editDialog:Landroid/app/Dialog; // field@0144 │ │ +01da20: 6e20 1700 4000 |0084: invoke-virtual {v0, v4}, Landroid/app/Dialog;.findViewById:(I)Landroid/view/View; // method@0017 │ │ +01da26: 0c00 |0087: move-result-object v0 │ │ +01da28: 6e20 b400 3000 |0088: invoke-virtual {v0, v3}, Landroid/view/View;.setVisibility:(I)V // method@00b4 │ │ +01da2e: 2900 0801 |008b: goto/16 0193 // +0108 │ │ +01da32: 5417 4501 |008d: iget-object v7, v1, Ldnsfilter/android/FilterConfig;.editOk:Landroid/widget/Button; // field@0145 │ │ +01da36: 3370 0401 |008f: if-ne v0, v7, 0193 // +0104 │ │ +01da3a: 5410 4401 |0091: iget-object v0, v1, Ldnsfilter/android/FilterConfig;.editDialog:Landroid/app/Dialog; // field@0144 │ │ +01da3e: 1407 0400 057f |0093: const v7, #float 1.76787e+38 // #7f050004 │ │ +01da44: 6e20 1700 7000 |0096: invoke-virtual {v0, v7}, Landroid/app/Dialog;.findViewById:(I)Landroid/view/View; // method@0017 │ │ +01da4a: 0c00 |0099: move-result-object v0 │ │ +01da4c: 5417 4401 |009a: iget-object v7, v1, Ldnsfilter/android/FilterConfig;.editDialog:Landroid/app/Dialog; // field@0144 │ │ +01da50: 140a 2900 057f |009c: const v10, #float 1.76788e+38 // #7f050029 │ │ +01da56: 6e20 1700 a700 |009f: invoke-virtual {v7, v10}, Landroid/app/Dialog;.findViewById:(I)Landroid/view/View; // method@0017 │ │ +01da5c: 0c07 |00a2: move-result-object v7 │ │ +01da5e: 541a 4401 |00a3: iget-object v10, v1, Ldnsfilter/android/FilterConfig;.editDialog:Landroid/app/Dialog; // field@0144 │ │ +01da62: 140b 2d00 057f |00a5: const v11, #float 1.76788e+38 // #7f05002d │ │ +01da68: 6e20 1700 ba00 |00a8: invoke-virtual {v10, v11}, Landroid/app/Dialog;.findViewById:(I)Landroid/view/View; // method@0017 │ │ +01da6e: 0c0a |00ab: move-result-object v10 │ │ +01da70: 541b 4401 |00ac: iget-object v11, v1, Ldnsfilter/android/FilterConfig;.editDialog:Landroid/app/Dialog; // field@0144 │ │ +01da74: 140c 2f00 057f |00ae: const v12, #float 1.76788e+38 // #7f05002f │ │ +01da7a: 6e20 1700 cb00 |00b1: invoke-virtual {v11, v12}, Landroid/app/Dialog;.findViewById:(I)Landroid/view/View; // method@0017 │ │ +01da80: 0c0b |00b4: move-result-object v11 │ │ +01da82: 124c |00b5: const/4 v12, #int 4 // #4 │ │ +01da84: 23cc a201 |00b6: new-array v12, v12, [Landroid/view/View; // type@01a2 │ │ +01da88: 120d |00b8: const/4 v13, #int 0 // #0 │ │ +01da8a: 4d00 0c0d |00b9: aput-object v0, v12, v13 │ │ +01da8e: 4d07 0c09 |00bb: aput-object v7, v12, v9 │ │ +01da92: 4d0a 0c05 |00bd: aput-object v10, v12, v5 │ │ +01da96: 4d0b 0c08 |00bf: aput-object v11, v12, v8 │ │ +01da9a: 7020 4a03 c100 |00c1: invoke-direct {v1, v12}, Ldnsfilter/android/FilterConfig;.validateContent:([Landroid/view/View;)V // method@034a │ │ +01daa0: 4600 0c0d |00c4: aget-object v0, v12, v13 │ │ +01daa4: 1f00 6400 |00c6: check-cast v0, Landroid/widget/CheckBox; // type@0064 │ │ +01daa8: 6e10 cc00 0000 |00c8: invoke-virtual {v0}, Landroid/widget/CheckBox;.isChecked:()Z // method@00cc │ │ +01daae: 0a00 |00cb: move-result v0 │ │ +01dab0: 4607 0c09 |00cc: aget-object v7, v12, v9 │ │ +01dab4: 1f07 7300 |00ce: check-cast v7, Landroid/widget/TextView; // type@0073 │ │ +01dab8: 6e10 0401 0700 |00d0: invoke-virtual {v7}, Landroid/widget/TextView;.getText:()Ljava/lang/CharSequence; // method@0104 │ │ +01dabe: 0c07 |00d3: move-result-object v7 │ │ +01dac0: 7210 5005 0700 |00d4: invoke-interface {v7}, Ljava/lang/CharSequence;.toString:()Ljava/lang/String; // method@0550 │ │ +01dac6: 0c07 |00d7: move-result-object v7 │ │ +01dac8: 460a 0c05 |00d8: aget-object v10, v12, v5 │ │ +01dacc: 1f0a 7300 |00da: check-cast v10, Landroid/widget/TextView; // type@0073 │ │ +01dad0: 6e10 0401 0a00 |00dc: invoke-virtual {v10}, Landroid/widget/TextView;.getText:()Ljava/lang/CharSequence; // method@0104 │ │ +01dad6: 0c0a |00df: move-result-object v10 │ │ +01dad8: 7210 5005 0a00 |00e0: invoke-interface {v10}, Ljava/lang/CharSequence;.toString:()Ljava/lang/String; // method@0550 │ │ +01dade: 0c0a |00e3: move-result-object v10 │ │ +01dae0: 460b 0c08 |00e4: aget-object v11, v12, v8 │ │ +01dae4: 1f0b 7300 |00e6: check-cast v11, Landroid/widget/TextView; // type@0073 │ │ +01dae8: 6e10 0401 0b00 |00e8: invoke-virtual {v11}, Landroid/widget/TextView;.getText:()Ljava/lang/CharSequence; // method@0104 │ │ +01daee: 0c0b |00eb: move-result-object v11 │ │ +01daf0: 7210 5005 0b00 |00ec: invoke-interface {v11}, Ljava/lang/CharSequence;.toString:()Ljava/lang/String; // method@0550 │ │ +01daf6: 0c0b |00ef: move-result-object v11 │ │ +01daf8: 460c 0209 |00f0: aget-object v12, v2, v9 │ │ +01dafc: 1f0c 7300 |00f2: check-cast v12, Landroid/widget/TextView; // type@0073 │ │ +01db00: 6e10 0401 0c00 |00f4: invoke-virtual {v12}, Landroid/widget/TextView;.getText:()Ljava/lang/CharSequence; // method@0104 │ │ +01db06: 0c0c |00f7: move-result-object v12 │ │ +01db08: 7210 5005 0c00 |00f8: invoke-interface {v12}, Ljava/lang/CharSequence;.toString:()Ljava/lang/String; // method@0550 │ │ +01db0e: 0c0c |00fb: move-result-object v12 │ │ +01db10: 6e20 8b05 7c00 |00fc: invoke-virtual {v12, v7}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058b │ │ +01db16: 0a0e |00ff: move-result v14 │ │ +01db18: 390e 4b00 |0100: if-nez v14, 014b // +004b │ │ +01db1c: 620e 3c01 |0102: sget-object v14, Ldnsfilter/android/FilterConfig;.NEW_ITEM:Ljava/lang/String; // field@013c │ │ +01db20: 6e20 8b05 ec00 |0104: invoke-virtual {v12, v14}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058b │ │ +01db26: 0a0e |0107: move-result v14 │ │ +01db28: 390e 2500 |0108: if-nez v14, 012d // +0025 │ │ +01db2c: 541e 3f01 |010a: iget-object v14, v1, Ldnsfilter/android/FilterConfig;.categoryMap:Ljava/util/TreeMap; // field@013f │ │ +01db30: 6e20 6d06 ce00 |010c: invoke-virtual {v14, v12}, Ljava/util/TreeMap;.get:(Ljava/lang/Object;)Ljava/lang/Object; // method@066d │ │ +01db36: 0c0e |010f: move-result-object v14 │ │ +01db38: 1f0e 1e01 |0110: check-cast v14, Ljava/lang/Integer; // type@011e │ │ +01db3c: 6e10 6405 0e00 |0112: invoke-virtual {v14}, Ljava/lang/Integer;.intValue:()I // method@0564 │ │ +01db42: 0a0f |0115: move-result v15 │ │ +01db44: 339f 0800 |0116: if-ne v15, v9, 011e // +0008 │ │ +01db48: 541e 3f01 |0118: iget-object v14, v1, Ldnsfilter/android/FilterConfig;.categoryMap:Ljava/util/TreeMap; // field@013f │ │ +01db4c: 6e20 7206 ce00 |011a: invoke-virtual {v14, v12}, Ljava/util/TreeMap;.remove:(Ljava/lang/Object;)Ljava/lang/Object; // method@0672 │ │ +01db52: 2810 |011d: goto 012d // +0010 │ │ +01db54: 541f 3f01 |011e: iget-object v15, v1, Ldnsfilter/android/FilterConfig;.categoryMap:Ljava/util/TreeMap; // field@013f │ │ +01db58: 2203 1e01 |0120: new-instance v3, Ljava/lang/Integer; // type@011e │ │ +01db5c: 6e10 6405 0e00 |0122: invoke-virtual {v14}, Ljava/lang/Integer;.intValue:()I // method@0564 │ │ +01db62: 0a0e |0125: move-result v14 │ │ +01db64: b19e |0126: sub-int/2addr v14, v9 │ │ +01db66: 7020 6305 e300 |0127: invoke-direct {v3, v14}, Ljava/lang/Integer;.:(I)V // method@0563 │ │ +01db6c: 6e30 7106 cf03 |012a: invoke-virtual {v15, v12, v3}, Ljava/util/TreeMap;.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; // method@0671 │ │ +01db72: 5413 3f01 |012d: iget-object v3, v1, Ldnsfilter/android/FilterConfig;.categoryMap:Ljava/util/TreeMap; // field@013f │ │ +01db76: 6e20 6d06 7300 |012f: invoke-virtual {v3, v7}, Ljava/util/TreeMap;.get:(Ljava/lang/Object;)Ljava/lang/Object; // method@066d │ │ +01db7c: 0c03 |0132: move-result-object v3 │ │ +01db7e: 1f03 1e01 |0133: check-cast v3, Ljava/lang/Integer; // type@011e │ │ +01db82: 3903 0700 |0135: if-nez v3, 013c // +0007 │ │ +01db86: 2203 1e01 |0137: new-instance v3, Ljava/lang/Integer; // type@011e │ │ +01db8a: 7020 6305 d300 |0139: invoke-direct {v3, v13}, Ljava/lang/Integer;.:(I)V // method@0563 │ │ +01db90: 541c 3f01 |013c: iget-object v12, v1, Ldnsfilter/android/FilterConfig;.categoryMap:Ljava/util/TreeMap; // field@013f │ │ +01db94: 220e 1e01 |013e: new-instance v14, Ljava/lang/Integer; // type@011e │ │ +01db98: 6e10 6405 0300 |0140: invoke-virtual {v3}, Ljava/lang/Integer;.intValue:()I // method@0564 │ │ +01db9e: 0a03 |0143: move-result v3 │ │ +01dba0: b093 |0144: add-int/2addr v3, v9 │ │ +01dba2: 7020 6305 3e00 |0145: invoke-direct {v14, v3}, Ljava/lang/Integer;.:(I)V // method@0563 │ │ +01dba8: 6e30 7106 7c0e |0148: invoke-virtual {v12, v7, v14}, Ljava/util/TreeMap;.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; // method@0671 │ │ +01dbae: 4603 020d |014b: aget-object v3, v2, v13 │ │ +01dbb2: 1f03 6400 |014d: check-cast v3, Landroid/widget/CheckBox; // type@0064 │ │ +01dbb6: 6e20 cd00 0300 |014f: invoke-virtual {v3, v0}, Landroid/widget/CheckBox;.setChecked:(Z)V // method@00cd │ │ +01dbbc: 4600 0209 |0152: aget-object v0, v2, v9 │ │ +01dbc0: 1f00 7300 |0154: check-cast v0, Landroid/widget/TextView; // type@0073 │ │ +01dbc4: 6e20 0901 7000 |0156: invoke-virtual {v0, v7}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@0109 │ │ +01dbca: 4600 0205 |0159: aget-object v0, v2, v5 │ │ +01dbce: 1f00 7300 |015b: check-cast v0, Landroid/widget/TextView; // type@0073 │ │ +01dbd2: 6e20 0901 a000 |015d: invoke-virtual {v0, v10}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@0109 │ │ +01dbd8: 4600 0208 |0160: aget-object v0, v2, v8 │ │ +01dbdc: 1f00 7300 |0162: check-cast v0, Landroid/widget/TextView; // type@0073 │ │ +01dbe0: 6e20 0901 b000 |0164: invoke-virtual {v0, v11}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@0109 │ │ +01dbe6: 3806 0700 |0167: if-eqz v6, 016e // +0007 │ │ +01dbea: 5410 4601 |0169: iget-object v0, v1, Ldnsfilter/android/FilterConfig;.editedRow:Landroid/widget/TableRow; // field@0146 │ │ +01dbee: 7020 4103 0100 |016b: invoke-direct {v1, v0}, Ldnsfilter/android/FilterConfig;.newItem:(Landroid/widget/TableRow;)V // method@0341 │ │ +01dbf4: 5410 4401 |016e: iget-object v0, v1, Ldnsfilter/android/FilterConfig;.editDialog:Landroid/app/Dialog; // field@0144 │ │ +01dbf8: 6e10 1600 0000 |0170: invoke-virtual {v0}, Landroid/app/Dialog;.dismiss:()V // method@0016 │ │ +01dbfe: 5410 4401 |0173: iget-object v0, v1, Ldnsfilter/android/FilterConfig;.editDialog:Landroid/app/Dialog; // field@0144 │ │ +01dc02: 6e20 1700 4000 |0175: invoke-virtual {v0, v4}, Landroid/app/Dialog;.findViewById:(I)Landroid/view/View; // method@0017 │ │ +01dc08: 0c00 |0178: move-result-object v0 │ │ +01dc0a: 1302 0800 |0179: const/16 v2, #int 8 // #8 │ │ +01dc0e: 6e20 b400 2000 |017b: invoke-virtual {v0, v2}, Landroid/view/View;.setVisibility:(I)V // method@00b4 │ │ +01dc14: 2815 |017e: goto 0193 // +0015 │ │ +01dc16: 0d00 |017f: move-exception v0 │ │ +01dc18: 0702 |0180: move-object v2, v0 │ │ +01dc1a: 5410 4401 |0181: iget-object v0, v1, Ldnsfilter/android/FilterConfig;.editDialog:Landroid/app/Dialog; // field@0144 │ │ +01dc1e: 6e20 1700 4000 |0183: invoke-virtual {v0, v4}, Landroid/app/Dialog;.findViewById:(I)Landroid/view/View; // method@0017 │ │ +01dc24: 0c00 |0186: move-result-object v0 │ │ +01dc26: 1f00 7300 |0187: check-cast v0, Landroid/widget/TextView; // type@0073 │ │ +01dc2a: 6e20 0b01 d000 |0189: invoke-virtual {v0, v13}, Landroid/widget/TextView;.setVisibility:(I)V // method@010b │ │ +01dc30: 6e10 5b05 0200 |018c: invoke-virtual {v2}, Ljava/lang/Exception;.getMessage:()Ljava/lang/String; // method@055b │ │ +01dc36: 0c02 |018f: move-result-object v2 │ │ +01dc38: 6e20 0901 2000 |0190: invoke-virtual {v0, v2}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@0109 │ │ +01dc3e: 0e00 |0193: return-void │ │ catches : 1 │ │ 0x00c1 - 0x00c4 │ │ Ljava/lang/Exception; -> 0x017f │ │ positions : │ │ 0x0004 line=262 │ │ 0x000d line=263 │ │ 0x0012 line=264 │ │ @@ -16615,17 +16615,17 @@ │ │ type : '(Landroid/widget/TableRow;)V' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 2 │ │ ins : 2 │ │ outs : 1 │ │ insns size : 4 16-bit code units │ │ -01dcb8: |[01dcb8] dnsfilter.android.FilterConfig.newItem:(Landroid/widget/TableRow;)V │ │ -01dcc8: 7010 3803 0000 |0000: invoke-direct {v0}, Ldnsfilter/android/FilterConfig;.addEmptyEndItem:()V // method@0338 │ │ -01dcce: 0e00 |0003: return-void │ │ +01dcb4: |[01dcb4] dnsfilter.android.FilterConfig.newItem:(Landroid/widget/TableRow;)V │ │ +01dcc4: 7010 3803 0000 |0000: invoke-direct {v0}, Ldnsfilter/android/FilterConfig;.addEmptyEndItem:()V // method@0338 │ │ +01dcca: 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; │ │ │ │ @@ -16634,41 +16634,41 @@ │ │ type : '()V' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 5 │ │ ins : 1 │ │ outs : 3 │ │ insns size : 55 16-bit code units │ │ -01dd44: |[01dd44] dnsfilter.android.FilterConfig.restoreDefaultFilters:()V │ │ -01dd54: 7100 4f01 0000 |0000: invoke-static {}, Ldnsfilter/ConfigurationAccess;.getCurrent:()Ldnsfilter/ConfigurationAccess; // method@014f │ │ -01dd5a: 0c00 |0003: move-result-object v0 │ │ -01dd5c: 6e10 5001 0000 |0004: invoke-virtual {v0}, Ldnsfilter/ConfigurationAccess;.getDefaultConfig:()Ljava/util/Properties; // method@0150 │ │ -01dd62: 0c00 |0007: move-result-object v0 │ │ -01dd64: 6e10 3a03 0400 |0008: invoke-virtual {v4}, Ldnsfilter/android/FilterConfig;.clear:()V // method@033a │ │ -01dd6a: 6201 1801 |000b: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.filterReloadIntervalView:Landroid/widget/EditText; // field@0118 │ │ -01dd6e: 1a02 db09 |000d: const-string v2, "reloadIntervalDays" // string@09db │ │ -01dd72: 1a03 7f00 |000f: const-string v3, "7" // string@007f │ │ -01dd76: 6e30 5506 2003 |0011: invoke-virtual {v0, v2, v3}, Ljava/util/Properties;.getProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@0655 │ │ -01dd7c: 0c02 |0014: move-result-object v2 │ │ -01dd7e: 6e20 e600 2100 |0015: invoke-virtual {v1, v2}, Landroid/widget/EditText;.setText:(Ljava/lang/CharSequence;)V // method@00e6 │ │ -01dd84: 7110 3c01 0000 |0018: invoke-static {v0}, Ldnsfilter/ConfigUtil;.getConfiguredFilterLists:(Ljava/util/Properties;)[Ldnsfilter/ConfigUtil$HostFilterList; // method@013c │ │ -01dd8a: 0c00 |001b: move-result-object v0 │ │ -01dd8c: 6e20 4603 0400 |001c: invoke-virtual {v4, v0}, Ldnsfilter/android/FilterConfig;.setEntries:([Ldnsfilter/ConfigUtil$HostFilterList;)V // method@0346 │ │ -01dd92: 6e10 4003 0400 |001f: invoke-virtual {v4}, Ldnsfilter/android/FilterConfig;.load:()V // method@0340 │ │ -01dd98: 2814 |0022: goto 0036 // +0014 │ │ -01dd9a: 0d00 |0023: move-exception v0 │ │ -01dd9c: 7100 2507 0000 |0024: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0725 │ │ -01dda2: 0c01 |0027: move-result-object v1 │ │ -01dda4: 7220 3007 0100 |0028: invoke-interface {v1, v0}, Lutil/LoggerInterface;.logException:(Ljava/lang/Exception;)V // method@0730 │ │ -01ddaa: 7100 2507 0000 |002b: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0725 │ │ -01ddb0: 0c01 |002e: move-result-object v1 │ │ -01ddb2: 6e10 5f05 0000 |002f: invoke-virtual {v0}, Ljava/lang/Exception;.toString:()Ljava/lang/String; // method@055f │ │ -01ddb8: 0c00 |0032: move-result-object v0 │ │ -01ddba: 7220 3207 0100 |0033: invoke-interface {v1, v0}, Lutil/LoggerInterface;.message:(Ljava/lang/String;)V // method@0732 │ │ -01ddc0: 0e00 |0036: return-void │ │ +01dd40: |[01dd40] dnsfilter.android.FilterConfig.restoreDefaultFilters:()V │ │ +01dd50: 7100 4f01 0000 |0000: invoke-static {}, Ldnsfilter/ConfigurationAccess;.getCurrent:()Ldnsfilter/ConfigurationAccess; // method@014f │ │ +01dd56: 0c00 |0003: move-result-object v0 │ │ +01dd58: 6e10 5001 0000 |0004: invoke-virtual {v0}, Ldnsfilter/ConfigurationAccess;.getDefaultConfig:()Ljava/util/Properties; // method@0150 │ │ +01dd5e: 0c00 |0007: move-result-object v0 │ │ +01dd60: 6e10 3a03 0400 |0008: invoke-virtual {v4}, Ldnsfilter/android/FilterConfig;.clear:()V // method@033a │ │ +01dd66: 6201 1801 |000b: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.filterReloadIntervalView:Landroid/widget/EditText; // field@0118 │ │ +01dd6a: 1a02 db09 |000d: const-string v2, "reloadIntervalDays" // string@09db │ │ +01dd6e: 1a03 7f00 |000f: const-string v3, "7" // string@007f │ │ +01dd72: 6e30 5506 2003 |0011: invoke-virtual {v0, v2, v3}, Ljava/util/Properties;.getProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@0655 │ │ +01dd78: 0c02 |0014: move-result-object v2 │ │ +01dd7a: 6e20 e600 2100 |0015: invoke-virtual {v1, v2}, Landroid/widget/EditText;.setText:(Ljava/lang/CharSequence;)V // method@00e6 │ │ +01dd80: 7110 3c01 0000 |0018: invoke-static {v0}, Ldnsfilter/ConfigUtil;.getConfiguredFilterLists:(Ljava/util/Properties;)[Ldnsfilter/ConfigUtil$HostFilterList; // method@013c │ │ +01dd86: 0c00 |001b: move-result-object v0 │ │ +01dd88: 6e20 4603 0400 |001c: invoke-virtual {v4, v0}, Ldnsfilter/android/FilterConfig;.setEntries:([Ldnsfilter/ConfigUtil$HostFilterList;)V // method@0346 │ │ +01dd8e: 6e10 4003 0400 |001f: invoke-virtual {v4}, Ldnsfilter/android/FilterConfig;.load:()V // method@0340 │ │ +01dd94: 2814 |0022: goto 0036 // +0014 │ │ +01dd96: 0d00 |0023: move-exception v0 │ │ +01dd98: 7100 2507 0000 |0024: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0725 │ │ +01dd9e: 0c01 |0027: move-result-object v1 │ │ +01dda0: 7220 3007 0100 |0028: invoke-interface {v1, v0}, Lutil/LoggerInterface;.logException:(Ljava/lang/Exception;)V // method@0730 │ │ +01dda6: 7100 2507 0000 |002b: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0725 │ │ +01ddac: 0c01 |002e: move-result-object v1 │ │ +01ddae: 6e10 5f05 0000 |002f: invoke-virtual {v0}, Ljava/lang/Exception;.toString:()Ljava/lang/String; // method@055f │ │ +01ddb4: 0c00 |0032: move-result-object v0 │ │ +01ddb6: 7220 3207 0100 |0033: invoke-interface {v1, v0}, Lutil/LoggerInterface;.message:(Ljava/lang/String;)V // method@0732 │ │ +01ddbc: 0e00 |0036: return-void │ │ catches : 1 │ │ 0x0000 - 0x0022 │ │ Ljava/lang/Exception; -> 0x0023 │ │ positions : │ │ 0x0000 line=208 │ │ 0x0008 line=209 │ │ 0x000b line=210 │ │ @@ -16684,56 +16684,56 @@ │ │ type : '(Landroid/widget/TableRow;)V' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 7 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 79 16-bit code units │ │ -01dea8: |[01dea8] dnsfilter.android.FilterConfig.setVisibility:(Landroid/widget/TableRow;)V │ │ -01deb8: 5450 3e01 |0000: iget-object v0, v5, Ldnsfilter/android/FilterConfig;.categoryField:Landroid/widget/TextView; // field@013e │ │ -01debc: 6e10 0401 0000 |0002: invoke-virtual {v0}, Landroid/widget/TextView;.getText:()Ljava/lang/CharSequence; // method@0104 │ │ -01dec2: 0c00 |0005: move-result-object v0 │ │ -01dec4: 7210 5005 0000 |0006: invoke-interface {v0}, Ljava/lang/CharSequence;.toString:()Ljava/lang/String; // method@0550 │ │ -01deca: 0c00 |0009: move-result-object v0 │ │ -01decc: 1211 |000a: const/4 v1, #int 1 // #1 │ │ -01dece: 6e20 0001 1600 |000b: invoke-virtual {v6, v1}, Landroid/widget/TableRow;.getVirtualChildAt:(I)Landroid/view/View; // method@0100 │ │ -01ded4: 0c01 |000e: move-result-object v1 │ │ -01ded6: 1f01 7300 |000f: check-cast v1, Landroid/widget/TextView; // type@0073 │ │ -01deda: 6e10 0401 0100 |0011: invoke-virtual {v1}, Landroid/widget/TextView;.getText:()Ljava/lang/CharSequence; // method@0104 │ │ -01dee0: 0c01 |0014: move-result-object v1 │ │ -01dee2: 7210 5005 0100 |0015: invoke-interface {v1}, Ljava/lang/CharSequence;.toString:()Ljava/lang/String; // method@0550 │ │ -01dee8: 0c01 |0018: move-result-object v1 │ │ -01deea: 1202 |0019: const/4 v2, #int 0 // #0 │ │ -01deec: 6e20 0001 2600 |001a: invoke-virtual {v6, v2}, Landroid/widget/TableRow;.getVirtualChildAt:(I)Landroid/view/View; // method@0100 │ │ -01def2: 0c03 |001d: move-result-object v3 │ │ -01def4: 1f03 6400 |001e: check-cast v3, Landroid/widget/CheckBox; // type@0064 │ │ -01def8: 6e10 cc00 0300 |0020: invoke-virtual {v3}, Landroid/widget/CheckBox;.isChecked:()Z // method@00cc │ │ -01defe: 0a03 |0023: move-result v3 │ │ -01df00: 6204 3a01 |0024: sget-object v4, Ldnsfilter/android/FilterConfig;.ALL_CATEGORIES:Ljava/lang/String; // field@013a │ │ -01df04: 6e20 8b05 4000 |0026: invoke-virtual {v0, v4}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058b │ │ -01df0a: 0a04 |0029: move-result v4 │ │ -01df0c: 3904 2100 |002a: if-nez v4, 004b // +0021 │ │ -01df10: 6204 3901 |002c: sget-object v4, Ldnsfilter/android/FilterConfig;.ALL_ACTIVE:Ljava/lang/String; // field@0139 │ │ -01df14: 6e20 8b05 4000 |002e: invoke-virtual {v0, v4}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058b │ │ -01df1a: 0a04 |0031: move-result v4 │ │ -01df1c: 3804 0400 |0032: if-eqz v4, 0036 // +0004 │ │ -01df20: 3903 1700 |0034: if-nez v3, 004b // +0017 │ │ -01df24: 6203 3c01 |0036: sget-object v3, Ldnsfilter/android/FilterConfig;.NEW_ITEM:Ljava/lang/String; // field@013c │ │ -01df28: 6e20 8b05 3100 |0038: invoke-virtual {v1, v3}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058b │ │ -01df2e: 0a03 |003b: move-result v3 │ │ -01df30: 3903 0f00 |003c: if-nez v3, 004b // +000f │ │ -01df34: 6e20 8b05 0100 |003e: invoke-virtual {v1, v0}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058b │ │ -01df3a: 0a00 |0041: move-result v0 │ │ -01df3c: 3800 0300 |0042: if-eqz v0, 0045 // +0003 │ │ -01df40: 2807 |0044: goto 004b // +0007 │ │ -01df42: 1300 0800 |0045: const/16 v0, #int 8 // #8 │ │ -01df46: 6e20 0101 0600 |0047: invoke-virtual {v6, v0}, Landroid/widget/TableRow;.setVisibility:(I)V // method@0101 │ │ -01df4c: 2804 |004a: goto 004e // +0004 │ │ -01df4e: 6e20 0101 2600 |004b: invoke-virtual {v6, v2}, Landroid/widget/TableRow;.setVisibility:(I)V // method@0101 │ │ -01df54: 0e00 |004e: return-void │ │ +01dea4: |[01dea4] dnsfilter.android.FilterConfig.setVisibility:(Landroid/widget/TableRow;)V │ │ +01deb4: 5450 3e01 |0000: iget-object v0, v5, Ldnsfilter/android/FilterConfig;.categoryField:Landroid/widget/TextView; // field@013e │ │ +01deb8: 6e10 0401 0000 |0002: invoke-virtual {v0}, Landroid/widget/TextView;.getText:()Ljava/lang/CharSequence; // method@0104 │ │ +01debe: 0c00 |0005: move-result-object v0 │ │ +01dec0: 7210 5005 0000 |0006: invoke-interface {v0}, Ljava/lang/CharSequence;.toString:()Ljava/lang/String; // method@0550 │ │ +01dec6: 0c00 |0009: move-result-object v0 │ │ +01dec8: 1211 |000a: const/4 v1, #int 1 // #1 │ │ +01deca: 6e20 0001 1600 |000b: invoke-virtual {v6, v1}, Landroid/widget/TableRow;.getVirtualChildAt:(I)Landroid/view/View; // method@0100 │ │ +01ded0: 0c01 |000e: move-result-object v1 │ │ +01ded2: 1f01 7300 |000f: check-cast v1, Landroid/widget/TextView; // type@0073 │ │ +01ded6: 6e10 0401 0100 |0011: invoke-virtual {v1}, Landroid/widget/TextView;.getText:()Ljava/lang/CharSequence; // method@0104 │ │ +01dedc: 0c01 |0014: move-result-object v1 │ │ +01dede: 7210 5005 0100 |0015: invoke-interface {v1}, Ljava/lang/CharSequence;.toString:()Ljava/lang/String; // method@0550 │ │ +01dee4: 0c01 |0018: move-result-object v1 │ │ +01dee6: 1202 |0019: const/4 v2, #int 0 // #0 │ │ +01dee8: 6e20 0001 2600 |001a: invoke-virtual {v6, v2}, Landroid/widget/TableRow;.getVirtualChildAt:(I)Landroid/view/View; // method@0100 │ │ +01deee: 0c03 |001d: move-result-object v3 │ │ +01def0: 1f03 6400 |001e: check-cast v3, Landroid/widget/CheckBox; // type@0064 │ │ +01def4: 6e10 cc00 0300 |0020: invoke-virtual {v3}, Landroid/widget/CheckBox;.isChecked:()Z // method@00cc │ │ +01defa: 0a03 |0023: move-result v3 │ │ +01defc: 6204 3a01 |0024: sget-object v4, Ldnsfilter/android/FilterConfig;.ALL_CATEGORIES:Ljava/lang/String; // field@013a │ │ +01df00: 6e20 8b05 4000 |0026: invoke-virtual {v0, v4}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058b │ │ +01df06: 0a04 |0029: move-result v4 │ │ +01df08: 3904 2100 |002a: if-nez v4, 004b // +0021 │ │ +01df0c: 6204 3901 |002c: sget-object v4, Ldnsfilter/android/FilterConfig;.ALL_ACTIVE:Ljava/lang/String; // field@0139 │ │ +01df10: 6e20 8b05 4000 |002e: invoke-virtual {v0, v4}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058b │ │ +01df16: 0a04 |0031: move-result v4 │ │ +01df18: 3804 0400 |0032: if-eqz v4, 0036 // +0004 │ │ +01df1c: 3903 1700 |0034: if-nez v3, 004b // +0017 │ │ +01df20: 6203 3c01 |0036: sget-object v3, Ldnsfilter/android/FilterConfig;.NEW_ITEM:Ljava/lang/String; // field@013c │ │ +01df24: 6e20 8b05 3100 |0038: invoke-virtual {v1, v3}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058b │ │ +01df2a: 0a03 |003b: move-result v3 │ │ +01df2c: 3903 0f00 |003c: if-nez v3, 004b // +000f │ │ +01df30: 6e20 8b05 0100 |003e: invoke-virtual {v1, v0}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058b │ │ +01df36: 0a00 |0041: move-result v0 │ │ +01df38: 3800 0300 |0042: if-eqz v0, 0045 // +0003 │ │ +01df3c: 2807 |0044: goto 004b // +0007 │ │ +01df3e: 1300 0800 |0045: const/16 v0, #int 8 // #8 │ │ +01df42: 6e20 0101 0600 |0047: invoke-virtual {v6, v0}, Landroid/widget/TableRow;.setVisibility:(I)V // method@0101 │ │ +01df48: 2804 |004a: goto 004e // +0004 │ │ +01df4a: 6e20 0101 2600 |004b: invoke-virtual {v6, v2}, Landroid/widget/TableRow;.setVisibility:(I)V // method@0101 │ │ +01df50: 0e00 |004e: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=111 │ │ 0x000b line=112 │ │ 0x001a line=113 │ │ 0x0024 line=114 │ │ 0x002e line=115 │ │ @@ -16750,84 +16750,84 @@ │ │ type : '(Landroid/widget/TableRow;)V' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 6 │ │ ins : 2 │ │ outs : 3 │ │ insns size : 146 16-bit code units │ │ -01df58: |[01df58] dnsfilter.android.FilterConfig.showEditDialog:(Landroid/widget/TableRow;)V │ │ -01df68: 5b45 4601 |0000: iput-object v5, v4, Ldnsfilter/android/FilterConfig;.editedRow:Landroid/widget/TableRow; // field@0146 │ │ -01df6c: 7020 3b03 5400 |0002: invoke-direct {v4, v5}, Ldnsfilter/android/FilterConfig;.getContentCells:(Landroid/widget/TableRow;)[Landroid/view/View; // method@033b │ │ -01df72: 0c05 |0005: move-result-object v5 │ │ -01df74: 5440 4401 |0006: iget-object v0, v4, Ldnsfilter/android/FilterConfig;.editDialog:Landroid/app/Dialog; // field@0144 │ │ -01df78: 1401 0400 057f |0008: const v1, #float 1.76787e+38 // #7f050004 │ │ -01df7e: 6e20 1700 1000 |000b: invoke-virtual {v0, v1}, Landroid/app/Dialog;.findViewById:(I)Landroid/view/View; // method@0017 │ │ -01df84: 0c00 |000e: move-result-object v0 │ │ -01df86: 1f00 6400 |000f: check-cast v0, Landroid/widget/CheckBox; // type@0064 │ │ -01df8a: 1201 |0011: const/4 v1, #int 0 // #0 │ │ -01df8c: 4601 0501 |0012: aget-object v1, v5, v1 │ │ -01df90: 1f01 6400 |0014: check-cast v1, Landroid/widget/CheckBox; // type@0064 │ │ -01df94: 6e10 cc00 0100 |0016: invoke-virtual {v1}, Landroid/widget/CheckBox;.isChecked:()Z // method@00cc │ │ -01df9a: 0a01 |0019: move-result v1 │ │ -01df9c: 6e20 cd00 1000 |001a: invoke-virtual {v0, v1}, Landroid/widget/CheckBox;.setChecked:(Z)V // method@00cd │ │ -01dfa2: 5440 4401 |001d: iget-object v0, v4, Ldnsfilter/android/FilterConfig;.editDialog:Landroid/app/Dialog; // field@0144 │ │ -01dfa6: 1401 2900 057f |001f: const v1, #float 1.76788e+38 // #7f050029 │ │ -01dfac: 6e20 1700 1000 |0022: invoke-virtual {v0, v1}, Landroid/app/Dialog;.findViewById:(I)Landroid/view/View; // method@0017 │ │ -01dfb2: 0c00 |0025: move-result-object v0 │ │ -01dfb4: 1f00 7300 |0026: check-cast v0, Landroid/widget/TextView; // type@0073 │ │ -01dfb8: 1211 |0028: const/4 v1, #int 1 // #1 │ │ -01dfba: 4601 0501 |0029: aget-object v1, v5, v1 │ │ -01dfbe: 1f01 7300 |002b: check-cast v1, Landroid/widget/TextView; // type@0073 │ │ -01dfc2: 6e10 0401 0100 |002d: invoke-virtual {v1}, Landroid/widget/TextView;.getText:()Ljava/lang/CharSequence; // method@0104 │ │ -01dfc8: 0c01 |0030: move-result-object v1 │ │ -01dfca: 7210 5005 0100 |0031: invoke-interface {v1}, Ljava/lang/CharSequence;.toString:()Ljava/lang/String; // method@0550 │ │ -01dfd0: 0c01 |0034: move-result-object v1 │ │ -01dfd2: 6e20 0901 1000 |0035: invoke-virtual {v0, v1}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@0109 │ │ -01dfd8: 5440 4401 |0038: iget-object v0, v4, Ldnsfilter/android/FilterConfig;.editDialog:Landroid/app/Dialog; // field@0144 │ │ -01dfdc: 1401 2d00 057f |003a: const v1, #float 1.76788e+38 // #7f05002d │ │ -01dfe2: 6e20 1700 1000 |003d: invoke-virtual {v0, v1}, Landroid/app/Dialog;.findViewById:(I)Landroid/view/View; // method@0017 │ │ -01dfe8: 0c00 |0040: move-result-object v0 │ │ -01dfea: 1f00 7300 |0041: check-cast v0, Landroid/widget/TextView; // type@0073 │ │ -01dfee: 1221 |0043: const/4 v1, #int 2 // #2 │ │ -01dff0: 4601 0501 |0044: aget-object v1, v5, v1 │ │ -01dff4: 1f01 7300 |0046: check-cast v1, Landroid/widget/TextView; // type@0073 │ │ -01dff8: 6e10 0401 0100 |0048: invoke-virtual {v1}, Landroid/widget/TextView;.getText:()Ljava/lang/CharSequence; // method@0104 │ │ -01dffe: 0c01 |004b: move-result-object v1 │ │ -01e000: 7210 5005 0100 |004c: invoke-interface {v1}, Ljava/lang/CharSequence;.toString:()Ljava/lang/String; // method@0550 │ │ -01e006: 0c01 |004f: move-result-object v1 │ │ -01e008: 6e20 0901 1000 |0050: invoke-virtual {v0, v1}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@0109 │ │ -01e00e: 5440 4401 |0053: iget-object v0, v4, Ldnsfilter/android/FilterConfig;.editDialog:Landroid/app/Dialog; // field@0144 │ │ -01e012: 1401 2f00 057f |0055: const v1, #float 1.76788e+38 // #7f05002f │ │ -01e018: 6e20 1700 1000 |0058: invoke-virtual {v0, v1}, Landroid/app/Dialog;.findViewById:(I)Landroid/view/View; // method@0017 │ │ -01e01e: 0c00 |005b: move-result-object v0 │ │ -01e020: 1f00 7300 |005c: check-cast v0, Landroid/widget/TextView; // type@0073 │ │ -01e024: 1231 |005e: const/4 v1, #int 3 // #3 │ │ -01e026: 4605 0501 |005f: aget-object v5, v5, v1 │ │ -01e02a: 1f05 7300 |0061: check-cast v5, Landroid/widget/TextView; // type@0073 │ │ -01e02e: 6e10 0401 0500 |0063: invoke-virtual {v5}, Landroid/widget/TextView;.getText:()Ljava/lang/CharSequence; // method@0104 │ │ -01e034: 0c05 |0066: move-result-object v5 │ │ -01e036: 7210 5005 0500 |0067: invoke-interface {v5}, Ljava/lang/CharSequence;.toString:()Ljava/lang/String; // method@0550 │ │ -01e03c: 0c05 |006a: move-result-object v5 │ │ -01e03e: 6e20 0901 5000 |006b: invoke-virtual {v0, v5}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@0109 │ │ -01e044: 5445 4401 |006e: iget-object v5, v4, Ldnsfilter/android/FilterConfig;.editDialog:Landroid/app/Dialog; // field@0144 │ │ -01e048: 6e10 2200 0500 |0070: invoke-virtual {v5}, Landroid/app/Dialog;.show:()V // method@0022 │ │ -01e04e: 5445 4401 |0073: iget-object v5, v4, Ldnsfilter/android/FilterConfig;.editDialog:Landroid/app/Dialog; // field@0144 │ │ -01e052: 6e10 1800 0500 |0075: invoke-virtual {v5}, Landroid/app/Dialog;.getWindow:()Landroid/view/Window; // method@0018 │ │ -01e058: 0c05 |0078: move-result-object v5 │ │ -01e05a: 6000 ef00 |0079: sget v0, Ldnsfilter/android/DNSProxyActivity;.DISPLAY_WIDTH:I // field@00ef │ │ -01e05e: 8300 |007b: int-to-double v0, v0 │ │ -01e060: 1802 cdcc cccc cccc ec3f |007c: const-wide v2, #double 0.9 // #3feccccccccccccd │ │ -01e06a: 7120 5605 1000 |0081: invoke-static {v0, v1}, Ljava/lang/Double;.isNaN:(D)Z // method@0556 │ │ -01e070: ad00 0002 |0084: mul-double v0, v0, v2 │ │ -01e074: 8a00 |0086: double-to-int v0, v0 │ │ -01e076: 12e1 |0087: const/4 v1, #int -2 // #fe │ │ -01e078: 6e30 ba00 0501 |0088: invoke-virtual {v5, v0, v1}, Landroid/view/Window;.setLayout:(II)V // method@00ba │ │ -01e07e: 1400 0d00 0601 |008b: const v0, #float 2.46119e-38 // #0106000d │ │ -01e084: 6e20 b900 0500 |008e: invoke-virtual {v5, v0}, Landroid/view/Window;.setBackgroundDrawableResource:(I)V // method@00b9 │ │ -01e08a: 0e00 |0091: return-void │ │ +01df54: |[01df54] dnsfilter.android.FilterConfig.showEditDialog:(Landroid/widget/TableRow;)V │ │ +01df64: 5b45 4601 |0000: iput-object v5, v4, Ldnsfilter/android/FilterConfig;.editedRow:Landroid/widget/TableRow; // field@0146 │ │ +01df68: 7020 3b03 5400 |0002: invoke-direct {v4, v5}, Ldnsfilter/android/FilterConfig;.getContentCells:(Landroid/widget/TableRow;)[Landroid/view/View; // method@033b │ │ +01df6e: 0c05 |0005: move-result-object v5 │ │ +01df70: 5440 4401 |0006: iget-object v0, v4, Ldnsfilter/android/FilterConfig;.editDialog:Landroid/app/Dialog; // field@0144 │ │ +01df74: 1401 0400 057f |0008: const v1, #float 1.76787e+38 // #7f050004 │ │ +01df7a: 6e20 1700 1000 |000b: invoke-virtual {v0, v1}, Landroid/app/Dialog;.findViewById:(I)Landroid/view/View; // method@0017 │ │ +01df80: 0c00 |000e: move-result-object v0 │ │ +01df82: 1f00 6400 |000f: check-cast v0, Landroid/widget/CheckBox; // type@0064 │ │ +01df86: 1201 |0011: const/4 v1, #int 0 // #0 │ │ +01df88: 4601 0501 |0012: aget-object v1, v5, v1 │ │ +01df8c: 1f01 6400 |0014: check-cast v1, Landroid/widget/CheckBox; // type@0064 │ │ +01df90: 6e10 cc00 0100 |0016: invoke-virtual {v1}, Landroid/widget/CheckBox;.isChecked:()Z // method@00cc │ │ +01df96: 0a01 |0019: move-result v1 │ │ +01df98: 6e20 cd00 1000 |001a: invoke-virtual {v0, v1}, Landroid/widget/CheckBox;.setChecked:(Z)V // method@00cd │ │ +01df9e: 5440 4401 |001d: iget-object v0, v4, Ldnsfilter/android/FilterConfig;.editDialog:Landroid/app/Dialog; // field@0144 │ │ +01dfa2: 1401 2900 057f |001f: const v1, #float 1.76788e+38 // #7f050029 │ │ +01dfa8: 6e20 1700 1000 |0022: invoke-virtual {v0, v1}, Landroid/app/Dialog;.findViewById:(I)Landroid/view/View; // method@0017 │ │ +01dfae: 0c00 |0025: move-result-object v0 │ │ +01dfb0: 1f00 7300 |0026: check-cast v0, Landroid/widget/TextView; // type@0073 │ │ +01dfb4: 1211 |0028: const/4 v1, #int 1 // #1 │ │ +01dfb6: 4601 0501 |0029: aget-object v1, v5, v1 │ │ +01dfba: 1f01 7300 |002b: check-cast v1, Landroid/widget/TextView; // type@0073 │ │ +01dfbe: 6e10 0401 0100 |002d: invoke-virtual {v1}, Landroid/widget/TextView;.getText:()Ljava/lang/CharSequence; // method@0104 │ │ +01dfc4: 0c01 |0030: move-result-object v1 │ │ +01dfc6: 7210 5005 0100 |0031: invoke-interface {v1}, Ljava/lang/CharSequence;.toString:()Ljava/lang/String; // method@0550 │ │ +01dfcc: 0c01 |0034: move-result-object v1 │ │ +01dfce: 6e20 0901 1000 |0035: invoke-virtual {v0, v1}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@0109 │ │ +01dfd4: 5440 4401 |0038: iget-object v0, v4, Ldnsfilter/android/FilterConfig;.editDialog:Landroid/app/Dialog; // field@0144 │ │ +01dfd8: 1401 2d00 057f |003a: const v1, #float 1.76788e+38 // #7f05002d │ │ +01dfde: 6e20 1700 1000 |003d: invoke-virtual {v0, v1}, Landroid/app/Dialog;.findViewById:(I)Landroid/view/View; // method@0017 │ │ +01dfe4: 0c00 |0040: move-result-object v0 │ │ +01dfe6: 1f00 7300 |0041: check-cast v0, Landroid/widget/TextView; // type@0073 │ │ +01dfea: 1221 |0043: const/4 v1, #int 2 // #2 │ │ +01dfec: 4601 0501 |0044: aget-object v1, v5, v1 │ │ +01dff0: 1f01 7300 |0046: check-cast v1, Landroid/widget/TextView; // type@0073 │ │ +01dff4: 6e10 0401 0100 |0048: invoke-virtual {v1}, Landroid/widget/TextView;.getText:()Ljava/lang/CharSequence; // method@0104 │ │ +01dffa: 0c01 |004b: move-result-object v1 │ │ +01dffc: 7210 5005 0100 |004c: invoke-interface {v1}, Ljava/lang/CharSequence;.toString:()Ljava/lang/String; // method@0550 │ │ +01e002: 0c01 |004f: move-result-object v1 │ │ +01e004: 6e20 0901 1000 |0050: invoke-virtual {v0, v1}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@0109 │ │ +01e00a: 5440 4401 |0053: iget-object v0, v4, Ldnsfilter/android/FilterConfig;.editDialog:Landroid/app/Dialog; // field@0144 │ │ +01e00e: 1401 2f00 057f |0055: const v1, #float 1.76788e+38 // #7f05002f │ │ +01e014: 6e20 1700 1000 |0058: invoke-virtual {v0, v1}, Landroid/app/Dialog;.findViewById:(I)Landroid/view/View; // method@0017 │ │ +01e01a: 0c00 |005b: move-result-object v0 │ │ +01e01c: 1f00 7300 |005c: check-cast v0, Landroid/widget/TextView; // type@0073 │ │ +01e020: 1231 |005e: const/4 v1, #int 3 // #3 │ │ +01e022: 4605 0501 |005f: aget-object v5, v5, v1 │ │ +01e026: 1f05 7300 |0061: check-cast v5, Landroid/widget/TextView; // type@0073 │ │ +01e02a: 6e10 0401 0500 |0063: invoke-virtual {v5}, Landroid/widget/TextView;.getText:()Ljava/lang/CharSequence; // method@0104 │ │ +01e030: 0c05 |0066: move-result-object v5 │ │ +01e032: 7210 5005 0500 |0067: invoke-interface {v5}, Ljava/lang/CharSequence;.toString:()Ljava/lang/String; // method@0550 │ │ +01e038: 0c05 |006a: move-result-object v5 │ │ +01e03a: 6e20 0901 5000 |006b: invoke-virtual {v0, v5}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@0109 │ │ +01e040: 5445 4401 |006e: iget-object v5, v4, Ldnsfilter/android/FilterConfig;.editDialog:Landroid/app/Dialog; // field@0144 │ │ +01e044: 6e10 2200 0500 |0070: invoke-virtual {v5}, Landroid/app/Dialog;.show:()V // method@0022 │ │ +01e04a: 5445 4401 |0073: iget-object v5, v4, Ldnsfilter/android/FilterConfig;.editDialog:Landroid/app/Dialog; // field@0144 │ │ +01e04e: 6e10 1800 0500 |0075: invoke-virtual {v5}, Landroid/app/Dialog;.getWindow:()Landroid/view/Window; // method@0018 │ │ +01e054: 0c05 |0078: move-result-object v5 │ │ +01e056: 6000 ef00 |0079: sget v0, Ldnsfilter/android/DNSProxyActivity;.DISPLAY_WIDTH:I // field@00ef │ │ +01e05a: 8300 |007b: int-to-double v0, v0 │ │ +01e05c: 1802 cdcc cccc cccc ec3f |007c: const-wide v2, #double 0.9 // #3feccccccccccccd │ │ +01e066: 7120 5605 1000 |0081: invoke-static {v0, v1}, Ljava/lang/Double;.isNaN:(D)Z // method@0556 │ │ +01e06c: ad00 0002 |0084: mul-double v0, v0, v2 │ │ +01e070: 8a00 |0086: double-to-int v0, v0 │ │ +01e072: 12e1 |0087: const/4 v1, #int -2 // #fe │ │ +01e074: 6e30 ba00 0501 |0088: invoke-virtual {v5, v0, v1}, Landroid/view/Window;.setLayout:(II)V // method@00ba │ │ +01e07a: 1400 0d00 0601 |008b: const v0, #float 2.46119e-38 // #0106000d │ │ +01e080: 6e20 b900 0500 |008e: invoke-virtual {v5, v0}, Landroid/view/Window;.setBackgroundDrawableResource:(I)V // method@00b9 │ │ +01e086: 0e00 |0091: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=249 │ │ 0x0002 line=250 │ │ 0x0006 line=251 │ │ 0x001d line=252 │ │ 0x0038 line=253 │ │ @@ -16845,29 +16845,29 @@ │ │ type : '()V' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 4 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 26 16-bit code units │ │ -01e08c: |[01e08c] dnsfilter.android.FilterConfig.updateView:()V │ │ -01e09c: 5430 4101 |0000: iget-object v0, v3, Ldnsfilter/android/FilterConfig;.configTable:Landroid/widget/TableLayout; // field@0141 │ │ -01e0a0: 6e10 fc00 0000 |0002: invoke-virtual {v0}, Landroid/widget/TableLayout;.getChildCount:()I // method@00fc │ │ -01e0a6: 0a00 |0005: move-result v0 │ │ -01e0a8: d800 00fe |0006: add-int/lit8 v0, v0, #int -2 // #fe │ │ -01e0ac: 1201 |0008: const/4 v1, #int 0 // #0 │ │ -01e0ae: 3501 1000 |0009: if-ge v1, v0, 0019 // +0010 │ │ -01e0b2: 5432 4101 |000b: iget-object v2, v3, Ldnsfilter/android/FilterConfig;.configTable:Landroid/widget/TableLayout; // field@0141 │ │ -01e0b6: d801 0101 |000d: add-int/lit8 v1, v1, #int 1 // #01 │ │ -01e0ba: 6e20 fb00 1200 |000f: invoke-virtual {v2, v1}, Landroid/widget/TableLayout;.getChildAt:(I)Landroid/view/View; // method@00fb │ │ -01e0c0: 0c02 |0012: move-result-object v2 │ │ -01e0c2: 1f02 7200 |0013: check-cast v2, Landroid/widget/TableRow; // type@0072 │ │ -01e0c6: 7020 4703 2300 |0015: invoke-direct {v3, v2}, Ldnsfilter/android/FilterConfig;.setVisibility:(Landroid/widget/TableRow;)V // method@0347 │ │ -01e0cc: 28f1 |0018: goto 0009 // -000f │ │ -01e0ce: 0e00 |0019: return-void │ │ +01e088: |[01e088] dnsfilter.android.FilterConfig.updateView:()V │ │ +01e098: 5430 4101 |0000: iget-object v0, v3, Ldnsfilter/android/FilterConfig;.configTable:Landroid/widget/TableLayout; // field@0141 │ │ +01e09c: 6e10 fc00 0000 |0002: invoke-virtual {v0}, Landroid/widget/TableLayout;.getChildCount:()I // method@00fc │ │ +01e0a2: 0a00 |0005: move-result v0 │ │ +01e0a4: d800 00fe |0006: add-int/lit8 v0, v0, #int -2 // #fe │ │ +01e0a8: 1201 |0008: const/4 v1, #int 0 // #0 │ │ +01e0aa: 3501 1000 |0009: if-ge v1, v0, 0019 // +0010 │ │ +01e0ae: 5432 4101 |000b: iget-object v2, v3, Ldnsfilter/android/FilterConfig;.configTable:Landroid/widget/TableLayout; // field@0141 │ │ +01e0b2: d801 0101 |000d: add-int/lit8 v1, v1, #int 1 // #01 │ │ +01e0b6: 6e20 fb00 1200 |000f: invoke-virtual {v2, v1}, Landroid/widget/TableLayout;.getChildAt:(I)Landroid/view/View; // method@00fb │ │ +01e0bc: 0c02 |0012: move-result-object v2 │ │ +01e0be: 1f02 7200 |0013: check-cast v2, Landroid/widget/TableRow; // type@0072 │ │ +01e0c2: 7020 4703 2300 |0015: invoke-direct {v3, v2}, Ldnsfilter/android/FilterConfig;.setVisibility:(Landroid/widget/TableRow;)V // method@0347 │ │ +01e0c8: 28f1 |0018: goto 0009 // -000f │ │ +01e0ca: 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; │ │ @@ -16877,118 +16877,118 @@ │ │ type : '([Landroid/view/View;)V' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 8 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 206 16-bit code units │ │ -01e0d0: |[01e0d0] dnsfilter.android.FilterConfig.validateContent:([Landroid/view/View;)V │ │ -01e0e0: 1230 |0000: const/4 v0, #int 3 // #3 │ │ -01e0e2: 4600 0700 |0001: aget-object v0, v7, v0 │ │ -01e0e6: 1f00 7300 |0003: check-cast v0, Landroid/widget/TextView; // type@0073 │ │ -01e0ea: 6e10 0401 0000 |0005: invoke-virtual {v0}, Landroid/widget/TextView;.getText:()Ljava/lang/CharSequence; // method@0104 │ │ -01e0f0: 0c00 |0008: move-result-object v0 │ │ -01e0f2: 7210 5005 0000 |0009: invoke-interface {v0}, Ljava/lang/CharSequence;.toString:()Ljava/lang/String; // method@0550 │ │ -01e0f8: 0c00 |000c: move-result-object v0 │ │ -01e0fa: 1a01 e306 |000d: const-string v1, "file://" // string@06e3 │ │ -01e0fe: 6e20 9905 1000 |000f: invoke-virtual {v0, v1}, Ljava/lang/String;.startsWith:(Ljava/lang/String;)Z // method@0599 │ │ -01e104: 0a01 |0012: move-result v1 │ │ -01e106: 1212 |0013: const/4 v2, #int 1 // #1 │ │ -01e108: 1a03 0000 |0014: const-string v3, "" // string@0000 │ │ -01e10c: 1224 |0016: const/4 v4, #int 2 // #2 │ │ -01e10e: 3901 5a00 |0017: if-nez v1, 0071 // +005a │ │ -01e112: 2201 4201 |0019: new-instance v1, Ljava/net/URL; // type@0142 │ │ -01e116: 7020 f005 0100 |001b: invoke-direct {v1, v0}, Ljava/net/URL;.:(Ljava/lang/String;)V // method@05f0 │ │ -01e11c: 4600 0704 |001e: aget-object v0, v7, v4 │ │ -01e120: 1f00 7300 |0020: check-cast v0, Landroid/widget/TextView; // type@0073 │ │ -01e124: 6e10 0401 0000 |0022: invoke-virtual {v0}, Landroid/widget/TextView;.getText:()Ljava/lang/CharSequence; // method@0104 │ │ -01e12a: 0c00 |0025: move-result-object v0 │ │ -01e12c: 7210 5005 0000 |0026: invoke-interface {v0}, Ljava/lang/CharSequence;.toString:()Ljava/lang/String; // method@0550 │ │ -01e132: 0c00 |0029: move-result-object v0 │ │ -01e134: 6e10 a005 0000 |002a: invoke-virtual {v0}, Ljava/lang/String;.trim:()Ljava/lang/String; // method@05a0 │ │ -01e13a: 0c00 |002d: move-result-object v0 │ │ -01e13c: 6205 3c01 |002e: sget-object v5, Ldnsfilter/android/FilterConfig;.NEW_ITEM:Ljava/lang/String; // field@013c │ │ -01e140: 6e20 8b05 5000 |0030: invoke-virtual {v0, v5}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058b │ │ -01e146: 0a05 |0033: move-result v5 │ │ -01e148: 3905 0800 |0034: if-nez v5, 003c // +0008 │ │ -01e14c: 6e20 8b05 3000 |0036: invoke-virtual {v0, v3}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058b │ │ -01e152: 0a00 |0039: move-result v0 │ │ -01e154: 3800 0d00 |003a: if-eqz v0, 0047 // +000d │ │ -01e158: 4600 0704 |003c: aget-object v0, v7, v4 │ │ -01e15c: 1f00 7300 |003e: check-cast v0, Landroid/widget/TextView; // type@0073 │ │ -01e160: 6e10 f105 0100 |0040: invoke-virtual {v1}, Ljava/net/URL;.getHost:()Ljava/lang/String; // method@05f1 │ │ -01e166: 0c04 |0043: move-result-object v4 │ │ -01e168: 6e20 0901 4000 |0044: invoke-virtual {v0, v4}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@0109 │ │ -01e16e: 4600 0702 |0047: aget-object v0, v7, v2 │ │ -01e172: 1f00 7300 |0049: check-cast v0, Landroid/widget/TextView; // type@0073 │ │ -01e176: 6e10 0401 0000 |004b: invoke-virtual {v0}, Landroid/widget/TextView;.getText:()Ljava/lang/CharSequence; // method@0104 │ │ -01e17c: 0c00 |004e: move-result-object v0 │ │ -01e17e: 7210 5005 0000 |004f: invoke-interface {v0}, Ljava/lang/CharSequence;.toString:()Ljava/lang/String; // method@0550 │ │ -01e184: 0c00 |0052: move-result-object v0 │ │ -01e186: 6e10 a005 0000 |0053: invoke-virtual {v0}, Ljava/lang/String;.trim:()Ljava/lang/String; // method@05a0 │ │ -01e18c: 0c00 |0056: move-result-object v0 │ │ -01e18e: 6204 3c01 |0057: sget-object v4, Ldnsfilter/android/FilterConfig;.NEW_ITEM:Ljava/lang/String; // field@013c │ │ -01e192: 6e20 8b05 4000 |0059: invoke-virtual {v0, v4}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058b │ │ -01e198: 0a04 |005c: move-result v4 │ │ -01e19a: 3904 0800 |005d: if-nez v4, 0065 // +0008 │ │ -01e19e: 6e20 8b05 3000 |005f: invoke-virtual {v0, v3}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058b │ │ -01e1a4: 0a00 |0062: move-result v0 │ │ -01e1a6: 3800 6a00 |0063: if-eqz v0, 00cd // +006a │ │ -01e1aa: 4607 0702 |0065: aget-object v7, v7, v2 │ │ -01e1ae: 1f07 7300 |0067: check-cast v7, Landroid/widget/TextView; // type@0073 │ │ -01e1b2: 6e10 f105 0100 |0069: invoke-virtual {v1}, Ljava/net/URL;.getHost:()Ljava/lang/String; // method@05f1 │ │ -01e1b8: 0c00 |006c: move-result-object v0 │ │ -01e1ba: 6e20 0901 0700 |006d: invoke-virtual {v7, v0}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@0109 │ │ -01e1c0: 285d |0070: goto 00cd // +005d │ │ -01e1c2: 2201 fb00 |0071: new-instance v1, Ljava/io/File; // type@00fb │ │ -01e1c6: 1275 |0073: const/4 v5, #int 7 // #7 │ │ -01e1c8: 6e20 9a05 5000 |0074: invoke-virtual {v0, v5}, Ljava/lang/String;.substring:(I)Ljava/lang/String; // method@059a │ │ -01e1ce: 0c00 |0077: move-result-object v0 │ │ -01e1d0: 7020 ff04 0100 |0078: invoke-direct {v1, v0}, Ljava/io/File;.:(Ljava/lang/String;)V // method@04ff │ │ -01e1d6: 4600 0704 |007b: aget-object v0, v7, v4 │ │ -01e1da: 1f00 7300 |007d: check-cast v0, Landroid/widget/TextView; // type@0073 │ │ -01e1de: 6e10 0401 0000 |007f: invoke-virtual {v0}, Landroid/widget/TextView;.getText:()Ljava/lang/CharSequence; // method@0104 │ │ -01e1e4: 0c00 |0082: move-result-object v0 │ │ -01e1e6: 7210 5005 0000 |0083: invoke-interface {v0}, Ljava/lang/CharSequence;.toString:()Ljava/lang/String; // method@0550 │ │ -01e1ec: 0c00 |0086: move-result-object v0 │ │ -01e1ee: 6e10 a005 0000 |0087: invoke-virtual {v0}, Ljava/lang/String;.trim:()Ljava/lang/String; // method@05a0 │ │ -01e1f4: 0c00 |008a: move-result-object v0 │ │ -01e1f6: 6205 3c01 |008b: sget-object v5, Ldnsfilter/android/FilterConfig;.NEW_ITEM:Ljava/lang/String; // field@013c │ │ -01e1fa: 6e20 8b05 5000 |008d: invoke-virtual {v0, v5}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058b │ │ -01e200: 0a05 |0090: move-result v5 │ │ -01e202: 3905 0800 |0091: if-nez v5, 0099 // +0008 │ │ -01e206: 6e20 8b05 3000 |0093: invoke-virtual {v0, v3}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058b │ │ -01e20c: 0a00 |0096: move-result v0 │ │ -01e20e: 3800 0d00 |0097: if-eqz v0, 00a4 // +000d │ │ -01e212: 4600 0704 |0099: aget-object v0, v7, v4 │ │ -01e216: 1f00 7300 |009b: check-cast v0, Landroid/widget/TextView; // type@0073 │ │ -01e21a: 6e10 0705 0100 |009d: invoke-virtual {v1}, Ljava/io/File;.getName:()Ljava/lang/String; // method@0507 │ │ -01e220: 0c04 |00a0: move-result-object v4 │ │ -01e222: 6e20 0901 4000 |00a1: invoke-virtual {v0, v4}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@0109 │ │ -01e228: 4600 0702 |00a4: aget-object v0, v7, v2 │ │ -01e22c: 1f00 7300 |00a6: check-cast v0, Landroid/widget/TextView; // type@0073 │ │ -01e230: 6e10 0401 0000 |00a8: invoke-virtual {v0}, Landroid/widget/TextView;.getText:()Ljava/lang/CharSequence; // method@0104 │ │ -01e236: 0c00 |00ab: move-result-object v0 │ │ -01e238: 7210 5005 0000 |00ac: invoke-interface {v0}, Ljava/lang/CharSequence;.toString:()Ljava/lang/String; // method@0550 │ │ -01e23e: 0c00 |00af: move-result-object v0 │ │ -01e240: 6e10 a005 0000 |00b0: invoke-virtual {v0}, Ljava/lang/String;.trim:()Ljava/lang/String; // method@05a0 │ │ -01e246: 0c00 |00b3: move-result-object v0 │ │ -01e248: 6204 3c01 |00b4: sget-object v4, Ldnsfilter/android/FilterConfig;.NEW_ITEM:Ljava/lang/String; // field@013c │ │ -01e24c: 6e20 8b05 4000 |00b6: invoke-virtual {v0, v4}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058b │ │ -01e252: 0a04 |00b9: move-result v4 │ │ -01e254: 3904 0800 |00ba: if-nez v4, 00c2 // +0008 │ │ -01e258: 6e20 8b05 3000 |00bc: invoke-virtual {v0, v3}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058b │ │ -01e25e: 0a00 |00bf: move-result v0 │ │ -01e260: 3800 0d00 |00c0: if-eqz v0, 00cd // +000d │ │ -01e264: 4607 0702 |00c2: aget-object v7, v7, v2 │ │ -01e268: 1f07 7300 |00c4: check-cast v7, Landroid/widget/TextView; // type@0073 │ │ -01e26c: 6e10 0705 0100 |00c6: invoke-virtual {v1}, Ljava/io/File;.getName:()Ljava/lang/String; // method@0507 │ │ -01e272: 0c00 |00c9: move-result-object v0 │ │ -01e274: 6e20 0901 0700 |00ca: invoke-virtual {v7, v0}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@0109 │ │ -01e27a: 0e00 |00cd: return-void │ │ +01e0cc: |[01e0cc] dnsfilter.android.FilterConfig.validateContent:([Landroid/view/View;)V │ │ +01e0dc: 1230 |0000: const/4 v0, #int 3 // #3 │ │ +01e0de: 4600 0700 |0001: aget-object v0, v7, v0 │ │ +01e0e2: 1f00 7300 |0003: check-cast v0, Landroid/widget/TextView; // type@0073 │ │ +01e0e6: 6e10 0401 0000 |0005: invoke-virtual {v0}, Landroid/widget/TextView;.getText:()Ljava/lang/CharSequence; // method@0104 │ │ +01e0ec: 0c00 |0008: move-result-object v0 │ │ +01e0ee: 7210 5005 0000 |0009: invoke-interface {v0}, Ljava/lang/CharSequence;.toString:()Ljava/lang/String; // method@0550 │ │ +01e0f4: 0c00 |000c: move-result-object v0 │ │ +01e0f6: 1a01 e306 |000d: const-string v1, "file://" // string@06e3 │ │ +01e0fa: 6e20 9905 1000 |000f: invoke-virtual {v0, v1}, Ljava/lang/String;.startsWith:(Ljava/lang/String;)Z // method@0599 │ │ +01e100: 0a01 |0012: move-result v1 │ │ +01e102: 1212 |0013: const/4 v2, #int 1 // #1 │ │ +01e104: 1a03 0000 |0014: const-string v3, "" // string@0000 │ │ +01e108: 1224 |0016: const/4 v4, #int 2 // #2 │ │ +01e10a: 3901 5a00 |0017: if-nez v1, 0071 // +005a │ │ +01e10e: 2201 4201 |0019: new-instance v1, Ljava/net/URL; // type@0142 │ │ +01e112: 7020 f005 0100 |001b: invoke-direct {v1, v0}, Ljava/net/URL;.:(Ljava/lang/String;)V // method@05f0 │ │ +01e118: 4600 0704 |001e: aget-object v0, v7, v4 │ │ +01e11c: 1f00 7300 |0020: check-cast v0, Landroid/widget/TextView; // type@0073 │ │ +01e120: 6e10 0401 0000 |0022: invoke-virtual {v0}, Landroid/widget/TextView;.getText:()Ljava/lang/CharSequence; // method@0104 │ │ +01e126: 0c00 |0025: move-result-object v0 │ │ +01e128: 7210 5005 0000 |0026: invoke-interface {v0}, Ljava/lang/CharSequence;.toString:()Ljava/lang/String; // method@0550 │ │ +01e12e: 0c00 |0029: move-result-object v0 │ │ +01e130: 6e10 a005 0000 |002a: invoke-virtual {v0}, Ljava/lang/String;.trim:()Ljava/lang/String; // method@05a0 │ │ +01e136: 0c00 |002d: move-result-object v0 │ │ +01e138: 6205 3c01 |002e: sget-object v5, Ldnsfilter/android/FilterConfig;.NEW_ITEM:Ljava/lang/String; // field@013c │ │ +01e13c: 6e20 8b05 5000 |0030: invoke-virtual {v0, v5}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058b │ │ +01e142: 0a05 |0033: move-result v5 │ │ +01e144: 3905 0800 |0034: if-nez v5, 003c // +0008 │ │ +01e148: 6e20 8b05 3000 |0036: invoke-virtual {v0, v3}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058b │ │ +01e14e: 0a00 |0039: move-result v0 │ │ +01e150: 3800 0d00 |003a: if-eqz v0, 0047 // +000d │ │ +01e154: 4600 0704 |003c: aget-object v0, v7, v4 │ │ +01e158: 1f00 7300 |003e: check-cast v0, Landroid/widget/TextView; // type@0073 │ │ +01e15c: 6e10 f105 0100 |0040: invoke-virtual {v1}, Ljava/net/URL;.getHost:()Ljava/lang/String; // method@05f1 │ │ +01e162: 0c04 |0043: move-result-object v4 │ │ +01e164: 6e20 0901 4000 |0044: invoke-virtual {v0, v4}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@0109 │ │ +01e16a: 4600 0702 |0047: aget-object v0, v7, v2 │ │ +01e16e: 1f00 7300 |0049: check-cast v0, Landroid/widget/TextView; // type@0073 │ │ +01e172: 6e10 0401 0000 |004b: invoke-virtual {v0}, Landroid/widget/TextView;.getText:()Ljava/lang/CharSequence; // method@0104 │ │ +01e178: 0c00 |004e: move-result-object v0 │ │ +01e17a: 7210 5005 0000 |004f: invoke-interface {v0}, Ljava/lang/CharSequence;.toString:()Ljava/lang/String; // method@0550 │ │ +01e180: 0c00 |0052: move-result-object v0 │ │ +01e182: 6e10 a005 0000 |0053: invoke-virtual {v0}, Ljava/lang/String;.trim:()Ljava/lang/String; // method@05a0 │ │ +01e188: 0c00 |0056: move-result-object v0 │ │ +01e18a: 6204 3c01 |0057: sget-object v4, Ldnsfilter/android/FilterConfig;.NEW_ITEM:Ljava/lang/String; // field@013c │ │ +01e18e: 6e20 8b05 4000 |0059: invoke-virtual {v0, v4}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058b │ │ +01e194: 0a04 |005c: move-result v4 │ │ +01e196: 3904 0800 |005d: if-nez v4, 0065 // +0008 │ │ +01e19a: 6e20 8b05 3000 |005f: invoke-virtual {v0, v3}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058b │ │ +01e1a0: 0a00 |0062: move-result v0 │ │ +01e1a2: 3800 6a00 |0063: if-eqz v0, 00cd // +006a │ │ +01e1a6: 4607 0702 |0065: aget-object v7, v7, v2 │ │ +01e1aa: 1f07 7300 |0067: check-cast v7, Landroid/widget/TextView; // type@0073 │ │ +01e1ae: 6e10 f105 0100 |0069: invoke-virtual {v1}, Ljava/net/URL;.getHost:()Ljava/lang/String; // method@05f1 │ │ +01e1b4: 0c00 |006c: move-result-object v0 │ │ +01e1b6: 6e20 0901 0700 |006d: invoke-virtual {v7, v0}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@0109 │ │ +01e1bc: 285d |0070: goto 00cd // +005d │ │ +01e1be: 2201 fb00 |0071: new-instance v1, Ljava/io/File; // type@00fb │ │ +01e1c2: 1275 |0073: const/4 v5, #int 7 // #7 │ │ +01e1c4: 6e20 9a05 5000 |0074: invoke-virtual {v0, v5}, Ljava/lang/String;.substring:(I)Ljava/lang/String; // method@059a │ │ +01e1ca: 0c00 |0077: move-result-object v0 │ │ +01e1cc: 7020 ff04 0100 |0078: invoke-direct {v1, v0}, Ljava/io/File;.:(Ljava/lang/String;)V // method@04ff │ │ +01e1d2: 4600 0704 |007b: aget-object v0, v7, v4 │ │ +01e1d6: 1f00 7300 |007d: check-cast v0, Landroid/widget/TextView; // type@0073 │ │ +01e1da: 6e10 0401 0000 |007f: invoke-virtual {v0}, Landroid/widget/TextView;.getText:()Ljava/lang/CharSequence; // method@0104 │ │ +01e1e0: 0c00 |0082: move-result-object v0 │ │ +01e1e2: 7210 5005 0000 |0083: invoke-interface {v0}, Ljava/lang/CharSequence;.toString:()Ljava/lang/String; // method@0550 │ │ +01e1e8: 0c00 |0086: move-result-object v0 │ │ +01e1ea: 6e10 a005 0000 |0087: invoke-virtual {v0}, Ljava/lang/String;.trim:()Ljava/lang/String; // method@05a0 │ │ +01e1f0: 0c00 |008a: move-result-object v0 │ │ +01e1f2: 6205 3c01 |008b: sget-object v5, Ldnsfilter/android/FilterConfig;.NEW_ITEM:Ljava/lang/String; // field@013c │ │ +01e1f6: 6e20 8b05 5000 |008d: invoke-virtual {v0, v5}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058b │ │ +01e1fc: 0a05 |0090: move-result v5 │ │ +01e1fe: 3905 0800 |0091: if-nez v5, 0099 // +0008 │ │ +01e202: 6e20 8b05 3000 |0093: invoke-virtual {v0, v3}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058b │ │ +01e208: 0a00 |0096: move-result v0 │ │ +01e20a: 3800 0d00 |0097: if-eqz v0, 00a4 // +000d │ │ +01e20e: 4600 0704 |0099: aget-object v0, v7, v4 │ │ +01e212: 1f00 7300 |009b: check-cast v0, Landroid/widget/TextView; // type@0073 │ │ +01e216: 6e10 0705 0100 |009d: invoke-virtual {v1}, Ljava/io/File;.getName:()Ljava/lang/String; // method@0507 │ │ +01e21c: 0c04 |00a0: move-result-object v4 │ │ +01e21e: 6e20 0901 4000 |00a1: invoke-virtual {v0, v4}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@0109 │ │ +01e224: 4600 0702 |00a4: aget-object v0, v7, v2 │ │ +01e228: 1f00 7300 |00a6: check-cast v0, Landroid/widget/TextView; // type@0073 │ │ +01e22c: 6e10 0401 0000 |00a8: invoke-virtual {v0}, Landroid/widget/TextView;.getText:()Ljava/lang/CharSequence; // method@0104 │ │ +01e232: 0c00 |00ab: move-result-object v0 │ │ +01e234: 7210 5005 0000 |00ac: invoke-interface {v0}, Ljava/lang/CharSequence;.toString:()Ljava/lang/String; // method@0550 │ │ +01e23a: 0c00 |00af: move-result-object v0 │ │ +01e23c: 6e10 a005 0000 |00b0: invoke-virtual {v0}, Ljava/lang/String;.trim:()Ljava/lang/String; // method@05a0 │ │ +01e242: 0c00 |00b3: move-result-object v0 │ │ +01e244: 6204 3c01 |00b4: sget-object v4, Ldnsfilter/android/FilterConfig;.NEW_ITEM:Ljava/lang/String; // field@013c │ │ +01e248: 6e20 8b05 4000 |00b6: invoke-virtual {v0, v4}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058b │ │ +01e24e: 0a04 |00b9: move-result v4 │ │ +01e250: 3904 0800 |00ba: if-nez v4, 00c2 // +0008 │ │ +01e254: 6e20 8b05 3000 |00bc: invoke-virtual {v0, v3}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058b │ │ +01e25a: 0a00 |00bf: move-result v0 │ │ +01e25c: 3800 0d00 |00c0: if-eqz v0, 00cd // +000d │ │ +01e260: 4607 0702 |00c2: aget-object v7, v7, v2 │ │ +01e264: 1f07 7300 |00c4: check-cast v7, Landroid/widget/TextView; // type@0073 │ │ +01e268: 6e10 0705 0100 |00c6: invoke-virtual {v1}, Ljava/io/File;.getName:()Ljava/lang/String; // method@0507 │ │ +01e26e: 0c00 |00c9: move-result-object v0 │ │ +01e270: 6e20 0901 0700 |00ca: invoke-virtual {v7, v0}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@0109 │ │ +01e276: 0e00 |00cd: return-void │ │ catches : (none) │ │ positions : │ │ 0x0001 line=345 │ │ 0x000d line=346 │ │ 0x0019 line=347 │ │ 0x001e line=348 │ │ 0x002e line=349 │ │ @@ -17013,45 +17013,45 @@ │ │ type : '()V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 5 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 60 16-bit code units │ │ -01d7e4: |[01d7e4] dnsfilter.android.FilterConfig.clear:()V │ │ -01d7f4: 6e10 3d03 0400 |0000: invoke-virtual {v4}, Ldnsfilter/android/FilterConfig;.getFilterEntries:()[Ldnsfilter/ConfigUtil$HostFilterList; // method@033d │ │ -01d7fa: 0c00 |0003: move-result-object v0 │ │ -01d7fc: 5b40 4701 |0004: iput-object v0, v4, Ldnsfilter/android/FilterConfig;.filterEntries:[Ldnsfilter/ConfigUtil$HostFilterList; // field@0147 │ │ -01d800: 5440 4101 |0006: iget-object v0, v4, Ldnsfilter/android/FilterConfig;.configTable:Landroid/widget/TableLayout; // field@0141 │ │ -01d804: 6e10 fc00 0000 |0008: invoke-virtual {v0}, Landroid/widget/TableLayout;.getChildCount:()I // method@00fc │ │ -01d80a: 0a00 |000b: move-result v0 │ │ -01d80c: d800 00ff |000c: add-int/lit8 v0, v0, #int -1 // #ff │ │ -01d810: 1201 |000e: const/4 v1, #int 0 // #0 │ │ -01d812: 3d00 1a00 |000f: if-lez v0, 0029 // +001a │ │ -01d816: 5442 4101 |0011: iget-object v2, v4, Ldnsfilter/android/FilterConfig;.configTable:Landroid/widget/TableLayout; // field@0141 │ │ -01d81a: 6e20 fb00 0200 |0013: invoke-virtual {v2, v0}, Landroid/widget/TableLayout;.getChildAt:(I)Landroid/view/View; // method@00fb │ │ -01d820: 0c02 |0016: move-result-object v2 │ │ -01d822: 1f02 7200 |0017: check-cast v2, Landroid/widget/TableRow; // type@0072 │ │ -01d826: 1243 |0019: const/4 v3, #int 4 // #4 │ │ -01d828: 6e20 ff00 3200 |001a: invoke-virtual {v2, v3}, Landroid/widget/TableRow;.getChildAt:(I)Landroid/view/View; // method@00ff │ │ -01d82e: 0c03 |001d: move-result-object v3 │ │ -01d830: 6e20 b200 1300 |001e: invoke-virtual {v3, v1}, Landroid/view/View;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@00b2 │ │ -01d836: 5441 4101 |0021: iget-object v1, v4, Ldnsfilter/android/FilterConfig;.configTable:Landroid/widget/TableLayout; // field@0141 │ │ -01d83a: 6e20 fe00 2100 |0023: invoke-virtual {v1, v2}, Landroid/widget/TableLayout;.removeView:(Landroid/view/View;)V // method@00fe │ │ -01d840: d800 00ff |0026: add-int/lit8 v0, v0, #int -1 // #ff │ │ -01d844: 28e6 |0028: goto 000e // -001a │ │ -01d846: 5440 3d01 |0029: iget-object v0, v4, Ldnsfilter/android/FilterConfig;.categoryDown:Landroid/widget/Button; // field@013d │ │ -01d84a: 6e20 c500 1000 |002b: invoke-virtual {v0, v1}, Landroid/widget/Button;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@00c5 │ │ -01d850: 5440 4001 |002e: iget-object v0, v4, Ldnsfilter/android/FilterConfig;.categoryUp:Landroid/widget/Button; // field@0140 │ │ -01d854: 6e20 c500 1000 |0030: invoke-virtual {v0, v1}, Landroid/widget/Button;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@00c5 │ │ -01d85a: 5440 4901 |0033: iget-object v0, v4, Ldnsfilter/android/FilterConfig;.restoreDefault:Landroid/widget/Button; // field@0149 │ │ -01d85e: 6e20 c500 1000 |0035: invoke-virtual {v0, v1}, Landroid/widget/Button;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@00c5 │ │ -01d864: 1200 |0038: const/4 v0, #int 0 // #0 │ │ -01d866: 5c40 4801 |0039: iput-boolean v0, v4, Ldnsfilter/android/FilterConfig;.loaded:Z // field@0148 │ │ -01d86a: 0e00 |003b: return-void │ │ +01d7e0: |[01d7e0] dnsfilter.android.FilterConfig.clear:()V │ │ +01d7f0: 6e10 3d03 0400 |0000: invoke-virtual {v4}, Ldnsfilter/android/FilterConfig;.getFilterEntries:()[Ldnsfilter/ConfigUtil$HostFilterList; // method@033d │ │ +01d7f6: 0c00 |0003: move-result-object v0 │ │ +01d7f8: 5b40 4701 |0004: iput-object v0, v4, Ldnsfilter/android/FilterConfig;.filterEntries:[Ldnsfilter/ConfigUtil$HostFilterList; // field@0147 │ │ +01d7fc: 5440 4101 |0006: iget-object v0, v4, Ldnsfilter/android/FilterConfig;.configTable:Landroid/widget/TableLayout; // field@0141 │ │ +01d800: 6e10 fc00 0000 |0008: invoke-virtual {v0}, Landroid/widget/TableLayout;.getChildCount:()I // method@00fc │ │ +01d806: 0a00 |000b: move-result v0 │ │ +01d808: d800 00ff |000c: add-int/lit8 v0, v0, #int -1 // #ff │ │ +01d80c: 1201 |000e: const/4 v1, #int 0 // #0 │ │ +01d80e: 3d00 1a00 |000f: if-lez v0, 0029 // +001a │ │ +01d812: 5442 4101 |0011: iget-object v2, v4, Ldnsfilter/android/FilterConfig;.configTable:Landroid/widget/TableLayout; // field@0141 │ │ +01d816: 6e20 fb00 0200 |0013: invoke-virtual {v2, v0}, Landroid/widget/TableLayout;.getChildAt:(I)Landroid/view/View; // method@00fb │ │ +01d81c: 0c02 |0016: move-result-object v2 │ │ +01d81e: 1f02 7200 |0017: check-cast v2, Landroid/widget/TableRow; // type@0072 │ │ +01d822: 1243 |0019: const/4 v3, #int 4 // #4 │ │ +01d824: 6e20 ff00 3200 |001a: invoke-virtual {v2, v3}, Landroid/widget/TableRow;.getChildAt:(I)Landroid/view/View; // method@00ff │ │ +01d82a: 0c03 |001d: move-result-object v3 │ │ +01d82c: 6e20 b200 1300 |001e: invoke-virtual {v3, v1}, Landroid/view/View;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@00b2 │ │ +01d832: 5441 4101 |0021: iget-object v1, v4, Ldnsfilter/android/FilterConfig;.configTable:Landroid/widget/TableLayout; // field@0141 │ │ +01d836: 6e20 fe00 2100 |0023: invoke-virtual {v1, v2}, Landroid/widget/TableLayout;.removeView:(Landroid/view/View;)V // method@00fe │ │ +01d83c: d800 00ff |0026: add-int/lit8 v0, v0, #int -1 // #ff │ │ +01d840: 28e6 |0028: goto 000e // -001a │ │ +01d842: 5440 3d01 |0029: iget-object v0, v4, Ldnsfilter/android/FilterConfig;.categoryDown:Landroid/widget/Button; // field@013d │ │ +01d846: 6e20 c500 1000 |002b: invoke-virtual {v0, v1}, Landroid/widget/Button;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@00c5 │ │ +01d84c: 5440 4001 |002e: iget-object v0, v4, Ldnsfilter/android/FilterConfig;.categoryUp:Landroid/widget/Button; // field@0140 │ │ +01d850: 6e20 c500 1000 |0030: invoke-virtual {v0, v1}, Landroid/widget/Button;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@00c5 │ │ +01d856: 5440 4901 |0033: iget-object v0, v4, Ldnsfilter/android/FilterConfig;.restoreDefault:Landroid/widget/Button; // field@0149 │ │ +01d85a: 6e20 c500 1000 |0035: invoke-virtual {v0, v1}, Landroid/widget/Button;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@00c5 │ │ +01d860: 1200 |0038: const/4 v0, #int 0 // #0 │ │ +01d862: 5c40 4801 |0039: iput-boolean v0, v4, Ldnsfilter/android/FilterConfig;.loaded:Z // field@0148 │ │ +01d866: 0e00 |003b: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=181 │ │ 0x0006 line=182 │ │ 0x0011 line=184 │ │ 0x001a line=185 │ │ 0x0021 line=186 │ │ @@ -17067,21 +17067,21 @@ │ │ type : '()Ljava/lang/String;' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 11 16-bit code units │ │ -01d5bc: |[01d5bc] dnsfilter.android.FilterConfig.getCurrentCategory:()Ljava/lang/String; │ │ -01d5cc: 5410 3e01 |0000: iget-object v0, v1, Ldnsfilter/android/FilterConfig;.categoryField:Landroid/widget/TextView; // field@013e │ │ -01d5d0: 6e10 0401 0000 |0002: invoke-virtual {v0}, Landroid/widget/TextView;.getText:()Ljava/lang/CharSequence; // method@0104 │ │ -01d5d6: 0c00 |0005: move-result-object v0 │ │ -01d5d8: 7210 5005 0000 |0006: invoke-interface {v0}, Ljava/lang/CharSequence;.toString:()Ljava/lang/String; // method@0550 │ │ -01d5de: 0c00 |0009: move-result-object v0 │ │ -01d5e0: 1100 |000a: return-object v0 │ │ +01d5b8: |[01d5b8] dnsfilter.android.FilterConfig.getCurrentCategory:()Ljava/lang/String; │ │ +01d5c8: 5410 3e01 |0000: iget-object v0, v1, Ldnsfilter/android/FilterConfig;.categoryField:Landroid/widget/TextView; // field@013e │ │ +01d5cc: 6e10 0401 0000 |0002: invoke-virtual {v0}, Landroid/widget/TextView;.getText:()Ljava/lang/CharSequence; // method@0104 │ │ +01d5d2: 0c00 |0005: move-result-object v0 │ │ +01d5d4: 7210 5005 0000 |0006: invoke-interface {v0}, Ljava/lang/CharSequence;.toString:()Ljava/lang/String; // method@0550 │ │ +01d5da: 0c00 |0009: move-result-object v0 │ │ +01d5dc: 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;) │ │ @@ -17089,71 +17089,71 @@ │ │ type : '()[Ldnsfilter/ConfigUtil$HostFilterList;' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 13 │ │ ins : 1 │ │ outs : 5 │ │ insns size : 103 16-bit code units │ │ -01d4dc: |[01d4dc] dnsfilter.android.FilterConfig.getFilterEntries:()[Ldnsfilter/ConfigUtil$HostFilterList; │ │ -01d4ec: 55c0 4801 |0000: iget-boolean v0, v12, Ldnsfilter/android/FilterConfig;.loaded:Z // field@0148 │ │ -01d4f0: 3900 0500 |0002: if-nez v0, 0007 // +0005 │ │ -01d4f4: 54c0 4701 |0004: iget-object v0, v12, Ldnsfilter/android/FilterConfig;.filterEntries:[Ldnsfilter/ConfigUtil$HostFilterList; // field@0147 │ │ -01d4f8: 1100 |0006: return-object v0 │ │ -01d4fa: 54c0 4101 |0007: iget-object v0, v12, Ldnsfilter/android/FilterConfig;.configTable:Landroid/widget/TableLayout; // field@0141 │ │ -01d4fe: 6e10 fc00 0000 |0009: invoke-virtual {v0}, Landroid/widget/TableLayout;.getChildCount:()I // method@00fc │ │ -01d504: 0a00 |000c: move-result v0 │ │ -01d506: 1221 |000d: const/4 v1, #int 2 // #2 │ │ -01d508: b110 |000e: sub-int/2addr v0, v1 │ │ -01d50a: 2302 a301 |000f: new-array v2, v0, [Ldnsfilter/ConfigUtil$HostFilterList; // type@01a3 │ │ -01d50e: 1203 |0011: const/4 v3, #int 0 // #0 │ │ -01d510: 1204 |0012: const/4 v4, #int 0 // #0 │ │ -01d512: 3504 5300 |0013: if-ge v4, v0, 0066 // +0053 │ │ -01d516: 54c5 4101 |0015: iget-object v5, v12, Ldnsfilter/android/FilterConfig;.configTable:Landroid/widget/TableLayout; // field@0141 │ │ -01d51a: d806 0401 |0017: add-int/lit8 v6, v4, #int 1 // #01 │ │ -01d51e: 6e20 fb00 6500 |0019: invoke-virtual {v5, v6}, Landroid/widget/TableLayout;.getChildAt:(I)Landroid/view/View; // method@00fb │ │ -01d524: 0c05 |001c: move-result-object v5 │ │ -01d526: 1f05 7200 |001d: check-cast v5, Landroid/widget/TableRow; // type@0072 │ │ -01d52a: 7020 3b03 5c00 |001f: invoke-direct {v12, v5}, Ldnsfilter/android/FilterConfig;.getContentCells:(Landroid/widget/TableRow;)[Landroid/view/View; // method@033b │ │ -01d530: 0c05 |0022: move-result-object v5 │ │ -01d532: 2207 7f00 |0023: new-instance v7, Ldnsfilter/ConfigUtil$HostFilterList; // type@007f │ │ -01d536: 4608 0503 |0025: aget-object v8, v5, v3 │ │ -01d53a: 1f08 6400 |0027: check-cast v8, Landroid/widget/CheckBox; // type@0064 │ │ -01d53e: 6e10 cc00 0800 |0029: invoke-virtual {v8}, Landroid/widget/CheckBox;.isChecked:()Z // method@00cc │ │ -01d544: 0a08 |002c: move-result v8 │ │ -01d546: 1219 |002d: const/4 v9, #int 1 // #1 │ │ -01d548: 4609 0509 |002e: aget-object v9, v5, v9 │ │ -01d54c: 1f09 7300 |0030: check-cast v9, Landroid/widget/TextView; // type@0073 │ │ -01d550: 6e10 0401 0900 |0032: invoke-virtual {v9}, Landroid/widget/TextView;.getText:()Ljava/lang/CharSequence; // method@0104 │ │ -01d556: 0c09 |0035: move-result-object v9 │ │ -01d558: 7210 5005 0900 |0036: invoke-interface {v9}, Ljava/lang/CharSequence;.toString:()Ljava/lang/String; // method@0550 │ │ -01d55e: 0c09 |0039: move-result-object v9 │ │ -01d560: 6e10 a005 0900 |003a: invoke-virtual {v9}, Ljava/lang/String;.trim:()Ljava/lang/String; // method@05a0 │ │ -01d566: 0c09 |003d: move-result-object v9 │ │ -01d568: 460a 0501 |003e: aget-object v10, v5, v1 │ │ -01d56c: 1f0a 7300 |0040: check-cast v10, Landroid/widget/TextView; // type@0073 │ │ -01d570: 6e10 0401 0a00 |0042: invoke-virtual {v10}, Landroid/widget/TextView;.getText:()Ljava/lang/CharSequence; // method@0104 │ │ -01d576: 0c0a |0045: move-result-object v10 │ │ -01d578: 7210 5005 0a00 |0046: invoke-interface {v10}, Ljava/lang/CharSequence;.toString:()Ljava/lang/String; // method@0550 │ │ -01d57e: 0c0a |0049: move-result-object v10 │ │ -01d580: 6e10 a005 0a00 |004a: invoke-virtual {v10}, Ljava/lang/String;.trim:()Ljava/lang/String; // method@05a0 │ │ -01d586: 0c0a |004d: move-result-object v10 │ │ -01d588: 123b |004e: const/4 v11, #int 3 // #3 │ │ -01d58a: 4605 050b |004f: aget-object v5, v5, v11 │ │ -01d58e: 1f05 7300 |0051: check-cast v5, Landroid/widget/TextView; // type@0073 │ │ -01d592: 6e10 0401 0500 |0053: invoke-virtual {v5}, Landroid/widget/TextView;.getText:()Ljava/lang/CharSequence; // method@0104 │ │ -01d598: 0c05 |0056: move-result-object v5 │ │ -01d59a: 7210 5005 0500 |0057: invoke-interface {v5}, Ljava/lang/CharSequence;.toString:()Ljava/lang/String; // method@0550 │ │ -01d5a0: 0c05 |005a: move-result-object v5 │ │ -01d5a2: 6e10 a005 0500 |005b: invoke-virtual {v5}, Ljava/lang/String;.trim:()Ljava/lang/String; // method@05a0 │ │ -01d5a8: 0c05 |005e: move-result-object v5 │ │ -01d5aa: 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 │ │ -01d5b0: 4d07 0204 |0062: aput-object v7, v2, v4 │ │ -01d5b4: 0164 |0064: move v4, v6 │ │ -01d5b6: 28ae |0065: goto 0013 // -0052 │ │ -01d5b8: 1102 |0066: return-object v2 │ │ +01d4d8: |[01d4d8] dnsfilter.android.FilterConfig.getFilterEntries:()[Ldnsfilter/ConfigUtil$HostFilterList; │ │ +01d4e8: 55c0 4801 |0000: iget-boolean v0, v12, Ldnsfilter/android/FilterConfig;.loaded:Z // field@0148 │ │ +01d4ec: 3900 0500 |0002: if-nez v0, 0007 // +0005 │ │ +01d4f0: 54c0 4701 |0004: iget-object v0, v12, Ldnsfilter/android/FilterConfig;.filterEntries:[Ldnsfilter/ConfigUtil$HostFilterList; // field@0147 │ │ +01d4f4: 1100 |0006: return-object v0 │ │ +01d4f6: 54c0 4101 |0007: iget-object v0, v12, Ldnsfilter/android/FilterConfig;.configTable:Landroid/widget/TableLayout; // field@0141 │ │ +01d4fa: 6e10 fc00 0000 |0009: invoke-virtual {v0}, Landroid/widget/TableLayout;.getChildCount:()I // method@00fc │ │ +01d500: 0a00 |000c: move-result v0 │ │ +01d502: 1221 |000d: const/4 v1, #int 2 // #2 │ │ +01d504: b110 |000e: sub-int/2addr v0, v1 │ │ +01d506: 2302 a301 |000f: new-array v2, v0, [Ldnsfilter/ConfigUtil$HostFilterList; // type@01a3 │ │ +01d50a: 1203 |0011: const/4 v3, #int 0 // #0 │ │ +01d50c: 1204 |0012: const/4 v4, #int 0 // #0 │ │ +01d50e: 3504 5300 |0013: if-ge v4, v0, 0066 // +0053 │ │ +01d512: 54c5 4101 |0015: iget-object v5, v12, Ldnsfilter/android/FilterConfig;.configTable:Landroid/widget/TableLayout; // field@0141 │ │ +01d516: d806 0401 |0017: add-int/lit8 v6, v4, #int 1 // #01 │ │ +01d51a: 6e20 fb00 6500 |0019: invoke-virtual {v5, v6}, Landroid/widget/TableLayout;.getChildAt:(I)Landroid/view/View; // method@00fb │ │ +01d520: 0c05 |001c: move-result-object v5 │ │ +01d522: 1f05 7200 |001d: check-cast v5, Landroid/widget/TableRow; // type@0072 │ │ +01d526: 7020 3b03 5c00 |001f: invoke-direct {v12, v5}, Ldnsfilter/android/FilterConfig;.getContentCells:(Landroid/widget/TableRow;)[Landroid/view/View; // method@033b │ │ +01d52c: 0c05 |0022: move-result-object v5 │ │ +01d52e: 2207 7f00 |0023: new-instance v7, Ldnsfilter/ConfigUtil$HostFilterList; // type@007f │ │ +01d532: 4608 0503 |0025: aget-object v8, v5, v3 │ │ +01d536: 1f08 6400 |0027: check-cast v8, Landroid/widget/CheckBox; // type@0064 │ │ +01d53a: 6e10 cc00 0800 |0029: invoke-virtual {v8}, Landroid/widget/CheckBox;.isChecked:()Z // method@00cc │ │ +01d540: 0a08 |002c: move-result v8 │ │ +01d542: 1219 |002d: const/4 v9, #int 1 // #1 │ │ +01d544: 4609 0509 |002e: aget-object v9, v5, v9 │ │ +01d548: 1f09 7300 |0030: check-cast v9, Landroid/widget/TextView; // type@0073 │ │ +01d54c: 6e10 0401 0900 |0032: invoke-virtual {v9}, Landroid/widget/TextView;.getText:()Ljava/lang/CharSequence; // method@0104 │ │ +01d552: 0c09 |0035: move-result-object v9 │ │ +01d554: 7210 5005 0900 |0036: invoke-interface {v9}, Ljava/lang/CharSequence;.toString:()Ljava/lang/String; // method@0550 │ │ +01d55a: 0c09 |0039: move-result-object v9 │ │ +01d55c: 6e10 a005 0900 |003a: invoke-virtual {v9}, Ljava/lang/String;.trim:()Ljava/lang/String; // method@05a0 │ │ +01d562: 0c09 |003d: move-result-object v9 │ │ +01d564: 460a 0501 |003e: aget-object v10, v5, v1 │ │ +01d568: 1f0a 7300 |0040: check-cast v10, Landroid/widget/TextView; // type@0073 │ │ +01d56c: 6e10 0401 0a00 |0042: invoke-virtual {v10}, Landroid/widget/TextView;.getText:()Ljava/lang/CharSequence; // method@0104 │ │ +01d572: 0c0a |0045: move-result-object v10 │ │ +01d574: 7210 5005 0a00 |0046: invoke-interface {v10}, Ljava/lang/CharSequence;.toString:()Ljava/lang/String; // method@0550 │ │ +01d57a: 0c0a |0049: move-result-object v10 │ │ +01d57c: 6e10 a005 0a00 |004a: invoke-virtual {v10}, Ljava/lang/String;.trim:()Ljava/lang/String; // method@05a0 │ │ +01d582: 0c0a |004d: move-result-object v10 │ │ +01d584: 123b |004e: const/4 v11, #int 3 // #3 │ │ +01d586: 4605 050b |004f: aget-object v5, v5, v11 │ │ +01d58a: 1f05 7300 |0051: check-cast v5, Landroid/widget/TextView; // type@0073 │ │ +01d58e: 6e10 0401 0500 |0053: invoke-virtual {v5}, Landroid/widget/TextView;.getText:()Ljava/lang/CharSequence; // method@0104 │ │ +01d594: 0c05 |0056: move-result-object v5 │ │ +01d596: 7210 5005 0500 |0057: invoke-interface {v5}, Ljava/lang/CharSequence;.toString:()Ljava/lang/String; // method@0550 │ │ +01d59c: 0c05 |005a: move-result-object v5 │ │ +01d59e: 6e10 a005 0500 |005b: invoke-virtual {v5}, Ljava/lang/String;.trim:()Ljava/lang/String; // method@05a0 │ │ +01d5a4: 0c05 |005e: move-result-object v5 │ │ +01d5a6: 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 │ │ +01d5ac: 4d07 0204 |0062: aput-object v7, v2, v4 │ │ +01d5b0: 0164 |0064: move v4, v6 │ │ +01d5b2: 28ae |0065: goto 0013 // -0052 │ │ +01d5b4: 1102 |0066: return-object v2 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=168 │ │ 0x0004 line=169 │ │ 0x0007 line=171 │ │ 0x000f line=172 │ │ 0x0015 line=174 │ │ @@ -17166,36 +17166,36 @@ │ │ type : '()V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 4 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 41 16-bit code units │ │ -01dc54: |[01dc54] dnsfilter.android.FilterConfig.load:()V │ │ -01dc64: 5530 4801 |0000: iget-boolean v0, v3, Ldnsfilter/android/FilterConfig;.loaded:Z // field@0148 │ │ -01dc68: 3800 0300 |0002: if-eqz v0, 0005 // +0003 │ │ -01dc6c: 0e00 |0004: return-void │ │ -01dc6e: 1200 |0005: const/4 v0, #int 0 // #0 │ │ -01dc70: 5431 4701 |0006: iget-object v1, v3, Ldnsfilter/android/FilterConfig;.filterEntries:[Ldnsfilter/ConfigUtil$HostFilterList; // field@0147 │ │ -01dc74: 2112 |0008: array-length v2, v1 │ │ -01dc76: 3520 0a00 |0009: if-ge v0, v2, 0013 // +000a │ │ -01dc7a: 4601 0100 |000b: aget-object v1, v1, v0 │ │ -01dc7e: 7020 3903 1300 |000d: invoke-direct {v3, v1}, Ldnsfilter/android/FilterConfig;.addItem:(Ldnsfilter/ConfigUtil$HostFilterList;)V // method@0339 │ │ -01dc84: d800 0001 |0010: add-int/lit8 v0, v0, #int 1 // #01 │ │ -01dc88: 28f4 |0012: goto 0006 // -000c │ │ -01dc8a: 7010 3803 0300 |0013: invoke-direct {v3}, Ldnsfilter/android/FilterConfig;.addEmptyEndItem:()V // method@0338 │ │ -01dc90: 5430 3d01 |0016: iget-object v0, v3, Ldnsfilter/android/FilterConfig;.categoryDown:Landroid/widget/Button; // field@013d │ │ -01dc94: 6e20 c500 3000 |0018: invoke-virtual {v0, v3}, Landroid/widget/Button;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@00c5 │ │ -01dc9a: 5430 4001 |001b: iget-object v0, v3, Ldnsfilter/android/FilterConfig;.categoryUp:Landroid/widget/Button; // field@0140 │ │ -01dc9e: 6e20 c500 3000 |001d: invoke-virtual {v0, v3}, Landroid/widget/Button;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@00c5 │ │ -01dca4: 5430 4901 |0020: iget-object v0, v3, Ldnsfilter/android/FilterConfig;.restoreDefault:Landroid/widget/Button; // field@0149 │ │ -01dca8: 6e20 c500 3000 |0022: invoke-virtual {v0, v3}, Landroid/widget/Button;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@00c5 │ │ -01dcae: 1210 |0025: const/4 v0, #int 1 // #1 │ │ -01dcb0: 5c30 4801 |0026: iput-boolean v0, v3, Ldnsfilter/android/FilterConfig;.loaded:Z // field@0148 │ │ -01dcb4: 0e00 |0028: return-void │ │ +01dc50: |[01dc50] dnsfilter.android.FilterConfig.load:()V │ │ +01dc60: 5530 4801 |0000: iget-boolean v0, v3, Ldnsfilter/android/FilterConfig;.loaded:Z // field@0148 │ │ +01dc64: 3800 0300 |0002: if-eqz v0, 0005 // +0003 │ │ +01dc68: 0e00 |0004: return-void │ │ +01dc6a: 1200 |0005: const/4 v0, #int 0 // #0 │ │ +01dc6c: 5431 4701 |0006: iget-object v1, v3, Ldnsfilter/android/FilterConfig;.filterEntries:[Ldnsfilter/ConfigUtil$HostFilterList; // field@0147 │ │ +01dc70: 2112 |0008: array-length v2, v1 │ │ +01dc72: 3520 0a00 |0009: if-ge v0, v2, 0013 // +000a │ │ +01dc76: 4601 0100 |000b: aget-object v1, v1, v0 │ │ +01dc7a: 7020 3903 1300 |000d: invoke-direct {v3, v1}, Ldnsfilter/android/FilterConfig;.addItem:(Ldnsfilter/ConfigUtil$HostFilterList;)V // method@0339 │ │ +01dc80: d800 0001 |0010: add-int/lit8 v0, v0, #int 1 // #01 │ │ +01dc84: 28f4 |0012: goto 0006 // -000c │ │ +01dc86: 7010 3803 0300 |0013: invoke-direct {v3}, Ldnsfilter/android/FilterConfig;.addEmptyEndItem:()V // method@0338 │ │ +01dc8c: 5430 3d01 |0016: iget-object v0, v3, Ldnsfilter/android/FilterConfig;.categoryDown:Landroid/widget/Button; // field@013d │ │ +01dc90: 6e20 c500 3000 |0018: invoke-virtual {v0, v3}, Landroid/widget/Button;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@00c5 │ │ +01dc96: 5430 4001 |001b: iget-object v0, v3, Ldnsfilter/android/FilterConfig;.categoryUp:Landroid/widget/Button; // field@0140 │ │ +01dc9a: 6e20 c500 3000 |001d: invoke-virtual {v0, v3}, Landroid/widget/Button;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@00c5 │ │ +01dca0: 5430 4901 |0020: iget-object v0, v3, Ldnsfilter/android/FilterConfig;.restoreDefault:Landroid/widget/Button; // field@0149 │ │ +01dca4: 6e20 c500 3000 |0022: invoke-virtual {v0, v3}, Landroid/widget/Button;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@00c5 │ │ +01dcaa: 1210 |0025: const/4 v0, #int 1 // #1 │ │ +01dcac: 5c30 4801 |0026: iput-boolean v0, v3, Ldnsfilter/android/FilterConfig;.loaded:Z // field@0148 │ │ +01dcb0: 0e00 |0028: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=142 │ │ 0x0006 line=144 │ │ 0x000b line=145 │ │ 0x0013 line=146 │ │ 0x0016 line=148 │ │ @@ -17210,41 +17210,41 @@ │ │ type : '(Landroid/view/View;)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 3 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 50 16-bit code units │ │ -01dcd0: |[01dcd0] dnsfilter.android.FilterConfig.onClick:(Landroid/view/View;)V │ │ -01dce0: 5410 4501 |0000: iget-object v0, v1, Ldnsfilter/android/FilterConfig;.editOk:Landroid/widget/Button; // field@0145 │ │ -01dce4: 3202 2c00 |0002: if-eq v2, v0, 002e // +002c │ │ -01dce8: 5410 4301 |0004: iget-object v0, v1, Ldnsfilter/android/FilterConfig;.editDelete:Landroid/widget/Button; // field@0143 │ │ -01dcec: 3202 2800 |0006: if-eq v2, v0, 002e // +0028 │ │ -01dcf0: 5410 4201 |0008: iget-object v0, v1, Ldnsfilter/android/FilterConfig;.editCancel:Landroid/widget/Button; // field@0142 │ │ -01dcf4: 3302 0300 |000a: if-ne v2, v0, 000d // +0003 │ │ -01dcf8: 2822 |000c: goto 002e // +0022 │ │ -01dcfa: 5410 4001 |000d: iget-object v0, v1, Ldnsfilter/android/FilterConfig;.categoryUp:Landroid/widget/Button; // field@0140 │ │ -01dcfe: 3202 1900 |000f: if-eq v2, v0, 0028 // +0019 │ │ -01dd02: 5410 3d01 |0011: iget-object v0, v1, Ldnsfilter/android/FilterConfig;.categoryDown:Landroid/widget/Button; // field@013d │ │ -01dd06: 3302 0300 |0013: if-ne v2, v0, 0016 // +0003 │ │ -01dd0a: 2813 |0015: goto 0028 // +0013 │ │ -01dd0c: 5410 4901 |0016: iget-object v0, v1, Ldnsfilter/android/FilterConfig;.restoreDefault:Landroid/widget/Button; // field@0149 │ │ -01dd10: 3302 0600 |0018: if-ne v2, v0, 001e // +0006 │ │ -01dd14: 7010 4403 0100 |001a: invoke-direct {v1}, Ldnsfilter/android/FilterConfig;.restoreDefaultFilters:()V // method@0344 │ │ -01dd1a: 2814 |001d: goto 0031 // +0014 │ │ -01dd1c: 6e10 ae00 0200 |001e: invoke-virtual {v2}, Landroid/view/View;.getParent:()Landroid/view/ViewParent; // method@00ae │ │ -01dd22: 0c02 |0021: move-result-object v2 │ │ -01dd24: 1f02 7200 |0022: check-cast v2, Landroid/widget/TableRow; // type@0072 │ │ -01dd28: 7020 4803 2100 |0024: invoke-direct {v1, v2}, Ldnsfilter/android/FilterConfig;.showEditDialog:(Landroid/widget/TableRow;)V // method@0348 │ │ -01dd2e: 280a |0027: goto 0031 // +000a │ │ -01dd30: 1f02 6300 |0028: check-cast v2, Landroid/widget/Button; // type@0063 │ │ -01dd34: 7020 3e03 2100 |002a: invoke-direct {v1, v2}, Ldnsfilter/android/FilterConfig;.handleCategoryChange:(Landroid/widget/Button;)V // method@033e │ │ -01dd3a: 2804 |002d: goto 0031 // +0004 │ │ -01dd3c: 7020 3f03 2100 |002e: invoke-direct {v1, v2}, Ldnsfilter/android/FilterConfig;.handleEditDialogEvent:(Landroid/view/View;)V // method@033f │ │ -01dd42: 0e00 |0031: return-void │ │ +01dccc: |[01dccc] dnsfilter.android.FilterConfig.onClick:(Landroid/view/View;)V │ │ +01dcdc: 5410 4501 |0000: iget-object v0, v1, Ldnsfilter/android/FilterConfig;.editOk:Landroid/widget/Button; // field@0145 │ │ +01dce0: 3202 2c00 |0002: if-eq v2, v0, 002e // +002c │ │ +01dce4: 5410 4301 |0004: iget-object v0, v1, Ldnsfilter/android/FilterConfig;.editDelete:Landroid/widget/Button; // field@0143 │ │ +01dce8: 3202 2800 |0006: if-eq v2, v0, 002e // +0028 │ │ +01dcec: 5410 4201 |0008: iget-object v0, v1, Ldnsfilter/android/FilterConfig;.editCancel:Landroid/widget/Button; // field@0142 │ │ +01dcf0: 3302 0300 |000a: if-ne v2, v0, 000d // +0003 │ │ +01dcf4: 2822 |000c: goto 002e // +0022 │ │ +01dcf6: 5410 4001 |000d: iget-object v0, v1, Ldnsfilter/android/FilterConfig;.categoryUp:Landroid/widget/Button; // field@0140 │ │ +01dcfa: 3202 1900 |000f: if-eq v2, v0, 0028 // +0019 │ │ +01dcfe: 5410 3d01 |0011: iget-object v0, v1, Ldnsfilter/android/FilterConfig;.categoryDown:Landroid/widget/Button; // field@013d │ │ +01dd02: 3302 0300 |0013: if-ne v2, v0, 0016 // +0003 │ │ +01dd06: 2813 |0015: goto 0028 // +0013 │ │ +01dd08: 5410 4901 |0016: iget-object v0, v1, Ldnsfilter/android/FilterConfig;.restoreDefault:Landroid/widget/Button; // field@0149 │ │ +01dd0c: 3302 0600 |0018: if-ne v2, v0, 001e // +0006 │ │ +01dd10: 7010 4403 0100 |001a: invoke-direct {v1}, Ldnsfilter/android/FilterConfig;.restoreDefaultFilters:()V // method@0344 │ │ +01dd16: 2814 |001d: goto 0031 // +0014 │ │ +01dd18: 6e10 ae00 0200 |001e: invoke-virtual {v2}, Landroid/view/View;.getParent:()Landroid/view/ViewParent; // method@00ae │ │ +01dd1e: 0c02 |0021: move-result-object v2 │ │ +01dd20: 1f02 7200 |0022: check-cast v2, Landroid/widget/TableRow; // type@0072 │ │ +01dd24: 7020 4803 2100 |0024: invoke-direct {v1, v2}, Ldnsfilter/android/FilterConfig;.showEditDialog:(Landroid/widget/TableRow;)V // method@0348 │ │ +01dd2a: 280a |0027: goto 0031 // +000a │ │ +01dd2c: 1f02 6300 |0028: check-cast v2, Landroid/widget/Button; // type@0063 │ │ +01dd30: 7020 3e03 2100 |002a: invoke-direct {v1, v2}, Ldnsfilter/android/FilterConfig;.handleCategoryChange:(Landroid/widget/Button;)V // method@033e │ │ +01dd36: 2804 |002d: goto 0031 // +0004 │ │ +01dd38: 7020 3f03 2100 |002e: invoke-direct {v1, v2}, Ldnsfilter/android/FilterConfig;.handleEditDialogEvent:(Landroid/view/View;)V // method@033f │ │ +01dd3e: 0e00 |0031: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=196 │ │ 0x000d line=198 │ │ 0x0016 line=200 │ │ 0x001a line=201 │ │ 0x001e line=203 │ │ @@ -17259,22 +17259,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 │ │ -01d4b4: |[01d4b4] dnsfilter.android.FilterConfig.onKey:(Landroid/content/DialogInterface;ILandroid/view/KeyEvent;)Z │ │ -01d4c4: 1243 |0000: const/4 v3, #int 4 // #4 │ │ -01d4c6: 3232 0500 |0001: if-eq v2, v3, 0006 // +0005 │ │ -01d4ca: 1233 |0003: const/4 v3, #int 3 // #3 │ │ -01d4cc: 3332 0500 |0004: if-ne v2, v3, 0009 // +0005 │ │ -01d4d0: 7210 4000 0100 |0006: invoke-interface {v1}, Landroid/content/DialogInterface;.dismiss:()V // method@0040 │ │ -01d4d6: 1201 |0009: const/4 v1, #int 0 // #0 │ │ -01d4d8: 0f01 |000a: return v1 │ │ +01d4b0: |[01d4b0] dnsfilter.android.FilterConfig.onKey:(Landroid/content/DialogInterface;ILandroid/view/KeyEvent;)Z │ │ +01d4c0: 1243 |0000: const/4 v3, #int 4 // #4 │ │ +01d4c2: 3232 0500 |0001: if-eq v2, v3, 0006 // +0005 │ │ +01d4c6: 1233 |0003: const/4 v3, #int 3 // #3 │ │ +01d4c8: 3332 0500 |0004: if-ne v2, v3, 0009 // +0005 │ │ +01d4cc: 7210 4000 0100 |0006: invoke-interface {v1}, Landroid/content/DialogInterface;.dismiss:()V // method@0040 │ │ +01d4d2: 1201 |0009: const/4 v1, #int 0 // #0 │ │ +01d4d4: 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 │ │ @@ -17285,18 +17285,18 @@ │ │ type : '(Ljava/lang/String;)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 3 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 6 16-bit code units │ │ -01ddd4: |[01ddd4] dnsfilter.android.FilterConfig.setCurrentCategory:(Ljava/lang/String;)V │ │ -01dde4: 5410 3e01 |0000: iget-object v0, v1, Ldnsfilter/android/FilterConfig;.categoryField:Landroid/widget/TextView; // field@013e │ │ -01dde8: 6e20 0901 2000 |0002: invoke-virtual {v0, v2}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@0109 │ │ -01ddee: 0e00 |0005: return-void │ │ +01ddd0: |[01ddd0] dnsfilter.android.FilterConfig.setCurrentCategory:(Ljava/lang/String;)V │ │ +01dde0: 5410 3e01 |0000: iget-object v0, v1, Ldnsfilter/android/FilterConfig;.categoryField:Landroid/widget/TextView; // field@013e │ │ +01dde4: 6e20 0901 2000 |0002: invoke-virtual {v0, v2}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@0109 │ │ +01ddea: 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; │ │ │ │ @@ -17305,55 +17305,55 @@ │ │ type : '([Ldnsfilter/ConfigUtil$HostFilterList;)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 6 │ │ ins : 2 │ │ outs : 3 │ │ insns size : 83 16-bit code units │ │ -01ddf0: |[01ddf0] dnsfilter.android.FilterConfig.setEntries:([Ldnsfilter/ConfigUtil$HostFilterList;)V │ │ -01de00: 5b45 4701 |0000: iput-object v5, v4, Ldnsfilter/android/FilterConfig;.filterEntries:[Ldnsfilter/ConfigUtil$HostFilterList; // field@0147 │ │ -01de04: 5445 3f01 |0002: iget-object v5, v4, Ldnsfilter/android/FilterConfig;.categoryMap:Ljava/util/TreeMap; // field@013f │ │ -01de08: 6e10 6a06 0500 |0004: invoke-virtual {v5}, Ljava/util/TreeMap;.clear:()V // method@066a │ │ -01de0e: 5445 3f01 |0007: iget-object v5, v4, Ldnsfilter/android/FilterConfig;.categoryMap:Ljava/util/TreeMap; // field@013f │ │ -01de12: 6200 3901 |0009: sget-object v0, Ldnsfilter/android/FilterConfig;.ALL_ACTIVE:Ljava/lang/String; // field@0139 │ │ -01de16: 2201 1e01 |000b: new-instance v1, Ljava/lang/Integer; // type@011e │ │ -01de1a: 1202 |000d: const/4 v2, #int 0 // #0 │ │ -01de1c: 7020 6305 2100 |000e: invoke-direct {v1, v2}, Ljava/lang/Integer;.:(I)V // method@0563 │ │ -01de22: 6e30 7106 0501 |0011: invoke-virtual {v5, v0, v1}, Ljava/util/TreeMap;.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; // method@0671 │ │ -01de28: 5445 3f01 |0014: iget-object v5, v4, Ldnsfilter/android/FilterConfig;.categoryMap:Ljava/util/TreeMap; // field@013f │ │ -01de2c: 6200 3a01 |0016: sget-object v0, Ldnsfilter/android/FilterConfig;.ALL_CATEGORIES:Ljava/lang/String; // field@013a │ │ -01de30: 2201 1e01 |0018: new-instance v1, Ljava/lang/Integer; // type@011e │ │ -01de34: 7020 6305 2100 |001a: invoke-direct {v1, v2}, Ljava/lang/Integer;.:(I)V // method@0563 │ │ -01de3a: 6e30 7106 0501 |001d: invoke-virtual {v5, v0, v1}, Ljava/util/TreeMap;.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; // method@0671 │ │ -01de40: 1205 |0020: const/4 v5, #int 0 // #0 │ │ -01de42: 5440 4701 |0021: iget-object v0, v4, Ldnsfilter/android/FilterConfig;.filterEntries:[Ldnsfilter/ConfigUtil$HostFilterList; // field@0147 │ │ -01de46: 2101 |0023: array-length v1, v0 │ │ -01de48: 3515 2e00 |0024: if-ge v5, v1, 0052 // +002e │ │ -01de4c: 5441 3f01 |0026: iget-object v1, v4, Ldnsfilter/android/FilterConfig;.categoryMap:Ljava/util/TreeMap; // field@013f │ │ -01de50: 4600 0005 |0028: aget-object v0, v0, v5 │ │ -01de54: 5400 0e00 |002a: iget-object v0, v0, Ldnsfilter/ConfigUtil$HostFilterList;.category:Ljava/lang/String; // field@000e │ │ -01de58: 6e20 6d06 0100 |002c: invoke-virtual {v1, v0}, Ljava/util/TreeMap;.get:(Ljava/lang/Object;)Ljava/lang/Object; // method@066d │ │ -01de5e: 0c00 |002f: move-result-object v0 │ │ -01de60: 1f00 1e01 |0030: check-cast v0, Ljava/lang/Integer; // type@011e │ │ -01de64: 3900 0700 |0032: if-nez v0, 0039 // +0007 │ │ -01de68: 2200 1e01 |0034: new-instance v0, Ljava/lang/Integer; // type@011e │ │ -01de6c: 7020 6305 2000 |0036: invoke-direct {v0, v2}, Ljava/lang/Integer;.:(I)V // method@0563 │ │ -01de72: 2201 1e01 |0039: new-instance v1, Ljava/lang/Integer; // type@011e │ │ -01de76: 6e10 6405 0000 |003b: invoke-virtual {v0}, Ljava/lang/Integer;.intValue:()I // method@0564 │ │ -01de7c: 0a00 |003e: move-result v0 │ │ -01de7e: d800 0001 |003f: add-int/lit8 v0, v0, #int 1 // #01 │ │ -01de82: 7020 6305 0100 |0041: invoke-direct {v1, v0}, Ljava/lang/Integer;.:(I)V // method@0563 │ │ -01de88: 5440 3f01 |0044: iget-object v0, v4, Ldnsfilter/android/FilterConfig;.categoryMap:Ljava/util/TreeMap; // field@013f │ │ -01de8c: 5443 4701 |0046: iget-object v3, v4, Ldnsfilter/android/FilterConfig;.filterEntries:[Ldnsfilter/ConfigUtil$HostFilterList; // field@0147 │ │ -01de90: 4603 0305 |0048: aget-object v3, v3, v5 │ │ -01de94: 5433 0e00 |004a: iget-object v3, v3, Ldnsfilter/ConfigUtil$HostFilterList;.category:Ljava/lang/String; // field@000e │ │ -01de98: 6e30 7106 3001 |004c: invoke-virtual {v0, v3, v1}, Ljava/util/TreeMap;.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; // method@0671 │ │ -01de9e: d805 0501 |004f: add-int/lit8 v5, v5, #int 1 // #01 │ │ -01dea2: 28d0 |0051: goto 0021 // -0030 │ │ -01dea4: 0e00 |0052: return-void │ │ +01ddec: |[01ddec] dnsfilter.android.FilterConfig.setEntries:([Ldnsfilter/ConfigUtil$HostFilterList;)V │ │ +01ddfc: 5b45 4701 |0000: iput-object v5, v4, Ldnsfilter/android/FilterConfig;.filterEntries:[Ldnsfilter/ConfigUtil$HostFilterList; // field@0147 │ │ +01de00: 5445 3f01 |0002: iget-object v5, v4, Ldnsfilter/android/FilterConfig;.categoryMap:Ljava/util/TreeMap; // field@013f │ │ +01de04: 6e10 6a06 0500 |0004: invoke-virtual {v5}, Ljava/util/TreeMap;.clear:()V // method@066a │ │ +01de0a: 5445 3f01 |0007: iget-object v5, v4, Ldnsfilter/android/FilterConfig;.categoryMap:Ljava/util/TreeMap; // field@013f │ │ +01de0e: 6200 3901 |0009: sget-object v0, Ldnsfilter/android/FilterConfig;.ALL_ACTIVE:Ljava/lang/String; // field@0139 │ │ +01de12: 2201 1e01 |000b: new-instance v1, Ljava/lang/Integer; // type@011e │ │ +01de16: 1202 |000d: const/4 v2, #int 0 // #0 │ │ +01de18: 7020 6305 2100 |000e: invoke-direct {v1, v2}, Ljava/lang/Integer;.:(I)V // method@0563 │ │ +01de1e: 6e30 7106 0501 |0011: invoke-virtual {v5, v0, v1}, Ljava/util/TreeMap;.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; // method@0671 │ │ +01de24: 5445 3f01 |0014: iget-object v5, v4, Ldnsfilter/android/FilterConfig;.categoryMap:Ljava/util/TreeMap; // field@013f │ │ +01de28: 6200 3a01 |0016: sget-object v0, Ldnsfilter/android/FilterConfig;.ALL_CATEGORIES:Ljava/lang/String; // field@013a │ │ +01de2c: 2201 1e01 |0018: new-instance v1, Ljava/lang/Integer; // type@011e │ │ +01de30: 7020 6305 2100 |001a: invoke-direct {v1, v2}, Ljava/lang/Integer;.:(I)V // method@0563 │ │ +01de36: 6e30 7106 0501 |001d: invoke-virtual {v5, v0, v1}, Ljava/util/TreeMap;.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; // method@0671 │ │ +01de3c: 1205 |0020: const/4 v5, #int 0 // #0 │ │ +01de3e: 5440 4701 |0021: iget-object v0, v4, Ldnsfilter/android/FilterConfig;.filterEntries:[Ldnsfilter/ConfigUtil$HostFilterList; // field@0147 │ │ +01de42: 2101 |0023: array-length v1, v0 │ │ +01de44: 3515 2e00 |0024: if-ge v5, v1, 0052 // +002e │ │ +01de48: 5441 3f01 |0026: iget-object v1, v4, Ldnsfilter/android/FilterConfig;.categoryMap:Ljava/util/TreeMap; // field@013f │ │ +01de4c: 4600 0005 |0028: aget-object v0, v0, v5 │ │ +01de50: 5400 0e00 |002a: iget-object v0, v0, Ldnsfilter/ConfigUtil$HostFilterList;.category:Ljava/lang/String; // field@000e │ │ +01de54: 6e20 6d06 0100 |002c: invoke-virtual {v1, v0}, Ljava/util/TreeMap;.get:(Ljava/lang/Object;)Ljava/lang/Object; // method@066d │ │ +01de5a: 0c00 |002f: move-result-object v0 │ │ +01de5c: 1f00 1e01 |0030: check-cast v0, Ljava/lang/Integer; // type@011e │ │ +01de60: 3900 0700 |0032: if-nez v0, 0039 // +0007 │ │ +01de64: 2200 1e01 |0034: new-instance v0, Ljava/lang/Integer; // type@011e │ │ +01de68: 7020 6305 2000 |0036: invoke-direct {v0, v2}, Ljava/lang/Integer;.:(I)V // method@0563 │ │ +01de6e: 2201 1e01 |0039: new-instance v1, Ljava/lang/Integer; // type@011e │ │ +01de72: 6e10 6405 0000 |003b: invoke-virtual {v0}, Ljava/lang/Integer;.intValue:()I // method@0564 │ │ +01de78: 0a00 |003e: move-result v0 │ │ +01de7a: d800 0001 |003f: add-int/lit8 v0, v0, #int 1 // #01 │ │ +01de7e: 7020 6305 0100 |0041: invoke-direct {v1, v0}, Ljava/lang/Integer;.:(I)V // method@0563 │ │ +01de84: 5440 3f01 |0044: iget-object v0, v4, Ldnsfilter/android/FilterConfig;.categoryMap:Ljava/util/TreeMap; // field@013f │ │ +01de88: 5443 4701 |0046: iget-object v3, v4, Ldnsfilter/android/FilterConfig;.filterEntries:[Ldnsfilter/ConfigUtil$HostFilterList; // field@0147 │ │ +01de8c: 4603 0305 |0048: aget-object v3, v3, v5 │ │ +01de90: 5433 0e00 |004a: iget-object v3, v3, Ldnsfilter/ConfigUtil$HostFilterList;.category:Ljava/lang/String; // field@000e │ │ +01de94: 6e30 7106 3001 |004c: invoke-virtual {v0, v3, v1}, Ljava/util/TreeMap;.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; // method@0671 │ │ +01de9a: d805 0501 |004f: add-int/lit8 v5, v5, #int 1 // #01 │ │ +01de9e: 28d0 |0051: goto 0021 // -0030 │ │ +01dea0: 0e00 |0052: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=128 │ │ 0x0002 line=129 │ │ 0x0007 line=130 │ │ 0x0014 line=131 │ │ 0x0021 line=132 │ │ @@ -17394,36 +17394,36 @@ │ │ type : '()V' │ │ access : 0x10008 (STATIC CONSTRUCTOR) │ │ code - │ │ registers : 1 │ │ ins : 0 │ │ outs : 1 │ │ insns size : 8 16-bit code units │ │ -01e294: |[01e294] dnsfilter.android.NotificationReceiver.:()V │ │ -01e2a4: 2200 b200 |0000: new-instance v0, Ldnsfilter/android/NotificationReceiver; // type@00b2 │ │ -01e2a8: 7010 4c03 0000 |0002: invoke-direct {v0}, Ldnsfilter/android/NotificationReceiver;.:()V // method@034c │ │ -01e2ae: 6900 4a01 |0005: sput-object v0, Ldnsfilter/android/NotificationReceiver;.instance:Ldnsfilter/android/NotificationReceiver; // field@014a │ │ -01e2b2: 0e00 |0007: return-void │ │ +01e290: |[01e290] dnsfilter.android.NotificationReceiver.:()V │ │ +01e2a0: 2200 b200 |0000: new-instance v0, Ldnsfilter/android/NotificationReceiver; // type@00b2 │ │ +01e2a4: 7010 4c03 0000 |0002: invoke-direct {v0}, Ldnsfilter/android/NotificationReceiver;.:()V // method@034c │ │ +01e2aa: 6900 4a01 |0005: sput-object v0, Ldnsfilter/android/NotificationReceiver;.instance:Ldnsfilter/android/NotificationReceiver; // field@014a │ │ +01e2ae: 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 │ │ -01e2b4: |[01e2b4] dnsfilter.android.NotificationReceiver.:()V │ │ -01e2c4: 7010 3000 0000 |0000: invoke-direct {v0}, Landroid/content/BroadcastReceiver;.:()V // method@0030 │ │ -01e2ca: 0e00 |0003: return-void │ │ +01e2b0: |[01e2b0] dnsfilter.android.NotificationReceiver.:()V │ │ +01e2c0: 7010 3000 0000 |0000: invoke-direct {v0}, Landroid/content/BroadcastReceiver;.:()V // method@0030 │ │ +01e2c6: 0e00 |0003: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=31 │ │ locals : │ │ 0x0000 - 0x0004 reg=0 this Ldnsfilter/android/NotificationReceiver; │ │ │ │ #2 : (in Ldnsfilter/android/NotificationReceiver;) │ │ @@ -17431,17 +17431,17 @@ │ │ type : '()Ldnsfilter/android/NotificationReceiver;' │ │ access : 0x0009 (PUBLIC STATIC) │ │ code - │ │ registers : 1 │ │ ins : 0 │ │ outs : 0 │ │ insns size : 3 16-bit code units │ │ -01e27c: |[01e27c] dnsfilter.android.NotificationReceiver.getInstance:()Ldnsfilter/android/NotificationReceiver; │ │ -01e28c: 6200 4a01 |0000: sget-object v0, Ldnsfilter/android/NotificationReceiver;.instance:Ldnsfilter/android/NotificationReceiver; // field@014a │ │ -01e290: 1100 |0002: return-object v0 │ │ +01e278: |[01e278] dnsfilter.android.NotificationReceiver.getInstance:()Ldnsfilter/android/NotificationReceiver; │ │ +01e288: 6200 4a01 |0000: sget-object v0, Ldnsfilter/android/NotificationReceiver;.instance:Ldnsfilter/android/NotificationReceiver; // field@014a │ │ +01e28c: 1100 |0002: return-object v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=37 │ │ locals : │ │ │ │ Virtual methods - │ │ #0 : (in Ldnsfilter/android/NotificationReceiver;) │ │ @@ -17449,46 +17449,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 │ │ -01e2cc: |[01e2cc] dnsfilter.android.NotificationReceiver.onReceive:(Landroid/content/Context;Landroid/content/Intent;)V │ │ -01e2dc: 1a02 0000 |0000: const-string v2, "" // string@0000 │ │ -01e2e0: 7100 5301 0000 |0002: invoke-static {}, Ldnsfilter/ConfigurationAccess;.getLocal:()Ldnsfilter/ConfigurationAccess; // method@0153 │ │ -01e2e6: 0c03 |0005: move-result-object v3 │ │ -01e2e8: 6e10 4d01 0300 |0006: invoke-virtual {v3}, Ldnsfilter/ConfigurationAccess;.getConfig:()Ljava/util/Properties; // method@014d │ │ -01e2ee: 0c03 |0009: move-result-object v3 │ │ -01e2f0: 1a00 5609 |000a: const-string v0, "passcode" // string@0956 │ │ -01e2f4: 6e30 5506 0302 |000c: invoke-virtual {v3, v0, v2}, Ljava/util/Properties;.getProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@0655 │ │ -01e2fa: 0c03 |000f: move-result-object v3 │ │ -01e2fc: 6e10 a005 0300 |0010: invoke-virtual {v3}, Ljava/lang/String;.trim:()Ljava/lang/String; // method@05a0 │ │ -01e302: 0c03 |0013: move-result-object v3 │ │ -01e304: 6e20 8b05 2300 |0014: invoke-virtual {v3, v2}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058b │ │ -01e30a: 0a02 |0017: move-result v2 │ │ -01e30c: 3902 1500 |0018: if-nez v2, 002d // +0015 │ │ -01e310: 7100 2507 0000 |001a: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0725 │ │ -01e316: 0c02 |001d: move-result-object v2 │ │ -01e318: 1a03 f803 |001e: const-string v3, "Notification action not allowed when passcode protected!" // string@03f8 │ │ -01e31c: 7220 3107 3200 |0020: invoke-interface {v2, v3}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0731 │ │ -01e322: 7100 2507 0000 |0023: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0725 │ │ -01e328: 0c02 |0026: move-result-object v2 │ │ -01e32a: 1a03 f403 |0027: const-string v3, "Not permitted - Passcode protected!" // string@03f4 │ │ -01e32e: 7220 3207 3200 |0029: invoke-interface {v2, v3}, Lutil/LoggerInterface;.message:(Ljava/lang/String;)V // method@0732 │ │ -01e334: 0e00 |002c: return-void │ │ -01e336: 6202 bb00 |002d: sget-object v2, Ldnsfilter/android/DNSFilterService;.INSTANCE:Ldnsfilter/android/DNSFilterService; // field@00bb │ │ -01e33a: 3802 0e00 |002f: if-eqz v2, 003d // +000e │ │ -01e33e: 6e10 a002 0200 |0031: invoke-virtual {v2}, Ldnsfilter/android/DNSFilterService;.pause_resume:()V // method@02a0 │ │ -01e344: 2809 |0034: goto 003d // +0009 │ │ -01e346: 0d02 |0035: move-exception v2 │ │ -01e348: 7100 2507 0000 |0036: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0725 │ │ -01e34e: 0c03 |0039: move-result-object v3 │ │ -01e350: 7220 3007 2300 |003a: invoke-interface {v3, v2}, Lutil/LoggerInterface;.logException:(Ljava/lang/Exception;)V // method@0730 │ │ -01e356: 0e00 |003d: return-void │ │ +01e2c8: |[01e2c8] dnsfilter.android.NotificationReceiver.onReceive:(Landroid/content/Context;Landroid/content/Intent;)V │ │ +01e2d8: 1a02 0000 |0000: const-string v2, "" // string@0000 │ │ +01e2dc: 7100 5301 0000 |0002: invoke-static {}, Ldnsfilter/ConfigurationAccess;.getLocal:()Ldnsfilter/ConfigurationAccess; // method@0153 │ │ +01e2e2: 0c03 |0005: move-result-object v3 │ │ +01e2e4: 6e10 4d01 0300 |0006: invoke-virtual {v3}, Ldnsfilter/ConfigurationAccess;.getConfig:()Ljava/util/Properties; // method@014d │ │ +01e2ea: 0c03 |0009: move-result-object v3 │ │ +01e2ec: 1a00 5609 |000a: const-string v0, "passcode" // string@0956 │ │ +01e2f0: 6e30 5506 0302 |000c: invoke-virtual {v3, v0, v2}, Ljava/util/Properties;.getProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@0655 │ │ +01e2f6: 0c03 |000f: move-result-object v3 │ │ +01e2f8: 6e10 a005 0300 |0010: invoke-virtual {v3}, Ljava/lang/String;.trim:()Ljava/lang/String; // method@05a0 │ │ +01e2fe: 0c03 |0013: move-result-object v3 │ │ +01e300: 6e20 8b05 2300 |0014: invoke-virtual {v3, v2}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058b │ │ +01e306: 0a02 |0017: move-result v2 │ │ +01e308: 3902 1500 |0018: if-nez v2, 002d // +0015 │ │ +01e30c: 7100 2507 0000 |001a: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0725 │ │ +01e312: 0c02 |001d: move-result-object v2 │ │ +01e314: 1a03 f803 |001e: const-string v3, "Notification action not allowed when passcode protected!" // string@03f8 │ │ +01e318: 7220 3107 3200 |0020: invoke-interface {v2, v3}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0731 │ │ +01e31e: 7100 2507 0000 |0023: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0725 │ │ +01e324: 0c02 |0026: move-result-object v2 │ │ +01e326: 1a03 f403 |0027: const-string v3, "Not permitted - Passcode protected!" // string@03f4 │ │ +01e32a: 7220 3207 3200 |0029: invoke-interface {v2, v3}, Lutil/LoggerInterface;.message:(Ljava/lang/String;)V // method@0732 │ │ +01e330: 0e00 |002c: return-void │ │ +01e332: 6202 bb00 |002d: sget-object v2, Ldnsfilter/android/DNSFilterService;.INSTANCE:Ldnsfilter/android/DNSFilterService; // field@00bb │ │ +01e336: 3802 0e00 |002f: if-eqz v2, 003d // +000e │ │ +01e33a: 6e10 a002 0200 |0031: invoke-virtual {v2}, Ldnsfilter/android/DNSFilterService;.pause_resume:()V // method@02a0 │ │ +01e340: 2809 |0034: goto 003d // +0009 │ │ +01e342: 0d02 |0035: move-exception v2 │ │ +01e344: 7100 2507 0000 |0036: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0725 │ │ +01e34a: 0c03 |0039: move-result-object v3 │ │ +01e34c: 7220 3007 2300 |003a: invoke-interface {v3, v2}, Lutil/LoggerInterface;.logException:(Ljava/lang/Exception;)V // method@0730 │ │ +01e352: 0e00 |003d: return-void │ │ catches : 1 │ │ 0x0002 - 0x0034 │ │ Ljava/lang/Exception; -> 0x0035 │ │ positions : │ │ 0x0000 line=43 │ │ 0x0014 line=44 │ │ 0x001a line=45 │ │ @@ -17534,33 +17534,33 @@ │ │ type : '()V' │ │ access : 0x10008 (STATIC CONSTRUCTOR) │ │ code - │ │ registers : 0 │ │ ins : 0 │ │ outs : 0 │ │ insns size : 1 16-bit code units │ │ -01e39c: |[01e39c] dnsfilter.android.PaddedCheckBox.:()V │ │ -01e3ac: 0e00 |0000: return-void │ │ +01e398: |[01e398] dnsfilter.android.PaddedCheckBox.:()V │ │ +01e3a8: 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 │ │ -01e3b0: |[01e3b0] dnsfilter.android.PaddedCheckBox.:(Landroid/content/Context;)V │ │ -01e3c0: 7020 c700 1000 |0000: invoke-direct {v0, v1}, Landroid/widget/CheckBox;.:(Landroid/content/Context;)V // method@00c7 │ │ -01e3c6: 7010 5503 0000 |0003: invoke-direct {v0}, Ldnsfilter/android/PaddedCheckBox;.doPadding:()V // method@0355 │ │ -01e3cc: 0e00 |0006: return-void │ │ +01e3ac: |[01e3ac] dnsfilter.android.PaddedCheckBox.:(Landroid/content/Context;)V │ │ +01e3bc: 7020 c700 1000 |0000: invoke-direct {v0, v1}, Landroid/widget/CheckBox;.:(Landroid/content/Context;)V // method@00c7 │ │ +01e3c2: 7010 5503 0000 |0003: invoke-direct {v0}, Ldnsfilter/android/PaddedCheckBox;.doPadding:()V // method@0355 │ │ +01e3c8: 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; │ │ @@ -17570,18 +17570,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 │ │ -01e3d0: |[01e3d0] dnsfilter.android.PaddedCheckBox.:(Landroid/content/Context;Landroid/util/AttributeSet;)V │ │ -01e3e0: 7030 c800 1002 |0000: invoke-direct {v0, v1, v2}, Landroid/widget/CheckBox;.:(Landroid/content/Context;Landroid/util/AttributeSet;)V // method@00c8 │ │ -01e3e6: 7010 5503 0000 |0003: invoke-direct {v0}, Ldnsfilter/android/PaddedCheckBox;.doPadding:()V // method@0355 │ │ -01e3ec: 0e00 |0006: return-void │ │ +01e3cc: |[01e3cc] dnsfilter.android.PaddedCheckBox.:(Landroid/content/Context;Landroid/util/AttributeSet;)V │ │ +01e3dc: 7030 c800 1002 |0000: invoke-direct {v0, v1, v2}, Landroid/widget/CheckBox;.:(Landroid/content/Context;Landroid/util/AttributeSet;)V // method@00c8 │ │ +01e3e2: 7010 5503 0000 |0003: invoke-direct {v0}, Ldnsfilter/android/PaddedCheckBox;.doPadding:()V // method@0355 │ │ +01e3e8: 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; │ │ @@ -17592,18 +17592,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 │ │ -01e3f0: |[01e3f0] dnsfilter.android.PaddedCheckBox.:(Landroid/content/Context;Landroid/util/AttributeSet;I)V │ │ -01e400: 7040 c900 1032 |0000: invoke-direct {v0, v1, v2, v3}, Landroid/widget/CheckBox;.:(Landroid/content/Context;Landroid/util/AttributeSet;I)V // method@00c9 │ │ -01e406: 7010 5503 0000 |0003: invoke-direct {v0}, Ldnsfilter/android/PaddedCheckBox;.doPadding:()V // method@0355 │ │ -01e40c: 0e00 |0006: return-void │ │ +01e3ec: |[01e3ec] dnsfilter.android.PaddedCheckBox.:(Landroid/content/Context;Landroid/util/AttributeSet;I)V │ │ +01e3fc: 7040 c900 1032 |0000: invoke-direct {v0, v1, v2, v3}, Landroid/widget/CheckBox;.:(Landroid/content/Context;Landroid/util/AttributeSet;I)V // method@00c9 │ │ +01e402: 7010 5503 0000 |0003: invoke-direct {v0}, Ldnsfilter/android/PaddedCheckBox;.doPadding:()V // method@0355 │ │ +01e408: 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; │ │ @@ -17615,18 +17615,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 │ │ -01e410: |[01e410] dnsfilter.android.PaddedCheckBox.:(Landroid/content/Context;Landroid/util/AttributeSet;II)V │ │ -01e420: 7054 ca00 1032 |0000: invoke-direct {v0, v1, v2, v3, v4}, Landroid/widget/CheckBox;.:(Landroid/content/Context;Landroid/util/AttributeSet;II)V // method@00ca │ │ -01e426: 7010 5503 0000 |0003: invoke-direct {v0}, Ldnsfilter/android/PaddedCheckBox;.doPadding:()V // method@0355 │ │ -01e42c: 0e00 |0006: return-void │ │ +01e40c: |[01e40c] dnsfilter.android.PaddedCheckBox.:(Landroid/content/Context;Landroid/util/AttributeSet;II)V │ │ +01e41c: 7054 ca00 1032 |0000: invoke-direct {v0, v1, v2, v3, v4}, Landroid/widget/CheckBox;.:(Landroid/content/Context;Landroid/util/AttributeSet;II)V // method@00ca │ │ +01e422: 7010 5503 0000 |0003: invoke-direct {v0}, Ldnsfilter/android/PaddedCheckBox;.doPadding:()V // method@0355 │ │ +01e428: 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; │ │ @@ -17639,26 +17639,26 @@ │ │ type : '(I)I' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 3 │ │ ins : 2 │ │ outs : 1 │ │ insns size : 18 16-bit code units │ │ -01e368: |[01e368] dnsfilter.android.PaddedCheckBox.convertDpToPx:(I)I │ │ -01e378: 6e10 5603 0100 |0000: invoke-virtual {v1}, Ldnsfilter/android/PaddedCheckBox;.getResources:()Landroid/content/res/Resources; // method@0356 │ │ -01e37e: 0c00 |0003: move-result-object v0 │ │ -01e380: 6e10 5700 0000 |0004: invoke-virtual {v0}, Landroid/content/res/Resources;.getDisplayMetrics:()Landroid/util/DisplayMetrics; // method@0057 │ │ -01e386: 0c00 |0007: move-result-object v0 │ │ -01e388: 5200 0300 |0008: iget v0, v0, Landroid/util/DisplayMetrics;.density:F // field@0003 │ │ -01e38c: 8222 |000a: int-to-float v2, v2 │ │ -01e38e: a802 0200 |000b: mul-float v2, v2, v0 │ │ -01e392: 1500 003f |000d: const/high16 v0, #int 1056964608 // #3f00 │ │ -01e396: c602 |000f: add-float/2addr v2, v0 │ │ -01e398: 8722 |0010: float-to-int v2, v2 │ │ -01e39a: 0f02 |0011: return v2 │ │ +01e364: |[01e364] dnsfilter.android.PaddedCheckBox.convertDpToPx:(I)I │ │ +01e374: 6e10 5603 0100 |0000: invoke-virtual {v1}, Ldnsfilter/android/PaddedCheckBox;.getResources:()Landroid/content/res/Resources; // method@0356 │ │ +01e37a: 0c00 |0003: move-result-object v0 │ │ +01e37c: 6e10 5700 0000 |0004: invoke-virtual {v0}, Landroid/content/res/Resources;.getDisplayMetrics:()Landroid/util/DisplayMetrics; // method@0057 │ │ +01e382: 0c00 |0007: move-result-object v0 │ │ +01e384: 5200 0300 |0008: iget v0, v0, Landroid/util/DisplayMetrics;.density:F // field@0003 │ │ +01e388: 8222 |000a: int-to-float v2, v2 │ │ +01e38a: a802 0200 |000b: mul-float v2, v2, v0 │ │ +01e38e: 1500 003f |000d: const/high16 v0, #int 1056964608 // #3f00 │ │ +01e392: c602 |000f: add-float/2addr v2, v0 │ │ +01e394: 8722 |0010: float-to-int v2, v2 │ │ +01e396: 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 │ │ │ │ @@ -17667,28 +17667,28 @@ │ │ type : '()V' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 5 │ │ insns size : 26 16-bit code units │ │ -01e430: |[01e430] dnsfilter.android.PaddedCheckBox.doPadding:()V │ │ -01e440: 6000 4c01 |0000: sget v0, Ldnsfilter/android/PaddedCheckBox;.dpAsPx_40:I // field@014c │ │ -01e444: 3900 1200 |0002: if-nez v0, 0014 // +0012 │ │ -01e448: 1300 2800 |0004: const/16 v0, #int 40 // #28 │ │ -01e44c: 7020 5403 0100 |0006: invoke-direct {v1, v0}, Ldnsfilter/android/PaddedCheckBox;.convertDpToPx:(I)I // method@0354 │ │ -01e452: 0a00 |0009: move-result v0 │ │ -01e454: 6700 4c01 |000a: sput v0, Ldnsfilter/android/PaddedCheckBox;.dpAsPx_40:I // field@014c │ │ -01e458: 1300 0a00 |000c: const/16 v0, #int 10 // #a │ │ -01e45c: 7020 5403 0100 |000e: invoke-direct {v1, v0}, Ldnsfilter/android/PaddedCheckBox;.convertDpToPx:(I)I // method@0354 │ │ -01e462: 0a00 |0011: move-result v0 │ │ -01e464: 6700 4b01 |0012: sput v0, Ldnsfilter/android/PaddedCheckBox;.dpAsPx_10:I // field@014b │ │ -01e468: 6000 4b01 |0014: sget v0, Ldnsfilter/android/PaddedCheckBox;.dpAsPx_10:I // field@014b │ │ -01e46c: 6e50 5a03 0100 |0016: invoke-virtual {v1, v0, v0, v0, v0}, Ldnsfilter/android/PaddedCheckBox;.setPadding:(IIII)V // method@035a │ │ -01e472: 0e00 |0019: return-void │ │ +01e42c: |[01e42c] dnsfilter.android.PaddedCheckBox.doPadding:()V │ │ +01e43c: 6000 4c01 |0000: sget v0, Ldnsfilter/android/PaddedCheckBox;.dpAsPx_40:I // field@014c │ │ +01e440: 3900 1200 |0002: if-nez v0, 0014 // +0012 │ │ +01e444: 1300 2800 |0004: const/16 v0, #int 40 // #28 │ │ +01e448: 7020 5403 0100 |0006: invoke-direct {v1, v0}, Ldnsfilter/android/PaddedCheckBox;.convertDpToPx:(I)I // method@0354 │ │ +01e44e: 0a00 |0009: move-result v0 │ │ +01e450: 6700 4c01 |000a: sput v0, Ldnsfilter/android/PaddedCheckBox;.dpAsPx_40:I // field@014c │ │ +01e454: 1300 0a00 |000c: const/16 v0, #int 10 // #a │ │ +01e458: 7020 5403 0100 |000e: invoke-direct {v1, v0}, Ldnsfilter/android/PaddedCheckBox;.convertDpToPx:(I)I // method@0354 │ │ +01e45e: 0a00 |0011: move-result v0 │ │ +01e460: 6700 4b01 |0012: sput v0, Ldnsfilter/android/PaddedCheckBox;.dpAsPx_10:I // field@014b │ │ +01e464: 6000 4b01 |0014: sget v0, Ldnsfilter/android/PaddedCheckBox;.dpAsPx_10:I // field@014b │ │ +01e468: 6e50 5a03 0100 |0016: invoke-virtual {v1, v0, v0, v0, v0}, Ldnsfilter/android/PaddedCheckBox;.setPadding:(IIII)V // method@035a │ │ +01e46e: 0e00 |0019: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=44 │ │ 0x0006 line=45 │ │ 0x000e line=46 │ │ 0x0014 line=50 │ │ locals : │ │ @@ -17720,17 +17720,17 @@ │ │ type : '()V' │ │ access : 0x10001 (PUBLIC CONSTRUCTOR) │ │ code - │ │ registers : 1 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 4 16-bit code units │ │ -01e474: |[01e474] dnsfilter.android.PersonalDNSFilterApp.:()V │ │ -01e484: 7010 1100 0000 |0000: invoke-direct {v0}, Landroid/app/Application;.:()V // method@0011 │ │ -01e48a: 0e00 |0003: return-void │ │ +01e470: |[01e470] dnsfilter.android.PersonalDNSFilterApp.:()V │ │ +01e480: 7010 1100 0000 |0000: invoke-direct {v0}, Landroid/app/Application;.:()V // method@0011 │ │ +01e486: 0e00 |0003: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=5 │ │ locals : │ │ 0x0000 - 0x0004 reg=0 this Ldnsfilter/android/PersonalDNSFilterApp; │ │ │ │ Virtual methods - │ │ @@ -17739,18 +17739,18 @@ │ │ type : '()V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 1 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 7 16-bit code units │ │ -01e48c: |[01e48c] dnsfilter.android.PersonalDNSFilterApp.onCreate:()V │ │ -01e49c: 6f10 1200 0000 |0000: invoke-super {v0}, Landroid/app/Application;.onCreate:()V // method@0012 │ │ -01e4a2: 7110 2202 0000 |0003: invoke-static {v0}, Ldnsfilter/android/AndroidEnvironment;.initEnvironment:(Landroid/content/Context;)V // method@0222 │ │ -01e4a8: 0e00 |0006: return-void │ │ +01e488: |[01e488] dnsfilter.android.PersonalDNSFilterApp.onCreate:()V │ │ +01e498: 6f10 1200 0000 |0000: invoke-super {v0}, Landroid/app/Application;.onCreate:()V // method@0012 │ │ +01e49e: 7110 2202 0000 |0003: invoke-static {v0}, Ldnsfilter/android/AndroidEnvironment;.initEnvironment:(Landroid/content/Context;)V // method@0222 │ │ +01e4a4: 0e00 |0006: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=9 │ │ 0x0003 line=10 │ │ locals : │ │ 0x0000 - 0x0007 reg=0 this Ldnsfilter/android/PersonalDNSFilterApp; │ │ │ │ @@ -17789,17 +17789,17 @@ │ │ type : '()V' │ │ access : 0x10002 (PRIVATE CONSTRUCTOR) │ │ code - │ │ registers : 1 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 4 16-bit code units │ │ -01e4ac: |[01e4ac] dnsfilter.android.R$anim.:()V │ │ -01e4bc: 7010 7305 0000 |0000: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@0573 │ │ -01e4c2: 0e00 |0003: return-void │ │ +01e4a8: |[01e4a8] dnsfilter.android.R$anim.:()V │ │ +01e4b8: 7010 7305 0000 |0000: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@0573 │ │ +01e4be: 0e00 |0003: return-void │ │ catches : (none) │ │ positions : │ │ locals : │ │ │ │ Virtual methods - │ │ source_file_idx : -1 (unknown) │ │ │ │ @@ -17836,17 +17836,17 @@ │ │ type : '()V' │ │ access : 0x10002 (PRIVATE CONSTRUCTOR) │ │ code - │ │ registers : 1 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 4 16-bit code units │ │ -01e4c4: |[01e4c4] dnsfilter.android.R$bool.:()V │ │ -01e4d4: 7010 7305 0000 |0000: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@0573 │ │ -01e4da: 0e00 |0003: return-void │ │ +01e4c0: |[01e4c0] dnsfilter.android.R$bool.:()V │ │ +01e4d0: 7010 7305 0000 |0000: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@0573 │ │ +01e4d6: 0e00 |0003: return-void │ │ catches : (none) │ │ positions : │ │ locals : │ │ │ │ Virtual methods - │ │ source_file_idx : -1 (unknown) │ │ │ │ @@ -17933,17 +17933,17 @@ │ │ type : '()V' │ │ access : 0x10002 (PRIVATE CONSTRUCTOR) │ │ code - │ │ registers : 1 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 4 16-bit code units │ │ -01e4dc: |[01e4dc] dnsfilter.android.R$color.:()V │ │ -01e4ec: 7010 7305 0000 |0000: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@0573 │ │ -01e4f2: 0e00 |0003: return-void │ │ +01e4d8: |[01e4d8] dnsfilter.android.R$color.:()V │ │ +01e4e8: 7010 7305 0000 |0000: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@0573 │ │ +01e4ee: 0e00 |0003: return-void │ │ catches : (none) │ │ positions : │ │ locals : │ │ │ │ Virtual methods - │ │ source_file_idx : -1 (unknown) │ │ │ │ @@ -18330,17 +18330,17 @@ │ │ type : '()V' │ │ access : 0x10002 (PRIVATE CONSTRUCTOR) │ │ code - │ │ registers : 1 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 4 16-bit code units │ │ -01e4f4: |[01e4f4] dnsfilter.android.R$drawable.:()V │ │ -01e504: 7010 7305 0000 |0000: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@0573 │ │ -01e50a: 0e00 |0003: return-void │ │ +01e4f0: |[01e4f0] dnsfilter.android.R$drawable.:()V │ │ +01e500: 7010 7305 0000 |0000: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@0573 │ │ +01e506: 0e00 |0003: return-void │ │ catches : (none) │ │ positions : │ │ locals : │ │ │ │ Virtual methods - │ │ source_file_idx : -1 (unknown) │ │ │ │ @@ -18872,17 +18872,17 @@ │ │ type : '()V' │ │ access : 0x10002 (PRIVATE CONSTRUCTOR) │ │ code - │ │ registers : 1 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 4 16-bit code units │ │ -01e50c: |[01e50c] dnsfilter.android.R$id.:()V │ │ -01e51c: 7010 7305 0000 |0000: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@0573 │ │ -01e522: 0e00 |0003: return-void │ │ +01e508: |[01e508] dnsfilter.android.R$id.:()V │ │ +01e518: 7010 7305 0000 |0000: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@0573 │ │ +01e51e: 0e00 |0003: return-void │ │ catches : (none) │ │ positions : │ │ locals : │ │ │ │ Virtual methods - │ │ source_file_idx : -1 (unknown) │ │ │ │ @@ -18989,17 +18989,17 @@ │ │ type : '()V' │ │ access : 0x10002 (PRIVATE CONSTRUCTOR) │ │ code - │ │ registers : 1 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 4 16-bit code units │ │ -01e524: |[01e524] dnsfilter.android.R$layout.:()V │ │ -01e534: 7010 7305 0000 |0000: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@0573 │ │ -01e53a: 0e00 |0003: return-void │ │ +01e520: |[01e520] dnsfilter.android.R$layout.:()V │ │ +01e530: 7010 7305 0000 |0000: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@0573 │ │ +01e536: 0e00 |0003: return-void │ │ catches : (none) │ │ positions : │ │ locals : │ │ │ │ Virtual methods - │ │ source_file_idx : -1 (unknown) │ │ │ │ @@ -19051,17 +19051,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$mipmap.:()V │ │ -01e54c: 7010 7305 0000 |0000: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@0573 │ │ -01e552: 0e00 |0003: return-void │ │ +01e538: |[01e538] dnsfilter.android.R$mipmap.:()V │ │ +01e548: 7010 7305 0000 |0000: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@0573 │ │ +01e54e: 0e00 |0003: return-void │ │ catches : (none) │ │ positions : │ │ locals : │ │ │ │ Virtual methods - │ │ source_file_idx : -1 (unknown) │ │ │ │ @@ -19348,17 +19348,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$string.:()V │ │ -01e564: 7010 7305 0000 |0000: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@0573 │ │ -01e56a: 0e00 |0003: return-void │ │ +01e550: |[01e550] dnsfilter.android.R$string.:()V │ │ +01e560: 7010 7305 0000 |0000: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@0573 │ │ +01e566: 0e00 |0003: return-void │ │ catches : (none) │ │ positions : │ │ locals : │ │ │ │ Virtual methods - │ │ source_file_idx : -1 (unknown) │ │ │ │ @@ -19420,17 +19420,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$style.:()V │ │ -01e57c: 7010 7305 0000 |0000: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@0573 │ │ -01e582: 0e00 |0003: return-void │ │ +01e568: |[01e568] dnsfilter.android.R$style.:()V │ │ +01e578: 7010 7305 0000 |0000: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@0573 │ │ +01e57e: 0e00 |0003: return-void │ │ catches : (none) │ │ positions : │ │ locals : │ │ │ │ Virtual methods - │ │ source_file_idx : -1 (unknown) │ │ │ │ @@ -19461,17 +19461,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.:()V │ │ -01e594: 7010 7305 0000 |0000: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@0573 │ │ -01e59a: 0e00 |0003: return-void │ │ +01e580: |[01e580] dnsfilter.android.R.:()V │ │ +01e590: 7010 7305 0000 |0000: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@0573 │ │ +01e596: 0e00 |0003: return-void │ │ catches : (none) │ │ positions : │ │ locals : │ │ │ │ Virtual methods - │ │ source_file_idx : -1 (unknown) │ │ │ │ @@ -19508,18 +19508,18 @@ │ │ type : '(Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;)V' │ │ access : 0x10000 (CONSTRUCTOR) │ │ code - │ │ registers : 2 │ │ ins : 2 │ │ outs : 1 │ │ insns size : 6 16-bit code units │ │ -01e59c: |[01e59c] dnsfilter.android.dnsserverconfig.DNSServerConfigActivity$1.:(Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;)V │ │ -01e5ac: 5b01 5102 |0000: iput-object v1, v0, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity$1;.this$0:Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity; // field@0251 │ │ -01e5b0: 7010 7305 0000 |0002: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@0573 │ │ -01e5b6: 0e00 |0005: return-void │ │ +01e598: |[01e598] dnsfilter.android.dnsserverconfig.DNSServerConfigActivity$1.:(Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;)V │ │ +01e5a8: 5b01 5102 |0000: iput-object v1, v0, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity$1;.this$0:Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity; // field@0251 │ │ +01e5ac: 7010 7305 0000 |0002: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@0573 │ │ +01e5b2: 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; │ │ │ │ @@ -19529,32 +19529,32 @@ │ │ type : '(Landroid/view/View;)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 4 │ │ ins : 2 │ │ outs : 3 │ │ insns size : 34 16-bit code units │ │ -01e5b8: |[01e5b8] dnsfilter.android.dnsserverconfig.DNSServerConfigActivity$1.onClick:(Landroid/view/View;)V │ │ -01e5c8: 5423 5102 |0000: iget-object v3, v2, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity$1;.this$0:Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity; // field@0251 │ │ -01e5cc: 7110 7803 0300 |0002: invoke-static {v3}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.access$200:(Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;)Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenter; // method@0378 │ │ -01e5d2: 0c03 |0005: move-result-object v3 │ │ -01e5d4: 5420 5102 |0006: iget-object v0, v2, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity$1;.this$0:Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity; // field@0251 │ │ -01e5d8: 7110 7603 0000 |0008: invoke-static {v0}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.access$000:(Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;)Ldnsfilter/android/PaddedCheckBox; // method@0376 │ │ -01e5de: 0c00 |000b: move-result-object v0 │ │ -01e5e0: 6e10 5703 0000 |000c: invoke-virtual {v0}, Ldnsfilter/android/PaddedCheckBox;.isChecked:()Z // method@0357 │ │ -01e5e6: 0a00 |000f: move-result v0 │ │ -01e5e8: 5421 5102 |0010: iget-object v1, v2, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity$1;.this$0:Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity; // field@0251 │ │ -01e5ec: 7110 7703 0100 |0012: invoke-static {v1}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.access$100:(Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;)Landroid/widget/EditText; // method@0377 │ │ -01e5f2: 0c01 |0015: move-result-object v1 │ │ -01e5f4: 6e10 da00 0100 |0016: invoke-virtual {v1}, Landroid/widget/EditText;.getText:()Landroid/text/Editable; // method@00da │ │ -01e5fa: 0c01 |0019: move-result-object v1 │ │ -01e5fc: 6e10 7805 0100 |001a: invoke-virtual {v1}, Ljava/lang/Object;.toString:()Ljava/lang/String; // method@0578 │ │ -01e602: 0c01 |001d: move-result-object v1 │ │ -01e604: 7230 9403 0301 |001e: invoke-interface {v3, v0, v1}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenter;.applyNewConfiguration:(ZLjava/lang/String;)V // method@0394 │ │ -01e60a: 0e00 |0021: return-void │ │ +01e5b4: |[01e5b4] dnsfilter.android.dnsserverconfig.DNSServerConfigActivity$1.onClick:(Landroid/view/View;)V │ │ +01e5c4: 5423 5102 |0000: iget-object v3, v2, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity$1;.this$0:Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity; // field@0251 │ │ +01e5c8: 7110 7803 0300 |0002: invoke-static {v3}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.access$200:(Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;)Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenter; // method@0378 │ │ +01e5ce: 0c03 |0005: move-result-object v3 │ │ +01e5d0: 5420 5102 |0006: iget-object v0, v2, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity$1;.this$0:Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity; // field@0251 │ │ +01e5d4: 7110 7603 0000 |0008: invoke-static {v0}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.access$000:(Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;)Ldnsfilter/android/PaddedCheckBox; // method@0376 │ │ +01e5da: 0c00 |000b: move-result-object v0 │ │ +01e5dc: 6e10 5703 0000 |000c: invoke-virtual {v0}, Ldnsfilter/android/PaddedCheckBox;.isChecked:()Z // method@0357 │ │ +01e5e2: 0a00 |000f: move-result v0 │ │ +01e5e4: 5421 5102 |0010: iget-object v1, v2, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity$1;.this$0:Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity; // field@0251 │ │ +01e5e8: 7110 7703 0100 |0012: invoke-static {v1}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.access$100:(Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;)Landroid/widget/EditText; // method@0377 │ │ +01e5ee: 0c01 |0015: move-result-object v1 │ │ +01e5f0: 6e10 da00 0100 |0016: invoke-virtual {v1}, Landroid/widget/EditText;.getText:()Landroid/text/Editable; // method@00da │ │ +01e5f6: 0c01 |0019: move-result-object v1 │ │ +01e5f8: 6e10 7805 0100 |001a: invoke-virtual {v1}, Ljava/lang/Object;.toString:()Ljava/lang/String; // method@0578 │ │ +01e5fe: 0c01 |001d: move-result-object v1 │ │ +01e600: 7230 9403 0301 |001e: invoke-interface {v3, v0, v1}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenter;.applyNewConfiguration:(ZLjava/lang/String;)V // method@0394 │ │ +01e606: 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; │ │ │ │ @@ -19593,18 +19593,18 @@ │ │ type : '(Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;)V' │ │ access : 0x10000 (CONSTRUCTOR) │ │ code - │ │ registers : 2 │ │ ins : 2 │ │ outs : 1 │ │ insns size : 6 16-bit code units │ │ -01e60c: |[01e60c] dnsfilter.android.dnsserverconfig.DNSServerConfigActivity$2.:(Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;)V │ │ -01e61c: 5b01 5202 |0000: iput-object v1, v0, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity$2;.this$0:Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity; // field@0252 │ │ -01e620: 7010 7305 0000 |0002: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@0573 │ │ -01e626: 0e00 |0005: return-void │ │ +01e608: |[01e608] dnsfilter.android.dnsserverconfig.DNSServerConfigActivity$2.:(Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;)V │ │ +01e618: 5b01 5202 |0000: iput-object v1, v0, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity$2;.this$0:Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity; // field@0252 │ │ +01e61c: 7010 7305 0000 |0002: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@0573 │ │ +01e622: 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; │ │ │ │ @@ -19614,25 +19614,25 @@ │ │ type : '(Landroid/view/View;)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 3 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 20 16-bit code units │ │ -01e628: |[01e628] dnsfilter.android.dnsserverconfig.DNSServerConfigActivity$2.onClick:(Landroid/view/View;)V │ │ -01e638: 5412 5202 |0000: iget-object v2, v1, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity$2;.this$0:Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity; // field@0252 │ │ -01e63c: 7110 7803 0200 |0002: invoke-static {v2}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.access$200:(Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;)Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenter; // method@0378 │ │ -01e642: 0c02 |0005: move-result-object v2 │ │ -01e644: 5410 5202 |0006: iget-object v0, v1, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity$2;.this$0:Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity; // field@0252 │ │ -01e648: 7110 7903 0000 |0008: invoke-static {v0}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.access$300:(Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;)Ldnsfilter/android/PaddedCheckBox; // method@0379 │ │ -01e64e: 0c00 |000b: move-result-object v0 │ │ -01e650: 6e10 5703 0000 |000c: invoke-virtual {v0}, Ldnsfilter/android/PaddedCheckBox;.isChecked:()Z // method@0357 │ │ -01e656: 0a00 |000f: move-result v0 │ │ -01e658: 7220 9803 0200 |0010: invoke-interface {v2, v0}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenter;.onChangedManualDNSServers:(Z)V // method@0398 │ │ -01e65e: 0e00 |0013: return-void │ │ +01e624: |[01e624] dnsfilter.android.dnsserverconfig.DNSServerConfigActivity$2.onClick:(Landroid/view/View;)V │ │ +01e634: 5412 5202 |0000: iget-object v2, v1, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity$2;.this$0:Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity; // field@0252 │ │ +01e638: 7110 7803 0200 |0002: invoke-static {v2}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.access$200:(Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;)Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenter; // method@0378 │ │ +01e63e: 0c02 |0005: move-result-object v2 │ │ +01e640: 5410 5202 |0006: iget-object v0, v1, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity$2;.this$0:Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity; // field@0252 │ │ +01e644: 7110 7903 0000 |0008: invoke-static {v0}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.access$300:(Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;)Ldnsfilter/android/PaddedCheckBox; // method@0379 │ │ +01e64a: 0c00 |000b: move-result-object v0 │ │ +01e64c: 6e10 5703 0000 |000c: invoke-virtual {v0}, Ldnsfilter/android/PaddedCheckBox;.isChecked:()Z // method@0357 │ │ +01e652: 0a00 |000f: move-result v0 │ │ +01e654: 7220 9803 0200 |0010: invoke-interface {v2, v0}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenter;.onChangedManualDNSServers:(Z)V // method@0398 │ │ +01e65a: 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; │ │ │ │ @@ -19671,18 +19671,18 @@ │ │ type : '(Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;)V' │ │ access : 0x10000 (CONSTRUCTOR) │ │ code - │ │ registers : 2 │ │ ins : 2 │ │ outs : 1 │ │ insns size : 6 16-bit code units │ │ -01e660: |[01e660] dnsfilter.android.dnsserverconfig.DNSServerConfigActivity$3.:(Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;)V │ │ -01e670: 5b01 5302 |0000: iput-object v1, v0, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity$3;.this$0:Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity; // field@0253 │ │ -01e674: 7010 7305 0000 |0002: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@0573 │ │ -01e67a: 0e00 |0005: return-void │ │ +01e65c: |[01e65c] dnsfilter.android.dnsserverconfig.DNSServerConfigActivity$3.:(Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;)V │ │ +01e66c: 5b01 5302 |0000: iput-object v1, v0, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity$3;.this$0:Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity; // field@0253 │ │ +01e670: 7010 7305 0000 |0002: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@0573 │ │ +01e676: 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; │ │ │ │ @@ -19692,32 +19692,32 @@ │ │ type : '(Landroid/view/View;)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 4 │ │ ins : 2 │ │ outs : 3 │ │ insns size : 34 16-bit code units │ │ -01e67c: |[01e67c] dnsfilter.android.dnsserverconfig.DNSServerConfigActivity$3.onClick:(Landroid/view/View;)V │ │ -01e68c: 5423 5302 |0000: iget-object v3, v2, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity$3;.this$0:Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity; // field@0253 │ │ -01e690: 7110 7803 0300 |0002: invoke-static {v3}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.access$200:(Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;)Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenter; // method@0378 │ │ -01e696: 0c03 |0005: move-result-object v3 │ │ -01e698: 5420 5302 |0006: iget-object v0, v2, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity$3;.this$0:Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity; // field@0253 │ │ -01e69c: 7110 7603 0000 |0008: invoke-static {v0}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.access$000:(Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;)Ldnsfilter/android/PaddedCheckBox; // method@0376 │ │ -01e6a2: 0c00 |000b: move-result-object v0 │ │ -01e6a4: 6e10 5703 0000 |000c: invoke-virtual {v0}, Ldnsfilter/android/PaddedCheckBox;.isChecked:()Z // method@0357 │ │ -01e6aa: 0a00 |000f: move-result v0 │ │ -01e6ac: 5421 5302 |0010: iget-object v1, v2, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity$3;.this$0:Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity; // field@0253 │ │ -01e6b0: 7110 7703 0100 |0012: invoke-static {v1}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.access$100:(Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;)Landroid/widget/EditText; // method@0377 │ │ -01e6b6: 0c01 |0015: move-result-object v1 │ │ -01e6b8: 6e10 da00 0100 |0016: invoke-virtual {v1}, Landroid/widget/EditText;.getText:()Landroid/text/Editable; // method@00da │ │ -01e6be: 0c01 |0019: move-result-object v1 │ │ -01e6c0: 6e10 7805 0100 |001a: invoke-virtual {v1}, Ljava/lang/Object;.toString:()Ljava/lang/String; // method@0578 │ │ -01e6c6: 0c01 |001d: move-result-object v1 │ │ -01e6c8: 7230 9703 0301 |001e: invoke-interface {v3, v0, v1}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenter;.onChangedEditModeValue:(ZLjava/lang/String;)V // method@0397 │ │ -01e6ce: 0e00 |0021: return-void │ │ +01e678: |[01e678] dnsfilter.android.dnsserverconfig.DNSServerConfigActivity$3.onClick:(Landroid/view/View;)V │ │ +01e688: 5423 5302 |0000: iget-object v3, v2, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity$3;.this$0:Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity; // field@0253 │ │ +01e68c: 7110 7803 0300 |0002: invoke-static {v3}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.access$200:(Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;)Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenter; // method@0378 │ │ +01e692: 0c03 |0005: move-result-object v3 │ │ +01e694: 5420 5302 |0006: iget-object v0, v2, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity$3;.this$0:Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity; // field@0253 │ │ +01e698: 7110 7603 0000 |0008: invoke-static {v0}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.access$000:(Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;)Ldnsfilter/android/PaddedCheckBox; // method@0376 │ │ +01e69e: 0c00 |000b: move-result-object v0 │ │ +01e6a0: 6e10 5703 0000 |000c: invoke-virtual {v0}, Ldnsfilter/android/PaddedCheckBox;.isChecked:()Z // method@0357 │ │ +01e6a6: 0a00 |000f: move-result v0 │ │ +01e6a8: 5421 5302 |0010: iget-object v1, v2, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity$3;.this$0:Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity; // field@0253 │ │ +01e6ac: 7110 7703 0100 |0012: invoke-static {v1}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.access$100:(Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;)Landroid/widget/EditText; // method@0377 │ │ +01e6b2: 0c01 |0015: move-result-object v1 │ │ +01e6b4: 6e10 da00 0100 |0016: invoke-virtual {v1}, Landroid/widget/EditText;.getText:()Landroid/text/Editable; // method@00da │ │ +01e6ba: 0c01 |0019: move-result-object v1 │ │ +01e6bc: 6e10 7805 0100 |001a: invoke-virtual {v1}, Ljava/lang/Object;.toString:()Ljava/lang/String; // method@0578 │ │ +01e6c2: 0c01 |001d: move-result-object v1 │ │ +01e6c4: 7230 9703 0301 |001e: invoke-interface {v3, v0, v1}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenter;.onChangedEditModeValue:(ZLjava/lang/String;)V // method@0397 │ │ +01e6ca: 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; │ │ │ │ @@ -19756,18 +19756,18 @@ │ │ type : '(Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;)V' │ │ access : 0x10000 (CONSTRUCTOR) │ │ code - │ │ registers : 2 │ │ ins : 2 │ │ outs : 1 │ │ insns size : 6 16-bit code units │ │ -01e6d0: |[01e6d0] dnsfilter.android.dnsserverconfig.DNSServerConfigActivity$4.:(Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;)V │ │ -01e6e0: 5b01 5402 |0000: iput-object v1, v0, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity$4;.this$0:Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity; // field@0254 │ │ -01e6e4: 7010 7305 0000 |0002: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@0573 │ │ -01e6ea: 0e00 |0005: return-void │ │ +01e6cc: |[01e6cc] dnsfilter.android.dnsserverconfig.DNSServerConfigActivity$4.:(Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;)V │ │ +01e6dc: 5b01 5402 |0000: iput-object v1, v0, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity$4;.this$0:Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity; // field@0254 │ │ +01e6e0: 7010 7305 0000 |0002: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@0573 │ │ +01e6e6: 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; │ │ │ │ @@ -19777,25 +19777,25 @@ │ │ type : '(Landroid/view/View;)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 3 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 20 16-bit code units │ │ -01e6ec: |[01e6ec] dnsfilter.android.dnsserverconfig.DNSServerConfigActivity$4.onClick:(Landroid/view/View;)V │ │ -01e6fc: 5412 5402 |0000: iget-object v2, v1, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity$4;.this$0:Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity; // field@0254 │ │ -01e700: 7110 7803 0200 |0002: invoke-static {v2}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.access$200:(Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;)Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenter; // method@0378 │ │ -01e706: 0c02 |0005: move-result-object v2 │ │ -01e708: 5410 5402 |0006: iget-object v0, v1, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity$4;.this$0:Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity; // field@0254 │ │ -01e70c: 7110 7a03 0000 |0008: invoke-static {v0}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.access$400:(Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;)Ldnsfilter/android/PaddedCheckBox; // method@037a │ │ -01e712: 0c00 |000b: move-result-object v0 │ │ -01e714: 6e10 5703 0000 |000c: invoke-virtual {v0}, Ldnsfilter/android/PaddedCheckBox;.isChecked:()Z // method@0357 │ │ -01e71a: 0a00 |000f: move-result v0 │ │ -01e71c: 7220 9903 0200 |0010: invoke-interface {v2, v0}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenter;.onChangedShowCommentedLinesCheckbox:(Z)V // method@0399 │ │ -01e722: 0e00 |0013: return-void │ │ +01e6e8: |[01e6e8] dnsfilter.android.dnsserverconfig.DNSServerConfigActivity$4.onClick:(Landroid/view/View;)V │ │ +01e6f8: 5412 5402 |0000: iget-object v2, v1, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity$4;.this$0:Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity; // field@0254 │ │ +01e6fc: 7110 7803 0200 |0002: invoke-static {v2}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.access$200:(Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;)Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenter; // method@0378 │ │ +01e702: 0c02 |0005: move-result-object v2 │ │ +01e704: 5410 5402 |0006: iget-object v0, v1, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity$4;.this$0:Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity; // field@0254 │ │ +01e708: 7110 7a03 0000 |0008: invoke-static {v0}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.access$400:(Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;)Ldnsfilter/android/PaddedCheckBox; // method@037a │ │ +01e70e: 0c00 |000b: move-result-object v0 │ │ +01e710: 6e10 5703 0000 |000c: invoke-virtual {v0}, Ldnsfilter/android/PaddedCheckBox;.isChecked:()Z // method@0357 │ │ +01e716: 0a00 |000f: move-result v0 │ │ +01e718: 7220 9903 0200 |0010: invoke-interface {v2, v0}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenter;.onChangedShowCommentedLinesCheckbox:(Z)V // method@0399 │ │ +01e71e: 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; │ │ │ │ @@ -19834,18 +19834,18 @@ │ │ type : '(Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;)V' │ │ access : 0x10000 (CONSTRUCTOR) │ │ code - │ │ registers : 2 │ │ ins : 2 │ │ outs : 1 │ │ insns size : 6 16-bit code units │ │ -01e724: |[01e724] dnsfilter.android.dnsserverconfig.DNSServerConfigActivity$5.:(Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;)V │ │ -01e734: 5b01 5502 |0000: iput-object v1, v0, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity$5;.this$0:Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity; // field@0255 │ │ -01e738: 7010 7305 0000 |0002: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@0573 │ │ -01e73e: 0e00 |0005: return-void │ │ +01e720: |[01e720] dnsfilter.android.dnsserverconfig.DNSServerConfigActivity$5.:(Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;)V │ │ +01e730: 5b01 5502 |0000: iput-object v1, v0, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity$5;.this$0:Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity; // field@0255 │ │ +01e734: 7010 7305 0000 |0002: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@0573 │ │ +01e73a: 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; │ │ │ │ @@ -19855,20 +19855,20 @@ │ │ type : '(Landroid/view/View;)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 2 │ │ outs : 1 │ │ insns size : 10 16-bit code units │ │ -01e740: |[01e740] dnsfilter.android.dnsserverconfig.DNSServerConfigActivity$5.onClick:(Landroid/view/View;)V │ │ -01e750: 5401 5502 |0000: iget-object v1, v0, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity$5;.this$0:Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity; // field@0255 │ │ -01e754: 7110 7803 0100 |0002: invoke-static {v1}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.access$200:(Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;)Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenter; // method@0378 │ │ -01e75a: 0c01 |0005: move-result-object v1 │ │ -01e75c: 7210 9b03 0100 |0006: invoke-interface {v1}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenter;.resetDNSConfigToDefault:()V // method@039b │ │ -01e762: 0e00 |0009: return-void │ │ +01e73c: |[01e73c] dnsfilter.android.dnsserverconfig.DNSServerConfigActivity$5.onClick:(Landroid/view/View;)V │ │ +01e74c: 5401 5502 |0000: iget-object v1, v0, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity$5;.this$0:Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity; // field@0255 │ │ +01e750: 7110 7803 0100 |0002: invoke-static {v1}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.access$200:(Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;)Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenter; // method@0378 │ │ +01e756: 0c01 |0005: move-result-object v1 │ │ +01e758: 7210 9b03 0100 |0006: invoke-interface {v1}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenter;.resetDNSConfigToDefault:()V // method@039b │ │ +01e75e: 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; │ │ │ │ @@ -19907,18 +19907,18 @@ │ │ type : '(Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;)V' │ │ access : 0x10000 (CONSTRUCTOR) │ │ code - │ │ registers : 2 │ │ ins : 2 │ │ outs : 1 │ │ insns size : 6 16-bit code units │ │ -01e764: |[01e764] dnsfilter.android.dnsserverconfig.DNSServerConfigActivity$6.:(Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;)V │ │ -01e774: 5b01 5602 |0000: iput-object v1, v0, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity$6;.this$0:Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity; // field@0256 │ │ -01e778: 7010 7305 0000 |0002: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@0573 │ │ -01e77e: 0e00 |0005: return-void │ │ +01e760: |[01e760] dnsfilter.android.dnsserverconfig.DNSServerConfigActivity$6.:(Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;)V │ │ +01e770: 5b01 5602 |0000: iput-object v1, v0, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity$6;.this$0:Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity; // field@0256 │ │ +01e774: 7010 7305 0000 |0002: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@0573 │ │ +01e77a: 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; │ │ │ │ @@ -19928,23 +19928,23 @@ │ │ type : '()V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 4 │ │ ins : 1 │ │ outs : 3 │ │ insns size : 17 16-bit code units │ │ -01e780: |[01e780] dnsfilter.android.dnsserverconfig.DNSServerConfigActivity$6.run:()V │ │ -01e790: 2200 1a00 |0000: new-instance v0, Landroid/content/Intent; // type@001a │ │ -01e794: 7010 4100 0000 |0002: invoke-direct {v0}, Landroid/content/Intent;.:()V // method@0041 │ │ -01e79a: 5431 5602 |0005: iget-object v1, v3, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity$6;.this$0:Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity; // field@0256 │ │ -01e79e: 12f2 |0007: const/4 v2, #int -1 // #ff │ │ -01e7a0: 6e30 8e03 2100 |0008: invoke-virtual {v1, v2, v0}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.setResult:(ILandroid/content/Intent;)V // method@038e │ │ -01e7a6: 5430 5602 |000b: iget-object v0, v3, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity$6;.this$0:Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity; // field@0256 │ │ -01e7aa: 6e10 8303 0000 |000d: invoke-virtual {v0}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.finish:()V // method@0383 │ │ -01e7b0: 0e00 |0010: return-void │ │ +01e77c: |[01e77c] dnsfilter.android.dnsserverconfig.DNSServerConfigActivity$6.run:()V │ │ +01e78c: 2200 1a00 |0000: new-instance v0, Landroid/content/Intent; // type@001a │ │ +01e790: 7010 4100 0000 |0002: invoke-direct {v0}, Landroid/content/Intent;.:()V // method@0041 │ │ +01e796: 5431 5602 |0005: iget-object v1, v3, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity$6;.this$0:Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity; // field@0256 │ │ +01e79a: 12f2 |0007: const/4 v2, #int -1 // #ff │ │ +01e79c: 6e30 8e03 2100 |0008: invoke-virtual {v1, v2, v0}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.setResult:(ILandroid/content/Intent;)V // method@038e │ │ +01e7a2: 5430 5602 |000b: iget-object v0, v3, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity$6;.this$0:Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity; // field@0256 │ │ +01e7a6: 6e10 8303 0000 |000d: invoke-virtual {v0}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.finish:()V // method@0383 │ │ +01e7ac: 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; │ │ @@ -20049,17 +20049,17 @@ │ │ type : '()V' │ │ access : 0x10001 (PUBLIC CONSTRUCTOR) │ │ code - │ │ registers : 1 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 4 16-bit code units │ │ -01f3c8: |[01f3c8] dnsfilter.android.dnsserverconfig.DNSServerConfigUtils.:()V │ │ -01f3d8: 7010 7305 0000 |0000: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@0573 │ │ -01f3de: 0e00 |0003: return-void │ │ +01f3c4: |[01f3c4] dnsfilter.android.dnsserverconfig.DNSServerConfigUtils.:()V │ │ +01f3d4: 7010 7305 0000 |0000: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@0573 │ │ +01f3da: 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;) │ │ @@ -20067,21 +20067,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 │ │ -01f3a4: |[01f3a4] dnsfilter.android.dnsserverconfig.DNSServerConfigUtils.formatSerializedProperties:(Ljava/lang/String;)Ljava/lang/String; │ │ -01f3b4: 1a00 8c00 |0000: const-string v0, ";" // string@008c │ │ -01f3b8: 1a01 0200 |0002: const-string v1, " │ │ +01f3a0: |[01f3a0] dnsfilter.android.dnsserverconfig.DNSServerConfigUtils.formatSerializedProperties:(Ljava/lang/String;)Ljava/lang/String; │ │ +01f3b0: 1a00 8c00 |0000: const-string v0, ";" // string@008c │ │ +01f3b4: 1a01 0200 |0002: const-string v1, " │ │ " // string@0002 │ │ -01f3bc: 6e30 9505 0201 |0004: invoke-virtual {v2, v0, v1}, Ljava/lang/String;.replace:(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String; // method@0595 │ │ -01f3c2: 0c02 |0007: move-result-object v2 │ │ -01f3c4: 1102 |0008: return-object v2 │ │ +01f3b8: 6e30 9505 0201 |0004: invoke-virtual {v2, v0, v1}, Ljava/lang/String;.replace:(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String; // method@0595 │ │ +01f3be: 0c02 |0007: move-result-object v2 │ │ +01f3c0: 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;) │ │ @@ -20089,27 +20089,27 @@ │ │ type : '(Landroid/view/View;)V' │ │ access : 0x0008 (STATIC) │ │ code - │ │ registers : 3 │ │ ins : 1 │ │ outs : 3 │ │ insns size : 24 16-bit code units │ │ -01f3e0: |[01f3e0] dnsfilter.android.dnsserverconfig.DNSServerConfigUtils.hideKeyboard:(Landroid/view/View;)V │ │ -01f3f0: 6e10 ab00 0200 |0000: invoke-virtual {v2}, Landroid/view/View;.clearFocus:()V // method@00ab │ │ -01f3f6: 6e10 ad00 0200 |0003: invoke-virtual {v2}, Landroid/view/View;.getContext:()Landroid/content/Context; // method@00ad │ │ -01f3fc: 0c00 |0006: move-result-object v0 │ │ -01f3fe: 1a01 4208 |0007: const-string v1, "input_method" // string@0842 │ │ -01f402: 6e20 3d00 1000 |0009: invoke-virtual {v0, v1}, Landroid/content/Context;.getSystemService:(Ljava/lang/String;)Ljava/lang/Object; // method@003d │ │ -01f408: 0c00 |000c: move-result-object v0 │ │ -01f40a: 1f00 5f00 |000d: check-cast v0, Landroid/view/inputmethod/InputMethodManager; // type@005f │ │ -01f40e: 6e10 b100 0200 |000f: invoke-virtual {v2}, Landroid/view/View;.getWindowToken:()Landroid/os/IBinder; // method@00b1 │ │ -01f414: 0c02 |0012: move-result-object v2 │ │ -01f416: 1201 |0013: const/4 v1, #int 0 // #0 │ │ -01f418: 6e30 c000 2001 |0014: invoke-virtual {v0, v2, v1}, Landroid/view/inputmethod/InputMethodManager;.hideSoftInputFromWindow:(Landroid/os/IBinder;I)Z // method@00c0 │ │ -01f41e: 0e00 |0017: return-void │ │ +01f3dc: |[01f3dc] dnsfilter.android.dnsserverconfig.DNSServerConfigUtils.hideKeyboard:(Landroid/view/View;)V │ │ +01f3ec: 6e10 ab00 0200 |0000: invoke-virtual {v2}, Landroid/view/View;.clearFocus:()V // method@00ab │ │ +01f3f2: 6e10 ad00 0200 |0003: invoke-virtual {v2}, Landroid/view/View;.getContext:()Landroid/content/Context; // method@00ad │ │ +01f3f8: 0c00 |0006: move-result-object v0 │ │ +01f3fa: 1a01 4208 |0007: const-string v1, "input_method" // string@0842 │ │ +01f3fe: 6e20 3d00 1000 |0009: invoke-virtual {v0, v1}, Landroid/content/Context;.getSystemService:(Ljava/lang/String;)Ljava/lang/Object; // method@003d │ │ +01f404: 0c00 |000c: move-result-object v0 │ │ +01f406: 1f00 5f00 |000d: check-cast v0, Landroid/view/inputmethod/InputMethodManager; // type@005f │ │ +01f40a: 6e10 b100 0200 |000f: invoke-virtual {v2}, Landroid/view/View;.getWindowToken:()Landroid/os/IBinder; // method@00b1 │ │ +01f410: 0c02 |0012: move-result-object v2 │ │ +01f412: 1201 |0013: const/4 v1, #int 0 // #0 │ │ +01f414: 6e30 c000 2001 |0014: invoke-virtual {v0, v2, v1}, Landroid/view/inputmethod/InputMethodManager;.hideSoftInputFromWindow:(Landroid/os/IBinder;I)Z // method@00c0 │ │ +01f41a: 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; │ │ @@ -20205,25 +20205,25 @@ │ │ type : '(Landroid/content/Context;)V' │ │ access : 0x10001 (PUBLIC CONSTRUCTOR) │ │ code - │ │ registers : 3 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 22 16-bit code units │ │ -01f4c8: |[01f4c8] dnsfilter.android.dnsserverconfig.widget.DNSConfigEntryValidator.:(Landroid/content/Context;)V │ │ -01f4d8: 7010 7305 0100 |0000: invoke-direct {v1}, Ljava/lang/Object;.:()V // method@0573 │ │ -01f4de: 1400 1700 087f |0003: const v0, #float 1.80775e+38 // #7f080017 │ │ -01f4e4: 6e20 3b00 0200 |0006: invoke-virtual {v2, v0}, Landroid/content/Context;.getString:(I)Ljava/lang/String; // method@003b │ │ -01f4ea: 0c00 |0009: move-result-object v0 │ │ -01f4ec: 5b10 6f02 |000a: iput-object v0, v1, Ldnsfilter/android/dnsserverconfig/widget/DNSConfigEntryValidator;.emptyIpErrorResult:Ljava/lang/String; // field@026f │ │ -01f4f0: 1400 2100 087f |000c: const v0, #float 1.80776e+38 // #7f080021 │ │ -01f4f6: 6e20 3b00 0200 |000f: invoke-virtual {v2, v0}, Landroid/content/Context;.getString:(I)Ljava/lang/String; // method@003b │ │ -01f4fc: 0c02 |0012: move-result-object v2 │ │ -01f4fe: 5b12 7002 |0013: iput-object v2, v1, Ldnsfilter/android/dnsserverconfig/widget/DNSConfigEntryValidator;.emptyPortErrorResult:Ljava/lang/String; // field@0270 │ │ -01f502: 0e00 |0015: return-void │ │ +01f4c4: |[01f4c4] dnsfilter.android.dnsserverconfig.widget.DNSConfigEntryValidator.:(Landroid/content/Context;)V │ │ +01f4d4: 7010 7305 0100 |0000: invoke-direct {v1}, Ljava/lang/Object;.:()V // method@0573 │ │ +01f4da: 1400 1700 087f |0003: const v0, #float 1.80775e+38 // #7f080017 │ │ +01f4e0: 6e20 3b00 0200 |0006: invoke-virtual {v2, v0}, Landroid/content/Context;.getString:(I)Ljava/lang/String; // method@003b │ │ +01f4e6: 0c00 |0009: move-result-object v0 │ │ +01f4e8: 5b10 6f02 |000a: iput-object v0, v1, Ldnsfilter/android/dnsserverconfig/widget/DNSConfigEntryValidator;.emptyIpErrorResult:Ljava/lang/String; // field@026f │ │ +01f4ec: 1400 2100 087f |000c: const v0, #float 1.80776e+38 // #7f080021 │ │ +01f4f2: 6e20 3b00 0200 |000f: invoke-virtual {v2, v0}, Landroid/content/Context;.getString:(I)Ljava/lang/String; // method@003b │ │ +01f4f8: 0c02 |0012: move-result-object v2 │ │ +01f4fa: 5b12 7002 |0013: iput-object v2, v1, Ldnsfilter/android/dnsserverconfig/widget/DNSConfigEntryValidator;.emptyPortErrorResult:Ljava/lang/String; // field@0270 │ │ +01f4fe: 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; │ │ @@ -20234,24 +20234,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 │ │ -01f468: |[01f468] dnsfilter.android.dnsserverconfig.widget.DNSConfigEntryValidator.checkIp:(Ljava/lang/String;)Ljava/lang/String; │ │ -01f478: 6e10 a005 0100 |0000: invoke-virtual {v1}, Ljava/lang/String;.trim:()Ljava/lang/String; // method@05a0 │ │ -01f47e: 0c01 |0003: move-result-object v1 │ │ -01f480: 6e10 9105 0100 |0004: invoke-virtual {v1}, Ljava/lang/String;.isEmpty:()Z // method@0591 │ │ -01f486: 0a01 |0007: move-result v1 │ │ -01f488: 3801 0500 |0008: if-eqz v1, 000d // +0005 │ │ -01f48c: 5401 6f02 |000a: iget-object v1, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSConfigEntryValidator;.emptyIpErrorResult:Ljava/lang/String; // field@026f │ │ -01f490: 2802 |000c: goto 000e // +0002 │ │ -01f492: 1201 |000d: const/4 v1, #int 0 // #0 │ │ -01f494: 1101 |000e: return-object v1 │ │ +01f464: |[01f464] dnsfilter.android.dnsserverconfig.widget.DNSConfigEntryValidator.checkIp:(Ljava/lang/String;)Ljava/lang/String; │ │ +01f474: 6e10 a005 0100 |0000: invoke-virtual {v1}, Ljava/lang/String;.trim:()Ljava/lang/String; // method@05a0 │ │ +01f47a: 0c01 |0003: move-result-object v1 │ │ +01f47c: 6e10 9105 0100 |0004: invoke-virtual {v1}, Ljava/lang/String;.isEmpty:()Z // method@0591 │ │ +01f482: 0a01 |0007: move-result v1 │ │ +01f484: 3801 0500 |0008: if-eqz v1, 000d // +0005 │ │ +01f488: 5401 6f02 |000a: iget-object v1, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSConfigEntryValidator;.emptyIpErrorResult:Ljava/lang/String; // field@026f │ │ +01f48c: 2802 |000c: goto 000e // +0002 │ │ +01f48e: 1201 |000d: const/4 v1, #int 0 // #0 │ │ +01f490: 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; │ │ @@ -20261,24 +20261,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 │ │ -01f498: |[01f498] dnsfilter.android.dnsserverconfig.widget.DNSConfigEntryValidator.checkPort:(Ljava/lang/String;)Ljava/lang/String; │ │ -01f4a8: 6e10 a005 0100 |0000: invoke-virtual {v1}, Ljava/lang/String;.trim:()Ljava/lang/String; // method@05a0 │ │ -01f4ae: 0c01 |0003: move-result-object v1 │ │ -01f4b0: 6e10 9105 0100 |0004: invoke-virtual {v1}, Ljava/lang/String;.isEmpty:()Z // method@0591 │ │ -01f4b6: 0a01 |0007: move-result v1 │ │ -01f4b8: 3801 0500 |0008: if-eqz v1, 000d // +0005 │ │ -01f4bc: 5401 7002 |000a: iget-object v1, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSConfigEntryValidator;.emptyPortErrorResult:Ljava/lang/String; // field@0270 │ │ -01f4c0: 2802 |000c: goto 000e // +0002 │ │ -01f4c2: 1201 |000d: const/4 v1, #int 0 // #0 │ │ -01f4c4: 1101 |000e: return-object v1 │ │ +01f494: |[01f494] dnsfilter.android.dnsserverconfig.widget.DNSConfigEntryValidator.checkPort:(Ljava/lang/String;)Ljava/lang/String; │ │ +01f4a4: 6e10 a005 0100 |0000: invoke-virtual {v1}, Ljava/lang/String;.trim:()Ljava/lang/String; // method@05a0 │ │ +01f4aa: 0c01 |0003: move-result-object v1 │ │ +01f4ac: 6e10 9105 0100 |0004: invoke-virtual {v1}, Ljava/lang/String;.isEmpty:()Z // method@0591 │ │ +01f4b2: 0a01 |0007: move-result v1 │ │ +01f4b4: 3801 0500 |0008: if-eqz v1, 000d // +0005 │ │ +01f4b8: 5401 7002 |000a: iget-object v1, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSConfigEntryValidator;.emptyPortErrorResult:Ljava/lang/String; // field@0270 │ │ +01f4bc: 2802 |000c: goto 000e // +0002 │ │ +01f4be: 1201 |000d: const/4 v1, #int 0 // #0 │ │ +01f4c0: 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; │ │ @@ -20289,28 +20289,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 │ │ -01f420: |[01f420] dnsfilter.android.dnsserverconfig.widget.DNSConfigEntryValidator.validate:(Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;)Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult; │ │ -01f430: 2200 da00 |0000: new-instance v0, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult; // type@00da │ │ -01f434: 7010 fc03 0000 |0002: invoke-direct {v0}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult;.:()V // method@03fc │ │ -01f43a: 6e10 4a04 0300 |0005: invoke-virtual {v3}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.getIp:()Ljava/lang/String; // method@044a │ │ -01f440: 0c01 |0008: move-result-object v1 │ │ -01f442: 7020 b803 1200 |0009: invoke-direct {v2, v1}, Ldnsfilter/android/dnsserverconfig/widget/DNSConfigEntryValidator;.checkIp:(Ljava/lang/String;)Ljava/lang/String; // method@03b8 │ │ -01f448: 0c01 |000c: move-result-object v1 │ │ -01f44a: 6e20 0204 1000 |000d: invoke-virtual {v0, v1}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult;.setIpError:(Ljava/lang/String;)V // method@0402 │ │ -01f450: 6e10 4d04 0300 |0010: invoke-virtual {v3}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.getPort:()Ljava/lang/String; // method@044d │ │ -01f456: 0c03 |0013: move-result-object v3 │ │ -01f458: 7020 b903 3200 |0014: invoke-direct {v2, v3}, Ldnsfilter/android/dnsserverconfig/widget/DNSConfigEntryValidator;.checkPort:(Ljava/lang/String;)Ljava/lang/String; // method@03b9 │ │ -01f45e: 0c03 |0017: move-result-object v3 │ │ -01f460: 6e20 0304 3000 |0018: invoke-virtual {v0, v3}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult;.setPortError:(Ljava/lang/String;)V // method@0403 │ │ -01f466: 1100 |001b: return-object v0 │ │ +01f41c: |[01f41c] dnsfilter.android.dnsserverconfig.widget.DNSConfigEntryValidator.validate:(Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;)Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult; │ │ +01f42c: 2200 da00 |0000: new-instance v0, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult; // type@00da │ │ +01f430: 7010 fc03 0000 |0002: invoke-direct {v0}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult;.:()V // method@03fc │ │ +01f436: 6e10 4a04 0300 |0005: invoke-virtual {v3}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.getIp:()Ljava/lang/String; // method@044a │ │ +01f43c: 0c01 |0008: move-result-object v1 │ │ +01f43e: 7020 b803 1200 |0009: invoke-direct {v2, v1}, Ldnsfilter/android/dnsserverconfig/widget/DNSConfigEntryValidator;.checkIp:(Ljava/lang/String;)Ljava/lang/String; // method@03b8 │ │ +01f444: 0c01 |000c: move-result-object v1 │ │ +01f446: 6e20 0204 1000 |000d: invoke-virtual {v0, v1}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult;.setIpError:(Ljava/lang/String;)V // method@0402 │ │ +01f44c: 6e10 4d04 0300 |0010: invoke-virtual {v3}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.getPort:()Ljava/lang/String; // method@044d │ │ +01f452: 0c03 |0013: move-result-object v3 │ │ +01f454: 7020 b903 3200 |0014: invoke-direct {v2, v3}, Ldnsfilter/android/dnsserverconfig/widget/DNSConfigEntryValidator;.checkPort:(Ljava/lang/String;)Ljava/lang/String; // method@03b9 │ │ +01f45a: 0c03 |0017: move-result-object v3 │ │ +01f45c: 6e20 0304 3000 |0018: invoke-virtual {v0, v3}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult;.setPortError:(Ljava/lang/String;)V // method@0403 │ │ +01f462: 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; │ │ @@ -20350,19 +20350,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 │ │ -01f504: |[01f504] dnsfilter.android.dnsserverconfig.widget.DNSListAdapter$$ExternalSyntheticLambda0.:(Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;)V │ │ -01f514: 7010 7305 0000 |0000: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@0573 │ │ -01f51a: 5b01 7102 |0003: iput-object v1, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$$ExternalSyntheticLambda0;.f$0:Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry; // field@0271 │ │ -01f51e: 5b02 7202 |0005: iput-object v2, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$$ExternalSyntheticLambda0;.f$1:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder; // field@0272 │ │ -01f522: 0e00 |0007: return-void │ │ +01f500: |[01f500] dnsfilter.android.dnsserverconfig.widget.DNSListAdapter$$ExternalSyntheticLambda0.:(Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;)V │ │ +01f510: 7010 7305 0000 |0000: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@0573 │ │ +01f516: 5b01 7102 |0003: iput-object v1, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$$ExternalSyntheticLambda0;.f$0:Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry; // field@0271 │ │ +01f51a: 5b02 7202 |0005: iput-object v2, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$$ExternalSyntheticLambda0;.f$1:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder; // field@0272 │ │ +01f51e: 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; │ │ @@ -20373,19 +20373,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 │ │ -01f524: |[01f524] dnsfilter.android.dnsserverconfig.widget.DNSListAdapter$$ExternalSyntheticLambda0.onCheckedChanged:(Landroid/widget/CompoundButton;Z)V │ │ -01f534: 5420 7102 |0000: iget-object v0, v2, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$$ExternalSyntheticLambda0;.f$0:Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry; // field@0271 │ │ -01f538: 5421 7202 |0002: iget-object v1, v2, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$$ExternalSyntheticLambda0;.f$1:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder; // field@0272 │ │ -01f53c: 7140 e903 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@03e9 │ │ -01f542: 0e00 |0007: return-void │ │ +01f520: |[01f520] dnsfilter.android.dnsserverconfig.widget.DNSListAdapter$$ExternalSyntheticLambda0.onCheckedChanged:(Landroid/widget/CompoundButton;Z)V │ │ +01f530: 5420 7102 |0000: iget-object v0, v2, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$$ExternalSyntheticLambda0;.f$0:Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry; // field@0271 │ │ +01f534: 5421 7202 |0002: iget-object v1, v2, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$$ExternalSyntheticLambda0;.f$1:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder; // field@0272 │ │ +01f538: 7140 e903 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@03e9 │ │ +01f53e: 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 │ │ @@ -20425,18 +20425,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 │ │ -01f544: |[01f544] dnsfilter.android.dnsserverconfig.widget.DNSListAdapter$1.:(Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;)V │ │ -01f554: 5b01 7302 |0000: iput-object v1, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$1;.this$0:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter; // field@0273 │ │ -01f558: 7010 7305 0000 |0002: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@0573 │ │ -01f55e: 0e00 |0005: return-void │ │ +01f540: |[01f540] dnsfilter.android.dnsserverconfig.widget.DNSListAdapter$1.:(Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;)V │ │ +01f550: 5b01 7302 |0000: iput-object v1, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$1;.this$0:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter; // field@0273 │ │ +01f554: 7010 7305 0000 |0002: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@0573 │ │ +01f55a: 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; │ │ │ │ @@ -20446,25 +20446,25 @@ │ │ type : '(Landroid/view/View;)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 4 │ │ ins : 2 │ │ outs : 3 │ │ insns size : 21 16-bit code units │ │ -01f560: |[01f560] dnsfilter.android.dnsserverconfig.widget.DNSListAdapter$1.onClick:(Landroid/view/View;)V │ │ -01f570: 2203 e800 |0000: new-instance v3, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry; // type@00e8 │ │ -01f574: 7010 4004 0300 |0002: invoke-direct {v3}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.:()V // method@0440 │ │ -01f57a: 5420 7302 |0005: iget-object v0, v2, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$1;.this$0:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter; // field@0273 │ │ -01f57e: 6e20 da03 3000 |0007: invoke-virtual {v0, v3}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.add:(Ljava/lang/Object;)V // method@03da │ │ -01f584: 5420 7302 |000a: iget-object v0, v2, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$1;.this$0:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter; // field@0273 │ │ -01f588: 7110 d303 0000 |000c: invoke-static {v0}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.access$000:(Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;)Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView; // method@03d3 │ │ -01f58e: 0c00 |000f: move-result-object v0 │ │ -01f590: 1211 |0010: const/4 v1, #int 1 // #1 │ │ -01f592: 6e30 1e04 3001 |0011: invoke-virtual {v0, v3, v1}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;.showEntry:(Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;Z)V // method@041e │ │ -01f598: 0e00 |0014: return-void │ │ +01f55c: |[01f55c] dnsfilter.android.dnsserverconfig.widget.DNSListAdapter$1.onClick:(Landroid/view/View;)V │ │ +01f56c: 2203 e800 |0000: new-instance v3, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry; // type@00e8 │ │ +01f570: 7010 4004 0300 |0002: invoke-direct {v3}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.:()V // method@0440 │ │ +01f576: 5420 7302 |0005: iget-object v0, v2, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$1;.this$0:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter; // field@0273 │ │ +01f57a: 6e20 da03 3000 |0007: invoke-virtual {v0, v3}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.add:(Ljava/lang/Object;)V // method@03da │ │ +01f580: 5420 7302 |000a: iget-object v0, v2, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$1;.this$0:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter; // field@0273 │ │ +01f584: 7110 d303 0000 |000c: invoke-static {v0}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.access$000:(Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;)Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView; // method@03d3 │ │ +01f58a: 0c00 |000f: move-result-object v0 │ │ +01f58c: 1211 |0010: const/4 v1, #int 1 // #1 │ │ +01f58e: 6e30 1e04 3001 |0011: invoke-virtual {v0, v3, v1}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;.showEntry:(Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;Z)V // method@041e │ │ +01f594: 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; │ │ @@ -20511,19 +20511,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 │ │ -01f59c: |[01f59c] dnsfilter.android.dnsserverconfig.widget.DNSListAdapter$2$1$1.:(Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2$1;J)V │ │ -01f5ac: 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 │ │ -01f5b0: 5a02 7502 |0002: iput-wide v2, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2$1$1;.val$result:J // field@0275 │ │ -01f5b4: 7010 7305 0000 |0004: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@0573 │ │ -01f5ba: 0e00 |0007: return-void │ │ +01f598: |[01f598] dnsfilter.android.dnsserverconfig.widget.DNSListAdapter$2$1$1.:(Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2$1;J)V │ │ +01f5a8: 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 │ │ +01f5ac: 5a02 7502 |0002: iput-wide v2, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2$1$1;.val$result:J // field@0275 │ │ +01f5b0: 7010 7305 0000 |0004: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@0573 │ │ +01f5b6: 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 │ │ @@ -20534,28 +20534,28 @@ │ │ type : '()V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 6 │ │ ins : 1 │ │ outs : 4 │ │ insns size : 28 16-bit code units │ │ -01f5bc: |[01f5bc] dnsfilter.android.dnsserverconfig.widget.DNSListAdapter$2$1$1.run:()V │ │ -01f5cc: 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 │ │ -01f5d0: 5400 7802 |0002: iget-object v0, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2$1;.this$1:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2; // field@0278 │ │ -01f5d4: 5400 7a02 |0004: iget-object v0, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2;.val$entry:Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry; // field@027a │ │ -01f5d8: 2201 e300 |0006: new-instance v1, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult; // type@00e3 │ │ -01f5dc: 6202 a002 |0008: sget-object v2, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState;.SUCCESS:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState; // field@02a0 │ │ -01f5e0: 5353 7502 |000a: iget-wide v3, v5, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2$1$1;.val$result:J // field@0275 │ │ -01f5e4: 7040 2204 2143 |000c: invoke-direct {v1, v2, v3, v4}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult;.:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState;J)V // method@0422 │ │ -01f5ea: 6e20 5704 1000 |000f: invoke-virtual {v0, v1}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.setTestResult:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult;)V // method@0457 │ │ -01f5f0: 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 │ │ -01f5f4: 5400 7802 |0014: iget-object v0, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2$1;.this$1:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2; // field@0278 │ │ -01f5f8: 5400 7902 |0016: iget-object v0, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2;.this$0:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter; // field@0279 │ │ -01f5fc: 6e10 ea03 0000 |0018: invoke-virtual {v0}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.notifyDataSetChanged:()V // method@03ea │ │ -01f602: 0e00 |001b: return-void │ │ +01f5b8: |[01f5b8] dnsfilter.android.dnsserverconfig.widget.DNSListAdapter$2$1$1.run:()V │ │ +01f5c8: 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 │ │ +01f5cc: 5400 7802 |0002: iget-object v0, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2$1;.this$1:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2; // field@0278 │ │ +01f5d0: 5400 7a02 |0004: iget-object v0, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2;.val$entry:Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry; // field@027a │ │ +01f5d4: 2201 e300 |0006: new-instance v1, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult; // type@00e3 │ │ +01f5d8: 6202 a002 |0008: sget-object v2, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState;.SUCCESS:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState; // field@02a0 │ │ +01f5dc: 5353 7502 |000a: iget-wide v3, v5, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2$1$1;.val$result:J // field@0275 │ │ +01f5e0: 7040 2204 2143 |000c: invoke-direct {v1, v2, v3, v4}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult;.:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState;J)V // method@0422 │ │ +01f5e6: 6e20 5704 1000 |000f: invoke-virtual {v0, v1}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.setTestResult:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult;)V // method@0457 │ │ +01f5ec: 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 │ │ +01f5f0: 5400 7802 |0014: iget-object v0, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2$1;.this$1:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2; // field@0278 │ │ +01f5f4: 5400 7902 |0016: iget-object v0, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2;.this$0:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter; // field@0279 │ │ +01f5f8: 6e10 ea03 0000 |0018: invoke-virtual {v0}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.notifyDataSetChanged:()V // method@03ea │ │ +01f5fe: 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; │ │ │ │ @@ -20600,19 +20600,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 │ │ -01f604: |[01f604] dnsfilter.android.dnsserverconfig.widget.DNSListAdapter$2$1$2.:(Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2$1;Ljava/io/IOException;)V │ │ -01f614: 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 │ │ -01f618: 5b02 7702 |0002: iput-object v2, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2$1$2;.val$e:Ljava/io/IOException; // field@0277 │ │ -01f61c: 7010 7305 0000 |0004: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@0573 │ │ -01f622: 0e00 |0007: return-void │ │ +01f600: |[01f600] dnsfilter.android.dnsserverconfig.widget.DNSListAdapter$2$1$2.:(Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2$1;Ljava/io/IOException;)V │ │ +01f610: 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 │ │ +01f614: 5b02 7702 |0002: iput-object v2, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2$1$2;.val$e:Ljava/io/IOException; // field@0277 │ │ +01f618: 7010 7305 0000 |0004: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@0573 │ │ +01f61e: 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; │ │ @@ -20623,36 +20623,36 @@ │ │ type : '()V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 5 │ │ ins : 1 │ │ outs : 3 │ │ insns size : 44 16-bit code units │ │ -01f624: |[01f624] dnsfilter.android.dnsserverconfig.widget.DNSListAdapter$2$1$2.run:()V │ │ -01f634: 5440 7702 |0000: iget-object v0, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2$1$2;.val$e:Ljava/io/IOException; // field@0277 │ │ -01f638: 6e10 2205 0000 |0002: invoke-virtual {v0}, Ljava/io/IOException;.getMessage:()Ljava/lang/String; // method@0522 │ │ -01f63e: 0c00 |0005: move-result-object v0 │ │ -01f640: 3900 0c00 |0006: if-nez v0, 0012 // +000c │ │ -01f644: 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 │ │ -01f648: 5400 7802 |000a: iget-object v0, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2$1;.this$1:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2; // field@0278 │ │ -01f64c: 5400 7902 |000c: iget-object v0, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2;.this$0:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter; // field@0279 │ │ -01f650: 7110 d503 0000 |000e: invoke-static {v0}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.access$300:(Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;)Ljava/lang/String; // method@03d5 │ │ -01f656: 0c00 |0011: move-result-object v0 │ │ -01f658: 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 │ │ -01f65c: 5411 7802 |0014: iget-object v1, v1, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2$1;.this$1:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2; // field@0278 │ │ -01f660: 5411 7a02 |0016: iget-object v1, v1, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2;.val$entry:Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry; // field@027a │ │ -01f664: 2202 e300 |0018: new-instance v2, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult; // type@00e3 │ │ -01f668: 6203 9d02 |001a: sget-object v3, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState;.FAIL:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState; // field@029d │ │ -01f66c: 7030 2304 3200 |001c: invoke-direct {v2, v3, v0}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult;.:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState;Ljava/lang/String;)V // method@0423 │ │ -01f672: 6e20 5704 2100 |001f: invoke-virtual {v1, v2}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.setTestResult:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult;)V // method@0457 │ │ -01f678: 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 │ │ -01f67c: 5400 7802 |0024: iget-object v0, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2$1;.this$1:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2; // field@0278 │ │ -01f680: 5400 7902 |0026: iget-object v0, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2;.this$0:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter; // field@0279 │ │ -01f684: 6e10 ea03 0000 |0028: invoke-virtual {v0}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.notifyDataSetChanged:()V // method@03ea │ │ -01f68a: 0e00 |002b: return-void │ │ +01f620: |[01f620] dnsfilter.android.dnsserverconfig.widget.DNSListAdapter$2$1$2.run:()V │ │ +01f630: 5440 7702 |0000: iget-object v0, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2$1$2;.val$e:Ljava/io/IOException; // field@0277 │ │ +01f634: 6e10 2205 0000 |0002: invoke-virtual {v0}, Ljava/io/IOException;.getMessage:()Ljava/lang/String; // method@0522 │ │ +01f63a: 0c00 |0005: move-result-object v0 │ │ +01f63c: 3900 0c00 |0006: if-nez v0, 0012 // +000c │ │ +01f640: 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 │ │ +01f644: 5400 7802 |000a: iget-object v0, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2$1;.this$1:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2; // field@0278 │ │ +01f648: 5400 7902 |000c: iget-object v0, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2;.this$0:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter; // field@0279 │ │ +01f64c: 7110 d503 0000 |000e: invoke-static {v0}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.access$300:(Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;)Ljava/lang/String; // method@03d5 │ │ +01f652: 0c00 |0011: move-result-object v0 │ │ +01f654: 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 │ │ +01f658: 5411 7802 |0014: iget-object v1, v1, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2$1;.this$1:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2; // field@0278 │ │ +01f65c: 5411 7a02 |0016: iget-object v1, v1, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2;.val$entry:Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry; // field@027a │ │ +01f660: 2202 e300 |0018: new-instance v2, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult; // type@00e3 │ │ +01f664: 6203 9d02 |001a: sget-object v3, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState;.FAIL:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState; // field@029d │ │ +01f668: 7030 2304 3200 |001c: invoke-direct {v2, v3, v0}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult;.:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState;Ljava/lang/String;)V // method@0423 │ │ +01f66e: 6e20 5704 2100 |001f: invoke-virtual {v1, v2}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.setTestResult:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult;)V // method@0457 │ │ +01f674: 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 │ │ +01f678: 5400 7802 |0024: iget-object v0, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2$1;.this$1:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2; // field@0278 │ │ +01f67c: 5400 7902 |0026: iget-object v0, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2;.this$0:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter; // field@0279 │ │ +01f680: 6e10 ea03 0000 |0028: invoke-virtual {v0}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.notifyDataSetChanged:()V // method@03ea │ │ +01f686: 0e00 |002b: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=220 │ │ 0x0008 line=222 │ │ 0x0012 line=224 │ │ 0x0022 line=225 │ │ locals : │ │ @@ -20693,18 +20693,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 │ │ -01f68c: |[01f68c] dnsfilter.android.dnsserverconfig.widget.DNSListAdapter$2$1.:(Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2;)V │ │ -01f69c: 5b01 7802 |0000: iput-object v1, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2$1;.this$1:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2; // field@0278 │ │ -01f6a0: 7010 7305 0000 |0002: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@0573 │ │ -01f6a6: 0e00 |0005: return-void │ │ +01f688: |[01f688] dnsfilter.android.dnsserverconfig.widget.DNSListAdapter$2$1.:(Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2;)V │ │ +01f698: 5b01 7802 |0000: iput-object v1, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2$1;.this$1:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2; // field@0278 │ │ +01f69c: 7010 7305 0000 |0002: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@0573 │ │ +01f6a2: 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; │ │ │ │ @@ -20714,64 +20714,64 @@ │ │ type : '()V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 9 │ │ ins : 1 │ │ outs : 6 │ │ insns size : 97 16-bit code units │ │ -01f6a8: |[01f6a8] dnsfilter.android.dnsserverconfig.widget.DNSListAdapter$2$1.run:()V │ │ -01f6b8: 7100 f401 0000 |0000: invoke-static {}, Ldnsfilter/DNSServer;.getInstance:()Ldnsfilter/DNSServer; // method@01f4 │ │ -01f6be: 0c00 |0003: move-result-object v0 │ │ -01f6c0: 2207 e800 |0004: new-instance v7, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry; // type@00e8 │ │ -01f6c4: 5481 7802 |0006: iget-object v1, v8, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2$1;.this$1:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2; // field@0278 │ │ -01f6c8: 5411 7a02 |0008: iget-object v1, v1, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2;.val$entry:Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry; // field@027a │ │ -01f6cc: 6e10 4a04 0100 |000a: invoke-virtual {v1}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.getIp:()Ljava/lang/String; // method@044a │ │ -01f6d2: 0c02 |000d: move-result-object v2 │ │ -01f6d4: 5481 7802 |000e: iget-object v1, v8, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2$1;.this$1:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2; // field@0278 │ │ -01f6d8: 5411 7a02 |0010: iget-object v1, v1, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2;.val$entry:Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry; // field@027a │ │ -01f6dc: 6e10 4d04 0100 |0012: invoke-virtual {v1}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.getPort:()Ljava/lang/String; // method@044d │ │ -01f6e2: 0c03 |0015: move-result-object v3 │ │ -01f6e4: 5481 7802 |0016: iget-object v1, v8, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2$1;.this$1:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2; // field@0278 │ │ -01f6e8: 5411 7a02 |0018: iget-object v1, v1, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2;.val$entry:Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry; // field@027a │ │ -01f6ec: 6e10 4e04 0100 |001a: invoke-virtual {v1}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.getProtocol:()Ldnsfilter/android/dnsserverconfig/widget/DNSType; // method@044e │ │ -01f6f2: 0c04 |001d: move-result-object v4 │ │ -01f6f4: 5481 7802 |001e: iget-object v1, v8, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2$1;.this$1:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2; // field@0278 │ │ -01f6f8: 5411 7a02 |0020: iget-object v1, v1, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2;.val$entry:Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry; // field@027a │ │ -01f6fc: 6e10 4804 0100 |0022: invoke-virtual {v1}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.getEndpoint:()Ljava/lang/String; // method@0448 │ │ -01f702: 0c05 |0025: move-result-object v5 │ │ -01f704: 1211 |0026: const/4 v1, #int 1 // #1 │ │ -01f706: 7110 4d05 0100 |0027: invoke-static {v1}, Ljava/lang/Boolean;.valueOf:(Z)Ljava/lang/Boolean; // method@054d │ │ -01f70c: 0c06 |002a: move-result-object v6 │ │ -01f70e: 0771 |002b: move-object v1, v7 │ │ -01f710: 7606 4104 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@0441 │ │ -01f716: 6e10 5904 0700 |002f: invoke-virtual {v7}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.toString:()Ljava/lang/String; // method@0459 │ │ -01f71c: 0c01 |0032: move-result-object v1 │ │ -01f71e: 1302 983a |0033: const/16 v2, #int 15000 // #3a98 │ │ -01f722: 6e30 ed01 1002 |0035: invoke-virtual {v0, v1, v2}, Ldnsfilter/DNSServer;.createDNSServer:(Ljava/lang/String;I)Ldnsfilter/DNSServer; // method@01ed │ │ -01f728: 0c00 |0038: move-result-object v0 │ │ -01f72a: 1251 |0039: const/4 v1, #int 5 // #5 │ │ -01f72c: 6e20 ff01 1000 |003a: invoke-virtual {v0, v1}, Ldnsfilter/DNSServer;.testDNS:(I)J // method@01ff │ │ -01f732: 0b00 |003d: move-result-wide v0 │ │ -01f734: 5482 7802 |003e: iget-object v2, v8, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2$1;.this$1:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2; // field@0278 │ │ -01f738: 5422 7902 |0040: iget-object v2, v2, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2;.this$0:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter; // field@0279 │ │ -01f73c: 7110 d403 0200 |0042: invoke-static {v2}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.access$200:(Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;)Landroid/os/Handler; // method@03d4 │ │ -01f742: 0c02 |0045: move-result-object v2 │ │ -01f744: 2203 cd00 |0046: new-instance v3, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2$1$1; // type@00cd │ │ -01f748: 7040 bf03 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@03bf │ │ -01f74e: 6e20 8500 3200 |004b: invoke-virtual {v2, v3}, Landroid/os/Handler;.post:(Ljava/lang/Runnable;)Z // method@0085 │ │ -01f754: 2812 |004e: goto 0060 // +0012 │ │ -01f756: 0d00 |004f: move-exception v0 │ │ -01f758: 5481 7802 |0050: iget-object v1, v8, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2$1;.this$1:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2; // field@0278 │ │ -01f75c: 5411 7902 |0052: iget-object v1, v1, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2;.this$0:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter; // field@0279 │ │ -01f760: 7110 d403 0100 |0054: invoke-static {v1}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.access$200:(Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;)Landroid/os/Handler; // method@03d4 │ │ -01f766: 0c01 |0057: move-result-object v1 │ │ -01f768: 2202 ce00 |0058: new-instance v2, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2$1$2; // type@00ce │ │ -01f76c: 7030 c103 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@03c1 │ │ -01f772: 6e20 8500 2100 |005d: invoke-virtual {v1, v2}, Landroid/os/Handler;.post:(Ljava/lang/Runnable;)Z // method@0085 │ │ -01f778: 0e00 |0060: return-void │ │ +01f6a4: |[01f6a4] dnsfilter.android.dnsserverconfig.widget.DNSListAdapter$2$1.run:()V │ │ +01f6b4: 7100 f401 0000 |0000: invoke-static {}, Ldnsfilter/DNSServer;.getInstance:()Ldnsfilter/DNSServer; // method@01f4 │ │ +01f6ba: 0c00 |0003: move-result-object v0 │ │ +01f6bc: 2207 e800 |0004: new-instance v7, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry; // type@00e8 │ │ +01f6c0: 5481 7802 |0006: iget-object v1, v8, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2$1;.this$1:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2; // field@0278 │ │ +01f6c4: 5411 7a02 |0008: iget-object v1, v1, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2;.val$entry:Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry; // field@027a │ │ +01f6c8: 6e10 4a04 0100 |000a: invoke-virtual {v1}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.getIp:()Ljava/lang/String; // method@044a │ │ +01f6ce: 0c02 |000d: move-result-object v2 │ │ +01f6d0: 5481 7802 |000e: iget-object v1, v8, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2$1;.this$1:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2; // field@0278 │ │ +01f6d4: 5411 7a02 |0010: iget-object v1, v1, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2;.val$entry:Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry; // field@027a │ │ +01f6d8: 6e10 4d04 0100 |0012: invoke-virtual {v1}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.getPort:()Ljava/lang/String; // method@044d │ │ +01f6de: 0c03 |0015: move-result-object v3 │ │ +01f6e0: 5481 7802 |0016: iget-object v1, v8, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2$1;.this$1:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2; // field@0278 │ │ +01f6e4: 5411 7a02 |0018: iget-object v1, v1, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2;.val$entry:Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry; // field@027a │ │ +01f6e8: 6e10 4e04 0100 |001a: invoke-virtual {v1}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.getProtocol:()Ldnsfilter/android/dnsserverconfig/widget/DNSType; // method@044e │ │ +01f6ee: 0c04 |001d: move-result-object v4 │ │ +01f6f0: 5481 7802 |001e: iget-object v1, v8, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2$1;.this$1:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2; // field@0278 │ │ +01f6f4: 5411 7a02 |0020: iget-object v1, v1, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2;.val$entry:Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry; // field@027a │ │ +01f6f8: 6e10 4804 0100 |0022: invoke-virtual {v1}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.getEndpoint:()Ljava/lang/String; // method@0448 │ │ +01f6fe: 0c05 |0025: move-result-object v5 │ │ +01f700: 1211 |0026: const/4 v1, #int 1 // #1 │ │ +01f702: 7110 4d05 0100 |0027: invoke-static {v1}, Ljava/lang/Boolean;.valueOf:(Z)Ljava/lang/Boolean; // method@054d │ │ +01f708: 0c06 |002a: move-result-object v6 │ │ +01f70a: 0771 |002b: move-object v1, v7 │ │ +01f70c: 7606 4104 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@0441 │ │ +01f712: 6e10 5904 0700 |002f: invoke-virtual {v7}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.toString:()Ljava/lang/String; // method@0459 │ │ +01f718: 0c01 |0032: move-result-object v1 │ │ +01f71a: 1302 983a |0033: const/16 v2, #int 15000 // #3a98 │ │ +01f71e: 6e30 ed01 1002 |0035: invoke-virtual {v0, v1, v2}, Ldnsfilter/DNSServer;.createDNSServer:(Ljava/lang/String;I)Ldnsfilter/DNSServer; // method@01ed │ │ +01f724: 0c00 |0038: move-result-object v0 │ │ +01f726: 1251 |0039: const/4 v1, #int 5 // #5 │ │ +01f728: 6e20 ff01 1000 |003a: invoke-virtual {v0, v1}, Ldnsfilter/DNSServer;.testDNS:(I)J // method@01ff │ │ +01f72e: 0b00 |003d: move-result-wide v0 │ │ +01f730: 5482 7802 |003e: iget-object v2, v8, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2$1;.this$1:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2; // field@0278 │ │ +01f734: 5422 7902 |0040: iget-object v2, v2, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2;.this$0:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter; // field@0279 │ │ +01f738: 7110 d403 0200 |0042: invoke-static {v2}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.access$200:(Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;)Landroid/os/Handler; // method@03d4 │ │ +01f73e: 0c02 |0045: move-result-object v2 │ │ +01f740: 2203 cd00 |0046: new-instance v3, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2$1$1; // type@00cd │ │ +01f744: 7040 bf03 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@03bf │ │ +01f74a: 6e20 8500 3200 |004b: invoke-virtual {v2, v3}, Landroid/os/Handler;.post:(Ljava/lang/Runnable;)Z // method@0085 │ │ +01f750: 2812 |004e: goto 0060 // +0012 │ │ +01f752: 0d00 |004f: move-exception v0 │ │ +01f754: 5481 7802 |0050: iget-object v1, v8, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2$1;.this$1:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2; // field@0278 │ │ +01f758: 5411 7902 |0052: iget-object v1, v1, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2;.this$0:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter; // field@0279 │ │ +01f75c: 7110 d403 0100 |0054: invoke-static {v1}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.access$200:(Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;)Landroid/os/Handler; // method@03d4 │ │ +01f762: 0c01 |0057: move-result-object v1 │ │ +01f764: 2202 ce00 |0058: new-instance v2, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2$1$2; // type@00ce │ │ +01f768: 7030 c103 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@03c1 │ │ +01f76e: 6e20 8500 2100 |005d: invoke-virtual {v1, v2}, Landroid/os/Handler;.post:(Ljava/lang/Runnable;)Z // method@0085 │ │ +01f774: 0e00 |0060: return-void │ │ catches : 1 │ │ 0x0000 - 0x004e │ │ Ljava/io/IOException; -> 0x004f │ │ positions : │ │ 0x0000 line=200 │ │ 0x000a line=202 │ │ 0x0012 line=203 │ │ @@ -20827,19 +20827,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 │ │ -01f78c: |[01f78c] dnsfilter.android.dnsserverconfig.widget.DNSListAdapter$2.:(Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;)V │ │ -01f79c: 5b01 7902 |0000: iput-object v1, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2;.this$0:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter; // field@0279 │ │ -01f7a0: 5b02 7a02 |0002: iput-object v2, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2;.val$entry:Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry; // field@027a │ │ -01f7a4: 7010 7305 0000 |0004: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@0573 │ │ -01f7aa: 0e00 |0007: return-void │ │ +01f788: |[01f788] dnsfilter.android.dnsserverconfig.widget.DNSListAdapter$2.:(Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;)V │ │ +01f798: 5b01 7902 |0000: iput-object v1, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2;.this$0:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter; // field@0279 │ │ +01f79c: 5b02 7a02 |0002: iput-object v2, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2;.val$entry:Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry; // field@027a │ │ +01f7a0: 7010 7305 0000 |0004: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@0573 │ │ +01f7a6: 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; │ │ @@ -20850,29 +20850,29 @@ │ │ type : '(Landroid/view/View;)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 3 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 31 16-bit code units │ │ -01f7ac: |[01f7ac] dnsfilter.android.dnsserverconfig.widget.DNSListAdapter$2.onClick:(Landroid/view/View;)V │ │ -01f7bc: 5412 7a02 |0000: iget-object v2, v1, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2;.val$entry:Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry; // field@027a │ │ -01f7c0: 6e10 4f04 0200 |0002: invoke-virtual {v2}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.getTestResult:()Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult; // method@044f │ │ -01f7c6: 0c02 |0005: move-result-object v2 │ │ -01f7c8: 6200 9f02 |0006: sget-object v0, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState;.STARTED:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState; // field@029f │ │ -01f7cc: 6e20 2d04 0200 |0008: invoke-virtual {v2, v0}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult;.setTestState:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState;)V // method@042d │ │ -01f7d2: 5412 7902 |000b: iget-object v2, v1, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2;.this$0:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter; // field@0279 │ │ -01f7d6: 6e10 ea03 0200 |000d: invoke-virtual {v2}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.notifyDataSetChanged:()V // method@03ea │ │ -01f7dc: 2202 cf00 |0010: new-instance v2, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2$1; // type@00cf │ │ -01f7e0: 7020 c303 1200 |0012: invoke-direct {v2, v1}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2$1;.:(Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2;)V // method@03c3 │ │ -01f7e6: 5410 7902 |0015: iget-object v0, v1, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2;.this$0:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter; // field@0279 │ │ -01f7ea: 7110 d603 0000 |0017: invoke-static {v0}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.access$400:(Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;)Ljava/util/concurrent/ExecutorService; // method@03d6 │ │ -01f7f0: 0c00 |001a: move-result-object v0 │ │ -01f7f2: 7220 8406 2000 |001b: invoke-interface {v0, v2}, Ljava/util/concurrent/ExecutorService;.execute:(Ljava/lang/Runnable;)V // method@0684 │ │ -01f7f8: 0e00 |001e: return-void │ │ +01f7a8: |[01f7a8] dnsfilter.android.dnsserverconfig.widget.DNSListAdapter$2.onClick:(Landroid/view/View;)V │ │ +01f7b8: 5412 7a02 |0000: iget-object v2, v1, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2;.val$entry:Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry; // field@027a │ │ +01f7bc: 6e10 4f04 0200 |0002: invoke-virtual {v2}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.getTestResult:()Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult; // method@044f │ │ +01f7c2: 0c02 |0005: move-result-object v2 │ │ +01f7c4: 6200 9f02 |0006: sget-object v0, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState;.STARTED:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState; // field@029f │ │ +01f7c8: 6e20 2d04 0200 |0008: invoke-virtual {v2, v0}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult;.setTestState:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState;)V // method@042d │ │ +01f7ce: 5412 7902 |000b: iget-object v2, v1, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2;.this$0:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter; // field@0279 │ │ +01f7d2: 6e10 ea03 0200 |000d: invoke-virtual {v2}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.notifyDataSetChanged:()V // method@03ea │ │ +01f7d8: 2202 cf00 |0010: new-instance v2, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2$1; // type@00cf │ │ +01f7dc: 7020 c303 1200 |0012: invoke-direct {v2, v1}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2$1;.:(Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2;)V // method@03c3 │ │ +01f7e2: 5410 7902 |0015: iget-object v0, v1, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2;.this$0:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter; // field@0279 │ │ +01f7e6: 7110 d603 0000 |0017: invoke-static {v0}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.access$400:(Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;)Ljava/util/concurrent/ExecutorService; // method@03d6 │ │ +01f7ec: 0c00 |001a: move-result-object v0 │ │ +01f7ee: 7220 8406 2000 |001b: invoke-interface {v0, v2}, Ljava/util/concurrent/ExecutorService;.execute:(Ljava/lang/Runnable;)V // method@0684 │ │ +01f7f4: 0e00 |001e: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=194 │ │ 0x000b line=195 │ │ 0x0010 line=196 │ │ 0x0015 line=231 │ │ locals : │ │ @@ -20924,20 +20924,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 │ │ -01f7fc: |[01f7fc] dnsfilter.android.dnsserverconfig.widget.DNSListAdapter$3.:(Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;)V │ │ -01f80c: 5b01 7b02 |0000: iput-object v1, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$3;.this$0:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter; // field@027b │ │ -01f810: 5b02 7c02 |0002: iput-object v2, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$3;.val$entry:Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry; // field@027c │ │ -01f814: 5b03 7d02 |0004: iput-object v3, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$3;.val$holder:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder; // field@027d │ │ -01f818: 7010 7305 0000 |0006: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@0573 │ │ -01f81e: 0e00 |0009: return-void │ │ +01f7f8: |[01f7f8] dnsfilter.android.dnsserverconfig.widget.DNSListAdapter$3.:(Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;)V │ │ +01f808: 5b01 7b02 |0000: iput-object v1, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$3;.this$0:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter; // field@027b │ │ +01f80c: 5b02 7c02 |0002: iput-object v2, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$3;.val$entry:Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry; // field@027c │ │ +01f810: 5b03 7d02 |0004: iput-object v3, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$3;.val$holder:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder; // field@027d │ │ +01f814: 7010 7305 0000 |0006: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@0573 │ │ +01f81a: 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; │ │ @@ -20949,51 +20949,51 @@ │ │ type : '(Landroid/view/View;)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 6 │ │ ins : 2 │ │ outs : 3 │ │ insns size : 77 16-bit code units │ │ -01f820: |[01f820] dnsfilter.android.dnsserverconfig.widget.DNSListAdapter$3.onClick:(Landroid/view/View;)V │ │ -01f830: 5440 7b02 |0000: iget-object v0, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$3;.this$0:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter; // field@027b │ │ -01f834: 7110 d703 0000 |0002: invoke-static {v0}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.access$500:(Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;)Landroid/widget/ImageView; // method@03d7 │ │ -01f83a: 0c00 |0005: move-result-object v0 │ │ -01f83c: 1401 1e00 047f |0006: const v1, #float 1.75459e+38 // #7f04001e │ │ -01f842: 6e20 ed00 1000 |0009: invoke-virtual {v0, v1}, Landroid/widget/ImageView;.setImageResource:(I)V // method@00ed │ │ -01f848: 5440 7b02 |000c: iget-object v0, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$3;.this$0:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter; // field@027b │ │ -01f84c: 7110 d803 0000 |000e: invoke-static {v0}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.access$600:(Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;)Landroid/widget/TextView; // method@03d8 │ │ -01f852: 0c00 |0011: move-result-object v0 │ │ -01f854: 6e10 ad00 0500 |0012: invoke-virtual {v5}, Landroid/view/View;.getContext:()Landroid/content/Context; // method@00ad │ │ -01f85a: 0c05 |0015: move-result-object v5 │ │ -01f85c: 5441 7c02 |0016: iget-object v1, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$3;.val$entry:Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry; // field@027c │ │ -01f860: 6e10 4f04 0100 |0018: invoke-virtual {v1}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.getTestResult:()Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult; // method@044f │ │ -01f866: 0c01 |001b: move-result-object v1 │ │ -01f868: 6e10 2704 0100 |001c: invoke-virtual {v1}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult;.getMessage:()Ljava/lang/String; // method@0427 │ │ -01f86e: 0c01 |001f: move-result-object v1 │ │ -01f870: 1212 |0020: const/4 v2, #int 1 // #1 │ │ -01f872: 2322 ac01 |0021: new-array v2, v2, [Ljava/lang/Object; // type@01ac │ │ -01f876: 1203 |0023: const/4 v3, #int 0 // #0 │ │ -01f878: 4d01 0203 |0024: aput-object v1, v2, v3 │ │ -01f87c: 1401 3100 087f |0026: const v1, #float 1.80776e+38 // #7f080031 │ │ -01f882: 6e30 3c00 1502 |0029: invoke-virtual {v5, v1, v2}, Landroid/content/Context;.getString:(I[Ljava/lang/Object;)Ljava/lang/String; // method@003c │ │ -01f888: 0c05 |002c: move-result-object v5 │ │ -01f88a: 6e20 0901 5000 |002d: invoke-virtual {v0, v5}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@0109 │ │ -01f890: 5445 7b02 |0030: iget-object v5, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$3;.this$0:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter; // field@027b │ │ -01f894: 7110 d903 0500 |0032: invoke-static {v5}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.access$700:(Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;)Landroid/app/Dialog; // method@03d9 │ │ -01f89a: 0c05 |0035: move-result-object v5 │ │ -01f89c: 6e10 2200 0500 |0036: invoke-virtual {v5}, Landroid/app/Dialog;.show:()V // method@0022 │ │ -01f8a2: 5445 7d02 |0039: iget-object v5, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$3;.val$holder:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder; // field@027d │ │ -01f8a6: 5455 8702 |003b: iget-object v5, v5, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.dnsServerConfigEntry:Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry; // field@0287 │ │ -01f8aa: 2200 e300 |003d: new-instance v0, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult; // type@00e3 │ │ -01f8ae: 6201 9e02 |003f: sget-object v1, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState;.NOT_STARTED:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState; // field@029e │ │ -01f8b2: 7020 2104 1000 |0041: invoke-direct {v0, v1}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult;.:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState;)V // method@0421 │ │ -01f8b8: 6e20 5704 0500 |0044: invoke-virtual {v5, v0}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.setTestResult:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult;)V // method@0457 │ │ -01f8be: 5445 7b02 |0047: iget-object v5, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$3;.this$0:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter; // field@027b │ │ -01f8c2: 6e10 ea03 0500 |0049: invoke-virtual {v5}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.notifyDataSetChanged:()V // method@03ea │ │ -01f8c8: 0e00 |004c: return-void │ │ +01f81c: |[01f81c] dnsfilter.android.dnsserverconfig.widget.DNSListAdapter$3.onClick:(Landroid/view/View;)V │ │ +01f82c: 5440 7b02 |0000: iget-object v0, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$3;.this$0:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter; // field@027b │ │ +01f830: 7110 d703 0000 |0002: invoke-static {v0}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.access$500:(Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;)Landroid/widget/ImageView; // method@03d7 │ │ +01f836: 0c00 |0005: move-result-object v0 │ │ +01f838: 1401 1e00 047f |0006: const v1, #float 1.75459e+38 // #7f04001e │ │ +01f83e: 6e20 ed00 1000 |0009: invoke-virtual {v0, v1}, Landroid/widget/ImageView;.setImageResource:(I)V // method@00ed │ │ +01f844: 5440 7b02 |000c: iget-object v0, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$3;.this$0:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter; // field@027b │ │ +01f848: 7110 d803 0000 |000e: invoke-static {v0}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.access$600:(Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;)Landroid/widget/TextView; // method@03d8 │ │ +01f84e: 0c00 |0011: move-result-object v0 │ │ +01f850: 6e10 ad00 0500 |0012: invoke-virtual {v5}, Landroid/view/View;.getContext:()Landroid/content/Context; // method@00ad │ │ +01f856: 0c05 |0015: move-result-object v5 │ │ +01f858: 5441 7c02 |0016: iget-object v1, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$3;.val$entry:Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry; // field@027c │ │ +01f85c: 6e10 4f04 0100 |0018: invoke-virtual {v1}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.getTestResult:()Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult; // method@044f │ │ +01f862: 0c01 |001b: move-result-object v1 │ │ +01f864: 6e10 2704 0100 |001c: invoke-virtual {v1}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult;.getMessage:()Ljava/lang/String; // method@0427 │ │ +01f86a: 0c01 |001f: move-result-object v1 │ │ +01f86c: 1212 |0020: const/4 v2, #int 1 // #1 │ │ +01f86e: 2322 ac01 |0021: new-array v2, v2, [Ljava/lang/Object; // type@01ac │ │ +01f872: 1203 |0023: const/4 v3, #int 0 // #0 │ │ +01f874: 4d01 0203 |0024: aput-object v1, v2, v3 │ │ +01f878: 1401 3100 087f |0026: const v1, #float 1.80776e+38 // #7f080031 │ │ +01f87e: 6e30 3c00 1502 |0029: invoke-virtual {v5, v1, v2}, Landroid/content/Context;.getString:(I[Ljava/lang/Object;)Ljava/lang/String; // method@003c │ │ +01f884: 0c05 |002c: move-result-object v5 │ │ +01f886: 6e20 0901 5000 |002d: invoke-virtual {v0, v5}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@0109 │ │ +01f88c: 5445 7b02 |0030: iget-object v5, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$3;.this$0:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter; // field@027b │ │ +01f890: 7110 d903 0500 |0032: invoke-static {v5}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.access$700:(Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;)Landroid/app/Dialog; // method@03d9 │ │ +01f896: 0c05 |0035: move-result-object v5 │ │ +01f898: 6e10 2200 0500 |0036: invoke-virtual {v5}, Landroid/app/Dialog;.show:()V // method@0022 │ │ +01f89e: 5445 7d02 |0039: iget-object v5, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$3;.val$holder:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder; // field@027d │ │ +01f8a2: 5455 8702 |003b: iget-object v5, v5, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.dnsServerConfigEntry:Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry; // field@0287 │ │ +01f8a6: 2200 e300 |003d: new-instance v0, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult; // type@00e3 │ │ +01f8aa: 6201 9e02 |003f: sget-object v1, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState;.NOT_STARTED:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState; // field@029e │ │ +01f8ae: 7020 2104 1000 |0041: invoke-direct {v0, v1}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult;.:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState;)V // method@0421 │ │ +01f8b4: 6e20 5704 0500 |0044: invoke-virtual {v5, v0}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.setTestResult:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult;)V // method@0457 │ │ +01f8ba: 5445 7b02 |0047: iget-object v5, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$3;.this$0:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter; // field@027b │ │ +01f8be: 6e10 ea03 0500 |0049: invoke-virtual {v5}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.notifyDataSetChanged:()V // method@03ea │ │ +01f8c4: 0e00 |004c: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=237 │ │ 0x000c line=238 │ │ 0x0030 line=239 │ │ 0x0039 line=240 │ │ 0x0047 line=241 │ │ @@ -21046,20 +21046,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 │ │ -01f8cc: |[01f8cc] dnsfilter.android.dnsserverconfig.widget.DNSListAdapter$4.:(Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;)V │ │ -01f8dc: 5b01 7e02 |0000: iput-object v1, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$4;.this$0:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter; // field@027e │ │ -01f8e0: 5b02 7f02 |0002: iput-object v2, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$4;.val$entry:Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry; // field@027f │ │ -01f8e4: 5b03 8002 |0004: iput-object v3, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$4;.val$holder:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder; // field@0280 │ │ -01f8e8: 7010 7305 0000 |0006: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@0573 │ │ -01f8ee: 0e00 |0009: return-void │ │ +01f8c8: |[01f8c8] dnsfilter.android.dnsserverconfig.widget.DNSListAdapter$4.:(Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;)V │ │ +01f8d8: 5b01 7e02 |0000: iput-object v1, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$4;.this$0:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter; // field@027e │ │ +01f8dc: 5b02 7f02 |0002: iput-object v2, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$4;.val$entry:Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry; // field@027f │ │ +01f8e0: 5b03 8002 |0004: iput-object v3, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$4;.val$holder:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder; // field@0280 │ │ +01f8e4: 7010 7305 0000 |0006: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@0573 │ │ +01f8ea: 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; │ │ @@ -21071,53 +21071,53 @@ │ │ type : '(Landroid/view/View;)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 6 │ │ ins : 2 │ │ outs : 3 │ │ insns size : 81 16-bit code units │ │ -01f8f0: |[01f8f0] dnsfilter.android.dnsserverconfig.widget.DNSListAdapter$4.onClick:(Landroid/view/View;)V │ │ -01f900: 5440 7e02 |0000: iget-object v0, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$4;.this$0:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter; // field@027e │ │ -01f904: 7110 d703 0000 |0002: invoke-static {v0}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.access$500:(Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;)Landroid/widget/ImageView; // method@03d7 │ │ -01f90a: 0c00 |0005: move-result-object v0 │ │ -01f90c: 1401 1a00 047f |0006: const v1, #float 1.75459e+38 // #7f04001a │ │ -01f912: 6e20 ed00 1000 |0009: invoke-virtual {v0, v1}, Landroid/widget/ImageView;.setImageResource:(I)V // method@00ed │ │ -01f918: 5440 7e02 |000c: iget-object v0, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$4;.this$0:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter; // field@027e │ │ -01f91c: 7110 d803 0000 |000e: invoke-static {v0}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.access$600:(Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;)Landroid/widget/TextView; // method@03d8 │ │ -01f922: 0c00 |0011: move-result-object v0 │ │ -01f924: 6e10 ad00 0500 |0012: invoke-virtual {v5}, Landroid/view/View;.getContext:()Landroid/content/Context; // method@00ad │ │ -01f92a: 0c05 |0015: move-result-object v5 │ │ -01f92c: 5441 7f02 |0016: iget-object v1, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$4;.val$entry:Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry; // field@027f │ │ -01f930: 6e10 4f04 0100 |0018: invoke-virtual {v1}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.getTestResult:()Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult; // method@044f │ │ -01f936: 0c01 |001b: move-result-object v1 │ │ -01f938: 6e10 2804 0100 |001c: invoke-virtual {v1}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult;.getPerf:()J // method@0428 │ │ -01f93e: 0b01 |001f: move-result-wide v1 │ │ -01f940: 7120 6c05 2100 |0020: invoke-static {v1, v2}, Ljava/lang/Long;.valueOf:(J)Ljava/lang/Long; // method@056c │ │ -01f946: 0c01 |0023: move-result-object v1 │ │ -01f948: 1212 |0024: const/4 v2, #int 1 // #1 │ │ -01f94a: 2322 ac01 |0025: new-array v2, v2, [Ljava/lang/Object; // type@01ac │ │ -01f94e: 1203 |0027: const/4 v3, #int 0 // #0 │ │ -01f950: 4d01 0203 |0028: aput-object v1, v2, v3 │ │ -01f954: 1401 3200 087f |002a: const v1, #float 1.80776e+38 // #7f080032 │ │ -01f95a: 6e30 3c00 1502 |002d: invoke-virtual {v5, v1, v2}, Landroid/content/Context;.getString:(I[Ljava/lang/Object;)Ljava/lang/String; // method@003c │ │ -01f960: 0c05 |0030: move-result-object v5 │ │ -01f962: 6e20 0901 5000 |0031: invoke-virtual {v0, v5}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@0109 │ │ -01f968: 5445 7e02 |0034: iget-object v5, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$4;.this$0:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter; // field@027e │ │ -01f96c: 7110 d903 0500 |0036: invoke-static {v5}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.access$700:(Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;)Landroid/app/Dialog; // method@03d9 │ │ -01f972: 0c05 |0039: move-result-object v5 │ │ -01f974: 6e10 2200 0500 |003a: invoke-virtual {v5}, Landroid/app/Dialog;.show:()V // method@0022 │ │ -01f97a: 5445 8002 |003d: iget-object v5, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$4;.val$holder:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder; // field@0280 │ │ -01f97e: 5455 8702 |003f: iget-object v5, v5, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.dnsServerConfigEntry:Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry; // field@0287 │ │ -01f982: 2200 e300 |0041: new-instance v0, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult; // type@00e3 │ │ -01f986: 6201 9e02 |0043: sget-object v1, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState;.NOT_STARTED:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState; // field@029e │ │ -01f98a: 7020 2104 1000 |0045: invoke-direct {v0, v1}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult;.:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState;)V // method@0421 │ │ -01f990: 6e20 5704 0500 |0048: invoke-virtual {v5, v0}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.setTestResult:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult;)V // method@0457 │ │ -01f996: 5445 7e02 |004b: iget-object v5, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$4;.this$0:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter; // field@027e │ │ -01f99a: 6e10 ea03 0500 |004d: invoke-virtual {v5}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.notifyDataSetChanged:()V // method@03ea │ │ -01f9a0: 0e00 |0050: return-void │ │ +01f8ec: |[01f8ec] dnsfilter.android.dnsserverconfig.widget.DNSListAdapter$4.onClick:(Landroid/view/View;)V │ │ +01f8fc: 5440 7e02 |0000: iget-object v0, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$4;.this$0:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter; // field@027e │ │ +01f900: 7110 d703 0000 |0002: invoke-static {v0}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.access$500:(Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;)Landroid/widget/ImageView; // method@03d7 │ │ +01f906: 0c00 |0005: move-result-object v0 │ │ +01f908: 1401 1a00 047f |0006: const v1, #float 1.75459e+38 // #7f04001a │ │ +01f90e: 6e20 ed00 1000 |0009: invoke-virtual {v0, v1}, Landroid/widget/ImageView;.setImageResource:(I)V // method@00ed │ │ +01f914: 5440 7e02 |000c: iget-object v0, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$4;.this$0:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter; // field@027e │ │ +01f918: 7110 d803 0000 |000e: invoke-static {v0}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.access$600:(Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;)Landroid/widget/TextView; // method@03d8 │ │ +01f91e: 0c00 |0011: move-result-object v0 │ │ +01f920: 6e10 ad00 0500 |0012: invoke-virtual {v5}, Landroid/view/View;.getContext:()Landroid/content/Context; // method@00ad │ │ +01f926: 0c05 |0015: move-result-object v5 │ │ +01f928: 5441 7f02 |0016: iget-object v1, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$4;.val$entry:Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry; // field@027f │ │ +01f92c: 6e10 4f04 0100 |0018: invoke-virtual {v1}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.getTestResult:()Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult; // method@044f │ │ +01f932: 0c01 |001b: move-result-object v1 │ │ +01f934: 6e10 2804 0100 |001c: invoke-virtual {v1}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult;.getPerf:()J // method@0428 │ │ +01f93a: 0b01 |001f: move-result-wide v1 │ │ +01f93c: 7120 6c05 2100 |0020: invoke-static {v1, v2}, Ljava/lang/Long;.valueOf:(J)Ljava/lang/Long; // method@056c │ │ +01f942: 0c01 |0023: move-result-object v1 │ │ +01f944: 1212 |0024: const/4 v2, #int 1 // #1 │ │ +01f946: 2322 ac01 |0025: new-array v2, v2, [Ljava/lang/Object; // type@01ac │ │ +01f94a: 1203 |0027: const/4 v3, #int 0 // #0 │ │ +01f94c: 4d01 0203 |0028: aput-object v1, v2, v3 │ │ +01f950: 1401 3200 087f |002a: const v1, #float 1.80776e+38 // #7f080032 │ │ +01f956: 6e30 3c00 1502 |002d: invoke-virtual {v5, v1, v2}, Landroid/content/Context;.getString:(I[Ljava/lang/Object;)Ljava/lang/String; // method@003c │ │ +01f95c: 0c05 |0030: move-result-object v5 │ │ +01f95e: 6e20 0901 5000 |0031: invoke-virtual {v0, v5}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@0109 │ │ +01f964: 5445 7e02 |0034: iget-object v5, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$4;.this$0:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter; // field@027e │ │ +01f968: 7110 d903 0500 |0036: invoke-static {v5}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.access$700:(Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;)Landroid/app/Dialog; // method@03d9 │ │ +01f96e: 0c05 |0039: move-result-object v5 │ │ +01f970: 6e10 2200 0500 |003a: invoke-virtual {v5}, Landroid/app/Dialog;.show:()V // method@0022 │ │ +01f976: 5445 8002 |003d: iget-object v5, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$4;.val$holder:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder; // field@0280 │ │ +01f97a: 5455 8702 |003f: iget-object v5, v5, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.dnsServerConfigEntry:Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry; // field@0287 │ │ +01f97e: 2200 e300 |0041: new-instance v0, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult; // type@00e3 │ │ +01f982: 6201 9e02 |0043: sget-object v1, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState;.NOT_STARTED:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState; // field@029e │ │ +01f986: 7020 2104 1000 |0045: invoke-direct {v0, v1}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult;.:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState;)V // method@0421 │ │ +01f98c: 6e20 5704 0500 |0048: invoke-virtual {v5, v0}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.setTestResult:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult;)V // method@0457 │ │ +01f992: 5445 7e02 |004b: iget-object v5, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$4;.this$0:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter; // field@027e │ │ +01f996: 6e10 ea03 0500 |004d: invoke-virtual {v5}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.notifyDataSetChanged:()V // method@03ea │ │ +01f99c: 0e00 |0050: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=247 │ │ 0x000c line=248 │ │ 0x0034 line=249 │ │ 0x003d line=250 │ │ 0x004b line=251 │ │ @@ -21166,19 +21166,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 │ │ -01f9a4: |[01f9a4] dnsfilter.android.dnsserverconfig.widget.DNSListAdapter$5.:(Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;)V │ │ -01f9b4: 5b01 8102 |0000: iput-object v1, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$5;.this$0:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter; // field@0281 │ │ -01f9b8: 5b02 8202 |0002: iput-object v2, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$5;.val$holder:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder; // field@0282 │ │ -01f9bc: 7010 7305 0000 |0004: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@0573 │ │ -01f9c2: 0e00 |0007: return-void │ │ +01f9a0: |[01f9a0] dnsfilter.android.dnsserverconfig.widget.DNSListAdapter$5.:(Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;)V │ │ +01f9b0: 5b01 8102 |0000: iput-object v1, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$5;.this$0:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter; // field@0281 │ │ +01f9b4: 5b02 8202 |0002: iput-object v2, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$5;.val$holder:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder; // field@0282 │ │ +01f9b8: 7010 7305 0000 |0004: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@0573 │ │ +01f9be: 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; │ │ @@ -21189,23 +21189,23 @@ │ │ type : '(Landroid/view/View;)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 4 │ │ ins : 2 │ │ outs : 3 │ │ insns size : 15 16-bit code units │ │ -01f9c4: |[01f9c4] dnsfilter.android.dnsserverconfig.widget.DNSListAdapter$5.onClick:(Landroid/view/View;)V │ │ -01f9d4: 5423 8102 |0000: iget-object v3, v2, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$5;.this$0:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter; // field@0281 │ │ -01f9d8: 7110 d303 0300 |0002: invoke-static {v3}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.access$000:(Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;)Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView; // method@03d3 │ │ -01f9de: 0c03 |0005: move-result-object v3 │ │ -01f9e0: 5420 8202 |0006: iget-object v0, v2, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$5;.val$holder:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder; // field@0282 │ │ -01f9e4: 5400 8702 |0008: iget-object v0, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.dnsServerConfigEntry:Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry; // field@0287 │ │ -01f9e8: 1201 |000a: const/4 v1, #int 0 // #0 │ │ -01f9ea: 6e30 1e04 0301 |000b: invoke-virtual {v3, v0, v1}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;.showEntry:(Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;Z)V // method@041e │ │ -01f9f0: 0e00 |000e: return-void │ │ +01f9c0: |[01f9c0] dnsfilter.android.dnsserverconfig.widget.DNSListAdapter$5.onClick:(Landroid/view/View;)V │ │ +01f9d0: 5423 8102 |0000: iget-object v3, v2, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$5;.this$0:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter; // field@0281 │ │ +01f9d4: 7110 d303 0300 |0002: invoke-static {v3}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.access$000:(Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;)Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView; // method@03d3 │ │ +01f9da: 0c03 |0005: move-result-object v3 │ │ +01f9dc: 5420 8202 |0006: iget-object v0, v2, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$5;.val$holder:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder; // field@0282 │ │ +01f9e0: 5400 8702 |0008: iget-object v0, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.dnsServerConfigEntry:Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry; // field@0287 │ │ +01f9e4: 1201 |000a: const/4 v1, #int 0 // #0 │ │ +01f9e6: 6e30 1e04 0301 |000b: invoke-virtual {v3, v0, v1}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;.showEntry:(Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;Z)V // method@041e │ │ +01f9ec: 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; │ │ │ │ @@ -21243,38 +21243,38 @@ │ │ type : '()V' │ │ access : 0x10008 (STATIC CONSTRUCTOR) │ │ code - │ │ registers : 3 │ │ ins : 0 │ │ outs : 1 │ │ insns size : 41 16-bit code units │ │ -01f9f4: |[01f9f4] dnsfilter.android.dnsserverconfig.widget.DNSListAdapter$6.:()V │ │ -01fa04: 7100 fb03 0000 |0000: invoke-static {}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState;.values:()[Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState; // method@03fb │ │ -01fa0a: 0c00 |0003: move-result-object v0 │ │ -01fa0c: 2100 |0004: array-length v0, v0 │ │ -01fa0e: 2300 9e01 |0005: new-array v0, v0, [I // type@019e │ │ -01fa12: 6900 8302 |0007: sput-object v0, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$6;.$SwitchMap$dnsfilter$android$dnsserverconfig$widget$DNSServerConfigEntryTestState:[I // field@0283 │ │ -01fa16: 6201 9f02 |0009: sget-object v1, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState;.STARTED:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState; // field@029f │ │ -01fa1a: 6e10 f903 0100 |000b: invoke-virtual {v1}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState;.ordinal:()I // method@03f9 │ │ -01fa20: 0a01 |000e: move-result v1 │ │ -01fa22: 1212 |000f: const/4 v2, #int 1 // #1 │ │ -01fa24: 4b02 0001 |0010: aput v2, v0, v1 │ │ -01fa28: 6200 8302 |0012: sget-object v0, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$6;.$SwitchMap$dnsfilter$android$dnsserverconfig$widget$DNSServerConfigEntryTestState:[I // field@0283 │ │ -01fa2c: 6201 9d02 |0014: sget-object v1, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState;.FAIL:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState; // field@029d │ │ -01fa30: 6e10 f903 0100 |0016: invoke-virtual {v1}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState;.ordinal:()I // method@03f9 │ │ -01fa36: 0a01 |0019: move-result v1 │ │ -01fa38: 1222 |001a: const/4 v2, #int 2 // #2 │ │ -01fa3a: 4b02 0001 |001b: aput v2, v0, v1 │ │ -01fa3e: 6200 8302 |001d: sget-object v0, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$6;.$SwitchMap$dnsfilter$android$dnsserverconfig$widget$DNSServerConfigEntryTestState:[I // field@0283 │ │ -01fa42: 6201 a002 |001f: sget-object v1, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState;.SUCCESS:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState; // field@02a0 │ │ -01fa46: 6e10 f903 0100 |0021: invoke-virtual {v1}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState;.ordinal:()I // method@03f9 │ │ -01fa4c: 0a01 |0024: move-result v1 │ │ -01fa4e: 1232 |0025: const/4 v2, #int 3 // #3 │ │ -01fa50: 4b02 0001 |0026: aput v2, v0, v1 │ │ -01fa54: 0e00 |0028: return-void │ │ +01f9f0: |[01f9f0] dnsfilter.android.dnsserverconfig.widget.DNSListAdapter$6.:()V │ │ +01fa00: 7100 fb03 0000 |0000: invoke-static {}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState;.values:()[Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState; // method@03fb │ │ +01fa06: 0c00 |0003: move-result-object v0 │ │ +01fa08: 2100 |0004: array-length v0, v0 │ │ +01fa0a: 2300 9e01 |0005: new-array v0, v0, [I // type@019e │ │ +01fa0e: 6900 8302 |0007: sput-object v0, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$6;.$SwitchMap$dnsfilter$android$dnsserverconfig$widget$DNSServerConfigEntryTestState:[I // field@0283 │ │ +01fa12: 6201 9f02 |0009: sget-object v1, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState;.STARTED:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState; // field@029f │ │ +01fa16: 6e10 f903 0100 |000b: invoke-virtual {v1}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState;.ordinal:()I // method@03f9 │ │ +01fa1c: 0a01 |000e: move-result v1 │ │ +01fa1e: 1212 |000f: const/4 v2, #int 1 // #1 │ │ +01fa20: 4b02 0001 |0010: aput v2, v0, v1 │ │ +01fa24: 6200 8302 |0012: sget-object v0, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$6;.$SwitchMap$dnsfilter$android$dnsserverconfig$widget$DNSServerConfigEntryTestState:[I // field@0283 │ │ +01fa28: 6201 9d02 |0014: sget-object v1, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState;.FAIL:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState; // field@029d │ │ +01fa2c: 6e10 f903 0100 |0016: invoke-virtual {v1}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState;.ordinal:()I // method@03f9 │ │ +01fa32: 0a01 |0019: move-result v1 │ │ +01fa34: 1222 |001a: const/4 v2, #int 2 // #2 │ │ +01fa36: 4b02 0001 |001b: aput v2, v0, v1 │ │ +01fa3a: 6200 8302 |001d: sget-object v0, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$6;.$SwitchMap$dnsfilter$android$dnsserverconfig$widget$DNSServerConfigEntryTestState:[I // field@0283 │ │ +01fa3e: 6201 a002 |001f: sget-object v1, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState;.SUCCESS:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState; // field@02a0 │ │ +01fa42: 6e10 f903 0100 |0021: invoke-virtual {v1}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState;.ordinal:()I // method@03f9 │ │ +01fa48: 0a01 |0024: move-result v1 │ │ +01fa4a: 1232 |0025: const/4 v2, #int 3 // #3 │ │ +01fa4c: 4b02 0001 |0026: aput v2, v0, v1 │ │ +01fa50: 0e00 |0028: return-void │ │ catches : 3 │ │ 0x0009 - 0x0012 │ │ Ljava/lang/NoSuchFieldError; -> 0x0012 │ │ 0x0012 - 0x001d │ │ Ljava/lang/NoSuchFieldError; -> 0x001d │ │ 0x001d - 0x0028 │ │ Ljava/lang/NoSuchFieldError; -> 0x0028 │ │ @@ -21325,17 +21325,17 @@ │ │ type : '()V' │ │ access : 0x10000 (CONSTRUCTOR) │ │ code - │ │ registers : 1 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 4 16-bit code units │ │ -01fa80: |[01fa80] dnsfilter.android.dnsserverconfig.widget.DNSListAdapter$DNSServerCommentEntryViewHolder.:()V │ │ -01fa90: 7010 7305 0000 |0000: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@0573 │ │ -01fa96: 0e00 |0003: return-void │ │ +01fa7c: |[01fa7c] dnsfilter.android.dnsserverconfig.widget.DNSListAdapter$DNSServerCommentEntryViewHolder.:()V │ │ +01fa8c: 7010 7305 0000 |0000: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@0573 │ │ +01fa92: 0e00 |0003: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=370 │ │ locals : │ │ 0x0000 - 0x0004 reg=0 this Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerCommentEntryViewHolder; │ │ │ │ Virtual methods - │ │ @@ -21417,17 +21417,17 @@ │ │ type : '()V' │ │ access : 0x10000 (CONSTRUCTOR) │ │ code - │ │ registers : 1 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 4 16-bit code units │ │ -01fa98: |[01fa98] dnsfilter.android.dnsserverconfig.widget.DNSListAdapter$DNSServerConfigEntryViewHolder.:()V │ │ -01faa8: 7010 7305 0000 |0000: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@0573 │ │ -01faae: 0e00 |0003: return-void │ │ +01fa94: |[01fa94] dnsfilter.android.dnsserverconfig.widget.DNSListAdapter$DNSServerConfigEntryViewHolder.:()V │ │ +01faa4: 7010 7305 0000 |0000: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@0573 │ │ +01faaa: 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;) │ │ @@ -21435,17 +21435,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 │ │ -01fab0: |[01fab0] dnsfilter.android.dnsserverconfig.widget.DNSListAdapter$DNSServerConfigEntryViewHolder.access$100:(Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;)V │ │ -01fac0: 7010 d103 0000 |0000: invoke-direct {v0}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.setupTestButtons:()V // method@03d1 │ │ -01fac6: 0e00 |0003: return-void │ │ +01faac: |[01faac] dnsfilter.android.dnsserverconfig.widget.DNSListAdapter$DNSServerConfigEntryViewHolder.access$100:(Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;)V │ │ +01fabc: 7010 d103 0000 |0000: invoke-direct {v0}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.setupTestButtons:()V // method@03d1 │ │ +01fac2: 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;) │ │ @@ -21453,89 +21453,89 @@ │ │ type : '()V' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 5 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 163 16-bit code units │ │ -01fac8: |[01fac8] dnsfilter.android.dnsserverconfig.widget.DNSListAdapter$DNSServerConfigEntryViewHolder.setupTestButtons:()V │ │ -01fad8: 5440 8702 |0000: iget-object v0, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.dnsServerConfigEntry:Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry; // field@0287 │ │ -01fadc: 6e10 4f04 0000 |0002: invoke-virtual {v0}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.getTestResult:()Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult; // method@044f │ │ -01fae2: 0c00 |0005: move-result-object v0 │ │ -01fae4: 6e10 2904 0000 |0006: invoke-virtual {v0}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult;.getTestState:()Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState; // method@0429 │ │ -01faea: 0c00 |0009: move-result-object v0 │ │ -01faec: 1201 |000a: const/4 v1, #int 0 // #0 │ │ -01faee: 1242 |000b: const/4 v2, #int 4 // #4 │ │ -01faf0: 3900 1c00 |000c: if-nez v0, 0028 // +001c │ │ -01faf4: 5440 8f02 |000e: iget-object v0, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.testEntryButton:Landroid/widget/ImageButton; // field@028f │ │ -01faf8: 6e20 eb00 1000 |0010: invoke-virtual {v0, v1}, Landroid/widget/ImageButton;.setVisibility:(I)V // method@00eb │ │ -01fafe: 5440 9002 |0013: iget-object v0, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.testEntryProgressBar:Landroid/widget/ImageButton; // field@0290 │ │ -01fb02: 6e10 e900 0000 |0015: invoke-virtual {v0}, Landroid/widget/ImageButton;.clearAnimation:()V // method@00e9 │ │ -01fb08: 5440 9002 |0018: iget-object v0, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.testEntryProgressBar:Landroid/widget/ImageButton; // field@0290 │ │ -01fb0c: 6e20 eb00 2000 |001a: invoke-virtual {v0, v2}, Landroid/widget/ImageButton;.setVisibility:(I)V // method@00eb │ │ -01fb12: 5440 9202 |001d: iget-object v0, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.testEntryResultSuccess:Landroid/widget/ImageButton; // field@0292 │ │ -01fb16: 6e20 eb00 2000 |001f: invoke-virtual {v0, v2}, Landroid/widget/ImageButton;.setVisibility:(I)V // method@00eb │ │ -01fb1c: 5440 9102 |0022: iget-object v0, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.testEntryResultFailure:Landroid/widget/ImageButton; // field@0291 │ │ -01fb20: 6e20 eb00 2000 |0024: invoke-virtual {v0, v2}, Landroid/widget/ImageButton;.setVisibility:(I)V // method@00eb │ │ -01fb26: 0e00 |0027: return-void │ │ -01fb28: 6203 8302 |0028: sget-object v3, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$6;.$SwitchMap$dnsfilter$android$dnsserverconfig$widget$DNSServerConfigEntryTestState:[I // field@0283 │ │ -01fb2c: 6e10 f903 0000 |002a: invoke-virtual {v0}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState;.ordinal:()I // method@03f9 │ │ -01fb32: 0a00 |002d: move-result v0 │ │ -01fb34: 4400 0300 |002e: aget v0, v3, v0 │ │ -01fb38: 1213 |0030: const/4 v3, #int 1 // #1 │ │ -01fb3a: 3230 5600 |0031: if-eq v0, v3, 0087 // +0056 │ │ -01fb3e: 1223 |0033: const/4 v3, #int 2 // #2 │ │ -01fb40: 3230 3900 |0034: if-eq v0, v3, 006d // +0039 │ │ -01fb44: 1233 |0036: const/4 v3, #int 3 // #3 │ │ -01fb46: 3230 1c00 |0037: if-eq v0, v3, 0053 // +001c │ │ -01fb4a: 5440 8f02 |0039: iget-object v0, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.testEntryButton:Landroid/widget/ImageButton; // field@028f │ │ -01fb4e: 6e20 eb00 1000 |003b: invoke-virtual {v0, v1}, Landroid/widget/ImageButton;.setVisibility:(I)V // method@00eb │ │ -01fb54: 5440 9002 |003e: iget-object v0, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.testEntryProgressBar:Landroid/widget/ImageButton; // field@0290 │ │ -01fb58: 6e10 e900 0000 |0040: invoke-virtual {v0}, Landroid/widget/ImageButton;.clearAnimation:()V // method@00e9 │ │ -01fb5e: 5440 9002 |0043: iget-object v0, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.testEntryProgressBar:Landroid/widget/ImageButton; // field@0290 │ │ -01fb62: 6e20 eb00 2000 |0045: invoke-virtual {v0, v2}, Landroid/widget/ImageButton;.setVisibility:(I)V // method@00eb │ │ -01fb68: 5440 9202 |0048: iget-object v0, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.testEntryResultSuccess:Landroid/widget/ImageButton; // field@0292 │ │ -01fb6c: 6e20 eb00 2000 |004a: invoke-virtual {v0, v2}, Landroid/widget/ImageButton;.setVisibility:(I)V // method@00eb │ │ -01fb72: 5440 9102 |004d: iget-object v0, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.testEntryResultFailure:Landroid/widget/ImageButton; // field@0291 │ │ -01fb76: 6e20 eb00 2000 |004f: invoke-virtual {v0, v2}, Landroid/widget/ImageButton;.setVisibility:(I)V // method@00eb │ │ -01fb7c: 2850 |0052: goto 00a2 // +0050 │ │ -01fb7e: 5440 8f02 |0053: iget-object v0, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.testEntryButton:Landroid/widget/ImageButton; // field@028f │ │ -01fb82: 6e20 eb00 2000 |0055: invoke-virtual {v0, v2}, Landroid/widget/ImageButton;.setVisibility:(I)V // method@00eb │ │ -01fb88: 5440 9002 |0058: iget-object v0, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.testEntryProgressBar:Landroid/widget/ImageButton; // field@0290 │ │ -01fb8c: 6e10 e900 0000 |005a: invoke-virtual {v0}, Landroid/widget/ImageButton;.clearAnimation:()V // method@00e9 │ │ -01fb92: 5440 9002 |005d: iget-object v0, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.testEntryProgressBar:Landroid/widget/ImageButton; // field@0290 │ │ -01fb96: 6e20 eb00 2000 |005f: invoke-virtual {v0, v2}, Landroid/widget/ImageButton;.setVisibility:(I)V // method@00eb │ │ -01fb9c: 5440 9202 |0062: iget-object v0, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.testEntryResultSuccess:Landroid/widget/ImageButton; // field@0292 │ │ -01fba0: 6e20 eb00 1000 |0064: invoke-virtual {v0, v1}, Landroid/widget/ImageButton;.setVisibility:(I)V // method@00eb │ │ -01fba6: 5440 9102 |0067: iget-object v0, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.testEntryResultFailure:Landroid/widget/ImageButton; // field@0291 │ │ -01fbaa: 6e20 eb00 2000 |0069: invoke-virtual {v0, v2}, Landroid/widget/ImageButton;.setVisibility:(I)V // method@00eb │ │ -01fbb0: 2836 |006c: goto 00a2 // +0036 │ │ -01fbb2: 5440 8f02 |006d: iget-object v0, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.testEntryButton:Landroid/widget/ImageButton; // field@028f │ │ -01fbb6: 6e20 eb00 2000 |006f: invoke-virtual {v0, v2}, Landroid/widget/ImageButton;.setVisibility:(I)V // method@00eb │ │ -01fbbc: 5440 9002 |0072: iget-object v0, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.testEntryProgressBar:Landroid/widget/ImageButton; // field@0290 │ │ -01fbc0: 6e10 e900 0000 |0074: invoke-virtual {v0}, Landroid/widget/ImageButton;.clearAnimation:()V // method@00e9 │ │ -01fbc6: 5440 9002 |0077: iget-object v0, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.testEntryProgressBar:Landroid/widget/ImageButton; // field@0290 │ │ -01fbca: 6e20 eb00 2000 |0079: invoke-virtual {v0, v2}, Landroid/widget/ImageButton;.setVisibility:(I)V // method@00eb │ │ -01fbd0: 5440 9202 |007c: iget-object v0, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.testEntryResultSuccess:Landroid/widget/ImageButton; // field@0292 │ │ -01fbd4: 6e20 eb00 2000 |007e: invoke-virtual {v0, v2}, Landroid/widget/ImageButton;.setVisibility:(I)V // method@00eb │ │ -01fbda: 5440 9102 |0081: iget-object v0, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.testEntryResultFailure:Landroid/widget/ImageButton; // field@0291 │ │ -01fbde: 6e20 eb00 1000 |0083: invoke-virtual {v0, v1}, Landroid/widget/ImageButton;.setVisibility:(I)V // method@00eb │ │ -01fbe4: 281c |0086: goto 00a2 // +001c │ │ -01fbe6: 5440 8f02 |0087: iget-object v0, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.testEntryButton:Landroid/widget/ImageButton; // field@028f │ │ -01fbea: 6e20 eb00 2000 |0089: invoke-virtual {v0, v2}, Landroid/widget/ImageButton;.setVisibility:(I)V // method@00eb │ │ -01fbf0: 5440 9002 |008c: iget-object v0, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.testEntryProgressBar:Landroid/widget/ImageButton; // field@0290 │ │ -01fbf4: 5443 8c02 |008e: iget-object v3, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.progressBarAnim:Landroid/view/animation/Animation; // field@028c │ │ -01fbf8: 6e20 ec00 3000 |0090: invoke-virtual {v0, v3}, Landroid/widget/ImageButton;.startAnimation:(Landroid/view/animation/Animation;)V // method@00ec │ │ -01fbfe: 5440 9002 |0093: iget-object v0, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.testEntryProgressBar:Landroid/widget/ImageButton; // field@0290 │ │ -01fc02: 6e20 eb00 1000 |0095: invoke-virtual {v0, v1}, Landroid/widget/ImageButton;.setVisibility:(I)V // method@00eb │ │ -01fc08: 5440 9202 |0098: iget-object v0, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.testEntryResultSuccess:Landroid/widget/ImageButton; // field@0292 │ │ -01fc0c: 6e20 eb00 2000 |009a: invoke-virtual {v0, v2}, Landroid/widget/ImageButton;.setVisibility:(I)V // method@00eb │ │ -01fc12: 5440 9102 |009d: iget-object v0, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.testEntryResultFailure:Landroid/widget/ImageButton; // field@0291 │ │ -01fc16: 6e20 eb00 2000 |009f: invoke-virtual {v0, v2}, Landroid/widget/ImageButton;.setVisibility:(I)V // method@00eb │ │ -01fc1c: 0e00 |00a2: return-void │ │ +01fac4: |[01fac4] dnsfilter.android.dnsserverconfig.widget.DNSListAdapter$DNSServerConfigEntryViewHolder.setupTestButtons:()V │ │ +01fad4: 5440 8702 |0000: iget-object v0, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.dnsServerConfigEntry:Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry; // field@0287 │ │ +01fad8: 6e10 4f04 0000 |0002: invoke-virtual {v0}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.getTestResult:()Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult; // method@044f │ │ +01fade: 0c00 |0005: move-result-object v0 │ │ +01fae0: 6e10 2904 0000 |0006: invoke-virtual {v0}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult;.getTestState:()Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState; // method@0429 │ │ +01fae6: 0c00 |0009: move-result-object v0 │ │ +01fae8: 1201 |000a: const/4 v1, #int 0 // #0 │ │ +01faea: 1242 |000b: const/4 v2, #int 4 // #4 │ │ +01faec: 3900 1c00 |000c: if-nez v0, 0028 // +001c │ │ +01faf0: 5440 8f02 |000e: iget-object v0, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.testEntryButton:Landroid/widget/ImageButton; // field@028f │ │ +01faf4: 6e20 eb00 1000 |0010: invoke-virtual {v0, v1}, Landroid/widget/ImageButton;.setVisibility:(I)V // method@00eb │ │ +01fafa: 5440 9002 |0013: iget-object v0, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.testEntryProgressBar:Landroid/widget/ImageButton; // field@0290 │ │ +01fafe: 6e10 e900 0000 |0015: invoke-virtual {v0}, Landroid/widget/ImageButton;.clearAnimation:()V // method@00e9 │ │ +01fb04: 5440 9002 |0018: iget-object v0, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.testEntryProgressBar:Landroid/widget/ImageButton; // field@0290 │ │ +01fb08: 6e20 eb00 2000 |001a: invoke-virtual {v0, v2}, Landroid/widget/ImageButton;.setVisibility:(I)V // method@00eb │ │ +01fb0e: 5440 9202 |001d: iget-object v0, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.testEntryResultSuccess:Landroid/widget/ImageButton; // field@0292 │ │ +01fb12: 6e20 eb00 2000 |001f: invoke-virtual {v0, v2}, Landroid/widget/ImageButton;.setVisibility:(I)V // method@00eb │ │ +01fb18: 5440 9102 |0022: iget-object v0, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.testEntryResultFailure:Landroid/widget/ImageButton; // field@0291 │ │ +01fb1c: 6e20 eb00 2000 |0024: invoke-virtual {v0, v2}, Landroid/widget/ImageButton;.setVisibility:(I)V // method@00eb │ │ +01fb22: 0e00 |0027: return-void │ │ +01fb24: 6203 8302 |0028: sget-object v3, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$6;.$SwitchMap$dnsfilter$android$dnsserverconfig$widget$DNSServerConfigEntryTestState:[I // field@0283 │ │ +01fb28: 6e10 f903 0000 |002a: invoke-virtual {v0}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState;.ordinal:()I // method@03f9 │ │ +01fb2e: 0a00 |002d: move-result v0 │ │ +01fb30: 4400 0300 |002e: aget v0, v3, v0 │ │ +01fb34: 1213 |0030: const/4 v3, #int 1 // #1 │ │ +01fb36: 3230 5600 |0031: if-eq v0, v3, 0087 // +0056 │ │ +01fb3a: 1223 |0033: const/4 v3, #int 2 // #2 │ │ +01fb3c: 3230 3900 |0034: if-eq v0, v3, 006d // +0039 │ │ +01fb40: 1233 |0036: const/4 v3, #int 3 // #3 │ │ +01fb42: 3230 1c00 |0037: if-eq v0, v3, 0053 // +001c │ │ +01fb46: 5440 8f02 |0039: iget-object v0, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.testEntryButton:Landroid/widget/ImageButton; // field@028f │ │ +01fb4a: 6e20 eb00 1000 |003b: invoke-virtual {v0, v1}, Landroid/widget/ImageButton;.setVisibility:(I)V // method@00eb │ │ +01fb50: 5440 9002 |003e: iget-object v0, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.testEntryProgressBar:Landroid/widget/ImageButton; // field@0290 │ │ +01fb54: 6e10 e900 0000 |0040: invoke-virtual {v0}, Landroid/widget/ImageButton;.clearAnimation:()V // method@00e9 │ │ +01fb5a: 5440 9002 |0043: iget-object v0, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.testEntryProgressBar:Landroid/widget/ImageButton; // field@0290 │ │ +01fb5e: 6e20 eb00 2000 |0045: invoke-virtual {v0, v2}, Landroid/widget/ImageButton;.setVisibility:(I)V // method@00eb │ │ +01fb64: 5440 9202 |0048: iget-object v0, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.testEntryResultSuccess:Landroid/widget/ImageButton; // field@0292 │ │ +01fb68: 6e20 eb00 2000 |004a: invoke-virtual {v0, v2}, Landroid/widget/ImageButton;.setVisibility:(I)V // method@00eb │ │ +01fb6e: 5440 9102 |004d: iget-object v0, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.testEntryResultFailure:Landroid/widget/ImageButton; // field@0291 │ │ +01fb72: 6e20 eb00 2000 |004f: invoke-virtual {v0, v2}, Landroid/widget/ImageButton;.setVisibility:(I)V // method@00eb │ │ +01fb78: 2850 |0052: goto 00a2 // +0050 │ │ +01fb7a: 5440 8f02 |0053: iget-object v0, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.testEntryButton:Landroid/widget/ImageButton; // field@028f │ │ +01fb7e: 6e20 eb00 2000 |0055: invoke-virtual {v0, v2}, Landroid/widget/ImageButton;.setVisibility:(I)V // method@00eb │ │ +01fb84: 5440 9002 |0058: iget-object v0, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.testEntryProgressBar:Landroid/widget/ImageButton; // field@0290 │ │ +01fb88: 6e10 e900 0000 |005a: invoke-virtual {v0}, Landroid/widget/ImageButton;.clearAnimation:()V // method@00e9 │ │ +01fb8e: 5440 9002 |005d: iget-object v0, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.testEntryProgressBar:Landroid/widget/ImageButton; // field@0290 │ │ +01fb92: 6e20 eb00 2000 |005f: invoke-virtual {v0, v2}, Landroid/widget/ImageButton;.setVisibility:(I)V // method@00eb │ │ +01fb98: 5440 9202 |0062: iget-object v0, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.testEntryResultSuccess:Landroid/widget/ImageButton; // field@0292 │ │ +01fb9c: 6e20 eb00 1000 |0064: invoke-virtual {v0, v1}, Landroid/widget/ImageButton;.setVisibility:(I)V // method@00eb │ │ +01fba2: 5440 9102 |0067: iget-object v0, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.testEntryResultFailure:Landroid/widget/ImageButton; // field@0291 │ │ +01fba6: 6e20 eb00 2000 |0069: invoke-virtual {v0, v2}, Landroid/widget/ImageButton;.setVisibility:(I)V // method@00eb │ │ +01fbac: 2836 |006c: goto 00a2 // +0036 │ │ +01fbae: 5440 8f02 |006d: iget-object v0, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.testEntryButton:Landroid/widget/ImageButton; // field@028f │ │ +01fbb2: 6e20 eb00 2000 |006f: invoke-virtual {v0, v2}, Landroid/widget/ImageButton;.setVisibility:(I)V // method@00eb │ │ +01fbb8: 5440 9002 |0072: iget-object v0, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.testEntryProgressBar:Landroid/widget/ImageButton; // field@0290 │ │ +01fbbc: 6e10 e900 0000 |0074: invoke-virtual {v0}, Landroid/widget/ImageButton;.clearAnimation:()V // method@00e9 │ │ +01fbc2: 5440 9002 |0077: iget-object v0, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.testEntryProgressBar:Landroid/widget/ImageButton; // field@0290 │ │ +01fbc6: 6e20 eb00 2000 |0079: invoke-virtual {v0, v2}, Landroid/widget/ImageButton;.setVisibility:(I)V // method@00eb │ │ +01fbcc: 5440 9202 |007c: iget-object v0, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.testEntryResultSuccess:Landroid/widget/ImageButton; // field@0292 │ │ +01fbd0: 6e20 eb00 2000 |007e: invoke-virtual {v0, v2}, Landroid/widget/ImageButton;.setVisibility:(I)V // method@00eb │ │ +01fbd6: 5440 9102 |0081: iget-object v0, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.testEntryResultFailure:Landroid/widget/ImageButton; // field@0291 │ │ +01fbda: 6e20 eb00 1000 |0083: invoke-virtual {v0, v1}, Landroid/widget/ImageButton;.setVisibility:(I)V // method@00eb │ │ +01fbe0: 281c |0086: goto 00a2 // +001c │ │ +01fbe2: 5440 8f02 |0087: iget-object v0, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.testEntryButton:Landroid/widget/ImageButton; // field@028f │ │ +01fbe6: 6e20 eb00 2000 |0089: invoke-virtual {v0, v2}, Landroid/widget/ImageButton;.setVisibility:(I)V // method@00eb │ │ +01fbec: 5440 9002 |008c: iget-object v0, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.testEntryProgressBar:Landroid/widget/ImageButton; // field@0290 │ │ +01fbf0: 5443 8c02 |008e: iget-object v3, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.progressBarAnim:Landroid/view/animation/Animation; // field@028c │ │ +01fbf4: 6e20 ec00 3000 |0090: invoke-virtual {v0, v3}, Landroid/widget/ImageButton;.startAnimation:(Landroid/view/animation/Animation;)V // method@00ec │ │ +01fbfa: 5440 9002 |0093: iget-object v0, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.testEntryProgressBar:Landroid/widget/ImageButton; // field@0290 │ │ +01fbfe: 6e20 eb00 1000 |0095: invoke-virtual {v0, v1}, Landroid/widget/ImageButton;.setVisibility:(I)V // method@00eb │ │ +01fc04: 5440 9202 |0098: iget-object v0, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.testEntryResultSuccess:Landroid/widget/ImageButton; // field@0292 │ │ +01fc08: 6e20 eb00 2000 |009a: invoke-virtual {v0, v2}, Landroid/widget/ImageButton;.setVisibility:(I)V // method@00eb │ │ +01fc0e: 5440 9102 |009d: iget-object v0, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.testEntryResultFailure:Landroid/widget/ImageButton; // field@0291 │ │ +01fc12: 6e20 eb00 2000 |009f: invoke-virtual {v0, v2}, Landroid/widget/ImageButton;.setVisibility:(I)V // method@00eb │ │ +01fc18: 0e00 |00a2: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=328 │ │ 0x000e line=330 │ │ 0x0013 line=331 │ │ 0x0018 line=332 │ │ 0x001d line=333 │ │ @@ -21594,17 +21594,17 @@ │ │ type : '()V' │ │ access : 0x10001 (PUBLIC CONSTRUCTOR) │ │ code - │ │ registers : 1 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 4 16-bit code units │ │ -0205b8: |[0205b8] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigEntrySerializer.:()V │ │ -0205c8: 7010 7305 0000 |0000: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@0573 │ │ -0205ce: 0e00 |0003: return-void │ │ +0205b4: |[0205b4] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigEntrySerializer.:()V │ │ +0205c4: 7010 7305 0000 |0000: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@0573 │ │ +0205ca: 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;) │ │ @@ -21612,138 +21612,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 │ │ -02035c: |[02035c] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigEntrySerializer.deserializeImpl:(Ljava/lang/String;)Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigBaseEntry; │ │ -02036c: 380f df00 |0000: if-eqz v15, 00df // +00df │ │ -020370: 6e10 9105 0f00 |0002: invoke-virtual {v15}, Ljava/lang/String;.isEmpty:()Z // method@0591 │ │ -020376: 0a00 |0005: move-result v0 │ │ -020378: 3800 0400 |0006: if-eqz v0, 000a // +0004 │ │ -02037c: 2900 d700 |0008: goto/16 00df // +00d7 │ │ -020380: 1a00 3000 |000a: const-string v0, "#" // string@0030 │ │ -020384: 6e20 9905 0f00 |000c: invoke-virtual {v15, v0}, Ljava/lang/String;.startsWith:(Ljava/lang/String;)Z // method@0599 │ │ -02038a: 0a01 |000f: move-result v1 │ │ -02038c: 1a02 0000 |0010: const-string v2, "" // string@0000 │ │ -020390: 3801 0c00 |0012: if-eqz v1, 001e // +000c │ │ -020394: 2201 e700 |0014: new-instance v1, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigCommentedEntry; // type@00e7 │ │ -020398: 6e30 9605 0f02 |0016: invoke-virtual {v15, v0, v2}, Ljava/lang/String;.replaceFirst:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@0596 │ │ -02039e: 0c0f |0019: move-result-object v15 │ │ -0203a0: 7020 3904 f100 |001a: invoke-direct {v1, v15}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigCommentedEntry;.:(Ljava/lang/String;)V // method@0439 │ │ -0203a6: 1101 |001d: return-object v1 │ │ -0203a8: 1a00 b10b |001e: const-string v0, "~" // string@0bb1 │ │ -0203ac: 6e20 9905 0f00 |0020: invoke-virtual {v15, v0}, Ljava/lang/String;.startsWith:(Ljava/lang/String;)Z // method@0599 │ │ -0203b2: 0a01 |0023: move-result v1 │ │ -0203b4: 1213 |0024: const/4 v3, #int 1 // #1 │ │ -0203b6: b731 |0025: xor-int/2addr v1, v3 │ │ -0203b8: 3901 0600 |0026: if-nez v1, 002c // +0006 │ │ -0203bc: 6e30 9605 0f02 |0028: invoke-virtual {v15, v0, v2}, Ljava/lang/String;.replaceFirst:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@0596 │ │ -0203c2: 0c0f |002b: move-result-object v15 │ │ -0203c4: 7020 f503 fe00 |002c: invoke-direct {v14, v15}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntrySerializer;.getIPwithoutBracer:(Ljava/lang/String;)Ljava/lang/String; // method@03f5 │ │ -0203ca: 0c00 |002f: move-result-object v0 │ │ -0203cc: 1242 |0030: const/4 v2, #int 4 // #4 │ │ -0203ce: 1a04 8500 |0031: const-string v4, "::" // string@0085 │ │ -0203d2: 1205 |0033: const/4 v5, #int 0 // #0 │ │ -0203d4: 3900 0700 |0034: if-nez v0, 003b // +0007 │ │ -0203d8: 6e30 9805 4f02 |0036: invoke-virtual {v15, v4, v2}, Ljava/lang/String;.split:(Ljava/lang/String;I)[Ljava/lang/String; // method@0598 │ │ -0203de: 0c0f |0039: move-result-object v15 │ │ -0203e0: 2822 |003a: goto 005c // +0022 │ │ -0203e2: 1a06 0e05 |003b: const-string v6, "]" // string@050e │ │ -0203e6: 6e20 9005 6f00 |003d: invoke-virtual {v15, v6}, Ljava/lang/String;.indexOf:(Ljava/lang/String;)I // method@0590 │ │ -0203ec: 0a06 |0040: move-result v6 │ │ -0203ee: 6e20 9a05 6f00 |0041: invoke-virtual {v15, v6}, Ljava/lang/String;.substring:(I)Ljava/lang/String; // method@059a │ │ -0203f4: 0c0f |0044: move-result-object v15 │ │ -0203f6: 6e20 9705 4f00 |0045: invoke-virtual {v15, v4}, Ljava/lang/String;.split:(Ljava/lang/String;)[Ljava/lang/String; // method@0597 │ │ -0203fc: 0c0f |0048: move-result-object v15 │ │ -0203fe: 21f6 |0049: array-length v6, v15 │ │ -020400: 3736 0e00 |004a: if-le v6, v3, 0058 // +000e │ │ -020404: 21f6 |004c: array-length v6, v15 │ │ -020406: 2366 ad01 |004d: new-array v6, v6, [Ljava/lang/String; // type@01ad │ │ -02040a: 4d00 0605 |004f: aput-object v0, v6, v5 │ │ -02040e: 21f0 |0051: array-length v0, v15 │ │ -020410: b130 |0052: sub-int/2addr v0, v3 │ │ -020412: 7150 b005 3f36 |0053: invoke-static {v15, v3, v6, v3, v0}, Ljava/lang/System;.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V // method@05b0 │ │ -020418: 076f |0056: move-object v15, v6 │ │ -02041a: 2805 |0057: goto 005c // +0005 │ │ -02041c: 233f ad01 |0058: new-array v15, v3, [Ljava/lang/String; // type@01ad │ │ -020420: 4d00 0f05 |005a: aput-object v0, v15, v5 │ │ -020424: 21f0 |005c: array-length v0, v15 │ │ -020426: 3330 0b00 |005d: if-ne v0, v3, 0068 // +000b │ │ -02042a: 2200 e800 |005f: new-instance v0, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry; // type@00e8 │ │ -02042e: 460f 0f05 |0061: aget-object v15, v15, v5 │ │ -020432: 7030 4404 f001 |0063: invoke-direct {v0, v15, v1}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.:(Ljava/lang/String;Z)V // method@0444 │ │ -020438: 2900 7800 |0066: goto/16 00de // +0078 │ │ -02043c: 21f0 |0068: array-length v0, v15 │ │ -02043e: 1226 |0069: const/4 v6, #int 2 // #2 │ │ -020440: 3360 0c00 |006a: if-ne v0, v6, 0076 // +000c │ │ -020444: 2200 e800 |006c: new-instance v0, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry; // type@00e8 │ │ -020448: 4602 0f05 |006e: aget-object v2, v15, v5 │ │ -02044c: 460f 0f03 |0070: aget-object v15, v15, v3 │ │ -020450: 7040 4304 201f |0072: invoke-direct {v0, v2, v15, v1}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.:(Ljava/lang/String;Ljava/lang/String;Z)V // method@0443 │ │ -020456: 2869 |0075: goto 00de // +0069 │ │ -020458: 21f0 |0076: array-length v0, v15 │ │ -02045a: 1237 |0077: const/4 v7, #int 3 // #3 │ │ -02045c: 3370 1600 |0078: if-ne v0, v7, 008e // +0016 │ │ -020460: 2200 e800 |007a: new-instance v0, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry; // type@00e8 │ │ -020464: 4602 0f05 |007c: aget-object v2, v15, v5 │ │ -020468: 4603 0f03 |007e: aget-object v3, v15, v3 │ │ -02046c: 460f 0f06 |0080: aget-object v15, v15, v6 │ │ -020470: 6e10 9e05 0f00 |0082: invoke-virtual {v15}, Ljava/lang/String;.toUpperCase:()Ljava/lang/String; // method@059e │ │ -020476: 0c0f |0085: move-result-object v15 │ │ -020478: 7110 3304 0f00 |0086: invoke-static {v15}, Ldnsfilter/android/dnsserverconfig/widget/DNSType;.valueOf:(Ljava/lang/String;)Ldnsfilter/android/dnsserverconfig/widget/DNSType; // method@0433 │ │ -02047e: 0c0f |0089: move-result-object v15 │ │ -020480: 7051 4204 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@0442 │ │ -020486: 2851 |008d: goto 00de // +0051 │ │ -020488: 21f0 |008e: array-length v0, v15 │ │ -02048a: 3320 1d00 |008f: if-ne v0, v2, 00ac // +001d │ │ -02048e: 2200 e800 |0091: new-instance v0, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry; // type@00e8 │ │ -020492: 4609 0f05 |0093: aget-object v9, v15, v5 │ │ -020496: 460a 0f03 |0095: aget-object v10, v15, v3 │ │ -02049a: 4602 0f06 |0097: aget-object v2, v15, v6 │ │ -02049e: 6e10 9e05 0200 |0099: invoke-virtual {v2}, Ljava/lang/String;.toUpperCase:()Ljava/lang/String; // method@059e │ │ -0204a4: 0c02 |009c: move-result-object v2 │ │ -0204a6: 7110 3304 0200 |009d: invoke-static {v2}, Ldnsfilter/android/dnsserverconfig/widget/DNSType;.valueOf:(Ljava/lang/String;)Ldnsfilter/android/dnsserverconfig/widget/DNSType; // method@0433 │ │ -0204ac: 0c0b |00a0: move-result-object v11 │ │ -0204ae: 460c 0f07 |00a1: aget-object v12, v15, v7 │ │ -0204b2: 7110 4d05 0100 |00a3: invoke-static {v1}, Ljava/lang/Boolean;.valueOf:(Z)Ljava/lang/Boolean; // method@054d │ │ -0204b8: 0c0d |00a6: move-result-object v13 │ │ -0204ba: 0708 |00a7: move-object v8, v0 │ │ -0204bc: 7606 4104 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@0441 │ │ -0204c2: 2833 |00ab: goto 00de // +0033 │ │ -0204c4: 2200 e800 |00ac: new-instance v0, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry; // type@00e8 │ │ -0204c8: 4605 0f05 |00ae: aget-object v5, v15, v5 │ │ -0204cc: 4603 0f03 |00b0: aget-object v3, v15, v3 │ │ -0204d0: 4606 0f06 |00b2: aget-object v6, v15, v6 │ │ -0204d4: 6e10 9e05 0600 |00b4: invoke-virtual {v6}, Ljava/lang/String;.toUpperCase:()Ljava/lang/String; // method@059e │ │ -0204da: 0c06 |00b7: move-result-object v6 │ │ -0204dc: 7110 3304 0600 |00b8: invoke-static {v6}, Ldnsfilter/android/dnsserverconfig/widget/DNSType;.valueOf:(Ljava/lang/String;)Ldnsfilter/android/dnsserverconfig/widget/DNSType; // method@0433 │ │ -0204e2: 0c06 |00bb: move-result-object v6 │ │ -0204e4: 2208 2d01 |00bc: new-instance v8, Ljava/lang/StringBuilder; // type@012d │ │ -0204e8: 7010 a705 0800 |00be: invoke-direct {v8}, Ljava/lang/StringBuilder;.:()V // method@05a7 │ │ -0204ee: 4607 0f07 |00c1: aget-object v7, v15, v7 │ │ -0204f2: 6e20 ad05 7800 |00c3: invoke-virtual {v8, v7}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -0204f8: 6e20 ad05 4800 |00c6: invoke-virtual {v8, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -0204fe: 460f 0f02 |00c9: aget-object v15, v15, v2 │ │ -020502: 6e20 ad05 f800 |00cb: invoke-virtual {v8, v15}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -020508: 6e10 af05 0800 |00ce: invoke-virtual {v8}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ -02050e: 0c0f |00d1: move-result-object v15 │ │ -020510: 7110 4d05 0100 |00d2: invoke-static {v1}, Ljava/lang/Boolean;.valueOf:(Z)Ljava/lang/Boolean; // method@054d │ │ -020516: 0c07 |00d5: move-result-object v7 │ │ -020518: 0701 |00d6: move-object v1, v0 │ │ -02051a: 0752 |00d7: move-object v2, v5 │ │ -02051c: 0764 |00d8: move-object v4, v6 │ │ -02051e: 07f5 |00d9: move-object v5, v15 │ │ -020520: 0776 |00da: move-object v6, v7 │ │ -020522: 7606 4104 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@0441 │ │ -020528: 1100 |00de: return-object v0 │ │ -02052a: 220f e800 |00df: new-instance v15, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry; // type@00e8 │ │ -02052e: 7010 4004 0f00 |00e1: invoke-direct {v15}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.:()V // method@0440 │ │ -020534: 110f |00e4: return-object v15 │ │ +020358: |[020358] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigEntrySerializer.deserializeImpl:(Ljava/lang/String;)Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigBaseEntry; │ │ +020368: 380f df00 |0000: if-eqz v15, 00df // +00df │ │ +02036c: 6e10 9105 0f00 |0002: invoke-virtual {v15}, Ljava/lang/String;.isEmpty:()Z // method@0591 │ │ +020372: 0a00 |0005: move-result v0 │ │ +020374: 3800 0400 |0006: if-eqz v0, 000a // +0004 │ │ +020378: 2900 d700 |0008: goto/16 00df // +00d7 │ │ +02037c: 1a00 3000 |000a: const-string v0, "#" // string@0030 │ │ +020380: 6e20 9905 0f00 |000c: invoke-virtual {v15, v0}, Ljava/lang/String;.startsWith:(Ljava/lang/String;)Z // method@0599 │ │ +020386: 0a01 |000f: move-result v1 │ │ +020388: 1a02 0000 |0010: const-string v2, "" // string@0000 │ │ +02038c: 3801 0c00 |0012: if-eqz v1, 001e // +000c │ │ +020390: 2201 e700 |0014: new-instance v1, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigCommentedEntry; // type@00e7 │ │ +020394: 6e30 9605 0f02 |0016: invoke-virtual {v15, v0, v2}, Ljava/lang/String;.replaceFirst:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@0596 │ │ +02039a: 0c0f |0019: move-result-object v15 │ │ +02039c: 7020 3904 f100 |001a: invoke-direct {v1, v15}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigCommentedEntry;.:(Ljava/lang/String;)V // method@0439 │ │ +0203a2: 1101 |001d: return-object v1 │ │ +0203a4: 1a00 b10b |001e: const-string v0, "~" // string@0bb1 │ │ +0203a8: 6e20 9905 0f00 |0020: invoke-virtual {v15, v0}, Ljava/lang/String;.startsWith:(Ljava/lang/String;)Z // method@0599 │ │ +0203ae: 0a01 |0023: move-result v1 │ │ +0203b0: 1213 |0024: const/4 v3, #int 1 // #1 │ │ +0203b2: b731 |0025: xor-int/2addr v1, v3 │ │ +0203b4: 3901 0600 |0026: if-nez v1, 002c // +0006 │ │ +0203b8: 6e30 9605 0f02 |0028: invoke-virtual {v15, v0, v2}, Ljava/lang/String;.replaceFirst:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@0596 │ │ +0203be: 0c0f |002b: move-result-object v15 │ │ +0203c0: 7020 f503 fe00 |002c: invoke-direct {v14, v15}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntrySerializer;.getIPwithoutBracer:(Ljava/lang/String;)Ljava/lang/String; // method@03f5 │ │ +0203c6: 0c00 |002f: move-result-object v0 │ │ +0203c8: 1242 |0030: const/4 v2, #int 4 // #4 │ │ +0203ca: 1a04 8500 |0031: const-string v4, "::" // string@0085 │ │ +0203ce: 1205 |0033: const/4 v5, #int 0 // #0 │ │ +0203d0: 3900 0700 |0034: if-nez v0, 003b // +0007 │ │ +0203d4: 6e30 9805 4f02 |0036: invoke-virtual {v15, v4, v2}, Ljava/lang/String;.split:(Ljava/lang/String;I)[Ljava/lang/String; // method@0598 │ │ +0203da: 0c0f |0039: move-result-object v15 │ │ +0203dc: 2822 |003a: goto 005c // +0022 │ │ +0203de: 1a06 0e05 |003b: const-string v6, "]" // string@050e │ │ +0203e2: 6e20 9005 6f00 |003d: invoke-virtual {v15, v6}, Ljava/lang/String;.indexOf:(Ljava/lang/String;)I // method@0590 │ │ +0203e8: 0a06 |0040: move-result v6 │ │ +0203ea: 6e20 9a05 6f00 |0041: invoke-virtual {v15, v6}, Ljava/lang/String;.substring:(I)Ljava/lang/String; // method@059a │ │ +0203f0: 0c0f |0044: move-result-object v15 │ │ +0203f2: 6e20 9705 4f00 |0045: invoke-virtual {v15, v4}, Ljava/lang/String;.split:(Ljava/lang/String;)[Ljava/lang/String; // method@0597 │ │ +0203f8: 0c0f |0048: move-result-object v15 │ │ +0203fa: 21f6 |0049: array-length v6, v15 │ │ +0203fc: 3736 0e00 |004a: if-le v6, v3, 0058 // +000e │ │ +020400: 21f6 |004c: array-length v6, v15 │ │ +020402: 2366 ad01 |004d: new-array v6, v6, [Ljava/lang/String; // type@01ad │ │ +020406: 4d00 0605 |004f: aput-object v0, v6, v5 │ │ +02040a: 21f0 |0051: array-length v0, v15 │ │ +02040c: b130 |0052: sub-int/2addr v0, v3 │ │ +02040e: 7150 b005 3f36 |0053: invoke-static {v15, v3, v6, v3, v0}, Ljava/lang/System;.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V // method@05b0 │ │ +020414: 076f |0056: move-object v15, v6 │ │ +020416: 2805 |0057: goto 005c // +0005 │ │ +020418: 233f ad01 |0058: new-array v15, v3, [Ljava/lang/String; // type@01ad │ │ +02041c: 4d00 0f05 |005a: aput-object v0, v15, v5 │ │ +020420: 21f0 |005c: array-length v0, v15 │ │ +020422: 3330 0b00 |005d: if-ne v0, v3, 0068 // +000b │ │ +020426: 2200 e800 |005f: new-instance v0, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry; // type@00e8 │ │ +02042a: 460f 0f05 |0061: aget-object v15, v15, v5 │ │ +02042e: 7030 4404 f001 |0063: invoke-direct {v0, v15, v1}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.:(Ljava/lang/String;Z)V // method@0444 │ │ +020434: 2900 7800 |0066: goto/16 00de // +0078 │ │ +020438: 21f0 |0068: array-length v0, v15 │ │ +02043a: 1226 |0069: const/4 v6, #int 2 // #2 │ │ +02043c: 3360 0c00 |006a: if-ne v0, v6, 0076 // +000c │ │ +020440: 2200 e800 |006c: new-instance v0, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry; // type@00e8 │ │ +020444: 4602 0f05 |006e: aget-object v2, v15, v5 │ │ +020448: 460f 0f03 |0070: aget-object v15, v15, v3 │ │ +02044c: 7040 4304 201f |0072: invoke-direct {v0, v2, v15, v1}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.:(Ljava/lang/String;Ljava/lang/String;Z)V // method@0443 │ │ +020452: 2869 |0075: goto 00de // +0069 │ │ +020454: 21f0 |0076: array-length v0, v15 │ │ +020456: 1237 |0077: const/4 v7, #int 3 // #3 │ │ +020458: 3370 1600 |0078: if-ne v0, v7, 008e // +0016 │ │ +02045c: 2200 e800 |007a: new-instance v0, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry; // type@00e8 │ │ +020460: 4602 0f05 |007c: aget-object v2, v15, v5 │ │ +020464: 4603 0f03 |007e: aget-object v3, v15, v3 │ │ +020468: 460f 0f06 |0080: aget-object v15, v15, v6 │ │ +02046c: 6e10 9e05 0f00 |0082: invoke-virtual {v15}, Ljava/lang/String;.toUpperCase:()Ljava/lang/String; // method@059e │ │ +020472: 0c0f |0085: move-result-object v15 │ │ +020474: 7110 3304 0f00 |0086: invoke-static {v15}, Ldnsfilter/android/dnsserverconfig/widget/DNSType;.valueOf:(Ljava/lang/String;)Ldnsfilter/android/dnsserverconfig/widget/DNSType; // method@0433 │ │ +02047a: 0c0f |0089: move-result-object v15 │ │ +02047c: 7051 4204 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@0442 │ │ +020482: 2851 |008d: goto 00de // +0051 │ │ +020484: 21f0 |008e: array-length v0, v15 │ │ +020486: 3320 1d00 |008f: if-ne v0, v2, 00ac // +001d │ │ +02048a: 2200 e800 |0091: new-instance v0, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry; // type@00e8 │ │ +02048e: 4609 0f05 |0093: aget-object v9, v15, v5 │ │ +020492: 460a 0f03 |0095: aget-object v10, v15, v3 │ │ +020496: 4602 0f06 |0097: aget-object v2, v15, v6 │ │ +02049a: 6e10 9e05 0200 |0099: invoke-virtual {v2}, Ljava/lang/String;.toUpperCase:()Ljava/lang/String; // method@059e │ │ +0204a0: 0c02 |009c: move-result-object v2 │ │ +0204a2: 7110 3304 0200 |009d: invoke-static {v2}, Ldnsfilter/android/dnsserverconfig/widget/DNSType;.valueOf:(Ljava/lang/String;)Ldnsfilter/android/dnsserverconfig/widget/DNSType; // method@0433 │ │ +0204a8: 0c0b |00a0: move-result-object v11 │ │ +0204aa: 460c 0f07 |00a1: aget-object v12, v15, v7 │ │ +0204ae: 7110 4d05 0100 |00a3: invoke-static {v1}, Ljava/lang/Boolean;.valueOf:(Z)Ljava/lang/Boolean; // method@054d │ │ +0204b4: 0c0d |00a6: move-result-object v13 │ │ +0204b6: 0708 |00a7: move-object v8, v0 │ │ +0204b8: 7606 4104 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@0441 │ │ +0204be: 2833 |00ab: goto 00de // +0033 │ │ +0204c0: 2200 e800 |00ac: new-instance v0, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry; // type@00e8 │ │ +0204c4: 4605 0f05 |00ae: aget-object v5, v15, v5 │ │ +0204c8: 4603 0f03 |00b0: aget-object v3, v15, v3 │ │ +0204cc: 4606 0f06 |00b2: aget-object v6, v15, v6 │ │ +0204d0: 6e10 9e05 0600 |00b4: invoke-virtual {v6}, Ljava/lang/String;.toUpperCase:()Ljava/lang/String; // method@059e │ │ +0204d6: 0c06 |00b7: move-result-object v6 │ │ +0204d8: 7110 3304 0600 |00b8: invoke-static {v6}, Ldnsfilter/android/dnsserverconfig/widget/DNSType;.valueOf:(Ljava/lang/String;)Ldnsfilter/android/dnsserverconfig/widget/DNSType; // method@0433 │ │ +0204de: 0c06 |00bb: move-result-object v6 │ │ +0204e0: 2208 2d01 |00bc: new-instance v8, Ljava/lang/StringBuilder; // type@012d │ │ +0204e4: 7010 a705 0800 |00be: invoke-direct {v8}, Ljava/lang/StringBuilder;.:()V // method@05a7 │ │ +0204ea: 4607 0f07 |00c1: aget-object v7, v15, v7 │ │ +0204ee: 6e20 ad05 7800 |00c3: invoke-virtual {v8, v7}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +0204f4: 6e20 ad05 4800 |00c6: invoke-virtual {v8, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +0204fa: 460f 0f02 |00c9: aget-object v15, v15, v2 │ │ +0204fe: 6e20 ad05 f800 |00cb: invoke-virtual {v8, v15}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +020504: 6e10 af05 0800 |00ce: invoke-virtual {v8}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ +02050a: 0c0f |00d1: move-result-object v15 │ │ +02050c: 7110 4d05 0100 |00d2: invoke-static {v1}, Ljava/lang/Boolean;.valueOf:(Z)Ljava/lang/Boolean; // method@054d │ │ +020512: 0c07 |00d5: move-result-object v7 │ │ +020514: 0701 |00d6: move-object v1, v0 │ │ +020516: 0752 |00d7: move-object v2, v5 │ │ +020518: 0764 |00d8: move-object v4, v6 │ │ +02051a: 07f5 |00d9: move-object v5, v15 │ │ +02051c: 0776 |00da: move-object v6, v7 │ │ +02051e: 7606 4104 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@0441 │ │ +020524: 1100 |00de: return-object v0 │ │ +020526: 220f e800 |00df: new-instance v15, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry; // type@00e8 │ │ +02052a: 7010 4004 0f00 |00e1: invoke-direct {v15}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.:()V // method@0440 │ │ +020530: 110f |00e4: return-object v15 │ │ catches : (none) │ │ positions : │ │ 0x0002 line=20 │ │ 0x000a line=24 │ │ 0x0014 line=25 │ │ 0x001e line=29 │ │ 0x0028 line=31 │ │ @@ -21777,30 +21777,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 │ │ -020570: |[020570] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigEntrySerializer.getIPwithoutBracer:(Ljava/lang/String;)Ljava/lang/String; │ │ -020580: 1a00 f004 |0000: const-string v0, "[" // string@04f0 │ │ -020584: 6e20 8905 0300 |0002: invoke-virtual {v3, v0}, Ljava/lang/String;.contains:(Ljava/lang/CharSequence;)Z // method@0589 │ │ -02058a: 0a01 |0005: move-result v1 │ │ -02058c: 3801 1300 |0006: if-eqz v1, 0019 // +0013 │ │ -020590: 6e20 9005 0300 |0008: invoke-virtual {v3, v0}, Ljava/lang/String;.indexOf:(Ljava/lang/String;)I // method@0590 │ │ -020596: 0a00 |000b: move-result v0 │ │ -020598: 1a01 0e05 |000c: const-string v1, "]" // string@050e │ │ -02059c: 6e20 9005 1300 |000e: invoke-virtual {v3, v1}, Ljava/lang/String;.indexOf:(Ljava/lang/String;)I // method@0590 │ │ -0205a2: 0a01 |0011: move-result v1 │ │ -0205a4: d800 0001 |0012: add-int/lit8 v0, v0, #int 1 // #01 │ │ -0205a8: 6e30 9b05 0301 |0014: invoke-virtual {v3, v0, v1}, Ljava/lang/String;.substring:(II)Ljava/lang/String; // method@059b │ │ -0205ae: 0c03 |0017: move-result-object v3 │ │ -0205b0: 1103 |0018: return-object v3 │ │ -0205b2: 1203 |0019: const/4 v3, #int 0 // #0 │ │ -0205b4: 1103 |001a: return-object v3 │ │ +02056c: |[02056c] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigEntrySerializer.getIPwithoutBracer:(Ljava/lang/String;)Ljava/lang/String; │ │ +02057c: 1a00 f004 |0000: const-string v0, "[" // string@04f0 │ │ +020580: 6e20 8905 0300 |0002: invoke-virtual {v3, v0}, Ljava/lang/String;.contains:(Ljava/lang/CharSequence;)Z // method@0589 │ │ +020586: 0a01 |0005: move-result v1 │ │ +020588: 3801 1300 |0006: if-eqz v1, 0019 // +0013 │ │ +02058c: 6e20 9005 0300 |0008: invoke-virtual {v3, v0}, Ljava/lang/String;.indexOf:(Ljava/lang/String;)I // method@0590 │ │ +020592: 0a00 |000b: move-result v0 │ │ +020594: 1a01 0e05 |000c: const-string v1, "]" // string@050e │ │ +020598: 6e20 9005 1300 |000e: invoke-virtual {v3, v1}, Ljava/lang/String;.indexOf:(Ljava/lang/String;)I // method@0590 │ │ +02059e: 0a01 |0011: move-result v1 │ │ +0205a0: d800 0001 |0012: add-int/lit8 v0, v0, #int 1 // #01 │ │ +0205a4: 6e30 9b05 0301 |0014: invoke-virtual {v3, v0, v1}, Ljava/lang/String;.substring:(II)Ljava/lang/String; // method@059b │ │ +0205aa: 0c03 |0017: move-result-object v3 │ │ +0205ac: 1103 |0018: return-object v3 │ │ +0205ae: 1203 |0019: const/4 v3, #int 0 // #0 │ │ +0205b0: 1103 |001a: return-object v3 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=90 │ │ 0x0008 line=91 │ │ 0x000c line=92 │ │ 0x0014 line=93 │ │ locals : │ │ @@ -21813,27 +21813,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 │ │ -020308: |[020308] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigEntrySerializer.deserialize:(Ljava/lang/String;)Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigBaseEntry; │ │ -020318: 7020 f303 4300 |0000: invoke-direct {v3, v4}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntrySerializer;.deserializeImpl:(Ljava/lang/String;)Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigBaseEntry; // method@03f3 │ │ -02031e: 0c04 |0003: move-result-object v4 │ │ -020320: 1104 |0004: return-object v4 │ │ -020322: 2200 e500 |0005: new-instance v0, Ldnsfilter/android/dnsserverconfig/widget/NotDeserializableException; // type@00e5 │ │ -020326: 2201 2d01 |0007: new-instance v1, Ljava/lang/StringBuilder; // type@012d │ │ -02032a: 1a02 f503 |0009: const-string v2, "Not possibly to deserialize " // string@03f5 │ │ -02032e: 7020 a805 2100 |000b: invoke-direct {v1, v2}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05a8 │ │ -020334: 6e20 ad05 4100 |000e: invoke-virtual {v1, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -02033a: 6e10 af05 0100 |0011: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ -020340: 0c04 |0014: move-result-object v4 │ │ -020342: 7020 3604 4000 |0015: invoke-direct {v0, v4}, Ldnsfilter/android/dnsserverconfig/widget/NotDeserializableException;.:(Ljava/lang/String;)V // method@0436 │ │ -020348: 2700 |0018: throw v0 │ │ +020304: |[020304] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigEntrySerializer.deserialize:(Ljava/lang/String;)Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigBaseEntry; │ │ +020314: 7020 f303 4300 |0000: invoke-direct {v3, v4}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntrySerializer;.deserializeImpl:(Ljava/lang/String;)Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigBaseEntry; // method@03f3 │ │ +02031a: 0c04 |0003: move-result-object v4 │ │ +02031c: 1104 |0004: return-object v4 │ │ +02031e: 2200 e500 |0005: new-instance v0, Ldnsfilter/android/dnsserverconfig/widget/NotDeserializableException; // type@00e5 │ │ +020322: 2201 2d01 |0007: new-instance v1, Ljava/lang/StringBuilder; // type@012d │ │ +020326: 1a02 f503 |0009: const-string v2, "Not possibly to deserialize " // string@03f5 │ │ +02032a: 7020 a805 2100 |000b: invoke-direct {v1, v2}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05a8 │ │ +020330: 6e20 ad05 4100 |000e: invoke-virtual {v1, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +020336: 6e10 af05 0100 |0011: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ +02033c: 0c04 |0014: move-result-object v4 │ │ +02033e: 7020 3604 4000 |0015: invoke-direct {v0, v4}, Ldnsfilter/android/dnsserverconfig/widget/NotDeserializableException;.:(Ljava/lang/String;)V // method@0436 │ │ +020344: 2700 |0018: throw v0 │ │ catches : 1 │ │ 0x0000 - 0x0004 │ │ Ljava/lang/RuntimeException; -> 0x0005 │ │ positions : │ │ 0x0000 line=81 │ │ 0x0005 line=83 │ │ locals : │ │ @@ -21845,21 +21845,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 │ │ -020538: |[020538] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigEntrySerializer.deserializeSafe:(Ljava/lang/String;)Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigBaseEntry; │ │ -020548: 7020 f303 1000 |0000: invoke-direct {v0, v1}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntrySerializer;.deserializeImpl:(Ljava/lang/String;)Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigBaseEntry; // method@03f3 │ │ -02054e: 0c01 |0003: move-result-object v1 │ │ -020550: 2806 |0004: goto 000a // +0006 │ │ -020552: 2201 e800 |0005: new-instance v1, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry; // type@00e8 │ │ -020556: 7010 4004 0100 |0007: invoke-direct {v1}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.:()V // method@0440 │ │ -02055c: 1101 |000a: return-object v1 │ │ +020534: |[020534] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigEntrySerializer.deserializeSafe:(Ljava/lang/String;)Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigBaseEntry; │ │ +020544: 7020 f303 1000 |0000: invoke-direct {v0, v1}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntrySerializer;.deserializeImpl:(Ljava/lang/String;)Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigBaseEntry; // method@03f3 │ │ +02054a: 0c01 |0003: move-result-object v1 │ │ +02054c: 2806 |0004: goto 000a // +0006 │ │ +02054e: 2201 e800 |0005: new-instance v1, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry; // type@00e8 │ │ +020552: 7010 4004 0100 |0007: invoke-direct {v1}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.:()V // method@0440 │ │ +020558: 1101 |000a: return-object v1 │ │ catches : 1 │ │ 0x0000 - 0x0004 │ │ Ljava/lang/RuntimeException; -> 0x0005 │ │ positions : │ │ 0x0000 line=70 │ │ 0x0005 line=72 │ │ locals : │ │ @@ -21917,69 +21917,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 │ │ -0205f4: |[0205f4] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigEntryTestState.$values:()[Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState; │ │ -020604: 1240 |0000: const/4 v0, #int 4 // #4 │ │ -020606: 2300 a601 |0001: new-array v0, v0, [Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState; // type@01a6 │ │ -02060a: 6201 9d02 |0003: sget-object v1, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState;.FAIL:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState; // field@029d │ │ -02060e: 1202 |0005: const/4 v2, #int 0 // #0 │ │ -020610: 4d01 0002 |0006: aput-object v1, v0, v2 │ │ -020614: 6201 9e02 |0008: sget-object v1, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState;.NOT_STARTED:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState; // field@029e │ │ -020618: 1212 |000a: const/4 v2, #int 1 // #1 │ │ -02061a: 4d01 0002 |000b: aput-object v1, v0, v2 │ │ -02061e: 6201 9f02 |000d: sget-object v1, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState;.STARTED:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState; // field@029f │ │ -020622: 1222 |000f: const/4 v2, #int 2 // #2 │ │ -020624: 4d01 0002 |0010: aput-object v1, v0, v2 │ │ -020628: 6201 a002 |0012: sget-object v1, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState;.SUCCESS:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState; // field@02a0 │ │ -02062c: 1232 |0014: const/4 v2, #int 3 // #3 │ │ -02062e: 4d01 0002 |0015: aput-object v1, v0, v2 │ │ -020632: 1100 |0017: return-object v0 │ │ +0205f0: |[0205f0] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigEntryTestState.$values:()[Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState; │ │ +020600: 1240 |0000: const/4 v0, #int 4 // #4 │ │ +020602: 2300 a601 |0001: new-array v0, v0, [Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState; // type@01a6 │ │ +020606: 6201 9d02 |0003: sget-object v1, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState;.FAIL:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState; // field@029d │ │ +02060a: 1202 |0005: const/4 v2, #int 0 // #0 │ │ +02060c: 4d01 0002 |0006: aput-object v1, v0, v2 │ │ +020610: 6201 9e02 |0008: sget-object v1, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState;.NOT_STARTED:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState; // field@029e │ │ +020614: 1212 |000a: const/4 v2, #int 1 // #1 │ │ +020616: 4d01 0002 |000b: aput-object v1, v0, v2 │ │ +02061a: 6201 9f02 |000d: sget-object v1, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState;.STARTED:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState; // field@029f │ │ +02061e: 1222 |000f: const/4 v2, #int 2 // #2 │ │ +020620: 4d01 0002 |0010: aput-object v1, v0, v2 │ │ +020624: 6201 a002 |0012: sget-object v1, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState;.SUCCESS:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState; // field@02a0 │ │ +020628: 1232 |0014: const/4 v2, #int 3 // #3 │ │ +02062a: 4d01 0002 |0015: aput-object v1, v0, v2 │ │ +02062e: 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 │ │ -020658: |[020658] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigEntryTestState.:()V │ │ -020668: 2200 d900 |0000: new-instance v0, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState; // type@00d9 │ │ -02066c: 1a01 9801 |0002: const-string v1, "FAIL" // string@0198 │ │ -020670: 1202 |0004: const/4 v2, #int 0 // #0 │ │ -020672: 7030 f803 1002 |0005: invoke-direct {v0, v1, v2}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState;.:(Ljava/lang/String;I)V // method@03f8 │ │ -020678: 6900 9d02 |0008: sput-object v0, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState;.FAIL:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState; // field@029d │ │ -02067c: 2200 d900 |000a: new-instance v0, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState; // type@00d9 │ │ -020680: 1a01 e403 |000c: const-string v1, "NOT_STARTED" // string@03e4 │ │ -020684: 1212 |000e: const/4 v2, #int 1 // #1 │ │ -020686: 7030 f803 1002 |000f: invoke-direct {v0, v1, v2}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState;.:(Ljava/lang/String;I)V // method@03f8 │ │ -02068c: 6900 9e02 |0012: sput-object v0, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState;.NOT_STARTED:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState; // field@029e │ │ -020690: 2200 d900 |0014: new-instance v0, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState; // type@00d9 │ │ -020694: 1a01 5504 |0016: const-string v1, "STARTED" // string@0455 │ │ -020698: 1222 |0018: const/4 v2, #int 2 // #2 │ │ -02069a: 7030 f803 1002 |0019: invoke-direct {v0, v1, v2}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState;.:(Ljava/lang/String;I)V // method@03f8 │ │ -0206a0: 6900 9f02 |001c: sput-object v0, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState;.STARTED:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState; // field@029f │ │ -0206a4: 2200 d900 |001e: new-instance v0, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState; // type@00d9 │ │ -0206a8: 1a01 5804 |0020: const-string v1, "SUCCESS" // string@0458 │ │ -0206ac: 1232 |0022: const/4 v2, #int 3 // #3 │ │ -0206ae: 7030 f803 1002 |0023: invoke-direct {v0, v1, v2}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState;.:(Ljava/lang/String;I)V // method@03f8 │ │ -0206b4: 6900 a002 |0026: sput-object v0, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState;.SUCCESS:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState; // field@02a0 │ │ -0206b8: 7100 f603 0000 |0028: invoke-static {}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState;.$values:()[Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState; // method@03f6 │ │ -0206be: 0c00 |002b: move-result-object v0 │ │ -0206c0: 6900 9c02 |002c: sput-object v0, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState;.$VALUES:[Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState; // field@029c │ │ -0206c4: 0e00 |002e: return-void │ │ +020654: |[020654] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigEntryTestState.:()V │ │ +020664: 2200 d900 |0000: new-instance v0, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState; // type@00d9 │ │ +020668: 1a01 9801 |0002: const-string v1, "FAIL" // string@0198 │ │ +02066c: 1202 |0004: const/4 v2, #int 0 // #0 │ │ +02066e: 7030 f803 1002 |0005: invoke-direct {v0, v1, v2}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState;.:(Ljava/lang/String;I)V // method@03f8 │ │ +020674: 6900 9d02 |0008: sput-object v0, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState;.FAIL:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState; // field@029d │ │ +020678: 2200 d900 |000a: new-instance v0, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState; // type@00d9 │ │ +02067c: 1a01 e403 |000c: const-string v1, "NOT_STARTED" // string@03e4 │ │ +020680: 1212 |000e: const/4 v2, #int 1 // #1 │ │ +020682: 7030 f803 1002 |000f: invoke-direct {v0, v1, v2}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState;.:(Ljava/lang/String;I)V // method@03f8 │ │ +020688: 6900 9e02 |0012: sput-object v0, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState;.NOT_STARTED:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState; // field@029e │ │ +02068c: 2200 d900 |0014: new-instance v0, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState; // type@00d9 │ │ +020690: 1a01 5504 |0016: const-string v1, "STARTED" // string@0455 │ │ +020694: 1222 |0018: const/4 v2, #int 2 // #2 │ │ +020696: 7030 f803 1002 |0019: invoke-direct {v0, v1, v2}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState;.:(Ljava/lang/String;I)V // method@03f8 │ │ +02069c: 6900 9f02 |001c: sput-object v0, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState;.STARTED:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState; // field@029f │ │ +0206a0: 2200 d900 |001e: new-instance v0, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState; // type@00d9 │ │ +0206a4: 1a01 5804 |0020: const-string v1, "SUCCESS" // string@0458 │ │ +0206a8: 1232 |0022: const/4 v2, #int 3 // #3 │ │ +0206aa: 7030 f803 1002 |0023: invoke-direct {v0, v1, v2}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState;.:(Ljava/lang/String;I)V // method@03f8 │ │ +0206b0: 6900 a002 |0026: sput-object v0, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState;.SUCCESS:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState; // field@02a0 │ │ +0206b4: 7100 f603 0000 |0028: invoke-static {}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState;.$values:()[Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState; // method@03f6 │ │ +0206ba: 0c00 |002b: move-result-object v0 │ │ +0206bc: 6900 9c02 |002c: sput-object v0, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState;.$VALUES:[Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState; // field@029c │ │ +0206c0: 0e00 |002e: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=4 │ │ 0x000a line=5 │ │ 0x0014 line=6 │ │ 0x001e line=7 │ │ 0x0028 line=3 │ │ @@ -21990,17 +21990,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 │ │ -0206c8: |[0206c8] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigEntryTestState.:(Ljava/lang/String;I)V │ │ -0206d8: 7030 5705 1002 |0000: invoke-direct {v0, v1, v2}, Ljava/lang/Enum;.:(Ljava/lang/String;I)V // method@0557 │ │ -0206de: 0e00 |0003: return-void │ │ +0206c4: |[0206c4] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigEntryTestState.:(Ljava/lang/String;I)V │ │ +0206d4: 7030 5705 1002 |0000: invoke-direct {v0, v1, v2}, Ljava/lang/Enum;.:(Ljava/lang/String;I)V // method@0557 │ │ +0206da: 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 │ │ @@ -22010,20 +22010,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 │ │ -0205d0: |[0205d0] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigEntryTestState.valueOf:(Ljava/lang/String;)Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState; │ │ -0205e0: 1c00 d900 |0000: const-class v0, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState; // type@00d9 │ │ -0205e4: 7120 5805 1000 |0002: invoke-static {v0, v1}, Ljava/lang/Enum;.valueOf:(Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/Enum; // method@0558 │ │ -0205ea: 0c01 |0005: move-result-object v1 │ │ -0205ec: 1f01 d900 |0006: check-cast v1, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState; // type@00d9 │ │ -0205f0: 1101 |0008: return-object v1 │ │ +0205cc: |[0205cc] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigEntryTestState.valueOf:(Ljava/lang/String;)Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState; │ │ +0205dc: 1c00 d900 |0000: const-class v0, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState; // type@00d9 │ │ +0205e0: 7120 5805 1000 |0002: invoke-static {v0, v1}, Ljava/lang/Enum;.valueOf:(Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/Enum; // method@0558 │ │ +0205e6: 0c01 |0005: move-result-object v1 │ │ +0205e8: 1f01 d900 |0006: check-cast v1, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState; // type@00d9 │ │ +0205ec: 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;) │ │ @@ -22031,20 +22031,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 │ │ -020634: |[020634] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigEntryTestState.values:()[Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState; │ │ -020644: 6200 9c02 |0000: sget-object v0, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState;.$VALUES:[Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState; // field@029c │ │ -020648: 6e10 0408 0000 |0002: invoke-virtual {v0}, [Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState;.clone:()Ljava/lang/Object; // method@0804 │ │ -02064e: 0c00 |0005: move-result-object v0 │ │ -020650: 1f00 a601 |0006: check-cast v0, [Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState; // type@01a6 │ │ -020654: 1100 |0008: return-object v0 │ │ +020630: |[020630] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigEntryTestState.values:()[Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState; │ │ +020640: 6200 9c02 |0000: sget-object v0, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState;.$VALUES:[Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState; // field@029c │ │ +020644: 6e10 0408 0000 |0002: invoke-virtual {v0}, [Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState;.clone:()Ljava/lang/Object; // method@0804 │ │ +02064a: 0c00 |0005: move-result-object v0 │ │ +02064c: 1f00 a601 |0006: check-cast v0, [Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState; // type@01a6 │ │ +020650: 1100 |0008: return-object v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=3 │ │ locals : │ │ │ │ Virtual methods - │ │ source_file_idx : 338 (DNSServerConfigEntryTestState.java) │ │ @@ -22080,20 +22080,20 @@ │ │ type : '()V' │ │ access : 0x10001 (PUBLIC CONSTRUCTOR) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 9 16-bit code units │ │ -0207fc: |[0207fc] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigEntryValidationResult.:()V │ │ -02080c: 7010 7305 0100 |0000: invoke-direct {v1}, Ljava/lang/Object;.:()V // method@0573 │ │ -020812: 1200 |0003: const/4 v0, #int 0 // #0 │ │ -020814: 5b10 a102 |0004: iput-object v0, v1, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult;.ipError:Ljava/lang/String; // field@02a1 │ │ -020818: 5b10 a202 |0006: iput-object v0, v1, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult;.portError:Ljava/lang/String; // field@02a2 │ │ -02081c: 0e00 |0008: return-void │ │ +0207f8: |[0207f8] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigEntryValidationResult.:()V │ │ +020808: 7010 7305 0100 |0000: invoke-direct {v1}, Ljava/lang/Object;.:()V // method@0573 │ │ +02080e: 1200 |0003: const/4 v0, #int 0 // #0 │ │ +020810: 5b10 a102 |0004: iput-object v0, v1, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult;.ipError:Ljava/lang/String; // field@02a1 │ │ +020814: 5b10 a202 |0006: iput-object v0, v1, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult;.portError:Ljava/lang/String; // field@02a2 │ │ +020818: 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; │ │ @@ -22104,52 +22104,52 @@ │ │ type : '(Ljava/lang/Object;)Z' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 6 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 64 16-bit code units │ │ -0206e0: |[0206e0] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigEntryValidationResult.equals:(Ljava/lang/Object;)Z │ │ -0206f0: 1210 |0000: const/4 v0, #int 1 // #1 │ │ -0206f2: 3354 0300 |0001: if-ne v4, v5, 0004 // +0003 │ │ -0206f6: 0f00 |0003: return v0 │ │ -0206f8: 1201 |0004: const/4 v1, #int 0 // #0 │ │ -0206fa: 3805 3a00 |0005: if-eqz v5, 003f // +003a │ │ -0206fe: 6e10 7505 0400 |0007: invoke-virtual {v4}, Ljava/lang/Object;.getClass:()Ljava/lang/Class; // method@0575 │ │ -020704: 0c02 |000a: move-result-object v2 │ │ -020706: 6e10 7505 0500 |000b: invoke-virtual {v5}, Ljava/lang/Object;.getClass:()Ljava/lang/Class; // method@0575 │ │ -02070c: 0c03 |000e: move-result-object v3 │ │ -02070e: 3232 0300 |000f: if-eq v2, v3, 0012 // +0003 │ │ -020712: 282e |0011: goto 003f // +002e │ │ -020714: 1f05 da00 |0012: check-cast v5, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult; // type@00da │ │ -020718: 5442 a102 |0014: iget-object v2, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult;.ipError:Ljava/lang/String; // field@02a1 │ │ -02071c: 3802 0600 |0016: if-eqz v2, 001c // +0006 │ │ -020720: 5443 a202 |0018: iget-object v3, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult;.portError:Ljava/lang/String; // field@02a2 │ │ -020724: 3803 0800 |001a: if-eqz v3, 0022 // +0008 │ │ -020728: 3802 0700 |001c: if-eqz v2, 0023 // +0007 │ │ -02072c: 5443 a202 |001e: iget-object v3, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult;.portError:Ljava/lang/String; // field@02a2 │ │ -020730: 3903 0300 |0020: if-nez v3, 0023 // +0003 │ │ -020734: 0f01 |0022: return v1 │ │ -020736: 3902 0700 |0023: if-nez v2, 002a // +0007 │ │ -02073a: 5443 a202 |0025: iget-object v3, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult;.portError:Ljava/lang/String; // field@02a2 │ │ -02073e: 3903 0300 |0027: if-nez v3, 002a // +0003 │ │ -020742: 0f00 |0029: return v0 │ │ -020744: 5453 a102 |002a: iget-object v3, v5, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult;.ipError:Ljava/lang/String; // field@02a1 │ │ -020748: 6e20 8b05 3200 |002c: invoke-virtual {v2, v3}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058b │ │ -02074e: 0a02 |002f: move-result v2 │ │ -020750: 3802 0d00 |0030: if-eqz v2, 003d // +000d │ │ -020754: 5442 a202 |0032: iget-object v2, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult;.portError:Ljava/lang/String; // field@02a2 │ │ -020758: 5455 a202 |0034: iget-object v5, v5, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult;.portError:Ljava/lang/String; // field@02a2 │ │ -02075c: 6e20 8b05 5200 |0036: invoke-virtual {v2, v5}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058b │ │ -020762: 0a05 |0039: move-result v5 │ │ -020764: 3805 0300 |003a: if-eqz v5, 003d // +0003 │ │ -020768: 2802 |003c: goto 003e // +0002 │ │ -02076a: 1200 |003d: const/4 v0, #int 0 // #0 │ │ -02076c: 0f00 |003e: return v0 │ │ -02076e: 0f01 |003f: return v1 │ │ +0206dc: |[0206dc] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigEntryValidationResult.equals:(Ljava/lang/Object;)Z │ │ +0206ec: 1210 |0000: const/4 v0, #int 1 // #1 │ │ +0206ee: 3354 0300 |0001: if-ne v4, v5, 0004 // +0003 │ │ +0206f2: 0f00 |0003: return v0 │ │ +0206f4: 1201 |0004: const/4 v1, #int 0 // #0 │ │ +0206f6: 3805 3a00 |0005: if-eqz v5, 003f // +003a │ │ +0206fa: 6e10 7505 0400 |0007: invoke-virtual {v4}, Ljava/lang/Object;.getClass:()Ljava/lang/Class; // method@0575 │ │ +020700: 0c02 |000a: move-result-object v2 │ │ +020702: 6e10 7505 0500 |000b: invoke-virtual {v5}, Ljava/lang/Object;.getClass:()Ljava/lang/Class; // method@0575 │ │ +020708: 0c03 |000e: move-result-object v3 │ │ +02070a: 3232 0300 |000f: if-eq v2, v3, 0012 // +0003 │ │ +02070e: 282e |0011: goto 003f // +002e │ │ +020710: 1f05 da00 |0012: check-cast v5, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult; // type@00da │ │ +020714: 5442 a102 |0014: iget-object v2, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult;.ipError:Ljava/lang/String; // field@02a1 │ │ +020718: 3802 0600 |0016: if-eqz v2, 001c // +0006 │ │ +02071c: 5443 a202 |0018: iget-object v3, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult;.portError:Ljava/lang/String; // field@02a2 │ │ +020720: 3803 0800 |001a: if-eqz v3, 0022 // +0008 │ │ +020724: 3802 0700 |001c: if-eqz v2, 0023 // +0007 │ │ +020728: 5443 a202 |001e: iget-object v3, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult;.portError:Ljava/lang/String; // field@02a2 │ │ +02072c: 3903 0300 |0020: if-nez v3, 0023 // +0003 │ │ +020730: 0f01 |0022: return v1 │ │ +020732: 3902 0700 |0023: if-nez v2, 002a // +0007 │ │ +020736: 5443 a202 |0025: iget-object v3, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult;.portError:Ljava/lang/String; // field@02a2 │ │ +02073a: 3903 0300 |0027: if-nez v3, 002a // +0003 │ │ +02073e: 0f00 |0029: return v0 │ │ +020740: 5453 a102 |002a: iget-object v3, v5, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult;.ipError:Ljava/lang/String; // field@02a1 │ │ +020744: 6e20 8b05 3200 |002c: invoke-virtual {v2, v3}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058b │ │ +02074a: 0a02 |002f: move-result v2 │ │ +02074c: 3802 0d00 |0030: if-eqz v2, 003d // +000d │ │ +020750: 5442 a202 |0032: iget-object v2, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult;.portError:Ljava/lang/String; // field@02a2 │ │ +020754: 5455 a202 |0034: iget-object v5, v5, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult;.portError:Ljava/lang/String; // field@02a2 │ │ +020758: 6e20 8b05 5200 |0036: invoke-virtual {v2, v5}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058b │ │ +02075e: 0a05 |0039: move-result v5 │ │ +020760: 3805 0300 |003a: if-eqz v5, 003d // +0003 │ │ +020764: 2802 |003c: goto 003e // +0002 │ │ +020766: 1200 |003d: const/4 v0, #int 0 // #0 │ │ +020768: 0f00 |003e: return v0 │ │ +02076a: 0f01 |003f: return v1 │ │ catches : (none) │ │ positions : │ │ 0x0007 line=35 │ │ 0x0012 line=36 │ │ 0x0014 line=38 │ │ 0x0025 line=40 │ │ 0x002a line=43 │ │ @@ -22162,17 +22162,17 @@ │ │ type : '()Ljava/lang/String;' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 0 │ │ insns size : 3 16-bit code units │ │ -0207cc: |[0207cc] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigEntryValidationResult.getIpError:()Ljava/lang/String; │ │ -0207dc: 5410 a102 |0000: iget-object v0, v1, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult;.ipError:Ljava/lang/String; // field@02a1 │ │ -0207e0: 1100 |0002: return-object v0 │ │ +0207c8: |[0207c8] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigEntryValidationResult.getIpError:()Ljava/lang/String; │ │ +0207d8: 5410 a102 |0000: iget-object v0, v1, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult;.ipError:Ljava/lang/String; // field@02a1 │ │ +0207dc: 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;) │ │ @@ -22180,17 +22180,17 @@ │ │ type : '()Ljava/lang/String;' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 0 │ │ insns size : 3 16-bit code units │ │ -0207e4: |[0207e4] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigEntryValidationResult.getPortError:()Ljava/lang/String; │ │ -0207f4: 5410 a202 |0000: iget-object v0, v1, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult;.portError:Ljava/lang/String; // field@02a2 │ │ -0207f8: 1100 |0002: return-object v0 │ │ +0207e0: |[0207e0] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigEntryValidationResult.getPortError:()Ljava/lang/String; │ │ +0207f0: 5410 a202 |0000: iget-object v0, v1, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult;.portError:Ljava/lang/String; // field@02a2 │ │ +0207f4: 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;) │ │ @@ -22198,24 +22198,24 @@ │ │ type : '()Z' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 0 │ │ insns size : 13 16-bit code units │ │ -020770: |[020770] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigEntryValidationResult.hasError:()Z │ │ -020780: 5410 a102 |0000: iget-object v0, v1, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult;.ipError:Ljava/lang/String; // field@02a1 │ │ -020784: 3900 0900 |0002: if-nez v0, 000b // +0009 │ │ -020788: 5410 a202 |0004: iget-object v0, v1, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult;.portError:Ljava/lang/String; // field@02a2 │ │ -02078c: 3800 0300 |0006: if-eqz v0, 0009 // +0003 │ │ -020790: 2803 |0008: goto 000b // +0003 │ │ -020792: 1200 |0009: const/4 v0, #int 0 // #0 │ │ -020794: 2802 |000a: goto 000c // +0002 │ │ -020796: 1210 |000b: const/4 v0, #int 1 // #1 │ │ -020798: 0f00 |000c: return v0 │ │ +02076c: |[02076c] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigEntryValidationResult.hasError:()Z │ │ +02077c: 5410 a102 |0000: iget-object v0, v1, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult;.ipError:Ljava/lang/String; // field@02a1 │ │ +020780: 3900 0900 |0002: if-nez v0, 000b // +0009 │ │ +020784: 5410 a202 |0004: iget-object v0, v1, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult;.portError:Ljava/lang/String; // field@02a2 │ │ +020788: 3800 0300 |0006: if-eqz v0, 0009 // +0003 │ │ +02078c: 2803 |0008: goto 000b // +0003 │ │ +02078e: 1200 |0009: const/4 v0, #int 0 // #0 │ │ +020790: 2802 |000a: goto 000c // +0002 │ │ +020792: 1210 |000b: const/4 v0, #int 1 // #1 │ │ +020794: 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;) │ │ @@ -22223,24 +22223,24 @@ │ │ type : '()I' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 3 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 16 16-bit code units │ │ -02079c: |[02079c] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigEntryValidationResult.hashCode:()I │ │ -0207ac: 5420 a102 |0000: iget-object v0, v2, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult;.ipError:Ljava/lang/String; // field@02a1 │ │ -0207b0: 6e10 8e05 0000 |0002: invoke-virtual {v0}, Ljava/lang/String;.hashCode:()I // method@058e │ │ -0207b6: 0a00 |0005: move-result v0 │ │ -0207b8: da00 001f |0006: mul-int/lit8 v0, v0, #int 31 // #1f │ │ -0207bc: 5421 a202 |0008: iget-object v1, v2, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult;.portError:Ljava/lang/String; // field@02a2 │ │ -0207c0: 6e10 8e05 0100 |000a: invoke-virtual {v1}, Ljava/lang/String;.hashCode:()I // method@058e │ │ -0207c6: 0a01 |000d: move-result v1 │ │ -0207c8: b010 |000e: add-int/2addr v0, v1 │ │ -0207ca: 0f00 |000f: return v0 │ │ +020798: |[020798] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigEntryValidationResult.hashCode:()I │ │ +0207a8: 5420 a102 |0000: iget-object v0, v2, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult;.ipError:Ljava/lang/String; // field@02a1 │ │ +0207ac: 6e10 8e05 0000 |0002: invoke-virtual {v0}, Ljava/lang/String;.hashCode:()I // method@058e │ │ +0207b2: 0a00 |0005: move-result v0 │ │ +0207b4: da00 001f |0006: mul-int/lit8 v0, v0, #int 31 // #1f │ │ +0207b8: 5421 a202 |0008: iget-object v1, v2, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult;.portError:Ljava/lang/String; // field@02a2 │ │ +0207bc: 6e10 8e05 0100 |000a: invoke-virtual {v1}, Ljava/lang/String;.hashCode:()I // method@058e │ │ +0207c2: 0a01 |000d: move-result v1 │ │ +0207c4: b010 |000e: add-int/2addr v0, v1 │ │ +0207c6: 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;) │ │ @@ -22248,17 +22248,17 @@ │ │ type : '(Ljava/lang/String;)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 2 │ │ outs : 0 │ │ insns size : 3 16-bit code units │ │ -020820: |[020820] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigEntryValidationResult.setIpError:(Ljava/lang/String;)V │ │ -020830: 5b01 a102 |0000: iput-object v1, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult;.ipError:Ljava/lang/String; // field@02a1 │ │ -020834: 0e00 |0002: return-void │ │ +02081c: |[02081c] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigEntryValidationResult.setIpError:(Ljava/lang/String;)V │ │ +02082c: 5b01 a102 |0000: iput-object v1, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult;.ipError:Ljava/lang/String; // field@02a1 │ │ +020830: 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; │ │ │ │ @@ -22267,17 +22267,17 @@ │ │ type : '(Ljava/lang/String;)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 2 │ │ outs : 0 │ │ insns size : 3 16-bit code units │ │ -020838: |[020838] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigEntryValidationResult.setPortError:(Ljava/lang/String;)V │ │ -020848: 5b01 a202 |0000: iput-object v1, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult;.portError:Ljava/lang/String; // field@02a2 │ │ -02084c: 0e00 |0002: return-void │ │ +020834: |[020834] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigEntryValidationResult.setPortError:(Ljava/lang/String;)V │ │ +020844: 5b01 a202 |0000: iput-object v1, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult;.portError:Ljava/lang/String; // field@02a2 │ │ +020848: 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; │ │ │ │ @@ -22320,18 +22320,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 │ │ -020850: |[020850] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigEntryView$1.:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;)V │ │ -020860: 5b01 a302 |0000: iput-object v1, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$1;.this$0:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView; // field@02a3 │ │ -020864: 7010 7305 0000 |0002: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@0573 │ │ -02086a: 0e00 |0005: return-void │ │ +02084c: |[02084c] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigEntryView$1.:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;)V │ │ +02085c: 5b01 a302 |0000: iput-object v1, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$1;.this$0:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView; // field@02a3 │ │ +020860: 7010 7305 0000 |0002: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@0573 │ │ +020866: 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; │ │ │ │ @@ -22341,26 +22341,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 │ │ -02086c: |[02086c] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigEntryView$1.onItemSelected:(Landroid/widget/AdapterView;Landroid/view/View;IJ)V │ │ -02087c: 5401 a302 |0000: iget-object v1, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$1;.this$0:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView; // field@02a3 │ │ -020880: 7110 1504 0100 |0002: invoke-static {v1}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;.access$000:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;)Landroid/widget/EditText; // method@0415 │ │ -020886: 0c01 |0005: move-result-object v1 │ │ -020888: 7100 3404 0000 |0006: invoke-static {}, Ldnsfilter/android/dnsserverconfig/widget/DNSType;.values:()[Ldnsfilter/android/dnsserverconfig/widget/DNSType; // method@0434 │ │ -02088e: 0c02 |0009: move-result-object v2 │ │ -020890: 4602 0203 |000a: aget-object v2, v2, v3 │ │ -020894: 5222 c202 |000c: iget v2, v2, Ldnsfilter/android/dnsserverconfig/widget/DNSType;.defaultPort:I // field@02c2 │ │ -020898: 7110 6705 0200 |000e: invoke-static {v2}, Ljava/lang/Integer;.toString:(I)Ljava/lang/String; // method@0567 │ │ -02089e: 0c02 |0011: move-result-object v2 │ │ -0208a0: 6e20 e600 2100 |0012: invoke-virtual {v1, v2}, Landroid/widget/EditText;.setText:(Ljava/lang/CharSequence;)V // method@00e6 │ │ -0208a6: 0e00 |0015: return-void │ │ +020868: |[020868] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigEntryView$1.onItemSelected:(Landroid/widget/AdapterView;Landroid/view/View;IJ)V │ │ +020878: 5401 a302 |0000: iget-object v1, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$1;.this$0:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView; // field@02a3 │ │ +02087c: 7110 1504 0100 |0002: invoke-static {v1}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;.access$000:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;)Landroid/widget/EditText; // method@0415 │ │ +020882: 0c01 |0005: move-result-object v1 │ │ +020884: 7100 3404 0000 |0006: invoke-static {}, Ldnsfilter/android/dnsserverconfig/widget/DNSType;.values:()[Ldnsfilter/android/dnsserverconfig/widget/DNSType; // method@0434 │ │ +02088a: 0c02 |0009: move-result-object v2 │ │ +02088c: 4602 0203 |000a: aget-object v2, v2, v3 │ │ +020890: 5222 c202 |000c: iget v2, v2, Ldnsfilter/android/dnsserverconfig/widget/DNSType;.defaultPort:I // field@02c2 │ │ +020894: 7110 6705 0200 |000e: invoke-static {v2}, Ljava/lang/Integer;.toString:(I)Ljava/lang/String; // method@0567 │ │ +02089a: 0c02 |0011: move-result-object v2 │ │ +02089c: 6e20 e600 2100 |0012: invoke-virtual {v1, v2}, Landroid/widget/EditText;.setText:(Ljava/lang/CharSequence;)V // method@00e6 │ │ +0208a2: 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; │ │ @@ -22372,16 +22372,16 @@ │ │ type : '(Landroid/widget/AdapterView;)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 2 │ │ outs : 0 │ │ insns size : 1 16-bit code units │ │ -0208a8: |[0208a8] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigEntryView$1.onNothingSelected:(Landroid/widget/AdapterView;)V │ │ -0208b8: 0e00 |0000: return-void │ │ +0208a4: |[0208a4] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigEntryView$1.onNothingSelected:(Landroid/widget/AdapterView;)V │ │ +0208b4: 0e00 |0000: return-void │ │ catches : (none) │ │ positions : │ │ locals : │ │ │ │ source_file_idx : 340 (DNSServerConfigEntryView.java) │ │ │ │ Class #84 header: │ │ @@ -22427,20 +22427,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 │ │ -0208bc: |[0208bc] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigEntryView$2.:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;Z)V │ │ -0208cc: 5b01 a402 |0000: iput-object v1, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$2;.this$0:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView; // field@02a4 │ │ -0208d0: 5b02 a502 |0002: iput-object v2, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$2;.val$entry:Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry; // field@02a5 │ │ -0208d4: 5c03 a602 |0004: iput-boolean v3, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$2;.val$isNew:Z // field@02a6 │ │ -0208d8: 7010 7305 0000 |0006: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@0573 │ │ -0208de: 0e00 |0009: return-void │ │ +0208b8: |[0208b8] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigEntryView$2.:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;Z)V │ │ +0208c8: 5b01 a402 |0000: iput-object v1, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$2;.this$0:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView; // field@02a4 │ │ +0208cc: 5b02 a502 |0002: iput-object v2, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$2;.val$entry:Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry; // field@02a5 │ │ +0208d0: 5c03 a602 |0004: iput-boolean v3, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$2;.val$isNew:Z // field@02a6 │ │ +0208d4: 7010 7305 0000 |0006: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@0573 │ │ +0208da: 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; │ │ @@ -22452,31 +22452,31 @@ │ │ type : '(Landroid/content/DialogInterface;)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 3 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 34 16-bit code units │ │ -0208e0: |[0208e0] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigEntryView$2.onCancel:(Landroid/content/DialogInterface;)V │ │ -0208f0: 5412 a502 |0000: iget-object v2, v1, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$2;.val$entry:Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry; // field@02a5 │ │ -0208f4: 2200 da00 |0002: new-instance v0, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult; // type@00da │ │ -0208f8: 7010 fc03 0000 |0004: invoke-direct {v0}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult;.:()V // method@03fc │ │ -0208fe: 6e20 5804 0200 |0007: invoke-virtual {v2, v0}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.setValidationResult:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult;)V // method@0458 │ │ -020904: 5512 a602 |000a: iget-boolean v2, v1, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$2;.val$isNew:Z // field@02a6 │ │ -020908: 3802 1500 |000c: if-eqz v2, 0021 // +0015 │ │ -02090c: 5412 a402 |000e: iget-object v2, v1, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$2;.this$0:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView; // field@02a4 │ │ -020910: 7110 1604 0200 |0010: invoke-static {v2}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;.access$100:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;)Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$EditEventsListener; // method@0416 │ │ -020916: 0c02 |0013: move-result-object v2 │ │ -020918: 3802 0d00 |0014: if-eqz v2, 0021 // +000d │ │ -02091c: 5412 a402 |0016: iget-object v2, v1, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$2;.this$0:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView; // field@02a4 │ │ -020920: 7110 1604 0200 |0018: invoke-static {v2}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;.access$100:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;)Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$EditEventsListener; // method@0416 │ │ -020926: 0c02 |001b: move-result-object v2 │ │ -020928: 5410 a502 |001c: iget-object v0, v1, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$2;.val$entry:Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry; // field@02a5 │ │ -02092c: 7220 1304 0200 |001e: invoke-interface {v2, v0}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$EditEventsListener;.onNewCancelled:(Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;)V // method@0413 │ │ -020932: 0e00 |0021: return-void │ │ +0208dc: |[0208dc] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigEntryView$2.onCancel:(Landroid/content/DialogInterface;)V │ │ +0208ec: 5412 a502 |0000: iget-object v2, v1, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$2;.val$entry:Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry; // field@02a5 │ │ +0208f0: 2200 da00 |0002: new-instance v0, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult; // type@00da │ │ +0208f4: 7010 fc03 0000 |0004: invoke-direct {v0}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult;.:()V // method@03fc │ │ +0208fa: 6e20 5804 0200 |0007: invoke-virtual {v2, v0}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.setValidationResult:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult;)V // method@0458 │ │ +020900: 5512 a602 |000a: iget-boolean v2, v1, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$2;.val$isNew:Z // field@02a6 │ │ +020904: 3802 1500 |000c: if-eqz v2, 0021 // +0015 │ │ +020908: 5412 a402 |000e: iget-object v2, v1, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$2;.this$0:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView; // field@02a4 │ │ +02090c: 7110 1604 0200 |0010: invoke-static {v2}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;.access$100:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;)Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$EditEventsListener; // method@0416 │ │ +020912: 0c02 |0013: move-result-object v2 │ │ +020914: 3802 0d00 |0014: if-eqz v2, 0021 // +000d │ │ +020918: 5412 a402 |0016: iget-object v2, v1, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$2;.this$0:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView; // field@02a4 │ │ +02091c: 7110 1604 0200 |0018: invoke-static {v2}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;.access$100:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;)Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$EditEventsListener; // method@0416 │ │ +020922: 0c02 |001b: move-result-object v2 │ │ +020924: 5410 a502 |001c: iget-object v0, v1, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$2;.val$entry:Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry; // field@02a5 │ │ +020928: 7220 1304 0200 |001e: invoke-interface {v2, v0}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$EditEventsListener;.onNewCancelled:(Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;)V // method@0413 │ │ +02092e: 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; │ │ @@ -22523,19 +22523,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 │ │ -020934: |[020934] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigEntryView$3.:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;)V │ │ -020944: 5b01 a702 |0000: iput-object v1, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$3;.this$0:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView; // field@02a7 │ │ -020948: 5b02 a802 |0002: iput-object v2, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$3;.val$entry:Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry; // field@02a8 │ │ -02094c: 7010 7305 0000 |0004: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@0573 │ │ -020952: 0e00 |0007: return-void │ │ +020930: |[020930] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigEntryView$3.:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;)V │ │ +020940: 5b01 a702 |0000: iput-object v1, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$3;.this$0:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView; // field@02a7 │ │ +020944: 5b02 a802 |0002: iput-object v2, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$3;.val$entry:Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry; // field@02a8 │ │ +020948: 7010 7305 0000 |0004: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@0573 │ │ +02094e: 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; │ │ @@ -22546,119 +22546,119 @@ │ │ type : '(Landroid/view/View;)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 8 │ │ ins : 2 │ │ outs : 6 │ │ insns size : 213 16-bit code units │ │ -020954: |[020954] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigEntryView$3.onClick:(Landroid/view/View;)V │ │ -020964: 2207 e800 |0000: new-instance v7, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry; // type@00e8 │ │ -020968: 5460 a702 |0002: iget-object v0, v6, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$3;.this$0:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView; // field@02a7 │ │ -02096c: 7110 1704 0000 |0004: invoke-static {v0}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;.access$200:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;)Landroid/widget/EditText; // method@0417 │ │ -020972: 0c00 |0007: move-result-object v0 │ │ -020974: 6e10 da00 0000 |0008: invoke-virtual {v0}, Landroid/widget/EditText;.getText:()Landroid/text/Editable; // method@00da │ │ -02097a: 0c00 |000b: move-result-object v0 │ │ -02097c: 6e10 7805 0000 |000c: invoke-virtual {v0}, Ljava/lang/Object;.toString:()Ljava/lang/String; // method@0578 │ │ -020982: 0c01 |000f: move-result-object v1 │ │ -020984: 5460 a702 |0010: iget-object v0, v6, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$3;.this$0:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView; // field@02a7 │ │ -020988: 7110 1504 0000 |0012: invoke-static {v0}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;.access$000:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;)Landroid/widget/EditText; // method@0415 │ │ -02098e: 0c00 |0015: move-result-object v0 │ │ -020990: 6e10 da00 0000 |0016: invoke-virtual {v0}, Landroid/widget/EditText;.getText:()Landroid/text/Editable; // method@00da │ │ -020996: 0c00 |0019: move-result-object v0 │ │ -020998: 6e10 7805 0000 |001a: invoke-virtual {v0}, Ljava/lang/Object;.toString:()Ljava/lang/String; // method@0578 │ │ -02099e: 0c02 |001d: move-result-object v2 │ │ -0209a0: 7100 3404 0000 |001e: invoke-static {}, Ldnsfilter/android/dnsserverconfig/widget/DNSType;.values:()[Ldnsfilter/android/dnsserverconfig/widget/DNSType; // method@0434 │ │ -0209a6: 0c00 |0021: move-result-object v0 │ │ -0209a8: 5463 a702 |0022: iget-object v3, v6, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$3;.this$0:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView; // field@02a7 │ │ -0209ac: 7110 1804 0300 |0024: invoke-static {v3}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;.access$300:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;)Landroid/widget/Spinner; // method@0418 │ │ -0209b2: 0c03 |0027: move-result-object v3 │ │ -0209b4: 6e10 f600 0300 |0028: invoke-virtual {v3}, Landroid/widget/Spinner;.getSelectedItemPosition:()I // method@00f6 │ │ -0209ba: 0a03 |002b: move-result v3 │ │ -0209bc: 4603 0003 |002c: aget-object v3, v0, v3 │ │ -0209c0: 5460 a702 |002e: iget-object v0, v6, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$3;.this$0:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView; // field@02a7 │ │ -0209c4: 7110 1904 0000 |0030: invoke-static {v0}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;.access$400:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;)Landroid/widget/EditText; // method@0419 │ │ -0209ca: 0c00 |0033: move-result-object v0 │ │ -0209cc: 6e10 da00 0000 |0034: invoke-virtual {v0}, Landroid/widget/EditText;.getText:()Landroid/text/Editable; // method@00da │ │ -0209d2: 0c00 |0037: move-result-object v0 │ │ -0209d4: 6e10 7805 0000 |0038: invoke-virtual {v0}, Ljava/lang/Object;.toString:()Ljava/lang/String; // method@0578 │ │ -0209da: 0c04 |003b: move-result-object v4 │ │ -0209dc: 1210 |003c: const/4 v0, #int 1 // #1 │ │ -0209de: 7110 4d05 0000 |003d: invoke-static {v0}, Ljava/lang/Boolean;.valueOf:(Z)Ljava/lang/Boolean; // method@054d │ │ -0209e4: 0c05 |0040: move-result-object v5 │ │ -0209e6: 0770 |0041: move-object v0, v7 │ │ -0209e8: 7606 4104 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@0441 │ │ -0209ee: 5460 a802 |0045: iget-object v0, v6, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$3;.val$entry:Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry; // field@02a8 │ │ -0209f2: 5461 a702 |0047: iget-object v1, v6, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$3;.this$0:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView; // field@02a7 │ │ -0209f6: 7110 1a04 0100 |0049: invoke-static {v1}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;.access$500:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;)Ldnsfilter/android/dnsserverconfig/widget/DNSConfigEntryValidator; // method@041a │ │ -0209fc: 0c01 |004c: move-result-object v1 │ │ -0209fe: 6e20 ba03 7100 |004d: invoke-virtual {v1, v7}, Ldnsfilter/android/dnsserverconfig/widget/DNSConfigEntryValidator;.validate:(Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;)Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult; // method@03ba │ │ -020a04: 0c07 |0050: move-result-object v7 │ │ -020a06: 6e20 5804 7000 |0051: invoke-virtual {v0, v7}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.setValidationResult:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult;)V // method@0458 │ │ -020a0c: 5467 a802 |0054: iget-object v7, v6, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$3;.val$entry:Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry; // field@02a8 │ │ -020a10: 6e10 5004 0700 |0056: invoke-virtual {v7}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.getValidationResult:()Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult; // method@0450 │ │ -020a16: 0c07 |0059: move-result-object v7 │ │ -020a18: 6e10 0004 0700 |005a: invoke-virtual {v7}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult;.hasError:()Z // method@0400 │ │ -020a1e: 0a07 |005d: move-result v7 │ │ -020a20: 3807 0e00 |005e: if-eqz v7, 006c // +000e │ │ -020a24: 5467 a702 |0060: iget-object v7, v6, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$3;.this$0:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView; // field@02a7 │ │ -020a28: 5460 a802 |0062: iget-object v0, v6, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$3;.val$entry:Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry; // field@02a8 │ │ -020a2c: 6e10 5004 0000 |0064: invoke-virtual {v0}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.getValidationResult:()Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult; // method@0450 │ │ -020a32: 0c00 |0067: move-result-object v0 │ │ -020a34: 7120 1b04 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@041b │ │ -020a3a: 2869 |006b: goto 00d4 // +0069 │ │ -020a3c: 5467 a802 |006c: iget-object v7, v6, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$3;.val$entry:Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry; // field@02a8 │ │ -020a40: 5460 a702 |006e: iget-object v0, v6, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$3;.this$0:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView; // field@02a7 │ │ -020a44: 7110 1704 0000 |0070: invoke-static {v0}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;.access$200:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;)Landroid/widget/EditText; // method@0417 │ │ -020a4a: 0c00 |0073: move-result-object v0 │ │ -020a4c: 6e10 da00 0000 |0074: invoke-virtual {v0}, Landroid/widget/EditText;.getText:()Landroid/text/Editable; // method@00da │ │ -020a52: 0c00 |0077: move-result-object v0 │ │ -020a54: 6e10 7805 0000 |0078: invoke-virtual {v0}, Ljava/lang/Object;.toString:()Ljava/lang/String; // method@0578 │ │ -020a5a: 0c00 |007b: move-result-object v0 │ │ -020a5c: 6e20 5304 0700 |007c: invoke-virtual {v7, v0}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.setIp:(Ljava/lang/String;)V // method@0453 │ │ -020a62: 5467 a802 |007f: iget-object v7, v6, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$3;.val$entry:Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry; // field@02a8 │ │ -020a66: 5460 a702 |0081: iget-object v0, v6, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$3;.this$0:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView; // field@02a7 │ │ -020a6a: 7110 1504 0000 |0083: invoke-static {v0}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;.access$000:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;)Landroid/widget/EditText; // method@0415 │ │ -020a70: 0c00 |0086: move-result-object v0 │ │ -020a72: 6e10 da00 0000 |0087: invoke-virtual {v0}, Landroid/widget/EditText;.getText:()Landroid/text/Editable; // method@00da │ │ -020a78: 0c00 |008a: move-result-object v0 │ │ -020a7a: 6e10 7805 0000 |008b: invoke-virtual {v0}, Ljava/lang/Object;.toString:()Ljava/lang/String; // method@0578 │ │ -020a80: 0c00 |008e: move-result-object v0 │ │ -020a82: 6e20 5504 0700 |008f: invoke-virtual {v7, v0}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.setPort:(Ljava/lang/String;)V // method@0455 │ │ -020a88: 5467 a802 |0092: iget-object v7, v6, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$3;.val$entry:Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry; // field@02a8 │ │ -020a8c: 5460 a702 |0094: iget-object v0, v6, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$3;.this$0:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView; // field@02a7 │ │ -020a90: 7110 1904 0000 |0096: invoke-static {v0}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;.access$400:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;)Landroid/widget/EditText; // method@0419 │ │ -020a96: 0c00 |0099: move-result-object v0 │ │ -020a98: 6e10 da00 0000 |009a: invoke-virtual {v0}, Landroid/widget/EditText;.getText:()Landroid/text/Editable; // method@00da │ │ -020a9e: 0c00 |009d: move-result-object v0 │ │ -020aa0: 6e10 7805 0000 |009e: invoke-virtual {v0}, Ljava/lang/Object;.toString:()Ljava/lang/String; // method@0578 │ │ -020aa6: 0c00 |00a1: move-result-object v0 │ │ -020aa8: 6e20 5204 0700 |00a2: invoke-virtual {v7, v0}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.setEndpoint:(Ljava/lang/String;)V // method@0452 │ │ -020aae: 5467 a802 |00a5: iget-object v7, v6, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$3;.val$entry:Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry; // field@02a8 │ │ -020ab2: 7100 3404 0000 |00a7: invoke-static {}, Ldnsfilter/android/dnsserverconfig/widget/DNSType;.values:()[Ldnsfilter/android/dnsserverconfig/widget/DNSType; // method@0434 │ │ -020ab8: 0c00 |00aa: move-result-object v0 │ │ -020aba: 5461 a702 |00ab: iget-object v1, v6, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$3;.this$0:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView; // field@02a7 │ │ -020abe: 7110 1804 0100 |00ad: invoke-static {v1}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;.access$300:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;)Landroid/widget/Spinner; // method@0418 │ │ -020ac4: 0c01 |00b0: move-result-object v1 │ │ -020ac6: 6e10 f600 0100 |00b1: invoke-virtual {v1}, Landroid/widget/Spinner;.getSelectedItemPosition:()I // method@00f6 │ │ -020acc: 0a01 |00b4: move-result v1 │ │ -020ace: 4600 0001 |00b5: aget-object v0, v0, v1 │ │ -020ad2: 6e20 5604 0700 |00b7: invoke-virtual {v7, v0}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.setProtocol:(Ldnsfilter/android/dnsserverconfig/widget/DNSType;)V // method@0456 │ │ -020ad8: 5467 a702 |00ba: iget-object v7, v6, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$3;.this$0:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView; // field@02a7 │ │ -020adc: 7110 1604 0700 |00bc: invoke-static {v7}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;.access$100:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;)Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$EditEventsListener; // method@0416 │ │ -020ae2: 0c07 |00bf: move-result-object v7 │ │ -020ae4: 3807 0b00 |00c0: if-eqz v7, 00cb // +000b │ │ -020ae8: 5467 a702 |00c2: iget-object v7, v6, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$3;.this$0:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView; // field@02a7 │ │ -020aec: 7110 1604 0700 |00c4: invoke-static {v7}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;.access$100:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;)Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$EditEventsListener; // method@0416 │ │ -020af2: 0c07 |00c7: move-result-object v7 │ │ -020af4: 7210 1104 0700 |00c8: invoke-interface {v7}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$EditEventsListener;.onApplyChanges:()V // method@0411 │ │ -020afa: 5467 a702 |00cb: iget-object v7, v6, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$3;.this$0:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView; // field@02a7 │ │ -020afe: 7110 1c04 0700 |00cd: invoke-static {v7}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;.access$700:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;)Landroid/app/Dialog; // method@041c │ │ -020b04: 0c07 |00d0: move-result-object v7 │ │ -020b06: 6e10 1600 0700 |00d1: invoke-virtual {v7}, Landroid/app/Dialog;.dismiss:()V // method@0016 │ │ -020b0c: 0e00 |00d4: return-void │ │ +020950: |[020950] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigEntryView$3.onClick:(Landroid/view/View;)V │ │ +020960: 2207 e800 |0000: new-instance v7, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry; // type@00e8 │ │ +020964: 5460 a702 |0002: iget-object v0, v6, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$3;.this$0:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView; // field@02a7 │ │ +020968: 7110 1704 0000 |0004: invoke-static {v0}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;.access$200:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;)Landroid/widget/EditText; // method@0417 │ │ +02096e: 0c00 |0007: move-result-object v0 │ │ +020970: 6e10 da00 0000 |0008: invoke-virtual {v0}, Landroid/widget/EditText;.getText:()Landroid/text/Editable; // method@00da │ │ +020976: 0c00 |000b: move-result-object v0 │ │ +020978: 6e10 7805 0000 |000c: invoke-virtual {v0}, Ljava/lang/Object;.toString:()Ljava/lang/String; // method@0578 │ │ +02097e: 0c01 |000f: move-result-object v1 │ │ +020980: 5460 a702 |0010: iget-object v0, v6, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$3;.this$0:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView; // field@02a7 │ │ +020984: 7110 1504 0000 |0012: invoke-static {v0}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;.access$000:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;)Landroid/widget/EditText; // method@0415 │ │ +02098a: 0c00 |0015: move-result-object v0 │ │ +02098c: 6e10 da00 0000 |0016: invoke-virtual {v0}, Landroid/widget/EditText;.getText:()Landroid/text/Editable; // method@00da │ │ +020992: 0c00 |0019: move-result-object v0 │ │ +020994: 6e10 7805 0000 |001a: invoke-virtual {v0}, Ljava/lang/Object;.toString:()Ljava/lang/String; // method@0578 │ │ +02099a: 0c02 |001d: move-result-object v2 │ │ +02099c: 7100 3404 0000 |001e: invoke-static {}, Ldnsfilter/android/dnsserverconfig/widget/DNSType;.values:()[Ldnsfilter/android/dnsserverconfig/widget/DNSType; // method@0434 │ │ +0209a2: 0c00 |0021: move-result-object v0 │ │ +0209a4: 5463 a702 |0022: iget-object v3, v6, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$3;.this$0:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView; // field@02a7 │ │ +0209a8: 7110 1804 0300 |0024: invoke-static {v3}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;.access$300:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;)Landroid/widget/Spinner; // method@0418 │ │ +0209ae: 0c03 |0027: move-result-object v3 │ │ +0209b0: 6e10 f600 0300 |0028: invoke-virtual {v3}, Landroid/widget/Spinner;.getSelectedItemPosition:()I // method@00f6 │ │ +0209b6: 0a03 |002b: move-result v3 │ │ +0209b8: 4603 0003 |002c: aget-object v3, v0, v3 │ │ +0209bc: 5460 a702 |002e: iget-object v0, v6, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$3;.this$0:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView; // field@02a7 │ │ +0209c0: 7110 1904 0000 |0030: invoke-static {v0}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;.access$400:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;)Landroid/widget/EditText; // method@0419 │ │ +0209c6: 0c00 |0033: move-result-object v0 │ │ +0209c8: 6e10 da00 0000 |0034: invoke-virtual {v0}, Landroid/widget/EditText;.getText:()Landroid/text/Editable; // method@00da │ │ +0209ce: 0c00 |0037: move-result-object v0 │ │ +0209d0: 6e10 7805 0000 |0038: invoke-virtual {v0}, Ljava/lang/Object;.toString:()Ljava/lang/String; // method@0578 │ │ +0209d6: 0c04 |003b: move-result-object v4 │ │ +0209d8: 1210 |003c: const/4 v0, #int 1 // #1 │ │ +0209da: 7110 4d05 0000 |003d: invoke-static {v0}, Ljava/lang/Boolean;.valueOf:(Z)Ljava/lang/Boolean; // method@054d │ │ +0209e0: 0c05 |0040: move-result-object v5 │ │ +0209e2: 0770 |0041: move-object v0, v7 │ │ +0209e4: 7606 4104 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@0441 │ │ +0209ea: 5460 a802 |0045: iget-object v0, v6, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$3;.val$entry:Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry; // field@02a8 │ │ +0209ee: 5461 a702 |0047: iget-object v1, v6, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$3;.this$0:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView; // field@02a7 │ │ +0209f2: 7110 1a04 0100 |0049: invoke-static {v1}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;.access$500:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;)Ldnsfilter/android/dnsserverconfig/widget/DNSConfigEntryValidator; // method@041a │ │ +0209f8: 0c01 |004c: move-result-object v1 │ │ +0209fa: 6e20 ba03 7100 |004d: invoke-virtual {v1, v7}, Ldnsfilter/android/dnsserverconfig/widget/DNSConfigEntryValidator;.validate:(Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;)Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult; // method@03ba │ │ +020a00: 0c07 |0050: move-result-object v7 │ │ +020a02: 6e20 5804 7000 |0051: invoke-virtual {v0, v7}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.setValidationResult:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult;)V // method@0458 │ │ +020a08: 5467 a802 |0054: iget-object v7, v6, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$3;.val$entry:Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry; // field@02a8 │ │ +020a0c: 6e10 5004 0700 |0056: invoke-virtual {v7}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.getValidationResult:()Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult; // method@0450 │ │ +020a12: 0c07 |0059: move-result-object v7 │ │ +020a14: 6e10 0004 0700 |005a: invoke-virtual {v7}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult;.hasError:()Z // method@0400 │ │ +020a1a: 0a07 |005d: move-result v7 │ │ +020a1c: 3807 0e00 |005e: if-eqz v7, 006c // +000e │ │ +020a20: 5467 a702 |0060: iget-object v7, v6, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$3;.this$0:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView; // field@02a7 │ │ +020a24: 5460 a802 |0062: iget-object v0, v6, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$3;.val$entry:Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry; // field@02a8 │ │ +020a28: 6e10 5004 0000 |0064: invoke-virtual {v0}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.getValidationResult:()Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult; // method@0450 │ │ +020a2e: 0c00 |0067: move-result-object v0 │ │ +020a30: 7120 1b04 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@041b │ │ +020a36: 2869 |006b: goto 00d4 // +0069 │ │ +020a38: 5467 a802 |006c: iget-object v7, v6, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$3;.val$entry:Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry; // field@02a8 │ │ +020a3c: 5460 a702 |006e: iget-object v0, v6, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$3;.this$0:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView; // field@02a7 │ │ +020a40: 7110 1704 0000 |0070: invoke-static {v0}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;.access$200:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;)Landroid/widget/EditText; // method@0417 │ │ +020a46: 0c00 |0073: move-result-object v0 │ │ +020a48: 6e10 da00 0000 |0074: invoke-virtual {v0}, Landroid/widget/EditText;.getText:()Landroid/text/Editable; // method@00da │ │ +020a4e: 0c00 |0077: move-result-object v0 │ │ +020a50: 6e10 7805 0000 |0078: invoke-virtual {v0}, Ljava/lang/Object;.toString:()Ljava/lang/String; // method@0578 │ │ +020a56: 0c00 |007b: move-result-object v0 │ │ +020a58: 6e20 5304 0700 |007c: invoke-virtual {v7, v0}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.setIp:(Ljava/lang/String;)V // method@0453 │ │ +020a5e: 5467 a802 |007f: iget-object v7, v6, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$3;.val$entry:Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry; // field@02a8 │ │ +020a62: 5460 a702 |0081: iget-object v0, v6, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$3;.this$0:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView; // field@02a7 │ │ +020a66: 7110 1504 0000 |0083: invoke-static {v0}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;.access$000:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;)Landroid/widget/EditText; // method@0415 │ │ +020a6c: 0c00 |0086: move-result-object v0 │ │ +020a6e: 6e10 da00 0000 |0087: invoke-virtual {v0}, Landroid/widget/EditText;.getText:()Landroid/text/Editable; // method@00da │ │ +020a74: 0c00 |008a: move-result-object v0 │ │ +020a76: 6e10 7805 0000 |008b: invoke-virtual {v0}, Ljava/lang/Object;.toString:()Ljava/lang/String; // method@0578 │ │ +020a7c: 0c00 |008e: move-result-object v0 │ │ +020a7e: 6e20 5504 0700 |008f: invoke-virtual {v7, v0}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.setPort:(Ljava/lang/String;)V // method@0455 │ │ +020a84: 5467 a802 |0092: iget-object v7, v6, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$3;.val$entry:Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry; // field@02a8 │ │ +020a88: 5460 a702 |0094: iget-object v0, v6, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$3;.this$0:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView; // field@02a7 │ │ +020a8c: 7110 1904 0000 |0096: invoke-static {v0}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;.access$400:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;)Landroid/widget/EditText; // method@0419 │ │ +020a92: 0c00 |0099: move-result-object v0 │ │ +020a94: 6e10 da00 0000 |009a: invoke-virtual {v0}, Landroid/widget/EditText;.getText:()Landroid/text/Editable; // method@00da │ │ +020a9a: 0c00 |009d: move-result-object v0 │ │ +020a9c: 6e10 7805 0000 |009e: invoke-virtual {v0}, Ljava/lang/Object;.toString:()Ljava/lang/String; // method@0578 │ │ +020aa2: 0c00 |00a1: move-result-object v0 │ │ +020aa4: 6e20 5204 0700 |00a2: invoke-virtual {v7, v0}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.setEndpoint:(Ljava/lang/String;)V // method@0452 │ │ +020aaa: 5467 a802 |00a5: iget-object v7, v6, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$3;.val$entry:Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry; // field@02a8 │ │ +020aae: 7100 3404 0000 |00a7: invoke-static {}, Ldnsfilter/android/dnsserverconfig/widget/DNSType;.values:()[Ldnsfilter/android/dnsserverconfig/widget/DNSType; // method@0434 │ │ +020ab4: 0c00 |00aa: move-result-object v0 │ │ +020ab6: 5461 a702 |00ab: iget-object v1, v6, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$3;.this$0:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView; // field@02a7 │ │ +020aba: 7110 1804 0100 |00ad: invoke-static {v1}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;.access$300:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;)Landroid/widget/Spinner; // method@0418 │ │ +020ac0: 0c01 |00b0: move-result-object v1 │ │ +020ac2: 6e10 f600 0100 |00b1: invoke-virtual {v1}, Landroid/widget/Spinner;.getSelectedItemPosition:()I // method@00f6 │ │ +020ac8: 0a01 |00b4: move-result v1 │ │ +020aca: 4600 0001 |00b5: aget-object v0, v0, v1 │ │ +020ace: 6e20 5604 0700 |00b7: invoke-virtual {v7, v0}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.setProtocol:(Ldnsfilter/android/dnsserverconfig/widget/DNSType;)V // method@0456 │ │ +020ad4: 5467 a702 |00ba: iget-object v7, v6, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$3;.this$0:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView; // field@02a7 │ │ +020ad8: 7110 1604 0700 |00bc: invoke-static {v7}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;.access$100:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;)Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$EditEventsListener; // method@0416 │ │ +020ade: 0c07 |00bf: move-result-object v7 │ │ +020ae0: 3807 0b00 |00c0: if-eqz v7, 00cb // +000b │ │ +020ae4: 5467 a702 |00c2: iget-object v7, v6, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$3;.this$0:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView; // field@02a7 │ │ +020ae8: 7110 1604 0700 |00c4: invoke-static {v7}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;.access$100:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;)Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$EditEventsListener; // method@0416 │ │ +020aee: 0c07 |00c7: move-result-object v7 │ │ +020af0: 7210 1104 0700 |00c8: invoke-interface {v7}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$EditEventsListener;.onApplyChanges:()V // method@0411 │ │ +020af6: 5467 a702 |00cb: iget-object v7, v6, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$3;.this$0:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView; // field@02a7 │ │ +020afa: 7110 1c04 0700 |00cd: invoke-static {v7}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;.access$700:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;)Landroid/app/Dialog; // method@041c │ │ +020b00: 0c07 |00d0: move-result-object v7 │ │ +020b02: 6e10 1600 0700 |00d1: invoke-virtual {v7}, Landroid/app/Dialog;.dismiss:()V // method@0016 │ │ +020b08: 0e00 |00d4: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=82 │ │ 0x0004 line=83 │ │ 0x0012 line=84 │ │ 0x001e line=85 │ │ 0x0030 line=86 │ │ @@ -22712,18 +22712,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 │ │ -020b10: |[020b10] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigEntryView$4.:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;)V │ │ -020b20: 5b01 a902 |0000: iput-object v1, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$4;.this$0:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView; // field@02a9 │ │ -020b24: 7010 7305 0000 |0002: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@0573 │ │ -020b2a: 0e00 |0005: return-void │ │ +020b0c: |[020b0c] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigEntryView$4.:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;)V │ │ +020b1c: 5b01 a902 |0000: iput-object v1, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$4;.this$0:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView; // field@02a9 │ │ +020b20: 7010 7305 0000 |0002: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@0573 │ │ +020b26: 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; │ │ │ │ @@ -22733,20 +22733,20 @@ │ │ type : '(Landroid/view/View;)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 2 │ │ outs : 1 │ │ insns size : 10 16-bit code units │ │ -020b2c: |[020b2c] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigEntryView$4.onClick:(Landroid/view/View;)V │ │ -020b3c: 5401 a902 |0000: iget-object v1, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$4;.this$0:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView; // field@02a9 │ │ -020b40: 7110 1c04 0100 |0002: invoke-static {v1}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;.access$700:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;)Landroid/app/Dialog; // method@041c │ │ -020b46: 0c01 |0005: move-result-object v1 │ │ -020b48: 6e10 1500 0100 |0006: invoke-virtual {v1}, Landroid/app/Dialog;.cancel:()V // method@0015 │ │ -020b4e: 0e00 |0009: return-void │ │ +020b28: |[020b28] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigEntryView$4.onClick:(Landroid/view/View;)V │ │ +020b38: 5401 a902 |0000: iget-object v1, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$4;.this$0:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView; // field@02a9 │ │ +020b3c: 7110 1c04 0100 |0002: invoke-static {v1}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;.access$700:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;)Landroid/app/Dialog; // method@041c │ │ +020b42: 0c01 |0005: move-result-object v1 │ │ +020b44: 6e10 1500 0100 |0006: invoke-virtual {v1}, Landroid/app/Dialog;.cancel:()V // method@0015 │ │ +020b4a: 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; │ │ │ │ @@ -22791,19 +22791,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 │ │ -020b50: |[020b50] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigEntryView$5.:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;)V │ │ -020b60: 5b01 aa02 |0000: iput-object v1, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$5;.this$0:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView; // field@02aa │ │ -020b64: 5b02 ab02 |0002: iput-object v2, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$5;.val$entry:Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry; // field@02ab │ │ -020b68: 7010 7305 0000 |0004: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@0573 │ │ -020b6e: 0e00 |0007: return-void │ │ +020b4c: |[020b4c] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigEntryView$5.:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;)V │ │ +020b5c: 5b01 aa02 |0000: iput-object v1, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$5;.this$0:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView; // field@02aa │ │ +020b60: 5b02 ab02 |0002: iput-object v2, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$5;.val$entry:Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry; // field@02ab │ │ +020b64: 7010 7305 0000 |0004: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@0573 │ │ +020b6a: 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; │ │ @@ -22814,25 +22814,25 @@ │ │ type : '(Landroid/view/View;)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 3 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 21 16-bit code units │ │ -020b70: |[020b70] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigEntryView$5.onClick:(Landroid/view/View;)V │ │ -020b80: 5412 aa02 |0000: iget-object v2, v1, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$5;.this$0:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView; // field@02aa │ │ -020b84: 7110 1c04 0200 |0002: invoke-static {v2}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;.access$700:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;)Landroid/app/Dialog; // method@041c │ │ -020b8a: 0c02 |0005: move-result-object v2 │ │ -020b8c: 6e10 1500 0200 |0006: invoke-virtual {v2}, Landroid/app/Dialog;.cancel:()V // method@0015 │ │ -020b92: 5412 aa02 |0009: iget-object v2, v1, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$5;.this$0:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView; // field@02aa │ │ -020b96: 7110 1604 0200 |000b: invoke-static {v2}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;.access$100:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;)Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$EditEventsListener; // method@0416 │ │ -020b9c: 0c02 |000e: move-result-object v2 │ │ -020b9e: 5410 ab02 |000f: iget-object v0, v1, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$5;.val$entry:Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry; // field@02ab │ │ -020ba2: 7220 1204 0200 |0011: invoke-interface {v2, v0}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$EditEventsListener;.onDeleteItem:(Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;)V // method@0412 │ │ -020ba8: 0e00 |0014: return-void │ │ +020b6c: |[020b6c] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigEntryView$5.onClick:(Landroid/view/View;)V │ │ +020b7c: 5412 aa02 |0000: iget-object v2, v1, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$5;.this$0:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView; // field@02aa │ │ +020b80: 7110 1c04 0200 |0002: invoke-static {v2}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;.access$700:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;)Landroid/app/Dialog; // method@041c │ │ +020b86: 0c02 |0005: move-result-object v2 │ │ +020b88: 6e10 1500 0200 |0006: invoke-virtual {v2}, Landroid/app/Dialog;.cancel:()V // method@0015 │ │ +020b8e: 5412 aa02 |0009: iget-object v2, v1, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$5;.this$0:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView; // field@02aa │ │ +020b92: 7110 1604 0200 |000b: invoke-static {v2}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;.access$100:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;)Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$EditEventsListener; // method@0416 │ │ +020b98: 0c02 |000e: move-result-object v2 │ │ +020b9a: 5410 ab02 |000f: iget-object v0, v1, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$5;.val$entry:Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry; // field@02ab │ │ +020b9e: 7220 1204 0200 |0011: invoke-interface {v2, v0}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$EditEventsListener;.onDeleteItem:(Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;)V // method@0412 │ │ +020ba4: 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; │ │ @@ -22878,19 +22878,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 │ │ -020bac: |[020bac] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigEntryView$6.:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;)V │ │ -020bbc: 5b01 ac02 |0000: iput-object v1, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$6;.this$0:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView; // field@02ac │ │ -020bc0: 5b02 ad02 |0002: iput-object v2, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$6;.val$entry:Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry; // field@02ad │ │ -020bc4: 7010 7305 0000 |0004: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@0573 │ │ -020bca: 0e00 |0007: return-void │ │ +020ba8: |[020ba8] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigEntryView$6.:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;)V │ │ +020bb8: 5b01 ac02 |0000: iput-object v1, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$6;.this$0:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView; // field@02ac │ │ +020bbc: 5b02 ad02 |0002: iput-object v2, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$6;.val$entry:Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry; // field@02ad │ │ +020bc0: 7010 7305 0000 |0004: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@0573 │ │ +020bc6: 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; │ │ @@ -22901,20 +22901,20 @@ │ │ type : '(Landroid/content/DialogInterface;)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 3 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 11 16-bit code units │ │ -020bcc: |[020bcc] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigEntryView$6.onDismiss:(Landroid/content/DialogInterface;)V │ │ -020bdc: 5412 ad02 |0000: iget-object v2, v1, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$6;.val$entry:Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry; // field@02ad │ │ -020be0: 2200 da00 |0002: new-instance v0, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult; // type@00da │ │ -020be4: 7010 fc03 0000 |0004: invoke-direct {v0}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult;.:()V // method@03fc │ │ -020bea: 6e20 5804 0200 |0007: invoke-virtual {v2, v0}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.setValidationResult:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult;)V // method@0458 │ │ -020bf0: 0e00 |000a: return-void │ │ +020bc8: |[020bc8] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigEntryView$6.onDismiss:(Landroid/content/DialogInterface;)V │ │ +020bd8: 5412 ad02 |0000: iget-object v2, v1, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$6;.val$entry:Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry; // field@02ad │ │ +020bdc: 2200 da00 |0002: new-instance v0, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult; // type@00da │ │ +020be0: 7010 fc03 0000 |0004: invoke-direct {v0}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult;.:()V // method@03fc │ │ +020be6: 6e20 5804 0200 |0007: invoke-virtual {v2, v0}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.setValidationResult:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult;)V // method@0458 │ │ +020bec: 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; │ │ │ │ @@ -23031,70 +23031,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 │ │ -020c9c: |[020c9c] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigEntryView.:(Landroid/content/Context;Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$EditEventsListener;)V │ │ -020cac: 7010 7305 0400 |0000: invoke-direct {v4}, Ljava/lang/Object;.:()V // method@0573 │ │ -020cb2: 5b46 b602 |0003: iput-object v6, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;.listener:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$EditEventsListener; // field@02b6 │ │ -020cb6: 2206 0b00 |0005: new-instance v6, Landroid/app/Dialog; // type@000b │ │ -020cba: 1500 097f |0007: const/high16 v0, #int 2131296256 // #7f09 │ │ -020cbe: 7030 1400 5600 |0009: invoke-direct {v6, v5, v0}, Landroid/app/Dialog;.:(Landroid/content/Context;I)V // method@0014 │ │ -020cc4: 5b46 b202 |000c: iput-object v6, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;.editEntryDialog:Landroid/app/Dialog; // field@02b2 │ │ -020cc8: 1400 0400 067f |000e: const v0, #float 1.78117e+38 // #7f060004 │ │ -020cce: 6e20 1b00 0600 |0011: invoke-virtual {v6, v0}, Landroid/app/Dialog;.setContentView:(I)V // method@001b │ │ -020cd4: 1400 2300 057f |0014: const v0, #float 1.76788e+38 // #7f050023 │ │ -020cda: 6e20 1700 0600 |0017: invoke-virtual {v6, v0}, Landroid/app/Dialog;.findViewById:(I)Landroid/view/View; // method@0017 │ │ -020ce0: 0c00 |001a: move-result-object v0 │ │ -020ce2: 1f00 6700 |001b: check-cast v0, Landroid/widget/EditText; // type@0067 │ │ -020ce6: 5b40 b302 |001d: iput-object v0, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;.editIpView:Landroid/widget/EditText; // field@02b3 │ │ -020cea: 1400 2400 057f |001f: const v0, #float 1.76788e+38 // #7f050024 │ │ -020cf0: 6e20 1700 0600 |0022: invoke-virtual {v6, v0}, Landroid/app/Dialog;.findViewById:(I)Landroid/view/View; // method@0017 │ │ -020cf6: 0c00 |0025: move-result-object v0 │ │ -020cf8: 1f00 6700 |0026: check-cast v0, Landroid/widget/EditText; // type@0067 │ │ -020cfc: 5b40 b402 |0028: iput-object v0, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;.editPortView:Landroid/widget/EditText; // field@02b4 │ │ -020d00: 1400 2000 057f |002a: const v0, #float 1.76788e+38 // #7f050020 │ │ -020d06: 6e20 1700 0600 |002d: invoke-virtual {v6, v0}, Landroid/app/Dialog;.findViewById:(I)Landroid/view/View; // method@0017 │ │ -020d0c: 0c00 |0030: move-result-object v0 │ │ -020d0e: 1f00 6700 |0031: check-cast v0, Landroid/widget/EditText; // type@0067 │ │ -020d12: 5b40 b102 |0033: iput-object v0, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;.editEndpointView:Landroid/widget/EditText; // field@02b1 │ │ -020d16: 1400 2500 057f |0035: const v0, #float 1.76788e+38 // #7f050025 │ │ -020d1c: 6e20 1700 0600 |0038: invoke-virtual {v6, v0}, Landroid/app/Dialog;.findViewById:(I)Landroid/view/View; // method@0017 │ │ -020d22: 0c00 |003b: move-result-object v0 │ │ -020d24: 1f00 6f00 |003c: check-cast v0, Landroid/widget/Spinner; // type@006f │ │ -020d28: 5b40 b502 |003e: iput-object v0, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;.editProtocolSpinner:Landroid/widget/Spinner; // field@02b5 │ │ -020d2c: 1401 1e00 057f |0040: const v1, #float 1.76788e+38 // #7f05001e │ │ -020d32: 6e20 1700 1600 |0043: invoke-virtual {v6, v1}, Landroid/app/Dialog;.findViewById:(I)Landroid/view/View; // method@0017 │ │ -020d38: 0c01 |0046: move-result-object v1 │ │ -020d3a: 1f01 6300 |0047: check-cast v1, Landroid/widget/Button; // type@0063 │ │ -020d3e: 5b41 ae02 |0049: iput-object v1, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;.applyChangesButton:Landroid/widget/Button; // field@02ae │ │ -020d42: 1401 1f00 057f |004b: const v1, #float 1.76788e+38 // #7f05001f │ │ -020d48: 6e20 1700 1600 |004e: invoke-virtual {v6, v1}, Landroid/app/Dialog;.findViewById:(I)Landroid/view/View; // method@0017 │ │ -020d4e: 0c01 |0051: move-result-object v1 │ │ -020d50: 1f01 6300 |0052: check-cast v1, Landroid/widget/Button; // type@0063 │ │ -020d54: 5b41 af02 |0054: iput-object v1, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;.cancelChangesButton:Landroid/widget/Button; // field@02af │ │ -020d58: 1401 1a00 057f |0056: const v1, #float 1.76788e+38 // #7f05001a │ │ -020d5e: 6e20 1700 1600 |0059: invoke-virtual {v6, v1}, Landroid/app/Dialog;.findViewById:(I)Landroid/view/View; // method@0017 │ │ -020d64: 0c01 |005c: move-result-object v1 │ │ -020d66: 1f01 6300 |005d: check-cast v1, Landroid/widget/Button; // type@0063 │ │ -020d6a: 5b41 b002 |005f: iput-object v1, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;.deleteEntryButton:Landroid/widget/Button; // field@02b0 │ │ -020d6e: 2201 6200 |0061: new-instance v1, Landroid/widget/ArrayAdapter; // type@0062 │ │ -020d72: 1402 0e00 067f |0063: const v2, #float 1.78117e+38 // #7f06000e │ │ -020d78: 7100 3404 0000 |0066: invoke-static {}, Ldnsfilter/android/dnsserverconfig/widget/DNSType;.values:()[Ldnsfilter/android/dnsserverconfig/widget/DNSType; // method@0434 │ │ -020d7e: 0c03 |0069: move-result-object v3 │ │ -020d80: 7040 c200 5132 |006a: invoke-direct {v1, v5, v2, v3}, Landroid/widget/ArrayAdapter;.:(Landroid/content/Context;I[Ljava/lang/Object;)V // method@00c2 │ │ -020d86: 6e20 f700 1000 |006d: invoke-virtual {v0, v1}, Landroid/widget/Spinner;.setAdapter:(Landroid/widget/SpinnerAdapter;)V // method@00f7 │ │ -020d8c: 1400 1000 087f |0070: const v0, #float 1.80775e+38 // #7f080010 │ │ -020d92: 6e20 2000 0600 |0073: invoke-virtual {v6, v0}, Landroid/app/Dialog;.setTitle:(I)V // method@0020 │ │ -020d98: 2206 ca00 |0076: new-instance v6, Ldnsfilter/android/dnsserverconfig/widget/DNSConfigEntryValidator; // type@00ca │ │ -020d9c: 7020 b703 5600 |0078: invoke-direct {v6, v5}, Ldnsfilter/android/dnsserverconfig/widget/DNSConfigEntryValidator;.:(Landroid/content/Context;)V // method@03b7 │ │ -020da2: 5b46 b702 |007b: iput-object v6, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;.validator:Ldnsfilter/android/dnsserverconfig/widget/DNSConfigEntryValidator; // field@02b7 │ │ -020da6: 0e00 |007d: return-void │ │ +020c98: |[020c98] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigEntryView.:(Landroid/content/Context;Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$EditEventsListener;)V │ │ +020ca8: 7010 7305 0400 |0000: invoke-direct {v4}, Ljava/lang/Object;.:()V // method@0573 │ │ +020cae: 5b46 b602 |0003: iput-object v6, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;.listener:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$EditEventsListener; // field@02b6 │ │ +020cb2: 2206 0b00 |0005: new-instance v6, Landroid/app/Dialog; // type@000b │ │ +020cb6: 1500 097f |0007: const/high16 v0, #int 2131296256 // #7f09 │ │ +020cba: 7030 1400 5600 |0009: invoke-direct {v6, v5, v0}, Landroid/app/Dialog;.:(Landroid/content/Context;I)V // method@0014 │ │ +020cc0: 5b46 b202 |000c: iput-object v6, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;.editEntryDialog:Landroid/app/Dialog; // field@02b2 │ │ +020cc4: 1400 0400 067f |000e: const v0, #float 1.78117e+38 // #7f060004 │ │ +020cca: 6e20 1b00 0600 |0011: invoke-virtual {v6, v0}, Landroid/app/Dialog;.setContentView:(I)V // method@001b │ │ +020cd0: 1400 2300 057f |0014: const v0, #float 1.76788e+38 // #7f050023 │ │ +020cd6: 6e20 1700 0600 |0017: invoke-virtual {v6, v0}, Landroid/app/Dialog;.findViewById:(I)Landroid/view/View; // method@0017 │ │ +020cdc: 0c00 |001a: move-result-object v0 │ │ +020cde: 1f00 6700 |001b: check-cast v0, Landroid/widget/EditText; // type@0067 │ │ +020ce2: 5b40 b302 |001d: iput-object v0, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;.editIpView:Landroid/widget/EditText; // field@02b3 │ │ +020ce6: 1400 2400 057f |001f: const v0, #float 1.76788e+38 // #7f050024 │ │ +020cec: 6e20 1700 0600 |0022: invoke-virtual {v6, v0}, Landroid/app/Dialog;.findViewById:(I)Landroid/view/View; // method@0017 │ │ +020cf2: 0c00 |0025: move-result-object v0 │ │ +020cf4: 1f00 6700 |0026: check-cast v0, Landroid/widget/EditText; // type@0067 │ │ +020cf8: 5b40 b402 |0028: iput-object v0, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;.editPortView:Landroid/widget/EditText; // field@02b4 │ │ +020cfc: 1400 2000 057f |002a: const v0, #float 1.76788e+38 // #7f050020 │ │ +020d02: 6e20 1700 0600 |002d: invoke-virtual {v6, v0}, Landroid/app/Dialog;.findViewById:(I)Landroid/view/View; // method@0017 │ │ +020d08: 0c00 |0030: move-result-object v0 │ │ +020d0a: 1f00 6700 |0031: check-cast v0, Landroid/widget/EditText; // type@0067 │ │ +020d0e: 5b40 b102 |0033: iput-object v0, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;.editEndpointView:Landroid/widget/EditText; // field@02b1 │ │ +020d12: 1400 2500 057f |0035: const v0, #float 1.76788e+38 // #7f050025 │ │ +020d18: 6e20 1700 0600 |0038: invoke-virtual {v6, v0}, Landroid/app/Dialog;.findViewById:(I)Landroid/view/View; // method@0017 │ │ +020d1e: 0c00 |003b: move-result-object v0 │ │ +020d20: 1f00 6f00 |003c: check-cast v0, Landroid/widget/Spinner; // type@006f │ │ +020d24: 5b40 b502 |003e: iput-object v0, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;.editProtocolSpinner:Landroid/widget/Spinner; // field@02b5 │ │ +020d28: 1401 1e00 057f |0040: const v1, #float 1.76788e+38 // #7f05001e │ │ +020d2e: 6e20 1700 1600 |0043: invoke-virtual {v6, v1}, Landroid/app/Dialog;.findViewById:(I)Landroid/view/View; // method@0017 │ │ +020d34: 0c01 |0046: move-result-object v1 │ │ +020d36: 1f01 6300 |0047: check-cast v1, Landroid/widget/Button; // type@0063 │ │ +020d3a: 5b41 ae02 |0049: iput-object v1, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;.applyChangesButton:Landroid/widget/Button; // field@02ae │ │ +020d3e: 1401 1f00 057f |004b: const v1, #float 1.76788e+38 // #7f05001f │ │ +020d44: 6e20 1700 1600 |004e: invoke-virtual {v6, v1}, Landroid/app/Dialog;.findViewById:(I)Landroid/view/View; // method@0017 │ │ +020d4a: 0c01 |0051: move-result-object v1 │ │ +020d4c: 1f01 6300 |0052: check-cast v1, Landroid/widget/Button; // type@0063 │ │ +020d50: 5b41 af02 |0054: iput-object v1, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;.cancelChangesButton:Landroid/widget/Button; // field@02af │ │ +020d54: 1401 1a00 057f |0056: const v1, #float 1.76788e+38 // #7f05001a │ │ +020d5a: 6e20 1700 1600 |0059: invoke-virtual {v6, v1}, Landroid/app/Dialog;.findViewById:(I)Landroid/view/View; // method@0017 │ │ +020d60: 0c01 |005c: move-result-object v1 │ │ +020d62: 1f01 6300 |005d: check-cast v1, Landroid/widget/Button; // type@0063 │ │ +020d66: 5b41 b002 |005f: iput-object v1, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;.deleteEntryButton:Landroid/widget/Button; // field@02b0 │ │ +020d6a: 2201 6200 |0061: new-instance v1, Landroid/widget/ArrayAdapter; // type@0062 │ │ +020d6e: 1402 0e00 067f |0063: const v2, #float 1.78117e+38 // #7f06000e │ │ +020d74: 7100 3404 0000 |0066: invoke-static {}, Ldnsfilter/android/dnsserverconfig/widget/DNSType;.values:()[Ldnsfilter/android/dnsserverconfig/widget/DNSType; // method@0434 │ │ +020d7a: 0c03 |0069: move-result-object v3 │ │ +020d7c: 7040 c200 5132 |006a: invoke-direct {v1, v5, v2, v3}, Landroid/widget/ArrayAdapter;.:(Landroid/content/Context;I[Ljava/lang/Object;)V // method@00c2 │ │ +020d82: 6e20 f700 1000 |006d: invoke-virtual {v0, v1}, Landroid/widget/Spinner;.setAdapter:(Landroid/widget/SpinnerAdapter;)V // method@00f7 │ │ +020d88: 1400 1000 087f |0070: const v0, #float 1.80775e+38 // #7f080010 │ │ +020d8e: 6e20 2000 0600 |0073: invoke-virtual {v6, v0}, Landroid/app/Dialog;.setTitle:(I)V // method@0020 │ │ +020d94: 2206 ca00 |0076: new-instance v6, Ldnsfilter/android/dnsserverconfig/widget/DNSConfigEntryValidator; // type@00ca │ │ +020d98: 7020 b703 5600 |0078: invoke-direct {v6, v5}, Ldnsfilter/android/dnsserverconfig/widget/DNSConfigEntryValidator;.:(Landroid/content/Context;)V // method@03b7 │ │ +020d9e: 5b46 b702 |007b: iput-object v6, v4, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;.validator:Ldnsfilter/android/dnsserverconfig/widget/DNSConfigEntryValidator; // field@02b7 │ │ +020da2: 0e00 |007d: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=30 │ │ 0x0003 line=31 │ │ 0x0005 line=32 │ │ 0x0011 line=33 │ │ 0x0017 line=34 │ │ @@ -23119,17 +23119,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 │ │ -020c0c: |[020c0c] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigEntryView.access$000:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;)Landroid/widget/EditText; │ │ -020c1c: 5400 b402 |0000: iget-object v0, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;.editPortView:Landroid/widget/EditText; // field@02b4 │ │ -020c20: 1100 |0002: return-object v0 │ │ +020c08: |[020c08] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigEntryView.access$000:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;)Landroid/widget/EditText; │ │ +020c18: 5400 b402 |0000: iget-object v0, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;.editPortView:Landroid/widget/EditText; // field@02b4 │ │ +020c1c: 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;) │ │ @@ -23137,17 +23137,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 │ │ -020c84: |[020c84] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigEntryView.access$100:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;)Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$EditEventsListener; │ │ -020c94: 5400 b602 |0000: iget-object v0, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;.listener:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$EditEventsListener; // field@02b6 │ │ -020c98: 1100 |0002: return-object v0 │ │ +020c80: |[020c80] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigEntryView.access$100:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;)Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$EditEventsListener; │ │ +020c90: 5400 b602 |0000: iget-object v0, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;.listener:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$EditEventsListener; // field@02b6 │ │ +020c94: 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;) │ │ @@ -23155,17 +23155,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 │ │ -020c24: |[020c24] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigEntryView.access$200:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;)Landroid/widget/EditText; │ │ -020c34: 5400 b302 |0000: iget-object v0, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;.editIpView:Landroid/widget/EditText; // field@02b3 │ │ -020c38: 1100 |0002: return-object v0 │ │ +020c20: |[020c20] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigEntryView.access$200:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;)Landroid/widget/EditText; │ │ +020c30: 5400 b302 |0000: iget-object v0, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;.editIpView:Landroid/widget/EditText; // field@02b3 │ │ +020c34: 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;) │ │ @@ -23173,17 +23173,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 │ │ -020c54: |[020c54] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigEntryView.access$300:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;)Landroid/widget/Spinner; │ │ -020c64: 5400 b502 |0000: iget-object v0, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;.editProtocolSpinner:Landroid/widget/Spinner; // field@02b5 │ │ -020c68: 1100 |0002: return-object v0 │ │ +020c50: |[020c50] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigEntryView.access$300:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;)Landroid/widget/Spinner; │ │ +020c60: 5400 b502 |0000: iget-object v0, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;.editProtocolSpinner:Landroid/widget/Spinner; // field@02b5 │ │ +020c64: 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;) │ │ @@ -23191,17 +23191,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 │ │ -020c3c: |[020c3c] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigEntryView.access$400:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;)Landroid/widget/EditText; │ │ -020c4c: 5400 b102 |0000: iget-object v0, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;.editEndpointView:Landroid/widget/EditText; // field@02b1 │ │ -020c50: 1100 |0002: return-object v0 │ │ +020c38: |[020c38] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigEntryView.access$400:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;)Landroid/widget/EditText; │ │ +020c48: 5400 b102 |0000: iget-object v0, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;.editEndpointView:Landroid/widget/EditText; // field@02b1 │ │ +020c4c: 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;) │ │ @@ -23209,17 +23209,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 │ │ -020c6c: |[020c6c] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigEntryView.access$500:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;)Ldnsfilter/android/dnsserverconfig/widget/DNSConfigEntryValidator; │ │ -020c7c: 5400 b702 |0000: iget-object v0, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;.validator:Ldnsfilter/android/dnsserverconfig/widget/DNSConfigEntryValidator; // field@02b7 │ │ -020c80: 1100 |0002: return-object v0 │ │ +020c68: |[020c68] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigEntryView.access$500:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;)Ldnsfilter/android/dnsserverconfig/widget/DNSConfigEntryValidator; │ │ +020c78: 5400 b702 |0000: iget-object v0, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;.validator:Ldnsfilter/android/dnsserverconfig/widget/DNSConfigEntryValidator; // field@02b7 │ │ +020c7c: 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;) │ │ @@ -23227,17 +23227,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 │ │ -020da8: |[020da8] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigEntryView.access$600:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult;)V │ │ -020db8: 7020 1d04 1000 |0000: invoke-direct {v0, v1}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;.setupErrors:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult;)V // method@041d │ │ -020dbe: 0e00 |0003: return-void │ │ +020da4: |[020da4] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigEntryView.access$600:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult;)V │ │ +020db4: 7020 1d04 1000 |0000: invoke-direct {v0, v1}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;.setupErrors:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult;)V // method@041d │ │ +020dba: 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; │ │ │ │ @@ -23246,17 +23246,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 │ │ -020bf4: |[020bf4] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigEntryView.access$700:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;)Landroid/app/Dialog; │ │ -020c04: 5400 b202 |0000: iget-object v0, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;.editEntryDialog:Landroid/app/Dialog; // field@02b2 │ │ -020c08: 1100 |0002: return-object v0 │ │ +020bf0: |[020bf0] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigEntryView.access$700:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;)Landroid/app/Dialog; │ │ +020c00: 5400 b202 |0000: iget-object v0, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;.editEntryDialog:Landroid/app/Dialog; // field@02b2 │ │ +020c04: 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;) │ │ @@ -23264,47 +23264,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 │ │ -020dc0: |[020dc0] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigEntryView.setupErrors:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult;)V │ │ -020dd0: 6e10 fe03 0400 |0000: invoke-virtual {v4}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult;.getIpError:()Ljava/lang/String; // method@03fe │ │ -020dd6: 0c00 |0003: move-result-object v0 │ │ -020dd8: 1201 |0004: const/4 v1, #int 0 // #0 │ │ -020dda: 3800 1600 |0005: if-eqz v0, 001b // +0016 │ │ -020dde: 6e10 fe03 0400 |0007: invoke-virtual {v4}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult;.getIpError:()Ljava/lang/String; // method@03fe │ │ -020de4: 0c00 |000a: move-result-object v0 │ │ -020de6: 6e10 9105 0000 |000b: invoke-virtual {v0}, Ljava/lang/String;.isEmpty:()Z // method@0591 │ │ -020dec: 0a00 |000e: move-result v0 │ │ -020dee: 3900 0c00 |000f: if-nez v0, 001b // +000c │ │ -020df2: 5430 b302 |0011: iget-object v0, v3, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;.editIpView:Landroid/widget/EditText; // field@02b3 │ │ -020df6: 6e10 fe03 0400 |0013: invoke-virtual {v4}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult;.getIpError:()Ljava/lang/String; // method@03fe │ │ -020dfc: 0c02 |0016: move-result-object v2 │ │ -020dfe: 6e20 de00 2000 |0017: invoke-virtual {v0, v2}, Landroid/widget/EditText;.setError:(Ljava/lang/CharSequence;)V // method@00de │ │ -020e04: 2806 |001a: goto 0020 // +0006 │ │ -020e06: 5430 b302 |001b: iget-object v0, v3, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;.editIpView:Landroid/widget/EditText; // field@02b3 │ │ -020e0a: 6e20 de00 1000 |001d: invoke-virtual {v0, v1}, Landroid/widget/EditText;.setError:(Ljava/lang/CharSequence;)V // method@00de │ │ -020e10: 6e10 ff03 0400 |0020: invoke-virtual {v4}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult;.getPortError:()Ljava/lang/String; // method@03ff │ │ -020e16: 0c00 |0023: move-result-object v0 │ │ -020e18: 3800 1600 |0024: if-eqz v0, 003a // +0016 │ │ -020e1c: 6e10 ff03 0400 |0026: invoke-virtual {v4}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult;.getPortError:()Ljava/lang/String; // method@03ff │ │ -020e22: 0c00 |0029: move-result-object v0 │ │ -020e24: 6e10 9105 0000 |002a: invoke-virtual {v0}, Ljava/lang/String;.isEmpty:()Z // method@0591 │ │ -020e2a: 0a00 |002d: move-result v0 │ │ -020e2c: 3900 0c00 |002e: if-nez v0, 003a // +000c │ │ -020e30: 5430 b402 |0030: iget-object v0, v3, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;.editPortView:Landroid/widget/EditText; // field@02b4 │ │ -020e34: 6e10 ff03 0400 |0032: invoke-virtual {v4}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult;.getPortError:()Ljava/lang/String; // method@03ff │ │ -020e3a: 0c04 |0035: move-result-object v4 │ │ -020e3c: 6e20 de00 4000 |0036: invoke-virtual {v0, v4}, Landroid/widget/EditText;.setError:(Ljava/lang/CharSequence;)V // method@00de │ │ -020e42: 2806 |0039: goto 003f // +0006 │ │ -020e44: 5434 b402 |003a: iget-object v4, v3, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;.editPortView:Landroid/widget/EditText; // field@02b4 │ │ -020e48: 6e20 de00 1400 |003c: invoke-virtual {v4, v1}, Landroid/widget/EditText;.setError:(Ljava/lang/CharSequence;)V // method@00de │ │ -020e4e: 0e00 |003f: return-void │ │ +020dbc: |[020dbc] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigEntryView.setupErrors:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult;)V │ │ +020dcc: 6e10 fe03 0400 |0000: invoke-virtual {v4}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult;.getIpError:()Ljava/lang/String; // method@03fe │ │ +020dd2: 0c00 |0003: move-result-object v0 │ │ +020dd4: 1201 |0004: const/4 v1, #int 0 // #0 │ │ +020dd6: 3800 1600 |0005: if-eqz v0, 001b // +0016 │ │ +020dda: 6e10 fe03 0400 |0007: invoke-virtual {v4}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult;.getIpError:()Ljava/lang/String; // method@03fe │ │ +020de0: 0c00 |000a: move-result-object v0 │ │ +020de2: 6e10 9105 0000 |000b: invoke-virtual {v0}, Ljava/lang/String;.isEmpty:()Z // method@0591 │ │ +020de8: 0a00 |000e: move-result v0 │ │ +020dea: 3900 0c00 |000f: if-nez v0, 001b // +000c │ │ +020dee: 5430 b302 |0011: iget-object v0, v3, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;.editIpView:Landroid/widget/EditText; // field@02b3 │ │ +020df2: 6e10 fe03 0400 |0013: invoke-virtual {v4}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult;.getIpError:()Ljava/lang/String; // method@03fe │ │ +020df8: 0c02 |0016: move-result-object v2 │ │ +020dfa: 6e20 de00 2000 |0017: invoke-virtual {v0, v2}, Landroid/widget/EditText;.setError:(Ljava/lang/CharSequence;)V // method@00de │ │ +020e00: 2806 |001a: goto 0020 // +0006 │ │ +020e02: 5430 b302 |001b: iget-object v0, v3, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;.editIpView:Landroid/widget/EditText; // field@02b3 │ │ +020e06: 6e20 de00 1000 |001d: invoke-virtual {v0, v1}, Landroid/widget/EditText;.setError:(Ljava/lang/CharSequence;)V // method@00de │ │ +020e0c: 6e10 ff03 0400 |0020: invoke-virtual {v4}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult;.getPortError:()Ljava/lang/String; // method@03ff │ │ +020e12: 0c00 |0023: move-result-object v0 │ │ +020e14: 3800 1600 |0024: if-eqz v0, 003a // +0016 │ │ +020e18: 6e10 ff03 0400 |0026: invoke-virtual {v4}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult;.getPortError:()Ljava/lang/String; // method@03ff │ │ +020e1e: 0c00 |0029: move-result-object v0 │ │ +020e20: 6e10 9105 0000 |002a: invoke-virtual {v0}, Ljava/lang/String;.isEmpty:()Z // method@0591 │ │ +020e26: 0a00 |002d: move-result v0 │ │ +020e28: 3900 0c00 |002e: if-nez v0, 003a // +000c │ │ +020e2c: 5430 b402 |0030: iget-object v0, v3, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;.editPortView:Landroid/widget/EditText; // field@02b4 │ │ +020e30: 6e10 ff03 0400 |0032: invoke-virtual {v4}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult;.getPortError:()Ljava/lang/String; // method@03ff │ │ +020e36: 0c04 |0035: move-result-object v4 │ │ +020e38: 6e20 de00 4000 |0036: invoke-virtual {v0, v4}, Landroid/widget/EditText;.setError:(Ljava/lang/CharSequence;)V // method@00de │ │ +020e3e: 2806 |0039: goto 003f // +0006 │ │ +020e40: 5434 b402 |003a: iget-object v4, v3, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;.editPortView:Landroid/widget/EditText; // field@02b4 │ │ +020e44: 6e20 de00 1400 |003c: invoke-virtual {v4, v1}, Landroid/widget/EditText;.setError:(Ljava/lang/CharSequence;)V // method@00de │ │ +020e4a: 0e00 |003f: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=128 │ │ 0x0011 line=129 │ │ 0x001b line=131 │ │ 0x0020 line=133 │ │ 0x0030 line=134 │ │ @@ -23319,60 +23319,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 │ │ -020e50: |[020e50] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigEntryView.showEntry:(Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;Z)V │ │ -020e60: 5420 b302 |0000: iget-object v0, v2, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;.editIpView:Landroid/widget/EditText; // field@02b3 │ │ -020e64: 6e10 4a04 0300 |0002: invoke-virtual {v3}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.getIp:()Ljava/lang/String; // method@044a │ │ -020e6a: 0c01 |0005: move-result-object v1 │ │ -020e6c: 6e20 e600 1000 |0006: invoke-virtual {v0, v1}, Landroid/widget/EditText;.setText:(Ljava/lang/CharSequence;)V // method@00e6 │ │ -020e72: 5420 b402 |0009: iget-object v0, v2, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;.editPortView:Landroid/widget/EditText; // field@02b4 │ │ -020e76: 6e10 4d04 0300 |000b: invoke-virtual {v3}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.getPort:()Ljava/lang/String; // method@044d │ │ -020e7c: 0c01 |000e: move-result-object v1 │ │ -020e7e: 6e20 e600 1000 |000f: invoke-virtual {v0, v1}, Landroid/widget/EditText;.setText:(Ljava/lang/CharSequence;)V // method@00e6 │ │ -020e84: 5420 b102 |0012: iget-object v0, v2, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;.editEndpointView:Landroid/widget/EditText; // field@02b1 │ │ -020e88: 6e10 4804 0300 |0014: invoke-virtual {v3}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.getEndpoint:()Ljava/lang/String; // method@0448 │ │ -020e8e: 0c01 |0017: move-result-object v1 │ │ -020e90: 6e20 e600 1000 |0018: invoke-virtual {v0, v1}, Landroid/widget/EditText;.setText:(Ljava/lang/CharSequence;)V // method@00e6 │ │ -020e96: 5420 b502 |001b: iget-object v0, v2, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;.editProtocolSpinner:Landroid/widget/Spinner; // field@02b5 │ │ -020e9a: 6e10 4e04 0300 |001d: invoke-virtual {v3}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.getProtocol:()Ldnsfilter/android/dnsserverconfig/widget/DNSType; // method@044e │ │ -020ea0: 0c01 |0020: move-result-object v1 │ │ -020ea2: 6e10 3104 0100 |0021: invoke-virtual {v1}, Ldnsfilter/android/dnsserverconfig/widget/DNSType;.ordinal:()I // method@0431 │ │ -020ea8: 0a01 |0024: move-result v1 │ │ -020eaa: 6e20 f900 1000 |0025: invoke-virtual {v0, v1}, Landroid/widget/Spinner;.setSelection:(I)V // method@00f9 │ │ -020eb0: 5420 b502 |0028: iget-object v0, v2, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;.editProtocolSpinner:Landroid/widget/Spinner; // field@02b5 │ │ -020eb4: 2201 db00 |002a: new-instance v1, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$1; // type@00db │ │ -020eb8: 7020 0404 2100 |002c: invoke-direct {v1, v2}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$1;.:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;)V // method@0404 │ │ -020ebe: 6e20 f800 1000 |002f: invoke-virtual {v0, v1}, Landroid/widget/Spinner;.setOnItemSelectedListener:(Landroid/widget/AdapterView$OnItemSelectedListener;)V // method@00f8 │ │ -020ec4: 5420 b202 |0032: iget-object v0, v2, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;.editEntryDialog:Landroid/app/Dialog; // field@02b2 │ │ -020ec8: 2201 dc00 |0034: new-instance v1, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$2; // type@00dc │ │ -020ecc: 7040 0704 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@0407 │ │ -020ed2: 6e20 1d00 1000 |0039: invoke-virtual {v0, v1}, Landroid/app/Dialog;.setOnCancelListener:(Landroid/content/DialogInterface$OnCancelListener;)V // method@001d │ │ -020ed8: 5424 b202 |003c: iget-object v4, v2, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;.editEntryDialog:Landroid/app/Dialog; // field@02b2 │ │ -020edc: 6e10 2200 0400 |003e: invoke-virtual {v4}, Landroid/app/Dialog;.show:()V // method@0022 │ │ -020ee2: 5424 ae02 |0041: iget-object v4, v2, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;.applyChangesButton:Landroid/widget/Button; // field@02ae │ │ -020ee6: 2200 dd00 |0043: new-instance v0, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$3; // type@00dd │ │ -020eea: 7030 0904 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@0409 │ │ -020ef0: 6e20 c500 0400 |0048: invoke-virtual {v4, v0}, Landroid/widget/Button;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@00c5 │ │ -020ef6: 5424 af02 |004b: iget-object v4, v2, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;.cancelChangesButton:Landroid/widget/Button; // field@02af │ │ -020efa: 2200 de00 |004d: new-instance v0, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$4; // type@00de │ │ -020efe: 7020 0b04 2000 |004f: invoke-direct {v0, v2}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$4;.:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;)V // method@040b │ │ -020f04: 6e20 c500 0400 |0052: invoke-virtual {v4, v0}, Landroid/widget/Button;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@00c5 │ │ -020f0a: 5424 b002 |0055: iget-object v4, v2, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;.deleteEntryButton:Landroid/widget/Button; // field@02b0 │ │ -020f0e: 2200 df00 |0057: new-instance v0, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$5; // type@00df │ │ -020f12: 7030 0d04 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@040d │ │ -020f18: 6e20 c500 0400 |005c: invoke-virtual {v4, v0}, Landroid/widget/Button;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@00c5 │ │ -020f1e: 5424 b202 |005f: iget-object v4, v2, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;.editEntryDialog:Landroid/app/Dialog; // field@02b2 │ │ -020f22: 2200 e000 |0061: new-instance v0, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$6; // type@00e0 │ │ -020f26: 7030 0f04 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@040f │ │ -020f2c: 6e20 1e00 0400 |0066: invoke-virtual {v4, v0}, Landroid/app/Dialog;.setOnDismissListener:(Landroid/content/DialogInterface$OnDismissListener;)V // method@001e │ │ -020f32: 0e00 |0069: return-void │ │ +020e4c: |[020e4c] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigEntryView.showEntry:(Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;Z)V │ │ +020e5c: 5420 b302 |0000: iget-object v0, v2, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;.editIpView:Landroid/widget/EditText; // field@02b3 │ │ +020e60: 6e10 4a04 0300 |0002: invoke-virtual {v3}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.getIp:()Ljava/lang/String; // method@044a │ │ +020e66: 0c01 |0005: move-result-object v1 │ │ +020e68: 6e20 e600 1000 |0006: invoke-virtual {v0, v1}, Landroid/widget/EditText;.setText:(Ljava/lang/CharSequence;)V // method@00e6 │ │ +020e6e: 5420 b402 |0009: iget-object v0, v2, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;.editPortView:Landroid/widget/EditText; // field@02b4 │ │ +020e72: 6e10 4d04 0300 |000b: invoke-virtual {v3}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.getPort:()Ljava/lang/String; // method@044d │ │ +020e78: 0c01 |000e: move-result-object v1 │ │ +020e7a: 6e20 e600 1000 |000f: invoke-virtual {v0, v1}, Landroid/widget/EditText;.setText:(Ljava/lang/CharSequence;)V // method@00e6 │ │ +020e80: 5420 b102 |0012: iget-object v0, v2, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;.editEndpointView:Landroid/widget/EditText; // field@02b1 │ │ +020e84: 6e10 4804 0300 |0014: invoke-virtual {v3}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.getEndpoint:()Ljava/lang/String; // method@0448 │ │ +020e8a: 0c01 |0017: move-result-object v1 │ │ +020e8c: 6e20 e600 1000 |0018: invoke-virtual {v0, v1}, Landroid/widget/EditText;.setText:(Ljava/lang/CharSequence;)V // method@00e6 │ │ +020e92: 5420 b502 |001b: iget-object v0, v2, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;.editProtocolSpinner:Landroid/widget/Spinner; // field@02b5 │ │ +020e96: 6e10 4e04 0300 |001d: invoke-virtual {v3}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.getProtocol:()Ldnsfilter/android/dnsserverconfig/widget/DNSType; // method@044e │ │ +020e9c: 0c01 |0020: move-result-object v1 │ │ +020e9e: 6e10 3104 0100 |0021: invoke-virtual {v1}, Ldnsfilter/android/dnsserverconfig/widget/DNSType;.ordinal:()I // method@0431 │ │ +020ea4: 0a01 |0024: move-result v1 │ │ +020ea6: 6e20 f900 1000 |0025: invoke-virtual {v0, v1}, Landroid/widget/Spinner;.setSelection:(I)V // method@00f9 │ │ +020eac: 5420 b502 |0028: iget-object v0, v2, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;.editProtocolSpinner:Landroid/widget/Spinner; // field@02b5 │ │ +020eb0: 2201 db00 |002a: new-instance v1, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$1; // type@00db │ │ +020eb4: 7020 0404 2100 |002c: invoke-direct {v1, v2}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$1;.:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;)V // method@0404 │ │ +020eba: 6e20 f800 1000 |002f: invoke-virtual {v0, v1}, Landroid/widget/Spinner;.setOnItemSelectedListener:(Landroid/widget/AdapterView$OnItemSelectedListener;)V // method@00f8 │ │ +020ec0: 5420 b202 |0032: iget-object v0, v2, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;.editEntryDialog:Landroid/app/Dialog; // field@02b2 │ │ +020ec4: 2201 dc00 |0034: new-instance v1, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$2; // type@00dc │ │ +020ec8: 7040 0704 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@0407 │ │ +020ece: 6e20 1d00 1000 |0039: invoke-virtual {v0, v1}, Landroid/app/Dialog;.setOnCancelListener:(Landroid/content/DialogInterface$OnCancelListener;)V // method@001d │ │ +020ed4: 5424 b202 |003c: iget-object v4, v2, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;.editEntryDialog:Landroid/app/Dialog; // field@02b2 │ │ +020ed8: 6e10 2200 0400 |003e: invoke-virtual {v4}, Landroid/app/Dialog;.show:()V // method@0022 │ │ +020ede: 5424 ae02 |0041: iget-object v4, v2, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;.applyChangesButton:Landroid/widget/Button; // field@02ae │ │ +020ee2: 2200 dd00 |0043: new-instance v0, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$3; // type@00dd │ │ +020ee6: 7030 0904 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@0409 │ │ +020eec: 6e20 c500 0400 |0048: invoke-virtual {v4, v0}, Landroid/widget/Button;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@00c5 │ │ +020ef2: 5424 af02 |004b: iget-object v4, v2, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;.cancelChangesButton:Landroid/widget/Button; // field@02af │ │ +020ef6: 2200 de00 |004d: new-instance v0, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$4; // type@00de │ │ +020efa: 7020 0b04 2000 |004f: invoke-direct {v0, v2}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$4;.:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;)V // method@040b │ │ +020f00: 6e20 c500 0400 |0052: invoke-virtual {v4, v0}, Landroid/widget/Button;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@00c5 │ │ +020f06: 5424 b002 |0055: iget-object v4, v2, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;.deleteEntryButton:Landroid/widget/Button; // field@02b0 │ │ +020f0a: 2200 df00 |0057: new-instance v0, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$5; // type@00df │ │ +020f0e: 7030 0d04 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@040d │ │ +020f14: 6e20 c500 0400 |005c: invoke-virtual {v4, v0}, Landroid/widget/Button;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@00c5 │ │ +020f1a: 5424 b202 |005f: iget-object v4, v2, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;.editEntryDialog:Landroid/app/Dialog; // field@02b2 │ │ +020f1e: 2200 e000 |0061: new-instance v0, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$6; // type@00e0 │ │ +020f22: 7030 0f04 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@040f │ │ +020f28: 6e20 1e00 0400 |0066: invoke-virtual {v4, v0}, Landroid/app/Dialog;.setOnDismissListener:(Landroid/content/DialogInterface$OnDismissListener;)V // method@001e │ │ +020f2e: 0e00 |0069: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=54 │ │ 0x0009 line=55 │ │ 0x0012 line=56 │ │ 0x001b line=57 │ │ 0x0028 line=58 │ │ @@ -23437,38 +23437,38 @@ │ │ type : '()V' │ │ access : 0x10008 (STATIC CONSTRUCTOR) │ │ code - │ │ registers : 1 │ │ ins : 0 │ │ outs : 0 │ │ insns size : 5 16-bit code units │ │ -02108c: |[02108c] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigTestResult.:()V │ │ -02109c: 6200 9e02 |0000: sget-object v0, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState;.NOT_STARTED:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState; // field@029e │ │ -0210a0: 6900 ba02 |0002: sput-object v0, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult;.DEFAULT_STATE:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState; // field@02ba │ │ -0210a4: 0e00 |0004: return-void │ │ +021088: |[021088] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigTestResult.:()V │ │ +021098: 6200 9e02 |0000: sget-object v0, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState;.NOT_STARTED:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState; // field@029e │ │ +02109c: 6900 ba02 |0002: sput-object v0, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult;.DEFAULT_STATE:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState; // field@02ba │ │ +0210a0: 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 │ │ -0210a8: |[0210a8] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigTestResult.:()V │ │ -0210b8: 6200 ba02 |0000: sget-object v0, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult;.DEFAULT_STATE:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState; // field@02ba │ │ -0210bc: 1a01 0000 |0002: const-string v1, "" // string@0000 │ │ -0210c0: 1602 0000 |0004: const-wide/16 v2, #int 0 // #0 │ │ -0210c4: 7053 2404 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@0424 │ │ -0210ca: 0e00 |0009: return-void │ │ +0210a4: |[0210a4] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigTestResult.:()V │ │ +0210b4: 6200 ba02 |0000: sget-object v0, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult;.DEFAULT_STATE:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState; // field@02ba │ │ +0210b8: 1a01 0000 |0002: const-string v1, "" // string@0000 │ │ +0210bc: 1602 0000 |0004: const-wide/16 v2, #int 0 // #0 │ │ +0210c0: 7053 2404 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@0424 │ │ +0210c6: 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;) │ │ @@ -23476,19 +23476,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 │ │ -0210cc: |[0210cc] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigTestResult.:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState;)V │ │ -0210dc: 1a00 0000 |0000: const-string v0, "" // string@0000 │ │ -0210e0: 1601 0000 |0002: const-wide/16 v1, #int 0 // #0 │ │ -0210e4: 7052 2404 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@0424 │ │ -0210ea: 0e00 |0007: return-void │ │ +0210c8: |[0210c8] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigTestResult.:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState;)V │ │ +0210d8: 1a00 0000 |0000: const-string v0, "" // string@0000 │ │ +0210dc: 1601 0000 |0002: const-wide/16 v1, #int 0 // #0 │ │ +0210e0: 7052 2404 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@0424 │ │ +0210e6: 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; │ │ │ │ @@ -23497,18 +23497,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 │ │ -02112c: |[02112c] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigTestResult.:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState;J)V │ │ -02113c: 1a00 0000 |0000: const-string v0, "" // string@0000 │ │ -021140: 7054 2404 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@0424 │ │ -021146: 0e00 |0005: return-void │ │ +021128: |[021128] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigTestResult.:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState;J)V │ │ +021138: 1a00 0000 |0000: const-string v0, "" // string@0000 │ │ +02113c: 7054 2404 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@0424 │ │ +021142: 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 │ │ @@ -23518,18 +23518,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 │ │ -0210ec: |[0210ec] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigTestResult.:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState;Ljava/lang/String;)V │ │ -0210fc: 1600 0000 |0000: const-wide/16 v0, #int 0 // #0 │ │ -021100: 7051 2404 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@0424 │ │ -021106: 0e00 |0005: return-void │ │ +0210e8: |[0210e8] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigTestResult.:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState;Ljava/lang/String;)V │ │ +0210f8: 1600 0000 |0000: const-wide/16 v0, #int 0 // #0 │ │ +0210fc: 7051 2404 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@0424 │ │ +021102: 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; │ │ @@ -23539,20 +23539,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 │ │ -021108: |[021108] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigTestResult.:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState;Ljava/lang/String;J)V │ │ -021118: 7010 7305 0000 |0000: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@0573 │ │ -02111e: 5b01 bd02 |0003: iput-object v1, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult;.testState:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState; // field@02bd │ │ -021122: 5b02 bb02 |0005: iput-object v2, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult;.message:Ljava/lang/String; // field@02bb │ │ -021126: 5a03 bc02 |0007: iput-wide v3, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult;.perf:J // field@02bc │ │ -02112a: 0e00 |0009: return-void │ │ +021104: |[021104] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigTestResult.:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState;Ljava/lang/String;J)V │ │ +021114: 7010 7305 0000 |0000: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@0573 │ │ +02111a: 5b01 bd02 |0003: iput-object v1, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult;.testState:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState; // field@02bd │ │ +02111e: 5b02 bb02 |0005: iput-object v2, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult;.message:Ljava/lang/String; // field@02bb │ │ +021122: 5a03 bc02 |0007: iput-wide v3, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult;.perf:J // field@02bc │ │ +021126: 0e00 |0009: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=13 │ │ 0x0003 line=14 │ │ 0x0005 line=15 │ │ 0x0007 line=16 │ │ locals : │ │ @@ -23566,33 +23566,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 │ │ -020f34: |[020f34] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigTestResult.equalStr:(Ljava/lang/String;Ljava/lang/String;)Z │ │ -020f44: 3803 0900 |0000: if-eqz v3, 0009 // +0009 │ │ -020f48: 3804 0700 |0002: if-eqz v4, 0009 // +0007 │ │ -020f4c: 6e20 8b05 4300 |0004: invoke-virtual {v3, v4}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058b │ │ -020f52: 0a03 |0007: move-result v3 │ │ -020f54: 0f03 |0008: return v3 │ │ -020f56: 1210 |0009: const/4 v0, #int 1 // #1 │ │ -020f58: 1201 |000a: const/4 v1, #int 0 // #0 │ │ -020f5a: 3903 0700 |000b: if-nez v3, 0012 // +0007 │ │ -020f5e: 3904 0300 |000d: if-nez v4, 0010 // +0003 │ │ -020f62: 2802 |000f: goto 0011 // +0002 │ │ -020f64: 1200 |0010: const/4 v0, #int 0 // #0 │ │ -020f66: 0f00 |0011: return v0 │ │ -020f68: 3904 0700 |0012: if-nez v4, 0019 // +0007 │ │ -020f6c: 3903 0300 |0014: if-nez v3, 0017 // +0003 │ │ -020f70: 2802 |0016: goto 0018 // +0002 │ │ -020f72: 1200 |0017: const/4 v0, #int 0 // #0 │ │ -020f74: 0f00 |0018: return v0 │ │ -020f76: 0f01 |0019: return v1 │ │ +020f30: |[020f30] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigTestResult.equalStr:(Ljava/lang/String;Ljava/lang/String;)Z │ │ +020f40: 3803 0900 |0000: if-eqz v3, 0009 // +0009 │ │ +020f44: 3804 0700 |0002: if-eqz v4, 0009 // +0007 │ │ +020f48: 6e20 8b05 4300 |0004: invoke-virtual {v3, v4}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058b │ │ +020f4e: 0a03 |0007: move-result v3 │ │ +020f50: 0f03 |0008: return v3 │ │ +020f52: 1210 |0009: const/4 v0, #int 1 // #1 │ │ +020f54: 1201 |000a: const/4 v1, #int 0 // #0 │ │ +020f56: 3903 0700 |000b: if-nez v3, 0012 // +0007 │ │ +020f5a: 3904 0300 |000d: if-nez v4, 0010 // +0003 │ │ +020f5e: 2802 |000f: goto 0011 // +0002 │ │ +020f60: 1200 |0010: const/4 v0, #int 0 // #0 │ │ +020f62: 0f00 |0011: return v0 │ │ +020f64: 3904 0700 |0012: if-nez v4, 0019 // +0007 │ │ +020f68: 3903 0300 |0014: if-nez v3, 0017 // +0003 │ │ +020f6c: 2802 |0016: goto 0018 // +0002 │ │ +020f6e: 1200 |0017: const/4 v0, #int 0 // #0 │ │ +020f70: 0f00 |0018: return v0 │ │ +020f72: 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; │ │ @@ -23603,43 +23603,43 @@ │ │ type : '(Ljava/lang/Object;)Z' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 9 │ │ ins : 2 │ │ outs : 3 │ │ insns size : 48 16-bit code units │ │ -020f78: |[020f78] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigTestResult.equals:(Ljava/lang/Object;)Z │ │ -020f88: 1210 |0000: const/4 v0, #int 1 // #1 │ │ -020f8a: 3387 0300 |0001: if-ne v7, v8, 0004 // +0003 │ │ -020f8e: 0f00 |0003: return v0 │ │ -020f90: 1201 |0004: const/4 v1, #int 0 // #0 │ │ -020f92: 3808 2a00 |0005: if-eqz v8, 002f // +002a │ │ -020f96: 6e10 7505 0700 |0007: invoke-virtual {v7}, Ljava/lang/Object;.getClass:()Ljava/lang/Class; // method@0575 │ │ -020f9c: 0c02 |000a: move-result-object v2 │ │ -020f9e: 6e10 7505 0800 |000b: invoke-virtual {v8}, Ljava/lang/Object;.getClass:()Ljava/lang/Class; // method@0575 │ │ -020fa4: 0c03 |000e: move-result-object v3 │ │ -020fa6: 3232 0300 |000f: if-eq v2, v3, 0012 // +0003 │ │ -020faa: 281e |0011: goto 002f // +001e │ │ -020fac: 1f08 e300 |0012: check-cast v8, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult; // type@00e3 │ │ -020fb0: 5372 bc02 |0014: iget-wide v2, v7, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult;.perf:J // field@02bc │ │ -020fb4: 5384 bc02 |0016: iget-wide v4, v8, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult;.perf:J // field@02bc │ │ -020fb8: 3106 0204 |0018: cmp-long v6, v2, v4 │ │ -020fbc: 3906 1300 |001a: if-nez v6, 002d // +0013 │ │ -020fc0: 5472 bd02 |001c: iget-object v2, v7, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult;.testState:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState; // field@02bd │ │ -020fc4: 5483 bd02 |001e: iget-object v3, v8, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult;.testState:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState; // field@02bd │ │ -020fc8: 3332 0d00 |0020: if-ne v2, v3, 002d // +000d │ │ -020fcc: 5472 bb02 |0022: iget-object v2, v7, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult;.message:Ljava/lang/String; // field@02bb │ │ -020fd0: 5488 bb02 |0024: iget-object v8, v8, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult;.message:Ljava/lang/String; // field@02bb │ │ -020fd4: 7030 2504 2708 |0026: invoke-direct {v7, v2, v8}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult;.equalStr:(Ljava/lang/String;Ljava/lang/String;)Z // method@0425 │ │ -020fda: 0a08 |0029: move-result v8 │ │ -020fdc: 3808 0300 |002a: if-eqz v8, 002d // +0003 │ │ -020fe0: 2802 |002c: goto 002e // +0002 │ │ -020fe2: 1200 |002d: const/4 v0, #int 0 // #0 │ │ -020fe4: 0f00 |002e: return v0 │ │ -020fe6: 0f01 |002f: return v1 │ │ +020f74: |[020f74] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigTestResult.equals:(Ljava/lang/Object;)Z │ │ +020f84: 1210 |0000: const/4 v0, #int 1 // #1 │ │ +020f86: 3387 0300 |0001: if-ne v7, v8, 0004 // +0003 │ │ +020f8a: 0f00 |0003: return v0 │ │ +020f8c: 1201 |0004: const/4 v1, #int 0 // #0 │ │ +020f8e: 3808 2a00 |0005: if-eqz v8, 002f // +002a │ │ +020f92: 6e10 7505 0700 |0007: invoke-virtual {v7}, Ljava/lang/Object;.getClass:()Ljava/lang/Class; // method@0575 │ │ +020f98: 0c02 |000a: move-result-object v2 │ │ +020f9a: 6e10 7505 0800 |000b: invoke-virtual {v8}, Ljava/lang/Object;.getClass:()Ljava/lang/Class; // method@0575 │ │ +020fa0: 0c03 |000e: move-result-object v3 │ │ +020fa2: 3232 0300 |000f: if-eq v2, v3, 0012 // +0003 │ │ +020fa6: 281e |0011: goto 002f // +001e │ │ +020fa8: 1f08 e300 |0012: check-cast v8, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult; // type@00e3 │ │ +020fac: 5372 bc02 |0014: iget-wide v2, v7, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult;.perf:J // field@02bc │ │ +020fb0: 5384 bc02 |0016: iget-wide v4, v8, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult;.perf:J // field@02bc │ │ +020fb4: 3106 0204 |0018: cmp-long v6, v2, v4 │ │ +020fb8: 3906 1300 |001a: if-nez v6, 002d // +0013 │ │ +020fbc: 5472 bd02 |001c: iget-object v2, v7, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult;.testState:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState; // field@02bd │ │ +020fc0: 5483 bd02 |001e: iget-object v3, v8, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult;.testState:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState; // field@02bd │ │ +020fc4: 3332 0d00 |0020: if-ne v2, v3, 002d // +000d │ │ +020fc8: 5472 bb02 |0022: iget-object v2, v7, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult;.message:Ljava/lang/String; // field@02bb │ │ +020fcc: 5488 bb02 |0024: iget-object v8, v8, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult;.message:Ljava/lang/String; // field@02bb │ │ +020fd0: 7030 2504 2708 |0026: invoke-direct {v7, v2, v8}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult;.equalStr:(Ljava/lang/String;Ljava/lang/String;)Z // method@0425 │ │ +020fd6: 0a08 |0029: move-result v8 │ │ +020fd8: 3808 0300 |002a: if-eqz v8, 002d // +0003 │ │ +020fdc: 2802 |002c: goto 002e // +0002 │ │ +020fde: 1200 |002d: const/4 v0, #int 0 // #0 │ │ +020fe0: 0f00 |002e: return v0 │ │ +020fe2: 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; │ │ @@ -23650,17 +23650,17 @@ │ │ type : '()Ljava/lang/String;' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 0 │ │ insns size : 3 16-bit code units │ │ -02105c: |[02105c] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigTestResult.getMessage:()Ljava/lang/String; │ │ -02106c: 5410 bb02 |0000: iget-object v0, v1, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult;.message:Ljava/lang/String; // field@02bb │ │ -021070: 1100 |0002: return-object v0 │ │ +021058: |[021058] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigTestResult.getMessage:()Ljava/lang/String; │ │ +021068: 5410 bb02 |0000: iget-object v0, v1, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult;.message:Ljava/lang/String; // field@02bb │ │ +02106c: 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;) │ │ @@ -23668,17 +23668,17 @@ │ │ type : '()J' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 3 │ │ ins : 1 │ │ outs : 0 │ │ insns size : 3 16-bit code units │ │ -021074: |[021074] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigTestResult.getPerf:()J │ │ -021084: 5320 bc02 |0000: iget-wide v0, v2, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult;.perf:J // field@02bc │ │ -021088: 1000 |0002: return-wide v0 │ │ +021070: |[021070] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigTestResult.getPerf:()J │ │ +021080: 5320 bc02 |0000: iget-wide v0, v2, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult;.perf:J // field@02bc │ │ +021084: 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;) │ │ @@ -23686,17 +23686,17 @@ │ │ type : '()Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState;' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 0 │ │ insns size : 3 16-bit code units │ │ -020fe8: |[020fe8] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigTestResult.getTestState:()Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState; │ │ -020ff8: 5410 bd02 |0000: iget-object v0, v1, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult;.testState:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState; // field@02bd │ │ -020ffc: 1100 |0002: return-object v0 │ │ +020fe4: |[020fe4] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigTestResult.getTestState:()Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState; │ │ +020ff4: 5410 bd02 |0000: iget-object v0, v1, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult;.testState:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState; // field@02bd │ │ +020ff8: 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;) │ │ @@ -23704,38 +23704,38 @@ │ │ type : '()I' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 7 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 38 16-bit code units │ │ -021000: |[021000] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigTestResult.hashCode:()I │ │ -021010: 5460 bd02 |0000: iget-object v0, v6, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult;.testState:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState; // field@02bd │ │ -021014: 5461 bb02 |0002: iget-object v1, v6, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult;.message:Ljava/lang/String; // field@02bb │ │ -021018: 5362 bc02 |0004: iget-wide v2, v6, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult;.perf:J // field@02bc │ │ -02101c: 7120 6c05 3200 |0006: invoke-static {v2, v3}, Ljava/lang/Long;.valueOf:(J)Ljava/lang/Long; // method@056c │ │ -021022: 0c02 |0009: move-result-object v2 │ │ -021024: 1233 |000a: const/4 v3, #int 3 // #3 │ │ -021026: 2334 ac01 |000b: new-array v4, v3, [Ljava/lang/Object; // type@01ac │ │ -02102a: 1205 |000d: const/4 v5, #int 0 // #0 │ │ -02102c: 4d00 0405 |000e: aput-object v0, v4, v5 │ │ -021030: 1210 |0010: const/4 v0, #int 1 // #1 │ │ -021032: 4d01 0400 |0011: aput-object v1, v4, v0 │ │ -021036: 1220 |0013: const/4 v0, #int 2 // #2 │ │ -021038: 4d02 0400 |0014: aput-object v2, v4, v0 │ │ -02103c: 1200 |0016: const/4 v0, #int 0 // #0 │ │ -02103e: 3535 0e00 |0017: if-ge v5, v3, 0025 // +000e │ │ -021042: da00 001f |0019: mul-int/lit8 v0, v0, #int 31 // #1f │ │ -021046: 4601 0405 |001b: aget-object v1, v4, v5 │ │ -02104a: 6e10 7605 0100 |001d: invoke-virtual {v1}, Ljava/lang/Object;.hashCode:()I // method@0576 │ │ -021050: 0a01 |0020: move-result v1 │ │ -021052: b010 |0021: add-int/2addr v0, v1 │ │ -021054: d805 0501 |0022: add-int/lit8 v5, v5, #int 1 // #01 │ │ -021058: 28f3 |0024: goto 0017 // -000d │ │ -02105a: 0f00 |0025: return v0 │ │ +020ffc: |[020ffc] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigTestResult.hashCode:()I │ │ +02100c: 5460 bd02 |0000: iget-object v0, v6, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult;.testState:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState; // field@02bd │ │ +021010: 5461 bb02 |0002: iget-object v1, v6, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult;.message:Ljava/lang/String; // field@02bb │ │ +021014: 5362 bc02 |0004: iget-wide v2, v6, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult;.perf:J // field@02bc │ │ +021018: 7120 6c05 3200 |0006: invoke-static {v2, v3}, Ljava/lang/Long;.valueOf:(J)Ljava/lang/Long; // method@056c │ │ +02101e: 0c02 |0009: move-result-object v2 │ │ +021020: 1233 |000a: const/4 v3, #int 3 // #3 │ │ +021022: 2334 ac01 |000b: new-array v4, v3, [Ljava/lang/Object; // type@01ac │ │ +021026: 1205 |000d: const/4 v5, #int 0 // #0 │ │ +021028: 4d00 0405 |000e: aput-object v0, v4, v5 │ │ +02102c: 1210 |0010: const/4 v0, #int 1 // #1 │ │ +02102e: 4d01 0400 |0011: aput-object v1, v4, v0 │ │ +021032: 1220 |0013: const/4 v0, #int 2 // #2 │ │ +021034: 4d02 0400 |0014: aput-object v2, v4, v0 │ │ +021038: 1200 |0016: const/4 v0, #int 0 // #0 │ │ +02103a: 3535 0e00 |0017: if-ge v5, v3, 0025 // +000e │ │ +02103e: da00 001f |0019: mul-int/lit8 v0, v0, #int 31 // #1f │ │ +021042: 4601 0405 |001b: aget-object v1, v4, v5 │ │ +021046: 6e10 7605 0100 |001d: invoke-virtual {v1}, Ljava/lang/Object;.hashCode:()I // method@0576 │ │ +02104c: 0a01 |0020: move-result v1 │ │ +02104e: b010 |0021: add-int/2addr v0, v1 │ │ +021050: d805 0501 |0022: add-int/lit8 v5, v5, #int 1 // #01 │ │ +021054: 28f3 |0024: goto 0017 // -000d │ │ +021056: 0f00 |0025: return v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=68 │ │ 0x001b line=71 │ │ locals : │ │ 0x0000 - 0x0026 reg=6 this Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult; │ │ │ │ @@ -23744,17 +23744,17 @@ │ │ type : '(Ljava/lang/String;)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 2 │ │ outs : 0 │ │ insns size : 3 16-bit code units │ │ -021148: |[021148] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigTestResult.setMessage:(Ljava/lang/String;)V │ │ -021158: 5b01 bb02 |0000: iput-object v1, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult;.message:Ljava/lang/String; // field@02bb │ │ -02115c: 0e00 |0002: return-void │ │ +021144: |[021144] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigTestResult.setMessage:(Ljava/lang/String;)V │ │ +021154: 5b01 bb02 |0000: iput-object v1, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult;.message:Ljava/lang/String; // field@02bb │ │ +021158: 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; │ │ │ │ @@ -23763,17 +23763,17 @@ │ │ type : '(J)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 3 │ │ ins : 3 │ │ outs : 0 │ │ insns size : 3 16-bit code units │ │ -021160: |[021160] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigTestResult.setPerf:(J)V │ │ -021170: 5a01 bc02 |0000: iput-wide v1, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult;.perf:J // field@02bc │ │ -021174: 0e00 |0002: return-void │ │ +02115c: |[02115c] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigTestResult.setPerf:(J)V │ │ +02116c: 5a01 bc02 |0000: iput-wide v1, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult;.perf:J // field@02bc │ │ +021170: 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 │ │ │ │ @@ -23782,17 +23782,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 │ │ -021178: |[021178] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigTestResult.setTestState:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState;)V │ │ -021188: 5b01 bd02 |0000: iput-object v1, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult;.testState:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState; // field@02bd │ │ -02118c: 0e00 |0002: return-void │ │ +021174: |[021174] dnsfilter.android.dnsserverconfig.widget.DNSServerConfigTestResult.setTestState:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState;)V │ │ +021184: 5b01 bd02 |0000: iput-object v1, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult;.testState:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryTestState; // field@02bd │ │ +021188: 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; │ │ │ │ @@ -23847,64 +23847,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 │ │ -0211b4: |[0211b4] dnsfilter.android.dnsserverconfig.widget.DNSType.$values:()[Ldnsfilter/android/dnsserverconfig/widget/DNSType; │ │ -0211c4: 1230 |0000: const/4 v0, #int 3 // #3 │ │ -0211c6: 2300 a701 |0001: new-array v0, v0, [Ldnsfilter/android/dnsserverconfig/widget/DNSType; // type@01a7 │ │ -0211ca: 6201 c102 |0003: sget-object v1, Ldnsfilter/android/dnsserverconfig/widget/DNSType;.UDP:Ldnsfilter/android/dnsserverconfig/widget/DNSType; // field@02c1 │ │ -0211ce: 1202 |0005: const/4 v2, #int 0 // #0 │ │ -0211d0: 4d01 0002 |0006: aput-object v1, v0, v2 │ │ -0211d4: 6201 c002 |0008: sget-object v1, Ldnsfilter/android/dnsserverconfig/widget/DNSType;.DOT:Ldnsfilter/android/dnsserverconfig/widget/DNSType; // field@02c0 │ │ -0211d8: 1212 |000a: const/4 v2, #int 1 // #1 │ │ -0211da: 4d01 0002 |000b: aput-object v1, v0, v2 │ │ -0211de: 6201 bf02 |000d: sget-object v1, Ldnsfilter/android/dnsserverconfig/widget/DNSType;.DOH:Ldnsfilter/android/dnsserverconfig/widget/DNSType; // field@02bf │ │ -0211e2: 1222 |000f: const/4 v2, #int 2 // #2 │ │ -0211e4: 4d01 0002 |0010: aput-object v1, v0, v2 │ │ -0211e8: 1100 |0012: return-object v0 │ │ +0211b0: |[0211b0] dnsfilter.android.dnsserverconfig.widget.DNSType.$values:()[Ldnsfilter/android/dnsserverconfig/widget/DNSType; │ │ +0211c0: 1230 |0000: const/4 v0, #int 3 // #3 │ │ +0211c2: 2300 a701 |0001: new-array v0, v0, [Ldnsfilter/android/dnsserverconfig/widget/DNSType; // type@01a7 │ │ +0211c6: 6201 c102 |0003: sget-object v1, Ldnsfilter/android/dnsserverconfig/widget/DNSType;.UDP:Ldnsfilter/android/dnsserverconfig/widget/DNSType; // field@02c1 │ │ +0211ca: 1202 |0005: const/4 v2, #int 0 // #0 │ │ +0211cc: 4d01 0002 |0006: aput-object v1, v0, v2 │ │ +0211d0: 6201 c002 |0008: sget-object v1, Ldnsfilter/android/dnsserverconfig/widget/DNSType;.DOT:Ldnsfilter/android/dnsserverconfig/widget/DNSType; // field@02c0 │ │ +0211d4: 1212 |000a: const/4 v2, #int 1 // #1 │ │ +0211d6: 4d01 0002 |000b: aput-object v1, v0, v2 │ │ +0211da: 6201 bf02 |000d: sget-object v1, Ldnsfilter/android/dnsserverconfig/widget/DNSType;.DOH:Ldnsfilter/android/dnsserverconfig/widget/DNSType; // field@02bf │ │ +0211de: 1222 |000f: const/4 v2, #int 2 // #2 │ │ +0211e0: 4d01 0002 |0010: aput-object v1, v0, v2 │ │ +0211e4: 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 │ │ -021210: |[021210] dnsfilter.android.dnsserverconfig.widget.DNSType.:()V │ │ -021220: 2200 e400 |0000: new-instance v0, Ldnsfilter/android/dnsserverconfig/widget/DNSType; // type@00e4 │ │ -021224: 1201 |0002: const/4 v1, #int 0 // #0 │ │ -021226: 1302 3500 |0003: const/16 v2, #int 53 // #35 │ │ -02122a: 1a03 8004 |0005: const-string v3, "UDP" // string@0480 │ │ -02122e: 7040 3004 3021 |0007: invoke-direct {v0, v3, v1, v2}, Ldnsfilter/android/dnsserverconfig/widget/DNSType;.:(Ljava/lang/String;II)V // method@0430 │ │ -021234: 6900 c102 |000a: sput-object v0, Ldnsfilter/android/dnsserverconfig/widget/DNSType;.UDP:Ldnsfilter/android/dnsserverconfig/widget/DNSType; // field@02c1 │ │ -021238: 2200 e400 |000c: new-instance v0, Ldnsfilter/android/dnsserverconfig/widget/DNSType; // type@00e4 │ │ -02123c: 1211 |000e: const/4 v1, #int 1 // #1 │ │ -02123e: 1302 5503 |000f: const/16 v2, #int 853 // #355 │ │ -021242: 1a03 5d01 |0011: const-string v3, "DOT" // string@015d │ │ -021246: 7040 3004 3021 |0013: invoke-direct {v0, v3, v1, v2}, Ldnsfilter/android/dnsserverconfig/widget/DNSType;.:(Ljava/lang/String;II)V // method@0430 │ │ -02124c: 6900 c002 |0016: sput-object v0, Ldnsfilter/android/dnsserverconfig/widget/DNSType;.DOT:Ldnsfilter/android/dnsserverconfig/widget/DNSType; // field@02c0 │ │ -021250: 2200 e400 |0018: new-instance v0, Ldnsfilter/android/dnsserverconfig/widget/DNSType; // type@00e4 │ │ -021254: 1221 |001a: const/4 v1, #int 2 // #2 │ │ -021256: 1302 bb01 |001b: const/16 v2, #int 443 // #1bb │ │ -02125a: 1a03 5c01 |001d: const-string v3, "DOH" // string@015c │ │ -02125e: 7040 3004 3021 |001f: invoke-direct {v0, v3, v1, v2}, Ldnsfilter/android/dnsserverconfig/widget/DNSType;.:(Ljava/lang/String;II)V // method@0430 │ │ -021264: 6900 bf02 |0022: sput-object v0, Ldnsfilter/android/dnsserverconfig/widget/DNSType;.DOH:Ldnsfilter/android/dnsserverconfig/widget/DNSType; // field@02bf │ │ -021268: 7100 2e04 0000 |0024: invoke-static {}, Ldnsfilter/android/dnsserverconfig/widget/DNSType;.$values:()[Ldnsfilter/android/dnsserverconfig/widget/DNSType; // method@042e │ │ -02126e: 0c00 |0027: move-result-object v0 │ │ -021270: 6900 be02 |0028: sput-object v0, Ldnsfilter/android/dnsserverconfig/widget/DNSType;.$VALUES:[Ldnsfilter/android/dnsserverconfig/widget/DNSType; // field@02be │ │ -021274: 0e00 |002a: return-void │ │ +02120c: |[02120c] dnsfilter.android.dnsserverconfig.widget.DNSType.:()V │ │ +02121c: 2200 e400 |0000: new-instance v0, Ldnsfilter/android/dnsserverconfig/widget/DNSType; // type@00e4 │ │ +021220: 1201 |0002: const/4 v1, #int 0 // #0 │ │ +021222: 1302 3500 |0003: const/16 v2, #int 53 // #35 │ │ +021226: 1a03 8004 |0005: const-string v3, "UDP" // string@0480 │ │ +02122a: 7040 3004 3021 |0007: invoke-direct {v0, v3, v1, v2}, Ldnsfilter/android/dnsserverconfig/widget/DNSType;.:(Ljava/lang/String;II)V // method@0430 │ │ +021230: 6900 c102 |000a: sput-object v0, Ldnsfilter/android/dnsserverconfig/widget/DNSType;.UDP:Ldnsfilter/android/dnsserverconfig/widget/DNSType; // field@02c1 │ │ +021234: 2200 e400 |000c: new-instance v0, Ldnsfilter/android/dnsserverconfig/widget/DNSType; // type@00e4 │ │ +021238: 1211 |000e: const/4 v1, #int 1 // #1 │ │ +02123a: 1302 5503 |000f: const/16 v2, #int 853 // #355 │ │ +02123e: 1a03 5d01 |0011: const-string v3, "DOT" // string@015d │ │ +021242: 7040 3004 3021 |0013: invoke-direct {v0, v3, v1, v2}, Ldnsfilter/android/dnsserverconfig/widget/DNSType;.:(Ljava/lang/String;II)V // method@0430 │ │ +021248: 6900 c002 |0016: sput-object v0, Ldnsfilter/android/dnsserverconfig/widget/DNSType;.DOT:Ldnsfilter/android/dnsserverconfig/widget/DNSType; // field@02c0 │ │ +02124c: 2200 e400 |0018: new-instance v0, Ldnsfilter/android/dnsserverconfig/widget/DNSType; // type@00e4 │ │ +021250: 1221 |001a: const/4 v1, #int 2 // #2 │ │ +021252: 1302 bb01 |001b: const/16 v2, #int 443 // #1bb │ │ +021256: 1a03 5c01 |001d: const-string v3, "DOH" // string@015c │ │ +02125a: 7040 3004 3021 |001f: invoke-direct {v0, v3, v1, v2}, Ldnsfilter/android/dnsserverconfig/widget/DNSType;.:(Ljava/lang/String;II)V // method@0430 │ │ +021260: 6900 bf02 |0022: sput-object v0, Ldnsfilter/android/dnsserverconfig/widget/DNSType;.DOH:Ldnsfilter/android/dnsserverconfig/widget/DNSType; // field@02bf │ │ +021264: 7100 2e04 0000 |0024: invoke-static {}, Ldnsfilter/android/dnsserverconfig/widget/DNSType;.$values:()[Ldnsfilter/android/dnsserverconfig/widget/DNSType; // method@042e │ │ +02126a: 0c00 |0027: move-result-object v0 │ │ +02126c: 6900 be02 |0028: sput-object v0, Ldnsfilter/android/dnsserverconfig/widget/DNSType;.$VALUES:[Ldnsfilter/android/dnsserverconfig/widget/DNSType; // field@02be │ │ +021270: 0e00 |002a: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=4 │ │ 0x000c line=5 │ │ 0x0018 line=6 │ │ 0x0024 line=3 │ │ locals : │ │ @@ -23914,18 +23914,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 │ │ -021278: |[021278] dnsfilter.android.dnsserverconfig.widget.DNSType.:(Ljava/lang/String;II)V │ │ -021288: 7030 5705 1002 |0000: invoke-direct {v0, v1, v2}, Ljava/lang/Enum;.:(Ljava/lang/String;I)V // method@0557 │ │ -02128e: 5903 c202 |0003: iput v3, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSType;.defaultPort:I // field@02c2 │ │ -021292: 0e00 |0005: return-void │ │ +021274: |[021274] dnsfilter.android.dnsserverconfig.widget.DNSType.:(Ljava/lang/String;II)V │ │ +021284: 7030 5705 1002 |0000: invoke-direct {v0, v1, v2}, Ljava/lang/Enum;.:(Ljava/lang/String;I)V // method@0557 │ │ +02128a: 5903 c202 |0003: iput v3, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSType;.defaultPort:I // field@02c2 │ │ +02128e: 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; │ │ @@ -23937,20 +23937,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 │ │ -021190: |[021190] dnsfilter.android.dnsserverconfig.widget.DNSType.valueOf:(Ljava/lang/String;)Ldnsfilter/android/dnsserverconfig/widget/DNSType; │ │ -0211a0: 1c00 e400 |0000: const-class v0, Ldnsfilter/android/dnsserverconfig/widget/DNSType; // type@00e4 │ │ -0211a4: 7120 5805 1000 |0002: invoke-static {v0, v1}, Ljava/lang/Enum;.valueOf:(Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/Enum; // method@0558 │ │ -0211aa: 0c01 |0005: move-result-object v1 │ │ -0211ac: 1f01 e400 |0006: check-cast v1, Ldnsfilter/android/dnsserverconfig/widget/DNSType; // type@00e4 │ │ -0211b0: 1101 |0008: return-object v1 │ │ +02118c: |[02118c] dnsfilter.android.dnsserverconfig.widget.DNSType.valueOf:(Ljava/lang/String;)Ldnsfilter/android/dnsserverconfig/widget/DNSType; │ │ +02119c: 1c00 e400 |0000: const-class v0, Ldnsfilter/android/dnsserverconfig/widget/DNSType; // type@00e4 │ │ +0211a0: 7120 5805 1000 |0002: invoke-static {v0, v1}, Ljava/lang/Enum;.valueOf:(Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/Enum; // method@0558 │ │ +0211a6: 0c01 |0005: move-result-object v1 │ │ +0211a8: 1f01 e400 |0006: check-cast v1, Ldnsfilter/android/dnsserverconfig/widget/DNSType; // type@00e4 │ │ +0211ac: 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;) │ │ @@ -23958,20 +23958,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 │ │ -0211ec: |[0211ec] dnsfilter.android.dnsserverconfig.widget.DNSType.values:()[Ldnsfilter/android/dnsserverconfig/widget/DNSType; │ │ -0211fc: 6200 be02 |0000: sget-object v0, Ldnsfilter/android/dnsserverconfig/widget/DNSType;.$VALUES:[Ldnsfilter/android/dnsserverconfig/widget/DNSType; // field@02be │ │ -021200: 6e10 0508 0000 |0002: invoke-virtual {v0}, [Ldnsfilter/android/dnsserverconfig/widget/DNSType;.clone:()Ljava/lang/Object; // method@0805 │ │ -021206: 0c00 |0005: move-result-object v0 │ │ -021208: 1f00 a701 |0006: check-cast v0, [Ldnsfilter/android/dnsserverconfig/widget/DNSType; // type@01a7 │ │ -02120c: 1100 |0008: return-object v0 │ │ +0211e8: |[0211e8] dnsfilter.android.dnsserverconfig.widget.DNSType.values:()[Ldnsfilter/android/dnsserverconfig/widget/DNSType; │ │ +0211f8: 6200 be02 |0000: sget-object v0, Ldnsfilter/android/dnsserverconfig/widget/DNSType;.$VALUES:[Ldnsfilter/android/dnsserverconfig/widget/DNSType; // field@02be │ │ +0211fc: 6e10 0508 0000 |0002: invoke-virtual {v0}, [Ldnsfilter/android/dnsserverconfig/widget/DNSType;.clone:()Ljava/lang/Object; // method@0805 │ │ +021202: 0c00 |0005: move-result-object v0 │ │ +021204: 1f00 a701 |0006: check-cast v0, [Ldnsfilter/android/dnsserverconfig/widget/DNSType; // type@01a7 │ │ +021208: 1100 |0008: return-object v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=3 │ │ locals : │ │ │ │ Virtual methods - │ │ source_file_idx : 346 (DNSType.java) │ │ @@ -23999,17 +23999,17 @@ │ │ type : '()V' │ │ access : 0x10001 (PUBLIC CONSTRUCTOR) │ │ code - │ │ registers : 1 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 4 16-bit code units │ │ -021294: |[021294] dnsfilter.android.dnsserverconfig.widget.NotDeserializableException.:()V │ │ -0212a4: 7010 5905 0000 |0000: invoke-direct {v0}, Ljava/lang/Exception;.:()V // method@0559 │ │ -0212aa: 0e00 |0003: return-void │ │ +021290: |[021290] dnsfilter.android.dnsserverconfig.widget.NotDeserializableException.:()V │ │ +0212a0: 7010 5905 0000 |0000: invoke-direct {v0}, Ljava/lang/Exception;.:()V // method@0559 │ │ +0212a6: 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;) │ │ @@ -24017,17 +24017,17 @@ │ │ type : '(Ljava/lang/String;)V' │ │ access : 0x10001 (PUBLIC CONSTRUCTOR) │ │ code - │ │ registers : 2 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 4 16-bit code units │ │ -0212ac: |[0212ac] dnsfilter.android.dnsserverconfig.widget.NotDeserializableException.:(Ljava/lang/String;)V │ │ -0212bc: 7020 5a05 1000 |0000: invoke-direct {v0, v1}, Ljava/lang/Exception;.:(Ljava/lang/String;)V // method@055a │ │ -0212c2: 0e00 |0003: return-void │ │ +0212a8: |[0212a8] dnsfilter.android.dnsserverconfig.widget.NotDeserializableException.:(Ljava/lang/String;)V │ │ +0212b8: 7020 5a05 1000 |0000: invoke-direct {v0, v1}, Ljava/lang/Exception;.:(Ljava/lang/String;)V // method@055a │ │ +0212be: 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; │ │ │ │ @@ -24062,17 +24062,17 @@ │ │ type : '()V' │ │ access : 0x10001 (PUBLIC CONSTRUCTOR) │ │ code - │ │ registers : 1 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 4 16-bit code units │ │ -0212c4: |[0212c4] dnsfilter.android.dnsserverconfig.widget.listitem.DNSServerConfigBaseEntry.:()V │ │ -0212d4: 7010 7305 0000 |0000: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@0573 │ │ -0212da: 0e00 |0003: return-void │ │ +0212c0: |[0212c0] dnsfilter.android.dnsserverconfig.widget.listitem.DNSServerConfigBaseEntry.:()V │ │ +0212d0: 7010 7305 0000 |0000: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@0573 │ │ +0212d6: 0e00 |0003: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=3 │ │ locals : │ │ 0x0000 - 0x0004 reg=0 this Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigBaseEntry; │ │ │ │ Virtual methods - │ │ @@ -24135,86 +24135,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 │ │ -02193c: |[02193c] dnsfilter.remote.RemoteAccessClient$RemoteStream.:(Ldnsfilter/remote/RemoteAccessClient;I)V │ │ -02194c: 1a00 8805 |0000: const-string v0, "attach │ │ +021938: |[021938] dnsfilter.remote.RemoteAccessClient$RemoteStream.:(Ldnsfilter/remote/RemoteAccessClient;I)V │ │ +021948: 1a00 8805 |0000: const-string v0, "attach │ │ " // string@0588 │ │ -021950: 5b56 dd02 |0002: iput-object v6, v5, Ldnsfilter/remote/RemoteAccessClient$RemoteStream;.this$0:Ldnsfilter/remote/RemoteAccessClient; // field@02dd │ │ -021954: 7010 7305 0500 |0004: invoke-direct {v5}, Ljava/lang/Object;.:()V // method@0573 │ │ -02195a: 1201 |0007: const/4 v1, #int 0 // #0 │ │ -02195c: 5c51 da02 |0008: iput-boolean v1, v5, Ldnsfilter/remote/RemoteAccessClient$RemoteStream;.stopped:Z // field@02da │ │ -021960: 7110 6104 0600 |000a: invoke-static {v6}, Ldnsfilter/remote/RemoteAccessClient;.access$000:(Ldnsfilter/remote/RemoteAccessClient;)[Ljava/lang/Object; // method@0461 │ │ -021966: 0c02 |000d: move-result-object v2 │ │ -021968: 1213 |000e: const/4 v3, #int 1 // #1 │ │ -02196a: 4603 0203 |000f: aget-object v3, v2, v3 │ │ -02196e: 1f03 3e01 |0011: check-cast v3, Ljava/net/Socket; // type@013e │ │ -021972: 5b53 db02 |0013: iput-object v3, v5, Ldnsfilter/remote/RemoteAccessClient$RemoteStream;.streamCon:Ljava/net/Socket; // field@02db │ │ -021976: 2203 f800 |0015: new-instance v3, Ljava/io/DataInputStream; // type@00f8 │ │ -02197a: 1224 |0017: const/4 v4, #int 2 // #2 │ │ -02197c: 4604 0204 |0018: aget-object v4, v2, v4 │ │ -021980: 1f04 0101 |001a: check-cast v4, Ljava/io/InputStream; // type@0101 │ │ -021984: 7020 ee04 4300 |001c: invoke-direct {v3, v4}, Ljava/io/DataInputStream;.:(Ljava/io/InputStream;)V // method@04ee │ │ -02198a: 5b53 d802 |001f: iput-object v3, v5, Ldnsfilter/remote/RemoteAccessClient$RemoteStream;.in:Ljava/io/DataInputStream; // field@02d8 │ │ -02198e: 2203 f900 |0021: new-instance v3, Ljava/io/DataOutputStream; // type@00f9 │ │ -021992: 1234 |0023: const/4 v4, #int 3 // #3 │ │ -021994: 4604 0204 |0024: aget-object v4, v2, v4 │ │ -021998: 1f04 0501 |0026: check-cast v4, Ljava/io/OutputStream; // type@0105 │ │ -02199c: 7020 f504 4300 |0028: invoke-direct {v3, v4}, Ljava/io/DataOutputStream;.:(Ljava/io/OutputStream;)V // method@04f5 │ │ -0219a2: 5b53 d902 |002b: iput-object v3, v5, Ldnsfilter/remote/RemoteAccessClient$RemoteStream;.out:Ljava/io/DataOutputStream; // field@02d9 │ │ -0219a6: 4601 0201 |002d: aget-object v1, v2, v1 │ │ -0219aa: 1f01 1e01 |002f: check-cast v1, Ljava/lang/Integer; // type@011e │ │ -0219ae: 6e10 6405 0100 |0031: invoke-virtual {v1}, Ljava/lang/Integer;.intValue:()I // method@0564 │ │ -0219b4: 0a01 |0034: move-result v1 │ │ -0219b6: 5951 dc02 |0035: iput v1, v5, Ldnsfilter/remote/RemoteAccessClient$RemoteStream;.streamConId:I // field@02dc │ │ -0219ba: 5451 d902 |0037: iget-object v1, v5, Ldnsfilter/remote/RemoteAccessClient$RemoteStream;.out:Ljava/io/DataOutputStream; // field@02d9 │ │ -0219be: 2202 2d01 |0039: new-instance v2, Ljava/lang/StringBuilder; // type@012d │ │ -0219c2: 7020 a805 0200 |003b: invoke-direct {v2, v0}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05a8 │ │ -0219c8: 6e20 aa05 7200 |003e: invoke-virtual {v2, v7}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@05aa │ │ -0219ce: 1a07 0200 |0041: const-string v7, " │ │ +02194c: 5b56 dd02 |0002: iput-object v6, v5, Ldnsfilter/remote/RemoteAccessClient$RemoteStream;.this$0:Ldnsfilter/remote/RemoteAccessClient; // field@02dd │ │ +021950: 7010 7305 0500 |0004: invoke-direct {v5}, Ljava/lang/Object;.:()V // method@0573 │ │ +021956: 1201 |0007: const/4 v1, #int 0 // #0 │ │ +021958: 5c51 da02 |0008: iput-boolean v1, v5, Ldnsfilter/remote/RemoteAccessClient$RemoteStream;.stopped:Z // field@02da │ │ +02195c: 7110 6104 0600 |000a: invoke-static {v6}, Ldnsfilter/remote/RemoteAccessClient;.access$000:(Ldnsfilter/remote/RemoteAccessClient;)[Ljava/lang/Object; // method@0461 │ │ +021962: 0c02 |000d: move-result-object v2 │ │ +021964: 1213 |000e: const/4 v3, #int 1 // #1 │ │ +021966: 4603 0203 |000f: aget-object v3, v2, v3 │ │ +02196a: 1f03 3e01 |0011: check-cast v3, Ljava/net/Socket; // type@013e │ │ +02196e: 5b53 db02 |0013: iput-object v3, v5, Ldnsfilter/remote/RemoteAccessClient$RemoteStream;.streamCon:Ljava/net/Socket; // field@02db │ │ +021972: 2203 f800 |0015: new-instance v3, Ljava/io/DataInputStream; // type@00f8 │ │ +021976: 1224 |0017: const/4 v4, #int 2 // #2 │ │ +021978: 4604 0204 |0018: aget-object v4, v2, v4 │ │ +02197c: 1f04 0101 |001a: check-cast v4, Ljava/io/InputStream; // type@0101 │ │ +021980: 7020 ee04 4300 |001c: invoke-direct {v3, v4}, Ljava/io/DataInputStream;.:(Ljava/io/InputStream;)V // method@04ee │ │ +021986: 5b53 d802 |001f: iput-object v3, v5, Ldnsfilter/remote/RemoteAccessClient$RemoteStream;.in:Ljava/io/DataInputStream; // field@02d8 │ │ +02198a: 2203 f900 |0021: new-instance v3, Ljava/io/DataOutputStream; // type@00f9 │ │ +02198e: 1234 |0023: const/4 v4, #int 3 // #3 │ │ +021990: 4604 0204 |0024: aget-object v4, v2, v4 │ │ +021994: 1f04 0501 |0026: check-cast v4, Ljava/io/OutputStream; // type@0105 │ │ +021998: 7020 f504 4300 |0028: invoke-direct {v3, v4}, Ljava/io/DataOutputStream;.:(Ljava/io/OutputStream;)V // method@04f5 │ │ +02199e: 5b53 d902 |002b: iput-object v3, v5, Ldnsfilter/remote/RemoteAccessClient$RemoteStream;.out:Ljava/io/DataOutputStream; // field@02d9 │ │ +0219a2: 4601 0201 |002d: aget-object v1, v2, v1 │ │ +0219a6: 1f01 1e01 |002f: check-cast v1, Ljava/lang/Integer; // type@011e │ │ +0219aa: 6e10 6405 0100 |0031: invoke-virtual {v1}, Ljava/lang/Integer;.intValue:()I // method@0564 │ │ +0219b0: 0a01 |0034: move-result v1 │ │ +0219b2: 5951 dc02 |0035: iput v1, v5, Ldnsfilter/remote/RemoteAccessClient$RemoteStream;.streamConId:I // field@02dc │ │ +0219b6: 5451 d902 |0037: iget-object v1, v5, Ldnsfilter/remote/RemoteAccessClient$RemoteStream;.out:Ljava/io/DataOutputStream; // field@02d9 │ │ +0219ba: 2202 2d01 |0039: new-instance v2, Ljava/lang/StringBuilder; // type@012d │ │ +0219be: 7020 a805 0200 |003b: invoke-direct {v2, v0}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05a8 │ │ +0219c4: 6e20 aa05 7200 |003e: invoke-virtual {v2, v7}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@05aa │ │ +0219ca: 1a07 0200 |0041: const-string v7, " │ │ " // string@0002 │ │ -0219d2: 6e20 ad05 7200 |0043: invoke-virtual {v2, v7}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -0219d8: 6e10 af05 0200 |0046: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ -0219de: 0c07 |0049: move-result-object v7 │ │ -0219e0: 6e10 8d05 0700 |004a: invoke-virtual {v7}, Ljava/lang/String;.getBytes:()[B // method@058d │ │ -0219e6: 0c07 |004d: move-result-object v7 │ │ -0219e8: 6e20 f804 7100 |004e: invoke-virtual {v1, v7}, Ljava/io/DataOutputStream;.write:([B)V // method@04f8 │ │ -0219ee: 5457 d902 |0051: iget-object v7, v5, Ldnsfilter/remote/RemoteAccessClient$RemoteStream;.out:Ljava/io/DataOutputStream; // field@02d9 │ │ -0219f2: 6e10 f704 0700 |0053: invoke-virtual {v7}, Ljava/io/DataOutputStream;.flush:()V // method@04f7 │ │ -0219f8: 5457 d802 |0056: iget-object v7, v5, Ldnsfilter/remote/RemoteAccessClient$RemoteStream;.in:Ljava/io/DataInputStream; // field@02d8 │ │ -0219fc: 7110 9d07 0700 |0058: invoke-static {v7}, Lutil/Utils;.readLineFromStream:(Ljava/io/InputStream;)Ljava/lang/String; // method@079d │ │ -021a02: 0c07 |005b: move-result-object v7 │ │ -021a04: 1a00 fa03 |005c: const-string v0, "OK" // string@03fa │ │ -021a08: 6e20 8b05 0700 |005e: invoke-virtual {v7, v0}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058b │ │ -021a0e: 0a00 |0061: move-result v0 │ │ -021a10: 3800 0b00 |0062: if-eqz v0, 006d // +000b │ │ -021a14: 2206 2f01 |0064: new-instance v6, Ljava/lang/Thread; // type@012f │ │ -021a18: 7020 b405 5600 |0066: invoke-direct {v6, v5}, Ljava/lang/Thread;.:(Ljava/lang/Runnable;)V // method@05b4 │ │ -021a1e: 6e10 ba05 0600 |0069: invoke-virtual {v6}, Ljava/lang/Thread;.start:()V // method@05ba │ │ -021a24: 0e00 |006c: return-void │ │ -021a26: 2200 0001 |006d: new-instance v0, Ljava/io/IOException; // type@0100 │ │ -021a2a: 7020 1f05 7000 |006f: invoke-direct {v0, v7}, Ljava/io/IOException;.:(Ljava/lang/String;)V // method@051f │ │ -021a30: 2700 |0072: throw v0 │ │ -021a32: 0d07 |0073: move-exception v7 │ │ -021a34: 7110 6204 0600 |0074: invoke-static {v6}, Ldnsfilter/remote/RemoteAccessClient;.access$100:(Ldnsfilter/remote/RemoteAccessClient;)Lutil/LoggerInterface; // method@0462 │ │ -021a3a: 0c00 |0077: move-result-object v0 │ │ -021a3c: 2201 2d01 |0078: new-instance v1, Ljava/lang/StringBuilder; // type@012d │ │ -021a40: 1a02 3304 |007a: const-string v2, "Remote action attach Remote Stream failed! " // string@0433 │ │ -021a44: 7020 a805 2100 |007c: invoke-direct {v1, v2}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05a8 │ │ -021a4a: 6e10 2205 0700 |007f: invoke-virtual {v7}, Ljava/io/IOException;.getMessage:()Ljava/lang/String; // method@0522 │ │ -021a50: 0c02 |0082: move-result-object v2 │ │ -021a52: 6e20 ad05 2100 |0083: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -021a58: 6e10 af05 0100 |0086: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ -021a5e: 0c01 |0089: move-result-object v1 │ │ -021a60: 7220 3107 1000 |008a: invoke-interface {v0, v1}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0731 │ │ -021a66: 7110 6304 0600 |008d: invoke-static {v6}, Ldnsfilter/remote/RemoteAccessClient;.access$200:(Ldnsfilter/remote/RemoteAccessClient;)V // method@0463 │ │ -021a6c: 2707 |0090: throw v7 │ │ +0219ce: 6e20 ad05 7200 |0043: invoke-virtual {v2, v7}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +0219d4: 6e10 af05 0200 |0046: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ +0219da: 0c07 |0049: move-result-object v7 │ │ +0219dc: 6e10 8d05 0700 |004a: invoke-virtual {v7}, Ljava/lang/String;.getBytes:()[B // method@058d │ │ +0219e2: 0c07 |004d: move-result-object v7 │ │ +0219e4: 6e20 f804 7100 |004e: invoke-virtual {v1, v7}, Ljava/io/DataOutputStream;.write:([B)V // method@04f8 │ │ +0219ea: 5457 d902 |0051: iget-object v7, v5, Ldnsfilter/remote/RemoteAccessClient$RemoteStream;.out:Ljava/io/DataOutputStream; // field@02d9 │ │ +0219ee: 6e10 f704 0700 |0053: invoke-virtual {v7}, Ljava/io/DataOutputStream;.flush:()V // method@04f7 │ │ +0219f4: 5457 d802 |0056: iget-object v7, v5, Ldnsfilter/remote/RemoteAccessClient$RemoteStream;.in:Ljava/io/DataInputStream; // field@02d8 │ │ +0219f8: 7110 9d07 0700 |0058: invoke-static {v7}, Lutil/Utils;.readLineFromStream:(Ljava/io/InputStream;)Ljava/lang/String; // method@079d │ │ +0219fe: 0c07 |005b: move-result-object v7 │ │ +021a00: 1a00 fa03 |005c: const-string v0, "OK" // string@03fa │ │ +021a04: 6e20 8b05 0700 |005e: invoke-virtual {v7, v0}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058b │ │ +021a0a: 0a00 |0061: move-result v0 │ │ +021a0c: 3800 0b00 |0062: if-eqz v0, 006d // +000b │ │ +021a10: 2206 2f01 |0064: new-instance v6, Ljava/lang/Thread; // type@012f │ │ +021a14: 7020 b405 5600 |0066: invoke-direct {v6, v5}, Ljava/lang/Thread;.:(Ljava/lang/Runnable;)V // method@05b4 │ │ +021a1a: 6e10 ba05 0600 |0069: invoke-virtual {v6}, Ljava/lang/Thread;.start:()V // method@05ba │ │ +021a20: 0e00 |006c: return-void │ │ +021a22: 2200 0001 |006d: new-instance v0, Ljava/io/IOException; // type@0100 │ │ +021a26: 7020 1f05 7000 |006f: invoke-direct {v0, v7}, Ljava/io/IOException;.:(Ljava/lang/String;)V // method@051f │ │ +021a2c: 2700 |0072: throw v0 │ │ +021a2e: 0d07 |0073: move-exception v7 │ │ +021a30: 7110 6204 0600 |0074: invoke-static {v6}, Ldnsfilter/remote/RemoteAccessClient;.access$100:(Ldnsfilter/remote/RemoteAccessClient;)Lutil/LoggerInterface; // method@0462 │ │ +021a36: 0c00 |0077: move-result-object v0 │ │ +021a38: 2201 2d01 |0078: new-instance v1, Ljava/lang/StringBuilder; // type@012d │ │ +021a3c: 1a02 3304 |007a: const-string v2, "Remote action attach Remote Stream failed! " // string@0433 │ │ +021a40: 7020 a805 2100 |007c: invoke-direct {v1, v2}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05a8 │ │ +021a46: 6e10 2205 0700 |007f: invoke-virtual {v7}, Ljava/io/IOException;.getMessage:()Ljava/lang/String; // method@0522 │ │ +021a4c: 0c02 |0082: move-result-object v2 │ │ +021a4e: 6e20 ad05 2100 |0083: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +021a54: 6e10 af05 0100 |0086: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ +021a5a: 0c01 |0089: move-result-object v1 │ │ +021a5c: 7220 3107 1000 |008a: invoke-interface {v0, v1}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0731 │ │ +021a62: 7110 6304 0600 |008d: invoke-static {v6}, Ldnsfilter/remote/RemoteAccessClient;.access$200:(Ldnsfilter/remote/RemoteAccessClient;)V // method@0463 │ │ +021a68: 2707 |0090: throw v7 │ │ catches : 2 │ │ 0x0037 - 0x0062 │ │ Ljava/io/IOException; -> 0x0073 │ │ 0x006d - 0x0073 │ │ Ljava/io/IOException; -> 0x0073 │ │ positions : │ │ 0x0002 line=574 │ │ @@ -24243,46 +24243,46 @@ │ │ type : '()V' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 5 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 58 16-bit code units │ │ -021b38: |[021b38] dnsfilter.remote.RemoteAccessClient$RemoteStream.confirmHeartBeat:()V │ │ -021b48: 5440 d902 |0000: iget-object v0, v4, Ldnsfilter/remote/RemoteAccessClient$RemoteStream;.out:Ljava/io/DataOutputStream; // field@02d9 │ │ -021b4c: 1d00 |0002: monitor-enter v0 │ │ -021b4e: 5441 d902 |0003: iget-object v1, v4, Ldnsfilter/remote/RemoteAccessClient$RemoteStream;.out:Ljava/io/DataOutputStream; // field@02d9 │ │ -021b52: 1a02 0f06 |0005: const-string v2, "confirmHeartBeat() │ │ +021b34: |[021b34] dnsfilter.remote.RemoteAccessClient$RemoteStream.confirmHeartBeat:()V │ │ +021b44: 5440 d902 |0000: iget-object v0, v4, Ldnsfilter/remote/RemoteAccessClient$RemoteStream;.out:Ljava/io/DataOutputStream; // field@02d9 │ │ +021b48: 1d00 |0002: monitor-enter v0 │ │ +021b4a: 5441 d902 |0003: iget-object v1, v4, Ldnsfilter/remote/RemoteAccessClient$RemoteStream;.out:Ljava/io/DataOutputStream; // field@02d9 │ │ +021b4e: 1a02 0f06 |0005: const-string v2, "confirmHeartBeat() │ │ " // string@060f │ │ -021b56: 6e10 8d05 0200 |0007: invoke-virtual {v2}, Ljava/lang/String;.getBytes:()[B // method@058d │ │ -021b5c: 0c02 |000a: move-result-object v2 │ │ -021b5e: 6e20 f804 2100 |000b: invoke-virtual {v1, v2}, Ljava/io/DataOutputStream;.write:([B)V // method@04f8 │ │ -021b64: 5441 d902 |000e: iget-object v1, v4, Ldnsfilter/remote/RemoteAccessClient$RemoteStream;.out:Ljava/io/DataOutputStream; // field@02d9 │ │ -021b68: 6e10 f704 0100 |0010: invoke-virtual {v1}, Ljava/io/DataOutputStream;.flush:()V // method@04f7 │ │ -021b6e: 1e00 |0013: monitor-exit v0 │ │ -021b70: 2825 |0014: goto 0039 // +0025 │ │ -021b72: 0d01 |0015: move-exception v1 │ │ -021b74: 1e00 |0016: monitor-exit v0 │ │ -021b76: 2701 |0017: throw v1 │ │ -021b78: 0d00 |0018: move-exception v0 │ │ -021b7a: 5441 dd02 |0019: iget-object v1, v4, Ldnsfilter/remote/RemoteAccessClient$RemoteStream;.this$0:Ldnsfilter/remote/RemoteAccessClient; // field@02dd │ │ -021b7e: 7110 6204 0100 |001b: invoke-static {v1}, Ldnsfilter/remote/RemoteAccessClient;.access$100:(Ldnsfilter/remote/RemoteAccessClient;)Lutil/LoggerInterface; // method@0462 │ │ -021b84: 0c01 |001e: move-result-object v1 │ │ -021b86: 2202 2d01 |001f: new-instance v2, Ljava/lang/StringBuilder; // type@012d │ │ -021b8a: 1a03 8801 |0021: const-string v3, "Exception during confirmHeartBeat()! " // string@0188 │ │ -021b8e: 7020 a805 3200 |0023: invoke-direct {v2, v3}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05a8 │ │ -021b94: 6e10 2405 0000 |0026: invoke-virtual {v0}, Ljava/io/IOException;.toString:()Ljava/lang/String; // method@0524 │ │ -021b9a: 0c00 |0029: move-result-object v0 │ │ -021b9c: 6e20 ad05 0200 |002a: invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -021ba2: 6e10 af05 0200 |002d: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ -021ba8: 0c00 |0030: move-result-object v0 │ │ -021baa: 7220 3107 0100 |0031: invoke-interface {v1, v0}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0731 │ │ -021bb0: 5440 dd02 |0034: iget-object v0, v4, Ldnsfilter/remote/RemoteAccessClient$RemoteStream;.this$0:Ldnsfilter/remote/RemoteAccessClient; // field@02dd │ │ -021bb4: 7110 6304 0000 |0036: invoke-static {v0}, Ldnsfilter/remote/RemoteAccessClient;.access$200:(Ldnsfilter/remote/RemoteAccessClient;)V // method@0463 │ │ -021bba: 0e00 |0039: return-void │ │ +021b52: 6e10 8d05 0200 |0007: invoke-virtual {v2}, Ljava/lang/String;.getBytes:()[B // method@058d │ │ +021b58: 0c02 |000a: move-result-object v2 │ │ +021b5a: 6e20 f804 2100 |000b: invoke-virtual {v1, v2}, Ljava/io/DataOutputStream;.write:([B)V // method@04f8 │ │ +021b60: 5441 d902 |000e: iget-object v1, v4, Ldnsfilter/remote/RemoteAccessClient$RemoteStream;.out:Ljava/io/DataOutputStream; // field@02d9 │ │ +021b64: 6e10 f704 0100 |0010: invoke-virtual {v1}, Ljava/io/DataOutputStream;.flush:()V // method@04f7 │ │ +021b6a: 1e00 |0013: monitor-exit v0 │ │ +021b6c: 2825 |0014: goto 0039 // +0025 │ │ +021b6e: 0d01 |0015: move-exception v1 │ │ +021b70: 1e00 |0016: monitor-exit v0 │ │ +021b72: 2701 |0017: throw v1 │ │ +021b74: 0d00 |0018: move-exception v0 │ │ +021b76: 5441 dd02 |0019: iget-object v1, v4, Ldnsfilter/remote/RemoteAccessClient$RemoteStream;.this$0:Ldnsfilter/remote/RemoteAccessClient; // field@02dd │ │ +021b7a: 7110 6204 0100 |001b: invoke-static {v1}, Ldnsfilter/remote/RemoteAccessClient;.access$100:(Ldnsfilter/remote/RemoteAccessClient;)Lutil/LoggerInterface; // method@0462 │ │ +021b80: 0c01 |001e: move-result-object v1 │ │ +021b82: 2202 2d01 |001f: new-instance v2, Ljava/lang/StringBuilder; // type@012d │ │ +021b86: 1a03 8801 |0021: const-string v3, "Exception during confirmHeartBeat()! " // string@0188 │ │ +021b8a: 7020 a805 3200 |0023: invoke-direct {v2, v3}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05a8 │ │ +021b90: 6e10 2405 0000 |0026: invoke-virtual {v0}, Ljava/io/IOException;.toString:()Ljava/lang/String; // method@0524 │ │ +021b96: 0c00 |0029: move-result-object v0 │ │ +021b98: 6e20 ad05 0200 |002a: invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +021b9e: 6e10 af05 0200 |002d: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ +021ba4: 0c00 |0030: move-result-object v0 │ │ +021ba6: 7220 3107 0100 |0031: invoke-interface {v1, v0}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0731 │ │ +021bac: 5440 dd02 |0034: iget-object v0, v4, Ldnsfilter/remote/RemoteAccessClient$RemoteStream;.this$0:Ldnsfilter/remote/RemoteAccessClient; // field@02dd │ │ +021bb0: 7110 6304 0000 |0036: invoke-static {v0}, Ldnsfilter/remote/RemoteAccessClient;.access$200:(Ldnsfilter/remote/RemoteAccessClient;)V // method@0463 │ │ +021bb6: 0e00 |0039: return-void │ │ catches : 3 │ │ 0x0000 - 0x0003 │ │ Ljava/io/IOException; -> 0x0018 │ │ 0x0003 - 0x0017 │ │ -> 0x0015 │ │ 0x0017 - 0x0018 │ │ Ljava/io/IOException; -> 0x0018 │ │ @@ -24301,36 +24301,36 @@ │ │ type : '([BIII)[B' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 6 │ │ ins : 5 │ │ outs : 2 │ │ insns size : 41 16-bit code units │ │ -0218d8: |[0218d8] dnsfilter.remote.RemoteAccessClient$RemoteStream.getBuffer:([BIII)[B │ │ -0218e8: 3543 0800 |0000: if-ge v3, v4, 0008 // +0008 │ │ -0218ec: 2120 |0002: array-length v0, v2 │ │ -0218ee: 3740 0500 |0003: if-le v0, v4, 0008 // +0005 │ │ -0218f2: 2342 9d01 |0005: new-array v2, v4, [B // type@019d │ │ -0218f6: 1102 |0007: return-object v2 │ │ -0218f8: 3543 0300 |0008: if-ge v3, v4, 000b // +0003 │ │ -0218fc: 1102 |000a: return-object v2 │ │ -0218fe: 3653 0500 |000b: if-gt v3, v5, 0010 // +0005 │ │ -021902: 2332 9d01 |000d: new-array v2, v3, [B // type@019d │ │ -021906: 1102 |000f: return-object v2 │ │ -021908: 2202 0001 |0010: new-instance v2, Ljava/io/IOException; // type@0100 │ │ -02190c: 2204 2d01 |0012: new-instance v4, Ljava/lang/StringBuilder; // type@012d │ │ -021910: 1a05 d300 |0014: const-string v5, "Buffer Overflow: " // string@00d3 │ │ -021914: 7020 a805 5400 |0016: invoke-direct {v4, v5}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05a8 │ │ -02191a: 6e20 aa05 3400 |0019: invoke-virtual {v4, v3}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@05aa │ │ -021920: 1a03 1800 |001c: const-string v3, " bytes!" // string@0018 │ │ -021924: 6e20 ad05 3400 |001e: invoke-virtual {v4, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -02192a: 6e10 af05 0400 |0021: invoke-virtual {v4}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ -021930: 0c03 |0024: move-result-object v3 │ │ -021932: 7020 1f05 3200 |0025: invoke-direct {v2, v3}, Ljava/io/IOException;.:(Ljava/lang/String;)V // method@051f │ │ -021938: 2702 |0028: throw v2 │ │ +0218d4: |[0218d4] dnsfilter.remote.RemoteAccessClient$RemoteStream.getBuffer:([BIII)[B │ │ +0218e4: 3543 0800 |0000: if-ge v3, v4, 0008 // +0008 │ │ +0218e8: 2120 |0002: array-length v0, v2 │ │ +0218ea: 3740 0500 |0003: if-le v0, v4, 0008 // +0005 │ │ +0218ee: 2342 9d01 |0005: new-array v2, v4, [B // type@019d │ │ +0218f2: 1102 |0007: return-object v2 │ │ +0218f4: 3543 0300 |0008: if-ge v3, v4, 000b // +0003 │ │ +0218f8: 1102 |000a: return-object v2 │ │ +0218fa: 3653 0500 |000b: if-gt v3, v5, 0010 // +0005 │ │ +0218fe: 2332 9d01 |000d: new-array v2, v3, [B // type@019d │ │ +021902: 1102 |000f: return-object v2 │ │ +021904: 2202 0001 |0010: new-instance v2, Ljava/io/IOException; // type@0100 │ │ +021908: 2204 2d01 |0012: new-instance v4, Ljava/lang/StringBuilder; // type@012d │ │ +02190c: 1a05 d300 |0014: const-string v5, "Buffer Overflow: " // string@00d3 │ │ +021910: 7020 a805 5400 |0016: invoke-direct {v4, v5}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05a8 │ │ +021916: 6e20 aa05 3400 |0019: invoke-virtual {v4, v3}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@05aa │ │ +02191c: 1a03 1800 |001c: const-string v3, " bytes!" // string@0018 │ │ +021920: 6e20 ad05 3400 |001e: invoke-virtual {v4, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +021926: 6e10 af05 0400 |0021: invoke-virtual {v4}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ +02192c: 0c03 |0024: move-result-object v3 │ │ +02192e: 7020 1f05 3200 |0025: invoke-direct {v2, v3}, Ljava/io/IOException;.:(Ljava/lang/String;)V // method@051f │ │ +021934: 2702 |0028: throw v2 │ │ catches : (none) │ │ positions : │ │ 0x0002 line=658 │ │ 0x0005 line=660 │ │ 0x000d line=669 │ │ 0x0010 line=666 │ │ locals : │ │ @@ -24346,51 +24346,51 @@ │ │ type : '()V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 6 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 67 16-bit code units │ │ -021a88: |[021a88] dnsfilter.remote.RemoteAccessClient$RemoteStream.close:()V │ │ -021a98: 1a00 8b01 |0000: const-string v0, "Exception during remote configuration release: " // string@018b │ │ -021a9c: 1211 |0002: const/4 v1, #int 1 // #1 │ │ -021a9e: 5c51 da02 |0003: iput-boolean v1, v5, Ldnsfilter/remote/RemoteAccessClient$RemoteStream;.stopped:Z // field@02da │ │ -021aa2: 5451 db02 |0005: iget-object v1, v5, Ldnsfilter/remote/RemoteAccessClient$RemoteStream;.streamCon:Ljava/net/Socket; // field@02db │ │ -021aa6: 3801 3b00 |0007: if-eqz v1, 0042 // +003b │ │ -021aaa: 5451 d902 |0009: iget-object v1, v5, Ldnsfilter/remote/RemoteAccessClient$RemoteStream;.out:Ljava/io/DataOutputStream; // field@02d9 │ │ -021aae: 1d01 |000b: monitor-enter v1 │ │ -021ab0: 5452 d902 |000c: iget-object v2, v5, Ldnsfilter/remote/RemoteAccessClient$RemoteStream;.out:Ljava/io/DataOutputStream; // field@02d9 │ │ -021ab4: 1a03 d309 |000e: const-string v3, "releaseConfiguration()" // string@09d3 │ │ -021ab8: 6e10 8d05 0300 |0010: invoke-virtual {v3}, Ljava/lang/String;.getBytes:()[B // method@058d │ │ -021abe: 0c03 |0013: move-result-object v3 │ │ -021ac0: 6e20 f804 3200 |0014: invoke-virtual {v2, v3}, Ljava/io/DataOutputStream;.write:([B)V // method@04f8 │ │ -021ac6: 5452 d902 |0017: iget-object v2, v5, Ldnsfilter/remote/RemoteAccessClient$RemoteStream;.out:Ljava/io/DataOutputStream; // field@02d9 │ │ -021aca: 6e10 f704 0200 |0019: invoke-virtual {v2}, Ljava/io/DataOutputStream;.flush:()V // method@04f7 │ │ -021ad0: 281d |001c: goto 0039 // +001d │ │ -021ad2: 0d00 |001d: move-exception v0 │ │ -021ad4: 2822 |001e: goto 0040 // +0022 │ │ -021ad6: 0d02 |001f: move-exception v2 │ │ -021ad8: 5453 dd02 |0020: iget-object v3, v5, Ldnsfilter/remote/RemoteAccessClient$RemoteStream;.this$0:Ldnsfilter/remote/RemoteAccessClient; // field@02dd │ │ -021adc: 7110 6204 0300 |0022: invoke-static {v3}, Ldnsfilter/remote/RemoteAccessClient;.access$100:(Ldnsfilter/remote/RemoteAccessClient;)Lutil/LoggerInterface; // method@0462 │ │ -021ae2: 0c03 |0025: move-result-object v3 │ │ -021ae4: 2204 2d01 |0026: new-instance v4, Ljava/lang/StringBuilder; // type@012d │ │ -021ae8: 7020 a805 0400 |0028: invoke-direct {v4, v0}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05a8 │ │ -021aee: 6e10 2405 0200 |002b: invoke-virtual {v2}, Ljava/io/IOException;.toString:()Ljava/lang/String; // method@0524 │ │ -021af4: 0c00 |002e: move-result-object v0 │ │ -021af6: 6e20 ad05 0400 |002f: invoke-virtual {v4, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -021afc: 6e10 af05 0400 |0032: invoke-virtual {v4}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ -021b02: 0c00 |0035: move-result-object v0 │ │ -021b04: 7220 3107 0300 |0036: invoke-interface {v3, v0}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0731 │ │ -021b0a: 5450 db02 |0039: iget-object v0, v5, Ldnsfilter/remote/RemoteAccessClient$RemoteStream;.streamCon:Ljava/net/Socket; // field@02db │ │ -021b0e: 7110 9007 0000 |003b: invoke-static {v0}, Lutil/Utils;.closeSocket:(Ljava/net/Socket;)V // method@0790 │ │ -021b14: 1e01 |003e: monitor-exit v1 │ │ -021b16: 2803 |003f: goto 0042 // +0003 │ │ -021b18: 1e01 |0040: monitor-exit v1 │ │ -021b1a: 2700 |0041: throw v0 │ │ -021b1c: 0e00 |0042: return-void │ │ +021a84: |[021a84] dnsfilter.remote.RemoteAccessClient$RemoteStream.close:()V │ │ +021a94: 1a00 8b01 |0000: const-string v0, "Exception during remote configuration release: " // string@018b │ │ +021a98: 1211 |0002: const/4 v1, #int 1 // #1 │ │ +021a9a: 5c51 da02 |0003: iput-boolean v1, v5, Ldnsfilter/remote/RemoteAccessClient$RemoteStream;.stopped:Z // field@02da │ │ +021a9e: 5451 db02 |0005: iget-object v1, v5, Ldnsfilter/remote/RemoteAccessClient$RemoteStream;.streamCon:Ljava/net/Socket; // field@02db │ │ +021aa2: 3801 3b00 |0007: if-eqz v1, 0042 // +003b │ │ +021aa6: 5451 d902 |0009: iget-object v1, v5, Ldnsfilter/remote/RemoteAccessClient$RemoteStream;.out:Ljava/io/DataOutputStream; // field@02d9 │ │ +021aaa: 1d01 |000b: monitor-enter v1 │ │ +021aac: 5452 d902 |000c: iget-object v2, v5, Ldnsfilter/remote/RemoteAccessClient$RemoteStream;.out:Ljava/io/DataOutputStream; // field@02d9 │ │ +021ab0: 1a03 d309 |000e: const-string v3, "releaseConfiguration()" // string@09d3 │ │ +021ab4: 6e10 8d05 0300 |0010: invoke-virtual {v3}, Ljava/lang/String;.getBytes:()[B // method@058d │ │ +021aba: 0c03 |0013: move-result-object v3 │ │ +021abc: 6e20 f804 3200 |0014: invoke-virtual {v2, v3}, Ljava/io/DataOutputStream;.write:([B)V // method@04f8 │ │ +021ac2: 5452 d902 |0017: iget-object v2, v5, Ldnsfilter/remote/RemoteAccessClient$RemoteStream;.out:Ljava/io/DataOutputStream; // field@02d9 │ │ +021ac6: 6e10 f704 0200 |0019: invoke-virtual {v2}, Ljava/io/DataOutputStream;.flush:()V // method@04f7 │ │ +021acc: 281d |001c: goto 0039 // +001d │ │ +021ace: 0d00 |001d: move-exception v0 │ │ +021ad0: 2822 |001e: goto 0040 // +0022 │ │ +021ad2: 0d02 |001f: move-exception v2 │ │ +021ad4: 5453 dd02 |0020: iget-object v3, v5, Ldnsfilter/remote/RemoteAccessClient$RemoteStream;.this$0:Ldnsfilter/remote/RemoteAccessClient; // field@02dd │ │ +021ad8: 7110 6204 0300 |0022: invoke-static {v3}, Ldnsfilter/remote/RemoteAccessClient;.access$100:(Ldnsfilter/remote/RemoteAccessClient;)Lutil/LoggerInterface; // method@0462 │ │ +021ade: 0c03 |0025: move-result-object v3 │ │ +021ae0: 2204 2d01 |0026: new-instance v4, Ljava/lang/StringBuilder; // type@012d │ │ +021ae4: 7020 a805 0400 |0028: invoke-direct {v4, v0}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05a8 │ │ +021aea: 6e10 2405 0200 |002b: invoke-virtual {v2}, Ljava/io/IOException;.toString:()Ljava/lang/String; // method@0524 │ │ +021af0: 0c00 |002e: move-result-object v0 │ │ +021af2: 6e20 ad05 0400 |002f: invoke-virtual {v4, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +021af8: 6e10 af05 0400 |0032: invoke-virtual {v4}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ +021afe: 0c00 |0035: move-result-object v0 │ │ +021b00: 7220 3107 0300 |0036: invoke-interface {v3, v0}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0731 │ │ +021b06: 5450 db02 |0039: iget-object v0, v5, Ldnsfilter/remote/RemoteAccessClient$RemoteStream;.streamCon:Ljava/net/Socket; // field@02db │ │ +021b0a: 7110 9007 0000 |003b: invoke-static {v0}, Lutil/Utils;.closeSocket:(Ljava/net/Socket;)V // method@0790 │ │ +021b10: 1e01 |003e: monitor-exit v1 │ │ +021b12: 2803 |003f: goto 0042 // +0003 │ │ +021b14: 1e01 |0040: monitor-exit v1 │ │ +021b16: 2700 |0041: throw v0 │ │ +021b18: 0e00 |0042: return-void │ │ catches : 2 │ │ 0x000c - 0x001c │ │ Ljava/io/IOException; -> 0x001f │ │ -> 0x001d │ │ 0x0020 - 0x0041 │ │ -> 0x001d │ │ positions : │ │ @@ -24410,102 +24410,102 @@ │ │ type : '()V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 7 │ │ ins : 1 │ │ outs : 5 │ │ insns size : 202 16-bit code units │ │ -021bdc: |[021bdc] dnsfilter.remote.RemoteAccessClient$RemoteStream.run:()V │ │ -021bec: 1300 0008 |0000: const/16 v0, #int 2048 // #800 │ │ -021bf0: 2301 9d01 |0002: new-array v1, v0, [B // type@019d │ │ -021bf4: 5562 da02 |0004: iget-boolean v2, v6, Ldnsfilter/remote/RemoteAccessClient$RemoteStream;.stopped:Z // field@02da │ │ -021bf8: 3902 b100 |0006: if-nez v2, 00b7 // +00b1 │ │ -021bfc: 5462 d802 |0008: iget-object v2, v6, Ldnsfilter/remote/RemoteAccessClient$RemoteStream;.in:Ljava/io/DataInputStream; // field@02d8 │ │ -021c00: 6e10 f404 0200 |000a: invoke-virtual {v2}, Ljava/io/DataInputStream;.readShort:()S // method@04f4 │ │ -021c06: 0a02 |000d: move-result v2 │ │ -021c08: 5463 d802 |000e: iget-object v3, v6, Ldnsfilter/remote/RemoteAccessClient$RemoteStream;.in:Ljava/io/DataInputStream; // field@02d8 │ │ -021c0c: 6e10 f404 0300 |0010: invoke-virtual {v3}, Ljava/io/DataInputStream;.readShort:()S // method@04f4 │ │ -021c12: 0a03 |0013: move-result v3 │ │ -021c14: 1404 00a0 0f00 |0014: const v4, #float 1.43493e-39 // #000fa000 │ │ -021c1a: 7054 5d04 1603 |0017: invoke-direct {v6, v1, v3, v0, v4}, Ldnsfilter/remote/RemoteAccessClient$RemoteStream;.getBuffer:([BIII)[B // method@045d │ │ -021c20: 0c01 |001a: move-result-object v1 │ │ -021c22: 5464 d802 |001b: iget-object v4, v6, Ldnsfilter/remote/RemoteAccessClient$RemoteStream;.in:Ljava/io/DataInputStream; // field@02d8 │ │ -021c26: 1205 |001d: const/4 v5, #int 0 // #0 │ │ -021c28: 6e40 f104 1435 |001e: invoke-virtual {v4, v1, v5, v3}, Ljava/io/DataInputStream;.readFully:([BII)V // method@04f1 │ │ -021c2e: 2b02 9700 0000 |0021: packed-switch v2, 000000b8 // +00000097 │ │ -021c34: 2200 0001 |0024: new-instance v0, Ljava/io/IOException; // type@0100 │ │ -021c38: 2857 |0026: goto 007d // +0057 │ │ -021c3a: 5462 dd02 |0027: iget-object v2, v6, Ldnsfilter/remote/RemoteAccessClient$RemoteStream;.this$0:Ldnsfilter/remote/RemoteAccessClient; // field@02dd │ │ -021c3e: 7110 6704 0200 |0029: invoke-static {v2}, Ldnsfilter/remote/RemoteAccessClient;.access$600:(Ldnsfilter/remote/RemoteAccessClient;)V // method@0467 │ │ -021c44: 28d8 |002c: goto 0004 // -0028 │ │ -021c46: 5462 dd02 |002d: iget-object v2, v6, Ldnsfilter/remote/RemoteAccessClient$RemoteStream;.this$0:Ldnsfilter/remote/RemoteAccessClient; // field@02dd │ │ -021c4a: 7110 6604 0200 |002f: invoke-static {v2}, Ldnsfilter/remote/RemoteAccessClient;.access$500:(Ldnsfilter/remote/RemoteAccessClient;)V // method@0466 │ │ -021c50: 7010 5c04 0600 |0032: invoke-direct {v6}, Ldnsfilter/remote/RemoteAccessClient$RemoteStream;.confirmHeartBeat:()V // method@045c │ │ -021c56: 28cf |0035: goto 0004 // -0031 │ │ -021c58: 5462 dd02 |0036: iget-object v2, v6, Ldnsfilter/remote/RemoteAccessClient$RemoteStream;.this$0:Ldnsfilter/remote/RemoteAccessClient; // field@02dd │ │ -021c5c: 2204 2b01 |0038: new-instance v4, Ljava/lang/String; // type@012b │ │ -021c60: 7040 8605 1435 |003a: invoke-direct {v4, v1, v5, v3}, Ljava/lang/String;.:([BII)V // method@0586 │ │ -021c66: 7110 6505 0400 |003d: invoke-static {v4}, Ljava/lang/Integer;.parseInt:(Ljava/lang/String;)I // method@0565 │ │ -021c6c: 0a03 |0040: move-result v3 │ │ -021c6e: 7120 6504 3200 |0041: invoke-static {v2, v3}, Ldnsfilter/remote/RemoteAccessClient;.access$402:(Ldnsfilter/remote/RemoteAccessClient;I)I // method@0465 │ │ -021c74: 28c0 |0044: goto 0004 // -0040 │ │ -021c76: 5462 dd02 |0045: iget-object v2, v6, Ldnsfilter/remote/RemoteAccessClient$RemoteStream;.this$0:Ldnsfilter/remote/RemoteAccessClient; // field@02dd │ │ -021c7a: 2204 2b01 |0047: new-instance v4, Ljava/lang/String; // type@012b │ │ -021c7e: 7040 8605 1435 |0049: invoke-direct {v4, v1, v5, v3}, Ljava/lang/String;.:([BII)V // method@0586 │ │ -021c84: 7120 6404 4200 |004c: invoke-static {v2, v4}, Ldnsfilter/remote/RemoteAccessClient;.access$302:(Ldnsfilter/remote/RemoteAccessClient;Ljava/lang/String;)Ljava/lang/String; // method@0464 │ │ -021c8a: 28b5 |004f: goto 0004 // -004b │ │ -021c8c: 5462 dd02 |0050: iget-object v2, v6, Ldnsfilter/remote/RemoteAccessClient$RemoteStream;.this$0:Ldnsfilter/remote/RemoteAccessClient; // field@02dd │ │ -021c90: 7110 6204 0200 |0052: invoke-static {v2}, Ldnsfilter/remote/RemoteAccessClient;.access$100:(Ldnsfilter/remote/RemoteAccessClient;)Lutil/LoggerInterface; // method@0462 │ │ -021c96: 0c02 |0055: move-result-object v2 │ │ -021c98: 2204 2b01 |0056: new-instance v4, Ljava/lang/String; // type@012b │ │ -021c9c: 7040 8605 1435 |0058: invoke-direct {v4, v1, v5, v3}, Ljava/lang/String;.:([BII)V // method@0586 │ │ -021ca2: 7220 3207 4200 |005b: invoke-interface {v2, v4}, Lutil/LoggerInterface;.message:(Ljava/lang/String;)V // method@0732 │ │ -021ca8: 28a6 |005e: goto 0004 // -005a │ │ -021caa: 5462 dd02 |005f: iget-object v2, v6, Ldnsfilter/remote/RemoteAccessClient$RemoteStream;.this$0:Ldnsfilter/remote/RemoteAccessClient; // field@02dd │ │ -021cae: 7110 6204 0200 |0061: invoke-static {v2}, Ldnsfilter/remote/RemoteAccessClient;.access$100:(Ldnsfilter/remote/RemoteAccessClient;)Lutil/LoggerInterface; // method@0462 │ │ -021cb4: 0c02 |0064: move-result-object v2 │ │ -021cb6: 2204 2b01 |0065: new-instance v4, Ljava/lang/String; // type@012b │ │ -021cba: 7040 8605 1435 |0067: invoke-direct {v4, v1, v5, v3}, Ljava/lang/String;.:([BII)V // method@0586 │ │ -021cc0: 7220 3107 4200 |006a: invoke-interface {v2, v4}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0731 │ │ -021cc6: 2897 |006d: goto 0004 // -0069 │ │ -021cc8: 5462 dd02 |006e: iget-object v2, v6, Ldnsfilter/remote/RemoteAccessClient$RemoteStream;.this$0:Ldnsfilter/remote/RemoteAccessClient; // field@02dd │ │ -021ccc: 7110 6204 0200 |0070: invoke-static {v2}, Ldnsfilter/remote/RemoteAccessClient;.access$100:(Ldnsfilter/remote/RemoteAccessClient;)Lutil/LoggerInterface; // method@0462 │ │ -021cd2: 0c02 |0073: move-result-object v2 │ │ -021cd4: 2204 2b01 |0074: new-instance v4, Ljava/lang/String; // type@012b │ │ -021cd8: 7040 8605 1435 |0076: invoke-direct {v4, v1, v5, v3}, Ljava/lang/String;.:([BII)V // method@0586 │ │ -021cde: 7220 2f07 4200 |0079: invoke-interface {v2, v4}, Lutil/LoggerInterface;.log:(Ljava/lang/String;)V // method@072f │ │ -021ce4: 2888 |007c: goto 0004 // -0078 │ │ -021ce6: 2201 2d01 |007d: new-instance v1, Ljava/lang/StringBuilder; // type@012d │ │ -021cea: 7010 a705 0100 |007f: invoke-direct {v1}, Ljava/lang/StringBuilder;.:()V // method@05a7 │ │ -021cf0: 1a03 8d04 |0082: const-string v3, "Unknown message type: " // string@048d │ │ -021cf4: 6e20 ad05 3100 |0084: invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -021cfa: 6e20 aa05 2100 |0087: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@05aa │ │ -021d00: 6e10 af05 0100 |008a: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ -021d06: 0c01 |008d: move-result-object v1 │ │ -021d08: 7020 1f05 1000 |008e: invoke-direct {v0, v1}, Ljava/io/IOException;.:(Ljava/lang/String;)V // method@051f │ │ -021d0e: 2700 |0091: throw v0 │ │ -021d10: 0d00 |0092: move-exception v0 │ │ -021d12: 5561 da02 |0093: iget-boolean v1, v6, Ldnsfilter/remote/RemoteAccessClient$RemoteStream;.stopped:Z // field@02da │ │ -021d16: 3901 2200 |0095: if-nez v1, 00b7 // +0022 │ │ -021d1a: 5461 dd02 |0097: iget-object v1, v6, Ldnsfilter/remote/RemoteAccessClient$RemoteStream;.this$0:Ldnsfilter/remote/RemoteAccessClient; // field@02dd │ │ -021d1e: 7110 6204 0100 |0099: invoke-static {v1}, Ldnsfilter/remote/RemoteAccessClient;.access$100:(Ldnsfilter/remote/RemoteAccessClient;)Lutil/LoggerInterface; // method@0462 │ │ -021d24: 0c01 |009c: move-result-object v1 │ │ -021d26: 2202 2d01 |009d: new-instance v2, Ljava/lang/StringBuilder; // type@012d │ │ -021d2a: 1a03 8701 |009f: const-string v3, "Exception during RemoteStream read! " // string@0187 │ │ -021d2e: 7020 a805 3200 |00a1: invoke-direct {v2, v3}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05a8 │ │ -021d34: 6e10 5f05 0000 |00a4: invoke-virtual {v0}, Ljava/lang/Exception;.toString:()Ljava/lang/String; // method@055f │ │ -021d3a: 0c00 |00a7: move-result-object v0 │ │ -021d3c: 6e20 ad05 0200 |00a8: invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -021d42: 6e10 af05 0200 |00ab: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ -021d48: 0c00 |00ae: move-result-object v0 │ │ -021d4a: 7220 3107 0100 |00af: invoke-interface {v1, v0}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0731 │ │ -021d50: 5460 dd02 |00b2: iget-object v0, v6, Ldnsfilter/remote/RemoteAccessClient$RemoteStream;.this$0:Ldnsfilter/remote/RemoteAccessClient; // field@02dd │ │ -021d54: 7110 6304 0000 |00b4: invoke-static {v0}, Ldnsfilter/remote/RemoteAccessClient;.access$200:(Ldnsfilter/remote/RemoteAccessClient;)V // method@0463 │ │ -021d5a: 0e00 |00b7: return-void │ │ -021d5c: 0001 0700 0100 0000 4d00 0000 3e00 ... |00b8: packed-switch-data (18 units) │ │ +021bd8: |[021bd8] dnsfilter.remote.RemoteAccessClient$RemoteStream.run:()V │ │ +021be8: 1300 0008 |0000: const/16 v0, #int 2048 // #800 │ │ +021bec: 2301 9d01 |0002: new-array v1, v0, [B // type@019d │ │ +021bf0: 5562 da02 |0004: iget-boolean v2, v6, Ldnsfilter/remote/RemoteAccessClient$RemoteStream;.stopped:Z // field@02da │ │ +021bf4: 3902 b100 |0006: if-nez v2, 00b7 // +00b1 │ │ +021bf8: 5462 d802 |0008: iget-object v2, v6, Ldnsfilter/remote/RemoteAccessClient$RemoteStream;.in:Ljava/io/DataInputStream; // field@02d8 │ │ +021bfc: 6e10 f404 0200 |000a: invoke-virtual {v2}, Ljava/io/DataInputStream;.readShort:()S // method@04f4 │ │ +021c02: 0a02 |000d: move-result v2 │ │ +021c04: 5463 d802 |000e: iget-object v3, v6, Ldnsfilter/remote/RemoteAccessClient$RemoteStream;.in:Ljava/io/DataInputStream; // field@02d8 │ │ +021c08: 6e10 f404 0300 |0010: invoke-virtual {v3}, Ljava/io/DataInputStream;.readShort:()S // method@04f4 │ │ +021c0e: 0a03 |0013: move-result v3 │ │ +021c10: 1404 00a0 0f00 |0014: const v4, #float 1.43493e-39 // #000fa000 │ │ +021c16: 7054 5d04 1603 |0017: invoke-direct {v6, v1, v3, v0, v4}, Ldnsfilter/remote/RemoteAccessClient$RemoteStream;.getBuffer:([BIII)[B // method@045d │ │ +021c1c: 0c01 |001a: move-result-object v1 │ │ +021c1e: 5464 d802 |001b: iget-object v4, v6, Ldnsfilter/remote/RemoteAccessClient$RemoteStream;.in:Ljava/io/DataInputStream; // field@02d8 │ │ +021c22: 1205 |001d: const/4 v5, #int 0 // #0 │ │ +021c24: 6e40 f104 1435 |001e: invoke-virtual {v4, v1, v5, v3}, Ljava/io/DataInputStream;.readFully:([BII)V // method@04f1 │ │ +021c2a: 2b02 9700 0000 |0021: packed-switch v2, 000000b8 // +00000097 │ │ +021c30: 2200 0001 |0024: new-instance v0, Ljava/io/IOException; // type@0100 │ │ +021c34: 2857 |0026: goto 007d // +0057 │ │ +021c36: 5462 dd02 |0027: iget-object v2, v6, Ldnsfilter/remote/RemoteAccessClient$RemoteStream;.this$0:Ldnsfilter/remote/RemoteAccessClient; // field@02dd │ │ +021c3a: 7110 6704 0200 |0029: invoke-static {v2}, Ldnsfilter/remote/RemoteAccessClient;.access$600:(Ldnsfilter/remote/RemoteAccessClient;)V // method@0467 │ │ +021c40: 28d8 |002c: goto 0004 // -0028 │ │ +021c42: 5462 dd02 |002d: iget-object v2, v6, Ldnsfilter/remote/RemoteAccessClient$RemoteStream;.this$0:Ldnsfilter/remote/RemoteAccessClient; // field@02dd │ │ +021c46: 7110 6604 0200 |002f: invoke-static {v2}, Ldnsfilter/remote/RemoteAccessClient;.access$500:(Ldnsfilter/remote/RemoteAccessClient;)V // method@0466 │ │ +021c4c: 7010 5c04 0600 |0032: invoke-direct {v6}, Ldnsfilter/remote/RemoteAccessClient$RemoteStream;.confirmHeartBeat:()V // method@045c │ │ +021c52: 28cf |0035: goto 0004 // -0031 │ │ +021c54: 5462 dd02 |0036: iget-object v2, v6, Ldnsfilter/remote/RemoteAccessClient$RemoteStream;.this$0:Ldnsfilter/remote/RemoteAccessClient; // field@02dd │ │ +021c58: 2204 2b01 |0038: new-instance v4, Ljava/lang/String; // type@012b │ │ +021c5c: 7040 8605 1435 |003a: invoke-direct {v4, v1, v5, v3}, Ljava/lang/String;.:([BII)V // method@0586 │ │ +021c62: 7110 6505 0400 |003d: invoke-static {v4}, Ljava/lang/Integer;.parseInt:(Ljava/lang/String;)I // method@0565 │ │ +021c68: 0a03 |0040: move-result v3 │ │ +021c6a: 7120 6504 3200 |0041: invoke-static {v2, v3}, Ldnsfilter/remote/RemoteAccessClient;.access$402:(Ldnsfilter/remote/RemoteAccessClient;I)I // method@0465 │ │ +021c70: 28c0 |0044: goto 0004 // -0040 │ │ +021c72: 5462 dd02 |0045: iget-object v2, v6, Ldnsfilter/remote/RemoteAccessClient$RemoteStream;.this$0:Ldnsfilter/remote/RemoteAccessClient; // field@02dd │ │ +021c76: 2204 2b01 |0047: new-instance v4, Ljava/lang/String; // type@012b │ │ +021c7a: 7040 8605 1435 |0049: invoke-direct {v4, v1, v5, v3}, Ljava/lang/String;.:([BII)V // method@0586 │ │ +021c80: 7120 6404 4200 |004c: invoke-static {v2, v4}, Ldnsfilter/remote/RemoteAccessClient;.access$302:(Ldnsfilter/remote/RemoteAccessClient;Ljava/lang/String;)Ljava/lang/String; // method@0464 │ │ +021c86: 28b5 |004f: goto 0004 // -004b │ │ +021c88: 5462 dd02 |0050: iget-object v2, v6, Ldnsfilter/remote/RemoteAccessClient$RemoteStream;.this$0:Ldnsfilter/remote/RemoteAccessClient; // field@02dd │ │ +021c8c: 7110 6204 0200 |0052: invoke-static {v2}, Ldnsfilter/remote/RemoteAccessClient;.access$100:(Ldnsfilter/remote/RemoteAccessClient;)Lutil/LoggerInterface; // method@0462 │ │ +021c92: 0c02 |0055: move-result-object v2 │ │ +021c94: 2204 2b01 |0056: new-instance v4, Ljava/lang/String; // type@012b │ │ +021c98: 7040 8605 1435 |0058: invoke-direct {v4, v1, v5, v3}, Ljava/lang/String;.:([BII)V // method@0586 │ │ +021c9e: 7220 3207 4200 |005b: invoke-interface {v2, v4}, Lutil/LoggerInterface;.message:(Ljava/lang/String;)V // method@0732 │ │ +021ca4: 28a6 |005e: goto 0004 // -005a │ │ +021ca6: 5462 dd02 |005f: iget-object v2, v6, Ldnsfilter/remote/RemoteAccessClient$RemoteStream;.this$0:Ldnsfilter/remote/RemoteAccessClient; // field@02dd │ │ +021caa: 7110 6204 0200 |0061: invoke-static {v2}, Ldnsfilter/remote/RemoteAccessClient;.access$100:(Ldnsfilter/remote/RemoteAccessClient;)Lutil/LoggerInterface; // method@0462 │ │ +021cb0: 0c02 |0064: move-result-object v2 │ │ +021cb2: 2204 2b01 |0065: new-instance v4, Ljava/lang/String; // type@012b │ │ +021cb6: 7040 8605 1435 |0067: invoke-direct {v4, v1, v5, v3}, Ljava/lang/String;.:([BII)V // method@0586 │ │ +021cbc: 7220 3107 4200 |006a: invoke-interface {v2, v4}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0731 │ │ +021cc2: 2897 |006d: goto 0004 // -0069 │ │ +021cc4: 5462 dd02 |006e: iget-object v2, v6, Ldnsfilter/remote/RemoteAccessClient$RemoteStream;.this$0:Ldnsfilter/remote/RemoteAccessClient; // field@02dd │ │ +021cc8: 7110 6204 0200 |0070: invoke-static {v2}, Ldnsfilter/remote/RemoteAccessClient;.access$100:(Ldnsfilter/remote/RemoteAccessClient;)Lutil/LoggerInterface; // method@0462 │ │ +021cce: 0c02 |0073: move-result-object v2 │ │ +021cd0: 2204 2b01 |0074: new-instance v4, Ljava/lang/String; // type@012b │ │ +021cd4: 7040 8605 1435 |0076: invoke-direct {v4, v1, v5, v3}, Ljava/lang/String;.:([BII)V // method@0586 │ │ +021cda: 7220 2f07 4200 |0079: invoke-interface {v2, v4}, Lutil/LoggerInterface;.log:(Ljava/lang/String;)V // method@072f │ │ +021ce0: 2888 |007c: goto 0004 // -0078 │ │ +021ce2: 2201 2d01 |007d: new-instance v1, Ljava/lang/StringBuilder; // type@012d │ │ +021ce6: 7010 a705 0100 |007f: invoke-direct {v1}, Ljava/lang/StringBuilder;.:()V // method@05a7 │ │ +021cec: 1a03 8d04 |0082: const-string v3, "Unknown message type: " // string@048d │ │ +021cf0: 6e20 ad05 3100 |0084: invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +021cf6: 6e20 aa05 2100 |0087: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@05aa │ │ +021cfc: 6e10 af05 0100 |008a: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ +021d02: 0c01 |008d: move-result-object v1 │ │ +021d04: 7020 1f05 1000 |008e: invoke-direct {v0, v1}, Ljava/io/IOException;.:(Ljava/lang/String;)V // method@051f │ │ +021d0a: 2700 |0091: throw v0 │ │ +021d0c: 0d00 |0092: move-exception v0 │ │ +021d0e: 5561 da02 |0093: iget-boolean v1, v6, Ldnsfilter/remote/RemoteAccessClient$RemoteStream;.stopped:Z // field@02da │ │ +021d12: 3901 2200 |0095: if-nez v1, 00b7 // +0022 │ │ +021d16: 5461 dd02 |0097: iget-object v1, v6, Ldnsfilter/remote/RemoteAccessClient$RemoteStream;.this$0:Ldnsfilter/remote/RemoteAccessClient; // field@02dd │ │ +021d1a: 7110 6204 0100 |0099: invoke-static {v1}, Ldnsfilter/remote/RemoteAccessClient;.access$100:(Ldnsfilter/remote/RemoteAccessClient;)Lutil/LoggerInterface; // method@0462 │ │ +021d20: 0c01 |009c: move-result-object v1 │ │ +021d22: 2202 2d01 |009d: new-instance v2, Ljava/lang/StringBuilder; // type@012d │ │ +021d26: 1a03 8701 |009f: const-string v3, "Exception during RemoteStream read! " // string@0187 │ │ +021d2a: 7020 a805 3200 |00a1: invoke-direct {v2, v3}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05a8 │ │ +021d30: 6e10 5f05 0000 |00a4: invoke-virtual {v0}, Ljava/lang/Exception;.toString:()Ljava/lang/String; // method@055f │ │ +021d36: 0c00 |00a7: move-result-object v0 │ │ +021d38: 6e20 ad05 0200 |00a8: invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +021d3e: 6e10 af05 0200 |00ab: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ +021d44: 0c00 |00ae: move-result-object v0 │ │ +021d46: 7220 3107 0100 |00af: invoke-interface {v1, v0}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0731 │ │ +021d4c: 5460 dd02 |00b2: iget-object v0, v6, Ldnsfilter/remote/RemoteAccessClient$RemoteStream;.this$0:Ldnsfilter/remote/RemoteAccessClient; // field@02dd │ │ +021d50: 7110 6304 0000 |00b4: invoke-static {v0}, Ldnsfilter/remote/RemoteAccessClient;.access$200:(Ldnsfilter/remote/RemoteAccessClient;)V // method@0463 │ │ +021d56: 0e00 |00b7: return-void │ │ +021d58: 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 │ │ @@ -24606,53 +24606,53 @@ │ │ type : '()V' │ │ access : 0x10008 (STATIC CONSTRUCTOR) │ │ code - │ │ registers : 0 │ │ ins : 0 │ │ outs : 0 │ │ insns size : 1 16-bit code units │ │ -024170: |[024170] dnsfilter.remote.RemoteAccessServer.:()V │ │ -024180: 0e00 |0000: return-void │ │ +02416c: |[02416c] dnsfilter.remote.RemoteAccessServer.:()V │ │ +02417c: 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 │ │ -024184: |[024184] dnsfilter.remote.RemoteAccessServer.:(ILjava/lang/String;)V │ │ -024194: 7010 7305 0200 |0000: invoke-direct {v2}, Ljava/lang/Object;.:()V // method@0573 │ │ -02419a: 1200 |0003: const/4 v0, #int 0 // #0 │ │ -02419c: 5c20 0603 |0004: iput-boolean v0, v2, Ldnsfilter/remote/RemoteAccessServer;.stopped:Z // field@0306 │ │ -0241a0: 2200 5801 |0006: new-instance v0, Ljava/util/HashMap; // type@0158 │ │ -0241a4: 7010 2406 0000 |0008: invoke-direct {v0}, Ljava/util/HashMap;.:()V // method@0624 │ │ -0241aa: 5b20 0503 |000b: iput-object v0, v2, Ldnsfilter/remote/RemoteAccessServer;.sessions:Ljava/util/HashMap; // field@0305 │ │ -0241ae: 7110 cc06 0400 |000d: invoke-static {v4}, Lutil/Encryption;.init_AES:(Ljava/lang/String;)V // method@06cc │ │ -0241b4: 2204 3d01 |0010: new-instance v4, Ljava/net/ServerSocket; // type@013d │ │ -0241b8: 7020 e405 3400 |0012: invoke-direct {v4, v3}, Ljava/net/ServerSocket;.:(I)V // method@05e4 │ │ -0241be: 5b24 0303 |0015: iput-object v4, v2, Ldnsfilter/remote/RemoteAccessServer;.server:Ljava/net/ServerSocket; // field@0303 │ │ -0241c2: 2204 2f01 |0017: new-instance v4, Ljava/lang/Thread; // type@012f │ │ -0241c6: 7020 b405 2400 |0019: invoke-direct {v4, v2}, Ljava/lang/Thread;.:(Ljava/lang/Runnable;)V // method@05b4 │ │ -0241cc: 6e10 ba05 0400 |001c: invoke-virtual {v4}, Ljava/lang/Thread;.start:()V // method@05ba │ │ -0241d2: 7100 2507 0000 |001f: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0725 │ │ -0241d8: 0c04 |0022: move-result-object v4 │ │ -0241da: 2200 2d01 |0023: new-instance v0, Ljava/lang/StringBuilder; // type@012d │ │ -0241de: 1a01 6204 |0025: const-string v1, "Started RemoteAccess Server on port " // string@0462 │ │ -0241e2: 7020 a805 1000 |0027: invoke-direct {v0, v1}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05a8 │ │ -0241e8: 6e20 aa05 3000 |002a: invoke-virtual {v0, v3}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@05aa │ │ -0241ee: 6e10 af05 0000 |002d: invoke-virtual {v0}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ -0241f4: 0c03 |0030: move-result-object v3 │ │ -0241f6: 7220 3107 3400 |0031: invoke-interface {v4, v3}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0731 │ │ -0241fc: 0e00 |0034: return-void │ │ +024180: |[024180] dnsfilter.remote.RemoteAccessServer.:(ILjava/lang/String;)V │ │ +024190: 7010 7305 0200 |0000: invoke-direct {v2}, Ljava/lang/Object;.:()V // method@0573 │ │ +024196: 1200 |0003: const/4 v0, #int 0 // #0 │ │ +024198: 5c20 0603 |0004: iput-boolean v0, v2, Ldnsfilter/remote/RemoteAccessServer;.stopped:Z // field@0306 │ │ +02419c: 2200 5801 |0006: new-instance v0, Ljava/util/HashMap; // type@0158 │ │ +0241a0: 7010 2406 0000 |0008: invoke-direct {v0}, Ljava/util/HashMap;.:()V // method@0624 │ │ +0241a6: 5b20 0503 |000b: iput-object v0, v2, Ldnsfilter/remote/RemoteAccessServer;.sessions:Ljava/util/HashMap; // field@0305 │ │ +0241aa: 7110 cc06 0400 |000d: invoke-static {v4}, Lutil/Encryption;.init_AES:(Ljava/lang/String;)V // method@06cc │ │ +0241b0: 2204 3d01 |0010: new-instance v4, Ljava/net/ServerSocket; // type@013d │ │ +0241b4: 7020 e405 3400 |0012: invoke-direct {v4, v3}, Ljava/net/ServerSocket;.:(I)V // method@05e4 │ │ +0241ba: 5b24 0303 |0015: iput-object v4, v2, Ldnsfilter/remote/RemoteAccessServer;.server:Ljava/net/ServerSocket; // field@0303 │ │ +0241be: 2204 2f01 |0017: new-instance v4, Ljava/lang/Thread; // type@012f │ │ +0241c2: 7020 b405 2400 |0019: invoke-direct {v4, v2}, Ljava/lang/Thread;.:(Ljava/lang/Runnable;)V // method@05b4 │ │ +0241c8: 6e10 ba05 0400 |001c: invoke-virtual {v4}, Ljava/lang/Thread;.start:()V // method@05ba │ │ +0241ce: 7100 2507 0000 |001f: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0725 │ │ +0241d4: 0c04 |0022: move-result-object v4 │ │ +0241d6: 2200 2d01 |0023: new-instance v0, Ljava/lang/StringBuilder; // type@012d │ │ +0241da: 1a01 6204 |0025: const-string v1, "Started RemoteAccess Server on port " // string@0462 │ │ +0241de: 7020 a805 1000 |0027: invoke-direct {v0, v1}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05a8 │ │ +0241e4: 6e20 aa05 3000 |002a: invoke-virtual {v0, v3}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@05aa │ │ +0241ea: 6e10 af05 0000 |002d: invoke-virtual {v0}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ +0241f0: 0c03 |0030: move-result-object v3 │ │ +0241f2: 7220 3107 3400 |0031: invoke-interface {v4, v3}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0731 │ │ +0241f8: 0e00 |0034: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=41 │ │ 0x0004 line=36 │ │ 0x0006 line=38 │ │ 0x000d line=42 │ │ 0x0010 line=43 │ │ @@ -24668,17 +24668,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 │ │ -024158: |[024158] dnsfilter.remote.RemoteAccessServer.access$200:(Ldnsfilter/remote/RemoteAccessServer;)Ljava/util/HashMap; │ │ -024168: 5400 0503 |0000: iget-object v0, v0, Ldnsfilter/remote/RemoteAccessServer;.sessions:Ljava/util/HashMap; // field@0305 │ │ -02416c: 1100 |0002: return-object v0 │ │ +024154: |[024154] dnsfilter.remote.RemoteAccessServer.access$200:(Ldnsfilter/remote/RemoteAccessServer;)Ljava/util/HashMap; │ │ +024164: 5400 0503 |0000: iget-object v0, v0, Ldnsfilter/remote/RemoteAccessServer;.sessions:Ljava/util/HashMap; // field@0305 │ │ +024168: 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;) │ │ @@ -24686,18 +24686,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 │ │ -0240f4: |[0240f4] dnsfilter.remote.RemoteAccessServer.access$300:(Ldnsfilter/remote/RemoteAccessServer;Ljava/io/InputStream;[B)Ljava/lang/String; │ │ -024104: 7030 a404 1002 |0000: invoke-direct {v0, v1, v2}, Ldnsfilter/remote/RemoteAccessServer;.readStringFromStream:(Ljava/io/InputStream;[B)Ljava/lang/String; // method@04a4 │ │ -02410a: 0c00 |0003: move-result-object v0 │ │ -02410c: 1100 |0004: return-object v0 │ │ +0240f0: |[0240f0] dnsfilter.remote.RemoteAccessServer.access$300:(Ldnsfilter/remote/RemoteAccessServer;Ljava/io/InputStream;[B)Ljava/lang/String; │ │ +024100: 7030 a404 1002 |0000: invoke-direct {v0, v1, v2}, Ldnsfilter/remote/RemoteAccessServer;.readStringFromStream:(Ljava/io/InputStream;[B)Ljava/lang/String; // method@04a4 │ │ +024106: 0c00 |0003: move-result-object v0 │ │ +024108: 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 │ │ @@ -24707,30 +24707,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 │ │ -024110: |[024110] dnsfilter.remote.RemoteAccessServer.readStringFromStream:(Ljava/io/InputStream;[B)Ljava/lang/String; │ │ -024120: 1210 |0000: const/4 v0, #int 1 // #1 │ │ -024122: 1201 |0001: const/4 v1, #int 0 // #0 │ │ -024124: 7140 9c07 4310 |0002: invoke-static {v3, v4, v0, v1}, Lutil/Utils;.readLineBytesFromStream:(Ljava/io/InputStream;[BZZ)I // method@079c │ │ -02412a: 0a03 |0005: move-result v3 │ │ -02412c: 12f0 |0006: const/4 v0, #int -1 // #ff │ │ -02412e: 3203 0c00 |0007: if-eq v3, v0, 0013 // +000c │ │ -024132: 2200 2b01 |0009: new-instance v0, Ljava/lang/String; // type@012b │ │ -024136: 7040 8605 4031 |000b: invoke-direct {v0, v4, v1, v3}, Ljava/lang/String;.:([BII)V // method@0586 │ │ -02413c: 6e10 a005 0000 |000e: invoke-virtual {v0}, Ljava/lang/String;.trim:()Ljava/lang/String; // method@05a0 │ │ -024142: 0c03 |0011: move-result-object v3 │ │ -024144: 1103 |0012: return-object v3 │ │ -024146: 2203 fa00 |0013: new-instance v3, Ljava/io/EOFException; // type@00fa │ │ -02414a: 1a04 6304 |0015: const-string v4, "Stream is closed!" // string@0463 │ │ -02414e: 7020 fe04 4300 |0017: invoke-direct {v3, v4}, Ljava/io/EOFException;.:(Ljava/lang/String;)V // method@04fe │ │ -024154: 2703 |001a: throw v3 │ │ +02410c: |[02410c] dnsfilter.remote.RemoteAccessServer.readStringFromStream:(Ljava/io/InputStream;[B)Ljava/lang/String; │ │ +02411c: 1210 |0000: const/4 v0, #int 1 // #1 │ │ +02411e: 1201 |0001: const/4 v1, #int 0 // #0 │ │ +024120: 7140 9c07 4310 |0002: invoke-static {v3, v4, v0, v1}, Lutil/Utils;.readLineBytesFromStream:(Ljava/io/InputStream;[BZZ)I // method@079c │ │ +024126: 0a03 |0005: move-result v3 │ │ +024128: 12f0 |0006: const/4 v0, #int -1 // #ff │ │ +02412a: 3203 0c00 |0007: if-eq v3, v0, 0013 // +000c │ │ +02412e: 2200 2b01 |0009: new-instance v0, Ljava/lang/String; // type@012b │ │ +024132: 7040 8605 4031 |000b: invoke-direct {v0, v4, v1, v3}, Ljava/lang/String;.:([BII)V // method@0586 │ │ +024138: 6e10 a005 0000 |000e: invoke-virtual {v0}, Ljava/lang/String;.trim:()Ljava/lang/String; // method@05a0 │ │ +02413e: 0c03 |0011: move-result-object v3 │ │ +024140: 1103 |0012: return-object v3 │ │ +024142: 2203 fa00 |0013: new-instance v3, Ljava/io/EOFException; // type@00fa │ │ +024146: 1a04 6304 |0015: const-string v4, "Stream is closed!" // string@0463 │ │ +02414a: 7020 fe04 4300 |0017: invoke-direct {v3, v4}, Ljava/io/EOFException;.:(Ljava/lang/String;)V // method@04fe │ │ +024150: 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; │ │ @@ -24743,33 +24743,33 @@ │ │ type : '()V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 4 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 33 16-bit code units │ │ -024200: |[024200] dnsfilter.remote.RemoteAccessServer.invalidate:()V │ │ -024210: 5430 0503 |0000: iget-object v0, v3, Ldnsfilter/remote/RemoteAccessServer;.sessions:Ljava/util/HashMap; // field@0305 │ │ -024214: 6e10 2c06 0000 |0002: invoke-virtual {v0}, Ljava/util/HashMap;.values:()Ljava/util/Collection; // method@062c │ │ -02421a: 0c00 |0005: move-result-object v0 │ │ -02421c: 5431 0503 |0006: iget-object v1, v3, Ldnsfilter/remote/RemoteAccessServer;.sessions:Ljava/util/HashMap; // field@0305 │ │ -024220: 6e10 2b06 0100 |0008: invoke-virtual {v1}, Ljava/util/HashMap;.size:()I // method@062b │ │ -024226: 0a01 |000b: move-result v1 │ │ -024228: 2311 a801 |000c: new-array v1, v1, [Ldnsfilter/remote/RemoteAccessServer$RemoteSession; // type@01a8 │ │ -02422c: 7220 1e06 1000 |000e: invoke-interface {v0, v1}, Ljava/util/Collection;.toArray:([Ljava/lang/Object;)[Ljava/lang/Object; // method@061e │ │ -024232: 0c00 |0011: move-result-object v0 │ │ -024234: 1f00 a801 |0012: check-cast v0, [Ldnsfilter/remote/RemoteAccessServer$RemoteSession; // type@01a8 │ │ -024238: 1201 |0014: const/4 v1, #int 0 // #0 │ │ -02423a: 2102 |0015: array-length v2, v0 │ │ -02423c: 3521 0a00 |0016: if-ge v1, v2, 0020 // +000a │ │ -024240: 4602 0001 |0018: aget-object v2, v0, v1 │ │ -024244: 7110 9304 0200 |001a: invoke-static {v2}, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.access$000:(Ldnsfilter/remote/RemoteAccessServer$RemoteSession;)V // method@0493 │ │ -02424a: d801 0101 |001d: add-int/lit8 v1, v1, #int 1 // #01 │ │ -02424e: 28f6 |001f: goto 0015 // -000a │ │ -024250: 0e00 |0020: return-void │ │ +0241fc: |[0241fc] dnsfilter.remote.RemoteAccessServer.invalidate:()V │ │ +02420c: 5430 0503 |0000: iget-object v0, v3, Ldnsfilter/remote/RemoteAccessServer;.sessions:Ljava/util/HashMap; // field@0305 │ │ +024210: 6e10 2c06 0000 |0002: invoke-virtual {v0}, Ljava/util/HashMap;.values:()Ljava/util/Collection; // method@062c │ │ +024216: 0c00 |0005: move-result-object v0 │ │ +024218: 5431 0503 |0006: iget-object v1, v3, Ldnsfilter/remote/RemoteAccessServer;.sessions:Ljava/util/HashMap; // field@0305 │ │ +02421c: 6e10 2b06 0100 |0008: invoke-virtual {v1}, Ljava/util/HashMap;.size:()I // method@062b │ │ +024222: 0a01 |000b: move-result v1 │ │ +024224: 2311 a801 |000c: new-array v1, v1, [Ldnsfilter/remote/RemoteAccessServer$RemoteSession; // type@01a8 │ │ +024228: 7220 1e06 1000 |000e: invoke-interface {v0, v1}, Ljava/util/Collection;.toArray:([Ljava/lang/Object;)[Ljava/lang/Object; // method@061e │ │ +02422e: 0c00 |0011: move-result-object v0 │ │ +024230: 1f00 a801 |0012: check-cast v0, [Ldnsfilter/remote/RemoteAccessServer$RemoteSession; // type@01a8 │ │ +024234: 1201 |0014: const/4 v1, #int 0 // #0 │ │ +024236: 2102 |0015: array-length v2, v0 │ │ +024238: 3521 0a00 |0016: if-ge v1, v2, 0020 // +000a │ │ +02423c: 4602 0001 |0018: aget-object v2, v0, v1 │ │ +024240: 7110 9304 0200 |001a: invoke-static {v2}, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.access$000:(Ldnsfilter/remote/RemoteAccessServer$RemoteSession;)V // method@0493 │ │ +024246: d801 0101 |001d: add-int/lit8 v1, v1, #int 1 // #01 │ │ +02424a: 28f6 |001f: goto 0015 // -000a │ │ +02424c: 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; │ │ @@ -24779,173 +24779,173 @@ │ │ type : '()V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 11 │ │ ins : 1 │ │ outs : 7 │ │ insns size : 338 16-bit code units │ │ -024254: |[024254] dnsfilter.remote.RemoteAccessServer.run:()V │ │ -024264: 1a00 0200 |0000: const-string v0, " │ │ +024250: |[024250] dnsfilter.remote.RemoteAccessServer.run:()V │ │ +024260: 1a00 0200 |0000: const-string v0, " │ │ " // string@0002 │ │ -024268: 55a1 0603 |0002: iget-boolean v1, v10, Ldnsfilter/remote/RemoteAccessServer;.stopped:Z // field@0306 │ │ -02426c: 3901 4d01 |0004: if-nez v1, 0151 // +014d │ │ -024270: 54a1 0303 |0006: iget-object v1, v10, Ldnsfilter/remote/RemoteAccessServer;.server:Ljava/net/ServerSocket; // field@0303 │ │ -024274: 6e10 e505 0100 |0008: invoke-virtual {v1}, Ljava/net/ServerSocket;.accept:()Ljava/net/Socket; // method@05e5 │ │ -02427a: 0c01 |000b: move-result-object v1 │ │ -02427c: 6e10 ea05 0100 |000c: invoke-virtual {v1}, Ljava/net/Socket;.getInputStream:()Ljava/io/InputStream; // method@05ea │ │ -024282: 0c02 |000f: move-result-object v2 │ │ -024284: 7110 ca06 0200 |0010: invoke-static {v2}, Lutil/Encryption;.getDecryptedStream:(Ljava/io/InputStream;)Ljava/io/InputStream; // method@06ca │ │ -02428a: 0c05 |0013: move-result-object v5 │ │ -02428c: 6e10 eb05 0100 |0014: invoke-virtual {v1}, Ljava/net/Socket;.getOutputStream:()Ljava/io/OutputStream; // method@05eb │ │ -024292: 0c02 |0017: move-result-object v2 │ │ -024294: 1303 0004 |0018: const/16 v3, #int 1024 // #400 │ │ -024298: 7120 cb06 3200 |001a: invoke-static {v2, v3}, Lutil/Encryption;.getEncryptedOutputStream:(Ljava/io/OutputStream;I)Ljava/io/OutputStream; // method@06cb │ │ -02429e: 0c09 |001d: move-result-object v9 │ │ -0242a0: 2332 9d01 |001e: new-array v2, v3, [B // type@019d │ │ -0242a4: 7030 a404 5a02 |0020: invoke-direct {v10, v5, v2}, Ldnsfilter/remote/RemoteAccessServer;.readStringFromStream:(Ljava/io/InputStream;[B)Ljava/lang/String; // method@04a4 │ │ -0242aa: 7030 a404 5a02 |0023: invoke-direct {v10, v5, v2}, Ldnsfilter/remote/RemoteAccessServer;.readStringFromStream:(Ljava/io/InputStream;[B)Ljava/lang/String; // method@04a4 │ │ -0242b0: 0c03 |0026: move-result-object v3 │ │ -0242b2: 1a04 fd08 |0027: const-string v4, "new_session" // string@08fd │ │ -0242b6: 6e20 8b05 4300 |0029: invoke-virtual {v3, v4}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058b │ │ -0242bc: 0a04 |002c: move-result v4 │ │ -0242be: 1a06 fb03 |002d: const-string v6, "OK │ │ +024264: 55a1 0603 |0002: iget-boolean v1, v10, Ldnsfilter/remote/RemoteAccessServer;.stopped:Z // field@0306 │ │ +024268: 3901 4d01 |0004: if-nez v1, 0151 // +014d │ │ +02426c: 54a1 0303 |0006: iget-object v1, v10, Ldnsfilter/remote/RemoteAccessServer;.server:Ljava/net/ServerSocket; // field@0303 │ │ +024270: 6e10 e505 0100 |0008: invoke-virtual {v1}, Ljava/net/ServerSocket;.accept:()Ljava/net/Socket; // method@05e5 │ │ +024276: 0c01 |000b: move-result-object v1 │ │ +024278: 6e10 ea05 0100 |000c: invoke-virtual {v1}, Ljava/net/Socket;.getInputStream:()Ljava/io/InputStream; // method@05ea │ │ +02427e: 0c02 |000f: move-result-object v2 │ │ +024280: 7110 ca06 0200 |0010: invoke-static {v2}, Lutil/Encryption;.getDecryptedStream:(Ljava/io/InputStream;)Ljava/io/InputStream; // method@06ca │ │ +024286: 0c05 |0013: move-result-object v5 │ │ +024288: 6e10 eb05 0100 |0014: invoke-virtual {v1}, Ljava/net/Socket;.getOutputStream:()Ljava/io/OutputStream; // method@05eb │ │ +02428e: 0c02 |0017: move-result-object v2 │ │ +024290: 1303 0004 |0018: const/16 v3, #int 1024 // #400 │ │ +024294: 7120 cb06 3200 |001a: invoke-static {v2, v3}, Lutil/Encryption;.getEncryptedOutputStream:(Ljava/io/OutputStream;I)Ljava/io/OutputStream; // method@06cb │ │ +02429a: 0c09 |001d: move-result-object v9 │ │ +02429c: 2332 9d01 |001e: new-array v2, v3, [B // type@019d │ │ +0242a0: 7030 a404 5a02 |0020: invoke-direct {v10, v5, v2}, Ldnsfilter/remote/RemoteAccessServer;.readStringFromStream:(Ljava/io/InputStream;[B)Ljava/lang/String; // method@04a4 │ │ +0242a6: 7030 a404 5a02 |0023: invoke-direct {v10, v5, v2}, Ldnsfilter/remote/RemoteAccessServer;.readStringFromStream:(Ljava/io/InputStream;[B)Ljava/lang/String; // method@04a4 │ │ +0242ac: 0c03 |0026: move-result-object v3 │ │ +0242ae: 1a04 fd08 |0027: const-string v4, "new_session" // string@08fd │ │ +0242b2: 6e20 8b05 4300 |0029: invoke-virtual {v3, v4}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058b │ │ +0242b8: 0a04 |002c: move-result v4 │ │ +0242ba: 1a06 fb03 |002d: const-string v6, "OK │ │ " // string@03fb │ │ -0242c2: 3804 9100 |002f: if-eqz v4, 00c0 // +0091 │ │ -0242c6: 6002 0403 |0031: sget v2, Ldnsfilter/remote/RemoteAccessServer;.sessionId:I // field@0304 │ │ -0242ca: d802 0201 |0033: add-int/lit8 v2, v2, #int 1 // #01 │ │ -0242ce: 6702 0403 |0035: sput v2, Ldnsfilter/remote/RemoteAccessServer;.sessionId:I // field@0304 │ │ -0242d2: 6e10 8d05 0600 |0037: invoke-virtual {v6}, Ljava/lang/String;.getBytes:()[B // method@058d │ │ -0242d8: 0c02 |003a: move-result-object v2 │ │ -0242da: 6e20 3605 2900 |003b: invoke-virtual {v9, v2}, Ljava/io/OutputStream;.write:([B)V // method@0536 │ │ -0242e0: 2202 2d01 |003e: new-instance v2, Ljava/lang/StringBuilder; // type@012d │ │ -0242e4: 7010 a705 0200 |0040: invoke-direct {v2}, Ljava/lang/StringBuilder;.:()V // method@05a7 │ │ -0242ea: 6003 0403 |0043: sget v3, Ldnsfilter/remote/RemoteAccessServer;.sessionId:I // field@0304 │ │ -0242ee: 6e20 aa05 3200 |0045: invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@05aa │ │ -0242f4: 6e20 ad05 0200 |0048: invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -0242fa: 6e10 af05 0200 |004b: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ -024300: 0c02 |004e: move-result-object v2 │ │ -024302: 6e10 8d05 0200 |004f: invoke-virtual {v2}, Ljava/lang/String;.getBytes:()[B // method@058d │ │ -024308: 0c02 |0052: move-result-object v2 │ │ -02430a: 6e20 3605 2900 |0053: invoke-virtual {v9, v2}, Ljava/io/OutputStream;.write:([B)V // method@0536 │ │ -024310: 2202 2d01 |0056: new-instance v2, Ljava/lang/StringBuilder; // type@012d │ │ -024314: 7010 a705 0200 |0058: invoke-direct {v2}, Ljava/lang/StringBuilder;.:()V // method@05a7 │ │ -02431a: 7100 5301 0000 |005b: invoke-static {}, Ldnsfilter/ConfigurationAccess;.getLocal:()Ldnsfilter/ConfigurationAccess; // method@0153 │ │ -024320: 0c03 |005e: move-result-object v3 │ │ -024322: 6e10 5501 0300 |005f: invoke-virtual {v3}, Ldnsfilter/ConfigurationAccess;.getVersion:()Ljava/lang/String; // method@0155 │ │ -024328: 0c03 |0062: move-result-object v3 │ │ -02432a: 6e20 ad05 3200 |0063: invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -024330: 6e20 ad05 0200 |0066: invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -024336: 6e10 af05 0200 |0069: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ -02433c: 0c02 |006c: move-result-object v2 │ │ -02433e: 6e10 8d05 0200 |006d: invoke-virtual {v2}, Ljava/lang/String;.getBytes:()[B // method@058d │ │ -024344: 0c02 |0070: move-result-object v2 │ │ -024346: 6e20 3605 2900 |0071: invoke-virtual {v9, v2}, Ljava/io/OutputStream;.write:([B)V // method@0536 │ │ -02434c: 2202 2d01 |0074: new-instance v2, Ljava/lang/StringBuilder; // type@012d │ │ -024350: 7010 a705 0200 |0076: invoke-direct {v2}, Ljava/lang/StringBuilder;.:()V // method@05a7 │ │ -024356: 7100 5301 0000 |0079: invoke-static {}, Ldnsfilter/ConfigurationAccess;.getLocal:()Ldnsfilter/ConfigurationAccess; // method@0153 │ │ -02435c: 0c03 |007c: move-result-object v3 │ │ -02435e: 6e10 5201 0300 |007d: invoke-virtual {v3}, Ldnsfilter/ConfigurationAccess;.getLastDNSAddress:()Ljava/lang/String; // method@0152 │ │ -024364: 0c03 |0080: move-result-object v3 │ │ -024366: 6e20 ad05 3200 |0081: invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -02436c: 6e20 ad05 0200 |0084: invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -024372: 6e10 af05 0200 |0087: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ -024378: 0c02 |008a: move-result-object v2 │ │ -02437a: 6e10 8d05 0200 |008b: invoke-virtual {v2}, Ljava/lang/String;.getBytes:()[B // method@058d │ │ -024380: 0c02 |008e: move-result-object v2 │ │ -024382: 6e20 3605 2900 |008f: invoke-virtual {v9, v2}, Ljava/io/OutputStream;.write:([B)V // method@0536 │ │ -024388: 2202 2d01 |0092: new-instance v2, Ljava/lang/StringBuilder; // type@012d │ │ -02438c: 7010 a705 0200 |0094: invoke-direct {v2}, Ljava/lang/StringBuilder;.:()V // method@05a7 │ │ -024392: 7100 5301 0000 |0097: invoke-static {}, Ldnsfilter/ConfigurationAccess;.getLocal:()Ldnsfilter/ConfigurationAccess; // method@0153 │ │ -024398: 0c03 |009a: move-result-object v3 │ │ -02439a: 6e10 5801 0300 |009b: invoke-virtual {v3}, Ldnsfilter/ConfigurationAccess;.openConnectionsCount:()I // method@0158 │ │ -0243a0: 0a03 |009e: move-result v3 │ │ -0243a2: 6e20 aa05 3200 |009f: invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@05aa │ │ -0243a8: 6e20 ad05 0200 |00a2: invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -0243ae: 6e10 af05 0200 |00a5: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ -0243b4: 0c02 |00a8: move-result-object v2 │ │ -0243b6: 6e10 8d05 0200 |00a9: invoke-virtual {v2}, Ljava/lang/String;.getBytes:()[B // method@058d │ │ -0243bc: 0c02 |00ac: move-result-object v2 │ │ -0243be: 6e20 3605 2900 |00ad: invoke-virtual {v9, v2}, Ljava/io/OutputStream;.write:([B)V // method@0536 │ │ -0243c4: 6e10 3405 0900 |00b0: invoke-virtual {v9}, Ljava/io/OutputStream;.flush:()V // method@0534 │ │ -0243ca: 2202 ed00 |00b3: new-instance v2, Ldnsfilter/remote/RemoteAccessServer$RemoteSession; // type@00ed │ │ -0243ce: 6007 0403 |00b5: sget v7, Ldnsfilter/remote/RemoteAccessServer;.sessionId:I // field@0304 │ │ -0243d2: 1208 |00b7: const/4 v8, #int 0 // #0 │ │ -0243d4: 07a3 |00b8: move-object v3, v10 │ │ -0243d6: 0714 |00b9: move-object v4, v1 │ │ -0243d8: 0796 |00ba: move-object v6, v9 │ │ -0243da: 7607 9204 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@0492 │ │ -0243e0: 2900 44ff |00be: goto/16 0002 // -00bc │ │ -0243e4: 1a04 ca09 |00c0: const-string v4, "reconnect_session" // string@09ca │ │ -0243e8: 6e20 8b05 4300 |00c2: invoke-virtual {v3, v4}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058b │ │ -0243ee: 0a04 |00c5: move-result v4 │ │ -0243f0: 3804 4500 |00c6: if-eqz v4, 010b // +0045 │ │ -0243f4: 7030 a404 5a02 |00c8: invoke-direct {v10, v5, v2}, Ldnsfilter/remote/RemoteAccessServer;.readStringFromStream:(Ljava/io/InputStream;[B)Ljava/lang/String; // method@04a4 │ │ -0243fa: 0c02 |00cb: move-result-object v2 │ │ -0243fc: 7110 6505 0200 |00cc: invoke-static {v2}, Ljava/lang/Integer;.parseInt:(Ljava/lang/String;)I // method@0565 │ │ -024402: 0a02 |00cf: move-result v2 │ │ -024404: 54a3 0503 |00d0: iget-object v3, v10, Ldnsfilter/remote/RemoteAccessServer;.sessions:Ljava/util/HashMap; // field@0305 │ │ -024408: 7110 6805 0200 |00d2: invoke-static {v2}, Ljava/lang/Integer;.valueOf:(I)Ljava/lang/Integer; // method@0568 │ │ -02440e: 0c04 |00d5: move-result-object v4 │ │ -024410: 6e20 2806 4300 |00d6: invoke-virtual {v3, v4}, Ljava/util/HashMap;.get:(Ljava/lang/Object;)Ljava/lang/Object; // method@0628 │ │ -024416: 0c03 |00d9: move-result-object v3 │ │ -024418: 1f03 ed00 |00da: check-cast v3, Ldnsfilter/remote/RemoteAccessServer$RemoteSession; // type@00ed │ │ -02441c: 3803 1100 |00dc: if-eqz v3, 00ed // +0011 │ │ -024420: 6e40 9c04 1395 |00de: invoke-virtual {v3, v1, v5, v9}, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.reconnectSession:(Ljava/net/Socket;Ljava/io/InputStream;Ljava/io/OutputStream;)V // method@049c │ │ -024426: 6e10 8d05 0600 |00e1: invoke-virtual {v6}, Ljava/lang/String;.getBytes:()[B // method@058d │ │ -02442c: 0c02 |00e4: move-result-object v2 │ │ -02442e: 6e20 3605 2900 |00e5: invoke-virtual {v9, v2}, Ljava/io/OutputStream;.write:([B)V // method@0536 │ │ -024434: 6e10 3405 0900 |00e8: invoke-virtual {v9}, Ljava/io/OutputStream;.flush:()V // method@0534 │ │ -02443a: 2900 17ff |00eb: goto/16 0002 // -00e9 │ │ -02443e: 2203 0001 |00ed: new-instance v3, Ljava/io/IOException; // type@0100 │ │ -024442: 2204 2d01 |00ef: new-instance v4, Ljava/lang/StringBuilder; // type@012d │ │ -024446: 7010 a705 0400 |00f1: invoke-direct {v4}, Ljava/lang/StringBuilder;.:()V // method@05a7 │ │ -02444c: 1a05 2704 |00f4: const-string v5, "Reconnect session not found:" // string@0427 │ │ -024450: 6e20 ad05 5400 |00f6: invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -024456: 6e20 aa05 2400 |00f9: invoke-virtual {v4, v2}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@05aa │ │ -02445c: 6e10 af05 0400 |00fc: invoke-virtual {v4}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ -024462: 0c02 |00ff: move-result-object v2 │ │ -024464: 7020 1f05 2300 |0100: invoke-direct {v3, v2}, Ljava/io/IOException;.:(Ljava/lang/String;)V // method@051f │ │ -02446a: 2703 |0103: throw v3 │ │ -02446c: 0d02 |0104: move-exception v2 │ │ -02446e: 2203 0001 |0105: new-instance v3, Ljava/io/IOException; // type@0100 │ │ -024472: 7020 2105 2300 |0107: invoke-direct {v3, v2}, Ljava/io/IOException;.:(Ljava/lang/Throwable;)V // method@0521 │ │ -024478: 2703 |010a: throw v3 │ │ -02447a: 2202 0001 |010b: new-instance v2, Ljava/io/IOException; // type@0100 │ │ -02447e: 2204 2d01 |010d: new-instance v4, Ljava/lang/StringBuilder; // type@012d │ │ -024482: 7010 a705 0400 |010f: invoke-direct {v4}, Ljava/lang/StringBuilder;.:()V // method@05a7 │ │ -024488: 1a05 f401 |0112: const-string v5, "Invalid option: " // string@01f4 │ │ -02448c: 6e20 ad05 5400 |0114: invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -024492: 6e20 ad05 3400 |0117: invoke-virtual {v4, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -024498: 6e10 af05 0400 |011a: invoke-virtual {v4}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ -02449e: 0c03 |011d: move-result-object v3 │ │ -0244a0: 7020 1f05 3200 |011e: invoke-direct {v2, v3}, Ljava/io/IOException;.:(Ljava/lang/String;)V // method@051f │ │ -0244a6: 2702 |0121: throw v2 │ │ -0244a8: 0d02 |0122: move-exception v2 │ │ -0244aa: 6e10 2405 0200 |0123: invoke-virtual {v2}, Ljava/io/IOException;.toString:()Ljava/lang/String; // method@0524 │ │ -0244b0: 0c03 |0126: move-result-object v3 │ │ -0244b2: 6e10 8d05 0300 |0127: invoke-virtual {v3}, Ljava/lang/String;.getBytes:()[B // method@058d │ │ -0244b8: 0c03 |012a: move-result-object v3 │ │ -0244ba: 6e20 3605 3900 |012b: invoke-virtual {v9, v3}, Ljava/io/OutputStream;.write:([B)V // method@0536 │ │ -0244c0: 6e10 3405 0900 |012e: invoke-virtual {v9}, Ljava/io/OutputStream;.flush:()V // method@0534 │ │ -0244c6: 7110 9007 0100 |0131: invoke-static {v1}, Lutil/Utils;.closeSocket:(Ljava/net/Socket;)V // method@0790 │ │ -0244cc: 2702 |0134: throw v2 │ │ -0244ce: 0d01 |0135: move-exception v1 │ │ -0244d0: 7100 2507 0000 |0136: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0725 │ │ -0244d6: 0c02 |0139: move-result-object v2 │ │ -0244d8: 2203 2d01 |013a: new-instance v3, Ljava/lang/StringBuilder; // type@012d │ │ -0244dc: 1a04 3f04 |013c: const-string v4, "RemoteServerException: " // string@043f │ │ -0244e0: 7020 a805 4300 |013e: invoke-direct {v3, v4}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05a8 │ │ -0244e6: 6e10 2405 0100 |0141: invoke-virtual {v1}, Ljava/io/IOException;.toString:()Ljava/lang/String; // method@0524 │ │ -0244ec: 0c01 |0144: move-result-object v1 │ │ -0244ee: 6e20 ad05 1300 |0145: invoke-virtual {v3, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -0244f4: 6e10 af05 0300 |0148: invoke-virtual {v3}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ -0244fa: 0c01 |014b: move-result-object v1 │ │ -0244fc: 7220 3107 1200 |014c: invoke-interface {v2, v1}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0731 │ │ -024502: 2900 b3fe |014f: goto/16 0002 // -014d │ │ -024506: 0e00 |0151: return-void │ │ +0242be: 3804 9100 |002f: if-eqz v4, 00c0 // +0091 │ │ +0242c2: 6002 0403 |0031: sget v2, Ldnsfilter/remote/RemoteAccessServer;.sessionId:I // field@0304 │ │ +0242c6: d802 0201 |0033: add-int/lit8 v2, v2, #int 1 // #01 │ │ +0242ca: 6702 0403 |0035: sput v2, Ldnsfilter/remote/RemoteAccessServer;.sessionId:I // field@0304 │ │ +0242ce: 6e10 8d05 0600 |0037: invoke-virtual {v6}, Ljava/lang/String;.getBytes:()[B // method@058d │ │ +0242d4: 0c02 |003a: move-result-object v2 │ │ +0242d6: 6e20 3605 2900 |003b: invoke-virtual {v9, v2}, Ljava/io/OutputStream;.write:([B)V // method@0536 │ │ +0242dc: 2202 2d01 |003e: new-instance v2, Ljava/lang/StringBuilder; // type@012d │ │ +0242e0: 7010 a705 0200 |0040: invoke-direct {v2}, Ljava/lang/StringBuilder;.:()V // method@05a7 │ │ +0242e6: 6003 0403 |0043: sget v3, Ldnsfilter/remote/RemoteAccessServer;.sessionId:I // field@0304 │ │ +0242ea: 6e20 aa05 3200 |0045: invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@05aa │ │ +0242f0: 6e20 ad05 0200 |0048: invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +0242f6: 6e10 af05 0200 |004b: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ +0242fc: 0c02 |004e: move-result-object v2 │ │ +0242fe: 6e10 8d05 0200 |004f: invoke-virtual {v2}, Ljava/lang/String;.getBytes:()[B // method@058d │ │ +024304: 0c02 |0052: move-result-object v2 │ │ +024306: 6e20 3605 2900 |0053: invoke-virtual {v9, v2}, Ljava/io/OutputStream;.write:([B)V // method@0536 │ │ +02430c: 2202 2d01 |0056: new-instance v2, Ljava/lang/StringBuilder; // type@012d │ │ +024310: 7010 a705 0200 |0058: invoke-direct {v2}, Ljava/lang/StringBuilder;.:()V // method@05a7 │ │ +024316: 7100 5301 0000 |005b: invoke-static {}, Ldnsfilter/ConfigurationAccess;.getLocal:()Ldnsfilter/ConfigurationAccess; // method@0153 │ │ +02431c: 0c03 |005e: move-result-object v3 │ │ +02431e: 6e10 5501 0300 |005f: invoke-virtual {v3}, Ldnsfilter/ConfigurationAccess;.getVersion:()Ljava/lang/String; // method@0155 │ │ +024324: 0c03 |0062: move-result-object v3 │ │ +024326: 6e20 ad05 3200 |0063: invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +02432c: 6e20 ad05 0200 |0066: invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +024332: 6e10 af05 0200 |0069: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ +024338: 0c02 |006c: move-result-object v2 │ │ +02433a: 6e10 8d05 0200 |006d: invoke-virtual {v2}, Ljava/lang/String;.getBytes:()[B // method@058d │ │ +024340: 0c02 |0070: move-result-object v2 │ │ +024342: 6e20 3605 2900 |0071: invoke-virtual {v9, v2}, Ljava/io/OutputStream;.write:([B)V // method@0536 │ │ +024348: 2202 2d01 |0074: new-instance v2, Ljava/lang/StringBuilder; // type@012d │ │ +02434c: 7010 a705 0200 |0076: invoke-direct {v2}, Ljava/lang/StringBuilder;.:()V // method@05a7 │ │ +024352: 7100 5301 0000 |0079: invoke-static {}, Ldnsfilter/ConfigurationAccess;.getLocal:()Ldnsfilter/ConfigurationAccess; // method@0153 │ │ +024358: 0c03 |007c: move-result-object v3 │ │ +02435a: 6e10 5201 0300 |007d: invoke-virtual {v3}, Ldnsfilter/ConfigurationAccess;.getLastDNSAddress:()Ljava/lang/String; // method@0152 │ │ +024360: 0c03 |0080: move-result-object v3 │ │ +024362: 6e20 ad05 3200 |0081: invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +024368: 6e20 ad05 0200 |0084: invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +02436e: 6e10 af05 0200 |0087: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ +024374: 0c02 |008a: move-result-object v2 │ │ +024376: 6e10 8d05 0200 |008b: invoke-virtual {v2}, Ljava/lang/String;.getBytes:()[B // method@058d │ │ +02437c: 0c02 |008e: move-result-object v2 │ │ +02437e: 6e20 3605 2900 |008f: invoke-virtual {v9, v2}, Ljava/io/OutputStream;.write:([B)V // method@0536 │ │ +024384: 2202 2d01 |0092: new-instance v2, Ljava/lang/StringBuilder; // type@012d │ │ +024388: 7010 a705 0200 |0094: invoke-direct {v2}, Ljava/lang/StringBuilder;.:()V // method@05a7 │ │ +02438e: 7100 5301 0000 |0097: invoke-static {}, Ldnsfilter/ConfigurationAccess;.getLocal:()Ldnsfilter/ConfigurationAccess; // method@0153 │ │ +024394: 0c03 |009a: move-result-object v3 │ │ +024396: 6e10 5801 0300 |009b: invoke-virtual {v3}, Ldnsfilter/ConfigurationAccess;.openConnectionsCount:()I // method@0158 │ │ +02439c: 0a03 |009e: move-result v3 │ │ +02439e: 6e20 aa05 3200 |009f: invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@05aa │ │ +0243a4: 6e20 ad05 0200 |00a2: invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +0243aa: 6e10 af05 0200 |00a5: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ +0243b0: 0c02 |00a8: move-result-object v2 │ │ +0243b2: 6e10 8d05 0200 |00a9: invoke-virtual {v2}, Ljava/lang/String;.getBytes:()[B // method@058d │ │ +0243b8: 0c02 |00ac: move-result-object v2 │ │ +0243ba: 6e20 3605 2900 |00ad: invoke-virtual {v9, v2}, Ljava/io/OutputStream;.write:([B)V // method@0536 │ │ +0243c0: 6e10 3405 0900 |00b0: invoke-virtual {v9}, Ljava/io/OutputStream;.flush:()V // method@0534 │ │ +0243c6: 2202 ed00 |00b3: new-instance v2, Ldnsfilter/remote/RemoteAccessServer$RemoteSession; // type@00ed │ │ +0243ca: 6007 0403 |00b5: sget v7, Ldnsfilter/remote/RemoteAccessServer;.sessionId:I // field@0304 │ │ +0243ce: 1208 |00b7: const/4 v8, #int 0 // #0 │ │ +0243d0: 07a3 |00b8: move-object v3, v10 │ │ +0243d2: 0714 |00b9: move-object v4, v1 │ │ +0243d4: 0796 |00ba: move-object v6, v9 │ │ +0243d6: 7607 9204 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@0492 │ │ +0243dc: 2900 44ff |00be: goto/16 0002 // -00bc │ │ +0243e0: 1a04 ca09 |00c0: const-string v4, "reconnect_session" // string@09ca │ │ +0243e4: 6e20 8b05 4300 |00c2: invoke-virtual {v3, v4}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058b │ │ +0243ea: 0a04 |00c5: move-result v4 │ │ +0243ec: 3804 4500 |00c6: if-eqz v4, 010b // +0045 │ │ +0243f0: 7030 a404 5a02 |00c8: invoke-direct {v10, v5, v2}, Ldnsfilter/remote/RemoteAccessServer;.readStringFromStream:(Ljava/io/InputStream;[B)Ljava/lang/String; // method@04a4 │ │ +0243f6: 0c02 |00cb: move-result-object v2 │ │ +0243f8: 7110 6505 0200 |00cc: invoke-static {v2}, Ljava/lang/Integer;.parseInt:(Ljava/lang/String;)I // method@0565 │ │ +0243fe: 0a02 |00cf: move-result v2 │ │ +024400: 54a3 0503 |00d0: iget-object v3, v10, Ldnsfilter/remote/RemoteAccessServer;.sessions:Ljava/util/HashMap; // field@0305 │ │ +024404: 7110 6805 0200 |00d2: invoke-static {v2}, Ljava/lang/Integer;.valueOf:(I)Ljava/lang/Integer; // method@0568 │ │ +02440a: 0c04 |00d5: move-result-object v4 │ │ +02440c: 6e20 2806 4300 |00d6: invoke-virtual {v3, v4}, Ljava/util/HashMap;.get:(Ljava/lang/Object;)Ljava/lang/Object; // method@0628 │ │ +024412: 0c03 |00d9: move-result-object v3 │ │ +024414: 1f03 ed00 |00da: check-cast v3, Ldnsfilter/remote/RemoteAccessServer$RemoteSession; // type@00ed │ │ +024418: 3803 1100 |00dc: if-eqz v3, 00ed // +0011 │ │ +02441c: 6e40 9c04 1395 |00de: invoke-virtual {v3, v1, v5, v9}, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.reconnectSession:(Ljava/net/Socket;Ljava/io/InputStream;Ljava/io/OutputStream;)V // method@049c │ │ +024422: 6e10 8d05 0600 |00e1: invoke-virtual {v6}, Ljava/lang/String;.getBytes:()[B // method@058d │ │ +024428: 0c02 |00e4: move-result-object v2 │ │ +02442a: 6e20 3605 2900 |00e5: invoke-virtual {v9, v2}, Ljava/io/OutputStream;.write:([B)V // method@0536 │ │ +024430: 6e10 3405 0900 |00e8: invoke-virtual {v9}, Ljava/io/OutputStream;.flush:()V // method@0534 │ │ +024436: 2900 17ff |00eb: goto/16 0002 // -00e9 │ │ +02443a: 2203 0001 |00ed: new-instance v3, Ljava/io/IOException; // type@0100 │ │ +02443e: 2204 2d01 |00ef: new-instance v4, Ljava/lang/StringBuilder; // type@012d │ │ +024442: 7010 a705 0400 |00f1: invoke-direct {v4}, Ljava/lang/StringBuilder;.:()V // method@05a7 │ │ +024448: 1a05 2704 |00f4: const-string v5, "Reconnect session not found:" // string@0427 │ │ +02444c: 6e20 ad05 5400 |00f6: invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +024452: 6e20 aa05 2400 |00f9: invoke-virtual {v4, v2}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@05aa │ │ +024458: 6e10 af05 0400 |00fc: invoke-virtual {v4}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ +02445e: 0c02 |00ff: move-result-object v2 │ │ +024460: 7020 1f05 2300 |0100: invoke-direct {v3, v2}, Ljava/io/IOException;.:(Ljava/lang/String;)V // method@051f │ │ +024466: 2703 |0103: throw v3 │ │ +024468: 0d02 |0104: move-exception v2 │ │ +02446a: 2203 0001 |0105: new-instance v3, Ljava/io/IOException; // type@0100 │ │ +02446e: 7020 2105 2300 |0107: invoke-direct {v3, v2}, Ljava/io/IOException;.:(Ljava/lang/Throwable;)V // method@0521 │ │ +024474: 2703 |010a: throw v3 │ │ +024476: 2202 0001 |010b: new-instance v2, Ljava/io/IOException; // type@0100 │ │ +02447a: 2204 2d01 |010d: new-instance v4, Ljava/lang/StringBuilder; // type@012d │ │ +02447e: 7010 a705 0400 |010f: invoke-direct {v4}, Ljava/lang/StringBuilder;.:()V // method@05a7 │ │ +024484: 1a05 f401 |0112: const-string v5, "Invalid option: " // string@01f4 │ │ +024488: 6e20 ad05 5400 |0114: invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +02448e: 6e20 ad05 3400 |0117: invoke-virtual {v4, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +024494: 6e10 af05 0400 |011a: invoke-virtual {v4}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ +02449a: 0c03 |011d: move-result-object v3 │ │ +02449c: 7020 1f05 3200 |011e: invoke-direct {v2, v3}, Ljava/io/IOException;.:(Ljava/lang/String;)V // method@051f │ │ +0244a2: 2702 |0121: throw v2 │ │ +0244a4: 0d02 |0122: move-exception v2 │ │ +0244a6: 6e10 2405 0200 |0123: invoke-virtual {v2}, Ljava/io/IOException;.toString:()Ljava/lang/String; // method@0524 │ │ +0244ac: 0c03 |0126: move-result-object v3 │ │ +0244ae: 6e10 8d05 0300 |0127: invoke-virtual {v3}, Ljava/lang/String;.getBytes:()[B // method@058d │ │ +0244b4: 0c03 |012a: move-result-object v3 │ │ +0244b6: 6e20 3605 3900 |012b: invoke-virtual {v9, v3}, Ljava/io/OutputStream;.write:([B)V // method@0536 │ │ +0244bc: 6e10 3405 0900 |012e: invoke-virtual {v9}, Ljava/io/OutputStream;.flush:()V // method@0534 │ │ +0244c2: 7110 9007 0100 |0131: invoke-static {v1}, Lutil/Utils;.closeSocket:(Ljava/net/Socket;)V // method@0790 │ │ +0244c8: 2702 |0134: throw v2 │ │ +0244ca: 0d01 |0135: move-exception v1 │ │ +0244cc: 7100 2507 0000 |0136: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0725 │ │ +0244d2: 0c02 |0139: move-result-object v2 │ │ +0244d4: 2203 2d01 |013a: new-instance v3, Ljava/lang/StringBuilder; // type@012d │ │ +0244d8: 1a04 3f04 |013c: const-string v4, "RemoteServerException: " // string@043f │ │ +0244dc: 7020 a805 4300 |013e: invoke-direct {v3, v4}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05a8 │ │ +0244e2: 6e10 2405 0100 |0141: invoke-virtual {v1}, Ljava/io/IOException;.toString:()Ljava/lang/String; // method@0524 │ │ +0244e8: 0c01 |0144: move-result-object v1 │ │ +0244ea: 6e20 ad05 1300 |0145: invoke-virtual {v3, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +0244f0: 6e10 af05 0300 |0148: invoke-virtual {v3}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ +0244f6: 0c01 |014b: move-result-object v1 │ │ +0244f8: 7220 3107 1200 |014c: invoke-interface {v2, v1}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0731 │ │ +0244fe: 2900 b3fe |014f: goto/16 0002 // -014d │ │ +024502: 0e00 |0151: return-void │ │ catches : 6 │ │ 0x0006 - 0x001e │ │ Ljava/io/IOException; -> 0x0135 │ │ 0x001e - 0x002d │ │ Ljava/io/IOException; -> 0x0122 │ │ 0x0031 - 0x00c6 │ │ Ljava/io/IOException; -> 0x0122 │ │ @@ -24995,39 +24995,39 @@ │ │ type : '()V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 4 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 44 16-bit code units │ │ -02454c: |[02454c] dnsfilter.remote.RemoteAccessServer.stop:()V │ │ -02455c: 1210 |0000: const/4 v0, #int 1 // #1 │ │ -02455e: 5c30 0603 |0001: iput-boolean v0, v3, Ldnsfilter/remote/RemoteAccessServer;.stopped:Z // field@0306 │ │ -024562: 5430 0503 |0003: iget-object v0, v3, Ldnsfilter/remote/RemoteAccessServer;.sessions:Ljava/util/HashMap; // field@0305 │ │ -024566: 6e10 2c06 0000 |0005: invoke-virtual {v0}, Ljava/util/HashMap;.values:()Ljava/util/Collection; // method@062c │ │ -02456c: 0c00 |0008: move-result-object v0 │ │ -02456e: 1201 |0009: const/4 v1, #int 0 // #0 │ │ -024570: 2312 a801 |000a: new-array v2, v1, [Ldnsfilter/remote/RemoteAccessServer$RemoteSession; // type@01a8 │ │ -024574: 7220 1e06 2000 |000c: invoke-interface {v0, v2}, Ljava/util/Collection;.toArray:([Ljava/lang/Object;)[Ljava/lang/Object; // method@061e │ │ -02457a: 0c00 |000f: move-result-object v0 │ │ -02457c: 1f00 a801 |0010: check-cast v0, [Ldnsfilter/remote/RemoteAccessServer$RemoteSession; // type@01a8 │ │ -024580: 2102 |0012: array-length v2, v0 │ │ -024582: 3521 0a00 |0013: if-ge v1, v2, 001d // +000a │ │ -024586: 4602 0001 |0015: aget-object v2, v0, v1 │ │ -02458a: 6e10 9b04 0200 |0017: invoke-virtual {v2}, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.killSession:()V // method@049b │ │ -024590: d801 0101 |001a: add-int/lit8 v1, v1, #int 1 // #01 │ │ -024594: 28f6 |001c: goto 0012 // -000a │ │ -024596: 5430 0303 |001d: iget-object v0, v3, Ldnsfilter/remote/RemoteAccessServer;.server:Ljava/net/ServerSocket; // field@0303 │ │ -02459a: 6e10 e605 0000 |001f: invoke-virtual {v0}, Ljava/net/ServerSocket;.close:()V // method@05e6 │ │ -0245a0: 2809 |0022: goto 002b // +0009 │ │ -0245a2: 0d00 |0023: move-exception v0 │ │ -0245a4: 7100 2507 0000 |0024: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0725 │ │ -0245aa: 0c01 |0027: move-result-object v1 │ │ -0245ac: 7220 3007 0100 |0028: invoke-interface {v1, v0}, Lutil/LoggerInterface;.logException:(Ljava/lang/Exception;)V // method@0730 │ │ -0245b2: 0e00 |002b: return-void │ │ +024548: |[024548] dnsfilter.remote.RemoteAccessServer.stop:()V │ │ +024558: 1210 |0000: const/4 v0, #int 1 // #1 │ │ +02455a: 5c30 0603 |0001: iput-boolean v0, v3, Ldnsfilter/remote/RemoteAccessServer;.stopped:Z // field@0306 │ │ +02455e: 5430 0503 |0003: iget-object v0, v3, Ldnsfilter/remote/RemoteAccessServer;.sessions:Ljava/util/HashMap; // field@0305 │ │ +024562: 6e10 2c06 0000 |0005: invoke-virtual {v0}, Ljava/util/HashMap;.values:()Ljava/util/Collection; // method@062c │ │ +024568: 0c00 |0008: move-result-object v0 │ │ +02456a: 1201 |0009: const/4 v1, #int 0 // #0 │ │ +02456c: 2312 a801 |000a: new-array v2, v1, [Ldnsfilter/remote/RemoteAccessServer$RemoteSession; // type@01a8 │ │ +024570: 7220 1e06 2000 |000c: invoke-interface {v0, v2}, Ljava/util/Collection;.toArray:([Ljava/lang/Object;)[Ljava/lang/Object; // method@061e │ │ +024576: 0c00 |000f: move-result-object v0 │ │ +024578: 1f00 a801 |0010: check-cast v0, [Ldnsfilter/remote/RemoteAccessServer$RemoteSession; // type@01a8 │ │ +02457c: 2102 |0012: array-length v2, v0 │ │ +02457e: 3521 0a00 |0013: if-ge v1, v2, 001d // +000a │ │ +024582: 4602 0001 |0015: aget-object v2, v0, v1 │ │ +024586: 6e10 9b04 0200 |0017: invoke-virtual {v2}, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.killSession:()V // method@049b │ │ +02458c: d801 0101 |001a: add-int/lit8 v1, v1, #int 1 // #01 │ │ +024590: 28f6 |001c: goto 0012 // -000a │ │ +024592: 5430 0303 |001d: iget-object v0, v3, Ldnsfilter/remote/RemoteAccessServer;.server:Ljava/net/ServerSocket; // field@0303 │ │ +024596: 6e10 e605 0000 |001f: invoke-virtual {v0}, Ljava/net/ServerSocket;.close:()V // method@05e6 │ │ +02459c: 2809 |0022: goto 002b // +0009 │ │ +02459e: 0d00 |0023: move-exception v0 │ │ +0245a0: 7100 2507 0000 |0024: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0725 │ │ +0245a6: 0c01 |0027: move-result-object v1 │ │ +0245a8: 7220 3007 0100 |0028: invoke-interface {v1, v0}, Lutil/LoggerInterface;.logException:(Ljava/lang/Exception;)V // method@0730 │ │ +0245ae: 0e00 |002b: return-void │ │ catches : 1 │ │ 0x001d - 0x0022 │ │ Ljava/io/IOException; -> 0x0023 │ │ positions : │ │ 0x0001 line=120 │ │ 0x0003 line=121 │ │ 0x0012 line=122 │ │ @@ -25062,17 +25062,17 @@ │ │ type : '()V' │ │ access : 0x10001 (PUBLIC CONSTRUCTOR) │ │ code - │ │ registers : 1 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 4 16-bit code units │ │ -024628: |[024628] ip.CheckSum.:()V │ │ -024638: 7010 7305 0000 |0000: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@0573 │ │ -02463e: 0e00 |0003: return-void │ │ +024624: |[024624] ip.CheckSum.:()V │ │ +024634: 7010 7305 0000 |0000: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@0573 │ │ +02463a: 0e00 |0003: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=25 │ │ locals : │ │ 0x0000 - 0x0004 reg=0 this Lip/CheckSum; │ │ │ │ #1 : (in Lip/CheckSum;) │ │ @@ -25080,40 +25080,40 @@ │ │ type : '([BII)I' │ │ access : 0x0009 (PUBLIC STATIC) │ │ code - │ │ registers : 8 │ │ ins : 3 │ │ outs : 0 │ │ insns size : 42 16-bit code units │ │ -0245c4: |[0245c4] ip.CheckSum.chkSum:([BII)I │ │ -0245d4: 1200 |0000: const/4 v0, #int 0 // #0 │ │ -0245d6: 1201 |0001: const/4 v1, #int 0 // #0 │ │ -0245d8: 3570 1900 |0002: if-ge v0, v7, 001b // +0019 │ │ -0245dc: 9002 0600 |0004: add-int v2, v6, v0 │ │ -0245e0: 4803 0502 |0006: aget-byte v3, v5, v2 │ │ -0245e4: d533 ff00 |0008: and-int/lit16 v3, v3, #int 255 // #00ff │ │ -0245e8: e003 0308 |000a: shl-int/lit8 v3, v3, #int 8 // #08 │ │ -0245ec: d804 0001 |000c: add-int/lit8 v4, v0, #int 1 // #01 │ │ -0245f0: 3574 0900 |000e: if-ge v4, v7, 0017 // +0009 │ │ -0245f4: d802 0201 |0010: add-int/lit8 v2, v2, #int 1 // #01 │ │ -0245f8: 4802 0502 |0012: aget-byte v2, v5, v2 │ │ -0245fc: d522 ff00 |0014: and-int/lit16 v2, v2, #int 255 // #00ff │ │ -024600: b023 |0016: add-int/2addr v3, v2 │ │ -024602: b031 |0017: add-int/2addr v1, v3 │ │ -024604: d800 0002 |0018: add-int/lit8 v0, v0, #int 2 // #02 │ │ -024608: 28e8 |001a: goto 0002 // -0018 │ │ -02460a: e105 0110 |001b: shr-int/lit8 v5, v1, #int 16 // #10 │ │ -02460e: 1406 ffff 0000 |001d: const v6, #float 9.18341e-41 // #0000ffff │ │ -024614: 3805 0600 |0020: if-eqz v5, 0026 // +0006 │ │ -024618: b516 |0022: and-int/2addr v6, v1 │ │ -02461a: 9001 0605 |0023: add-int v1, v6, v5 │ │ -02461e: 28f6 |0025: goto 001b // -000a │ │ -024620: df05 01ff |0026: xor-int/lit8 v5, v1, #int -1 // #ff │ │ -024624: b565 |0028: and-int/2addr v5, v6 │ │ -024626: 0f05 |0029: return v5 │ │ +0245c0: |[0245c0] ip.CheckSum.chkSum:([BII)I │ │ +0245d0: 1200 |0000: const/4 v0, #int 0 // #0 │ │ +0245d2: 1201 |0001: const/4 v1, #int 0 // #0 │ │ +0245d4: 3570 1900 |0002: if-ge v0, v7, 001b // +0019 │ │ +0245d8: 9002 0600 |0004: add-int v2, v6, v0 │ │ +0245dc: 4803 0502 |0006: aget-byte v3, v5, v2 │ │ +0245e0: d533 ff00 |0008: and-int/lit16 v3, v3, #int 255 // #00ff │ │ +0245e4: e003 0308 |000a: shl-int/lit8 v3, v3, #int 8 // #08 │ │ +0245e8: d804 0001 |000c: add-int/lit8 v4, v0, #int 1 // #01 │ │ +0245ec: 3574 0900 |000e: if-ge v4, v7, 0017 // +0009 │ │ +0245f0: d802 0201 |0010: add-int/lit8 v2, v2, #int 1 // #01 │ │ +0245f4: 4802 0502 |0012: aget-byte v2, v5, v2 │ │ +0245f8: d522 ff00 |0014: and-int/lit16 v2, v2, #int 255 // #00ff │ │ +0245fc: b023 |0016: add-int/2addr v3, v2 │ │ +0245fe: b031 |0017: add-int/2addr v1, v3 │ │ +024600: d800 0002 |0018: add-int/lit8 v0, v0, #int 2 // #02 │ │ +024604: 28e8 |001a: goto 0002 // -0018 │ │ +024606: e105 0110 |001b: shr-int/lit8 v5, v1, #int 16 // #10 │ │ +02460a: 1406 ffff 0000 |001d: const v6, #float 9.18341e-41 // #0000ffff │ │ +024610: 3805 0600 |0020: if-eqz v5, 0026 // +0006 │ │ +024614: b516 |0022: and-int/2addr v6, v1 │ │ +024616: 9001 0605 |0023: add-int v1, v6, v5 │ │ +02461a: 28f6 |0025: goto 001b // -000a │ │ +02461c: df05 01ff |0026: xor-int/lit8 v5, v1, #int -1 // #ff │ │ +024620: b565 |0028: and-int/2addr v5, v6 │ │ +024622: 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 │ │ @@ -25181,26 +25181,26 @@ │ │ type : '()V' │ │ access : 0x10008 (STATIC CONSTRUCTOR) │ │ code - │ │ registers : 4 │ │ ins : 0 │ │ outs : 1 │ │ insns size : 23 16-bit code units │ │ -024d08: |[024d08] ip.IPPacket.:()V │ │ -024d18: 7100 7205 0000 |0000: invoke-static {}, Ljava/lang/Math;.random:()D // method@0572 │ │ -024d1e: 0b00 |0003: move-result-wide v0 │ │ -024d20: 1802 0000 0000 c0ff df40 |0004: const-wide v2, #double 32767 // #40dfffc000000000 │ │ -024d2a: ad00 0002 |0009: mul-double v0, v0, v2 │ │ -024d2e: 8a00 |000b: double-to-int v0, v0 │ │ -024d30: 8f00 |000c: int-to-short v0, v0 │ │ -024d32: 6d00 0803 |000d: sput-short v0, Lip/IPPacket;.curID:S // field@0308 │ │ -024d36: 2200 2501 |000f: new-instance v0, Ljava/lang/Object; // type@0125 │ │ -024d3a: 7010 7305 0000 |0011: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@0573 │ │ -024d40: 6900 0703 |0014: sput-object v0, Lip/IPPacket;.ID_SYNC:Ljava/lang/Object; // field@0307 │ │ -024d44: 0e00 |0016: return-void │ │ +024d04: |[024d04] ip.IPPacket.:()V │ │ +024d14: 7100 7205 0000 |0000: invoke-static {}, Ljava/lang/Math;.random:()D // method@0572 │ │ +024d1a: 0b00 |0003: move-result-wide v0 │ │ +024d1c: 1802 0000 0000 c0ff df40 |0004: const-wide v2, #double 32767 // #40dfffc000000000 │ │ +024d26: ad00 0002 |0009: mul-double v0, v0, v2 │ │ +024d2a: 8a00 |000b: double-to-int v0, v0 │ │ +024d2c: 8f00 |000c: int-to-short v0, v0 │ │ +024d2e: 6d00 0803 |000d: sput-short v0, Lip/IPPacket;.curID:S // field@0308 │ │ +024d32: 2200 2501 |000f: new-instance v0, Ljava/lang/Object; // type@0125 │ │ +024d36: 7010 7305 0000 |0011: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@0573 │ │ +024d3c: 6900 0703 |0014: sput-object v0, Lip/IPPacket;.ID_SYNC:Ljava/lang/Object; // field@0307 │ │ +024d40: 0e00 |0016: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=33 │ │ 0x000f line=34 │ │ locals : │ │ │ │ #1 : (in Lip/IPPacket;) │ │ @@ -25208,58 +25208,58 @@ │ │ type : '([BII)V' │ │ access : 0x10001 (PUBLIC CONSTRUCTOR) │ │ code - │ │ registers : 6 │ │ ins : 4 │ │ outs : 3 │ │ insns size : 84 16-bit code units │ │ -024d48: |[024d48] ip.IPPacket.:([BII)V │ │ -024d58: 7010 7305 0200 |0000: invoke-direct {v2}, Ljava/lang/Object;.:()V // method@0573 │ │ -024d5e: 4800 0304 |0003: aget-byte v0, v3, v4 │ │ -024d62: 1241 |0005: const/4 v1, #int 4 // #4 │ │ -024d64: b910 |0006: shr-int/2addr v0, v1 │ │ -024d66: 5920 0e03 |0007: iput v0, v2, Lip/IPPacket;.version:I // field@030e │ │ -024d6a: 5b23 0903 |0009: iput-object v3, v2, Lip/IPPacket;.data:[B // field@0309 │ │ -024d6e: 5924 0d03 |000b: iput v4, v2, Lip/IPPacket;.offset:I // field@030d │ │ -024d72: 5925 0c03 |000d: iput v5, v2, Lip/IPPacket;.len:I // field@030c │ │ -024d76: 3310 1700 |000f: if-ne v0, v1, 0026 // +0017 │ │ -024d7a: 1305 1400 |0011: const/16 v5, #int 20 // #14 │ │ -024d7e: 7130 0906 4305 |0013: invoke-static {v3, v4, v5}, Ljava/nio/ByteBuffer;.wrap:([BII)Ljava/nio/ByteBuffer; // method@0609 │ │ -024d84: 0c03 |0016: move-result-object v3 │ │ -024d86: 6204 1c03 |0017: sget-object v4, Ljava/nio/ByteOrder;.BIG_ENDIAN:Ljava/nio/ByteOrder; // field@031c │ │ -024d8a: 6e20 0006 4300 |0019: invoke-virtual {v3, v4}, Ljava/nio/ByteBuffer;.order:(Ljava/nio/ByteOrder;)Ljava/nio/ByteBuffer; // method@0600 │ │ -024d90: 0c03 |001c: move-result-object v3 │ │ -024d92: 6e10 fa05 0300 |001d: invoke-virtual {v3}, Ljava/nio/ByteBuffer;.asIntBuffer:()Ljava/nio/IntBuffer; // method@05fa │ │ -024d98: 0c03 |0020: move-result-object v3 │ │ -024d9a: 5b23 0b03 |0021: iput-object v3, v2, Lip/IPPacket;.ipHeader:Ljava/nio/IntBuffer; // field@030b │ │ -024d9e: 5925 0a03 |0023: iput v5, v2, Lip/IPPacket;.ipHdrlen:I // field@030a │ │ -024da2: 2818 |0025: goto 003d // +0018 │ │ -024da4: 1265 |0026: const/4 v5, #int 6 // #6 │ │ -024da6: 3350 1700 |0027: if-ne v0, v5, 003e // +0017 │ │ -024daa: 1305 2800 |0029: const/16 v5, #int 40 // #28 │ │ -024dae: 7130 0906 4305 |002b: invoke-static {v3, v4, v5}, Ljava/nio/ByteBuffer;.wrap:([BII)Ljava/nio/ByteBuffer; // method@0609 │ │ -024db4: 0c03 |002e: move-result-object v3 │ │ -024db6: 6204 1c03 |002f: sget-object v4, Ljava/nio/ByteOrder;.BIG_ENDIAN:Ljava/nio/ByteOrder; // field@031c │ │ -024dba: 6e20 0006 4300 |0031: invoke-virtual {v3, v4}, Ljava/nio/ByteBuffer;.order:(Ljava/nio/ByteOrder;)Ljava/nio/ByteBuffer; // method@0600 │ │ -024dc0: 0c03 |0034: move-result-object v3 │ │ -024dc2: 6e10 fa05 0300 |0035: invoke-virtual {v3}, Ljava/nio/ByteBuffer;.asIntBuffer:()Ljava/nio/IntBuffer; // method@05fa │ │ -024dc8: 0c03 |0038: move-result-object v3 │ │ -024dca: 5b23 0b03 |0039: iput-object v3, v2, Lip/IPPacket;.ipHeader:Ljava/nio/IntBuffer; // field@030b │ │ -024dce: 5925 0a03 |003b: iput v5, v2, Lip/IPPacket;.ipHdrlen:I // field@030a │ │ -024dd2: 0e00 |003d: return-void │ │ -024dd4: 2203 1c01 |003e: new-instance v3, Ljava/lang/IllegalArgumentException; // type@011c │ │ -024dd8: 2204 2d01 |0040: new-instance v4, Ljava/lang/StringBuilder; // type@012d │ │ -024ddc: 1a05 f901 |0042: const-string v5, "Invalid version:" // string@01f9 │ │ -024de0: 7020 a805 5400 |0044: invoke-direct {v4, v5}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05a8 │ │ -024de6: 5225 0e03 |0047: iget v5, v2, Lip/IPPacket;.version:I // field@030e │ │ -024dea: 6e20 aa05 5400 |0049: invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@05aa │ │ -024df0: 6e10 af05 0400 |004c: invoke-virtual {v4}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ -024df6: 0c04 |004f: move-result-object v4 │ │ -024df8: 7020 6005 4300 |0050: invoke-direct {v3, v4}, Ljava/lang/IllegalArgumentException;.:(Ljava/lang/String;)V // method@0560 │ │ -024dfe: 2703 |0053: throw v3 │ │ +024d44: |[024d44] ip.IPPacket.:([BII)V │ │ +024d54: 7010 7305 0200 |0000: invoke-direct {v2}, Ljava/lang/Object;.:()V // method@0573 │ │ +024d5a: 4800 0304 |0003: aget-byte v0, v3, v4 │ │ +024d5e: 1241 |0005: const/4 v1, #int 4 // #4 │ │ +024d60: b910 |0006: shr-int/2addr v0, v1 │ │ +024d62: 5920 0e03 |0007: iput v0, v2, Lip/IPPacket;.version:I // field@030e │ │ +024d66: 5b23 0903 |0009: iput-object v3, v2, Lip/IPPacket;.data:[B // field@0309 │ │ +024d6a: 5924 0d03 |000b: iput v4, v2, Lip/IPPacket;.offset:I // field@030d │ │ +024d6e: 5925 0c03 |000d: iput v5, v2, Lip/IPPacket;.len:I // field@030c │ │ +024d72: 3310 1700 |000f: if-ne v0, v1, 0026 // +0017 │ │ +024d76: 1305 1400 |0011: const/16 v5, #int 20 // #14 │ │ +024d7a: 7130 0906 4305 |0013: invoke-static {v3, v4, v5}, Ljava/nio/ByteBuffer;.wrap:([BII)Ljava/nio/ByteBuffer; // method@0609 │ │ +024d80: 0c03 |0016: move-result-object v3 │ │ +024d82: 6204 1c03 |0017: sget-object v4, Ljava/nio/ByteOrder;.BIG_ENDIAN:Ljava/nio/ByteOrder; // field@031c │ │ +024d86: 6e20 0006 4300 |0019: invoke-virtual {v3, v4}, Ljava/nio/ByteBuffer;.order:(Ljava/nio/ByteOrder;)Ljava/nio/ByteBuffer; // method@0600 │ │ +024d8c: 0c03 |001c: move-result-object v3 │ │ +024d8e: 6e10 fa05 0300 |001d: invoke-virtual {v3}, Ljava/nio/ByteBuffer;.asIntBuffer:()Ljava/nio/IntBuffer; // method@05fa │ │ +024d94: 0c03 |0020: move-result-object v3 │ │ +024d96: 5b23 0b03 |0021: iput-object v3, v2, Lip/IPPacket;.ipHeader:Ljava/nio/IntBuffer; // field@030b │ │ +024d9a: 5925 0a03 |0023: iput v5, v2, Lip/IPPacket;.ipHdrlen:I // field@030a │ │ +024d9e: 2818 |0025: goto 003d // +0018 │ │ +024da0: 1265 |0026: const/4 v5, #int 6 // #6 │ │ +024da2: 3350 1700 |0027: if-ne v0, v5, 003e // +0017 │ │ +024da6: 1305 2800 |0029: const/16 v5, #int 40 // #28 │ │ +024daa: 7130 0906 4305 |002b: invoke-static {v3, v4, v5}, Ljava/nio/ByteBuffer;.wrap:([BII)Ljava/nio/ByteBuffer; // method@0609 │ │ +024db0: 0c03 |002e: move-result-object v3 │ │ +024db2: 6204 1c03 |002f: sget-object v4, Ljava/nio/ByteOrder;.BIG_ENDIAN:Ljava/nio/ByteOrder; // field@031c │ │ +024db6: 6e20 0006 4300 |0031: invoke-virtual {v3, v4}, Ljava/nio/ByteBuffer;.order:(Ljava/nio/ByteOrder;)Ljava/nio/ByteBuffer; // method@0600 │ │ +024dbc: 0c03 |0034: move-result-object v3 │ │ +024dbe: 6e10 fa05 0300 |0035: invoke-virtual {v3}, Ljava/nio/ByteBuffer;.asIntBuffer:()Ljava/nio/IntBuffer; // method@05fa │ │ +024dc4: 0c03 |0038: move-result-object v3 │ │ +024dc6: 5b23 0b03 |0039: iput-object v3, v2, Lip/IPPacket;.ipHeader:Ljava/nio/IntBuffer; // field@030b │ │ +024dca: 5925 0a03 |003b: iput v5, v2, Lip/IPPacket;.ipHdrlen:I // field@030a │ │ +024dce: 0e00 |003d: return-void │ │ +024dd0: 2203 1c01 |003e: new-instance v3, Ljava/lang/IllegalArgumentException; // type@011c │ │ +024dd4: 2204 2d01 |0040: new-instance v4, Ljava/lang/StringBuilder; // type@012d │ │ +024dd8: 1a05 f901 |0042: const-string v5, "Invalid version:" // string@01f9 │ │ +024ddc: 7020 a805 5400 |0044: invoke-direct {v4, v5}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05a8 │ │ +024de2: 5225 0e03 |0047: iget v5, v2, Lip/IPPacket;.version:I // field@030e │ │ +024de6: 6e20 aa05 5400 |0049: invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@05aa │ │ +024dec: 6e10 af05 0400 |004c: invoke-virtual {v4}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ +024df2: 0c04 |004f: move-result-object v4 │ │ +024df4: 7020 6005 4300 |0050: invoke-direct {v3, v4}, Ljava/lang/IllegalArgumentException;.:(Ljava/lang/String;)V // method@0560 │ │ +024dfa: 2703 |0053: throw v3 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=44 │ │ 0x0003 line=45 │ │ 0x0009 line=46 │ │ 0x000b line=47 │ │ 0x000d line=48 │ │ @@ -25279,26 +25279,26 @@ │ │ type : '()I' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 4 │ │ ins : 1 │ │ outs : 3 │ │ insns size : 18 16-bit code units │ │ -024658: |[024658] ip.IPPacket.calculateCheckSum:()I │ │ -024668: 5230 0e03 |0000: iget v0, v3, Lip/IPPacket;.version:I // field@030e │ │ -02466c: 1241 |0002: const/4 v1, #int 4 // #4 │ │ -02466e: 3310 0d00 |0003: if-ne v0, v1, 0010 // +000d │ │ -024672: 5430 0903 |0005: iget-object v0, v3, Lip/IPPacket;.data:[B // field@0309 │ │ -024676: 5231 0d03 |0007: iget v1, v3, Lip/IPPacket;.offset:I // field@030d │ │ -02467a: 1302 1400 |0009: const/16 v2, #int 20 // #14 │ │ -02467e: 7130 a804 1002 |000b: invoke-static {v0, v1, v2}, Lip/CheckSum;.chkSum:([BII)I // method@04a8 │ │ -024684: 0a00 |000e: move-result v0 │ │ -024686: 0f00 |000f: return v0 │ │ -024688: 1200 |0010: const/4 v0, #int 0 // #0 │ │ -02468a: 0f00 |0011: return v0 │ │ +024654: |[024654] ip.IPPacket.calculateCheckSum:()I │ │ +024664: 5230 0e03 |0000: iget v0, v3, Lip/IPPacket;.version:I // field@030e │ │ +024668: 1241 |0002: const/4 v1, #int 4 // #4 │ │ +02466a: 3310 0d00 |0003: if-ne v0, v1, 0010 // +000d │ │ +02466e: 5430 0903 |0005: iget-object v0, v3, Lip/IPPacket;.data:[B // field@0309 │ │ +024672: 5231 0d03 |0007: iget v1, v3, Lip/IPPacket;.offset:I // field@030d │ │ +024676: 1302 1400 |0009: const/16 v2, #int 20 // #14 │ │ +02467a: 7130 a804 1002 |000b: invoke-static {v0, v1, v2}, Lip/CheckSum;.chkSum:([BII)I // method@04a8 │ │ +024680: 0a00 |000e: move-result v0 │ │ +024682: 0f00 |000f: return v0 │ │ +024684: 1200 |0010: const/4 v0, #int 0 // #0 │ │ +024686: 0f00 |0011: return v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=161 │ │ 0x0005 line=162 │ │ locals : │ │ 0x0000 - 0x0012 reg=3 this Lip/IPPacket; │ │ │ │ @@ -25307,22 +25307,22 @@ │ │ type : '(II)[I' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 5 │ │ ins : 3 │ │ outs : 4 │ │ insns size : 14 16-bit code units │ │ -02489c: |[02489c] ip.IPPacket.copyFromHeader:(II)[I │ │ -0248ac: 5420 0b03 |0000: iget-object v0, v2, Lip/IPPacket;.ipHeader:Ljava/nio/IntBuffer; // field@030b │ │ -0248b0: 6e20 0d06 3000 |0002: invoke-virtual {v0, v3}, Ljava/nio/IntBuffer;.position:(I)Ljava/nio/Buffer; // method@060d │ │ -0248b6: 2343 9e01 |0005: new-array v3, v4, [I // type@019e │ │ -0248ba: 5420 0b03 |0007: iget-object v0, v2, Lip/IPPacket;.ipHeader:Ljava/nio/IntBuffer; // field@030b │ │ -0248be: 1201 |0009: const/4 v1, #int 0 // #0 │ │ -0248c0: 6e40 0c06 3041 |000a: invoke-virtual {v0, v3, v1, v4}, Ljava/nio/IntBuffer;.get:([III)Ljava/nio/IntBuffer; // method@060c │ │ -0248c6: 1103 |000d: return-object v3 │ │ +024898: |[024898] ip.IPPacket.copyFromHeader:(II)[I │ │ +0248a8: 5420 0b03 |0000: iget-object v0, v2, Lip/IPPacket;.ipHeader:Ljava/nio/IntBuffer; // field@030b │ │ +0248ac: 6e20 0d06 3000 |0002: invoke-virtual {v0, v3}, Ljava/nio/IntBuffer;.position:(I)Ljava/nio/Buffer; // method@060d │ │ +0248b2: 2343 9e01 |0005: new-array v3, v4, [I // type@019e │ │ +0248b6: 5420 0b03 |0007: iget-object v0, v2, Lip/IPPacket;.ipHeader:Ljava/nio/IntBuffer; // field@030b │ │ +0248ba: 1201 |0009: const/4 v1, #int 0 // #0 │ │ +0248bc: 6e40 0c06 3041 |000a: invoke-virtual {v0, v3, v1, v4}, Ljava/nio/IntBuffer;.get:([III)Ljava/nio/IntBuffer; // method@060c │ │ +0248c2: 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; │ │ @@ -25334,23 +25334,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 │ │ -024ae8: |[024ae8] ip.IPPacket.createIPPacket:([BIIIII[I[I)Lip/IPPacket; │ │ -024af8: e003 0304 |0000: shl-int/lit8 v3, v3, #int 4 // #04 │ │ -024afc: d533 ff00 |0002: and-int/lit16 v3, v3, #int 255 // #00ff │ │ -024b00: 8d33 |0004: int-to-byte v3, v3 │ │ -024b02: 4f03 0001 |0005: aput-byte v3, v0, v1 │ │ -024b06: 2203 f000 |0007: new-instance v3, Lip/IPPacket; // type@00f0 │ │ -024b0a: 7040 aa04 0321 |0009: invoke-direct {v3, v0, v1, v2}, Lip/IPPacket;.:([BII)V // method@04aa │ │ -024b10: 6e57 ba04 4365 |000c: invoke-virtual {v3, v4, v5, v6, v7}, Lip/IPPacket;.initIPHeader:(II[I[I)V // method@04ba │ │ -024b16: 1103 |000f: return-object v3 │ │ +024ae4: |[024ae4] ip.IPPacket.createIPPacket:([BIIIII[I[I)Lip/IPPacket; │ │ +024af4: e003 0304 |0000: shl-int/lit8 v3, v3, #int 4 // #04 │ │ +024af8: d533 ff00 |0002: and-int/lit16 v3, v3, #int 255 // #00ff │ │ +024afc: 8d33 |0004: int-to-byte v3, v3 │ │ +024afe: 4f03 0001 |0005: aput-byte v3, v0, v1 │ │ +024b02: 2203 f000 |0007: new-instance v3, Lip/IPPacket; // type@00f0 │ │ +024b06: 7040 aa04 0321 |0009: invoke-direct {v3, v0, v1, v2}, Lip/IPPacket;.:([BII)V // method@04aa │ │ +024b0c: 6e57 ba04 4365 |000c: invoke-virtual {v3, v4, v5, v6, v7}, Lip/IPPacket;.initIPHeader:(II[I[I)V // method@04ba │ │ +024b12: 1103 |000f: return-object v3 │ │ catches : (none) │ │ positions : │ │ 0x0005 line=115 │ │ 0x0007 line=116 │ │ 0x000c line=117 │ │ locals : │ │ 0x0000 - 0x0010 reg=0 (null) [B │ │ @@ -25367,23 +25367,23 @@ │ │ type : '([BIII)Lip/IPPacket;' │ │ access : 0x0009 (PUBLIC STATIC) │ │ code - │ │ registers : 4 │ │ ins : 4 │ │ outs : 4 │ │ insns size : 16 16-bit code units │ │ -024b18: |[024b18] ip.IPPacket.createInitialIPPacket:([BIII)Lip/IPPacket; │ │ -024b28: e003 0304 |0000: shl-int/lit8 v3, v3, #int 4 // #04 │ │ -024b2c: d533 ff00 |0002: and-int/lit16 v3, v3, #int 255 // #00ff │ │ -024b30: 8d33 |0004: int-to-byte v3, v3 │ │ -024b32: 4f03 0001 |0005: aput-byte v3, v0, v1 │ │ -024b36: 2203 f000 |0007: new-instance v3, Lip/IPPacket; // type@00f0 │ │ -024b3a: 7040 aa04 0321 |0009: invoke-direct {v3, v0, v1, v2}, Lip/IPPacket;.:([BII)V // method@04aa │ │ -024b40: 6e10 bb04 0300 |000c: invoke-virtual {v3}, Lip/IPPacket;.initInitialIPHeader:()V // method@04bb │ │ -024b46: 1103 |000f: return-object v3 │ │ +024b14: |[024b14] ip.IPPacket.createInitialIPPacket:([BIII)Lip/IPPacket; │ │ +024b24: e003 0304 |0000: shl-int/lit8 v3, v3, #int 4 // #04 │ │ +024b28: d533 ff00 |0002: and-int/lit16 v3, v3, #int 255 // #00ff │ │ +024b2c: 8d33 |0004: int-to-byte v3, v3 │ │ +024b2e: 4f03 0001 |0005: aput-byte v3, v0, v1 │ │ +024b32: 2203 f000 |0007: new-instance v3, Lip/IPPacket; // type@00f0 │ │ +024b36: 7040 aa04 0321 |0009: invoke-direct {v3, v0, v1, v2}, Lip/IPPacket;.:([BII)V // method@04aa │ │ +024b3c: 6e10 bb04 0300 |000c: invoke-virtual {v3}, Lip/IPPacket;.initInitialIPHeader:()V // method@04bb │ │ +024b42: 1103 |000f: return-object v3 │ │ catches : (none) │ │ positions : │ │ 0x0005 line=108 │ │ 0x0007 line=109 │ │ 0x000c line=110 │ │ locals : │ │ 0x0000 - 0x0010 reg=0 (null) [B │ │ @@ -25396,27 +25396,27 @@ │ │ type : '()I' │ │ access : 0x000a (PRIVATE STATIC) │ │ code - │ │ registers : 2 │ │ ins : 0 │ │ outs : 0 │ │ insns size : 17 16-bit code units │ │ -0246a8: |[0246a8] ip.IPPacket.generateId:()I │ │ -0246b8: 6200 0703 |0000: sget-object v0, Lip/IPPacket;.ID_SYNC:Ljava/lang/Object; // field@0307 │ │ -0246bc: 1d00 |0002: monitor-enter v0 │ │ -0246be: 6601 0803 |0003: sget-short v1, Lip/IPPacket;.curID:S // field@0308 │ │ -0246c2: d801 0101 |0005: add-int/lit8 v1, v1, #int 1 // #01 │ │ -0246c6: 8f11 |0007: int-to-short v1, v1 │ │ -0246c8: 6d01 0803 |0008: sput-short v1, Lip/IPPacket;.curID:S // field@0308 │ │ -0246cc: e001 0110 |000a: shl-int/lit8 v1, v1, #int 16 // #10 │ │ -0246d0: 1e00 |000c: monitor-exit v0 │ │ -0246d2: 0f01 |000d: return v1 │ │ -0246d4: 0d01 |000e: move-exception v1 │ │ -0246d6: 1e00 |000f: monitor-exit v0 │ │ -0246d8: 2701 |0010: throw v1 │ │ +0246a4: |[0246a4] ip.IPPacket.generateId:()I │ │ +0246b4: 6200 0703 |0000: sget-object v0, Lip/IPPacket;.ID_SYNC:Ljava/lang/Object; // field@0307 │ │ +0246b8: 1d00 |0002: monitor-enter v0 │ │ +0246ba: 6601 0803 |0003: sget-short v1, Lip/IPPacket;.curID:S // field@0308 │ │ +0246be: d801 0101 |0005: add-int/lit8 v1, v1, #int 1 // #01 │ │ +0246c2: 8f11 |0007: int-to-short v1, v1 │ │ +0246c4: 6d01 0803 |0008: sput-short v1, Lip/IPPacket;.curID:S // field@0308 │ │ +0246c8: e001 0110 |000a: shl-int/lit8 v1, v1, #int 16 // #10 │ │ +0246cc: 1e00 |000c: monitor-exit v0 │ │ +0246ce: 0f01 |000d: return v1 │ │ +0246d0: 0d01 |000e: move-exception v1 │ │ +0246d2: 1e00 |000f: monitor-exit v0 │ │ +0246d4: 2701 |0010: throw v1 │ │ catches : 1 │ │ 0x0003 - 0x0010 │ │ -> 0x000e │ │ positions : │ │ 0x0000 line=153 │ │ 0x0003 line=154 │ │ 0x000c line=155 │ │ @@ -25428,140 +25428,140 @@ │ │ type : '([I)Ljava/net/InetAddress;' │ │ access : 0x0009 (PUBLIC STATIC) │ │ code - │ │ registers : 18 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 215 16-bit code units │ │ -024b48: |[024b48] ip.IPPacket.int2ip:([I)Ljava/net/InetAddress; │ │ -024b58: 0800 1100 |0000: move-object/from16 v0, v17 │ │ -024b5c: 2101 |0002: array-length v1, v0 │ │ -024b5e: 1232 |0003: const/4 v2, #int 3 // #3 │ │ -024b60: 1223 |0004: const/4 v3, #int 2 // #2 │ │ -024b62: 1244 |0005: const/4 v4, #int 4 // #4 │ │ -024b64: 1205 |0006: const/4 v5, #int 0 // #0 │ │ -024b66: 1216 |0007: const/4 v6, #int 1 // #1 │ │ -024b68: 3361 2200 |0008: if-ne v1, v6, 002a // +0022 │ │ -024b6c: 4400 0005 |000a: aget v0, v0, v5 │ │ -024b70: e101 0018 |000c: shr-int/lit8 v1, v0, #int 24 // #18 │ │ -024b74: d511 ff00 |000e: and-int/lit16 v1, v1, #int 255 // #00ff │ │ -024b78: 8d11 |0010: int-to-byte v1, v1 │ │ -024b7a: e107 0010 |0011: shr-int/lit8 v7, v0, #int 16 // #10 │ │ -024b7e: d577 ff00 |0013: and-int/lit16 v7, v7, #int 255 // #00ff │ │ -024b82: 8d77 |0015: int-to-byte v7, v7 │ │ -024b84: e108 0008 |0016: shr-int/lit8 v8, v0, #int 8 // #08 │ │ -024b88: d588 ff00 |0018: and-int/lit16 v8, v8, #int 255 // #00ff │ │ -024b8c: 8d88 |001a: int-to-byte v8, v8 │ │ -024b8e: d500 ff00 |001b: and-int/lit16 v0, v0, #int 255 // #00ff │ │ -024b92: 8d00 |001d: int-to-byte v0, v0 │ │ -024b94: 2344 9d01 |001e: new-array v4, v4, [B // type@019d │ │ -024b98: 4f01 0405 |0020: aput-byte v1, v4, v5 │ │ -024b9c: 4f07 0406 |0022: aput-byte v7, v4, v6 │ │ -024ba0: 4f08 0403 |0024: aput-byte v8, v4, v3 │ │ -024ba4: 4f00 0402 |0026: aput-byte v0, v4, v2 │ │ -024ba8: 2900 9500 |0028: goto/16 00bd // +0095 │ │ -024bac: 2101 |002a: array-length v1, v0 │ │ -024bae: 3341 9700 |002b: if-ne v1, v4, 00c2 // +0097 │ │ -024bb2: 4401 0005 |002d: aget v1, v0, v5 │ │ -024bb6: e107 0118 |002f: shr-int/lit8 v7, v1, #int 24 // #18 │ │ -024bba: d577 ff00 |0031: and-int/lit16 v7, v7, #int 255 // #00ff │ │ -024bbe: 8d77 |0033: int-to-byte v7, v7 │ │ -024bc0: e108 0110 |0034: shr-int/lit8 v8, v1, #int 16 // #10 │ │ -024bc4: d588 ff00 |0036: and-int/lit16 v8, v8, #int 255 // #00ff │ │ -024bc8: 8d88 |0038: int-to-byte v8, v8 │ │ -024bca: e109 0108 |0039: shr-int/lit8 v9, v1, #int 8 // #08 │ │ -024bce: d599 ff00 |003b: and-int/lit16 v9, v9, #int 255 // #00ff │ │ -024bd2: 8d99 |003d: int-to-byte v9, v9 │ │ -024bd4: d511 ff00 |003e: and-int/lit16 v1, v1, #int 255 // #00ff │ │ -024bd8: 8d11 |0040: int-to-byte v1, v1 │ │ -024bda: 440a 0006 |0041: aget v10, v0, v6 │ │ -024bde: e10b 0a18 |0043: shr-int/lit8 v11, v10, #int 24 // #18 │ │ -024be2: d5bb ff00 |0045: and-int/lit16 v11, v11, #int 255 // #00ff │ │ -024be6: 8dbb |0047: int-to-byte v11, v11 │ │ -024be8: e10c 0a10 |0048: shr-int/lit8 v12, v10, #int 16 // #10 │ │ -024bec: d5cc ff00 |004a: and-int/lit16 v12, v12, #int 255 // #00ff │ │ -024bf0: 8dcc |004c: int-to-byte v12, v12 │ │ -024bf2: e10d 0a08 |004d: shr-int/lit8 v13, v10, #int 8 // #08 │ │ -024bf6: d5dd ff00 |004f: and-int/lit16 v13, v13, #int 255 // #00ff │ │ -024bfa: 8ddd |0051: int-to-byte v13, v13 │ │ -024bfc: d5aa ff00 |0052: and-int/lit16 v10, v10, #int 255 // #00ff │ │ -024c00: 8daa |0054: int-to-byte v10, v10 │ │ -024c02: 440e 0003 |0055: aget v14, v0, v3 │ │ -024c06: e10f 0e18 |0057: shr-int/lit8 v15, v14, #int 24 // #18 │ │ -024c0a: d5ff ff00 |0059: and-int/lit16 v15, v15, #int 255 // #00ff │ │ -024c0e: 8dff |005b: int-to-byte v15, v15 │ │ -024c10: e104 0e10 |005c: shr-int/lit8 v4, v14, #int 16 // #10 │ │ -024c14: d544 ff00 |005e: and-int/lit16 v4, v4, #int 255 // #00ff │ │ -024c18: 8d44 |0060: int-to-byte v4, v4 │ │ -024c1a: e103 0e08 |0061: shr-int/lit8 v3, v14, #int 8 // #08 │ │ -024c1e: d533 ff00 |0063: and-int/lit16 v3, v3, #int 255 // #00ff │ │ -024c22: 8d33 |0065: int-to-byte v3, v3 │ │ -024c24: d5ee ff00 |0066: and-int/lit16 v14, v14, #int 255 // #00ff │ │ -024c28: 8dee |0068: int-to-byte v14, v14 │ │ -024c2a: 4400 0002 |0069: aget v0, v0, v2 │ │ -024c2e: e102 0018 |006b: shr-int/lit8 v2, v0, #int 24 // #18 │ │ -024c32: d522 ff00 |006d: and-int/lit16 v2, v2, #int 255 // #00ff │ │ -024c36: 8d22 |006f: int-to-byte v2, v2 │ │ -024c38: e106 0010 |0070: shr-int/lit8 v6, v0, #int 16 // #10 │ │ -024c3c: d566 ff00 |0072: and-int/lit16 v6, v6, #int 255 // #00ff │ │ -024c40: 8d66 |0074: int-to-byte v6, v6 │ │ -024c42: e105 0008 |0075: shr-int/lit8 v5, v0, #int 8 // #08 │ │ -024c46: d555 ff00 |0077: and-int/lit16 v5, v5, #int 255 // #00ff │ │ -024c4a: 8d55 |0079: int-to-byte v5, v5 │ │ -024c4c: d500 ff00 |007a: and-int/lit16 v0, v0, #int 255 // #00ff │ │ -024c50: 8d00 |007c: int-to-byte v0, v0 │ │ -024c52: 0211 0000 |007d: move/from16 v17, v0 │ │ -024c56: 1300 1000 |007f: const/16 v0, #int 16 // #10 │ │ -024c5a: 2300 9d01 |0081: new-array v0, v0, [B // type@019d │ │ -024c5e: 1310 0000 |0083: const/16 v16, #int 0 // #0 │ │ -024c62: 4f07 0010 |0085: aput-byte v7, v0, v16 │ │ -024c66: 1217 |0087: const/4 v7, #int 1 // #1 │ │ -024c68: 4f08 0007 |0088: aput-byte v8, v0, v7 │ │ -024c6c: 1227 |008a: const/4 v7, #int 2 // #2 │ │ -024c6e: 4f09 0007 |008b: aput-byte v9, v0, v7 │ │ -024c72: 1237 |008d: const/4 v7, #int 3 // #3 │ │ -024c74: 4f01 0007 |008e: aput-byte v1, v0, v7 │ │ -024c78: 1241 |0090: const/4 v1, #int 4 // #4 │ │ -024c7a: 4f0b 0001 |0091: aput-byte v11, v0, v1 │ │ -024c7e: 1251 |0093: const/4 v1, #int 5 // #5 │ │ -024c80: 4f0c 0001 |0094: aput-byte v12, v0, v1 │ │ -024c84: 1261 |0096: const/4 v1, #int 6 // #6 │ │ -024c86: 4f0d 0001 |0097: aput-byte v13, v0, v1 │ │ -024c8a: 1271 |0099: const/4 v1, #int 7 // #7 │ │ -024c8c: 4f0a 0001 |009a: aput-byte v10, v0, v1 │ │ -024c90: 1301 0800 |009c: const/16 v1, #int 8 // #8 │ │ -024c94: 4f0f 0001 |009e: aput-byte v15, v0, v1 │ │ -024c98: 1301 0900 |00a0: const/16 v1, #int 9 // #9 │ │ -024c9c: 4f04 0001 |00a2: aput-byte v4, v0, v1 │ │ -024ca0: 1301 0a00 |00a4: const/16 v1, #int 10 // #a │ │ -024ca4: 4f03 0001 |00a6: aput-byte v3, v0, v1 │ │ -024ca8: 1301 0b00 |00a8: const/16 v1, #int 11 // #b │ │ -024cac: 4f0e 0001 |00aa: aput-byte v14, v0, v1 │ │ -024cb0: 1301 0c00 |00ac: const/16 v1, #int 12 // #c │ │ -024cb4: 4f02 0001 |00ae: aput-byte v2, v0, v1 │ │ -024cb8: 1301 0d00 |00b0: const/16 v1, #int 13 // #d │ │ -024cbc: 4f06 0001 |00b2: aput-byte v6, v0, v1 │ │ -024cc0: 1301 0e00 |00b4: const/16 v1, #int 14 // #e │ │ -024cc4: 4f05 0001 |00b6: aput-byte v5, v0, v1 │ │ -024cc8: 1301 0f00 |00b8: const/16 v1, #int 15 // #f │ │ -024ccc: 4f11 0001 |00ba: aput-byte v17, v0, v1 │ │ -024cd0: 0704 |00bc: move-object v4, v0 │ │ -024cd2: 7110 d205 0400 |00bd: invoke-static {v4}, Ljava/net/InetAddress;.getByAddress:([B)Ljava/net/InetAddress; // method@05d2 │ │ -024cd8: 0c00 |00c0: move-result-object v0 │ │ -024cda: 1100 |00c1: return-object v0 │ │ -024cdc: 2201 1c01 |00c2: new-instance v1, Ljava/lang/IllegalArgumentException; // type@011c │ │ -024ce0: 2202 2d01 |00c4: new-instance v2, Ljava/lang/StringBuilder; // type@012d │ │ -024ce4: 1a03 ed01 |00c6: const-string v3, "Invalid array length:" // string@01ed │ │ -024ce8: 7020 a805 3200 |00c8: invoke-direct {v2, v3}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05a8 │ │ -024cee: 2100 |00cb: array-length v0, v0 │ │ -024cf0: 6e20 aa05 0200 |00cc: invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@05aa │ │ -024cf6: 6e10 af05 0200 |00cf: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ -024cfc: 0c00 |00d2: move-result-object v0 │ │ -024cfe: 7020 6005 0100 |00d3: invoke-direct {v1, v0}, Ljava/lang/IllegalArgumentException;.:(Ljava/lang/String;)V // method@0560 │ │ -024d04: 2701 |00d6: throw v1 │ │ +024b44: |[024b44] ip.IPPacket.int2ip:([I)Ljava/net/InetAddress; │ │ +024b54: 0800 1100 |0000: move-object/from16 v0, v17 │ │ +024b58: 2101 |0002: array-length v1, v0 │ │ +024b5a: 1232 |0003: const/4 v2, #int 3 // #3 │ │ +024b5c: 1223 |0004: const/4 v3, #int 2 // #2 │ │ +024b5e: 1244 |0005: const/4 v4, #int 4 // #4 │ │ +024b60: 1205 |0006: const/4 v5, #int 0 // #0 │ │ +024b62: 1216 |0007: const/4 v6, #int 1 // #1 │ │ +024b64: 3361 2200 |0008: if-ne v1, v6, 002a // +0022 │ │ +024b68: 4400 0005 |000a: aget v0, v0, v5 │ │ +024b6c: e101 0018 |000c: shr-int/lit8 v1, v0, #int 24 // #18 │ │ +024b70: d511 ff00 |000e: and-int/lit16 v1, v1, #int 255 // #00ff │ │ +024b74: 8d11 |0010: int-to-byte v1, v1 │ │ +024b76: e107 0010 |0011: shr-int/lit8 v7, v0, #int 16 // #10 │ │ +024b7a: d577 ff00 |0013: and-int/lit16 v7, v7, #int 255 // #00ff │ │ +024b7e: 8d77 |0015: int-to-byte v7, v7 │ │ +024b80: e108 0008 |0016: shr-int/lit8 v8, v0, #int 8 // #08 │ │ +024b84: d588 ff00 |0018: and-int/lit16 v8, v8, #int 255 // #00ff │ │ +024b88: 8d88 |001a: int-to-byte v8, v8 │ │ +024b8a: d500 ff00 |001b: and-int/lit16 v0, v0, #int 255 // #00ff │ │ +024b8e: 8d00 |001d: int-to-byte v0, v0 │ │ +024b90: 2344 9d01 |001e: new-array v4, v4, [B // type@019d │ │ +024b94: 4f01 0405 |0020: aput-byte v1, v4, v5 │ │ +024b98: 4f07 0406 |0022: aput-byte v7, v4, v6 │ │ +024b9c: 4f08 0403 |0024: aput-byte v8, v4, v3 │ │ +024ba0: 4f00 0402 |0026: aput-byte v0, v4, v2 │ │ +024ba4: 2900 9500 |0028: goto/16 00bd // +0095 │ │ +024ba8: 2101 |002a: array-length v1, v0 │ │ +024baa: 3341 9700 |002b: if-ne v1, v4, 00c2 // +0097 │ │ +024bae: 4401 0005 |002d: aget v1, v0, v5 │ │ +024bb2: e107 0118 |002f: shr-int/lit8 v7, v1, #int 24 // #18 │ │ +024bb6: d577 ff00 |0031: and-int/lit16 v7, v7, #int 255 // #00ff │ │ +024bba: 8d77 |0033: int-to-byte v7, v7 │ │ +024bbc: e108 0110 |0034: shr-int/lit8 v8, v1, #int 16 // #10 │ │ +024bc0: d588 ff00 |0036: and-int/lit16 v8, v8, #int 255 // #00ff │ │ +024bc4: 8d88 |0038: int-to-byte v8, v8 │ │ +024bc6: e109 0108 |0039: shr-int/lit8 v9, v1, #int 8 // #08 │ │ +024bca: d599 ff00 |003b: and-int/lit16 v9, v9, #int 255 // #00ff │ │ +024bce: 8d99 |003d: int-to-byte v9, v9 │ │ +024bd0: d511 ff00 |003e: and-int/lit16 v1, v1, #int 255 // #00ff │ │ +024bd4: 8d11 |0040: int-to-byte v1, v1 │ │ +024bd6: 440a 0006 |0041: aget v10, v0, v6 │ │ +024bda: e10b 0a18 |0043: shr-int/lit8 v11, v10, #int 24 // #18 │ │ +024bde: d5bb ff00 |0045: and-int/lit16 v11, v11, #int 255 // #00ff │ │ +024be2: 8dbb |0047: int-to-byte v11, v11 │ │ +024be4: e10c 0a10 |0048: shr-int/lit8 v12, v10, #int 16 // #10 │ │ +024be8: d5cc ff00 |004a: and-int/lit16 v12, v12, #int 255 // #00ff │ │ +024bec: 8dcc |004c: int-to-byte v12, v12 │ │ +024bee: e10d 0a08 |004d: shr-int/lit8 v13, v10, #int 8 // #08 │ │ +024bf2: d5dd ff00 |004f: and-int/lit16 v13, v13, #int 255 // #00ff │ │ +024bf6: 8ddd |0051: int-to-byte v13, v13 │ │ +024bf8: d5aa ff00 |0052: and-int/lit16 v10, v10, #int 255 // #00ff │ │ +024bfc: 8daa |0054: int-to-byte v10, v10 │ │ +024bfe: 440e 0003 |0055: aget v14, v0, v3 │ │ +024c02: e10f 0e18 |0057: shr-int/lit8 v15, v14, #int 24 // #18 │ │ +024c06: d5ff ff00 |0059: and-int/lit16 v15, v15, #int 255 // #00ff │ │ +024c0a: 8dff |005b: int-to-byte v15, v15 │ │ +024c0c: e104 0e10 |005c: shr-int/lit8 v4, v14, #int 16 // #10 │ │ +024c10: d544 ff00 |005e: and-int/lit16 v4, v4, #int 255 // #00ff │ │ +024c14: 8d44 |0060: int-to-byte v4, v4 │ │ +024c16: e103 0e08 |0061: shr-int/lit8 v3, v14, #int 8 // #08 │ │ +024c1a: d533 ff00 |0063: and-int/lit16 v3, v3, #int 255 // #00ff │ │ +024c1e: 8d33 |0065: int-to-byte v3, v3 │ │ +024c20: d5ee ff00 |0066: and-int/lit16 v14, v14, #int 255 // #00ff │ │ +024c24: 8dee |0068: int-to-byte v14, v14 │ │ +024c26: 4400 0002 |0069: aget v0, v0, v2 │ │ +024c2a: e102 0018 |006b: shr-int/lit8 v2, v0, #int 24 // #18 │ │ +024c2e: d522 ff00 |006d: and-int/lit16 v2, v2, #int 255 // #00ff │ │ +024c32: 8d22 |006f: int-to-byte v2, v2 │ │ +024c34: e106 0010 |0070: shr-int/lit8 v6, v0, #int 16 // #10 │ │ +024c38: d566 ff00 |0072: and-int/lit16 v6, v6, #int 255 // #00ff │ │ +024c3c: 8d66 |0074: int-to-byte v6, v6 │ │ +024c3e: e105 0008 |0075: shr-int/lit8 v5, v0, #int 8 // #08 │ │ +024c42: d555 ff00 |0077: and-int/lit16 v5, v5, #int 255 // #00ff │ │ +024c46: 8d55 |0079: int-to-byte v5, v5 │ │ +024c48: d500 ff00 |007a: and-int/lit16 v0, v0, #int 255 // #00ff │ │ +024c4c: 8d00 |007c: int-to-byte v0, v0 │ │ +024c4e: 0211 0000 |007d: move/from16 v17, v0 │ │ +024c52: 1300 1000 |007f: const/16 v0, #int 16 // #10 │ │ +024c56: 2300 9d01 |0081: new-array v0, v0, [B // type@019d │ │ +024c5a: 1310 0000 |0083: const/16 v16, #int 0 // #0 │ │ +024c5e: 4f07 0010 |0085: aput-byte v7, v0, v16 │ │ +024c62: 1217 |0087: const/4 v7, #int 1 // #1 │ │ +024c64: 4f08 0007 |0088: aput-byte v8, v0, v7 │ │ +024c68: 1227 |008a: const/4 v7, #int 2 // #2 │ │ +024c6a: 4f09 0007 |008b: aput-byte v9, v0, v7 │ │ +024c6e: 1237 |008d: const/4 v7, #int 3 // #3 │ │ +024c70: 4f01 0007 |008e: aput-byte v1, v0, v7 │ │ +024c74: 1241 |0090: const/4 v1, #int 4 // #4 │ │ +024c76: 4f0b 0001 |0091: aput-byte v11, v0, v1 │ │ +024c7a: 1251 |0093: const/4 v1, #int 5 // #5 │ │ +024c7c: 4f0c 0001 |0094: aput-byte v12, v0, v1 │ │ +024c80: 1261 |0096: const/4 v1, #int 6 // #6 │ │ +024c82: 4f0d 0001 |0097: aput-byte v13, v0, v1 │ │ +024c86: 1271 |0099: const/4 v1, #int 7 // #7 │ │ +024c88: 4f0a 0001 |009a: aput-byte v10, v0, v1 │ │ +024c8c: 1301 0800 |009c: const/16 v1, #int 8 // #8 │ │ +024c90: 4f0f 0001 |009e: aput-byte v15, v0, v1 │ │ +024c94: 1301 0900 |00a0: const/16 v1, #int 9 // #9 │ │ +024c98: 4f04 0001 |00a2: aput-byte v4, v0, v1 │ │ +024c9c: 1301 0a00 |00a4: const/16 v1, #int 10 // #a │ │ +024ca0: 4f03 0001 |00a6: aput-byte v3, v0, v1 │ │ +024ca4: 1301 0b00 |00a8: const/16 v1, #int 11 // #b │ │ +024ca8: 4f0e 0001 |00aa: aput-byte v14, v0, v1 │ │ +024cac: 1301 0c00 |00ac: const/16 v1, #int 12 // #c │ │ +024cb0: 4f02 0001 |00ae: aput-byte v2, v0, v1 │ │ +024cb4: 1301 0d00 |00b0: const/16 v1, #int 13 // #d │ │ +024cb8: 4f06 0001 |00b2: aput-byte v6, v0, v1 │ │ +024cbc: 1301 0e00 |00b4: const/16 v1, #int 14 // #e │ │ +024cc0: 4f05 0001 |00b6: aput-byte v5, v0, v1 │ │ +024cc4: 1301 0f00 |00b8: const/16 v1, #int 15 // #f │ │ +024cc8: 4f11 0001 |00ba: aput-byte v17, v0, v1 │ │ +024ccc: 0704 |00bc: move-object v4, v0 │ │ +024cce: 7110 d205 0400 |00bd: invoke-static {v4}, Ljava/net/InetAddress;.getByAddress:([B)Ljava/net/InetAddress; // method@05d2 │ │ +024cd4: 0c00 |00c0: move-result-object v0 │ │ +024cd6: 1100 |00c1: return-object v0 │ │ +024cd8: 2201 1c01 |00c2: new-instance v1, Ljava/lang/IllegalArgumentException; // type@011c │ │ +024cdc: 2202 2d01 |00c4: new-instance v2, Ljava/lang/StringBuilder; // type@012d │ │ +024ce0: 1a03 ed01 |00c6: const-string v3, "Invalid array length:" // string@01ed │ │ +024ce4: 7020 a805 3200 |00c8: invoke-direct {v2, v3}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05a8 │ │ +024cea: 2100 |00cb: array-length v0, v0 │ │ +024cec: 6e20 aa05 0200 |00cc: invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@05aa │ │ +024cf2: 6e10 af05 0200 |00cf: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ +024cf8: 0c00 |00d2: move-result-object v0 │ │ +024cfa: 7020 6005 0100 |00d3: invoke-direct {v1, v0}, Ljava/lang/IllegalArgumentException;.:(Ljava/lang/String;)V // method@0560 │ │ +024d00: 2701 |00d6: throw v1 │ │ catches : (none) │ │ positions : │ │ 0x0002 line=136 │ │ 0x000a line=137 │ │ 0x002a line=138 │ │ 0x002d line=139 │ │ 0x00bd line=148 │ │ @@ -25574,111 +25574,111 @@ │ │ type : '(Ljava/net/InetAddress;)[I' │ │ access : 0x0009 (PUBLIC STATIC) │ │ code - │ │ registers : 8 │ │ ins : 1 │ │ outs : 4 │ │ insns size : 161 16-bit code units │ │ -024994: |[024994] ip.IPPacket.ip2int:(Ljava/net/InetAddress;)[I │ │ -0249a4: 6e10 d005 0700 |0000: invoke-virtual {v7}, Ljava/net/InetAddress;.getAddress:()[B // method@05d0 │ │ -0249aa: 0c07 |0003: move-result-object v7 │ │ -0249ac: 2170 |0004: array-length v0, v7 │ │ -0249ae: 1201 |0005: const/4 v1, #int 0 // #0 │ │ -0249b0: 1212 |0006: const/4 v2, #int 1 // #1 │ │ -0249b2: 1223 |0007: const/4 v3, #int 2 // #2 │ │ -0249b4: 1234 |0008: const/4 v4, #int 3 // #3 │ │ -0249b6: 1305 0800 |0009: const/16 v5, #int 8 // #8 │ │ -0249ba: 1246 |000b: const/4 v6, #int 4 // #4 │ │ -0249bc: 3360 1f00 |000c: if-ne v0, v6, 002b // +001f │ │ -0249c0: 4800 0704 |000e: aget-byte v0, v7, v4 │ │ -0249c4: d500 ff00 |0010: and-int/lit16 v0, v0, #int 255 // #00ff │ │ -0249c8: 4803 0703 |0012: aget-byte v3, v7, v3 │ │ -0249cc: d533 ff00 |0014: and-int/lit16 v3, v3, #int 255 // #00ff │ │ -0249d0: b853 |0016: shl-int/2addr v3, v5 │ │ -0249d2: b630 |0017: or-int/2addr v0, v3 │ │ -0249d4: 4802 0702 |0018: aget-byte v2, v7, v2 │ │ -0249d8: d522 ff00 |001a: and-int/lit16 v2, v2, #int 255 // #00ff │ │ -0249dc: e002 0210 |001c: shl-int/lit8 v2, v2, #int 16 // #10 │ │ -0249e0: b620 |001e: or-int/2addr v0, v2 │ │ -0249e2: 4807 0701 |001f: aget-byte v7, v7, v1 │ │ -0249e6: d577 ff00 |0021: and-int/lit16 v7, v7, #int 255 // #00ff │ │ -0249ea: e007 0718 |0023: shl-int/lit8 v7, v7, #int 24 // #18 │ │ -0249ee: b607 |0025: or-int/2addr v7, v0 │ │ -0249f0: 2410 9e01 0700 |0026: filled-new-array {v7}, [I // type@019e │ │ -0249f6: 0c07 |0029: move-result-object v7 │ │ -0249f8: 1107 |002a: return-object v7 │ │ -0249fa: 4800 0704 |002b: aget-byte v0, v7, v4 │ │ -0249fe: d500 ff00 |002d: and-int/lit16 v0, v0, #int 255 // #00ff │ │ -024a02: 4803 0703 |002f: aget-byte v3, v7, v3 │ │ -024a06: d533 ff00 |0031: and-int/lit16 v3, v3, #int 255 // #00ff │ │ -024a0a: b853 |0033: shl-int/2addr v3, v5 │ │ -024a0c: b630 |0034: or-int/2addr v0, v3 │ │ -024a0e: 4802 0702 |0035: aget-byte v2, v7, v2 │ │ -024a12: d522 ff00 |0037: and-int/lit16 v2, v2, #int 255 // #00ff │ │ -024a16: e002 0210 |0039: shl-int/lit8 v2, v2, #int 16 // #10 │ │ -024a1a: b620 |003b: or-int/2addr v0, v2 │ │ -024a1c: 4801 0701 |003c: aget-byte v1, v7, v1 │ │ -024a20: d511 ff00 |003e: and-int/lit16 v1, v1, #int 255 // #00ff │ │ -024a24: e001 0118 |0040: shl-int/lit8 v1, v1, #int 24 // #18 │ │ -024a28: b610 |0042: or-int/2addr v0, v1 │ │ -024a2a: 1271 |0043: const/4 v1, #int 7 // #7 │ │ -024a2c: 4801 0701 |0044: aget-byte v1, v7, v1 │ │ -024a30: d511 ff00 |0046: and-int/lit16 v1, v1, #int 255 // #00ff │ │ -024a34: 1262 |0048: const/4 v2, #int 6 // #6 │ │ -024a36: 4802 0702 |0049: aget-byte v2, v7, v2 │ │ -024a3a: d522 ff00 |004b: and-int/lit16 v2, v2, #int 255 // #00ff │ │ -024a3e: b852 |004d: shl-int/2addr v2, v5 │ │ -024a40: b621 |004e: or-int/2addr v1, v2 │ │ -024a42: 1252 |004f: const/4 v2, #int 5 // #5 │ │ -024a44: 4802 0702 |0050: aget-byte v2, v7, v2 │ │ -024a48: d522 ff00 |0052: and-int/lit16 v2, v2, #int 255 // #00ff │ │ -024a4c: e002 0210 |0054: shl-int/lit8 v2, v2, #int 16 // #10 │ │ -024a50: b621 |0056: or-int/2addr v1, v2 │ │ -024a52: 4802 0706 |0057: aget-byte v2, v7, v6 │ │ -024a56: d522 ff00 |0059: and-int/lit16 v2, v2, #int 255 // #00ff │ │ -024a5a: e002 0218 |005b: shl-int/lit8 v2, v2, #int 24 // #18 │ │ -024a5e: b621 |005d: or-int/2addr v1, v2 │ │ -024a60: 1302 0b00 |005e: const/16 v2, #int 11 // #b │ │ -024a64: 4802 0702 |0060: aget-byte v2, v7, v2 │ │ -024a68: d522 ff00 |0062: and-int/lit16 v2, v2, #int 255 // #00ff │ │ -024a6c: 1303 0a00 |0064: const/16 v3, #int 10 // #a │ │ -024a70: 4803 0703 |0066: aget-byte v3, v7, v3 │ │ -024a74: d533 ff00 |0068: and-int/lit16 v3, v3, #int 255 // #00ff │ │ -024a78: b853 |006a: shl-int/2addr v3, v5 │ │ -024a7a: b632 |006b: or-int/2addr v2, v3 │ │ -024a7c: 1303 0900 |006c: const/16 v3, #int 9 // #9 │ │ -024a80: 4803 0703 |006e: aget-byte v3, v7, v3 │ │ -024a84: d533 ff00 |0070: and-int/lit16 v3, v3, #int 255 // #00ff │ │ -024a88: e003 0310 |0072: shl-int/lit8 v3, v3, #int 16 // #10 │ │ -024a8c: b632 |0074: or-int/2addr v2, v3 │ │ -024a8e: 4803 0705 |0075: aget-byte v3, v7, v5 │ │ -024a92: d533 ff00 |0077: and-int/lit16 v3, v3, #int 255 // #00ff │ │ -024a96: e003 0318 |0079: shl-int/lit8 v3, v3, #int 24 // #18 │ │ -024a9a: b632 |007b: or-int/2addr v2, v3 │ │ -024a9c: 1303 0f00 |007c: const/16 v3, #int 15 // #f │ │ -024aa0: 4803 0703 |007e: aget-byte v3, v7, v3 │ │ -024aa4: d533 ff00 |0080: and-int/lit16 v3, v3, #int 255 // #00ff │ │ -024aa8: 1304 0e00 |0082: const/16 v4, #int 14 // #e │ │ -024aac: 4804 0704 |0084: aget-byte v4, v7, v4 │ │ -024ab0: d544 ff00 |0086: and-int/lit16 v4, v4, #int 255 // #00ff │ │ -024ab4: b854 |0088: shl-int/2addr v4, v5 │ │ -024ab6: b643 |0089: or-int/2addr v3, v4 │ │ -024ab8: 1304 0d00 |008a: const/16 v4, #int 13 // #d │ │ -024abc: 4804 0704 |008c: aget-byte v4, v7, v4 │ │ -024ac0: d544 ff00 |008e: and-int/lit16 v4, v4, #int 255 // #00ff │ │ -024ac4: e004 0410 |0090: shl-int/lit8 v4, v4, #int 16 // #10 │ │ -024ac8: b643 |0092: or-int/2addr v3, v4 │ │ -024aca: 1304 0c00 |0093: const/16 v4, #int 12 // #c │ │ -024ace: 4807 0704 |0095: aget-byte v7, v7, v4 │ │ -024ad2: d577 ff00 |0097: and-int/lit16 v7, v7, #int 255 // #00ff │ │ -024ad6: e007 0718 |0099: shl-int/lit8 v7, v7, #int 24 // #18 │ │ -024ada: b637 |009b: or-int/2addr v7, v3 │ │ -024adc: 2440 9e01 1072 |009c: filled-new-array {v0, v1, v2, v7}, [I // type@019e │ │ -024ae2: 0c07 |009f: move-result-object v7 │ │ -024ae4: 1107 |00a0: return-object v7 │ │ +024990: |[024990] ip.IPPacket.ip2int:(Ljava/net/InetAddress;)[I │ │ +0249a0: 6e10 d005 0700 |0000: invoke-virtual {v7}, Ljava/net/InetAddress;.getAddress:()[B // method@05d0 │ │ +0249a6: 0c07 |0003: move-result-object v7 │ │ +0249a8: 2170 |0004: array-length v0, v7 │ │ +0249aa: 1201 |0005: const/4 v1, #int 0 // #0 │ │ +0249ac: 1212 |0006: const/4 v2, #int 1 // #1 │ │ +0249ae: 1223 |0007: const/4 v3, #int 2 // #2 │ │ +0249b0: 1234 |0008: const/4 v4, #int 3 // #3 │ │ +0249b2: 1305 0800 |0009: const/16 v5, #int 8 // #8 │ │ +0249b6: 1246 |000b: const/4 v6, #int 4 // #4 │ │ +0249b8: 3360 1f00 |000c: if-ne v0, v6, 002b // +001f │ │ +0249bc: 4800 0704 |000e: aget-byte v0, v7, v4 │ │ +0249c0: d500 ff00 |0010: and-int/lit16 v0, v0, #int 255 // #00ff │ │ +0249c4: 4803 0703 |0012: aget-byte v3, v7, v3 │ │ +0249c8: d533 ff00 |0014: and-int/lit16 v3, v3, #int 255 // #00ff │ │ +0249cc: b853 |0016: shl-int/2addr v3, v5 │ │ +0249ce: b630 |0017: or-int/2addr v0, v3 │ │ +0249d0: 4802 0702 |0018: aget-byte v2, v7, v2 │ │ +0249d4: d522 ff00 |001a: and-int/lit16 v2, v2, #int 255 // #00ff │ │ +0249d8: e002 0210 |001c: shl-int/lit8 v2, v2, #int 16 // #10 │ │ +0249dc: b620 |001e: or-int/2addr v0, v2 │ │ +0249de: 4807 0701 |001f: aget-byte v7, v7, v1 │ │ +0249e2: d577 ff00 |0021: and-int/lit16 v7, v7, #int 255 // #00ff │ │ +0249e6: e007 0718 |0023: shl-int/lit8 v7, v7, #int 24 // #18 │ │ +0249ea: b607 |0025: or-int/2addr v7, v0 │ │ +0249ec: 2410 9e01 0700 |0026: filled-new-array {v7}, [I // type@019e │ │ +0249f2: 0c07 |0029: move-result-object v7 │ │ +0249f4: 1107 |002a: return-object v7 │ │ +0249f6: 4800 0704 |002b: aget-byte v0, v7, v4 │ │ +0249fa: d500 ff00 |002d: and-int/lit16 v0, v0, #int 255 // #00ff │ │ +0249fe: 4803 0703 |002f: aget-byte v3, v7, v3 │ │ +024a02: d533 ff00 |0031: and-int/lit16 v3, v3, #int 255 // #00ff │ │ +024a06: b853 |0033: shl-int/2addr v3, v5 │ │ +024a08: b630 |0034: or-int/2addr v0, v3 │ │ +024a0a: 4802 0702 |0035: aget-byte v2, v7, v2 │ │ +024a0e: d522 ff00 |0037: and-int/lit16 v2, v2, #int 255 // #00ff │ │ +024a12: e002 0210 |0039: shl-int/lit8 v2, v2, #int 16 // #10 │ │ +024a16: b620 |003b: or-int/2addr v0, v2 │ │ +024a18: 4801 0701 |003c: aget-byte v1, v7, v1 │ │ +024a1c: d511 ff00 |003e: and-int/lit16 v1, v1, #int 255 // #00ff │ │ +024a20: e001 0118 |0040: shl-int/lit8 v1, v1, #int 24 // #18 │ │ +024a24: b610 |0042: or-int/2addr v0, v1 │ │ +024a26: 1271 |0043: const/4 v1, #int 7 // #7 │ │ +024a28: 4801 0701 |0044: aget-byte v1, v7, v1 │ │ +024a2c: d511 ff00 |0046: and-int/lit16 v1, v1, #int 255 // #00ff │ │ +024a30: 1262 |0048: const/4 v2, #int 6 // #6 │ │ +024a32: 4802 0702 |0049: aget-byte v2, v7, v2 │ │ +024a36: d522 ff00 |004b: and-int/lit16 v2, v2, #int 255 // #00ff │ │ +024a3a: b852 |004d: shl-int/2addr v2, v5 │ │ +024a3c: b621 |004e: or-int/2addr v1, v2 │ │ +024a3e: 1252 |004f: const/4 v2, #int 5 // #5 │ │ +024a40: 4802 0702 |0050: aget-byte v2, v7, v2 │ │ +024a44: d522 ff00 |0052: and-int/lit16 v2, v2, #int 255 // #00ff │ │ +024a48: e002 0210 |0054: shl-int/lit8 v2, v2, #int 16 // #10 │ │ +024a4c: b621 |0056: or-int/2addr v1, v2 │ │ +024a4e: 4802 0706 |0057: aget-byte v2, v7, v6 │ │ +024a52: d522 ff00 |0059: and-int/lit16 v2, v2, #int 255 // #00ff │ │ +024a56: e002 0218 |005b: shl-int/lit8 v2, v2, #int 24 // #18 │ │ +024a5a: b621 |005d: or-int/2addr v1, v2 │ │ +024a5c: 1302 0b00 |005e: const/16 v2, #int 11 // #b │ │ +024a60: 4802 0702 |0060: aget-byte v2, v7, v2 │ │ +024a64: d522 ff00 |0062: and-int/lit16 v2, v2, #int 255 // #00ff │ │ +024a68: 1303 0a00 |0064: const/16 v3, #int 10 // #a │ │ +024a6c: 4803 0703 |0066: aget-byte v3, v7, v3 │ │ +024a70: d533 ff00 |0068: and-int/lit16 v3, v3, #int 255 // #00ff │ │ +024a74: b853 |006a: shl-int/2addr v3, v5 │ │ +024a76: b632 |006b: or-int/2addr v2, v3 │ │ +024a78: 1303 0900 |006c: const/16 v3, #int 9 // #9 │ │ +024a7c: 4803 0703 |006e: aget-byte v3, v7, v3 │ │ +024a80: d533 ff00 |0070: and-int/lit16 v3, v3, #int 255 // #00ff │ │ +024a84: e003 0310 |0072: shl-int/lit8 v3, v3, #int 16 // #10 │ │ +024a88: b632 |0074: or-int/2addr v2, v3 │ │ +024a8a: 4803 0705 |0075: aget-byte v3, v7, v5 │ │ +024a8e: d533 ff00 |0077: and-int/lit16 v3, v3, #int 255 // #00ff │ │ +024a92: e003 0318 |0079: shl-int/lit8 v3, v3, #int 24 // #18 │ │ +024a96: b632 |007b: or-int/2addr v2, v3 │ │ +024a98: 1303 0f00 |007c: const/16 v3, #int 15 // #f │ │ +024a9c: 4803 0703 |007e: aget-byte v3, v7, v3 │ │ +024aa0: d533 ff00 |0080: and-int/lit16 v3, v3, #int 255 // #00ff │ │ +024aa4: 1304 0e00 |0082: const/16 v4, #int 14 // #e │ │ +024aa8: 4804 0704 |0084: aget-byte v4, v7, v4 │ │ +024aac: d544 ff00 |0086: and-int/lit16 v4, v4, #int 255 // #00ff │ │ +024ab0: b854 |0088: shl-int/2addr v4, v5 │ │ +024ab2: b643 |0089: or-int/2addr v3, v4 │ │ +024ab4: 1304 0d00 |008a: const/16 v4, #int 13 // #d │ │ +024ab8: 4804 0704 |008c: aget-byte v4, v7, v4 │ │ +024abc: d544 ff00 |008e: and-int/lit16 v4, v4, #int 255 // #00ff │ │ +024ac0: e004 0410 |0090: shl-int/lit8 v4, v4, #int 16 // #10 │ │ +024ac4: b643 |0092: or-int/2addr v3, v4 │ │ +024ac6: 1304 0c00 |0093: const/16 v4, #int 12 // #c │ │ +024aca: 4807 0704 |0095: aget-byte v7, v7, v4 │ │ +024ace: d577 ff00 |0097: and-int/lit16 v7, v7, #int 255 // #00ff │ │ +024ad2: e007 0718 |0099: shl-int/lit8 v7, v7, #int 24 // #18 │ │ +024ad6: b637 |009b: or-int/2addr v7, v3 │ │ +024ad8: 2440 9e01 1072 |009c: filled-new-array {v0, v1, v2, v7}, [I // type@019e │ │ +024ade: 0c07 |009f: move-result-object v7 │ │ +024ae0: 1107 |00a0: return-object v7 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=122 │ │ 0x0004 line=123 │ │ 0x000e line=124 │ │ 0x002b line=126 │ │ locals : │ │ @@ -25690,18 +25690,18 @@ │ │ type : '()I' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 5 16-bit code units │ │ -02468c: |[02468c] ip.IPPacket.checkCheckSum:()I │ │ -02469c: 7010 ab04 0100 |0000: invoke-direct {v1}, Lip/IPPacket;.calculateCheckSum:()I // method@04ab │ │ -0246a2: 0a00 |0003: move-result v0 │ │ -0246a4: 0f00 |0004: return v0 │ │ +024688: |[024688] ip.IPPacket.checkCheckSum:()I │ │ +024698: 7010 ab04 0100 |0000: invoke-direct {v1}, Lip/IPPacket;.calculateCheckSum:()I // method@04ab │ │ +02469e: 0a00 |0003: move-result v0 │ │ +0246a0: 0f00 |0004: return v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=168 │ │ locals : │ │ 0x0000 - 0x0005 reg=1 this Lip/IPPacket; │ │ │ │ #1 : (in Lip/IPPacket;) │ │ @@ -25709,17 +25709,17 @@ │ │ type : '()[B' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 0 │ │ insns size : 3 16-bit code units │ │ -024640: |[024640] ip.IPPacket.getData:()[B │ │ -024650: 5410 0903 |0000: iget-object v0, v1, Lip/IPPacket;.data:[B // field@0309 │ │ -024654: 1100 |0002: return-object v0 │ │ +02463c: |[02463c] ip.IPPacket.getData:()[B │ │ +02464c: 5410 0903 |0000: iget-object v0, v1, Lip/IPPacket;.data:[B // field@0309 │ │ +024650: 1100 |0002: return-object v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=252 │ │ locals : │ │ 0x0000 - 0x0003 reg=1 this Lip/IPPacket; │ │ │ │ #2 : (in Lip/IPPacket;) │ │ @@ -25727,37 +25727,37 @@ │ │ type : '()[I' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 4 │ │ ins : 1 │ │ outs : 3 │ │ insns size : 41 16-bit code units │ │ -0248c8: |[0248c8] ip.IPPacket.getDestIP:()[I │ │ -0248d8: 5230 0e03 |0000: iget v0, v3, Lip/IPPacket;.version:I // field@030e │ │ -0248dc: 1241 |0002: const/4 v1, #int 4 // #4 │ │ -0248de: 3310 0800 |0003: if-ne v0, v1, 000b // +0008 │ │ -0248e2: 1210 |0005: const/4 v0, #int 1 // #1 │ │ -0248e4: 7030 ad04 1300 |0006: invoke-direct {v3, v1, v0}, Lip/IPPacket;.copyFromHeader:(II)[I // method@04ad │ │ -0248ea: 0c00 |0009: move-result-object v0 │ │ -0248ec: 1100 |000a: return-object v0 │ │ -0248ee: 1262 |000b: const/4 v2, #int 6 // #6 │ │ -0248f0: 3320 0700 |000c: if-ne v0, v2, 0013 // +0007 │ │ -0248f4: 7030 ad04 2301 |000e: invoke-direct {v3, v2, v1}, Lip/IPPacket;.copyFromHeader:(II)[I // method@04ad │ │ -0248fa: 0c00 |0011: move-result-object v0 │ │ -0248fc: 1100 |0012: return-object v0 │ │ -0248fe: 2200 1d01 |0013: new-instance v0, Ljava/lang/IllegalStateException; // type@011d │ │ -024902: 2201 2d01 |0015: new-instance v1, Ljava/lang/StringBuilder; // type@012d │ │ -024906: 1a02 e201 |0017: const-string v2, "Illegal version:" // string@01e2 │ │ -02490a: 7020 a805 2100 |0019: invoke-direct {v1, v2}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05a8 │ │ -024910: 5232 0e03 |001c: iget v2, v3, Lip/IPPacket;.version:I // field@030e │ │ -024914: 6e20 aa05 2100 |001e: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@05aa │ │ -02491a: 6e10 af05 0100 |0021: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ -024920: 0c01 |0024: move-result-object v1 │ │ -024922: 7020 6105 1000 |0025: invoke-direct {v0, v1}, Ljava/lang/IllegalStateException;.:(Ljava/lang/String;)V // method@0561 │ │ -024928: 2700 |0028: throw v0 │ │ +0248c4: |[0248c4] ip.IPPacket.getDestIP:()[I │ │ +0248d4: 5230 0e03 |0000: iget v0, v3, Lip/IPPacket;.version:I // field@030e │ │ +0248d8: 1241 |0002: const/4 v1, #int 4 // #4 │ │ +0248da: 3310 0800 |0003: if-ne v0, v1, 000b // +0008 │ │ +0248de: 1210 |0005: const/4 v0, #int 1 // #1 │ │ +0248e0: 7030 ad04 1300 |0006: invoke-direct {v3, v1, v0}, Lip/IPPacket;.copyFromHeader:(II)[I // method@04ad │ │ +0248e6: 0c00 |0009: move-result-object v0 │ │ +0248e8: 1100 |000a: return-object v0 │ │ +0248ea: 1262 |000b: const/4 v2, #int 6 // #6 │ │ +0248ec: 3320 0700 |000c: if-ne v0, v2, 0013 // +0007 │ │ +0248f0: 7030 ad04 2301 |000e: invoke-direct {v3, v2, v1}, Lip/IPPacket;.copyFromHeader:(II)[I // method@04ad │ │ +0248f6: 0c00 |0011: move-result-object v0 │ │ +0248f8: 1100 |0012: return-object v0 │ │ +0248fa: 2200 1d01 |0013: new-instance v0, Ljava/lang/IllegalStateException; // type@011d │ │ +0248fe: 2201 2d01 |0015: new-instance v1, Ljava/lang/StringBuilder; // type@012d │ │ +024902: 1a02 e201 |0017: const-string v2, "Illegal version:" // string@01e2 │ │ +024906: 7020 a805 2100 |0019: invoke-direct {v1, v2}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05a8 │ │ +02490c: 5232 0e03 |001c: iget v2, v3, Lip/IPPacket;.version:I // field@030e │ │ +024910: 6e20 aa05 2100 |001e: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@05aa │ │ +024916: 6e10 af05 0100 |0021: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ +02491c: 0c01 |0024: move-result-object v1 │ │ +02491e: 7020 6105 1000 |0025: invoke-direct {v0, v1}, Ljava/lang/IllegalStateException;.:(Ljava/lang/String;)V // method@0561 │ │ +024924: 2700 |0028: throw v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=216 │ │ 0x0006 line=217 │ │ 0x000e line=219 │ │ 0x0013 line=221 │ │ locals : │ │ @@ -25768,17 +25768,17 @@ │ │ type : '()I' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 0 │ │ insns size : 3 16-bit code units │ │ -0246e8: |[0246e8] ip.IPPacket.getHeaderLength:()I │ │ -0246f8: 5210 0a03 |0000: iget v0, v1, Lip/IPPacket;.ipHdrlen:I // field@030a │ │ -0246fc: 0f00 |0002: return v0 │ │ +0246e4: |[0246e4] ip.IPPacket.getHeaderLength:()I │ │ +0246f4: 5210 0a03 |0000: iget v0, v1, Lip/IPPacket;.ipHdrlen:I // field@030a │ │ +0246f8: 0f00 |0002: return v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=260 │ │ locals : │ │ 0x0000 - 0x0003 reg=1 this Lip/IPPacket; │ │ │ │ #4 : (in Lip/IPPacket;) │ │ @@ -25786,44 +25786,44 @@ │ │ type : '()I' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 4 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 54 16-bit code units │ │ -024700: |[024700] ip.IPPacket.getLength:()I │ │ -024710: 5230 0e03 |0000: iget v0, v3, Lip/IPPacket;.version:I // field@030e │ │ -024714: 1241 |0002: const/4 v1, #int 4 // #4 │ │ -024716: 3310 0e00 |0003: if-ne v0, v1, 0011 // +000e │ │ -02471a: 5430 0b03 |0005: iget-object v0, v3, Lip/IPPacket;.ipHeader:Ljava/nio/IntBuffer; // field@030b │ │ -02471e: 1201 |0007: const/4 v1, #int 0 // #0 │ │ -024720: 6e20 0a06 1000 |0008: invoke-virtual {v0, v1}, Ljava/nio/IntBuffer;.get:(I)I // method@060a │ │ -024726: 0a00 |000b: move-result v0 │ │ -024728: 1401 ffff 0000 |000c: const v1, #float 9.18341e-41 // #0000ffff │ │ -02472e: b510 |000f: and-int/2addr v0, v1 │ │ -024730: 0f00 |0010: return v0 │ │ -024732: 1261 |0011: const/4 v1, #int 6 // #6 │ │ -024734: 3310 0e00 |0012: if-ne v0, v1, 0020 // +000e │ │ -024738: 5430 0b03 |0014: iget-object v0, v3, Lip/IPPacket;.ipHeader:Ljava/nio/IntBuffer; // field@030b │ │ -02473c: 1211 |0016: const/4 v1, #int 1 // #1 │ │ -02473e: 6e20 0a06 1000 |0017: invoke-virtual {v0, v1}, Ljava/nio/IntBuffer;.get:(I)I // method@060a │ │ -024744: 0a00 |001a: move-result v0 │ │ -024746: e200 0010 |001b: ushr-int/lit8 v0, v0, #int 16 // #10 │ │ -02474a: d800 0028 |001d: add-int/lit8 v0, v0, #int 40 // #28 │ │ -02474e: 0f00 |001f: return v0 │ │ -024750: 2200 1d01 |0020: new-instance v0, Ljava/lang/IllegalStateException; // type@011d │ │ -024754: 2201 2d01 |0022: new-instance v1, Ljava/lang/StringBuilder; // type@012d │ │ -024758: 1a02 e201 |0024: const-string v2, "Illegal version:" // string@01e2 │ │ -02475c: 7020 a805 2100 |0026: invoke-direct {v1, v2}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05a8 │ │ -024762: 5232 0e03 |0029: iget v2, v3, Lip/IPPacket;.version:I // field@030e │ │ -024766: 6e20 aa05 2100 |002b: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@05aa │ │ -02476c: 6e10 af05 0100 |002e: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ -024772: 0c01 |0031: move-result-object v1 │ │ -024774: 7020 6105 1000 |0032: invoke-direct {v0, v1}, Ljava/lang/IllegalStateException;.:(Ljava/lang/String;)V // method@0561 │ │ -02477a: 2700 |0035: throw v0 │ │ +0246fc: |[0246fc] ip.IPPacket.getLength:()I │ │ +02470c: 5230 0e03 |0000: iget v0, v3, Lip/IPPacket;.version:I // field@030e │ │ +024710: 1241 |0002: const/4 v1, #int 4 // #4 │ │ +024712: 3310 0e00 |0003: if-ne v0, v1, 0011 // +000e │ │ +024716: 5430 0b03 |0005: iget-object v0, v3, Lip/IPPacket;.ipHeader:Ljava/nio/IntBuffer; // field@030b │ │ +02471a: 1201 |0007: const/4 v1, #int 0 // #0 │ │ +02471c: 6e20 0a06 1000 |0008: invoke-virtual {v0, v1}, Ljava/nio/IntBuffer;.get:(I)I // method@060a │ │ +024722: 0a00 |000b: move-result v0 │ │ +024724: 1401 ffff 0000 |000c: const v1, #float 9.18341e-41 // #0000ffff │ │ +02472a: b510 |000f: and-int/2addr v0, v1 │ │ +02472c: 0f00 |0010: return v0 │ │ +02472e: 1261 |0011: const/4 v1, #int 6 // #6 │ │ +024730: 3310 0e00 |0012: if-ne v0, v1, 0020 // +000e │ │ +024734: 5430 0b03 |0014: iget-object v0, v3, Lip/IPPacket;.ipHeader:Ljava/nio/IntBuffer; // field@030b │ │ +024738: 1211 |0016: const/4 v1, #int 1 // #1 │ │ +02473a: 6e20 0a06 1000 |0017: invoke-virtual {v0, v1}, Ljava/nio/IntBuffer;.get:(I)I // method@060a │ │ +024740: 0a00 |001a: move-result v0 │ │ +024742: e200 0010 |001b: ushr-int/lit8 v0, v0, #int 16 // #10 │ │ +024746: d800 0028 |001d: add-int/lit8 v0, v0, #int 40 // #28 │ │ +02474a: 0f00 |001f: return v0 │ │ +02474c: 2200 1d01 |0020: new-instance v0, Ljava/lang/IllegalStateException; // type@011d │ │ +024750: 2201 2d01 |0022: new-instance v1, Ljava/lang/StringBuilder; // type@012d │ │ +024754: 1a02 e201 |0024: const-string v2, "Illegal version:" // string@01e2 │ │ +024758: 7020 a805 2100 |0026: invoke-direct {v1, v2}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05a8 │ │ +02475e: 5232 0e03 |0029: iget v2, v3, Lip/IPPacket;.version:I // field@030e │ │ +024762: 6e20 aa05 2100 |002b: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@05aa │ │ +024768: 6e10 af05 0100 |002e: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ +02476e: 0c01 |0031: move-result-object v1 │ │ +024770: 7020 6105 1000 |0032: invoke-direct {v0, v1}, Ljava/lang/IllegalStateException;.:(Ljava/lang/String;)V // method@0561 │ │ +024776: 2700 |0035: throw v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=243 │ │ 0x0005 line=244 │ │ 0x0014 line=246 │ │ 0x0020 line=248 │ │ locals : │ │ @@ -25834,17 +25834,17 @@ │ │ type : '()I' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 0 │ │ insns size : 3 16-bit code units │ │ -02477c: |[02477c] ip.IPPacket.getOffset:()I │ │ -02478c: 5210 0d03 |0000: iget v0, v1, Lip/IPPacket;.offset:I // field@030d │ │ -024790: 0f00 |0002: return v0 │ │ +024778: |[024778] ip.IPPacket.getOffset:()I │ │ +024788: 5210 0d03 |0000: iget v0, v1, Lip/IPPacket;.offset:I // field@030d │ │ +02478c: 0f00 |0002: return v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=256 │ │ locals : │ │ 0x0000 - 0x0003 reg=1 this Lip/IPPacket; │ │ │ │ #6 : (in Lip/IPPacket;) │ │ @@ -25852,45 +25852,45 @@ │ │ type : '()I' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 4 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 54 16-bit code units │ │ -024794: |[024794] ip.IPPacket.getProt:()I │ │ -0247a4: 5230 0e03 |0000: iget v0, v3, Lip/IPPacket;.version:I // field@030e │ │ -0247a8: 1241 |0002: const/4 v1, #int 4 // #4 │ │ -0247aa: 3310 0e00 |0003: if-ne v0, v1, 0011 // +000e │ │ -0247ae: 5430 0b03 |0005: iget-object v0, v3, Lip/IPPacket;.ipHeader:Ljava/nio/IntBuffer; // field@030b │ │ -0247b2: 1221 |0007: const/4 v1, #int 2 // #2 │ │ -0247b4: 6e20 0a06 1000 |0008: invoke-virtual {v0, v1}, Ljava/nio/IntBuffer;.get:(I)I // method@060a │ │ -0247ba: 0a00 |000b: move-result v0 │ │ -0247bc: e200 0010 |000c: ushr-int/lit8 v0, v0, #int 16 // #10 │ │ -0247c0: d500 ff00 |000e: and-int/lit16 v0, v0, #int 255 // #00ff │ │ -0247c4: 0f00 |0010: return v0 │ │ -0247c6: 1261 |0011: const/4 v1, #int 6 // #6 │ │ -0247c8: 3310 0c00 |0012: if-ne v0, v1, 001e // +000c │ │ -0247cc: 5430 0b03 |0014: iget-object v0, v3, Lip/IPPacket;.ipHeader:Ljava/nio/IntBuffer; // field@030b │ │ -0247d0: 1211 |0016: const/4 v1, #int 1 // #1 │ │ -0247d2: 6e20 0a06 1000 |0017: invoke-virtual {v0, v1}, Ljava/nio/IntBuffer;.get:(I)I // method@060a │ │ -0247d8: 0a00 |001a: move-result v0 │ │ -0247da: e200 0008 |001b: ushr-int/lit8 v0, v0, #int 8 // #08 │ │ -0247de: 28f1 |001d: goto 000e // -000f │ │ -0247e0: 2200 1d01 |001e: new-instance v0, Ljava/lang/IllegalStateException; // type@011d │ │ -0247e4: 2201 2d01 |0020: new-instance v1, Ljava/lang/StringBuilder; // type@012d │ │ -0247e8: 1a02 e201 |0022: const-string v2, "Illegal version:" // string@01e2 │ │ -0247ec: 7020 a805 2100 |0024: invoke-direct {v1, v2}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05a8 │ │ -0247f2: 5232 0e03 |0027: iget v2, v3, Lip/IPPacket;.version:I // field@030e │ │ -0247f6: 6e20 aa05 2100 |0029: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@05aa │ │ -0247fc: 6e10 af05 0100 |002c: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ -024802: 0c01 |002f: move-result-object v1 │ │ -024804: 7020 6105 1000 |0030: invoke-direct {v0, v1}, Ljava/lang/IllegalStateException;.:(Ljava/lang/String;)V // method@0561 │ │ -02480a: 2802 |0033: goto 0035 // +0002 │ │ -02480c: 2700 |0034: throw v0 │ │ -02480e: 28ff |0035: goto 0034 // -0001 │ │ +024790: |[024790] ip.IPPacket.getProt:()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: 1221 |0007: const/4 v1, #int 2 // #2 │ │ +0247b0: 6e20 0a06 1000 |0008: invoke-virtual {v0, v1}, Ljava/nio/IntBuffer;.get:(I)I // method@060a │ │ +0247b6: 0a00 |000b: move-result v0 │ │ +0247b8: e200 0010 |000c: ushr-int/lit8 v0, v0, #int 16 // #10 │ │ +0247bc: d500 ff00 |000e: and-int/lit16 v0, v0, #int 255 // #00ff │ │ +0247c0: 0f00 |0010: return v0 │ │ +0247c2: 1261 |0011: const/4 v1, #int 6 // #6 │ │ +0247c4: 3310 0c00 |0012: if-ne v0, v1, 001e // +000c │ │ +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 0a06 1000 |0017: invoke-virtual {v0, v1}, Ljava/nio/IntBuffer;.get:(I)I // method@060a │ │ +0247d4: 0a00 |001a: move-result v0 │ │ +0247d6: e200 0008 |001b: ushr-int/lit8 v0, v0, #int 8 // #08 │ │ +0247da: 28f1 |001d: goto 000e // -000f │ │ +0247dc: 2200 1d01 |001e: new-instance v0, Ljava/lang/IllegalStateException; // type@011d │ │ +0247e0: 2201 2d01 |0020: new-instance v1, Ljava/lang/StringBuilder; // type@012d │ │ +0247e4: 1a02 e201 |0022: const-string v2, "Illegal version:" // string@01e2 │ │ +0247e8: 7020 a805 2100 |0024: invoke-direct {v1, v2}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05a8 │ │ +0247ee: 5232 0e03 |0027: iget v2, v3, Lip/IPPacket;.version:I // field@030e │ │ +0247f2: 6e20 aa05 2100 |0029: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@05aa │ │ +0247f8: 6e10 af05 0100 |002c: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ +0247fe: 0c01 |002f: move-result-object v1 │ │ +024800: 7020 6105 1000 |0030: invoke-direct {v0, v1}, Ljava/lang/IllegalStateException;.:(Ljava/lang/String;)V // method@0561 │ │ +024806: 2802 |0033: goto 0035 // +0002 │ │ +024808: 2700 |0034: throw v0 │ │ +02480a: 28ff |0035: goto 0034 // -0001 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=234 │ │ 0x0005 line=235 │ │ 0x0014 line=237 │ │ 0x001e line=239 │ │ locals : │ │ @@ -25901,39 +25901,39 @@ │ │ type : '()[I' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 4 │ │ ins : 1 │ │ outs : 3 │ │ insns size : 43 16-bit code units │ │ -02492c: |[02492c] ip.IPPacket.getSourceIP:()[I │ │ -02493c: 5230 0e03 |0000: iget v0, v3, Lip/IPPacket;.version:I // field@030e │ │ -024940: 1241 |0002: const/4 v1, #int 4 // #4 │ │ -024942: 3310 0900 |0003: if-ne v0, v1, 000c // +0009 │ │ -024946: 1230 |0005: const/4 v0, #int 3 // #3 │ │ -024948: 1211 |0006: const/4 v1, #int 1 // #1 │ │ -02494a: 7030 ad04 0301 |0007: invoke-direct {v3, v0, v1}, Lip/IPPacket;.copyFromHeader:(II)[I // method@04ad │ │ -024950: 0c00 |000a: move-result-object v0 │ │ -024952: 1100 |000b: return-object v0 │ │ -024954: 1262 |000c: const/4 v2, #int 6 // #6 │ │ -024956: 3320 0800 |000d: if-ne v0, v2, 0015 // +0008 │ │ -02495a: 1220 |000f: const/4 v0, #int 2 // #2 │ │ -02495c: 7030 ad04 0301 |0010: invoke-direct {v3, v0, v1}, Lip/IPPacket;.copyFromHeader:(II)[I // method@04ad │ │ -024962: 0c00 |0013: move-result-object v0 │ │ -024964: 1100 |0014: return-object v0 │ │ -024966: 2200 1d01 |0015: new-instance v0, Ljava/lang/IllegalStateException; // type@011d │ │ -02496a: 2201 2d01 |0017: new-instance v1, Ljava/lang/StringBuilder; // type@012d │ │ -02496e: 1a02 e201 |0019: const-string v2, "Illegal version:" // string@01e2 │ │ -024972: 7020 a805 2100 |001b: invoke-direct {v1, v2}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05a8 │ │ -024978: 5232 0e03 |001e: iget v2, v3, Lip/IPPacket;.version:I // field@030e │ │ -02497c: 6e20 aa05 2100 |0020: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@05aa │ │ -024982: 6e10 af05 0100 |0023: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ -024988: 0c01 |0026: move-result-object v1 │ │ -02498a: 7020 6105 1000 |0027: invoke-direct {v0, v1}, Ljava/lang/IllegalStateException;.:(Ljava/lang/String;)V // method@0561 │ │ -024990: 2700 |002a: throw v0 │ │ +024928: |[024928] ip.IPPacket.getSourceIP:()[I │ │ +024938: 5230 0e03 |0000: iget v0, v3, Lip/IPPacket;.version:I // field@030e │ │ +02493c: 1241 |0002: const/4 v1, #int 4 // #4 │ │ +02493e: 3310 0900 |0003: if-ne v0, v1, 000c // +0009 │ │ +024942: 1230 |0005: const/4 v0, #int 3 // #3 │ │ +024944: 1211 |0006: const/4 v1, #int 1 // #1 │ │ +024946: 7030 ad04 0301 |0007: invoke-direct {v3, v0, v1}, Lip/IPPacket;.copyFromHeader:(II)[I // method@04ad │ │ +02494c: 0c00 |000a: move-result-object v0 │ │ +02494e: 1100 |000b: return-object v0 │ │ +024950: 1262 |000c: const/4 v2, #int 6 // #6 │ │ +024952: 3320 0800 |000d: if-ne v0, v2, 0015 // +0008 │ │ +024956: 1220 |000f: const/4 v0, #int 2 // #2 │ │ +024958: 7030 ad04 0301 |0010: invoke-direct {v3, v0, v1}, Lip/IPPacket;.copyFromHeader:(II)[I // method@04ad │ │ +02495e: 0c00 |0013: move-result-object v0 │ │ +024960: 1100 |0014: return-object v0 │ │ +024962: 2200 1d01 |0015: new-instance v0, Ljava/lang/IllegalStateException; // type@011d │ │ +024966: 2201 2d01 |0017: new-instance v1, Ljava/lang/StringBuilder; // type@012d │ │ +02496a: 1a02 e201 |0019: const-string v2, "Illegal version:" // string@01e2 │ │ +02496e: 7020 a805 2100 |001b: invoke-direct {v1, v2}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05a8 │ │ +024974: 5232 0e03 |001e: iget v2, v3, Lip/IPPacket;.version:I // field@030e │ │ +024978: 6e20 aa05 2100 |0020: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@05aa │ │ +02497e: 6e10 af05 0100 |0023: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ +024984: 0c01 |0026: move-result-object v1 │ │ +024986: 7020 6105 1000 |0027: invoke-direct {v0, v1}, Ljava/lang/IllegalStateException;.:(Ljava/lang/String;)V // method@0561 │ │ +02498c: 2700 |002a: throw v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=207 │ │ 0x0007 line=208 │ │ 0x0010 line=210 │ │ 0x0015 line=212 │ │ locals : │ │ @@ -25944,42 +25944,42 @@ │ │ type : '()I' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 4 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 50 16-bit code units │ │ -024810: |[024810] ip.IPPacket.getTTL:()I │ │ -024820: 5230 0e03 |0000: iget v0, v3, Lip/IPPacket;.version:I // field@030e │ │ -024824: 1241 |0002: const/4 v1, #int 4 // #4 │ │ -024826: 3310 0c00 |0003: if-ne v0, v1, 000f // +000c │ │ -02482a: 5430 0b03 |0005: iget-object v0, v3, Lip/IPPacket;.ipHeader:Ljava/nio/IntBuffer; // field@030b │ │ -02482e: 1221 |0007: const/4 v1, #int 2 // #2 │ │ -024830: 6e20 0a06 1000 |0008: invoke-virtual {v0, v1}, Ljava/nio/IntBuffer;.get:(I)I // method@060a │ │ -024836: 0a00 |000b: move-result v0 │ │ -024838: e200 0018 |000c: ushr-int/lit8 v0, v0, #int 24 // #18 │ │ -02483c: 0f00 |000e: return v0 │ │ -02483e: 1261 |000f: const/4 v1, #int 6 // #6 │ │ -024840: 3310 0c00 |0010: if-ne v0, v1, 001c // +000c │ │ -024844: 5430 0b03 |0012: iget-object v0, v3, Lip/IPPacket;.ipHeader:Ljava/nio/IntBuffer; // field@030b │ │ -024848: 1211 |0014: const/4 v1, #int 1 // #1 │ │ -02484a: 6e20 0a06 1000 |0015: invoke-virtual {v0, v1}, Ljava/nio/IntBuffer;.get:(I)I // method@060a │ │ -024850: 0a00 |0018: move-result v0 │ │ -024852: d500 ff00 |0019: and-int/lit16 v0, v0, #int 255 // #00ff │ │ -024856: 0f00 |001b: return v0 │ │ -024858: 2200 1d01 |001c: new-instance v0, Ljava/lang/IllegalStateException; // type@011d │ │ -02485c: 2201 2d01 |001e: new-instance v1, Ljava/lang/StringBuilder; // type@012d │ │ -024860: 1a02 e201 |0020: const-string v2, "Illegal version:" // string@01e2 │ │ -024864: 7020 a805 2100 |0022: invoke-direct {v1, v2}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05a8 │ │ -02486a: 5232 0e03 |0025: iget v2, v3, Lip/IPPacket;.version:I // field@030e │ │ -02486e: 6e20 aa05 2100 |0027: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@05aa │ │ -024874: 6e10 af05 0100 |002a: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ -02487a: 0c01 |002d: move-result-object v1 │ │ -02487c: 7020 6105 1000 |002e: invoke-direct {v0, v1}, Ljava/lang/IllegalStateException;.:(Ljava/lang/String;)V // method@0561 │ │ -024882: 2700 |0031: throw v0 │ │ +02480c: |[02480c] ip.IPPacket.getTTL:()I │ │ +02481c: 5230 0e03 |0000: iget v0, v3, Lip/IPPacket;.version:I // field@030e │ │ +024820: 1241 |0002: const/4 v1, #int 4 // #4 │ │ +024822: 3310 0c00 |0003: if-ne v0, v1, 000f // +000c │ │ +024826: 5430 0b03 |0005: iget-object v0, v3, Lip/IPPacket;.ipHeader:Ljava/nio/IntBuffer; // field@030b │ │ +02482a: 1221 |0007: const/4 v1, #int 2 // #2 │ │ +02482c: 6e20 0a06 1000 |0008: invoke-virtual {v0, v1}, Ljava/nio/IntBuffer;.get:(I)I // method@060a │ │ +024832: 0a00 |000b: move-result v0 │ │ +024834: e200 0018 |000c: ushr-int/lit8 v0, v0, #int 24 // #18 │ │ +024838: 0f00 |000e: return v0 │ │ +02483a: 1261 |000f: const/4 v1, #int 6 // #6 │ │ +02483c: 3310 0c00 |0010: if-ne v0, v1, 001c // +000c │ │ +024840: 5430 0b03 |0012: iget-object v0, v3, Lip/IPPacket;.ipHeader:Ljava/nio/IntBuffer; // field@030b │ │ +024844: 1211 |0014: const/4 v1, #int 1 // #1 │ │ +024846: 6e20 0a06 1000 |0015: invoke-virtual {v0, v1}, Ljava/nio/IntBuffer;.get:(I)I // method@060a │ │ +02484c: 0a00 |0018: move-result v0 │ │ +02484e: d500 ff00 |0019: and-int/lit16 v0, v0, #int 255 // #00ff │ │ +024852: 0f00 |001b: return v0 │ │ +024854: 2200 1d01 |001c: new-instance v0, Ljava/lang/IllegalStateException; // type@011d │ │ +024858: 2201 2d01 |001e: new-instance v1, Ljava/lang/StringBuilder; // type@012d │ │ +02485c: 1a02 e201 |0020: const-string v2, "Illegal version:" // string@01e2 │ │ +024860: 7020 a805 2100 |0022: invoke-direct {v1, v2}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05a8 │ │ +024866: 5232 0e03 |0025: iget v2, v3, Lip/IPPacket;.version:I // field@030e │ │ +02486a: 6e20 aa05 2100 |0027: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@05aa │ │ +024870: 6e10 af05 0100 |002a: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ +024876: 0c01 |002d: move-result-object v1 │ │ +024878: 7020 6105 1000 |002e: invoke-direct {v0, v1}, Ljava/lang/IllegalStateException;.:(Ljava/lang/String;)V // method@0561 │ │ +02487e: 2700 |0031: throw v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=225 │ │ 0x0005 line=226 │ │ 0x0012 line=228 │ │ 0x001c line=230 │ │ locals : │ │ @@ -25990,17 +25990,17 @@ │ │ type : '()I' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 0 │ │ insns size : 3 16-bit code units │ │ -024884: |[024884] ip.IPPacket.getVersion:()I │ │ -024894: 5210 0e03 |0000: iget v0, v1, Lip/IPPacket;.version:I // field@030e │ │ -024898: 0f00 |0002: return v0 │ │ +024880: |[024880] ip.IPPacket.getVersion:()I │ │ +024890: 5210 0e03 |0000: iget v0, v1, Lip/IPPacket;.version:I // field@030e │ │ +024894: 0f00 |0002: return v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=196 │ │ locals : │ │ 0x0000 - 0x0003 reg=1 this Lip/IPPacket; │ │ │ │ #10 : (in Lip/IPPacket;) │ │ @@ -26008,74 +26008,74 @@ │ │ type : '(II[I[I)V' │ │ access : 0x0004 (PROTECTED) │ │ code - │ │ registers : 8 │ │ ins : 5 │ │ outs : 5 │ │ insns size : 116 16-bit code units │ │ -024e00: |[024e00] ip.IPPacket.initIPHeader:(II[I[I)V │ │ -024e10: 5230 0e03 |0000: iget v0, v3, Lip/IPPacket;.version:I // field@030e │ │ -024e14: 1241 |0002: const/4 v1, #int 4 // #4 │ │ -024e16: 1202 |0003: const/4 v2, #int 0 // #0 │ │ -024e18: 3310 3200 |0004: if-ne v0, v1, 0036 // +0032 │ │ -024e1c: 1500 0045 |0006: const/high16 v0, #int 1157627904 // #4500 │ │ -024e20: 5231 0c03 |0008: iget v1, v3, Lip/IPPacket;.len:I // field@030c │ │ -024e24: b001 |000a: add-int/2addr v1, v0 │ │ -024e26: 7100 b004 0000 |000b: invoke-static {}, Lip/IPPacket;.generateId:()I // method@04b0 │ │ -024e2c: 0a00 |000e: move-result v0 │ │ -024e2e: e004 0418 |000f: shl-int/lit8 v4, v4, #int 24 // #18 │ │ -024e32: e005 0510 |0011: shl-int/lit8 v5, v5, #int 16 // #10 │ │ -024e36: b054 |0013: add-int/2addr v4, v5 │ │ -024e38: 4405 0602 |0014: aget v5, v6, v2 │ │ -024e3c: 4406 0702 |0016: aget v6, v7, v2 │ │ -024e40: 2456 9e01 0154 |0018: filled-new-array {v1, v0, v4, v5, v6}, [I // type@019e │ │ -024e46: 0c04 |001b: move-result-object v4 │ │ -024e48: 5435 0b03 |001c: iget-object v5, v3, Lip/IPPacket;.ipHeader:Ljava/nio/IntBuffer; // field@030b │ │ -024e4c: 6e20 0d06 2500 |001e: invoke-virtual {v5, v2}, Ljava/nio/IntBuffer;.position:(I)Ljava/nio/Buffer; // method@060d │ │ -024e52: 5435 0b03 |0021: iget-object v5, v3, Lip/IPPacket;.ipHeader:Ljava/nio/IntBuffer; // field@030b │ │ -024e56: 6e20 1006 4500 |0023: invoke-virtual {v5, v4}, Ljava/nio/IntBuffer;.put:([I)Ljava/nio/IntBuffer; // method@0610 │ │ -024e5c: 1225 |0026: const/4 v5, #int 2 // #2 │ │ -024e5e: 4406 0405 |0027: aget v6, v4, v5 │ │ -024e62: 7010 ab04 0300 |0029: invoke-direct {v3}, Lip/IPPacket;.calculateCheckSum:()I // method@04ab │ │ -024e68: 0a07 |002c: move-result v7 │ │ -024e6a: b076 |002d: add-int/2addr v6, v7 │ │ -024e6c: 4b06 0405 |002e: aput v6, v4, v5 │ │ -024e70: 5434 0b03 |0030: iget-object v4, v3, Lip/IPPacket;.ipHeader:Ljava/nio/IntBuffer; // field@030b │ │ -024e74: 6e30 0f06 5406 |0032: invoke-virtual {v4, v5, v6}, Ljava/nio/IntBuffer;.put:(II)Ljava/nio/IntBuffer; // method@060f │ │ -024e7a: 2828 |0035: goto 005d // +0028 │ │ -024e7c: 1261 |0036: const/4 v1, #int 6 // #6 │ │ -024e7e: 3310 2700 |0037: if-ne v0, v1, 005e // +0027 │ │ -024e82: e000 001c |0039: shl-int/lit8 v0, v0, #int 28 // #1c │ │ -024e86: 5231 0c03 |003b: iget v1, v3, Lip/IPPacket;.len:I // field@030c │ │ -024e8a: d801 01d8 |003d: add-int/lit8 v1, v1, #int -40 // #d8 │ │ -024e8e: e001 0110 |003f: shl-int/lit8 v1, v1, #int 16 // #10 │ │ -024e92: e005 0508 |0041: shl-int/lit8 v5, v5, #int 8 // #08 │ │ -024e96: b051 |0043: add-int/2addr v1, v5 │ │ -024e98: b041 |0044: add-int/2addr v1, v4 │ │ -024e9a: 2420 9e01 1000 |0045: filled-new-array {v0, v1}, [I // type@019e │ │ -024ea0: 0c04 |0048: move-result-object v4 │ │ -024ea2: 5435 0b03 |0049: iget-object v5, v3, Lip/IPPacket;.ipHeader:Ljava/nio/IntBuffer; // field@030b │ │ -024ea6: 6e20 0d06 2500 |004b: invoke-virtual {v5, v2}, Ljava/nio/IntBuffer;.position:(I)Ljava/nio/Buffer; // method@060d │ │ -024eac: 5435 0b03 |004e: iget-object v5, v3, Lip/IPPacket;.ipHeader:Ljava/nio/IntBuffer; // field@030b │ │ -024eb0: 6e20 1006 4500 |0050: invoke-virtual {v5, v4}, Ljava/nio/IntBuffer;.put:([I)Ljava/nio/IntBuffer; // method@0610 │ │ -024eb6: 5434 0b03 |0053: iget-object v4, v3, Lip/IPPacket;.ipHeader:Ljava/nio/IntBuffer; // field@030b │ │ -024eba: 6e20 1006 6400 |0055: invoke-virtual {v4, v6}, Ljava/nio/IntBuffer;.put:([I)Ljava/nio/IntBuffer; // method@0610 │ │ -024ec0: 5434 0b03 |0058: iget-object v4, v3, Lip/IPPacket;.ipHeader:Ljava/nio/IntBuffer; // field@030b │ │ -024ec4: 6e20 1006 7400 |005a: invoke-virtual {v4, v7}, Ljava/nio/IntBuffer;.put:([I)Ljava/nio/IntBuffer; // method@0610 │ │ -024eca: 0e00 |005d: return-void │ │ -024ecc: 2204 1d01 |005e: new-instance v4, Ljava/lang/IllegalStateException; // type@011d │ │ -024ed0: 2205 2d01 |0060: new-instance v5, Ljava/lang/StringBuilder; // type@012d │ │ -024ed4: 1a06 e201 |0062: const-string v6, "Illegal version:" // string@01e2 │ │ -024ed8: 7020 a805 6500 |0064: invoke-direct {v5, v6}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05a8 │ │ -024ede: 5236 0e03 |0067: iget v6, v3, Lip/IPPacket;.version:I // field@030e │ │ -024ee2: 6e20 aa05 6500 |0069: invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@05aa │ │ -024ee8: 6e10 af05 0500 |006c: invoke-virtual {v5}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ -024eee: 0c05 |006f: move-result-object v5 │ │ -024ef0: 7020 6105 5400 |0070: invoke-direct {v4, v5}, Ljava/lang/IllegalStateException;.:(Ljava/lang/String;)V // method@0561 │ │ -024ef6: 2704 |0073: throw v4 │ │ +024dfc: |[024dfc] ip.IPPacket.initIPHeader:(II[I[I)V │ │ +024e0c: 5230 0e03 |0000: iget v0, v3, Lip/IPPacket;.version:I // field@030e │ │ +024e10: 1241 |0002: const/4 v1, #int 4 // #4 │ │ +024e12: 1202 |0003: const/4 v2, #int 0 // #0 │ │ +024e14: 3310 3200 |0004: if-ne v0, v1, 0036 // +0032 │ │ +024e18: 1500 0045 |0006: const/high16 v0, #int 1157627904 // #4500 │ │ +024e1c: 5231 0c03 |0008: iget v1, v3, Lip/IPPacket;.len:I // field@030c │ │ +024e20: b001 |000a: add-int/2addr v1, v0 │ │ +024e22: 7100 b004 0000 |000b: invoke-static {}, Lip/IPPacket;.generateId:()I // method@04b0 │ │ +024e28: 0a00 |000e: move-result v0 │ │ +024e2a: e004 0418 |000f: shl-int/lit8 v4, v4, #int 24 // #18 │ │ +024e2e: e005 0510 |0011: shl-int/lit8 v5, v5, #int 16 // #10 │ │ +024e32: b054 |0013: add-int/2addr v4, v5 │ │ +024e34: 4405 0602 |0014: aget v5, v6, v2 │ │ +024e38: 4406 0702 |0016: aget v6, v7, v2 │ │ +024e3c: 2456 9e01 0154 |0018: filled-new-array {v1, v0, v4, v5, v6}, [I // type@019e │ │ +024e42: 0c04 |001b: move-result-object v4 │ │ +024e44: 5435 0b03 |001c: iget-object v5, v3, Lip/IPPacket;.ipHeader:Ljava/nio/IntBuffer; // field@030b │ │ +024e48: 6e20 0d06 2500 |001e: invoke-virtual {v5, v2}, Ljava/nio/IntBuffer;.position:(I)Ljava/nio/Buffer; // method@060d │ │ +024e4e: 5435 0b03 |0021: iget-object v5, v3, Lip/IPPacket;.ipHeader:Ljava/nio/IntBuffer; // field@030b │ │ +024e52: 6e20 1006 4500 |0023: invoke-virtual {v5, v4}, Ljava/nio/IntBuffer;.put:([I)Ljava/nio/IntBuffer; // method@0610 │ │ +024e58: 1225 |0026: const/4 v5, #int 2 // #2 │ │ +024e5a: 4406 0405 |0027: aget v6, v4, v5 │ │ +024e5e: 7010 ab04 0300 |0029: invoke-direct {v3}, Lip/IPPacket;.calculateCheckSum:()I // method@04ab │ │ +024e64: 0a07 |002c: move-result v7 │ │ +024e66: b076 |002d: add-int/2addr v6, v7 │ │ +024e68: 4b06 0405 |002e: aput v6, v4, v5 │ │ +024e6c: 5434 0b03 |0030: iget-object v4, v3, Lip/IPPacket;.ipHeader:Ljava/nio/IntBuffer; // field@030b │ │ +024e70: 6e30 0f06 5406 |0032: invoke-virtual {v4, v5, v6}, Ljava/nio/IntBuffer;.put:(II)Ljava/nio/IntBuffer; // method@060f │ │ +024e76: 2828 |0035: goto 005d // +0028 │ │ +024e78: 1261 |0036: const/4 v1, #int 6 // #6 │ │ +024e7a: 3310 2700 |0037: if-ne v0, v1, 005e // +0027 │ │ +024e7e: e000 001c |0039: shl-int/lit8 v0, v0, #int 28 // #1c │ │ +024e82: 5231 0c03 |003b: iget v1, v3, Lip/IPPacket;.len:I // field@030c │ │ +024e86: d801 01d8 |003d: add-int/lit8 v1, v1, #int -40 // #d8 │ │ +024e8a: e001 0110 |003f: shl-int/lit8 v1, v1, #int 16 // #10 │ │ +024e8e: e005 0508 |0041: shl-int/lit8 v5, v5, #int 8 // #08 │ │ +024e92: b051 |0043: add-int/2addr v1, v5 │ │ +024e94: b041 |0044: add-int/2addr v1, v4 │ │ +024e96: 2420 9e01 1000 |0045: filled-new-array {v0, v1}, [I // type@019e │ │ +024e9c: 0c04 |0048: move-result-object v4 │ │ +024e9e: 5435 0b03 |0049: iget-object v5, v3, Lip/IPPacket;.ipHeader:Ljava/nio/IntBuffer; // field@030b │ │ +024ea2: 6e20 0d06 2500 |004b: invoke-virtual {v5, v2}, Ljava/nio/IntBuffer;.position:(I)Ljava/nio/Buffer; // method@060d │ │ +024ea8: 5435 0b03 |004e: iget-object v5, v3, Lip/IPPacket;.ipHeader:Ljava/nio/IntBuffer; // field@030b │ │ +024eac: 6e20 1006 4500 |0050: invoke-virtual {v5, v4}, Ljava/nio/IntBuffer;.put:([I)Ljava/nio/IntBuffer; // method@0610 │ │ +024eb2: 5434 0b03 |0053: iget-object v4, v3, Lip/IPPacket;.ipHeader:Ljava/nio/IntBuffer; // field@030b │ │ +024eb6: 6e20 1006 6400 |0055: invoke-virtual {v4, v6}, Ljava/nio/IntBuffer;.put:([I)Ljava/nio/IntBuffer; // method@0610 │ │ +024ebc: 5434 0b03 |0058: iget-object v4, v3, Lip/IPPacket;.ipHeader:Ljava/nio/IntBuffer; // field@030b │ │ +024ec0: 6e20 1006 7400 |005a: invoke-virtual {v4, v7}, Ljava/nio/IntBuffer;.put:([I)Ljava/nio/IntBuffer; // method@0610 │ │ +024ec6: 0e00 |005d: return-void │ │ +024ec8: 2204 1d01 |005e: new-instance v4, Ljava/lang/IllegalStateException; // type@011d │ │ +024ecc: 2205 2d01 |0060: new-instance v5, Ljava/lang/StringBuilder; // type@012d │ │ +024ed0: 1a06 e201 |0062: const-string v6, "Illegal version:" // string@01e2 │ │ +024ed4: 7020 a805 6500 |0064: invoke-direct {v5, v6}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05a8 │ │ +024eda: 5236 0e03 |0067: iget v6, v3, Lip/IPPacket;.version:I // field@030e │ │ +024ede: 6e20 aa05 6500 |0069: invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@05aa │ │ +024ee4: 6e10 af05 0500 |006c: invoke-virtual {v5}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ +024eea: 0c05 |006f: move-result-object v5 │ │ +024eec: 7020 6105 5400 |0070: invoke-direct {v4, v5}, Ljava/lang/IllegalStateException;.:(Ljava/lang/String;)V // method@0561 │ │ +024ef2: 2704 |0073: throw v4 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=60 │ │ 0x0008 line=62 │ │ 0x000b line=63 │ │ 0x0014 line=65 │ │ 0x0016 line=66 │ │ @@ -26101,54 +26101,54 @@ │ │ type : '()V' │ │ access : 0x0004 (PROTECTED) │ │ code - │ │ registers : 4 │ │ ins : 1 │ │ outs : 5 │ │ insns size : 78 16-bit code units │ │ -024ef8: |[024ef8] ip.IPPacket.initInitialIPHeader:()V │ │ -024f08: 5230 0e03 |0000: iget v0, v3, Lip/IPPacket;.version:I // field@030e │ │ -024f0c: 1241 |0002: const/4 v1, #int 4 // #4 │ │ -024f0e: 1202 |0003: const/4 v2, #int 0 // #0 │ │ -024f10: 3310 1a00 |0004: if-ne v0, v1, 001e // +001a │ │ -024f14: 1500 0045 |0006: const/high16 v0, #int 1157627904 // #4500 │ │ -024f18: 5231 0c03 |0008: iget v1, v3, Lip/IPPacket;.len:I // field@030c │ │ -024f1c: b001 |000a: add-int/2addr v1, v0 │ │ -024f1e: 7100 b004 0000 |000b: invoke-static {}, Lip/IPPacket;.generateId:()I // method@04b0 │ │ -024f24: 0a00 |000e: move-result v0 │ │ -024f26: 2452 9e01 0122 |000f: filled-new-array {v1, v0, v2, v2, v2}, [I // type@019e │ │ -024f2c: 0c00 |0012: move-result-object v0 │ │ -024f2e: 5431 0b03 |0013: iget-object v1, v3, Lip/IPPacket;.ipHeader:Ljava/nio/IntBuffer; // field@030b │ │ -024f32: 6e20 0d06 2100 |0015: invoke-virtual {v1, v2}, Ljava/nio/IntBuffer;.position:(I)Ljava/nio/Buffer; // method@060d │ │ -024f38: 5431 0b03 |0018: iget-object v1, v3, Lip/IPPacket;.ipHeader:Ljava/nio/IntBuffer; // field@030b │ │ -024f3c: 6e20 1006 0100 |001a: invoke-virtual {v1, v0}, Ljava/nio/IntBuffer;.put:([I)Ljava/nio/IntBuffer; // method@0610 │ │ -024f42: 281a |001d: goto 0037 // +001a │ │ -024f44: 1261 |001e: const/4 v1, #int 6 // #6 │ │ -024f46: 3310 1900 |001f: if-ne v0, v1, 0038 // +0019 │ │ -024f4a: e000 001c |0021: shl-int/lit8 v0, v0, #int 28 // #1c │ │ -024f4e: 5231 0c03 |0023: iget v1, v3, Lip/IPPacket;.len:I // field@030c │ │ -024f52: d801 01d8 |0025: add-int/lit8 v1, v1, #int -40 // #d8 │ │ -024f56: e001 0110 |0027: shl-int/lit8 v1, v1, #int 16 // #10 │ │ -024f5a: 2420 9e01 1000 |0029: filled-new-array {v0, v1}, [I // type@019e │ │ -024f60: 0c00 |002c: move-result-object v0 │ │ -024f62: 5431 0b03 |002d: iget-object v1, v3, Lip/IPPacket;.ipHeader:Ljava/nio/IntBuffer; // field@030b │ │ -024f66: 6e20 0d06 2100 |002f: invoke-virtual {v1, v2}, Ljava/nio/IntBuffer;.position:(I)Ljava/nio/Buffer; // method@060d │ │ -024f6c: 5431 0b03 |0032: iget-object v1, v3, Lip/IPPacket;.ipHeader:Ljava/nio/IntBuffer; // field@030b │ │ -024f70: 6e20 1006 0100 |0034: invoke-virtual {v1, v0}, Ljava/nio/IntBuffer;.put:([I)Ljava/nio/IntBuffer; // method@0610 │ │ -024f76: 0e00 |0037: return-void │ │ -024f78: 2200 1d01 |0038: new-instance v0, Ljava/lang/IllegalStateException; // type@011d │ │ -024f7c: 2201 2d01 |003a: new-instance v1, Ljava/lang/StringBuilder; // type@012d │ │ -024f80: 1a02 e201 |003c: const-string v2, "Illegal version:" // string@01e2 │ │ -024f84: 7020 a805 2100 |003e: invoke-direct {v1, v2}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05a8 │ │ -024f8a: 5232 0e03 |0041: iget v2, v3, Lip/IPPacket;.version:I // field@030e │ │ -024f8e: 6e20 aa05 2100 |0043: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@05aa │ │ -024f94: 6e10 af05 0100 |0046: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ -024f9a: 0c01 |0049: move-result-object v1 │ │ -024f9c: 7020 6105 1000 |004a: invoke-direct {v0, v1}, Ljava/lang/IllegalStateException;.:(Ljava/lang/String;)V // method@0561 │ │ -024fa2: 2700 |004d: throw v0 │ │ +024ef4: |[024ef4] ip.IPPacket.initInitialIPHeader:()V │ │ +024f04: 5230 0e03 |0000: iget v0, v3, Lip/IPPacket;.version:I // field@030e │ │ +024f08: 1241 |0002: const/4 v1, #int 4 // #4 │ │ +024f0a: 1202 |0003: const/4 v2, #int 0 // #0 │ │ +024f0c: 3310 1a00 |0004: if-ne v0, v1, 001e // +001a │ │ +024f10: 1500 0045 |0006: const/high16 v0, #int 1157627904 // #4500 │ │ +024f14: 5231 0c03 |0008: iget v1, v3, Lip/IPPacket;.len:I // field@030c │ │ +024f18: b001 |000a: add-int/2addr v1, v0 │ │ +024f1a: 7100 b004 0000 |000b: invoke-static {}, Lip/IPPacket;.generateId:()I // method@04b0 │ │ +024f20: 0a00 |000e: move-result v0 │ │ +024f22: 2452 9e01 0122 |000f: filled-new-array {v1, v0, v2, v2, v2}, [I // type@019e │ │ +024f28: 0c00 |0012: move-result-object v0 │ │ +024f2a: 5431 0b03 |0013: iget-object v1, v3, Lip/IPPacket;.ipHeader:Ljava/nio/IntBuffer; // field@030b │ │ +024f2e: 6e20 0d06 2100 |0015: invoke-virtual {v1, v2}, Ljava/nio/IntBuffer;.position:(I)Ljava/nio/Buffer; // method@060d │ │ +024f34: 5431 0b03 |0018: iget-object v1, v3, Lip/IPPacket;.ipHeader:Ljava/nio/IntBuffer; // field@030b │ │ +024f38: 6e20 1006 0100 |001a: invoke-virtual {v1, v0}, Ljava/nio/IntBuffer;.put:([I)Ljava/nio/IntBuffer; // method@0610 │ │ +024f3e: 281a |001d: goto 0037 // +001a │ │ +024f40: 1261 |001e: const/4 v1, #int 6 // #6 │ │ +024f42: 3310 1900 |001f: if-ne v0, v1, 0038 // +0019 │ │ +024f46: e000 001c |0021: shl-int/lit8 v0, v0, #int 28 // #1c │ │ +024f4a: 5231 0c03 |0023: iget v1, v3, Lip/IPPacket;.len:I // field@030c │ │ +024f4e: d801 01d8 |0025: add-int/lit8 v1, v1, #int -40 // #d8 │ │ +024f52: e001 0110 |0027: shl-int/lit8 v1, v1, #int 16 // #10 │ │ +024f56: 2420 9e01 1000 |0029: filled-new-array {v0, v1}, [I // type@019e │ │ +024f5c: 0c00 |002c: move-result-object v0 │ │ +024f5e: 5431 0b03 |002d: iget-object v1, v3, Lip/IPPacket;.ipHeader:Ljava/nio/IntBuffer; // field@030b │ │ +024f62: 6e20 0d06 2100 |002f: invoke-virtual {v1, v2}, Ljava/nio/IntBuffer;.position:(I)Ljava/nio/Buffer; // method@060d │ │ +024f68: 5431 0b03 |0032: iget-object v1, v3, Lip/IPPacket;.ipHeader:Ljava/nio/IntBuffer; // field@030b │ │ +024f6c: 6e20 1006 0100 |0034: invoke-virtual {v1, v0}, Ljava/nio/IntBuffer;.put:([I)Ljava/nio/IntBuffer; // method@0610 │ │ +024f72: 0e00 |0037: return-void │ │ +024f74: 2200 1d01 |0038: new-instance v0, Ljava/lang/IllegalStateException; // type@011d │ │ +024f78: 2201 2d01 |003a: new-instance v1, Ljava/lang/StringBuilder; // type@012d │ │ +024f7c: 1a02 e201 |003c: const-string v2, "Illegal version:" // string@01e2 │ │ +024f80: 7020 a805 2100 |003e: invoke-direct {v1, v2}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05a8 │ │ +024f86: 5232 0e03 |0041: iget v2, v3, Lip/IPPacket;.version:I // field@030e │ │ +024f8a: 6e20 aa05 2100 |0043: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@05aa │ │ +024f90: 6e10 af05 0100 |0046: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ +024f96: 0c01 |0049: move-result-object v1 │ │ +024f98: 7020 6105 1000 |004a: invoke-direct {v0, v1}, Ljava/lang/IllegalStateException;.:(Ljava/lang/String;)V // method@0561 │ │ +024f9e: 2700 |004d: throw v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=86 │ │ 0x0008 line=88 │ │ 0x000b line=89 │ │ 0x000f line=92 │ │ 0x0013 line=93 │ │ @@ -26165,76 +26165,76 @@ │ │ type : '(II[I[I)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 9 │ │ ins : 5 │ │ outs : 3 │ │ insns size : 120 16-bit code units │ │ -024fa4: |[024fa4] ip.IPPacket.updateHeader:(II[I[I)V │ │ -024fb4: 5240 0e03 |0000: iget v0, v4, Lip/IPPacket;.version:I // field@030e │ │ -024fb8: 1241 |0002: const/4 v1, #int 4 // #4 │ │ -024fba: 1212 |0003: const/4 v2, #int 1 // #1 │ │ -024fbc: 3310 3900 |0004: if-ne v0, v1, 003d // +0039 │ │ -024fc0: 1230 |0006: const/4 v0, #int 3 // #3 │ │ -024fc2: 2300 9e01 |0007: new-array v0, v0, [I // type@019e │ │ -024fc6: 5441 0b03 |0009: iget-object v1, v4, Lip/IPPacket;.ipHeader:Ljava/nio/IntBuffer; // field@030b │ │ -024fca: 1223 |000b: const/4 v3, #int 2 // #2 │ │ -024fcc: 6e20 0d06 3100 |000c: invoke-virtual {v1, v3}, Ljava/nio/IntBuffer;.position:(I)Ljava/nio/Buffer; // method@060d │ │ -024fd2: 5441 0b03 |000f: iget-object v1, v4, Lip/IPPacket;.ipHeader:Ljava/nio/IntBuffer; // field@030b │ │ -024fd6: 6e20 0b06 0100 |0011: invoke-virtual {v1, v0}, Ljava/nio/IntBuffer;.get:([I)Ljava/nio/IntBuffer; // method@060b │ │ -024fdc: e005 0518 |0014: shl-int/lit8 v5, v5, #int 24 // #18 │ │ -024fe0: e006 0610 |0016: shl-int/lit8 v6, v6, #int 16 // #10 │ │ -024fe4: b065 |0018: add-int/2addr v5, v6 │ │ -024fe6: 1206 |0019: const/4 v6, #int 0 // #0 │ │ -024fe8: 4b05 0006 |001a: aput v5, v0, v6 │ │ -024fec: 4405 0706 |001c: aget v5, v7, v6 │ │ -024ff0: 4b05 0002 |001e: aput v5, v0, v2 │ │ -024ff4: 4405 0806 |0020: aget v5, v8, v6 │ │ -024ff8: 4b05 0003 |0022: aput v5, v0, v3 │ │ -024ffc: 5445 0b03 |0024: iget-object v5, v4, Lip/IPPacket;.ipHeader:Ljava/nio/IntBuffer; // field@030b │ │ -025000: 6e20 0d06 3500 |0026: invoke-virtual {v5, v3}, Ljava/nio/IntBuffer;.position:(I)Ljava/nio/Buffer; // method@060d │ │ -025006: 5445 0b03 |0029: iget-object v5, v4, Lip/IPPacket;.ipHeader:Ljava/nio/IntBuffer; // field@030b │ │ -02500a: 6e20 1006 0500 |002b: invoke-virtual {v5, v0}, Ljava/nio/IntBuffer;.put:([I)Ljava/nio/IntBuffer; // method@0610 │ │ -025010: 4405 0006 |002e: aget v5, v0, v6 │ │ -025014: 7010 ab04 0400 |0030: invoke-direct {v4}, Lip/IPPacket;.calculateCheckSum:()I // method@04ab │ │ -02501a: 0a07 |0033: move-result v7 │ │ -02501c: b075 |0034: add-int/2addr v5, v7 │ │ -02501e: 4b05 0006 |0035: aput v5, v0, v6 │ │ -025022: 5446 0b03 |0037: iget-object v6, v4, Lip/IPPacket;.ipHeader:Ljava/nio/IntBuffer; // field@030b │ │ -025026: 6e30 0f06 3605 |0039: invoke-virtual {v6, v3, v5}, Ljava/nio/IntBuffer;.put:(II)Ljava/nio/IntBuffer; // method@060f │ │ -02502c: 2825 |003c: goto 0061 // +0025 │ │ -02502e: 1261 |003d: const/4 v1, #int 6 // #6 │ │ -025030: 3310 2400 |003e: if-ne v0, v1, 0062 // +0024 │ │ -025034: 5440 0b03 |0040: iget-object v0, v4, Lip/IPPacket;.ipHeader:Ljava/nio/IntBuffer; // field@030b │ │ -025038: 6e20 0a06 2000 |0042: invoke-virtual {v0, v2}, Ljava/nio/IntBuffer;.get:(I)I // method@060a │ │ -02503e: 0a00 |0045: move-result v0 │ │ -025040: 1501 ffff |0046: const/high16 v1, #int -65536 // #ffff │ │ -025044: b510 |0048: and-int/2addr v0, v1 │ │ -025046: e006 0608 |0049: shl-int/lit8 v6, v6, #int 8 // #08 │ │ -02504a: b060 |004b: add-int/2addr v0, v6 │ │ -02504c: b050 |004c: add-int/2addr v0, v5 │ │ -02504e: 5445 0b03 |004d: iget-object v5, v4, Lip/IPPacket;.ipHeader:Ljava/nio/IntBuffer; // field@030b │ │ -025052: 6e20 0d06 2500 |004f: invoke-virtual {v5, v2}, Ljava/nio/IntBuffer;.position:(I)Ljava/nio/Buffer; // method@060d │ │ -025058: 5445 0b03 |0052: iget-object v5, v4, Lip/IPPacket;.ipHeader:Ljava/nio/IntBuffer; // field@030b │ │ -02505c: 6e20 0e06 0500 |0054: invoke-virtual {v5, v0}, Ljava/nio/IntBuffer;.put:(I)Ljava/nio/IntBuffer; // method@060e │ │ -025062: 5445 0b03 |0057: iget-object v5, v4, Lip/IPPacket;.ipHeader:Ljava/nio/IntBuffer; // field@030b │ │ -025066: 6e20 1006 7500 |0059: invoke-virtual {v5, v7}, Ljava/nio/IntBuffer;.put:([I)Ljava/nio/IntBuffer; // method@0610 │ │ -02506c: 5445 0b03 |005c: iget-object v5, v4, Lip/IPPacket;.ipHeader:Ljava/nio/IntBuffer; // field@030b │ │ -025070: 6e20 1006 8500 |005e: invoke-virtual {v5, v8}, Ljava/nio/IntBuffer;.put:([I)Ljava/nio/IntBuffer; // method@0610 │ │ -025076: 0e00 |0061: return-void │ │ -025078: 2205 1d01 |0062: new-instance v5, Ljava/lang/IllegalStateException; // type@011d │ │ -02507c: 2206 2d01 |0064: new-instance v6, Ljava/lang/StringBuilder; // type@012d │ │ -025080: 1a07 e201 |0066: const-string v7, "Illegal version:" // string@01e2 │ │ -025084: 7020 a805 7600 |0068: invoke-direct {v6, v7}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05a8 │ │ -02508a: 5247 0e03 |006b: iget v7, v4, Lip/IPPacket;.version:I // field@030e │ │ -02508e: 6e20 aa05 7600 |006d: invoke-virtual {v6, v7}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@05aa │ │ -025094: 6e10 af05 0600 |0070: invoke-virtual {v6}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ -02509a: 0c06 |0073: move-result-object v6 │ │ -02509c: 7020 6105 6500 |0074: invoke-direct {v5, v6}, Ljava/lang/IllegalStateException;.:(Ljava/lang/String;)V // method@0561 │ │ -0250a2: 2705 |0077: throw v5 │ │ +024fa0: |[024fa0] ip.IPPacket.updateHeader:(II[I[I)V │ │ +024fb0: 5240 0e03 |0000: iget v0, v4, Lip/IPPacket;.version:I // field@030e │ │ +024fb4: 1241 |0002: const/4 v1, #int 4 // #4 │ │ +024fb6: 1212 |0003: const/4 v2, #int 1 // #1 │ │ +024fb8: 3310 3900 |0004: if-ne v0, v1, 003d // +0039 │ │ +024fbc: 1230 |0006: const/4 v0, #int 3 // #3 │ │ +024fbe: 2300 9e01 |0007: new-array v0, v0, [I // type@019e │ │ +024fc2: 5441 0b03 |0009: iget-object v1, v4, Lip/IPPacket;.ipHeader:Ljava/nio/IntBuffer; // field@030b │ │ +024fc6: 1223 |000b: const/4 v3, #int 2 // #2 │ │ +024fc8: 6e20 0d06 3100 |000c: invoke-virtual {v1, v3}, Ljava/nio/IntBuffer;.position:(I)Ljava/nio/Buffer; // method@060d │ │ +024fce: 5441 0b03 |000f: iget-object v1, v4, Lip/IPPacket;.ipHeader:Ljava/nio/IntBuffer; // field@030b │ │ +024fd2: 6e20 0b06 0100 |0011: invoke-virtual {v1, v0}, Ljava/nio/IntBuffer;.get:([I)Ljava/nio/IntBuffer; // method@060b │ │ +024fd8: e005 0518 |0014: shl-int/lit8 v5, v5, #int 24 // #18 │ │ +024fdc: e006 0610 |0016: shl-int/lit8 v6, v6, #int 16 // #10 │ │ +024fe0: b065 |0018: add-int/2addr v5, v6 │ │ +024fe2: 1206 |0019: const/4 v6, #int 0 // #0 │ │ +024fe4: 4b05 0006 |001a: aput v5, v0, v6 │ │ +024fe8: 4405 0706 |001c: aget v5, v7, v6 │ │ +024fec: 4b05 0002 |001e: aput v5, v0, v2 │ │ +024ff0: 4405 0806 |0020: aget v5, v8, v6 │ │ +024ff4: 4b05 0003 |0022: aput v5, v0, v3 │ │ +024ff8: 5445 0b03 |0024: iget-object v5, v4, Lip/IPPacket;.ipHeader:Ljava/nio/IntBuffer; // field@030b │ │ +024ffc: 6e20 0d06 3500 |0026: invoke-virtual {v5, v3}, Ljava/nio/IntBuffer;.position:(I)Ljava/nio/Buffer; // method@060d │ │ +025002: 5445 0b03 |0029: iget-object v5, v4, Lip/IPPacket;.ipHeader:Ljava/nio/IntBuffer; // field@030b │ │ +025006: 6e20 1006 0500 |002b: invoke-virtual {v5, v0}, Ljava/nio/IntBuffer;.put:([I)Ljava/nio/IntBuffer; // method@0610 │ │ +02500c: 4405 0006 |002e: aget v5, v0, v6 │ │ +025010: 7010 ab04 0400 |0030: invoke-direct {v4}, Lip/IPPacket;.calculateCheckSum:()I // method@04ab │ │ +025016: 0a07 |0033: move-result v7 │ │ +025018: b075 |0034: add-int/2addr v5, v7 │ │ +02501a: 4b05 0006 |0035: aput v5, v0, v6 │ │ +02501e: 5446 0b03 |0037: iget-object v6, v4, Lip/IPPacket;.ipHeader:Ljava/nio/IntBuffer; // field@030b │ │ +025022: 6e30 0f06 3605 |0039: invoke-virtual {v6, v3, v5}, Ljava/nio/IntBuffer;.put:(II)Ljava/nio/IntBuffer; // method@060f │ │ +025028: 2825 |003c: goto 0061 // +0025 │ │ +02502a: 1261 |003d: const/4 v1, #int 6 // #6 │ │ +02502c: 3310 2400 |003e: if-ne v0, v1, 0062 // +0024 │ │ +025030: 5440 0b03 |0040: iget-object v0, v4, Lip/IPPacket;.ipHeader:Ljava/nio/IntBuffer; // field@030b │ │ +025034: 6e20 0a06 2000 |0042: invoke-virtual {v0, v2}, Ljava/nio/IntBuffer;.get:(I)I // method@060a │ │ +02503a: 0a00 |0045: move-result v0 │ │ +02503c: 1501 ffff |0046: const/high16 v1, #int -65536 // #ffff │ │ +025040: b510 |0048: and-int/2addr v0, v1 │ │ +025042: e006 0608 |0049: shl-int/lit8 v6, v6, #int 8 // #08 │ │ +025046: b060 |004b: add-int/2addr v0, v6 │ │ +025048: b050 |004c: add-int/2addr v0, v5 │ │ +02504a: 5445 0b03 |004d: iget-object v5, v4, Lip/IPPacket;.ipHeader:Ljava/nio/IntBuffer; // field@030b │ │ +02504e: 6e20 0d06 2500 |004f: invoke-virtual {v5, v2}, Ljava/nio/IntBuffer;.position:(I)Ljava/nio/Buffer; // method@060d │ │ +025054: 5445 0b03 |0052: iget-object v5, v4, Lip/IPPacket;.ipHeader:Ljava/nio/IntBuffer; // field@030b │ │ +025058: 6e20 0e06 0500 |0054: invoke-virtual {v5, v0}, Ljava/nio/IntBuffer;.put:(I)Ljava/nio/IntBuffer; // method@060e │ │ +02505e: 5445 0b03 |0057: iget-object v5, v4, Lip/IPPacket;.ipHeader:Ljava/nio/IntBuffer; // field@030b │ │ +025062: 6e20 1006 7500 |0059: invoke-virtual {v5, v7}, Ljava/nio/IntBuffer;.put:([I)Ljava/nio/IntBuffer; // method@0610 │ │ +025068: 5445 0b03 |005c: iget-object v5, v4, Lip/IPPacket;.ipHeader:Ljava/nio/IntBuffer; // field@030b │ │ +02506c: 6e20 1006 8500 |005e: invoke-virtual {v5, v8}, Ljava/nio/IntBuffer;.put:([I)Ljava/nio/IntBuffer; // method@0610 │ │ +025072: 0e00 |0061: return-void │ │ +025074: 2205 1d01 |0062: new-instance v5, Ljava/lang/IllegalStateException; // type@011d │ │ +025078: 2206 2d01 |0064: new-instance v6, Ljava/lang/StringBuilder; // type@012d │ │ +02507c: 1a07 e201 |0066: const-string v7, "Illegal version:" // string@01e2 │ │ +025080: 7020 a805 7600 |0068: invoke-direct {v6, v7}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05a8 │ │ +025086: 5247 0e03 |006b: iget v7, v4, Lip/IPPacket;.version:I // field@030e │ │ +02508a: 6e20 aa05 7600 |006d: invoke-virtual {v6, v7}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@05aa │ │ +025090: 6e10 af05 0600 |0070: invoke-virtual {v6}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ +025096: 0c06 |0073: move-result-object v6 │ │ +025098: 7020 6105 6500 |0074: invoke-direct {v5, v6}, Ljava/lang/IllegalStateException;.:(Ljava/lang/String;)V // method@0561 │ │ +02509e: 2705 |0077: throw v5 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=172 │ │ 0x0007 line=173 │ │ 0x0009 line=174 │ │ 0x000f line=175 │ │ 0x001a line=176 │ │ @@ -26304,40 +26304,40 @@ │ │ type : '()V' │ │ access : 0x10008 (STATIC CONSTRUCTOR) │ │ code - │ │ registers : 1 │ │ ins : 0 │ │ outs : 1 │ │ insns size : 8 16-bit code units │ │ -025e54: |[025e54] util.DateRetriever.:()V │ │ -025e64: 2200 7d01 |0000: new-instance v0, Lutil/DateRetriever; // type@017d │ │ -025e68: 7010 bf06 0000 |0002: invoke-direct {v0}, Lutil/DateRetriever;.:()V // method@06bf │ │ -025e6e: 6900 2e03 |0005: sput-object v0, Lutil/DateRetriever;.RETRIEVER_INSTANCE:Lutil/DateRetriever; // field@032e │ │ -025e72: 0e00 |0007: return-void │ │ +025e50: |[025e50] util.DateRetriever.:()V │ │ +025e60: 2200 7d01 |0000: new-instance v0, Lutil/DateRetriever; // type@017d │ │ +025e64: 7010 bf06 0000 |0002: invoke-direct {v0}, Lutil/DateRetriever;.:()V // method@06bf │ │ +025e6a: 6900 2e03 |0005: sput-object v0, Lutil/DateRetriever;.RETRIEVER_INSTANCE:Lutil/DateRetriever; // field@032e │ │ +025e6e: 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 │ │ -025e74: |[025e74] util.DateRetriever.:()V │ │ -025e84: 7010 7305 0100 |0000: invoke-direct {v1}, Ljava/lang/Object;.:()V // method@0573 │ │ -025e8a: 1200 |0003: const/4 v0, #int 0 // #0 │ │ -025e8c: 5b10 2f03 |0004: iput-object v0, v1, Lutil/DateRetriever;._thread:Ljava/lang/Thread; // field@032f │ │ -025e90: 1200 |0006: const/4 v0, #int 0 // #0 │ │ -025e92: 5c10 3103 |0007: iput-boolean v0, v1, Lutil/DateRetriever;.picked:Z // field@0331 │ │ -025e96: 0e00 |0009: return-void │ │ +025e70: |[025e70] util.DateRetriever.:()V │ │ +025e80: 7010 7305 0100 |0000: invoke-direct {v1}, Ljava/lang/Object;.:()V // method@0573 │ │ +025e86: 1200 |0003: const/4 v0, #int 0 // #0 │ │ +025e88: 5b10 2f03 |0004: iput-object v0, v1, Lutil/DateRetriever;._thread:Ljava/lang/Thread; // field@032f │ │ +025e8c: 1200 |0006: const/4 v0, #int 0 // #0 │ │ +025e8e: 5c10 3103 |0007: iput-boolean v0, v1, Lutil/DateRetriever;.picked:Z // field@0331 │ │ +025e92: 0e00 |0009: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=28 │ │ 0x0004 line=33 │ │ 0x0007 line=35 │ │ locals : │ │ 0x0000 - 0x000a reg=1 this Lutil/DateRetriever; │ │ @@ -26347,63 +26347,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 │ │ -025c84: |[025c84] util.DateRetriever.dateStr:(Ljava/util/Calendar;)Ljava/lang/String; │ │ -025c94: 2200 2d01 |0000: new-instance v0, Ljava/lang/StringBuilder; // type@012d │ │ -025c98: 7010 a705 0000 |0002: invoke-direct {v0}, Ljava/lang/StringBuilder;.:()V // method@05a7 │ │ -025c9e: 1221 |0005: const/4 v1, #int 2 // #2 │ │ -025ca0: 6e20 1a06 1500 |0006: invoke-virtual {v5, v1}, Ljava/util/Calendar;.get:(I)I // method@061a │ │ -025ca6: 0a01 |0009: move-result v1 │ │ -025ca8: 1212 |000a: const/4 v2, #int 1 // #1 │ │ -025caa: b021 |000b: add-int/2addr v1, v2 │ │ -025cac: 7020 c206 1400 |000c: invoke-direct {v4, v1}, Lutil/DateRetriever;.int2Str:(I)Ljava/lang/String; // method@06c2 │ │ -025cb2: 0c01 |000f: move-result-object v1 │ │ -025cb4: 6e20 ad05 1000 |0010: invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -025cba: 1a01 6000 |0013: const-string v1, "/" // string@0060 │ │ -025cbe: 6e20 ad05 1000 |0015: invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -025cc4: 1253 |0018: const/4 v3, #int 5 // #5 │ │ -025cc6: 6e20 1a06 3500 |0019: invoke-virtual {v5, v3}, Ljava/util/Calendar;.get:(I)I // method@061a │ │ -025ccc: 0a03 |001c: move-result v3 │ │ -025cce: 7020 c206 3400 |001d: invoke-direct {v4, v3}, Lutil/DateRetriever;.int2Str:(I)Ljava/lang/String; // method@06c2 │ │ -025cd4: 0c03 |0020: move-result-object v3 │ │ -025cd6: 6e20 ad05 3000 |0021: invoke-virtual {v0, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -025cdc: 6e20 ad05 1000 |0024: invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -025ce2: 6e20 1a06 2500 |0027: invoke-virtual {v5, v2}, Ljava/util/Calendar;.get:(I)I // method@061a │ │ -025ce8: 0a01 |002a: move-result v1 │ │ -025cea: 6e20 aa05 1000 |002b: invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@05aa │ │ -025cf0: 1a01 0d00 |002e: const-string v1, " " // string@000d │ │ -025cf4: 6e20 ad05 1000 |0030: invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -025cfa: 1301 0b00 |0033: const/16 v1, #int 11 // #b │ │ -025cfe: 6e20 1a06 1500 |0035: invoke-virtual {v5, v1}, Ljava/util/Calendar;.get:(I)I // method@061a │ │ -025d04: 0a01 |0038: move-result v1 │ │ -025d06: 7020 c206 1400 |0039: invoke-direct {v4, v1}, Lutil/DateRetriever;.int2Str:(I)Ljava/lang/String; // method@06c2 │ │ -025d0c: 0c01 |003c: move-result-object v1 │ │ -025d0e: 6e20 ad05 1000 |003d: invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -025d14: 1a01 8100 |0040: const-string v1, ":" // string@0081 │ │ -025d18: 6e20 ad05 1000 |0042: invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -025d1e: 1302 0c00 |0045: const/16 v2, #int 12 // #c │ │ -025d22: 6e20 1a06 2500 |0047: invoke-virtual {v5, v2}, Ljava/util/Calendar;.get:(I)I // method@061a │ │ -025d28: 0a02 |004a: move-result v2 │ │ -025d2a: 7020 c206 2400 |004b: invoke-direct {v4, v2}, Lutil/DateRetriever;.int2Str:(I)Ljava/lang/String; // method@06c2 │ │ -025d30: 0c02 |004e: move-result-object v2 │ │ -025d32: 6e20 ad05 2000 |004f: invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -025d38: 6e20 ad05 1000 |0052: invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -025d3e: 1301 0d00 |0055: const/16 v1, #int 13 // #d │ │ -025d42: 6e20 1a06 1500 |0057: invoke-virtual {v5, v1}, Ljava/util/Calendar;.get:(I)I // method@061a │ │ -025d48: 0a05 |005a: move-result v5 │ │ -025d4a: 7020 c206 5400 |005b: invoke-direct {v4, v5}, Lutil/DateRetriever;.int2Str:(I)Ljava/lang/String; // method@06c2 │ │ -025d50: 0c05 |005e: move-result-object v5 │ │ -025d52: 6e20 ad05 5000 |005f: invoke-virtual {v0, v5}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -025d58: 6e10 af05 0000 |0062: invoke-virtual {v0}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ -025d5e: 0c05 |0065: move-result-object v5 │ │ -025d60: 1105 |0066: return-object v5 │ │ +025c80: |[025c80] util.DateRetriever.dateStr:(Ljava/util/Calendar;)Ljava/lang/String; │ │ +025c90: 2200 2d01 |0000: new-instance v0, Ljava/lang/StringBuilder; // type@012d │ │ +025c94: 7010 a705 0000 |0002: invoke-direct {v0}, Ljava/lang/StringBuilder;.:()V // method@05a7 │ │ +025c9a: 1221 |0005: const/4 v1, #int 2 // #2 │ │ +025c9c: 6e20 1a06 1500 |0006: invoke-virtual {v5, v1}, Ljava/util/Calendar;.get:(I)I // method@061a │ │ +025ca2: 0a01 |0009: move-result v1 │ │ +025ca4: 1212 |000a: const/4 v2, #int 1 // #1 │ │ +025ca6: b021 |000b: add-int/2addr v1, v2 │ │ +025ca8: 7020 c206 1400 |000c: invoke-direct {v4, v1}, Lutil/DateRetriever;.int2Str:(I)Ljava/lang/String; // method@06c2 │ │ +025cae: 0c01 |000f: move-result-object v1 │ │ +025cb0: 6e20 ad05 1000 |0010: invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +025cb6: 1a01 6000 |0013: const-string v1, "/" // string@0060 │ │ +025cba: 6e20 ad05 1000 |0015: invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +025cc0: 1253 |0018: const/4 v3, #int 5 // #5 │ │ +025cc2: 6e20 1a06 3500 |0019: invoke-virtual {v5, v3}, Ljava/util/Calendar;.get:(I)I // method@061a │ │ +025cc8: 0a03 |001c: move-result v3 │ │ +025cca: 7020 c206 3400 |001d: invoke-direct {v4, v3}, Lutil/DateRetriever;.int2Str:(I)Ljava/lang/String; // method@06c2 │ │ +025cd0: 0c03 |0020: move-result-object v3 │ │ +025cd2: 6e20 ad05 3000 |0021: invoke-virtual {v0, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +025cd8: 6e20 ad05 1000 |0024: invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +025cde: 6e20 1a06 2500 |0027: invoke-virtual {v5, v2}, Ljava/util/Calendar;.get:(I)I // method@061a │ │ +025ce4: 0a01 |002a: move-result v1 │ │ +025ce6: 6e20 aa05 1000 |002b: invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@05aa │ │ +025cec: 1a01 0d00 |002e: const-string v1, " " // string@000d │ │ +025cf0: 6e20 ad05 1000 |0030: invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +025cf6: 1301 0b00 |0033: const/16 v1, #int 11 // #b │ │ +025cfa: 6e20 1a06 1500 |0035: invoke-virtual {v5, v1}, Ljava/util/Calendar;.get:(I)I // method@061a │ │ +025d00: 0a01 |0038: move-result v1 │ │ +025d02: 7020 c206 1400 |0039: invoke-direct {v4, v1}, Lutil/DateRetriever;.int2Str:(I)Ljava/lang/String; // method@06c2 │ │ +025d08: 0c01 |003c: move-result-object v1 │ │ +025d0a: 6e20 ad05 1000 |003d: invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +025d10: 1a01 8100 |0040: const-string v1, ":" // string@0081 │ │ +025d14: 6e20 ad05 1000 |0042: invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +025d1a: 1302 0c00 |0045: const/16 v2, #int 12 // #c │ │ +025d1e: 6e20 1a06 2500 |0047: invoke-virtual {v5, v2}, Ljava/util/Calendar;.get:(I)I // method@061a │ │ +025d24: 0a02 |004a: move-result v2 │ │ +025d26: 7020 c206 2400 |004b: invoke-direct {v4, v2}, Lutil/DateRetriever;.int2Str:(I)Ljava/lang/String; // method@06c2 │ │ +025d2c: 0c02 |004e: move-result-object v2 │ │ +025d2e: 6e20 ad05 2000 |004f: invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +025d34: 6e20 ad05 1000 |0052: invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +025d3a: 1301 0d00 |0055: const/16 v1, #int 13 // #d │ │ +025d3e: 6e20 1a06 1500 |0057: invoke-virtual {v5, v1}, Ljava/util/Calendar;.get:(I)I // method@061a │ │ +025d44: 0a05 |005a: move-result v5 │ │ +025d46: 7020 c206 5400 |005b: invoke-direct {v4, v5}, Lutil/DateRetriever;.int2Str:(I)Ljava/lang/String; // method@06c2 │ │ +025d4c: 0c05 |005e: move-result-object v5 │ │ +025d4e: 6e20 ad05 5000 |005f: invoke-virtual {v0, v5}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +025d54: 6e10 af05 0000 |0062: invoke-virtual {v0}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ +025d5a: 0c05 |0065: move-result-object v5 │ │ +025d5c: 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; │ │ @@ -26413,50 +26413,50 @@ │ │ type : '()Ljava/lang/String;' │ │ access : 0x0009 (PUBLIC STATIC) │ │ code - │ │ registers : 1 │ │ ins : 0 │ │ outs : 1 │ │ insns size : 7 16-bit code units │ │ -025d64: |[025d64] util.DateRetriever.getDateString:()Ljava/lang/String; │ │ -025d74: 6200 2e03 |0000: sget-object v0, Lutil/DateRetriever;.RETRIEVER_INSTANCE:Lutil/DateRetriever; // field@032e │ │ -025d78: 7010 c306 0000 |0002: invoke-direct {v0}, Lutil/DateRetriever;.retrieveDateString:()Ljava/lang/String; // method@06c3 │ │ -025d7e: 0c00 |0005: move-result-object v0 │ │ -025d80: 1100 |0006: return-object v0 │ │ +025d60: |[025d60] util.DateRetriever.getDateString:()Ljava/lang/String; │ │ +025d70: 6200 2e03 |0000: sget-object v0, Lutil/DateRetriever;.RETRIEVER_INSTANCE:Lutil/DateRetriever; // field@032e │ │ +025d74: 7010 c306 0000 |0002: invoke-direct {v0}, Lutil/DateRetriever;.retrieveDateString:()Ljava/lang/String; // method@06c3 │ │ +025d7a: 0c00 |0005: move-result-object v0 │ │ +025d7c: 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 │ │ -025d84: |[025d84] util.DateRetriever.int2Str:(I)Ljava/lang/String; │ │ -025d94: 1300 0a00 |0000: const/16 v0, #int 10 // #a │ │ -025d98: 3503 1100 |0002: if-ge v3, v0, 0013 // +0011 │ │ -025d9c: 2200 2d01 |0004: new-instance v0, Ljava/lang/StringBuilder; // type@012d │ │ -025da0: 1a01 6a00 |0006: const-string v1, "0" // string@006a │ │ -025da4: 7020 a805 1000 |0008: invoke-direct {v0, v1}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05a8 │ │ -025daa: 6e20 aa05 3000 |000b: invoke-virtual {v0, v3}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@05aa │ │ -025db0: 6e10 af05 0000 |000e: invoke-virtual {v0}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ -025db6: 0c03 |0011: move-result-object v3 │ │ -025db8: 1103 |0012: return-object v3 │ │ -025dba: 2200 2d01 |0013: new-instance v0, Ljava/lang/StringBuilder; // type@012d │ │ -025dbe: 1a01 0000 |0015: const-string v1, "" // string@0000 │ │ -025dc2: 7020 a805 1000 |0017: invoke-direct {v0, v1}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05a8 │ │ -025dc8: 6e20 aa05 3000 |001a: invoke-virtual {v0, v3}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@05aa │ │ -025dce: 6e10 af05 0000 |001d: invoke-virtual {v0}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ -025dd4: 0c03 |0020: move-result-object v3 │ │ -025dd6: 1103 |0021: return-object v3 │ │ +025d80: |[025d80] util.DateRetriever.int2Str:(I)Ljava/lang/String; │ │ +025d90: 1300 0a00 |0000: const/16 v0, #int 10 // #a │ │ +025d94: 3503 1100 |0002: if-ge v3, v0, 0013 // +0011 │ │ +025d98: 2200 2d01 |0004: new-instance v0, Ljava/lang/StringBuilder; // type@012d │ │ +025d9c: 1a01 6a00 |0006: const-string v1, "0" // string@006a │ │ +025da0: 7020 a805 1000 |0008: invoke-direct {v0, v1}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05a8 │ │ +025da6: 6e20 aa05 3000 |000b: invoke-virtual {v0, v3}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@05aa │ │ +025dac: 6e10 af05 0000 |000e: invoke-virtual {v0}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ +025db2: 0c03 |0011: move-result-object v3 │ │ +025db4: 1103 |0012: return-object v3 │ │ +025db6: 2200 2d01 |0013: new-instance v0, Ljava/lang/StringBuilder; // type@012d │ │ +025dba: 1a01 0000 |0015: const-string v1, "" // string@0000 │ │ +025dbe: 7020 a805 1000 |0017: invoke-direct {v0, v1}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05a8 │ │ +025dc4: 6e20 aa05 3000 |001a: invoke-virtual {v0, v3}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@05aa │ │ +025dca: 6e10 af05 0000 |001d: invoke-virtual {v0}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ +025dd0: 0c03 |0020: move-result-object v3 │ │ +025dd2: 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 │ │ @@ -26466,40 +26466,40 @@ │ │ type : '()Ljava/lang/String;' │ │ access : 0x20002 (PRIVATE DECLARED_SYNCHRONIZED) │ │ code - │ │ registers : 3 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 44 16-bit code units │ │ -025dd8: |[025dd8] util.DateRetriever.retrieveDateString:()Ljava/lang/String; │ │ -025de8: 1d02 |0000: monitor-enter v2 │ │ -025dea: 1210 |0001: const/4 v0, #int 1 // #1 │ │ -025dec: 5c20 3103 |0002: iput-boolean v0, v2, Lutil/DateRetriever;.picked:Z // field@0331 │ │ -025df0: 5421 2f03 |0004: iget-object v1, v2, Lutil/DateRetriever;._thread:Ljava/lang/Thread; // field@032f │ │ -025df4: 3801 0600 |0006: if-eqz v1, 000c // +0006 │ │ -025df8: 5420 3003 |0008: iget-object v0, v2, Lutil/DateRetriever;.current:Ljava/lang/String; // field@0330 │ │ -025dfc: 1e02 |000a: monitor-exit v2 │ │ -025dfe: 1100 |000b: return-object v0 │ │ -025e00: 7100 1b06 0000 |000c: invoke-static {}, Ljava/util/Calendar;.getInstance:()Ljava/util/Calendar; // method@061b │ │ -025e06: 0c01 |000f: move-result-object v1 │ │ -025e08: 7020 c006 1200 |0010: invoke-direct {v2, v1}, Lutil/DateRetriever;.dateStr:(Ljava/util/Calendar;)Ljava/lang/String; // method@06c0 │ │ -025e0e: 0c01 |0013: move-result-object v1 │ │ -025e10: 5b21 3003 |0014: iput-object v1, v2, Lutil/DateRetriever;.current:Ljava/lang/String; // field@0330 │ │ -025e14: 2201 2f01 |0016: new-instance v1, Ljava/lang/Thread; // type@012f │ │ -025e18: 7020 b405 2100 |0018: invoke-direct {v1, v2}, Ljava/lang/Thread;.:(Ljava/lang/Runnable;)V // method@05b4 │ │ -025e1e: 5b21 2f03 |001b: iput-object v1, v2, Lutil/DateRetriever;._thread:Ljava/lang/Thread; // field@032f │ │ -025e22: 6e20 b805 0100 |001d: invoke-virtual {v1, v0}, Ljava/lang/Thread;.setDaemon:(Z)V // method@05b8 │ │ -025e28: 5420 2f03 |0020: iget-object v0, v2, Lutil/DateRetriever;._thread:Ljava/lang/Thread; // field@032f │ │ -025e2c: 6e10 ba05 0000 |0022: invoke-virtual {v0}, Ljava/lang/Thread;.start:()V // method@05ba │ │ -025e32: 5420 3003 |0025: iget-object v0, v2, Lutil/DateRetriever;.current:Ljava/lang/String; // field@0330 │ │ -025e36: 1e02 |0027: monitor-exit v2 │ │ -025e38: 1100 |0028: return-object v0 │ │ -025e3a: 0d00 |0029: move-exception v0 │ │ -025e3c: 1e02 |002a: monitor-exit v2 │ │ -025e3e: 2700 |002b: throw v0 │ │ +025dd4: |[025dd4] util.DateRetriever.retrieveDateString:()Ljava/lang/String; │ │ +025de4: 1d02 |0000: monitor-enter v2 │ │ +025de6: 1210 |0001: const/4 v0, #int 1 // #1 │ │ +025de8: 5c20 3103 |0002: iput-boolean v0, v2, Lutil/DateRetriever;.picked:Z // field@0331 │ │ +025dec: 5421 2f03 |0004: iget-object v1, v2, Lutil/DateRetriever;._thread:Ljava/lang/Thread; // field@032f │ │ +025df0: 3801 0600 |0006: if-eqz v1, 000c // +0006 │ │ +025df4: 5420 3003 |0008: iget-object v0, v2, Lutil/DateRetriever;.current:Ljava/lang/String; // field@0330 │ │ +025df8: 1e02 |000a: monitor-exit v2 │ │ +025dfa: 1100 |000b: return-object v0 │ │ +025dfc: 7100 1b06 0000 |000c: invoke-static {}, Ljava/util/Calendar;.getInstance:()Ljava/util/Calendar; // method@061b │ │ +025e02: 0c01 |000f: move-result-object v1 │ │ +025e04: 7020 c006 1200 |0010: invoke-direct {v2, v1}, Lutil/DateRetriever;.dateStr:(Ljava/util/Calendar;)Ljava/lang/String; // method@06c0 │ │ +025e0a: 0c01 |0013: move-result-object v1 │ │ +025e0c: 5b21 3003 |0014: iput-object v1, v2, Lutil/DateRetriever;.current:Ljava/lang/String; // field@0330 │ │ +025e10: 2201 2f01 |0016: new-instance v1, Ljava/lang/Thread; // type@012f │ │ +025e14: 7020 b405 2100 |0018: invoke-direct {v1, v2}, Ljava/lang/Thread;.:(Ljava/lang/Runnable;)V // method@05b4 │ │ +025e1a: 5b21 2f03 |001b: iput-object v1, v2, Lutil/DateRetriever;._thread:Ljava/lang/Thread; // field@032f │ │ +025e1e: 6e20 b805 0100 |001d: invoke-virtual {v1, v0}, Ljava/lang/Thread;.setDaemon:(Z)V // method@05b8 │ │ +025e24: 5420 2f03 |0020: iget-object v0, v2, Lutil/DateRetriever;._thread:Ljava/lang/Thread; // field@032f │ │ +025e28: 6e10 ba05 0000 |0022: invoke-virtual {v0}, Ljava/lang/Thread;.start:()V // method@05ba │ │ +025e2e: 5420 3003 |0025: iget-object v0, v2, Lutil/DateRetriever;.current:Ljava/lang/String; // field@0330 │ │ +025e32: 1e02 |0027: monitor-exit v2 │ │ +025e34: 1100 |0028: return-object v0 │ │ +025e36: 0d00 |0029: move-exception v0 │ │ +025e38: 1e02 |002a: monitor-exit v2 │ │ +025e3a: 2700 |002b: throw v0 │ │ catches : 2 │ │ 0x0002 - 0x000a │ │ -> 0x0029 │ │ 0x000c - 0x0027 │ │ -> 0x0029 │ │ positions : │ │ 0x0002 line=57 │ │ @@ -26518,22 +26518,22 @@ │ │ type : '(J)V' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 3 │ │ ins : 3 │ │ outs : 3 │ │ insns size : 13 16-bit code units │ │ -025f14: |[025f14] util.DateRetriever.waitMillis:(J)V │ │ -025f24: 6e30 7a05 1002 |0000: invoke-virtual {v0, v1, v2}, Ljava/lang/Object;.wait:(J)V // method@057a │ │ -025f2a: 2809 |0003: goto 000c // +0009 │ │ -025f2c: 0d01 |0004: move-exception v1 │ │ -025f2e: 7100 2507 0000 |0005: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0725 │ │ -025f34: 0c02 |0008: move-result-object v2 │ │ -025f36: 7220 3007 1200 |0009: invoke-interface {v2, v1}, Lutil/LoggerInterface;.logException:(Ljava/lang/Exception;)V // method@0730 │ │ -025f3c: 0e00 |000c: return-void │ │ +025f10: |[025f10] util.DateRetriever.waitMillis:(J)V │ │ +025f20: 6e30 7a05 1002 |0000: invoke-virtual {v0, v1, v2}, Ljava/lang/Object;.wait:(J)V // method@057a │ │ +025f26: 2809 |0003: goto 000c // +0009 │ │ +025f28: 0d01 |0004: move-exception v1 │ │ +025f2a: 7100 2507 0000 |0005: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0725 │ │ +025f30: 0c02 |0008: move-result-object v2 │ │ +025f32: 7220 3007 1200 |0009: invoke-interface {v2, v1}, Lutil/LoggerInterface;.logException:(Ljava/lang/Exception;)V // method@0730 │ │ +025f38: 0e00 |000c: return-void │ │ catches : 1 │ │ 0x0000 - 0x0003 │ │ Ljava/lang/InterruptedException; -> 0x0004 │ │ positions : │ │ 0x0000 line=74 │ │ 0x0005 line=76 │ │ locals : │ │ @@ -26546,44 +26546,44 @@ │ │ type : '()V' │ │ access : 0x20001 (PUBLIC DECLARED_SYNCHRONIZED) │ │ code - │ │ registers : 3 │ │ ins : 1 │ │ outs : 3 │ │ insns size : 47 16-bit code units │ │ -025e98: |[025e98] util.DateRetriever.run:()V │ │ -025ea8: 1d02 |0000: monitor-enter v2 │ │ -025eaa: 7100 b505 0000 |0001: invoke-static {}, Ljava/lang/Thread;.currentThread:()Ljava/lang/Thread; // method@05b5 │ │ -025eb0: 0c00 |0004: move-result-object v0 │ │ -025eb2: 5b20 2f03 |0005: iput-object v0, v2, Lutil/DateRetriever;._thread:Ljava/lang/Thread; // field@032f │ │ -025eb6: 6000 2d03 |0007: sget v0, Lutil/DateRetriever;.PRECISION_MILLIS:I // field@032d │ │ -025eba: 8100 |0009: int-to-long v0, v0 │ │ -025ebc: 7030 c506 0201 |000a: invoke-direct {v2, v0, v1}, Lutil/DateRetriever;.waitMillis:(J)V // method@06c5 │ │ -025ec2: 5520 3103 |000d: iget-boolean v0, v2, Lutil/DateRetriever;.picked:Z // field@0331 │ │ -025ec6: 3800 1600 |000f: if-eqz v0, 0025 // +0016 │ │ -025eca: 7100 1b06 0000 |0011: invoke-static {}, Ljava/util/Calendar;.getInstance:()Ljava/util/Calendar; // method@061b │ │ -025ed0: 0c00 |0014: move-result-object v0 │ │ -025ed2: 7020 c006 0200 |0015: invoke-direct {v2, v0}, Lutil/DateRetriever;.dateStr:(Ljava/util/Calendar;)Ljava/lang/String; // method@06c0 │ │ -025ed8: 0c00 |0018: move-result-object v0 │ │ -025eda: 5b20 3003 |0019: iput-object v0, v2, Lutil/DateRetriever;.current:Ljava/lang/String; // field@0330 │ │ -025ede: 1200 |001b: const/4 v0, #int 0 // #0 │ │ -025ee0: 5c20 3103 |001c: iput-boolean v0, v2, Lutil/DateRetriever;.picked:Z // field@0331 │ │ -025ee4: 6000 2d03 |001e: sget v0, Lutil/DateRetriever;.PRECISION_MILLIS:I // field@032d │ │ -025ee8: 8100 |0020: int-to-long v0, v0 │ │ -025eea: 7030 c506 0201 |0021: invoke-direct {v2, v0, v1}, Lutil/DateRetriever;.waitMillis:(J)V // method@06c5 │ │ -025ef0: 28e9 |0024: goto 000d // -0017 │ │ -025ef2: 1200 |0025: const/4 v0, #int 0 // #0 │ │ -025ef4: 5b20 2f03 |0026: iput-object v0, v2, Lutil/DateRetriever;._thread:Ljava/lang/Thread; // field@032f │ │ -025ef8: 1e02 |0028: monitor-exit v2 │ │ -025efa: 0e00 |0029: return-void │ │ -025efc: 0d00 |002a: move-exception v0 │ │ -025efe: 1e02 |002b: monitor-exit v2 │ │ -025f00: 2802 |002c: goto 002e // +0002 │ │ -025f02: 2700 |002d: throw v0 │ │ -025f04: 28ff |002e: goto 002d // -0001 │ │ +025e94: |[025e94] util.DateRetriever.run:()V │ │ +025ea4: 1d02 |0000: monitor-enter v2 │ │ +025ea6: 7100 b505 0000 |0001: invoke-static {}, Ljava/lang/Thread;.currentThread:()Ljava/lang/Thread; // method@05b5 │ │ +025eac: 0c00 |0004: move-result-object v0 │ │ +025eae: 5b20 2f03 |0005: iput-object v0, v2, Lutil/DateRetriever;._thread:Ljava/lang/Thread; // field@032f │ │ +025eb2: 6000 2d03 |0007: sget v0, Lutil/DateRetriever;.PRECISION_MILLIS:I // field@032d │ │ +025eb6: 8100 |0009: int-to-long v0, v0 │ │ +025eb8: 7030 c506 0201 |000a: invoke-direct {v2, v0, v1}, Lutil/DateRetriever;.waitMillis:(J)V // method@06c5 │ │ +025ebe: 5520 3103 |000d: iget-boolean v0, v2, Lutil/DateRetriever;.picked:Z // field@0331 │ │ +025ec2: 3800 1600 |000f: if-eqz v0, 0025 // +0016 │ │ +025ec6: 7100 1b06 0000 |0011: invoke-static {}, Ljava/util/Calendar;.getInstance:()Ljava/util/Calendar; // method@061b │ │ +025ecc: 0c00 |0014: move-result-object v0 │ │ +025ece: 7020 c006 0200 |0015: invoke-direct {v2, v0}, Lutil/DateRetriever;.dateStr:(Ljava/util/Calendar;)Ljava/lang/String; // method@06c0 │ │ +025ed4: 0c00 |0018: move-result-object v0 │ │ +025ed6: 5b20 3003 |0019: iput-object v0, v2, Lutil/DateRetriever;.current:Ljava/lang/String; // field@0330 │ │ +025eda: 1200 |001b: const/4 v0, #int 0 // #0 │ │ +025edc: 5c20 3103 |001c: iput-boolean v0, v2, Lutil/DateRetriever;.picked:Z // field@0331 │ │ +025ee0: 6000 2d03 |001e: sget v0, Lutil/DateRetriever;.PRECISION_MILLIS:I // field@032d │ │ +025ee4: 8100 |0020: int-to-long v0, v0 │ │ +025ee6: 7030 c506 0201 |0021: invoke-direct {v2, v0, v1}, Lutil/DateRetriever;.waitMillis:(J)V // method@06c5 │ │ +025eec: 28e9 |0024: goto 000d // -0017 │ │ +025eee: 1200 |0025: const/4 v0, #int 0 // #0 │ │ +025ef0: 5b20 2f03 |0026: iput-object v0, v2, Lutil/DateRetriever;._thread:Ljava/lang/Thread; // field@032f │ │ +025ef4: 1e02 |0028: monitor-exit v2 │ │ +025ef6: 0e00 |0029: return-void │ │ +025ef8: 0d00 |002a: move-exception v0 │ │ +025efa: 1e02 |002b: monitor-exit v2 │ │ +025efc: 2802 |002c: goto 002e // +0002 │ │ +025efe: 2700 |002d: throw v0 │ │ +025f00: 28ff |002e: goto 002d // -0001 │ │ catches : 1 │ │ 0x0001 - 0x0028 │ │ -> 0x002a │ │ positions : │ │ 0x0001 line=83 │ │ 0x0007 line=85 │ │ 0x000d line=86 │ │ @@ -26668,34 +26668,34 @@ │ │ type : '()V' │ │ access : 0x10008 (STATIC CONSTRUCTOR) │ │ code - │ │ registers : 1 │ │ ins : 0 │ │ outs : 0 │ │ insns size : 52 16-bit code units │ │ -026184: |[026184] util.Encryption.:()V │ │ -026194: 1300 1000 |0000: const/16 v0, #int 16 // #10 │ │ -026198: 2300 9d01 |0002: new-array v0, v0, [B // type@019d │ │ -02619c: 2600 1c00 0000 |0004: fill-array-data v0, 00000020 // +0000001c │ │ -0261a2: 6900 3703 |0007: sput-object v0, Lutil/Encryption;.iv:[B // field@0337 │ │ -0261a6: 1300 0800 |0009: const/16 v0, #int 8 // #8 │ │ -0261aa: 2300 9d01 |000b: new-array v0, v0, [B // type@019d │ │ -0261ae: 2600 1f00 0000 |000d: fill-array-data v0, 0000002c // +0000001f │ │ -0261b4: 6900 3403 |0010: sput-object v0, Lutil/Encryption;.INIT_BYTES:[B // field@0334 │ │ -0261b8: 1200 |0012: const/4 v0, #int 0 // #0 │ │ -0261ba: 6a00 3303 |0013: sput-boolean v0, Lutil/Encryption;.INITIALZED:Z // field@0333 │ │ -0261be: 1a00 0000 |0015: const-string v0, "" // string@0000 │ │ -0261c2: 6900 3903 |0017: sput-object v0, Lutil/Encryption;.keyphrase:Ljava/lang/String; // field@0339 │ │ -0261c6: 1200 |0019: const/4 v0, #int 0 // #0 │ │ -0261c8: 6900 3503 |001a: sput-object v0, Lutil/Encryption;.dcipher:Ljavax/crypto/Cipher; // field@0335 │ │ -0261cc: 6900 3603 |001c: sput-object v0, Lutil/Encryption;.ecipher:Ljavax/crypto/Cipher; // field@0336 │ │ -0261d0: 0e00 |001e: return-void │ │ -0261d2: 0000 |001f: nop // spacer │ │ -0261d4: 0003 0100 1000 0000 0cfe 1e29 65bf ... |0020: array-data (12 units) │ │ -0261ec: 0003 0100 0800 0000 2d07 f82d 06bf ... |002c: array-data (8 units) │ │ +026180: |[026180] util.Encryption.:()V │ │ +026190: 1300 1000 |0000: const/16 v0, #int 16 // #10 │ │ +026194: 2300 9d01 |0002: new-array v0, v0, [B // type@019d │ │ +026198: 2600 1c00 0000 |0004: fill-array-data v0, 00000020 // +0000001c │ │ +02619e: 6900 3703 |0007: sput-object v0, Lutil/Encryption;.iv:[B // field@0337 │ │ +0261a2: 1300 0800 |0009: const/16 v0, #int 8 // #8 │ │ +0261a6: 2300 9d01 |000b: new-array v0, v0, [B // type@019d │ │ +0261aa: 2600 1f00 0000 |000d: fill-array-data v0, 0000002c // +0000001f │ │ +0261b0: 6900 3403 |0010: sput-object v0, Lutil/Encryption;.INIT_BYTES:[B // field@0334 │ │ +0261b4: 1200 |0012: const/4 v0, #int 0 // #0 │ │ +0261b6: 6a00 3303 |0013: sput-boolean v0, Lutil/Encryption;.INITIALZED:Z // field@0333 │ │ +0261ba: 1a00 0000 |0015: const-string v0, "" // string@0000 │ │ +0261be: 6900 3903 |0017: sput-object v0, Lutil/Encryption;.keyphrase:Ljava/lang/String; // field@0339 │ │ +0261c2: 1200 |0019: const/4 v0, #int 0 // #0 │ │ +0261c4: 6900 3503 |001a: sput-object v0, Lutil/Encryption;.dcipher:Ljavax/crypto/Cipher; // field@0335 │ │ +0261c8: 6900 3603 |001c: sput-object v0, Lutil/Encryption;.ecipher:Ljavax/crypto/Cipher; // field@0336 │ │ +0261cc: 0e00 |001e: return-void │ │ +0261ce: 0000 |001f: nop // spacer │ │ +0261d0: 0003 0100 1000 0000 0cfe 1e29 65bf ... |0020: array-data (12 units) │ │ +0261e8: 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 │ │ @@ -26707,17 +26707,17 @@ │ │ type : '()V' │ │ access : 0x10001 (PUBLIC CONSTRUCTOR) │ │ code - │ │ registers : 1 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 4 16-bit code units │ │ -0261fc: |[0261fc] util.Encryption.:()V │ │ -02620c: 7010 7305 0000 |0000: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@0573 │ │ -026212: 0e00 |0003: return-void │ │ +0261f8: |[0261f8] util.Encryption.:()V │ │ +026208: 7010 7305 0000 |0000: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@0573 │ │ +02620e: 0e00 |0003: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=14 │ │ locals : │ │ 0x0000 - 0x0004 reg=0 this Lutil/Encryption; │ │ │ │ #2 : (in Lutil/Encryption;) │ │ @@ -26725,41 +26725,41 @@ │ │ type : '([B)[B' │ │ access : 0x0009 (PUBLIC STATIC) │ │ code - │ │ registers : 4 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 47 16-bit code units │ │ -025f50: |[025f50] util.Encryption.decrypt:([B)[B │ │ -025f60: 6300 3303 |0000: sget-boolean v0, Lutil/Encryption;.INITIALZED:Z // field@0333 │ │ -025f64: 3800 2500 |0002: if-eqz v0, 0027 // +0025 │ │ -025f68: 6200 3503 |0004: sget-object v0, Lutil/Encryption;.dcipher:Ljavax/crypto/Cipher; // field@0335 │ │ -025f6c: 1d00 |0006: monitor-enter v0 │ │ -025f6e: 6201 3503 |0007: sget-object v1, Lutil/Encryption;.dcipher:Ljavax/crypto/Cipher; // field@0335 │ │ -025f72: 6e20 9806 3100 |0009: invoke-virtual {v1, v3}, Ljavax/crypto/Cipher;.doFinal:([B)[B // method@0698 │ │ -025f78: 0c03 |000c: move-result-object v3 │ │ -025f7a: 1e00 |000d: monitor-exit v0 │ │ -025f7c: 1103 |000e: return-object v3 │ │ -025f7e: 0d03 |000f: move-exception v3 │ │ -025f80: 1e00 |0010: monitor-exit v0 │ │ -025f82: 2703 |0011: throw v3 │ │ -025f84: 0d03 |0012: move-exception v3 │ │ -025f86: 2200 0001 |0013: new-instance v0, Ljava/io/IOException; // type@0100 │ │ -025f8a: 2201 2d01 |0015: new-instance v1, Ljava/lang/StringBuilder; // type@012d │ │ -025f8e: 1a02 6301 |0017: const-string v2, "Decryption failed:" // string@0163 │ │ -025f92: 7020 a805 2100 |0019: invoke-direct {v1, v2}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05a8 │ │ -025f98: 6e20 ac05 3100 |001c: invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@05ac │ │ -025f9e: 6e10 af05 0100 |001f: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ -025fa4: 0c03 |0022: move-result-object v3 │ │ -025fa6: 7020 1f05 3000 |0023: invoke-direct {v0, v3}, Ljava/io/IOException;.:(Ljava/lang/String;)V // method@051f │ │ -025fac: 2700 |0026: throw v0 │ │ -025fae: 2203 0001 |0027: new-instance v3, Ljava/io/IOException; // type@0100 │ │ -025fb2: 1a00 7801 |0029: const-string v0, "Encryption not initialized!" // string@0178 │ │ -025fb6: 7020 1f05 0300 |002b: invoke-direct {v3, v0}, Ljava/io/IOException;.:(Ljava/lang/String;)V // method@051f │ │ -025fbc: 2703 |002e: throw v3 │ │ +025f4c: |[025f4c] util.Encryption.decrypt:([B)[B │ │ +025f5c: 6300 3303 |0000: sget-boolean v0, Lutil/Encryption;.INITIALZED:Z // field@0333 │ │ +025f60: 3800 2500 |0002: if-eqz v0, 0027 // +0025 │ │ +025f64: 6200 3503 |0004: sget-object v0, Lutil/Encryption;.dcipher:Ljavax/crypto/Cipher; // field@0335 │ │ +025f68: 1d00 |0006: monitor-enter v0 │ │ +025f6a: 6201 3503 |0007: sget-object v1, Lutil/Encryption;.dcipher:Ljavax/crypto/Cipher; // field@0335 │ │ +025f6e: 6e20 9806 3100 |0009: invoke-virtual {v1, v3}, Ljavax/crypto/Cipher;.doFinal:([B)[B // method@0698 │ │ +025f74: 0c03 |000c: move-result-object v3 │ │ +025f76: 1e00 |000d: monitor-exit v0 │ │ +025f78: 1103 |000e: return-object v3 │ │ +025f7a: 0d03 |000f: move-exception v3 │ │ +025f7c: 1e00 |0010: monitor-exit v0 │ │ +025f7e: 2703 |0011: throw v3 │ │ +025f80: 0d03 |0012: move-exception v3 │ │ +025f82: 2200 0001 |0013: new-instance v0, Ljava/io/IOException; // type@0100 │ │ +025f86: 2201 2d01 |0015: new-instance v1, Ljava/lang/StringBuilder; // type@012d │ │ +025f8a: 1a02 6301 |0017: const-string v2, "Decryption failed:" // string@0163 │ │ +025f8e: 7020 a805 2100 |0019: invoke-direct {v1, v2}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05a8 │ │ +025f94: 6e20 ac05 3100 |001c: invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@05ac │ │ +025f9a: 6e10 af05 0100 |001f: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ +025fa0: 0c03 |0022: move-result-object v3 │ │ +025fa2: 7020 1f05 3000 |0023: invoke-direct {v0, v3}, Ljava/io/IOException;.:(Ljava/lang/String;)V // method@051f │ │ +025fa8: 2700 |0026: throw v0 │ │ +025faa: 2203 0001 |0027: new-instance v3, Ljava/io/IOException; // type@0100 │ │ +025fae: 1a00 7801 |0029: const-string v0, "Encryption not initialized!" // string@0178 │ │ +025fb2: 7020 1f05 0300 |002b: invoke-direct {v3, v0}, Ljava/io/IOException;.:(Ljava/lang/String;)V // method@051f │ │ +025fb8: 2703 |002e: throw v3 │ │ catches : 3 │ │ 0x0004 - 0x0007 │ │ Ljava/lang/Exception; -> 0x0012 │ │ 0x0007 - 0x0011 │ │ -> 0x000f │ │ 0x0011 - 0x0012 │ │ Ljava/lang/Exception; -> 0x0012 │ │ @@ -26778,41 +26778,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.encrypt:([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 3603 |0004: sget-object v0, Lutil/Encryption;.ecipher:Ljavax/crypto/Cipher; // field@0336 │ │ -025ffc: 1d00 |0006: monitor-enter v0 │ │ -025ffe: 6201 3603 |0007: sget-object v1, Lutil/Encryption;.ecipher:Ljavax/crypto/Cipher; // field@0336 │ │ -026002: 6e20 9806 3100 |0009: invoke-virtual {v1, v3}, Ljavax/crypto/Cipher;.doFinal:([B)[B // method@0698 │ │ -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 7701 |0017: const-string v2, "Encryption failed:" // string@0177 │ │ -026022: 7020 a805 2100 |0019: invoke-direct {v1, v2}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05a8 │ │ -026028: 6e20 ac05 3100 |001c: invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@05ac │ │ -02602e: 6e10 af05 0100 |001f: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ -026034: 0c03 |0022: move-result-object v3 │ │ -026036: 7020 1f05 3000 |0023: invoke-direct {v0, v3}, Ljava/io/IOException;.:(Ljava/lang/String;)V // method@051f │ │ -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 1f05 0300 |002b: invoke-direct {v3, v0}, Ljava/io/IOException;.:(Ljava/lang/String;)V // method@051f │ │ -02604c: 2703 |002e: throw v3 │ │ +025fdc: |[025fdc] util.Encryption.encrypt:([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 3603 |0004: sget-object v0, Lutil/Encryption;.ecipher:Ljavax/crypto/Cipher; // field@0336 │ │ +025ff8: 1d00 |0006: monitor-enter v0 │ │ +025ffa: 6201 3603 |0007: sget-object v1, Lutil/Encryption;.ecipher:Ljavax/crypto/Cipher; // field@0336 │ │ +025ffe: 6e20 9806 3100 |0009: invoke-virtual {v1, v3}, Ljavax/crypto/Cipher;.doFinal:([B)[B // method@0698 │ │ +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 7701 |0017: const-string v2, "Encryption failed:" // string@0177 │ │ +02601e: 7020 a805 2100 |0019: invoke-direct {v1, v2}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05a8 │ │ +026024: 6e20 ac05 3100 |001c: invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@05ac │ │ +02602a: 6e10 af05 0100 |001f: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ +026030: 0c03 |0022: move-result-object v3 │ │ +026032: 7020 1f05 3000 |0023: invoke-direct {v0, v3}, Ljava/io/IOException;.:(Ljava/lang/String;)V // method@051f │ │ +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 1f05 0300 |002b: invoke-direct {v3, v0}, Ljava/io/IOException;.:(Ljava/lang/String;)V // method@051f │ │ +026048: 2703 |002e: throw v3 │ │ catches : 3 │ │ 0x0004 - 0x0007 │ │ Ljava/lang/Exception; -> 0x0012 │ │ 0x0007 - 0x0011 │ │ -> 0x000f │ │ 0x0011 - 0x0012 │ │ Ljava/lang/Exception; -> 0x0012 │ │ @@ -26831,24 +26831,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 │ │ -026070: |[026070] util.Encryption.getDecryptedStream:(Ljava/io/InputStream;)Ljava/io/InputStream; │ │ -026080: 6300 3303 |0000: sget-boolean v0, Lutil/Encryption;.INITIALZED:Z // field@0333 │ │ -026084: 3800 0800 |0002: if-eqz v0, 000a // +0008 │ │ -026088: 2200 8901 |0004: new-instance v0, Lutil/PaddingCipherInputStream; // type@0189 │ │ -02608c: 7020 5707 1000 |0006: invoke-direct {v0, v1}, Lutil/PaddingCipherInputStream;.:(Ljava/io/InputStream;)V // method@0757 │ │ -026092: 1100 |0009: return-object v0 │ │ -026094: 2201 0001 |000a: new-instance v1, Ljava/io/IOException; // type@0100 │ │ -026098: 1a00 7801 |000c: const-string v0, "Encryption not initialized!" // string@0178 │ │ -02609c: 7020 1f05 0100 |000e: invoke-direct {v1, v0}, Ljava/io/IOException;.:(Ljava/lang/String;)V // method@051f │ │ -0260a2: 2701 |0011: throw v1 │ │ +02606c: |[02606c] util.Encryption.getDecryptedStream:(Ljava/io/InputStream;)Ljava/io/InputStream; │ │ +02607c: 6300 3303 |0000: sget-boolean v0, Lutil/Encryption;.INITIALZED:Z // field@0333 │ │ +026080: 3800 0800 |0002: if-eqz v0, 000a // +0008 │ │ +026084: 2200 8901 |0004: new-instance v0, Lutil/PaddingCipherInputStream; // type@0189 │ │ +026088: 7020 5707 1000 |0006: invoke-direct {v0, v1}, Lutil/PaddingCipherInputStream;.:(Ljava/io/InputStream;)V // method@0757 │ │ +02608e: 1100 |0009: return-object v0 │ │ +026090: 2201 0001 |000a: new-instance v1, Ljava/io/IOException; // type@0100 │ │ +026094: 1a00 7801 |000c: const-string v0, "Encryption not initialized!" // string@0178 │ │ +026098: 7020 1f05 0100 |000e: invoke-direct {v1, v0}, Ljava/io/IOException;.:(Ljava/lang/String;)V // method@051f │ │ +02609e: 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; │ │ @@ -26858,24 +26858,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 │ │ -0260a4: |[0260a4] util.Encryption.getEncryptedOutputStream:(Ljava/io/OutputStream;I)Ljava/io/OutputStream; │ │ -0260b4: 6300 3303 |0000: sget-boolean v0, Lutil/Encryption;.INITIALZED:Z // field@0333 │ │ -0260b8: 3800 0800 |0002: if-eqz v0, 000a // +0008 │ │ -0260bc: 2200 8a01 |0004: new-instance v0, Lutil/PaddingCipherOutputStream; // type@018a │ │ -0260c0: 7030 5e07 1002 |0006: invoke-direct {v0, v1, v2}, Lutil/PaddingCipherOutputStream;.:(Ljava/io/OutputStream;I)V // method@075e │ │ -0260c6: 1100 |0009: return-object v0 │ │ -0260c8: 2201 0001 |000a: new-instance v1, Ljava/io/IOException; // type@0100 │ │ -0260cc: 1a02 7801 |000c: const-string v2, "Encryption not initialized!" // string@0178 │ │ -0260d0: 7020 1f05 2100 |000e: invoke-direct {v1, v2}, Ljava/io/IOException;.:(Ljava/lang/String;)V // method@051f │ │ -0260d6: 2701 |0011: throw v1 │ │ +0260a0: |[0260a0] util.Encryption.getEncryptedOutputStream:(Ljava/io/OutputStream;I)Ljava/io/OutputStream; │ │ +0260b0: 6300 3303 |0000: sget-boolean v0, Lutil/Encryption;.INITIALZED:Z // field@0333 │ │ +0260b4: 3800 0800 |0002: if-eqz v0, 000a // +0008 │ │ +0260b8: 2200 8a01 |0004: new-instance v0, Lutil/PaddingCipherOutputStream; // type@018a │ │ +0260bc: 7030 5e07 1002 |0006: invoke-direct {v0, v1, v2}, Lutil/PaddingCipherOutputStream;.:(Ljava/io/OutputStream;I)V // method@075e │ │ +0260c2: 1100 |0009: return-object v0 │ │ +0260c4: 2201 0001 |000a: new-instance v1, Ljava/io/IOException; // type@0100 │ │ +0260c8: 1a02 7801 |000c: const-string v2, "Encryption not initialized!" // string@0178 │ │ +0260cc: 7020 1f05 2100 |000e: invoke-direct {v1, v2}, Ljava/io/IOException;.:(Ljava/lang/String;)V // method@051f │ │ +0260d2: 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; │ │ @@ -26886,76 +26886,76 @@ │ │ type : '(Ljava/lang/String;)V' │ │ access : 0x0009 (PUBLIC STATIC) │ │ code - │ │ registers : 6 │ │ ins : 1 │ │ outs : 4 │ │ insns size : 125 16-bit code units │ │ -026214: |[026214] util.Encryption.init_AES:(Ljava/lang/String;)V │ │ -026224: 1a00 ac00 |0000: const-string v0, "AES/CBC/PKCS5Padding" // string@00ac │ │ -026228: 6201 3903 |0002: sget-object v1, Lutil/Encryption;.keyphrase:Ljava/lang/String; // field@0339 │ │ -02622c: 6e20 8b05 5100 |0004: invoke-virtual {v1, v5}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058b │ │ -026232: 0a01 |0007: move-result v1 │ │ -026234: 3801 0300 |0008: if-eqz v1, 000b // +0003 │ │ -026238: 0e00 |000a: return-void │ │ -02623a: 1301 1000 |000b: const/16 v1, #int 16 // #10 │ │ -02623e: 2311 9d01 |000d: new-array v1, v1, [B // type@019d │ │ -026242: 7110 0806 0100 |000f: invoke-static {v1}, Ljava/nio/ByteBuffer;.wrap:([B)Ljava/nio/ByteBuffer; // method@0608 │ │ -026248: 0c01 |0012: move-result-object v1 │ │ -02624a: 7110 9507 0500 |0013: invoke-static {v5}, Lutil/Utils;.getLongStringHash:(Ljava/lang/String;)J // method@0795 │ │ -026250: 0b02 |0016: move-result-wide v2 │ │ -026252: 6e30 0606 2103 |0017: invoke-virtual {v1, v2, v3}, Ljava/nio/ByteBuffer;.putLong:(J)Ljava/nio/ByteBuffer; // method@0606 │ │ -026258: 7110 cd06 0500 |001a: invoke-static {v5}, Lutil/Encryption;.invertStr:(Ljava/lang/String;)Ljava/lang/String; // method@06cd │ │ -02625e: 0c02 |001d: move-result-object v2 │ │ -026260: 7110 9507 0200 |001e: invoke-static {v2}, Lutil/Utils;.getLongStringHash:(Ljava/lang/String;)J // method@0795 │ │ -026266: 0b02 |0021: move-result-wide v2 │ │ -026268: 6e30 0606 2103 |0022: invoke-virtual {v1, v2, v3}, Ljava/nio/ByteBuffer;.putLong:(J)Ljava/nio/ByteBuffer; // method@0606 │ │ -02626e: 2202 7401 |0025: new-instance v2, Ljavax/crypto/spec/IvParameterSpec; // type@0174 │ │ -026272: 6203 3703 |0027: sget-object v3, Lutil/Encryption;.iv:[B // field@0337 │ │ -026276: 7020 9b06 3200 |0029: invoke-direct {v2, v3}, Ljavax/crypto/spec/IvParameterSpec;.:([B)V // method@069b │ │ -02627c: 6902 3a03 |002c: sput-object v2, Lutil/Encryption;.paramSpec:Ljava/security/spec/AlgorithmParameterSpec; // field@033a │ │ -026280: 2202 7501 |002e: new-instance v2, Ljavax/crypto/spec/SecretKeySpec; // type@0175 │ │ -026284: 6e10 f805 0100 |0030: invoke-virtual {v1}, Ljava/nio/ByteBuffer;.array:()[B // method@05f8 │ │ -02628a: 0c01 |0033: move-result-object v1 │ │ -02628c: 1a03 ab00 |0034: const-string v3, "AES" // string@00ab │ │ -026290: 7030 9c06 1203 |0036: invoke-direct {v2, v1, v3}, Ljavax/crypto/spec/SecretKeySpec;.:([BLjava/lang/String;)V // method@069c │ │ -026296: 6902 3803 |0039: sput-object v2, Lutil/Encryption;.key:Ljavax/crypto/SecretKey; // field@0338 │ │ -02629a: 7110 9906 0000 |003b: invoke-static {v0}, Ljavax/crypto/Cipher;.getInstance:(Ljava/lang/String;)Ljavax/crypto/Cipher; // method@0699 │ │ -0262a0: 0c01 |003e: move-result-object v1 │ │ -0262a2: 6901 3603 |003f: sput-object v1, Lutil/Encryption;.ecipher:Ljavax/crypto/Cipher; // field@0336 │ │ -0262a6: 6202 3803 |0041: sget-object v2, Lutil/Encryption;.key:Ljavax/crypto/SecretKey; // field@0338 │ │ -0262aa: 6203 3a03 |0043: sget-object v3, Lutil/Encryption;.paramSpec:Ljava/security/spec/AlgorithmParameterSpec; // field@033a │ │ -0262ae: 1214 |0045: const/4 v4, #int 1 // #1 │ │ -0262b0: 6e40 9a06 4132 |0046: invoke-virtual {v1, v4, v2, v3}, Ljavax/crypto/Cipher;.init:(ILjava/security/Key;Ljava/security/spec/AlgorithmParameterSpec;)V // method@069a │ │ -0262b6: 7110 9906 0000 |0049: invoke-static {v0}, Ljavax/crypto/Cipher;.getInstance:(Ljava/lang/String;)Ljavax/crypto/Cipher; // method@0699 │ │ -0262bc: 0c00 |004c: move-result-object v0 │ │ -0262be: 6900 3503 |004d: sput-object v0, Lutil/Encryption;.dcipher:Ljavax/crypto/Cipher; // field@0335 │ │ -0262c2: 6201 3803 |004f: sget-object v1, Lutil/Encryption;.key:Ljavax/crypto/SecretKey; // field@0338 │ │ -0262c6: 6202 3a03 |0051: sget-object v2, Lutil/Encryption;.paramSpec:Ljava/security/spec/AlgorithmParameterSpec; // field@033a │ │ -0262ca: 1223 |0053: const/4 v3, #int 2 // #2 │ │ -0262cc: 6e40 9a06 3021 |0054: invoke-virtual {v0, v3, v1, v2}, Ljavax/crypto/Cipher;.init:(ILjava/security/Key;Ljava/security/spec/AlgorithmParameterSpec;)V // method@069a │ │ -0262d2: 6905 3903 |0057: sput-object v5, Lutil/Encryption;.keyphrase:Ljava/lang/String; // field@0339 │ │ -0262d6: 6a04 3303 |0059: sput-boolean v4, Lutil/Encryption;.INITIALZED:Z // field@0333 │ │ -0262da: 6205 3403 |005b: sget-object v5, Lutil/Encryption;.INIT_BYTES:[B // field@0334 │ │ -0262de: 7110 c906 0500 |005d: invoke-static {v5}, Lutil/Encryption;.encrypt:([B)[B // method@06c9 │ │ -0262e4: 0c05 |0060: move-result-object v5 │ │ -0262e6: 6905 3203 |0061: sput-object v5, Lutil/Encryption;.ENCR_INIT_BYTES:[B // field@0332 │ │ -0262ea: 0e00 |0063: return-void │ │ -0262ec: 0d05 |0064: move-exception v5 │ │ -0262ee: 2200 0001 |0065: new-instance v0, Ljava/io/IOException; // type@0100 │ │ -0262f2: 2201 2d01 |0067: new-instance v1, Ljava/lang/StringBuilder; // type@012d │ │ -0262f6: 1a02 7601 |0069: const-string v2, "Encryption can not be initialized:" // string@0176 │ │ -0262fa: 7020 a805 2100 |006b: invoke-direct {v1, v2}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05a8 │ │ -026300: 6e10 5b05 0500 |006e: invoke-virtual {v5}, Ljava/lang/Exception;.getMessage:()Ljava/lang/String; // method@055b │ │ -026306: 0c05 |0071: move-result-object v5 │ │ -026308: 6e20 ad05 5100 |0072: invoke-virtual {v1, v5}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -02630e: 6e10 af05 0100 |0075: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ -026314: 0c05 |0078: move-result-object v5 │ │ -026316: 7020 1f05 5000 |0079: invoke-direct {v0, v5}, Ljava/io/IOException;.:(Ljava/lang/String;)V // method@051f │ │ -02631c: 2700 |007c: throw v0 │ │ +026210: |[026210] util.Encryption.init_AES:(Ljava/lang/String;)V │ │ +026220: 1a00 ac00 |0000: const-string v0, "AES/CBC/PKCS5Padding" // string@00ac │ │ +026224: 6201 3903 |0002: sget-object v1, Lutil/Encryption;.keyphrase:Ljava/lang/String; // field@0339 │ │ +026228: 6e20 8b05 5100 |0004: invoke-virtual {v1, v5}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058b │ │ +02622e: 0a01 |0007: move-result v1 │ │ +026230: 3801 0300 |0008: if-eqz v1, 000b // +0003 │ │ +026234: 0e00 |000a: return-void │ │ +026236: 1301 1000 |000b: const/16 v1, #int 16 // #10 │ │ +02623a: 2311 9d01 |000d: new-array v1, v1, [B // type@019d │ │ +02623e: 7110 0806 0100 |000f: invoke-static {v1}, Ljava/nio/ByteBuffer;.wrap:([B)Ljava/nio/ByteBuffer; // method@0608 │ │ +026244: 0c01 |0012: move-result-object v1 │ │ +026246: 7110 9507 0500 |0013: invoke-static {v5}, Lutil/Utils;.getLongStringHash:(Ljava/lang/String;)J // method@0795 │ │ +02624c: 0b02 |0016: move-result-wide v2 │ │ +02624e: 6e30 0606 2103 |0017: invoke-virtual {v1, v2, v3}, Ljava/nio/ByteBuffer;.putLong:(J)Ljava/nio/ByteBuffer; // method@0606 │ │ +026254: 7110 cd06 0500 |001a: invoke-static {v5}, Lutil/Encryption;.invertStr:(Ljava/lang/String;)Ljava/lang/String; // method@06cd │ │ +02625a: 0c02 |001d: move-result-object v2 │ │ +02625c: 7110 9507 0200 |001e: invoke-static {v2}, Lutil/Utils;.getLongStringHash:(Ljava/lang/String;)J // method@0795 │ │ +026262: 0b02 |0021: move-result-wide v2 │ │ +026264: 6e30 0606 2103 |0022: invoke-virtual {v1, v2, v3}, Ljava/nio/ByteBuffer;.putLong:(J)Ljava/nio/ByteBuffer; // method@0606 │ │ +02626a: 2202 7401 |0025: new-instance v2, Ljavax/crypto/spec/IvParameterSpec; // type@0174 │ │ +02626e: 6203 3703 |0027: sget-object v3, Lutil/Encryption;.iv:[B // field@0337 │ │ +026272: 7020 9b06 3200 |0029: invoke-direct {v2, v3}, Ljavax/crypto/spec/IvParameterSpec;.:([B)V // method@069b │ │ +026278: 6902 3a03 |002c: sput-object v2, Lutil/Encryption;.paramSpec:Ljava/security/spec/AlgorithmParameterSpec; // field@033a │ │ +02627c: 2202 7501 |002e: new-instance v2, Ljavax/crypto/spec/SecretKeySpec; // type@0175 │ │ +026280: 6e10 f805 0100 |0030: invoke-virtual {v1}, Ljava/nio/ByteBuffer;.array:()[B // method@05f8 │ │ +026286: 0c01 |0033: move-result-object v1 │ │ +026288: 1a03 ab00 |0034: const-string v3, "AES" // string@00ab │ │ +02628c: 7030 9c06 1203 |0036: invoke-direct {v2, v1, v3}, Ljavax/crypto/spec/SecretKeySpec;.:([BLjava/lang/String;)V // method@069c │ │ +026292: 6902 3803 |0039: sput-object v2, Lutil/Encryption;.key:Ljavax/crypto/SecretKey; // field@0338 │ │ +026296: 7110 9906 0000 |003b: invoke-static {v0}, Ljavax/crypto/Cipher;.getInstance:(Ljava/lang/String;)Ljavax/crypto/Cipher; // method@0699 │ │ +02629c: 0c01 |003e: move-result-object v1 │ │ +02629e: 6901 3603 |003f: sput-object v1, Lutil/Encryption;.ecipher:Ljavax/crypto/Cipher; // field@0336 │ │ +0262a2: 6202 3803 |0041: sget-object v2, Lutil/Encryption;.key:Ljavax/crypto/SecretKey; // field@0338 │ │ +0262a6: 6203 3a03 |0043: sget-object v3, Lutil/Encryption;.paramSpec:Ljava/security/spec/AlgorithmParameterSpec; // field@033a │ │ +0262aa: 1214 |0045: const/4 v4, #int 1 // #1 │ │ +0262ac: 6e40 9a06 4132 |0046: invoke-virtual {v1, v4, v2, v3}, Ljavax/crypto/Cipher;.init:(ILjava/security/Key;Ljava/security/spec/AlgorithmParameterSpec;)V // method@069a │ │ +0262b2: 7110 9906 0000 |0049: invoke-static {v0}, Ljavax/crypto/Cipher;.getInstance:(Ljava/lang/String;)Ljavax/crypto/Cipher; // method@0699 │ │ +0262b8: 0c00 |004c: move-result-object v0 │ │ +0262ba: 6900 3503 |004d: sput-object v0, Lutil/Encryption;.dcipher:Ljavax/crypto/Cipher; // field@0335 │ │ +0262be: 6201 3803 |004f: sget-object v1, Lutil/Encryption;.key:Ljavax/crypto/SecretKey; // field@0338 │ │ +0262c2: 6202 3a03 |0051: sget-object v2, Lutil/Encryption;.paramSpec:Ljava/security/spec/AlgorithmParameterSpec; // field@033a │ │ +0262c6: 1223 |0053: const/4 v3, #int 2 // #2 │ │ +0262c8: 6e40 9a06 3021 |0054: invoke-virtual {v0, v3, v1, v2}, Ljavax/crypto/Cipher;.init:(ILjava/security/Key;Ljava/security/spec/AlgorithmParameterSpec;)V // method@069a │ │ +0262ce: 6905 3903 |0057: sput-object v5, Lutil/Encryption;.keyphrase:Ljava/lang/String; // field@0339 │ │ +0262d2: 6a04 3303 |0059: sput-boolean v4, Lutil/Encryption;.INITIALZED:Z // field@0333 │ │ +0262d6: 6205 3403 |005b: sget-object v5, Lutil/Encryption;.INIT_BYTES:[B // field@0334 │ │ +0262da: 7110 c906 0500 |005d: invoke-static {v5}, Lutil/Encryption;.encrypt:([B)[B // method@06c9 │ │ +0262e0: 0c05 |0060: move-result-object v5 │ │ +0262e2: 6905 3203 |0061: sput-object v5, Lutil/Encryption;.ENCR_INIT_BYTES:[B // field@0332 │ │ +0262e6: 0e00 |0063: return-void │ │ +0262e8: 0d05 |0064: move-exception v5 │ │ +0262ea: 2200 0001 |0065: new-instance v0, Ljava/io/IOException; // type@0100 │ │ +0262ee: 2201 2d01 |0067: new-instance v1, Ljava/lang/StringBuilder; // type@012d │ │ +0262f2: 1a02 7601 |0069: const-string v2, "Encryption can not be initialized:" // string@0176 │ │ +0262f6: 7020 a805 2100 |006b: invoke-direct {v1, v2}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05a8 │ │ +0262fc: 6e10 5b05 0500 |006e: invoke-virtual {v5}, Ljava/lang/Exception;.getMessage:()Ljava/lang/String; // method@055b │ │ +026302: 0c05 |0071: move-result-object v5 │ │ +026304: 6e20 ad05 5100 |0072: invoke-virtual {v1, v5}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +02630a: 6e10 af05 0100 |0075: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ +026310: 0c05 |0078: move-result-object v5 │ │ +026312: 7020 1f05 5000 |0079: invoke-direct {v0, v5}, Ljava/io/IOException;.:(Ljava/lang/String;)V // method@051f │ │ +026318: 2700 |007c: throw v0 │ │ catches : 1 │ │ 0x000d - 0x0063 │ │ Ljava/lang/Exception; -> 0x0064 │ │ positions : │ │ 0x0000 line=46 │ │ 0x000d line=50 │ │ 0x0013 line=51 │ │ @@ -26978,51 +26978,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 │ │ -0260d8: |[0260d8] util.Encryption.invertStr:(Ljava/lang/String;)Ljava/lang/String; │ │ -0260e8: 2200 2c01 |0000: new-instance v0, Ljava/lang/StringBuffer; // type@012c │ │ -0260ec: 7010 a105 0000 |0002: invoke-direct {v0}, Ljava/lang/StringBuffer;.:()V // method@05a1 │ │ -0260f2: 1201 |0005: const/4 v1, #int 0 // #0 │ │ -0260f4: 6e10 9405 0500 |0006: invoke-virtual {v5}, Ljava/lang/String;.length:()I // method@0594 │ │ -0260fa: 0a02 |0009: move-result v2 │ │ -0260fc: 3521 3e00 |000a: if-ge v1, v2, 0048 // +003e │ │ -026100: 6e20 8705 1500 |000c: invoke-virtual {v5, v1}, Ljava/lang/String;.charAt:(I)C // method@0587 │ │ -026106: 0a02 |000f: move-result v2 │ │ -026108: 7110 5105 0200 |0010: invoke-static {v2}, Ljava/lang/Character;.isUpperCase:(C)Z // method@0551 │ │ -02610e: 0a03 |0013: move-result v3 │ │ -026110: 1a04 0000 |0014: const-string v4, "" // string@0000 │ │ -026114: 3803 1900 |0016: if-eqz v3, 002f // +0019 │ │ -026118: 2203 2d01 |0018: new-instance v3, Ljava/lang/StringBuilder; // type@012d │ │ -02611c: 7010 a705 0300 |001a: invoke-direct {v3}, Ljava/lang/StringBuilder;.:()V // method@05a7 │ │ -026122: 6e20 a905 2300 |001d: invoke-virtual {v3, v2}, Ljava/lang/StringBuilder;.append:(C)Ljava/lang/StringBuilder; // method@05a9 │ │ -026128: 6e20 ad05 4300 |0020: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -02612e: 6e10 af05 0300 |0023: invoke-virtual {v3}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ -026134: 0c02 |0026: move-result-object v2 │ │ -026136: 6e10 9c05 0200 |0027: invoke-virtual {v2}, Ljava/lang/String;.toLowerCase:()Ljava/lang/String; // method@059c │ │ -02613c: 0c02 |002a: move-result-object v2 │ │ -02613e: 6e20 a405 2000 |002b: invoke-virtual {v0, v2}, Ljava/lang/StringBuffer;.append:(Ljava/lang/String;)Ljava/lang/StringBuffer; // method@05a4 │ │ -026144: 2817 |002e: goto 0045 // +0017 │ │ -026146: 2203 2d01 |002f: new-instance v3, Ljava/lang/StringBuilder; // type@012d │ │ -02614a: 7010 a705 0300 |0031: invoke-direct {v3}, Ljava/lang/StringBuilder;.:()V // method@05a7 │ │ -026150: 6e20 a905 2300 |0034: invoke-virtual {v3, v2}, Ljava/lang/StringBuilder;.append:(C)Ljava/lang/StringBuilder; // method@05a9 │ │ -026156: 6e20 ad05 4300 |0037: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -02615c: 6e10 af05 0300 |003a: invoke-virtual {v3}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ -026162: 0c02 |003d: move-result-object v2 │ │ -026164: 6e10 9e05 0200 |003e: invoke-virtual {v2}, Ljava/lang/String;.toUpperCase:()Ljava/lang/String; // method@059e │ │ -02616a: 0c02 |0041: move-result-object v2 │ │ -02616c: 6e20 a405 2000 |0042: invoke-virtual {v0, v2}, Ljava/lang/StringBuffer;.append:(Ljava/lang/String;)Ljava/lang/StringBuffer; // method@05a4 │ │ -026172: d801 0101 |0045: add-int/lit8 v1, v1, #int 1 // #01 │ │ -026176: 28bf |0047: goto 0006 // -0041 │ │ -026178: 6e10 a605 0000 |0048: invoke-virtual {v0}, Ljava/lang/StringBuffer;.toString:()Ljava/lang/String; // method@05a6 │ │ -02617e: 0c05 |004b: move-result-object v5 │ │ -026180: 1105 |004c: return-object v5 │ │ +0260d4: |[0260d4] util.Encryption.invertStr:(Ljava/lang/String;)Ljava/lang/String; │ │ +0260e4: 2200 2c01 |0000: new-instance v0, Ljava/lang/StringBuffer; // type@012c │ │ +0260e8: 7010 a105 0000 |0002: invoke-direct {v0}, Ljava/lang/StringBuffer;.:()V // method@05a1 │ │ +0260ee: 1201 |0005: const/4 v1, #int 0 // #0 │ │ +0260f0: 6e10 9405 0500 |0006: invoke-virtual {v5}, Ljava/lang/String;.length:()I // method@0594 │ │ +0260f6: 0a02 |0009: move-result v2 │ │ +0260f8: 3521 3e00 |000a: if-ge v1, v2, 0048 // +003e │ │ +0260fc: 6e20 8705 1500 |000c: invoke-virtual {v5, v1}, Ljava/lang/String;.charAt:(I)C // method@0587 │ │ +026102: 0a02 |000f: move-result v2 │ │ +026104: 7110 5105 0200 |0010: invoke-static {v2}, Ljava/lang/Character;.isUpperCase:(C)Z // method@0551 │ │ +02610a: 0a03 |0013: move-result v3 │ │ +02610c: 1a04 0000 |0014: const-string v4, "" // string@0000 │ │ +026110: 3803 1900 |0016: if-eqz v3, 002f // +0019 │ │ +026114: 2203 2d01 |0018: new-instance v3, Ljava/lang/StringBuilder; // type@012d │ │ +026118: 7010 a705 0300 |001a: invoke-direct {v3}, Ljava/lang/StringBuilder;.:()V // method@05a7 │ │ +02611e: 6e20 a905 2300 |001d: invoke-virtual {v3, v2}, Ljava/lang/StringBuilder;.append:(C)Ljava/lang/StringBuilder; // method@05a9 │ │ +026124: 6e20 ad05 4300 |0020: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +02612a: 6e10 af05 0300 |0023: invoke-virtual {v3}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ +026130: 0c02 |0026: move-result-object v2 │ │ +026132: 6e10 9c05 0200 |0027: invoke-virtual {v2}, Ljava/lang/String;.toLowerCase:()Ljava/lang/String; // method@059c │ │ +026138: 0c02 |002a: move-result-object v2 │ │ +02613a: 6e20 a405 2000 |002b: invoke-virtual {v0, v2}, Ljava/lang/StringBuffer;.append:(Ljava/lang/String;)Ljava/lang/StringBuffer; // method@05a4 │ │ +026140: 2817 |002e: goto 0045 // +0017 │ │ +026142: 2203 2d01 |002f: new-instance v3, Ljava/lang/StringBuilder; // type@012d │ │ +026146: 7010 a705 0300 |0031: invoke-direct {v3}, Ljava/lang/StringBuilder;.:()V // method@05a7 │ │ +02614c: 6e20 a905 2300 |0034: invoke-virtual {v3, v2}, Ljava/lang/StringBuilder;.append:(C)Ljava/lang/StringBuilder; // method@05a9 │ │ +026152: 6e20 ad05 4300 |0037: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +026158: 6e10 af05 0300 |003a: invoke-virtual {v3}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ +02615e: 0c02 |003d: move-result-object v2 │ │ +026160: 6e10 9e05 0200 |003e: invoke-virtual {v2}, Ljava/lang/String;.toUpperCase:()Ljava/lang/String; // method@059e │ │ +026166: 0c02 |0041: move-result-object v2 │ │ +026168: 6e20 a405 2000 |0042: invoke-virtual {v0, v2}, Ljava/lang/StringBuffer;.append:(Ljava/lang/String;)Ljava/lang/StringBuffer; // method@05a4 │ │ +02616e: d801 0101 |0045: add-int/lit8 v1, v1, #int 1 // #01 │ │ +026172: 28bf |0047: goto 0006 // -0041 │ │ +026174: 6e10 a605 0000 |0048: invoke-virtual {v0}, Ljava/lang/StringBuffer;.toString:()Ljava/lang/String; // method@05a6 │ │ +02617a: 0c05 |004b: move-result-object v5 │ │ +02617c: 1105 |004c: return-object v5 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=32 │ │ 0x0006 line=33 │ │ 0x000c line=34 │ │ 0x0010 line=35 │ │ 0x0018 line=36 │ │ @@ -27198,36 +27198,36 @@ │ │ type : '(ILutil/ObjectPackagingManager;)V' │ │ access : 0x10001 (PUBLIC CONSTRUCTOR) │ │ code - │ │ registers : 5 │ │ ins : 3 │ │ outs : 1 │ │ insns size : 38 16-bit code units │ │ -0270ac: |[0270ac] util.HugePackedSet.:(ILutil/ObjectPackagingManager;)V │ │ -0270bc: 7010 7305 0200 |0000: invoke-direct {v2}, Ljava/lang/Object;.:()V // method@0573 │ │ -0270c2: 1200 |0003: const/4 v0, #int 0 // #0 │ │ -0270c4: 5920 4c03 |0004: iput v0, v2, Lutil/HugePackedSet;.count:I // field@034c │ │ -0270c8: 1201 |0006: const/4 v1, #int 0 // #0 │ │ -0270ca: 5b21 5003 |0007: iput-object v1, v2, Lutil/HugePackedSet;.slotSizes:[I // field@0350 │ │ -0270ce: 5b21 5103 |0009: iput-object v1, v2, Lutil/HugePackedSet;.subsets:[Lutil/PackedSortedList; // field@0351 │ │ -0270d2: 5b21 4d03 |000b: iput-object v1, v2, Lutil/HugePackedSet;.loadedFromPath:Ljava/lang/String; // field@034d │ │ -0270d6: 5b24 4e03 |000d: iput-object v4, v2, Lutil/HugePackedSet;.objMgr:Lutil/ObjectPackagingManager; // field@034e │ │ -0270da: 5923 4f03 |000f: iput v3, v2, Lutil/HugePackedSet;.slotCount:I // field@034f │ │ -0270de: 2334 9e01 |0011: new-array v4, v3, [I // type@019e │ │ -0270e2: 5b24 5003 |0013: iput-object v4, v2, Lutil/HugePackedSet;.slotSizes:[I // field@0350 │ │ -0270e6: 2333 b501 |0015: new-array v3, v3, [Lutil/PackedSortedList; // type@01b5 │ │ -0270ea: 5b23 5103 |0017: iput-object v3, v2, Lutil/HugePackedSet;.subsets:[Lutil/PackedSortedList; // field@0351 │ │ -0270ee: 1203 |0019: const/4 v3, #int 0 // #0 │ │ -0270f0: 5224 4f03 |001a: iget v4, v2, Lutil/HugePackedSet;.slotCount:I // field@034f │ │ -0270f4: 3543 0900 |001c: if-ge v3, v4, 0025 // +0009 │ │ -0270f8: 5424 5003 |001e: iget-object v4, v2, Lutil/HugePackedSet;.slotSizes:[I // field@0350 │ │ -0270fc: 4b00 0403 |0020: aput v0, v4, v3 │ │ -027100: d803 0301 |0022: add-int/lit8 v3, v3, #int 1 // #01 │ │ -027104: 28f6 |0024: goto 001a // -000a │ │ -027106: 0e00 |0025: return-void │ │ +0270a8: |[0270a8] util.HugePackedSet.:(ILutil/ObjectPackagingManager;)V │ │ +0270b8: 7010 7305 0200 |0000: invoke-direct {v2}, Ljava/lang/Object;.:()V // method@0573 │ │ +0270be: 1200 |0003: const/4 v0, #int 0 // #0 │ │ +0270c0: 5920 4c03 |0004: iput v0, v2, Lutil/HugePackedSet;.count:I // field@034c │ │ +0270c4: 1201 |0006: const/4 v1, #int 0 // #0 │ │ +0270c6: 5b21 5003 |0007: iput-object v1, v2, Lutil/HugePackedSet;.slotSizes:[I // field@0350 │ │ +0270ca: 5b21 5103 |0009: iput-object v1, v2, Lutil/HugePackedSet;.subsets:[Lutil/PackedSortedList; // field@0351 │ │ +0270ce: 5b21 4d03 |000b: iput-object v1, v2, Lutil/HugePackedSet;.loadedFromPath:Ljava/lang/String; // field@034d │ │ +0270d2: 5b24 4e03 |000d: iput-object v4, v2, Lutil/HugePackedSet;.objMgr:Lutil/ObjectPackagingManager; // field@034e │ │ +0270d6: 5923 4f03 |000f: iput v3, v2, Lutil/HugePackedSet;.slotCount:I // field@034f │ │ +0270da: 2334 9e01 |0011: new-array v4, v3, [I // type@019e │ │ +0270de: 5b24 5003 |0013: iput-object v4, v2, Lutil/HugePackedSet;.slotSizes:[I // field@0350 │ │ +0270e2: 2333 b501 |0015: new-array v3, v3, [Lutil/PackedSortedList; // type@01b5 │ │ +0270e6: 5b23 5103 |0017: iput-object v3, v2, Lutil/HugePackedSet;.subsets:[Lutil/PackedSortedList; // field@0351 │ │ +0270ea: 1203 |0019: const/4 v3, #int 0 // #0 │ │ +0270ec: 5224 4f03 |001a: iget v4, v2, Lutil/HugePackedSet;.slotCount:I // field@034f │ │ +0270f0: 3543 0900 |001c: if-ge v3, v4, 0025 // +0009 │ │ +0270f4: 5424 5003 |001e: iget-object v4, v2, Lutil/HugePackedSet;.slotSizes:[I // field@0350 │ │ +0270f8: 4b00 0403 |0020: aput v0, v4, v3 │ │ +0270fc: d803 0301 |0022: add-int/lit8 v3, v3, #int 1 // #01 │ │ +027100: 28f6 |0024: goto 001a // -000a │ │ +027102: 0e00 |0025: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=48 │ │ 0x0004 line=40 │ │ 0x0007 line=42 │ │ 0x0009 line=44 │ │ 0x000b line=46 │ │ @@ -27247,24 +27247,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 │ │ -027108: |[027108] util.HugePackedSet.:(Ljava/lang/String;[Lutil/PackedSortedList;IILutil/ObjectPackagingManager;)V │ │ -027118: 7010 7305 0100 |0000: invoke-direct {v1}, Ljava/lang/Object;.:()V // method@0573 │ │ -02711e: 1200 |0003: const/4 v0, #int 0 // #0 │ │ -027120: 5b10 5003 |0004: iput-object v0, v1, Lutil/HugePackedSet;.slotSizes:[I // field@0350 │ │ -027124: 5b12 4d03 |0006: iput-object v2, v1, Lutil/HugePackedSet;.loadedFromPath:Ljava/lang/String; // field@034d │ │ -027128: 5b16 4e03 |0008: iput-object v6, v1, Lutil/HugePackedSet;.objMgr:Lutil/ObjectPackagingManager; // field@034e │ │ -02712c: 5914 4f03 |000a: iput v4, v1, Lutil/HugePackedSet;.slotCount:I // field@034f │ │ -027130: 5b13 5103 |000c: iput-object v3, v1, Lutil/HugePackedSet;.subsets:[Lutil/PackedSortedList; // field@0351 │ │ -027134: 5915 4c03 |000e: iput v5, v1, Lutil/HugePackedSet;.count:I // field@034c │ │ -027138: 0e00 |0010: return-void │ │ +027104: |[027104] util.HugePackedSet.:(Ljava/lang/String;[Lutil/PackedSortedList;IILutil/ObjectPackagingManager;)V │ │ +027114: 7010 7305 0100 |0000: invoke-direct {v1}, Ljava/lang/Object;.:()V // method@0573 │ │ +02711a: 1200 |0003: const/4 v0, #int 0 // #0 │ │ +02711c: 5b10 5003 |0004: iput-object v0, v1, Lutil/HugePackedSet;.slotSizes:[I // field@0350 │ │ +027120: 5b12 4d03 |0006: iput-object v2, v1, Lutil/HugePackedSet;.loadedFromPath:Ljava/lang/String; // field@034d │ │ +027124: 5b16 4e03 |0008: iput-object v6, v1, Lutil/HugePackedSet;.objMgr:Lutil/ObjectPackagingManager; // field@034e │ │ +027128: 5914 4f03 |000a: iput v4, v1, Lutil/HugePackedSet;.slotCount:I // field@034f │ │ +02712c: 5b13 5103 |000c: iput-object v3, v1, Lutil/HugePackedSet;.subsets:[Lutil/PackedSortedList; // field@0351 │ │ +027130: 5915 4c03 |000e: iput v5, v1, Lutil/HugePackedSet;.count:I // field@034c │ │ +027134: 0e00 |0010: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=58 │ │ 0x0004 line=42 │ │ 0x0006 line=59 │ │ 0x0008 line=60 │ │ 0x000a line=61 │ │ @@ -27283,48 +27283,48 @@ │ │ type : '(Ljava/lang/String;)Z' │ │ access : 0x0009 (PUBLIC STATIC) │ │ code - │ │ registers : 5 │ │ ins : 1 │ │ outs : 4 │ │ insns size : 73 16-bit code units │ │ -026dd4: |[026dd4] util.HugePackedSet.checkIndexVersion:(Ljava/lang/String;)Z │ │ -026de4: 2200 fb00 |0000: new-instance v0, Ljava/io/File; // type@00fb │ │ -026de8: 2201 2d01 |0002: new-instance v1, Ljava/lang/StringBuilder; // type@012d │ │ -026dec: 7010 a705 0100 |0004: invoke-direct {v1}, Ljava/lang/StringBuilder;.:()V // method@05a7 │ │ -026df2: 6e20 ad05 4100 |0007: invoke-virtual {v1, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -026df8: 1a02 6100 |000a: const-string v2, "/IDX_VERSION" // string@0061 │ │ -026dfc: 6e20 ad05 2100 |000c: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -026e02: 6e10 af05 0100 |000f: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ -026e08: 0c01 |0012: move-result-object v1 │ │ -026e0a: 7020 ff04 1000 |0013: invoke-direct {v0, v1}, Ljava/io/File;.:(Ljava/lang/String;)V // method@04ff │ │ -026e10: 6e10 0505 0000 |0016: invoke-virtual {v0}, Ljava/io/File;.exists:()Z // method@0505 │ │ -026e16: 0a00 |0019: move-result v0 │ │ -026e18: 1201 |001a: const/4 v1, #int 0 // #0 │ │ -026e1a: 3800 2d00 |001b: if-eqz v0, 0048 // +002d │ │ -026e1e: 2200 fd00 |001d: new-instance v0, Ljava/io/FileInputStream; // type@00fd │ │ -026e22: 2203 2d01 |001f: new-instance v3, Ljava/lang/StringBuilder; // type@012d │ │ -026e26: 7010 a705 0300 |0021: invoke-direct {v3}, Ljava/lang/StringBuilder;.:()V // method@05a7 │ │ -026e2c: 6e20 ad05 4300 |0024: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -026e32: 6e20 ad05 2300 |0027: invoke-virtual {v3, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -026e38: 6e10 af05 0300 |002a: invoke-virtual {v3}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ -026e3e: 0c04 |002d: move-result-object v4 │ │ -026e40: 7020 1305 4000 |002e: invoke-direct {v0, v4}, Ljava/io/FileInputStream;.:(Ljava/lang/String;)V // method@0513 │ │ -026e46: 1304 0a00 |0031: const/16 v4, #int 10 // #a │ │ -026e4a: 2344 9d01 |0033: new-array v4, v4, [B // type@019d │ │ -026e4e: 6e20 1505 4000 |0035: invoke-virtual {v0, v4}, Ljava/io/FileInputStream;.read:([B)I // method@0515 │ │ -026e54: 0a02 |0038: move-result v2 │ │ -026e56: 6e10 1405 0000 |0039: invoke-virtual {v0}, Ljava/io/FileInputStream;.close:()V // method@0514 │ │ -026e5c: 2200 2b01 |003c: new-instance v0, Ljava/lang/String; // type@012b │ │ -026e60: 7040 8605 4021 |003e: invoke-direct {v0, v4, v1, v2}, Ljava/lang/String;.:([BII)V // method@0586 │ │ -026e66: 1a04 6c00 |0041: const-string v4, "1.0" // string@006c │ │ -026e6a: 6e20 8b05 4000 |0043: invoke-virtual {v0, v4}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058b │ │ -026e70: 0a04 |0046: move-result v4 │ │ -026e72: 0f04 |0047: return v4 │ │ -026e74: 0f01 |0048: return v1 │ │ +026dd0: |[026dd0] util.HugePackedSet.checkIndexVersion:(Ljava/lang/String;)Z │ │ +026de0: 2200 fb00 |0000: new-instance v0, Ljava/io/File; // type@00fb │ │ +026de4: 2201 2d01 |0002: new-instance v1, Ljava/lang/StringBuilder; // type@012d │ │ +026de8: 7010 a705 0100 |0004: invoke-direct {v1}, Ljava/lang/StringBuilder;.:()V // method@05a7 │ │ +026dee: 6e20 ad05 4100 |0007: invoke-virtual {v1, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +026df4: 1a02 6100 |000a: const-string v2, "/IDX_VERSION" // string@0061 │ │ +026df8: 6e20 ad05 2100 |000c: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +026dfe: 6e10 af05 0100 |000f: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ +026e04: 0c01 |0012: move-result-object v1 │ │ +026e06: 7020 ff04 1000 |0013: invoke-direct {v0, v1}, Ljava/io/File;.:(Ljava/lang/String;)V // method@04ff │ │ +026e0c: 6e10 0505 0000 |0016: invoke-virtual {v0}, Ljava/io/File;.exists:()Z // method@0505 │ │ +026e12: 0a00 |0019: move-result v0 │ │ +026e14: 1201 |001a: const/4 v1, #int 0 // #0 │ │ +026e16: 3800 2d00 |001b: if-eqz v0, 0048 // +002d │ │ +026e1a: 2200 fd00 |001d: new-instance v0, Ljava/io/FileInputStream; // type@00fd │ │ +026e1e: 2203 2d01 |001f: new-instance v3, Ljava/lang/StringBuilder; // type@012d │ │ +026e22: 7010 a705 0300 |0021: invoke-direct {v3}, Ljava/lang/StringBuilder;.:()V // method@05a7 │ │ +026e28: 6e20 ad05 4300 |0024: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +026e2e: 6e20 ad05 2300 |0027: invoke-virtual {v3, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +026e34: 6e10 af05 0300 |002a: invoke-virtual {v3}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ +026e3a: 0c04 |002d: move-result-object v4 │ │ +026e3c: 7020 1305 4000 |002e: invoke-direct {v0, v4}, Ljava/io/FileInputStream;.:(Ljava/lang/String;)V // method@0513 │ │ +026e42: 1304 0a00 |0031: const/16 v4, #int 10 // #a │ │ +026e46: 2344 9d01 |0033: new-array v4, v4, [B // type@019d │ │ +026e4a: 6e20 1505 4000 |0035: invoke-virtual {v0, v4}, Ljava/io/FileInputStream;.read:([B)I // method@0515 │ │ +026e50: 0a02 |0038: move-result v2 │ │ +026e52: 6e10 1405 0000 |0039: invoke-virtual {v0}, Ljava/io/FileInputStream;.close:()V // method@0514 │ │ +026e58: 2200 2b01 |003c: new-instance v0, Ljava/lang/String; // type@012b │ │ +026e5c: 7040 8605 4021 |003e: invoke-direct {v0, v4, v1, v2}, Ljava/lang/String;.:([BII)V // method@0586 │ │ +026e62: 1a04 6c00 |0041: const-string v4, "1.0" // string@006c │ │ +026e66: 6e20 8b05 4000 |0043: invoke-virtual {v0, v4}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058b │ │ +026e6c: 0a04 |0046: move-result v4 │ │ +026e6e: 0f04 |0047: return v4 │ │ +026e70: 0f01 |0048: return v1 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=206 │ │ 0x0016 line=207 │ │ 0x001d line=208 │ │ 0x0033 line=209 │ │ 0x0035 line=210 │ │ @@ -27338,67 +27338,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 │ │ -026fd4: |[026fd4] util.HugePackedSet.load:(Ljava/lang/String;ZLutil/ObjectPackagingManager;)Lutil/HugePackedSet; │ │ -026fe4: 7110 0007 0700 |0000: invoke-static {v7}, Lutil/HugePackedSet;.checkIndexVersion:(Ljava/lang/String;)Z // method@0700 │ │ -026fea: 0a00 |0003: move-result v0 │ │ -026fec: 3800 5600 |0004: if-eqz v0, 005a // +0056 │ │ -026ff0: 1200 |0006: const/4 v0, #int 0 // #0 │ │ -026ff2: 1204 |0007: const/4 v4, #int 0 // #0 │ │ -026ff4: 2201 fb00 |0008: new-instance v1, Ljava/io/File; // type@00fb │ │ -026ff8: 2202 2d01 |000a: new-instance v2, Ljava/lang/StringBuilder; // type@012d │ │ -026ffc: 7010 a705 0200 |000c: invoke-direct {v2}, Ljava/lang/StringBuilder;.:()V // method@05a7 │ │ -027002: 6e20 ad05 7200 |000f: invoke-virtual {v2, v7}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -027008: 1a03 6800 |0012: const-string v3, "/idx" // string@0068 │ │ -02700c: 6e20 ad05 3200 |0014: invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -027012: 6e20 aa05 4200 |0017: invoke-virtual {v2, v4}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@05aa │ │ -027018: 6e10 af05 0200 |001a: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ -02701e: 0c02 |001d: move-result-object v2 │ │ -027020: 7020 ff04 2100 |001e: invoke-direct {v1, v2}, Ljava/io/File;.:(Ljava/lang/String;)V // method@04ff │ │ -027026: 6e10 0505 0100 |0021: invoke-virtual {v1}, Ljava/io/File;.exists:()Z // method@0505 │ │ -02702c: 0a01 |0024: move-result v1 │ │ -02702e: 3801 0500 |0025: if-eqz v1, 002a // +0005 │ │ -027032: d804 0401 |0027: add-int/lit8 v4, v4, #int 1 // #01 │ │ -027036: 28df |0029: goto 0008 // -0021 │ │ -027038: 2345 b501 |002a: new-array v5, v4, [Lutil/PackedSortedList; // type@01b5 │ │ -02703c: 1206 |002c: const/4 v6, #int 0 // #0 │ │ -02703e: 3540 2200 |002d: if-ge v0, v4, 004f // +0022 │ │ -027042: 2201 2d01 |002f: new-instance v1, Ljava/lang/StringBuilder; // type@012d │ │ -027046: 7010 a705 0100 |0031: invoke-direct {v1}, Ljava/lang/StringBuilder;.:()V // method@05a7 │ │ -02704c: 6e20 ad05 7100 |0034: invoke-virtual {v1, v7}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -027052: 6e20 ad05 3100 |0037: invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -027058: 6e20 aa05 0100 |003a: invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@05aa │ │ -02705e: 6e10 af05 0100 |003d: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ -027064: 0c01 |0040: move-result-object v1 │ │ -027066: 7130 4a07 8109 |0041: invoke-static {v1, v8, v9}, Lutil/PackedSortedList;.load:(Ljava/lang/String;ZLutil/ObjectPackagingManager;)Lutil/PackedSortedList; // method@074a │ │ -02706c: 0c01 |0044: move-result-object v1 │ │ -02706e: 4d01 0500 |0045: aput-object v1, v5, v0 │ │ -027072: 6e10 5307 0100 |0047: invoke-virtual {v1}, Lutil/PackedSortedList;.size:()I // method@0753 │ │ -027078: 0a01 |004a: move-result v1 │ │ -02707a: b016 |004b: add-int/2addr v6, v1 │ │ -02707c: d800 0001 |004c: add-int/lit8 v0, v0, #int 1 // #01 │ │ -027080: 28df |004e: goto 002d // -0021 │ │ -027082: 2208 8301 |004f: new-instance v8, Lutil/HugePackedSet; // type@0183 │ │ -027086: 0781 |0051: move-object v1, v8 │ │ -027088: 0772 |0052: move-object v2, v7 │ │ -02708a: 0753 |0053: move-object v3, v5 │ │ -02708c: 0165 |0054: move v5, v6 │ │ -02708e: 0796 |0055: move-object v6, v9 │ │ -027090: 7606 fd06 0100 |0056: invoke-direct/range {v1, v2, v3, v4, v5, v6}, Lutil/HugePackedSet;.:(Ljava/lang/String;[Lutil/PackedSortedList;IILutil/ObjectPackagingManager;)V // method@06fd │ │ -027096: 1108 |0059: return-object v8 │ │ -027098: 2207 0001 |005a: new-instance v7, Ljava/io/IOException; // type@0100 │ │ -02709c: 1a08 e301 |005c: const-string v8, "Incompatible index version - Rebuild Index!" // string@01e3 │ │ -0270a0: 7020 1f05 8700 |005e: invoke-direct {v7, v8}, Ljava/io/IOException;.:(Ljava/lang/String;)V // method@051f │ │ -0270a6: 2802 |0061: goto 0063 // +0002 │ │ -0270a8: 2707 |0062: throw v7 │ │ -0270aa: 28ff |0063: goto 0062 // -0001 │ │ +026fd0: |[026fd0] util.HugePackedSet.load:(Ljava/lang/String;ZLutil/ObjectPackagingManager;)Lutil/HugePackedSet; │ │ +026fe0: 7110 0007 0700 |0000: invoke-static {v7}, Lutil/HugePackedSet;.checkIndexVersion:(Ljava/lang/String;)Z // method@0700 │ │ +026fe6: 0a00 |0003: move-result v0 │ │ +026fe8: 3800 5600 |0004: if-eqz v0, 005a // +0056 │ │ +026fec: 1200 |0006: const/4 v0, #int 0 // #0 │ │ +026fee: 1204 |0007: const/4 v4, #int 0 // #0 │ │ +026ff0: 2201 fb00 |0008: new-instance v1, Ljava/io/File; // type@00fb │ │ +026ff4: 2202 2d01 |000a: new-instance v2, Ljava/lang/StringBuilder; // type@012d │ │ +026ff8: 7010 a705 0200 |000c: invoke-direct {v2}, Ljava/lang/StringBuilder;.:()V // method@05a7 │ │ +026ffe: 6e20 ad05 7200 |000f: invoke-virtual {v2, v7}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +027004: 1a03 6800 |0012: const-string v3, "/idx" // string@0068 │ │ +027008: 6e20 ad05 3200 |0014: invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +02700e: 6e20 aa05 4200 |0017: invoke-virtual {v2, v4}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@05aa │ │ +027014: 6e10 af05 0200 |001a: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ +02701a: 0c02 |001d: move-result-object v2 │ │ +02701c: 7020 ff04 2100 |001e: invoke-direct {v1, v2}, Ljava/io/File;.:(Ljava/lang/String;)V // method@04ff │ │ +027022: 6e10 0505 0100 |0021: invoke-virtual {v1}, Ljava/io/File;.exists:()Z // method@0505 │ │ +027028: 0a01 |0024: move-result v1 │ │ +02702a: 3801 0500 |0025: if-eqz v1, 002a // +0005 │ │ +02702e: d804 0401 |0027: add-int/lit8 v4, v4, #int 1 // #01 │ │ +027032: 28df |0029: goto 0008 // -0021 │ │ +027034: 2345 b501 |002a: new-array v5, v4, [Lutil/PackedSortedList; // type@01b5 │ │ +027038: 1206 |002c: const/4 v6, #int 0 // #0 │ │ +02703a: 3540 2200 |002d: if-ge v0, v4, 004f // +0022 │ │ +02703e: 2201 2d01 |002f: new-instance v1, Ljava/lang/StringBuilder; // type@012d │ │ +027042: 7010 a705 0100 |0031: invoke-direct {v1}, Ljava/lang/StringBuilder;.:()V // method@05a7 │ │ +027048: 6e20 ad05 7100 |0034: invoke-virtual {v1, v7}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +02704e: 6e20 ad05 3100 |0037: invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +027054: 6e20 aa05 0100 |003a: invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@05aa │ │ +02705a: 6e10 af05 0100 |003d: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ +027060: 0c01 |0040: move-result-object v1 │ │ +027062: 7130 4a07 8109 |0041: invoke-static {v1, v8, v9}, Lutil/PackedSortedList;.load:(Ljava/lang/String;ZLutil/ObjectPackagingManager;)Lutil/PackedSortedList; // method@074a │ │ +027068: 0c01 |0044: move-result-object v1 │ │ +02706a: 4d01 0500 |0045: aput-object v1, v5, v0 │ │ +02706e: 6e10 5307 0100 |0047: invoke-virtual {v1}, Lutil/PackedSortedList;.size:()I // method@0753 │ │ +027074: 0a01 |004a: move-result v1 │ │ +027076: b016 |004b: add-int/2addr v6, v1 │ │ +027078: d800 0001 |004c: add-int/lit8 v0, v0, #int 1 // #01 │ │ +02707c: 28df |004e: goto 002d // -0021 │ │ +02707e: 2208 8301 |004f: new-instance v8, Lutil/HugePackedSet; // type@0183 │ │ +027082: 0781 |0051: move-object v1, v8 │ │ +027084: 0772 |0052: move-object v2, v7 │ │ +027086: 0753 |0053: move-object v3, v5 │ │ +027088: 0165 |0054: move v5, v6 │ │ +02708a: 0796 |0055: move-object v6, v9 │ │ +02708c: 7606 fd06 0100 |0056: invoke-direct/range {v1, v2, v3, v4, v5, v6}, Lutil/HugePackedSet;.:(Ljava/lang/String;[Lutil/PackedSortedList;IILutil/ObjectPackagingManager;)V // method@06fd │ │ +027092: 1108 |0059: return-object v8 │ │ +027094: 2207 0001 |005a: new-instance v7, Ljava/io/IOException; // type@0100 │ │ +027098: 1a08 e301 |005c: const-string v8, "Incompatible index version - Rebuild Index!" // string@01e3 │ │ +02709c: 7020 1f05 8700 |005e: invoke-direct {v7, v8}, Ljava/io/IOException;.:(Ljava/lang/String;)V // method@051f │ │ +0270a2: 2802 |0061: goto 0063 // +0002 │ │ +0270a4: 2707 |0062: throw v7 │ │ +0270a6: 28ff |0063: goto 0062 // -0001 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=219 │ │ 0x0008 line=225 │ │ 0x002a line=228 │ │ 0x002f line=230 │ │ 0x0047 line=231 │ │ @@ -27415,30 +27415,30 @@ │ │ type : '(Ljava/lang/Object;)Z' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 5 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 28 16-bit code units │ │ -026d6c: |[026d6c] util.HugePackedSet.add:(Ljava/lang/Object;)Z │ │ -026d7c: 5430 5103 |0000: iget-object v0, v3, Lutil/HugePackedSet;.subsets:[Lutil/PackedSortedList; // field@0351 │ │ -026d80: 6e10 7605 0400 |0002: invoke-virtual {v4}, Ljava/lang/Object;.hashCode:()I // method@0576 │ │ -026d86: 0a01 |0005: move-result v1 │ │ -026d88: 5232 4f03 |0006: iget v2, v3, Lutil/HugePackedSet;.slotCount:I // field@034f │ │ -026d8c: b421 |0008: rem-int/2addr v1, v2 │ │ -026d8e: 7110 6e05 0100 |0009: invoke-static {v1}, Ljava/lang/Math;.abs:(I)I // method@056e │ │ -026d94: 0a01 |000c: move-result v1 │ │ -026d96: 4600 0001 |000d: aget-object v0, v0, v1 │ │ -026d9a: 6e20 3a07 4000 |000f: invoke-virtual {v0, v4}, Lutil/PackedSortedList;.add:(Ljava/lang/Object;)Z // method@073a │ │ -026da0: 0a04 |0012: move-result v4 │ │ -026da2: 3804 0800 |0013: if-eqz v4, 001b // +0008 │ │ -026da6: 5230 4c03 |0015: iget v0, v3, Lutil/HugePackedSet;.count:I // field@034c │ │ -026daa: d800 0001 |0017: add-int/lit8 v0, v0, #int 1 // #01 │ │ -026dae: 5930 4c03 |0019: iput v0, v3, Lutil/HugePackedSet;.count:I // field@034c │ │ -026db2: 0f04 |001b: return v4 │ │ +026d68: |[026d68] util.HugePackedSet.add:(Ljava/lang/Object;)Z │ │ +026d78: 5430 5103 |0000: iget-object v0, v3, Lutil/HugePackedSet;.subsets:[Lutil/PackedSortedList; // field@0351 │ │ +026d7c: 6e10 7605 0400 |0002: invoke-virtual {v4}, Ljava/lang/Object;.hashCode:()I // method@0576 │ │ +026d82: 0a01 |0005: move-result v1 │ │ +026d84: 5232 4f03 |0006: iget v2, v3, Lutil/HugePackedSet;.slotCount:I // field@034f │ │ +026d88: b421 |0008: rem-int/2addr v1, v2 │ │ +026d8a: 7110 6e05 0100 |0009: invoke-static {v1}, Ljava/lang/Math;.abs:(I)I // method@056e │ │ +026d90: 0a01 |000c: move-result v1 │ │ +026d92: 4600 0001 |000d: aget-object v0, v0, v1 │ │ +026d96: 6e20 3a07 4000 |000f: invoke-virtual {v0, v4}, Lutil/PackedSortedList;.add:(Ljava/lang/Object;)Z // method@073a │ │ +026d9c: 0a04 |0012: move-result v4 │ │ +026d9e: 3804 0800 |0013: if-eqz v4, 001b // +0008 │ │ +026da2: 5230 4c03 |0015: iget v0, v3, Lutil/HugePackedSet;.count:I // field@034c │ │ +026da6: d800 0001 |0017: add-int/lit8 v0, v0, #int 1 // #01 │ │ +026daa: 5930 4c03 |0019: iput v0, v3, Lutil/HugePackedSet;.count:I // field@034c │ │ +026dae: 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; │ │ @@ -27448,19 +27448,19 @@ │ │ type : '(Ljava/util/Collection;)Z' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 3 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 8 16-bit code units │ │ -026db4: |[026db4] util.HugePackedSet.addAll:(Ljava/util/Collection;)Z │ │ -026dc4: 2202 3101 |0000: new-instance v2, Ljava/lang/UnsupportedOperationException; // type@0131 │ │ -026dc8: 1a00 f303 |0002: const-string v0, "Not implemented yet" // string@03f3 │ │ -026dcc: 7020 bc05 0200 |0004: invoke-direct {v2, v0}, Ljava/lang/UnsupportedOperationException;.:(Ljava/lang/String;)V // method@05bc │ │ -026dd2: 2702 |0007: throw v2 │ │ +026db0: |[026db0] util.HugePackedSet.addAll:(Ljava/util/Collection;)Z │ │ +026dc0: 2202 3101 |0000: new-instance v2, Ljava/lang/UnsupportedOperationException; // type@0131 │ │ +026dc4: 1a00 f303 |0002: const-string v0, "Not implemented yet" // string@03f3 │ │ +026dc8: 7020 bc05 0200 |0004: invoke-direct {v2, v0}, Ljava/lang/UnsupportedOperationException;.:(Ljava/lang/String;)V // method@05bc │ │ +026dce: 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; │ │ │ │ @@ -27469,30 +27469,30 @@ │ │ type : '()V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 4 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 27 16-bit code units │ │ -02713c: |[02713c] util.HugePackedSet.clear:()V │ │ -02714c: 5230 4f03 |0000: iget v0, v3, Lutil/HugePackedSet;.slotCount:I // field@034f │ │ -027150: 2300 9e01 |0002: new-array v0, v0, [I // type@019e │ │ -027154: 5b30 5003 |0004: iput-object v0, v3, Lutil/HugePackedSet;.slotSizes:[I // field@0350 │ │ -027158: 1200 |0006: const/4 v0, #int 0 // #0 │ │ -02715a: 1201 |0007: const/4 v1, #int 0 // #0 │ │ -02715c: 5232 4f03 |0008: iget v2, v3, Lutil/HugePackedSet;.slotCount:I // field@034f │ │ -027160: 3521 1000 |000a: if-ge v1, v2, 001a // +0010 │ │ -027164: 5432 5103 |000c: iget-object v2, v3, Lutil/HugePackedSet;.subsets:[Lutil/PackedSortedList; // field@0351 │ │ -027168: 4602 0201 |000e: aget-object v2, v2, v1 │ │ -02716c: 6e10 4007 0200 |0010: invoke-virtual {v2}, Lutil/PackedSortedList;.clearAndReleaseAllMemory:()V // method@0740 │ │ -027172: 5432 5003 |0013: iget-object v2, v3, Lutil/HugePackedSet;.slotSizes:[I // field@0350 │ │ -027176: 4b00 0201 |0015: aput v0, v2, v1 │ │ -02717a: d801 0101 |0017: add-int/lit8 v1, v1, #int 1 // #01 │ │ -02717e: 28ef |0019: goto 0008 // -0011 │ │ -027180: 0e00 |001a: return-void │ │ +027138: |[027138] util.HugePackedSet.clear:()V │ │ +027148: 5230 4f03 |0000: iget v0, v3, Lutil/HugePackedSet;.slotCount:I // field@034f │ │ +02714c: 2300 9e01 |0002: new-array v0, v0, [I // type@019e │ │ +027150: 5b30 5003 |0004: iput-object v0, v3, Lutil/HugePackedSet;.slotSizes:[I // field@0350 │ │ +027154: 1200 |0006: const/4 v0, #int 0 // #0 │ │ +027156: 1201 |0007: const/4 v1, #int 0 // #0 │ │ +027158: 5232 4f03 |0008: iget v2, v3, Lutil/HugePackedSet;.slotCount:I // field@034f │ │ +02715c: 3521 1000 |000a: if-ge v1, v2, 001a // +0010 │ │ +027160: 5432 5103 |000c: iget-object v2, v3, Lutil/HugePackedSet;.subsets:[Lutil/PackedSortedList; // field@0351 │ │ +027164: 4602 0201 |000e: aget-object v2, v2, v1 │ │ +027168: 6e10 4007 0200 |0010: invoke-virtual {v2}, Lutil/PackedSortedList;.clearAndReleaseAllMemory:()V // method@0740 │ │ +02716e: 5432 5003 |0013: iget-object v2, v3, Lutil/HugePackedSet;.slotSizes:[I // field@0350 │ │ +027172: 4b00 0201 |0015: aput v0, v2, v1 │ │ +027176: d801 0101 |0017: add-int/lit8 v1, v1, #int 1 // #01 │ │ +02717a: 28ef |0019: goto 0008 // -0011 │ │ +02717c: 0e00 |001a: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=102 │ │ 0x0008 line=103 │ │ 0x000c line=104 │ │ 0x0013 line=105 │ │ locals : │ │ @@ -27503,30 +27503,30 @@ │ │ type : '(Ljava/lang/Object;)Z' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 5 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 26 16-bit code units │ │ -026e78: |[026e78] util.HugePackedSet.contains:(Ljava/lang/Object;)Z │ │ -026e88: 5230 4c03 |0000: iget v0, v3, Lutil/HugePackedSet;.count:I // field@034c │ │ -026e8c: 3900 0400 |0002: if-nez v0, 0006 // +0004 │ │ -026e90: 1204 |0004: const/4 v4, #int 0 // #0 │ │ -026e92: 0f04 |0005: return v4 │ │ -026e94: 5430 5103 |0006: iget-object v0, v3, Lutil/HugePackedSet;.subsets:[Lutil/PackedSortedList; // field@0351 │ │ -026e98: 6e10 7605 0400 |0008: invoke-virtual {v4}, Ljava/lang/Object;.hashCode:()I // method@0576 │ │ -026e9e: 0a01 |000b: move-result v1 │ │ -026ea0: 5232 4f03 |000c: iget v2, v3, Lutil/HugePackedSet;.slotCount:I // field@034f │ │ -026ea4: b421 |000e: rem-int/2addr v1, v2 │ │ -026ea6: 7110 6e05 0100 |000f: invoke-static {v1}, Ljava/lang/Math;.abs:(I)I // method@056e │ │ -026eac: 0a01 |0012: move-result v1 │ │ -026eae: 4600 0001 |0013: aget-object v0, v0, v1 │ │ -026eb2: 6e20 4107 4000 |0015: invoke-virtual {v0, v4}, Lutil/PackedSortedList;.contains:(Ljava/lang/Object;)Z // method@0741 │ │ -026eb8: 0a04 |0018: move-result v4 │ │ -026eba: 0f04 |0019: return v4 │ │ +026e74: |[026e74] util.HugePackedSet.contains:(Ljava/lang/Object;)Z │ │ +026e84: 5230 4c03 |0000: iget v0, v3, Lutil/HugePackedSet;.count:I // field@034c │ │ +026e88: 3900 0400 |0002: if-nez v0, 0006 // +0004 │ │ +026e8c: 1204 |0004: const/4 v4, #int 0 // #0 │ │ +026e8e: 0f04 |0005: return v4 │ │ +026e90: 5430 5103 |0006: iget-object v0, v3, Lutil/HugePackedSet;.subsets:[Lutil/PackedSortedList; // field@0351 │ │ +026e94: 6e10 7605 0400 |0008: invoke-virtual {v4}, Ljava/lang/Object;.hashCode:()I // method@0576 │ │ +026e9a: 0a01 |000b: move-result v1 │ │ +026e9c: 5232 4f03 |000c: iget v2, v3, Lutil/HugePackedSet;.slotCount:I // field@034f │ │ +026ea0: b421 |000e: rem-int/2addr v1, v2 │ │ +026ea2: 7110 6e05 0100 |000f: invoke-static {v1}, Ljava/lang/Math;.abs:(I)I // method@056e │ │ +026ea8: 0a01 |0012: move-result v1 │ │ +026eaa: 4600 0001 |0013: aget-object v0, v0, v1 │ │ +026eae: 6e20 4107 4000 |0015: invoke-virtual {v0, v4}, Lutil/PackedSortedList;.contains:(Ljava/lang/Object;)Z // method@0741 │ │ +026eb4: 0a04 |0018: move-result v4 │ │ +026eb6: 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; │ │ @@ -27536,19 +27536,19 @@ │ │ type : '(Ljava/util/Collection;)Z' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 3 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 8 16-bit code units │ │ -026ebc: |[026ebc] util.HugePackedSet.containsAll:(Ljava/util/Collection;)Z │ │ -026ecc: 2202 3101 |0000: new-instance v2, Ljava/lang/UnsupportedOperationException; // type@0131 │ │ -026ed0: 1a00 f303 |0002: const-string v0, "Not implemented yet" // string@03f3 │ │ -026ed4: 7020 bc05 0200 |0004: invoke-direct {v2, v0}, Ljava/lang/UnsupportedOperationException;.:(Ljava/lang/String;)V // method@05bc │ │ -026eda: 2702 |0007: throw v2 │ │ +026eb8: |[026eb8] util.HugePackedSet.containsAll:(Ljava/util/Collection;)Z │ │ +026ec8: 2202 3101 |0000: new-instance v2, Ljava/lang/UnsupportedOperationException; // type@0131 │ │ +026ecc: 1a00 f303 |0002: const-string v0, "Not implemented yet" // string@03f3 │ │ +026ed0: 7020 bc05 0200 |0004: invoke-direct {v2, v0}, Ljava/lang/UnsupportedOperationException;.:(Ljava/lang/String;)V // method@05bc │ │ +026ed6: 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; │ │ │ │ @@ -27557,30 +27557,30 @@ │ │ type : '()V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 6 │ │ ins : 1 │ │ outs : 3 │ │ insns size : 27 16-bit code units │ │ -027184: |[027184] util.HugePackedSet.finalPrepare:()V │ │ -027194: 1200 |0000: const/4 v0, #int 0 // #0 │ │ -027196: 5251 4f03 |0001: iget v1, v5, Lutil/HugePackedSet;.slotCount:I // field@034f │ │ -02719a: 3510 1400 |0003: if-ge v0, v1, 0017 // +0014 │ │ -02719e: 5451 5103 |0005: iget-object v1, v5, Lutil/HugePackedSet;.subsets:[Lutil/PackedSortedList; // field@0351 │ │ -0271a2: 2202 8801 |0007: new-instance v2, Lutil/PackedSortedList; // type@0188 │ │ -0271a6: 5453 5003 |0009: iget-object v3, v5, Lutil/HugePackedSet;.slotSizes:[I // field@0350 │ │ -0271aa: 4403 0300 |000b: aget v3, v3, v0 │ │ -0271ae: 5454 4e03 |000d: iget-object v4, v5, Lutil/HugePackedSet;.objMgr:Lutil/ObjectPackagingManager; // field@034e │ │ -0271b2: 7030 3607 3204 |000f: invoke-direct {v2, v3, v4}, Lutil/PackedSortedList;.:(ILutil/ObjectPackagingManager;)V // method@0736 │ │ -0271b8: 4d02 0100 |0012: aput-object v2, v1, v0 │ │ -0271bc: d800 0001 |0014: add-int/lit8 v0, v0, #int 1 // #01 │ │ -0271c0: 28eb |0016: goto 0001 // -0015 │ │ -0271c2: 1200 |0017: const/4 v0, #int 0 // #0 │ │ -0271c4: 5b50 5003 |0018: iput-object v0, v5, Lutil/HugePackedSet;.slotSizes:[I // field@0350 │ │ -0271c8: 0e00 |001a: return-void │ │ +027180: |[027180] util.HugePackedSet.finalPrepare:()V │ │ +027190: 1200 |0000: const/4 v0, #int 0 // #0 │ │ +027192: 5251 4f03 |0001: iget v1, v5, Lutil/HugePackedSet;.slotCount:I // field@034f │ │ +027196: 3510 1400 |0003: if-ge v0, v1, 0017 // +0014 │ │ +02719a: 5451 5103 |0005: iget-object v1, v5, Lutil/HugePackedSet;.subsets:[Lutil/PackedSortedList; // field@0351 │ │ +02719e: 2202 8801 |0007: new-instance v2, Lutil/PackedSortedList; // type@0188 │ │ +0271a2: 5453 5003 |0009: iget-object v3, v5, Lutil/HugePackedSet;.slotSizes:[I // field@0350 │ │ +0271a6: 4403 0300 |000b: aget v3, v3, v0 │ │ +0271aa: 5454 4e03 |000d: iget-object v4, v5, Lutil/HugePackedSet;.objMgr:Lutil/ObjectPackagingManager; // field@034e │ │ +0271ae: 7030 3607 3204 |000f: invoke-direct {v2, v3, v4}, Lutil/PackedSortedList;.:(ILutil/ObjectPackagingManager;)V // method@0736 │ │ +0271b4: 4d02 0100 |0012: aput-object v2, v1, v0 │ │ +0271b8: d800 0001 |0014: add-int/lit8 v0, v0, #int 1 // #01 │ │ +0271bc: 28eb |0016: goto 0001 // -0015 │ │ +0271be: 1200 |0017: const/4 v0, #int 0 // #0 │ │ +0271c0: 5b50 5003 |0018: iput-object v0, v5, Lutil/HugePackedSet;.slotSizes:[I // field@0350 │ │ +0271c4: 0e00 |001a: return-void │ │ catches : (none) │ │ positions : │ │ 0x0001 line=74 │ │ 0x0005 line=75 │ │ 0x0018 line=77 │ │ locals : │ │ 0x0000 - 0x001b reg=5 this Lutil/HugePackedSet; │ │ @@ -27590,35 +27590,35 @@ │ │ type : '(I)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 6 │ │ ins : 2 │ │ outs : 3 │ │ insns size : 38 16-bit code units │ │ -0271cc: |[0271cc] util.HugePackedSet.finalPrepare:(I)V │ │ -0271dc: 8350 |0000: int-to-double v0, v5 │ │ -0271de: 1802 3333 3333 3333 f33f |0001: const-wide v2, #double 1.2 // #3ff3333333333333 │ │ -0271e8: 7120 5605 1000 |0006: invoke-static {v0, v1}, Ljava/lang/Double;.isNaN:(D)Z // method@0556 │ │ -0271ee: ad00 0002 |0009: mul-double v0, v0, v2 │ │ -0271f2: 8a05 |000b: double-to-int v5, v0 │ │ -0271f4: 5240 4f03 |000c: iget v0, v4, Lutil/HugePackedSet;.slotCount:I // field@034f │ │ -0271f8: b305 |000e: div-int/2addr v5, v0 │ │ -0271fa: 1200 |000f: const/4 v0, #int 0 // #0 │ │ -0271fc: 5241 4f03 |0010: iget v1, v4, Lutil/HugePackedSet;.slotCount:I // field@034f │ │ -027200: 3510 1000 |0012: if-ge v0, v1, 0022 // +0010 │ │ -027204: 5441 5103 |0014: iget-object v1, v4, Lutil/HugePackedSet;.subsets:[Lutil/PackedSortedList; // field@0351 │ │ -027208: 2202 8801 |0016: new-instance v2, Lutil/PackedSortedList; // type@0188 │ │ -02720c: 5443 4e03 |0018: iget-object v3, v4, Lutil/HugePackedSet;.objMgr:Lutil/ObjectPackagingManager; // field@034e │ │ -027210: 7030 3607 5203 |001a: invoke-direct {v2, v5, v3}, Lutil/PackedSortedList;.:(ILutil/ObjectPackagingManager;)V // method@0736 │ │ -027216: 4d02 0100 |001d: aput-object v2, v1, v0 │ │ -02721a: d800 0001 |001f: add-int/lit8 v0, v0, #int 1 // #01 │ │ -02721e: 28ef |0021: goto 0010 // -0011 │ │ -027220: 1205 |0022: const/4 v5, #int 0 // #0 │ │ -027222: 5b45 5003 |0023: iput-object v5, v4, Lutil/HugePackedSet;.slotSizes:[I // field@0350 │ │ -027226: 0e00 |0025: return-void │ │ +0271c8: |[0271c8] util.HugePackedSet.finalPrepare:(I)V │ │ +0271d8: 8350 |0000: int-to-double v0, v5 │ │ +0271da: 1802 3333 3333 3333 f33f |0001: const-wide v2, #double 1.2 // #3ff3333333333333 │ │ +0271e4: 7120 5605 1000 |0006: invoke-static {v0, v1}, Ljava/lang/Double;.isNaN:(D)Z // method@0556 │ │ +0271ea: ad00 0002 |0009: mul-double v0, v0, v2 │ │ +0271ee: 8a05 |000b: double-to-int v5, v0 │ │ +0271f0: 5240 4f03 |000c: iget v0, v4, Lutil/HugePackedSet;.slotCount:I // field@034f │ │ +0271f4: b305 |000e: div-int/2addr v5, v0 │ │ +0271f6: 1200 |000f: const/4 v0, #int 0 // #0 │ │ +0271f8: 5241 4f03 |0010: iget v1, v4, Lutil/HugePackedSet;.slotCount:I // field@034f │ │ +0271fc: 3510 1000 |0012: if-ge v0, v1, 0022 // +0010 │ │ +027200: 5441 5103 |0014: iget-object v1, v4, Lutil/HugePackedSet;.subsets:[Lutil/PackedSortedList; // field@0351 │ │ +027204: 2202 8801 |0016: new-instance v2, Lutil/PackedSortedList; // type@0188 │ │ +027208: 5443 4e03 |0018: iget-object v3, v4, Lutil/HugePackedSet;.objMgr:Lutil/ObjectPackagingManager; // field@034e │ │ +02720c: 7030 3607 5203 |001a: invoke-direct {v2, v5, v3}, Lutil/PackedSortedList;.:(ILutil/ObjectPackagingManager;)V // method@0736 │ │ +027212: 4d02 0100 |001d: aput-object v2, v1, v0 │ │ +027216: d800 0001 |001f: add-int/lit8 v0, v0, #int 1 // #01 │ │ +02721a: 28ef |0021: goto 0010 // -0011 │ │ +02721c: 1205 |0022: const/4 v5, #int 0 // #0 │ │ +02721e: 5b45 5003 |0023: iput-object v5, v4, Lutil/HugePackedSet;.slotSizes:[I // field@0350 │ │ +027222: 0e00 |0025: return-void │ │ catches : (none) │ │ positions : │ │ 0x0006 line=81 │ │ 0x0010 line=82 │ │ 0x0014 line=83 │ │ 0x0023 line=85 │ │ locals : │ │ @@ -27630,21 +27630,21 @@ │ │ type : '()Z' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 0 │ │ insns size : 8 16-bit code units │ │ -026edc: |[026edc] util.HugePackedSet.isEmpty:()Z │ │ -026eec: 5210 4c03 |0000: iget v0, v1, Lutil/HugePackedSet;.count:I // field@034c │ │ -026ef0: 3900 0400 |0002: if-nez v0, 0006 // +0004 │ │ -026ef4: 1210 |0004: const/4 v0, #int 1 // #1 │ │ -026ef6: 2802 |0005: goto 0007 // +0002 │ │ -026ef8: 1200 |0006: const/4 v0, #int 0 // #0 │ │ -026efa: 0f00 |0007: return v0 │ │ +026ed8: |[026ed8] util.HugePackedSet.isEmpty:()Z │ │ +026ee8: 5210 4c03 |0000: iget v0, v1, Lutil/HugePackedSet;.count:I // field@034c │ │ +026eec: 3900 0400 |0002: if-nez v0, 0006 // +0004 │ │ +026ef0: 1210 |0004: const/4 v0, #int 1 // #1 │ │ +026ef2: 2802 |0005: goto 0007 // +0002 │ │ +026ef4: 1200 |0006: const/4 v0, #int 0 // #0 │ │ +026ef6: 0f00 |0007: return v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=123 │ │ locals : │ │ 0x0000 - 0x0008 reg=1 this Lutil/HugePackedSet; │ │ │ │ #8 : (in Lutil/HugePackedSet;) │ │ @@ -27652,19 +27652,19 @@ │ │ type : '()Ljava/util/Iterator;' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 3 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 8 16-bit code units │ │ -026fb4: |[026fb4] util.HugePackedSet.iterator:()Ljava/util/Iterator; │ │ -026fc4: 2200 3101 |0000: new-instance v0, Ljava/lang/UnsupportedOperationException; // type@0131 │ │ -026fc8: 1a01 f303 |0002: const-string v1, "Not implemented yet" // string@03f3 │ │ -026fcc: 7020 bc05 1000 |0004: invoke-direct {v0, v1}, Ljava/lang/UnsupportedOperationException;.:(Ljava/lang/String;)V // method@05bc │ │ -026fd2: 2700 |0007: throw v0 │ │ +026fb0: |[026fb0] util.HugePackedSet.iterator:()Ljava/util/Iterator; │ │ +026fc0: 2200 3101 |0000: new-instance v0, Ljava/lang/UnsupportedOperationException; // type@0131 │ │ +026fc4: 1a01 f303 |0002: const-string v1, "Not implemented yet" // string@03f3 │ │ +026fc8: 7020 bc05 1000 |0004: invoke-direct {v0, v1}, Ljava/lang/UnsupportedOperationException;.:(Ljava/lang/String;)V // method@05bc │ │ +026fce: 2700 |0007: throw v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=128 │ │ locals : │ │ 0x0000 - 0x0008 reg=2 this Lutil/HugePackedSet; │ │ │ │ #9 : (in Lutil/HugePackedSet;) │ │ @@ -27672,93 +27672,93 @@ │ │ type : '(Ljava/lang/String;)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 9 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 173 16-bit code units │ │ -027228: |[027228] util.HugePackedSet.persist:(Ljava/lang/String;)V │ │ -027238: 2200 fb00 |0000: new-instance v0, Ljava/io/File; // type@00fb │ │ -02723c: 2201 2d01 |0002: new-instance v1, Ljava/lang/StringBuilder; // type@012d │ │ -027240: 7010 a705 0100 |0004: invoke-direct {v1}, Ljava/lang/StringBuilder;.:()V // method@05a7 │ │ -027246: 6e20 ad05 8100 |0007: invoke-virtual {v1, v8}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -02724c: 1a02 5e00 |000a: const-string v2, ".tmp" // string@005e │ │ -027250: 6e20 ad05 2100 |000c: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -027256: 6e10 af05 0100 |000f: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ -02725c: 0c01 |0012: move-result-object v1 │ │ -02725e: 7020 ff04 1000 |0013: invoke-direct {v0, v1}, Ljava/io/File;.:(Ljava/lang/String;)V // method@04ff │ │ -027264: 1201 |0016: const/4 v1, #int 0 // #0 │ │ -027266: 1203 |0017: const/4 v3, #int 0 // #0 │ │ -027268: 1224 |0018: const/4 v4, #int 2 // #2 │ │ -02726a: 3543 2300 |0019: if-ge v3, v4, 003c // +0023 │ │ -02726e: 6e10 0505 0000 |001b: invoke-virtual {v0}, Ljava/io/File;.exists:()Z // method@0505 │ │ -027274: 0a04 |001e: move-result v4 │ │ -027276: 3804 1500 |001f: if-eqz v4, 0034 // +0015 │ │ -02727a: 6e10 0d05 0000 |0021: invoke-virtual {v0}, Ljava/io/File;.listFiles:()[Ljava/io/File; // method@050d │ │ -027280: 0c04 |0024: move-result-object v4 │ │ -027282: 1205 |0025: const/4 v5, #int 0 // #0 │ │ -027284: 2146 |0026: array-length v6, v4 │ │ -027286: 3565 0a00 |0027: if-ge v5, v6, 0031 // +000a │ │ -02728a: 4606 0405 |0029: aget-object v6, v4, v5 │ │ -02728e: 6e10 0305 0600 |002b: invoke-virtual {v6}, Ljava/io/File;.delete:()Z // method@0503 │ │ -027294: d805 0501 |002e: add-int/lit8 v5, v5, #int 1 // #01 │ │ -027298: 28f6 |0030: goto 0026 // -000a │ │ -02729a: 6e10 0305 0000 |0031: invoke-virtual {v0}, Ljava/io/File;.delete:()Z // method@0503 │ │ -0272a0: 2200 fb00 |0034: new-instance v0, Ljava/io/File; // type@00fb │ │ -0272a4: 7020 ff04 8000 |0036: invoke-direct {v0, v8}, Ljava/io/File;.:(Ljava/lang/String;)V // method@04ff │ │ -0272aa: d803 0301 |0039: add-int/lit8 v3, v3, #int 1 // #01 │ │ -0272ae: 28dd |003b: goto 0018 // -0023 │ │ -0272b0: 2200 fb00 |003c: new-instance v0, Ljava/io/File; // type@00fb │ │ -0272b4: 2203 2d01 |003e: new-instance v3, Ljava/lang/StringBuilder; // type@012d │ │ -0272b8: 7010 a705 0300 |0040: invoke-direct {v3}, Ljava/lang/StringBuilder;.:()V // method@05a7 │ │ -0272be: 6e20 ad05 8300 |0043: invoke-virtual {v3, v8}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -0272c4: 6e20 ad05 2300 |0046: invoke-virtual {v3, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -0272ca: 6e10 af05 0300 |0049: invoke-virtual {v3}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ -0272d0: 0c02 |004c: move-result-object v2 │ │ -0272d2: 7020 ff04 2000 |004d: invoke-direct {v0, v2}, Ljava/io/File;.:(Ljava/lang/String;)V // method@04ff │ │ -0272d8: 6e10 0e05 0000 |0050: invoke-virtual {v0}, Ljava/io/File;.mkdir:()Z // method@050e │ │ -0272de: 2202 ff00 |0053: new-instance v2, Ljava/io/FileOutputStream; // type@00ff │ │ -0272e2: 2203 2d01 |0055: new-instance v3, Ljava/lang/StringBuilder; // type@012d │ │ -0272e6: 7010 a705 0300 |0057: invoke-direct {v3}, Ljava/lang/StringBuilder;.:()V // method@05a7 │ │ -0272ec: 6e10 0605 0000 |005a: invoke-virtual {v0}, Ljava/io/File;.getAbsolutePath:()Ljava/lang/String; // method@0506 │ │ -0272f2: 0c04 |005d: move-result-object v4 │ │ -0272f4: 6e20 ad05 4300 |005e: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -0272fa: 1a04 6100 |0061: const-string v4, "/IDX_VERSION" // string@0061 │ │ -0272fe: 6e20 ad05 4300 |0063: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -027304: 6e10 af05 0300 |0066: invoke-virtual {v3}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ -02730a: 0c03 |0069: move-result-object v3 │ │ -02730c: 7020 1a05 3200 |006a: invoke-direct {v2, v3}, Ljava/io/FileOutputStream;.:(Ljava/lang/String;)V // method@051a │ │ -027312: 1a03 6c00 |006d: const-string v3, "1.0" // string@006c │ │ -027316: 6e10 8d05 0300 |006f: invoke-virtual {v3}, Ljava/lang/String;.getBytes:()[B // method@058d │ │ -02731c: 0c03 |0072: move-result-object v3 │ │ -02731e: 6e20 1d05 3200 |0073: invoke-virtual {v2, v3}, Ljava/io/FileOutputStream;.write:([B)V // method@051d │ │ -027324: 6e10 1c05 0200 |0076: invoke-virtual {v2}, Ljava/io/FileOutputStream;.flush:()V // method@051c │ │ -02732a: 6e10 1b05 0200 |0079: invoke-virtual {v2}, Ljava/io/FileOutputStream;.close:()V // method@051b │ │ -027330: 5272 4f03 |007c: iget v2, v7, Lutil/HugePackedSet;.slotCount:I // field@034f │ │ -027334: 3521 2400 |007e: if-ge v1, v2, 00a2 // +0024 │ │ -027338: 5472 5103 |0080: iget-object v2, v7, Lutil/HugePackedSet;.subsets:[Lutil/PackedSortedList; // field@0351 │ │ -02733c: 4602 0201 |0082: aget-object v2, v2, v1 │ │ -027340: 2203 2d01 |0084: new-instance v3, Ljava/lang/StringBuilder; // type@012d │ │ -027344: 7010 a705 0300 |0086: invoke-direct {v3}, Ljava/lang/StringBuilder;.:()V // method@05a7 │ │ -02734a: 6e10 0605 0000 |0089: invoke-virtual {v0}, Ljava/io/File;.getAbsolutePath:()Ljava/lang/String; // method@0506 │ │ -027350: 0c04 |008c: move-result-object v4 │ │ -027352: 6e20 ad05 4300 |008d: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -027358: 1a04 6800 |0090: const-string v4, "/idx" // string@0068 │ │ -02735c: 6e20 ad05 4300 |0092: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -027362: 6e20 aa05 1300 |0095: invoke-virtual {v3, v1}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@05aa │ │ -027368: 6e10 af05 0300 |0098: invoke-virtual {v3}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ -02736e: 0c03 |009b: move-result-object v3 │ │ -027370: 6e20 4c07 3200 |009c: invoke-virtual {v2, v3}, Lutil/PackedSortedList;.persist:(Ljava/lang/String;)V // method@074c │ │ -027376: d801 0101 |009f: add-int/lit8 v1, v1, #int 1 // #01 │ │ -02737a: 28db |00a1: goto 007c // -0025 │ │ -02737c: 2201 fb00 |00a2: new-instance v1, Ljava/io/File; // type@00fb │ │ -027380: 7020 ff04 8100 |00a4: invoke-direct {v1, v8}, Ljava/io/File;.:(Ljava/lang/String;)V // method@04ff │ │ -027386: 6e20 1005 1000 |00a7: invoke-virtual {v0, v1}, Ljava/io/File;.renameTo:(Ljava/io/File;)Z // method@0510 │ │ -02738c: 5b78 4d03 |00aa: iput-object v8, v7, Lutil/HugePackedSet;.loadedFromPath:Ljava/lang/String; // field@034d │ │ -027390: 0e00 |00ac: return-void │ │ +027224: |[027224] util.HugePackedSet.persist:(Ljava/lang/String;)V │ │ +027234: 2200 fb00 |0000: new-instance v0, Ljava/io/File; // type@00fb │ │ +027238: 2201 2d01 |0002: new-instance v1, Ljava/lang/StringBuilder; // type@012d │ │ +02723c: 7010 a705 0100 |0004: invoke-direct {v1}, Ljava/lang/StringBuilder;.:()V // method@05a7 │ │ +027242: 6e20 ad05 8100 |0007: invoke-virtual {v1, v8}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +027248: 1a02 5e00 |000a: const-string v2, ".tmp" // string@005e │ │ +02724c: 6e20 ad05 2100 |000c: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +027252: 6e10 af05 0100 |000f: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ +027258: 0c01 |0012: move-result-object v1 │ │ +02725a: 7020 ff04 1000 |0013: invoke-direct {v0, v1}, Ljava/io/File;.:(Ljava/lang/String;)V // method@04ff │ │ +027260: 1201 |0016: const/4 v1, #int 0 // #0 │ │ +027262: 1203 |0017: const/4 v3, #int 0 // #0 │ │ +027264: 1224 |0018: const/4 v4, #int 2 // #2 │ │ +027266: 3543 2300 |0019: if-ge v3, v4, 003c // +0023 │ │ +02726a: 6e10 0505 0000 |001b: invoke-virtual {v0}, Ljava/io/File;.exists:()Z // method@0505 │ │ +027270: 0a04 |001e: move-result v4 │ │ +027272: 3804 1500 |001f: if-eqz v4, 0034 // +0015 │ │ +027276: 6e10 0d05 0000 |0021: invoke-virtual {v0}, Ljava/io/File;.listFiles:()[Ljava/io/File; // method@050d │ │ +02727c: 0c04 |0024: move-result-object v4 │ │ +02727e: 1205 |0025: const/4 v5, #int 0 // #0 │ │ +027280: 2146 |0026: array-length v6, v4 │ │ +027282: 3565 0a00 |0027: if-ge v5, v6, 0031 // +000a │ │ +027286: 4606 0405 |0029: aget-object v6, v4, v5 │ │ +02728a: 6e10 0305 0600 |002b: invoke-virtual {v6}, Ljava/io/File;.delete:()Z // method@0503 │ │ +027290: d805 0501 |002e: add-int/lit8 v5, v5, #int 1 // #01 │ │ +027294: 28f6 |0030: goto 0026 // -000a │ │ +027296: 6e10 0305 0000 |0031: invoke-virtual {v0}, Ljava/io/File;.delete:()Z // method@0503 │ │ +02729c: 2200 fb00 |0034: new-instance v0, Ljava/io/File; // type@00fb │ │ +0272a0: 7020 ff04 8000 |0036: invoke-direct {v0, v8}, Ljava/io/File;.:(Ljava/lang/String;)V // method@04ff │ │ +0272a6: d803 0301 |0039: add-int/lit8 v3, v3, #int 1 // #01 │ │ +0272aa: 28dd |003b: goto 0018 // -0023 │ │ +0272ac: 2200 fb00 |003c: new-instance v0, Ljava/io/File; // type@00fb │ │ +0272b0: 2203 2d01 |003e: new-instance v3, Ljava/lang/StringBuilder; // type@012d │ │ +0272b4: 7010 a705 0300 |0040: invoke-direct {v3}, Ljava/lang/StringBuilder;.:()V // method@05a7 │ │ +0272ba: 6e20 ad05 8300 |0043: invoke-virtual {v3, v8}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +0272c0: 6e20 ad05 2300 |0046: invoke-virtual {v3, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +0272c6: 6e10 af05 0300 |0049: invoke-virtual {v3}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ +0272cc: 0c02 |004c: move-result-object v2 │ │ +0272ce: 7020 ff04 2000 |004d: invoke-direct {v0, v2}, Ljava/io/File;.:(Ljava/lang/String;)V // method@04ff │ │ +0272d4: 6e10 0e05 0000 |0050: invoke-virtual {v0}, Ljava/io/File;.mkdir:()Z // method@050e │ │ +0272da: 2202 ff00 |0053: new-instance v2, Ljava/io/FileOutputStream; // type@00ff │ │ +0272de: 2203 2d01 |0055: new-instance v3, Ljava/lang/StringBuilder; // type@012d │ │ +0272e2: 7010 a705 0300 |0057: invoke-direct {v3}, Ljava/lang/StringBuilder;.:()V // method@05a7 │ │ +0272e8: 6e10 0605 0000 |005a: invoke-virtual {v0}, Ljava/io/File;.getAbsolutePath:()Ljava/lang/String; // method@0506 │ │ +0272ee: 0c04 |005d: move-result-object v4 │ │ +0272f0: 6e20 ad05 4300 |005e: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +0272f6: 1a04 6100 |0061: const-string v4, "/IDX_VERSION" // string@0061 │ │ +0272fa: 6e20 ad05 4300 |0063: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +027300: 6e10 af05 0300 |0066: invoke-virtual {v3}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ +027306: 0c03 |0069: move-result-object v3 │ │ +027308: 7020 1a05 3200 |006a: invoke-direct {v2, v3}, Ljava/io/FileOutputStream;.:(Ljava/lang/String;)V // method@051a │ │ +02730e: 1a03 6c00 |006d: const-string v3, "1.0" // string@006c │ │ +027312: 6e10 8d05 0300 |006f: invoke-virtual {v3}, Ljava/lang/String;.getBytes:()[B // method@058d │ │ +027318: 0c03 |0072: move-result-object v3 │ │ +02731a: 6e20 1d05 3200 |0073: invoke-virtual {v2, v3}, Ljava/io/FileOutputStream;.write:([B)V // method@051d │ │ +027320: 6e10 1c05 0200 |0076: invoke-virtual {v2}, Ljava/io/FileOutputStream;.flush:()V // method@051c │ │ +027326: 6e10 1b05 0200 |0079: invoke-virtual {v2}, Ljava/io/FileOutputStream;.close:()V // method@051b │ │ +02732c: 5272 4f03 |007c: iget v2, v7, Lutil/HugePackedSet;.slotCount:I // field@034f │ │ +027330: 3521 2400 |007e: if-ge v1, v2, 00a2 // +0024 │ │ +027334: 5472 5103 |0080: iget-object v2, v7, Lutil/HugePackedSet;.subsets:[Lutil/PackedSortedList; // field@0351 │ │ +027338: 4602 0201 |0082: aget-object v2, v2, v1 │ │ +02733c: 2203 2d01 |0084: new-instance v3, Ljava/lang/StringBuilder; // type@012d │ │ +027340: 7010 a705 0300 |0086: invoke-direct {v3}, Ljava/lang/StringBuilder;.:()V // method@05a7 │ │ +027346: 6e10 0605 0000 |0089: invoke-virtual {v0}, Ljava/io/File;.getAbsolutePath:()Ljava/lang/String; // method@0506 │ │ +02734c: 0c04 |008c: move-result-object v4 │ │ +02734e: 6e20 ad05 4300 |008d: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +027354: 1a04 6800 |0090: const-string v4, "/idx" // string@0068 │ │ +027358: 6e20 ad05 4300 |0092: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +02735e: 6e20 aa05 1300 |0095: invoke-virtual {v3, v1}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@05aa │ │ +027364: 6e10 af05 0300 |0098: invoke-virtual {v3}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ +02736a: 0c03 |009b: move-result-object v3 │ │ +02736c: 6e20 4c07 3200 |009c: invoke-virtual {v2, v3}, Lutil/PackedSortedList;.persist:(Ljava/lang/String;)V // method@074c │ │ +027372: d801 0101 |009f: add-int/lit8 v1, v1, #int 1 // #01 │ │ +027376: 28db |00a1: goto 007c // -0025 │ │ +027378: 2201 fb00 |00a2: new-instance v1, Ljava/io/File; // type@00fb │ │ +02737c: 7020 ff04 8100 |00a4: invoke-direct {v1, v8}, Ljava/io/File;.:(Ljava/lang/String;)V // method@04ff │ │ +027382: 6e20 1005 1000 |00a7: invoke-virtual {v0, v1}, Ljava/io/File;.renameTo:(Ljava/io/File;)Z // method@0510 │ │ +027388: 5b78 4d03 |00aa: iput-object v8, v7, Lutil/HugePackedSet;.loadedFromPath:Ljava/lang/String; // field@034d │ │ +02738c: 0e00 |00ac: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=164 │ │ 0x001b line=166 │ │ 0x0021 line=167 │ │ 0x0026 line=168 │ │ 0x0029 line=169 │ │ @@ -27784,26 +27784,26 @@ │ │ type : '(Ljava/lang/Object;)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 4 │ │ ins : 2 │ │ outs : 1 │ │ insns size : 20 16-bit code units │ │ -027394: |[027394] util.HugePackedSet.prepareInsert:(Ljava/lang/Object;)V │ │ -0273a4: 5420 5003 |0000: iget-object v0, v2, Lutil/HugePackedSet;.slotSizes:[I // field@0350 │ │ -0273a8: 6e10 7605 0300 |0002: invoke-virtual {v3}, Ljava/lang/Object;.hashCode:()I // method@0576 │ │ -0273ae: 0a03 |0005: move-result v3 │ │ -0273b0: 5221 4f03 |0006: iget v1, v2, Lutil/HugePackedSet;.slotCount:I // field@034f │ │ -0273b4: b413 |0008: rem-int/2addr v3, v1 │ │ -0273b6: 7110 6e05 0300 |0009: invoke-static {v3}, Ljava/lang/Math;.abs:(I)I // method@056e │ │ -0273bc: 0a03 |000c: move-result v3 │ │ -0273be: 4401 0003 |000d: aget v1, v0, v3 │ │ -0273c2: d801 0101 |000f: add-int/lit8 v1, v1, #int 1 // #01 │ │ -0273c6: 4b01 0003 |0011: aput v1, v0, v3 │ │ -0273ca: 0e00 |0013: return-void │ │ +027390: |[027390] util.HugePackedSet.prepareInsert:(Ljava/lang/Object;)V │ │ +0273a0: 5420 5003 |0000: iget-object v0, v2, Lutil/HugePackedSet;.slotSizes:[I // field@0350 │ │ +0273a4: 6e10 7605 0300 |0002: invoke-virtual {v3}, Ljava/lang/Object;.hashCode:()I // method@0576 │ │ +0273aa: 0a03 |0005: move-result v3 │ │ +0273ac: 5221 4f03 |0006: iget v1, v2, Lutil/HugePackedSet;.slotCount:I // field@034f │ │ +0273b0: b413 |0008: rem-int/2addr v3, v1 │ │ +0273b2: 7110 6e05 0300 |0009: invoke-static {v3}, Ljava/lang/Math;.abs:(I)I // method@056e │ │ +0273b8: 0a03 |000c: move-result v3 │ │ +0273ba: 4401 0003 |000d: aget v1, v0, v3 │ │ +0273be: d801 0101 |000f: add-int/lit8 v1, v1, #int 1 // #01 │ │ +0273c2: 4b01 0003 |0011: aput v1, v0, v3 │ │ +0273c6: 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; │ │ │ │ @@ -27812,19 +27812,19 @@ │ │ type : '(Ljava/lang/Object;)Z' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 3 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 8 16-bit code units │ │ -026efc: |[026efc] util.HugePackedSet.remove:(Ljava/lang/Object;)Z │ │ -026f0c: 2202 3101 |0000: new-instance v2, Ljava/lang/UnsupportedOperationException; // type@0131 │ │ -026f10: 1a00 f303 |0002: const-string v0, "Not implemented yet" // string@03f3 │ │ -026f14: 7020 bc05 0200 |0004: invoke-direct {v2, v0}, Ljava/lang/UnsupportedOperationException;.:(Ljava/lang/String;)V // method@05bc │ │ -026f1a: 2702 |0007: throw v2 │ │ +026ef8: |[026ef8] util.HugePackedSet.remove:(Ljava/lang/Object;)Z │ │ +026f08: 2202 3101 |0000: new-instance v2, Ljava/lang/UnsupportedOperationException; // type@0131 │ │ +026f0c: 1a00 f303 |0002: const-string v0, "Not implemented yet" // string@03f3 │ │ +026f10: 7020 bc05 0200 |0004: invoke-direct {v2, v0}, Ljava/lang/UnsupportedOperationException;.:(Ljava/lang/String;)V // method@05bc │ │ +026f16: 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; │ │ │ │ @@ -27833,19 +27833,19 @@ │ │ type : '(Ljava/util/Collection;)Z' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 3 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 8 16-bit code units │ │ -026f1c: |[026f1c] util.HugePackedSet.removeAll:(Ljava/util/Collection;)Z │ │ -026f2c: 2202 3101 |0000: new-instance v2, Ljava/lang/UnsupportedOperationException; // type@0131 │ │ -026f30: 1a00 f303 |0002: const-string v0, "Not implemented yet" // string@03f3 │ │ -026f34: 7020 bc05 0200 |0004: invoke-direct {v2, v0}, Ljava/lang/UnsupportedOperationException;.:(Ljava/lang/String;)V // method@05bc │ │ -026f3a: 2702 |0007: throw v2 │ │ +026f18: |[026f18] util.HugePackedSet.removeAll:(Ljava/util/Collection;)Z │ │ +026f28: 2202 3101 |0000: new-instance v2, Ljava/lang/UnsupportedOperationException; // type@0131 │ │ +026f2c: 1a00 f303 |0002: const-string v0, "Not implemented yet" // string@03f3 │ │ +026f30: 7020 bc05 0200 |0004: invoke-direct {v2, v0}, Ljava/lang/UnsupportedOperationException;.:(Ljava/lang/String;)V // method@05bc │ │ +026f36: 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; │ │ │ │ @@ -27854,19 +27854,19 @@ │ │ type : '(Ljava/util/Collection;)Z' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 3 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 8 16-bit code units │ │ -026f3c: |[026f3c] util.HugePackedSet.retainAll:(Ljava/util/Collection;)Z │ │ -026f4c: 2202 3101 |0000: new-instance v2, Ljava/lang/UnsupportedOperationException; // type@0131 │ │ -026f50: 1a00 f303 |0002: const-string v0, "Not implemented yet" // string@03f3 │ │ -026f54: 7020 bc05 0200 |0004: invoke-direct {v2, v0}, Ljava/lang/UnsupportedOperationException;.:(Ljava/lang/String;)V // method@05bc │ │ -026f5a: 2702 |0007: throw v2 │ │ +026f38: |[026f38] util.HugePackedSet.retainAll:(Ljava/util/Collection;)Z │ │ +026f48: 2202 3101 |0000: new-instance v2, Ljava/lang/UnsupportedOperationException; // type@0131 │ │ +026f4c: 1a00 f303 |0002: const-string v0, "Not implemented yet" // string@03f3 │ │ +026f50: 7020 bc05 0200 |0004: invoke-direct {v2, v0}, Ljava/lang/UnsupportedOperationException;.:(Ljava/lang/String;)V // method@05bc │ │ +026f56: 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; │ │ │ │ @@ -27875,17 +27875,17 @@ │ │ type : '()I' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 0 │ │ insns size : 3 16-bit code units │ │ -026f5c: |[026f5c] util.HugePackedSet.size:()I │ │ -026f6c: 5210 4c03 |0000: iget v0, v1, Lutil/HugePackedSet;.count:I // field@034c │ │ -026f70: 0f00 |0002: return v0 │ │ +026f58: |[026f58] util.HugePackedSet.size:()I │ │ +026f68: 5210 4c03 |0000: iget v0, v1, Lutil/HugePackedSet;.count:I // field@034c │ │ +026f6c: 0f00 |0002: return v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=148 │ │ locals : │ │ 0x0000 - 0x0003 reg=1 this Lutil/HugePackedSet; │ │ │ │ #15 : (in Lutil/HugePackedSet;) │ │ @@ -27893,19 +27893,19 @@ │ │ type : '()[Ljava/lang/Object;' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 3 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 8 16-bit code units │ │ -026f74: |[026f74] util.HugePackedSet.toArray:()[Ljava/lang/Object; │ │ -026f84: 2200 3101 |0000: new-instance v0, Ljava/lang/UnsupportedOperationException; // type@0131 │ │ -026f88: 1a01 f603 |0002: const-string v1, "Not supported!" // string@03f6 │ │ -026f8c: 7020 bc05 1000 |0004: invoke-direct {v0, v1}, Ljava/lang/UnsupportedOperationException;.:(Ljava/lang/String;)V // method@05bc │ │ -026f92: 2700 |0007: throw v0 │ │ +026f70: |[026f70] util.HugePackedSet.toArray:()[Ljava/lang/Object; │ │ +026f80: 2200 3101 |0000: new-instance v0, Ljava/lang/UnsupportedOperationException; // type@0131 │ │ +026f84: 1a01 f603 |0002: const-string v1, "Not supported!" // string@03f6 │ │ +026f88: 7020 bc05 1000 |0004: invoke-direct {v0, v1}, Ljava/lang/UnsupportedOperationException;.:(Ljava/lang/String;)V // method@05bc │ │ +026f8e: 2700 |0007: throw v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=153 │ │ locals : │ │ 0x0000 - 0x0008 reg=2 this Lutil/HugePackedSet; │ │ │ │ #16 : (in Lutil/HugePackedSet;) │ │ @@ -27913,19 +27913,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 │ │ -026f94: |[026f94] util.HugePackedSet.toArray:([Ljava/lang/Object;)[Ljava/lang/Object; │ │ -026fa4: 2202 3101 |0000: new-instance v2, Ljava/lang/UnsupportedOperationException; // type@0131 │ │ -026fa8: 1a00 f603 |0002: const-string v0, "Not supported!" // string@03f6 │ │ -026fac: 7020 bc05 0200 |0004: invoke-direct {v2, v0}, Ljava/lang/UnsupportedOperationException;.:(Ljava/lang/String;)V // method@05bc │ │ -026fb2: 2702 |0007: throw v2 │ │ +026f90: |[026f90] util.HugePackedSet.toArray:([Ljava/lang/Object;)[Ljava/lang/Object; │ │ +026fa0: 2202 3101 |0000: new-instance v2, Ljava/lang/UnsupportedOperationException; // type@0131 │ │ +026fa4: 1a00 f603 |0002: const-string v0, "Not supported!" // string@03f6 │ │ +026fa8: 7020 bc05 0200 |0004: invoke-direct {v2, v0}, Ljava/lang/UnsupportedOperationException;.:(Ljava/lang/String;)V // method@05bc │ │ +026fae: 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; │ │ │ │ @@ -27934,45 +27934,45 @@ │ │ type : '()V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 6 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 61 16-bit code units │ │ -0273cc: |[0273cc] util.HugePackedSet.updatePersist:()V │ │ -0273dc: 5450 4d03 |0000: iget-object v0, v5, Lutil/HugePackedSet;.loadedFromPath:Ljava/lang/String; // field@034d │ │ -0273e0: 3800 3100 |0002: if-eqz v0, 0033 // +0031 │ │ -0273e4: 2200 fb00 |0004: new-instance v0, Ljava/io/File; // type@00fb │ │ -0273e8: 5451 4d03 |0006: iget-object v1, v5, Lutil/HugePackedSet;.loadedFromPath:Ljava/lang/String; // field@034d │ │ -0273ec: 7020 ff04 1000 |0008: invoke-direct {v0, v1}, Ljava/io/File;.:(Ljava/lang/String;)V // method@04ff │ │ -0273f2: 1201 |000b: const/4 v1, #int 0 // #0 │ │ -0273f4: 5252 4f03 |000c: iget v2, v5, Lutil/HugePackedSet;.slotCount:I // field@034f │ │ -0273f8: 3521 2400 |000e: if-ge v1, v2, 0032 // +0024 │ │ -0273fc: 5452 5103 |0010: iget-object v2, v5, Lutil/HugePackedSet;.subsets:[Lutil/PackedSortedList; // field@0351 │ │ -027400: 4602 0201 |0012: aget-object v2, v2, v1 │ │ -027404: 2203 2d01 |0014: new-instance v3, Ljava/lang/StringBuilder; // type@012d │ │ -027408: 7010 a705 0300 |0016: invoke-direct {v3}, Ljava/lang/StringBuilder;.:()V // method@05a7 │ │ -02740e: 6e10 0605 0000 |0019: invoke-virtual {v0}, Ljava/io/File;.getAbsolutePath:()Ljava/lang/String; // method@0506 │ │ -027414: 0c04 |001c: move-result-object v4 │ │ -027416: 6e20 ad05 4300 |001d: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -02741c: 1a04 6800 |0020: const-string v4, "/idx" // string@0068 │ │ -027420: 6e20 ad05 4300 |0022: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -027426: 6e20 aa05 1300 |0025: invoke-virtual {v3, v1}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@05aa │ │ -02742c: 6e10 af05 0300 |0028: invoke-virtual {v3}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ -027432: 0c03 |002b: move-result-object v3 │ │ -027434: 6e20 4c07 3200 |002c: invoke-virtual {v2, v3}, Lutil/PackedSortedList;.persist:(Ljava/lang/String;)V // method@074c │ │ -02743a: d801 0101 |002f: add-int/lit8 v1, v1, #int 1 // #01 │ │ -02743e: 28db |0031: goto 000c // -0025 │ │ -027440: 0e00 |0032: return-void │ │ -027442: 2200 0001 |0033: new-instance v0, Ljava/io/IOException; // type@0100 │ │ -027446: 1a01 eb00 |0035: const-string v1, "Can not update non persisted index!" // string@00eb │ │ -02744a: 7020 1f05 1000 |0037: invoke-direct {v0, v1}, Ljava/io/IOException;.:(Ljava/lang/String;)V // method@051f │ │ -027450: 2802 |003a: goto 003c // +0002 │ │ -027452: 2700 |003b: throw v0 │ │ -027454: 28ff |003c: goto 003b // -0001 │ │ +0273c8: |[0273c8] util.HugePackedSet.updatePersist:()V │ │ +0273d8: 5450 4d03 |0000: iget-object v0, v5, Lutil/HugePackedSet;.loadedFromPath:Ljava/lang/String; // field@034d │ │ +0273dc: 3800 3100 |0002: if-eqz v0, 0033 // +0031 │ │ +0273e0: 2200 fb00 |0004: new-instance v0, Ljava/io/File; // type@00fb │ │ +0273e4: 5451 4d03 |0006: iget-object v1, v5, Lutil/HugePackedSet;.loadedFromPath:Ljava/lang/String; // field@034d │ │ +0273e8: 7020 ff04 1000 |0008: invoke-direct {v0, v1}, Ljava/io/File;.:(Ljava/lang/String;)V // method@04ff │ │ +0273ee: 1201 |000b: const/4 v1, #int 0 // #0 │ │ +0273f0: 5252 4f03 |000c: iget v2, v5, Lutil/HugePackedSet;.slotCount:I // field@034f │ │ +0273f4: 3521 2400 |000e: if-ge v1, v2, 0032 // +0024 │ │ +0273f8: 5452 5103 |0010: iget-object v2, v5, Lutil/HugePackedSet;.subsets:[Lutil/PackedSortedList; // field@0351 │ │ +0273fc: 4602 0201 |0012: aget-object v2, v2, v1 │ │ +027400: 2203 2d01 |0014: new-instance v3, Ljava/lang/StringBuilder; // type@012d │ │ +027404: 7010 a705 0300 |0016: invoke-direct {v3}, Ljava/lang/StringBuilder;.:()V // method@05a7 │ │ +02740a: 6e10 0605 0000 |0019: invoke-virtual {v0}, Ljava/io/File;.getAbsolutePath:()Ljava/lang/String; // method@0506 │ │ +027410: 0c04 |001c: move-result-object v4 │ │ +027412: 6e20 ad05 4300 |001d: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +027418: 1a04 6800 |0020: const-string v4, "/idx" // string@0068 │ │ +02741c: 6e20 ad05 4300 |0022: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +027422: 6e20 aa05 1300 |0025: invoke-virtual {v3, v1}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@05aa │ │ +027428: 6e10 af05 0300 |0028: invoke-virtual {v3}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ +02742e: 0c03 |002b: move-result-object v3 │ │ +027430: 6e20 4c07 3200 |002c: invoke-virtual {v2, v3}, Lutil/PackedSortedList;.persist:(Ljava/lang/String;)V // method@074c │ │ +027436: d801 0101 |002f: add-int/lit8 v1, v1, #int 1 // #01 │ │ +02743a: 28db |0031: goto 000c // -0025 │ │ +02743c: 0e00 |0032: return-void │ │ +02743e: 2200 0001 |0033: new-instance v0, Ljava/io/IOException; // type@0100 │ │ +027442: 1a01 eb00 |0035: const-string v1, "Can not update non persisted index!" // string@00eb │ │ +027446: 7020 1f05 1000 |0037: invoke-direct {v0, v1}, Ljava/io/IOException;.:(Ljava/lang/String;)V // method@051f │ │ +02744c: 2802 |003a: goto 003c // +0002 │ │ +02744e: 2700 |003b: throw v0 │ │ +027450: 28ff |003c: goto 003b // -0001 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=195 │ │ 0x0004 line=198 │ │ 0x000c line=200 │ │ 0x0010 line=201 │ │ 0x0033 line=196 │ │ @@ -28008,19 +28008,19 @@ │ │ type : '(I)V' │ │ access : 0x10001 (PUBLIC CONSTRUCTOR) │ │ code - │ │ registers : 3 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 8 16-bit code units │ │ -0276c0: |[0276c0] util.LRUCache.:(I)V │ │ -0276d0: d800 0201 |0000: add-int/lit8 v0, v2, #int 1 // #01 │ │ -0276d4: 7020 3c06 0100 |0002: invoke-direct {v1, v0}, Ljava/util/LinkedHashMap;.:(I)V // method@063c │ │ -0276da: 5912 5203 |0005: iput v2, v1, Lutil/LRUCache;.MAX_ENTRIES:I // field@0352 │ │ -0276de: 0e00 |0007: return-void │ │ +0276bc: |[0276bc] util.LRUCache.:(I)V │ │ +0276cc: d800 0201 |0000: add-int/lit8 v0, v2, #int 1 // #01 │ │ +0276d0: 7020 3c06 0100 |0002: invoke-direct {v1, v0}, Ljava/util/LinkedHashMap;.:(I)V // method@063c │ │ +0276d6: 5912 5203 |0005: iput v2, v1, Lutil/LRUCache;.MAX_ENTRIES:I // field@0352 │ │ +0276da: 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 │ │ @@ -28031,22 +28031,22 @@ │ │ type : '()V' │ │ access : 0x20001 (PUBLIC DECLARED_SYNCHRONIZED) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 9 16-bit code units │ │ -0276e0: |[0276e0] util.LRUCache.clear:()V │ │ -0276f0: 1d01 |0000: monitor-enter v1 │ │ -0276f2: 6f10 3d06 0100 |0001: invoke-super {v1}, Ljava/util/LinkedHashMap;.clear:()V // method@063d │ │ -0276f8: 1e01 |0004: monitor-exit v1 │ │ -0276fa: 0e00 |0005: return-void │ │ -0276fc: 0d00 |0006: move-exception v0 │ │ -0276fe: 1e01 |0007: monitor-exit v1 │ │ -027700: 2700 |0008: throw v0 │ │ +0276dc: |[0276dc] util.LRUCache.clear:()V │ │ +0276ec: 1d01 |0000: monitor-enter v1 │ │ +0276ee: 6f10 3d06 0100 |0001: invoke-super {v1}, Ljava/util/LinkedHashMap;.clear:()V // method@063d │ │ +0276f4: 1e01 |0004: monitor-exit v1 │ │ +0276f6: 0e00 |0005: return-void │ │ +0276f8: 0d00 |0006: move-exception v0 │ │ +0276fa: 1e01 |0007: monitor-exit v1 │ │ +0276fc: 2700 |0008: throw v0 │ │ catches : 1 │ │ 0x0001 - 0x0004 │ │ -> 0x0006 │ │ positions : │ │ 0x0001 line=117 │ │ 0x0004 line=118 │ │ locals : │ │ @@ -28057,23 +28057,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 │ │ -027458: |[027458] util.LRUCache.containsKey:(Ljava/lang/Object;)Z │ │ -027468: 1d00 |0000: monitor-enter v0 │ │ -02746a: 6f20 3e06 1000 |0001: invoke-super {v0, v1}, Ljava/util/LinkedHashMap;.containsKey:(Ljava/lang/Object;)Z // method@063e │ │ -027470: 0a01 |0004: move-result v1 │ │ -027472: 1e00 |0005: monitor-exit v0 │ │ -027474: 0f01 |0006: return v1 │ │ -027476: 0d01 |0007: move-exception v1 │ │ -027478: 1e00 |0008: monitor-exit v0 │ │ -02747a: 2701 |0009: throw v1 │ │ +027454: |[027454] util.LRUCache.containsKey:(Ljava/lang/Object;)Z │ │ +027464: 1d00 |0000: monitor-enter v0 │ │ +027466: 6f20 3e06 1000 |0001: invoke-super {v0, v1}, Ljava/util/LinkedHashMap;.containsKey:(Ljava/lang/Object;)Z // method@063e │ │ +02746c: 0a01 |0004: move-result v1 │ │ +02746e: 1e00 |0005: monitor-exit v0 │ │ +027470: 0f01 |0006: return v1 │ │ +027472: 0d01 |0007: move-exception v1 │ │ +027474: 1e00 |0008: monitor-exit v0 │ │ +027476: 2701 |0009: throw v1 │ │ catches : 1 │ │ 0x0001 - 0x0005 │ │ -> 0x0007 │ │ positions : │ │ 0x0001 line=86 │ │ locals : │ │ 0x0000 - 0x000a reg=0 this Lutil/LRUCache; │ │ @@ -28084,23 +28084,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 │ │ -027488: |[027488] util.LRUCache.containsValue:(Ljava/lang/Object;)Z │ │ -027498: 1d00 |0000: monitor-enter v0 │ │ -02749a: 6f20 3f06 1000 |0001: invoke-super {v0, v1}, Ljava/util/LinkedHashMap;.containsValue:(Ljava/lang/Object;)Z // method@063f │ │ -0274a0: 0a01 |0004: move-result v1 │ │ -0274a2: 1e00 |0005: monitor-exit v0 │ │ -0274a4: 0f01 |0006: return v1 │ │ -0274a6: 0d01 |0007: move-exception v1 │ │ -0274a8: 1e00 |0008: monitor-exit v0 │ │ -0274aa: 2701 |0009: throw v1 │ │ +027484: |[027484] util.LRUCache.containsValue:(Ljava/lang/Object;)Z │ │ +027494: 1d00 |0000: monitor-enter v0 │ │ +027496: 6f20 3f06 1000 |0001: invoke-super {v0, v1}, Ljava/util/LinkedHashMap;.containsValue:(Ljava/lang/Object;)Z // method@063f │ │ +02749c: 0a01 |0004: move-result v1 │ │ +02749e: 1e00 |0005: monitor-exit v0 │ │ +0274a0: 0f01 |0006: return v1 │ │ +0274a2: 0d01 |0007: move-exception v1 │ │ +0274a4: 1e00 |0008: monitor-exit v0 │ │ +0274a6: 2701 |0009: throw v1 │ │ catches : 1 │ │ 0x0001 - 0x0005 │ │ -> 0x0007 │ │ positions : │ │ 0x0001 line=91 │ │ locals : │ │ 0x0000 - 0x000a reg=0 this Lutil/LRUCache; │ │ @@ -28111,23 +28111,23 @@ │ │ type : '()Ljava/util/Set;' │ │ access : 0x20001 (PUBLIC DECLARED_SYNCHRONIZED) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 10 16-bit code units │ │ -027660: |[027660] util.LRUCache.entrySet:()Ljava/util/Set; │ │ -027670: 1d01 |0000: monitor-enter v1 │ │ -027672: 6f10 4006 0100 |0001: invoke-super {v1}, Ljava/util/LinkedHashMap;.entrySet:()Ljava/util/Set; // method@0640 │ │ -027678: 0c00 |0004: move-result-object v0 │ │ -02767a: 1e01 |0005: monitor-exit v1 │ │ -02767c: 1100 |0006: return-object v0 │ │ -02767e: 0d00 |0007: move-exception v0 │ │ -027680: 1e01 |0008: monitor-exit v1 │ │ -027682: 2700 |0009: throw v0 │ │ +02765c: |[02765c] util.LRUCache.entrySet:()Ljava/util/Set; │ │ +02766c: 1d01 |0000: monitor-enter v1 │ │ +02766e: 6f10 4006 0100 |0001: invoke-super {v1}, Ljava/util/LinkedHashMap;.entrySet:()Ljava/util/Set; // method@0640 │ │ +027674: 0c00 |0004: move-result-object v0 │ │ +027676: 1e01 |0005: monitor-exit v1 │ │ +027678: 1100 |0006: return-object v0 │ │ +02767a: 0d00 |0007: move-exception v0 │ │ +02767c: 1e01 |0008: monitor-exit v1 │ │ +02767e: 2700 |0009: throw v0 │ │ catches : 1 │ │ 0x0001 - 0x0005 │ │ -> 0x0007 │ │ positions : │ │ 0x0001 line=107 │ │ locals : │ │ 0x0000 - 0x000a reg=1 this Lutil/LRUCache; │ │ @@ -28137,23 +28137,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 │ │ -0274b8: |[0274b8] util.LRUCache.equals:(Ljava/lang/Object;)Z │ │ -0274c8: 1d00 |0000: monitor-enter v0 │ │ -0274ca: 6f20 4106 1000 |0001: invoke-super {v0, v1}, Ljava/util/LinkedHashMap;.equals:(Ljava/lang/Object;)Z // method@0641 │ │ -0274d0: 0a01 |0004: move-result v1 │ │ -0274d2: 1e00 |0005: monitor-exit v0 │ │ -0274d4: 0f01 |0006: return v1 │ │ -0274d6: 0d01 |0007: move-exception v1 │ │ -0274d8: 1e00 |0008: monitor-exit v0 │ │ -0274da: 2701 |0009: throw v1 │ │ +0274b4: |[0274b4] util.LRUCache.equals:(Ljava/lang/Object;)Z │ │ +0274c4: 1d00 |0000: monitor-enter v0 │ │ +0274c6: 6f20 4106 1000 |0001: invoke-super {v0, v1}, Ljava/util/LinkedHashMap;.equals:(Ljava/lang/Object;)Z // method@0641 │ │ +0274cc: 0a01 |0004: move-result v1 │ │ +0274ce: 1e00 |0005: monitor-exit v0 │ │ +0274d0: 0f01 |0006: return v1 │ │ +0274d2: 0d01 |0007: move-exception v1 │ │ +0274d4: 1e00 |0008: monitor-exit v0 │ │ +0274d6: 2701 |0009: throw v1 │ │ catches : 1 │ │ 0x0001 - 0x0005 │ │ -> 0x0007 │ │ positions : │ │ 0x0001 line=76 │ │ locals : │ │ 0x0000 - 0x000a reg=0 this Lutil/LRUCache; │ │ @@ -28164,23 +28164,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 │ │ -0275a0: |[0275a0] util.LRUCache.get:(Ljava/lang/Object;)Ljava/lang/Object; │ │ -0275b0: 1d00 |0000: monitor-enter v0 │ │ -0275b2: 6f20 4206 1000 |0001: invoke-super {v0, v1}, Ljava/util/LinkedHashMap;.get:(Ljava/lang/Object;)Ljava/lang/Object; // method@0642 │ │ -0275b8: 0c01 |0004: move-result-object v1 │ │ -0275ba: 1e00 |0005: monitor-exit v0 │ │ -0275bc: 1101 |0006: return-object v1 │ │ -0275be: 0d01 |0007: move-exception v1 │ │ -0275c0: 1e00 |0008: monitor-exit v0 │ │ -0275c2: 2701 |0009: throw v1 │ │ +02759c: |[02759c] util.LRUCache.get:(Ljava/lang/Object;)Ljava/lang/Object; │ │ +0275ac: 1d00 |0000: monitor-enter v0 │ │ +0275ae: 6f20 4206 1000 |0001: invoke-super {v0, v1}, Ljava/util/LinkedHashMap;.get:(Ljava/lang/Object;)Ljava/lang/Object; // method@0642 │ │ +0275b4: 0c01 |0004: move-result-object v1 │ │ +0275b6: 1e00 |0005: monitor-exit v0 │ │ +0275b8: 1101 |0006: return-object v1 │ │ +0275ba: 0d01 |0007: move-exception v1 │ │ +0275bc: 1e00 |0008: monitor-exit v0 │ │ +0275be: 2701 |0009: throw v1 │ │ catches : 1 │ │ 0x0001 - 0x0005 │ │ -> 0x0007 │ │ positions : │ │ 0x0001 line=54 │ │ locals : │ │ 0x0000 - 0x000a reg=0 this Lutil/LRUCache; │ │ @@ -28191,23 +28191,23 @@ │ │ type : '()I' │ │ access : 0x20001 (PUBLIC DECLARED_SYNCHRONIZED) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 10 16-bit code units │ │ -027540: |[027540] util.LRUCache.hashCode:()I │ │ -027550: 1d01 |0000: monitor-enter v1 │ │ -027552: 6f10 4306 0100 |0001: invoke-super {v1}, Ljava/util/LinkedHashMap;.hashCode:()I // method@0643 │ │ -027558: 0a00 |0004: move-result v0 │ │ -02755a: 1e01 |0005: monitor-exit v1 │ │ -02755c: 0f00 |0006: return v0 │ │ -02755e: 0d00 |0007: move-exception v0 │ │ -027560: 1e01 |0008: monitor-exit v1 │ │ -027562: 2700 |0009: throw v0 │ │ +02753c: |[02753c] util.LRUCache.hashCode:()I │ │ +02754c: 1d01 |0000: monitor-enter v1 │ │ +02754e: 6f10 4306 0100 |0001: invoke-super {v1}, Ljava/util/LinkedHashMap;.hashCode:()I // method@0643 │ │ +027554: 0a00 |0004: move-result v0 │ │ +027556: 1e01 |0005: monitor-exit v1 │ │ +027558: 0f00 |0006: return v0 │ │ +02755a: 0d00 |0007: move-exception v0 │ │ +02755c: 1e01 |0008: monitor-exit v1 │ │ +02755e: 2700 |0009: throw v0 │ │ catches : 1 │ │ 0x0001 - 0x0005 │ │ -> 0x0007 │ │ positions : │ │ 0x0001 line=71 │ │ locals : │ │ 0x0000 - 0x000a reg=1 this Lutil/LRUCache; │ │ @@ -28217,23 +28217,23 @@ │ │ type : '()Z' │ │ access : 0x20001 (PUBLIC DECLARED_SYNCHRONIZED) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 10 16-bit code units │ │ -0274e8: |[0274e8] util.LRUCache.isEmpty:()Z │ │ -0274f8: 1d01 |0000: monitor-enter v1 │ │ -0274fa: 6f10 4406 0100 |0001: invoke-super {v1}, Ljava/util/LinkedHashMap;.isEmpty:()Z // method@0644 │ │ -027500: 0a00 |0004: move-result v0 │ │ -027502: 1e01 |0005: monitor-exit v1 │ │ -027504: 0f00 |0006: return v0 │ │ -027506: 0d00 |0007: move-exception v0 │ │ -027508: 1e01 |0008: monitor-exit v1 │ │ -02750a: 2700 |0009: throw v0 │ │ +0274e4: |[0274e4] util.LRUCache.isEmpty:()Z │ │ +0274f4: 1d01 |0000: monitor-enter v1 │ │ +0274f6: 6f10 4406 0100 |0001: invoke-super {v1}, Ljava/util/LinkedHashMap;.isEmpty:()Z // method@0644 │ │ +0274fc: 0a00 |0004: move-result v0 │ │ +0274fe: 1e01 |0005: monitor-exit v1 │ │ +027500: 0f00 |0006: return v0 │ │ +027502: 0d00 |0007: move-exception v0 │ │ +027504: 1e01 |0008: monitor-exit v1 │ │ +027506: 2700 |0009: throw v0 │ │ catches : 1 │ │ 0x0001 - 0x0005 │ │ -> 0x0007 │ │ positions : │ │ 0x0001 line=81 │ │ locals : │ │ 0x0000 - 0x000a reg=1 this Lutil/LRUCache; │ │ @@ -28243,23 +28243,23 @@ │ │ type : '()Ljava/util/Set;' │ │ access : 0x20001 (PUBLIC DECLARED_SYNCHRONIZED) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 10 16-bit code units │ │ -027690: |[027690] util.LRUCache.keySet:()Ljava/util/Set; │ │ -0276a0: 1d01 |0000: monitor-enter v1 │ │ -0276a2: 6f10 4506 0100 |0001: invoke-super {v1}, Ljava/util/LinkedHashMap;.keySet:()Ljava/util/Set; // method@0645 │ │ -0276a8: 0c00 |0004: move-result-object v0 │ │ -0276aa: 1e01 |0005: monitor-exit v1 │ │ -0276ac: 1100 |0006: return-object v0 │ │ -0276ae: 0d00 |0007: move-exception v0 │ │ -0276b0: 1e01 |0008: monitor-exit v1 │ │ -0276b2: 2700 |0009: throw v0 │ │ +02768c: |[02768c] util.LRUCache.keySet:()Ljava/util/Set; │ │ +02769c: 1d01 |0000: monitor-enter v1 │ │ +02769e: 6f10 4506 0100 |0001: invoke-super {v1}, Ljava/util/LinkedHashMap;.keySet:()Ljava/util/Set; // method@0645 │ │ +0276a4: 0c00 |0004: move-result-object v0 │ │ +0276a6: 1e01 |0005: monitor-exit v1 │ │ +0276a8: 1100 |0006: return-object v0 │ │ +0276aa: 0d00 |0007: move-exception v0 │ │ +0276ac: 1e01 |0008: monitor-exit v1 │ │ +0276ae: 2700 |0009: throw v0 │ │ catches : 1 │ │ 0x0001 - 0x0005 │ │ -> 0x0007 │ │ positions : │ │ 0x0001 line=102 │ │ locals : │ │ 0x0000 - 0x000a reg=1 this Lutil/LRUCache; │ │ @@ -28269,23 +28269,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 │ │ -0275d0: |[0275d0] util.LRUCache.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; │ │ -0275e0: 1d00 |0000: monitor-enter v0 │ │ -0275e2: 6f30 4606 1002 |0001: invoke-super {v0, v1, v2}, Ljava/util/LinkedHashMap;.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; // method@0646 │ │ -0275e8: 0c01 |0004: move-result-object v1 │ │ -0275ea: 1e00 |0005: monitor-exit v0 │ │ -0275ec: 1101 |0006: return-object v1 │ │ -0275ee: 0d01 |0007: move-exception v1 │ │ -0275f0: 1e00 |0008: monitor-exit v0 │ │ -0275f2: 2701 |0009: throw v1 │ │ +0275cc: |[0275cc] util.LRUCache.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; │ │ +0275dc: 1d00 |0000: monitor-enter v0 │ │ +0275de: 6f30 4606 1002 |0001: invoke-super {v0, v1, v2}, Ljava/util/LinkedHashMap;.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; // method@0646 │ │ +0275e4: 0c01 |0004: move-result-object v1 │ │ +0275e6: 1e00 |0005: monitor-exit v0 │ │ +0275e8: 1101 |0006: return-object v1 │ │ +0275ea: 0d01 |0007: move-exception v1 │ │ +0275ec: 1e00 |0008: monitor-exit v0 │ │ +0275ee: 2701 |0009: throw v1 │ │ catches : 1 │ │ 0x0001 - 0x0005 │ │ -> 0x0007 │ │ positions : │ │ 0x0001 line=48 │ │ locals : │ │ 0x0000 - 0x000a reg=0 this Lutil/LRUCache; │ │ @@ -28297,22 +28297,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 │ │ -027710: |[027710] util.LRUCache.putAll:(Ljava/util/Map;)V │ │ -027720: 1d00 |0000: monitor-enter v0 │ │ -027722: 6f20 4706 1000 |0001: invoke-super {v0, v1}, Ljava/util/LinkedHashMap;.putAll:(Ljava/util/Map;)V // method@0647 │ │ -027728: 1e00 |0004: monitor-exit v0 │ │ -02772a: 0e00 |0005: return-void │ │ -02772c: 0d01 |0006: move-exception v1 │ │ -02772e: 1e00 |0007: monitor-exit v0 │ │ -027730: 2701 |0008: throw v1 │ │ +02770c: |[02770c] util.LRUCache.putAll:(Ljava/util/Map;)V │ │ +02771c: 1d00 |0000: monitor-enter v0 │ │ +02771e: 6f20 4706 1000 |0001: invoke-super {v0, v1}, Ljava/util/LinkedHashMap;.putAll:(Ljava/util/Map;)V // method@0647 │ │ +027724: 1e00 |0004: monitor-exit v0 │ │ +027726: 0e00 |0005: return-void │ │ +027728: 0d01 |0006: move-exception v1 │ │ +02772a: 1e00 |0007: monitor-exit v0 │ │ +02772c: 2701 |0008: throw v1 │ │ catches : 1 │ │ 0x0001 - 0x0004 │ │ -> 0x0006 │ │ positions : │ │ 0x0001 line=112 │ │ 0x0004 line=113 │ │ locals : │ │ @@ -28324,23 +28324,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 │ │ -027600: |[027600] util.LRUCache.remove:(Ljava/lang/Object;)Ljava/lang/Object; │ │ -027610: 1d00 |0000: monitor-enter v0 │ │ -027612: 6f20 4806 1000 |0001: invoke-super {v0, v1}, Ljava/util/LinkedHashMap;.remove:(Ljava/lang/Object;)Ljava/lang/Object; // method@0648 │ │ -027618: 0c01 |0004: move-result-object v1 │ │ -02761a: 1e00 |0005: monitor-exit v0 │ │ -02761c: 1101 |0006: return-object v1 │ │ -02761e: 0d01 |0007: move-exception v1 │ │ -027620: 1e00 |0008: monitor-exit v0 │ │ -027622: 2701 |0009: throw v1 │ │ +0275fc: |[0275fc] util.LRUCache.remove:(Ljava/lang/Object;)Ljava/lang/Object; │ │ +02760c: 1d00 |0000: monitor-enter v0 │ │ +02760e: 6f20 4806 1000 |0001: invoke-super {v0, v1}, Ljava/util/LinkedHashMap;.remove:(Ljava/lang/Object;)Ljava/lang/Object; // method@0648 │ │ +027614: 0c01 |0004: move-result-object v1 │ │ +027616: 1e00 |0005: monitor-exit v0 │ │ +027618: 1101 |0006: return-object v1 │ │ +02761a: 0d01 |0007: move-exception v1 │ │ +02761c: 1e00 |0008: monitor-exit v0 │ │ +02761e: 2701 |0009: throw v1 │ │ catches : 1 │ │ 0x0001 - 0x0005 │ │ -> 0x0007 │ │ positions : │ │ 0x0001 line=60 │ │ locals : │ │ 0x0000 - 0x000a reg=0 this Lutil/LRUCache; │ │ @@ -28351,23 +28351,23 @@ │ │ type : '(Ljava/util/Map$Entry;)Z' │ │ access : 0x0004 (PROTECTED) │ │ code - │ │ registers : 3 │ │ ins : 2 │ │ outs : 1 │ │ insns size : 12 16-bit code units │ │ -027518: |[027518] util.LRUCache.removeEldestEntry:(Ljava/util/Map$Entry;)Z │ │ -027528: 6e10 2007 0100 |0000: invoke-virtual {v1}, Lutil/LRUCache;.size:()I // method@0720 │ │ -02752e: 0a02 |0003: move-result v2 │ │ -027530: 5210 5203 |0004: iget v0, v1, Lutil/LRUCache;.MAX_ENTRIES:I // field@0352 │ │ -027534: 3702 0400 |0006: if-le v2, v0, 000a // +0004 │ │ -027538: 1212 |0008: const/4 v2, #int 1 // #1 │ │ -02753a: 2802 |0009: goto 000b // +0002 │ │ -02753c: 1202 |000a: const/4 v2, #int 0 // #0 │ │ -02753e: 0f02 |000b: return v2 │ │ +027514: |[027514] util.LRUCache.removeEldestEntry:(Ljava/util/Map$Entry;)Z │ │ +027524: 6e10 2007 0100 |0000: invoke-virtual {v1}, Lutil/LRUCache;.size:()I // method@0720 │ │ +02752a: 0a02 |0003: move-result v2 │ │ +02752c: 5210 5203 |0004: iget v0, v1, Lutil/LRUCache;.MAX_ENTRIES:I // field@0352 │ │ +027530: 3702 0400 |0006: if-le v2, v0, 000a // +0004 │ │ +027534: 1212 |0008: const/4 v2, #int 1 // #1 │ │ +027536: 2802 |0009: goto 000b // +0002 │ │ +027538: 1202 |000a: const/4 v2, #int 0 // #0 │ │ +02753a: 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; │ │ │ │ @@ -28376,23 +28376,23 @@ │ │ type : '()I' │ │ access : 0x20001 (PUBLIC DECLARED_SYNCHRONIZED) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 10 16-bit code units │ │ -027570: |[027570] util.LRUCache.size:()I │ │ -027580: 1d01 |0000: monitor-enter v1 │ │ -027582: 6f10 4906 0100 |0001: invoke-super {v1}, Ljava/util/LinkedHashMap;.size:()I // method@0649 │ │ -027588: 0a00 |0004: move-result v0 │ │ -02758a: 1e01 |0005: monitor-exit v1 │ │ -02758c: 0f00 |0006: return v0 │ │ -02758e: 0d00 |0007: move-exception v0 │ │ -027590: 1e01 |0008: monitor-exit v1 │ │ -027592: 2700 |0009: throw v0 │ │ +02756c: |[02756c] util.LRUCache.size:()I │ │ +02757c: 1d01 |0000: monitor-enter v1 │ │ +02757e: 6f10 4906 0100 |0001: invoke-super {v1}, Ljava/util/LinkedHashMap;.size:()I // method@0649 │ │ +027584: 0a00 |0004: move-result v0 │ │ +027586: 1e01 |0005: monitor-exit v1 │ │ +027588: 0f00 |0006: return v0 │ │ +02758a: 0d00 |0007: move-exception v0 │ │ +02758c: 1e01 |0008: monitor-exit v1 │ │ +02758e: 2700 |0009: throw v0 │ │ catches : 1 │ │ 0x0001 - 0x0005 │ │ -> 0x0007 │ │ positions : │ │ 0x0001 line=66 │ │ locals : │ │ 0x0000 - 0x000a reg=1 this Lutil/LRUCache; │ │ @@ -28402,23 +28402,23 @@ │ │ type : '()Ljava/util/Collection;' │ │ access : 0x20001 (PUBLIC DECLARED_SYNCHRONIZED) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 10 16-bit code units │ │ -027630: |[027630] util.LRUCache.values:()Ljava/util/Collection; │ │ -027640: 1d01 |0000: monitor-enter v1 │ │ -027642: 6f10 4a06 0100 |0001: invoke-super {v1}, Ljava/util/LinkedHashMap;.values:()Ljava/util/Collection; // method@064a │ │ -027648: 0c00 |0004: move-result-object v0 │ │ -02764a: 1e01 |0005: monitor-exit v1 │ │ -02764c: 1100 |0006: return-object v0 │ │ -02764e: 0d00 |0007: move-exception v0 │ │ -027650: 1e01 |0008: monitor-exit v1 │ │ -027652: 2700 |0009: throw v0 │ │ +02762c: |[02762c] util.LRUCache.values:()Ljava/util/Collection; │ │ +02763c: 1d01 |0000: monitor-enter v1 │ │ +02763e: 6f10 4a06 0100 |0001: invoke-super {v1}, Ljava/util/LinkedHashMap;.values:()Ljava/util/Collection; // method@064a │ │ +027644: 0c00 |0004: move-result-object v0 │ │ +027646: 1e01 |0005: monitor-exit v1 │ │ +027648: 1100 |0006: return-object v0 │ │ +02764a: 0d00 |0007: move-exception v0 │ │ +02764c: 1e01 |0008: monitor-exit v1 │ │ +02764e: 2700 |0009: throw v0 │ │ catches : 1 │ │ 0x0001 - 0x0005 │ │ -> 0x0007 │ │ positions : │ │ 0x0001 line=97 │ │ locals : │ │ 0x0000 - 0x000a reg=1 this Lutil/LRUCache; │ │ @@ -28590,34 +28590,34 @@ │ │ type : '(ILutil/ObjectPackagingManager;)V' │ │ access : 0x10001 (PUBLIC CONSTRUCTOR) │ │ code - │ │ registers : 5 │ │ ins : 3 │ │ outs : 1 │ │ insns size : 35 16-bit code units │ │ -027d40: |[027d40] util.PackedSortedList.:(ILutil/ObjectPackagingManager;)V │ │ -027d50: 7010 7305 0200 |0000: invoke-direct {v2}, Ljava/lang/Object;.:()V // method@0573 │ │ -027d56: 1200 |0003: const/4 v0, #int 0 // #0 │ │ -027d58: 5c20 5903 |0004: iput-boolean v0, v2, Lutil/PackedSortedList;.loaded:Z // field@0359 │ │ -027d5c: 1201 |0006: const/4 v1, #int 0 // #0 │ │ -027d5e: 5b21 5703 |0007: iput-object v1, v2, Lutil/PackedSortedList;.datapack:[B // field@0357 │ │ -027d62: 5920 5603 |0009: iput v0, v2, Lutil/PackedSortedList;.count:I // field@0356 │ │ -027d66: 5b21 5c03 |000b: iput-object v1, v2, Lutil/PackedSortedList;.persistedPackData:Ljava/io/RandomAccessFile; // field@035c │ │ -027d6a: 5920 5d03 |000d: iput v0, v2, Lutil/PackedSortedList;.persistedPackDataRefs:I // field@035d │ │ -027d6e: 5b24 5a03 |000f: iput-object v4, v2, Lutil/PackedSortedList;.objMgr:Lutil/ObjectPackagingManager; // field@035a │ │ -027d72: 7210 3407 0400 |0011: invoke-interface {v4}, Lutil/ObjectPackagingManager;.objectSize:()I // method@0734 │ │ -027d78: 0a04 |0014: move-result v4 │ │ -027d7a: 5924 5b03 |0015: iput v4, v2, Lutil/PackedSortedList;.object_size:I // field@035b │ │ -027d7e: 9203 0304 |0017: mul-int v3, v3, v4 │ │ -027d82: 2333 9d01 |0019: new-array v3, v3, [B // type@019d │ │ -027d86: 5b23 5703 |001b: iput-object v3, v2, Lutil/PackedSortedList;.datapack:[B // field@0357 │ │ -027d8a: 1213 |001d: const/4 v3, #int 1 // #1 │ │ -027d8c: 5c23 5803 |001e: iput-boolean v3, v2, Lutil/PackedSortedList;.keepInMemory:Z // field@0358 │ │ -027d90: 5c23 5903 |0020: iput-boolean v3, v2, Lutil/PackedSortedList;.loaded:Z // field@0359 │ │ -027d94: 0e00 |0022: return-void │ │ +027d3c: |[027d3c] util.PackedSortedList.:(ILutil/ObjectPackagingManager;)V │ │ +027d4c: 7010 7305 0200 |0000: invoke-direct {v2}, Ljava/lang/Object;.:()V // method@0573 │ │ +027d52: 1200 |0003: const/4 v0, #int 0 // #0 │ │ +027d54: 5c20 5903 |0004: iput-boolean v0, v2, Lutil/PackedSortedList;.loaded:Z // field@0359 │ │ +027d58: 1201 |0006: const/4 v1, #int 0 // #0 │ │ +027d5a: 5b21 5703 |0007: iput-object v1, v2, Lutil/PackedSortedList;.datapack:[B // field@0357 │ │ +027d5e: 5920 5603 |0009: iput v0, v2, Lutil/PackedSortedList;.count:I // field@0356 │ │ +027d62: 5b21 5c03 |000b: iput-object v1, v2, Lutil/PackedSortedList;.persistedPackData:Ljava/io/RandomAccessFile; // field@035c │ │ +027d66: 5920 5d03 |000d: iput v0, v2, Lutil/PackedSortedList;.persistedPackDataRefs:I // field@035d │ │ +027d6a: 5b24 5a03 |000f: iput-object v4, v2, Lutil/PackedSortedList;.objMgr:Lutil/ObjectPackagingManager; // field@035a │ │ +027d6e: 7210 3407 0400 |0011: invoke-interface {v4}, Lutil/ObjectPackagingManager;.objectSize:()I // method@0734 │ │ +027d74: 0a04 |0014: move-result v4 │ │ +027d76: 5924 5b03 |0015: iput v4, v2, Lutil/PackedSortedList;.object_size:I // field@035b │ │ +027d7a: 9203 0304 |0017: mul-int v3, v3, v4 │ │ +027d7e: 2333 9d01 |0019: new-array v3, v3, [B // type@019d │ │ +027d82: 5b23 5703 |001b: iput-object v3, v2, Lutil/PackedSortedList;.datapack:[B // field@0357 │ │ +027d86: 1213 |001d: const/4 v3, #int 1 // #1 │ │ +027d88: 5c23 5803 |001e: iput-boolean v3, v2, Lutil/PackedSortedList;.keepInMemory:Z // field@0358 │ │ +027d8c: 5c23 5903 |0020: iput-boolean v3, v2, Lutil/PackedSortedList;.loaded:Z // field@0359 │ │ +027d90: 0e00 |0022: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=52 │ │ 0x0004 line=43 │ │ 0x0007 line=45 │ │ 0x0009 line=46 │ │ 0x000b line=48 │ │ @@ -28637,35 +28637,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 │ │ -027ce0: |[027ce0] util.PackedSortedList.:([BIZLjava/io/File;Lutil/ObjectPackagingManager;)V │ │ -027cf0: 7010 7305 0200 |0000: invoke-direct {v2}, Ljava/lang/Object;.:()V // method@0573 │ │ -027cf6: 1200 |0003: const/4 v0, #int 0 // #0 │ │ -027cf8: 5c20 5903 |0004: iput-boolean v0, v2, Lutil/PackedSortedList;.loaded:Z // field@0359 │ │ -027cfc: 1201 |0006: const/4 v1, #int 0 // #0 │ │ -027cfe: 5b21 5703 |0007: iput-object v1, v2, Lutil/PackedSortedList;.datapack:[B // field@0357 │ │ -027d02: 5920 5603 |0009: iput v0, v2, Lutil/PackedSortedList;.count:I // field@0356 │ │ -027d06: 5b21 5c03 |000b: iput-object v1, v2, Lutil/PackedSortedList;.persistedPackData:Ljava/io/RandomAccessFile; // field@035c │ │ -027d0a: 5920 5d03 |000d: iput v0, v2, Lutil/PackedSortedList;.persistedPackDataRefs:I // field@035d │ │ -027d0e: 5b27 5a03 |000f: iput-object v7, v2, Lutil/PackedSortedList;.objMgr:Lutil/ObjectPackagingManager; // field@035a │ │ -027d12: 7210 3407 0700 |0011: invoke-interface {v7}, Lutil/ObjectPackagingManager;.objectSize:()I // method@0734 │ │ -027d18: 0a07 |0014: move-result v7 │ │ -027d1a: 5927 5b03 |0015: iput v7, v2, Lutil/PackedSortedList;.object_size:I // field@035b │ │ -027d1e: 5b23 5703 |0017: iput-object v3, v2, Lutil/PackedSortedList;.datapack:[B // field@0357 │ │ -027d22: 5924 5603 |0019: iput v4, v2, Lutil/PackedSortedList;.count:I // field@0356 │ │ -027d26: 5c25 5803 |001b: iput-boolean v5, v2, Lutil/PackedSortedList;.keepInMemory:Z // field@0358 │ │ -027d2a: 5b26 5e03 |001d: iput-object v6, v2, Lutil/PackedSortedList;.persistedPackFile:Ljava/io/File; // field@035e │ │ -027d2e: 5c20 5f03 |001f: iput-boolean v0, v2, Lutil/PackedSortedList;.persistentOutdated:Z // field@035f │ │ -027d32: 3805 0500 |0021: if-eqz v5, 0026 // +0005 │ │ -027d36: 7010 4b07 0200 |0023: invoke-direct {v2}, Lutil/PackedSortedList;.loadinMemory:()V // method@074b │ │ -027d3c: 0e00 |0026: return-void │ │ +027cdc: |[027cdc] util.PackedSortedList.:([BIZLjava/io/File;Lutil/ObjectPackagingManager;)V │ │ +027cec: 7010 7305 0200 |0000: invoke-direct {v2}, Ljava/lang/Object;.:()V // method@0573 │ │ +027cf2: 1200 |0003: const/4 v0, #int 0 // #0 │ │ +027cf4: 5c20 5903 |0004: iput-boolean v0, v2, Lutil/PackedSortedList;.loaded:Z // field@0359 │ │ +027cf8: 1201 |0006: const/4 v1, #int 0 // #0 │ │ +027cfa: 5b21 5703 |0007: iput-object v1, v2, Lutil/PackedSortedList;.datapack:[B // field@0357 │ │ +027cfe: 5920 5603 |0009: iput v0, v2, Lutil/PackedSortedList;.count:I // field@0356 │ │ +027d02: 5b21 5c03 |000b: iput-object v1, v2, Lutil/PackedSortedList;.persistedPackData:Ljava/io/RandomAccessFile; // field@035c │ │ +027d06: 5920 5d03 |000d: iput v0, v2, Lutil/PackedSortedList;.persistedPackDataRefs:I // field@035d │ │ +027d0a: 5b27 5a03 |000f: iput-object v7, v2, Lutil/PackedSortedList;.objMgr:Lutil/ObjectPackagingManager; // field@035a │ │ +027d0e: 7210 3407 0700 |0011: invoke-interface {v7}, Lutil/ObjectPackagingManager;.objectSize:()I // method@0734 │ │ +027d14: 0a07 |0014: move-result v7 │ │ +027d16: 5927 5b03 |0015: iput v7, v2, Lutil/PackedSortedList;.object_size:I // field@035b │ │ +027d1a: 5b23 5703 |0017: iput-object v3, v2, Lutil/PackedSortedList;.datapack:[B // field@0357 │ │ +027d1e: 5924 5603 |0019: iput v4, v2, Lutil/PackedSortedList;.count:I // field@0356 │ │ +027d22: 5c25 5803 |001b: iput-boolean v5, v2, Lutil/PackedSortedList;.keepInMemory:Z // field@0358 │ │ +027d26: 5b26 5e03 |001d: iput-object v6, v2, Lutil/PackedSortedList;.persistedPackFile:Ljava/io/File; // field@035e │ │ +027d2a: 5c20 5f03 |001f: iput-boolean v0, v2, Lutil/PackedSortedList;.persistentOutdated:Z // field@035f │ │ +027d2e: 3805 0500 |0021: if-eqz v5, 0026 // +0005 │ │ +027d32: 7010 4b07 0200 |0023: invoke-direct {v2}, Lutil/PackedSortedList;.loadinMemory:()V // method@074b │ │ +027d38: 0e00 |0026: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=60 │ │ 0x0004 line=43 │ │ 0x0007 line=45 │ │ 0x0009 line=46 │ │ 0x000b line=48 │ │ @@ -28691,46 +28691,46 @@ │ │ type : '()V' │ │ access : 0x20002 (PRIVATE DECLARED_SYNCHRONIZED) │ │ code - │ │ registers : 4 │ │ ins : 1 │ │ outs : 3 │ │ insns size : 59 16-bit code units │ │ -027d98: |[027d98] util.PackedSortedList.acquireDataPack:()V │ │ -027da8: 1a00 e701 |0000: const-string v0, "Inconsistent state! persistedPackData is null but there are " // string@01e7 │ │ -027dac: 1d03 |0002: monitor-enter v3 │ │ -027dae: 5431 5c03 |0003: iget-object v1, v3, Lutil/PackedSortedList;.persistedPackData:Ljava/io/RandomAccessFile; // field@035c │ │ -027db2: 3901 2b00 |0005: if-nez v1, 0030 // +002b │ │ -027db6: 5231 5d03 |0007: iget v1, v3, Lutil/PackedSortedList;.persistedPackDataRefs:I // field@035d │ │ -027dba: 3c01 0e00 |0009: if-gtz v1, 0017 // +000e │ │ -027dbe: 2200 0b01 |000b: new-instance v0, Ljava/io/RandomAccessFile; // type@010b │ │ -027dc2: 5431 5e03 |000d: iget-object v1, v3, Lutil/PackedSortedList;.persistedPackFile:Ljava/io/File; // field@035e │ │ -027dc6: 1a02 ae09 |000f: const-string v2, "r" // string@09ae │ │ -027dca: 7030 4205 1002 |0011: invoke-direct {v0, v1, v2}, Ljava/io/RandomAccessFile;.:(Ljava/io/File;Ljava/lang/String;)V // method@0542 │ │ -027dd0: 5b30 5c03 |0014: iput-object v0, v3, Lutil/PackedSortedList;.persistedPackData:Ljava/io/RandomAccessFile; // field@035c │ │ -027dd4: 281a |0016: goto 0030 // +001a │ │ -027dd6: 2201 1d01 |0017: new-instance v1, Ljava/lang/IllegalStateException; // type@011d │ │ -027dda: 2202 2d01 |0019: new-instance v2, Ljava/lang/StringBuilder; // type@012d │ │ -027dde: 7020 a805 0200 |001b: invoke-direct {v2, v0}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05a8 │ │ -027de4: 5230 5d03 |001e: iget v0, v3, Lutil/PackedSortedList;.persistedPackDataRefs:I // field@035d │ │ -027de8: 6e20 aa05 0200 |0020: invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@05aa │ │ -027dee: 1a00 2300 |0023: const-string v0, " references!" // string@0023 │ │ -027df2: 6e20 ad05 0200 |0025: invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -027df8: 6e10 af05 0200 |0028: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ -027dfe: 0c00 |002b: move-result-object v0 │ │ -027e00: 7020 6105 0100 |002c: invoke-direct {v1, v0}, Ljava/lang/IllegalStateException;.:(Ljava/lang/String;)V // method@0561 │ │ -027e06: 2701 |002f: throw v1 │ │ -027e08: 5230 5d03 |0030: iget v0, v3, Lutil/PackedSortedList;.persistedPackDataRefs:I // field@035d │ │ -027e0c: d800 0001 |0032: add-int/lit8 v0, v0, #int 1 // #01 │ │ -027e10: 5930 5d03 |0034: iput v0, v3, Lutil/PackedSortedList;.persistedPackDataRefs:I // field@035d │ │ -027e14: 1e03 |0036: monitor-exit v3 │ │ -027e16: 0e00 |0037: return-void │ │ -027e18: 0d00 |0038: move-exception v0 │ │ -027e1a: 1e03 |0039: monitor-exit v3 │ │ -027e1c: 2700 |003a: throw v0 │ │ +027d94: |[027d94] util.PackedSortedList.acquireDataPack:()V │ │ +027da4: 1a00 e701 |0000: const-string v0, "Inconsistent state! persistedPackData is null but there are " // string@01e7 │ │ +027da8: 1d03 |0002: monitor-enter v3 │ │ +027daa: 5431 5c03 |0003: iget-object v1, v3, Lutil/PackedSortedList;.persistedPackData:Ljava/io/RandomAccessFile; // field@035c │ │ +027dae: 3901 2b00 |0005: if-nez v1, 0030 // +002b │ │ +027db2: 5231 5d03 |0007: iget v1, v3, Lutil/PackedSortedList;.persistedPackDataRefs:I // field@035d │ │ +027db6: 3c01 0e00 |0009: if-gtz v1, 0017 // +000e │ │ +027dba: 2200 0b01 |000b: new-instance v0, Ljava/io/RandomAccessFile; // type@010b │ │ +027dbe: 5431 5e03 |000d: iget-object v1, v3, Lutil/PackedSortedList;.persistedPackFile:Ljava/io/File; // field@035e │ │ +027dc2: 1a02 ae09 |000f: const-string v2, "r" // string@09ae │ │ +027dc6: 7030 4205 1002 |0011: invoke-direct {v0, v1, v2}, Ljava/io/RandomAccessFile;.:(Ljava/io/File;Ljava/lang/String;)V // method@0542 │ │ +027dcc: 5b30 5c03 |0014: iput-object v0, v3, Lutil/PackedSortedList;.persistedPackData:Ljava/io/RandomAccessFile; // field@035c │ │ +027dd0: 281a |0016: goto 0030 // +001a │ │ +027dd2: 2201 1d01 |0017: new-instance v1, Ljava/lang/IllegalStateException; // type@011d │ │ +027dd6: 2202 2d01 |0019: new-instance v2, Ljava/lang/StringBuilder; // type@012d │ │ +027dda: 7020 a805 0200 |001b: invoke-direct {v2, v0}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05a8 │ │ +027de0: 5230 5d03 |001e: iget v0, v3, Lutil/PackedSortedList;.persistedPackDataRefs:I // field@035d │ │ +027de4: 6e20 aa05 0200 |0020: invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@05aa │ │ +027dea: 1a00 2300 |0023: const-string v0, " references!" // string@0023 │ │ +027dee: 6e20 ad05 0200 |0025: invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +027df4: 6e10 af05 0200 |0028: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ +027dfa: 0c00 |002b: move-result-object v0 │ │ +027dfc: 7020 6105 0100 |002c: invoke-direct {v1, v0}, Ljava/lang/IllegalStateException;.:(Ljava/lang/String;)V // method@0561 │ │ +027e02: 2701 |002f: throw v1 │ │ +027e04: 5230 5d03 |0030: iget v0, v3, Lutil/PackedSortedList;.persistedPackDataRefs:I // field@035d │ │ +027e08: d800 0001 |0032: add-int/lit8 v0, v0, #int 1 // #01 │ │ +027e0c: 5930 5d03 |0034: iput v0, v3, Lutil/PackedSortedList;.persistedPackDataRefs:I // field@035d │ │ +027e10: 1e03 |0036: monitor-exit v3 │ │ +027e12: 0e00 |0037: return-void │ │ +027e14: 0d00 |0038: move-exception v0 │ │ +027e16: 1e03 |0039: monitor-exit v3 │ │ +027e18: 2700 |003a: throw v0 │ │ catches : 1 │ │ 0x0003 - 0x0036 │ │ -> 0x0038 │ │ positions : │ │ 0x0003 line=164 │ │ 0x0007 line=165 │ │ 0x000b line=167 │ │ @@ -28745,53 +28745,53 @@ │ │ type : '(ILjava/lang/Object;)V' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 9 │ │ ins : 3 │ │ outs : 5 │ │ insns size : 69 16-bit code units │ │ -027e48: |[027e48] util.PackedSortedList.addInternal:(ILjava/lang/Object;)V │ │ -027e58: 5560 5903 |0000: iget-boolean v0, v6, Lutil/PackedSortedList;.loaded:Z // field@0359 │ │ -027e5c: 3900 0500 |0002: if-nez v0, 0007 // +0005 │ │ -027e60: 7010 4b07 0600 |0004: invoke-direct {v6}, Lutil/PackedSortedList;.loadinMemory:()V // method@074b │ │ -027e66: 5460 5703 |0007: iget-object v0, v6, Lutil/PackedSortedList;.datapack:[B // field@0357 │ │ -027e6a: 5261 5603 |0009: iget v1, v6, Lutil/PackedSortedList;.count:I // field@0356 │ │ -027e6e: 2102 |000b: array-length v2, v0 │ │ -027e70: 5263 5b03 |000c: iget v3, v6, Lutil/PackedSortedList;.object_size:I // field@035b │ │ -027e74: b332 |000e: div-int/2addr v2, v3 │ │ -027e76: 3421 0f00 |000f: if-lt v1, v2, 001e // +000f │ │ -027e7a: 2101 |0011: array-length v1, v0 │ │ -027e7c: d232 e803 |0012: mul-int/lit16 v2, v3, #int 1000 // #03e8 │ │ -027e80: b021 |0014: add-int/2addr v1, v2 │ │ -027e82: 2311 9d01 |0015: new-array v1, v1, [B // type@019d │ │ -027e86: 9203 0307 |0017: mul-int v3, v3, v7 │ │ -027e8a: 1202 |0019: const/4 v2, #int 0 // #0 │ │ -027e8c: 7153 b005 2021 |001a: invoke-static {v0, v2, v1, v2, v3}, Ljava/lang/System;.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V // method@05b0 │ │ -027e92: 0710 |001d: move-object v0, v1 │ │ -027e94: 5261 5603 |001e: iget v1, v6, Lutil/PackedSortedList;.count:I // field@0356 │ │ -027e98: 3217 1100 |0020: if-eq v7, v1, 0031 // +0011 │ │ -027e9c: 5462 5703 |0022: iget-object v2, v6, Lutil/PackedSortedList;.datapack:[B // field@0357 │ │ -027ea0: 5263 5b03 |0024: iget v3, v6, Lutil/PackedSortedList;.object_size:I // field@035b │ │ -027ea4: 9204 0703 |0026: mul-int v4, v7, v3 │ │ -027ea8: 9205 0703 |0028: mul-int v5, v7, v3 │ │ -027eac: b035 |002a: add-int/2addr v5, v3 │ │ -027eae: b171 |002b: sub-int/2addr v1, v7 │ │ -027eb0: 9201 0103 |002c: mul-int v1, v1, v3 │ │ -027eb4: 7151 b005 4250 |002e: invoke-static {v2, v4, v0, v5, v1}, Ljava/lang/System;.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V // method@05b0 │ │ -027eba: 5b60 5703 |0031: iput-object v0, v6, Lutil/PackedSortedList;.datapack:[B // field@0357 │ │ -027ebe: 5461 5a03 |0033: iget-object v1, v6, Lutil/PackedSortedList;.objMgr:Lutil/ObjectPackagingManager; // field@035a │ │ -027ec2: 5262 5b03 |0035: iget v2, v6, Lutil/PackedSortedList;.object_size:I // field@035b │ │ -027ec6: 9207 0702 |0037: mul-int v7, v7, v2 │ │ -027eca: 7240 3507 8170 |0039: invoke-interface {v1, v8, v0, v7}, Lutil/ObjectPackagingManager;.objectToBytes:(Ljava/lang/Object;[BI)V // method@0735 │ │ -027ed0: 1217 |003c: const/4 v7, #int 1 // #1 │ │ -027ed2: 5c67 5f03 |003d: iput-boolean v7, v6, Lutil/PackedSortedList;.persistentOutdated:Z // field@035f │ │ -027ed6: 5268 5603 |003f: iget v8, v6, Lutil/PackedSortedList;.count:I // field@0356 │ │ -027eda: b078 |0041: add-int/2addr v8, v7 │ │ -027edc: 5968 5603 |0042: iput v8, v6, Lutil/PackedSortedList;.count:I // field@0356 │ │ -027ee0: 0e00 |0044: return-void │ │ +027e44: |[027e44] util.PackedSortedList.addInternal:(ILjava/lang/Object;)V │ │ +027e54: 5560 5903 |0000: iget-boolean v0, v6, Lutil/PackedSortedList;.loaded:Z // field@0359 │ │ +027e58: 3900 0500 |0002: if-nez v0, 0007 // +0005 │ │ +027e5c: 7010 4b07 0600 |0004: invoke-direct {v6}, Lutil/PackedSortedList;.loadinMemory:()V // method@074b │ │ +027e62: 5460 5703 |0007: iget-object v0, v6, Lutil/PackedSortedList;.datapack:[B // field@0357 │ │ +027e66: 5261 5603 |0009: iget v1, v6, Lutil/PackedSortedList;.count:I // field@0356 │ │ +027e6a: 2102 |000b: array-length v2, v0 │ │ +027e6c: 5263 5b03 |000c: iget v3, v6, Lutil/PackedSortedList;.object_size:I // field@035b │ │ +027e70: b332 |000e: div-int/2addr v2, v3 │ │ +027e72: 3421 0f00 |000f: if-lt v1, v2, 001e // +000f │ │ +027e76: 2101 |0011: array-length v1, v0 │ │ +027e78: d232 e803 |0012: mul-int/lit16 v2, v3, #int 1000 // #03e8 │ │ +027e7c: b021 |0014: add-int/2addr v1, v2 │ │ +027e7e: 2311 9d01 |0015: new-array v1, v1, [B // type@019d │ │ +027e82: 9203 0307 |0017: mul-int v3, v3, v7 │ │ +027e86: 1202 |0019: const/4 v2, #int 0 // #0 │ │ +027e88: 7153 b005 2021 |001a: invoke-static {v0, v2, v1, v2, v3}, Ljava/lang/System;.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V // method@05b0 │ │ +027e8e: 0710 |001d: move-object v0, v1 │ │ +027e90: 5261 5603 |001e: iget v1, v6, Lutil/PackedSortedList;.count:I // field@0356 │ │ +027e94: 3217 1100 |0020: if-eq v7, v1, 0031 // +0011 │ │ +027e98: 5462 5703 |0022: iget-object v2, v6, Lutil/PackedSortedList;.datapack:[B // field@0357 │ │ +027e9c: 5263 5b03 |0024: iget v3, v6, Lutil/PackedSortedList;.object_size:I // field@035b │ │ +027ea0: 9204 0703 |0026: mul-int v4, v7, v3 │ │ +027ea4: 9205 0703 |0028: mul-int v5, v7, v3 │ │ +027ea8: b035 |002a: add-int/2addr v5, v3 │ │ +027eaa: b171 |002b: sub-int/2addr v1, v7 │ │ +027eac: 9201 0103 |002c: mul-int v1, v1, v3 │ │ +027eb0: 7151 b005 4250 |002e: invoke-static {v2, v4, v0, v5, v1}, Ljava/lang/System;.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V // method@05b0 │ │ +027eb6: 5b60 5703 |0031: iput-object v0, v6, Lutil/PackedSortedList;.datapack:[B // field@0357 │ │ +027eba: 5461 5a03 |0033: iget-object v1, v6, Lutil/PackedSortedList;.objMgr:Lutil/ObjectPackagingManager; // field@035a │ │ +027ebe: 5262 5b03 |0035: iget v2, v6, Lutil/PackedSortedList;.object_size:I // field@035b │ │ +027ec2: 9207 0702 |0037: mul-int v7, v7, v2 │ │ +027ec6: 7240 3507 8170 |0039: invoke-interface {v1, v8, v0, v7}, Lutil/ObjectPackagingManager;.objectToBytes:(Ljava/lang/Object;[BI)V // method@0735 │ │ +027ecc: 1217 |003c: const/4 v7, #int 1 // #1 │ │ +027ece: 5c67 5f03 |003d: iput-boolean v7, v6, Lutil/PackedSortedList;.persistentOutdated:Z // field@035f │ │ +027ed2: 5268 5603 |003f: iget v8, v6, Lutil/PackedSortedList;.count:I // field@0356 │ │ +027ed6: b078 |0041: add-int/2addr v8, v7 │ │ +027ed8: 5968 5603 |0042: iput v8, v6, Lutil/PackedSortedList;.count:I // field@0356 │ │ +027edc: 0e00 |0044: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=93 │ │ 0x0004 line=94 │ │ 0x0007 line=96 │ │ 0x0009 line=97 │ │ 0x0011 line=98 │ │ @@ -28812,18 +28812,18 @@ │ │ type : '(Ljava/lang/Object;)I' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 2 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 5 16-bit code units │ │ -027a34: |[027a34] util.PackedSortedList.binarySearch:(Ljava/lang/Object;)I │ │ -027a44: 7120 1f06 1000 |0000: invoke-static {v0, v1}, Ljava/util/Collections;.binarySearch:(Ljava/util/List;Ljava/lang/Object;)I // method@061f │ │ -027a4a: 0a01 |0003: move-result v1 │ │ -027a4c: 0f01 |0004: return v1 │ │ +027a30: |[027a30] util.PackedSortedList.binarySearch:(Ljava/lang/Object;)I │ │ +027a40: 7120 1f06 1000 |0000: invoke-static {v0, v1}, Ljava/util/Collections;.binarySearch:(Ljava/util/List;Ljava/lang/Object;)I // method@061f │ │ +027a46: 0a01 |0003: move-result v1 │ │ +027a48: 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; │ │ │ │ @@ -28832,45 +28832,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 │ │ -027c5c: |[027c5c] util.PackedSortedList.load:(Ljava/lang/String;ZLutil/ObjectPackagingManager;)Lutil/PackedSortedList; │ │ -027c6c: 2204 fb00 |0000: new-instance v4, Ljava/io/File; // type@00fb │ │ -027c70: 7020 ff04 6400 |0002: invoke-direct {v4, v6}, Ljava/io/File;.:(Ljava/lang/String;)V // method@04ff │ │ -027c76: 6e10 0c05 0400 |0005: invoke-virtual {v4}, Ljava/io/File;.length:()J // method@050c │ │ -027c7c: 0b00 |0008: move-result-wide v0 │ │ -027c7e: 8401 |0009: long-to-int v1, v0 │ │ -027c80: 6e10 0505 0400 |000a: invoke-virtual {v4}, Ljava/io/File;.exists:()Z // method@0505 │ │ -027c86: 0a00 |000d: move-result v0 │ │ -027c88: 3800 1800 |000e: if-eqz v0, 0026 // +0018 │ │ -027c8c: 6e10 0105 0400 |0010: invoke-virtual {v4}, Ljava/io/File;.canRead:()Z // method@0501 │ │ -027c92: 0a00 |0013: move-result v0 │ │ -027c94: 3800 1200 |0014: if-eqz v0, 0026 // +0012 │ │ -027c98: 2206 8801 |0016: new-instance v6, Lutil/PackedSortedList; // type@0188 │ │ -027c9c: 7210 3407 0800 |0018: invoke-interface {v8}, Lutil/ObjectPackagingManager;.objectSize:()I // method@0734 │ │ -027ca2: 0a00 |001b: move-result v0 │ │ -027ca4: 9302 0100 |001c: div-int v2, v1, v0 │ │ -027ca8: 1201 |001e: const/4 v1, #int 0 // #0 │ │ -027caa: 0760 |001f: move-object v0, v6 │ │ -027cac: 0173 |0020: move v3, v7 │ │ -027cae: 0785 |0021: move-object v5, v8 │ │ -027cb0: 7606 3707 0000 |0022: invoke-direct/range {v0, v1, v2, v3, v4, v5}, Lutil/PackedSortedList;.:([BIZLjava/io/File;Lutil/ObjectPackagingManager;)V // method@0737 │ │ -027cb6: 1106 |0025: return-object v6 │ │ -027cb8: 2207 0001 |0026: new-instance v7, Ljava/io/IOException; // type@0100 │ │ -027cbc: 2208 2d01 |0028: new-instance v8, Ljava/lang/StringBuilder; // type@012d │ │ -027cc0: 1a00 fc00 |002a: const-string v0, "Cannot read " // string@00fc │ │ -027cc4: 7020 a805 0800 |002c: invoke-direct {v8, v0}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05a8 │ │ -027cca: 6e20 ad05 6800 |002f: invoke-virtual {v8, v6}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -027cd0: 6e10 af05 0800 |0032: invoke-virtual {v8}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ -027cd6: 0c06 |0035: move-result-object v6 │ │ -027cd8: 7020 1f05 6700 |0036: invoke-direct {v7, v6}, Ljava/io/IOException;.:(Ljava/lang/String;)V // method@051f │ │ -027cde: 2707 |0039: throw v7 │ │ +027c58: |[027c58] util.PackedSortedList.load:(Ljava/lang/String;ZLutil/ObjectPackagingManager;)Lutil/PackedSortedList; │ │ +027c68: 2204 fb00 |0000: new-instance v4, Ljava/io/File; // type@00fb │ │ +027c6c: 7020 ff04 6400 |0002: invoke-direct {v4, v6}, Ljava/io/File;.:(Ljava/lang/String;)V // method@04ff │ │ +027c72: 6e10 0c05 0400 |0005: invoke-virtual {v4}, Ljava/io/File;.length:()J // method@050c │ │ +027c78: 0b00 |0008: move-result-wide v0 │ │ +027c7a: 8401 |0009: long-to-int v1, v0 │ │ +027c7c: 6e10 0505 0400 |000a: invoke-virtual {v4}, Ljava/io/File;.exists:()Z // method@0505 │ │ +027c82: 0a00 |000d: move-result v0 │ │ +027c84: 3800 1800 |000e: if-eqz v0, 0026 // +0018 │ │ +027c88: 6e10 0105 0400 |0010: invoke-virtual {v4}, Ljava/io/File;.canRead:()Z // method@0501 │ │ +027c8e: 0a00 |0013: move-result v0 │ │ +027c90: 3800 1200 |0014: if-eqz v0, 0026 // +0012 │ │ +027c94: 2206 8801 |0016: new-instance v6, Lutil/PackedSortedList; // type@0188 │ │ +027c98: 7210 3407 0800 |0018: invoke-interface {v8}, Lutil/ObjectPackagingManager;.objectSize:()I // method@0734 │ │ +027c9e: 0a00 |001b: move-result v0 │ │ +027ca0: 9302 0100 |001c: div-int v2, v1, v0 │ │ +027ca4: 1201 |001e: const/4 v1, #int 0 // #0 │ │ +027ca6: 0760 |001f: move-object v0, v6 │ │ +027ca8: 0173 |0020: move v3, v7 │ │ +027caa: 0785 |0021: move-object v5, v8 │ │ +027cac: 7606 3707 0000 |0022: invoke-direct/range {v0, v1, v2, v3, v4, v5}, Lutil/PackedSortedList;.:([BIZLjava/io/File;Lutil/ObjectPackagingManager;)V // method@0737 │ │ +027cb2: 1106 |0025: return-object v6 │ │ +027cb4: 2207 0001 |0026: new-instance v7, Ljava/io/IOException; // type@0100 │ │ +027cb8: 2208 2d01 |0028: new-instance v8, Ljava/lang/StringBuilder; // type@012d │ │ +027cbc: 1a00 fc00 |002a: const-string v0, "Cannot read " // string@00fc │ │ +027cc0: 7020 a805 0800 |002c: invoke-direct {v8, v0}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05a8 │ │ +027cc6: 6e20 ad05 6800 |002f: invoke-virtual {v8, v6}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +027ccc: 6e10 af05 0800 |0032: invoke-virtual {v8}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ +027cd2: 0c06 |0035: move-result-object v6 │ │ +027cd4: 7020 1f05 6700 |0036: invoke-direct {v7, v6}, Ljava/io/IOException;.:(Ljava/lang/String;)V // method@051f │ │ +027cda: 2707 |0039: throw v7 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=349 │ │ 0x0005 line=350 │ │ 0x000a line=351 │ │ 0x0016 line=354 │ │ 0x0026 line=352 │ │ @@ -28884,45 +28884,45 @@ │ │ type : '()V' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 6 │ │ ins : 1 │ │ outs : 4 │ │ insns size : 53 16-bit code units │ │ -027f20: |[027f20] util.PackedSortedList.loadinMemory:()V │ │ -027f30: 2200 fd00 |0000: new-instance v0, Ljava/io/FileInputStream; // type@00fd │ │ -027f34: 5451 5e03 |0002: iget-object v1, v5, Lutil/PackedSortedList;.persistedPackFile:Ljava/io/File; // field@035e │ │ -027f38: 7020 1105 1000 |0004: invoke-direct {v0, v1}, Ljava/io/FileInputStream;.:(Ljava/io/File;)V // method@0511 │ │ -027f3e: 5251 5603 |0007: iget v1, v5, Lutil/PackedSortedList;.count:I // field@0356 │ │ -027f42: 5452 5a03 |0009: iget-object v2, v5, Lutil/PackedSortedList;.objMgr:Lutil/ObjectPackagingManager; // field@035a │ │ -027f46: 7210 3407 0200 |000b: invoke-interface {v2}, Lutil/ObjectPackagingManager;.objectSize:()I // method@0734 │ │ -027f4c: 0a02 |000e: move-result v2 │ │ -027f4e: 9201 0102 |000f: mul-int v1, v1, v2 │ │ -027f52: 2312 9d01 |0011: new-array v2, v1, [B // type@019d │ │ -027f56: 5b52 5703 |0013: iput-object v2, v5, Lutil/PackedSortedList;.datapack:[B // field@0357 │ │ -027f5a: 1202 |0015: const/4 v2, #int 0 // #0 │ │ -027f5c: 5453 5703 |0016: iget-object v3, v5, Lutil/PackedSortedList;.datapack:[B // field@0357 │ │ -027f60: 9104 0102 |0018: sub-int v4, v1, v2 │ │ -027f64: 6e40 1605 3042 |001a: invoke-virtual {v0, v3, v2, v4}, Ljava/io/FileInputStream;.read:([BII)I // method@0516 │ │ -027f6a: 0a03 |001d: move-result v3 │ │ -027f6c: 12f4 |001e: const/4 v4, #int -1 // #ff │ │ -027f6e: 3243 0600 |001f: if-eq v3, v4, 0025 // +0006 │ │ -027f72: 3212 0400 |0021: if-eq v2, v1, 0025 // +0004 │ │ -027f76: b032 |0023: add-int/2addr v2, v3 │ │ -027f78: 28f2 |0024: goto 0016 // -000e │ │ -027f7a: 6e10 1405 0000 |0025: invoke-virtual {v0}, Ljava/io/FileInputStream;.close:()V // method@0514 │ │ -027f80: 1210 |0028: const/4 v0, #int 1 // #1 │ │ -027f82: 5c50 5903 |0029: iput-boolean v0, v5, Lutil/PackedSortedList;.loaded:Z // field@0359 │ │ -027f86: 0e00 |002b: return-void │ │ -027f88: 0d00 |002c: move-exception v0 │ │ -027f8a: 2201 1d01 |002d: new-instance v1, Ljava/lang/IllegalStateException; // type@011d │ │ -027f8e: 7020 6205 0100 |002f: invoke-direct {v1, v0}, Ljava/lang/IllegalStateException;.:(Ljava/lang/Throwable;)V // method@0562 │ │ -027f94: 2802 |0032: goto 0034 // +0002 │ │ -027f96: 2701 |0033: throw v1 │ │ -027f98: 28ff |0034: goto 0033 // -0001 │ │ +027f1c: |[027f1c] util.PackedSortedList.loadinMemory:()V │ │ +027f2c: 2200 fd00 |0000: new-instance v0, Ljava/io/FileInputStream; // type@00fd │ │ +027f30: 5451 5e03 |0002: iget-object v1, v5, Lutil/PackedSortedList;.persistedPackFile:Ljava/io/File; // field@035e │ │ +027f34: 7020 1105 1000 |0004: invoke-direct {v0, v1}, Ljava/io/FileInputStream;.:(Ljava/io/File;)V // method@0511 │ │ +027f3a: 5251 5603 |0007: iget v1, v5, Lutil/PackedSortedList;.count:I // field@0356 │ │ +027f3e: 5452 5a03 |0009: iget-object v2, v5, Lutil/PackedSortedList;.objMgr:Lutil/ObjectPackagingManager; // field@035a │ │ +027f42: 7210 3407 0200 |000b: invoke-interface {v2}, Lutil/ObjectPackagingManager;.objectSize:()I // method@0734 │ │ +027f48: 0a02 |000e: move-result v2 │ │ +027f4a: 9201 0102 |000f: mul-int v1, v1, v2 │ │ +027f4e: 2312 9d01 |0011: new-array v2, v1, [B // type@019d │ │ +027f52: 5b52 5703 |0013: iput-object v2, v5, Lutil/PackedSortedList;.datapack:[B // field@0357 │ │ +027f56: 1202 |0015: const/4 v2, #int 0 // #0 │ │ +027f58: 5453 5703 |0016: iget-object v3, v5, Lutil/PackedSortedList;.datapack:[B // field@0357 │ │ +027f5c: 9104 0102 |0018: sub-int v4, v1, v2 │ │ +027f60: 6e40 1605 3042 |001a: invoke-virtual {v0, v3, v2, v4}, Ljava/io/FileInputStream;.read:([BII)I // method@0516 │ │ +027f66: 0a03 |001d: move-result v3 │ │ +027f68: 12f4 |001e: const/4 v4, #int -1 // #ff │ │ +027f6a: 3243 0600 |001f: if-eq v3, v4, 0025 // +0006 │ │ +027f6e: 3212 0400 |0021: if-eq v2, v1, 0025 // +0004 │ │ +027f72: b032 |0023: add-int/2addr v2, v3 │ │ +027f74: 28f2 |0024: goto 0016 // -000e │ │ +027f76: 6e10 1405 0000 |0025: invoke-virtual {v0}, Ljava/io/FileInputStream;.close:()V // method@0514 │ │ +027f7c: 1210 |0028: const/4 v0, #int 1 // #1 │ │ +027f7e: 5c50 5903 |0029: iput-boolean v0, v5, Lutil/PackedSortedList;.loaded:Z // field@0359 │ │ +027f82: 0e00 |002b: return-void │ │ +027f84: 0d00 |002c: move-exception v0 │ │ +027f86: 2201 1d01 |002d: new-instance v1, Ljava/lang/IllegalStateException; // type@011d │ │ +027f8a: 7020 6205 0100 |002f: invoke-direct {v1, v0}, Ljava/lang/IllegalStateException;.:(Ljava/lang/Throwable;)V // method@0562 │ │ +027f90: 2802 |0032: goto 0034 // +0002 │ │ +027f92: 2701 |0033: throw v1 │ │ +027f94: 28ff |0034: goto 0033 // -0001 │ │ catches : 1 │ │ 0x0000 - 0x002b │ │ Ljava/io/IOException; -> 0x002c │ │ positions : │ │ 0x0000 line=331 │ │ 0x0007 line=332 │ │ 0x0011 line=333 │ │ @@ -28938,41 +28938,41 @@ │ │ type : '()V' │ │ access : 0x20002 (PRIVATE DECLARED_SYNCHRONIZED) │ │ code - │ │ registers : 4 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 47 16-bit code units │ │ -02804c: |[02804c] util.PackedSortedList.releaseDataPack:()V │ │ -02805c: 1a00 e801 |0000: const-string v0, "Inconsistent state! persistedPackDataRefs = " // string@01e8 │ │ -028060: 1d03 |0002: monitor-enter v3 │ │ -028062: 5231 5d03 |0003: iget v1, v3, Lutil/PackedSortedList;.persistedPackDataRefs:I // field@035d │ │ -028066: d801 01ff |0005: add-int/lit8 v1, v1, #int -1 // #ff │ │ -02806a: 5931 5d03 |0007: iput v1, v3, Lutil/PackedSortedList;.persistedPackDataRefs:I // field@035d │ │ -02806e: 3a01 0d00 |0009: if-ltz v1, 0016 // +000d │ │ -028072: 3901 2200 |000b: if-nez v1, 002d // +0022 │ │ -028076: 5430 5c03 |000d: iget-object v0, v3, Lutil/PackedSortedList;.persistedPackData:Ljava/io/RandomAccessFile; // field@035c │ │ -02807a: 6e10 4305 0000 |000f: invoke-virtual {v0}, Ljava/io/RandomAccessFile;.close:()V // method@0543 │ │ -028080: 1200 |0012: const/4 v0, #int 0 // #0 │ │ -028082: 5b30 5c03 |0013: iput-object v0, v3, Lutil/PackedSortedList;.persistedPackData:Ljava/io/RandomAccessFile; // field@035c │ │ -028086: 2818 |0015: goto 002d // +0018 │ │ -028088: 2201 1d01 |0016: new-instance v1, Ljava/lang/IllegalStateException; // type@011d │ │ -02808c: 2202 2d01 |0018: new-instance v2, Ljava/lang/StringBuilder; // type@012d │ │ -028090: 7020 a805 0200 |001a: invoke-direct {v2, v0}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05a8 │ │ -028096: 5230 5d03 |001d: iget v0, v3, Lutil/PackedSortedList;.persistedPackDataRefs:I // field@035d │ │ -02809a: 6e20 aa05 0200 |001f: invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@05aa │ │ -0280a0: 6e10 af05 0200 |0022: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ -0280a6: 0c00 |0025: move-result-object v0 │ │ -0280a8: 7020 6105 0100 |0026: invoke-direct {v1, v0}, Ljava/lang/IllegalStateException;.:(Ljava/lang/String;)V // method@0561 │ │ -0280ae: 2701 |0029: throw v1 │ │ -0280b0: 0d00 |002a: move-exception v0 │ │ -0280b2: 1e03 |002b: monitor-exit v3 │ │ -0280b4: 2700 |002c: throw v0 │ │ -0280b6: 1e03 |002d: monitor-exit v3 │ │ -0280b8: 0e00 |002e: return-void │ │ +028048: |[028048] util.PackedSortedList.releaseDataPack:()V │ │ +028058: 1a00 e801 |0000: const-string v0, "Inconsistent state! persistedPackDataRefs = " // string@01e8 │ │ +02805c: 1d03 |0002: monitor-enter v3 │ │ +02805e: 5231 5d03 |0003: iget v1, v3, Lutil/PackedSortedList;.persistedPackDataRefs:I // field@035d │ │ +028062: d801 01ff |0005: add-int/lit8 v1, v1, #int -1 // #ff │ │ +028066: 5931 5d03 |0007: iput v1, v3, Lutil/PackedSortedList;.persistedPackDataRefs:I // field@035d │ │ +02806a: 3a01 0d00 |0009: if-ltz v1, 0016 // +000d │ │ +02806e: 3901 2200 |000b: if-nez v1, 002d // +0022 │ │ +028072: 5430 5c03 |000d: iget-object v0, v3, Lutil/PackedSortedList;.persistedPackData:Ljava/io/RandomAccessFile; // field@035c │ │ +028076: 6e10 4305 0000 |000f: invoke-virtual {v0}, Ljava/io/RandomAccessFile;.close:()V // method@0543 │ │ +02807c: 1200 |0012: const/4 v0, #int 0 // #0 │ │ +02807e: 5b30 5c03 |0013: iput-object v0, v3, Lutil/PackedSortedList;.persistedPackData:Ljava/io/RandomAccessFile; // field@035c │ │ +028082: 2818 |0015: goto 002d // +0018 │ │ +028084: 2201 1d01 |0016: new-instance v1, Ljava/lang/IllegalStateException; // type@011d │ │ +028088: 2202 2d01 |0018: new-instance v2, Ljava/lang/StringBuilder; // type@012d │ │ +02808c: 7020 a805 0200 |001a: invoke-direct {v2, v0}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05a8 │ │ +028092: 5230 5d03 |001d: iget v0, v3, Lutil/PackedSortedList;.persistedPackDataRefs:I // field@035d │ │ +028096: 6e20 aa05 0200 |001f: invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@05aa │ │ +02809c: 6e10 af05 0200 |0022: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ +0280a2: 0c00 |0025: move-result-object v0 │ │ +0280a4: 7020 6105 0100 |0026: invoke-direct {v1, v0}, Ljava/lang/IllegalStateException;.:(Ljava/lang/String;)V // method@0561 │ │ +0280aa: 2701 |0029: throw v1 │ │ +0280ac: 0d00 |002a: move-exception v0 │ │ +0280ae: 1e03 |002b: monitor-exit v3 │ │ +0280b0: 2700 |002c: throw v0 │ │ +0280b2: 1e03 |002d: monitor-exit v3 │ │ +0280b4: 0e00 |002e: return-void │ │ catches : 1 │ │ 0x0003 - 0x002a │ │ Ljava/io/IOException; -> 0x002d │ │ -> 0x002a │ │ positions : │ │ 0x0003 line=148 │ │ 0x000d line=153 │ │ @@ -28988,18 +28988,18 @@ │ │ type : '(ILjava/lang/Object;)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 3 │ │ ins : 3 │ │ outs : 1 │ │ insns size : 6 16-bit code units │ │ -027e2c: |[027e2c] util.PackedSortedList.add:(ILjava/lang/Object;)V │ │ -027e3c: 2201 3101 |0000: new-instance v1, Ljava/lang/UnsupportedOperationException; // type@0131 │ │ -027e40: 7010 bb05 0100 |0002: invoke-direct {v1}, Ljava/lang/UnsupportedOperationException;.:()V // method@05bb │ │ -027e46: 2701 |0005: throw v1 │ │ +027e28: |[027e28] util.PackedSortedList.add:(ILjava/lang/Object;)V │ │ +027e38: 2201 3101 |0000: new-instance v1, Ljava/lang/UnsupportedOperationException; // type@0131 │ │ +027e3c: 7010 bb05 0100 |0002: invoke-direct {v1}, Ljava/lang/UnsupportedOperationException;.:()V // method@05bb │ │ +027e42: 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; │ │ @@ -29009,25 +29009,25 @@ │ │ type : '(Ljava/lang/Object;)Z' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 4 │ │ ins : 2 │ │ outs : 3 │ │ insns size : 15 16-bit code units │ │ -0278a8: |[0278a8] util.PackedSortedList.add:(Ljava/lang/Object;)Z │ │ -0278b8: 7020 3e07 3200 |0000: invoke-direct {v2, v3}, Lutil/PackedSortedList;.binarySearch:(Ljava/lang/Object;)I // method@073e │ │ -0278be: 0a00 |0003: move-result v0 │ │ -0278c0: 1211 |0004: const/4 v1, #int 1 // #1 │ │ -0278c2: b010 |0005: add-int/2addr v0, v1 │ │ -0278c4: 7b00 |0006: neg-int v0, v0 │ │ -0278c6: 3b00 0400 |0007: if-gez v0, 000b // +0004 │ │ -0278ca: 1203 |0009: const/4 v3, #int 0 // #0 │ │ -0278cc: 0f03 |000a: return v3 │ │ -0278ce: 7030 3d07 0203 |000b: invoke-direct {v2, v0, v3}, Lutil/PackedSortedList;.addInternal:(ILjava/lang/Object;)V // method@073d │ │ -0278d4: 0f01 |000e: return v1 │ │ +0278a4: |[0278a4] util.PackedSortedList.add:(Ljava/lang/Object;)Z │ │ +0278b4: 7020 3e07 3200 |0000: invoke-direct {v2, v3}, Lutil/PackedSortedList;.binarySearch:(Ljava/lang/Object;)I // method@073e │ │ +0278ba: 0a00 |0003: move-result v0 │ │ +0278bc: 1211 |0004: const/4 v1, #int 1 // #1 │ │ +0278be: b010 |0005: add-int/2addr v0, v1 │ │ +0278c0: 7b00 |0006: neg-int v0, v0 │ │ +0278c2: 3b00 0400 |0007: if-gez v0, 000b // +0004 │ │ +0278c6: 1203 |0009: const/4 v3, #int 0 // #0 │ │ +0278c8: 0f03 |000a: return v3 │ │ +0278ca: 7030 3d07 0203 |000b: invoke-direct {v2, v0, v3}, Lutil/PackedSortedList;.addInternal:(ILjava/lang/Object;)V // method@073d │ │ +0278d0: 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; │ │ @@ -29037,18 +29037,18 @@ │ │ type : '(ILjava/util/Collection;)Z' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 3 │ │ ins : 3 │ │ outs : 1 │ │ insns size : 6 16-bit code units │ │ -0278d8: |[0278d8] util.PackedSortedList.addAll:(ILjava/util/Collection;)Z │ │ -0278e8: 2201 3101 |0000: new-instance v1, Ljava/lang/UnsupportedOperationException; // type@0131 │ │ -0278ec: 7010 bb05 0100 |0002: invoke-direct {v1}, Ljava/lang/UnsupportedOperationException;.:()V // method@05bb │ │ -0278f2: 2701 |0005: throw v1 │ │ +0278d4: |[0278d4] util.PackedSortedList.addAll:(ILjava/util/Collection;)Z │ │ +0278e4: 2201 3101 |0000: new-instance v1, Ljava/lang/UnsupportedOperationException; // type@0131 │ │ +0278e8: 7010 bb05 0100 |0002: invoke-direct {v1}, Ljava/lang/UnsupportedOperationException;.:()V // method@05bb │ │ +0278ee: 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; │ │ @@ -29058,26 +29058,26 @@ │ │ type : '(Ljava/util/Collection;)Z' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 3 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 20 16-bit code units │ │ -0278f4: |[0278f4] util.PackedSortedList.addAll:(Ljava/util/Collection;)Z │ │ -027904: 7210 1d06 0200 |0000: invoke-interface {v2}, Ljava/util/Collection;.iterator:()Ljava/util/Iterator; // method@061d │ │ -02790a: 0c02 |0003: move-result-object v2 │ │ -02790c: 7210 3a06 0200 |0004: invoke-interface {v2}, Ljava/util/Iterator;.hasNext:()Z // method@063a │ │ -027912: 0a00 |0007: move-result v0 │ │ -027914: 3800 0a00 |0008: if-eqz v0, 0012 // +000a │ │ -027918: 7210 3b06 0200 |000a: invoke-interface {v2}, Ljava/util/Iterator;.next:()Ljava/lang/Object; // method@063b │ │ -02791e: 0c00 |000d: move-result-object v0 │ │ -027920: 6e20 3a07 0100 |000e: invoke-virtual {v1, v0}, Lutil/PackedSortedList;.add:(Ljava/lang/Object;)Z // method@073a │ │ -027926: 28f3 |0011: goto 0004 // -000d │ │ -027928: 1212 |0012: const/4 v2, #int 1 // #1 │ │ -02792a: 0f02 |0013: return v2 │ │ +0278f0: |[0278f0] util.PackedSortedList.addAll:(Ljava/util/Collection;)Z │ │ +027900: 7210 1d06 0200 |0000: invoke-interface {v2}, Ljava/util/Collection;.iterator:()Ljava/util/Iterator; // method@061d │ │ +027906: 0c02 |0003: move-result-object v2 │ │ +027908: 7210 3a06 0200 |0004: invoke-interface {v2}, Ljava/util/Iterator;.hasNext:()Z // method@063a │ │ +02790e: 0a00 |0007: move-result v0 │ │ +027910: 3800 0a00 |0008: if-eqz v0, 0012 // +000a │ │ +027914: 7210 3b06 0200 |000a: invoke-interface {v2}, Ljava/util/Iterator;.next:()Ljava/lang/Object; // method@063b │ │ +02791a: 0c00 |000d: move-result-object v0 │ │ +02791c: 6e20 3a07 0100 |000e: invoke-virtual {v1, v0}, Lutil/PackedSortedList;.add:(Ljava/lang/Object;)Z // method@073a │ │ +027922: 28f3 |0011: goto 0004 // -000d │ │ +027924: 1212 |0012: const/4 v2, #int 1 // #1 │ │ +027926: 0f02 |0013: return v2 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=122 │ │ 0x0004 line=124 │ │ 0x000a line=125 │ │ locals : │ │ 0x0000 - 0x0014 reg=1 this Lutil/PackedSortedList; │ │ @@ -29088,18 +29088,18 @@ │ │ type : '()V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 6 16-bit code units │ │ -027ee4: |[027ee4] util.PackedSortedList.clear:()V │ │ -027ef4: 2200 3101 |0000: new-instance v0, Ljava/lang/UnsupportedOperationException; // type@0131 │ │ -027ef8: 7010 bb05 0000 |0002: invoke-direct {v0}, Ljava/lang/UnsupportedOperationException;.:()V // method@05bb │ │ -027efe: 2700 |0005: throw v0 │ │ +027ee0: |[027ee0] util.PackedSortedList.clear:()V │ │ +027ef0: 2200 3101 |0000: new-instance v0, Ljava/lang/UnsupportedOperationException; // type@0131 │ │ +027ef4: 7010 bb05 0000 |0002: invoke-direct {v0}, Ljava/lang/UnsupportedOperationException;.:()V // method@05bb │ │ +027efa: 2700 |0005: throw v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=138 │ │ locals : │ │ 0x0000 - 0x0006 reg=1 this Lutil/PackedSortedList; │ │ │ │ #5 : (in Lutil/PackedSortedList;) │ │ @@ -29107,20 +29107,20 @@ │ │ type : '()V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 0 │ │ insns size : 8 16-bit code units │ │ -027f00: |[027f00] util.PackedSortedList.clearAndReleaseAllMemory:()V │ │ -027f10: 1200 |0000: const/4 v0, #int 0 // #0 │ │ -027f12: 5910 5603 |0001: iput v0, v1, Lutil/PackedSortedList;.count:I // field@0356 │ │ -027f16: 2300 9d01 |0003: new-array v0, v0, [B // type@019d │ │ -027f1a: 5b10 5703 |0005: iput-object v0, v1, Lutil/PackedSortedList;.datapack:[B // field@0357 │ │ -027f1e: 0e00 |0007: return-void │ │ +027efc: |[027efc] util.PackedSortedList.clearAndReleaseAllMemory:()V │ │ +027f0c: 1200 |0000: const/4 v0, #int 0 // #0 │ │ +027f0e: 5910 5603 |0001: iput v0, v1, Lutil/PackedSortedList;.count:I // field@0356 │ │ +027f12: 2300 9d01 |0003: new-array v0, v0, [B // type@019d │ │ +027f16: 5b10 5703 |0005: iput-object v0, v1, Lutil/PackedSortedList;.datapack:[B // field@0357 │ │ +027f1a: 0e00 |0007: return-void │ │ catches : (none) │ │ positions : │ │ 0x0001 line=358 │ │ 0x0003 line=359 │ │ locals : │ │ 0x0000 - 0x0008 reg=1 this Lutil/PackedSortedList; │ │ │ │ @@ -29129,38 +29129,38 @@ │ │ type : '(Ljava/lang/Object;)Z' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 3 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 39 16-bit code units │ │ -02792c: |[02792c] util.PackedSortedList.contains:(Ljava/lang/Object;)Z │ │ -02793c: 5510 5903 |0000: iget-boolean v0, v1, Lutil/PackedSortedList;.loaded:Z // field@0359 │ │ -027940: 3900 1a00 |0002: if-nez v0, 001c // +001a │ │ -027944: 7010 3807 0100 |0004: invoke-direct {v1}, Lutil/PackedSortedList;.acquireDataPack:()V // method@0738 │ │ -02794a: 7020 3e07 2100 |0007: invoke-direct {v1, v2}, Lutil/PackedSortedList;.binarySearch:(Ljava/lang/Object;)I // method@073e │ │ -027950: 0a02 |000a: move-result v2 │ │ -027952: 7010 4d07 0100 |000b: invoke-direct {v1}, Lutil/PackedSortedList;.releaseDataPack:()V // method@074d │ │ -027958: 2812 |000e: goto 0020 // +0012 │ │ -02795a: 0d02 |000f: move-exception v2 │ │ -02795c: 2808 |0010: goto 0018 // +0008 │ │ -02795e: 0d02 |0011: move-exception v2 │ │ -027960: 2200 1d01 |0012: new-instance v0, Ljava/lang/IllegalStateException; // type@011d │ │ -027964: 7020 6205 2000 |0014: invoke-direct {v0, v2}, Ljava/lang/IllegalStateException;.:(Ljava/lang/Throwable;)V // method@0562 │ │ -02796a: 2700 |0017: throw v0 │ │ -02796c: 7010 4d07 0100 |0018: invoke-direct {v1}, Lutil/PackedSortedList;.releaseDataPack:()V // method@074d │ │ -027972: 2702 |001b: throw v2 │ │ -027974: 7020 3e07 2100 |001c: invoke-direct {v1, v2}, Lutil/PackedSortedList;.binarySearch:(Ljava/lang/Object;)I // method@073e │ │ -02797a: 0a02 |001f: move-result v2 │ │ -02797c: 12f0 |0020: const/4 v0, #int -1 // #ff │ │ -02797e: 3702 0400 |0021: if-le v2, v0, 0025 // +0004 │ │ -027982: 1212 |0023: const/4 v2, #int 1 // #1 │ │ -027984: 2802 |0024: goto 0026 // +0002 │ │ -027986: 1202 |0025: const/4 v2, #int 0 // #0 │ │ -027988: 0f02 |0026: return v2 │ │ +027928: |[027928] util.PackedSortedList.contains:(Ljava/lang/Object;)Z │ │ +027938: 5510 5903 |0000: iget-boolean v0, v1, Lutil/PackedSortedList;.loaded:Z // field@0359 │ │ +02793c: 3900 1a00 |0002: if-nez v0, 001c // +001a │ │ +027940: 7010 3807 0100 |0004: invoke-direct {v1}, Lutil/PackedSortedList;.acquireDataPack:()V // method@0738 │ │ +027946: 7020 3e07 2100 |0007: invoke-direct {v1, v2}, Lutil/PackedSortedList;.binarySearch:(Ljava/lang/Object;)I // method@073e │ │ +02794c: 0a02 |000a: move-result v2 │ │ +02794e: 7010 4d07 0100 |000b: invoke-direct {v1}, Lutil/PackedSortedList;.releaseDataPack:()V // method@074d │ │ +027954: 2812 |000e: goto 0020 // +0012 │ │ +027956: 0d02 |000f: move-exception v2 │ │ +027958: 2808 |0010: goto 0018 // +0008 │ │ +02795a: 0d02 |0011: move-exception v2 │ │ +02795c: 2200 1d01 |0012: new-instance v0, Ljava/lang/IllegalStateException; // type@011d │ │ +027960: 7020 6205 2000 |0014: invoke-direct {v0, v2}, Ljava/lang/IllegalStateException;.:(Ljava/lang/Throwable;)V // method@0562 │ │ +027966: 2700 |0017: throw v0 │ │ +027968: 7010 4d07 0100 |0018: invoke-direct {v1}, Lutil/PackedSortedList;.releaseDataPack:()V // method@074d │ │ +02796e: 2702 |001b: throw v2 │ │ +027970: 7020 3e07 2100 |001c: invoke-direct {v1, v2}, Lutil/PackedSortedList;.binarySearch:(Ljava/lang/Object;)I // method@073e │ │ +027976: 0a02 |001f: move-result v2 │ │ +027978: 12f0 |0020: const/4 v0, #int -1 // #ff │ │ +02797a: 3702 0400 |0021: if-le v2, v0, 0025 // +0004 │ │ +02797e: 1212 |0023: const/4 v2, #int 1 // #1 │ │ +027980: 2802 |0024: goto 0026 // +0002 │ │ +027982: 1202 |0025: const/4 v2, #int 0 // #0 │ │ +027984: 0f02 |0026: return v2 │ │ catches : 2 │ │ 0x0004 - 0x000b │ │ Ljava/lang/Exception; -> 0x0011 │ │ -> 0x000f │ │ 0x0012 - 0x0018 │ │ -> 0x000f │ │ positions : │ │ @@ -29181,18 +29181,18 @@ │ │ type : '(Ljava/util/Collection;)Z' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 2 │ │ outs : 1 │ │ insns size : 6 16-bit code units │ │ -0279a4: |[0279a4] util.PackedSortedList.containsAll:(Ljava/util/Collection;)Z │ │ -0279b4: 2201 3101 |0000: new-instance v1, Ljava/lang/UnsupportedOperationException; // type@0131 │ │ -0279b8: 7010 bb05 0100 |0002: invoke-direct {v1}, Ljava/lang/UnsupportedOperationException;.:()V // method@05bb │ │ -0279be: 2701 |0005: throw v1 │ │ +0279a0: |[0279a0] util.PackedSortedList.containsAll:(Ljava/util/Collection;)Z │ │ +0279b0: 2201 3101 |0000: new-instance v1, Ljava/lang/UnsupportedOperationException; // type@0131 │ │ +0279b4: 7010 bb05 0100 |0002: invoke-direct {v1}, Ljava/lang/UnsupportedOperationException;.:()V // method@05bb │ │ +0279ba: 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; │ │ │ │ @@ -29201,56 +29201,56 @@ │ │ type : '(I)Ljava/lang/Object;' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 7 │ │ ins : 2 │ │ outs : 3 │ │ insns size : 72 16-bit code units │ │ -027aa0: |[027aa0] util.PackedSortedList.get:(I)Ljava/lang/Object; │ │ -027ab0: 5250 5603 |0000: iget v0, v5, Lutil/PackedSortedList;.count:I // field@0356 │ │ -027ab4: 3406 0400 |0002: if-lt v6, v0, 0006 // +0004 │ │ -027ab8: 1206 |0004: const/4 v6, #int 0 // #0 │ │ -027aba: 1106 |0005: return-object v6 │ │ -027abc: 5250 5b03 |0006: iget v0, v5, Lutil/PackedSortedList;.object_size:I // field@035b │ │ -027ac0: 9206 0600 |0008: mul-int v6, v6, v0 │ │ -027ac4: 5550 5903 |000a: iget-boolean v0, v5, Lutil/PackedSortedList;.loaded:Z // field@0359 │ │ -027ac8: 3800 0b00 |000c: if-eqz v0, 0017 // +000b │ │ -027acc: 5450 5a03 |000e: iget-object v0, v5, Lutil/PackedSortedList;.objMgr:Lutil/ObjectPackagingManager; // field@035a │ │ -027ad0: 5451 5703 |0010: iget-object v1, v5, Lutil/PackedSortedList;.datapack:[B // field@0357 │ │ -027ad4: 7230 3307 1006 |0012: invoke-interface {v0, v1, v6}, Lutil/ObjectPackagingManager;.bytesToObject:([BI)Ljava/lang/Object; // method@0733 │ │ -027ada: 0c06 |0015: move-result-object v6 │ │ -027adc: 1106 |0016: return-object v6 │ │ -027ade: 7010 3807 0500 |0017: invoke-direct {v5}, Lutil/PackedSortedList;.acquireDataPack:()V // method@0738 │ │ -027ae4: 5250 5b03 |001a: iget v0, v5, Lutil/PackedSortedList;.object_size:I // field@035b │ │ -027ae8: 2300 9d01 |001c: new-array v0, v0, [B // type@019d │ │ -027aec: 5451 5c03 |001e: iget-object v1, v5, Lutil/PackedSortedList;.persistedPackData:Ljava/io/RandomAccessFile; // field@035c │ │ -027af0: 1d01 |0020: monitor-enter v1 │ │ -027af2: 5452 5c03 |0021: iget-object v2, v5, Lutil/PackedSortedList;.persistedPackData:Ljava/io/RandomAccessFile; // field@035c │ │ -027af6: 8163 |0023: int-to-long v3, v6 │ │ -027af8: 6e30 4505 3204 |0024: invoke-virtual {v2, v3, v4}, Ljava/io/RandomAccessFile;.seek:(J)V // method@0545 │ │ -027afe: 5456 5c03 |0027: iget-object v6, v5, Lutil/PackedSortedList;.persistedPackData:Ljava/io/RandomAccessFile; // field@035c │ │ -027b02: 6e20 4405 0600 |0029: invoke-virtual {v6, v0}, Ljava/io/RandomAccessFile;.readFully:([B)V // method@0544 │ │ -027b08: 1e01 |002c: monitor-exit v1 │ │ -027b0a: 5456 5a03 |002d: iget-object v6, v5, Lutil/PackedSortedList;.objMgr:Lutil/ObjectPackagingManager; // field@035a │ │ -027b0e: 1201 |002f: const/4 v1, #int 0 // #0 │ │ -027b10: 7230 3307 0601 |0030: invoke-interface {v6, v0, v1}, Lutil/ObjectPackagingManager;.bytesToObject:([BI)Ljava/lang/Object; // method@0733 │ │ -027b16: 0c06 |0033: move-result-object v6 │ │ -027b18: 7010 4d07 0500 |0034: invoke-direct {v5}, Lutil/PackedSortedList;.releaseDataPack:()V // method@074d │ │ -027b1e: 1106 |0037: return-object v6 │ │ -027b20: 0d06 |0038: move-exception v6 │ │ -027b22: 1e01 |0039: monitor-exit v1 │ │ -027b24: 2706 |003a: throw v6 │ │ -027b26: 0d06 |003b: move-exception v6 │ │ -027b28: 2808 |003c: goto 0044 // +0008 │ │ -027b2a: 0d06 |003d: move-exception v6 │ │ -027b2c: 2200 1d01 |003e: new-instance v0, Ljava/lang/IllegalStateException; // type@011d │ │ -027b30: 7020 6205 6000 |0040: invoke-direct {v0, v6}, Ljava/lang/IllegalStateException;.:(Ljava/lang/Throwable;)V // method@0562 │ │ -027b36: 2700 |0043: throw v0 │ │ -027b38: 7010 4d07 0500 |0044: invoke-direct {v5}, Lutil/PackedSortedList;.releaseDataPack:()V // method@074d │ │ -027b3e: 2706 |0047: throw v6 │ │ +027a9c: |[027a9c] util.PackedSortedList.get:(I)Ljava/lang/Object; │ │ +027aac: 5250 5603 |0000: iget v0, v5, Lutil/PackedSortedList;.count:I // field@0356 │ │ +027ab0: 3406 0400 |0002: if-lt v6, v0, 0006 // +0004 │ │ +027ab4: 1206 |0004: const/4 v6, #int 0 // #0 │ │ +027ab6: 1106 |0005: return-object v6 │ │ +027ab8: 5250 5b03 |0006: iget v0, v5, Lutil/PackedSortedList;.object_size:I // field@035b │ │ +027abc: 9206 0600 |0008: mul-int v6, v6, v0 │ │ +027ac0: 5550 5903 |000a: iget-boolean v0, v5, Lutil/PackedSortedList;.loaded:Z // field@0359 │ │ +027ac4: 3800 0b00 |000c: if-eqz v0, 0017 // +000b │ │ +027ac8: 5450 5a03 |000e: iget-object v0, v5, Lutil/PackedSortedList;.objMgr:Lutil/ObjectPackagingManager; // field@035a │ │ +027acc: 5451 5703 |0010: iget-object v1, v5, Lutil/PackedSortedList;.datapack:[B // field@0357 │ │ +027ad0: 7230 3307 1006 |0012: invoke-interface {v0, v1, v6}, Lutil/ObjectPackagingManager;.bytesToObject:([BI)Ljava/lang/Object; // method@0733 │ │ +027ad6: 0c06 |0015: move-result-object v6 │ │ +027ad8: 1106 |0016: return-object v6 │ │ +027ada: 7010 3807 0500 |0017: invoke-direct {v5}, Lutil/PackedSortedList;.acquireDataPack:()V // method@0738 │ │ +027ae0: 5250 5b03 |001a: iget v0, v5, Lutil/PackedSortedList;.object_size:I // field@035b │ │ +027ae4: 2300 9d01 |001c: new-array v0, v0, [B // type@019d │ │ +027ae8: 5451 5c03 |001e: iget-object v1, v5, Lutil/PackedSortedList;.persistedPackData:Ljava/io/RandomAccessFile; // field@035c │ │ +027aec: 1d01 |0020: monitor-enter v1 │ │ +027aee: 5452 5c03 |0021: iget-object v2, v5, Lutil/PackedSortedList;.persistedPackData:Ljava/io/RandomAccessFile; // field@035c │ │ +027af2: 8163 |0023: int-to-long v3, v6 │ │ +027af4: 6e30 4505 3204 |0024: invoke-virtual {v2, v3, v4}, Ljava/io/RandomAccessFile;.seek:(J)V // method@0545 │ │ +027afa: 5456 5c03 |0027: iget-object v6, v5, Lutil/PackedSortedList;.persistedPackData:Ljava/io/RandomAccessFile; // field@035c │ │ +027afe: 6e20 4405 0600 |0029: invoke-virtual {v6, v0}, Ljava/io/RandomAccessFile;.readFully:([B)V // method@0544 │ │ +027b04: 1e01 |002c: monitor-exit v1 │ │ +027b06: 5456 5a03 |002d: iget-object v6, v5, Lutil/PackedSortedList;.objMgr:Lutil/ObjectPackagingManager; // field@035a │ │ +027b0a: 1201 |002f: const/4 v1, #int 0 // #0 │ │ +027b0c: 7230 3307 0601 |0030: invoke-interface {v6, v0, v1}, Lutil/ObjectPackagingManager;.bytesToObject:([BI)Ljava/lang/Object; // method@0733 │ │ +027b12: 0c06 |0033: move-result-object v6 │ │ +027b14: 7010 4d07 0500 |0034: invoke-direct {v5}, Lutil/PackedSortedList;.releaseDataPack:()V // method@074d │ │ +027b1a: 1106 |0037: return-object v6 │ │ +027b1c: 0d06 |0038: move-exception v6 │ │ +027b1e: 1e01 |0039: monitor-exit v1 │ │ +027b20: 2706 |003a: throw v6 │ │ +027b22: 0d06 |003b: move-exception v6 │ │ +027b24: 2808 |003c: goto 0044 // +0008 │ │ +027b26: 0d06 |003d: move-exception v6 │ │ +027b28: 2200 1d01 |003e: new-instance v0, Ljava/lang/IllegalStateException; // type@011d │ │ +027b2c: 7020 6205 6000 |0040: invoke-direct {v0, v6}, Ljava/lang/IllegalStateException;.:(Ljava/lang/Throwable;)V // method@0562 │ │ +027b32: 2700 |0043: throw v0 │ │ +027b34: 7010 4d07 0500 |0044: invoke-direct {v5}, Lutil/PackedSortedList;.releaseDataPack:()V // method@074d │ │ +027b3a: 2706 |0047: throw v6 │ │ catches : 6 │ │ 0x0017 - 0x0021 │ │ Ljava/io/IOException; -> 0x003d │ │ -> 0x003b │ │ 0x0021 - 0x002d │ │ -> 0x0038 │ │ 0x002d - 0x0034 │ │ @@ -29289,18 +29289,18 @@ │ │ type : '(Ljava/lang/Object;)I' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 2 │ │ outs : 1 │ │ insns size : 6 16-bit code units │ │ -027a50: |[027a50] util.PackedSortedList.indexOf:(Ljava/lang/Object;)I │ │ -027a60: 2201 3101 |0000: new-instance v1, Ljava/lang/UnsupportedOperationException; // type@0131 │ │ -027a64: 7010 bb05 0100 |0002: invoke-direct {v1}, Ljava/lang/UnsupportedOperationException;.:()V // method@05bb │ │ -027a6a: 2701 |0005: throw v1 │ │ +027a4c: |[027a4c] util.PackedSortedList.indexOf:(Ljava/lang/Object;)I │ │ +027a5c: 2201 3101 |0000: new-instance v1, Ljava/lang/UnsupportedOperationException; // type@0131 │ │ +027a60: 7010 bb05 0100 |0002: invoke-direct {v1}, Ljava/lang/UnsupportedOperationException;.:()V // method@05bb │ │ +027a66: 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; │ │ │ │ @@ -29309,21 +29309,21 @@ │ │ type : '()Z' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 0 │ │ insns size : 8 16-bit code units │ │ -0279c0: |[0279c0] util.PackedSortedList.isEmpty:()Z │ │ -0279d0: 5210 5603 |0000: iget v0, v1, Lutil/PackedSortedList;.count:I // field@0356 │ │ -0279d4: 3900 0400 |0002: if-nez v0, 0006 // +0004 │ │ -0279d8: 1210 |0004: const/4 v0, #int 1 // #1 │ │ -0279da: 2802 |0005: goto 0007 // +0002 │ │ -0279dc: 1200 |0006: const/4 v0, #int 0 // #0 │ │ -0279de: 0f00 |0007: return v0 │ │ +0279bc: |[0279bc] util.PackedSortedList.isEmpty:()Z │ │ +0279cc: 5210 5603 |0000: iget v0, v1, Lutil/PackedSortedList;.count:I // field@0356 │ │ +0279d0: 3900 0400 |0002: if-nez v0, 0006 // +0004 │ │ +0279d4: 1210 |0004: const/4 v0, #int 1 // #1 │ │ +0279d6: 2802 |0005: goto 0007 // +0002 │ │ +0279d8: 1200 |0006: const/4 v0, #int 0 // #0 │ │ +0279da: 0f00 |0007: return v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=233 │ │ locals : │ │ 0x0000 - 0x0008 reg=1 this Lutil/PackedSortedList; │ │ │ │ #11 : (in Lutil/PackedSortedList;) │ │ @@ -29331,18 +29331,18 @@ │ │ type : '()Ljava/util/Iterator;' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 6 16-bit code units │ │ -027bec: |[027bec] util.PackedSortedList.iterator:()Ljava/util/Iterator; │ │ -027bfc: 2200 3101 |0000: new-instance v0, Ljava/lang/UnsupportedOperationException; // type@0131 │ │ -027c00: 7010 bb05 0000 |0002: invoke-direct {v0}, Ljava/lang/UnsupportedOperationException;.:()V // method@05bb │ │ -027c06: 2700 |0005: throw v0 │ │ +027be8: |[027be8] util.PackedSortedList.iterator:()Ljava/util/Iterator; │ │ +027bf8: 2200 3101 |0000: new-instance v0, Ljava/lang/UnsupportedOperationException; // type@0131 │ │ +027bfc: 7010 bb05 0000 |0002: invoke-direct {v0}, Ljava/lang/UnsupportedOperationException;.:()V // method@05bb │ │ +027c02: 2700 |0005: throw v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=238 │ │ locals : │ │ 0x0000 - 0x0006 reg=1 this Lutil/PackedSortedList; │ │ │ │ #12 : (in Lutil/PackedSortedList;) │ │ @@ -29350,18 +29350,18 @@ │ │ type : '(Ljava/lang/Object;)I' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 2 │ │ outs : 1 │ │ insns size : 6 16-bit code units │ │ -027a6c: |[027a6c] util.PackedSortedList.lastIndexOf:(Ljava/lang/Object;)I │ │ -027a7c: 2201 3101 |0000: new-instance v1, Ljava/lang/UnsupportedOperationException; // type@0131 │ │ -027a80: 7010 bb05 0100 |0002: invoke-direct {v1}, Ljava/lang/UnsupportedOperationException;.:()V // method@05bb │ │ -027a86: 2701 |0005: throw v1 │ │ +027a68: |[027a68] util.PackedSortedList.lastIndexOf:(Ljava/lang/Object;)I │ │ +027a78: 2201 3101 |0000: new-instance v1, Ljava/lang/UnsupportedOperationException; // type@0131 │ │ +027a7c: 7010 bb05 0100 |0002: invoke-direct {v1}, Ljava/lang/UnsupportedOperationException;.:()V // method@05bb │ │ +027a82: 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; │ │ │ │ @@ -29370,18 +29370,18 @@ │ │ type : '()Ljava/util/ListIterator;' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 6 16-bit code units │ │ -027c24: |[027c24] util.PackedSortedList.listIterator:()Ljava/util/ListIterator; │ │ -027c34: 2200 3101 |0000: new-instance v0, Ljava/lang/UnsupportedOperationException; // type@0131 │ │ -027c38: 7010 bb05 0000 |0002: invoke-direct {v0}, Ljava/lang/UnsupportedOperationException;.:()V // method@05bb │ │ -027c3e: 2700 |0005: throw v0 │ │ +027c20: |[027c20] util.PackedSortedList.listIterator:()Ljava/util/ListIterator; │ │ +027c30: 2200 3101 |0000: new-instance v0, Ljava/lang/UnsupportedOperationException; // type@0131 │ │ +027c34: 7010 bb05 0000 |0002: invoke-direct {v0}, Ljava/lang/UnsupportedOperationException;.:()V // method@05bb │ │ +027c3a: 2700 |0005: throw v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=248 │ │ locals : │ │ 0x0000 - 0x0006 reg=1 this Lutil/PackedSortedList; │ │ │ │ #14 : (in Lutil/PackedSortedList;) │ │ @@ -29389,18 +29389,18 @@ │ │ type : '(I)Ljava/util/ListIterator;' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 2 │ │ outs : 1 │ │ insns size : 6 16-bit code units │ │ -027c40: |[027c40] util.PackedSortedList.listIterator:(I)Ljava/util/ListIterator; │ │ -027c50: 2201 3101 |0000: new-instance v1, Ljava/lang/UnsupportedOperationException; // type@0131 │ │ -027c54: 7010 bb05 0100 |0002: invoke-direct {v1}, Ljava/lang/UnsupportedOperationException;.:()V // method@05bb │ │ -027c5a: 2701 |0005: throw v1 │ │ +027c3c: |[027c3c] util.PackedSortedList.listIterator:(I)Ljava/util/ListIterator; │ │ +027c4c: 2201 3101 |0000: new-instance v1, Ljava/lang/UnsupportedOperationException; // type@0131 │ │ +027c50: 7010 bb05 0100 |0002: invoke-direct {v1}, Ljava/lang/UnsupportedOperationException;.:()V // method@05bb │ │ +027c56: 2701 |0005: throw v1 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=253 │ │ locals : │ │ 0x0000 - 0x0006 reg=0 this Lutil/PackedSortedList; │ │ 0x0000 - 0x0006 reg=1 (null) I │ │ │ │ @@ -29409,48 +29409,48 @@ │ │ type : '(Ljava/lang/String;)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 6 │ │ ins : 2 │ │ outs : 4 │ │ insns size : 66 16-bit code units │ │ -027fac: |[027fac] util.PackedSortedList.persist:(Ljava/lang/String;)V │ │ -027fbc: 5540 5f03 |0000: iget-boolean v0, v4, Lutil/PackedSortedList;.persistentOutdated:Z // field@035f │ │ -027fc0: 1201 |0002: const/4 v1, #int 0 // #0 │ │ -027fc2: 3800 3500 |0003: if-eqz v0, 0038 // +0035 │ │ -027fc6: 5540 5903 |0005: iget-boolean v0, v4, Lutil/PackedSortedList;.loaded:Z // field@0359 │ │ -027fca: 3800 2900 |0007: if-eqz v0, 0030 // +0029 │ │ -027fce: 2200 fb00 |0009: new-instance v0, Ljava/io/File; // type@00fb │ │ -027fd2: 7020 ff04 5000 |000b: invoke-direct {v0, v5}, Ljava/io/File;.:(Ljava/lang/String;)V // method@04ff │ │ -027fd8: 5b40 5e03 |000e: iput-object v0, v4, Lutil/PackedSortedList;.persistedPackFile:Ljava/io/File; // field@035e │ │ -027fdc: 2205 ff00 |0010: new-instance v5, Ljava/io/FileOutputStream; // type@00ff │ │ -027fe0: 5440 5e03 |0012: iget-object v0, v4, Lutil/PackedSortedList;.persistedPackFile:Ljava/io/File; // field@035e │ │ -027fe4: 7020 1705 0500 |0014: invoke-direct {v5, v0}, Ljava/io/FileOutputStream;.:(Ljava/io/File;)V // method@0517 │ │ -027fea: 5440 5703 |0017: iget-object v0, v4, Lutil/PackedSortedList;.datapack:[B // field@0357 │ │ -027fee: 5242 5603 |0019: iget v2, v4, Lutil/PackedSortedList;.count:I // field@0356 │ │ -027ff2: 5243 5b03 |001b: iget v3, v4, Lutil/PackedSortedList;.object_size:I // field@035b │ │ -027ff6: 9202 0203 |001d: mul-int v2, v2, v3 │ │ -027ffa: 6e40 1e05 0521 |001f: invoke-virtual {v5, v0, v1, v2}, Ljava/io/FileOutputStream;.write:([BII)V // method@051e │ │ -028000: 6e10 1c05 0500 |0022: invoke-virtual {v5}, Ljava/io/FileOutputStream;.flush:()V // method@051c │ │ -028006: 6e10 1b05 0500 |0025: invoke-virtual {v5}, Ljava/io/FileOutputStream;.close:()V // method@051b │ │ -02800c: 5c41 5f03 |0028: iput-boolean v1, v4, Lutil/PackedSortedList;.persistentOutdated:Z // field@035f │ │ -028010: 280e |002a: goto 0038 // +000e │ │ -028012: 0d00 |002b: move-exception v0 │ │ -028014: 6e10 1b05 0500 |002c: invoke-virtual {v5}, Ljava/io/FileOutputStream;.close:()V // method@051b │ │ -02801a: 2700 |002f: throw v0 │ │ -02801c: 2205 0001 |0030: new-instance v5, Ljava/io/IOException; // type@0100 │ │ -028020: 1a00 0704 |0032: const-string v0, "PackedSortedList can not be persisted when not in memory!" // string@0407 │ │ -028024: 7020 1f05 0500 |0034: invoke-direct {v5, v0}, Ljava/io/IOException;.:(Ljava/lang/String;)V // method@051f │ │ -02802a: 2705 |0037: throw v5 │ │ -02802c: 5545 5803 |0038: iget-boolean v5, v4, Lutil/PackedSortedList;.keepInMemory:Z // field@0358 │ │ -028030: 3905 0700 |003a: if-nez v5, 0041 // +0007 │ │ -028034: 1205 |003c: const/4 v5, #int 0 // #0 │ │ -028036: 5b45 5703 |003d: iput-object v5, v4, Lutil/PackedSortedList;.datapack:[B // field@0357 │ │ -02803a: 5c41 5903 |003f: iput-boolean v1, v4, Lutil/PackedSortedList;.loaded:Z // field@0359 │ │ -02803e: 0e00 |0041: return-void │ │ +027fa8: |[027fa8] util.PackedSortedList.persist:(Ljava/lang/String;)V │ │ +027fb8: 5540 5f03 |0000: iget-boolean v0, v4, Lutil/PackedSortedList;.persistentOutdated:Z // field@035f │ │ +027fbc: 1201 |0002: const/4 v1, #int 0 // #0 │ │ +027fbe: 3800 3500 |0003: if-eqz v0, 0038 // +0035 │ │ +027fc2: 5540 5903 |0005: iget-boolean v0, v4, Lutil/PackedSortedList;.loaded:Z // field@0359 │ │ +027fc6: 3800 2900 |0007: if-eqz v0, 0030 // +0029 │ │ +027fca: 2200 fb00 |0009: new-instance v0, Ljava/io/File; // type@00fb │ │ +027fce: 7020 ff04 5000 |000b: invoke-direct {v0, v5}, Ljava/io/File;.:(Ljava/lang/String;)V // method@04ff │ │ +027fd4: 5b40 5e03 |000e: iput-object v0, v4, Lutil/PackedSortedList;.persistedPackFile:Ljava/io/File; // field@035e │ │ +027fd8: 2205 ff00 |0010: new-instance v5, Ljava/io/FileOutputStream; // type@00ff │ │ +027fdc: 5440 5e03 |0012: iget-object v0, v4, Lutil/PackedSortedList;.persistedPackFile:Ljava/io/File; // field@035e │ │ +027fe0: 7020 1705 0500 |0014: invoke-direct {v5, v0}, Ljava/io/FileOutputStream;.:(Ljava/io/File;)V // method@0517 │ │ +027fe6: 5440 5703 |0017: iget-object v0, v4, Lutil/PackedSortedList;.datapack:[B // field@0357 │ │ +027fea: 5242 5603 |0019: iget v2, v4, Lutil/PackedSortedList;.count:I // field@0356 │ │ +027fee: 5243 5b03 |001b: iget v3, v4, Lutil/PackedSortedList;.object_size:I // field@035b │ │ +027ff2: 9202 0203 |001d: mul-int v2, v2, v3 │ │ +027ff6: 6e40 1e05 0521 |001f: invoke-virtual {v5, v0, v1, v2}, Ljava/io/FileOutputStream;.write:([BII)V // method@051e │ │ +027ffc: 6e10 1c05 0500 |0022: invoke-virtual {v5}, Ljava/io/FileOutputStream;.flush:()V // method@051c │ │ +028002: 6e10 1b05 0500 |0025: invoke-virtual {v5}, Ljava/io/FileOutputStream;.close:()V // method@051b │ │ +028008: 5c41 5f03 |0028: iput-boolean v1, v4, Lutil/PackedSortedList;.persistentOutdated:Z // field@035f │ │ +02800c: 280e |002a: goto 0038 // +000e │ │ +02800e: 0d00 |002b: move-exception v0 │ │ +028010: 6e10 1b05 0500 |002c: invoke-virtual {v5}, Ljava/io/FileOutputStream;.close:()V // method@051b │ │ +028016: 2700 |002f: throw v0 │ │ +028018: 2205 0001 |0030: new-instance v5, Ljava/io/IOException; // type@0100 │ │ +02801c: 1a00 0704 |0032: const-string v0, "PackedSortedList can not be persisted when not in memory!" // string@0407 │ │ +028020: 7020 1f05 0500 |0034: invoke-direct {v5, v0}, Ljava/io/IOException;.:(Ljava/lang/String;)V // method@051f │ │ +028026: 2705 |0037: throw v5 │ │ +028028: 5545 5803 |0038: iget-boolean v5, v4, Lutil/PackedSortedList;.keepInMemory:Z // field@0358 │ │ +02802c: 3905 0700 |003a: if-nez v5, 0041 // +0007 │ │ +028030: 1205 |003c: const/4 v5, #int 0 // #0 │ │ +028032: 5b45 5703 |003d: iput-object v5, v4, Lutil/PackedSortedList;.datapack:[B // field@0357 │ │ +028036: 5c41 5903 |003f: iput-boolean v1, v4, Lutil/PackedSortedList;.loaded:Z // field@0359 │ │ +02803a: 0e00 |0041: return-void │ │ catches : 1 │ │ 0x0017 - 0x0025 │ │ -> 0x002b │ │ positions : │ │ 0x0000 line=305 │ │ 0x0005 line=307 │ │ 0x0009 line=310 │ │ @@ -29474,18 +29474,18 @@ │ │ type : '(I)Ljava/lang/Object;' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 2 │ │ outs : 1 │ │ insns size : 6 16-bit code units │ │ -027b7c: |[027b7c] util.PackedSortedList.remove:(I)Ljava/lang/Object; │ │ -027b8c: 2201 3101 |0000: new-instance v1, Ljava/lang/UnsupportedOperationException; // type@0131 │ │ -027b90: 7010 bb05 0100 |0002: invoke-direct {v1}, Ljava/lang/UnsupportedOperationException;.:()V // method@05bb │ │ -027b96: 2701 |0005: throw v1 │ │ +027b78: |[027b78] util.PackedSortedList.remove:(I)Ljava/lang/Object; │ │ +027b88: 2201 3101 |0000: new-instance v1, Ljava/lang/UnsupportedOperationException; // type@0131 │ │ +027b8c: 7010 bb05 0100 |0002: invoke-direct {v1}, Ljava/lang/UnsupportedOperationException;.:()V // method@05bb │ │ +027b92: 2701 |0005: throw v1 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=263 │ │ locals : │ │ 0x0000 - 0x0006 reg=0 this Lutil/PackedSortedList; │ │ 0x0000 - 0x0006 reg=1 (null) I │ │ │ │ @@ -29494,18 +29494,18 @@ │ │ type : '(Ljava/lang/Object;)Z' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 2 │ │ outs : 1 │ │ insns size : 6 16-bit code units │ │ -0279e0: |[0279e0] util.PackedSortedList.remove:(Ljava/lang/Object;)Z │ │ -0279f0: 2201 3101 |0000: new-instance v1, Ljava/lang/UnsupportedOperationException; // type@0131 │ │ -0279f4: 7010 bb05 0100 |0002: invoke-direct {v1}, Ljava/lang/UnsupportedOperationException;.:()V // method@05bb │ │ -0279fa: 2701 |0005: throw v1 │ │ +0279dc: |[0279dc] util.PackedSortedList.remove:(Ljava/lang/Object;)Z │ │ +0279ec: 2201 3101 |0000: new-instance v1, Ljava/lang/UnsupportedOperationException; // type@0131 │ │ +0279f0: 7010 bb05 0100 |0002: invoke-direct {v1}, Ljava/lang/UnsupportedOperationException;.:()V // method@05bb │ │ +0279f6: 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; │ │ │ │ @@ -29514,18 +29514,18 @@ │ │ type : '(Ljava/util/Collection;)Z' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 2 │ │ outs : 1 │ │ insns size : 6 16-bit code units │ │ -0279fc: |[0279fc] util.PackedSortedList.removeAll:(Ljava/util/Collection;)Z │ │ -027a0c: 2201 3101 |0000: new-instance v1, Ljava/lang/UnsupportedOperationException; // type@0131 │ │ -027a10: 7010 bb05 0100 |0002: invoke-direct {v1}, Ljava/lang/UnsupportedOperationException;.:()V // method@05bb │ │ -027a16: 2701 |0005: throw v1 │ │ +0279f8: |[0279f8] util.PackedSortedList.removeAll:(Ljava/util/Collection;)Z │ │ +027a08: 2201 3101 |0000: new-instance v1, Ljava/lang/UnsupportedOperationException; // type@0131 │ │ +027a0c: 7010 bb05 0100 |0002: invoke-direct {v1}, Ljava/lang/UnsupportedOperationException;.:()V // method@05bb │ │ +027a12: 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; │ │ │ │ @@ -29534,18 +29534,18 @@ │ │ type : '(Ljava/util/Collection;)Z' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 2 │ │ outs : 1 │ │ insns size : 6 16-bit code units │ │ -027a18: |[027a18] util.PackedSortedList.retainAll:(Ljava/util/Collection;)Z │ │ -027a28: 2201 3101 |0000: new-instance v1, Ljava/lang/UnsupportedOperationException; // type@0131 │ │ -027a2c: 7010 bb05 0100 |0002: invoke-direct {v1}, Ljava/lang/UnsupportedOperationException;.:()V // method@05bb │ │ -027a32: 2701 |0005: throw v1 │ │ +027a14: |[027a14] util.PackedSortedList.retainAll:(Ljava/util/Collection;)Z │ │ +027a24: 2201 3101 |0000: new-instance v1, Ljava/lang/UnsupportedOperationException; // type@0131 │ │ +027a28: 7010 bb05 0100 |0002: invoke-direct {v1}, Ljava/lang/UnsupportedOperationException;.:()V // method@05bb │ │ +027a2e: 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; │ │ │ │ @@ -29554,18 +29554,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 │ │ -027b98: |[027b98] util.PackedSortedList.set:(ILjava/lang/Object;)Ljava/lang/Object; │ │ -027ba8: 2201 3101 |0000: new-instance v1, Ljava/lang/UnsupportedOperationException; // type@0131 │ │ -027bac: 7010 bb05 0100 |0002: invoke-direct {v1}, Ljava/lang/UnsupportedOperationException;.:()V // method@05bb │ │ -027bb2: 2701 |0005: throw v1 │ │ +027b94: |[027b94] util.PackedSortedList.set:(ILjava/lang/Object;)Ljava/lang/Object; │ │ +027ba4: 2201 3101 |0000: new-instance v1, Ljava/lang/UnsupportedOperationException; // type@0131 │ │ +027ba8: 7010 bb05 0100 |0002: invoke-direct {v1}, Ljava/lang/UnsupportedOperationException;.:()V // method@05bb │ │ +027bae: 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; │ │ @@ -29575,17 +29575,17 @@ │ │ type : '()I' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 0 │ │ insns size : 3 16-bit code units │ │ -027a88: |[027a88] util.PackedSortedList.size:()I │ │ -027a98: 5210 5603 |0000: iget v0, v1, Lutil/PackedSortedList;.count:I // field@0356 │ │ -027a9c: 0f00 |0002: return v0 │ │ +027a84: |[027a84] util.PackedSortedList.size:()I │ │ +027a94: 5210 5603 |0000: iget v0, v1, Lutil/PackedSortedList;.count:I // field@0356 │ │ +027a98: 0f00 |0002: return v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=283 │ │ locals : │ │ 0x0000 - 0x0003 reg=1 this Lutil/PackedSortedList; │ │ │ │ #22 : (in Lutil/PackedSortedList;) │ │ @@ -29593,18 +29593,18 @@ │ │ type : '(II)Ljava/util/List;' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 3 │ │ ins : 3 │ │ outs : 1 │ │ insns size : 6 16-bit code units │ │ -027c08: |[027c08] util.PackedSortedList.subList:(II)Ljava/util/List; │ │ -027c18: 2201 3101 |0000: new-instance v1, Ljava/lang/UnsupportedOperationException; // type@0131 │ │ -027c1c: 7010 bb05 0100 |0002: invoke-direct {v1}, Ljava/lang/UnsupportedOperationException;.:()V // method@05bb │ │ -027c22: 2701 |0005: throw v1 │ │ +027c04: |[027c04] util.PackedSortedList.subList:(II)Ljava/util/List; │ │ +027c14: 2201 3101 |0000: new-instance v1, Ljava/lang/UnsupportedOperationException; // type@0131 │ │ +027c18: 7010 bb05 0100 |0002: invoke-direct {v1}, Ljava/lang/UnsupportedOperationException;.:()V // method@05bb │ │ +027c1e: 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 │ │ @@ -29614,18 +29614,18 @@ │ │ type : '()[Ljava/lang/Object;' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 6 16-bit code units │ │ -027bb4: |[027bb4] util.PackedSortedList.toArray:()[Ljava/lang/Object; │ │ -027bc4: 2200 3101 |0000: new-instance v0, Ljava/lang/UnsupportedOperationException; // type@0131 │ │ -027bc8: 7010 bb05 0000 |0002: invoke-direct {v0}, Ljava/lang/UnsupportedOperationException;.:()V // method@05bb │ │ -027bce: 2700 |0005: throw v0 │ │ +027bb0: |[027bb0] util.PackedSortedList.toArray:()[Ljava/lang/Object; │ │ +027bc0: 2200 3101 |0000: new-instance v0, Ljava/lang/UnsupportedOperationException; // type@0131 │ │ +027bc4: 7010 bb05 0000 |0002: invoke-direct {v0}, Ljava/lang/UnsupportedOperationException;.:()V // method@05bb │ │ +027bca: 2700 |0005: throw v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=293 │ │ locals : │ │ 0x0000 - 0x0006 reg=1 this Lutil/PackedSortedList; │ │ │ │ #24 : (in Lutil/PackedSortedList;) │ │ @@ -29633,18 +29633,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 │ │ -027bd0: |[027bd0] util.PackedSortedList.toArray:([Ljava/lang/Object;)[Ljava/lang/Object; │ │ -027be0: 2201 3101 |0000: new-instance v1, Ljava/lang/UnsupportedOperationException; // type@0131 │ │ -027be4: 7010 bb05 0100 |0002: invoke-direct {v1}, Ljava/lang/UnsupportedOperationException;.:()V // method@05bb │ │ -027bea: 2701 |0005: throw v1 │ │ +027bcc: |[027bcc] util.PackedSortedList.toArray:([Ljava/lang/Object;)[Ljava/lang/Object; │ │ +027bdc: 2201 3101 |0000: new-instance v1, Ljava/lang/UnsupportedOperationException; // type@0131 │ │ +027be0: 7010 bb05 0100 |0002: invoke-direct {v1}, Ljava/lang/UnsupportedOperationException;.:()V // method@05bb │ │ +027be6: 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; │ │ │ │ @@ -29705,23 +29705,23 @@ │ │ type : '(Ljava/io/InputStream;)V' │ │ access : 0x10001 (PUBLIC CONSTRUCTOR) │ │ code - │ │ registers : 3 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 16 16-bit code units │ │ -028248: |[028248] util.PaddingCipherInputStream.:(Ljava/io/InputStream;)V │ │ -028258: 7010 2505 0100 |0000: invoke-direct {v1}, Ljava/io/InputStream;.:()V // method@0525 │ │ -02825e: 1200 |0003: const/4 v0, #int 0 // #0 │ │ -028260: 5c10 6103 |0004: iput-boolean v0, v1, Lutil/PaddingCipherInputStream;.eof:Z // field@0361 │ │ -028264: 5c10 6203 |0006: iput-boolean v0, v1, Lutil/PaddingCipherInputStream;.init:Z // field@0362 │ │ -028268: 2200 f800 |0008: new-instance v0, Ljava/io/DataInputStream; // type@00f8 │ │ -02826c: 7020 ee04 2000 |000a: invoke-direct {v0, v2}, Ljava/io/DataInputStream;.:(Ljava/io/InputStream;)V // method@04ee │ │ -028272: 5b10 6303 |000d: iput-object v0, v1, Lutil/PaddingCipherInputStream;.lowerIn:Ljava/io/DataInputStream; // field@0363 │ │ -028276: 0e00 |000f: return-void │ │ +028244: |[028244] util.PaddingCipherInputStream.:(Ljava/io/InputStream;)V │ │ +028254: 7010 2505 0100 |0000: invoke-direct {v1}, Ljava/io/InputStream;.:()V // method@0525 │ │ +02825a: 1200 |0003: const/4 v0, #int 0 // #0 │ │ +02825c: 5c10 6103 |0004: iput-boolean v0, v1, Lutil/PaddingCipherInputStream;.eof:Z // field@0361 │ │ +028260: 5c10 6203 |0006: iput-boolean v0, v1, Lutil/PaddingCipherInputStream;.init:Z // field@0362 │ │ +028264: 2200 f800 |0008: new-instance v0, Ljava/io/DataInputStream; // type@00f8 │ │ +028268: 7020 ee04 2000 |000a: invoke-direct {v0, v2}, Ljava/io/DataInputStream;.:(Ljava/io/InputStream;)V // method@04ee │ │ +02826e: 5b10 6303 |000d: iput-object v0, v1, Lutil/PaddingCipherInputStream;.lowerIn:Ljava/io/DataInputStream; // field@0363 │ │ +028272: 0e00 |000f: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=17 │ │ 0x0004 line=13 │ │ 0x0006 line=14 │ │ 0x0008 line=18 │ │ locals : │ │ @@ -29733,42 +29733,42 @@ │ │ type : '()Ljava/io/ByteArrayInputStream;' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 6 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 50 16-bit code units │ │ -0281b8: |[0281b8] util.PaddingCipherInputStream.getNewBytes:()Ljava/io/ByteArrayInputStream; │ │ -0281c8: 1210 |0000: const/4 v0, #int 1 // #1 │ │ -0281ca: 1201 |0001: const/4 v1, #int 0 // #0 │ │ -0281cc: 5452 6303 |0002: iget-object v2, v5, Lutil/PaddingCipherInputStream;.lowerIn:Ljava/io/DataInputStream; // field@0363 │ │ -0281d0: 6e10 f204 0200 |0004: invoke-virtual {v2}, Ljava/io/DataInputStream;.readInt:()I // method@04f2 │ │ -0281d6: 0a02 |0007: move-result v2 │ │ -0281d8: 2323 9d01 |0008: new-array v3, v2, [B // type@019d │ │ -0281dc: 5454 6303 |000a: iget-object v4, v5, Lutil/PaddingCipherInputStream;.lowerIn:Ljava/io/DataInputStream; // field@0363 │ │ -0281e0: 6e20 f004 3400 |000c: invoke-virtual {v4, v3}, Ljava/io/DataInputStream;.readFully:([B)V // method@04f0 │ │ -0281e6: 3902 0700 |000f: if-nez v2, 0016 // +0007 │ │ -0281ea: 5b51 6003 |0011: iput-object v1, v5, Lutil/PaddingCipherInputStream;.byteBuf:Ljava/io/ByteArrayInputStream; // field@0360 │ │ -0281ee: 5c50 6103 |0013: iput-boolean v0, v5, Lutil/PaddingCipherInputStream;.eof:Z // field@0361 │ │ -0281f2: 1101 |0015: return-object v1 │ │ -0281f4: 7110 c806 0300 |0016: invoke-static {v3}, Lutil/Encryption;.decrypt:([B)[B // method@06c8 │ │ -0281fa: 0c00 |0019: move-result-object v0 │ │ -0281fc: 2201 f600 |001a: new-instance v1, Ljava/io/ByteArrayInputStream; // type@00f6 │ │ -028200: 7020 df04 0100 |001c: invoke-direct {v1, v0}, Ljava/io/ByteArrayInputStream;.:([B)V // method@04df │ │ -028206: 5b51 6003 |001f: iput-object v1, v5, Lutil/PaddingCipherInputStream;.byteBuf:Ljava/io/ByteArrayInputStream; // field@0360 │ │ -02820a: 1101 |0021: return-object v1 │ │ -02820c: 0d00 |0022: move-exception v0 │ │ -02820e: 2201 0001 |0023: new-instance v1, Ljava/io/IOException; // type@0100 │ │ -028212: 6e10 5b05 0000 |0025: invoke-virtual {v0}, Ljava/lang/Exception;.getMessage:()Ljava/lang/String; // method@055b │ │ -028218: 0c00 |0028: move-result-object v0 │ │ -02821a: 7020 1f05 0100 |0029: invoke-direct {v1, v0}, Ljava/io/IOException;.:(Ljava/lang/String;)V // method@051f │ │ -028220: 2701 |002c: throw v1 │ │ -028222: 5c50 6103 |002d: iput-boolean v0, v5, Lutil/PaddingCipherInputStream;.eof:Z // field@0361 │ │ -028226: 5b51 6003 |002f: iput-object v1, v5, Lutil/PaddingCipherInputStream;.byteBuf:Ljava/io/ByteArrayInputStream; // field@0360 │ │ -02822a: 1101 |0031: return-object v1 │ │ +0281b4: |[0281b4] util.PaddingCipherInputStream.getNewBytes:()Ljava/io/ByteArrayInputStream; │ │ +0281c4: 1210 |0000: const/4 v0, #int 1 // #1 │ │ +0281c6: 1201 |0001: const/4 v1, #int 0 // #0 │ │ +0281c8: 5452 6303 |0002: iget-object v2, v5, Lutil/PaddingCipherInputStream;.lowerIn:Ljava/io/DataInputStream; // field@0363 │ │ +0281cc: 6e10 f204 0200 |0004: invoke-virtual {v2}, Ljava/io/DataInputStream;.readInt:()I // method@04f2 │ │ +0281d2: 0a02 |0007: move-result v2 │ │ +0281d4: 2323 9d01 |0008: new-array v3, v2, [B // type@019d │ │ +0281d8: 5454 6303 |000a: iget-object v4, v5, Lutil/PaddingCipherInputStream;.lowerIn:Ljava/io/DataInputStream; // field@0363 │ │ +0281dc: 6e20 f004 3400 |000c: invoke-virtual {v4, v3}, Ljava/io/DataInputStream;.readFully:([B)V // method@04f0 │ │ +0281e2: 3902 0700 |000f: if-nez v2, 0016 // +0007 │ │ +0281e6: 5b51 6003 |0011: iput-object v1, v5, Lutil/PaddingCipherInputStream;.byteBuf:Ljava/io/ByteArrayInputStream; // field@0360 │ │ +0281ea: 5c50 6103 |0013: iput-boolean v0, v5, Lutil/PaddingCipherInputStream;.eof:Z // field@0361 │ │ +0281ee: 1101 |0015: return-object v1 │ │ +0281f0: 7110 c806 0300 |0016: invoke-static {v3}, Lutil/Encryption;.decrypt:([B)[B // method@06c8 │ │ +0281f6: 0c00 |0019: move-result-object v0 │ │ +0281f8: 2201 f600 |001a: new-instance v1, Ljava/io/ByteArrayInputStream; // type@00f6 │ │ +0281fc: 7020 df04 0100 |001c: invoke-direct {v1, v0}, Ljava/io/ByteArrayInputStream;.:([B)V // method@04df │ │ +028202: 5b51 6003 |001f: iput-object v1, v5, Lutil/PaddingCipherInputStream;.byteBuf:Ljava/io/ByteArrayInputStream; // field@0360 │ │ +028206: 1101 |0021: return-object v1 │ │ +028208: 0d00 |0022: move-exception v0 │ │ +02820a: 2201 0001 |0023: new-instance v1, Ljava/io/IOException; // type@0100 │ │ +02820e: 6e10 5b05 0000 |0025: invoke-virtual {v0}, Ljava/lang/Exception;.getMessage:()Ljava/lang/String; // method@055b │ │ +028214: 0c00 |0028: move-result-object v0 │ │ +028216: 7020 1f05 0100 |0029: invoke-direct {v1, v0}, Ljava/io/IOException;.:(Ljava/lang/String;)V // method@051f │ │ +02821c: 2701 |002c: throw v1 │ │ +02821e: 5c50 6103 |002d: iput-boolean v0, v5, Lutil/PaddingCipherInputStream;.eof:Z // field@0361 │ │ +028222: 5b51 6003 |002f: iput-object v1, v5, Lutil/PaddingCipherInputStream;.byteBuf:Ljava/io/ByteArrayInputStream; // field@0360 │ │ +028226: 1101 |0031: return-object v1 │ │ catches : 2 │ │ 0x0002 - 0x000f │ │ Ljava/io/EOFException; -> 0x002d │ │ 0x0016 - 0x0021 │ │ Ljava/lang/Exception; -> 0x0022 │ │ positions : │ │ 0x0002 line=92 │ │ @@ -29789,50 +29789,50 @@ │ │ type : '()V' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 7 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 63 16-bit code units │ │ -028294: |[028294] util.PaddingCipherInputStream.initRead:()V │ │ -0282a4: 5560 6203 |0000: iget-boolean v0, v6, Lutil/PaddingCipherInputStream;.init:Z // field@0362 │ │ -0282a8: 3800 0300 |0002: if-eqz v0, 0005 // +0003 │ │ -0282ac: 0e00 |0004: return-void │ │ -0282ae: 1210 |0005: const/4 v0, #int 1 // #1 │ │ -0282b0: 5c60 6203 |0006: iput-boolean v0, v6, Lutil/PaddingCipherInputStream;.init:Z // field@0362 │ │ -0282b4: 5461 6303 |0008: iget-object v1, v6, Lutil/PaddingCipherInputStream;.lowerIn:Ljava/io/DataInputStream; // field@0363 │ │ -0282b8: 6e10 f204 0100 |000a: invoke-virtual {v1}, Ljava/io/DataInputStream;.readInt:()I // method@04f2 │ │ -0282be: 0a00 |000d: move-result v0 │ │ -0282c0: 2804 |000e: goto 0012 // +0004 │ │ -0282c2: 5c60 6103 |000f: iput-boolean v0, v6, Lutil/PaddingCipherInputStream;.eof:Z // field@0361 │ │ -0282c6: 12f0 |0011: const/4 v0, #int -1 // #ff │ │ -0282c8: 5561 6103 |0012: iget-boolean v1, v6, Lutil/PaddingCipherInputStream;.eof:Z // field@0361 │ │ -0282cc: 3901 2a00 |0014: if-nez v1, 003e // +002a │ │ -0282d0: 6201 3203 |0016: sget-object v1, Lutil/Encryption;.ENCR_INIT_BYTES:[B // field@0332 │ │ -0282d4: 2111 |0018: array-length v1, v1 │ │ -0282d6: 1a02 e004 |0019: const-string v2, "Wrong keyphrase!" // string@04e0 │ │ -0282da: 3310 1d00 |001b: if-ne v0, v1, 0038 // +001d │ │ -0282de: 2301 9d01 |001d: new-array v1, v0, [B // type@019d │ │ -0282e2: 5463 6303 |001f: iget-object v3, v6, Lutil/PaddingCipherInputStream;.lowerIn:Ljava/io/DataInputStream; // field@0363 │ │ -0282e6: 6e20 f004 1300 |0021: invoke-virtual {v3, v1}, Ljava/io/DataInputStream;.readFully:([B)V // method@04f0 │ │ -0282ec: 1203 |0024: const/4 v3, #int 0 // #0 │ │ -0282ee: 3503 1900 |0025: if-ge v3, v0, 003e // +0019 │ │ -0282f2: 4804 0103 |0027: aget-byte v4, v1, v3 │ │ -0282f6: 6205 3203 |0029: sget-object v5, Lutil/Encryption;.ENCR_INIT_BYTES:[B // field@0332 │ │ -0282fa: 4805 0503 |002b: aget-byte v5, v5, v3 │ │ -0282fe: 3354 0500 |002d: if-ne v4, v5, 0032 // +0005 │ │ -028302: d803 0301 |002f: add-int/lit8 v3, v3, #int 1 // #01 │ │ -028306: 28f4 |0031: goto 0025 // -000c │ │ -028308: 2200 0001 |0032: new-instance v0, Ljava/io/IOException; // type@0100 │ │ -02830c: 7020 1f05 2000 |0034: invoke-direct {v0, v2}, Ljava/io/IOException;.:(Ljava/lang/String;)V // method@051f │ │ -028312: 2700 |0037: throw v0 │ │ -028314: 2200 0001 |0038: new-instance v0, Ljava/io/IOException; // type@0100 │ │ -028318: 7020 1f05 2000 |003a: invoke-direct {v0, v2}, Ljava/io/IOException;.:(Ljava/lang/String;)V // method@051f │ │ -02831e: 2700 |003d: throw v0 │ │ -028320: 0e00 |003e: return-void │ │ +028290: |[028290] util.PaddingCipherInputStream.initRead:()V │ │ +0282a0: 5560 6203 |0000: iget-boolean v0, v6, Lutil/PaddingCipherInputStream;.init:Z // field@0362 │ │ +0282a4: 3800 0300 |0002: if-eqz v0, 0005 // +0003 │ │ +0282a8: 0e00 |0004: return-void │ │ +0282aa: 1210 |0005: const/4 v0, #int 1 // #1 │ │ +0282ac: 5c60 6203 |0006: iput-boolean v0, v6, Lutil/PaddingCipherInputStream;.init:Z // field@0362 │ │ +0282b0: 5461 6303 |0008: iget-object v1, v6, Lutil/PaddingCipherInputStream;.lowerIn:Ljava/io/DataInputStream; // field@0363 │ │ +0282b4: 6e10 f204 0100 |000a: invoke-virtual {v1}, Ljava/io/DataInputStream;.readInt:()I // method@04f2 │ │ +0282ba: 0a00 |000d: move-result v0 │ │ +0282bc: 2804 |000e: goto 0012 // +0004 │ │ +0282be: 5c60 6103 |000f: iput-boolean v0, v6, Lutil/PaddingCipherInputStream;.eof:Z // field@0361 │ │ +0282c2: 12f0 |0011: const/4 v0, #int -1 // #ff │ │ +0282c4: 5561 6103 |0012: iget-boolean v1, v6, Lutil/PaddingCipherInputStream;.eof:Z // field@0361 │ │ +0282c8: 3901 2a00 |0014: if-nez v1, 003e // +002a │ │ +0282cc: 6201 3203 |0016: sget-object v1, Lutil/Encryption;.ENCR_INIT_BYTES:[B // field@0332 │ │ +0282d0: 2111 |0018: array-length v1, v1 │ │ +0282d2: 1a02 e004 |0019: const-string v2, "Wrong keyphrase!" // string@04e0 │ │ +0282d6: 3310 1d00 |001b: if-ne v0, v1, 0038 // +001d │ │ +0282da: 2301 9d01 |001d: new-array v1, v0, [B // type@019d │ │ +0282de: 5463 6303 |001f: iget-object v3, v6, Lutil/PaddingCipherInputStream;.lowerIn:Ljava/io/DataInputStream; // field@0363 │ │ +0282e2: 6e20 f004 1300 |0021: invoke-virtual {v3, v1}, Ljava/io/DataInputStream;.readFully:([B)V // method@04f0 │ │ +0282e8: 1203 |0024: const/4 v3, #int 0 // #0 │ │ +0282ea: 3503 1900 |0025: if-ge v3, v0, 003e // +0019 │ │ +0282ee: 4804 0103 |0027: aget-byte v4, v1, v3 │ │ +0282f2: 6205 3203 |0029: sget-object v5, Lutil/Encryption;.ENCR_INIT_BYTES:[B // field@0332 │ │ +0282f6: 4805 0503 |002b: aget-byte v5, v5, v3 │ │ +0282fa: 3354 0500 |002d: if-ne v4, v5, 0032 // +0005 │ │ +0282fe: d803 0301 |002f: add-int/lit8 v3, v3, #int 1 // #01 │ │ +028302: 28f4 |0031: goto 0025 // -000c │ │ +028304: 2200 0001 |0032: new-instance v0, Ljava/io/IOException; // type@0100 │ │ +028308: 7020 1f05 2000 |0034: invoke-direct {v0, v2}, Ljava/io/IOException;.:(Ljava/lang/String;)V // method@051f │ │ +02830e: 2700 |0037: throw v0 │ │ +028310: 2200 0001 |0038: new-instance v0, Ljava/io/IOException; // type@0100 │ │ +028314: 7020 1f05 2000 |003a: invoke-direct {v0, v2}, Ljava/io/IOException;.:(Ljava/lang/String;)V // method@051f │ │ +02831a: 2700 |003d: throw v0 │ │ +02831c: 0e00 |003e: return-void │ │ catches : 1 │ │ 0x0008 - 0x000e │ │ Ljava/io/EOFException; -> 0x000f │ │ positions : │ │ 0x0000 line=23 │ │ 0x0006 line=27 │ │ 0x0008 line=31 │ │ @@ -29853,22 +29853,22 @@ │ │ type : '()I' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 11 16-bit code units │ │ -0280cc: |[0280cc] util.PaddingCipherInputStream.available:()I │ │ -0280dc: 5410 6003 |0000: iget-object v0, v1, Lutil/PaddingCipherInputStream;.byteBuf:Ljava/io/ByteArrayInputStream; // field@0360 │ │ -0280e0: 3800 0700 |0002: if-eqz v0, 0009 // +0007 │ │ -0280e4: 6e10 e104 0000 |0004: invoke-virtual {v0}, Ljava/io/ByteArrayInputStream;.available:()I // method@04e1 │ │ -0280ea: 0a00 |0007: move-result v0 │ │ -0280ec: 0f00 |0008: return v0 │ │ -0280ee: 1200 |0009: const/4 v0, #int 0 // #0 │ │ -0280f0: 0f00 |000a: return v0 │ │ +0280c8: |[0280c8] util.PaddingCipherInputStream.available:()I │ │ +0280d8: 5410 6003 |0000: iget-object v0, v1, Lutil/PaddingCipherInputStream;.byteBuf:Ljava/io/ByteArrayInputStream; // field@0360 │ │ +0280dc: 3800 0700 |0002: if-eqz v0, 0009 // +0007 │ │ +0280e0: 6e10 e104 0000 |0004: invoke-virtual {v0}, Ljava/io/ByteArrayInputStream;.available:()I // method@04e1 │ │ +0280e6: 0a00 |0007: move-result v0 │ │ +0280e8: 0f00 |0008: return v0 │ │ +0280ea: 1200 |0009: const/4 v0, #int 0 // #0 │ │ +0280ec: 0f00 |000a: return v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=83 │ │ 0x0004 line=84 │ │ locals : │ │ 0x0000 - 0x000b reg=1 this Lutil/PaddingCipherInputStream; │ │ │ │ @@ -29877,18 +29877,18 @@ │ │ type : '()V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 6 16-bit code units │ │ -028278: |[028278] util.PaddingCipherInputStream.close:()V │ │ -028288: 5410 6303 |0000: iget-object v0, v1, Lutil/PaddingCipherInputStream;.lowerIn:Ljava/io/DataInputStream; // field@0363 │ │ -02828c: 6e10 ef04 0000 |0002: invoke-virtual {v0}, Ljava/io/DataInputStream;.close:()V // method@04ef │ │ -028292: 0e00 |0005: return-void │ │ +028274: |[028274] util.PaddingCipherInputStream.close:()V │ │ +028284: 5410 6303 |0000: iget-object v0, v1, Lutil/PaddingCipherInputStream;.lowerIn:Ljava/io/DataInputStream; // field@0363 │ │ +028288: 6e10 ef04 0000 |0002: invoke-virtual {v0}, Ljava/io/DataInputStream;.close:()V // method@04ef │ │ +02828e: 0e00 |0005: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=119 │ │ locals : │ │ 0x0000 - 0x0006 reg=1 this Lutil/PaddingCipherInputStream; │ │ │ │ #2 : (in Lutil/PaddingCipherInputStream;) │ │ @@ -29896,36 +29896,36 @@ │ │ type : '()I' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 3 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 39 16-bit code units │ │ -0280f4: |[0280f4] util.PaddingCipherInputStream.read:()I │ │ -028104: 5520 6203 |0000: iget-boolean v0, v2, Lutil/PaddingCipherInputStream;.init:Z // field@0362 │ │ -028108: 3900 0500 |0002: if-nez v0, 0007 // +0005 │ │ -02810c: 7010 5b07 0200 |0004: invoke-direct {v2}, Lutil/PaddingCipherInputStream;.initRead:()V // method@075b │ │ -028112: 5520 6103 |0007: iget-boolean v0, v2, Lutil/PaddingCipherInputStream;.eof:Z // field@0361 │ │ -028116: 12f1 |0009: const/4 v1, #int -1 // #ff │ │ -028118: 3800 0300 |000a: if-eqz v0, 000d // +0003 │ │ -02811c: 0f01 |000c: return v1 │ │ -02811e: 5420 6003 |000d: iget-object v0, v2, Lutil/PaddingCipherInputStream;.byteBuf:Ljava/io/ByteArrayInputStream; // field@0360 │ │ -028122: 3800 0800 |000f: if-eqz v0, 0017 // +0008 │ │ -028126: 6e10 e104 0000 |0011: invoke-virtual {v0}, Ljava/io/ByteArrayInputStream;.available:()I // method@04e1 │ │ -02812c: 0a00 |0014: move-result v0 │ │ -02812e: 3900 0b00 |0015: if-nez v0, 0020 // +000b │ │ -028132: 7010 5a07 0200 |0017: invoke-direct {v2}, Lutil/PaddingCipherInputStream;.getNewBytes:()Ljava/io/ByteArrayInputStream; // method@075a │ │ -028138: 0c00 |001a: move-result-object v0 │ │ -02813a: 5b20 6003 |001b: iput-object v0, v2, Lutil/PaddingCipherInputStream;.byteBuf:Ljava/io/ByteArrayInputStream; // field@0360 │ │ -02813e: 3900 0300 |001d: if-nez v0, 0020 // +0003 │ │ -028142: 0f01 |001f: return v1 │ │ -028144: 5420 6003 |0020: iget-object v0, v2, Lutil/PaddingCipherInputStream;.byteBuf:Ljava/io/ByteArrayInputStream; // field@0360 │ │ -028148: 6e10 e204 0000 |0022: invoke-virtual {v0}, Ljava/io/ByteArrayInputStream;.read:()I // method@04e2 │ │ -02814e: 0a00 |0025: move-result v0 │ │ -028150: 0f00 |0026: return v0 │ │ +0280f0: |[0280f0] util.PaddingCipherInputStream.read:()I │ │ +028100: 5520 6203 |0000: iget-boolean v0, v2, Lutil/PaddingCipherInputStream;.init:Z // field@0362 │ │ +028104: 3900 0500 |0002: if-nez v0, 0007 // +0005 │ │ +028108: 7010 5b07 0200 |0004: invoke-direct {v2}, Lutil/PaddingCipherInputStream;.initRead:()V // method@075b │ │ +02810e: 5520 6103 |0007: iget-boolean v0, v2, Lutil/PaddingCipherInputStream;.eof:Z // field@0361 │ │ +028112: 12f1 |0009: const/4 v1, #int -1 // #ff │ │ +028114: 3800 0300 |000a: if-eqz v0, 000d // +0003 │ │ +028118: 0f01 |000c: return v1 │ │ +02811a: 5420 6003 |000d: iget-object v0, v2, Lutil/PaddingCipherInputStream;.byteBuf:Ljava/io/ByteArrayInputStream; // field@0360 │ │ +02811e: 3800 0800 |000f: if-eqz v0, 0017 // +0008 │ │ +028122: 6e10 e104 0000 |0011: invoke-virtual {v0}, Ljava/io/ByteArrayInputStream;.available:()I // method@04e1 │ │ +028128: 0a00 |0014: move-result v0 │ │ +02812a: 3900 0b00 |0015: if-nez v0, 0020 // +000b │ │ +02812e: 7010 5a07 0200 |0017: invoke-direct {v2}, Lutil/PaddingCipherInputStream;.getNewBytes:()Ljava/io/ByteArrayInputStream; // method@075a │ │ +028134: 0c00 |001a: move-result-object v0 │ │ +028136: 5b20 6003 |001b: iput-object v0, v2, Lutil/PaddingCipherInputStream;.byteBuf:Ljava/io/ByteArrayInputStream; // field@0360 │ │ +02813a: 3900 0300 |001d: if-nez v0, 0020 // +0003 │ │ +02813e: 0f01 |001f: return v1 │ │ +028140: 5420 6003 |0020: iget-object v0, v2, Lutil/PaddingCipherInputStream;.byteBuf:Ljava/io/ByteArrayInputStream; // field@0360 │ │ +028144: 6e10 e204 0000 |0022: invoke-virtual {v0}, Ljava/io/ByteArrayInputStream;.read:()I // method@04e2 │ │ +02814a: 0a00 |0025: move-result v0 │ │ +02814c: 0f00 |0026: return v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=50 │ │ 0x0004 line=51 │ │ 0x0007 line=52 │ │ 0x000d line=54 │ │ 0x0017 line=55 │ │ @@ -29938,38 +29938,38 @@ │ │ type : '([BII)I' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 7 │ │ ins : 4 │ │ outs : 4 │ │ insns size : 42 16-bit code units │ │ -028154: |[028154] util.PaddingCipherInputStream.read:([BII)I │ │ -028164: 5530 6203 |0000: iget-boolean v0, v3, Lutil/PaddingCipherInputStream;.init:Z // field@0362 │ │ -028168: 3900 0500 |0002: if-nez v0, 0007 // +0005 │ │ -02816c: 7010 5b07 0300 |0004: invoke-direct {v3}, Lutil/PaddingCipherInputStream;.initRead:()V // method@075b │ │ -028172: 6e10 5807 0300 |0007: invoke-virtual {v3}, Lutil/PaddingCipherInputStream;.available:()I // method@0758 │ │ -028178: 0a00 |000a: move-result v0 │ │ -02817a: 3800 0900 |000b: if-eqz v0, 0014 // +0009 │ │ -02817e: 5430 6003 |000d: iget-object v0, v3, Lutil/PaddingCipherInputStream;.byteBuf:Ljava/io/ByteArrayInputStream; // field@0360 │ │ -028182: 6e40 e304 4065 |000f: invoke-virtual {v0, v4, v5, v6}, Ljava/io/ByteArrayInputStream;.read:([BII)I // method@04e3 │ │ -028188: 0a04 |0012: move-result v4 │ │ -02818a: 0f04 |0013: return v4 │ │ -02818c: 5530 6103 |0014: iget-boolean v0, v3, Lutil/PaddingCipherInputStream;.eof:Z // field@0361 │ │ -028190: 12f1 |0016: const/4 v1, #int -1 // #ff │ │ -028192: 3800 0300 |0017: if-eqz v0, 001a // +0003 │ │ -028196: 0f01 |0019: return v1 │ │ -028198: 7010 5a07 0300 |001a: invoke-direct {v3}, Lutil/PaddingCipherInputStream;.getNewBytes:()Ljava/io/ByteArrayInputStream; // method@075a │ │ -02819e: 0c00 |001d: move-result-object v0 │ │ -0281a0: 5b30 6003 |001e: iput-object v0, v3, Lutil/PaddingCipherInputStream;.byteBuf:Ljava/io/ByteArrayInputStream; // field@0360 │ │ -0281a4: 5532 6103 |0020: iget-boolean v2, v3, Lutil/PaddingCipherInputStream;.eof:Z // field@0361 │ │ -0281a8: 3802 0300 |0022: if-eqz v2, 0025 // +0003 │ │ -0281ac: 0f01 |0024: return v1 │ │ -0281ae: 6e40 e304 4065 |0025: invoke-virtual {v0, v4, v5, v6}, Ljava/io/ByteArrayInputStream;.read:([BII)I // method@04e3 │ │ -0281b4: 0a04 |0028: move-result v4 │ │ -0281b6: 0f04 |0029: return v4 │ │ +028150: |[028150] util.PaddingCipherInputStream.read:([BII)I │ │ +028160: 5530 6203 |0000: iget-boolean v0, v3, Lutil/PaddingCipherInputStream;.init:Z // field@0362 │ │ +028164: 3900 0500 |0002: if-nez v0, 0007 // +0005 │ │ +028168: 7010 5b07 0300 |0004: invoke-direct {v3}, Lutil/PaddingCipherInputStream;.initRead:()V // method@075b │ │ +02816e: 6e10 5807 0300 |0007: invoke-virtual {v3}, Lutil/PaddingCipherInputStream;.available:()I // method@0758 │ │ +028174: 0a00 |000a: move-result v0 │ │ +028176: 3800 0900 |000b: if-eqz v0, 0014 // +0009 │ │ +02817a: 5430 6003 |000d: iget-object v0, v3, Lutil/PaddingCipherInputStream;.byteBuf:Ljava/io/ByteArrayInputStream; // field@0360 │ │ +02817e: 6e40 e304 4065 |000f: invoke-virtual {v0, v4, v5, v6}, Ljava/io/ByteArrayInputStream;.read:([BII)I // method@04e3 │ │ +028184: 0a04 |0012: move-result v4 │ │ +028186: 0f04 |0013: return v4 │ │ +028188: 5530 6103 |0014: iget-boolean v0, v3, Lutil/PaddingCipherInputStream;.eof:Z // field@0361 │ │ +02818c: 12f1 |0016: const/4 v1, #int -1 // #ff │ │ +02818e: 3800 0300 |0017: if-eqz v0, 001a // +0003 │ │ +028192: 0f01 |0019: return v1 │ │ +028194: 7010 5a07 0300 |001a: invoke-direct {v3}, Lutil/PaddingCipherInputStream;.getNewBytes:()Ljava/io/ByteArrayInputStream; // method@075a │ │ +02819a: 0c00 |001d: move-result-object v0 │ │ +02819c: 5b30 6003 |001e: iput-object v0, v3, Lutil/PaddingCipherInputStream;.byteBuf:Ljava/io/ByteArrayInputStream; // field@0360 │ │ +0281a0: 5532 6103 |0020: iget-boolean v2, v3, Lutil/PaddingCipherInputStream;.eof:Z // field@0361 │ │ +0281a4: 3802 0300 |0022: if-eqz v2, 0025 // +0003 │ │ +0281a8: 0f01 |0024: return v1 │ │ +0281aa: 6e40 e304 4065 |0025: invoke-virtual {v0, v4, v5, v6}, Ljava/io/ByteArrayInputStream;.read:([BII)I // method@04e3 │ │ +0281b0: 0a04 |0028: move-result v4 │ │ +0281b2: 0f04 |0029: return v4 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=65 │ │ 0x0004 line=66 │ │ 0x0007 line=67 │ │ 0x000d line=68 │ │ 0x0014 line=69 │ │ @@ -30041,23 +30041,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 │ │ -028334: |[028334] util.PaddingCipherOutputStream.:(Ljava/io/OutputStream;I)V │ │ -028344: 7010 3205 0000 |0000: invoke-direct {v0}, Ljava/io/OutputStream;.:()V // method@0532 │ │ -02834a: 5902 6403 |0003: iput v2, v0, Lutil/PaddingCipherOutputStream;.bufSize:I // field@0364 │ │ -02834e: 5b01 6703 |0005: iput-object v1, v0, Lutil/PaddingCipherOutputStream;.underlying:Ljava/io/OutputStream; // field@0367 │ │ -028352: 2201 f700 |0007: new-instance v1, Ljava/io/ByteArrayOutputStream; // type@00f7 │ │ -028356: 1302 0004 |0009: const/16 v2, #int 1024 // #400 │ │ -02835a: 7020 e504 2100 |000b: invoke-direct {v1, v2}, Ljava/io/ByteArrayOutputStream;.:(I)V // method@04e5 │ │ -028360: 5b01 6503 |000e: iput-object v1, v0, Lutil/PaddingCipherOutputStream;.bytesBuffer:Ljava/io/ByteArrayOutputStream; // field@0365 │ │ -028364: 0e00 |0010: return-void │ │ +028330: |[028330] util.PaddingCipherOutputStream.:(Ljava/io/OutputStream;I)V │ │ +028340: 7010 3205 0000 |0000: invoke-direct {v0}, Ljava/io/OutputStream;.:()V // method@0532 │ │ +028346: 5902 6403 |0003: iput v2, v0, Lutil/PaddingCipherOutputStream;.bufSize:I // field@0364 │ │ +02834a: 5b01 6703 |0005: iput-object v1, v0, Lutil/PaddingCipherOutputStream;.underlying:Ljava/io/OutputStream; // field@0367 │ │ +02834e: 2201 f700 |0007: new-instance v1, Ljava/io/ByteArrayOutputStream; // type@00f7 │ │ +028352: 1302 0004 |0009: const/16 v2, #int 1024 // #400 │ │ +028356: 7020 e504 2100 |000b: invoke-direct {v1, v2}, Ljava/io/ByteArrayOutputStream;.:(I)V // method@04e5 │ │ +02835c: 5b01 6503 |000e: iput-object v1, v0, Lutil/PaddingCipherOutputStream;.bytesBuffer:Ljava/io/ByteArrayOutputStream; // field@0365 │ │ +028360: 0e00 |0010: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=16 │ │ 0x0003 line=17 │ │ 0x0005 line=18 │ │ 0x0007 line=19 │ │ locals : │ │ @@ -30070,29 +30070,29 @@ │ │ type : '()V' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 3 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 28 16-bit code units │ │ -0283c4: |[0283c4] util.PaddingCipherOutputStream.init:()V │ │ -0283d4: 5420 6603 |0000: iget-object v0, v2, Lutil/PaddingCipherOutputStream;.lowerOut:Ljava/io/DataOutputStream; // field@0366 │ │ -0283d8: 3800 0300 |0002: if-eqz v0, 0005 // +0003 │ │ -0283dc: 0e00 |0004: return-void │ │ -0283de: 2200 f900 |0005: new-instance v0, Ljava/io/DataOutputStream; // type@00f9 │ │ -0283e2: 5421 6703 |0007: iget-object v1, v2, Lutil/PaddingCipherOutputStream;.underlying:Ljava/io/OutputStream; // field@0367 │ │ -0283e6: 7020 f504 1000 |0009: invoke-direct {v0, v1}, Ljava/io/DataOutputStream;.:(Ljava/io/OutputStream;)V // method@04f5 │ │ -0283ec: 5b20 6603 |000c: iput-object v0, v2, Lutil/PaddingCipherOutputStream;.lowerOut:Ljava/io/DataOutputStream; // field@0366 │ │ -0283f0: 6201 3203 |000e: sget-object v1, Lutil/Encryption;.ENCR_INIT_BYTES:[B // field@0332 │ │ -0283f4: 2111 |0010: array-length v1, v1 │ │ -0283f6: 6e20 fb04 1000 |0011: invoke-virtual {v0, v1}, Ljava/io/DataOutputStream;.writeInt:(I)V // method@04fb │ │ -0283fc: 5420 6603 |0014: iget-object v0, v2, Lutil/PaddingCipherOutputStream;.lowerOut:Ljava/io/DataOutputStream; // field@0366 │ │ -028400: 6201 3203 |0016: sget-object v1, Lutil/Encryption;.ENCR_INIT_BYTES:[B // field@0332 │ │ -028404: 6e20 f804 1000 |0018: invoke-virtual {v0, v1}, Ljava/io/DataOutputStream;.write:([B)V // method@04f8 │ │ -02840a: 0e00 |001b: return-void │ │ +0283c0: |[0283c0] util.PaddingCipherOutputStream.init:()V │ │ +0283d0: 5420 6603 |0000: iget-object v0, v2, Lutil/PaddingCipherOutputStream;.lowerOut:Ljava/io/DataOutputStream; // field@0366 │ │ +0283d4: 3800 0300 |0002: if-eqz v0, 0005 // +0003 │ │ +0283d8: 0e00 |0004: return-void │ │ +0283da: 2200 f900 |0005: new-instance v0, Ljava/io/DataOutputStream; // type@00f9 │ │ +0283de: 5421 6703 |0007: iget-object v1, v2, Lutil/PaddingCipherOutputStream;.underlying:Ljava/io/OutputStream; // field@0367 │ │ +0283e2: 7020 f504 1000 |0009: invoke-direct {v0, v1}, Ljava/io/DataOutputStream;.:(Ljava/io/OutputStream;)V // method@04f5 │ │ +0283e8: 5b20 6603 |000c: iput-object v0, v2, Lutil/PaddingCipherOutputStream;.lowerOut:Ljava/io/DataOutputStream; // field@0366 │ │ +0283ec: 6201 3203 |000e: sget-object v1, Lutil/Encryption;.ENCR_INIT_BYTES:[B // field@0332 │ │ +0283f0: 2111 |0010: array-length v1, v1 │ │ +0283f2: 6e20 fb04 1000 |0011: invoke-virtual {v0, v1}, Ljava/io/DataOutputStream;.writeInt:(I)V // method@04fb │ │ +0283f8: 5420 6603 |0014: iget-object v0, v2, Lutil/PaddingCipherOutputStream;.lowerOut:Ljava/io/DataOutputStream; // field@0366 │ │ +0283fc: 6201 3203 |0016: sget-object v1, Lutil/Encryption;.ENCR_INIT_BYTES:[B // field@0332 │ │ +028400: 6e20 f804 1000 |0018: invoke-virtual {v0, v1}, Ljava/io/DataOutputStream;.write:([B)V // method@04f8 │ │ +028406: 0e00 |001b: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=23 │ │ 0x0005 line=26 │ │ 0x000e line=27 │ │ 0x0014 line=28 │ │ locals : │ │ @@ -30104,22 +30104,22 @@ │ │ type : '()V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 17 16-bit code units │ │ -028368: |[028368] util.PaddingCipherOutputStream.close:()V │ │ -028378: 7010 6107 0100 |0000: invoke-direct {v1}, Lutil/PaddingCipherOutputStream;.init:()V // method@0761 │ │ -02837e: 6e10 6507 0100 |0003: invoke-virtual {v1}, Lutil/PaddingCipherOutputStream;.writeNext:()V // method@0765 │ │ -028384: 5410 6603 |0006: iget-object v0, v1, Lutil/PaddingCipherOutputStream;.lowerOut:Ljava/io/DataOutputStream; // field@0366 │ │ -028388: 6e10 f704 0000 |0008: invoke-virtual {v0}, Ljava/io/DataOutputStream;.flush:()V // method@04f7 │ │ -02838e: 5410 6603 |000b: iget-object v0, v1, Lutil/PaddingCipherOutputStream;.lowerOut:Ljava/io/DataOutputStream; // field@0366 │ │ -028392: 6e10 f604 0000 |000d: invoke-virtual {v0}, Ljava/io/DataOutputStream;.close:()V // method@04f6 │ │ -028398: 0e00 |0010: return-void │ │ +028364: |[028364] util.PaddingCipherOutputStream.close:()V │ │ +028374: 7010 6107 0100 |0000: invoke-direct {v1}, Lutil/PaddingCipherOutputStream;.init:()V // method@0761 │ │ +02837a: 6e10 6507 0100 |0003: invoke-virtual {v1}, Lutil/PaddingCipherOutputStream;.writeNext:()V // method@0765 │ │ +028380: 5410 6603 |0006: iget-object v0, v1, Lutil/PaddingCipherOutputStream;.lowerOut:Ljava/io/DataOutputStream; // field@0366 │ │ +028384: 6e10 f704 0000 |0008: invoke-virtual {v0}, Ljava/io/DataOutputStream;.flush:()V // method@04f7 │ │ +02838a: 5410 6603 |000b: iget-object v0, v1, Lutil/PaddingCipherOutputStream;.lowerOut:Ljava/io/DataOutputStream; // field@0366 │ │ +02838e: 6e10 f604 0000 |000d: invoke-virtual {v0}, Ljava/io/DataOutputStream;.close:()V // method@04f6 │ │ +028394: 0e00 |0010: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=82 │ │ 0x0003 line=83 │ │ 0x0006 line=85 │ │ 0x000b line=86 │ │ locals : │ │ @@ -30130,20 +30130,20 @@ │ │ type : '()V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 12 16-bit code units │ │ -02839c: |[02839c] util.PaddingCipherOutputStream.flush:()V │ │ -0283ac: 7010 6107 0100 |0000: invoke-direct {v1}, Lutil/PaddingCipherOutputStream;.init:()V // method@0761 │ │ -0283b2: 6e10 6507 0100 |0003: invoke-virtual {v1}, Lutil/PaddingCipherOutputStream;.writeNext:()V // method@0765 │ │ -0283b8: 5410 6603 |0006: iget-object v0, v1, Lutil/PaddingCipherOutputStream;.lowerOut:Ljava/io/DataOutputStream; // field@0366 │ │ -0283bc: 6e10 f704 0000 |0008: invoke-virtual {v0}, Ljava/io/DataOutputStream;.flush:()V // method@04f7 │ │ -0283c2: 0e00 |000b: return-void │ │ +028398: |[028398] util.PaddingCipherOutputStream.flush:()V │ │ +0283a8: 7010 6107 0100 |0000: invoke-direct {v1}, Lutil/PaddingCipherOutputStream;.init:()V // method@0761 │ │ +0283ae: 6e10 6507 0100 |0003: invoke-virtual {v1}, Lutil/PaddingCipherOutputStream;.writeNext:()V // method@0765 │ │ +0283b4: 5410 6603 |0006: iget-object v0, v1, Lutil/PaddingCipherOutputStream;.lowerOut:Ljava/io/DataOutputStream; // field@0366 │ │ +0283b8: 6e10 f704 0000 |0008: invoke-virtual {v0}, Ljava/io/DataOutputStream;.flush:()V // method@04f7 │ │ +0283be: 0e00 |000b: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=57 │ │ 0x0003 line=58 │ │ 0x0006 line=59 │ │ locals : │ │ 0x0000 - 0x000c reg=1 this Lutil/PaddingCipherOutputStream; │ │ @@ -30153,27 +30153,27 @@ │ │ type : '(I)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 3 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 27 16-bit code units │ │ -028470: |[028470] util.PaddingCipherOutputStream.write:(I)V │ │ -028480: 7010 6107 0100 |0000: invoke-direct {v1}, Lutil/PaddingCipherOutputStream;.init:()V // method@0761 │ │ -028486: 5410 6503 |0003: iget-object v0, v1, Lutil/PaddingCipherOutputStream;.bytesBuffer:Ljava/io/ByteArrayOutputStream; // field@0365 │ │ -02848a: 6e20 eb04 2000 |0005: invoke-virtual {v0, v2}, Ljava/io/ByteArrayOutputStream;.write:(I)V // method@04eb │ │ -028490: 5412 6503 |0008: iget-object v2, v1, Lutil/PaddingCipherOutputStream;.bytesBuffer:Ljava/io/ByteArrayOutputStream; // field@0365 │ │ -028494: 6e10 e704 0200 |000a: invoke-virtual {v2}, Ljava/io/ByteArrayOutputStream;.flush:()V // method@04e7 │ │ -02849a: 5412 6503 |000d: iget-object v2, v1, Lutil/PaddingCipherOutputStream;.bytesBuffer:Ljava/io/ByteArrayOutputStream; // field@0365 │ │ -02849e: 6e10 e904 0200 |000f: invoke-virtual {v2}, Ljava/io/ByteArrayOutputStream;.size:()I // method@04e9 │ │ -0284a4: 0a02 |0012: move-result v2 │ │ -0284a6: 5210 6403 |0013: iget v0, v1, Lutil/PaddingCipherOutputStream;.bufSize:I // field@0364 │ │ -0284aa: 3402 0500 |0015: if-lt v2, v0, 001a // +0005 │ │ -0284ae: 6e10 6507 0100 |0017: invoke-virtual {v1}, Lutil/PaddingCipherOutputStream;.writeNext:()V // method@0765 │ │ -0284b4: 0e00 |001a: return-void │ │ +02846c: |[02846c] util.PaddingCipherOutputStream.write:(I)V │ │ +02847c: 7010 6107 0100 |0000: invoke-direct {v1}, Lutil/PaddingCipherOutputStream;.init:()V // method@0761 │ │ +028482: 5410 6503 |0003: iget-object v0, v1, Lutil/PaddingCipherOutputStream;.bytesBuffer:Ljava/io/ByteArrayOutputStream; // field@0365 │ │ +028486: 6e20 eb04 2000 |0005: invoke-virtual {v0, v2}, Ljava/io/ByteArrayOutputStream;.write:(I)V // method@04eb │ │ +02848c: 5412 6503 |0008: iget-object v2, v1, Lutil/PaddingCipherOutputStream;.bytesBuffer:Ljava/io/ByteArrayOutputStream; // field@0365 │ │ +028490: 6e10 e704 0200 |000a: invoke-virtual {v2}, Ljava/io/ByteArrayOutputStream;.flush:()V // method@04e7 │ │ +028496: 5412 6503 |000d: iget-object v2, v1, Lutil/PaddingCipherOutputStream;.bytesBuffer:Ljava/io/ByteArrayOutputStream; // field@0365 │ │ +02849a: 6e10 e904 0200 |000f: invoke-virtual {v2}, Ljava/io/ByteArrayOutputStream;.size:()I // method@04e9 │ │ +0284a0: 0a02 |0012: move-result v2 │ │ +0284a2: 5210 6403 |0013: iget v0, v1, Lutil/PaddingCipherOutputStream;.bufSize:I // field@0364 │ │ +0284a6: 3402 0500 |0015: if-lt v2, v0, 001a // +0005 │ │ +0284aa: 6e10 6507 0100 |0017: invoke-virtual {v1}, Lutil/PaddingCipherOutputStream;.writeNext:()V // method@0765 │ │ +0284b0: 0e00 |001a: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=34 │ │ 0x0003 line=35 │ │ 0x0008 line=36 │ │ 0x000d line=37 │ │ 0x0017 line=38 │ │ @@ -30186,19 +30186,19 @@ │ │ type : '([B)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 4 │ │ ins : 2 │ │ outs : 4 │ │ insns size : 6 16-bit code units │ │ -02840c: |[02840c] util.PaddingCipherOutputStream.write:([B)V │ │ -02841c: 1200 |0000: const/4 v0, #int 0 // #0 │ │ -02841e: 2131 |0001: array-length v1, v3 │ │ -028420: 6e40 6407 3210 |0002: invoke-virtual {v2, v3, v0, v1}, Lutil/PaddingCipherOutputStream;.write:([BII)V // method@0764 │ │ -028426: 0e00 |0005: return-void │ │ +028408: |[028408] util.PaddingCipherOutputStream.write:([B)V │ │ +028418: 1200 |0000: const/4 v0, #int 0 // #0 │ │ +02841a: 2131 |0001: array-length v1, v3 │ │ +02841c: 6e40 6407 3210 |0002: invoke-virtual {v2, v3, v0, v1}, Lutil/PaddingCipherOutputStream;.write:([BII)V // method@0764 │ │ +028422: 0e00 |0005: return-void │ │ catches : (none) │ │ positions : │ │ 0x0001 line=52 │ │ locals : │ │ 0x0000 - 0x0006 reg=2 this Lutil/PaddingCipherOutputStream; │ │ 0x0000 - 0x0006 reg=3 (null) [B │ │ │ │ @@ -30207,27 +30207,27 @@ │ │ type : '([BII)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 5 │ │ ins : 4 │ │ outs : 4 │ │ insns size : 27 16-bit code units │ │ -028428: |[028428] util.PaddingCipherOutputStream.write:([BII)V │ │ -028438: 7010 6107 0100 |0000: invoke-direct {v1}, Lutil/PaddingCipherOutputStream;.init:()V // method@0761 │ │ -02843e: 5410 6503 |0003: iget-object v0, v1, Lutil/PaddingCipherOutputStream;.bytesBuffer:Ljava/io/ByteArrayOutputStream; // field@0365 │ │ -028442: 6e40 ed04 2043 |0005: invoke-virtual {v0, v2, v3, v4}, Ljava/io/ByteArrayOutputStream;.write:([BII)V // method@04ed │ │ -028448: 5412 6503 |0008: iget-object v2, v1, Lutil/PaddingCipherOutputStream;.bytesBuffer:Ljava/io/ByteArrayOutputStream; // field@0365 │ │ -02844c: 6e10 e704 0200 |000a: invoke-virtual {v2}, Ljava/io/ByteArrayOutputStream;.flush:()V // method@04e7 │ │ -028452: 5412 6503 |000d: iget-object v2, v1, Lutil/PaddingCipherOutputStream;.bytesBuffer:Ljava/io/ByteArrayOutputStream; // field@0365 │ │ -028456: 6e10 e904 0200 |000f: invoke-virtual {v2}, Ljava/io/ByteArrayOutputStream;.size:()I // method@04e9 │ │ -02845c: 0a02 |0012: move-result v2 │ │ -02845e: 5213 6403 |0013: iget v3, v1, Lutil/PaddingCipherOutputStream;.bufSize:I // field@0364 │ │ -028462: 3432 0500 |0015: if-lt v2, v3, 001a // +0005 │ │ -028466: 6e10 6507 0100 |0017: invoke-virtual {v1}, Lutil/PaddingCipherOutputStream;.writeNext:()V // method@0765 │ │ -02846c: 0e00 |001a: return-void │ │ +028424: |[028424] util.PaddingCipherOutputStream.write:([BII)V │ │ +028434: 7010 6107 0100 |0000: invoke-direct {v1}, Lutil/PaddingCipherOutputStream;.init:()V // method@0761 │ │ +02843a: 5410 6503 |0003: iget-object v0, v1, Lutil/PaddingCipherOutputStream;.bytesBuffer:Ljava/io/ByteArrayOutputStream; // field@0365 │ │ +02843e: 6e40 ed04 2043 |0005: invoke-virtual {v0, v2, v3, v4}, Ljava/io/ByteArrayOutputStream;.write:([BII)V // method@04ed │ │ +028444: 5412 6503 |0008: iget-object v2, v1, Lutil/PaddingCipherOutputStream;.bytesBuffer:Ljava/io/ByteArrayOutputStream; // field@0365 │ │ +028448: 6e10 e704 0200 |000a: invoke-virtual {v2}, Ljava/io/ByteArrayOutputStream;.flush:()V // method@04e7 │ │ +02844e: 5412 6503 |000d: iget-object v2, v1, Lutil/PaddingCipherOutputStream;.bytesBuffer:Ljava/io/ByteArrayOutputStream; // field@0365 │ │ +028452: 6e10 e904 0200 |000f: invoke-virtual {v2}, Ljava/io/ByteArrayOutputStream;.size:()I // method@04e9 │ │ +028458: 0a02 |0012: move-result v2 │ │ +02845a: 5213 6403 |0013: iget v3, v1, Lutil/PaddingCipherOutputStream;.bufSize:I // field@0364 │ │ +02845e: 3432 0500 |0015: if-lt v2, v3, 001a // +0005 │ │ +028462: 6e10 6507 0100 |0017: invoke-virtual {v1}, Lutil/PaddingCipherOutputStream;.writeNext:()V // method@0765 │ │ +028468: 0e00 |001a: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=43 │ │ 0x0003 line=44 │ │ 0x0008 line=45 │ │ 0x000d line=46 │ │ 0x0017 line=47 │ │ @@ -30242,43 +30242,43 @@ │ │ type : '()V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 4 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 54 16-bit code units │ │ -0284b8: |[0284b8] util.PaddingCipherOutputStream.writeNext:()V │ │ -0284c8: 5430 6503 |0000: iget-object v0, v3, Lutil/PaddingCipherOutputStream;.bytesBuffer:Ljava/io/ByteArrayOutputStream; // field@0365 │ │ -0284cc: 6e10 e704 0000 |0002: invoke-virtual {v0}, Ljava/io/ByteArrayOutputStream;.flush:()V // method@04e7 │ │ -0284d2: 5430 6503 |0005: iget-object v0, v3, Lutil/PaddingCipherOutputStream;.bytesBuffer:Ljava/io/ByteArrayOutputStream; // field@0365 │ │ -0284d6: 6e10 e904 0000 |0007: invoke-virtual {v0}, Ljava/io/ByteArrayOutputStream;.size:()I // method@04e9 │ │ -0284dc: 0a00 |000a: move-result v0 │ │ -0284de: 3900 0300 |000b: if-nez v0, 000e // +0003 │ │ -0284e2: 0e00 |000d: return-void │ │ -0284e4: 5430 6503 |000e: iget-object v0, v3, Lutil/PaddingCipherOutputStream;.bytesBuffer:Ljava/io/ByteArrayOutputStream; // field@0365 │ │ -0284e8: 6e10 ea04 0000 |0010: invoke-virtual {v0}, Ljava/io/ByteArrayOutputStream;.toByteArray:()[B // method@04ea │ │ -0284ee: 0c00 |0013: move-result-object v0 │ │ -0284f0: 5431 6503 |0014: iget-object v1, v3, Lutil/PaddingCipherOutputStream;.bytesBuffer:Ljava/io/ByteArrayOutputStream; // field@0365 │ │ -0284f4: 6e10 e804 0100 |0016: invoke-virtual {v1}, Ljava/io/ByteArrayOutputStream;.reset:()V // method@04e8 │ │ -0284fa: 7110 c906 0000 |0019: invoke-static {v0}, Lutil/Encryption;.encrypt:([B)[B // method@06c9 │ │ -028500: 0c00 |001c: move-result-object v0 │ │ -028502: 5431 6603 |001d: iget-object v1, v3, Lutil/PaddingCipherOutputStream;.lowerOut:Ljava/io/DataOutputStream; // field@0366 │ │ -028506: 2102 |001f: array-length v2, v0 │ │ -028508: 6e20 fb04 2100 |0020: invoke-virtual {v1, v2}, Ljava/io/DataOutputStream;.writeInt:(I)V // method@04fb │ │ -02850e: 5431 6603 |0023: iget-object v1, v3, Lutil/PaddingCipherOutputStream;.lowerOut:Ljava/io/DataOutputStream; // field@0366 │ │ -028512: 6e20 f804 0100 |0025: invoke-virtual {v1, v0}, Ljava/io/DataOutputStream;.write:([B)V // method@04f8 │ │ -028518: 0e00 |0028: return-void │ │ -02851a: 0d00 |0029: move-exception v0 │ │ -02851c: 2201 0001 |002a: new-instance v1, Ljava/io/IOException; // type@0100 │ │ -028520: 6e10 5b05 0000 |002c: invoke-virtual {v0}, Ljava/lang/Exception;.getMessage:()Ljava/lang/String; // method@055b │ │ -028526: 0c00 |002f: move-result-object v0 │ │ -028528: 7020 1f05 0100 |0030: invoke-direct {v1, v0}, Ljava/io/IOException;.:(Ljava/lang/String;)V // method@051f │ │ -02852e: 2701 |0033: throw v1 │ │ -028530: 0d00 |0034: move-exception v0 │ │ -028532: 2700 |0035: throw v0 │ │ +0284b4: |[0284b4] util.PaddingCipherOutputStream.writeNext:()V │ │ +0284c4: 5430 6503 |0000: iget-object v0, v3, Lutil/PaddingCipherOutputStream;.bytesBuffer:Ljava/io/ByteArrayOutputStream; // field@0365 │ │ +0284c8: 6e10 e704 0000 |0002: invoke-virtual {v0}, Ljava/io/ByteArrayOutputStream;.flush:()V // method@04e7 │ │ +0284ce: 5430 6503 |0005: iget-object v0, v3, Lutil/PaddingCipherOutputStream;.bytesBuffer:Ljava/io/ByteArrayOutputStream; // field@0365 │ │ +0284d2: 6e10 e904 0000 |0007: invoke-virtual {v0}, Ljava/io/ByteArrayOutputStream;.size:()I // method@04e9 │ │ +0284d8: 0a00 |000a: move-result v0 │ │ +0284da: 3900 0300 |000b: if-nez v0, 000e // +0003 │ │ +0284de: 0e00 |000d: return-void │ │ +0284e0: 5430 6503 |000e: iget-object v0, v3, Lutil/PaddingCipherOutputStream;.bytesBuffer:Ljava/io/ByteArrayOutputStream; // field@0365 │ │ +0284e4: 6e10 ea04 0000 |0010: invoke-virtual {v0}, Ljava/io/ByteArrayOutputStream;.toByteArray:()[B // method@04ea │ │ +0284ea: 0c00 |0013: move-result-object v0 │ │ +0284ec: 5431 6503 |0014: iget-object v1, v3, Lutil/PaddingCipherOutputStream;.bytesBuffer:Ljava/io/ByteArrayOutputStream; // field@0365 │ │ +0284f0: 6e10 e804 0100 |0016: invoke-virtual {v1}, Ljava/io/ByteArrayOutputStream;.reset:()V // method@04e8 │ │ +0284f6: 7110 c906 0000 |0019: invoke-static {v0}, Lutil/Encryption;.encrypt:([B)[B // method@06c9 │ │ +0284fc: 0c00 |001c: move-result-object v0 │ │ +0284fe: 5431 6603 |001d: iget-object v1, v3, Lutil/PaddingCipherOutputStream;.lowerOut:Ljava/io/DataOutputStream; // field@0366 │ │ +028502: 2102 |001f: array-length v2, v0 │ │ +028504: 6e20 fb04 2100 |0020: invoke-virtual {v1, v2}, Ljava/io/DataOutputStream;.writeInt:(I)V // method@04fb │ │ +02850a: 5431 6603 |0023: iget-object v1, v3, Lutil/PaddingCipherOutputStream;.lowerOut:Ljava/io/DataOutputStream; // field@0366 │ │ +02850e: 6e20 f804 0100 |0025: invoke-virtual {v1, v0}, Ljava/io/DataOutputStream;.write:([B)V // method@04f8 │ │ +028514: 0e00 |0028: return-void │ │ +028516: 0d00 |0029: move-exception v0 │ │ +028518: 2201 0001 |002a: new-instance v1, Ljava/io/IOException; // type@0100 │ │ +02851c: 6e10 5b05 0000 |002c: invoke-virtual {v0}, Ljava/lang/Exception;.getMessage:()Ljava/lang/String; // method@055b │ │ +028522: 0c00 |002f: move-result-object v0 │ │ +028524: 7020 1f05 0100 |0030: invoke-direct {v1, v0}, Ljava/io/IOException;.:(Ljava/lang/String;)V // method@051f │ │ +02852a: 2701 |0033: throw v1 │ │ +02852c: 0d00 |0034: move-exception v0 │ │ +02852e: 2700 |0035: throw v0 │ │ catches : 1 │ │ 0x0019 - 0x0028 │ │ Ljava/io/IOException; -> 0x0034 │ │ Ljava/lang/Exception; -> 0x0029 │ │ positions : │ │ 0x0000 line=63 │ │ 0x0005 line=64 │ │ @@ -30364,30 +30364,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 │ │ -0286b4: |[0286b4] util.PatternSequence$Pattern.:(Lutil/PatternSequence;Ljava/lang/String;Ljava/lang/Object;)V │ │ -0286c4: 5b12 6a03 |0000: iput-object v2, v1, Lutil/PatternSequence$Pattern;.this$0:Lutil/PatternSequence; // field@036a │ │ -0286c8: 7010 7305 0100 |0002: invoke-direct {v1}, Ljava/lang/Object;.:()V // method@0573 │ │ -0286ce: 1a02 0c05 |0005: const-string v2, "\*" // string@050c │ │ -0286d2: 12f0 |0007: const/4 v0, #int -1 // #ff │ │ -0286d4: 6e30 9805 2300 |0008: invoke-virtual {v3, v2, v0}, Ljava/lang/String;.split:(Ljava/lang/String;I)[Ljava/lang/String; // method@0598 │ │ -0286da: 0c02 |000b: move-result-object v2 │ │ -0286dc: 5b12 6903 |000c: iput-object v2, v1, Lutil/PatternSequence$Pattern;.pattern:[Ljava/lang/String; // field@0369 │ │ -0286e0: 5b14 6b03 |000e: iput-object v4, v1, Lutil/PatternSequence$Pattern;.value:Ljava/lang/Object; // field@036b │ │ -0286e4: 6e10 8e05 0300 |0010: invoke-virtual {v3}, Ljava/lang/String;.hashCode:()I // method@058e │ │ -0286ea: 0a02 |0013: move-result v2 │ │ -0286ec: 6e10 7605 0400 |0014: invoke-virtual {v4}, Ljava/lang/Object;.hashCode:()I // method@0576 │ │ -0286f2: 0a03 |0017: move-result v3 │ │ -0286f4: b032 |0018: add-int/2addr v2, v3 │ │ -0286f6: 5912 6803 |0019: iput v2, v1, Lutil/PatternSequence$Pattern;.hashcode:I // field@0368 │ │ -0286fa: 0e00 |001b: return-void │ │ +0286b0: |[0286b0] util.PatternSequence$Pattern.:(Lutil/PatternSequence;Ljava/lang/String;Ljava/lang/Object;)V │ │ +0286c0: 5b12 6a03 |0000: iput-object v2, v1, Lutil/PatternSequence$Pattern;.this$0:Lutil/PatternSequence; // field@036a │ │ +0286c4: 7010 7305 0100 |0002: invoke-direct {v1}, Ljava/lang/Object;.:()V // method@0573 │ │ +0286ca: 1a02 0c05 |0005: const-string v2, "\*" // string@050c │ │ +0286ce: 12f0 |0007: const/4 v0, #int -1 // #ff │ │ +0286d0: 6e30 9805 2300 |0008: invoke-virtual {v3, v2, v0}, Ljava/lang/String;.split:(Ljava/lang/String;I)[Ljava/lang/String; // method@0598 │ │ +0286d6: 0c02 |000b: move-result-object v2 │ │ +0286d8: 5b12 6903 |000c: iput-object v2, v1, Lutil/PatternSequence$Pattern;.pattern:[Ljava/lang/String; // field@0369 │ │ +0286dc: 5b14 6b03 |000e: iput-object v4, v1, Lutil/PatternSequence$Pattern;.value:Ljava/lang/Object; // field@036b │ │ +0286e0: 6e10 8e05 0300 |0010: invoke-virtual {v3}, Ljava/lang/String;.hashCode:()I // method@058e │ │ +0286e6: 0a02 |0013: move-result v2 │ │ +0286e8: 6e10 7605 0400 |0014: invoke-virtual {v4}, Ljava/lang/Object;.hashCode:()I // method@0576 │ │ +0286ee: 0a03 |0017: move-result v3 │ │ +0286f0: b032 |0018: add-int/2addr v2, v3 │ │ +0286f2: 5912 6803 |0019: iput v2, v1, Lutil/PatternSequence$Pattern;.hashcode:I // field@0368 │ │ +0286f6: 0e00 |001b: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=12 │ │ 0x0005 line=13 │ │ 0x000e line=14 │ │ 0x0010 line=15 │ │ locals : │ │ @@ -30401,17 +30401,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 │ │ -0286fc: |[0286fc] util.PatternSequence$Pattern.:(Lutil/PatternSequence;Ljava/lang/String;Ljava/lang/Object;Lutil/PatternSequence$1;)V │ │ -02870c: 7040 6607 1032 |0000: invoke-direct {v0, v1, v2, v3}, Lutil/PatternSequence$Pattern;.:(Lutil/PatternSequence;Ljava/lang/String;Ljava/lang/Object;)V // method@0766 │ │ -028712: 0e00 |0003: return-void │ │ +0286f8: |[0286f8] util.PatternSequence$Pattern.:(Lutil/PatternSequence;Ljava/lang/String;Ljava/lang/Object;Lutil/PatternSequence$1;)V │ │ +028708: 7040 6607 1032 |0000: invoke-direct {v0, v1, v2, v3}, Lutil/PatternSequence$Pattern;.:(Lutil/PatternSequence;Ljava/lang/String;Ljava/lang/Object;)V // method@0766 │ │ +02870e: 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; │ │ @@ -30423,42 +30423,42 @@ │ │ type : '(Lutil/PatternSequence$Pattern;)Z' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 6 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 44 16-bit code units │ │ -028584: |[028584] util.PatternSequence$Pattern.patternEqual:(Lutil/PatternSequence$Pattern;)Z │ │ -028594: 5440 6903 |0000: iget-object v0, v4, Lutil/PatternSequence$Pattern;.pattern:[Ljava/lang/String; // field@0369 │ │ -028598: 2100 |0002: array-length v0, v0 │ │ -02859a: 5451 6903 |0003: iget-object v1, v5, Lutil/PatternSequence$Pattern;.pattern:[Ljava/lang/String; // field@0369 │ │ -02859e: 2111 |0005: array-length v1, v1 │ │ -0285a0: 1202 |0006: const/4 v2, #int 0 // #0 │ │ -0285a2: 3310 2400 |0007: if-ne v0, v1, 002b // +0024 │ │ -0285a6: 5450 6b03 |0009: iget-object v0, v5, Lutil/PatternSequence$Pattern;.value:Ljava/lang/Object; // field@036b │ │ -0285aa: 5441 6b03 |000b: iget-object v1, v4, Lutil/PatternSequence$Pattern;.value:Ljava/lang/Object; // field@036b │ │ -0285ae: 6e20 7405 1000 |000d: invoke-virtual {v0, v1}, Ljava/lang/Object;.equals:(Ljava/lang/Object;)Z // method@0574 │ │ -0285b4: 0a00 |0010: move-result v0 │ │ -0285b6: 3800 1a00 |0011: if-eqz v0, 002b // +001a │ │ -0285ba: 1200 |0013: const/4 v0, #int 0 // #0 │ │ -0285bc: 5441 6903 |0014: iget-object v1, v4, Lutil/PatternSequence$Pattern;.pattern:[Ljava/lang/String; // field@0369 │ │ -0285c0: 2113 |0016: array-length v3, v1 │ │ -0285c2: 3530 1200 |0017: if-ge v0, v3, 0029 // +0012 │ │ -0285c6: 4601 0100 |0019: aget-object v1, v1, v0 │ │ -0285ca: 5453 6903 |001b: iget-object v3, v5, Lutil/PatternSequence$Pattern;.pattern:[Ljava/lang/String; // field@0369 │ │ -0285ce: 4603 0300 |001d: aget-object v3, v3, v0 │ │ -0285d2: 6e20 8b05 3100 |001f: invoke-virtual {v1, v3}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058b │ │ -0285d8: 0a01 |0022: move-result v1 │ │ -0285da: 3901 0300 |0023: if-nez v1, 0026 // +0003 │ │ -0285de: 0f02 |0025: return v2 │ │ -0285e0: d800 0001 |0026: add-int/lit8 v0, v0, #int 1 // #01 │ │ -0285e4: 28ec |0028: goto 0014 // -0014 │ │ -0285e6: 1215 |0029: const/4 v5, #int 1 // #1 │ │ -0285e8: 0f05 |002a: return v5 │ │ -0285ea: 0f02 |002b: return v2 │ │ +028580: |[028580] util.PatternSequence$Pattern.patternEqual:(Lutil/PatternSequence$Pattern;)Z │ │ +028590: 5440 6903 |0000: iget-object v0, v4, Lutil/PatternSequence$Pattern;.pattern:[Ljava/lang/String; // field@0369 │ │ +028594: 2100 |0002: array-length v0, v0 │ │ +028596: 5451 6903 |0003: iget-object v1, v5, Lutil/PatternSequence$Pattern;.pattern:[Ljava/lang/String; // field@0369 │ │ +02859a: 2111 |0005: array-length v1, v1 │ │ +02859c: 1202 |0006: const/4 v2, #int 0 // #0 │ │ +02859e: 3310 2400 |0007: if-ne v0, v1, 002b // +0024 │ │ +0285a2: 5450 6b03 |0009: iget-object v0, v5, Lutil/PatternSequence$Pattern;.value:Ljava/lang/Object; // field@036b │ │ +0285a6: 5441 6b03 |000b: iget-object v1, v4, Lutil/PatternSequence$Pattern;.value:Ljava/lang/Object; // field@036b │ │ +0285aa: 6e20 7405 1000 |000d: invoke-virtual {v0, v1}, Ljava/lang/Object;.equals:(Ljava/lang/Object;)Z // method@0574 │ │ +0285b0: 0a00 |0010: move-result v0 │ │ +0285b2: 3800 1a00 |0011: if-eqz v0, 002b // +001a │ │ +0285b6: 1200 |0013: const/4 v0, #int 0 // #0 │ │ +0285b8: 5441 6903 |0014: iget-object v1, v4, Lutil/PatternSequence$Pattern;.pattern:[Ljava/lang/String; // field@0369 │ │ +0285bc: 2113 |0016: array-length v3, v1 │ │ +0285be: 3530 1200 |0017: if-ge v0, v3, 0029 // +0012 │ │ +0285c2: 4601 0100 |0019: aget-object v1, v1, v0 │ │ +0285c6: 5453 6903 |001b: iget-object v3, v5, Lutil/PatternSequence$Pattern;.pattern:[Ljava/lang/String; // field@0369 │ │ +0285ca: 4603 0300 |001d: aget-object v3, v3, v0 │ │ +0285ce: 6e20 8b05 3100 |001f: invoke-virtual {v1, v3}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058b │ │ +0285d4: 0a01 |0022: move-result v1 │ │ +0285d6: 3901 0300 |0023: if-nez v1, 0026 // +0003 │ │ +0285da: 0f02 |0025: return v2 │ │ +0285dc: d800 0001 |0026: add-int/lit8 v0, v0, #int 1 // #01 │ │ +0285e0: 28ec |0028: goto 0014 // -0014 │ │ +0285e2: 1215 |0029: const/4 v5, #int 1 // #1 │ │ +0285e4: 0f05 |002a: return v5 │ │ +0285e6: 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; │ │ @@ -30470,28 +30470,28 @@ │ │ type : '(Ljava/lang/Object;)Z' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 4 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 23 16-bit code units │ │ -028544: |[028544] util.PatternSequence$Pattern.equals:(Ljava/lang/Object;)Z │ │ -028554: 3803 1500 |0000: if-eqz v3, 0015 // +0015 │ │ -028558: 5220 6803 |0002: iget v0, v2, Lutil/PatternSequence$Pattern;.hashcode:I // field@0368 │ │ -02855c: 6e10 7605 0300 |0004: invoke-virtual {v3}, Ljava/lang/Object;.hashCode:()I // method@0576 │ │ -028562: 0a01 |0007: move-result v1 │ │ -028564: 3310 0d00 |0008: if-ne v0, v1, 0015 // +000d │ │ -028568: 2030 8c01 |000a: instance-of v0, v3, Lutil/PatternSequence$Pattern; // type@018c │ │ -02856c: 3800 0900 |000c: if-eqz v0, 0015 // +0009 │ │ -028570: 1f03 8c01 |000e: check-cast v3, Lutil/PatternSequence$Pattern; // type@018c │ │ -028574: 7020 6b07 3200 |0010: invoke-direct {v2, v3}, Lutil/PatternSequence$Pattern;.patternEqual:(Lutil/PatternSequence$Pattern;)Z // method@076b │ │ -02857a: 0a03 |0013: move-result v3 │ │ -02857c: 0f03 |0014: return v3 │ │ -02857e: 1203 |0015: const/4 v3, #int 0 // #0 │ │ -028580: 0f03 |0016: return v3 │ │ +028540: |[028540] util.PatternSequence$Pattern.equals:(Ljava/lang/Object;)Z │ │ +028550: 3803 1500 |0000: if-eqz v3, 0015 // +0015 │ │ +028554: 5220 6803 |0002: iget v0, v2, Lutil/PatternSequence$Pattern;.hashcode:I // field@0368 │ │ +028558: 6e10 7605 0300 |0004: invoke-virtual {v3}, Ljava/lang/Object;.hashCode:()I // method@0576 │ │ +02855e: 0a01 |0007: move-result v1 │ │ +028560: 3310 0d00 |0008: if-ne v0, v1, 0015 // +000d │ │ +028564: 2030 8c01 |000a: instance-of v0, v3, Lutil/PatternSequence$Pattern; // type@018c │ │ +028568: 3800 0900 |000c: if-eqz v0, 0015 // +0009 │ │ +02856c: 1f03 8c01 |000e: check-cast v3, Lutil/PatternSequence$Pattern; // type@018c │ │ +028570: 7020 6b07 3200 |0010: invoke-direct {v2, v3}, Lutil/PatternSequence$Pattern;.patternEqual:(Lutil/PatternSequence$Pattern;)Z // method@076b │ │ +028576: 0a03 |0013: move-result v3 │ │ +028578: 0f03 |0014: return v3 │ │ +02857a: 1203 |0015: const/4 v3, #int 0 // #0 │ │ +02857c: 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; │ │ @@ -30501,17 +30501,17 @@ │ │ type : '()I' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 0 │ │ insns size : 3 16-bit code units │ │ -0285ec: |[0285ec] util.PatternSequence$Pattern.hashCode:()I │ │ -0285fc: 5210 6803 |0000: iget v0, v1, Lutil/PatternSequence$Pattern;.hashcode:I // field@0368 │ │ -028600: 0f00 |0002: return v0 │ │ +0285e8: |[0285e8] util.PatternSequence$Pattern.hashCode:()I │ │ +0285f8: 5210 6803 |0000: iget v0, v1, Lutil/PatternSequence$Pattern;.hashcode:I // field@0368 │ │ +0285fc: 0f00 |0002: return v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=20 │ │ locals : │ │ 0x0000 - 0x0003 reg=1 this Lutil/PatternSequence$Pattern; │ │ │ │ #2 : (in Lutil/PatternSequence$Pattern;) │ │ @@ -30519,62 +30519,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 │ │ -028604: |[028604] util.PatternSequence$Pattern.match:(Ljava/lang/String;)Ljava/lang/Object; │ │ -028614: 1200 |0000: const/4 v0, #int 0 // #0 │ │ -028616: 5461 6903 |0001: iget-object v1, v6, Lutil/PatternSequence$Pattern;.pattern:[Ljava/lang/String; // field@0369 │ │ -02861a: 2112 |0003: array-length v2, v1 │ │ -02861c: 3520 4900 |0004: if-ge v0, v2, 004d // +0049 │ │ -028620: 4602 0100 |0006: aget-object v2, v1, v0 │ │ -028624: 2111 |0008: array-length v1, v1 │ │ -028626: d801 01ff |0009: add-int/lit8 v1, v1, #int -1 // #ff │ │ -02862a: 3510 0700 |000b: if-ge v0, v1, 0012 // +0007 │ │ -02862e: 6e20 9005 2700 |000d: invoke-virtual {v7, v2}, Ljava/lang/String;.indexOf:(Ljava/lang/String;)I // method@0590 │ │ -028634: 0a01 |0010: move-result v1 │ │ -028636: 2805 |0011: goto 0016 // +0005 │ │ -028638: 6e20 9305 2700 |0012: invoke-virtual {v7, v2}, Ljava/lang/String;.lastIndexOf:(Ljava/lang/String;)I // method@0593 │ │ -02863e: 0a01 |0015: move-result v1 │ │ -028640: 1a03 0000 |0016: const-string v3, "" // string@0000 │ │ -028644: 1204 |0018: const/4 v4, #int 0 // #0 │ │ -028646: 3900 0b00 |0019: if-nez v0, 0024 // +000b │ │ -02864a: 6e20 8b05 3200 |001b: invoke-virtual {v2, v3}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058b │ │ -028650: 0a05 |001e: move-result v5 │ │ -028652: 3905 0500 |001f: if-nez v5, 0024 // +0005 │ │ -028656: 3801 0300 |0021: if-eqz v1, 0024 // +0003 │ │ -02865a: 1104 |0023: return-object v4 │ │ -02865c: 5465 6903 |0024: iget-object v5, v6, Lutil/PatternSequence$Pattern;.pattern:[Ljava/lang/String; // field@0369 │ │ -028660: 2155 |0026: array-length v5, v5 │ │ -028662: d805 05ff |0027: add-int/lit8 v5, v5, #int -1 // #ff │ │ -028666: 3350 1400 |0029: if-ne v0, v5, 003d // +0014 │ │ -02866a: 6e20 8b05 3200 |002b: invoke-virtual {v2, v3}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058b │ │ -028670: 0a03 |002e: move-result v3 │ │ -028672: 3903 0e00 |002f: if-nez v3, 003d // +000e │ │ -028676: 6e10 9405 0200 |0031: invoke-virtual {v2}, Ljava/lang/String;.length:()I // method@0594 │ │ -02867c: 0a03 |0034: move-result v3 │ │ -02867e: b013 |0035: add-int/2addr v3, v1 │ │ -028680: 6e10 9405 0700 |0036: invoke-virtual {v7}, Ljava/lang/String;.length:()I // method@0594 │ │ -028686: 0a05 |0039: move-result v5 │ │ -028688: 3253 0300 |003a: if-eq v3, v5, 003d // +0003 │ │ -02868c: 1104 |003c: return-object v4 │ │ -02868e: 12f3 |003d: const/4 v3, #int -1 // #ff │ │ -028690: 3331 0300 |003e: if-ne v1, v3, 0041 // +0003 │ │ -028694: 1104 |0040: return-object v4 │ │ -028696: 6e10 9405 0200 |0041: invoke-virtual {v2}, Ljava/lang/String;.length:()I // method@0594 │ │ -02869c: 0a02 |0044: move-result v2 │ │ -02869e: b021 |0045: add-int/2addr v1, v2 │ │ -0286a0: 6e20 9a05 1700 |0046: invoke-virtual {v7, v1}, Ljava/lang/String;.substring:(I)Ljava/lang/String; // method@059a │ │ -0286a6: 0c07 |0049: move-result-object v7 │ │ -0286a8: d800 0001 |004a: add-int/lit8 v0, v0, #int 1 // #01 │ │ -0286ac: 28b5 |004c: goto 0001 // -004b │ │ -0286ae: 5467 6b03 |004d: iget-object v7, v6, Lutil/PatternSequence$Pattern;.value:Ljava/lang/Object; // field@036b │ │ -0286b2: 1107 |004f: return-object v7 │ │ +028600: |[028600] util.PatternSequence$Pattern.match:(Ljava/lang/String;)Ljava/lang/Object; │ │ +028610: 1200 |0000: const/4 v0, #int 0 // #0 │ │ +028612: 5461 6903 |0001: iget-object v1, v6, Lutil/PatternSequence$Pattern;.pattern:[Ljava/lang/String; // field@0369 │ │ +028616: 2112 |0003: array-length v2, v1 │ │ +028618: 3520 4900 |0004: if-ge v0, v2, 004d // +0049 │ │ +02861c: 4602 0100 |0006: aget-object v2, v1, v0 │ │ +028620: 2111 |0008: array-length v1, v1 │ │ +028622: d801 01ff |0009: add-int/lit8 v1, v1, #int -1 // #ff │ │ +028626: 3510 0700 |000b: if-ge v0, v1, 0012 // +0007 │ │ +02862a: 6e20 9005 2700 |000d: invoke-virtual {v7, v2}, Ljava/lang/String;.indexOf:(Ljava/lang/String;)I // method@0590 │ │ +028630: 0a01 |0010: move-result v1 │ │ +028632: 2805 |0011: goto 0016 // +0005 │ │ +028634: 6e20 9305 2700 |0012: invoke-virtual {v7, v2}, Ljava/lang/String;.lastIndexOf:(Ljava/lang/String;)I // method@0593 │ │ +02863a: 0a01 |0015: move-result v1 │ │ +02863c: 1a03 0000 |0016: const-string v3, "" // string@0000 │ │ +028640: 1204 |0018: const/4 v4, #int 0 // #0 │ │ +028642: 3900 0b00 |0019: if-nez v0, 0024 // +000b │ │ +028646: 6e20 8b05 3200 |001b: invoke-virtual {v2, v3}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058b │ │ +02864c: 0a05 |001e: move-result v5 │ │ +02864e: 3905 0500 |001f: if-nez v5, 0024 // +0005 │ │ +028652: 3801 0300 |0021: if-eqz v1, 0024 // +0003 │ │ +028656: 1104 |0023: return-object v4 │ │ +028658: 5465 6903 |0024: iget-object v5, v6, Lutil/PatternSequence$Pattern;.pattern:[Ljava/lang/String; // field@0369 │ │ +02865c: 2155 |0026: array-length v5, v5 │ │ +02865e: d805 05ff |0027: add-int/lit8 v5, v5, #int -1 // #ff │ │ +028662: 3350 1400 |0029: if-ne v0, v5, 003d // +0014 │ │ +028666: 6e20 8b05 3200 |002b: invoke-virtual {v2, v3}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058b │ │ +02866c: 0a03 |002e: move-result v3 │ │ +02866e: 3903 0e00 |002f: if-nez v3, 003d // +000e │ │ +028672: 6e10 9405 0200 |0031: invoke-virtual {v2}, Ljava/lang/String;.length:()I // method@0594 │ │ +028678: 0a03 |0034: move-result v3 │ │ +02867a: b013 |0035: add-int/2addr v3, v1 │ │ +02867c: 6e10 9405 0700 |0036: invoke-virtual {v7}, Ljava/lang/String;.length:()I // method@0594 │ │ +028682: 0a05 |0039: move-result v5 │ │ +028684: 3253 0300 |003a: if-eq v3, v5, 003d // +0003 │ │ +028688: 1104 |003c: return-object v4 │ │ +02868a: 12f3 |003d: const/4 v3, #int -1 // #ff │ │ +02868c: 3331 0300 |003e: if-ne v1, v3, 0041 // +0003 │ │ +028690: 1104 |0040: return-object v4 │ │ +028692: 6e10 9405 0200 |0041: invoke-virtual {v2}, Ljava/lang/String;.length:()I // method@0594 │ │ +028698: 0a02 |0044: move-result v2 │ │ +02869a: b021 |0045: add-int/2addr v1, v2 │ │ +02869c: 6e20 9a05 1700 |0046: invoke-virtual {v7, v1}, Ljava/lang/String;.substring:(I)Ljava/lang/String; // method@059a │ │ +0286a2: 0c07 |0049: move-result-object v7 │ │ +0286a4: d800 0001 |004a: add-int/lit8 v0, v0, #int 1 // #01 │ │ +0286a8: 28b5 |004c: goto 0001 // -004b │ │ +0286aa: 5467 6b03 |004d: iget-object v7, v6, Lutil/PatternSequence$Pattern;.value:Ljava/lang/Object; // field@036b │ │ +0286ae: 1107 |004f: return-object v7 │ │ catches : (none) │ │ positions : │ │ 0x0001 line=45 │ │ 0x0006 line=46 │ │ 0x0008 line=49 │ │ 0x000d line=50 │ │ 0x0012 line=52 │ │ @@ -30629,43 +30629,43 @@ │ │ type : '()V' │ │ access : 0x10008 (STATIC CONSTRUCTOR) │ │ code - │ │ registers : 1 │ │ ins : 0 │ │ outs : 1 │ │ insns size : 8 16-bit code units │ │ -0287f8: |[0287f8] util.PatternSequence.:()V │ │ -028808: 2200 2501 |0000: new-instance v0, Ljava/lang/Object; // type@0125 │ │ -02880c: 7010 7305 0000 |0002: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@0573 │ │ -028812: 6900 6c03 |0005: sput-object v0, Lutil/PatternSequence;.NULL:Ljava/lang/Object; // field@036c │ │ -028816: 0e00 |0007: return-void │ │ +0287f4: |[0287f4] util.PatternSequence.:()V │ │ +028804: 2200 2501 |0000: new-instance v0, Ljava/lang/Object; // type@0125 │ │ +028808: 7010 7305 0000 |0002: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@0573 │ │ +02880e: 6900 6c03 |0005: sput-object v0, Lutil/PatternSequence;.NULL:Ljava/lang/Object; // field@036c │ │ +028812: 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 │ │ -028818: |[028818] util.PatternSequence.:()V │ │ -028828: 7010 7305 0200 |0000: invoke-direct {v2}, Ljava/lang/Object;.:()V // method@0573 │ │ -02882e: 2200 6a01 |0003: new-instance v0, Ljava/util/Vector; // type@016a │ │ -028832: 7010 7506 0000 |0005: invoke-direct {v0}, Ljava/util/Vector;.:()V // method@0675 │ │ -028838: 5b20 6e03 |0008: iput-object v0, v2, Lutil/PatternSequence;.patternList:Ljava/util/Vector; // field@036e │ │ -02883c: 2200 8401 |000a: new-instance v0, Lutil/LRUCache; // type@0184 │ │ -028840: 1301 e803 |000c: const/16 v1, #int 1000 // #3e8 │ │ -028844: 7020 1207 1000 |000e: invoke-direct {v0, v1}, Lutil/LRUCache;.:(I)V // method@0712 │ │ -02884a: 5b20 6d03 |0011: iput-object v0, v2, Lutil/PatternSequence;.matchedPatternCache:Lutil/LRUCache; // field@036d │ │ -02884e: 0e00 |0013: return-void │ │ +028814: |[028814] util.PatternSequence.:()V │ │ +028824: 7010 7305 0200 |0000: invoke-direct {v2}, Ljava/lang/Object;.:()V // method@0573 │ │ +02882a: 2200 6a01 |0003: new-instance v0, Ljava/util/Vector; // type@016a │ │ +02882e: 7010 7506 0000 |0005: invoke-direct {v0}, Ljava/util/Vector;.:()V // method@0675 │ │ +028834: 5b20 6e03 |0008: iput-object v0, v2, Lutil/PatternSequence;.patternList:Ljava/util/Vector; // field@036e │ │ +028838: 2200 8401 |000a: new-instance v0, Lutil/LRUCache; // type@0184 │ │ +02883c: 1301 e803 |000c: const/16 v1, #int 1000 // #3e8 │ │ +028840: 7020 1207 1000 |000e: invoke-direct {v0, v1}, Lutil/LRUCache;.:(I)V // method@0712 │ │ +028846: 5b20 6d03 |0011: iput-object v0, v2, Lutil/PatternSequence;.matchedPatternCache:Lutil/LRUCache; // field@036d │ │ +02884a: 0e00 |0013: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=6 │ │ 0x0003 line=79 │ │ 0x000a line=80 │ │ locals : │ │ 0x0000 - 0x0014 reg=2 this Lutil/PatternSequence; │ │ @@ -30676,24 +30676,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 │ │ -028714: |[028714] util.PatternSequence.addPattern:(Ljava/lang/String;Ljava/lang/Object;)Z │ │ -028724: 5430 6d03 |0000: iget-object v0, v3, Lutil/PatternSequence;.matchedPatternCache:Lutil/LRUCache; // field@036d │ │ -028728: 6e10 1307 0000 |0002: invoke-virtual {v0}, Lutil/LRUCache;.clear:()V // method@0713 │ │ -02872e: 5430 6e03 |0005: iget-object v0, v3, Lutil/PatternSequence;.patternList:Ljava/util/Vector; // field@036e │ │ -028732: 2201 8c01 |0007: new-instance v1, Lutil/PatternSequence$Pattern; // type@018c │ │ -028736: 1202 |0009: const/4 v2, #int 0 // #0 │ │ -028738: 7052 6707 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@0767 │ │ -02873e: 6e20 7706 1000 |000d: invoke-virtual {v0, v1}, Ljava/util/Vector;.add:(Ljava/lang/Object;)Z // method@0677 │ │ -028744: 0a04 |0010: move-result v4 │ │ -028746: 0f04 |0011: return v4 │ │ +028710: |[028710] util.PatternSequence.addPattern:(Ljava/lang/String;Ljava/lang/Object;)Z │ │ +028720: 5430 6d03 |0000: iget-object v0, v3, Lutil/PatternSequence;.matchedPatternCache:Lutil/LRUCache; // field@036d │ │ +028724: 6e10 1307 0000 |0002: invoke-virtual {v0}, Lutil/LRUCache;.clear:()V // method@0713 │ │ +02872a: 5430 6e03 |0005: iget-object v0, v3, Lutil/PatternSequence;.patternList:Ljava/util/Vector; // field@036e │ │ +02872e: 2201 8c01 |0007: new-instance v1, Lutil/PatternSequence$Pattern; // type@018c │ │ +028732: 1202 |0009: const/4 v2, #int 0 // #0 │ │ +028734: 7052 6707 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@0767 │ │ +02873a: 6e20 7706 1000 |000d: invoke-virtual {v0, v1}, Ljava/util/Vector;.add:(Ljava/lang/Object;)Z // method@0677 │ │ +028740: 0a04 |0010: move-result v4 │ │ +028742: 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; │ │ @@ -30704,18 +30704,18 @@ │ │ type : '()V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 6 16-bit code units │ │ -028850: |[028850] util.PatternSequence.clear:()V │ │ -028860: 5410 6e03 |0000: iget-object v0, v1, Lutil/PatternSequence;.patternList:Ljava/util/Vector; // field@036e │ │ -028864: 6e10 7906 0000 |0002: invoke-virtual {v0}, Ljava/util/Vector;.clear:()V // method@0679 │ │ -02886a: 0e00 |0005: return-void │ │ +02884c: |[02884c] util.PatternSequence.clear:()V │ │ +02885c: 5410 6e03 |0000: iget-object v0, v1, Lutil/PatternSequence;.patternList:Ljava/util/Vector; // field@036e │ │ +028860: 6e10 7906 0000 |0002: invoke-virtual {v0}, Ljava/util/Vector;.clear:()V // method@0679 │ │ +028866: 0e00 |0005: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=115 │ │ locals : │ │ 0x0000 - 0x0006 reg=1 this Lutil/PatternSequence; │ │ │ │ #2 : (in Lutil/PatternSequence;) │ │ @@ -30723,43 +30723,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 │ │ -02877c: |[02877c] util.PatternSequence.match:(Ljava/lang/String;)Ljava/lang/Object; │ │ -02878c: 5430 6d03 |0000: iget-object v0, v3, Lutil/PatternSequence;.matchedPatternCache:Lutil/LRUCache; // field@036d │ │ -028790: 6e20 1807 4000 |0002: invoke-virtual {v0, v4}, Lutil/LRUCache;.get:(Ljava/lang/Object;)Ljava/lang/Object; // method@0718 │ │ -028796: 0c00 |0005: move-result-object v0 │ │ -028798: 6201 6c03 |0006: sget-object v1, Lutil/PatternSequence;.NULL:Ljava/lang/Object; // field@036c │ │ -02879c: 1202 |0008: const/4 v2, #int 0 // #0 │ │ -02879e: 3310 0300 |0009: if-ne v0, v1, 000c // +0003 │ │ -0287a2: 1102 |000b: return-object v2 │ │ -0287a4: 3800 0300 |000c: if-eqz v0, 000f // +0003 │ │ -0287a8: 1100 |000e: return-object v0 │ │ -0287aa: 5430 6e03 |000f: iget-object v0, v3, Lutil/PatternSequence;.patternList:Ljava/util/Vector; // field@036e │ │ -0287ae: 6e10 7e06 0000 |0011: invoke-virtual {v0}, Ljava/util/Vector;.iterator:()Ljava/util/Iterator; // method@067e │ │ -0287b4: 0c00 |0014: move-result-object v0 │ │ -0287b6: 7210 3a06 0000 |0015: invoke-interface {v0}, Ljava/util/Iterator;.hasNext:()Z // method@063a │ │ -0287bc: 0a01 |0018: move-result v1 │ │ -0287be: 3801 1400 |0019: if-eqz v1, 002d // +0014 │ │ -0287c2: 7210 3b06 0000 |001b: invoke-interface {v0}, Ljava/util/Iterator;.next:()Ljava/lang/Object; // method@063b │ │ -0287c8: 0c01 |001e: move-result-object v1 │ │ -0287ca: 1f01 8c01 |001f: check-cast v1, Lutil/PatternSequence$Pattern; // type@018c │ │ -0287ce: 6e20 6a07 4100 |0021: invoke-virtual {v1, v4}, Lutil/PatternSequence$Pattern;.match:(Ljava/lang/String;)Ljava/lang/Object; // method@076a │ │ -0287d4: 0c01 |0024: move-result-object v1 │ │ -0287d6: 3801 f0ff |0025: if-eqz v1, 0015 // -0010 │ │ -0287da: 5430 6d03 |0027: iget-object v0, v3, Lutil/PatternSequence;.matchedPatternCache:Lutil/LRUCache; // field@036d │ │ -0287de: 6e30 1c07 4001 |0029: invoke-virtual {v0, v4, v1}, Lutil/LRUCache;.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; // method@071c │ │ -0287e4: 1101 |002c: return-object v1 │ │ -0287e6: 5430 6d03 |002d: iget-object v0, v3, Lutil/PatternSequence;.matchedPatternCache:Lutil/LRUCache; // field@036d │ │ -0287ea: 6201 6c03 |002f: sget-object v1, Lutil/PatternSequence;.NULL:Ljava/lang/Object; // field@036c │ │ -0287ee: 6e30 1c07 4001 |0031: invoke-virtual {v0, v4, v1}, Lutil/LRUCache;.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; // method@071c │ │ -0287f4: 1102 |0034: return-object v2 │ │ +028778: |[028778] util.PatternSequence.match:(Ljava/lang/String;)Ljava/lang/Object; │ │ +028788: 5430 6d03 |0000: iget-object v0, v3, Lutil/PatternSequence;.matchedPatternCache:Lutil/LRUCache; // field@036d │ │ +02878c: 6e20 1807 4000 |0002: invoke-virtual {v0, v4}, Lutil/LRUCache;.get:(Ljava/lang/Object;)Ljava/lang/Object; // method@0718 │ │ +028792: 0c00 |0005: move-result-object v0 │ │ +028794: 6201 6c03 |0006: sget-object v1, Lutil/PatternSequence;.NULL:Ljava/lang/Object; // field@036c │ │ +028798: 1202 |0008: const/4 v2, #int 0 // #0 │ │ +02879a: 3310 0300 |0009: if-ne v0, v1, 000c // +0003 │ │ +02879e: 1102 |000b: return-object v2 │ │ +0287a0: 3800 0300 |000c: if-eqz v0, 000f // +0003 │ │ +0287a4: 1100 |000e: return-object v0 │ │ +0287a6: 5430 6e03 |000f: iget-object v0, v3, Lutil/PatternSequence;.patternList:Ljava/util/Vector; // field@036e │ │ +0287aa: 6e10 7e06 0000 |0011: invoke-virtual {v0}, Ljava/util/Vector;.iterator:()Ljava/util/Iterator; // method@067e │ │ +0287b0: 0c00 |0014: move-result-object v0 │ │ +0287b2: 7210 3a06 0000 |0015: invoke-interface {v0}, Ljava/util/Iterator;.hasNext:()Z // method@063a │ │ +0287b8: 0a01 |0018: move-result v1 │ │ +0287ba: 3801 1400 |0019: if-eqz v1, 002d // +0014 │ │ +0287be: 7210 3b06 0000 |001b: invoke-interface {v0}, Ljava/util/Iterator;.next:()Ljava/lang/Object; // method@063b │ │ +0287c4: 0c01 |001e: move-result-object v1 │ │ +0287c6: 1f01 8c01 |001f: check-cast v1, Lutil/PatternSequence$Pattern; // type@018c │ │ +0287ca: 6e20 6a07 4100 |0021: invoke-virtual {v1, v4}, Lutil/PatternSequence$Pattern;.match:(Ljava/lang/String;)Ljava/lang/Object; // method@076a │ │ +0287d0: 0c01 |0024: move-result-object v1 │ │ +0287d2: 3801 f0ff |0025: if-eqz v1, 0015 // -0010 │ │ +0287d6: 5430 6d03 |0027: iget-object v0, v3, Lutil/PatternSequence;.matchedPatternCache:Lutil/LRUCache; // field@036d │ │ +0287da: 6e30 1c07 4001 |0029: invoke-virtual {v0, v4, v1}, Lutil/LRUCache;.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; // method@071c │ │ +0287e0: 1101 |002c: return-object v1 │ │ +0287e2: 5430 6d03 |002d: iget-object v0, v3, Lutil/PatternSequence;.matchedPatternCache:Lutil/LRUCache; // field@036d │ │ +0287e6: 6201 6c03 |002f: sget-object v1, Lutil/PatternSequence;.NULL:Ljava/lang/Object; // field@036c │ │ +0287ea: 6e30 1c07 4001 |0031: invoke-virtual {v0, v4, v1}, Lutil/LRUCache;.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; // method@071c │ │ +0287f0: 1102 |0034: return-object v2 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=94 │ │ 0x0006 line=95 │ │ 0x000f line=100 │ │ 0x0015 line=101 │ │ 0x001b line=103 │ │ @@ -30775,24 +30775,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 │ │ -028748: |[028748] util.PatternSequence.removePattern:(Ljava/lang/String;Ljava/lang/Object;)Z │ │ -028758: 5430 6d03 |0000: iget-object v0, v3, Lutil/PatternSequence;.matchedPatternCache:Lutil/LRUCache; // field@036d │ │ -02875c: 6e10 1307 0000 |0002: invoke-virtual {v0}, Lutil/LRUCache;.clear:()V // method@0713 │ │ -028762: 5430 6e03 |0005: iget-object v0, v3, Lutil/PatternSequence;.patternList:Ljava/util/Vector; // field@036e │ │ -028766: 2201 8c01 |0007: new-instance v1, Lutil/PatternSequence$Pattern; // type@018c │ │ -02876a: 1202 |0009: const/4 v2, #int 0 // #0 │ │ -02876c: 7052 6707 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@0767 │ │ -028772: 6e20 8006 1000 |000d: invoke-virtual {v0, v1}, Ljava/util/Vector;.remove:(Ljava/lang/Object;)Z // method@0680 │ │ -028778: 0a04 |0010: move-result v4 │ │ -02877a: 0f04 |0011: return v4 │ │ +028744: |[028744] util.PatternSequence.removePattern:(Ljava/lang/String;Ljava/lang/Object;)Z │ │ +028754: 5430 6d03 |0000: iget-object v0, v3, Lutil/PatternSequence;.matchedPatternCache:Lutil/LRUCache; // field@036d │ │ +028758: 6e10 1307 0000 |0002: invoke-virtual {v0}, Lutil/LRUCache;.clear:()V // method@0713 │ │ +02875e: 5430 6e03 |0005: iget-object v0, v3, Lutil/PatternSequence;.patternList:Ljava/util/Vector; // field@036e │ │ +028762: 2201 8c01 |0007: new-instance v1, Lutil/PatternSequence$Pattern; // type@018c │ │ +028766: 1202 |0009: const/4 v2, #int 0 // #0 │ │ +028768: 7052 6707 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@0767 │ │ +02876e: 6e20 8006 1000 |000d: invoke-virtual {v0, v1}, Ljava/util/Vector;.remove:(Ljava/lang/Object;)Z // method@0680 │ │ +028774: 0a04 |0010: move-result v4 │ │ +028776: 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; │ │ @@ -30864,20 +30864,20 @@ │ │ type : '(Lutil/TimoutNotificator;)V' │ │ access : 0x10001 (PUBLIC CONSTRUCTOR) │ │ code - │ │ registers : 4 │ │ ins : 2 │ │ outs : 1 │ │ insns size : 13 16-bit code units │ │ -028b80: |[028b80] util.TimeoutTime.:(Lutil/TimoutNotificator;)V │ │ -028b90: 7010 7305 0200 |0000: invoke-direct {v2}, Ljava/lang/Object;.:()V // method@0573 │ │ -028b96: 1800 ffff ffff ffff ff7f |0003: const-wide v0, #double nan // #7fffffffffffffff │ │ -028ba0: 5a20 7503 |0008: iput-wide v0, v2, Lutil/TimeoutTime;.timeout:J // field@0375 │ │ -028ba4: 5b23 7603 |000a: iput-object v3, v2, Lutil/TimeoutTime;.toHandler:Lutil/TimoutNotificator; // field@0376 │ │ -028ba8: 0e00 |000c: return-void │ │ +028b7c: |[028b7c] util.TimeoutTime.:(Lutil/TimoutNotificator;)V │ │ +028b8c: 7010 7305 0200 |0000: invoke-direct {v2}, Ljava/lang/Object;.:()V // method@0573 │ │ +028b92: 1800 ffff ffff ffff ff7f |0003: const-wide v0, #double nan // #7fffffffffffffff │ │ +028b9c: 5a20 7503 |0008: iput-wide v0, v2, Lutil/TimeoutTime;.timeout:J // field@0375 │ │ +028ba0: 5b23 7603 |000a: iput-object v3, v2, Lutil/TimeoutTime;.toHandler:Lutil/TimoutNotificator; // field@0376 │ │ +028ba4: 0e00 |000c: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=30 │ │ 0x0008 line=27 │ │ 0x000a line=31 │ │ locals : │ │ 0x0000 - 0x000d reg=2 this Lutil/TimeoutTime; │ │ @@ -30889,22 +30889,22 @@ │ │ type : '()J' │ │ access : 0x20001 (PUBLIC DECLARED_SYNCHRONIZED) │ │ code - │ │ registers : 3 │ │ ins : 1 │ │ outs : 0 │ │ insns size : 8 16-bit code units │ │ -028b54: |[028b54] util.TimeoutTime.getTimeout:()J │ │ -028b64: 1d02 |0000: monitor-enter v2 │ │ -028b66: 5320 7503 |0001: iget-wide v0, v2, Lutil/TimeoutTime;.timeout:J // field@0375 │ │ -028b6a: 1e02 |0003: monitor-exit v2 │ │ -028b6c: 1000 |0004: return-wide v0 │ │ -028b6e: 0d00 |0005: move-exception v0 │ │ -028b70: 1e02 |0006: monitor-exit v2 │ │ -028b72: 2700 |0007: throw v0 │ │ +028b50: |[028b50] util.TimeoutTime.getTimeout:()J │ │ +028b60: 1d02 |0000: monitor-enter v2 │ │ +028b62: 5320 7503 |0001: iget-wide v0, v2, Lutil/TimeoutTime;.timeout:J // field@0375 │ │ +028b66: 1e02 |0003: monitor-exit v2 │ │ +028b68: 1000 |0004: return-wide v0 │ │ +028b6a: 0d00 |0005: move-exception v0 │ │ +028b6c: 1e02 |0006: monitor-exit v2 │ │ +028b6e: 2700 |0007: throw v0 │ │ catches : 1 │ │ 0x0001 - 0x0003 │ │ -> 0x0005 │ │ positions : │ │ 0x0001 line=41 │ │ locals : │ │ 0x0000 - 0x0008 reg=2 this Lutil/TimeoutTime; │ │ @@ -30914,32 +30914,32 @@ │ │ type : '(J)V' │ │ access : 0x20001 (PUBLIC DECLARED_SYNCHRONIZED) │ │ code - │ │ registers : 6 │ │ ins : 3 │ │ outs : 1 │ │ insns size : 29 16-bit code units │ │ -028bac: |[028bac] util.TimeoutTime.setTimeout:(J)V │ │ -028bbc: 1d03 |0000: monitor-enter v3 │ │ -028bbe: 1600 0000 |0001: const-wide/16 v0, #int 0 // #0 │ │ -028bc2: 3102 0400 |0003: cmp-long v2, v4, v0 │ │ -028bc6: 3c02 0a00 |0005: if-gtz v2, 000f // +000a │ │ -028bca: 1804 ffff ffff ffff ff7f |0007: const-wide v4, #double nan // #7fffffffffffffff │ │ -028bd4: 5a34 7503 |000c: iput-wide v4, v3, Lutil/TimeoutTime;.timeout:J // field@0375 │ │ -028bd8: 280a |000e: goto 0018 // +000a │ │ -028bda: 5430 7603 |000f: iget-object v0, v3, Lutil/TimeoutTime;.toHandler:Lutil/TimoutNotificator; // field@0376 │ │ -028bde: 6e10 8507 0000 |0011: invoke-virtual {v0}, Lutil/TimoutNotificator;.getCurrentTime:()J // method@0785 │ │ -028be4: 0b00 |0014: move-result-wide v0 │ │ -028be6: bb40 |0015: add-long/2addr v0, v4 │ │ -028be8: 5a30 7503 |0016: iput-wide v0, v3, Lutil/TimeoutTime;.timeout:J // field@0375 │ │ -028bec: 1e03 |0018: monitor-exit v3 │ │ -028bee: 0e00 |0019: return-void │ │ -028bf0: 0d04 |001a: move-exception v4 │ │ -028bf2: 1e03 |001b: monitor-exit v3 │ │ -028bf4: 2704 |001c: throw v4 │ │ +028ba8: |[028ba8] util.TimeoutTime.setTimeout:(J)V │ │ +028bb8: 1d03 |0000: monitor-enter v3 │ │ +028bba: 1600 0000 |0001: const-wide/16 v0, #int 0 // #0 │ │ +028bbe: 3102 0400 |0003: cmp-long v2, v4, v0 │ │ +028bc2: 3c02 0a00 |0005: if-gtz v2, 000f // +000a │ │ +028bc6: 1804 ffff ffff ffff ff7f |0007: const-wide v4, #double nan // #7fffffffffffffff │ │ +028bd0: 5a34 7503 |000c: iput-wide v4, v3, Lutil/TimeoutTime;.timeout:J // field@0375 │ │ +028bd4: 280a |000e: goto 0018 // +000a │ │ +028bd6: 5430 7603 |000f: iget-object v0, v3, Lutil/TimeoutTime;.toHandler:Lutil/TimoutNotificator; // field@0376 │ │ +028bda: 6e10 8507 0000 |0011: invoke-virtual {v0}, Lutil/TimoutNotificator;.getCurrentTime:()J // method@0785 │ │ +028be0: 0b00 |0014: move-result-wide v0 │ │ +028be2: bb40 |0015: add-long/2addr v0, v4 │ │ +028be4: 5a30 7503 |0016: iput-wide v0, v3, Lutil/TimeoutTime;.timeout:J // field@0375 │ │ +028be8: 1e03 |0018: monitor-exit v3 │ │ +028bea: 0e00 |0019: return-void │ │ +028bec: 0d04 |001a: move-exception v4 │ │ +028bee: 1e03 |001b: monitor-exit v3 │ │ +028bf0: 2704 |001c: throw v4 │ │ catches : 1 │ │ 0x000c - 0x0018 │ │ -> 0x001a │ │ positions : │ │ 0x000c line=36 │ │ 0x000f line=37 │ │ 0x0018 line=38 │ │ @@ -30993,44 +30993,44 @@ │ │ type : '()V' │ │ access : 0x10008 (STATIC CONSTRUCTOR) │ │ code - │ │ registers : 1 │ │ ins : 0 │ │ outs : 1 │ │ insns size : 8 16-bit code units │ │ -028c60: |[028c60] util.TimoutNotificator.:()V │ │ -028c70: 2200 9101 |0000: new-instance v0, Lutil/TimoutNotificator; // type@0191 │ │ -028c74: 7010 8407 0000 |0002: invoke-direct {v0}, Lutil/TimoutNotificator;.:()V // method@0784 │ │ -028c7a: 6900 7803 |0005: sput-object v0, Lutil/TimoutNotificator;.instance:Lutil/TimoutNotificator; // field@0378 │ │ -028c7e: 0e00 |0007: return-void │ │ +028c5c: |[028c5c] util.TimoutNotificator.:()V │ │ +028c6c: 2200 9101 |0000: new-instance v0, Lutil/TimoutNotificator; // type@0191 │ │ +028c70: 7010 8407 0000 |0002: invoke-direct {v0}, Lutil/TimoutNotificator;.:()V // method@0784 │ │ +028c76: 6900 7803 |0005: sput-object v0, Lutil/TimoutNotificator;.instance:Lutil/TimoutNotificator; // field@0378 │ │ +028c7a: 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 │ │ -028c80: |[028c80] util.TimoutNotificator.:()V │ │ -028c90: 7010 7305 0200 |0000: invoke-direct {v2}, Ljava/lang/Object;.:()V // method@0573 │ │ -028c96: 2200 5901 |0003: new-instance v0, Ljava/util/HashSet; // type@0159 │ │ -028c9a: 7010 2d06 0000 |0005: invoke-direct {v0}, Ljava/util/HashSet;.:()V // method@062d │ │ -028ca0: 5b20 7903 |0008: iput-object v0, v2, Lutil/TimoutNotificator;.listeners:Ljava/util/HashSet; // field@0379 │ │ -028ca4: 1200 |000a: const/4 v0, #int 0 // #0 │ │ -028ca6: 5c20 7b03 |000b: iput-boolean v0, v2, Lutil/TimoutNotificator;.threadAvailable:Z // field@037b │ │ -028caa: 5c20 7a03 |000d: iput-boolean v0, v2, Lutil/TimoutNotificator;.stopped:Z // field@037a │ │ -028cae: 1600 0000 |000f: const-wide/16 v0, #int 0 // #0 │ │ -028cb2: 5a20 7703 |0011: iput-wide v0, v2, Lutil/TimoutNotificator;.curTime:J // field@0377 │ │ -028cb6: 0e00 |0013: return-void │ │ +028c7c: |[028c7c] util.TimoutNotificator.:()V │ │ +028c8c: 7010 7305 0200 |0000: invoke-direct {v2}, Ljava/lang/Object;.:()V // method@0573 │ │ +028c92: 2200 5901 |0003: new-instance v0, Ljava/util/HashSet; // type@0159 │ │ +028c96: 7010 2d06 0000 |0005: invoke-direct {v0}, Ljava/util/HashSet;.:()V // method@062d │ │ +028c9c: 5b20 7903 |0008: iput-object v0, v2, Lutil/TimoutNotificator;.listeners:Ljava/util/HashSet; // field@0379 │ │ +028ca0: 1200 |000a: const/4 v0, #int 0 // #0 │ │ +028ca2: 5c20 7b03 |000b: iput-boolean v0, v2, Lutil/TimoutNotificator;.threadAvailable:Z // field@037b │ │ +028ca6: 5c20 7a03 |000d: iput-boolean v0, v2, Lutil/TimoutNotificator;.stopped:Z // field@037a │ │ +028caa: 1600 0000 |000f: const-wide/16 v0, #int 0 // #0 │ │ +028cae: 5a20 7703 |0011: iput-wide v0, v2, Lutil/TimoutNotificator;.curTime:J // field@0377 │ │ +028cb2: 0e00 |0013: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=28 │ │ 0x0003 line=33 │ │ 0x000b line=34 │ │ 0x000d line=35 │ │ 0x0011 line=36 │ │ @@ -31042,35 +31042,35 @@ │ │ type : '()Lutil/TimoutNotificator;' │ │ access : 0x0009 (PUBLIC STATIC) │ │ code - │ │ registers : 1 │ │ ins : 0 │ │ outs : 0 │ │ insns size : 3 16-bit code units │ │ -028c2c: |[028c2c] util.TimoutNotificator.getInstance:()Lutil/TimoutNotificator; │ │ -028c3c: 6200 7803 |0000: sget-object v0, Lutil/TimoutNotificator;.instance:Lutil/TimoutNotificator; // field@0378 │ │ -028c40: 1100 |0002: return-object v0 │ │ +028c28: |[028c28] util.TimoutNotificator.getInstance:()Lutil/TimoutNotificator; │ │ +028c38: 6200 7803 |0000: sget-object v0, Lutil/TimoutNotificator;.instance:Lutil/TimoutNotificator; // field@0378 │ │ +028c3c: 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 │ │ -028c44: |[028c44] util.TimoutNotificator.getNewInstance:()Lutil/TimoutNotificator; │ │ -028c54: 2200 9101 |0000: new-instance v0, Lutil/TimoutNotificator; // type@0191 │ │ -028c58: 7010 8407 0000 |0002: invoke-direct {v0}, Lutil/TimoutNotificator;.:()V // method@0784 │ │ -028c5e: 1100 |0005: return-object v0 │ │ +028c40: |[028c40] util.TimoutNotificator.getNewInstance:()Lutil/TimoutNotificator; │ │ +028c50: 2200 9101 |0000: new-instance v0, Lutil/TimoutNotificator; // type@0191 │ │ +028c54: 7010 8407 0000 |0002: invoke-direct {v0}, Lutil/TimoutNotificator;.:()V // method@0784 │ │ +028c5a: 1100 |0005: return-object v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=45 │ │ locals : │ │ │ │ Virtual methods - │ │ #0 : (in Lutil/TimoutNotificator;) │ │ @@ -31078,22 +31078,22 @@ │ │ type : '()J' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 3 │ │ ins : 1 │ │ outs : 0 │ │ insns size : 12 16-bit code units │ │ -028c04: |[028c04] util.TimoutNotificator.getCurrentTime:()J │ │ -028c14: 5520 7b03 |0000: iget-boolean v0, v2, Lutil/TimoutNotificator;.threadAvailable:Z // field@037b │ │ -028c18: 3800 0500 |0002: if-eqz v0, 0007 // +0005 │ │ -028c1c: 5320 7703 |0004: iget-wide v0, v2, Lutil/TimoutNotificator;.curTime:J // field@0377 │ │ -028c20: 1000 |0006: return-wide v0 │ │ -028c22: 7100 b105 0000 |0007: invoke-static {}, Ljava/lang/System;.currentTimeMillis:()J // method@05b1 │ │ -028c28: 0b00 |000a: move-result-wide v0 │ │ -028c2a: 1000 |000b: return-wide v0 │ │ +028c00: |[028c00] util.TimoutNotificator.getCurrentTime:()J │ │ +028c10: 5520 7b03 |0000: iget-boolean v0, v2, Lutil/TimoutNotificator;.threadAvailable:Z // field@037b │ │ +028c14: 3800 0500 |0002: if-eqz v0, 0007 // +0005 │ │ +028c18: 5320 7703 |0004: iget-wide v0, v2, Lutil/TimoutNotificator;.curTime:J // field@0377 │ │ +028c1c: 1000 |0006: return-wide v0 │ │ +028c1e: 7100 b105 0000 |0007: invoke-static {}, Ljava/lang/System;.currentTimeMillis:()J // method@05b1 │ │ +028c24: 0b00 |000a: move-result-wide v0 │ │ +028c26: 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; │ │ @@ -31103,34 +31103,34 @@ │ │ type : '(Lutil/TimeoutListener;)V' │ │ access : 0x20001 (PUBLIC DECLARED_SYNCHRONIZED) │ │ code - │ │ registers : 4 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 35 16-bit code units │ │ -028cb8: |[028cb8] util.TimoutNotificator.register:(Lutil/TimeoutListener;)V │ │ -028cc8: 1d02 |0000: monitor-enter v2 │ │ -028cca: 5420 7903 |0001: iget-object v0, v2, Lutil/TimoutNotificator;.listeners:Ljava/util/HashSet; // field@0379 │ │ -028cce: 6e20 2e06 3000 |0003: invoke-virtual {v0, v3}, Ljava/util/HashSet;.add:(Ljava/lang/Object;)Z // method@062e │ │ -028cd4: 5523 7b03 |0006: iget-boolean v3, v2, Lutil/TimoutNotificator;.threadAvailable:Z // field@037b │ │ -028cd8: 3903 1600 |0008: if-nez v3, 001e // +0016 │ │ -028cdc: 7100 b105 0000 |000a: invoke-static {}, Ljava/lang/System;.currentTimeMillis:()J // method@05b1 │ │ -028ce2: 0b00 |000d: move-result-wide v0 │ │ -028ce4: 5a20 7703 |000e: iput-wide v0, v2, Lutil/TimoutNotificator;.curTime:J // field@0377 │ │ -028ce8: 1213 |0010: const/4 v3, #int 1 // #1 │ │ -028cea: 5c23 7b03 |0011: iput-boolean v3, v2, Lutil/TimoutNotificator;.threadAvailable:Z // field@037b │ │ -028cee: 2200 2f01 |0013: new-instance v0, Ljava/lang/Thread; // type@012f │ │ -028cf2: 7020 b405 2000 |0015: invoke-direct {v0, v2}, Ljava/lang/Thread;.:(Ljava/lang/Runnable;)V // method@05b4 │ │ -028cf8: 6e20 b805 3000 |0018: invoke-virtual {v0, v3}, Ljava/lang/Thread;.setDaemon:(Z)V // method@05b8 │ │ -028cfe: 6e10 ba05 0000 |001b: invoke-virtual {v0}, Ljava/lang/Thread;.start:()V // method@05ba │ │ -028d04: 1e02 |001e: monitor-exit v2 │ │ -028d06: 0e00 |001f: return-void │ │ -028d08: 0d03 |0020: move-exception v3 │ │ -028d0a: 1e02 |0021: monitor-exit v2 │ │ -028d0c: 2703 |0022: throw v3 │ │ +028cb4: |[028cb4] util.TimoutNotificator.register:(Lutil/TimeoutListener;)V │ │ +028cc4: 1d02 |0000: monitor-enter v2 │ │ +028cc6: 5420 7903 |0001: iget-object v0, v2, Lutil/TimoutNotificator;.listeners:Ljava/util/HashSet; // field@0379 │ │ +028cca: 6e20 2e06 3000 |0003: invoke-virtual {v0, v3}, Ljava/util/HashSet;.add:(Ljava/lang/Object;)Z // method@062e │ │ +028cd0: 5523 7b03 |0006: iget-boolean v3, v2, Lutil/TimoutNotificator;.threadAvailable:Z // field@037b │ │ +028cd4: 3903 1600 |0008: if-nez v3, 001e // +0016 │ │ +028cd8: 7100 b105 0000 |000a: invoke-static {}, Ljava/lang/System;.currentTimeMillis:()J // method@05b1 │ │ +028cde: 0b00 |000d: move-result-wide v0 │ │ +028ce0: 5a20 7703 |000e: iput-wide v0, v2, Lutil/TimoutNotificator;.curTime:J // field@0377 │ │ +028ce4: 1213 |0010: const/4 v3, #int 1 // #1 │ │ +028ce6: 5c23 7b03 |0011: iput-boolean v3, v2, Lutil/TimoutNotificator;.threadAvailable:Z // field@037b │ │ +028cea: 2200 2f01 |0013: new-instance v0, Ljava/lang/Thread; // type@012f │ │ +028cee: 7020 b405 2000 |0015: invoke-direct {v0, v2}, Ljava/lang/Thread;.:(Ljava/lang/Runnable;)V // method@05b4 │ │ +028cf4: 6e20 b805 3000 |0018: invoke-virtual {v0, v3}, Ljava/lang/Thread;.setDaemon:(Z)V // method@05b8 │ │ +028cfa: 6e10 ba05 0000 |001b: invoke-virtual {v0}, Ljava/lang/Thread;.start:()V // method@05ba │ │ +028d00: 1e02 |001e: monitor-exit v2 │ │ +028d02: 0e00 |001f: return-void │ │ +028d04: 0d03 |0020: move-exception v3 │ │ +028d06: 1e02 |0021: monitor-exit v2 │ │ +028d08: 2703 |0022: throw v3 │ │ catches : 1 │ │ 0x0001 - 0x001e │ │ -> 0x0020 │ │ positions : │ │ 0x0001 line=50 │ │ 0x0006 line=52 │ │ 0x000a line=53 │ │ @@ -31148,85 +31148,85 @@ │ │ type : '()V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 10 │ │ ins : 1 │ │ outs : 3 │ │ insns size : 125 16-bit code units │ │ -028d1c: |[028d1c] util.TimoutNotificator.run:()V │ │ -028d2c: 2200 6a01 |0000: new-instance v0, Ljava/util/Vector; // type@016a │ │ -028d30: 7010 7506 0000 |0002: invoke-direct {v0}, Ljava/util/Vector;.:()V // method@0675 │ │ -028d36: 1d09 |0005: monitor-enter v9 │ │ -028d38: 6e10 8106 0000 |0006: invoke-virtual {v0}, Ljava/util/Vector;.removeAllElements:()V // method@0681 │ │ -028d3e: 7100 b105 0000 |0009: invoke-static {}, Ljava/lang/System;.currentTimeMillis:()J // method@05b1 │ │ -028d44: 0b01 |000c: move-result-wide v1 │ │ -028d46: 5a91 7703 |000d: iput-wide v1, v9, Lutil/TimoutNotificator;.curTime:J // field@0377 │ │ -028d4a: 1601 e803 |000f: const-wide/16 v1, #int 1000 // #3e8 │ │ -028d4e: 6e30 7a05 1902 |0011: invoke-virtual {v9, v1, v2}, Ljava/lang/Object;.wait:(J)V // method@057a │ │ -028d54: 2805 |0014: goto 0019 // +0005 │ │ -028d56: 0d03 |0015: move-exception v3 │ │ -028d58: 6e10 6905 0300 |0016: invoke-virtual {v3}, Ljava/lang/InterruptedException;.printStackTrace:()V // method@0569 │ │ -028d5e: 5393 7703 |0019: iget-wide v3, v9, Lutil/TimoutNotificator;.curTime:J // field@0377 │ │ -028d62: bb13 |001b: add-long/2addr v3, v1 │ │ -028d64: 5a93 7703 |001c: iput-wide v3, v9, Lutil/TimoutNotificator;.curTime:J // field@0377 │ │ -028d68: 5591 7a03 |001e: iget-boolean v1, v9, Lutil/TimoutNotificator;.stopped:Z // field@037a │ │ -028d6c: 1202 |0020: const/4 v2, #int 0 // #0 │ │ -028d6e: 3901 2b00 |0021: if-nez v1, 004c // +002b │ │ -028d72: 5491 7903 |0023: iget-object v1, v9, Lutil/TimoutNotificator;.listeners:Ljava/util/HashSet; // field@0379 │ │ -028d76: 2323 b601 |0025: new-array v3, v2, [Lutil/TimeoutListener; // type@01b6 │ │ -028d7a: 6e20 3506 3100 |0027: invoke-virtual {v1, v3}, Ljava/util/HashSet;.toArray:([Ljava/lang/Object;)[Ljava/lang/Object; // method@0635 │ │ -028d80: 0c01 |002a: move-result-object v1 │ │ -028d82: 1f01 b601 |002b: check-cast v1, [Lutil/TimeoutListener; // type@01b6 │ │ -028d86: 1203 |002d: const/4 v3, #int 0 // #0 │ │ -028d88: 2114 |002e: array-length v4, v1 │ │ -028d8a: 3543 1d00 |002f: if-ge v3, v4, 004c // +001d │ │ -028d8e: 4604 0103 |0031: aget-object v4, v1, v3 │ │ -028d92: 7210 7e07 0400 |0033: invoke-interface {v4}, Lutil/TimeoutListener;.getTimoutTime:()J // method@077e │ │ -028d98: 0b04 |0036: move-result-wide v4 │ │ -028d9a: 5396 7703 |0037: iget-wide v6, v9, Lutil/TimoutNotificator;.curTime:J // field@0377 │ │ -028d9e: 3108 0604 |0039: cmp-long v8, v6, v4 │ │ -028da2: 3d08 0e00 |003b: if-lez v8, 0049 // +000e │ │ -028da6: 5494 7903 |003d: iget-object v4, v9, Lutil/TimoutNotificator;.listeners:Ljava/util/HashSet; // field@0379 │ │ -028daa: 4605 0103 |003f: aget-object v5, v1, v3 │ │ -028dae: 6e20 3306 5400 |0041: invoke-virtual {v4, v5}, Ljava/util/HashSet;.remove:(Ljava/lang/Object;)Z // method@0633 │ │ -028db4: 4604 0103 |0044: aget-object v4, v1, v3 │ │ -028db8: 6e20 7706 4000 |0046: invoke-virtual {v0, v4}, Ljava/util/Vector;.add:(Ljava/lang/Object;)Z // method@0677 │ │ -028dbe: d803 0301 |0049: add-int/lit8 v3, v3, #int 1 // #01 │ │ -028dc2: 28e3 |004b: goto 002e // -001d │ │ -028dc4: 5491 7903 |004c: iget-object v1, v9, Lutil/TimoutNotificator;.listeners:Ljava/util/HashSet; // field@0379 │ │ -028dc8: 6e10 3106 0100 |004e: invoke-virtual {v1}, Ljava/util/HashSet;.isEmpty:()Z // method@0631 │ │ -028dce: 0a01 |0051: move-result v1 │ │ -028dd0: 3901 0900 |0052: if-nez v1, 005b // +0009 │ │ -028dd4: 5591 7a03 |0054: iget-boolean v1, v9, Lutil/TimoutNotificator;.stopped:Z // field@037a │ │ -028dd8: 3801 0300 |0056: if-eqz v1, 0059 // +0003 │ │ -028ddc: 2803 |0058: goto 005b // +0003 │ │ -028dde: 1201 |0059: const/4 v1, #int 0 // #0 │ │ -028de0: 2802 |005a: goto 005c // +0002 │ │ -028de2: 1211 |005b: const/4 v1, #int 1 // #1 │ │ -028de4: 3801 0400 |005c: if-eqz v1, 0060 // +0004 │ │ -028de8: 5c92 7b03 |005e: iput-boolean v2, v9, Lutil/TimoutNotificator;.threadAvailable:Z // field@037b │ │ -028dec: 1e09 |0060: monitor-exit v9 │ │ -028dee: 2323 b601 |0061: new-array v3, v2, [Lutil/TimeoutListener; // type@01b6 │ │ -028df2: 6e20 8306 3000 |0063: invoke-virtual {v0, v3}, Ljava/util/Vector;.toArray:([Ljava/lang/Object;)[Ljava/lang/Object; // method@0683 │ │ -028df8: 0c03 |0066: move-result-object v3 │ │ -028dfa: 1f03 b601 |0067: check-cast v3, [Lutil/TimeoutListener; // type@01b6 │ │ -028dfe: 2134 |0069: array-length v4, v3 │ │ -028e00: 3542 0a00 |006a: if-ge v2, v4, 0074 // +000a │ │ -028e04: 4604 0302 |006c: aget-object v4, v3, v2 │ │ -028e08: 7210 7f07 0400 |006e: invoke-interface {v4}, Lutil/TimeoutListener;.timeoutNotification:()V // method@077f │ │ -028e0e: d802 0201 |0071: add-int/lit8 v2, v2, #int 1 // #01 │ │ -028e12: 28f6 |0073: goto 0069 // -000a │ │ -028e14: 3901 0300 |0074: if-nez v1, 0077 // +0003 │ │ -028e18: 288f |0076: goto 0005 // -0071 │ │ -028e1a: 0e00 |0077: return-void │ │ -028e1c: 0d00 |0078: move-exception v0 │ │ -028e1e: 1e09 |0079: monitor-exit v9 │ │ -028e20: 2802 |007a: goto 007c // +0002 │ │ -028e22: 2700 |007b: throw v0 │ │ -028e24: 28ff |007c: goto 007b // -0001 │ │ +028d18: |[028d18] util.TimoutNotificator.run:()V │ │ +028d28: 2200 6a01 |0000: new-instance v0, Ljava/util/Vector; // type@016a │ │ +028d2c: 7010 7506 0000 |0002: invoke-direct {v0}, Ljava/util/Vector;.:()V // method@0675 │ │ +028d32: 1d09 |0005: monitor-enter v9 │ │ +028d34: 6e10 8106 0000 |0006: invoke-virtual {v0}, Ljava/util/Vector;.removeAllElements:()V // method@0681 │ │ +028d3a: 7100 b105 0000 |0009: invoke-static {}, Ljava/lang/System;.currentTimeMillis:()J // method@05b1 │ │ +028d40: 0b01 |000c: move-result-wide v1 │ │ +028d42: 5a91 7703 |000d: iput-wide v1, v9, Lutil/TimoutNotificator;.curTime:J // field@0377 │ │ +028d46: 1601 e803 |000f: const-wide/16 v1, #int 1000 // #3e8 │ │ +028d4a: 6e30 7a05 1902 |0011: invoke-virtual {v9, v1, v2}, Ljava/lang/Object;.wait:(J)V // method@057a │ │ +028d50: 2805 |0014: goto 0019 // +0005 │ │ +028d52: 0d03 |0015: move-exception v3 │ │ +028d54: 6e10 6905 0300 |0016: invoke-virtual {v3}, Ljava/lang/InterruptedException;.printStackTrace:()V // method@0569 │ │ +028d5a: 5393 7703 |0019: iget-wide v3, v9, Lutil/TimoutNotificator;.curTime:J // field@0377 │ │ +028d5e: bb13 |001b: add-long/2addr v3, v1 │ │ +028d60: 5a93 7703 |001c: iput-wide v3, v9, Lutil/TimoutNotificator;.curTime:J // field@0377 │ │ +028d64: 5591 7a03 |001e: iget-boolean v1, v9, Lutil/TimoutNotificator;.stopped:Z // field@037a │ │ +028d68: 1202 |0020: const/4 v2, #int 0 // #0 │ │ +028d6a: 3901 2b00 |0021: if-nez v1, 004c // +002b │ │ +028d6e: 5491 7903 |0023: iget-object v1, v9, Lutil/TimoutNotificator;.listeners:Ljava/util/HashSet; // field@0379 │ │ +028d72: 2323 b601 |0025: new-array v3, v2, [Lutil/TimeoutListener; // type@01b6 │ │ +028d76: 6e20 3506 3100 |0027: invoke-virtual {v1, v3}, Ljava/util/HashSet;.toArray:([Ljava/lang/Object;)[Ljava/lang/Object; // method@0635 │ │ +028d7c: 0c01 |002a: move-result-object v1 │ │ +028d7e: 1f01 b601 |002b: check-cast v1, [Lutil/TimeoutListener; // type@01b6 │ │ +028d82: 1203 |002d: const/4 v3, #int 0 // #0 │ │ +028d84: 2114 |002e: array-length v4, v1 │ │ +028d86: 3543 1d00 |002f: if-ge v3, v4, 004c // +001d │ │ +028d8a: 4604 0103 |0031: aget-object v4, v1, v3 │ │ +028d8e: 7210 7e07 0400 |0033: invoke-interface {v4}, Lutil/TimeoutListener;.getTimoutTime:()J // method@077e │ │ +028d94: 0b04 |0036: move-result-wide v4 │ │ +028d96: 5396 7703 |0037: iget-wide v6, v9, Lutil/TimoutNotificator;.curTime:J // field@0377 │ │ +028d9a: 3108 0604 |0039: cmp-long v8, v6, v4 │ │ +028d9e: 3d08 0e00 |003b: if-lez v8, 0049 // +000e │ │ +028da2: 5494 7903 |003d: iget-object v4, v9, Lutil/TimoutNotificator;.listeners:Ljava/util/HashSet; // field@0379 │ │ +028da6: 4605 0103 |003f: aget-object v5, v1, v3 │ │ +028daa: 6e20 3306 5400 |0041: invoke-virtual {v4, v5}, Ljava/util/HashSet;.remove:(Ljava/lang/Object;)Z // method@0633 │ │ +028db0: 4604 0103 |0044: aget-object v4, v1, v3 │ │ +028db4: 6e20 7706 4000 |0046: invoke-virtual {v0, v4}, Ljava/util/Vector;.add:(Ljava/lang/Object;)Z // method@0677 │ │ +028dba: d803 0301 |0049: add-int/lit8 v3, v3, #int 1 // #01 │ │ +028dbe: 28e3 |004b: goto 002e // -001d │ │ +028dc0: 5491 7903 |004c: iget-object v1, v9, Lutil/TimoutNotificator;.listeners:Ljava/util/HashSet; // field@0379 │ │ +028dc4: 6e10 3106 0100 |004e: invoke-virtual {v1}, Ljava/util/HashSet;.isEmpty:()Z // method@0631 │ │ +028dca: 0a01 |0051: move-result v1 │ │ +028dcc: 3901 0900 |0052: if-nez v1, 005b // +0009 │ │ +028dd0: 5591 7a03 |0054: iget-boolean v1, v9, Lutil/TimoutNotificator;.stopped:Z // field@037a │ │ +028dd4: 3801 0300 |0056: if-eqz v1, 0059 // +0003 │ │ +028dd8: 2803 |0058: goto 005b // +0003 │ │ +028dda: 1201 |0059: const/4 v1, #int 0 // #0 │ │ +028ddc: 2802 |005a: goto 005c // +0002 │ │ +028dde: 1211 |005b: const/4 v1, #int 1 // #1 │ │ +028de0: 3801 0400 |005c: if-eqz v1, 0060 // +0004 │ │ +028de4: 5c92 7b03 |005e: iput-boolean v2, v9, Lutil/TimoutNotificator;.threadAvailable:Z // field@037b │ │ +028de8: 1e09 |0060: monitor-exit v9 │ │ +028dea: 2323 b601 |0061: new-array v3, v2, [Lutil/TimeoutListener; // type@01b6 │ │ +028dee: 6e20 8306 3000 |0063: invoke-virtual {v0, v3}, Ljava/util/Vector;.toArray:([Ljava/lang/Object;)[Ljava/lang/Object; // method@0683 │ │ +028df4: 0c03 |0066: move-result-object v3 │ │ +028df6: 1f03 b601 |0067: check-cast v3, [Lutil/TimeoutListener; // type@01b6 │ │ +028dfa: 2134 |0069: array-length v4, v3 │ │ +028dfc: 3542 0a00 |006a: if-ge v2, v4, 0074 // +000a │ │ +028e00: 4604 0302 |006c: aget-object v4, v3, v2 │ │ +028e04: 7210 7f07 0400 |006e: invoke-interface {v4}, Lutil/TimeoutListener;.timeoutNotification:()V // method@077f │ │ +028e0a: d802 0201 |0071: add-int/lit8 v2, v2, #int 1 // #01 │ │ +028e0e: 28f6 |0073: goto 0069 // -000a │ │ +028e10: 3901 0300 |0074: if-nez v1, 0077 // +0003 │ │ +028e14: 288f |0076: goto 0005 // -0071 │ │ +028e16: 0e00 |0077: return-void │ │ +028e18: 0d00 |0078: move-exception v0 │ │ +028e1a: 1e09 |0079: monitor-exit v9 │ │ +028e1c: 2802 |007a: goto 007c // +0002 │ │ +028e1e: 2700 |007b: throw v0 │ │ +028e20: 28ff |007c: goto 007b // -0001 │ │ catches : 4 │ │ 0x0006 - 0x000f │ │ -> 0x0078 │ │ 0x0011 - 0x0014 │ │ Ljava/lang/InterruptedException; -> 0x0015 │ │ -> 0x0078 │ │ 0x0016 - 0x0061 │ │ @@ -31263,24 +31263,24 @@ │ │ type : '()V' │ │ access : 0x20001 (PUBLIC DECLARED_SYNCHRONIZED) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 12 16-bit code units │ │ -028e50: |[028e50] util.TimoutNotificator.shutdown:()V │ │ -028e60: 1d01 |0000: monitor-enter v1 │ │ -028e62: 1210 |0001: const/4 v0, #int 1 // #1 │ │ -028e64: 5c10 7a03 |0002: iput-boolean v0, v1, Lutil/TimoutNotificator;.stopped:Z // field@037a │ │ -028e68: 6e10 7705 0100 |0004: invoke-virtual {v1}, Ljava/lang/Object;.notifyAll:()V // method@0577 │ │ -028e6e: 1e01 |0007: monitor-exit v1 │ │ -028e70: 0e00 |0008: return-void │ │ -028e72: 0d00 |0009: move-exception v0 │ │ -028e74: 1e01 |000a: monitor-exit v1 │ │ -028e76: 2700 |000b: throw v0 │ │ +028e4c: |[028e4c] util.TimoutNotificator.shutdown:()V │ │ +028e5c: 1d01 |0000: monitor-enter v1 │ │ +028e5e: 1210 |0001: const/4 v0, #int 1 // #1 │ │ +028e60: 5c10 7a03 |0002: iput-boolean v0, v1, Lutil/TimoutNotificator;.stopped:Z // field@037a │ │ +028e64: 6e10 7705 0100 |0004: invoke-virtual {v1}, Ljava/lang/Object;.notifyAll:()V // method@0577 │ │ +028e6a: 1e01 |0007: monitor-exit v1 │ │ +028e6c: 0e00 |0008: return-void │ │ +028e6e: 0d00 |0009: move-exception v0 │ │ +028e70: 1e01 |000a: monitor-exit v1 │ │ +028e72: 2700 |000b: throw v0 │ │ catches : 1 │ │ 0x0002 - 0x0007 │ │ -> 0x0009 │ │ positions : │ │ 0x0002 line=101 │ │ 0x0004 line=102 │ │ 0x0007 line=103 │ │ @@ -31292,23 +31292,23 @@ │ │ type : '(Lutil/TimeoutListener;)V' │ │ access : 0x20001 (PUBLIC DECLARED_SYNCHRONIZED) │ │ code - │ │ registers : 3 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 11 16-bit code units │ │ -028e84: |[028e84] util.TimoutNotificator.unregister:(Lutil/TimeoutListener;)V │ │ -028e94: 1d01 |0000: monitor-enter v1 │ │ -028e96: 5410 7903 |0001: iget-object v0, v1, Lutil/TimoutNotificator;.listeners:Ljava/util/HashSet; // field@0379 │ │ -028e9a: 6e20 3306 2000 |0003: invoke-virtual {v0, v2}, Ljava/util/HashSet;.remove:(Ljava/lang/Object;)Z // method@0633 │ │ -028ea0: 1e01 |0006: monitor-exit v1 │ │ -028ea2: 0e00 |0007: return-void │ │ -028ea4: 0d02 |0008: move-exception v2 │ │ -028ea6: 1e01 |0009: monitor-exit v1 │ │ -028ea8: 2702 |000a: throw v2 │ │ +028e80: |[028e80] util.TimoutNotificator.unregister:(Lutil/TimeoutListener;)V │ │ +028e90: 1d01 |0000: monitor-enter v1 │ │ +028e92: 5410 7903 |0001: iget-object v0, v1, Lutil/TimoutNotificator;.listeners:Ljava/util/HashSet; // field@0379 │ │ +028e96: 6e20 3306 2000 |0003: invoke-virtual {v0, v2}, Ljava/util/HashSet;.remove:(Ljava/lang/Object;)Z // method@0633 │ │ +028e9c: 1e01 |0006: monitor-exit v1 │ │ +028e9e: 0e00 |0007: return-void │ │ +028ea0: 0d02 |0008: move-exception v2 │ │ +028ea2: 1e01 |0009: monitor-exit v1 │ │ +028ea4: 2702 |000a: throw v2 │ │ catches : 1 │ │ 0x0001 - 0x0006 │ │ -> 0x0008 │ │ positions : │ │ 0x0001 line=113 │ │ 0x0006 line=115 │ │ locals : │ │ @@ -31372,17 +31372,17 @@ │ │ type : '()V' │ │ access : 0x10001 (PUBLIC CONSTRUCTOR) │ │ code - │ │ registers : 1 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 4 16-bit code units │ │ -02958c: |[02958c] util.Utils.:()V │ │ -02959c: 7010 7305 0000 |0000: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@0573 │ │ -0295a2: 0e00 |0003: return-void │ │ +029588: |[029588] util.Utils.:()V │ │ +029598: 7010 7305 0000 |0000: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@0573 │ │ +02959e: 0e00 |0003: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=47 │ │ locals : │ │ 0x0000 - 0x0004 reg=0 this Lutil/Utils; │ │ │ │ #1 : (in Lutil/Utils;) │ │ @@ -31390,33 +31390,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 │ │ -028eb8: |[028eb8] util.Utils.arrayEqual:([Ljava/lang/Object;[Ljava/lang/Object;)Z │ │ -028ec8: 2140 |0000: array-length v0, v4 │ │ -028eca: 2151 |0001: array-length v1, v5 │ │ -028ecc: 1202 |0002: const/4 v2, #int 0 // #0 │ │ -028ece: 3210 0300 |0003: if-eq v0, v1, 0006 // +0003 │ │ -028ed2: 0f02 |0005: return v2 │ │ -028ed4: 1200 |0006: const/4 v0, #int 0 // #0 │ │ -028ed6: 2141 |0007: array-length v1, v4 │ │ -028ed8: 3510 1000 |0008: if-ge v0, v1, 0018 // +0010 │ │ -028edc: 4601 0400 |000a: aget-object v1, v4, v0 │ │ -028ee0: 4603 0500 |000c: aget-object v3, v5, v0 │ │ -028ee4: 6e20 7405 3100 |000e: invoke-virtual {v1, v3}, Ljava/lang/Object;.equals:(Ljava/lang/Object;)Z // method@0574 │ │ -028eea: 0a01 |0011: move-result v1 │ │ -028eec: 3901 0300 |0012: if-nez v1, 0015 // +0003 │ │ -028ef0: 0f02 |0014: return v2 │ │ -028ef2: d800 0001 |0015: add-int/lit8 v0, v0, #int 1 // #01 │ │ -028ef6: 28f0 |0017: goto 0007 // -0010 │ │ -028ef8: 1214 |0018: const/4 v4, #int 1 // #1 │ │ -028efa: 0f04 |0019: return v4 │ │ +028eb4: |[028eb4] util.Utils.arrayEqual:([Ljava/lang/Object;[Ljava/lang/Object;)Z │ │ +028ec4: 2140 |0000: array-length v0, v4 │ │ +028ec6: 2151 |0001: array-length v1, v5 │ │ +028ec8: 1202 |0002: const/4 v2, #int 0 // #0 │ │ +028eca: 3210 0300 |0003: if-eq v0, v1, 0006 // +0003 │ │ +028ece: 0f02 |0005: return v2 │ │ +028ed0: 1200 |0006: const/4 v0, #int 0 // #0 │ │ +028ed2: 2141 |0007: array-length v1, v4 │ │ +028ed4: 3510 1000 |0008: if-ge v0, v1, 0018 // +0010 │ │ +028ed8: 4601 0400 |000a: aget-object v1, v4, v0 │ │ +028edc: 4603 0500 |000c: aget-object v3, v5, v0 │ │ +028ee0: 6e20 7405 3100 |000e: invoke-virtual {v1, v3}, Ljava/lang/Object;.equals:(Ljava/lang/Object;)Z // method@0574 │ │ +028ee6: 0a01 |0011: move-result v1 │ │ +028ee8: 3901 0300 |0012: if-nez v1, 0015 // +0003 │ │ +028eec: 0f02 |0014: return v2 │ │ +028eee: d800 0001 |0015: add-int/lit8 v0, v0, #int 1 // #01 │ │ +028ef2: 28f0 |0017: goto 0007 // -0010 │ │ +028ef4: 1214 |0018: const/4 v4, #int 1 // #1 │ │ +028ef6: 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; │ │ @@ -31427,34 +31427,34 @@ │ │ type : '([B)I' │ │ access : 0x0009 (PUBLIC STATIC) │ │ code - │ │ registers : 3 │ │ ins : 1 │ │ outs : 0 │ │ insns size : 30 16-bit code units │ │ -029070: |[029070] util.Utils.byteArrayToInt:([B)I │ │ -029080: 1230 |0000: const/4 v0, #int 3 // #3 │ │ -029082: 4800 0200 |0001: aget-byte v0, v2, v0 │ │ -029086: d500 ff00 |0003: and-int/lit16 v0, v0, #int 255 // #00ff │ │ -02908a: 1221 |0005: const/4 v1, #int 2 // #2 │ │ -02908c: 4801 0201 |0006: aget-byte v1, v2, v1 │ │ -029090: d511 ff00 |0008: and-int/lit16 v1, v1, #int 255 // #00ff │ │ -029094: e001 0108 |000a: shl-int/lit8 v1, v1, #int 8 // #08 │ │ -029098: b610 |000c: or-int/2addr v0, v1 │ │ -02909a: 1211 |000d: const/4 v1, #int 1 // #1 │ │ -02909c: 4801 0201 |000e: aget-byte v1, v2, v1 │ │ -0290a0: d511 ff00 |0010: and-int/lit16 v1, v1, #int 255 // #00ff │ │ -0290a4: e001 0110 |0012: shl-int/lit8 v1, v1, #int 16 // #10 │ │ -0290a8: b610 |0014: or-int/2addr v0, v1 │ │ -0290aa: 1201 |0015: const/4 v1, #int 0 // #0 │ │ -0290ac: 4802 0201 |0016: aget-byte v2, v2, v1 │ │ -0290b0: d522 ff00 |0018: and-int/lit16 v2, v2, #int 255 // #00ff │ │ -0290b4: e002 0218 |001a: shl-int/lit8 v2, v2, #int 24 // #18 │ │ -0290b8: b602 |001c: or-int/2addr v2, v0 │ │ -0290ba: 0f02 |001d: return v2 │ │ +02906c: |[02906c] util.Utils.byteArrayToInt:([B)I │ │ +02907c: 1230 |0000: const/4 v0, #int 3 // #3 │ │ +02907e: 4800 0200 |0001: aget-byte v0, v2, v0 │ │ +029082: d500 ff00 |0003: and-int/lit16 v0, v0, #int 255 // #00ff │ │ +029086: 1221 |0005: const/4 v1, #int 2 // #2 │ │ +029088: 4801 0201 |0006: aget-byte v1, v2, v1 │ │ +02908c: d511 ff00 |0008: and-int/lit16 v1, v1, #int 255 // #00ff │ │ +029090: e001 0108 |000a: shl-int/lit8 v1, v1, #int 8 // #08 │ │ +029094: b610 |000c: or-int/2addr v0, v1 │ │ +029096: 1211 |000d: const/4 v1, #int 1 // #1 │ │ +029098: 4801 0201 |000e: aget-byte v1, v2, v1 │ │ +02909c: d511 ff00 |0010: and-int/lit16 v1, v1, #int 255 // #00ff │ │ +0290a0: e001 0110 |0012: shl-int/lit8 v1, v1, #int 16 // #10 │ │ +0290a4: b610 |0014: or-int/2addr v0, v1 │ │ +0290a6: 1201 |0015: const/4 v1, #int 0 // #0 │ │ +0290a8: 4802 0201 |0016: aget-byte v2, v2, v1 │ │ +0290ac: d522 ff00 |0018: and-int/lit16 v2, v2, #int 255 // #00ff │ │ +0290b0: e002 0218 |001a: shl-int/lit8 v2, v2, #int 24 // #18 │ │ +0290b4: b602 |001c: or-int/2addr v2, v0 │ │ +0290b6: 0f02 |001d: return v2 │ │ catches : (none) │ │ positions : │ │ 0x0001 line=50 │ │ locals : │ │ 0x0000 - 0x001e reg=2 (null) [B │ │ │ │ #3 : (in Lutil/Utils;) │ │ @@ -31462,68 +31462,68 @@ │ │ type : '([BI)J' │ │ access : 0x0009 (PUBLIC STATIC) │ │ code - │ │ registers : 7 │ │ ins : 2 │ │ outs : 0 │ │ insns size : 83 16-bit code units │ │ -029464: |[029464] util.Utils.byteArrayToLong:([BI)J │ │ -029474: d800 0607 |0000: add-int/lit8 v0, v6, #int 7 // #07 │ │ -029478: 4800 0500 |0002: aget-byte v0, v5, v0 │ │ -02947c: d500 ff00 |0004: and-int/lit16 v0, v0, #int 255 // #00ff │ │ -029480: 8100 |0006: int-to-long v0, v0 │ │ -029482: d802 0606 |0007: add-int/lit8 v2, v6, #int 6 // #06 │ │ -029486: 4802 0502 |0009: aget-byte v2, v5, v2 │ │ -02948a: d522 ff00 |000b: and-int/lit16 v2, v2, #int 255 // #00ff │ │ -02948e: 8122 |000d: int-to-long v2, v2 │ │ -029490: 1304 0800 |000e: const/16 v4, #int 8 // #8 │ │ -029494: c342 |0010: shl-long/2addr v2, v4 │ │ -029496: c120 |0011: or-long/2addr v0, v2 │ │ -029498: d802 0605 |0012: add-int/lit8 v2, v6, #int 5 // #05 │ │ -02949c: 4802 0502 |0014: aget-byte v2, v5, v2 │ │ -0294a0: d522 ff00 |0016: and-int/lit16 v2, v2, #int 255 // #00ff │ │ -0294a4: 8122 |0018: int-to-long v2, v2 │ │ -0294a6: 1304 1000 |0019: const/16 v4, #int 16 // #10 │ │ -0294aa: c342 |001b: shl-long/2addr v2, v4 │ │ -0294ac: c120 |001c: or-long/2addr v0, v2 │ │ -0294ae: d802 0604 |001d: add-int/lit8 v2, v6, #int 4 // #04 │ │ -0294b2: 4802 0502 |001f: aget-byte v2, v5, v2 │ │ -0294b6: d522 ff00 |0021: and-int/lit16 v2, v2, #int 255 // #00ff │ │ -0294ba: 8122 |0023: int-to-long v2, v2 │ │ -0294bc: 1304 1800 |0024: const/16 v4, #int 24 // #18 │ │ -0294c0: c342 |0026: shl-long/2addr v2, v4 │ │ -0294c2: c120 |0027: or-long/2addr v0, v2 │ │ -0294c4: d802 0603 |0028: add-int/lit8 v2, v6, #int 3 // #03 │ │ -0294c8: 4802 0502 |002a: aget-byte v2, v5, v2 │ │ -0294cc: d522 ff00 |002c: and-int/lit16 v2, v2, #int 255 // #00ff │ │ -0294d0: 8122 |002e: int-to-long v2, v2 │ │ -0294d2: 1304 2000 |002f: const/16 v4, #int 32 // #20 │ │ -0294d6: c342 |0031: shl-long/2addr v2, v4 │ │ -0294d8: c120 |0032: or-long/2addr v0, v2 │ │ -0294da: d802 0602 |0033: add-int/lit8 v2, v6, #int 2 // #02 │ │ -0294de: 4802 0502 |0035: aget-byte v2, v5, v2 │ │ -0294e2: d522 ff00 |0037: and-int/lit16 v2, v2, #int 255 // #00ff │ │ -0294e6: 8122 |0039: int-to-long v2, v2 │ │ -0294e8: 1304 2800 |003a: const/16 v4, #int 40 // #28 │ │ -0294ec: c342 |003c: shl-long/2addr v2, v4 │ │ -0294ee: c120 |003d: or-long/2addr v0, v2 │ │ -0294f0: d802 0601 |003e: add-int/lit8 v2, v6, #int 1 // #01 │ │ -0294f4: 4802 0502 |0040: aget-byte v2, v5, v2 │ │ -0294f8: d522 ff00 |0042: and-int/lit16 v2, v2, #int 255 // #00ff │ │ -0294fc: 8122 |0044: int-to-long v2, v2 │ │ -0294fe: 1304 3000 |0045: const/16 v4, #int 48 // #30 │ │ -029502: c342 |0047: shl-long/2addr v2, v4 │ │ -029504: c120 |0048: or-long/2addr v0, v2 │ │ -029506: 4805 0506 |0049: aget-byte v5, v5, v6 │ │ -02950a: d555 ff00 |004b: and-int/lit16 v5, v5, #int 255 // #00ff │ │ -02950e: 8155 |004d: int-to-long v5, v5 │ │ -029510: 1302 3800 |004e: const/16 v2, #int 56 // #38 │ │ -029514: c325 |0050: shl-long/2addr v5, v2 │ │ -029516: c105 |0051: or-long/2addr v5, v0 │ │ -029518: 1005 |0052: return-wide v5 │ │ +029460: |[029460] util.Utils.byteArrayToLong:([BI)J │ │ +029470: d800 0607 |0000: add-int/lit8 v0, v6, #int 7 // #07 │ │ +029474: 4800 0500 |0002: aget-byte v0, v5, v0 │ │ +029478: d500 ff00 |0004: and-int/lit16 v0, v0, #int 255 // #00ff │ │ +02947c: 8100 |0006: int-to-long v0, v0 │ │ +02947e: d802 0606 |0007: add-int/lit8 v2, v6, #int 6 // #06 │ │ +029482: 4802 0502 |0009: aget-byte v2, v5, v2 │ │ +029486: d522 ff00 |000b: and-int/lit16 v2, v2, #int 255 // #00ff │ │ +02948a: 8122 |000d: int-to-long v2, v2 │ │ +02948c: 1304 0800 |000e: const/16 v4, #int 8 // #8 │ │ +029490: c342 |0010: shl-long/2addr v2, v4 │ │ +029492: c120 |0011: or-long/2addr v0, v2 │ │ +029494: d802 0605 |0012: add-int/lit8 v2, v6, #int 5 // #05 │ │ +029498: 4802 0502 |0014: aget-byte v2, v5, v2 │ │ +02949c: d522 ff00 |0016: and-int/lit16 v2, v2, #int 255 // #00ff │ │ +0294a0: 8122 |0018: int-to-long v2, v2 │ │ +0294a2: 1304 1000 |0019: const/16 v4, #int 16 // #10 │ │ +0294a6: c342 |001b: shl-long/2addr v2, v4 │ │ +0294a8: c120 |001c: or-long/2addr v0, v2 │ │ +0294aa: d802 0604 |001d: add-int/lit8 v2, v6, #int 4 // #04 │ │ +0294ae: 4802 0502 |001f: aget-byte v2, v5, v2 │ │ +0294b2: d522 ff00 |0021: and-int/lit16 v2, v2, #int 255 // #00ff │ │ +0294b6: 8122 |0023: int-to-long v2, v2 │ │ +0294b8: 1304 1800 |0024: const/16 v4, #int 24 // #18 │ │ +0294bc: c342 |0026: shl-long/2addr v2, v4 │ │ +0294be: c120 |0027: or-long/2addr v0, v2 │ │ +0294c0: d802 0603 |0028: add-int/lit8 v2, v6, #int 3 // #03 │ │ +0294c4: 4802 0502 |002a: aget-byte v2, v5, v2 │ │ +0294c8: d522 ff00 |002c: and-int/lit16 v2, v2, #int 255 // #00ff │ │ +0294cc: 8122 |002e: int-to-long v2, v2 │ │ +0294ce: 1304 2000 |002f: const/16 v4, #int 32 // #20 │ │ +0294d2: c342 |0031: shl-long/2addr v2, v4 │ │ +0294d4: c120 |0032: or-long/2addr v0, v2 │ │ +0294d6: d802 0602 |0033: add-int/lit8 v2, v6, #int 2 // #02 │ │ +0294da: 4802 0502 |0035: aget-byte v2, v5, v2 │ │ +0294de: d522 ff00 |0037: and-int/lit16 v2, v2, #int 255 // #00ff │ │ +0294e2: 8122 |0039: int-to-long v2, v2 │ │ +0294e4: 1304 2800 |003a: const/16 v4, #int 40 // #28 │ │ +0294e8: c342 |003c: shl-long/2addr v2, v4 │ │ +0294ea: c120 |003d: or-long/2addr v0, v2 │ │ +0294ec: d802 0601 |003e: add-int/lit8 v2, v6, #int 1 // #01 │ │ +0294f0: 4802 0502 |0040: aget-byte v2, v5, v2 │ │ +0294f4: d522 ff00 |0042: and-int/lit16 v2, v2, #int 255 // #00ff │ │ +0294f8: 8122 |0044: int-to-long v2, v2 │ │ +0294fa: 1304 3000 |0045: const/16 v4, #int 48 // #30 │ │ +0294fe: c342 |0047: shl-long/2addr v2, v4 │ │ +029500: c120 |0048: or-long/2addr v0, v2 │ │ +029502: 4805 0506 |0049: aget-byte v5, v5, v6 │ │ +029506: d555 ff00 |004b: and-int/lit16 v5, v5, #int 255 // #00ff │ │ +02950a: 8155 |004d: int-to-long v5, v5 │ │ +02950c: 1302 3800 |004e: const/16 v2, #int 56 // #38 │ │ +029510: c325 |0050: shl-long/2addr v5, v2 │ │ +029512: c105 |0051: or-long/2addr v5, v0 │ │ +029514: 1005 |0052: return-wide v5 │ │ catches : (none) │ │ positions : │ │ 0x0002 line=90 │ │ locals : │ │ 0x0000 - 0x0053 reg=5 (null) [B │ │ 0x0000 - 0x0053 reg=6 (null) I │ │ │ │ @@ -31532,19 +31532,19 @@ │ │ type : '(Ljava/net/Socket;)V' │ │ access : 0x0009 (PUBLIC STATIC) │ │ code - │ │ registers : 1 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 10 16-bit code units │ │ -0295a4: |[0295a4] util.Utils.closeSocket:(Ljava/net/Socket;)V │ │ -0295b4: 6e10 ef05 0000 |0000: invoke-virtual {v0}, Ljava/net/Socket;.shutdownOutput:()V // method@05ef │ │ -0295ba: 6e10 ee05 0000 |0003: invoke-virtual {v0}, Ljava/net/Socket;.shutdownInput:()V // method@05ee │ │ -0295c0: 6e10 e805 0000 |0006: invoke-virtual {v0}, Ljava/net/Socket;.close:()V // method@05e8 │ │ -0295c6: 0e00 |0009: return-void │ │ +0295a0: |[0295a0] util.Utils.closeSocket:(Ljava/net/Socket;)V │ │ +0295b0: 6e10 ef05 0000 |0000: invoke-virtual {v0}, Ljava/net/Socket;.shutdownOutput:()V // method@05ef │ │ +0295b6: 6e10 ee05 0000 |0003: invoke-virtual {v0}, Ljava/net/Socket;.shutdownInput:()V // method@05ee │ │ +0295bc: 6e10 e805 0000 |0006: invoke-virtual {v0}, Ljava/net/Socket;.close:()V // method@05e8 │ │ +0295c2: 0e00 |0009: return-void │ │ catches : 3 │ │ 0x0000 - 0x0003 │ │ Ljava/io/IOException; -> 0x0003 │ │ 0x0003 - 0x0006 │ │ Ljava/io/IOException; -> 0x0006 │ │ 0x0006 - 0x0009 │ │ Ljava/io/IOException; -> 0x0009 │ │ @@ -31560,30 +31560,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 │ │ -0295f0: |[0295f0] util.Utils.copyFile:(Ljava/io/File;Ljava/io/File;)V │ │ -029600: 6e10 0805 0300 |0000: invoke-virtual {v3}, Ljava/io/File;.getParentFile:()Ljava/io/File; // method@0508 │ │ -029606: 0c00 |0003: move-result-object v0 │ │ -029608: 3800 0500 |0004: if-eqz v0, 0009 // +0005 │ │ -02960c: 6e10 0f05 0000 |0006: invoke-virtual {v0}, Ljava/io/File;.mkdirs:()Z // method@050f │ │ -029612: 2200 f200 |0009: new-instance v0, Ljava/io/BufferedInputStream; // type@00f2 │ │ -029616: 2201 fd00 |000b: new-instance v1, Ljava/io/FileInputStream; // type@00fd │ │ -02961a: 7020 1105 2100 |000d: invoke-direct {v1, v2}, Ljava/io/FileInputStream;.:(Ljava/io/File;)V // method@0511 │ │ -029620: 7020 d204 1000 |0010: invoke-direct {v0, v1}, Ljava/io/BufferedInputStream;.:(Ljava/io/InputStream;)V // method@04d2 │ │ -029626: 2202 f300 |0013: new-instance v2, Ljava/io/BufferedOutputStream; // type@00f3 │ │ -02962a: 2201 ff00 |0015: new-instance v1, Ljava/io/FileOutputStream; // type@00ff │ │ -02962e: 7020 1705 3100 |0017: invoke-direct {v1, v3}, Ljava/io/FileOutputStream;.:(Ljava/io/File;)V // method@0517 │ │ -029634: 7020 d404 1200 |001a: invoke-direct {v2, v1}, Ljava/io/BufferedOutputStream;.:(Ljava/io/OutputStream;)V // method@04d4 │ │ -02963a: 1213 |001d: const/4 v3, #int 1 // #1 │ │ -02963c: 7130 9207 2003 |001e: invoke-static {v0, v2, v3}, Lutil/Utils;.copyFully:(Ljava/io/InputStream;Ljava/io/OutputStream;Z)V // method@0792 │ │ -029642: 0e00 |0021: return-void │ │ +0295ec: |[0295ec] util.Utils.copyFile:(Ljava/io/File;Ljava/io/File;)V │ │ +0295fc: 6e10 0805 0300 |0000: invoke-virtual {v3}, Ljava/io/File;.getParentFile:()Ljava/io/File; // method@0508 │ │ +029602: 0c00 |0003: move-result-object v0 │ │ +029604: 3800 0500 |0004: if-eqz v0, 0009 // +0005 │ │ +029608: 6e10 0f05 0000 |0006: invoke-virtual {v0}, Ljava/io/File;.mkdirs:()Z // method@050f │ │ +02960e: 2200 f200 |0009: new-instance v0, Ljava/io/BufferedInputStream; // type@00f2 │ │ +029612: 2201 fd00 |000b: new-instance v1, Ljava/io/FileInputStream; // type@00fd │ │ +029616: 7020 1105 2100 |000d: invoke-direct {v1, v2}, Ljava/io/FileInputStream;.:(Ljava/io/File;)V // method@0511 │ │ +02961c: 7020 d204 1000 |0010: invoke-direct {v0, v1}, Ljava/io/BufferedInputStream;.:(Ljava/io/InputStream;)V // method@04d2 │ │ +029622: 2202 f300 |0013: new-instance v2, Ljava/io/BufferedOutputStream; // type@00f3 │ │ +029626: 2201 ff00 |0015: new-instance v1, Ljava/io/FileOutputStream; // type@00ff │ │ +02962a: 7020 1705 3100 |0017: invoke-direct {v1, v3}, Ljava/io/FileOutputStream;.:(Ljava/io/File;)V // method@0517 │ │ +029630: 7020 d404 1200 |001a: invoke-direct {v2, v1}, Ljava/io/BufferedOutputStream;.:(Ljava/io/OutputStream;)V // method@04d4 │ │ +029636: 1213 |001d: const/4 v3, #int 1 // #1 │ │ +029638: 7130 9207 2003 |001e: invoke-static {v0, v2, v3}, Lutil/Utils;.copyFully:(Ljava/io/InputStream;Ljava/io/OutputStream;Z)V // method@0792 │ │ +02963e: 0e00 |0021: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=334 │ │ 0x0006 line=336 │ │ 0x0009 line=337 │ │ 0x0013 line=338 │ │ 0x001e line=339 │ │ @@ -31596,29 +31596,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 │ │ -029644: |[029644] util.Utils.copyFully:(Ljava/io/InputStream;Ljava/io/OutputStream;Z)V │ │ -029654: 1300 0004 |0000: const/16 v0, #int 1024 // #400 │ │ -029658: 2300 9d01 |0002: new-array v0, v0, [B // type@019d │ │ -02965c: 6e20 2905 0300 |0004: invoke-virtual {v3, v0}, Ljava/io/InputStream;.read:([B)I // method@0529 │ │ -029662: 0a01 |0007: move-result v1 │ │ -029664: 12f2 |0008: const/4 v2, #int -1 // #ff │ │ -029666: 3221 0700 |0009: if-eq v1, v2, 0010 // +0007 │ │ -02966a: 1202 |000b: const/4 v2, #int 0 // #0 │ │ -02966c: 6e40 3705 0412 |000c: invoke-virtual {v4, v0, v2, v1}, Ljava/io/OutputStream;.write:([BII)V // method@0537 │ │ -029672: 28f5 |000f: goto 0004 // -000b │ │ -029674: 6e10 3405 0400 |0010: invoke-virtual {v4}, Ljava/io/OutputStream;.flush:()V // method@0534 │ │ -02967a: 3805 0800 |0013: if-eqz v5, 001b // +0008 │ │ -02967e: 6e10 3305 0400 |0015: invoke-virtual {v4}, Ljava/io/OutputStream;.close:()V // method@0533 │ │ -029684: 6e10 2705 0300 |0018: invoke-virtual {v3}, Ljava/io/InputStream;.close:()V // method@0527 │ │ -02968a: 0e00 |001b: return-void │ │ +029640: |[029640] util.Utils.copyFully:(Ljava/io/InputStream;Ljava/io/OutputStream;Z)V │ │ +029650: 1300 0004 |0000: const/16 v0, #int 1024 // #400 │ │ +029654: 2300 9d01 |0002: new-array v0, v0, [B // type@019d │ │ +029658: 6e20 2905 0300 |0004: invoke-virtual {v3, v0}, Ljava/io/InputStream;.read:([B)I // method@0529 │ │ +02965e: 0a01 |0007: move-result v1 │ │ +029660: 12f2 |0008: const/4 v2, #int -1 // #ff │ │ +029662: 3221 0700 |0009: if-eq v1, v2, 0010 // +0007 │ │ +029666: 1202 |000b: const/4 v2, #int 0 // #0 │ │ +029668: 6e40 3705 0412 |000c: invoke-virtual {v4, v0, v2, v1}, Ljava/io/OutputStream;.write:([BII)V // method@0537 │ │ +02966e: 28f5 |000f: goto 0004 // -000b │ │ +029670: 6e10 3405 0400 |0010: invoke-virtual {v4}, Ljava/io/OutputStream;.flush:()V // method@0534 │ │ +029676: 3805 0800 |0013: if-eqz v5, 001b // +0008 │ │ +02967a: 6e10 3305 0400 |0015: invoke-virtual {v4}, Ljava/io/OutputStream;.close:()V // method@0533 │ │ +029680: 6e10 2705 0300 |0018: invoke-virtual {v3}, Ljava/io/InputStream;.close:()V // method@0527 │ │ +029686: 0e00 |001b: return-void │ │ catches : (none) │ │ positions : │ │ 0x0002 line=319 │ │ 0x0004 line=322 │ │ 0x000c line=323 │ │ 0x0010 line=325 │ │ 0x0015 line=327 │ │ @@ -31633,43 +31633,43 @@ │ │ type : '(Ljava/lang/String;)V' │ │ access : 0x0009 (PUBLIC STATIC) │ │ code - │ │ registers : 4 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 55 16-bit code units │ │ -02968c: |[02968c] util.Utils.deleteFolder:(Ljava/lang/String;)V │ │ -02969c: 2200 fb00 |0000: new-instance v0, Ljava/io/File; // type@00fb │ │ -0296a0: 7020 ff04 3000 |0002: invoke-direct {v0, v3}, Ljava/io/File;.:(Ljava/lang/String;)V // method@04ff │ │ -0296a6: 6e10 0505 0000 |0005: invoke-virtual {v0}, Ljava/io/File;.exists:()Z // method@0505 │ │ -0296ac: 0a03 |0008: move-result v3 │ │ -0296ae: 3803 2d00 |0009: if-eqz v3, 0036 // +002d │ │ -0296b2: 6e10 0a05 0000 |000b: invoke-virtual {v0}, Ljava/io/File;.isDirectory:()Z // method@050a │ │ -0296b8: 0a03 |000e: move-result v3 │ │ -0296ba: 3803 2700 |000f: if-eqz v3, 0036 // +0027 │ │ -0296be: 6e10 0d05 0000 |0011: invoke-virtual {v0}, Ljava/io/File;.listFiles:()[Ljava/io/File; // method@050d │ │ -0296c4: 0c03 |0014: move-result-object v3 │ │ -0296c6: 1201 |0015: const/4 v1, #int 0 // #0 │ │ -0296c8: 2132 |0016: array-length v2, v3 │ │ -0296ca: 3521 1c00 |0017: if-ge v1, v2, 0033 // +001c │ │ -0296ce: 4602 0301 |0019: aget-object v2, v3, v1 │ │ -0296d2: 6e10 0a05 0200 |001b: invoke-virtual {v2}, Ljava/io/File;.isDirectory:()Z // method@050a │ │ -0296d8: 0a02 |001e: move-result v2 │ │ -0296da: 3802 0c00 |001f: if-eqz v2, 002b // +000c │ │ -0296de: 4602 0301 |0021: aget-object v2, v3, v1 │ │ -0296e2: 6e10 0605 0200 |0023: invoke-virtual {v2}, Ljava/io/File;.getAbsolutePath:()Ljava/lang/String; // method@0506 │ │ -0296e8: 0c02 |0026: move-result-object v2 │ │ -0296ea: 7110 9307 0200 |0027: invoke-static {v2}, Lutil/Utils;.deleteFolder:(Ljava/lang/String;)V // method@0793 │ │ -0296f0: 2806 |002a: goto 0030 // +0006 │ │ -0296f2: 4602 0301 |002b: aget-object v2, v3, v1 │ │ -0296f6: 6e10 0305 0200 |002d: invoke-virtual {v2}, Ljava/io/File;.delete:()Z // method@0503 │ │ -0296fc: d801 0101 |0030: add-int/lit8 v1, v1, #int 1 // #01 │ │ -029700: 28e4 |0032: goto 0016 // -001c │ │ -029702: 6e10 0305 0000 |0033: invoke-virtual {v0}, Ljava/io/File;.delete:()Z // method@0503 │ │ -029708: 0e00 |0036: return-void │ │ +029688: |[029688] util.Utils.deleteFolder:(Ljava/lang/String;)V │ │ +029698: 2200 fb00 |0000: new-instance v0, Ljava/io/File; // type@00fb │ │ +02969c: 7020 ff04 3000 |0002: invoke-direct {v0, v3}, Ljava/io/File;.:(Ljava/lang/String;)V // method@04ff │ │ +0296a2: 6e10 0505 0000 |0005: invoke-virtual {v0}, Ljava/io/File;.exists:()Z // method@0505 │ │ +0296a8: 0a03 |0008: move-result v3 │ │ +0296aa: 3803 2d00 |0009: if-eqz v3, 0036 // +002d │ │ +0296ae: 6e10 0a05 0000 |000b: invoke-virtual {v0}, Ljava/io/File;.isDirectory:()Z // method@050a │ │ +0296b4: 0a03 |000e: move-result v3 │ │ +0296b6: 3803 2700 |000f: if-eqz v3, 0036 // +0027 │ │ +0296ba: 6e10 0d05 0000 |0011: invoke-virtual {v0}, Ljava/io/File;.listFiles:()[Ljava/io/File; // method@050d │ │ +0296c0: 0c03 |0014: move-result-object v3 │ │ +0296c2: 1201 |0015: const/4 v1, #int 0 // #0 │ │ +0296c4: 2132 |0016: array-length v2, v3 │ │ +0296c6: 3521 1c00 |0017: if-ge v1, v2, 0033 // +001c │ │ +0296ca: 4602 0301 |0019: aget-object v2, v3, v1 │ │ +0296ce: 6e10 0a05 0200 |001b: invoke-virtual {v2}, Ljava/io/File;.isDirectory:()Z // method@050a │ │ +0296d4: 0a02 |001e: move-result v2 │ │ +0296d6: 3802 0c00 |001f: if-eqz v2, 002b // +000c │ │ +0296da: 4602 0301 |0021: aget-object v2, v3, v1 │ │ +0296de: 6e10 0605 0200 |0023: invoke-virtual {v2}, Ljava/io/File;.getAbsolutePath:()Ljava/lang/String; // method@0506 │ │ +0296e4: 0c02 |0026: move-result-object v2 │ │ +0296e6: 7110 9307 0200 |0027: invoke-static {v2}, Lutil/Utils;.deleteFolder:(Ljava/lang/String;)V // method@0793 │ │ +0296ec: 2806 |002a: goto 0030 // +0006 │ │ +0296ee: 4602 0301 |002b: aget-object v2, v3, v1 │ │ +0296f2: 6e10 0305 0200 |002d: invoke-virtual {v2}, Ljava/io/File;.delete:()Z // method@0503 │ │ +0296f8: d801 0101 |0030: add-int/lit8 v1, v1, #int 1 // #01 │ │ +0296fc: 28e4 |0032: goto 0016 // -001c │ │ +0296fe: 6e10 0305 0000 |0033: invoke-virtual {v0}, Ljava/io/File;.delete:()Z // method@0503 │ │ +029704: 0e00 |0036: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=304 │ │ 0x0005 line=305 │ │ 0x0011 line=307 │ │ 0x0016 line=308 │ │ 0x0019 line=309 │ │ @@ -31684,26 +31684,26 @@ │ │ type : '([B)Ljava/lang/Object;' │ │ access : 0x0009 (PUBLIC STATIC) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 22 16-bit code units │ │ -029238: |[029238] util.Utils.deserializeObject:([B)Ljava/lang/Object; │ │ -029248: 2200 f600 |0000: new-instance v0, Ljava/io/ByteArrayInputStream; // type@00f6 │ │ -02924c: 7020 df04 1000 |0002: invoke-direct {v0, v1}, Ljava/io/ByteArrayInputStream;.:([B)V // method@04df │ │ -029252: 2201 0301 |0005: new-instance v1, Ljava/io/ObjectInputStream; // type@0103 │ │ -029256: 7020 2c05 0100 |0007: invoke-direct {v1, v0}, Ljava/io/ObjectInputStream;.:(Ljava/io/InputStream;)V // method@052c │ │ -02925c: 6e10 2d05 0100 |000a: invoke-virtual {v1}, Ljava/io/ObjectInputStream;.readObject:()Ljava/lang/Object; // method@052d │ │ -029262: 0c01 |000d: move-result-object v1 │ │ -029264: 1101 |000e: return-object v1 │ │ -029266: 0d01 |000f: move-exception v1 │ │ -029268: 2200 0001 |0010: new-instance v0, Ljava/io/IOException; // type@0100 │ │ -02926c: 7020 2105 1000 |0012: invoke-direct {v0, v1}, Ljava/io/IOException;.:(Ljava/lang/Throwable;)V // method@0521 │ │ -029272: 2700 |0015: throw v0 │ │ +029234: |[029234] util.Utils.deserializeObject:([B)Ljava/lang/Object; │ │ +029244: 2200 f600 |0000: new-instance v0, Ljava/io/ByteArrayInputStream; // type@00f6 │ │ +029248: 7020 df04 1000 |0002: invoke-direct {v0, v1}, Ljava/io/ByteArrayInputStream;.:([B)V // method@04df │ │ +02924e: 2201 0301 |0005: new-instance v1, Ljava/io/ObjectInputStream; // type@0103 │ │ +029252: 7020 2c05 0100 |0007: invoke-direct {v1, v0}, Ljava/io/ObjectInputStream;.:(Ljava/io/InputStream;)V // method@052c │ │ +029258: 6e10 2d05 0100 |000a: invoke-virtual {v1}, Ljava/io/ObjectInputStream;.readObject:()Ljava/lang/Object; // method@052d │ │ +02925e: 0c01 |000d: move-result-object v1 │ │ +029260: 1101 |000e: return-object v1 │ │ +029262: 0d01 |000f: move-exception v1 │ │ +029264: 2200 0001 |0010: new-instance v0, Ljava/io/IOException; // type@0100 │ │ +029268: 7020 2105 1000 |0012: invoke-direct {v0, v1}, Ljava/io/IOException;.:(Ljava/lang/Throwable;)V // method@0521 │ │ +02926e: 2700 |0015: throw v0 │ │ catches : 1 │ │ 0x000a - 0x000e │ │ Ljava/lang/ClassNotFoundException; -> 0x000f │ │ positions : │ │ 0x0000 line=267 │ │ 0x0005 line=268 │ │ 0x000a line=270 │ │ @@ -31716,43 +31716,43 @@ │ │ type : '(Ljava/lang/String;)J' │ │ access : 0x0009 (PUBLIC STATIC) │ │ code - │ │ registers : 7 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 47 16-bit code units │ │ -02951c: |[02951c] util.Utils.getLongStringHash:(Ljava/lang/String;)J │ │ -02952c: 6e10 9405 0600 |0000: invoke-virtual {v6}, Ljava/lang/String;.length:()I // method@0594 │ │ -029532: 0a00 |0003: move-result v0 │ │ -029534: 6e10 8d05 0600 |0004: invoke-virtual {v6}, Ljava/lang/String;.getBytes:()[B // method@058d │ │ -02953a: 0c06 |0007: move-result-object v6 │ │ -02953c: 1201 |0008: const/4 v1, #int 0 // #0 │ │ -02953e: 1202 |0009: const/4 v2, #int 0 // #0 │ │ -029540: 1203 |000a: const/4 v3, #int 0 // #0 │ │ -029542: 3501 1700 |000b: if-ge v1, v0, 0022 // +0017 │ │ -029546: da02 021f |000d: mul-int/lit8 v2, v2, #int 31 // #1f │ │ -02954a: 4804 0601 |000f: aget-byte v4, v6, v1 │ │ -02954e: d544 ff00 |0011: and-int/lit16 v4, v4, #int 255 // #00ff │ │ -029552: b042 |0013: add-int/2addr v2, v4 │ │ -029554: da03 031f |0014: mul-int/lit8 v3, v3, #int 31 // #1f │ │ -029558: 9104 0001 |0016: sub-int v4, v0, v1 │ │ -02955c: d804 04ff |0018: add-int/lit8 v4, v4, #int -1 // #ff │ │ -029560: 4804 0604 |001a: aget-byte v4, v6, v4 │ │ -029564: d544 ff00 |001c: and-int/lit16 v4, v4, #int 255 // #00ff │ │ -029568: b043 |001e: add-int/2addr v3, v4 │ │ -02956a: d801 0101 |001f: add-int/lit8 v1, v1, #int 1 // #01 │ │ -02956e: 28ea |0021: goto 000b // -0016 │ │ -029570: 8120 |0022: int-to-long v0, v2 │ │ -029572: 1306 2000 |0023: const/16 v6, #int 32 // #20 │ │ -029576: c360 |0025: shl-long/2addr v0, v6 │ │ -029578: 8132 |0026: int-to-long v2, v3 │ │ -02957a: 1804 ffff ffff 0000 0000 |0027: const-wide v4, #double 2.122e-314 // #00000000ffffffff │ │ -029584: c042 |002c: and-long/2addr v2, v4 │ │ -029586: c120 |002d: or-long/2addr v0, v2 │ │ -029588: 1000 |002e: return-wide v0 │ │ +029518: |[029518] util.Utils.getLongStringHash:(Ljava/lang/String;)J │ │ +029528: 6e10 9405 0600 |0000: invoke-virtual {v6}, Ljava/lang/String;.length:()I // method@0594 │ │ +02952e: 0a00 |0003: move-result v0 │ │ +029530: 6e10 8d05 0600 |0004: invoke-virtual {v6}, Ljava/lang/String;.getBytes:()[B // method@058d │ │ +029536: 0c06 |0007: move-result-object v6 │ │ +029538: 1201 |0008: const/4 v1, #int 0 // #0 │ │ +02953a: 1202 |0009: const/4 v2, #int 0 // #0 │ │ +02953c: 1203 |000a: const/4 v3, #int 0 // #0 │ │ +02953e: 3501 1700 |000b: if-ge v1, v0, 0022 // +0017 │ │ +029542: da02 021f |000d: mul-int/lit8 v2, v2, #int 31 // #1f │ │ +029546: 4804 0601 |000f: aget-byte v4, v6, v1 │ │ +02954a: d544 ff00 |0011: and-int/lit16 v4, v4, #int 255 // #00ff │ │ +02954e: b042 |0013: add-int/2addr v2, v4 │ │ +029550: da03 031f |0014: mul-int/lit8 v3, v3, #int 31 // #1f │ │ +029554: 9104 0001 |0016: sub-int v4, v0, v1 │ │ +029558: d804 04ff |0018: add-int/lit8 v4, v4, #int -1 // #ff │ │ +02955c: 4804 0604 |001a: aget-byte v4, v6, v4 │ │ +029560: d544 ff00 |001c: and-int/lit16 v4, v4, #int 255 // #00ff │ │ +029564: b043 |001e: add-int/2addr v3, v4 │ │ +029566: d801 0101 |001f: add-int/lit8 v1, v1, #int 1 // #01 │ │ +02956a: 28ea |0021: goto 000b // -0016 │ │ +02956c: 8120 |0022: int-to-long v0, v2 │ │ +02956e: 1306 2000 |0023: const/16 v6, #int 32 // #20 │ │ +029572: c360 |0025: shl-long/2addr v0, v6 │ │ +029574: 8132 |0026: int-to-long v2, v3 │ │ +029576: 1804 ffff ffff 0000 0000 |0027: const-wide v4, #double 2.122e-314 // #00000000ffffffff │ │ +029580: c042 |002c: and-long/2addr v2, v4 │ │ +029582: c120 |002d: or-long/2addr v0, v2 │ │ +029584: 1000 |002e: return-wide v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=104 │ │ 0x0004 line=105 │ │ 0x000f line=107 │ │ 0x001a line=108 │ │ locals : │ │ @@ -31763,30 +31763,30 @@ │ │ type : '()Ljava/lang/String;' │ │ access : 0x0009 (PUBLIC STATIC) │ │ code - │ │ registers : 4 │ │ ins : 0 │ │ outs : 3 │ │ insns size : 31 16-bit code units │ │ -029284: |[029284] util.Utils.getServerTime:()Ljava/lang/String; │ │ -029294: 7100 1b06 0000 |0000: invoke-static {}, Ljava/util/Calendar;.getInstance:()Ljava/util/Calendar; // method@061b │ │ -02929a: 0c00 |0003: move-result-object v0 │ │ -02929c: 2201 5001 |0004: new-instance v1, Ljava/text/SimpleDateFormat; // type@0150 │ │ -0292a0: 1a02 6b01 |0006: const-string v2, "EEE, dd MMM yyyy HH:mm:ss z" // string@016b │ │ -0292a4: 6203 1e03 |0008: sget-object v3, Ljava/util/Locale;.US:Ljava/util/Locale; // field@031e │ │ -0292a8: 7030 1506 2103 |000a: invoke-direct {v1, v2, v3}, Ljava/text/SimpleDateFormat;.:(Ljava/lang/String;Ljava/util/Locale;)V // method@0615 │ │ -0292ae: 1a02 aa01 |000d: const-string v2, "GMT" // string@01aa │ │ -0292b2: 7110 6706 0200 |000f: invoke-static {v2}, Ljava/util/TimeZone;.getTimeZone:(Ljava/lang/String;)Ljava/util/TimeZone; // method@0667 │ │ -0292b8: 0c02 |0012: move-result-object v2 │ │ -0292ba: 6e20 1706 2100 |0013: invoke-virtual {v1, v2}, Ljava/text/SimpleDateFormat;.setTimeZone:(Ljava/util/TimeZone;)V // method@0617 │ │ -0292c0: 6e10 1c06 0000 |0016: invoke-virtual {v0}, Ljava/util/Calendar;.getTime:()Ljava/util/Date; // method@061c │ │ -0292c6: 0c00 |0019: move-result-object v0 │ │ -0292c8: 6e20 1606 0100 |001a: invoke-virtual {v1, v0}, Ljava/text/SimpleDateFormat;.format:(Ljava/util/Date;)Ljava/lang/String; // method@0616 │ │ -0292ce: 0c00 |001d: move-result-object v0 │ │ -0292d0: 1100 |001e: return-object v0 │ │ +029280: |[029280] util.Utils.getServerTime:()Ljava/lang/String; │ │ +029290: 7100 1b06 0000 |0000: invoke-static {}, Ljava/util/Calendar;.getInstance:()Ljava/util/Calendar; // method@061b │ │ +029296: 0c00 |0003: move-result-object v0 │ │ +029298: 2201 5001 |0004: new-instance v1, Ljava/text/SimpleDateFormat; // type@0150 │ │ +02929c: 1a02 6b01 |0006: const-string v2, "EEE, dd MMM yyyy HH:mm:ss z" // string@016b │ │ +0292a0: 6203 1e03 |0008: sget-object v3, Ljava/util/Locale;.US:Ljava/util/Locale; // field@031e │ │ +0292a4: 7030 1506 2103 |000a: invoke-direct {v1, v2, v3}, Ljava/text/SimpleDateFormat;.:(Ljava/lang/String;Ljava/util/Locale;)V // method@0615 │ │ +0292aa: 1a02 aa01 |000d: const-string v2, "GMT" // string@01aa │ │ +0292ae: 7110 6706 0200 |000f: invoke-static {v2}, Ljava/util/TimeZone;.getTimeZone:(Ljava/lang/String;)Ljava/util/TimeZone; // method@0667 │ │ +0292b4: 0c02 |0012: move-result-object v2 │ │ +0292b6: 6e20 1706 2100 |0013: invoke-virtual {v1, v2}, Ljava/text/SimpleDateFormat;.setTimeZone:(Ljava/util/TimeZone;)V // method@0617 │ │ +0292bc: 6e10 1c06 0000 |0016: invoke-virtual {v0}, Ljava/util/Calendar;.getTime:()Ljava/util/Date; // method@061c │ │ +0292c2: 0c00 |0019: move-result-object v0 │ │ +0292c4: 6e20 1606 0100 |001a: invoke-virtual {v1, v0}, Ljava/text/SimpleDateFormat;.format:(Ljava/util/Date;)Ljava/lang/String; // method@0616 │ │ +0292ca: 0c00 |001d: move-result-object v0 │ │ +0292cc: 1100 |001e: return-object v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=277 │ │ 0x0004 line=278 │ │ 0x000d line=279 │ │ 0x0016 line=280 │ │ locals : │ │ @@ -31796,37 +31796,37 @@ │ │ type : '(I)[B' │ │ access : 0x0009 (PUBLIC STATIC) │ │ code - │ │ registers : 6 │ │ ins : 1 │ │ outs : 0 │ │ insns size : 34 16-bit code units │ │ -028efc: |[028efc] util.Utils.intToByteArray:(I)[B │ │ -028f0c: e100 0518 |0000: shr-int/lit8 v0, v5, #int 24 // #18 │ │ -028f10: d500 ff00 |0002: and-int/lit16 v0, v0, #int 255 // #00ff │ │ -028f14: 8d00 |0004: int-to-byte v0, v0 │ │ -028f16: e101 0510 |0005: shr-int/lit8 v1, v5, #int 16 // #10 │ │ -028f1a: d511 ff00 |0007: and-int/lit16 v1, v1, #int 255 // #00ff │ │ -028f1e: 8d11 |0009: int-to-byte v1, v1 │ │ -028f20: e102 0508 |000a: shr-int/lit8 v2, v5, #int 8 // #08 │ │ -028f24: d522 ff00 |000c: and-int/lit16 v2, v2, #int 255 // #00ff │ │ -028f28: 8d22 |000e: int-to-byte v2, v2 │ │ -028f2a: d555 ff00 |000f: and-int/lit16 v5, v5, #int 255 // #00ff │ │ -028f2e: 8d55 |0011: int-to-byte v5, v5 │ │ -028f30: 1243 |0012: const/4 v3, #int 4 // #4 │ │ -028f32: 2333 9d01 |0013: new-array v3, v3, [B // type@019d │ │ -028f36: 1204 |0015: const/4 v4, #int 0 // #0 │ │ -028f38: 4f00 0304 |0016: aput-byte v0, v3, v4 │ │ -028f3c: 1210 |0018: const/4 v0, #int 1 // #1 │ │ -028f3e: 4f01 0300 |0019: aput-byte v1, v3, v0 │ │ -028f42: 1220 |001b: const/4 v0, #int 2 // #2 │ │ -028f44: 4f02 0300 |001c: aput-byte v2, v3, v0 │ │ -028f48: 1230 |001e: const/4 v0, #int 3 // #3 │ │ -028f4a: 4f05 0300 |001f: aput-byte v5, v3, v0 │ │ -028f4e: 1103 |0021: return-object v3 │ │ +028ef8: |[028ef8] util.Utils.intToByteArray:(I)[B │ │ +028f08: e100 0518 |0000: shr-int/lit8 v0, v5, #int 24 // #18 │ │ +028f0c: d500 ff00 |0002: and-int/lit16 v0, v0, #int 255 // #00ff │ │ +028f10: 8d00 |0004: int-to-byte v0, v0 │ │ +028f12: e101 0510 |0005: shr-int/lit8 v1, v5, #int 16 // #10 │ │ +028f16: d511 ff00 |0007: and-int/lit16 v1, v1, #int 255 // #00ff │ │ +028f1a: 8d11 |0009: int-to-byte v1, v1 │ │ +028f1c: e102 0508 |000a: shr-int/lit8 v2, v5, #int 8 // #08 │ │ +028f20: d522 ff00 |000c: and-int/lit16 v2, v2, #int 255 // #00ff │ │ +028f24: 8d22 |000e: int-to-byte v2, v2 │ │ +028f26: d555 ff00 |000f: and-int/lit16 v5, v5, #int 255 // #00ff │ │ +028f2a: 8d55 |0011: int-to-byte v5, v5 │ │ +028f2c: 1243 |0012: const/4 v3, #int 4 // #4 │ │ +028f2e: 2333 9d01 |0013: new-array v3, v3, [B // type@019d │ │ +028f32: 1204 |0015: const/4 v4, #int 0 // #0 │ │ +028f34: 4f00 0304 |0016: aput-byte v0, v3, v4 │ │ +028f38: 1210 |0018: const/4 v0, #int 1 // #1 │ │ +028f3a: 4f01 0300 |0019: aput-byte v1, v3, v0 │ │ +028f3e: 1220 |001b: const/4 v0, #int 2 // #2 │ │ +028f40: 4f02 0300 |001c: aput-byte v2, v3, v0 │ │ +028f44: 1230 |001e: const/4 v0, #int 3 // #3 │ │ +028f46: 4f05 0300 |001f: aput-byte v5, v3, v0 │ │ +028f4a: 1103 |0021: return-object v3 │ │ catches : (none) │ │ positions : │ │ 0x0013 line=57 │ │ locals : │ │ 0x0000 - 0x0022 reg=5 (null) I │ │ │ │ #12 : (in Lutil/Utils;) │ │ @@ -31834,63 +31834,63 @@ │ │ type : '(J)[B' │ │ access : 0x0009 (PUBLIC STATIC) │ │ code - │ │ registers : 11 │ │ ins : 2 │ │ outs : 0 │ │ insns size : 71 16-bit code units │ │ -028f50: |[028f50] util.Utils.longToByteArray:(J)[B │ │ -028f60: 1300 3800 |0000: const/16 v0, #int 56 // #38 │ │ -028f64: a400 0900 |0002: shr-long v0, v9, v0 │ │ -028f68: 8401 |0004: long-to-int v1, v0 │ │ -028f6a: 8d10 |0005: int-to-byte v0, v1 │ │ -028f6c: 1301 3000 |0006: const/16 v1, #int 48 // #30 │ │ -028f70: a401 0901 |0008: shr-long v1, v9, v1 │ │ -028f74: 8412 |000a: long-to-int v2, v1 │ │ -028f76: 8d21 |000b: int-to-byte v1, v2 │ │ -028f78: 1302 2800 |000c: const/16 v2, #int 40 // #28 │ │ -028f7c: a402 0902 |000e: shr-long v2, v9, v2 │ │ -028f80: 8423 |0010: long-to-int v3, v2 │ │ -028f82: 8d32 |0011: int-to-byte v2, v3 │ │ -028f84: 1303 2000 |0012: const/16 v3, #int 32 // #20 │ │ -028f88: a403 0903 |0014: shr-long v3, v9, v3 │ │ -028f8c: 8434 |0016: long-to-int v4, v3 │ │ -028f8e: 8d43 |0017: int-to-byte v3, v4 │ │ -028f90: 1304 1800 |0018: const/16 v4, #int 24 // #18 │ │ -028f94: a404 0904 |001a: shr-long v4, v9, v4 │ │ -028f98: 8445 |001c: long-to-int v5, v4 │ │ -028f9a: 8d54 |001d: int-to-byte v4, v5 │ │ -028f9c: 1305 1000 |001e: const/16 v5, #int 16 // #10 │ │ -028fa0: a405 0905 |0020: shr-long v5, v9, v5 │ │ -028fa4: 8456 |0022: long-to-int v6, v5 │ │ -028fa6: 8d65 |0023: int-to-byte v5, v6 │ │ -028fa8: 1306 0800 |0024: const/16 v6, #int 8 // #8 │ │ -028fac: a407 0906 |0026: shr-long v7, v9, v6 │ │ -028fb0: 8478 |0028: long-to-int v8, v7 │ │ -028fb2: 8d87 |0029: int-to-byte v7, v8 │ │ -028fb4: 849a |002a: long-to-int v10, v9 │ │ -028fb6: 8da9 |002b: int-to-byte v9, v10 │ │ -028fb8: 236a 9d01 |002c: new-array v10, v6, [B // type@019d │ │ -028fbc: 1206 |002e: const/4 v6, #int 0 // #0 │ │ -028fbe: 4f00 0a06 |002f: aput-byte v0, v10, v6 │ │ -028fc2: 1210 |0031: const/4 v0, #int 1 // #1 │ │ -028fc4: 4f01 0a00 |0032: aput-byte v1, v10, v0 │ │ -028fc8: 1220 |0034: const/4 v0, #int 2 // #2 │ │ -028fca: 4f02 0a00 |0035: aput-byte v2, v10, v0 │ │ -028fce: 1230 |0037: const/4 v0, #int 3 // #3 │ │ -028fd0: 4f03 0a00 |0038: aput-byte v3, v10, v0 │ │ -028fd4: 1240 |003a: const/4 v0, #int 4 // #4 │ │ -028fd6: 4f04 0a00 |003b: aput-byte v4, v10, v0 │ │ -028fda: 1250 |003d: const/4 v0, #int 5 // #5 │ │ -028fdc: 4f05 0a00 |003e: aput-byte v5, v10, v0 │ │ -028fe0: 1260 |0040: const/4 v0, #int 6 // #6 │ │ -028fe2: 4f07 0a00 |0041: aput-byte v7, v10, v0 │ │ -028fe6: 1270 |0043: const/4 v0, #int 7 // #7 │ │ -028fe8: 4f09 0a00 |0044: aput-byte v9, v10, v0 │ │ -028fec: 110a |0046: return-object v10 │ │ +028f4c: |[028f4c] util.Utils.longToByteArray:(J)[B │ │ +028f5c: 1300 3800 |0000: const/16 v0, #int 56 // #38 │ │ +028f60: a400 0900 |0002: shr-long v0, v9, v0 │ │ +028f64: 8401 |0004: long-to-int v1, v0 │ │ +028f66: 8d10 |0005: int-to-byte v0, v1 │ │ +028f68: 1301 3000 |0006: const/16 v1, #int 48 // #30 │ │ +028f6c: a401 0901 |0008: shr-long v1, v9, v1 │ │ +028f70: 8412 |000a: long-to-int v2, v1 │ │ +028f72: 8d21 |000b: int-to-byte v1, v2 │ │ +028f74: 1302 2800 |000c: const/16 v2, #int 40 // #28 │ │ +028f78: a402 0902 |000e: shr-long v2, v9, v2 │ │ +028f7c: 8423 |0010: long-to-int v3, v2 │ │ +028f7e: 8d32 |0011: int-to-byte v2, v3 │ │ +028f80: 1303 2000 |0012: const/16 v3, #int 32 // #20 │ │ +028f84: a403 0903 |0014: shr-long v3, v9, v3 │ │ +028f88: 8434 |0016: long-to-int v4, v3 │ │ +028f8a: 8d43 |0017: int-to-byte v3, v4 │ │ +028f8c: 1304 1800 |0018: const/16 v4, #int 24 // #18 │ │ +028f90: a404 0904 |001a: shr-long v4, v9, v4 │ │ +028f94: 8445 |001c: long-to-int v5, v4 │ │ +028f96: 8d54 |001d: int-to-byte v4, v5 │ │ +028f98: 1305 1000 |001e: const/16 v5, #int 16 // #10 │ │ +028f9c: a405 0905 |0020: shr-long v5, v9, v5 │ │ +028fa0: 8456 |0022: long-to-int v6, v5 │ │ +028fa2: 8d65 |0023: int-to-byte v5, v6 │ │ +028fa4: 1306 0800 |0024: const/16 v6, #int 8 // #8 │ │ +028fa8: a407 0906 |0026: shr-long v7, v9, v6 │ │ +028fac: 8478 |0028: long-to-int v8, v7 │ │ +028fae: 8d87 |0029: int-to-byte v7, v8 │ │ +028fb0: 849a |002a: long-to-int v10, v9 │ │ +028fb2: 8da9 |002b: int-to-byte v9, v10 │ │ +028fb4: 236a 9d01 |002c: new-array v10, v6, [B // type@019d │ │ +028fb8: 1206 |002e: const/4 v6, #int 0 // #0 │ │ +028fba: 4f00 0a06 |002f: aput-byte v0, v10, v6 │ │ +028fbe: 1210 |0031: const/4 v0, #int 1 // #1 │ │ +028fc0: 4f01 0a00 |0032: aput-byte v1, v10, v0 │ │ +028fc4: 1220 |0034: const/4 v0, #int 2 // #2 │ │ +028fc6: 4f02 0a00 |0035: aput-byte v2, v10, v0 │ │ +028fca: 1230 |0037: const/4 v0, #int 3 // #3 │ │ +028fcc: 4f03 0a00 |0038: aput-byte v3, v10, v0 │ │ +028fd0: 1240 |003a: const/4 v0, #int 4 // #4 │ │ +028fd2: 4f04 0a00 |003b: aput-byte v4, v10, v0 │ │ +028fd6: 1250 |003d: const/4 v0, #int 5 // #5 │ │ +028fd8: 4f05 0a00 |003e: aput-byte v5, v10, v0 │ │ +028fdc: 1260 |0040: const/4 v0, #int 6 // #6 │ │ +028fde: 4f07 0a00 |0041: aput-byte v7, v10, v0 │ │ +028fe2: 1270 |0043: const/4 v0, #int 7 // #7 │ │ +028fe4: 4f09 0a00 |0044: aput-byte v9, v10, v0 │ │ +028fe8: 110a |0046: return-object v10 │ │ catches : (none) │ │ positions : │ │ 0x002c line=66 │ │ locals : │ │ 0x0000 - 0x0047 reg=9 (null) J │ │ │ │ #13 : (in Lutil/Utils;) │ │ @@ -31898,51 +31898,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 │ │ -02970c: |[02970c] util.Utils.moveFileTree:(Ljava/io/File;Ljava/io/File;)V │ │ -02971c: 6e10 0a05 0800 |0000: invoke-virtual {v8}, Ljava/io/File;.isDirectory:()Z // method@050a │ │ -029722: 0a00 |0003: move-result v0 │ │ -029724: 3800 4000 |0004: if-eqz v0, 0044 // +0040 │ │ -029728: 6e10 0d05 0800 |0006: invoke-virtual {v8}, Ljava/io/File;.listFiles:()[Ljava/io/File; // method@050d │ │ -02972e: 0c00 |0009: move-result-object v0 │ │ -029730: 3800 2600 |000a: if-eqz v0, 0030 // +0026 │ │ -029734: 2101 |000c: array-length v1, v0 │ │ -029736: 1202 |000d: const/4 v2, #int 0 // #0 │ │ -029738: 3512 3c00 |000e: if-ge v2, v1, 004a // +003c │ │ -02973c: 4603 0002 |0010: aget-object v3, v0, v2 │ │ -029740: 2204 fb00 |0012: new-instance v4, Ljava/io/File; // type@00fb │ │ -029744: 6e10 0905 0300 |0014: invoke-virtual {v3}, Ljava/io/File;.getPath:()Ljava/lang/String; // method@0509 │ │ -02974a: 0c05 |0017: move-result-object v5 │ │ -02974c: 6e10 0905 0800 |0018: invoke-virtual {v8}, Ljava/io/File;.getPath:()Ljava/lang/String; // method@0509 │ │ -029752: 0c06 |001b: move-result-object v6 │ │ -029754: 6e10 0905 0900 |001c: invoke-virtual {v9}, Ljava/io/File;.getPath:()Ljava/lang/String; // method@0509 │ │ -02975a: 0c07 |001f: move-result-object v7 │ │ -02975c: 6e30 9505 6507 |0020: invoke-virtual {v5, v6, v7}, Ljava/lang/String;.replace:(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String; // method@0595 │ │ -029762: 0c05 |0023: move-result-object v5 │ │ -029764: 7020 ff04 5400 |0024: invoke-direct {v4, v5}, Ljava/io/File;.:(Ljava/lang/String;)V // method@04ff │ │ -02976a: 7120 9907 4300 |0027: invoke-static {v3, v4}, Lutil/Utils;.moveFileTree:(Ljava/io/File;Ljava/io/File;)V // method@0799 │ │ -029770: 6e10 0305 0800 |002a: invoke-virtual {v8}, Ljava/io/File;.delete:()Z // method@0503 │ │ -029776: d802 0201 |002d: add-int/lit8 v2, v2, #int 1 // #01 │ │ -02977a: 28df |002f: goto 000e // -0021 │ │ -02977c: 2209 0001 |0030: new-instance v9, Ljava/io/IOException; // type@0100 │ │ -029780: 2200 2d01 |0032: new-instance v0, Ljava/lang/StringBuilder; // type@012d │ │ -029784: 1a01 d501 |0034: const-string v1, "IOError occured while trying to move " // string@01d5 │ │ -029788: 7020 a805 1000 |0036: invoke-direct {v0, v1}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05a8 │ │ -02978e: 6e20 ac05 8000 |0039: invoke-virtual {v0, v8}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@05ac │ │ -029794: 6e10 af05 0000 |003c: invoke-virtual {v0}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ -02979a: 0c08 |003f: move-result-object v8 │ │ -02979c: 7020 1f05 8900 |0040: invoke-direct {v9, v8}, Ljava/io/IOException;.:(Ljava/lang/String;)V // method@051f │ │ -0297a2: 2709 |0043: throw v9 │ │ -0297a4: 7120 9107 9800 |0044: invoke-static {v8, v9}, Lutil/Utils;.copyFile:(Ljava/io/File;Ljava/io/File;)V // method@0791 │ │ -0297aa: 6e10 0305 0800 |0047: invoke-virtual {v8}, Ljava/io/File;.delete:()Z // method@0503 │ │ -0297b0: 0e00 |004a: return-void │ │ +029708: |[029708] util.Utils.moveFileTree:(Ljava/io/File;Ljava/io/File;)V │ │ +029718: 6e10 0a05 0800 |0000: invoke-virtual {v8}, Ljava/io/File;.isDirectory:()Z // method@050a │ │ +02971e: 0a00 |0003: move-result v0 │ │ +029720: 3800 4000 |0004: if-eqz v0, 0044 // +0040 │ │ +029724: 6e10 0d05 0800 |0006: invoke-virtual {v8}, Ljava/io/File;.listFiles:()[Ljava/io/File; // method@050d │ │ +02972a: 0c00 |0009: move-result-object v0 │ │ +02972c: 3800 2600 |000a: if-eqz v0, 0030 // +0026 │ │ +029730: 2101 |000c: array-length v1, v0 │ │ +029732: 1202 |000d: const/4 v2, #int 0 // #0 │ │ +029734: 3512 3c00 |000e: if-ge v2, v1, 004a // +003c │ │ +029738: 4603 0002 |0010: aget-object v3, v0, v2 │ │ +02973c: 2204 fb00 |0012: new-instance v4, Ljava/io/File; // type@00fb │ │ +029740: 6e10 0905 0300 |0014: invoke-virtual {v3}, Ljava/io/File;.getPath:()Ljava/lang/String; // method@0509 │ │ +029746: 0c05 |0017: move-result-object v5 │ │ +029748: 6e10 0905 0800 |0018: invoke-virtual {v8}, Ljava/io/File;.getPath:()Ljava/lang/String; // method@0509 │ │ +02974e: 0c06 |001b: move-result-object v6 │ │ +029750: 6e10 0905 0900 |001c: invoke-virtual {v9}, Ljava/io/File;.getPath:()Ljava/lang/String; // method@0509 │ │ +029756: 0c07 |001f: move-result-object v7 │ │ +029758: 6e30 9505 6507 |0020: invoke-virtual {v5, v6, v7}, Ljava/lang/String;.replace:(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String; // method@0595 │ │ +02975e: 0c05 |0023: move-result-object v5 │ │ +029760: 7020 ff04 5400 |0024: invoke-direct {v4, v5}, Ljava/io/File;.:(Ljava/lang/String;)V // method@04ff │ │ +029766: 7120 9907 4300 |0027: invoke-static {v3, v4}, Lutil/Utils;.moveFileTree:(Ljava/io/File;Ljava/io/File;)V // method@0799 │ │ +02976c: 6e10 0305 0800 |002a: invoke-virtual {v8}, Ljava/io/File;.delete:()Z // method@0503 │ │ +029772: d802 0201 |002d: add-int/lit8 v2, v2, #int 1 // #01 │ │ +029776: 28df |002f: goto 000e // -0021 │ │ +029778: 2209 0001 |0030: new-instance v9, Ljava/io/IOException; // type@0100 │ │ +02977c: 2200 2d01 |0032: new-instance v0, Ljava/lang/StringBuilder; // type@012d │ │ +029780: 1a01 d501 |0034: const-string v1, "IOError occured while trying to move " // string@01d5 │ │ +029784: 7020 a805 1000 |0036: invoke-direct {v0, v1}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05a8 │ │ +02978a: 6e20 ac05 8000 |0039: invoke-virtual {v0, v8}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@05ac │ │ +029790: 6e10 af05 0000 |003c: invoke-virtual {v0}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ +029796: 0c08 |003f: move-result-object v8 │ │ +029798: 7020 1f05 8900 |0040: invoke-direct {v9, v8}, Ljava/io/IOException;.:(Ljava/lang/String;)V // method@051f │ │ +02979e: 2709 |0043: throw v9 │ │ +0297a0: 7120 9107 9800 |0044: invoke-static {v8, v9}, Lutil/Utils;.copyFile:(Ljava/io/File;Ljava/io/File;)V // method@0791 │ │ +0297a6: 6e10 0305 0800 |0047: invoke-virtual {v8}, Ljava/io/File;.delete:()Z // method@0503 │ │ +0297ac: 0e00 |004a: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=344 │ │ 0x0006 line=345 │ │ 0x000c line=348 │ │ 0x0012 line=349 │ │ 0x002a line=350 │ │ @@ -31958,56 +31958,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 │ │ -0293a8: |[0293a8] util.Utils.parseURI:(Ljava/lang/String;)[Ljava/lang/String; │ │ -0293b8: 1270 |0000: const/4 v0, #int 7 // #7 │ │ -0293ba: 6e20 9a05 0500 |0001: invoke-virtual {v5, v0}, Ljava/lang/String;.substring:(I)Ljava/lang/String; // method@059a │ │ -0293c0: 0c00 |0004: move-result-object v0 │ │ -0293c2: 1301 2f00 |0005: const/16 v1, #int 47 // #2f │ │ -0293c6: 6e20 8f05 1000 |0007: invoke-virtual {v0, v1}, Ljava/lang/String;.indexOf:(I)I // method@058f │ │ -0293cc: 0a01 |000a: move-result v1 │ │ -0293ce: 12f2 |000b: const/4 v2, #int -1 // #ff │ │ -0293d0: 3321 0600 |000c: if-ne v1, v2, 0012 // +0006 │ │ -0293d4: 6e10 9405 0000 |000e: invoke-virtual {v0}, Ljava/lang/String;.length:()I // method@0594 │ │ -0293da: 0a01 |0011: move-result v1 │ │ -0293dc: 1202 |0012: const/4 v2, #int 0 // #0 │ │ -0293de: 6e30 9b05 2001 |0013: invoke-virtual {v0, v2, v1}, Ljava/lang/String;.substring:(II)Ljava/lang/String; // method@059b │ │ -0293e4: 0c03 |0016: move-result-object v3 │ │ -0293e6: 6e10 9405 0000 |0017: invoke-virtual {v0}, Ljava/lang/String;.length:()I // method@0594 │ │ -0293ec: 0a04 |001a: move-result v4 │ │ -0293ee: 3341 0500 |001b: if-ne v1, v4, 0020 // +0005 │ │ -0293f2: 1a00 6000 |001d: const-string v0, "/" // string@0060 │ │ -0293f6: 2805 |001f: goto 0024 // +0005 │ │ -0293f8: 6e20 9a05 1000 |0020: invoke-virtual {v0, v1}, Ljava/lang/String;.substring:(I)Ljava/lang/String; // method@059a │ │ -0293fe: 0c00 |0023: move-result-object v0 │ │ -029400: 1221 |0024: const/4 v1, #int 2 // #2 │ │ -029402: 2311 ad01 |0025: new-array v1, v1, [Ljava/lang/String; // type@01ad │ │ -029406: 4d03 0102 |0027: aput-object v3, v1, v2 │ │ -02940a: 1212 |0029: const/4 v2, #int 1 // #1 │ │ -02940c: 4d00 0102 |002a: aput-object v0, v1, v2 │ │ -029410: 1101 |002c: return-object v1 │ │ -029412: 0d00 |002d: move-exception v0 │ │ -029414: 2201 0001 |002e: new-instance v1, Ljava/io/IOException; // type@0100 │ │ -029418: 2202 2d01 |0030: new-instance v2, Ljava/lang/StringBuilder; // type@012d │ │ -02941c: 1a03 f600 |0032: const-string v3, "Cannot parse URI '" // string@00f6 │ │ -029420: 7020 a805 3200 |0034: invoke-direct {v2, v3}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05a8 │ │ -029426: 6e20 ad05 5200 |0037: invoke-virtual {v2, v5}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -02942c: 1a05 4200 |003a: const-string v5, "'! - " // string@0042 │ │ -029430: 6e20 ad05 5200 |003c: invoke-virtual {v2, v5}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -029436: 6e10 5f05 0000 |003f: invoke-virtual {v0}, Ljava/lang/Exception;.toString:()Ljava/lang/String; // method@055f │ │ -02943c: 0c05 |0042: move-result-object v5 │ │ -02943e: 6e20 ad05 5200 |0043: invoke-virtual {v2, v5}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -029444: 6e10 af05 0200 |0046: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ -02944a: 0c05 |0049: move-result-object v5 │ │ -02944c: 7020 1f05 5100 |004a: invoke-direct {v1, v5}, Ljava/io/IOException;.:(Ljava/lang/String;)V // method@051f │ │ -029452: 2701 |004d: throw v1 │ │ +0293a4: |[0293a4] util.Utils.parseURI:(Ljava/lang/String;)[Ljava/lang/String; │ │ +0293b4: 1270 |0000: const/4 v0, #int 7 // #7 │ │ +0293b6: 6e20 9a05 0500 |0001: invoke-virtual {v5, v0}, Ljava/lang/String;.substring:(I)Ljava/lang/String; // method@059a │ │ +0293bc: 0c00 |0004: move-result-object v0 │ │ +0293be: 1301 2f00 |0005: const/16 v1, #int 47 // #2f │ │ +0293c2: 6e20 8f05 1000 |0007: invoke-virtual {v0, v1}, Ljava/lang/String;.indexOf:(I)I // method@058f │ │ +0293c8: 0a01 |000a: move-result v1 │ │ +0293ca: 12f2 |000b: const/4 v2, #int -1 // #ff │ │ +0293cc: 3321 0600 |000c: if-ne v1, v2, 0012 // +0006 │ │ +0293d0: 6e10 9405 0000 |000e: invoke-virtual {v0}, Ljava/lang/String;.length:()I // method@0594 │ │ +0293d6: 0a01 |0011: move-result v1 │ │ +0293d8: 1202 |0012: const/4 v2, #int 0 // #0 │ │ +0293da: 6e30 9b05 2001 |0013: invoke-virtual {v0, v2, v1}, Ljava/lang/String;.substring:(II)Ljava/lang/String; // method@059b │ │ +0293e0: 0c03 |0016: move-result-object v3 │ │ +0293e2: 6e10 9405 0000 |0017: invoke-virtual {v0}, Ljava/lang/String;.length:()I // method@0594 │ │ +0293e8: 0a04 |001a: move-result v4 │ │ +0293ea: 3341 0500 |001b: if-ne v1, v4, 0020 // +0005 │ │ +0293ee: 1a00 6000 |001d: const-string v0, "/" // string@0060 │ │ +0293f2: 2805 |001f: goto 0024 // +0005 │ │ +0293f4: 6e20 9a05 1000 |0020: invoke-virtual {v0, v1}, Ljava/lang/String;.substring:(I)Ljava/lang/String; // method@059a │ │ +0293fa: 0c00 |0023: move-result-object v0 │ │ +0293fc: 1221 |0024: const/4 v1, #int 2 // #2 │ │ +0293fe: 2311 ad01 |0025: new-array v1, v1, [Ljava/lang/String; // type@01ad │ │ +029402: 4d03 0102 |0027: aput-object v3, v1, v2 │ │ +029406: 1212 |0029: const/4 v2, #int 1 // #1 │ │ +029408: 4d00 0102 |002a: aput-object v0, v1, v2 │ │ +02940c: 1101 |002c: return-object v1 │ │ +02940e: 0d00 |002d: move-exception v0 │ │ +029410: 2201 0001 |002e: new-instance v1, Ljava/io/IOException; // type@0100 │ │ +029414: 2202 2d01 |0030: new-instance v2, Ljava/lang/StringBuilder; // type@012d │ │ +029418: 1a03 f600 |0032: const-string v3, "Cannot parse URI '" // string@00f6 │ │ +02941c: 7020 a805 3200 |0034: invoke-direct {v2, v3}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05a8 │ │ +029422: 6e20 ad05 5200 |0037: invoke-virtual {v2, v5}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +029428: 1a05 4200 |003a: const-string v5, "'! - " // string@0042 │ │ +02942c: 6e20 ad05 5200 |003c: invoke-virtual {v2, v5}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +029432: 6e10 5f05 0000 |003f: invoke-virtual {v0}, Ljava/lang/Exception;.toString:()Ljava/lang/String; // method@055f │ │ +029438: 0c05 |0042: move-result-object v5 │ │ +02943a: 6e20 ad05 5200 |0043: invoke-virtual {v2, v5}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +029440: 6e10 af05 0200 |0046: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ +029446: 0c05 |0049: move-result-object v5 │ │ +029448: 7020 1f05 5100 |004a: invoke-direct {v1, v5}, Ljava/io/IOException;.:(Ljava/lang/String;)V // method@051f │ │ +02944e: 2701 |004d: throw v1 │ │ catches : 1 │ │ 0x0001 - 0x002c │ │ Ljava/lang/Exception; -> 0x002d │ │ positions : │ │ 0x0001 line=287 │ │ 0x0007 line=288 │ │ 0x000e line=290 │ │ @@ -32025,28 +32025,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 │ │ -028ff0: |[028ff0] util.Utils.readFully:(Ljava/io/InputStream;I)[B │ │ -029000: 2200 f700 |0000: new-instance v0, Ljava/io/ByteArrayOutputStream; // type@00f7 │ │ -029004: 7010 e404 0000 |0002: invoke-direct {v0}, Ljava/io/ByteArrayOutputStream;.:()V // method@04e4 │ │ -02900a: 2361 9d01 |0005: new-array v1, v6, [B // type@019d │ │ -02900e: 1202 |0007: const/4 v2, #int 0 // #0 │ │ -029010: 6e40 2a05 1562 |0008: invoke-virtual {v5, v1, v2, v6}, Ljava/io/InputStream;.read:([BII)I // method@052a │ │ -029016: 0a03 |000b: move-result v3 │ │ -029018: 12f4 |000c: const/4 v4, #int -1 // #ff │ │ -02901a: 3243 0600 |000d: if-eq v3, v4, 0013 // +0006 │ │ -02901e: 6e40 ed04 1032 |000f: invoke-virtual {v0, v1, v2, v3}, Ljava/io/ByteArrayOutputStream;.write:([BII)V // method@04ed │ │ -029024: 28f5 |0012: goto 0007 // -000b │ │ -029026: 6e10 ea04 0000 |0013: invoke-virtual {v0}, Ljava/io/ByteArrayOutputStream;.toByteArray:()[B // method@04ea │ │ -02902c: 0c05 |0016: move-result-object v5 │ │ -02902e: 1105 |0017: return-object v5 │ │ +028fec: |[028fec] util.Utils.readFully:(Ljava/io/InputStream;I)[B │ │ +028ffc: 2200 f700 |0000: new-instance v0, Ljava/io/ByteArrayOutputStream; // type@00f7 │ │ +029000: 7010 e404 0000 |0002: invoke-direct {v0}, Ljava/io/ByteArrayOutputStream;.:()V // method@04e4 │ │ +029006: 2361 9d01 |0005: new-array v1, v6, [B // type@019d │ │ +02900a: 1202 |0007: const/4 v2, #int 0 // #0 │ │ +02900c: 6e40 2a05 1562 |0008: invoke-virtual {v5, v1, v2, v6}, Ljava/io/InputStream;.read:([BII)I // method@052a │ │ +029012: 0a03 |000b: move-result v3 │ │ +029014: 12f4 |000c: const/4 v4, #int -1 // #ff │ │ +029016: 3243 0600 |000d: if-eq v3, v4, 0013 // +0006 │ │ +02901a: 6e40 ed04 1032 |000f: invoke-virtual {v0, v1, v2, v3}, Ljava/io/ByteArrayOutputStream;.write:([BII)V // method@04ed │ │ +029020: 28f5 |0012: goto 0007 // -000b │ │ +029022: 6e10 ea04 0000 |0013: invoke-virtual {v0}, Ljava/io/ByteArrayOutputStream;.toByteArray:()[B // method@04ea │ │ +029028: 0c05 |0016: move-result-object v5 │ │ +02902a: 1105 |0017: return-object v5 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=248 │ │ 0x0005 line=250 │ │ 0x0008 line=251 │ │ 0x000f line=252 │ │ 0x0013 line=253 │ │ @@ -32059,83 +32059,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 │ │ -0290bc: |[0290bc] util.Utils.readLineBytesFromStream:(Ljava/io/InputStream;[BZZ)I │ │ -0290cc: 6e10 2805 0400 |0000: invoke-virtual {v4}, Ljava/io/InputStream;.read:()I // method@0528 │ │ -0290d2: 0a00 |0003: move-result v0 │ │ -0290d4: 12f1 |0004: const/4 v1, #int -1 // #ff │ │ -0290d6: 3807 1100 |0005: if-eqz v7, 0016 // +0011 │ │ -0290da: 1302 2300 |0007: const/16 v2, #int 35 // #23 │ │ -0290de: 3320 0d00 |0009: if-ne v0, v2, 0016 // +000d │ │ -0290e2: 7110 a107 0400 |000b: invoke-static {v4}, Lutil/Utils;.skipLine:(Ljava/io/InputStream;)I // method@07a1 │ │ -0290e8: 0a00 |000e: move-result v0 │ │ -0290ea: 3210 f5ff |000f: if-eq v0, v1, 0004 // -000b │ │ -0290ee: 6e10 2805 0400 |0011: invoke-virtual {v4}, Ljava/io/InputStream;.read:()I // method@0528 │ │ -0290f4: 0a00 |0014: move-result v0 │ │ -0290f6: 28ef |0015: goto 0004 // -0011 │ │ -0290f8: 3310 0300 |0016: if-ne v0, v1, 0019 // +0003 │ │ -0290fc: 0f01 |0018: return v1 │ │ -0290fe: 2157 |0019: array-length v7, v5 │ │ -029100: 3807 5a00 |001a: if-eqz v7, 0074 // +005a │ │ -029104: 1207 |001c: const/4 v7, #int 0 // #0 │ │ -029106: 8d02 |001d: int-to-byte v2, v0 │ │ -029108: 4f02 0507 |001e: aput-byte v2, v5, v7 │ │ -02910c: 1217 |0020: const/4 v7, #int 1 // #1 │ │ -02910e: 3210 5200 |0021: if-eq v0, v1, 0073 // +0052 │ │ -029112: 1302 0a00 |0023: const/16 v2, #int 10 // #a │ │ -029116: 3220 4e00 |0025: if-eq v0, v2, 0073 // +004e │ │ -02911a: 3210 faff |0027: if-eq v0, v1, 0021 // -0006 │ │ -02911e: 3220 f8ff |0029: if-eq v0, v2, 0021 // -0008 │ │ -029122: 6e10 2805 0400 |002b: invoke-virtual {v4}, Ljava/io/InputStream;.read:()I // method@0528 │ │ -029128: 0a00 |002e: move-result v0 │ │ -02912a: 3210 f8ff |002f: if-eq v0, v1, 0027 // -0008 │ │ -02912e: 2153 |0031: array-length v3, v5 │ │ -029130: 3237 3900 |0032: if-eq v7, v3, 006b // +0039 │ │ -029134: 3806 3100 |0034: if-eqz v6, 0065 // +0031 │ │ -029138: 1303 2000 |0036: const/16 v3, #int 32 // #20 │ │ -02913c: 3530 2d00 |0038: if-ge v0, v3, 0065 // +002d │ │ -029140: 1303 0900 |003a: const/16 v3, #int 9 // #9 │ │ -029144: 3530 2900 |003c: if-ge v0, v3, 0065 // +0029 │ │ -029148: 1303 0d00 |003e: const/16 v3, #int 13 // #d │ │ -02914c: 3630 0300 |0040: if-gt v0, v3, 0043 // +0003 │ │ -029150: 2823 |0042: goto 0065 // +0023 │ │ -029152: 2204 0001 |0043: new-instance v4, Ljava/io/IOException; // type@0100 │ │ -029156: 2205 2d01 |0045: new-instance v5, Ljava/lang/StringBuilder; // type@012d │ │ -02915a: 1a06 f103 |0047: const-string v6, "Non printable character: " // string@03f1 │ │ -02915e: 7020 a805 6500 |0049: invoke-direct {v5, v6}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05a8 │ │ -029164: 6e20 aa05 0500 |004c: invoke-virtual {v5, v0}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@05aa │ │ -02916a: 1a06 4300 |004f: const-string v6, "(" // string@0043 │ │ -02916e: 6e20 ad05 6500 |0051: invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -029174: 8e06 |0054: int-to-char v6, v0 │ │ -029176: 6e20 a905 6500 |0055: invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;.append:(C)Ljava/lang/StringBuilder; // method@05a9 │ │ -02917c: 1a06 4800 |0058: const-string v6, ")" // string@0048 │ │ -029180: 6e20 ad05 6500 |005a: invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -029186: 6e10 af05 0500 |005d: invoke-virtual {v5}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ -02918c: 0c05 |0060: move-result-object v5 │ │ -02918e: 7020 1f05 5400 |0061: invoke-direct {v4, v5}, Ljava/io/IOException;.:(Ljava/lang/String;)V // method@051f │ │ -029194: 2704 |0064: throw v4 │ │ -029196: 8d03 |0065: int-to-byte v3, v0 │ │ -029198: 4f03 0507 |0066: aput-byte v3, v5, v7 │ │ -02919c: d807 0701 |0068: add-int/lit8 v7, v7, #int 1 // #01 │ │ -0291a0: 28bd |006a: goto 0027 // -0043 │ │ -0291a2: 2204 0001 |006b: new-instance v4, Ljava/io/IOException; // type@0100 │ │ -0291a6: 1a05 d400 |006d: const-string v5, "Buffer overflow!" // string@00d4 │ │ -0291aa: 7020 1f05 5400 |006f: invoke-direct {v4, v5}, Ljava/io/IOException;.:(Ljava/lang/String;)V // method@051f │ │ -0291b0: 2704 |0072: throw v4 │ │ -0291b2: 0f07 |0073: return v7 │ │ -0291b4: 2204 0001 |0074: new-instance v4, Ljava/io/IOException; // type@0100 │ │ -0291b8: 1a05 d200 |0076: const-string v5, "Buffer Overflow!" // string@00d2 │ │ -0291bc: 7020 1f05 5400 |0078: invoke-direct {v4, v5}, Ljava/io/IOException;.:(Ljava/lang/String;)V // method@051f │ │ -0291c2: 2802 |007b: goto 007d // +0002 │ │ -0291c4: 2704 |007c: throw v4 │ │ -0291c6: 28ff |007d: goto 007c // -0001 │ │ +0290b8: |[0290b8] util.Utils.readLineBytesFromStream:(Ljava/io/InputStream;[BZZ)I │ │ +0290c8: 6e10 2805 0400 |0000: invoke-virtual {v4}, Ljava/io/InputStream;.read:()I // method@0528 │ │ +0290ce: 0a00 |0003: move-result v0 │ │ +0290d0: 12f1 |0004: const/4 v1, #int -1 // #ff │ │ +0290d2: 3807 1100 |0005: if-eqz v7, 0016 // +0011 │ │ +0290d6: 1302 2300 |0007: const/16 v2, #int 35 // #23 │ │ +0290da: 3320 0d00 |0009: if-ne v0, v2, 0016 // +000d │ │ +0290de: 7110 a107 0400 |000b: invoke-static {v4}, Lutil/Utils;.skipLine:(Ljava/io/InputStream;)I // method@07a1 │ │ +0290e4: 0a00 |000e: move-result v0 │ │ +0290e6: 3210 f5ff |000f: if-eq v0, v1, 0004 // -000b │ │ +0290ea: 6e10 2805 0400 |0011: invoke-virtual {v4}, Ljava/io/InputStream;.read:()I // method@0528 │ │ +0290f0: 0a00 |0014: move-result v0 │ │ +0290f2: 28ef |0015: goto 0004 // -0011 │ │ +0290f4: 3310 0300 |0016: if-ne v0, v1, 0019 // +0003 │ │ +0290f8: 0f01 |0018: return v1 │ │ +0290fa: 2157 |0019: array-length v7, v5 │ │ +0290fc: 3807 5a00 |001a: if-eqz v7, 0074 // +005a │ │ +029100: 1207 |001c: const/4 v7, #int 0 // #0 │ │ +029102: 8d02 |001d: int-to-byte v2, v0 │ │ +029104: 4f02 0507 |001e: aput-byte v2, v5, v7 │ │ +029108: 1217 |0020: const/4 v7, #int 1 // #1 │ │ +02910a: 3210 5200 |0021: if-eq v0, v1, 0073 // +0052 │ │ +02910e: 1302 0a00 |0023: const/16 v2, #int 10 // #a │ │ +029112: 3220 4e00 |0025: if-eq v0, v2, 0073 // +004e │ │ +029116: 3210 faff |0027: if-eq v0, v1, 0021 // -0006 │ │ +02911a: 3220 f8ff |0029: if-eq v0, v2, 0021 // -0008 │ │ +02911e: 6e10 2805 0400 |002b: invoke-virtual {v4}, Ljava/io/InputStream;.read:()I // method@0528 │ │ +029124: 0a00 |002e: move-result v0 │ │ +029126: 3210 f8ff |002f: if-eq v0, v1, 0027 // -0008 │ │ +02912a: 2153 |0031: array-length v3, v5 │ │ +02912c: 3237 3900 |0032: if-eq v7, v3, 006b // +0039 │ │ +029130: 3806 3100 |0034: if-eqz v6, 0065 // +0031 │ │ +029134: 1303 2000 |0036: const/16 v3, #int 32 // #20 │ │ +029138: 3530 2d00 |0038: if-ge v0, v3, 0065 // +002d │ │ +02913c: 1303 0900 |003a: const/16 v3, #int 9 // #9 │ │ +029140: 3530 2900 |003c: if-ge v0, v3, 0065 // +0029 │ │ +029144: 1303 0d00 |003e: const/16 v3, #int 13 // #d │ │ +029148: 3630 0300 |0040: if-gt v0, v3, 0043 // +0003 │ │ +02914c: 2823 |0042: goto 0065 // +0023 │ │ +02914e: 2204 0001 |0043: new-instance v4, Ljava/io/IOException; // type@0100 │ │ +029152: 2205 2d01 |0045: new-instance v5, Ljava/lang/StringBuilder; // type@012d │ │ +029156: 1a06 f103 |0047: const-string v6, "Non printable character: " // string@03f1 │ │ +02915a: 7020 a805 6500 |0049: invoke-direct {v5, v6}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05a8 │ │ +029160: 6e20 aa05 0500 |004c: invoke-virtual {v5, v0}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@05aa │ │ +029166: 1a06 4300 |004f: const-string v6, "(" // string@0043 │ │ +02916a: 6e20 ad05 6500 |0051: invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +029170: 8e06 |0054: int-to-char v6, v0 │ │ +029172: 6e20 a905 6500 |0055: invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;.append:(C)Ljava/lang/StringBuilder; // method@05a9 │ │ +029178: 1a06 4800 |0058: const-string v6, ")" // string@0048 │ │ +02917c: 6e20 ad05 6500 |005a: invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +029182: 6e10 af05 0500 |005d: invoke-virtual {v5}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ +029188: 0c05 |0060: move-result-object v5 │ │ +02918a: 7020 1f05 5400 |0061: invoke-direct {v4, v5}, Ljava/io/IOException;.:(Ljava/lang/String;)V // method@051f │ │ +029190: 2704 |0064: throw v4 │ │ +029192: 8d03 |0065: int-to-byte v3, v0 │ │ +029194: 4f03 0507 |0066: aput-byte v3, v5, v7 │ │ +029198: d807 0701 |0068: add-int/lit8 v7, v7, #int 1 // #01 │ │ +02919c: 28bd |006a: goto 0027 // -0043 │ │ +02919e: 2204 0001 |006b: new-instance v4, Ljava/io/IOException; // type@0100 │ │ +0291a2: 1a05 d400 |006d: const-string v5, "Buffer overflow!" // string@00d4 │ │ +0291a6: 7020 1f05 5400 |006f: invoke-direct {v4, v5}, Ljava/io/IOException;.:(Ljava/lang/String;)V // method@051f │ │ +0291ac: 2704 |0072: throw v4 │ │ +0291ae: 0f07 |0073: return v7 │ │ +0291b0: 2204 0001 |0074: new-instance v4, Ljava/io/IOException; // type@0100 │ │ +0291b4: 1a05 d200 |0076: const-string v5, "Buffer Overflow!" // string@00d2 │ │ +0291b8: 7020 1f05 5400 |0078: invoke-direct {v4, v5}, Ljava/io/IOException;.:(Ljava/lang/String;)V // method@051f │ │ +0291be: 2802 |007b: goto 007d // +0002 │ │ +0291c0: 2704 |007c: throw v4 │ │ +0291c2: 28ff |007d: goto 007c // -0001 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=183 │ │ 0x000b line=186 │ │ 0x0011 line=189 │ │ 0x0019 line=195 │ │ 0x001e line=198 │ │ @@ -32156,19 +32156,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 │ │ -0292d4: |[0292d4] util.Utils.readLineFromStream:(Ljava/io/InputStream;)Ljava/lang/String; │ │ -0292e4: 1200 |0000: const/4 v0, #int 0 // #0 │ │ -0292e6: 7120 9e07 0100 |0001: invoke-static {v1, v0}, Lutil/Utils;.readLineFromStream:(Ljava/io/InputStream;Z)Ljava/lang/String; // method@079e │ │ -0292ec: 0c01 |0004: move-result-object v1 │ │ -0292ee: 1101 |0005: return-object v1 │ │ +0292d0: |[0292d0] util.Utils.readLineFromStream:(Ljava/io/InputStream;)Ljava/lang/String; │ │ +0292e0: 1200 |0000: const/4 v0, #int 0 // #0 │ │ +0292e2: 7120 9e07 0100 |0001: invoke-static {v1, v0}, Lutil/Utils;.readLineFromStream:(Ljava/io/InputStream;Z)Ljava/lang/String; // method@079e │ │ +0292e8: 0c01 |0004: move-result-object v1 │ │ +0292ea: 1101 |0005: return-object v1 │ │ catches : (none) │ │ positions : │ │ 0x0001 line=243 │ │ locals : │ │ 0x0000 - 0x0006 reg=1 (null) Ljava/io/InputStream; │ │ │ │ #18 : (in Lutil/Utils;) │ │ @@ -32176,57 +32176,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 │ │ -0292f0: |[0292f0] util.Utils.readLineFromStream:(Ljava/io/InputStream;Z)Ljava/lang/String; │ │ -029300: 2200 2c01 |0000: new-instance v0, Ljava/lang/StringBuffer; // type@012c │ │ -029304: 7010 a105 0000 |0002: invoke-direct {v0}, Ljava/lang/StringBuffer;.:()V // method@05a1 │ │ -02930a: 1201 |0005: const/4 v1, #int 0 // #0 │ │ -02930c: 12f2 |0006: const/4 v2, #int -1 // #ff │ │ -02930e: 1203 |0007: const/4 v3, #int 0 // #0 │ │ -029310: 12f4 |0008: const/4 v4, #int -1 // #ff │ │ -029312: 1205 |0009: const/4 v5, #int 0 // #0 │ │ -029314: 1206 |000a: const/4 v6, #int 0 // #0 │ │ -029316: 1307 0d00 |000b: const/16 v7, #int 13 // #d │ │ -02931a: 3903 2000 |000d: if-nez v3, 002d // +0020 │ │ -02931e: 6e10 2805 0900 |000f: invoke-virtual {v9}, Ljava/io/InputStream;.read:()I // method@0528 │ │ -029324: 0a04 |0012: move-result v4 │ │ -029326: 8d43 |0013: int-to-byte v3, v4 │ │ -029328: 3224 0d00 |0014: if-eq v4, v2, 0021 // +000d │ │ -02932c: 1308 0a00 |0016: const/16 v8, #int 10 // #a │ │ -029330: 3383 0700 |0018: if-ne v3, v8, 001f // +0007 │ │ -029334: 380a 0700 |001a: if-eqz v10, 0021 // +0007 │ │ -029338: 3376 0300 |001c: if-ne v6, v7, 001f // +0003 │ │ -02933c: 2803 |001e: goto 0021 // +0003 │ │ -02933e: 1207 |001f: const/4 v7, #int 0 // #0 │ │ -029340: 2802 |0020: goto 0022 // +0002 │ │ -029342: 1217 |0021: const/4 v7, #int 1 // #1 │ │ -029344: 3907 0900 |0022: if-nez v7, 002b // +0009 │ │ -029348: 8e36 |0024: int-to-char v6, v3 │ │ -02934a: 6e20 a305 6000 |0025: invoke-virtual {v0, v6}, Ljava/lang/StringBuffer;.append:(C)Ljava/lang/StringBuffer; // method@05a3 │ │ -029350: d805 0501 |0028: add-int/lit8 v5, v5, #int 1 // #01 │ │ -029354: 0136 |002a: move v6, v3 │ │ -029356: 0173 |002b: move v3, v7 │ │ -029358: 28df |002c: goto 000b // -0021 │ │ -02935a: 3324 0d00 |002d: if-ne v4, v2, 003a // +000d │ │ -02935e: 3805 0300 |002f: if-eqz v5, 0032 // +0003 │ │ -029362: 2809 |0031: goto 003a // +0009 │ │ -029364: 2209 fa00 |0032: new-instance v9, Ljava/io/EOFException; // type@00fa │ │ -029368: 1a0a 6304 |0034: const-string v10, "Stream is closed!" // string@0463 │ │ -02936c: 7020 fe04 a900 |0036: invoke-direct {v9, v10}, Ljava/io/EOFException;.:(Ljava/lang/String;)V // method@04fe │ │ -029372: 2709 |0039: throw v9 │ │ -029374: 3d05 0600 |003a: if-lez v5, 0040 // +0006 │ │ -029378: 3376 0400 |003c: if-ne v6, v7, 0040 // +0004 │ │ -02937c: d805 05ff |003e: add-int/lit8 v5, v5, #int -1 // #ff │ │ -029380: 6e30 a505 1005 |0040: invoke-virtual {v0, v1, v5}, Ljava/lang/StringBuffer;.substring:(II)Ljava/lang/String; // method@05a5 │ │ -029386: 0c09 |0043: move-result-object v9 │ │ -029388: 1109 |0044: return-object v9 │ │ +0292ec: |[0292ec] util.Utils.readLineFromStream:(Ljava/io/InputStream;Z)Ljava/lang/String; │ │ +0292fc: 2200 2c01 |0000: new-instance v0, Ljava/lang/StringBuffer; // type@012c │ │ +029300: 7010 a105 0000 |0002: invoke-direct {v0}, Ljava/lang/StringBuffer;.:()V // method@05a1 │ │ +029306: 1201 |0005: const/4 v1, #int 0 // #0 │ │ +029308: 12f2 |0006: const/4 v2, #int -1 // #ff │ │ +02930a: 1203 |0007: const/4 v3, #int 0 // #0 │ │ +02930c: 12f4 |0008: const/4 v4, #int -1 // #ff │ │ +02930e: 1205 |0009: const/4 v5, #int 0 // #0 │ │ +029310: 1206 |000a: const/4 v6, #int 0 // #0 │ │ +029312: 1307 0d00 |000b: const/16 v7, #int 13 // #d │ │ +029316: 3903 2000 |000d: if-nez v3, 002d // +0020 │ │ +02931a: 6e10 2805 0900 |000f: invoke-virtual {v9}, Ljava/io/InputStream;.read:()I // method@0528 │ │ +029320: 0a04 |0012: move-result v4 │ │ +029322: 8d43 |0013: int-to-byte v3, v4 │ │ +029324: 3224 0d00 |0014: if-eq v4, v2, 0021 // +000d │ │ +029328: 1308 0a00 |0016: const/16 v8, #int 10 // #a │ │ +02932c: 3383 0700 |0018: if-ne v3, v8, 001f // +0007 │ │ +029330: 380a 0700 |001a: if-eqz v10, 0021 // +0007 │ │ +029334: 3376 0300 |001c: if-ne v6, v7, 001f // +0003 │ │ +029338: 2803 |001e: goto 0021 // +0003 │ │ +02933a: 1207 |001f: const/4 v7, #int 0 // #0 │ │ +02933c: 2802 |0020: goto 0022 // +0002 │ │ +02933e: 1217 |0021: const/4 v7, #int 1 // #1 │ │ +029340: 3907 0900 |0022: if-nez v7, 002b // +0009 │ │ +029344: 8e36 |0024: int-to-char v6, v3 │ │ +029346: 6e20 a305 6000 |0025: invoke-virtual {v0, v6}, Ljava/lang/StringBuffer;.append:(C)Ljava/lang/StringBuffer; // method@05a3 │ │ +02934c: d805 0501 |0028: add-int/lit8 v5, v5, #int 1 // #01 │ │ +029350: 0136 |002a: move v6, v3 │ │ +029352: 0173 |002b: move v3, v7 │ │ +029354: 28df |002c: goto 000b // -0021 │ │ +029356: 3324 0d00 |002d: if-ne v4, v2, 003a // +000d │ │ +02935a: 3805 0300 |002f: if-eqz v5, 0032 // +0003 │ │ +02935e: 2809 |0031: goto 003a // +0009 │ │ +029360: 2209 fa00 |0032: new-instance v9, Ljava/io/EOFException; // type@00fa │ │ +029364: 1a0a 6304 |0034: const-string v10, "Stream is closed!" // string@0463 │ │ +029368: 7020 fe04 a900 |0036: invoke-direct {v9, v10}, Ljava/io/EOFException;.:(Ljava/lang/String;)V // method@04fe │ │ +02936e: 2709 |0039: throw v9 │ │ +029370: 3d05 0600 |003a: if-lez v5, 0040 // +0006 │ │ +029374: 3376 0400 |003c: if-ne v6, v7, 0040 // +0004 │ │ +029378: d805 05ff |003e: add-int/lit8 v5, v5, #int -1 // #ff │ │ +02937c: 6e30 a505 1005 |0040: invoke-virtual {v0, v1, v5}, Ljava/lang/StringBuffer;.substring:(II)Ljava/lang/String; // method@05a5 │ │ +029382: 0c09 |0043: move-result-object v9 │ │ +029384: 1109 |0044: return-object v9 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=157 │ │ 0x000f line=162 │ │ 0x0025 line=166 │ │ 0x0032 line=173 │ │ 0x0040 line=178 │ │ @@ -32239,19 +32239,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 │ │ -02938c: |[02938c] util.Utils.readLineFromStreamRN:(Ljava/io/InputStream;)Ljava/lang/String; │ │ -02939c: 1210 |0000: const/4 v0, #int 1 // #1 │ │ -02939e: 7120 9e07 0100 |0001: invoke-static {v1, v0}, Lutil/Utils;.readLineFromStream:(Ljava/io/InputStream;Z)Ljava/lang/String; // method@079e │ │ -0293a4: 0c01 |0004: move-result-object v1 │ │ -0293a6: 1101 |0005: return-object v1 │ │ +029388: |[029388] util.Utils.readLineFromStreamRN:(Ljava/io/InputStream;)Ljava/lang/String; │ │ +029398: 1210 |0000: const/4 v0, #int 1 // #1 │ │ +02939a: 7120 9e07 0100 |0001: invoke-static {v1, v0}, Lutil/Utils;.readLineFromStream:(Ljava/io/InputStream;Z)Ljava/lang/String; // method@079e │ │ +0293a0: 0c01 |0004: move-result-object v1 │ │ +0293a2: 1101 |0005: return-object v1 │ │ catches : (none) │ │ positions : │ │ 0x0001 line=239 │ │ locals : │ │ 0x0000 - 0x0006 reg=1 (null) Ljava/io/InputStream; │ │ │ │ #20 : (in Lutil/Utils;) │ │ @@ -32259,25 +32259,25 @@ │ │ type : '(Ljava/lang/Object;)[B' │ │ access : 0x0009 (PUBLIC STATIC) │ │ code - │ │ registers : 3 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 24 16-bit code units │ │ -029030: |[029030] util.Utils.serializeObject:(Ljava/lang/Object;)[B │ │ -029040: 2200 f700 |0000: new-instance v0, Ljava/io/ByteArrayOutputStream; // type@00f7 │ │ -029044: 7010 e404 0000 |0002: invoke-direct {v0}, Ljava/io/ByteArrayOutputStream;.:()V // method@04e4 │ │ -02904a: 2201 0401 |0005: new-instance v1, Ljava/io/ObjectOutputStream; // type@0104 │ │ -02904e: 7020 2e05 0100 |0007: invoke-direct {v1, v0}, Ljava/io/ObjectOutputStream;.:(Ljava/io/OutputStream;)V // method@052e │ │ -029054: 6e20 3105 2100 |000a: invoke-virtual {v1, v2}, Ljava/io/ObjectOutputStream;.writeObject:(Ljava/lang/Object;)V // method@0531 │ │ -02905a: 6e10 3005 0100 |000d: invoke-virtual {v1}, Ljava/io/ObjectOutputStream;.flush:()V // method@0530 │ │ -029060: 6e10 2f05 0100 |0010: invoke-virtual {v1}, Ljava/io/ObjectOutputStream;.close:()V // method@052f │ │ -029066: 6e10 ea04 0000 |0013: invoke-virtual {v0}, Ljava/io/ByteArrayOutputStream;.toByteArray:()[B // method@04ea │ │ -02906c: 0c02 |0016: move-result-object v2 │ │ -02906e: 1102 |0017: return-object v2 │ │ +02902c: |[02902c] util.Utils.serializeObject:(Ljava/lang/Object;)[B │ │ +02903c: 2200 f700 |0000: new-instance v0, Ljava/io/ByteArrayOutputStream; // type@00f7 │ │ +029040: 7010 e404 0000 |0002: invoke-direct {v0}, Ljava/io/ByteArrayOutputStream;.:()V // method@04e4 │ │ +029046: 2201 0401 |0005: new-instance v1, Ljava/io/ObjectOutputStream; // type@0104 │ │ +02904a: 7020 2e05 0100 |0007: invoke-direct {v1, v0}, Ljava/io/ObjectOutputStream;.:(Ljava/io/OutputStream;)V // method@052e │ │ +029050: 6e20 3105 2100 |000a: invoke-virtual {v1, v2}, Ljava/io/ObjectOutputStream;.writeObject:(Ljava/lang/Object;)V // method@0531 │ │ +029056: 6e10 3005 0100 |000d: invoke-virtual {v1}, Ljava/io/ObjectOutputStream;.flush:()V // method@0530 │ │ +02905c: 6e10 2f05 0100 |0010: invoke-virtual {v1}, Ljava/io/ObjectOutputStream;.close:()V // method@052f │ │ +029062: 6e10 ea04 0000 |0013: invoke-virtual {v0}, Ljava/io/ByteArrayOutputStream;.toByteArray:()[B // method@04ea │ │ +029068: 0c02 |0016: move-result-object v2 │ │ +02906a: 1102 |0017: return-object v2 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=258 │ │ 0x0005 line=259 │ │ 0x000a line=260 │ │ 0x000d line=261 │ │ 0x0010 line=262 │ │ @@ -32290,24 +32290,24 @@ │ │ type : '(Ljava/io/InputStream;)I' │ │ access : 0x0009 (PUBLIC STATIC) │ │ code - │ │ registers : 3 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 14 16-bit code units │ │ -0291c8: |[0291c8] util.Utils.skipLine:(Ljava/io/InputStream;)I │ │ -0291d8: 1200 |0000: const/4 v0, #int 0 // #0 │ │ -0291da: 12f1 |0001: const/4 v1, #int -1 // #ff │ │ -0291dc: 3210 0b00 |0002: if-eq v0, v1, 000d // +000b │ │ -0291e0: 1301 0a00 |0004: const/16 v1, #int 10 // #a │ │ -0291e4: 3210 0700 |0006: if-eq v0, v1, 000d // +0007 │ │ -0291e8: 6e10 2805 0200 |0008: invoke-virtual {v2}, Ljava/io/InputStream;.read:()I // method@0528 │ │ -0291ee: 0a00 |000b: move-result v0 │ │ -0291f0: 28f5 |000c: goto 0001 // -000b │ │ -0291f2: 0f00 |000d: return v0 │ │ +0291c4: |[0291c4] util.Utils.skipLine:(Ljava/io/InputStream;)I │ │ +0291d4: 1200 |0000: const/4 v0, #int 0 // #0 │ │ +0291d6: 12f1 |0001: const/4 v1, #int -1 // #ff │ │ +0291d8: 3210 0b00 |0002: if-eq v0, v1, 000d // +000b │ │ +0291dc: 1301 0a00 |0004: const/16 v1, #int 10 // #a │ │ +0291e0: 3210 0700 |0006: if-eq v0, v1, 000d // +0007 │ │ +0291e4: 6e10 2805 0200 |0008: invoke-virtual {v2}, Ljava/io/InputStream;.read:()I // method@0528 │ │ +0291ea: 0a00 |000b: move-result v0 │ │ +0291ec: 28f5 |000c: goto 0001 // -000b │ │ +0291ee: 0f00 |000d: return v0 │ │ catches : (none) │ │ positions : │ │ 0x0008 line=226 │ │ locals : │ │ 0x0000 - 0x000e reg=2 (null) Ljava/io/InputStream; │ │ │ │ #22 : (in Lutil/Utils;) │ │ @@ -32315,29 +32315,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 │ │ -0291f4: |[0291f4] util.Utils.skipWhitespace:(Ljava/io/InputStream;I)I │ │ -029204: 12f0 |0000: const/4 v0, #int -1 // #ff │ │ -029206: 3202 1700 |0001: if-eq v2, v0, 0018 // +0017 │ │ -02920a: 1300 0a00 |0003: const/16 v0, #int 10 // #a │ │ -02920e: 3202 1300 |0005: if-eq v2, v0, 0018 // +0013 │ │ -029212: 1300 0900 |0007: const/16 v0, #int 9 // #9 │ │ -029216: 3202 0a00 |0009: if-eq v2, v0, 0013 // +000a │ │ -02921a: 1300 2000 |000b: const/16 v0, #int 32 // #20 │ │ -02921e: 3202 0600 |000d: if-eq v2, v0, 0013 // +0006 │ │ -029222: 1300 0d00 |000f: const/16 v0, #int 13 // #d │ │ -029226: 3302 0700 |0011: if-ne v2, v0, 0018 // +0007 │ │ -02922a: 6e10 2805 0100 |0013: invoke-virtual {v1}, Ljava/io/InputStream;.read:()I // method@0528 │ │ -029230: 0a02 |0016: move-result v2 │ │ -029232: 28e9 |0017: goto 0000 // -0017 │ │ -029234: 0f02 |0018: return v2 │ │ +0291f0: |[0291f0] util.Utils.skipWhitespace:(Ljava/io/InputStream;I)I │ │ +029200: 12f0 |0000: const/4 v0, #int -1 // #ff │ │ +029202: 3202 1700 |0001: if-eq v2, v0, 0018 // +0017 │ │ +029206: 1300 0a00 |0003: const/16 v0, #int 10 // #a │ │ +02920a: 3202 1300 |0005: if-eq v2, v0, 0018 // +0013 │ │ +02920e: 1300 0900 |0007: const/16 v0, #int 9 // #9 │ │ +029212: 3202 0a00 |0009: if-eq v2, v0, 0013 // +000a │ │ +029216: 1300 2000 |000b: const/16 v0, #int 32 // #20 │ │ +02921a: 3202 0600 |000d: if-eq v2, v0, 0013 // +0006 │ │ +02921e: 1300 0d00 |000f: const/16 v0, #int 13 // #d │ │ +029222: 3302 0700 |0011: if-ne v2, v0, 0018 // +0007 │ │ +029226: 6e10 2805 0100 |0013: invoke-virtual {v1}, Ljava/io/InputStream;.read:()I // method@0528 │ │ +02922c: 0a02 |0016: move-result v2 │ │ +02922e: 28e9 |0017: goto 0000 // -0017 │ │ +029230: 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 │ │ │ │ @@ -32346,29 +32346,29 @@ │ │ type : '(J)V' │ │ access : 0x0009 (PUBLIC STATIC) │ │ code - │ │ registers : 4 │ │ ins : 2 │ │ outs : 3 │ │ insns size : 22 16-bit code units │ │ -0297b4: |[0297b4] util.Utils.sleep:(J)V │ │ -0297c4: 2202 2501 |0000: new-instance v2, Ljava/lang/Object; // type@0125 │ │ -0297c8: 7010 7305 0200 |0002: invoke-direct {v2}, Ljava/lang/Object;.:()V // method@0573 │ │ -0297ce: 1d02 |0005: monitor-enter v2 │ │ -0297d0: 1600 6400 |0006: const-wide/16 v0, #int 100 // #64 │ │ -0297d4: 6e30 7a05 0201 |0008: invoke-virtual {v2, v0, v1}, Ljava/lang/Object;.wait:(J)V // method@057a │ │ -0297da: 2807 |000b: goto 0012 // +0007 │ │ -0297dc: 0d03 |000c: move-exception v3 │ │ -0297de: 2807 |000d: goto 0014 // +0007 │ │ -0297e0: 0d03 |000e: move-exception v3 │ │ -0297e2: 6e10 6905 0300 |000f: invoke-virtual {v3}, Ljava/lang/InterruptedException;.printStackTrace:()V // method@0569 │ │ -0297e8: 1e02 |0012: monitor-exit v2 │ │ -0297ea: 0e00 |0013: return-void │ │ -0297ec: 1e02 |0014: monitor-exit v2 │ │ -0297ee: 2703 |0015: throw v3 │ │ +0297b0: |[0297b0] util.Utils.sleep:(J)V │ │ +0297c0: 2202 2501 |0000: new-instance v2, Ljava/lang/Object; // type@0125 │ │ +0297c4: 7010 7305 0200 |0002: invoke-direct {v2}, Ljava/lang/Object;.:()V // method@0573 │ │ +0297ca: 1d02 |0005: monitor-enter v2 │ │ +0297cc: 1600 6400 |0006: const-wide/16 v0, #int 100 // #64 │ │ +0297d0: 6e30 7a05 0201 |0008: invoke-virtual {v2, v0, v1}, Ljava/lang/Object;.wait:(J)V // method@057a │ │ +0297d6: 2807 |000b: goto 0012 // +0007 │ │ +0297d8: 0d03 |000c: move-exception v3 │ │ +0297da: 2807 |000d: goto 0014 // +0007 │ │ +0297dc: 0d03 |000e: move-exception v3 │ │ +0297de: 6e10 6905 0300 |000f: invoke-virtual {v3}, Ljava/lang/InterruptedException;.printStackTrace:()V // method@0569 │ │ +0297e4: 1e02 |0012: monitor-exit v2 │ │ +0297e6: 0e00 |0013: return-void │ │ +0297e8: 1e02 |0014: monitor-exit v2 │ │ +0297ea: 2703 |0015: throw v3 │ │ catches : 2 │ │ 0x0008 - 0x000b │ │ Ljava/lang/InterruptedException; -> 0x000e │ │ -> 0x000c │ │ 0x000f - 0x0015 │ │ -> 0x000c │ │ positions : │ │ @@ -32385,82 +32385,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 │ │ -029808: |[029808] util.Utils.unzipFile:(Ljava/util/zip/ZipInputStream;Ljava/lang/String;)V │ │ -029818: 1300 0004 |0000: const/16 v0, #int 1024 // #400 │ │ -02981c: 2300 9d01 |0002: new-array v0, v0, [B // type@019d │ │ -029820: 6e10 8f06 0500 |0004: invoke-virtual {v5}, Ljava/util/zip/ZipInputStream;.getNextEntry:()Ljava/util/zip/ZipEntry; // method@068f │ │ -029826: 0c01 |0007: move-result-object v1 │ │ -029828: 3801 7e00 |0008: if-eqz v1, 0086 // +007e │ │ -02982c: 2202 fb00 |000a: new-instance v2, Ljava/io/File; // type@00fb │ │ -029830: 2203 2d01 |000c: new-instance v3, Ljava/lang/StringBuilder; // type@012d │ │ -029834: 7010 a705 0300 |000e: invoke-direct {v3}, Ljava/lang/StringBuilder;.:()V // method@05a7 │ │ -02983a: 6e20 ad05 6300 |0011: invoke-virtual {v3, v6}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -029840: 6204 1603 |0014: sget-object v4, Ljava/io/File;.separator:Ljava/lang/String; // field@0316 │ │ -029844: 6e20 ad05 4300 |0016: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -02984a: 6e10 af05 0300 |0019: invoke-virtual {v3}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ -029850: 0c03 |001c: move-result-object v3 │ │ -029852: 6e10 8a06 0100 |001d: invoke-virtual {v1}, Ljava/util/zip/ZipEntry;.getName:()Ljava/lang/String; // method@068a │ │ -029858: 0c04 |0020: move-result-object v4 │ │ -02985a: 7030 0005 3204 |0021: invoke-direct {v2, v3, v4}, Ljava/io/File;.:(Ljava/lang/String;Ljava/lang/String;)V // method@0500 │ │ -029860: 6e10 8b06 0100 |0024: invoke-virtual {v1}, Ljava/util/zip/ZipEntry;.isDirectory:()Z // method@068b │ │ -029866: 0a01 |0027: move-result v1 │ │ -029868: 1a03 a001 |0028: const-string v3, "Failed to create directory " // string@01a0 │ │ -02986c: 3801 2100 |002a: if-eqz v1, 004b // +0021 │ │ -029870: 6e10 0a05 0200 |002c: invoke-virtual {v2}, Ljava/io/File;.isDirectory:()Z // method@050a │ │ -029876: 0a01 |002f: move-result v1 │ │ -029878: 3901 5100 |0030: if-nez v1, 0081 // +0051 │ │ -02987c: 6e10 0f05 0200 |0032: invoke-virtual {v2}, Ljava/io/File;.mkdirs:()Z // method@050f │ │ -029882: 0a01 |0035: move-result v1 │ │ -029884: 3801 0300 |0036: if-eqz v1, 0039 // +0003 │ │ -029888: 2849 |0038: goto 0081 // +0049 │ │ -02988a: 2205 0001 |0039: new-instance v5, Ljava/io/IOException; // type@0100 │ │ -02988e: 2206 2d01 |003b: new-instance v6, Ljava/lang/StringBuilder; // type@012d │ │ -029892: 7020 a805 3600 |003d: invoke-direct {v6, v3}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05a8 │ │ -029898: 6e20 ac05 2600 |0040: invoke-virtual {v6, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@05ac │ │ -02989e: 6e10 af05 0600 |0043: invoke-virtual {v6}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ -0298a4: 0c06 |0046: move-result-object v6 │ │ -0298a6: 7020 1f05 6500 |0047: invoke-direct {v5, v6}, Ljava/io/IOException;.:(Ljava/lang/String;)V // method@051f │ │ -0298ac: 2705 |004a: throw v5 │ │ -0298ae: 6e10 0805 0200 |004b: invoke-virtual {v2}, Ljava/io/File;.getParentFile:()Ljava/io/File; // method@0508 │ │ -0298b4: 0c01 |004e: move-result-object v1 │ │ -0298b6: 6e10 0a05 0100 |004f: invoke-virtual {v1}, Ljava/io/File;.isDirectory:()Z // method@050a │ │ -0298bc: 0a04 |0052: move-result v4 │ │ -0298be: 3904 1b00 |0053: if-nez v4, 006e // +001b │ │ -0298c2: 6e10 0f05 0100 |0055: invoke-virtual {v1}, Ljava/io/File;.mkdirs:()Z // method@050f │ │ -0298c8: 0a04 |0058: move-result v4 │ │ -0298ca: 3804 0300 |0059: if-eqz v4, 005c // +0003 │ │ -0298ce: 2813 |005b: goto 006e // +0013 │ │ -0298d0: 2205 0001 |005c: new-instance v5, Ljava/io/IOException; // type@0100 │ │ -0298d4: 2206 2d01 |005e: new-instance v6, Ljava/lang/StringBuilder; // type@012d │ │ -0298d8: 7020 a805 3600 |0060: invoke-direct {v6, v3}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05a8 │ │ -0298de: 6e20 ac05 1600 |0063: invoke-virtual {v6, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@05ac │ │ -0298e4: 6e10 af05 0600 |0066: invoke-virtual {v6}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ -0298ea: 0c06 |0069: move-result-object v6 │ │ -0298ec: 7020 1f05 6500 |006a: invoke-direct {v5, v6}, Ljava/io/IOException;.:(Ljava/lang/String;)V // method@051f │ │ -0298f2: 2705 |006d: throw v5 │ │ -0298f4: 2201 ff00 |006e: new-instance v1, Ljava/io/FileOutputStream; // type@00ff │ │ -0298f8: 7020 1705 2100 |0070: invoke-direct {v1, v2}, Ljava/io/FileOutputStream;.:(Ljava/io/File;)V // method@0517 │ │ -0298fe: 6e20 9006 0500 |0073: invoke-virtual {v5, v0}, Ljava/util/zip/ZipInputStream;.read:([B)I // method@0690 │ │ -029904: 0a02 |0076: move-result v2 │ │ -029906: 3d02 0700 |0077: if-lez v2, 007e // +0007 │ │ -02990a: 1203 |0079: const/4 v3, #int 0 // #0 │ │ -02990c: 6e40 1e05 0123 |007a: invoke-virtual {v1, v0, v3, v2}, Ljava/io/FileOutputStream;.write:([BII)V // method@051e │ │ -029912: 28f6 |007d: goto 0073 // -000a │ │ -029914: 6e10 1b05 0100 |007e: invoke-virtual {v1}, Ljava/io/FileOutputStream;.close:()V // method@051b │ │ -02991a: 6e10 8f06 0500 |0081: invoke-virtual {v5}, Ljava/util/zip/ZipInputStream;.getNextEntry:()Ljava/util/zip/ZipEntry; // method@068f │ │ -029920: 0c01 |0084: move-result-object v1 │ │ -029922: 2883 |0085: goto 0008 // -007d │ │ -029924: 6e10 8e06 0500 |0086: invoke-virtual {v5}, Ljava/util/zip/ZipInputStream;.closeEntry:()V // method@068e │ │ -02992a: 6e10 8d06 0500 |0089: invoke-virtual {v5}, Ljava/util/zip/ZipInputStream;.close:()V // method@068d │ │ -029930: 0e00 |008c: return-void │ │ +029804: |[029804] util.Utils.unzipFile:(Ljava/util/zip/ZipInputStream;Ljava/lang/String;)V │ │ +029814: 1300 0004 |0000: const/16 v0, #int 1024 // #400 │ │ +029818: 2300 9d01 |0002: new-array v0, v0, [B // type@019d │ │ +02981c: 6e10 8f06 0500 |0004: invoke-virtual {v5}, Ljava/util/zip/ZipInputStream;.getNextEntry:()Ljava/util/zip/ZipEntry; // method@068f │ │ +029822: 0c01 |0007: move-result-object v1 │ │ +029824: 3801 7e00 |0008: if-eqz v1, 0086 // +007e │ │ +029828: 2202 fb00 |000a: new-instance v2, Ljava/io/File; // type@00fb │ │ +02982c: 2203 2d01 |000c: new-instance v3, Ljava/lang/StringBuilder; // type@012d │ │ +029830: 7010 a705 0300 |000e: invoke-direct {v3}, Ljava/lang/StringBuilder;.:()V // method@05a7 │ │ +029836: 6e20 ad05 6300 |0011: invoke-virtual {v3, v6}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +02983c: 6204 1603 |0014: sget-object v4, Ljava/io/File;.separator:Ljava/lang/String; // field@0316 │ │ +029840: 6e20 ad05 4300 |0016: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +029846: 6e10 af05 0300 |0019: invoke-virtual {v3}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ +02984c: 0c03 |001c: move-result-object v3 │ │ +02984e: 6e10 8a06 0100 |001d: invoke-virtual {v1}, Ljava/util/zip/ZipEntry;.getName:()Ljava/lang/String; // method@068a │ │ +029854: 0c04 |0020: move-result-object v4 │ │ +029856: 7030 0005 3204 |0021: invoke-direct {v2, v3, v4}, Ljava/io/File;.:(Ljava/lang/String;Ljava/lang/String;)V // method@0500 │ │ +02985c: 6e10 8b06 0100 |0024: invoke-virtual {v1}, Ljava/util/zip/ZipEntry;.isDirectory:()Z // method@068b │ │ +029862: 0a01 |0027: move-result v1 │ │ +029864: 1a03 a001 |0028: const-string v3, "Failed to create directory " // string@01a0 │ │ +029868: 3801 2100 |002a: if-eqz v1, 004b // +0021 │ │ +02986c: 6e10 0a05 0200 |002c: invoke-virtual {v2}, Ljava/io/File;.isDirectory:()Z // method@050a │ │ +029872: 0a01 |002f: move-result v1 │ │ +029874: 3901 5100 |0030: if-nez v1, 0081 // +0051 │ │ +029878: 6e10 0f05 0200 |0032: invoke-virtual {v2}, Ljava/io/File;.mkdirs:()Z // method@050f │ │ +02987e: 0a01 |0035: move-result v1 │ │ +029880: 3801 0300 |0036: if-eqz v1, 0039 // +0003 │ │ +029884: 2849 |0038: goto 0081 // +0049 │ │ +029886: 2205 0001 |0039: new-instance v5, Ljava/io/IOException; // type@0100 │ │ +02988a: 2206 2d01 |003b: new-instance v6, Ljava/lang/StringBuilder; // type@012d │ │ +02988e: 7020 a805 3600 |003d: invoke-direct {v6, v3}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05a8 │ │ +029894: 6e20 ac05 2600 |0040: invoke-virtual {v6, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@05ac │ │ +02989a: 6e10 af05 0600 |0043: invoke-virtual {v6}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ +0298a0: 0c06 |0046: move-result-object v6 │ │ +0298a2: 7020 1f05 6500 |0047: invoke-direct {v5, v6}, Ljava/io/IOException;.:(Ljava/lang/String;)V // method@051f │ │ +0298a8: 2705 |004a: throw v5 │ │ +0298aa: 6e10 0805 0200 |004b: invoke-virtual {v2}, Ljava/io/File;.getParentFile:()Ljava/io/File; // method@0508 │ │ +0298b0: 0c01 |004e: move-result-object v1 │ │ +0298b2: 6e10 0a05 0100 |004f: invoke-virtual {v1}, Ljava/io/File;.isDirectory:()Z // method@050a │ │ +0298b8: 0a04 |0052: move-result v4 │ │ +0298ba: 3904 1b00 |0053: if-nez v4, 006e // +001b │ │ +0298be: 6e10 0f05 0100 |0055: invoke-virtual {v1}, Ljava/io/File;.mkdirs:()Z // method@050f │ │ +0298c4: 0a04 |0058: move-result v4 │ │ +0298c6: 3804 0300 |0059: if-eqz v4, 005c // +0003 │ │ +0298ca: 2813 |005b: goto 006e // +0013 │ │ +0298cc: 2205 0001 |005c: new-instance v5, Ljava/io/IOException; // type@0100 │ │ +0298d0: 2206 2d01 |005e: new-instance v6, Ljava/lang/StringBuilder; // type@012d │ │ +0298d4: 7020 a805 3600 |0060: invoke-direct {v6, v3}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05a8 │ │ +0298da: 6e20 ac05 1600 |0063: invoke-virtual {v6, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@05ac │ │ +0298e0: 6e10 af05 0600 |0066: invoke-virtual {v6}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ +0298e6: 0c06 |0069: move-result-object v6 │ │ +0298e8: 7020 1f05 6500 |006a: invoke-direct {v5, v6}, Ljava/io/IOException;.:(Ljava/lang/String;)V // method@051f │ │ +0298ee: 2705 |006d: throw v5 │ │ +0298f0: 2201 ff00 |006e: new-instance v1, Ljava/io/FileOutputStream; // type@00ff │ │ +0298f4: 7020 1705 2100 |0070: invoke-direct {v1, v2}, Ljava/io/FileOutputStream;.:(Ljava/io/File;)V // method@0517 │ │ +0298fa: 6e20 9006 0500 |0073: invoke-virtual {v5, v0}, Ljava/util/zip/ZipInputStream;.read:([B)I // method@0690 │ │ +029900: 0a02 |0076: move-result v2 │ │ +029902: 3d02 0700 |0077: if-lez v2, 007e // +0007 │ │ +029906: 1203 |0079: const/4 v3, #int 0 // #0 │ │ +029908: 6e40 1e05 0123 |007a: invoke-virtual {v1, v0, v3, v2}, Ljava/io/FileOutputStream;.write:([BII)V // method@051e │ │ +02990e: 28f6 |007d: goto 0073 // -000a │ │ +029910: 6e10 1b05 0100 |007e: invoke-virtual {v1}, Ljava/io/FileOutputStream;.close:()V // method@051b │ │ +029916: 6e10 8f06 0500 |0081: invoke-virtual {v5}, Ljava/util/zip/ZipInputStream;.getNextEntry:()Ljava/util/zip/ZipEntry; // method@068f │ │ +02991c: 0c01 |0084: move-result-object v1 │ │ +02991e: 2883 |0085: goto 0008 // -007d │ │ +029920: 6e10 8e06 0500 |0086: invoke-virtual {v5}, Ljava/util/zip/ZipInputStream;.closeEntry:()V // method@068e │ │ +029926: 6e10 8d06 0500 |0089: invoke-virtual {v5}, Ljava/util/zip/ZipInputStream;.close:()V // method@068d │ │ +02992c: 0e00 |008c: return-void │ │ catches : (none) │ │ positions : │ │ 0x0002 line=389 │ │ 0x0004 line=390 │ │ 0x000a line=392 │ │ 0x0024 line=393 │ │ 0x002c line=394 │ │ @@ -32484,61 +32484,61 @@ │ │ type : '(J[BI)V' │ │ access : 0x0009 (PUBLIC STATIC) │ │ code - │ │ registers : 7 │ │ ins : 4 │ │ outs : 0 │ │ insns size : 75 16-bit code units │ │ -029934: |[029934] util.Utils.writeLongToByteArray:(J[BI)V │ │ -029944: 1300 3800 |0000: const/16 v0, #int 56 // #38 │ │ -029948: a400 0300 |0002: shr-long v0, v3, v0 │ │ -02994c: 8401 |0004: long-to-int v1, v0 │ │ -02994e: 8d10 |0005: int-to-byte v0, v1 │ │ -029950: 4f00 0506 |0006: aput-byte v0, v5, v6 │ │ -029954: d800 0601 |0008: add-int/lit8 v0, v6, #int 1 // #01 │ │ -029958: 1301 3000 |000a: const/16 v1, #int 48 // #30 │ │ -02995c: a401 0301 |000c: shr-long v1, v3, v1 │ │ -029960: 8412 |000e: long-to-int v2, v1 │ │ -029962: 8d21 |000f: int-to-byte v1, v2 │ │ -029964: 4f01 0500 |0010: aput-byte v1, v5, v0 │ │ -029968: d800 0602 |0012: add-int/lit8 v0, v6, #int 2 // #02 │ │ -02996c: 1301 2800 |0014: const/16 v1, #int 40 // #28 │ │ -029970: a401 0301 |0016: shr-long v1, v3, v1 │ │ -029974: 8412 |0018: long-to-int v2, v1 │ │ -029976: 8d21 |0019: int-to-byte v1, v2 │ │ -029978: 4f01 0500 |001a: aput-byte v1, v5, v0 │ │ -02997c: d800 0603 |001c: add-int/lit8 v0, v6, #int 3 // #03 │ │ -029980: 1301 2000 |001e: const/16 v1, #int 32 // #20 │ │ -029984: a401 0301 |0020: shr-long v1, v3, v1 │ │ -029988: 8412 |0022: long-to-int v2, v1 │ │ -02998a: 8d21 |0023: int-to-byte v1, v2 │ │ -02998c: 4f01 0500 |0024: aput-byte v1, v5, v0 │ │ -029990: d800 0604 |0026: add-int/lit8 v0, v6, #int 4 // #04 │ │ -029994: 1301 1800 |0028: const/16 v1, #int 24 // #18 │ │ -029998: a401 0301 |002a: shr-long v1, v3, v1 │ │ -02999c: 8412 |002c: long-to-int v2, v1 │ │ -02999e: 8d21 |002d: int-to-byte v1, v2 │ │ -0299a0: 4f01 0500 |002e: aput-byte v1, v5, v0 │ │ -0299a4: d800 0605 |0030: add-int/lit8 v0, v6, #int 5 // #05 │ │ -0299a8: 1301 1000 |0032: const/16 v1, #int 16 // #10 │ │ -0299ac: a401 0301 |0034: shr-long v1, v3, v1 │ │ -0299b0: 8412 |0036: long-to-int v2, v1 │ │ -0299b2: 8d21 |0037: int-to-byte v1, v2 │ │ -0299b4: 4f01 0500 |0038: aput-byte v1, v5, v0 │ │ -0299b8: d800 0606 |003a: add-int/lit8 v0, v6, #int 6 // #06 │ │ -0299bc: 1301 0800 |003c: const/16 v1, #int 8 // #8 │ │ -0299c0: a401 0301 |003e: shr-long v1, v3, v1 │ │ -0299c4: 8412 |0040: long-to-int v2, v1 │ │ -0299c6: 8d21 |0041: int-to-byte v1, v2 │ │ -0299c8: 4f01 0500 |0042: aput-byte v1, v5, v0 │ │ -0299cc: d806 0607 |0044: add-int/lit8 v6, v6, #int 7 // #07 │ │ -0299d0: 8434 |0046: long-to-int v4, v3 │ │ -0299d2: 8d43 |0047: int-to-byte v3, v4 │ │ -0299d4: 4f03 0506 |0048: aput-byte v3, v5, v6 │ │ -0299d8: 0e00 |004a: return-void │ │ +029930: |[029930] util.Utils.writeLongToByteArray:(J[BI)V │ │ +029940: 1300 3800 |0000: const/16 v0, #int 56 // #38 │ │ +029944: a400 0300 |0002: shr-long v0, v3, v0 │ │ +029948: 8401 |0004: long-to-int v1, v0 │ │ +02994a: 8d10 |0005: int-to-byte v0, v1 │ │ +02994c: 4f00 0506 |0006: aput-byte v0, v5, v6 │ │ +029950: d800 0601 |0008: add-int/lit8 v0, v6, #int 1 // #01 │ │ +029954: 1301 3000 |000a: const/16 v1, #int 48 // #30 │ │ +029958: a401 0301 |000c: shr-long v1, v3, v1 │ │ +02995c: 8412 |000e: long-to-int v2, v1 │ │ +02995e: 8d21 |000f: int-to-byte v1, v2 │ │ +029960: 4f01 0500 |0010: aput-byte v1, v5, v0 │ │ +029964: d800 0602 |0012: add-int/lit8 v0, v6, #int 2 // #02 │ │ +029968: 1301 2800 |0014: const/16 v1, #int 40 // #28 │ │ +02996c: a401 0301 |0016: shr-long v1, v3, v1 │ │ +029970: 8412 |0018: long-to-int v2, v1 │ │ +029972: 8d21 |0019: int-to-byte v1, v2 │ │ +029974: 4f01 0500 |001a: aput-byte v1, v5, v0 │ │ +029978: d800 0603 |001c: add-int/lit8 v0, v6, #int 3 // #03 │ │ +02997c: 1301 2000 |001e: const/16 v1, #int 32 // #20 │ │ +029980: a401 0301 |0020: shr-long v1, v3, v1 │ │ +029984: 8412 |0022: long-to-int v2, v1 │ │ +029986: 8d21 |0023: int-to-byte v1, v2 │ │ +029988: 4f01 0500 |0024: aput-byte v1, v5, v0 │ │ +02998c: d800 0604 |0026: add-int/lit8 v0, v6, #int 4 // #04 │ │ +029990: 1301 1800 |0028: const/16 v1, #int 24 // #18 │ │ +029994: a401 0301 |002a: shr-long v1, v3, v1 │ │ +029998: 8412 |002c: long-to-int v2, v1 │ │ +02999a: 8d21 |002d: int-to-byte v1, v2 │ │ +02999c: 4f01 0500 |002e: aput-byte v1, v5, v0 │ │ +0299a0: d800 0605 |0030: add-int/lit8 v0, v6, #int 5 // #05 │ │ +0299a4: 1301 1000 |0032: const/16 v1, #int 16 // #10 │ │ +0299a8: a401 0301 |0034: shr-long v1, v3, v1 │ │ +0299ac: 8412 |0036: long-to-int v2, v1 │ │ +0299ae: 8d21 |0037: int-to-byte v1, v2 │ │ +0299b0: 4f01 0500 |0038: aput-byte v1, v5, v0 │ │ +0299b4: d800 0606 |003a: add-int/lit8 v0, v6, #int 6 // #06 │ │ +0299b8: 1301 0800 |003c: const/16 v1, #int 8 // #8 │ │ +0299bc: a401 0301 |003e: shr-long v1, v3, v1 │ │ +0299c0: 8412 |0040: long-to-int v2, v1 │ │ +0299c2: 8d21 |0041: int-to-byte v1, v2 │ │ +0299c4: 4f01 0500 |0042: aput-byte v1, v5, v0 │ │ +0299c8: d806 0607 |0044: add-int/lit8 v6, v6, #int 7 // #07 │ │ +0299cc: 8434 |0046: long-to-int v4, v3 │ │ +0299ce: 8d43 |0047: int-to-byte v3, v4 │ │ +0299d0: 4f03 0506 |0048: aput-byte v3, v5, v6 │ │ +0299d4: 0e00 |004a: return-void │ │ catches : (none) │ │ positions : │ │ 0x0006 line=79 │ │ 0x0010 line=80 │ │ 0x001a line=81 │ │ 0x0024 line=82 │ │ 0x002e line=83 │ │ @@ -32555,79 +32555,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 │ │ -0299dc: |[0299dc] util.Utils.zipFile:(Ljava/util/zip/ZipOutputStream;Ljava/io/File;Ljava/lang/String;)V │ │ -0299ec: 3805 8b00 |0000: if-eqz v5, 008b // +008b │ │ -0299f0: 6e10 0505 0500 |0002: invoke-virtual {v5}, Ljava/io/File;.exists:()Z // method@0505 │ │ -0299f6: 0a00 |0005: move-result v0 │ │ -0299f8: 3900 0400 |0006: if-nez v0, 000a // +0004 │ │ -0299fc: 2900 8300 |0008: goto/16 008b // +0083 │ │ -029a00: 6e10 0705 0500 |000a: invoke-virtual {v5}, Ljava/io/File;.getName:()Ljava/lang/String; // method@0507 │ │ -029a06: 0c00 |000d: move-result-object v0 │ │ -029a08: 3806 2000 |000e: if-eqz v6, 002e // +0020 │ │ -029a0c: 6e10 9105 0600 |0010: invoke-virtual {v6}, Ljava/lang/String;.isEmpty:()Z // method@0591 │ │ -029a12: 0a01 |0013: move-result v1 │ │ -029a14: 3901 1a00 |0014: if-nez v1, 002e // +001a │ │ -029a18: 2200 2d01 |0016: new-instance v0, Ljava/lang/StringBuilder; // type@012d │ │ -029a1c: 7010 a705 0000 |0018: invoke-direct {v0}, Ljava/lang/StringBuilder;.:()V // method@05a7 │ │ -029a22: 6e20 ad05 6000 |001b: invoke-virtual {v0, v6}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -029a28: 1a06 6000 |001e: const-string v6, "/" // string@0060 │ │ -029a2c: 6e20 ad05 6000 |0020: invoke-virtual {v0, v6}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -029a32: 6e10 0705 0500 |0023: invoke-virtual {v5}, Ljava/io/File;.getName:()Ljava/lang/String; // method@0507 │ │ -029a38: 0c06 |0026: move-result-object v6 │ │ -029a3a: 6e20 ad05 6000 |0027: invoke-virtual {v0, v6}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -029a40: 6e10 af05 0000 |002a: invoke-virtual {v0}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ -029a46: 0c00 |002d: move-result-object v0 │ │ -029a48: 6e10 0a05 0500 |002e: invoke-virtual {v5}, Ljava/io/File;.isDirectory:()Z // method@050a │ │ -029a4e: 0a06 |0031: move-result v6 │ │ -029a50: 1201 |0032: const/4 v1, #int 0 // #0 │ │ -029a52: 3806 2400 |0033: if-eqz v6, 0057 // +0024 │ │ -029a56: 6206 1903 |0035: sget-object v6, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0319 │ │ -029a5a: 2202 2d01 |0037: new-instance v2, Ljava/lang/StringBuilder; // type@012d │ │ -029a5e: 1a03 4f00 |0039: const-string v3, "+" // string@004f │ │ -029a62: 7020 a805 3200 |003b: invoke-direct {v2, v3}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05a8 │ │ -029a68: 6e20 ad05 0200 |003e: invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -029a6e: 6e10 af05 0200 |0041: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ -029a74: 0c02 |0044: move-result-object v2 │ │ -029a76: 6e20 4005 2600 |0045: invoke-virtual {v6, v2}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@0540 │ │ -029a7c: 6e10 0d05 0500 |0048: invoke-virtual {v5}, Ljava/io/File;.listFiles:()[Ljava/io/File; // method@050d │ │ -029a82: 0c05 |004b: move-result-object v5 │ │ -029a84: 2156 |004c: array-length v6, v5 │ │ -029a86: 3561 3e00 |004d: if-ge v1, v6, 008b // +003e │ │ -029a8a: 4602 0501 |004f: aget-object v2, v5, v1 │ │ -029a8e: 7130 a607 2400 |0051: invoke-static {v4, v2, v0}, Lutil/Utils;.zipFile:(Ljava/util/zip/ZipOutputStream;Ljava/io/File;Ljava/lang/String;)V // method@07a6 │ │ -029a94: d801 0101 |0054: add-int/lit8 v1, v1, #int 1 // #01 │ │ -029a98: 28f7 |0056: goto 004d // -0009 │ │ -029a9a: 6206 1903 |0057: sget-object v6, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0319 │ │ -029a9e: 2202 2d01 |0059: new-instance v2, Ljava/lang/StringBuilder; // type@012d │ │ -029aa2: 1a03 0e00 |005b: const-string v3, " " // string@000e │ │ -029aa6: 7020 a805 3200 |005d: invoke-direct {v2, v3}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05a8 │ │ -029aac: 6e20 ad05 0200 |0060: invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -029ab2: 6e10 af05 0200 |0063: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ -029ab8: 0c02 |0066: move-result-object v2 │ │ -029aba: 6e20 4005 2600 |0067: invoke-virtual {v6, v2}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@0540 │ │ -029ac0: 1306 0004 |006a: const/16 v6, #int 1024 // #400 │ │ -029ac4: 2366 9d01 |006c: new-array v6, v6, [B // type@019d │ │ -029ac8: 2202 fd00 |006e: new-instance v2, Ljava/io/FileInputStream; // type@00fd │ │ -029acc: 7020 1105 5200 |0070: invoke-direct {v2, v5}, Ljava/io/FileInputStream;.:(Ljava/io/File;)V // method@0511 │ │ -029ad2: 2205 6f01 |0073: new-instance v5, Ljava/util/zip/ZipEntry; // type@016f │ │ -029ad6: 7020 8906 0500 |0075: invoke-direct {v5, v0}, Ljava/util/zip/ZipEntry;.:(Ljava/lang/String;)V // method@0689 │ │ -029adc: 6e20 9606 5400 |0078: invoke-virtual {v4, v5}, Ljava/util/zip/ZipOutputStream;.putNextEntry:(Ljava/util/zip/ZipEntry;)V // method@0696 │ │ -029ae2: 6e20 1505 6200 |007b: invoke-virtual {v2, v6}, Ljava/io/FileInputStream;.read:([B)I // method@0515 │ │ -029ae8: 0a05 |007e: move-result v5 │ │ -029aea: 3d05 0600 |007f: if-lez v5, 0085 // +0006 │ │ -029aee: 6e40 9706 6451 |0081: invoke-virtual {v4, v6, v1, v5}, Ljava/util/zip/ZipOutputStream;.write:([BII)V // method@0697 │ │ -029af4: 28f7 |0084: goto 007b // -0009 │ │ -029af6: 6e10 9306 0400 |0085: invoke-virtual {v4}, Ljava/util/zip/ZipOutputStream;.closeEntry:()V // method@0693 │ │ -029afc: 6e10 1405 0200 |0088: invoke-virtual {v2}, Ljava/io/FileInputStream;.close:()V // method@0514 │ │ -029b02: 0e00 |008b: return-void │ │ +0299d8: |[0299d8] util.Utils.zipFile:(Ljava/util/zip/ZipOutputStream;Ljava/io/File;Ljava/lang/String;)V │ │ +0299e8: 3805 8b00 |0000: if-eqz v5, 008b // +008b │ │ +0299ec: 6e10 0505 0500 |0002: invoke-virtual {v5}, Ljava/io/File;.exists:()Z // method@0505 │ │ +0299f2: 0a00 |0005: move-result v0 │ │ +0299f4: 3900 0400 |0006: if-nez v0, 000a // +0004 │ │ +0299f8: 2900 8300 |0008: goto/16 008b // +0083 │ │ +0299fc: 6e10 0705 0500 |000a: invoke-virtual {v5}, Ljava/io/File;.getName:()Ljava/lang/String; // method@0507 │ │ +029a02: 0c00 |000d: move-result-object v0 │ │ +029a04: 3806 2000 |000e: if-eqz v6, 002e // +0020 │ │ +029a08: 6e10 9105 0600 |0010: invoke-virtual {v6}, Ljava/lang/String;.isEmpty:()Z // method@0591 │ │ +029a0e: 0a01 |0013: move-result v1 │ │ +029a10: 3901 1a00 |0014: if-nez v1, 002e // +001a │ │ +029a14: 2200 2d01 |0016: new-instance v0, Ljava/lang/StringBuilder; // type@012d │ │ +029a18: 7010 a705 0000 |0018: invoke-direct {v0}, Ljava/lang/StringBuilder;.:()V // method@05a7 │ │ +029a1e: 6e20 ad05 6000 |001b: invoke-virtual {v0, v6}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +029a24: 1a06 6000 |001e: const-string v6, "/" // string@0060 │ │ +029a28: 6e20 ad05 6000 |0020: invoke-virtual {v0, v6}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +029a2e: 6e10 0705 0500 |0023: invoke-virtual {v5}, Ljava/io/File;.getName:()Ljava/lang/String; // method@0507 │ │ +029a34: 0c06 |0026: move-result-object v6 │ │ +029a36: 6e20 ad05 6000 |0027: invoke-virtual {v0, v6}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +029a3c: 6e10 af05 0000 |002a: invoke-virtual {v0}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ +029a42: 0c00 |002d: move-result-object v0 │ │ +029a44: 6e10 0a05 0500 |002e: invoke-virtual {v5}, Ljava/io/File;.isDirectory:()Z // method@050a │ │ +029a4a: 0a06 |0031: move-result v6 │ │ +029a4c: 1201 |0032: const/4 v1, #int 0 // #0 │ │ +029a4e: 3806 2400 |0033: if-eqz v6, 0057 // +0024 │ │ +029a52: 6206 1903 |0035: sget-object v6, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0319 │ │ +029a56: 2202 2d01 |0037: new-instance v2, Ljava/lang/StringBuilder; // type@012d │ │ +029a5a: 1a03 4f00 |0039: const-string v3, "+" // string@004f │ │ +029a5e: 7020 a805 3200 |003b: invoke-direct {v2, v3}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05a8 │ │ +029a64: 6e20 ad05 0200 |003e: invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +029a6a: 6e10 af05 0200 |0041: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ +029a70: 0c02 |0044: move-result-object v2 │ │ +029a72: 6e20 4005 2600 |0045: invoke-virtual {v6, v2}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@0540 │ │ +029a78: 6e10 0d05 0500 |0048: invoke-virtual {v5}, Ljava/io/File;.listFiles:()[Ljava/io/File; // method@050d │ │ +029a7e: 0c05 |004b: move-result-object v5 │ │ +029a80: 2156 |004c: array-length v6, v5 │ │ +029a82: 3561 3e00 |004d: if-ge v1, v6, 008b // +003e │ │ +029a86: 4602 0501 |004f: aget-object v2, v5, v1 │ │ +029a8a: 7130 a607 2400 |0051: invoke-static {v4, v2, v0}, Lutil/Utils;.zipFile:(Ljava/util/zip/ZipOutputStream;Ljava/io/File;Ljava/lang/String;)V // method@07a6 │ │ +029a90: d801 0101 |0054: add-int/lit8 v1, v1, #int 1 // #01 │ │ +029a94: 28f7 |0056: goto 004d // -0009 │ │ +029a96: 6206 1903 |0057: sget-object v6, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0319 │ │ +029a9a: 2202 2d01 |0059: new-instance v2, Ljava/lang/StringBuilder; // type@012d │ │ +029a9e: 1a03 0e00 |005b: const-string v3, " " // string@000e │ │ +029aa2: 7020 a805 3200 |005d: invoke-direct {v2, v3}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05a8 │ │ +029aa8: 6e20 ad05 0200 |0060: invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +029aae: 6e10 af05 0200 |0063: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ +029ab4: 0c02 |0066: move-result-object v2 │ │ +029ab6: 6e20 4005 2600 |0067: invoke-virtual {v6, v2}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@0540 │ │ +029abc: 1306 0004 |006a: const/16 v6, #int 1024 // #400 │ │ +029ac0: 2366 9d01 |006c: new-array v6, v6, [B // type@019d │ │ +029ac4: 2202 fd00 |006e: new-instance v2, Ljava/io/FileInputStream; // type@00fd │ │ +029ac8: 7020 1105 5200 |0070: invoke-direct {v2, v5}, Ljava/io/FileInputStream;.:(Ljava/io/File;)V // method@0511 │ │ +029ace: 2205 6f01 |0073: new-instance v5, Ljava/util/zip/ZipEntry; // type@016f │ │ +029ad2: 7020 8906 0500 |0075: invoke-direct {v5, v0}, Ljava/util/zip/ZipEntry;.:(Ljava/lang/String;)V // method@0689 │ │ +029ad8: 6e20 9606 5400 |0078: invoke-virtual {v4, v5}, Ljava/util/zip/ZipOutputStream;.putNextEntry:(Ljava/util/zip/ZipEntry;)V // method@0696 │ │ +029ade: 6e20 1505 6200 |007b: invoke-virtual {v2, v6}, Ljava/io/FileInputStream;.read:([B)I // method@0515 │ │ +029ae4: 0a05 |007e: move-result v5 │ │ +029ae6: 3d05 0600 |007f: if-lez v5, 0085 // +0006 │ │ +029aea: 6e40 9706 6451 |0081: invoke-virtual {v4, v6, v1, v5}, Ljava/util/zip/ZipOutputStream;.write:([BII)V // method@0697 │ │ +029af0: 28f7 |0084: goto 007b // -0009 │ │ +029af2: 6e10 9306 0400 |0085: invoke-virtual {v4}, Ljava/util/zip/ZipOutputStream;.closeEntry:()V // method@0693 │ │ +029af8: 6e10 1405 0200 |0088: invoke-virtual {v2}, Ljava/io/FileInputStream;.close:()V // method@0514 │ │ +029afe: 0e00 |008b: return-void │ │ catches : (none) │ │ positions : │ │ 0x0002 line=360 │ │ 0x000a line=364 │ │ 0x0010 line=365 │ │ 0x0016 line=366 │ │ 0x002e line=369 │ │ @@ -32687,18 +32687,18 @@ │ │ type : '(Ljava/net/InetSocketAddress;)V' │ │ access : 0x10001 (PUBLIC CONSTRUCTOR) │ │ code - │ │ registers : 3 │ │ ins : 2 │ │ outs : 3 │ │ insns size : 5 16-bit code units │ │ -02ab00: |[02ab00] util.conpool.HttpProxy.:(Ljava/net/InetSocketAddress;)V │ │ -02ab10: 1200 |0000: const/4 v0, #int 0 // #0 │ │ -02ab12: 7030 c907 2100 |0001: invoke-direct {v1, v2, v0}, Lutil/conpool/HttpProxy;.:(Ljava/net/InetSocketAddress;Ljava/lang/String;)V // method@07c9 │ │ -02ab18: 0e00 |0004: return-void │ │ +02aafc: |[02aafc] util.conpool.HttpProxy.:(Ljava/net/InetSocketAddress;)V │ │ +02ab0c: 1200 |0000: const/4 v0, #int 0 // #0 │ │ +02ab0e: 7030 c907 2100 |0001: invoke-direct {v1, v2, v0}, Lutil/conpool/HttpProxy;.:(Ljava/net/InetSocketAddress;Ljava/lang/String;)V // method@07c9 │ │ +02ab14: 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; │ │ │ │ @@ -32707,20 +32707,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 │ │ -02ab1c: |[02ab1c] util.conpool.HttpProxy.:(Ljava/net/InetSocketAddress;Ljava/lang/String;)V │ │ -02ab2c: 6200 1a03 |0000: sget-object v0, Ljava/net/Proxy$Type;.HTTP:Ljava/net/Proxy$Type; // field@031a │ │ -02ab30: 7030 e205 0102 |0002: invoke-direct {v1, v0, v2}, Ljava/net/Proxy;.:(Ljava/net/Proxy$Type;Ljava/net/SocketAddress;)V // method@05e2 │ │ -02ab36: 5b12 9303 |0005: iput-object v2, v1, Lutil/conpool/HttpProxy;.proxyAdr:Ljava/net/InetSocketAddress; // field@0393 │ │ -02ab3a: 5b13 9203 |0007: iput-object v3, v1, Lutil/conpool/HttpProxy;.authString:Ljava/lang/String; // field@0392 │ │ -02ab3e: 0e00 |0009: return-void │ │ +02ab18: |[02ab18] util.conpool.HttpProxy.:(Ljava/net/InetSocketAddress;Ljava/lang/String;)V │ │ +02ab28: 6200 1a03 |0000: sget-object v0, Ljava/net/Proxy$Type;.HTTP:Ljava/net/Proxy$Type; // field@031a │ │ +02ab2c: 7030 e205 0102 |0002: invoke-direct {v1, v0, v2}, Ljava/net/Proxy;.:(Ljava/net/Proxy$Type;Ljava/net/SocketAddress;)V // method@05e2 │ │ +02ab32: 5b12 9303 |0005: iput-object v2, v1, Lutil/conpool/HttpProxy;.proxyAdr:Ljava/net/InetSocketAddress; // field@0393 │ │ +02ab36: 5b13 9203 |0007: iput-object v3, v1, Lutil/conpool/HttpProxy;.authString:Ljava/lang/String; // field@0392 │ │ +02ab3a: 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; │ │ @@ -32733,19 +32733,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 │ │ -02a938: |[02a938] util.conpool.HttpProxy.openTunnel:(Ljava/net/InetSocketAddress;I)Ljava/net/Socket; │ │ -02a948: 1200 |0000: const/4 v0, #int 0 // #0 │ │ -02a94a: 6e40 cb07 2103 |0001: invoke-virtual {v1, v2, v3, v0}, Lutil/conpool/HttpProxy;.openTunnel:(Ljava/net/InetSocketAddress;IZ)Ljava/net/Socket; // method@07cb │ │ -02a950: 0c02 |0004: move-result-object v2 │ │ -02a952: 1102 |0005: return-object v2 │ │ +02a934: |[02a934] util.conpool.HttpProxy.openTunnel:(Ljava/net/InetSocketAddress;I)Ljava/net/Socket; │ │ +02a944: 1200 |0000: const/4 v0, #int 0 // #0 │ │ +02a946: 6e40 cb07 2103 |0001: invoke-virtual {v1, v2, v3, v0}, Lutil/conpool/HttpProxy;.openTunnel:(Ljava/net/InetSocketAddress;IZ)Ljava/net/Socket; // method@07cb │ │ +02a94c: 0c02 |0004: move-result-object v2 │ │ +02a94e: 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 │ │ @@ -32755,111 +32755,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 │ │ -02a954: |[02a954] util.conpool.HttpProxy.openTunnel:(Ljava/net/InetSocketAddress;IZ)Ljava/net/Socket; │ │ -02a964: 6e10 da05 0500 |0000: invoke-virtual {v5}, Ljava/net/InetSocketAddress;.getAddress:()Ljava/net/InetAddress; // method@05da │ │ -02a96a: 0c00 |0003: move-result-object v0 │ │ -02a96c: 6e10 d405 0000 |0004: invoke-virtual {v0}, Ljava/net/InetAddress;.getHostAddress:()Ljava/lang/String; // method@05d4 │ │ -02a972: 0c00 |0007: move-result-object v0 │ │ -02a974: 1a01 6b00 |0008: const-string v1, "0.0.0.0" // string@006b │ │ -02a978: 6e20 8b05 1000 |000a: invoke-virtual {v0, v1}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058b │ │ -02a97e: 0a00 |000d: move-result v0 │ │ -02a980: 3900 0b00 |000e: if-nez v0, 0019 // +000b │ │ -02a984: 6e10 da05 0500 |0010: invoke-virtual {v5}, Ljava/net/InetSocketAddress;.getAddress:()Ljava/net/InetAddress; // method@05da │ │ -02a98a: 0c00 |0013: move-result-object v0 │ │ -02a98c: 6e10 d405 0000 |0014: invoke-virtual {v0}, Ljava/net/InetAddress;.getHostAddress:()Ljava/lang/String; // method@05d4 │ │ -02a992: 0c00 |0017: move-result-object v0 │ │ -02a994: 2805 |0018: goto 001d // +0005 │ │ -02a996: 6e10 db05 0500 |0019: invoke-virtual {v5}, Ljava/net/InetSocketAddress;.getHostName:()Ljava/lang/String; // method@05db │ │ -02a99c: 0c00 |001c: move-result-object v0 │ │ -02a99e: 2201 9901 |001d: new-instance v1, Lutil/http/HttpHeader; // type@0199 │ │ -02a9a2: 1212 |001f: const/4 v2, #int 1 // #1 │ │ -02a9a4: 7020 ef07 2100 |0020: invoke-direct {v1, v2}, Lutil/http/HttpHeader;.:(I)V // method@07ef │ │ -02a9aa: 2202 2d01 |0023: new-instance v2, Ljava/lang/StringBuilder; // type@012d │ │ -02a9ae: 1a03 e000 |0025: const-string v3, "CONNECT " // string@00e0 │ │ -02a9b2: 7020 a805 3200 |0027: invoke-direct {v2, v3}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05a8 │ │ -02a9b8: 6e20 ad05 0200 |002a: invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -02a9be: 1a00 8100 |002d: const-string v0, ":" // string@0081 │ │ -02a9c2: 6e20 ad05 0200 |002f: invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -02a9c8: 6e10 dc05 0500 |0032: invoke-virtual {v5}, Ljava/net/InetSocketAddress;.getPort:()I // method@05dc │ │ -02a9ce: 0a00 |0035: move-result v0 │ │ -02a9d0: 6e20 aa05 0200 |0036: invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@05aa │ │ -02a9d6: 1a00 1400 |0039: const-string v0, " HTTP/1.1" // string@0014 │ │ -02a9da: 6e20 ad05 0200 |003b: invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -02a9e0: 6e10 af05 0200 |003e: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ -02a9e6: 0c00 |0041: move-result-object v0 │ │ -02a9e8: 6e20 0208 0100 |0042: invoke-virtual {v1, v0}, Lutil/http/HttpHeader;.setRequest:(Ljava/lang/String;)V // method@0802 │ │ -02a9ee: 5440 9203 |0045: iget-object v0, v4, Lutil/conpool/HttpProxy;.authString:Ljava/lang/String; // field@0392 │ │ -02a9f2: 3800 0700 |0047: if-eqz v0, 004e // +0007 │ │ -02a9f6: 1a02 1604 |0049: const-string v2, "Proxy-Authorization" // string@0416 │ │ -02a9fa: 6e30 0308 2100 |004b: invoke-virtual {v1, v2, v0}, Lutil/http/HttpHeader;.setValue:(Ljava/lang/String;Ljava/lang/String;)V // method@0803 │ │ -02aa00: 6e10 fb07 0100 |004e: invoke-virtual {v1}, Lutil/http/HttpHeader;.getServerRequestHeader:()Ljava/lang/String; // method@07fb │ │ -02aa06: 0c00 |0051: move-result-object v0 │ │ -02aa08: 2201 3801 |0052: new-instance v1, Ljava/net/InetSocketAddress; // type@0138 │ │ -02aa0c: 6e10 db05 0500 |0054: invoke-virtual {v5}, Ljava/net/InetSocketAddress;.getHostName:()Ljava/lang/String; // method@05db │ │ -02aa12: 0c05 |0057: move-result-object v5 │ │ -02aa14: 5442 9303 |0058: iget-object v2, v4, Lutil/conpool/HttpProxy;.proxyAdr:Ljava/net/InetSocketAddress; // field@0393 │ │ -02aa18: 6e10 da05 0200 |005a: invoke-virtual {v2}, Ljava/net/InetSocketAddress;.getAddress:()Ljava/net/InetAddress; // method@05da │ │ -02aa1e: 0c02 |005d: move-result-object v2 │ │ -02aa20: 6e10 d005 0200 |005e: invoke-virtual {v2}, Ljava/net/InetAddress;.getAddress:()[B // method@05d0 │ │ -02aa26: 0c02 |0061: move-result-object v2 │ │ -02aa28: 7120 d105 2500 |0062: invoke-static {v5, v2}, Ljava/net/InetAddress;.getByAddress:(Ljava/lang/String;[B)Ljava/net/InetAddress; // method@05d1 │ │ -02aa2e: 0c05 |0065: move-result-object v5 │ │ -02aa30: 5442 9303 |0066: iget-object v2, v4, Lutil/conpool/HttpProxy;.proxyAdr:Ljava/net/InetSocketAddress; // field@0393 │ │ -02aa34: 6e10 dc05 0200 |0068: invoke-virtual {v2}, Ljava/net/InetSocketAddress;.getPort:()I // method@05dc │ │ -02aa3a: 0a02 |006b: move-result v2 │ │ -02aa3c: 7030 d805 5102 |006c: invoke-direct {v1, v5, v2}, Ljava/net/InetSocketAddress;.:(Ljava/net/InetAddress;I)V // method@05d8 │ │ -02aa42: 7100 1106 0000 |006f: invoke-static {}, Ljava/nio/channels/SocketChannel;.open:()Ljava/nio/channels/SocketChannel; // method@0611 │ │ -02aa48: 0c05 |0072: move-result-object v5 │ │ -02aa4a: 6e10 1206 0500 |0073: invoke-virtual {v5}, Ljava/nio/channels/SocketChannel;.socket:()Ljava/net/Socket; // method@0612 │ │ -02aa50: 0c05 |0076: move-result-object v5 │ │ -02aa52: 1202 |0077: const/4 v2, #int 0 // #0 │ │ -02aa54: 3807 0900 |0078: if-eqz v7, 0081 // +0009 │ │ -02aa58: 7100 d206 0000 |007a: invoke-static {}, Lutil/ExecutionEnvironment;.getEnvironment:()Lutil/ExecutionEnvironmentInterface; // method@06d2 │ │ -02aa5e: 0c07 |007d: move-result-object v7 │ │ -02aa60: 7230 e606 5702 |007e: invoke-interface {v7, v5, v2}, Lutil/ExecutionEnvironmentInterface;.protectSocket:(Ljava/lang/Object;I)Z // method@06e6 │ │ -02aa66: 6e30 e905 1506 |0081: invoke-virtual {v5, v1, v6}, Ljava/net/Socket;.connect:(Ljava/net/SocketAddress;I)V // method@05e9 │ │ -02aa6c: 6e20 ed05 6500 |0084: invoke-virtual {v5, v6}, Ljava/net/Socket;.setSoTimeout:(I)V // method@05ed │ │ -02aa72: 6e10 eb05 0500 |0087: invoke-virtual {v5}, Ljava/net/Socket;.getOutputStream:()Ljava/io/OutputStream; // method@05eb │ │ -02aa78: 0c06 |008a: move-result-object v6 │ │ -02aa7a: 6e10 8d05 0000 |008b: invoke-virtual {v0}, Ljava/lang/String;.getBytes:()[B // method@058d │ │ -02aa80: 0c07 |008e: move-result-object v7 │ │ -02aa82: 6e20 3605 7600 |008f: invoke-virtual {v6, v7}, Ljava/io/OutputStream;.write:([B)V // method@0536 │ │ -02aa88: 6e10 eb05 0500 |0092: invoke-virtual {v5}, Ljava/net/Socket;.getOutputStream:()Ljava/io/OutputStream; // method@05eb │ │ -02aa8e: 0c06 |0095: move-result-object v6 │ │ -02aa90: 6e10 3405 0600 |0096: invoke-virtual {v6}, Ljava/io/OutputStream;.flush:()V // method@0534 │ │ -02aa96: 2206 9901 |0099: new-instance v6, Lutil/http/HttpHeader; // type@0199 │ │ -02aa9a: 6e10 ea05 0500 |009b: invoke-virtual {v5}, Ljava/net/Socket;.getInputStream:()Ljava/io/InputStream; // method@05ea │ │ -02aaa0: 0c07 |009e: move-result-object v7 │ │ -02aaa2: 1220 |009f: const/4 v0, #int 2 // #2 │ │ -02aaa4: 7030 f007 7600 |00a0: invoke-direct {v6, v7, v0}, Lutil/http/HttpHeader;.:(Ljava/io/InputStream;I)V // method@07f0 │ │ -02aaaa: 5267 ad03 |00a3: iget v7, v6, Lutil/http/HttpHeader;.responsecode:I // field@03ad │ │ -02aaae: 1300 c800 |00a5: const/16 v0, #int 200 // #c8 │ │ -02aab2: 3307 0600 |00a7: if-ne v7, v0, 00ad // +0006 │ │ -02aab6: 6e20 ed05 2500 |00a9: invoke-virtual {v5, v2}, Ljava/net/Socket;.setSoTimeout:(I)V // method@05ed │ │ -02aabc: 1105 |00ac: return-object v5 │ │ -02aabe: 6e10 ee05 0500 |00ad: invoke-virtual {v5}, Ljava/net/Socket;.shutdownInput:()V // method@05ee │ │ -02aac4: 6e10 ef05 0500 |00b0: invoke-virtual {v5}, Ljava/net/Socket;.shutdownOutput:()V // method@05ef │ │ -02aaca: 6e10 e805 0500 |00b3: invoke-virtual {v5}, Ljava/net/Socket;.close:()V // method@05e8 │ │ -02aad0: 2205 0001 |00b6: new-instance v5, Ljava/io/IOException; // type@0100 │ │ -02aad4: 2207 2d01 |00b8: new-instance v7, Ljava/lang/StringBuilder; // type@012d │ │ -02aad8: 1a00 1504 |00ba: const-string v0, "Proxy refused Tunnel │ │ +02a950: |[02a950] util.conpool.HttpProxy.openTunnel:(Ljava/net/InetSocketAddress;IZ)Ljava/net/Socket; │ │ +02a960: 6e10 da05 0500 |0000: invoke-virtual {v5}, Ljava/net/InetSocketAddress;.getAddress:()Ljava/net/InetAddress; // method@05da │ │ +02a966: 0c00 |0003: move-result-object v0 │ │ +02a968: 6e10 d405 0000 |0004: invoke-virtual {v0}, Ljava/net/InetAddress;.getHostAddress:()Ljava/lang/String; // method@05d4 │ │ +02a96e: 0c00 |0007: move-result-object v0 │ │ +02a970: 1a01 6b00 |0008: const-string v1, "0.0.0.0" // string@006b │ │ +02a974: 6e20 8b05 1000 |000a: invoke-virtual {v0, v1}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058b │ │ +02a97a: 0a00 |000d: move-result v0 │ │ +02a97c: 3900 0b00 |000e: if-nez v0, 0019 // +000b │ │ +02a980: 6e10 da05 0500 |0010: invoke-virtual {v5}, Ljava/net/InetSocketAddress;.getAddress:()Ljava/net/InetAddress; // method@05da │ │ +02a986: 0c00 |0013: move-result-object v0 │ │ +02a988: 6e10 d405 0000 |0014: invoke-virtual {v0}, Ljava/net/InetAddress;.getHostAddress:()Ljava/lang/String; // method@05d4 │ │ +02a98e: 0c00 |0017: move-result-object v0 │ │ +02a990: 2805 |0018: goto 001d // +0005 │ │ +02a992: 6e10 db05 0500 |0019: invoke-virtual {v5}, Ljava/net/InetSocketAddress;.getHostName:()Ljava/lang/String; // method@05db │ │ +02a998: 0c00 |001c: move-result-object v0 │ │ +02a99a: 2201 9901 |001d: new-instance v1, Lutil/http/HttpHeader; // type@0199 │ │ +02a99e: 1212 |001f: const/4 v2, #int 1 // #1 │ │ +02a9a0: 7020 ef07 2100 |0020: invoke-direct {v1, v2}, Lutil/http/HttpHeader;.:(I)V // method@07ef │ │ +02a9a6: 2202 2d01 |0023: new-instance v2, Ljava/lang/StringBuilder; // type@012d │ │ +02a9aa: 1a03 e000 |0025: const-string v3, "CONNECT " // string@00e0 │ │ +02a9ae: 7020 a805 3200 |0027: invoke-direct {v2, v3}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05a8 │ │ +02a9b4: 6e20 ad05 0200 |002a: invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +02a9ba: 1a00 8100 |002d: const-string v0, ":" // string@0081 │ │ +02a9be: 6e20 ad05 0200 |002f: invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +02a9c4: 6e10 dc05 0500 |0032: invoke-virtual {v5}, Ljava/net/InetSocketAddress;.getPort:()I // method@05dc │ │ +02a9ca: 0a00 |0035: move-result v0 │ │ +02a9cc: 6e20 aa05 0200 |0036: invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@05aa │ │ +02a9d2: 1a00 1400 |0039: const-string v0, " HTTP/1.1" // string@0014 │ │ +02a9d6: 6e20 ad05 0200 |003b: invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +02a9dc: 6e10 af05 0200 |003e: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ +02a9e2: 0c00 |0041: move-result-object v0 │ │ +02a9e4: 6e20 0208 0100 |0042: invoke-virtual {v1, v0}, Lutil/http/HttpHeader;.setRequest:(Ljava/lang/String;)V // method@0802 │ │ +02a9ea: 5440 9203 |0045: iget-object v0, v4, Lutil/conpool/HttpProxy;.authString:Ljava/lang/String; // field@0392 │ │ +02a9ee: 3800 0700 |0047: if-eqz v0, 004e // +0007 │ │ +02a9f2: 1a02 1604 |0049: const-string v2, "Proxy-Authorization" // string@0416 │ │ +02a9f6: 6e30 0308 2100 |004b: invoke-virtual {v1, v2, v0}, Lutil/http/HttpHeader;.setValue:(Ljava/lang/String;Ljava/lang/String;)V // method@0803 │ │ +02a9fc: 6e10 fb07 0100 |004e: invoke-virtual {v1}, Lutil/http/HttpHeader;.getServerRequestHeader:()Ljava/lang/String; // method@07fb │ │ +02aa02: 0c00 |0051: move-result-object v0 │ │ +02aa04: 2201 3801 |0052: new-instance v1, Ljava/net/InetSocketAddress; // type@0138 │ │ +02aa08: 6e10 db05 0500 |0054: invoke-virtual {v5}, Ljava/net/InetSocketAddress;.getHostName:()Ljava/lang/String; // method@05db │ │ +02aa0e: 0c05 |0057: move-result-object v5 │ │ +02aa10: 5442 9303 |0058: iget-object v2, v4, Lutil/conpool/HttpProxy;.proxyAdr:Ljava/net/InetSocketAddress; // field@0393 │ │ +02aa14: 6e10 da05 0200 |005a: invoke-virtual {v2}, Ljava/net/InetSocketAddress;.getAddress:()Ljava/net/InetAddress; // method@05da │ │ +02aa1a: 0c02 |005d: move-result-object v2 │ │ +02aa1c: 6e10 d005 0200 |005e: invoke-virtual {v2}, Ljava/net/InetAddress;.getAddress:()[B // method@05d0 │ │ +02aa22: 0c02 |0061: move-result-object v2 │ │ +02aa24: 7120 d105 2500 |0062: invoke-static {v5, v2}, Ljava/net/InetAddress;.getByAddress:(Ljava/lang/String;[B)Ljava/net/InetAddress; // method@05d1 │ │ +02aa2a: 0c05 |0065: move-result-object v5 │ │ +02aa2c: 5442 9303 |0066: iget-object v2, v4, Lutil/conpool/HttpProxy;.proxyAdr:Ljava/net/InetSocketAddress; // field@0393 │ │ +02aa30: 6e10 dc05 0200 |0068: invoke-virtual {v2}, Ljava/net/InetSocketAddress;.getPort:()I // method@05dc │ │ +02aa36: 0a02 |006b: move-result v2 │ │ +02aa38: 7030 d805 5102 |006c: invoke-direct {v1, v5, v2}, Ljava/net/InetSocketAddress;.:(Ljava/net/InetAddress;I)V // method@05d8 │ │ +02aa3e: 7100 1106 0000 |006f: invoke-static {}, Ljava/nio/channels/SocketChannel;.open:()Ljava/nio/channels/SocketChannel; // method@0611 │ │ +02aa44: 0c05 |0072: move-result-object v5 │ │ +02aa46: 6e10 1206 0500 |0073: invoke-virtual {v5}, Ljava/nio/channels/SocketChannel;.socket:()Ljava/net/Socket; // method@0612 │ │ +02aa4c: 0c05 |0076: move-result-object v5 │ │ +02aa4e: 1202 |0077: const/4 v2, #int 0 // #0 │ │ +02aa50: 3807 0900 |0078: if-eqz v7, 0081 // +0009 │ │ +02aa54: 7100 d206 0000 |007a: invoke-static {}, Lutil/ExecutionEnvironment;.getEnvironment:()Lutil/ExecutionEnvironmentInterface; // method@06d2 │ │ +02aa5a: 0c07 |007d: move-result-object v7 │ │ +02aa5c: 7230 e606 5702 |007e: invoke-interface {v7, v5, v2}, Lutil/ExecutionEnvironmentInterface;.protectSocket:(Ljava/lang/Object;I)Z // method@06e6 │ │ +02aa62: 6e30 e905 1506 |0081: invoke-virtual {v5, v1, v6}, Ljava/net/Socket;.connect:(Ljava/net/SocketAddress;I)V // method@05e9 │ │ +02aa68: 6e20 ed05 6500 |0084: invoke-virtual {v5, v6}, Ljava/net/Socket;.setSoTimeout:(I)V // method@05ed │ │ +02aa6e: 6e10 eb05 0500 |0087: invoke-virtual {v5}, Ljava/net/Socket;.getOutputStream:()Ljava/io/OutputStream; // method@05eb │ │ +02aa74: 0c06 |008a: move-result-object v6 │ │ +02aa76: 6e10 8d05 0000 |008b: invoke-virtual {v0}, Ljava/lang/String;.getBytes:()[B // method@058d │ │ +02aa7c: 0c07 |008e: move-result-object v7 │ │ +02aa7e: 6e20 3605 7600 |008f: invoke-virtual {v6, v7}, Ljava/io/OutputStream;.write:([B)V // method@0536 │ │ +02aa84: 6e10 eb05 0500 |0092: invoke-virtual {v5}, Ljava/net/Socket;.getOutputStream:()Ljava/io/OutputStream; // method@05eb │ │ +02aa8a: 0c06 |0095: move-result-object v6 │ │ +02aa8c: 6e10 3405 0600 |0096: invoke-virtual {v6}, Ljava/io/OutputStream;.flush:()V // method@0534 │ │ +02aa92: 2206 9901 |0099: new-instance v6, Lutil/http/HttpHeader; // type@0199 │ │ +02aa96: 6e10 ea05 0500 |009b: invoke-virtual {v5}, Ljava/net/Socket;.getInputStream:()Ljava/io/InputStream; // method@05ea │ │ +02aa9c: 0c07 |009e: move-result-object v7 │ │ +02aa9e: 1220 |009f: const/4 v0, #int 2 // #2 │ │ +02aaa0: 7030 f007 7600 |00a0: invoke-direct {v6, v7, v0}, Lutil/http/HttpHeader;.:(Ljava/io/InputStream;I)V // method@07f0 │ │ +02aaa6: 5267 ad03 |00a3: iget v7, v6, Lutil/http/HttpHeader;.responsecode:I // field@03ad │ │ +02aaaa: 1300 c800 |00a5: const/16 v0, #int 200 // #c8 │ │ +02aaae: 3307 0600 |00a7: if-ne v7, v0, 00ad // +0006 │ │ +02aab2: 6e20 ed05 2500 |00a9: invoke-virtual {v5, v2}, Ljava/net/Socket;.setSoTimeout:(I)V // method@05ed │ │ +02aab8: 1105 |00ac: return-object v5 │ │ +02aaba: 6e10 ee05 0500 |00ad: invoke-virtual {v5}, Ljava/net/Socket;.shutdownInput:()V // method@05ee │ │ +02aac0: 6e10 ef05 0500 |00b0: invoke-virtual {v5}, Ljava/net/Socket;.shutdownOutput:()V // method@05ef │ │ +02aac6: 6e10 e805 0500 |00b3: invoke-virtual {v5}, Ljava/net/Socket;.close:()V // method@05e8 │ │ +02aacc: 2205 0001 |00b6: new-instance v5, Ljava/io/IOException; // type@0100 │ │ +02aad0: 2207 2d01 |00b8: new-instance v7, Ljava/lang/StringBuilder; // type@012d │ │ +02aad4: 1a00 1504 |00ba: const-string v0, "Proxy refused Tunnel │ │ " // string@0415 │ │ -02aadc: 7020 a805 0700 |00bc: invoke-direct {v7, v0}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05a8 │ │ -02aae2: 6e10 fa07 0600 |00bf: invoke-virtual {v6}, Lutil/http/HttpHeader;.getResponseMessage:()Ljava/lang/String; // method@07fa │ │ -02aae8: 0c06 |00c2: move-result-object v6 │ │ -02aaea: 6e20 ad05 6700 |00c3: invoke-virtual {v7, v6}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -02aaf0: 6e10 af05 0700 |00c6: invoke-virtual {v7}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ -02aaf6: 0c06 |00c9: move-result-object v6 │ │ -02aaf8: 7020 1f05 6500 |00ca: invoke-direct {v5, v6}, Ljava/io/IOException;.:(Ljava/lang/String;)V // method@051f │ │ -02aafe: 2705 |00cd: throw v5 │ │ +02aad8: 7020 a805 0700 |00bc: invoke-direct {v7, v0}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05a8 │ │ +02aade: 6e10 fa07 0600 |00bf: invoke-virtual {v6}, Lutil/http/HttpHeader;.getResponseMessage:()Ljava/lang/String; // method@07fa │ │ +02aae4: 0c06 |00c2: move-result-object v6 │ │ +02aae6: 6e20 ad05 6700 |00c3: invoke-virtual {v7, v6}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +02aaec: 6e10 af05 0700 |00c6: invoke-virtual {v7}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ +02aaf2: 0c06 |00c9: move-result-object v6 │ │ +02aaf4: 7020 1f05 6500 |00ca: invoke-direct {v5, v6}, Ljava/io/IOException;.:(Ljava/lang/String;)V // method@051f │ │ +02aafa: 2705 |00cd: throw v5 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=57 │ │ 0x0010 line=58 │ │ 0x0019 line=60 │ │ 0x001d line=62 │ │ 0x0023 line=63 │ │ @@ -32891,17 +32891,17 @@ │ │ type : '(Ljava/lang/String;)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 2 │ │ outs : 0 │ │ insns size : 3 16-bit code units │ │ -02ab40: |[02ab40] util.conpool.HttpProxy.setProxyAuth:(Ljava/lang/String;)V │ │ -02ab50: 5b01 9203 |0000: iput-object v1, v0, Lutil/conpool/HttpProxy;.authString:Ljava/lang/String; // field@0392 │ │ -02ab54: 0e00 |0002: return-void │ │ +02ab3c: |[02ab3c] util.conpool.HttpProxy.setProxyAuth:(Ljava/lang/String;)V │ │ +02ab4c: 5b01 9203 |0000: iput-object v1, v0, Lutil/conpool/HttpProxy;.authString:Ljava/lang/String; // field@0392 │ │ +02ab50: 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; │ │ │ │ @@ -32952,22 +32952,22 @@ │ │ type : '(Ljava/io/InputStream;)V' │ │ access : 0x10001 (PUBLIC CONSTRUCTOR) │ │ code - │ │ registers : 4 │ │ ins : 2 │ │ outs : 1 │ │ insns size : 13 16-bit code units │ │ -02ac50: |[02ac50] util.conpool.PooledConnectionInputStream.:(Ljava/io/InputStream;)V │ │ -02ac60: 7010 2505 0200 |0000: invoke-direct {v2}, Ljava/io/InputStream;.:()V // method@0525 │ │ -02ac66: 1210 |0003: const/4 v0, #int 1 // #1 │ │ -02ac68: 5c20 9603 |0004: iput-boolean v0, v2, Lutil/conpool/PooledConnectionInputStream;.valid:Z // field@0396 │ │ -02ac6c: 1600 0000 |0006: const-wide/16 v0, #int 0 // #0 │ │ -02ac70: 5a20 9503 |0008: iput-wide v0, v2, Lutil/conpool/PooledConnectionInputStream;.traffic:J // field@0395 │ │ -02ac74: 5b23 9403 |000a: iput-object v3, v2, Lutil/conpool/PooledConnectionInputStream;.in:Ljava/io/InputStream; // field@0394 │ │ -02ac78: 0e00 |000c: return-void │ │ +02ac4c: |[02ac4c] util.conpool.PooledConnectionInputStream.:(Ljava/io/InputStream;)V │ │ +02ac5c: 7010 2505 0200 |0000: invoke-direct {v2}, Ljava/io/InputStream;.:()V // method@0525 │ │ +02ac62: 1210 |0003: const/4 v0, #int 1 // #1 │ │ +02ac64: 5c20 9603 |0004: iput-boolean v0, v2, Lutil/conpool/PooledConnectionInputStream;.valid:Z // field@0396 │ │ +02ac68: 1600 0000 |0006: const-wide/16 v0, #int 0 // #0 │ │ +02ac6c: 5a20 9503 |0008: iput-wide v0, v2, Lutil/conpool/PooledConnectionInputStream;.traffic:J // field@0395 │ │ +02ac70: 5b23 9403 |000a: iput-object v3, v2, Lutil/conpool/PooledConnectionInputStream;.in:Ljava/io/InputStream; // field@0394 │ │ +02ac74: 0e00 |000c: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=34 │ │ 0x0004 line=31 │ │ 0x0008 line=32 │ │ 0x000a line=35 │ │ locals : │ │ @@ -32980,32 +32980,32 @@ │ │ type : '()V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 1 │ │ ins : 1 │ │ outs : 0 │ │ insns size : 1 16-bit code units │ │ -02ac7c: |[02ac7c] util.conpool.PooledConnectionInputStream.close:()V │ │ -02ac8c: 0e00 |0000: return-void │ │ +02ac78: |[02ac78] util.conpool.PooledConnectionInputStream.close:()V │ │ +02ac88: 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 │ │ -02ac38: |[02ac38] util.conpool.PooledConnectionInputStream.getTraffic:()J │ │ -02ac48: 5320 9503 |0000: iget-wide v0, v2, Lutil/conpool/PooledConnectionInputStream;.traffic:J // field@0395 │ │ -02ac4c: 1000 |0002: return-wide v0 │ │ +02ac34: |[02ac34] util.conpool.PooledConnectionInputStream.getTraffic:()J │ │ +02ac44: 5320 9503 |0000: iget-wide v0, v2, Lutil/conpool/PooledConnectionInputStream;.traffic:J // field@0395 │ │ +02ac48: 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;) │ │ @@ -33013,18 +33013,18 @@ │ │ type : '()V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 0 │ │ insns size : 4 16-bit code units │ │ -02ac90: |[02ac90] util.conpool.PooledConnectionInputStream.invalidate:()V │ │ -02aca0: 1200 |0000: const/4 v0, #int 0 // #0 │ │ -02aca2: 5c10 9603 |0001: iput-boolean v0, v1, Lutil/conpool/PooledConnectionInputStream;.valid:Z // field@0396 │ │ -02aca6: 0e00 |0003: return-void │ │ +02ac8c: |[02ac8c] util.conpool.PooledConnectionInputStream.invalidate:()V │ │ +02ac9c: 1200 |0000: const/4 v0, #int 0 // #0 │ │ +02ac9e: 5c10 9603 |0001: iput-boolean v0, v1, Lutil/conpool/PooledConnectionInputStream;.valid:Z // field@0396 │ │ +02aca2: 0e00 |0003: return-void │ │ catches : (none) │ │ positions : │ │ 0x0001 line=39 │ │ locals : │ │ 0x0000 - 0x0004 reg=1 this Lutil/conpool/PooledConnectionInputStream; │ │ │ │ #3 : (in Lutil/conpool/PooledConnectionInputStream;) │ │ @@ -33032,36 +33032,36 @@ │ │ type : '()I' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 6 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 41 16-bit code units │ │ -02ab58: |[02ab58] util.conpool.PooledConnectionInputStream.read:()I │ │ -02ab68: 5450 9403 |0000: iget-object v0, v5, Lutil/conpool/PooledConnectionInputStream;.in:Ljava/io/InputStream; // field@0394 │ │ -02ab6c: 6e10 2805 0000 |0002: invoke-virtual {v0}, Ljava/io/InputStream;.read:()I // method@0528 │ │ -02ab72: 0a00 |0005: move-result v0 │ │ -02ab74: 5551 9603 |0006: iget-boolean v1, v5, Lutil/conpool/PooledConnectionInputStream;.valid:Z // field@0396 │ │ -02ab78: 3801 0d00 |0008: if-eqz v1, 0015 // +000d │ │ -02ab7c: 12f1 |000a: const/4 v1, #int -1 // #ff │ │ -02ab7e: 3210 0900 |000b: if-eq v0, v1, 0014 // +0009 │ │ -02ab82: 5351 9503 |000d: iget-wide v1, v5, Lutil/conpool/PooledConnectionInputStream;.traffic:J // field@0395 │ │ -02ab86: 1603 0100 |000f: const-wide/16 v3, #int 1 // #1 │ │ -02ab8a: bb31 |0011: add-long/2addr v1, v3 │ │ -02ab8c: 5a51 9503 |0012: iput-wide v1, v5, Lutil/conpool/PooledConnectionInputStream;.traffic:J // field@0395 │ │ -02ab90: 0f00 |0014: return v0 │ │ -02ab92: 2200 1d01 |0015: new-instance v0, Ljava/lang/IllegalStateException; // type@011d │ │ -02ab96: 2201 2d01 |0017: new-instance v1, Ljava/lang/StringBuilder; // type@012d │ │ -02ab9a: 1a02 fa01 |0019: const-string v2, "Invalid:" // string@01fa │ │ -02ab9e: 7020 a805 2100 |001b: invoke-direct {v1, v2}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05a8 │ │ -02aba4: 6e20 ac05 5100 |001e: invoke-virtual {v1, v5}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@05ac │ │ -02abaa: 6e10 af05 0100 |0021: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ -02abb0: 0c01 |0024: move-result-object v1 │ │ -02abb2: 7020 6105 1000 |0025: invoke-direct {v0, v1}, Ljava/lang/IllegalStateException;.:(Ljava/lang/String;)V // method@0561 │ │ -02abb8: 2700 |0028: throw v0 │ │ +02ab54: |[02ab54] util.conpool.PooledConnectionInputStream.read:()I │ │ +02ab64: 5450 9403 |0000: iget-object v0, v5, Lutil/conpool/PooledConnectionInputStream;.in:Ljava/io/InputStream; // field@0394 │ │ +02ab68: 6e10 2805 0000 |0002: invoke-virtual {v0}, Ljava/io/InputStream;.read:()I // method@0528 │ │ +02ab6e: 0a00 |0005: move-result v0 │ │ +02ab70: 5551 9603 |0006: iget-boolean v1, v5, Lutil/conpool/PooledConnectionInputStream;.valid:Z // field@0396 │ │ +02ab74: 3801 0d00 |0008: if-eqz v1, 0015 // +000d │ │ +02ab78: 12f1 |000a: const/4 v1, #int -1 // #ff │ │ +02ab7a: 3210 0900 |000b: if-eq v0, v1, 0014 // +0009 │ │ +02ab7e: 5351 9503 |000d: iget-wide v1, v5, Lutil/conpool/PooledConnectionInputStream;.traffic:J // field@0395 │ │ +02ab82: 1603 0100 |000f: const-wide/16 v3, #int 1 // #1 │ │ +02ab86: bb31 |0011: add-long/2addr v1, v3 │ │ +02ab88: 5a51 9503 |0012: iput-wide v1, v5, Lutil/conpool/PooledConnectionInputStream;.traffic:J // field@0395 │ │ +02ab8c: 0f00 |0014: return v0 │ │ +02ab8e: 2200 1d01 |0015: new-instance v0, Ljava/lang/IllegalStateException; // type@011d │ │ +02ab92: 2201 2d01 |0017: new-instance v1, Ljava/lang/StringBuilder; // type@012d │ │ +02ab96: 1a02 fa01 |0019: const-string v2, "Invalid:" // string@01fa │ │ +02ab9a: 7020 a805 2100 |001b: invoke-direct {v1, v2}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05a8 │ │ +02aba0: 6e20 ac05 5100 |001e: invoke-virtual {v1, v5}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@05ac │ │ +02aba6: 6e10 af05 0100 |0021: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ +02abac: 0c01 |0024: move-result-object v1 │ │ +02abae: 7020 6105 1000 |0025: invoke-direct {v0, v1}, Ljava/lang/IllegalStateException;.:(Ljava/lang/String;)V // method@0561 │ │ +02abb4: 2700 |0028: throw v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=44 │ │ 0x0006 line=45 │ │ 0x000d line=49 │ │ 0x0015 line=46 │ │ locals : │ │ @@ -33072,20 +33072,20 @@ │ │ type : '([B)I' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 4 │ │ ins : 2 │ │ outs : 4 │ │ insns size : 7 16-bit code units │ │ -02abbc: |[02abbc] util.conpool.PooledConnectionInputStream.read:([B)I │ │ -02abcc: 1200 |0000: const/4 v0, #int 0 // #0 │ │ -02abce: 2131 |0001: array-length v1, v3 │ │ -02abd0: 6e40 d307 3210 |0002: invoke-virtual {v2, v3, v0, v1}, Lutil/conpool/PooledConnectionInputStream;.read:([BII)I // method@07d3 │ │ -02abd6: 0a03 |0005: move-result v3 │ │ -02abd8: 0f03 |0006: return v3 │ │ +02abb8: |[02abb8] util.conpool.PooledConnectionInputStream.read:([B)I │ │ +02abc8: 1200 |0000: const/4 v0, #int 0 // #0 │ │ +02abca: 2131 |0001: array-length v1, v3 │ │ +02abcc: 6e40 d307 3210 |0002: invoke-virtual {v2, v3, v0, v1}, Lutil/conpool/PooledConnectionInputStream;.read:([BII)I // method@07d3 │ │ +02abd2: 0a03 |0005: move-result v3 │ │ +02abd4: 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 │ │ │ │ @@ -33094,34 +33094,34 @@ │ │ type : '([BII)I' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 6 │ │ ins : 4 │ │ outs : 4 │ │ insns size : 37 16-bit code units │ │ -02abdc: |[02abdc] util.conpool.PooledConnectionInputStream.read:([BII)I │ │ -02abec: 5420 9403 |0000: iget-object v0, v2, Lutil/conpool/PooledConnectionInputStream;.in:Ljava/io/InputStream; // field@0394 │ │ -02abf0: 6e40 2a05 3054 |0002: invoke-virtual {v0, v3, v4, v5}, Ljava/io/InputStream;.read:([BII)I // method@052a │ │ -02abf6: 0a03 |0005: move-result v3 │ │ -02abf8: 5524 9603 |0006: iget-boolean v4, v2, Lutil/conpool/PooledConnectionInputStream;.valid:Z // field@0396 │ │ -02abfc: 3804 0900 |0008: if-eqz v4, 0011 // +0009 │ │ -02ac00: 5324 9503 |000a: iget-wide v4, v2, Lutil/conpool/PooledConnectionInputStream;.traffic:J // field@0395 │ │ -02ac04: 8130 |000c: int-to-long v0, v3 │ │ -02ac06: bb04 |000d: add-long/2addr v4, v0 │ │ -02ac08: 5a24 9503 |000e: iput-wide v4, v2, Lutil/conpool/PooledConnectionInputStream;.traffic:J // field@0395 │ │ -02ac0c: 0f03 |0010: return v3 │ │ -02ac0e: 2203 1d01 |0011: new-instance v3, Ljava/lang/IllegalStateException; // type@011d │ │ -02ac12: 2204 2d01 |0013: new-instance v4, Ljava/lang/StringBuilder; // type@012d │ │ -02ac16: 1a05 fa01 |0015: const-string v5, "Invalid:" // string@01fa │ │ -02ac1a: 7020 a805 5400 |0017: invoke-direct {v4, v5}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05a8 │ │ -02ac20: 6e20 ac05 2400 |001a: invoke-virtual {v4, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@05ac │ │ -02ac26: 6e10 af05 0400 |001d: invoke-virtual {v4}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ -02ac2c: 0c04 |0020: move-result-object v4 │ │ -02ac2e: 7020 6105 4300 |0021: invoke-direct {v3, v4}, Ljava/lang/IllegalStateException;.:(Ljava/lang/String;)V // method@0561 │ │ -02ac34: 2703 |0024: throw v3 │ │ +02abd8: |[02abd8] util.conpool.PooledConnectionInputStream.read:([BII)I │ │ +02abe8: 5420 9403 |0000: iget-object v0, v2, Lutil/conpool/PooledConnectionInputStream;.in:Ljava/io/InputStream; // field@0394 │ │ +02abec: 6e40 2a05 3054 |0002: invoke-virtual {v0, v3, v4, v5}, Ljava/io/InputStream;.read:([BII)I // method@052a │ │ +02abf2: 0a03 |0005: move-result v3 │ │ +02abf4: 5524 9603 |0006: iget-boolean v4, v2, Lutil/conpool/PooledConnectionInputStream;.valid:Z // field@0396 │ │ +02abf8: 3804 0900 |0008: if-eqz v4, 0011 // +0009 │ │ +02abfc: 5324 9503 |000a: iget-wide v4, v2, Lutil/conpool/PooledConnectionInputStream;.traffic:J // field@0395 │ │ +02ac00: 8130 |000c: int-to-long v0, v3 │ │ +02ac02: bb04 |000d: add-long/2addr v4, v0 │ │ +02ac04: 5a24 9503 |000e: iput-wide v4, v2, Lutil/conpool/PooledConnectionInputStream;.traffic:J // field@0395 │ │ +02ac08: 0f03 |0010: return v3 │ │ +02ac0a: 2203 1d01 |0011: new-instance v3, Ljava/lang/IllegalStateException; // type@011d │ │ +02ac0e: 2204 2d01 |0013: new-instance v4, Ljava/lang/StringBuilder; // type@012d │ │ +02ac12: 1a05 fa01 |0015: const-string v5, "Invalid:" // string@01fa │ │ +02ac16: 7020 a805 5400 |0017: invoke-direct {v4, v5}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05a8 │ │ +02ac1c: 6e20 ac05 2400 |001a: invoke-virtual {v4, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@05ac │ │ +02ac22: 6e10 af05 0400 |001d: invoke-virtual {v4}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ +02ac28: 0c04 |0020: move-result-object v4 │ │ +02ac2a: 7020 6105 4300 |0021: invoke-direct {v3, v4}, Ljava/lang/IllegalStateException;.:(Ljava/lang/String;)V // method@0561 │ │ +02ac30: 2703 |0024: throw v3 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=61 │ │ 0x0006 line=62 │ │ 0x000a line=65 │ │ 0x0011 line=63 │ │ locals : │ │ @@ -33179,22 +33179,22 @@ │ │ type : '(Ljava/io/OutputStream;)V' │ │ access : 0x10001 (PUBLIC CONSTRUCTOR) │ │ code - │ │ registers : 4 │ │ ins : 2 │ │ outs : 1 │ │ insns size : 13 16-bit code units │ │ -02acc0: |[02acc0] util.conpool.PooledConnectionOutputStream.:(Ljava/io/OutputStream;)V │ │ -02acd0: 7010 3205 0200 |0000: invoke-direct {v2}, Ljava/io/OutputStream;.:()V // method@0532 │ │ -02acd6: 1210 |0003: const/4 v0, #int 1 // #1 │ │ -02acd8: 5c20 9903 |0004: iput-boolean v0, v2, Lutil/conpool/PooledConnectionOutputStream;.valid:Z // field@0399 │ │ -02acdc: 1600 0000 |0006: const-wide/16 v0, #int 0 // #0 │ │ -02ace0: 5a20 9803 |0008: iput-wide v0, v2, Lutil/conpool/PooledConnectionOutputStream;.traffic:J // field@0398 │ │ -02ace4: 5b23 9703 |000a: iput-object v3, v2, Lutil/conpool/PooledConnectionOutputStream;.out:Ljava/io/OutputStream; // field@0397 │ │ -02ace8: 0e00 |000c: return-void │ │ +02acbc: |[02acbc] util.conpool.PooledConnectionOutputStream.:(Ljava/io/OutputStream;)V │ │ +02accc: 7010 3205 0200 |0000: invoke-direct {v2}, Ljava/io/OutputStream;.:()V // method@0532 │ │ +02acd2: 1210 |0003: const/4 v0, #int 1 // #1 │ │ +02acd4: 5c20 9903 |0004: iput-boolean v0, v2, Lutil/conpool/PooledConnectionOutputStream;.valid:Z // field@0399 │ │ +02acd8: 1600 0000 |0006: const-wide/16 v0, #int 0 // #0 │ │ +02acdc: 5a20 9803 |0008: iput-wide v0, v2, Lutil/conpool/PooledConnectionOutputStream;.traffic:J // field@0398 │ │ +02ace0: 5b23 9703 |000a: iput-object v3, v2, Lutil/conpool/PooledConnectionOutputStream;.out:Ljava/io/OutputStream; // field@0397 │ │ +02ace4: 0e00 |000c: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=33 │ │ 0x0004 line=30 │ │ 0x0008 line=31 │ │ 0x000a line=34 │ │ locals : │ │ @@ -33207,44 +33207,44 @@ │ │ type : '()V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 1 │ │ ins : 1 │ │ outs : 0 │ │ insns size : 1 16-bit code units │ │ -02acec: |[02acec] util.conpool.PooledConnectionOutputStream.close:()V │ │ -02acfc: 0e00 |0000: return-void │ │ +02ace8: |[02ace8] util.conpool.PooledConnectionOutputStream.close:()V │ │ +02acf8: 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 │ │ -02ad00: |[02ad00] util.conpool.PooledConnectionOutputStream.flush:()V │ │ -02ad10: 5430 9703 |0000: iget-object v0, v3, Lutil/conpool/PooledConnectionOutputStream;.out:Ljava/io/OutputStream; // field@0397 │ │ -02ad14: 6e10 3405 0000 |0002: invoke-virtual {v0}, Ljava/io/OutputStream;.flush:()V // method@0534 │ │ -02ad1a: 5530 9903 |0005: iget-boolean v0, v3, Lutil/conpool/PooledConnectionOutputStream;.valid:Z // field@0399 │ │ -02ad1e: 3800 0300 |0007: if-eqz v0, 000a // +0003 │ │ -02ad22: 0e00 |0009: return-void │ │ -02ad24: 2200 1d01 |000a: new-instance v0, Ljava/lang/IllegalStateException; // type@011d │ │ -02ad28: 2201 2d01 |000c: new-instance v1, Ljava/lang/StringBuilder; // type@012d │ │ -02ad2c: 1a02 fa01 |000e: const-string v2, "Invalid:" // string@01fa │ │ -02ad30: 7020 a805 2100 |0010: invoke-direct {v1, v2}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05a8 │ │ -02ad36: 6e20 ac05 3100 |0013: invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@05ac │ │ -02ad3c: 6e10 af05 0100 |0016: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ -02ad42: 0c01 |0019: move-result-object v1 │ │ -02ad44: 7020 6105 1000 |001a: invoke-direct {v0, v1}, Ljava/lang/IllegalStateException;.:(Ljava/lang/String;)V // method@0561 │ │ -02ad4a: 2700 |001d: throw v0 │ │ +02acfc: |[02acfc] util.conpool.PooledConnectionOutputStream.flush:()V │ │ +02ad0c: 5430 9703 |0000: iget-object v0, v3, Lutil/conpool/PooledConnectionOutputStream;.out:Ljava/io/OutputStream; // field@0397 │ │ +02ad10: 6e10 3405 0000 |0002: invoke-virtual {v0}, Ljava/io/OutputStream;.flush:()V // method@0534 │ │ +02ad16: 5530 9903 |0005: iget-boolean v0, v3, Lutil/conpool/PooledConnectionOutputStream;.valid:Z // field@0399 │ │ +02ad1a: 3800 0300 |0007: if-eqz v0, 000a // +0003 │ │ +02ad1e: 0e00 |0009: return-void │ │ +02ad20: 2200 1d01 |000a: new-instance v0, Ljava/lang/IllegalStateException; // type@011d │ │ +02ad24: 2201 2d01 |000c: new-instance v1, Ljava/lang/StringBuilder; // type@012d │ │ +02ad28: 1a02 fa01 |000e: const-string v2, "Invalid:" // string@01fa │ │ +02ad2c: 7020 a805 2100 |0010: invoke-direct {v1, v2}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05a8 │ │ +02ad32: 6e20 ac05 3100 |0013: invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@05ac │ │ +02ad38: 6e10 af05 0100 |0016: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ +02ad3e: 0c01 |0019: move-result-object v1 │ │ +02ad40: 7020 6105 1000 |001a: invoke-direct {v0, v1}, Ljava/lang/IllegalStateException;.:(Ljava/lang/String;)V // method@0561 │ │ +02ad46: 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; │ │ @@ -33254,17 +33254,17 @@ │ │ type : '()J' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 3 │ │ ins : 1 │ │ outs : 0 │ │ insns size : 3 16-bit code units │ │ -02aca8: |[02aca8] util.conpool.PooledConnectionOutputStream.getTraffic:()J │ │ -02acb8: 5320 9803 |0000: iget-wide v0, v2, Lutil/conpool/PooledConnectionOutputStream;.traffic:J // field@0398 │ │ -02acbc: 1000 |0002: return-wide v0 │ │ +02aca4: |[02aca4] util.conpool.PooledConnectionOutputStream.getTraffic:()J │ │ +02acb4: 5320 9803 |0000: iget-wide v0, v2, Lutil/conpool/PooledConnectionOutputStream;.traffic:J // field@0398 │ │ +02acb8: 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;) │ │ @@ -33272,18 +33272,18 @@ │ │ type : '()V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 0 │ │ insns size : 4 16-bit code units │ │ -02ad4c: |[02ad4c] util.conpool.PooledConnectionOutputStream.invalidate:()V │ │ -02ad5c: 1200 |0000: const/4 v0, #int 0 // #0 │ │ -02ad5e: 5c10 9903 |0001: iput-boolean v0, v1, Lutil/conpool/PooledConnectionOutputStream;.valid:Z // field@0399 │ │ -02ad62: 0e00 |0003: return-void │ │ +02ad48: |[02ad48] util.conpool.PooledConnectionOutputStream.invalidate:()V │ │ +02ad58: 1200 |0000: const/4 v0, #int 0 // #0 │ │ +02ad5a: 5c10 9903 |0001: iput-boolean v0, v1, Lutil/conpool/PooledConnectionOutputStream;.valid:Z // field@0399 │ │ +02ad5e: 0e00 |0003: return-void │ │ catches : (none) │ │ positions : │ │ 0x0001 line=38 │ │ locals : │ │ 0x0000 - 0x0004 reg=1 this Lutil/conpool/PooledConnectionOutputStream; │ │ │ │ #4 : (in Lutil/conpool/PooledConnectionOutputStream;) │ │ @@ -33291,33 +33291,33 @@ │ │ type : '(I)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 6 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 37 16-bit code units │ │ -02ae18: |[02ae18] util.conpool.PooledConnectionOutputStream.write:(I)V │ │ -02ae28: 5440 9703 |0000: iget-object v0, v4, Lutil/conpool/PooledConnectionOutputStream;.out:Ljava/io/OutputStream; // field@0397 │ │ -02ae2c: 6e20 3505 5000 |0002: invoke-virtual {v0, v5}, Ljava/io/OutputStream;.write:(I)V // method@0535 │ │ -02ae32: 5340 9803 |0005: iget-wide v0, v4, Lutil/conpool/PooledConnectionOutputStream;.traffic:J // field@0398 │ │ -02ae36: 1602 0100 |0007: const-wide/16 v2, #int 1 // #1 │ │ -02ae3a: bb20 |0009: add-long/2addr v0, v2 │ │ -02ae3c: 5a40 9803 |000a: iput-wide v0, v4, Lutil/conpool/PooledConnectionOutputStream;.traffic:J // field@0398 │ │ -02ae40: 5545 9903 |000c: iget-boolean v5, v4, Lutil/conpool/PooledConnectionOutputStream;.valid:Z // field@0399 │ │ -02ae44: 3805 0300 |000e: if-eqz v5, 0011 // +0003 │ │ -02ae48: 0e00 |0010: return-void │ │ -02ae4a: 2205 1d01 |0011: new-instance v5, Ljava/lang/IllegalStateException; // type@011d │ │ -02ae4e: 2200 2d01 |0013: new-instance v0, Ljava/lang/StringBuilder; // type@012d │ │ -02ae52: 1a01 fa01 |0015: const-string v1, "Invalid:" // string@01fa │ │ -02ae56: 7020 a805 1000 |0017: invoke-direct {v0, v1}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05a8 │ │ -02ae5c: 6e20 ac05 4000 |001a: invoke-virtual {v0, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@05ac │ │ -02ae62: 6e10 af05 0000 |001d: invoke-virtual {v0}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ -02ae68: 0c00 |0020: move-result-object v0 │ │ -02ae6a: 7020 6105 0500 |0021: invoke-direct {v5, v0}, Ljava/lang/IllegalStateException;.:(Ljava/lang/String;)V // method@0561 │ │ -02ae70: 2705 |0024: throw v5 │ │ +02ae14: |[02ae14] util.conpool.PooledConnectionOutputStream.write:(I)V │ │ +02ae24: 5440 9703 |0000: iget-object v0, v4, Lutil/conpool/PooledConnectionOutputStream;.out:Ljava/io/OutputStream; // field@0397 │ │ +02ae28: 6e20 3505 5000 |0002: invoke-virtual {v0, v5}, Ljava/io/OutputStream;.write:(I)V // method@0535 │ │ +02ae2e: 5340 9803 |0005: iget-wide v0, v4, Lutil/conpool/PooledConnectionOutputStream;.traffic:J // field@0398 │ │ +02ae32: 1602 0100 |0007: const-wide/16 v2, #int 1 // #1 │ │ +02ae36: bb20 |0009: add-long/2addr v0, v2 │ │ +02ae38: 5a40 9803 |000a: iput-wide v0, v4, Lutil/conpool/PooledConnectionOutputStream;.traffic:J // field@0398 │ │ +02ae3c: 5545 9903 |000c: iget-boolean v5, v4, Lutil/conpool/PooledConnectionOutputStream;.valid:Z // field@0399 │ │ +02ae40: 3805 0300 |000e: if-eqz v5, 0011 // +0003 │ │ +02ae44: 0e00 |0010: return-void │ │ +02ae46: 2205 1d01 |0011: new-instance v5, Ljava/lang/IllegalStateException; // type@011d │ │ +02ae4a: 2200 2d01 |0013: new-instance v0, Ljava/lang/StringBuilder; // type@012d │ │ +02ae4e: 1a01 fa01 |0015: const-string v1, "Invalid:" // string@01fa │ │ +02ae52: 7020 a805 1000 |0017: invoke-direct {v0, v1}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05a8 │ │ +02ae58: 6e20 ac05 4000 |001a: invoke-virtual {v0, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@05ac │ │ +02ae5e: 6e10 af05 0000 |001d: invoke-virtual {v0}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ +02ae64: 0c00 |0020: move-result-object v0 │ │ +02ae66: 7020 6105 0500 |0021: invoke-direct {v5, v0}, Ljava/lang/IllegalStateException;.:(Ljava/lang/String;)V // method@0561 │ │ +02ae6c: 2705 |0024: throw v5 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=43 │ │ 0x0005 line=44 │ │ 0x000c line=45 │ │ 0x0011 line=46 │ │ locals : │ │ @@ -33329,34 +33329,34 @@ │ │ type : '([B)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 6 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 37 16-bit code units │ │ -02ad64: |[02ad64] util.conpool.PooledConnectionOutputStream.write:([B)V │ │ -02ad74: 5440 9703 |0000: iget-object v0, v4, Lutil/conpool/PooledConnectionOutputStream;.out:Ljava/io/OutputStream; // field@0397 │ │ -02ad78: 6e20 3605 5000 |0002: invoke-virtual {v0, v5}, Ljava/io/OutputStream;.write:([B)V // method@0536 │ │ -02ad7e: 5340 9803 |0005: iget-wide v0, v4, Lutil/conpool/PooledConnectionOutputStream;.traffic:J // field@0398 │ │ -02ad82: 2155 |0007: array-length v5, v5 │ │ -02ad84: 8152 |0008: int-to-long v2, v5 │ │ -02ad86: bb20 |0009: add-long/2addr v0, v2 │ │ -02ad88: 5a40 9803 |000a: iput-wide v0, v4, Lutil/conpool/PooledConnectionOutputStream;.traffic:J // field@0398 │ │ -02ad8c: 5545 9903 |000c: iget-boolean v5, v4, Lutil/conpool/PooledConnectionOutputStream;.valid:Z // field@0399 │ │ -02ad90: 3805 0300 |000e: if-eqz v5, 0011 // +0003 │ │ -02ad94: 0e00 |0010: return-void │ │ -02ad96: 2205 1d01 |0011: new-instance v5, Ljava/lang/IllegalStateException; // type@011d │ │ -02ad9a: 2200 2d01 |0013: new-instance v0, Ljava/lang/StringBuilder; // type@012d │ │ -02ad9e: 1a01 fa01 |0015: const-string v1, "Invalid:" // string@01fa │ │ -02ada2: 7020 a805 1000 |0017: invoke-direct {v0, v1}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05a8 │ │ -02ada8: 6e20 ac05 4000 |001a: invoke-virtual {v0, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@05ac │ │ -02adae: 6e10 af05 0000 |001d: invoke-virtual {v0}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ -02adb4: 0c00 |0020: move-result-object v0 │ │ -02adb6: 7020 6105 0500 |0021: invoke-direct {v5, v0}, Ljava/lang/IllegalStateException;.:(Ljava/lang/String;)V // method@0561 │ │ -02adbc: 2705 |0024: throw v5 │ │ +02ad60: |[02ad60] util.conpool.PooledConnectionOutputStream.write:([B)V │ │ +02ad70: 5440 9703 |0000: iget-object v0, v4, Lutil/conpool/PooledConnectionOutputStream;.out:Ljava/io/OutputStream; // field@0397 │ │ +02ad74: 6e20 3605 5000 |0002: invoke-virtual {v0, v5}, Ljava/io/OutputStream;.write:([B)V // method@0536 │ │ +02ad7a: 5340 9803 |0005: iget-wide v0, v4, Lutil/conpool/PooledConnectionOutputStream;.traffic:J // field@0398 │ │ +02ad7e: 2155 |0007: array-length v5, v5 │ │ +02ad80: 8152 |0008: int-to-long v2, v5 │ │ +02ad82: bb20 |0009: add-long/2addr v0, v2 │ │ +02ad84: 5a40 9803 |000a: iput-wide v0, v4, Lutil/conpool/PooledConnectionOutputStream;.traffic:J // field@0398 │ │ +02ad88: 5545 9903 |000c: iget-boolean v5, v4, Lutil/conpool/PooledConnectionOutputStream;.valid:Z // field@0399 │ │ +02ad8c: 3805 0300 |000e: if-eqz v5, 0011 // +0003 │ │ +02ad90: 0e00 |0010: return-void │ │ +02ad92: 2205 1d01 |0011: new-instance v5, Ljava/lang/IllegalStateException; // type@011d │ │ +02ad96: 2200 2d01 |0013: new-instance v0, Ljava/lang/StringBuilder; // type@012d │ │ +02ad9a: 1a01 fa01 |0015: const-string v1, "Invalid:" // string@01fa │ │ +02ad9e: 7020 a805 1000 |0017: invoke-direct {v0, v1}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05a8 │ │ +02ada4: 6e20 ac05 4000 |001a: invoke-virtual {v0, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@05ac │ │ +02adaa: 6e10 af05 0000 |001d: invoke-virtual {v0}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ +02adb0: 0c00 |0020: move-result-object v0 │ │ +02adb2: 7020 6105 0500 |0021: invoke-direct {v5, v0}, Ljava/lang/IllegalStateException;.:(Ljava/lang/String;)V // method@0561 │ │ +02adb8: 2705 |0024: throw v5 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=51 │ │ 0x0005 line=52 │ │ 0x000c line=53 │ │ 0x0011 line=54 │ │ locals : │ │ @@ -33368,33 +33368,33 @@ │ │ type : '([BII)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 6 │ │ ins : 4 │ │ outs : 4 │ │ insns size : 36 16-bit code units │ │ -02adc0: |[02adc0] util.conpool.PooledConnectionOutputStream.write:([BII)V │ │ -02add0: 5420 9703 |0000: iget-object v0, v2, Lutil/conpool/PooledConnectionOutputStream;.out:Ljava/io/OutputStream; // field@0397 │ │ -02add4: 6e40 3705 3054 |0002: invoke-virtual {v0, v3, v4, v5}, Ljava/io/OutputStream;.write:([BII)V // method@0537 │ │ -02adda: 5323 9803 |0005: iget-wide v3, v2, Lutil/conpool/PooledConnectionOutputStream;.traffic:J // field@0398 │ │ -02adde: 8150 |0007: int-to-long v0, v5 │ │ -02ade0: bb03 |0008: add-long/2addr v3, v0 │ │ -02ade2: 5a23 9803 |0009: iput-wide v3, v2, Lutil/conpool/PooledConnectionOutputStream;.traffic:J // field@0398 │ │ -02ade6: 5523 9903 |000b: iget-boolean v3, v2, Lutil/conpool/PooledConnectionOutputStream;.valid:Z // field@0399 │ │ -02adea: 3803 0300 |000d: if-eqz v3, 0010 // +0003 │ │ -02adee: 0e00 |000f: return-void │ │ -02adf0: 2203 1d01 |0010: new-instance v3, Ljava/lang/IllegalStateException; // type@011d │ │ -02adf4: 2204 2d01 |0012: new-instance v4, Ljava/lang/StringBuilder; // type@012d │ │ -02adf8: 1a05 fa01 |0014: const-string v5, "Invalid:" // string@01fa │ │ -02adfc: 7020 a805 5400 |0016: invoke-direct {v4, v5}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05a8 │ │ -02ae02: 6e20 ac05 2400 |0019: invoke-virtual {v4, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@05ac │ │ -02ae08: 6e10 af05 0400 |001c: invoke-virtual {v4}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ -02ae0e: 0c04 |001f: move-result-object v4 │ │ -02ae10: 7020 6105 4300 |0020: invoke-direct {v3, v4}, Ljava/lang/IllegalStateException;.:(Ljava/lang/String;)V // method@0561 │ │ -02ae16: 2703 |0023: throw v3 │ │ +02adbc: |[02adbc] util.conpool.PooledConnectionOutputStream.write:([BII)V │ │ +02adcc: 5420 9703 |0000: iget-object v0, v2, Lutil/conpool/PooledConnectionOutputStream;.out:Ljava/io/OutputStream; // field@0397 │ │ +02add0: 6e40 3705 3054 |0002: invoke-virtual {v0, v3, v4, v5}, Ljava/io/OutputStream;.write:([BII)V // method@0537 │ │ +02add6: 5323 9803 |0005: iget-wide v3, v2, Lutil/conpool/PooledConnectionOutputStream;.traffic:J // field@0398 │ │ +02adda: 8150 |0007: int-to-long v0, v5 │ │ +02addc: bb03 |0008: add-long/2addr v3, v0 │ │ +02adde: 5a23 9803 |0009: iput-wide v3, v2, Lutil/conpool/PooledConnectionOutputStream;.traffic:J // field@0398 │ │ +02ade2: 5523 9903 |000b: iget-boolean v3, v2, Lutil/conpool/PooledConnectionOutputStream;.valid:Z // field@0399 │ │ +02ade6: 3803 0300 |000d: if-eqz v3, 0010 // +0003 │ │ +02adea: 0e00 |000f: return-void │ │ +02adec: 2203 1d01 |0010: new-instance v3, Ljava/lang/IllegalStateException; // type@011d │ │ +02adf0: 2204 2d01 |0012: new-instance v4, Ljava/lang/StringBuilder; // type@012d │ │ +02adf4: 1a05 fa01 |0014: const-string v5, "Invalid:" // string@01fa │ │ +02adf8: 7020 a805 5400 |0016: invoke-direct {v4, v5}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05a8 │ │ +02adfe: 6e20 ac05 2400 |0019: invoke-virtual {v4, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@05ac │ │ +02ae04: 6e10 af05 0400 |001c: invoke-virtual {v4}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ +02ae0a: 0c04 |001f: move-result-object v4 │ │ +02ae0c: 7020 6105 4300 |0020: invoke-direct {v3, v4}, Ljava/lang/IllegalStateException;.:(Ljava/lang/String;)V // method@0561 │ │ +02ae12: 2703 |0023: throw v3 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=60 │ │ 0x0005 line=61 │ │ 0x000b line=62 │ │ 0x0010 line=63 │ │ locals : │ │ @@ -33448,25 +33448,25 @@ │ │ type : '()V' │ │ access : 0x10001 (PUBLIC CONSTRUCTOR) │ │ code - │ │ registers : 3 │ │ ins : 1 │ │ outs : 4 │ │ insns size : 20 16-bit code units │ │ -02afe4: |[02afe4] util.conpool.TLSSocketFactory.:()V │ │ -02aff4: 7010 a206 0200 |0000: invoke-direct {v2}, Ljavax/net/ssl/SSLSocketFactory;.:()V // method@06a2 │ │ -02affa: 1a00 6d04 |0003: const-string v0, "TLS" // string@046d │ │ -02affe: 7110 9e06 0000 |0005: invoke-static {v0}, Ljavax/net/ssl/SSLContext;.getInstance:(Ljava/lang/String;)Ljavax/net/ssl/SSLContext; // method@069e │ │ -02b004: 0c00 |0008: move-result-object v0 │ │ -02b006: 1201 |0009: const/4 v1, #int 0 // #0 │ │ -02b008: 6e40 a006 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@06a0 │ │ -02b00e: 6e10 9f06 0000 |000d: invoke-virtual {v0}, Ljavax/net/ssl/SSLContext;.getSocketFactory:()Ljavax/net/ssl/SSLSocketFactory; // method@069f │ │ -02b014: 0c00 |0010: move-result-object v0 │ │ -02b016: 5b20 9a03 |0011: iput-object v0, v2, Lutil/conpool/TLSSocketFactory;.delegate:Ljavax/net/ssl/SSLSocketFactory; // field@039a │ │ -02b01a: 0e00 |0013: return-void │ │ +02afe0: |[02afe0] util.conpool.TLSSocketFactory.:()V │ │ +02aff0: 7010 a206 0200 |0000: invoke-direct {v2}, Ljavax/net/ssl/SSLSocketFactory;.:()V // method@06a2 │ │ +02aff6: 1a00 6d04 |0003: const-string v0, "TLS" // string@046d │ │ +02affa: 7110 9e06 0000 |0005: invoke-static {v0}, Ljavax/net/ssl/SSLContext;.getInstance:(Ljava/lang/String;)Ljavax/net/ssl/SSLContext; // method@069e │ │ +02b000: 0c00 |0008: move-result-object v0 │ │ +02b002: 1201 |0009: const/4 v1, #int 0 // #0 │ │ +02b004: 6e40 a006 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@06a0 │ │ +02b00a: 6e10 9f06 0000 |000d: invoke-virtual {v0}, Ljavax/net/ssl/SSLContext;.getSocketFactory:()Ljavax/net/ssl/SSLSocketFactory; // method@069f │ │ +02b010: 0c00 |0010: move-result-object v0 │ │ +02b012: 5b20 9a03 |0011: iput-object v0, v2, Lutil/conpool/TLSSocketFactory;.delegate:Ljavax/net/ssl/SSLSocketFactory; // field@039a │ │ +02b016: 0e00 |0013: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=17 │ │ 0x0003 line=18 │ │ 0x000a line=19 │ │ 0x000d line=20 │ │ locals : │ │ @@ -33477,29 +33477,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 │ │ -02afa4: |[02afa4] util.conpool.TLSSocketFactory.enableTLSOnSocket:(Ljava/net/Socket;)Ljava/net/Socket; │ │ -02afb4: 2050 7901 |0000: instance-of v0, v5, Ljavax/net/ssl/SSLSocket; // type@0179 │ │ -02afb8: 3800 1500 |0002: if-eqz v0, 0017 // +0015 │ │ -02afbc: 0750 |0004: move-object v0, v5 │ │ -02afbe: 1f00 7901 |0005: check-cast v0, Ljavax/net/ssl/SSLSocket; // type@0179 │ │ -02afc2: 1221 |0007: const/4 v1, #int 2 // #2 │ │ -02afc4: 2311 ad01 |0008: new-array v1, v1, [Ljava/lang/String; // type@01ad │ │ -02afc8: 1a02 6f04 |000a: const-string v2, "TLSv1.1" // string@046f │ │ -02afcc: 1203 |000c: const/4 v3, #int 0 // #0 │ │ -02afce: 4d02 0103 |000d: aput-object v2, v1, v3 │ │ -02afd2: 1a02 7004 |000f: const-string v2, "TLSv1.2" // string@0470 │ │ -02afd6: 1213 |0011: const/4 v3, #int 1 // #1 │ │ -02afd8: 4d02 0103 |0012: aput-object v2, v1, v3 │ │ -02afdc: 6e20 a106 1000 |0014: invoke-virtual {v0, v1}, Ljavax/net/ssl/SSLSocket;.setEnabledProtocols:([Ljava/lang/String;)V // method@06a1 │ │ -02afe2: 1105 |0017: return-object v5 │ │ +02afa0: |[02afa0] util.conpool.TLSSocketFactory.enableTLSOnSocket:(Ljava/net/Socket;)Ljava/net/Socket; │ │ +02afb0: 2050 7901 |0000: instance-of v0, v5, Ljavax/net/ssl/SSLSocket; // type@0179 │ │ +02afb4: 3800 1500 |0002: if-eqz v0, 0017 // +0015 │ │ +02afb8: 0750 |0004: move-object v0, v5 │ │ +02afba: 1f00 7901 |0005: check-cast v0, Ljavax/net/ssl/SSLSocket; // type@0179 │ │ +02afbe: 1221 |0007: const/4 v1, #int 2 // #2 │ │ +02afc0: 2311 ad01 |0008: new-array v1, v1, [Ljava/lang/String; // type@01ad │ │ +02afc4: 1a02 6f04 |000a: const-string v2, "TLSv1.1" // string@046f │ │ +02afc8: 1203 |000c: const/4 v3, #int 0 // #0 │ │ +02afca: 4d02 0103 |000d: aput-object v2, v1, v3 │ │ +02afce: 1a02 7004 |000f: const-string v2, "TLSv1.2" // string@0470 │ │ +02afd2: 1213 |0011: const/4 v3, #int 1 // #1 │ │ +02afd4: 4d02 0103 |0012: aput-object v2, v1, v3 │ │ +02afd8: 6e20 a106 1000 |0014: invoke-virtual {v0, v1}, Ljavax/net/ssl/SSLSocket;.setEnabledProtocols:([Ljava/lang/String;)V // method@06a1 │ │ +02afde: 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; │ │ @@ -33510,21 +33510,21 @@ │ │ type : '()Ljava/net/Socket;' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 11 16-bit code units │ │ -02aeb4: |[02aeb4] util.conpool.TLSSocketFactory.createSocket:()Ljava/net/Socket; │ │ -02aec4: 5410 9a03 |0000: iget-object v0, v1, Lutil/conpool/TLSSocketFactory;.delegate:Ljavax/net/ssl/SSLSocketFactory; // field@039a │ │ -02aec8: 6e10 a306 0000 |0002: invoke-virtual {v0}, Ljavax/net/ssl/SSLSocketFactory;.createSocket:()Ljava/net/Socket; // method@06a3 │ │ -02aece: 0c00 |0005: move-result-object v0 │ │ -02aed0: 7020 e307 0100 |0006: invoke-direct {v1, v0}, Lutil/conpool/TLSSocketFactory;.enableTLSOnSocket:(Ljava/net/Socket;)Ljava/net/Socket; // method@07e3 │ │ -02aed6: 0c00 |0009: move-result-object v0 │ │ -02aed8: 1100 |000a: return-object v0 │ │ +02aeb0: |[02aeb0] util.conpool.TLSSocketFactory.createSocket:()Ljava/net/Socket; │ │ +02aec0: 5410 9a03 |0000: iget-object v0, v1, Lutil/conpool/TLSSocketFactory;.delegate:Ljavax/net/ssl/SSLSocketFactory; // field@039a │ │ +02aec4: 6e10 a306 0000 |0002: invoke-virtual {v0}, Ljavax/net/ssl/SSLSocketFactory;.createSocket:()Ljava/net/Socket; // method@06a3 │ │ +02aeca: 0c00 |0005: move-result-object v0 │ │ +02aecc: 7020 e307 0100 |0006: invoke-direct {v1, v0}, Lutil/conpool/TLSSocketFactory;.enableTLSOnSocket:(Ljava/net/Socket;)Ljava/net/Socket; // method@07e3 │ │ +02aed2: 0c00 |0009: move-result-object v0 │ │ +02aed4: 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;) │ │ @@ -33532,21 +33532,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 │ │ -02aedc: |[02aedc] util.conpool.TLSSocketFactory.createSocket:(Ljava/lang/String;I)Ljava/net/Socket; │ │ -02aeec: 5410 9a03 |0000: iget-object v0, v1, Lutil/conpool/TLSSocketFactory;.delegate:Ljavax/net/ssl/SSLSocketFactory; // field@039a │ │ -02aef0: 6e30 a406 2003 |0002: invoke-virtual {v0, v2, v3}, Ljavax/net/ssl/SSLSocketFactory;.createSocket:(Ljava/lang/String;I)Ljava/net/Socket; // method@06a4 │ │ -02aef6: 0c02 |0005: move-result-object v2 │ │ -02aef8: 7020 e307 2100 |0006: invoke-direct {v1, v2}, Lutil/conpool/TLSSocketFactory;.enableTLSOnSocket:(Ljava/net/Socket;)Ljava/net/Socket; // method@07e3 │ │ -02aefe: 0c02 |0009: move-result-object v2 │ │ -02af00: 1102 |000a: return-object v2 │ │ +02aed8: |[02aed8] util.conpool.TLSSocketFactory.createSocket:(Ljava/lang/String;I)Ljava/net/Socket; │ │ +02aee8: 5410 9a03 |0000: iget-object v0, v1, Lutil/conpool/TLSSocketFactory;.delegate:Ljavax/net/ssl/SSLSocketFactory; // field@039a │ │ +02aeec: 6e30 a406 2003 |0002: invoke-virtual {v0, v2, v3}, Ljavax/net/ssl/SSLSocketFactory;.createSocket:(Ljava/lang/String;I)Ljava/net/Socket; // method@06a4 │ │ +02aef2: 0c02 |0005: move-result-object v2 │ │ +02aef4: 7020 e307 2100 |0006: invoke-direct {v1, v2}, Lutil/conpool/TLSSocketFactory;.enableTLSOnSocket:(Ljava/net/Socket;)Ljava/net/Socket; // method@07e3 │ │ +02aefa: 0c02 |0009: move-result-object v2 │ │ +02aefc: 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 │ │ @@ -33556,21 +33556,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 │ │ -02af04: |[02af04] util.conpool.TLSSocketFactory.createSocket:(Ljava/lang/String;ILjava/net/InetAddress;I)Ljava/net/Socket; │ │ -02af14: 5410 9a03 |0000: iget-object v0, v1, Lutil/conpool/TLSSocketFactory;.delegate:Ljavax/net/ssl/SSLSocketFactory; // field@039a │ │ -02af18: 6e55 a506 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@06a5 │ │ -02af1e: 0c02 |0005: move-result-object v2 │ │ -02af20: 7020 e307 2100 |0006: invoke-direct {v1, v2}, Lutil/conpool/TLSSocketFactory;.enableTLSOnSocket:(Ljava/net/Socket;)Ljava/net/Socket; // method@07e3 │ │ -02af26: 0c02 |0009: move-result-object v2 │ │ -02af28: 1102 |000a: return-object v2 │ │ +02af00: |[02af00] util.conpool.TLSSocketFactory.createSocket:(Ljava/lang/String;ILjava/net/InetAddress;I)Ljava/net/Socket; │ │ +02af10: 5410 9a03 |0000: iget-object v0, v1, Lutil/conpool/TLSSocketFactory;.delegate:Ljavax/net/ssl/SSLSocketFactory; // field@039a │ │ +02af14: 6e55 a506 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@06a5 │ │ +02af1a: 0c02 |0005: move-result-object v2 │ │ +02af1c: 7020 e307 2100 |0006: invoke-direct {v1, v2}, Lutil/conpool/TLSSocketFactory;.enableTLSOnSocket:(Ljava/net/Socket;)Ljava/net/Socket; // method@07e3 │ │ +02af22: 0c02 |0009: move-result-object v2 │ │ +02af24: 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 │ │ @@ -33582,21 +33582,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 │ │ -02af2c: |[02af2c] util.conpool.TLSSocketFactory.createSocket:(Ljava/net/InetAddress;I)Ljava/net/Socket; │ │ -02af3c: 5410 9a03 |0000: iget-object v0, v1, Lutil/conpool/TLSSocketFactory;.delegate:Ljavax/net/ssl/SSLSocketFactory; // field@039a │ │ -02af40: 6e30 a606 2003 |0002: invoke-virtual {v0, v2, v3}, Ljavax/net/ssl/SSLSocketFactory;.createSocket:(Ljava/net/InetAddress;I)Ljava/net/Socket; // method@06a6 │ │ -02af46: 0c02 |0005: move-result-object v2 │ │ -02af48: 7020 e307 2100 |0006: invoke-direct {v1, v2}, Lutil/conpool/TLSSocketFactory;.enableTLSOnSocket:(Ljava/net/Socket;)Ljava/net/Socket; // method@07e3 │ │ -02af4e: 0c02 |0009: move-result-object v2 │ │ -02af50: 1102 |000a: return-object v2 │ │ +02af28: |[02af28] util.conpool.TLSSocketFactory.createSocket:(Ljava/net/InetAddress;I)Ljava/net/Socket; │ │ +02af38: 5410 9a03 |0000: iget-object v0, v1, Lutil/conpool/TLSSocketFactory;.delegate:Ljavax/net/ssl/SSLSocketFactory; // field@039a │ │ +02af3c: 6e30 a606 2003 |0002: invoke-virtual {v0, v2, v3}, Ljavax/net/ssl/SSLSocketFactory;.createSocket:(Ljava/net/InetAddress;I)Ljava/net/Socket; // method@06a6 │ │ +02af42: 0c02 |0005: move-result-object v2 │ │ +02af44: 7020 e307 2100 |0006: invoke-direct {v1, v2}, Lutil/conpool/TLSSocketFactory;.enableTLSOnSocket:(Ljava/net/Socket;)Ljava/net/Socket; // method@07e3 │ │ +02af4a: 0c02 |0009: move-result-object v2 │ │ +02af4c: 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 │ │ @@ -33606,21 +33606,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 │ │ -02af54: |[02af54] util.conpool.TLSSocketFactory.createSocket:(Ljava/net/InetAddress;ILjava/net/InetAddress;I)Ljava/net/Socket; │ │ -02af64: 5410 9a03 |0000: iget-object v0, v1, Lutil/conpool/TLSSocketFactory;.delegate:Ljavax/net/ssl/SSLSocketFactory; // field@039a │ │ -02af68: 6e55 a706 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@06a7 │ │ -02af6e: 0c02 |0005: move-result-object v2 │ │ -02af70: 7020 e307 2100 |0006: invoke-direct {v1, v2}, Lutil/conpool/TLSSocketFactory;.enableTLSOnSocket:(Ljava/net/Socket;)Ljava/net/Socket; // method@07e3 │ │ -02af76: 0c02 |0009: move-result-object v2 │ │ -02af78: 1102 |000a: return-object v2 │ │ +02af50: |[02af50] util.conpool.TLSSocketFactory.createSocket:(Ljava/net/InetAddress;ILjava/net/InetAddress;I)Ljava/net/Socket; │ │ +02af60: 5410 9a03 |0000: iget-object v0, v1, Lutil/conpool/TLSSocketFactory;.delegate:Ljavax/net/ssl/SSLSocketFactory; // field@039a │ │ +02af64: 6e55 a706 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@06a7 │ │ +02af6a: 0c02 |0005: move-result-object v2 │ │ +02af6c: 7020 e307 2100 |0006: invoke-direct {v1, v2}, Lutil/conpool/TLSSocketFactory;.enableTLSOnSocket:(Ljava/net/Socket;)Ljava/net/Socket; // method@07e3 │ │ +02af72: 0c02 |0009: move-result-object v2 │ │ +02af74: 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 │ │ @@ -33632,21 +33632,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 │ │ -02af7c: |[02af7c] util.conpool.TLSSocketFactory.createSocket:(Ljava/net/Socket;Ljava/lang/String;IZ)Ljava/net/Socket; │ │ -02af8c: 5410 9a03 |0000: iget-object v0, v1, Lutil/conpool/TLSSocketFactory;.delegate:Ljavax/net/ssl/SSLSocketFactory; // field@039a │ │ -02af90: 6e55 a806 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@06a8 │ │ -02af96: 0c02 |0005: move-result-object v2 │ │ -02af98: 7020 e307 2100 |0006: invoke-direct {v1, v2}, Lutil/conpool/TLSSocketFactory;.enableTLSOnSocket:(Ljava/net/Socket;)Ljava/net/Socket; // method@07e3 │ │ -02af9e: 0c02 |0009: move-result-object v2 │ │ -02afa0: 1102 |000a: return-object v2 │ │ +02af78: |[02af78] util.conpool.TLSSocketFactory.createSocket:(Ljava/net/Socket;Ljava/lang/String;IZ)Ljava/net/Socket; │ │ +02af88: 5410 9a03 |0000: iget-object v0, v1, Lutil/conpool/TLSSocketFactory;.delegate:Ljavax/net/ssl/SSLSocketFactory; // field@039a │ │ +02af8c: 6e55 a806 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@06a8 │ │ +02af92: 0c02 |0005: move-result-object v2 │ │ +02af94: 7020 e307 2100 |0006: invoke-direct {v1, v2}, Lutil/conpool/TLSSocketFactory;.enableTLSOnSocket:(Ljava/net/Socket;)Ljava/net/Socket; // method@07e3 │ │ +02af9a: 0c02 |0009: move-result-object v2 │ │ +02af9c: 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; │ │ @@ -33658,19 +33658,19 @@ │ │ type : '()[Ljava/lang/String;' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 7 16-bit code units │ │ -02ae74: |[02ae74] util.conpool.TLSSocketFactory.getDefaultCipherSuites:()[Ljava/lang/String; │ │ -02ae84: 5410 9a03 |0000: iget-object v0, v1, Lutil/conpool/TLSSocketFactory;.delegate:Ljavax/net/ssl/SSLSocketFactory; // field@039a │ │ -02ae88: 6e10 aa06 0000 |0002: invoke-virtual {v0}, Ljavax/net/ssl/SSLSocketFactory;.getDefaultCipherSuites:()[Ljava/lang/String; // method@06aa │ │ -02ae8e: 0c00 |0005: move-result-object v0 │ │ -02ae90: 1100 |0006: return-object v0 │ │ +02ae70: |[02ae70] util.conpool.TLSSocketFactory.getDefaultCipherSuites:()[Ljava/lang/String; │ │ +02ae80: 5410 9a03 |0000: iget-object v0, v1, Lutil/conpool/TLSSocketFactory;.delegate:Ljavax/net/ssl/SSLSocketFactory; // field@039a │ │ +02ae84: 6e10 aa06 0000 |0002: invoke-virtual {v0}, Ljavax/net/ssl/SSLSocketFactory;.getDefaultCipherSuites:()[Ljava/lang/String; // method@06aa │ │ +02ae8a: 0c00 |0005: move-result-object v0 │ │ +02ae8c: 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;) │ │ @@ -33678,19 +33678,19 @@ │ │ type : '()[Ljava/lang/String;' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 7 16-bit code units │ │ -02ae94: |[02ae94] util.conpool.TLSSocketFactory.getSupportedCipherSuites:()[Ljava/lang/String; │ │ -02aea4: 5410 9a03 |0000: iget-object v0, v1, Lutil/conpool/TLSSocketFactory;.delegate:Ljavax/net/ssl/SSLSocketFactory; // field@039a │ │ -02aea8: 6e10 ab06 0000 |0002: invoke-virtual {v0}, Ljavax/net/ssl/SSLSocketFactory;.getSupportedCipherSuites:()[Ljava/lang/String; // method@06ab │ │ -02aeae: 0c00 |0005: move-result-object v0 │ │ -02aeb0: 1100 |0006: return-object v0 │ │ +02ae90: |[02ae90] util.conpool.TLSSocketFactory.getSupportedCipherSuites:()[Ljava/lang/String; │ │ +02aea0: 5410 9a03 |0000: iget-object v0, v1, Lutil/conpool/TLSSocketFactory;.delegate:Ljavax/net/ssl/SSLSocketFactory; // field@039a │ │ +02aea4: 6e10 ab06 0000 |0002: invoke-virtual {v0}, Ljavax/net/ssl/SSLSocketFactory;.getSupportedCipherSuites:()[Ljava/lang/String; // method@06ab │ │ +02aeaa: 0c00 |0005: move-result-object v0 │ │ +02aeac: 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) │ │ @@ -33744,25 +33744,25 @@ │ │ type : '(Ljava/io/InputStream;)V' │ │ access : 0x10001 (PUBLIC CONSTRUCTOR) │ │ code - │ │ registers : 3 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 19 16-bit code units │ │ -02b10c: |[02b10c] util.http.HttpChunkedInputStream.:(Ljava/io/InputStream;)V │ │ -02b11c: 7010 2505 0100 |0000: invoke-direct {v1}, Ljava/io/InputStream;.:()V // method@0525 │ │ -02b122: 1200 |0003: const/4 v0, #int 0 // #0 │ │ -02b124: 5b10 9d03 |0004: iput-object v0, v1, Lutil/http/HttpChunkedInputStream;.underlying:Ljava/io/DataInputStream; // field@039d │ │ -02b128: 5b10 9b03 |0006: iput-object v0, v1, Lutil/http/HttpChunkedInputStream;.bytesBuf:Ljava/io/ByteArrayInputStream; // field@039b │ │ -02b12c: 1200 |0008: const/4 v0, #int 0 // #0 │ │ -02b12e: 5c10 9c03 |0009: iput-boolean v0, v1, Lutil/http/HttpChunkedInputStream;.eof:Z // field@039c │ │ -02b132: 2200 f800 |000b: new-instance v0, Ljava/io/DataInputStream; // type@00f8 │ │ -02b136: 7020 ee04 2000 |000d: invoke-direct {v0, v2}, Ljava/io/DataInputStream;.:(Ljava/io/InputStream;)V // method@04ee │ │ -02b13c: 5b10 9d03 |0010: iput-object v0, v1, Lutil/http/HttpChunkedInputStream;.underlying:Ljava/io/DataInputStream; // field@039d │ │ -02b140: 0e00 |0012: return-void │ │ +02b108: |[02b108] util.http.HttpChunkedInputStream.:(Ljava/io/InputStream;)V │ │ +02b118: 7010 2505 0100 |0000: invoke-direct {v1}, Ljava/io/InputStream;.:()V // method@0525 │ │ +02b11e: 1200 |0003: const/4 v0, #int 0 // #0 │ │ +02b120: 5b10 9d03 |0004: iput-object v0, v1, Lutil/http/HttpChunkedInputStream;.underlying:Ljava/io/DataInputStream; // field@039d │ │ +02b124: 5b10 9b03 |0006: iput-object v0, v1, Lutil/http/HttpChunkedInputStream;.bytesBuf:Ljava/io/ByteArrayInputStream; // field@039b │ │ +02b128: 1200 |0008: const/4 v0, #int 0 // #0 │ │ +02b12a: 5c10 9c03 |0009: iput-boolean v0, v1, Lutil/http/HttpChunkedInputStream;.eof:Z // field@039c │ │ +02b12e: 2200 f800 |000b: new-instance v0, Ljava/io/DataInputStream; // type@00f8 │ │ +02b132: 7020 ee04 2000 |000d: invoke-direct {v0, v2}, Ljava/io/DataInputStream;.:(Ljava/io/InputStream;)V // method@04ee │ │ +02b138: 5b10 9d03 |0010: iput-object v0, v1, Lutil/http/HttpChunkedInputStream;.underlying:Ljava/io/DataInputStream; // field@039d │ │ +02b13c: 0e00 |0012: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=18 │ │ 0x0004 line=14 │ │ 0x0006 line=15 │ │ 0x0009 line=16 │ │ 0x000b line=19 │ │ @@ -33775,51 +33775,51 @@ │ │ type : '()V' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 4 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 70 16-bit code units │ │ -02b158: |[02b158] util.http.HttpChunkedInputStream.readNextChunk:()V │ │ -02b168: 5430 9d03 |0000: iget-object v0, v3, Lutil/http/HttpChunkedInputStream;.underlying:Ljava/io/DataInputStream; // field@039d │ │ -02b16c: 7110 9f07 0000 |0002: invoke-static {v0}, Lutil/Utils;.readLineFromStreamRN:(Ljava/io/InputStream;)Ljava/lang/String; // method@079f │ │ -02b172: 0c00 |0005: move-result-object v0 │ │ -02b174: 3800 3800 |0006: if-eqz v0, 003e // +0038 │ │ -02b178: 1a01 0000 |0008: const-string v1, "" // string@0000 │ │ -02b17c: 6e20 8b05 1000 |000a: invoke-virtual {v0, v1}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058b │ │ -02b182: 0a01 |000d: move-result v1 │ │ -02b184: 1212 |000e: const/4 v2, #int 1 // #1 │ │ -02b186: 3801 0500 |000f: if-eqz v1, 0014 // +0005 │ │ -02b18a: 5c32 9c03 |0011: iput-boolean v2, v3, Lutil/http/HttpChunkedInputStream;.eof:Z // field@039c │ │ -02b18e: 0e00 |0013: return-void │ │ -02b190: 1301 1000 |0014: const/16 v1, #int 16 // #10 │ │ -02b194: 7120 6605 1000 |0016: invoke-static {v0, v1}, Ljava/lang/Integer;.parseInt:(Ljava/lang/String;I)I // method@0566 │ │ -02b19a: 0a00 |0019: move-result v0 │ │ -02b19c: 3800 1100 |001a: if-eqz v0, 002b // +0011 │ │ -02b1a0: 2300 9d01 |001c: new-array v0, v0, [B // type@019d │ │ -02b1a4: 5431 9d03 |001e: iget-object v1, v3, Lutil/http/HttpChunkedInputStream;.underlying:Ljava/io/DataInputStream; // field@039d │ │ -02b1a8: 6e20 f004 0100 |0020: invoke-virtual {v1, v0}, Ljava/io/DataInputStream;.readFully:([B)V // method@04f0 │ │ -02b1ae: 2201 f600 |0023: new-instance v1, Ljava/io/ByteArrayInputStream; // type@00f6 │ │ -02b1b2: 7020 df04 0100 |0025: invoke-direct {v1, v0}, Ljava/io/ByteArrayInputStream;.:([B)V // method@04df │ │ -02b1b8: 5b31 9b03 |0028: iput-object v1, v3, Lutil/http/HttpChunkedInputStream;.bytesBuf:Ljava/io/ByteArrayInputStream; // field@039b │ │ -02b1bc: 2803 |002a: goto 002d // +0003 │ │ -02b1be: 5c32 9c03 |002b: iput-boolean v2, v3, Lutil/http/HttpChunkedInputStream;.eof:Z // field@039c │ │ -02b1c2: 5430 9d03 |002d: iget-object v0, v3, Lutil/http/HttpChunkedInputStream;.underlying:Ljava/io/DataInputStream; // field@039d │ │ -02b1c6: 7110 9f07 0000 |002f: invoke-static {v0}, Lutil/Utils;.readLineFromStreamRN:(Ljava/io/InputStream;)Ljava/lang/String; // method@079f │ │ -02b1cc: 0e00 |0032: return-void │ │ -02b1ce: 0d00 |0033: move-exception v0 │ │ -02b1d0: 2201 0001 |0034: new-instance v1, Ljava/io/IOException; // type@0100 │ │ -02b1d4: 6e10 5f05 0000 |0036: invoke-virtual {v0}, Ljava/lang/Exception;.toString:()Ljava/lang/String; // method@055f │ │ -02b1da: 0c00 |0039: move-result-object v0 │ │ -02b1dc: 7020 1f05 0100 |003a: invoke-direct {v1, v0}, Ljava/io/IOException;.:(Ljava/lang/String;)V // method@051f │ │ -02b1e2: 2701 |003d: throw v1 │ │ -02b1e4: 2200 fa00 |003e: new-instance v0, Ljava/io/EOFException; // type@00fa │ │ -02b1e8: 1a01 ef01 |0040: const-string v1, "Invalid end of ChunkedInputStream!" // string@01ef │ │ -02b1ec: 7020 fe04 1000 |0042: invoke-direct {v0, v1}, Ljava/io/EOFException;.:(Ljava/lang/String;)V // method@04fe │ │ -02b1f2: 2700 |0045: throw v0 │ │ +02b154: |[02b154] util.http.HttpChunkedInputStream.readNextChunk:()V │ │ +02b164: 5430 9d03 |0000: iget-object v0, v3, Lutil/http/HttpChunkedInputStream;.underlying:Ljava/io/DataInputStream; // field@039d │ │ +02b168: 7110 9f07 0000 |0002: invoke-static {v0}, Lutil/Utils;.readLineFromStreamRN:(Ljava/io/InputStream;)Ljava/lang/String; // method@079f │ │ +02b16e: 0c00 |0005: move-result-object v0 │ │ +02b170: 3800 3800 |0006: if-eqz v0, 003e // +0038 │ │ +02b174: 1a01 0000 |0008: const-string v1, "" // string@0000 │ │ +02b178: 6e20 8b05 1000 |000a: invoke-virtual {v0, v1}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058b │ │ +02b17e: 0a01 |000d: move-result v1 │ │ +02b180: 1212 |000e: const/4 v2, #int 1 // #1 │ │ +02b182: 3801 0500 |000f: if-eqz v1, 0014 // +0005 │ │ +02b186: 5c32 9c03 |0011: iput-boolean v2, v3, Lutil/http/HttpChunkedInputStream;.eof:Z // field@039c │ │ +02b18a: 0e00 |0013: return-void │ │ +02b18c: 1301 1000 |0014: const/16 v1, #int 16 // #10 │ │ +02b190: 7120 6605 1000 |0016: invoke-static {v0, v1}, Ljava/lang/Integer;.parseInt:(Ljava/lang/String;I)I // method@0566 │ │ +02b196: 0a00 |0019: move-result v0 │ │ +02b198: 3800 1100 |001a: if-eqz v0, 002b // +0011 │ │ +02b19c: 2300 9d01 |001c: new-array v0, v0, [B // type@019d │ │ +02b1a0: 5431 9d03 |001e: iget-object v1, v3, Lutil/http/HttpChunkedInputStream;.underlying:Ljava/io/DataInputStream; // field@039d │ │ +02b1a4: 6e20 f004 0100 |0020: invoke-virtual {v1, v0}, Ljava/io/DataInputStream;.readFully:([B)V // method@04f0 │ │ +02b1aa: 2201 f600 |0023: new-instance v1, Ljava/io/ByteArrayInputStream; // type@00f6 │ │ +02b1ae: 7020 df04 0100 |0025: invoke-direct {v1, v0}, Ljava/io/ByteArrayInputStream;.:([B)V // method@04df │ │ +02b1b4: 5b31 9b03 |0028: iput-object v1, v3, Lutil/http/HttpChunkedInputStream;.bytesBuf:Ljava/io/ByteArrayInputStream; // field@039b │ │ +02b1b8: 2803 |002a: goto 002d // +0003 │ │ +02b1ba: 5c32 9c03 |002b: iput-boolean v2, v3, Lutil/http/HttpChunkedInputStream;.eof:Z // field@039c │ │ +02b1be: 5430 9d03 |002d: iget-object v0, v3, Lutil/http/HttpChunkedInputStream;.underlying:Ljava/io/DataInputStream; // field@039d │ │ +02b1c2: 7110 9f07 0000 |002f: invoke-static {v0}, Lutil/Utils;.readLineFromStreamRN:(Ljava/io/InputStream;)Ljava/lang/String; // method@079f │ │ +02b1c8: 0e00 |0032: return-void │ │ +02b1ca: 0d00 |0033: move-exception v0 │ │ +02b1cc: 2201 0001 |0034: new-instance v1, Ljava/io/IOException; // type@0100 │ │ +02b1d0: 6e10 5f05 0000 |0036: invoke-virtual {v0}, Ljava/lang/Exception;.toString:()Ljava/lang/String; // method@055f │ │ +02b1d6: 0c00 |0039: move-result-object v0 │ │ +02b1d8: 7020 1f05 0100 |003a: invoke-direct {v1, v0}, Ljava/io/IOException;.:(Ljava/lang/String;)V // method@051f │ │ +02b1de: 2701 |003d: throw v1 │ │ +02b1e0: 2200 fa00 |003e: new-instance v0, Ljava/io/EOFException; // type@00fa │ │ +02b1e4: 1a01 ef01 |0040: const-string v1, "Invalid end of ChunkedInputStream!" // string@01ef │ │ +02b1e8: 7020 fe04 1000 |0042: invoke-direct {v0, v1}, Ljava/io/EOFException;.:(Ljava/lang/String;)V // method@04fe │ │ +02b1ee: 2700 |0045: throw v0 │ │ catches : 1 │ │ 0x0016 - 0x001a │ │ Ljava/lang/Exception; -> 0x0033 │ │ positions : │ │ 0x0000 line=74 │ │ 0x0008 line=79 │ │ 0x0011 line=80 │ │ @@ -33840,22 +33840,22 @@ │ │ type : '()I' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 11 16-bit code units │ │ -02b01c: |[02b01c] util.http.HttpChunkedInputStream.available:()I │ │ -02b02c: 5410 9b03 |0000: iget-object v0, v1, Lutil/http/HttpChunkedInputStream;.bytesBuf:Ljava/io/ByteArrayInputStream; // field@039b │ │ -02b030: 3800 0700 |0002: if-eqz v0, 0009 // +0007 │ │ -02b034: 6e10 e104 0000 |0004: invoke-virtual {v0}, Ljava/io/ByteArrayInputStream;.available:()I // method@04e1 │ │ -02b03a: 0a00 |0007: move-result v0 │ │ -02b03c: 0f00 |0008: return v0 │ │ -02b03e: 1200 |0009: const/4 v0, #int 0 // #0 │ │ -02b040: 0f00 |000a: return v0 │ │ +02b018: |[02b018] util.http.HttpChunkedInputStream.available:()I │ │ +02b028: 5410 9b03 |0000: iget-object v0, v1, Lutil/http/HttpChunkedInputStream;.bytesBuf:Ljava/io/ByteArrayInputStream; // field@039b │ │ +02b02c: 3800 0700 |0002: if-eqz v0, 0009 // +0007 │ │ +02b030: 6e10 e104 0000 |0004: invoke-virtual {v0}, Ljava/io/ByteArrayInputStream;.available:()I // method@04e1 │ │ +02b036: 0a00 |0007: move-result v0 │ │ +02b038: 0f00 |0008: return v0 │ │ +02b03a: 1200 |0009: const/4 v0, #int 0 // #0 │ │ +02b03c: 0f00 |000a: return v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=60 │ │ 0x0004 line=61 │ │ locals : │ │ 0x0000 - 0x000b reg=1 this Lutil/http/HttpChunkedInputStream; │ │ │ │ @@ -33864,49 +33864,49 @@ │ │ type : '()V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 1 │ │ ins : 1 │ │ outs : 0 │ │ insns size : 1 16-bit code units │ │ -02b144: |[02b144] util.http.HttpChunkedInputStream.close:()V │ │ -02b154: 0e00 |0000: return-void │ │ +02b140: |[02b140] util.http.HttpChunkedInputStream.close:()V │ │ +02b150: 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 │ │ -02b044: |[02b044] util.http.HttpChunkedInputStream.read:()I │ │ -02b054: 6e10 e707 0200 |0000: invoke-virtual {v2}, Lutil/http/HttpChunkedInputStream;.available:()I // method@07e7 │ │ -02b05a: 0a00 |0003: move-result v0 │ │ -02b05c: 3800 0900 |0004: if-eqz v0, 000d // +0009 │ │ -02b060: 5420 9b03 |0006: iget-object v0, v2, Lutil/http/HttpChunkedInputStream;.bytesBuf:Ljava/io/ByteArrayInputStream; // field@039b │ │ -02b064: 6e10 e204 0000 |0008: invoke-virtual {v0}, Ljava/io/ByteArrayInputStream;.read:()I // method@04e2 │ │ -02b06a: 0a00 |000b: move-result v0 │ │ -02b06c: 0f00 |000c: return v0 │ │ -02b06e: 5520 9c03 |000d: iget-boolean v0, v2, Lutil/http/HttpChunkedInputStream;.eof:Z // field@039c │ │ -02b072: 12f1 |000f: const/4 v1, #int -1 // #ff │ │ -02b074: 3800 0300 |0010: if-eqz v0, 0013 // +0003 │ │ -02b078: 0f01 |0012: return v1 │ │ -02b07a: 7010 ec07 0200 |0013: invoke-direct {v2}, Lutil/http/HttpChunkedInputStream;.readNextChunk:()V // method@07ec │ │ -02b080: 5520 9c03 |0016: iget-boolean v0, v2, Lutil/http/HttpChunkedInputStream;.eof:Z // field@039c │ │ -02b084: 3800 0300 |0018: if-eqz v0, 001b // +0003 │ │ -02b088: 0f01 |001a: return v1 │ │ -02b08a: 5420 9b03 |001b: iget-object v0, v2, Lutil/http/HttpChunkedInputStream;.bytesBuf:Ljava/io/ByteArrayInputStream; // field@039b │ │ -02b08e: 6e10 e204 0000 |001d: invoke-virtual {v0}, Ljava/io/ByteArrayInputStream;.read:()I // method@04e2 │ │ -02b094: 0a00 |0020: move-result v0 │ │ -02b096: 0f00 |0021: return v0 │ │ +02b040: |[02b040] util.http.HttpChunkedInputStream.read:()I │ │ +02b050: 6e10 e707 0200 |0000: invoke-virtual {v2}, Lutil/http/HttpChunkedInputStream;.available:()I // method@07e7 │ │ +02b056: 0a00 |0003: move-result v0 │ │ +02b058: 3800 0900 |0004: if-eqz v0, 000d // +0009 │ │ +02b05c: 5420 9b03 |0006: iget-object v0, v2, Lutil/http/HttpChunkedInputStream;.bytesBuf:Ljava/io/ByteArrayInputStream; // field@039b │ │ +02b060: 6e10 e204 0000 |0008: invoke-virtual {v0}, Ljava/io/ByteArrayInputStream;.read:()I // method@04e2 │ │ +02b066: 0a00 |000b: move-result v0 │ │ +02b068: 0f00 |000c: return v0 │ │ +02b06a: 5520 9c03 |000d: iget-boolean v0, v2, Lutil/http/HttpChunkedInputStream;.eof:Z // field@039c │ │ +02b06e: 12f1 |000f: const/4 v1, #int -1 // #ff │ │ +02b070: 3800 0300 |0010: if-eqz v0, 0013 // +0003 │ │ +02b074: 0f01 |0012: return v1 │ │ +02b076: 7010 ec07 0200 |0013: invoke-direct {v2}, Lutil/http/HttpChunkedInputStream;.readNextChunk:()V // method@07ec │ │ +02b07c: 5520 9c03 |0016: iget-boolean v0, v2, Lutil/http/HttpChunkedInputStream;.eof:Z // field@039c │ │ +02b080: 3800 0300 |0018: if-eqz v0, 001b // +0003 │ │ +02b084: 0f01 |001a: return v1 │ │ +02b086: 5420 9b03 |001b: iget-object v0, v2, Lutil/http/HttpChunkedInputStream;.bytesBuf:Ljava/io/ByteArrayInputStream; // field@039b │ │ +02b08a: 6e10 e204 0000 |001d: invoke-virtual {v0}, Ljava/io/ByteArrayInputStream;.read:()I // method@04e2 │ │ +02b090: 0a00 |0020: move-result v0 │ │ +02b092: 0f00 |0021: return v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=24 │ │ 0x0006 line=25 │ │ 0x000d line=26 │ │ 0x0013 line=29 │ │ 0x0016 line=31 │ │ @@ -33919,20 +33919,20 @@ │ │ type : '([B)I' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 4 │ │ ins : 2 │ │ outs : 4 │ │ insns size : 7 16-bit code units │ │ -02b098: |[02b098] util.http.HttpChunkedInputStream.read:([B)I │ │ -02b0a8: 1200 |0000: const/4 v0, #int 0 // #0 │ │ -02b0aa: 2131 |0001: array-length v1, v3 │ │ -02b0ac: 6e40 eb07 3210 |0002: invoke-virtual {v2, v3, v0, v1}, Lutil/http/HttpChunkedInputStream;.read:([BII)I // method@07eb │ │ -02b0b2: 0a03 |0005: move-result v3 │ │ -02b0b4: 0f03 |0006: return v3 │ │ +02b094: |[02b094] util.http.HttpChunkedInputStream.read:([B)I │ │ +02b0a4: 1200 |0000: const/4 v0, #int 0 // #0 │ │ +02b0a6: 2131 |0001: array-length v1, v3 │ │ +02b0a8: 6e40 eb07 3210 |0002: invoke-virtual {v2, v3, v0, v1}, Lutil/http/HttpChunkedInputStream;.read:([BII)I // method@07eb │ │ +02b0ae: 0a03 |0005: move-result v3 │ │ +02b0b0: 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 │ │ │ │ @@ -33941,34 +33941,34 @@ │ │ type : '([BII)I' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 6 │ │ ins : 4 │ │ outs : 4 │ │ insns size : 34 16-bit code units │ │ -02b0b8: |[02b0b8] util.http.HttpChunkedInputStream.read:([BII)I │ │ -02b0c8: 6e10 e707 0200 |0000: invoke-virtual {v2}, Lutil/http/HttpChunkedInputStream;.available:()I // method@07e7 │ │ -02b0ce: 0a00 |0003: move-result v0 │ │ -02b0d0: 3800 0900 |0004: if-eqz v0, 000d // +0009 │ │ -02b0d4: 5420 9b03 |0006: iget-object v0, v2, Lutil/http/HttpChunkedInputStream;.bytesBuf:Ljava/io/ByteArrayInputStream; // field@039b │ │ -02b0d8: 6e40 e304 3054 |0008: invoke-virtual {v0, v3, v4, v5}, Ljava/io/ByteArrayInputStream;.read:([BII)I // method@04e3 │ │ -02b0de: 0a03 |000b: move-result v3 │ │ -02b0e0: 0f03 |000c: return v3 │ │ -02b0e2: 5520 9c03 |000d: iget-boolean v0, v2, Lutil/http/HttpChunkedInputStream;.eof:Z // field@039c │ │ -02b0e6: 12f1 |000f: const/4 v1, #int -1 // #ff │ │ -02b0e8: 3800 0300 |0010: if-eqz v0, 0013 // +0003 │ │ -02b0ec: 0f01 |0012: return v1 │ │ -02b0ee: 7010 ec07 0200 |0013: invoke-direct {v2}, Lutil/http/HttpChunkedInputStream;.readNextChunk:()V // method@07ec │ │ -02b0f4: 5520 9c03 |0016: iget-boolean v0, v2, Lutil/http/HttpChunkedInputStream;.eof:Z // field@039c │ │ -02b0f8: 3800 0300 |0018: if-eqz v0, 001b // +0003 │ │ -02b0fc: 0f01 |001a: return v1 │ │ -02b0fe: 5420 9b03 |001b: iget-object v0, v2, Lutil/http/HttpChunkedInputStream;.bytesBuf:Ljava/io/ByteArrayInputStream; // field@039b │ │ -02b102: 6e40 e304 3054 |001d: invoke-virtual {v0, v3, v4, v5}, Ljava/io/ByteArrayInputStream;.read:([BII)I // method@04e3 │ │ -02b108: 0a03 |0020: move-result v3 │ │ -02b10a: 0f03 |0021: return v3 │ │ +02b0b4: |[02b0b4] util.http.HttpChunkedInputStream.read:([BII)I │ │ +02b0c4: 6e10 e707 0200 |0000: invoke-virtual {v2}, Lutil/http/HttpChunkedInputStream;.available:()I // method@07e7 │ │ +02b0ca: 0a00 |0003: move-result v0 │ │ +02b0cc: 3800 0900 |0004: if-eqz v0, 000d // +0009 │ │ +02b0d0: 5420 9b03 |0006: iget-object v0, v2, Lutil/http/HttpChunkedInputStream;.bytesBuf:Ljava/io/ByteArrayInputStream; // field@039b │ │ +02b0d4: 6e40 e304 3054 |0008: invoke-virtual {v0, v3, v4, v5}, Ljava/io/ByteArrayInputStream;.read:([BII)I // method@04e3 │ │ +02b0da: 0a03 |000b: move-result v3 │ │ +02b0dc: 0f03 |000c: return v3 │ │ +02b0de: 5520 9c03 |000d: iget-boolean v0, v2, Lutil/http/HttpChunkedInputStream;.eof:Z // field@039c │ │ +02b0e2: 12f1 |000f: const/4 v1, #int -1 // #ff │ │ +02b0e4: 3800 0300 |0010: if-eqz v0, 0013 // +0003 │ │ +02b0e8: 0f01 |0012: return v1 │ │ +02b0ea: 7010 ec07 0200 |0013: invoke-direct {v2}, Lutil/http/HttpChunkedInputStream;.readNextChunk:()V // method@07ec │ │ +02b0f0: 5520 9c03 |0016: iget-boolean v0, v2, Lutil/http/HttpChunkedInputStream;.eof:Z // field@039c │ │ +02b0f4: 3800 0300 |0018: if-eqz v0, 001b // +0003 │ │ +02b0f8: 0f01 |001a: return v1 │ │ +02b0fa: 5420 9b03 |001b: iget-object v0, v2, Lutil/http/HttpChunkedInputStream;.bytesBuf:Ljava/io/ByteArrayInputStream; // field@039b │ │ +02b0fe: 6e40 e304 3054 |001d: invoke-virtual {v0, v3, v4, v5}, Ljava/io/ByteArrayInputStream;.read:([BII)I // method@04e3 │ │ +02b104: 0a03 |0020: move-result v3 │ │ +02b106: 0f03 |0021: return v3 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=40 │ │ 0x0006 line=41 │ │ 0x000d line=42 │ │ 0x0013 line=45 │ │ 0x0016 line=47 │ │ @@ -34102,165 +34102,165 @@ │ │ type : '()V' │ │ access : 0x10008 (STATIC CONSTRUCTOR) │ │ code - │ │ registers : 3 │ │ ins : 0 │ │ outs : 0 │ │ insns size : 233 16-bit code units │ │ -02b724: |[02b724] util.http.HttpHeader.:()V │ │ -02b734: 1300 2700 |0000: const/16 v0, #int 39 // #27 │ │ -02b738: 2300 ad01 |0002: new-array v0, v0, [Ljava/lang/String; // type@01ad │ │ -02b73c: 1a01 e700 |0004: const-string v1, "Cache-Control" // string@00e7 │ │ -02b740: 1202 |0006: const/4 v2, #int 0 // #0 │ │ -02b742: 4d01 0002 |0007: aput-object v1, v0, v2 │ │ -02b746: 1a01 0d01 |0009: const-string v1, "Connection" // string@010d │ │ -02b74a: 1212 |000b: const/4 v2, #int 1 // #1 │ │ -02b74c: 4d01 0002 |000c: aput-object v1, v0, v2 │ │ -02b750: 1a01 6101 |000e: const-string v1, "Date" // string@0161 │ │ -02b754: 1222 |0010: const/4 v2, #int 2 // #2 │ │ -02b756: 4d01 0002 |0011: aput-object v1, v0, v2 │ │ -02b75a: 1a01 1304 |0013: const-string v1, "Pragma" // string@0413 │ │ -02b75e: 1232 |0015: const/4 v2, #int 3 // #3 │ │ -02b760: 4d01 0002 |0016: aput-object v1, v0, v2 │ │ -02b764: 1a01 7d04 |0018: const-string v1, "Trailer" // string@047d │ │ -02b768: 1242 |001a: const/4 v2, #int 4 // #4 │ │ -02b76a: 4d01 0002 |001b: aput-object v1, v0, v2 │ │ -02b76e: 1a01 7e04 |001d: const-string v1, "Transfer-Encoding" // string@047e │ │ -02b772: 1252 |001f: const/4 v2, #int 5 // #5 │ │ -02b774: 4d01 0002 |0020: aput-object v1, v0, v2 │ │ -02b778: 1a01 9104 |0022: const-string v1, "Upgrade" // string@0491 │ │ -02b77c: 1262 |0024: const/4 v2, #int 6 // #6 │ │ -02b77e: 4d01 0002 |0025: aput-object v1, v0, v2 │ │ -02b782: 1a01 d404 |0027: const-string v1, "Via" // string@04d4 │ │ -02b786: 1272 |0029: const/4 v2, #int 7 // #7 │ │ -02b788: 4d01 0002 |002a: aput-object v1, v0, v2 │ │ -02b78c: 1a01 de04 |002c: const-string v1, "Warning" // string@04de │ │ -02b790: 1302 0800 |002e: const/16 v2, #int 8 // #8 │ │ -02b794: 4d01 0002 |0030: aput-object v1, v0, v2 │ │ -02b798: 1a01 b500 |0032: const-string v1, "Accept" // string@00b5 │ │ -02b79c: 1302 0900 |0034: const/16 v2, #int 9 // #9 │ │ -02b7a0: 4d01 0002 |0036: aput-object v1, v0, v2 │ │ -02b7a4: 1a01 b600 |0038: const-string v1, "Accept-Charset" // string@00b6 │ │ -02b7a8: 1302 0a00 |003a: const/16 v2, #int 10 // #a │ │ -02b7ac: 4d01 0002 |003c: aput-object v1, v0, v2 │ │ -02b7b0: 1a01 b700 |003e: const-string v1, "Accept-Encoding" // string@00b7 │ │ -02b7b4: 1302 0b00 |0040: const/16 v2, #int 11 // #b │ │ -02b7b8: 4d01 0002 |0042: aput-object v1, v0, v2 │ │ -02b7bc: 1a01 b800 |0044: const-string v1, "Accept-Language" // string@00b8 │ │ -02b7c0: 1302 0c00 |0046: const/16 v2, #int 12 // #c │ │ -02b7c4: 4d01 0002 |0048: aput-object v1, v0, v2 │ │ -02b7c8: 1a01 c500 |004a: const-string v1, "Authorization" // string@00c5 │ │ -02b7cc: 1302 0d00 |004c: const/16 v2, #int 13 // #d │ │ -02b7d0: 4d01 0002 |004e: aput-object v1, v0, v2 │ │ -02b7d4: 1a01 9501 |0050: const-string v1, "Expect" // string@0195 │ │ -02b7d8: 1302 0e00 |0052: const/16 v2, #int 14 // #e │ │ -02b7dc: 4d01 0002 |0054: aput-object v1, v0, v2 │ │ -02b7e0: 1a01 a901 |0056: const-string v1, "From" // string@01a9 │ │ -02b7e4: 1302 0f00 |0058: const/16 v2, #int 15 // #f │ │ -02b7e8: 4d01 0002 |005a: aput-object v1, v0, v2 │ │ -02b7ec: 1a01 b701 |005c: const-string v1, "Host" // string@01b7 │ │ -02b7f0: 1302 1000 |005e: const/16 v2, #int 16 // #10 │ │ -02b7f4: 4d01 0002 |0060: aput-object v1, v0, v2 │ │ -02b7f8: 1a01 dd01 |0062: const-string v1, "If-Match" // string@01dd │ │ -02b7fc: 1302 1100 |0064: const/16 v2, #int 17 // #11 │ │ -02b800: 4d01 0002 |0066: aput-object v1, v0, v2 │ │ -02b804: 1a01 de01 |0068: const-string v1, "If-Modified-Since" // string@01de │ │ -02b808: 1302 1200 |006a: const/16 v2, #int 18 // #12 │ │ -02b80c: 4d01 0002 |006c: aput-object v1, v0, v2 │ │ -02b810: 1a01 df01 |006e: const-string v1, "If-None-Match" // string@01df │ │ -02b814: 1302 1300 |0070: const/16 v2, #int 19 // #13 │ │ -02b818: 4d01 0002 |0072: aput-object v1, v0, v2 │ │ -02b81c: 1a01 e001 |0074: const-string v1, "If-Range" // string@01e0 │ │ -02b820: 1302 1400 |0076: const/16 v2, #int 20 // #14 │ │ -02b824: 4d01 0002 |0078: aput-object v1, v0, v2 │ │ -02b828: 1a01 e101 |007a: const-string v1, "If-Unmodified-Since" // string@01e1 │ │ -02b82c: 1302 1500 |007c: const/16 v2, #int 21 // #15 │ │ -02b830: 4d01 0002 |007e: aput-object v1, v0, v2 │ │ -02b834: 1a01 d803 |0080: const-string v1, "Max-Forwards" // string@03d8 │ │ -02b838: 1302 1600 |0082: const/16 v2, #int 22 // #16 │ │ -02b83c: 4d01 0002 |0084: aput-object v1, v0, v2 │ │ -02b840: 1a01 1604 |0086: const-string v1, "Proxy-Authorization" // string@0416 │ │ -02b844: 1302 1700 |0088: const/16 v2, #int 23 // #17 │ │ -02b848: 4d01 0002 |008a: aput-object v1, v0, v2 │ │ -02b84c: 1a01 1f04 |008c: const-string v1, "Range" // string@041f │ │ -02b850: 1302 1800 |008e: const/16 v2, #int 24 // #18 │ │ -02b854: 4d01 0002 |0090: aput-object v1, v0, v2 │ │ -02b858: 1a01 2904 |0092: const-string v1, "Referer" // string@0429 │ │ -02b85c: 1302 1900 |0094: const/16 v2, #int 25 // #19 │ │ -02b860: 4d01 0002 |0096: aput-object v1, v0, v2 │ │ -02b864: 1a01 6904 |0098: const-string v1, "TE" // string@0469 │ │ -02b868: 1302 1a00 |009a: const/16 v2, #int 26 // #1a │ │ -02b86c: 4d01 0002 |009c: aput-object v1, v0, v2 │ │ -02b870: 1a01 9204 |009e: const-string v1, "User-Agent" // string@0492 │ │ -02b874: 1302 1b00 |00a0: const/16 v2, #int 27 // #1b │ │ -02b878: 4d01 0002 |00a2: aput-object v1, v0, v2 │ │ -02b87c: 1a01 be00 |00a4: const-string v1, "Allow" // string@00be │ │ -02b880: 1302 1c00 |00a6: const/16 v2, #int 28 // #1c │ │ -02b884: 4d01 0002 |00a8: aput-object v1, v0, v2 │ │ -02b888: 1a01 1001 |00aa: const-string v1, "Content-Encoding" // string@0110 │ │ -02b88c: 1302 1d00 |00ac: const/16 v2, #int 29 // #1d │ │ -02b890: 4d01 0002 |00ae: aput-object v1, v0, v2 │ │ -02b894: 1a01 1101 |00b0: const-string v1, "Content-Language" // string@0111 │ │ -02b898: 1302 1e00 |00b2: const/16 v2, #int 30 // #1e │ │ -02b89c: 4d01 0002 |00b4: aput-object v1, v0, v2 │ │ -02b8a0: 1a01 1201 |00b6: const-string v1, "Content-Length" // string@0112 │ │ -02b8a4: 1302 1f00 |00b8: const/16 v2, #int 31 // #1f │ │ -02b8a8: 4d01 0002 |00ba: aput-object v1, v0, v2 │ │ -02b8ac: 1a01 1301 |00bc: const-string v1, "Content-Location" // string@0113 │ │ -02b8b0: 1302 2000 |00be: const/16 v2, #int 32 // #20 │ │ -02b8b4: 4d01 0002 |00c0: aput-object v1, v0, v2 │ │ -02b8b8: 1a01 1401 |00c2: const-string v1, "Content-MD5" // string@0114 │ │ -02b8bc: 1302 2100 |00c4: const/16 v2, #int 33 // #21 │ │ -02b8c0: 4d01 0002 |00c6: aput-object v1, v0, v2 │ │ -02b8c4: 1a01 1501 |00c8: const-string v1, "Content-Range" // string@0115 │ │ -02b8c8: 1302 2200 |00ca: const/16 v2, #int 34 // #22 │ │ -02b8cc: 4d01 0002 |00cc: aput-object v1, v0, v2 │ │ -02b8d0: 1a01 1601 |00ce: const-string v1, "Content-Type" // string@0116 │ │ -02b8d4: 1302 2300 |00d0: const/16 v2, #int 35 // #23 │ │ -02b8d8: 4d01 0002 |00d2: aput-object v1, v0, v2 │ │ -02b8dc: 1a01 9601 |00d4: const-string v1, "Expires" // string@0196 │ │ -02b8e0: 1302 2400 |00d6: const/16 v2, #int 36 // #24 │ │ -02b8e4: 4d01 0002 |00d8: aput-object v1, v0, v2 │ │ -02b8e8: 1a01 9b02 |00da: const-string v1, "Last-Modified" // string@029b │ │ -02b8ec: 1302 2500 |00dc: const/16 v2, #int 37 // #25 │ │ -02b8f0: 4d01 0002 |00de: aput-object v1, v0, v2 │ │ -02b8f4: 1a01 db06 |00e0: const-string v1, "extension-header" // string@06db │ │ -02b8f8: 1302 2600 |00e2: const/16 v2, #int 38 // #26 │ │ -02b8fc: 4d01 0002 |00e4: aput-object v1, v0, v2 │ │ -02b900: 6900 ac03 |00e6: sput-object v0, Lutil/http/HttpHeader;.reqparamSequence:[Ljava/lang/String; // field@03ac │ │ -02b904: 0e00 |00e8: return-void │ │ +02b720: |[02b720] util.http.HttpHeader.:()V │ │ +02b730: 1300 2700 |0000: const/16 v0, #int 39 // #27 │ │ +02b734: 2300 ad01 |0002: new-array v0, v0, [Ljava/lang/String; // type@01ad │ │ +02b738: 1a01 e700 |0004: const-string v1, "Cache-Control" // string@00e7 │ │ +02b73c: 1202 |0006: const/4 v2, #int 0 // #0 │ │ +02b73e: 4d01 0002 |0007: aput-object v1, v0, v2 │ │ +02b742: 1a01 0d01 |0009: const-string v1, "Connection" // string@010d │ │ +02b746: 1212 |000b: const/4 v2, #int 1 // #1 │ │ +02b748: 4d01 0002 |000c: aput-object v1, v0, v2 │ │ +02b74c: 1a01 6101 |000e: const-string v1, "Date" // string@0161 │ │ +02b750: 1222 |0010: const/4 v2, #int 2 // #2 │ │ +02b752: 4d01 0002 |0011: aput-object v1, v0, v2 │ │ +02b756: 1a01 1304 |0013: const-string v1, "Pragma" // string@0413 │ │ +02b75a: 1232 |0015: const/4 v2, #int 3 // #3 │ │ +02b75c: 4d01 0002 |0016: aput-object v1, v0, v2 │ │ +02b760: 1a01 7d04 |0018: const-string v1, "Trailer" // string@047d │ │ +02b764: 1242 |001a: const/4 v2, #int 4 // #4 │ │ +02b766: 4d01 0002 |001b: aput-object v1, v0, v2 │ │ +02b76a: 1a01 7e04 |001d: const-string v1, "Transfer-Encoding" // string@047e │ │ +02b76e: 1252 |001f: const/4 v2, #int 5 // #5 │ │ +02b770: 4d01 0002 |0020: aput-object v1, v0, v2 │ │ +02b774: 1a01 9104 |0022: const-string v1, "Upgrade" // string@0491 │ │ +02b778: 1262 |0024: const/4 v2, #int 6 // #6 │ │ +02b77a: 4d01 0002 |0025: aput-object v1, v0, v2 │ │ +02b77e: 1a01 d404 |0027: const-string v1, "Via" // string@04d4 │ │ +02b782: 1272 |0029: const/4 v2, #int 7 // #7 │ │ +02b784: 4d01 0002 |002a: aput-object v1, v0, v2 │ │ +02b788: 1a01 de04 |002c: const-string v1, "Warning" // string@04de │ │ +02b78c: 1302 0800 |002e: const/16 v2, #int 8 // #8 │ │ +02b790: 4d01 0002 |0030: aput-object v1, v0, v2 │ │ +02b794: 1a01 b500 |0032: const-string v1, "Accept" // string@00b5 │ │ +02b798: 1302 0900 |0034: const/16 v2, #int 9 // #9 │ │ +02b79c: 4d01 0002 |0036: aput-object v1, v0, v2 │ │ +02b7a0: 1a01 b600 |0038: const-string v1, "Accept-Charset" // string@00b6 │ │ +02b7a4: 1302 0a00 |003a: const/16 v2, #int 10 // #a │ │ +02b7a8: 4d01 0002 |003c: aput-object v1, v0, v2 │ │ +02b7ac: 1a01 b700 |003e: const-string v1, "Accept-Encoding" // string@00b7 │ │ +02b7b0: 1302 0b00 |0040: const/16 v2, #int 11 // #b │ │ +02b7b4: 4d01 0002 |0042: aput-object v1, v0, v2 │ │ +02b7b8: 1a01 b800 |0044: const-string v1, "Accept-Language" // string@00b8 │ │ +02b7bc: 1302 0c00 |0046: const/16 v2, #int 12 // #c │ │ +02b7c0: 4d01 0002 |0048: aput-object v1, v0, v2 │ │ +02b7c4: 1a01 c500 |004a: const-string v1, "Authorization" // string@00c5 │ │ +02b7c8: 1302 0d00 |004c: const/16 v2, #int 13 // #d │ │ +02b7cc: 4d01 0002 |004e: aput-object v1, v0, v2 │ │ +02b7d0: 1a01 9501 |0050: const-string v1, "Expect" // string@0195 │ │ +02b7d4: 1302 0e00 |0052: const/16 v2, #int 14 // #e │ │ +02b7d8: 4d01 0002 |0054: aput-object v1, v0, v2 │ │ +02b7dc: 1a01 a901 |0056: const-string v1, "From" // string@01a9 │ │ +02b7e0: 1302 0f00 |0058: const/16 v2, #int 15 // #f │ │ +02b7e4: 4d01 0002 |005a: aput-object v1, v0, v2 │ │ +02b7e8: 1a01 b701 |005c: const-string v1, "Host" // string@01b7 │ │ +02b7ec: 1302 1000 |005e: const/16 v2, #int 16 // #10 │ │ +02b7f0: 4d01 0002 |0060: aput-object v1, v0, v2 │ │ +02b7f4: 1a01 dd01 |0062: const-string v1, "If-Match" // string@01dd │ │ +02b7f8: 1302 1100 |0064: const/16 v2, #int 17 // #11 │ │ +02b7fc: 4d01 0002 |0066: aput-object v1, v0, v2 │ │ +02b800: 1a01 de01 |0068: const-string v1, "If-Modified-Since" // string@01de │ │ +02b804: 1302 1200 |006a: const/16 v2, #int 18 // #12 │ │ +02b808: 4d01 0002 |006c: aput-object v1, v0, v2 │ │ +02b80c: 1a01 df01 |006e: const-string v1, "If-None-Match" // string@01df │ │ +02b810: 1302 1300 |0070: const/16 v2, #int 19 // #13 │ │ +02b814: 4d01 0002 |0072: aput-object v1, v0, v2 │ │ +02b818: 1a01 e001 |0074: const-string v1, "If-Range" // string@01e0 │ │ +02b81c: 1302 1400 |0076: const/16 v2, #int 20 // #14 │ │ +02b820: 4d01 0002 |0078: aput-object v1, v0, v2 │ │ +02b824: 1a01 e101 |007a: const-string v1, "If-Unmodified-Since" // string@01e1 │ │ +02b828: 1302 1500 |007c: const/16 v2, #int 21 // #15 │ │ +02b82c: 4d01 0002 |007e: aput-object v1, v0, v2 │ │ +02b830: 1a01 d803 |0080: const-string v1, "Max-Forwards" // string@03d8 │ │ +02b834: 1302 1600 |0082: const/16 v2, #int 22 // #16 │ │ +02b838: 4d01 0002 |0084: aput-object v1, v0, v2 │ │ +02b83c: 1a01 1604 |0086: const-string v1, "Proxy-Authorization" // string@0416 │ │ +02b840: 1302 1700 |0088: const/16 v2, #int 23 // #17 │ │ +02b844: 4d01 0002 |008a: aput-object v1, v0, v2 │ │ +02b848: 1a01 1f04 |008c: const-string v1, "Range" // string@041f │ │ +02b84c: 1302 1800 |008e: const/16 v2, #int 24 // #18 │ │ +02b850: 4d01 0002 |0090: aput-object v1, v0, v2 │ │ +02b854: 1a01 2904 |0092: const-string v1, "Referer" // string@0429 │ │ +02b858: 1302 1900 |0094: const/16 v2, #int 25 // #19 │ │ +02b85c: 4d01 0002 |0096: aput-object v1, v0, v2 │ │ +02b860: 1a01 6904 |0098: const-string v1, "TE" // string@0469 │ │ +02b864: 1302 1a00 |009a: const/16 v2, #int 26 // #1a │ │ +02b868: 4d01 0002 |009c: aput-object v1, v0, v2 │ │ +02b86c: 1a01 9204 |009e: const-string v1, "User-Agent" // string@0492 │ │ +02b870: 1302 1b00 |00a0: const/16 v2, #int 27 // #1b │ │ +02b874: 4d01 0002 |00a2: aput-object v1, v0, v2 │ │ +02b878: 1a01 be00 |00a4: const-string v1, "Allow" // string@00be │ │ +02b87c: 1302 1c00 |00a6: const/16 v2, #int 28 // #1c │ │ +02b880: 4d01 0002 |00a8: aput-object v1, v0, v2 │ │ +02b884: 1a01 1001 |00aa: const-string v1, "Content-Encoding" // string@0110 │ │ +02b888: 1302 1d00 |00ac: const/16 v2, #int 29 // #1d │ │ +02b88c: 4d01 0002 |00ae: aput-object v1, v0, v2 │ │ +02b890: 1a01 1101 |00b0: const-string v1, "Content-Language" // string@0111 │ │ +02b894: 1302 1e00 |00b2: const/16 v2, #int 30 // #1e │ │ +02b898: 4d01 0002 |00b4: aput-object v1, v0, v2 │ │ +02b89c: 1a01 1201 |00b6: const-string v1, "Content-Length" // string@0112 │ │ +02b8a0: 1302 1f00 |00b8: const/16 v2, #int 31 // #1f │ │ +02b8a4: 4d01 0002 |00ba: aput-object v1, v0, v2 │ │ +02b8a8: 1a01 1301 |00bc: const-string v1, "Content-Location" // string@0113 │ │ +02b8ac: 1302 2000 |00be: const/16 v2, #int 32 // #20 │ │ +02b8b0: 4d01 0002 |00c0: aput-object v1, v0, v2 │ │ +02b8b4: 1a01 1401 |00c2: const-string v1, "Content-MD5" // string@0114 │ │ +02b8b8: 1302 2100 |00c4: const/16 v2, #int 33 // #21 │ │ +02b8bc: 4d01 0002 |00c6: aput-object v1, v0, v2 │ │ +02b8c0: 1a01 1501 |00c8: const-string v1, "Content-Range" // string@0115 │ │ +02b8c4: 1302 2200 |00ca: const/16 v2, #int 34 // #22 │ │ +02b8c8: 4d01 0002 |00cc: aput-object v1, v0, v2 │ │ +02b8cc: 1a01 1601 |00ce: const-string v1, "Content-Type" // string@0116 │ │ +02b8d0: 1302 2300 |00d0: const/16 v2, #int 35 // #23 │ │ +02b8d4: 4d01 0002 |00d2: aput-object v1, v0, v2 │ │ +02b8d8: 1a01 9601 |00d4: const-string v1, "Expires" // string@0196 │ │ +02b8dc: 1302 2400 |00d6: const/16 v2, #int 36 // #24 │ │ +02b8e0: 4d01 0002 |00d8: aput-object v1, v0, v2 │ │ +02b8e4: 1a01 9b02 |00da: const-string v1, "Last-Modified" // string@029b │ │ +02b8e8: 1302 2500 |00dc: const/16 v2, #int 37 // #25 │ │ +02b8ec: 4d01 0002 |00de: aput-object v1, v0, v2 │ │ +02b8f0: 1a01 db06 |00e0: const-string v1, "extension-header" // string@06db │ │ +02b8f4: 1302 2600 |00e2: const/16 v2, #int 38 // #26 │ │ +02b8f8: 4d01 0002 |00e4: aput-object v1, v0, v2 │ │ +02b8fc: 6900 ac03 |00e6: sput-object v0, Lutil/http/HttpHeader;.reqparamSequence:[Ljava/lang/String; // field@03ac │ │ +02b900: 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 │ │ -02b908: |[02b908] util.http.HttpHeader.:()V │ │ -02b918: 7010 7305 0100 |0000: invoke-direct {v1}, Ljava/lang/Object;.:()V // method@0573 │ │ -02b91e: 1a00 0000 |0003: const-string v0, "" // string@0000 │ │ -02b922: 5b10 aa03 |0005: iput-object v0, v1, Lutil/http/HttpHeader;.remote_host_name:Ljava/lang/String; // field@03aa │ │ -02b926: 1240 |0007: const/4 v0, #int 4 // #4 │ │ -02b928: 5910 a903 |0008: iput v0, v1, Lutil/http/HttpHeader;.protocoll:I // field@03a9 │ │ -02b92c: 1200 |000a: const/4 v0, #int 0 // #0 │ │ -02b92e: 5910 ab03 |000b: iput v0, v1, Lutil/http/HttpHeader;.remote_port:I // field@03ab │ │ -02b932: 5c10 ae03 |000d: iput-boolean v0, v1, Lutil/http/HttpHeader;.tunnelMode:Z // field@03ae │ │ -02b936: 12f0 |000f: const/4 v0, #int -1 // #ff │ │ -02b938: 5910 ad03 |0010: iput v0, v1, Lutil/http/HttpHeader;.responsecode:I // field@03ad │ │ -02b93c: 1200 |0012: const/4 v0, #int 0 // #0 │ │ -02b93e: 5b10 a503 |0013: iput-object v0, v1, Lutil/http/HttpHeader;._keys:Ljava/util/Vector; // field@03a5 │ │ -02b942: 5b10 a603 |0015: iput-object v0, v1, Lutil/http/HttpHeader;._mapping:Ljava/util/HashMap; // field@03a6 │ │ -02b946: 0e00 |0017: return-void │ │ +02b904: |[02b904] util.http.HttpHeader.:()V │ │ +02b914: 7010 7305 0100 |0000: invoke-direct {v1}, Ljava/lang/Object;.:()V // method@0573 │ │ +02b91a: 1a00 0000 |0003: const-string v0, "" // string@0000 │ │ +02b91e: 5b10 aa03 |0005: iput-object v0, v1, Lutil/http/HttpHeader;.remote_host_name:Ljava/lang/String; // field@03aa │ │ +02b922: 1240 |0007: const/4 v0, #int 4 // #4 │ │ +02b924: 5910 a903 |0008: iput v0, v1, Lutil/http/HttpHeader;.protocoll:I // field@03a9 │ │ +02b928: 1200 |000a: const/4 v0, #int 0 // #0 │ │ +02b92a: 5910 ab03 |000b: iput v0, v1, Lutil/http/HttpHeader;.remote_port:I // field@03ab │ │ +02b92e: 5c10 ae03 |000d: iput-boolean v0, v1, Lutil/http/HttpHeader;.tunnelMode:Z // field@03ae │ │ +02b932: 12f0 |000f: const/4 v0, #int -1 // #ff │ │ +02b934: 5910 ad03 |0010: iput v0, v1, Lutil/http/HttpHeader;.responsecode:I // field@03ad │ │ +02b938: 1200 |0012: const/4 v0, #int 0 // #0 │ │ +02b93a: 5b10 a503 |0013: iput-object v0, v1, Lutil/http/HttpHeader;._keys:Ljava/util/Vector; // field@03a5 │ │ +02b93e: 5b10 a603 |0015: iput-object v0, v1, Lutil/http/HttpHeader;._mapping:Ljava/util/HashMap; // field@03a6 │ │ +02b942: 0e00 |0017: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=154 │ │ 0x0003 line=50 │ │ 0x0008 line=54 │ │ 0x000b line=55 │ │ 0x000d line=57 │ │ @@ -34275,36 +34275,36 @@ │ │ type : '(I)V' │ │ access : 0x10001 (PUBLIC CONSTRUCTOR) │ │ code - │ │ registers : 3 │ │ ins : 2 │ │ outs : 1 │ │ insns size : 40 16-bit code units │ │ -02b948: |[02b948] util.http.HttpHeader.:(I)V │ │ -02b958: 7010 7305 0100 |0000: invoke-direct {v1}, Ljava/lang/Object;.:()V // method@0573 │ │ -02b95e: 1a00 0000 |0003: const-string v0, "" // string@0000 │ │ -02b962: 5b10 aa03 |0005: iput-object v0, v1, Lutil/http/HttpHeader;.remote_host_name:Ljava/lang/String; // field@03aa │ │ -02b966: 1240 |0007: const/4 v0, #int 4 // #4 │ │ -02b968: 5910 a903 |0008: iput v0, v1, Lutil/http/HttpHeader;.protocoll:I // field@03a9 │ │ -02b96c: 1200 |000a: const/4 v0, #int 0 // #0 │ │ -02b96e: 5910 ab03 |000b: iput v0, v1, Lutil/http/HttpHeader;.remote_port:I // field@03ab │ │ -02b972: 5c10 ae03 |000d: iput-boolean v0, v1, Lutil/http/HttpHeader;.tunnelMode:Z // field@03ae │ │ -02b976: 12f0 |000f: const/4 v0, #int -1 // #ff │ │ -02b978: 5910 ad03 |0010: iput v0, v1, Lutil/http/HttpHeader;.responsecode:I // field@03ad │ │ -02b97c: 1200 |0012: const/4 v0, #int 0 // #0 │ │ -02b97e: 5b10 a503 |0013: iput-object v0, v1, Lutil/http/HttpHeader;._keys:Ljava/util/Vector; // field@03a5 │ │ -02b982: 5b10 a603 |0015: iput-object v0, v1, Lutil/http/HttpHeader;._mapping:Ljava/util/HashMap; // field@03a6 │ │ -02b986: 2200 6a01 |0017: new-instance v0, Ljava/util/Vector; // type@016a │ │ -02b98a: 7010 7506 0000 |0019: invoke-direct {v0}, Ljava/util/Vector;.:()V // method@0675 │ │ -02b990: 5b10 a503 |001c: iput-object v0, v1, Lutil/http/HttpHeader;._keys:Ljava/util/Vector; // field@03a5 │ │ -02b994: 2200 5801 |001e: new-instance v0, Ljava/util/HashMap; // type@0158 │ │ -02b998: 7010 2406 0000 |0020: invoke-direct {v0}, Ljava/util/HashMap;.:()V // method@0624 │ │ -02b99e: 5b10 a603 |0023: iput-object v0, v1, Lutil/http/HttpHeader;._mapping:Ljava/util/HashMap; // field@03a6 │ │ -02b9a2: 5912 af03 |0025: iput v2, v1, Lutil/http/HttpHeader;.type:I // field@03af │ │ -02b9a6: 0e00 |0027: return-void │ │ +02b944: |[02b944] util.http.HttpHeader.:(I)V │ │ +02b954: 7010 7305 0100 |0000: invoke-direct {v1}, Ljava/lang/Object;.:()V // method@0573 │ │ +02b95a: 1a00 0000 |0003: const-string v0, "" // string@0000 │ │ +02b95e: 5b10 aa03 |0005: iput-object v0, v1, Lutil/http/HttpHeader;.remote_host_name:Ljava/lang/String; // field@03aa │ │ +02b962: 1240 |0007: const/4 v0, #int 4 // #4 │ │ +02b964: 5910 a903 |0008: iput v0, v1, Lutil/http/HttpHeader;.protocoll:I // field@03a9 │ │ +02b968: 1200 |000a: const/4 v0, #int 0 // #0 │ │ +02b96a: 5910 ab03 |000b: iput v0, v1, Lutil/http/HttpHeader;.remote_port:I // field@03ab │ │ +02b96e: 5c10 ae03 |000d: iput-boolean v0, v1, Lutil/http/HttpHeader;.tunnelMode:Z // field@03ae │ │ +02b972: 12f0 |000f: const/4 v0, #int -1 // #ff │ │ +02b974: 5910 ad03 |0010: iput v0, v1, Lutil/http/HttpHeader;.responsecode:I // field@03ad │ │ +02b978: 1200 |0012: const/4 v0, #int 0 // #0 │ │ +02b97a: 5b10 a503 |0013: iput-object v0, v1, Lutil/http/HttpHeader;._keys:Ljava/util/Vector; // field@03a5 │ │ +02b97e: 5b10 a603 |0015: iput-object v0, v1, Lutil/http/HttpHeader;._mapping:Ljava/util/HashMap; // field@03a6 │ │ +02b982: 2200 6a01 |0017: new-instance v0, Ljava/util/Vector; // type@016a │ │ +02b986: 7010 7506 0000 |0019: invoke-direct {v0}, Ljava/util/Vector;.:()V // method@0675 │ │ +02b98c: 5b10 a503 |001c: iput-object v0, v1, Lutil/http/HttpHeader;._keys:Ljava/util/Vector; // field@03a5 │ │ +02b990: 2200 5801 |001e: new-instance v0, Ljava/util/HashMap; // type@0158 │ │ +02b994: 7010 2406 0000 |0020: invoke-direct {v0}, Ljava/util/HashMap;.:()V // method@0624 │ │ +02b99a: 5b10 a603 |0023: iput-object v0, v1, Lutil/http/HttpHeader;._mapping:Ljava/util/HashMap; // field@03a6 │ │ +02b99e: 5912 af03 |0025: iput v2, v1, Lutil/http/HttpHeader;.type:I // field@03af │ │ +02b9a2: 0e00 |0027: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=144 │ │ 0x0003 line=50 │ │ 0x0008 line=54 │ │ 0x000b line=55 │ │ 0x000d line=57 │ │ @@ -34323,227 +34323,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 │ │ -02b9a8: |[02b9a8] util.http.HttpHeader.:(Ljava/io/InputStream;I)V │ │ -02b9b8: 1a00 b001 |0000: const-string v0, "HTTP/1.1 " // string@01b0 │ │ -02b9bc: 7010 7305 0a00 |0002: invoke-direct {v10}, Ljava/lang/Object;.:()V // method@0573 │ │ -02b9c2: 1a01 0000 |0005: const-string v1, "" // string@0000 │ │ -02b9c6: 5ba1 aa03 |0007: iput-object v1, v10, Lutil/http/HttpHeader;.remote_host_name:Ljava/lang/String; // field@03aa │ │ -02b9ca: 1242 |0009: const/4 v2, #int 4 // #4 │ │ -02b9cc: 59a2 a903 |000a: iput v2, v10, Lutil/http/HttpHeader;.protocoll:I // field@03a9 │ │ -02b9d0: 1202 |000c: const/4 v2, #int 0 // #0 │ │ -02b9d2: 59a2 ab03 |000d: iput v2, v10, Lutil/http/HttpHeader;.remote_port:I // field@03ab │ │ -02b9d6: 5ca2 ae03 |000f: iput-boolean v2, v10, Lutil/http/HttpHeader;.tunnelMode:Z // field@03ae │ │ -02b9da: 12f3 |0011: const/4 v3, #int -1 // #ff │ │ -02b9dc: 59a3 ad03 |0012: iput v3, v10, Lutil/http/HttpHeader;.responsecode:I // field@03ad │ │ -02b9e0: 1204 |0014: const/4 v4, #int 0 // #0 │ │ -02b9e2: 5ba4 a503 |0015: iput-object v4, v10, Lutil/http/HttpHeader;._keys:Ljava/util/Vector; // field@03a5 │ │ -02b9e6: 5ba4 a603 |0017: iput-object v4, v10, Lutil/http/HttpHeader;._mapping:Ljava/util/HashMap; // field@03a6 │ │ -02b9ea: 2204 6a01 |0019: new-instance v4, Ljava/util/Vector; // type@016a │ │ -02b9ee: 7010 7506 0400 |001b: invoke-direct {v4}, Ljava/util/Vector;.:()V // method@0675 │ │ -02b9f4: 5ba4 a503 |001e: iput-object v4, v10, Lutil/http/HttpHeader;._keys:Ljava/util/Vector; // field@03a5 │ │ -02b9f8: 2204 5801 |0020: new-instance v4, Ljava/util/HashMap; // type@0158 │ │ -02b9fc: 7010 2406 0400 |0022: invoke-direct {v4}, Ljava/util/HashMap;.:()V // method@0624 │ │ -02ba02: 5ba4 a603 |0025: iput-object v4, v10, Lutil/http/HttpHeader;._mapping:Ljava/util/HashMap; // field@03a6 │ │ -02ba06: 1214 |0027: const/4 v4, #int 1 // #1 │ │ -02ba08: 324c 0e00 |0028: if-eq v12, v4, 0036 // +000e │ │ -02ba0c: 1225 |002a: const/4 v5, #int 2 // #2 │ │ -02ba0e: 335c 0300 |002b: if-ne v12, v5, 002e // +0003 │ │ -02ba12: 2809 |002d: goto 0036 // +0009 │ │ -02ba14: 220b 0001 |002e: new-instance v11, Ljava/io/IOException; // type@0100 │ │ -02ba18: 1a0c d001 |0030: const-string v12, "INVALID TYPE!" // string@01d0 │ │ -02ba1c: 7020 1f05 cb00 |0032: invoke-direct {v11, v12}, Ljava/io/IOException;.:(Ljava/lang/String;)V // method@051f │ │ -02ba22: 270b |0035: throw v11 │ │ -02ba24: 59ac af03 |0036: iput v12, v10, Lutil/http/HttpHeader;.type:I // field@03af │ │ -02ba28: 7120 9e07 4b00 |0038: invoke-static {v11, v4}, Lutil/Utils;.readLineFromStream:(Ljava/io/InputStream;Z)Ljava/lang/String; // method@079e │ │ -02ba2e: 0c05 |003b: move-result-object v5 │ │ -02ba30: 5ba5 a403 |003c: iput-object v5, v10, Lutil/http/HttpHeader;._first:Ljava/lang/String; // field@03a4 │ │ -02ba34: 6e20 8b05 1500 |003e: invoke-virtual {v5, v1}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058b │ │ -02ba3a: 0a05 |0041: move-result v5 │ │ -02ba3c: 3905 6701 |0042: if-nez v5, 01a9 // +0167 │ │ -02ba40: 1a05 b701 |0044: const-string v5, "Host" // string@01b7 │ │ -02ba44: 334c 0d00 |0046: if-ne v12, v4, 0053 // +000d │ │ -02ba48: 7010 ff07 0a00 |0048: invoke-direct {v10}, Lutil/http/HttpHeader;.parseURI:()V // method@07ff │ │ -02ba4e: 54a0 a703 |004b: iget-object v0, v10, Lutil/http/HttpHeader;.hostEntry:Ljava/lang/String; // field@03a7 │ │ -02ba52: 3800 4b00 |004d: if-eqz v0, 0098 // +004b │ │ -02ba56: 6e30 0308 5a00 |004f: invoke-virtual {v10, v5, v0}, Lutil/http/HttpHeader;.setValue:(Ljava/lang/String;Ljava/lang/String;)V // method@0803 │ │ -02ba5c: 2846 |0052: goto 0098 // +0046 │ │ -02ba5e: 54a6 a403 |0053: iget-object v6, v10, Lutil/http/HttpHeader;._first:Ljava/lang/String; // field@03a4 │ │ -02ba62: 6e10 9405 0600 |0055: invoke-virtual {v6}, Ljava/lang/String;.length:()I // method@0594 │ │ -02ba68: 0a06 |0058: move-result v6 │ │ -02ba6a: 1a07 f801 |0059: const-string v7, "Invalid response header:" // string@01f8 │ │ -02ba6e: 1308 0c00 |005b: const/16 v8, #int 12 // #c │ │ -02ba72: 3486 3801 |005d: if-lt v6, v8, 0195 // +0138 │ │ -02ba76: 54a6 a403 |005f: iget-object v6, v10, Lutil/http/HttpHeader;._first:Ljava/lang/String; // field@03a4 │ │ -02ba7a: 6e30 9b05 2608 |0061: invoke-virtual {v6, v2, v8}, Ljava/lang/String;.substring:(II)Ljava/lang/String; // method@059b │ │ -02ba80: 0c06 |0064: move-result-object v6 │ │ -02ba82: 6e10 9c05 0600 |0065: invoke-virtual {v6}, Ljava/lang/String;.toLowerCase:()Ljava/lang/String; // method@059c │ │ -02ba88: 0c06 |0068: move-result-object v6 │ │ -02ba8a: 1a09 1408 |0069: const-string v9, "http/" // string@0814 │ │ -02ba8e: 6e20 9905 9600 |006b: invoke-virtual {v6, v9}, Ljava/lang/String;.startsWith:(Ljava/lang/String;)Z // method@0599 │ │ -02ba94: 0a06 |006e: move-result v6 │ │ -02ba96: 3806 1201 |006f: if-eqz v6, 0181 // +0112 │ │ -02ba9a: 54a6 a403 |0071: iget-object v6, v10, Lutil/http/HttpHeader;._first:Ljava/lang/String; // field@03a4 │ │ -02ba9e: 1307 0900 |0073: const/16 v7, #int 9 // #9 │ │ -02baa2: 6e30 9b05 7608 |0075: invoke-virtual {v6, v7, v8}, Ljava/lang/String;.substring:(II)Ljava/lang/String; // method@059b │ │ -02baa8: 0c06 |0078: move-result-object v6 │ │ -02baaa: 7110 6505 0600 |0079: invoke-static {v6}, Ljava/lang/Integer;.parseInt:(Ljava/lang/String;)I // method@0565 │ │ -02bab0: 0a06 |007c: move-result v6 │ │ -02bab2: 59a6 ad03 |007d: iput v6, v10, Lutil/http/HttpHeader;.responsecode:I // field@03ad │ │ -02bab6: 2206 2d01 |007f: new-instance v6, Ljava/lang/StringBuilder; // type@012d │ │ -02baba: 7020 a805 0600 |0081: invoke-direct {v6, v0}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05a8 │ │ -02bac0: 52a0 ad03 |0084: iget v0, v10, Lutil/http/HttpHeader;.responsecode:I // field@03ad │ │ -02bac4: 6e20 aa05 0600 |0086: invoke-virtual {v6, v0}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@05aa │ │ -02baca: 54a0 a403 |0089: iget-object v0, v10, Lutil/http/HttpHeader;._first:Ljava/lang/String; // field@03a4 │ │ -02bace: 6e20 9a05 8000 |008b: invoke-virtual {v0, v8}, Ljava/lang/String;.substring:(I)Ljava/lang/String; // method@059a │ │ -02bad4: 0c00 |008e: move-result-object v0 │ │ -02bad6: 6e20 ad05 0600 |008f: invoke-virtual {v6, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -02badc: 6e10 af05 0600 |0092: invoke-virtual {v6}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ -02bae2: 0c00 |0095: move-result-object v0 │ │ -02bae4: 5ba0 a403 |0096: iput-object v0, v10, Lutil/http/HttpHeader;._first:Ljava/lang/String; // field@03a4 │ │ -02bae8: 7120 9e07 4b00 |0098: invoke-static {v11, v4}, Lutil/Utils;.readLineFromStream:(Ljava/io/InputStream;Z)Ljava/lang/String; // method@079e │ │ -02baee: 0c00 |009b: move-result-object v0 │ │ -02baf0: 6e20 8b05 1000 |009c: invoke-virtual {v0, v1}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058b │ │ -02baf6: 0a06 |009f: move-result v6 │ │ -02baf8: 3906 bb00 |00a0: if-nez v6, 015b // +00bb │ │ -02bafc: 1a06 8300 |00a2: const-string v6, ": " // string@0083 │ │ -02bb00: 6e20 9005 6000 |00a4: invoke-virtual {v0, v6}, Ljava/lang/String;.indexOf:(Ljava/lang/String;)I // method@0590 │ │ -02bb06: 0a06 |00a7: move-result v6 │ │ -02bb08: 3336 3100 |00a8: if-ne v6, v3, 00d9 // +0031 │ │ -02bb0c: 1a06 8100 |00aa: const-string v6, ":" // string@0081 │ │ -02bb10: 6e20 9005 6000 |00ac: invoke-virtual {v0, v6}, Ljava/lang/String;.indexOf:(Ljava/lang/String;)I // method@0590 │ │ -02bb16: 0a06 |00af: move-result v6 │ │ -02bb18: 3236 1500 |00b0: if-eq v6, v3, 00c5 // +0015 │ │ -02bb1c: 6e30 9b05 2006 |00b2: invoke-virtual {v0, v2, v6}, Ljava/lang/String;.substring:(II)Ljava/lang/String; // method@059b │ │ -02bb22: 0c07 |00b5: move-result-object v7 │ │ -02bb24: 6e10 a005 0700 |00b6: invoke-virtual {v7}, Ljava/lang/String;.trim:()Ljava/lang/String; // method@05a0 │ │ -02bb2a: 0c07 |00b9: move-result-object v7 │ │ -02bb2c: d806 0601 |00ba: add-int/lit8 v6, v6, #int 1 // #01 │ │ -02bb30: 6e20 9a05 6000 |00bc: invoke-virtual {v0, v6}, Ljava/lang/String;.substring:(I)Ljava/lang/String; // method@059a │ │ -02bb36: 0c00 |00bf: move-result-object v0 │ │ -02bb38: 6e10 a005 0000 |00c0: invoke-virtual {v0}, Ljava/lang/String;.trim:()Ljava/lang/String; // method@05a0 │ │ -02bb3e: 0c00 |00c3: move-result-object v0 │ │ -02bb40: 2827 |00c4: goto 00eb // +0027 │ │ -02bb42: 220b 0001 |00c5: new-instance v11, Ljava/io/IOException; // type@0100 │ │ -02bb46: 220c 2d01 |00c7: new-instance v12, Ljava/lang/StringBuilder; // type@012d │ │ -02bb4a: 1a01 f101 |00c9: const-string v1, "Invalid header:" // string@01f1 │ │ -02bb4e: 7020 a805 1c00 |00cb: invoke-direct {v12, v1}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05a8 │ │ -02bb54: 6e20 ad05 0c00 |00ce: invoke-virtual {v12, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -02bb5a: 6e10 af05 0c00 |00d1: invoke-virtual {v12}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ -02bb60: 0c0c |00d4: move-result-object v12 │ │ -02bb62: 7020 1f05 cb00 |00d5: invoke-direct {v11, v12}, Ljava/io/IOException;.:(Ljava/lang/String;)V // method@051f │ │ -02bb68: 270b |00d8: throw v11 │ │ -02bb6a: 6e30 9b05 2006 |00d9: invoke-virtual {v0, v2, v6}, Ljava/lang/String;.substring:(II)Ljava/lang/String; // method@059b │ │ -02bb70: 0c07 |00dc: move-result-object v7 │ │ -02bb72: 6e10 a005 0700 |00dd: invoke-virtual {v7}, Ljava/lang/String;.trim:()Ljava/lang/String; // method@05a0 │ │ -02bb78: 0c07 |00e0: move-result-object v7 │ │ -02bb7a: d806 0602 |00e1: add-int/lit8 v6, v6, #int 2 // #02 │ │ -02bb7e: 6e20 9a05 6000 |00e3: invoke-virtual {v0, v6}, Ljava/lang/String;.substring:(I)Ljava/lang/String; // method@059a │ │ -02bb84: 0c00 |00e6: move-result-object v0 │ │ -02bb86: 6e10 a005 0000 |00e7: invoke-virtual {v0}, Ljava/lang/String;.trim:()Ljava/lang/String; // method@05a0 │ │ -02bb8c: 0c00 |00ea: move-result-object v0 │ │ -02bb8e: 6e10 9e05 0700 |00eb: invoke-virtual {v7}, Ljava/lang/String;.toUpperCase:()Ljava/lang/String; // method@059e │ │ -02bb94: 0c06 |00ee: move-result-object v6 │ │ -02bb96: 54a8 a603 |00ef: iget-object v8, v10, Lutil/http/HttpHeader;._mapping:Ljava/util/HashMap; // field@03a6 │ │ -02bb9a: 6e20 2806 6800 |00f1: invoke-virtual {v8, v6}, Ljava/util/HashMap;.get:(Ljava/lang/Object;)Ljava/lang/Object; // method@0628 │ │ -02bba0: 0c08 |00f4: move-result-object v8 │ │ -02bba2: 1f08 2b01 |00f5: check-cast v8, Ljava/lang/String; // type@012b │ │ -02bba6: 3908 0d00 |00f7: if-nez v8, 0104 // +000d │ │ -02bbaa: 54a8 a503 |00f9: iget-object v8, v10, Lutil/http/HttpHeader;._keys:Ljava/util/Vector; // field@03a5 │ │ -02bbae: 6e20 7706 7800 |00fb: invoke-virtual {v8, v7}, Ljava/util/Vector;.add:(Ljava/lang/Object;)Z // method@0677 │ │ -02bbb4: 54a7 a603 |00fe: iget-object v7, v10, Lutil/http/HttpHeader;._mapping:Ljava/util/HashMap; // field@03a6 │ │ -02bbb8: 6e30 2906 6700 |0100: invoke-virtual {v7, v6, v0}, Ljava/util/HashMap;.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; // method@0629 │ │ -02bbbe: 2831 |0103: goto 0134 // +0031 │ │ -02bbc0: 1a07 e300 |0104: const-string v7, "CONTENT-LENGTH" // string@00e3 │ │ -02bbc4: 6e20 8b05 7600 |0106: invoke-virtual {v6, v7}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058b │ │ -02bbca: 0a07 |0109: move-result v7 │ │ -02bbcc: 3907 2400 |010a: if-nez v7, 012e // +0024 │ │ -02bbd0: 1a07 ae01 |010c: const-string v7, "HOST" // string@01ae │ │ -02bbd4: 6e20 8b05 7600 |010e: invoke-virtual {v6, v7}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058b │ │ -02bbda: 0a07 |0111: move-result v7 │ │ -02bbdc: 3907 2200 |0112: if-nez v7, 0134 // +0022 │ │ -02bbe0: 54a7 a603 |0114: iget-object v7, v10, Lutil/http/HttpHeader;._mapping:Ljava/util/HashMap; // field@03a6 │ │ -02bbe4: 2209 2d01 |0116: new-instance v9, Ljava/lang/StringBuilder; // type@012d │ │ -02bbe8: 7010 a705 0900 |0118: invoke-direct {v9}, Ljava/lang/StringBuilder;.:()V // method@05a7 │ │ -02bbee: 6e20 ad05 8900 |011b: invoke-virtual {v9, v8}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -02bbf4: 1a08 1105 |011e: const-string v8, "_,_" // string@0511 │ │ -02bbf8: 6e20 ad05 8900 |0120: invoke-virtual {v9, v8}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -02bbfe: 6e20 ad05 0900 |0123: invoke-virtual {v9, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -02bc04: 6e10 af05 0900 |0126: invoke-virtual {v9}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ -02bc0a: 0c00 |0129: move-result-object v0 │ │ -02bc0c: 6e30 2906 6700 |012a: invoke-virtual {v7, v6, v0}, Ljava/util/HashMap;.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; // method@0629 │ │ -02bc12: 2807 |012d: goto 0134 // +0007 │ │ -02bc14: 6e20 8b05 0800 |012e: invoke-virtual {v8, v0}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058b │ │ -02bc1a: 0a06 |0131: move-result v6 │ │ -02bc1c: 3806 0800 |0132: if-eqz v6, 013a // +0008 │ │ -02bc20: 7120 9e07 4b00 |0134: invoke-static {v11, v4}, Lutil/Utils;.readLineFromStream:(Ljava/io/InputStream;Z)Ljava/lang/String; // method@079e │ │ -02bc26: 0c00 |0137: move-result-object v0 │ │ -02bc28: 2900 64ff |0138: goto/16 009c // -009c │ │ -02bc2c: 220b 0001 |013a: new-instance v11, Ljava/io/IOException; // type@0100 │ │ -02bc30: 220c 2d01 |013c: new-instance v12, Ljava/lang/StringBuilder; // type@012d │ │ -02bc34: 1a01 f001 |013e: const-string v1, "Invalid header! Duplicated Content-Length with different values:" // string@01f0 │ │ -02bc38: 7020 a805 1c00 |0140: invoke-direct {v12, v1}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05a8 │ │ -02bc3e: 6e20 ad05 8c00 |0143: invoke-virtual {v12, v8}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -02bc44: 1a01 9100 |0146: const-string v1, "<>" // string@0091 │ │ -02bc48: 6e20 ad05 1c00 |0148: invoke-virtual {v12, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -02bc4e: 6e20 ad05 0c00 |014b: invoke-virtual {v12, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -02bc54: 1a00 2a00 |014e: const-string v0, "!" // string@002a │ │ -02bc58: 6e20 ad05 0c00 |0150: invoke-virtual {v12, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -02bc5e: 6e10 af05 0c00 |0153: invoke-virtual {v12}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ -02bc64: 0c0c |0156: move-result-object v12 │ │ -02bc66: 7020 1f05 cb00 |0157: invoke-direct {v11, v12}, Ljava/io/IOException;.:(Ljava/lang/String;)V // method@051f │ │ -02bc6c: 270b |015a: throw v11 │ │ -02bc6e: 54ab a703 |015b: iget-object v11, v10, Lutil/http/HttpHeader;.hostEntry:Ljava/lang/String; // field@03a7 │ │ -02bc72: 390b 1800 |015d: if-nez v11, 0175 // +0018 │ │ -02bc76: 334c 1600 |015f: if-ne v12, v4, 0175 // +0016 │ │ -02bc7a: 6e20 fd07 5a00 |0161: invoke-virtual {v10, v5}, Lutil/http/HttpHeader;.getValue:(Ljava/lang/String;)Ljava/lang/String; // method@07fd │ │ -02bc80: 0c0b |0164: move-result-object v11 │ │ -02bc82: 5bab a703 |0165: iput-object v11, v10, Lutil/http/HttpHeader;.hostEntry:Ljava/lang/String; // field@03a7 │ │ -02bc86: 380b 0600 |0167: if-eqz v11, 016d // +0006 │ │ -02bc8a: 7010 fe07 0a00 |0169: invoke-direct {v10}, Lutil/http/HttpHeader;.parseHostEntry:()V // method@07fe │ │ -02bc90: 2809 |016c: goto 0175 // +0009 │ │ -02bc92: 220b 0001 |016d: new-instance v11, Ljava/io/IOException; // type@0100 │ │ -02bc96: 1a0c cd00 |016f: const-string v12, "Bad request - No host specified!" // string@00cd │ │ -02bc9a: 7020 1f05 cb00 |0171: invoke-direct {v11, v12}, Ljava/io/IOException;.:(Ljava/lang/String;)V // method@051f │ │ -02bca0: 270b |0174: throw v11 │ │ -02bca2: 0e00 |0175: return-void │ │ -02bca4: 0d0b |0176: move-exception v11 │ │ -02bca6: 220c 0001 |0177: new-instance v12, Ljava/io/IOException; // type@0100 │ │ -02bcaa: 6e10 5b05 0b00 |0179: invoke-virtual {v11}, Ljava/lang/Exception;.getMessage:()Ljava/lang/String; // method@055b │ │ -02bcb0: 0c0b |017c: move-result-object v11 │ │ -02bcb2: 7020 1f05 bc00 |017d: invoke-direct {v12, v11}, Ljava/io/IOException;.:(Ljava/lang/String;)V // method@051f │ │ -02bcb8: 270c |0180: throw v12 │ │ -02bcba: 220b 0001 |0181: new-instance v11, Ljava/io/IOException; // type@0100 │ │ -02bcbe: 220c 2d01 |0183: new-instance v12, Ljava/lang/StringBuilder; // type@012d │ │ -02bcc2: 7020 a805 7c00 |0185: invoke-direct {v12, v7}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05a8 │ │ -02bcc8: 54a0 a403 |0188: iget-object v0, v10, Lutil/http/HttpHeader;._first:Ljava/lang/String; // field@03a4 │ │ -02bccc: 6e20 ad05 0c00 |018a: invoke-virtual {v12, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -02bcd2: 6e10 af05 0c00 |018d: invoke-virtual {v12}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ -02bcd8: 0c0c |0190: move-result-object v12 │ │ -02bcda: 7020 1f05 cb00 |0191: invoke-direct {v11, v12}, Ljava/io/IOException;.:(Ljava/lang/String;)V // method@051f │ │ -02bce0: 270b |0194: throw v11 │ │ -02bce2: 220b 0001 |0195: new-instance v11, Ljava/io/IOException; // type@0100 │ │ -02bce6: 220c 2d01 |0197: new-instance v12, Ljava/lang/StringBuilder; // type@012d │ │ -02bcea: 7020 a805 7c00 |0199: invoke-direct {v12, v7}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05a8 │ │ -02bcf0: 54a0 a403 |019c: iget-object v0, v10, Lutil/http/HttpHeader;._first:Ljava/lang/String; // field@03a4 │ │ -02bcf4: 6e20 ad05 0c00 |019e: invoke-virtual {v12, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -02bcfa: 6e10 af05 0c00 |01a1: invoke-virtual {v12}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ -02bd00: 0c0c |01a4: move-result-object v12 │ │ -02bd02: 7020 1f05 cb00 |01a5: invoke-direct {v11, v12}, Ljava/io/IOException;.:(Ljava/lang/String;)V // method@051f │ │ -02bd08: 270b |01a8: throw v11 │ │ -02bd0a: 220b fa00 |01a9: new-instance v11, Ljava/io/EOFException; // type@00fa │ │ -02bd0e: 1a0c ba01 |01ab: const-string v12, "HttpHeader failed to read! No Data!" // string@01ba │ │ -02bd12: 7020 fe04 cb00 |01ad: invoke-direct {v11, v12}, Ljava/io/EOFException;.:(Ljava/lang/String;)V // method@04fe │ │ -02bd18: 2802 |01b0: goto 01b2 // +0002 │ │ -02bd1a: 270b |01b1: throw v11 │ │ -02bd1c: 28ff |01b2: goto 01b1 // -0001 │ │ +02b9a4: |[02b9a4] util.http.HttpHeader.:(Ljava/io/InputStream;I)V │ │ +02b9b4: 1a00 b001 |0000: const-string v0, "HTTP/1.1 " // string@01b0 │ │ +02b9b8: 7010 7305 0a00 |0002: invoke-direct {v10}, Ljava/lang/Object;.:()V // method@0573 │ │ +02b9be: 1a01 0000 |0005: const-string v1, "" // string@0000 │ │ +02b9c2: 5ba1 aa03 |0007: iput-object v1, v10, Lutil/http/HttpHeader;.remote_host_name:Ljava/lang/String; // field@03aa │ │ +02b9c6: 1242 |0009: const/4 v2, #int 4 // #4 │ │ +02b9c8: 59a2 a903 |000a: iput v2, v10, Lutil/http/HttpHeader;.protocoll:I // field@03a9 │ │ +02b9cc: 1202 |000c: const/4 v2, #int 0 // #0 │ │ +02b9ce: 59a2 ab03 |000d: iput v2, v10, Lutil/http/HttpHeader;.remote_port:I // field@03ab │ │ +02b9d2: 5ca2 ae03 |000f: iput-boolean v2, v10, Lutil/http/HttpHeader;.tunnelMode:Z // field@03ae │ │ +02b9d6: 12f3 |0011: const/4 v3, #int -1 // #ff │ │ +02b9d8: 59a3 ad03 |0012: iput v3, v10, Lutil/http/HttpHeader;.responsecode:I // field@03ad │ │ +02b9dc: 1204 |0014: const/4 v4, #int 0 // #0 │ │ +02b9de: 5ba4 a503 |0015: iput-object v4, v10, Lutil/http/HttpHeader;._keys:Ljava/util/Vector; // field@03a5 │ │ +02b9e2: 5ba4 a603 |0017: iput-object v4, v10, Lutil/http/HttpHeader;._mapping:Ljava/util/HashMap; // field@03a6 │ │ +02b9e6: 2204 6a01 |0019: new-instance v4, Ljava/util/Vector; // type@016a │ │ +02b9ea: 7010 7506 0400 |001b: invoke-direct {v4}, Ljava/util/Vector;.:()V // method@0675 │ │ +02b9f0: 5ba4 a503 |001e: iput-object v4, v10, Lutil/http/HttpHeader;._keys:Ljava/util/Vector; // field@03a5 │ │ +02b9f4: 2204 5801 |0020: new-instance v4, Ljava/util/HashMap; // type@0158 │ │ +02b9f8: 7010 2406 0400 |0022: invoke-direct {v4}, Ljava/util/HashMap;.:()V // method@0624 │ │ +02b9fe: 5ba4 a603 |0025: iput-object v4, v10, Lutil/http/HttpHeader;._mapping:Ljava/util/HashMap; // field@03a6 │ │ +02ba02: 1214 |0027: const/4 v4, #int 1 // #1 │ │ +02ba04: 324c 0e00 |0028: if-eq v12, v4, 0036 // +000e │ │ +02ba08: 1225 |002a: const/4 v5, #int 2 // #2 │ │ +02ba0a: 335c 0300 |002b: if-ne v12, v5, 002e // +0003 │ │ +02ba0e: 2809 |002d: goto 0036 // +0009 │ │ +02ba10: 220b 0001 |002e: new-instance v11, Ljava/io/IOException; // type@0100 │ │ +02ba14: 1a0c d001 |0030: const-string v12, "INVALID TYPE!" // string@01d0 │ │ +02ba18: 7020 1f05 cb00 |0032: invoke-direct {v11, v12}, Ljava/io/IOException;.:(Ljava/lang/String;)V // method@051f │ │ +02ba1e: 270b |0035: throw v11 │ │ +02ba20: 59ac af03 |0036: iput v12, v10, Lutil/http/HttpHeader;.type:I // field@03af │ │ +02ba24: 7120 9e07 4b00 |0038: invoke-static {v11, v4}, Lutil/Utils;.readLineFromStream:(Ljava/io/InputStream;Z)Ljava/lang/String; // method@079e │ │ +02ba2a: 0c05 |003b: move-result-object v5 │ │ +02ba2c: 5ba5 a403 |003c: iput-object v5, v10, Lutil/http/HttpHeader;._first:Ljava/lang/String; // field@03a4 │ │ +02ba30: 6e20 8b05 1500 |003e: invoke-virtual {v5, v1}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058b │ │ +02ba36: 0a05 |0041: move-result v5 │ │ +02ba38: 3905 6701 |0042: if-nez v5, 01a9 // +0167 │ │ +02ba3c: 1a05 b701 |0044: const-string v5, "Host" // string@01b7 │ │ +02ba40: 334c 0d00 |0046: if-ne v12, v4, 0053 // +000d │ │ +02ba44: 7010 ff07 0a00 |0048: invoke-direct {v10}, Lutil/http/HttpHeader;.parseURI:()V // method@07ff │ │ +02ba4a: 54a0 a703 |004b: iget-object v0, v10, Lutil/http/HttpHeader;.hostEntry:Ljava/lang/String; // field@03a7 │ │ +02ba4e: 3800 4b00 |004d: if-eqz v0, 0098 // +004b │ │ +02ba52: 6e30 0308 5a00 |004f: invoke-virtual {v10, v5, v0}, Lutil/http/HttpHeader;.setValue:(Ljava/lang/String;Ljava/lang/String;)V // method@0803 │ │ +02ba58: 2846 |0052: goto 0098 // +0046 │ │ +02ba5a: 54a6 a403 |0053: iget-object v6, v10, Lutil/http/HttpHeader;._first:Ljava/lang/String; // field@03a4 │ │ +02ba5e: 6e10 9405 0600 |0055: invoke-virtual {v6}, Ljava/lang/String;.length:()I // method@0594 │ │ +02ba64: 0a06 |0058: move-result v6 │ │ +02ba66: 1a07 f801 |0059: const-string v7, "Invalid response header:" // string@01f8 │ │ +02ba6a: 1308 0c00 |005b: const/16 v8, #int 12 // #c │ │ +02ba6e: 3486 3801 |005d: if-lt v6, v8, 0195 // +0138 │ │ +02ba72: 54a6 a403 |005f: iget-object v6, v10, Lutil/http/HttpHeader;._first:Ljava/lang/String; // field@03a4 │ │ +02ba76: 6e30 9b05 2608 |0061: invoke-virtual {v6, v2, v8}, Ljava/lang/String;.substring:(II)Ljava/lang/String; // method@059b │ │ +02ba7c: 0c06 |0064: move-result-object v6 │ │ +02ba7e: 6e10 9c05 0600 |0065: invoke-virtual {v6}, Ljava/lang/String;.toLowerCase:()Ljava/lang/String; // method@059c │ │ +02ba84: 0c06 |0068: move-result-object v6 │ │ +02ba86: 1a09 1408 |0069: const-string v9, "http/" // string@0814 │ │ +02ba8a: 6e20 9905 9600 |006b: invoke-virtual {v6, v9}, Ljava/lang/String;.startsWith:(Ljava/lang/String;)Z // method@0599 │ │ +02ba90: 0a06 |006e: move-result v6 │ │ +02ba92: 3806 1201 |006f: if-eqz v6, 0181 // +0112 │ │ +02ba96: 54a6 a403 |0071: iget-object v6, v10, Lutil/http/HttpHeader;._first:Ljava/lang/String; // field@03a4 │ │ +02ba9a: 1307 0900 |0073: const/16 v7, #int 9 // #9 │ │ +02ba9e: 6e30 9b05 7608 |0075: invoke-virtual {v6, v7, v8}, Ljava/lang/String;.substring:(II)Ljava/lang/String; // method@059b │ │ +02baa4: 0c06 |0078: move-result-object v6 │ │ +02baa6: 7110 6505 0600 |0079: invoke-static {v6}, Ljava/lang/Integer;.parseInt:(Ljava/lang/String;)I // method@0565 │ │ +02baac: 0a06 |007c: move-result v6 │ │ +02baae: 59a6 ad03 |007d: iput v6, v10, Lutil/http/HttpHeader;.responsecode:I // field@03ad │ │ +02bab2: 2206 2d01 |007f: new-instance v6, Ljava/lang/StringBuilder; // type@012d │ │ +02bab6: 7020 a805 0600 |0081: invoke-direct {v6, v0}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05a8 │ │ +02babc: 52a0 ad03 |0084: iget v0, v10, Lutil/http/HttpHeader;.responsecode:I // field@03ad │ │ +02bac0: 6e20 aa05 0600 |0086: invoke-virtual {v6, v0}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@05aa │ │ +02bac6: 54a0 a403 |0089: iget-object v0, v10, Lutil/http/HttpHeader;._first:Ljava/lang/String; // field@03a4 │ │ +02baca: 6e20 9a05 8000 |008b: invoke-virtual {v0, v8}, Ljava/lang/String;.substring:(I)Ljava/lang/String; // method@059a │ │ +02bad0: 0c00 |008e: move-result-object v0 │ │ +02bad2: 6e20 ad05 0600 |008f: invoke-virtual {v6, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +02bad8: 6e10 af05 0600 |0092: invoke-virtual {v6}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ +02bade: 0c00 |0095: move-result-object v0 │ │ +02bae0: 5ba0 a403 |0096: iput-object v0, v10, Lutil/http/HttpHeader;._first:Ljava/lang/String; // field@03a4 │ │ +02bae4: 7120 9e07 4b00 |0098: invoke-static {v11, v4}, Lutil/Utils;.readLineFromStream:(Ljava/io/InputStream;Z)Ljava/lang/String; // method@079e │ │ +02baea: 0c00 |009b: move-result-object v0 │ │ +02baec: 6e20 8b05 1000 |009c: invoke-virtual {v0, v1}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058b │ │ +02baf2: 0a06 |009f: move-result v6 │ │ +02baf4: 3906 bb00 |00a0: if-nez v6, 015b // +00bb │ │ +02baf8: 1a06 8300 |00a2: const-string v6, ": " // string@0083 │ │ +02bafc: 6e20 9005 6000 |00a4: invoke-virtual {v0, v6}, Ljava/lang/String;.indexOf:(Ljava/lang/String;)I // method@0590 │ │ +02bb02: 0a06 |00a7: move-result v6 │ │ +02bb04: 3336 3100 |00a8: if-ne v6, v3, 00d9 // +0031 │ │ +02bb08: 1a06 8100 |00aa: const-string v6, ":" // string@0081 │ │ +02bb0c: 6e20 9005 6000 |00ac: invoke-virtual {v0, v6}, Ljava/lang/String;.indexOf:(Ljava/lang/String;)I // method@0590 │ │ +02bb12: 0a06 |00af: move-result v6 │ │ +02bb14: 3236 1500 |00b0: if-eq v6, v3, 00c5 // +0015 │ │ +02bb18: 6e30 9b05 2006 |00b2: invoke-virtual {v0, v2, v6}, Ljava/lang/String;.substring:(II)Ljava/lang/String; // method@059b │ │ +02bb1e: 0c07 |00b5: move-result-object v7 │ │ +02bb20: 6e10 a005 0700 |00b6: invoke-virtual {v7}, Ljava/lang/String;.trim:()Ljava/lang/String; // method@05a0 │ │ +02bb26: 0c07 |00b9: move-result-object v7 │ │ +02bb28: d806 0601 |00ba: add-int/lit8 v6, v6, #int 1 // #01 │ │ +02bb2c: 6e20 9a05 6000 |00bc: invoke-virtual {v0, v6}, Ljava/lang/String;.substring:(I)Ljava/lang/String; // method@059a │ │ +02bb32: 0c00 |00bf: move-result-object v0 │ │ +02bb34: 6e10 a005 0000 |00c0: invoke-virtual {v0}, Ljava/lang/String;.trim:()Ljava/lang/String; // method@05a0 │ │ +02bb3a: 0c00 |00c3: move-result-object v0 │ │ +02bb3c: 2827 |00c4: goto 00eb // +0027 │ │ +02bb3e: 220b 0001 |00c5: new-instance v11, Ljava/io/IOException; // type@0100 │ │ +02bb42: 220c 2d01 |00c7: new-instance v12, Ljava/lang/StringBuilder; // type@012d │ │ +02bb46: 1a01 f101 |00c9: const-string v1, "Invalid header:" // string@01f1 │ │ +02bb4a: 7020 a805 1c00 |00cb: invoke-direct {v12, v1}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05a8 │ │ +02bb50: 6e20 ad05 0c00 |00ce: invoke-virtual {v12, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +02bb56: 6e10 af05 0c00 |00d1: invoke-virtual {v12}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ +02bb5c: 0c0c |00d4: move-result-object v12 │ │ +02bb5e: 7020 1f05 cb00 |00d5: invoke-direct {v11, v12}, Ljava/io/IOException;.:(Ljava/lang/String;)V // method@051f │ │ +02bb64: 270b |00d8: throw v11 │ │ +02bb66: 6e30 9b05 2006 |00d9: invoke-virtual {v0, v2, v6}, Ljava/lang/String;.substring:(II)Ljava/lang/String; // method@059b │ │ +02bb6c: 0c07 |00dc: move-result-object v7 │ │ +02bb6e: 6e10 a005 0700 |00dd: invoke-virtual {v7}, Ljava/lang/String;.trim:()Ljava/lang/String; // method@05a0 │ │ +02bb74: 0c07 |00e0: move-result-object v7 │ │ +02bb76: d806 0602 |00e1: add-int/lit8 v6, v6, #int 2 // #02 │ │ +02bb7a: 6e20 9a05 6000 |00e3: invoke-virtual {v0, v6}, Ljava/lang/String;.substring:(I)Ljava/lang/String; // method@059a │ │ +02bb80: 0c00 |00e6: move-result-object v0 │ │ +02bb82: 6e10 a005 0000 |00e7: invoke-virtual {v0}, Ljava/lang/String;.trim:()Ljava/lang/String; // method@05a0 │ │ +02bb88: 0c00 |00ea: move-result-object v0 │ │ +02bb8a: 6e10 9e05 0700 |00eb: invoke-virtual {v7}, Ljava/lang/String;.toUpperCase:()Ljava/lang/String; // method@059e │ │ +02bb90: 0c06 |00ee: move-result-object v6 │ │ +02bb92: 54a8 a603 |00ef: iget-object v8, v10, Lutil/http/HttpHeader;._mapping:Ljava/util/HashMap; // field@03a6 │ │ +02bb96: 6e20 2806 6800 |00f1: invoke-virtual {v8, v6}, Ljava/util/HashMap;.get:(Ljava/lang/Object;)Ljava/lang/Object; // method@0628 │ │ +02bb9c: 0c08 |00f4: move-result-object v8 │ │ +02bb9e: 1f08 2b01 |00f5: check-cast v8, Ljava/lang/String; // type@012b │ │ +02bba2: 3908 0d00 |00f7: if-nez v8, 0104 // +000d │ │ +02bba6: 54a8 a503 |00f9: iget-object v8, v10, Lutil/http/HttpHeader;._keys:Ljava/util/Vector; // field@03a5 │ │ +02bbaa: 6e20 7706 7800 |00fb: invoke-virtual {v8, v7}, Ljava/util/Vector;.add:(Ljava/lang/Object;)Z // method@0677 │ │ +02bbb0: 54a7 a603 |00fe: iget-object v7, v10, Lutil/http/HttpHeader;._mapping:Ljava/util/HashMap; // field@03a6 │ │ +02bbb4: 6e30 2906 6700 |0100: invoke-virtual {v7, v6, v0}, Ljava/util/HashMap;.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; // method@0629 │ │ +02bbba: 2831 |0103: goto 0134 // +0031 │ │ +02bbbc: 1a07 e300 |0104: const-string v7, "CONTENT-LENGTH" // string@00e3 │ │ +02bbc0: 6e20 8b05 7600 |0106: invoke-virtual {v6, v7}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058b │ │ +02bbc6: 0a07 |0109: move-result v7 │ │ +02bbc8: 3907 2400 |010a: if-nez v7, 012e // +0024 │ │ +02bbcc: 1a07 ae01 |010c: const-string v7, "HOST" // string@01ae │ │ +02bbd0: 6e20 8b05 7600 |010e: invoke-virtual {v6, v7}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058b │ │ +02bbd6: 0a07 |0111: move-result v7 │ │ +02bbd8: 3907 2200 |0112: if-nez v7, 0134 // +0022 │ │ +02bbdc: 54a7 a603 |0114: iget-object v7, v10, Lutil/http/HttpHeader;._mapping:Ljava/util/HashMap; // field@03a6 │ │ +02bbe0: 2209 2d01 |0116: new-instance v9, Ljava/lang/StringBuilder; // type@012d │ │ +02bbe4: 7010 a705 0900 |0118: invoke-direct {v9}, Ljava/lang/StringBuilder;.:()V // method@05a7 │ │ +02bbea: 6e20 ad05 8900 |011b: invoke-virtual {v9, v8}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +02bbf0: 1a08 1105 |011e: const-string v8, "_,_" // string@0511 │ │ +02bbf4: 6e20 ad05 8900 |0120: invoke-virtual {v9, v8}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +02bbfa: 6e20 ad05 0900 |0123: invoke-virtual {v9, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +02bc00: 6e10 af05 0900 |0126: invoke-virtual {v9}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ +02bc06: 0c00 |0129: move-result-object v0 │ │ +02bc08: 6e30 2906 6700 |012a: invoke-virtual {v7, v6, v0}, Ljava/util/HashMap;.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; // method@0629 │ │ +02bc0e: 2807 |012d: goto 0134 // +0007 │ │ +02bc10: 6e20 8b05 0800 |012e: invoke-virtual {v8, v0}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058b │ │ +02bc16: 0a06 |0131: move-result v6 │ │ +02bc18: 3806 0800 |0132: if-eqz v6, 013a // +0008 │ │ +02bc1c: 7120 9e07 4b00 |0134: invoke-static {v11, v4}, Lutil/Utils;.readLineFromStream:(Ljava/io/InputStream;Z)Ljava/lang/String; // method@079e │ │ +02bc22: 0c00 |0137: move-result-object v0 │ │ +02bc24: 2900 64ff |0138: goto/16 009c // -009c │ │ +02bc28: 220b 0001 |013a: new-instance v11, Ljava/io/IOException; // type@0100 │ │ +02bc2c: 220c 2d01 |013c: new-instance v12, Ljava/lang/StringBuilder; // type@012d │ │ +02bc30: 1a01 f001 |013e: const-string v1, "Invalid header! Duplicated Content-Length with different values:" // string@01f0 │ │ +02bc34: 7020 a805 1c00 |0140: invoke-direct {v12, v1}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05a8 │ │ +02bc3a: 6e20 ad05 8c00 |0143: invoke-virtual {v12, v8}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +02bc40: 1a01 9100 |0146: const-string v1, "<>" // string@0091 │ │ +02bc44: 6e20 ad05 1c00 |0148: invoke-virtual {v12, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +02bc4a: 6e20 ad05 0c00 |014b: invoke-virtual {v12, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +02bc50: 1a00 2a00 |014e: const-string v0, "!" // string@002a │ │ +02bc54: 6e20 ad05 0c00 |0150: invoke-virtual {v12, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +02bc5a: 6e10 af05 0c00 |0153: invoke-virtual {v12}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ +02bc60: 0c0c |0156: move-result-object v12 │ │ +02bc62: 7020 1f05 cb00 |0157: invoke-direct {v11, v12}, Ljava/io/IOException;.:(Ljava/lang/String;)V // method@051f │ │ +02bc68: 270b |015a: throw v11 │ │ +02bc6a: 54ab a703 |015b: iget-object v11, v10, Lutil/http/HttpHeader;.hostEntry:Ljava/lang/String; // field@03a7 │ │ +02bc6e: 390b 1800 |015d: if-nez v11, 0175 // +0018 │ │ +02bc72: 334c 1600 |015f: if-ne v12, v4, 0175 // +0016 │ │ +02bc76: 6e20 fd07 5a00 |0161: invoke-virtual {v10, v5}, Lutil/http/HttpHeader;.getValue:(Ljava/lang/String;)Ljava/lang/String; // method@07fd │ │ +02bc7c: 0c0b |0164: move-result-object v11 │ │ +02bc7e: 5bab a703 |0165: iput-object v11, v10, Lutil/http/HttpHeader;.hostEntry:Ljava/lang/String; // field@03a7 │ │ +02bc82: 380b 0600 |0167: if-eqz v11, 016d // +0006 │ │ +02bc86: 7010 fe07 0a00 |0169: invoke-direct {v10}, Lutil/http/HttpHeader;.parseHostEntry:()V // method@07fe │ │ +02bc8c: 2809 |016c: goto 0175 // +0009 │ │ +02bc8e: 220b 0001 |016d: new-instance v11, Ljava/io/IOException; // type@0100 │ │ +02bc92: 1a0c cd00 |016f: const-string v12, "Bad request - No host specified!" // string@00cd │ │ +02bc96: 7020 1f05 cb00 |0171: invoke-direct {v11, v12}, Ljava/io/IOException;.:(Ljava/lang/String;)V // method@051f │ │ +02bc9c: 270b |0174: throw v11 │ │ +02bc9e: 0e00 |0175: return-void │ │ +02bca0: 0d0b |0176: move-exception v11 │ │ +02bca2: 220c 0001 |0177: new-instance v12, Ljava/io/IOException; // type@0100 │ │ +02bca6: 6e10 5b05 0b00 |0179: invoke-virtual {v11}, Ljava/lang/Exception;.getMessage:()Ljava/lang/String; // method@055b │ │ +02bcac: 0c0b |017c: move-result-object v11 │ │ +02bcae: 7020 1f05 bc00 |017d: invoke-direct {v12, v11}, Ljava/io/IOException;.:(Ljava/lang/String;)V // method@051f │ │ +02bcb4: 270c |0180: throw v12 │ │ +02bcb6: 220b 0001 |0181: new-instance v11, Ljava/io/IOException; // type@0100 │ │ +02bcba: 220c 2d01 |0183: new-instance v12, Ljava/lang/StringBuilder; // type@012d │ │ +02bcbe: 7020 a805 7c00 |0185: invoke-direct {v12, v7}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05a8 │ │ +02bcc4: 54a0 a403 |0188: iget-object v0, v10, Lutil/http/HttpHeader;._first:Ljava/lang/String; // field@03a4 │ │ +02bcc8: 6e20 ad05 0c00 |018a: invoke-virtual {v12, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +02bcce: 6e10 af05 0c00 |018d: invoke-virtual {v12}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ +02bcd4: 0c0c |0190: move-result-object v12 │ │ +02bcd6: 7020 1f05 cb00 |0191: invoke-direct {v11, v12}, Ljava/io/IOException;.:(Ljava/lang/String;)V // method@051f │ │ +02bcdc: 270b |0194: throw v11 │ │ +02bcde: 220b 0001 |0195: new-instance v11, Ljava/io/IOException; // type@0100 │ │ +02bce2: 220c 2d01 |0197: new-instance v12, Ljava/lang/StringBuilder; // type@012d │ │ +02bce6: 7020 a805 7c00 |0199: invoke-direct {v12, v7}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05a8 │ │ +02bcec: 54a0 a403 |019c: iget-object v0, v10, Lutil/http/HttpHeader;._first:Ljava/lang/String; // field@03a4 │ │ +02bcf0: 6e20 ad05 0c00 |019e: invoke-virtual {v12, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +02bcf6: 6e10 af05 0c00 |01a1: invoke-virtual {v12}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ +02bcfc: 0c0c |01a4: move-result-object v12 │ │ +02bcfe: 7020 1f05 cb00 |01a5: invoke-direct {v11, v12}, Ljava/io/IOException;.:(Ljava/lang/String;)V // method@051f │ │ +02bd04: 270b |01a8: throw v11 │ │ +02bd06: 220b fa00 |01a9: new-instance v11, Ljava/io/EOFException; // type@00fa │ │ +02bd0a: 1a0c ba01 |01ab: const-string v12, "HttpHeader failed to read! No Data!" // string@01ba │ │ +02bd0e: 7020 fe04 cb00 |01ad: invoke-direct {v11, v12}, Ljava/io/EOFException;.:(Ljava/lang/String;)V // method@04fe │ │ +02bd14: 2802 |01b0: goto 01b2 // +0002 │ │ +02bd16: 270b |01b1: throw v11 │ │ +02bd18: 28ff |01b2: goto 01b1 // -0001 │ │ catches : 1 │ │ 0x0071 - 0x0098 │ │ Ljava/lang/Exception; -> 0x0176 │ │ positions : │ │ 0x0002 line=67 │ │ 0x0005 line=50 │ │ 0x000a line=54 │ │ @@ -34604,21 +34604,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 │ │ -02bd30: |[02bd30] util.http.HttpHeader.:(Ljava/lang/String;I)V │ │ -02bd40: 2200 f600 |0000: new-instance v0, Ljava/io/ByteArrayInputStream; // type@00f6 │ │ -02bd44: 6e10 8d05 0200 |0002: invoke-virtual {v2}, Ljava/lang/String;.getBytes:()[B // method@058d │ │ -02bd4a: 0c02 |0005: move-result-object v2 │ │ -02bd4c: 7020 df04 2000 |0006: invoke-direct {v0, v2}, Ljava/io/ByteArrayInputStream;.:([B)V // method@04df │ │ -02bd52: 7030 f007 0103 |0009: invoke-direct {v1, v0, v3}, Lutil/http/HttpHeader;.:(Ljava/io/InputStream;I)V // method@07f0 │ │ -02bd58: 0e00 |000c: return-void │ │ +02bd2c: |[02bd2c] util.http.HttpHeader.:(Ljava/lang/String;I)V │ │ +02bd3c: 2200 f600 |0000: new-instance v0, Ljava/io/ByteArrayInputStream; // type@00f6 │ │ +02bd40: 6e10 8d05 0200 |0002: invoke-virtual {v2}, Ljava/lang/String;.getBytes:()[B // method@058d │ │ +02bd46: 0c02 |0005: move-result-object v2 │ │ +02bd48: 7020 df04 2000 |0006: invoke-direct {v0, v2}, Ljava/io/ByteArrayInputStream;.:([B)V // method@04df │ │ +02bd4e: 7030 f007 0103 |0009: invoke-direct {v1, v0, v3}, Lutil/http/HttpHeader;.:(Ljava/io/InputStream;I)V // method@07f0 │ │ +02bd54: 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 │ │ @@ -34628,79 +34628,79 @@ │ │ type : '()V' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 6 │ │ ins : 1 │ │ outs : 3 │ │ insns size : 121 16-bit code units │ │ -02bdc4: |[02bdc4] util.http.HttpHeader.parseHostEntry:()V │ │ -02bdd4: 5250 a903 |0000: iget v0, v5, Lutil/http/HttpHeader;.protocoll:I // field@03a9 │ │ -02bdd8: 12f1 |0002: const/4 v1, #int -1 // #ff │ │ -02bdda: 1212 |0003: const/4 v2, #int 1 // #1 │ │ -02bddc: 3320 0700 |0004: if-ne v0, v2, 000b // +0007 │ │ -02bde0: 1300 5000 |0006: const/16 v0, #int 80 // #50 │ │ -02bde4: 5950 ab03 |0008: iput v0, v5, Lutil/http/HttpHeader;.remote_port:I // field@03ab │ │ -02bde8: 280b |000a: goto 0015 // +000b │ │ -02bdea: 1223 |000b: const/4 v3, #int 2 // #2 │ │ -02bdec: 3330 0700 |000c: if-ne v0, v3, 0013 // +0007 │ │ -02bdf0: 1300 bb01 |000e: const/16 v0, #int 443 // #1bb │ │ -02bdf4: 5950 ab03 |0010: iput v0, v5, Lutil/http/HttpHeader;.remote_port:I // field@03ab │ │ -02bdf8: 2803 |0012: goto 0015 // +0003 │ │ -02bdfa: 5951 ab03 |0013: iput v1, v5, Lutil/http/HttpHeader;.remote_port:I // field@03ab │ │ -02bdfe: 5450 a703 |0015: iget-object v0, v5, Lutil/http/HttpHeader;.hostEntry:Ljava/lang/String; // field@03a7 │ │ -02be02: 5b50 aa03 |0017: iput-object v0, v5, Lutil/http/HttpHeader;.remote_host_name:Ljava/lang/String; // field@03aa │ │ -02be06: 1a03 8100 |0019: const-string v3, ":" // string@0081 │ │ -02be0a: 6e20 9305 3000 |001b: invoke-virtual {v0, v3}, Ljava/lang/String;.lastIndexOf:(Ljava/lang/String;)I // method@0593 │ │ -02be10: 0a00 |001e: move-result v0 │ │ -02be12: 1a03 0e05 |001f: const-string v3, "]" // string@050e │ │ -02be16: 3210 3800 |0021: if-eq v0, v1, 0059 // +0038 │ │ -02be1a: 5451 a703 |0023: iget-object v1, v5, Lutil/http/HttpHeader;.hostEntry:Ljava/lang/String; // field@03a7 │ │ -02be1e: 6e20 8a05 3100 |0025: invoke-virtual {v1, v3}, Ljava/lang/String;.endsWith:(Ljava/lang/String;)Z // method@058a │ │ -02be24: 0a01 |0028: move-result v1 │ │ -02be26: 3901 3000 |0029: if-nez v1, 0059 // +0030 │ │ -02be2a: 5451 a703 |002b: iget-object v1, v5, Lutil/http/HttpHeader;.hostEntry:Ljava/lang/String; // field@03a7 │ │ -02be2e: d804 0001 |002d: add-int/lit8 v4, v0, #int 1 // #01 │ │ -02be32: 6e20 9a05 4100 |002f: invoke-virtual {v1, v4}, Ljava/lang/String;.substring:(I)Ljava/lang/String; // method@059a │ │ -02be38: 0c01 |0032: move-result-object v1 │ │ -02be3a: 7110 6505 0100 |0033: invoke-static {v1}, Ljava/lang/Integer;.parseInt:(Ljava/lang/String;)I // method@0565 │ │ -02be40: 0a01 |0036: move-result v1 │ │ -02be42: 5951 ab03 |0037: iput v1, v5, Lutil/http/HttpHeader;.remote_port:I // field@03ab │ │ -02be46: 5451 a703 |0039: iget-object v1, v5, Lutil/http/HttpHeader;.hostEntry:Ljava/lang/String; // field@03a7 │ │ -02be4a: 1204 |003b: const/4 v4, #int 0 // #0 │ │ -02be4c: 6e30 9b05 4100 |003c: invoke-virtual {v1, v4, v0}, Ljava/lang/String;.substring:(II)Ljava/lang/String; // method@059b │ │ -02be52: 0c00 |003f: move-result-object v0 │ │ -02be54: 5b50 aa03 |0040: iput-object v0, v5, Lutil/http/HttpHeader;.remote_host_name:Ljava/lang/String; // field@03aa │ │ -02be58: 2817 |0042: goto 0059 // +0017 │ │ -02be5a: 2200 0001 |0043: new-instance v0, Ljava/io/IOException; // type@0100 │ │ -02be5e: 2201 2d01 |0045: new-instance v1, Ljava/lang/StringBuilder; // type@012d │ │ -02be62: 1a02 cc00 |0047: const-string v2, "Bad request - Cannot parse port to int:" // string@00cc │ │ -02be66: 7020 a805 2100 |0049: invoke-direct {v1, v2}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05a8 │ │ -02be6c: 5452 a403 |004c: iget-object v2, v5, Lutil/http/HttpHeader;._first:Ljava/lang/String; // field@03a4 │ │ -02be70: 6e20 ad05 2100 |004e: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -02be76: 6e10 af05 0100 |0051: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ -02be7c: 0c01 |0054: move-result-object v1 │ │ -02be7e: 7020 1f05 1000 |0055: invoke-direct {v0, v1}, Ljava/io/IOException;.:(Ljava/lang/String;)V // method@051f │ │ -02be84: 2700 |0058: throw v0 │ │ -02be86: 5450 aa03 |0059: iget-object v0, v5, Lutil/http/HttpHeader;.remote_host_name:Ljava/lang/String; // field@03aa │ │ -02be8a: 1a01 f004 |005b: const-string v1, "[" // string@04f0 │ │ -02be8e: 6e20 9905 1000 |005d: invoke-virtual {v0, v1}, Ljava/lang/String;.startsWith:(Ljava/lang/String;)Z // method@0599 │ │ -02be94: 0a00 |0060: move-result v0 │ │ -02be96: 3800 1700 |0061: if-eqz v0, 0078 // +0017 │ │ -02be9a: 5450 aa03 |0063: iget-object v0, v5, Lutil/http/HttpHeader;.remote_host_name:Ljava/lang/String; // field@03aa │ │ -02be9e: 6e20 8a05 3000 |0065: invoke-virtual {v0, v3}, Ljava/lang/String;.endsWith:(Ljava/lang/String;)Z // method@058a │ │ -02bea4: 0a00 |0068: move-result v0 │ │ -02bea6: 3800 0f00 |0069: if-eqz v0, 0078 // +000f │ │ -02beaa: 5450 aa03 |006b: iget-object v0, v5, Lutil/http/HttpHeader;.remote_host_name:Ljava/lang/String; // field@03aa │ │ -02beae: 6e10 9405 0000 |006d: invoke-virtual {v0}, Ljava/lang/String;.length:()I // method@0594 │ │ -02beb4: 0a01 |0070: move-result v1 │ │ -02beb6: b121 |0071: sub-int/2addr v1, v2 │ │ -02beb8: 6e30 9b05 2001 |0072: invoke-virtual {v0, v2, v1}, Ljava/lang/String;.substring:(II)Ljava/lang/String; // method@059b │ │ -02bebe: 0c00 |0075: move-result-object v0 │ │ -02bec0: 5b50 aa03 |0076: iput-object v0, v5, Lutil/http/HttpHeader;.remote_host_name:Ljava/lang/String; // field@03aa │ │ -02bec4: 0e00 |0078: return-void │ │ +02bdc0: |[02bdc0] util.http.HttpHeader.parseHostEntry:()V │ │ +02bdd0: 5250 a903 |0000: iget v0, v5, Lutil/http/HttpHeader;.protocoll:I // field@03a9 │ │ +02bdd4: 12f1 |0002: const/4 v1, #int -1 // #ff │ │ +02bdd6: 1212 |0003: const/4 v2, #int 1 // #1 │ │ +02bdd8: 3320 0700 |0004: if-ne v0, v2, 000b // +0007 │ │ +02bddc: 1300 5000 |0006: const/16 v0, #int 80 // #50 │ │ +02bde0: 5950 ab03 |0008: iput v0, v5, Lutil/http/HttpHeader;.remote_port:I // field@03ab │ │ +02bde4: 280b |000a: goto 0015 // +000b │ │ +02bde6: 1223 |000b: const/4 v3, #int 2 // #2 │ │ +02bde8: 3330 0700 |000c: if-ne v0, v3, 0013 // +0007 │ │ +02bdec: 1300 bb01 |000e: const/16 v0, #int 443 // #1bb │ │ +02bdf0: 5950 ab03 |0010: iput v0, v5, Lutil/http/HttpHeader;.remote_port:I // field@03ab │ │ +02bdf4: 2803 |0012: goto 0015 // +0003 │ │ +02bdf6: 5951 ab03 |0013: iput v1, v5, Lutil/http/HttpHeader;.remote_port:I // field@03ab │ │ +02bdfa: 5450 a703 |0015: iget-object v0, v5, Lutil/http/HttpHeader;.hostEntry:Ljava/lang/String; // field@03a7 │ │ +02bdfe: 5b50 aa03 |0017: iput-object v0, v5, Lutil/http/HttpHeader;.remote_host_name:Ljava/lang/String; // field@03aa │ │ +02be02: 1a03 8100 |0019: const-string v3, ":" // string@0081 │ │ +02be06: 6e20 9305 3000 |001b: invoke-virtual {v0, v3}, Ljava/lang/String;.lastIndexOf:(Ljava/lang/String;)I // method@0593 │ │ +02be0c: 0a00 |001e: move-result v0 │ │ +02be0e: 1a03 0e05 |001f: const-string v3, "]" // string@050e │ │ +02be12: 3210 3800 |0021: if-eq v0, v1, 0059 // +0038 │ │ +02be16: 5451 a703 |0023: iget-object v1, v5, Lutil/http/HttpHeader;.hostEntry:Ljava/lang/String; // field@03a7 │ │ +02be1a: 6e20 8a05 3100 |0025: invoke-virtual {v1, v3}, Ljava/lang/String;.endsWith:(Ljava/lang/String;)Z // method@058a │ │ +02be20: 0a01 |0028: move-result v1 │ │ +02be22: 3901 3000 |0029: if-nez v1, 0059 // +0030 │ │ +02be26: 5451 a703 |002b: iget-object v1, v5, Lutil/http/HttpHeader;.hostEntry:Ljava/lang/String; // field@03a7 │ │ +02be2a: d804 0001 |002d: add-int/lit8 v4, v0, #int 1 // #01 │ │ +02be2e: 6e20 9a05 4100 |002f: invoke-virtual {v1, v4}, Ljava/lang/String;.substring:(I)Ljava/lang/String; // method@059a │ │ +02be34: 0c01 |0032: move-result-object v1 │ │ +02be36: 7110 6505 0100 |0033: invoke-static {v1}, Ljava/lang/Integer;.parseInt:(Ljava/lang/String;)I // method@0565 │ │ +02be3c: 0a01 |0036: move-result v1 │ │ +02be3e: 5951 ab03 |0037: iput v1, v5, Lutil/http/HttpHeader;.remote_port:I // field@03ab │ │ +02be42: 5451 a703 |0039: iget-object v1, v5, Lutil/http/HttpHeader;.hostEntry:Ljava/lang/String; // field@03a7 │ │ +02be46: 1204 |003b: const/4 v4, #int 0 // #0 │ │ +02be48: 6e30 9b05 4100 |003c: invoke-virtual {v1, v4, v0}, Ljava/lang/String;.substring:(II)Ljava/lang/String; // method@059b │ │ +02be4e: 0c00 |003f: move-result-object v0 │ │ +02be50: 5b50 aa03 |0040: iput-object v0, v5, Lutil/http/HttpHeader;.remote_host_name:Ljava/lang/String; // field@03aa │ │ +02be54: 2817 |0042: goto 0059 // +0017 │ │ +02be56: 2200 0001 |0043: new-instance v0, Ljava/io/IOException; // type@0100 │ │ +02be5a: 2201 2d01 |0045: new-instance v1, Ljava/lang/StringBuilder; // type@012d │ │ +02be5e: 1a02 cc00 |0047: const-string v2, "Bad request - Cannot parse port to int:" // string@00cc │ │ +02be62: 7020 a805 2100 |0049: invoke-direct {v1, v2}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05a8 │ │ +02be68: 5452 a403 |004c: iget-object v2, v5, Lutil/http/HttpHeader;._first:Ljava/lang/String; // field@03a4 │ │ +02be6c: 6e20 ad05 2100 |004e: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +02be72: 6e10 af05 0100 |0051: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ +02be78: 0c01 |0054: move-result-object v1 │ │ +02be7a: 7020 1f05 1000 |0055: invoke-direct {v0, v1}, Ljava/io/IOException;.:(Ljava/lang/String;)V // method@051f │ │ +02be80: 2700 |0058: throw v0 │ │ +02be82: 5450 aa03 |0059: iget-object v0, v5, Lutil/http/HttpHeader;.remote_host_name:Ljava/lang/String; // field@03aa │ │ +02be86: 1a01 f004 |005b: const-string v1, "[" // string@04f0 │ │ +02be8a: 6e20 9905 1000 |005d: invoke-virtual {v0, v1}, Ljava/lang/String;.startsWith:(Ljava/lang/String;)Z // method@0599 │ │ +02be90: 0a00 |0060: move-result v0 │ │ +02be92: 3800 1700 |0061: if-eqz v0, 0078 // +0017 │ │ +02be96: 5450 aa03 |0063: iget-object v0, v5, Lutil/http/HttpHeader;.remote_host_name:Ljava/lang/String; // field@03aa │ │ +02be9a: 6e20 8a05 3000 |0065: invoke-virtual {v0, v3}, Ljava/lang/String;.endsWith:(Ljava/lang/String;)Z // method@058a │ │ +02bea0: 0a00 |0068: move-result v0 │ │ +02bea2: 3800 0f00 |0069: if-eqz v0, 0078 // +000f │ │ +02bea6: 5450 aa03 |006b: iget-object v0, v5, Lutil/http/HttpHeader;.remote_host_name:Ljava/lang/String; // field@03aa │ │ +02beaa: 6e10 9405 0000 |006d: invoke-virtual {v0}, Ljava/lang/String;.length:()I // method@0594 │ │ +02beb0: 0a01 |0070: move-result v1 │ │ +02beb2: b121 |0071: sub-int/2addr v1, v2 │ │ +02beb4: 6e30 9b05 2001 |0072: invoke-virtual {v0, v2, v1}, Ljava/lang/String;.substring:(II)Ljava/lang/String; // method@059b │ │ +02beba: 0c00 |0075: move-result-object v0 │ │ +02bebc: 5b50 aa03 |0076: iput-object v0, v5, Lutil/http/HttpHeader;.remote_host_name:Ljava/lang/String; // field@03aa │ │ +02bec0: 0e00 |0078: return-void │ │ catches : 1 │ │ 0x002b - 0x0039 │ │ Ljava/lang/NumberFormatException; -> 0x0043 │ │ positions : │ │ 0x0000 line=359 │ │ 0x0008 line=360 │ │ 0x0010 line=362 │ │ @@ -34721,111 +34721,111 @@ │ │ type : '()V' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 8 │ │ ins : 1 │ │ outs : 3 │ │ insns size : 183 16-bit code units │ │ -02bed8: |[02bed8] util.http.HttpHeader.parseURI:()V │ │ -02bee8: 5470 a403 |0000: iget-object v0, v7, Lutil/http/HttpHeader;._first:Ljava/lang/String; // field@03a4 │ │ -02beec: 1301 2000 |0002: const/16 v1, #int 32 // #20 │ │ -02bef0: 6e20 8f05 1000 |0004: invoke-virtual {v0, v1}, Ljava/lang/String;.indexOf:(I)I // method@058f │ │ -02bef6: 0a00 |0007: move-result v0 │ │ -02bef8: 5472 a403 |0008: iget-object v2, v7, Lutil/http/HttpHeader;._first:Ljava/lang/String; // field@03a4 │ │ -02befc: 6e20 9205 1200 |000a: invoke-virtual {v2, v1}, Ljava/lang/String;.lastIndexOf:(I)I // method@0592 │ │ -02bf02: 0a01 |000d: move-result v1 │ │ -02bf04: 12f2 |000e: const/4 v2, #int -1 // #ff │ │ -02bf06: 3220 9200 |000f: if-eq v0, v2, 00a1 // +0092 │ │ -02bf0a: 3210 9000 |0011: if-eq v0, v1, 00a1 // +0090 │ │ -02bf0e: 5473 a403 |0013: iget-object v3, v7, Lutil/http/HttpHeader;._first:Ljava/lang/String; // field@03a4 │ │ -02bf12: 1204 |0015: const/4 v4, #int 0 // #0 │ │ -02bf14: 6e30 9b05 4300 |0016: invoke-virtual {v3, v4, v0}, Ljava/lang/String;.substring:(II)Ljava/lang/String; // method@059b │ │ -02bf1a: 0c03 |0019: move-result-object v3 │ │ -02bf1c: 5b73 a803 |001a: iput-object v3, v7, Lutil/http/HttpHeader;.method:Ljava/lang/String; // field@03a8 │ │ -02bf20: 5473 a403 |001c: iget-object v3, v7, Lutil/http/HttpHeader;._first:Ljava/lang/String; // field@03a4 │ │ -02bf24: 1215 |001e: const/4 v5, #int 1 // #1 │ │ -02bf26: b050 |001f: add-int/2addr v0, v5 │ │ -02bf28: 6e30 9b05 0301 |0020: invoke-virtual {v3, v0, v1}, Ljava/lang/String;.substring:(II)Ljava/lang/String; // method@059b │ │ -02bf2e: 0c00 |0023: move-result-object v0 │ │ -02bf30: 5b70 b003 |0024: iput-object v0, v7, Lutil/http/HttpHeader;.url:Ljava/lang/String; // field@03b0 │ │ -02bf34: 5470 a803 |0026: iget-object v0, v7, Lutil/http/HttpHeader;.method:Ljava/lang/String; // field@03a8 │ │ -02bf38: 1a01 df00 |0028: const-string v1, "CONNECT" // string@00df │ │ -02bf3c: 6e20 8c05 1000 |002a: invoke-virtual {v0, v1}, Ljava/lang/String;.equalsIgnoreCase:(Ljava/lang/String;)Z // method@058c │ │ -02bf42: 0a00 |002d: move-result v0 │ │ -02bf44: 5c70 ae03 |002e: iput-boolean v0, v7, Lutil/http/HttpHeader;.tunnelMode:Z // field@03ae │ │ -02bf48: 3900 6500 |0030: if-nez v0, 0095 // +0065 │ │ -02bf4c: 5470 b003 |0032: iget-object v0, v7, Lutil/http/HttpHeader;.url:Ljava/lang/String; // field@03b0 │ │ -02bf50: 1a01 8400 |0034: const-string v1, "://" // string@0084 │ │ -02bf54: 6e20 9005 1000 |0036: invoke-virtual {v0, v1}, Ljava/lang/String;.indexOf:(Ljava/lang/String;)I // method@0590 │ │ -02bf5a: 0a00 |0039: move-result v0 │ │ -02bf5c: 3220 5f00 |003a: if-eq v0, v2, 0099 // +005f │ │ -02bf60: 5471 b003 |003c: iget-object v1, v7, Lutil/http/HttpHeader;.url:Ljava/lang/String; // field@03b0 │ │ -02bf64: 6e30 9b05 4100 |003e: invoke-virtual {v1, v4, v0}, Ljava/lang/String;.substring:(II)Ljava/lang/String; // method@059b │ │ -02bf6a: 0c01 |0041: move-result-object v1 │ │ -02bf6c: 6e10 9c05 0100 |0042: invoke-virtual {v1}, Ljava/lang/String;.toLowerCase:()Ljava/lang/String; // method@059c │ │ -02bf72: 0c01 |0045: move-result-object v1 │ │ -02bf74: 1a03 1308 |0046: const-string v3, "http" // string@0813 │ │ -02bf78: 6e20 8b05 3100 |0048: invoke-virtual {v1, v3}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058b │ │ -02bf7e: 0a03 |004b: move-result v3 │ │ -02bf80: 1236 |004c: const/4 v6, #int 3 // #3 │ │ -02bf82: 3803 0500 |004d: if-eqz v3, 0052 // +0005 │ │ -02bf86: 5975 a903 |004f: iput v5, v7, Lutil/http/HttpHeader;.protocoll:I // field@03a9 │ │ -02bf8a: 280f |0051: goto 0060 // +000f │ │ -02bf8c: 1a03 1908 |0052: const-string v3, "https" // string@0819 │ │ -02bf90: 6e20 8b05 3100 |0054: invoke-virtual {v1, v3}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058b │ │ -02bf96: 0a01 |0057: move-result v1 │ │ -02bf98: 3801 0600 |0058: if-eqz v1, 005e // +0006 │ │ -02bf9c: 1221 |005a: const/4 v1, #int 2 // #2 │ │ -02bf9e: 5971 a903 |005b: iput v1, v7, Lutil/http/HttpHeader;.protocoll:I // field@03a9 │ │ -02bfa2: 2803 |005d: goto 0060 // +0003 │ │ -02bfa4: 5976 a903 |005e: iput v6, v7, Lutil/http/HttpHeader;.protocoll:I // field@03a9 │ │ -02bfa8: 5471 b003 |0060: iget-object v1, v7, Lutil/http/HttpHeader;.url:Ljava/lang/String; // field@03b0 │ │ -02bfac: b060 |0062: add-int/2addr v0, v6 │ │ -02bfae: 6e20 9a05 0100 |0063: invoke-virtual {v1, v0}, Ljava/lang/String;.substring:(I)Ljava/lang/String; // method@059a │ │ -02bfb4: 0c00 |0066: move-result-object v0 │ │ -02bfb6: 5b70 b003 |0067: iput-object v0, v7, Lutil/http/HttpHeader;.url:Ljava/lang/String; // field@03b0 │ │ -02bfba: 1301 2f00 |0069: const/16 v1, #int 47 // #2f │ │ -02bfbe: 6e20 8f05 1000 |006b: invoke-virtual {v0, v1}, Ljava/lang/String;.indexOf:(I)I // method@058f │ │ -02bfc4: 0a00 |006e: move-result v0 │ │ -02bfc6: 3320 0800 |006f: if-ne v0, v2, 0077 // +0008 │ │ -02bfca: 5470 b003 |0071: iget-object v0, v7, Lutil/http/HttpHeader;.url:Ljava/lang/String; // field@03b0 │ │ -02bfce: 6e10 9405 0000 |0073: invoke-virtual {v0}, Ljava/lang/String;.length:()I // method@0594 │ │ -02bfd4: 0a00 |0076: move-result v0 │ │ -02bfd6: 5471 b003 |0077: iget-object v1, v7, Lutil/http/HttpHeader;.url:Ljava/lang/String; // field@03b0 │ │ -02bfda: 6e30 9b05 4100 |0079: invoke-virtual {v1, v4, v0}, Ljava/lang/String;.substring:(II)Ljava/lang/String; // method@059b │ │ -02bfe0: 0c01 |007c: move-result-object v1 │ │ -02bfe2: 5b71 a703 |007d: iput-object v1, v7, Lutil/http/HttpHeader;.hostEntry:Ljava/lang/String; // field@03a7 │ │ -02bfe6: 5471 b003 |007f: iget-object v1, v7, Lutil/http/HttpHeader;.url:Ljava/lang/String; // field@03b0 │ │ -02bfea: 6e10 9405 0100 |0081: invoke-virtual {v1}, Ljava/lang/String;.length:()I // method@0594 │ │ -02bff0: 0a01 |0084: move-result v1 │ │ -02bff2: 3310 0700 |0085: if-ne v0, v1, 008c // +0007 │ │ -02bff6: 1a00 6000 |0087: const-string v0, "/" // string@0060 │ │ -02bffa: 5b70 b003 |0089: iput-object v0, v7, Lutil/http/HttpHeader;.url:Ljava/lang/String; // field@03b0 │ │ -02bffe: 280e |008b: goto 0099 // +000e │ │ -02c000: 5471 b003 |008c: iget-object v1, v7, Lutil/http/HttpHeader;.url:Ljava/lang/String; // field@03b0 │ │ -02c004: 6e20 9a05 0100 |008e: invoke-virtual {v1, v0}, Ljava/lang/String;.substring:(I)Ljava/lang/String; // method@059a │ │ -02c00a: 0c00 |0091: move-result-object v0 │ │ -02c00c: 5b70 b003 |0092: iput-object v0, v7, Lutil/http/HttpHeader;.url:Ljava/lang/String; // field@03b0 │ │ -02c010: 2805 |0094: goto 0099 // +0005 │ │ -02c012: 5470 b003 |0095: iget-object v0, v7, Lutil/http/HttpHeader;.url:Ljava/lang/String; // field@03b0 │ │ -02c016: 5b70 a703 |0097: iput-object v0, v7, Lutil/http/HttpHeader;.hostEntry:Ljava/lang/String; // field@03a7 │ │ -02c01a: 5470 a703 |0099: iget-object v0, v7, Lutil/http/HttpHeader;.hostEntry:Ljava/lang/String; // field@03a7 │ │ -02c01e: 3800 0500 |009b: if-eqz v0, 00a0 // +0005 │ │ -02c022: 7010 fe07 0700 |009d: invoke-direct {v7}, Lutil/http/HttpHeader;.parseHostEntry:()V // method@07fe │ │ -02c028: 0e00 |00a0: return-void │ │ -02c02a: 2200 0001 |00a1: new-instance v0, Ljava/io/IOException; // type@0100 │ │ -02c02e: 2201 2d01 |00a3: new-instance v1, Ljava/lang/StringBuilder; // type@012d │ │ -02c032: 1a02 ce00 |00a5: const-string v2, "Bad request:" // string@00ce │ │ -02c036: 7020 a805 2100 |00a7: invoke-direct {v1, v2}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05a8 │ │ -02c03c: 5472 a403 |00aa: iget-object v2, v7, Lutil/http/HttpHeader;._first:Ljava/lang/String; // field@03a4 │ │ -02c040: 6e20 ad05 2100 |00ac: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -02c046: 6e10 af05 0100 |00af: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ -02c04c: 0c01 |00b2: move-result-object v1 │ │ -02c04e: 7020 1f05 1000 |00b3: invoke-direct {v0, v1}, Ljava/io/IOException;.:(Ljava/lang/String;)V // method@051f │ │ -02c054: 2700 |00b6: throw v0 │ │ +02bed4: |[02bed4] util.http.HttpHeader.parseURI:()V │ │ +02bee4: 5470 a403 |0000: iget-object v0, v7, Lutil/http/HttpHeader;._first:Ljava/lang/String; // field@03a4 │ │ +02bee8: 1301 2000 |0002: const/16 v1, #int 32 // #20 │ │ +02beec: 6e20 8f05 1000 |0004: invoke-virtual {v0, v1}, Ljava/lang/String;.indexOf:(I)I // method@058f │ │ +02bef2: 0a00 |0007: move-result v0 │ │ +02bef4: 5472 a403 |0008: iget-object v2, v7, Lutil/http/HttpHeader;._first:Ljava/lang/String; // field@03a4 │ │ +02bef8: 6e20 9205 1200 |000a: invoke-virtual {v2, v1}, Ljava/lang/String;.lastIndexOf:(I)I // method@0592 │ │ +02befe: 0a01 |000d: move-result v1 │ │ +02bf00: 12f2 |000e: const/4 v2, #int -1 // #ff │ │ +02bf02: 3220 9200 |000f: if-eq v0, v2, 00a1 // +0092 │ │ +02bf06: 3210 9000 |0011: if-eq v0, v1, 00a1 // +0090 │ │ +02bf0a: 5473 a403 |0013: iget-object v3, v7, Lutil/http/HttpHeader;._first:Ljava/lang/String; // field@03a4 │ │ +02bf0e: 1204 |0015: const/4 v4, #int 0 // #0 │ │ +02bf10: 6e30 9b05 4300 |0016: invoke-virtual {v3, v4, v0}, Ljava/lang/String;.substring:(II)Ljava/lang/String; // method@059b │ │ +02bf16: 0c03 |0019: move-result-object v3 │ │ +02bf18: 5b73 a803 |001a: iput-object v3, v7, Lutil/http/HttpHeader;.method:Ljava/lang/String; // field@03a8 │ │ +02bf1c: 5473 a403 |001c: iget-object v3, v7, Lutil/http/HttpHeader;._first:Ljava/lang/String; // field@03a4 │ │ +02bf20: 1215 |001e: const/4 v5, #int 1 // #1 │ │ +02bf22: b050 |001f: add-int/2addr v0, v5 │ │ +02bf24: 6e30 9b05 0301 |0020: invoke-virtual {v3, v0, v1}, Ljava/lang/String;.substring:(II)Ljava/lang/String; // method@059b │ │ +02bf2a: 0c00 |0023: move-result-object v0 │ │ +02bf2c: 5b70 b003 |0024: iput-object v0, v7, Lutil/http/HttpHeader;.url:Ljava/lang/String; // field@03b0 │ │ +02bf30: 5470 a803 |0026: iget-object v0, v7, Lutil/http/HttpHeader;.method:Ljava/lang/String; // field@03a8 │ │ +02bf34: 1a01 df00 |0028: const-string v1, "CONNECT" // string@00df │ │ +02bf38: 6e20 8c05 1000 |002a: invoke-virtual {v0, v1}, Ljava/lang/String;.equalsIgnoreCase:(Ljava/lang/String;)Z // method@058c │ │ +02bf3e: 0a00 |002d: move-result v0 │ │ +02bf40: 5c70 ae03 |002e: iput-boolean v0, v7, Lutil/http/HttpHeader;.tunnelMode:Z // field@03ae │ │ +02bf44: 3900 6500 |0030: if-nez v0, 0095 // +0065 │ │ +02bf48: 5470 b003 |0032: iget-object v0, v7, Lutil/http/HttpHeader;.url:Ljava/lang/String; // field@03b0 │ │ +02bf4c: 1a01 8400 |0034: const-string v1, "://" // string@0084 │ │ +02bf50: 6e20 9005 1000 |0036: invoke-virtual {v0, v1}, Ljava/lang/String;.indexOf:(Ljava/lang/String;)I // method@0590 │ │ +02bf56: 0a00 |0039: move-result v0 │ │ +02bf58: 3220 5f00 |003a: if-eq v0, v2, 0099 // +005f │ │ +02bf5c: 5471 b003 |003c: iget-object v1, v7, Lutil/http/HttpHeader;.url:Ljava/lang/String; // field@03b0 │ │ +02bf60: 6e30 9b05 4100 |003e: invoke-virtual {v1, v4, v0}, Ljava/lang/String;.substring:(II)Ljava/lang/String; // method@059b │ │ +02bf66: 0c01 |0041: move-result-object v1 │ │ +02bf68: 6e10 9c05 0100 |0042: invoke-virtual {v1}, Ljava/lang/String;.toLowerCase:()Ljava/lang/String; // method@059c │ │ +02bf6e: 0c01 |0045: move-result-object v1 │ │ +02bf70: 1a03 1308 |0046: const-string v3, "http" // string@0813 │ │ +02bf74: 6e20 8b05 3100 |0048: invoke-virtual {v1, v3}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058b │ │ +02bf7a: 0a03 |004b: move-result v3 │ │ +02bf7c: 1236 |004c: const/4 v6, #int 3 // #3 │ │ +02bf7e: 3803 0500 |004d: if-eqz v3, 0052 // +0005 │ │ +02bf82: 5975 a903 |004f: iput v5, v7, Lutil/http/HttpHeader;.protocoll:I // field@03a9 │ │ +02bf86: 280f |0051: goto 0060 // +000f │ │ +02bf88: 1a03 1908 |0052: const-string v3, "https" // string@0819 │ │ +02bf8c: 6e20 8b05 3100 |0054: invoke-virtual {v1, v3}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058b │ │ +02bf92: 0a01 |0057: move-result v1 │ │ +02bf94: 3801 0600 |0058: if-eqz v1, 005e // +0006 │ │ +02bf98: 1221 |005a: const/4 v1, #int 2 // #2 │ │ +02bf9a: 5971 a903 |005b: iput v1, v7, Lutil/http/HttpHeader;.protocoll:I // field@03a9 │ │ +02bf9e: 2803 |005d: goto 0060 // +0003 │ │ +02bfa0: 5976 a903 |005e: iput v6, v7, Lutil/http/HttpHeader;.protocoll:I // field@03a9 │ │ +02bfa4: 5471 b003 |0060: iget-object v1, v7, Lutil/http/HttpHeader;.url:Ljava/lang/String; // field@03b0 │ │ +02bfa8: b060 |0062: add-int/2addr v0, v6 │ │ +02bfaa: 6e20 9a05 0100 |0063: invoke-virtual {v1, v0}, Ljava/lang/String;.substring:(I)Ljava/lang/String; // method@059a │ │ +02bfb0: 0c00 |0066: move-result-object v0 │ │ +02bfb2: 5b70 b003 |0067: iput-object v0, v7, Lutil/http/HttpHeader;.url:Ljava/lang/String; // field@03b0 │ │ +02bfb6: 1301 2f00 |0069: const/16 v1, #int 47 // #2f │ │ +02bfba: 6e20 8f05 1000 |006b: invoke-virtual {v0, v1}, Ljava/lang/String;.indexOf:(I)I // method@058f │ │ +02bfc0: 0a00 |006e: move-result v0 │ │ +02bfc2: 3320 0800 |006f: if-ne v0, v2, 0077 // +0008 │ │ +02bfc6: 5470 b003 |0071: iget-object v0, v7, Lutil/http/HttpHeader;.url:Ljava/lang/String; // field@03b0 │ │ +02bfca: 6e10 9405 0000 |0073: invoke-virtual {v0}, Ljava/lang/String;.length:()I // method@0594 │ │ +02bfd0: 0a00 |0076: move-result v0 │ │ +02bfd2: 5471 b003 |0077: iget-object v1, v7, Lutil/http/HttpHeader;.url:Ljava/lang/String; // field@03b0 │ │ +02bfd6: 6e30 9b05 4100 |0079: invoke-virtual {v1, v4, v0}, Ljava/lang/String;.substring:(II)Ljava/lang/String; // method@059b │ │ +02bfdc: 0c01 |007c: move-result-object v1 │ │ +02bfde: 5b71 a703 |007d: iput-object v1, v7, Lutil/http/HttpHeader;.hostEntry:Ljava/lang/String; // field@03a7 │ │ +02bfe2: 5471 b003 |007f: iget-object v1, v7, Lutil/http/HttpHeader;.url:Ljava/lang/String; // field@03b0 │ │ +02bfe6: 6e10 9405 0100 |0081: invoke-virtual {v1}, Ljava/lang/String;.length:()I // method@0594 │ │ +02bfec: 0a01 |0084: move-result v1 │ │ +02bfee: 3310 0700 |0085: if-ne v0, v1, 008c // +0007 │ │ +02bff2: 1a00 6000 |0087: const-string v0, "/" // string@0060 │ │ +02bff6: 5b70 b003 |0089: iput-object v0, v7, Lutil/http/HttpHeader;.url:Ljava/lang/String; // field@03b0 │ │ +02bffa: 280e |008b: goto 0099 // +000e │ │ +02bffc: 5471 b003 |008c: iget-object v1, v7, Lutil/http/HttpHeader;.url:Ljava/lang/String; // field@03b0 │ │ +02c000: 6e20 9a05 0100 |008e: invoke-virtual {v1, v0}, Ljava/lang/String;.substring:(I)Ljava/lang/String; // method@059a │ │ +02c006: 0c00 |0091: move-result-object v0 │ │ +02c008: 5b70 b003 |0092: iput-object v0, v7, Lutil/http/HttpHeader;.url:Ljava/lang/String; // field@03b0 │ │ +02c00c: 2805 |0094: goto 0099 // +0005 │ │ +02c00e: 5470 b003 |0095: iget-object v0, v7, Lutil/http/HttpHeader;.url:Ljava/lang/String; // field@03b0 │ │ +02c012: 5b70 a703 |0097: iput-object v0, v7, Lutil/http/HttpHeader;.hostEntry:Ljava/lang/String; // field@03a7 │ │ +02c016: 5470 a703 |0099: iget-object v0, v7, Lutil/http/HttpHeader;.hostEntry:Ljava/lang/String; // field@03a7 │ │ +02c01a: 3800 0500 |009b: if-eqz v0, 00a0 // +0005 │ │ +02c01e: 7010 fe07 0700 |009d: invoke-direct {v7}, Lutil/http/HttpHeader;.parseHostEntry:()V // method@07fe │ │ +02c024: 0e00 |00a0: return-void │ │ +02c026: 2200 0001 |00a1: new-instance v0, Ljava/io/IOException; // type@0100 │ │ +02c02a: 2201 2d01 |00a3: new-instance v1, Ljava/lang/StringBuilder; // type@012d │ │ +02c02e: 1a02 ce00 |00a5: const-string v2, "Bad request:" // string@00ce │ │ +02c032: 7020 a805 2100 |00a7: invoke-direct {v1, v2}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05a8 │ │ +02c038: 5472 a403 |00aa: iget-object v2, v7, Lutil/http/HttpHeader;._first:Ljava/lang/String; // field@03a4 │ │ +02c03c: 6e20 ad05 2100 |00ac: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +02c042: 6e10 af05 0100 |00af: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ +02c048: 0c01 |00b2: move-result-object v1 │ │ +02c04a: 7020 1f05 1000 |00b3: invoke-direct {v0, v1}, Ljava/io/IOException;.:(Ljava/lang/String;)V // method@051f │ │ +02c050: 2700 |00b6: throw v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=322 │ │ 0x0008 line=323 │ │ 0x0013 line=327 │ │ 0x001c line=328 │ │ 0x0026 line=329 │ │ @@ -34856,37 +34856,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 │ │ -02bd5c: |[02bd5c] util.http.HttpHeader.appendValueToHeaderString:(Ljava/lang/StringBuffer;Ljava/lang/String;Ljava/lang/String;)V │ │ -02bd6c: 1a00 1105 |0000: const-string v0, "_,_" // string@0511 │ │ -02bd70: 6e20 9705 0600 |0002: invoke-virtual {v6, v0}, Ljava/lang/String;.split:(Ljava/lang/String;)[Ljava/lang/String; // method@0597 │ │ -02bd76: 0c06 |0005: move-result-object v6 │ │ -02bd78: 1200 |0006: const/4 v0, #int 0 // #0 │ │ -02bd7a: 2161 |0007: array-length v1, v6 │ │ -02bd7c: 3510 2300 |0008: if-ge v0, v1, 002b // +0023 │ │ -02bd80: 2201 2d01 |000a: new-instance v1, Ljava/lang/StringBuilder; // type@012d │ │ -02bd84: 7010 a705 0100 |000c: invoke-direct {v1}, Ljava/lang/StringBuilder;.:()V // method@05a7 │ │ -02bd8a: 6e20 ad05 5100 |000f: invoke-virtual {v1, v5}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -02bd90: 1a02 8300 |0012: const-string v2, ": " // string@0083 │ │ -02bd94: 6e20 ad05 2100 |0014: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -02bd9a: 4602 0600 |0017: aget-object v2, v6, v0 │ │ -02bd9e: 6e20 ad05 2100 |0019: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -02bda4: 1a02 0900 |001c: const-string v2, " │ │ +02bd58: |[02bd58] util.http.HttpHeader.appendValueToHeaderString:(Ljava/lang/StringBuffer;Ljava/lang/String;Ljava/lang/String;)V │ │ +02bd68: 1a00 1105 |0000: const-string v0, "_,_" // string@0511 │ │ +02bd6c: 6e20 9705 0600 |0002: invoke-virtual {v6, v0}, Ljava/lang/String;.split:(Ljava/lang/String;)[Ljava/lang/String; // method@0597 │ │ +02bd72: 0c06 |0005: move-result-object v6 │ │ +02bd74: 1200 |0006: const/4 v0, #int 0 // #0 │ │ +02bd76: 2161 |0007: array-length v1, v6 │ │ +02bd78: 3510 2300 |0008: if-ge v0, v1, 002b // +0023 │ │ +02bd7c: 2201 2d01 |000a: new-instance v1, Ljava/lang/StringBuilder; // type@012d │ │ +02bd80: 7010 a705 0100 |000c: invoke-direct {v1}, Ljava/lang/StringBuilder;.:()V // method@05a7 │ │ +02bd86: 6e20 ad05 5100 |000f: invoke-virtual {v1, v5}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +02bd8c: 1a02 8300 |0012: const-string v2, ": " // string@0083 │ │ +02bd90: 6e20 ad05 2100 |0014: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +02bd96: 4602 0600 |0017: aget-object v2, v6, v0 │ │ +02bd9a: 6e20 ad05 2100 |0019: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +02bda0: 1a02 0900 |001c: const-string v2, " │ │ " // string@0009 │ │ -02bda8: 6e20 ad05 2100 |001e: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -02bdae: 6e10 af05 0100 |0021: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ -02bdb4: 0c01 |0024: move-result-object v1 │ │ -02bdb6: 6e20 a405 1400 |0025: invoke-virtual {v4, v1}, Ljava/lang/StringBuffer;.append:(Ljava/lang/String;)Ljava/lang/StringBuffer; // method@05a4 │ │ -02bdbc: d800 0001 |0028: add-int/lit8 v0, v0, #int 1 // #01 │ │ -02bdc0: 28dd |002a: goto 0007 // -0023 │ │ -02bdc2: 0e00 |002b: return-void │ │ +02bda4: 6e20 ad05 2100 |001e: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +02bdaa: 6e10 af05 0100 |0021: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ +02bdb0: 0c01 |0024: move-result-object v1 │ │ +02bdb2: 6e20 a405 1400 |0025: invoke-virtual {v4, v1}, Ljava/lang/StringBuffer;.append:(Ljava/lang/String;)Ljava/lang/StringBuffer; // method@05a4 │ │ +02bdb8: d800 0001 |0028: add-int/lit8 v0, v0, #int 1 // #01 │ │ +02bdbc: 28dd |002a: goto 0007 // -0023 │ │ +02bdbe: 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; │ │ @@ -34899,27 +34899,27 @@ │ │ type : '()Z' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 3 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 20 16-bit code units │ │ -02b204: |[02b204] util.http.HttpHeader.chunkedTransfer:()Z │ │ -02b214: 1a00 7e04 |0000: const-string v0, "Transfer-Encoding" // string@047e │ │ -02b218: 6e20 fd07 0200 |0002: invoke-virtual {v2, v0}, Lutil/http/HttpHeader;.getValue:(Ljava/lang/String;)Ljava/lang/String; // method@07fd │ │ -02b21e: 0c00 |0005: move-result-object v0 │ │ -02b220: 3800 0c00 |0006: if-eqz v0, 0012 // +000c │ │ -02b224: 0701 |0008: move-object v1, v0 │ │ -02b226: 1f01 2b01 |0009: check-cast v1, Ljava/lang/String; // type@012b │ │ -02b22a: 1a01 d205 |000b: const-string v1, "chunked" // string@05d2 │ │ -02b22e: 6e20 8c05 1000 |000d: invoke-virtual {v0, v1}, Ljava/lang/String;.equalsIgnoreCase:(Ljava/lang/String;)Z // method@058c │ │ -02b234: 0a00 |0010: move-result v0 │ │ -02b236: 0f00 |0011: return v0 │ │ -02b238: 1200 |0012: const/4 v0, #int 0 // #0 │ │ -02b23a: 0f00 |0013: return v0 │ │ +02b200: |[02b200] util.http.HttpHeader.chunkedTransfer:()Z │ │ +02b210: 1a00 7e04 |0000: const-string v0, "Transfer-Encoding" // string@047e │ │ +02b214: 6e20 fd07 0200 |0002: invoke-virtual {v2, v0}, Lutil/http/HttpHeader;.getValue:(Ljava/lang/String;)Ljava/lang/String; // method@07fd │ │ +02b21a: 0c00 |0005: move-result-object v0 │ │ +02b21c: 3800 0c00 |0006: if-eqz v0, 0012 // +000c │ │ +02b220: 0701 |0008: move-object v1, v0 │ │ +02b222: 1f01 2b01 |0009: check-cast v1, Ljava/lang/String; // type@012b │ │ +02b226: 1a01 d205 |000b: const-string v1, "chunked" // string@05d2 │ │ +02b22a: 6e20 8c05 1000 |000d: invoke-virtual {v0, v1}, Ljava/lang/String;.equalsIgnoreCase:(Ljava/lang/String;)Z // method@058c │ │ +02b230: 0a00 |0010: move-result v0 │ │ +02b232: 0f00 |0011: return v0 │ │ +02b234: 1200 |0012: const/4 v0, #int 0 // #0 │ │ +02b236: 0f00 |0013: return v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=299 │ │ 0x0008 line=301 │ │ locals : │ │ 0x0000 - 0x0014 reg=2 this Lutil/http/HttpHeader; │ │ │ │ @@ -34928,18 +34928,18 @@ │ │ type : '()Ljava/lang/Object;' │ │ access : 0x1041 (PUBLIC BRIDGE SYNTHETIC) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 5 16-bit code units │ │ -02b2c8: |[02b2c8] util.http.HttpHeader.clone:()Ljava/lang/Object; │ │ -02b2d8: 6e10 f507 0100 |0000: invoke-virtual {v1}, Lutil/http/HttpHeader;.clone:()Lutil/http/HttpHeader; // method@07f5 │ │ -02b2de: 0c00 |0003: move-result-object v0 │ │ -02b2e0: 1100 |0004: return-object v0 │ │ +02b2c4: |[02b2c4] util.http.HttpHeader.clone:()Ljava/lang/Object; │ │ +02b2d4: 6e10 f507 0100 |0000: invoke-virtual {v1}, Lutil/http/HttpHeader;.clone:()Lutil/http/HttpHeader; // method@07f5 │ │ +02b2da: 0c00 |0003: move-result-object v0 │ │ +02b2dc: 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;) │ │ @@ -34947,46 +34947,46 @@ │ │ type : '()Lutil/http/HttpHeader;' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 3 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 62 16-bit code units │ │ -02b698: |[02b698] util.http.HttpHeader.clone:()Lutil/http/HttpHeader; │ │ -02b6a8: 2200 9901 |0000: new-instance v0, Lutil/http/HttpHeader; // type@0199 │ │ -02b6ac: 7010 ee07 0000 |0002: invoke-direct {v0}, Lutil/http/HttpHeader;.:()V // method@07ee │ │ -02b6b2: 5421 aa03 |0005: iget-object v1, v2, Lutil/http/HttpHeader;.remote_host_name:Ljava/lang/String; // field@03aa │ │ -02b6b6: 5b01 aa03 |0007: iput-object v1, v0, Lutil/http/HttpHeader;.remote_host_name:Ljava/lang/String; // field@03aa │ │ -02b6ba: 5421 a703 |0009: iget-object v1, v2, Lutil/http/HttpHeader;.hostEntry:Ljava/lang/String; // field@03a7 │ │ -02b6be: 5b01 a703 |000b: iput-object v1, v0, Lutil/http/HttpHeader;.hostEntry:Ljava/lang/String; // field@03a7 │ │ -02b6c2: 5421 b003 |000d: iget-object v1, v2, Lutil/http/HttpHeader;.url:Ljava/lang/String; // field@03b0 │ │ -02b6c6: 5b01 b003 |000f: iput-object v1, v0, Lutil/http/HttpHeader;.url:Ljava/lang/String; // field@03b0 │ │ -02b6ca: 5421 a803 |0011: iget-object v1, v2, Lutil/http/HttpHeader;.method:Ljava/lang/String; // field@03a8 │ │ -02b6ce: 5b01 a803 |0013: iput-object v1, v0, Lutil/http/HttpHeader;.method:Ljava/lang/String; // field@03a8 │ │ -02b6d2: 5221 ab03 |0015: iget v1, v2, Lutil/http/HttpHeader;.remote_port:I // field@03ab │ │ -02b6d6: 5901 ab03 |0017: iput v1, v0, Lutil/http/HttpHeader;.remote_port:I // field@03ab │ │ -02b6da: 5521 ae03 |0019: iget-boolean v1, v2, Lutil/http/HttpHeader;.tunnelMode:Z // field@03ae │ │ -02b6de: 5c01 ae03 |001b: iput-boolean v1, v0, Lutil/http/HttpHeader;.tunnelMode:Z // field@03ae │ │ -02b6e2: 5221 ad03 |001d: iget v1, v2, Lutil/http/HttpHeader;.responsecode:I // field@03ad │ │ -02b6e6: 5901 ad03 |001f: iput v1, v0, Lutil/http/HttpHeader;.responsecode:I // field@03ad │ │ -02b6ea: 5421 a403 |0021: iget-object v1, v2, Lutil/http/HttpHeader;._first:Ljava/lang/String; // field@03a4 │ │ -02b6ee: 5b01 a403 |0023: iput-object v1, v0, Lutil/http/HttpHeader;._first:Ljava/lang/String; // field@03a4 │ │ -02b6f2: 5421 a503 |0025: iget-object v1, v2, Lutil/http/HttpHeader;._keys:Ljava/util/Vector; // field@03a5 │ │ -02b6f6: 6e10 7a06 0100 |0027: invoke-virtual {v1}, Ljava/util/Vector;.clone:()Ljava/lang/Object; // method@067a │ │ -02b6fc: 0c01 |002a: move-result-object v1 │ │ -02b6fe: 1f01 6a01 |002b: check-cast v1, Ljava/util/Vector; // type@016a │ │ -02b702: 5b01 a503 |002d: iput-object v1, v0, Lutil/http/HttpHeader;._keys:Ljava/util/Vector; // field@03a5 │ │ -02b706: 5421 a603 |002f: iget-object v1, v2, Lutil/http/HttpHeader;._mapping:Ljava/util/HashMap; // field@03a6 │ │ -02b70a: 6e10 2606 0100 |0031: invoke-virtual {v1}, Ljava/util/HashMap;.clone:()Ljava/lang/Object; // method@0626 │ │ -02b710: 0c01 |0034: move-result-object v1 │ │ -02b712: 1f01 5801 |0035: check-cast v1, Ljava/util/HashMap; // type@0158 │ │ -02b716: 5b01 a603 |0037: iput-object v1, v0, Lutil/http/HttpHeader;._mapping:Ljava/util/HashMap; // field@03a6 │ │ -02b71a: 5221 af03 |0039: iget v1, v2, Lutil/http/HttpHeader;.type:I // field@03af │ │ -02b71e: 5901 af03 |003b: iput v1, v0, Lutil/http/HttpHeader;.type:I // field@03af │ │ -02b722: 1100 |003d: return-object v0 │ │ +02b694: |[02b694] util.http.HttpHeader.clone:()Lutil/http/HttpHeader; │ │ +02b6a4: 2200 9901 |0000: new-instance v0, Lutil/http/HttpHeader; // type@0199 │ │ +02b6a8: 7010 ee07 0000 |0002: invoke-direct {v0}, Lutil/http/HttpHeader;.:()V // method@07ee │ │ +02b6ae: 5421 aa03 |0005: iget-object v1, v2, Lutil/http/HttpHeader;.remote_host_name:Ljava/lang/String; // field@03aa │ │ +02b6b2: 5b01 aa03 |0007: iput-object v1, v0, Lutil/http/HttpHeader;.remote_host_name:Ljava/lang/String; // field@03aa │ │ +02b6b6: 5421 a703 |0009: iget-object v1, v2, Lutil/http/HttpHeader;.hostEntry:Ljava/lang/String; // field@03a7 │ │ +02b6ba: 5b01 a703 |000b: iput-object v1, v0, Lutil/http/HttpHeader;.hostEntry:Ljava/lang/String; // field@03a7 │ │ +02b6be: 5421 b003 |000d: iget-object v1, v2, Lutil/http/HttpHeader;.url:Ljava/lang/String; // field@03b0 │ │ +02b6c2: 5b01 b003 |000f: iput-object v1, v0, Lutil/http/HttpHeader;.url:Ljava/lang/String; // field@03b0 │ │ +02b6c6: 5421 a803 |0011: iget-object v1, v2, Lutil/http/HttpHeader;.method:Ljava/lang/String; // field@03a8 │ │ +02b6ca: 5b01 a803 |0013: iput-object v1, v0, Lutil/http/HttpHeader;.method:Ljava/lang/String; // field@03a8 │ │ +02b6ce: 5221 ab03 |0015: iget v1, v2, Lutil/http/HttpHeader;.remote_port:I // field@03ab │ │ +02b6d2: 5901 ab03 |0017: iput v1, v0, Lutil/http/HttpHeader;.remote_port:I // field@03ab │ │ +02b6d6: 5521 ae03 |0019: iget-boolean v1, v2, Lutil/http/HttpHeader;.tunnelMode:Z // field@03ae │ │ +02b6da: 5c01 ae03 |001b: iput-boolean v1, v0, Lutil/http/HttpHeader;.tunnelMode:Z // field@03ae │ │ +02b6de: 5221 ad03 |001d: iget v1, v2, Lutil/http/HttpHeader;.responsecode:I // field@03ad │ │ +02b6e2: 5901 ad03 |001f: iput v1, v0, Lutil/http/HttpHeader;.responsecode:I // field@03ad │ │ +02b6e6: 5421 a403 |0021: iget-object v1, v2, Lutil/http/HttpHeader;._first:Ljava/lang/String; // field@03a4 │ │ +02b6ea: 5b01 a403 |0023: iput-object v1, v0, Lutil/http/HttpHeader;._first:Ljava/lang/String; // field@03a4 │ │ +02b6ee: 5421 a503 |0025: iget-object v1, v2, Lutil/http/HttpHeader;._keys:Ljava/util/Vector; // field@03a5 │ │ +02b6f2: 6e10 7a06 0100 |0027: invoke-virtual {v1}, Ljava/util/Vector;.clone:()Ljava/lang/Object; // method@067a │ │ +02b6f8: 0c01 |002a: move-result-object v1 │ │ +02b6fa: 1f01 6a01 |002b: check-cast v1, Ljava/util/Vector; // type@016a │ │ +02b6fe: 5b01 a503 |002d: iput-object v1, v0, Lutil/http/HttpHeader;._keys:Ljava/util/Vector; // field@03a5 │ │ +02b702: 5421 a603 |002f: iget-object v1, v2, Lutil/http/HttpHeader;._mapping:Ljava/util/HashMap; // field@03a6 │ │ +02b706: 6e10 2606 0100 |0031: invoke-virtual {v1}, Ljava/util/HashMap;.clone:()Ljava/lang/Object; // method@0626 │ │ +02b70c: 0c01 |0034: move-result-object v1 │ │ +02b70e: 1f01 5801 |0035: check-cast v1, Ljava/util/HashMap; // type@0158 │ │ +02b712: 5b01 a603 |0037: iput-object v1, v0, Lutil/http/HttpHeader;._mapping:Ljava/util/HashMap; // field@03a6 │ │ +02b716: 5221 af03 |0039: iget v1, v2, Lutil/http/HttpHeader;.type:I // field@03af │ │ +02b71a: 5901 af03 |003b: iput v1, v0, Lutil/http/HttpHeader;.type:I // field@03af │ │ +02b71e: 1100 |003d: return-object v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=160 │ │ 0x0005 line=162 │ │ 0x0009 line=163 │ │ 0x000d line=164 │ │ 0x0011 line=165 │ │ @@ -35005,28 +35005,28 @@ │ │ type : '()Z' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 4 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 21 16-bit code units │ │ -02b23c: |[02b23c] util.http.HttpHeader.getConnectionClose:()Z │ │ -02b24c: 1a00 0d01 |0000: const-string v0, "Connection" // string@010d │ │ -02b250: 6e20 fd07 0300 |0002: invoke-virtual {v3, v0}, Lutil/http/HttpHeader;.getValue:(Ljava/lang/String;)Ljava/lang/String; // method@07fd │ │ -02b256: 0c00 |0005: move-result-object v0 │ │ -02b258: 1211 |0006: const/4 v1, #int 1 // #1 │ │ -02b25a: 3900 0300 |0007: if-nez v0, 000a // +0003 │ │ -02b25e: 0f01 |0009: return v1 │ │ -02b260: 1a02 e205 |000a: const-string v2, "close" // string@05e2 │ │ -02b264: 6e20 8c05 2000 |000c: invoke-virtual {v0, v2}, Ljava/lang/String;.equalsIgnoreCase:(Ljava/lang/String;)Z // method@058c │ │ -02b26a: 0a00 |000f: move-result v0 │ │ -02b26c: 3800 0300 |0010: if-eqz v0, 0013 // +0003 │ │ -02b270: 0f01 |0012: return v1 │ │ -02b272: 1200 |0013: const/4 v0, #int 0 // #0 │ │ -02b274: 0f00 |0014: return v0 │ │ +02b238: |[02b238] util.http.HttpHeader.getConnectionClose:()Z │ │ +02b248: 1a00 0d01 |0000: const-string v0, "Connection" // string@010d │ │ +02b24c: 6e20 fd07 0300 |0002: invoke-virtual {v3, v0}, Lutil/http/HttpHeader;.getValue:(Ljava/lang/String;)Ljava/lang/String; // method@07fd │ │ +02b252: 0c00 |0005: move-result-object v0 │ │ +02b254: 1211 |0006: const/4 v1, #int 1 // #1 │ │ +02b256: 3900 0300 |0007: if-nez v0, 000a // +0003 │ │ +02b25a: 0f01 |0009: return v1 │ │ +02b25c: 1a02 e205 |000a: const-string v2, "close" // string@05e2 │ │ +02b260: 6e20 8c05 2000 |000c: invoke-virtual {v0, v2}, Ljava/lang/String;.equalsIgnoreCase:(Ljava/lang/String;)Z // method@058c │ │ +02b266: 0a00 |000f: move-result v0 │ │ +02b268: 3800 0300 |0010: if-eqz v0, 0013 // +0003 │ │ +02b26c: 0f01 |0012: return v1 │ │ +02b26e: 1200 |0013: const/4 v0, #int 0 // #0 │ │ +02b270: 0f00 |0014: return v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=288 │ │ 0x000a line=291 │ │ locals : │ │ 0x0000 - 0x0015 reg=3 this Lutil/http/HttpHeader; │ │ │ │ @@ -35035,32 +35035,32 @@ │ │ type : '()J' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 3 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 30 16-bit code units │ │ -02b64c: |[02b64c] util.http.HttpHeader.getContentLength:()J │ │ -02b65c: 5220 ad03 |0000: iget v0, v2, Lutil/http/HttpHeader;.responsecode:I // field@03ad │ │ -02b660: 1301 3001 |0002: const/16 v1, #int 304 // #130 │ │ -02b664: 3210 1700 |0004: if-eq v0, v1, 001b // +0017 │ │ -02b668: 1301 cc00 |0006: const/16 v1, #int 204 // #cc │ │ -02b66c: 3310 0300 |0008: if-ne v0, v1, 000b // +0003 │ │ -02b670: 2811 |000a: goto 001b // +0011 │ │ -02b672: 1a00 1201 |000b: const-string v0, "Content-Length" // string@0112 │ │ -02b676: 6e20 fd07 0200 |000d: invoke-virtual {v2, v0}, Lutil/http/HttpHeader;.getValue:(Ljava/lang/String;)Ljava/lang/String; // method@07fd │ │ -02b67c: 0c00 |0010: move-result-object v0 │ │ -02b67e: 3800 0700 |0011: if-eqz v0, 0018 // +0007 │ │ -02b682: 7110 6b05 0000 |0013: invoke-static {v0}, Ljava/lang/Long;.parseLong:(Ljava/lang/String;)J // method@056b │ │ -02b688: 0b00 |0016: move-result-wide v0 │ │ -02b68a: 1000 |0017: return-wide v0 │ │ -02b68c: 1600 ffff |0018: const-wide/16 v0, #int -1 // #ffff │ │ -02b690: 1000 |001a: return-wide v0 │ │ -02b692: 1600 0000 |001b: const-wide/16 v0, #int 0 // #0 │ │ -02b696: 1000 |001d: return-wide v0 │ │ +02b648: |[02b648] util.http.HttpHeader.getContentLength:()J │ │ +02b658: 5220 ad03 |0000: iget v0, v2, Lutil/http/HttpHeader;.responsecode:I // field@03ad │ │ +02b65c: 1301 3001 |0002: const/16 v1, #int 304 // #130 │ │ +02b660: 3210 1700 |0004: if-eq v0, v1, 001b // +0017 │ │ +02b664: 1301 cc00 |0006: const/16 v1, #int 204 // #cc │ │ +02b668: 3310 0300 |0008: if-ne v0, v1, 000b // +0003 │ │ +02b66c: 2811 |000a: goto 001b // +0011 │ │ +02b66e: 1a00 1201 |000b: const-string v0, "Content-Length" // string@0112 │ │ +02b672: 6e20 fd07 0200 |000d: invoke-virtual {v2, v0}, Lutil/http/HttpHeader;.getValue:(Ljava/lang/String;)Ljava/lang/String; // method@07fd │ │ +02b678: 0c00 |0010: move-result-object v0 │ │ +02b67a: 3800 0700 |0011: if-eqz v0, 0018 // +0007 │ │ +02b67e: 7110 6b05 0000 |0013: invoke-static {v0}, Ljava/lang/Long;.parseLong:(Ljava/lang/String;)J // method@056b │ │ +02b684: 0b00 |0016: move-result-wide v0 │ │ +02b686: 1000 |0017: return-wide v0 │ │ +02b688: 1600 ffff |0018: const-wide/16 v0, #int -1 // #ffff │ │ +02b68c: 1000 |001a: return-wide v0 │ │ +02b68e: 1600 0000 |001b: const-wide/16 v0, #int 0 // #0 │ │ +02b692: 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; │ │ @@ -35070,47 +35070,47 @@ │ │ type : '()Ljava/lang/String;' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 7 │ │ ins : 1 │ │ outs : 4 │ │ insns size : 66 16-bit code units │ │ -02b2e4: |[02b2e4] util.http.HttpHeader.getHeaderString:()Ljava/lang/String; │ │ -02b2f4: 2200 2c01 |0000: new-instance v0, Ljava/lang/StringBuffer; // type@012c │ │ -02b2f8: 2201 2d01 |0002: new-instance v1, Ljava/lang/StringBuilder; // type@012d │ │ -02b2fc: 7010 a705 0100 |0004: invoke-direct {v1}, Ljava/lang/StringBuilder;.:()V // method@05a7 │ │ -02b302: 5462 a403 |0007: iget-object v2, v6, Lutil/http/HttpHeader;._first:Ljava/lang/String; // field@03a4 │ │ -02b306: 6e20 ad05 2100 |0009: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -02b30c: 1a02 0900 |000c: const-string v2, " │ │ +02b2e0: |[02b2e0] util.http.HttpHeader.getHeaderString:()Ljava/lang/String; │ │ +02b2f0: 2200 2c01 |0000: new-instance v0, Ljava/lang/StringBuffer; // type@012c │ │ +02b2f4: 2201 2d01 |0002: new-instance v1, Ljava/lang/StringBuilder; // type@012d │ │ +02b2f8: 7010 a705 0100 |0004: invoke-direct {v1}, Ljava/lang/StringBuilder;.:()V // method@05a7 │ │ +02b2fe: 5462 a403 |0007: iget-object v2, v6, Lutil/http/HttpHeader;._first:Ljava/lang/String; // field@03a4 │ │ +02b302: 6e20 ad05 2100 |0009: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +02b308: 1a02 0900 |000c: const-string v2, " │ │ " // string@0009 │ │ -02b310: 6e20 ad05 2100 |000e: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -02b316: 6e10 af05 0100 |0011: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ -02b31c: 0c01 |0014: move-result-object v1 │ │ -02b31e: 7020 a205 1000 |0015: invoke-direct {v0, v1}, Ljava/lang/StringBuffer;.:(Ljava/lang/String;)V // method@05a2 │ │ -02b324: 5461 a503 |0018: iget-object v1, v6, Lutil/http/HttpHeader;._keys:Ljava/util/Vector; // field@03a5 │ │ -02b328: 6e10 7e06 0100 |001a: invoke-virtual {v1}, Ljava/util/Vector;.iterator:()Ljava/util/Iterator; // method@067e │ │ -02b32e: 0c01 |001d: move-result-object v1 │ │ -02b330: 7210 3a06 0100 |001e: invoke-interface {v1}, Ljava/util/Iterator;.hasNext:()Z // method@063a │ │ -02b336: 0a03 |0021: move-result v3 │ │ -02b338: 3803 1800 |0022: if-eqz v3, 003a // +0018 │ │ -02b33c: 7210 3b06 0100 |0024: invoke-interface {v1}, Ljava/util/Iterator;.next:()Ljava/lang/Object; // method@063b │ │ -02b342: 0c03 |0027: move-result-object v3 │ │ -02b344: 1f03 2b01 |0028: check-cast v3, Ljava/lang/String; // type@012b │ │ -02b348: 5464 a603 |002a: iget-object v4, v6, Lutil/http/HttpHeader;._mapping:Ljava/util/HashMap; // field@03a6 │ │ -02b34c: 6e10 9e05 0300 |002c: invoke-virtual {v3}, Ljava/lang/String;.toUpperCase:()Ljava/lang/String; // method@059e │ │ -02b352: 0c05 |002f: move-result-object v5 │ │ -02b354: 6e20 2806 5400 |0030: invoke-virtual {v4, v5}, Ljava/util/HashMap;.get:(Ljava/lang/Object;)Ljava/lang/Object; // method@0628 │ │ -02b35a: 0c04 |0033: move-result-object v4 │ │ -02b35c: 1f04 2b01 |0034: check-cast v4, Ljava/lang/String; // type@012b │ │ -02b360: 6e40 f207 0643 |0036: invoke-virtual {v6, v0, v3, v4}, Lutil/http/HttpHeader;.appendValueToHeaderString:(Ljava/lang/StringBuffer;Ljava/lang/String;Ljava/lang/String;)V // method@07f2 │ │ -02b366: 28e5 |0039: goto 001e // -001b │ │ -02b368: 6e20 a405 2000 |003a: invoke-virtual {v0, v2}, Ljava/lang/StringBuffer;.append:(Ljava/lang/String;)Ljava/lang/StringBuffer; // method@05a4 │ │ -02b36e: 6e10 a605 0000 |003d: invoke-virtual {v0}, Ljava/lang/StringBuffer;.toString:()Ljava/lang/String; // method@05a6 │ │ -02b374: 0c00 |0040: move-result-object v0 │ │ -02b376: 1100 |0041: return-object v0 │ │ +02b30c: 6e20 ad05 2100 |000e: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +02b312: 6e10 af05 0100 |0011: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ +02b318: 0c01 |0014: move-result-object v1 │ │ +02b31a: 7020 a205 1000 |0015: invoke-direct {v0, v1}, Ljava/lang/StringBuffer;.:(Ljava/lang/String;)V // method@05a2 │ │ +02b320: 5461 a503 |0018: iget-object v1, v6, Lutil/http/HttpHeader;._keys:Ljava/util/Vector; // field@03a5 │ │ +02b324: 6e10 7e06 0100 |001a: invoke-virtual {v1}, Ljava/util/Vector;.iterator:()Ljava/util/Iterator; // method@067e │ │ +02b32a: 0c01 |001d: move-result-object v1 │ │ +02b32c: 7210 3a06 0100 |001e: invoke-interface {v1}, Ljava/util/Iterator;.hasNext:()Z // method@063a │ │ +02b332: 0a03 |0021: move-result v3 │ │ +02b334: 3803 1800 |0022: if-eqz v3, 003a // +0018 │ │ +02b338: 7210 3b06 0100 |0024: invoke-interface {v1}, Ljava/util/Iterator;.next:()Ljava/lang/Object; // method@063b │ │ +02b33e: 0c03 |0027: move-result-object v3 │ │ +02b340: 1f03 2b01 |0028: check-cast v3, Ljava/lang/String; // type@012b │ │ +02b344: 5464 a603 |002a: iget-object v4, v6, Lutil/http/HttpHeader;._mapping:Ljava/util/HashMap; // field@03a6 │ │ +02b348: 6e10 9e05 0300 |002c: invoke-virtual {v3}, Ljava/lang/String;.toUpperCase:()Ljava/lang/String; // method@059e │ │ +02b34e: 0c05 |002f: move-result-object v5 │ │ +02b350: 6e20 2806 5400 |0030: invoke-virtual {v4, v5}, Ljava/util/HashMap;.get:(Ljava/lang/Object;)Ljava/lang/Object; // method@0628 │ │ +02b356: 0c04 |0033: move-result-object v4 │ │ +02b358: 1f04 2b01 |0034: check-cast v4, Ljava/lang/String; // type@012b │ │ +02b35c: 6e40 f207 0643 |0036: invoke-virtual {v6, v0, v3, v4}, Lutil/http/HttpHeader;.appendValueToHeaderString:(Ljava/lang/StringBuffer;Ljava/lang/String;Ljava/lang/String;)V // method@07f2 │ │ +02b362: 28e5 |0039: goto 001e // -001b │ │ +02b364: 6e20 a405 2000 |003a: invoke-virtual {v0, v2}, Ljava/lang/StringBuffer;.append:(Ljava/lang/String;)Ljava/lang/StringBuffer; // method@05a4 │ │ +02b36a: 6e10 a605 0000 |003d: invoke-virtual {v0}, Ljava/lang/StringBuffer;.toString:()Ljava/lang/String; // method@05a6 │ │ +02b370: 0c00 |0040: move-result-object v0 │ │ +02b372: 1100 |0041: return-object v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=215 │ │ 0x0018 line=216 │ │ 0x001e line=217 │ │ 0x0024 line=218 │ │ 0x002a line=219 │ │ @@ -35125,30 +35125,30 @@ │ │ type : '()I' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 4 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 31 16-bit code units │ │ -02b278: |[02b278] util.http.HttpHeader.getResponseCode:()I │ │ -02b288: 5230 af03 |0000: iget v0, v3, Lutil/http/HttpHeader;.type:I // field@03af │ │ -02b28c: 1221 |0002: const/4 v1, #int 2 // #2 │ │ -02b28e: 3310 0500 |0003: if-ne v0, v1, 0008 // +0005 │ │ -02b292: 5230 ad03 |0005: iget v0, v3, Lutil/http/HttpHeader;.responsecode:I // field@03ad │ │ -02b296: 0f00 |0007: return v0 │ │ -02b298: 2200 1d01 |0008: new-instance v0, Ljava/lang/IllegalStateException; // type@011d │ │ -02b29c: 2201 2d01 |000a: new-instance v1, Ljava/lang/StringBuilder; // type@012d │ │ -02b2a0: 7010 a705 0100 |000c: invoke-direct {v1}, Ljava/lang/StringBuilder;.:()V // method@05a7 │ │ -02b2a6: 6e20 ac05 3100 |000f: invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@05ac │ │ -02b2ac: 1a02 2000 |0012: const-string v2, " is not a response header!" // string@0020 │ │ -02b2b0: 6e20 ad05 2100 |0014: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -02b2b6: 6e10 af05 0100 |0017: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ -02b2bc: 0c01 |001a: move-result-object v1 │ │ -02b2be: 7020 6105 1000 |001b: invoke-direct {v0, v1}, Ljava/lang/IllegalStateException;.:(Ljava/lang/String;)V // method@0561 │ │ -02b2c4: 2700 |001e: throw v0 │ │ +02b274: |[02b274] util.http.HttpHeader.getResponseCode:()I │ │ +02b284: 5230 af03 |0000: iget v0, v3, Lutil/http/HttpHeader;.type:I // field@03af │ │ +02b288: 1221 |0002: const/4 v1, #int 2 // #2 │ │ +02b28a: 3310 0500 |0003: if-ne v0, v1, 0008 // +0005 │ │ +02b28e: 5230 ad03 |0005: iget v0, v3, Lutil/http/HttpHeader;.responsecode:I // field@03ad │ │ +02b292: 0f00 |0007: return v0 │ │ +02b294: 2200 1d01 |0008: new-instance v0, Ljava/lang/IllegalStateException; // type@011d │ │ +02b298: 2201 2d01 |000a: new-instance v1, Ljava/lang/StringBuilder; // type@012d │ │ +02b29c: 7010 a705 0100 |000c: invoke-direct {v1}, Ljava/lang/StringBuilder;.:()V // method@05a7 │ │ +02b2a2: 6e20 ac05 3100 |000f: invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@05ac │ │ +02b2a8: 1a02 2000 |0012: const-string v2, " is not a response header!" // string@0020 │ │ +02b2ac: 6e20 ad05 2100 |0014: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +02b2b2: 6e10 af05 0100 |0017: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ +02b2b8: 0c01 |001a: move-result-object v1 │ │ +02b2ba: 7020 6105 1000 |001b: invoke-direct {v0, v1}, Ljava/lang/IllegalStateException;.:(Ljava/lang/String;)V // method@0561 │ │ +02b2c0: 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; │ │ @@ -35158,30 +35158,30 @@ │ │ type : '()Ljava/lang/String;' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 4 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 31 16-bit code units │ │ -02b378: |[02b378] util.http.HttpHeader.getResponseMessage:()Ljava/lang/String; │ │ -02b388: 5230 af03 |0000: iget v0, v3, Lutil/http/HttpHeader;.type:I // field@03af │ │ -02b38c: 1221 |0002: const/4 v1, #int 2 // #2 │ │ -02b38e: 3310 0500 |0003: if-ne v0, v1, 0008 // +0005 │ │ -02b392: 5430 a403 |0005: iget-object v0, v3, Lutil/http/HttpHeader;._first:Ljava/lang/String; // field@03a4 │ │ -02b396: 1100 |0007: return-object v0 │ │ -02b398: 2200 1d01 |0008: new-instance v0, Ljava/lang/IllegalStateException; // type@011d │ │ -02b39c: 2201 2d01 |000a: new-instance v1, Ljava/lang/StringBuilder; // type@012d │ │ -02b3a0: 7010 a705 0100 |000c: invoke-direct {v1}, Ljava/lang/StringBuilder;.:()V // method@05a7 │ │ -02b3a6: 6e20 ac05 3100 |000f: invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@05ac │ │ -02b3ac: 1a02 2000 |0012: const-string v2, " is not a response header!" // string@0020 │ │ -02b3b0: 6e20 ad05 2100 |0014: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -02b3b6: 6e10 af05 0100 |0017: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ -02b3bc: 0c01 |001a: move-result-object v1 │ │ -02b3be: 7020 6105 1000 |001b: invoke-direct {v0, v1}, Ljava/lang/IllegalStateException;.:(Ljava/lang/String;)V // method@0561 │ │ -02b3c4: 2700 |001e: throw v0 │ │ +02b374: |[02b374] util.http.HttpHeader.getResponseMessage:()Ljava/lang/String; │ │ +02b384: 5230 af03 |0000: iget v0, v3, Lutil/http/HttpHeader;.type:I // field@03af │ │ +02b388: 1221 |0002: const/4 v1, #int 2 // #2 │ │ +02b38a: 3310 0500 |0003: if-ne v0, v1, 0008 // +0005 │ │ +02b38e: 5430 a403 |0005: iget-object v0, v3, Lutil/http/HttpHeader;._first:Ljava/lang/String; // field@03a4 │ │ +02b392: 1100 |0007: return-object v0 │ │ +02b394: 2200 1d01 |0008: new-instance v0, Ljava/lang/IllegalStateException; // type@011d │ │ +02b398: 2201 2d01 |000a: new-instance v1, Ljava/lang/StringBuilder; // type@012d │ │ +02b39c: 7010 a705 0100 |000c: invoke-direct {v1}, Ljava/lang/StringBuilder;.:()V // method@05a7 │ │ +02b3a2: 6e20 ac05 3100 |000f: invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@05ac │ │ +02b3a8: 1a02 2000 |0012: const-string v2, " is not a response header!" // string@0020 │ │ +02b3ac: 6e20 ad05 2100 |0014: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +02b3b2: 6e10 af05 0100 |0017: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ +02b3b8: 0c01 |001a: move-result-object v1 │ │ +02b3ba: 7020 6105 1000 |001b: invoke-direct {v0, v1}, Ljava/lang/IllegalStateException;.:(Ljava/lang/String;)V // method@0561 │ │ +02b3c0: 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; │ │ @@ -35191,19 +35191,19 @@ │ │ type : '()Ljava/lang/String;' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 6 16-bit code units │ │ -02b3c8: |[02b3c8] util.http.HttpHeader.getServerRequestHeader:()Ljava/lang/String; │ │ -02b3d8: 1200 |0000: const/4 v0, #int 0 // #0 │ │ -02b3da: 6e20 fc07 0100 |0001: invoke-virtual {v1, v0}, Lutil/http/HttpHeader;.getServerRequestHeader:(Z)Ljava/lang/String; // method@07fc │ │ -02b3e0: 0c00 |0004: move-result-object v0 │ │ -02b3e2: 1100 |0005: return-object v0 │ │ +02b3c4: |[02b3c4] util.http.HttpHeader.getServerRequestHeader:()Ljava/lang/String; │ │ +02b3d4: 1200 |0000: const/4 v0, #int 0 // #0 │ │ +02b3d6: 6e20 fc07 0100 |0001: invoke-virtual {v1, v0}, Lutil/http/HttpHeader;.getServerRequestHeader:(Z)Ljava/lang/String; // method@07fc │ │ +02b3dc: 0c00 |0004: move-result-object v0 │ │ +02b3de: 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;) │ │ @@ -35211,134 +35211,134 @@ │ │ type : '(Z)Ljava/lang/String;' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 11 │ │ ins : 2 │ │ outs : 4 │ │ insns size : 252 16-bit code units │ │ -02b3e4: |[02b3e4] util.http.HttpHeader.getServerRequestHeader:(Z)Ljava/lang/String; │ │ -02b3f4: 5490 a403 |0000: iget-object v0, v9, Lutil/http/HttpHeader;._first:Ljava/lang/String; // field@03a4 │ │ -02b3f8: 5591 ae03 |0002: iget-boolean v1, v9, Lutil/http/HttpHeader;.tunnelMode:Z // field@03ae │ │ -02b3fc: 3901 4200 |0004: if-nez v1, 0046 // +0042 │ │ -02b400: 1a00 1400 |0006: const-string v0, " HTTP/1.1" // string@0014 │ │ -02b404: 380a 2300 |0008: if-eqz v10, 002b // +0023 │ │ -02b408: 2201 2d01 |000a: new-instance v1, Ljava/lang/StringBuilder; // type@012d │ │ -02b40c: 7010 a705 0100 |000c: invoke-direct {v1}, Ljava/lang/StringBuilder;.:()V // method@05a7 │ │ -02b412: 5492 a803 |000f: iget-object v2, v9, Lutil/http/HttpHeader;.method:Ljava/lang/String; // field@03a8 │ │ -02b416: 6e20 ad05 2100 |0011: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -02b41c: 1a02 1f00 |0014: const-string v2, " http://" // string@001f │ │ -02b420: 6e20 ad05 2100 |0016: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -02b426: 5492 a703 |0019: iget-object v2, v9, Lutil/http/HttpHeader;.hostEntry:Ljava/lang/String; // field@03a7 │ │ -02b42a: 6e20 ad05 2100 |001b: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -02b430: 5492 b003 |001e: iget-object v2, v9, Lutil/http/HttpHeader;.url:Ljava/lang/String; // field@03b0 │ │ -02b434: 6e20 ad05 2100 |0020: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -02b43a: 6e20 ad05 0100 |0023: invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -02b440: 6e10 af05 0100 |0026: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ -02b446: 0c00 |0029: move-result-object v0 │ │ -02b448: 281c |002a: goto 0046 // +001c │ │ -02b44a: 2201 2d01 |002b: new-instance v1, Ljava/lang/StringBuilder; // type@012d │ │ -02b44e: 7010 a705 0100 |002d: invoke-direct {v1}, Ljava/lang/StringBuilder;.:()V // method@05a7 │ │ -02b454: 5492 a803 |0030: iget-object v2, v9, Lutil/http/HttpHeader;.method:Ljava/lang/String; // field@03a8 │ │ -02b458: 6e20 ad05 2100 |0032: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -02b45e: 1a02 0d00 |0035: const-string v2, " " // string@000d │ │ -02b462: 6e20 ad05 2100 |0037: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -02b468: 5492 b003 |003a: iget-object v2, v9, Lutil/http/HttpHeader;.url:Ljava/lang/String; // field@03b0 │ │ -02b46c: 6e20 ad05 2100 |003c: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -02b472: 6e20 ad05 0100 |003f: invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -02b478: 6e10 af05 0100 |0042: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ -02b47e: 0c00 |0045: move-result-object v0 │ │ -02b480: 2201 2c01 |0046: new-instance v1, Ljava/lang/StringBuffer; // type@012c │ │ -02b484: 2202 2d01 |0048: new-instance v2, Ljava/lang/StringBuilder; // type@012d │ │ -02b488: 7010 a705 0200 |004a: invoke-direct {v2}, Ljava/lang/StringBuilder;.:()V // method@05a7 │ │ -02b48e: 6e20 ad05 0200 |004d: invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -02b494: 1a00 0900 |0050: const-string v0, " │ │ +02b3e0: |[02b3e0] util.http.HttpHeader.getServerRequestHeader:(Z)Ljava/lang/String; │ │ +02b3f0: 5490 a403 |0000: iget-object v0, v9, Lutil/http/HttpHeader;._first:Ljava/lang/String; // field@03a4 │ │ +02b3f4: 5591 ae03 |0002: iget-boolean v1, v9, Lutil/http/HttpHeader;.tunnelMode:Z // field@03ae │ │ +02b3f8: 3901 4200 |0004: if-nez v1, 0046 // +0042 │ │ +02b3fc: 1a00 1400 |0006: const-string v0, " HTTP/1.1" // string@0014 │ │ +02b400: 380a 2300 |0008: if-eqz v10, 002b // +0023 │ │ +02b404: 2201 2d01 |000a: new-instance v1, Ljava/lang/StringBuilder; // type@012d │ │ +02b408: 7010 a705 0100 |000c: invoke-direct {v1}, Ljava/lang/StringBuilder;.:()V // method@05a7 │ │ +02b40e: 5492 a803 |000f: iget-object v2, v9, Lutil/http/HttpHeader;.method:Ljava/lang/String; // field@03a8 │ │ +02b412: 6e20 ad05 2100 |0011: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +02b418: 1a02 1f00 |0014: const-string v2, " http://" // string@001f │ │ +02b41c: 6e20 ad05 2100 |0016: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +02b422: 5492 a703 |0019: iget-object v2, v9, Lutil/http/HttpHeader;.hostEntry:Ljava/lang/String; // field@03a7 │ │ +02b426: 6e20 ad05 2100 |001b: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +02b42c: 5492 b003 |001e: iget-object v2, v9, Lutil/http/HttpHeader;.url:Ljava/lang/String; // field@03b0 │ │ +02b430: 6e20 ad05 2100 |0020: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +02b436: 6e20 ad05 0100 |0023: invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +02b43c: 6e10 af05 0100 |0026: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ +02b442: 0c00 |0029: move-result-object v0 │ │ +02b444: 281c |002a: goto 0046 // +001c │ │ +02b446: 2201 2d01 |002b: new-instance v1, Ljava/lang/StringBuilder; // type@012d │ │ +02b44a: 7010 a705 0100 |002d: invoke-direct {v1}, Ljava/lang/StringBuilder;.:()V // method@05a7 │ │ +02b450: 5492 a803 |0030: iget-object v2, v9, Lutil/http/HttpHeader;.method:Ljava/lang/String; // field@03a8 │ │ +02b454: 6e20 ad05 2100 |0032: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +02b45a: 1a02 0d00 |0035: const-string v2, " " // string@000d │ │ +02b45e: 6e20 ad05 2100 |0037: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +02b464: 5492 b003 |003a: iget-object v2, v9, Lutil/http/HttpHeader;.url:Ljava/lang/String; // field@03b0 │ │ +02b468: 6e20 ad05 2100 |003c: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +02b46e: 6e20 ad05 0100 |003f: invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +02b474: 6e10 af05 0100 |0042: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ +02b47a: 0c00 |0045: move-result-object v0 │ │ +02b47c: 2201 2c01 |0046: new-instance v1, Ljava/lang/StringBuffer; // type@012c │ │ +02b480: 2202 2d01 |0048: new-instance v2, Ljava/lang/StringBuilder; // type@012d │ │ +02b484: 7010 a705 0200 |004a: invoke-direct {v2}, Ljava/lang/StringBuilder;.:()V // method@05a7 │ │ +02b48a: 6e20 ad05 0200 |004d: invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +02b490: 1a00 0900 |0050: const-string v0, " │ │ " // string@0009 │ │ -02b498: 6e20 ad05 0200 |0052: invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -02b49e: 6e10 af05 0200 |0055: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ -02b4a4: 0c02 |0058: move-result-object v2 │ │ -02b4a6: 7020 a205 2100 |0059: invoke-direct {v1, v2}, Ljava/lang/StringBuffer;.:(Ljava/lang/String;)V // method@05a2 │ │ -02b4ac: 5492 a603 |005c: iget-object v2, v9, Lutil/http/HttpHeader;._mapping:Ljava/util/HashMap; // field@03a6 │ │ -02b4b0: 6e10 2606 0200 |005e: invoke-virtual {v2}, Ljava/util/HashMap;.clone:()Ljava/lang/Object; // method@0626 │ │ -02b4b6: 0c02 |0061: move-result-object v2 │ │ -02b4b8: 1f02 5801 |0062: check-cast v2, Ljava/util/HashMap; // type@0158 │ │ -02b4bc: 1203 |0064: const/4 v3, #int 0 // #0 │ │ -02b4be: 6204 ac03 |0065: sget-object v4, Lutil/http/HttpHeader;.reqparamSequence:[Ljava/lang/String; // field@03ac │ │ -02b4c2: 2145 |0067: array-length v5, v4 │ │ -02b4c4: 1a06 8200 |0068: const-string v6, ": │ │ +02b494: 6e20 ad05 0200 |0052: invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +02b49a: 6e10 af05 0200 |0055: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ +02b4a0: 0c02 |0058: move-result-object v2 │ │ +02b4a2: 7020 a205 2100 |0059: invoke-direct {v1, v2}, Ljava/lang/StringBuffer;.:(Ljava/lang/String;)V // method@05a2 │ │ +02b4a8: 5492 a603 |005c: iget-object v2, v9, Lutil/http/HttpHeader;._mapping:Ljava/util/HashMap; // field@03a6 │ │ +02b4ac: 6e10 2606 0200 |005e: invoke-virtual {v2}, Ljava/util/HashMap;.clone:()Ljava/lang/Object; // method@0626 │ │ +02b4b2: 0c02 |0061: move-result-object v2 │ │ +02b4b4: 1f02 5801 |0062: check-cast v2, Ljava/util/HashMap; // type@0158 │ │ +02b4b8: 1203 |0064: const/4 v3, #int 0 // #0 │ │ +02b4ba: 6204 ac03 |0065: sget-object v4, Lutil/http/HttpHeader;.reqparamSequence:[Ljava/lang/String; // field@03ac │ │ +02b4be: 2145 |0067: array-length v5, v4 │ │ +02b4c0: 1a06 8200 |0068: const-string v6, ": │ │ " // string@0082 │ │ -02b4c8: 3553 3f00 |006a: if-ge v3, v5, 00a9 // +003f │ │ -02b4cc: 4604 0403 |006c: aget-object v4, v4, v3 │ │ -02b4d0: 6e10 9e05 0400 |006e: invoke-virtual {v4}, Ljava/lang/String;.toUpperCase:()Ljava/lang/String; // method@059e │ │ -02b4d6: 0c05 |0071: move-result-object v5 │ │ -02b4d8: 6e20 2a06 5200 |0072: invoke-virtual {v2, v5}, Ljava/util/HashMap;.remove:(Ljava/lang/Object;)Ljava/lang/Object; // method@062a │ │ -02b4de: 0c05 |0075: move-result-object v5 │ │ -02b4e0: 1f05 2b01 |0076: check-cast v5, Ljava/lang/String; // type@012b │ │ -02b4e4: 3805 2e00 |0078: if-eqz v5, 00a6 // +002e │ │ -02b4e8: 380a 1000 |007a: if-eqz v10, 008a // +0010 │ │ -02b4ec: 6e10 9e05 0400 |007c: invoke-virtual {v4}, Ljava/lang/String;.toUpperCase:()Ljava/lang/String; // method@059e │ │ -02b4f2: 0c07 |007f: move-result-object v7 │ │ -02b4f4: 1a08 e200 |0080: const-string v8, "CONNECTION" // string@00e2 │ │ -02b4f8: 6e20 8b05 8700 |0082: invoke-virtual {v7, v8}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058b │ │ -02b4fe: 0a07 |0085: move-result v7 │ │ -02b500: 3807 0400 |0086: if-eqz v7, 008a // +0004 │ │ -02b504: 1a04 1704 |0088: const-string v4, "Proxy-Connection" // string@0417 │ │ -02b508: 6e10 9405 0500 |008a: invoke-virtual {v5}, Ljava/lang/String;.length:()I // method@0594 │ │ -02b50e: 0a07 |008d: move-result v7 │ │ -02b510: 3d07 0600 |008e: if-lez v7, 0094 // +0006 │ │ -02b514: 6e40 f207 1954 |0090: invoke-virtual {v9, v1, v4, v5}, Lutil/http/HttpHeader;.appendValueToHeaderString:(Ljava/lang/StringBuffer;Ljava/lang/String;Ljava/lang/String;)V // method@07f2 │ │ -02b51a: 2813 |0093: goto 00a6 // +0013 │ │ -02b51c: 2205 2d01 |0094: new-instance v5, Ljava/lang/StringBuilder; // type@012d │ │ -02b520: 7010 a705 0500 |0096: invoke-direct {v5}, Ljava/lang/StringBuilder;.:()V // method@05a7 │ │ -02b526: 6e20 ad05 4500 |0099: invoke-virtual {v5, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -02b52c: 6e20 ad05 6500 |009c: invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -02b532: 6e10 af05 0500 |009f: invoke-virtual {v5}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ -02b538: 0c04 |00a2: move-result-object v4 │ │ -02b53a: 6e20 a405 4100 |00a3: invoke-virtual {v1, v4}, Ljava/lang/StringBuffer;.append:(Ljava/lang/String;)Ljava/lang/StringBuffer; // method@05a4 │ │ -02b540: d803 0301 |00a6: add-int/lit8 v3, v3, #int 1 // #01 │ │ -02b544: 28bd |00a8: goto 0065 // -0043 │ │ -02b546: 5493 a503 |00a9: iget-object v3, v9, Lutil/http/HttpHeader;._keys:Ljava/util/Vector; // field@03a5 │ │ -02b54a: 6e10 7e06 0300 |00ab: invoke-virtual {v3}, Ljava/util/Vector;.iterator:()Ljava/util/Iterator; // method@067e │ │ -02b550: 0c03 |00ae: move-result-object v3 │ │ -02b552: 7210 3a06 0300 |00af: invoke-interface {v3}, Ljava/util/Iterator;.hasNext:()Z // method@063a │ │ -02b558: 0a04 |00b2: move-result v4 │ │ -02b55a: 3804 4100 |00b3: if-eqz v4, 00f4 // +0041 │ │ -02b55e: 7210 3b06 0300 |00b5: invoke-interface {v3}, Ljava/util/Iterator;.next:()Ljava/lang/Object; // method@063b │ │ -02b564: 0c04 |00b8: move-result-object v4 │ │ -02b566: 1f04 2b01 |00b9: check-cast v4, Ljava/lang/String; // type@012b │ │ -02b56a: 6e10 9e05 0400 |00bb: invoke-virtual {v4}, Ljava/lang/String;.toUpperCase:()Ljava/lang/String; // method@059e │ │ -02b570: 0c05 |00be: move-result-object v5 │ │ -02b572: 6e20 2a06 5200 |00bf: invoke-virtual {v2, v5}, Ljava/util/HashMap;.remove:(Ljava/lang/Object;)Ljava/lang/Object; // method@062a │ │ -02b578: 0c05 |00c2: move-result-object v5 │ │ -02b57a: 1f05 2b01 |00c3: check-cast v5, Ljava/lang/String; // type@012b │ │ -02b57e: 3805 eaff |00c5: if-eqz v5, 00af // -0016 │ │ -02b582: 390a 1000 |00c7: if-nez v10, 00d7 // +0010 │ │ -02b586: 6e10 9e05 0400 |00c9: invoke-virtual {v4}, Ljava/lang/String;.toUpperCase:()Ljava/lang/String; // method@059e │ │ -02b58c: 0c07 |00cc: move-result-object v7 │ │ -02b58e: 1a08 0604 |00cd: const-string v8, "PROXY-CONNECTION" // string@0406 │ │ -02b592: 6e20 8b05 8700 |00cf: invoke-virtual {v7, v8}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058b │ │ -02b598: 0a07 |00d2: move-result v7 │ │ -02b59a: 3807 0400 |00d3: if-eqz v7, 00d7 // +0004 │ │ -02b59e: 1a04 0d01 |00d5: const-string v4, "Connection" // string@010d │ │ -02b5a2: 6e10 9405 0500 |00d7: invoke-virtual {v5}, Ljava/lang/String;.length:()I // method@0594 │ │ -02b5a8: 0a07 |00da: move-result v7 │ │ -02b5aa: 3d07 0600 |00db: if-lez v7, 00e1 // +0006 │ │ -02b5ae: 6e40 f207 1954 |00dd: invoke-virtual {v9, v1, v4, v5}, Lutil/http/HttpHeader;.appendValueToHeaderString:(Ljava/lang/StringBuffer;Ljava/lang/String;Ljava/lang/String;)V // method@07f2 │ │ -02b5b4: 28cf |00e0: goto 00af // -0031 │ │ -02b5b6: 2205 2d01 |00e1: new-instance v5, Ljava/lang/StringBuilder; // type@012d │ │ -02b5ba: 7010 a705 0500 |00e3: invoke-direct {v5}, Ljava/lang/StringBuilder;.:()V // method@05a7 │ │ -02b5c0: 6e20 ad05 4500 |00e6: invoke-virtual {v5, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -02b5c6: 6e20 ad05 6500 |00e9: invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -02b5cc: 6e10 af05 0500 |00ec: invoke-virtual {v5}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ -02b5d2: 0c04 |00ef: move-result-object v4 │ │ -02b5d4: 6e20 a405 4100 |00f0: invoke-virtual {v1, v4}, Ljava/lang/StringBuffer;.append:(Ljava/lang/String;)Ljava/lang/StringBuffer; // method@05a4 │ │ -02b5da: 28bc |00f3: goto 00af // -0044 │ │ -02b5dc: 6e20 a405 0100 |00f4: invoke-virtual {v1, v0}, Ljava/lang/StringBuffer;.append:(Ljava/lang/String;)Ljava/lang/StringBuffer; // method@05a4 │ │ -02b5e2: 6e10 a605 0100 |00f7: invoke-virtual {v1}, Ljava/lang/StringBuffer;.toString:()Ljava/lang/String; // method@05a6 │ │ -02b5e8: 0c0a |00fa: move-result-object v10 │ │ -02b5ea: 110a |00fb: return-object v10 │ │ +02b4c4: 3553 3f00 |006a: if-ge v3, v5, 00a9 // +003f │ │ +02b4c8: 4604 0403 |006c: aget-object v4, v4, v3 │ │ +02b4cc: 6e10 9e05 0400 |006e: invoke-virtual {v4}, Ljava/lang/String;.toUpperCase:()Ljava/lang/String; // method@059e │ │ +02b4d2: 0c05 |0071: move-result-object v5 │ │ +02b4d4: 6e20 2a06 5200 |0072: invoke-virtual {v2, v5}, Ljava/util/HashMap;.remove:(Ljava/lang/Object;)Ljava/lang/Object; // method@062a │ │ +02b4da: 0c05 |0075: move-result-object v5 │ │ +02b4dc: 1f05 2b01 |0076: check-cast v5, Ljava/lang/String; // type@012b │ │ +02b4e0: 3805 2e00 |0078: if-eqz v5, 00a6 // +002e │ │ +02b4e4: 380a 1000 |007a: if-eqz v10, 008a // +0010 │ │ +02b4e8: 6e10 9e05 0400 |007c: invoke-virtual {v4}, Ljava/lang/String;.toUpperCase:()Ljava/lang/String; // method@059e │ │ +02b4ee: 0c07 |007f: move-result-object v7 │ │ +02b4f0: 1a08 e200 |0080: const-string v8, "CONNECTION" // string@00e2 │ │ +02b4f4: 6e20 8b05 8700 |0082: invoke-virtual {v7, v8}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058b │ │ +02b4fa: 0a07 |0085: move-result v7 │ │ +02b4fc: 3807 0400 |0086: if-eqz v7, 008a // +0004 │ │ +02b500: 1a04 1704 |0088: const-string v4, "Proxy-Connection" // string@0417 │ │ +02b504: 6e10 9405 0500 |008a: invoke-virtual {v5}, Ljava/lang/String;.length:()I // method@0594 │ │ +02b50a: 0a07 |008d: move-result v7 │ │ +02b50c: 3d07 0600 |008e: if-lez v7, 0094 // +0006 │ │ +02b510: 6e40 f207 1954 |0090: invoke-virtual {v9, v1, v4, v5}, Lutil/http/HttpHeader;.appendValueToHeaderString:(Ljava/lang/StringBuffer;Ljava/lang/String;Ljava/lang/String;)V // method@07f2 │ │ +02b516: 2813 |0093: goto 00a6 // +0013 │ │ +02b518: 2205 2d01 |0094: new-instance v5, Ljava/lang/StringBuilder; // type@012d │ │ +02b51c: 7010 a705 0500 |0096: invoke-direct {v5}, Ljava/lang/StringBuilder;.:()V // method@05a7 │ │ +02b522: 6e20 ad05 4500 |0099: invoke-virtual {v5, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +02b528: 6e20 ad05 6500 |009c: invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +02b52e: 6e10 af05 0500 |009f: invoke-virtual {v5}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ +02b534: 0c04 |00a2: move-result-object v4 │ │ +02b536: 6e20 a405 4100 |00a3: invoke-virtual {v1, v4}, Ljava/lang/StringBuffer;.append:(Ljava/lang/String;)Ljava/lang/StringBuffer; // method@05a4 │ │ +02b53c: d803 0301 |00a6: add-int/lit8 v3, v3, #int 1 // #01 │ │ +02b540: 28bd |00a8: goto 0065 // -0043 │ │ +02b542: 5493 a503 |00a9: iget-object v3, v9, Lutil/http/HttpHeader;._keys:Ljava/util/Vector; // field@03a5 │ │ +02b546: 6e10 7e06 0300 |00ab: invoke-virtual {v3}, Ljava/util/Vector;.iterator:()Ljava/util/Iterator; // method@067e │ │ +02b54c: 0c03 |00ae: move-result-object v3 │ │ +02b54e: 7210 3a06 0300 |00af: invoke-interface {v3}, Ljava/util/Iterator;.hasNext:()Z // method@063a │ │ +02b554: 0a04 |00b2: move-result v4 │ │ +02b556: 3804 4100 |00b3: if-eqz v4, 00f4 // +0041 │ │ +02b55a: 7210 3b06 0300 |00b5: invoke-interface {v3}, Ljava/util/Iterator;.next:()Ljava/lang/Object; // method@063b │ │ +02b560: 0c04 |00b8: move-result-object v4 │ │ +02b562: 1f04 2b01 |00b9: check-cast v4, Ljava/lang/String; // type@012b │ │ +02b566: 6e10 9e05 0400 |00bb: invoke-virtual {v4}, Ljava/lang/String;.toUpperCase:()Ljava/lang/String; // method@059e │ │ +02b56c: 0c05 |00be: move-result-object v5 │ │ +02b56e: 6e20 2a06 5200 |00bf: invoke-virtual {v2, v5}, Ljava/util/HashMap;.remove:(Ljava/lang/Object;)Ljava/lang/Object; // method@062a │ │ +02b574: 0c05 |00c2: move-result-object v5 │ │ +02b576: 1f05 2b01 |00c3: check-cast v5, Ljava/lang/String; // type@012b │ │ +02b57a: 3805 eaff |00c5: if-eqz v5, 00af // -0016 │ │ +02b57e: 390a 1000 |00c7: if-nez v10, 00d7 // +0010 │ │ +02b582: 6e10 9e05 0400 |00c9: invoke-virtual {v4}, Ljava/lang/String;.toUpperCase:()Ljava/lang/String; // method@059e │ │ +02b588: 0c07 |00cc: move-result-object v7 │ │ +02b58a: 1a08 0604 |00cd: const-string v8, "PROXY-CONNECTION" // string@0406 │ │ +02b58e: 6e20 8b05 8700 |00cf: invoke-virtual {v7, v8}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058b │ │ +02b594: 0a07 |00d2: move-result v7 │ │ +02b596: 3807 0400 |00d3: if-eqz v7, 00d7 // +0004 │ │ +02b59a: 1a04 0d01 |00d5: const-string v4, "Connection" // string@010d │ │ +02b59e: 6e10 9405 0500 |00d7: invoke-virtual {v5}, Ljava/lang/String;.length:()I // method@0594 │ │ +02b5a4: 0a07 |00da: move-result v7 │ │ +02b5a6: 3d07 0600 |00db: if-lez v7, 00e1 // +0006 │ │ +02b5aa: 6e40 f207 1954 |00dd: invoke-virtual {v9, v1, v4, v5}, Lutil/http/HttpHeader;.appendValueToHeaderString:(Ljava/lang/StringBuffer;Ljava/lang/String;Ljava/lang/String;)V // method@07f2 │ │ +02b5b0: 28cf |00e0: goto 00af // -0031 │ │ +02b5b2: 2205 2d01 |00e1: new-instance v5, Ljava/lang/StringBuilder; // type@012d │ │ +02b5b6: 7010 a705 0500 |00e3: invoke-direct {v5}, Ljava/lang/StringBuilder;.:()V // method@05a7 │ │ +02b5bc: 6e20 ad05 4500 |00e6: invoke-virtual {v5, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +02b5c2: 6e20 ad05 6500 |00e9: invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +02b5c8: 6e10 af05 0500 |00ec: invoke-virtual {v5}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ +02b5ce: 0c04 |00ef: move-result-object v4 │ │ +02b5d0: 6e20 a405 4100 |00f0: invoke-virtual {v1, v4}, Ljava/lang/StringBuffer;.append:(Ljava/lang/String;)Ljava/lang/StringBuffer; // method@05a4 │ │ +02b5d6: 28bc |00f3: goto 00af // -0044 │ │ +02b5d8: 6e20 a405 0100 |00f4: invoke-virtual {v1, v0}, Ljava/lang/StringBuffer;.append:(Ljava/lang/String;)Ljava/lang/StringBuffer; // method@05a4 │ │ +02b5de: 6e10 a605 0100 |00f7: invoke-virtual {v1}, Ljava/lang/StringBuffer;.toString:()Ljava/lang/String; // method@05a6 │ │ +02b5e4: 0c0a |00fa: move-result-object v10 │ │ +02b5e6: 110a |00fb: return-object v10 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=228 │ │ 0x0002 line=230 │ │ 0x0006 line=231 │ │ 0x000a line=232 │ │ 0x002b line=234 │ │ @@ -35372,22 +35372,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 │ │ -02b5ec: |[02b5ec] util.http.HttpHeader.getValue:(Ljava/lang/String;)Ljava/lang/String; │ │ -02b5fc: 5410 a603 |0000: iget-object v0, v1, Lutil/http/HttpHeader;._mapping:Ljava/util/HashMap; // field@03a6 │ │ -02b600: 6e10 9e05 0200 |0002: invoke-virtual {v2}, Ljava/lang/String;.toUpperCase:()Ljava/lang/String; // method@059e │ │ -02b606: 0c02 |0005: move-result-object v2 │ │ -02b608: 6e20 2806 2000 |0006: invoke-virtual {v0, v2}, Ljava/util/HashMap;.get:(Ljava/lang/Object;)Ljava/lang/Object; // method@0628 │ │ -02b60e: 0c02 |0009: move-result-object v2 │ │ -02b610: 1f02 2b01 |000a: check-cast v2, Ljava/lang/String; // type@012b │ │ -02b614: 1102 |000c: return-object v2 │ │ +02b5e8: |[02b5e8] util.http.HttpHeader.getValue:(Ljava/lang/String;)Ljava/lang/String; │ │ +02b5f8: 5410 a603 |0000: iget-object v0, v1, Lutil/http/HttpHeader;._mapping:Ljava/util/HashMap; // field@03a6 │ │ +02b5fc: 6e10 9e05 0200 |0002: invoke-virtual {v2}, Ljava/lang/String;.toUpperCase:()Ljava/lang/String; // method@059e │ │ +02b602: 0c02 |0005: move-result-object v2 │ │ +02b604: 6e20 2806 2000 |0006: invoke-virtual {v0, v2}, Ljava/util/HashMap;.get:(Ljava/lang/Object;)Ljava/lang/Object; // method@0628 │ │ +02b60a: 0c02 |0009: move-result-object v2 │ │ +02b60c: 1f02 2b01 |000a: check-cast v2, Ljava/lang/String; // type@012b │ │ +02b610: 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; │ │ │ │ @@ -35396,24 +35396,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 │ │ -02b618: |[02b618] util.http.HttpHeader.removeValue:(Ljava/lang/String;)Ljava/lang/String; │ │ -02b628: 5410 a503 |0000: iget-object v0, v1, Lutil/http/HttpHeader;._keys:Ljava/util/Vector; // field@03a5 │ │ -02b62c: 6e20 8006 2000 |0002: invoke-virtual {v0, v2}, Ljava/util/Vector;.remove:(Ljava/lang/Object;)Z // method@0680 │ │ -02b632: 5410 a603 |0005: iget-object v0, v1, Lutil/http/HttpHeader;._mapping:Ljava/util/HashMap; // field@03a6 │ │ -02b636: 6e10 9e05 0200 |0007: invoke-virtual {v2}, Ljava/lang/String;.toUpperCase:()Ljava/lang/String; // method@059e │ │ -02b63c: 0c02 |000a: move-result-object v2 │ │ -02b63e: 6e20 2a06 2000 |000b: invoke-virtual {v0, v2}, Ljava/util/HashMap;.remove:(Ljava/lang/Object;)Ljava/lang/Object; // method@062a │ │ -02b644: 0c02 |000e: move-result-object v2 │ │ -02b646: 1f02 2b01 |000f: check-cast v2, Ljava/lang/String; // type@012b │ │ -02b64a: 1102 |0011: return-object v2 │ │ +02b614: |[02b614] util.http.HttpHeader.removeValue:(Ljava/lang/String;)Ljava/lang/String; │ │ +02b624: 5410 a503 |0000: iget-object v0, v1, Lutil/http/HttpHeader;._keys:Ljava/util/Vector; // field@03a5 │ │ +02b628: 6e20 8006 2000 |0002: invoke-virtual {v0, v2}, Ljava/util/Vector;.remove:(Ljava/lang/Object;)Z // method@0680 │ │ +02b62e: 5410 a603 |0005: iget-object v0, v1, Lutil/http/HttpHeader;._mapping:Ljava/util/HashMap; // field@03a6 │ │ +02b632: 6e10 9e05 0200 |0007: invoke-virtual {v2}, Ljava/lang/String;.toUpperCase:()Ljava/lang/String; // method@059e │ │ +02b638: 0c02 |000a: move-result-object v2 │ │ +02b63a: 6e20 2a06 2000 |000b: invoke-virtual {v0, v2}, Ljava/util/HashMap;.remove:(Ljava/lang/Object;)Ljava/lang/Object; // method@062a │ │ +02b640: 0c02 |000e: move-result-object v2 │ │ +02b642: 1f02 2b01 |000f: check-cast v2, Ljava/lang/String; // type@012b │ │ +02b646: 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; │ │ @@ -35423,20 +35423,20 @@ │ │ type : '(Ljava/lang/String;)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 3 │ │ ins : 2 │ │ outs : 3 │ │ insns size : 11 16-bit code units │ │ -02c058: |[02c058] util.http.HttpHeader.setHostEntry:(Ljava/lang/String;)V │ │ -02c068: 5b12 a703 |0000: iput-object v2, v1, Lutil/http/HttpHeader;.hostEntry:Ljava/lang/String; // field@03a7 │ │ -02c06c: 1a00 b701 |0002: const-string v0, "Host" // string@01b7 │ │ -02c070: 6e30 0308 0102 |0004: invoke-virtual {v1, v0, v2}, Lutil/http/HttpHeader;.setValue:(Ljava/lang/String;Ljava/lang/String;)V // method@0803 │ │ -02c076: 7010 fe07 0100 |0007: invoke-direct {v1}, Lutil/http/HttpHeader;.parseHostEntry:()V // method@07fe │ │ -02c07c: 0e00 |000a: return-void │ │ +02c054: |[02c054] util.http.HttpHeader.setHostEntry:(Ljava/lang/String;)V │ │ +02c064: 5b12 a703 |0000: iput-object v2, v1, Lutil/http/HttpHeader;.hostEntry:Ljava/lang/String; // field@03a7 │ │ +02c068: 1a00 b701 |0002: const-string v0, "Host" // string@01b7 │ │ +02c06c: 6e30 0308 0102 |0004: invoke-virtual {v1, v0, v2}, Lutil/http/HttpHeader;.setValue:(Ljava/lang/String;Ljava/lang/String;)V // method@0803 │ │ +02c072: 7010 fe07 0100 |0007: invoke-direct {v1}, Lutil/http/HttpHeader;.parseHostEntry:()V // method@07fe │ │ +02c078: 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; │ │ @@ -35447,21 +35447,21 @@ │ │ type : '(Ljava/lang/String;)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 3 │ │ ins : 2 │ │ outs : 3 │ │ insns size : 13 16-bit code units │ │ -02c080: |[02c080] util.http.HttpHeader.setRequest:(Ljava/lang/String;)V │ │ -02c090: 5b12 a403 |0000: iput-object v2, v1, Lutil/http/HttpHeader;._first:Ljava/lang/String; // field@03a4 │ │ -02c094: 7010 ff07 0100 |0002: invoke-direct {v1}, Lutil/http/HttpHeader;.parseURI:()V // method@07ff │ │ -02c09a: 1a02 b701 |0005: const-string v2, "Host" // string@01b7 │ │ -02c09e: 5410 a703 |0007: iget-object v0, v1, Lutil/http/HttpHeader;.hostEntry:Ljava/lang/String; // field@03a7 │ │ -02c0a2: 6e30 0308 2100 |0009: invoke-virtual {v1, v2, v0}, Lutil/http/HttpHeader;.setValue:(Ljava/lang/String;Ljava/lang/String;)V // method@0803 │ │ -02c0a8: 0e00 |000c: return-void │ │ +02c07c: |[02c07c] util.http.HttpHeader.setRequest:(Ljava/lang/String;)V │ │ +02c08c: 5b12 a403 |0000: iput-object v2, v1, Lutil/http/HttpHeader;._first:Ljava/lang/String; // field@03a4 │ │ +02c090: 7010 ff07 0100 |0002: invoke-direct {v1}, Lutil/http/HttpHeader;.parseURI:()V // method@07ff │ │ +02c096: 1a02 b701 |0005: const-string v2, "Host" // string@01b7 │ │ +02c09a: 5410 a703 |0007: iget-object v0, v1, Lutil/http/HttpHeader;.hostEntry:Ljava/lang/String; // field@03a7 │ │ +02c09e: 6e30 0308 2100 |0009: invoke-virtual {v1, v2, v0}, Lutil/http/HttpHeader;.setValue:(Ljava/lang/String;Ljava/lang/String;)V // method@0803 │ │ +02c0a4: 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; │ │ @@ -35472,25 +35472,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 │ │ -02c0ac: |[02c0ac] util.http.HttpHeader.setValue:(Ljava/lang/String;Ljava/lang/String;)V │ │ -02c0bc: 6e20 fd07 2100 |0000: invoke-virtual {v1, v2}, Lutil/http/HttpHeader;.getValue:(Ljava/lang/String;)Ljava/lang/String; // method@07fd │ │ -02c0c2: 0c00 |0003: move-result-object v0 │ │ -02c0c4: 3900 0700 |0004: if-nez v0, 000b // +0007 │ │ -02c0c8: 5410 a503 |0006: iget-object v0, v1, Lutil/http/HttpHeader;._keys:Ljava/util/Vector; // field@03a5 │ │ -02c0cc: 6e20 7706 2000 |0008: invoke-virtual {v0, v2}, Ljava/util/Vector;.add:(Ljava/lang/Object;)Z // method@0677 │ │ -02c0d2: 5410 a603 |000b: iget-object v0, v1, Lutil/http/HttpHeader;._mapping:Ljava/util/HashMap; // field@03a6 │ │ -02c0d6: 6e10 9e05 0200 |000d: invoke-virtual {v2}, Ljava/lang/String;.toUpperCase:()Ljava/lang/String; // method@059e │ │ -02c0dc: 0c02 |0010: move-result-object v2 │ │ -02c0de: 6e30 2906 2003 |0011: invoke-virtual {v0, v2, v3}, Ljava/util/HashMap;.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; // method@0629 │ │ -02c0e4: 0e00 |0014: return-void │ │ +02c0a8: |[02c0a8] util.http.HttpHeader.setValue:(Ljava/lang/String;Ljava/lang/String;)V │ │ +02c0b8: 6e20 fd07 2100 |0000: invoke-virtual {v1, v2}, Lutil/http/HttpHeader;.getValue:(Ljava/lang/String;)Ljava/lang/String; // method@07fd │ │ +02c0be: 0c00 |0003: move-result-object v0 │ │ +02c0c0: 3900 0700 |0004: if-nez v0, 000b // +0007 │ │ +02c0c4: 5410 a503 |0006: iget-object v0, v1, Lutil/http/HttpHeader;._keys:Ljava/util/Vector; // field@03a5 │ │ +02c0c8: 6e20 7706 2000 |0008: invoke-virtual {v0, v2}, Ljava/util/Vector;.add:(Ljava/lang/Object;)Z // method@0677 │ │ +02c0ce: 5410 a603 |000b: iget-object v0, v1, Lutil/http/HttpHeader;._mapping:Ljava/util/HashMap; // field@03a6 │ │ +02c0d2: 6e10 9e05 0200 |000d: invoke-virtual {v2}, Ljava/lang/String;.toUpperCase:()Ljava/lang/String; // method@059e │ │ +02c0d8: 0c02 |0010: move-result-object v2 │ │ +02c0da: 6e30 2906 2003 |0011: invoke-virtual {v0, v2, v3}, Ljava/util/HashMap;.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; // method@0629 │ │ +02c0e0: 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; │ │ @@ -42760,19 +42760,19 @@ │ │ type : '()V' │ │ access : 0x10002 (PRIVATE CONSTRUCTOR) │ │ code - │ │ registers : 3 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 11 16-bit code units │ │ -01987c: |[01987c] dnsfilter.android.DNSProxyActivity$MsgTimeoutListener.:()V │ │ -01988c: 7010 7305 0200 |0000: invoke-direct {v2}, Ljava/lang/Object;.:()V // method@0573 │ │ -019892: 1800 ffff ffff ffff ff7f |0003: const-wide v0, #double nan // #7fffffffffffffff │ │ -01989c: 5a20 e700 |0008: iput-wide v0, v2, Ldnsfilter/android/DNSProxyActivity$MsgTimeoutListener;.timeout:J // field@00e7 │ │ -0198a0: 0e00 |000a: return-void │ │ +019878: |[019878] dnsfilter.android.DNSProxyActivity$MsgTimeoutListener.:()V │ │ +019888: 7010 7305 0200 |0000: invoke-direct {v2}, Ljava/lang/Object;.:()V // method@0573 │ │ +01988e: 1800 ffff ffff ffff ff7f |0003: const-wide v0, #double nan // #7fffffffffffffff │ │ +019898: 5a20 e700 |0008: iput-wide v0, v2, Ldnsfilter/android/DNSProxyActivity$MsgTimeoutListener;.timeout:J // field@00e7 │ │ +01989c: 0e00 |000a: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=197 │ │ 0x0008 line=199 │ │ locals : │ │ 0x0000 - 0x000b reg=2 this Ldnsfilter/android/DNSProxyActivity$MsgTimeoutListener; │ │ │ │ @@ -42781,17 +42781,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 │ │ -0198a4: |[0198a4] dnsfilter.android.DNSProxyActivity$MsgTimeoutListener.:(Ldnsfilter/android/DNSProxyActivity$1;)V │ │ -0198b4: 7010 cd02 0000 |0000: invoke-direct {v0}, Ldnsfilter/android/DNSProxyActivity$MsgTimeoutListener;.:()V // method@02cd │ │ -0198ba: 0e00 |0003: return-void │ │ +0198a0: |[0198a0] dnsfilter.android.DNSProxyActivity$MsgTimeoutListener.:(Ldnsfilter/android/DNSProxyActivity$1;)V │ │ +0198b0: 7010 cd02 0000 |0000: invoke-direct {v0}, Ldnsfilter/android/DNSProxyActivity$MsgTimeoutListener;.:()V // method@02cd │ │ +0198b6: 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; │ │ │ │ @@ -42800,17 +42800,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 │ │ -0198bc: |[0198bc] dnsfilter.android.DNSProxyActivity$MsgTimeoutListener.access$800:(Ldnsfilter/android/DNSProxyActivity$MsgTimeoutListener;I)V │ │ -0198cc: 7020 d202 1000 |0000: invoke-direct {v0, v1}, Ldnsfilter/android/DNSProxyActivity$MsgTimeoutListener;.setTimeout:(I)V // method@02d2 │ │ -0198d2: 0e00 |0003: return-void │ │ +0198b8: |[0198b8] dnsfilter.android.DNSProxyActivity$MsgTimeoutListener.access$800:(Ldnsfilter/android/DNSProxyActivity$MsgTimeoutListener;I)V │ │ +0198c8: 7020 d202 1000 |0000: invoke-direct {v0, v1}, Ldnsfilter/android/DNSProxyActivity$MsgTimeoutListener;.setTimeout:(I)V // method@02d2 │ │ +0198ce: 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 │ │ │ │ @@ -42819,24 +42819,24 @@ │ │ type : '(I)V' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 6 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 16 16-bit code units │ │ -0198ec: |[0198ec] dnsfilter.android.DNSProxyActivity$MsgTimeoutListener.setTimeout:(I)V │ │ -0198fc: 7100 b105 0000 |0000: invoke-static {}, Ljava/lang/System;.currentTimeMillis:()J // method@05b1 │ │ -019902: 0b00 |0003: move-result-wide v0 │ │ -019904: 8152 |0004: int-to-long v2, v5 │ │ -019906: bb20 |0005: add-long/2addr v0, v2 │ │ -019908: 5a40 e700 |0006: iput-wide v0, v4, Ldnsfilter/android/DNSProxyActivity$MsgTimeoutListener;.timeout:J // field@00e7 │ │ -01990c: 7100 8607 0000 |0008: invoke-static {}, Lutil/TimoutNotificator;.getInstance:()Lutil/TimoutNotificator; // method@0786 │ │ -019912: 0c05 |000b: move-result-object v5 │ │ -019914: 6e20 8807 4500 |000c: invoke-virtual {v5, v4}, Lutil/TimoutNotificator;.register:(Lutil/TimeoutListener;)V // method@0788 │ │ -01991a: 0e00 |000f: return-void │ │ +0198e8: |[0198e8] dnsfilter.android.DNSProxyActivity$MsgTimeoutListener.setTimeout:(I)V │ │ +0198f8: 7100 b105 0000 |0000: invoke-static {}, Ljava/lang/System;.currentTimeMillis:()J // method@05b1 │ │ +0198fe: 0b00 |0003: move-result-wide v0 │ │ +019900: 8152 |0004: int-to-long v2, v5 │ │ +019902: bb20 |0005: add-long/2addr v0, v2 │ │ +019904: 5a40 e700 |0006: iput-wide v0, v4, Ldnsfilter/android/DNSProxyActivity$MsgTimeoutListener;.timeout:J // field@00e7 │ │ +019908: 7100 8607 0000 |0008: invoke-static {}, Lutil/TimoutNotificator;.getInstance:()Lutil/TimoutNotificator; // method@0786 │ │ +01990e: 0c05 |000b: move-result-object v5 │ │ +019910: 6e20 8807 4500 |000c: invoke-virtual {v5, v4}, Lutil/TimoutNotificator;.register:(Lutil/TimeoutListener;)V // method@0788 │ │ +019916: 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 │ │ @@ -42847,17 +42847,17 @@ │ │ type : '()J' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 3 │ │ ins : 1 │ │ outs : 0 │ │ insns size : 3 16-bit code units │ │ -019864: |[019864] dnsfilter.android.DNSProxyActivity$MsgTimeoutListener.getTimoutTime:()J │ │ -019874: 5320 e700 |0000: iget-wide v0, v2, Ldnsfilter/android/DNSProxyActivity$MsgTimeoutListener;.timeout:J // field@00e7 │ │ -019878: 1000 |0002: return-wide v0 │ │ +019860: |[019860] dnsfilter.android.DNSProxyActivity$MsgTimeoutListener.getTimoutTime:()J │ │ +019870: 5320 e700 |0000: iget-wide v0, v2, Ldnsfilter/android/DNSProxyActivity$MsgTimeoutListener;.timeout:J // field@00e7 │ │ +019874: 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;) │ │ @@ -42865,17 +42865,17 @@ │ │ type : '(Ldnsfilter/android/DNSProxyActivity;)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 2 │ │ outs : 0 │ │ insns size : 3 16-bit code units │ │ -0198d4: |[0198d4] dnsfilter.android.DNSProxyActivity$MsgTimeoutListener.setActivity:(Ldnsfilter/android/DNSProxyActivity;)V │ │ -0198e4: 5b01 e600 |0000: iput-object v1, v0, Ldnsfilter/android/DNSProxyActivity$MsgTimeoutListener;.activity:Ldnsfilter/android/DNSProxyActivity; // field@00e6 │ │ -0198e8: 0e00 |0002: return-void │ │ +0198d0: |[0198d0] dnsfilter.android.DNSProxyActivity$MsgTimeoutListener.setActivity:(Ldnsfilter/android/DNSProxyActivity;)V │ │ +0198e0: 5b01 e600 |0000: iput-object v1, v0, Ldnsfilter/android/DNSProxyActivity$MsgTimeoutListener;.activity:Ldnsfilter/android/DNSProxyActivity; // field@00e6 │ │ +0198e4: 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; │ │ │ │ @@ -42884,47 +42884,47 @@ │ │ type : '()V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 4 │ │ ins : 1 │ │ outs : 3 │ │ insns size : 67 16-bit code units │ │ -01991c: |[01991c] dnsfilter.android.DNSProxyActivity$MsgTimeoutListener.timeoutNotification:()V │ │ -01992c: 6200 ed00 |0000: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.CONFIG:Ldnsfilter/ConfigurationAccess; // field@00ed │ │ -019930: 6e10 5701 0000 |0002: invoke-virtual {v0}, Ldnsfilter/ConfigurationAccess;.isLocal:()Z // method@0157 │ │ -019936: 0a00 |0005: move-result v0 │ │ -019938: 3800 1900 |0006: if-eqz v0, 001f // +0019 │ │ -01993c: 5430 e600 |0008: iget-object v0, v3, Ldnsfilter/android/DNSProxyActivity$MsgTimeoutListener;.activity:Ldnsfilter/android/DNSProxyActivity; // field@00e6 │ │ -019940: 6201 1f01 |000a: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.link_field_txt:Ljava/lang/String; // field@011f │ │ -019944: 7110 d802 0100 |000c: invoke-static {v1}, Ldnsfilter/android/DNSProxyActivity;.access$000:(Ljava/lang/String;)Landroid/text/Spanned; // method@02d8 │ │ -01994a: 0c01 |000f: move-result-object v1 │ │ -01994c: 6002 1e01 |0010: sget v2, Ldnsfilter/android/DNSProxyActivity;.link_field_color:I // field@011e │ │ -019950: 7130 d902 1002 |0012: invoke-static {v0, v1, v2}, Ldnsfilter/android/DNSProxyActivity;.access$100:(Ldnsfilter/android/DNSProxyActivity;Landroid/text/Spanned;I)V // method@02d9 │ │ -019956: 6200 1d01 |0015: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.link_field:Landroid/widget/TextView; // field@011d │ │ -01995a: 7100 9f00 0000 |0017: invoke-static {}, Landroid/text/method/LinkMovementMethod;.getInstance:()Landroid/text/method/MovementMethod; // method@009f │ │ -019960: 0c01 |001a: move-result-object v1 │ │ -019962: 6e20 0701 1000 |001b: invoke-virtual {v0, v1}, Landroid/widget/TextView;.setMovementMethod:(Landroid/text/method/MovementMethod;)V // method@0107 │ │ -019968: 2821 |001e: goto 003f // +0021 │ │ -01996a: 5430 e600 |001f: iget-object v0, v3, Ldnsfilter/android/DNSProxyActivity$MsgTimeoutListener;.activity:Ldnsfilter/android/DNSProxyActivity; // field@00e6 │ │ -01996e: 2201 2d01 |0021: new-instance v1, Ljava/lang/StringBuilder; // type@012d │ │ -019972: 1a02 9600 |0023: const-string v2, "" // string@0096 │ │ -019976: 7020 a805 2100 |0025: invoke-direct {v1, v2}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05a8 │ │ -01997c: 6202 ed00 |0028: sget-object v2, Ldnsfilter/android/DNSProxyActivity;.CONFIG:Ldnsfilter/ConfigurationAccess; // field@00ed │ │ -019980: 6e20 ac05 2100 |002a: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@05ac │ │ -019986: 1a02 8f00 |002d: const-string v2, "" // string@008f │ │ -01998a: 6e20 ad05 2100 |002f: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -019990: 6e10 af05 0100 |0032: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ -019996: 0c01 |0035: move-result-object v1 │ │ -019998: 7110 d802 0100 |0036: invoke-static {v1}, Ldnsfilter/android/DNSProxyActivity;.access$000:(Ljava/lang/String;)Landroid/text/Spanned; // method@02d8 │ │ -01999e: 0c01 |0039: move-result-object v1 │ │ -0199a0: 6002 1e01 |003a: sget v2, Ldnsfilter/android/DNSProxyActivity;.link_field_color:I // field@011e │ │ -0199a4: 7130 d902 1002 |003c: invoke-static {v0, v1, v2}, Ldnsfilter/android/DNSProxyActivity;.access$100:(Ldnsfilter/android/DNSProxyActivity;Landroid/text/Spanned;I)V // method@02d9 │ │ -0199aa: 1200 |003f: const/4 v0, #int 0 // #0 │ │ -0199ac: 6a00 f500 |0040: sput-boolean v0, Ldnsfilter/android/DNSProxyActivity;.MSG_ACTIVE:Z // field@00f5 │ │ -0199b0: 0e00 |0042: return-void │ │ +019918: |[019918] dnsfilter.android.DNSProxyActivity$MsgTimeoutListener.timeoutNotification:()V │ │ +019928: 6200 ed00 |0000: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.CONFIG:Ldnsfilter/ConfigurationAccess; // field@00ed │ │ +01992c: 6e10 5701 0000 |0002: invoke-virtual {v0}, Ldnsfilter/ConfigurationAccess;.isLocal:()Z // method@0157 │ │ +019932: 0a00 |0005: move-result v0 │ │ +019934: 3800 1900 |0006: if-eqz v0, 001f // +0019 │ │ +019938: 5430 e600 |0008: iget-object v0, v3, Ldnsfilter/android/DNSProxyActivity$MsgTimeoutListener;.activity:Ldnsfilter/android/DNSProxyActivity; // field@00e6 │ │ +01993c: 6201 1f01 |000a: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.link_field_txt:Ljava/lang/String; // field@011f │ │ +019940: 7110 d802 0100 |000c: invoke-static {v1}, Ldnsfilter/android/DNSProxyActivity;.access$000:(Ljava/lang/String;)Landroid/text/Spanned; // method@02d8 │ │ +019946: 0c01 |000f: move-result-object v1 │ │ +019948: 6002 1e01 |0010: sget v2, Ldnsfilter/android/DNSProxyActivity;.link_field_color:I // field@011e │ │ +01994c: 7130 d902 1002 |0012: invoke-static {v0, v1, v2}, Ldnsfilter/android/DNSProxyActivity;.access$100:(Ldnsfilter/android/DNSProxyActivity;Landroid/text/Spanned;I)V // method@02d9 │ │ +019952: 6200 1d01 |0015: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.link_field:Landroid/widget/TextView; // field@011d │ │ +019956: 7100 9f00 0000 |0017: invoke-static {}, Landroid/text/method/LinkMovementMethod;.getInstance:()Landroid/text/method/MovementMethod; // method@009f │ │ +01995c: 0c01 |001a: move-result-object v1 │ │ +01995e: 6e20 0701 1000 |001b: invoke-virtual {v0, v1}, Landroid/widget/TextView;.setMovementMethod:(Landroid/text/method/MovementMethod;)V // method@0107 │ │ +019964: 2821 |001e: goto 003f // +0021 │ │ +019966: 5430 e600 |001f: iget-object v0, v3, Ldnsfilter/android/DNSProxyActivity$MsgTimeoutListener;.activity:Ldnsfilter/android/DNSProxyActivity; // field@00e6 │ │ +01996a: 2201 2d01 |0021: new-instance v1, Ljava/lang/StringBuilder; // type@012d │ │ +01996e: 1a02 9600 |0023: const-string v2, "" // string@0096 │ │ +019972: 7020 a805 2100 |0025: invoke-direct {v1, v2}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05a8 │ │ +019978: 6202 ed00 |0028: sget-object v2, Ldnsfilter/android/DNSProxyActivity;.CONFIG:Ldnsfilter/ConfigurationAccess; // field@00ed │ │ +01997c: 6e20 ac05 2100 |002a: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@05ac │ │ +019982: 1a02 8f00 |002d: const-string v2, "" // string@008f │ │ +019986: 6e20 ad05 2100 |002f: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +01998c: 6e10 af05 0100 |0032: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ +019992: 0c01 |0035: move-result-object v1 │ │ +019994: 7110 d802 0100 |0036: invoke-static {v1}, Ldnsfilter/android/DNSProxyActivity;.access$000:(Ljava/lang/String;)Landroid/text/Spanned; // method@02d8 │ │ +01999a: 0c01 |0039: move-result-object v1 │ │ +01999c: 6002 1e01 |003a: sget v2, Ldnsfilter/android/DNSProxyActivity;.link_field_color:I // field@011e │ │ +0199a0: 7130 d902 1002 |003c: invoke-static {v0, v1, v2}, Ldnsfilter/android/DNSProxyActivity;.access$100:(Ldnsfilter/android/DNSProxyActivity;Landroid/text/Spanned;I)V // method@02d9 │ │ +0199a6: 1200 |003f: const/4 v0, #int 0 // #0 │ │ +0199a8: 6a00 f500 |0040: sput-boolean v0, Ldnsfilter/android/DNSProxyActivity;.MSG_ACTIVE:Z // field@00f5 │ │ +0199ac: 0e00 |0042: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=214 │ │ 0x0008 line=215 │ │ 0x0015 line=216 │ │ 0x001f line=219 │ │ 0x0040 line=221 │ │ @@ -43356,37 +43356,37 @@ │ │ type : '()V' │ │ access : 0x10008 (STATIC CONSTRUCTOR) │ │ code - │ │ registers : 3 │ │ ins : 0 │ │ outs : 2 │ │ insns size : 41 16-bit code units │ │ -01a188: |[01a188] dnsfilter.android.DNSProxyActivity.:()V │ │ -01a198: 7100 5301 0000 |0000: invoke-static {}, Ldnsfilter/ConfigurationAccess;.getLocal:()Ldnsfilter/ConfigurationAccess; // method@0153 │ │ -01a19e: 0c00 |0003: move-result-object v0 │ │ -01a1a0: 6900 ed00 |0004: sput-object v0, Ldnsfilter/android/DNSProxyActivity;.CONFIG:Ldnsfilter/ConfigurationAccess; // field@00ed │ │ -01a1a4: 1200 |0006: const/4 v0, #int 0 // #0 │ │ -01a1a6: 6a00 3801 |0007: sput-boolean v0, Ldnsfilter/android/DNSProxyActivity;.switchingConfig:Z // field@0138 │ │ -01a1aa: 1201 |0009: const/4 v1, #int 0 // #0 │ │ -01a1ac: 6901 fa00 |000a: sput-object v1, Ldnsfilter/android/DNSProxyActivity;.PASSWORD_DIAG:Landroid/app/AlertDialog; // field@00fa │ │ -01a1b0: 6a00 f900 |000c: sput-boolean v0, Ldnsfilter/android/DNSProxyActivity;.NO_VPN:Z // field@00f9 │ │ -01a1b4: 6a00 f500 |000e: sput-boolean v0, Ldnsfilter/android/DNSProxyActivity;.MSG_ACTIVE:Z // field@00f5 │ │ -01a1b8: 6700 ef00 |0010: sput v0, Ldnsfilter/android/DNSProxyActivity;.DISPLAY_WIDTH:I // field@00ef │ │ -01a1bc: 6700 ee00 |0012: sput v0, Ldnsfilter/android/DNSProxyActivity;.DISPLAY_HEIGTH:I // field@00ee │ │ -01a1c0: 2202 ae00 |0014: new-instance v2, Ldnsfilter/android/DNSProxyActivity$MsgTimeoutListener; // type@00ae │ │ -01a1c4: 7020 ce02 1200 |0016: invoke-direct {v2, v1}, Ldnsfilter/android/DNSProxyActivity$MsgTimeoutListener;.:(Ldnsfilter/android/DNSProxyActivity$1;)V // method@02ce │ │ -01a1ca: 6902 f600 |0019: sput-object v2, Ldnsfilter/android/DNSProxyActivity;.MsgTO:Ldnsfilter/android/DNSProxyActivity$MsgTimeoutListener; // field@00f6 │ │ -01a1ce: 6700 f000 |001b: sput v0, Ldnsfilter/android/DNSProxyActivity;.DO_BACKUP:I // field@00f0 │ │ -01a1d2: 1212 |001d: const/4 v2, #int 1 // #1 │ │ -01a1d4: 6702 f100 |001e: sput v2, Ldnsfilter/android/DNSProxyActivity;.DO_RESTORE:I // field@00f1 │ │ -01a1d8: 6901 2601 |0020: sput-object v1, Ldnsfilter/android/DNSProxyActivity;.popUpDialog:Landroid/app/Dialog; // field@0126 │ │ -01a1dc: 6a02 3501 |0022: sput-boolean v2, Ldnsfilter/android/DNSProxyActivity;.showInitialInfoPopUp:Z // field@0135 │ │ -01a1e0: 6a00 2701 |0024: sput-boolean v0, Ldnsfilter/android/DNSProxyActivity;.popUpDialogChanged:Z // field@0127 │ │ -01a1e4: 6901 1b01 |0026: sput-object v1, Ldnsfilter/android/DNSProxyActivity;.initialInfoPopUpExitBtn:Landroid/widget/Button; // field@011b │ │ -01a1e8: 0e00 |0028: return-void │ │ +01a184: |[01a184] dnsfilter.android.DNSProxyActivity.:()V │ │ +01a194: 7100 5301 0000 |0000: invoke-static {}, Ldnsfilter/ConfigurationAccess;.getLocal:()Ldnsfilter/ConfigurationAccess; // method@0153 │ │ +01a19a: 0c00 |0003: move-result-object v0 │ │ +01a19c: 6900 ed00 |0004: sput-object v0, Ldnsfilter/android/DNSProxyActivity;.CONFIG:Ldnsfilter/ConfigurationAccess; // field@00ed │ │ +01a1a0: 1200 |0006: const/4 v0, #int 0 // #0 │ │ +01a1a2: 6a00 3801 |0007: sput-boolean v0, Ldnsfilter/android/DNSProxyActivity;.switchingConfig:Z // field@0138 │ │ +01a1a6: 1201 |0009: const/4 v1, #int 0 // #0 │ │ +01a1a8: 6901 fa00 |000a: sput-object v1, Ldnsfilter/android/DNSProxyActivity;.PASSWORD_DIAG:Landroid/app/AlertDialog; // field@00fa │ │ +01a1ac: 6a00 f900 |000c: sput-boolean v0, Ldnsfilter/android/DNSProxyActivity;.NO_VPN:Z // field@00f9 │ │ +01a1b0: 6a00 f500 |000e: sput-boolean v0, Ldnsfilter/android/DNSProxyActivity;.MSG_ACTIVE:Z // field@00f5 │ │ +01a1b4: 6700 ef00 |0010: sput v0, Ldnsfilter/android/DNSProxyActivity;.DISPLAY_WIDTH:I // field@00ef │ │ +01a1b8: 6700 ee00 |0012: sput v0, Ldnsfilter/android/DNSProxyActivity;.DISPLAY_HEIGTH:I // field@00ee │ │ +01a1bc: 2202 ae00 |0014: new-instance v2, Ldnsfilter/android/DNSProxyActivity$MsgTimeoutListener; // type@00ae │ │ +01a1c0: 7020 ce02 1200 |0016: invoke-direct {v2, v1}, Ldnsfilter/android/DNSProxyActivity$MsgTimeoutListener;.:(Ldnsfilter/android/DNSProxyActivity$1;)V // method@02ce │ │ +01a1c6: 6902 f600 |0019: sput-object v2, Ldnsfilter/android/DNSProxyActivity;.MsgTO:Ldnsfilter/android/DNSProxyActivity$MsgTimeoutListener; // field@00f6 │ │ +01a1ca: 6700 f000 |001b: sput v0, Ldnsfilter/android/DNSProxyActivity;.DO_BACKUP:I // field@00f0 │ │ +01a1ce: 1212 |001d: const/4 v2, #int 1 // #1 │ │ +01a1d0: 6702 f100 |001e: sput v2, Ldnsfilter/android/DNSProxyActivity;.DO_RESTORE:I // field@00f1 │ │ +01a1d4: 6901 2601 |0020: sput-object v1, Ldnsfilter/android/DNSProxyActivity;.popUpDialog:Landroid/app/Dialog; // field@0126 │ │ +01a1d8: 6a02 3501 |0022: sput-boolean v2, Ldnsfilter/android/DNSProxyActivity;.showInitialInfoPopUp:Z // field@0135 │ │ +01a1dc: 6a00 2701 |0024: sput-boolean v0, Ldnsfilter/android/DNSProxyActivity;.popUpDialogChanged:Z // field@0127 │ │ +01a1e0: 6901 1b01 |0026: sput-object v1, Ldnsfilter/android/DNSProxyActivity;.initialInfoPopUpExitBtn:Landroid/widget/Button; // field@011b │ │ +01a1e4: 0e00 |0028: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=177 │ │ 0x0007 line=178 │ │ 0x000a line=180 │ │ 0x000c line=182 │ │ 0x000e line=184 │ │ @@ -43406,23 +43406,23 @@ │ │ type : '()V' │ │ access : 0x10001 (PUBLIC CONSTRUCTOR) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 14 16-bit code units │ │ -01a1ec: |[01a1ec] dnsfilter.android.DNSProxyActivity.:()V │ │ -01a1fc: 7010 0100 0100 |0000: invoke-direct {v1}, Landroid/app/Activity;.:()V // method@0001 │ │ -01a202: 1200 |0003: const/4 v0, #int 0 // #0 │ │ -01a204: 5b10 3201 |0004: iput-object v0, v1, Ldnsfilter/android/DNSProxyActivity;.scrollView:Landroid/widget/ScrollView; // field@0132 │ │ -01a208: 1200 |0006: const/4 v0, #int 0 // #0 │ │ -01a20a: 5c10 ea00 |0007: iput-boolean v0, v1, Ldnsfilter/android/DNSProxyActivity;.ACTION_MENU_FALLBACK:Z // field@00ea │ │ -01a20e: 1300 7901 |0009: const/16 v0, #int 377 // #179 │ │ -01a212: 5910 fd00 |000b: iput v0, v1, Ldnsfilter/android/DNSProxyActivity;.START_SVC:I // field@00fd │ │ -01a216: 0e00 |000d: return-void │ │ +01a1e8: |[01a1e8] dnsfilter.android.DNSProxyActivity.:()V │ │ +01a1f8: 7010 0100 0100 |0000: invoke-direct {v1}, Landroid/app/Activity;.:()V // method@0001 │ │ +01a1fe: 1200 |0003: const/4 v0, #int 0 // #0 │ │ +01a200: 5b10 3201 |0004: iput-object v0, v1, Ldnsfilter/android/DNSProxyActivity;.scrollView:Landroid/widget/ScrollView; // field@0132 │ │ +01a204: 1200 |0006: const/4 v0, #int 0 // #0 │ │ +01a206: 5c10 ea00 |0007: iput-boolean v0, v1, Ldnsfilter/android/DNSProxyActivity;.ACTION_MENU_FALLBACK:Z // field@00ea │ │ +01a20a: 1300 7901 |0009: const/16 v0, #int 377 // #179 │ │ +01a20e: 5910 fd00 |000b: iput v0, v1, Ldnsfilter/android/DNSProxyActivity;.START_SVC:I // field@00fd │ │ +01a212: 0e00 |000d: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=91 │ │ 0x0004 line=154 │ │ 0x0007 line=164 │ │ 0x000b line=1556 │ │ locals : │ │ @@ -43433,18 +43433,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 │ │ -019bf0: |[019bf0] dnsfilter.android.DNSProxyActivity.access$000:(Ljava/lang/String;)Landroid/text/Spanned; │ │ -019c00: 7110 f102 0000 |0000: invoke-static {v0}, Ldnsfilter/android/DNSProxyActivity;.fromHtml:(Ljava/lang/String;)Landroid/text/Spanned; // method@02f1 │ │ -019c06: 0c00 |0003: move-result-object v0 │ │ -019c08: 1100 |0004: return-object v0 │ │ +019bec: |[019bec] dnsfilter.android.DNSProxyActivity.access$000:(Ljava/lang/String;)Landroid/text/Spanned; │ │ +019bfc: 7110 f102 0000 |0000: invoke-static {v0}, Ldnsfilter/android/DNSProxyActivity;.fromHtml:(Ljava/lang/String;)Landroid/text/Spanned; // method@02f1 │ │ +019c02: 0c00 |0003: move-result-object v0 │ │ +019c04: 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;) │ │ @@ -43452,17 +43452,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 │ │ -01a218: |[01a218] dnsfilter.android.DNSProxyActivity.access$100:(Ldnsfilter/android/DNSProxyActivity;Landroid/text/Spanned;I)V │ │ -01a228: 7030 2c03 1002 |0000: invoke-direct {v0, v1, v2}, Ldnsfilter/android/DNSProxyActivity;.setMessage:(Landroid/text/Spanned;I)V // method@032c │ │ -01a22e: 0e00 |0003: return-void │ │ +01a214: |[01a214] dnsfilter.android.DNSProxyActivity.access$100:(Ldnsfilter/android/DNSProxyActivity;Landroid/text/Spanned;I)V │ │ +01a224: 7030 2c03 1002 |0000: invoke-direct {v0, v1, v2}, Ldnsfilter/android/DNSProxyActivity;.setMessage:(Landroid/text/Spanned;I)V // method@032c │ │ +01a22a: 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 │ │ @@ -43472,18 +43472,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 │ │ -01a0c8: |[01a0c8] dnsfilter.android.DNSProxyActivity.access$1000:(Ldnsfilter/android/DNSProxyActivity;Z)Ljava/lang/String; │ │ -01a0d8: 7020 f702 1000 |0000: invoke-direct {v0, v1}, Ldnsfilter/android/DNSProxyActivity;.getSelectedText:(Z)Ljava/lang/String; // method@02f7 │ │ -01a0de: 0c00 |0003: move-result-object v0 │ │ -01a0e0: 1100 |0004: return-object v0 │ │ +01a0c4: |[01a0c4] dnsfilter.android.DNSProxyActivity.access$1000:(Ldnsfilter/android/DNSProxyActivity;Z)Ljava/lang/String; │ │ +01a0d4: 7020 f702 1000 |0000: invoke-direct {v0, v1}, Ldnsfilter/android/DNSProxyActivity;.getSelectedText:(Z)Ljava/lang/String; // method@02f7 │ │ +01a0da: 0c00 |0003: move-result-object v0 │ │ +01a0dc: 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 │ │ │ │ @@ -43492,17 +43492,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 │ │ -01a230: |[01a230] dnsfilter.android.DNSProxyActivity.access$300:(Ldnsfilter/android/DNSProxyActivity;Ljava/lang/String;)V │ │ -01a240: 7020 e102 1000 |0000: invoke-direct {v0, v1}, Ldnsfilter/android/DNSProxyActivity;.addToLogView:(Ljava/lang/String;)V // method@02e1 │ │ -01a246: 0e00 |0003: return-void │ │ +01a22c: |[01a22c] dnsfilter.android.DNSProxyActivity.access$300:(Ldnsfilter/android/DNSProxyActivity;Ljava/lang/String;)V │ │ +01a23c: 7020 e102 1000 |0000: invoke-direct {v0, v1}, Ldnsfilter/android/DNSProxyActivity;.addToLogView:(Ljava/lang/String;)V // method@02e1 │ │ +01a242: 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; │ │ │ │ @@ -43511,17 +43511,17 @@ │ │ type : '(Ldnsfilter/android/DNSProxyActivity;)V' │ │ access : 0x1008 (STATIC SYNTHETIC) │ │ code - │ │ registers : 1 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 4 16-bit code units │ │ -01a248: |[01a248] dnsfilter.android.DNSProxyActivity.access$400:(Ldnsfilter/android/DNSProxyActivity;)V │ │ -01a258: 7010 e602 0000 |0000: invoke-direct {v0}, Ldnsfilter/android/DNSProxyActivity;.checkPasscode:()V // method@02e6 │ │ -01a25e: 0e00 |0003: return-void │ │ +01a244: |[01a244] dnsfilter.android.DNSProxyActivity.access$400:(Ldnsfilter/android/DNSProxyActivity;)V │ │ +01a254: 7010 e602 0000 |0000: invoke-direct {v0}, Ldnsfilter/android/DNSProxyActivity;.checkPasscode:()V // method@02e6 │ │ +01a25a: 0e00 |0003: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=91 │ │ locals : │ │ 0x0000 - 0x0004 reg=0 (null) Ldnsfilter/android/DNSProxyActivity; │ │ │ │ #7 : (in Ldnsfilter/android/DNSProxyActivity;) │ │ @@ -43529,17 +43529,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 │ │ -01a260: |[01a260] dnsfilter.android.DNSProxyActivity.access$500:(Ldnsfilter/android/DNSProxyActivity;Ljava/lang/String;Ljava/lang/String;)V │ │ -01a270: 7030 2403 1002 |0000: invoke-direct {v0, v1, v2}, Ldnsfilter/android/DNSProxyActivity;.persistRemoteControlConfig:(Ljava/lang/String;Ljava/lang/String;)V // method@0324 │ │ -01a276: 0e00 |0003: return-void │ │ +01a25c: |[01a25c] dnsfilter.android.DNSProxyActivity.access$500:(Ldnsfilter/android/DNSProxyActivity;Ljava/lang/String;Ljava/lang/String;)V │ │ +01a26c: 7030 2403 1002 |0000: invoke-direct {v0, v1, v2}, Ldnsfilter/android/DNSProxyActivity;.persistRemoteControlConfig:(Ljava/lang/String;Ljava/lang/String;)V // method@0324 │ │ +01a272: 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; │ │ @@ -43549,17 +43549,17 @@ │ │ type : '(Ldnsfilter/android/DNSProxyActivity;)V' │ │ access : 0x1008 (STATIC SYNTHETIC) │ │ code - │ │ registers : 1 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 4 16-bit code units │ │ -01a278: |[01a278] dnsfilter.android.DNSProxyActivity.access$600:(Ldnsfilter/android/DNSProxyActivity;)V │ │ -01a288: 7010 fe02 0000 |0000: invoke-direct {v0}, Ldnsfilter/android/DNSProxyActivity;.handleRemoteControl:()V // method@02fe │ │ -01a28e: 0e00 |0003: return-void │ │ +01a274: |[01a274] dnsfilter.android.DNSProxyActivity.access$600:(Ldnsfilter/android/DNSProxyActivity;)V │ │ +01a284: 7010 fe02 0000 |0000: invoke-direct {v0}, Ldnsfilter/android/DNSProxyActivity;.handleRemoteControl:()V // method@02fe │ │ +01a28a: 0e00 |0003: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=91 │ │ locals : │ │ 0x0000 - 0x0004 reg=0 (null) Ldnsfilter/android/DNSProxyActivity; │ │ │ │ #9 : (in Ldnsfilter/android/DNSProxyActivity;) │ │ @@ -43567,34 +43567,34 @@ │ │ type : '()Ldnsfilter/android/DNSProxyActivity$MsgTimeoutListener;' │ │ access : 0x1008 (STATIC SYNTHETIC) │ │ code - │ │ registers : 1 │ │ ins : 0 │ │ outs : 0 │ │ insns size : 3 16-bit code units │ │ -01a0b0: |[01a0b0] dnsfilter.android.DNSProxyActivity.access$700:()Ldnsfilter/android/DNSProxyActivity$MsgTimeoutListener; │ │ -01a0c0: 6200 f600 |0000: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.MsgTO:Ldnsfilter/android/DNSProxyActivity$MsgTimeoutListener; // field@00f6 │ │ -01a0c4: 1100 |0002: return-object v0 │ │ +01a0ac: |[01a0ac] dnsfilter.android.DNSProxyActivity.access$700:()Ldnsfilter/android/DNSProxyActivity$MsgTimeoutListener; │ │ +01a0bc: 6200 f600 |0000: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.MsgTO:Ldnsfilter/android/DNSProxyActivity$MsgTimeoutListener; // field@00f6 │ │ +01a0c0: 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 │ │ -01a290: |[01a290] dnsfilter.android.DNSProxyActivity.access$900:(Ldnsfilter/android/DNSProxyActivity;Ldnsfilter/ConfigurationAccess;)V │ │ -01a2a0: 7020 1803 1000 |0000: invoke-direct {v0, v1}, Ldnsfilter/android/DNSProxyActivity;.onRemoteConnected:(Ldnsfilter/ConfigurationAccess;)V // method@0318 │ │ -01a2a6: 0e00 |0003: return-void │ │ +01a28c: |[01a28c] dnsfilter.android.DNSProxyActivity.access$900:(Ldnsfilter/android/DNSProxyActivity;Ldnsfilter/ConfigurationAccess;)V │ │ +01a29c: 7020 1803 1000 |0000: invoke-direct {v0, v1}, Ldnsfilter/android/DNSProxyActivity;.onRemoteConnected:(Ldnsfilter/ConfigurationAccess;)V // method@0318 │ │ +01a2a2: 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; │ │ │ │ @@ -43603,95 +43603,95 @@ │ │ type : '(Ljava/lang/String;)V' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 9 │ │ ins : 2 │ │ outs : 3 │ │ insns size : 164 16-bit code units │ │ -01a2a8: |[01a2a8] dnsfilter.android.DNSProxyActivity.addToLogView:(Ljava/lang/String;)V │ │ -01a2b8: 2200 6601 |0000: new-instance v0, Ljava/util/StringTokenizer; // type@0166 │ │ -01a2bc: 1a01 0200 |0002: const-string v1, " │ │ +01a2a4: |[01a2a4] dnsfilter.android.DNSProxyActivity.addToLogView:(Ljava/lang/String;)V │ │ +01a2b4: 2200 6601 |0000: new-instance v0, Ljava/util/StringTokenizer; // type@0166 │ │ +01a2b8: 1a01 0200 |0002: const-string v1, " │ │ " // string@0002 │ │ -01a2c0: 7030 6206 8001 |0004: invoke-direct {v0, v8, v1}, Ljava/util/StringTokenizer;.:(Ljava/lang/String;Ljava/lang/String;)V // method@0662 │ │ -01a2c6: 6e10 6406 0000 |0007: invoke-virtual {v0}, Ljava/util/StringTokenizer;.hasMoreElements:()Z // method@0664 │ │ -01a2cc: 0a02 |000a: move-result v2 │ │ -01a2ce: 3802 9800 |000b: if-eqz v2, 00a3 // +0098 │ │ -01a2d2: 6e10 6606 0000 |000d: invoke-virtual {v0}, Ljava/util/StringTokenizer;.nextToken:()Ljava/lang/String; // method@0666 │ │ -01a2d8: 0c02 |0010: move-result-object v2 │ │ -01a2da: 6203 f300 |0011: sget-object v3, Ldnsfilter/android/DNSProxyActivity;.IN_FILTER_PREF:Ljava/lang/String; // field@00f3 │ │ -01a2de: 6e20 9905 3200 |0013: invoke-virtual {v2, v3}, Ljava/lang/String;.startsWith:(Ljava/lang/String;)Z // method@0599 │ │ -01a2e4: 0a03 |0016: move-result v3 │ │ -01a2e6: 6204 f800 |0017: sget-object v4, Ldnsfilter/android/DNSProxyActivity;.NO_FILTER_PREF:Ljava/lang/String; // field@00f8 │ │ -01a2ea: 6e20 9905 4200 |0019: invoke-virtual {v2, v4}, Ljava/lang/String;.startsWith:(Ljava/lang/String;)Z // method@0599 │ │ -01a2f0: 0a04 |001c: move-result v4 │ │ -01a2f2: 6205 f400 |001d: sget-object v5, Ldnsfilter/android/DNSProxyActivity;.IP_FORWARD_PREF:Ljava/lang/String; // field@00f4 │ │ -01a2f6: 6e20 9905 5200 |001f: invoke-virtual {v2, v5}, Ljava/lang/String;.startsWith:(Ljava/lang/String;)Z // method@0599 │ │ -01a2fc: 0a05 |0022: move-result v5 │ │ -01a2fe: 1a06 4400 |0023: const-string v6, "($CONTENT)" // string@0044 │ │ -01a302: 3903 2c00 |0025: if-nez v3, 0051 // +002c │ │ -01a306: 3904 2a00 |0027: if-nez v4, 0051 // +002a │ │ -01a30a: 3805 0300 |0029: if-eqz v5, 002c // +0003 │ │ -01a30e: 2826 |002b: goto 0051 // +0026 │ │ -01a310: 6e10 6406 0000 |002c: invoke-virtual {v0}, Ljava/util/StringTokenizer;.hasMoreElements:()Z // method@0664 │ │ -01a316: 0a03 |002f: move-result v3 │ │ -01a318: 3903 0b00 |0030: if-nez v3, 003b // +000b │ │ -01a31c: 6e20 8a05 1800 |0032: invoke-virtual {v8, v1}, Ljava/lang/String;.endsWith:(Ljava/lang/String;)Z // method@058a │ │ -01a322: 0a03 |0035: move-result v3 │ │ -01a324: 3903 0500 |0036: if-nez v3, 003b // +0005 │ │ -01a328: 1a03 0000 |0038: const-string v3, "" // string@0000 │ │ -01a32c: 2802 |003a: goto 003c // +0002 │ │ -01a32e: 0713 |003b: move-object v3, v1 │ │ -01a330: 6204 2001 |003c: sget-object v4, Ldnsfilter/android/DNSProxyActivity;.logOutView:Landroid/widget/EditText; // field@0120 │ │ -01a334: 6205 2501 |003e: sget-object v5, Ldnsfilter/android/DNSProxyActivity;.normalLogFormat:Ljava/lang/String; // field@0125 │ │ -01a338: 6e30 9505 6502 |0040: invoke-virtual {v5, v6, v2}, Ljava/lang/String;.replace:(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String; // method@0595 │ │ -01a33e: 0c02 |0043: move-result-object v2 │ │ -01a340: 7110 f102 0200 |0044: invoke-static {v2}, Ldnsfilter/android/DNSProxyActivity;.fromHtml:(Ljava/lang/String;)Landroid/text/Spanned; // method@02f1 │ │ -01a346: 0c02 |0047: move-result-object v2 │ │ -01a348: 6e20 d500 2400 |0048: invoke-virtual {v4, v2}, Landroid/widget/EditText;.append:(Ljava/lang/CharSequence;)V // method@00d5 │ │ -01a34e: 6202 2001 |004b: sget-object v2, Ldnsfilter/android/DNSProxyActivity;.logOutView:Landroid/widget/EditText; // field@0120 │ │ -01a352: 6e20 d500 3200 |004d: invoke-virtual {v2, v3}, Landroid/widget/EditText;.append:(Ljava/lang/CharSequence;)V // method@00d5 │ │ -01a358: 28b7 |0050: goto 0007 // -0049 │ │ -01a35a: 1a05 9200 |0051: const-string v5, "
" // string@0092 │ │ -01a35e: 3803 1800 |0053: if-eqz v3, 006b // +0018 │ │ -01a362: 2203 2d01 |0055: new-instance v3, Ljava/lang/StringBuilder; // type@012d │ │ -01a366: 7010 a705 0300 |0057: invoke-direct {v3}, Ljava/lang/StringBuilder;.:()V // method@05a7 │ │ -01a36c: 6204 1701 |005a: sget-object v4, Ldnsfilter/android/DNSProxyActivity;.filterLogFormat:Ljava/lang/String; // field@0117 │ │ -01a370: 6e30 9505 6402 |005c: invoke-virtual {v4, v6, v2}, Ljava/lang/String;.replace:(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String; // method@0595 │ │ -01a376: 0c02 |005f: move-result-object v2 │ │ -01a378: 6e20 ad05 2300 |0060: invoke-virtual {v3, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -01a37e: 6e20 ad05 5300 |0063: invoke-virtual {v3, v5}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -01a384: 6e10 af05 0300 |0066: invoke-virtual {v3}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ -01a38a: 0c02 |0069: move-result-object v2 │ │ -01a38c: 282e |006a: goto 0098 // +002e │ │ -01a38e: 3804 1800 |006b: if-eqz v4, 0083 // +0018 │ │ -01a392: 2203 2d01 |006d: new-instance v3, Ljava/lang/StringBuilder; // type@012d │ │ -01a396: 7010 a705 0300 |006f: invoke-direct {v3}, Ljava/lang/StringBuilder;.:()V // method@05a7 │ │ -01a39c: 6204 fe00 |0072: sget-object v4, Ldnsfilter/android/DNSProxyActivity;.acceptLogFormat:Ljava/lang/String; // field@00fe │ │ -01a3a0: 6e30 9505 6402 |0074: invoke-virtual {v4, v6, v2}, Ljava/lang/String;.replace:(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String; // method@0595 │ │ -01a3a6: 0c02 |0077: move-result-object v2 │ │ -01a3a8: 6e20 ad05 2300 |0078: invoke-virtual {v3, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -01a3ae: 6e20 ad05 5300 |007b: invoke-virtual {v3, v5}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -01a3b4: 6e10 af05 0300 |007e: invoke-virtual {v3}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ -01a3ba: 0c02 |0081: move-result-object v2 │ │ -01a3bc: 2816 |0082: goto 0098 // +0016 │ │ -01a3be: 2203 2d01 |0083: new-instance v3, Ljava/lang/StringBuilder; // type@012d │ │ -01a3c2: 7010 a705 0300 |0085: invoke-direct {v3}, Ljava/lang/StringBuilder;.:()V // method@05a7 │ │ -01a3c8: 6204 1901 |0088: sget-object v4, Ldnsfilter/android/DNSProxyActivity;.fwdLogFormat:Ljava/lang/String; // field@0119 │ │ -01a3cc: 6e30 9505 6402 |008a: invoke-virtual {v4, v6, v2}, Ljava/lang/String;.replace:(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String; // method@0595 │ │ -01a3d2: 0c02 |008d: move-result-object v2 │ │ -01a3d4: 6e20 ad05 2300 |008e: invoke-virtual {v3, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -01a3da: 6e20 ad05 5300 |0091: invoke-virtual {v3, v5}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -01a3e0: 6e10 af05 0300 |0094: invoke-virtual {v3}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ -01a3e6: 0c02 |0097: move-result-object v2 │ │ -01a3e8: 6203 2001 |0098: sget-object v3, Ldnsfilter/android/DNSProxyActivity;.logOutView:Landroid/widget/EditText; // field@0120 │ │ -01a3ec: 7110 f102 0200 |009a: invoke-static {v2}, Ldnsfilter/android/DNSProxyActivity;.fromHtml:(Ljava/lang/String;)Landroid/text/Spanned; // method@02f1 │ │ -01a3f2: 0c02 |009d: move-result-object v2 │ │ -01a3f4: 6e20 d500 2300 |009e: invoke-virtual {v3, v2}, Landroid/widget/EditText;.append:(Ljava/lang/CharSequence;)V // method@00d5 │ │ -01a3fa: 2900 66ff |00a1: goto/16 0007 // -009a │ │ -01a3fe: 0e00 |00a3: return-void │ │ +01a2bc: 7030 6206 8001 |0004: invoke-direct {v0, v8, v1}, Ljava/util/StringTokenizer;.:(Ljava/lang/String;Ljava/lang/String;)V // method@0662 │ │ +01a2c2: 6e10 6406 0000 |0007: invoke-virtual {v0}, Ljava/util/StringTokenizer;.hasMoreElements:()Z // method@0664 │ │ +01a2c8: 0a02 |000a: move-result v2 │ │ +01a2ca: 3802 9800 |000b: if-eqz v2, 00a3 // +0098 │ │ +01a2ce: 6e10 6606 0000 |000d: invoke-virtual {v0}, Ljava/util/StringTokenizer;.nextToken:()Ljava/lang/String; // method@0666 │ │ +01a2d4: 0c02 |0010: move-result-object v2 │ │ +01a2d6: 6203 f300 |0011: sget-object v3, Ldnsfilter/android/DNSProxyActivity;.IN_FILTER_PREF:Ljava/lang/String; // field@00f3 │ │ +01a2da: 6e20 9905 3200 |0013: invoke-virtual {v2, v3}, Ljava/lang/String;.startsWith:(Ljava/lang/String;)Z // method@0599 │ │ +01a2e0: 0a03 |0016: move-result v3 │ │ +01a2e2: 6204 f800 |0017: sget-object v4, Ldnsfilter/android/DNSProxyActivity;.NO_FILTER_PREF:Ljava/lang/String; // field@00f8 │ │ +01a2e6: 6e20 9905 4200 |0019: invoke-virtual {v2, v4}, Ljava/lang/String;.startsWith:(Ljava/lang/String;)Z // method@0599 │ │ +01a2ec: 0a04 |001c: move-result v4 │ │ +01a2ee: 6205 f400 |001d: sget-object v5, Ldnsfilter/android/DNSProxyActivity;.IP_FORWARD_PREF:Ljava/lang/String; // field@00f4 │ │ +01a2f2: 6e20 9905 5200 |001f: invoke-virtual {v2, v5}, Ljava/lang/String;.startsWith:(Ljava/lang/String;)Z // method@0599 │ │ +01a2f8: 0a05 |0022: move-result v5 │ │ +01a2fa: 1a06 4400 |0023: const-string v6, "($CONTENT)" // string@0044 │ │ +01a2fe: 3903 2c00 |0025: if-nez v3, 0051 // +002c │ │ +01a302: 3904 2a00 |0027: if-nez v4, 0051 // +002a │ │ +01a306: 3805 0300 |0029: if-eqz v5, 002c // +0003 │ │ +01a30a: 2826 |002b: goto 0051 // +0026 │ │ +01a30c: 6e10 6406 0000 |002c: invoke-virtual {v0}, Ljava/util/StringTokenizer;.hasMoreElements:()Z // method@0664 │ │ +01a312: 0a03 |002f: move-result v3 │ │ +01a314: 3903 0b00 |0030: if-nez v3, 003b // +000b │ │ +01a318: 6e20 8a05 1800 |0032: invoke-virtual {v8, v1}, Ljava/lang/String;.endsWith:(Ljava/lang/String;)Z // method@058a │ │ +01a31e: 0a03 |0035: move-result v3 │ │ +01a320: 3903 0500 |0036: if-nez v3, 003b // +0005 │ │ +01a324: 1a03 0000 |0038: const-string v3, "" // string@0000 │ │ +01a328: 2802 |003a: goto 003c // +0002 │ │ +01a32a: 0713 |003b: move-object v3, v1 │ │ +01a32c: 6204 2001 |003c: sget-object v4, Ldnsfilter/android/DNSProxyActivity;.logOutView:Landroid/widget/EditText; // field@0120 │ │ +01a330: 6205 2501 |003e: sget-object v5, Ldnsfilter/android/DNSProxyActivity;.normalLogFormat:Ljava/lang/String; // field@0125 │ │ +01a334: 6e30 9505 6502 |0040: invoke-virtual {v5, v6, v2}, Ljava/lang/String;.replace:(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String; // method@0595 │ │ +01a33a: 0c02 |0043: move-result-object v2 │ │ +01a33c: 7110 f102 0200 |0044: invoke-static {v2}, Ldnsfilter/android/DNSProxyActivity;.fromHtml:(Ljava/lang/String;)Landroid/text/Spanned; // method@02f1 │ │ +01a342: 0c02 |0047: move-result-object v2 │ │ +01a344: 6e20 d500 2400 |0048: invoke-virtual {v4, v2}, Landroid/widget/EditText;.append:(Ljava/lang/CharSequence;)V // method@00d5 │ │ +01a34a: 6202 2001 |004b: sget-object v2, Ldnsfilter/android/DNSProxyActivity;.logOutView:Landroid/widget/EditText; // field@0120 │ │ +01a34e: 6e20 d500 3200 |004d: invoke-virtual {v2, v3}, Landroid/widget/EditText;.append:(Ljava/lang/CharSequence;)V // method@00d5 │ │ +01a354: 28b7 |0050: goto 0007 // -0049 │ │ +01a356: 1a05 9200 |0051: const-string v5, "
" // string@0092 │ │ +01a35a: 3803 1800 |0053: if-eqz v3, 006b // +0018 │ │ +01a35e: 2203 2d01 |0055: new-instance v3, Ljava/lang/StringBuilder; // type@012d │ │ +01a362: 7010 a705 0300 |0057: invoke-direct {v3}, Ljava/lang/StringBuilder;.:()V // method@05a7 │ │ +01a368: 6204 1701 |005a: sget-object v4, Ldnsfilter/android/DNSProxyActivity;.filterLogFormat:Ljava/lang/String; // field@0117 │ │ +01a36c: 6e30 9505 6402 |005c: invoke-virtual {v4, v6, v2}, Ljava/lang/String;.replace:(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String; // method@0595 │ │ +01a372: 0c02 |005f: move-result-object v2 │ │ +01a374: 6e20 ad05 2300 |0060: invoke-virtual {v3, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +01a37a: 6e20 ad05 5300 |0063: invoke-virtual {v3, v5}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +01a380: 6e10 af05 0300 |0066: invoke-virtual {v3}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ +01a386: 0c02 |0069: move-result-object v2 │ │ +01a388: 282e |006a: goto 0098 // +002e │ │ +01a38a: 3804 1800 |006b: if-eqz v4, 0083 // +0018 │ │ +01a38e: 2203 2d01 |006d: new-instance v3, Ljava/lang/StringBuilder; // type@012d │ │ +01a392: 7010 a705 0300 |006f: invoke-direct {v3}, Ljava/lang/StringBuilder;.:()V // method@05a7 │ │ +01a398: 6204 fe00 |0072: sget-object v4, Ldnsfilter/android/DNSProxyActivity;.acceptLogFormat:Ljava/lang/String; // field@00fe │ │ +01a39c: 6e30 9505 6402 |0074: invoke-virtual {v4, v6, v2}, Ljava/lang/String;.replace:(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String; // method@0595 │ │ +01a3a2: 0c02 |0077: move-result-object v2 │ │ +01a3a4: 6e20 ad05 2300 |0078: invoke-virtual {v3, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +01a3aa: 6e20 ad05 5300 |007b: invoke-virtual {v3, v5}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +01a3b0: 6e10 af05 0300 |007e: invoke-virtual {v3}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ +01a3b6: 0c02 |0081: move-result-object v2 │ │ +01a3b8: 2816 |0082: goto 0098 // +0016 │ │ +01a3ba: 2203 2d01 |0083: new-instance v3, Ljava/lang/StringBuilder; // type@012d │ │ +01a3be: 7010 a705 0300 |0085: invoke-direct {v3}, Ljava/lang/StringBuilder;.:()V // method@05a7 │ │ +01a3c4: 6204 1901 |0088: sget-object v4, Ldnsfilter/android/DNSProxyActivity;.fwdLogFormat:Ljava/lang/String; // field@0119 │ │ +01a3c8: 6e30 9505 6402 |008a: invoke-virtual {v4, v6, v2}, Ljava/lang/String;.replace:(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String; // method@0595 │ │ +01a3ce: 0c02 |008d: move-result-object v2 │ │ +01a3d0: 6e20 ad05 2300 |008e: invoke-virtual {v3, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +01a3d6: 6e20 ad05 5300 |0091: invoke-virtual {v3, v5}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +01a3dc: 6e10 af05 0300 |0094: invoke-virtual {v3}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ +01a3e2: 0c02 |0097: move-result-object v2 │ │ +01a3e4: 6203 2001 |0098: sget-object v3, Ldnsfilter/android/DNSProxyActivity;.logOutView:Landroid/widget/EditText; // field@0120 │ │ +01a3e8: 7110 f102 0200 |009a: invoke-static {v2}, Ldnsfilter/android/DNSProxyActivity;.fromHtml:(Ljava/lang/String;)Landroid/text/Spanned; // method@02f1 │ │ +01a3ee: 0c02 |009d: move-result-object v2 │ │ +01a3f0: 6e20 d500 2300 |009e: invoke-virtual {v3, v2}, Landroid/widget/EditText;.append:(Ljava/lang/CharSequence;)V // method@00d5 │ │ +01a3f6: 2900 66ff |00a1: goto/16 0007 // -009a │ │ +01a3fa: 0e00 |00a3: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=242 │ │ 0x0007 line=243 │ │ 0x000d line=245 │ │ 0x0011 line=247 │ │ 0x0017 line=248 │ │ @@ -43715,33 +43715,33 @@ │ │ type : '()Z' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 3 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 34 16-bit code units │ │ -019c40: |[019c40] dnsfilter.android.DNSProxyActivity.checkNotificationPermission:()Z │ │ -019c50: 6000 0200 |0000: sget v0, Landroid/os/Build$VERSION;.SDK_INT:I // field@0002 │ │ -019c54: 1301 2100 |0002: const/16 v1, #int 33 // #21 │ │ -019c58: 3410 1c00 |0004: if-lt v0, v1, 0020 // +001c │ │ -019c5c: 1a00 6505 |0006: const-string v0, "android.permission.POST_NOTIFICATIONS" // string@0565 │ │ -019c60: 7120 5a02 0200 |0008: invoke-static {v2, v0}, Ldnsfilter/android/BootUpReceiver$$ExternalSyntheticApiModelOutline0;.m:(Ldnsfilter/android/DNSProxyActivity;Ljava/lang/String;)I // method@025a │ │ -019c66: 0a00 |000b: move-result v0 │ │ -019c68: 3800 1400 |000c: if-eqz v0, 0020 // +0014 │ │ -019c6c: 7100 2507 0000 |000e: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0725 │ │ -019c72: 0c00 |0011: move-result-object v0 │ │ -019c74: 1a01 e203 |0012: const-string v1, "NOTIFICATION PERMISSION IS REQUIRED!" // string@03e2 │ │ -019c78: 7220 3107 1000 |0014: invoke-interface {v0, v1}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0731 │ │ -019c7e: 7100 2507 0000 |0017: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0725 │ │ -019c84: 0c00 |001a: move-result-object v0 │ │ -019c86: 7220 3207 1000 |001b: invoke-interface {v0, v1}, Lutil/LoggerInterface;.message:(Ljava/lang/String;)V // method@0732 │ │ -019c8c: 1200 |001e: const/4 v0, #int 0 // #0 │ │ -019c8e: 0f00 |001f: return v0 │ │ -019c90: 1210 |0020: const/4 v0, #int 1 // #1 │ │ -019c92: 0f00 |0021: return v0 │ │ +019c3c: |[019c3c] dnsfilter.android.DNSProxyActivity.checkNotificationPermission:()Z │ │ +019c4c: 6000 0200 |0000: sget v0, Landroid/os/Build$VERSION;.SDK_INT:I // field@0002 │ │ +019c50: 1301 2100 |0002: const/16 v1, #int 33 // #21 │ │ +019c54: 3410 1c00 |0004: if-lt v0, v1, 0020 // +001c │ │ +019c58: 1a00 6505 |0006: const-string v0, "android.permission.POST_NOTIFICATIONS" // string@0565 │ │ +019c5c: 7120 5a02 0200 |0008: invoke-static {v2, v0}, Ldnsfilter/android/BootUpReceiver$$ExternalSyntheticApiModelOutline0;.m:(Ldnsfilter/android/DNSProxyActivity;Ljava/lang/String;)I // method@025a │ │ +019c62: 0a00 |000b: move-result v0 │ │ +019c64: 3800 1400 |000c: if-eqz v0, 0020 // +0014 │ │ +019c68: 7100 2507 0000 |000e: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0725 │ │ +019c6e: 0c00 |0011: move-result-object v0 │ │ +019c70: 1a01 e203 |0012: const-string v1, "NOTIFICATION PERMISSION IS REQUIRED!" // string@03e2 │ │ +019c74: 7220 3107 1000 |0014: invoke-interface {v0, v1}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0731 │ │ +019c7a: 7100 2507 0000 |0017: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0725 │ │ +019c80: 0c00 |001a: move-result-object v0 │ │ +019c82: 7220 3207 1000 |001b: invoke-interface {v0, v1}, Lutil/LoggerInterface;.message:(Ljava/lang/String;)V // method@0732 │ │ +019c88: 1200 |001e: const/4 v0, #int 0 // #0 │ │ +019c8a: 0f00 |001f: return v0 │ │ +019c8c: 1210 |0020: const/4 v0, #int 1 // #1 │ │ +019c8e: 0f00 |0021: return v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=915 │ │ 0x0006 line=916 │ │ 0x000e line=917 │ │ 0x0017 line=918 │ │ locals : │ │ @@ -43752,65 +43752,65 @@ │ │ type : '()V' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 6 │ │ ins : 1 │ │ outs : 4 │ │ insns size : 106 16-bit code units │ │ -01a584: |[01a584] dnsfilter.android.DNSProxyActivity.checkPasscode:()V │ │ -01a594: 1a00 0000 |0000: const-string v0, "" // string@0000 │ │ -01a598: 6201 fa00 |0002: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.PASSWORD_DIAG:Landroid/app/AlertDialog; // field@00fa │ │ -01a59c: 3801 0d00 |0004: if-eqz v1, 0011 // +000d │ │ -01a5a0: 6e10 1000 0100 |0006: invoke-virtual {v1}, Landroid/app/AlertDialog;.isShowing:()Z // method@0010 │ │ -01a5a6: 0a01 |0009: move-result v1 │ │ -01a5a8: 3801 0700 |000a: if-eqz v1, 0011 // +0007 │ │ -01a5ac: 6201 fa00 |000c: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.PASSWORD_DIAG:Landroid/app/AlertDialog; // field@00fa │ │ -01a5b0: 6e10 0f00 0100 |000e: invoke-virtual {v1}, Landroid/app/AlertDialog;.dismiss:()V // method@000f │ │ -01a5b6: 6201 ed00 |0011: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.CONFIG:Ldnsfilter/ConfigurationAccess; // field@00ed │ │ -01a5ba: 6e10 4d01 0100 |0013: invoke-virtual {v1}, Ldnsfilter/ConfigurationAccess;.getConfig:()Ljava/util/Properties; // method@014d │ │ -01a5c0: 0c01 |0016: move-result-object v1 │ │ -01a5c2: 3901 0800 |0017: if-nez v1, 001f // +0008 │ │ -01a5c6: 1a00 8401 |0019: const-string v0, "Error: Config is null!" // string@0184 │ │ -01a5ca: 6e20 0803 0500 |001b: invoke-virtual {v5, v0}, Ldnsfilter/android/DNSProxyActivity;.logLine:(Ljava/lang/String;)V // method@0308 │ │ -01a5d0: 0e00 |001e: return-void │ │ -01a5d2: 6201 ed00 |001f: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.CONFIG:Ldnsfilter/ConfigurationAccess; // field@00ed │ │ -01a5d6: 6e10 4d01 0100 |0021: invoke-virtual {v1}, Ldnsfilter/ConfigurationAccess;.getConfig:()Ljava/util/Properties; // method@014d │ │ -01a5dc: 0c01 |0024: move-result-object v1 │ │ -01a5de: 1a02 5609 |0025: const-string v2, "passcode" // string@0956 │ │ -01a5e2: 6e30 5506 2100 |0027: invoke-virtual {v1, v2, v0}, Ljava/util/Properties;.getProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@0655 │ │ -01a5e8: 0c01 |002a: move-result-object v1 │ │ -01a5ea: 6e10 a005 0100 |002b: invoke-virtual {v1}, Ljava/lang/String;.trim:()Ljava/lang/String; // method@05a0 │ │ -01a5f0: 0c01 |002e: move-result-object v1 │ │ -01a5f2: 6e20 8b05 0100 |002f: invoke-virtual {v1, v0}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058b │ │ -01a5f8: 0a00 |0032: move-result v0 │ │ -01a5fa: 3800 0300 |0033: if-eqz v0, 0036 // +0003 │ │ -01a5fe: 0e00 |0035: return-void │ │ -01a600: 2200 0800 |0036: new-instance v0, Landroid/app/AlertDialog$Builder; // type@0008 │ │ -01a604: 7020 0900 5000 |0038: invoke-direct {v0, v5}, Landroid/app/AlertDialog$Builder;.:(Landroid/content/Context;)V // method@0009 │ │ -01a60a: 1202 |003b: const/4 v2, #int 0 // #0 │ │ -01a60c: 6e20 0a00 2000 |003c: invoke-virtual {v0, v2}, Landroid/app/AlertDialog$Builder;.setCancelable:(Z)Landroid/app/AlertDialog$Builder; // method@000a │ │ -01a612: 0c00 |003f: move-result-object v0 │ │ -01a614: 1a02 0c04 |0040: const-string v2, "Passcode required!" // string@040c │ │ -01a618: 6e20 0c00 2000 |0042: invoke-virtual {v0, v2}, Landroid/app/AlertDialog$Builder;.setTitle:(Ljava/lang/CharSequence;)Landroid/app/AlertDialog$Builder; // method@000c │ │ -01a61e: 2202 6700 |0045: new-instance v2, Landroid/widget/EditText; // type@0067 │ │ -01a622: 7020 d300 5200 |0047: invoke-direct {v2, v5}, Landroid/widget/EditText;.:(Landroid/content/Context;)V // method@00d3 │ │ -01a628: 1303 8100 |004a: const/16 v3, #int 129 // #81 │ │ -01a62c: 6e20 df00 3200 |004c: invoke-virtual {v2, v3}, Landroid/widget/EditText;.setInputType:(I)V // method@00df │ │ -01a632: 6e20 0d00 2000 |004f: invoke-virtual {v0, v2}, Landroid/app/AlertDialog$Builder;.setView:(Landroid/view/View;)Landroid/app/AlertDialog$Builder; // method@000d │ │ -01a638: 1a03 fa03 |0052: const-string v3, "OK" // string@03fa │ │ -01a63c: 2204 a600 |0054: new-instance v4, Ldnsfilter/android/DNSProxyActivity$1; // type@00a6 │ │ -01a640: 7040 bd02 5412 |0056: invoke-direct {v4, v5, v2, v1}, Ldnsfilter/android/DNSProxyActivity$1;.:(Ldnsfilter/android/DNSProxyActivity;Landroid/widget/EditText;Ljava/lang/String;)V // method@02bd │ │ -01a646: 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 │ │ -01a64c: 2201 a700 |005c: new-instance v1, Ldnsfilter/android/DNSProxyActivity$2; // type@00a7 │ │ -01a650: 7030 bf02 5100 |005e: invoke-direct {v1, v5, v0}, Ldnsfilter/android/DNSProxyActivity$2;.:(Ldnsfilter/android/DNSProxyActivity;Landroid/app/AlertDialog$Builder;)V // method@02bf │ │ -01a656: 6e20 2a03 1500 |0061: invoke-virtual {v5, v1}, Ldnsfilter/android/DNSProxyActivity;.runOnUiThread:(Ljava/lang/Runnable;)V // method@032a │ │ -01a65c: 2805 |0064: goto 0069 // +0005 │ │ -01a65e: 0d00 |0065: move-exception v0 │ │ -01a660: 6e20 0703 0500 |0066: invoke-virtual {v5, v0}, Ldnsfilter/android/DNSProxyActivity;.logException:(Ljava/lang/Exception;)V // method@0307 │ │ -01a666: 0e00 |0069: return-void │ │ +01a580: |[01a580] dnsfilter.android.DNSProxyActivity.checkPasscode:()V │ │ +01a590: 1a00 0000 |0000: const-string v0, "" // string@0000 │ │ +01a594: 6201 fa00 |0002: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.PASSWORD_DIAG:Landroid/app/AlertDialog; // field@00fa │ │ +01a598: 3801 0d00 |0004: if-eqz v1, 0011 // +000d │ │ +01a59c: 6e10 1000 0100 |0006: invoke-virtual {v1}, Landroid/app/AlertDialog;.isShowing:()Z // method@0010 │ │ +01a5a2: 0a01 |0009: move-result v1 │ │ +01a5a4: 3801 0700 |000a: if-eqz v1, 0011 // +0007 │ │ +01a5a8: 6201 fa00 |000c: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.PASSWORD_DIAG:Landroid/app/AlertDialog; // field@00fa │ │ +01a5ac: 6e10 0f00 0100 |000e: invoke-virtual {v1}, Landroid/app/AlertDialog;.dismiss:()V // method@000f │ │ +01a5b2: 6201 ed00 |0011: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.CONFIG:Ldnsfilter/ConfigurationAccess; // field@00ed │ │ +01a5b6: 6e10 4d01 0100 |0013: invoke-virtual {v1}, Ldnsfilter/ConfigurationAccess;.getConfig:()Ljava/util/Properties; // method@014d │ │ +01a5bc: 0c01 |0016: move-result-object v1 │ │ +01a5be: 3901 0800 |0017: if-nez v1, 001f // +0008 │ │ +01a5c2: 1a00 8401 |0019: const-string v0, "Error: Config is null!" // string@0184 │ │ +01a5c6: 6e20 0803 0500 |001b: invoke-virtual {v5, v0}, Ldnsfilter/android/DNSProxyActivity;.logLine:(Ljava/lang/String;)V // method@0308 │ │ +01a5cc: 0e00 |001e: return-void │ │ +01a5ce: 6201 ed00 |001f: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.CONFIG:Ldnsfilter/ConfigurationAccess; // field@00ed │ │ +01a5d2: 6e10 4d01 0100 |0021: invoke-virtual {v1}, Ldnsfilter/ConfigurationAccess;.getConfig:()Ljava/util/Properties; // method@014d │ │ +01a5d8: 0c01 |0024: move-result-object v1 │ │ +01a5da: 1a02 5609 |0025: const-string v2, "passcode" // string@0956 │ │ +01a5de: 6e30 5506 2100 |0027: invoke-virtual {v1, v2, v0}, Ljava/util/Properties;.getProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@0655 │ │ +01a5e4: 0c01 |002a: move-result-object v1 │ │ +01a5e6: 6e10 a005 0100 |002b: invoke-virtual {v1}, Ljava/lang/String;.trim:()Ljava/lang/String; // method@05a0 │ │ +01a5ec: 0c01 |002e: move-result-object v1 │ │ +01a5ee: 6e20 8b05 0100 |002f: invoke-virtual {v1, v0}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058b │ │ +01a5f4: 0a00 |0032: move-result v0 │ │ +01a5f6: 3800 0300 |0033: if-eqz v0, 0036 // +0003 │ │ +01a5fa: 0e00 |0035: return-void │ │ +01a5fc: 2200 0800 |0036: new-instance v0, Landroid/app/AlertDialog$Builder; // type@0008 │ │ +01a600: 7020 0900 5000 |0038: invoke-direct {v0, v5}, Landroid/app/AlertDialog$Builder;.:(Landroid/content/Context;)V // method@0009 │ │ +01a606: 1202 |003b: const/4 v2, #int 0 // #0 │ │ +01a608: 6e20 0a00 2000 |003c: invoke-virtual {v0, v2}, Landroid/app/AlertDialog$Builder;.setCancelable:(Z)Landroid/app/AlertDialog$Builder; // method@000a │ │ +01a60e: 0c00 |003f: move-result-object v0 │ │ +01a610: 1a02 0c04 |0040: const-string v2, "Passcode required!" // string@040c │ │ +01a614: 6e20 0c00 2000 |0042: invoke-virtual {v0, v2}, Landroid/app/AlertDialog$Builder;.setTitle:(Ljava/lang/CharSequence;)Landroid/app/AlertDialog$Builder; // method@000c │ │ +01a61a: 2202 6700 |0045: new-instance v2, Landroid/widget/EditText; // type@0067 │ │ +01a61e: 7020 d300 5200 |0047: invoke-direct {v2, v5}, Landroid/widget/EditText;.:(Landroid/content/Context;)V // method@00d3 │ │ +01a624: 1303 8100 |004a: const/16 v3, #int 129 // #81 │ │ +01a628: 6e20 df00 3200 |004c: invoke-virtual {v2, v3}, Landroid/widget/EditText;.setInputType:(I)V // method@00df │ │ +01a62e: 6e20 0d00 2000 |004f: invoke-virtual {v0, v2}, Landroid/app/AlertDialog$Builder;.setView:(Landroid/view/View;)Landroid/app/AlertDialog$Builder; // method@000d │ │ +01a634: 1a03 fa03 |0052: const-string v3, "OK" // string@03fa │ │ +01a638: 2204 a600 |0054: new-instance v4, Ldnsfilter/android/DNSProxyActivity$1; // type@00a6 │ │ +01a63c: 7040 bd02 5412 |0056: invoke-direct {v4, v5, v2, v1}, Ldnsfilter/android/DNSProxyActivity$1;.:(Ldnsfilter/android/DNSProxyActivity;Landroid/widget/EditText;Ljava/lang/String;)V // method@02bd │ │ +01a642: 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 │ │ +01a648: 2201 a700 |005c: new-instance v1, Ldnsfilter/android/DNSProxyActivity$2; // type@00a7 │ │ +01a64c: 7030 bf02 5100 |005e: invoke-direct {v1, v5, v0}, Ldnsfilter/android/DNSProxyActivity$2;.:(Ldnsfilter/android/DNSProxyActivity;Landroid/app/AlertDialog$Builder;)V // method@02bf │ │ +01a652: 6e20 2a03 1500 |0061: invoke-virtual {v5, v1}, Ldnsfilter/android/DNSProxyActivity;.runOnUiThread:(Ljava/lang/Runnable;)V // method@032a │ │ +01a658: 2805 |0064: goto 0069 // +0005 │ │ +01a65a: 0d00 |0065: move-exception v0 │ │ +01a65c: 6e20 0703 0500 |0066: invoke-virtual {v5, v0}, Ldnsfilter/android/DNSProxyActivity;.logException:(Ljava/lang/Exception;)V // method@0307 │ │ +01a662: 0e00 |0069: return-void │ │ catches : 1 │ │ 0x0011 - 0x0064 │ │ Ljava/io/IOException; -> 0x0065 │ │ positions : │ │ 0x0000 line=635 │ │ 0x000c line=636 │ │ 0x0011 line=638 │ │ @@ -43834,34 +43834,34 @@ │ │ type : '()V' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 3 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 37 16-bit code units │ │ -01a678: |[01a678] dnsfilter.android.DNSProxyActivity.closeInitialInfoPopUp:()V │ │ -01a688: 6200 2601 |0000: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.popUpDialog:Landroid/app/Dialog; // field@0126 │ │ -01a68c: 1401 1b00 057f |0002: const v1, #float 1.76788e+38 // #7f05001b │ │ -01a692: 6e20 1700 1000 |0005: invoke-virtual {v0, v1}, Landroid/app/Dialog;.findViewById:(I)Landroid/view/View; // method@0017 │ │ -01a698: 0c00 |0008: move-result-object v0 │ │ -01a69a: 1f00 6400 |0009: check-cast v0, Landroid/widget/CheckBox; // type@0064 │ │ -01a69e: 6e10 cc00 0000 |000b: invoke-virtual {v0}, Landroid/widget/CheckBox;.isChecked:()Z // method@00cc │ │ -01a6a4: 0a00 |000e: move-result v0 │ │ -01a6a6: 1211 |000f: const/4 v1, #int 1 // #1 │ │ -01a6a8: b710 |0010: xor-int/2addr v0, v1 │ │ -01a6aa: 6a00 3501 |0011: sput-boolean v0, Ldnsfilter/android/DNSProxyActivity;.showInitialInfoPopUp:Z // field@0135 │ │ -01a6ae: 6200 2601 |0013: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.popUpDialog:Landroid/app/Dialog; // field@0126 │ │ -01a6b2: 6e10 1600 0000 |0015: invoke-virtual {v0}, Landroid/app/Dialog;.dismiss:()V // method@0016 │ │ -01a6b8: 6300 3501 |0018: sget-boolean v0, Ldnsfilter/android/DNSProxyActivity;.showInitialInfoPopUp:Z // field@0135 │ │ -01a6bc: 3900 0a00 |001a: if-nez v0, 0024 // +000a │ │ -01a6c0: 6a01 2701 |001c: sput-boolean v1, Ldnsfilter/android/DNSProxyActivity;.popUpDialogChanged:Z // field@0127 │ │ -01a6c4: 7010 2203 0200 |001e: invoke-direct {v2}, Ldnsfilter/android/DNSProxyActivity;.persistConfig:()V // method@0322 │ │ -01a6ca: 1200 |0021: const/4 v0, #int 0 // #0 │ │ -01a6cc: 6a00 2701 |0022: sput-boolean v0, Ldnsfilter/android/DNSProxyActivity;.popUpDialogChanged:Z // field@0127 │ │ -01a6d0: 0e00 |0024: return-void │ │ +01a674: |[01a674] dnsfilter.android.DNSProxyActivity.closeInitialInfoPopUp:()V │ │ +01a684: 6200 2601 |0000: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.popUpDialog:Landroid/app/Dialog; // field@0126 │ │ +01a688: 1401 1b00 057f |0002: const v1, #float 1.76788e+38 // #7f05001b │ │ +01a68e: 6e20 1700 1000 |0005: invoke-virtual {v0, v1}, Landroid/app/Dialog;.findViewById:(I)Landroid/view/View; // method@0017 │ │ +01a694: 0c00 |0008: move-result-object v0 │ │ +01a696: 1f00 6400 |0009: check-cast v0, Landroid/widget/CheckBox; // type@0064 │ │ +01a69a: 6e10 cc00 0000 |000b: invoke-virtual {v0}, Landroid/widget/CheckBox;.isChecked:()Z // method@00cc │ │ +01a6a0: 0a00 |000e: move-result v0 │ │ +01a6a2: 1211 |000f: const/4 v1, #int 1 // #1 │ │ +01a6a4: b710 |0010: xor-int/2addr v0, v1 │ │ +01a6a6: 6a00 3501 |0011: sput-boolean v0, Ldnsfilter/android/DNSProxyActivity;.showInitialInfoPopUp:Z // field@0135 │ │ +01a6aa: 6200 2601 |0013: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.popUpDialog:Landroid/app/Dialog; // field@0126 │ │ +01a6ae: 6e10 1600 0000 |0015: invoke-virtual {v0}, Landroid/app/Dialog;.dismiss:()V // method@0016 │ │ +01a6b4: 6300 3501 |0018: sget-boolean v0, Ldnsfilter/android/DNSProxyActivity;.showInitialInfoPopUp:Z // field@0135 │ │ +01a6b8: 3900 0a00 |001a: if-nez v0, 0024 // +000a │ │ +01a6bc: 6a01 2701 |001c: sput-boolean v1, Ldnsfilter/android/DNSProxyActivity;.popUpDialogChanged:Z // field@0127 │ │ +01a6c0: 7010 2203 0200 |001e: invoke-direct {v2}, Ldnsfilter/android/DNSProxyActivity;.persistConfig:()V // method@0322 │ │ +01a6c6: 1200 |0021: const/4 v0, #int 0 // #0 │ │ +01a6c8: 6a00 2701 |0022: sput-boolean v0, Ldnsfilter/android/DNSProxyActivity;.popUpDialogChanged:Z // field@0127 │ │ +01a6cc: 0e00 |0024: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=905 │ │ 0x0013 line=906 │ │ 0x0018 line=907 │ │ 0x001c line=908 │ │ 0x001e line=909 │ │ @@ -43874,21 +43874,21 @@ │ │ type : '()V' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 3 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 14 16-bit code units │ │ -01a6e8: |[01a6e8] dnsfilter.android.DNSProxyActivity.doAsyncCheck:()V │ │ -01a6f8: 2200 2f01 |0000: new-instance v0, Ljava/lang/Thread; // type@012f │ │ -01a6fc: 2201 ad00 |0002: new-instance v1, Ldnsfilter/android/DNSProxyActivity$7; // type@00ad │ │ -01a700: 7020 cb02 2100 |0004: invoke-direct {v1, v2}, Ldnsfilter/android/DNSProxyActivity$7;.:(Ldnsfilter/android/DNSProxyActivity;)V // method@02cb │ │ -01a706: 7020 b405 1000 |0007: invoke-direct {v0, v1}, Ljava/lang/Thread;.:(Ljava/lang/Runnable;)V // method@05b4 │ │ -01a70c: 6e10 ba05 0000 |000a: invoke-virtual {v0}, Ljava/lang/Thread;.start:()V // method@05ba │ │ -01a712: 0e00 |000d: return-void │ │ +01a6e4: |[01a6e4] dnsfilter.android.DNSProxyActivity.doAsyncCheck:()V │ │ +01a6f4: 2200 2f01 |0000: new-instance v0, Ljava/lang/Thread; // type@012f │ │ +01a6f8: 2201 ad00 |0002: new-instance v1, Ldnsfilter/android/DNSProxyActivity$7; // type@00ad │ │ +01a6fc: 7020 cb02 2100 |0004: invoke-direct {v1, v2}, Ldnsfilter/android/DNSProxyActivity$7;.:(Ldnsfilter/android/DNSProxyActivity;)V // method@02cb │ │ +01a702: 7020 b405 1000 |0007: invoke-direct {v0, v1}, Ljava/lang/Thread;.:(Ljava/lang/Runnable;)V // method@05b4 │ │ +01a708: 6e10 ba05 0000 |000a: invoke-virtual {v0}, Ljava/lang/Thread;.start:()V // method@05ba │ │ +01a70e: 0e00 |000d: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=1797 │ │ 0x000a line=1815 │ │ locals : │ │ 0x0000 - 0x000e reg=2 this Ldnsfilter/android/DNSProxyActivity; │ │ │ │ @@ -43897,65 +43897,65 @@ │ │ type : '(Ljava/lang/Exception;)V' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 8 │ │ ins : 2 │ │ outs : 3 │ │ insns size : 109 16-bit code units │ │ -01a850: |[01a850] dnsfilter.android.DNSProxyActivity.dump:(Ljava/lang/Exception;)V │ │ -01a860: 1a00 0700 |0000: const-string v0, " │ │ +01a84c: |[01a84c] dnsfilter.android.DNSProxyActivity.dump:(Ljava/lang/Exception;)V │ │ +01a85c: 1a00 0700 |0000: const-string v0, " │ │ VERSION: 1505800 │ │ │ │ " // string@0007 │ │ -01a864: 1a01 6b04 |0002: const-string v1, "TIME: " // string@046b │ │ -01a868: 2202 0d01 |0004: new-instance v2, Ljava/io/StringWriter; // type@010d │ │ -01a86c: 7010 4605 0200 |0006: invoke-direct {v2}, Ljava/io/StringWriter;.:()V // method@0546 │ │ -01a872: 2203 0a01 |0009: new-instance v3, Ljava/io/PrintWriter; // type@010a │ │ -01a876: 7020 4105 2300 |000b: invoke-direct {v3, v2}, Ljava/io/PrintWriter;.:(Ljava/io/Writer;)V // method@0541 │ │ -01a87c: 6e20 5e05 3700 |000e: invoke-virtual {v7, v3}, Ljava/lang/Exception;.printStackTrace:(Ljava/io/PrintWriter;)V // method@055e │ │ -01a882: 2207 ff00 |0011: new-instance v7, Ljava/io/FileOutputStream; // type@00ff │ │ -01a886: 2203 2d01 |0013: new-instance v3, Ljava/lang/StringBuilder; // type@012d │ │ -01a88a: 7010 a705 0300 |0015: invoke-direct {v3}, Ljava/lang/StringBuilder;.:()V // method@05a7 │ │ -01a890: 7100 d206 0000 |0018: invoke-static {}, Lutil/ExecutionEnvironment;.getEnvironment:()Lutil/ExecutionEnvironmentInterface; // method@06d2 │ │ -01a896: 0c04 |001b: move-result-object v4 │ │ -01a898: 7210 e206 0400 |001c: invoke-interface {v4}, Lutil/ExecutionEnvironmentInterface;.getWorkDir:()Ljava/lang/String; // method@06e2 │ │ -01a89e: 0c04 |001f: move-result-object v4 │ │ -01a8a0: 6e20 ad05 4300 |0020: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -01a8a6: 1a04 6700 |0023: const-string v4, "/dump-" // string@0067 │ │ -01a8aa: 6e20 ad05 4300 |0025: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -01a8b0: 7100 b105 0000 |0028: invoke-static {}, Ljava/lang/System;.currentTimeMillis:()J // method@05b1 │ │ -01a8b6: 0b04 |002b: move-result-wide v4 │ │ -01a8b8: 6e30 ab05 4305 |002c: invoke-virtual {v3, v4, v5}, Ljava/lang/StringBuilder;.append:(J)Ljava/lang/StringBuilder; // method@05ab │ │ -01a8be: 1a04 5f00 |002f: const-string v4, ".txt" // string@005f │ │ -01a8c2: 6e20 ad05 4300 |0031: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -01a8c8: 6e10 af05 0300 |0034: invoke-virtual {v3}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ -01a8ce: 0c03 |0037: move-result-object v3 │ │ -01a8d0: 7020 1a05 3700 |0038: invoke-direct {v7, v3}, Ljava/io/FileOutputStream;.:(Ljava/lang/String;)V // method@051a │ │ -01a8d6: 2203 2d01 |003b: new-instance v3, Ljava/lang/StringBuilder; // type@012d │ │ -01a8da: 7020 a805 1300 |003d: invoke-direct {v3, v1}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05a8 │ │ -01a8e0: 2201 5601 |0040: new-instance v1, Ljava/util/Date; // type@0156 │ │ -01a8e4: 7010 2006 0100 |0042: invoke-direct {v1}, Ljava/util/Date;.:()V // method@0620 │ │ -01a8ea: 6e20 ac05 1300 |0045: invoke-virtual {v3, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@05ac │ │ -01a8f0: 6e20 ad05 0300 |0048: invoke-virtual {v3, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -01a8f6: 6e10 af05 0300 |004b: invoke-virtual {v3}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ -01a8fc: 0c00 |004e: move-result-object v0 │ │ -01a8fe: 6e10 8d05 0000 |004f: invoke-virtual {v0}, Ljava/lang/String;.getBytes:()[B // method@058d │ │ -01a904: 0c00 |0052: move-result-object v0 │ │ -01a906: 6e20 1d05 0700 |0053: invoke-virtual {v7, v0}, Ljava/io/FileOutputStream;.write:([B)V // method@051d │ │ -01a90c: 6e10 4705 0200 |0056: invoke-virtual {v2}, Ljava/io/StringWriter;.toString:()Ljava/lang/String; // method@0547 │ │ -01a912: 0c00 |0059: move-result-object v0 │ │ -01a914: 6e10 8d05 0000 |005a: invoke-virtual {v0}, Ljava/lang/String;.getBytes:()[B // method@058d │ │ -01a91a: 0c00 |005d: move-result-object v0 │ │ -01a91c: 6e20 1d05 0700 |005e: invoke-virtual {v7, v0}, Ljava/io/FileOutputStream;.write:([B)V // method@051d │ │ -01a922: 6e10 1c05 0700 |0061: invoke-virtual {v7}, Ljava/io/FileOutputStream;.flush:()V // method@051c │ │ -01a928: 6e10 1b05 0700 |0064: invoke-virtual {v7}, Ljava/io/FileOutputStream;.close:()V // method@051b │ │ -01a92e: 2805 |0067: goto 006c // +0005 │ │ -01a930: 0d07 |0068: move-exception v7 │ │ -01a932: 6e10 5c05 0700 |0069: invoke-virtual {v7}, Ljava/lang/Exception;.printStackTrace:()V // method@055c │ │ -01a938: 0e00 |006c: return-void │ │ +01a860: 1a01 6b04 |0002: const-string v1, "TIME: " // string@046b │ │ +01a864: 2202 0d01 |0004: new-instance v2, Ljava/io/StringWriter; // type@010d │ │ +01a868: 7010 4605 0200 |0006: invoke-direct {v2}, Ljava/io/StringWriter;.:()V // method@0546 │ │ +01a86e: 2203 0a01 |0009: new-instance v3, Ljava/io/PrintWriter; // type@010a │ │ +01a872: 7020 4105 2300 |000b: invoke-direct {v3, v2}, Ljava/io/PrintWriter;.:(Ljava/io/Writer;)V // method@0541 │ │ +01a878: 6e20 5e05 3700 |000e: invoke-virtual {v7, v3}, Ljava/lang/Exception;.printStackTrace:(Ljava/io/PrintWriter;)V // method@055e │ │ +01a87e: 2207 ff00 |0011: new-instance v7, Ljava/io/FileOutputStream; // type@00ff │ │ +01a882: 2203 2d01 |0013: new-instance v3, Ljava/lang/StringBuilder; // type@012d │ │ +01a886: 7010 a705 0300 |0015: invoke-direct {v3}, Ljava/lang/StringBuilder;.:()V // method@05a7 │ │ +01a88c: 7100 d206 0000 |0018: invoke-static {}, Lutil/ExecutionEnvironment;.getEnvironment:()Lutil/ExecutionEnvironmentInterface; // method@06d2 │ │ +01a892: 0c04 |001b: move-result-object v4 │ │ +01a894: 7210 e206 0400 |001c: invoke-interface {v4}, Lutil/ExecutionEnvironmentInterface;.getWorkDir:()Ljava/lang/String; // method@06e2 │ │ +01a89a: 0c04 |001f: move-result-object v4 │ │ +01a89c: 6e20 ad05 4300 |0020: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +01a8a2: 1a04 6700 |0023: const-string v4, "/dump-" // string@0067 │ │ +01a8a6: 6e20 ad05 4300 |0025: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +01a8ac: 7100 b105 0000 |0028: invoke-static {}, Ljava/lang/System;.currentTimeMillis:()J // method@05b1 │ │ +01a8b2: 0b04 |002b: move-result-wide v4 │ │ +01a8b4: 6e30 ab05 4305 |002c: invoke-virtual {v3, v4, v5}, Ljava/lang/StringBuilder;.append:(J)Ljava/lang/StringBuilder; // method@05ab │ │ +01a8ba: 1a04 5f00 |002f: const-string v4, ".txt" // string@005f │ │ +01a8be: 6e20 ad05 4300 |0031: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +01a8c4: 6e10 af05 0300 |0034: invoke-virtual {v3}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ +01a8ca: 0c03 |0037: move-result-object v3 │ │ +01a8cc: 7020 1a05 3700 |0038: invoke-direct {v7, v3}, Ljava/io/FileOutputStream;.:(Ljava/lang/String;)V // method@051a │ │ +01a8d2: 2203 2d01 |003b: new-instance v3, Ljava/lang/StringBuilder; // type@012d │ │ +01a8d6: 7020 a805 1300 |003d: invoke-direct {v3, v1}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05a8 │ │ +01a8dc: 2201 5601 |0040: new-instance v1, Ljava/util/Date; // type@0156 │ │ +01a8e0: 7010 2006 0100 |0042: invoke-direct {v1}, Ljava/util/Date;.:()V // method@0620 │ │ +01a8e6: 6e20 ac05 1300 |0045: invoke-virtual {v3, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@05ac │ │ +01a8ec: 6e20 ad05 0300 |0048: invoke-virtual {v3, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +01a8f2: 6e10 af05 0300 |004b: invoke-virtual {v3}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ +01a8f8: 0c00 |004e: move-result-object v0 │ │ +01a8fa: 6e10 8d05 0000 |004f: invoke-virtual {v0}, Ljava/lang/String;.getBytes:()[B // method@058d │ │ +01a900: 0c00 |0052: move-result-object v0 │ │ +01a902: 6e20 1d05 0700 |0053: invoke-virtual {v7, v0}, Ljava/io/FileOutputStream;.write:([B)V // method@051d │ │ +01a908: 6e10 4705 0200 |0056: invoke-virtual {v2}, Ljava/io/StringWriter;.toString:()Ljava/lang/String; // method@0547 │ │ +01a90e: 0c00 |0059: move-result-object v0 │ │ +01a910: 6e10 8d05 0000 |005a: invoke-virtual {v0}, Ljava/lang/String;.getBytes:()[B // method@058d │ │ +01a916: 0c00 |005d: move-result-object v0 │ │ +01a918: 6e20 1d05 0700 |005e: invoke-virtual {v7, v0}, Ljava/io/FileOutputStream;.write:([B)V // method@051d │ │ +01a91e: 6e10 1c05 0700 |0061: invoke-virtual {v7}, Ljava/io/FileOutputStream;.flush:()V // method@051c │ │ +01a924: 6e10 1b05 0700 |0064: invoke-virtual {v7}, Ljava/io/FileOutputStream;.close:()V // method@051b │ │ +01a92a: 2805 |0067: goto 006c // +0005 │ │ +01a92c: 0d07 |0068: move-exception v7 │ │ +01a92e: 6e10 5c05 0700 |0069: invoke-virtual {v7}, Ljava/lang/Exception;.printStackTrace:()V // method@055c │ │ +01a934: 0e00 |006c: return-void │ │ catches : 1 │ │ 0x0011 - 0x0067 │ │ Ljava/lang/Exception; -> 0x0068 │ │ positions : │ │ 0x0004 line=682 │ │ 0x0009 line=683 │ │ 0x0011 line=685 │ │ @@ -43973,25 +43973,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 │ │ -019c0c: |[019c0c] dnsfilter.android.DNSProxyActivity.fromHtml:(Ljava/lang/String;)Landroid/text/Spanned; │ │ -019c1c: 6000 0200 |0000: sget v0, Landroid/os/Build$VERSION;.SDK_INT:I // field@0002 │ │ -019c20: 1301 1800 |0002: const/16 v1, #int 24 // #18 │ │ -019c24: 3410 0800 |0004: if-lt v0, v1, 000c // +0008 │ │ -019c28: 1200 |0006: const/4 v0, #int 0 // #0 │ │ -019c2a: 7120 6302 0200 |0007: invoke-static {v2, v0}, Ldnsfilter/android/BootUpReceiver$$ExternalSyntheticApiModelOutline0;.m:(Ljava/lang/String;I)Landroid/text/Spanned; // method@0263 │ │ -019c30: 0c02 |000a: move-result-object v2 │ │ -019c32: 1102 |000b: return-object v2 │ │ -019c34: 7110 9a00 0200 |000c: invoke-static {v2}, Landroid/text/Html;.fromHtml:(Ljava/lang/String;)Landroid/text/Spanned; // method@009a │ │ -019c3a: 0c02 |000f: move-result-object v2 │ │ -019c3c: 1102 |0010: return-object v2 │ │ +019c08: |[019c08] dnsfilter.android.DNSProxyActivity.fromHtml:(Ljava/lang/String;)Landroid/text/Spanned; │ │ +019c18: 6000 0200 |0000: sget v0, Landroid/os/Build$VERSION;.SDK_INT:I // field@0002 │ │ +019c1c: 1301 1800 |0002: const/16 v1, #int 24 // #18 │ │ +019c20: 3410 0800 |0004: if-lt v0, v1, 000c // +0008 │ │ +019c24: 1200 |0006: const/4 v0, #int 0 // #0 │ │ +019c26: 7120 6302 0200 |0007: invoke-static {v2, v0}, Ldnsfilter/android/BootUpReceiver$$ExternalSyntheticApiModelOutline0;.m:(Ljava/lang/String;I)Landroid/text/Spanned; // method@0263 │ │ +019c2c: 0c02 |000a: move-result-object v2 │ │ +019c2e: 1102 |000b: return-object v2 │ │ +019c30: 7110 9a00 0200 |000c: invoke-static {v2}, Landroid/text/Html;.fromHtml:(Ljava/lang/String;)Landroid/text/Spanned; // method@009a │ │ +019c36: 0c02 |000f: move-result-object v2 │ │ +019c38: 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; │ │ @@ -44001,53 +44001,53 @@ │ │ type : '(Z)Ljava/lang/String;' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 6 │ │ ins : 2 │ │ outs : 3 │ │ insns size : 73 16-bit code units │ │ -01a0e4: |[01a0e4] dnsfilter.android.DNSProxyActivity.getSelectedText:(Z)Ljava/lang/String; │ │ -01a0f4: 6200 2001 |0000: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.logOutView:Landroid/widget/EditText; // field@0120 │ │ -01a0f8: 6e10 d900 0000 |0002: invoke-virtual {v0}, Landroid/widget/EditText;.getSelectionStart:()I // method@00d9 │ │ -01a0fe: 0a00 |0005: move-result v0 │ │ -01a100: 6201 2001 |0006: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.logOutView:Landroid/widget/EditText; // field@0120 │ │ -01a104: 6e10 d800 0100 |0008: invoke-virtual {v1}, Landroid/widget/EditText;.getSelectionEnd:()I // method@00d8 │ │ -01a10a: 0a01 |000b: move-result v1 │ │ -01a10c: 3701 3a00 |000c: if-le v1, v0, 0046 // +003a │ │ -01a110: 6202 2001 |000e: sget-object v2, Ldnsfilter/android/DNSProxyActivity;.logOutView:Landroid/widget/EditText; // field@0120 │ │ -01a114: 6e10 da00 0200 |0010: invoke-virtual {v2}, Landroid/widget/EditText;.getText:()Landroid/text/Editable; // method@00da │ │ -01a11a: 0c02 |0013: move-result-object v2 │ │ -01a11c: 3805 2900 |0014: if-eqz v5, 003d // +0029 │ │ -01a120: 7220 9c00 0200 |0016: invoke-interface {v2, v0}, Landroid/text/Spannable;.charAt:(I)C // method@009c │ │ -01a126: 0a05 |0019: move-result v5 │ │ -01a128: 1303 0a00 |001a: const/16 v3, #int 10 // #a │ │ -01a12c: 3235 0700 |001c: if-eq v5, v3, 0023 // +0007 │ │ -01a130: 3d00 0500 |001e: if-lez v0, 0023 // +0005 │ │ -01a134: d800 00ff |0020: add-int/lit8 v0, v0, #int -1 // #ff │ │ -01a138: 28f4 |0022: goto 0016 // -000c │ │ -01a13a: 3800 0400 |0023: if-eqz v0, 0027 // +0004 │ │ -01a13e: d800 0001 |0025: add-int/lit8 v0, v0, #int 1 // #01 │ │ -01a142: 7210 9d00 0200 |0027: invoke-interface {v2}, Landroid/text/Spannable;.length:()I // method@009d │ │ -01a148: 0a05 |002a: move-result v5 │ │ -01a14a: d805 05ff |002b: add-int/lit8 v5, v5, #int -1 // #ff │ │ -01a14e: 3551 0b00 |002d: if-ge v1, v5, 0038 // +000b │ │ -01a152: 7220 9c00 1200 |002f: invoke-interface {v2, v1}, Landroid/text/Spannable;.charAt:(I)C // method@009c │ │ -01a158: 0a05 |0032: move-result v5 │ │ -01a15a: 3235 0500 |0033: if-eq v5, v3, 0038 // +0005 │ │ -01a15e: d801 0101 |0035: add-int/lit8 v1, v1, #int 1 // #01 │ │ -01a162: 28f0 |0037: goto 0027 // -0010 │ │ -01a164: 6205 2001 |0038: sget-object v5, Ldnsfilter/android/DNSProxyActivity;.logOutView:Landroid/widget/EditText; // field@0120 │ │ -01a168: 6e30 e500 0501 |003a: invoke-virtual {v5, v0, v1}, Landroid/widget/EditText;.setSelection:(II)V // method@00e5 │ │ -01a16e: 7230 9e00 0201 |003d: invoke-interface {v2, v0, v1}, Landroid/text/Spannable;.subSequence:(II)Ljava/lang/CharSequence; // method@009e │ │ -01a174: 0c05 |0040: move-result-object v5 │ │ -01a176: 7210 5005 0500 |0041: invoke-interface {v5}, Ljava/lang/CharSequence;.toString:()Ljava/lang/String; // method@0550 │ │ -01a17c: 0c05 |0044: move-result-object v5 │ │ -01a17e: 2803 |0045: goto 0048 // +0003 │ │ -01a180: 1a05 0000 |0046: const-string v5, "" // string@0000 │ │ -01a184: 1105 |0048: return-object v5 │ │ +01a0e0: |[01a0e0] dnsfilter.android.DNSProxyActivity.getSelectedText:(Z)Ljava/lang/String; │ │ +01a0f0: 6200 2001 |0000: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.logOutView:Landroid/widget/EditText; // field@0120 │ │ +01a0f4: 6e10 d900 0000 |0002: invoke-virtual {v0}, Landroid/widget/EditText;.getSelectionStart:()I // method@00d9 │ │ +01a0fa: 0a00 |0005: move-result v0 │ │ +01a0fc: 6201 2001 |0006: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.logOutView:Landroid/widget/EditText; // field@0120 │ │ +01a100: 6e10 d800 0100 |0008: invoke-virtual {v1}, Landroid/widget/EditText;.getSelectionEnd:()I // method@00d8 │ │ +01a106: 0a01 |000b: move-result v1 │ │ +01a108: 3701 3a00 |000c: if-le v1, v0, 0046 // +003a │ │ +01a10c: 6202 2001 |000e: sget-object v2, Ldnsfilter/android/DNSProxyActivity;.logOutView:Landroid/widget/EditText; // field@0120 │ │ +01a110: 6e10 da00 0200 |0010: invoke-virtual {v2}, Landroid/widget/EditText;.getText:()Landroid/text/Editable; // method@00da │ │ +01a116: 0c02 |0013: move-result-object v2 │ │ +01a118: 3805 2900 |0014: if-eqz v5, 003d // +0029 │ │ +01a11c: 7220 9c00 0200 |0016: invoke-interface {v2, v0}, Landroid/text/Spannable;.charAt:(I)C // method@009c │ │ +01a122: 0a05 |0019: move-result v5 │ │ +01a124: 1303 0a00 |001a: const/16 v3, #int 10 // #a │ │ +01a128: 3235 0700 |001c: if-eq v5, v3, 0023 // +0007 │ │ +01a12c: 3d00 0500 |001e: if-lez v0, 0023 // +0005 │ │ +01a130: d800 00ff |0020: add-int/lit8 v0, v0, #int -1 // #ff │ │ +01a134: 28f4 |0022: goto 0016 // -000c │ │ +01a136: 3800 0400 |0023: if-eqz v0, 0027 // +0004 │ │ +01a13a: d800 0001 |0025: add-int/lit8 v0, v0, #int 1 // #01 │ │ +01a13e: 7210 9d00 0200 |0027: invoke-interface {v2}, Landroid/text/Spannable;.length:()I // method@009d │ │ +01a144: 0a05 |002a: move-result v5 │ │ +01a146: d805 05ff |002b: add-int/lit8 v5, v5, #int -1 // #ff │ │ +01a14a: 3551 0b00 |002d: if-ge v1, v5, 0038 // +000b │ │ +01a14e: 7220 9c00 1200 |002f: invoke-interface {v2, v1}, Landroid/text/Spannable;.charAt:(I)C // method@009c │ │ +01a154: 0a05 |0032: move-result v5 │ │ +01a156: 3235 0500 |0033: if-eq v5, v3, 0038 // +0005 │ │ +01a15a: d801 0101 |0035: add-int/lit8 v1, v1, #int 1 // #01 │ │ +01a15e: 28f0 |0037: goto 0027 // -0010 │ │ +01a160: 6205 2001 |0038: sget-object v5, Ldnsfilter/android/DNSProxyActivity;.logOutView:Landroid/widget/EditText; // field@0120 │ │ +01a164: 6e30 e500 0501 |003a: invoke-virtual {v5, v0, v1}, Landroid/widget/EditText;.setSelection:(II)V // method@00e5 │ │ +01a16a: 7230 9e00 0201 |003d: invoke-interface {v2, v0, v1}, Landroid/text/Spannable;.subSequence:(II)Ljava/lang/CharSequence; // method@009e │ │ +01a170: 0c05 |0040: move-result-object v5 │ │ +01a172: 7210 5005 0500 |0041: invoke-interface {v5}, Ljava/lang/CharSequence;.toString:()Ljava/lang/String; // method@0550 │ │ +01a178: 0c05 |0044: move-result-object v5 │ │ +01a17a: 2803 |0045: goto 0048 // +0003 │ │ +01a17c: 1a05 0000 |0046: const-string v5, "" // string@0000 │ │ +01a180: 1105 |0048: return-object v5 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=1829 │ │ 0x0006 line=1830 │ │ 0x000e line=1833 │ │ 0x0016 line=1835 │ │ 0x0027 line=1839 │ │ @@ -44063,278 +44063,278 @@ │ │ type : '(Landroid/widget/CheckBox;)V' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 12 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 593 16-bit code units │ │ -01a94c: |[01a94c] dnsfilter.android.DNSProxyActivity.handleAdvancedConfig:(Landroid/widget/CheckBox;)V │ │ -01a95c: 1400 3900 057f |0000: const v0, #float 1.76788e+38 // #7f050039 │ │ -01a962: 6e20 ef02 0a00 |0003: invoke-virtual {v10, v0}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02ef │ │ -01a968: 0c00 |0006: move-result-object v0 │ │ -01a96a: 1f00 5900 |0007: check-cast v0, Landroid/view/ViewGroup; // type@0059 │ │ -01a96e: 7020 2503 0a00 |0009: invoke-direct {v10, v0}, Ldnsfilter/android/DNSProxyActivity;.prepareTransition:(Landroid/view/ViewGroup;)V // method@0325 │ │ -01a974: 1400 1000 057f |000c: const v0, #float 1.76788e+38 // #7f050010 │ │ -01a97a: 6e20 ef02 0a00 |000f: invoke-virtual {v10, v0}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02ef │ │ -01a980: 0c00 |0012: move-result-object v0 │ │ -01a982: 1f00 7300 |0013: check-cast v0, Landroid/widget/TextView; // type@0073 │ │ -01a986: 1a01 0000 |0015: const-string v1, "" // string@0000 │ │ -01a98a: 6e20 0901 1000 |0017: invoke-virtual {v0, v1}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@0109 │ │ -01a990: 6200 0301 |001a: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.advancedConfigCheck:Landroid/widget/CheckBox; // field@0103 │ │ -01a994: 6e10 cc00 0000 |001c: invoke-virtual {v0}, Landroid/widget/CheckBox;.isChecked:()Z // method@00cc │ │ -01a99a: 0a00 |001f: move-result v0 │ │ -01a99c: 1402 0900 057f |0020: const v2, #float 1.76788e+38 // #7f050009 │ │ -01a9a2: 1403 1200 057f |0023: const v3, #float 1.76788e+38 // #7f050012 │ │ -01a9a8: 1404 4500 057f |0026: const v4, #float 1.76789e+38 // #7f050045 │ │ -01a9ae: 1405 0600 057f |0029: const v5, #float 1.76787e+38 // #7f050006 │ │ -01a9b4: 1406 3100 057f |002c: const v6, #float 1.76788e+38 // #7f050031 │ │ -01a9ba: 1307 0800 |002f: const/16 v7, #int 8 // #8 │ │ -01a9be: 1208 |0031: const/4 v8, #int 0 // #0 │ │ -01a9c0: 3800 c701 |0032: if-eqz v0, 01f9 // +01c7 │ │ -01a9c4: 7020 2f03 7a00 |0034: invoke-direct {v10, v7}, Ldnsfilter/android/DNSProxyActivity;.setVisibilityForAdvCfg:(I)V // method@032f │ │ -01a9ca: 6000 0200 |0037: sget v0, Landroid/os/Build$VERSION;.SDK_INT:I // field@0002 │ │ -01a9ce: 1309 1500 |0039: const/16 v9, #int 21 // #15 │ │ -01a9d2: 3490 1700 |003b: if-lt v0, v9, 0052 // +0017 │ │ -01a9d6: 6200 ed00 |003d: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.CONFIG:Ldnsfilter/ConfigurationAccess; // field@00ed │ │ -01a9da: 6e10 5701 0000 |003f: invoke-virtual {v0}, Ldnsfilter/ConfigurationAccess;.isLocal:()Z // method@0157 │ │ -01a9e0: 0a00 |0042: move-result v0 │ │ -01a9e2: 3800 0f00 |0043: if-eqz v0, 0052 // +000f │ │ -01a9e6: 6300 f900 |0045: sget-boolean v0, Ldnsfilter/android/DNSProxyActivity;.NO_VPN:Z // field@00f9 │ │ -01a9ea: 3900 0b00 |0047: if-nez v0, 0052 // +000b │ │ -01a9ee: 6200 0601 |0049: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.appWhiteListCheck:Landroid/widget/CheckBox; // field@0106 │ │ -01a9f2: 6e20 d200 8000 |004b: invoke-virtual {v0, v8}, Landroid/widget/CheckBox;.setVisibility:(I)V // method@00d2 │ │ -01a9f8: 1210 |004e: const/4 v0, #int 1 // #1 │ │ -01a9fa: 6a00 0801 |004f: sput-boolean v0, Ldnsfilter/android/DNSProxyActivity;.appWhitelistingEnabled:Z // field@0108 │ │ -01a9fe: 280d |0051: goto 005e // +000d │ │ -01aa00: 6200 0601 |0052: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.appWhiteListCheck:Landroid/widget/CheckBox; // field@0106 │ │ -01aa04: 6e20 d200 7000 |0054: invoke-virtual {v0, v7}, Landroid/widget/CheckBox;.setVisibility:(I)V // method@00d2 │ │ -01aa0a: 6200 0601 |0057: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.appWhiteListCheck:Landroid/widget/CheckBox; // field@0106 │ │ -01aa0e: 6e20 cd00 8000 |0059: invoke-virtual {v0, v8}, Landroid/widget/CheckBox;.setChecked:(Z)V // method@00cd │ │ -01aa14: 6a08 0801 |005c: sput-boolean v8, Ldnsfilter/android/DNSProxyActivity;.appWhitelistingEnabled:Z // field@0108 │ │ -01aa18: 6e20 ef02 2a00 |005e: invoke-virtual {v10, v2}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02ef │ │ -01aa1e: 0c00 |0061: move-result-object v0 │ │ -01aa20: 6e20 b400 8000 |0062: invoke-virtual {v0, v8}, Landroid/view/View;.setVisibility:(I)V // method@00b4 │ │ -01aa26: 6200 1c01 |0065: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.keepAwakeCheck:Landroid/widget/CheckBox; // field@011c │ │ -01aa2a: 6e20 d200 8000 |0067: invoke-virtual {v0, v8}, Landroid/widget/CheckBox;.setVisibility:(I)V // method@00d2 │ │ -01aa30: 6200 2901 |006a: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.proxyModeCheck:Landroid/widget/CheckBox; // field@0129 │ │ -01aa34: 6e20 d200 8000 |006c: invoke-virtual {v0, v8}, Landroid/widget/CheckBox;.setVisibility:(I)V // method@00d2 │ │ -01aa3a: 6200 2801 |006f: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.proxyLocalOnlyCheck:Landroid/widget/CheckBox; // field@0128 │ │ -01aa3e: 6e20 d200 8000 |0071: invoke-virtual {v0, v8}, Landroid/widget/CheckBox;.setVisibility:(I)V // method@00d2 │ │ -01aa44: 6200 3001 |0074: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.rootModeCheck:Landroid/widget/CheckBox; // field@0130 │ │ -01aa48: 6e20 d200 8000 |0076: invoke-virtual {v0, v8}, Landroid/widget/CheckBox;.setVisibility:(I)V // method@00d2 │ │ -01aa4e: 6200 1501 |0079: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.enableCloakProtectCheck:Landroid/widget/CheckBox; // field@0115 │ │ -01aa52: 6e20 d200 8000 |007b: invoke-virtual {v0, v8}, Landroid/widget/CheckBox;.setVisibility:(I)V // method@00d2 │ │ -01aa58: 6200 1101 |007e: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.editAdditionalHostsCheck:Landroid/widget/CheckBox; // field@0111 │ │ -01aa5c: 6e20 d200 8000 |0080: invoke-virtual {v0, v8}, Landroid/widget/CheckBox;.setVisibility:(I)V // method@00d2 │ │ -01aa62: 6200 2201 |0083: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.manuallyEditConfChk:Landroid/widget/CheckBox; // field@0122 │ │ -01aa66: 6e20 d200 8000 |0085: invoke-virtual {v0, v8}, Landroid/widget/CheckBox;.setVisibility:(I)V // method@00d2 │ │ -01aa6c: 6200 1201 |0088: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.editFilterLoadCheck:Landroid/widget/CheckBox; // field@0112 │ │ -01aa70: 6e20 d200 8000 |008a: invoke-virtual {v0, v8}, Landroid/widget/CheckBox;.setVisibility:(I)V // method@00d2 │ │ -01aa76: 6200 0c01 |008d: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.backupRestoreCheck:Landroid/widget/CheckBox; // field@010c │ │ -01aa7a: 6e20 d200 8000 |008f: invoke-virtual {v0, v8}, Landroid/widget/CheckBox;.setVisibility:(I)V // method@00d2 │ │ -01aa80: 390b 3700 |0092: if-nez v11, 00c9 // +0037 │ │ -01aa84: 6200 1101 |0094: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.editAdditionalHostsCheck:Landroid/widget/CheckBox; // field@0111 │ │ -01aa88: 6e10 cc00 0000 |0096: invoke-virtual {v0}, Landroid/widget/CheckBox;.isChecked:()Z // method@00cc │ │ -01aa8e: 0a00 |0099: move-result v0 │ │ -01aa90: 3800 0400 |009a: if-eqz v0, 009e // +0004 │ │ -01aa94: 620b 1101 |009c: sget-object v11, Ldnsfilter/android/DNSProxyActivity;.editAdditionalHostsCheck:Landroid/widget/CheckBox; // field@0111 │ │ -01aa98: 6200 2201 |009e: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.manuallyEditConfChk:Landroid/widget/CheckBox; // field@0122 │ │ -01aa9c: 6e10 cc00 0000 |00a0: invoke-virtual {v0}, Landroid/widget/CheckBox;.isChecked:()Z // method@00cc │ │ -01aaa2: 0a00 |00a3: move-result v0 │ │ -01aaa4: 3800 0500 |00a4: if-eqz v0, 00a9 // +0005 │ │ -01aaa8: 620b 2201 |00a6: sget-object v11, Ldnsfilter/android/DNSProxyActivity;.manuallyEditConfChk:Landroid/widget/CheckBox; // field@0122 │ │ -01aaac: 2821 |00a8: goto 00c9 // +0021 │ │ -01aaae: 6200 1201 |00a9: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.editFilterLoadCheck:Landroid/widget/CheckBox; // field@0112 │ │ -01aab2: 6e10 cc00 0000 |00ab: invoke-virtual {v0}, Landroid/widget/CheckBox;.isChecked:()Z // method@00cc │ │ -01aab8: 0a00 |00ae: move-result v0 │ │ -01aaba: 3800 0500 |00af: if-eqz v0, 00b4 // +0005 │ │ -01aabe: 620b 1201 |00b1: sget-object v11, Ldnsfilter/android/DNSProxyActivity;.editFilterLoadCheck:Landroid/widget/CheckBox; // field@0112 │ │ -01aac2: 2816 |00b3: goto 00c9 // +0016 │ │ -01aac4: 6200 0c01 |00b4: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.backupRestoreCheck:Landroid/widget/CheckBox; // field@010c │ │ -01aac8: 6e10 cc00 0000 |00b6: invoke-virtual {v0}, Landroid/widget/CheckBox;.isChecked:()Z // method@00cc │ │ -01aace: 0a00 |00b9: move-result v0 │ │ -01aad0: 3800 0500 |00ba: if-eqz v0, 00bf // +0005 │ │ -01aad4: 620b 0c01 |00bc: sget-object v11, Ldnsfilter/android/DNSProxyActivity;.backupRestoreCheck:Landroid/widget/CheckBox; // field@010c │ │ -01aad8: 280b |00be: goto 00c9 // +000b │ │ -01aada: 6200 0601 |00bf: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.appWhiteListCheck:Landroid/widget/CheckBox; // field@0106 │ │ -01aade: 6e10 cc00 0000 |00c1: invoke-virtual {v0}, Landroid/widget/CheckBox;.isChecked:()Z // method@00cc │ │ -01aae4: 0a00 |00c4: move-result v0 │ │ -01aae6: 3800 0400 |00c5: if-eqz v0, 00c9 // +0004 │ │ -01aaea: 620b 0601 |00c7: sget-object v11, Ldnsfilter/android/DNSProxyActivity;.appWhiteListCheck:Landroid/widget/CheckBox; // field@0106 │ │ -01aaee: 6200 0301 |00c9: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.advancedConfigCheck:Landroid/widget/CheckBox; // field@0103 │ │ -01aaf2: 320b 9600 |00cb: if-eq v11, v0, 0161 // +0096 │ │ -01aaf6: 380b 9400 |00cd: if-eqz v11, 0161 // +0094 │ │ -01aafa: 6e10 cc00 0b00 |00cf: invoke-virtual {v11}, Landroid/widget/CheckBox;.isChecked:()Z // method@00cc │ │ -01ab00: 0a00 |00d2: move-result v0 │ │ -01ab02: 3800 5800 |00d3: if-eqz v0, 012b // +0058 │ │ -01ab06: 6200 1c01 |00d5: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.keepAwakeCheck:Landroid/widget/CheckBox; // field@011c │ │ -01ab0a: 6e20 d200 7000 |00d7: invoke-virtual {v0, v7}, Landroid/widget/CheckBox;.setVisibility:(I)V // method@00d2 │ │ -01ab10: 6200 2901 |00da: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.proxyModeCheck:Landroid/widget/CheckBox; // field@0129 │ │ -01ab14: 6e20 d200 7000 |00dc: invoke-virtual {v0, v7}, Landroid/widget/CheckBox;.setVisibility:(I)V // method@00d2 │ │ -01ab1a: 6200 2801 |00df: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.proxyLocalOnlyCheck:Landroid/widget/CheckBox; // field@0128 │ │ -01ab1e: 6e20 d200 7000 |00e1: invoke-virtual {v0, v7}, Landroid/widget/CheckBox;.setVisibility:(I)V // method@00d2 │ │ -01ab24: 6200 3001 |00e4: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.rootModeCheck:Landroid/widget/CheckBox; // field@0130 │ │ -01ab28: 6e20 d200 7000 |00e6: invoke-virtual {v0, v7}, Landroid/widget/CheckBox;.setVisibility:(I)V // method@00d2 │ │ -01ab2e: 6200 1501 |00e9: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.enableCloakProtectCheck:Landroid/widget/CheckBox; // field@0115 │ │ -01ab32: 6e20 d200 7000 |00eb: invoke-virtual {v0, v7}, Landroid/widget/CheckBox;.setVisibility:(I)V // method@00d2 │ │ -01ab38: 6200 1101 |00ee: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.editAdditionalHostsCheck:Landroid/widget/CheckBox; // field@0111 │ │ -01ab3c: 320b 0a00 |00f0: if-eq v11, v0, 00fa // +000a │ │ -01ab40: 6e20 cd00 8000 |00f2: invoke-virtual {v0, v8}, Landroid/widget/CheckBox;.setChecked:(Z)V // method@00cd │ │ -01ab46: 6200 1101 |00f5: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.editAdditionalHostsCheck:Landroid/widget/CheckBox; // field@0111 │ │ -01ab4a: 6e20 d200 7000 |00f7: invoke-virtual {v0, v7}, Landroid/widget/CheckBox;.setVisibility:(I)V // method@00d2 │ │ -01ab50: 6200 2201 |00fa: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.manuallyEditConfChk:Landroid/widget/CheckBox; // field@0122 │ │ -01ab54: 320b 0a00 |00fc: if-eq v11, v0, 0106 // +000a │ │ -01ab58: 6e20 cd00 8000 |00fe: invoke-virtual {v0, v8}, Landroid/widget/CheckBox;.setChecked:(Z)V // method@00cd │ │ -01ab5e: 6200 2201 |0101: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.manuallyEditConfChk:Landroid/widget/CheckBox; // field@0122 │ │ -01ab62: 6e20 d200 7000 |0103: invoke-virtual {v0, v7}, Landroid/widget/CheckBox;.setVisibility:(I)V // method@00d2 │ │ -01ab68: 6200 1201 |0106: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.editFilterLoadCheck:Landroid/widget/CheckBox; // field@0112 │ │ -01ab6c: 320b 0a00 |0108: if-eq v11, v0, 0112 // +000a │ │ -01ab70: 6e20 cd00 8000 |010a: invoke-virtual {v0, v8}, Landroid/widget/CheckBox;.setChecked:(Z)V // method@00cd │ │ -01ab76: 6200 1201 |010d: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.editFilterLoadCheck:Landroid/widget/CheckBox; // field@0112 │ │ -01ab7a: 6e20 d200 7000 |010f: invoke-virtual {v0, v7}, Landroid/widget/CheckBox;.setVisibility:(I)V // method@00d2 │ │ -01ab80: 6200 0601 |0112: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.appWhiteListCheck:Landroid/widget/CheckBox; // field@0106 │ │ -01ab84: 320b 0a00 |0114: if-eq v11, v0, 011e // +000a │ │ -01ab88: 6e20 cd00 8000 |0116: invoke-virtual {v0, v8}, Landroid/widget/CheckBox;.setChecked:(Z)V // method@00cd │ │ -01ab8e: 6200 0601 |0119: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.appWhiteListCheck:Landroid/widget/CheckBox; // field@0106 │ │ -01ab92: 6e20 d200 7000 |011b: invoke-virtual {v0, v7}, Landroid/widget/CheckBox;.setVisibility:(I)V // method@00d2 │ │ -01ab98: 6200 0c01 |011e: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.backupRestoreCheck:Landroid/widget/CheckBox; // field@010c │ │ -01ab9c: 320b 4100 |0120: if-eq v11, v0, 0161 // +0041 │ │ -01aba0: 6e20 cd00 8000 |0122: invoke-virtual {v0, v8}, Landroid/widget/CheckBox;.setChecked:(Z)V // method@00cd │ │ -01aba6: 620b 0c01 |0125: sget-object v11, Ldnsfilter/android/DNSProxyActivity;.backupRestoreCheck:Landroid/widget/CheckBox; // field@010c │ │ -01abaa: 6e20 d200 7b00 |0127: invoke-virtual {v11, v7}, Landroid/widget/CheckBox;.setVisibility:(I)V // method@00d2 │ │ -01abb0: 2837 |012a: goto 0161 // +0037 │ │ -01abb2: 620b 1c01 |012b: sget-object v11, Ldnsfilter/android/DNSProxyActivity;.keepAwakeCheck:Landroid/widget/CheckBox; // field@011c │ │ -01abb6: 6e20 d200 8b00 |012d: invoke-virtual {v11, v8}, Landroid/widget/CheckBox;.setVisibility:(I)V // method@00d2 │ │ -01abbc: 620b 2901 |0130: sget-object v11, Ldnsfilter/android/DNSProxyActivity;.proxyModeCheck:Landroid/widget/CheckBox; // field@0129 │ │ -01abc0: 6e20 d200 8b00 |0132: invoke-virtual {v11, v8}, Landroid/widget/CheckBox;.setVisibility:(I)V // method@00d2 │ │ -01abc6: 620b 2801 |0135: sget-object v11, Ldnsfilter/android/DNSProxyActivity;.proxyLocalOnlyCheck:Landroid/widget/CheckBox; // field@0128 │ │ -01abca: 6e20 d200 8b00 |0137: invoke-virtual {v11, v8}, Landroid/widget/CheckBox;.setVisibility:(I)V // method@00d2 │ │ -01abd0: 620b 3001 |013a: sget-object v11, Ldnsfilter/android/DNSProxyActivity;.rootModeCheck:Landroid/widget/CheckBox; // field@0130 │ │ -01abd4: 6e20 d200 8b00 |013c: invoke-virtual {v11, v8}, Landroid/widget/CheckBox;.setVisibility:(I)V // method@00d2 │ │ -01abda: 620b 1501 |013f: sget-object v11, Ldnsfilter/android/DNSProxyActivity;.enableCloakProtectCheck:Landroid/widget/CheckBox; // field@0115 │ │ -01abde: 6e20 d200 8b00 |0141: invoke-virtual {v11, v8}, Landroid/widget/CheckBox;.setVisibility:(I)V // method@00d2 │ │ -01abe4: 620b 1101 |0144: sget-object v11, Ldnsfilter/android/DNSProxyActivity;.editAdditionalHostsCheck:Landroid/widget/CheckBox; // field@0111 │ │ -01abe8: 6e20 d200 8b00 |0146: invoke-virtual {v11, v8}, Landroid/widget/CheckBox;.setVisibility:(I)V // method@00d2 │ │ -01abee: 620b 2201 |0149: sget-object v11, Ldnsfilter/android/DNSProxyActivity;.manuallyEditConfChk:Landroid/widget/CheckBox; // field@0122 │ │ -01abf2: 6e20 d200 8b00 |014b: invoke-virtual {v11, v8}, Landroid/widget/CheckBox;.setVisibility:(I)V // method@00d2 │ │ -01abf8: 620b 1201 |014e: sget-object v11, Ldnsfilter/android/DNSProxyActivity;.editFilterLoadCheck:Landroid/widget/CheckBox; // field@0112 │ │ -01abfc: 6e20 d200 8b00 |0150: invoke-virtual {v11, v8}, Landroid/widget/CheckBox;.setVisibility:(I)V // method@00d2 │ │ -01ac02: 630b 0801 |0153: sget-boolean v11, Ldnsfilter/android/DNSProxyActivity;.appWhitelistingEnabled:Z // field@0108 │ │ -01ac06: 380b 0700 |0155: if-eqz v11, 015c // +0007 │ │ -01ac0a: 620b 0601 |0157: sget-object v11, Ldnsfilter/android/DNSProxyActivity;.appWhiteListCheck:Landroid/widget/CheckBox; // field@0106 │ │ -01ac0e: 6e20 d200 8b00 |0159: invoke-virtual {v11, v8}, Landroid/widget/CheckBox;.setVisibility:(I)V // method@00d2 │ │ -01ac14: 620b 0c01 |015c: sget-object v11, Ldnsfilter/android/DNSProxyActivity;.backupRestoreCheck:Landroid/widget/CheckBox; // field@010c │ │ -01ac18: 6e20 d200 8b00 |015e: invoke-virtual {v11, v8}, Landroid/widget/CheckBox;.setVisibility:(I)V // method@00d2 │ │ -01ac1e: 620b 0c01 |0161: sget-object v11, Ldnsfilter/android/DNSProxyActivity;.backupRestoreCheck:Landroid/widget/CheckBox; // field@010c │ │ -01ac22: 6e10 cc00 0b00 |0163: invoke-virtual {v11}, Landroid/widget/CheckBox;.isChecked:()Z // method@00cc │ │ -01ac28: 0a0b |0166: move-result v11 │ │ -01ac2a: 380b 0a00 |0167: if-eqz v11, 0171 // +000a │ │ -01ac2e: 6e20 ef02 3a00 |0169: invoke-virtual {v10, v3}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02ef │ │ -01ac34: 0c0b |016c: move-result-object v11 │ │ -01ac36: 6e20 b400 8b00 |016d: invoke-virtual {v11, v8}, Landroid/view/View;.setVisibility:(I)V // method@00b4 │ │ -01ac3c: 2808 |0170: goto 0178 // +0008 │ │ -01ac3e: 6e20 ef02 3a00 |0171: invoke-virtual {v10, v3}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02ef │ │ -01ac44: 0c0b |0174: move-result-object v11 │ │ -01ac46: 6e20 b400 7b00 |0175: invoke-virtual {v11, v7}, Landroid/view/View;.setVisibility:(I)V // method@00b4 │ │ -01ac4c: 620b 0601 |0178: sget-object v11, Ldnsfilter/android/DNSProxyActivity;.appWhiteListCheck:Landroid/widget/CheckBox; // field@0106 │ │ -01ac50: 6e10 cc00 0b00 |017a: invoke-virtual {v11}, Landroid/widget/CheckBox;.isChecked:()Z // method@00cc │ │ -01ac56: 0a0b |017d: move-result v11 │ │ -01ac58: 380b 0d00 |017e: if-eqz v11, 018b // +000d │ │ -01ac5c: 620b 0701 |0180: sget-object v11, Ldnsfilter/android/DNSProxyActivity;.appWhiteListScroll:Landroid/widget/ScrollView; // field@0107 │ │ -01ac60: 6e20 f500 8b00 |0182: invoke-virtual {v11, v8}, Landroid/widget/ScrollView;.setVisibility:(I)V // method@00f5 │ │ -01ac66: 620b 0401 |0185: sget-object v11, Ldnsfilter/android/DNSProxyActivity;.appSelector:Ldnsfilter/android/AppSelectorView; // field@0104 │ │ -01ac6a: 6e10 5202 0b00 |0187: invoke-virtual {v11}, Ldnsfilter/android/AppSelectorView;.loadAppList:()V // method@0252 │ │ -01ac70: 280b |018a: goto 0195 // +000b │ │ -01ac72: 620b 0401 |018b: sget-object v11, Ldnsfilter/android/DNSProxyActivity;.appSelector:Ldnsfilter/android/AppSelectorView; // field@0104 │ │ -01ac76: 6e10 4e02 0b00 |018d: invoke-virtual {v11}, Ldnsfilter/android/AppSelectorView;.clear:()V // method@024e │ │ -01ac7c: 620b 0701 |0190: sget-object v11, Ldnsfilter/android/DNSProxyActivity;.appWhiteListScroll:Landroid/widget/ScrollView; // field@0107 │ │ -01ac80: 6e20 f500 7b00 |0192: invoke-virtual {v11, v7}, Landroid/widget/ScrollView;.setVisibility:(I)V // method@00f5 │ │ -01ac86: 620b 1201 |0195: sget-object v11, Ldnsfilter/android/DNSProxyActivity;.editFilterLoadCheck:Landroid/widget/CheckBox; // field@0112 │ │ -01ac8a: 6e10 cc00 0b00 |0197: invoke-virtual {v11}, Landroid/widget/CheckBox;.isChecked:()Z // method@00cc │ │ -01ac90: 0a0b |019a: move-result v11 │ │ -01ac92: 380b 0f00 |019b: if-eqz v11, 01aa // +000f │ │ -01ac96: 620b 1601 |019d: sget-object v11, Ldnsfilter/android/DNSProxyActivity;.filterCfg:Ldnsfilter/android/FilterConfig; // field@0116 │ │ -01ac9a: 6e10 4003 0b00 |019f: invoke-virtual {v11}, Ldnsfilter/android/FilterConfig;.load:()V // method@0340 │ │ -01aca0: 6e20 ef02 6a00 |01a2: invoke-virtual {v10, v6}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02ef │ │ -01aca6: 0c0b |01a5: move-result-object v11 │ │ -01aca8: 6e20 b400 8b00 |01a6: invoke-virtual {v11, v8}, Landroid/view/View;.setVisibility:(I)V // method@00b4 │ │ -01acae: 280d |01a9: goto 01b6 // +000d │ │ -01acb0: 6e20 ef02 6a00 |01aa: invoke-virtual {v10, v6}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02ef │ │ -01acb6: 0c0b |01ad: move-result-object v11 │ │ -01acb8: 6e20 b400 7b00 |01ae: invoke-virtual {v11, v7}, Landroid/view/View;.setVisibility:(I)V // method@00b4 │ │ -01acbe: 620b 1601 |01b1: sget-object v11, Ldnsfilter/android/DNSProxyActivity;.filterCfg:Ldnsfilter/android/FilterConfig; // field@0116 │ │ -01acc2: 6e10 3a03 0b00 |01b3: invoke-virtual {v11}, Ldnsfilter/android/FilterConfig;.clear:()V // method@033a │ │ -01acc8: 620b 1101 |01b6: sget-object v11, Ldnsfilter/android/DNSProxyActivity;.editAdditionalHostsCheck:Landroid/widget/CheckBox; // field@0111 │ │ -01accc: 6e10 cc00 0b00 |01b8: invoke-virtual {v11}, Landroid/widget/CheckBox;.isChecked:()Z // method@00cc │ │ -01acd2: 0a0b |01bb: move-result v11 │ │ -01acd4: 380b 0d00 |01bc: if-eqz v11, 01c9 // +000d │ │ -01acd8: 6e10 0303 0a00 |01be: invoke-virtual {v10}, Ldnsfilter/android/DNSProxyActivity;.loadAdditionalHosts:()V // method@0303 │ │ -01acde: 6e20 ef02 5a00 |01c1: invoke-virtual {v10, v5}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02ef │ │ -01ace4: 0c0b |01c4: move-result-object v11 │ │ -01ace6: 6e20 b400 8b00 |01c5: invoke-virtual {v11, v8}, Landroid/view/View;.setVisibility:(I)V // method@00b4 │ │ -01acec: 280f |01c8: goto 01d7 // +000f │ │ -01acee: 620b 0201 |01c9: sget-object v11, Ldnsfilter/android/DNSProxyActivity;.additionalHostsField:Landroid/widget/EditText; // field@0102 │ │ -01acf2: 6e20 e600 1b00 |01cb: invoke-virtual {v11, v1}, Landroid/widget/EditText;.setText:(Ljava/lang/CharSequence;)V // method@00e6 │ │ -01acf8: 6a08 0101 |01ce: sput-boolean v8, Ldnsfilter/android/DNSProxyActivity;.additionalHostsChanged:Z // field@0101 │ │ -01acfc: 6e20 ef02 5a00 |01d0: invoke-virtual {v10, v5}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02ef │ │ -01ad02: 0c0b |01d3: move-result-object v11 │ │ -01ad04: 6e20 b400 7b00 |01d4: invoke-virtual {v11, v7}, Landroid/view/View;.setVisibility:(I)V // method@00b4 │ │ -01ad0a: 620b 2201 |01d7: sget-object v11, Ldnsfilter/android/DNSProxyActivity;.manuallyEditConfChk:Landroid/widget/CheckBox; // field@0122 │ │ -01ad0e: 6e10 cc00 0b00 |01d9: invoke-virtual {v11}, Landroid/widget/CheckBox;.isChecked:()Z // method@00cc │ │ -01ad14: 0a0b |01dc: move-result v11 │ │ -01ad16: 380b 0d00 |01dd: if-eqz v11, 01ea // +000d │ │ -01ad1a: 6e10 0503 0a00 |01df: invoke-virtual {v10}, Ldnsfilter/android/DNSProxyActivity;.loadManuallyEditConf:()V // method@0305 │ │ -01ad20: 6e20 ef02 4a00 |01e2: invoke-virtual {v10, v4}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02ef │ │ -01ad26: 0c0b |01e5: move-result-object v11 │ │ -01ad28: 6e20 b400 8b00 |01e6: invoke-virtual {v11, v8}, Landroid/view/View;.setVisibility:(I)V // method@00b4 │ │ -01ad2e: 2867 |01e9: goto 0250 // +0067 │ │ -01ad30: 620b 2301 |01ea: sget-object v11, Ldnsfilter/android/DNSProxyActivity;.manuallyEditField:Landroid/widget/EditText; // field@0123 │ │ -01ad34: 6e20 e600 1b00 |01ec: invoke-virtual {v11, v1}, Landroid/widget/EditText;.setText:(Ljava/lang/CharSequence;)V // method@00e6 │ │ -01ad3a: 6a08 2101 |01ef: sput-boolean v8, Ldnsfilter/android/DNSProxyActivity;.manuallyConfEdited:Z // field@0121 │ │ -01ad3e: 6e20 ef02 4a00 |01f1: invoke-virtual {v10, v4}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02ef │ │ -01ad44: 0c0b |01f4: move-result-object v11 │ │ -01ad46: 6e20 b400 7b00 |01f5: invoke-virtual {v11, v7}, Landroid/view/View;.setVisibility:(I)V // method@00b4 │ │ -01ad4c: 2858 |01f8: goto 0250 // +0058 │ │ -01ad4e: 7020 2f03 8a00 |01f9: invoke-direct {v10, v8}, Ldnsfilter/android/DNSProxyActivity;.setVisibilityForAdvCfg:(I)V // method@032f │ │ -01ad54: 6e20 ef02 6a00 |01fc: invoke-virtual {v10, v6}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02ef │ │ -01ad5a: 0c0b |01ff: move-result-object v11 │ │ -01ad5c: 6e20 b400 7b00 |0200: invoke-virtual {v11, v7}, Landroid/view/View;.setVisibility:(I)V // method@00b4 │ │ -01ad62: 620b 1601 |0203: sget-object v11, Ldnsfilter/android/DNSProxyActivity;.filterCfg:Ldnsfilter/android/FilterConfig; // field@0116 │ │ -01ad66: 6e10 3a03 0b00 |0205: invoke-virtual {v11}, Ldnsfilter/android/FilterConfig;.clear:()V // method@033a │ │ -01ad6c: 6e20 ef02 5a00 |0208: invoke-virtual {v10, v5}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02ef │ │ -01ad72: 0c0b |020b: move-result-object v11 │ │ -01ad74: 6e20 b400 7b00 |020c: invoke-virtual {v11, v7}, Landroid/view/View;.setVisibility:(I)V // method@00b4 │ │ -01ad7a: 6e20 ef02 4a00 |020f: invoke-virtual {v10, v4}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02ef │ │ -01ad80: 0c0b |0212: move-result-object v11 │ │ -01ad82: 6e20 b400 7b00 |0213: invoke-virtual {v11, v7}, Landroid/view/View;.setVisibility:(I)V // method@00b4 │ │ -01ad88: 6e20 ef02 2a00 |0216: invoke-virtual {v10, v2}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02ef │ │ -01ad8e: 0c0b |0219: move-result-object v11 │ │ -01ad90: 6e20 b400 7b00 |021a: invoke-virtual {v11, v7}, Landroid/view/View;.setVisibility:(I)V // method@00b4 │ │ -01ad96: 620b 0601 |021d: sget-object v11, Ldnsfilter/android/DNSProxyActivity;.appWhiteListCheck:Landroid/widget/CheckBox; // field@0106 │ │ -01ad9a: 6e20 cd00 8b00 |021f: invoke-virtual {v11, v8}, Landroid/widget/CheckBox;.setChecked:(Z)V // method@00cd │ │ -01ada0: 620b 0401 |0222: sget-object v11, Ldnsfilter/android/DNSProxyActivity;.appSelector:Ldnsfilter/android/AppSelectorView; // field@0104 │ │ -01ada4: 6e10 4e02 0b00 |0224: invoke-virtual {v11}, Ldnsfilter/android/AppSelectorView;.clear:()V // method@024e │ │ -01adaa: 6e20 ef02 3a00 |0227: invoke-virtual {v10, v3}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02ef │ │ -01adb0: 0c0b |022a: move-result-object v11 │ │ -01adb2: 6e20 b400 7b00 |022b: invoke-virtual {v11, v7}, Landroid/view/View;.setVisibility:(I)V // method@00b4 │ │ -01adb8: 620b 1201 |022e: sget-object v11, Ldnsfilter/android/DNSProxyActivity;.editFilterLoadCheck:Landroid/widget/CheckBox; // field@0112 │ │ -01adbc: 6e20 cd00 8b00 |0230: invoke-virtual {v11, v8}, Landroid/widget/CheckBox;.setChecked:(Z)V // method@00cd │ │ -01adc2: 620b 0c01 |0233: sget-object v11, Ldnsfilter/android/DNSProxyActivity;.backupRestoreCheck:Landroid/widget/CheckBox; // field@010c │ │ -01adc6: 6e20 cd00 8b00 |0235: invoke-virtual {v11, v8}, Landroid/widget/CheckBox;.setChecked:(Z)V // method@00cd │ │ -01adcc: 620b 1101 |0238: sget-object v11, Ldnsfilter/android/DNSProxyActivity;.editAdditionalHostsCheck:Landroid/widget/CheckBox; // field@0111 │ │ -01add0: 6e20 cd00 8b00 |023a: invoke-virtual {v11, v8}, Landroid/widget/CheckBox;.setChecked:(Z)V // method@00cd │ │ -01add6: 620b 2201 |023d: sget-object v11, Ldnsfilter/android/DNSProxyActivity;.manuallyEditConfChk:Landroid/widget/CheckBox; // field@0122 │ │ -01adda: 6e20 cd00 8b00 |023f: invoke-virtual {v11, v8}, Landroid/widget/CheckBox;.setChecked:(Z)V // method@00cd │ │ -01ade0: 620b 0201 |0242: sget-object v11, Ldnsfilter/android/DNSProxyActivity;.additionalHostsField:Landroid/widget/EditText; // field@0102 │ │ -01ade4: 6e20 e600 1b00 |0244: invoke-virtual {v11, v1}, Landroid/widget/EditText;.setText:(Ljava/lang/CharSequence;)V // method@00e6 │ │ -01adea: 620b 2301 |0247: sget-object v11, Ldnsfilter/android/DNSProxyActivity;.manuallyEditField:Landroid/widget/EditText; // field@0123 │ │ -01adee: 6e20 e600 1b00 |0249: invoke-virtual {v11, v1}, Landroid/widget/EditText;.setText:(Ljava/lang/CharSequence;)V // method@00e6 │ │ -01adf4: 6a08 0101 |024c: sput-boolean v8, Ldnsfilter/android/DNSProxyActivity;.additionalHostsChanged:Z // field@0101 │ │ -01adf8: 6a08 2101 |024e: sput-boolean v8, Ldnsfilter/android/DNSProxyActivity;.manuallyConfEdited:Z // field@0121 │ │ -01adfc: 0e00 |0250: return-void │ │ +01a948: |[01a948] dnsfilter.android.DNSProxyActivity.handleAdvancedConfig:(Landroid/widget/CheckBox;)V │ │ +01a958: 1400 3900 057f |0000: const v0, #float 1.76788e+38 // #7f050039 │ │ +01a95e: 6e20 ef02 0a00 |0003: invoke-virtual {v10, v0}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02ef │ │ +01a964: 0c00 |0006: move-result-object v0 │ │ +01a966: 1f00 5900 |0007: check-cast v0, Landroid/view/ViewGroup; // type@0059 │ │ +01a96a: 7020 2503 0a00 |0009: invoke-direct {v10, v0}, Ldnsfilter/android/DNSProxyActivity;.prepareTransition:(Landroid/view/ViewGroup;)V // method@0325 │ │ +01a970: 1400 1000 057f |000c: const v0, #float 1.76788e+38 // #7f050010 │ │ +01a976: 6e20 ef02 0a00 |000f: invoke-virtual {v10, v0}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02ef │ │ +01a97c: 0c00 |0012: move-result-object v0 │ │ +01a97e: 1f00 7300 |0013: check-cast v0, Landroid/widget/TextView; // type@0073 │ │ +01a982: 1a01 0000 |0015: const-string v1, "" // string@0000 │ │ +01a986: 6e20 0901 1000 |0017: invoke-virtual {v0, v1}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@0109 │ │ +01a98c: 6200 0301 |001a: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.advancedConfigCheck:Landroid/widget/CheckBox; // field@0103 │ │ +01a990: 6e10 cc00 0000 |001c: invoke-virtual {v0}, Landroid/widget/CheckBox;.isChecked:()Z // method@00cc │ │ +01a996: 0a00 |001f: move-result v0 │ │ +01a998: 1402 0900 057f |0020: const v2, #float 1.76788e+38 // #7f050009 │ │ +01a99e: 1403 1200 057f |0023: const v3, #float 1.76788e+38 // #7f050012 │ │ +01a9a4: 1404 4500 057f |0026: const v4, #float 1.76789e+38 // #7f050045 │ │ +01a9aa: 1405 0600 057f |0029: const v5, #float 1.76787e+38 // #7f050006 │ │ +01a9b0: 1406 3100 057f |002c: const v6, #float 1.76788e+38 // #7f050031 │ │ +01a9b6: 1307 0800 |002f: const/16 v7, #int 8 // #8 │ │ +01a9ba: 1208 |0031: const/4 v8, #int 0 // #0 │ │ +01a9bc: 3800 c701 |0032: if-eqz v0, 01f9 // +01c7 │ │ +01a9c0: 7020 2f03 7a00 |0034: invoke-direct {v10, v7}, Ldnsfilter/android/DNSProxyActivity;.setVisibilityForAdvCfg:(I)V // method@032f │ │ +01a9c6: 6000 0200 |0037: sget v0, Landroid/os/Build$VERSION;.SDK_INT:I // field@0002 │ │ +01a9ca: 1309 1500 |0039: const/16 v9, #int 21 // #15 │ │ +01a9ce: 3490 1700 |003b: if-lt v0, v9, 0052 // +0017 │ │ +01a9d2: 6200 ed00 |003d: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.CONFIG:Ldnsfilter/ConfigurationAccess; // field@00ed │ │ +01a9d6: 6e10 5701 0000 |003f: invoke-virtual {v0}, Ldnsfilter/ConfigurationAccess;.isLocal:()Z // method@0157 │ │ +01a9dc: 0a00 |0042: move-result v0 │ │ +01a9de: 3800 0f00 |0043: if-eqz v0, 0052 // +000f │ │ +01a9e2: 6300 f900 |0045: sget-boolean v0, Ldnsfilter/android/DNSProxyActivity;.NO_VPN:Z // field@00f9 │ │ +01a9e6: 3900 0b00 |0047: if-nez v0, 0052 // +000b │ │ +01a9ea: 6200 0601 |0049: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.appWhiteListCheck:Landroid/widget/CheckBox; // field@0106 │ │ +01a9ee: 6e20 d200 8000 |004b: invoke-virtual {v0, v8}, Landroid/widget/CheckBox;.setVisibility:(I)V // method@00d2 │ │ +01a9f4: 1210 |004e: const/4 v0, #int 1 // #1 │ │ +01a9f6: 6a00 0801 |004f: sput-boolean v0, Ldnsfilter/android/DNSProxyActivity;.appWhitelistingEnabled:Z // field@0108 │ │ +01a9fa: 280d |0051: goto 005e // +000d │ │ +01a9fc: 6200 0601 |0052: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.appWhiteListCheck:Landroid/widget/CheckBox; // field@0106 │ │ +01aa00: 6e20 d200 7000 |0054: invoke-virtual {v0, v7}, Landroid/widget/CheckBox;.setVisibility:(I)V // method@00d2 │ │ +01aa06: 6200 0601 |0057: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.appWhiteListCheck:Landroid/widget/CheckBox; // field@0106 │ │ +01aa0a: 6e20 cd00 8000 |0059: invoke-virtual {v0, v8}, Landroid/widget/CheckBox;.setChecked:(Z)V // method@00cd │ │ +01aa10: 6a08 0801 |005c: sput-boolean v8, Ldnsfilter/android/DNSProxyActivity;.appWhitelistingEnabled:Z // field@0108 │ │ +01aa14: 6e20 ef02 2a00 |005e: invoke-virtual {v10, v2}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02ef │ │ +01aa1a: 0c00 |0061: move-result-object v0 │ │ +01aa1c: 6e20 b400 8000 |0062: invoke-virtual {v0, v8}, Landroid/view/View;.setVisibility:(I)V // method@00b4 │ │ +01aa22: 6200 1c01 |0065: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.keepAwakeCheck:Landroid/widget/CheckBox; // field@011c │ │ +01aa26: 6e20 d200 8000 |0067: invoke-virtual {v0, v8}, Landroid/widget/CheckBox;.setVisibility:(I)V // method@00d2 │ │ +01aa2c: 6200 2901 |006a: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.proxyModeCheck:Landroid/widget/CheckBox; // field@0129 │ │ +01aa30: 6e20 d200 8000 |006c: invoke-virtual {v0, v8}, Landroid/widget/CheckBox;.setVisibility:(I)V // method@00d2 │ │ +01aa36: 6200 2801 |006f: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.proxyLocalOnlyCheck:Landroid/widget/CheckBox; // field@0128 │ │ +01aa3a: 6e20 d200 8000 |0071: invoke-virtual {v0, v8}, Landroid/widget/CheckBox;.setVisibility:(I)V // method@00d2 │ │ +01aa40: 6200 3001 |0074: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.rootModeCheck:Landroid/widget/CheckBox; // field@0130 │ │ +01aa44: 6e20 d200 8000 |0076: invoke-virtual {v0, v8}, Landroid/widget/CheckBox;.setVisibility:(I)V // method@00d2 │ │ +01aa4a: 6200 1501 |0079: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.enableCloakProtectCheck:Landroid/widget/CheckBox; // field@0115 │ │ +01aa4e: 6e20 d200 8000 |007b: invoke-virtual {v0, v8}, Landroid/widget/CheckBox;.setVisibility:(I)V // method@00d2 │ │ +01aa54: 6200 1101 |007e: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.editAdditionalHostsCheck:Landroid/widget/CheckBox; // field@0111 │ │ +01aa58: 6e20 d200 8000 |0080: invoke-virtual {v0, v8}, Landroid/widget/CheckBox;.setVisibility:(I)V // method@00d2 │ │ +01aa5e: 6200 2201 |0083: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.manuallyEditConfChk:Landroid/widget/CheckBox; // field@0122 │ │ +01aa62: 6e20 d200 8000 |0085: invoke-virtual {v0, v8}, Landroid/widget/CheckBox;.setVisibility:(I)V // method@00d2 │ │ +01aa68: 6200 1201 |0088: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.editFilterLoadCheck:Landroid/widget/CheckBox; // field@0112 │ │ +01aa6c: 6e20 d200 8000 |008a: invoke-virtual {v0, v8}, Landroid/widget/CheckBox;.setVisibility:(I)V // method@00d2 │ │ +01aa72: 6200 0c01 |008d: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.backupRestoreCheck:Landroid/widget/CheckBox; // field@010c │ │ +01aa76: 6e20 d200 8000 |008f: invoke-virtual {v0, v8}, Landroid/widget/CheckBox;.setVisibility:(I)V // method@00d2 │ │ +01aa7c: 390b 3700 |0092: if-nez v11, 00c9 // +0037 │ │ +01aa80: 6200 1101 |0094: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.editAdditionalHostsCheck:Landroid/widget/CheckBox; // field@0111 │ │ +01aa84: 6e10 cc00 0000 |0096: invoke-virtual {v0}, Landroid/widget/CheckBox;.isChecked:()Z // method@00cc │ │ +01aa8a: 0a00 |0099: move-result v0 │ │ +01aa8c: 3800 0400 |009a: if-eqz v0, 009e // +0004 │ │ +01aa90: 620b 1101 |009c: sget-object v11, Ldnsfilter/android/DNSProxyActivity;.editAdditionalHostsCheck:Landroid/widget/CheckBox; // field@0111 │ │ +01aa94: 6200 2201 |009e: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.manuallyEditConfChk:Landroid/widget/CheckBox; // field@0122 │ │ +01aa98: 6e10 cc00 0000 |00a0: invoke-virtual {v0}, Landroid/widget/CheckBox;.isChecked:()Z // method@00cc │ │ +01aa9e: 0a00 |00a3: move-result v0 │ │ +01aaa0: 3800 0500 |00a4: if-eqz v0, 00a9 // +0005 │ │ +01aaa4: 620b 2201 |00a6: sget-object v11, Ldnsfilter/android/DNSProxyActivity;.manuallyEditConfChk:Landroid/widget/CheckBox; // field@0122 │ │ +01aaa8: 2821 |00a8: goto 00c9 // +0021 │ │ +01aaaa: 6200 1201 |00a9: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.editFilterLoadCheck:Landroid/widget/CheckBox; // field@0112 │ │ +01aaae: 6e10 cc00 0000 |00ab: invoke-virtual {v0}, Landroid/widget/CheckBox;.isChecked:()Z // method@00cc │ │ +01aab4: 0a00 |00ae: move-result v0 │ │ +01aab6: 3800 0500 |00af: if-eqz v0, 00b4 // +0005 │ │ +01aaba: 620b 1201 |00b1: sget-object v11, Ldnsfilter/android/DNSProxyActivity;.editFilterLoadCheck:Landroid/widget/CheckBox; // field@0112 │ │ +01aabe: 2816 |00b3: goto 00c9 // +0016 │ │ +01aac0: 6200 0c01 |00b4: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.backupRestoreCheck:Landroid/widget/CheckBox; // field@010c │ │ +01aac4: 6e10 cc00 0000 |00b6: invoke-virtual {v0}, Landroid/widget/CheckBox;.isChecked:()Z // method@00cc │ │ +01aaca: 0a00 |00b9: move-result v0 │ │ +01aacc: 3800 0500 |00ba: if-eqz v0, 00bf // +0005 │ │ +01aad0: 620b 0c01 |00bc: sget-object v11, Ldnsfilter/android/DNSProxyActivity;.backupRestoreCheck:Landroid/widget/CheckBox; // field@010c │ │ +01aad4: 280b |00be: goto 00c9 // +000b │ │ +01aad6: 6200 0601 |00bf: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.appWhiteListCheck:Landroid/widget/CheckBox; // field@0106 │ │ +01aada: 6e10 cc00 0000 |00c1: invoke-virtual {v0}, Landroid/widget/CheckBox;.isChecked:()Z // method@00cc │ │ +01aae0: 0a00 |00c4: move-result v0 │ │ +01aae2: 3800 0400 |00c5: if-eqz v0, 00c9 // +0004 │ │ +01aae6: 620b 0601 |00c7: sget-object v11, Ldnsfilter/android/DNSProxyActivity;.appWhiteListCheck:Landroid/widget/CheckBox; // field@0106 │ │ +01aaea: 6200 0301 |00c9: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.advancedConfigCheck:Landroid/widget/CheckBox; // field@0103 │ │ +01aaee: 320b 9600 |00cb: if-eq v11, v0, 0161 // +0096 │ │ +01aaf2: 380b 9400 |00cd: if-eqz v11, 0161 // +0094 │ │ +01aaf6: 6e10 cc00 0b00 |00cf: invoke-virtual {v11}, Landroid/widget/CheckBox;.isChecked:()Z // method@00cc │ │ +01aafc: 0a00 |00d2: move-result v0 │ │ +01aafe: 3800 5800 |00d3: if-eqz v0, 012b // +0058 │ │ +01ab02: 6200 1c01 |00d5: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.keepAwakeCheck:Landroid/widget/CheckBox; // field@011c │ │ +01ab06: 6e20 d200 7000 |00d7: invoke-virtual {v0, v7}, Landroid/widget/CheckBox;.setVisibility:(I)V // method@00d2 │ │ +01ab0c: 6200 2901 |00da: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.proxyModeCheck:Landroid/widget/CheckBox; // field@0129 │ │ +01ab10: 6e20 d200 7000 |00dc: invoke-virtual {v0, v7}, Landroid/widget/CheckBox;.setVisibility:(I)V // method@00d2 │ │ +01ab16: 6200 2801 |00df: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.proxyLocalOnlyCheck:Landroid/widget/CheckBox; // field@0128 │ │ +01ab1a: 6e20 d200 7000 |00e1: invoke-virtual {v0, v7}, Landroid/widget/CheckBox;.setVisibility:(I)V // method@00d2 │ │ +01ab20: 6200 3001 |00e4: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.rootModeCheck:Landroid/widget/CheckBox; // field@0130 │ │ +01ab24: 6e20 d200 7000 |00e6: invoke-virtual {v0, v7}, Landroid/widget/CheckBox;.setVisibility:(I)V // method@00d2 │ │ +01ab2a: 6200 1501 |00e9: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.enableCloakProtectCheck:Landroid/widget/CheckBox; // field@0115 │ │ +01ab2e: 6e20 d200 7000 |00eb: invoke-virtual {v0, v7}, Landroid/widget/CheckBox;.setVisibility:(I)V // method@00d2 │ │ +01ab34: 6200 1101 |00ee: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.editAdditionalHostsCheck:Landroid/widget/CheckBox; // field@0111 │ │ +01ab38: 320b 0a00 |00f0: if-eq v11, v0, 00fa // +000a │ │ +01ab3c: 6e20 cd00 8000 |00f2: invoke-virtual {v0, v8}, Landroid/widget/CheckBox;.setChecked:(Z)V // method@00cd │ │ +01ab42: 6200 1101 |00f5: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.editAdditionalHostsCheck:Landroid/widget/CheckBox; // field@0111 │ │ +01ab46: 6e20 d200 7000 |00f7: invoke-virtual {v0, v7}, Landroid/widget/CheckBox;.setVisibility:(I)V // method@00d2 │ │ +01ab4c: 6200 2201 |00fa: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.manuallyEditConfChk:Landroid/widget/CheckBox; // field@0122 │ │ +01ab50: 320b 0a00 |00fc: if-eq v11, v0, 0106 // +000a │ │ +01ab54: 6e20 cd00 8000 |00fe: invoke-virtual {v0, v8}, Landroid/widget/CheckBox;.setChecked:(Z)V // method@00cd │ │ +01ab5a: 6200 2201 |0101: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.manuallyEditConfChk:Landroid/widget/CheckBox; // field@0122 │ │ +01ab5e: 6e20 d200 7000 |0103: invoke-virtual {v0, v7}, Landroid/widget/CheckBox;.setVisibility:(I)V // method@00d2 │ │ +01ab64: 6200 1201 |0106: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.editFilterLoadCheck:Landroid/widget/CheckBox; // field@0112 │ │ +01ab68: 320b 0a00 |0108: if-eq v11, v0, 0112 // +000a │ │ +01ab6c: 6e20 cd00 8000 |010a: invoke-virtual {v0, v8}, Landroid/widget/CheckBox;.setChecked:(Z)V // method@00cd │ │ +01ab72: 6200 1201 |010d: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.editFilterLoadCheck:Landroid/widget/CheckBox; // field@0112 │ │ +01ab76: 6e20 d200 7000 |010f: invoke-virtual {v0, v7}, Landroid/widget/CheckBox;.setVisibility:(I)V // method@00d2 │ │ +01ab7c: 6200 0601 |0112: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.appWhiteListCheck:Landroid/widget/CheckBox; // field@0106 │ │ +01ab80: 320b 0a00 |0114: if-eq v11, v0, 011e // +000a │ │ +01ab84: 6e20 cd00 8000 |0116: invoke-virtual {v0, v8}, Landroid/widget/CheckBox;.setChecked:(Z)V // method@00cd │ │ +01ab8a: 6200 0601 |0119: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.appWhiteListCheck:Landroid/widget/CheckBox; // field@0106 │ │ +01ab8e: 6e20 d200 7000 |011b: invoke-virtual {v0, v7}, Landroid/widget/CheckBox;.setVisibility:(I)V // method@00d2 │ │ +01ab94: 6200 0c01 |011e: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.backupRestoreCheck:Landroid/widget/CheckBox; // field@010c │ │ +01ab98: 320b 4100 |0120: if-eq v11, v0, 0161 // +0041 │ │ +01ab9c: 6e20 cd00 8000 |0122: invoke-virtual {v0, v8}, Landroid/widget/CheckBox;.setChecked:(Z)V // method@00cd │ │ +01aba2: 620b 0c01 |0125: sget-object v11, Ldnsfilter/android/DNSProxyActivity;.backupRestoreCheck:Landroid/widget/CheckBox; // field@010c │ │ +01aba6: 6e20 d200 7b00 |0127: invoke-virtual {v11, v7}, Landroid/widget/CheckBox;.setVisibility:(I)V // method@00d2 │ │ +01abac: 2837 |012a: goto 0161 // +0037 │ │ +01abae: 620b 1c01 |012b: sget-object v11, Ldnsfilter/android/DNSProxyActivity;.keepAwakeCheck:Landroid/widget/CheckBox; // field@011c │ │ +01abb2: 6e20 d200 8b00 |012d: invoke-virtual {v11, v8}, Landroid/widget/CheckBox;.setVisibility:(I)V // method@00d2 │ │ +01abb8: 620b 2901 |0130: sget-object v11, Ldnsfilter/android/DNSProxyActivity;.proxyModeCheck:Landroid/widget/CheckBox; // field@0129 │ │ +01abbc: 6e20 d200 8b00 |0132: invoke-virtual {v11, v8}, Landroid/widget/CheckBox;.setVisibility:(I)V // method@00d2 │ │ +01abc2: 620b 2801 |0135: sget-object v11, Ldnsfilter/android/DNSProxyActivity;.proxyLocalOnlyCheck:Landroid/widget/CheckBox; // field@0128 │ │ +01abc6: 6e20 d200 8b00 |0137: invoke-virtual {v11, v8}, Landroid/widget/CheckBox;.setVisibility:(I)V // method@00d2 │ │ +01abcc: 620b 3001 |013a: sget-object v11, Ldnsfilter/android/DNSProxyActivity;.rootModeCheck:Landroid/widget/CheckBox; // field@0130 │ │ +01abd0: 6e20 d200 8b00 |013c: invoke-virtual {v11, v8}, Landroid/widget/CheckBox;.setVisibility:(I)V // method@00d2 │ │ +01abd6: 620b 1501 |013f: sget-object v11, Ldnsfilter/android/DNSProxyActivity;.enableCloakProtectCheck:Landroid/widget/CheckBox; // field@0115 │ │ +01abda: 6e20 d200 8b00 |0141: invoke-virtual {v11, v8}, Landroid/widget/CheckBox;.setVisibility:(I)V // method@00d2 │ │ +01abe0: 620b 1101 |0144: sget-object v11, Ldnsfilter/android/DNSProxyActivity;.editAdditionalHostsCheck:Landroid/widget/CheckBox; // field@0111 │ │ +01abe4: 6e20 d200 8b00 |0146: invoke-virtual {v11, v8}, Landroid/widget/CheckBox;.setVisibility:(I)V // method@00d2 │ │ +01abea: 620b 2201 |0149: sget-object v11, Ldnsfilter/android/DNSProxyActivity;.manuallyEditConfChk:Landroid/widget/CheckBox; // field@0122 │ │ +01abee: 6e20 d200 8b00 |014b: invoke-virtual {v11, v8}, Landroid/widget/CheckBox;.setVisibility:(I)V // method@00d2 │ │ +01abf4: 620b 1201 |014e: sget-object v11, Ldnsfilter/android/DNSProxyActivity;.editFilterLoadCheck:Landroid/widget/CheckBox; // field@0112 │ │ +01abf8: 6e20 d200 8b00 |0150: invoke-virtual {v11, v8}, Landroid/widget/CheckBox;.setVisibility:(I)V // method@00d2 │ │ +01abfe: 630b 0801 |0153: sget-boolean v11, Ldnsfilter/android/DNSProxyActivity;.appWhitelistingEnabled:Z // field@0108 │ │ +01ac02: 380b 0700 |0155: if-eqz v11, 015c // +0007 │ │ +01ac06: 620b 0601 |0157: sget-object v11, Ldnsfilter/android/DNSProxyActivity;.appWhiteListCheck:Landroid/widget/CheckBox; // field@0106 │ │ +01ac0a: 6e20 d200 8b00 |0159: invoke-virtual {v11, v8}, Landroid/widget/CheckBox;.setVisibility:(I)V // method@00d2 │ │ +01ac10: 620b 0c01 |015c: sget-object v11, Ldnsfilter/android/DNSProxyActivity;.backupRestoreCheck:Landroid/widget/CheckBox; // field@010c │ │ +01ac14: 6e20 d200 8b00 |015e: invoke-virtual {v11, v8}, Landroid/widget/CheckBox;.setVisibility:(I)V // method@00d2 │ │ +01ac1a: 620b 0c01 |0161: sget-object v11, Ldnsfilter/android/DNSProxyActivity;.backupRestoreCheck:Landroid/widget/CheckBox; // field@010c │ │ +01ac1e: 6e10 cc00 0b00 |0163: invoke-virtual {v11}, Landroid/widget/CheckBox;.isChecked:()Z // method@00cc │ │ +01ac24: 0a0b |0166: move-result v11 │ │ +01ac26: 380b 0a00 |0167: if-eqz v11, 0171 // +000a │ │ +01ac2a: 6e20 ef02 3a00 |0169: invoke-virtual {v10, v3}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02ef │ │ +01ac30: 0c0b |016c: move-result-object v11 │ │ +01ac32: 6e20 b400 8b00 |016d: invoke-virtual {v11, v8}, Landroid/view/View;.setVisibility:(I)V // method@00b4 │ │ +01ac38: 2808 |0170: goto 0178 // +0008 │ │ +01ac3a: 6e20 ef02 3a00 |0171: invoke-virtual {v10, v3}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02ef │ │ +01ac40: 0c0b |0174: move-result-object v11 │ │ +01ac42: 6e20 b400 7b00 |0175: invoke-virtual {v11, v7}, Landroid/view/View;.setVisibility:(I)V // method@00b4 │ │ +01ac48: 620b 0601 |0178: sget-object v11, Ldnsfilter/android/DNSProxyActivity;.appWhiteListCheck:Landroid/widget/CheckBox; // field@0106 │ │ +01ac4c: 6e10 cc00 0b00 |017a: invoke-virtual {v11}, Landroid/widget/CheckBox;.isChecked:()Z // method@00cc │ │ +01ac52: 0a0b |017d: move-result v11 │ │ +01ac54: 380b 0d00 |017e: if-eqz v11, 018b // +000d │ │ +01ac58: 620b 0701 |0180: sget-object v11, Ldnsfilter/android/DNSProxyActivity;.appWhiteListScroll:Landroid/widget/ScrollView; // field@0107 │ │ +01ac5c: 6e20 f500 8b00 |0182: invoke-virtual {v11, v8}, Landroid/widget/ScrollView;.setVisibility:(I)V // method@00f5 │ │ +01ac62: 620b 0401 |0185: sget-object v11, Ldnsfilter/android/DNSProxyActivity;.appSelector:Ldnsfilter/android/AppSelectorView; // field@0104 │ │ +01ac66: 6e10 5202 0b00 |0187: invoke-virtual {v11}, Ldnsfilter/android/AppSelectorView;.loadAppList:()V // method@0252 │ │ +01ac6c: 280b |018a: goto 0195 // +000b │ │ +01ac6e: 620b 0401 |018b: sget-object v11, Ldnsfilter/android/DNSProxyActivity;.appSelector:Ldnsfilter/android/AppSelectorView; // field@0104 │ │ +01ac72: 6e10 4e02 0b00 |018d: invoke-virtual {v11}, Ldnsfilter/android/AppSelectorView;.clear:()V // method@024e │ │ +01ac78: 620b 0701 |0190: sget-object v11, Ldnsfilter/android/DNSProxyActivity;.appWhiteListScroll:Landroid/widget/ScrollView; // field@0107 │ │ +01ac7c: 6e20 f500 7b00 |0192: invoke-virtual {v11, v7}, Landroid/widget/ScrollView;.setVisibility:(I)V // method@00f5 │ │ +01ac82: 620b 1201 |0195: sget-object v11, Ldnsfilter/android/DNSProxyActivity;.editFilterLoadCheck:Landroid/widget/CheckBox; // field@0112 │ │ +01ac86: 6e10 cc00 0b00 |0197: invoke-virtual {v11}, Landroid/widget/CheckBox;.isChecked:()Z // method@00cc │ │ +01ac8c: 0a0b |019a: move-result v11 │ │ +01ac8e: 380b 0f00 |019b: if-eqz v11, 01aa // +000f │ │ +01ac92: 620b 1601 |019d: sget-object v11, Ldnsfilter/android/DNSProxyActivity;.filterCfg:Ldnsfilter/android/FilterConfig; // field@0116 │ │ +01ac96: 6e10 4003 0b00 |019f: invoke-virtual {v11}, Ldnsfilter/android/FilterConfig;.load:()V // method@0340 │ │ +01ac9c: 6e20 ef02 6a00 |01a2: invoke-virtual {v10, v6}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02ef │ │ +01aca2: 0c0b |01a5: move-result-object v11 │ │ +01aca4: 6e20 b400 8b00 |01a6: invoke-virtual {v11, v8}, Landroid/view/View;.setVisibility:(I)V // method@00b4 │ │ +01acaa: 280d |01a9: goto 01b6 // +000d │ │ +01acac: 6e20 ef02 6a00 |01aa: invoke-virtual {v10, v6}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02ef │ │ +01acb2: 0c0b |01ad: move-result-object v11 │ │ +01acb4: 6e20 b400 7b00 |01ae: invoke-virtual {v11, v7}, Landroid/view/View;.setVisibility:(I)V // method@00b4 │ │ +01acba: 620b 1601 |01b1: sget-object v11, Ldnsfilter/android/DNSProxyActivity;.filterCfg:Ldnsfilter/android/FilterConfig; // field@0116 │ │ +01acbe: 6e10 3a03 0b00 |01b3: invoke-virtual {v11}, Ldnsfilter/android/FilterConfig;.clear:()V // method@033a │ │ +01acc4: 620b 1101 |01b6: sget-object v11, Ldnsfilter/android/DNSProxyActivity;.editAdditionalHostsCheck:Landroid/widget/CheckBox; // field@0111 │ │ +01acc8: 6e10 cc00 0b00 |01b8: invoke-virtual {v11}, Landroid/widget/CheckBox;.isChecked:()Z // method@00cc │ │ +01acce: 0a0b |01bb: move-result v11 │ │ +01acd0: 380b 0d00 |01bc: if-eqz v11, 01c9 // +000d │ │ +01acd4: 6e10 0303 0a00 |01be: invoke-virtual {v10}, Ldnsfilter/android/DNSProxyActivity;.loadAdditionalHosts:()V // method@0303 │ │ +01acda: 6e20 ef02 5a00 |01c1: invoke-virtual {v10, v5}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02ef │ │ +01ace0: 0c0b |01c4: move-result-object v11 │ │ +01ace2: 6e20 b400 8b00 |01c5: invoke-virtual {v11, v8}, Landroid/view/View;.setVisibility:(I)V // method@00b4 │ │ +01ace8: 280f |01c8: goto 01d7 // +000f │ │ +01acea: 620b 0201 |01c9: sget-object v11, Ldnsfilter/android/DNSProxyActivity;.additionalHostsField:Landroid/widget/EditText; // field@0102 │ │ +01acee: 6e20 e600 1b00 |01cb: invoke-virtual {v11, v1}, Landroid/widget/EditText;.setText:(Ljava/lang/CharSequence;)V // method@00e6 │ │ +01acf4: 6a08 0101 |01ce: sput-boolean v8, Ldnsfilter/android/DNSProxyActivity;.additionalHostsChanged:Z // field@0101 │ │ +01acf8: 6e20 ef02 5a00 |01d0: invoke-virtual {v10, v5}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02ef │ │ +01acfe: 0c0b |01d3: move-result-object v11 │ │ +01ad00: 6e20 b400 7b00 |01d4: invoke-virtual {v11, v7}, Landroid/view/View;.setVisibility:(I)V // method@00b4 │ │ +01ad06: 620b 2201 |01d7: sget-object v11, Ldnsfilter/android/DNSProxyActivity;.manuallyEditConfChk:Landroid/widget/CheckBox; // field@0122 │ │ +01ad0a: 6e10 cc00 0b00 |01d9: invoke-virtual {v11}, Landroid/widget/CheckBox;.isChecked:()Z // method@00cc │ │ +01ad10: 0a0b |01dc: move-result v11 │ │ +01ad12: 380b 0d00 |01dd: if-eqz v11, 01ea // +000d │ │ +01ad16: 6e10 0503 0a00 |01df: invoke-virtual {v10}, Ldnsfilter/android/DNSProxyActivity;.loadManuallyEditConf:()V // method@0305 │ │ +01ad1c: 6e20 ef02 4a00 |01e2: invoke-virtual {v10, v4}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02ef │ │ +01ad22: 0c0b |01e5: move-result-object v11 │ │ +01ad24: 6e20 b400 8b00 |01e6: invoke-virtual {v11, v8}, Landroid/view/View;.setVisibility:(I)V // method@00b4 │ │ +01ad2a: 2867 |01e9: goto 0250 // +0067 │ │ +01ad2c: 620b 2301 |01ea: sget-object v11, Ldnsfilter/android/DNSProxyActivity;.manuallyEditField:Landroid/widget/EditText; // field@0123 │ │ +01ad30: 6e20 e600 1b00 |01ec: invoke-virtual {v11, v1}, Landroid/widget/EditText;.setText:(Ljava/lang/CharSequence;)V // method@00e6 │ │ +01ad36: 6a08 2101 |01ef: sput-boolean v8, Ldnsfilter/android/DNSProxyActivity;.manuallyConfEdited:Z // field@0121 │ │ +01ad3a: 6e20 ef02 4a00 |01f1: invoke-virtual {v10, v4}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02ef │ │ +01ad40: 0c0b |01f4: move-result-object v11 │ │ +01ad42: 6e20 b400 7b00 |01f5: invoke-virtual {v11, v7}, Landroid/view/View;.setVisibility:(I)V // method@00b4 │ │ +01ad48: 2858 |01f8: goto 0250 // +0058 │ │ +01ad4a: 7020 2f03 8a00 |01f9: invoke-direct {v10, v8}, Ldnsfilter/android/DNSProxyActivity;.setVisibilityForAdvCfg:(I)V // method@032f │ │ +01ad50: 6e20 ef02 6a00 |01fc: invoke-virtual {v10, v6}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02ef │ │ +01ad56: 0c0b |01ff: move-result-object v11 │ │ +01ad58: 6e20 b400 7b00 |0200: invoke-virtual {v11, v7}, Landroid/view/View;.setVisibility:(I)V // method@00b4 │ │ +01ad5e: 620b 1601 |0203: sget-object v11, Ldnsfilter/android/DNSProxyActivity;.filterCfg:Ldnsfilter/android/FilterConfig; // field@0116 │ │ +01ad62: 6e10 3a03 0b00 |0205: invoke-virtual {v11}, Ldnsfilter/android/FilterConfig;.clear:()V // method@033a │ │ +01ad68: 6e20 ef02 5a00 |0208: invoke-virtual {v10, v5}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02ef │ │ +01ad6e: 0c0b |020b: move-result-object v11 │ │ +01ad70: 6e20 b400 7b00 |020c: invoke-virtual {v11, v7}, Landroid/view/View;.setVisibility:(I)V // method@00b4 │ │ +01ad76: 6e20 ef02 4a00 |020f: invoke-virtual {v10, v4}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02ef │ │ +01ad7c: 0c0b |0212: move-result-object v11 │ │ +01ad7e: 6e20 b400 7b00 |0213: invoke-virtual {v11, v7}, Landroid/view/View;.setVisibility:(I)V // method@00b4 │ │ +01ad84: 6e20 ef02 2a00 |0216: invoke-virtual {v10, v2}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02ef │ │ +01ad8a: 0c0b |0219: move-result-object v11 │ │ +01ad8c: 6e20 b400 7b00 |021a: invoke-virtual {v11, v7}, Landroid/view/View;.setVisibility:(I)V // method@00b4 │ │ +01ad92: 620b 0601 |021d: sget-object v11, Ldnsfilter/android/DNSProxyActivity;.appWhiteListCheck:Landroid/widget/CheckBox; // field@0106 │ │ +01ad96: 6e20 cd00 8b00 |021f: invoke-virtual {v11, v8}, Landroid/widget/CheckBox;.setChecked:(Z)V // method@00cd │ │ +01ad9c: 620b 0401 |0222: sget-object v11, Ldnsfilter/android/DNSProxyActivity;.appSelector:Ldnsfilter/android/AppSelectorView; // field@0104 │ │ +01ada0: 6e10 4e02 0b00 |0224: invoke-virtual {v11}, Ldnsfilter/android/AppSelectorView;.clear:()V // method@024e │ │ +01ada6: 6e20 ef02 3a00 |0227: invoke-virtual {v10, v3}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02ef │ │ +01adac: 0c0b |022a: move-result-object v11 │ │ +01adae: 6e20 b400 7b00 |022b: invoke-virtual {v11, v7}, Landroid/view/View;.setVisibility:(I)V // method@00b4 │ │ +01adb4: 620b 1201 |022e: sget-object v11, Ldnsfilter/android/DNSProxyActivity;.editFilterLoadCheck:Landroid/widget/CheckBox; // field@0112 │ │ +01adb8: 6e20 cd00 8b00 |0230: invoke-virtual {v11, v8}, Landroid/widget/CheckBox;.setChecked:(Z)V // method@00cd │ │ +01adbe: 620b 0c01 |0233: sget-object v11, Ldnsfilter/android/DNSProxyActivity;.backupRestoreCheck:Landroid/widget/CheckBox; // field@010c │ │ +01adc2: 6e20 cd00 8b00 |0235: invoke-virtual {v11, v8}, Landroid/widget/CheckBox;.setChecked:(Z)V // method@00cd │ │ +01adc8: 620b 1101 |0238: sget-object v11, Ldnsfilter/android/DNSProxyActivity;.editAdditionalHostsCheck:Landroid/widget/CheckBox; // field@0111 │ │ +01adcc: 6e20 cd00 8b00 |023a: invoke-virtual {v11, v8}, Landroid/widget/CheckBox;.setChecked:(Z)V // method@00cd │ │ +01add2: 620b 2201 |023d: sget-object v11, Ldnsfilter/android/DNSProxyActivity;.manuallyEditConfChk:Landroid/widget/CheckBox; // field@0122 │ │ +01add6: 6e20 cd00 8b00 |023f: invoke-virtual {v11, v8}, Landroid/widget/CheckBox;.setChecked:(Z)V // method@00cd │ │ +01addc: 620b 0201 |0242: sget-object v11, Ldnsfilter/android/DNSProxyActivity;.additionalHostsField:Landroid/widget/EditText; // field@0102 │ │ +01ade0: 6e20 e600 1b00 |0244: invoke-virtual {v11, v1}, Landroid/widget/EditText;.setText:(Ljava/lang/CharSequence;)V // method@00e6 │ │ +01ade6: 620b 2301 |0247: sget-object v11, Ldnsfilter/android/DNSProxyActivity;.manuallyEditField:Landroid/widget/EditText; // field@0123 │ │ +01adea: 6e20 e600 1b00 |0249: invoke-virtual {v11, v1}, Landroid/widget/EditText;.setText:(Ljava/lang/CharSequence;)V // method@00e6 │ │ +01adf0: 6a08 0101 |024c: sput-boolean v8, Ldnsfilter/android/DNSProxyActivity;.additionalHostsChanged:Z // field@0101 │ │ +01adf4: 6a08 2101 |024e: sput-boolean v8, Ldnsfilter/android/DNSProxyActivity;.manuallyConfEdited:Z // field@0121 │ │ +01adf8: 0e00 |0250: return-void │ │ catches : (none) │ │ positions : │ │ 0x0003 line=1376 │ │ 0x000f line=1378 │ │ 0x001a line=1379 │ │ 0x0034 line=1380 │ │ 0x0037 line=1382 │ │ @@ -44446,89 +44446,89 @@ │ │ type : '()V' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 6 │ │ ins : 1 │ │ outs : 3 │ │ insns size : 159 16-bit code units │ │ -01ae6c: |[01ae6c] dnsfilter.android.DNSProxyActivity.handleInitialInfoPopUp:()V │ │ -01ae7c: 1a00 0000 |0000: const-string v0, "" // string@0000 │ │ -01ae80: 6201 ed00 |0002: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.CONFIG:Ldnsfilter/ConfigurationAccess; // field@00ed │ │ -01ae84: 6e10 4e01 0100 |0004: invoke-virtual {v1}, Ldnsfilter/ConfigurationAccess;.getConfigUtil:()Ldnsfilter/ConfigUtil; // method@014e │ │ -01ae8a: 0c01 |0007: move-result-object v1 │ │ -01ae8c: 1a02 ce0a |0008: const-string v2, "showInitialInfoPopUp" // string@0ace │ │ -01ae90: 1a03 420b |000a: const-string v3, "true" // string@0b42 │ │ -01ae94: 6e30 3a01 2103 |000c: invoke-virtual {v1, v2, v3}, Ldnsfilter/ConfigUtil;.getConfigValue:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@013a │ │ -01ae9a: 0c02 |000f: move-result-object v2 │ │ -01ae9c: 7110 4b05 0200 |0010: invoke-static {v2}, Ljava/lang/Boolean;.parseBoolean:(Ljava/lang/String;)Z // method@054b │ │ -01aea2: 0a02 |0013: move-result v2 │ │ -01aea4: 6a02 3501 |0014: sput-boolean v2, Ldnsfilter/android/DNSProxyActivity;.showInitialInfoPopUp:Z // field@0135 │ │ -01aea8: 3802 8800 |0016: if-eqz v2, 009e // +0088 │ │ -01aeac: 2202 0b00 |0018: new-instance v2, Landroid/app/Dialog; // type@000b │ │ -01aeb0: 1503 097f |001a: const/high16 v3, #int 2131296256 // #7f09 │ │ -01aeb4: 7030 1400 5203 |001c: invoke-direct {v2, v5, v3}, Landroid/app/Dialog;.:(Landroid/content/Context;I)V // method@0014 │ │ -01aeba: 6902 2601 |001f: sput-object v2, Ldnsfilter/android/DNSProxyActivity;.popUpDialog:Landroid/app/Dialog; // field@0126 │ │ -01aebe: 1403 0c00 067f |0021: const v3, #float 1.78117e+38 // #7f06000c │ │ -01aec4: 6e20 1b00 3200 |0024: invoke-virtual {v2, v3}, Landroid/app/Dialog;.setContentView:(I)V // method@001b │ │ -01aeca: 6202 2601 |0027: sget-object v2, Ldnsfilter/android/DNSProxyActivity;.popUpDialog:Landroid/app/Dialog; // field@0126 │ │ -01aece: 1a03 4108 |0029: const-string v3, "initialInfoPopUpTitle" // string@0841 │ │ -01aed2: 6e30 3a01 3100 |002b: invoke-virtual {v1, v3, v0}, Ldnsfilter/ConfigUtil;.getConfigValue:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@013a │ │ -01aed8: 0c03 |002e: move-result-object v3 │ │ -01aeda: 6e20 2100 3200 |002f: invoke-virtual {v2, v3}, Landroid/app/Dialog;.setTitle:(Ljava/lang/CharSequence;)V // method@0021 │ │ -01aee0: 6202 2601 |0032: sget-object v2, Ldnsfilter/android/DNSProxyActivity;.popUpDialog:Landroid/app/Dialog; // field@0126 │ │ -01aee4: 1403 3400 057f |0034: const v3, #float 1.76788e+38 // #7f050034 │ │ -01aeea: 6e20 1700 3200 |0037: invoke-virtual {v2, v3}, Landroid/app/Dialog;.findViewById:(I)Landroid/view/View; // method@0017 │ │ -01aef0: 0c02 |003a: move-result-object v2 │ │ -01aef2: 1f02 7300 |003b: check-cast v2, Landroid/widget/TextView; // type@0073 │ │ -01aef6: 1a04 4008 |003d: const-string v4, "initialInfoPopUpText" // string@0840 │ │ -01aefa: 6e30 3a01 4100 |003f: invoke-virtual {v1, v4, v0}, Ldnsfilter/ConfigUtil;.getConfigValue:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@013a │ │ -01af00: 0c00 |0042: move-result-object v0 │ │ -01af02: 7110 f102 0000 |0043: invoke-static {v0}, Ldnsfilter/android/DNSProxyActivity;.fromHtml:(Ljava/lang/String;)Landroid/text/Spanned; // method@02f1 │ │ -01af08: 0c00 |0046: move-result-object v0 │ │ -01af0a: 6e20 0901 0200 |0047: invoke-virtual {v2, v0}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@0109 │ │ -01af10: 6200 2601 |004a: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.popUpDialog:Landroid/app/Dialog; // field@0126 │ │ -01af14: 6e20 1700 3000 |004c: invoke-virtual {v0, v3}, Landroid/app/Dialog;.findViewById:(I)Landroid/view/View; // method@0017 │ │ -01af1a: 0c00 |004f: move-result-object v0 │ │ -01af1c: 1f00 7300 |0050: check-cast v0, Landroid/widget/TextView; // type@0073 │ │ -01af20: 7100 9f00 0000 |0052: invoke-static {}, Landroid/text/method/LinkMovementMethod;.getInstance:()Landroid/text/method/MovementMethod; // method@009f │ │ -01af26: 0c01 |0055: move-result-object v1 │ │ -01af28: 6e20 0701 1000 |0056: invoke-virtual {v0, v1}, Landroid/widget/TextView;.setMovementMethod:(Landroid/text/method/MovementMethod;)V // method@0107 │ │ -01af2e: 6200 2601 |0059: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.popUpDialog:Landroid/app/Dialog; // field@0126 │ │ -01af32: 1401 1600 057f |005b: const v1, #float 1.76788e+38 // #7f050016 │ │ -01af38: 6e20 1700 1000 |005e: invoke-virtual {v0, v1}, Landroid/app/Dialog;.findViewById:(I)Landroid/view/View; // method@0017 │ │ -01af3e: 0c00 |0061: move-result-object v0 │ │ -01af40: 1f00 6300 |0062: check-cast v0, Landroid/widget/Button; // type@0063 │ │ -01af44: 6900 1b01 |0064: sput-object v0, Ldnsfilter/android/DNSProxyActivity;.initialInfoPopUpExitBtn:Landroid/widget/Button; // field@011b │ │ -01af48: 6e20 c500 5000 |0066: invoke-virtual {v0, v5}, Landroid/widget/Button;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@00c5 │ │ -01af4e: 6200 2601 |0069: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.popUpDialog:Landroid/app/Dialog; // field@0126 │ │ -01af52: 6e10 2200 0000 |006b: invoke-virtual {v0}, Landroid/app/Dialog;.show:()V // method@0022 │ │ -01af58: 6200 2601 |006e: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.popUpDialog:Landroid/app/Dialog; // field@0126 │ │ -01af5c: 6e10 1800 0000 |0070: invoke-virtual {v0}, Landroid/app/Dialog;.getWindow:()Landroid/view/Window; // method@0018 │ │ -01af62: 0c00 |0073: move-result-object v0 │ │ -01af64: 6001 ef00 |0074: sget v1, Ldnsfilter/android/DNSProxyActivity;.DISPLAY_WIDTH:I // field@00ef │ │ -01af68: 6002 ee00 |0076: sget v2, Ldnsfilter/android/DNSProxyActivity;.DISPLAY_HEIGTH:I // field@00ee │ │ -01af6c: 7120 7105 2100 |0078: invoke-static {v1, v2}, Ljava/lang/Math;.min:(II)I // method@0571 │ │ -01af72: 0a01 |007b: move-result v1 │ │ -01af74: 8311 |007c: int-to-double v1, v1 │ │ -01af76: 1803 cdcc cccc cccc ec3f |007d: const-wide v3, #double 0.9 // #3feccccccccccccd │ │ -01af80: 7120 5605 2100 |0082: invoke-static {v1, v2}, Ljava/lang/Double;.isNaN:(D)Z // method@0556 │ │ -01af86: ad01 0103 |0085: mul-double v1, v1, v3 │ │ -01af8a: 8a11 |0087: double-to-int v1, v1 │ │ -01af8c: 12e2 |0088: const/4 v2, #int -2 // #fe │ │ -01af8e: 6e30 ba00 1002 |0089: invoke-virtual {v0, v1, v2}, Landroid/view/Window;.setLayout:(II)V // method@00ba │ │ -01af94: 1401 0d00 0601 |008c: const v1, #float 2.46119e-38 // #0106000d │ │ -01af9a: 6e20 b900 1000 |008f: invoke-virtual {v0, v1}, Landroid/view/Window;.setBackgroundDrawableResource:(I)V // method@00b9 │ │ -01afa0: 280c |0092: goto 009e // +000c │ │ -01afa2: 0d00 |0093: move-exception v0 │ │ -01afa4: 7100 2507 0000 |0094: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0725 │ │ -01afaa: 0c01 |0097: move-result-object v1 │ │ -01afac: 7220 3007 0100 |0098: invoke-interface {v1, v0}, Lutil/LoggerInterface;.logException:(Ljava/lang/Exception;)V // method@0730 │ │ -01afb2: 1200 |009b: const/4 v0, #int 0 // #0 │ │ -01afb4: 6a00 3501 |009c: sput-boolean v0, Ldnsfilter/android/DNSProxyActivity;.showInitialInfoPopUp:Z // field@0135 │ │ -01afb8: 0e00 |009e: return-void │ │ +01ae68: |[01ae68] dnsfilter.android.DNSProxyActivity.handleInitialInfoPopUp:()V │ │ +01ae78: 1a00 0000 |0000: const-string v0, "" // string@0000 │ │ +01ae7c: 6201 ed00 |0002: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.CONFIG:Ldnsfilter/ConfigurationAccess; // field@00ed │ │ +01ae80: 6e10 4e01 0100 |0004: invoke-virtual {v1}, Ldnsfilter/ConfigurationAccess;.getConfigUtil:()Ldnsfilter/ConfigUtil; // method@014e │ │ +01ae86: 0c01 |0007: move-result-object v1 │ │ +01ae88: 1a02 ce0a |0008: const-string v2, "showInitialInfoPopUp" // string@0ace │ │ +01ae8c: 1a03 420b |000a: const-string v3, "true" // string@0b42 │ │ +01ae90: 6e30 3a01 2103 |000c: invoke-virtual {v1, v2, v3}, Ldnsfilter/ConfigUtil;.getConfigValue:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@013a │ │ +01ae96: 0c02 |000f: move-result-object v2 │ │ +01ae98: 7110 4b05 0200 |0010: invoke-static {v2}, Ljava/lang/Boolean;.parseBoolean:(Ljava/lang/String;)Z // method@054b │ │ +01ae9e: 0a02 |0013: move-result v2 │ │ +01aea0: 6a02 3501 |0014: sput-boolean v2, Ldnsfilter/android/DNSProxyActivity;.showInitialInfoPopUp:Z // field@0135 │ │ +01aea4: 3802 8800 |0016: if-eqz v2, 009e // +0088 │ │ +01aea8: 2202 0b00 |0018: new-instance v2, Landroid/app/Dialog; // type@000b │ │ +01aeac: 1503 097f |001a: const/high16 v3, #int 2131296256 // #7f09 │ │ +01aeb0: 7030 1400 5203 |001c: invoke-direct {v2, v5, v3}, Landroid/app/Dialog;.:(Landroid/content/Context;I)V // method@0014 │ │ +01aeb6: 6902 2601 |001f: sput-object v2, Ldnsfilter/android/DNSProxyActivity;.popUpDialog:Landroid/app/Dialog; // field@0126 │ │ +01aeba: 1403 0c00 067f |0021: const v3, #float 1.78117e+38 // #7f06000c │ │ +01aec0: 6e20 1b00 3200 |0024: invoke-virtual {v2, v3}, Landroid/app/Dialog;.setContentView:(I)V // method@001b │ │ +01aec6: 6202 2601 |0027: sget-object v2, Ldnsfilter/android/DNSProxyActivity;.popUpDialog:Landroid/app/Dialog; // field@0126 │ │ +01aeca: 1a03 4108 |0029: const-string v3, "initialInfoPopUpTitle" // string@0841 │ │ +01aece: 6e30 3a01 3100 |002b: invoke-virtual {v1, v3, v0}, Ldnsfilter/ConfigUtil;.getConfigValue:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@013a │ │ +01aed4: 0c03 |002e: move-result-object v3 │ │ +01aed6: 6e20 2100 3200 |002f: invoke-virtual {v2, v3}, Landroid/app/Dialog;.setTitle:(Ljava/lang/CharSequence;)V // method@0021 │ │ +01aedc: 6202 2601 |0032: sget-object v2, Ldnsfilter/android/DNSProxyActivity;.popUpDialog:Landroid/app/Dialog; // field@0126 │ │ +01aee0: 1403 3400 057f |0034: const v3, #float 1.76788e+38 // #7f050034 │ │ +01aee6: 6e20 1700 3200 |0037: invoke-virtual {v2, v3}, Landroid/app/Dialog;.findViewById:(I)Landroid/view/View; // method@0017 │ │ +01aeec: 0c02 |003a: move-result-object v2 │ │ +01aeee: 1f02 7300 |003b: check-cast v2, Landroid/widget/TextView; // type@0073 │ │ +01aef2: 1a04 4008 |003d: const-string v4, "initialInfoPopUpText" // string@0840 │ │ +01aef6: 6e30 3a01 4100 |003f: invoke-virtual {v1, v4, v0}, Ldnsfilter/ConfigUtil;.getConfigValue:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@013a │ │ +01aefc: 0c00 |0042: move-result-object v0 │ │ +01aefe: 7110 f102 0000 |0043: invoke-static {v0}, Ldnsfilter/android/DNSProxyActivity;.fromHtml:(Ljava/lang/String;)Landroid/text/Spanned; // method@02f1 │ │ +01af04: 0c00 |0046: move-result-object v0 │ │ +01af06: 6e20 0901 0200 |0047: invoke-virtual {v2, v0}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@0109 │ │ +01af0c: 6200 2601 |004a: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.popUpDialog:Landroid/app/Dialog; // field@0126 │ │ +01af10: 6e20 1700 3000 |004c: invoke-virtual {v0, v3}, Landroid/app/Dialog;.findViewById:(I)Landroid/view/View; // method@0017 │ │ +01af16: 0c00 |004f: move-result-object v0 │ │ +01af18: 1f00 7300 |0050: check-cast v0, Landroid/widget/TextView; // type@0073 │ │ +01af1c: 7100 9f00 0000 |0052: invoke-static {}, Landroid/text/method/LinkMovementMethod;.getInstance:()Landroid/text/method/MovementMethod; // method@009f │ │ +01af22: 0c01 |0055: move-result-object v1 │ │ +01af24: 6e20 0701 1000 |0056: invoke-virtual {v0, v1}, Landroid/widget/TextView;.setMovementMethod:(Landroid/text/method/MovementMethod;)V // method@0107 │ │ +01af2a: 6200 2601 |0059: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.popUpDialog:Landroid/app/Dialog; // field@0126 │ │ +01af2e: 1401 1600 057f |005b: const v1, #float 1.76788e+38 // #7f050016 │ │ +01af34: 6e20 1700 1000 |005e: invoke-virtual {v0, v1}, Landroid/app/Dialog;.findViewById:(I)Landroid/view/View; // method@0017 │ │ +01af3a: 0c00 |0061: move-result-object v0 │ │ +01af3c: 1f00 6300 |0062: check-cast v0, Landroid/widget/Button; // type@0063 │ │ +01af40: 6900 1b01 |0064: sput-object v0, Ldnsfilter/android/DNSProxyActivity;.initialInfoPopUpExitBtn:Landroid/widget/Button; // field@011b │ │ +01af44: 6e20 c500 5000 |0066: invoke-virtual {v0, v5}, Landroid/widget/Button;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@00c5 │ │ +01af4a: 6200 2601 |0069: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.popUpDialog:Landroid/app/Dialog; // field@0126 │ │ +01af4e: 6e10 2200 0000 |006b: invoke-virtual {v0}, Landroid/app/Dialog;.show:()V // method@0022 │ │ +01af54: 6200 2601 |006e: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.popUpDialog:Landroid/app/Dialog; // field@0126 │ │ +01af58: 6e10 1800 0000 |0070: invoke-virtual {v0}, Landroid/app/Dialog;.getWindow:()Landroid/view/Window; // method@0018 │ │ +01af5e: 0c00 |0073: move-result-object v0 │ │ +01af60: 6001 ef00 |0074: sget v1, Ldnsfilter/android/DNSProxyActivity;.DISPLAY_WIDTH:I // field@00ef │ │ +01af64: 6002 ee00 |0076: sget v2, Ldnsfilter/android/DNSProxyActivity;.DISPLAY_HEIGTH:I // field@00ee │ │ +01af68: 7120 7105 2100 |0078: invoke-static {v1, v2}, Ljava/lang/Math;.min:(II)I // method@0571 │ │ +01af6e: 0a01 |007b: move-result v1 │ │ +01af70: 8311 |007c: int-to-double v1, v1 │ │ +01af72: 1803 cdcc cccc cccc ec3f |007d: const-wide v3, #double 0.9 // #3feccccccccccccd │ │ +01af7c: 7120 5605 2100 |0082: invoke-static {v1, v2}, Ljava/lang/Double;.isNaN:(D)Z // method@0556 │ │ +01af82: ad01 0103 |0085: mul-double v1, v1, v3 │ │ +01af86: 8a11 |0087: double-to-int v1, v1 │ │ +01af88: 12e2 |0088: const/4 v2, #int -2 // #fe │ │ +01af8a: 6e30 ba00 1002 |0089: invoke-virtual {v0, v1, v2}, Landroid/view/Window;.setLayout:(II)V // method@00ba │ │ +01af90: 1401 0d00 0601 |008c: const v1, #float 2.46119e-38 // #0106000d │ │ +01af96: 6e20 b900 1000 |008f: invoke-virtual {v0, v1}, Landroid/view/Window;.setBackgroundDrawableResource:(I)V // method@00b9 │ │ +01af9c: 280c |0092: goto 009e // +000c │ │ +01af9e: 0d00 |0093: move-exception v0 │ │ +01afa0: 7100 2507 0000 |0094: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0725 │ │ +01afa6: 0c01 |0097: move-result-object v1 │ │ +01afa8: 7220 3007 0100 |0098: invoke-interface {v1, v0}, Lutil/LoggerInterface;.logException:(Ljava/lang/Exception;)V // method@0730 │ │ +01afae: 1200 |009b: const/4 v0, #int 0 // #0 │ │ +01afb0: 6a00 3501 |009c: sput-boolean v0, Ldnsfilter/android/DNSProxyActivity;.showInitialInfoPopUp:Z // field@0135 │ │ +01afb4: 0e00 |009e: return-void │ │ catches : 2 │ │ 0x0002 - 0x007c │ │ Ljava/lang/Exception; -> 0x0093 │ │ 0x0089 - 0x0092 │ │ Ljava/lang/Exception; -> 0x0093 │ │ positions : │ │ 0x0000 line=928 │ │ @@ -44554,116 +44554,116 @@ │ │ type : '()V' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 7 │ │ ins : 1 │ │ outs : 5 │ │ insns size : 210 16-bit code units │ │ -01afd4: |[01afd4] dnsfilter.android.DNSProxyActivity.handleRemoteControl:()V │ │ -01afe4: 1a00 0000 |0000: const-string v0, "" // string@0000 │ │ -01afe8: 6301 3801 |0002: sget-boolean v1, Ldnsfilter/android/DNSProxyActivity;.switchingConfig:Z // field@0138 │ │ -01afec: 3801 0300 |0004: if-eqz v1, 0007 // +0003 │ │ -01aff0: 0e00 |0006: return-void │ │ -01aff2: 1211 |0007: const/4 v1, #int 1 // #1 │ │ -01aff4: 6a01 3801 |0008: sput-boolean v1, Ldnsfilter/android/DNSProxyActivity;.switchingConfig:Z // field@0138 │ │ -01aff8: 1201 |000a: const/4 v1, #int 0 // #0 │ │ -01affa: 7020 fb02 1600 |000b: invoke-direct {v6, v1}, Ldnsfilter/android/DNSProxyActivity;.handleAdvancedConfig:(Landroid/widget/CheckBox;)V // method@02fb │ │ -01b000: 6201 ed00 |000e: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.CONFIG:Ldnsfilter/ConfigurationAccess; // field@00ed │ │ -01b004: 6e10 5701 0100 |0010: invoke-virtual {v1}, Ldnsfilter/ConfigurationAccess;.isLocal:()Z // method@0157 │ │ -01b00a: 0a01 |0013: move-result v1 │ │ -01b00c: 1202 |0014: const/4 v2, #int 0 // #0 │ │ -01b00e: 3801 7500 |0015: if-eqz v1, 008a // +0075 │ │ -01b012: 7100 5301 0000 |0017: invoke-static {}, Ldnsfilter/ConfigurationAccess;.getLocal:()Ldnsfilter/ConfigurationAccess; // method@0153 │ │ -01b018: 0c01 |001a: move-result-object v1 │ │ -01b01a: 6e10 4d01 0100 |001b: invoke-virtual {v1}, Ldnsfilter/ConfigurationAccess;.getConfig:()Ljava/util/Properties; // method@014d │ │ -01b020: 0c01 |001e: move-result-object v1 │ │ -01b022: 1a03 dd05 |001f: const-string v3, "client_remote_ctrl_host" // string@05dd │ │ -01b026: 6e30 5506 3100 |0021: invoke-virtual {v1, v3, v0}, Ljava/util/Properties;.getProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@0655 │ │ -01b02c: 0c01 |0024: move-result-object v1 │ │ -01b02e: 7100 5301 0000 |0025: invoke-static {}, Ldnsfilter/ConfigurationAccess;.getLocal:()Ldnsfilter/ConfigurationAccess; // method@0153 │ │ -01b034: 0c03 |0028: move-result-object v3 │ │ -01b036: 6e10 4d01 0300 |0029: invoke-virtual {v3}, Ldnsfilter/ConfigurationAccess;.getConfig:()Ljava/util/Properties; // method@014d │ │ -01b03c: 0c03 |002c: move-result-object v3 │ │ -01b03e: 1a04 de05 |002d: const-string v4, "client_remote_ctrl_keyphrase" // string@05de │ │ -01b042: 6e30 5506 4300 |002f: invoke-virtual {v3, v4, v0}, Ljava/util/Properties;.getProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@0655 │ │ -01b048: 0c03 |0032: move-result-object v3 │ │ -01b04a: 6e20 8b05 0100 |0033: invoke-virtual {v1, v0}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058b │ │ -01b050: 0a04 |0036: move-result v4 │ │ -01b052: 3904 3a00 |0037: if-nez v4, 0071 // +003a │ │ -01b056: 1a04 6b00 |0039: const-string v4, "0.0.0.0" // string@006b │ │ -01b05a: 6e20 8b05 4100 |003b: invoke-virtual {v1, v4}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058b │ │ -01b060: 0a04 |003e: move-result v4 │ │ -01b062: 3904 3200 |003f: if-nez v4, 0071 // +0032 │ │ -01b066: 6e20 8b05 0300 |0041: invoke-virtual {v3, v0}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058b │ │ -01b06c: 0a00 |0044: move-result v0 │ │ -01b06e: 3900 2c00 |0045: if-nez v0, 0071 // +002c │ │ -01b072: 7100 5301 0000 |0047: invoke-static {}, Ldnsfilter/ConfigurationAccess;.getLocal:()Ldnsfilter/ConfigurationAccess; // method@0153 │ │ -01b078: 0c00 |004a: move-result-object v0 │ │ -01b07a: 6e10 4d01 0000 |004b: invoke-virtual {v0}, Ldnsfilter/ConfigurationAccess;.getConfig:()Ljava/util/Properties; // method@014d │ │ -01b080: 0c00 |004e: move-result-object v0 │ │ -01b082: 1a04 df05 |004f: const-string v4, "client_remote_ctrl_port" // string@05df │ │ -01b086: 1a05 7900 |0051: const-string v5, "3333" // string@0079 │ │ -01b08a: 6e30 5506 4005 |0053: invoke-virtual {v0, v4, v5}, Ljava/util/Properties;.getProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@0655 │ │ -01b090: 0c00 |0056: move-result-object v0 │ │ -01b092: 7110 6505 0000 |0057: invoke-static {v0}, Ljava/lang/Integer;.parseInt:(Ljava/lang/String;)I // method@0565 │ │ -01b098: 0a00 |005a: move-result v0 │ │ -01b09a: 2204 aa00 |005b: new-instance v4, Ldnsfilter/android/DNSProxyActivity$5; // type@00aa │ │ -01b09e: 7053 c502 6401 |005d: invoke-direct {v4, v6, v1, v0, v3}, Ldnsfilter/android/DNSProxyActivity$5;.:(Ldnsfilter/android/DNSProxyActivity;Ljava/lang/String;ILjava/lang/String;)V // method@02c5 │ │ -01b0a4: 2200 2f01 |0060: new-instance v0, Ljava/lang/Thread; // type@012f │ │ -01b0a8: 7020 b405 4000 |0062: invoke-direct {v0, v4}, Ljava/lang/Thread;.:(Ljava/lang/Runnable;)V // method@05b4 │ │ -01b0ae: 6e10 ba05 0000 |0065: invoke-virtual {v0}, Ljava/lang/Thread;.start:()V // method@05ba │ │ -01b0b4: 2869 |0068: goto 00d1 // +0069 │ │ -01b0b6: 2200 0001 |0069: new-instance v0, Ljava/io/IOException; // type@0100 │ │ -01b0ba: 1a01 ee01 |006b: const-string v1, "Invalid connect_remote_ctrl_port" // string@01ee │ │ -01b0be: 7020 1f05 1000 |006d: invoke-direct {v0, v1}, Ljava/io/IOException;.:(Ljava/lang/String;)V // method@051f │ │ -01b0c4: 2700 |0070: throw v0 │ │ -01b0c6: 2200 0001 |0071: new-instance v0, Ljava/io/IOException; // type@0100 │ │ -01b0ca: 1a01 3b04 |0073: const-string v1, "Remote control not configured!" // string@043b │ │ -01b0ce: 7020 1f05 1000 |0075: invoke-direct {v0, v1}, Ljava/io/IOException;.:(Ljava/lang/String;)V // method@051f │ │ -01b0d4: 2700 |0078: throw v0 │ │ -01b0d6: 0d00 |0079: move-exception v0 │ │ -01b0d8: 6e10 2205 0000 |007a: invoke-virtual {v0}, Ljava/io/IOException;.getMessage:()Ljava/lang/String; // method@0522 │ │ -01b0de: 0c00 |007d: move-result-object v0 │ │ -01b0e0: 6e20 0903 0600 |007e: invoke-virtual {v6, v0}, Ldnsfilter/android/DNSProxyActivity;.message:(Ljava/lang/String;)V // method@0309 │ │ -01b0e6: 7100 5301 0000 |0081: invoke-static {}, Ldnsfilter/ConfigurationAccess;.getLocal:()Ldnsfilter/ConfigurationAccess; // method@0153 │ │ -01b0ec: 0c00 |0084: move-result-object v0 │ │ -01b0ee: 6900 ed00 |0085: sput-object v0, Ldnsfilter/android/DNSProxyActivity;.CONFIG:Ldnsfilter/ConfigurationAccess; // field@00ed │ │ -01b0f2: 6a02 3801 |0087: sput-boolean v2, Ldnsfilter/android/DNSProxyActivity;.switchingConfig:Z // field@0138 │ │ -01b0f6: 2848 |0089: goto 00d1 // +0048 │ │ -01b0f8: 6200 ed00 |008a: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.CONFIG:Ldnsfilter/ConfigurationAccess; // field@00ed │ │ -01b0fc: 6e10 5a01 0000 |008c: invoke-virtual {v0}, Ldnsfilter/ConfigurationAccess;.releaseConfiguration:()V // method@015a │ │ -01b102: 7100 5301 0000 |008f: invoke-static {}, Ldnsfilter/ConfigurationAccess;.getLocal:()Ldnsfilter/ConfigurationAccess; // method@0153 │ │ -01b108: 0c00 |0092: move-result-object v0 │ │ -01b10a: 6900 ed00 |0093: sput-object v0, Ldnsfilter/android/DNSProxyActivity;.CONFIG:Ldnsfilter/ConfigurationAccess; // field@00ed │ │ -01b10e: 7100 2507 0000 |0095: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0725 │ │ -01b114: 0c00 |0098: move-result-object v0 │ │ -01b116: 1f00 8201 |0099: check-cast v0, Lutil/GroupedLogger; // type@0182 │ │ -01b11a: 6201 2401 |009b: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.myLogger:Lutil/SuppressRepeatingsLogger; // field@0124 │ │ -01b11e: 6e20 f506 1000 |009d: invoke-virtual {v0, v1}, Lutil/GroupedLogger;.attachLogger:(Lutil/LoggerInterface;)V // method@06f5 │ │ -01b124: 6e20 0403 2600 |00a0: invoke-virtual {v6, v2}, Ldnsfilter/android/DNSProxyActivity;.loadAndApplyConfig:(Z)V // method@0304 │ │ -01b12a: 2200 2d01 |00a3: new-instance v0, Ljava/lang/StringBuilder; // type@012d │ │ -01b12e: 1a01 e100 |00a5: const-string v1, "CONNECTED TO " // string@00e1 │ │ -01b132: 7020 a805 1000 |00a7: invoke-direct {v0, v1}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05a8 │ │ -01b138: 6201 ed00 |00aa: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.CONFIG:Ldnsfilter/ConfigurationAccess; // field@00ed │ │ -01b13c: 6e20 ac05 1000 |00ac: invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@05ac │ │ -01b142: 6e10 af05 0000 |00af: invoke-virtual {v0}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ -01b148: 0c00 |00b2: move-result-object v0 │ │ -01b14a: 6e20 0903 0600 |00b3: invoke-virtual {v6, v0}, Ldnsfilter/android/DNSProxyActivity;.message:(Ljava/lang/String;)V // method@0309 │ │ -01b150: 2200 2d01 |00b6: new-instance v0, Ljava/lang/StringBuilder; // type@012d │ │ -01b154: 1a01 9e00 |00b8: const-string v1, "=>CONNECTED to " // string@009e │ │ -01b158: 7020 a805 1000 |00ba: invoke-direct {v0, v1}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05a8 │ │ -01b15e: 6201 ed00 |00bd: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.CONFIG:Ldnsfilter/ConfigurationAccess; // field@00ed │ │ -01b162: 6e20 ac05 1000 |00bf: invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@05ac │ │ -01b168: 1a01 9000 |00c2: const-string v1, "<=" // string@0090 │ │ -01b16c: 6e20 ad05 1000 |00c4: invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -01b172: 6e10 af05 0000 |00c7: invoke-virtual {v0}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ -01b178: 0c00 |00ca: move-result-object v0 │ │ -01b17a: 6e20 0803 0600 |00cb: invoke-virtual {v6, v0}, Ldnsfilter/android/DNSProxyActivity;.logLine:(Ljava/lang/String;)V // method@0308 │ │ -01b180: 7010 e602 0600 |00ce: invoke-direct {v6}, Ldnsfilter/android/DNSProxyActivity;.checkPasscode:()V // method@02e6 │ │ -01b186: 0e00 |00d1: return-void │ │ +01afd0: |[01afd0] dnsfilter.android.DNSProxyActivity.handleRemoteControl:()V │ │ +01afe0: 1a00 0000 |0000: const-string v0, "" // string@0000 │ │ +01afe4: 6301 3801 |0002: sget-boolean v1, Ldnsfilter/android/DNSProxyActivity;.switchingConfig:Z // field@0138 │ │ +01afe8: 3801 0300 |0004: if-eqz v1, 0007 // +0003 │ │ +01afec: 0e00 |0006: return-void │ │ +01afee: 1211 |0007: const/4 v1, #int 1 // #1 │ │ +01aff0: 6a01 3801 |0008: sput-boolean v1, Ldnsfilter/android/DNSProxyActivity;.switchingConfig:Z // field@0138 │ │ +01aff4: 1201 |000a: const/4 v1, #int 0 // #0 │ │ +01aff6: 7020 fb02 1600 |000b: invoke-direct {v6, v1}, Ldnsfilter/android/DNSProxyActivity;.handleAdvancedConfig:(Landroid/widget/CheckBox;)V // method@02fb │ │ +01affc: 6201 ed00 |000e: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.CONFIG:Ldnsfilter/ConfigurationAccess; // field@00ed │ │ +01b000: 6e10 5701 0100 |0010: invoke-virtual {v1}, Ldnsfilter/ConfigurationAccess;.isLocal:()Z // method@0157 │ │ +01b006: 0a01 |0013: move-result v1 │ │ +01b008: 1202 |0014: const/4 v2, #int 0 // #0 │ │ +01b00a: 3801 7500 |0015: if-eqz v1, 008a // +0075 │ │ +01b00e: 7100 5301 0000 |0017: invoke-static {}, Ldnsfilter/ConfigurationAccess;.getLocal:()Ldnsfilter/ConfigurationAccess; // method@0153 │ │ +01b014: 0c01 |001a: move-result-object v1 │ │ +01b016: 6e10 4d01 0100 |001b: invoke-virtual {v1}, Ldnsfilter/ConfigurationAccess;.getConfig:()Ljava/util/Properties; // method@014d │ │ +01b01c: 0c01 |001e: move-result-object v1 │ │ +01b01e: 1a03 dd05 |001f: const-string v3, "client_remote_ctrl_host" // string@05dd │ │ +01b022: 6e30 5506 3100 |0021: invoke-virtual {v1, v3, v0}, Ljava/util/Properties;.getProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@0655 │ │ +01b028: 0c01 |0024: move-result-object v1 │ │ +01b02a: 7100 5301 0000 |0025: invoke-static {}, Ldnsfilter/ConfigurationAccess;.getLocal:()Ldnsfilter/ConfigurationAccess; // method@0153 │ │ +01b030: 0c03 |0028: move-result-object v3 │ │ +01b032: 6e10 4d01 0300 |0029: invoke-virtual {v3}, Ldnsfilter/ConfigurationAccess;.getConfig:()Ljava/util/Properties; // method@014d │ │ +01b038: 0c03 |002c: move-result-object v3 │ │ +01b03a: 1a04 de05 |002d: const-string v4, "client_remote_ctrl_keyphrase" // string@05de │ │ +01b03e: 6e30 5506 4300 |002f: invoke-virtual {v3, v4, v0}, Ljava/util/Properties;.getProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@0655 │ │ +01b044: 0c03 |0032: move-result-object v3 │ │ +01b046: 6e20 8b05 0100 |0033: invoke-virtual {v1, v0}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058b │ │ +01b04c: 0a04 |0036: move-result v4 │ │ +01b04e: 3904 3a00 |0037: if-nez v4, 0071 // +003a │ │ +01b052: 1a04 6b00 |0039: const-string v4, "0.0.0.0" // string@006b │ │ +01b056: 6e20 8b05 4100 |003b: invoke-virtual {v1, v4}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058b │ │ +01b05c: 0a04 |003e: move-result v4 │ │ +01b05e: 3904 3200 |003f: if-nez v4, 0071 // +0032 │ │ +01b062: 6e20 8b05 0300 |0041: invoke-virtual {v3, v0}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058b │ │ +01b068: 0a00 |0044: move-result v0 │ │ +01b06a: 3900 2c00 |0045: if-nez v0, 0071 // +002c │ │ +01b06e: 7100 5301 0000 |0047: invoke-static {}, Ldnsfilter/ConfigurationAccess;.getLocal:()Ldnsfilter/ConfigurationAccess; // method@0153 │ │ +01b074: 0c00 |004a: move-result-object v0 │ │ +01b076: 6e10 4d01 0000 |004b: invoke-virtual {v0}, Ldnsfilter/ConfigurationAccess;.getConfig:()Ljava/util/Properties; // method@014d │ │ +01b07c: 0c00 |004e: move-result-object v0 │ │ +01b07e: 1a04 df05 |004f: const-string v4, "client_remote_ctrl_port" // string@05df │ │ +01b082: 1a05 7900 |0051: const-string v5, "3333" // string@0079 │ │ +01b086: 6e30 5506 4005 |0053: invoke-virtual {v0, v4, v5}, Ljava/util/Properties;.getProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@0655 │ │ +01b08c: 0c00 |0056: move-result-object v0 │ │ +01b08e: 7110 6505 0000 |0057: invoke-static {v0}, Ljava/lang/Integer;.parseInt:(Ljava/lang/String;)I // method@0565 │ │ +01b094: 0a00 |005a: move-result v0 │ │ +01b096: 2204 aa00 |005b: new-instance v4, Ldnsfilter/android/DNSProxyActivity$5; // type@00aa │ │ +01b09a: 7053 c502 6401 |005d: invoke-direct {v4, v6, v1, v0, v3}, Ldnsfilter/android/DNSProxyActivity$5;.:(Ldnsfilter/android/DNSProxyActivity;Ljava/lang/String;ILjava/lang/String;)V // method@02c5 │ │ +01b0a0: 2200 2f01 |0060: new-instance v0, Ljava/lang/Thread; // type@012f │ │ +01b0a4: 7020 b405 4000 |0062: invoke-direct {v0, v4}, Ljava/lang/Thread;.:(Ljava/lang/Runnable;)V // method@05b4 │ │ +01b0aa: 6e10 ba05 0000 |0065: invoke-virtual {v0}, Ljava/lang/Thread;.start:()V // method@05ba │ │ +01b0b0: 2869 |0068: goto 00d1 // +0069 │ │ +01b0b2: 2200 0001 |0069: new-instance v0, Ljava/io/IOException; // type@0100 │ │ +01b0b6: 1a01 ee01 |006b: const-string v1, "Invalid connect_remote_ctrl_port" // string@01ee │ │ +01b0ba: 7020 1f05 1000 |006d: invoke-direct {v0, v1}, Ljava/io/IOException;.:(Ljava/lang/String;)V // method@051f │ │ +01b0c0: 2700 |0070: throw v0 │ │ +01b0c2: 2200 0001 |0071: new-instance v0, Ljava/io/IOException; // type@0100 │ │ +01b0c6: 1a01 3b04 |0073: const-string v1, "Remote control not configured!" // string@043b │ │ +01b0ca: 7020 1f05 1000 |0075: invoke-direct {v0, v1}, Ljava/io/IOException;.:(Ljava/lang/String;)V // method@051f │ │ +01b0d0: 2700 |0078: throw v0 │ │ +01b0d2: 0d00 |0079: move-exception v0 │ │ +01b0d4: 6e10 2205 0000 |007a: invoke-virtual {v0}, Ljava/io/IOException;.getMessage:()Ljava/lang/String; // method@0522 │ │ +01b0da: 0c00 |007d: move-result-object v0 │ │ +01b0dc: 6e20 0903 0600 |007e: invoke-virtual {v6, v0}, Ldnsfilter/android/DNSProxyActivity;.message:(Ljava/lang/String;)V // method@0309 │ │ +01b0e2: 7100 5301 0000 |0081: invoke-static {}, Ldnsfilter/ConfigurationAccess;.getLocal:()Ldnsfilter/ConfigurationAccess; // method@0153 │ │ +01b0e8: 0c00 |0084: move-result-object v0 │ │ +01b0ea: 6900 ed00 |0085: sput-object v0, Ldnsfilter/android/DNSProxyActivity;.CONFIG:Ldnsfilter/ConfigurationAccess; // field@00ed │ │ +01b0ee: 6a02 3801 |0087: sput-boolean v2, Ldnsfilter/android/DNSProxyActivity;.switchingConfig:Z // field@0138 │ │ +01b0f2: 2848 |0089: goto 00d1 // +0048 │ │ +01b0f4: 6200 ed00 |008a: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.CONFIG:Ldnsfilter/ConfigurationAccess; // field@00ed │ │ +01b0f8: 6e10 5a01 0000 |008c: invoke-virtual {v0}, Ldnsfilter/ConfigurationAccess;.releaseConfiguration:()V // method@015a │ │ +01b0fe: 7100 5301 0000 |008f: invoke-static {}, Ldnsfilter/ConfigurationAccess;.getLocal:()Ldnsfilter/ConfigurationAccess; // method@0153 │ │ +01b104: 0c00 |0092: move-result-object v0 │ │ +01b106: 6900 ed00 |0093: sput-object v0, Ldnsfilter/android/DNSProxyActivity;.CONFIG:Ldnsfilter/ConfigurationAccess; // field@00ed │ │ +01b10a: 7100 2507 0000 |0095: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0725 │ │ +01b110: 0c00 |0098: move-result-object v0 │ │ +01b112: 1f00 8201 |0099: check-cast v0, Lutil/GroupedLogger; // type@0182 │ │ +01b116: 6201 2401 |009b: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.myLogger:Lutil/SuppressRepeatingsLogger; // field@0124 │ │ +01b11a: 6e20 f506 1000 |009d: invoke-virtual {v0, v1}, Lutil/GroupedLogger;.attachLogger:(Lutil/LoggerInterface;)V // method@06f5 │ │ +01b120: 6e20 0403 2600 |00a0: invoke-virtual {v6, v2}, Ldnsfilter/android/DNSProxyActivity;.loadAndApplyConfig:(Z)V // method@0304 │ │ +01b126: 2200 2d01 |00a3: new-instance v0, Ljava/lang/StringBuilder; // type@012d │ │ +01b12a: 1a01 e100 |00a5: const-string v1, "CONNECTED TO " // string@00e1 │ │ +01b12e: 7020 a805 1000 |00a7: invoke-direct {v0, v1}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05a8 │ │ +01b134: 6201 ed00 |00aa: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.CONFIG:Ldnsfilter/ConfigurationAccess; // field@00ed │ │ +01b138: 6e20 ac05 1000 |00ac: invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@05ac │ │ +01b13e: 6e10 af05 0000 |00af: invoke-virtual {v0}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ +01b144: 0c00 |00b2: move-result-object v0 │ │ +01b146: 6e20 0903 0600 |00b3: invoke-virtual {v6, v0}, Ldnsfilter/android/DNSProxyActivity;.message:(Ljava/lang/String;)V // method@0309 │ │ +01b14c: 2200 2d01 |00b6: new-instance v0, Ljava/lang/StringBuilder; // type@012d │ │ +01b150: 1a01 9e00 |00b8: const-string v1, "=>CONNECTED to " // string@009e │ │ +01b154: 7020 a805 1000 |00ba: invoke-direct {v0, v1}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05a8 │ │ +01b15a: 6201 ed00 |00bd: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.CONFIG:Ldnsfilter/ConfigurationAccess; // field@00ed │ │ +01b15e: 6e20 ac05 1000 |00bf: invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@05ac │ │ +01b164: 1a01 9000 |00c2: const-string v1, "<=" // string@0090 │ │ +01b168: 6e20 ad05 1000 |00c4: invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +01b16e: 6e10 af05 0000 |00c7: invoke-virtual {v0}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ +01b174: 0c00 |00ca: move-result-object v0 │ │ +01b176: 6e20 0803 0600 |00cb: invoke-virtual {v6, v0}, Ldnsfilter/android/DNSProxyActivity;.logLine:(Ljava/lang/String;)V // method@0308 │ │ +01b17c: 7010 e602 0600 |00ce: invoke-direct {v6}, Ldnsfilter/android/DNSProxyActivity;.checkPasscode:()V // method@02e6 │ │ +01b182: 0e00 |00d1: return-void │ │ catches : 3 │ │ 0x0017 - 0x0045 │ │ Ljava/io/IOException; -> 0x0079 │ │ 0x0047 - 0x005b │ │ Ljava/lang/Exception; -> 0x0069 │ │ Ljava/io/IOException; -> 0x0079 │ │ 0x005b - 0x0079 │ │ @@ -44699,40 +44699,40 @@ │ │ type : '()V' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 3 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 48 16-bit code units │ │ -01b1ac: |[01b1ac] dnsfilter.android.DNSProxyActivity.handleRestart:()V │ │ -01b1bc: 6200 ed00 |0000: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.CONFIG:Ldnsfilter/ConfigurationAccess; // field@00ed │ │ -01b1c0: 6e10 5701 0000 |0002: invoke-virtual {v0}, Ldnsfilter/ConfigurationAccess;.isLocal:()Z // method@0157 │ │ -01b1c6: 0a00 |0005: move-result v0 │ │ -01b1c8: 1201 |0006: const/4 v1, #int 0 // #0 │ │ -01b1ca: 3800 1700 |0007: if-eqz v0, 001e // +0017 │ │ -01b1ce: 7010 e502 0200 |0009: invoke-direct {v2}, Ldnsfilter/android/DNSProxyActivity;.checkNotificationPermission:()Z // method@02e5 │ │ -01b1d4: 0a00 |000c: move-result v0 │ │ -01b1d6: 3900 0300 |000d: if-nez v0, 0010 // +0003 │ │ -01b1da: 0e00 |000f: return-void │ │ -01b1dc: 7110 ae02 0100 |0010: invoke-static {v1}, Ldnsfilter/android/DNSFilterService;.stop:(Z)Z // method@02ae │ │ -01b1e2: 0a00 |0013: move-result v0 │ │ -01b1e4: 3900 0300 |0014: if-nez v0, 0017 // +0003 │ │ -01b1e8: 0e00 |0016: return-void │ │ -01b1ea: 6e10 3503 0200 |0017: invoke-virtual {v2}, Ldnsfilter/android/DNSProxyActivity;.startup:()V // method@0335 │ │ -01b1f0: 6e20 0403 1200 |001a: invoke-virtual {v2, v1}, Ldnsfilter/android/DNSProxyActivity;.loadAndApplyConfig:(Z)V // method@0304 │ │ -01b1f6: 2812 |001d: goto 002f // +0012 │ │ -01b1f8: 6200 ed00 |001e: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.CONFIG:Ldnsfilter/ConfigurationAccess; // field@00ed │ │ -01b1fc: 6e10 5c01 0000 |0020: invoke-virtual {v0}, Ldnsfilter/ConfigurationAccess;.restart:()V // method@015c │ │ -01b202: 6e20 0403 1200 |0023: invoke-virtual {v2, v1}, Ldnsfilter/android/DNSProxyActivity;.loadAndApplyConfig:(Z)V // method@0304 │ │ -01b208: 2809 |0026: goto 002f // +0009 │ │ -01b20a: 0d00 |0027: move-exception v0 │ │ -01b20c: 7100 2507 0000 |0028: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0725 │ │ -01b212: 0c01 |002b: move-result-object v1 │ │ -01b214: 7220 3007 0100 |002c: invoke-interface {v1, v0}, Lutil/LoggerInterface;.logException:(Ljava/lang/Exception;)V // method@0730 │ │ -01b21a: 0e00 |002f: return-void │ │ +01b1a8: |[01b1a8] dnsfilter.android.DNSProxyActivity.handleRestart:()V │ │ +01b1b8: 6200 ed00 |0000: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.CONFIG:Ldnsfilter/ConfigurationAccess; // field@00ed │ │ +01b1bc: 6e10 5701 0000 |0002: invoke-virtual {v0}, Ldnsfilter/ConfigurationAccess;.isLocal:()Z // method@0157 │ │ +01b1c2: 0a00 |0005: move-result v0 │ │ +01b1c4: 1201 |0006: const/4 v1, #int 0 // #0 │ │ +01b1c6: 3800 1700 |0007: if-eqz v0, 001e // +0017 │ │ +01b1ca: 7010 e502 0200 |0009: invoke-direct {v2}, Ldnsfilter/android/DNSProxyActivity;.checkNotificationPermission:()Z // method@02e5 │ │ +01b1d0: 0a00 |000c: move-result v0 │ │ +01b1d2: 3900 0300 |000d: if-nez v0, 0010 // +0003 │ │ +01b1d6: 0e00 |000f: return-void │ │ +01b1d8: 7110 ae02 0100 |0010: invoke-static {v1}, Ldnsfilter/android/DNSFilterService;.stop:(Z)Z // method@02ae │ │ +01b1de: 0a00 |0013: move-result v0 │ │ +01b1e0: 3900 0300 |0014: if-nez v0, 0017 // +0003 │ │ +01b1e4: 0e00 |0016: return-void │ │ +01b1e6: 6e10 3503 0200 |0017: invoke-virtual {v2}, Ldnsfilter/android/DNSProxyActivity;.startup:()V // method@0335 │ │ +01b1ec: 6e20 0403 1200 |001a: invoke-virtual {v2, v1}, Ldnsfilter/android/DNSProxyActivity;.loadAndApplyConfig:(Z)V // method@0304 │ │ +01b1f2: 2812 |001d: goto 002f // +0012 │ │ +01b1f4: 6200 ed00 |001e: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.CONFIG:Ldnsfilter/ConfigurationAccess; // field@00ed │ │ +01b1f8: 6e10 5c01 0000 |0020: invoke-virtual {v0}, Ldnsfilter/ConfigurationAccess;.restart:()V // method@015c │ │ +01b1fe: 6e20 0403 1200 |0023: invoke-virtual {v2, v1}, Ldnsfilter/android/DNSProxyActivity;.loadAndApplyConfig:(Z)V // method@0304 │ │ +01b204: 2809 |0026: goto 002f // +0009 │ │ +01b206: 0d00 |0027: move-exception v0 │ │ +01b208: 7100 2507 0000 |0028: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0725 │ │ +01b20e: 0c01 |002b: move-result-object v1 │ │ +01b210: 7220 3007 0100 |002c: invoke-interface {v1, v0}, Lutil/LoggerInterface;.logException:(Ljava/lang/Exception;)V // method@0730 │ │ +01b216: 0e00 |002f: return-void │ │ catches : 1 │ │ 0x001e - 0x0026 │ │ Ljava/io/IOException; -> 0x0027 │ │ positions : │ │ 0x0000 line=1535 │ │ 0x0009 line=1537 │ │ 0x0010 line=1540 │ │ @@ -44749,38 +44749,38 @@ │ │ type : '()V' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 3 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 46 16-bit code units │ │ -01b22c: |[01b22c] dnsfilter.android.DNSProxyActivity.handleScrollLock:()V │ │ -01b23c: 6300 3301 |0000: sget-boolean v0, Ldnsfilter/android/DNSProxyActivity;.scroll_locked:Z // field@0133 │ │ -01b240: 3800 2100 |0002: if-eqz v0, 0023 // +0021 │ │ -01b244: 1200 |0004: const/4 v0, #int 0 // #0 │ │ -01b246: 6a00 3301 |0005: sput-boolean v0, Ldnsfilter/android/DNSProxyActivity;.scroll_locked:Z // field@0133 │ │ -01b24a: 6200 3101 |0007: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.scrollLockField:Landroid/widget/TextView; // field@0131 │ │ -01b24e: 6201 fc00 |0009: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.SCROLL_PAUSE:Ljava/lang/String; // field@00fc │ │ -01b252: 6e20 0901 1000 |000b: invoke-virtual {v0, v1}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@0109 │ │ -01b258: 6200 2001 |000e: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.logOutView:Landroid/widget/EditText; // field@0120 │ │ -01b25c: 6e10 da00 0000 |0010: invoke-virtual {v0}, Landroid/widget/EditText;.getText:()Landroid/text/Editable; // method@00da │ │ -01b262: 0c01 |0013: move-result-object v1 │ │ -01b264: 7210 9900 0100 |0014: invoke-interface {v1}, Landroid/text/Editable;.length:()I // method@0099 │ │ -01b26a: 0a01 |0017: move-result v1 │ │ -01b26c: 6e20 e400 1000 |0018: invoke-virtual {v0, v1}, Landroid/widget/EditText;.setSelection:(I)V // method@00e4 │ │ -01b272: 5420 3201 |001b: iget-object v0, v2, Ldnsfilter/android/DNSProxyActivity;.scrollView:Landroid/widget/ScrollView; // field@0132 │ │ -01b276: 1301 8200 |001d: const/16 v1, #int 130 // #82 │ │ -01b27a: 6e20 f400 1000 |001f: invoke-virtual {v0, v1}, Landroid/widget/ScrollView;.fullScroll:(I)Z // method@00f4 │ │ -01b280: 280b |0022: goto 002d // +000b │ │ -01b282: 1210 |0023: const/4 v0, #int 1 // #1 │ │ -01b284: 6a00 3301 |0024: sput-boolean v0, Ldnsfilter/android/DNSProxyActivity;.scroll_locked:Z // field@0133 │ │ -01b288: 6200 3101 |0026: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.scrollLockField:Landroid/widget/TextView; // field@0131 │ │ -01b28c: 6201 fb00 |0028: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.SCROLL_CONTINUE:Ljava/lang/String; // field@00fb │ │ -01b290: 6e20 0901 1000 |002a: invoke-virtual {v0, v1}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@0109 │ │ -01b296: 0e00 |002d: return-void │ │ +01b228: |[01b228] dnsfilter.android.DNSProxyActivity.handleScrollLock:()V │ │ +01b238: 6300 3301 |0000: sget-boolean v0, Ldnsfilter/android/DNSProxyActivity;.scroll_locked:Z // field@0133 │ │ +01b23c: 3800 2100 |0002: if-eqz v0, 0023 // +0021 │ │ +01b240: 1200 |0004: const/4 v0, #int 0 // #0 │ │ +01b242: 6a00 3301 |0005: sput-boolean v0, Ldnsfilter/android/DNSProxyActivity;.scroll_locked:Z // field@0133 │ │ +01b246: 6200 3101 |0007: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.scrollLockField:Landroid/widget/TextView; // field@0131 │ │ +01b24a: 6201 fc00 |0009: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.SCROLL_PAUSE:Ljava/lang/String; // field@00fc │ │ +01b24e: 6e20 0901 1000 |000b: invoke-virtual {v0, v1}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@0109 │ │ +01b254: 6200 2001 |000e: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.logOutView:Landroid/widget/EditText; // field@0120 │ │ +01b258: 6e10 da00 0000 |0010: invoke-virtual {v0}, Landroid/widget/EditText;.getText:()Landroid/text/Editable; // method@00da │ │ +01b25e: 0c01 |0013: move-result-object v1 │ │ +01b260: 7210 9900 0100 |0014: invoke-interface {v1}, Landroid/text/Editable;.length:()I // method@0099 │ │ +01b266: 0a01 |0017: move-result v1 │ │ +01b268: 6e20 e400 1000 |0018: invoke-virtual {v0, v1}, Landroid/widget/EditText;.setSelection:(I)V // method@00e4 │ │ +01b26e: 5420 3201 |001b: iget-object v0, v2, Ldnsfilter/android/DNSProxyActivity;.scrollView:Landroid/widget/ScrollView; // field@0132 │ │ +01b272: 1301 8200 |001d: const/16 v1, #int 130 // #82 │ │ +01b276: 6e20 f400 1000 |001f: invoke-virtual {v0, v1}, Landroid/widget/ScrollView;.fullScroll:(I)Z // method@00f4 │ │ +01b27c: 280b |0022: goto 002d // +000b │ │ +01b27e: 1210 |0023: const/4 v0, #int 1 // #1 │ │ +01b280: 6a00 3301 |0024: sput-boolean v0, Ldnsfilter/android/DNSProxyActivity;.scroll_locked:Z // field@0133 │ │ +01b284: 6200 3101 |0026: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.scrollLockField:Landroid/widget/TextView; // field@0131 │ │ +01b288: 6201 fb00 |0028: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.SCROLL_CONTINUE:Ljava/lang/String; // field@00fb │ │ +01b28c: 6e20 0901 1000 |002a: invoke-virtual {v0, v1}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@0109 │ │ +01b292: 0e00 |002d: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=1354 │ │ 0x0005 line=1355 │ │ 0x0007 line=1356 │ │ 0x000e line=1357 │ │ 0x001b line=1358 │ │ @@ -44794,63 +44794,63 @@ │ │ type : '()V' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 5 │ │ ins : 1 │ │ outs : 3 │ │ insns size : 100 16-bit code units │ │ -01b2d8: |[01b2d8] dnsfilter.android.DNSProxyActivity.initAppAndStartup:()V │ │ -01b2e8: 1a00 eb01 |0000: const-string v0, "Initializing ..." // string@01eb │ │ -01b2ec: 6e20 0803 0400 |0002: invoke-virtual {v4, v0}, Ldnsfilter/android/DNSProxyActivity;.logLine:(Ljava/lang/String;)V // method@0308 │ │ -01b2f2: 7100 5301 0000 |0005: invoke-static {}, Ldnsfilter/ConfigurationAccess;.getLocal:()Ldnsfilter/ConfigurationAccess; // method@0153 │ │ -01b2f8: 0c00 |0008: move-result-object v0 │ │ -01b2fa: 6e10 4e01 0000 |0009: invoke-virtual {v0}, Ldnsfilter/ConfigurationAccess;.getConfigUtil:()Ldnsfilter/ConfigUtil; // method@014e │ │ -01b300: 0c00 |000c: move-result-object v0 │ │ -01b302: 1a01 680b |000d: const-string v1, "useActionMenuFallback" // string@0b68 │ │ -01b306: 1a02 df06 |000f: const-string v2, "false" // string@06df │ │ -01b30a: 6e30 3a01 1002 |0011: invoke-virtual {v0, v1, v2}, Ldnsfilter/ConfigUtil;.getConfigValue:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@013a │ │ -01b310: 0c00 |0014: move-result-object v0 │ │ -01b312: 7110 4b05 0000 |0015: invoke-static {v0}, Ljava/lang/Boolean;.parseBoolean:(Ljava/lang/String;)Z // method@054b │ │ -01b318: 0a00 |0018: move-result v0 │ │ -01b31a: 5c40 ea00 |0019: iput-boolean v0, v4, Ldnsfilter/android/DNSProxyActivity;.ACTION_MENU_FALLBACK:Z // field@00ea │ │ -01b31e: 281b |001b: goto 0036 // +001b │ │ -01b320: 0d00 |001c: move-exception v0 │ │ -01b322: 7100 2507 0000 |001d: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0725 │ │ -01b328: 0c01 |0020: move-result-object v1 │ │ -01b32a: 2202 2d01 |0021: new-instance v2, Ljava/lang/StringBuilder; // type@012d │ │ -01b32e: 1a03 f200 |0023: const-string v3, "Cannot get Config for useActionMenuFallback " // string@00f2 │ │ -01b332: 7020 a805 3200 |0025: invoke-direct {v2, v3}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05a8 │ │ -01b338: 6e10 2405 0000 |0028: invoke-virtual {v0}, Ljava/io/IOException;.toString:()Ljava/lang/String; // method@0524 │ │ -01b33e: 0c00 |002b: move-result-object v0 │ │ -01b340: 6e20 ad05 0200 |002c: invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -01b346: 6e10 af05 0200 |002f: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ -01b34c: 0c00 |0032: move-result-object v0 │ │ -01b34e: 7220 3107 0100 |0033: invoke-interface {v1, v0}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0731 │ │ -01b354: 6300 ec00 |0036: sget-boolean v0, Ldnsfilter/android/DNSProxyActivity;.BOOT_START:Z // field@00ec │ │ -01b358: 1201 |0038: const/4 v1, #int 0 // #0 │ │ -01b35a: 3800 2400 |0039: if-eqz v0, 005d // +0024 │ │ -01b35e: 7100 2507 0000 |003b: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0725 │ │ -01b364: 0c00 |003e: move-result-object v0 │ │ -01b366: 2202 2d01 |003f: new-instance v2, Ljava/lang/StringBuilder; // type@012d │ │ -01b36a: 1a03 4904 |0041: const-string v3, "Running on SDK" // string@0449 │ │ -01b36e: 7020 a805 3200 |0043: invoke-direct {v2, v3}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05a8 │ │ -01b374: 6003 0200 |0046: sget v3, Landroid/os/Build$VERSION;.SDK_INT:I // field@0002 │ │ -01b378: 6e20 aa05 3200 |0048: invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@05aa │ │ -01b37e: 6e10 af05 0200 |004b: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ -01b384: 0c02 |004e: move-result-object v2 │ │ -01b386: 7220 3107 2000 |004f: invoke-interface {v0, v2}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0731 │ │ -01b38c: 6000 0200 |0052: sget v0, Landroid/os/Build$VERSION;.SDK_INT:I // field@0002 │ │ -01b390: 1302 1400 |0054: const/16 v2, #int 20 // #14 │ │ -01b394: 3420 0500 |0056: if-lt v0, v2, 005b // +0005 │ │ -01b398: 6e10 f002 0400 |0058: invoke-virtual {v4}, Ldnsfilter/android/DNSProxyActivity;.finish:()V // method@02f0 │ │ -01b39e: 6a01 ec00 |005b: sput-boolean v1, Ldnsfilter/android/DNSProxyActivity;.BOOT_START:Z // field@00ec │ │ -01b3a2: 1210 |005d: const/4 v0, #int 1 // #1 │ │ -01b3a4: 6e20 0403 0400 |005e: invoke-virtual {v4, v0}, Ldnsfilter/android/DNSProxyActivity;.loadAndApplyConfig:(Z)V // method@0304 │ │ -01b3aa: 6a01 0501 |0061: sput-boolean v1, Ldnsfilter/android/DNSProxyActivity;.appStart:Z // field@0105 │ │ -01b3ae: 0e00 |0063: return-void │ │ +01b2d4: |[01b2d4] dnsfilter.android.DNSProxyActivity.initAppAndStartup:()V │ │ +01b2e4: 1a00 eb01 |0000: const-string v0, "Initializing ..." // string@01eb │ │ +01b2e8: 6e20 0803 0400 |0002: invoke-virtual {v4, v0}, Ldnsfilter/android/DNSProxyActivity;.logLine:(Ljava/lang/String;)V // method@0308 │ │ +01b2ee: 7100 5301 0000 |0005: invoke-static {}, Ldnsfilter/ConfigurationAccess;.getLocal:()Ldnsfilter/ConfigurationAccess; // method@0153 │ │ +01b2f4: 0c00 |0008: move-result-object v0 │ │ +01b2f6: 6e10 4e01 0000 |0009: invoke-virtual {v0}, Ldnsfilter/ConfigurationAccess;.getConfigUtil:()Ldnsfilter/ConfigUtil; // method@014e │ │ +01b2fc: 0c00 |000c: move-result-object v0 │ │ +01b2fe: 1a01 680b |000d: const-string v1, "useActionMenuFallback" // string@0b68 │ │ +01b302: 1a02 df06 |000f: const-string v2, "false" // string@06df │ │ +01b306: 6e30 3a01 1002 |0011: invoke-virtual {v0, v1, v2}, Ldnsfilter/ConfigUtil;.getConfigValue:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@013a │ │ +01b30c: 0c00 |0014: move-result-object v0 │ │ +01b30e: 7110 4b05 0000 |0015: invoke-static {v0}, Ljava/lang/Boolean;.parseBoolean:(Ljava/lang/String;)Z // method@054b │ │ +01b314: 0a00 |0018: move-result v0 │ │ +01b316: 5c40 ea00 |0019: iput-boolean v0, v4, Ldnsfilter/android/DNSProxyActivity;.ACTION_MENU_FALLBACK:Z // field@00ea │ │ +01b31a: 281b |001b: goto 0036 // +001b │ │ +01b31c: 0d00 |001c: move-exception v0 │ │ +01b31e: 7100 2507 0000 |001d: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0725 │ │ +01b324: 0c01 |0020: move-result-object v1 │ │ +01b326: 2202 2d01 |0021: new-instance v2, Ljava/lang/StringBuilder; // type@012d │ │ +01b32a: 1a03 f200 |0023: const-string v3, "Cannot get Config for useActionMenuFallback " // string@00f2 │ │ +01b32e: 7020 a805 3200 |0025: invoke-direct {v2, v3}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05a8 │ │ +01b334: 6e10 2405 0000 |0028: invoke-virtual {v0}, Ljava/io/IOException;.toString:()Ljava/lang/String; // method@0524 │ │ +01b33a: 0c00 |002b: move-result-object v0 │ │ +01b33c: 6e20 ad05 0200 |002c: invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +01b342: 6e10 af05 0200 |002f: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ +01b348: 0c00 |0032: move-result-object v0 │ │ +01b34a: 7220 3107 0100 |0033: invoke-interface {v1, v0}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0731 │ │ +01b350: 6300 ec00 |0036: sget-boolean v0, Ldnsfilter/android/DNSProxyActivity;.BOOT_START:Z // field@00ec │ │ +01b354: 1201 |0038: const/4 v1, #int 0 // #0 │ │ +01b356: 3800 2400 |0039: if-eqz v0, 005d // +0024 │ │ +01b35a: 7100 2507 0000 |003b: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0725 │ │ +01b360: 0c00 |003e: move-result-object v0 │ │ +01b362: 2202 2d01 |003f: new-instance v2, Ljava/lang/StringBuilder; // type@012d │ │ +01b366: 1a03 4904 |0041: const-string v3, "Running on SDK" // string@0449 │ │ +01b36a: 7020 a805 3200 |0043: invoke-direct {v2, v3}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05a8 │ │ +01b370: 6003 0200 |0046: sget v3, Landroid/os/Build$VERSION;.SDK_INT:I // field@0002 │ │ +01b374: 6e20 aa05 3200 |0048: invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@05aa │ │ +01b37a: 6e10 af05 0200 |004b: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ +01b380: 0c02 |004e: move-result-object v2 │ │ +01b382: 7220 3107 2000 |004f: invoke-interface {v0, v2}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0731 │ │ +01b388: 6000 0200 |0052: sget v0, Landroid/os/Build$VERSION;.SDK_INT:I // field@0002 │ │ +01b38c: 1302 1400 |0054: const/16 v2, #int 20 // #14 │ │ +01b390: 3420 0500 |0056: if-lt v0, v2, 005b // +0005 │ │ +01b394: 6e10 f002 0400 |0058: invoke-virtual {v4}, Ldnsfilter/android/DNSProxyActivity;.finish:()V // method@02f0 │ │ +01b39a: 6a01 ec00 |005b: sput-boolean v1, Ldnsfilter/android/DNSProxyActivity;.BOOT_START:Z // field@00ec │ │ +01b39e: 1210 |005d: const/4 v0, #int 1 // #1 │ │ +01b3a0: 6e20 0403 0400 |005e: invoke-virtual {v4, v0}, Ldnsfilter/android/DNSProxyActivity;.loadAndApplyConfig:(Z)V // method@0304 │ │ +01b3a6: 6a01 0501 |0061: sput-boolean v1, Ldnsfilter/android/DNSProxyActivity;.appStart:Z // field@0105 │ │ +01b3aa: 0e00 |0063: return-void │ │ catches : 1 │ │ 0x0005 - 0x001b │ │ Ljava/io/IOException; -> 0x001c │ │ positions : │ │ 0x0000 line=881 │ │ 0x0005 line=883 │ │ 0x001d line=885 │ │ @@ -44869,42 +44869,42 @@ │ │ type : '(Ldnsfilter/ConfigurationAccess;)V' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 3 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 61 16-bit code units │ │ -01c748: |[01c748] dnsfilter.android.DNSProxyActivity.onRemoteConnected:(Ldnsfilter/ConfigurationAccess;)V │ │ -01c758: 6902 ed00 |0000: sput-object v2, Ldnsfilter/android/DNSProxyActivity;.CONFIG:Ldnsfilter/ConfigurationAccess; // field@00ed │ │ -01c75c: 7100 2507 0000 |0002: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0725 │ │ -01c762: 0c02 |0005: move-result-object v2 │ │ -01c764: 1f02 8201 |0006: check-cast v2, Lutil/GroupedLogger; // type@0182 │ │ -01c768: 6200 2401 |0008: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.myLogger:Lutil/SuppressRepeatingsLogger; // field@0124 │ │ -01c76c: 6e20 f706 0200 |000a: invoke-virtual {v2, v0}, Lutil/GroupedLogger;.detachLogger:(Lutil/LoggerInterface;)V // method@06f7 │ │ -01c772: 1202 |000d: const/4 v2, #int 0 // #0 │ │ -01c774: 6e20 0403 2100 |000e: invoke-virtual {v1, v2}, Ldnsfilter/android/DNSProxyActivity;.loadAndApplyConfig:(Z)V // method@0304 │ │ -01c77a: 2202 2d01 |0011: new-instance v2, Ljava/lang/StringBuilder; // type@012d │ │ -01c77e: 1a00 e100 |0013: const-string v0, "CONNECTED TO " // string@00e1 │ │ -01c782: 7020 a805 0200 |0015: invoke-direct {v2, v0}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05a8 │ │ -01c788: 6200 ed00 |0018: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.CONFIG:Ldnsfilter/ConfigurationAccess; // field@00ed │ │ -01c78c: 6e20 ac05 0200 |001a: invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@05ac │ │ -01c792: 6e10 af05 0200 |001d: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ -01c798: 0c02 |0020: move-result-object v2 │ │ -01c79a: 6e20 0903 2100 |0021: invoke-virtual {v1, v2}, Ldnsfilter/android/DNSProxyActivity;.message:(Ljava/lang/String;)V // method@0309 │ │ -01c7a0: 2202 2d01 |0024: new-instance v2, Ljava/lang/StringBuilder; // type@012d │ │ -01c7a4: 1a00 9e00 |0026: const-string v0, "=>CONNECTED to " // string@009e │ │ -01c7a8: 7020 a805 0200 |0028: invoke-direct {v2, v0}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05a8 │ │ -01c7ae: 6200 ed00 |002b: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.CONFIG:Ldnsfilter/ConfigurationAccess; // field@00ed │ │ -01c7b2: 6e20 ac05 0200 |002d: invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@05ac │ │ -01c7b8: 1a00 9000 |0030: const-string v0, "<=" // string@0090 │ │ -01c7bc: 6e20 ad05 0200 |0032: invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -01c7c2: 6e10 af05 0200 |0035: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ -01c7c8: 0c02 |0038: move-result-object v2 │ │ -01c7ca: 6e20 0803 2100 |0039: invoke-virtual {v1, v2}, Ldnsfilter/android/DNSProxyActivity;.logLine:(Ljava/lang/String;)V // method@0308 │ │ -01c7d0: 0e00 |003c: return-void │ │ +01c744: |[01c744] dnsfilter.android.DNSProxyActivity.onRemoteConnected:(Ldnsfilter/ConfigurationAccess;)V │ │ +01c754: 6902 ed00 |0000: sput-object v2, Ldnsfilter/android/DNSProxyActivity;.CONFIG:Ldnsfilter/ConfigurationAccess; // field@00ed │ │ +01c758: 7100 2507 0000 |0002: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0725 │ │ +01c75e: 0c02 |0005: move-result-object v2 │ │ +01c760: 1f02 8201 |0006: check-cast v2, Lutil/GroupedLogger; // type@0182 │ │ +01c764: 6200 2401 |0008: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.myLogger:Lutil/SuppressRepeatingsLogger; // field@0124 │ │ +01c768: 6e20 f706 0200 |000a: invoke-virtual {v2, v0}, Lutil/GroupedLogger;.detachLogger:(Lutil/LoggerInterface;)V // method@06f7 │ │ +01c76e: 1202 |000d: const/4 v2, #int 0 // #0 │ │ +01c770: 6e20 0403 2100 |000e: invoke-virtual {v1, v2}, Ldnsfilter/android/DNSProxyActivity;.loadAndApplyConfig:(Z)V // method@0304 │ │ +01c776: 2202 2d01 |0011: new-instance v2, Ljava/lang/StringBuilder; // type@012d │ │ +01c77a: 1a00 e100 |0013: const-string v0, "CONNECTED TO " // string@00e1 │ │ +01c77e: 7020 a805 0200 |0015: invoke-direct {v2, v0}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05a8 │ │ +01c784: 6200 ed00 |0018: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.CONFIG:Ldnsfilter/ConfigurationAccess; // field@00ed │ │ +01c788: 6e20 ac05 0200 |001a: invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@05ac │ │ +01c78e: 6e10 af05 0200 |001d: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ +01c794: 0c02 |0020: move-result-object v2 │ │ +01c796: 6e20 0903 2100 |0021: invoke-virtual {v1, v2}, Ldnsfilter/android/DNSProxyActivity;.message:(Ljava/lang/String;)V // method@0309 │ │ +01c79c: 2202 2d01 |0024: new-instance v2, Ljava/lang/StringBuilder; // type@012d │ │ +01c7a0: 1a00 9e00 |0026: const-string v0, "=>CONNECTED to " // string@009e │ │ +01c7a4: 7020 a805 0200 |0028: invoke-direct {v2, v0}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05a8 │ │ +01c7aa: 6200 ed00 |002b: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.CONFIG:Ldnsfilter/ConfigurationAccess; // field@00ed │ │ +01c7ae: 6e20 ac05 0200 |002d: invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@05ac │ │ +01c7b4: 1a00 9000 |0030: const-string v0, "<=" // string@0090 │ │ +01c7b8: 6e20 ad05 0200 |0032: invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +01c7be: 6e10 af05 0200 |0035: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ +01c7c4: 0c02 |0038: move-result-object v2 │ │ +01c7c6: 6e20 0803 2100 |0039: invoke-virtual {v1, v2}, Ldnsfilter/android/DNSProxyActivity;.logLine:(Ljava/lang/String;)V // method@0308 │ │ +01c7cc: 0e00 |003c: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=1209 │ │ 0x0002 line=1210 │ │ 0x000e line=1211 │ │ 0x0011 line=1212 │ │ 0x0024 line=1213 │ │ @@ -44917,34 +44917,34 @@ │ │ type : '(Ljava/lang/String;)V' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 5 │ │ ins : 2 │ │ outs : 3 │ │ insns size : 41 16-bit code units │ │ -01c8f8: |[01c8f8] dnsfilter.android.DNSProxyActivity.openBrowser:(Ljava/lang/String;)V │ │ -01c908: 2200 1a00 |0000: new-instance v0, Landroid/content/Intent; // type@001a │ │ -01c90c: 1a01 6005 |0002: const-string v1, "android.intent.action.VIEW" // string@0560 │ │ -01c910: 7110 6a00 0400 |0004: invoke-static {v4}, Landroid/net/Uri;.parse:(Ljava/lang/String;)Landroid/net/Uri; // method@006a │ │ -01c916: 0c02 |0007: move-result-object v2 │ │ -01c918: 7030 4400 1002 |0008: invoke-direct {v0, v1, v2}, Landroid/content/Intent;.:(Ljava/lang/String;Landroid/net/Uri;)V // method@0044 │ │ -01c91e: 6e20 3103 0300 |000b: invoke-virtual {v3, v0}, Ldnsfilter/android/DNSProxyActivity;.startActivity:(Landroid/content/Intent;)V // method@0331 │ │ -01c924: 281a |000e: goto 0028 // +001a │ │ -01c926: 0d00 |000f: move-exception v0 │ │ -01c928: 2201 2d01 |0010: new-instance v1, Ljava/lang/StringBuilder; // type@012d │ │ -01c92c: 1a02 7e01 |0012: const-string v2, "Error opening " // string@017e │ │ -01c930: 7020 a805 2100 |0014: invoke-direct {v1, v2}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05a8 │ │ -01c936: 6e20 ad05 4100 |0017: invoke-virtual {v1, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -01c93c: 6e10 af05 0100 |001a: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ -01c942: 0c04 |001d: move-result-object v4 │ │ -01c944: 6e20 0903 4300 |001e: invoke-virtual {v3, v4}, Ldnsfilter/android/DNSProxyActivity;.message:(Ljava/lang/String;)V // method@0309 │ │ -01c94a: 6e10 5f05 0000 |0021: invoke-virtual {v0}, Ljava/lang/Exception;.toString:()Ljava/lang/String; // method@055f │ │ -01c950: 0c04 |0024: move-result-object v4 │ │ -01c952: 6e20 0803 4300 |0025: invoke-virtual {v3, v4}, Ldnsfilter/android/DNSProxyActivity;.logLine:(Ljava/lang/String;)V // method@0308 │ │ -01c958: 0e00 |0028: return-void │ │ +01c8f4: |[01c8f4] dnsfilter.android.DNSProxyActivity.openBrowser:(Ljava/lang/String;)V │ │ +01c904: 2200 1a00 |0000: new-instance v0, Landroid/content/Intent; // type@001a │ │ +01c908: 1a01 6005 |0002: const-string v1, "android.intent.action.VIEW" // string@0560 │ │ +01c90c: 7110 6a00 0400 |0004: invoke-static {v4}, Landroid/net/Uri;.parse:(Ljava/lang/String;)Landroid/net/Uri; // method@006a │ │ +01c912: 0c02 |0007: move-result-object v2 │ │ +01c914: 7030 4400 1002 |0008: invoke-direct {v0, v1, v2}, Landroid/content/Intent;.:(Ljava/lang/String;Landroid/net/Uri;)V // method@0044 │ │ +01c91a: 6e20 3103 0300 |000b: invoke-virtual {v3, v0}, Ldnsfilter/android/DNSProxyActivity;.startActivity:(Landroid/content/Intent;)V // method@0331 │ │ +01c920: 281a |000e: goto 0028 // +001a │ │ +01c922: 0d00 |000f: move-exception v0 │ │ +01c924: 2201 2d01 |0010: new-instance v1, Ljava/lang/StringBuilder; // type@012d │ │ +01c928: 1a02 7e01 |0012: const-string v2, "Error opening " // string@017e │ │ +01c92c: 7020 a805 2100 |0014: invoke-direct {v1, v2}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05a8 │ │ +01c932: 6e20 ad05 4100 |0017: invoke-virtual {v1, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +01c938: 6e10 af05 0100 |001a: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ +01c93e: 0c04 |001d: move-result-object v4 │ │ +01c940: 6e20 0903 4300 |001e: invoke-virtual {v3, v4}, Ldnsfilter/android/DNSProxyActivity;.message:(Ljava/lang/String;)V // method@0309 │ │ +01c946: 6e10 5f05 0000 |0021: invoke-virtual {v0}, Ljava/lang/Exception;.toString:()Ljava/lang/String; // method@055f │ │ +01c94c: 0c04 |0024: move-result-object v4 │ │ +01c94e: 6e20 0803 4300 |0025: invoke-virtual {v3, v4}, Ldnsfilter/android/DNSProxyActivity;.logLine:(Ljava/lang/String;)V // method@0308 │ │ +01c954: 0e00 |0028: return-void │ │ catches : 1 │ │ 0x000b - 0x000e │ │ Ljava/lang/Exception; -> 0x000f │ │ positions : │ │ 0x0000 line=1198 │ │ 0x000b line=1200 │ │ 0x0010 line=1202 │ │ @@ -44958,106 +44958,106 @@ │ │ type : '()V' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 8 │ │ ins : 1 │ │ outs : 4 │ │ insns size : 203 16-bit code units │ │ -01c96c: |[01c96c] dnsfilter.android.DNSProxyActivity.pepareRemoteControl:()V │ │ -01c97c: 1a00 0000 |0000: const-string v0, "" // string@0000 │ │ -01c980: 2201 0b00 |0002: new-instance v1, Landroid/app/Dialog; // type@000b │ │ -01c984: 1502 097f |0004: const/high16 v2, #int 2131296256 // #7f09 │ │ -01c988: 7030 1400 7102 |0006: invoke-direct {v1, v7, v2}, Landroid/app/Dialog;.:(Landroid/content/Context;I)V // method@0014 │ │ -01c98e: 1402 0d00 067f |0009: const v2, #float 1.78117e+38 // #7f06000d │ │ -01c994: 6e20 1b00 2100 |000c: invoke-virtual {v1, v2}, Landroid/app/Dialog;.setContentView:(I)V // method@001b │ │ -01c99a: 1402 5000 057f |000f: const v2, #float 1.76789e+38 // #7f050050 │ │ -01c9a0: 6e20 1700 2100 |0012: invoke-virtual {v1, v2}, Landroid/app/Dialog;.findViewById:(I)Landroid/view/View; // method@0017 │ │ -01c9a6: 0c02 |0015: move-result-object v2 │ │ -01c9a8: 1f02 6300 |0016: check-cast v2, Landroid/widget/Button; // type@0063 │ │ -01c9ac: 1403 4f00 057f |0018: const v3, #float 1.76789e+38 // #7f05004f │ │ -01c9b2: 6e20 1700 3100 |001b: invoke-virtual {v1, v3}, Landroid/app/Dialog;.findViewById:(I)Landroid/view/View; // method@0017 │ │ -01c9b8: 0c03 |001e: move-result-object v3 │ │ -01c9ba: 1f03 6300 |001f: check-cast v3, Landroid/widget/Button; // type@0063 │ │ -01c9be: 2204 a900 |0021: new-instance v4, Ldnsfilter/android/DNSProxyActivity$4; // type@00a9 │ │ -01c9c2: 7040 c302 7421 |0023: invoke-direct {v4, v7, v1, v2}, Ldnsfilter/android/DNSProxyActivity$4;.:(Ldnsfilter/android/DNSProxyActivity;Landroid/app/Dialog;Landroid/widget/Button;)V // method@02c3 │ │ -01c9c8: 6e20 1f00 7100 |0026: invoke-virtual {v1, v7}, Landroid/app/Dialog;.setOnKeyListener:(Landroid/content/DialogInterface$OnKeyListener;)V // method@001f │ │ -01c9ce: 6e10 f602 0700 |0029: invoke-virtual {v7}, Ldnsfilter/android/DNSProxyActivity;.getResources:()Landroid/content/res/Resources; // method@02f6 │ │ -01c9d4: 0c05 |002c: move-result-object v5 │ │ -01c9d6: 1406 2500 087f |002d: const v6, #float 1.80776e+38 // #7f080025 │ │ -01c9dc: 6e20 5900 6500 |0030: invoke-virtual {v5, v6}, Landroid/content/res/Resources;.getString:(I)Ljava/lang/String; // method@0059 │ │ -01c9e2: 0c05 |0033: move-result-object v5 │ │ -01c9e4: 6e20 2100 5100 |0034: invoke-virtual {v1, v5}, Landroid/app/Dialog;.setTitle:(Ljava/lang/CharSequence;)V // method@0021 │ │ -01c9ea: 6e20 c500 4200 |0037: invoke-virtual {v2, v4}, Landroid/widget/Button;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@00c5 │ │ -01c9f0: 6e20 c500 4300 |003a: invoke-virtual {v3, v4}, Landroid/widget/Button;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@00c5 │ │ -01c9f6: 7100 5301 0000 |003d: invoke-static {}, Ldnsfilter/ConfigurationAccess;.getLocal:()Ldnsfilter/ConfigurationAccess; // method@0153 │ │ -01c9fc: 0c02 |0040: move-result-object v2 │ │ -01c9fe: 6e10 4d01 0200 |0041: invoke-virtual {v2}, Ldnsfilter/ConfigurationAccess;.getConfig:()Ljava/util/Properties; // method@014d │ │ -01ca04: 0c02 |0044: move-result-object v2 │ │ -01ca06: 1a03 dd05 |0045: const-string v3, "client_remote_ctrl_host" // string@05dd │ │ -01ca0a: 6e30 5506 3200 |0047: invoke-virtual {v2, v3, v0}, Ljava/util/Properties;.getProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@0655 │ │ -01ca10: 0c02 |004a: move-result-object v2 │ │ -01ca12: 7100 5301 0000 |004b: invoke-static {}, Ldnsfilter/ConfigurationAccess;.getLocal:()Ldnsfilter/ConfigurationAccess; // method@0153 │ │ -01ca18: 0c03 |004e: move-result-object v3 │ │ -01ca1a: 6e10 4d01 0300 |004f: invoke-virtual {v3}, Ldnsfilter/ConfigurationAccess;.getConfig:()Ljava/util/Properties; // method@014d │ │ -01ca20: 0c03 |0052: move-result-object v3 │ │ -01ca22: 1a04 de05 |0053: const-string v4, "client_remote_ctrl_keyphrase" // string@05de │ │ -01ca26: 6e30 5506 4300 |0055: invoke-virtual {v3, v4, v0}, Ljava/util/Properties;.getProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@0655 │ │ -01ca2c: 0c00 |0058: move-result-object v0 │ │ -01ca2e: 7100 5301 0000 |0059: invoke-static {}, Ldnsfilter/ConfigurationAccess;.getLocal:()Ldnsfilter/ConfigurationAccess; // method@0153 │ │ -01ca34: 0c03 |005c: move-result-object v3 │ │ -01ca36: 6e10 4d01 0300 |005d: invoke-virtual {v3}, Ldnsfilter/ConfigurationAccess;.getConfig:()Ljava/util/Properties; // method@014d │ │ -01ca3c: 0c03 |0060: move-result-object v3 │ │ -01ca3e: 1a04 df05 |0061: const-string v4, "client_remote_ctrl_port" // string@05df │ │ -01ca42: 1a05 7900 |0063: const-string v5, "3333" // string@0079 │ │ -01ca46: 6e30 5506 4305 |0065: invoke-virtual {v3, v4, v5}, Ljava/util/Properties;.getProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@0655 │ │ -01ca4c: 0c03 |0068: move-result-object v3 │ │ -01ca4e: 7110 6505 0300 |0069: invoke-static {v3}, Ljava/lang/Integer;.parseInt:(Ljava/lang/String;)I // method@0565 │ │ -01ca54: 0a03 |006c: move-result v3 │ │ -01ca56: 2803 |006d: goto 0070 // +0003 │ │ -01ca58: 1303 050d |006e: const/16 v3, #int 3333 // #d05 │ │ -01ca5c: 1404 5100 057f |0070: const v4, #float 1.76789e+38 // #7f050051 │ │ -01ca62: 6e20 1700 4100 |0073: invoke-virtual {v1, v4}, Landroid/app/Dialog;.findViewById:(I)Landroid/view/View; // method@0017 │ │ -01ca68: 0c04 |0076: move-result-object v4 │ │ -01ca6a: 1f04 6700 |0077: check-cast v4, Landroid/widget/EditText; // type@0067 │ │ -01ca6e: 2205 2d01 |0079: new-instance v5, Ljava/lang/StringBuilder; // type@012d │ │ -01ca72: 7010 a705 0500 |007b: invoke-direct {v5}, Ljava/lang/StringBuilder;.:()V // method@05a7 │ │ -01ca78: 6e20 ad05 2500 |007e: invoke-virtual {v5, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -01ca7e: 1a02 8100 |0081: const-string v2, ":" // string@0081 │ │ -01ca82: 6e20 ad05 2500 |0083: invoke-virtual {v5, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -01ca88: 6e20 aa05 3500 |0086: invoke-virtual {v5, v3}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@05aa │ │ -01ca8e: 6e10 af05 0500 |0089: invoke-virtual {v5}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ -01ca94: 0c02 |008c: move-result-object v2 │ │ -01ca96: 6e20 e600 2400 |008d: invoke-virtual {v4, v2}, Landroid/widget/EditText;.setText:(Ljava/lang/CharSequence;)V // method@00e6 │ │ -01ca9c: 1402 4700 057f |0090: const v2, #float 1.76789e+38 // #7f050047 │ │ -01caa2: 6e20 1700 2100 |0093: invoke-virtual {v1, v2}, Landroid/app/Dialog;.findViewById:(I)Landroid/view/View; // method@0017 │ │ -01caa8: 0c02 |0096: move-result-object v2 │ │ -01caaa: 1f02 6700 |0097: check-cast v2, Landroid/widget/EditText; // type@0067 │ │ -01caae: 6e20 e600 0200 |0099: invoke-virtual {v2, v0}, Landroid/widget/EditText;.setText:(Ljava/lang/CharSequence;)V // method@00e6 │ │ -01cab4: 6e10 2200 0100 |009c: invoke-virtual {v1}, Landroid/app/Dialog;.show:()V // method@0022 │ │ -01caba: 6e10 1800 0100 |009f: invoke-virtual {v1}, Landroid/app/Dialog;.getWindow:()Landroid/view/Window; // method@0018 │ │ -01cac0: 0c00 |00a2: move-result-object v0 │ │ -01cac2: 6001 ef00 |00a3: sget v1, Ldnsfilter/android/DNSProxyActivity;.DISPLAY_WIDTH:I // field@00ef │ │ -01cac6: 6002 ee00 |00a5: sget v2, Ldnsfilter/android/DNSProxyActivity;.DISPLAY_HEIGTH:I // field@00ee │ │ -01caca: 7120 7105 2100 |00a7: invoke-static {v1, v2}, Ljava/lang/Math;.min:(II)I // method@0571 │ │ -01cad0: 0a01 |00aa: move-result v1 │ │ -01cad2: 8311 |00ab: int-to-double v1, v1 │ │ -01cad4: 1803 cdcc cccc cccc ec3f |00ac: const-wide v3, #double 0.9 // #3feccccccccccccd │ │ -01cade: 7120 5605 2100 |00b1: invoke-static {v1, v2}, Ljava/lang/Double;.isNaN:(D)Z // method@0556 │ │ -01cae4: ad01 0103 |00b4: mul-double v1, v1, v3 │ │ -01cae8: 8a11 |00b6: double-to-int v1, v1 │ │ -01caea: 12e2 |00b7: const/4 v2, #int -2 // #fe │ │ -01caec: 6e30 ba00 1002 |00b8: invoke-virtual {v0, v1, v2}, Landroid/view/Window;.setLayout:(II)V // method@00ba │ │ -01caf2: 1401 0d00 0601 |00bb: const v1, #float 2.46119e-38 // #0106000d │ │ -01caf8: 6e20 b900 1000 |00be: invoke-virtual {v0, v1}, Landroid/view/Window;.setBackgroundDrawableResource:(I)V // method@00b9 │ │ -01cafe: 0e00 |00c1: return-void │ │ -01cb00: 0d00 |00c2: move-exception v0 │ │ -01cb02: 7100 2507 0000 |00c3: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0725 │ │ -01cb08: 0c01 |00c6: move-result-object v1 │ │ -01cb0a: 7220 3007 0100 |00c7: invoke-interface {v1, v0}, Lutil/LoggerInterface;.logException:(Ljava/lang/Exception;)V // method@0730 │ │ -01cb10: 0e00 |00ca: return-void │ │ +01c968: |[01c968] dnsfilter.android.DNSProxyActivity.pepareRemoteControl:()V │ │ +01c978: 1a00 0000 |0000: const-string v0, "" // string@0000 │ │ +01c97c: 2201 0b00 |0002: new-instance v1, Landroid/app/Dialog; // type@000b │ │ +01c980: 1502 097f |0004: const/high16 v2, #int 2131296256 // #7f09 │ │ +01c984: 7030 1400 7102 |0006: invoke-direct {v1, v7, v2}, Landroid/app/Dialog;.:(Landroid/content/Context;I)V // method@0014 │ │ +01c98a: 1402 0d00 067f |0009: const v2, #float 1.78117e+38 // #7f06000d │ │ +01c990: 6e20 1b00 2100 |000c: invoke-virtual {v1, v2}, Landroid/app/Dialog;.setContentView:(I)V // method@001b │ │ +01c996: 1402 5000 057f |000f: const v2, #float 1.76789e+38 // #7f050050 │ │ +01c99c: 6e20 1700 2100 |0012: invoke-virtual {v1, v2}, Landroid/app/Dialog;.findViewById:(I)Landroid/view/View; // method@0017 │ │ +01c9a2: 0c02 |0015: move-result-object v2 │ │ +01c9a4: 1f02 6300 |0016: check-cast v2, Landroid/widget/Button; // type@0063 │ │ +01c9a8: 1403 4f00 057f |0018: const v3, #float 1.76789e+38 // #7f05004f │ │ +01c9ae: 6e20 1700 3100 |001b: invoke-virtual {v1, v3}, Landroid/app/Dialog;.findViewById:(I)Landroid/view/View; // method@0017 │ │ +01c9b4: 0c03 |001e: move-result-object v3 │ │ +01c9b6: 1f03 6300 |001f: check-cast v3, Landroid/widget/Button; // type@0063 │ │ +01c9ba: 2204 a900 |0021: new-instance v4, Ldnsfilter/android/DNSProxyActivity$4; // type@00a9 │ │ +01c9be: 7040 c302 7421 |0023: invoke-direct {v4, v7, v1, v2}, Ldnsfilter/android/DNSProxyActivity$4;.:(Ldnsfilter/android/DNSProxyActivity;Landroid/app/Dialog;Landroid/widget/Button;)V // method@02c3 │ │ +01c9c4: 6e20 1f00 7100 |0026: invoke-virtual {v1, v7}, Landroid/app/Dialog;.setOnKeyListener:(Landroid/content/DialogInterface$OnKeyListener;)V // method@001f │ │ +01c9ca: 6e10 f602 0700 |0029: invoke-virtual {v7}, Ldnsfilter/android/DNSProxyActivity;.getResources:()Landroid/content/res/Resources; // method@02f6 │ │ +01c9d0: 0c05 |002c: move-result-object v5 │ │ +01c9d2: 1406 2500 087f |002d: const v6, #float 1.80776e+38 // #7f080025 │ │ +01c9d8: 6e20 5900 6500 |0030: invoke-virtual {v5, v6}, Landroid/content/res/Resources;.getString:(I)Ljava/lang/String; // method@0059 │ │ +01c9de: 0c05 |0033: move-result-object v5 │ │ +01c9e0: 6e20 2100 5100 |0034: invoke-virtual {v1, v5}, Landroid/app/Dialog;.setTitle:(Ljava/lang/CharSequence;)V // method@0021 │ │ +01c9e6: 6e20 c500 4200 |0037: invoke-virtual {v2, v4}, Landroid/widget/Button;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@00c5 │ │ +01c9ec: 6e20 c500 4300 |003a: invoke-virtual {v3, v4}, Landroid/widget/Button;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@00c5 │ │ +01c9f2: 7100 5301 0000 |003d: invoke-static {}, Ldnsfilter/ConfigurationAccess;.getLocal:()Ldnsfilter/ConfigurationAccess; // method@0153 │ │ +01c9f8: 0c02 |0040: move-result-object v2 │ │ +01c9fa: 6e10 4d01 0200 |0041: invoke-virtual {v2}, Ldnsfilter/ConfigurationAccess;.getConfig:()Ljava/util/Properties; // method@014d │ │ +01ca00: 0c02 |0044: move-result-object v2 │ │ +01ca02: 1a03 dd05 |0045: const-string v3, "client_remote_ctrl_host" // string@05dd │ │ +01ca06: 6e30 5506 3200 |0047: invoke-virtual {v2, v3, v0}, Ljava/util/Properties;.getProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@0655 │ │ +01ca0c: 0c02 |004a: move-result-object v2 │ │ +01ca0e: 7100 5301 0000 |004b: invoke-static {}, Ldnsfilter/ConfigurationAccess;.getLocal:()Ldnsfilter/ConfigurationAccess; // method@0153 │ │ +01ca14: 0c03 |004e: move-result-object v3 │ │ +01ca16: 6e10 4d01 0300 |004f: invoke-virtual {v3}, Ldnsfilter/ConfigurationAccess;.getConfig:()Ljava/util/Properties; // method@014d │ │ +01ca1c: 0c03 |0052: move-result-object v3 │ │ +01ca1e: 1a04 de05 |0053: const-string v4, "client_remote_ctrl_keyphrase" // string@05de │ │ +01ca22: 6e30 5506 4300 |0055: invoke-virtual {v3, v4, v0}, Ljava/util/Properties;.getProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@0655 │ │ +01ca28: 0c00 |0058: move-result-object v0 │ │ +01ca2a: 7100 5301 0000 |0059: invoke-static {}, Ldnsfilter/ConfigurationAccess;.getLocal:()Ldnsfilter/ConfigurationAccess; // method@0153 │ │ +01ca30: 0c03 |005c: move-result-object v3 │ │ +01ca32: 6e10 4d01 0300 |005d: invoke-virtual {v3}, Ldnsfilter/ConfigurationAccess;.getConfig:()Ljava/util/Properties; // method@014d │ │ +01ca38: 0c03 |0060: move-result-object v3 │ │ +01ca3a: 1a04 df05 |0061: const-string v4, "client_remote_ctrl_port" // string@05df │ │ +01ca3e: 1a05 7900 |0063: const-string v5, "3333" // string@0079 │ │ +01ca42: 6e30 5506 4305 |0065: invoke-virtual {v3, v4, v5}, Ljava/util/Properties;.getProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@0655 │ │ +01ca48: 0c03 |0068: move-result-object v3 │ │ +01ca4a: 7110 6505 0300 |0069: invoke-static {v3}, Ljava/lang/Integer;.parseInt:(Ljava/lang/String;)I // method@0565 │ │ +01ca50: 0a03 |006c: move-result v3 │ │ +01ca52: 2803 |006d: goto 0070 // +0003 │ │ +01ca54: 1303 050d |006e: const/16 v3, #int 3333 // #d05 │ │ +01ca58: 1404 5100 057f |0070: const v4, #float 1.76789e+38 // #7f050051 │ │ +01ca5e: 6e20 1700 4100 |0073: invoke-virtual {v1, v4}, Landroid/app/Dialog;.findViewById:(I)Landroid/view/View; // method@0017 │ │ +01ca64: 0c04 |0076: move-result-object v4 │ │ +01ca66: 1f04 6700 |0077: check-cast v4, Landroid/widget/EditText; // type@0067 │ │ +01ca6a: 2205 2d01 |0079: new-instance v5, Ljava/lang/StringBuilder; // type@012d │ │ +01ca6e: 7010 a705 0500 |007b: invoke-direct {v5}, Ljava/lang/StringBuilder;.:()V // method@05a7 │ │ +01ca74: 6e20 ad05 2500 |007e: invoke-virtual {v5, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +01ca7a: 1a02 8100 |0081: const-string v2, ":" // string@0081 │ │ +01ca7e: 6e20 ad05 2500 |0083: invoke-virtual {v5, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +01ca84: 6e20 aa05 3500 |0086: invoke-virtual {v5, v3}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@05aa │ │ +01ca8a: 6e10 af05 0500 |0089: invoke-virtual {v5}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ +01ca90: 0c02 |008c: move-result-object v2 │ │ +01ca92: 6e20 e600 2400 |008d: invoke-virtual {v4, v2}, Landroid/widget/EditText;.setText:(Ljava/lang/CharSequence;)V // method@00e6 │ │ +01ca98: 1402 4700 057f |0090: const v2, #float 1.76789e+38 // #7f050047 │ │ +01ca9e: 6e20 1700 2100 |0093: invoke-virtual {v1, v2}, Landroid/app/Dialog;.findViewById:(I)Landroid/view/View; // method@0017 │ │ +01caa4: 0c02 |0096: move-result-object v2 │ │ +01caa6: 1f02 6700 |0097: check-cast v2, Landroid/widget/EditText; // type@0067 │ │ +01caaa: 6e20 e600 0200 |0099: invoke-virtual {v2, v0}, Landroid/widget/EditText;.setText:(Ljava/lang/CharSequence;)V // method@00e6 │ │ +01cab0: 6e10 2200 0100 |009c: invoke-virtual {v1}, Landroid/app/Dialog;.show:()V // method@0022 │ │ +01cab6: 6e10 1800 0100 |009f: invoke-virtual {v1}, Landroid/app/Dialog;.getWindow:()Landroid/view/Window; // method@0018 │ │ +01cabc: 0c00 |00a2: move-result-object v0 │ │ +01cabe: 6001 ef00 |00a3: sget v1, Ldnsfilter/android/DNSProxyActivity;.DISPLAY_WIDTH:I // field@00ef │ │ +01cac2: 6002 ee00 |00a5: sget v2, Ldnsfilter/android/DNSProxyActivity;.DISPLAY_HEIGTH:I // field@00ee │ │ +01cac6: 7120 7105 2100 |00a7: invoke-static {v1, v2}, Ljava/lang/Math;.min:(II)I // method@0571 │ │ +01cacc: 0a01 |00aa: move-result v1 │ │ +01cace: 8311 |00ab: int-to-double v1, v1 │ │ +01cad0: 1803 cdcc cccc cccc ec3f |00ac: const-wide v3, #double 0.9 // #3feccccccccccccd │ │ +01cada: 7120 5605 2100 |00b1: invoke-static {v1, v2}, Ljava/lang/Double;.isNaN:(D)Z // method@0556 │ │ +01cae0: ad01 0103 |00b4: mul-double v1, v1, v3 │ │ +01cae4: 8a11 |00b6: double-to-int v1, v1 │ │ +01cae6: 12e2 |00b7: const/4 v2, #int -2 // #fe │ │ +01cae8: 6e30 ba00 1002 |00b8: invoke-virtual {v0, v1, v2}, Landroid/view/Window;.setLayout:(II)V // method@00ba │ │ +01caee: 1401 0d00 0601 |00bb: const v1, #float 2.46119e-38 // #0106000d │ │ +01caf4: 6e20 b900 1000 |00be: invoke-virtual {v0, v1}, Landroid/view/Window;.setBackgroundDrawableResource:(I)V // method@00b9 │ │ +01cafa: 0e00 |00c1: return-void │ │ +01cafc: 0d00 |00c2: move-exception v0 │ │ +01cafe: 7100 2507 0000 |00c3: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0725 │ │ +01cb04: 0c01 |00c6: move-result-object v1 │ │ +01cb06: 7220 3007 0100 |00c7: invoke-interface {v1, v0}, Lutil/LoggerInterface;.logException:(Ljava/lang/Exception;)V // method@0730 │ │ +01cb0c: 0e00 |00ca: return-void │ │ catches : 2 │ │ 0x003d - 0x0059 │ │ Ljava/lang/Exception; -> 0x00c2 │ │ 0x0059 - 0x006d │ │ Ljava/lang/Exception; -> 0x006e │ │ positions : │ │ 0x0000 line=1237 │ │ @@ -45087,254 +45087,254 @@ │ │ type : '()V' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 17 │ │ ins : 1 │ │ outs : 3 │ │ insns size : 513 16-bit code units │ │ -01cb30: |[01cb30] dnsfilter.android.DNSProxyActivity.persistConfig:()V │ │ -01cb40: 1a00 ce0a |0000: const-string v0, "showInitialInfoPopUp" // string@0ace │ │ -01cb44: 1a01 e606 |0002: const-string v1, "filterActive" // string@06e6 │ │ -01cb48: 1a02 2a0a |0004: const-string v2, "rootModeOnAndroid" // string@0a2a │ │ -01cb4c: 1a03 6d06 |0006: const-string v3, "dnsProxyOnlyLocalRequests" // string@066d │ │ -01cb50: 1a04 6b06 |0008: const-string v4, "dnsProxyOnAndroid" // string@066b │ │ -01cb54: 1a05 6805 |000a: const-string v5, "androidKeepAwake" // string@0568 │ │ -01cb58: 1a06 c005 |000c: const-string v6, "checkCNAME" // string@05c0 │ │ -01cb5c: 1a07 6705 |000e: const-string v7, "androidAppWhiteList" // string@0567 │ │ -01cb60: 1a08 b200 |0010: const-string v8, "AUTOSTART" // string@00b2 │ │ -01cb64: 1a09 db09 |0012: const-string v9, "reloadIntervalDays" // string@09db │ │ -01cb68: 1a0a 0000 |0014: const-string v10, "" // string@0000 │ │ -01cb6c: 7401 2303 1000 |0016: invoke-virtual/range {v16}, Ldnsfilter/android/DNSProxyActivity;.persistManuallyEditConf:()Z // method@0323 │ │ -01cb72: 0a0b |0019: move-result v11 │ │ -01cb74: 380b 0300 |001a: if-eqz v11, 001d // +0003 │ │ -01cb78: 0e00 |001c: return-void │ │ -01cb7a: 7401 2103 1000 |001d: invoke-virtual/range {v16}, Ldnsfilter/android/DNSProxyActivity;.persistAdditionalHosts:()Z // method@0321 │ │ -01cb80: 0a0b |0020: move-result v11 │ │ -01cb82: 620c 1801 |0021: sget-object v12, Ldnsfilter/android/DNSProxyActivity;.filterReloadIntervalView:Landroid/widget/EditText; // field@0118 │ │ -01cb86: 6e10 da00 0c00 |0023: invoke-virtual {v12}, Landroid/widget/EditText;.getText:()Landroid/text/Editable; // method@00da │ │ -01cb8c: 0c0c |0026: move-result-object v12 │ │ -01cb8e: 6e10 7805 0c00 |0027: invoke-virtual {v12}, Ljava/lang/Object;.toString:()Ljava/lang/String; // method@0578 │ │ -01cb94: 0c0c |002a: move-result-object v12 │ │ -01cb96: 6e20 8b05 ac00 |002b: invoke-virtual {v12, v10}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058b │ │ -01cb9c: 0a0c |002e: move-result v12 │ │ -01cb9e: 380c 0900 |002f: if-eqz v12, 0038 // +0009 │ │ -01cba2: 620c 1801 |0031: sget-object v12, Ldnsfilter/android/DNSProxyActivity;.filterReloadIntervalView:Landroid/widget/EditText; // field@0118 │ │ -01cba6: 1a0d 7f00 |0033: const-string v13, "7" // string@007f │ │ -01cbaa: 6e20 e600 dc00 |0035: invoke-virtual {v12, v13}, Landroid/widget/EditText;.setText:(Ljava/lang/CharSequence;)V // method@00e6 │ │ -01cbb0: 7401 f302 1000 |0038: invoke-virtual/range {v16}, Ldnsfilter/android/DNSProxyActivity;.getConfig:()Ldnsfilter/ConfigUtil; // method@02f3 │ │ -01cbb6: 0c0c |003b: move-result-object v12 │ │ -01cbb8: 620d 1601 |003c: sget-object v13, Ldnsfilter/android/DNSProxyActivity;.filterCfg:Ldnsfilter/android/FilterConfig; // field@0116 │ │ -01cbbc: 6e10 3d03 0d00 |003e: invoke-virtual {v13}, Ldnsfilter/android/FilterConfig;.getFilterEntries:()[Ldnsfilter/ConfigUtil$HostFilterList; // method@033d │ │ -01cbc2: 0c0d |0041: move-result-object v13 │ │ -01cbc4: 6e20 4101 dc00 |0042: invoke-virtual {v12, v13}, Ldnsfilter/ConfigUtil;.setConfiguredFilterLists:([Ldnsfilter/ConfigUtil$HostFilterList;)V // method@0141 │ │ -01cbca: 220c f400 |0045: new-instance v12, Ljava/io/BufferedReader; // type@00f4 │ │ -01cbce: 220d 0201 |0047: new-instance v13, Ljava/io/InputStreamReader; // type@0102 │ │ -01cbd2: 220e f600 |0049: new-instance v14, Ljava/io/ByteArrayInputStream; // type@00f6 │ │ -01cbd6: 620f ed00 |004b: sget-object v15, Ldnsfilter/android/DNSProxyActivity;.CONFIG:Ldnsfilter/ConfigurationAccess; // field@00ed │ │ -01cbda: 6e10 5901 0f00 |004d: invoke-virtual {v15}, Ldnsfilter/ConfigurationAccess;.readConfig:()[B // method@0159 │ │ -01cbe0: 0c0f |0050: move-result-object v15 │ │ -01cbe2: 7020 df04 fe00 |0051: invoke-direct {v14, v15}, Ljava/io/ByteArrayInputStream;.:([B)V // method@04df │ │ -01cbe8: 7020 2b05 ed00 |0054: invoke-direct {v13, v14}, Ljava/io/InputStreamReader;.:(Ljava/io/InputStream;)V // method@052b │ │ -01cbee: 7020 d804 dc00 |0057: invoke-direct {v12, v13}, Ljava/io/BufferedReader;.:(Ljava/io/Reader;)V // method@04d8 │ │ -01cbf4: 6e10 da04 0c00 |005a: invoke-virtual {v12}, Ljava/io/BufferedReader;.readLine:()Ljava/lang/String; // method@04da │ │ -01cbfa: 0c0d |005d: move-result-object v13 │ │ -01cbfc: 380d 7501 |005e: if-eqz v13, 01d3 // +0175 │ │ -01cc00: 6e10 a005 0d00 |0060: invoke-virtual {v13}, Ljava/lang/String;.trim:()Ljava/lang/String; // method@05a0 │ │ -01cc06: 0c0e |0063: move-result-object v14 │ │ -01cc08: 6e20 9905 9e00 |0064: invoke-virtual {v14, v9}, Ljava/lang/String;.startsWith:(Ljava/lang/String;)Z // method@0599 │ │ -01cc0e: 0a0e |0067: move-result v14 │ │ -01cc10: 380e 1400 |0068: if-eqz v14, 007c // +0014 │ │ -01cc14: 7401 f302 1000 |006a: invoke-virtual/range {v16}, Ldnsfilter/android/DNSProxyActivity;.getConfig:()Ldnsfilter/ConfigUtil; // method@02f3 │ │ -01cc1a: 0c0d |006d: move-result-object v13 │ │ -01cc1c: 620e 1801 |006e: sget-object v14, Ldnsfilter/android/DNSProxyActivity;.filterReloadIntervalView:Landroid/widget/EditText; // field@0118 │ │ -01cc20: 6e10 da00 0e00 |0070: invoke-virtual {v14}, Landroid/widget/EditText;.getText:()Landroid/text/Editable; // method@00da │ │ -01cc26: 0c0e |0073: move-result-object v14 │ │ -01cc28: 6e10 7805 0e00 |0074: invoke-virtual {v14}, Ljava/lang/Object;.toString:()Ljava/lang/String; // method@0578 │ │ -01cc2e: 0c0e |0077: move-result-object v14 │ │ -01cc30: 6e30 4301 9d0e |0078: invoke-virtual {v13, v9, v14}, Ldnsfilter/ConfigUtil;.updateConfigValue:(Ljava/lang/String;Ljava/lang/String;)V // method@0143 │ │ -01cc36: 28df |007b: goto 005a // -0021 │ │ -01cc38: 6e10 a005 0d00 |007c: invoke-virtual {v13}, Ljava/lang/String;.trim:()Ljava/lang/String; // method@05a0 │ │ -01cc3e: 0c0e |007f: move-result-object v14 │ │ -01cc40: 6e20 9905 8e00 |0080: invoke-virtual {v14, v8}, Ljava/lang/String;.startsWith:(Ljava/lang/String;)Z // method@0599 │ │ -01cc46: 0a0e |0083: move-result v14 │ │ -01cc48: 380e 1f00 |0084: if-eqz v14, 00a3 // +001f │ │ -01cc4c: 7401 f302 1000 |0086: invoke-virtual/range {v16}, Ldnsfilter/android/DNSProxyActivity;.getConfig:()Ldnsfilter/ConfigUtil; // method@02f3 │ │ -01cc52: 0c0d |0089: move-result-object v13 │ │ -01cc54: 220e 2d01 |008a: new-instance v14, Ljava/lang/StringBuilder; // type@012d │ │ -01cc58: 7010 a705 0e00 |008c: invoke-direct {v14}, Ljava/lang/StringBuilder;.:()V // method@05a7 │ │ -01cc5e: 620f 1401 |008f: sget-object v15, Ldnsfilter/android/DNSProxyActivity;.enableAutoStartCheck:Landroid/widget/CheckBox; // field@0114 │ │ -01cc62: 6e10 cc00 0f00 |0091: invoke-virtual {v15}, Landroid/widget/CheckBox;.isChecked:()Z // method@00cc │ │ -01cc68: 0a0f |0094: move-result v15 │ │ -01cc6a: 6e20 ae05 fe00 |0095: invoke-virtual {v14, v15}, Ljava/lang/StringBuilder;.append:(Z)Ljava/lang/StringBuilder; // method@05ae │ │ -01cc70: 6e20 ad05 ae00 |0098: invoke-virtual {v14, v10}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -01cc76: 6e10 af05 0e00 |009b: invoke-virtual {v14}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ -01cc7c: 0c0e |009e: move-result-object v14 │ │ -01cc7e: 6e30 4301 8d0e |009f: invoke-virtual {v13, v8, v14}, Ldnsfilter/ConfigUtil;.updateConfigValue:(Ljava/lang/String;Ljava/lang/String;)V // method@0143 │ │ -01cc84: 28b8 |00a2: goto 005a // -0048 │ │ -01cc86: 6e10 a005 0d00 |00a3: invoke-virtual {v13}, Ljava/lang/String;.trim:()Ljava/lang/String; // method@05a0 │ │ -01cc8c: 0c0e |00a6: move-result-object v14 │ │ -01cc8e: 6e20 9905 7e00 |00a7: invoke-virtual {v14, v7}, Ljava/lang/String;.startsWith:(Ljava/lang/String;)Z // method@0599 │ │ -01cc94: 0a0e |00aa: move-result v14 │ │ -01cc96: 380e 1000 |00ab: if-eqz v14, 00bb // +0010 │ │ -01cc9a: 7401 f302 1000 |00ad: invoke-virtual/range {v16}, Ldnsfilter/android/DNSProxyActivity;.getConfig:()Ldnsfilter/ConfigUtil; // method@02f3 │ │ -01cca0: 0c0d |00b0: move-result-object v13 │ │ -01cca2: 620e 0401 |00b1: sget-object v14, Ldnsfilter/android/DNSProxyActivity;.appSelector:Ldnsfilter/android/AppSelectorView; // field@0104 │ │ -01cca6: 6e10 5102 0e00 |00b3: invoke-virtual {v14}, Ldnsfilter/android/AppSelectorView;.getSelectedAppPackages:()Ljava/lang/String; // method@0251 │ │ -01ccac: 0c0e |00b6: move-result-object v14 │ │ -01ccae: 6e30 4301 7d0e |00b7: invoke-virtual {v13, v7, v14}, Ldnsfilter/ConfigUtil;.updateConfigValue:(Ljava/lang/String;Ljava/lang/String;)V // method@0143 │ │ -01ccb4: 28a0 |00ba: goto 005a // -0060 │ │ -01ccb6: 6e10 a005 0d00 |00bb: invoke-virtual {v13}, Ljava/lang/String;.trim:()Ljava/lang/String; // method@05a0 │ │ -01ccbc: 0c0e |00be: move-result-object v14 │ │ -01ccbe: 6e20 9905 6e00 |00bf: invoke-virtual {v14, v6}, Ljava/lang/String;.startsWith:(Ljava/lang/String;)Z // method@0599 │ │ -01ccc4: 0a0e |00c2: move-result v14 │ │ -01ccc6: 380e 2000 |00c3: if-eqz v14, 00e3 // +0020 │ │ -01ccca: 7401 f302 1000 |00c5: invoke-virtual/range {v16}, Ldnsfilter/android/DNSProxyActivity;.getConfig:()Ldnsfilter/ConfigUtil; // method@02f3 │ │ -01ccd0: 0c0d |00c8: move-result-object v13 │ │ -01ccd2: 220e 2d01 |00c9: new-instance v14, Ljava/lang/StringBuilder; // type@012d │ │ -01ccd6: 7010 a705 0e00 |00cb: invoke-direct {v14}, Ljava/lang/StringBuilder;.:()V // method@05a7 │ │ -01ccdc: 620f 1501 |00ce: sget-object v15, Ldnsfilter/android/DNSProxyActivity;.enableCloakProtectCheck:Landroid/widget/CheckBox; // field@0115 │ │ -01cce0: 6e10 cc00 0f00 |00d0: invoke-virtual {v15}, Landroid/widget/CheckBox;.isChecked:()Z // method@00cc │ │ -01cce6: 0a0f |00d3: move-result v15 │ │ -01cce8: 6e20 ae05 fe00 |00d4: invoke-virtual {v14, v15}, Ljava/lang/StringBuilder;.append:(Z)Ljava/lang/StringBuilder; // method@05ae │ │ -01ccee: 6e20 ad05 ae00 |00d7: invoke-virtual {v14, v10}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -01ccf4: 6e10 af05 0e00 |00da: invoke-virtual {v14}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ -01ccfa: 0c0e |00dd: move-result-object v14 │ │ -01ccfc: 6e30 4301 6d0e |00de: invoke-virtual {v13, v6, v14}, Ldnsfilter/ConfigUtil;.updateConfigValue:(Ljava/lang/String;Ljava/lang/String;)V // method@0143 │ │ -01cd02: 2900 79ff |00e1: goto/16 005a // -0087 │ │ -01cd06: 6e10 a005 0d00 |00e3: invoke-virtual {v13}, Ljava/lang/String;.trim:()Ljava/lang/String; // method@05a0 │ │ -01cd0c: 0c0e |00e6: move-result-object v14 │ │ -01cd0e: 6e20 9905 5e00 |00e7: invoke-virtual {v14, v5}, Ljava/lang/String;.startsWith:(Ljava/lang/String;)Z // method@0599 │ │ -01cd14: 0a0e |00ea: move-result v14 │ │ -01cd16: 380e 2000 |00eb: if-eqz v14, 010b // +0020 │ │ -01cd1a: 7401 f302 1000 |00ed: invoke-virtual/range {v16}, Ldnsfilter/android/DNSProxyActivity;.getConfig:()Ldnsfilter/ConfigUtil; // method@02f3 │ │ -01cd20: 0c0d |00f0: move-result-object v13 │ │ -01cd22: 220e 2d01 |00f1: new-instance v14, Ljava/lang/StringBuilder; // type@012d │ │ -01cd26: 7010 a705 0e00 |00f3: invoke-direct {v14}, Ljava/lang/StringBuilder;.:()V // method@05a7 │ │ -01cd2c: 620f 1c01 |00f6: sget-object v15, Ldnsfilter/android/DNSProxyActivity;.keepAwakeCheck:Landroid/widget/CheckBox; // field@011c │ │ -01cd30: 6e10 cc00 0f00 |00f8: invoke-virtual {v15}, Landroid/widget/CheckBox;.isChecked:()Z // method@00cc │ │ -01cd36: 0a0f |00fb: move-result v15 │ │ -01cd38: 6e20 ae05 fe00 |00fc: invoke-virtual {v14, v15}, Ljava/lang/StringBuilder;.append:(Z)Ljava/lang/StringBuilder; // method@05ae │ │ -01cd3e: 6e20 ad05 ae00 |00ff: invoke-virtual {v14, v10}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -01cd44: 6e10 af05 0e00 |0102: invoke-virtual {v14}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ -01cd4a: 0c0e |0105: move-result-object v14 │ │ -01cd4c: 6e30 4301 5d0e |0106: invoke-virtual {v13, v5, v14}, Ldnsfilter/ConfigUtil;.updateConfigValue:(Ljava/lang/String;Ljava/lang/String;)V // method@0143 │ │ -01cd52: 2900 51ff |0109: goto/16 005a // -00af │ │ -01cd56: 6e10 a005 0d00 |010b: invoke-virtual {v13}, Ljava/lang/String;.trim:()Ljava/lang/String; // method@05a0 │ │ -01cd5c: 0c0e |010e: move-result-object v14 │ │ -01cd5e: 6e20 9905 4e00 |010f: invoke-virtual {v14, v4}, Ljava/lang/String;.startsWith:(Ljava/lang/String;)Z // method@0599 │ │ -01cd64: 0a0e |0112: move-result v14 │ │ -01cd66: 380e 2000 |0113: if-eqz v14, 0133 // +0020 │ │ -01cd6a: 7401 f302 1000 |0115: invoke-virtual/range {v16}, Ldnsfilter/android/DNSProxyActivity;.getConfig:()Ldnsfilter/ConfigUtil; // method@02f3 │ │ -01cd70: 0c0d |0118: move-result-object v13 │ │ -01cd72: 220e 2d01 |0119: new-instance v14, Ljava/lang/StringBuilder; // type@012d │ │ -01cd76: 7010 a705 0e00 |011b: invoke-direct {v14}, Ljava/lang/StringBuilder;.:()V // method@05a7 │ │ -01cd7c: 620f 2901 |011e: sget-object v15, Ldnsfilter/android/DNSProxyActivity;.proxyModeCheck:Landroid/widget/CheckBox; // field@0129 │ │ -01cd80: 6e10 cc00 0f00 |0120: invoke-virtual {v15}, Landroid/widget/CheckBox;.isChecked:()Z // method@00cc │ │ -01cd86: 0a0f |0123: move-result v15 │ │ -01cd88: 6e20 ae05 fe00 |0124: invoke-virtual {v14, v15}, Ljava/lang/StringBuilder;.append:(Z)Ljava/lang/StringBuilder; // method@05ae │ │ -01cd8e: 6e20 ad05 ae00 |0127: invoke-virtual {v14, v10}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -01cd94: 6e10 af05 0e00 |012a: invoke-virtual {v14}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ -01cd9a: 0c0e |012d: move-result-object v14 │ │ -01cd9c: 6e30 4301 4d0e |012e: invoke-virtual {v13, v4, v14}, Ldnsfilter/ConfigUtil;.updateConfigValue:(Ljava/lang/String;Ljava/lang/String;)V // method@0143 │ │ -01cda2: 2900 29ff |0131: goto/16 005a // -00d7 │ │ -01cda6: 6e10 a005 0d00 |0133: invoke-virtual {v13}, Ljava/lang/String;.trim:()Ljava/lang/String; // method@05a0 │ │ -01cdac: 0c0e |0136: move-result-object v14 │ │ -01cdae: 6e20 9905 3e00 |0137: invoke-virtual {v14, v3}, Ljava/lang/String;.startsWith:(Ljava/lang/String;)Z // method@0599 │ │ -01cdb4: 0a0e |013a: move-result v14 │ │ -01cdb6: 380e 2000 |013b: if-eqz v14, 015b // +0020 │ │ -01cdba: 7401 f302 1000 |013d: invoke-virtual/range {v16}, Ldnsfilter/android/DNSProxyActivity;.getConfig:()Ldnsfilter/ConfigUtil; // method@02f3 │ │ -01cdc0: 0c0d |0140: move-result-object v13 │ │ -01cdc2: 220e 2d01 |0141: new-instance v14, Ljava/lang/StringBuilder; // type@012d │ │ -01cdc6: 7010 a705 0e00 |0143: invoke-direct {v14}, Ljava/lang/StringBuilder;.:()V // method@05a7 │ │ -01cdcc: 620f 2801 |0146: sget-object v15, Ldnsfilter/android/DNSProxyActivity;.proxyLocalOnlyCheck:Landroid/widget/CheckBox; // field@0128 │ │ -01cdd0: 6e10 cc00 0f00 |0148: invoke-virtual {v15}, Landroid/widget/CheckBox;.isChecked:()Z // method@00cc │ │ -01cdd6: 0a0f |014b: move-result v15 │ │ -01cdd8: 6e20 ae05 fe00 |014c: invoke-virtual {v14, v15}, Ljava/lang/StringBuilder;.append:(Z)Ljava/lang/StringBuilder; // method@05ae │ │ -01cdde: 6e20 ad05 ae00 |014f: invoke-virtual {v14, v10}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -01cde4: 6e10 af05 0e00 |0152: invoke-virtual {v14}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ -01cdea: 0c0e |0155: move-result-object v14 │ │ -01cdec: 6e30 4301 3d0e |0156: invoke-virtual {v13, v3, v14}, Ldnsfilter/ConfigUtil;.updateConfigValue:(Ljava/lang/String;Ljava/lang/String;)V // method@0143 │ │ -01cdf2: 2900 01ff |0159: goto/16 005a // -00ff │ │ -01cdf6: 6e10 a005 0d00 |015b: invoke-virtual {v13}, Ljava/lang/String;.trim:()Ljava/lang/String; // method@05a0 │ │ -01cdfc: 0c0e |015e: move-result-object v14 │ │ -01cdfe: 6e20 9905 2e00 |015f: invoke-virtual {v14, v2}, Ljava/lang/String;.startsWith:(Ljava/lang/String;)Z // method@0599 │ │ -01ce04: 0a0e |0162: move-result v14 │ │ -01ce06: 380e 2000 |0163: if-eqz v14, 0183 // +0020 │ │ -01ce0a: 7401 f302 1000 |0165: invoke-virtual/range {v16}, Ldnsfilter/android/DNSProxyActivity;.getConfig:()Ldnsfilter/ConfigUtil; // method@02f3 │ │ -01ce10: 0c0d |0168: move-result-object v13 │ │ -01ce12: 220e 2d01 |0169: new-instance v14, Ljava/lang/StringBuilder; // type@012d │ │ -01ce16: 7010 a705 0e00 |016b: invoke-direct {v14}, Ljava/lang/StringBuilder;.:()V // method@05a7 │ │ -01ce1c: 620f 3001 |016e: sget-object v15, Ldnsfilter/android/DNSProxyActivity;.rootModeCheck:Landroid/widget/CheckBox; // field@0130 │ │ -01ce20: 6e10 cc00 0f00 |0170: invoke-virtual {v15}, Landroid/widget/CheckBox;.isChecked:()Z // method@00cc │ │ -01ce26: 0a0f |0173: move-result v15 │ │ -01ce28: 6e20 ae05 fe00 |0174: invoke-virtual {v14, v15}, Ljava/lang/StringBuilder;.append:(Z)Ljava/lang/StringBuilder; // method@05ae │ │ -01ce2e: 6e20 ad05 ae00 |0177: invoke-virtual {v14, v10}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -01ce34: 6e10 af05 0e00 |017a: invoke-virtual {v14}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ -01ce3a: 0c0e |017d: move-result-object v14 │ │ -01ce3c: 6e30 4301 2d0e |017e: invoke-virtual {v13, v2, v14}, Ldnsfilter/ConfigUtil;.updateConfigValue:(Ljava/lang/String;Ljava/lang/String;)V // method@0143 │ │ -01ce42: 2900 d9fe |0181: goto/16 005a // -0127 │ │ -01ce46: 6e10 a005 0d00 |0183: invoke-virtual {v13}, Ljava/lang/String;.trim:()Ljava/lang/String; // method@05a0 │ │ -01ce4c: 0c0e |0186: move-result-object v14 │ │ -01ce4e: 6e20 9905 1e00 |0187: invoke-virtual {v14, v1}, Ljava/lang/String;.startsWith:(Ljava/lang/String;)Z // method@0599 │ │ -01ce54: 0a0e |018a: move-result v14 │ │ -01ce56: 380e 2000 |018b: if-eqz v14, 01ab // +0020 │ │ -01ce5a: 7401 f302 1000 |018d: invoke-virtual/range {v16}, Ldnsfilter/android/DNSProxyActivity;.getConfig:()Ldnsfilter/ConfigUtil; // method@02f3 │ │ -01ce60: 0c0d |0190: move-result-object v13 │ │ -01ce62: 220e 2d01 |0191: new-instance v14, Ljava/lang/StringBuilder; // type@012d │ │ -01ce66: 7010 a705 0e00 |0193: invoke-direct {v14}, Ljava/lang/StringBuilder;.:()V // method@05a7 │ │ -01ce6c: 620f 1301 |0196: sget-object v15, Ldnsfilter/android/DNSProxyActivity;.enableAdFilterCheck:Landroid/widget/CheckBox; // field@0113 │ │ -01ce70: 6e10 cc00 0f00 |0198: invoke-virtual {v15}, Landroid/widget/CheckBox;.isChecked:()Z // method@00cc │ │ -01ce76: 0a0f |019b: move-result v15 │ │ -01ce78: 6e20 ae05 fe00 |019c: invoke-virtual {v14, v15}, Ljava/lang/StringBuilder;.append:(Z)Ljava/lang/StringBuilder; // method@05ae │ │ -01ce7e: 6e20 ad05 ae00 |019f: invoke-virtual {v14, v10}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -01ce84: 6e10 af05 0e00 |01a2: invoke-virtual {v14}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ -01ce8a: 0c0e |01a5: move-result-object v14 │ │ -01ce8c: 6e30 4301 1d0e |01a6: invoke-virtual {v13, v1, v14}, Ldnsfilter/ConfigUtil;.updateConfigValue:(Ljava/lang/String;Ljava/lang/String;)V // method@0143 │ │ -01ce92: 2900 b1fe |01a9: goto/16 005a // -014f │ │ -01ce96: 630e 2701 |01ab: sget-boolean v14, Ldnsfilter/android/DNSProxyActivity;.popUpDialogChanged:Z // field@0127 │ │ -01ce9a: 380e adfe |01ad: if-eqz v14, 005a // -0153 │ │ -01ce9e: 6e10 a005 0d00 |01af: invoke-virtual {v13}, Ljava/lang/String;.trim:()Ljava/lang/String; // method@05a0 │ │ -01cea4: 0c0d |01b2: move-result-object v13 │ │ -01cea6: 6e20 9905 0d00 |01b3: invoke-virtual {v13, v0}, Ljava/lang/String;.startsWith:(Ljava/lang/String;)Z // method@0599 │ │ -01ceac: 0a0d |01b6: move-result v13 │ │ -01ceae: 380d a3fe |01b7: if-eqz v13, 005a // -015d │ │ -01ceb2: 7401 f302 1000 |01b9: invoke-virtual/range {v16}, Ldnsfilter/android/DNSProxyActivity;.getConfig:()Ldnsfilter/ConfigUtil; // method@02f3 │ │ -01ceb8: 0c0d |01bc: move-result-object v13 │ │ -01ceba: 220e 2d01 |01bd: new-instance v14, Ljava/lang/StringBuilder; // type@012d │ │ -01cebe: 7010 a705 0e00 |01bf: invoke-direct {v14}, Ljava/lang/StringBuilder;.:()V // method@05a7 │ │ -01cec4: 630f 3501 |01c2: sget-boolean v15, Ldnsfilter/android/DNSProxyActivity;.showInitialInfoPopUp:Z // field@0135 │ │ -01cec8: 6e20 ae05 fe00 |01c4: invoke-virtual {v14, v15}, Ljava/lang/StringBuilder;.append:(Z)Ljava/lang/StringBuilder; // method@05ae │ │ -01cece: 6e20 ad05 ae00 |01c7: invoke-virtual {v14, v10}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -01ced4: 6e10 af05 0e00 |01ca: invoke-virtual {v14}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ -01ceda: 0c0e |01cd: move-result-object v14 │ │ -01cedc: 6e30 4301 0d0e |01ce: invoke-virtual {v13, v0, v14}, Ldnsfilter/ConfigUtil;.updateConfigValue:(Ljava/lang/String;Ljava/lang/String;)V // method@0143 │ │ -01cee2: 2900 89fe |01d1: goto/16 005a // -0177 │ │ -01cee6: 6e10 d904 0c00 |01d3: invoke-virtual {v12}, Ljava/io/BufferedReader;.close:()V // method@04d9 │ │ -01ceec: 390b 0a00 |01d6: if-nez v11, 01e0 // +000a │ │ -01cef0: 7401 f302 1000 |01d8: invoke-virtual/range {v16}, Ldnsfilter/android/DNSProxyActivity;.getConfig:()Ldnsfilter/ConfigUtil; // method@02f3 │ │ -01cef6: 0c00 |01db: move-result-object v0 │ │ -01cef8: 6e10 4001 0000 |01dc: invoke-virtual {v0}, Ldnsfilter/ConfigUtil;.isChanged:()Z // method@0140 │ │ -01cefe: 0a00 |01df: move-result v0 │ │ -01cf00: 7401 f302 1000 |01e0: invoke-virtual/range {v16}, Ldnsfilter/android/DNSProxyActivity;.getConfig:()Ldnsfilter/ConfigUtil; // method@02f3 │ │ -01cf06: 0c00 |01e3: move-result-object v0 │ │ -01cf08: 6e10 4001 0000 |01e4: invoke-virtual {v0}, Ldnsfilter/ConfigUtil;.isChanged:()Z // method@0140 │ │ -01cf0e: 0a00 |01e7: move-result v0 │ │ -01cf10: 3800 1800 |01e8: if-eqz v0, 0200 // +0018 │ │ -01cf14: 6200 ed00 |01ea: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.CONFIG:Ldnsfilter/ConfigurationAccess; // field@00ed │ │ -01cf18: 7401 f302 1000 |01ec: invoke-virtual/range {v16}, Ldnsfilter/android/DNSProxyActivity;.getConfig:()Ldnsfilter/ConfigUtil; // method@02f3 │ │ -01cf1e: 0c01 |01ef: move-result-object v1 │ │ -01cf20: 6e10 3901 0100 |01f0: invoke-virtual {v1}, Ldnsfilter/ConfigUtil;.getConfigBytes:()[B // method@0139 │ │ -01cf26: 0c01 |01f3: move-result-object v1 │ │ -01cf28: 6e20 6101 1000 |01f4: invoke-virtual {v0, v1}, Ldnsfilter/ConfigurationAccess;.updateConfig:([B)V // method@0161 │ │ -01cf2e: 2809 |01f7: goto 0200 // +0009 │ │ -01cf30: 0d00 |01f8: move-exception v0 │ │ -01cf32: 7100 2507 0000 |01f9: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0725 │ │ -01cf38: 0c01 |01fc: move-result-object v1 │ │ -01cf3a: 7220 3007 0100 |01fd: invoke-interface {v1, v0}, Lutil/LoggerInterface;.logException:(Ljava/lang/Exception;)V // method@0730 │ │ -01cf40: 0e00 |0200: return-void │ │ +01cb2c: |[01cb2c] dnsfilter.android.DNSProxyActivity.persistConfig:()V │ │ +01cb3c: 1a00 ce0a |0000: const-string v0, "showInitialInfoPopUp" // string@0ace │ │ +01cb40: 1a01 e606 |0002: const-string v1, "filterActive" // string@06e6 │ │ +01cb44: 1a02 2a0a |0004: const-string v2, "rootModeOnAndroid" // string@0a2a │ │ +01cb48: 1a03 6d06 |0006: const-string v3, "dnsProxyOnlyLocalRequests" // string@066d │ │ +01cb4c: 1a04 6b06 |0008: const-string v4, "dnsProxyOnAndroid" // string@066b │ │ +01cb50: 1a05 6805 |000a: const-string v5, "androidKeepAwake" // string@0568 │ │ +01cb54: 1a06 c005 |000c: const-string v6, "checkCNAME" // string@05c0 │ │ +01cb58: 1a07 6705 |000e: const-string v7, "androidAppWhiteList" // string@0567 │ │ +01cb5c: 1a08 b200 |0010: const-string v8, "AUTOSTART" // string@00b2 │ │ +01cb60: 1a09 db09 |0012: const-string v9, "reloadIntervalDays" // string@09db │ │ +01cb64: 1a0a 0000 |0014: const-string v10, "" // string@0000 │ │ +01cb68: 7401 2303 1000 |0016: invoke-virtual/range {v16}, Ldnsfilter/android/DNSProxyActivity;.persistManuallyEditConf:()Z // method@0323 │ │ +01cb6e: 0a0b |0019: move-result v11 │ │ +01cb70: 380b 0300 |001a: if-eqz v11, 001d // +0003 │ │ +01cb74: 0e00 |001c: return-void │ │ +01cb76: 7401 2103 1000 |001d: invoke-virtual/range {v16}, Ldnsfilter/android/DNSProxyActivity;.persistAdditionalHosts:()Z // method@0321 │ │ +01cb7c: 0a0b |0020: move-result v11 │ │ +01cb7e: 620c 1801 |0021: sget-object v12, Ldnsfilter/android/DNSProxyActivity;.filterReloadIntervalView:Landroid/widget/EditText; // field@0118 │ │ +01cb82: 6e10 da00 0c00 |0023: invoke-virtual {v12}, Landroid/widget/EditText;.getText:()Landroid/text/Editable; // method@00da │ │ +01cb88: 0c0c |0026: move-result-object v12 │ │ +01cb8a: 6e10 7805 0c00 |0027: invoke-virtual {v12}, Ljava/lang/Object;.toString:()Ljava/lang/String; // method@0578 │ │ +01cb90: 0c0c |002a: move-result-object v12 │ │ +01cb92: 6e20 8b05 ac00 |002b: invoke-virtual {v12, v10}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058b │ │ +01cb98: 0a0c |002e: move-result v12 │ │ +01cb9a: 380c 0900 |002f: if-eqz v12, 0038 // +0009 │ │ +01cb9e: 620c 1801 |0031: sget-object v12, Ldnsfilter/android/DNSProxyActivity;.filterReloadIntervalView:Landroid/widget/EditText; // field@0118 │ │ +01cba2: 1a0d 7f00 |0033: const-string v13, "7" // string@007f │ │ +01cba6: 6e20 e600 dc00 |0035: invoke-virtual {v12, v13}, Landroid/widget/EditText;.setText:(Ljava/lang/CharSequence;)V // method@00e6 │ │ +01cbac: 7401 f302 1000 |0038: invoke-virtual/range {v16}, Ldnsfilter/android/DNSProxyActivity;.getConfig:()Ldnsfilter/ConfigUtil; // method@02f3 │ │ +01cbb2: 0c0c |003b: move-result-object v12 │ │ +01cbb4: 620d 1601 |003c: sget-object v13, Ldnsfilter/android/DNSProxyActivity;.filterCfg:Ldnsfilter/android/FilterConfig; // field@0116 │ │ +01cbb8: 6e10 3d03 0d00 |003e: invoke-virtual {v13}, Ldnsfilter/android/FilterConfig;.getFilterEntries:()[Ldnsfilter/ConfigUtil$HostFilterList; // method@033d │ │ +01cbbe: 0c0d |0041: move-result-object v13 │ │ +01cbc0: 6e20 4101 dc00 |0042: invoke-virtual {v12, v13}, Ldnsfilter/ConfigUtil;.setConfiguredFilterLists:([Ldnsfilter/ConfigUtil$HostFilterList;)V // method@0141 │ │ +01cbc6: 220c f400 |0045: new-instance v12, Ljava/io/BufferedReader; // type@00f4 │ │ +01cbca: 220d 0201 |0047: new-instance v13, Ljava/io/InputStreamReader; // type@0102 │ │ +01cbce: 220e f600 |0049: new-instance v14, Ljava/io/ByteArrayInputStream; // type@00f6 │ │ +01cbd2: 620f ed00 |004b: sget-object v15, Ldnsfilter/android/DNSProxyActivity;.CONFIG:Ldnsfilter/ConfigurationAccess; // field@00ed │ │ +01cbd6: 6e10 5901 0f00 |004d: invoke-virtual {v15}, Ldnsfilter/ConfigurationAccess;.readConfig:()[B // method@0159 │ │ +01cbdc: 0c0f |0050: move-result-object v15 │ │ +01cbde: 7020 df04 fe00 |0051: invoke-direct {v14, v15}, Ljava/io/ByteArrayInputStream;.:([B)V // method@04df │ │ +01cbe4: 7020 2b05 ed00 |0054: invoke-direct {v13, v14}, Ljava/io/InputStreamReader;.:(Ljava/io/InputStream;)V // method@052b │ │ +01cbea: 7020 d804 dc00 |0057: invoke-direct {v12, v13}, Ljava/io/BufferedReader;.:(Ljava/io/Reader;)V // method@04d8 │ │ +01cbf0: 6e10 da04 0c00 |005a: invoke-virtual {v12}, Ljava/io/BufferedReader;.readLine:()Ljava/lang/String; // method@04da │ │ +01cbf6: 0c0d |005d: move-result-object v13 │ │ +01cbf8: 380d 7501 |005e: if-eqz v13, 01d3 // +0175 │ │ +01cbfc: 6e10 a005 0d00 |0060: invoke-virtual {v13}, Ljava/lang/String;.trim:()Ljava/lang/String; // method@05a0 │ │ +01cc02: 0c0e |0063: move-result-object v14 │ │ +01cc04: 6e20 9905 9e00 |0064: invoke-virtual {v14, v9}, Ljava/lang/String;.startsWith:(Ljava/lang/String;)Z // method@0599 │ │ +01cc0a: 0a0e |0067: move-result v14 │ │ +01cc0c: 380e 1400 |0068: if-eqz v14, 007c // +0014 │ │ +01cc10: 7401 f302 1000 |006a: invoke-virtual/range {v16}, Ldnsfilter/android/DNSProxyActivity;.getConfig:()Ldnsfilter/ConfigUtil; // method@02f3 │ │ +01cc16: 0c0d |006d: move-result-object v13 │ │ +01cc18: 620e 1801 |006e: sget-object v14, Ldnsfilter/android/DNSProxyActivity;.filterReloadIntervalView:Landroid/widget/EditText; // field@0118 │ │ +01cc1c: 6e10 da00 0e00 |0070: invoke-virtual {v14}, Landroid/widget/EditText;.getText:()Landroid/text/Editable; // method@00da │ │ +01cc22: 0c0e |0073: move-result-object v14 │ │ +01cc24: 6e10 7805 0e00 |0074: invoke-virtual {v14}, Ljava/lang/Object;.toString:()Ljava/lang/String; // method@0578 │ │ +01cc2a: 0c0e |0077: move-result-object v14 │ │ +01cc2c: 6e30 4301 9d0e |0078: invoke-virtual {v13, v9, v14}, Ldnsfilter/ConfigUtil;.updateConfigValue:(Ljava/lang/String;Ljava/lang/String;)V // method@0143 │ │ +01cc32: 28df |007b: goto 005a // -0021 │ │ +01cc34: 6e10 a005 0d00 |007c: invoke-virtual {v13}, Ljava/lang/String;.trim:()Ljava/lang/String; // method@05a0 │ │ +01cc3a: 0c0e |007f: move-result-object v14 │ │ +01cc3c: 6e20 9905 8e00 |0080: invoke-virtual {v14, v8}, Ljava/lang/String;.startsWith:(Ljava/lang/String;)Z // method@0599 │ │ +01cc42: 0a0e |0083: move-result v14 │ │ +01cc44: 380e 1f00 |0084: if-eqz v14, 00a3 // +001f │ │ +01cc48: 7401 f302 1000 |0086: invoke-virtual/range {v16}, Ldnsfilter/android/DNSProxyActivity;.getConfig:()Ldnsfilter/ConfigUtil; // method@02f3 │ │ +01cc4e: 0c0d |0089: move-result-object v13 │ │ +01cc50: 220e 2d01 |008a: new-instance v14, Ljava/lang/StringBuilder; // type@012d │ │ +01cc54: 7010 a705 0e00 |008c: invoke-direct {v14}, Ljava/lang/StringBuilder;.:()V // method@05a7 │ │ +01cc5a: 620f 1401 |008f: sget-object v15, Ldnsfilter/android/DNSProxyActivity;.enableAutoStartCheck:Landroid/widget/CheckBox; // field@0114 │ │ +01cc5e: 6e10 cc00 0f00 |0091: invoke-virtual {v15}, Landroid/widget/CheckBox;.isChecked:()Z // method@00cc │ │ +01cc64: 0a0f |0094: move-result v15 │ │ +01cc66: 6e20 ae05 fe00 |0095: invoke-virtual {v14, v15}, Ljava/lang/StringBuilder;.append:(Z)Ljava/lang/StringBuilder; // method@05ae │ │ +01cc6c: 6e20 ad05 ae00 |0098: invoke-virtual {v14, v10}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +01cc72: 6e10 af05 0e00 |009b: invoke-virtual {v14}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ +01cc78: 0c0e |009e: move-result-object v14 │ │ +01cc7a: 6e30 4301 8d0e |009f: invoke-virtual {v13, v8, v14}, Ldnsfilter/ConfigUtil;.updateConfigValue:(Ljava/lang/String;Ljava/lang/String;)V // method@0143 │ │ +01cc80: 28b8 |00a2: goto 005a // -0048 │ │ +01cc82: 6e10 a005 0d00 |00a3: invoke-virtual {v13}, Ljava/lang/String;.trim:()Ljava/lang/String; // method@05a0 │ │ +01cc88: 0c0e |00a6: move-result-object v14 │ │ +01cc8a: 6e20 9905 7e00 |00a7: invoke-virtual {v14, v7}, Ljava/lang/String;.startsWith:(Ljava/lang/String;)Z // method@0599 │ │ +01cc90: 0a0e |00aa: move-result v14 │ │ +01cc92: 380e 1000 |00ab: if-eqz v14, 00bb // +0010 │ │ +01cc96: 7401 f302 1000 |00ad: invoke-virtual/range {v16}, Ldnsfilter/android/DNSProxyActivity;.getConfig:()Ldnsfilter/ConfigUtil; // method@02f3 │ │ +01cc9c: 0c0d |00b0: move-result-object v13 │ │ +01cc9e: 620e 0401 |00b1: sget-object v14, Ldnsfilter/android/DNSProxyActivity;.appSelector:Ldnsfilter/android/AppSelectorView; // field@0104 │ │ +01cca2: 6e10 5102 0e00 |00b3: invoke-virtual {v14}, Ldnsfilter/android/AppSelectorView;.getSelectedAppPackages:()Ljava/lang/String; // method@0251 │ │ +01cca8: 0c0e |00b6: move-result-object v14 │ │ +01ccaa: 6e30 4301 7d0e |00b7: invoke-virtual {v13, v7, v14}, Ldnsfilter/ConfigUtil;.updateConfigValue:(Ljava/lang/String;Ljava/lang/String;)V // method@0143 │ │ +01ccb0: 28a0 |00ba: goto 005a // -0060 │ │ +01ccb2: 6e10 a005 0d00 |00bb: invoke-virtual {v13}, Ljava/lang/String;.trim:()Ljava/lang/String; // method@05a0 │ │ +01ccb8: 0c0e |00be: move-result-object v14 │ │ +01ccba: 6e20 9905 6e00 |00bf: invoke-virtual {v14, v6}, Ljava/lang/String;.startsWith:(Ljava/lang/String;)Z // method@0599 │ │ +01ccc0: 0a0e |00c2: move-result v14 │ │ +01ccc2: 380e 2000 |00c3: if-eqz v14, 00e3 // +0020 │ │ +01ccc6: 7401 f302 1000 |00c5: invoke-virtual/range {v16}, Ldnsfilter/android/DNSProxyActivity;.getConfig:()Ldnsfilter/ConfigUtil; // method@02f3 │ │ +01cccc: 0c0d |00c8: move-result-object v13 │ │ +01ccce: 220e 2d01 |00c9: new-instance v14, Ljava/lang/StringBuilder; // type@012d │ │ +01ccd2: 7010 a705 0e00 |00cb: invoke-direct {v14}, Ljava/lang/StringBuilder;.:()V // method@05a7 │ │ +01ccd8: 620f 1501 |00ce: sget-object v15, Ldnsfilter/android/DNSProxyActivity;.enableCloakProtectCheck:Landroid/widget/CheckBox; // field@0115 │ │ +01ccdc: 6e10 cc00 0f00 |00d0: invoke-virtual {v15}, Landroid/widget/CheckBox;.isChecked:()Z // method@00cc │ │ +01cce2: 0a0f |00d3: move-result v15 │ │ +01cce4: 6e20 ae05 fe00 |00d4: invoke-virtual {v14, v15}, Ljava/lang/StringBuilder;.append:(Z)Ljava/lang/StringBuilder; // method@05ae │ │ +01ccea: 6e20 ad05 ae00 |00d7: invoke-virtual {v14, v10}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +01ccf0: 6e10 af05 0e00 |00da: invoke-virtual {v14}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ +01ccf6: 0c0e |00dd: move-result-object v14 │ │ +01ccf8: 6e30 4301 6d0e |00de: invoke-virtual {v13, v6, v14}, Ldnsfilter/ConfigUtil;.updateConfigValue:(Ljava/lang/String;Ljava/lang/String;)V // method@0143 │ │ +01ccfe: 2900 79ff |00e1: goto/16 005a // -0087 │ │ +01cd02: 6e10 a005 0d00 |00e3: invoke-virtual {v13}, Ljava/lang/String;.trim:()Ljava/lang/String; // method@05a0 │ │ +01cd08: 0c0e |00e6: move-result-object v14 │ │ +01cd0a: 6e20 9905 5e00 |00e7: invoke-virtual {v14, v5}, Ljava/lang/String;.startsWith:(Ljava/lang/String;)Z // method@0599 │ │ +01cd10: 0a0e |00ea: move-result v14 │ │ +01cd12: 380e 2000 |00eb: if-eqz v14, 010b // +0020 │ │ +01cd16: 7401 f302 1000 |00ed: invoke-virtual/range {v16}, Ldnsfilter/android/DNSProxyActivity;.getConfig:()Ldnsfilter/ConfigUtil; // method@02f3 │ │ +01cd1c: 0c0d |00f0: move-result-object v13 │ │ +01cd1e: 220e 2d01 |00f1: new-instance v14, Ljava/lang/StringBuilder; // type@012d │ │ +01cd22: 7010 a705 0e00 |00f3: invoke-direct {v14}, Ljava/lang/StringBuilder;.:()V // method@05a7 │ │ +01cd28: 620f 1c01 |00f6: sget-object v15, Ldnsfilter/android/DNSProxyActivity;.keepAwakeCheck:Landroid/widget/CheckBox; // field@011c │ │ +01cd2c: 6e10 cc00 0f00 |00f8: invoke-virtual {v15}, Landroid/widget/CheckBox;.isChecked:()Z // method@00cc │ │ +01cd32: 0a0f |00fb: move-result v15 │ │ +01cd34: 6e20 ae05 fe00 |00fc: invoke-virtual {v14, v15}, Ljava/lang/StringBuilder;.append:(Z)Ljava/lang/StringBuilder; // method@05ae │ │ +01cd3a: 6e20 ad05 ae00 |00ff: invoke-virtual {v14, v10}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +01cd40: 6e10 af05 0e00 |0102: invoke-virtual {v14}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ +01cd46: 0c0e |0105: move-result-object v14 │ │ +01cd48: 6e30 4301 5d0e |0106: invoke-virtual {v13, v5, v14}, Ldnsfilter/ConfigUtil;.updateConfigValue:(Ljava/lang/String;Ljava/lang/String;)V // method@0143 │ │ +01cd4e: 2900 51ff |0109: goto/16 005a // -00af │ │ +01cd52: 6e10 a005 0d00 |010b: invoke-virtual {v13}, Ljava/lang/String;.trim:()Ljava/lang/String; // method@05a0 │ │ +01cd58: 0c0e |010e: move-result-object v14 │ │ +01cd5a: 6e20 9905 4e00 |010f: invoke-virtual {v14, v4}, Ljava/lang/String;.startsWith:(Ljava/lang/String;)Z // method@0599 │ │ +01cd60: 0a0e |0112: move-result v14 │ │ +01cd62: 380e 2000 |0113: if-eqz v14, 0133 // +0020 │ │ +01cd66: 7401 f302 1000 |0115: invoke-virtual/range {v16}, Ldnsfilter/android/DNSProxyActivity;.getConfig:()Ldnsfilter/ConfigUtil; // method@02f3 │ │ +01cd6c: 0c0d |0118: move-result-object v13 │ │ +01cd6e: 220e 2d01 |0119: new-instance v14, Ljava/lang/StringBuilder; // type@012d │ │ +01cd72: 7010 a705 0e00 |011b: invoke-direct {v14}, Ljava/lang/StringBuilder;.:()V // method@05a7 │ │ +01cd78: 620f 2901 |011e: sget-object v15, Ldnsfilter/android/DNSProxyActivity;.proxyModeCheck:Landroid/widget/CheckBox; // field@0129 │ │ +01cd7c: 6e10 cc00 0f00 |0120: invoke-virtual {v15}, Landroid/widget/CheckBox;.isChecked:()Z // method@00cc │ │ +01cd82: 0a0f |0123: move-result v15 │ │ +01cd84: 6e20 ae05 fe00 |0124: invoke-virtual {v14, v15}, Ljava/lang/StringBuilder;.append:(Z)Ljava/lang/StringBuilder; // method@05ae │ │ +01cd8a: 6e20 ad05 ae00 |0127: invoke-virtual {v14, v10}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +01cd90: 6e10 af05 0e00 |012a: invoke-virtual {v14}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ +01cd96: 0c0e |012d: move-result-object v14 │ │ +01cd98: 6e30 4301 4d0e |012e: invoke-virtual {v13, v4, v14}, Ldnsfilter/ConfigUtil;.updateConfigValue:(Ljava/lang/String;Ljava/lang/String;)V // method@0143 │ │ +01cd9e: 2900 29ff |0131: goto/16 005a // -00d7 │ │ +01cda2: 6e10 a005 0d00 |0133: invoke-virtual {v13}, Ljava/lang/String;.trim:()Ljava/lang/String; // method@05a0 │ │ +01cda8: 0c0e |0136: move-result-object v14 │ │ +01cdaa: 6e20 9905 3e00 |0137: invoke-virtual {v14, v3}, Ljava/lang/String;.startsWith:(Ljava/lang/String;)Z // method@0599 │ │ +01cdb0: 0a0e |013a: move-result v14 │ │ +01cdb2: 380e 2000 |013b: if-eqz v14, 015b // +0020 │ │ +01cdb6: 7401 f302 1000 |013d: invoke-virtual/range {v16}, Ldnsfilter/android/DNSProxyActivity;.getConfig:()Ldnsfilter/ConfigUtil; // method@02f3 │ │ +01cdbc: 0c0d |0140: move-result-object v13 │ │ +01cdbe: 220e 2d01 |0141: new-instance v14, Ljava/lang/StringBuilder; // type@012d │ │ +01cdc2: 7010 a705 0e00 |0143: invoke-direct {v14}, Ljava/lang/StringBuilder;.:()V // method@05a7 │ │ +01cdc8: 620f 2801 |0146: sget-object v15, Ldnsfilter/android/DNSProxyActivity;.proxyLocalOnlyCheck:Landroid/widget/CheckBox; // field@0128 │ │ +01cdcc: 6e10 cc00 0f00 |0148: invoke-virtual {v15}, Landroid/widget/CheckBox;.isChecked:()Z // method@00cc │ │ +01cdd2: 0a0f |014b: move-result v15 │ │ +01cdd4: 6e20 ae05 fe00 |014c: invoke-virtual {v14, v15}, Ljava/lang/StringBuilder;.append:(Z)Ljava/lang/StringBuilder; // method@05ae │ │ +01cdda: 6e20 ad05 ae00 |014f: invoke-virtual {v14, v10}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +01cde0: 6e10 af05 0e00 |0152: invoke-virtual {v14}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ +01cde6: 0c0e |0155: move-result-object v14 │ │ +01cde8: 6e30 4301 3d0e |0156: invoke-virtual {v13, v3, v14}, Ldnsfilter/ConfigUtil;.updateConfigValue:(Ljava/lang/String;Ljava/lang/String;)V // method@0143 │ │ +01cdee: 2900 01ff |0159: goto/16 005a // -00ff │ │ +01cdf2: 6e10 a005 0d00 |015b: invoke-virtual {v13}, Ljava/lang/String;.trim:()Ljava/lang/String; // method@05a0 │ │ +01cdf8: 0c0e |015e: move-result-object v14 │ │ +01cdfa: 6e20 9905 2e00 |015f: invoke-virtual {v14, v2}, Ljava/lang/String;.startsWith:(Ljava/lang/String;)Z // method@0599 │ │ +01ce00: 0a0e |0162: move-result v14 │ │ +01ce02: 380e 2000 |0163: if-eqz v14, 0183 // +0020 │ │ +01ce06: 7401 f302 1000 |0165: invoke-virtual/range {v16}, Ldnsfilter/android/DNSProxyActivity;.getConfig:()Ldnsfilter/ConfigUtil; // method@02f3 │ │ +01ce0c: 0c0d |0168: move-result-object v13 │ │ +01ce0e: 220e 2d01 |0169: new-instance v14, Ljava/lang/StringBuilder; // type@012d │ │ +01ce12: 7010 a705 0e00 |016b: invoke-direct {v14}, Ljava/lang/StringBuilder;.:()V // method@05a7 │ │ +01ce18: 620f 3001 |016e: sget-object v15, Ldnsfilter/android/DNSProxyActivity;.rootModeCheck:Landroid/widget/CheckBox; // field@0130 │ │ +01ce1c: 6e10 cc00 0f00 |0170: invoke-virtual {v15}, Landroid/widget/CheckBox;.isChecked:()Z // method@00cc │ │ +01ce22: 0a0f |0173: move-result v15 │ │ +01ce24: 6e20 ae05 fe00 |0174: invoke-virtual {v14, v15}, Ljava/lang/StringBuilder;.append:(Z)Ljava/lang/StringBuilder; // method@05ae │ │ +01ce2a: 6e20 ad05 ae00 |0177: invoke-virtual {v14, v10}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +01ce30: 6e10 af05 0e00 |017a: invoke-virtual {v14}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ +01ce36: 0c0e |017d: move-result-object v14 │ │ +01ce38: 6e30 4301 2d0e |017e: invoke-virtual {v13, v2, v14}, Ldnsfilter/ConfigUtil;.updateConfigValue:(Ljava/lang/String;Ljava/lang/String;)V // method@0143 │ │ +01ce3e: 2900 d9fe |0181: goto/16 005a // -0127 │ │ +01ce42: 6e10 a005 0d00 |0183: invoke-virtual {v13}, Ljava/lang/String;.trim:()Ljava/lang/String; // method@05a0 │ │ +01ce48: 0c0e |0186: move-result-object v14 │ │ +01ce4a: 6e20 9905 1e00 |0187: invoke-virtual {v14, v1}, Ljava/lang/String;.startsWith:(Ljava/lang/String;)Z // method@0599 │ │ +01ce50: 0a0e |018a: move-result v14 │ │ +01ce52: 380e 2000 |018b: if-eqz v14, 01ab // +0020 │ │ +01ce56: 7401 f302 1000 |018d: invoke-virtual/range {v16}, Ldnsfilter/android/DNSProxyActivity;.getConfig:()Ldnsfilter/ConfigUtil; // method@02f3 │ │ +01ce5c: 0c0d |0190: move-result-object v13 │ │ +01ce5e: 220e 2d01 |0191: new-instance v14, Ljava/lang/StringBuilder; // type@012d │ │ +01ce62: 7010 a705 0e00 |0193: invoke-direct {v14}, Ljava/lang/StringBuilder;.:()V // method@05a7 │ │ +01ce68: 620f 1301 |0196: sget-object v15, Ldnsfilter/android/DNSProxyActivity;.enableAdFilterCheck:Landroid/widget/CheckBox; // field@0113 │ │ +01ce6c: 6e10 cc00 0f00 |0198: invoke-virtual {v15}, Landroid/widget/CheckBox;.isChecked:()Z // method@00cc │ │ +01ce72: 0a0f |019b: move-result v15 │ │ +01ce74: 6e20 ae05 fe00 |019c: invoke-virtual {v14, v15}, Ljava/lang/StringBuilder;.append:(Z)Ljava/lang/StringBuilder; // method@05ae │ │ +01ce7a: 6e20 ad05 ae00 |019f: invoke-virtual {v14, v10}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +01ce80: 6e10 af05 0e00 |01a2: invoke-virtual {v14}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ +01ce86: 0c0e |01a5: move-result-object v14 │ │ +01ce88: 6e30 4301 1d0e |01a6: invoke-virtual {v13, v1, v14}, Ldnsfilter/ConfigUtil;.updateConfigValue:(Ljava/lang/String;Ljava/lang/String;)V // method@0143 │ │ +01ce8e: 2900 b1fe |01a9: goto/16 005a // -014f │ │ +01ce92: 630e 2701 |01ab: sget-boolean v14, Ldnsfilter/android/DNSProxyActivity;.popUpDialogChanged:Z // field@0127 │ │ +01ce96: 380e adfe |01ad: if-eqz v14, 005a // -0153 │ │ +01ce9a: 6e10 a005 0d00 |01af: invoke-virtual {v13}, Ljava/lang/String;.trim:()Ljava/lang/String; // method@05a0 │ │ +01cea0: 0c0d |01b2: move-result-object v13 │ │ +01cea2: 6e20 9905 0d00 |01b3: invoke-virtual {v13, v0}, Ljava/lang/String;.startsWith:(Ljava/lang/String;)Z // method@0599 │ │ +01cea8: 0a0d |01b6: move-result v13 │ │ +01ceaa: 380d a3fe |01b7: if-eqz v13, 005a // -015d │ │ +01ceae: 7401 f302 1000 |01b9: invoke-virtual/range {v16}, Ldnsfilter/android/DNSProxyActivity;.getConfig:()Ldnsfilter/ConfigUtil; // method@02f3 │ │ +01ceb4: 0c0d |01bc: move-result-object v13 │ │ +01ceb6: 220e 2d01 |01bd: new-instance v14, Ljava/lang/StringBuilder; // type@012d │ │ +01ceba: 7010 a705 0e00 |01bf: invoke-direct {v14}, Ljava/lang/StringBuilder;.:()V // method@05a7 │ │ +01cec0: 630f 3501 |01c2: sget-boolean v15, Ldnsfilter/android/DNSProxyActivity;.showInitialInfoPopUp:Z // field@0135 │ │ +01cec4: 6e20 ae05 fe00 |01c4: invoke-virtual {v14, v15}, Ljava/lang/StringBuilder;.append:(Z)Ljava/lang/StringBuilder; // method@05ae │ │ +01ceca: 6e20 ad05 ae00 |01c7: invoke-virtual {v14, v10}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +01ced0: 6e10 af05 0e00 |01ca: invoke-virtual {v14}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ +01ced6: 0c0e |01cd: move-result-object v14 │ │ +01ced8: 6e30 4301 0d0e |01ce: invoke-virtual {v13, v0, v14}, Ldnsfilter/ConfigUtil;.updateConfigValue:(Ljava/lang/String;Ljava/lang/String;)V // method@0143 │ │ +01cede: 2900 89fe |01d1: goto/16 005a // -0177 │ │ +01cee2: 6e10 d904 0c00 |01d3: invoke-virtual {v12}, Ljava/io/BufferedReader;.close:()V // method@04d9 │ │ +01cee8: 390b 0a00 |01d6: if-nez v11, 01e0 // +000a │ │ +01ceec: 7401 f302 1000 |01d8: invoke-virtual/range {v16}, Ldnsfilter/android/DNSProxyActivity;.getConfig:()Ldnsfilter/ConfigUtil; // method@02f3 │ │ +01cef2: 0c00 |01db: move-result-object v0 │ │ +01cef4: 6e10 4001 0000 |01dc: invoke-virtual {v0}, Ldnsfilter/ConfigUtil;.isChanged:()Z // method@0140 │ │ +01cefa: 0a00 |01df: move-result v0 │ │ +01cefc: 7401 f302 1000 |01e0: invoke-virtual/range {v16}, Ldnsfilter/android/DNSProxyActivity;.getConfig:()Ldnsfilter/ConfigUtil; // method@02f3 │ │ +01cf02: 0c00 |01e3: move-result-object v0 │ │ +01cf04: 6e10 4001 0000 |01e4: invoke-virtual {v0}, Ldnsfilter/ConfigUtil;.isChanged:()Z // method@0140 │ │ +01cf0a: 0a00 |01e7: move-result v0 │ │ +01cf0c: 3800 1800 |01e8: if-eqz v0, 0200 // +0018 │ │ +01cf10: 6200 ed00 |01ea: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.CONFIG:Ldnsfilter/ConfigurationAccess; // field@00ed │ │ +01cf14: 7401 f302 1000 |01ec: invoke-virtual/range {v16}, Ldnsfilter/android/DNSProxyActivity;.getConfig:()Ldnsfilter/ConfigUtil; // method@02f3 │ │ +01cf1a: 0c01 |01ef: move-result-object v1 │ │ +01cf1c: 6e10 3901 0100 |01f0: invoke-virtual {v1}, Ldnsfilter/ConfigUtil;.getConfigBytes:()[B // method@0139 │ │ +01cf22: 0c01 |01f3: move-result-object v1 │ │ +01cf24: 6e20 6101 1000 |01f4: invoke-virtual {v0, v1}, Ldnsfilter/ConfigurationAccess;.updateConfig:([B)V // method@0161 │ │ +01cf2a: 2809 |01f7: goto 0200 // +0009 │ │ +01cf2c: 0d00 |01f8: move-exception v0 │ │ +01cf2e: 7100 2507 0000 |01f9: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0725 │ │ +01cf34: 0c01 |01fc: move-result-object v1 │ │ +01cf36: 7220 3007 0100 |01fd: invoke-interface {v1, v0}, Lutil/LoggerInterface;.logException:(Ljava/lang/Exception;)V // method@0730 │ │ +01cf3c: 0e00 |0200: return-void │ │ catches : 1 │ │ 0x0016 - 0x01f7 │ │ Ljava/lang/Exception; -> 0x01f8 │ │ positions : │ │ 0x0000 line=1039 │ │ 0x001d line=1042 │ │ 0x0021 line=1044 │ │ @@ -45375,63 +45375,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 │ │ -01cf54: |[01cf54] dnsfilter.android.DNSProxyActivity.persistRemoteControlConfig:(Ljava/lang/String;Ljava/lang/String;)V │ │ -01cf64: 1a00 8100 |0000: const-string v0, ":" // string@0081 │ │ -01cf68: 6e20 9005 0400 |0002: invoke-virtual {v4, v0}, Ljava/lang/String;.indexOf:(Ljava/lang/String;)I // method@0590 │ │ -01cf6e: 0a01 |0005: move-result v1 │ │ -01cf70: 1202 |0006: const/4 v2, #int 0 // #0 │ │ -01cf72: 6e30 9b05 2401 |0007: invoke-virtual {v4, v2, v1}, Ljava/lang/String;.substring:(II)Ljava/lang/String; // method@059b │ │ -01cf78: 0c01 |000a: move-result-object v1 │ │ -01cf7a: 6e20 9005 0400 |000b: invoke-virtual {v4, v0}, Ljava/lang/String;.indexOf:(Ljava/lang/String;)I // method@0590 │ │ -01cf80: 0a00 |000e: move-result v0 │ │ -01cf82: d800 0001 |000f: add-int/lit8 v0, v0, #int 1 // #01 │ │ -01cf86: 6e20 9a05 0400 |0011: invoke-virtual {v4, v0}, Ljava/lang/String;.substring:(I)Ljava/lang/String; // method@059a │ │ -01cf8c: 0c04 |0014: move-result-object v4 │ │ -01cf8e: 7110 6505 0400 |0015: invoke-static {v4}, Ljava/lang/Integer;.parseInt:(Ljava/lang/String;)I // method@0565 │ │ -01cf94: 0a04 |0018: move-result v4 │ │ -01cf96: 6e10 f302 0300 |0019: invoke-virtual {v3}, Ldnsfilter/android/DNSProxyActivity;.getConfig:()Ldnsfilter/ConfigUtil; // method@02f3 │ │ -01cf9c: 0c00 |001c: move-result-object v0 │ │ -01cf9e: 1a02 dd05 |001d: const-string v2, "client_remote_ctrl_host" // string@05dd │ │ -01cfa2: 6e30 4301 2001 |001f: invoke-virtual {v0, v2, v1}, Ldnsfilter/ConfigUtil;.updateConfigValue:(Ljava/lang/String;Ljava/lang/String;)V // method@0143 │ │ -01cfa8: 6e10 f302 0300 |0022: invoke-virtual {v3}, Ldnsfilter/android/DNSProxyActivity;.getConfig:()Ldnsfilter/ConfigUtil; // method@02f3 │ │ -01cfae: 0c00 |0025: move-result-object v0 │ │ -01cfb0: 2201 2d01 |0026: new-instance v1, Ljava/lang/StringBuilder; // type@012d │ │ -01cfb4: 7010 a705 0100 |0028: invoke-direct {v1}, Ljava/lang/StringBuilder;.:()V // method@05a7 │ │ -01cfba: 6e20 aa05 4100 |002b: invoke-virtual {v1, v4}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@05aa │ │ -01cfc0: 1a04 0000 |002e: const-string v4, "" // string@0000 │ │ -01cfc4: 6e20 ad05 4100 |0030: invoke-virtual {v1, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -01cfca: 6e10 af05 0100 |0033: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ -01cfd0: 0c04 |0036: move-result-object v4 │ │ -01cfd2: 1a01 df05 |0037: const-string v1, "client_remote_ctrl_port" // string@05df │ │ -01cfd6: 6e30 4301 1004 |0039: invoke-virtual {v0, v1, v4}, Ldnsfilter/ConfigUtil;.updateConfigValue:(Ljava/lang/String;Ljava/lang/String;)V // method@0143 │ │ -01cfdc: 6e10 f302 0300 |003c: invoke-virtual {v3}, Ldnsfilter/android/DNSProxyActivity;.getConfig:()Ldnsfilter/ConfigUtil; // method@02f3 │ │ -01cfe2: 0c04 |003f: move-result-object v4 │ │ -01cfe4: 1a00 de05 |0040: const-string v0, "client_remote_ctrl_keyphrase" // string@05de │ │ -01cfe8: 6e30 4301 0405 |0042: invoke-virtual {v4, v0, v5}, Ldnsfilter/ConfigUtil;.updateConfigValue:(Ljava/lang/String;Ljava/lang/String;)V // method@0143 │ │ -01cfee: 6e10 f302 0300 |0045: invoke-virtual {v3}, Ldnsfilter/android/DNSProxyActivity;.getConfig:()Ldnsfilter/ConfigUtil; // method@02f3 │ │ -01cff4: 0c04 |0048: move-result-object v4 │ │ -01cff6: 6e10 4001 0400 |0049: invoke-virtual {v4}, Ldnsfilter/ConfigUtil;.isChanged:()Z // method@0140 │ │ -01cffc: 0a04 |004c: move-result v4 │ │ -01cffe: 3804 0f00 |004d: if-eqz v4, 005c // +000f │ │ -01d002: 6204 ed00 |004f: sget-object v4, Ldnsfilter/android/DNSProxyActivity;.CONFIG:Ldnsfilter/ConfigurationAccess; // field@00ed │ │ -01d006: 6e10 f302 0300 |0051: invoke-virtual {v3}, Ldnsfilter/android/DNSProxyActivity;.getConfig:()Ldnsfilter/ConfigUtil; // method@02f3 │ │ -01d00c: 0c05 |0054: move-result-object v5 │ │ -01d00e: 6e10 3901 0500 |0055: invoke-virtual {v5}, Ldnsfilter/ConfigUtil;.getConfigBytes:()[B // method@0139 │ │ -01d014: 0c05 |0058: move-result-object v5 │ │ -01d016: 6e20 6101 5400 |0059: invoke-virtual {v4, v5}, Ldnsfilter/ConfigurationAccess;.updateConfig:([B)V // method@0161 │ │ -01d01c: 0e00 |005c: return-void │ │ -01d01e: 2204 1b01 |005d: new-instance v4, Ljava/lang/Exception; // type@011b │ │ -01d022: 1a05 6601 |005f: const-string v5, "Destination needed in format "host:port"!" // string@0166 │ │ -01d026: 7020 5a05 5400 |0061: invoke-direct {v4, v5}, Ljava/lang/Exception;.:(Ljava/lang/String;)V // method@055a │ │ -01d02c: 2704 |0064: throw v4 │ │ +01cf50: |[01cf50] dnsfilter.android.DNSProxyActivity.persistRemoteControlConfig:(Ljava/lang/String;Ljava/lang/String;)V │ │ +01cf60: 1a00 8100 |0000: const-string v0, ":" // string@0081 │ │ +01cf64: 6e20 9005 0400 |0002: invoke-virtual {v4, v0}, Ljava/lang/String;.indexOf:(Ljava/lang/String;)I // method@0590 │ │ +01cf6a: 0a01 |0005: move-result v1 │ │ +01cf6c: 1202 |0006: const/4 v2, #int 0 // #0 │ │ +01cf6e: 6e30 9b05 2401 |0007: invoke-virtual {v4, v2, v1}, Ljava/lang/String;.substring:(II)Ljava/lang/String; // method@059b │ │ +01cf74: 0c01 |000a: move-result-object v1 │ │ +01cf76: 6e20 9005 0400 |000b: invoke-virtual {v4, v0}, Ljava/lang/String;.indexOf:(Ljava/lang/String;)I // method@0590 │ │ +01cf7c: 0a00 |000e: move-result v0 │ │ +01cf7e: d800 0001 |000f: add-int/lit8 v0, v0, #int 1 // #01 │ │ +01cf82: 6e20 9a05 0400 |0011: invoke-virtual {v4, v0}, Ljava/lang/String;.substring:(I)Ljava/lang/String; // method@059a │ │ +01cf88: 0c04 |0014: move-result-object v4 │ │ +01cf8a: 7110 6505 0400 |0015: invoke-static {v4}, Ljava/lang/Integer;.parseInt:(Ljava/lang/String;)I // method@0565 │ │ +01cf90: 0a04 |0018: move-result v4 │ │ +01cf92: 6e10 f302 0300 |0019: invoke-virtual {v3}, Ldnsfilter/android/DNSProxyActivity;.getConfig:()Ldnsfilter/ConfigUtil; // method@02f3 │ │ +01cf98: 0c00 |001c: move-result-object v0 │ │ +01cf9a: 1a02 dd05 |001d: const-string v2, "client_remote_ctrl_host" // string@05dd │ │ +01cf9e: 6e30 4301 2001 |001f: invoke-virtual {v0, v2, v1}, Ldnsfilter/ConfigUtil;.updateConfigValue:(Ljava/lang/String;Ljava/lang/String;)V // method@0143 │ │ +01cfa4: 6e10 f302 0300 |0022: invoke-virtual {v3}, Ldnsfilter/android/DNSProxyActivity;.getConfig:()Ldnsfilter/ConfigUtil; // method@02f3 │ │ +01cfaa: 0c00 |0025: move-result-object v0 │ │ +01cfac: 2201 2d01 |0026: new-instance v1, Ljava/lang/StringBuilder; // type@012d │ │ +01cfb0: 7010 a705 0100 |0028: invoke-direct {v1}, Ljava/lang/StringBuilder;.:()V // method@05a7 │ │ +01cfb6: 6e20 aa05 4100 |002b: invoke-virtual {v1, v4}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@05aa │ │ +01cfbc: 1a04 0000 |002e: const-string v4, "" // string@0000 │ │ +01cfc0: 6e20 ad05 4100 |0030: invoke-virtual {v1, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +01cfc6: 6e10 af05 0100 |0033: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ +01cfcc: 0c04 |0036: move-result-object v4 │ │ +01cfce: 1a01 df05 |0037: const-string v1, "client_remote_ctrl_port" // string@05df │ │ +01cfd2: 6e30 4301 1004 |0039: invoke-virtual {v0, v1, v4}, Ldnsfilter/ConfigUtil;.updateConfigValue:(Ljava/lang/String;Ljava/lang/String;)V // method@0143 │ │ +01cfd8: 6e10 f302 0300 |003c: invoke-virtual {v3}, Ldnsfilter/android/DNSProxyActivity;.getConfig:()Ldnsfilter/ConfigUtil; // method@02f3 │ │ +01cfde: 0c04 |003f: move-result-object v4 │ │ +01cfe0: 1a00 de05 |0040: const-string v0, "client_remote_ctrl_keyphrase" // string@05de │ │ +01cfe4: 6e30 4301 0405 |0042: invoke-virtual {v4, v0, v5}, Ldnsfilter/ConfigUtil;.updateConfigValue:(Ljava/lang/String;Ljava/lang/String;)V // method@0143 │ │ +01cfea: 6e10 f302 0300 |0045: invoke-virtual {v3}, Ldnsfilter/android/DNSProxyActivity;.getConfig:()Ldnsfilter/ConfigUtil; // method@02f3 │ │ +01cff0: 0c04 |0048: move-result-object v4 │ │ +01cff2: 6e10 4001 0400 |0049: invoke-virtual {v4}, Ldnsfilter/ConfigUtil;.isChanged:()Z // method@0140 │ │ +01cff8: 0a04 |004c: move-result v4 │ │ +01cffa: 3804 0f00 |004d: if-eqz v4, 005c // +000f │ │ +01cffe: 6204 ed00 |004f: sget-object v4, Ldnsfilter/android/DNSProxyActivity;.CONFIG:Ldnsfilter/ConfigurationAccess; // field@00ed │ │ +01d002: 6e10 f302 0300 |0051: invoke-virtual {v3}, Ldnsfilter/android/DNSProxyActivity;.getConfig:()Ldnsfilter/ConfigUtil; // method@02f3 │ │ +01d008: 0c05 |0054: move-result-object v5 │ │ +01d00a: 6e10 3901 0500 |0055: invoke-virtual {v5}, Ldnsfilter/ConfigUtil;.getConfigBytes:()[B // method@0139 │ │ +01d010: 0c05 |0058: move-result-object v5 │ │ +01d012: 6e20 6101 5400 |0059: invoke-virtual {v4, v5}, Ldnsfilter/ConfigurationAccess;.updateConfig:([B)V // method@0161 │ │ +01d018: 0e00 |005c: return-void │ │ +01d01a: 2204 1b01 |005d: new-instance v4, Ljava/lang/Exception; // type@011b │ │ +01d01e: 1a05 6601 |005f: const-string v5, "Destination needed in format "host:port"!" // string@0166 │ │ +01d022: 7020 5a05 5400 |0061: invoke-direct {v4, v5}, Ljava/lang/Exception;.:(Ljava/lang/String;)V // method@055a │ │ +01d028: 2704 |0064: throw v4 │ │ catches : 1 │ │ 0x0002 - 0x0019 │ │ Ljava/lang/Exception; -> 0x005d │ │ positions : │ │ 0x0000 line=1221 │ │ 0x000b line=1222 │ │ 0x0019 line=1227 │ │ @@ -45450,20 +45450,20 @@ │ │ type : '(Landroid/view/ViewGroup;)V' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 4 │ │ ins : 2 │ │ outs : 1 │ │ insns size : 10 16-bit code units │ │ -01d040: |[01d040] dnsfilter.android.DNSProxyActivity.prepareTransition:(Landroid/view/ViewGroup;)V │ │ -01d050: 6000 0200 |0000: sget v0, Landroid/os/Build$VERSION;.SDK_INT:I // field@0002 │ │ -01d054: 1301 1300 |0002: const/16 v1, #int 19 // #13 │ │ -01d058: 3410 0500 |0004: if-lt v0, v1, 0009 // +0005 │ │ -01d05c: 7110 6b02 0300 |0006: invoke-static {v3}, Ldnsfilter/android/BootUpReceiver$$ExternalSyntheticApiModelOutline0;.m:(Landroid/view/ViewGroup;)V // method@026b │ │ -01d062: 0e00 |0009: return-void │ │ +01d03c: |[01d03c] dnsfilter.android.DNSProxyActivity.prepareTransition:(Landroid/view/ViewGroup;)V │ │ +01d04c: 6000 0200 |0000: sget v0, Landroid/os/Build$VERSION;.SDK_INT:I // field@0002 │ │ +01d050: 1301 1300 |0002: const/16 v1, #int 19 // #13 │ │ +01d054: 3410 0500 |0004: if-lt v0, v1, 0009 // +0005 │ │ +01d058: 7110 6b02 0300 |0006: invoke-static {v3}, Ldnsfilter/android/BootUpReceiver$$ExternalSyntheticApiModelOutline0;.m:(Landroid/view/ViewGroup;)V // method@026b │ │ +01d05e: 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; │ │ @@ -45473,24 +45473,24 @@ │ │ type : '()V' │ │ access : 0x0009 (PUBLIC STATIC) │ │ code - │ │ registers : 2 │ │ ins : 0 │ │ outs : 2 │ │ insns size : 17 16-bit code units │ │ -01d064: |[01d064] dnsfilter.android.DNSProxyActivity.reloadLocalConfig:()V │ │ -01d074: 6200 f200 |0000: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.INSTANCE:Ldnsfilter/android/DNSProxyActivity; // field@00f2 │ │ -01d078: 3800 0e00 |0002: if-eqz v0, 0010 // +000e │ │ -01d07c: 6201 ed00 |0004: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.CONFIG:Ldnsfilter/ConfigurationAccess; // field@00ed │ │ -01d080: 6e10 5701 0100 |0006: invoke-virtual {v1}, Ldnsfilter/ConfigurationAccess;.isLocal:()Z // method@0157 │ │ -01d086: 0a01 |0009: move-result v1 │ │ -01d088: 3801 0600 |000a: if-eqz v1, 0010 // +0006 │ │ -01d08c: 1201 |000c: const/4 v1, #int 0 // #0 │ │ -01d08e: 6e20 0403 1000 |000d: invoke-virtual {v0, v1}, Ldnsfilter/android/DNSProxyActivity;.loadAndApplyConfig:(Z)V // method@0304 │ │ -01d094: 0e00 |0010: return-void │ │ +01d060: |[01d060] dnsfilter.android.DNSProxyActivity.reloadLocalConfig:()V │ │ +01d070: 6200 f200 |0000: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.INSTANCE:Ldnsfilter/android/DNSProxyActivity; // field@00f2 │ │ +01d074: 3800 0e00 |0002: if-eqz v0, 0010 // +000e │ │ +01d078: 6201 ed00 |0004: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.CONFIG:Ldnsfilter/ConfigurationAccess; // field@00ed │ │ +01d07c: 6e10 5701 0100 |0006: invoke-virtual {v1}, Ldnsfilter/ConfigurationAccess;.isLocal:()Z // method@0157 │ │ +01d082: 0a01 |0009: move-result v1 │ │ +01d084: 3801 0600 |000a: if-eqz v1, 0010 // +0006 │ │ +01d088: 1201 |000c: const/4 v1, #int 0 // #0 │ │ +01d08a: 6e20 0403 1000 |000d: invoke-virtual {v0, v1}, Ldnsfilter/android/DNSProxyActivity;.loadAndApplyConfig:(Z)V // method@0304 │ │ +01d090: 0e00 |0010: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=192 │ │ 0x0004 line=193 │ │ 0x000d line=194 │ │ locals : │ │ │ │ @@ -45499,19 +45499,19 @@ │ │ type : '(Landroid/text/Spanned;I)V' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 4 │ │ ins : 3 │ │ outs : 4 │ │ insns size : 9 16-bit code units │ │ -01d150: |[01d150] dnsfilter.android.DNSProxyActivity.setMessage:(Landroid/text/Spanned;I)V │ │ -01d160: 2200 ab00 |0000: new-instance v0, Ldnsfilter/android/DNSProxyActivity$6; // type@00ab │ │ -01d164: 7040 c702 1023 |0002: invoke-direct {v0, v1, v3, v2}, Ldnsfilter/android/DNSProxyActivity$6;.:(Ldnsfilter/android/DNSProxyActivity;ILandroid/text/Spanned;)V // method@02c7 │ │ -01d16a: 6e20 2a03 0100 |0005: invoke-virtual {v1, v0}, Ldnsfilter/android/DNSProxyActivity;.runOnUiThread:(Ljava/lang/Runnable;)V // method@032a │ │ -01d170: 0e00 |0008: return-void │ │ +01d14c: |[01d14c] dnsfilter.android.DNSProxyActivity.setMessage:(Landroid/text/Spanned;I)V │ │ +01d15c: 2200 ab00 |0000: new-instance v0, Ldnsfilter/android/DNSProxyActivity$6; // type@00ab │ │ +01d160: 7040 c702 1023 |0002: invoke-direct {v0, v1, v3, v2}, Ldnsfilter/android/DNSProxyActivity$6;.:(Ldnsfilter/android/DNSProxyActivity;ILandroid/text/Spanned;)V // method@02c7 │ │ +01d166: 6e20 2a03 0100 |0005: invoke-virtual {v1, v0}, Ldnsfilter/android/DNSProxyActivity;.runOnUiThread:(Ljava/lang/Runnable;)V // method@032a │ │ +01d16c: 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 │ │ @@ -45521,30 +45521,30 @@ │ │ type : '(I)V' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 3 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 36 16-bit code units │ │ -01d174: |[01d174] dnsfilter.android.DNSProxyActivity.setVisibilityForAdvCfg:(I)V │ │ -01d184: 6200 1301 |0000: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.enableAdFilterCheck:Landroid/widget/CheckBox; // field@0113 │ │ -01d188: 6e20 d200 2000 |0002: invoke-virtual {v0, v2}, Landroid/widget/CheckBox;.setVisibility:(I)V // method@00d2 │ │ -01d18e: 6200 1401 |0005: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.enableAutoStartCheck:Landroid/widget/CheckBox; // field@0114 │ │ -01d192: 6e20 d200 2000 |0007: invoke-virtual {v0, v2}, Landroid/widget/CheckBox;.setVisibility:(I)V // method@00d2 │ │ -01d198: 1400 5800 057f |000a: const v0, #float 1.76789e+38 // #7f050058 │ │ -01d19e: 6e20 ef02 0100 |000d: invoke-virtual {v1, v0}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02ef │ │ -01d1a4: 0c00 |0010: move-result-object v0 │ │ -01d1a6: 6e20 b400 2000 |0011: invoke-virtual {v0, v2}, Landroid/view/View;.setVisibility:(I)V // method@00b4 │ │ -01d1ac: 5410 2a01 |0014: iget-object v0, v1, Ldnsfilter/android/DNSProxyActivity;.reloadFilterBtn:Landroid/widget/Button; // field@012a │ │ -01d1b0: 6e20 c600 2000 |0016: invoke-virtual {v0, v2}, Landroid/widget/Button;.setVisibility:(I)V // method@00c6 │ │ -01d1b6: 5410 3601 |0019: iget-object v0, v1, Ldnsfilter/android/DNSProxyActivity;.startBtn:Landroid/widget/Button; // field@0136 │ │ -01d1ba: 6e20 c600 2000 |001b: invoke-virtual {v0, v2}, Landroid/widget/Button;.setVisibility:(I)V // method@00c6 │ │ -01d1c0: 5410 3701 |001e: iget-object v0, v1, Ldnsfilter/android/DNSProxyActivity;.stopBtn:Landroid/widget/Button; // field@0137 │ │ -01d1c4: 6e20 c600 2000 |0020: invoke-virtual {v0, v2}, Landroid/widget/Button;.setVisibility:(I)V // method@00c6 │ │ -01d1ca: 0e00 |0023: return-void │ │ +01d170: |[01d170] dnsfilter.android.DNSProxyActivity.setVisibilityForAdvCfg:(I)V │ │ +01d180: 6200 1301 |0000: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.enableAdFilterCheck:Landroid/widget/CheckBox; // field@0113 │ │ +01d184: 6e20 d200 2000 |0002: invoke-virtual {v0, v2}, Landroid/widget/CheckBox;.setVisibility:(I)V // method@00d2 │ │ +01d18a: 6200 1401 |0005: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.enableAutoStartCheck:Landroid/widget/CheckBox; // field@0114 │ │ +01d18e: 6e20 d200 2000 |0007: invoke-virtual {v0, v2}, Landroid/widget/CheckBox;.setVisibility:(I)V // method@00d2 │ │ +01d194: 1400 5800 057f |000a: const v0, #float 1.76789e+38 // #7f050058 │ │ +01d19a: 6e20 ef02 0100 |000d: invoke-virtual {v1, v0}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02ef │ │ +01d1a0: 0c00 |0010: move-result-object v0 │ │ +01d1a2: 6e20 b400 2000 |0011: invoke-virtual {v0, v2}, Landroid/view/View;.setVisibility:(I)V // method@00b4 │ │ +01d1a8: 5410 2a01 |0014: iget-object v0, v1, Ldnsfilter/android/DNSProxyActivity;.reloadFilterBtn:Landroid/widget/Button; // field@012a │ │ +01d1ac: 6e20 c600 2000 |0016: invoke-virtual {v0, v2}, Landroid/widget/Button;.setVisibility:(I)V // method@00c6 │ │ +01d1b2: 5410 3601 |0019: iget-object v0, v1, Ldnsfilter/android/DNSProxyActivity;.startBtn:Landroid/widget/Button; // field@0136 │ │ +01d1b6: 6e20 c600 2000 |001b: invoke-virtual {v0, v2}, Landroid/widget/Button;.setVisibility:(I)V // method@00c6 │ │ +01d1bc: 5410 3701 |001e: iget-object v0, v1, Ldnsfilter/android/DNSProxyActivity;.stopBtn:Landroid/widget/Button; // field@0137 │ │ +01d1c0: 6e20 c600 2000 |0020: invoke-virtual {v0, v2}, Landroid/widget/Button;.setVisibility:(I)V // method@00c6 │ │ +01d1c6: 0e00 |0023: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=1366 │ │ 0x0005 line=1367 │ │ 0x000d line=1368 │ │ 0x0014 line=1369 │ │ 0x0019 line=1370 │ │ @@ -45558,20 +45558,20 @@ │ │ type : '()V' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 3 │ │ ins : 1 │ │ outs : 3 │ │ insns size : 11 16-bit code units │ │ -01d2bc: |[01d2bc] dnsfilter.android.DNSProxyActivity.startSvc:()V │ │ -01d2cc: 2200 1a00 |0000: new-instance v0, Landroid/content/Intent; // type@001a │ │ -01d2d0: 1c01 a400 |0002: const-class v1, Ldnsfilter/android/DNSFilterService; // type@00a4 │ │ -01d2d4: 7030 4200 2001 |0004: invoke-direct {v0, v2, v1}, Landroid/content/Intent;.:(Landroid/content/Context;Ljava/lang/Class;)V // method@0042 │ │ -01d2da: 6e20 3303 0200 |0007: invoke-virtual {v2, v0}, Ldnsfilter/android/DNSProxyActivity;.startService:(Landroid/content/Intent;)Landroid/content/ComponentName; // method@0333 │ │ -01d2e0: 0e00 |000a: return-void │ │ +01d2b8: |[01d2b8] dnsfilter.android.DNSProxyActivity.startSvc:()V │ │ +01d2c8: 2200 1a00 |0000: new-instance v0, Landroid/content/Intent; // type@001a │ │ +01d2cc: 1c01 a400 |0002: const-class v1, Ldnsfilter/android/DNSFilterService; // type@00a4 │ │ +01d2d0: 7030 4200 2001 |0004: invoke-direct {v0, v2, v1}, Landroid/content/Intent;.:(Landroid/content/Context;Ljava/lang/Class;)V // method@0042 │ │ +01d2d6: 6e20 3303 0200 |0007: invoke-virtual {v2, v0}, Ldnsfilter/android/DNSProxyActivity;.startService:(Landroid/content/Intent;)Landroid/content/ComponentName; // method@0333 │ │ +01d2dc: 0e00 |000a: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=1596 │ │ locals : │ │ 0x0000 - 0x000b reg=2 this Ldnsfilter/android/DNSProxyActivity; │ │ │ │ Virtual methods - │ │ @@ -45580,28 +45580,28 @@ │ │ type : '(Landroid/text/Editable;)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 4 │ │ ins : 2 │ │ outs : 1 │ │ insns size : 23 16-bit code units │ │ -01a400: |[01a400] dnsfilter.android.DNSProxyActivity.afterTextChanged:(Landroid/text/Editable;)V │ │ -01a410: 6200 0201 |0000: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.additionalHostsField:Landroid/widget/EditText; // field@0102 │ │ -01a414: 6e10 d700 0000 |0002: invoke-virtual {v0}, Landroid/widget/EditText;.getEditableText:()Landroid/text/Editable; // method@00d7 │ │ -01a41a: 0c00 |0005: move-result-object v0 │ │ -01a41c: 1211 |0006: const/4 v1, #int 1 // #1 │ │ -01a41e: 3303 0500 |0007: if-ne v3, v0, 000c // +0005 │ │ -01a422: 6a01 0101 |0009: sput-boolean v1, Ldnsfilter/android/DNSProxyActivity;.additionalHostsChanged:Z // field@0101 │ │ -01a426: 280b |000b: goto 0016 // +000b │ │ -01a428: 6200 2301 |000c: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.manuallyEditField:Landroid/widget/EditText; // field@0123 │ │ -01a42c: 6e10 d700 0000 |000e: invoke-virtual {v0}, Landroid/widget/EditText;.getEditableText:()Landroid/text/Editable; // method@00d7 │ │ -01a432: 0c00 |0011: move-result-object v0 │ │ -01a434: 3303 0400 |0012: if-ne v3, v0, 0016 // +0004 │ │ -01a438: 6a01 2101 |0014: sput-boolean v1, Ldnsfilter/android/DNSProxyActivity;.manuallyConfEdited:Z // field@0121 │ │ -01a43c: 0e00 |0016: return-void │ │ +01a3fc: |[01a3fc] dnsfilter.android.DNSProxyActivity.afterTextChanged:(Landroid/text/Editable;)V │ │ +01a40c: 6200 0201 |0000: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.additionalHostsField:Landroid/widget/EditText; // field@0102 │ │ +01a410: 6e10 d700 0000 |0002: invoke-virtual {v0}, Landroid/widget/EditText;.getEditableText:()Landroid/text/Editable; // method@00d7 │ │ +01a416: 0c00 |0005: move-result-object v0 │ │ +01a418: 1211 |0006: const/4 v1, #int 1 // #1 │ │ +01a41a: 3303 0500 |0007: if-ne v3, v0, 000c // +0005 │ │ +01a41e: 6a01 0101 |0009: sput-boolean v1, Ldnsfilter/android/DNSProxyActivity;.additionalHostsChanged:Z // field@0101 │ │ +01a422: 280b |000b: goto 0016 // +000b │ │ +01a424: 6200 2301 |000c: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.manuallyEditField:Landroid/widget/EditText; // field@0123 │ │ +01a428: 6e10 d700 0000 |000e: invoke-virtual {v0}, Landroid/widget/EditText;.getEditableText:()Landroid/text/Editable; // method@00d7 │ │ +01a42e: 0c00 |0011: move-result-object v0 │ │ +01a430: 3303 0400 |0012: if-ne v3, v0, 0016 // +0004 │ │ +01a434: 6a01 2101 |0014: sput-boolean v1, Ldnsfilter/android/DNSProxyActivity;.manuallyConfEdited:Z // field@0121 │ │ +01a438: 0e00 |0016: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=1661 │ │ 0x0009 line=1662 │ │ 0x000c line=1663 │ │ 0x0014 line=1664 │ │ locals : │ │ @@ -45613,80 +45613,80 @@ │ │ type : '(Ljava/lang/String;Z)V' │ │ access : 0x0004 (PROTECTED) │ │ code - │ │ registers : 7 │ │ ins : 3 │ │ outs : 3 │ │ insns size : 136 16-bit code units │ │ -01a440: |[01a440] dnsfilter.android.DNSProxyActivity.applyCopiedHosts:(Ljava/lang/String;Z)V │ │ -01a450: 1400 1900 057f |0000: const v0, #float 1.76788e+38 // #7f050019 │ │ -01a456: 6e20 ef02 0400 |0003: invoke-virtual {v4, v0}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02ef │ │ -01a45c: 0c00 |0006: move-result-object v0 │ │ -01a45e: 1301 0800 |0007: const/16 v1, #int 8 // #8 │ │ -01a462: 6e20 b400 1000 |0009: invoke-virtual {v0, v1}, Landroid/view/View;.setVisibility:(I)V // method@00b4 │ │ -01a468: 2200 6601 |000c: new-instance v0, Ljava/util/StringTokenizer; // type@0166 │ │ -01a46c: 1a01 0200 |000e: const-string v1, " │ │ +01a43c: |[01a43c] dnsfilter.android.DNSProxyActivity.applyCopiedHosts:(Ljava/lang/String;Z)V │ │ +01a44c: 1400 1900 057f |0000: const v0, #float 1.76788e+38 // #7f050019 │ │ +01a452: 6e20 ef02 0400 |0003: invoke-virtual {v4, v0}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02ef │ │ +01a458: 0c00 |0006: move-result-object v0 │ │ +01a45a: 1301 0800 |0007: const/16 v1, #int 8 // #8 │ │ +01a45e: 6e20 b400 1000 |0009: invoke-virtual {v0, v1}, Landroid/view/View;.setVisibility:(I)V // method@00b4 │ │ +01a464: 2200 6601 |000c: new-instance v0, Ljava/util/StringTokenizer; // type@0166 │ │ +01a468: 1a01 0200 |000e: const-string v1, " │ │ " // string@0002 │ │ -01a470: 7030 6206 5001 |0010: invoke-direct {v0, v5, v1}, Ljava/util/StringTokenizer;.:(Ljava/lang/String;Ljava/lang/String;)V // method@0662 │ │ -01a476: 1a05 0000 |0013: const-string v5, "" // string@0000 │ │ -01a47a: 6e10 6506 0000 |0015: invoke-virtual {v0}, Ljava/util/StringTokenizer;.hasMoreTokens:()Z // method@0665 │ │ -01a480: 0a02 |0018: move-result v2 │ │ -01a482: 3802 5c00 |0019: if-eqz v2, 0075 // +005c │ │ -01a486: 6e10 6606 0000 |001b: invoke-virtual {v0}, Ljava/util/StringTokenizer;.nextToken:()Ljava/lang/String; // method@0666 │ │ -01a48c: 0c02 |001e: move-result-object v2 │ │ -01a48e: 6203 f300 |001f: sget-object v3, Ldnsfilter/android/DNSProxyActivity;.IN_FILTER_PREF:Ljava/lang/String; // field@00f3 │ │ -01a492: 6e20 9905 3200 |0021: invoke-virtual {v2, v3}, Ljava/lang/String;.startsWith:(Ljava/lang/String;)Z // method@0599 │ │ -01a498: 0a03 |0024: move-result v3 │ │ -01a49a: 3803 2400 |0025: if-eqz v3, 0049 // +0024 │ │ -01a49e: 3906 2200 |0027: if-nez v6, 0049 // +0022 │ │ -01a4a2: 2203 2d01 |0029: new-instance v3, Ljava/lang/StringBuilder; // type@012d │ │ -01a4a6: 7010 a705 0300 |002b: invoke-direct {v3}, Ljava/lang/StringBuilder;.:()V // method@05a7 │ │ -01a4ac: 6e20 ad05 5300 |002e: invoke-virtual {v3, v5}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -01a4b2: 6205 f300 |0031: sget-object v5, Ldnsfilter/android/DNSProxyActivity;.IN_FILTER_PREF:Ljava/lang/String; // field@00f3 │ │ -01a4b6: 6e10 9405 0500 |0033: invoke-virtual {v5}, Ljava/lang/String;.length:()I // method@0594 │ │ -01a4bc: 0a05 |0036: move-result v5 │ │ -01a4be: 6e20 9a05 5200 |0037: invoke-virtual {v2, v5}, Ljava/lang/String;.substring:(I)Ljava/lang/String; // method@059a │ │ -01a4c4: 0c05 |003a: move-result-object v5 │ │ -01a4c6: 6e10 a005 0500 |003b: invoke-virtual {v5}, Ljava/lang/String;.trim:()Ljava/lang/String; // method@05a0 │ │ -01a4cc: 0c05 |003e: move-result-object v5 │ │ -01a4ce: 6e20 ad05 5300 |003f: invoke-virtual {v3, v5}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -01a4d4: 6e20 ad05 1300 |0042: invoke-virtual {v3, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -01a4da: 6e10 af05 0300 |0045: invoke-virtual {v3}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ -01a4e0: 0c05 |0048: move-result-object v5 │ │ -01a4e2: 6203 f800 |0049: sget-object v3, Ldnsfilter/android/DNSProxyActivity;.NO_FILTER_PREF:Ljava/lang/String; // field@00f8 │ │ -01a4e6: 6e20 9905 3200 |004b: invoke-virtual {v2, v3}, Ljava/lang/String;.startsWith:(Ljava/lang/String;)Z // method@0599 │ │ -01a4ec: 0a03 |004e: move-result v3 │ │ -01a4ee: 3803 c6ff |004f: if-eqz v3, 0015 // -003a │ │ -01a4f2: 1213 |0051: const/4 v3, #int 1 // #1 │ │ -01a4f4: 3336 c3ff |0052: if-ne v6, v3, 0015 // -003d │ │ -01a4f8: 2203 2d01 |0054: new-instance v3, Ljava/lang/StringBuilder; // type@012d │ │ -01a4fc: 7010 a705 0300 |0056: invoke-direct {v3}, Ljava/lang/StringBuilder;.:()V // method@05a7 │ │ -01a502: 6e20 ad05 5300 |0059: invoke-virtual {v3, v5}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -01a508: 6205 f800 |005c: sget-object v5, Ldnsfilter/android/DNSProxyActivity;.NO_FILTER_PREF:Ljava/lang/String; // field@00f8 │ │ -01a50c: 6e10 9405 0500 |005e: invoke-virtual {v5}, Ljava/lang/String;.length:()I // method@0594 │ │ -01a512: 0a05 |0061: move-result v5 │ │ -01a514: 6e20 9a05 5200 |0062: invoke-virtual {v2, v5}, Ljava/lang/String;.substring:(I)Ljava/lang/String; // method@059a │ │ -01a51a: 0c05 |0065: move-result-object v5 │ │ -01a51c: 6e10 a005 0500 |0066: invoke-virtual {v5}, Ljava/lang/String;.trim:()Ljava/lang/String; // method@05a0 │ │ -01a522: 0c05 |0069: move-result-object v5 │ │ -01a524: 6e20 ad05 5300 |006a: invoke-virtual {v3, v5}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -01a52a: 6e20 ad05 1300 |006d: invoke-virtual {v3, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -01a530: 6e10 af05 0300 |0070: invoke-virtual {v3}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ -01a536: 0c05 |0073: move-result-object v5 │ │ -01a538: 28a1 |0074: goto 0015 // -005f │ │ -01a53a: 6200 ed00 |0075: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.CONFIG:Ldnsfilter/ConfigurationAccess; // field@00ed │ │ -01a53e: 6e10 a005 0500 |0077: invoke-virtual {v5}, Ljava/lang/String;.trim:()Ljava/lang/String; // method@05a0 │ │ -01a544: 0c05 |007a: move-result-object v5 │ │ -01a546: 6e30 6301 5006 |007b: invoke-virtual {v0, v5, v6}, Ldnsfilter/ConfigurationAccess;.updateFilter:(Ljava/lang/String;Z)V // method@0163 │ │ -01a54c: 2809 |007e: goto 0087 // +0009 │ │ -01a54e: 0d05 |007f: move-exception v5 │ │ -01a550: 7100 2507 0000 |0080: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0725 │ │ -01a556: 0c06 |0083: move-result-object v6 │ │ -01a558: 7220 3007 5600 |0084: invoke-interface {v6, v5}, Lutil/LoggerInterface;.logException:(Ljava/lang/Exception;)V // method@0730 │ │ -01a55e: 0e00 |0087: return-void │ │ +01a46c: 7030 6206 5001 |0010: invoke-direct {v0, v5, v1}, Ljava/util/StringTokenizer;.:(Ljava/lang/String;Ljava/lang/String;)V // method@0662 │ │ +01a472: 1a05 0000 |0013: const-string v5, "" // string@0000 │ │ +01a476: 6e10 6506 0000 |0015: invoke-virtual {v0}, Ljava/util/StringTokenizer;.hasMoreTokens:()Z // method@0665 │ │ +01a47c: 0a02 |0018: move-result v2 │ │ +01a47e: 3802 5c00 |0019: if-eqz v2, 0075 // +005c │ │ +01a482: 6e10 6606 0000 |001b: invoke-virtual {v0}, Ljava/util/StringTokenizer;.nextToken:()Ljava/lang/String; // method@0666 │ │ +01a488: 0c02 |001e: move-result-object v2 │ │ +01a48a: 6203 f300 |001f: sget-object v3, Ldnsfilter/android/DNSProxyActivity;.IN_FILTER_PREF:Ljava/lang/String; // field@00f3 │ │ +01a48e: 6e20 9905 3200 |0021: invoke-virtual {v2, v3}, Ljava/lang/String;.startsWith:(Ljava/lang/String;)Z // method@0599 │ │ +01a494: 0a03 |0024: move-result v3 │ │ +01a496: 3803 2400 |0025: if-eqz v3, 0049 // +0024 │ │ +01a49a: 3906 2200 |0027: if-nez v6, 0049 // +0022 │ │ +01a49e: 2203 2d01 |0029: new-instance v3, Ljava/lang/StringBuilder; // type@012d │ │ +01a4a2: 7010 a705 0300 |002b: invoke-direct {v3}, Ljava/lang/StringBuilder;.:()V // method@05a7 │ │ +01a4a8: 6e20 ad05 5300 |002e: invoke-virtual {v3, v5}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +01a4ae: 6205 f300 |0031: sget-object v5, Ldnsfilter/android/DNSProxyActivity;.IN_FILTER_PREF:Ljava/lang/String; // field@00f3 │ │ +01a4b2: 6e10 9405 0500 |0033: invoke-virtual {v5}, Ljava/lang/String;.length:()I // method@0594 │ │ +01a4b8: 0a05 |0036: move-result v5 │ │ +01a4ba: 6e20 9a05 5200 |0037: invoke-virtual {v2, v5}, Ljava/lang/String;.substring:(I)Ljava/lang/String; // method@059a │ │ +01a4c0: 0c05 |003a: move-result-object v5 │ │ +01a4c2: 6e10 a005 0500 |003b: invoke-virtual {v5}, Ljava/lang/String;.trim:()Ljava/lang/String; // method@05a0 │ │ +01a4c8: 0c05 |003e: move-result-object v5 │ │ +01a4ca: 6e20 ad05 5300 |003f: invoke-virtual {v3, v5}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +01a4d0: 6e20 ad05 1300 |0042: invoke-virtual {v3, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +01a4d6: 6e10 af05 0300 |0045: invoke-virtual {v3}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ +01a4dc: 0c05 |0048: move-result-object v5 │ │ +01a4de: 6203 f800 |0049: sget-object v3, Ldnsfilter/android/DNSProxyActivity;.NO_FILTER_PREF:Ljava/lang/String; // field@00f8 │ │ +01a4e2: 6e20 9905 3200 |004b: invoke-virtual {v2, v3}, Ljava/lang/String;.startsWith:(Ljava/lang/String;)Z // method@0599 │ │ +01a4e8: 0a03 |004e: move-result v3 │ │ +01a4ea: 3803 c6ff |004f: if-eqz v3, 0015 // -003a │ │ +01a4ee: 1213 |0051: const/4 v3, #int 1 // #1 │ │ +01a4f0: 3336 c3ff |0052: if-ne v6, v3, 0015 // -003d │ │ +01a4f4: 2203 2d01 |0054: new-instance v3, Ljava/lang/StringBuilder; // type@012d │ │ +01a4f8: 7010 a705 0300 |0056: invoke-direct {v3}, Ljava/lang/StringBuilder;.:()V // method@05a7 │ │ +01a4fe: 6e20 ad05 5300 |0059: invoke-virtual {v3, v5}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +01a504: 6205 f800 |005c: sget-object v5, Ldnsfilter/android/DNSProxyActivity;.NO_FILTER_PREF:Ljava/lang/String; // field@00f8 │ │ +01a508: 6e10 9405 0500 |005e: invoke-virtual {v5}, Ljava/lang/String;.length:()I // method@0594 │ │ +01a50e: 0a05 |0061: move-result v5 │ │ +01a510: 6e20 9a05 5200 |0062: invoke-virtual {v2, v5}, Ljava/lang/String;.substring:(I)Ljava/lang/String; // method@059a │ │ +01a516: 0c05 |0065: move-result-object v5 │ │ +01a518: 6e10 a005 0500 |0066: invoke-virtual {v5}, Ljava/lang/String;.trim:()Ljava/lang/String; // method@05a0 │ │ +01a51e: 0c05 |0069: move-result-object v5 │ │ +01a520: 6e20 ad05 5300 |006a: invoke-virtual {v3, v5}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +01a526: 6e20 ad05 1300 |006d: invoke-virtual {v3, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +01a52c: 6e10 af05 0300 |0070: invoke-virtual {v3}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ +01a532: 0c05 |0073: move-result-object v5 │ │ +01a534: 28a1 |0074: goto 0015 // -005f │ │ +01a536: 6200 ed00 |0075: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.CONFIG:Ldnsfilter/ConfigurationAccess; // field@00ed │ │ +01a53a: 6e10 a005 0500 |0077: invoke-virtual {v5}, Ljava/lang/String;.trim:()Ljava/lang/String; // method@05a0 │ │ +01a540: 0c05 |007a: move-result-object v5 │ │ +01a542: 6e30 6301 5006 |007b: invoke-virtual {v0, v5, v6}, Ldnsfilter/ConfigurationAccess;.updateFilter:(Ljava/lang/String;Z)V // method@0163 │ │ +01a548: 2809 |007e: goto 0087 // +0009 │ │ +01a54a: 0d05 |007f: move-exception v5 │ │ +01a54c: 7100 2507 0000 |0080: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0725 │ │ +01a552: 0c06 |0083: move-result-object v6 │ │ +01a554: 7220 3007 5600 |0084: invoke-interface {v6, v5}, Lutil/LoggerInterface;.logException:(Ljava/lang/Exception;)V // method@0730 │ │ +01a55a: 0e00 |0087: return-void │ │ catches : 1 │ │ 0x0075 - 0x007e │ │ Ljava/io/IOException; -> 0x007f │ │ positions : │ │ 0x0003 line=859 │ │ 0x000c line=861 │ │ 0x0013 line=862 │ │ @@ -45708,58 +45708,58 @@ │ │ type : '(Ljava/lang/CharSequence;III)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 5 │ │ ins : 5 │ │ outs : 0 │ │ insns size : 1 16-bit code units │ │ -01a570: |[01a570] dnsfilter.android.DNSProxyActivity.beforeTextChanged:(Ljava/lang/CharSequence;III)V │ │ -01a580: 0e00 |0000: return-void │ │ +01a56c: |[01a56c] dnsfilter.android.DNSProxyActivity.beforeTextChanged:(Ljava/lang/CharSequence;III)V │ │ +01a57c: 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 │ │ -01a6d4: |[01a6d4] dnsfilter.android.DNSProxyActivity.closeLogger:()V │ │ -01a6e4: 0e00 |0000: return-void │ │ +01a6d0: |[01a6d0] dnsfilter.android.DNSProxyActivity.closeLogger:()V │ │ +01a6e0: 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 │ │ -01a714: |[01a714] dnsfilter.android.DNSProxyActivity.doBackup:()V │ │ -01a724: 2200 1a00 |0000: new-instance v0, Landroid/content/Intent; // type@001a │ │ -01a728: 1a01 5e05 |0002: const-string v1, "android.intent.action.CREATE_DOCUMENT" // string@055e │ │ -01a72c: 7020 4300 1000 |0004: invoke-direct {v0, v1}, Landroid/content/Intent;.:(Ljava/lang/String;)V // method@0043 │ │ -01a732: 1a01 6105 |0007: const-string v1, "android.intent.category.OPENABLE" // string@0561 │ │ -01a736: 6e20 4500 1000 |0009: invoke-virtual {v0, v1}, Landroid/content/Intent;.addCategory:(Ljava/lang/String;)Landroid/content/Intent; // method@0045 │ │ -01a73c: 1a01 7705 |000c: const-string v1, "application/zip" // string@0577 │ │ -01a740: 6e20 4e00 1000 |000e: invoke-virtual {v0, v1}, Landroid/content/Intent;.setType:(Ljava/lang/String;)Landroid/content/Intent; // method@004e │ │ -01a746: 1a01 6205 |0011: const-string v1, "android.intent.extra.TITLE" // string@0562 │ │ -01a74a: 1a02 5d09 |0013: const-string v2, "pdnsf_backup.zip" // string@095d │ │ -01a74e: 6e30 4b00 1002 |0015: invoke-virtual {v0, v1, v2}, Landroid/content/Intent;.putExtra:(Ljava/lang/String;Ljava/lang/String;)Landroid/content/Intent; // method@004b │ │ -01a754: 6001 f000 |0018: sget v1, Ldnsfilter/android/DNSProxyActivity;.DO_BACKUP:I // field@00f0 │ │ -01a758: 6e30 3203 0301 |001a: invoke-virtual {v3, v0, v1}, Ldnsfilter/android/DNSProxyActivity;.startActivityForResult:(Landroid/content/Intent;I)V // method@0332 │ │ -01a75e: 0e00 |001d: return-void │ │ +01a710: |[01a710] dnsfilter.android.DNSProxyActivity.doBackup:()V │ │ +01a720: 2200 1a00 |0000: new-instance v0, Landroid/content/Intent; // type@001a │ │ +01a724: 1a01 5e05 |0002: const-string v1, "android.intent.action.CREATE_DOCUMENT" // string@055e │ │ +01a728: 7020 4300 1000 |0004: invoke-direct {v0, v1}, Landroid/content/Intent;.:(Ljava/lang/String;)V // method@0043 │ │ +01a72e: 1a01 6105 |0007: const-string v1, "android.intent.category.OPENABLE" // string@0561 │ │ +01a732: 6e20 4500 1000 |0009: invoke-virtual {v0, v1}, Landroid/content/Intent;.addCategory:(Ljava/lang/String;)Landroid/content/Intent; // method@0045 │ │ +01a738: 1a01 7705 |000c: const-string v1, "application/zip" // string@0577 │ │ +01a73c: 6e20 4e00 1000 |000e: invoke-virtual {v0, v1}, Landroid/content/Intent;.setType:(Ljava/lang/String;)Landroid/content/Intent; // method@004e │ │ +01a742: 1a01 6205 |0011: const-string v1, "android.intent.extra.TITLE" // string@0562 │ │ +01a746: 1a02 5d09 |0013: const-string v2, "pdnsf_backup.zip" // string@095d │ │ +01a74a: 6e30 4b00 1002 |0015: invoke-virtual {v0, v1, v2}, Landroid/content/Intent;.putExtra:(Ljava/lang/String;Ljava/lang/String;)Landroid/content/Intent; // method@004b │ │ +01a750: 6001 f000 |0018: sget v1, Ldnsfilter/android/DNSProxyActivity;.DO_BACKUP:I // field@00f0 │ │ +01a754: 6e30 3203 0301 |001a: invoke-virtual {v3, v0, v1}, Ldnsfilter/android/DNSProxyActivity;.startActivityForResult:(Landroid/content/Intent;I)V // method@0332 │ │ +01a75a: 0e00 |001d: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=728 │ │ 0x0007 line=729 │ │ 0x000c line=730 │ │ 0x0011 line=731 │ │ 0x0018 line=733 │ │ @@ -45771,28 +45771,28 @@ │ │ type : '()V' │ │ access : 0x0004 (PROTECTED) │ │ code - │ │ registers : 4 │ │ ins : 1 │ │ outs : 3 │ │ insns size : 30 16-bit code units │ │ -01a760: |[01a760] dnsfilter.android.DNSProxyActivity.doRestore:()V │ │ -01a770: 2200 1a00 |0000: new-instance v0, Landroid/content/Intent; // type@001a │ │ -01a774: 1a01 5f05 |0002: const-string v1, "android.intent.action.OPEN_DOCUMENT" // string@055f │ │ -01a778: 7020 4300 1000 |0004: invoke-direct {v0, v1}, Landroid/content/Intent;.:(Ljava/lang/String;)V // method@0043 │ │ -01a77e: 1a01 6105 |0007: const-string v1, "android.intent.category.OPENABLE" // string@0561 │ │ -01a782: 6e20 4500 1000 |0009: invoke-virtual {v0, v1}, Landroid/content/Intent;.addCategory:(Ljava/lang/String;)Landroid/content/Intent; // method@0045 │ │ -01a788: 1a01 7705 |000c: const-string v1, "application/zip" // string@0577 │ │ -01a78c: 6e20 4e00 1000 |000e: invoke-virtual {v0, v1}, Landroid/content/Intent;.setType:(Ljava/lang/String;)Landroid/content/Intent; // method@004e │ │ -01a792: 1a01 6205 |0011: const-string v1, "android.intent.extra.TITLE" // string@0562 │ │ -01a796: 1a02 5d09 |0013: const-string v2, "pdnsf_backup.zip" // string@095d │ │ -01a79a: 6e30 4b00 1002 |0015: invoke-virtual {v0, v1, v2}, Landroid/content/Intent;.putExtra:(Ljava/lang/String;Ljava/lang/String;)Landroid/content/Intent; // method@004b │ │ -01a7a0: 6001 f100 |0018: sget v1, Ldnsfilter/android/DNSProxyActivity;.DO_RESTORE:I // field@00f1 │ │ -01a7a4: 6e30 3203 0301 |001a: invoke-virtual {v3, v0, v1}, Ldnsfilter/android/DNSProxyActivity;.startActivityForResult:(Landroid/content/Intent;I)V // method@0332 │ │ -01a7aa: 0e00 |001d: return-void │ │ +01a75c: |[01a75c] dnsfilter.android.DNSProxyActivity.doRestore:()V │ │ +01a76c: 2200 1a00 |0000: new-instance v0, Landroid/content/Intent; // type@001a │ │ +01a770: 1a01 5f05 |0002: const-string v1, "android.intent.action.OPEN_DOCUMENT" // string@055f │ │ +01a774: 7020 4300 1000 |0004: invoke-direct {v0, v1}, Landroid/content/Intent;.:(Ljava/lang/String;)V // method@0043 │ │ +01a77a: 1a01 6105 |0007: const-string v1, "android.intent.category.OPENABLE" // string@0561 │ │ +01a77e: 6e20 4500 1000 |0009: invoke-virtual {v0, v1}, Landroid/content/Intent;.addCategory:(Ljava/lang/String;)Landroid/content/Intent; // method@0045 │ │ +01a784: 1a01 7705 |000c: const-string v1, "application/zip" // string@0577 │ │ +01a788: 6e20 4e00 1000 |000e: invoke-virtual {v0, v1}, Landroid/content/Intent;.setType:(Ljava/lang/String;)Landroid/content/Intent; // method@004e │ │ +01a78e: 1a01 6205 |0011: const-string v1, "android.intent.extra.TITLE" // string@0562 │ │ +01a792: 1a02 5d09 |0013: const-string v2, "pdnsf_backup.zip" // string@095d │ │ +01a796: 6e30 4b00 1002 |0015: invoke-virtual {v0, v1, v2}, Landroid/content/Intent;.putExtra:(Ljava/lang/String;Ljava/lang/String;)Landroid/content/Intent; // method@004b │ │ +01a79c: 6001 f100 |0018: sget v1, Ldnsfilter/android/DNSProxyActivity;.DO_RESTORE:I // field@00f1 │ │ +01a7a0: 6e30 3203 0301 |001a: invoke-virtual {v3, v0, v1}, Ldnsfilter/android/DNSProxyActivity;.startActivityForResult:(Landroid/content/Intent;I)V // method@0332 │ │ +01a7a6: 0e00 |001d: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=738 │ │ 0x0007 line=739 │ │ 0x000c line=740 │ │ 0x0011 line=741 │ │ 0x0018 line=743 │ │ @@ -45804,45 +45804,45 @@ │ │ type : '()V' │ │ access : 0x0004 (PROTECTED) │ │ code - │ │ registers : 5 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 65 16-bit code units │ │ -01a7ac: |[01a7ac] dnsfilter.android.DNSProxyActivity.doRestoreDefaults:()V │ │ -01a7bc: 1400 1000 057f |0000: const v0, #float 1.76788e+38 // #7f050010 │ │ -01a7c2: 6e20 ef02 0400 |0003: invoke-virtual {v4, v0}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02ef │ │ -01a7c8: 0c00 |0006: move-result-object v0 │ │ -01a7ca: 1f00 7300 |0007: check-cast v0, Landroid/widget/TextView; // type@0073 │ │ -01a7ce: 6201 ed00 |0009: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.CONFIG:Ldnsfilter/ConfigurationAccess; // field@00ed │ │ -01a7d2: 6e10 4b01 0100 |000b: invoke-virtual {v1}, Ldnsfilter/ConfigurationAccess;.doRestoreDefaults:()V // method@014b │ │ -01a7d8: 1a01 3500 |000e: const-string v1, "#43A047" // string@0035 │ │ -01a7dc: 7110 5c00 0100 |0010: invoke-static {v1}, Landroid/graphics/Color;.parseColor:(Ljava/lang/String;)I // method@005c │ │ -01a7e2: 0a01 |0013: move-result v1 │ │ -01a7e4: 6e20 0a01 1000 |0014: invoke-virtual {v0, v1}, Landroid/widget/TextView;.setTextColor:(I)V // method@010a │ │ -01a7ea: 1201 |0017: const/4 v1, #int 0 // #0 │ │ -01a7ec: 6e20 0403 1400 |0018: invoke-virtual {v4, v1}, Ldnsfilter/android/DNSProxyActivity;.loadAndApplyConfig:(Z)V // method@0304 │ │ -01a7f2: 1a01 4404 |001b: const-string v1, "Restore success!" // string@0444 │ │ -01a7f6: 6e20 0901 1000 |001d: invoke-virtual {v0, v1}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@0109 │ │ -01a7fc: 2820 |0020: goto 0040 // +0020 │ │ -01a7fe: 0d01 |0021: move-exception v1 │ │ -01a800: 1a02 3700 |0022: const-string v2, "#E53935" // string@0037 │ │ -01a804: 7110 5c00 0200 |0024: invoke-static {v2}, Landroid/graphics/Color;.parseColor:(Ljava/lang/String;)I // method@005c │ │ -01a80a: 0a02 |0027: move-result v2 │ │ -01a80c: 6e20 0a01 2000 |0028: invoke-virtual {v0, v2}, Landroid/widget/TextView;.setTextColor:(I)V // method@010a │ │ -01a812: 2202 2d01 |002b: new-instance v2, Ljava/lang/StringBuilder; // type@012d │ │ -01a816: 1a03 4304 |002d: const-string v3, "Restore failed! " // string@0443 │ │ -01a81a: 7020 a805 3200 |002f: invoke-direct {v2, v3}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05a8 │ │ -01a820: 6e10 2205 0100 |0032: invoke-virtual {v1}, Ljava/io/IOException;.getMessage:()Ljava/lang/String; // method@0522 │ │ -01a826: 0c01 |0035: move-result-object v1 │ │ -01a828: 6e20 ad05 1200 |0036: invoke-virtual {v2, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -01a82e: 6e10 af05 0200 |0039: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ -01a834: 0c01 |003c: move-result-object v1 │ │ -01a836: 6e20 0901 1000 |003d: invoke-virtual {v0, v1}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@0109 │ │ -01a83c: 0e00 |0040: return-void │ │ +01a7a8: |[01a7a8] dnsfilter.android.DNSProxyActivity.doRestoreDefaults:()V │ │ +01a7b8: 1400 1000 057f |0000: const v0, #float 1.76788e+38 // #7f050010 │ │ +01a7be: 6e20 ef02 0400 |0003: invoke-virtual {v4, v0}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02ef │ │ +01a7c4: 0c00 |0006: move-result-object v0 │ │ +01a7c6: 1f00 7300 |0007: check-cast v0, Landroid/widget/TextView; // type@0073 │ │ +01a7ca: 6201 ed00 |0009: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.CONFIG:Ldnsfilter/ConfigurationAccess; // field@00ed │ │ +01a7ce: 6e10 4b01 0100 |000b: invoke-virtual {v1}, Ldnsfilter/ConfigurationAccess;.doRestoreDefaults:()V // method@014b │ │ +01a7d4: 1a01 3500 |000e: const-string v1, "#43A047" // string@0035 │ │ +01a7d8: 7110 5c00 0100 |0010: invoke-static {v1}, Landroid/graphics/Color;.parseColor:(Ljava/lang/String;)I // method@005c │ │ +01a7de: 0a01 |0013: move-result v1 │ │ +01a7e0: 6e20 0a01 1000 |0014: invoke-virtual {v0, v1}, Landroid/widget/TextView;.setTextColor:(I)V // method@010a │ │ +01a7e6: 1201 |0017: const/4 v1, #int 0 // #0 │ │ +01a7e8: 6e20 0403 1400 |0018: invoke-virtual {v4, v1}, Ldnsfilter/android/DNSProxyActivity;.loadAndApplyConfig:(Z)V // method@0304 │ │ +01a7ee: 1a01 4404 |001b: const-string v1, "Restore success!" // string@0444 │ │ +01a7f2: 6e20 0901 1000 |001d: invoke-virtual {v0, v1}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@0109 │ │ +01a7f8: 2820 |0020: goto 0040 // +0020 │ │ +01a7fa: 0d01 |0021: move-exception v1 │ │ +01a7fc: 1a02 3700 |0022: const-string v2, "#E53935" // string@0037 │ │ +01a800: 7110 5c00 0200 |0024: invoke-static {v2}, Landroid/graphics/Color;.parseColor:(Ljava/lang/String;)I // method@005c │ │ +01a806: 0a02 |0027: move-result v2 │ │ +01a808: 6e20 0a01 2000 |0028: invoke-virtual {v0, v2}, Landroid/widget/TextView;.setTextColor:(I)V // method@010a │ │ +01a80e: 2202 2d01 |002b: new-instance v2, Ljava/lang/StringBuilder; // type@012d │ │ +01a812: 1a03 4304 |002d: const-string v3, "Restore failed! " // string@0443 │ │ +01a816: 7020 a805 3200 |002f: invoke-direct {v2, v3}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05a8 │ │ +01a81c: 6e10 2205 0100 |0032: invoke-virtual {v1}, Ljava/io/IOException;.getMessage:()Ljava/lang/String; // method@0522 │ │ +01a822: 0c01 |0035: move-result-object v1 │ │ +01a824: 6e20 ad05 1200 |0036: invoke-virtual {v2, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +01a82a: 6e10 af05 0200 |0039: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ +01a830: 0c01 |003c: move-result-object v1 │ │ +01a832: 6e20 0901 1000 |003d: invoke-virtual {v0, v1}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@0109 │ │ +01a838: 0e00 |0040: return-void │ │ catches : 1 │ │ 0x0009 - 0x0020 │ │ Ljava/io/IOException; -> 0x0021 │ │ positions : │ │ 0x0003 line=777 │ │ 0x0009 line=779 │ │ 0x000e line=780 │ │ @@ -45858,25 +45858,25 @@ │ │ type : '()Ldnsfilter/ConfigUtil;' │ │ access : 0x0004 (PROTECTED) │ │ code - │ │ registers : 3 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 17 16-bit code units │ │ -01a06c: |[01a06c] dnsfilter.android.DNSProxyActivity.getConfig:()Ldnsfilter/ConfigUtil; │ │ -01a07c: 6200 ed00 |0000: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.CONFIG:Ldnsfilter/ConfigurationAccess; // field@00ed │ │ -01a080: 6e10 4e01 0000 |0002: invoke-virtual {v0}, Ldnsfilter/ConfigurationAccess;.getConfigUtil:()Ldnsfilter/ConfigUtil; // method@014e │ │ -01a086: 0c00 |0005: move-result-object v0 │ │ -01a088: 1100 |0006: return-object v0 │ │ -01a08a: 0d00 |0007: move-exception v0 │ │ -01a08c: 7100 2507 0000 |0008: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0725 │ │ -01a092: 0c01 |000b: move-result-object v1 │ │ -01a094: 7220 3007 0100 |000c: invoke-interface {v1, v0}, Lutil/LoggerInterface;.logException:(Ljava/lang/Exception;)V // method@0730 │ │ -01a09a: 1200 |000f: const/4 v0, #int 0 // #0 │ │ -01a09c: 1100 |0010: return-object v0 │ │ +01a068: |[01a068] dnsfilter.android.DNSProxyActivity.getConfig:()Ldnsfilter/ConfigUtil; │ │ +01a078: 6200 ed00 |0000: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.CONFIG:Ldnsfilter/ConfigurationAccess; // field@00ed │ │ +01a07c: 6e10 4e01 0000 |0002: invoke-virtual {v0}, Ldnsfilter/ConfigurationAccess;.getConfigUtil:()Ldnsfilter/ConfigUtil; // method@014e │ │ +01a082: 0c00 |0005: move-result-object v0 │ │ +01a084: 1100 |0006: return-object v0 │ │ +01a086: 0d00 |0007: move-exception v0 │ │ +01a088: 7100 2507 0000 |0008: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0725 │ │ +01a08e: 0c01 |000b: move-result-object v1 │ │ +01a090: 7220 3007 0100 |000c: invoke-interface {v1, v0}, Lutil/LoggerInterface;.logException:(Ljava/lang/Exception;)V // method@0730 │ │ +01a096: 1200 |000f: const/4 v0, #int 0 // #0 │ │ +01a098: 1100 |0010: return-object v0 │ │ catches : 1 │ │ 0x0000 - 0x0006 │ │ Ljava/lang/Exception; -> 0x0007 │ │ positions : │ │ 0x0000 line=698 │ │ 0x0008 line=700 │ │ locals : │ │ @@ -45887,35 +45887,35 @@ │ │ type : '()V' │ │ access : 0x20004 (PROTECTED DECLARED_SYNCHRONIZED) │ │ code - │ │ registers : 4 │ │ ins : 1 │ │ outs : 3 │ │ insns size : 40 16-bit code units │ │ -01ae00: |[01ae00] dnsfilter.android.DNSProxyActivity.handleExitApp:()V │ │ -01ae10: 1d03 |0000: monitor-enter v3 │ │ -01ae12: 1210 |0001: const/4 v0, #int 1 // #1 │ │ -01ae14: 7110 ae02 0000 |0002: invoke-static {v0}, Ldnsfilter/android/DNSFilterService;.stop:(Z)Z // method@02ae │ │ -01ae1a: 6001 0200 |0005: sget v1, Landroid/os/Build$VERSION;.SDK_INT:I // field@0002 │ │ -01ae1e: 1302 1800 |0007: const/16 v2, #int 24 // #18 │ │ -01ae22: 3421 0500 |0009: if-lt v1, v2, 000e // +0005 │ │ -01ae26: 7110 ba02 0300 |000b: invoke-static {v3}, Ldnsfilter/android/DNSFilterTileService;.requestTileUpdate:(Landroid/content/Context;)V // method@02ba │ │ -01ae2c: 2201 1a00 |000e: new-instance v1, Landroid/content/Intent; // type@001a │ │ -01ae30: 1c02 b000 |0010: const-class v2, Ldnsfilter/android/DNSProxyActivity; // type@00b0 │ │ -01ae34: 7030 4200 3102 |0012: invoke-direct {v1, v3, v2}, Landroid/content/Intent;.:(Landroid/content/Context;Ljava/lang/Class;)V // method@0042 │ │ -01ae3a: 1402 0080 0010 |0015: const v2, #float 2.53422e-29 // #10008000 │ │ -01ae40: 6e20 4600 2100 |0018: invoke-virtual {v1, v2}, Landroid/content/Intent;.addFlags:(I)Landroid/content/Intent; // method@0046 │ │ -01ae46: 1a02 5404 |001b: const-string v2, "SHOULD_FINISH" // string@0454 │ │ -01ae4a: 6e30 4c00 2100 |001d: invoke-virtual {v1, v2, v0}, Landroid/content/Intent;.putExtra:(Ljava/lang/String;Z)Landroid/content/Intent; // method@004c │ │ -01ae50: 6e20 3103 1300 |0020: invoke-virtual {v3, v1}, Ldnsfilter/android/DNSProxyActivity;.startActivity:(Landroid/content/Intent;)V // method@0331 │ │ -01ae56: 1e03 |0023: monitor-exit v3 │ │ -01ae58: 0e00 |0024: return-void │ │ -01ae5a: 0d00 |0025: move-exception v0 │ │ -01ae5c: 1e03 |0026: monitor-exit v3 │ │ -01ae5e: 2700 |0027: throw v0 │ │ +01adfc: |[01adfc] dnsfilter.android.DNSProxyActivity.handleExitApp:()V │ │ +01ae0c: 1d03 |0000: monitor-enter v3 │ │ +01ae0e: 1210 |0001: const/4 v0, #int 1 // #1 │ │ +01ae10: 7110 ae02 0000 |0002: invoke-static {v0}, Ldnsfilter/android/DNSFilterService;.stop:(Z)Z // method@02ae │ │ +01ae16: 6001 0200 |0005: sget v1, Landroid/os/Build$VERSION;.SDK_INT:I // field@0002 │ │ +01ae1a: 1302 1800 |0007: const/16 v2, #int 24 // #18 │ │ +01ae1e: 3421 0500 |0009: if-lt v1, v2, 000e // +0005 │ │ +01ae22: 7110 ba02 0300 |000b: invoke-static {v3}, Ldnsfilter/android/DNSFilterTileService;.requestTileUpdate:(Landroid/content/Context;)V // method@02ba │ │ +01ae28: 2201 1a00 |000e: new-instance v1, Landroid/content/Intent; // type@001a │ │ +01ae2c: 1c02 b000 |0010: const-class v2, Ldnsfilter/android/DNSProxyActivity; // type@00b0 │ │ +01ae30: 7030 4200 3102 |0012: invoke-direct {v1, v3, v2}, Landroid/content/Intent;.:(Landroid/content/Context;Ljava/lang/Class;)V // method@0042 │ │ +01ae36: 1402 0080 0010 |0015: const v2, #float 2.53422e-29 // #10008000 │ │ +01ae3c: 6e20 4600 2100 |0018: invoke-virtual {v1, v2}, Landroid/content/Intent;.addFlags:(I)Landroid/content/Intent; // method@0046 │ │ +01ae42: 1a02 5404 |001b: const-string v2, "SHOULD_FINISH" // string@0454 │ │ +01ae46: 6e30 4c00 2100 |001d: invoke-virtual {v1, v2, v0}, Landroid/content/Intent;.putExtra:(Ljava/lang/String;Z)Landroid/content/Intent; // method@004c │ │ +01ae4c: 6e20 3103 1300 |0020: invoke-virtual {v3, v1}, Ldnsfilter/android/DNSProxyActivity;.startActivity:(Landroid/content/Intent;)V // method@0331 │ │ +01ae52: 1e03 |0023: monitor-exit v3 │ │ +01ae54: 0e00 |0024: return-void │ │ +01ae56: 0d00 |0025: move-exception v0 │ │ +01ae58: 1e03 |0026: monitor-exit v3 │ │ +01ae5a: 2700 |0027: throw v0 │ │ catches : 1 │ │ 0x0002 - 0x0023 │ │ -> 0x0025 │ │ positions : │ │ 0x0002 line=1525 │ │ 0x0005 line=1526 │ │ 0x000b line=1527 │ │ @@ -45932,23 +45932,23 @@ │ │ type : '()V' │ │ access : 0x0004 (PROTECTED) │ │ code - │ │ registers : 3 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 15 16-bit code units │ │ -01b298: |[01b298] dnsfilter.android.DNSProxyActivity.handlefilterReload:()V │ │ -01b2a8: 6200 ed00 |0000: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.CONFIG:Ldnsfilter/ConfigurationAccess; // field@00ed │ │ -01b2ac: 6e10 5f01 0000 |0002: invoke-virtual {v0}, Ldnsfilter/ConfigurationAccess;.triggerUpdateFilter:()V // method@015f │ │ -01b2b2: 2809 |0005: goto 000e // +0009 │ │ -01b2b4: 0d00 |0006: move-exception v0 │ │ -01b2b6: 7100 2507 0000 |0007: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0725 │ │ -01b2bc: 0c01 |000a: move-result-object v1 │ │ -01b2be: 7220 3007 0100 |000b: invoke-interface {v1, v0}, Lutil/LoggerInterface;.logException:(Ljava/lang/Exception;)V // method@0730 │ │ -01b2c4: 0e00 |000e: return-void │ │ +01b294: |[01b294] dnsfilter.android.DNSProxyActivity.handlefilterReload:()V │ │ +01b2a4: 6200 ed00 |0000: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.CONFIG:Ldnsfilter/ConfigurationAccess; // field@00ed │ │ +01b2a8: 6e10 5f01 0000 |0002: invoke-virtual {v0}, Ldnsfilter/ConfigurationAccess;.triggerUpdateFilter:()V // method@015f │ │ +01b2ae: 2809 |0005: goto 000e // +0009 │ │ +01b2b0: 0d00 |0006: move-exception v0 │ │ +01b2b2: 7100 2507 0000 |0007: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0725 │ │ +01b2b8: 0c01 |000a: move-result-object v1 │ │ +01b2ba: 7220 3007 0100 |000b: invoke-interface {v1, v0}, Lutil/LoggerInterface;.logException:(Ljava/lang/Exception;)V // method@0730 │ │ +01b2c0: 0e00 |000e: return-void │ │ catches : 1 │ │ 0x0000 - 0x0005 │ │ Ljava/lang/Exception; -> 0x0006 │ │ positions : │ │ 0x0000 line=852 │ │ 0x0007 line=854 │ │ locals : │ │ @@ -45959,47 +45959,47 @@ │ │ type : '()V' │ │ access : 0x0004 (PROTECTED) │ │ code - │ │ registers : 5 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 64 16-bit code units │ │ -01b3c0: |[01b3c0] dnsfilter.android.DNSProxyActivity.loadAdditionalHosts:()V │ │ -01b3d0: 6200 ed00 |0000: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.CONFIG:Ldnsfilter/ConfigurationAccess; // field@00ed │ │ -01b3d4: 1501 0800 |0002: const/high16 v1, #int 524288 // #8 │ │ -01b3d8: 6e20 4c01 1000 |0004: invoke-virtual {v0, v1}, Ldnsfilter/ConfigurationAccess;.getAdditionalHosts:(I)[B // method@014c │ │ -01b3de: 0c00 |0007: move-result-object v0 │ │ -01b3e0: 1201 |0008: const/4 v1, #int 0 // #0 │ │ -01b3e2: 3900 0f00 |0009: if-nez v0, 0018 // +000f │ │ -01b3e6: 6200 0201 |000b: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.additionalHostsField:Landroid/widget/EditText; // field@0102 │ │ -01b3ea: 6202 eb00 |000d: sget-object v2, Ldnsfilter/android/DNSProxyActivity;.ADDITIONAL_HOSTS_TO_LONG:Ljava/lang/String; // field@00eb │ │ -01b3ee: 6e20 e600 2000 |000f: invoke-virtual {v0, v2}, Landroid/widget/EditText;.setText:(Ljava/lang/CharSequence;)V // method@00e6 │ │ -01b3f4: 6200 0201 |0012: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.additionalHostsField:Landroid/widget/EditText; // field@0102 │ │ -01b3f8: 6e20 dd00 1000 |0014: invoke-virtual {v0, v1}, Landroid/widget/EditText;.setEnabled:(Z)V // method@00dd │ │ -01b3fe: 0e00 |0017: return-void │ │ -01b400: 6202 0201 |0018: sget-object v2, Ldnsfilter/android/DNSProxyActivity;.additionalHostsField:Landroid/widget/EditText; // field@0102 │ │ -01b404: 2203 2b01 |001a: new-instance v3, Ljava/lang/String; // type@012b │ │ -01b408: 7020 8505 0300 |001c: invoke-direct {v3, v0}, Ljava/lang/String;.:([B)V // method@0585 │ │ -01b40e: 6e20 e600 3200 |001f: invoke-virtual {v2, v3}, Landroid/widget/EditText;.setText:(Ljava/lang/CharSequence;)V // method@00e6 │ │ -01b414: 6a01 0101 |0022: sput-boolean v1, Ldnsfilter/android/DNSProxyActivity;.additionalHostsChanged:Z // field@0101 │ │ -01b418: 281b |0024: goto 003f // +001b │ │ -01b41a: 0d00 |0025: move-exception v0 │ │ -01b41c: 7100 2507 0000 |0026: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0725 │ │ -01b422: 0c01 |0029: move-result-object v1 │ │ -01b424: 2202 2d01 |002a: new-instance v2, Ljava/lang/StringBuilder; // type@012d │ │ -01b428: 1a03 e800 |002c: const-string v3, "Can not load /PersonalDNSFilter/additionalHosts.txt! │ │ +01b3bc: |[01b3bc] dnsfilter.android.DNSProxyActivity.loadAdditionalHosts:()V │ │ +01b3cc: 6200 ed00 |0000: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.CONFIG:Ldnsfilter/ConfigurationAccess; // field@00ed │ │ +01b3d0: 1501 0800 |0002: const/high16 v1, #int 524288 // #8 │ │ +01b3d4: 6e20 4c01 1000 |0004: invoke-virtual {v0, v1}, Ldnsfilter/ConfigurationAccess;.getAdditionalHosts:(I)[B // method@014c │ │ +01b3da: 0c00 |0007: move-result-object v0 │ │ +01b3dc: 1201 |0008: const/4 v1, #int 0 // #0 │ │ +01b3de: 3900 0f00 |0009: if-nez v0, 0018 // +000f │ │ +01b3e2: 6200 0201 |000b: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.additionalHostsField:Landroid/widget/EditText; // field@0102 │ │ +01b3e6: 6202 eb00 |000d: sget-object v2, Ldnsfilter/android/DNSProxyActivity;.ADDITIONAL_HOSTS_TO_LONG:Ljava/lang/String; // field@00eb │ │ +01b3ea: 6e20 e600 2000 |000f: invoke-virtual {v0, v2}, Landroid/widget/EditText;.setText:(Ljava/lang/CharSequence;)V // method@00e6 │ │ +01b3f0: 6200 0201 |0012: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.additionalHostsField:Landroid/widget/EditText; // field@0102 │ │ +01b3f4: 6e20 dd00 1000 |0014: invoke-virtual {v0, v1}, Landroid/widget/EditText;.setEnabled:(Z)V // method@00dd │ │ +01b3fa: 0e00 |0017: return-void │ │ +01b3fc: 6202 0201 |0018: sget-object v2, Ldnsfilter/android/DNSProxyActivity;.additionalHostsField:Landroid/widget/EditText; // field@0102 │ │ +01b400: 2203 2b01 |001a: new-instance v3, Ljava/lang/String; // type@012b │ │ +01b404: 7020 8505 0300 |001c: invoke-direct {v3, v0}, Ljava/lang/String;.:([B)V // method@0585 │ │ +01b40a: 6e20 e600 3200 |001f: invoke-virtual {v2, v3}, Landroid/widget/EditText;.setText:(Ljava/lang/CharSequence;)V // method@00e6 │ │ +01b410: 6a01 0101 |0022: sput-boolean v1, Ldnsfilter/android/DNSProxyActivity;.additionalHostsChanged:Z // field@0101 │ │ +01b414: 281b |0024: goto 003f // +001b │ │ +01b416: 0d00 |0025: move-exception v0 │ │ +01b418: 7100 2507 0000 |0026: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0725 │ │ +01b41e: 0c01 |0029: move-result-object v1 │ │ +01b420: 2202 2d01 |002a: new-instance v2, Ljava/lang/StringBuilder; // type@012d │ │ +01b424: 1a03 e800 |002c: const-string v3, "Can not load /PersonalDNSFilter/additionalHosts.txt! │ │ " // string@00e8 │ │ -01b42c: 7020 a805 3200 |002e: invoke-direct {v2, v3}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05a8 │ │ -01b432: 6e10 2405 0000 |0031: invoke-virtual {v0}, Ljava/io/IOException;.toString:()Ljava/lang/String; // method@0524 │ │ -01b438: 0c00 |0034: move-result-object v0 │ │ -01b43a: 6e20 ad05 0200 |0035: invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -01b440: 6e10 af05 0200 |0038: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ -01b446: 0c00 |003b: move-result-object v0 │ │ -01b448: 7220 3107 0100 |003c: invoke-interface {v1, v0}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0731 │ │ -01b44e: 0e00 |003f: return-void │ │ +01b428: 7020 a805 3200 |002e: invoke-direct {v2, v3}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05a8 │ │ +01b42e: 6e10 2405 0000 |0031: invoke-virtual {v0}, Ljava/io/IOException;.toString:()Ljava/lang/String; // method@0524 │ │ +01b434: 0c00 |0034: move-result-object v0 │ │ +01b436: 6e20 ad05 0200 |0035: invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +01b43c: 6e10 af05 0200 |0038: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ +01b442: 0c00 |003b: move-result-object v0 │ │ +01b444: 7220 3107 0100 |003c: invoke-interface {v1, v0}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0731 │ │ +01b44a: 0e00 |003f: return-void │ │ catches : 1 │ │ 0x0000 - 0x0024 │ │ Ljava/io/IOException; -> 0x0025 │ │ positions : │ │ 0x0000 line=792 │ │ 0x000b line=794 │ │ 0x0012 line=795 │ │ @@ -46014,49 +46014,49 @@ │ │ type : '(Z)V' │ │ access : 0x0004 (PROTECTED) │ │ code - │ │ registers : 7 │ │ ins : 2 │ │ outs : 3 │ │ insns size : 67 16-bit code units │ │ -01b460: |[01b460] dnsfilter.android.DNSProxyActivity.loadAndApplyConfig:(Z)V │ │ -01b470: 6e10 f302 0500 |0000: invoke-virtual {v5}, Ldnsfilter/android/DNSProxyActivity;.getConfig:()Ldnsfilter/ConfigUtil; // method@02f3 │ │ -01b476: 0c00 |0003: move-result-object v0 │ │ -01b478: 6900 0e01 |0004: sput-object v0, Ldnsfilter/android/DNSProxyActivity;.config:Ldnsfilter/ConfigUtil; // field@010e │ │ -01b47c: 1201 |0006: const/4 v1, #int 0 // #0 │ │ -01b47e: 3800 3900 |0007: if-eqz v0, 0040 // +0039 │ │ -01b482: 1a02 6b06 |0009: const-string v2, "dnsProxyOnAndroid" // string@066b │ │ -01b486: 1a03 df06 |000b: const-string v3, "false" // string@06df │ │ -01b48a: 6e30 3a01 2003 |000d: invoke-virtual {v0, v2, v3}, Ldnsfilter/ConfigUtil;.getConfigValue:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@013a │ │ -01b490: 0c00 |0010: move-result-object v0 │ │ -01b492: 7110 4b05 0000 |0011: invoke-static {v0}, Ljava/lang/Boolean;.parseBoolean:(Ljava/lang/String;)Z // method@054b │ │ -01b498: 0a00 |0014: move-result v0 │ │ -01b49a: 6202 0e01 |0015: sget-object v2, Ldnsfilter/android/DNSProxyActivity;.config:Ldnsfilter/ConfigUtil; // field@010e │ │ -01b49e: 1a04 900b |0017: const-string v4, "vpnInAdditionToProxyMode" // string@0b90 │ │ -01b4a2: 6e30 3a01 4203 |0019: invoke-virtual {v2, v4, v3}, Ldnsfilter/ConfigUtil;.getConfigValue:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@013a │ │ -01b4a8: 0c02 |001c: move-result-object v2 │ │ -01b4aa: 7110 4b05 0200 |001d: invoke-static {v2}, Ljava/lang/Boolean;.parseBoolean:(Ljava/lang/String;)Z // method@054b │ │ -01b4b0: 0a02 |0020: move-result v2 │ │ -01b4b2: 3800 0500 |0021: if-eqz v0, 0026 // +0005 │ │ -01b4b6: 3902 0300 |0023: if-nez v2, 0026 // +0003 │ │ -01b4ba: 1211 |0025: const/4 v1, #int 1 // #1 │ │ -01b4bc: 6a01 f900 |0026: sput-boolean v1, Ldnsfilter/android/DNSProxyActivity;.NO_VPN:Z // field@00f9 │ │ -01b4c0: 2200 a800 |0028: new-instance v0, Ldnsfilter/android/DNSProxyActivity$3; // type@00a8 │ │ -01b4c4: 7020 c102 5000 |002a: invoke-direct {v0, v5}, Ldnsfilter/android/DNSProxyActivity$3;.:(Ldnsfilter/android/DNSProxyActivity;)V // method@02c1 │ │ -01b4ca: 6e20 2a03 0500 |002d: invoke-virtual {v5, v0}, Ldnsfilter/android/DNSProxyActivity;.runOnUiThread:(Ljava/lang/Runnable;)V // method@032a │ │ -01b4d0: 7010 e502 0500 |0030: invoke-direct {v5}, Ldnsfilter/android/DNSProxyActivity;.checkNotificationPermission:()Z // method@02e5 │ │ -01b4d6: 0a00 |0033: move-result v0 │ │ -01b4d8: 3900 0300 |0034: if-nez v0, 0037 // +0003 │ │ -01b4dc: 0e00 |0036: return-void │ │ -01b4de: 3806 0b00 |0037: if-eqz v6, 0042 // +000b │ │ -01b4e2: 7010 fd02 0500 |0039: invoke-direct {v5}, Ldnsfilter/android/DNSProxyActivity;.handleInitialInfoPopUp:()V // method@02fd │ │ -01b4e8: 6e10 3503 0500 |003c: invoke-virtual {v5}, Ldnsfilter/android/DNSProxyActivity;.startup:()V // method@0335 │ │ -01b4ee: 2803 |003f: goto 0042 // +0003 │ │ -01b4f0: 6a01 3801 |0040: sput-boolean v1, Ldnsfilter/android/DNSProxyActivity;.switchingConfig:Z // field@0138 │ │ -01b4f4: 0e00 |0042: return-void │ │ +01b45c: |[01b45c] dnsfilter.android.DNSProxyActivity.loadAndApplyConfig:(Z)V │ │ +01b46c: 6e10 f302 0500 |0000: invoke-virtual {v5}, Ldnsfilter/android/DNSProxyActivity;.getConfig:()Ldnsfilter/ConfigUtil; // method@02f3 │ │ +01b472: 0c00 |0003: move-result-object v0 │ │ +01b474: 6900 0e01 |0004: sput-object v0, Ldnsfilter/android/DNSProxyActivity;.config:Ldnsfilter/ConfigUtil; // field@010e │ │ +01b478: 1201 |0006: const/4 v1, #int 0 // #0 │ │ +01b47a: 3800 3900 |0007: if-eqz v0, 0040 // +0039 │ │ +01b47e: 1a02 6b06 |0009: const-string v2, "dnsProxyOnAndroid" // string@066b │ │ +01b482: 1a03 df06 |000b: const-string v3, "false" // string@06df │ │ +01b486: 6e30 3a01 2003 |000d: invoke-virtual {v0, v2, v3}, Ldnsfilter/ConfigUtil;.getConfigValue:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@013a │ │ +01b48c: 0c00 |0010: move-result-object v0 │ │ +01b48e: 7110 4b05 0000 |0011: invoke-static {v0}, Ljava/lang/Boolean;.parseBoolean:(Ljava/lang/String;)Z // method@054b │ │ +01b494: 0a00 |0014: move-result v0 │ │ +01b496: 6202 0e01 |0015: sget-object v2, Ldnsfilter/android/DNSProxyActivity;.config:Ldnsfilter/ConfigUtil; // field@010e │ │ +01b49a: 1a04 900b |0017: const-string v4, "vpnInAdditionToProxyMode" // string@0b90 │ │ +01b49e: 6e30 3a01 4203 |0019: invoke-virtual {v2, v4, v3}, Ldnsfilter/ConfigUtil;.getConfigValue:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@013a │ │ +01b4a4: 0c02 |001c: move-result-object v2 │ │ +01b4a6: 7110 4b05 0200 |001d: invoke-static {v2}, Ljava/lang/Boolean;.parseBoolean:(Ljava/lang/String;)Z // method@054b │ │ +01b4ac: 0a02 |0020: move-result v2 │ │ +01b4ae: 3800 0500 |0021: if-eqz v0, 0026 // +0005 │ │ +01b4b2: 3902 0300 |0023: if-nez v2, 0026 // +0003 │ │ +01b4b6: 1211 |0025: const/4 v1, #int 1 // #1 │ │ +01b4b8: 6a01 f900 |0026: sput-boolean v1, Ldnsfilter/android/DNSProxyActivity;.NO_VPN:Z // field@00f9 │ │ +01b4bc: 2200 a800 |0028: new-instance v0, Ldnsfilter/android/DNSProxyActivity$3; // type@00a8 │ │ +01b4c0: 7020 c102 5000 |002a: invoke-direct {v0, v5}, Ldnsfilter/android/DNSProxyActivity$3;.:(Ldnsfilter/android/DNSProxyActivity;)V // method@02c1 │ │ +01b4c6: 6e20 2a03 0500 |002d: invoke-virtual {v5, v0}, Ldnsfilter/android/DNSProxyActivity;.runOnUiThread:(Ljava/lang/Runnable;)V // method@032a │ │ +01b4cc: 7010 e502 0500 |0030: invoke-direct {v5}, Ldnsfilter/android/DNSProxyActivity;.checkNotificationPermission:()Z // method@02e5 │ │ +01b4d2: 0a00 |0033: move-result v0 │ │ +01b4d4: 3900 0300 |0034: if-nez v0, 0037 // +0003 │ │ +01b4d8: 0e00 |0036: return-void │ │ +01b4da: 3806 0b00 |0037: if-eqz v6, 0042 // +000b │ │ +01b4de: 7010 fd02 0500 |0039: invoke-direct {v5}, Ldnsfilter/android/DNSProxyActivity;.handleInitialInfoPopUp:()V // method@02fd │ │ +01b4e4: 6e10 3503 0500 |003c: invoke-virtual {v5}, Ldnsfilter/android/DNSProxyActivity;.startup:()V // method@0335 │ │ +01b4ea: 2803 |003f: goto 0042 // +0003 │ │ +01b4ec: 6a01 3801 |0040: sput-boolean v1, Ldnsfilter/android/DNSProxyActivity;.switchingConfig:Z // field@0138 │ │ +01b4f0: 0e00 |0042: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=950 │ │ 0x0009 line=954 │ │ 0x0015 line=955 │ │ 0x0026 line=956 │ │ 0x0028 line=958 │ │ @@ -46074,39 +46074,39 @@ │ │ type : '()V' │ │ access : 0x0004 (PROTECTED) │ │ code - │ │ registers : 5 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 47 16-bit code units │ │ -01b4f8: |[01b4f8] dnsfilter.android.DNSProxyActivity.loadManuallyEditConf:()V │ │ -01b508: 6200 ed00 |0000: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.CONFIG:Ldnsfilter/ConfigurationAccess; // field@00ed │ │ -01b50c: 6e10 5901 0000 |0002: invoke-virtual {v0}, Ldnsfilter/ConfigurationAccess;.readConfig:()[B // method@0159 │ │ -01b512: 0c00 |0005: move-result-object v0 │ │ -01b514: 6201 2301 |0006: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.manuallyEditField:Landroid/widget/EditText; // field@0123 │ │ -01b518: 2202 2b01 |0008: new-instance v2, Ljava/lang/String; // type@012b │ │ -01b51c: 7020 8505 0200 |000a: invoke-direct {v2, v0}, Ljava/lang/String;.:([B)V // method@0585 │ │ -01b522: 6e20 e600 2100 |000d: invoke-virtual {v1, v2}, Landroid/widget/EditText;.setText:(Ljava/lang/CharSequence;)V // method@00e6 │ │ -01b528: 1200 |0010: const/4 v0, #int 0 // #0 │ │ -01b52a: 6a00 2101 |0011: sput-boolean v0, Ldnsfilter/android/DNSProxyActivity;.manuallyConfEdited:Z // field@0121 │ │ -01b52e: 281b |0013: goto 002e // +001b │ │ -01b530: 0d00 |0014: move-exception v0 │ │ -01b532: 7100 2507 0000 |0015: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0725 │ │ -01b538: 0c01 |0018: move-result-object v1 │ │ -01b53a: 2202 2d01 |0019: new-instance v2, Ljava/lang/StringBuilder; // type@012d │ │ -01b53e: 1a03 e900 |001b: const-string v3, "Can not load /PersonalDNSFilter/dnsfilter.conf! │ │ +01b4f4: |[01b4f4] dnsfilter.android.DNSProxyActivity.loadManuallyEditConf:()V │ │ +01b504: 6200 ed00 |0000: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.CONFIG:Ldnsfilter/ConfigurationAccess; // field@00ed │ │ +01b508: 6e10 5901 0000 |0002: invoke-virtual {v0}, Ldnsfilter/ConfigurationAccess;.readConfig:()[B // method@0159 │ │ +01b50e: 0c00 |0005: move-result-object v0 │ │ +01b510: 6201 2301 |0006: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.manuallyEditField:Landroid/widget/EditText; // field@0123 │ │ +01b514: 2202 2b01 |0008: new-instance v2, Ljava/lang/String; // type@012b │ │ +01b518: 7020 8505 0200 |000a: invoke-direct {v2, v0}, Ljava/lang/String;.:([B)V // method@0585 │ │ +01b51e: 6e20 e600 2100 |000d: invoke-virtual {v1, v2}, Landroid/widget/EditText;.setText:(Ljava/lang/CharSequence;)V // method@00e6 │ │ +01b524: 1200 |0010: const/4 v0, #int 0 // #0 │ │ +01b526: 6a00 2101 |0011: sput-boolean v0, Ldnsfilter/android/DNSProxyActivity;.manuallyConfEdited:Z // field@0121 │ │ +01b52a: 281b |0013: goto 002e // +001b │ │ +01b52c: 0d00 |0014: move-exception v0 │ │ +01b52e: 7100 2507 0000 |0015: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0725 │ │ +01b534: 0c01 |0018: move-result-object v1 │ │ +01b536: 2202 2d01 |0019: new-instance v2, Ljava/lang/StringBuilder; // type@012d │ │ +01b53a: 1a03 e900 |001b: const-string v3, "Can not load /PersonalDNSFilter/dnsfilter.conf! │ │ " // string@00e9 │ │ -01b542: 7020 a805 3200 |001d: invoke-direct {v2, v3}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05a8 │ │ -01b548: 6e10 2405 0000 |0020: invoke-virtual {v0}, Ljava/io/IOException;.toString:()Ljava/lang/String; // method@0524 │ │ -01b54e: 0c00 |0023: move-result-object v0 │ │ -01b550: 6e20 ad05 0200 |0024: invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -01b556: 6e10 af05 0200 |0027: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ -01b55c: 0c00 |002a: move-result-object v0 │ │ -01b55e: 7220 3107 0100 |002b: invoke-interface {v1, v0}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0731 │ │ -01b564: 0e00 |002e: return-void │ │ +01b53e: 7020 a805 3200 |001d: invoke-direct {v2, v3}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05a8 │ │ +01b544: 6e10 2405 0000 |0020: invoke-virtual {v0}, Ljava/io/IOException;.toString:()Ljava/lang/String; // method@0524 │ │ +01b54a: 0c00 |0023: move-result-object v0 │ │ +01b54c: 6e20 ad05 0200 |0024: invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +01b552: 6e10 af05 0200 |0027: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ +01b558: 0c00 |002a: move-result-object v0 │ │ +01b55a: 7220 3107 0100 |002b: invoke-interface {v1, v0}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0731 │ │ +01b560: 0e00 |002e: return-void │ │ catches : 1 │ │ 0x0000 - 0x0013 │ │ Ljava/io/IOException; -> 0x0014 │ │ positions : │ │ 0x0000 line=807 │ │ 0x0006 line=808 │ │ 0x0011 line=809 │ │ @@ -46119,19 +46119,19 @@ │ │ type : '(Ljava/lang/String;)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 3 │ │ ins : 2 │ │ outs : 3 │ │ insns size : 9 16-bit code units │ │ -01b578: |[01b578] dnsfilter.android.DNSProxyActivity.log:(Ljava/lang/String;)V │ │ -01b588: 2200 af00 |0000: new-instance v0, Ldnsfilter/android/DNSProxyActivity$MyUIThreadLogger; // type@00af │ │ -01b58c: 7030 d402 1002 |0002: invoke-direct {v0, v1, v2}, Ldnsfilter/android/DNSProxyActivity$MyUIThreadLogger;.:(Ldnsfilter/android/DNSProxyActivity;Ljava/lang/String;)V // method@02d4 │ │ -01b592: 6e20 2a03 0100 |0005: invoke-virtual {v1, v0}, Ldnsfilter/android/DNSProxyActivity;.runOnUiThread:(Ljava/lang/Runnable;)V // method@032a │ │ -01b598: 0e00 |0008: return-void │ │ +01b574: |[01b574] dnsfilter.android.DNSProxyActivity.log:(Ljava/lang/String;)V │ │ +01b584: 2200 af00 |0000: new-instance v0, Ldnsfilter/android/DNSProxyActivity$MyUIThreadLogger; // type@00af │ │ +01b588: 7030 d402 1002 |0002: invoke-direct {v0, v1, v2}, Ldnsfilter/android/DNSProxyActivity$MyUIThreadLogger;.:(Ldnsfilter/android/DNSProxyActivity;Ljava/lang/String;)V // method@02d4 │ │ +01b58e: 6e20 2a03 0100 |0005: invoke-virtual {v1, v0}, Ldnsfilter/android/DNSProxyActivity;.runOnUiThread:(Ljava/lang/Runnable;)V // method@032a │ │ +01b594: 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; │ │ │ │ @@ -46140,34 +46140,34 @@ │ │ type : '(Ljava/lang/Exception;)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 4 │ │ ins : 2 │ │ outs : 3 │ │ insns size : 43 16-bit code units │ │ -01b59c: |[01b59c] dnsfilter.android.DNSProxyActivity.logException:(Ljava/lang/Exception;)V │ │ -01b5ac: 2200 0d01 |0000: new-instance v0, Ljava/io/StringWriter; // type@010d │ │ -01b5b0: 7010 4605 0000 |0002: invoke-direct {v0}, Ljava/io/StringWriter;.:()V // method@0546 │ │ -01b5b6: 2201 0a01 |0005: new-instance v1, Ljava/io/PrintWriter; // type@010a │ │ -01b5ba: 7020 4105 0100 |0007: invoke-direct {v1, v0}, Ljava/io/PrintWriter;.:(Ljava/io/Writer;)V // method@0541 │ │ -01b5c0: 6e20 5e05 1300 |000a: invoke-virtual {v3, v1}, Ljava/lang/Exception;.printStackTrace:(Ljava/io/PrintWriter;)V // method@055e │ │ -01b5c6: 2203 af00 |000d: new-instance v3, Ldnsfilter/android/DNSProxyActivity$MyUIThreadLogger; // type@00af │ │ -01b5ca: 2201 2d01 |000f: new-instance v1, Ljava/lang/StringBuilder; // type@012d │ │ -01b5ce: 7010 a705 0100 |0011: invoke-direct {v1}, Ljava/lang/StringBuilder;.:()V // method@05a7 │ │ -01b5d4: 6e10 4705 0000 |0014: invoke-virtual {v0}, Ljava/io/StringWriter;.toString:()Ljava/lang/String; // method@0547 │ │ -01b5da: 0c00 |0017: move-result-object v0 │ │ -01b5dc: 6e20 ad05 0100 |0018: invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -01b5e2: 1a00 0200 |001b: const-string v0, " │ │ +01b598: |[01b598] dnsfilter.android.DNSProxyActivity.logException:(Ljava/lang/Exception;)V │ │ +01b5a8: 2200 0d01 |0000: new-instance v0, Ljava/io/StringWriter; // type@010d │ │ +01b5ac: 7010 4605 0000 |0002: invoke-direct {v0}, Ljava/io/StringWriter;.:()V // method@0546 │ │ +01b5b2: 2201 0a01 |0005: new-instance v1, Ljava/io/PrintWriter; // type@010a │ │ +01b5b6: 7020 4105 0100 |0007: invoke-direct {v1, v0}, Ljava/io/PrintWriter;.:(Ljava/io/Writer;)V // method@0541 │ │ +01b5bc: 6e20 5e05 1300 |000a: invoke-virtual {v3, v1}, Ljava/lang/Exception;.printStackTrace:(Ljava/io/PrintWriter;)V // method@055e │ │ +01b5c2: 2203 af00 |000d: new-instance v3, Ldnsfilter/android/DNSProxyActivity$MyUIThreadLogger; // type@00af │ │ +01b5c6: 2201 2d01 |000f: new-instance v1, Ljava/lang/StringBuilder; // type@012d │ │ +01b5ca: 7010 a705 0100 |0011: invoke-direct {v1}, Ljava/lang/StringBuilder;.:()V // method@05a7 │ │ +01b5d0: 6e10 4705 0000 |0014: invoke-virtual {v0}, Ljava/io/StringWriter;.toString:()Ljava/lang/String; // method@0547 │ │ +01b5d6: 0c00 |0017: move-result-object v0 │ │ +01b5d8: 6e20 ad05 0100 |0018: invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +01b5de: 1a00 0200 |001b: const-string v0, " │ │ " // string@0002 │ │ -01b5e6: 6e20 ad05 0100 |001d: invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -01b5ec: 6e10 af05 0100 |0020: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ -01b5f2: 0c00 |0023: move-result-object v0 │ │ -01b5f4: 7030 d402 2300 |0024: invoke-direct {v3, v2, v0}, Ldnsfilter/android/DNSProxyActivity$MyUIThreadLogger;.:(Ldnsfilter/android/DNSProxyActivity;Ljava/lang/String;)V // method@02d4 │ │ -01b5fa: 6e20 2a03 3200 |0027: invoke-virtual {v2, v3}, Ldnsfilter/android/DNSProxyActivity;.runOnUiThread:(Ljava/lang/Runnable;)V // method@032a │ │ -01b600: 0e00 |002a: return-void │ │ +01b5e2: 6e20 ad05 0100 |001d: invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +01b5e8: 6e10 af05 0100 |0020: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ +01b5ee: 0c00 |0023: move-result-object v0 │ │ +01b5f0: 7030 d402 2300 |0024: invoke-direct {v3, v2, v0}, Ldnsfilter/android/DNSProxyActivity$MyUIThreadLogger;.:(Ldnsfilter/android/DNSProxyActivity;Ljava/lang/String;)V // method@02d4 │ │ +01b5f6: 6e20 2a03 3200 |0027: invoke-virtual {v2, v3}, Ldnsfilter/android/DNSProxyActivity;.runOnUiThread:(Ljava/lang/Runnable;)V // method@032a │ │ +01b5fc: 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; │ │ @@ -46178,27 +46178,27 @@ │ │ type : '(Ljava/lang/String;)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 4 │ │ ins : 2 │ │ outs : 3 │ │ insns size : 26 16-bit code units │ │ -01b604: |[01b604] dnsfilter.android.DNSProxyActivity.logLine:(Ljava/lang/String;)V │ │ -01b614: 2200 af00 |0000: new-instance v0, Ldnsfilter/android/DNSProxyActivity$MyUIThreadLogger; // type@00af │ │ -01b618: 2201 2d01 |0002: new-instance v1, Ljava/lang/StringBuilder; // type@012d │ │ -01b61c: 7010 a705 0100 |0004: invoke-direct {v1}, Ljava/lang/StringBuilder;.:()V // method@05a7 │ │ -01b622: 6e20 ad05 3100 |0007: invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -01b628: 1a03 0200 |000a: const-string v3, " │ │ +01b600: |[01b600] dnsfilter.android.DNSProxyActivity.logLine:(Ljava/lang/String;)V │ │ +01b610: 2200 af00 |0000: new-instance v0, Ldnsfilter/android/DNSProxyActivity$MyUIThreadLogger; // type@00af │ │ +01b614: 2201 2d01 |0002: new-instance v1, Ljava/lang/StringBuilder; // type@012d │ │ +01b618: 7010 a705 0100 |0004: invoke-direct {v1}, Ljava/lang/StringBuilder;.:()V // method@05a7 │ │ +01b61e: 6e20 ad05 3100 |0007: invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +01b624: 1a03 0200 |000a: const-string v3, " │ │ " // string@0002 │ │ -01b62c: 6e20 ad05 3100 |000c: invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -01b632: 6e10 af05 0100 |000f: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ -01b638: 0c03 |0012: move-result-object v3 │ │ -01b63a: 7030 d402 2003 |0013: invoke-direct {v0, v2, v3}, Ldnsfilter/android/DNSProxyActivity$MyUIThreadLogger;.:(Ldnsfilter/android/DNSProxyActivity;Ljava/lang/String;)V // method@02d4 │ │ -01b640: 6e20 2a03 0200 |0016: invoke-virtual {v2, v0}, Ldnsfilter/android/DNSProxyActivity;.runOnUiThread:(Ljava/lang/Runnable;)V // method@032a │ │ -01b646: 0e00 |0019: return-void │ │ +01b628: 6e20 ad05 3100 |000c: invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +01b62e: 6e10 af05 0100 |000f: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ +01b634: 0c03 |0012: move-result-object v3 │ │ +01b636: 7030 d402 2003 |0013: invoke-direct {v0, v2, v3}, Ldnsfilter/android/DNSProxyActivity$MyUIThreadLogger;.:(Ldnsfilter/android/DNSProxyActivity;Ljava/lang/String;)V // method@02d4 │ │ +01b63c: 6e20 2a03 0200 |0016: invoke-virtual {v2, v0}, Ldnsfilter/android/DNSProxyActivity;.runOnUiThread:(Ljava/lang/Runnable;)V // method@032a │ │ +01b642: 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; │ │ │ │ @@ -46207,33 +46207,33 @@ │ │ type : '(Ljava/lang/String;)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 4 │ │ ins : 2 │ │ outs : 3 │ │ insns size : 40 16-bit code units │ │ -01b648: |[01b648] dnsfilter.android.DNSProxyActivity.message:(Ljava/lang/String;)V │ │ -01b658: 2200 2d01 |0000: new-instance v0, Ljava/lang/StringBuilder; // type@012d │ │ -01b65c: 1a01 9b00 |0002: const-string v1, "" // string@009b │ │ -01b660: 7020 a805 1000 |0004: invoke-direct {v0, v1}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05a8 │ │ -01b666: 6e20 ad05 3000 |0007: invoke-virtual {v0, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -01b66c: 1a03 8e00 |000a: const-string v3, "" // string@008e │ │ -01b670: 6e20 ad05 3000 |000c: invoke-virtual {v0, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -01b676: 6e10 af05 0000 |000f: invoke-virtual {v0}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ -01b67c: 0c03 |0012: move-result-object v3 │ │ -01b67e: 7110 f102 0300 |0013: invoke-static {v3}, Ldnsfilter/android/DNSProxyActivity;.fromHtml:(Ljava/lang/String;)Landroid/text/Spanned; // method@02f1 │ │ -01b684: 0c03 |0016: move-result-object v3 │ │ -01b686: 1a00 3800 |0017: const-string v0, "#FFC107" // string@0038 │ │ -01b68a: 7110 5c00 0000 |0019: invoke-static {v0}, Landroid/graphics/Color;.parseColor:(Ljava/lang/String;)I // method@005c │ │ -01b690: 0a00 |001c: move-result v0 │ │ -01b692: 7030 2c03 3200 |001d: invoke-direct {v2, v3, v0}, Ldnsfilter/android/DNSProxyActivity;.setMessage:(Landroid/text/Spanned;I)V // method@032c │ │ -01b698: 6203 f600 |0020: sget-object v3, Ldnsfilter/android/DNSProxyActivity;.MsgTO:Ldnsfilter/android/DNSProxyActivity$MsgTimeoutListener; // field@00f6 │ │ -01b69c: 1300 8813 |0022: const/16 v0, #int 5000 // #1388 │ │ -01b6a0: 7120 cf02 0300 |0024: invoke-static {v3, v0}, Ldnsfilter/android/DNSProxyActivity$MsgTimeoutListener;.access$800:(Ldnsfilter/android/DNSProxyActivity$MsgTimeoutListener;I)V // method@02cf │ │ -01b6a6: 0e00 |0027: return-void │ │ +01b644: |[01b644] dnsfilter.android.DNSProxyActivity.message:(Ljava/lang/String;)V │ │ +01b654: 2200 2d01 |0000: new-instance v0, Ljava/lang/StringBuilder; // type@012d │ │ +01b658: 1a01 9b00 |0002: const-string v1, "" // string@009b │ │ +01b65c: 7020 a805 1000 |0004: invoke-direct {v0, v1}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05a8 │ │ +01b662: 6e20 ad05 3000 |0007: invoke-virtual {v0, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +01b668: 1a03 8e00 |000a: const-string v3, "" // string@008e │ │ +01b66c: 6e20 ad05 3000 |000c: invoke-virtual {v0, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +01b672: 6e10 af05 0000 |000f: invoke-virtual {v0}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ +01b678: 0c03 |0012: move-result-object v3 │ │ +01b67a: 7110 f102 0300 |0013: invoke-static {v3}, Ldnsfilter/android/DNSProxyActivity;.fromHtml:(Ljava/lang/String;)Landroid/text/Spanned; // method@02f1 │ │ +01b680: 0c03 |0016: move-result-object v3 │ │ +01b682: 1a00 3800 |0017: const-string v0, "#FFC107" // string@0038 │ │ +01b686: 7110 5c00 0000 |0019: invoke-static {v0}, Landroid/graphics/Color;.parseColor:(Ljava/lang/String;)I // method@005c │ │ +01b68c: 0a00 |001c: move-result v0 │ │ +01b68e: 7030 2c03 3200 |001d: invoke-direct {v2, v3, v0}, Ldnsfilter/android/DNSProxyActivity;.setMessage:(Landroid/text/Spanned;I)V // method@032c │ │ +01b694: 6203 f600 |0020: sget-object v3, Ldnsfilter/android/DNSProxyActivity;.MsgTO:Ldnsfilter/android/DNSProxyActivity$MsgTimeoutListener; // field@00f6 │ │ +01b698: 1300 8813 |0022: const/16 v0, #int 5000 // #1388 │ │ +01b69c: 7120 cf02 0300 |0024: invoke-static {v3, v0}, Ldnsfilter/android/DNSProxyActivity$MsgTimeoutListener;.access$800:(Ldnsfilter/android/DNSProxyActivity$MsgTimeoutListener;I)V // method@02cf │ │ +01b6a2: 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; │ │ @@ -46243,25 +46243,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 │ │ -019c94: |[019c94] dnsfilter.android.DNSProxyActivity.onActionItemClicked:(Landroid/view/ActionMode;Landroid/view/MenuItem;)Z │ │ -019ca4: 6202 0001 |0000: sget-object v2, Ldnsfilter/android/DNSProxyActivity;.add_filter:Landroid/view/MenuItem; // field@0100 │ │ -019ca8: 1200 |0002: const/4 v0, #int 0 // #0 │ │ -019caa: 3323 0700 |0003: if-ne v3, v2, 000a // +0007 │ │ -019cae: 1212 |0005: const/4 v2, #int 1 // #1 │ │ -019cb0: 6e20 0f03 2100 |0006: invoke-virtual {v1, v2}, Ldnsfilter/android/DNSProxyActivity;.onCopyFilterFromLogView:(Z)V // method@030f │ │ -019cb6: 2808 |0009: goto 0011 // +0008 │ │ -019cb8: 6202 2d01 |000a: sget-object v2, Ldnsfilter/android/DNSProxyActivity;.remove_filter:Landroid/view/MenuItem; // field@012d │ │ -019cbc: 3323 0500 |000c: if-ne v3, v2, 0011 // +0005 │ │ -019cc0: 6e20 0f03 0100 |000e: invoke-virtual {v1, v0}, Ldnsfilter/android/DNSProxyActivity;.onCopyFilterFromLogView:(Z)V // method@030f │ │ -019cc6: 0f00 |0011: return v0 │ │ +019c90: |[019c90] dnsfilter.android.DNSProxyActivity.onActionItemClicked:(Landroid/view/ActionMode;Landroid/view/MenuItem;)Z │ │ +019ca0: 6202 0001 |0000: sget-object v2, Ldnsfilter/android/DNSProxyActivity;.add_filter:Landroid/view/MenuItem; // field@0100 │ │ +019ca4: 1200 |0002: const/4 v0, #int 0 // #0 │ │ +019ca6: 3323 0700 |0003: if-ne v3, v2, 000a // +0007 │ │ +019caa: 1212 |0005: const/4 v2, #int 1 // #1 │ │ +019cac: 6e20 0f03 2100 |0006: invoke-virtual {v1, v2}, Ldnsfilter/android/DNSProxyActivity;.onCopyFilterFromLogView:(Z)V // method@030f │ │ +019cb2: 2808 |0009: goto 0011 // +0008 │ │ +019cb4: 6202 2d01 |000a: sget-object v2, Ldnsfilter/android/DNSProxyActivity;.remove_filter:Landroid/view/MenuItem; // field@012d │ │ +019cb8: 3323 0500 |000c: if-ne v3, v2, 0011 // +0005 │ │ +019cbc: 6e20 0f03 0100 |000e: invoke-virtual {v1, v0}, Ldnsfilter/android/DNSProxyActivity;.onCopyFilterFromLogView:(Z)V // method@030f │ │ +019cc2: 0f00 |0011: return v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=1711 │ │ 0x0006 line=1712 │ │ 0x000a line=1714 │ │ 0x000e line=1715 │ │ locals : │ │ @@ -46274,17 +46274,17 @@ │ │ type : '(Landroid/view/ActionMode;)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 4 16-bit code units │ │ -01b6a8: |[01b6a8] dnsfilter.android.DNSProxyActivity.onActionModeStarted:(Landroid/view/ActionMode;)V │ │ -01b6b8: 6f20 0200 1000 |0000: invoke-super {v0, v1}, Landroid/app/Activity;.onActionModeStarted:(Landroid/view/ActionMode;)V // method@0002 │ │ -01b6be: 0e00 |0003: return-void │ │ +01b6a4: |[01b6a4] dnsfilter.android.DNSProxyActivity.onActionModeStarted:(Landroid/view/ActionMode;)V │ │ +01b6b4: 6f20 0200 1000 |0000: invoke-super {v0, v1}, Landroid/app/Activity;.onActionModeStarted:(Landroid/view/ActionMode;)V // method@0002 │ │ +01b6ba: 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; │ │ │ │ @@ -46293,43 +46293,43 @@ │ │ type : '(IILandroid/content/Intent;)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 7 │ │ ins : 4 │ │ outs : 4 │ │ insns size : 52 16-bit code units │ │ -01b6c0: |[01b6c0] dnsfilter.android.DNSProxyActivity.onActivityResult:(IILandroid/content/Intent;)V │ │ -01b6d0: 6f40 0300 4365 |0000: invoke-super {v3, v4, v5, v6}, Landroid/app/Activity;.onActivityResult:(IILandroid/content/Intent;)V // method@0003 │ │ -01b6d6: 12f0 |0003: const/4 v0, #int -1 // #ff │ │ -01b6d8: 1301 7901 |0004: const/16 v1, #int 377 // #179 │ │ -01b6dc: 3314 0800 |0006: if-ne v4, v1, 000e // +0008 │ │ -01b6e0: 3305 0600 |0008: if-ne v5, v0, 000e // +0006 │ │ -01b6e4: 7010 3403 0300 |000a: invoke-direct {v3}, Ldnsfilter/android/DNSProxyActivity;.startSvc:()V // method@0334 │ │ -01b6ea: 280e |000d: goto 001b // +000e │ │ -01b6ec: 3314 0d00 |000e: if-ne v4, v1, 001b // +000d │ │ -01b6f0: 3205 0b00 |0010: if-eq v5, v0, 001b // +000b │ │ -01b6f4: 7100 2507 0000 |0012: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0725 │ │ -01b6fa: 0c01 |0015: move-result-object v1 │ │ -01b6fc: 1a02 ca04 |0016: const-string v2, "VPN confirmation dialog not accepted! │ │ +01b6bc: |[01b6bc] dnsfilter.android.DNSProxyActivity.onActivityResult:(IILandroid/content/Intent;)V │ │ +01b6cc: 6f40 0300 4365 |0000: invoke-super {v3, v4, v5, v6}, Landroid/app/Activity;.onActivityResult:(IILandroid/content/Intent;)V // method@0003 │ │ +01b6d2: 12f0 |0003: const/4 v0, #int -1 // #ff │ │ +01b6d4: 1301 7901 |0004: const/16 v1, #int 377 // #179 │ │ +01b6d8: 3314 0800 |0006: if-ne v4, v1, 000e // +0008 │ │ +01b6dc: 3305 0600 |0008: if-ne v5, v0, 000e // +0006 │ │ +01b6e0: 7010 3403 0300 |000a: invoke-direct {v3}, Ldnsfilter/android/DNSProxyActivity;.startSvc:()V // method@0334 │ │ +01b6e6: 280e |000d: goto 001b // +000e │ │ +01b6e8: 3314 0d00 |000e: if-ne v4, v1, 001b // +000d │ │ +01b6ec: 3205 0b00 |0010: if-eq v5, v0, 001b // +000b │ │ +01b6f0: 7100 2507 0000 |0012: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0725 │ │ +01b6f6: 0c01 |0015: move-result-object v1 │ │ +01b6f8: 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 │ │ -01b700: 7220 3107 2100 |0018: invoke-interface {v1, v2}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0731 │ │ -01b706: 6201 5702 |001b: sget-object v1, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.ACTIVITY_RESULT_CODE:Ljava/lang/Integer; // field@0257 │ │ -01b70a: 6e10 6405 0100 |001d: invoke-virtual {v1}, Ljava/lang/Integer;.intValue:()I // method@0564 │ │ -01b710: 0a01 |0020: move-result v1 │ │ -01b712: 3314 0700 |0021: if-ne v4, v1, 0028 // +0007 │ │ -01b716: 3305 0500 |0023: if-ne v5, v0, 0028 // +0005 │ │ -01b71a: 7010 2203 0300 |0025: invoke-direct {v3}, Ldnsfilter/android/DNSProxyActivity;.persistConfig:()V // method@0322 │ │ -01b720: 6000 f000 |0028: sget v0, Ldnsfilter/android/DNSProxyActivity;.DO_BACKUP:I // field@00f0 │ │ -01b724: 3204 0600 |002a: if-eq v4, v0, 0030 // +0006 │ │ -01b728: 6000 f100 |002c: sget v0, Ldnsfilter/android/DNSProxyActivity;.DO_RESTORE:I // field@00f1 │ │ -01b72c: 3304 0500 |002e: if-ne v4, v0, 0033 // +0005 │ │ -01b730: 6e40 0d03 4365 |0030: invoke-virtual {v3, v4, v5, v6}, Ldnsfilter/android/DNSProxyActivity;.onBackupRestore:(IILandroid/content/Intent;)V // method@030d │ │ -01b736: 0e00 |0033: return-void │ │ +01b6fc: 7220 3107 2100 |0018: invoke-interface {v1, v2}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0731 │ │ +01b702: 6201 5702 |001b: sget-object v1, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.ACTIVITY_RESULT_CODE:Ljava/lang/Integer; // field@0257 │ │ +01b706: 6e10 6405 0100 |001d: invoke-virtual {v1}, Ljava/lang/Integer;.intValue:()I // method@0564 │ │ +01b70c: 0a01 |0020: move-result v1 │ │ +01b70e: 3314 0700 |0021: if-ne v4, v1, 0028 // +0007 │ │ +01b712: 3305 0500 |0023: if-ne v5, v0, 0028 // +0005 │ │ +01b716: 7010 2203 0300 |0025: invoke-direct {v3}, Ldnsfilter/android/DNSProxyActivity;.persistConfig:()V // method@0322 │ │ +01b71c: 6000 f000 |0028: sget v0, Ldnsfilter/android/DNSProxyActivity;.DO_BACKUP:I // field@00f0 │ │ +01b720: 3204 0600 |002a: if-eq v4, v0, 0030 // +0006 │ │ +01b724: 6000 f100 |002c: sget v0, Ldnsfilter/android/DNSProxyActivity;.DO_RESTORE:I // field@00f1 │ │ +01b728: 3304 0500 |002e: if-ne v4, v0, 0033 // +0005 │ │ +01b72c: 6e40 0d03 4365 |0030: invoke-virtual {v3, v4, v5, v6}, Ldnsfilter/android/DNSProxyActivity;.onBackupRestore:(IILandroid/content/Intent;)V // method@030d │ │ +01b732: 0e00 |0033: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=1601 │ │ 0x000a line=1603 │ │ 0x0012 line=1605 │ │ 0x001b line=1607 │ │ 0x0025 line=1608 │ │ @@ -46346,74 +46346,74 @@ │ │ type : '(IILandroid/content/Intent;)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 7 │ │ ins : 4 │ │ outs : 2 │ │ insns size : 124 16-bit code units │ │ -01b738: |[01b738] dnsfilter.android.DNSProxyActivity.onBackupRestore:(IILandroid/content/Intent;)V │ │ -01b748: 1400 1000 057f |0000: const v0, #float 1.76788e+38 // #7f050010 │ │ -01b74e: 6e20 ef02 0300 |0003: invoke-virtual {v3, v0}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02ef │ │ -01b754: 0c00 |0006: move-result-object v0 │ │ -01b756: 1f00 7300 |0007: check-cast v0, Landroid/widget/TextView; // type@0073 │ │ -01b75a: 12f1 |0009: const/4 v1, #int -1 // #ff │ │ -01b75c: 3315 7100 |000a: if-ne v5, v1, 007b // +0071 │ │ -01b760: 3806 4900 |000c: if-eqz v6, 0055 // +0049 │ │ -01b764: 6e10 4900 0600 |000e: invoke-virtual {v6}, Landroid/content/Intent;.getData:()Landroid/net/Uri; // method@0049 │ │ -01b76a: 0c05 |0011: move-result-object v5 │ │ -01b76c: 6006 f000 |0012: sget v6, Ldnsfilter/android/DNSProxyActivity;.DO_BACKUP:I // field@00f0 │ │ -01b770: 1a01 3500 |0014: const-string v1, "#43A047" // string@0035 │ │ -01b774: 3364 1b00 |0016: if-ne v4, v6, 0031 // +001b │ │ -01b778: 6206 ed00 |0018: sget-object v6, Ldnsfilter/android/DNSProxyActivity;.CONFIG:Ldnsfilter/ConfigurationAccess; // field@00ed │ │ -01b77c: 6e10 f402 0300 |001a: invoke-virtual {v3}, Ldnsfilter/android/DNSProxyActivity;.getContentResolver:()Landroid/content/ContentResolver; // method@02f4 │ │ -01b782: 0c02 |001d: move-result-object v2 │ │ -01b784: 6e20 3300 5200 |001e: invoke-virtual {v2, v5}, Landroid/content/ContentResolver;.openOutputStream:(Landroid/net/Uri;)Ljava/io/OutputStream; // method@0033 │ │ -01b78a: 0c02 |0021: move-result-object v2 │ │ -01b78c: 6e20 4901 2600 |0022: invoke-virtual {v6, v2}, Ldnsfilter/ConfigurationAccess;.doBackup:(Ljava/io/OutputStream;)V // method@0149 │ │ -01b792: 7110 5c00 0100 |0025: invoke-static {v1}, Landroid/graphics/Color;.parseColor:(Ljava/lang/String;)I // method@005c │ │ -01b798: 0a06 |0028: move-result v6 │ │ -01b79a: 6e20 0a01 6000 |0029: invoke-virtual {v0, v6}, Landroid/widget/TextView;.setTextColor:(I)V // method@010a │ │ -01b7a0: 1a06 cb00 |002c: const-string v6, "Backup success!" // string@00cb │ │ -01b7a4: 6e20 0901 6000 |002e: invoke-virtual {v0, v6}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@0109 │ │ -01b7aa: 6006 f100 |0031: sget v6, Ldnsfilter/android/DNSProxyActivity;.DO_RESTORE:I // field@00f1 │ │ -01b7ae: 3364 4800 |0033: if-ne v4, v6, 007b // +0048 │ │ -01b7b2: 6204 ed00 |0035: sget-object v4, Ldnsfilter/android/DNSProxyActivity;.CONFIG:Ldnsfilter/ConfigurationAccess; // field@00ed │ │ -01b7b6: 6e10 f402 0300 |0037: invoke-virtual {v3}, Ldnsfilter/android/DNSProxyActivity;.getContentResolver:()Landroid/content/ContentResolver; // method@02f4 │ │ -01b7bc: 0c06 |003a: move-result-object v6 │ │ -01b7be: 6e20 3200 5600 |003b: invoke-virtual {v6, v5}, Landroid/content/ContentResolver;.openInputStream:(Landroid/net/Uri;)Ljava/io/InputStream; // method@0032 │ │ -01b7c4: 0c05 |003e: move-result-object v5 │ │ -01b7c6: 6e20 4a01 5400 |003f: invoke-virtual {v4, v5}, Ldnsfilter/ConfigurationAccess;.doRestore:(Ljava/io/InputStream;)V // method@014a │ │ -01b7cc: 7110 5c00 0100 |0042: invoke-static {v1}, Landroid/graphics/Color;.parseColor:(Ljava/lang/String;)I // method@005c │ │ -01b7d2: 0a04 |0045: move-result v4 │ │ -01b7d4: 6e20 0a01 4000 |0046: invoke-virtual {v0, v4}, Landroid/widget/TextView;.setTextColor:(I)V // method@010a │ │ -01b7da: 1204 |0049: const/4 v4, #int 0 // #0 │ │ -01b7dc: 6e20 0403 4300 |004a: invoke-virtual {v3, v4}, Ldnsfilter/android/DNSProxyActivity;.loadAndApplyConfig:(Z)V // method@0304 │ │ -01b7e2: 1a04 4404 |004d: const-string v4, "Restore success!" // string@0444 │ │ -01b7e6: 6e20 0901 4000 |004f: invoke-virtual {v0, v4}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@0109 │ │ -01b7ec: 2829 |0052: goto 007b // +0029 │ │ -01b7ee: 0d04 |0053: move-exception v4 │ │ -01b7f0: 2809 |0054: goto 005d // +0009 │ │ -01b7f2: 2204 1b01 |0055: new-instance v4, Ljava/lang/Exception; // type@011b │ │ -01b7f6: 1a05 ff03 |0057: const-string v5, "Operation aborted!" // string@03ff │ │ -01b7fa: 7020 5a05 5400 |0059: invoke-direct {v4, v5}, Ljava/lang/Exception;.:(Ljava/lang/String;)V // method@055a │ │ -01b800: 2704 |005c: throw v4 │ │ -01b802: 1a05 3700 |005d: const-string v5, "#E53935" // string@0037 │ │ -01b806: 7110 5c00 0500 |005f: invoke-static {v5}, Landroid/graphics/Color;.parseColor:(Ljava/lang/String;)I // method@005c │ │ -01b80c: 0a05 |0062: move-result v5 │ │ -01b80e: 6e20 0a01 5000 |0063: invoke-virtual {v0, v5}, Landroid/widget/TextView;.setTextColor:(I)V // method@010a │ │ -01b814: 2205 2d01 |0066: new-instance v5, Ljava/lang/StringBuilder; // type@012d │ │ -01b818: 1a06 0004 |0068: const-string v6, "Operation failed! " // string@0400 │ │ -01b81c: 7020 a805 6500 |006a: invoke-direct {v5, v6}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05a8 │ │ -01b822: 6e10 5b05 0400 |006d: invoke-virtual {v4}, Ljava/lang/Exception;.getMessage:()Ljava/lang/String; // method@055b │ │ -01b828: 0c04 |0070: move-result-object v4 │ │ -01b82a: 6e20 ad05 4500 |0071: invoke-virtual {v5, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -01b830: 6e10 af05 0500 |0074: invoke-virtual {v5}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ -01b836: 0c04 |0077: move-result-object v4 │ │ -01b838: 6e20 0901 4000 |0078: invoke-virtual {v0, v4}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@0109 │ │ -01b83e: 0e00 |007b: return-void │ │ +01b734: |[01b734] dnsfilter.android.DNSProxyActivity.onBackupRestore:(IILandroid/content/Intent;)V │ │ +01b744: 1400 1000 057f |0000: const v0, #float 1.76788e+38 // #7f050010 │ │ +01b74a: 6e20 ef02 0300 |0003: invoke-virtual {v3, v0}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02ef │ │ +01b750: 0c00 |0006: move-result-object v0 │ │ +01b752: 1f00 7300 |0007: check-cast v0, Landroid/widget/TextView; // type@0073 │ │ +01b756: 12f1 |0009: const/4 v1, #int -1 // #ff │ │ +01b758: 3315 7100 |000a: if-ne v5, v1, 007b // +0071 │ │ +01b75c: 3806 4900 |000c: if-eqz v6, 0055 // +0049 │ │ +01b760: 6e10 4900 0600 |000e: invoke-virtual {v6}, Landroid/content/Intent;.getData:()Landroid/net/Uri; // method@0049 │ │ +01b766: 0c05 |0011: move-result-object v5 │ │ +01b768: 6006 f000 |0012: sget v6, Ldnsfilter/android/DNSProxyActivity;.DO_BACKUP:I // field@00f0 │ │ +01b76c: 1a01 3500 |0014: const-string v1, "#43A047" // string@0035 │ │ +01b770: 3364 1b00 |0016: if-ne v4, v6, 0031 // +001b │ │ +01b774: 6206 ed00 |0018: sget-object v6, Ldnsfilter/android/DNSProxyActivity;.CONFIG:Ldnsfilter/ConfigurationAccess; // field@00ed │ │ +01b778: 6e10 f402 0300 |001a: invoke-virtual {v3}, Ldnsfilter/android/DNSProxyActivity;.getContentResolver:()Landroid/content/ContentResolver; // method@02f4 │ │ +01b77e: 0c02 |001d: move-result-object v2 │ │ +01b780: 6e20 3300 5200 |001e: invoke-virtual {v2, v5}, Landroid/content/ContentResolver;.openOutputStream:(Landroid/net/Uri;)Ljava/io/OutputStream; // method@0033 │ │ +01b786: 0c02 |0021: move-result-object v2 │ │ +01b788: 6e20 4901 2600 |0022: invoke-virtual {v6, v2}, Ldnsfilter/ConfigurationAccess;.doBackup:(Ljava/io/OutputStream;)V // method@0149 │ │ +01b78e: 7110 5c00 0100 |0025: invoke-static {v1}, Landroid/graphics/Color;.parseColor:(Ljava/lang/String;)I // method@005c │ │ +01b794: 0a06 |0028: move-result v6 │ │ +01b796: 6e20 0a01 6000 |0029: invoke-virtual {v0, v6}, Landroid/widget/TextView;.setTextColor:(I)V // method@010a │ │ +01b79c: 1a06 cb00 |002c: const-string v6, "Backup success!" // string@00cb │ │ +01b7a0: 6e20 0901 6000 |002e: invoke-virtual {v0, v6}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@0109 │ │ +01b7a6: 6006 f100 |0031: sget v6, Ldnsfilter/android/DNSProxyActivity;.DO_RESTORE:I // field@00f1 │ │ +01b7aa: 3364 4800 |0033: if-ne v4, v6, 007b // +0048 │ │ +01b7ae: 6204 ed00 |0035: sget-object v4, Ldnsfilter/android/DNSProxyActivity;.CONFIG:Ldnsfilter/ConfigurationAccess; // field@00ed │ │ +01b7b2: 6e10 f402 0300 |0037: invoke-virtual {v3}, Ldnsfilter/android/DNSProxyActivity;.getContentResolver:()Landroid/content/ContentResolver; // method@02f4 │ │ +01b7b8: 0c06 |003a: move-result-object v6 │ │ +01b7ba: 6e20 3200 5600 |003b: invoke-virtual {v6, v5}, Landroid/content/ContentResolver;.openInputStream:(Landroid/net/Uri;)Ljava/io/InputStream; // method@0032 │ │ +01b7c0: 0c05 |003e: move-result-object v5 │ │ +01b7c2: 6e20 4a01 5400 |003f: invoke-virtual {v4, v5}, Ldnsfilter/ConfigurationAccess;.doRestore:(Ljava/io/InputStream;)V // method@014a │ │ +01b7c8: 7110 5c00 0100 |0042: invoke-static {v1}, Landroid/graphics/Color;.parseColor:(Ljava/lang/String;)I // method@005c │ │ +01b7ce: 0a04 |0045: move-result v4 │ │ +01b7d0: 6e20 0a01 4000 |0046: invoke-virtual {v0, v4}, Landroid/widget/TextView;.setTextColor:(I)V // method@010a │ │ +01b7d6: 1204 |0049: const/4 v4, #int 0 // #0 │ │ +01b7d8: 6e20 0403 4300 |004a: invoke-virtual {v3, v4}, Ldnsfilter/android/DNSProxyActivity;.loadAndApplyConfig:(Z)V // method@0304 │ │ +01b7de: 1a04 4404 |004d: const-string v4, "Restore success!" // string@0444 │ │ +01b7e2: 6e20 0901 4000 |004f: invoke-virtual {v0, v4}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@0109 │ │ +01b7e8: 2829 |0052: goto 007b // +0029 │ │ +01b7ea: 0d04 |0053: move-exception v4 │ │ +01b7ec: 2809 |0054: goto 005d // +0009 │ │ +01b7ee: 2204 1b01 |0055: new-instance v4, Ljava/lang/Exception; // type@011b │ │ +01b7f2: 1a05 ff03 |0057: const-string v5, "Operation aborted!" // string@03ff │ │ +01b7f6: 7020 5a05 5400 |0059: invoke-direct {v4, v5}, Ljava/lang/Exception;.:(Ljava/lang/String;)V // method@055a │ │ +01b7fc: 2704 |005c: throw v4 │ │ +01b7fe: 1a05 3700 |005d: const-string v5, "#E53935" // string@0037 │ │ +01b802: 7110 5c00 0500 |005f: invoke-static {v5}, Landroid/graphics/Color;.parseColor:(Ljava/lang/String;)I // method@005c │ │ +01b808: 0a05 |0062: move-result v5 │ │ +01b80a: 6e20 0a01 5000 |0063: invoke-virtual {v0, v5}, Landroid/widget/TextView;.setTextColor:(I)V // method@010a │ │ +01b810: 2205 2d01 |0066: new-instance v5, Ljava/lang/StringBuilder; // type@012d │ │ +01b814: 1a06 0004 |0068: const-string v6, "Operation failed! " // string@0400 │ │ +01b818: 7020 a805 6500 |006a: invoke-direct {v5, v6}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05a8 │ │ +01b81e: 6e10 5b05 0400 |006d: invoke-virtual {v4}, Ljava/lang/Exception;.getMessage:()Ljava/lang/String; // method@055b │ │ +01b824: 0c04 |0070: move-result-object v4 │ │ +01b826: 6e20 ad05 4500 |0071: invoke-virtual {v5, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +01b82c: 6e10 af05 0500 |0074: invoke-virtual {v5}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ +01b832: 0c04 |0077: move-result-object v4 │ │ +01b834: 6e20 0901 4000 |0078: invoke-virtual {v0, v4}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@0109 │ │ +01b83a: 0e00 |007b: return-void │ │ catches : 2 │ │ 0x000e - 0x0014 │ │ Ljava/lang/Exception; -> 0x0053 │ │ 0x0018 - 0x005d │ │ Ljava/lang/Exception; -> 0x0053 │ │ positions : │ │ 0x0003 line=748 │ │ @@ -46441,157 +46441,157 @@ │ │ type : '(Landroid/view/View;)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 5 │ │ ins : 2 │ │ outs : 3 │ │ insns size : 296 16-bit code units │ │ -01b858: |[01b858] dnsfilter.android.DNSProxyActivity.onClick:(Landroid/view/View;)V │ │ -01b868: 6300 3801 |0000: sget-boolean v0, Ldnsfilter/android/DNSProxyActivity;.switchingConfig:Z // field@0138 │ │ -01b86c: 1201 |0002: const/4 v1, #int 0 // #0 │ │ -01b86e: 3800 1100 |0003: if-eqz v0, 0014 // +0011 │ │ -01b872: 6204 0301 |0005: sget-object v4, Ldnsfilter/android/DNSProxyActivity;.advancedConfigCheck:Landroid/widget/CheckBox; // field@0103 │ │ -01b876: 6e20 cd00 1400 |0007: invoke-virtual {v4, v1}, Landroid/widget/CheckBox;.setChecked:(Z)V // method@00cd │ │ -01b87c: 7100 2507 0000 |000a: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0725 │ │ -01b882: 0c04 |000d: move-result-object v4 │ │ -01b884: 1a00 0801 |000e: const-string v0, "Config switch in progress - Wait!" // string@0108 │ │ -01b888: 7220 3107 0400 |0010: invoke-interface {v4, v0}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0731 │ │ -01b88e: 0e00 |0013: return-void │ │ -01b890: 6200 2001 |0014: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.logOutView:Landroid/widget/EditText; // field@0120 │ │ -01b894: 1212 |0016: const/4 v2, #int 1 // #1 │ │ -01b896: 3304 1200 |0017: if-ne v4, v0, 0029 // +0012 │ │ -01b89a: 1404 1900 057f |0019: const v4, #float 1.76788e+38 // #7f050019 │ │ -01b8a0: 6e20 ef02 4300 |001c: invoke-virtual {v3, v4}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02ef │ │ -01b8a6: 0c04 |001f: move-result-object v4 │ │ -01b8a8: 1300 0800 |0020: const/16 v0, #int 8 // #8 │ │ -01b8ac: 6e20 b400 0400 |0022: invoke-virtual {v4, v0}, Landroid/view/View;.setVisibility:(I)V // method@00b4 │ │ -01b8b2: 6e20 3003 2300 |0025: invoke-virtual {v3, v2}, Ldnsfilter/android/DNSProxyActivity;.showFilterRate:(Z)V // method@0330 │ │ -01b8b8: 0e00 |0028: return-void │ │ -01b8ba: 6200 ff00 |0029: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.addFilterBtn:Landroid/widget/TextView; // field@00ff │ │ -01b8be: 3304 0600 |002b: if-ne v4, v0, 0031 // +0006 │ │ -01b8c2: 6e20 0f03 2300 |002d: invoke-virtual {v3, v2}, Ldnsfilter/android/DNSProxyActivity;.onCopyFilterFromLogView:(Z)V // method@030f │ │ -01b8c8: 0e00 |0030: return-void │ │ -01b8ca: 6200 2c01 |0031: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.removeFilterBtn:Landroid/widget/TextView; // field@012c │ │ -01b8ce: 3304 0600 |0033: if-ne v4, v0, 0039 // +0006 │ │ -01b8d2: 6e20 0f03 1300 |0035: invoke-virtual {v3, v1}, Ldnsfilter/android/DNSProxyActivity;.onCopyFilterFromLogView:(Z)V // method@030f │ │ -01b8d8: 0e00 |0038: return-void │ │ -01b8da: 5430 1a01 |0039: iget-object v0, v3, Ldnsfilter/android/DNSProxyActivity;.helpBtn:Landroid/widget/Button; // field@011a │ │ -01b8de: 3304 0800 |003b: if-ne v4, v0, 0043 // +0008 │ │ -01b8e2: 1a04 1b08 |003d: const-string v4, "https://www.zenz-home.com/personaldnsfilter/help/help.php" // string@081b │ │ -01b8e6: 7020 1f03 4300 |003f: invoke-direct {v3, v4}, Ldnsfilter/android/DNSProxyActivity;.openBrowser:(Ljava/lang/String;)V // method@031f │ │ -01b8ec: 0e00 |0042: return-void │ │ -01b8ee: 6200 1001 |0043: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.dnsField:Landroid/widget/TextView; // field@0110 │ │ -01b8f2: 3304 1300 |0045: if-ne v4, v0, 0058 // +0013 │ │ -01b8f6: 2204 1a00 |0047: new-instance v4, Landroid/content/Intent; // type@001a │ │ -01b8fa: 1c00 c500 |0049: const-class v0, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity; // type@00c5 │ │ -01b8fe: 7030 4200 3400 |004b: invoke-direct {v4, v3, v0}, Landroid/content/Intent;.:(Landroid/content/Context;Ljava/lang/Class;)V // method@0042 │ │ -01b904: 6200 5702 |004e: sget-object v0, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.ACTIVITY_RESULT_CODE:Ljava/lang/Integer; // field@0257 │ │ -01b908: 6e10 6405 0000 |0050: invoke-virtual {v0}, Ljava/lang/Integer;.intValue:()I // method@0564 │ │ -01b90e: 0a00 |0053: move-result v0 │ │ -01b910: 6e30 3203 4300 |0054: invoke-virtual {v3, v4, v0}, Ldnsfilter/android/DNSProxyActivity;.startActivityForResult:(Landroid/content/Intent;I)V // method@0332 │ │ -01b916: 0e00 |0057: return-void │ │ -01b918: 6200 3101 |0058: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.scrollLockField:Landroid/widget/TextView; // field@0131 │ │ -01b91c: 3304 0600 |005a: if-ne v4, v0, 0060 // +0006 │ │ -01b920: 7010 0003 0300 |005c: invoke-direct {v3}, Ldnsfilter/android/DNSProxyActivity;.handleScrollLock:()V // method@0300 │ │ -01b926: 0e00 |005f: return-void │ │ -01b928: 6200 0a01 |0060: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.backupBtn:Landroid/widget/Button; // field@010a │ │ -01b92c: 3304 0600 |0062: if-ne v4, v0, 0068 // +0006 │ │ -01b930: 6e10 eb02 0300 |0064: invoke-virtual {v3}, Ldnsfilter/android/DNSProxyActivity;.doBackup:()V // method@02eb │ │ -01b936: 0e00 |0067: return-void │ │ -01b938: 6200 2e01 |0068: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.restoreBtn:Landroid/widget/Button; // field@012e │ │ -01b93c: 3304 0600 |006a: if-ne v4, v0, 0070 // +0006 │ │ -01b940: 6e10 ec02 0300 |006c: invoke-virtual {v3}, Ldnsfilter/android/DNSProxyActivity;.doRestore:()V // method@02ec │ │ -01b946: 0e00 |006f: return-void │ │ -01b948: 6200 2f01 |0070: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.restoreDefaultsBtn:Landroid/widget/Button; // field@012f │ │ -01b94c: 3304 0600 |0072: if-ne v4, v0, 0078 // +0006 │ │ -01b950: 6e10 ed02 0300 |0074: invoke-virtual {v3}, Ldnsfilter/android/DNSProxyActivity;.doRestoreDefaults:()V // method@02ed │ │ -01b956: 0e00 |0077: return-void │ │ -01b958: 6200 1b01 |0078: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.initialInfoPopUpExitBtn:Landroid/widget/Button; // field@011b │ │ -01b95c: 3304 0600 |007a: if-ne v4, v0, 0080 // +0006 │ │ -01b960: 7010 e802 0300 |007c: invoke-direct {v3}, Ldnsfilter/android/DNSProxyActivity;.closeInitialInfoPopUp:()V // method@02e8 │ │ -01b966: 0e00 |007f: return-void │ │ -01b968: 6200 3001 |0080: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.rootModeCheck:Landroid/widget/CheckBox; // field@0130 │ │ -01b96c: 3304 1e00 |0082: if-ne v4, v0, 00a0 // +001e │ │ -01b970: 6e10 cc00 0000 |0084: invoke-virtual {v0}, Landroid/widget/CheckBox;.isChecked:()Z // method@00cc │ │ -01b976: 0a00 |0087: move-result v0 │ │ -01b978: 3800 1800 |0088: if-eqz v0, 00a0 // +0018 │ │ -01b97c: 6200 2901 |008a: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.proxyModeCheck:Landroid/widget/CheckBox; // field@0129 │ │ -01b980: 6e10 cc00 0000 |008c: invoke-virtual {v0}, Landroid/widget/CheckBox;.isChecked:()Z // method@00cc │ │ -01b986: 0a00 |008f: move-result v0 │ │ -01b988: 3900 1000 |0090: if-nez v0, 00a0 // +0010 │ │ -01b98c: 6200 2901 |0092: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.proxyModeCheck:Landroid/widget/CheckBox; // field@0129 │ │ -01b990: 6e20 cd00 2000 |0094: invoke-virtual {v0, v2}, Landroid/widget/CheckBox;.setChecked:(Z)V // method@00cd │ │ -01b996: 7100 2507 0000 |0097: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0725 │ │ -01b99c: 0c00 |009a: move-result-object v0 │ │ -01b99e: 1a02 7501 |009b: const-string v2, "Enabled also DNS proxy mode as required by root mode!" // string@0175 │ │ -01b9a2: 7220 3107 2000 |009d: invoke-interface {v0, v2}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0731 │ │ -01b9a8: 6200 2901 |00a0: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.proxyModeCheck:Landroid/widget/CheckBox; // field@0129 │ │ -01b9ac: 3304 1e00 |00a2: if-ne v4, v0, 00c0 // +001e │ │ -01b9b0: 6e10 cc00 0000 |00a4: invoke-virtual {v0}, Landroid/widget/CheckBox;.isChecked:()Z // method@00cc │ │ -01b9b6: 0a00 |00a7: move-result v0 │ │ -01b9b8: 3900 1800 |00a8: if-nez v0, 00c0 // +0018 │ │ -01b9bc: 6200 3001 |00aa: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.rootModeCheck:Landroid/widget/CheckBox; // field@0130 │ │ -01b9c0: 6e10 cc00 0000 |00ac: invoke-virtual {v0}, Landroid/widget/CheckBox;.isChecked:()Z // method@00cc │ │ -01b9c6: 0a00 |00af: move-result v0 │ │ -01b9c8: 3800 1000 |00b0: if-eqz v0, 00c0 // +0010 │ │ -01b9cc: 6200 3001 |00b2: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.rootModeCheck:Landroid/widget/CheckBox; // field@0130 │ │ -01b9d0: 6e20 cd00 1000 |00b4: invoke-virtual {v0, v1}, Landroid/widget/CheckBox;.setChecked:(Z)V // method@00cd │ │ -01b9d6: 7100 2507 0000 |00b7: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0725 │ │ -01b9dc: 0c00 |00ba: move-result-object v0 │ │ -01b9de: 1a02 6901 |00bb: const-string v2, "Disabled also root mode as it requires DNS proxy mode!" // string@0169 │ │ -01b9e2: 7220 3107 2000 |00bd: invoke-interface {v0, v2}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0731 │ │ -01b9e8: 7010 2203 0300 |00c0: invoke-direct {v3}, Ldnsfilter/android/DNSProxyActivity;.persistConfig:()V // method@0322 │ │ -01b9ee: 5430 2b01 |00c3: iget-object v0, v3, Ldnsfilter/android/DNSProxyActivity;.remoteCtrlBtn:Landroid/widget/Button; // field@012b │ │ -01b9f2: 3304 1a00 |00c5: if-ne v4, v0, 00df // +001a │ │ -01b9f6: 6300 3801 |00c7: sget-boolean v0, Ldnsfilter/android/DNSProxyActivity;.switchingConfig:Z // field@0138 │ │ -01b9fa: 3900 1600 |00c9: if-nez v0, 00df // +0016 │ │ -01b9fe: 6200 0301 |00cb: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.advancedConfigCheck:Landroid/widget/CheckBox; // field@0103 │ │ -01ba02: 6e20 cd00 1000 |00cd: invoke-virtual {v0, v1}, Landroid/widget/CheckBox;.setChecked:(Z)V // method@00cd │ │ -01ba08: 6200 ed00 |00d0: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.CONFIG:Ldnsfilter/ConfigurationAccess; // field@00ed │ │ -01ba0c: 6e10 5701 0000 |00d2: invoke-virtual {v0}, Ldnsfilter/ConfigurationAccess;.isLocal:()Z // method@0157 │ │ -01ba12: 0a00 |00d5: move-result v0 │ │ -01ba14: 3800 0600 |00d6: if-eqz v0, 00dc // +0006 │ │ -01ba18: 7010 2003 0300 |00d8: invoke-direct {v3}, Ldnsfilter/android/DNSProxyActivity;.pepareRemoteControl:()V // method@0320 │ │ -01ba1e: 2804 |00db: goto 00df // +0004 │ │ -01ba20: 7010 fe02 0300 |00dc: invoke-direct {v3}, Ldnsfilter/android/DNSProxyActivity;.handleRemoteControl:()V // method@02fe │ │ -01ba26: 5430 3601 |00df: iget-object v0, v3, Ldnsfilter/android/DNSProxyActivity;.startBtn:Landroid/widget/Button; // field@0136 │ │ -01ba2a: 3204 0600 |00e1: if-eq v4, v0, 00e7 // +0006 │ │ -01ba2e: 6200 1301 |00e3: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.enableAdFilterCheck:Landroid/widget/CheckBox; // field@0113 │ │ -01ba32: 3304 0500 |00e5: if-ne v4, v0, 00ea // +0005 │ │ -01ba36: 7010 ff02 0300 |00e7: invoke-direct {v3}, Ldnsfilter/android/DNSProxyActivity;.handleRestart:()V // method@02ff │ │ -01ba3c: 5430 3701 |00ea: iget-object v0, v3, Ldnsfilter/android/DNSProxyActivity;.stopBtn:Landroid/widget/Button; // field@0137 │ │ -01ba40: 3304 0500 |00ec: if-ne v4, v0, 00f1 // +0005 │ │ -01ba44: 6e10 fc02 0300 |00ee: invoke-virtual {v3}, Ldnsfilter/android/DNSProxyActivity;.handleExitApp:()V // method@02fc │ │ -01ba4a: 5430 2a01 |00f1: iget-object v0, v3, Ldnsfilter/android/DNSProxyActivity;.reloadFilterBtn:Landroid/widget/Button; // field@012a │ │ -01ba4e: 3304 0500 |00f3: if-ne v4, v0, 00f8 // +0005 │ │ -01ba52: 6e10 0103 0300 |00f5: invoke-virtual {v3}, Ldnsfilter/android/DNSProxyActivity;.handlefilterReload:()V // method@0301 │ │ -01ba58: 6200 0301 |00f8: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.advancedConfigCheck:Landroid/widget/CheckBox; // field@0103 │ │ -01ba5c: 3204 1600 |00fa: if-eq v4, v0, 0110 // +0016 │ │ -01ba60: 6200 1101 |00fc: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.editAdditionalHostsCheck:Landroid/widget/CheckBox; // field@0111 │ │ -01ba64: 3204 1200 |00fe: if-eq v4, v0, 0110 // +0012 │ │ -01ba68: 6200 2201 |0100: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.manuallyEditConfChk:Landroid/widget/CheckBox; // field@0122 │ │ -01ba6c: 3204 0e00 |0102: if-eq v4, v0, 0110 // +000e │ │ -01ba70: 6200 1201 |0104: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.editFilterLoadCheck:Landroid/widget/CheckBox; // field@0112 │ │ -01ba74: 3204 0a00 |0106: if-eq v4, v0, 0110 // +000a │ │ -01ba78: 6200 0601 |0108: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.appWhiteListCheck:Landroid/widget/CheckBox; // field@0106 │ │ -01ba7c: 3204 0600 |010a: if-eq v4, v0, 0110 // +0006 │ │ -01ba80: 6200 0c01 |010c: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.backupRestoreCheck:Landroid/widget/CheckBox; // field@010c │ │ -01ba84: 3304 0800 |010e: if-ne v4, v0, 0116 // +0008 │ │ -01ba88: 0740 |0110: move-object v0, v4 │ │ -01ba8a: 1f00 6400 |0111: check-cast v0, Landroid/widget/CheckBox; // type@0064 │ │ -01ba8e: 7020 fb02 0300 |0113: invoke-direct {v3, v0}, Ldnsfilter/android/DNSProxyActivity;.handleAdvancedConfig:(Landroid/widget/CheckBox;)V // method@02fb │ │ -01ba94: 6200 1c01 |0116: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.keepAwakeCheck:Landroid/widget/CheckBox; // field@011c │ │ -01ba98: 3304 0f00 |0118: if-ne v4, v0, 0127 // +000f │ │ -01ba9c: 6e10 cc00 0000 |011a: invoke-virtual {v0}, Landroid/widget/CheckBox;.isChecked:()Z // method@00cc │ │ -01baa2: 0a04 |011d: move-result v4 │ │ -01baa4: 3804 0600 |011e: if-eqz v4, 0124 // +0006 │ │ -01baa8: 6e10 2803 0300 |0120: invoke-virtual {v3}, Ldnsfilter/android/DNSProxyActivity;.remoteWakeLock:()V // method@0328 │ │ -01baae: 2804 |0123: goto 0127 // +0004 │ │ -01bab0: 6e10 2703 0300 |0124: invoke-virtual {v3}, Ldnsfilter/android/DNSProxyActivity;.remoteReleaseWakeLock:()V // method@0327 │ │ -01bab6: 0e00 |0127: return-void │ │ +01b854: |[01b854] dnsfilter.android.DNSProxyActivity.onClick:(Landroid/view/View;)V │ │ +01b864: 6300 3801 |0000: sget-boolean v0, Ldnsfilter/android/DNSProxyActivity;.switchingConfig:Z // field@0138 │ │ +01b868: 1201 |0002: const/4 v1, #int 0 // #0 │ │ +01b86a: 3800 1100 |0003: if-eqz v0, 0014 // +0011 │ │ +01b86e: 6204 0301 |0005: sget-object v4, Ldnsfilter/android/DNSProxyActivity;.advancedConfigCheck:Landroid/widget/CheckBox; // field@0103 │ │ +01b872: 6e20 cd00 1400 |0007: invoke-virtual {v4, v1}, Landroid/widget/CheckBox;.setChecked:(Z)V // method@00cd │ │ +01b878: 7100 2507 0000 |000a: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0725 │ │ +01b87e: 0c04 |000d: move-result-object v4 │ │ +01b880: 1a00 0801 |000e: const-string v0, "Config switch in progress - Wait!" // string@0108 │ │ +01b884: 7220 3107 0400 |0010: invoke-interface {v4, v0}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0731 │ │ +01b88a: 0e00 |0013: return-void │ │ +01b88c: 6200 2001 |0014: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.logOutView:Landroid/widget/EditText; // field@0120 │ │ +01b890: 1212 |0016: const/4 v2, #int 1 // #1 │ │ +01b892: 3304 1200 |0017: if-ne v4, v0, 0029 // +0012 │ │ +01b896: 1404 1900 057f |0019: const v4, #float 1.76788e+38 // #7f050019 │ │ +01b89c: 6e20 ef02 4300 |001c: invoke-virtual {v3, v4}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02ef │ │ +01b8a2: 0c04 |001f: move-result-object v4 │ │ +01b8a4: 1300 0800 |0020: const/16 v0, #int 8 // #8 │ │ +01b8a8: 6e20 b400 0400 |0022: invoke-virtual {v4, v0}, Landroid/view/View;.setVisibility:(I)V // method@00b4 │ │ +01b8ae: 6e20 3003 2300 |0025: invoke-virtual {v3, v2}, Ldnsfilter/android/DNSProxyActivity;.showFilterRate:(Z)V // method@0330 │ │ +01b8b4: 0e00 |0028: return-void │ │ +01b8b6: 6200 ff00 |0029: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.addFilterBtn:Landroid/widget/TextView; // field@00ff │ │ +01b8ba: 3304 0600 |002b: if-ne v4, v0, 0031 // +0006 │ │ +01b8be: 6e20 0f03 2300 |002d: invoke-virtual {v3, v2}, Ldnsfilter/android/DNSProxyActivity;.onCopyFilterFromLogView:(Z)V // method@030f │ │ +01b8c4: 0e00 |0030: return-void │ │ +01b8c6: 6200 2c01 |0031: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.removeFilterBtn:Landroid/widget/TextView; // field@012c │ │ +01b8ca: 3304 0600 |0033: if-ne v4, v0, 0039 // +0006 │ │ +01b8ce: 6e20 0f03 1300 |0035: invoke-virtual {v3, v1}, Ldnsfilter/android/DNSProxyActivity;.onCopyFilterFromLogView:(Z)V // method@030f │ │ +01b8d4: 0e00 |0038: return-void │ │ +01b8d6: 5430 1a01 |0039: iget-object v0, v3, Ldnsfilter/android/DNSProxyActivity;.helpBtn:Landroid/widget/Button; // field@011a │ │ +01b8da: 3304 0800 |003b: if-ne v4, v0, 0043 // +0008 │ │ +01b8de: 1a04 1b08 |003d: const-string v4, "https://www.zenz-home.com/personaldnsfilter/help/help.php" // string@081b │ │ +01b8e2: 7020 1f03 4300 |003f: invoke-direct {v3, v4}, Ldnsfilter/android/DNSProxyActivity;.openBrowser:(Ljava/lang/String;)V // method@031f │ │ +01b8e8: 0e00 |0042: return-void │ │ +01b8ea: 6200 1001 |0043: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.dnsField:Landroid/widget/TextView; // field@0110 │ │ +01b8ee: 3304 1300 |0045: if-ne v4, v0, 0058 // +0013 │ │ +01b8f2: 2204 1a00 |0047: new-instance v4, Landroid/content/Intent; // type@001a │ │ +01b8f6: 1c00 c500 |0049: const-class v0, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity; // type@00c5 │ │ +01b8fa: 7030 4200 3400 |004b: invoke-direct {v4, v3, v0}, Landroid/content/Intent;.:(Landroid/content/Context;Ljava/lang/Class;)V // method@0042 │ │ +01b900: 6200 5702 |004e: sget-object v0, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.ACTIVITY_RESULT_CODE:Ljava/lang/Integer; // field@0257 │ │ +01b904: 6e10 6405 0000 |0050: invoke-virtual {v0}, Ljava/lang/Integer;.intValue:()I // method@0564 │ │ +01b90a: 0a00 |0053: move-result v0 │ │ +01b90c: 6e30 3203 4300 |0054: invoke-virtual {v3, v4, v0}, Ldnsfilter/android/DNSProxyActivity;.startActivityForResult:(Landroid/content/Intent;I)V // method@0332 │ │ +01b912: 0e00 |0057: return-void │ │ +01b914: 6200 3101 |0058: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.scrollLockField:Landroid/widget/TextView; // field@0131 │ │ +01b918: 3304 0600 |005a: if-ne v4, v0, 0060 // +0006 │ │ +01b91c: 7010 0003 0300 |005c: invoke-direct {v3}, Ldnsfilter/android/DNSProxyActivity;.handleScrollLock:()V // method@0300 │ │ +01b922: 0e00 |005f: return-void │ │ +01b924: 6200 0a01 |0060: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.backupBtn:Landroid/widget/Button; // field@010a │ │ +01b928: 3304 0600 |0062: if-ne v4, v0, 0068 // +0006 │ │ +01b92c: 6e10 eb02 0300 |0064: invoke-virtual {v3}, Ldnsfilter/android/DNSProxyActivity;.doBackup:()V // method@02eb │ │ +01b932: 0e00 |0067: return-void │ │ +01b934: 6200 2e01 |0068: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.restoreBtn:Landroid/widget/Button; // field@012e │ │ +01b938: 3304 0600 |006a: if-ne v4, v0, 0070 // +0006 │ │ +01b93c: 6e10 ec02 0300 |006c: invoke-virtual {v3}, Ldnsfilter/android/DNSProxyActivity;.doRestore:()V // method@02ec │ │ +01b942: 0e00 |006f: return-void │ │ +01b944: 6200 2f01 |0070: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.restoreDefaultsBtn:Landroid/widget/Button; // field@012f │ │ +01b948: 3304 0600 |0072: if-ne v4, v0, 0078 // +0006 │ │ +01b94c: 6e10 ed02 0300 |0074: invoke-virtual {v3}, Ldnsfilter/android/DNSProxyActivity;.doRestoreDefaults:()V // method@02ed │ │ +01b952: 0e00 |0077: return-void │ │ +01b954: 6200 1b01 |0078: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.initialInfoPopUpExitBtn:Landroid/widget/Button; // field@011b │ │ +01b958: 3304 0600 |007a: if-ne v4, v0, 0080 // +0006 │ │ +01b95c: 7010 e802 0300 |007c: invoke-direct {v3}, Ldnsfilter/android/DNSProxyActivity;.closeInitialInfoPopUp:()V // method@02e8 │ │ +01b962: 0e00 |007f: return-void │ │ +01b964: 6200 3001 |0080: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.rootModeCheck:Landroid/widget/CheckBox; // field@0130 │ │ +01b968: 3304 1e00 |0082: if-ne v4, v0, 00a0 // +001e │ │ +01b96c: 6e10 cc00 0000 |0084: invoke-virtual {v0}, Landroid/widget/CheckBox;.isChecked:()Z // method@00cc │ │ +01b972: 0a00 |0087: move-result v0 │ │ +01b974: 3800 1800 |0088: if-eqz v0, 00a0 // +0018 │ │ +01b978: 6200 2901 |008a: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.proxyModeCheck:Landroid/widget/CheckBox; // field@0129 │ │ +01b97c: 6e10 cc00 0000 |008c: invoke-virtual {v0}, Landroid/widget/CheckBox;.isChecked:()Z // method@00cc │ │ +01b982: 0a00 |008f: move-result v0 │ │ +01b984: 3900 1000 |0090: if-nez v0, 00a0 // +0010 │ │ +01b988: 6200 2901 |0092: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.proxyModeCheck:Landroid/widget/CheckBox; // field@0129 │ │ +01b98c: 6e20 cd00 2000 |0094: invoke-virtual {v0, v2}, Landroid/widget/CheckBox;.setChecked:(Z)V // method@00cd │ │ +01b992: 7100 2507 0000 |0097: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0725 │ │ +01b998: 0c00 |009a: move-result-object v0 │ │ +01b99a: 1a02 7501 |009b: const-string v2, "Enabled also DNS proxy mode as required by root mode!" // string@0175 │ │ +01b99e: 7220 3107 2000 |009d: invoke-interface {v0, v2}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0731 │ │ +01b9a4: 6200 2901 |00a0: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.proxyModeCheck:Landroid/widget/CheckBox; // field@0129 │ │ +01b9a8: 3304 1e00 |00a2: if-ne v4, v0, 00c0 // +001e │ │ +01b9ac: 6e10 cc00 0000 |00a4: invoke-virtual {v0}, Landroid/widget/CheckBox;.isChecked:()Z // method@00cc │ │ +01b9b2: 0a00 |00a7: move-result v0 │ │ +01b9b4: 3900 1800 |00a8: if-nez v0, 00c0 // +0018 │ │ +01b9b8: 6200 3001 |00aa: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.rootModeCheck:Landroid/widget/CheckBox; // field@0130 │ │ +01b9bc: 6e10 cc00 0000 |00ac: invoke-virtual {v0}, Landroid/widget/CheckBox;.isChecked:()Z // method@00cc │ │ +01b9c2: 0a00 |00af: move-result v0 │ │ +01b9c4: 3800 1000 |00b0: if-eqz v0, 00c0 // +0010 │ │ +01b9c8: 6200 3001 |00b2: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.rootModeCheck:Landroid/widget/CheckBox; // field@0130 │ │ +01b9cc: 6e20 cd00 1000 |00b4: invoke-virtual {v0, v1}, Landroid/widget/CheckBox;.setChecked:(Z)V // method@00cd │ │ +01b9d2: 7100 2507 0000 |00b7: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0725 │ │ +01b9d8: 0c00 |00ba: move-result-object v0 │ │ +01b9da: 1a02 6901 |00bb: const-string v2, "Disabled also root mode as it requires DNS proxy mode!" // string@0169 │ │ +01b9de: 7220 3107 2000 |00bd: invoke-interface {v0, v2}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0731 │ │ +01b9e4: 7010 2203 0300 |00c0: invoke-direct {v3}, Ldnsfilter/android/DNSProxyActivity;.persistConfig:()V // method@0322 │ │ +01b9ea: 5430 2b01 |00c3: iget-object v0, v3, Ldnsfilter/android/DNSProxyActivity;.remoteCtrlBtn:Landroid/widget/Button; // field@012b │ │ +01b9ee: 3304 1a00 |00c5: if-ne v4, v0, 00df // +001a │ │ +01b9f2: 6300 3801 |00c7: sget-boolean v0, Ldnsfilter/android/DNSProxyActivity;.switchingConfig:Z // field@0138 │ │ +01b9f6: 3900 1600 |00c9: if-nez v0, 00df // +0016 │ │ +01b9fa: 6200 0301 |00cb: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.advancedConfigCheck:Landroid/widget/CheckBox; // field@0103 │ │ +01b9fe: 6e20 cd00 1000 |00cd: invoke-virtual {v0, v1}, Landroid/widget/CheckBox;.setChecked:(Z)V // method@00cd │ │ +01ba04: 6200 ed00 |00d0: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.CONFIG:Ldnsfilter/ConfigurationAccess; // field@00ed │ │ +01ba08: 6e10 5701 0000 |00d2: invoke-virtual {v0}, Ldnsfilter/ConfigurationAccess;.isLocal:()Z // method@0157 │ │ +01ba0e: 0a00 |00d5: move-result v0 │ │ +01ba10: 3800 0600 |00d6: if-eqz v0, 00dc // +0006 │ │ +01ba14: 7010 2003 0300 |00d8: invoke-direct {v3}, Ldnsfilter/android/DNSProxyActivity;.pepareRemoteControl:()V // method@0320 │ │ +01ba1a: 2804 |00db: goto 00df // +0004 │ │ +01ba1c: 7010 fe02 0300 |00dc: invoke-direct {v3}, Ldnsfilter/android/DNSProxyActivity;.handleRemoteControl:()V // method@02fe │ │ +01ba22: 5430 3601 |00df: iget-object v0, v3, Ldnsfilter/android/DNSProxyActivity;.startBtn:Landroid/widget/Button; // field@0136 │ │ +01ba26: 3204 0600 |00e1: if-eq v4, v0, 00e7 // +0006 │ │ +01ba2a: 6200 1301 |00e3: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.enableAdFilterCheck:Landroid/widget/CheckBox; // field@0113 │ │ +01ba2e: 3304 0500 |00e5: if-ne v4, v0, 00ea // +0005 │ │ +01ba32: 7010 ff02 0300 |00e7: invoke-direct {v3}, Ldnsfilter/android/DNSProxyActivity;.handleRestart:()V // method@02ff │ │ +01ba38: 5430 3701 |00ea: iget-object v0, v3, Ldnsfilter/android/DNSProxyActivity;.stopBtn:Landroid/widget/Button; // field@0137 │ │ +01ba3c: 3304 0500 |00ec: if-ne v4, v0, 00f1 // +0005 │ │ +01ba40: 6e10 fc02 0300 |00ee: invoke-virtual {v3}, Ldnsfilter/android/DNSProxyActivity;.handleExitApp:()V // method@02fc │ │ +01ba46: 5430 2a01 |00f1: iget-object v0, v3, Ldnsfilter/android/DNSProxyActivity;.reloadFilterBtn:Landroid/widget/Button; // field@012a │ │ +01ba4a: 3304 0500 |00f3: if-ne v4, v0, 00f8 // +0005 │ │ +01ba4e: 6e10 0103 0300 |00f5: invoke-virtual {v3}, Ldnsfilter/android/DNSProxyActivity;.handlefilterReload:()V // method@0301 │ │ +01ba54: 6200 0301 |00f8: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.advancedConfigCheck:Landroid/widget/CheckBox; // field@0103 │ │ +01ba58: 3204 1600 |00fa: if-eq v4, v0, 0110 // +0016 │ │ +01ba5c: 6200 1101 |00fc: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.editAdditionalHostsCheck:Landroid/widget/CheckBox; // field@0111 │ │ +01ba60: 3204 1200 |00fe: if-eq v4, v0, 0110 // +0012 │ │ +01ba64: 6200 2201 |0100: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.manuallyEditConfChk:Landroid/widget/CheckBox; // field@0122 │ │ +01ba68: 3204 0e00 |0102: if-eq v4, v0, 0110 // +000e │ │ +01ba6c: 6200 1201 |0104: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.editFilterLoadCheck:Landroid/widget/CheckBox; // field@0112 │ │ +01ba70: 3204 0a00 |0106: if-eq v4, v0, 0110 // +000a │ │ +01ba74: 6200 0601 |0108: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.appWhiteListCheck:Landroid/widget/CheckBox; // field@0106 │ │ +01ba78: 3204 0600 |010a: if-eq v4, v0, 0110 // +0006 │ │ +01ba7c: 6200 0c01 |010c: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.backupRestoreCheck:Landroid/widget/CheckBox; // field@010c │ │ +01ba80: 3304 0800 |010e: if-ne v4, v0, 0116 // +0008 │ │ +01ba84: 0740 |0110: move-object v0, v4 │ │ +01ba86: 1f00 6400 |0111: check-cast v0, Landroid/widget/CheckBox; // type@0064 │ │ +01ba8a: 7020 fb02 0300 |0113: invoke-direct {v3, v0}, Ldnsfilter/android/DNSProxyActivity;.handleAdvancedConfig:(Landroid/widget/CheckBox;)V // method@02fb │ │ +01ba90: 6200 1c01 |0116: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.keepAwakeCheck:Landroid/widget/CheckBox; // field@011c │ │ +01ba94: 3304 0f00 |0118: if-ne v4, v0, 0127 // +000f │ │ +01ba98: 6e10 cc00 0000 |011a: invoke-virtual {v0}, Landroid/widget/CheckBox;.isChecked:()Z // method@00cc │ │ +01ba9e: 0a04 |011d: move-result v4 │ │ +01baa0: 3804 0600 |011e: if-eqz v4, 0124 // +0006 │ │ +01baa4: 6e10 2803 0300 |0120: invoke-virtual {v3}, Ldnsfilter/android/DNSProxyActivity;.remoteWakeLock:()V // method@0328 │ │ +01baaa: 2804 |0123: goto 0127 // +0004 │ │ +01baac: 6e10 2703 0300 |0124: invoke-virtual {v3}, Ldnsfilter/android/DNSProxyActivity;.remoteReleaseWakeLock:()V // method@0327 │ │ +01bab2: 0e00 |0127: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=1114 │ │ 0x0005 line=1115 │ │ 0x000a line=1116 │ │ 0x0014 line=1120 │ │ 0x001c line=1121 │ │ @@ -46648,24 +46648,24 @@ │ │ type : '(Z)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 4 │ │ ins : 2 │ │ outs : 3 │ │ insns size : 18 16-bit code units │ │ -01bab8: |[01bab8] dnsfilter.android.DNSProxyActivity.onCopyFilterFromLogView:(Z)V │ │ -01bac8: 1200 |0000: const/4 v0, #int 0 // #0 │ │ -01baca: 7020 f702 0200 |0001: invoke-direct {v2, v0}, Ldnsfilter/android/DNSProxyActivity;.getSelectedText:(Z)Ljava/lang/String; // method@02f7 │ │ -01bad0: 0c00 |0004: move-result-object v0 │ │ -01bad2: 6201 2001 |0005: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.logOutView:Landroid/widget/EditText; // field@0120 │ │ -01bad6: 6e10 d600 0100 |0007: invoke-virtual {v1}, Landroid/widget/EditText;.clearFocus:()V // method@00d6 │ │ -01badc: 6e10 a005 0000 |000a: invoke-virtual {v0}, Ljava/lang/String;.trim:()Ljava/lang/String; // method@05a0 │ │ -01bae2: 0c00 |000d: move-result-object v0 │ │ -01bae4: 6e30 e302 0203 |000e: invoke-virtual {v2, v0, v3}, Ldnsfilter/android/DNSProxyActivity;.applyCopiedHosts:(Ljava/lang/String;Z)V // method@02e3 │ │ -01baea: 0e00 |0011: return-void │ │ +01bab4: |[01bab4] dnsfilter.android.DNSProxyActivity.onCopyFilterFromLogView:(Z)V │ │ +01bac4: 1200 |0000: const/4 v0, #int 0 // #0 │ │ +01bac6: 7020 f702 0200 |0001: invoke-direct {v2, v0}, Ldnsfilter/android/DNSProxyActivity;.getSelectedText:(Z)Ljava/lang/String; // method@02f7 │ │ +01bacc: 0c00 |0004: move-result-object v0 │ │ +01bace: 6201 2001 |0005: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.logOutView:Landroid/widget/EditText; // field@0120 │ │ +01bad2: 6e10 d600 0100 |0007: invoke-virtual {v1}, Landroid/widget/EditText;.clearFocus:()V // method@00d6 │ │ +01bad8: 6e10 a005 0000 |000a: invoke-virtual {v0}, Ljava/lang/String;.trim:()Ljava/lang/String; // method@05a0 │ │ +01bade: 0c00 |000d: move-result-object v0 │ │ +01bae0: 6e30 e302 0203 |000e: invoke-virtual {v2, v0, v3}, Ldnsfilter/android/DNSProxyActivity;.applyCopiedHosts:(Ljava/lang/String;Z)V // method@02e3 │ │ +01bae6: 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; │ │ @@ -46676,706 +46676,706 @@ │ │ type : '(Landroid/os/Bundle;)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 15 │ │ ins : 2 │ │ outs : 6 │ │ insns size : 1461 16-bit code units │ │ -01baec: |[01baec] dnsfilter.android.DNSProxyActivity.onCreate:(Landroid/os/Bundle;)V │ │ -01bafc: 1a00 6505 |0000: const-string v0, "android.permission.POST_NOTIFICATIONS" // string@0565 │ │ -01bb00: 1a01 9c0b |0002: const-string v1, "window" // string@0b9c │ │ -01bb04: 1a02 0000 |0004: const-string v2, "" // string@0000 │ │ -01bb08: 1a03 c308 |0006: const-string v3, "logcat -d -f" // string@08c3 │ │ -01bb0c: 1a04 6b09 |0008: const-string v4, "personalDNSfilter V" // string@096b │ │ -01bb10: 2205 3b00 |000a: new-instance v5, Landroid/os/StrictMode$ThreadPolicy$Builder; // type@003b │ │ -01bb14: 7010 8c00 0500 |000c: invoke-direct {v5}, Landroid/os/StrictMode$ThreadPolicy$Builder;.:()V // method@008c │ │ -01bb1a: 6e10 8d00 0500 |000f: invoke-virtual {v5}, Landroid/os/StrictMode$ThreadPolicy$Builder;.build:()Landroid/os/StrictMode$ThreadPolicy; // method@008d │ │ -01bb20: 0c05 |0012: move-result-object v5 │ │ -01bb22: 7110 8e00 0500 |0013: invoke-static {v5}, Landroid/os/StrictMode;.setThreadPolicy:(Landroid/os/StrictMode$ThreadPolicy;)V // method@008e │ │ -01bb28: 6f20 0400 ed00 |0016: invoke-super {v13, v14}, Landroid/app/Activity;.onCreate:(Landroid/os/Bundle;)V // method@0004 │ │ -01bb2e: 6e10 f502 0d00 |0019: invoke-virtual {v13}, Ldnsfilter/android/DNSProxyActivity;.getIntent:()Landroid/content/Intent; // method@02f5 │ │ -01bb34: 0c0e |001c: move-result-object v14 │ │ -01bb36: 1a05 5404 |001d: const-string v5, "SHOULD_FINISH" // string@0454 │ │ -01bb3a: 1206 |001f: const/4 v6, #int 0 // #0 │ │ -01bb3c: 6e30 4800 5e06 |0020: invoke-virtual {v14, v5, v6}, Landroid/content/Intent;.getBooleanExtra:(Ljava/lang/String;Z)Z // method@0048 │ │ -01bb42: 0a0e |0023: move-result v14 │ │ -01bb44: 380e 0800 |0024: if-eqz v14, 002c // +0008 │ │ -01bb48: 6e10 f002 0d00 |0026: invoke-virtual {v13}, Ldnsfilter/android/DNSProxyActivity;.finish:()V // method@02f0 │ │ -01bb4e: 7110 b205 0600 |0029: invoke-static {v6}, Ljava/lang/System;.exit:(I)V // method@05b2 │ │ -01bb54: 7110 2202 0d00 |002c: invoke-static {v13}, Ldnsfilter/android/AndroidEnvironment;.initEnvironment:(Landroid/content/Context;)V // method@0222 │ │ -01bb5a: 6e20 f902 1d00 |002f: invoke-virtual {v13, v1}, Ldnsfilter/android/DNSProxyActivity;.getSystemService:(Ljava/lang/String;)Ljava/lang/Object; // method@02f9 │ │ -01bb60: 0c0e |0032: move-result-object v14 │ │ -01bb62: 1f0e 5c00 |0033: check-cast v14, Landroid/view/WindowManager; // type@005c │ │ -01bb66: 7210 bd00 0e00 |0035: invoke-interface {v14}, Landroid/view/WindowManager;.getDefaultDisplay:()Landroid/view/Display; // method@00bd │ │ -01bb6c: 0c0e |0038: move-result-object v14 │ │ -01bb6e: 6e10 a400 0e00 |0039: invoke-virtual {v14}, Landroid/view/Display;.getWidth:()I // method@00a4 │ │ -01bb74: 0a0e |003c: move-result v14 │ │ -01bb76: 670e ef00 |003d: sput v14, Ldnsfilter/android/DNSProxyActivity;.DISPLAY_WIDTH:I // field@00ef │ │ -01bb7a: 6e20 f902 1d00 |003f: invoke-virtual {v13, v1}, Ldnsfilter/android/DNSProxyActivity;.getSystemService:(Ljava/lang/String;)Ljava/lang/Object; // method@02f9 │ │ -01bb80: 0c0e |0042: move-result-object v14 │ │ -01bb82: 1f0e 5c00 |0043: check-cast v14, Landroid/view/WindowManager; // type@005c │ │ -01bb86: 7210 bd00 0e00 |0045: invoke-interface {v14}, Landroid/view/WindowManager;.getDefaultDisplay:()Landroid/view/Display; // method@00bd │ │ -01bb8c: 0c0e |0048: move-result-object v14 │ │ -01bb8e: 6e10 a300 0e00 |0049: invoke-virtual {v14}, Landroid/view/Display;.getHeight:()I // method@00a3 │ │ -01bb94: 0a0e |004c: move-result v14 │ │ -01bb96: 670e ee00 |004d: sput v14, Ldnsfilter/android/DNSProxyActivity;.DISPLAY_HEIGTH:I // field@00ee │ │ -01bb9a: 620e f600 |004f: sget-object v14, Ldnsfilter/android/DNSProxyActivity;.MsgTO:Ldnsfilter/android/DNSProxyActivity$MsgTimeoutListener; // field@00f6 │ │ -01bb9e: 6e20 d102 de00 |0051: invoke-virtual {v14, v13}, Ldnsfilter/android/DNSProxyActivity$MsgTimeoutListener;.setActivity:(Ldnsfilter/android/DNSProxyActivity;)V // method@02d1 │ │ -01bba4: 690d f200 |0054: sput-object v13, Ldnsfilter/android/DNSProxyActivity;.INSTANCE:Ldnsfilter/android/DNSProxyActivity; // field@00f2 │ │ -01bba8: 600e 0200 |0056: sget v14, Landroid/os/Build$VERSION;.SDK_INT:I // field@0002 │ │ -01bbac: 1301 1500 |0058: const/16 v1, #int 21 // #15 │ │ -01bbb0: 341e 2d00 |005a: if-lt v14, v1, 0087 // +002d │ │ -01bbb4: 6e10 fa02 0d00 |005c: invoke-virtual {v13}, Ldnsfilter/android/DNSProxyActivity;.getWindow:()Landroid/view/Window; // method@02fa │ │ -01bbba: 0c0e |005f: move-result-object v14 │ │ -01bbbc: 1501 0080 |0060: const/high16 v1, #int -2147483648 // #8000 │ │ -01bbc0: 6e20 b700 1e00 |0062: invoke-virtual {v14, v1}, Landroid/view/Window;.addFlags:(I)V // method@00b7 │ │ -01bbc6: 1501 0004 |0065: const/high16 v1, #int 67108864 // #400 │ │ -01bbca: 6e20 b800 1e00 |0067: invoke-virtual {v14, v1}, Landroid/view/Window;.clearFlags:(I)V // method@00b8 │ │ -01bbd0: 6e10 f602 0d00 |006a: invoke-virtual {v13}, Ldnsfilter/android/DNSProxyActivity;.getResources:()Landroid/content/res/Resources; // method@02f6 │ │ -01bbd6: 0c01 |006d: move-result-object v1 │ │ -01bbd8: 1405 0600 037f |006e: const v5, #float 1.74129e+38 // #7f030006 │ │ -01bbde: 6e20 5600 5100 |0071: invoke-virtual {v1, v5}, Landroid/content/res/Resources;.getColor:(I)I // method@0056 │ │ -01bbe4: 0a01 |0074: move-result v1 │ │ -01bbe6: 7120 6c02 1e00 |0075: invoke-static {v14, v1}, Ldnsfilter/android/BootUpReceiver$$ExternalSyntheticApiModelOutline0;.m:(Landroid/view/Window;I)V // method@026c │ │ -01bbec: 6e10 fa02 0d00 |0078: invoke-virtual {v13}, Ldnsfilter/android/DNSProxyActivity;.getWindow:()Landroid/view/Window; // method@02fa │ │ -01bbf2: 0c0e |007b: move-result-object v14 │ │ -01bbf4: 6e10 f602 0d00 |007c: invoke-virtual {v13}, Ldnsfilter/android/DNSProxyActivity;.getResources:()Landroid/content/res/Resources; // method@02f6 │ │ -01bbfa: 0c01 |007f: move-result-object v1 │ │ -01bbfc: 6e20 5600 5100 |0080: invoke-virtual {v1, v5}, Landroid/content/res/Resources;.getColor:(I)I // method@0056 │ │ -01bc02: 0a01 |0083: move-result v1 │ │ -01bc04: 7120 7202 1e00 |0084: invoke-static {v14, v1}, Ldnsfilter/android/BootUpReceiver$$ExternalSyntheticApiModelOutline0;.m$1:(Landroid/view/Window;I)V // method@0272 │ │ -01bc0a: 140e 0b00 067f |0087: const v14, #float 1.78117e+38 // #7f06000b │ │ -01bc10: 6e20 2b03 ed00 |008a: invoke-virtual {v13, v14}, Ldnsfilter/android/DNSProxyActivity;.setContentView:(I)V // method@032b │ │ -01bc16: 620e 2001 |008d: sget-object v14, Ldnsfilter/android/DNSProxyActivity;.logOutView:Landroid/widget/EditText; // field@0120 │ │ -01bc1a: 1501 80bf |008f: const/high16 v1, #int -1082130432 // #bf80 │ │ -01bc1e: 1205 |0091: const/4 v5, #int 0 // #0 │ │ -01bc20: 380e 0d00 |0092: if-eqz v14, 009f // +000d │ │ -01bc24: 6e10 da00 0e00 |0094: invoke-virtual {v14}, Landroid/widget/EditText;.getText:()Landroid/text/Editable; // method@00da │ │ -01bc2a: 0c0e |0097: move-result-object v14 │ │ -01bc2c: 6207 2001 |0098: sget-object v7, Ldnsfilter/android/DNSProxyActivity;.logOutView:Landroid/widget/EditText; // field@0120 │ │ -01bc30: 6e10 db00 0700 |009a: invoke-virtual {v7}, Landroid/widget/EditText;.getTextSize:()F // method@00db │ │ -01bc36: 0a07 |009d: move-result v7 │ │ -01bc38: 2804 |009e: goto 00a2 // +0004 │ │ -01bc3a: 075e |009f: move-object v14, v5 │ │ -01bc3c: 1507 80bf |00a0: const/high16 v7, #int -1082130432 // #bf80 │ │ -01bc40: 1408 3c00 057f |00a2: const v8, #float 1.76789e+38 // #7f05003c │ │ -01bc46: 6e20 ef02 8d00 |00a5: invoke-virtual {v13, v8}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02ef │ │ -01bc4c: 0c08 |00a8: move-result-object v8 │ │ -01bc4e: 1f08 6700 |00a9: check-cast v8, Landroid/widget/EditText; // type@0067 │ │ -01bc52: 6908 2001 |00ab: sput-object v8, Ldnsfilter/android/DNSProxyActivity;.logOutView:Landroid/widget/EditText; // field@0120 │ │ -01bc56: 2d01 0701 |00ad: cmpl-float v1, v7, v1 │ │ -01bc5a: 3801 0500 |00af: if-eqz v1, 00b4 // +0005 │ │ -01bc5e: 6e30 e700 6807 |00b1: invoke-virtual {v8, v6, v7}, Landroid/widget/EditText;.setTextSize:(IF)V // method@00e7 │ │ -01bc64: 380e 0800 |00b4: if-eqz v14, 00bc // +0008 │ │ -01bc68: 6201 2001 |00b6: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.logOutView:Landroid/widget/EditText; // field@0120 │ │ -01bc6c: 6e20 e600 e100 |00b8: invoke-virtual {v1, v14}, Landroid/widget/EditText;.setText:(Ljava/lang/CharSequence;)V // method@00e6 │ │ -01bc72: 280c |00bb: goto 00c7 // +000c │ │ -01bc74: 620e 2001 |00bc: sget-object v14, Ldnsfilter/android/DNSProxyActivity;.logOutView:Landroid/widget/EditText; // field@0120 │ │ -01bc78: 1a01 9c00 |00be: const-string v1, "****This is personalDNSfilter V+1505800****

" // string@009c │ │ -01bc7c: 7110 f102 0100 |00c0: invoke-static {v1}, Ldnsfilter/android/DNSProxyActivity;.fromHtml:(Ljava/lang/String;)Landroid/text/Spanned; // method@02f1 │ │ -01bc82: 0c01 |00c3: move-result-object v1 │ │ -01bc84: 6e20 e600 1e00 |00c4: invoke-virtual {v14, v1}, Landroid/widget/EditText;.setText:(Ljava/lang/CharSequence;)V // method@00e6 │ │ -01bc8a: 620e 2001 |00c7: sget-object v14, Ldnsfilter/android/DNSProxyActivity;.logOutView:Landroid/widget/EditText; // field@0120 │ │ -01bc8e: 6e20 e000 5e00 |00c9: invoke-virtual {v14, v5}, Landroid/widget/EditText;.setKeyListener:(Landroid/text/method/KeyListener;)V // method@00e0 │ │ -01bc94: 620e 2001 |00cc: sget-object v14, Ldnsfilter/android/DNSProxyActivity;.logOutView:Landroid/widget/EditText; // field@0120 │ │ -01bc98: 6e20 dc00 de00 |00ce: invoke-virtual {v14, v13}, Landroid/widget/EditText;.setCustomSelectionActionModeCallback:(Landroid/view/ActionMode$Callback;)V // method@00dc │ │ -01bc9e: 620e 2001 |00d1: sget-object v14, Ldnsfilter/android/DNSProxyActivity;.logOutView:Landroid/widget/EditText; // field@0120 │ │ -01bca2: 6e20 e300 de00 |00d3: invoke-virtual {v14, v13}, Landroid/widget/EditText;.setOnTouchListener:(Landroid/view/View$OnTouchListener;)V // method@00e3 │ │ -01bca8: 620e 2001 |00d6: sget-object v14, Ldnsfilter/android/DNSProxyActivity;.logOutView:Landroid/widget/EditText; // field@0120 │ │ -01bcac: 6e20 e200 de00 |00d8: invoke-virtual {v14, v13}, Landroid/widget/EditText;.setOnFocusChangeListener:(Landroid/view/View$OnFocusChangeListener;)V // method@00e2 │ │ -01bcb2: 620e 2001 |00db: sget-object v14, Ldnsfilter/android/DNSProxyActivity;.logOutView:Landroid/widget/EditText; // field@0120 │ │ -01bcb6: 6e20 e100 de00 |00dd: invoke-virtual {v14, v13}, Landroid/widget/EditText;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@00e1 │ │ -01bcbc: 1a0e 9d00 |00e0: const-string v14, "" // string@009d │ │ -01bcc0: 1a01 5800 |00e2: const-string v1, "-1" // string@0058 │ │ -01bcc4: 6207 ed00 |00e4: sget-object v7, Ldnsfilter/android/DNSProxyActivity;.CONFIG:Ldnsfilter/ConfigurationAccess; // field@00ed │ │ -01bcc8: 6e10 5501 0700 |00e6: invoke-virtual {v7}, Ldnsfilter/ConfigurationAccess;.getVersion:()Ljava/lang/String; // method@0155 │ │ -01bcce: 0c0e |00e9: move-result-object v14 │ │ -01bcd0: 2207 2d01 |00ea: new-instance v7, Ljava/lang/StringBuilder; // type@012d │ │ -01bcd4: 7010 a705 0700 |00ec: invoke-direct {v7}, Ljava/lang/StringBuilder;.:()V // method@05a7 │ │ -01bcda: 6208 ed00 |00ef: sget-object v8, Ldnsfilter/android/DNSProxyActivity;.CONFIG:Ldnsfilter/ConfigurationAccess; // field@00ed │ │ -01bcde: 6e10 5801 0800 |00f1: invoke-virtual {v8}, Ldnsfilter/ConfigurationAccess;.openConnectionsCount:()I // method@0158 │ │ -01bce4: 0a08 |00f4: move-result v8 │ │ -01bce6: 6e20 aa05 8700 |00f5: invoke-virtual {v7, v8}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@05aa │ │ -01bcec: 6e20 ad05 2700 |00f8: invoke-virtual {v7, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -01bcf2: 6e10 af05 0700 |00fb: invoke-virtual {v7}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ -01bcf8: 0c01 |00fe: move-result-object v1 │ │ -01bcfa: 281a |00ff: goto 0119 // +001a │ │ -01bcfc: 0d07 |0100: move-exception v7 │ │ -01bcfe: 2208 2d01 |0101: new-instance v8, Ljava/lang/StringBuilder; // type@012d │ │ -01bd02: 7010 a705 0800 |0103: invoke-direct {v8}, Ljava/lang/StringBuilder;.:()V // method@05a7 │ │ -01bd08: 6e10 2405 0700 |0106: invoke-virtual {v7}, Ljava/io/IOException;.toString:()Ljava/lang/String; // method@0524 │ │ -01bd0e: 0c07 |0109: move-result-object v7 │ │ -01bd10: 6e20 ad05 7800 |010a: invoke-virtual {v8, v7}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -01bd16: 1a07 0200 |010d: const-string v7, " │ │ +01bae8: |[01bae8] dnsfilter.android.DNSProxyActivity.onCreate:(Landroid/os/Bundle;)V │ │ +01baf8: 1a00 6505 |0000: const-string v0, "android.permission.POST_NOTIFICATIONS" // string@0565 │ │ +01bafc: 1a01 9c0b |0002: const-string v1, "window" // string@0b9c │ │ +01bb00: 1a02 0000 |0004: const-string v2, "" // string@0000 │ │ +01bb04: 1a03 c308 |0006: const-string v3, "logcat -d -f" // string@08c3 │ │ +01bb08: 1a04 6b09 |0008: const-string v4, "personalDNSfilter V" // string@096b │ │ +01bb0c: 2205 3b00 |000a: new-instance v5, Landroid/os/StrictMode$ThreadPolicy$Builder; // type@003b │ │ +01bb10: 7010 8c00 0500 |000c: invoke-direct {v5}, Landroid/os/StrictMode$ThreadPolicy$Builder;.:()V // method@008c │ │ +01bb16: 6e10 8d00 0500 |000f: invoke-virtual {v5}, Landroid/os/StrictMode$ThreadPolicy$Builder;.build:()Landroid/os/StrictMode$ThreadPolicy; // method@008d │ │ +01bb1c: 0c05 |0012: move-result-object v5 │ │ +01bb1e: 7110 8e00 0500 |0013: invoke-static {v5}, Landroid/os/StrictMode;.setThreadPolicy:(Landroid/os/StrictMode$ThreadPolicy;)V // method@008e │ │ +01bb24: 6f20 0400 ed00 |0016: invoke-super {v13, v14}, Landroid/app/Activity;.onCreate:(Landroid/os/Bundle;)V // method@0004 │ │ +01bb2a: 6e10 f502 0d00 |0019: invoke-virtual {v13}, Ldnsfilter/android/DNSProxyActivity;.getIntent:()Landroid/content/Intent; // method@02f5 │ │ +01bb30: 0c0e |001c: move-result-object v14 │ │ +01bb32: 1a05 5404 |001d: const-string v5, "SHOULD_FINISH" // string@0454 │ │ +01bb36: 1206 |001f: const/4 v6, #int 0 // #0 │ │ +01bb38: 6e30 4800 5e06 |0020: invoke-virtual {v14, v5, v6}, Landroid/content/Intent;.getBooleanExtra:(Ljava/lang/String;Z)Z // method@0048 │ │ +01bb3e: 0a0e |0023: move-result v14 │ │ +01bb40: 380e 0800 |0024: if-eqz v14, 002c // +0008 │ │ +01bb44: 6e10 f002 0d00 |0026: invoke-virtual {v13}, Ldnsfilter/android/DNSProxyActivity;.finish:()V // method@02f0 │ │ +01bb4a: 7110 b205 0600 |0029: invoke-static {v6}, Ljava/lang/System;.exit:(I)V // method@05b2 │ │ +01bb50: 7110 2202 0d00 |002c: invoke-static {v13}, Ldnsfilter/android/AndroidEnvironment;.initEnvironment:(Landroid/content/Context;)V // method@0222 │ │ +01bb56: 6e20 f902 1d00 |002f: invoke-virtual {v13, v1}, Ldnsfilter/android/DNSProxyActivity;.getSystemService:(Ljava/lang/String;)Ljava/lang/Object; // method@02f9 │ │ +01bb5c: 0c0e |0032: move-result-object v14 │ │ +01bb5e: 1f0e 5c00 |0033: check-cast v14, Landroid/view/WindowManager; // type@005c │ │ +01bb62: 7210 bd00 0e00 |0035: invoke-interface {v14}, Landroid/view/WindowManager;.getDefaultDisplay:()Landroid/view/Display; // method@00bd │ │ +01bb68: 0c0e |0038: move-result-object v14 │ │ +01bb6a: 6e10 a400 0e00 |0039: invoke-virtual {v14}, Landroid/view/Display;.getWidth:()I // method@00a4 │ │ +01bb70: 0a0e |003c: move-result v14 │ │ +01bb72: 670e ef00 |003d: sput v14, Ldnsfilter/android/DNSProxyActivity;.DISPLAY_WIDTH:I // field@00ef │ │ +01bb76: 6e20 f902 1d00 |003f: invoke-virtual {v13, v1}, Ldnsfilter/android/DNSProxyActivity;.getSystemService:(Ljava/lang/String;)Ljava/lang/Object; // method@02f9 │ │ +01bb7c: 0c0e |0042: move-result-object v14 │ │ +01bb7e: 1f0e 5c00 |0043: check-cast v14, Landroid/view/WindowManager; // type@005c │ │ +01bb82: 7210 bd00 0e00 |0045: invoke-interface {v14}, Landroid/view/WindowManager;.getDefaultDisplay:()Landroid/view/Display; // method@00bd │ │ +01bb88: 0c0e |0048: move-result-object v14 │ │ +01bb8a: 6e10 a300 0e00 |0049: invoke-virtual {v14}, Landroid/view/Display;.getHeight:()I // method@00a3 │ │ +01bb90: 0a0e |004c: move-result v14 │ │ +01bb92: 670e ee00 |004d: sput v14, Ldnsfilter/android/DNSProxyActivity;.DISPLAY_HEIGTH:I // field@00ee │ │ +01bb96: 620e f600 |004f: sget-object v14, Ldnsfilter/android/DNSProxyActivity;.MsgTO:Ldnsfilter/android/DNSProxyActivity$MsgTimeoutListener; // field@00f6 │ │ +01bb9a: 6e20 d102 de00 |0051: invoke-virtual {v14, v13}, Ldnsfilter/android/DNSProxyActivity$MsgTimeoutListener;.setActivity:(Ldnsfilter/android/DNSProxyActivity;)V // method@02d1 │ │ +01bba0: 690d f200 |0054: sput-object v13, Ldnsfilter/android/DNSProxyActivity;.INSTANCE:Ldnsfilter/android/DNSProxyActivity; // field@00f2 │ │ +01bba4: 600e 0200 |0056: sget v14, Landroid/os/Build$VERSION;.SDK_INT:I // field@0002 │ │ +01bba8: 1301 1500 |0058: const/16 v1, #int 21 // #15 │ │ +01bbac: 341e 2d00 |005a: if-lt v14, v1, 0087 // +002d │ │ +01bbb0: 6e10 fa02 0d00 |005c: invoke-virtual {v13}, Ldnsfilter/android/DNSProxyActivity;.getWindow:()Landroid/view/Window; // method@02fa │ │ +01bbb6: 0c0e |005f: move-result-object v14 │ │ +01bbb8: 1501 0080 |0060: const/high16 v1, #int -2147483648 // #8000 │ │ +01bbbc: 6e20 b700 1e00 |0062: invoke-virtual {v14, v1}, Landroid/view/Window;.addFlags:(I)V // method@00b7 │ │ +01bbc2: 1501 0004 |0065: const/high16 v1, #int 67108864 // #400 │ │ +01bbc6: 6e20 b800 1e00 |0067: invoke-virtual {v14, v1}, Landroid/view/Window;.clearFlags:(I)V // method@00b8 │ │ +01bbcc: 6e10 f602 0d00 |006a: invoke-virtual {v13}, Ldnsfilter/android/DNSProxyActivity;.getResources:()Landroid/content/res/Resources; // method@02f6 │ │ +01bbd2: 0c01 |006d: move-result-object v1 │ │ +01bbd4: 1405 0600 037f |006e: const v5, #float 1.74129e+38 // #7f030006 │ │ +01bbda: 6e20 5600 5100 |0071: invoke-virtual {v1, v5}, Landroid/content/res/Resources;.getColor:(I)I // method@0056 │ │ +01bbe0: 0a01 |0074: move-result v1 │ │ +01bbe2: 7120 6c02 1e00 |0075: invoke-static {v14, v1}, Ldnsfilter/android/BootUpReceiver$$ExternalSyntheticApiModelOutline0;.m:(Landroid/view/Window;I)V // method@026c │ │ +01bbe8: 6e10 fa02 0d00 |0078: invoke-virtual {v13}, Ldnsfilter/android/DNSProxyActivity;.getWindow:()Landroid/view/Window; // method@02fa │ │ +01bbee: 0c0e |007b: move-result-object v14 │ │ +01bbf0: 6e10 f602 0d00 |007c: invoke-virtual {v13}, Ldnsfilter/android/DNSProxyActivity;.getResources:()Landroid/content/res/Resources; // method@02f6 │ │ +01bbf6: 0c01 |007f: move-result-object v1 │ │ +01bbf8: 6e20 5600 5100 |0080: invoke-virtual {v1, v5}, Landroid/content/res/Resources;.getColor:(I)I // method@0056 │ │ +01bbfe: 0a01 |0083: move-result v1 │ │ +01bc00: 7120 7202 1e00 |0084: invoke-static {v14, v1}, Ldnsfilter/android/BootUpReceiver$$ExternalSyntheticApiModelOutline0;.m$1:(Landroid/view/Window;I)V // method@0272 │ │ +01bc06: 140e 0b00 067f |0087: const v14, #float 1.78117e+38 // #7f06000b │ │ +01bc0c: 6e20 2b03 ed00 |008a: invoke-virtual {v13, v14}, Ldnsfilter/android/DNSProxyActivity;.setContentView:(I)V // method@032b │ │ +01bc12: 620e 2001 |008d: sget-object v14, Ldnsfilter/android/DNSProxyActivity;.logOutView:Landroid/widget/EditText; // field@0120 │ │ +01bc16: 1501 80bf |008f: const/high16 v1, #int -1082130432 // #bf80 │ │ +01bc1a: 1205 |0091: const/4 v5, #int 0 // #0 │ │ +01bc1c: 380e 0d00 |0092: if-eqz v14, 009f // +000d │ │ +01bc20: 6e10 da00 0e00 |0094: invoke-virtual {v14}, Landroid/widget/EditText;.getText:()Landroid/text/Editable; // method@00da │ │ +01bc26: 0c0e |0097: move-result-object v14 │ │ +01bc28: 6207 2001 |0098: sget-object v7, Ldnsfilter/android/DNSProxyActivity;.logOutView:Landroid/widget/EditText; // field@0120 │ │ +01bc2c: 6e10 db00 0700 |009a: invoke-virtual {v7}, Landroid/widget/EditText;.getTextSize:()F // method@00db │ │ +01bc32: 0a07 |009d: move-result v7 │ │ +01bc34: 2804 |009e: goto 00a2 // +0004 │ │ +01bc36: 075e |009f: move-object v14, v5 │ │ +01bc38: 1507 80bf |00a0: const/high16 v7, #int -1082130432 // #bf80 │ │ +01bc3c: 1408 3c00 057f |00a2: const v8, #float 1.76789e+38 // #7f05003c │ │ +01bc42: 6e20 ef02 8d00 |00a5: invoke-virtual {v13, v8}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02ef │ │ +01bc48: 0c08 |00a8: move-result-object v8 │ │ +01bc4a: 1f08 6700 |00a9: check-cast v8, Landroid/widget/EditText; // type@0067 │ │ +01bc4e: 6908 2001 |00ab: sput-object v8, Ldnsfilter/android/DNSProxyActivity;.logOutView:Landroid/widget/EditText; // field@0120 │ │ +01bc52: 2d01 0701 |00ad: cmpl-float v1, v7, v1 │ │ +01bc56: 3801 0500 |00af: if-eqz v1, 00b4 // +0005 │ │ +01bc5a: 6e30 e700 6807 |00b1: invoke-virtual {v8, v6, v7}, Landroid/widget/EditText;.setTextSize:(IF)V // method@00e7 │ │ +01bc60: 380e 0800 |00b4: if-eqz v14, 00bc // +0008 │ │ +01bc64: 6201 2001 |00b6: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.logOutView:Landroid/widget/EditText; // field@0120 │ │ +01bc68: 6e20 e600 e100 |00b8: invoke-virtual {v1, v14}, Landroid/widget/EditText;.setText:(Ljava/lang/CharSequence;)V // method@00e6 │ │ +01bc6e: 280c |00bb: goto 00c7 // +000c │ │ +01bc70: 620e 2001 |00bc: sget-object v14, Ldnsfilter/android/DNSProxyActivity;.logOutView:Landroid/widget/EditText; // field@0120 │ │ +01bc74: 1a01 9c00 |00be: const-string v1, "****This is personalDNSfilter V+1505800****

" // string@009c │ │ +01bc78: 7110 f102 0100 |00c0: invoke-static {v1}, Ldnsfilter/android/DNSProxyActivity;.fromHtml:(Ljava/lang/String;)Landroid/text/Spanned; // method@02f1 │ │ +01bc7e: 0c01 |00c3: move-result-object v1 │ │ +01bc80: 6e20 e600 1e00 |00c4: invoke-virtual {v14, v1}, Landroid/widget/EditText;.setText:(Ljava/lang/CharSequence;)V // method@00e6 │ │ +01bc86: 620e 2001 |00c7: sget-object v14, Ldnsfilter/android/DNSProxyActivity;.logOutView:Landroid/widget/EditText; // field@0120 │ │ +01bc8a: 6e20 e000 5e00 |00c9: invoke-virtual {v14, v5}, Landroid/widget/EditText;.setKeyListener:(Landroid/text/method/KeyListener;)V // method@00e0 │ │ +01bc90: 620e 2001 |00cc: sget-object v14, Ldnsfilter/android/DNSProxyActivity;.logOutView:Landroid/widget/EditText; // field@0120 │ │ +01bc94: 6e20 dc00 de00 |00ce: invoke-virtual {v14, v13}, Landroid/widget/EditText;.setCustomSelectionActionModeCallback:(Landroid/view/ActionMode$Callback;)V // method@00dc │ │ +01bc9a: 620e 2001 |00d1: sget-object v14, Ldnsfilter/android/DNSProxyActivity;.logOutView:Landroid/widget/EditText; // field@0120 │ │ +01bc9e: 6e20 e300 de00 |00d3: invoke-virtual {v14, v13}, Landroid/widget/EditText;.setOnTouchListener:(Landroid/view/View$OnTouchListener;)V // method@00e3 │ │ +01bca4: 620e 2001 |00d6: sget-object v14, Ldnsfilter/android/DNSProxyActivity;.logOutView:Landroid/widget/EditText; // field@0120 │ │ +01bca8: 6e20 e200 de00 |00d8: invoke-virtual {v14, v13}, Landroid/widget/EditText;.setOnFocusChangeListener:(Landroid/view/View$OnFocusChangeListener;)V // method@00e2 │ │ +01bcae: 620e 2001 |00db: sget-object v14, Ldnsfilter/android/DNSProxyActivity;.logOutView:Landroid/widget/EditText; // field@0120 │ │ +01bcb2: 6e20 e100 de00 |00dd: invoke-virtual {v14, v13}, Landroid/widget/EditText;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@00e1 │ │ +01bcb8: 1a0e 9d00 |00e0: const-string v14, "" // string@009d │ │ +01bcbc: 1a01 5800 |00e2: const-string v1, "-1" // string@0058 │ │ +01bcc0: 6207 ed00 |00e4: sget-object v7, Ldnsfilter/android/DNSProxyActivity;.CONFIG:Ldnsfilter/ConfigurationAccess; // field@00ed │ │ +01bcc4: 6e10 5501 0700 |00e6: invoke-virtual {v7}, Ldnsfilter/ConfigurationAccess;.getVersion:()Ljava/lang/String; // method@0155 │ │ +01bcca: 0c0e |00e9: move-result-object v14 │ │ +01bccc: 2207 2d01 |00ea: new-instance v7, Ljava/lang/StringBuilder; // type@012d │ │ +01bcd0: 7010 a705 0700 |00ec: invoke-direct {v7}, Ljava/lang/StringBuilder;.:()V // method@05a7 │ │ +01bcd6: 6208 ed00 |00ef: sget-object v8, Ldnsfilter/android/DNSProxyActivity;.CONFIG:Ldnsfilter/ConfigurationAccess; // field@00ed │ │ +01bcda: 6e10 5801 0800 |00f1: invoke-virtual {v8}, Ldnsfilter/ConfigurationAccess;.openConnectionsCount:()I // method@0158 │ │ +01bce0: 0a08 |00f4: move-result v8 │ │ +01bce2: 6e20 aa05 8700 |00f5: invoke-virtual {v7, v8}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@05aa │ │ +01bce8: 6e20 ad05 2700 |00f8: invoke-virtual {v7, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +01bcee: 6e10 af05 0700 |00fb: invoke-virtual {v7}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ +01bcf4: 0c01 |00fe: move-result-object v1 │ │ +01bcf6: 281a |00ff: goto 0119 // +001a │ │ +01bcf8: 0d07 |0100: move-exception v7 │ │ +01bcfa: 2208 2d01 |0101: new-instance v8, Ljava/lang/StringBuilder; // type@012d │ │ +01bcfe: 7010 a705 0800 |0103: invoke-direct {v8}, Ljava/lang/StringBuilder;.:()V // method@05a7 │ │ +01bd04: 6e10 2405 0700 |0106: invoke-virtual {v7}, Ljava/io/IOException;.toString:()Ljava/lang/String; // method@0524 │ │ +01bd0a: 0c07 |0109: move-result-object v7 │ │ +01bd0c: 6e20 ad05 7800 |010a: invoke-virtual {v8, v7}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +01bd12: 1a07 0200 |010d: const-string v7, " │ │ " // string@0002 │ │ -01bd1a: 6e20 ad05 7800 |010f: invoke-virtual {v8, v7}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -01bd20: 6e10 af05 0800 |0112: invoke-virtual {v8}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ -01bd26: 0c07 |0115: move-result-object v7 │ │ -01bd28: 7020 e102 7d00 |0116: invoke-direct {v13, v7}, Ldnsfilter/android/DNSProxyActivity;.addToLogView:(Ljava/lang/String;)V // method@02e1 │ │ -01bd2e: 2207 2d01 |0119: new-instance v7, Ljava/lang/StringBuilder; // type@012d │ │ -01bd32: 7020 a805 4700 |011b: invoke-direct {v7, v4}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05a8 │ │ -01bd38: 6e20 ad05 e700 |011e: invoke-virtual {v7, v14}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -01bd3e: 1a0e 0f00 |0121: const-string v14, " (Connections:" // string@000f │ │ -01bd42: 6e20 ad05 e700 |0123: invoke-virtual {v7, v14}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -01bd48: 6e20 ad05 1700 |0126: invoke-virtual {v7, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -01bd4e: 1a0e 4800 |0129: const-string v14, ")" // string@0048 │ │ -01bd52: 6e20 ad05 e700 |012b: invoke-virtual {v7, v14}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -01bd58: 6e10 af05 0700 |012e: invoke-virtual {v7}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ -01bd5e: 0c0e |0131: move-result-object v14 │ │ -01bd60: 6e20 2e03 ed00 |0132: invoke-virtual {v13, v14}, Ldnsfilter/android/DNSProxyActivity;.setTitle:(Ljava/lang/CharSequence;)V // method@032e │ │ -01bd66: 620e 1601 |0135: sget-object v14, Ldnsfilter/android/DNSProxyActivity;.filterCfg:Ldnsfilter/android/FilterConfig; // field@0116 │ │ -01bd6a: 380e 1200 |0137: if-eqz v14, 0149 // +0012 │ │ -01bd6e: 6e10 3d03 0e00 |0139: invoke-virtual {v14}, Ldnsfilter/android/FilterConfig;.getFilterEntries:()[Ldnsfilter/ConfigUtil$HostFilterList; // method@033d │ │ -01bd74: 0c0e |013c: move-result-object v14 │ │ -01bd76: 6201 1601 |013d: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.filterCfg:Ldnsfilter/android/FilterConfig; // field@0116 │ │ -01bd7a: 6e10 3c03 0100 |013f: invoke-virtual {v1}, Ldnsfilter/android/FilterConfig;.getCurrentCategory:()Ljava/lang/String; // method@033c │ │ -01bd80: 0c01 |0142: move-result-object v1 │ │ -01bd82: 6204 1601 |0143: sget-object v4, Ldnsfilter/android/DNSProxyActivity;.filterCfg:Ldnsfilter/android/FilterConfig; // field@0116 │ │ -01bd86: 6e10 3a03 0400 |0145: invoke-virtual {v4}, Ldnsfilter/android/FilterConfig;.clear:()V // method@033a │ │ -01bd8c: 2803 |0148: goto 014b // +0003 │ │ -01bd8e: 075e |0149: move-object v14, v5 │ │ -01bd90: 07e1 |014a: move-object v1, v14 │ │ -01bd92: 1404 0100 057f |014b: const v4, #float 1.76787e+38 // #7f050001 │ │ -01bd98: 6e20 ef02 4d00 |014e: invoke-virtual {v13, v4}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02ef │ │ -01bd9e: 0c04 |0151: move-result-object v4 │ │ -01bda0: 0749 |0152: move-object v9, v4 │ │ -01bda2: 1f09 6300 |0153: check-cast v9, Landroid/widget/Button; // type@0063 │ │ -01bda6: 1504 057f |0155: const/high16 v4, #int 2131034112 // #7f05 │ │ -01bdaa: 6e20 ef02 4d00 |0157: invoke-virtual {v13, v4}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02ef │ │ -01bdb0: 0c04 |015a: move-result-object v4 │ │ -01bdb2: 074a |015b: move-object v10, v4 │ │ -01bdb4: 1f0a 6300 |015c: check-cast v10, Landroid/widget/Button; // type@0063 │ │ -01bdb8: 1404 1400 057f |015e: const v4, #float 1.76788e+38 // #7f050014 │ │ -01bdbe: 6e20 ef02 4d00 |0161: invoke-virtual {v13, v4}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02ef │ │ -01bdc4: 0c04 |0164: move-result-object v4 │ │ -01bdc6: 074b |0165: move-object v11, v4 │ │ -01bdc8: 1f0b 7300 |0166: check-cast v11, Landroid/widget/TextView; // type@0073 │ │ -01bdcc: 1404 5300 057f |0168: const v4, #float 1.76789e+38 // #7f050053 │ │ -01bdd2: 6e20 ef02 4d00 |016b: invoke-virtual {v13, v4}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02ef │ │ -01bdd8: 0c04 |016e: move-result-object v4 │ │ -01bdda: 074c |016f: move-object v12, v4 │ │ -01bddc: 1f0c 6300 |0170: check-cast v12, Landroid/widget/Button; // type@0063 │ │ -01bde0: 2204 b100 |0172: new-instance v4, Ldnsfilter/android/FilterConfig; // type@00b1 │ │ -01bde4: 1407 3000 057f |0174: const v7, #float 1.76788e+38 // #7f050030 │ │ -01bdea: 6e20 ef02 7d00 |0177: invoke-virtual {v13, v7}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02ef │ │ -01bdf0: 0c07 |017a: move-result-object v7 │ │ -01bdf2: 0778 |017b: move-object v8, v7 │ │ -01bdf4: 1f08 7100 |017c: check-cast v8, Landroid/widget/TableLayout; // type@0071 │ │ -01bdf8: 0747 |017e: move-object v7, v4 │ │ -01bdfa: 7606 3703 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@0337 │ │ -01be00: 6904 1601 |0182: sput-object v4, Ldnsfilter/android/DNSProxyActivity;.filterCfg:Ldnsfilter/android/FilterConfig; // field@0116 │ │ -01be04: 380e 0a00 |0184: if-eqz v14, 018e // +000a │ │ -01be08: 6e20 4603 e400 |0186: invoke-virtual {v4, v14}, Ldnsfilter/android/FilterConfig;.setEntries:([Ldnsfilter/ConfigUtil$HostFilterList;)V // method@0346 │ │ -01be0e: 620e 1601 |0189: sget-object v14, Ldnsfilter/android/DNSProxyActivity;.filterCfg:Ldnsfilter/android/FilterConfig; // field@0116 │ │ -01be12: 6e20 4503 1e00 |018b: invoke-virtual {v14, v1}, Ldnsfilter/android/FilterConfig;.setCurrentCategory:(Ljava/lang/String;)V // method@0345 │ │ -01be18: 620e 1801 |018e: sget-object v14, Ldnsfilter/android/DNSProxyActivity;.filterReloadIntervalView:Landroid/widget/EditText; // field@0118 │ │ -01be1c: 380e 0b00 |0190: if-eqz v14, 019b // +000b │ │ -01be20: 6e10 da00 0e00 |0192: invoke-virtual {v14}, Landroid/widget/EditText;.getText:()Landroid/text/Editable; // method@00da │ │ -01be26: 0c0e |0195: move-result-object v14 │ │ -01be28: 6e10 7805 0e00 |0196: invoke-virtual {v14}, Ljava/lang/Object;.toString:()Ljava/lang/String; // method@0578 │ │ -01be2e: 0c0e |0199: move-result-object v14 │ │ -01be30: 2802 |019a: goto 019c // +0002 │ │ -01be32: 072e |019b: move-object v14, v2 │ │ -01be34: 1401 3200 057f |019c: const v1, #float 1.76788e+38 // #7f050032 │ │ -01be3a: 6e20 ef02 1d00 |019f: invoke-virtual {v13, v1}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02ef │ │ -01be40: 0c01 |01a2: move-result-object v1 │ │ -01be42: 1f01 6700 |01a3: check-cast v1, Landroid/widget/EditText; // type@0067 │ │ -01be46: 6901 1801 |01a5: sput-object v1, Ldnsfilter/android/DNSProxyActivity;.filterReloadIntervalView:Landroid/widget/EditText; // field@0118 │ │ -01be4a: 6e20 e600 e100 |01a7: invoke-virtual {v1, v14}, Landroid/widget/EditText;.setText:(Ljava/lang/CharSequence;)V // method@00e6 │ │ -01be50: 140e 5c00 057f |01aa: const v14, #float 1.76789e+38 // #7f05005c │ │ -01be56: 6e20 ef02 ed00 |01ad: invoke-virtual {v13, v14}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02ef │ │ -01be5c: 0c0e |01b0: move-result-object v14 │ │ -01be5e: 1f0e 6300 |01b1: check-cast v14, Landroid/widget/Button; // type@0063 │ │ -01be62: 5bde 3601 |01b3: iput-object v14, v13, Ldnsfilter/android/DNSProxyActivity;.startBtn:Landroid/widget/Button; // field@0136 │ │ -01be66: 6e20 c500 de00 |01b5: invoke-virtual {v14, v13}, Landroid/widget/Button;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@00c5 │ │ -01be6c: 140e 5d00 057f |01b8: const v14, #float 1.76789e+38 // #7f05005d │ │ -01be72: 6e20 ef02 ed00 |01bb: invoke-virtual {v13, v14}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02ef │ │ -01be78: 0c0e |01be: move-result-object v14 │ │ -01be7a: 1f0e 6300 |01bf: check-cast v14, Landroid/widget/Button; // type@0063 │ │ -01be7e: 5bde 3701 |01c1: iput-object v14, v13, Ldnsfilter/android/DNSProxyActivity;.stopBtn:Landroid/widget/Button; // field@0137 │ │ -01be82: 6e20 c500 de00 |01c3: invoke-virtual {v14, v13}, Landroid/widget/Button;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@00c5 │ │ -01be88: 140e 2e00 057f |01c6: const v14, #float 1.76788e+38 // #7f05002e │ │ -01be8e: 6e20 ef02 ed00 |01c9: invoke-virtual {v13, v14}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02ef │ │ -01be94: 0c0e |01cc: move-result-object v14 │ │ -01be96: 1f0e 6300 |01cd: check-cast v14, Landroid/widget/Button; // type@0063 │ │ -01be9a: 5bde 2a01 |01cf: iput-object v14, v13, Ldnsfilter/android/DNSProxyActivity;.reloadFilterBtn:Landroid/widget/Button; // field@012a │ │ -01be9e: 6e20 c500 de00 |01d1: invoke-virtual {v14, v13}, Landroid/widget/Button;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@00c5 │ │ -01bea4: 140e 3300 057f |01d4: const v14, #float 1.76788e+38 // #7f050033 │ │ -01beaa: 6e20 ef02 ed00 |01d7: invoke-virtual {v13, v14}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02ef │ │ -01beb0: 0c0e |01da: move-result-object v14 │ │ -01beb2: 1f0e 6300 |01db: check-cast v14, Landroid/widget/Button; // type@0063 │ │ -01beb6: 5bde 1a01 |01dd: iput-object v14, v13, Ldnsfilter/android/DNSProxyActivity;.helpBtn:Landroid/widget/Button; // field@011a │ │ -01beba: 6e20 c500 de00 |01df: invoke-virtual {v14, v13}, Landroid/widget/Button;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@00c5 │ │ -01bec0: 140e 4e00 057f |01e2: const v14, #float 1.76789e+38 // #7f05004e │ │ -01bec6: 6e20 ef02 ed00 |01e5: invoke-virtual {v13, v14}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02ef │ │ -01becc: 0c0e |01e8: move-result-object v14 │ │ -01bece: 1f0e 6300 |01e9: check-cast v14, Landroid/widget/Button; // type@0063 │ │ -01bed2: 5bde 2b01 |01eb: iput-object v14, v13, Ldnsfilter/android/DNSProxyActivity;.remoteCtrlBtn:Landroid/widget/Button; // field@012b │ │ -01bed6: 620e ed00 |01ed: sget-object v14, Ldnsfilter/android/DNSProxyActivity;.CONFIG:Ldnsfilter/ConfigurationAccess; // field@00ed │ │ -01beda: 6e10 5701 0e00 |01ef: invoke-virtual {v14}, Ldnsfilter/ConfigurationAccess;.isLocal:()Z // method@0157 │ │ -01bee0: 0a0e |01f2: move-result v14 │ │ -01bee2: 390e 1300 |01f3: if-nez v14, 0206 // +0013 │ │ -01bee6: 54de 2b01 |01f5: iget-object v14, v13, Ldnsfilter/android/DNSProxyActivity;.remoteCtrlBtn:Landroid/widget/Button; // field@012b │ │ -01beea: 6e10 f602 0d00 |01f7: invoke-virtual {v13}, Ldnsfilter/android/DNSProxyActivity;.getResources:()Landroid/content/res/Resources; // method@02f6 │ │ -01bef0: 0c01 |01fa: move-result-object v1 │ │ -01bef2: 1404 2b00 047f |01fb: const v4, #float 1.75459e+38 // #7f04002b │ │ -01bef8: 6e20 5800 4100 |01fe: invoke-virtual {v1, v4}, Landroid/content/res/Resources;.getDrawable:(I)Landroid/graphics/drawable/Drawable; // method@0058 │ │ -01befe: 0c01 |0201: move-result-object v1 │ │ -01bf00: 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 │ │ -01bf06: 2811 |0205: goto 0216 // +0011 │ │ -01bf08: 54de 2b01 |0206: iget-object v14, v13, Ldnsfilter/android/DNSProxyActivity;.remoteCtrlBtn:Landroid/widget/Button; // field@012b │ │ -01bf0c: 6e10 f602 0d00 |0208: invoke-virtual {v13}, Ldnsfilter/android/DNSProxyActivity;.getResources:()Landroid/content/res/Resources; // method@02f6 │ │ -01bf12: 0c01 |020b: move-result-object v1 │ │ -01bf14: 1404 2c00 047f |020c: const v4, #float 1.75459e+38 // #7f04002c │ │ -01bf1a: 6e20 5800 4100 |020f: invoke-virtual {v1, v4}, Landroid/content/res/Resources;.getDrawable:(I)Landroid/graphics/drawable/Drawable; // method@0058 │ │ -01bf20: 0c01 |0212: move-result-object v1 │ │ -01bf22: 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 │ │ -01bf28: 54de 2b01 |0216: iget-object v14, v13, Ldnsfilter/android/DNSProxyActivity;.remoteCtrlBtn:Landroid/widget/Button; // field@012b │ │ -01bf2c: 6e20 c500 de00 |0218: invoke-virtual {v14, v13}, Landroid/widget/Button;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@00c5 │ │ -01bf32: 140e 0f00 057f |021b: const v14, #float 1.76788e+38 // #7f05000f │ │ -01bf38: 6e20 ef02 ed00 |021e: invoke-virtual {v13, v14}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02ef │ │ -01bf3e: 0c0e |0221: move-result-object v14 │ │ -01bf40: 1f0e 6300 |0222: check-cast v14, Landroid/widget/Button; // type@0063 │ │ -01bf44: 690e 0a01 |0224: sput-object v14, Ldnsfilter/android/DNSProxyActivity;.backupBtn:Landroid/widget/Button; // field@010a │ │ -01bf48: 6e20 c500 de00 |0226: invoke-virtual {v14, v13}, Landroid/widget/Button;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@00c5 │ │ -01bf4e: 140e 0200 057f |0229: const v14, #float 1.76787e+38 // #7f050002 │ │ -01bf54: 6e20 ef02 ed00 |022c: invoke-virtual {v13, v14}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02ef │ │ -01bf5a: 0c0e |022f: move-result-object v14 │ │ -01bf5c: 1f0e 6300 |0230: check-cast v14, Landroid/widget/Button; // type@0063 │ │ -01bf60: 690e 2e01 |0232: sput-object v14, Ldnsfilter/android/DNSProxyActivity;.restoreBtn:Landroid/widget/Button; // field@012e │ │ -01bf64: 6e20 c500 de00 |0234: invoke-virtual {v14, v13}, Landroid/widget/Button;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@00c5 │ │ -01bf6a: 140e 0300 057f |0237: const v14, #float 1.76787e+38 // #7f050003 │ │ -01bf70: 6e20 ef02 ed00 |023a: invoke-virtual {v13, v14}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02ef │ │ -01bf76: 0c0e |023d: move-result-object v14 │ │ -01bf78: 1f0e 6300 |023e: check-cast v14, Landroid/widget/Button; // type@0063 │ │ -01bf7c: 690e 2f01 |0240: sput-object v14, Ldnsfilter/android/DNSProxyActivity;.restoreDefaultsBtn:Landroid/widget/Button; // field@012f │ │ -01bf80: 6e20 c500 de00 |0242: invoke-virtual {v14, v13}, Landroid/widget/Button;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@00c5 │ │ -01bf86: 140e 0500 057f |0245: const v14, #float 1.76787e+38 // #7f050005 │ │ -01bf8c: 6e20 ef02 ed00 |0248: invoke-virtual {v13, v14}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02ef │ │ -01bf92: 0c0e |024b: move-result-object v14 │ │ -01bf94: 1f0e 7300 |024c: check-cast v14, Landroid/widget/TextView; // type@0073 │ │ -01bf98: 690e ff00 |024e: sput-object v14, Ldnsfilter/android/DNSProxyActivity;.addFilterBtn:Landroid/widget/TextView; // field@00ff │ │ -01bf9c: 6e20 0801 de00 |0250: invoke-virtual {v14, v13}, Landroid/widget/TextView;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@0108 │ │ -01bfa2: 140e 5200 057f |0253: const v14, #float 1.76789e+38 // #7f050052 │ │ -01bfa8: 6e20 ef02 ed00 |0256: invoke-virtual {v13, v14}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02ef │ │ -01bfae: 0c0e |0259: move-result-object v14 │ │ -01bfb0: 1f0e 7300 |025a: check-cast v14, Landroid/widget/TextView; // type@0073 │ │ -01bfb4: 690e 2c01 |025c: sput-object v14, Ldnsfilter/android/DNSProxyActivity;.removeFilterBtn:Landroid/widget/TextView; // field@012c │ │ -01bfb8: 6e20 0801 de00 |025e: invoke-virtual {v14, v13}, Landroid/widget/TextView;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@0108 │ │ -01bfbe: 140e 3b00 057f |0261: const v14, #float 1.76789e+38 // #7f05003b │ │ -01bfc4: 6e20 ef02 ed00 |0264: invoke-virtual {v13, v14}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02ef │ │ -01bfca: 0c0e |0267: move-result-object v14 │ │ -01bfcc: 1f0e 7300 |0268: check-cast v14, Landroid/widget/TextView; // type@0073 │ │ -01bfd0: 690e 1d01 |026a: sput-object v14, Ldnsfilter/android/DNSProxyActivity;.link_field:Landroid/widget/TextView; // field@011d │ │ -01bfd4: 6201 1f01 |026c: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.link_field_txt:Ljava/lang/String; // field@011f │ │ -01bfd8: 7110 f102 0100 |026e: invoke-static {v1}, Ldnsfilter/android/DNSProxyActivity;.fromHtml:(Ljava/lang/String;)Landroid/text/Spanned; // method@02f1 │ │ -01bfde: 0c01 |0271: move-result-object v1 │ │ -01bfe0: 6e20 0901 1e00 |0272: invoke-virtual {v14, v1}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@0109 │ │ -01bfe6: 620e 1d01 |0275: sget-object v14, Ldnsfilter/android/DNSProxyActivity;.link_field:Landroid/widget/TextView; // field@011d │ │ -01bfea: 7100 9f00 0000 |0277: invoke-static {}, Landroid/text/method/LinkMovementMethod;.getInstance:()Landroid/text/method/MovementMethod; // method@009f │ │ -01bff0: 0c01 |027a: move-result-object v1 │ │ -01bff2: 6e20 0701 1e00 |027b: invoke-virtual {v14, v1}, Landroid/widget/TextView;.setMovementMethod:(Landroid/text/method/MovementMethod;)V // method@0107 │ │ -01bff8: 620e 1d01 |027e: sget-object v14, Ldnsfilter/android/DNSProxyActivity;.link_field:Landroid/widget/TextView; // field@011d │ │ -01bffc: 6e10 0301 0e00 |0280: invoke-virtual {v14}, Landroid/widget/TextView;.getBackground:()Landroid/graphics/drawable/Drawable; // method@0103 │ │ -01c002: 0c0e |0283: move-result-object v14 │ │ -01c004: 20e1 2600 |0284: instance-of v1, v14, Landroid/graphics/drawable/ColorDrawable; // type@0026 │ │ -01c008: 3801 0a00 |0286: if-eqz v1, 0290 // +000a │ │ -01c00c: 1f0e 2600 |0288: check-cast v14, Landroid/graphics/drawable/ColorDrawable; // type@0026 │ │ -01c010: 6e10 5e00 0e00 |028a: invoke-virtual {v14}, Landroid/graphics/drawable/ColorDrawable;.getColor:()I // method@005e │ │ -01c016: 0a0e |028d: move-result v14 │ │ -01c018: 670e 1e01 |028e: sput v14, Ldnsfilter/android/DNSProxyActivity;.link_field_color:I // field@011e │ │ -01c01c: 140e 5800 057f |0290: const v14, #float 1.76789e+38 // #7f050058 │ │ -01c022: 6e20 ef02 ed00 |0293: invoke-virtual {v13, v14}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02ef │ │ -01c028: 0c0e |0296: move-result-object v14 │ │ -01c02a: 1f0e 7300 |0297: check-cast v14, Landroid/widget/TextView; // type@0073 │ │ -01c02e: 690e 3101 |0299: sput-object v14, Ldnsfilter/android/DNSProxyActivity;.scrollLockField:Landroid/widget/TextView; // field@0131 │ │ -01c032: 6301 3301 |029b: sget-boolean v1, Ldnsfilter/android/DNSProxyActivity;.scroll_locked:Z // field@0133 │ │ -01c036: 3801 0800 |029d: if-eqz v1, 02a5 // +0008 │ │ -01c03a: 6201 fb00 |029f: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.SCROLL_CONTINUE:Ljava/lang/String; // field@00fb │ │ -01c03e: 6e20 0901 1e00 |02a1: invoke-virtual {v14, v1}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@0109 │ │ -01c044: 2806 |02a4: goto 02aa // +0006 │ │ -01c046: 6201 fc00 |02a5: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.SCROLL_PAUSE:Ljava/lang/String; // field@00fc │ │ -01c04a: 6e20 0901 1e00 |02a7: invoke-virtual {v14, v1}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@0109 │ │ -01c050: 620e 3101 |02aa: sget-object v14, Ldnsfilter/android/DNSProxyActivity;.scrollLockField:Landroid/widget/TextView; // field@0131 │ │ -01c054: 6e20 0801 de00 |02ac: invoke-virtual {v14, v13}, Landroid/widget/TextView;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@0108 │ │ -01c05a: 140e 3d00 057f |02af: const v14, #float 1.76789e+38 // #7f05003d │ │ -01c060: 6e20 ef02 ed00 |02b2: invoke-virtual {v13, v14}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02ef │ │ -01c066: 0c0e |02b5: move-result-object v14 │ │ -01c068: 1f0e 6e00 |02b6: check-cast v14, Landroid/widget/ScrollView; // type@006e │ │ -01c06c: 5bde 3201 |02b8: iput-object v14, v13, Ldnsfilter/android/DNSProxyActivity;.scrollView:Landroid/widget/ScrollView; // field@0132 │ │ -01c070: 620e 1001 |02ba: sget-object v14, Ldnsfilter/android/DNSProxyActivity;.dnsField:Landroid/widget/TextView; // field@0110 │ │ -01c074: 380e 0b00 |02bc: if-eqz v14, 02c7 // +000b │ │ -01c078: 6e10 0401 0e00 |02be: invoke-virtual {v14}, Landroid/widget/TextView;.getText:()Ljava/lang/CharSequence; // method@0104 │ │ -01c07e: 0c0e |02c1: move-result-object v14 │ │ -01c080: 7210 5005 0e00 |02c2: invoke-interface {v14}, Ljava/lang/CharSequence;.toString:()Ljava/lang/String; // method@0550 │ │ -01c086: 0c0e |02c5: move-result-object v14 │ │ -01c088: 2802 |02c6: goto 02c8 // +0002 │ │ -01c08a: 072e |02c7: move-object v14, v2 │ │ -01c08c: 1401 1c00 057f |02c8: const v1, #float 1.76788e+38 // #7f05001c │ │ -01c092: 6e20 ef02 1d00 |02cb: invoke-virtual {v13, v1}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02ef │ │ -01c098: 0c01 |02ce: move-result-object v1 │ │ -01c09a: 1f01 7300 |02cf: check-cast v1, Landroid/widget/TextView; // type@0073 │ │ -01c09e: 6901 1001 |02d1: sput-object v1, Ldnsfilter/android/DNSProxyActivity;.dnsField:Landroid/widget/TextView; // field@0110 │ │ -01c0a2: 6e20 0901 e100 |02d3: invoke-virtual {v1, v14}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@0109 │ │ -01c0a8: 6201 1001 |02d6: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.dnsField:Landroid/widget/TextView; // field@0110 │ │ -01c0ac: 1214 |02d8: const/4 v4, #int 1 // #1 │ │ -01c0ae: 6e20 0601 4100 |02d9: invoke-virtual {v1, v4}, Landroid/widget/TextView;.setEnabled:(Z)V // method@0106 │ │ -01c0b4: 6201 1001 |02dc: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.dnsField:Landroid/widget/TextView; // field@0110 │ │ -01c0b8: 6e20 0801 d100 |02de: invoke-virtual {v1, v13}, Landroid/widget/TextView;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@0108 │ │ -01c0be: 6201 1301 |02e1: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.enableAdFilterCheck:Landroid/widget/CheckBox; // field@0113 │ │ -01c0c2: 3801 0a00 |02e3: if-eqz v1, 02ed // +000a │ │ -01c0c6: 6e10 cc00 0100 |02e5: invoke-virtual {v1}, Landroid/widget/CheckBox;.isChecked:()Z // method@00cc │ │ -01c0cc: 0a01 |02e8: move-result v1 │ │ -01c0ce: 3801 0400 |02e9: if-eqz v1, 02ed // +0004 │ │ -01c0d2: 1211 |02eb: const/4 v1, #int 1 // #1 │ │ -01c0d4: 2802 |02ec: goto 02ee // +0002 │ │ -01c0d6: 1201 |02ed: const/4 v1, #int 0 // #0 │ │ -01c0d8: 1407 2600 057f |02ee: const v7, #float 1.76788e+38 // #7f050026 │ │ -01c0de: 6e20 ef02 7d00 |02f1: invoke-virtual {v13, v7}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02ef │ │ -01c0e4: 0c07 |02f4: move-result-object v7 │ │ -01c0e6: 1f07 6400 |02f5: check-cast v7, Landroid/widget/CheckBox; // type@0064 │ │ -01c0ea: 6907 1301 |02f7: sput-object v7, Ldnsfilter/android/DNSProxyActivity;.enableAdFilterCheck:Landroid/widget/CheckBox; // field@0113 │ │ -01c0ee: 6e20 cd00 1700 |02f9: invoke-virtual {v7, v1}, Landroid/widget/CheckBox;.setChecked:(Z)V // method@00cd │ │ -01c0f4: 6201 1301 |02fc: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.enableAdFilterCheck:Landroid/widget/CheckBox; // field@0113 │ │ -01c0f8: 6e20 d000 d100 |02fe: invoke-virtual {v1, v13}, Landroid/widget/CheckBox;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@00d0 │ │ -01c0fe: 6201 1401 |0301: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.enableAutoStartCheck:Landroid/widget/CheckBox; // field@0114 │ │ -01c102: 3801 0a00 |0303: if-eqz v1, 030d // +000a │ │ -01c106: 6e10 cc00 0100 |0305: invoke-virtual {v1}, Landroid/widget/CheckBox;.isChecked:()Z // method@00cc │ │ -01c10c: 0a01 |0308: move-result v1 │ │ -01c10e: 3801 0400 |0309: if-eqz v1, 030d // +0004 │ │ -01c112: 1211 |030b: const/4 v1, #int 1 // #1 │ │ -01c114: 2802 |030c: goto 030e // +0002 │ │ -01c116: 1201 |030d: const/4 v1, #int 0 // #0 │ │ -01c118: 1407 2700 057f |030e: const v7, #float 1.76788e+38 // #7f050027 │ │ -01c11e: 6e20 ef02 7d00 |0311: invoke-virtual {v13, v7}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02ef │ │ -01c124: 0c07 |0314: move-result-object v7 │ │ -01c126: 1f07 6400 |0315: check-cast v7, Landroid/widget/CheckBox; // type@0064 │ │ -01c12a: 6907 1401 |0317: sput-object v7, Ldnsfilter/android/DNSProxyActivity;.enableAutoStartCheck:Landroid/widget/CheckBox; // field@0114 │ │ -01c12e: 6e20 cd00 1700 |0319: invoke-virtual {v7, v1}, Landroid/widget/CheckBox;.setChecked:(Z)V // method@00cd │ │ -01c134: 6201 1401 |031c: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.enableAutoStartCheck:Landroid/widget/CheckBox; // field@0114 │ │ -01c138: 6e20 d000 d100 |031e: invoke-virtual {v1, v13}, Landroid/widget/CheckBox;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@00d0 │ │ -01c13e: 6201 0c01 |0321: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.backupRestoreCheck:Landroid/widget/CheckBox; // field@010c │ │ -01c142: 3801 0a00 |0323: if-eqz v1, 032d // +000a │ │ -01c146: 6e10 cc00 0100 |0325: invoke-virtual {v1}, Landroid/widget/CheckBox;.isChecked:()Z // method@00cc │ │ -01c14c: 0a01 |0328: move-result v1 │ │ -01c14e: 3801 0400 |0329: if-eqz v1, 032d // +0004 │ │ -01c152: 1211 |032b: const/4 v1, #int 1 // #1 │ │ -01c154: 2802 |032c: goto 032e // +0002 │ │ -01c156: 1201 |032d: const/4 v1, #int 0 // #0 │ │ -01c158: 1407 1100 057f |032e: const v7, #float 1.76788e+38 // #7f050011 │ │ -01c15e: 6e20 ef02 7d00 |0331: invoke-virtual {v13, v7}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02ef │ │ -01c164: 0c07 |0334: move-result-object v7 │ │ -01c166: 1f07 6400 |0335: check-cast v7, Landroid/widget/CheckBox; // type@0064 │ │ -01c16a: 6907 0c01 |0337: sput-object v7, Ldnsfilter/android/DNSProxyActivity;.backupRestoreCheck:Landroid/widget/CheckBox; // field@010c │ │ -01c16e: 6e20 cd00 1700 |0339: invoke-virtual {v7, v1}, Landroid/widget/CheckBox;.setChecked:(Z)V // method@00cd │ │ -01c174: 6201 0c01 |033c: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.backupRestoreCheck:Landroid/widget/CheckBox; // field@010c │ │ -01c178: 6e20 d000 d100 |033e: invoke-virtual {v1, v13}, Landroid/widget/CheckBox;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@00d0 │ │ -01c17e: 6201 0601 |0341: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.appWhiteListCheck:Landroid/widget/CheckBox; // field@0106 │ │ -01c182: 3801 0a00 |0343: if-eqz v1, 034d // +000a │ │ -01c186: 6e10 cc00 0100 |0345: invoke-virtual {v1}, Landroid/widget/CheckBox;.isChecked:()Z // method@00cc │ │ -01c18c: 0a01 |0348: move-result v1 │ │ -01c18e: 3801 0400 |0349: if-eqz v1, 034d // +0004 │ │ -01c192: 1211 |034b: const/4 v1, #int 1 // #1 │ │ -01c194: 2802 |034c: goto 034e // +0002 │ │ -01c196: 1201 |034d: const/4 v1, #int 0 // #0 │ │ -01c198: 1407 0d00 057f |034e: const v7, #float 1.76788e+38 // #7f05000d │ │ -01c19e: 6e20 ef02 7d00 |0351: invoke-virtual {v13, v7}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02ef │ │ -01c1a4: 0c07 |0354: move-result-object v7 │ │ -01c1a6: 1f07 6400 |0355: check-cast v7, Landroid/widget/CheckBox; // type@0064 │ │ -01c1aa: 6907 0601 |0357: sput-object v7, Ldnsfilter/android/DNSProxyActivity;.appWhiteListCheck:Landroid/widget/CheckBox; // field@0106 │ │ -01c1ae: 6e20 cd00 1700 |0359: invoke-virtual {v7, v1}, Landroid/widget/CheckBox;.setChecked:(Z)V // method@00cd │ │ -01c1b4: 6201 0601 |035c: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.appWhiteListCheck:Landroid/widget/CheckBox; // field@0106 │ │ -01c1b8: 6e20 d000 d100 |035e: invoke-virtual {v1, v13}, Landroid/widget/CheckBox;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@00d0 │ │ -01c1be: 6201 1c01 |0361: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.keepAwakeCheck:Landroid/widget/CheckBox; // field@011c │ │ -01c1c2: 3801 0a00 |0363: if-eqz v1, 036d // +000a │ │ -01c1c6: 6e10 cc00 0100 |0365: invoke-virtual {v1}, Landroid/widget/CheckBox;.isChecked:()Z // method@00cc │ │ -01c1cc: 0a01 |0368: move-result v1 │ │ -01c1ce: 3801 0400 |0369: if-eqz v1, 036d // +0004 │ │ -01c1d2: 1211 |036b: const/4 v1, #int 1 // #1 │ │ -01c1d4: 2802 |036c: goto 036e // +0002 │ │ -01c1d6: 1201 |036d: const/4 v1, #int 0 // #0 │ │ -01c1d8: 1407 3700 057f |036e: const v7, #float 1.76788e+38 // #7f050037 │ │ -01c1de: 6e20 ef02 7d00 |0371: invoke-virtual {v13, v7}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02ef │ │ -01c1e4: 0c07 |0374: move-result-object v7 │ │ -01c1e6: 1f07 6400 |0375: check-cast v7, Landroid/widget/CheckBox; // type@0064 │ │ -01c1ea: 6907 1c01 |0377: sput-object v7, Ldnsfilter/android/DNSProxyActivity;.keepAwakeCheck:Landroid/widget/CheckBox; // field@011c │ │ -01c1ee: 6e20 cd00 1700 |0379: invoke-virtual {v7, v1}, Landroid/widget/CheckBox;.setChecked:(Z)V // method@00cd │ │ -01c1f4: 6201 1c01 |037c: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.keepAwakeCheck:Landroid/widget/CheckBox; // field@011c │ │ -01c1f8: 6e20 d000 d100 |037e: invoke-virtual {v1, v13}, Landroid/widget/CheckBox;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@00d0 │ │ -01c1fe: 6201 2901 |0381: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.proxyModeCheck:Landroid/widget/CheckBox; // field@0129 │ │ -01c202: 3801 0a00 |0383: if-eqz v1, 038d // +000a │ │ -01c206: 6e10 cc00 0100 |0385: invoke-virtual {v1}, Landroid/widget/CheckBox;.isChecked:()Z // method@00cc │ │ -01c20c: 0a01 |0388: move-result v1 │ │ -01c20e: 3801 0400 |0389: if-eqz v1, 038d // +0004 │ │ -01c212: 1211 |038b: const/4 v1, #int 1 // #1 │ │ -01c214: 2802 |038c: goto 038e // +0002 │ │ -01c216: 1201 |038d: const/4 v1, #int 0 // #0 │ │ -01c218: 1407 4b00 057f |038e: const v7, #float 1.76789e+38 // #7f05004b │ │ -01c21e: 6e20 ef02 7d00 |0391: invoke-virtual {v13, v7}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02ef │ │ -01c224: 0c07 |0394: move-result-object v7 │ │ -01c226: 1f07 6400 |0395: check-cast v7, Landroid/widget/CheckBox; // type@0064 │ │ -01c22a: 6907 2901 |0397: sput-object v7, Ldnsfilter/android/DNSProxyActivity;.proxyModeCheck:Landroid/widget/CheckBox; // field@0129 │ │ -01c22e: 6e20 cd00 1700 |0399: invoke-virtual {v7, v1}, Landroid/widget/CheckBox;.setChecked:(Z)V // method@00cd │ │ -01c234: 6201 2901 |039c: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.proxyModeCheck:Landroid/widget/CheckBox; // field@0129 │ │ -01c238: 6e20 d000 d100 |039e: invoke-virtual {v1, v13}, Landroid/widget/CheckBox;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@00d0 │ │ -01c23e: 6201 2801 |03a1: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.proxyLocalOnlyCheck:Landroid/widget/CheckBox; // field@0128 │ │ -01c242: 3801 0a00 |03a3: if-eqz v1, 03ad // +000a │ │ -01c246: 6e10 cc00 0100 |03a5: invoke-virtual {v1}, Landroid/widget/CheckBox;.isChecked:()Z // method@00cc │ │ -01c24c: 0a01 |03a8: move-result v1 │ │ -01c24e: 3801 0400 |03a9: if-eqz v1, 03ad // +0004 │ │ -01c252: 1211 |03ab: const/4 v1, #int 1 // #1 │ │ -01c254: 2802 |03ac: goto 03ae // +0002 │ │ -01c256: 1201 |03ad: const/4 v1, #int 0 // #0 │ │ -01c258: 1407 4a00 057f |03ae: const v7, #float 1.76789e+38 // #7f05004a │ │ -01c25e: 6e20 ef02 7d00 |03b1: invoke-virtual {v13, v7}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02ef │ │ -01c264: 0c07 |03b4: move-result-object v7 │ │ -01c266: 1f07 6400 |03b5: check-cast v7, Landroid/widget/CheckBox; // type@0064 │ │ -01c26a: 6907 2801 |03b7: sput-object v7, Ldnsfilter/android/DNSProxyActivity;.proxyLocalOnlyCheck:Landroid/widget/CheckBox; // field@0128 │ │ -01c26e: 6e20 cd00 1700 |03b9: invoke-virtual {v7, v1}, Landroid/widget/CheckBox;.setChecked:(Z)V // method@00cd │ │ -01c274: 6201 2801 |03bc: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.proxyLocalOnlyCheck:Landroid/widget/CheckBox; // field@0128 │ │ -01c278: 6e20 d000 d100 |03be: invoke-virtual {v1, v13}, Landroid/widget/CheckBox;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@00d0 │ │ -01c27e: 6201 3001 |03c1: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.rootModeCheck:Landroid/widget/CheckBox; // field@0130 │ │ -01c282: 3801 0a00 |03c3: if-eqz v1, 03cd // +000a │ │ -01c286: 6e10 cc00 0100 |03c5: invoke-virtual {v1}, Landroid/widget/CheckBox;.isChecked:()Z // method@00cc │ │ -01c28c: 0a01 |03c8: move-result v1 │ │ -01c28e: 3801 0400 |03c9: if-eqz v1, 03cd // +0004 │ │ -01c292: 1211 |03cb: const/4 v1, #int 1 // #1 │ │ -01c294: 2802 |03cc: goto 03ce // +0002 │ │ -01c296: 1201 |03cd: const/4 v1, #int 0 // #0 │ │ -01c298: 1407 5600 057f |03ce: const v7, #float 1.76789e+38 // #7f050056 │ │ -01c29e: 6e20 ef02 7d00 |03d1: invoke-virtual {v13, v7}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02ef │ │ -01c2a4: 0c07 |03d4: move-result-object v7 │ │ -01c2a6: 1f07 6400 |03d5: check-cast v7, Landroid/widget/CheckBox; // type@0064 │ │ -01c2aa: 6907 3001 |03d7: sput-object v7, Ldnsfilter/android/DNSProxyActivity;.rootModeCheck:Landroid/widget/CheckBox; // field@0130 │ │ -01c2ae: 6e20 cd00 1700 |03d9: invoke-virtual {v7, v1}, Landroid/widget/CheckBox;.setChecked:(Z)V // method@00cd │ │ -01c2b4: 6201 3001 |03dc: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.rootModeCheck:Landroid/widget/CheckBox; // field@0130 │ │ -01c2b8: 6e20 d000 d100 |03de: invoke-virtual {v1, v13}, Landroid/widget/CheckBox;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@00d0 │ │ -01c2be: 6201 1501 |03e1: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.enableCloakProtectCheck:Landroid/widget/CheckBox; // field@0115 │ │ -01c2c2: 3801 0a00 |03e3: if-eqz v1, 03ed // +000a │ │ -01c2c6: 6e10 cc00 0100 |03e5: invoke-virtual {v1}, Landroid/widget/CheckBox;.isChecked:()Z // method@00cc │ │ -01c2cc: 0a01 |03e8: move-result v1 │ │ -01c2ce: 3801 0400 |03e9: if-eqz v1, 03ed // +0004 │ │ -01c2d2: 1211 |03eb: const/4 v1, #int 1 // #1 │ │ -01c2d4: 2802 |03ec: goto 03ee // +0002 │ │ -01c2d6: 1201 |03ed: const/4 v1, #int 0 // #0 │ │ -01c2d8: 1407 1500 057f |03ee: const v7, #float 1.76788e+38 // #7f050015 │ │ -01c2de: 6e20 ef02 7d00 |03f1: invoke-virtual {v13, v7}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02ef │ │ -01c2e4: 0c07 |03f4: move-result-object v7 │ │ -01c2e6: 1f07 6400 |03f5: check-cast v7, Landroid/widget/CheckBox; // type@0064 │ │ -01c2ea: 6907 1501 |03f7: sput-object v7, Ldnsfilter/android/DNSProxyActivity;.enableCloakProtectCheck:Landroid/widget/CheckBox; // field@0115 │ │ -01c2ee: 6e20 cd00 1700 |03f9: invoke-virtual {v7, v1}, Landroid/widget/CheckBox;.setChecked:(Z)V // method@00cd │ │ -01c2f4: 6201 1501 |03fc: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.enableCloakProtectCheck:Landroid/widget/CheckBox; // field@0115 │ │ -01c2f8: 6e20 d000 d100 |03fe: invoke-virtual {v1, v13}, Landroid/widget/CheckBox;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@00d0 │ │ -01c2fe: 6201 0301 |0401: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.advancedConfigCheck:Landroid/widget/CheckBox; // field@0103 │ │ -01c302: 3801 0a00 |0403: if-eqz v1, 040d // +000a │ │ -01c306: 6e10 cc00 0100 |0405: invoke-virtual {v1}, Landroid/widget/CheckBox;.isChecked:()Z // method@00cc │ │ -01c30c: 0a01 |0408: move-result v1 │ │ -01c30e: 3801 0400 |0409: if-eqz v1, 040d // +0004 │ │ -01c312: 1211 |040b: const/4 v1, #int 1 // #1 │ │ -01c314: 2802 |040c: goto 040e // +0002 │ │ -01c316: 1201 |040d: const/4 v1, #int 0 // #0 │ │ -01c318: 1407 0a00 057f |040e: const v7, #float 1.76788e+38 // #7f05000a │ │ -01c31e: 6e20 ef02 7d00 |0411: invoke-virtual {v13, v7}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02ef │ │ -01c324: 0c07 |0414: move-result-object v7 │ │ -01c326: 1f07 6400 |0415: check-cast v7, Landroid/widget/CheckBox; // type@0064 │ │ -01c32a: 6907 0301 |0417: sput-object v7, Ldnsfilter/android/DNSProxyActivity;.advancedConfigCheck:Landroid/widget/CheckBox; // field@0103 │ │ -01c32e: 6e20 cd00 1700 |0419: invoke-virtual {v7, v1}, Landroid/widget/CheckBox;.setChecked:(Z)V // method@00cd │ │ -01c334: 6201 0301 |041c: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.advancedConfigCheck:Landroid/widget/CheckBox; // field@0103 │ │ -01c338: 6e20 d000 d100 |041e: invoke-virtual {v1, v13}, Landroid/widget/CheckBox;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@00d0 │ │ -01c33e: 6201 1201 |0421: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.editFilterLoadCheck:Landroid/widget/CheckBox; // field@0112 │ │ -01c342: 3801 0a00 |0423: if-eqz v1, 042d // +000a │ │ -01c346: 6e10 cc00 0100 |0425: invoke-virtual {v1}, Landroid/widget/CheckBox;.isChecked:()Z // method@00cc │ │ -01c34c: 0a01 |0428: move-result v1 │ │ -01c34e: 3801 0400 |0429: if-eqz v1, 042d // +0004 │ │ -01c352: 1211 |042b: const/4 v1, #int 1 // #1 │ │ -01c354: 2802 |042c: goto 042e // +0002 │ │ -01c356: 1201 |042d: const/4 v1, #int 0 // #0 │ │ -01c358: 1407 2200 057f |042e: const v7, #float 1.76788e+38 // #7f050022 │ │ -01c35e: 6e20 ef02 7d00 |0431: invoke-virtual {v13, v7}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02ef │ │ -01c364: 0c07 |0434: move-result-object v7 │ │ -01c366: 1f07 6400 |0435: check-cast v7, Landroid/widget/CheckBox; // type@0064 │ │ -01c36a: 6907 1201 |0437: sput-object v7, Ldnsfilter/android/DNSProxyActivity;.editFilterLoadCheck:Landroid/widget/CheckBox; // field@0112 │ │ -01c36e: 6e20 cd00 1700 |0439: invoke-virtual {v7, v1}, Landroid/widget/CheckBox;.setChecked:(Z)V // method@00cd │ │ -01c374: 6201 1201 |043c: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.editFilterLoadCheck:Landroid/widget/CheckBox; // field@0112 │ │ -01c378: 6e20 d000 d100 |043e: invoke-virtual {v1, v13}, Landroid/widget/CheckBox;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@00d0 │ │ -01c37e: 6201 2201 |0441: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.manuallyEditConfChk:Landroid/widget/CheckBox; // field@0122 │ │ -01c382: 3801 0a00 |0443: if-eqz v1, 044d // +000a │ │ -01c386: 6e10 cc00 0100 |0445: invoke-virtual {v1}, Landroid/widget/CheckBox;.isChecked:()Z // method@00cc │ │ -01c38c: 0a01 |0448: move-result v1 │ │ -01c38e: 3801 0400 |0449: if-eqz v1, 044d // +0004 │ │ -01c392: 1211 |044b: const/4 v1, #int 1 // #1 │ │ -01c394: 2802 |044c: goto 044e // +0002 │ │ -01c396: 1201 |044d: const/4 v1, #int 0 // #0 │ │ -01c398: 1407 4300 057f |044e: const v7, #float 1.76789e+38 // #7f050043 │ │ -01c39e: 6e20 ef02 7d00 |0451: invoke-virtual {v13, v7}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02ef │ │ -01c3a4: 0c07 |0454: move-result-object v7 │ │ -01c3a6: 1f07 6400 |0455: check-cast v7, Landroid/widget/CheckBox; // type@0064 │ │ -01c3aa: 6907 2201 |0457: sput-object v7, Ldnsfilter/android/DNSProxyActivity;.manuallyEditConfChk:Landroid/widget/CheckBox; // field@0122 │ │ -01c3ae: 6e20 cd00 1700 |0459: invoke-virtual {v7, v1}, Landroid/widget/CheckBox;.setChecked:(Z)V // method@00cd │ │ -01c3b4: 6201 2201 |045c: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.manuallyEditConfChk:Landroid/widget/CheckBox; // field@0122 │ │ -01c3b8: 6e20 d000 d100 |045e: invoke-virtual {v1, v13}, Landroid/widget/CheckBox;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@00d0 │ │ -01c3be: 6201 1101 |0461: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.editAdditionalHostsCheck:Landroid/widget/CheckBox; // field@0111 │ │ -01c3c2: 3801 0a00 |0463: if-eqz v1, 046d // +000a │ │ -01c3c6: 6e10 cc00 0100 |0465: invoke-virtual {v1}, Landroid/widget/CheckBox;.isChecked:()Z // method@00cc │ │ -01c3cc: 0a01 |0468: move-result v1 │ │ -01c3ce: 3801 0400 |0469: if-eqz v1, 046d // +0004 │ │ -01c3d2: 1211 |046b: const/4 v1, #int 1 // #1 │ │ -01c3d4: 2802 |046c: goto 046e // +0002 │ │ -01c3d6: 1201 |046d: const/4 v1, #int 0 // #0 │ │ -01c3d8: 1407 1d00 057f |046e: const v7, #float 1.76788e+38 // #7f05001d │ │ -01c3de: 6e20 ef02 7d00 |0471: invoke-virtual {v13, v7}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02ef │ │ -01c3e4: 0c07 |0474: move-result-object v7 │ │ -01c3e6: 1f07 6400 |0475: check-cast v7, Landroid/widget/CheckBox; // type@0064 │ │ -01c3ea: 6907 1101 |0477: sput-object v7, Ldnsfilter/android/DNSProxyActivity;.editAdditionalHostsCheck:Landroid/widget/CheckBox; // field@0111 │ │ -01c3ee: 6e20 cd00 1700 |0479: invoke-virtual {v7, v1}, Landroid/widget/CheckBox;.setChecked:(Z)V // method@00cd │ │ -01c3f4: 6201 1101 |047c: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.editAdditionalHostsCheck:Landroid/widget/CheckBox; // field@0111 │ │ -01c3f8: 6e20 d000 d100 |047e: invoke-virtual {v1, v13}, Landroid/widget/CheckBox;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@00d0 │ │ -01c3fe: 1401 0c00 057f |0481: const v1, #float 1.76788e+38 // #7f05000c │ │ -01c404: 6e20 ef02 1d00 |0484: invoke-virtual {v13, v1}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02ef │ │ -01c40a: 0c01 |0487: move-result-object v1 │ │ -01c40c: 1f01 6e00 |0488: check-cast v1, Landroid/widget/ScrollView; // type@006e │ │ -01c410: 6901 0701 |048a: sput-object v1, Ldnsfilter/android/DNSProxyActivity;.appWhiteListScroll:Landroid/widget/ScrollView; // field@0107 │ │ -01c414: 6201 0401 |048c: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.appSelector:Ldnsfilter/android/AppSelectorView; // field@0104 │ │ -01c418: 3801 0b00 |048e: if-eqz v1, 0499 // +000b │ │ -01c41c: 6e10 4e02 0100 |0490: invoke-virtual {v1}, Ldnsfilter/android/AppSelectorView;.clear:()V // method@024e │ │ -01c422: 6201 0401 |0493: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.appSelector:Ldnsfilter/android/AppSelectorView; // field@0104 │ │ -01c426: 6e10 5102 0100 |0495: invoke-virtual {v1}, Ldnsfilter/android/AppSelectorView;.getSelectedAppPackages:()Ljava/lang/String; // method@0251 │ │ -01c42c: 0c02 |0498: move-result-object v2 │ │ -01c42e: 1401 0b00 057f |0499: const v1, #float 1.76788e+38 // #7f05000b │ │ -01c434: 6e20 ef02 1d00 |049c: invoke-virtual {v13, v1}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02ef │ │ -01c43a: 0c01 |049f: move-result-object v1 │ │ -01c43c: 1f01 9d00 |04a0: check-cast v1, Ldnsfilter/android/AppSelectorView; // type@009d │ │ -01c440: 6901 0401 |04a2: sput-object v1, Ldnsfilter/android/DNSProxyActivity;.appSelector:Ldnsfilter/android/AppSelectorView; // field@0104 │ │ -01c444: 6e20 5802 2100 |04a4: invoke-virtual {v1, v2}, Ldnsfilter/android/AppSelectorView;.setSelectedApps:(Ljava/lang/String;)V // method@0258 │ │ -01c44a: 6201 0201 |04a7: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.additionalHostsField:Landroid/widget/EditText; // field@0102 │ │ -01c44e: 3801 0a00 |04a9: if-eqz v1, 04b3 // +000a │ │ -01c452: 6e10 da00 0100 |04ab: invoke-virtual {v1}, Landroid/widget/EditText;.getText:()Landroid/text/Editable; // method@00da │ │ -01c458: 0c0e |04ae: move-result-object v14 │ │ -01c45a: 6e10 7805 0e00 |04af: invoke-virtual {v14}, Ljava/lang/Object;.toString:()Ljava/lang/String; // method@0578 │ │ -01c460: 0c0e |04b2: move-result-object v14 │ │ -01c462: 1401 0800 057f |04b3: const v1, #float 1.76787e+38 // #7f050008 │ │ -01c468: 6e20 ef02 1d00 |04b6: invoke-virtual {v13, v1}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02ef │ │ -01c46e: 0c01 |04b9: move-result-object v1 │ │ -01c470: 1f01 6700 |04ba: check-cast v1, Landroid/widget/EditText; // type@0067 │ │ -01c474: 6901 0201 |04bc: sput-object v1, Ldnsfilter/android/DNSProxyActivity;.additionalHostsField:Landroid/widget/EditText; // field@0102 │ │ -01c478: 6e20 e600 e100 |04be: invoke-virtual {v1, v14}, Landroid/widget/EditText;.setText:(Ljava/lang/CharSequence;)V // method@00e6 │ │ -01c47e: 6201 0201 |04c1: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.additionalHostsField:Landroid/widget/EditText; // field@0102 │ │ -01c482: 6e20 d400 d100 |04c3: invoke-virtual {v1, v13}, Landroid/widget/EditText;.addTextChangedListener:(Landroid/text/TextWatcher;)V // method@00d4 │ │ -01c488: 6201 2301 |04c6: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.manuallyEditField:Landroid/widget/EditText; // field@0123 │ │ -01c48c: 3801 0a00 |04c8: if-eqz v1, 04d2 // +000a │ │ -01c490: 6e10 da00 0100 |04ca: invoke-virtual {v1}, Landroid/widget/EditText;.getText:()Landroid/text/Editable; // method@00da │ │ -01c496: 0c0e |04cd: move-result-object v14 │ │ -01c498: 6e10 7805 0e00 |04ce: invoke-virtual {v14}, Ljava/lang/Object;.toString:()Ljava/lang/String; // method@0578 │ │ -01c49e: 0c0e |04d1: move-result-object v14 │ │ -01c4a0: 1401 4400 057f |04d2: const v1, #float 1.76789e+38 // #7f050044 │ │ -01c4a6: 6e20 ef02 1d00 |04d5: invoke-virtual {v13, v1}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02ef │ │ -01c4ac: 0c01 |04d8: move-result-object v1 │ │ -01c4ae: 1f01 6700 |04d9: check-cast v1, Landroid/widget/EditText; // type@0067 │ │ -01c4b2: 6901 2301 |04db: sput-object v1, Ldnsfilter/android/DNSProxyActivity;.manuallyEditField:Landroid/widget/EditText; // field@0123 │ │ -01c4b6: 6e20 e600 e100 |04dd: invoke-virtual {v1, v14}, Landroid/widget/EditText;.setText:(Ljava/lang/CharSequence;)V // method@00e6 │ │ -01c4bc: 620e 2301 |04e0: sget-object v14, Ldnsfilter/android/DNSProxyActivity;.manuallyEditField:Landroid/widget/EditText; // field@0123 │ │ -01c4c0: 6e20 d400 de00 |04e2: invoke-virtual {v14, v13}, Landroid/widget/EditText;.addTextChangedListener:(Landroid/text/TextWatcher;)V // method@00d4 │ │ -01c4c6: 140e 1900 057f |04e5: const v14, #float 1.76788e+38 // #7f050019 │ │ -01c4cc: 6e20 ef02 ed00 |04e8: invoke-virtual {v13, v14}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02ef │ │ -01c4d2: 0c0e |04eb: move-result-object v14 │ │ -01c4d4: 1301 0800 |04ec: const/16 v1, #int 8 // #8 │ │ -01c4d8: 6e20 b400 1e00 |04ee: invoke-virtual {v14, v1}, Landroid/view/View;.setVisibility:(I)V // method@00b4 │ │ -01c4de: 7020 fb02 5d00 |04f1: invoke-direct {v13, v5}, Ldnsfilter/android/DNSProxyActivity;.handleAdvancedConfig:(Landroid/widget/CheckBox;)V // method@02fb │ │ -01c4e4: 620e 2401 |04f4: sget-object v14, Ldnsfilter/android/DNSProxyActivity;.myLogger:Lutil/SuppressRepeatingsLogger; // field@0124 │ │ -01c4e8: 380e 1000 |04f6: if-eqz v14, 0506 // +0010 │ │ -01c4ec: 620e ed00 |04f8: sget-object v14, Ldnsfilter/android/DNSProxyActivity;.CONFIG:Ldnsfilter/ConfigurationAccess; // field@00ed │ │ -01c4f0: 6e10 5701 0e00 |04fa: invoke-virtual {v14}, Ldnsfilter/ConfigurationAccess;.isLocal:()Z // method@0157 │ │ -01c4f6: 0a0e |04fd: move-result v14 │ │ -01c4f8: 380e 1d00 |04fe: if-eqz v14, 051b // +001d │ │ -01c4fc: 620e 2401 |0500: sget-object v14, Ldnsfilter/android/DNSProxyActivity;.myLogger:Lutil/SuppressRepeatingsLogger; // field@0124 │ │ -01c500: 6e20 7b07 de00 |0502: invoke-virtual {v14, v13}, Lutil/SuppressRepeatingsLogger;.setNestedLogger:(Lutil/LoggerInterface;)V // method@077b │ │ -01c506: 2816 |0505: goto 051b // +0016 │ │ -01c508: 220e 8e01 |0506: new-instance v14, Lutil/SuppressRepeatingsLogger; // type@018e │ │ -01c50c: 7020 7207 de00 |0508: invoke-direct {v14, v13}, Lutil/SuppressRepeatingsLogger;.:(Lutil/LoggerInterface;)V // method@0772 │ │ -01c512: 690e 2401 |050b: sput-object v14, Ldnsfilter/android/DNSProxyActivity;.myLogger:Lutil/SuppressRepeatingsLogger; // field@0124 │ │ -01c516: 220e 8201 |050d: new-instance v14, Lutil/GroupedLogger; // type@0182 │ │ -01c51a: 2341 b401 |050f: new-array v1, v4, [Lutil/LoggerInterface; // type@01b4 │ │ -01c51e: 6202 2401 |0511: sget-object v2, Ldnsfilter/android/DNSProxyActivity;.myLogger:Lutil/SuppressRepeatingsLogger; // field@0124 │ │ -01c522: 4d02 0106 |0513: aput-object v2, v1, v6 │ │ -01c526: 7020 f406 1e00 |0515: invoke-direct {v14, v1}, Lutil/GroupedLogger;.:([Lutil/LoggerInterface;)V // method@06f4 │ │ -01c52c: 7110 2c07 0e00 |0518: invoke-static {v14}, Lutil/Logger;.setLogger:(Lutil/LoggerInterface;)V // method@072c │ │ -01c532: 7100 5301 0000 |051b: invoke-static {}, Ldnsfilter/ConfigurationAccess;.getLocal:()Ldnsfilter/ConfigurationAccess; // method@0153 │ │ -01c538: 0c0e |051e: move-result-object v14 │ │ -01c53a: 6e10 4e01 0e00 |051f: invoke-virtual {v14}, Ldnsfilter/ConfigurationAccess;.getConfigUtil:()Ldnsfilter/ConfigUtil; // method@014e │ │ -01c540: 0c0e |0522: move-result-object v14 │ │ -01c542: 1a01 1407 |0523: const-string v1, "forceAndroidDisplayMode" // string@0714 │ │ -01c546: 1a02 0309 |0525: const-string v2, "none" // string@0903 │ │ -01c54a: 6e30 3a01 1e02 |0527: invoke-virtual {v14, v1, v2}, Ldnsfilter/ConfigUtil;.getConfigValue:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@013a │ │ -01c550: 0c0e |052a: move-result-object v14 │ │ -01c552: 6e10 a005 0e00 |052b: invoke-virtual {v14}, Ljava/lang/String;.trim:()Ljava/lang/String; // method@05a0 │ │ -01c558: 0c0e |052e: move-result-object v14 │ │ -01c55a: 1a01 7d09 |052f: const-string v1, "portrait" // string@097d │ │ -01c55e: 6e20 8c05 1e00 |0531: invoke-virtual {v14, v1}, Ljava/lang/String;.equalsIgnoreCase:(Ljava/lang/String;)Z // method@058c │ │ -01c564: 0a01 |0534: move-result v1 │ │ -01c566: 3801 0600 |0535: if-eqz v1, 053b // +0006 │ │ -01c56a: 6e20 2d03 4d00 |0537: invoke-virtual {v13, v4}, Ldnsfilter/android/DNSProxyActivity;.setRequestedOrientation:(I)V // method@032d │ │ -01c570: 281c |053a: goto 0556 // +001c │ │ -01c572: 1a01 8d08 |053b: const-string v1, "landscape" // string@088d │ │ -01c576: 6e20 8c05 1e00 |053d: invoke-virtual {v14, v1}, Ljava/lang/String;.equalsIgnoreCase:(Ljava/lang/String;)Z // method@058c │ │ -01c57c: 0a0e |0540: move-result v14 │ │ -01c57e: 380e 0600 |0541: if-eqz v14, 0547 // +0006 │ │ -01c582: 6e20 2d03 6d00 |0543: invoke-virtual {v13, v6}, Ldnsfilter/android/DNSProxyActivity;.setRequestedOrientation:(I)V // method@032d │ │ -01c588: 2810 |0546: goto 0556 // +0010 │ │ -01c58a: 6e10 f602 0d00 |0547: invoke-virtual {v13}, Ldnsfilter/android/DNSProxyActivity;.getResources:()Landroid/content/res/Resources; // method@02f6 │ │ -01c590: 0c0e |054a: move-result-object v14 │ │ -01c592: 1501 027f |054b: const/high16 v1, #int 2130837504 // #7f02 │ │ -01c596: 6e20 5500 1e00 |054d: invoke-virtual {v14, v1}, Landroid/content/res/Resources;.getBoolean:(I)Z // method@0055 │ │ -01c59c: 0a0e |0550: move-result v14 │ │ -01c59e: 380e 0500 |0551: if-eqz v14, 0556 // +0005 │ │ -01c5a2: 6e20 2d03 4d00 |0553: invoke-virtual {v13, v4}, Ldnsfilter/android/DNSProxyActivity;.setRequestedOrientation:(I)V // method@032d │ │ -01c5a8: 7100 5301 0000 |0556: invoke-static {}, Ldnsfilter/ConfigurationAccess;.getLocal:()Ldnsfilter/ConfigurationAccess; // method@0153 │ │ -01c5ae: 0c0e |0559: move-result-object v14 │ │ -01c5b0: 6e10 4e01 0e00 |055a: invoke-virtual {v14}, Ldnsfilter/ConfigurationAccess;.getConfigUtil:()Ldnsfilter/ConfigUtil; // method@014e │ │ -01c5b6: 0c0e |055d: move-result-object v14 │ │ -01c5b8: 1a01 4d06 |055e: const-string v1, "debug" // string@064d │ │ -01c5bc: 1a02 df06 |0560: const-string v2, "false" // string@06df │ │ -01c5c0: 6e30 3a01 1e02 |0562: invoke-virtual {v14, v1, v2}, Ldnsfilter/ConfigUtil;.getConfigValue:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@013a │ │ -01c5c6: 0c0e |0565: move-result-object v14 │ │ -01c5c8: 7110 4b05 0e00 |0566: invoke-static {v14}, Ljava/lang/Boolean;.parseBoolean:(Ljava/lang/String;)Z // method@054b │ │ -01c5ce: 0a0e |0569: move-result v14 │ │ -01c5d0: 6a0e 0f01 |056a: sput-boolean v14, Ldnsfilter/android/DNSProxyActivity;.debug:Z // field@010f │ │ -01c5d4: 380e 2200 |056c: if-eqz v14, 058e // +0022 │ │ -01c5d8: 7100 8105 0000 |056e: invoke-static {}, Ljava/lang/Runtime;.getRuntime:()Ljava/lang/Runtime; // method@0581 │ │ -01c5de: 0c0e |0571: move-result-object v14 │ │ -01c5e0: 2201 2d01 |0572: new-instance v1, Ljava/lang/StringBuilder; // type@012d │ │ -01c5e4: 7020 a805 3100 |0574: invoke-direct {v1, v3}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05a8 │ │ -01c5ea: 7100 d206 0000 |0577: invoke-static {}, Lutil/ExecutionEnvironment;.getEnvironment:()Lutil/ExecutionEnvironmentInterface; // method@06d2 │ │ -01c5f0: 0c02 |057a: move-result-object v2 │ │ -01c5f2: 7210 e206 0200 |057b: invoke-interface {v2}, Lutil/ExecutionEnvironmentInterface;.getWorkDir:()Ljava/lang/String; // method@06e2 │ │ -01c5f8: 0c02 |057e: move-result-object v2 │ │ -01c5fa: 6e20 ad05 2100 |057f: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -01c600: 1a02 6200 |0582: const-string v2, "/Logcat_file.txt" // string@0062 │ │ -01c604: 6e20 ad05 2100 |0584: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -01c60a: 6e10 af05 0100 |0587: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ -01c610: 0c01 |058a: move-result-object v1 │ │ -01c612: 6e20 8005 1e00 |058b: invoke-virtual {v14, v1}, Ljava/lang/Runtime;.exec:(Ljava/lang/String;)Ljava/lang/Process; // method@0580 │ │ -01c618: 630e 0501 |058e: sget-boolean v14, Ldnsfilter/android/DNSProxyActivity;.appStart:Z // field@0105 │ │ -01c61c: 380e 1a00 |0590: if-eqz v14, 05aa // +001a │ │ -01c620: 600e 0200 |0592: sget v14, Landroid/os/Build$VERSION;.SDK_INT:I // field@0002 │ │ -01c624: 1301 2100 |0594: const/16 v1, #int 33 // #21 │ │ -01c628: 341e 1100 |0596: if-lt v14, v1, 05a7 // +0011 │ │ -01c62c: 7120 5a02 0d00 |0598: invoke-static {v13, v0}, Ldnsfilter/android/BootUpReceiver$$ExternalSyntheticApiModelOutline0;.m:(Ldnsfilter/android/DNSProxyActivity;Ljava/lang/String;)I // method@025a │ │ -01c632: 0a0e |059b: move-result v14 │ │ -01c634: 380e 0b00 |059c: if-eqz v14, 05a7 // +000b │ │ -01c638: 234e ad01 |059e: new-array v14, v4, [Ljava/lang/String; // type@01ad │ │ -01c63c: 4d00 0e06 |05a0: aput-object v0, v14, v6 │ │ -01c640: 1300 6500 |05a2: const/16 v0, #int 101 // #65 │ │ -01c644: 7130 6e02 ed00 |05a4: invoke-static {v13, v14, v0}, Ldnsfilter/android/BootUpReceiver$$ExternalSyntheticApiModelOutline0;.m:(Ldnsfilter/android/DNSProxyActivity;[Ljava/lang/String;I)V // method@026e │ │ -01c64a: 7010 0203 0d00 |05a7: invoke-direct {v13}, Ldnsfilter/android/DNSProxyActivity;.initAppAndStartup:()V // method@0302 │ │ -01c650: 0e00 |05aa: return-void │ │ -01c652: 0d0e |05ab: move-exception v14 │ │ -01c654: 7020 ee02 ed00 |05ac: invoke-direct {v13, v14}, Ldnsfilter/android/DNSProxyActivity;.dump:(Ljava/lang/Exception;)V // method@02ee │ │ -01c65a: 2200 2901 |05af: new-instance v0, Ljava/lang/RuntimeException; // type@0129 │ │ -01c65e: 7020 8205 e000 |05b1: invoke-direct {v0, v14}, Ljava/lang/RuntimeException;.:(Ljava/lang/Throwable;)V // method@0582 │ │ -01c664: 2700 |05b4: throw v0 │ │ +01bd16: 6e20 ad05 7800 |010f: invoke-virtual {v8, v7}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +01bd1c: 6e10 af05 0800 |0112: invoke-virtual {v8}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ +01bd22: 0c07 |0115: move-result-object v7 │ │ +01bd24: 7020 e102 7d00 |0116: invoke-direct {v13, v7}, Ldnsfilter/android/DNSProxyActivity;.addToLogView:(Ljava/lang/String;)V // method@02e1 │ │ +01bd2a: 2207 2d01 |0119: new-instance v7, Ljava/lang/StringBuilder; // type@012d │ │ +01bd2e: 7020 a805 4700 |011b: invoke-direct {v7, v4}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05a8 │ │ +01bd34: 6e20 ad05 e700 |011e: invoke-virtual {v7, v14}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +01bd3a: 1a0e 0f00 |0121: const-string v14, " (Connections:" // string@000f │ │ +01bd3e: 6e20 ad05 e700 |0123: invoke-virtual {v7, v14}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +01bd44: 6e20 ad05 1700 |0126: invoke-virtual {v7, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +01bd4a: 1a0e 4800 |0129: const-string v14, ")" // string@0048 │ │ +01bd4e: 6e20 ad05 e700 |012b: invoke-virtual {v7, v14}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +01bd54: 6e10 af05 0700 |012e: invoke-virtual {v7}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ +01bd5a: 0c0e |0131: move-result-object v14 │ │ +01bd5c: 6e20 2e03 ed00 |0132: invoke-virtual {v13, v14}, Ldnsfilter/android/DNSProxyActivity;.setTitle:(Ljava/lang/CharSequence;)V // method@032e │ │ +01bd62: 620e 1601 |0135: sget-object v14, Ldnsfilter/android/DNSProxyActivity;.filterCfg:Ldnsfilter/android/FilterConfig; // field@0116 │ │ +01bd66: 380e 1200 |0137: if-eqz v14, 0149 // +0012 │ │ +01bd6a: 6e10 3d03 0e00 |0139: invoke-virtual {v14}, Ldnsfilter/android/FilterConfig;.getFilterEntries:()[Ldnsfilter/ConfigUtil$HostFilterList; // method@033d │ │ +01bd70: 0c0e |013c: move-result-object v14 │ │ +01bd72: 6201 1601 |013d: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.filterCfg:Ldnsfilter/android/FilterConfig; // field@0116 │ │ +01bd76: 6e10 3c03 0100 |013f: invoke-virtual {v1}, Ldnsfilter/android/FilterConfig;.getCurrentCategory:()Ljava/lang/String; // method@033c │ │ +01bd7c: 0c01 |0142: move-result-object v1 │ │ +01bd7e: 6204 1601 |0143: sget-object v4, Ldnsfilter/android/DNSProxyActivity;.filterCfg:Ldnsfilter/android/FilterConfig; // field@0116 │ │ +01bd82: 6e10 3a03 0400 |0145: invoke-virtual {v4}, Ldnsfilter/android/FilterConfig;.clear:()V // method@033a │ │ +01bd88: 2803 |0148: goto 014b // +0003 │ │ +01bd8a: 075e |0149: move-object v14, v5 │ │ +01bd8c: 07e1 |014a: move-object v1, v14 │ │ +01bd8e: 1404 0100 057f |014b: const v4, #float 1.76787e+38 // #7f050001 │ │ +01bd94: 6e20 ef02 4d00 |014e: invoke-virtual {v13, v4}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02ef │ │ +01bd9a: 0c04 |0151: move-result-object v4 │ │ +01bd9c: 0749 |0152: move-object v9, v4 │ │ +01bd9e: 1f09 6300 |0153: check-cast v9, Landroid/widget/Button; // type@0063 │ │ +01bda2: 1504 057f |0155: const/high16 v4, #int 2131034112 // #7f05 │ │ +01bda6: 6e20 ef02 4d00 |0157: invoke-virtual {v13, v4}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02ef │ │ +01bdac: 0c04 |015a: move-result-object v4 │ │ +01bdae: 074a |015b: move-object v10, v4 │ │ +01bdb0: 1f0a 6300 |015c: check-cast v10, Landroid/widget/Button; // type@0063 │ │ +01bdb4: 1404 1400 057f |015e: const v4, #float 1.76788e+38 // #7f050014 │ │ +01bdba: 6e20 ef02 4d00 |0161: invoke-virtual {v13, v4}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02ef │ │ +01bdc0: 0c04 |0164: move-result-object v4 │ │ +01bdc2: 074b |0165: move-object v11, v4 │ │ +01bdc4: 1f0b 7300 |0166: check-cast v11, Landroid/widget/TextView; // type@0073 │ │ +01bdc8: 1404 5300 057f |0168: const v4, #float 1.76789e+38 // #7f050053 │ │ +01bdce: 6e20 ef02 4d00 |016b: invoke-virtual {v13, v4}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02ef │ │ +01bdd4: 0c04 |016e: move-result-object v4 │ │ +01bdd6: 074c |016f: move-object v12, v4 │ │ +01bdd8: 1f0c 6300 |0170: check-cast v12, Landroid/widget/Button; // type@0063 │ │ +01bddc: 2204 b100 |0172: new-instance v4, Ldnsfilter/android/FilterConfig; // type@00b1 │ │ +01bde0: 1407 3000 057f |0174: const v7, #float 1.76788e+38 // #7f050030 │ │ +01bde6: 6e20 ef02 7d00 |0177: invoke-virtual {v13, v7}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02ef │ │ +01bdec: 0c07 |017a: move-result-object v7 │ │ +01bdee: 0778 |017b: move-object v8, v7 │ │ +01bdf0: 1f08 7100 |017c: check-cast v8, Landroid/widget/TableLayout; // type@0071 │ │ +01bdf4: 0747 |017e: move-object v7, v4 │ │ +01bdf6: 7606 3703 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@0337 │ │ +01bdfc: 6904 1601 |0182: sput-object v4, Ldnsfilter/android/DNSProxyActivity;.filterCfg:Ldnsfilter/android/FilterConfig; // field@0116 │ │ +01be00: 380e 0a00 |0184: if-eqz v14, 018e // +000a │ │ +01be04: 6e20 4603 e400 |0186: invoke-virtual {v4, v14}, Ldnsfilter/android/FilterConfig;.setEntries:([Ldnsfilter/ConfigUtil$HostFilterList;)V // method@0346 │ │ +01be0a: 620e 1601 |0189: sget-object v14, Ldnsfilter/android/DNSProxyActivity;.filterCfg:Ldnsfilter/android/FilterConfig; // field@0116 │ │ +01be0e: 6e20 4503 1e00 |018b: invoke-virtual {v14, v1}, Ldnsfilter/android/FilterConfig;.setCurrentCategory:(Ljava/lang/String;)V // method@0345 │ │ +01be14: 620e 1801 |018e: sget-object v14, Ldnsfilter/android/DNSProxyActivity;.filterReloadIntervalView:Landroid/widget/EditText; // field@0118 │ │ +01be18: 380e 0b00 |0190: if-eqz v14, 019b // +000b │ │ +01be1c: 6e10 da00 0e00 |0192: invoke-virtual {v14}, Landroid/widget/EditText;.getText:()Landroid/text/Editable; // method@00da │ │ +01be22: 0c0e |0195: move-result-object v14 │ │ +01be24: 6e10 7805 0e00 |0196: invoke-virtual {v14}, Ljava/lang/Object;.toString:()Ljava/lang/String; // method@0578 │ │ +01be2a: 0c0e |0199: move-result-object v14 │ │ +01be2c: 2802 |019a: goto 019c // +0002 │ │ +01be2e: 072e |019b: move-object v14, v2 │ │ +01be30: 1401 3200 057f |019c: const v1, #float 1.76788e+38 // #7f050032 │ │ +01be36: 6e20 ef02 1d00 |019f: invoke-virtual {v13, v1}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02ef │ │ +01be3c: 0c01 |01a2: move-result-object v1 │ │ +01be3e: 1f01 6700 |01a3: check-cast v1, Landroid/widget/EditText; // type@0067 │ │ +01be42: 6901 1801 |01a5: sput-object v1, Ldnsfilter/android/DNSProxyActivity;.filterReloadIntervalView:Landroid/widget/EditText; // field@0118 │ │ +01be46: 6e20 e600 e100 |01a7: invoke-virtual {v1, v14}, Landroid/widget/EditText;.setText:(Ljava/lang/CharSequence;)V // method@00e6 │ │ +01be4c: 140e 5c00 057f |01aa: const v14, #float 1.76789e+38 // #7f05005c │ │ +01be52: 6e20 ef02 ed00 |01ad: invoke-virtual {v13, v14}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02ef │ │ +01be58: 0c0e |01b0: move-result-object v14 │ │ +01be5a: 1f0e 6300 |01b1: check-cast v14, Landroid/widget/Button; // type@0063 │ │ +01be5e: 5bde 3601 |01b3: iput-object v14, v13, Ldnsfilter/android/DNSProxyActivity;.startBtn:Landroid/widget/Button; // field@0136 │ │ +01be62: 6e20 c500 de00 |01b5: invoke-virtual {v14, v13}, Landroid/widget/Button;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@00c5 │ │ +01be68: 140e 5d00 057f |01b8: const v14, #float 1.76789e+38 // #7f05005d │ │ +01be6e: 6e20 ef02 ed00 |01bb: invoke-virtual {v13, v14}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02ef │ │ +01be74: 0c0e |01be: move-result-object v14 │ │ +01be76: 1f0e 6300 |01bf: check-cast v14, Landroid/widget/Button; // type@0063 │ │ +01be7a: 5bde 3701 |01c1: iput-object v14, v13, Ldnsfilter/android/DNSProxyActivity;.stopBtn:Landroid/widget/Button; // field@0137 │ │ +01be7e: 6e20 c500 de00 |01c3: invoke-virtual {v14, v13}, Landroid/widget/Button;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@00c5 │ │ +01be84: 140e 2e00 057f |01c6: const v14, #float 1.76788e+38 // #7f05002e │ │ +01be8a: 6e20 ef02 ed00 |01c9: invoke-virtual {v13, v14}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02ef │ │ +01be90: 0c0e |01cc: move-result-object v14 │ │ +01be92: 1f0e 6300 |01cd: check-cast v14, Landroid/widget/Button; // type@0063 │ │ +01be96: 5bde 2a01 |01cf: iput-object v14, v13, Ldnsfilter/android/DNSProxyActivity;.reloadFilterBtn:Landroid/widget/Button; // field@012a │ │ +01be9a: 6e20 c500 de00 |01d1: invoke-virtual {v14, v13}, Landroid/widget/Button;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@00c5 │ │ +01bea0: 140e 3300 057f |01d4: const v14, #float 1.76788e+38 // #7f050033 │ │ +01bea6: 6e20 ef02 ed00 |01d7: invoke-virtual {v13, v14}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02ef │ │ +01beac: 0c0e |01da: move-result-object v14 │ │ +01beae: 1f0e 6300 |01db: check-cast v14, Landroid/widget/Button; // type@0063 │ │ +01beb2: 5bde 1a01 |01dd: iput-object v14, v13, Ldnsfilter/android/DNSProxyActivity;.helpBtn:Landroid/widget/Button; // field@011a │ │ +01beb6: 6e20 c500 de00 |01df: invoke-virtual {v14, v13}, Landroid/widget/Button;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@00c5 │ │ +01bebc: 140e 4e00 057f |01e2: const v14, #float 1.76789e+38 // #7f05004e │ │ +01bec2: 6e20 ef02 ed00 |01e5: invoke-virtual {v13, v14}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02ef │ │ +01bec8: 0c0e |01e8: move-result-object v14 │ │ +01beca: 1f0e 6300 |01e9: check-cast v14, Landroid/widget/Button; // type@0063 │ │ +01bece: 5bde 2b01 |01eb: iput-object v14, v13, Ldnsfilter/android/DNSProxyActivity;.remoteCtrlBtn:Landroid/widget/Button; // field@012b │ │ +01bed2: 620e ed00 |01ed: sget-object v14, Ldnsfilter/android/DNSProxyActivity;.CONFIG:Ldnsfilter/ConfigurationAccess; // field@00ed │ │ +01bed6: 6e10 5701 0e00 |01ef: invoke-virtual {v14}, Ldnsfilter/ConfigurationAccess;.isLocal:()Z // method@0157 │ │ +01bedc: 0a0e |01f2: move-result v14 │ │ +01bede: 390e 1300 |01f3: if-nez v14, 0206 // +0013 │ │ +01bee2: 54de 2b01 |01f5: iget-object v14, v13, Ldnsfilter/android/DNSProxyActivity;.remoteCtrlBtn:Landroid/widget/Button; // field@012b │ │ +01bee6: 6e10 f602 0d00 |01f7: invoke-virtual {v13}, Ldnsfilter/android/DNSProxyActivity;.getResources:()Landroid/content/res/Resources; // method@02f6 │ │ +01beec: 0c01 |01fa: move-result-object v1 │ │ +01beee: 1404 2b00 047f |01fb: const v4, #float 1.75459e+38 // #7f04002b │ │ +01bef4: 6e20 5800 4100 |01fe: invoke-virtual {v1, v4}, Landroid/content/res/Resources;.getDrawable:(I)Landroid/graphics/drawable/Drawable; // method@0058 │ │ +01befa: 0c01 |0201: move-result-object v1 │ │ +01befc: 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 │ │ +01bf02: 2811 |0205: goto 0216 // +0011 │ │ +01bf04: 54de 2b01 |0206: iget-object v14, v13, Ldnsfilter/android/DNSProxyActivity;.remoteCtrlBtn:Landroid/widget/Button; // field@012b │ │ +01bf08: 6e10 f602 0d00 |0208: invoke-virtual {v13}, Ldnsfilter/android/DNSProxyActivity;.getResources:()Landroid/content/res/Resources; // method@02f6 │ │ +01bf0e: 0c01 |020b: move-result-object v1 │ │ +01bf10: 1404 2c00 047f |020c: const v4, #float 1.75459e+38 // #7f04002c │ │ +01bf16: 6e20 5800 4100 |020f: invoke-virtual {v1, v4}, Landroid/content/res/Resources;.getDrawable:(I)Landroid/graphics/drawable/Drawable; // method@0058 │ │ +01bf1c: 0c01 |0212: move-result-object v1 │ │ +01bf1e: 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 │ │ +01bf24: 54de 2b01 |0216: iget-object v14, v13, Ldnsfilter/android/DNSProxyActivity;.remoteCtrlBtn:Landroid/widget/Button; // field@012b │ │ +01bf28: 6e20 c500 de00 |0218: invoke-virtual {v14, v13}, Landroid/widget/Button;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@00c5 │ │ +01bf2e: 140e 0f00 057f |021b: const v14, #float 1.76788e+38 // #7f05000f │ │ +01bf34: 6e20 ef02 ed00 |021e: invoke-virtual {v13, v14}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02ef │ │ +01bf3a: 0c0e |0221: move-result-object v14 │ │ +01bf3c: 1f0e 6300 |0222: check-cast v14, Landroid/widget/Button; // type@0063 │ │ +01bf40: 690e 0a01 |0224: sput-object v14, Ldnsfilter/android/DNSProxyActivity;.backupBtn:Landroid/widget/Button; // field@010a │ │ +01bf44: 6e20 c500 de00 |0226: invoke-virtual {v14, v13}, Landroid/widget/Button;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@00c5 │ │ +01bf4a: 140e 0200 057f |0229: const v14, #float 1.76787e+38 // #7f050002 │ │ +01bf50: 6e20 ef02 ed00 |022c: invoke-virtual {v13, v14}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02ef │ │ +01bf56: 0c0e |022f: move-result-object v14 │ │ +01bf58: 1f0e 6300 |0230: check-cast v14, Landroid/widget/Button; // type@0063 │ │ +01bf5c: 690e 2e01 |0232: sput-object v14, Ldnsfilter/android/DNSProxyActivity;.restoreBtn:Landroid/widget/Button; // field@012e │ │ +01bf60: 6e20 c500 de00 |0234: invoke-virtual {v14, v13}, Landroid/widget/Button;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@00c5 │ │ +01bf66: 140e 0300 057f |0237: const v14, #float 1.76787e+38 // #7f050003 │ │ +01bf6c: 6e20 ef02 ed00 |023a: invoke-virtual {v13, v14}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02ef │ │ +01bf72: 0c0e |023d: move-result-object v14 │ │ +01bf74: 1f0e 6300 |023e: check-cast v14, Landroid/widget/Button; // type@0063 │ │ +01bf78: 690e 2f01 |0240: sput-object v14, Ldnsfilter/android/DNSProxyActivity;.restoreDefaultsBtn:Landroid/widget/Button; // field@012f │ │ +01bf7c: 6e20 c500 de00 |0242: invoke-virtual {v14, v13}, Landroid/widget/Button;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@00c5 │ │ +01bf82: 140e 0500 057f |0245: const v14, #float 1.76787e+38 // #7f050005 │ │ +01bf88: 6e20 ef02 ed00 |0248: invoke-virtual {v13, v14}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02ef │ │ +01bf8e: 0c0e |024b: move-result-object v14 │ │ +01bf90: 1f0e 7300 |024c: check-cast v14, Landroid/widget/TextView; // type@0073 │ │ +01bf94: 690e ff00 |024e: sput-object v14, Ldnsfilter/android/DNSProxyActivity;.addFilterBtn:Landroid/widget/TextView; // field@00ff │ │ +01bf98: 6e20 0801 de00 |0250: invoke-virtual {v14, v13}, Landroid/widget/TextView;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@0108 │ │ +01bf9e: 140e 5200 057f |0253: const v14, #float 1.76789e+38 // #7f050052 │ │ +01bfa4: 6e20 ef02 ed00 |0256: invoke-virtual {v13, v14}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02ef │ │ +01bfaa: 0c0e |0259: move-result-object v14 │ │ +01bfac: 1f0e 7300 |025a: check-cast v14, Landroid/widget/TextView; // type@0073 │ │ +01bfb0: 690e 2c01 |025c: sput-object v14, Ldnsfilter/android/DNSProxyActivity;.removeFilterBtn:Landroid/widget/TextView; // field@012c │ │ +01bfb4: 6e20 0801 de00 |025e: invoke-virtual {v14, v13}, Landroid/widget/TextView;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@0108 │ │ +01bfba: 140e 3b00 057f |0261: const v14, #float 1.76789e+38 // #7f05003b │ │ +01bfc0: 6e20 ef02 ed00 |0264: invoke-virtual {v13, v14}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02ef │ │ +01bfc6: 0c0e |0267: move-result-object v14 │ │ +01bfc8: 1f0e 7300 |0268: check-cast v14, Landroid/widget/TextView; // type@0073 │ │ +01bfcc: 690e 1d01 |026a: sput-object v14, Ldnsfilter/android/DNSProxyActivity;.link_field:Landroid/widget/TextView; // field@011d │ │ +01bfd0: 6201 1f01 |026c: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.link_field_txt:Ljava/lang/String; // field@011f │ │ +01bfd4: 7110 f102 0100 |026e: invoke-static {v1}, Ldnsfilter/android/DNSProxyActivity;.fromHtml:(Ljava/lang/String;)Landroid/text/Spanned; // method@02f1 │ │ +01bfda: 0c01 |0271: move-result-object v1 │ │ +01bfdc: 6e20 0901 1e00 |0272: invoke-virtual {v14, v1}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@0109 │ │ +01bfe2: 620e 1d01 |0275: sget-object v14, Ldnsfilter/android/DNSProxyActivity;.link_field:Landroid/widget/TextView; // field@011d │ │ +01bfe6: 7100 9f00 0000 |0277: invoke-static {}, Landroid/text/method/LinkMovementMethod;.getInstance:()Landroid/text/method/MovementMethod; // method@009f │ │ +01bfec: 0c01 |027a: move-result-object v1 │ │ +01bfee: 6e20 0701 1e00 |027b: invoke-virtual {v14, v1}, Landroid/widget/TextView;.setMovementMethod:(Landroid/text/method/MovementMethod;)V // method@0107 │ │ +01bff4: 620e 1d01 |027e: sget-object v14, Ldnsfilter/android/DNSProxyActivity;.link_field:Landroid/widget/TextView; // field@011d │ │ +01bff8: 6e10 0301 0e00 |0280: invoke-virtual {v14}, Landroid/widget/TextView;.getBackground:()Landroid/graphics/drawable/Drawable; // method@0103 │ │ +01bffe: 0c0e |0283: move-result-object v14 │ │ +01c000: 20e1 2600 |0284: instance-of v1, v14, Landroid/graphics/drawable/ColorDrawable; // type@0026 │ │ +01c004: 3801 0a00 |0286: if-eqz v1, 0290 // +000a │ │ +01c008: 1f0e 2600 |0288: check-cast v14, Landroid/graphics/drawable/ColorDrawable; // type@0026 │ │ +01c00c: 6e10 5e00 0e00 |028a: invoke-virtual {v14}, Landroid/graphics/drawable/ColorDrawable;.getColor:()I // method@005e │ │ +01c012: 0a0e |028d: move-result v14 │ │ +01c014: 670e 1e01 |028e: sput v14, Ldnsfilter/android/DNSProxyActivity;.link_field_color:I // field@011e │ │ +01c018: 140e 5800 057f |0290: const v14, #float 1.76789e+38 // #7f050058 │ │ +01c01e: 6e20 ef02 ed00 |0293: invoke-virtual {v13, v14}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02ef │ │ +01c024: 0c0e |0296: move-result-object v14 │ │ +01c026: 1f0e 7300 |0297: check-cast v14, Landroid/widget/TextView; // type@0073 │ │ +01c02a: 690e 3101 |0299: sput-object v14, Ldnsfilter/android/DNSProxyActivity;.scrollLockField:Landroid/widget/TextView; // field@0131 │ │ +01c02e: 6301 3301 |029b: sget-boolean v1, Ldnsfilter/android/DNSProxyActivity;.scroll_locked:Z // field@0133 │ │ +01c032: 3801 0800 |029d: if-eqz v1, 02a5 // +0008 │ │ +01c036: 6201 fb00 |029f: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.SCROLL_CONTINUE:Ljava/lang/String; // field@00fb │ │ +01c03a: 6e20 0901 1e00 |02a1: invoke-virtual {v14, v1}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@0109 │ │ +01c040: 2806 |02a4: goto 02aa // +0006 │ │ +01c042: 6201 fc00 |02a5: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.SCROLL_PAUSE:Ljava/lang/String; // field@00fc │ │ +01c046: 6e20 0901 1e00 |02a7: invoke-virtual {v14, v1}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@0109 │ │ +01c04c: 620e 3101 |02aa: sget-object v14, Ldnsfilter/android/DNSProxyActivity;.scrollLockField:Landroid/widget/TextView; // field@0131 │ │ +01c050: 6e20 0801 de00 |02ac: invoke-virtual {v14, v13}, Landroid/widget/TextView;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@0108 │ │ +01c056: 140e 3d00 057f |02af: const v14, #float 1.76789e+38 // #7f05003d │ │ +01c05c: 6e20 ef02 ed00 |02b2: invoke-virtual {v13, v14}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02ef │ │ +01c062: 0c0e |02b5: move-result-object v14 │ │ +01c064: 1f0e 6e00 |02b6: check-cast v14, Landroid/widget/ScrollView; // type@006e │ │ +01c068: 5bde 3201 |02b8: iput-object v14, v13, Ldnsfilter/android/DNSProxyActivity;.scrollView:Landroid/widget/ScrollView; // field@0132 │ │ +01c06c: 620e 1001 |02ba: sget-object v14, Ldnsfilter/android/DNSProxyActivity;.dnsField:Landroid/widget/TextView; // field@0110 │ │ +01c070: 380e 0b00 |02bc: if-eqz v14, 02c7 // +000b │ │ +01c074: 6e10 0401 0e00 |02be: invoke-virtual {v14}, Landroid/widget/TextView;.getText:()Ljava/lang/CharSequence; // method@0104 │ │ +01c07a: 0c0e |02c1: move-result-object v14 │ │ +01c07c: 7210 5005 0e00 |02c2: invoke-interface {v14}, Ljava/lang/CharSequence;.toString:()Ljava/lang/String; // method@0550 │ │ +01c082: 0c0e |02c5: move-result-object v14 │ │ +01c084: 2802 |02c6: goto 02c8 // +0002 │ │ +01c086: 072e |02c7: move-object v14, v2 │ │ +01c088: 1401 1c00 057f |02c8: const v1, #float 1.76788e+38 // #7f05001c │ │ +01c08e: 6e20 ef02 1d00 |02cb: invoke-virtual {v13, v1}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02ef │ │ +01c094: 0c01 |02ce: move-result-object v1 │ │ +01c096: 1f01 7300 |02cf: check-cast v1, Landroid/widget/TextView; // type@0073 │ │ +01c09a: 6901 1001 |02d1: sput-object v1, Ldnsfilter/android/DNSProxyActivity;.dnsField:Landroid/widget/TextView; // field@0110 │ │ +01c09e: 6e20 0901 e100 |02d3: invoke-virtual {v1, v14}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@0109 │ │ +01c0a4: 6201 1001 |02d6: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.dnsField:Landroid/widget/TextView; // field@0110 │ │ +01c0a8: 1214 |02d8: const/4 v4, #int 1 // #1 │ │ +01c0aa: 6e20 0601 4100 |02d9: invoke-virtual {v1, v4}, Landroid/widget/TextView;.setEnabled:(Z)V // method@0106 │ │ +01c0b0: 6201 1001 |02dc: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.dnsField:Landroid/widget/TextView; // field@0110 │ │ +01c0b4: 6e20 0801 d100 |02de: invoke-virtual {v1, v13}, Landroid/widget/TextView;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@0108 │ │ +01c0ba: 6201 1301 |02e1: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.enableAdFilterCheck:Landroid/widget/CheckBox; // field@0113 │ │ +01c0be: 3801 0a00 |02e3: if-eqz v1, 02ed // +000a │ │ +01c0c2: 6e10 cc00 0100 |02e5: invoke-virtual {v1}, Landroid/widget/CheckBox;.isChecked:()Z // method@00cc │ │ +01c0c8: 0a01 |02e8: move-result v1 │ │ +01c0ca: 3801 0400 |02e9: if-eqz v1, 02ed // +0004 │ │ +01c0ce: 1211 |02eb: const/4 v1, #int 1 // #1 │ │ +01c0d0: 2802 |02ec: goto 02ee // +0002 │ │ +01c0d2: 1201 |02ed: const/4 v1, #int 0 // #0 │ │ +01c0d4: 1407 2600 057f |02ee: const v7, #float 1.76788e+38 // #7f050026 │ │ +01c0da: 6e20 ef02 7d00 |02f1: invoke-virtual {v13, v7}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02ef │ │ +01c0e0: 0c07 |02f4: move-result-object v7 │ │ +01c0e2: 1f07 6400 |02f5: check-cast v7, Landroid/widget/CheckBox; // type@0064 │ │ +01c0e6: 6907 1301 |02f7: sput-object v7, Ldnsfilter/android/DNSProxyActivity;.enableAdFilterCheck:Landroid/widget/CheckBox; // field@0113 │ │ +01c0ea: 6e20 cd00 1700 |02f9: invoke-virtual {v7, v1}, Landroid/widget/CheckBox;.setChecked:(Z)V // method@00cd │ │ +01c0f0: 6201 1301 |02fc: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.enableAdFilterCheck:Landroid/widget/CheckBox; // field@0113 │ │ +01c0f4: 6e20 d000 d100 |02fe: invoke-virtual {v1, v13}, Landroid/widget/CheckBox;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@00d0 │ │ +01c0fa: 6201 1401 |0301: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.enableAutoStartCheck:Landroid/widget/CheckBox; // field@0114 │ │ +01c0fe: 3801 0a00 |0303: if-eqz v1, 030d // +000a │ │ +01c102: 6e10 cc00 0100 |0305: invoke-virtual {v1}, Landroid/widget/CheckBox;.isChecked:()Z // method@00cc │ │ +01c108: 0a01 |0308: move-result v1 │ │ +01c10a: 3801 0400 |0309: if-eqz v1, 030d // +0004 │ │ +01c10e: 1211 |030b: const/4 v1, #int 1 // #1 │ │ +01c110: 2802 |030c: goto 030e // +0002 │ │ +01c112: 1201 |030d: const/4 v1, #int 0 // #0 │ │ +01c114: 1407 2700 057f |030e: const v7, #float 1.76788e+38 // #7f050027 │ │ +01c11a: 6e20 ef02 7d00 |0311: invoke-virtual {v13, v7}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02ef │ │ +01c120: 0c07 |0314: move-result-object v7 │ │ +01c122: 1f07 6400 |0315: check-cast v7, Landroid/widget/CheckBox; // type@0064 │ │ +01c126: 6907 1401 |0317: sput-object v7, Ldnsfilter/android/DNSProxyActivity;.enableAutoStartCheck:Landroid/widget/CheckBox; // field@0114 │ │ +01c12a: 6e20 cd00 1700 |0319: invoke-virtual {v7, v1}, Landroid/widget/CheckBox;.setChecked:(Z)V // method@00cd │ │ +01c130: 6201 1401 |031c: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.enableAutoStartCheck:Landroid/widget/CheckBox; // field@0114 │ │ +01c134: 6e20 d000 d100 |031e: invoke-virtual {v1, v13}, Landroid/widget/CheckBox;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@00d0 │ │ +01c13a: 6201 0c01 |0321: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.backupRestoreCheck:Landroid/widget/CheckBox; // field@010c │ │ +01c13e: 3801 0a00 |0323: if-eqz v1, 032d // +000a │ │ +01c142: 6e10 cc00 0100 |0325: invoke-virtual {v1}, Landroid/widget/CheckBox;.isChecked:()Z // method@00cc │ │ +01c148: 0a01 |0328: move-result v1 │ │ +01c14a: 3801 0400 |0329: if-eqz v1, 032d // +0004 │ │ +01c14e: 1211 |032b: const/4 v1, #int 1 // #1 │ │ +01c150: 2802 |032c: goto 032e // +0002 │ │ +01c152: 1201 |032d: const/4 v1, #int 0 // #0 │ │ +01c154: 1407 1100 057f |032e: const v7, #float 1.76788e+38 // #7f050011 │ │ +01c15a: 6e20 ef02 7d00 |0331: invoke-virtual {v13, v7}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02ef │ │ +01c160: 0c07 |0334: move-result-object v7 │ │ +01c162: 1f07 6400 |0335: check-cast v7, Landroid/widget/CheckBox; // type@0064 │ │ +01c166: 6907 0c01 |0337: sput-object v7, Ldnsfilter/android/DNSProxyActivity;.backupRestoreCheck:Landroid/widget/CheckBox; // field@010c │ │ +01c16a: 6e20 cd00 1700 |0339: invoke-virtual {v7, v1}, Landroid/widget/CheckBox;.setChecked:(Z)V // method@00cd │ │ +01c170: 6201 0c01 |033c: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.backupRestoreCheck:Landroid/widget/CheckBox; // field@010c │ │ +01c174: 6e20 d000 d100 |033e: invoke-virtual {v1, v13}, Landroid/widget/CheckBox;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@00d0 │ │ +01c17a: 6201 0601 |0341: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.appWhiteListCheck:Landroid/widget/CheckBox; // field@0106 │ │ +01c17e: 3801 0a00 |0343: if-eqz v1, 034d // +000a │ │ +01c182: 6e10 cc00 0100 |0345: invoke-virtual {v1}, Landroid/widget/CheckBox;.isChecked:()Z // method@00cc │ │ +01c188: 0a01 |0348: move-result v1 │ │ +01c18a: 3801 0400 |0349: if-eqz v1, 034d // +0004 │ │ +01c18e: 1211 |034b: const/4 v1, #int 1 // #1 │ │ +01c190: 2802 |034c: goto 034e // +0002 │ │ +01c192: 1201 |034d: const/4 v1, #int 0 // #0 │ │ +01c194: 1407 0d00 057f |034e: const v7, #float 1.76788e+38 // #7f05000d │ │ +01c19a: 6e20 ef02 7d00 |0351: invoke-virtual {v13, v7}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02ef │ │ +01c1a0: 0c07 |0354: move-result-object v7 │ │ +01c1a2: 1f07 6400 |0355: check-cast v7, Landroid/widget/CheckBox; // type@0064 │ │ +01c1a6: 6907 0601 |0357: sput-object v7, Ldnsfilter/android/DNSProxyActivity;.appWhiteListCheck:Landroid/widget/CheckBox; // field@0106 │ │ +01c1aa: 6e20 cd00 1700 |0359: invoke-virtual {v7, v1}, Landroid/widget/CheckBox;.setChecked:(Z)V // method@00cd │ │ +01c1b0: 6201 0601 |035c: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.appWhiteListCheck:Landroid/widget/CheckBox; // field@0106 │ │ +01c1b4: 6e20 d000 d100 |035e: invoke-virtual {v1, v13}, Landroid/widget/CheckBox;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@00d0 │ │ +01c1ba: 6201 1c01 |0361: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.keepAwakeCheck:Landroid/widget/CheckBox; // field@011c │ │ +01c1be: 3801 0a00 |0363: if-eqz v1, 036d // +000a │ │ +01c1c2: 6e10 cc00 0100 |0365: invoke-virtual {v1}, Landroid/widget/CheckBox;.isChecked:()Z // method@00cc │ │ +01c1c8: 0a01 |0368: move-result v1 │ │ +01c1ca: 3801 0400 |0369: if-eqz v1, 036d // +0004 │ │ +01c1ce: 1211 |036b: const/4 v1, #int 1 // #1 │ │ +01c1d0: 2802 |036c: goto 036e // +0002 │ │ +01c1d2: 1201 |036d: const/4 v1, #int 0 // #0 │ │ +01c1d4: 1407 3700 057f |036e: const v7, #float 1.76788e+38 // #7f050037 │ │ +01c1da: 6e20 ef02 7d00 |0371: invoke-virtual {v13, v7}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02ef │ │ +01c1e0: 0c07 |0374: move-result-object v7 │ │ +01c1e2: 1f07 6400 |0375: check-cast v7, Landroid/widget/CheckBox; // type@0064 │ │ +01c1e6: 6907 1c01 |0377: sput-object v7, Ldnsfilter/android/DNSProxyActivity;.keepAwakeCheck:Landroid/widget/CheckBox; // field@011c │ │ +01c1ea: 6e20 cd00 1700 |0379: invoke-virtual {v7, v1}, Landroid/widget/CheckBox;.setChecked:(Z)V // method@00cd │ │ +01c1f0: 6201 1c01 |037c: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.keepAwakeCheck:Landroid/widget/CheckBox; // field@011c │ │ +01c1f4: 6e20 d000 d100 |037e: invoke-virtual {v1, v13}, Landroid/widget/CheckBox;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@00d0 │ │ +01c1fa: 6201 2901 |0381: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.proxyModeCheck:Landroid/widget/CheckBox; // field@0129 │ │ +01c1fe: 3801 0a00 |0383: if-eqz v1, 038d // +000a │ │ +01c202: 6e10 cc00 0100 |0385: invoke-virtual {v1}, Landroid/widget/CheckBox;.isChecked:()Z // method@00cc │ │ +01c208: 0a01 |0388: move-result v1 │ │ +01c20a: 3801 0400 |0389: if-eqz v1, 038d // +0004 │ │ +01c20e: 1211 |038b: const/4 v1, #int 1 // #1 │ │ +01c210: 2802 |038c: goto 038e // +0002 │ │ +01c212: 1201 |038d: const/4 v1, #int 0 // #0 │ │ +01c214: 1407 4b00 057f |038e: const v7, #float 1.76789e+38 // #7f05004b │ │ +01c21a: 6e20 ef02 7d00 |0391: invoke-virtual {v13, v7}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02ef │ │ +01c220: 0c07 |0394: move-result-object v7 │ │ +01c222: 1f07 6400 |0395: check-cast v7, Landroid/widget/CheckBox; // type@0064 │ │ +01c226: 6907 2901 |0397: sput-object v7, Ldnsfilter/android/DNSProxyActivity;.proxyModeCheck:Landroid/widget/CheckBox; // field@0129 │ │ +01c22a: 6e20 cd00 1700 |0399: invoke-virtual {v7, v1}, Landroid/widget/CheckBox;.setChecked:(Z)V // method@00cd │ │ +01c230: 6201 2901 |039c: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.proxyModeCheck:Landroid/widget/CheckBox; // field@0129 │ │ +01c234: 6e20 d000 d100 |039e: invoke-virtual {v1, v13}, Landroid/widget/CheckBox;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@00d0 │ │ +01c23a: 6201 2801 |03a1: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.proxyLocalOnlyCheck:Landroid/widget/CheckBox; // field@0128 │ │ +01c23e: 3801 0a00 |03a3: if-eqz v1, 03ad // +000a │ │ +01c242: 6e10 cc00 0100 |03a5: invoke-virtual {v1}, Landroid/widget/CheckBox;.isChecked:()Z // method@00cc │ │ +01c248: 0a01 |03a8: move-result v1 │ │ +01c24a: 3801 0400 |03a9: if-eqz v1, 03ad // +0004 │ │ +01c24e: 1211 |03ab: const/4 v1, #int 1 // #1 │ │ +01c250: 2802 |03ac: goto 03ae // +0002 │ │ +01c252: 1201 |03ad: const/4 v1, #int 0 // #0 │ │ +01c254: 1407 4a00 057f |03ae: const v7, #float 1.76789e+38 // #7f05004a │ │ +01c25a: 6e20 ef02 7d00 |03b1: invoke-virtual {v13, v7}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02ef │ │ +01c260: 0c07 |03b4: move-result-object v7 │ │ +01c262: 1f07 6400 |03b5: check-cast v7, Landroid/widget/CheckBox; // type@0064 │ │ +01c266: 6907 2801 |03b7: sput-object v7, Ldnsfilter/android/DNSProxyActivity;.proxyLocalOnlyCheck:Landroid/widget/CheckBox; // field@0128 │ │ +01c26a: 6e20 cd00 1700 |03b9: invoke-virtual {v7, v1}, Landroid/widget/CheckBox;.setChecked:(Z)V // method@00cd │ │ +01c270: 6201 2801 |03bc: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.proxyLocalOnlyCheck:Landroid/widget/CheckBox; // field@0128 │ │ +01c274: 6e20 d000 d100 |03be: invoke-virtual {v1, v13}, Landroid/widget/CheckBox;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@00d0 │ │ +01c27a: 6201 3001 |03c1: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.rootModeCheck:Landroid/widget/CheckBox; // field@0130 │ │ +01c27e: 3801 0a00 |03c3: if-eqz v1, 03cd // +000a │ │ +01c282: 6e10 cc00 0100 |03c5: invoke-virtual {v1}, Landroid/widget/CheckBox;.isChecked:()Z // method@00cc │ │ +01c288: 0a01 |03c8: move-result v1 │ │ +01c28a: 3801 0400 |03c9: if-eqz v1, 03cd // +0004 │ │ +01c28e: 1211 |03cb: const/4 v1, #int 1 // #1 │ │ +01c290: 2802 |03cc: goto 03ce // +0002 │ │ +01c292: 1201 |03cd: const/4 v1, #int 0 // #0 │ │ +01c294: 1407 5600 057f |03ce: const v7, #float 1.76789e+38 // #7f050056 │ │ +01c29a: 6e20 ef02 7d00 |03d1: invoke-virtual {v13, v7}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02ef │ │ +01c2a0: 0c07 |03d4: move-result-object v7 │ │ +01c2a2: 1f07 6400 |03d5: check-cast v7, Landroid/widget/CheckBox; // type@0064 │ │ +01c2a6: 6907 3001 |03d7: sput-object v7, Ldnsfilter/android/DNSProxyActivity;.rootModeCheck:Landroid/widget/CheckBox; // field@0130 │ │ +01c2aa: 6e20 cd00 1700 |03d9: invoke-virtual {v7, v1}, Landroid/widget/CheckBox;.setChecked:(Z)V // method@00cd │ │ +01c2b0: 6201 3001 |03dc: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.rootModeCheck:Landroid/widget/CheckBox; // field@0130 │ │ +01c2b4: 6e20 d000 d100 |03de: invoke-virtual {v1, v13}, Landroid/widget/CheckBox;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@00d0 │ │ +01c2ba: 6201 1501 |03e1: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.enableCloakProtectCheck:Landroid/widget/CheckBox; // field@0115 │ │ +01c2be: 3801 0a00 |03e3: if-eqz v1, 03ed // +000a │ │ +01c2c2: 6e10 cc00 0100 |03e5: invoke-virtual {v1}, Landroid/widget/CheckBox;.isChecked:()Z // method@00cc │ │ +01c2c8: 0a01 |03e8: move-result v1 │ │ +01c2ca: 3801 0400 |03e9: if-eqz v1, 03ed // +0004 │ │ +01c2ce: 1211 |03eb: const/4 v1, #int 1 // #1 │ │ +01c2d0: 2802 |03ec: goto 03ee // +0002 │ │ +01c2d2: 1201 |03ed: const/4 v1, #int 0 // #0 │ │ +01c2d4: 1407 1500 057f |03ee: const v7, #float 1.76788e+38 // #7f050015 │ │ +01c2da: 6e20 ef02 7d00 |03f1: invoke-virtual {v13, v7}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02ef │ │ +01c2e0: 0c07 |03f4: move-result-object v7 │ │ +01c2e2: 1f07 6400 |03f5: check-cast v7, Landroid/widget/CheckBox; // type@0064 │ │ +01c2e6: 6907 1501 |03f7: sput-object v7, Ldnsfilter/android/DNSProxyActivity;.enableCloakProtectCheck:Landroid/widget/CheckBox; // field@0115 │ │ +01c2ea: 6e20 cd00 1700 |03f9: invoke-virtual {v7, v1}, Landroid/widget/CheckBox;.setChecked:(Z)V // method@00cd │ │ +01c2f0: 6201 1501 |03fc: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.enableCloakProtectCheck:Landroid/widget/CheckBox; // field@0115 │ │ +01c2f4: 6e20 d000 d100 |03fe: invoke-virtual {v1, v13}, Landroid/widget/CheckBox;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@00d0 │ │ +01c2fa: 6201 0301 |0401: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.advancedConfigCheck:Landroid/widget/CheckBox; // field@0103 │ │ +01c2fe: 3801 0a00 |0403: if-eqz v1, 040d // +000a │ │ +01c302: 6e10 cc00 0100 |0405: invoke-virtual {v1}, Landroid/widget/CheckBox;.isChecked:()Z // method@00cc │ │ +01c308: 0a01 |0408: move-result v1 │ │ +01c30a: 3801 0400 |0409: if-eqz v1, 040d // +0004 │ │ +01c30e: 1211 |040b: const/4 v1, #int 1 // #1 │ │ +01c310: 2802 |040c: goto 040e // +0002 │ │ +01c312: 1201 |040d: const/4 v1, #int 0 // #0 │ │ +01c314: 1407 0a00 057f |040e: const v7, #float 1.76788e+38 // #7f05000a │ │ +01c31a: 6e20 ef02 7d00 |0411: invoke-virtual {v13, v7}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02ef │ │ +01c320: 0c07 |0414: move-result-object v7 │ │ +01c322: 1f07 6400 |0415: check-cast v7, Landroid/widget/CheckBox; // type@0064 │ │ +01c326: 6907 0301 |0417: sput-object v7, Ldnsfilter/android/DNSProxyActivity;.advancedConfigCheck:Landroid/widget/CheckBox; // field@0103 │ │ +01c32a: 6e20 cd00 1700 |0419: invoke-virtual {v7, v1}, Landroid/widget/CheckBox;.setChecked:(Z)V // method@00cd │ │ +01c330: 6201 0301 |041c: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.advancedConfigCheck:Landroid/widget/CheckBox; // field@0103 │ │ +01c334: 6e20 d000 d100 |041e: invoke-virtual {v1, v13}, Landroid/widget/CheckBox;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@00d0 │ │ +01c33a: 6201 1201 |0421: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.editFilterLoadCheck:Landroid/widget/CheckBox; // field@0112 │ │ +01c33e: 3801 0a00 |0423: if-eqz v1, 042d // +000a │ │ +01c342: 6e10 cc00 0100 |0425: invoke-virtual {v1}, Landroid/widget/CheckBox;.isChecked:()Z // method@00cc │ │ +01c348: 0a01 |0428: move-result v1 │ │ +01c34a: 3801 0400 |0429: if-eqz v1, 042d // +0004 │ │ +01c34e: 1211 |042b: const/4 v1, #int 1 // #1 │ │ +01c350: 2802 |042c: goto 042e // +0002 │ │ +01c352: 1201 |042d: const/4 v1, #int 0 // #0 │ │ +01c354: 1407 2200 057f |042e: const v7, #float 1.76788e+38 // #7f050022 │ │ +01c35a: 6e20 ef02 7d00 |0431: invoke-virtual {v13, v7}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02ef │ │ +01c360: 0c07 |0434: move-result-object v7 │ │ +01c362: 1f07 6400 |0435: check-cast v7, Landroid/widget/CheckBox; // type@0064 │ │ +01c366: 6907 1201 |0437: sput-object v7, Ldnsfilter/android/DNSProxyActivity;.editFilterLoadCheck:Landroid/widget/CheckBox; // field@0112 │ │ +01c36a: 6e20 cd00 1700 |0439: invoke-virtual {v7, v1}, Landroid/widget/CheckBox;.setChecked:(Z)V // method@00cd │ │ +01c370: 6201 1201 |043c: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.editFilterLoadCheck:Landroid/widget/CheckBox; // field@0112 │ │ +01c374: 6e20 d000 d100 |043e: invoke-virtual {v1, v13}, Landroid/widget/CheckBox;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@00d0 │ │ +01c37a: 6201 2201 |0441: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.manuallyEditConfChk:Landroid/widget/CheckBox; // field@0122 │ │ +01c37e: 3801 0a00 |0443: if-eqz v1, 044d // +000a │ │ +01c382: 6e10 cc00 0100 |0445: invoke-virtual {v1}, Landroid/widget/CheckBox;.isChecked:()Z // method@00cc │ │ +01c388: 0a01 |0448: move-result v1 │ │ +01c38a: 3801 0400 |0449: if-eqz v1, 044d // +0004 │ │ +01c38e: 1211 |044b: const/4 v1, #int 1 // #1 │ │ +01c390: 2802 |044c: goto 044e // +0002 │ │ +01c392: 1201 |044d: const/4 v1, #int 0 // #0 │ │ +01c394: 1407 4300 057f |044e: const v7, #float 1.76789e+38 // #7f050043 │ │ +01c39a: 6e20 ef02 7d00 |0451: invoke-virtual {v13, v7}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02ef │ │ +01c3a0: 0c07 |0454: move-result-object v7 │ │ +01c3a2: 1f07 6400 |0455: check-cast v7, Landroid/widget/CheckBox; // type@0064 │ │ +01c3a6: 6907 2201 |0457: sput-object v7, Ldnsfilter/android/DNSProxyActivity;.manuallyEditConfChk:Landroid/widget/CheckBox; // field@0122 │ │ +01c3aa: 6e20 cd00 1700 |0459: invoke-virtual {v7, v1}, Landroid/widget/CheckBox;.setChecked:(Z)V // method@00cd │ │ +01c3b0: 6201 2201 |045c: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.manuallyEditConfChk:Landroid/widget/CheckBox; // field@0122 │ │ +01c3b4: 6e20 d000 d100 |045e: invoke-virtual {v1, v13}, Landroid/widget/CheckBox;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@00d0 │ │ +01c3ba: 6201 1101 |0461: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.editAdditionalHostsCheck:Landroid/widget/CheckBox; // field@0111 │ │ +01c3be: 3801 0a00 |0463: if-eqz v1, 046d // +000a │ │ +01c3c2: 6e10 cc00 0100 |0465: invoke-virtual {v1}, Landroid/widget/CheckBox;.isChecked:()Z // method@00cc │ │ +01c3c8: 0a01 |0468: move-result v1 │ │ +01c3ca: 3801 0400 |0469: if-eqz v1, 046d // +0004 │ │ +01c3ce: 1211 |046b: const/4 v1, #int 1 // #1 │ │ +01c3d0: 2802 |046c: goto 046e // +0002 │ │ +01c3d2: 1201 |046d: const/4 v1, #int 0 // #0 │ │ +01c3d4: 1407 1d00 057f |046e: const v7, #float 1.76788e+38 // #7f05001d │ │ +01c3da: 6e20 ef02 7d00 |0471: invoke-virtual {v13, v7}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02ef │ │ +01c3e0: 0c07 |0474: move-result-object v7 │ │ +01c3e2: 1f07 6400 |0475: check-cast v7, Landroid/widget/CheckBox; // type@0064 │ │ +01c3e6: 6907 1101 |0477: sput-object v7, Ldnsfilter/android/DNSProxyActivity;.editAdditionalHostsCheck:Landroid/widget/CheckBox; // field@0111 │ │ +01c3ea: 6e20 cd00 1700 |0479: invoke-virtual {v7, v1}, Landroid/widget/CheckBox;.setChecked:(Z)V // method@00cd │ │ +01c3f0: 6201 1101 |047c: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.editAdditionalHostsCheck:Landroid/widget/CheckBox; // field@0111 │ │ +01c3f4: 6e20 d000 d100 |047e: invoke-virtual {v1, v13}, Landroid/widget/CheckBox;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@00d0 │ │ +01c3fa: 1401 0c00 057f |0481: const v1, #float 1.76788e+38 // #7f05000c │ │ +01c400: 6e20 ef02 1d00 |0484: invoke-virtual {v13, v1}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02ef │ │ +01c406: 0c01 |0487: move-result-object v1 │ │ +01c408: 1f01 6e00 |0488: check-cast v1, Landroid/widget/ScrollView; // type@006e │ │ +01c40c: 6901 0701 |048a: sput-object v1, Ldnsfilter/android/DNSProxyActivity;.appWhiteListScroll:Landroid/widget/ScrollView; // field@0107 │ │ +01c410: 6201 0401 |048c: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.appSelector:Ldnsfilter/android/AppSelectorView; // field@0104 │ │ +01c414: 3801 0b00 |048e: if-eqz v1, 0499 // +000b │ │ +01c418: 6e10 4e02 0100 |0490: invoke-virtual {v1}, Ldnsfilter/android/AppSelectorView;.clear:()V // method@024e │ │ +01c41e: 6201 0401 |0493: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.appSelector:Ldnsfilter/android/AppSelectorView; // field@0104 │ │ +01c422: 6e10 5102 0100 |0495: invoke-virtual {v1}, Ldnsfilter/android/AppSelectorView;.getSelectedAppPackages:()Ljava/lang/String; // method@0251 │ │ +01c428: 0c02 |0498: move-result-object v2 │ │ +01c42a: 1401 0b00 057f |0499: const v1, #float 1.76788e+38 // #7f05000b │ │ +01c430: 6e20 ef02 1d00 |049c: invoke-virtual {v13, v1}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02ef │ │ +01c436: 0c01 |049f: move-result-object v1 │ │ +01c438: 1f01 9d00 |04a0: check-cast v1, Ldnsfilter/android/AppSelectorView; // type@009d │ │ +01c43c: 6901 0401 |04a2: sput-object v1, Ldnsfilter/android/DNSProxyActivity;.appSelector:Ldnsfilter/android/AppSelectorView; // field@0104 │ │ +01c440: 6e20 5802 2100 |04a4: invoke-virtual {v1, v2}, Ldnsfilter/android/AppSelectorView;.setSelectedApps:(Ljava/lang/String;)V // method@0258 │ │ +01c446: 6201 0201 |04a7: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.additionalHostsField:Landroid/widget/EditText; // field@0102 │ │ +01c44a: 3801 0a00 |04a9: if-eqz v1, 04b3 // +000a │ │ +01c44e: 6e10 da00 0100 |04ab: invoke-virtual {v1}, Landroid/widget/EditText;.getText:()Landroid/text/Editable; // method@00da │ │ +01c454: 0c0e |04ae: move-result-object v14 │ │ +01c456: 6e10 7805 0e00 |04af: invoke-virtual {v14}, Ljava/lang/Object;.toString:()Ljava/lang/String; // method@0578 │ │ +01c45c: 0c0e |04b2: move-result-object v14 │ │ +01c45e: 1401 0800 057f |04b3: const v1, #float 1.76787e+38 // #7f050008 │ │ +01c464: 6e20 ef02 1d00 |04b6: invoke-virtual {v13, v1}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02ef │ │ +01c46a: 0c01 |04b9: move-result-object v1 │ │ +01c46c: 1f01 6700 |04ba: check-cast v1, Landroid/widget/EditText; // type@0067 │ │ +01c470: 6901 0201 |04bc: sput-object v1, Ldnsfilter/android/DNSProxyActivity;.additionalHostsField:Landroid/widget/EditText; // field@0102 │ │ +01c474: 6e20 e600 e100 |04be: invoke-virtual {v1, v14}, Landroid/widget/EditText;.setText:(Ljava/lang/CharSequence;)V // method@00e6 │ │ +01c47a: 6201 0201 |04c1: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.additionalHostsField:Landroid/widget/EditText; // field@0102 │ │ +01c47e: 6e20 d400 d100 |04c3: invoke-virtual {v1, v13}, Landroid/widget/EditText;.addTextChangedListener:(Landroid/text/TextWatcher;)V // method@00d4 │ │ +01c484: 6201 2301 |04c6: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.manuallyEditField:Landroid/widget/EditText; // field@0123 │ │ +01c488: 3801 0a00 |04c8: if-eqz v1, 04d2 // +000a │ │ +01c48c: 6e10 da00 0100 |04ca: invoke-virtual {v1}, Landroid/widget/EditText;.getText:()Landroid/text/Editable; // method@00da │ │ +01c492: 0c0e |04cd: move-result-object v14 │ │ +01c494: 6e10 7805 0e00 |04ce: invoke-virtual {v14}, Ljava/lang/Object;.toString:()Ljava/lang/String; // method@0578 │ │ +01c49a: 0c0e |04d1: move-result-object v14 │ │ +01c49c: 1401 4400 057f |04d2: const v1, #float 1.76789e+38 // #7f050044 │ │ +01c4a2: 6e20 ef02 1d00 |04d5: invoke-virtual {v13, v1}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02ef │ │ +01c4a8: 0c01 |04d8: move-result-object v1 │ │ +01c4aa: 1f01 6700 |04d9: check-cast v1, Landroid/widget/EditText; // type@0067 │ │ +01c4ae: 6901 2301 |04db: sput-object v1, Ldnsfilter/android/DNSProxyActivity;.manuallyEditField:Landroid/widget/EditText; // field@0123 │ │ +01c4b2: 6e20 e600 e100 |04dd: invoke-virtual {v1, v14}, Landroid/widget/EditText;.setText:(Ljava/lang/CharSequence;)V // method@00e6 │ │ +01c4b8: 620e 2301 |04e0: sget-object v14, Ldnsfilter/android/DNSProxyActivity;.manuallyEditField:Landroid/widget/EditText; // field@0123 │ │ +01c4bc: 6e20 d400 de00 |04e2: invoke-virtual {v14, v13}, Landroid/widget/EditText;.addTextChangedListener:(Landroid/text/TextWatcher;)V // method@00d4 │ │ +01c4c2: 140e 1900 057f |04e5: const v14, #float 1.76788e+38 // #7f050019 │ │ +01c4c8: 6e20 ef02 ed00 |04e8: invoke-virtual {v13, v14}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02ef │ │ +01c4ce: 0c0e |04eb: move-result-object v14 │ │ +01c4d0: 1301 0800 |04ec: const/16 v1, #int 8 // #8 │ │ +01c4d4: 6e20 b400 1e00 |04ee: invoke-virtual {v14, v1}, Landroid/view/View;.setVisibility:(I)V // method@00b4 │ │ +01c4da: 7020 fb02 5d00 |04f1: invoke-direct {v13, v5}, Ldnsfilter/android/DNSProxyActivity;.handleAdvancedConfig:(Landroid/widget/CheckBox;)V // method@02fb │ │ +01c4e0: 620e 2401 |04f4: sget-object v14, Ldnsfilter/android/DNSProxyActivity;.myLogger:Lutil/SuppressRepeatingsLogger; // field@0124 │ │ +01c4e4: 380e 1000 |04f6: if-eqz v14, 0506 // +0010 │ │ +01c4e8: 620e ed00 |04f8: sget-object v14, Ldnsfilter/android/DNSProxyActivity;.CONFIG:Ldnsfilter/ConfigurationAccess; // field@00ed │ │ +01c4ec: 6e10 5701 0e00 |04fa: invoke-virtual {v14}, Ldnsfilter/ConfigurationAccess;.isLocal:()Z // method@0157 │ │ +01c4f2: 0a0e |04fd: move-result v14 │ │ +01c4f4: 380e 1d00 |04fe: if-eqz v14, 051b // +001d │ │ +01c4f8: 620e 2401 |0500: sget-object v14, Ldnsfilter/android/DNSProxyActivity;.myLogger:Lutil/SuppressRepeatingsLogger; // field@0124 │ │ +01c4fc: 6e20 7b07 de00 |0502: invoke-virtual {v14, v13}, Lutil/SuppressRepeatingsLogger;.setNestedLogger:(Lutil/LoggerInterface;)V // method@077b │ │ +01c502: 2816 |0505: goto 051b // +0016 │ │ +01c504: 220e 8e01 |0506: new-instance v14, Lutil/SuppressRepeatingsLogger; // type@018e │ │ +01c508: 7020 7207 de00 |0508: invoke-direct {v14, v13}, Lutil/SuppressRepeatingsLogger;.:(Lutil/LoggerInterface;)V // method@0772 │ │ +01c50e: 690e 2401 |050b: sput-object v14, Ldnsfilter/android/DNSProxyActivity;.myLogger:Lutil/SuppressRepeatingsLogger; // field@0124 │ │ +01c512: 220e 8201 |050d: new-instance v14, Lutil/GroupedLogger; // type@0182 │ │ +01c516: 2341 b401 |050f: new-array v1, v4, [Lutil/LoggerInterface; // type@01b4 │ │ +01c51a: 6202 2401 |0511: sget-object v2, Ldnsfilter/android/DNSProxyActivity;.myLogger:Lutil/SuppressRepeatingsLogger; // field@0124 │ │ +01c51e: 4d02 0106 |0513: aput-object v2, v1, v6 │ │ +01c522: 7020 f406 1e00 |0515: invoke-direct {v14, v1}, Lutil/GroupedLogger;.:([Lutil/LoggerInterface;)V // method@06f4 │ │ +01c528: 7110 2c07 0e00 |0518: invoke-static {v14}, Lutil/Logger;.setLogger:(Lutil/LoggerInterface;)V // method@072c │ │ +01c52e: 7100 5301 0000 |051b: invoke-static {}, Ldnsfilter/ConfigurationAccess;.getLocal:()Ldnsfilter/ConfigurationAccess; // method@0153 │ │ +01c534: 0c0e |051e: move-result-object v14 │ │ +01c536: 6e10 4e01 0e00 |051f: invoke-virtual {v14}, Ldnsfilter/ConfigurationAccess;.getConfigUtil:()Ldnsfilter/ConfigUtil; // method@014e │ │ +01c53c: 0c0e |0522: move-result-object v14 │ │ +01c53e: 1a01 1407 |0523: const-string v1, "forceAndroidDisplayMode" // string@0714 │ │ +01c542: 1a02 0309 |0525: const-string v2, "none" // string@0903 │ │ +01c546: 6e30 3a01 1e02 |0527: invoke-virtual {v14, v1, v2}, Ldnsfilter/ConfigUtil;.getConfigValue:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@013a │ │ +01c54c: 0c0e |052a: move-result-object v14 │ │ +01c54e: 6e10 a005 0e00 |052b: invoke-virtual {v14}, Ljava/lang/String;.trim:()Ljava/lang/String; // method@05a0 │ │ +01c554: 0c0e |052e: move-result-object v14 │ │ +01c556: 1a01 7d09 |052f: const-string v1, "portrait" // string@097d │ │ +01c55a: 6e20 8c05 1e00 |0531: invoke-virtual {v14, v1}, Ljava/lang/String;.equalsIgnoreCase:(Ljava/lang/String;)Z // method@058c │ │ +01c560: 0a01 |0534: move-result v1 │ │ +01c562: 3801 0600 |0535: if-eqz v1, 053b // +0006 │ │ +01c566: 6e20 2d03 4d00 |0537: invoke-virtual {v13, v4}, Ldnsfilter/android/DNSProxyActivity;.setRequestedOrientation:(I)V // method@032d │ │ +01c56c: 281c |053a: goto 0556 // +001c │ │ +01c56e: 1a01 8d08 |053b: const-string v1, "landscape" // string@088d │ │ +01c572: 6e20 8c05 1e00 |053d: invoke-virtual {v14, v1}, Ljava/lang/String;.equalsIgnoreCase:(Ljava/lang/String;)Z // method@058c │ │ +01c578: 0a0e |0540: move-result v14 │ │ +01c57a: 380e 0600 |0541: if-eqz v14, 0547 // +0006 │ │ +01c57e: 6e20 2d03 6d00 |0543: invoke-virtual {v13, v6}, Ldnsfilter/android/DNSProxyActivity;.setRequestedOrientation:(I)V // method@032d │ │ +01c584: 2810 |0546: goto 0556 // +0010 │ │ +01c586: 6e10 f602 0d00 |0547: invoke-virtual {v13}, Ldnsfilter/android/DNSProxyActivity;.getResources:()Landroid/content/res/Resources; // method@02f6 │ │ +01c58c: 0c0e |054a: move-result-object v14 │ │ +01c58e: 1501 027f |054b: const/high16 v1, #int 2130837504 // #7f02 │ │ +01c592: 6e20 5500 1e00 |054d: invoke-virtual {v14, v1}, Landroid/content/res/Resources;.getBoolean:(I)Z // method@0055 │ │ +01c598: 0a0e |0550: move-result v14 │ │ +01c59a: 380e 0500 |0551: if-eqz v14, 0556 // +0005 │ │ +01c59e: 6e20 2d03 4d00 |0553: invoke-virtual {v13, v4}, Ldnsfilter/android/DNSProxyActivity;.setRequestedOrientation:(I)V // method@032d │ │ +01c5a4: 7100 5301 0000 |0556: invoke-static {}, Ldnsfilter/ConfigurationAccess;.getLocal:()Ldnsfilter/ConfigurationAccess; // method@0153 │ │ +01c5aa: 0c0e |0559: move-result-object v14 │ │ +01c5ac: 6e10 4e01 0e00 |055a: invoke-virtual {v14}, Ldnsfilter/ConfigurationAccess;.getConfigUtil:()Ldnsfilter/ConfigUtil; // method@014e │ │ +01c5b2: 0c0e |055d: move-result-object v14 │ │ +01c5b4: 1a01 4d06 |055e: const-string v1, "debug" // string@064d │ │ +01c5b8: 1a02 df06 |0560: const-string v2, "false" // string@06df │ │ +01c5bc: 6e30 3a01 1e02 |0562: invoke-virtual {v14, v1, v2}, Ldnsfilter/ConfigUtil;.getConfigValue:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@013a │ │ +01c5c2: 0c0e |0565: move-result-object v14 │ │ +01c5c4: 7110 4b05 0e00 |0566: invoke-static {v14}, Ljava/lang/Boolean;.parseBoolean:(Ljava/lang/String;)Z // method@054b │ │ +01c5ca: 0a0e |0569: move-result v14 │ │ +01c5cc: 6a0e 0f01 |056a: sput-boolean v14, Ldnsfilter/android/DNSProxyActivity;.debug:Z // field@010f │ │ +01c5d0: 380e 2200 |056c: if-eqz v14, 058e // +0022 │ │ +01c5d4: 7100 8105 0000 |056e: invoke-static {}, Ljava/lang/Runtime;.getRuntime:()Ljava/lang/Runtime; // method@0581 │ │ +01c5da: 0c0e |0571: move-result-object v14 │ │ +01c5dc: 2201 2d01 |0572: new-instance v1, Ljava/lang/StringBuilder; // type@012d │ │ +01c5e0: 7020 a805 3100 |0574: invoke-direct {v1, v3}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05a8 │ │ +01c5e6: 7100 d206 0000 |0577: invoke-static {}, Lutil/ExecutionEnvironment;.getEnvironment:()Lutil/ExecutionEnvironmentInterface; // method@06d2 │ │ +01c5ec: 0c02 |057a: move-result-object v2 │ │ +01c5ee: 7210 e206 0200 |057b: invoke-interface {v2}, Lutil/ExecutionEnvironmentInterface;.getWorkDir:()Ljava/lang/String; // method@06e2 │ │ +01c5f4: 0c02 |057e: move-result-object v2 │ │ +01c5f6: 6e20 ad05 2100 |057f: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +01c5fc: 1a02 6200 |0582: const-string v2, "/Logcat_file.txt" // string@0062 │ │ +01c600: 6e20 ad05 2100 |0584: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +01c606: 6e10 af05 0100 |0587: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ +01c60c: 0c01 |058a: move-result-object v1 │ │ +01c60e: 6e20 8005 1e00 |058b: invoke-virtual {v14, v1}, Ljava/lang/Runtime;.exec:(Ljava/lang/String;)Ljava/lang/Process; // method@0580 │ │ +01c614: 630e 0501 |058e: sget-boolean v14, Ldnsfilter/android/DNSProxyActivity;.appStart:Z // field@0105 │ │ +01c618: 380e 1a00 |0590: if-eqz v14, 05aa // +001a │ │ +01c61c: 600e 0200 |0592: sget v14, Landroid/os/Build$VERSION;.SDK_INT:I // field@0002 │ │ +01c620: 1301 2100 |0594: const/16 v1, #int 33 // #21 │ │ +01c624: 341e 1100 |0596: if-lt v14, v1, 05a7 // +0011 │ │ +01c628: 7120 5a02 0d00 |0598: invoke-static {v13, v0}, Ldnsfilter/android/BootUpReceiver$$ExternalSyntheticApiModelOutline0;.m:(Ldnsfilter/android/DNSProxyActivity;Ljava/lang/String;)I // method@025a │ │ +01c62e: 0a0e |059b: move-result v14 │ │ +01c630: 380e 0b00 |059c: if-eqz v14, 05a7 // +000b │ │ +01c634: 234e ad01 |059e: new-array v14, v4, [Ljava/lang/String; // type@01ad │ │ +01c638: 4d00 0e06 |05a0: aput-object v0, v14, v6 │ │ +01c63c: 1300 6500 |05a2: const/16 v0, #int 101 // #65 │ │ +01c640: 7130 6e02 ed00 |05a4: invoke-static {v13, v14, v0}, Ldnsfilter/android/BootUpReceiver$$ExternalSyntheticApiModelOutline0;.m:(Ldnsfilter/android/DNSProxyActivity;[Ljava/lang/String;I)V // method@026e │ │ +01c646: 7010 0203 0d00 |05a7: invoke-direct {v13}, Ldnsfilter/android/DNSProxyActivity;.initAppAndStartup:()V // method@0302 │ │ +01c64c: 0e00 |05aa: return-void │ │ +01c64e: 0d0e |05ab: move-exception v14 │ │ +01c650: 7020 ee02 ed00 |05ac: invoke-direct {v13, v14}, Ldnsfilter/android/DNSProxyActivity;.dump:(Ljava/lang/Exception;)V // method@02ee │ │ +01c656: 2200 2901 |05af: new-instance v0, Ljava/lang/RuntimeException; // type@0129 │ │ +01c65a: 7020 8205 e000 |05b1: invoke-direct {v0, v14}, Ljava/lang/RuntimeException;.:(Ljava/lang/Throwable;)V // method@0582 │ │ +01c660: 2700 |05b4: throw v0 │ │ catches : 3 │ │ 0x000a - 0x00e4 │ │ Ljava/lang/Exception; -> 0x05ab │ │ 0x00e4 - 0x00ff │ │ Ljava/io/IOException; -> 0x0100 │ │ Ljava/lang/Exception; -> 0x05ab │ │ 0x0101 - 0x05aa │ │ @@ -47574,49 +47574,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 │ │ -019cc8: |[019cc8] dnsfilter.android.DNSProxyActivity.onCreateActionMode:(Landroid/view/ActionMode;Landroid/view/Menu;)Z │ │ -019cd8: 12f5 |0000: const/4 v5, #int -1 // #ff │ │ -019cda: 6705 f700 |0001: sput v5, Ldnsfilter/android/DNSProxyActivity;.NO_ACTION_MENU:I // field@00f7 │ │ -019cde: 1210 |0003: const/4 v0, #int 1 // #1 │ │ -019ce0: 7020 f702 0400 |0004: invoke-direct {v4, v0}, Ldnsfilter/android/DNSProxyActivity;.getSelectedText:(Z)Ljava/lang/String; // method@02f7 │ │ -019ce6: 0c01 |0007: move-result-object v1 │ │ -019ce8: 6002 0200 |0008: sget v2, Landroid/os/Build$VERSION;.SDK_INT:I // field@0002 │ │ -019cec: 1303 1700 |000a: const/16 v3, #int 23 // #17 │ │ -019cf0: 3532 0d00 |000c: if-ge v2, v3, 0019 // +000d │ │ -019cf4: 1402 1900 057f |000e: const v2, #float 1.76788e+38 // #7f050019 │ │ -019cfa: 6e20 ef02 2400 |0011: invoke-virtual {v4, v2}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02ef │ │ -019d00: 0c02 |0014: move-result-object v2 │ │ -019d02: 1203 |0015: const/4 v3, #int 0 // #0 │ │ -019d04: 6e20 b400 3200 |0016: invoke-virtual {v2, v3}, Landroid/view/View;.setVisibility:(I)V // method@00b4 │ │ -019d0a: 6202 f800 |0019: sget-object v2, Ldnsfilter/android/DNSProxyActivity;.NO_FILTER_PREF:Ljava/lang/String; // field@00f8 │ │ -019d0e: 6e20 9005 2100 |001b: invoke-virtual {v1, v2}, Ljava/lang/String;.indexOf:(Ljava/lang/String;)I // method@0590 │ │ -019d14: 0a02 |001e: move-result v2 │ │ -019d16: 3252 0f00 |001f: if-eq v2, v5, 002e // +000f │ │ -019d1a: 1402 0500 087f |0021: const v2, #float 1.80775e+38 // #7f080005 │ │ -019d20: 6e20 f802 2400 |0024: invoke-virtual {v4, v2}, Ldnsfilter/android/DNSProxyActivity;.getString:(I)Ljava/lang/String; // method@02f8 │ │ -019d26: 0c02 |0027: move-result-object v2 │ │ -019d28: 7220 a800 2600 |0028: invoke-interface {v6, v2}, Landroid/view/Menu;.add:(Ljava/lang/CharSequence;)Landroid/view/MenuItem; // method@00a8 │ │ -019d2e: 0c02 |002b: move-result-object v2 │ │ -019d30: 6902 0001 |002c: sput-object v2, Ldnsfilter/android/DNSProxyActivity;.add_filter:Landroid/view/MenuItem; // field@0100 │ │ -019d34: 6202 f300 |002e: sget-object v2, Ldnsfilter/android/DNSProxyActivity;.IN_FILTER_PREF:Ljava/lang/String; // field@00f3 │ │ -019d38: 6e20 9005 2100 |0030: invoke-virtual {v1, v2}, Ljava/lang/String;.indexOf:(Ljava/lang/String;)I // method@0590 │ │ -019d3e: 0a01 |0033: move-result v1 │ │ -019d40: 3251 0f00 |0034: if-eq v1, v5, 0043 // +000f │ │ -019d44: 1405 2700 087f |0036: const v5, #float 1.80776e+38 // #7f080027 │ │ -019d4a: 6e20 f802 5400 |0039: invoke-virtual {v4, v5}, Ldnsfilter/android/DNSProxyActivity;.getString:(I)Ljava/lang/String; // method@02f8 │ │ -019d50: 0c05 |003c: move-result-object v5 │ │ -019d52: 7220 a800 5600 |003d: invoke-interface {v6, v5}, Landroid/view/Menu;.add:(Ljava/lang/CharSequence;)Landroid/view/MenuItem; // method@00a8 │ │ -019d58: 0c05 |0040: move-result-object v5 │ │ -019d5a: 6905 2d01 |0041: sput-object v5, Ldnsfilter/android/DNSProxyActivity;.remove_filter:Landroid/view/MenuItem; // field@012d │ │ -019d5e: 0f00 |0043: return v0 │ │ +019cc4: |[019cc4] dnsfilter.android.DNSProxyActivity.onCreateActionMode:(Landroid/view/ActionMode;Landroid/view/Menu;)Z │ │ +019cd4: 12f5 |0000: const/4 v5, #int -1 // #ff │ │ +019cd6: 6705 f700 |0001: sput v5, Ldnsfilter/android/DNSProxyActivity;.NO_ACTION_MENU:I // field@00f7 │ │ +019cda: 1210 |0003: const/4 v0, #int 1 // #1 │ │ +019cdc: 7020 f702 0400 |0004: invoke-direct {v4, v0}, Ldnsfilter/android/DNSProxyActivity;.getSelectedText:(Z)Ljava/lang/String; // method@02f7 │ │ +019ce2: 0c01 |0007: move-result-object v1 │ │ +019ce4: 6002 0200 |0008: sget v2, Landroid/os/Build$VERSION;.SDK_INT:I // field@0002 │ │ +019ce8: 1303 1700 |000a: const/16 v3, #int 23 // #17 │ │ +019cec: 3532 0d00 |000c: if-ge v2, v3, 0019 // +000d │ │ +019cf0: 1402 1900 057f |000e: const v2, #float 1.76788e+38 // #7f050019 │ │ +019cf6: 6e20 ef02 2400 |0011: invoke-virtual {v4, v2}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02ef │ │ +019cfc: 0c02 |0014: move-result-object v2 │ │ +019cfe: 1203 |0015: const/4 v3, #int 0 // #0 │ │ +019d00: 6e20 b400 3200 |0016: invoke-virtual {v2, v3}, Landroid/view/View;.setVisibility:(I)V // method@00b4 │ │ +019d06: 6202 f800 |0019: sget-object v2, Ldnsfilter/android/DNSProxyActivity;.NO_FILTER_PREF:Ljava/lang/String; // field@00f8 │ │ +019d0a: 6e20 9005 2100 |001b: invoke-virtual {v1, v2}, Ljava/lang/String;.indexOf:(Ljava/lang/String;)I // method@0590 │ │ +019d10: 0a02 |001e: move-result v2 │ │ +019d12: 3252 0f00 |001f: if-eq v2, v5, 002e // +000f │ │ +019d16: 1402 0500 087f |0021: const v2, #float 1.80775e+38 // #7f080005 │ │ +019d1c: 6e20 f802 2400 |0024: invoke-virtual {v4, v2}, Ldnsfilter/android/DNSProxyActivity;.getString:(I)Ljava/lang/String; // method@02f8 │ │ +019d22: 0c02 |0027: move-result-object v2 │ │ +019d24: 7220 a800 2600 |0028: invoke-interface {v6, v2}, Landroid/view/Menu;.add:(Ljava/lang/CharSequence;)Landroid/view/MenuItem; // method@00a8 │ │ +019d2a: 0c02 |002b: move-result-object v2 │ │ +019d2c: 6902 0001 |002c: sput-object v2, Ldnsfilter/android/DNSProxyActivity;.add_filter:Landroid/view/MenuItem; // field@0100 │ │ +019d30: 6202 f300 |002e: sget-object v2, Ldnsfilter/android/DNSProxyActivity;.IN_FILTER_PREF:Ljava/lang/String; // field@00f3 │ │ +019d34: 6e20 9005 2100 |0030: invoke-virtual {v1, v2}, Ljava/lang/String;.indexOf:(Ljava/lang/String;)I // method@0590 │ │ +019d3a: 0a01 |0033: move-result v1 │ │ +019d3c: 3251 0f00 |0034: if-eq v1, v5, 0043 // +000f │ │ +019d40: 1405 2700 087f |0036: const v5, #float 1.80776e+38 // #7f080027 │ │ +019d46: 6e20 f802 5400 |0039: invoke-virtual {v4, v5}, Ldnsfilter/android/DNSProxyActivity;.getString:(I)Ljava/lang/String; // method@02f8 │ │ +019d4c: 0c05 |003c: move-result-object v5 │ │ +019d4e: 7220 a800 5600 |003d: invoke-interface {v6, v5}, Landroid/view/Menu;.add:(Ljava/lang/CharSequence;)Landroid/view/MenuItem; // method@00a8 │ │ +019d54: 0c05 |0040: move-result-object v5 │ │ +019d56: 6905 2d01 |0041: sput-object v5, Ldnsfilter/android/DNSProxyActivity;.remove_filter:Landroid/view/MenuItem; // field@012d │ │ +019d5a: 0f00 |0043: return v0 │ │ catches : (none) │ │ positions : │ │ 0x0001 line=1684 │ │ 0x0004 line=1686 │ │ 0x0008 line=1688 │ │ 0x0011 line=1689 │ │ 0x0019 line=1691 │ │ @@ -47633,30 +47633,30 @@ │ │ type : '()V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 32 16-bit code units │ │ -01c690: |[01c690] dnsfilter.android.DNSProxyActivity.onDestroy:()V │ │ -01c6a0: 6f10 0500 0100 |0000: invoke-super {v1}, Landroid/app/Activity;.onDestroy:()V // method@0005 │ │ -01c6a6: 6200 fa00 |0003: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.PASSWORD_DIAG:Landroid/app/AlertDialog; // field@00fa │ │ -01c6aa: 3800 0d00 |0005: if-eqz v0, 0012 // +000d │ │ -01c6ae: 6e10 1000 0000 |0007: invoke-virtual {v0}, Landroid/app/AlertDialog;.isShowing:()Z // method@0010 │ │ -01c6b4: 0a00 |000a: move-result v0 │ │ -01c6b6: 3800 0700 |000b: if-eqz v0, 0012 // +0007 │ │ -01c6ba: 6200 fa00 |000d: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.PASSWORD_DIAG:Landroid/app/AlertDialog; // field@00fa │ │ -01c6be: 6e10 0f00 0000 |000f: invoke-virtual {v0}, Landroid/app/AlertDialog;.dismiss:()V // method@000f │ │ -01c6c4: 6200 2601 |0012: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.popUpDialog:Landroid/app/Dialog; // field@0126 │ │ -01c6c8: 3800 0b00 |0014: if-eqz v0, 001f // +000b │ │ -01c6cc: 6e10 1900 0000 |0016: invoke-virtual {v0}, Landroid/app/Dialog;.isShowing:()Z // method@0019 │ │ -01c6d2: 0a00 |0019: move-result v0 │ │ -01c6d4: 3800 0500 |001a: if-eqz v0, 001f // +0005 │ │ -01c6d8: 7010 e802 0100 |001c: invoke-direct {v1}, Ldnsfilter/android/DNSProxyActivity;.closeInitialInfoPopUp:()V // method@02e8 │ │ -01c6de: 0e00 |001f: return-void │ │ +01c68c: |[01c68c] dnsfilter.android.DNSProxyActivity.onDestroy:()V │ │ +01c69c: 6f10 0500 0100 |0000: invoke-super {v1}, Landroid/app/Activity;.onDestroy:()V // method@0005 │ │ +01c6a2: 6200 fa00 |0003: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.PASSWORD_DIAG:Landroid/app/AlertDialog; // field@00fa │ │ +01c6a6: 3800 0d00 |0005: if-eqz v0, 0012 // +000d │ │ +01c6aa: 6e10 1000 0000 |0007: invoke-virtual {v0}, Landroid/app/AlertDialog;.isShowing:()Z // method@0010 │ │ +01c6b0: 0a00 |000a: move-result v0 │ │ +01c6b2: 3800 0700 |000b: if-eqz v0, 0012 // +0007 │ │ +01c6b6: 6200 fa00 |000d: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.PASSWORD_DIAG:Landroid/app/AlertDialog; // field@00fa │ │ +01c6ba: 6e10 0f00 0000 |000f: invoke-virtual {v0}, Landroid/app/AlertDialog;.dismiss:()V // method@000f │ │ +01c6c0: 6200 2601 |0012: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.popUpDialog:Landroid/app/Dialog; // field@0126 │ │ +01c6c4: 3800 0b00 |0014: if-eqz v0, 001f // +000b │ │ +01c6c8: 6e10 1900 0000 |0016: invoke-virtual {v0}, Landroid/app/Dialog;.isShowing:()Z // method@0019 │ │ +01c6ce: 0a00 |0019: move-result v0 │ │ +01c6d0: 3800 0500 |001a: if-eqz v0, 001f // +0005 │ │ +01c6d4: 7010 e802 0100 |001c: invoke-direct {v1}, Ldnsfilter/android/DNSProxyActivity;.closeInitialInfoPopUp:()V // method@02e8 │ │ +01c6da: 0e00 |001f: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=614 │ │ 0x0003 line=615 │ │ 0x000d line=616 │ │ 0x0012 line=618 │ │ 0x001c line=619 │ │ @@ -47668,24 +47668,24 @@ │ │ type : '(Landroid/view/ActionMode;)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 3 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 19 16-bit code units │ │ -01c6e0: |[01c6e0] dnsfilter.android.DNSProxyActivity.onDestroyActionMode:(Landroid/view/ActionMode;)V │ │ -01c6f0: 6002 0200 |0000: sget v2, Landroid/os/Build$VERSION;.SDK_INT:I // field@0002 │ │ -01c6f4: 1300 1700 |0002: const/16 v0, #int 23 // #17 │ │ -01c6f8: 3502 0e00 |0004: if-ge v2, v0, 0012 // +000e │ │ -01c6fc: 1402 1900 057f |0006: const v2, #float 1.76788e+38 // #7f050019 │ │ -01c702: 6e20 ef02 2100 |0009: invoke-virtual {v1, v2}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02ef │ │ -01c708: 0c02 |000c: move-result-object v2 │ │ -01c70a: 1300 0800 |000d: const/16 v0, #int 8 // #8 │ │ -01c70e: 6e20 b400 0200 |000f: invoke-virtual {v2, v0}, Landroid/view/View;.setVisibility:(I)V // method@00b4 │ │ -01c714: 0e00 |0012: return-void │ │ +01c6dc: |[01c6dc] dnsfilter.android.DNSProxyActivity.onDestroyActionMode:(Landroid/view/ActionMode;)V │ │ +01c6ec: 6002 0200 |0000: sget v2, Landroid/os/Build$VERSION;.SDK_INT:I // field@0002 │ │ +01c6f0: 1300 1700 |0002: const/16 v0, #int 23 // #17 │ │ +01c6f4: 3502 0e00 |0004: if-ge v2, v0, 0012 // +000e │ │ +01c6f8: 1402 1900 057f |0006: const v2, #float 1.76788e+38 // #7f050019 │ │ +01c6fe: 6e20 ef02 2100 |0009: invoke-virtual {v1, v2}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02ef │ │ +01c704: 0c02 |000c: move-result-object v2 │ │ +01c706: 1300 0800 |000d: const/16 v0, #int 8 // #8 │ │ +01c70a: 6e20 b400 0200 |000f: invoke-virtual {v2, v0}, Landroid/view/View;.setVisibility:(I)V // method@00b4 │ │ +01c710: 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; │ │ @@ -47695,22 +47695,22 @@ │ │ type : '(Landroid/view/View;Z)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 3 │ │ ins : 3 │ │ outs : 2 │ │ insns size : 15 16-bit code units │ │ -01c718: |[01c718] dnsfilter.android.DNSProxyActivity.onFocusChange:(Landroid/view/View;Z)V │ │ -01c728: 3902 0e00 |0000: if-nez v2, 000e // +000e │ │ -01c72c: 1401 1900 057f |0002: const v1, #float 1.76788e+38 // #7f050019 │ │ -01c732: 6e20 ef02 1000 |0005: invoke-virtual {v0, v1}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02ef │ │ -01c738: 0c01 |0008: move-result-object v1 │ │ -01c73a: 1302 0800 |0009: const/16 v2, #int 8 // #8 │ │ -01c73e: 6e20 b400 2100 |000b: invoke-virtual {v1, v2}, Landroid/view/View;.setVisibility:(I)V // method@00b4 │ │ -01c744: 0e00 |000e: return-void │ │ +01c714: |[01c714] dnsfilter.android.DNSProxyActivity.onFocusChange:(Landroid/view/View;Z)V │ │ +01c724: 3902 0e00 |0000: if-nez v2, 000e // +000e │ │ +01c728: 1401 1900 057f |0002: const v1, #float 1.76788e+38 // #7f050019 │ │ +01c72e: 6e20 ef02 1000 |0005: invoke-virtual {v0, v1}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02ef │ │ +01c734: 0c01 |0008: move-result-object v1 │ │ +01c736: 1302 0800 |0009: const/16 v2, #int 8 // #8 │ │ +01c73a: 6e20 b400 2100 |000b: invoke-virtual {v1, v2}, Landroid/view/View;.setVisibility:(I)V // method@00b4 │ │ +01c740: 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 │ │ @@ -47720,23 +47720,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 │ │ -019d60: |[019d60] dnsfilter.android.DNSProxyActivity.onKey:(Landroid/content/DialogInterface;ILandroid/view/KeyEvent;)Z │ │ -019d70: 1243 |0000: const/4 v3, #int 4 // #4 │ │ -019d72: 3232 0500 |0001: if-eq v2, v3, 0006 // +0005 │ │ -019d76: 1233 |0003: const/4 v3, #int 3 // #3 │ │ -019d78: 3332 0800 |0004: if-ne v2, v3, 000c // +0008 │ │ -019d7c: 7210 4000 0100 |0006: invoke-interface {v1}, Landroid/content/DialogInterface;.dismiss:()V // method@0040 │ │ -019d82: 7010 2203 0000 |0009: invoke-direct {v0}, Ldnsfilter/android/DNSProxyActivity;.persistConfig:()V // method@0322 │ │ -019d88: 1201 |000c: const/4 v1, #int 0 // #0 │ │ -019d8a: 0f01 |000d: return v1 │ │ +019d5c: |[019d5c] dnsfilter.android.DNSProxyActivity.onKey:(Landroid/content/DialogInterface;ILandroid/view/KeyEvent;)Z │ │ +019d6c: 1243 |0000: const/4 v3, #int 4 // #4 │ │ +019d6e: 3232 0500 |0001: if-eq v2, v3, 0006 // +0005 │ │ +019d72: 1233 |0003: const/4 v3, #int 3 // #3 │ │ +019d74: 3332 0800 |0004: if-ne v2, v3, 000c // +0008 │ │ +019d78: 7210 4000 0100 |0006: invoke-interface {v1}, Landroid/content/DialogInterface;.dismiss:()V // method@0040 │ │ +019d7e: 7010 2203 0000 |0009: invoke-direct {v0}, Ldnsfilter/android/DNSProxyActivity;.persistConfig:()V // method@0322 │ │ +019d84: 1201 |000c: const/4 v1, #int 0 // #0 │ │ +019d86: 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; │ │ @@ -47748,66 +47748,66 @@ │ │ type : '(Landroid/view/MenuItem;)Z' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 2 │ │ outs : 0 │ │ insns size : 2 16-bit code units │ │ -019d8c: |[019d8c] dnsfilter.android.DNSProxyActivity.onMenuItemClick:(Landroid/view/MenuItem;)Z │ │ -019d9c: 1201 |0000: const/4 v1, #int 0 // #0 │ │ -019d9e: 0f01 |0001: return v1 │ │ +019d88: |[019d88] dnsfilter.android.DNSProxyActivity.onMenuItemClick:(Landroid/view/MenuItem;)Z │ │ +019d98: 1201 |0000: const/4 v1, #int 0 // #0 │ │ +019d9a: 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 │ │ -019da0: |[019da0] dnsfilter.android.DNSProxyActivity.onPrepareActionMode:(Landroid/view/ActionMode;Landroid/view/Menu;)Z │ │ -019db0: 1201 |0000: const/4 v1, #int 0 // #0 │ │ -019db2: 0f01 |0001: return v1 │ │ +019d9c: |[019d9c] dnsfilter.android.DNSProxyActivity.onPrepareActionMode:(Landroid/view/ActionMode;Landroid/view/Menu;)Z │ │ +019dac: 1201 |0000: const/4 v1, #int 0 // #0 │ │ +019dae: 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 │ │ -01c7d4: |[01c7d4] dnsfilter.android.DNSProxyActivity.onRequestPermissionsResult:(I[Ljava/lang/String;[I)V │ │ -01c7e4: 2142 |0000: array-length v2, v4 │ │ -01c7e6: 3902 0300 |0001: if-nez v2, 0004 // +0003 │ │ -01c7ea: 0e00 |0003: return-void │ │ -01c7ec: 1202 |0004: const/4 v2, #int 0 // #0 │ │ -01c7ee: 4603 0302 |0005: aget-object v3, v3, v2 │ │ -01c7f2: 1a00 6505 |0007: const-string v0, "android.permission.POST_NOTIFICATIONS" // string@0565 │ │ -01c7f6: 6e20 8b05 0300 |0009: invoke-virtual {v3, v0}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058b │ │ -01c7fc: 0a03 |000c: move-result v3 │ │ -01c7fe: 3803 0d00 |000d: if-eqz v3, 001a // +000d │ │ -01c802: 4402 0402 |000f: aget v2, v4, v2 │ │ -01c806: 3902 0900 |0011: if-nez v2, 001a // +0009 │ │ -01c80a: 7010 ff02 0100 |0013: invoke-direct {v1}, Ldnsfilter/android/DNSProxyActivity;.handleRestart:()V // method@02ff │ │ -01c810: 7010 fd02 0100 |0016: invoke-direct {v1}, Ldnsfilter/android/DNSProxyActivity;.handleInitialInfoPopUp:()V // method@02fd │ │ -01c816: 280a |0019: goto 0023 // +000a │ │ -01c818: 7100 2507 0000 |001a: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0725 │ │ -01c81e: 0c02 |001d: move-result-object v2 │ │ -01c820: 1a03 e203 |001e: const-string v3, "NOTIFICATION PERMISSION IS REQUIRED!" // string@03e2 │ │ -01c824: 7220 3207 3200 |0020: invoke-interface {v2, v3}, Lutil/LoggerInterface;.message:(Ljava/lang/String;)V // method@0732 │ │ -01c82a: 0e00 |0023: return-void │ │ +01c7d0: |[01c7d0] dnsfilter.android.DNSProxyActivity.onRequestPermissionsResult:(I[Ljava/lang/String;[I)V │ │ +01c7e0: 2142 |0000: array-length v2, v4 │ │ +01c7e2: 3902 0300 |0001: if-nez v2, 0004 // +0003 │ │ +01c7e6: 0e00 |0003: return-void │ │ +01c7e8: 1202 |0004: const/4 v2, #int 0 // #0 │ │ +01c7ea: 4603 0302 |0005: aget-object v3, v3, v2 │ │ +01c7ee: 1a00 6505 |0007: const-string v0, "android.permission.POST_NOTIFICATIONS" // string@0565 │ │ +01c7f2: 6e20 8b05 0300 |0009: invoke-virtual {v3, v0}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058b │ │ +01c7f8: 0a03 |000c: move-result v3 │ │ +01c7fa: 3803 0d00 |000d: if-eqz v3, 001a // +000d │ │ +01c7fe: 4402 0402 |000f: aget v2, v4, v2 │ │ +01c802: 3902 0900 |0011: if-nez v2, 001a // +0009 │ │ +01c806: 7010 ff02 0100 |0013: invoke-direct {v1}, Ldnsfilter/android/DNSProxyActivity;.handleRestart:()V // method@02ff │ │ +01c80c: 7010 fd02 0100 |0016: invoke-direct {v1}, Ldnsfilter/android/DNSProxyActivity;.handleInitialInfoPopUp:()V // method@02fd │ │ +01c812: 280a |0019: goto 0023 // +000a │ │ +01c814: 7100 2507 0000 |001a: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0725 │ │ +01c81a: 0c02 |001d: move-result-object v2 │ │ +01c81c: 1a03 e203 |001e: const-string v3, "NOTIFICATION PERMISSION IS REQUIRED!" // string@03e2 │ │ +01c820: 7220 3207 3200 |0020: invoke-interface {v2, v3}, Lutil/LoggerInterface;.message:(Ljava/lang/String;)V // method@0732 │ │ +01c826: 0e00 |0023: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=603 │ │ 0x0005 line=605 │ │ 0x0013 line=606 │ │ 0x0016 line=607 │ │ 0x001a line=609 │ │ @@ -47822,32 +47822,32 @@ │ │ type : '()V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 5 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 37 16-bit code units │ │ -01c82c: |[01c82c] dnsfilter.android.DNSProxyActivity.onResume:()V │ │ -01c83c: 6f10 0600 0400 |0000: invoke-super {v4}, Landroid/app/Activity;.onResume:()V // method@0006 │ │ -01c842: 7010 e602 0400 |0003: invoke-direct {v4}, Ldnsfilter/android/DNSProxyActivity;.checkPasscode:()V // method@02e6 │ │ -01c848: 281e |0006: goto 0024 // +001e │ │ -01c84a: 0d00 |0007: move-exception v0 │ │ -01c84c: 6e10 5c05 0000 |0008: invoke-virtual {v0}, Ljava/lang/Exception;.printStackTrace:()V // method@055c │ │ -01c852: 7100 2507 0000 |000b: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0725 │ │ -01c858: 0c01 |000e: move-result-object v1 │ │ -01c85a: 2202 2d01 |000f: new-instance v2, Ljava/lang/StringBuilder; // type@012d │ │ -01c85e: 1a03 3409 |0011: const-string v3, "onResume() failed! " // string@0934 │ │ -01c862: 7020 a805 3200 |0013: invoke-direct {v2, v3}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05a8 │ │ -01c868: 6e10 5f05 0000 |0016: invoke-virtual {v0}, Ljava/lang/Exception;.toString:()Ljava/lang/String; // method@055f │ │ -01c86e: 0c00 |0019: move-result-object v0 │ │ -01c870: 6e20 ad05 0200 |001a: invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -01c876: 6e10 af05 0200 |001d: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ -01c87c: 0c00 |0020: move-result-object v0 │ │ -01c87e: 7220 3107 0100 |0021: invoke-interface {v1, v0}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0731 │ │ -01c884: 0e00 |0024: return-void │ │ +01c828: |[01c828] dnsfilter.android.DNSProxyActivity.onResume:()V │ │ +01c838: 6f10 0600 0400 |0000: invoke-super {v4}, Landroid/app/Activity;.onResume:()V // method@0006 │ │ +01c83e: 7010 e602 0400 |0003: invoke-direct {v4}, Ldnsfilter/android/DNSProxyActivity;.checkPasscode:()V // method@02e6 │ │ +01c844: 281e |0006: goto 0024 // +001e │ │ +01c846: 0d00 |0007: move-exception v0 │ │ +01c848: 6e10 5c05 0000 |0008: invoke-virtual {v0}, Ljava/lang/Exception;.printStackTrace:()V // method@055c │ │ +01c84e: 7100 2507 0000 |000b: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0725 │ │ +01c854: 0c01 |000e: move-result-object v1 │ │ +01c856: 2202 2d01 |000f: new-instance v2, Ljava/lang/StringBuilder; // type@012d │ │ +01c85a: 1a03 3409 |0011: const-string v3, "onResume() failed! " // string@0934 │ │ +01c85e: 7020 a805 3200 |0013: invoke-direct {v2, v3}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05a8 │ │ +01c864: 6e10 5f05 0000 |0016: invoke-virtual {v0}, Ljava/lang/Exception;.toString:()Ljava/lang/String; // method@055f │ │ +01c86a: 0c00 |0019: move-result-object v0 │ │ +01c86c: 6e20 ad05 0200 |001a: invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +01c872: 6e10 af05 0200 |001d: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ +01c878: 0c00 |0020: move-result-object v0 │ │ +01c87a: 7220 3107 0100 |0021: invoke-interface {v1, v0}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0731 │ │ +01c880: 0e00 |0024: return-void │ │ catches : 1 │ │ 0x0000 - 0x0006 │ │ Ljava/lang/Exception; -> 0x0007 │ │ positions : │ │ 0x0000 line=625 │ │ 0x0003 line=626 │ │ 0x0008 line=628 │ │ @@ -47860,65 +47860,65 @@ │ │ type : '(Ljava/lang/CharSequence;III)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 5 │ │ ins : 5 │ │ outs : 0 │ │ insns size : 1 16-bit code units │ │ -01c898: |[01c898] dnsfilter.android.DNSProxyActivity.onTextChanged:(Ljava/lang/CharSequence;III)V │ │ -01c8a8: 0e00 |0000: return-void │ │ +01c894: |[01c894] dnsfilter.android.DNSProxyActivity.onTextChanged:(Ljava/lang/CharSequence;III)V │ │ +01c8a4: 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 │ │ -019db4: |[019db4] dnsfilter.android.DNSProxyActivity.onTouch:(Landroid/view/View;Landroid/view/MotionEvent;)Z │ │ -019dc4: 5530 ea00 |0000: iget-boolean v0, v3, Ldnsfilter/android/DNSProxyActivity;.ACTION_MENU_FALLBACK:Z // field@00ea │ │ -019dc8: 3800 0700 |0002: if-eqz v0, 0009 // +0007 │ │ -019dcc: 6e30 1d03 4305 |0004: invoke-virtual {v3, v4, v5}, Ldnsfilter/android/DNSProxyActivity;.onTouchActionMenuFallback:(Landroid/view/View;Landroid/view/MotionEvent;)Z // method@031d │ │ -019dd2: 0a04 |0007: move-result v4 │ │ -019dd4: 0f04 |0008: return v4 │ │ -019dd6: 6004 0200 |0009: sget v4, Landroid/os/Build$VERSION;.SDK_INT:I // field@0002 │ │ -019dda: 1300 1700 |000b: const/16 v0, #int 23 // #17 │ │ -019dde: 1201 |000d: const/4 v1, #int 0 // #0 │ │ -019de0: 1212 |000e: const/4 v2, #int 1 // #1 │ │ -019de2: 3504 0600 |000f: if-ge v4, v0, 0015 // +0006 │ │ -019de6: 7020 f702 2300 |0011: invoke-direct {v3, v2}, Ldnsfilter/android/DNSProxyActivity;.getSelectedText:(Z)Ljava/lang/String; // method@02f7 │ │ -019dec: 0f01 |0014: return v1 │ │ -019dee: 6e10 a900 0500 |0015: invoke-virtual {v5}, Landroid/view/MotionEvent;.getAction:()I // method@00a9 │ │ -019df4: 0a04 |0018: move-result v4 │ │ -019df6: 3324 2a00 |0019: if-ne v4, v2, 0043 // +002a │ │ -019dfa: 7020 f702 2300 |001b: invoke-direct {v3, v2}, Ldnsfilter/android/DNSProxyActivity;.getSelectedText:(Z)Ljava/lang/String; // method@02f7 │ │ -019e00: 0c04 |001e: move-result-object v4 │ │ -019e02: 6005 f700 |001f: sget v5, Ldnsfilter/android/DNSProxyActivity;.NO_ACTION_MENU:I // field@00f7 │ │ -019e06: 3a05 2200 |0021: if-ltz v5, 0043 // +0022 │ │ -019e0a: 1a05 0000 |0023: const-string v5, "" // string@0000 │ │ -019e0e: 6e20 8b05 5400 |0025: invoke-virtual {v4, v5}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058b │ │ -019e14: 0a04 |0028: move-result v4 │ │ -019e16: 3904 1a00 |0029: if-nez v4, 0043 // +001a │ │ -019e1a: 6004 f700 |002b: sget v4, Ldnsfilter/android/DNSProxyActivity;.NO_ACTION_MENU:I // field@00f7 │ │ -019e1e: 3624 0800 |002d: if-gt v4, v2, 0035 // +0008 │ │ -019e22: b024 |002f: add-int/2addr v4, v2 │ │ -019e24: 6704 f700 |0030: sput v4, Ldnsfilter/android/DNSProxyActivity;.NO_ACTION_MENU:I // field@00f7 │ │ -019e28: 7010 ea02 0300 |0032: invoke-direct {v3}, Ldnsfilter/android/DNSProxyActivity;.doAsyncCheck:()V // method@02ea │ │ -019e2e: 6004 f700 |0035: sget v4, Ldnsfilter/android/DNSProxyActivity;.NO_ACTION_MENU:I // field@00f7 │ │ -019e32: 3724 0c00 |0037: if-le v4, v2, 0043 // +000c │ │ -019e36: 1404 1900 057f |0039: const v4, #float 1.76788e+38 // #7f050019 │ │ -019e3c: 6e20 ef02 4300 |003c: invoke-virtual {v3, v4}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02ef │ │ -019e42: 0c04 |003f: move-result-object v4 │ │ -019e44: 6e20 b400 1400 |0040: invoke-virtual {v4, v1}, Landroid/view/View;.setVisibility:(I)V // method@00b4 │ │ -019e4a: 0f01 |0043: return v1 │ │ +019db0: |[019db0] dnsfilter.android.DNSProxyActivity.onTouch:(Landroid/view/View;Landroid/view/MotionEvent;)Z │ │ +019dc0: 5530 ea00 |0000: iget-boolean v0, v3, Ldnsfilter/android/DNSProxyActivity;.ACTION_MENU_FALLBACK:Z // field@00ea │ │ +019dc4: 3800 0700 |0002: if-eqz v0, 0009 // +0007 │ │ +019dc8: 6e30 1d03 4305 |0004: invoke-virtual {v3, v4, v5}, Ldnsfilter/android/DNSProxyActivity;.onTouchActionMenuFallback:(Landroid/view/View;Landroid/view/MotionEvent;)Z // method@031d │ │ +019dce: 0a04 |0007: move-result v4 │ │ +019dd0: 0f04 |0008: return v4 │ │ +019dd2: 6004 0200 |0009: sget v4, Landroid/os/Build$VERSION;.SDK_INT:I // field@0002 │ │ +019dd6: 1300 1700 |000b: const/16 v0, #int 23 // #17 │ │ +019dda: 1201 |000d: const/4 v1, #int 0 // #0 │ │ +019ddc: 1212 |000e: const/4 v2, #int 1 // #1 │ │ +019dde: 3504 0600 |000f: if-ge v4, v0, 0015 // +0006 │ │ +019de2: 7020 f702 2300 |0011: invoke-direct {v3, v2}, Ldnsfilter/android/DNSProxyActivity;.getSelectedText:(Z)Ljava/lang/String; // method@02f7 │ │ +019de8: 0f01 |0014: return v1 │ │ +019dea: 6e10 a900 0500 |0015: invoke-virtual {v5}, Landroid/view/MotionEvent;.getAction:()I // method@00a9 │ │ +019df0: 0a04 |0018: move-result v4 │ │ +019df2: 3324 2a00 |0019: if-ne v4, v2, 0043 // +002a │ │ +019df6: 7020 f702 2300 |001b: invoke-direct {v3, v2}, Ldnsfilter/android/DNSProxyActivity;.getSelectedText:(Z)Ljava/lang/String; // method@02f7 │ │ +019dfc: 0c04 |001e: move-result-object v4 │ │ +019dfe: 6005 f700 |001f: sget v5, Ldnsfilter/android/DNSProxyActivity;.NO_ACTION_MENU:I // field@00f7 │ │ +019e02: 3a05 2200 |0021: if-ltz v5, 0043 // +0022 │ │ +019e06: 1a05 0000 |0023: const-string v5, "" // string@0000 │ │ +019e0a: 6e20 8b05 5400 |0025: invoke-virtual {v4, v5}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058b │ │ +019e10: 0a04 |0028: move-result v4 │ │ +019e12: 3904 1a00 |0029: if-nez v4, 0043 // +001a │ │ +019e16: 6004 f700 |002b: sget v4, Ldnsfilter/android/DNSProxyActivity;.NO_ACTION_MENU:I // field@00f7 │ │ +019e1a: 3624 0800 |002d: if-gt v4, v2, 0035 // +0008 │ │ +019e1e: b024 |002f: add-int/2addr v4, v2 │ │ +019e20: 6704 f700 |0030: sput v4, Ldnsfilter/android/DNSProxyActivity;.NO_ACTION_MENU:I // field@00f7 │ │ +019e24: 7010 ea02 0300 |0032: invoke-direct {v3}, Ldnsfilter/android/DNSProxyActivity;.doAsyncCheck:()V // method@02ea │ │ +019e2a: 6004 f700 |0035: sget v4, Ldnsfilter/android/DNSProxyActivity;.NO_ACTION_MENU:I // field@00f7 │ │ +019e2e: 3724 0c00 |0037: if-le v4, v2, 0043 // +000c │ │ +019e32: 1404 1900 057f |0039: const v4, #float 1.76788e+38 // #7f050019 │ │ +019e38: 6e20 ef02 4300 |003c: invoke-virtual {v3, v4}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02ef │ │ +019e3e: 0c04 |003f: move-result-object v4 │ │ +019e40: 6e20 b400 1400 |0040: invoke-virtual {v4, v1}, Landroid/view/View;.setVisibility:(I)V // method@00b4 │ │ +019e46: 0f01 |0043: return v1 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=1767 │ │ 0x0004 line=1768 │ │ 0x0009 line=1770 │ │ 0x0011 line=1771 │ │ 0x0015 line=1775 │ │ @@ -47939,62 +47939,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 │ │ -019e4c: |[019e4c] dnsfilter.android.DNSProxyActivity.onTouchActionMenuFallback:(Landroid/view/View;Landroid/view/MotionEvent;)Z │ │ -019e5c: 6e10 a900 0400 |0000: invoke-virtual {v4}, Landroid/view/MotionEvent;.getAction:()I // method@00a9 │ │ -019e62: 0a03 |0003: move-result v3 │ │ -019e64: 1400 1900 057f |0004: const v0, #float 1.76788e+38 // #7f050019 │ │ -019e6a: 1201 |0007: const/4 v1, #int 0 // #0 │ │ -019e6c: 3903 2300 |0008: if-nez v3, 002b // +0023 │ │ -019e70: 6e20 ef02 0200 |000a: invoke-virtual {v2, v0}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02ef │ │ -019e76: 0c03 |000d: move-result-object v3 │ │ -019e78: 6e10 b000 0300 |000e: invoke-virtual {v3}, Landroid/view/View;.getVisibility:()I // method@00b0 │ │ -019e7e: 0a03 |0011: move-result v3 │ │ -019e80: 3903 1900 |0012: if-nez v3, 002b // +0019 │ │ -019e84: 6e20 ef02 0200 |0014: invoke-virtual {v2, v0}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02ef │ │ -019e8a: 0c03 |0017: move-result-object v3 │ │ -019e8c: 1304 0800 |0018: const/16 v4, #int 8 // #8 │ │ -019e90: 6e20 b400 4300 |001a: invoke-virtual {v3, v4}, Landroid/view/View;.setVisibility:(I)V // method@00b4 │ │ -019e96: 6203 2001 |001d: sget-object v3, Ldnsfilter/android/DNSProxyActivity;.logOutView:Landroid/widget/EditText; // field@0120 │ │ -019e9a: 6e10 da00 0300 |001f: invoke-virtual {v3}, Landroid/widget/EditText;.getText:()Landroid/text/Editable; // method@00da │ │ -019ea0: 0c04 |0022: move-result-object v4 │ │ -019ea2: 7210 9900 0400 |0023: invoke-interface {v4}, Landroid/text/Editable;.length:()I // method@0099 │ │ -019ea8: 0a04 |0026: move-result v4 │ │ -019eaa: 6e20 e400 4300 |0027: invoke-virtual {v3, v4}, Landroid/widget/EditText;.setSelection:(I)V // method@00e4 │ │ -019eb0: 0f01 |002a: return v1 │ │ -019eb2: 6e10 a900 0400 |002b: invoke-virtual {v4}, Landroid/view/MotionEvent;.getAction:()I // method@00a9 │ │ -019eb8: 0a03 |002e: move-result v3 │ │ -019eba: 1214 |002f: const/4 v4, #int 1 // #1 │ │ -019ebc: 3343 2e00 |0030: if-ne v3, v4, 005e // +002e │ │ -019ec0: 7020 f702 4200 |0032: invoke-direct {v2, v4}, Ldnsfilter/android/DNSProxyActivity;.getSelectedText:(Z)Ljava/lang/String; // method@02f7 │ │ -019ec6: 0c03 |0035: move-result-object v3 │ │ -019ec8: 6204 f300 |0036: sget-object v4, Ldnsfilter/android/DNSProxyActivity;.IN_FILTER_PREF:Ljava/lang/String; // field@00f3 │ │ -019ecc: 6e20 9905 4300 |0038: invoke-virtual {v3, v4}, Ljava/lang/String;.startsWith:(Ljava/lang/String;)Z // method@0599 │ │ -019ed2: 0a04 |003b: move-result v4 │ │ -019ed4: 3904 0a00 |003c: if-nez v4, 0046 // +000a │ │ -019ed8: 6204 f800 |003e: sget-object v4, Ldnsfilter/android/DNSProxyActivity;.NO_FILTER_PREF:Ljava/lang/String; // field@00f8 │ │ -019edc: 6e20 9905 4300 |0040: invoke-virtual {v3, v4}, Ljava/lang/String;.startsWith:(Ljava/lang/String;)Z // method@0599 │ │ -019ee2: 0a03 |0043: move-result v3 │ │ -019ee4: 3803 1a00 |0044: if-eqz v3, 005e // +001a │ │ -019ee8: 6203 2001 |0046: sget-object v3, Ldnsfilter/android/DNSProxyActivity;.logOutView:Landroid/widget/EditText; // field@0120 │ │ -019eec: 6e10 d900 0300 |0048: invoke-virtual {v3}, Landroid/widget/EditText;.getSelectionStart:()I // method@00d9 │ │ -019ef2: 0a03 |004b: move-result v3 │ │ -019ef4: 6204 2001 |004c: sget-object v4, Ldnsfilter/android/DNSProxyActivity;.logOutView:Landroid/widget/EditText; // field@0120 │ │ -019ef8: 6e10 d800 0400 |004e: invoke-virtual {v4}, Landroid/widget/EditText;.getSelectionEnd:()I // method@00d8 │ │ -019efe: 0a04 |0051: move-result v4 │ │ -019f00: 6e20 ef02 0200 |0052: invoke-virtual {v2, v0}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02ef │ │ -019f06: 0c00 |0055: move-result-object v0 │ │ -019f08: 6e20 b400 1000 |0056: invoke-virtual {v0, v1}, Landroid/view/View;.setVisibility:(I)V // method@00b4 │ │ -019f0e: 6200 2001 |0059: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.logOutView:Landroid/widget/EditText; // field@0120 │ │ -019f12: 6e30 e500 3004 |005b: invoke-virtual {v0, v3, v4}, Landroid/widget/EditText;.setSelection:(II)V // method@00e5 │ │ -019f18: 0f01 |005e: return v1 │ │ +019e48: |[019e48] dnsfilter.android.DNSProxyActivity.onTouchActionMenuFallback:(Landroid/view/View;Landroid/view/MotionEvent;)Z │ │ +019e58: 6e10 a900 0400 |0000: invoke-virtual {v4}, Landroid/view/MotionEvent;.getAction:()I // method@00a9 │ │ +019e5e: 0a03 |0003: move-result v3 │ │ +019e60: 1400 1900 057f |0004: const v0, #float 1.76788e+38 // #7f050019 │ │ +019e66: 1201 |0007: const/4 v1, #int 0 // #0 │ │ +019e68: 3903 2300 |0008: if-nez v3, 002b // +0023 │ │ +019e6c: 6e20 ef02 0200 |000a: invoke-virtual {v2, v0}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02ef │ │ +019e72: 0c03 |000d: move-result-object v3 │ │ +019e74: 6e10 b000 0300 |000e: invoke-virtual {v3}, Landroid/view/View;.getVisibility:()I // method@00b0 │ │ +019e7a: 0a03 |0011: move-result v3 │ │ +019e7c: 3903 1900 |0012: if-nez v3, 002b // +0019 │ │ +019e80: 6e20 ef02 0200 |0014: invoke-virtual {v2, v0}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02ef │ │ +019e86: 0c03 |0017: move-result-object v3 │ │ +019e88: 1304 0800 |0018: const/16 v4, #int 8 // #8 │ │ +019e8c: 6e20 b400 4300 |001a: invoke-virtual {v3, v4}, Landroid/view/View;.setVisibility:(I)V // method@00b4 │ │ +019e92: 6203 2001 |001d: sget-object v3, Ldnsfilter/android/DNSProxyActivity;.logOutView:Landroid/widget/EditText; // field@0120 │ │ +019e96: 6e10 da00 0300 |001f: invoke-virtual {v3}, Landroid/widget/EditText;.getText:()Landroid/text/Editable; // method@00da │ │ +019e9c: 0c04 |0022: move-result-object v4 │ │ +019e9e: 7210 9900 0400 |0023: invoke-interface {v4}, Landroid/text/Editable;.length:()I // method@0099 │ │ +019ea4: 0a04 |0026: move-result v4 │ │ +019ea6: 6e20 e400 4300 |0027: invoke-virtual {v3, v4}, Landroid/widget/EditText;.setSelection:(I)V // method@00e4 │ │ +019eac: 0f01 |002a: return v1 │ │ +019eae: 6e10 a900 0400 |002b: invoke-virtual {v4}, Landroid/view/MotionEvent;.getAction:()I // method@00a9 │ │ +019eb4: 0a03 |002e: move-result v3 │ │ +019eb6: 1214 |002f: const/4 v4, #int 1 // #1 │ │ +019eb8: 3343 2e00 |0030: if-ne v3, v4, 005e // +002e │ │ +019ebc: 7020 f702 4200 |0032: invoke-direct {v2, v4}, Ldnsfilter/android/DNSProxyActivity;.getSelectedText:(Z)Ljava/lang/String; // method@02f7 │ │ +019ec2: 0c03 |0035: move-result-object v3 │ │ +019ec4: 6204 f300 |0036: sget-object v4, Ldnsfilter/android/DNSProxyActivity;.IN_FILTER_PREF:Ljava/lang/String; // field@00f3 │ │ +019ec8: 6e20 9905 4300 |0038: invoke-virtual {v3, v4}, Ljava/lang/String;.startsWith:(Ljava/lang/String;)Z // method@0599 │ │ +019ece: 0a04 |003b: move-result v4 │ │ +019ed0: 3904 0a00 |003c: if-nez v4, 0046 // +000a │ │ +019ed4: 6204 f800 |003e: sget-object v4, Ldnsfilter/android/DNSProxyActivity;.NO_FILTER_PREF:Ljava/lang/String; // field@00f8 │ │ +019ed8: 6e20 9905 4300 |0040: invoke-virtual {v3, v4}, Ljava/lang/String;.startsWith:(Ljava/lang/String;)Z // method@0599 │ │ +019ede: 0a03 |0043: move-result v3 │ │ +019ee0: 3803 1a00 |0044: if-eqz v3, 005e // +001a │ │ +019ee4: 6203 2001 |0046: sget-object v3, Ldnsfilter/android/DNSProxyActivity;.logOutView:Landroid/widget/EditText; // field@0120 │ │ +019ee8: 6e10 d900 0300 |0048: invoke-virtual {v3}, Landroid/widget/EditText;.getSelectionStart:()I // method@00d9 │ │ +019eee: 0a03 |004b: move-result v3 │ │ +019ef0: 6204 2001 |004c: sget-object v4, Ldnsfilter/android/DNSProxyActivity;.logOutView:Landroid/widget/EditText; // field@0120 │ │ +019ef4: 6e10 d800 0400 |004e: invoke-virtual {v4}, Landroid/widget/EditText;.getSelectionEnd:()I // method@00d8 │ │ +019efa: 0a04 |0051: move-result v4 │ │ +019efc: 6e20 ef02 0200 |0052: invoke-virtual {v2, v0}, Ldnsfilter/android/DNSProxyActivity;.findViewById:(I)Landroid/view/View; // method@02ef │ │ +019f02: 0c00 |0055: move-result-object v0 │ │ +019f04: 6e20 b400 1000 |0056: invoke-virtual {v0, v1}, Landroid/view/View;.setVisibility:(I)V // method@00b4 │ │ +019f0a: 6200 2001 |0059: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.logOutView:Landroid/widget/EditText; // field@0120 │ │ +019f0e: 6e30 e500 3004 |005b: invoke-virtual {v0, v3, v4}, Landroid/widget/EditText;.setSelection:(II)V // method@00e5 │ │ +019f14: 0f01 |005e: return v1 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=1744 │ │ 0x0014 line=1745 │ │ 0x001d line=1746 │ │ 0x002b line=1749 │ │ 0x0032 line=1751 │ │ @@ -48013,29 +48013,29 @@ │ │ type : '(Z)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 3 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 30 16-bit code units │ │ -01c8ac: |[01c8ac] dnsfilter.android.DNSProxyActivity.onWindowFocusChanged:(Z)V │ │ -01c8bc: 6f20 0800 2100 |0000: invoke-super {v1, v2}, Landroid/app/Activity;.onWindowFocusChanged:(Z)V // method@0008 │ │ -01c8c2: 3802 1a00 |0003: if-eqz v2, 001d // +001a │ │ -01c8c6: 6302 3301 |0005: sget-boolean v2, Ldnsfilter/android/DNSProxyActivity;.scroll_locked:Z // field@0133 │ │ -01c8ca: 3902 1600 |0007: if-nez v2, 001d // +0016 │ │ -01c8ce: 6202 2001 |0009: sget-object v2, Ldnsfilter/android/DNSProxyActivity;.logOutView:Landroid/widget/EditText; // field@0120 │ │ -01c8d2: 6e10 da00 0200 |000b: invoke-virtual {v2}, Landroid/widget/EditText;.getText:()Landroid/text/Editable; // method@00da │ │ -01c8d8: 0c00 |000e: move-result-object v0 │ │ -01c8da: 7210 9900 0000 |000f: invoke-interface {v0}, Landroid/text/Editable;.length:()I // method@0099 │ │ -01c8e0: 0a00 |0012: move-result v0 │ │ -01c8e2: 6e20 e400 0200 |0013: invoke-virtual {v2, v0}, Landroid/widget/EditText;.setSelection:(I)V // method@00e4 │ │ -01c8e8: 5412 3201 |0016: iget-object v2, v1, Ldnsfilter/android/DNSProxyActivity;.scrollView:Landroid/widget/ScrollView; // field@0132 │ │ -01c8ec: 1300 8200 |0018: const/16 v0, #int 130 // #82 │ │ -01c8f0: 6e20 f400 0200 |001a: invoke-virtual {v2, v0}, Landroid/widget/ScrollView;.fullScroll:(I)Z // method@00f4 │ │ -01c8f6: 0e00 |001d: return-void │ │ +01c8a8: |[01c8a8] dnsfilter.android.DNSProxyActivity.onWindowFocusChanged:(Z)V │ │ +01c8b8: 6f20 0800 2100 |0000: invoke-super {v1, v2}, Landroid/app/Activity;.onWindowFocusChanged:(Z)V // method@0008 │ │ +01c8be: 3802 1a00 |0003: if-eqz v2, 001d // +001a │ │ +01c8c2: 6302 3301 |0005: sget-boolean v2, Ldnsfilter/android/DNSProxyActivity;.scroll_locked:Z // field@0133 │ │ +01c8c6: 3902 1600 |0007: if-nez v2, 001d // +0016 │ │ +01c8ca: 6202 2001 |0009: sget-object v2, Ldnsfilter/android/DNSProxyActivity;.logOutView:Landroid/widget/EditText; // field@0120 │ │ +01c8ce: 6e10 da00 0200 |000b: invoke-virtual {v2}, Landroid/widget/EditText;.getText:()Landroid/text/Editable; // method@00da │ │ +01c8d4: 0c00 |000e: move-result-object v0 │ │ +01c8d6: 7210 9900 0000 |000f: invoke-interface {v0}, Landroid/text/Editable;.length:()I // method@0099 │ │ +01c8dc: 0a00 |0012: move-result v0 │ │ +01c8de: 6e20 e400 0200 |0013: invoke-virtual {v2, v0}, Landroid/widget/EditText;.setSelection:(I)V // method@00e4 │ │ +01c8e4: 5412 3201 |0016: iget-object v2, v1, Ldnsfilter/android/DNSProxyActivity;.scrollView:Landroid/widget/ScrollView; // field@0132 │ │ +01c8e8: 1300 8200 |0018: const/16 v0, #int 130 // #82 │ │ +01c8ec: 6e20 f400 0200 |001a: invoke-virtual {v2, v0}, Landroid/widget/ScrollView;.fullScroll:(I)Z // method@00f4 │ │ +01c8f2: 0e00 |001d: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=1029 │ │ 0x0005 line=1030 │ │ 0x0009 line=1031 │ │ 0x0016 line=1032 │ │ locals : │ │ @@ -48047,52 +48047,52 @@ │ │ type : '()Z' │ │ access : 0x0004 (PROTECTED) │ │ code - │ │ registers : 6 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 70 16-bit code units │ │ -019f1c: |[019f1c] dnsfilter.android.DNSProxyActivity.persistAdditionalHosts:()Z │ │ -019f2c: 6200 0201 |0000: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.additionalHostsField:Landroid/widget/EditText; // field@0102 │ │ -019f30: 6e10 da00 0000 |0002: invoke-virtual {v0}, Landroid/widget/EditText;.getText:()Landroid/text/Editable; // method@00da │ │ -019f36: 0c00 |0005: move-result-object v0 │ │ -019f38: 6e10 7805 0000 |0006: invoke-virtual {v0}, Ljava/lang/Object;.toString:()Ljava/lang/String; // method@0578 │ │ -019f3e: 0c00 |0009: move-result-object v0 │ │ -019f40: 1a01 0000 |000a: const-string v1, "" // string@0000 │ │ -019f44: 6e20 8b05 1000 |000c: invoke-virtual {v0, v1}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058b │ │ -019f4a: 0a01 |000f: move-result v1 │ │ -019f4c: 3901 3400 |0010: if-nez v1, 0044 // +0034 │ │ -019f50: 6201 eb00 |0012: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.ADDITIONAL_HOSTS_TO_LONG:Ljava/lang/String; // field@00eb │ │ -019f54: 6e20 8b05 1000 |0014: invoke-virtual {v0, v1}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058b │ │ -019f5a: 0a01 |0017: move-result v1 │ │ -019f5c: 3901 2c00 |0018: if-nez v1, 0044 // +002c │ │ -019f60: 6301 0101 |001a: sget-boolean v1, Ldnsfilter/android/DNSProxyActivity;.additionalHostsChanged:Z // field@0101 │ │ -019f64: 3801 2800 |001c: if-eqz v1, 0044 // +0028 │ │ -019f68: 1211 |001e: const/4 v1, #int 1 // #1 │ │ -019f6a: 6202 ed00 |001f: sget-object v2, Ldnsfilter/android/DNSProxyActivity;.CONFIG:Ldnsfilter/ConfigurationAccess; // field@00ed │ │ -019f6e: 6e10 8d05 0000 |0021: invoke-virtual {v0}, Ljava/lang/String;.getBytes:()[B // method@058d │ │ -019f74: 0c00 |0024: move-result-object v0 │ │ -019f76: 6e20 6001 0200 |0025: invoke-virtual {v2, v0}, Ldnsfilter/ConfigurationAccess;.updateAdditionalHosts:([B)V // method@0160 │ │ -019f7c: 0f01 |0028: return v1 │ │ -019f7e: 0d00 |0029: move-exception v0 │ │ -019f80: 7100 2507 0000 |002a: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0725 │ │ -019f86: 0c02 |002d: move-result-object v2 │ │ -019f88: 2203 2d01 |002e: new-instance v3, Ljava/lang/StringBuilder; // type@012d │ │ -019f8c: 1a04 fa00 |0030: const-string v4, "Cannot persistAdditionalHosts! │ │ +019f18: |[019f18] dnsfilter.android.DNSProxyActivity.persistAdditionalHosts:()Z │ │ +019f28: 6200 0201 |0000: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.additionalHostsField:Landroid/widget/EditText; // field@0102 │ │ +019f2c: 6e10 da00 0000 |0002: invoke-virtual {v0}, Landroid/widget/EditText;.getText:()Landroid/text/Editable; // method@00da │ │ +019f32: 0c00 |0005: move-result-object v0 │ │ +019f34: 6e10 7805 0000 |0006: invoke-virtual {v0}, Ljava/lang/Object;.toString:()Ljava/lang/String; // method@0578 │ │ +019f3a: 0c00 |0009: move-result-object v0 │ │ +019f3c: 1a01 0000 |000a: const-string v1, "" // string@0000 │ │ +019f40: 6e20 8b05 1000 |000c: invoke-virtual {v0, v1}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058b │ │ +019f46: 0a01 |000f: move-result v1 │ │ +019f48: 3901 3400 |0010: if-nez v1, 0044 // +0034 │ │ +019f4c: 6201 eb00 |0012: sget-object v1, Ldnsfilter/android/DNSProxyActivity;.ADDITIONAL_HOSTS_TO_LONG:Ljava/lang/String; // field@00eb │ │ +019f50: 6e20 8b05 1000 |0014: invoke-virtual {v0, v1}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058b │ │ +019f56: 0a01 |0017: move-result v1 │ │ +019f58: 3901 2c00 |0018: if-nez v1, 0044 // +002c │ │ +019f5c: 6301 0101 |001a: sget-boolean v1, Ldnsfilter/android/DNSProxyActivity;.additionalHostsChanged:Z // field@0101 │ │ +019f60: 3801 2800 |001c: if-eqz v1, 0044 // +0028 │ │ +019f64: 1211 |001e: const/4 v1, #int 1 // #1 │ │ +019f66: 6202 ed00 |001f: sget-object v2, Ldnsfilter/android/DNSProxyActivity;.CONFIG:Ldnsfilter/ConfigurationAccess; // field@00ed │ │ +019f6a: 6e10 8d05 0000 |0021: invoke-virtual {v0}, Ljava/lang/String;.getBytes:()[B // method@058d │ │ +019f70: 0c00 |0024: move-result-object v0 │ │ +019f72: 6e20 6001 0200 |0025: invoke-virtual {v2, v0}, Ldnsfilter/ConfigurationAccess;.updateAdditionalHosts:([B)V // method@0160 │ │ +019f78: 0f01 |0028: return v1 │ │ +019f7a: 0d00 |0029: move-exception v0 │ │ +019f7c: 7100 2507 0000 |002a: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0725 │ │ +019f82: 0c02 |002d: move-result-object v2 │ │ +019f84: 2203 2d01 |002e: new-instance v3, Ljava/lang/StringBuilder; // type@012d │ │ +019f88: 1a04 fa00 |0030: const-string v4, "Cannot persistAdditionalHosts! │ │ " // string@00fa │ │ -019f90: 7020 a805 4300 |0032: invoke-direct {v3, v4}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05a8 │ │ -019f96: 6e10 2405 0000 |0035: invoke-virtual {v0}, Ljava/io/IOException;.toString:()Ljava/lang/String; // method@0524 │ │ -019f9c: 0c00 |0038: move-result-object v0 │ │ -019f9e: 6e20 ad05 0300 |0039: invoke-virtual {v3, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -019fa4: 6e10 af05 0300 |003c: invoke-virtual {v3}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ -019faa: 0c00 |003f: move-result-object v0 │ │ -019fac: 7220 3107 0200 |0040: invoke-interface {v2, v0}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0731 │ │ -019fb2: 0f01 |0043: return v1 │ │ -019fb4: 1200 |0044: const/4 v0, #int 0 // #0 │ │ -019fb6: 0f00 |0045: return v0 │ │ +019f8c: 7020 a805 4300 |0032: invoke-direct {v3, v4}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05a8 │ │ +019f92: 6e10 2405 0000 |0035: invoke-virtual {v0}, Ljava/io/IOException;.toString:()Ljava/lang/String; // method@0524 │ │ +019f98: 0c00 |0038: move-result-object v0 │ │ +019f9a: 6e20 ad05 0300 |0039: invoke-virtual {v3, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +019fa0: 6e10 af05 0300 |003c: invoke-virtual {v3}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ +019fa6: 0c00 |003f: move-result-object v0 │ │ +019fa8: 7220 3107 0200 |0040: invoke-interface {v2, v0}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0731 │ │ +019fae: 0f01 |0043: return v1 │ │ +019fb0: 1200 |0044: const/4 v0, #int 0 // #0 │ │ +019fb2: 0f00 |0045: return v0 │ │ catches : 1 │ │ 0x001f - 0x0028 │ │ Ljava/io/IOException; -> 0x0029 │ │ positions : │ │ 0x0000 line=817 │ │ 0x000a line=818 │ │ 0x001a line=819 │ │ @@ -48106,49 +48106,49 @@ │ │ type : '()Z' │ │ access : 0x0004 (PROTECTED) │ │ code - │ │ registers : 6 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 65 16-bit code units │ │ -019fc8: |[019fc8] dnsfilter.android.DNSProxyActivity.persistManuallyEditConf:()Z │ │ -019fd8: 6200 2301 |0000: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.manuallyEditField:Landroid/widget/EditText; // field@0123 │ │ -019fdc: 6e10 da00 0000 |0002: invoke-virtual {v0}, Landroid/widget/EditText;.getText:()Landroid/text/Editable; // method@00da │ │ -019fe2: 0c00 |0005: move-result-object v0 │ │ -019fe4: 6e10 7805 0000 |0006: invoke-virtual {v0}, Ljava/lang/Object;.toString:()Ljava/lang/String; // method@0578 │ │ -019fea: 0c00 |0009: move-result-object v0 │ │ -019fec: 1a01 0000 |000a: const-string v1, "" // string@0000 │ │ -019ff0: 6e20 8b05 1000 |000c: invoke-virtual {v0, v1}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058b │ │ -019ff6: 0a01 |000f: move-result v1 │ │ -019ff8: 1202 |0010: const/4 v2, #int 0 // #0 │ │ -019ffa: 3901 2f00 |0011: if-nez v1, 0040 // +002f │ │ -019ffe: 6301 2101 |0013: sget-boolean v1, Ldnsfilter/android/DNSProxyActivity;.manuallyConfEdited:Z // field@0121 │ │ -01a002: 3801 2b00 |0015: if-eqz v1, 0040 // +002b │ │ -01a006: 1211 |0017: const/4 v1, #int 1 // #1 │ │ -01a008: 6203 ed00 |0018: sget-object v3, Ldnsfilter/android/DNSProxyActivity;.CONFIG:Ldnsfilter/ConfigurationAccess; // field@00ed │ │ -01a00c: 6e10 8d05 0000 |001a: invoke-virtual {v0}, Ljava/lang/String;.getBytes:()[B // method@058d │ │ -01a012: 0c00 |001d: move-result-object v0 │ │ -01a014: 6e20 6201 0300 |001e: invoke-virtual {v3, v0}, Ldnsfilter/ConfigurationAccess;.updateConfigMergeDefaults:([B)V // method@0162 │ │ -01a01a: 6e20 0403 2500 |0021: invoke-virtual {v5, v2}, Ldnsfilter/android/DNSProxyActivity;.loadAndApplyConfig:(Z)V // method@0304 │ │ -01a020: 0f01 |0024: return v1 │ │ -01a022: 0d00 |0025: move-exception v0 │ │ -01a024: 7100 2507 0000 |0026: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0725 │ │ -01a02a: 0c02 |0029: move-result-object v2 │ │ -01a02c: 2203 2d01 |002a: new-instance v3, Ljava/lang/StringBuilder; // type@012d │ │ -01a030: 1a04 f900 |002c: const-string v4, "Cannot persist manually edited config! │ │ +019fc4: |[019fc4] dnsfilter.android.DNSProxyActivity.persistManuallyEditConf:()Z │ │ +019fd4: 6200 2301 |0000: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.manuallyEditField:Landroid/widget/EditText; // field@0123 │ │ +019fd8: 6e10 da00 0000 |0002: invoke-virtual {v0}, Landroid/widget/EditText;.getText:()Landroid/text/Editable; // method@00da │ │ +019fde: 0c00 |0005: move-result-object v0 │ │ +019fe0: 6e10 7805 0000 |0006: invoke-virtual {v0}, Ljava/lang/Object;.toString:()Ljava/lang/String; // method@0578 │ │ +019fe6: 0c00 |0009: move-result-object v0 │ │ +019fe8: 1a01 0000 |000a: const-string v1, "" // string@0000 │ │ +019fec: 6e20 8b05 1000 |000c: invoke-virtual {v0, v1}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058b │ │ +019ff2: 0a01 |000f: move-result v1 │ │ +019ff4: 1202 |0010: const/4 v2, #int 0 // #0 │ │ +019ff6: 3901 2f00 |0011: if-nez v1, 0040 // +002f │ │ +019ffa: 6301 2101 |0013: sget-boolean v1, Ldnsfilter/android/DNSProxyActivity;.manuallyConfEdited:Z // field@0121 │ │ +019ffe: 3801 2b00 |0015: if-eqz v1, 0040 // +002b │ │ +01a002: 1211 |0017: const/4 v1, #int 1 // #1 │ │ +01a004: 6203 ed00 |0018: sget-object v3, Ldnsfilter/android/DNSProxyActivity;.CONFIG:Ldnsfilter/ConfigurationAccess; // field@00ed │ │ +01a008: 6e10 8d05 0000 |001a: invoke-virtual {v0}, Ljava/lang/String;.getBytes:()[B // method@058d │ │ +01a00e: 0c00 |001d: move-result-object v0 │ │ +01a010: 6e20 6201 0300 |001e: invoke-virtual {v3, v0}, Ldnsfilter/ConfigurationAccess;.updateConfigMergeDefaults:([B)V // method@0162 │ │ +01a016: 6e20 0403 2500 |0021: invoke-virtual {v5, v2}, Ldnsfilter/android/DNSProxyActivity;.loadAndApplyConfig:(Z)V // method@0304 │ │ +01a01c: 0f01 |0024: return v1 │ │ +01a01e: 0d00 |0025: move-exception v0 │ │ +01a020: 7100 2507 0000 |0026: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0725 │ │ +01a026: 0c02 |0029: move-result-object v2 │ │ +01a028: 2203 2d01 |002a: new-instance v3, Ljava/lang/StringBuilder; // type@012d │ │ +01a02c: 1a04 f900 |002c: const-string v4, "Cannot persist manually edited config! │ │ " // string@00f9 │ │ -01a034: 7020 a805 4300 |002e: invoke-direct {v3, v4}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05a8 │ │ -01a03a: 6e10 2405 0000 |0031: invoke-virtual {v0}, Ljava/io/IOException;.toString:()Ljava/lang/String; // method@0524 │ │ -01a040: 0c00 |0034: move-result-object v0 │ │ -01a042: 6e20 ad05 0300 |0035: invoke-virtual {v3, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -01a048: 6e10 af05 0300 |0038: invoke-virtual {v3}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ -01a04e: 0c00 |003b: move-result-object v0 │ │ -01a050: 7220 3107 0200 |003c: invoke-interface {v2, v0}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0731 │ │ -01a056: 0f01 |003f: return v1 │ │ -01a058: 0f02 |0040: return v2 │ │ +01a030: 7020 a805 4300 |002e: invoke-direct {v3, v4}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05a8 │ │ +01a036: 6e10 2405 0000 |0031: invoke-virtual {v0}, Ljava/io/IOException;.toString:()Ljava/lang/String; // method@0524 │ │ +01a03c: 0c00 |0034: move-result-object v0 │ │ +01a03e: 6e20 ad05 0300 |0035: invoke-virtual {v3, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +01a044: 6e10 af05 0300 |0038: invoke-virtual {v3}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ +01a04a: 0c00 |003b: move-result-object v0 │ │ +01a04c: 7220 3107 0200 |003c: invoke-interface {v2, v0}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0731 │ │ +01a052: 0f01 |003f: return v1 │ │ +01a054: 0f02 |0040: return v2 │ │ catches : 1 │ │ 0x0018 - 0x0024 │ │ Ljava/io/IOException; -> 0x0025 │ │ positions : │ │ 0x0000 line=832 │ │ 0x000a line=833 │ │ 0x0013 line=834 │ │ @@ -48163,29 +48163,29 @@ │ │ type : '()V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 5 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 29 16-bit code units │ │ -01d098: |[01d098] dnsfilter.android.DNSProxyActivity.remoteReleaseWakeLock:()V │ │ -01d0a8: 6200 ed00 |0000: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.CONFIG:Ldnsfilter/ConfigurationAccess; // field@00ed │ │ -01d0ac: 6e10 5b01 0000 |0002: invoke-virtual {v0}, Ldnsfilter/ConfigurationAccess;.releaseWakeLock:()V // method@015b │ │ -01d0b2: 2817 |0005: goto 001c // +0017 │ │ -01d0b4: 0d00 |0006: move-exception v0 │ │ -01d0b6: 7100 2507 0000 |0007: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0725 │ │ -01d0bc: 0c01 |000a: move-result-object v1 │ │ -01d0be: 2202 2d01 |000b: new-instance v2, Ljava/lang/StringBuilder; // type@012d │ │ -01d0c2: 1a03 d609 |000d: const-string v3, "releaseWakeLock failed! " // string@09d6 │ │ -01d0c6: 7020 a805 3200 |000f: invoke-direct {v2, v3}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05a8 │ │ -01d0cc: 6e20 ac05 0200 |0012: invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@05ac │ │ -01d0d2: 6e10 af05 0200 |0015: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ -01d0d8: 0c00 |0018: move-result-object v0 │ │ -01d0da: 7220 3107 0100 |0019: invoke-interface {v1, v0}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0731 │ │ -01d0e0: 0e00 |001c: return-void │ │ +01d094: |[01d094] dnsfilter.android.DNSProxyActivity.remoteReleaseWakeLock:()V │ │ +01d0a4: 6200 ed00 |0000: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.CONFIG:Ldnsfilter/ConfigurationAccess; // field@00ed │ │ +01d0a8: 6e10 5b01 0000 |0002: invoke-virtual {v0}, Ldnsfilter/ConfigurationAccess;.releaseWakeLock:()V // method@015b │ │ +01d0ae: 2817 |0005: goto 001c // +0017 │ │ +01d0b0: 0d00 |0006: move-exception v0 │ │ +01d0b2: 7100 2507 0000 |0007: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0725 │ │ +01d0b8: 0c01 |000a: move-result-object v1 │ │ +01d0ba: 2202 2d01 |000b: new-instance v2, Ljava/lang/StringBuilder; // type@012d │ │ +01d0be: 1a03 d609 |000d: const-string v3, "releaseWakeLock failed! " // string@09d6 │ │ +01d0c2: 7020 a805 3200 |000f: invoke-direct {v2, v3}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05a8 │ │ +01d0c8: 6e20 ac05 0200 |0012: invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@05ac │ │ +01d0ce: 6e10 af05 0200 |0015: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ +01d0d4: 0c00 |0018: move-result-object v0 │ │ +01d0d6: 7220 3107 0100 |0019: invoke-interface {v1, v0}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0731 │ │ +01d0dc: 0e00 |001c: return-void │ │ catches : 1 │ │ 0x0000 - 0x0005 │ │ Ljava/io/IOException; -> 0x0006 │ │ positions : │ │ 0x0000 line=1884 │ │ 0x0007 line=1886 │ │ locals : │ │ @@ -48196,29 +48196,29 @@ │ │ type : '()V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 5 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 29 16-bit code units │ │ -01d0f4: |[01d0f4] dnsfilter.android.DNSProxyActivity.remoteWakeLock:()V │ │ -01d104: 6200 ed00 |0000: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.CONFIG:Ldnsfilter/ConfigurationAccess; // field@00ed │ │ -01d108: 6e10 6401 0000 |0002: invoke-virtual {v0}, Ldnsfilter/ConfigurationAccess;.wakeLock:()V // method@0164 │ │ -01d10e: 2817 |0005: goto 001c // +0017 │ │ -01d110: 0d00 |0006: move-exception v0 │ │ -01d112: 7100 2507 0000 |0007: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0725 │ │ -01d118: 0c01 |000a: move-result-object v1 │ │ -01d11a: 2202 2d01 |000b: new-instance v2, Ljava/lang/StringBuilder; // type@012d │ │ -01d11e: 1a03 dd04 |000d: const-string v3, "WakeLock failed! " // string@04dd │ │ -01d122: 7020 a805 3200 |000f: invoke-direct {v2, v3}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05a8 │ │ -01d128: 6e20 ac05 0200 |0012: invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@05ac │ │ -01d12e: 6e10 af05 0200 |0015: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ -01d134: 0c00 |0018: move-result-object v0 │ │ -01d136: 7220 3107 0100 |0019: invoke-interface {v1, v0}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0731 │ │ -01d13c: 0e00 |001c: return-void │ │ +01d0f0: |[01d0f0] dnsfilter.android.DNSProxyActivity.remoteWakeLock:()V │ │ +01d100: 6200 ed00 |0000: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.CONFIG:Ldnsfilter/ConfigurationAccess; // field@00ed │ │ +01d104: 6e10 6401 0000 |0002: invoke-virtual {v0}, Ldnsfilter/ConfigurationAccess;.wakeLock:()V // method@0164 │ │ +01d10a: 2817 |0005: goto 001c // +0017 │ │ +01d10c: 0d00 |0006: move-exception v0 │ │ +01d10e: 7100 2507 0000 |0007: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0725 │ │ +01d114: 0c01 |000a: move-result-object v1 │ │ +01d116: 2202 2d01 |000b: new-instance v2, Ljava/lang/StringBuilder; // type@012d │ │ +01d11a: 1a03 dd04 |000d: const-string v3, "WakeLock failed! " // string@04dd │ │ +01d11e: 7020 a805 3200 |000f: invoke-direct {v2, v3}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05a8 │ │ +01d124: 6e20 ac05 0200 |0012: invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@05ac │ │ +01d12a: 6e10 af05 0200 |0015: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ +01d130: 0c00 |0018: move-result-object v0 │ │ +01d132: 7220 3107 0100 |0019: invoke-interface {v1, v0}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0731 │ │ +01d138: 0e00 |001c: return-void │ │ catches : 1 │ │ 0x0000 - 0x0005 │ │ Ljava/io/IOException; -> 0x0006 │ │ positions : │ │ 0x0000 line=1876 │ │ 0x0007 line=1878 │ │ locals : │ │ @@ -48229,62 +48229,62 @@ │ │ type : '(Z)V' │ │ access : 0x0004 (PROTECTED) │ │ code - │ │ registers : 11 │ │ ins : 2 │ │ outs : 3 │ │ insns size : 99 16-bit code units │ │ -01d1cc: |[01d1cc] dnsfilter.android.DNSProxyActivity.showFilterRate:(Z)V │ │ -01d1dc: 6200 ed00 |0000: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.CONFIG:Ldnsfilter/ConfigurationAccess; // field@00ed │ │ -01d1e0: 6e10 5101 0000 |0002: invoke-virtual {v0}, Ldnsfilter/ConfigurationAccess;.getFilterStatistics:()[J // method@0151 │ │ -01d1e6: 0c00 |0005: move-result-object v0 │ │ -01d1e8: 1201 |0006: const/4 v1, #int 0 // #0 │ │ -01d1ea: 4501 0001 |0007: aget-wide v1, v0, v1 │ │ -01d1ee: 1213 |0009: const/4 v3, #int 1 // #1 │ │ -01d1f0: 4504 0003 |000a: aget-wide v4, v0, v3 │ │ -01d1f4: bb41 |000c: add-long/2addr v1, v4 │ │ -01d1f6: 1606 0000 |000d: const-wide/16 v6, #int 0 // #0 │ │ -01d1fa: 3108 0106 |000f: cmp-long v8, v1, v6 │ │ -01d1fe: 3808 5100 |0011: if-eqz v8, 0062 // +0051 │ │ -01d202: 1606 6400 |0013: const-wide/16 v6, #int 100 // #64 │ │ -01d206: 9d04 0406 |0015: mul-long v4, v4, v6 │ │ -01d20a: be14 |0017: div-long/2addr v4, v1 │ │ -01d20c: 1a01 1700 |0018: const-string v1, " blocked)!" // string@0017 │ │ -01d210: 1a02 3d00 |001a: const-string v2, "% (" // string@003d │ │ -01d214: 1a06 cf00 |001c: const-string v6, "Block rate: " // string@00cf │ │ -01d218: 380a 1f00 |001e: if-eqz v10, 003d // +001f │ │ -01d21c: 620a 2401 |0020: sget-object v10, Ldnsfilter/android/DNSProxyActivity;.myLogger:Lutil/SuppressRepeatingsLogger; // field@0124 │ │ -01d220: 2207 2d01 |0022: new-instance v7, Ljava/lang/StringBuilder; // type@012d │ │ -01d224: 7020 a805 6700 |0024: invoke-direct {v7, v6}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05a8 │ │ -01d22a: 6e30 ab05 4705 |0027: invoke-virtual {v7, v4, v5}, Ljava/lang/StringBuilder;.append:(J)Ljava/lang/StringBuilder; // method@05ab │ │ -01d230: 6e20 ad05 2700 |002a: invoke-virtual {v7, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -01d236: 4502 0003 |002d: aget-wide v2, v0, v3 │ │ -01d23a: 6e30 ab05 2703 |002f: invoke-virtual {v7, v2, v3}, Ljava/lang/StringBuilder;.append:(J)Ljava/lang/StringBuilder; // method@05ab │ │ -01d240: 6e20 ad05 1700 |0032: invoke-virtual {v7, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -01d246: 6e10 af05 0700 |0035: invoke-virtual {v7}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ -01d24c: 0c00 |0038: move-result-object v0 │ │ -01d24e: 6e20 7907 0a00 |0039: invoke-virtual {v10, v0}, Lutil/SuppressRepeatingsLogger;.message:(Ljava/lang/String;)V // method@0779 │ │ -01d254: 2826 |003c: goto 0062 // +0026 │ │ -01d256: 620a 2401 |003d: sget-object v10, Ldnsfilter/android/DNSProxyActivity;.myLogger:Lutil/SuppressRepeatingsLogger; // field@0124 │ │ -01d25a: 2207 2d01 |003f: new-instance v7, Ljava/lang/StringBuilder; // type@012d │ │ -01d25e: 7020 a805 6700 |0041: invoke-direct {v7, v6}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05a8 │ │ -01d264: 6e30 ab05 4705 |0044: invoke-virtual {v7, v4, v5}, Ljava/lang/StringBuilder;.append:(J)Ljava/lang/StringBuilder; // method@05ab │ │ -01d26a: 6e20 ad05 2700 |0047: invoke-virtual {v7, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -01d270: 4502 0003 |004a: aget-wide v2, v0, v3 │ │ -01d274: 6e30 ab05 2703 |004c: invoke-virtual {v7, v2, v3}, Ljava/lang/StringBuilder;.append:(J)Ljava/lang/StringBuilder; // method@05ab │ │ -01d27a: 6e20 ad05 1700 |004f: invoke-virtual {v7, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -01d280: 6e10 af05 0700 |0052: invoke-virtual {v7}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ -01d286: 0c00 |0055: move-result-object v0 │ │ -01d288: 6e20 7807 0a00 |0056: invoke-virtual {v10, v0}, Lutil/SuppressRepeatingsLogger;.logLine:(Ljava/lang/String;)V // method@0778 │ │ -01d28e: 2809 |0059: goto 0062 // +0009 │ │ -01d290: 0d0a |005a: move-exception v10 │ │ -01d292: 7100 2507 0000 |005b: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0725 │ │ -01d298: 0c00 |005e: move-result-object v0 │ │ -01d29a: 7220 3007 a000 |005f: invoke-interface {v0, v10}, Lutil/LoggerInterface;.logException:(Ljava/lang/Exception;)V // method@0730 │ │ -01d2a0: 0e00 |0062: return-void │ │ +01d1c8: |[01d1c8] dnsfilter.android.DNSProxyActivity.showFilterRate:(Z)V │ │ +01d1d8: 6200 ed00 |0000: sget-object v0, Ldnsfilter/android/DNSProxyActivity;.CONFIG:Ldnsfilter/ConfigurationAccess; // field@00ed │ │ +01d1dc: 6e10 5101 0000 |0002: invoke-virtual {v0}, Ldnsfilter/ConfigurationAccess;.getFilterStatistics:()[J // method@0151 │ │ +01d1e2: 0c00 |0005: move-result-object v0 │ │ +01d1e4: 1201 |0006: const/4 v1, #int 0 // #0 │ │ +01d1e6: 4501 0001 |0007: aget-wide v1, v0, v1 │ │ +01d1ea: 1213 |0009: const/4 v3, #int 1 // #1 │ │ +01d1ec: 4504 0003 |000a: aget-wide v4, v0, v3 │ │ +01d1f0: bb41 |000c: add-long/2addr v1, v4 │ │ +01d1f2: 1606 0000 |000d: const-wide/16 v6, #int 0 // #0 │ │ +01d1f6: 3108 0106 |000f: cmp-long v8, v1, v6 │ │ +01d1fa: 3808 5100 |0011: if-eqz v8, 0062 // +0051 │ │ +01d1fe: 1606 6400 |0013: const-wide/16 v6, #int 100 // #64 │ │ +01d202: 9d04 0406 |0015: mul-long v4, v4, v6 │ │ +01d206: be14 |0017: div-long/2addr v4, v1 │ │ +01d208: 1a01 1700 |0018: const-string v1, " blocked)!" // string@0017 │ │ +01d20c: 1a02 3d00 |001a: const-string v2, "% (" // string@003d │ │ +01d210: 1a06 cf00 |001c: const-string v6, "Block rate: " // string@00cf │ │ +01d214: 380a 1f00 |001e: if-eqz v10, 003d // +001f │ │ +01d218: 620a 2401 |0020: sget-object v10, Ldnsfilter/android/DNSProxyActivity;.myLogger:Lutil/SuppressRepeatingsLogger; // field@0124 │ │ +01d21c: 2207 2d01 |0022: new-instance v7, Ljava/lang/StringBuilder; // type@012d │ │ +01d220: 7020 a805 6700 |0024: invoke-direct {v7, v6}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05a8 │ │ +01d226: 6e30 ab05 4705 |0027: invoke-virtual {v7, v4, v5}, Ljava/lang/StringBuilder;.append:(J)Ljava/lang/StringBuilder; // method@05ab │ │ +01d22c: 6e20 ad05 2700 |002a: invoke-virtual {v7, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +01d232: 4502 0003 |002d: aget-wide v2, v0, v3 │ │ +01d236: 6e30 ab05 2703 |002f: invoke-virtual {v7, v2, v3}, Ljava/lang/StringBuilder;.append:(J)Ljava/lang/StringBuilder; // method@05ab │ │ +01d23c: 6e20 ad05 1700 |0032: invoke-virtual {v7, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +01d242: 6e10 af05 0700 |0035: invoke-virtual {v7}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ +01d248: 0c00 |0038: move-result-object v0 │ │ +01d24a: 6e20 7907 0a00 |0039: invoke-virtual {v10, v0}, Lutil/SuppressRepeatingsLogger;.message:(Ljava/lang/String;)V // method@0779 │ │ +01d250: 2826 |003c: goto 0062 // +0026 │ │ +01d252: 620a 2401 |003d: sget-object v10, Ldnsfilter/android/DNSProxyActivity;.myLogger:Lutil/SuppressRepeatingsLogger; // field@0124 │ │ +01d256: 2207 2d01 |003f: new-instance v7, Ljava/lang/StringBuilder; // type@012d │ │ +01d25a: 7020 a805 6700 |0041: invoke-direct {v7, v6}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05a8 │ │ +01d260: 6e30 ab05 4705 |0044: invoke-virtual {v7, v4, v5}, Ljava/lang/StringBuilder;.append:(J)Ljava/lang/StringBuilder; // method@05ab │ │ +01d266: 6e20 ad05 2700 |0047: invoke-virtual {v7, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +01d26c: 4502 0003 |004a: aget-wide v2, v0, v3 │ │ +01d270: 6e30 ab05 2703 |004c: invoke-virtual {v7, v2, v3}, Ljava/lang/StringBuilder;.append:(J)Ljava/lang/StringBuilder; // method@05ab │ │ +01d276: 6e20 ad05 1700 |004f: invoke-virtual {v7, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +01d27c: 6e10 af05 0700 |0052: invoke-virtual {v7}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ +01d282: 0c00 |0055: move-result-object v0 │ │ +01d284: 6e20 7807 0a00 |0056: invoke-virtual {v10, v0}, Lutil/SuppressRepeatingsLogger;.logLine:(Ljava/lang/String;)V // method@0778 │ │ +01d28a: 2809 |0059: goto 0062 // +0009 │ │ +01d28c: 0d0a |005a: move-exception v10 │ │ +01d28e: 7100 2507 0000 |005b: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0725 │ │ +01d294: 0c00 |005e: move-result-object v0 │ │ +01d296: 7220 3007 a000 |005f: invoke-interface {v0, v10}, Lutil/LoggerInterface;.logException:(Ljava/lang/Exception;)V // method@0730 │ │ +01d29c: 0e00 |0062: return-void │ │ catches : 2 │ │ 0x0000 - 0x0018 │ │ Ljava/lang/Exception; -> 0x005a │ │ 0x0020 - 0x0059 │ │ Ljava/lang/Exception; -> 0x005a │ │ positions : │ │ 0x0000 line=708 │ │ @@ -48303,97 +48303,97 @@ │ │ type : '()V' │ │ access : 0x0004 (PROTECTED) │ │ code - │ │ registers : 8 │ │ ins : 1 │ │ outs : 3 │ │ insns size : 166 16-bit code units │ │ -01d2e4: |[01d2e4] dnsfilter.android.DNSProxyActivity.startup:()V │ │ -01d2f4: 1a00 df06 |0000: const-string v0, "false" // string@06df │ │ -01d2f8: 6e10 f302 0700 |0002: invoke-virtual {v7}, Ldnsfilter/android/DNSProxyActivity;.getConfig:()Ldnsfilter/ConfigUtil; // method@02f3 │ │ -01d2fe: 0c01 |0005: move-result-object v1 │ │ -01d300: 1a02 ff09 |0006: const-string v2, "repeatingLogSuppressTime" // string@09ff │ │ -01d304: 1a03 7000 |0008: const-string v3, "1000" // string@0070 │ │ -01d308: 6e30 3a01 2103 |000a: invoke-virtual {v1, v2, v3}, Ldnsfilter/ConfigUtil;.getConfigValue:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@013a │ │ -01d30e: 0c01 |000d: move-result-object v1 │ │ -01d310: 7110 6b05 0100 |000e: invoke-static {v1}, Ljava/lang/Long;.parseLong:(Ljava/lang/String;)J // method@056b │ │ -01d316: 0b01 |0011: move-result-wide v1 │ │ -01d318: 6e10 f302 0700 |0012: invoke-virtual {v7}, Ldnsfilter/android/DNSProxyActivity;.getConfig:()Ldnsfilter/ConfigUtil; // method@02f3 │ │ -01d31e: 0c03 |0015: move-result-object v3 │ │ -01d320: 1a04 4905 |0016: const-string v4, "addLiveLogTimestamp" // string@0549 │ │ -01d324: 6e30 3a01 4300 |0018: invoke-virtual {v3, v4, v0}, Ldnsfilter/ConfigUtil;.getConfigValue:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@013a │ │ -01d32a: 0c03 |001b: move-result-object v3 │ │ -01d32c: 7110 4b05 0300 |001c: invoke-static {v3}, Ljava/lang/Boolean;.parseBoolean:(Ljava/lang/String;)Z // method@054b │ │ -01d332: 0a03 |001f: move-result v3 │ │ -01d334: 6204 2401 |0020: sget-object v4, Ldnsfilter/android/DNSProxyActivity;.myLogger:Lutil/SuppressRepeatingsLogger; // field@0124 │ │ -01d338: 1205 |0022: const/4 v5, #int 0 // #0 │ │ -01d33a: 6e20 7d07 5400 |0023: invoke-virtual {v4, v5}, Lutil/SuppressRepeatingsLogger;.setTimestampFormat:(Ljava/lang/String;)V // method@077d │ │ -01d340: 3803 1300 |0026: if-eqz v3, 0039 // +0013 │ │ -01d344: 6e10 f302 0700 |0028: invoke-virtual {v7}, Ldnsfilter/android/DNSProxyActivity;.getConfig:()Ldnsfilter/ConfigUtil; // method@02f3 │ │ -01d34a: 0c03 |002b: move-result-object v3 │ │ -01d34c: 1a04 a908 |002c: const-string v4, "liveLogTimeStampFormat" // string@08a9 │ │ -01d350: 1a06 0b08 |002e: const-string v6, "hh:mm:ss" // string@080b │ │ -01d354: 6e30 3a01 4306 |0030: invoke-virtual {v3, v4, v6}, Ldnsfilter/ConfigUtil;.getConfigValue:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@013a │ │ -01d35a: 0c03 |0033: move-result-object v3 │ │ -01d35c: 6204 2401 |0034: sget-object v4, Ldnsfilter/android/DNSProxyActivity;.myLogger:Lutil/SuppressRepeatingsLogger; // field@0124 │ │ -01d360: 6e20 7d07 3400 |0036: invoke-virtual {v4, v3}, Lutil/SuppressRepeatingsLogger;.setTimestampFormat:(Ljava/lang/String;)V // method@077d │ │ -01d366: 6203 2401 |0039: sget-object v3, Ldnsfilter/android/DNSProxyActivity;.myLogger:Lutil/SuppressRepeatingsLogger; // field@0124 │ │ -01d36a: 6e30 7c07 1302 |003b: invoke-virtual {v3, v1, v2}, Lutil/SuppressRepeatingsLogger;.setSuppressTime:(J)V // method@077c │ │ -01d370: 6201 bd00 |003e: sget-object v1, Ldnsfilter/android/DNSFilterService;.SERVICE:Landroid/content/Intent; // field@00bd │ │ -01d374: 1202 |0040: const/4 v2, #int 0 // #0 │ │ -01d376: 3801 1800 |0041: if-eqz v1, 0059 // +0018 │ │ -01d37a: 7100 2507 0000 |0043: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0725 │ │ -01d380: 0c00 |0046: move-result-object v0 │ │ -01d382: 1a01 3201 |0047: const-string v1, "DNS filter service is running!" // string@0132 │ │ -01d386: 7220 3107 1000 |0049: invoke-interface {v0, v1}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0731 │ │ -01d38c: 7100 2507 0000 |004c: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0725 │ │ -01d392: 0c00 |004f: move-result-object v0 │ │ -01d394: 1a01 a501 |0050: const-string v1, "Filter statistic since last restart:" // string@01a5 │ │ -01d398: 7220 3107 1000 |0052: invoke-interface {v0, v1}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0731 │ │ -01d39e: 6e20 3003 2700 |0055: invoke-virtual {v7, v2}, Ldnsfilter/android/DNSProxyActivity;.showFilterRate:(Z)V // method@0330 │ │ -01d3a4: 0e00 |0058: return-void │ │ -01d3a6: 6e10 f302 0700 |0059: invoke-virtual {v7}, Ldnsfilter/android/DNSProxyActivity;.getConfig:()Ldnsfilter/ConfigUtil; // method@02f3 │ │ -01d3ac: 0c01 |005c: move-result-object v1 │ │ -01d3ae: 1a03 900b |005d: const-string v3, "vpnInAdditionToProxyMode" // string@0b90 │ │ -01d3b2: 6e30 3a01 3100 |005f: invoke-virtual {v1, v3, v0}, Ldnsfilter/ConfigUtil;.getConfigValue:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@013a │ │ -01d3b8: 0c01 |0062: move-result-object v1 │ │ -01d3ba: 7110 4b05 0100 |0063: invoke-static {v1}, Ljava/lang/Boolean;.parseBoolean:(Ljava/lang/String;)Z // method@054b │ │ -01d3c0: 0a01 |0066: move-result v1 │ │ -01d3c2: 3901 1300 |0067: if-nez v1, 007a // +0013 │ │ -01d3c6: 6e10 f302 0700 |0069: invoke-virtual {v7}, Ldnsfilter/android/DNSProxyActivity;.getConfig:()Ldnsfilter/ConfigUtil; // method@02f3 │ │ -01d3cc: 0c01 |006c: move-result-object v1 │ │ -01d3ce: 1a03 6b06 |006d: const-string v3, "dnsProxyOnAndroid" // string@066b │ │ -01d3d2: 6e30 3a01 3100 |006f: invoke-virtual {v1, v3, v0}, Ldnsfilter/ConfigUtil;.getConfigValue:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@013a │ │ -01d3d8: 0c00 |0072: move-result-object v0 │ │ -01d3da: 7110 4b05 0000 |0073: invoke-static {v0}, Ljava/lang/Boolean;.parseBoolean:(Ljava/lang/String;)Z // method@054b │ │ -01d3e0: 0a00 |0076: move-result v0 │ │ -01d3e2: 3800 0300 |0077: if-eqz v0, 007a // +0003 │ │ -01d3e6: 1212 |0079: const/4 v2, #int 1 // #1 │ │ -01d3e8: 3902 0a00 |007a: if-nez v2, 0084 // +000a │ │ -01d3ec: 6e10 f202 0700 |007c: invoke-virtual {v7}, Ldnsfilter/android/DNSProxyActivity;.getApplicationContext:()Landroid/content/Context; // method@02f2 │ │ -01d3f2: 0c00 |007f: move-result-object v0 │ │ -01d3f4: 7110 7900 0000 |0080: invoke-static {v0}, Landroid/net/VpnService;.prepare:(Landroid/content/Context;)Landroid/content/Intent; // method@0079 │ │ -01d3fa: 0c05 |0083: move-result-object v5 │ │ -01d3fc: 3805 0800 |0084: if-eqz v5, 008c // +0008 │ │ -01d400: 1300 7901 |0086: const/16 v0, #int 377 // #179 │ │ -01d404: 6e30 3203 5700 |0088: invoke-virtual {v7, v5, v0}, Ldnsfilter/android/DNSProxyActivity;.startActivityForResult:(Landroid/content/Intent;I)V // method@0332 │ │ -01d40a: 281a |008b: goto 00a5 // +001a │ │ -01d40c: 7010 3403 0700 |008c: invoke-direct {v7}, Ldnsfilter/android/DNSProxyActivity;.startSvc:()V // method@0334 │ │ -01d412: 2816 |008f: goto 00a5 // +0016 │ │ -01d414: 0d00 |0090: move-exception v0 │ │ -01d416: 7100 2507 0000 |0091: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0725 │ │ -01d41c: 0c01 |0094: move-result-object v1 │ │ -01d41e: 7220 3007 0100 |0095: invoke-interface {v1, v0}, Lutil/LoggerInterface;.logException:(Ljava/lang/Exception;)V // method@0730 │ │ -01d424: 280d |0098: goto 00a5 // +000d │ │ -01d426: 7100 2507 0000 |0099: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0725 │ │ -01d42c: 0c00 |009c: move-result-object v0 │ │ -01d42e: 1a01 5904 |009d: const-string v1, "Seems we are on Android 4.4 or older!" // string@0459 │ │ -01d432: 7220 3107 1000 |009f: invoke-interface {v0, v1}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0731 │ │ -01d438: 7010 3403 0700 |00a2: invoke-direct {v7}, Ldnsfilter/android/DNSProxyActivity;.startSvc:()V // method@0334 │ │ -01d43e: 0e00 |00a5: return-void │ │ +01d2e0: |[01d2e0] dnsfilter.android.DNSProxyActivity.startup:()V │ │ +01d2f0: 1a00 df06 |0000: const-string v0, "false" // string@06df │ │ +01d2f4: 6e10 f302 0700 |0002: invoke-virtual {v7}, Ldnsfilter/android/DNSProxyActivity;.getConfig:()Ldnsfilter/ConfigUtil; // method@02f3 │ │ +01d2fa: 0c01 |0005: move-result-object v1 │ │ +01d2fc: 1a02 ff09 |0006: const-string v2, "repeatingLogSuppressTime" // string@09ff │ │ +01d300: 1a03 7000 |0008: const-string v3, "1000" // string@0070 │ │ +01d304: 6e30 3a01 2103 |000a: invoke-virtual {v1, v2, v3}, Ldnsfilter/ConfigUtil;.getConfigValue:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@013a │ │ +01d30a: 0c01 |000d: move-result-object v1 │ │ +01d30c: 7110 6b05 0100 |000e: invoke-static {v1}, Ljava/lang/Long;.parseLong:(Ljava/lang/String;)J // method@056b │ │ +01d312: 0b01 |0011: move-result-wide v1 │ │ +01d314: 6e10 f302 0700 |0012: invoke-virtual {v7}, Ldnsfilter/android/DNSProxyActivity;.getConfig:()Ldnsfilter/ConfigUtil; // method@02f3 │ │ +01d31a: 0c03 |0015: move-result-object v3 │ │ +01d31c: 1a04 4905 |0016: const-string v4, "addLiveLogTimestamp" // string@0549 │ │ +01d320: 6e30 3a01 4300 |0018: invoke-virtual {v3, v4, v0}, Ldnsfilter/ConfigUtil;.getConfigValue:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@013a │ │ +01d326: 0c03 |001b: move-result-object v3 │ │ +01d328: 7110 4b05 0300 |001c: invoke-static {v3}, Ljava/lang/Boolean;.parseBoolean:(Ljava/lang/String;)Z // method@054b │ │ +01d32e: 0a03 |001f: move-result v3 │ │ +01d330: 6204 2401 |0020: sget-object v4, Ldnsfilter/android/DNSProxyActivity;.myLogger:Lutil/SuppressRepeatingsLogger; // field@0124 │ │ +01d334: 1205 |0022: const/4 v5, #int 0 // #0 │ │ +01d336: 6e20 7d07 5400 |0023: invoke-virtual {v4, v5}, Lutil/SuppressRepeatingsLogger;.setTimestampFormat:(Ljava/lang/String;)V // method@077d │ │ +01d33c: 3803 1300 |0026: if-eqz v3, 0039 // +0013 │ │ +01d340: 6e10 f302 0700 |0028: invoke-virtual {v7}, Ldnsfilter/android/DNSProxyActivity;.getConfig:()Ldnsfilter/ConfigUtil; // method@02f3 │ │ +01d346: 0c03 |002b: move-result-object v3 │ │ +01d348: 1a04 a908 |002c: const-string v4, "liveLogTimeStampFormat" // string@08a9 │ │ +01d34c: 1a06 0b08 |002e: const-string v6, "hh:mm:ss" // string@080b │ │ +01d350: 6e30 3a01 4306 |0030: invoke-virtual {v3, v4, v6}, Ldnsfilter/ConfigUtil;.getConfigValue:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@013a │ │ +01d356: 0c03 |0033: move-result-object v3 │ │ +01d358: 6204 2401 |0034: sget-object v4, Ldnsfilter/android/DNSProxyActivity;.myLogger:Lutil/SuppressRepeatingsLogger; // field@0124 │ │ +01d35c: 6e20 7d07 3400 |0036: invoke-virtual {v4, v3}, Lutil/SuppressRepeatingsLogger;.setTimestampFormat:(Ljava/lang/String;)V // method@077d │ │ +01d362: 6203 2401 |0039: sget-object v3, Ldnsfilter/android/DNSProxyActivity;.myLogger:Lutil/SuppressRepeatingsLogger; // field@0124 │ │ +01d366: 6e30 7c07 1302 |003b: invoke-virtual {v3, v1, v2}, Lutil/SuppressRepeatingsLogger;.setSuppressTime:(J)V // method@077c │ │ +01d36c: 6201 bd00 |003e: sget-object v1, Ldnsfilter/android/DNSFilterService;.SERVICE:Landroid/content/Intent; // field@00bd │ │ +01d370: 1202 |0040: const/4 v2, #int 0 // #0 │ │ +01d372: 3801 1800 |0041: if-eqz v1, 0059 // +0018 │ │ +01d376: 7100 2507 0000 |0043: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0725 │ │ +01d37c: 0c00 |0046: move-result-object v0 │ │ +01d37e: 1a01 3201 |0047: const-string v1, "DNS filter service is running!" // string@0132 │ │ +01d382: 7220 3107 1000 |0049: invoke-interface {v0, v1}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0731 │ │ +01d388: 7100 2507 0000 |004c: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0725 │ │ +01d38e: 0c00 |004f: move-result-object v0 │ │ +01d390: 1a01 a501 |0050: const-string v1, "Filter statistic since last restart:" // string@01a5 │ │ +01d394: 7220 3107 1000 |0052: invoke-interface {v0, v1}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0731 │ │ +01d39a: 6e20 3003 2700 |0055: invoke-virtual {v7, v2}, Ldnsfilter/android/DNSProxyActivity;.showFilterRate:(Z)V // method@0330 │ │ +01d3a0: 0e00 |0058: return-void │ │ +01d3a2: 6e10 f302 0700 |0059: invoke-virtual {v7}, Ldnsfilter/android/DNSProxyActivity;.getConfig:()Ldnsfilter/ConfigUtil; // method@02f3 │ │ +01d3a8: 0c01 |005c: move-result-object v1 │ │ +01d3aa: 1a03 900b |005d: const-string v3, "vpnInAdditionToProxyMode" // string@0b90 │ │ +01d3ae: 6e30 3a01 3100 |005f: invoke-virtual {v1, v3, v0}, Ldnsfilter/ConfigUtil;.getConfigValue:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@013a │ │ +01d3b4: 0c01 |0062: move-result-object v1 │ │ +01d3b6: 7110 4b05 0100 |0063: invoke-static {v1}, Ljava/lang/Boolean;.parseBoolean:(Ljava/lang/String;)Z // method@054b │ │ +01d3bc: 0a01 |0066: move-result v1 │ │ +01d3be: 3901 1300 |0067: if-nez v1, 007a // +0013 │ │ +01d3c2: 6e10 f302 0700 |0069: invoke-virtual {v7}, Ldnsfilter/android/DNSProxyActivity;.getConfig:()Ldnsfilter/ConfigUtil; // method@02f3 │ │ +01d3c8: 0c01 |006c: move-result-object v1 │ │ +01d3ca: 1a03 6b06 |006d: const-string v3, "dnsProxyOnAndroid" // string@066b │ │ +01d3ce: 6e30 3a01 3100 |006f: invoke-virtual {v1, v3, v0}, Ldnsfilter/ConfigUtil;.getConfigValue:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@013a │ │ +01d3d4: 0c00 |0072: move-result-object v0 │ │ +01d3d6: 7110 4b05 0000 |0073: invoke-static {v0}, Ljava/lang/Boolean;.parseBoolean:(Ljava/lang/String;)Z // method@054b │ │ +01d3dc: 0a00 |0076: move-result v0 │ │ +01d3de: 3800 0300 |0077: if-eqz v0, 007a // +0003 │ │ +01d3e2: 1212 |0079: const/4 v2, #int 1 // #1 │ │ +01d3e4: 3902 0a00 |007a: if-nez v2, 0084 // +000a │ │ +01d3e8: 6e10 f202 0700 |007c: invoke-virtual {v7}, Ldnsfilter/android/DNSProxyActivity;.getApplicationContext:()Landroid/content/Context; // method@02f2 │ │ +01d3ee: 0c00 |007f: move-result-object v0 │ │ +01d3f0: 7110 7900 0000 |0080: invoke-static {v0}, Landroid/net/VpnService;.prepare:(Landroid/content/Context;)Landroid/content/Intent; // method@0079 │ │ +01d3f6: 0c05 |0083: move-result-object v5 │ │ +01d3f8: 3805 0800 |0084: if-eqz v5, 008c // +0008 │ │ +01d3fc: 1300 7901 |0086: const/16 v0, #int 377 // #179 │ │ +01d400: 6e30 3203 5700 |0088: invoke-virtual {v7, v5, v0}, Ldnsfilter/android/DNSProxyActivity;.startActivityForResult:(Landroid/content/Intent;I)V // method@0332 │ │ +01d406: 281a |008b: goto 00a5 // +001a │ │ +01d408: 7010 3403 0700 |008c: invoke-direct {v7}, Ldnsfilter/android/DNSProxyActivity;.startSvc:()V // method@0334 │ │ +01d40e: 2816 |008f: goto 00a5 // +0016 │ │ +01d410: 0d00 |0090: move-exception v0 │ │ +01d412: 7100 2507 0000 |0091: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0725 │ │ +01d418: 0c01 |0094: move-result-object v1 │ │ +01d41a: 7220 3007 0100 |0095: invoke-interface {v1, v0}, Lutil/LoggerInterface;.logException:(Ljava/lang/Exception;)V // method@0730 │ │ +01d420: 280d |0098: goto 00a5 // +000d │ │ +01d422: 7100 2507 0000 |0099: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0725 │ │ +01d428: 0c00 |009c: move-result-object v0 │ │ +01d42a: 1a01 5904 |009d: const-string v1, "Seems we are on Android 4.4 or older!" // string@0459 │ │ +01d42e: 7220 3107 1000 |009f: invoke-interface {v0, v1}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0731 │ │ +01d434: 7010 3403 0700 |00a2: invoke-direct {v7}, Ldnsfilter/android/DNSProxyActivity;.startSvc:()V // method@0334 │ │ +01d43a: 0e00 |00a5: return-void │ │ catches : 1 │ │ 0x0002 - 0x008f │ │ Ljava/lang/NullPointerException; -> 0x0099 │ │ Ljava/lang/Exception; -> 0x0090 │ │ positions : │ │ 0x0000 line=1560 │ │ 0x0012 line=1561 │ │ @@ -48478,37 +48478,37 @@ │ │ type : '()V' │ │ access : 0x10008 (STATIC CONSTRUCTOR) │ │ code - │ │ registers : 1 │ │ ins : 0 │ │ outs : 1 │ │ insns size : 9 16-bit code units │ │ -01e82c: |[01e82c] dnsfilter.android.dnsserverconfig.DNSServerConfigActivity.:()V │ │ -01e83c: 1300 4501 |0000: const/16 v0, #int 325 // #145 │ │ -01e840: 7110 6805 0000 |0002: invoke-static {v0}, Ljava/lang/Integer;.valueOf:(I)Ljava/lang/Integer; // method@0568 │ │ -01e846: 0c00 |0005: move-result-object v0 │ │ -01e848: 6900 5702 |0006: sput-object v0, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.ACTIVITY_RESULT_CODE:Ljava/lang/Integer; // field@0257 │ │ -01e84c: 0e00 |0008: return-void │ │ +01e828: |[01e828] dnsfilter.android.dnsserverconfig.DNSServerConfigActivity.:()V │ │ +01e838: 1300 4501 |0000: const/16 v0, #int 325 // #145 │ │ +01e83c: 7110 6805 0000 |0002: invoke-static {v0}, Ljava/lang/Integer;.valueOf:(I)Ljava/lang/Integer; // method@0568 │ │ +01e842: 0c00 |0005: move-result-object v0 │ │ +01e844: 6900 5702 |0006: sput-object v0, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.ACTIVITY_RESULT_CODE:Ljava/lang/Integer; // field@0257 │ │ +01e848: 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 │ │ -01e850: |[01e850] dnsfilter.android.dnsserverconfig.DNSServerConfigActivity.:()V │ │ -01e860: 7010 0100 0000 |0000: invoke-direct {v0}, Landroid/app/Activity;.:()V // method@0001 │ │ -01e866: 0e00 |0003: return-void │ │ +01e84c: |[01e84c] dnsfilter.android.dnsserverconfig.DNSServerConfigActivity.:()V │ │ +01e85c: 7010 0100 0000 |0000: invoke-direct {v0}, Landroid/app/Activity;.:()V // method@0001 │ │ +01e862: 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;) │ │ @@ -48516,17 +48516,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 │ │ -01e7cc: |[01e7cc] dnsfilter.android.dnsserverconfig.DNSServerConfigActivity.access$000:(Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;)Ldnsfilter/android/PaddedCheckBox; │ │ -01e7dc: 5400 5c02 |0000: iget-object v0, v0, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.manualDNSRawModeCheckbox:Ldnsfilter/android/PaddedCheckBox; // field@025c │ │ -01e7e0: 1100 |0002: return-object v0 │ │ +01e7c8: |[01e7c8] dnsfilter.android.dnsserverconfig.DNSServerConfigActivity.access$000:(Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;)Ldnsfilter/android/PaddedCheckBox; │ │ +01e7d8: 5400 5c02 |0000: iget-object v0, v0, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.manualDNSRawModeCheckbox:Ldnsfilter/android/PaddedCheckBox; // field@025c │ │ +01e7dc: 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;) │ │ @@ -48534,17 +48534,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 │ │ -01e7b4: |[01e7b4] dnsfilter.android.dnsserverconfig.DNSServerConfigActivity.access$100:(Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;)Landroid/widget/EditText; │ │ -01e7c4: 5400 5a02 |0000: iget-object v0, v0, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.manualDNSEditText:Landroid/widget/EditText; // field@025a │ │ -01e7c8: 1100 |0002: return-object v0 │ │ +01e7b0: |[01e7b0] dnsfilter.android.dnsserverconfig.DNSServerConfigActivity.access$100:(Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;)Landroid/widget/EditText; │ │ +01e7c0: 5400 5a02 |0000: iget-object v0, v0, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.manualDNSEditText:Landroid/widget/EditText; // field@025a │ │ +01e7c4: 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;) │ │ @@ -48552,17 +48552,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 │ │ -01e814: |[01e814] dnsfilter.android.dnsserverconfig.DNSServerConfigActivity.access$200:(Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;)Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenter; │ │ -01e824: 5400 5d02 |0000: iget-object v0, v0, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.presenter:Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenter; // field@025d │ │ -01e828: 1100 |0002: return-object v0 │ │ +01e810: |[01e810] dnsfilter.android.dnsserverconfig.DNSServerConfigActivity.access$200:(Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;)Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenter; │ │ +01e820: 5400 5d02 |0000: iget-object v0, v0, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.presenter:Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenter; // field@025d │ │ +01e824: 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;) │ │ @@ -48570,17 +48570,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 │ │ -01e7e4: |[01e7e4] dnsfilter.android.dnsserverconfig.DNSServerConfigActivity.access$300:(Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;)Ldnsfilter/android/PaddedCheckBox; │ │ -01e7f4: 5400 5902 |0000: iget-object v0, v0, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.manualDNSCheck:Ldnsfilter/android/PaddedCheckBox; // field@0259 │ │ -01e7f8: 1100 |0002: return-object v0 │ │ +01e7e0: |[01e7e0] dnsfilter.android.dnsserverconfig.DNSServerConfigActivity.access$300:(Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;)Ldnsfilter/android/PaddedCheckBox; │ │ +01e7f0: 5400 5902 |0000: iget-object v0, v0, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.manualDNSCheck:Ldnsfilter/android/PaddedCheckBox; // field@0259 │ │ +01e7f4: 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;) │ │ @@ -48588,17 +48588,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 │ │ -01e7fc: |[01e7fc] dnsfilter.android.dnsserverconfig.DNSServerConfigActivity.access$400:(Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;)Ldnsfilter/android/PaddedCheckBox; │ │ -01e80c: 5400 5f02 |0000: iget-object v0, v0, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.showCommentedLinesCheckbox:Ldnsfilter/android/PaddedCheckBox; // field@025f │ │ -01e810: 1100 |0002: return-object v0 │ │ +01e7f8: |[01e7f8] dnsfilter.android.dnsserverconfig.DNSServerConfigActivity.access$400:(Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;)Ldnsfilter/android/PaddedCheckBox; │ │ +01e808: 5400 5f02 |0000: iget-object v0, v0, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.showCommentedLinesCheckbox:Ldnsfilter/android/PaddedCheckBox; // field@025f │ │ +01e80c: 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;) │ │ @@ -48606,20 +48606,20 @@ │ │ type : '()V' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 3 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 11 16-bit code units │ │ -01e868: |[01e868] dnsfilter.android.dnsserverconfig.DNSServerConfigActivity.configureApplyNewConfigurationButton:()V │ │ -01e878: 5420 5802 |0000: iget-object v0, v2, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.applyNewConfigurationButton:Landroid/widget/ImageButton; // field@0258 │ │ -01e87c: 2201 bf00 |0002: new-instance v1, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity$1; // type@00bf │ │ -01e880: 7020 6803 2100 |0004: invoke-direct {v1, v2}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity$1;.:(Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;)V // method@0368 │ │ -01e886: 6e20 ea00 1000 |0007: invoke-virtual {v0, v1}, Landroid/widget/ImageButton;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@00ea │ │ -01e88c: 0e00 |000a: return-void │ │ +01e864: |[01e864] dnsfilter.android.dnsserverconfig.DNSServerConfigActivity.configureApplyNewConfigurationButton:()V │ │ +01e874: 5420 5802 |0000: iget-object v0, v2, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.applyNewConfigurationButton:Landroid/widget/ImageButton; // field@0258 │ │ +01e878: 2201 bf00 |0002: new-instance v1, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity$1; // type@00bf │ │ +01e87c: 7020 6803 2100 |0004: invoke-direct {v1, v2}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity$1;.:(Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;)V // method@0368 │ │ +01e882: 6e20 ea00 1000 |0007: invoke-virtual {v0, v1}, Landroid/widget/ImageButton;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@00ea │ │ +01e888: 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;) │ │ @@ -48627,21 +48627,21 @@ │ │ type : '()V' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 3 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 12 16-bit code units │ │ -01e890: |[01e890] dnsfilter.android.dnsserverconfig.DNSServerConfigActivity.configureDNSList:()V │ │ -01e8a0: 5420 5b02 |0000: iget-object v0, v2, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.manualDNSList:Landroid/widget/ListView; // field@025b │ │ -01e8a4: 5421 5d02 |0002: iget-object v1, v2, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.presenter:Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenter; // field@025d │ │ -01e8a8: 7210 9603 0100 |0004: invoke-interface {v1}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenter;.getListAdapter:()Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter; // method@0396 │ │ -01e8ae: 0c01 |0007: move-result-object v1 │ │ -01e8b0: 6e20 f100 1000 |0008: invoke-virtual {v0, v1}, Landroid/widget/ListView;.setAdapter:(Landroid/widget/ListAdapter;)V // method@00f1 │ │ -01e8b6: 0e00 |000b: return-void │ │ +01e88c: |[01e88c] dnsfilter.android.dnsserverconfig.DNSServerConfigActivity.configureDNSList:()V │ │ +01e89c: 5420 5b02 |0000: iget-object v0, v2, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.manualDNSList:Landroid/widget/ListView; // field@025b │ │ +01e8a0: 5421 5d02 |0002: iget-object v1, v2, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.presenter:Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenter; // field@025d │ │ +01e8a4: 7210 9603 0100 |0004: invoke-interface {v1}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenter;.getListAdapter:()Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter; // method@0396 │ │ +01e8aa: 0c01 |0007: move-result-object v1 │ │ +01e8ac: 6e20 f100 1000 |0008: invoke-virtual {v0, v1}, Landroid/widget/ListView;.setAdapter:(Landroid/widget/ListAdapter;)V // method@00f1 │ │ +01e8b2: 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;) │ │ @@ -48649,24 +48649,24 @@ │ │ type : '()V' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 3 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 20 16-bit code units │ │ -01e8b8: |[01e8b8] dnsfilter.android.dnsserverconfig.DNSServerConfigActivity.configureManualDNSValue:()V │ │ -01e8c8: 5420 5d02 |0000: iget-object v0, v2, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.presenter:Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenter; // field@025d │ │ -01e8cc: 7210 9503 0000 |0002: invoke-interface {v0}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenter;.getIsManualDNSServers:()Z // method@0395 │ │ -01e8d2: 0a00 |0005: move-result v0 │ │ -01e8d4: 6e20 8d03 0200 |0006: invoke-virtual {v2, v0}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.setManualDNSServers:(Z)V // method@038d │ │ -01e8da: 5420 5902 |0009: iget-object v0, v2, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.manualDNSCheck:Ldnsfilter/android/PaddedCheckBox; // field@0259 │ │ -01e8de: 2201 c000 |000b: new-instance v1, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity$2; // type@00c0 │ │ -01e8e2: 7020 6a03 2100 |000d: invoke-direct {v1, v2}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity$2;.:(Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;)V // method@036a │ │ -01e8e8: 6e20 5903 1000 |0010: invoke-virtual {v0, v1}, Ldnsfilter/android/PaddedCheckBox;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@0359 │ │ -01e8ee: 0e00 |0013: return-void │ │ +01e8b4: |[01e8b4] dnsfilter.android.dnsserverconfig.DNSServerConfigActivity.configureManualDNSValue:()V │ │ +01e8c4: 5420 5d02 |0000: iget-object v0, v2, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.presenter:Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenter; // field@025d │ │ +01e8c8: 7210 9503 0000 |0002: invoke-interface {v0}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenter;.getIsManualDNSServers:()Z // method@0395 │ │ +01e8ce: 0a00 |0005: move-result v0 │ │ +01e8d0: 6e20 8d03 0200 |0006: invoke-virtual {v2, v0}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.setManualDNSServers:(Z)V // method@038d │ │ +01e8d6: 5420 5902 |0009: iget-object v0, v2, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.manualDNSCheck:Ldnsfilter/android/PaddedCheckBox; // field@0259 │ │ +01e8da: 2201 c000 |000b: new-instance v1, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity$2; // type@00c0 │ │ +01e8de: 7020 6a03 2100 |000d: invoke-direct {v1, v2}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity$2;.:(Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;)V // method@036a │ │ +01e8e4: 6e20 5903 1000 |0010: invoke-virtual {v0, v1}, Ldnsfilter/android/PaddedCheckBox;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@0359 │ │ +01e8ea: 0e00 |0013: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=89 │ │ 0x0009 line=90 │ │ locals : │ │ 0x0000 - 0x0014 reg=2 this Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity; │ │ │ │ @@ -48675,20 +48675,20 @@ │ │ type : '()V' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 3 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 11 16-bit code units │ │ -01e8f0: |[01e8f0] dnsfilter.android.dnsserverconfig.DNSServerConfigActivity.configureRawMode:()V │ │ -01e900: 5420 5c02 |0000: iget-object v0, v2, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.manualDNSRawModeCheckbox:Ldnsfilter/android/PaddedCheckBox; // field@025c │ │ -01e904: 2201 c100 |0002: new-instance v1, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity$3; // type@00c1 │ │ -01e908: 7020 6c03 2100 |0004: invoke-direct {v1, v2}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity$3;.:(Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;)V // method@036c │ │ -01e90e: 6e20 5903 1000 |0007: invoke-virtual {v0, v1}, Ldnsfilter/android/PaddedCheckBox;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@0359 │ │ -01e914: 0e00 |000a: return-void │ │ +01e8ec: |[01e8ec] dnsfilter.android.dnsserverconfig.DNSServerConfigActivity.configureRawMode:()V │ │ +01e8fc: 5420 5c02 |0000: iget-object v0, v2, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.manualDNSRawModeCheckbox:Ldnsfilter/android/PaddedCheckBox; // field@025c │ │ +01e900: 2201 c100 |0002: new-instance v1, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity$3; // type@00c1 │ │ +01e904: 7020 6c03 2100 |0004: invoke-direct {v1, v2}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity$3;.:(Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;)V // method@036c │ │ +01e90a: 6e20 5903 1000 |0007: invoke-virtual {v0, v1}, Ldnsfilter/android/PaddedCheckBox;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@0359 │ │ +01e910: 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;) │ │ @@ -48696,20 +48696,20 @@ │ │ type : '()V' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 3 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 11 16-bit code units │ │ -01e918: |[01e918] dnsfilter.android.dnsserverconfig.DNSServerConfigActivity.configureRestoreDefaultsButton:()V │ │ -01e928: 5420 5e02 |0000: iget-object v0, v2, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.restoreDefaultConfigurationButton:Landroid/widget/Button; // field@025e │ │ -01e92c: 2201 c300 |0002: new-instance v1, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity$5; // type@00c3 │ │ -01e930: 7020 7003 2100 |0004: invoke-direct {v1, v2}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity$5;.:(Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;)V // method@0370 │ │ -01e936: 6e20 c500 1000 |0007: invoke-virtual {v0, v1}, Landroid/widget/Button;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@00c5 │ │ -01e93c: 0e00 |000a: return-void │ │ +01e914: |[01e914] dnsfilter.android.dnsserverconfig.DNSServerConfigActivity.configureRestoreDefaultsButton:()V │ │ +01e924: 5420 5e02 |0000: iget-object v0, v2, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.restoreDefaultConfigurationButton:Landroid/widget/Button; // field@025e │ │ +01e928: 2201 c300 |0002: new-instance v1, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity$5; // type@00c3 │ │ +01e92c: 7020 7003 2100 |0004: invoke-direct {v1, v2}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity$5;.:(Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;)V // method@0370 │ │ +01e932: 6e20 c500 1000 |0007: invoke-virtual {v0, v1}, Landroid/widget/Button;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@00c5 │ │ +01e938: 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;) │ │ @@ -48717,20 +48717,20 @@ │ │ type : '()V' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 3 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 11 16-bit code units │ │ -01e940: |[01e940] dnsfilter.android.dnsserverconfig.DNSServerConfigActivity.configureShowCommentedLines:()V │ │ -01e950: 5420 5f02 |0000: iget-object v0, v2, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.showCommentedLinesCheckbox:Ldnsfilter/android/PaddedCheckBox; // field@025f │ │ -01e954: 2201 c200 |0002: new-instance v1, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity$4; // type@00c2 │ │ -01e958: 7020 6e03 2100 |0004: invoke-direct {v1, v2}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity$4;.:(Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;)V // method@036e │ │ -01e95e: 6e20 5903 1000 |0007: invoke-virtual {v0, v1}, Ldnsfilter/android/PaddedCheckBox;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@0359 │ │ -01e964: 0e00 |000a: return-void │ │ +01e93c: |[01e93c] dnsfilter.android.dnsserverconfig.DNSServerConfigActivity.configureShowCommentedLines:()V │ │ +01e94c: 5420 5f02 |0000: iget-object v0, v2, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.showCommentedLinesCheckbox:Ldnsfilter/android/PaddedCheckBox; // field@025f │ │ +01e950: 2201 c200 |0002: new-instance v1, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity$4; // type@00c2 │ │ +01e954: 7020 6e03 2100 |0004: invoke-direct {v1, v2}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity$4;.:(Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;)V // method@036e │ │ +01e95a: 6e20 5903 1000 |0007: invoke-virtual {v0, v1}, Ldnsfilter/android/PaddedCheckBox;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@0359 │ │ +01e960: 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;) │ │ @@ -48738,51 +48738,51 @@ │ │ type : '()V' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 78 16-bit code units │ │ -01e968: |[01e968] dnsfilter.android.dnsserverconfig.DNSServerConfigActivity.findViews:()V │ │ -01e978: 1400 4100 057f |0000: const v0, #float 1.76789e+38 // #7f050041 │ │ -01e97e: 6e20 8103 0100 |0003: invoke-virtual {v1, v0}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.findViewById:(I)Landroid/view/View; // method@0381 │ │ -01e984: 0c00 |0006: move-result-object v0 │ │ -01e986: 1f00 6c00 |0007: check-cast v0, Landroid/widget/ListView; // type@006c │ │ -01e98a: 5b10 5b02 |0009: iput-object v0, v1, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.manualDNSList:Landroid/widget/ListView; // field@025b │ │ -01e98e: 1400 4200 057f |000b: const v0, #float 1.76789e+38 // #7f050042 │ │ -01e994: 6e20 8103 0100 |000e: invoke-virtual {v1, v0}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.findViewById:(I)Landroid/view/View; // method@0381 │ │ -01e99a: 0c00 |0011: move-result-object v0 │ │ -01e99c: 1f00 b300 |0012: check-cast v0, Ldnsfilter/android/PaddedCheckBox; // type@00b3 │ │ -01e9a0: 5b10 5c02 |0014: iput-object v0, v1, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.manualDNSRawModeCheckbox:Ldnsfilter/android/PaddedCheckBox; // field@025c │ │ -01e9a4: 1400 5b00 057f |0016: const v0, #float 1.76789e+38 // #7f05005b │ │ -01e9aa: 6e20 8103 0100 |0019: invoke-virtual {v1, v0}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.findViewById:(I)Landroid/view/View; // method@0381 │ │ -01e9b0: 0c00 |001c: move-result-object v0 │ │ -01e9b2: 1f00 b300 |001d: check-cast v0, Ldnsfilter/android/PaddedCheckBox; // type@00b3 │ │ -01e9b6: 5b10 5f02 |001f: iput-object v0, v1, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.showCommentedLinesCheckbox:Ldnsfilter/android/PaddedCheckBox; // field@025f │ │ -01e9ba: 1400 4000 057f |0021: const v0, #float 1.76789e+38 // #7f050040 │ │ -01e9c0: 6e20 8103 0100 |0024: invoke-virtual {v1, v0}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.findViewById:(I)Landroid/view/View; // method@0381 │ │ -01e9c6: 0c00 |0027: move-result-object v0 │ │ -01e9c8: 1f00 6700 |0028: check-cast v0, Landroid/widget/EditText; // type@0067 │ │ -01e9cc: 5b10 5a02 |002a: iput-object v0, v1, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.manualDNSEditText:Landroid/widget/EditText; // field@025a │ │ -01e9d0: 1400 3f00 057f |002c: const v0, #float 1.76789e+38 // #7f05003f │ │ -01e9d6: 6e20 8103 0100 |002f: invoke-virtual {v1, v0}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.findViewById:(I)Landroid/view/View; // method@0381 │ │ -01e9dc: 0c00 |0032: move-result-object v0 │ │ -01e9de: 1f00 b300 |0033: check-cast v0, Ldnsfilter/android/PaddedCheckBox; // type@00b3 │ │ -01e9e2: 5b10 5902 |0035: iput-object v0, v1, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.manualDNSCheck:Ldnsfilter/android/PaddedCheckBox; // field@0259 │ │ -01e9e6: 1400 5300 057f |0037: const v0, #float 1.76789e+38 // #7f050053 │ │ -01e9ec: 6e20 8103 0100 |003a: invoke-virtual {v1, v0}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.findViewById:(I)Landroid/view/View; // method@0381 │ │ -01e9f2: 0c00 |003d: move-result-object v0 │ │ -01e9f4: 1f00 6300 |003e: check-cast v0, Landroid/widget/Button; // type@0063 │ │ -01e9f8: 5b10 5e02 |0040: iput-object v0, v1, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.restoreDefaultConfigurationButton:Landroid/widget/Button; // field@025e │ │ -01e9fc: 1400 0e00 057f |0042: const v0, #float 1.76788e+38 // #7f05000e │ │ -01ea02: 6e20 8103 0100 |0045: invoke-virtual {v1, v0}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.findViewById:(I)Landroid/view/View; // method@0381 │ │ -01ea08: 0c00 |0048: move-result-object v0 │ │ -01ea0a: 1f00 6800 |0049: check-cast v0, Landroid/widget/ImageButton; // type@0068 │ │ -01ea0e: 5b10 5802 |004b: iput-object v0, v1, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.applyNewConfigurationButton:Landroid/widget/ImageButton; // field@0258 │ │ -01ea12: 0e00 |004d: return-void │ │ +01e964: |[01e964] dnsfilter.android.dnsserverconfig.DNSServerConfigActivity.findViews:()V │ │ +01e974: 1400 4100 057f |0000: const v0, #float 1.76789e+38 // #7f050041 │ │ +01e97a: 6e20 8103 0100 |0003: invoke-virtual {v1, v0}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.findViewById:(I)Landroid/view/View; // method@0381 │ │ +01e980: 0c00 |0006: move-result-object v0 │ │ +01e982: 1f00 6c00 |0007: check-cast v0, Landroid/widget/ListView; // type@006c │ │ +01e986: 5b10 5b02 |0009: iput-object v0, v1, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.manualDNSList:Landroid/widget/ListView; // field@025b │ │ +01e98a: 1400 4200 057f |000b: const v0, #float 1.76789e+38 // #7f050042 │ │ +01e990: 6e20 8103 0100 |000e: invoke-virtual {v1, v0}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.findViewById:(I)Landroid/view/View; // method@0381 │ │ +01e996: 0c00 |0011: move-result-object v0 │ │ +01e998: 1f00 b300 |0012: check-cast v0, Ldnsfilter/android/PaddedCheckBox; // type@00b3 │ │ +01e99c: 5b10 5c02 |0014: iput-object v0, v1, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.manualDNSRawModeCheckbox:Ldnsfilter/android/PaddedCheckBox; // field@025c │ │ +01e9a0: 1400 5b00 057f |0016: const v0, #float 1.76789e+38 // #7f05005b │ │ +01e9a6: 6e20 8103 0100 |0019: invoke-virtual {v1, v0}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.findViewById:(I)Landroid/view/View; // method@0381 │ │ +01e9ac: 0c00 |001c: move-result-object v0 │ │ +01e9ae: 1f00 b300 |001d: check-cast v0, Ldnsfilter/android/PaddedCheckBox; // type@00b3 │ │ +01e9b2: 5b10 5f02 |001f: iput-object v0, v1, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.showCommentedLinesCheckbox:Ldnsfilter/android/PaddedCheckBox; // field@025f │ │ +01e9b6: 1400 4000 057f |0021: const v0, #float 1.76789e+38 // #7f050040 │ │ +01e9bc: 6e20 8103 0100 |0024: invoke-virtual {v1, v0}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.findViewById:(I)Landroid/view/View; // method@0381 │ │ +01e9c2: 0c00 |0027: move-result-object v0 │ │ +01e9c4: 1f00 6700 |0028: check-cast v0, Landroid/widget/EditText; // type@0067 │ │ +01e9c8: 5b10 5a02 |002a: iput-object v0, v1, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.manualDNSEditText:Landroid/widget/EditText; // field@025a │ │ +01e9cc: 1400 3f00 057f |002c: const v0, #float 1.76789e+38 // #7f05003f │ │ +01e9d2: 6e20 8103 0100 |002f: invoke-virtual {v1, v0}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.findViewById:(I)Landroid/view/View; // method@0381 │ │ +01e9d8: 0c00 |0032: move-result-object v0 │ │ +01e9da: 1f00 b300 |0033: check-cast v0, Ldnsfilter/android/PaddedCheckBox; // type@00b3 │ │ +01e9de: 5b10 5902 |0035: iput-object v0, v1, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.manualDNSCheck:Ldnsfilter/android/PaddedCheckBox; // field@0259 │ │ +01e9e2: 1400 5300 057f |0037: const v0, #float 1.76789e+38 // #7f050053 │ │ +01e9e8: 6e20 8103 0100 |003a: invoke-virtual {v1, v0}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.findViewById:(I)Landroid/view/View; // method@0381 │ │ +01e9ee: 0c00 |003d: move-result-object v0 │ │ +01e9f0: 1f00 6300 |003e: check-cast v0, Landroid/widget/Button; // type@0063 │ │ +01e9f4: 5b10 5e02 |0040: iput-object v0, v1, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.restoreDefaultConfigurationButton:Landroid/widget/Button; // field@025e │ │ +01e9f8: 1400 0e00 057f |0042: const v0, #float 1.76788e+38 // #7f05000e │ │ +01e9fe: 6e20 8103 0100 |0045: invoke-virtual {v1, v0}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.findViewById:(I)Landroid/view/View; // method@0381 │ │ +01ea04: 0c00 |0048: move-result-object v0 │ │ +01ea06: 1f00 6800 |0049: check-cast v0, Landroid/widget/ImageButton; // type@0068 │ │ +01ea0a: 5b10 5802 |004b: iput-object v0, v1, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.applyNewConfigurationButton:Landroid/widget/ImageButton; // field@0258 │ │ +01ea0e: 0e00 |004d: return-void │ │ catches : (none) │ │ positions : │ │ 0x0003 line=70 │ │ 0x000e line=71 │ │ 0x0019 line=72 │ │ 0x0024 line=73 │ │ 0x002f line=74 │ │ @@ -48796,42 +48796,42 @@ │ │ type : '()V' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 4 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 60 16-bit code units │ │ -01eb88: |[01eb88] dnsfilter.android.dnsserverconfig.DNSServerConfigActivity.setupActionBar:()V │ │ -01eb98: 6000 0200 |0000: sget v0, Landroid/os/Build$VERSION;.SDK_INT:I // field@0002 │ │ -01eb9c: 1301 1500 |0002: const/16 v1, #int 21 // #15 │ │ -01eba0: 3410 2d00 |0004: if-lt v0, v1, 0031 // +002d │ │ -01eba4: 6e10 8703 0300 |0006: invoke-virtual {v3}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.getWindow:()Landroid/view/Window; // method@0387 │ │ -01ebaa: 0c00 |0009: move-result-object v0 │ │ -01ebac: 1501 0080 |000a: const/high16 v1, #int -2147483648 // #8000 │ │ -01ebb0: 6e20 b700 1000 |000c: invoke-virtual {v0, v1}, Landroid/view/Window;.addFlags:(I)V // method@00b7 │ │ -01ebb6: 1501 0004 |000f: const/high16 v1, #int 67108864 // #400 │ │ -01ebba: 6e20 b800 1000 |0011: invoke-virtual {v0, v1}, Landroid/view/Window;.clearFlags:(I)V // method@00b8 │ │ -01ebc0: 6e10 8603 0300 |0014: invoke-virtual {v3}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.getResources:()Landroid/content/res/Resources; // method@0386 │ │ -01ebc6: 0c01 |0017: move-result-object v1 │ │ -01ebc8: 1402 0600 037f |0018: const v2, #float 1.74129e+38 // #7f030006 │ │ -01ebce: 6e20 5600 2100 |001b: invoke-virtual {v1, v2}, Landroid/content/res/Resources;.getColor:(I)I // method@0056 │ │ -01ebd4: 0a01 |001e: move-result v1 │ │ -01ebd6: 7120 6c02 1000 |001f: invoke-static {v0, v1}, Ldnsfilter/android/BootUpReceiver$$ExternalSyntheticApiModelOutline0;.m:(Landroid/view/Window;I)V // method@026c │ │ -01ebdc: 6e10 8703 0300 |0022: invoke-virtual {v3}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.getWindow:()Landroid/view/Window; // method@0387 │ │ -01ebe2: 0c00 |0025: move-result-object v0 │ │ -01ebe4: 6e10 8603 0300 |0026: invoke-virtual {v3}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.getResources:()Landroid/content/res/Resources; // method@0386 │ │ -01ebea: 0c01 |0029: move-result-object v1 │ │ -01ebec: 6e20 5600 2100 |002a: invoke-virtual {v1, v2}, Landroid/content/res/Resources;.getColor:(I)I // method@0056 │ │ -01ebf2: 0a01 |002d: move-result v1 │ │ -01ebf4: 7120 7202 1000 |002e: invoke-static {v0, v1}, Ldnsfilter/android/BootUpReceiver$$ExternalSyntheticApiModelOutline0;.m$1:(Landroid/view/Window;I)V // method@0272 │ │ -01ebfa: 6e10 8403 0300 |0031: invoke-virtual {v3}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.getActionBar:()Landroid/app/ActionBar; // method@0384 │ │ -01ec00: 0c00 |0034: move-result-object v0 │ │ -01ec02: 1401 0c00 087f |0035: const v1, #float 1.80775e+38 // #7f08000c │ │ -01ec08: 6e20 0000 1000 |0038: invoke-virtual {v0, v1}, Landroid/app/ActionBar;.setTitle:(I)V // method@0000 │ │ -01ec0e: 0e00 |003b: return-void │ │ +01eb84: |[01eb84] dnsfilter.android.dnsserverconfig.DNSServerConfigActivity.setupActionBar:()V │ │ +01eb94: 6000 0200 |0000: sget v0, Landroid/os/Build$VERSION;.SDK_INT:I // field@0002 │ │ +01eb98: 1301 1500 |0002: const/16 v1, #int 21 // #15 │ │ +01eb9c: 3410 2d00 |0004: if-lt v0, v1, 0031 // +002d │ │ +01eba0: 6e10 8703 0300 |0006: invoke-virtual {v3}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.getWindow:()Landroid/view/Window; // method@0387 │ │ +01eba6: 0c00 |0009: move-result-object v0 │ │ +01eba8: 1501 0080 |000a: const/high16 v1, #int -2147483648 // #8000 │ │ +01ebac: 6e20 b700 1000 |000c: invoke-virtual {v0, v1}, Landroid/view/Window;.addFlags:(I)V // method@00b7 │ │ +01ebb2: 1501 0004 |000f: const/high16 v1, #int 67108864 // #400 │ │ +01ebb6: 6e20 b800 1000 |0011: invoke-virtual {v0, v1}, Landroid/view/Window;.clearFlags:(I)V // method@00b8 │ │ +01ebbc: 6e10 8603 0300 |0014: invoke-virtual {v3}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.getResources:()Landroid/content/res/Resources; // method@0386 │ │ +01ebc2: 0c01 |0017: move-result-object v1 │ │ +01ebc4: 1402 0600 037f |0018: const v2, #float 1.74129e+38 // #7f030006 │ │ +01ebca: 6e20 5600 2100 |001b: invoke-virtual {v1, v2}, Landroid/content/res/Resources;.getColor:(I)I // method@0056 │ │ +01ebd0: 0a01 |001e: move-result v1 │ │ +01ebd2: 7120 6c02 1000 |001f: invoke-static {v0, v1}, Ldnsfilter/android/BootUpReceiver$$ExternalSyntheticApiModelOutline0;.m:(Landroid/view/Window;I)V // method@026c │ │ +01ebd8: 6e10 8703 0300 |0022: invoke-virtual {v3}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.getWindow:()Landroid/view/Window; // method@0387 │ │ +01ebde: 0c00 |0025: move-result-object v0 │ │ +01ebe0: 6e10 8603 0300 |0026: invoke-virtual {v3}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.getResources:()Landroid/content/res/Resources; // method@0386 │ │ +01ebe6: 0c01 |0029: move-result-object v1 │ │ +01ebe8: 6e20 5600 2100 |002a: invoke-virtual {v1, v2}, Landroid/content/res/Resources;.getColor:(I)I // method@0056 │ │ +01ebee: 0a01 |002d: move-result v1 │ │ +01ebf0: 7120 7202 1000 |002e: invoke-static {v0, v1}, Ldnsfilter/android/BootUpReceiver$$ExternalSyntheticApiModelOutline0;.m$1:(Landroid/view/Window;I)V // method@0272 │ │ +01ebf6: 6e10 8403 0300 |0031: invoke-virtual {v3}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.getActionBar:()Landroid/app/ActionBar; // method@0384 │ │ +01ebfc: 0c00 |0034: move-result-object v0 │ │ +01ebfe: 1401 0c00 087f |0035: const v1, #float 1.80775e+38 // #7f08000c │ │ +01ec04: 6e20 0000 1000 |0038: invoke-virtual {v0, v1}, Landroid/app/ActionBar;.setTitle:(I)V // method@0000 │ │ +01ec0a: 0e00 |003b: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=57 │ │ 0x0006 line=58 │ │ 0x000c line=59 │ │ 0x0011 line=60 │ │ 0x0014 line=61 │ │ @@ -48847,35 +48847,35 @@ │ │ type : '(Landroid/os/Bundle;)V' │ │ access : 0x0004 (PROTECTED) │ │ code - │ │ registers : 3 │ │ ins : 2 │ │ outs : 4 │ │ insns size : 51 16-bit code units │ │ -01ea14: |[01ea14] dnsfilter.android.dnsserverconfig.DNSServerConfigActivity.onCreate:(Landroid/os/Bundle;)V │ │ -01ea24: 6f20 0400 2100 |0000: invoke-super {v1, v2}, Landroid/app/Activity;.onCreate:(Landroid/os/Bundle;)V // method@0004 │ │ -01ea2a: 1500 067f |0003: const/high16 v0, #int 2131099648 // #7f06 │ │ -01ea2e: 6e20 8c03 0100 |0005: invoke-virtual {v1, v0}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.setContentView:(I)V // method@038c │ │ -01ea34: 7010 8f03 0100 |0008: invoke-direct {v1}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.setupActionBar:()V // method@038f │ │ -01ea3a: 7010 8203 0100 |000b: invoke-direct {v1}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.findViews:()V // method@0382 │ │ -01ea40: 2200 c700 |000e: new-instance v0, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl; // type@00c7 │ │ -01ea44: 7040 9e03 1021 |0010: invoke-direct {v0, v1, v1, v2}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.:(Ldnsfilter/android/dnsserverconfig/DNSServerConfigView;Landroid/content/Context;Landroid/os/Bundle;)V // method@039e │ │ -01ea4a: 5b10 5d02 |0013: iput-object v0, v1, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.presenter:Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenter; // field@025d │ │ -01ea4e: 7010 7d03 0100 |0015: invoke-direct {v1}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.configureManualDNSValue:()V // method@037d │ │ -01ea54: 7010 7c03 0100 |0018: invoke-direct {v1}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.configureDNSList:()V // method@037c │ │ -01ea5a: 7010 7e03 0100 |001b: invoke-direct {v1}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.configureRawMode:()V // method@037e │ │ -01ea60: 7010 7f03 0100 |001e: invoke-direct {v1}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.configureRestoreDefaultsButton:()V // method@037f │ │ -01ea66: 7010 7b03 0100 |0021: invoke-direct {v1}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.configureApplyNewConfigurationButton:()V // method@037b │ │ -01ea6c: 7010 8003 0100 |0024: invoke-direct {v1}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.configureShowCommentedLines:()V // method@0380 │ │ -01ea72: 5412 5d02 |0027: iget-object v2, v1, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.presenter:Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenter; // field@025d │ │ -01ea76: 5410 5f02 |0029: iget-object v0, v1, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.showCommentedLinesCheckbox:Ldnsfilter/android/PaddedCheckBox; // field@025f │ │ -01ea7a: 6e10 5703 0000 |002b: invoke-virtual {v0}, Ldnsfilter/android/PaddedCheckBox;.isChecked:()Z // method@0357 │ │ -01ea80: 0a00 |002e: move-result v0 │ │ -01ea82: 7220 9903 0200 |002f: invoke-interface {v2, v0}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenter;.onChangedShowCommentedLinesCheckbox:(Z)V // method@0399 │ │ -01ea88: 0e00 |0032: return-void │ │ +01ea10: |[01ea10] dnsfilter.android.dnsserverconfig.DNSServerConfigActivity.onCreate:(Landroid/os/Bundle;)V │ │ +01ea20: 6f20 0400 2100 |0000: invoke-super {v1, v2}, Landroid/app/Activity;.onCreate:(Landroid/os/Bundle;)V // method@0004 │ │ +01ea26: 1500 067f |0003: const/high16 v0, #int 2131099648 // #7f06 │ │ +01ea2a: 6e20 8c03 0100 |0005: invoke-virtual {v1, v0}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.setContentView:(I)V // method@038c │ │ +01ea30: 7010 8f03 0100 |0008: invoke-direct {v1}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.setupActionBar:()V // method@038f │ │ +01ea36: 7010 8203 0100 |000b: invoke-direct {v1}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.findViews:()V // method@0382 │ │ +01ea3c: 2200 c700 |000e: new-instance v0, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl; // type@00c7 │ │ +01ea40: 7040 9e03 1021 |0010: invoke-direct {v0, v1, v1, v2}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.:(Ldnsfilter/android/dnsserverconfig/DNSServerConfigView;Landroid/content/Context;Landroid/os/Bundle;)V // method@039e │ │ +01ea46: 5b10 5d02 |0013: iput-object v0, v1, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.presenter:Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenter; // field@025d │ │ +01ea4a: 7010 7d03 0100 |0015: invoke-direct {v1}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.configureManualDNSValue:()V // method@037d │ │ +01ea50: 7010 7c03 0100 |0018: invoke-direct {v1}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.configureDNSList:()V // method@037c │ │ +01ea56: 7010 7e03 0100 |001b: invoke-direct {v1}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.configureRawMode:()V // method@037e │ │ +01ea5c: 7010 7f03 0100 |001e: invoke-direct {v1}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.configureRestoreDefaultsButton:()V // method@037f │ │ +01ea62: 7010 7b03 0100 |0021: invoke-direct {v1}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.configureApplyNewConfigurationButton:()V // method@037b │ │ +01ea68: 7010 8003 0100 |0024: invoke-direct {v1}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.configureShowCommentedLines:()V // method@0380 │ │ +01ea6e: 5412 5d02 |0027: iget-object v2, v1, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.presenter:Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenter; // field@025d │ │ +01ea72: 5410 5f02 |0029: iget-object v0, v1, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.showCommentedLinesCheckbox:Ldnsfilter/android/PaddedCheckBox; // field@025f │ │ +01ea76: 6e10 5703 0000 |002b: invoke-virtual {v0}, Ldnsfilter/android/PaddedCheckBox;.isChecked:()Z // method@0357 │ │ +01ea7c: 0a00 |002e: move-result v0 │ │ +01ea7e: 7220 9903 0200 |002f: invoke-interface {v2, v0}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenter;.onChangedShowCommentedLinesCheckbox:(Z)V // method@0399 │ │ +01ea84: 0e00 |0032: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=39 │ │ 0x0005 line=40 │ │ 0x0008 line=42 │ │ 0x000b line=43 │ │ 0x000e line=45 │ │ @@ -48895,19 +48895,19 @@ │ │ type : '()V' │ │ access : 0x0004 (PROTECTED) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 9 16-bit code units │ │ -01ea8c: |[01ea8c] dnsfilter.android.dnsserverconfig.DNSServerConfigActivity.onDestroy:()V │ │ -01ea9c: 5410 5d02 |0000: iget-object v0, v1, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.presenter:Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenter; // field@025d │ │ -01eaa0: 7210 9a03 0000 |0002: invoke-interface {v0}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenter;.onDestroy:()V // method@039a │ │ -01eaa6: 6f10 0500 0100 |0005: invoke-super {v1}, Landroid/app/Activity;.onDestroy:()V // method@0005 │ │ -01eaac: 0e00 |0008: return-void │ │ +01ea88: |[01ea88] dnsfilter.android.dnsserverconfig.DNSServerConfigActivity.onDestroy:()V │ │ +01ea98: 5410 5d02 |0000: iget-object v0, v1, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.presenter:Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenter; // field@025d │ │ +01ea9c: 7210 9a03 0000 |0002: invoke-interface {v0}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenter;.onDestroy:()V // method@039a │ │ +01eaa2: 6f10 0500 0100 |0005: invoke-super {v1}, Landroid/app/Activity;.onDestroy:()V // method@0005 │ │ +01eaa8: 0e00 |0008: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=197 │ │ 0x0005 line=198 │ │ locals : │ │ 0x0000 - 0x0009 reg=1 this Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity; │ │ │ │ @@ -48916,30 +48916,30 @@ │ │ type : '(Landroid/os/Bundle;)V' │ │ access : 0x0004 (PROTECTED) │ │ code - │ │ registers : 6 │ │ ins : 2 │ │ outs : 5 │ │ insns size : 31 16-bit code units │ │ -01eab0: |[01eab0] dnsfilter.android.dnsserverconfig.DNSServerConfigActivity.onSaveInstanceState:(Landroid/os/Bundle;)V │ │ -01eac0: 5440 5d02 |0000: iget-object v0, v4, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.presenter:Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenter; // field@025d │ │ -01eac4: 5441 5c02 |0002: iget-object v1, v4, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.manualDNSRawModeCheckbox:Ldnsfilter/android/PaddedCheckBox; // field@025c │ │ -01eac8: 6e10 5703 0100 |0004: invoke-virtual {v1}, Ldnsfilter/android/PaddedCheckBox;.isChecked:()Z // method@0357 │ │ -01eace: 0a01 |0007: move-result v1 │ │ -01ead0: 5442 5a02 |0008: iget-object v2, v4, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.manualDNSEditText:Landroid/widget/EditText; // field@025a │ │ -01ead4: 6e10 da00 0200 |000a: invoke-virtual {v2}, Landroid/widget/EditText;.getText:()Landroid/text/Editable; // method@00da │ │ -01eada: 0c02 |000d: move-result-object v2 │ │ -01eadc: 6e10 7805 0200 |000e: invoke-virtual {v2}, Ljava/lang/Object;.toString:()Ljava/lang/String; // method@0578 │ │ -01eae2: 0c02 |0011: move-result-object v2 │ │ -01eae4: 5443 5f02 |0012: iget-object v3, v4, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.showCommentedLinesCheckbox:Ldnsfilter/android/PaddedCheckBox; // field@025f │ │ -01eae8: 6e10 5703 0300 |0014: invoke-virtual {v3}, Ldnsfilter/android/PaddedCheckBox;.isChecked:()Z // method@0357 │ │ -01eaee: 0a03 |0017: move-result v3 │ │ -01eaf0: 7253 9c03 5021 |0018: invoke-interface {v0, v5, v1, v2, v3}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenter;.saveState:(Landroid/os/Bundle;ZLjava/lang/String;Z)V // method@039c │ │ -01eaf6: 6f20 0700 5400 |001b: invoke-super {v4, v5}, Landroid/app/Activity;.onSaveInstanceState:(Landroid/os/Bundle;)V // method@0007 │ │ -01eafc: 0e00 |001e: return-void │ │ +01eaac: |[01eaac] dnsfilter.android.dnsserverconfig.DNSServerConfigActivity.onSaveInstanceState:(Landroid/os/Bundle;)V │ │ +01eabc: 5440 5d02 |0000: iget-object v0, v4, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.presenter:Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenter; // field@025d │ │ +01eac0: 5441 5c02 |0002: iget-object v1, v4, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.manualDNSRawModeCheckbox:Ldnsfilter/android/PaddedCheckBox; // field@025c │ │ +01eac4: 6e10 5703 0100 |0004: invoke-virtual {v1}, Ldnsfilter/android/PaddedCheckBox;.isChecked:()Z // method@0357 │ │ +01eaca: 0a01 |0007: move-result v1 │ │ +01eacc: 5442 5a02 |0008: iget-object v2, v4, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.manualDNSEditText:Landroid/widget/EditText; // field@025a │ │ +01ead0: 6e10 da00 0200 |000a: invoke-virtual {v2}, Landroid/widget/EditText;.getText:()Landroid/text/Editable; // method@00da │ │ +01ead6: 0c02 |000d: move-result-object v2 │ │ +01ead8: 6e10 7805 0200 |000e: invoke-virtual {v2}, Ljava/lang/Object;.toString:()Ljava/lang/String; // method@0578 │ │ +01eade: 0c02 |0011: move-result-object v2 │ │ +01eae0: 5443 5f02 |0012: iget-object v3, v4, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.showCommentedLinesCheckbox:Ldnsfilter/android/PaddedCheckBox; // field@025f │ │ +01eae4: 6e10 5703 0300 |0014: invoke-virtual {v3}, Ldnsfilter/android/PaddedCheckBox;.isChecked:()Z // method@0357 │ │ +01eaea: 0a03 |0017: move-result v3 │ │ +01eaec: 7253 9c03 5021 |0018: invoke-interface {v0, v5, v1, v2, v3}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenter;.saveState:(Landroid/os/Bundle;ZLjava/lang/String;Z)V // method@039c │ │ +01eaf2: 6f20 0700 5400 |001b: invoke-super {v4, v5}, Landroid/app/Activity;.onSaveInstanceState:(Landroid/os/Bundle;)V // method@0007 │ │ +01eaf8: 0e00 |001e: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=186 │ │ 0x0004 line=188 │ │ 0x000a line=189 │ │ 0x0014 line=190 │ │ 0x0018 line=186 │ │ @@ -48953,36 +48953,36 @@ │ │ type : '()V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 4 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 46 16-bit code units │ │ -01eb00: |[01eb00] dnsfilter.android.dnsserverconfig.DNSServerConfigActivity.resetToDefaultMode:()V │ │ -01eb10: 5430 5a02 |0000: iget-object v0, v3, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.manualDNSEditText:Landroid/widget/EditText; // field@025a │ │ -01eb14: 7110 b003 0000 |0002: invoke-static {v0}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigUtils;.hideKeyboard:(Landroid/view/View;)V // method@03b0 │ │ -01eb1a: 5430 5c02 |0005: iget-object v0, v3, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.manualDNSRawModeCheckbox:Ldnsfilter/android/PaddedCheckBox; // field@025c │ │ -01eb1e: 1201 |0007: const/4 v1, #int 0 // #0 │ │ -01eb20: 6e20 5803 1000 |0008: invoke-virtual {v0, v1}, Ldnsfilter/android/PaddedCheckBox;.setChecked:(Z)V // method@0358 │ │ -01eb26: 5430 5b02 |000b: iget-object v0, v3, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.manualDNSList:Landroid/widget/ListView; // field@025b │ │ -01eb2a: 6e20 f200 1000 |000d: invoke-virtual {v0, v1}, Landroid/widget/ListView;.setVisibility:(I)V // method@00f2 │ │ -01eb30: 5430 5a02 |0010: iget-object v0, v3, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.manualDNSEditText:Landroid/widget/EditText; // field@025a │ │ -01eb34: 1302 0800 |0012: const/16 v2, #int 8 // #8 │ │ -01eb38: 6e20 e800 2000 |0014: invoke-virtual {v0, v2}, Landroid/widget/EditText;.setVisibility:(I)V // method@00e8 │ │ -01eb3e: 5430 5a02 |0017: iget-object v0, v3, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.manualDNSEditText:Landroid/widget/EditText; // field@025a │ │ -01eb42: 1202 |0019: const/4 v2, #int 0 // #0 │ │ -01eb44: 6e20 de00 2000 |001a: invoke-virtual {v0, v2}, Landroid/widget/EditText;.setError:(Ljava/lang/CharSequence;)V // method@00de │ │ -01eb4a: 5430 5f02 |001d: iget-object v0, v3, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.showCommentedLinesCheckbox:Ldnsfilter/android/PaddedCheckBox; // field@025f │ │ -01eb4e: 6e20 5b03 1000 |001f: invoke-virtual {v0, v1}, Ldnsfilter/android/PaddedCheckBox;.setVisibility:(I)V // method@035b │ │ -01eb54: 5430 5d02 |0022: iget-object v0, v3, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.presenter:Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenter; // field@025d │ │ -01eb58: 5431 5f02 |0024: iget-object v1, v3, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.showCommentedLinesCheckbox:Ldnsfilter/android/PaddedCheckBox; // field@025f │ │ -01eb5c: 6e10 5703 0100 |0026: invoke-virtual {v1}, Ldnsfilter/android/PaddedCheckBox;.isChecked:()Z // method@0357 │ │ -01eb62: 0a01 |0029: move-result v1 │ │ -01eb64: 7220 9903 1000 |002a: invoke-interface {v0, v1}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenter;.onChangedShowCommentedLinesCheckbox:(Z)V // method@0399 │ │ -01eb6a: 0e00 |002d: return-void │ │ +01eafc: |[01eafc] dnsfilter.android.dnsserverconfig.DNSServerConfigActivity.resetToDefaultMode:()V │ │ +01eb0c: 5430 5a02 |0000: iget-object v0, v3, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.manualDNSEditText:Landroid/widget/EditText; // field@025a │ │ +01eb10: 7110 b003 0000 |0002: invoke-static {v0}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigUtils;.hideKeyboard:(Landroid/view/View;)V // method@03b0 │ │ +01eb16: 5430 5c02 |0005: iget-object v0, v3, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.manualDNSRawModeCheckbox:Ldnsfilter/android/PaddedCheckBox; // field@025c │ │ +01eb1a: 1201 |0007: const/4 v1, #int 0 // #0 │ │ +01eb1c: 6e20 5803 1000 |0008: invoke-virtual {v0, v1}, Ldnsfilter/android/PaddedCheckBox;.setChecked:(Z)V // method@0358 │ │ +01eb22: 5430 5b02 |000b: iget-object v0, v3, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.manualDNSList:Landroid/widget/ListView; // field@025b │ │ +01eb26: 6e20 f200 1000 |000d: invoke-virtual {v0, v1}, Landroid/widget/ListView;.setVisibility:(I)V // method@00f2 │ │ +01eb2c: 5430 5a02 |0010: iget-object v0, v3, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.manualDNSEditText:Landroid/widget/EditText; // field@025a │ │ +01eb30: 1302 0800 |0012: const/16 v2, #int 8 // #8 │ │ +01eb34: 6e20 e800 2000 |0014: invoke-virtual {v0, v2}, Landroid/widget/EditText;.setVisibility:(I)V // method@00e8 │ │ +01eb3a: 5430 5a02 |0017: iget-object v0, v3, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.manualDNSEditText:Landroid/widget/EditText; // field@025a │ │ +01eb3e: 1202 |0019: const/4 v2, #int 0 // #0 │ │ +01eb40: 6e20 de00 2000 |001a: invoke-virtual {v0, v2}, Landroid/widget/EditText;.setError:(Ljava/lang/CharSequence;)V // method@00de │ │ +01eb46: 5430 5f02 |001d: iget-object v0, v3, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.showCommentedLinesCheckbox:Ldnsfilter/android/PaddedCheckBox; // field@025f │ │ +01eb4a: 6e20 5b03 1000 |001f: invoke-virtual {v0, v1}, Ldnsfilter/android/PaddedCheckBox;.setVisibility:(I)V // method@035b │ │ +01eb50: 5430 5d02 |0022: iget-object v0, v3, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.presenter:Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenter; // field@025d │ │ +01eb54: 5431 5f02 |0024: iget-object v1, v3, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.showCommentedLinesCheckbox:Ldnsfilter/android/PaddedCheckBox; // field@025f │ │ +01eb58: 6e10 5703 0100 |0026: invoke-virtual {v1}, Ldnsfilter/android/PaddedCheckBox;.isChecked:()Z // method@0357 │ │ +01eb5e: 0a01 |0029: move-result v1 │ │ +01eb60: 7220 9903 1000 |002a: invoke-interface {v0, v1}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenter;.onChangedShowCommentedLinesCheckbox:(Z)V // method@0399 │ │ +01eb66: 0e00 |002d: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=164 │ │ 0x0005 line=165 │ │ 0x000b line=166 │ │ 0x0010 line=167 │ │ 0x0017 line=168 │ │ @@ -48996,18 +48996,18 @@ │ │ type : '(Z)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 3 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 6 16-bit code units │ │ -01eb6c: |[01eb6c] dnsfilter.android.dnsserverconfig.DNSServerConfigActivity.setManualDNSServers:(Z)V │ │ -01eb7c: 5410 5902 |0000: iget-object v0, v1, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.manualDNSCheck:Ldnsfilter/android/PaddedCheckBox; // field@0259 │ │ -01eb80: 6e20 5803 2000 |0002: invoke-virtual {v0, v2}, Ldnsfilter/android/PaddedCheckBox;.setChecked:(Z)V // method@0358 │ │ -01eb86: 0e00 |0005: return-void │ │ +01eb68: |[01eb68] dnsfilter.android.dnsserverconfig.DNSServerConfigActivity.setManualDNSServers:(Z)V │ │ +01eb78: 5410 5902 |0000: iget-object v0, v1, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.manualDNSCheck:Ldnsfilter/android/PaddedCheckBox; // field@0259 │ │ +01eb7c: 6e20 5803 2000 |0002: invoke-virtual {v0, v2}, Ldnsfilter/android/PaddedCheckBox;.setChecked:(Z)V // method@0358 │ │ +01eb82: 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 │ │ │ │ @@ -49016,33 +49016,33 @@ │ │ type : '(Ljava/lang/String;)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 4 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 38 16-bit code units │ │ -01ec10: |[01ec10] dnsfilter.android.dnsserverconfig.DNSServerConfigActivity.showRawMode:(Ljava/lang/String;)V │ │ -01ec20: 5420 5c02 |0000: iget-object v0, v2, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.manualDNSRawModeCheckbox:Ldnsfilter/android/PaddedCheckBox; // field@025c │ │ -01ec24: 6e10 5703 0000 |0002: invoke-virtual {v0}, Ldnsfilter/android/PaddedCheckBox;.isChecked:()Z // method@0357 │ │ -01ec2a: 0a00 |0005: move-result v0 │ │ -01ec2c: 3900 0800 |0006: if-nez v0, 000e // +0008 │ │ -01ec30: 5420 5c02 |0008: iget-object v0, v2, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.manualDNSRawModeCheckbox:Ldnsfilter/android/PaddedCheckBox; // field@025c │ │ -01ec34: 1211 |000a: const/4 v1, #int 1 // #1 │ │ -01ec36: 6e20 5803 1000 |000b: invoke-virtual {v0, v1}, Ldnsfilter/android/PaddedCheckBox;.setChecked:(Z)V // method@0358 │ │ -01ec3c: 5420 5a02 |000e: iget-object v0, v2, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.manualDNSEditText:Landroid/widget/EditText; // field@025a │ │ -01ec40: 6e20 e600 3000 |0010: invoke-virtual {v0, v3}, Landroid/widget/EditText;.setText:(Ljava/lang/CharSequence;)V // method@00e6 │ │ -01ec46: 5423 5b02 |0013: iget-object v3, v2, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.manualDNSList:Landroid/widget/ListView; // field@025b │ │ -01ec4a: 1300 0800 |0015: const/16 v0, #int 8 // #8 │ │ -01ec4e: 6e20 f200 0300 |0017: invoke-virtual {v3, v0}, Landroid/widget/ListView;.setVisibility:(I)V // method@00f2 │ │ -01ec54: 5423 5a02 |001a: iget-object v3, v2, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.manualDNSEditText:Landroid/widget/EditText; // field@025a │ │ -01ec58: 1201 |001c: const/4 v1, #int 0 // #0 │ │ -01ec5a: 6e20 e800 1300 |001d: invoke-virtual {v3, v1}, Landroid/widget/EditText;.setVisibility:(I)V // method@00e8 │ │ -01ec60: 5423 5f02 |0020: iget-object v3, v2, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.showCommentedLinesCheckbox:Ldnsfilter/android/PaddedCheckBox; // field@025f │ │ -01ec64: 6e20 5b03 0300 |0022: invoke-virtual {v3, v0}, Ldnsfilter/android/PaddedCheckBox;.setVisibility:(I)V // method@035b │ │ -01ec6a: 0e00 |0025: return-void │ │ +01ec0c: |[01ec0c] dnsfilter.android.dnsserverconfig.DNSServerConfigActivity.showRawMode:(Ljava/lang/String;)V │ │ +01ec1c: 5420 5c02 |0000: iget-object v0, v2, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.manualDNSRawModeCheckbox:Ldnsfilter/android/PaddedCheckBox; // field@025c │ │ +01ec20: 6e10 5703 0000 |0002: invoke-virtual {v0}, Ldnsfilter/android/PaddedCheckBox;.isChecked:()Z // method@0357 │ │ +01ec26: 0a00 |0005: move-result v0 │ │ +01ec28: 3900 0800 |0006: if-nez v0, 000e // +0008 │ │ +01ec2c: 5420 5c02 |0008: iget-object v0, v2, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.manualDNSRawModeCheckbox:Ldnsfilter/android/PaddedCheckBox; // field@025c │ │ +01ec30: 1211 |000a: const/4 v1, #int 1 // #1 │ │ +01ec32: 6e20 5803 1000 |000b: invoke-virtual {v0, v1}, Ldnsfilter/android/PaddedCheckBox;.setChecked:(Z)V // method@0358 │ │ +01ec38: 5420 5a02 |000e: iget-object v0, v2, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.manualDNSEditText:Landroid/widget/EditText; // field@025a │ │ +01ec3c: 6e20 e600 3000 |0010: invoke-virtual {v0, v3}, Landroid/widget/EditText;.setText:(Ljava/lang/CharSequence;)V // method@00e6 │ │ +01ec42: 5423 5b02 |0013: iget-object v3, v2, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.manualDNSList:Landroid/widget/ListView; // field@025b │ │ +01ec46: 1300 0800 |0015: const/16 v0, #int 8 // #8 │ │ +01ec4a: 6e20 f200 0300 |0017: invoke-virtual {v3, v0}, Landroid/widget/ListView;.setVisibility:(I)V // method@00f2 │ │ +01ec50: 5423 5a02 |001a: iget-object v3, v2, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.manualDNSEditText:Landroid/widget/EditText; // field@025a │ │ +01ec54: 1201 |001c: const/4 v1, #int 0 // #0 │ │ +01ec56: 6e20 e800 1300 |001d: invoke-virtual {v3, v1}, Landroid/widget/EditText;.setVisibility:(I)V // method@00e8 │ │ +01ec5c: 5423 5f02 |0020: iget-object v3, v2, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.showCommentedLinesCheckbox:Ldnsfilter/android/PaddedCheckBox; // field@025f │ │ +01ec60: 6e20 5b03 0300 |0022: invoke-virtual {v3, v0}, Ldnsfilter/android/PaddedCheckBox;.setVisibility:(I)V // method@035b │ │ +01ec66: 0e00 |0025: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=175 │ │ 0x0008 line=176 │ │ 0x000e line=178 │ │ 0x0013 line=179 │ │ 0x001a line=180 │ │ @@ -49056,21 +49056,21 @@ │ │ type : '(Ljava/lang/String;)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 3 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 12 16-bit code units │ │ -01ec6c: |[01ec6c] dnsfilter.android.dnsserverconfig.DNSServerConfigActivity.showRawModeError:(Ljava/lang/String;)V │ │ -01ec7c: 5410 5a02 |0000: iget-object v0, v1, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.manualDNSEditText:Landroid/widget/EditText; // field@025a │ │ -01ec80: 6e20 de00 2000 |0002: invoke-virtual {v0, v2}, Landroid/widget/EditText;.setError:(Ljava/lang/CharSequence;)V // method@00de │ │ -01ec86: 5412 5c02 |0005: iget-object v2, v1, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.manualDNSRawModeCheckbox:Ldnsfilter/android/PaddedCheckBox; // field@025c │ │ -01ec8a: 1210 |0007: const/4 v0, #int 1 // #1 │ │ -01ec8c: 6e20 5803 0200 |0008: invoke-virtual {v2, v0}, Ldnsfilter/android/PaddedCheckBox;.setChecked:(Z)V // method@0358 │ │ -01ec92: 0e00 |000b: return-void │ │ +01ec68: |[01ec68] dnsfilter.android.dnsserverconfig.DNSServerConfigActivity.showRawModeError:(Ljava/lang/String;)V │ │ +01ec78: 5410 5a02 |0000: iget-object v0, v1, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.manualDNSEditText:Landroid/widget/EditText; // field@025a │ │ +01ec7c: 6e20 de00 2000 |0002: invoke-virtual {v0, v2}, Landroid/widget/EditText;.setError:(Ljava/lang/CharSequence;)V // method@00de │ │ +01ec82: 5412 5c02 |0005: iget-object v2, v1, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.manualDNSRawModeCheckbox:Ldnsfilter/android/PaddedCheckBox; // field@025c │ │ +01ec86: 1210 |0007: const/4 v0, #int 1 // #1 │ │ +01ec88: 6e20 5803 0200 |0008: invoke-virtual {v2, v0}, Ldnsfilter/android/PaddedCheckBox;.setChecked:(Z)V // method@0358 │ │ +01ec8e: 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; │ │ @@ -49080,20 +49080,20 @@ │ │ type : '(Ljava/lang/String;)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 3 │ │ ins : 2 │ │ outs : 3 │ │ insns size : 9 16-bit code units │ │ -01ec94: |[01ec94] dnsfilter.android.dnsserverconfig.DNSServerConfigActivity.showToast:(Ljava/lang/String;)V │ │ -01eca4: 1200 |0000: const/4 v0, #int 0 // #0 │ │ -01eca6: 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 │ │ -01ecac: 0c02 |0004: move-result-object v2 │ │ -01ecae: 6e10 0d01 0200 |0005: invoke-virtual {v2}, Landroid/widget/Toast;.show:()V // method@010d │ │ -01ecb4: 0e00 |0008: return-void │ │ +01ec90: |[01ec90] dnsfilter.android.dnsserverconfig.DNSServerConfigActivity.showToast:(Ljava/lang/String;)V │ │ +01eca0: 1200 |0000: const/4 v0, #int 0 // #0 │ │ +01eca2: 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 │ │ +01eca8: 0c02 |0004: move-result-object v2 │ │ +01ecaa: 6e10 0d01 0200 |0005: invoke-virtual {v2}, Landroid/widget/Toast;.show:()V // method@010d │ │ +01ecb0: 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; │ │ │ │ @@ -49102,34 +49102,34 @@ │ │ type : '(Ljava/lang/String;)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 5 │ │ ins : 2 │ │ outs : 4 │ │ insns size : 39 16-bit code units │ │ -01ecb8: |[01ecb8] dnsfilter.android.dnsserverconfig.DNSServerConfigActivity.showToastAndCloseScreen:(Ljava/lang/String;)V │ │ -01ecc8: 3804 0900 |0000: if-eqz v4, 0009 // +0009 │ │ -01eccc: 6e10 9105 0400 |0002: invoke-virtual {v4}, Ljava/lang/String;.isEmpty:()Z // method@0591 │ │ -01ecd2: 0a00 |0005: move-result v0 │ │ -01ecd4: 3900 0300 |0006: if-nez v0, 0009 // +0003 │ │ -01ecd8: 2803 |0008: goto 000b // +0003 │ │ -01ecda: 1a04 3801 |0009: const-string v4, "DNS servers config updated" // string@0138 │ │ -01ecde: 1200 |000b: const/4 v0, #int 0 // #0 │ │ -01ece0: 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 │ │ -01ece6: 0c04 |000f: move-result-object v4 │ │ -01ece8: 6e10 0d01 0400 |0010: invoke-virtual {v4}, Landroid/widget/Toast;.show:()V // method@010d │ │ -01ecee: 2204 3500 |0013: new-instance v4, Landroid/os/Handler; // type@0035 │ │ -01ecf2: 6e10 8503 0300 |0015: invoke-virtual {v3}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.getMainLooper:()Landroid/os/Looper; // method@0385 │ │ -01ecf8: 0c00 |0018: move-result-object v0 │ │ -01ecfa: 7020 8400 0400 |0019: invoke-direct {v4, v0}, Landroid/os/Handler;.:(Landroid/os/Looper;)V // method@0084 │ │ -01ed00: 2200 c400 |001c: new-instance v0, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity$6; // type@00c4 │ │ -01ed04: 7020 7203 3000 |001e: invoke-direct {v0, v3}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity$6;.:(Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;)V // method@0372 │ │ -01ed0a: 1601 f401 |0021: const-wide/16 v1, #int 500 // #1f4 │ │ -01ed0e: 6e40 8600 0421 |0023: invoke-virtual {v4, v0, v1, v2}, Landroid/os/Handler;.postDelayed:(Ljava/lang/Runnable;J)Z // method@0086 │ │ -01ed14: 0e00 |0026: return-void │ │ +01ecb4: |[01ecb4] dnsfilter.android.dnsserverconfig.DNSServerConfigActivity.showToastAndCloseScreen:(Ljava/lang/String;)V │ │ +01ecc4: 3804 0900 |0000: if-eqz v4, 0009 // +0009 │ │ +01ecc8: 6e10 9105 0400 |0002: invoke-virtual {v4}, Ljava/lang/String;.isEmpty:()Z // method@0591 │ │ +01ecce: 0a00 |0005: move-result v0 │ │ +01ecd0: 3900 0300 |0006: if-nez v0, 0009 // +0003 │ │ +01ecd4: 2803 |0008: goto 000b // +0003 │ │ +01ecd6: 1a04 3801 |0009: const-string v4, "DNS servers config updated" // string@0138 │ │ +01ecda: 1200 |000b: const/4 v0, #int 0 // #0 │ │ +01ecdc: 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 │ │ +01ece2: 0c04 |000f: move-result-object v4 │ │ +01ece4: 6e10 0d01 0400 |0010: invoke-virtual {v4}, Landroid/widget/Toast;.show:()V // method@010d │ │ +01ecea: 2204 3500 |0013: new-instance v4, Landroid/os/Handler; // type@0035 │ │ +01ecee: 6e10 8503 0300 |0015: invoke-virtual {v3}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;.getMainLooper:()Landroid/os/Looper; // method@0385 │ │ +01ecf4: 0c00 |0018: move-result-object v0 │ │ +01ecf6: 7020 8400 0400 |0019: invoke-direct {v4, v0}, Landroid/os/Handler;.:(Landroid/os/Looper;)V // method@0084 │ │ +01ecfc: 2200 c400 |001c: new-instance v0, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity$6; // type@00c4 │ │ +01ed00: 7020 7203 3000 |001e: invoke-direct {v0, v3}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity$6;.:(Ldnsfilter/android/dnsserverconfig/DNSServerConfigActivity;)V // method@0372 │ │ +01ed06: 1601 f401 |0021: const-wide/16 v1, #int 500 // #1f4 │ │ +01ed0a: 6e40 8600 0421 |0023: invoke-virtual {v4, v0, v1, v2}, Landroid/os/Handler;.postDelayed:(Ljava/lang/Runnable;J)Z // method@0086 │ │ +01ed10: 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; │ │ @@ -49238,27 +49238,27 @@ │ │ type : '()V' │ │ access : 0x10008 (STATIC CONSTRUCTOR) │ │ code - │ │ registers : 2 │ │ ins : 0 │ │ outs : 1 │ │ insns size : 20 16-bit code units │ │ -01efc4: |[01efc4] dnsfilter.android.dnsserverconfig.DNSServerConfigPresenterImpl.:()V │ │ -01efd4: 1a00 9c08 |0000: const-string v0, "line.separator" // string@089c │ │ -01efd8: 7110 b305 0000 |0002: invoke-static {v0}, Ljava/lang/System;.getProperty:(Ljava/lang/String;)Ljava/lang/String; // method@05b3 │ │ -01efde: 0c01 |0005: move-result-object v1 │ │ -01efe0: 3901 0700 |0006: if-nez v1, 000d // +0007 │ │ -01efe4: 1a00 0200 |0008: const-string v0, " │ │ +01efc0: |[01efc0] dnsfilter.android.dnsserverconfig.DNSServerConfigPresenterImpl.:()V │ │ +01efd0: 1a00 9c08 |0000: const-string v0, "line.separator" // string@089c │ │ +01efd4: 7110 b305 0000 |0002: invoke-static {v0}, Ljava/lang/System;.getProperty:(Ljava/lang/String;)Ljava/lang/String; // method@05b3 │ │ +01efda: 0c01 |0005: move-result-object v1 │ │ +01efdc: 3901 0700 |0006: if-nez v1, 000d // +0007 │ │ +01efe0: 1a00 0200 |0008: const-string v0, " │ │ " // string@0002 │ │ -01efe8: 6900 6502 |000a: sput-object v0, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.LINE_SEPARATOR:Ljava/lang/String; // field@0265 │ │ -01efec: 2807 |000c: goto 0013 // +0007 │ │ -01efee: 7110 b305 0000 |000d: invoke-static {v0}, Ljava/lang/System;.getProperty:(Ljava/lang/String;)Ljava/lang/String; // method@05b3 │ │ -01eff4: 0c00 |0010: move-result-object v0 │ │ -01eff6: 6900 6502 |0011: sput-object v0, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.LINE_SEPARATOR:Ljava/lang/String; // field@0265 │ │ -01effa: 0e00 |0013: return-void │ │ +01efe4: 6900 6502 |000a: sput-object v0, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.LINE_SEPARATOR:Ljava/lang/String; // field@0265 │ │ +01efe8: 2807 |000c: goto 0013 // +0007 │ │ +01efea: 7110 b305 0000 |000d: invoke-static {v0}, Ljava/lang/System;.getProperty:(Ljava/lang/String;)Ljava/lang/String; // method@05b3 │ │ +01eff0: 0c00 |0010: move-result-object v0 │ │ +01eff2: 6900 6502 |0011: sput-object v0, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.LINE_SEPARATOR:Ljava/lang/String; // field@0265 │ │ +01eff6: 0e00 |0013: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=28 │ │ 0x0008 line=29 │ │ 0x000d line=31 │ │ locals : │ │ │ │ @@ -49267,83 +49267,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 │ │ -01effc: |[01effc] dnsfilter.android.dnsserverconfig.DNSServerConfigPresenterImpl.:(Ldnsfilter/android/dnsserverconfig/DNSServerConfigView;Landroid/content/Context;Landroid/os/Bundle;)V │ │ -01f00c: 7010 7305 0700 |0000: invoke-direct {v7}, Ljava/lang/Object;.:()V // method@0573 │ │ -01f012: 7100 4f01 0000 |0003: invoke-static {}, Ldnsfilter/ConfigurationAccess;.getCurrent:()Ldnsfilter/ConfigurationAccess; // method@014f │ │ -01f018: 0c00 |0006: move-result-object v0 │ │ -01f01a: 5b70 6202 |0007: iput-object v0, v7, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.CONFIG:Ldnsfilter/ConfigurationAccess; // field@0262 │ │ -01f01e: 2200 d800 |0009: new-instance v0, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntrySerializer; // type@00d8 │ │ -01f022: 7010 f103 0000 |000b: invoke-direct {v0}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntrySerializer;.:()V // method@03f1 │ │ -01f028: 5b70 6c02 |000e: iput-object v0, v7, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.serializer:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntrySerializer; // field@026c │ │ -01f02c: 1200 |0010: const/4 v0, #int 0 // #0 │ │ -01f02e: 5c70 6a02 |0011: iput-boolean v0, v7, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.isManualDNSServers:Z // field@026a │ │ -01f032: 7100 8606 0000 |0013: invoke-static {}, Ljava/util/concurrent/Executors;.newSingleThreadExecutor:()Ljava/util/concurrent/ExecutorService; // method@0686 │ │ -01f038: 0c01 |0016: move-result-object v1 │ │ -01f03a: 5b71 6d02 |0017: iput-object v1, v7, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.testTasksPool:Ljava/util/concurrent/ExecutorService; // field@026d │ │ -01f03e: 5b78 6e02 |0019: iput-object v8, v7, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.view:Ldnsfilter/android/dnsserverconfig/DNSServerConfigView; // field@026e │ │ -01f042: 2202 5101 |001b: new-instance v2, Ljava/util/ArrayList; // type@0151 │ │ -01f046: 7010 1806 0200 |001d: invoke-direct {v2}, Ljava/util/ArrayList;.:()V // method@0618 │ │ -01f04c: 1213 |0020: const/4 v3, #int 1 // #1 │ │ -01f04e: 1a04 5e06 |0021: const-string v4, "detectDNS" // string@065e │ │ -01f052: 1a05 de06 |0023: const-string v5, "fallbackDNS" // string@06de │ │ -01f056: 380a 2100 |0025: if-eqz v10, 0046 // +0021 │ │ -01f05a: 6e20 7d00 4a00 |0027: invoke-virtual {v10, v4}, Landroid/os/Bundle;.getBoolean:(Ljava/lang/String;)Z // method@007d │ │ -01f060: 0a04 |002a: move-result v4 │ │ -01f062: 5c74 6a02 |002b: iput-boolean v4, v7, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.isManualDNSServers:Z // field@026a │ │ -01f066: 1a04 7708 |002d: const-string v4, "isRadModeDNS" // string@0877 │ │ -01f06a: 6e20 7d00 4a00 |002f: invoke-virtual {v10, v4}, Landroid/os/Bundle;.getBoolean:(Ljava/lang/String;)Z // method@007d │ │ -01f070: 0a04 |0032: move-result v4 │ │ -01f072: 3804 0a00 |0033: if-eqz v4, 003d // +000a │ │ -01f076: 6e20 7f00 5a00 |0035: invoke-virtual {v10, v5}, Landroid/os/Bundle;.getString:(Ljava/lang/String;)Ljava/lang/String; // method@007f │ │ -01f07c: 0c04 |0038: move-result-object v4 │ │ -01f07e: 7220 b303 4800 |0039: invoke-interface {v8, v4}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigView;.showRawMode:(Ljava/lang/String;)V // method@03b3 │ │ -01f084: 2833 |003c: goto 006f // +0033 │ │ -01f086: 6e20 7f00 5a00 |003d: invoke-virtual {v10, v5}, Landroid/os/Bundle;.getString:(Ljava/lang/String;)Ljava/lang/String; // method@007f │ │ -01f08c: 0c08 |0040: move-result-object v8 │ │ -01f08e: 7020 aa03 8700 |0041: invoke-direct {v7, v8}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.readDNSServerConfigFrom:(Ljava/lang/String;)Ljava/util/List; // method@03aa │ │ -01f094: 0c02 |0044: move-result-object v2 │ │ -01f096: 282a |0045: goto 006f // +002a │ │ -01f098: 7010 a103 0700 |0046: invoke-direct {v7}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.getConfig:()Ldnsfilter/ConfigUtil; // method@03a1 │ │ -01f09e: 0c08 |0049: move-result-object v8 │ │ -01f0a0: 3808 2500 |004a: if-eqz v8, 006f // +0025 │ │ -01f0a4: 6e10 3f01 0800 |004c: invoke-virtual {v8}, Ldnsfilter/ConfigUtil;.getProperties:()Ljava/util/Properties; // method@013f │ │ -01f0aa: 0c02 |004f: move-result-object v2 │ │ -01f0ac: 1a06 0000 |0050: const-string v6, "" // string@0000 │ │ -01f0b0: 6e30 5506 5206 |0052: invoke-virtual {v2, v5, v6}, Ljava/util/Properties;.getProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@0655 │ │ -01f0b6: 0c02 |0055: move-result-object v2 │ │ -01f0b8: 7110 af03 0200 |0056: invoke-static {v2}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigUtils;.formatSerializedProperties:(Ljava/lang/String;)Ljava/lang/String; // method@03af │ │ -01f0be: 0c02 |0059: move-result-object v2 │ │ -01f0c0: 7020 aa03 2700 |005a: invoke-direct {v7, v2}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.readDNSServerConfigFrom:(Ljava/lang/String;)Ljava/util/List; // method@03aa │ │ -01f0c6: 0c02 |005d: move-result-object v2 │ │ -01f0c8: 6e10 3f01 0800 |005e: invoke-virtual {v8}, Ldnsfilter/ConfigUtil;.getProperties:()Ljava/util/Properties; // method@013f │ │ -01f0ce: 0c08 |0061: move-result-object v8 │ │ -01f0d0: 1a05 420b |0062: const-string v5, "true" // string@0b42 │ │ -01f0d4: 6e30 5506 4805 |0064: invoke-virtual {v8, v4, v5}, Ljava/util/Properties;.getProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@0655 │ │ -01f0da: 0c08 |0067: move-result-object v8 │ │ -01f0dc: 7110 4b05 0800 |0068: invoke-static {v8}, Ljava/lang/Boolean;.parseBoolean:(Ljava/lang/String;)Z // method@054b │ │ -01f0e2: 0a08 |006b: move-result v8 │ │ -01f0e4: b738 |006c: xor-int/2addr v8, v3 │ │ -01f0e6: 5c78 6a02 |006d: iput-boolean v8, v7, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.isManualDNSServers:Z // field@026a │ │ -01f0ea: 2208 d700 |006f: new-instance v8, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter; // type@00d7 │ │ -01f0ee: 7040 d203 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@03d2 │ │ -01f0f4: 5b78 6b02 |0074: iput-object v8, v7, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.listAdapter:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter; // field@026b │ │ -01f0f8: 380a 0e00 |0076: if-eqz v10, 0084 // +000e │ │ -01f0fc: 1a08 c90a |0078: const-string v8, "showCommentedLines" // string@0ac9 │ │ -01f100: 6e20 7d00 8a00 |007a: invoke-virtual {v10, v8}, Landroid/os/Bundle;.getBoolean:(Ljava/lang/String;)Z // method@007d │ │ -01f106: 0a08 |007d: move-result v8 │ │ -01f108: 3808 0900 |007e: if-eqz v8, 0087 // +0009 │ │ -01f10c: 6e20 a703 3700 |0080: invoke-virtual {v7, v3}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.onChangedShowCommentedLinesCheckbox:(Z)V // method@03a7 │ │ -01f112: 2804 |0083: goto 0087 // +0004 │ │ -01f114: 6e20 a703 0700 |0084: invoke-virtual {v7, v0}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.onChangedShowCommentedLinesCheckbox:(Z)V // method@03a7 │ │ -01f11a: 0e00 |0087: return-void │ │ +01eff8: |[01eff8] dnsfilter.android.dnsserverconfig.DNSServerConfigPresenterImpl.:(Ldnsfilter/android/dnsserverconfig/DNSServerConfigView;Landroid/content/Context;Landroid/os/Bundle;)V │ │ +01f008: 7010 7305 0700 |0000: invoke-direct {v7}, Ljava/lang/Object;.:()V // method@0573 │ │ +01f00e: 7100 4f01 0000 |0003: invoke-static {}, Ldnsfilter/ConfigurationAccess;.getCurrent:()Ldnsfilter/ConfigurationAccess; // method@014f │ │ +01f014: 0c00 |0006: move-result-object v0 │ │ +01f016: 5b70 6202 |0007: iput-object v0, v7, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.CONFIG:Ldnsfilter/ConfigurationAccess; // field@0262 │ │ +01f01a: 2200 d800 |0009: new-instance v0, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntrySerializer; // type@00d8 │ │ +01f01e: 7010 f103 0000 |000b: invoke-direct {v0}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntrySerializer;.:()V // method@03f1 │ │ +01f024: 5b70 6c02 |000e: iput-object v0, v7, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.serializer:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntrySerializer; // field@026c │ │ +01f028: 1200 |0010: const/4 v0, #int 0 // #0 │ │ +01f02a: 5c70 6a02 |0011: iput-boolean v0, v7, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.isManualDNSServers:Z // field@026a │ │ +01f02e: 7100 8606 0000 |0013: invoke-static {}, Ljava/util/concurrent/Executors;.newSingleThreadExecutor:()Ljava/util/concurrent/ExecutorService; // method@0686 │ │ +01f034: 0c01 |0016: move-result-object v1 │ │ +01f036: 5b71 6d02 |0017: iput-object v1, v7, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.testTasksPool:Ljava/util/concurrent/ExecutorService; // field@026d │ │ +01f03a: 5b78 6e02 |0019: iput-object v8, v7, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.view:Ldnsfilter/android/dnsserverconfig/DNSServerConfigView; // field@026e │ │ +01f03e: 2202 5101 |001b: new-instance v2, Ljava/util/ArrayList; // type@0151 │ │ +01f042: 7010 1806 0200 |001d: invoke-direct {v2}, Ljava/util/ArrayList;.:()V // method@0618 │ │ +01f048: 1213 |0020: const/4 v3, #int 1 // #1 │ │ +01f04a: 1a04 5e06 |0021: const-string v4, "detectDNS" // string@065e │ │ +01f04e: 1a05 de06 |0023: const-string v5, "fallbackDNS" // string@06de │ │ +01f052: 380a 2100 |0025: if-eqz v10, 0046 // +0021 │ │ +01f056: 6e20 7d00 4a00 |0027: invoke-virtual {v10, v4}, Landroid/os/Bundle;.getBoolean:(Ljava/lang/String;)Z // method@007d │ │ +01f05c: 0a04 |002a: move-result v4 │ │ +01f05e: 5c74 6a02 |002b: iput-boolean v4, v7, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.isManualDNSServers:Z // field@026a │ │ +01f062: 1a04 7708 |002d: const-string v4, "isRadModeDNS" // string@0877 │ │ +01f066: 6e20 7d00 4a00 |002f: invoke-virtual {v10, v4}, Landroid/os/Bundle;.getBoolean:(Ljava/lang/String;)Z // method@007d │ │ +01f06c: 0a04 |0032: move-result v4 │ │ +01f06e: 3804 0a00 |0033: if-eqz v4, 003d // +000a │ │ +01f072: 6e20 7f00 5a00 |0035: invoke-virtual {v10, v5}, Landroid/os/Bundle;.getString:(Ljava/lang/String;)Ljava/lang/String; // method@007f │ │ +01f078: 0c04 |0038: move-result-object v4 │ │ +01f07a: 7220 b303 4800 |0039: invoke-interface {v8, v4}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigView;.showRawMode:(Ljava/lang/String;)V // method@03b3 │ │ +01f080: 2833 |003c: goto 006f // +0033 │ │ +01f082: 6e20 7f00 5a00 |003d: invoke-virtual {v10, v5}, Landroid/os/Bundle;.getString:(Ljava/lang/String;)Ljava/lang/String; // method@007f │ │ +01f088: 0c08 |0040: move-result-object v8 │ │ +01f08a: 7020 aa03 8700 |0041: invoke-direct {v7, v8}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.readDNSServerConfigFrom:(Ljava/lang/String;)Ljava/util/List; // method@03aa │ │ +01f090: 0c02 |0044: move-result-object v2 │ │ +01f092: 282a |0045: goto 006f // +002a │ │ +01f094: 7010 a103 0700 |0046: invoke-direct {v7}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.getConfig:()Ldnsfilter/ConfigUtil; // method@03a1 │ │ +01f09a: 0c08 |0049: move-result-object v8 │ │ +01f09c: 3808 2500 |004a: if-eqz v8, 006f // +0025 │ │ +01f0a0: 6e10 3f01 0800 |004c: invoke-virtual {v8}, Ldnsfilter/ConfigUtil;.getProperties:()Ljava/util/Properties; // method@013f │ │ +01f0a6: 0c02 |004f: move-result-object v2 │ │ +01f0a8: 1a06 0000 |0050: const-string v6, "" // string@0000 │ │ +01f0ac: 6e30 5506 5206 |0052: invoke-virtual {v2, v5, v6}, Ljava/util/Properties;.getProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@0655 │ │ +01f0b2: 0c02 |0055: move-result-object v2 │ │ +01f0b4: 7110 af03 0200 |0056: invoke-static {v2}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigUtils;.formatSerializedProperties:(Ljava/lang/String;)Ljava/lang/String; // method@03af │ │ +01f0ba: 0c02 |0059: move-result-object v2 │ │ +01f0bc: 7020 aa03 2700 |005a: invoke-direct {v7, v2}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.readDNSServerConfigFrom:(Ljava/lang/String;)Ljava/util/List; // method@03aa │ │ +01f0c2: 0c02 |005d: move-result-object v2 │ │ +01f0c4: 6e10 3f01 0800 |005e: invoke-virtual {v8}, Ldnsfilter/ConfigUtil;.getProperties:()Ljava/util/Properties; // method@013f │ │ +01f0ca: 0c08 |0061: move-result-object v8 │ │ +01f0cc: 1a05 420b |0062: const-string v5, "true" // string@0b42 │ │ +01f0d0: 6e30 5506 4805 |0064: invoke-virtual {v8, v4, v5}, Ljava/util/Properties;.getProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@0655 │ │ +01f0d6: 0c08 |0067: move-result-object v8 │ │ +01f0d8: 7110 4b05 0800 |0068: invoke-static {v8}, Ljava/lang/Boolean;.parseBoolean:(Ljava/lang/String;)Z // method@054b │ │ +01f0de: 0a08 |006b: move-result v8 │ │ +01f0e0: b738 |006c: xor-int/2addr v8, v3 │ │ +01f0e2: 5c78 6a02 |006d: iput-boolean v8, v7, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.isManualDNSServers:Z // field@026a │ │ +01f0e6: 2208 d700 |006f: new-instance v8, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter; // type@00d7 │ │ +01f0ea: 7040 d203 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@03d2 │ │ +01f0f0: 5b78 6b02 |0074: iput-object v8, v7, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.listAdapter:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter; // field@026b │ │ +01f0f4: 380a 0e00 |0076: if-eqz v10, 0084 // +000e │ │ +01f0f8: 1a08 c90a |0078: const-string v8, "showCommentedLines" // string@0ac9 │ │ +01f0fc: 6e20 7d00 8a00 |007a: invoke-virtual {v10, v8}, Landroid/os/Bundle;.getBoolean:(Ljava/lang/String;)Z // method@007d │ │ +01f102: 0a08 |007d: move-result v8 │ │ +01f104: 3808 0900 |007e: if-eqz v8, 0087 // +0009 │ │ +01f108: 6e20 a703 3700 |0080: invoke-virtual {v7, v3}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.onChangedShowCommentedLinesCheckbox:(Z)V // method@03a7 │ │ +01f10e: 2804 |0083: goto 0087 // +0004 │ │ +01f110: 6e20 a703 0700 |0084: invoke-virtual {v7, v0}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.onChangedShowCommentedLinesCheckbox:(Z)V // method@03a7 │ │ +01f116: 0e00 |0087: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=61 │ │ 0x0003 line=44 │ │ 0x0009 line=45 │ │ 0x0011 line=48 │ │ 0x0013 line=49 │ │ @@ -49373,37 +49373,37 @@ │ │ type : '()Ljava/lang/String;' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 4 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 44 16-bit code units │ │ -01ee0c: |[01ee0c] dnsfilter.android.dnsserverconfig.DNSServerConfigPresenterImpl.DNSServerEntriesToRawEntries:()Ljava/lang/String; │ │ -01ee1c: 2200 2d01 |0000: new-instance v0, Ljava/lang/StringBuilder; // type@012d │ │ -01ee20: 7010 a705 0000 |0002: invoke-direct {v0}, Ljava/lang/StringBuilder;.:()V // method@05a7 │ │ -01ee26: 1201 |0005: const/4 v1, #int 0 // #0 │ │ -01ee28: 5432 6b02 |0006: iget-object v2, v3, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.listAdapter:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter; // field@026b │ │ -01ee2c: 6e10 e703 0200 |0008: invoke-virtual {v2}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.getObjectsCount:()I // method@03e7 │ │ -01ee32: 0a02 |000b: move-result v2 │ │ -01ee34: d802 02ff |000c: add-int/lit8 v2, v2, #int -1 // #ff │ │ -01ee38: 3621 1900 |000e: if-gt v1, v2, 0027 // +0019 │ │ -01ee3c: 5432 6b02 |0010: iget-object v2, v3, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.listAdapter:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter; // field@026b │ │ -01ee40: 6e20 e403 1200 |0012: invoke-virtual {v2, v1}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.getItem:(I)Ljava/lang/Object; // method@03e4 │ │ -01ee46: 0c02 |0015: move-result-object v2 │ │ -01ee48: 1f02 e600 |0016: check-cast v2, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigBaseEntry; // type@00e6 │ │ -01ee4c: 6e10 7805 0200 |0018: invoke-virtual {v2}, Ljava/lang/Object;.toString:()Ljava/lang/String; // method@0578 │ │ -01ee52: 0c02 |001b: move-result-object v2 │ │ -01ee54: 6e20 ad05 2000 |001c: invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -01ee5a: 6202 6502 |001f: sget-object v2, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.LINE_SEPARATOR:Ljava/lang/String; // field@0265 │ │ -01ee5e: 6e20 ad05 2000 |0021: invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -01ee64: d801 0101 |0024: add-int/lit8 v1, v1, #int 1 // #01 │ │ -01ee68: 28e0 |0026: goto 0006 // -0020 │ │ -01ee6a: 6e10 af05 0000 |0027: invoke-virtual {v0}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ -01ee70: 0c00 |002a: move-result-object v0 │ │ -01ee72: 1100 |002b: return-object v0 │ │ +01ee08: |[01ee08] dnsfilter.android.dnsserverconfig.DNSServerConfigPresenterImpl.DNSServerEntriesToRawEntries:()Ljava/lang/String; │ │ +01ee18: 2200 2d01 |0000: new-instance v0, Ljava/lang/StringBuilder; // type@012d │ │ +01ee1c: 7010 a705 0000 |0002: invoke-direct {v0}, Ljava/lang/StringBuilder;.:()V // method@05a7 │ │ +01ee22: 1201 |0005: const/4 v1, #int 0 // #0 │ │ +01ee24: 5432 6b02 |0006: iget-object v2, v3, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.listAdapter:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter; // field@026b │ │ +01ee28: 6e10 e703 0200 |0008: invoke-virtual {v2}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.getObjectsCount:()I // method@03e7 │ │ +01ee2e: 0a02 |000b: move-result v2 │ │ +01ee30: d802 02ff |000c: add-int/lit8 v2, v2, #int -1 // #ff │ │ +01ee34: 3621 1900 |000e: if-gt v1, v2, 0027 // +0019 │ │ +01ee38: 5432 6b02 |0010: iget-object v2, v3, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.listAdapter:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter; // field@026b │ │ +01ee3c: 6e20 e403 1200 |0012: invoke-virtual {v2, v1}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.getItem:(I)Ljava/lang/Object; // method@03e4 │ │ +01ee42: 0c02 |0015: move-result-object v2 │ │ +01ee44: 1f02 e600 |0016: check-cast v2, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigBaseEntry; // type@00e6 │ │ +01ee48: 6e10 7805 0200 |0018: invoke-virtual {v2}, Ljava/lang/Object;.toString:()Ljava/lang/String; // method@0578 │ │ +01ee4e: 0c02 |001b: move-result-object v2 │ │ +01ee50: 6e20 ad05 2000 |001c: invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +01ee56: 6202 6502 |001f: sget-object v2, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.LINE_SEPARATOR:Ljava/lang/String; // field@0265 │ │ +01ee5a: 6e20 ad05 2000 |0021: invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +01ee60: d801 0101 |0024: add-int/lit8 v1, v1, #int 1 // #01 │ │ +01ee64: 28e0 |0026: goto 0006 // -0020 │ │ +01ee66: 6e10 af05 0000 |0027: invoke-virtual {v0}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ +01ee6c: 0c00 |002a: move-result-object v0 │ │ +01ee6e: 1100 |002b: return-object v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=224 │ │ 0x0006 line=225 │ │ 0x0010 line=226 │ │ 0x001f line=227 │ │ 0x0027 line=230 │ │ @@ -49415,24 +49415,24 @@ │ │ type : '()Ldnsfilter/ConfigUtil;' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 3 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 16 16-bit code units │ │ -01edb4: |[01edb4] dnsfilter.android.dnsserverconfig.DNSServerConfigPresenterImpl.getConfig:()Ldnsfilter/ConfigUtil; │ │ -01edc4: 5420 6202 |0000: iget-object v0, v2, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.CONFIG:Ldnsfilter/ConfigurationAccess; // field@0262 │ │ -01edc8: 6e10 4e01 0000 |0002: invoke-virtual {v0}, Ldnsfilter/ConfigurationAccess;.getConfigUtil:()Ldnsfilter/ConfigUtil; // method@014e │ │ -01edce: 0c00 |0005: move-result-object v0 │ │ -01edd0: 1100 |0006: return-object v0 │ │ -01edd2: 5420 6e02 |0007: iget-object v0, v2, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.view:Ldnsfilter/android/dnsserverconfig/DNSServerConfigView; // field@026e │ │ -01edd6: 1a01 1801 |0009: const-string v1, "Critical error - can't load config. Try to restart application." // string@0118 │ │ -01edda: 7220 b603 1000 |000b: invoke-interface {v0, v1}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigView;.showToastAndCloseScreen:(Ljava/lang/String;)V // method@03b6 │ │ -01ede0: 1200 |000e: const/4 v0, #int 0 // #0 │ │ -01ede2: 1100 |000f: return-object v0 │ │ +01edb0: |[01edb0] dnsfilter.android.dnsserverconfig.DNSServerConfigPresenterImpl.getConfig:()Ldnsfilter/ConfigUtil; │ │ +01edc0: 5420 6202 |0000: iget-object v0, v2, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.CONFIG:Ldnsfilter/ConfigurationAccess; // field@0262 │ │ +01edc4: 6e10 4e01 0000 |0002: invoke-virtual {v0}, Ldnsfilter/ConfigurationAccess;.getConfigUtil:()Ldnsfilter/ConfigUtil; // method@014e │ │ +01edca: 0c00 |0005: move-result-object v0 │ │ +01edcc: 1100 |0006: return-object v0 │ │ +01edce: 5420 6e02 |0007: iget-object v0, v2, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.view:Ldnsfilter/android/dnsserverconfig/DNSServerConfigView; // field@026e │ │ +01edd2: 1a01 1801 |0009: const-string v1, "Critical error - can't load config. Try to restart application." // string@0118 │ │ +01edd6: 7220 b603 1000 |000b: invoke-interface {v0, v1}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigView;.showToastAndCloseScreen:(Ljava/lang/String;)V // method@03b6 │ │ +01eddc: 1200 |000e: const/4 v0, #int 0 // #0 │ │ +01edde: 1100 |000f: return-object v0 │ │ catches : 1 │ │ 0x0000 - 0x0006 │ │ Ljava/lang/Exception; -> 0x0007 │ │ positions : │ │ 0x0000 line=109 │ │ 0x0007 line=111 │ │ locals : │ │ @@ -49443,54 +49443,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 │ │ -01ee74: |[01ee74] dnsfilter.android.dnsserverconfig.DNSServerConfigPresenterImpl.getDNSServerEntriesAsConfig:(ZLjava/lang/String;)Ljava/lang/String; │ │ -01ee84: 3804 0300 |0000: if-eqz v4, 0003 // +0003 │ │ -01ee88: 2805 |0002: goto 0007 // +0005 │ │ -01ee8a: 7010 9f03 0300 |0003: invoke-direct {v3}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.DNSServerEntriesToRawEntries:()Ljava/lang/String; // method@039f │ │ -01ee90: 0c05 |0006: move-result-object v5 │ │ -01ee92: 2204 6601 |0007: new-instance v4, Ljava/util/StringTokenizer; // type@0166 │ │ -01ee96: 1a00 0200 |0009: const-string v0, " │ │ +01ee70: |[01ee70] dnsfilter.android.dnsserverconfig.DNSServerConfigPresenterImpl.getDNSServerEntriesAsConfig:(ZLjava/lang/String;)Ljava/lang/String; │ │ +01ee80: 3804 0300 |0000: if-eqz v4, 0003 // +0003 │ │ +01ee84: 2805 |0002: goto 0007 // +0005 │ │ +01ee86: 7010 9f03 0300 |0003: invoke-direct {v3}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.DNSServerEntriesToRawEntries:()Ljava/lang/String; // method@039f │ │ +01ee8c: 0c05 |0006: move-result-object v5 │ │ +01ee8e: 2204 6601 |0007: new-instance v4, Ljava/util/StringTokenizer; // type@0166 │ │ +01ee92: 1a00 0200 |0009: const-string v0, " │ │ " // string@0002 │ │ -01ee9a: 7030 6206 5400 |000b: invoke-direct {v4, v5, v0}, Ljava/util/StringTokenizer;.:(Ljava/lang/String;Ljava/lang/String;)V // method@0662 │ │ -01eea0: 1a05 0000 |000e: const-string v5, "" // string@0000 │ │ -01eea4: 0750 |0010: move-object v0, v5 │ │ -01eea6: 6e10 6506 0400 |0011: invoke-virtual {v4}, Ljava/util/StringTokenizer;.hasMoreTokens:()Z // method@0665 │ │ -01eeac: 0a01 |0014: move-result v1 │ │ -01eeae: 3801 2500 |0015: if-eqz v1, 003a // +0025 │ │ -01eeb2: 6e10 6606 0400 |0017: invoke-virtual {v4}, Ljava/util/StringTokenizer;.nextToken:()Ljava/lang/String; // method@0666 │ │ -01eeb8: 0c01 |001a: move-result-object v1 │ │ -01eeba: 6e10 a005 0100 |001b: invoke-virtual {v1}, Ljava/lang/String;.trim:()Ljava/lang/String; // method@05a0 │ │ -01eec0: 0c01 |001e: move-result-object v1 │ │ -01eec2: 6e20 8b05 5100 |001f: invoke-virtual {v1, v5}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058b │ │ -01eec8: 0a02 |0022: move-result v2 │ │ -01eeca: 3902 eeff |0023: if-nez v2, 0011 // -0012 │ │ -01eece: 2202 2d01 |0025: new-instance v2, Ljava/lang/StringBuilder; // type@012d │ │ -01eed2: 7010 a705 0200 |0027: invoke-direct {v2}, Ljava/lang/StringBuilder;.:()V // method@05a7 │ │ -01eed8: 6e20 ad05 0200 |002a: invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -01eede: 6e20 ad05 1200 |002d: invoke-virtual {v2, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -01eee4: 1a00 8d00 |0030: const-string v0, "; " // string@008d │ │ -01eee8: 6e20 ad05 0200 |0032: invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -01eeee: 6e10 af05 0200 |0035: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ -01eef4: 0c00 |0038: move-result-object v0 │ │ -01eef6: 28d8 |0039: goto 0011 // -0028 │ │ -01eef8: 6e20 8b05 5000 |003a: invoke-virtual {v0, v5}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058b │ │ -01eefe: 0a04 |003d: move-result v4 │ │ -01ef00: 3904 0d00 |003e: if-nez v4, 004b // +000d │ │ -01ef04: 6e10 9405 0000 |0040: invoke-virtual {v0}, Ljava/lang/String;.length:()I // method@0594 │ │ -01ef0a: 0a04 |0043: move-result v4 │ │ -01ef0c: d804 04fe |0044: add-int/lit8 v4, v4, #int -2 // #fe │ │ -01ef10: 1205 |0046: const/4 v5, #int 0 // #0 │ │ -01ef12: 6e30 9b05 5004 |0047: invoke-virtual {v0, v5, v4}, Ljava/lang/String;.substring:(II)Ljava/lang/String; // method@059b │ │ -01ef18: 0c00 |004a: move-result-object v0 │ │ -01ef1a: 1100 |004b: return-object v0 │ │ +01ee96: 7030 6206 5400 |000b: invoke-direct {v4, v5, v0}, Ljava/util/StringTokenizer;.:(Ljava/lang/String;Ljava/lang/String;)V // method@0662 │ │ +01ee9c: 1a05 0000 |000e: const-string v5, "" // string@0000 │ │ +01eea0: 0750 |0010: move-object v0, v5 │ │ +01eea2: 6e10 6506 0400 |0011: invoke-virtual {v4}, Ljava/util/StringTokenizer;.hasMoreTokens:()Z // method@0665 │ │ +01eea8: 0a01 |0014: move-result v1 │ │ +01eeaa: 3801 2500 |0015: if-eqz v1, 003a // +0025 │ │ +01eeae: 6e10 6606 0400 |0017: invoke-virtual {v4}, Ljava/util/StringTokenizer;.nextToken:()Ljava/lang/String; // method@0666 │ │ +01eeb4: 0c01 |001a: move-result-object v1 │ │ +01eeb6: 6e10 a005 0100 |001b: invoke-virtual {v1}, Ljava/lang/String;.trim:()Ljava/lang/String; // method@05a0 │ │ +01eebc: 0c01 |001e: move-result-object v1 │ │ +01eebe: 6e20 8b05 5100 |001f: invoke-virtual {v1, v5}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058b │ │ +01eec4: 0a02 |0022: move-result v2 │ │ +01eec6: 3902 eeff |0023: if-nez v2, 0011 // -0012 │ │ +01eeca: 2202 2d01 |0025: new-instance v2, Ljava/lang/StringBuilder; // type@012d │ │ +01eece: 7010 a705 0200 |0027: invoke-direct {v2}, Ljava/lang/StringBuilder;.:()V // method@05a7 │ │ +01eed4: 6e20 ad05 0200 |002a: invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +01eeda: 6e20 ad05 1200 |002d: invoke-virtual {v2, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +01eee0: 1a00 8d00 |0030: const-string v0, "; " // string@008d │ │ +01eee4: 6e20 ad05 0200 |0032: invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +01eeea: 6e10 af05 0200 |0035: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ +01eef0: 0c00 |0038: move-result-object v0 │ │ +01eef2: 28d8 |0039: goto 0011 // -0028 │ │ +01eef4: 6e20 8b05 5000 |003a: invoke-virtual {v0, v5}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058b │ │ +01eefa: 0a04 |003d: move-result v4 │ │ +01eefc: 3904 0d00 |003e: if-nez v4, 004b // +000d │ │ +01ef00: 6e10 9405 0000 |0040: invoke-virtual {v0}, Ljava/lang/String;.length:()I // method@0594 │ │ +01ef06: 0a04 |0043: move-result v4 │ │ +01ef08: d804 04fe |0044: add-int/lit8 v4, v4, #int -2 // #fe │ │ +01ef0c: 1205 |0046: const/4 v5, #int 0 // #0 │ │ +01ef0e: 6e30 9b05 5004 |0047: invoke-virtual {v0, v5, v4}, Ljava/lang/String;.substring:(II)Ljava/lang/String; // method@059b │ │ +01ef14: 0c00 |004a: move-result-object v0 │ │ +01ef16: 1100 |004b: return-object v0 │ │ catches : (none) │ │ positions : │ │ 0x0003 line=208 │ │ 0x0007 line=211 │ │ 0x0011 line=212 │ │ 0x0017 line=213 │ │ 0x001f line=214 │ │ @@ -49507,42 +49507,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 │ │ -01ed30: |[01ed30] dnsfilter.android.dnsserverconfig.DNSServerConfigPresenterImpl.rawEntriesToDNSServerEntries:(Ljava/lang/String;Ljava/util/ArrayList;)Z │ │ -01ed40: 2200 d800 |0000: new-instance v0, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntrySerializer; // type@00d8 │ │ -01ed44: 7010 f103 0000 |0002: invoke-direct {v0}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntrySerializer;.:()V // method@03f1 │ │ -01ed4a: 6201 6502 |0005: sget-object v1, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.LINE_SEPARATOR:Ljava/lang/String; // field@0265 │ │ -01ed4e: 6e20 9705 1700 |0007: invoke-virtual {v7, v1}, Ljava/lang/String;.split:(Ljava/lang/String;)[Ljava/lang/String; // method@0597 │ │ -01ed54: 0c07 |000a: move-result-object v7 │ │ -01ed56: 1201 |000b: const/4 v1, #int 0 // #0 │ │ -01ed58: 2172 |000c: array-length v2, v7 │ │ -01ed5a: 1203 |000d: const/4 v3, #int 0 // #0 │ │ -01ed5c: 3523 1600 |000e: if-ge v3, v2, 0024 // +0016 │ │ -01ed60: 4604 0703 |0010: aget-object v4, v7, v3 │ │ -01ed64: 6e10 9105 0400 |0012: invoke-virtual {v4}, Ljava/lang/String;.isEmpty:()Z // method@0591 │ │ -01ed6a: 0a05 |0015: move-result v5 │ │ -01ed6c: 3905 0b00 |0016: if-nez v5, 0021 // +000b │ │ -01ed70: 6e20 f203 4000 |0018: invoke-virtual {v0, v4}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntrySerializer;.deserialize:(Ljava/lang/String;)Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigBaseEntry; // method@03f2 │ │ -01ed76: 0c04 |001b: move-result-object v4 │ │ -01ed78: 3808 0500 |001c: if-eqz v8, 0021 // +0005 │ │ -01ed7c: 6e20 1906 4800 |001e: invoke-virtual {v8, v4}, Ljava/util/ArrayList;.add:(Ljava/lang/Object;)Z // method@0619 │ │ -01ed82: d803 0301 |0021: add-int/lit8 v3, v3, #int 1 // #01 │ │ -01ed86: 28eb |0023: goto 000e // -0015 │ │ -01ed88: 1217 |0024: const/4 v7, #int 1 // #1 │ │ -01ed8a: 0f07 |0025: return v7 │ │ -01ed8c: 0d07 |0026: move-exception v7 │ │ -01ed8e: 5468 6e02 |0027: iget-object v8, v6, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.view:Ldnsfilter/android/dnsserverconfig/DNSServerConfigView; // field@026e │ │ -01ed92: 6e10 3704 0700 |0029: invoke-virtual {v7}, Ldnsfilter/android/dnsserverconfig/widget/NotDeserializableException;.getMessage:()Ljava/lang/String; // method@0437 │ │ -01ed98: 0c07 |002c: move-result-object v7 │ │ -01ed9a: 7220 b403 7800 |002d: invoke-interface {v8, v7}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigView;.showRawModeError:(Ljava/lang/String;)V // method@03b4 │ │ -01eda0: 0f01 |0030: return v1 │ │ +01ed2c: |[01ed2c] dnsfilter.android.dnsserverconfig.DNSServerConfigPresenterImpl.rawEntriesToDNSServerEntries:(Ljava/lang/String;Ljava/util/ArrayList;)Z │ │ +01ed3c: 2200 d800 |0000: new-instance v0, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntrySerializer; // type@00d8 │ │ +01ed40: 7010 f103 0000 |0002: invoke-direct {v0}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntrySerializer;.:()V // method@03f1 │ │ +01ed46: 6201 6502 |0005: sget-object v1, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.LINE_SEPARATOR:Ljava/lang/String; // field@0265 │ │ +01ed4a: 6e20 9705 1700 |0007: invoke-virtual {v7, v1}, Ljava/lang/String;.split:(Ljava/lang/String;)[Ljava/lang/String; // method@0597 │ │ +01ed50: 0c07 |000a: move-result-object v7 │ │ +01ed52: 1201 |000b: const/4 v1, #int 0 // #0 │ │ +01ed54: 2172 |000c: array-length v2, v7 │ │ +01ed56: 1203 |000d: const/4 v3, #int 0 // #0 │ │ +01ed58: 3523 1600 |000e: if-ge v3, v2, 0024 // +0016 │ │ +01ed5c: 4604 0703 |0010: aget-object v4, v7, v3 │ │ +01ed60: 6e10 9105 0400 |0012: invoke-virtual {v4}, Ljava/lang/String;.isEmpty:()Z // method@0591 │ │ +01ed66: 0a05 |0015: move-result v5 │ │ +01ed68: 3905 0b00 |0016: if-nez v5, 0021 // +000b │ │ +01ed6c: 6e20 f203 4000 |0018: invoke-virtual {v0, v4}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntrySerializer;.deserialize:(Ljava/lang/String;)Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigBaseEntry; // method@03f2 │ │ +01ed72: 0c04 |001b: move-result-object v4 │ │ +01ed74: 3808 0500 |001c: if-eqz v8, 0021 // +0005 │ │ +01ed78: 6e20 1906 4800 |001e: invoke-virtual {v8, v4}, Ljava/util/ArrayList;.add:(Ljava/lang/Object;)Z // method@0619 │ │ +01ed7e: d803 0301 |0021: add-int/lit8 v3, v3, #int 1 // #01 │ │ +01ed82: 28eb |0023: goto 000e // -0015 │ │ +01ed84: 1217 |0024: const/4 v7, #int 1 // #1 │ │ +01ed86: 0f07 |0025: return v7 │ │ +01ed88: 0d07 |0026: move-exception v7 │ │ +01ed8a: 5468 6e02 |0027: iget-object v8, v6, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.view:Ldnsfilter/android/dnsserverconfig/DNSServerConfigView; // field@026e │ │ +01ed8e: 6e10 3704 0700 |0029: invoke-virtual {v7}, Ldnsfilter/android/dnsserverconfig/widget/NotDeserializableException;.getMessage:()Ljava/lang/String; // method@0437 │ │ +01ed94: 0c07 |002c: move-result-object v7 │ │ +01ed96: 7220 b403 7800 |002d: invoke-interface {v8, v7}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigView;.showRawModeError:(Ljava/lang/String;)V // method@03b4 │ │ +01ed9c: 0f01 |0030: return v1 │ │ catches : 1 │ │ 0x000c - 0x0021 │ │ Ldnsfilter/android/dnsserverconfig/widget/NotDeserializableException; -> 0x0026 │ │ positions : │ │ 0x0000 line=234 │ │ 0x0005 line=235 │ │ 0x000c line=237 │ │ @@ -49560,39 +49560,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 │ │ -01ef1c: |[01ef1c] dnsfilter.android.dnsserverconfig.DNSServerConfigPresenterImpl.readDNSServerConfigFrom:(Ljava/lang/String;)Ljava/util/List; │ │ -01ef2c: 2200 5101 |0000: new-instance v0, Ljava/util/ArrayList; // type@0151 │ │ -01ef30: 7010 1806 0000 |0002: invoke-direct {v0}, Ljava/util/ArrayList;.:()V // method@0618 │ │ -01ef36: 7010 a103 0500 |0005: invoke-direct {v5}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.getConfig:()Ldnsfilter/ConfigUtil; // method@03a1 │ │ -01ef3c: 0c01 |0008: move-result-object v1 │ │ -01ef3e: 3801 2400 |0009: if-eqz v1, 002d // +0024 │ │ -01ef42: 6201 6502 |000b: sget-object v1, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.LINE_SEPARATOR:Ljava/lang/String; // field@0265 │ │ -01ef46: 6e20 9705 1600 |000d: invoke-virtual {v6, v1}, Ljava/lang/String;.split:(Ljava/lang/String;)[Ljava/lang/String; // method@0597 │ │ -01ef4c: 0c06 |0010: move-result-object v6 │ │ -01ef4e: 2161 |0011: array-length v1, v6 │ │ -01ef50: 1202 |0012: const/4 v2, #int 0 // #0 │ │ -01ef52: 3512 1a00 |0013: if-ge v2, v1, 002d // +001a │ │ -01ef56: 4603 0602 |0015: aget-object v3, v6, v2 │ │ -01ef5a: 6e10 9105 0300 |0017: invoke-virtual {v3}, Ljava/lang/String;.isEmpty:()Z // method@0591 │ │ -01ef60: 0a04 |001a: move-result v4 │ │ -01ef62: 3904 0f00 |001b: if-nez v4, 002a // +000f │ │ -01ef66: 5454 6c02 |001d: iget-object v4, v5, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.serializer:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntrySerializer; // field@026c │ │ -01ef6a: 6e10 a005 0300 |001f: invoke-virtual {v3}, Ljava/lang/String;.trim:()Ljava/lang/String; // method@05a0 │ │ -01ef70: 0c03 |0022: move-result-object v3 │ │ -01ef72: 6e20 f403 3400 |0023: invoke-virtual {v4, v3}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntrySerializer;.deserializeSafe:(Ljava/lang/String;)Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigBaseEntry; // method@03f4 │ │ -01ef78: 0c03 |0026: move-result-object v3 │ │ -01ef7a: 7220 4b06 3000 |0027: invoke-interface {v0, v3}, Ljava/util/List;.add:(Ljava/lang/Object;)Z // method@064b │ │ -01ef80: d802 0201 |002a: add-int/lit8 v2, v2, #int 1 // #01 │ │ -01ef84: 28e7 |002c: goto 0013 // -0019 │ │ -01ef86: 1100 |002d: return-object v0 │ │ +01ef18: |[01ef18] dnsfilter.android.dnsserverconfig.DNSServerConfigPresenterImpl.readDNSServerConfigFrom:(Ljava/lang/String;)Ljava/util/List; │ │ +01ef28: 2200 5101 |0000: new-instance v0, Ljava/util/ArrayList; // type@0151 │ │ +01ef2c: 7010 1806 0000 |0002: invoke-direct {v0}, Ljava/util/ArrayList;.:()V // method@0618 │ │ +01ef32: 7010 a103 0500 |0005: invoke-direct {v5}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.getConfig:()Ldnsfilter/ConfigUtil; // method@03a1 │ │ +01ef38: 0c01 |0008: move-result-object v1 │ │ +01ef3a: 3801 2400 |0009: if-eqz v1, 002d // +0024 │ │ +01ef3e: 6201 6502 |000b: sget-object v1, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.LINE_SEPARATOR:Ljava/lang/String; // field@0265 │ │ +01ef42: 6e20 9705 1600 |000d: invoke-virtual {v6, v1}, Ljava/lang/String;.split:(Ljava/lang/String;)[Ljava/lang/String; // method@0597 │ │ +01ef48: 0c06 |0010: move-result-object v6 │ │ +01ef4a: 2161 |0011: array-length v1, v6 │ │ +01ef4c: 1202 |0012: const/4 v2, #int 0 // #0 │ │ +01ef4e: 3512 1a00 |0013: if-ge v2, v1, 002d // +001a │ │ +01ef52: 4603 0602 |0015: aget-object v3, v6, v2 │ │ +01ef56: 6e10 9105 0300 |0017: invoke-virtual {v3}, Ljava/lang/String;.isEmpty:()Z // method@0591 │ │ +01ef5c: 0a04 |001a: move-result v4 │ │ +01ef5e: 3904 0f00 |001b: if-nez v4, 002a // +000f │ │ +01ef62: 5454 6c02 |001d: iget-object v4, v5, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.serializer:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntrySerializer; // field@026c │ │ +01ef66: 6e10 a005 0300 |001f: invoke-virtual {v3}, Ljava/lang/String;.trim:()Ljava/lang/String; // method@05a0 │ │ +01ef6c: 0c03 |0022: move-result-object v3 │ │ +01ef6e: 6e20 f403 3400 |0023: invoke-virtual {v4, v3}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntrySerializer;.deserializeSafe:(Ljava/lang/String;)Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigBaseEntry; // method@03f4 │ │ +01ef74: 0c03 |0026: move-result-object v3 │ │ +01ef76: 7220 4b06 3000 |0027: invoke-interface {v0, v3}, Ljava/util/List;.add:(Ljava/lang/Object;)Z // method@064b │ │ +01ef7c: d802 0201 |002a: add-int/lit8 v2, v2, #int 1 // #01 │ │ +01ef80: 28e7 |002c: goto 0013 // -0019 │ │ +01ef82: 1100 |002d: return-object v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=93 │ │ 0x0005 line=94 │ │ 0x000b line=97 │ │ 0x0011 line=98 │ │ 0x0017 line=99 │ │ @@ -49606,25 +49606,25 @@ │ │ type : '()Ljava/util/Properties;' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 3 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 22 16-bit code units │ │ -01ef88: |[01ef88] dnsfilter.android.dnsserverconfig.DNSServerConfigPresenterImpl.readDefaultDNSConfig:()Ljava/util/Properties; │ │ -01ef98: 7100 d206 0000 |0000: invoke-static {}, Lutil/ExecutionEnvironment;.getEnvironment:()Lutil/ExecutionEnvironmentInterface; // method@06d2 │ │ -01ef9e: 0c00 |0003: move-result-object v0 │ │ -01efa0: 1a01 7d06 |0004: const-string v1, "dnsfilter.conf" // string@067d │ │ -01efa4: 7220 df06 1000 |0006: invoke-interface {v0, v1}, Lutil/ExecutionEnvironmentInterface;.getAsset:(Ljava/lang/String;)Ljava/io/InputStream; // method@06df │ │ -01efaa: 0c00 |0009: move-result-object v0 │ │ -01efac: 2201 6201 |000a: new-instance v1, Ljava/util/Properties; // type@0162 │ │ -01efb0: 7010 5106 0100 |000c: invoke-direct {v1}, Ljava/util/Properties;.:()V // method@0651 │ │ -01efb6: 6e20 5706 0100 |000f: invoke-virtual {v1, v0}, Ljava/util/Properties;.load:(Ljava/io/InputStream;)V // method@0657 │ │ -01efbc: 6e10 2705 0000 |0012: invoke-virtual {v0}, Ljava/io/InputStream;.close:()V // method@0527 │ │ -01efc2: 1101 |0015: return-object v1 │ │ +01ef84: |[01ef84] dnsfilter.android.dnsserverconfig.DNSServerConfigPresenterImpl.readDefaultDNSConfig:()Ljava/util/Properties; │ │ +01ef94: 7100 d206 0000 |0000: invoke-static {}, Lutil/ExecutionEnvironment;.getEnvironment:()Lutil/ExecutionEnvironmentInterface; // method@06d2 │ │ +01ef9a: 0c00 |0003: move-result-object v0 │ │ +01ef9c: 1a01 7d06 |0004: const-string v1, "dnsfilter.conf" // string@067d │ │ +01efa0: 7220 df06 1000 |0006: invoke-interface {v0, v1}, Lutil/ExecutionEnvironmentInterface;.getAsset:(Ljava/lang/String;)Ljava/io/InputStream; // method@06df │ │ +01efa6: 0c00 |0009: move-result-object v0 │ │ +01efa8: 2201 6201 |000a: new-instance v1, Ljava/util/Properties; // type@0162 │ │ +01efac: 7010 5106 0100 |000c: invoke-direct {v1}, Ljava/util/Properties;.:()V // method@0651 │ │ +01efb2: 6e20 5706 0100 |000f: invoke-virtual {v1, v0}, Ljava/util/Properties;.load:(Ljava/io/InputStream;)V // method@0657 │ │ +01efb8: 6e10 2705 0000 |0012: invoke-virtual {v0}, Ljava/io/InputStream;.close:()V // method@0527 │ │ +01efbe: 1101 |0015: return-object v1 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=196 │ │ 0x000a line=197 │ │ 0x000f line=198 │ │ 0x0012 line=199 │ │ locals : │ │ @@ -49636,40 +49636,40 @@ │ │ type : '(ZLjava/lang/String;)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 6 │ │ ins : 3 │ │ outs : 3 │ │ insns size : 51 16-bit code units │ │ -01f11c: |[01f11c] dnsfilter.android.dnsserverconfig.DNSServerConfigPresenterImpl.applyNewConfiguration:(ZLjava/lang/String;)V │ │ -01f12c: 1200 |0000: const/4 v0, #int 0 // #0 │ │ -01f12e: 3804 1000 |0001: if-eqz v4, 0011 // +0010 │ │ -01f132: 7030 a903 5300 |0003: invoke-direct {v3, v5, v0}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.rawEntriesToDNSServerEntries:(Ljava/lang/String;Ljava/util/ArrayList;)Z // method@03a9 │ │ -01f138: 0a01 |0006: move-result v1 │ │ -01f13a: 3901 0a00 |0007: if-nez v1, 0011 // +000a │ │ -01f13e: 5434 6e02 |0009: iget-object v4, v3, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.view:Ldnsfilter/android/dnsserverconfig/DNSServerConfigView; // field@026e │ │ -01f142: 1a05 2004 |000b: const-string v5, "Raw text is not possibly to convert" // string@0420 │ │ -01f146: 7220 b503 5400 |000d: invoke-interface {v4, v5}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigView;.showToast:(Ljava/lang/String;)V // method@03b5 │ │ -01f14c: 0e00 |0010: return-void │ │ -01f14e: 7010 a103 0300 |0011: invoke-direct {v3}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.getConfig:()Ldnsfilter/ConfigUtil; // method@03a1 │ │ -01f154: 0c01 |0014: move-result-object v1 │ │ -01f156: 3801 1800 |0015: if-eqz v1, 002d // +0018 │ │ -01f15a: 1a02 de06 |0017: const-string v2, "fallbackDNS" // string@06de │ │ -01f15e: 7030 a203 4305 |0019: invoke-direct {v3, v4, v5}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.getDNSServerEntriesAsConfig:(ZLjava/lang/String;)Ljava/lang/String; // method@03a2 │ │ -01f164: 0c04 |001c: move-result-object v4 │ │ -01f166: 6e30 4301 2104 |001d: invoke-virtual {v1, v2, v4}, Ldnsfilter/ConfigUtil;.updateConfigValue:(Ljava/lang/String;Ljava/lang/String;)V // method@0143 │ │ -01f16c: 5534 6a02 |0020: iget-boolean v4, v3, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.isManualDNSServers:Z // field@026a │ │ -01f170: df04 0401 |0022: xor-int/lit8 v4, v4, #int 1 // #01 │ │ -01f174: 7110 4c05 0400 |0024: invoke-static {v4}, Ljava/lang/Boolean;.toString:(Z)Ljava/lang/String; // method@054c │ │ -01f17a: 0c04 |0027: move-result-object v4 │ │ -01f17c: 1a05 5e06 |0028: const-string v5, "detectDNS" // string@065e │ │ -01f180: 6e30 4301 5104 |002a: invoke-virtual {v1, v5, v4}, Ldnsfilter/ConfigUtil;.updateConfigValue:(Ljava/lang/String;Ljava/lang/String;)V // method@0143 │ │ -01f186: 5434 6e02 |002d: iget-object v4, v3, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.view:Ldnsfilter/android/dnsserverconfig/DNSServerConfigView; // field@026e │ │ -01f18a: 7220 b603 0400 |002f: invoke-interface {v4, v0}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigView;.showToastAndCloseScreen:(Ljava/lang/String;)V // method@03b6 │ │ -01f190: 0e00 |0032: return-void │ │ +01f118: |[01f118] dnsfilter.android.dnsserverconfig.DNSServerConfigPresenterImpl.applyNewConfiguration:(ZLjava/lang/String;)V │ │ +01f128: 1200 |0000: const/4 v0, #int 0 // #0 │ │ +01f12a: 3804 1000 |0001: if-eqz v4, 0011 // +0010 │ │ +01f12e: 7030 a903 5300 |0003: invoke-direct {v3, v5, v0}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.rawEntriesToDNSServerEntries:(Ljava/lang/String;Ljava/util/ArrayList;)Z // method@03a9 │ │ +01f134: 0a01 |0006: move-result v1 │ │ +01f136: 3901 0a00 |0007: if-nez v1, 0011 // +000a │ │ +01f13a: 5434 6e02 |0009: iget-object v4, v3, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.view:Ldnsfilter/android/dnsserverconfig/DNSServerConfigView; // field@026e │ │ +01f13e: 1a05 2004 |000b: const-string v5, "Raw text is not possibly to convert" // string@0420 │ │ +01f142: 7220 b503 5400 |000d: invoke-interface {v4, v5}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigView;.showToast:(Ljava/lang/String;)V // method@03b5 │ │ +01f148: 0e00 |0010: return-void │ │ +01f14a: 7010 a103 0300 |0011: invoke-direct {v3}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.getConfig:()Ldnsfilter/ConfigUtil; // method@03a1 │ │ +01f150: 0c01 |0014: move-result-object v1 │ │ +01f152: 3801 1800 |0015: if-eqz v1, 002d // +0018 │ │ +01f156: 1a02 de06 |0017: const-string v2, "fallbackDNS" // string@06de │ │ +01f15a: 7030 a203 4305 |0019: invoke-direct {v3, v4, v5}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.getDNSServerEntriesAsConfig:(ZLjava/lang/String;)Ljava/lang/String; // method@03a2 │ │ +01f160: 0c04 |001c: move-result-object v4 │ │ +01f162: 6e30 4301 2104 |001d: invoke-virtual {v1, v2, v4}, Ldnsfilter/ConfigUtil;.updateConfigValue:(Ljava/lang/String;Ljava/lang/String;)V // method@0143 │ │ +01f168: 5534 6a02 |0020: iget-boolean v4, v3, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.isManualDNSServers:Z // field@026a │ │ +01f16c: df04 0401 |0022: xor-int/lit8 v4, v4, #int 1 // #01 │ │ +01f170: 7110 4c05 0400 |0024: invoke-static {v4}, Ljava/lang/Boolean;.toString:(Z)Ljava/lang/String; // method@054c │ │ +01f176: 0c04 |0027: move-result-object v4 │ │ +01f178: 1a05 5e06 |0028: const-string v5, "detectDNS" // string@065e │ │ +01f17c: 6e30 4301 5104 |002a: invoke-virtual {v1, v5, v4}, Ldnsfilter/ConfigUtil;.updateConfigValue:(Ljava/lang/String;Ljava/lang/String;)V // method@0143 │ │ +01f182: 5434 6e02 |002d: iget-object v4, v3, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.view:Ldnsfilter/android/dnsserverconfig/DNSServerConfigView; // field@026e │ │ +01f186: 7220 b603 0400 |002f: invoke-interface {v4, v0}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigView;.showToastAndCloseScreen:(Ljava/lang/String;)V // method@03b6 │ │ +01f18c: 0e00 |0032: return-void │ │ catches : (none) │ │ positions : │ │ 0x0003 line=165 │ │ 0x0009 line=166 │ │ 0x0011 line=169 │ │ 0x0017 line=171 │ │ 0x0020 line=172 │ │ @@ -49684,17 +49684,17 @@ │ │ type : '()Z' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 0 │ │ insns size : 3 16-bit code units │ │ -01ed18: |[01ed18] dnsfilter.android.dnsserverconfig.DNSServerConfigPresenterImpl.getIsManualDNSServers:()Z │ │ -01ed28: 5510 6a02 |0000: iget-boolean v0, v1, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.isManualDNSServers:Z // field@026a │ │ -01ed2c: 0f00 |0002: return v0 │ │ +01ed14: |[01ed14] dnsfilter.android.dnsserverconfig.DNSServerConfigPresenterImpl.getIsManualDNSServers:()Z │ │ +01ed24: 5510 6a02 |0000: iget-boolean v0, v1, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.isManualDNSServers:Z // field@026a │ │ +01ed28: 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;) │ │ @@ -49702,17 +49702,17 @@ │ │ type : '()Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 0 │ │ insns size : 3 16-bit code units │ │ -01edf4: |[01edf4] dnsfilter.android.dnsserverconfig.DNSServerConfigPresenterImpl.getListAdapter:()Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter; │ │ -01ee04: 5410 6b02 |0000: iget-object v0, v1, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.listAdapter:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter; // field@026b │ │ -01ee08: 1100 |0002: return-object v0 │ │ +01edf0: |[01edf0] dnsfilter.android.dnsserverconfig.DNSServerConfigPresenterImpl.getListAdapter:()Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter; │ │ +01ee00: 5410 6b02 |0000: iget-object v0, v1, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.listAdapter:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter; // field@026b │ │ +01ee04: 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;) │ │ @@ -49720,52 +49720,52 @@ │ │ type : '(ZLjava/lang/String;)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 4 │ │ ins : 3 │ │ outs : 3 │ │ insns size : 78 16-bit code units │ │ -01f194: |[01f194] dnsfilter.android.dnsserverconfig.DNSServerConfigPresenterImpl.onChangedEditModeValue:(ZLjava/lang/String;)V │ │ -01f1a4: 3802 3300 |0000: if-eqz v2, 0033 // +0033 │ │ -01f1a8: 2202 2d01 |0002: new-instance v2, Ljava/lang/StringBuilder; // type@012d │ │ -01f1ac: 7010 a705 0200 |0004: invoke-direct {v2}, Ljava/lang/StringBuilder;.:()V // method@05a7 │ │ -01f1b2: 1203 |0007: const/4 v3, #int 0 // #0 │ │ -01f1b4: 5410 6b02 |0008: iget-object v0, v1, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.listAdapter:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter; // field@026b │ │ -01f1b8: 6e10 e703 0000 |000a: invoke-virtual {v0}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.getObjectsCount:()I // method@03e7 │ │ -01f1be: 0a00 |000d: move-result v0 │ │ -01f1c0: d800 00ff |000e: add-int/lit8 v0, v0, #int -1 // #ff │ │ -01f1c4: 3603 1900 |0010: if-gt v3, v0, 0029 // +0019 │ │ -01f1c8: 5410 6b02 |0012: iget-object v0, v1, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.listAdapter:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter; // field@026b │ │ -01f1cc: 6e20 e403 3000 |0014: invoke-virtual {v0, v3}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.getItem:(I)Ljava/lang/Object; // method@03e4 │ │ -01f1d2: 0c00 |0017: move-result-object v0 │ │ -01f1d4: 1f00 e600 |0018: check-cast v0, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigBaseEntry; // type@00e6 │ │ -01f1d8: 6e10 7805 0000 |001a: invoke-virtual {v0}, Ljava/lang/Object;.toString:()Ljava/lang/String; // method@0578 │ │ -01f1de: 0c00 |001d: move-result-object v0 │ │ -01f1e0: 6e20 ad05 0200 |001e: invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -01f1e6: 6200 6502 |0021: sget-object v0, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.LINE_SEPARATOR:Ljava/lang/String; // field@0265 │ │ -01f1ea: 6e20 ad05 0200 |0023: invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -01f1f0: d803 0301 |0026: add-int/lit8 v3, v3, #int 1 // #01 │ │ -01f1f4: 28e0 |0028: goto 0008 // -0020 │ │ -01f1f6: 5413 6e02 |0029: iget-object v3, v1, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.view:Ldnsfilter/android/dnsserverconfig/DNSServerConfigView; // field@026e │ │ -01f1fa: 6e10 af05 0200 |002b: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ -01f200: 0c02 |002e: move-result-object v2 │ │ -01f202: 7220 b303 2300 |002f: invoke-interface {v3, v2}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigView;.showRawMode:(Ljava/lang/String;)V // method@03b3 │ │ -01f208: 281b |0032: goto 004d // +001b │ │ -01f20a: 2202 5101 |0033: new-instance v2, Ljava/util/ArrayList; // type@0151 │ │ -01f20e: 7010 1806 0200 |0035: invoke-direct {v2}, Ljava/util/ArrayList;.:()V // method@0618 │ │ -01f214: 7030 a903 3102 |0038: invoke-direct {v1, v3, v2}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.rawEntriesToDNSServerEntries:(Ljava/lang/String;Ljava/util/ArrayList;)Z // method@03a9 │ │ -01f21a: 0a03 |003b: move-result v3 │ │ -01f21c: 3803 1100 |003c: if-eqz v3, 004d // +0011 │ │ -01f220: 5413 6b02 |003e: iget-object v3, v1, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.listAdapter:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter; // field@026b │ │ -01f224: 6e10 dd03 0300 |0040: invoke-virtual {v3}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.clear:()V // method@03dd │ │ -01f22a: 5413 6b02 |0043: iget-object v3, v1, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.listAdapter:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter; // field@026b │ │ -01f22e: 6e20 db03 2300 |0045: invoke-virtual {v3, v2}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.addAll:(Ljava/util/Collection;)V // method@03db │ │ -01f234: 5412 6e02 |0048: iget-object v2, v1, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.view:Ldnsfilter/android/dnsserverconfig/DNSServerConfigView; // field@026e │ │ -01f238: 7210 b103 0200 |004a: invoke-interface {v2}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigView;.resetToDefaultMode:()V // method@03b1 │ │ -01f23e: 0e00 |004d: return-void │ │ +01f190: |[01f190] dnsfilter.android.dnsserverconfig.DNSServerConfigPresenterImpl.onChangedEditModeValue:(ZLjava/lang/String;)V │ │ +01f1a0: 3802 3300 |0000: if-eqz v2, 0033 // +0033 │ │ +01f1a4: 2202 2d01 |0002: new-instance v2, Ljava/lang/StringBuilder; // type@012d │ │ +01f1a8: 7010 a705 0200 |0004: invoke-direct {v2}, Ljava/lang/StringBuilder;.:()V // method@05a7 │ │ +01f1ae: 1203 |0007: const/4 v3, #int 0 // #0 │ │ +01f1b0: 5410 6b02 |0008: iget-object v0, v1, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.listAdapter:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter; // field@026b │ │ +01f1b4: 6e10 e703 0000 |000a: invoke-virtual {v0}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.getObjectsCount:()I // method@03e7 │ │ +01f1ba: 0a00 |000d: move-result v0 │ │ +01f1bc: d800 00ff |000e: add-int/lit8 v0, v0, #int -1 // #ff │ │ +01f1c0: 3603 1900 |0010: if-gt v3, v0, 0029 // +0019 │ │ +01f1c4: 5410 6b02 |0012: iget-object v0, v1, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.listAdapter:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter; // field@026b │ │ +01f1c8: 6e20 e403 3000 |0014: invoke-virtual {v0, v3}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.getItem:(I)Ljava/lang/Object; // method@03e4 │ │ +01f1ce: 0c00 |0017: move-result-object v0 │ │ +01f1d0: 1f00 e600 |0018: check-cast v0, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigBaseEntry; // type@00e6 │ │ +01f1d4: 6e10 7805 0000 |001a: invoke-virtual {v0}, Ljava/lang/Object;.toString:()Ljava/lang/String; // method@0578 │ │ +01f1da: 0c00 |001d: move-result-object v0 │ │ +01f1dc: 6e20 ad05 0200 |001e: invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +01f1e2: 6200 6502 |0021: sget-object v0, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.LINE_SEPARATOR:Ljava/lang/String; // field@0265 │ │ +01f1e6: 6e20 ad05 0200 |0023: invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +01f1ec: d803 0301 |0026: add-int/lit8 v3, v3, #int 1 // #01 │ │ +01f1f0: 28e0 |0028: goto 0008 // -0020 │ │ +01f1f2: 5413 6e02 |0029: iget-object v3, v1, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.view:Ldnsfilter/android/dnsserverconfig/DNSServerConfigView; // field@026e │ │ +01f1f6: 6e10 af05 0200 |002b: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ +01f1fc: 0c02 |002e: move-result-object v2 │ │ +01f1fe: 7220 b303 2300 |002f: invoke-interface {v3, v2}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigView;.showRawMode:(Ljava/lang/String;)V // method@03b3 │ │ +01f204: 281b |0032: goto 004d // +001b │ │ +01f206: 2202 5101 |0033: new-instance v2, Ljava/util/ArrayList; // type@0151 │ │ +01f20a: 7010 1806 0200 |0035: invoke-direct {v2}, Ljava/util/ArrayList;.:()V // method@0618 │ │ +01f210: 7030 a903 3102 |0038: invoke-direct {v1, v3, v2}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.rawEntriesToDNSServerEntries:(Ljava/lang/String;Ljava/util/ArrayList;)Z // method@03a9 │ │ +01f216: 0a03 |003b: move-result v3 │ │ +01f218: 3803 1100 |003c: if-eqz v3, 004d // +0011 │ │ +01f21c: 5413 6b02 |003e: iget-object v3, v1, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.listAdapter:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter; // field@026b │ │ +01f220: 6e10 dd03 0300 |0040: invoke-virtual {v3}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.clear:()V // method@03dd │ │ +01f226: 5413 6b02 |0043: iget-object v3, v1, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.listAdapter:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter; // field@026b │ │ +01f22a: 6e20 db03 2300 |0045: invoke-virtual {v3, v2}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.addAll:(Ljava/util/Collection;)V // method@03db │ │ +01f230: 5412 6e02 |0048: iget-object v2, v1, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.view:Ldnsfilter/android/dnsserverconfig/DNSServerConfigView; // field@026e │ │ +01f234: 7210 b103 0200 |004a: invoke-interface {v2}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigView;.resetToDefaultMode:()V // method@03b1 │ │ +01f23a: 0e00 |004d: return-void │ │ catches : (none) │ │ positions : │ │ 0x0002 line=138 │ │ 0x0008 line=139 │ │ 0x0012 line=140 │ │ 0x0029 line=142 │ │ 0x0033 line=144 │ │ @@ -49783,17 +49783,17 @@ │ │ type : '(Z)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 2 │ │ outs : 0 │ │ insns size : 3 16-bit code units │ │ -01f240: |[01f240] dnsfilter.android.dnsserverconfig.DNSServerConfigPresenterImpl.onChangedManualDNSServers:(Z)V │ │ -01f250: 5c01 6a02 |0000: iput-boolean v1, v0, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.isManualDNSServers:Z // field@026a │ │ -01f254: 0e00 |0002: return-void │ │ +01f23c: |[01f23c] dnsfilter.android.dnsserverconfig.DNSServerConfigPresenterImpl.onChangedManualDNSServers:(Z)V │ │ +01f24c: 5c01 6a02 |0000: iput-boolean v1, v0, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.isManualDNSServers:Z // field@026a │ │ +01f250: 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 │ │ │ │ @@ -49802,18 +49802,18 @@ │ │ type : '(Z)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 3 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 6 16-bit code units │ │ -01f258: |[01f258] dnsfilter.android.dnsserverconfig.DNSServerConfigPresenterImpl.onChangedShowCommentedLinesCheckbox:(Z)V │ │ -01f268: 5410 6b02 |0000: iget-object v0, v1, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.listAdapter:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter; // field@026b │ │ -01f26c: 6e20 dc03 2000 |0002: invoke-virtual {v0, v2}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.changeCommentedLinesVisibility:(Z)V // method@03dc │ │ -01f272: 0e00 |0005: return-void │ │ +01f254: |[01f254] dnsfilter.android.dnsserverconfig.DNSServerConfigPresenterImpl.onChangedShowCommentedLinesCheckbox:(Z)V │ │ +01f264: 5410 6b02 |0000: iget-object v0, v1, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.listAdapter:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter; // field@026b │ │ +01f268: 6e20 dc03 2000 |0002: invoke-virtual {v0, v2}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.changeCommentedLinesVisibility:(Z)V // method@03dc │ │ +01f26e: 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 │ │ │ │ @@ -49822,18 +49822,18 @@ │ │ type : '()V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 6 16-bit code units │ │ -01f274: |[01f274] dnsfilter.android.dnsserverconfig.DNSServerConfigPresenterImpl.onDestroy:()V │ │ -01f284: 5410 6d02 |0000: iget-object v0, v1, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.testTasksPool:Ljava/util/concurrent/ExecutorService; // field@026d │ │ -01f288: 7210 8506 0000 |0002: invoke-interface {v0}, Ljava/util/concurrent/ExecutorService;.shutdownNow:()Ljava/util/List; // method@0685 │ │ -01f28e: 0e00 |0005: return-void │ │ +01f270: |[01f270] dnsfilter.android.dnsserverconfig.DNSServerConfigPresenterImpl.onDestroy:()V │ │ +01f280: 5410 6d02 |0000: iget-object v0, v1, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.testTasksPool:Ljava/util/concurrent/ExecutorService; // field@026d │ │ +01f284: 7210 8506 0000 |0002: invoke-interface {v0}, Ljava/util/concurrent/ExecutorService;.shutdownNow:()Ljava/util/List; // method@0685 │ │ +01f28a: 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;) │ │ @@ -49841,51 +49841,51 @@ │ │ type : '()V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 4 │ │ ins : 1 │ │ outs : 3 │ │ insns size : 75 16-bit code units │ │ -01f290: |[01f290] dnsfilter.android.dnsserverconfig.DNSServerConfigPresenterImpl.resetDNSConfigToDefault:()V │ │ -01f2a0: 7010 ab03 0300 |0000: invoke-direct {v3}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.readDefaultDNSConfig:()Ljava/util/Properties; // method@03ab │ │ -01f2a6: 0c00 |0003: move-result-object v0 │ │ -01f2a8: 1a01 de06 |0004: const-string v1, "fallbackDNS" // string@06de │ │ -01f2ac: 1a02 0000 |0006: const-string v2, "" // string@0000 │ │ -01f2b0: 6e30 5506 1002 |0008: invoke-virtual {v0, v1, v2}, Ljava/util/Properties;.getProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@0655 │ │ -01f2b6: 0c01 |000b: move-result-object v1 │ │ -01f2b8: 7110 af03 0100 |000c: invoke-static {v1}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigUtils;.formatSerializedProperties:(Ljava/lang/String;)Ljava/lang/String; // method@03af │ │ -01f2be: 0c01 |000f: move-result-object v1 │ │ -01f2c0: 7020 aa03 1300 |0010: invoke-direct {v3, v1}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.readDNSServerConfigFrom:(Ljava/lang/String;)Ljava/util/List; // method@03aa │ │ -01f2c6: 0c01 |0013: move-result-object v1 │ │ -01f2c8: 5432 6e02 |0014: iget-object v2, v3, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.view:Ldnsfilter/android/dnsserverconfig/DNSServerConfigView; // field@026e │ │ -01f2cc: 7210 b103 0200 |0016: invoke-interface {v2}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigView;.resetToDefaultMode:()V // method@03b1 │ │ -01f2d2: 5432 6b02 |0019: iget-object v2, v3, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.listAdapter:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter; // field@026b │ │ -01f2d6: 6e10 dd03 0200 |001b: invoke-virtual {v2}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.clear:()V // method@03dd │ │ -01f2dc: 5432 6b02 |001e: iget-object v2, v3, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.listAdapter:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter; // field@026b │ │ -01f2e0: 6e20 db03 1200 |0020: invoke-virtual {v2, v1}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.addAll:(Ljava/util/Collection;)V // method@03db │ │ -01f2e6: 5431 6e02 |0023: iget-object v1, v3, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.view:Ldnsfilter/android/dnsserverconfig/DNSServerConfigView; // field@026e │ │ -01f2ea: 1a02 2b01 |0025: const-string v2, "DNS configuration is is reset to default" // string@012b │ │ -01f2ee: 7220 b503 2100 |0027: invoke-interface {v1, v2}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigView;.showToast:(Ljava/lang/String;)V // method@03b5 │ │ -01f2f4: 1a01 5e06 |002a: const-string v1, "detectDNS" // string@065e │ │ -01f2f8: 1a02 420b |002c: const-string v2, "true" // string@0b42 │ │ -01f2fc: 6e30 5506 1002 |002e: invoke-virtual {v0, v1, v2}, Ljava/util/Properties;.getProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@0655 │ │ -01f302: 0c00 |0031: move-result-object v0 │ │ -01f304: 7110 4b05 0000 |0032: invoke-static {v0}, Ljava/lang/Boolean;.parseBoolean:(Ljava/lang/String;)Z // method@054b │ │ -01f30a: 0a00 |0035: move-result v0 │ │ -01f30c: df00 0001 |0036: xor-int/lit8 v0, v0, #int 1 // #01 │ │ -01f310: 5c30 6a02 |0038: iput-boolean v0, v3, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.isManualDNSServers:Z // field@026a │ │ -01f314: 5431 6e02 |003a: iget-object v1, v3, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.view:Ldnsfilter/android/dnsserverconfig/DNSServerConfigView; // field@026e │ │ -01f318: 7220 b203 0100 |003c: invoke-interface {v1, v0}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigView;.setManualDNSServers:(Z)V // method@03b2 │ │ -01f31e: 280b |003f: goto 004a // +000b │ │ -01f320: 0d00 |0040: move-exception v0 │ │ -01f322: 5431 6e02 |0041: iget-object v1, v3, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.view:Ldnsfilter/android/dnsserverconfig/DNSServerConfigView; // field@026e │ │ -01f326: 6e10 5b05 0000 |0043: invoke-virtual {v0}, Ljava/lang/Exception;.getMessage:()Ljava/lang/String; // method@055b │ │ -01f32c: 0c00 |0046: move-result-object v0 │ │ -01f32e: 7220 b503 0100 |0047: invoke-interface {v1, v0}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigView;.showToast:(Ljava/lang/String;)V // method@03b5 │ │ -01f334: 0e00 |004a: return-void │ │ +01f28c: |[01f28c] dnsfilter.android.dnsserverconfig.DNSServerConfigPresenterImpl.resetDNSConfigToDefault:()V │ │ +01f29c: 7010 ab03 0300 |0000: invoke-direct {v3}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.readDefaultDNSConfig:()Ljava/util/Properties; // method@03ab │ │ +01f2a2: 0c00 |0003: move-result-object v0 │ │ +01f2a4: 1a01 de06 |0004: const-string v1, "fallbackDNS" // string@06de │ │ +01f2a8: 1a02 0000 |0006: const-string v2, "" // string@0000 │ │ +01f2ac: 6e30 5506 1002 |0008: invoke-virtual {v0, v1, v2}, Ljava/util/Properties;.getProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@0655 │ │ +01f2b2: 0c01 |000b: move-result-object v1 │ │ +01f2b4: 7110 af03 0100 |000c: invoke-static {v1}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigUtils;.formatSerializedProperties:(Ljava/lang/String;)Ljava/lang/String; // method@03af │ │ +01f2ba: 0c01 |000f: move-result-object v1 │ │ +01f2bc: 7020 aa03 1300 |0010: invoke-direct {v3, v1}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.readDNSServerConfigFrom:(Ljava/lang/String;)Ljava/util/List; // method@03aa │ │ +01f2c2: 0c01 |0013: move-result-object v1 │ │ +01f2c4: 5432 6e02 |0014: iget-object v2, v3, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.view:Ldnsfilter/android/dnsserverconfig/DNSServerConfigView; // field@026e │ │ +01f2c8: 7210 b103 0200 |0016: invoke-interface {v2}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigView;.resetToDefaultMode:()V // method@03b1 │ │ +01f2ce: 5432 6b02 |0019: iget-object v2, v3, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.listAdapter:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter; // field@026b │ │ +01f2d2: 6e10 dd03 0200 |001b: invoke-virtual {v2}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.clear:()V // method@03dd │ │ +01f2d8: 5432 6b02 |001e: iget-object v2, v3, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.listAdapter:Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter; // field@026b │ │ +01f2dc: 6e20 db03 1200 |0020: invoke-virtual {v2, v1}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.addAll:(Ljava/util/Collection;)V // method@03db │ │ +01f2e2: 5431 6e02 |0023: iget-object v1, v3, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.view:Ldnsfilter/android/dnsserverconfig/DNSServerConfigView; // field@026e │ │ +01f2e6: 1a02 2b01 |0025: const-string v2, "DNS configuration is is reset to default" // string@012b │ │ +01f2ea: 7220 b503 2100 |0027: invoke-interface {v1, v2}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigView;.showToast:(Ljava/lang/String;)V // method@03b5 │ │ +01f2f0: 1a01 5e06 |002a: const-string v1, "detectDNS" // string@065e │ │ +01f2f4: 1a02 420b |002c: const-string v2, "true" // string@0b42 │ │ +01f2f8: 6e30 5506 1002 |002e: invoke-virtual {v0, v1, v2}, Ljava/util/Properties;.getProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@0655 │ │ +01f2fe: 0c00 |0031: move-result-object v0 │ │ +01f300: 7110 4b05 0000 |0032: invoke-static {v0}, Ljava/lang/Boolean;.parseBoolean:(Ljava/lang/String;)Z // method@054b │ │ +01f306: 0a00 |0035: move-result v0 │ │ +01f308: df00 0001 |0036: xor-int/lit8 v0, v0, #int 1 // #01 │ │ +01f30c: 5c30 6a02 |0038: iput-boolean v0, v3, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.isManualDNSServers:Z // field@026a │ │ +01f310: 5431 6e02 |003a: iget-object v1, v3, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.view:Ldnsfilter/android/dnsserverconfig/DNSServerConfigView; // field@026e │ │ +01f314: 7220 b203 0100 |003c: invoke-interface {v1, v0}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigView;.setManualDNSServers:(Z)V // method@03b2 │ │ +01f31a: 280b |003f: goto 004a // +000b │ │ +01f31c: 0d00 |0040: move-exception v0 │ │ +01f31e: 5431 6e02 |0041: iget-object v1, v3, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.view:Ldnsfilter/android/dnsserverconfig/DNSServerConfigView; // field@026e │ │ +01f322: 6e10 5b05 0000 |0043: invoke-virtual {v0}, Ljava/lang/Exception;.getMessage:()Ljava/lang/String; // method@055b │ │ +01f328: 0c00 |0046: move-result-object v0 │ │ +01f32a: 7220 b503 0100 |0047: invoke-interface {v1, v0}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigView;.showToast:(Ljava/lang/String;)V // method@03b5 │ │ +01f330: 0e00 |004a: return-void │ │ catches : 1 │ │ 0x0000 - 0x003f │ │ Ljava/lang/Exception; -> 0x0040 │ │ positions : │ │ 0x0000 line=119 │ │ 0x0004 line=120 │ │ 0x0008 line=121 │ │ @@ -49905,33 +49905,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 │ │ -01f348: |[01f348] dnsfilter.android.dnsserverconfig.DNSServerConfigPresenterImpl.saveState:(Landroid/os/Bundle;ZLjava/lang/String;Z)V │ │ -01f358: 1a00 5e06 |0000: const-string v0, "detectDNS" // string@065e │ │ -01f35c: 5521 6a02 |0002: iget-boolean v1, v2, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.isManualDNSServers:Z // field@026a │ │ -01f360: 6e30 8000 0301 |0004: invoke-virtual {v3, v0, v1}, Landroid/os/Bundle;.putBoolean:(Ljava/lang/String;Z)V // method@0080 │ │ -01f366: 1a00 7708 |0007: const-string v0, "isRadModeDNS" // string@0877 │ │ -01f36a: 1a01 de06 |0009: const-string v1, "fallbackDNS" // string@06de │ │ -01f36e: 3804 0a00 |000b: if-eqz v4, 0015 // +000a │ │ -01f372: 6e30 8100 1305 |000d: invoke-virtual {v3, v1, v5}, Landroid/os/Bundle;.putString:(Ljava/lang/String;Ljava/lang/String;)V // method@0081 │ │ -01f378: 1214 |0010: const/4 v4, #int 1 // #1 │ │ -01f37a: 6e30 8000 0304 |0011: invoke-virtual {v3, v0, v4}, Landroid/os/Bundle;.putBoolean:(Ljava/lang/String;Z)V // method@0080 │ │ -01f380: 280c |0014: goto 0020 // +000c │ │ -01f382: 7010 9f03 0200 |0015: invoke-direct {v2}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.DNSServerEntriesToRawEntries:()Ljava/lang/String; // method@039f │ │ -01f388: 0c04 |0018: move-result-object v4 │ │ -01f38a: 6e30 8100 1304 |0019: invoke-virtual {v3, v1, v4}, Landroid/os/Bundle;.putString:(Ljava/lang/String;Ljava/lang/String;)V // method@0081 │ │ -01f390: 1204 |001c: const/4 v4, #int 0 // #0 │ │ -01f392: 6e30 8000 0304 |001d: invoke-virtual {v3, v0, v4}, Landroid/os/Bundle;.putBoolean:(Ljava/lang/String;Z)V // method@0080 │ │ -01f398: 1a04 c90a |0020: const-string v4, "showCommentedLines" // string@0ac9 │ │ -01f39c: 6e30 8000 4306 |0022: invoke-virtual {v3, v4, v6}, Landroid/os/Bundle;.putBoolean:(Ljava/lang/String;Z)V // method@0080 │ │ -01f3a2: 0e00 |0025: return-void │ │ +01f344: |[01f344] dnsfilter.android.dnsserverconfig.DNSServerConfigPresenterImpl.saveState:(Landroid/os/Bundle;ZLjava/lang/String;Z)V │ │ +01f354: 1a00 5e06 |0000: const-string v0, "detectDNS" // string@065e │ │ +01f358: 5521 6a02 |0002: iget-boolean v1, v2, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.isManualDNSServers:Z // field@026a │ │ +01f35c: 6e30 8000 0301 |0004: invoke-virtual {v3, v0, v1}, Landroid/os/Bundle;.putBoolean:(Ljava/lang/String;Z)V // method@0080 │ │ +01f362: 1a00 7708 |0007: const-string v0, "isRadModeDNS" // string@0877 │ │ +01f366: 1a01 de06 |0009: const-string v1, "fallbackDNS" // string@06de │ │ +01f36a: 3804 0a00 |000b: if-eqz v4, 0015 // +000a │ │ +01f36e: 6e30 8100 1305 |000d: invoke-virtual {v3, v1, v5}, Landroid/os/Bundle;.putString:(Ljava/lang/String;Ljava/lang/String;)V // method@0081 │ │ +01f374: 1214 |0010: const/4 v4, #int 1 // #1 │ │ +01f376: 6e30 8000 0304 |0011: invoke-virtual {v3, v0, v4}, Landroid/os/Bundle;.putBoolean:(Ljava/lang/String;Z)V // method@0080 │ │ +01f37c: 280c |0014: goto 0020 // +000c │ │ +01f37e: 7010 9f03 0200 |0015: invoke-direct {v2}, Ldnsfilter/android/dnsserverconfig/DNSServerConfigPresenterImpl;.DNSServerEntriesToRawEntries:()Ljava/lang/String; // method@039f │ │ +01f384: 0c04 |0018: move-result-object v4 │ │ +01f386: 6e30 8100 1304 |0019: invoke-virtual {v3, v1, v4}, Landroid/os/Bundle;.putString:(Ljava/lang/String;Ljava/lang/String;)V // method@0081 │ │ +01f38c: 1204 |001c: const/4 v4, #int 0 // #0 │ │ +01f38e: 6e30 8000 0304 |001d: invoke-virtual {v3, v0, v4}, Landroid/os/Bundle;.putBoolean:(Ljava/lang/String;Z)V // method@0080 │ │ +01f394: 1a04 c90a |0020: const-string v4, "showCommentedLines" // string@0ac9 │ │ +01f398: 6e30 8000 4306 |0022: invoke-virtual {v3, v4, v6}, Landroid/os/Bundle;.putBoolean:(Ljava/lang/String;Z)V // method@0080 │ │ +01f39e: 0e00 |0025: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=179 │ │ 0x0007 line=180 │ │ 0x000d line=181 │ │ 0x0011 line=182 │ │ 0x0015 line=184 │ │ @@ -50014,57 +50014,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 │ │ -01ffe4: |[01ffe4] dnsfilter.android.dnsserverconfig.widget.DNSListAdapter.:(Landroid/content/Context;Ljava/util/List;Ljava/util/concurrent/ExecutorService;)V │ │ -01fff4: 1200 |0000: const/4 v0, #int 0 // #0 │ │ -01fff6: 7040 c100 4350 |0001: invoke-direct {v3, v4, v0, v5}, Landroid/widget/ArrayAdapter;.:(Landroid/content/Context;ILjava/util/List;)V // method@00c1 │ │ -01fffc: 2205 3500 |0004: new-instance v5, Landroid/os/Handler; // type@0035 │ │ -020000: 7010 8300 0500 |0006: invoke-direct {v5}, Landroid/os/Handler;.:()V // method@0083 │ │ -020006: 5b35 9502 |0009: iput-object v5, v3, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.handler:Landroid/os/Handler; // field@0295 │ │ -02000a: 2205 e200 |000b: new-instance v5, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView; // type@00e2 │ │ -02000e: 7030 1404 4503 |000d: invoke-direct {v5, v4, v3}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;.:(Landroid/content/Context;Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$EditEventsListener;)V // method@0414 │ │ -020014: 5b35 9402 |0010: iput-object v5, v3, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.dnsServerConfigEntryView:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView; // field@0294 │ │ -020018: 1405 2b00 087f |0012: const v5, #float 1.80776e+38 // #7f08002b │ │ -02001e: 6e20 3b00 5400 |0015: invoke-virtual {v4, v5}, Landroid/content/Context;.getString:(I)Ljava/lang/String; // method@003b │ │ -020024: 0c05 |0018: move-result-object v5 │ │ -020026: 5b35 9702 |0019: iput-object v5, v3, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.serverIsUnreachableMessage:Ljava/lang/String; // field@0297 │ │ -02002a: 2205 0b00 |001b: new-instance v5, Landroid/app/Dialog; // type@000b │ │ -02002e: 7020 1300 4500 |001d: invoke-direct {v5, v4}, Landroid/app/Dialog;.:(Landroid/content/Context;)V // method@0013 │ │ -020034: 5b35 9802 |0020: iput-object v5, v3, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.testResultDialog:Landroid/app/Dialog; // field@0298 │ │ -020038: 1210 |0022: const/4 v0, #int 1 // #1 │ │ -02003a: 6e20 1a00 0500 |0023: invoke-virtual {v5, v0}, Landroid/app/Dialog;.requestWindowFeature:(I)Z // method@001a │ │ -020040: 7110 a500 0400 |0026: invoke-static {v4}, Landroid/view/LayoutInflater;.from:(Landroid/content/Context;)Landroid/view/LayoutInflater; // method@00a5 │ │ -020046: 0c00 |0029: move-result-object v0 │ │ -020048: 1401 0300 067f |002a: const v1, #float 1.78117e+38 // #7f060003 │ │ -02004e: 1202 |002d: const/4 v2, #int 0 // #0 │ │ -020050: 6e30 a600 1002 |002e: invoke-virtual {v0, v1, v2}, Landroid/view/LayoutInflater;.inflate:(ILandroid/view/ViewGroup;)Landroid/view/View; // method@00a6 │ │ -020056: 0c00 |0031: move-result-object v0 │ │ -020058: 6e20 1c00 0500 |0032: invoke-virtual {v5, v0}, Landroid/app/Dialog;.setContentView:(Landroid/view/View;)V // method@001c │ │ -02005e: 1405 5400 057f |0035: const v5, #float 1.76789e+38 // #7f050054 │ │ -020064: 6e20 ac00 5000 |0038: invoke-virtual {v0, v5}, Landroid/view/View;.findViewById:(I)Landroid/view/View; // method@00ac │ │ -02006a: 0c05 |003b: move-result-object v5 │ │ -02006c: 1f05 6900 |003c: check-cast v5, Landroid/widget/ImageView; // type@0069 │ │ -020070: 5b35 9902 |003e: iput-object v5, v3, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.testResultImage:Landroid/widget/ImageView; // field@0299 │ │ -020074: 1405 5500 057f |0040: const v5, #float 1.76789e+38 // #7f050055 │ │ -02007a: 6e20 ac00 5000 |0043: invoke-virtual {v0, v5}, Landroid/view/View;.findViewById:(I)Landroid/view/View; // method@00ac │ │ -020080: 0c05 |0046: move-result-object v5 │ │ -020082: 1f05 7300 |0047: check-cast v5, Landroid/widget/TextView; // type@0073 │ │ -020086: 5b35 9a02 |0049: iput-object v5, v3, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.testResultText:Landroid/widget/TextView; // field@029a │ │ -02008a: 1505 017f |004b: const/high16 v5, #int 2130771968 // #7f01 │ │ -02008e: 7120 bf00 5400 |004d: invoke-static {v4, v5}, Landroid/view/animation/AnimationUtils;.loadAnimation:(Landroid/content/Context;I)Landroid/view/animation/Animation; // method@00bf │ │ -020094: 0c04 |0050: move-result-object v4 │ │ -020096: 5b34 9602 |0051: iput-object v4, v3, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.progressBarAnim:Landroid/view/animation/Animation; // field@0296 │ │ -02009a: 12f5 |0053: const/4 v5, #int -1 // #ff │ │ -02009c: 6e20 be00 5400 |0054: invoke-virtual {v4, v5}, Landroid/view/animation/Animation;.setRepeatCount:(I)V // method@00be │ │ -0200a2: 5b36 9b02 |0057: iput-object v6, v3, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.testTasksPool:Ljava/util/concurrent/ExecutorService; // field@029b │ │ -0200a6: 0e00 |0059: return-void │ │ +01ffe0: |[01ffe0] dnsfilter.android.dnsserverconfig.widget.DNSListAdapter.:(Landroid/content/Context;Ljava/util/List;Ljava/util/concurrent/ExecutorService;)V │ │ +01fff0: 1200 |0000: const/4 v0, #int 0 // #0 │ │ +01fff2: 7040 c100 4350 |0001: invoke-direct {v3, v4, v0, v5}, Landroid/widget/ArrayAdapter;.:(Landroid/content/Context;ILjava/util/List;)V // method@00c1 │ │ +01fff8: 2205 3500 |0004: new-instance v5, Landroid/os/Handler; // type@0035 │ │ +01fffc: 7010 8300 0500 |0006: invoke-direct {v5}, Landroid/os/Handler;.:()V // method@0083 │ │ +020002: 5b35 9502 |0009: iput-object v5, v3, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.handler:Landroid/os/Handler; // field@0295 │ │ +020006: 2205 e200 |000b: new-instance v5, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView; // type@00e2 │ │ +02000a: 7030 1404 4503 |000d: invoke-direct {v5, v4, v3}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView;.:(Landroid/content/Context;Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView$EditEventsListener;)V // method@0414 │ │ +020010: 5b35 9402 |0010: iput-object v5, v3, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.dnsServerConfigEntryView:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView; // field@0294 │ │ +020014: 1405 2b00 087f |0012: const v5, #float 1.80776e+38 // #7f08002b │ │ +02001a: 6e20 3b00 5400 |0015: invoke-virtual {v4, v5}, Landroid/content/Context;.getString:(I)Ljava/lang/String; // method@003b │ │ +020020: 0c05 |0018: move-result-object v5 │ │ +020022: 5b35 9702 |0019: iput-object v5, v3, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.serverIsUnreachableMessage:Ljava/lang/String; // field@0297 │ │ +020026: 2205 0b00 |001b: new-instance v5, Landroid/app/Dialog; // type@000b │ │ +02002a: 7020 1300 4500 |001d: invoke-direct {v5, v4}, Landroid/app/Dialog;.:(Landroid/content/Context;)V // method@0013 │ │ +020030: 5b35 9802 |0020: iput-object v5, v3, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.testResultDialog:Landroid/app/Dialog; // field@0298 │ │ +020034: 1210 |0022: const/4 v0, #int 1 // #1 │ │ +020036: 6e20 1a00 0500 |0023: invoke-virtual {v5, v0}, Landroid/app/Dialog;.requestWindowFeature:(I)Z // method@001a │ │ +02003c: 7110 a500 0400 |0026: invoke-static {v4}, Landroid/view/LayoutInflater;.from:(Landroid/content/Context;)Landroid/view/LayoutInflater; // method@00a5 │ │ +020042: 0c00 |0029: move-result-object v0 │ │ +020044: 1401 0300 067f |002a: const v1, #float 1.78117e+38 // #7f060003 │ │ +02004a: 1202 |002d: const/4 v2, #int 0 // #0 │ │ +02004c: 6e30 a600 1002 |002e: invoke-virtual {v0, v1, v2}, Landroid/view/LayoutInflater;.inflate:(ILandroid/view/ViewGroup;)Landroid/view/View; // method@00a6 │ │ +020052: 0c00 |0031: move-result-object v0 │ │ +020054: 6e20 1c00 0500 |0032: invoke-virtual {v5, v0}, Landroid/app/Dialog;.setContentView:(Landroid/view/View;)V // method@001c │ │ +02005a: 1405 5400 057f |0035: const v5, #float 1.76789e+38 // #7f050054 │ │ +020060: 6e20 ac00 5000 |0038: invoke-virtual {v0, v5}, Landroid/view/View;.findViewById:(I)Landroid/view/View; // method@00ac │ │ +020066: 0c05 |003b: move-result-object v5 │ │ +020068: 1f05 6900 |003c: check-cast v5, Landroid/widget/ImageView; // type@0069 │ │ +02006c: 5b35 9902 |003e: iput-object v5, v3, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.testResultImage:Landroid/widget/ImageView; // field@0299 │ │ +020070: 1405 5500 057f |0040: const v5, #float 1.76789e+38 // #7f050055 │ │ +020076: 6e20 ac00 5000 |0043: invoke-virtual {v0, v5}, Landroid/view/View;.findViewById:(I)Landroid/view/View; // method@00ac │ │ +02007c: 0c05 |0046: move-result-object v5 │ │ +02007e: 1f05 7300 |0047: check-cast v5, Landroid/widget/TextView; // type@0073 │ │ +020082: 5b35 9a02 |0049: iput-object v5, v3, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.testResultText:Landroid/widget/TextView; // field@029a │ │ +020086: 1505 017f |004b: const/high16 v5, #int 2130771968 // #7f01 │ │ +02008a: 7120 bf00 5400 |004d: invoke-static {v4, v5}, Landroid/view/animation/AnimationUtils;.loadAnimation:(Landroid/content/Context;I)Landroid/view/animation/Animation; // method@00bf │ │ +020090: 0c04 |0050: move-result-object v4 │ │ +020092: 5b34 9602 |0051: iput-object v4, v3, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.progressBarAnim:Landroid/view/animation/Animation; // field@0296 │ │ +020096: 12f5 |0053: const/4 v5, #int -1 // #ff │ │ +020098: 6e20 be00 5400 |0054: invoke-virtual {v4, v5}, Landroid/view/animation/Animation;.setRepeatCount:(I)V // method@00be │ │ +02009e: 5b36 9b02 |0057: iput-object v6, v3, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.testTasksPool:Ljava/util/concurrent/ExecutorService; // field@029b │ │ +0200a2: 0e00 |0059: return-void │ │ catches : (none) │ │ positions : │ │ 0x0001 line=50 │ │ 0x0004 line=45 │ │ 0x000b line=52 │ │ 0x0015 line=53 │ │ 0x001b line=55 │ │ @@ -50088,17 +50088,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 │ │ -01ff24: |[01ff24] dnsfilter.android.dnsserverconfig.widget.DNSListAdapter.access$000:(Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;)Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView; │ │ -01ff34: 5400 9402 |0000: iget-object v0, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.dnsServerConfigEntryView:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView; // field@0294 │ │ -01ff38: 1100 |0002: return-object v0 │ │ +01ff20: |[01ff20] dnsfilter.android.dnsserverconfig.widget.DNSListAdapter.access$000:(Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;)Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView; │ │ +01ff30: 5400 9402 |0000: iget-object v0, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.dnsServerConfigEntryView:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryView; // field@0294 │ │ +01ff34: 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;) │ │ @@ -50106,17 +50106,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 │ │ -01fc38: |[01fc38] dnsfilter.android.dnsserverconfig.widget.DNSListAdapter.access$200:(Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;)Landroid/os/Handler; │ │ -01fc48: 5400 9502 |0000: iget-object v0, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.handler:Landroid/os/Handler; // field@0295 │ │ -01fc4c: 1100 |0002: return-object v0 │ │ +01fc34: |[01fc34] dnsfilter.android.dnsserverconfig.widget.DNSListAdapter.access$200:(Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;)Landroid/os/Handler; │ │ +01fc44: 5400 9502 |0000: iget-object v0, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.handler:Landroid/os/Handler; // field@0295 │ │ +01fc48: 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;) │ │ @@ -50124,17 +50124,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 │ │ -01ffb4: |[01ffb4] dnsfilter.android.dnsserverconfig.widget.DNSListAdapter.access$300:(Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;)Ljava/lang/String; │ │ -01ffc4: 5400 9702 |0000: iget-object v0, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.serverIsUnreachableMessage:Ljava/lang/String; // field@0297 │ │ -01ffc8: 1100 |0002: return-object v0 │ │ +01ffb0: |[01ffb0] dnsfilter.android.dnsserverconfig.widget.DNSListAdapter.access$300:(Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;)Ljava/lang/String; │ │ +01ffc0: 5400 9702 |0000: iget-object v0, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.serverIsUnreachableMessage:Ljava/lang/String; // field@0297 │ │ +01ffc4: 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;) │ │ @@ -50142,17 +50142,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 │ │ -01ffcc: |[01ffcc] dnsfilter.android.dnsserverconfig.widget.DNSListAdapter.access$400:(Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;)Ljava/util/concurrent/ExecutorService; │ │ -01ffdc: 5400 9b02 |0000: iget-object v0, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.testTasksPool:Ljava/util/concurrent/ExecutorService; // field@029b │ │ -01ffe0: 1100 |0002: return-object v0 │ │ +01ffc8: |[01ffc8] dnsfilter.android.dnsserverconfig.widget.DNSListAdapter.access$400:(Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;)Ljava/util/concurrent/ExecutorService; │ │ +01ffd8: 5400 9b02 |0000: iget-object v0, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.testTasksPool:Ljava/util/concurrent/ExecutorService; // field@029b │ │ +01ffdc: 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;) │ │ @@ -50160,17 +50160,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 │ │ -01fef4: |[01fef4] dnsfilter.android.dnsserverconfig.widget.DNSListAdapter.access$500:(Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;)Landroid/widget/ImageView; │ │ -01ff04: 5400 9902 |0000: iget-object v0, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.testResultImage:Landroid/widget/ImageView; // field@0299 │ │ -01ff08: 1100 |0002: return-object v0 │ │ +01fef0: |[01fef0] dnsfilter.android.dnsserverconfig.widget.DNSListAdapter.access$500:(Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;)Landroid/widget/ImageView; │ │ +01ff00: 5400 9902 |0000: iget-object v0, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.testResultImage:Landroid/widget/ImageView; // field@0299 │ │ +01ff04: 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;) │ │ @@ -50178,17 +50178,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 │ │ -01ff0c: |[01ff0c] dnsfilter.android.dnsserverconfig.widget.DNSListAdapter.access$600:(Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;)Landroid/widget/TextView; │ │ -01ff1c: 5400 9a02 |0000: iget-object v0, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.testResultText:Landroid/widget/TextView; // field@029a │ │ -01ff20: 1100 |0002: return-object v0 │ │ +01ff08: |[01ff08] dnsfilter.android.dnsserverconfig.widget.DNSListAdapter.access$600:(Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;)Landroid/widget/TextView; │ │ +01ff18: 5400 9a02 |0000: iget-object v0, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.testResultText:Landroid/widget/TextView; // field@029a │ │ +01ff1c: 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;) │ │ @@ -50196,17 +50196,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 │ │ -01fc20: |[01fc20] dnsfilter.android.dnsserverconfig.widget.DNSListAdapter.access$700:(Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;)Landroid/app/Dialog; │ │ -01fc30: 5400 9802 |0000: iget-object v0, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.testResultDialog:Landroid/app/Dialog; // field@0298 │ │ -01fc34: 1100 |0002: return-object v0 │ │ +01fc1c: |[01fc1c] dnsfilter.android.dnsserverconfig.widget.DNSListAdapter.access$700:(Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;)Landroid/app/Dialog; │ │ +01fc2c: 5400 9802 |0000: iget-object v0, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.testResultDialog:Landroid/app/Dialog; // field@0298 │ │ +01fc30: 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;) │ │ @@ -50214,26 +50214,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 │ │ -020108: |[020108] dnsfilter.android.dnsserverconfig.widget.DNSListAdapter.findCommentEntryViews:(Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerCommentEntryViewHolder;Landroid/view/View;)V │ │ -020118: 1400 1700 057f |0000: const v0, #float 1.76788e+38 // #7f050017 │ │ -02011e: 6e20 ac00 0300 |0003: invoke-virtual {v3, v0}, Landroid/view/View;.findViewById:(I)Landroid/view/View; // method@00ac │ │ -020124: 0c00 |0006: move-result-object v0 │ │ -020126: 1f00 7300 |0007: check-cast v0, Landroid/widget/TextView; // type@0073 │ │ -02012a: 5b20 8402 |0009: iput-object v0, v2, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerCommentEntryViewHolder;.commentView:Landroid/widget/TextView; // field@0284 │ │ -02012e: 1400 1800 057f |000b: const v0, #float 1.76788e+38 // #7f050018 │ │ -020134: 6e20 ac00 0300 |000e: invoke-virtual {v3, v0}, Landroid/view/View;.findViewById:(I)Landroid/view/View; // method@00ac │ │ -02013a: 0c03 |0011: move-result-object v3 │ │ -02013c: 1f03 5900 |0012: check-cast v3, Landroid/view/ViewGroup; // type@0059 │ │ -020140: 5b23 8502 |0014: iput-object v3, v2, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerCommentEntryViewHolder;.containter:Landroid/view/ViewGroup; // field@0285 │ │ -020144: 0e00 |0016: return-void │ │ +020104: |[020104] dnsfilter.android.dnsserverconfig.widget.DNSListAdapter.findCommentEntryViews:(Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerCommentEntryViewHolder;Landroid/view/View;)V │ │ +020114: 1400 1700 057f |0000: const v0, #float 1.76788e+38 // #7f050017 │ │ +02011a: 6e20 ac00 0300 |0003: invoke-virtual {v3, v0}, Landroid/view/View;.findViewById:(I)Landroid/view/View; // method@00ac │ │ +020120: 0c00 |0006: move-result-object v0 │ │ +020122: 1f00 7300 |0007: check-cast v0, Landroid/widget/TextView; // type@0073 │ │ +020126: 5b20 8402 |0009: iput-object v0, v2, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerCommentEntryViewHolder;.commentView:Landroid/widget/TextView; // field@0284 │ │ +02012a: 1400 1800 057f |000b: const v0, #float 1.76788e+38 // #7f050018 │ │ +020130: 6e20 ac00 0300 |000e: invoke-virtual {v3, v0}, Landroid/view/View;.findViewById:(I)Landroid/view/View; // method@00ac │ │ +020136: 0c03 |0011: move-result-object v3 │ │ +020138: 1f03 5900 |0012: check-cast v3, Landroid/view/ViewGroup; // type@0059 │ │ +02013c: 5b23 8502 |0014: iput-object v3, v2, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerCommentEntryViewHolder;.containter:Landroid/view/ViewGroup; // field@0285 │ │ +020140: 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; │ │ @@ -50244,68 +50244,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 │ │ -020148: |[020148] dnsfilter.android.dnsserverconfig.widget.DNSListAdapter.findEntryViews:(Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;Landroid/view/View;)V │ │ -020158: 1400 1800 057f |0000: const v0, #float 1.76788e+38 // #7f050018 │ │ -02015e: 6e20 ac00 0300 |0003: invoke-virtual {v3, v0}, Landroid/view/View;.findViewById:(I)Landroid/view/View; // method@00ac │ │ -020164: 0c00 |0006: move-result-object v0 │ │ -020166: 1f00 6d00 |0007: check-cast v0, Landroid/widget/RelativeLayout; // type@006d │ │ -02016a: 5b20 8e02 |0009: iput-object v0, v2, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.root:Landroid/widget/RelativeLayout; // field@028e │ │ -02016e: 1400 4900 057f |000b: const v0, #float 1.76789e+38 // #7f050049 │ │ -020174: 6e20 ac00 0300 |000e: invoke-virtual {v3, v0}, Landroid/view/View;.findViewById:(I)Landroid/view/View; // method@00ac │ │ -02017a: 0c00 |0011: move-result-object v0 │ │ -02017c: 1f00 7300 |0012: check-cast v0, Landroid/widget/TextView; // type@0073 │ │ -020180: 5b20 8d02 |0014: iput-object v0, v2, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.protocolView:Landroid/widget/TextView; // field@028d │ │ -020184: 1400 3500 057f |0016: const v0, #float 1.76788e+38 // #7f050035 │ │ -02018a: 6e20 ac00 0300 |0019: invoke-virtual {v3, v0}, Landroid/view/View;.findViewById:(I)Landroid/view/View; // method@00ac │ │ -020190: 0c00 |001c: move-result-object v0 │ │ -020192: 1f00 7300 |001d: check-cast v0, Landroid/widget/TextView; // type@0073 │ │ -020196: 5b20 8902 |001f: iput-object v0, v2, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.ipView:Landroid/widget/TextView; // field@0289 │ │ -02019a: 1400 4800 057f |0021: const v0, #float 1.76789e+38 // #7f050048 │ │ -0201a0: 6e20 ac00 0300 |0024: invoke-virtual {v3, v0}, Landroid/view/View;.findViewById:(I)Landroid/view/View; // method@00ac │ │ -0201a6: 0c00 |0027: move-result-object v0 │ │ -0201a8: 1f00 7300 |0028: check-cast v0, Landroid/widget/TextView; // type@0073 │ │ -0201ac: 5b20 8b02 |002a: iput-object v0, v2, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.portView:Landroid/widget/TextView; // field@028b │ │ -0201b0: 1400 2100 057f |002c: const v0, #float 1.76788e+38 // #7f050021 │ │ -0201b6: 6e20 ac00 0300 |002f: invoke-virtual {v3, v0}, Landroid/view/View;.findViewById:(I)Landroid/view/View; // method@00ac │ │ -0201bc: 0c00 |0032: move-result-object v0 │ │ -0201be: 1f00 6800 |0033: check-cast v0, Landroid/widget/ImageButton; // type@0068 │ │ -0201c2: 5b20 8802 |0035: iput-object v0, v2, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.editEntryButton:Landroid/widget/ImageButton; // field@0288 │ │ -0201c6: 1400 3600 057f |0037: const v0, #float 1.76788e+38 // #7f050036 │ │ -0201cc: 6e20 ac00 0300 |003a: invoke-virtual {v3, v0}, Landroid/view/View;.findViewById:(I)Landroid/view/View; // method@00ac │ │ -0201d2: 0c00 |003d: move-result-object v0 │ │ -0201d4: 1f00 6400 |003e: check-cast v0, Landroid/widget/CheckBox; // type@0064 │ │ -0201d8: 5b20 8a02 |0040: iput-object v0, v2, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.isActiveEntryCheckbox:Landroid/widget/CheckBox; // field@028a │ │ -0201dc: 1400 5e00 057f |0042: const v0, #float 1.76789e+38 // #7f05005e │ │ -0201e2: 6e20 ac00 0300 |0045: invoke-virtual {v3, v0}, Landroid/view/View;.findViewById:(I)Landroid/view/View; // method@00ac │ │ -0201e8: 0c00 |0048: move-result-object v0 │ │ -0201ea: 1f00 6800 |0049: check-cast v0, Landroid/widget/ImageButton; // type@0068 │ │ -0201ee: 5b20 8f02 |004b: iput-object v0, v2, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.testEntryButton:Landroid/widget/ImageButton; // field@028f │ │ -0201f2: 1400 6100 057f |004d: const v0, #float 1.76789e+38 // #7f050061 │ │ -0201f8: 6e20 ac00 0300 |0050: invoke-virtual {v3, v0}, Landroid/view/View;.findViewById:(I)Landroid/view/View; // method@00ac │ │ -0201fe: 0c00 |0053: move-result-object v0 │ │ -020200: 1f00 6800 |0054: check-cast v0, Landroid/widget/ImageButton; // type@0068 │ │ -020204: 5b20 9002 |0056: iput-object v0, v2, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.testEntryProgressBar:Landroid/widget/ImageButton; // field@0290 │ │ -020208: 1400 5f00 057f |0058: const v0, #float 1.76789e+38 // #7f05005f │ │ -02020e: 6e20 ac00 0300 |005b: invoke-virtual {v3, v0}, Landroid/view/View;.findViewById:(I)Landroid/view/View; // method@00ac │ │ -020214: 0c00 |005e: move-result-object v0 │ │ -020216: 1f00 6800 |005f: check-cast v0, Landroid/widget/ImageButton; // type@0068 │ │ -02021a: 5b20 9102 |0061: iput-object v0, v2, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.testEntryResultFailure:Landroid/widget/ImageButton; // field@0291 │ │ -02021e: 1400 6000 057f |0063: const v0, #float 1.76789e+38 // #7f050060 │ │ -020224: 6e20 ac00 0300 |0066: invoke-virtual {v3, v0}, Landroid/view/View;.findViewById:(I)Landroid/view/View; // method@00ac │ │ -02022a: 0c03 |0069: move-result-object v3 │ │ -02022c: 1f03 6800 |006a: check-cast v3, Landroid/widget/ImageButton; // type@0068 │ │ -020230: 5b23 9202 |006c: iput-object v3, v2, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.testEntryResultSuccess:Landroid/widget/ImageButton; // field@0292 │ │ -020234: 5413 9602 |006e: iget-object v3, v1, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.progressBarAnim:Landroid/view/animation/Animation; // field@0296 │ │ -020238: 5b23 8c02 |0070: iput-object v3, v2, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.progressBarAnim:Landroid/view/animation/Animation; // field@028c │ │ -02023c: 0e00 |0072: return-void │ │ +020144: |[020144] dnsfilter.android.dnsserverconfig.widget.DNSListAdapter.findEntryViews:(Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;Landroid/view/View;)V │ │ +020154: 1400 1800 057f |0000: const v0, #float 1.76788e+38 // #7f050018 │ │ +02015a: 6e20 ac00 0300 |0003: invoke-virtual {v3, v0}, Landroid/view/View;.findViewById:(I)Landroid/view/View; // method@00ac │ │ +020160: 0c00 |0006: move-result-object v0 │ │ +020162: 1f00 6d00 |0007: check-cast v0, Landroid/widget/RelativeLayout; // type@006d │ │ +020166: 5b20 8e02 |0009: iput-object v0, v2, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.root:Landroid/widget/RelativeLayout; // field@028e │ │ +02016a: 1400 4900 057f |000b: const v0, #float 1.76789e+38 // #7f050049 │ │ +020170: 6e20 ac00 0300 |000e: invoke-virtual {v3, v0}, Landroid/view/View;.findViewById:(I)Landroid/view/View; // method@00ac │ │ +020176: 0c00 |0011: move-result-object v0 │ │ +020178: 1f00 7300 |0012: check-cast v0, Landroid/widget/TextView; // type@0073 │ │ +02017c: 5b20 8d02 |0014: iput-object v0, v2, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.protocolView:Landroid/widget/TextView; // field@028d │ │ +020180: 1400 3500 057f |0016: const v0, #float 1.76788e+38 // #7f050035 │ │ +020186: 6e20 ac00 0300 |0019: invoke-virtual {v3, v0}, Landroid/view/View;.findViewById:(I)Landroid/view/View; // method@00ac │ │ +02018c: 0c00 |001c: move-result-object v0 │ │ +02018e: 1f00 7300 |001d: check-cast v0, Landroid/widget/TextView; // type@0073 │ │ +020192: 5b20 8902 |001f: iput-object v0, v2, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.ipView:Landroid/widget/TextView; // field@0289 │ │ +020196: 1400 4800 057f |0021: const v0, #float 1.76789e+38 // #7f050048 │ │ +02019c: 6e20 ac00 0300 |0024: invoke-virtual {v3, v0}, Landroid/view/View;.findViewById:(I)Landroid/view/View; // method@00ac │ │ +0201a2: 0c00 |0027: move-result-object v0 │ │ +0201a4: 1f00 7300 |0028: check-cast v0, Landroid/widget/TextView; // type@0073 │ │ +0201a8: 5b20 8b02 |002a: iput-object v0, v2, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.portView:Landroid/widget/TextView; // field@028b │ │ +0201ac: 1400 2100 057f |002c: const v0, #float 1.76788e+38 // #7f050021 │ │ +0201b2: 6e20 ac00 0300 |002f: invoke-virtual {v3, v0}, Landroid/view/View;.findViewById:(I)Landroid/view/View; // method@00ac │ │ +0201b8: 0c00 |0032: move-result-object v0 │ │ +0201ba: 1f00 6800 |0033: check-cast v0, Landroid/widget/ImageButton; // type@0068 │ │ +0201be: 5b20 8802 |0035: iput-object v0, v2, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.editEntryButton:Landroid/widget/ImageButton; // field@0288 │ │ +0201c2: 1400 3600 057f |0037: const v0, #float 1.76788e+38 // #7f050036 │ │ +0201c8: 6e20 ac00 0300 |003a: invoke-virtual {v3, v0}, Landroid/view/View;.findViewById:(I)Landroid/view/View; // method@00ac │ │ +0201ce: 0c00 |003d: move-result-object v0 │ │ +0201d0: 1f00 6400 |003e: check-cast v0, Landroid/widget/CheckBox; // type@0064 │ │ +0201d4: 5b20 8a02 |0040: iput-object v0, v2, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.isActiveEntryCheckbox:Landroid/widget/CheckBox; // field@028a │ │ +0201d8: 1400 5e00 057f |0042: const v0, #float 1.76789e+38 // #7f05005e │ │ +0201de: 6e20 ac00 0300 |0045: invoke-virtual {v3, v0}, Landroid/view/View;.findViewById:(I)Landroid/view/View; // method@00ac │ │ +0201e4: 0c00 |0048: move-result-object v0 │ │ +0201e6: 1f00 6800 |0049: check-cast v0, Landroid/widget/ImageButton; // type@0068 │ │ +0201ea: 5b20 8f02 |004b: iput-object v0, v2, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.testEntryButton:Landroid/widget/ImageButton; // field@028f │ │ +0201ee: 1400 6100 057f |004d: const v0, #float 1.76789e+38 // #7f050061 │ │ +0201f4: 6e20 ac00 0300 |0050: invoke-virtual {v3, v0}, Landroid/view/View;.findViewById:(I)Landroid/view/View; // method@00ac │ │ +0201fa: 0c00 |0053: move-result-object v0 │ │ +0201fc: 1f00 6800 |0054: check-cast v0, Landroid/widget/ImageButton; // type@0068 │ │ +020200: 5b20 9002 |0056: iput-object v0, v2, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.testEntryProgressBar:Landroid/widget/ImageButton; // field@0290 │ │ +020204: 1400 5f00 057f |0058: const v0, #float 1.76789e+38 // #7f05005f │ │ +02020a: 6e20 ac00 0300 |005b: invoke-virtual {v3, v0}, Landroid/view/View;.findViewById:(I)Landroid/view/View; // method@00ac │ │ +020210: 0c00 |005e: move-result-object v0 │ │ +020212: 1f00 6800 |005f: check-cast v0, Landroid/widget/ImageButton; // type@0068 │ │ +020216: 5b20 9102 |0061: iput-object v0, v2, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.testEntryResultFailure:Landroid/widget/ImageButton; // field@0291 │ │ +02021a: 1400 6000 057f |0063: const v0, #float 1.76789e+38 // #7f050060 │ │ +020220: 6e20 ac00 0300 |0066: invoke-virtual {v3, v0}, Landroid/view/View;.findViewById:(I)Landroid/view/View; // method@00ac │ │ +020226: 0c03 |0069: move-result-object v3 │ │ +020228: 1f03 6800 |006a: check-cast v3, Landroid/widget/ImageButton; // type@0068 │ │ +02022c: 5b23 9202 |006c: iput-object v3, v2, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.testEntryResultSuccess:Landroid/widget/ImageButton; // field@0292 │ │ +020230: 5413 9602 |006e: iget-object v3, v1, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.progressBarAnim:Landroid/view/animation/Animation; // field@0296 │ │ +020234: 5b23 8c02 |0070: iput-object v3, v2, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.progressBarAnim:Landroid/view/animation/Animation; // field@028c │ │ +020238: 0e00 |0072: return-void │ │ catches : (none) │ │ positions : │ │ 0x0003 line=281 │ │ 0x000e line=282 │ │ 0x0019 line=283 │ │ 0x0024 line=284 │ │ 0x002f line=285 │ │ @@ -50325,30 +50325,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 │ │ -01fc50: |[01fc50] dnsfilter.android.dnsserverconfig.widget.DNSListAdapter.getAddButton:(Landroid/view/ViewGroup;)Landroid/view/View; │ │ -01fc60: 6e10 e203 0300 |0000: invoke-virtual {v3}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.getContext:()Landroid/content/Context; // method@03e2 │ │ -01fc66: 0c00 |0003: move-result-object v0 │ │ -01fc68: 7110 a500 0000 |0004: invoke-static {v0}, Landroid/view/LayoutInflater;.from:(Landroid/content/Context;)Landroid/view/LayoutInflater; // method@00a5 │ │ -01fc6e: 0c00 |0007: move-result-object v0 │ │ -01fc70: 1401 0700 067f |0008: const v1, #float 1.78117e+38 // #7f060007 │ │ -01fc76: 1202 |000b: const/4 v2, #int 0 // #0 │ │ -01fc78: 6e40 a700 1024 |000c: invoke-virtual {v0, v1, v4, v2}, Landroid/view/LayoutInflater;.inflate:(ILandroid/view/ViewGroup;Z)Landroid/view/View; // method@00a7 │ │ -01fc7e: 0c04 |000f: move-result-object v4 │ │ -01fc80: 1400 0700 057f |0010: const v0, #float 1.76787e+38 // #7f050007 │ │ -01fc86: 6e20 ac00 0400 |0013: invoke-virtual {v4, v0}, Landroid/view/View;.findViewById:(I)Landroid/view/View; // method@00ac │ │ -01fc8c: 0c00 |0016: move-result-object v0 │ │ -01fc8e: 2201 cc00 |0017: new-instance v1, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$1; // type@00cc │ │ -01fc92: 7020 bd03 3100 |0019: invoke-direct {v1, v3}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$1;.:(Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;)V // method@03bd │ │ -01fc98: 6e20 b200 1000 |001c: invoke-virtual {v0, v1}, Landroid/view/View;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@00b2 │ │ -01fc9e: 1104 |001f: return-object v4 │ │ +01fc4c: |[01fc4c] dnsfilter.android.dnsserverconfig.widget.DNSListAdapter.getAddButton:(Landroid/view/ViewGroup;)Landroid/view/View; │ │ +01fc5c: 6e10 e203 0300 |0000: invoke-virtual {v3}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.getContext:()Landroid/content/Context; // method@03e2 │ │ +01fc62: 0c00 |0003: move-result-object v0 │ │ +01fc64: 7110 a500 0000 |0004: invoke-static {v0}, Landroid/view/LayoutInflater;.from:(Landroid/content/Context;)Landroid/view/LayoutInflater; // method@00a5 │ │ +01fc6a: 0c00 |0007: move-result-object v0 │ │ +01fc6c: 1401 0700 067f |0008: const v1, #float 1.78117e+38 // #7f060007 │ │ +01fc72: 1202 |000b: const/4 v2, #int 0 // #0 │ │ +01fc74: 6e40 a700 1024 |000c: invoke-virtual {v0, v1, v4, v2}, Landroid/view/LayoutInflater;.inflate:(ILandroid/view/ViewGroup;Z)Landroid/view/View; // method@00a7 │ │ +01fc7a: 0c04 |000f: move-result-object v4 │ │ +01fc7c: 1400 0700 057f |0010: const v0, #float 1.76787e+38 // #7f050007 │ │ +01fc82: 6e20 ac00 0400 |0013: invoke-virtual {v4, v0}, Landroid/view/View;.findViewById:(I)Landroid/view/View; // method@00ac │ │ +01fc88: 0c00 |0016: move-result-object v0 │ │ +01fc8a: 2201 cc00 |0017: new-instance v1, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$1; // type@00cc │ │ +01fc8e: 7020 bd03 3100 |0019: invoke-direct {v1, v3}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$1;.:(Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;)V // method@03bd │ │ +01fc94: 6e20 b200 1000 |001c: invoke-virtual {v0, v1}, Landroid/view/View;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@00b2 │ │ +01fc9a: 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; │ │ @@ -50358,60 +50358,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 │ │ -01fca0: |[01fca0] dnsfilter.android.dnsserverconfig.widget.DNSListAdapter.getCommentView:(ILandroid/view/View;Landroid/view/ViewGroup;)Landroid/view/View; │ │ -01fcb0: 6e20 e403 5400 |0000: invoke-virtual {v4, v5}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.getItem:(I)Ljava/lang/Object; // method@03e4 │ │ -01fcb6: 0c05 |0003: move-result-object v5 │ │ -01fcb8: 1f05 e700 |0004: check-cast v5, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigCommentedEntry; // type@00e7 │ │ -01fcbc: 6e10 3b04 0500 |0006: invoke-virtual {v5}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigCommentedEntry;.isVisible:()Z // method@043b │ │ -01fcc2: 0a00 |0009: move-result v0 │ │ -01fcc4: 3900 0c00 |000a: if-nez v0, 0016 // +000c │ │ -01fcc8: 2205 5800 |000c: new-instance v5, Landroid/view/View; // type@0058 │ │ -01fccc: 6e10 e203 0400 |000e: invoke-virtual {v4}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.getContext:()Landroid/content/Context; // method@03e2 │ │ -01fcd2: 0c06 |0011: move-result-object v6 │ │ -01fcd4: 7020 aa00 6500 |0012: invoke-direct {v5, v6}, Landroid/view/View;.:(Landroid/content/Context;)V // method@00aa │ │ -01fcda: 1105 |0015: return-object v5 │ │ -01fcdc: 1200 |0016: const/4 v0, #int 0 // #0 │ │ -01fcde: 3806 1200 |0017: if-eqz v6, 0029 // +0012 │ │ -01fce2: 6e10 af00 0600 |0019: invoke-virtual {v6}, Landroid/view/View;.getTag:()Ljava/lang/Object; // method@00af │ │ -01fce8: 0c01 |001c: move-result-object v1 │ │ -01fcea: 2011 d500 |001d: instance-of v1, v1, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerCommentEntryViewHolder; // type@00d5 │ │ -01fcee: 3901 0300 |001f: if-nez v1, 0022 // +0003 │ │ -01fcf2: 2808 |0021: goto 0029 // +0008 │ │ -01fcf4: 6e10 af00 0600 |0022: invoke-virtual {v6}, Landroid/view/View;.getTag:()Ljava/lang/Object; // method@00af │ │ -01fcfa: 0c07 |0025: move-result-object v7 │ │ -01fcfc: 1f07 d500 |0026: check-cast v7, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerCommentEntryViewHolder; // type@00d5 │ │ -01fd00: 281b |0028: goto 0043 // +001b │ │ -01fd02: 6e10 e203 0400 |0029: invoke-virtual {v4}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.getContext:()Landroid/content/Context; // method@03e2 │ │ -01fd08: 0c06 |002c: move-result-object v6 │ │ -01fd0a: 7110 a500 0600 |002d: invoke-static {v6}, Landroid/view/LayoutInflater;.from:(Landroid/content/Context;)Landroid/view/LayoutInflater; // method@00a5 │ │ -01fd10: 0c06 |0030: move-result-object v6 │ │ -01fd12: 1401 0500 067f |0031: const v1, #float 1.78117e+38 // #7f060005 │ │ -01fd18: 6e40 a700 1607 |0034: invoke-virtual {v6, v1, v7, v0}, Landroid/view/LayoutInflater;.inflate:(ILandroid/view/ViewGroup;Z)Landroid/view/View; // method@00a7 │ │ -01fd1e: 0c06 |0037: move-result-object v6 │ │ -01fd20: 2207 d500 |0038: new-instance v7, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerCommentEntryViewHolder; // type@00d5 │ │ -01fd24: 7010 ce03 0700 |003a: invoke-direct {v7}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerCommentEntryViewHolder;.:()V // method@03ce │ │ -01fd2a: 7030 ef03 7406 |003d: invoke-direct {v4, v7, v6}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.setupNewCommentHolder:(Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerCommentEntryViewHolder;Landroid/view/View;)V // method@03ef │ │ -01fd30: 6e20 b300 7600 |0040: invoke-virtual {v6, v7}, Landroid/view/View;.setTag:(Ljava/lang/Object;)V // method@00b3 │ │ -01fd36: 5b75 8602 |0043: iput-object v5, v7, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerCommentEntryViewHolder;.dnsServerCommentEntry:Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigCommentedEntry; // field@0286 │ │ -01fd3a: 5471 8402 |0045: iget-object v1, v7, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerCommentEntryViewHolder;.commentView:Landroid/widget/TextView; // field@0284 │ │ -01fd3e: 6e10 3e04 0500 |0047: invoke-virtual {v5}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigCommentedEntry;.toString:()Ljava/lang/String; // method@043e │ │ -01fd44: 0c05 |004a: move-result-object v5 │ │ -01fd46: 1a02 3000 |004b: const-string v2, "#" // string@0030 │ │ -01fd4a: 1a03 0000 |004d: const-string v3, "" // string@0000 │ │ -01fd4e: 6e30 9505 2503 |004f: invoke-virtual {v5, v2, v3}, Ljava/lang/String;.replace:(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String; // method@0595 │ │ -01fd54: 0c05 |0052: move-result-object v5 │ │ -01fd56: 6e20 0901 5100 |0053: invoke-virtual {v1, v5}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@0109 │ │ -01fd5c: 5475 8502 |0056: iget-object v5, v7, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerCommentEntryViewHolder;.containter:Landroid/view/ViewGroup; // field@0285 │ │ -01fd60: 6e20 b600 0500 |0058: invoke-virtual {v5, v0}, Landroid/view/ViewGroup;.setEnabled:(Z)V // method@00b6 │ │ -01fd66: 1106 |005b: return-object v6 │ │ +01fc9c: |[01fc9c] dnsfilter.android.dnsserverconfig.widget.DNSListAdapter.getCommentView:(ILandroid/view/View;Landroid/view/ViewGroup;)Landroid/view/View; │ │ +01fcac: 6e20 e403 5400 |0000: invoke-virtual {v4, v5}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.getItem:(I)Ljava/lang/Object; // method@03e4 │ │ +01fcb2: 0c05 |0003: move-result-object v5 │ │ +01fcb4: 1f05 e700 |0004: check-cast v5, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigCommentedEntry; // type@00e7 │ │ +01fcb8: 6e10 3b04 0500 |0006: invoke-virtual {v5}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigCommentedEntry;.isVisible:()Z // method@043b │ │ +01fcbe: 0a00 |0009: move-result v0 │ │ +01fcc0: 3900 0c00 |000a: if-nez v0, 0016 // +000c │ │ +01fcc4: 2205 5800 |000c: new-instance v5, Landroid/view/View; // type@0058 │ │ +01fcc8: 6e10 e203 0400 |000e: invoke-virtual {v4}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.getContext:()Landroid/content/Context; // method@03e2 │ │ +01fcce: 0c06 |0011: move-result-object v6 │ │ +01fcd0: 7020 aa00 6500 |0012: invoke-direct {v5, v6}, Landroid/view/View;.:(Landroid/content/Context;)V // method@00aa │ │ +01fcd6: 1105 |0015: return-object v5 │ │ +01fcd8: 1200 |0016: const/4 v0, #int 0 // #0 │ │ +01fcda: 3806 1200 |0017: if-eqz v6, 0029 // +0012 │ │ +01fcde: 6e10 af00 0600 |0019: invoke-virtual {v6}, Landroid/view/View;.getTag:()Ljava/lang/Object; // method@00af │ │ +01fce4: 0c01 |001c: move-result-object v1 │ │ +01fce6: 2011 d500 |001d: instance-of v1, v1, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerCommentEntryViewHolder; // type@00d5 │ │ +01fcea: 3901 0300 |001f: if-nez v1, 0022 // +0003 │ │ +01fcee: 2808 |0021: goto 0029 // +0008 │ │ +01fcf0: 6e10 af00 0600 |0022: invoke-virtual {v6}, Landroid/view/View;.getTag:()Ljava/lang/Object; // method@00af │ │ +01fcf6: 0c07 |0025: move-result-object v7 │ │ +01fcf8: 1f07 d500 |0026: check-cast v7, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerCommentEntryViewHolder; // type@00d5 │ │ +01fcfc: 281b |0028: goto 0043 // +001b │ │ +01fcfe: 6e10 e203 0400 |0029: invoke-virtual {v4}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.getContext:()Landroid/content/Context; // method@03e2 │ │ +01fd04: 0c06 |002c: move-result-object v6 │ │ +01fd06: 7110 a500 0600 |002d: invoke-static {v6}, Landroid/view/LayoutInflater;.from:(Landroid/content/Context;)Landroid/view/LayoutInflater; // method@00a5 │ │ +01fd0c: 0c06 |0030: move-result-object v6 │ │ +01fd0e: 1401 0500 067f |0031: const v1, #float 1.78117e+38 // #7f060005 │ │ +01fd14: 6e40 a700 1607 |0034: invoke-virtual {v6, v1, v7, v0}, Landroid/view/LayoutInflater;.inflate:(ILandroid/view/ViewGroup;Z)Landroid/view/View; // method@00a7 │ │ +01fd1a: 0c06 |0037: move-result-object v6 │ │ +01fd1c: 2207 d500 |0038: new-instance v7, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerCommentEntryViewHolder; // type@00d5 │ │ +01fd20: 7010 ce03 0700 |003a: invoke-direct {v7}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerCommentEntryViewHolder;.:()V // method@03ce │ │ +01fd26: 7030 ef03 7406 |003d: invoke-direct {v4, v7, v6}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.setupNewCommentHolder:(Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerCommentEntryViewHolder;Landroid/view/View;)V // method@03ef │ │ +01fd2c: 6e20 b300 7600 |0040: invoke-virtual {v6, v7}, Landroid/view/View;.setTag:(Ljava/lang/Object;)V // method@00b3 │ │ +01fd32: 5b75 8602 |0043: iput-object v5, v7, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerCommentEntryViewHolder;.dnsServerCommentEntry:Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigCommentedEntry; // field@0286 │ │ +01fd36: 5471 8402 |0045: iget-object v1, v7, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerCommentEntryViewHolder;.commentView:Landroid/widget/TextView; // field@0284 │ │ +01fd3a: 6e10 3e04 0500 |0047: invoke-virtual {v5}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigCommentedEntry;.toString:()Ljava/lang/String; // method@043e │ │ +01fd40: 0c05 |004a: move-result-object v5 │ │ +01fd42: 1a02 3000 |004b: const-string v2, "#" // string@0030 │ │ +01fd46: 1a03 0000 |004d: const-string v3, "" // string@0000 │ │ +01fd4a: 6e30 9505 2503 |004f: invoke-virtual {v5, v2, v3}, Ljava/lang/String;.replace:(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String; // method@0595 │ │ +01fd50: 0c05 |0052: move-result-object v5 │ │ +01fd52: 6e20 0901 5100 |0053: invoke-virtual {v1, v5}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@0109 │ │ +01fd58: 5475 8502 |0056: iget-object v5, v7, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerCommentEntryViewHolder;.containter:Landroid/view/ViewGroup; // field@0285 │ │ +01fd5c: 6e20 b600 0500 |0058: invoke-virtual {v5, v0}, Landroid/view/ViewGroup;.setEnabled:(Z)V // method@00b6 │ │ +01fd62: 1106 |005b: return-object v6 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=136 │ │ 0x0006 line=140 │ │ 0x000c line=141 │ │ 0x0019 line=144 │ │ 0x0022 line=151 │ │ @@ -50433,85 +50433,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 │ │ -01fd68: |[01fd68] dnsfilter.android.dnsserverconfig.widget.DNSListAdapter.getItemView:(ILandroid/view/View;Landroid/view/ViewGroup;)Landroid/view/View; │ │ -01fd78: 6e20 e403 3200 |0000: invoke-virtual {v2, v3}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.getItem:(I)Ljava/lang/Object; // method@03e4 │ │ -01fd7e: 0c03 |0003: move-result-object v3 │ │ -01fd80: 1f03 e800 |0004: check-cast v3, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry; // type@00e8 │ │ -01fd84: 3804 1200 |0006: if-eqz v4, 0018 // +0012 │ │ -01fd88: 6e10 af00 0400 |0008: invoke-virtual {v4}, Landroid/view/View;.getTag:()Ljava/lang/Object; // method@00af │ │ -01fd8e: 0c00 |000b: move-result-object v0 │ │ -01fd90: 2000 d600 |000c: instance-of v0, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder; // type@00d6 │ │ -01fd94: 3900 0300 |000e: if-nez v0, 0011 // +0003 │ │ -01fd98: 2808 |0010: goto 0018 // +0008 │ │ -01fd9a: 6e10 af00 0400 |0011: invoke-virtual {v4}, Landroid/view/View;.getTag:()Ljava/lang/Object; // method@00af │ │ -01fda0: 0c05 |0014: move-result-object v5 │ │ -01fda2: 1f05 d600 |0015: check-cast v5, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder; // type@00d6 │ │ -01fda6: 281c |0017: goto 0033 // +001c │ │ -01fda8: 6e10 e203 0200 |0018: invoke-virtual {v2}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.getContext:()Landroid/content/Context; // method@03e2 │ │ -01fdae: 0c04 |001b: move-result-object v4 │ │ -01fdb0: 7110 a500 0400 |001c: invoke-static {v4}, Landroid/view/LayoutInflater;.from:(Landroid/content/Context;)Landroid/view/LayoutInflater; // method@00a5 │ │ -01fdb6: 0c04 |001f: move-result-object v4 │ │ -01fdb8: 1400 0600 067f |0020: const v0, #float 1.78117e+38 // #7f060006 │ │ -01fdbe: 1201 |0023: const/4 v1, #int 0 // #0 │ │ -01fdc0: 6e40 a700 0415 |0024: invoke-virtual {v4, v0, v5, v1}, Landroid/view/LayoutInflater;.inflate:(ILandroid/view/ViewGroup;Z)Landroid/view/View; // method@00a7 │ │ -01fdc6: 0c04 |0027: move-result-object v4 │ │ -01fdc8: 2205 d600 |0028: new-instance v5, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder; // type@00d6 │ │ -01fdcc: 7010 cf03 0500 |002a: invoke-direct {v5}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.:()V // method@03cf │ │ -01fdd2: 7030 f003 5204 |002d: invoke-direct {v2, v5, v4}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.setupNewViewHolder:(Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;Landroid/view/View;)V // method@03f0 │ │ -01fdd8: 6e20 b300 5400 |0030: invoke-virtual {v4, v5}, Landroid/view/View;.setTag:(Ljava/lang/Object;)V // method@00b3 │ │ -01fdde: 5b53 8702 |0033: iput-object v3, v5, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.dnsServerConfigEntry:Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry; // field@0287 │ │ -01fde2: 5450 8d02 |0035: iget-object v0, v5, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.protocolView:Landroid/widget/TextView; // field@028d │ │ -01fde6: 6e10 4e04 0300 |0037: invoke-virtual {v3}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.getProtocol:()Ldnsfilter/android/dnsserverconfig/widget/DNSType; // method@044e │ │ -01fdec: 0c01 |003a: move-result-object v1 │ │ -01fdee: 6e10 3204 0100 |003b: invoke-virtual {v1}, Ldnsfilter/android/dnsserverconfig/widget/DNSType;.toString:()Ljava/lang/String; // method@0432 │ │ -01fdf4: 0c01 |003e: move-result-object v1 │ │ -01fdf6: 6e20 0901 1000 |003f: invoke-virtual {v0, v1}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@0109 │ │ -01fdfc: 5450 8902 |0042: iget-object v0, v5, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.ipView:Landroid/widget/TextView; // field@0289 │ │ -01fe00: 6e10 4a04 0300 |0044: invoke-virtual {v3}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.getIp:()Ljava/lang/String; // method@044a │ │ -01fe06: 0c01 |0047: move-result-object v1 │ │ -01fe08: 6e20 0901 1000 |0048: invoke-virtual {v0, v1}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@0109 │ │ -01fe0e: 5450 8b02 |004b: iget-object v0, v5, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.portView:Landroid/widget/TextView; // field@028b │ │ -01fe12: 6e10 4d04 0300 |004d: invoke-virtual {v3}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.getPort:()Ljava/lang/String; // method@044d │ │ -01fe18: 0c01 |0050: move-result-object v1 │ │ -01fe1a: 6e20 0901 1000 |0051: invoke-virtual {v0, v1}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@0109 │ │ -01fe20: 5450 8a02 |0054: iget-object v0, v5, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.isActiveEntryCheckbox:Landroid/widget/CheckBox; // field@028a │ │ -01fe24: 2201 cb00 |0056: new-instance v1, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$$ExternalSyntheticLambda0; // type@00cb │ │ -01fe28: 7030 bb03 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@03bb │ │ -01fe2e: 6e20 cf00 1000 |005b: invoke-virtual {v0, v1}, Landroid/widget/CheckBox;.setOnCheckedChangeListener:(Landroid/widget/CompoundButton$OnCheckedChangeListener;)V // method@00cf │ │ -01fe34: 5450 8a02 |005e: iget-object v0, v5, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.isActiveEntryCheckbox:Landroid/widget/CheckBox; // field@028a │ │ -01fe38: 6e10 4b04 0300 |0060: invoke-virtual {v3}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.getIsActive:()Ljava/lang/Boolean; // method@044b │ │ -01fe3e: 0c01 |0063: move-result-object v1 │ │ -01fe40: 6e10 4905 0100 |0064: invoke-virtual {v1}, Ljava/lang/Boolean;.booleanValue:()Z // method@0549 │ │ -01fe46: 0a01 |0067: move-result v1 │ │ -01fe48: 6e20 cd00 1000 |0068: invoke-virtual {v0, v1}, Landroid/widget/CheckBox;.setChecked:(Z)V // method@00cd │ │ -01fe4e: 7110 d003 0500 |006b: invoke-static {v5}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.access$100:(Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;)V // method@03d0 │ │ -01fe54: 5450 8f02 |006e: iget-object v0, v5, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.testEntryButton:Landroid/widget/ImageButton; // field@028f │ │ -01fe58: 2201 d000 |0070: new-instance v1, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2; // type@00d0 │ │ -01fe5c: 7030 c503 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@03c5 │ │ -01fe62: 6e20 ea00 1000 |0075: invoke-virtual {v0, v1}, Landroid/widget/ImageButton;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@00ea │ │ -01fe68: 5450 9102 |0078: iget-object v0, v5, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.testEntryResultFailure:Landroid/widget/ImageButton; // field@0291 │ │ -01fe6c: 2201 d100 |007a: new-instance v1, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$3; // type@00d1 │ │ -01fe70: 7040 c703 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@03c7 │ │ -01fe76: 6e20 ea00 1000 |007f: invoke-virtual {v0, v1}, Landroid/widget/ImageButton;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@00ea │ │ -01fe7c: 5450 9202 |0082: iget-object v0, v5, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.testEntryResultSuccess:Landroid/widget/ImageButton; // field@0292 │ │ -01fe80: 2201 d200 |0084: new-instance v1, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$4; // type@00d2 │ │ -01fe84: 7040 c903 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@03c9 │ │ -01fe8a: 6e20 ea00 1000 |0089: invoke-virtual {v0, v1}, Landroid/widget/ImageButton;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@00ea │ │ -01fe90: 5455 8e02 |008c: iget-object v5, v5, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.root:Landroid/widget/RelativeLayout; // field@028e │ │ -01fe94: 6e10 4b04 0300 |008e: invoke-virtual {v3}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.getIsActive:()Ljava/lang/Boolean; // method@044b │ │ -01fe9a: 0c03 |0091: move-result-object v3 │ │ -01fe9c: 6e10 4905 0300 |0092: invoke-virtual {v3}, Ljava/lang/Boolean;.booleanValue:()Z // method@0549 │ │ -01fea2: 0a03 |0095: move-result v3 │ │ -01fea4: 6e20 f300 3500 |0096: invoke-virtual {v5, v3}, Landroid/widget/RelativeLayout;.setEnabled:(Z)V // method@00f3 │ │ -01feaa: 1104 |0099: return-object v4 │ │ +01fd64: |[01fd64] dnsfilter.android.dnsserverconfig.widget.DNSListAdapter.getItemView:(ILandroid/view/View;Landroid/view/ViewGroup;)Landroid/view/View; │ │ +01fd74: 6e20 e403 3200 |0000: invoke-virtual {v2, v3}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.getItem:(I)Ljava/lang/Object; // method@03e4 │ │ +01fd7a: 0c03 |0003: move-result-object v3 │ │ +01fd7c: 1f03 e800 |0004: check-cast v3, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry; // type@00e8 │ │ +01fd80: 3804 1200 |0006: if-eqz v4, 0018 // +0012 │ │ +01fd84: 6e10 af00 0400 |0008: invoke-virtual {v4}, Landroid/view/View;.getTag:()Ljava/lang/Object; // method@00af │ │ +01fd8a: 0c00 |000b: move-result-object v0 │ │ +01fd8c: 2000 d600 |000c: instance-of v0, v0, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder; // type@00d6 │ │ +01fd90: 3900 0300 |000e: if-nez v0, 0011 // +0003 │ │ +01fd94: 2808 |0010: goto 0018 // +0008 │ │ +01fd96: 6e10 af00 0400 |0011: invoke-virtual {v4}, Landroid/view/View;.getTag:()Ljava/lang/Object; // method@00af │ │ +01fd9c: 0c05 |0014: move-result-object v5 │ │ +01fd9e: 1f05 d600 |0015: check-cast v5, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder; // type@00d6 │ │ +01fda2: 281c |0017: goto 0033 // +001c │ │ +01fda4: 6e10 e203 0200 |0018: invoke-virtual {v2}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.getContext:()Landroid/content/Context; // method@03e2 │ │ +01fdaa: 0c04 |001b: move-result-object v4 │ │ +01fdac: 7110 a500 0400 |001c: invoke-static {v4}, Landroid/view/LayoutInflater;.from:(Landroid/content/Context;)Landroid/view/LayoutInflater; // method@00a5 │ │ +01fdb2: 0c04 |001f: move-result-object v4 │ │ +01fdb4: 1400 0600 067f |0020: const v0, #float 1.78117e+38 // #7f060006 │ │ +01fdba: 1201 |0023: const/4 v1, #int 0 // #0 │ │ +01fdbc: 6e40 a700 0415 |0024: invoke-virtual {v4, v0, v5, v1}, Landroid/view/LayoutInflater;.inflate:(ILandroid/view/ViewGroup;Z)Landroid/view/View; // method@00a7 │ │ +01fdc2: 0c04 |0027: move-result-object v4 │ │ +01fdc4: 2205 d600 |0028: new-instance v5, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder; // type@00d6 │ │ +01fdc8: 7010 cf03 0500 |002a: invoke-direct {v5}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.:()V // method@03cf │ │ +01fdce: 7030 f003 5204 |002d: invoke-direct {v2, v5, v4}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.setupNewViewHolder:(Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;Landroid/view/View;)V // method@03f0 │ │ +01fdd4: 6e20 b300 5400 |0030: invoke-virtual {v4, v5}, Landroid/view/View;.setTag:(Ljava/lang/Object;)V // method@00b3 │ │ +01fdda: 5b53 8702 |0033: iput-object v3, v5, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.dnsServerConfigEntry:Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry; // field@0287 │ │ +01fdde: 5450 8d02 |0035: iget-object v0, v5, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.protocolView:Landroid/widget/TextView; // field@028d │ │ +01fde2: 6e10 4e04 0300 |0037: invoke-virtual {v3}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.getProtocol:()Ldnsfilter/android/dnsserverconfig/widget/DNSType; // method@044e │ │ +01fde8: 0c01 |003a: move-result-object v1 │ │ +01fdea: 6e10 3204 0100 |003b: invoke-virtual {v1}, Ldnsfilter/android/dnsserverconfig/widget/DNSType;.toString:()Ljava/lang/String; // method@0432 │ │ +01fdf0: 0c01 |003e: move-result-object v1 │ │ +01fdf2: 6e20 0901 1000 |003f: invoke-virtual {v0, v1}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@0109 │ │ +01fdf8: 5450 8902 |0042: iget-object v0, v5, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.ipView:Landroid/widget/TextView; // field@0289 │ │ +01fdfc: 6e10 4a04 0300 |0044: invoke-virtual {v3}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.getIp:()Ljava/lang/String; // method@044a │ │ +01fe02: 0c01 |0047: move-result-object v1 │ │ +01fe04: 6e20 0901 1000 |0048: invoke-virtual {v0, v1}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@0109 │ │ +01fe0a: 5450 8b02 |004b: iget-object v0, v5, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.portView:Landroid/widget/TextView; // field@028b │ │ +01fe0e: 6e10 4d04 0300 |004d: invoke-virtual {v3}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.getPort:()Ljava/lang/String; // method@044d │ │ +01fe14: 0c01 |0050: move-result-object v1 │ │ +01fe16: 6e20 0901 1000 |0051: invoke-virtual {v0, v1}, Landroid/widget/TextView;.setText:(Ljava/lang/CharSequence;)V // method@0109 │ │ +01fe1c: 5450 8a02 |0054: iget-object v0, v5, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.isActiveEntryCheckbox:Landroid/widget/CheckBox; // field@028a │ │ +01fe20: 2201 cb00 |0056: new-instance v1, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$$ExternalSyntheticLambda0; // type@00cb │ │ +01fe24: 7030 bb03 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@03bb │ │ +01fe2a: 6e20 cf00 1000 |005b: invoke-virtual {v0, v1}, Landroid/widget/CheckBox;.setOnCheckedChangeListener:(Landroid/widget/CompoundButton$OnCheckedChangeListener;)V // method@00cf │ │ +01fe30: 5450 8a02 |005e: iget-object v0, v5, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.isActiveEntryCheckbox:Landroid/widget/CheckBox; // field@028a │ │ +01fe34: 6e10 4b04 0300 |0060: invoke-virtual {v3}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.getIsActive:()Ljava/lang/Boolean; // method@044b │ │ +01fe3a: 0c01 |0063: move-result-object v1 │ │ +01fe3c: 6e10 4905 0100 |0064: invoke-virtual {v1}, Ljava/lang/Boolean;.booleanValue:()Z // method@0549 │ │ +01fe42: 0a01 |0067: move-result v1 │ │ +01fe44: 6e20 cd00 1000 |0068: invoke-virtual {v0, v1}, Landroid/widget/CheckBox;.setChecked:(Z)V // method@00cd │ │ +01fe4a: 7110 d003 0500 |006b: invoke-static {v5}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.access$100:(Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;)V // method@03d0 │ │ +01fe50: 5450 8f02 |006e: iget-object v0, v5, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.testEntryButton:Landroid/widget/ImageButton; // field@028f │ │ +01fe54: 2201 d000 |0070: new-instance v1, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$2; // type@00d0 │ │ +01fe58: 7030 c503 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@03c5 │ │ +01fe5e: 6e20 ea00 1000 |0075: invoke-virtual {v0, v1}, Landroid/widget/ImageButton;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@00ea │ │ +01fe64: 5450 9102 |0078: iget-object v0, v5, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.testEntryResultFailure:Landroid/widget/ImageButton; // field@0291 │ │ +01fe68: 2201 d100 |007a: new-instance v1, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$3; // type@00d1 │ │ +01fe6c: 7040 c703 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@03c7 │ │ +01fe72: 6e20 ea00 1000 |007f: invoke-virtual {v0, v1}, Landroid/widget/ImageButton;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@00ea │ │ +01fe78: 5450 9202 |0082: iget-object v0, v5, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.testEntryResultSuccess:Landroid/widget/ImageButton; // field@0292 │ │ +01fe7c: 2201 d200 |0084: new-instance v1, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$4; // type@00d2 │ │ +01fe80: 7040 c903 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@03c9 │ │ +01fe86: 6e20 ea00 1000 |0089: invoke-virtual {v0, v1}, Landroid/widget/ImageButton;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@00ea │ │ +01fe8c: 5455 8e02 |008c: iget-object v5, v5, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.root:Landroid/widget/RelativeLayout; // field@028e │ │ +01fe90: 6e10 4b04 0300 |008e: invoke-virtual {v3}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.getIsActive:()Ljava/lang/Boolean; // method@044b │ │ +01fe96: 0c03 |0091: move-result-object v3 │ │ +01fe98: 6e10 4905 0300 |0092: invoke-virtual {v3}, Ljava/lang/Boolean;.booleanValue:()Z // method@0549 │ │ +01fe9e: 0a03 |0095: move-result v3 │ │ +01fea0: 6e20 f300 3500 |0096: invoke-virtual {v5, v3}, Landroid/widget/RelativeLayout;.setEnabled:(Z)V // method@00f3 │ │ +01fea6: 1104 |0099: return-object v4 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=162 │ │ 0x0008 line=166 │ │ 0x0011 line=174 │ │ 0x0018 line=167 │ │ 0x0028 line=169 │ │ @@ -50539,25 +50539,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 │ │ -020240: |[020240] 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 │ │ -020250: 7110 4d05 0300 |0000: invoke-static {v3}, Ljava/lang/Boolean;.valueOf:(Z)Ljava/lang/Boolean; // method@054d │ │ -020256: 0c02 |0003: move-result-object v2 │ │ -020258: 6e20 5404 2000 |0004: invoke-virtual {v0, v2}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.setIsActive:(Ljava/lang/Boolean;)V // method@0454 │ │ -02025e: 5411 8e02 |0007: iget-object v1, v1, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.root:Landroid/widget/RelativeLayout; // field@028e │ │ -020262: 6e10 4b04 0000 |0009: invoke-virtual {v0}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.getIsActive:()Ljava/lang/Boolean; // method@044b │ │ -020268: 0c00 |000c: move-result-object v0 │ │ -02026a: 6e10 4905 0000 |000d: invoke-virtual {v0}, Ljava/lang/Boolean;.booleanValue:()Z // method@0549 │ │ -020270: 0a00 |0010: move-result v0 │ │ -020272: 6e20 f300 0100 |0011: invoke-virtual {v1, v0}, Landroid/widget/RelativeLayout;.setEnabled:(Z)V // method@00f3 │ │ -020278: 0e00 |0014: return-void │ │ +02023c: |[02023c] 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 │ │ +02024c: 7110 4d05 0300 |0000: invoke-static {v3}, Ljava/lang/Boolean;.valueOf:(Z)Ljava/lang/Boolean; // method@054d │ │ +020252: 0c02 |0003: move-result-object v2 │ │ +020254: 6e20 5404 2000 |0004: invoke-virtual {v0, v2}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.setIsActive:(Ljava/lang/Boolean;)V // method@0454 │ │ +02025a: 5411 8e02 |0007: iget-object v1, v1, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.root:Landroid/widget/RelativeLayout; // field@028e │ │ +02025e: 6e10 4b04 0000 |0009: invoke-virtual {v0}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.getIsActive:()Ljava/lang/Boolean; // method@044b │ │ +020264: 0c00 |000c: move-result-object v0 │ │ +020266: 6e10 4905 0000 |000d: invoke-virtual {v0}, Ljava/lang/Boolean;.booleanValue:()Z // method@0549 │ │ +02026c: 0a00 |0010: move-result v0 │ │ +02026e: 6e20 f300 0100 |0011: invoke-virtual {v1, v0}, Landroid/widget/RelativeLayout;.setEnabled:(Z)V // method@00f3 │ │ +020274: 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; │ │ @@ -50569,17 +50569,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 │ │ -0202c4: |[0202c4] dnsfilter.android.dnsserverconfig.widget.DNSListAdapter.setupNewCommentHolder:(Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerCommentEntryViewHolder;Landroid/view/View;)V │ │ -0202d4: 7030 de03 1002 |0000: invoke-direct {v0, v1, v2}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.findCommentEntryViews:(Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerCommentEntryViewHolder;Landroid/view/View;)V // method@03de │ │ -0202da: 0e00 |0003: return-void │ │ +0202c0: |[0202c0] dnsfilter.android.dnsserverconfig.widget.DNSListAdapter.setupNewCommentHolder:(Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerCommentEntryViewHolder;Landroid/view/View;)V │ │ +0202d0: 7030 de03 1002 |0000: invoke-direct {v0, v1, v2}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.findCommentEntryViews:(Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerCommentEntryViewHolder;Landroid/view/View;)V // method@03de │ │ +0202d6: 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; │ │ @@ -50589,21 +50589,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 │ │ -0202dc: |[0202dc] dnsfilter.android.dnsserverconfig.widget.DNSListAdapter.setupNewViewHolder:(Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;Landroid/view/View;)V │ │ -0202ec: 7030 df03 2103 |0000: invoke-direct {v1, v2, v3}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.findEntryViews:(Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;Landroid/view/View;)V // method@03df │ │ -0202f2: 5423 8802 |0003: iget-object v3, v2, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.editEntryButton:Landroid/widget/ImageButton; // field@0288 │ │ -0202f6: 2200 d300 |0005: new-instance v0, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$5; // type@00d3 │ │ -0202fa: 7030 cb03 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@03cb │ │ -020300: 6e20 ea00 0300 |000a: invoke-virtual {v3, v0}, Landroid/widget/ImageButton;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@00ea │ │ -020306: 0e00 |000d: return-void │ │ +0202d8: |[0202d8] dnsfilter.android.dnsserverconfig.widget.DNSListAdapter.setupNewViewHolder:(Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;Landroid/view/View;)V │ │ +0202e8: 7030 df03 2103 |0000: invoke-direct {v1, v2, v3}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.findEntryViews:(Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;Landroid/view/View;)V // method@03df │ │ +0202ee: 5423 8802 |0003: iget-object v3, v2, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$DNSServerConfigEntryViewHolder;.editEntryButton:Landroid/widget/ImageButton; // field@0288 │ │ +0202f2: 2200 d300 |0005: new-instance v0, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter$5; // type@00d3 │ │ +0202f6: 7030 cb03 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@03cb │ │ +0202fc: 6e20 ea00 0300 |000a: invoke-virtual {v3, v0}, Landroid/widget/ImageButton;.setOnClickListener:(Landroid/view/View$OnClickListener;)V // method@00ea │ │ +020302: 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; │ │ @@ -50615,36 +50615,36 @@ │ │ type : '(Z)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 6 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 39 16-bit code units │ │ -0200a8: |[0200a8] dnsfilter.android.dnsserverconfig.widget.DNSListAdapter.changeCommentedLinesVisibility:(Z)V │ │ -0200b8: 1200 |0000: const/4 v0, #int 0 // #0 │ │ -0200ba: 1201 |0001: const/4 v1, #int 0 // #0 │ │ -0200bc: 6e10 e703 0400 |0002: invoke-virtual {v4}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.getObjectsCount:()I // method@03e7 │ │ -0200c2: 0a02 |0005: move-result v2 │ │ -0200c4: 3520 1b00 |0006: if-ge v0, v2, 0021 // +001b │ │ -0200c8: 6e20 e403 0400 |0008: invoke-virtual {v4, v0}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.getItem:(I)Ljava/lang/Object; // method@03e4 │ │ -0200ce: 0c02 |000b: move-result-object v2 │ │ -0200d0: 1f02 e600 |000c: check-cast v2, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigBaseEntry; // type@00e6 │ │ -0200d4: 2023 e700 |000e: instance-of v3, v2, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigCommentedEntry; // type@00e7 │ │ -0200d8: 3803 0e00 |0010: if-eqz v3, 001e // +000e │ │ -0200dc: 1f02 e700 |0012: check-cast v2, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigCommentedEntry; // type@00e7 │ │ -0200e0: 6e10 3b04 0200 |0014: invoke-virtual {v2}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigCommentedEntry;.isVisible:()Z // method@043b │ │ -0200e6: 0a03 |0017: move-result v3 │ │ -0200e8: 3253 0600 |0018: if-eq v3, v5, 001e // +0006 │ │ -0200ec: 6e20 3d04 5200 |001a: invoke-virtual {v2, v5}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigCommentedEntry;.setVisible:(Z)V // method@043d │ │ -0200f2: 1211 |001d: const/4 v1, #int 1 // #1 │ │ -0200f4: d800 0001 |001e: add-int/lit8 v0, v0, #int 1 // #01 │ │ -0200f8: 28e2 |0020: goto 0002 // -001e │ │ -0200fa: 3801 0500 |0021: if-eqz v1, 0026 // +0005 │ │ -0200fe: 6e10 ea03 0400 |0023: invoke-virtual {v4}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.notifyDataSetChanged:()V // method@03ea │ │ -020104: 0e00 |0026: return-void │ │ +0200a4: |[0200a4] dnsfilter.android.dnsserverconfig.widget.DNSListAdapter.changeCommentedLinesVisibility:(Z)V │ │ +0200b4: 1200 |0000: const/4 v0, #int 0 // #0 │ │ +0200b6: 1201 |0001: const/4 v1, #int 0 // #0 │ │ +0200b8: 6e10 e703 0400 |0002: invoke-virtual {v4}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.getObjectsCount:()I // method@03e7 │ │ +0200be: 0a02 |0005: move-result v2 │ │ +0200c0: 3520 1b00 |0006: if-ge v0, v2, 0021 // +001b │ │ +0200c4: 6e20 e403 0400 |0008: invoke-virtual {v4, v0}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.getItem:(I)Ljava/lang/Object; // method@03e4 │ │ +0200ca: 0c02 |000b: move-result-object v2 │ │ +0200cc: 1f02 e600 |000c: check-cast v2, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigBaseEntry; // type@00e6 │ │ +0200d0: 2023 e700 |000e: instance-of v3, v2, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigCommentedEntry; // type@00e7 │ │ +0200d4: 3803 0e00 |0010: if-eqz v3, 001e // +000e │ │ +0200d8: 1f02 e700 |0012: check-cast v2, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigCommentedEntry; // type@00e7 │ │ +0200dc: 6e10 3b04 0200 |0014: invoke-virtual {v2}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigCommentedEntry;.isVisible:()Z // method@043b │ │ +0200e2: 0a03 |0017: move-result v3 │ │ +0200e4: 3253 0600 |0018: if-eq v3, v5, 001e // +0006 │ │ +0200e8: 6e20 3d04 5200 |001a: invoke-virtual {v2, v5}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigCommentedEntry;.setVisible:(Z)V // method@043d │ │ +0200ee: 1211 |001d: const/4 v1, #int 1 // #1 │ │ +0200f0: d800 0001 |001e: add-int/lit8 v0, v0, #int 1 // #01 │ │ +0200f4: 28e2 |0020: goto 0002 // -001e │ │ +0200f6: 3801 0500 |0021: if-eqz v1, 0026 // +0005 │ │ +0200fa: 6e10 ea03 0400 |0023: invoke-virtual {v4}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.notifyDataSetChanged:()V // method@03ea │ │ +020100: 0e00 |0026: return-void │ │ catches : (none) │ │ positions : │ │ 0x0002 line=71 │ │ 0x0008 line=72 │ │ 0x000e line=73 │ │ 0x001a line=74 │ │ 0x0023 line=80 │ │ @@ -50657,19 +50657,19 @@ │ │ type : '()I' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 7 16-bit code units │ │ -01ff3c: |[01ff3c] dnsfilter.android.dnsserverconfig.widget.DNSListAdapter.getCount:()I │ │ -01ff4c: 6f10 c300 0100 |0000: invoke-super {v1}, Landroid/widget/ArrayAdapter;.getCount:()I // method@00c3 │ │ -01ff52: 0a00 |0003: move-result v0 │ │ -01ff54: d800 0001 |0004: add-int/lit8 v0, v0, #int 1 // #01 │ │ -01ff58: 0f00 |0006: return v0 │ │ +01ff38: |[01ff38] dnsfilter.android.dnsserverconfig.widget.DNSListAdapter.getCount:()I │ │ +01ff48: 6f10 c300 0100 |0000: invoke-super {v1}, Landroid/widget/ArrayAdapter;.getCount:()I // method@00c3 │ │ +01ff4e: 0a00 |0003: move-result v0 │ │ +01ff50: d800 0001 |0004: add-int/lit8 v0, v0, #int 1 // #01 │ │ +01ff54: 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;) │ │ @@ -50677,29 +50677,29 @@ │ │ type : '(I)I' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 4 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 21 16-bit code units │ │ -01ff5c: |[01ff5c] dnsfilter.android.dnsserverconfig.widget.DNSListAdapter.getItemViewType:(I)I │ │ -01ff6c: 6f10 c300 0200 |0000: invoke-super {v2}, Landroid/widget/ArrayAdapter;.getCount:()I // method@00c3 │ │ -01ff72: 0a00 |0003: move-result v0 │ │ -01ff74: 1211 |0004: const/4 v1, #int 1 // #1 │ │ -01ff76: b110 |0005: sub-int/2addr v0, v1 │ │ -01ff78: 3703 0400 |0006: if-le v3, v0, 000a // +0004 │ │ -01ff7c: 1223 |0008: const/4 v3, #int 2 // #2 │ │ -01ff7e: 0f03 |0009: return v3 │ │ -01ff80: 6e20 e403 3200 |000a: invoke-virtual {v2, v3}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.getItem:(I)Ljava/lang/Object; // method@03e4 │ │ -01ff86: 0c03 |000d: move-result-object v3 │ │ -01ff88: 2033 e700 |000e: instance-of v3, v3, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigCommentedEntry; // type@00e7 │ │ -01ff8c: 3803 0300 |0010: if-eqz v3, 0013 // +0003 │ │ -01ff90: 0f01 |0012: return v1 │ │ -01ff92: 1203 |0013: const/4 v3, #int 0 // #0 │ │ -01ff94: 0f03 |0014: return v3 │ │ +01ff58: |[01ff58] dnsfilter.android.dnsserverconfig.widget.DNSListAdapter.getItemViewType:(I)I │ │ +01ff68: 6f10 c300 0200 |0000: invoke-super {v2}, Landroid/widget/ArrayAdapter;.getCount:()I // method@00c3 │ │ +01ff6e: 0a00 |0003: move-result v0 │ │ +01ff70: 1211 |0004: const/4 v1, #int 1 // #1 │ │ +01ff72: b110 |0005: sub-int/2addr v0, v1 │ │ +01ff74: 3703 0400 |0006: if-le v3, v0, 000a // +0004 │ │ +01ff78: 1223 |0008: const/4 v3, #int 2 // #2 │ │ +01ff7a: 0f03 |0009: return v3 │ │ +01ff7c: 6e20 e403 3200 |000a: invoke-virtual {v2, v3}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.getItem:(I)Ljava/lang/Object; // method@03e4 │ │ +01ff82: 0c03 |000d: move-result-object v3 │ │ +01ff84: 2033 e700 |000e: instance-of v3, v3, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigCommentedEntry; // type@00e7 │ │ +01ff88: 3803 0300 |0010: if-eqz v3, 0013 // +0003 │ │ +01ff8c: 0f01 |0012: return v1 │ │ +01ff8e: 1203 |0013: const/4 v3, #int 0 // #0 │ │ +01ff90: 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 │ │ @@ -50709,18 +50709,18 @@ │ │ type : '()I' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 5 16-bit code units │ │ -01ff98: |[01ff98] dnsfilter.android.dnsserverconfig.widget.DNSListAdapter.getObjectsCount:()I │ │ -01ffa8: 6f10 c300 0100 |0000: invoke-super {v1}, Landroid/widget/ArrayAdapter;.getCount:()I // method@00c3 │ │ -01ffae: 0a00 |0003: move-result v0 │ │ -01ffb0: 0f00 |0004: return v0 │ │ +01ff94: |[01ff94] dnsfilter.android.dnsserverconfig.widget.DNSListAdapter.getObjectsCount:()I │ │ +01ffa4: 6f10 c300 0100 |0000: invoke-super {v1}, Landroid/widget/ArrayAdapter;.getCount:()I // method@00c3 │ │ +01ffaa: 0a00 |0003: move-result v0 │ │ +01ffac: 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;) │ │ @@ -50728,32 +50728,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 │ │ -01feac: |[01feac] dnsfilter.android.dnsserverconfig.widget.DNSListAdapter.getView:(ILandroid/view/View;Landroid/view/ViewGroup;)Landroid/view/View; │ │ -01febc: 6e20 e603 3200 |0000: invoke-virtual {v2, v3}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.getItemViewType:(I)I // method@03e6 │ │ -01fec2: 0a00 |0003: move-result v0 │ │ -01fec4: 3800 1300 |0004: if-eqz v0, 0017 // +0013 │ │ -01fec8: 1211 |0006: const/4 v1, #int 1 // #1 │ │ -01feca: 3210 0b00 |0007: if-eq v0, v1, 0012 // +000b │ │ -01fece: 1223 |0009: const/4 v3, #int 2 // #2 │ │ -01fed0: 3230 0300 |000a: if-eq v0, v3, 000d // +0003 │ │ -01fed4: 280f |000c: goto 001b // +000f │ │ -01fed6: 7020 e003 5200 |000d: invoke-direct {v2, v5}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.getAddButton:(Landroid/view/ViewGroup;)Landroid/view/View; // method@03e0 │ │ -01fedc: 0c04 |0010: move-result-object v4 │ │ -01fede: 280a |0011: goto 001b // +000a │ │ -01fee0: 7040 e103 3254 |0012: invoke-direct {v2, v3, v4, v5}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.getCommentView:(ILandroid/view/View;Landroid/view/ViewGroup;)Landroid/view/View; // method@03e1 │ │ -01fee6: 0c04 |0015: move-result-object v4 │ │ -01fee8: 2805 |0016: goto 001b // +0005 │ │ -01feea: 7040 e503 3254 |0017: invoke-direct {v2, v3, v4, v5}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.getItemView:(ILandroid/view/View;Landroid/view/ViewGroup;)Landroid/view/View; // method@03e5 │ │ -01fef0: 0c04 |001a: move-result-object v4 │ │ -01fef2: 1104 |001b: return-object v4 │ │ +01fea8: |[01fea8] dnsfilter.android.dnsserverconfig.widget.DNSListAdapter.getView:(ILandroid/view/View;Landroid/view/ViewGroup;)Landroid/view/View; │ │ +01feb8: 6e20 e603 3200 |0000: invoke-virtual {v2, v3}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.getItemViewType:(I)I // method@03e6 │ │ +01febe: 0a00 |0003: move-result v0 │ │ +01fec0: 3800 1300 |0004: if-eqz v0, 0017 // +0013 │ │ +01fec4: 1211 |0006: const/4 v1, #int 1 // #1 │ │ +01fec6: 3210 0b00 |0007: if-eq v0, v1, 0012 // +000b │ │ +01feca: 1223 |0009: const/4 v3, #int 2 // #2 │ │ +01fecc: 3230 0300 |000a: if-eq v0, v3, 000d // +0003 │ │ +01fed0: 280f |000c: goto 001b // +000f │ │ +01fed2: 7020 e003 5200 |000d: invoke-direct {v2, v5}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.getAddButton:(Landroid/view/ViewGroup;)Landroid/view/View; // method@03e0 │ │ +01fed8: 0c04 |0010: move-result-object v4 │ │ +01feda: 280a |0011: goto 001b // +000a │ │ +01fedc: 7040 e103 3254 |0012: invoke-direct {v2, v3, v4, v5}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.getCommentView:(ILandroid/view/View;Landroid/view/ViewGroup;)Landroid/view/View; // method@03e1 │ │ +01fee2: 0c04 |0015: move-result-object v4 │ │ +01fee4: 2805 |0016: goto 001b // +0005 │ │ +01fee6: 7040 e503 3254 |0017: invoke-direct {v2, v3, v4, v5}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.getItemView:(ILandroid/view/View;Landroid/view/ViewGroup;)Landroid/view/View; // method@03e5 │ │ +01feec: 0c04 |001a: move-result-object v4 │ │ +01feee: 1104 |001b: return-object v4 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=107 │ │ 0x000d line=109 │ │ 0x0012 line=112 │ │ 0x0017 line=115 │ │ locals : │ │ @@ -50767,17 +50767,17 @@ │ │ type : '()V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 1 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 4 16-bit code units │ │ -02027c: |[02027c] dnsfilter.android.dnsserverconfig.widget.DNSListAdapter.onApplyChanges:()V │ │ -02028c: 6e10 ea03 0000 |0000: invoke-virtual {v0}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.notifyDataSetChanged:()V // method@03ea │ │ -020292: 0e00 |0003: return-void │ │ +020278: |[020278] dnsfilter.android.dnsserverconfig.widget.DNSListAdapter.onApplyChanges:()V │ │ +020288: 6e10 ea03 0000 |0000: invoke-virtual {v0}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.notifyDataSetChanged:()V // method@03ea │ │ +02028e: 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;) │ │ @@ -50785,17 +50785,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 │ │ -020294: |[020294] dnsfilter.android.dnsserverconfig.widget.DNSListAdapter.onDeleteItem:(Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;)V │ │ -0202a4: 6e20 ee03 1000 |0000: invoke-virtual {v0, v1}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.remove:(Ljava/lang/Object;)V // method@03ee │ │ -0202aa: 0e00 |0003: return-void │ │ +020290: |[020290] dnsfilter.android.dnsserverconfig.widget.DNSListAdapter.onDeleteItem:(Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;)V │ │ +0202a0: 6e20 ee03 1000 |0000: invoke-virtual {v0, v1}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.remove:(Ljava/lang/Object;)V // method@03ee │ │ +0202a6: 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; │ │ │ │ @@ -50804,17 +50804,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 │ │ -0202ac: |[0202ac] dnsfilter.android.dnsserverconfig.widget.DNSListAdapter.onNewCancelled:(Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;)V │ │ -0202bc: 6e20 ee03 1000 |0000: invoke-virtual {v0, v1}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.remove:(Ljava/lang/Object;)V // method@03ee │ │ -0202c2: 0e00 |0003: return-void │ │ +0202a8: |[0202a8] dnsfilter.android.dnsserverconfig.widget.DNSListAdapter.onNewCancelled:(Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;)V │ │ +0202b8: 6e20 ee03 1000 |0000: invoke-virtual {v0, v1}, Ldnsfilter/android/dnsserverconfig/widget/DNSListAdapter;.remove:(Ljava/lang/Object;)V // method@03ee │ │ +0202be: 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; │ │ │ │ @@ -50851,20 +50851,20 @@ │ │ type : '(Ljava/lang/String;)V' │ │ access : 0x10001 (PUBLIC CONSTRUCTOR) │ │ code - │ │ registers : 2 │ │ ins : 2 │ │ outs : 1 │ │ insns size : 9 16-bit code units │ │ -021340: |[021340] dnsfilter.android.dnsserverconfig.widget.listitem.DNSServerConfigCommentedEntry.:(Ljava/lang/String;)V │ │ -021350: 7010 3804 0000 |0000: invoke-direct {v0}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigBaseEntry;.:()V // method@0438 │ │ -021356: 5b01 c402 |0003: iput-object v1, v0, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigCommentedEntry;.comment:Ljava/lang/String; // field@02c4 │ │ -02135a: 1211 |0005: const/4 v1, #int 1 // #1 │ │ -02135c: 5c01 c502 |0006: iput-boolean v1, v0, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigCommentedEntry;.isVisible:Z // field@02c5 │ │ -021360: 0e00 |0008: return-void │ │ +02133c: |[02133c] dnsfilter.android.dnsserverconfig.widget.listitem.DNSServerConfigCommentedEntry.:(Ljava/lang/String;)V │ │ +02134c: 7010 3804 0000 |0000: invoke-direct {v0}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigBaseEntry;.:()V // method@0438 │ │ +021352: 5b01 c402 |0003: iput-object v1, v0, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigCommentedEntry;.comment:Ljava/lang/String; // field@02c4 │ │ +021356: 1211 |0005: const/4 v1, #int 1 // #1 │ │ +021358: 5c01 c502 |0006: iput-boolean v1, v0, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigCommentedEntry;.isVisible:Z // field@02c5 │ │ +02135c: 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; │ │ @@ -50876,17 +50876,17 @@ │ │ type : '()Ljava/lang/String;' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 0 │ │ insns size : 3 16-bit code units │ │ -0212f4: |[0212f4] dnsfilter.android.dnsserverconfig.widget.listitem.DNSServerConfigCommentedEntry.getComment:()Ljava/lang/String; │ │ -021304: 5410 c402 |0000: iget-object v0, v1, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigCommentedEntry;.comment:Ljava/lang/String; // field@02c4 │ │ -021308: 1100 |0002: return-object v0 │ │ +0212f0: |[0212f0] dnsfilter.android.dnsserverconfig.widget.listitem.DNSServerConfigCommentedEntry.getComment:()Ljava/lang/String; │ │ +021300: 5410 c402 |0000: iget-object v0, v1, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigCommentedEntry;.comment:Ljava/lang/String; // field@02c4 │ │ +021304: 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;) │ │ @@ -50894,17 +50894,17 @@ │ │ type : '()Z' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 0 │ │ insns size : 3 16-bit code units │ │ -0212dc: |[0212dc] dnsfilter.android.dnsserverconfig.widget.listitem.DNSServerConfigCommentedEntry.isVisible:()Z │ │ -0212ec: 5510 c502 |0000: iget-boolean v0, v1, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigCommentedEntry;.isVisible:Z // field@02c5 │ │ -0212f0: 0f00 |0002: return v0 │ │ +0212d8: |[0212d8] dnsfilter.android.dnsserverconfig.widget.listitem.DNSServerConfigCommentedEntry.isVisible:()Z │ │ +0212e8: 5510 c502 |0000: iget-boolean v0, v1, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigCommentedEntry;.isVisible:Z // field@02c5 │ │ +0212ec: 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;) │ │ @@ -50912,17 +50912,17 @@ │ │ type : '(Ljava/lang/String;)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 2 │ │ outs : 0 │ │ insns size : 3 16-bit code units │ │ -021364: |[021364] dnsfilter.android.dnsserverconfig.widget.listitem.DNSServerConfigCommentedEntry.setComment:(Ljava/lang/String;)V │ │ -021374: 5b01 c402 |0000: iput-object v1, v0, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigCommentedEntry;.comment:Ljava/lang/String; // field@02c4 │ │ -021378: 0e00 |0002: return-void │ │ +021360: |[021360] dnsfilter.android.dnsserverconfig.widget.listitem.DNSServerConfigCommentedEntry.setComment:(Ljava/lang/String;)V │ │ +021370: 5b01 c402 |0000: iput-object v1, v0, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigCommentedEntry;.comment:Ljava/lang/String; // field@02c4 │ │ +021374: 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; │ │ │ │ @@ -50931,17 +50931,17 @@ │ │ type : '(Z)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 2 │ │ outs : 0 │ │ insns size : 3 16-bit code units │ │ -02137c: |[02137c] dnsfilter.android.dnsserverconfig.widget.listitem.DNSServerConfigCommentedEntry.setVisible:(Z)V │ │ -02138c: 5c01 c502 |0000: iput-boolean v1, v0, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigCommentedEntry;.isVisible:Z // field@02c5 │ │ -021390: 0e00 |0002: return-void │ │ +021378: |[021378] dnsfilter.android.dnsserverconfig.widget.listitem.DNSServerConfigCommentedEntry.setVisible:(Z)V │ │ +021388: 5c01 c502 |0000: iput-boolean v1, v0, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigCommentedEntry;.isVisible:Z // field@02c5 │ │ +02138c: 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 │ │ │ │ @@ -50950,23 +50950,23 @@ │ │ type : '()Ljava/lang/String;' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 3 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 17 16-bit code units │ │ -02130c: |[02130c] dnsfilter.android.dnsserverconfig.widget.listitem.DNSServerConfigCommentedEntry.toString:()Ljava/lang/String; │ │ -02131c: 2200 2d01 |0000: new-instance v0, Ljava/lang/StringBuilder; // type@012d │ │ -021320: 1a01 3000 |0002: const-string v1, "#" // string@0030 │ │ -021324: 7020 a805 1000 |0004: invoke-direct {v0, v1}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05a8 │ │ -02132a: 5421 c402 |0007: iget-object v1, v2, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigCommentedEntry;.comment:Ljava/lang/String; // field@02c4 │ │ -02132e: 6e20 ad05 1000 |0009: invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -021334: 6e10 af05 0000 |000c: invoke-virtual {v0}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ -02133a: 0c00 |000f: move-result-object v0 │ │ -02133c: 1100 |0010: return-object v0 │ │ +021308: |[021308] dnsfilter.android.dnsserverconfig.widget.listitem.DNSServerConfigCommentedEntry.toString:()Ljava/lang/String; │ │ +021318: 2200 2d01 |0000: new-instance v0, Ljava/lang/StringBuilder; // type@012d │ │ +02131c: 1a01 3000 |0002: const-string v1, "#" // string@0030 │ │ +021320: 7020 a805 1000 |0004: invoke-direct {v0, v1}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05a8 │ │ +021326: 5421 c402 |0007: iget-object v1, v2, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigCommentedEntry;.comment:Ljava/lang/String; // field@02c4 │ │ +02132a: 6e20 ad05 1000 |0009: invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +021330: 6e10 af05 0000 |000c: invoke-virtual {v0}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ +021336: 0c00 |000f: move-result-object v0 │ │ +021338: 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) │ │ @@ -51077,24 +51077,24 @@ │ │ type : '()V' │ │ access : 0x10008 (STATIC CONSTRUCTOR) │ │ code - │ │ registers : 1 │ │ ins : 0 │ │ outs : 1 │ │ insns size : 15 16-bit code units │ │ -0216d8: |[0216d8] dnsfilter.android.dnsserverconfig.widget.listitem.DNSServerConfigEntry.:()V │ │ -0216e8: 1200 |0000: const/4 v0, #int 0 // #0 │ │ -0216ea: 7110 4f05 0000 |0001: invoke-static {v0}, Ljava/lang/Byte;.valueOf:(B)Ljava/lang/Byte; // method@054f │ │ -0216f0: 0c00 |0004: move-result-object v0 │ │ -0216f2: 6900 c702 |0005: sput-object v0, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.DEFAULT_DNS_SELECTION:Ljava/lang/Byte; // field@02c7 │ │ -0216f6: 1210 |0007: const/4 v0, #int 1 // #1 │ │ -0216f8: 7110 4d05 0000 |0008: invoke-static {v0}, Ljava/lang/Boolean;.valueOf:(Z)Ljava/lang/Boolean; // method@054d │ │ -0216fe: 0c00 |000b: move-result-object v0 │ │ -021700: 6900 ca02 |000c: sput-object v0, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.DEFAULT_IS_ACTIVE:Ljava/lang/Boolean; // field@02ca │ │ -021704: 0e00 |000e: return-void │ │ +0216d4: |[0216d4] dnsfilter.android.dnsserverconfig.widget.listitem.DNSServerConfigEntry.:()V │ │ +0216e4: 1200 |0000: const/4 v0, #int 0 // #0 │ │ +0216e6: 7110 4f05 0000 |0001: invoke-static {v0}, Ljava/lang/Byte;.valueOf:(B)Ljava/lang/Byte; // method@054f │ │ +0216ec: 0c00 |0004: move-result-object v0 │ │ +0216ee: 6900 c702 |0005: sput-object v0, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.DEFAULT_DNS_SELECTION:Ljava/lang/Byte; // field@02c7 │ │ +0216f2: 1210 |0007: const/4 v0, #int 1 // #1 │ │ +0216f4: 7110 4d05 0000 |0008: invoke-static {v0}, Ljava/lang/Boolean;.valueOf:(Z)Ljava/lang/Boolean; // method@054d │ │ +0216fa: 0c00 |000b: move-result-object v0 │ │ +0216fc: 6900 ca02 |000c: sput-object v0, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.DEFAULT_IS_ACTIVE:Ljava/lang/Boolean; // field@02ca │ │ +021700: 0e00 |000e: return-void │ │ catches : (none) │ │ positions : │ │ 0x0001 line=11 │ │ 0x0008 line=14 │ │ locals : │ │ │ │ #1 : (in Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;) │ │ @@ -51102,24 +51102,24 @@ │ │ type : '()V' │ │ access : 0x10001 (PUBLIC CONSTRUCTOR) │ │ code - │ │ registers : 7 │ │ ins : 1 │ │ outs : 6 │ │ insns size : 17 16-bit code units │ │ -021708: |[021708] dnsfilter.android.dnsserverconfig.widget.listitem.DNSServerConfigEntry.:()V │ │ -021718: 7100 4704 0000 |0000: invoke-static {}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.getDefaultDNSType:()Ldnsfilter/android/dnsserverconfig/widget/DNSType; // method@0447 │ │ -02171e: 0c03 |0003: move-result-object v3 │ │ -021720: 1a04 0000 |0004: const-string v4, "" // string@0000 │ │ -021724: 6205 ca02 |0006: sget-object v5, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.DEFAULT_IS_ACTIVE:Ljava/lang/Boolean; // field@02ca │ │ -021728: 1a01 0000 |0008: const-string v1, "" // string@0000 │ │ -02172c: 1a02 7c00 |000a: const-string v2, "53" // string@007c │ │ -021730: 0760 |000c: move-object v0, v6 │ │ -021732: 7606 4104 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@0441 │ │ -021738: 0e00 |0010: return-void │ │ +021704: |[021704] dnsfilter.android.dnsserverconfig.widget.listitem.DNSServerConfigEntry.:()V │ │ +021714: 7100 4704 0000 |0000: invoke-static {}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.getDefaultDNSType:()Ldnsfilter/android/dnsserverconfig/widget/DNSType; // method@0447 │ │ +02171a: 0c03 |0003: move-result-object v3 │ │ +02171c: 1a04 0000 |0004: const-string v4, "" // string@0000 │ │ +021720: 6205 ca02 |0006: sget-object v5, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.DEFAULT_IS_ACTIVE:Ljava/lang/Boolean; // field@02ca │ │ +021724: 1a01 0000 |0008: const-string v1, "" // string@0000 │ │ +021728: 1a02 7c00 |000a: const-string v2, "53" // string@007c │ │ +02172c: 0760 |000c: move-object v0, v6 │ │ +02172e: 7606 4104 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@0441 │ │ +021734: 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;) │ │ @@ -51127,34 +51127,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 │ │ -0217d0: |[0217d0] dnsfilter.android.dnsserverconfig.widget.listitem.DNSServerConfigEntry.:(Ljava/lang/String;Ljava/lang/String;Ldnsfilter/android/dnsserverconfig/widget/DNSType;Ljava/lang/String;Ljava/lang/Boolean;)V │ │ -0217e0: 7010 3804 0000 |0000: invoke-direct {v0}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigBaseEntry;.:()V // method@0438 │ │ -0217e6: 6e10 a005 0100 |0003: invoke-virtual {v1}, Ljava/lang/String;.trim:()Ljava/lang/String; // method@05a0 │ │ -0217ec: 0c01 |0006: move-result-object v1 │ │ -0217ee: 5b01 d202 |0007: iput-object v1, v0, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.ip:Ljava/lang/String; // field@02d2 │ │ -0217f2: 6e10 a005 0200 |0009: invoke-virtual {v2}, Ljava/lang/String;.trim:()Ljava/lang/String; // method@05a0 │ │ -0217f8: 0c01 |000c: move-result-object v1 │ │ -0217fa: 5b01 d402 |000d: iput-object v1, v0, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.port:Ljava/lang/String; // field@02d4 │ │ -0217fe: 5b03 d502 |000f: iput-object v3, v0, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.protocol:Ldnsfilter/android/dnsserverconfig/widget/DNSType; // field@02d5 │ │ -021802: 6e10 a005 0400 |0011: invoke-virtual {v4}, Ljava/lang/String;.trim:()Ljava/lang/String; // method@05a0 │ │ -021808: 0c01 |0014: move-result-object v1 │ │ -02180a: 5b01 d102 |0015: iput-object v1, v0, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.endpoint:Ljava/lang/String; // field@02d1 │ │ -02180e: 5b05 d302 |0017: iput-object v5, v0, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.isActive:Ljava/lang/Boolean; // field@02d3 │ │ -021812: 2201 e300 |0019: new-instance v1, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult; // type@00e3 │ │ -021816: 7010 2004 0100 |001b: invoke-direct {v1}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult;.:()V // method@0420 │ │ -02181c: 5b01 d602 |001e: iput-object v1, v0, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.testResult:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult; // field@02d6 │ │ -021820: 2201 da00 |0020: new-instance v1, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult; // type@00da │ │ -021824: 7010 fc03 0100 |0022: invoke-direct {v1}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult;.:()V // method@03fc │ │ -02182a: 5b01 d702 |0025: iput-object v1, v0, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.validationResult:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult; // field@02d7 │ │ -02182e: 0e00 |0027: return-void │ │ +0217cc: |[0217cc] dnsfilter.android.dnsserverconfig.widget.listitem.DNSServerConfigEntry.:(Ljava/lang/String;Ljava/lang/String;Ldnsfilter/android/dnsserverconfig/widget/DNSType;Ljava/lang/String;Ljava/lang/Boolean;)V │ │ +0217dc: 7010 3804 0000 |0000: invoke-direct {v0}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigBaseEntry;.:()V // method@0438 │ │ +0217e2: 6e10 a005 0100 |0003: invoke-virtual {v1}, Ljava/lang/String;.trim:()Ljava/lang/String; // method@05a0 │ │ +0217e8: 0c01 |0006: move-result-object v1 │ │ +0217ea: 5b01 d202 |0007: iput-object v1, v0, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.ip:Ljava/lang/String; // field@02d2 │ │ +0217ee: 6e10 a005 0200 |0009: invoke-virtual {v2}, Ljava/lang/String;.trim:()Ljava/lang/String; // method@05a0 │ │ +0217f4: 0c01 |000c: move-result-object v1 │ │ +0217f6: 5b01 d402 |000d: iput-object v1, v0, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.port:Ljava/lang/String; // field@02d4 │ │ +0217fa: 5b03 d502 |000f: iput-object v3, v0, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.protocol:Ldnsfilter/android/dnsserverconfig/widget/DNSType; // field@02d5 │ │ +0217fe: 6e10 a005 0400 |0011: invoke-virtual {v4}, Ljava/lang/String;.trim:()Ljava/lang/String; // method@05a0 │ │ +021804: 0c01 |0014: move-result-object v1 │ │ +021806: 5b01 d102 |0015: iput-object v1, v0, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.endpoint:Ljava/lang/String; // field@02d1 │ │ +02180a: 5b05 d302 |0017: iput-object v5, v0, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.isActive:Ljava/lang/Boolean; // field@02d3 │ │ +02180e: 2201 e300 |0019: new-instance v1, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult; // type@00e3 │ │ +021812: 7010 2004 0100 |001b: invoke-direct {v1}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult;.:()V // method@0420 │ │ +021818: 5b01 d602 |001e: iput-object v1, v0, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.testResult:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult; // field@02d6 │ │ +02181c: 2201 da00 |0020: new-instance v1, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult; // type@00da │ │ +021820: 7010 fc03 0100 |0022: invoke-direct {v1}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult;.:()V // method@03fc │ │ +021826: 5b01 d702 |0025: iput-object v1, v0, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.validationResult:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult; // field@02d7 │ │ +02182a: 0e00 |0027: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=67 │ │ 0x0003 line=68 │ │ 0x0009 line=69 │ │ 0x000f line=70 │ │ 0x0011 line=71 │ │ @@ -51174,24 +51174,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 │ │ -0217a4: |[0217a4] dnsfilter.android.dnsserverconfig.widget.listitem.DNSServerConfigEntry.:(Ljava/lang/String;Ljava/lang/String;Ldnsfilter/android/dnsserverconfig/widget/DNSType;Z)V │ │ -0217b4: 1a04 0000 |0000: const-string v4, "" // string@0000 │ │ -0217b8: 7110 4d05 0a00 |0002: invoke-static {v10}, Ljava/lang/Boolean;.valueOf:(Z)Ljava/lang/Boolean; // method@054d │ │ -0217be: 0c05 |0005: move-result-object v5 │ │ -0217c0: 0760 |0006: move-object v0, v6 │ │ -0217c2: 0771 |0007: move-object v1, v7 │ │ -0217c4: 0782 |0008: move-object v2, v8 │ │ -0217c6: 0793 |0009: move-object v3, v9 │ │ -0217c8: 7606 4104 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@0441 │ │ -0217ce: 0e00 |000d: return-void │ │ +0217a0: |[0217a0] dnsfilter.android.dnsserverconfig.widget.listitem.DNSServerConfigEntry.:(Ljava/lang/String;Ljava/lang/String;Ldnsfilter/android/dnsserverconfig/widget/DNSType;Z)V │ │ +0217b0: 1a04 0000 |0000: const-string v4, "" // string@0000 │ │ +0217b4: 7110 4d05 0a00 |0002: invoke-static {v10}, Ljava/lang/Boolean;.valueOf:(Z)Ljava/lang/Boolean; // method@054d │ │ +0217ba: 0c05 |0005: move-result-object v5 │ │ +0217bc: 0760 |0006: move-object v0, v6 │ │ +0217be: 0771 |0007: move-object v1, v7 │ │ +0217c0: 0782 |0008: move-object v2, v8 │ │ +0217c2: 0793 |0009: move-object v3, v9 │ │ +0217c4: 7606 4104 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@0441 │ │ +0217ca: 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; │ │ @@ -51203,25 +51203,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 │ │ -021770: |[021770] dnsfilter.android.dnsserverconfig.widget.listitem.DNSServerConfigEntry.:(Ljava/lang/String;Ljava/lang/String;Z)V │ │ -021780: 7100 4704 0000 |0000: invoke-static {}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.getDefaultDNSType:()Ldnsfilter/android/dnsserverconfig/widget/DNSType; // method@0447 │ │ -021786: 0c03 |0003: move-result-object v3 │ │ -021788: 1a04 0000 |0004: const-string v4, "" // string@0000 │ │ -02178c: 7110 4d05 0900 |0006: invoke-static {v9}, Ljava/lang/Boolean;.valueOf:(Z)Ljava/lang/Boolean; // method@054d │ │ -021792: 0c05 |0009: move-result-object v5 │ │ -021794: 0760 |000a: move-object v0, v6 │ │ -021796: 0771 |000b: move-object v1, v7 │ │ -021798: 0782 |000c: move-object v2, v8 │ │ -02179a: 7606 4104 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@0441 │ │ -0217a0: 0e00 |0010: return-void │ │ +02176c: |[02176c] dnsfilter.android.dnsserverconfig.widget.listitem.DNSServerConfigEntry.:(Ljava/lang/String;Ljava/lang/String;Z)V │ │ +02177c: 7100 4704 0000 |0000: invoke-static {}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.getDefaultDNSType:()Ldnsfilter/android/dnsserverconfig/widget/DNSType; // method@0447 │ │ +021782: 0c03 |0003: move-result-object v3 │ │ +021784: 1a04 0000 |0004: const-string v4, "" // string@0000 │ │ +021788: 7110 4d05 0900 |0006: invoke-static {v9}, Ljava/lang/Boolean;.valueOf:(Z)Ljava/lang/Boolean; // method@054d │ │ +02178e: 0c05 |0009: move-result-object v5 │ │ +021790: 0760 |000a: move-object v0, v6 │ │ +021792: 0771 |000b: move-object v1, v7 │ │ +021794: 0782 |000c: move-object v2, v8 │ │ +021796: 7606 4104 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@0441 │ │ +02179c: 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; │ │ @@ -51232,25 +51232,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 │ │ -02173c: |[02173c] dnsfilter.android.dnsserverconfig.widget.listitem.DNSServerConfigEntry.:(Ljava/lang/String;Z)V │ │ -02174c: 7100 4704 0000 |0000: invoke-static {}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.getDefaultDNSType:()Ldnsfilter/android/dnsserverconfig/widget/DNSType; // method@0447 │ │ -021752: 0c03 |0003: move-result-object v3 │ │ -021754: 1a04 0000 |0004: const-string v4, "" // string@0000 │ │ -021758: 7110 4d05 0800 |0006: invoke-static {v8}, Ljava/lang/Boolean;.valueOf:(Z)Ljava/lang/Boolean; // method@054d │ │ -02175e: 0c05 |0009: move-result-object v5 │ │ -021760: 1a02 7c00 |000a: const-string v2, "53" // string@007c │ │ -021764: 0760 |000c: move-object v0, v6 │ │ -021766: 0771 |000d: move-object v1, v7 │ │ -021768: 7606 4104 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@0441 │ │ -02176e: 0e00 |0011: return-void │ │ +021738: |[021738] dnsfilter.android.dnsserverconfig.widget.listitem.DNSServerConfigEntry.:(Ljava/lang/String;Z)V │ │ +021748: 7100 4704 0000 |0000: invoke-static {}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.getDefaultDNSType:()Ldnsfilter/android/dnsserverconfig/widget/DNSType; // method@0447 │ │ +02174e: 0c03 |0003: move-result-object v3 │ │ +021750: 1a04 0000 |0004: const-string v4, "" // string@0000 │ │ +021754: 7110 4d05 0800 |0006: invoke-static {v8}, Ljava/lang/Boolean;.valueOf:(Z)Ljava/lang/Boolean; // method@054d │ │ +02175a: 0c05 |0009: move-result-object v5 │ │ +02175c: 1a02 7c00 |000a: const-string v2, "53" // string@007c │ │ +021760: 0760 |000c: move-object v0, v6 │ │ +021762: 0771 |000d: move-object v1, v7 │ │ +021764: 7606 4104 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@0441 │ │ +02176a: 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 │ │ @@ -51260,24 +51260,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 │ │ -021560: |[021560] dnsfilter.android.dnsserverconfig.widget.listitem.DNSServerConfigEntry.getBracedIP:(Ljava/lang/String;)Ljava/lang/String; │ │ -021570: 2200 2d01 |0000: new-instance v0, Ljava/lang/StringBuilder; // type@012d │ │ -021574: 1a01 f004 |0002: const-string v1, "[" // string@04f0 │ │ -021578: 7020 a805 1000 |0004: invoke-direct {v0, v1}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05a8 │ │ -02157e: 6e20 ad05 2000 |0007: invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -021584: 1a02 0e05 |000a: const-string v2, "]" // string@050e │ │ -021588: 6e20 ad05 2000 |000c: invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -02158e: 6e10 af05 0000 |000f: invoke-virtual {v0}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ -021594: 0c02 |0012: move-result-object v2 │ │ -021596: 1102 |0013: return-object v2 │ │ +02155c: |[02155c] dnsfilter.android.dnsserverconfig.widget.listitem.DNSServerConfigEntry.getBracedIP:(Ljava/lang/String;)Ljava/lang/String; │ │ +02156c: 2200 2d01 |0000: new-instance v0, Ljava/lang/StringBuilder; // type@012d │ │ +021570: 1a01 f004 |0002: const-string v1, "[" // string@04f0 │ │ +021574: 7020 a805 1000 |0004: invoke-direct {v0, v1}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05a8 │ │ +02157a: 6e20 ad05 2000 |0007: invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +021580: 1a02 0e05 |000a: const-string v2, "]" // string@050e │ │ +021584: 6e20 ad05 2000 |000c: invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +02158a: 6e10 af05 0000 |000f: invoke-virtual {v0}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ +021590: 0c02 |0012: move-result-object v2 │ │ +021592: 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;) │ │ @@ -51285,51 +51285,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 │ │ -021488: |[021488] dnsfilter.android.dnsserverconfig.widget.listitem.DNSServerConfigEntry.getDefaultDNSType:()Ldnsfilter/android/dnsserverconfig/widget/DNSType; │ │ -021498: 7100 3404 0000 |0000: invoke-static {}, Ldnsfilter/android/dnsserverconfig/widget/DNSType;.values:()[Ldnsfilter/android/dnsserverconfig/widget/DNSType; // method@0434 │ │ -02149e: 0c00 |0003: move-result-object v0 │ │ -0214a0: 6201 c702 |0004: sget-object v1, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.DEFAULT_DNS_SELECTION:Ljava/lang/Byte; // field@02c7 │ │ -0214a4: 6e10 4e05 0100 |0006: invoke-virtual {v1}, Ljava/lang/Byte;.byteValue:()B // method@054e │ │ -0214aa: 0a01 |0009: move-result v1 │ │ -0214ac: 4600 0001 |000a: aget-object v0, v0, v1 │ │ -0214b0: 1100 |000c: return-object v0 │ │ +021484: |[021484] dnsfilter.android.dnsserverconfig.widget.listitem.DNSServerConfigEntry.getDefaultDNSType:()Ldnsfilter/android/dnsserverconfig/widget/DNSType; │ │ +021494: 7100 3404 0000 |0000: invoke-static {}, Ldnsfilter/android/dnsserverconfig/widget/DNSType;.values:()[Ldnsfilter/android/dnsserverconfig/widget/DNSType; // method@0434 │ │ +02149a: 0c00 |0003: move-result-object v0 │ │ +02149c: 6201 c702 |0004: sget-object v1, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.DEFAULT_DNS_SELECTION:Ljava/lang/Byte; // field@02c7 │ │ +0214a0: 6e10 4e05 0100 |0006: invoke-virtual {v1}, Ljava/lang/Byte;.byteValue:()B // method@054e │ │ +0214a6: 0a01 |0009: move-result v1 │ │ +0214a8: 4600 0001 |000a: aget-object v0, v0, v1 │ │ +0214ac: 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 │ │ -0215b0: |[0215b0] dnsfilter.android.dnsserverconfig.widget.listitem.DNSServerConfigEntry.getEndpointAsString:(Ljava/lang/String;)Ljava/lang/String; │ │ -0215c0: 3802 1800 |0000: if-eqz v2, 0018 // +0018 │ │ -0215c4: 6e10 9105 0200 |0002: invoke-virtual {v2}, Ljava/lang/String;.isEmpty:()Z // method@0591 │ │ -0215ca: 0a00 |0005: move-result v0 │ │ -0215cc: 3800 0300 |0006: if-eqz v0, 0009 // +0003 │ │ -0215d0: 2810 |0008: goto 0018 // +0010 │ │ -0215d2: 2200 2d01 |0009: new-instance v0, Ljava/lang/StringBuilder; // type@012d │ │ -0215d6: 1a01 8500 |000b: const-string v1, "::" // string@0085 │ │ -0215da: 7020 a805 1000 |000d: invoke-direct {v0, v1}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05a8 │ │ -0215e0: 6e20 ad05 2000 |0010: invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -0215e6: 6e10 af05 0000 |0013: invoke-virtual {v0}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ -0215ec: 0c02 |0016: move-result-object v2 │ │ -0215ee: 1102 |0017: return-object v2 │ │ -0215f0: 1a02 0000 |0018: const-string v2, "" // string@0000 │ │ -0215f4: 1102 |001a: return-object v2 │ │ +0215ac: |[0215ac] dnsfilter.android.dnsserverconfig.widget.listitem.DNSServerConfigEntry.getEndpointAsString:(Ljava/lang/String;)Ljava/lang/String; │ │ +0215bc: 3802 1800 |0000: if-eqz v2, 0018 // +0018 │ │ +0215c0: 6e10 9105 0200 |0002: invoke-virtual {v2}, Ljava/lang/String;.isEmpty:()Z // method@0591 │ │ +0215c6: 0a00 |0005: move-result v0 │ │ +0215c8: 3800 0300 |0006: if-eqz v0, 0009 // +0003 │ │ +0215cc: 2810 |0008: goto 0018 // +0010 │ │ +0215ce: 2200 2d01 |0009: new-instance v0, Ljava/lang/StringBuilder; // type@012d │ │ +0215d2: 1a01 8500 |000b: const-string v1, "::" // string@0085 │ │ +0215d6: 7020 a805 1000 |000d: invoke-direct {v0, v1}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05a8 │ │ +0215dc: 6e20 ad05 2000 |0010: invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +0215e2: 6e10 af05 0000 |0013: invoke-virtual {v0}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ +0215e8: 0c02 |0016: move-result-object v2 │ │ +0215ea: 1102 |0017: return-object v2 │ │ +0215ec: 1a02 0000 |0018: const-string v2, "" // string@0000 │ │ +0215f0: 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; │ │ @@ -51339,20 +51339,20 @@ │ │ type : '(Z)Ljava/lang/String;' │ │ access : 0x0009 (PUBLIC STATIC) │ │ code - │ │ registers : 1 │ │ ins : 1 │ │ outs : 0 │ │ insns size : 8 16-bit code units │ │ -021610: |[021610] dnsfilter.android.dnsserverconfig.widget.listitem.DNSServerConfigEntry.getIsActiveAsString:(Z)Ljava/lang/String; │ │ -021620: 3800 0500 |0000: if-eqz v0, 0005 // +0005 │ │ -021624: 1a00 0000 |0002: const-string v0, "" // string@0000 │ │ -021628: 1100 |0004: return-object v0 │ │ -02162a: 1a00 b10b |0005: const-string v0, "~" // string@0bb1 │ │ -02162e: 1100 |0007: return-object v0 │ │ +02160c: |[02160c] dnsfilter.android.dnsserverconfig.widget.listitem.DNSServerConfigEntry.getIsActiveAsString:(Z)Ljava/lang/String; │ │ +02161c: 3800 0500 |0000: if-eqz v0, 0005 // +0005 │ │ +021620: 1a00 0000 |0002: const-string v0, "" // string@0000 │ │ +021624: 1100 |0004: return-object v0 │ │ +021626: 1a00 b10b |0005: const-string v0, "~" // string@0bb1 │ │ +02162a: 1100 |0007: return-object v0 │ │ catches : (none) │ │ positions : │ │ 0x0002 line=172 │ │ 0x0005 line=174 │ │ locals : │ │ 0x0000 - 0x0008 reg=0 (null) Z │ │ │ │ @@ -51362,64 +51362,64 @@ │ │ type : '(Ljava/lang/Object;)Z' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 6 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 90 16-bit code units │ │ -021394: |[021394] dnsfilter.android.dnsserverconfig.widget.listitem.DNSServerConfigEntry.equals:(Ljava/lang/Object;)Z │ │ -0213a4: 1210 |0000: const/4 v0, #int 1 // #1 │ │ -0213a6: 3354 0300 |0001: if-ne v4, v5, 0004 // +0003 │ │ -0213aa: 0f00 |0003: return v0 │ │ -0213ac: 1201 |0004: const/4 v1, #int 0 // #0 │ │ -0213ae: 3805 5400 |0005: if-eqz v5, 0059 // +0054 │ │ -0213b2: 6e10 7505 0400 |0007: invoke-virtual {v4}, Ljava/lang/Object;.getClass:()Ljava/lang/Class; // method@0575 │ │ -0213b8: 0c02 |000a: move-result-object v2 │ │ -0213ba: 6e10 7505 0500 |000b: invoke-virtual {v5}, Ljava/lang/Object;.getClass:()Ljava/lang/Class; // method@0575 │ │ -0213c0: 0c03 |000e: move-result-object v3 │ │ -0213c2: 3232 0300 |000f: if-eq v2, v3, 0012 // +0003 │ │ -0213c6: 2848 |0011: goto 0059 // +0048 │ │ -0213c8: 1f05 e800 |0012: check-cast v5, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry; // type@00e8 │ │ -0213cc: 5442 d202 |0014: iget-object v2, v4, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.ip:Ljava/lang/String; // field@02d2 │ │ -0213d0: 5453 d202 |0016: iget-object v3, v5, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.ip:Ljava/lang/String; // field@02d2 │ │ -0213d4: 6e20 8b05 3200 |0018: invoke-virtual {v2, v3}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058b │ │ -0213da: 0a02 |001b: move-result v2 │ │ -0213dc: 3802 3b00 |001c: if-eqz v2, 0057 // +003b │ │ -0213e0: 5442 d402 |001e: iget-object v2, v4, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.port:Ljava/lang/String; // field@02d4 │ │ -0213e4: 5453 d402 |0020: iget-object v3, v5, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.port:Ljava/lang/String; // field@02d4 │ │ -0213e8: 6e20 8b05 3200 |0022: invoke-virtual {v2, v3}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058b │ │ -0213ee: 0a02 |0025: move-result v2 │ │ -0213f0: 3802 3100 |0026: if-eqz v2, 0057 // +0031 │ │ -0213f4: 5442 d502 |0028: iget-object v2, v4, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.protocol:Ldnsfilter/android/dnsserverconfig/widget/DNSType; // field@02d5 │ │ -0213f8: 5453 d502 |002a: iget-object v3, v5, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.protocol:Ldnsfilter/android/dnsserverconfig/widget/DNSType; // field@02d5 │ │ -0213fc: 3332 2b00 |002c: if-ne v2, v3, 0057 // +002b │ │ -021400: 5442 d102 |002e: iget-object v2, v4, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.endpoint:Ljava/lang/String; // field@02d1 │ │ -021404: 5453 d102 |0030: iget-object v3, v5, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.endpoint:Ljava/lang/String; // field@02d1 │ │ -021408: 6e20 8b05 3200 |0032: invoke-virtual {v2, v3}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058b │ │ -02140e: 0a02 |0035: move-result v2 │ │ -021410: 3802 2100 |0036: if-eqz v2, 0057 // +0021 │ │ -021414: 5442 d302 |0038: iget-object v2, v4, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.isActive:Ljava/lang/Boolean; // field@02d3 │ │ -021418: 5453 d302 |003a: iget-object v3, v5, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.isActive:Ljava/lang/Boolean; // field@02d3 │ │ -02141c: 6e20 4a05 3200 |003c: invoke-virtual {v2, v3}, Ljava/lang/Boolean;.equals:(Ljava/lang/Object;)Z // method@054a │ │ -021422: 0a02 |003f: move-result v2 │ │ -021424: 3802 1700 |0040: if-eqz v2, 0057 // +0017 │ │ -021428: 5442 d602 |0042: iget-object v2, v4, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.testResult:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult; // field@02d6 │ │ -02142c: 5453 d602 |0044: iget-object v3, v5, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.testResult:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult; // field@02d6 │ │ -021430: 6e20 2604 3200 |0046: invoke-virtual {v2, v3}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult;.equals:(Ljava/lang/Object;)Z // method@0426 │ │ -021436: 0a02 |0049: move-result v2 │ │ -021438: 3802 0d00 |004a: if-eqz v2, 0057 // +000d │ │ -02143c: 5442 d702 |004c: iget-object v2, v4, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.validationResult:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult; // field@02d7 │ │ -021440: 5455 d702 |004e: iget-object v5, v5, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.validationResult:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult; // field@02d7 │ │ -021444: 6e20 fd03 5200 |0050: invoke-virtual {v2, v5}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult;.equals:(Ljava/lang/Object;)Z // method@03fd │ │ -02144a: 0a05 |0053: move-result v5 │ │ -02144c: 3805 0300 |0054: if-eqz v5, 0057 // +0003 │ │ -021450: 2802 |0056: goto 0058 // +0002 │ │ -021452: 1200 |0057: const/4 v0, #int 0 // #0 │ │ -021454: 0f00 |0058: return v0 │ │ -021456: 0f01 |0059: return v1 │ │ +021390: |[021390] dnsfilter.android.dnsserverconfig.widget.listitem.DNSServerConfigEntry.equals:(Ljava/lang/Object;)Z │ │ +0213a0: 1210 |0000: const/4 v0, #int 1 // #1 │ │ +0213a2: 3354 0300 |0001: if-ne v4, v5, 0004 // +0003 │ │ +0213a6: 0f00 |0003: return v0 │ │ +0213a8: 1201 |0004: const/4 v1, #int 0 // #0 │ │ +0213aa: 3805 5400 |0005: if-eqz v5, 0059 // +0054 │ │ +0213ae: 6e10 7505 0400 |0007: invoke-virtual {v4}, Ljava/lang/Object;.getClass:()Ljava/lang/Class; // method@0575 │ │ +0213b4: 0c02 |000a: move-result-object v2 │ │ +0213b6: 6e10 7505 0500 |000b: invoke-virtual {v5}, Ljava/lang/Object;.getClass:()Ljava/lang/Class; // method@0575 │ │ +0213bc: 0c03 |000e: move-result-object v3 │ │ +0213be: 3232 0300 |000f: if-eq v2, v3, 0012 // +0003 │ │ +0213c2: 2848 |0011: goto 0059 // +0048 │ │ +0213c4: 1f05 e800 |0012: check-cast v5, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry; // type@00e8 │ │ +0213c8: 5442 d202 |0014: iget-object v2, v4, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.ip:Ljava/lang/String; // field@02d2 │ │ +0213cc: 5453 d202 |0016: iget-object v3, v5, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.ip:Ljava/lang/String; // field@02d2 │ │ +0213d0: 6e20 8b05 3200 |0018: invoke-virtual {v2, v3}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058b │ │ +0213d6: 0a02 |001b: move-result v2 │ │ +0213d8: 3802 3b00 |001c: if-eqz v2, 0057 // +003b │ │ +0213dc: 5442 d402 |001e: iget-object v2, v4, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.port:Ljava/lang/String; // field@02d4 │ │ +0213e0: 5453 d402 |0020: iget-object v3, v5, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.port:Ljava/lang/String; // field@02d4 │ │ +0213e4: 6e20 8b05 3200 |0022: invoke-virtual {v2, v3}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058b │ │ +0213ea: 0a02 |0025: move-result v2 │ │ +0213ec: 3802 3100 |0026: if-eqz v2, 0057 // +0031 │ │ +0213f0: 5442 d502 |0028: iget-object v2, v4, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.protocol:Ldnsfilter/android/dnsserverconfig/widget/DNSType; // field@02d5 │ │ +0213f4: 5453 d502 |002a: iget-object v3, v5, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.protocol:Ldnsfilter/android/dnsserverconfig/widget/DNSType; // field@02d5 │ │ +0213f8: 3332 2b00 |002c: if-ne v2, v3, 0057 // +002b │ │ +0213fc: 5442 d102 |002e: iget-object v2, v4, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.endpoint:Ljava/lang/String; // field@02d1 │ │ +021400: 5453 d102 |0030: iget-object v3, v5, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.endpoint:Ljava/lang/String; // field@02d1 │ │ +021404: 6e20 8b05 3200 |0032: invoke-virtual {v2, v3}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058b │ │ +02140a: 0a02 |0035: move-result v2 │ │ +02140c: 3802 2100 |0036: if-eqz v2, 0057 // +0021 │ │ +021410: 5442 d302 |0038: iget-object v2, v4, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.isActive:Ljava/lang/Boolean; // field@02d3 │ │ +021414: 5453 d302 |003a: iget-object v3, v5, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.isActive:Ljava/lang/Boolean; // field@02d3 │ │ +021418: 6e20 4a05 3200 |003c: invoke-virtual {v2, v3}, Ljava/lang/Boolean;.equals:(Ljava/lang/Object;)Z // method@054a │ │ +02141e: 0a02 |003f: move-result v2 │ │ +021420: 3802 1700 |0040: if-eqz v2, 0057 // +0017 │ │ +021424: 5442 d602 |0042: iget-object v2, v4, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.testResult:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult; // field@02d6 │ │ +021428: 5453 d602 |0044: iget-object v3, v5, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.testResult:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult; // field@02d6 │ │ +02142c: 6e20 2604 3200 |0046: invoke-virtual {v2, v3}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult;.equals:(Ljava/lang/Object;)Z // method@0426 │ │ +021432: 0a02 |0049: move-result v2 │ │ +021434: 3802 0d00 |004a: if-eqz v2, 0057 // +000d │ │ +021438: 5442 d702 |004c: iget-object v2, v4, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.validationResult:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult; // field@02d7 │ │ +02143c: 5455 d702 |004e: iget-object v5, v5, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.validationResult:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult; // field@02d7 │ │ +021440: 6e20 fd03 5200 |0050: invoke-virtual {v2, v5}, Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult;.equals:(Ljava/lang/Object;)Z // method@03fd │ │ +021446: 0a05 |0053: move-result v5 │ │ +021448: 3805 0300 |0054: if-eqz v5, 0057 // +0003 │ │ +02144c: 2802 |0056: goto 0058 // +0002 │ │ +02144e: 1200 |0057: const/4 v0, #int 0 // #0 │ │ +021450: 0f00 |0058: return v0 │ │ +021452: 0f01 |0059: return v1 │ │ catches : (none) │ │ positions : │ │ 0x0007 line=139 │ │ 0x0012 line=140 │ │ 0x0014 line=141 │ │ 0x0022 line=142 │ │ 0x0032 line=144 │ │ @@ -51435,17 +51435,17 @@ │ │ type : '()Ljava/lang/String;' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 0 │ │ insns size : 3 16-bit code units │ │ -021598: |[021598] dnsfilter.android.dnsserverconfig.widget.listitem.DNSServerConfigEntry.getEndpoint:()Ljava/lang/String; │ │ -0215a8: 5410 d102 |0000: iget-object v0, v1, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.endpoint:Ljava/lang/String; // field@02d1 │ │ -0215ac: 1100 |0002: return-object v0 │ │ +021594: |[021594] dnsfilter.android.dnsserverconfig.widget.listitem.DNSServerConfigEntry.getEndpoint:()Ljava/lang/String; │ │ +0215a4: 5410 d102 |0000: iget-object v0, v1, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.endpoint:Ljava/lang/String; // field@02d1 │ │ +0215a8: 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;) │ │ @@ -51453,17 +51453,17 @@ │ │ type : '()Ljava/lang/String;' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 0 │ │ insns size : 3 16-bit code units │ │ -0215f8: |[0215f8] dnsfilter.android.dnsserverconfig.widget.listitem.DNSServerConfigEntry.getIp:()Ljava/lang/String; │ │ -021608: 5410 d202 |0000: iget-object v0, v1, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.ip:Ljava/lang/String; // field@02d2 │ │ -02160c: 1100 |0002: return-object v0 │ │ +0215f4: |[0215f4] dnsfilter.android.dnsserverconfig.widget.listitem.DNSServerConfigEntry.getIp:()Ljava/lang/String; │ │ +021604: 5410 d202 |0000: iget-object v0, v1, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.ip:Ljava/lang/String; // field@02d2 │ │ +021608: 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;) │ │ @@ -51471,17 +51471,17 @@ │ │ type : '()Ljava/lang/Boolean;' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 0 │ │ insns size : 3 16-bit code units │ │ -021548: |[021548] dnsfilter.android.dnsserverconfig.widget.listitem.DNSServerConfigEntry.getIsActive:()Ljava/lang/Boolean; │ │ -021558: 5410 d302 |0000: iget-object v0, v1, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.isActive:Ljava/lang/Boolean; // field@02d3 │ │ -02155c: 1100 |0002: return-object v0 │ │ +021544: |[021544] dnsfilter.android.dnsserverconfig.widget.listitem.DNSServerConfigEntry.getIsActive:()Ljava/lang/Boolean; │ │ +021554: 5410 d302 |0000: iget-object v0, v1, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.isActive:Ljava/lang/Boolean; // field@02d3 │ │ +021558: 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;) │ │ @@ -51489,17 +51489,17 @@ │ │ type : '()Ljava/lang/String;' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 0 │ │ insns size : 3 16-bit code units │ │ -021630: |[021630] dnsfilter.android.dnsserverconfig.widget.listitem.DNSServerConfigEntry.getPort:()Ljava/lang/String; │ │ -021640: 5410 d402 |0000: iget-object v0, v1, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.port:Ljava/lang/String; // field@02d4 │ │ -021644: 1100 |0002: return-object v0 │ │ +02162c: |[02162c] dnsfilter.android.dnsserverconfig.widget.listitem.DNSServerConfigEntry.getPort:()Ljava/lang/String; │ │ +02163c: 5410 d402 |0000: iget-object v0, v1, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.port:Ljava/lang/String; // field@02d4 │ │ +021640: 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;) │ │ @@ -51507,17 +51507,17 @@ │ │ type : '()Ldnsfilter/android/dnsserverconfig/widget/DNSType;' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 0 │ │ insns size : 3 16-bit code units │ │ -0214b4: |[0214b4] dnsfilter.android.dnsserverconfig.widget.listitem.DNSServerConfigEntry.getProtocol:()Ldnsfilter/android/dnsserverconfig/widget/DNSType; │ │ -0214c4: 5410 d502 |0000: iget-object v0, v1, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.protocol:Ldnsfilter/android/dnsserverconfig/widget/DNSType; // field@02d5 │ │ -0214c8: 1100 |0002: return-object v0 │ │ +0214b0: |[0214b0] dnsfilter.android.dnsserverconfig.widget.listitem.DNSServerConfigEntry.getProtocol:()Ldnsfilter/android/dnsserverconfig/widget/DNSType; │ │ +0214c0: 5410 d502 |0000: iget-object v0, v1, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.protocol:Ldnsfilter/android/dnsserverconfig/widget/DNSType; // field@02d5 │ │ +0214c4: 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;) │ │ @@ -51525,17 +51525,17 @@ │ │ type : '()Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult;' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 0 │ │ insns size : 3 16-bit code units │ │ -021470: |[021470] dnsfilter.android.dnsserverconfig.widget.listitem.DNSServerConfigEntry.getTestResult:()Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult; │ │ -021480: 5410 d602 |0000: iget-object v0, v1, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.testResult:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult; // field@02d6 │ │ -021484: 1100 |0002: return-object v0 │ │ +02146c: |[02146c] dnsfilter.android.dnsserverconfig.widget.listitem.DNSServerConfigEntry.getTestResult:()Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult; │ │ +02147c: 5410 d602 |0000: iget-object v0, v1, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.testResult:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult; // field@02d6 │ │ +021480: 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;) │ │ @@ -51543,17 +51543,17 @@ │ │ type : '()Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult;' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 0 │ │ insns size : 3 16-bit code units │ │ -021458: |[021458] dnsfilter.android.dnsserverconfig.widget.listitem.DNSServerConfigEntry.getValidationResult:()Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult; │ │ -021468: 5410 d702 |0000: iget-object v0, v1, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.validationResult:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult; // field@02d7 │ │ -02146c: 1100 |0002: return-object v0 │ │ +021454: |[021454] dnsfilter.android.dnsserverconfig.widget.listitem.DNSServerConfigEntry.getValidationResult:()Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult; │ │ +021464: 5410 d702 |0000: iget-object v0, v1, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.validationResult:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult; // field@02d7 │ │ +021468: 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;) │ │ @@ -51561,48 +51561,48 @@ │ │ type : '()I' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 11 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 54 16-bit code units │ │ -0214cc: |[0214cc] dnsfilter.android.dnsserverconfig.widget.listitem.DNSServerConfigEntry.hashCode:()I │ │ -0214dc: 54a0 d202 |0000: iget-object v0, v10, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.ip:Ljava/lang/String; // field@02d2 │ │ -0214e0: 54a1 d402 |0002: iget-object v1, v10, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.port:Ljava/lang/String; // field@02d4 │ │ -0214e4: 54a2 d502 |0004: iget-object v2, v10, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.protocol:Ldnsfilter/android/dnsserverconfig/widget/DNSType; // field@02d5 │ │ -0214e8: 54a3 d102 |0006: iget-object v3, v10, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.endpoint:Ljava/lang/String; // field@02d1 │ │ -0214ec: 54a4 d302 |0008: iget-object v4, v10, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.isActive:Ljava/lang/Boolean; // field@02d3 │ │ -0214f0: 54a5 d602 |000a: iget-object v5, v10, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.testResult:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult; // field@02d6 │ │ -0214f4: 54a6 d702 |000c: iget-object v6, v10, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.validationResult:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult; // field@02d7 │ │ -0214f8: 1277 |000e: const/4 v7, #int 7 // #7 │ │ -0214fa: 2378 ac01 |000f: new-array v8, v7, [Ljava/lang/Object; // type@01ac │ │ -0214fe: 1209 |0011: const/4 v9, #int 0 // #0 │ │ -021500: 4d00 0809 |0012: aput-object v0, v8, v9 │ │ -021504: 1210 |0014: const/4 v0, #int 1 // #1 │ │ -021506: 4d01 0800 |0015: aput-object v1, v8, v0 │ │ -02150a: 1220 |0017: const/4 v0, #int 2 // #2 │ │ -02150c: 4d02 0800 |0018: aput-object v2, v8, v0 │ │ -021510: 1230 |001a: const/4 v0, #int 3 // #3 │ │ -021512: 4d03 0800 |001b: aput-object v3, v8, v0 │ │ -021516: 1240 |001d: const/4 v0, #int 4 // #4 │ │ -021518: 4d04 0800 |001e: aput-object v4, v8, v0 │ │ -02151c: 1250 |0020: const/4 v0, #int 5 // #5 │ │ -02151e: 4d05 0800 |0021: aput-object v5, v8, v0 │ │ -021522: 1260 |0023: const/4 v0, #int 6 // #6 │ │ -021524: 4d06 0800 |0024: aput-object v6, v8, v0 │ │ -021528: 1200 |0026: const/4 v0, #int 0 // #0 │ │ -02152a: 3579 0e00 |0027: if-ge v9, v7, 0035 // +000e │ │ -02152e: da00 001f |0029: mul-int/lit8 v0, v0, #int 31 // #1f │ │ -021532: 4601 0809 |002b: aget-object v1, v8, v9 │ │ -021536: 6e10 7605 0100 |002d: invoke-virtual {v1}, Ljava/lang/Object;.hashCode:()I // method@0576 │ │ -02153c: 0a01 |0030: move-result v1 │ │ -02153e: b010 |0031: add-int/2addr v0, v1 │ │ -021540: d809 0901 |0032: add-int/lit8 v9, v9, #int 1 // #01 │ │ -021544: 28f3 |0034: goto 0027 // -000d │ │ -021546: 0f00 |0035: return v0 │ │ +0214c8: |[0214c8] dnsfilter.android.dnsserverconfig.widget.listitem.DNSServerConfigEntry.hashCode:()I │ │ +0214d8: 54a0 d202 |0000: iget-object v0, v10, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.ip:Ljava/lang/String; // field@02d2 │ │ +0214dc: 54a1 d402 |0002: iget-object v1, v10, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.port:Ljava/lang/String; // field@02d4 │ │ +0214e0: 54a2 d502 |0004: iget-object v2, v10, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.protocol:Ldnsfilter/android/dnsserverconfig/widget/DNSType; // field@02d5 │ │ +0214e4: 54a3 d102 |0006: iget-object v3, v10, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.endpoint:Ljava/lang/String; // field@02d1 │ │ +0214e8: 54a4 d302 |0008: iget-object v4, v10, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.isActive:Ljava/lang/Boolean; // field@02d3 │ │ +0214ec: 54a5 d602 |000a: iget-object v5, v10, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.testResult:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult; // field@02d6 │ │ +0214f0: 54a6 d702 |000c: iget-object v6, v10, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.validationResult:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult; // field@02d7 │ │ +0214f4: 1277 |000e: const/4 v7, #int 7 // #7 │ │ +0214f6: 2378 ac01 |000f: new-array v8, v7, [Ljava/lang/Object; // type@01ac │ │ +0214fa: 1209 |0011: const/4 v9, #int 0 // #0 │ │ +0214fc: 4d00 0809 |0012: aput-object v0, v8, v9 │ │ +021500: 1210 |0014: const/4 v0, #int 1 // #1 │ │ +021502: 4d01 0800 |0015: aput-object v1, v8, v0 │ │ +021506: 1220 |0017: const/4 v0, #int 2 // #2 │ │ +021508: 4d02 0800 |0018: aput-object v2, v8, v0 │ │ +02150c: 1230 |001a: const/4 v0, #int 3 // #3 │ │ +02150e: 4d03 0800 |001b: aput-object v3, v8, v0 │ │ +021512: 1240 |001d: const/4 v0, #int 4 // #4 │ │ +021514: 4d04 0800 |001e: aput-object v4, v8, v0 │ │ +021518: 1250 |0020: const/4 v0, #int 5 // #5 │ │ +02151a: 4d05 0800 |0021: aput-object v5, v8, v0 │ │ +02151e: 1260 |0023: const/4 v0, #int 6 // #6 │ │ +021520: 4d06 0800 |0024: aput-object v6, v8, v0 │ │ +021524: 1200 |0026: const/4 v0, #int 0 // #0 │ │ +021526: 3579 0e00 |0027: if-ge v9, v7, 0035 // +000e │ │ +02152a: da00 001f |0029: mul-int/lit8 v0, v0, #int 31 // #1f │ │ +02152e: 4601 0809 |002b: aget-object v1, v8, v9 │ │ +021532: 6e10 7605 0100 |002d: invoke-virtual {v1}, Ljava/lang/Object;.hashCode:()I // method@0576 │ │ +021538: 0a01 |0030: move-result v1 │ │ +02153a: b010 |0031: add-int/2addr v0, v1 │ │ +02153c: d809 0901 |0032: add-int/lit8 v9, v9, #int 1 // #01 │ │ +021540: 28f3 |0034: goto 0027 // -000d │ │ +021542: 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; │ │ │ │ @@ -51611,17 +51611,17 @@ │ │ type : '(Ljava/lang/String;)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 2 │ │ outs : 0 │ │ insns size : 3 16-bit code units │ │ -021830: |[021830] dnsfilter.android.dnsserverconfig.widget.listitem.DNSServerConfigEntry.setEndpoint:(Ljava/lang/String;)V │ │ -021840: 5b01 d102 |0000: iput-object v1, v0, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.endpoint:Ljava/lang/String; // field@02d1 │ │ -021844: 0e00 |0002: return-void │ │ +02182c: |[02182c] dnsfilter.android.dnsserverconfig.widget.listitem.DNSServerConfigEntry.setEndpoint:(Ljava/lang/String;)V │ │ +02183c: 5b01 d102 |0000: iput-object v1, v0, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.endpoint:Ljava/lang/String; // field@02d1 │ │ +021840: 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; │ │ │ │ @@ -51630,17 +51630,17 @@ │ │ type : '(Ljava/lang/String;)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 2 │ │ outs : 0 │ │ insns size : 3 16-bit code units │ │ -021848: |[021848] dnsfilter.android.dnsserverconfig.widget.listitem.DNSServerConfigEntry.setIp:(Ljava/lang/String;)V │ │ -021858: 5b01 d202 |0000: iput-object v1, v0, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.ip:Ljava/lang/String; // field@02d2 │ │ -02185c: 0e00 |0002: return-void │ │ +021844: |[021844] dnsfilter.android.dnsserverconfig.widget.listitem.DNSServerConfigEntry.setIp:(Ljava/lang/String;)V │ │ +021854: 5b01 d202 |0000: iput-object v1, v0, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.ip:Ljava/lang/String; // field@02d2 │ │ +021858: 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; │ │ │ │ @@ -51649,17 +51649,17 @@ │ │ type : '(Ljava/lang/Boolean;)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 2 │ │ outs : 0 │ │ insns size : 3 16-bit code units │ │ -021860: |[021860] dnsfilter.android.dnsserverconfig.widget.listitem.DNSServerConfigEntry.setIsActive:(Ljava/lang/Boolean;)V │ │ -021870: 5b01 d302 |0000: iput-object v1, v0, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.isActive:Ljava/lang/Boolean; // field@02d3 │ │ -021874: 0e00 |0002: return-void │ │ +02185c: |[02185c] dnsfilter.android.dnsserverconfig.widget.listitem.DNSServerConfigEntry.setIsActive:(Ljava/lang/Boolean;)V │ │ +02186c: 5b01 d302 |0000: iput-object v1, v0, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.isActive:Ljava/lang/Boolean; // field@02d3 │ │ +021870: 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; │ │ │ │ @@ -51668,17 +51668,17 @@ │ │ type : '(Ljava/lang/String;)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 2 │ │ outs : 0 │ │ insns size : 3 16-bit code units │ │ -021878: |[021878] dnsfilter.android.dnsserverconfig.widget.listitem.DNSServerConfigEntry.setPort:(Ljava/lang/String;)V │ │ -021888: 5b01 d402 |0000: iput-object v1, v0, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.port:Ljava/lang/String; // field@02d4 │ │ -02188c: 0e00 |0002: return-void │ │ +021874: |[021874] dnsfilter.android.dnsserverconfig.widget.listitem.DNSServerConfigEntry.setPort:(Ljava/lang/String;)V │ │ +021884: 5b01 d402 |0000: iput-object v1, v0, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.port:Ljava/lang/String; // field@02d4 │ │ +021888: 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; │ │ │ │ @@ -51687,17 +51687,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 │ │ -021890: |[021890] dnsfilter.android.dnsserverconfig.widget.listitem.DNSServerConfigEntry.setProtocol:(Ldnsfilter/android/dnsserverconfig/widget/DNSType;)V │ │ -0218a0: 5b01 d502 |0000: iput-object v1, v0, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.protocol:Ldnsfilter/android/dnsserverconfig/widget/DNSType; // field@02d5 │ │ -0218a4: 0e00 |0002: return-void │ │ +02188c: |[02188c] dnsfilter.android.dnsserverconfig.widget.listitem.DNSServerConfigEntry.setProtocol:(Ldnsfilter/android/dnsserverconfig/widget/DNSType;)V │ │ +02189c: 5b01 d502 |0000: iput-object v1, v0, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.protocol:Ldnsfilter/android/dnsserverconfig/widget/DNSType; // field@02d5 │ │ +0218a0: 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; │ │ │ │ @@ -51706,17 +51706,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 │ │ -0218a8: |[0218a8] dnsfilter.android.dnsserverconfig.widget.listitem.DNSServerConfigEntry.setTestResult:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult;)V │ │ -0218b8: 5b01 d602 |0000: iput-object v1, v0, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.testResult:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult; // field@02d6 │ │ -0218bc: 0e00 |0002: return-void │ │ +0218a4: |[0218a4] dnsfilter.android.dnsserverconfig.widget.listitem.DNSServerConfigEntry.setTestResult:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult;)V │ │ +0218b4: 5b01 d602 |0000: iput-object v1, v0, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.testResult:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigTestResult; // field@02d6 │ │ +0218b8: 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; │ │ │ │ @@ -51725,17 +51725,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 │ │ -0218c0: |[0218c0] dnsfilter.android.dnsserverconfig.widget.listitem.DNSServerConfigEntry.setValidationResult:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult;)V │ │ -0218d0: 5b01 d702 |0000: iput-object v1, v0, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.validationResult:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult; // field@02d7 │ │ -0218d4: 0e00 |0002: return-void │ │ +0218bc: |[0218bc] dnsfilter.android.dnsserverconfig.widget.listitem.DNSServerConfigEntry.setValidationResult:(Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult;)V │ │ +0218cc: 5b01 d702 |0000: iput-object v1, v0, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.validationResult:Ldnsfilter/android/dnsserverconfig/widget/DNSServerConfigEntryValidationResult; // field@02d7 │ │ +0218d0: 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; │ │ │ │ @@ -51744,43 +51744,43 @@ │ │ type : '()Ljava/lang/String;' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 4 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 63 16-bit code units │ │ -021648: |[021648] dnsfilter.android.dnsserverconfig.widget.listitem.DNSServerConfigEntry.toString:()Ljava/lang/String; │ │ -021658: 2200 2d01 |0000: new-instance v0, Ljava/lang/StringBuilder; // type@012d │ │ -02165c: 7010 a705 0000 |0002: invoke-direct {v0}, Ljava/lang/StringBuilder;.:()V // method@05a7 │ │ -021662: 5431 d302 |0005: iget-object v1, v3, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.isActive:Ljava/lang/Boolean; // field@02d3 │ │ -021666: 6e10 4905 0100 |0007: invoke-virtual {v1}, Ljava/lang/Boolean;.booleanValue:()Z // method@0549 │ │ -02166c: 0a01 |000a: move-result v1 │ │ -02166e: 7110 4c04 0100 |000b: invoke-static {v1}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.getIsActiveAsString:(Z)Ljava/lang/String; // method@044c │ │ -021674: 0c01 |000e: move-result-object v1 │ │ -021676: 6e20 ad05 1000 |000f: invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -02167c: 5431 d202 |0012: iget-object v1, v3, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.ip:Ljava/lang/String; // field@02d2 │ │ -021680: 7110 4604 0100 |0014: invoke-static {v1}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.getBracedIP:(Ljava/lang/String;)Ljava/lang/String; // method@0446 │ │ -021686: 0c01 |0017: move-result-object v1 │ │ -021688: 6e20 ad05 1000 |0018: invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -02168e: 1a01 8500 |001b: const-string v1, "::" // string@0085 │ │ -021692: 6e20 ad05 1000 |001d: invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -021698: 5432 d402 |0020: iget-object v2, v3, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.port:Ljava/lang/String; // field@02d4 │ │ -02169c: 6e20 ad05 2000 |0022: invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -0216a2: 6e20 ad05 1000 |0025: invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -0216a8: 5431 d502 |0028: iget-object v1, v3, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.protocol:Ldnsfilter/android/dnsserverconfig/widget/DNSType; // field@02d5 │ │ -0216ac: 6e10 3204 0100 |002a: invoke-virtual {v1}, Ldnsfilter/android/dnsserverconfig/widget/DNSType;.toString:()Ljava/lang/String; // method@0432 │ │ -0216b2: 0c01 |002d: move-result-object v1 │ │ -0216b4: 6e20 ad05 1000 |002e: invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -0216ba: 5431 d102 |0031: iget-object v1, v3, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.endpoint:Ljava/lang/String; // field@02d1 │ │ -0216be: 7110 4904 0100 |0033: invoke-static {v1}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.getEndpointAsString:(Ljava/lang/String;)Ljava/lang/String; // method@0449 │ │ -0216c4: 0c01 |0036: move-result-object v1 │ │ -0216c6: 6e20 ad05 1000 |0037: invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -0216cc: 6e10 af05 0000 |003a: invoke-virtual {v0}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ -0216d2: 0c00 |003d: move-result-object v0 │ │ -0216d4: 1100 |003e: return-object v0 │ │ +021644: |[021644] dnsfilter.android.dnsserverconfig.widget.listitem.DNSServerConfigEntry.toString:()Ljava/lang/String; │ │ +021654: 2200 2d01 |0000: new-instance v0, Ljava/lang/StringBuilder; // type@012d │ │ +021658: 7010 a705 0000 |0002: invoke-direct {v0}, Ljava/lang/StringBuilder;.:()V // method@05a7 │ │ +02165e: 5431 d302 |0005: iget-object v1, v3, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.isActive:Ljava/lang/Boolean; // field@02d3 │ │ +021662: 6e10 4905 0100 |0007: invoke-virtual {v1}, Ljava/lang/Boolean;.booleanValue:()Z // method@0549 │ │ +021668: 0a01 |000a: move-result v1 │ │ +02166a: 7110 4c04 0100 |000b: invoke-static {v1}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.getIsActiveAsString:(Z)Ljava/lang/String; // method@044c │ │ +021670: 0c01 |000e: move-result-object v1 │ │ +021672: 6e20 ad05 1000 |000f: invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +021678: 5431 d202 |0012: iget-object v1, v3, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.ip:Ljava/lang/String; // field@02d2 │ │ +02167c: 7110 4604 0100 |0014: invoke-static {v1}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.getBracedIP:(Ljava/lang/String;)Ljava/lang/String; // method@0446 │ │ +021682: 0c01 |0017: move-result-object v1 │ │ +021684: 6e20 ad05 1000 |0018: invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +02168a: 1a01 8500 |001b: const-string v1, "::" // string@0085 │ │ +02168e: 6e20 ad05 1000 |001d: invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +021694: 5432 d402 |0020: iget-object v2, v3, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.port:Ljava/lang/String; // field@02d4 │ │ +021698: 6e20 ad05 2000 |0022: invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +02169e: 6e20 ad05 1000 |0025: invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +0216a4: 5431 d502 |0028: iget-object v1, v3, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.protocol:Ldnsfilter/android/dnsserverconfig/widget/DNSType; // field@02d5 │ │ +0216a8: 6e10 3204 0100 |002a: invoke-virtual {v1}, Ldnsfilter/android/dnsserverconfig/widget/DNSType;.toString:()Ljava/lang/String; // method@0432 │ │ +0216ae: 0c01 |002d: move-result-object v1 │ │ +0216b0: 6e20 ad05 1000 |002e: invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +0216b6: 5431 d102 |0031: iget-object v1, v3, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.endpoint:Ljava/lang/String; // field@02d1 │ │ +0216ba: 7110 4904 0100 |0033: invoke-static {v1}, Ldnsfilter/android/dnsserverconfig/widget/listitem/DNSServerConfigEntry;.getEndpointAsString:(Ljava/lang/String;)Ljava/lang/String; // method@0449 │ │ +0216c0: 0c01 |0036: move-result-object v1 │ │ +0216c2: 6e20 ad05 1000 |0037: invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +0216c8: 6e10 af05 0000 |003a: invoke-virtual {v0}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ +0216ce: 0c00 |003d: move-result-object v0 │ │ +0216d0: 1100 |003e: return-object v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=111 │ │ 0x0014 line=112 │ │ 0x002a line=116 │ │ 0x0033 line=117 │ │ locals : │ │ @@ -51967,50 +51967,50 @@ │ │ type : '()V' │ │ access : 0x10008 (STATIC CONSTRUCTOR) │ │ code - │ │ registers : 0 │ │ ins : 0 │ │ outs : 0 │ │ insns size : 1 16-bit code units │ │ -022698: |[022698] dnsfilter.remote.RemoteAccessClient.:()V │ │ -0226a8: 0e00 |0000: return-void │ │ +022694: |[022694] dnsfilter.remote.RemoteAccessClient.:()V │ │ +0226a4: 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 │ │ -0226ac: |[0226ac] dnsfilter.remote.RemoteAccessClient.:(Lutil/LoggerInterface;Ljava/lang/String;ILjava/lang/String;)V │ │ -0226bc: 7010 4801 0300 |0000: invoke-direct {v3}, Ldnsfilter/ConfigurationAccess;.:()V // method@0148 │ │ -0226c2: 12f0 |0003: const/4 v0, #int -1 // #ff │ │ -0226c4: 5930 ea02 |0004: iput v0, v3, Ldnsfilter/remote/RemoteAccessClient;.ctrlConId:I // field@02ea │ │ -0226c8: 1a01 9d00 |0006: const-string v1, "" // string@009d │ │ -0226cc: 5b31 ee02 |0008: iput-object v1, v3, Ldnsfilter/remote/RemoteAccessClient;.last_dns:Ljava/lang/String; // field@02ee │ │ -0226d0: 5930 e802 |000a: iput v0, v3, Ldnsfilter/remote/RemoteAccessClient;.con_cnt:I // field@02e8 │ │ -0226d4: 1200 |000c: const/4 v0, #int 0 // #0 │ │ -0226d6: 5c30 f502 |000d: iput-boolean v0, v3, Ldnsfilter/remote/RemoteAccessClient;.valid:Z // field@02f5 │ │ -0226da: 1801 ffff ffff ffff ff7f |000f: const-wide v1, #double nan // #7fffffffffffffff │ │ -0226e4: 5a31 f402 |0014: iput-wide v1, v3, Ldnsfilter/remote/RemoteAccessClient;.timeout:J // field@02f4 │ │ -0226e8: 5930 f302 |0016: iput v0, v3, Ldnsfilter/remote/RemoteAccessClient;.timeOutCounter:I // field@02f3 │ │ -0226ec: 3904 0600 |0018: if-nez v4, 001e // +0006 │ │ -0226f0: 7100 2507 0000 |001a: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0725 │ │ -0226f6: 0c04 |001d: move-result-object v4 │ │ -0226f8: 5b34 e902 |001e: iput-object v4, v3, Ldnsfilter/remote/RemoteAccessClient;.connectedLogger:Lutil/LoggerInterface; // field@02e9 │ │ -0226fc: 7110 cc06 0700 |0020: invoke-static {v7}, Lutil/Encryption;.init_AES:(Ljava/lang/String;)V // method@06cc │ │ -022702: 5b35 ec02 |0023: iput-object v5, v3, Ldnsfilter/remote/RemoteAccessClient;.host:Ljava/lang/String; // field@02ec │ │ -022706: 5936 f002 |0025: iput v6, v3, Ldnsfilter/remote/RemoteAccessClient;.port:I // field@02f0 │ │ -02270a: 7010 6904 0300 |0027: invoke-direct {v3}, Ldnsfilter/remote/RemoteAccessClient;.connect:()V // method@0469 │ │ -022710: 0e00 |002a: return-void │ │ +0226a8: |[0226a8] dnsfilter.remote.RemoteAccessClient.:(Lutil/LoggerInterface;Ljava/lang/String;ILjava/lang/String;)V │ │ +0226b8: 7010 4801 0300 |0000: invoke-direct {v3}, Ldnsfilter/ConfigurationAccess;.:()V // method@0148 │ │ +0226be: 12f0 |0003: const/4 v0, #int -1 // #ff │ │ +0226c0: 5930 ea02 |0004: iput v0, v3, Ldnsfilter/remote/RemoteAccessClient;.ctrlConId:I // field@02ea │ │ +0226c4: 1a01 9d00 |0006: const-string v1, "" // string@009d │ │ +0226c8: 5b31 ee02 |0008: iput-object v1, v3, Ldnsfilter/remote/RemoteAccessClient;.last_dns:Ljava/lang/String; // field@02ee │ │ +0226cc: 5930 e802 |000a: iput v0, v3, Ldnsfilter/remote/RemoteAccessClient;.con_cnt:I // field@02e8 │ │ +0226d0: 1200 |000c: const/4 v0, #int 0 // #0 │ │ +0226d2: 5c30 f502 |000d: iput-boolean v0, v3, Ldnsfilter/remote/RemoteAccessClient;.valid:Z // field@02f5 │ │ +0226d6: 1801 ffff ffff ffff ff7f |000f: const-wide v1, #double nan // #7fffffffffffffff │ │ +0226e0: 5a31 f402 |0014: iput-wide v1, v3, Ldnsfilter/remote/RemoteAccessClient;.timeout:J // field@02f4 │ │ +0226e4: 5930 f302 |0016: iput v0, v3, Ldnsfilter/remote/RemoteAccessClient;.timeOutCounter:I // field@02f3 │ │ +0226e8: 3904 0600 |0018: if-nez v4, 001e // +0006 │ │ +0226ec: 7100 2507 0000 |001a: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0725 │ │ +0226f2: 0c04 |001d: move-result-object v4 │ │ +0226f4: 5b34 e902 |001e: iput-object v4, v3, Ldnsfilter/remote/RemoteAccessClient;.connectedLogger:Lutil/LoggerInterface; // field@02e9 │ │ +0226f8: 7110 cc06 0700 |0020: invoke-static {v7}, Lutil/Encryption;.init_AES:(Ljava/lang/String;)V // method@06cc │ │ +0226fe: 5b35 ec02 |0023: iput-object v5, v3, Ldnsfilter/remote/RemoteAccessClient;.host:Ljava/lang/String; // field@02ec │ │ +022702: 5936 f002 |0025: iput v6, v3, Ldnsfilter/remote/RemoteAccessClient;.port:I // field@02f0 │ │ +022706: 7010 6904 0300 |0027: invoke-direct {v3}, Ldnsfilter/remote/RemoteAccessClient;.connect:()V // method@0469 │ │ +02270c: 0e00 |002a: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=59 │ │ 0x0004 line=46 │ │ 0x0006 line=49 │ │ 0x000a line=50 │ │ 0x000d line=53 │ │ @@ -52034,18 +52034,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 │ │ -02203c: |[02203c] dnsfilter.remote.RemoteAccessClient.access$000:(Ldnsfilter/remote/RemoteAccessClient;)[Ljava/lang/Object; │ │ -02204c: 7010 7604 0000 |0000: invoke-direct {v0}, Ldnsfilter/remote/RemoteAccessClient;.initConnection:()[Ljava/lang/Object; // method@0476 │ │ -022052: 0c00 |0003: move-result-object v0 │ │ -022054: 1100 |0004: return-object v0 │ │ +022038: |[022038] dnsfilter.remote.RemoteAccessClient.access$000:(Ldnsfilter/remote/RemoteAccessClient;)[Ljava/lang/Object; │ │ +022048: 7010 7604 0000 |0000: invoke-direct {v0}, Ldnsfilter/remote/RemoteAccessClient;.initConnection:()[Ljava/lang/Object; // method@0476 │ │ +02204e: 0c00 |0003: move-result-object v0 │ │ +022050: 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;) │ │ @@ -52053,17 +52053,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 │ │ -022680: |[022680] dnsfilter.remote.RemoteAccessClient.access$100:(Ldnsfilter/remote/RemoteAccessClient;)Lutil/LoggerInterface; │ │ -022690: 5400 e902 |0000: iget-object v0, v0, Ldnsfilter/remote/RemoteAccessClient;.connectedLogger:Lutil/LoggerInterface; // field@02e9 │ │ -022694: 1100 |0002: return-object v0 │ │ +02267c: |[02267c] dnsfilter.remote.RemoteAccessClient.access$100:(Ldnsfilter/remote/RemoteAccessClient;)Lutil/LoggerInterface; │ │ +02268c: 5400 e902 |0000: iget-object v0, v0, Ldnsfilter/remote/RemoteAccessClient;.connectedLogger:Lutil/LoggerInterface; // field@02e9 │ │ +022690: 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;) │ │ @@ -52071,17 +52071,17 @@ │ │ type : '(Ldnsfilter/remote/RemoteAccessClient;)V' │ │ access : 0x1008 (STATIC SYNTHETIC) │ │ code - │ │ registers : 1 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 4 16-bit code units │ │ -022714: |[022714] dnsfilter.remote.RemoteAccessClient.access$200:(Ldnsfilter/remote/RemoteAccessClient;)V │ │ -022724: 7010 6804 0000 |0000: invoke-direct {v0}, Ldnsfilter/remote/RemoteAccessClient;.closeConnectionReconnect:()V // method@0468 │ │ -02272a: 0e00 |0003: return-void │ │ +022710: |[022710] dnsfilter.remote.RemoteAccessClient.access$200:(Ldnsfilter/remote/RemoteAccessClient;)V │ │ +022720: 7010 6804 0000 |0000: invoke-direct {v0}, Ldnsfilter/remote/RemoteAccessClient;.closeConnectionReconnect:()V // method@0468 │ │ +022726: 0e00 |0003: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=24 │ │ locals : │ │ 0x0000 - 0x0004 reg=0 (null) Ldnsfilter/remote/RemoteAccessClient; │ │ │ │ #5 : (in Ldnsfilter/remote/RemoteAccessClient;) │ │ @@ -52089,17 +52089,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 │ │ -02221c: |[02221c] dnsfilter.remote.RemoteAccessClient.access$302:(Ldnsfilter/remote/RemoteAccessClient;Ljava/lang/String;)Ljava/lang/String; │ │ -02222c: 5b01 ee02 |0000: iput-object v1, v0, Ldnsfilter/remote/RemoteAccessClient;.last_dns:Ljava/lang/String; // field@02ee │ │ -022230: 1101 |0002: return-object v1 │ │ +022218: |[022218] dnsfilter.remote.RemoteAccessClient.access$302:(Ldnsfilter/remote/RemoteAccessClient;Ljava/lang/String;)Ljava/lang/String; │ │ +022228: 5b01 ee02 |0000: iput-object v1, v0, Ldnsfilter/remote/RemoteAccessClient;.last_dns:Ljava/lang/String; // field@02ee │ │ +02222c: 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; │ │ │ │ @@ -52108,17 +52108,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 │ │ -021fac: |[021fac] dnsfilter.remote.RemoteAccessClient.access$402:(Ldnsfilter/remote/RemoteAccessClient;I)I │ │ -021fbc: 5901 e802 |0000: iput v1, v0, Ldnsfilter/remote/RemoteAccessClient;.con_cnt:I // field@02e8 │ │ -021fc0: 0f01 |0002: return v1 │ │ +021fa8: |[021fa8] dnsfilter.remote.RemoteAccessClient.access$402:(Ldnsfilter/remote/RemoteAccessClient;I)I │ │ +021fb8: 5901 e802 |0000: iput v1, v0, Ldnsfilter/remote/RemoteAccessClient;.con_cnt:I // field@02e8 │ │ +021fbc: 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 │ │ │ │ @@ -52127,17 +52127,17 @@ │ │ type : '(Ldnsfilter/remote/RemoteAccessClient;)V' │ │ access : 0x1008 (STATIC SYNTHETIC) │ │ code - │ │ registers : 1 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 4 16-bit code units │ │ -02272c: |[02272c] dnsfilter.remote.RemoteAccessClient.access$500:(Ldnsfilter/remote/RemoteAccessClient;)V │ │ -02273c: 7010 7a04 0000 |0000: invoke-direct {v0}, Ldnsfilter/remote/RemoteAccessClient;.processHeartBeat:()V // method@047a │ │ -022742: 0e00 |0003: return-void │ │ +022728: |[022728] dnsfilter.remote.RemoteAccessClient.access$500:(Ldnsfilter/remote/RemoteAccessClient;)V │ │ +022738: 7010 7a04 0000 |0000: invoke-direct {v0}, Ldnsfilter/remote/RemoteAccessClient;.processHeartBeat:()V // method@047a │ │ +02273e: 0e00 |0003: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=24 │ │ locals : │ │ 0x0000 - 0x0004 reg=0 (null) Ldnsfilter/remote/RemoteAccessClient; │ │ │ │ #8 : (in Ldnsfilter/remote/RemoteAccessClient;) │ │ @@ -52145,17 +52145,17 @@ │ │ type : '(Ldnsfilter/remote/RemoteAccessClient;)V' │ │ access : 0x1008 (STATIC SYNTHETIC) │ │ code - │ │ registers : 1 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 4 16-bit code units │ │ -022744: |[022744] dnsfilter.remote.RemoteAccessClient.access$600:(Ldnsfilter/remote/RemoteAccessClient;)V │ │ -022754: 6e10 7704 0000 |0000: invoke-virtual {v0}, Ldnsfilter/remote/RemoteAccessClient;.invalidate:()V // method@0477 │ │ -02275a: 0e00 |0003: return-void │ │ +022740: |[022740] dnsfilter.remote.RemoteAccessClient.access$600:(Ldnsfilter/remote/RemoteAccessClient;)V │ │ +022750: 6e10 7704 0000 |0000: invoke-virtual {v0}, Ldnsfilter/remote/RemoteAccessClient;.invalidate:()V // method@0477 │ │ +022756: 0e00 |0003: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=24 │ │ locals : │ │ 0x0000 - 0x0004 reg=0 (null) Ldnsfilter/remote/RemoteAccessClient; │ │ │ │ #9 : (in Ldnsfilter/remote/RemoteAccessClient;) │ │ @@ -52163,51 +52163,51 @@ │ │ type : '()V' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 5 │ │ ins : 1 │ │ outs : 3 │ │ insns size : 68 16-bit code units │ │ -02275c: |[02275c] dnsfilter.remote.RemoteAccessClient.closeConnectionReconnect:()V │ │ -02276c: 7100 8607 0000 |0000: invoke-static {}, Lutil/TimoutNotificator;.getInstance:()Lutil/TimoutNotificator; // method@0786 │ │ -022772: 0c00 |0003: move-result-object v0 │ │ -022774: 6e20 8b07 4000 |0004: invoke-virtual {v0, v4}, Lutil/TimoutNotificator;.unregister:(Lutil/TimeoutListener;)V // method@078b │ │ -02277a: 5540 f502 |0007: iget-boolean v0, v4, Ldnsfilter/remote/RemoteAccessClient;.valid:Z // field@02f5 │ │ -02277e: 3900 0300 |0009: if-nez v0, 000c // +0003 │ │ -022782: 0e00 |000b: return-void │ │ -022784: 6e10 7c04 0400 |000c: invoke-virtual {v4}, Ldnsfilter/remote/RemoteAccessClient;.releaseConfiguration:()V // method@047c │ │ -02278a: 2200 2501 |000f: new-instance v0, Ljava/lang/Object; // type@0125 │ │ -02278e: 7010 7305 0000 |0011: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@0573 │ │ -022794: 1d00 |0014: monitor-enter v0 │ │ -022796: 1601 d007 |0015: const-wide/16 v1, #int 2000 // #7d0 │ │ -02279a: 6e30 7a05 1002 |0017: invoke-virtual {v0, v1, v2}, Ljava/lang/Object;.wait:(J)V // method@057a │ │ -0227a0: 2807 |001a: goto 0021 // +0007 │ │ -0227a2: 0d01 |001b: move-exception v1 │ │ -0227a4: 2826 |001c: goto 0042 // +0026 │ │ -0227a6: 0d01 |001d: move-exception v1 │ │ -0227a8: 6e10 6905 0100 |001e: invoke-virtual {v1}, Ljava/lang/InterruptedException;.printStackTrace:()V // method@0569 │ │ -0227ae: 1e00 |0021: monitor-exit v0 │ │ -0227b0: 7010 6904 0400 |0022: invoke-direct {v4}, Ldnsfilter/remote/RemoteAccessClient;.connect:()V // method@0469 │ │ -0227b6: 281c |0025: goto 0041 // +001c │ │ -0227b8: 0d00 |0026: move-exception v0 │ │ -0227ba: 5441 e902 |0027: iget-object v1, v4, Ldnsfilter/remote/RemoteAccessClient;.connectedLogger:Lutil/LoggerInterface; // field@02e9 │ │ -0227be: 2202 2d01 |0029: new-instance v2, Ljava/lang/StringBuilder; // type@012d │ │ -0227c2: 1a03 2604 |002b: const-string v3, "Reconnect failed:" // string@0426 │ │ -0227c6: 7020 a805 3200 |002d: invoke-direct {v2, v3}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05a8 │ │ -0227cc: 6e10 2405 0000 |0030: invoke-virtual {v0}, Ljava/io/IOException;.toString:()Ljava/lang/String; // method@0524 │ │ -0227d2: 0c00 |0033: move-result-object v0 │ │ -0227d4: 6e20 ad05 0200 |0034: invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -0227da: 6e10 af05 0200 |0037: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ -0227e0: 0c00 |003a: move-result-object v0 │ │ -0227e2: 7220 3107 0100 |003b: invoke-interface {v1, v0}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0731 │ │ -0227e8: 1200 |003e: const/4 v0, #int 0 // #0 │ │ -0227ea: 5c40 f502 |003f: iput-boolean v0, v4, Ldnsfilter/remote/RemoteAccessClient;.valid:Z // field@02f5 │ │ -0227ee: 0e00 |0041: return-void │ │ -0227f0: 1e00 |0042: monitor-exit v0 │ │ -0227f2: 2701 |0043: throw v1 │ │ +022758: |[022758] dnsfilter.remote.RemoteAccessClient.closeConnectionReconnect:()V │ │ +022768: 7100 8607 0000 |0000: invoke-static {}, Lutil/TimoutNotificator;.getInstance:()Lutil/TimoutNotificator; // method@0786 │ │ +02276e: 0c00 |0003: move-result-object v0 │ │ +022770: 6e20 8b07 4000 |0004: invoke-virtual {v0, v4}, Lutil/TimoutNotificator;.unregister:(Lutil/TimeoutListener;)V // method@078b │ │ +022776: 5540 f502 |0007: iget-boolean v0, v4, Ldnsfilter/remote/RemoteAccessClient;.valid:Z // field@02f5 │ │ +02277a: 3900 0300 |0009: if-nez v0, 000c // +0003 │ │ +02277e: 0e00 |000b: return-void │ │ +022780: 6e10 7c04 0400 |000c: invoke-virtual {v4}, Ldnsfilter/remote/RemoteAccessClient;.releaseConfiguration:()V // method@047c │ │ +022786: 2200 2501 |000f: new-instance v0, Ljava/lang/Object; // type@0125 │ │ +02278a: 7010 7305 0000 |0011: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@0573 │ │ +022790: 1d00 |0014: monitor-enter v0 │ │ +022792: 1601 d007 |0015: const-wide/16 v1, #int 2000 // #7d0 │ │ +022796: 6e30 7a05 1002 |0017: invoke-virtual {v0, v1, v2}, Ljava/lang/Object;.wait:(J)V // method@057a │ │ +02279c: 2807 |001a: goto 0021 // +0007 │ │ +02279e: 0d01 |001b: move-exception v1 │ │ +0227a0: 2826 |001c: goto 0042 // +0026 │ │ +0227a2: 0d01 |001d: move-exception v1 │ │ +0227a4: 6e10 6905 0100 |001e: invoke-virtual {v1}, Ljava/lang/InterruptedException;.printStackTrace:()V // method@0569 │ │ +0227aa: 1e00 |0021: monitor-exit v0 │ │ +0227ac: 7010 6904 0400 |0022: invoke-direct {v4}, Ldnsfilter/remote/RemoteAccessClient;.connect:()V // method@0469 │ │ +0227b2: 281c |0025: goto 0041 // +001c │ │ +0227b4: 0d00 |0026: move-exception v0 │ │ +0227b6: 5441 e902 |0027: iget-object v1, v4, Ldnsfilter/remote/RemoteAccessClient;.connectedLogger:Lutil/LoggerInterface; // field@02e9 │ │ +0227ba: 2202 2d01 |0029: new-instance v2, Ljava/lang/StringBuilder; // type@012d │ │ +0227be: 1a03 2604 |002b: const-string v3, "Reconnect failed:" // string@0426 │ │ +0227c2: 7020 a805 3200 |002d: invoke-direct {v2, v3}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05a8 │ │ +0227c8: 6e10 2405 0000 |0030: invoke-virtual {v0}, Ljava/io/IOException;.toString:()Ljava/lang/String; // method@0524 │ │ +0227ce: 0c00 |0033: move-result-object v0 │ │ +0227d0: 6e20 ad05 0200 |0034: invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +0227d6: 6e10 af05 0200 |0037: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ +0227dc: 0c00 |003a: move-result-object v0 │ │ +0227de: 7220 3107 0100 |003b: invoke-interface {v1, v0}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0731 │ │ +0227e4: 1200 |003e: const/4 v0, #int 0 // #0 │ │ +0227e6: 5c40 f502 |003f: iput-boolean v0, v4, Ldnsfilter/remote/RemoteAccessClient;.valid:Z // field@02f5 │ │ +0227ea: 0e00 |0041: return-void │ │ +0227ec: 1e00 |0042: monitor-exit v0 │ │ +0227ee: 2701 |0043: throw v1 │ │ catches : 4 │ │ 0x0017 - 0x001a │ │ Ljava/lang/InterruptedException; -> 0x001d │ │ -> 0x001b │ │ 0x001e - 0x0022 │ │ -> 0x001b │ │ 0x0022 - 0x0025 │ │ @@ -52235,43 +52235,43 @@ │ │ type : '()V' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 5 │ │ ins : 1 │ │ outs : 3 │ │ insns size : 53 16-bit code units │ │ -022820: |[022820] dnsfilter.remote.RemoteAccessClient.connect:()V │ │ -022830: 7010 7604 0400 |0000: invoke-direct {v4}, Ldnsfilter/remote/RemoteAccessClient;.initConnection:()[Ljava/lang/Object; // method@0476 │ │ -022836: 0c00 |0003: move-result-object v0 │ │ -022838: 1211 |0004: const/4 v1, #int 1 // #1 │ │ -02283a: 4602 0001 |0005: aget-object v2, v0, v1 │ │ -02283e: 1f02 3e01 |0007: check-cast v2, Ljava/net/Socket; // type@013e │ │ -022842: 5b42 eb02 |0009: iput-object v2, v4, Ldnsfilter/remote/RemoteAccessClient;.ctrlcon:Ljava/net/Socket; // field@02eb │ │ -022846: 1223 |000b: const/4 v3, #int 2 // #2 │ │ -022848: 4603 0003 |000c: aget-object v3, v0, v3 │ │ -02284c: 1f03 0101 |000e: check-cast v3, Ljava/io/InputStream; // type@0101 │ │ -022850: 5b43 ed02 |0010: iput-object v3, v4, Ldnsfilter/remote/RemoteAccessClient;.in:Ljava/io/InputStream; // field@02ed │ │ -022854: 1233 |0012: const/4 v3, #int 3 // #3 │ │ -022856: 4603 0003 |0013: aget-object v3, v0, v3 │ │ -02285a: 1f03 0501 |0015: check-cast v3, Ljava/io/OutputStream; // type@0105 │ │ -02285e: 5b43 ef02 |0017: iput-object v3, v4, Ldnsfilter/remote/RemoteAccessClient;.out:Ljava/io/OutputStream; // field@02ef │ │ -022862: 6003 e402 |0019: sget v3, Ldnsfilter/remote/RemoteAccessClient;.READ_TIMEOUT:I // field@02e4 │ │ -022866: 6e20 ed05 3200 |001b: invoke-virtual {v2, v3}, Ljava/net/Socket;.setSoTimeout:(I)V // method@05ed │ │ -02286c: 1202 |001e: const/4 v2, #int 0 // #0 │ │ -02286e: 4600 0002 |001f: aget-object v0, v0, v2 │ │ -022872: 1f00 1e01 |0021: check-cast v0, Ljava/lang/Integer; // type@011e │ │ -022876: 6e10 6405 0000 |0023: invoke-virtual {v0}, Ljava/lang/Integer;.intValue:()I // method@0564 │ │ -02287c: 0a00 |0026: move-result v0 │ │ -02287e: 5940 ea02 |0027: iput v0, v4, Ldnsfilter/remote/RemoteAccessClient;.ctrlConId:I // field@02ea │ │ -022882: 2200 e900 |0029: new-instance v0, Ldnsfilter/remote/RemoteAccessClient$RemoteStream; // type@00e9 │ │ -022886: 5242 ea02 |002b: iget v2, v4, Ldnsfilter/remote/RemoteAccessClient;.ctrlConId:I // field@02ea │ │ -02288a: 7030 5a04 4002 |002d: invoke-direct {v0, v4, v2}, Ldnsfilter/remote/RemoteAccessClient$RemoteStream;.:(Ldnsfilter/remote/RemoteAccessClient;I)V // method@045a │ │ -022890: 5b40 f102 |0030: iput-object v0, v4, Ldnsfilter/remote/RemoteAccessClient;.remoteStream:Ldnsfilter/remote/RemoteAccessClient$RemoteStream; // field@02f1 │ │ -022894: 5c41 f502 |0032: iput-boolean v1, v4, Ldnsfilter/remote/RemoteAccessClient;.valid:Z // field@02f5 │ │ -022898: 0e00 |0034: return-void │ │ +02281c: |[02281c] dnsfilter.remote.RemoteAccessClient.connect:()V │ │ +02282c: 7010 7604 0400 |0000: invoke-direct {v4}, Ldnsfilter/remote/RemoteAccessClient;.initConnection:()[Ljava/lang/Object; // method@0476 │ │ +022832: 0c00 |0003: move-result-object v0 │ │ +022834: 1211 |0004: const/4 v1, #int 1 // #1 │ │ +022836: 4602 0001 |0005: aget-object v2, v0, v1 │ │ +02283a: 1f02 3e01 |0007: check-cast v2, Ljava/net/Socket; // type@013e │ │ +02283e: 5b42 eb02 |0009: iput-object v2, v4, Ldnsfilter/remote/RemoteAccessClient;.ctrlcon:Ljava/net/Socket; // field@02eb │ │ +022842: 1223 |000b: const/4 v3, #int 2 // #2 │ │ +022844: 4603 0003 |000c: aget-object v3, v0, v3 │ │ +022848: 1f03 0101 |000e: check-cast v3, Ljava/io/InputStream; // type@0101 │ │ +02284c: 5b43 ed02 |0010: iput-object v3, v4, Ldnsfilter/remote/RemoteAccessClient;.in:Ljava/io/InputStream; // field@02ed │ │ +022850: 1233 |0012: const/4 v3, #int 3 // #3 │ │ +022852: 4603 0003 |0013: aget-object v3, v0, v3 │ │ +022856: 1f03 0501 |0015: check-cast v3, Ljava/io/OutputStream; // type@0105 │ │ +02285a: 5b43 ef02 |0017: iput-object v3, v4, Ldnsfilter/remote/RemoteAccessClient;.out:Ljava/io/OutputStream; // field@02ef │ │ +02285e: 6003 e402 |0019: sget v3, Ldnsfilter/remote/RemoteAccessClient;.READ_TIMEOUT:I // field@02e4 │ │ +022862: 6e20 ed05 3200 |001b: invoke-virtual {v2, v3}, Ljava/net/Socket;.setSoTimeout:(I)V // method@05ed │ │ +022868: 1202 |001e: const/4 v2, #int 0 // #0 │ │ +02286a: 4600 0002 |001f: aget-object v0, v0, v2 │ │ +02286e: 1f00 1e01 |0021: check-cast v0, Ljava/lang/Integer; // type@011e │ │ +022872: 6e10 6405 0000 |0023: invoke-virtual {v0}, Ljava/lang/Integer;.intValue:()I // method@0564 │ │ +022878: 0a00 |0026: move-result v0 │ │ +02287a: 5940 ea02 |0027: iput v0, v4, Ldnsfilter/remote/RemoteAccessClient;.ctrlConId:I // field@02ea │ │ +02287e: 2200 e900 |0029: new-instance v0, Ldnsfilter/remote/RemoteAccessClient$RemoteStream; // type@00e9 │ │ +022882: 5242 ea02 |002b: iget v2, v4, Ldnsfilter/remote/RemoteAccessClient;.ctrlConId:I // field@02ea │ │ +022886: 7030 5a04 4002 |002d: invoke-direct {v0, v4, v2}, Ldnsfilter/remote/RemoteAccessClient$RemoteStream;.:(Ldnsfilter/remote/RemoteAccessClient;I)V // method@045a │ │ +02288c: 5b40 f102 |0030: iput-object v0, v4, Ldnsfilter/remote/RemoteAccessClient;.remoteStream:Ldnsfilter/remote/RemoteAccessClient$RemoteStream; // field@02f1 │ │ +022890: 5c41 f502 |0032: iput-boolean v1, v4, Ldnsfilter/remote/RemoteAccessClient;.valid:Z // field@02f5 │ │ +022894: 0e00 |0034: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=73 │ │ 0x0005 line=74 │ │ 0x000c line=75 │ │ 0x0013 line=76 │ │ 0x0019 line=77 │ │ @@ -52286,23 +52286,23 @@ │ │ type : '()Ljava/io/InputStream;' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 3 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 15 16-bit code units │ │ -021fdc: |[021fdc] dnsfilter.remote.RemoteAccessClient.getInputStream:()Ljava/io/InputStream; │ │ -021fec: 5520 f502 |0000: iget-boolean v0, v2, Ldnsfilter/remote/RemoteAccessClient;.valid:Z // field@02f5 │ │ -021ff0: 3800 0500 |0002: if-eqz v0, 0007 // +0005 │ │ -021ff4: 5420 ed02 |0004: iget-object v0, v2, Ldnsfilter/remote/RemoteAccessClient;.in:Ljava/io/InputStream; // field@02ed │ │ -021ff8: 1100 |0006: return-object v0 │ │ -021ffa: 2200 0001 |0007: new-instance v0, Ljava/io/IOException; // type@0100 │ │ -021ffe: 1a01 f203 |0009: const-string v1, "Not connected!" // string@03f2 │ │ -022002: 7020 1f05 1000 |000b: invoke-direct {v0, v1}, Ljava/io/IOException;.:(Ljava/lang/String;)V // method@051f │ │ -022008: 2700 |000e: throw v0 │ │ +021fd8: |[021fd8] dnsfilter.remote.RemoteAccessClient.getInputStream:()Ljava/io/InputStream; │ │ +021fe8: 5520 f502 |0000: iget-boolean v0, v2, Ldnsfilter/remote/RemoteAccessClient;.valid:Z // field@02f5 │ │ +021fec: 3800 0500 |0002: if-eqz v0, 0007 // +0005 │ │ +021ff0: 5420 ed02 |0004: iget-object v0, v2, Ldnsfilter/remote/RemoteAccessClient;.in:Ljava/io/InputStream; // field@02ed │ │ +021ff4: 1100 |0006: return-object v0 │ │ +021ff6: 2200 0001 |0007: new-instance v0, Ljava/io/IOException; // type@0100 │ │ +021ffa: 1a01 f203 |0009: const-string v1, "Not connected!" // string@03f2 │ │ +021ffe: 7020 1f05 1000 |000b: invoke-direct {v0, v1}, Ljava/io/IOException;.:(Ljava/lang/String;)V // method@051f │ │ +022004: 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; │ │ @@ -52312,23 +52312,23 @@ │ │ type : '()Ljava/io/OutputStream;' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 3 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 15 16-bit code units │ │ -02200c: |[02200c] dnsfilter.remote.RemoteAccessClient.getOutputStream:()Ljava/io/OutputStream; │ │ -02201c: 5520 f502 |0000: iget-boolean v0, v2, Ldnsfilter/remote/RemoteAccessClient;.valid:Z // field@02f5 │ │ -022020: 3800 0500 |0002: if-eqz v0, 0007 // +0005 │ │ -022024: 5420 ef02 |0004: iget-object v0, v2, Ldnsfilter/remote/RemoteAccessClient;.out:Ljava/io/OutputStream; // field@02ef │ │ -022028: 1100 |0006: return-object v0 │ │ -02202a: 2200 0001 |0007: new-instance v0, Ljava/io/IOException; // type@0100 │ │ -02202e: 1a01 f203 |0009: const-string v1, "Not connected!" // string@03f2 │ │ -022032: 7020 1f05 1000 |000b: invoke-direct {v0, v1}, Ljava/io/IOException;.:(Ljava/lang/String;)V // method@051f │ │ -022038: 2700 |000e: throw v0 │ │ +022008: |[022008] dnsfilter.remote.RemoteAccessClient.getOutputStream:()Ljava/io/OutputStream; │ │ +022018: 5520 f502 |0000: iget-boolean v0, v2, Ldnsfilter/remote/RemoteAccessClient;.valid:Z // field@02f5 │ │ +02201c: 3800 0500 |0002: if-eqz v0, 0007 // +0005 │ │ +022020: 5420 ef02 |0004: iget-object v0, v2, Ldnsfilter/remote/RemoteAccessClient;.out:Ljava/io/OutputStream; // field@02ef │ │ +022024: 1100 |0006: return-object v0 │ │ +022026: 2200 0001 |0007: new-instance v0, Ljava/io/IOException; // type@0100 │ │ +02202a: 1a01 f203 |0009: const-string v1, "Not connected!" // string@03f2 │ │ +02202e: 7020 1f05 1000 |000b: invoke-direct {v0, v1}, Ljava/io/IOException;.:(Ljava/lang/String;)V // method@051f │ │ +022034: 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; │ │ @@ -52338,109 +52338,109 @@ │ │ type : '()[Ljava/lang/Object;' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 8 │ │ ins : 1 │ │ outs : 3 │ │ insns size : 179 16-bit code units │ │ -022058: |[022058] dnsfilter.remote.RemoteAccessClient.initConnection:()[Ljava/lang/Object; │ │ -022068: 1200 |0000: const/4 v0, #int 0 // #0 │ │ -02206a: 2201 3e01 |0001: new-instance v1, Ljava/net/Socket; // type@013e │ │ -02206e: 7010 e705 0100 |0003: invoke-direct {v1}, Ljava/net/Socket;.:()V // method@05e7 │ │ -022074: 2200 3801 |0006: new-instance v0, Ljava/net/InetSocketAddress; // type@0138 │ │ -022078: 5472 ec02 |0008: iget-object v2, v7, Ldnsfilter/remote/RemoteAccessClient;.host:Ljava/lang/String; // field@02ec │ │ -02207c: 7110 d305 0200 |000a: invoke-static {v2}, Ljava/net/InetAddress;.getByName:(Ljava/lang/String;)Ljava/net/InetAddress; // method@05d3 │ │ -022082: 0c02 |000d: move-result-object v2 │ │ -022084: 5273 f002 |000e: iget v3, v7, Ldnsfilter/remote/RemoteAccessClient;.port:I // field@02f0 │ │ -022088: 7030 d805 2003 |0010: invoke-direct {v0, v2, v3}, Ljava/net/InetSocketAddress;.:(Ljava/net/InetAddress;I)V // method@05d8 │ │ -02208e: 6002 de02 |0013: sget v2, Ldnsfilter/remote/RemoteAccessClient;.CON_TIMEOUT:I // field@02de │ │ -022092: 6e30 e905 0102 |0015: invoke-virtual {v1, v0, v2}, Ljava/net/Socket;.connect:(Ljava/net/SocketAddress;I)V // method@05e9 │ │ -022098: 6000 e402 |0018: sget v0, Ldnsfilter/remote/RemoteAccessClient;.READ_TIMEOUT:I // field@02e4 │ │ -02209c: 6e20 ed05 0100 |001a: invoke-virtual {v1, v0}, Ljava/net/Socket;.setSoTimeout:(I)V // method@05ed │ │ -0220a2: 6e10 eb05 0100 |001d: invoke-virtual {v1}, Ljava/net/Socket;.getOutputStream:()Ljava/io/OutputStream; // method@05eb │ │ -0220a8: 0c00 |0020: move-result-object v0 │ │ -0220aa: 1302 0004 |0021: const/16 v2, #int 1024 // #400 │ │ -0220ae: 7120 cb06 2000 |0023: invoke-static {v0, v2}, Lutil/Encryption;.getEncryptedOutputStream:(Ljava/io/OutputStream;I)Ljava/io/OutputStream; // method@06cb │ │ -0220b4: 0c00 |0026: move-result-object v0 │ │ -0220b6: 6e10 ea05 0100 |0027: invoke-virtual {v1}, Ljava/net/Socket;.getInputStream:()Ljava/io/InputStream; // method@05ea │ │ -0220bc: 0c02 |002a: move-result-object v2 │ │ -0220be: 7110 ca06 0200 |002b: invoke-static {v2}, Lutil/Encryption;.getDecryptedStream:(Ljava/io/InputStream;)Ljava/io/InputStream; // method@06ca │ │ -0220c4: 0c02 |002e: move-result-object v2 │ │ -0220c6: 1a03 7600 |002f: const-string v3, "1505800 │ │ +022054: |[022054] dnsfilter.remote.RemoteAccessClient.initConnection:()[Ljava/lang/Object; │ │ +022064: 1200 |0000: const/4 v0, #int 0 // #0 │ │ +022066: 2201 3e01 |0001: new-instance v1, Ljava/net/Socket; // type@013e │ │ +02206a: 7010 e705 0100 |0003: invoke-direct {v1}, Ljava/net/Socket;.:()V // method@05e7 │ │ +022070: 2200 3801 |0006: new-instance v0, Ljava/net/InetSocketAddress; // type@0138 │ │ +022074: 5472 ec02 |0008: iget-object v2, v7, Ldnsfilter/remote/RemoteAccessClient;.host:Ljava/lang/String; // field@02ec │ │ +022078: 7110 d305 0200 |000a: invoke-static {v2}, Ljava/net/InetAddress;.getByName:(Ljava/lang/String;)Ljava/net/InetAddress; // method@05d3 │ │ +02207e: 0c02 |000d: move-result-object v2 │ │ +022080: 5273 f002 |000e: iget v3, v7, Ldnsfilter/remote/RemoteAccessClient;.port:I // field@02f0 │ │ +022084: 7030 d805 2003 |0010: invoke-direct {v0, v2, v3}, Ljava/net/InetSocketAddress;.:(Ljava/net/InetAddress;I)V // method@05d8 │ │ +02208a: 6002 de02 |0013: sget v2, Ldnsfilter/remote/RemoteAccessClient;.CON_TIMEOUT:I // field@02de │ │ +02208e: 6e30 e905 0102 |0015: invoke-virtual {v1, v0, v2}, Ljava/net/Socket;.connect:(Ljava/net/SocketAddress;I)V // method@05e9 │ │ +022094: 6000 e402 |0018: sget v0, Ldnsfilter/remote/RemoteAccessClient;.READ_TIMEOUT:I // field@02e4 │ │ +022098: 6e20 ed05 0100 |001a: invoke-virtual {v1, v0}, Ljava/net/Socket;.setSoTimeout:(I)V // method@05ed │ │ +02209e: 6e10 eb05 0100 |001d: invoke-virtual {v1}, Ljava/net/Socket;.getOutputStream:()Ljava/io/OutputStream; // method@05eb │ │ +0220a4: 0c00 |0020: move-result-object v0 │ │ +0220a6: 1302 0004 |0021: const/16 v2, #int 1024 // #400 │ │ +0220aa: 7120 cb06 2000 |0023: invoke-static {v0, v2}, Lutil/Encryption;.getEncryptedOutputStream:(Ljava/io/OutputStream;I)Ljava/io/OutputStream; // method@06cb │ │ +0220b0: 0c00 |0026: move-result-object v0 │ │ +0220b2: 6e10 ea05 0100 |0027: invoke-virtual {v1}, Ljava/net/Socket;.getInputStream:()Ljava/io/InputStream; // method@05ea │ │ +0220b8: 0c02 |002a: move-result-object v2 │ │ +0220ba: 7110 ca06 0200 |002b: invoke-static {v2}, Lutil/Encryption;.getDecryptedStream:(Ljava/io/InputStream;)Ljava/io/InputStream; // method@06ca │ │ +0220c0: 0c02 |002e: move-result-object v2 │ │ +0220c2: 1a03 7600 |002f: const-string v3, "1505800 │ │ new_session │ │ " // string@0076 │ │ -0220ca: 6e10 8d05 0300 |0031: invoke-virtual {v3}, Ljava/lang/String;.getBytes:()[B // method@058d │ │ -0220d0: 0c03 |0034: move-result-object v3 │ │ -0220d2: 6e20 3605 3000 |0035: invoke-virtual {v0, v3}, Ljava/io/OutputStream;.write:([B)V // method@0536 │ │ -0220d8: 6e10 3405 0000 |0038: invoke-virtual {v0}, Ljava/io/OutputStream;.flush:()V // method@0534 │ │ -0220de: 7110 9d07 0200 |003b: invoke-static {v2}, Lutil/Utils;.readLineFromStream:(Ljava/io/InputStream;)Ljava/lang/String; // method@079d │ │ -0220e4: 0c03 |003e: move-result-object v3 │ │ -0220e6: 1a04 fa03 |003f: const-string v4, "OK" // string@03fa │ │ -0220ea: 6e20 8b05 4300 |0041: invoke-virtual {v3, v4}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058b │ │ -0220f0: 0a04 |0044: move-result v4 │ │ -0220f2: 3804 4500 |0045: if-eqz v4, 008a // +0045 │ │ -0220f6: 7110 9d07 0200 |0047: invoke-static {v2}, Lutil/Utils;.readLineFromStream:(Ljava/io/InputStream;)Ljava/lang/String; // method@079d │ │ -0220fc: 0c03 |004a: move-result-object v3 │ │ -0220fe: 7110 6505 0300 |004b: invoke-static {v3}, Ljava/lang/Integer;.parseInt:(Ljava/lang/String;)I // method@0565 │ │ -022104: 0a03 |004e: move-result v3 │ │ -022106: 7110 9d07 0200 |004f: invoke-static {v2}, Lutil/Utils;.readLineFromStream:(Ljava/io/InputStream;)Ljava/lang/String; // method@079d │ │ -02210c: 0c04 |0052: move-result-object v4 │ │ -02210e: 5b74 f202 |0053: iput-object v4, v7, Ldnsfilter/remote/RemoteAccessClient;.remote_version:Ljava/lang/String; // field@02f2 │ │ -022112: 7110 9d07 0200 |0055: invoke-static {v2}, Lutil/Utils;.readLineFromStream:(Ljava/io/InputStream;)Ljava/lang/String; // method@079d │ │ -022118: 0c04 |0058: move-result-object v4 │ │ -02211a: 5b74 ee02 |0059: iput-object v4, v7, Ldnsfilter/remote/RemoteAccessClient;.last_dns:Ljava/lang/String; // field@02ee │ │ -02211e: 7110 9d07 0200 |005b: invoke-static {v2}, Lutil/Utils;.readLineFromStream:(Ljava/io/InputStream;)Ljava/lang/String; // method@079d │ │ -022124: 0c04 |005e: move-result-object v4 │ │ -022126: 7110 6505 0400 |005f: invoke-static {v4}, Ljava/lang/Integer;.parseInt:(Ljava/lang/String;)I // method@0565 │ │ -02212c: 0a04 |0062: move-result v4 │ │ -02212e: 5974 e802 |0063: iput v4, v7, Ldnsfilter/remote/RemoteAccessClient;.con_cnt:I // field@02e8 │ │ -022132: 1204 |0065: const/4 v4, #int 0 // #0 │ │ -022134: 6e20 ed05 4100 |0066: invoke-virtual {v1, v4}, Ljava/net/Socket;.setSoTimeout:(I)V // method@05ed │ │ -02213a: 1245 |0069: const/4 v5, #int 4 // #4 │ │ -02213c: 2355 ac01 |006a: new-array v5, v5, [Ljava/lang/Object; // type@01ac │ │ -022140: 7110 6805 0300 |006c: invoke-static {v3}, Ljava/lang/Integer;.valueOf:(I)Ljava/lang/Integer; // method@0568 │ │ -022146: 0c03 |006f: move-result-object v3 │ │ -022148: 4d03 0504 |0070: aput-object v3, v5, v4 │ │ -02214c: 1213 |0072: const/4 v3, #int 1 // #1 │ │ -02214e: 4d01 0503 |0073: aput-object v1, v5, v3 │ │ -022152: 1223 |0075: const/4 v3, #int 2 // #2 │ │ -022154: 4d02 0503 |0076: aput-object v2, v5, v3 │ │ -022158: 1232 |0078: const/4 v2, #int 3 // #3 │ │ -02215a: 4d00 0502 |0079: aput-object v0, v5, v2 │ │ -02215e: 1105 |007b: return-object v5 │ │ -022160: 0d00 |007c: move-exception v0 │ │ -022162: 2202 0001 |007d: new-instance v2, Ljava/io/IOException; // type@0100 │ │ -022166: 7020 2105 0200 |007f: invoke-direct {v2, v0}, Ljava/io/IOException;.:(Ljava/lang/Throwable;)V // method@0521 │ │ -02216c: 2702 |0082: throw v2 │ │ -02216e: 0d00 |0083: move-exception v0 │ │ -022170: 2202 0001 |0084: new-instance v2, Ljava/io/IOException; // type@0100 │ │ -022174: 7020 2105 0200 |0086: invoke-direct {v2, v0}, Ljava/io/IOException;.:(Ljava/lang/Throwable;)V // method@0521 │ │ -02217a: 2702 |0089: throw v2 │ │ -02217c: 2200 0001 |008a: new-instance v0, Ljava/io/IOException; // type@0100 │ │ -022180: 7020 1f05 3000 |008c: invoke-direct {v0, v3}, Ljava/io/IOException;.:(Ljava/lang/String;)V // method@051f │ │ -022186: 2700 |008f: throw v0 │ │ -022188: 0d00 |0090: move-exception v0 │ │ -02218a: 2805 |0091: goto 0096 // +0005 │ │ -02218c: 0d01 |0092: move-exception v1 │ │ -02218e: 0716 |0093: move-object v6, v1 │ │ -022190: 0701 |0094: move-object v1, v0 │ │ -022192: 0760 |0095: move-object v0, v6 │ │ -022194: 5472 e902 |0096: iget-object v2, v7, Ldnsfilter/remote/RemoteAccessClient;.connectedLogger:Lutil/LoggerInterface; // field@02e9 │ │ -022198: 2203 2d01 |0098: new-instance v3, Ljava/lang/StringBuilder; // type@012d │ │ -02219c: 1a04 8901 |009a: const-string v4, "Exception during initConnection(): " // string@0189 │ │ -0221a0: 7020 a805 4300 |009c: invoke-direct {v3, v4}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05a8 │ │ -0221a6: 6e10 2405 0000 |009f: invoke-virtual {v0}, Ljava/io/IOException;.toString:()Ljava/lang/String; // method@0524 │ │ -0221ac: 0c04 |00a2: move-result-object v4 │ │ -0221ae: 6e20 ad05 4300 |00a3: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -0221b4: 6e10 af05 0300 |00a6: invoke-virtual {v3}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ -0221ba: 0c03 |00a9: move-result-object v3 │ │ -0221bc: 7220 3107 3200 |00aa: invoke-interface {v2, v3}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0731 │ │ -0221c2: 3801 0500 |00ad: if-eqz v1, 00b2 // +0005 │ │ -0221c6: 7110 9007 0100 |00af: invoke-static {v1}, Lutil/Utils;.closeSocket:(Ljava/net/Socket;)V // method@0790 │ │ -0221cc: 2700 |00b2: throw v0 │ │ +0220c6: 6e10 8d05 0300 |0031: invoke-virtual {v3}, Ljava/lang/String;.getBytes:()[B // method@058d │ │ +0220cc: 0c03 |0034: move-result-object v3 │ │ +0220ce: 6e20 3605 3000 |0035: invoke-virtual {v0, v3}, Ljava/io/OutputStream;.write:([B)V // method@0536 │ │ +0220d4: 6e10 3405 0000 |0038: invoke-virtual {v0}, Ljava/io/OutputStream;.flush:()V // method@0534 │ │ +0220da: 7110 9d07 0200 |003b: invoke-static {v2}, Lutil/Utils;.readLineFromStream:(Ljava/io/InputStream;)Ljava/lang/String; // method@079d │ │ +0220e0: 0c03 |003e: move-result-object v3 │ │ +0220e2: 1a04 fa03 |003f: const-string v4, "OK" // string@03fa │ │ +0220e6: 6e20 8b05 4300 |0041: invoke-virtual {v3, v4}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058b │ │ +0220ec: 0a04 |0044: move-result v4 │ │ +0220ee: 3804 4500 |0045: if-eqz v4, 008a // +0045 │ │ +0220f2: 7110 9d07 0200 |0047: invoke-static {v2}, Lutil/Utils;.readLineFromStream:(Ljava/io/InputStream;)Ljava/lang/String; // method@079d │ │ +0220f8: 0c03 |004a: move-result-object v3 │ │ +0220fa: 7110 6505 0300 |004b: invoke-static {v3}, Ljava/lang/Integer;.parseInt:(Ljava/lang/String;)I // method@0565 │ │ +022100: 0a03 |004e: move-result v3 │ │ +022102: 7110 9d07 0200 |004f: invoke-static {v2}, Lutil/Utils;.readLineFromStream:(Ljava/io/InputStream;)Ljava/lang/String; // method@079d │ │ +022108: 0c04 |0052: move-result-object v4 │ │ +02210a: 5b74 f202 |0053: iput-object v4, v7, Ldnsfilter/remote/RemoteAccessClient;.remote_version:Ljava/lang/String; // field@02f2 │ │ +02210e: 7110 9d07 0200 |0055: invoke-static {v2}, Lutil/Utils;.readLineFromStream:(Ljava/io/InputStream;)Ljava/lang/String; // method@079d │ │ +022114: 0c04 |0058: move-result-object v4 │ │ +022116: 5b74 ee02 |0059: iput-object v4, v7, Ldnsfilter/remote/RemoteAccessClient;.last_dns:Ljava/lang/String; // field@02ee │ │ +02211a: 7110 9d07 0200 |005b: invoke-static {v2}, Lutil/Utils;.readLineFromStream:(Ljava/io/InputStream;)Ljava/lang/String; // method@079d │ │ +022120: 0c04 |005e: move-result-object v4 │ │ +022122: 7110 6505 0400 |005f: invoke-static {v4}, Ljava/lang/Integer;.parseInt:(Ljava/lang/String;)I // method@0565 │ │ +022128: 0a04 |0062: move-result v4 │ │ +02212a: 5974 e802 |0063: iput v4, v7, Ldnsfilter/remote/RemoteAccessClient;.con_cnt:I // field@02e8 │ │ +02212e: 1204 |0065: const/4 v4, #int 0 // #0 │ │ +022130: 6e20 ed05 4100 |0066: invoke-virtual {v1, v4}, Ljava/net/Socket;.setSoTimeout:(I)V // method@05ed │ │ +022136: 1245 |0069: const/4 v5, #int 4 // #4 │ │ +022138: 2355 ac01 |006a: new-array v5, v5, [Ljava/lang/Object; // type@01ac │ │ +02213c: 7110 6805 0300 |006c: invoke-static {v3}, Ljava/lang/Integer;.valueOf:(I)Ljava/lang/Integer; // method@0568 │ │ +022142: 0c03 |006f: move-result-object v3 │ │ +022144: 4d03 0504 |0070: aput-object v3, v5, v4 │ │ +022148: 1213 |0072: const/4 v3, #int 1 // #1 │ │ +02214a: 4d01 0503 |0073: aput-object v1, v5, v3 │ │ +02214e: 1223 |0075: const/4 v3, #int 2 // #2 │ │ +022150: 4d02 0503 |0076: aput-object v2, v5, v3 │ │ +022154: 1232 |0078: const/4 v2, #int 3 // #3 │ │ +022156: 4d00 0502 |0079: aput-object v0, v5, v2 │ │ +02215a: 1105 |007b: return-object v5 │ │ +02215c: 0d00 |007c: move-exception v0 │ │ +02215e: 2202 0001 |007d: new-instance v2, Ljava/io/IOException; // type@0100 │ │ +022162: 7020 2105 0200 |007f: invoke-direct {v2, v0}, Ljava/io/IOException;.:(Ljava/lang/Throwable;)V // method@0521 │ │ +022168: 2702 |0082: throw v2 │ │ +02216a: 0d00 |0083: move-exception v0 │ │ +02216c: 2202 0001 |0084: new-instance v2, Ljava/io/IOException; // type@0100 │ │ +022170: 7020 2105 0200 |0086: invoke-direct {v2, v0}, Ljava/io/IOException;.:(Ljava/lang/Throwable;)V // method@0521 │ │ +022176: 2702 |0089: throw v2 │ │ +022178: 2200 0001 |008a: new-instance v0, Ljava/io/IOException; // type@0100 │ │ +02217c: 7020 1f05 3000 |008c: invoke-direct {v0, v3}, Ljava/io/IOException;.:(Ljava/lang/String;)V // method@051f │ │ +022182: 2700 |008f: throw v0 │ │ +022184: 0d00 |0090: move-exception v0 │ │ +022186: 2805 |0091: goto 0096 // +0005 │ │ +022188: 0d01 |0092: move-exception v1 │ │ +02218a: 0716 |0093: move-object v6, v1 │ │ +02218c: 0701 |0094: move-object v1, v0 │ │ +02218e: 0760 |0095: move-object v0, v6 │ │ +022190: 5472 e902 |0096: iget-object v2, v7, Ldnsfilter/remote/RemoteAccessClient;.connectedLogger:Lutil/LoggerInterface; // field@02e9 │ │ +022194: 2203 2d01 |0098: new-instance v3, Ljava/lang/StringBuilder; // type@012d │ │ +022198: 1a04 8901 |009a: const-string v4, "Exception during initConnection(): " // string@0189 │ │ +02219c: 7020 a805 4300 |009c: invoke-direct {v3, v4}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05a8 │ │ +0221a2: 6e10 2405 0000 |009f: invoke-virtual {v0}, Ljava/io/IOException;.toString:()Ljava/lang/String; // method@0524 │ │ +0221a8: 0c04 |00a2: move-result-object v4 │ │ +0221aa: 6e20 ad05 4300 |00a3: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +0221b0: 6e10 af05 0300 |00a6: invoke-virtual {v3}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ +0221b6: 0c03 |00a9: move-result-object v3 │ │ +0221b8: 7220 3107 3200 |00aa: invoke-interface {v2, v3}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0731 │ │ +0221be: 3801 0500 |00ad: if-eqz v1, 00b2 // +0005 │ │ +0221c2: 7110 9007 0100 |00af: invoke-static {v1}, Lutil/Utils;.closeSocket:(Ljava/net/Socket;)V // method@0790 │ │ +0221c8: 2700 |00b2: throw v0 │ │ catches : 6 │ │ 0x0001 - 0x0006 │ │ Ljava/io/IOException; -> 0x0092 │ │ 0x0006 - 0x0045 │ │ Ljava/io/IOException; -> 0x0090 │ │ 0x0047 - 0x004f │ │ Ljava/lang/Exception; -> 0x0083 │ │ @@ -52482,23 +52482,23 @@ │ │ type : '()V' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 3 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 16 16-bit code units │ │ -0229ec: |[0229ec] dnsfilter.remote.RemoteAccessClient.processHeartBeat:()V │ │ -0229fc: 5420 e902 |0000: iget-object v0, v2, Ldnsfilter/remote/RemoteAccessClient;.connectedLogger:Lutil/LoggerInterface; // field@02e9 │ │ -022a00: 1a01 b301 |0002: const-string v1, "Heart Beat!" // string@01b3 │ │ -022a04: 7220 3207 1000 |0004: invoke-interface {v0, v1}, Lutil/LoggerInterface;.message:(Ljava/lang/String;)V // method@0732 │ │ -022a0a: 1200 |0007: const/4 v0, #int 0 // #0 │ │ -022a0c: 5920 f302 |0008: iput v0, v2, Ldnsfilter/remote/RemoteAccessClient;.timeOutCounter:I // field@02f3 │ │ -022a10: 6000 e402 |000a: sget v0, Ldnsfilter/remote/RemoteAccessClient;.READ_TIMEOUT:I // field@02e4 │ │ -022a14: 7020 7f04 0200 |000c: invoke-direct {v2, v0}, Ldnsfilter/remote/RemoteAccessClient;.setTimeout:(I)V // method@047f │ │ -022a1a: 0e00 |000f: return-void │ │ +0229e8: |[0229e8] dnsfilter.remote.RemoteAccessClient.processHeartBeat:()V │ │ +0229f8: 5420 e902 |0000: iget-object v0, v2, Ldnsfilter/remote/RemoteAccessClient;.connectedLogger:Lutil/LoggerInterface; // field@02e9 │ │ +0229fc: 1a01 b301 |0002: const-string v1, "Heart Beat!" // string@01b3 │ │ +022a00: 7220 3207 1000 |0004: invoke-interface {v0, v1}, Lutil/LoggerInterface;.message:(Ljava/lang/String;)V // method@0732 │ │ +022a06: 1200 |0007: const/4 v0, #int 0 // #0 │ │ +022a08: 5920 f302 |0008: iput v0, v2, Ldnsfilter/remote/RemoteAccessClient;.timeOutCounter:I // field@02f3 │ │ +022a0c: 6000 e402 |000a: sget v0, Ldnsfilter/remote/RemoteAccessClient;.READ_TIMEOUT:I // field@02e4 │ │ +022a10: 7020 7f04 0200 |000c: invoke-direct {v2, v0}, Ldnsfilter/remote/RemoteAccessClient;.setTimeout:(I)V // method@047f │ │ +022a16: 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; │ │ @@ -52508,24 +52508,24 @@ │ │ type : '(I)V' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 6 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 16 16-bit code units │ │ -022b18: |[022b18] dnsfilter.remote.RemoteAccessClient.setTimeout:(I)V │ │ -022b28: 7100 b105 0000 |0000: invoke-static {}, Ljava/lang/System;.currentTimeMillis:()J // method@05b1 │ │ -022b2e: 0b00 |0003: move-result-wide v0 │ │ -022b30: 8152 |0004: int-to-long v2, v5 │ │ -022b32: bb20 |0005: add-long/2addr v0, v2 │ │ -022b34: 5a40 f402 |0006: iput-wide v0, v4, Ldnsfilter/remote/RemoteAccessClient;.timeout:J // field@02f4 │ │ -022b38: 7100 8607 0000 |0008: invoke-static {}, Lutil/TimoutNotificator;.getInstance:()Lutil/TimoutNotificator; // method@0786 │ │ -022b3e: 0c05 |000b: move-result-object v5 │ │ -022b40: 6e20 8807 4500 |000c: invoke-virtual {v5, v4}, Lutil/TimoutNotificator;.register:(Lutil/TimeoutListener;)V // method@0788 │ │ -022b46: 0e00 |000f: return-void │ │ +022b14: |[022b14] dnsfilter.remote.RemoteAccessClient.setTimeout:(I)V │ │ +022b24: 7100 b105 0000 |0000: invoke-static {}, Ljava/lang/System;.currentTimeMillis:()J // method@05b1 │ │ +022b2a: 0b00 |0003: move-result-wide v0 │ │ +022b2c: 8152 |0004: int-to-long v2, v5 │ │ +022b2e: bb20 |0005: add-long/2addr v0, v2 │ │ +022b30: 5a40 f402 |0006: iput-wide v0, v4, Ldnsfilter/remote/RemoteAccessClient;.timeout:J // field@02f4 │ │ +022b34: 7100 8607 0000 |0008: invoke-static {}, Lutil/TimoutNotificator;.getInstance:()Lutil/TimoutNotificator; // method@0786 │ │ +022b3a: 0c05 |000b: move-result-object v5 │ │ +022b3c: 6e20 8807 4500 |000c: invoke-virtual {v5, v4}, Lutil/TimoutNotificator;.register:(Lutil/TimeoutListener;)V // method@0788 │ │ +022b42: 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 │ │ @@ -52535,84 +52535,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 │ │ -022bc0: |[022bc0] dnsfilter.remote.RemoteAccessClient.triggerAction:(Ljava/lang/String;Ljava/lang/String;)V │ │ -022bd0: 1a00 0200 |0000: const-string v0, " │ │ +022bbc: |[022bbc] dnsfilter.remote.RemoteAccessClient.triggerAction:(Ljava/lang/String;Ljava/lang/String;)V │ │ +022bcc: 1a00 0200 |0000: const-string v0, " │ │ " // string@0002 │ │ -022bd4: 7010 7304 0300 |0002: invoke-direct {v3}, Ldnsfilter/remote/RemoteAccessClient;.getOutputStream:()Ljava/io/OutputStream; // method@0473 │ │ -022bda: 0c01 |0005: move-result-object v1 │ │ -022bdc: 2202 2d01 |0006: new-instance v2, Ljava/lang/StringBuilder; // type@012d │ │ -022be0: 7010 a705 0200 |0008: invoke-direct {v2}, Ljava/lang/StringBuilder;.:()V // method@05a7 │ │ -022be6: 6e20 ad05 4200 |000b: invoke-virtual {v2, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -022bec: 6e20 ad05 0200 |000e: invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -022bf2: 6e10 af05 0200 |0011: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ -022bf8: 0c02 |0014: move-result-object v2 │ │ -022bfa: 6e10 8d05 0200 |0015: invoke-virtual {v2}, Ljava/lang/String;.getBytes:()[B // method@058d │ │ -022c00: 0c02 |0018: move-result-object v2 │ │ -022c02: 6e20 3605 2100 |0019: invoke-virtual {v1, v2}, Ljava/io/OutputStream;.write:([B)V // method@0536 │ │ -022c08: 3805 1c00 |001c: if-eqz v5, 0038 // +001c │ │ -022c0c: 7010 7304 0300 |001e: invoke-direct {v3}, Ldnsfilter/remote/RemoteAccessClient;.getOutputStream:()Ljava/io/OutputStream; // method@0473 │ │ -022c12: 0c01 |0021: move-result-object v1 │ │ -022c14: 2202 2d01 |0022: new-instance v2, Ljava/lang/StringBuilder; // type@012d │ │ -022c18: 7010 a705 0200 |0024: invoke-direct {v2}, Ljava/lang/StringBuilder;.:()V // method@05a7 │ │ -022c1e: 6e20 ad05 5200 |0027: invoke-virtual {v2, v5}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -022c24: 6e20 ad05 0200 |002a: invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -022c2a: 6e10 af05 0200 |002d: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ -022c30: 0c05 |0030: move-result-object v5 │ │ -022c32: 6e10 8d05 0500 |0031: invoke-virtual {v5}, Ljava/lang/String;.getBytes:()[B // method@058d │ │ -022c38: 0c05 |0034: move-result-object v5 │ │ -022c3a: 6e20 3605 5100 |0035: invoke-virtual {v1, v5}, Ljava/io/OutputStream;.write:([B)V // method@0536 │ │ -022c40: 7010 7304 0300 |0038: invoke-direct {v3}, Ldnsfilter/remote/RemoteAccessClient;.getOutputStream:()Ljava/io/OutputStream; // method@0473 │ │ -022c46: 0c05 |003b: move-result-object v5 │ │ -022c48: 6e10 3405 0500 |003c: invoke-virtual {v5}, Ljava/io/OutputStream;.flush:()V // method@0534 │ │ -022c4e: 7010 7104 0300 |003f: invoke-direct {v3}, Ldnsfilter/remote/RemoteAccessClient;.getInputStream:()Ljava/io/InputStream; // method@0471 │ │ -022c54: 0c05 |0042: move-result-object v5 │ │ -022c56: 7110 9d07 0500 |0043: invoke-static {v5}, Lutil/Utils;.readLineFromStream:(Ljava/io/InputStream;)Ljava/lang/String; // method@079d │ │ -022c5c: 0c05 |0046: move-result-object v5 │ │ -022c5e: 1a00 fa03 |0047: const-string v0, "OK" // string@03fa │ │ -022c62: 6e20 8b05 0500 |0049: invoke-virtual {v5, v0}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058b │ │ -022c68: 0a00 |004c: move-result v0 │ │ -022c6a: 3800 0300 |004d: if-eqz v0, 0050 // +0003 │ │ -022c6e: 0e00 |004f: return-void │ │ -022c70: 2200 8200 |0050: new-instance v0, Ldnsfilter/ConfigurationAccess$ConfigurationAccessException; // type@0082 │ │ -022c74: 1201 |0052: const/4 v1, #int 0 // #0 │ │ -022c76: 7030 4501 5001 |0053: invoke-direct {v0, v5, v1}, Ldnsfilter/ConfigurationAccess$ConfigurationAccessException;.:(Ljava/lang/String;Ljava/io/IOException;)V // method@0145 │ │ -022c7c: 2700 |0056: throw v0 │ │ -022c7e: 0d05 |0057: move-exception v5 │ │ -022c80: 5430 e902 |0058: iget-object v0, v3, Ldnsfilter/remote/RemoteAccessClient;.connectedLogger:Lutil/LoggerInterface; // field@02e9 │ │ -022c84: 2201 2d01 |005a: new-instance v1, Ljava/lang/StringBuilder; // type@012d │ │ -022c88: 1a02 3004 |005c: const-string v2, "Remote action " // string@0430 │ │ -022c8c: 7020 a805 2100 |005e: invoke-direct {v1, v2}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05a8 │ │ -022c92: 6e20 ad05 4100 |0061: invoke-virtual {v1, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -022c98: 1a04 1c00 |0064: const-string v4, " failed! " // string@001c │ │ -022c9c: 6e20 ad05 4100 |0066: invoke-virtual {v1, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -022ca2: 6e10 2205 0500 |0069: invoke-virtual {v5}, Ljava/io/IOException;.getMessage:()Ljava/lang/String; // method@0522 │ │ -022ca8: 0c04 |006c: move-result-object v4 │ │ -022caa: 6e20 ad05 4100 |006d: invoke-virtual {v1, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -022cb0: 6e10 af05 0100 |0070: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ -022cb6: 0c04 |0073: move-result-object v4 │ │ -022cb8: 7220 3107 4000 |0074: invoke-interface {v0, v4}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0731 │ │ -022cbe: 7010 6804 0300 |0077: invoke-direct {v3}, Ldnsfilter/remote/RemoteAccessClient;.closeConnectionReconnect:()V // method@0468 │ │ -022cc4: 2705 |007a: throw v5 │ │ -022cc6: 0d04 |007b: move-exception v4 │ │ -022cc8: 5435 e902 |007c: iget-object v5, v3, Ldnsfilter/remote/RemoteAccessClient;.connectedLogger:Lutil/LoggerInterface; // field@02e9 │ │ -022ccc: 2200 2d01 |007e: new-instance v0, Ljava/lang/StringBuilder; // type@012d │ │ -022cd0: 1a01 3404 |0080: const-string v1, "Remote action failed! " // string@0434 │ │ -022cd4: 7020 a805 1000 |0082: invoke-direct {v0, v1}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05a8 │ │ -022cda: 6e10 4601 0400 |0085: invoke-virtual {v4}, Ldnsfilter/ConfigurationAccess$ConfigurationAccessException;.getMessage:()Ljava/lang/String; // method@0146 │ │ -022ce0: 0c01 |0088: move-result-object v1 │ │ -022ce2: 6e20 ad05 1000 |0089: invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -022ce8: 6e10 af05 0000 |008c: invoke-virtual {v0}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ -022cee: 0c00 |008f: move-result-object v0 │ │ -022cf0: 7220 3107 0500 |0090: invoke-interface {v5, v0}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0731 │ │ -022cf6: 2704 |0093: throw v4 │ │ +022bd0: 7010 7304 0300 |0002: invoke-direct {v3}, Ldnsfilter/remote/RemoteAccessClient;.getOutputStream:()Ljava/io/OutputStream; // method@0473 │ │ +022bd6: 0c01 |0005: move-result-object v1 │ │ +022bd8: 2202 2d01 |0006: new-instance v2, Ljava/lang/StringBuilder; // type@012d │ │ +022bdc: 7010 a705 0200 |0008: invoke-direct {v2}, Ljava/lang/StringBuilder;.:()V // method@05a7 │ │ +022be2: 6e20 ad05 4200 |000b: invoke-virtual {v2, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +022be8: 6e20 ad05 0200 |000e: invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +022bee: 6e10 af05 0200 |0011: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ +022bf4: 0c02 |0014: move-result-object v2 │ │ +022bf6: 6e10 8d05 0200 |0015: invoke-virtual {v2}, Ljava/lang/String;.getBytes:()[B // method@058d │ │ +022bfc: 0c02 |0018: move-result-object v2 │ │ +022bfe: 6e20 3605 2100 |0019: invoke-virtual {v1, v2}, Ljava/io/OutputStream;.write:([B)V // method@0536 │ │ +022c04: 3805 1c00 |001c: if-eqz v5, 0038 // +001c │ │ +022c08: 7010 7304 0300 |001e: invoke-direct {v3}, Ldnsfilter/remote/RemoteAccessClient;.getOutputStream:()Ljava/io/OutputStream; // method@0473 │ │ +022c0e: 0c01 |0021: move-result-object v1 │ │ +022c10: 2202 2d01 |0022: new-instance v2, Ljava/lang/StringBuilder; // type@012d │ │ +022c14: 7010 a705 0200 |0024: invoke-direct {v2}, Ljava/lang/StringBuilder;.:()V // method@05a7 │ │ +022c1a: 6e20 ad05 5200 |0027: invoke-virtual {v2, v5}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +022c20: 6e20 ad05 0200 |002a: invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +022c26: 6e10 af05 0200 |002d: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ +022c2c: 0c05 |0030: move-result-object v5 │ │ +022c2e: 6e10 8d05 0500 |0031: invoke-virtual {v5}, Ljava/lang/String;.getBytes:()[B // method@058d │ │ +022c34: 0c05 |0034: move-result-object v5 │ │ +022c36: 6e20 3605 5100 |0035: invoke-virtual {v1, v5}, Ljava/io/OutputStream;.write:([B)V // method@0536 │ │ +022c3c: 7010 7304 0300 |0038: invoke-direct {v3}, Ldnsfilter/remote/RemoteAccessClient;.getOutputStream:()Ljava/io/OutputStream; // method@0473 │ │ +022c42: 0c05 |003b: move-result-object v5 │ │ +022c44: 6e10 3405 0500 |003c: invoke-virtual {v5}, Ljava/io/OutputStream;.flush:()V // method@0534 │ │ +022c4a: 7010 7104 0300 |003f: invoke-direct {v3}, Ldnsfilter/remote/RemoteAccessClient;.getInputStream:()Ljava/io/InputStream; // method@0471 │ │ +022c50: 0c05 |0042: move-result-object v5 │ │ +022c52: 7110 9d07 0500 |0043: invoke-static {v5}, Lutil/Utils;.readLineFromStream:(Ljava/io/InputStream;)Ljava/lang/String; // method@079d │ │ +022c58: 0c05 |0046: move-result-object v5 │ │ +022c5a: 1a00 fa03 |0047: const-string v0, "OK" // string@03fa │ │ +022c5e: 6e20 8b05 0500 |0049: invoke-virtual {v5, v0}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058b │ │ +022c64: 0a00 |004c: move-result v0 │ │ +022c66: 3800 0300 |004d: if-eqz v0, 0050 // +0003 │ │ +022c6a: 0e00 |004f: return-void │ │ +022c6c: 2200 8200 |0050: new-instance v0, Ldnsfilter/ConfigurationAccess$ConfigurationAccessException; // type@0082 │ │ +022c70: 1201 |0052: const/4 v1, #int 0 // #0 │ │ +022c72: 7030 4501 5001 |0053: invoke-direct {v0, v5, v1}, Ldnsfilter/ConfigurationAccess$ConfigurationAccessException;.:(Ljava/lang/String;Ljava/io/IOException;)V // method@0145 │ │ +022c78: 2700 |0056: throw v0 │ │ +022c7a: 0d05 |0057: move-exception v5 │ │ +022c7c: 5430 e902 |0058: iget-object v0, v3, Ldnsfilter/remote/RemoteAccessClient;.connectedLogger:Lutil/LoggerInterface; // field@02e9 │ │ +022c80: 2201 2d01 |005a: new-instance v1, Ljava/lang/StringBuilder; // type@012d │ │ +022c84: 1a02 3004 |005c: const-string v2, "Remote action " // string@0430 │ │ +022c88: 7020 a805 2100 |005e: invoke-direct {v1, v2}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05a8 │ │ +022c8e: 6e20 ad05 4100 |0061: invoke-virtual {v1, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +022c94: 1a04 1c00 |0064: const-string v4, " failed! " // string@001c │ │ +022c98: 6e20 ad05 4100 |0066: invoke-virtual {v1, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +022c9e: 6e10 2205 0500 |0069: invoke-virtual {v5}, Ljava/io/IOException;.getMessage:()Ljava/lang/String; // method@0522 │ │ +022ca4: 0c04 |006c: move-result-object v4 │ │ +022ca6: 6e20 ad05 4100 |006d: invoke-virtual {v1, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +022cac: 6e10 af05 0100 |0070: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ +022cb2: 0c04 |0073: move-result-object v4 │ │ +022cb4: 7220 3107 4000 |0074: invoke-interface {v0, v4}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0731 │ │ +022cba: 7010 6804 0300 |0077: invoke-direct {v3}, Ldnsfilter/remote/RemoteAccessClient;.closeConnectionReconnect:()V // method@0468 │ │ +022cc0: 2705 |007a: throw v5 │ │ +022cc2: 0d04 |007b: move-exception v4 │ │ +022cc4: 5435 e902 |007c: iget-object v5, v3, Ldnsfilter/remote/RemoteAccessClient;.connectedLogger:Lutil/LoggerInterface; // field@02e9 │ │ +022cc8: 2200 2d01 |007e: new-instance v0, Ljava/lang/StringBuilder; // type@012d │ │ +022ccc: 1a01 3404 |0080: const-string v1, "Remote action failed! " // string@0434 │ │ +022cd0: 7020 a805 1000 |0082: invoke-direct {v0, v1}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05a8 │ │ +022cd6: 6e10 4601 0400 |0085: invoke-virtual {v4}, Ldnsfilter/ConfigurationAccess$ConfigurationAccessException;.getMessage:()Ljava/lang/String; // method@0146 │ │ +022cdc: 0c01 |0088: move-result-object v1 │ │ +022cde: 6e20 ad05 1000 |0089: invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +022ce4: 6e10 af05 0000 |008c: invoke-virtual {v0}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ +022cea: 0c00 |008f: move-result-object v0 │ │ +022cec: 7220 3107 0500 |0090: invoke-interface {v5, v0}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0731 │ │ +022cf2: 2704 |0093: throw v4 │ │ catches : 1 │ │ 0x0002 - 0x0057 │ │ Ldnsfilter/ConfigurationAccess$ConfigurationAccessException; -> 0x007b │ │ Ljava/io/IOException; -> 0x0057 │ │ positions : │ │ 0x0000 line=174 │ │ 0x001e line=177 │ │ @@ -52637,47 +52637,47 @@ │ │ type : '(Ljava/io/OutputStream;)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 5 │ │ ins : 2 │ │ outs : 3 │ │ insns size : 68 16-bit code units │ │ -02289c: |[02289c] dnsfilter.remote.RemoteAccessClient.doBackup:(Ljava/io/OutputStream;)V │ │ -0228ac: 2200 f900 |0000: new-instance v0, Ljava/io/DataOutputStream; // type@00f9 │ │ -0228b0: 7010 7304 0300 |0002: invoke-direct {v3}, Ldnsfilter/remote/RemoteAccessClient;.getOutputStream:()Ljava/io/OutputStream; // method@0473 │ │ -0228b6: 0c01 |0005: move-result-object v1 │ │ -0228b8: 7020 f504 1000 |0006: invoke-direct {v0, v1}, Ljava/io/DataOutputStream;.:(Ljava/io/OutputStream;)V // method@04f5 │ │ -0228be: 2201 f800 |0009: new-instance v1, Ljava/io/DataInputStream; // type@00f8 │ │ -0228c2: 7010 7104 0300 |000b: invoke-direct {v3}, Ldnsfilter/remote/RemoteAccessClient;.getInputStream:()Ljava/io/InputStream; // method@0471 │ │ -0228c8: 0c02 |000e: move-result-object v2 │ │ -0228ca: 7020 ee04 2100 |000f: invoke-direct {v1, v2}, Ljava/io/DataInputStream;.:(Ljava/io/InputStream;)V // method@04ee │ │ -0228d0: 1a02 8506 |0012: const-string v2, "doBackup() │ │ +022898: |[022898] dnsfilter.remote.RemoteAccessClient.doBackup:(Ljava/io/OutputStream;)V │ │ +0228a8: 2200 f900 |0000: new-instance v0, Ljava/io/DataOutputStream; // type@00f9 │ │ +0228ac: 7010 7304 0300 |0002: invoke-direct {v3}, Ldnsfilter/remote/RemoteAccessClient;.getOutputStream:()Ljava/io/OutputStream; // method@0473 │ │ +0228b2: 0c01 |0005: move-result-object v1 │ │ +0228b4: 7020 f504 1000 |0006: invoke-direct {v0, v1}, Ljava/io/DataOutputStream;.:(Ljava/io/OutputStream;)V // method@04f5 │ │ +0228ba: 2201 f800 |0009: new-instance v1, Ljava/io/DataInputStream; // type@00f8 │ │ +0228be: 7010 7104 0300 |000b: invoke-direct {v3}, Ldnsfilter/remote/RemoteAccessClient;.getInputStream:()Ljava/io/InputStream; // method@0471 │ │ +0228c4: 0c02 |000e: move-result-object v2 │ │ +0228c6: 7020 ee04 2100 |000f: invoke-direct {v1, v2}, Ljava/io/DataInputStream;.:(Ljava/io/InputStream;)V // method@04ee │ │ +0228cc: 1a02 8506 |0012: const-string v2, "doBackup() │ │ " // string@0685 │ │ -0228d4: 6e10 8d05 0200 |0014: invoke-virtual {v2}, Ljava/lang/String;.getBytes:()[B // method@058d │ │ -0228da: 0c02 |0017: move-result-object v2 │ │ -0228dc: 6e20 f804 2000 |0018: invoke-virtual {v0, v2}, Ljava/io/DataOutputStream;.write:([B)V // method@04f8 │ │ -0228e2: 6e10 f704 0000 |001b: invoke-virtual {v0}, Ljava/io/DataOutputStream;.flush:()V // method@04f7 │ │ -0228e8: 7110 9d07 0100 |001e: invoke-static {v1}, Lutil/Utils;.readLineFromStream:(Ljava/io/InputStream;)Ljava/lang/String; // method@079d │ │ -0228ee: 0c00 |0021: move-result-object v0 │ │ -0228f0: 1a02 fa03 |0022: const-string v2, "OK" // string@03fa │ │ -0228f4: 6e20 8b05 2000 |0024: invoke-virtual {v0, v2}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058b │ │ -0228fa: 0a02 |0027: move-result v2 │ │ -0228fc: 3802 1500 |0028: if-eqz v2, 003d // +0015 │ │ -022900: 6e10 f204 0100 |002a: invoke-virtual {v1}, Ljava/io/DataInputStream;.readInt:()I // method@04f2 │ │ -022906: 0a00 |002d: move-result v0 │ │ -022908: 2300 9d01 |002e: new-array v0, v0, [B // type@019d │ │ -02290c: 6e20 f004 0100 |0030: invoke-virtual {v1, v0}, Ljava/io/DataInputStream;.readFully:([B)V // method@04f0 │ │ -022912: 6e20 3605 0400 |0033: invoke-virtual {v4, v0}, Ljava/io/OutputStream;.write:([B)V // method@0536 │ │ -022918: 6e10 3405 0400 |0036: invoke-virtual {v4}, Ljava/io/OutputStream;.flush:()V // method@0534 │ │ -02291e: 6e10 3305 0400 |0039: invoke-virtual {v4}, Ljava/io/OutputStream;.close:()V // method@0533 │ │ -022924: 0e00 |003c: return-void │ │ -022926: 2204 8200 |003d: new-instance v4, Ldnsfilter/ConfigurationAccess$ConfigurationAccessException; // type@0082 │ │ -02292a: 1201 |003f: const/4 v1, #int 0 // #0 │ │ -02292c: 7030 4501 0401 |0040: invoke-direct {v4, v0, v1}, Ldnsfilter/ConfigurationAccess$ConfigurationAccessException;.:(Ljava/lang/String;Ljava/io/IOException;)V // method@0145 │ │ -022932: 2704 |0043: throw v4 │ │ +0228d0: 6e10 8d05 0200 |0014: invoke-virtual {v2}, Ljava/lang/String;.getBytes:()[B // method@058d │ │ +0228d6: 0c02 |0017: move-result-object v2 │ │ +0228d8: 6e20 f804 2000 |0018: invoke-virtual {v0, v2}, Ljava/io/DataOutputStream;.write:([B)V // method@04f8 │ │ +0228de: 6e10 f704 0000 |001b: invoke-virtual {v0}, Ljava/io/DataOutputStream;.flush:()V // method@04f7 │ │ +0228e4: 7110 9d07 0100 |001e: invoke-static {v1}, Lutil/Utils;.readLineFromStream:(Ljava/io/InputStream;)Ljava/lang/String; // method@079d │ │ +0228ea: 0c00 |0021: move-result-object v0 │ │ +0228ec: 1a02 fa03 |0022: const-string v2, "OK" // string@03fa │ │ +0228f0: 6e20 8b05 2000 |0024: invoke-virtual {v0, v2}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058b │ │ +0228f6: 0a02 |0027: move-result v2 │ │ +0228f8: 3802 1500 |0028: if-eqz v2, 003d // +0015 │ │ +0228fc: 6e10 f204 0100 |002a: invoke-virtual {v1}, Ljava/io/DataInputStream;.readInt:()I // method@04f2 │ │ +022902: 0a00 |002d: move-result v0 │ │ +022904: 2300 9d01 |002e: new-array v0, v0, [B // type@019d │ │ +022908: 6e20 f004 0100 |0030: invoke-virtual {v1, v0}, Ljava/io/DataInputStream;.readFully:([B)V // method@04f0 │ │ +02290e: 6e20 3605 0400 |0033: invoke-virtual {v4, v0}, Ljava/io/OutputStream;.write:([B)V // method@0536 │ │ +022914: 6e10 3405 0400 |0036: invoke-virtual {v4}, Ljava/io/OutputStream;.flush:()V // method@0534 │ │ +02291a: 6e10 3305 0400 |0039: invoke-virtual {v4}, Ljava/io/OutputStream;.close:()V // method@0533 │ │ +022920: 0e00 |003c: return-void │ │ +022922: 2204 8200 |003d: new-instance v4, Ldnsfilter/ConfigurationAccess$ConfigurationAccessException; // type@0082 │ │ +022926: 1201 |003f: const/4 v1, #int 0 // #0 │ │ +022928: 7030 4501 0401 |0040: invoke-direct {v4, v0, v1}, Ldnsfilter/ConfigurationAccess$ConfigurationAccessException;.:(Ljava/lang/String;Ljava/io/IOException;)V // method@0145 │ │ +02292e: 2704 |0043: throw v4 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=484 │ │ 0x0009 line=485 │ │ 0x0012 line=486 │ │ 0x001b line=487 │ │ 0x001e line=488 │ │ @@ -52697,47 +52697,47 @@ │ │ type : '(Ljava/io/InputStream;)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 5 │ │ ins : 2 │ │ outs : 3 │ │ insns size : 66 16-bit code units │ │ -022934: |[022934] dnsfilter.remote.RemoteAccessClient.doRestore:(Ljava/io/InputStream;)V │ │ -022944: 6e10 7704 0300 |0000: invoke-virtual {v3}, Ldnsfilter/remote/RemoteAccessClient;.invalidate:()V // method@0477 │ │ -02294a: 2200 f900 |0003: new-instance v0, Ljava/io/DataOutputStream; // type@00f9 │ │ -02294e: 7010 7304 0300 |0005: invoke-direct {v3}, Ldnsfilter/remote/RemoteAccessClient;.getOutputStream:()Ljava/io/OutputStream; // method@0473 │ │ -022954: 0c01 |0008: move-result-object v1 │ │ -022956: 7020 f504 1000 |0009: invoke-direct {v0, v1}, Ljava/io/DataOutputStream;.:(Ljava/io/OutputStream;)V // method@04f5 │ │ -02295c: 2201 f800 |000c: new-instance v1, Ljava/io/DataInputStream; // type@00f8 │ │ -022960: 7010 7104 0300 |000e: invoke-direct {v3}, Ldnsfilter/remote/RemoteAccessClient;.getInputStream:()Ljava/io/InputStream; // method@0471 │ │ -022966: 0c02 |0011: move-result-object v2 │ │ -022968: 7020 ee04 2100 |0012: invoke-direct {v1, v2}, Ljava/io/DataInputStream;.:(Ljava/io/InputStream;)V // method@04ee │ │ -02296e: 1a02 8c06 |0015: const-string v2, "doRestore() │ │ +022930: |[022930] dnsfilter.remote.RemoteAccessClient.doRestore:(Ljava/io/InputStream;)V │ │ +022940: 6e10 7704 0300 |0000: invoke-virtual {v3}, Ldnsfilter/remote/RemoteAccessClient;.invalidate:()V // method@0477 │ │ +022946: 2200 f900 |0003: new-instance v0, Ljava/io/DataOutputStream; // type@00f9 │ │ +02294a: 7010 7304 0300 |0005: invoke-direct {v3}, Ldnsfilter/remote/RemoteAccessClient;.getOutputStream:()Ljava/io/OutputStream; // method@0473 │ │ +022950: 0c01 |0008: move-result-object v1 │ │ +022952: 7020 f504 1000 |0009: invoke-direct {v0, v1}, Ljava/io/DataOutputStream;.:(Ljava/io/OutputStream;)V // method@04f5 │ │ +022958: 2201 f800 |000c: new-instance v1, Ljava/io/DataInputStream; // type@00f8 │ │ +02295c: 7010 7104 0300 |000e: invoke-direct {v3}, Ldnsfilter/remote/RemoteAccessClient;.getInputStream:()Ljava/io/InputStream; // method@0471 │ │ +022962: 0c02 |0011: move-result-object v2 │ │ +022964: 7020 ee04 2100 |0012: invoke-direct {v1, v2}, Ljava/io/DataInputStream;.:(Ljava/io/InputStream;)V // method@04ee │ │ +02296a: 1a02 8c06 |0015: const-string v2, "doRestore() │ │ " // string@068c │ │ -022972: 6e10 8d05 0200 |0017: invoke-virtual {v2}, Ljava/lang/String;.getBytes:()[B // method@058d │ │ -022978: 0c02 |001a: move-result-object v2 │ │ -02297a: 6e20 f804 2000 |001b: invoke-virtual {v0, v2}, Ljava/io/DataOutputStream;.write:([B)V // method@04f8 │ │ -022980: 1302 0004 |001e: const/16 v2, #int 1024 // #400 │ │ -022984: 7120 9b07 2400 |0020: invoke-static {v4, v2}, Lutil/Utils;.readFully:(Ljava/io/InputStream;I)[B // method@079b │ │ -02298a: 0c04 |0023: move-result-object v4 │ │ -02298c: 2142 |0024: array-length v2, v4 │ │ -02298e: 6e20 fb04 2000 |0025: invoke-virtual {v0, v2}, Ljava/io/DataOutputStream;.writeInt:(I)V // method@04fb │ │ -022994: 6e20 f804 4000 |0028: invoke-virtual {v0, v4}, Ljava/io/DataOutputStream;.write:([B)V // method@04f8 │ │ -02299a: 6e10 f704 0000 |002b: invoke-virtual {v0}, Ljava/io/DataOutputStream;.flush:()V // method@04f7 │ │ -0229a0: 7110 9d07 0100 |002e: invoke-static {v1}, Lutil/Utils;.readLineFromStream:(Ljava/io/InputStream;)Ljava/lang/String; // method@079d │ │ -0229a6: 0c04 |0031: move-result-object v4 │ │ -0229a8: 1a00 fa03 |0032: const-string v0, "OK" // string@03fa │ │ -0229ac: 6e20 8b05 0400 |0034: invoke-virtual {v4, v0}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058b │ │ -0229b2: 0a00 |0037: move-result v0 │ │ -0229b4: 3800 0300 |0038: if-eqz v0, 003b // +0003 │ │ -0229b8: 0e00 |003a: return-void │ │ -0229ba: 2200 8200 |003b: new-instance v0, Ldnsfilter/ConfigurationAccess$ConfigurationAccessException; // type@0082 │ │ -0229be: 1201 |003d: const/4 v1, #int 0 // #0 │ │ -0229c0: 7030 4501 4001 |003e: invoke-direct {v0, v4, v1}, Ldnsfilter/ConfigurationAccess$ConfigurationAccessException;.:(Ljava/lang/String;Ljava/io/IOException;)V // method@0145 │ │ -0229c6: 2700 |0041: throw v0 │ │ +02296e: 6e10 8d05 0200 |0017: invoke-virtual {v2}, Ljava/lang/String;.getBytes:()[B // method@058d │ │ +022974: 0c02 |001a: move-result-object v2 │ │ +022976: 6e20 f804 2000 |001b: invoke-virtual {v0, v2}, Ljava/io/DataOutputStream;.write:([B)V // method@04f8 │ │ +02297c: 1302 0004 |001e: const/16 v2, #int 1024 // #400 │ │ +022980: 7120 9b07 2400 |0020: invoke-static {v4, v2}, Lutil/Utils;.readFully:(Ljava/io/InputStream;I)[B // method@079b │ │ +022986: 0c04 |0023: move-result-object v4 │ │ +022988: 2142 |0024: array-length v2, v4 │ │ +02298a: 6e20 fb04 2000 |0025: invoke-virtual {v0, v2}, Ljava/io/DataOutputStream;.writeInt:(I)V // method@04fb │ │ +022990: 6e20 f804 4000 |0028: invoke-virtual {v0, v4}, Ljava/io/DataOutputStream;.write:([B)V // method@04f8 │ │ +022996: 6e10 f704 0000 |002b: invoke-virtual {v0}, Ljava/io/DataOutputStream;.flush:()V // method@04f7 │ │ +02299c: 7110 9d07 0100 |002e: invoke-static {v1}, Lutil/Utils;.readLineFromStream:(Ljava/io/InputStream;)Ljava/lang/String; // method@079d │ │ +0229a2: 0c04 |0031: move-result-object v4 │ │ +0229a4: 1a00 fa03 |0032: const-string v0, "OK" // string@03fa │ │ +0229a8: 6e20 8b05 0400 |0034: invoke-virtual {v4, v0}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058b │ │ +0229ae: 0a00 |0037: move-result v0 │ │ +0229b0: 3800 0300 |0038: if-eqz v0, 003b // +0003 │ │ +0229b4: 0e00 |003a: return-void │ │ +0229b6: 2200 8200 |003b: new-instance v0, Ldnsfilter/ConfigurationAccess$ConfigurationAccessException; // type@0082 │ │ +0229ba: 1201 |003d: const/4 v1, #int 0 // #0 │ │ +0229bc: 7030 4501 4001 |003e: invoke-direct {v0, v4, v1}, Ldnsfilter/ConfigurationAccess$ConfigurationAccessException;.:(Ljava/lang/String;Ljava/io/IOException;)V // method@0145 │ │ +0229c2: 2700 |0041: throw v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=507 │ │ 0x0003 line=508 │ │ 0x000c line=509 │ │ 0x0015 line=510 │ │ 0x0020 line=511 │ │ @@ -52756,20 +52756,20 @@ │ │ type : '()V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 3 │ │ ins : 1 │ │ outs : 3 │ │ insns size : 10 16-bit code units │ │ -0229c8: |[0229c8] dnsfilter.remote.RemoteAccessClient.doRestoreDefaults:()V │ │ -0229d8: 6e10 7704 0200 |0000: invoke-virtual {v2}, Ldnsfilter/remote/RemoteAccessClient;.invalidate:()V // method@0477 │ │ -0229de: 1a00 8e06 |0003: const-string v0, "doRestoreDefaults()" // string@068e │ │ -0229e2: 1201 |0005: const/4 v1, #int 0 // #0 │ │ -0229e4: 7030 8304 0201 |0006: invoke-direct {v2, v0, v1}, Ldnsfilter/remote/RemoteAccessClient;.triggerAction:(Ljava/lang/String;Ljava/lang/String;)V // method@0483 │ │ -0229ea: 0e00 |0009: return-void │ │ +0229c4: |[0229c4] dnsfilter.remote.RemoteAccessClient.doRestoreDefaults:()V │ │ +0229d4: 6e10 7704 0200 |0000: invoke-virtual {v2}, Ldnsfilter/remote/RemoteAccessClient;.invalidate:()V // method@0477 │ │ +0229da: 1a00 8e06 |0003: const-string v0, "doRestoreDefaults()" // string@068e │ │ +0229de: 1201 |0005: const/4 v1, #int 0 // #0 │ │ +0229e0: 7030 8304 0201 |0006: invoke-direct {v2, v0, v1}, Ldnsfilter/remote/RemoteAccessClient;.triggerAction:(Ljava/lang/String;Ljava/lang/String;)V // method@0483 │ │ +0229e6: 0e00 |0009: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=501 │ │ 0x0003 line=502 │ │ locals : │ │ 0x0000 - 0x000a reg=2 this Ldnsfilter/remote/RemoteAccessClient; │ │ │ │ @@ -52778,70 +52778,70 @@ │ │ type : '(I)[B' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 5 │ │ ins : 2 │ │ outs : 3 │ │ insns size : 115 16-bit code units │ │ -021da4: |[021da4] dnsfilter.remote.RemoteAccessClient.getAdditionalHosts:(I)[B │ │ -021db4: 2200 f900 |0000: new-instance v0, Ljava/io/DataOutputStream; // type@00f9 │ │ -021db8: 7010 7304 0300 |0002: invoke-direct {v3}, Ldnsfilter/remote/RemoteAccessClient;.getOutputStream:()Ljava/io/OutputStream; // method@0473 │ │ -021dbe: 0c01 |0005: move-result-object v1 │ │ -021dc0: 7020 f504 1000 |0006: invoke-direct {v0, v1}, Ljava/io/DataOutputStream;.:(Ljava/io/OutputStream;)V // method@04f5 │ │ -021dc6: 2201 f800 |0009: new-instance v1, Ljava/io/DataInputStream; // type@00f8 │ │ -021dca: 7010 7104 0300 |000b: invoke-direct {v3}, Ldnsfilter/remote/RemoteAccessClient;.getInputStream:()Ljava/io/InputStream; // method@0471 │ │ -021dd0: 0c02 |000e: move-result-object v2 │ │ -021dd2: 7020 ee04 2100 |000f: invoke-direct {v1, v2}, Ljava/io/DataInputStream;.:(Ljava/io/InputStream;)V // method@04ee │ │ -021dd8: 1a02 2b07 |0012: const-string v2, "getAdditionalHosts() │ │ +021da0: |[021da0] dnsfilter.remote.RemoteAccessClient.getAdditionalHosts:(I)[B │ │ +021db0: 2200 f900 |0000: new-instance v0, Ljava/io/DataOutputStream; // type@00f9 │ │ +021db4: 7010 7304 0300 |0002: invoke-direct {v3}, Ldnsfilter/remote/RemoteAccessClient;.getOutputStream:()Ljava/io/OutputStream; // method@0473 │ │ +021dba: 0c01 |0005: move-result-object v1 │ │ +021dbc: 7020 f504 1000 |0006: invoke-direct {v0, v1}, Ljava/io/DataOutputStream;.:(Ljava/io/OutputStream;)V // method@04f5 │ │ +021dc2: 2201 f800 |0009: new-instance v1, Ljava/io/DataInputStream; // type@00f8 │ │ +021dc6: 7010 7104 0300 |000b: invoke-direct {v3}, Ldnsfilter/remote/RemoteAccessClient;.getInputStream:()Ljava/io/InputStream; // method@0471 │ │ +021dcc: 0c02 |000e: move-result-object v2 │ │ +021dce: 7020 ee04 2100 |000f: invoke-direct {v1, v2}, Ljava/io/DataInputStream;.:(Ljava/io/InputStream;)V // method@04ee │ │ +021dd4: 1a02 2b07 |0012: const-string v2, "getAdditionalHosts() │ │ " // string@072b │ │ -021ddc: 6e10 8d05 0200 |0014: invoke-virtual {v2}, Ljava/lang/String;.getBytes:()[B // method@058d │ │ -021de2: 0c02 |0017: move-result-object v2 │ │ -021de4: 6e20 f804 2000 |0018: invoke-virtual {v0, v2}, Ljava/io/DataOutputStream;.write:([B)V // method@04f8 │ │ -021dea: 6e20 fb04 4000 |001b: invoke-virtual {v0, v4}, Ljava/io/DataOutputStream;.writeInt:(I)V // method@04fb │ │ -021df0: 6e10 f704 0000 |001e: invoke-virtual {v0}, Ljava/io/DataOutputStream;.flush:()V // method@04f7 │ │ -021df6: 7110 9d07 0100 |0021: invoke-static {v1}, Lutil/Utils;.readLineFromStream:(Ljava/io/InputStream;)Ljava/lang/String; // method@079d │ │ -021dfc: 0c04 |0024: move-result-object v4 │ │ -021dfe: 1a00 fa03 |0025: const-string v0, "OK" // string@03fa │ │ -021e02: 6e20 8b05 0400 |0027: invoke-virtual {v4, v0}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058b │ │ -021e08: 0a00 |002a: move-result v0 │ │ -021e0a: 3800 0c00 |002b: if-eqz v0, 0037 // +000c │ │ -021e0e: 6e10 f204 0100 |002d: invoke-virtual {v1}, Ljava/io/DataInputStream;.readInt:()I // method@04f2 │ │ -021e14: 0a04 |0030: move-result v4 │ │ -021e16: 2344 9d01 |0031: new-array v4, v4, [B // type@019d │ │ -021e1a: 6e20 f004 4100 |0033: invoke-virtual {v1, v4}, Ljava/io/DataInputStream;.readFully:([B)V // method@04f0 │ │ -021e20: 1104 |0036: return-object v4 │ │ -021e22: 2200 8200 |0037: new-instance v0, Ldnsfilter/ConfigurationAccess$ConfigurationAccessException; // type@0082 │ │ -021e26: 1201 |0039: const/4 v1, #int 0 // #0 │ │ -021e28: 7030 4501 4001 |003a: invoke-direct {v0, v4, v1}, Ldnsfilter/ConfigurationAccess$ConfigurationAccessException;.:(Ljava/lang/String;Ljava/io/IOException;)V // method@0145 │ │ -021e2e: 2700 |003d: throw v0 │ │ -021e30: 0d04 |003e: move-exception v4 │ │ -021e32: 5430 e902 |003f: iget-object v0, v3, Ldnsfilter/remote/RemoteAccessClient;.connectedLogger:Lutil/LoggerInterface; // field@02e9 │ │ -021e36: 2201 2d01 |0041: new-instance v1, Ljava/lang/StringBuilder; // type@012d │ │ -021e3a: 1a02 3504 |0043: const-string v2, "Remote action getAdditionalHosts() failed! " // string@0435 │ │ -021e3e: 7020 a805 2100 |0045: invoke-direct {v1, v2}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05a8 │ │ -021e44: 6e10 2205 0400 |0048: invoke-virtual {v4}, Ljava/io/IOException;.getMessage:()Ljava/lang/String; // method@0522 │ │ -021e4a: 0c02 |004b: move-result-object v2 │ │ -021e4c: 6e20 ad05 2100 |004c: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -021e52: 6e10 af05 0100 |004f: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ -021e58: 0c01 |0052: move-result-object v1 │ │ -021e5a: 7220 3107 1000 |0053: invoke-interface {v0, v1}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0731 │ │ -021e60: 7010 6804 0300 |0056: invoke-direct {v3}, Ldnsfilter/remote/RemoteAccessClient;.closeConnectionReconnect:()V // method@0468 │ │ -021e66: 2704 |0059: throw v4 │ │ -021e68: 0d04 |005a: move-exception v4 │ │ -021e6a: 5430 e902 |005b: iget-object v0, v3, Ldnsfilter/remote/RemoteAccessClient;.connectedLogger:Lutil/LoggerInterface; // field@02e9 │ │ -021e6e: 2201 2d01 |005d: new-instance v1, Ljava/lang/StringBuilder; // type@012d │ │ -021e72: 1a02 3404 |005f: const-string v2, "Remote action failed! " // string@0434 │ │ -021e76: 7020 a805 2100 |0061: invoke-direct {v1, v2}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05a8 │ │ -021e7c: 6e10 4601 0400 |0064: invoke-virtual {v4}, Ldnsfilter/ConfigurationAccess$ConfigurationAccessException;.getMessage:()Ljava/lang/String; // method@0146 │ │ -021e82: 0c02 |0067: move-result-object v2 │ │ -021e84: 6e20 ad05 2100 |0068: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -021e8a: 6e10 af05 0100 |006b: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ -021e90: 0c01 |006e: move-result-object v1 │ │ -021e92: 7220 3107 1000 |006f: invoke-interface {v0, v1}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0731 │ │ -021e98: 2704 |0072: throw v4 │ │ +021dd8: 6e10 8d05 0200 |0014: invoke-virtual {v2}, Ljava/lang/String;.getBytes:()[B // method@058d │ │ +021dde: 0c02 |0017: move-result-object v2 │ │ +021de0: 6e20 f804 2000 |0018: invoke-virtual {v0, v2}, Ljava/io/DataOutputStream;.write:([B)V // method@04f8 │ │ +021de6: 6e20 fb04 4000 |001b: invoke-virtual {v0, v4}, Ljava/io/DataOutputStream;.writeInt:(I)V // method@04fb │ │ +021dec: 6e10 f704 0000 |001e: invoke-virtual {v0}, Ljava/io/DataOutputStream;.flush:()V // method@04f7 │ │ +021df2: 7110 9d07 0100 |0021: invoke-static {v1}, Lutil/Utils;.readLineFromStream:(Ljava/io/InputStream;)Ljava/lang/String; // method@079d │ │ +021df8: 0c04 |0024: move-result-object v4 │ │ +021dfa: 1a00 fa03 |0025: const-string v0, "OK" // string@03fa │ │ +021dfe: 6e20 8b05 0400 |0027: invoke-virtual {v4, v0}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058b │ │ +021e04: 0a00 |002a: move-result v0 │ │ +021e06: 3800 0c00 |002b: if-eqz v0, 0037 // +000c │ │ +021e0a: 6e10 f204 0100 |002d: invoke-virtual {v1}, Ljava/io/DataInputStream;.readInt:()I // method@04f2 │ │ +021e10: 0a04 |0030: move-result v4 │ │ +021e12: 2344 9d01 |0031: new-array v4, v4, [B // type@019d │ │ +021e16: 6e20 f004 4100 |0033: invoke-virtual {v1, v4}, Ljava/io/DataInputStream;.readFully:([B)V // method@04f0 │ │ +021e1c: 1104 |0036: return-object v4 │ │ +021e1e: 2200 8200 |0037: new-instance v0, Ldnsfilter/ConfigurationAccess$ConfigurationAccessException; // type@0082 │ │ +021e22: 1201 |0039: const/4 v1, #int 0 // #0 │ │ +021e24: 7030 4501 4001 |003a: invoke-direct {v0, v4, v1}, Ldnsfilter/ConfigurationAccess$ConfigurationAccessException;.:(Ljava/lang/String;Ljava/io/IOException;)V // method@0145 │ │ +021e2a: 2700 |003d: throw v0 │ │ +021e2c: 0d04 |003e: move-exception v4 │ │ +021e2e: 5430 e902 |003f: iget-object v0, v3, Ldnsfilter/remote/RemoteAccessClient;.connectedLogger:Lutil/LoggerInterface; // field@02e9 │ │ +021e32: 2201 2d01 |0041: new-instance v1, Ljava/lang/StringBuilder; // type@012d │ │ +021e36: 1a02 3504 |0043: const-string v2, "Remote action getAdditionalHosts() failed! " // string@0435 │ │ +021e3a: 7020 a805 2100 |0045: invoke-direct {v1, v2}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05a8 │ │ +021e40: 6e10 2205 0400 |0048: invoke-virtual {v4}, Ljava/io/IOException;.getMessage:()Ljava/lang/String; // method@0522 │ │ +021e46: 0c02 |004b: move-result-object v2 │ │ +021e48: 6e20 ad05 2100 |004c: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +021e4e: 6e10 af05 0100 |004f: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ +021e54: 0c01 |0052: move-result-object v1 │ │ +021e56: 7220 3107 1000 |0053: invoke-interface {v0, v1}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0731 │ │ +021e5c: 7010 6804 0300 |0056: invoke-direct {v3}, Ldnsfilter/remote/RemoteAccessClient;.closeConnectionReconnect:()V // method@0468 │ │ +021e62: 2704 |0059: throw v4 │ │ +021e64: 0d04 |005a: move-exception v4 │ │ +021e66: 5430 e902 |005b: iget-object v0, v3, Ldnsfilter/remote/RemoteAccessClient;.connectedLogger:Lutil/LoggerInterface; // field@02e9 │ │ +021e6a: 2201 2d01 |005d: new-instance v1, Ljava/lang/StringBuilder; // type@012d │ │ +021e6e: 1a02 3404 |005f: const-string v2, "Remote action failed! " // string@0434 │ │ +021e72: 7020 a805 2100 |0061: invoke-direct {v1, v2}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05a8 │ │ +021e78: 6e10 4601 0400 |0064: invoke-virtual {v4}, Ldnsfilter/ConfigurationAccess$ConfigurationAccessException;.getMessage:()Ljava/lang/String; // method@0146 │ │ +021e7e: 0c02 |0067: move-result-object v2 │ │ +021e80: 6e20 ad05 2100 |0068: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +021e86: 6e10 af05 0100 |006b: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ +021e8c: 0c01 |006e: move-result-object v1 │ │ +021e8e: 7220 3107 1000 |006f: invoke-interface {v0, v1}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0731 │ │ +021e94: 2704 |0072: throw v4 │ │ catches : 1 │ │ 0x0000 - 0x003e │ │ Ldnsfilter/ConfigurationAccess$ConfigurationAccessException; -> 0x005a │ │ Ljava/io/IOException; -> 0x003e │ │ positions : │ │ 0x0000 line=356 │ │ 0x0009 line=357 │ │ @@ -52867,74 +52867,74 @@ │ │ type : '()Ljava/util/Properties;' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 5 │ │ ins : 1 │ │ outs : 3 │ │ insns size : 120 16-bit code units │ │ -0222ac: |[0222ac] dnsfilter.remote.RemoteAccessClient.getConfig:()Ljava/util/Properties; │ │ -0222bc: 7010 7304 0400 |0000: invoke-direct {v4}, Ldnsfilter/remote/RemoteAccessClient;.getOutputStream:()Ljava/io/OutputStream; // method@0473 │ │ -0222c2: 0c00 |0003: move-result-object v0 │ │ -0222c4: 1a01 4507 |0004: const-string v1, "getConfig() │ │ +0222a8: |[0222a8] dnsfilter.remote.RemoteAccessClient.getConfig:()Ljava/util/Properties; │ │ +0222b8: 7010 7304 0400 |0000: invoke-direct {v4}, Ldnsfilter/remote/RemoteAccessClient;.getOutputStream:()Ljava/io/OutputStream; // method@0473 │ │ +0222be: 0c00 |0003: move-result-object v0 │ │ +0222c0: 1a01 4507 |0004: const-string v1, "getConfig() │ │ " // string@0745 │ │ -0222c8: 6e10 8d05 0100 |0006: invoke-virtual {v1}, Ljava/lang/String;.getBytes:()[B // method@058d │ │ -0222ce: 0c01 |0009: move-result-object v1 │ │ -0222d0: 6e20 3605 1000 |000a: invoke-virtual {v0, v1}, Ljava/io/OutputStream;.write:([B)V // method@0536 │ │ -0222d6: 7010 7304 0400 |000d: invoke-direct {v4}, Ldnsfilter/remote/RemoteAccessClient;.getOutputStream:()Ljava/io/OutputStream; // method@0473 │ │ -0222dc: 0c00 |0010: move-result-object v0 │ │ -0222de: 6e10 3405 0000 |0011: invoke-virtual {v0}, Ljava/io/OutputStream;.flush:()V // method@0534 │ │ -0222e4: 7010 7104 0400 |0014: invoke-direct {v4}, Ldnsfilter/remote/RemoteAccessClient;.getInputStream:()Ljava/io/InputStream; // method@0471 │ │ -0222ea: 0c00 |0017: move-result-object v0 │ │ -0222ec: 7110 9d07 0000 |0018: invoke-static {v0}, Lutil/Utils;.readLineFromStream:(Ljava/io/InputStream;)Ljava/lang/String; // method@079d │ │ -0222f2: 0c01 |001b: move-result-object v1 │ │ -0222f4: 1a02 fa03 |001c: const-string v2, "OK" // string@03fa │ │ -0222f8: 6e20 8b05 2100 |001e: invoke-virtual {v1, v2}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058b │ │ -0222fe: 0a02 |0021: move-result v2 │ │ -022300: 3802 1a00 |0022: if-eqz v2, 003c // +001a │ │ -022304: 2201 0301 |0024: new-instance v1, Ljava/io/ObjectInputStream; // type@0103 │ │ -022308: 7020 2c05 0100 |0026: invoke-direct {v1, v0}, Ljava/io/ObjectInputStream;.:(Ljava/io/InputStream;)V // method@052c │ │ -02230e: 6e10 2d05 0100 |0029: invoke-virtual {v1}, Ljava/io/ObjectInputStream;.readObject:()Ljava/lang/Object; // method@052d │ │ -022314: 0c00 |002c: move-result-object v0 │ │ -022316: 1f00 6201 |002d: check-cast v0, Ljava/util/Properties; // type@0162 │ │ -02231a: 1100 |002f: return-object v0 │ │ -02231c: 0d00 |0030: move-exception v0 │ │ -02231e: 5441 e902 |0031: iget-object v1, v4, Ldnsfilter/remote/RemoteAccessClient;.connectedLogger:Lutil/LoggerInterface; // field@02e9 │ │ -022322: 7220 3007 0100 |0033: invoke-interface {v1, v0}, Lutil/LoggerInterface;.logException:(Ljava/lang/Exception;)V // method@0730 │ │ -022328: 2201 0001 |0036: new-instance v1, Ljava/io/IOException; // type@0100 │ │ -02232c: 7020 2105 0100 |0038: invoke-direct {v1, v0}, Ljava/io/IOException;.:(Ljava/lang/Throwable;)V // method@0521 │ │ -022332: 2701 |003b: throw v1 │ │ -022334: 2200 8200 |003c: new-instance v0, Ldnsfilter/ConfigurationAccess$ConfigurationAccessException; // type@0082 │ │ -022338: 1202 |003e: const/4 v2, #int 0 // #0 │ │ -02233a: 7030 4501 1002 |003f: invoke-direct {v0, v1, v2}, Ldnsfilter/ConfigurationAccess$ConfigurationAccessException;.:(Ljava/lang/String;Ljava/io/IOException;)V // method@0145 │ │ -022340: 2700 |0042: throw v0 │ │ -022342: 0d00 |0043: move-exception v0 │ │ -022344: 5441 e902 |0044: iget-object v1, v4, Ldnsfilter/remote/RemoteAccessClient;.connectedLogger:Lutil/LoggerInterface; // field@02e9 │ │ -022348: 2202 2d01 |0046: new-instance v2, Ljava/lang/StringBuilder; // type@012d │ │ -02234c: 1a03 3604 |0048: const-string v3, "Remote action getConfig() failed! " // string@0436 │ │ -022350: 7020 a805 3200 |004a: invoke-direct {v2, v3}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05a8 │ │ -022356: 6e10 2205 0000 |004d: invoke-virtual {v0}, Ljava/io/IOException;.getMessage:()Ljava/lang/String; // method@0522 │ │ -02235c: 0c03 |0050: move-result-object v3 │ │ -02235e: 6e20 ad05 3200 |0051: invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -022364: 6e10 af05 0200 |0054: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ -02236a: 0c02 |0057: move-result-object v2 │ │ -02236c: 7220 3107 2100 |0058: invoke-interface {v1, v2}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0731 │ │ -022372: 7010 6804 0400 |005b: invoke-direct {v4}, Ldnsfilter/remote/RemoteAccessClient;.closeConnectionReconnect:()V // method@0468 │ │ -022378: 2700 |005e: throw v0 │ │ -02237a: 0d00 |005f: move-exception v0 │ │ -02237c: 5441 e902 |0060: iget-object v1, v4, Ldnsfilter/remote/RemoteAccessClient;.connectedLogger:Lutil/LoggerInterface; // field@02e9 │ │ -022380: 2202 2d01 |0062: new-instance v2, Ljava/lang/StringBuilder; // type@012d │ │ -022384: 1a03 3404 |0064: const-string v3, "Remote action failed! " // string@0434 │ │ -022388: 7020 a805 3200 |0066: invoke-direct {v2, v3}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05a8 │ │ -02238e: 6e10 4601 0000 |0069: invoke-virtual {v0}, Ldnsfilter/ConfigurationAccess$ConfigurationAccessException;.getMessage:()Ljava/lang/String; // method@0146 │ │ -022394: 0c03 |006c: move-result-object v3 │ │ -022396: 6e20 ad05 3200 |006d: invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -02239c: 6e10 af05 0200 |0070: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ -0223a2: 0c02 |0073: move-result-object v2 │ │ -0223a4: 7220 3107 2100 |0074: invoke-interface {v1, v2}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0731 │ │ -0223aa: 2700 |0077: throw v0 │ │ +0222c4: 6e10 8d05 0100 |0006: invoke-virtual {v1}, Ljava/lang/String;.getBytes:()[B // method@058d │ │ +0222ca: 0c01 |0009: move-result-object v1 │ │ +0222cc: 6e20 3605 1000 |000a: invoke-virtual {v0, v1}, Ljava/io/OutputStream;.write:([B)V // method@0536 │ │ +0222d2: 7010 7304 0400 |000d: invoke-direct {v4}, Ldnsfilter/remote/RemoteAccessClient;.getOutputStream:()Ljava/io/OutputStream; // method@0473 │ │ +0222d8: 0c00 |0010: move-result-object v0 │ │ +0222da: 6e10 3405 0000 |0011: invoke-virtual {v0}, Ljava/io/OutputStream;.flush:()V // method@0534 │ │ +0222e0: 7010 7104 0400 |0014: invoke-direct {v4}, Ldnsfilter/remote/RemoteAccessClient;.getInputStream:()Ljava/io/InputStream; // method@0471 │ │ +0222e6: 0c00 |0017: move-result-object v0 │ │ +0222e8: 7110 9d07 0000 |0018: invoke-static {v0}, Lutil/Utils;.readLineFromStream:(Ljava/io/InputStream;)Ljava/lang/String; // method@079d │ │ +0222ee: 0c01 |001b: move-result-object v1 │ │ +0222f0: 1a02 fa03 |001c: const-string v2, "OK" // string@03fa │ │ +0222f4: 6e20 8b05 2100 |001e: invoke-virtual {v1, v2}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058b │ │ +0222fa: 0a02 |0021: move-result v2 │ │ +0222fc: 3802 1a00 |0022: if-eqz v2, 003c // +001a │ │ +022300: 2201 0301 |0024: new-instance v1, Ljava/io/ObjectInputStream; // type@0103 │ │ +022304: 7020 2c05 0100 |0026: invoke-direct {v1, v0}, Ljava/io/ObjectInputStream;.:(Ljava/io/InputStream;)V // method@052c │ │ +02230a: 6e10 2d05 0100 |0029: invoke-virtual {v1}, Ljava/io/ObjectInputStream;.readObject:()Ljava/lang/Object; // method@052d │ │ +022310: 0c00 |002c: move-result-object v0 │ │ +022312: 1f00 6201 |002d: check-cast v0, Ljava/util/Properties; // type@0162 │ │ +022316: 1100 |002f: return-object v0 │ │ +022318: 0d00 |0030: move-exception v0 │ │ +02231a: 5441 e902 |0031: iget-object v1, v4, Ldnsfilter/remote/RemoteAccessClient;.connectedLogger:Lutil/LoggerInterface; // field@02e9 │ │ +02231e: 7220 3007 0100 |0033: invoke-interface {v1, v0}, Lutil/LoggerInterface;.logException:(Ljava/lang/Exception;)V // method@0730 │ │ +022324: 2201 0001 |0036: new-instance v1, Ljava/io/IOException; // type@0100 │ │ +022328: 7020 2105 0100 |0038: invoke-direct {v1, v0}, Ljava/io/IOException;.:(Ljava/lang/Throwable;)V // method@0521 │ │ +02232e: 2701 |003b: throw v1 │ │ +022330: 2200 8200 |003c: new-instance v0, Ldnsfilter/ConfigurationAccess$ConfigurationAccessException; // type@0082 │ │ +022334: 1202 |003e: const/4 v2, #int 0 // #0 │ │ +022336: 7030 4501 1002 |003f: invoke-direct {v0, v1, v2}, Ldnsfilter/ConfigurationAccess$ConfigurationAccessException;.:(Ljava/lang/String;Ljava/io/IOException;)V // method@0145 │ │ +02233c: 2700 |0042: throw v0 │ │ +02233e: 0d00 |0043: move-exception v0 │ │ +022340: 5441 e902 |0044: iget-object v1, v4, Ldnsfilter/remote/RemoteAccessClient;.connectedLogger:Lutil/LoggerInterface; // field@02e9 │ │ +022344: 2202 2d01 |0046: new-instance v2, Ljava/lang/StringBuilder; // type@012d │ │ +022348: 1a03 3604 |0048: const-string v3, "Remote action getConfig() failed! " // string@0436 │ │ +02234c: 7020 a805 3200 |004a: invoke-direct {v2, v3}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05a8 │ │ +022352: 6e10 2205 0000 |004d: invoke-virtual {v0}, Ljava/io/IOException;.getMessage:()Ljava/lang/String; // method@0522 │ │ +022358: 0c03 |0050: move-result-object v3 │ │ +02235a: 6e20 ad05 3200 |0051: invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +022360: 6e10 af05 0200 |0054: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ +022366: 0c02 |0057: move-result-object v2 │ │ +022368: 7220 3107 2100 |0058: invoke-interface {v1, v2}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0731 │ │ +02236e: 7010 6804 0400 |005b: invoke-direct {v4}, Ldnsfilter/remote/RemoteAccessClient;.closeConnectionReconnect:()V // method@0468 │ │ +022374: 2700 |005e: throw v0 │ │ +022376: 0d00 |005f: move-exception v0 │ │ +022378: 5441 e902 |0060: iget-object v1, v4, Ldnsfilter/remote/RemoteAccessClient;.connectedLogger:Lutil/LoggerInterface; // field@02e9 │ │ +02237c: 2202 2d01 |0062: new-instance v2, Ljava/lang/StringBuilder; // type@012d │ │ +022380: 1a03 3404 |0064: const-string v3, "Remote action failed! " // string@0434 │ │ +022384: 7020 a805 3200 |0066: invoke-direct {v2, v3}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05a8 │ │ +02238a: 6e10 4601 0000 |0069: invoke-virtual {v0}, Ldnsfilter/ConfigurationAccess$ConfigurationAccessException;.getMessage:()Ljava/lang/String; // method@0146 │ │ +022390: 0c03 |006c: move-result-object v3 │ │ +022392: 6e20 ad05 3200 |006d: invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +022398: 6e10 af05 0200 |0070: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ +02239e: 0c02 |0073: move-result-object v2 │ │ +0223a0: 7220 3107 2100 |0074: invoke-interface {v1, v2}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0731 │ │ +0223a6: 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 │ │ @@ -52965,92 +52965,92 @@ │ │ type : '()Ljava/util/Properties;' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 6 │ │ ins : 1 │ │ outs : 3 │ │ insns size : 162 16-bit code units │ │ -0223d8: |[0223d8] dnsfilter.remote.RemoteAccessClient.getDefaultConfig:()Ljava/util/Properties; │ │ -0223e8: 7010 7304 0500 |0000: invoke-direct {v5}, Ldnsfilter/remote/RemoteAccessClient;.getOutputStream:()Ljava/io/OutputStream; // method@0473 │ │ -0223ee: 0c00 |0003: move-result-object v0 │ │ -0223f0: 1a01 6507 |0004: const-string v1, "getDefaultConfig() │ │ +0223d4: |[0223d4] dnsfilter.remote.RemoteAccessClient.getDefaultConfig:()Ljava/util/Properties; │ │ +0223e4: 7010 7304 0500 |0000: invoke-direct {v5}, Ldnsfilter/remote/RemoteAccessClient;.getOutputStream:()Ljava/io/OutputStream; // method@0473 │ │ +0223ea: 0c00 |0003: move-result-object v0 │ │ +0223ec: 1a01 6507 |0004: const-string v1, "getDefaultConfig() │ │ " // string@0765 │ │ -0223f4: 6e10 8d05 0100 |0006: invoke-virtual {v1}, Ljava/lang/String;.getBytes:()[B // method@058d │ │ -0223fa: 0c01 |0009: move-result-object v1 │ │ -0223fc: 6e20 3605 1000 |000a: invoke-virtual {v0, v1}, Ljava/io/OutputStream;.write:([B)V // method@0536 │ │ -022402: 7010 7304 0500 |000d: invoke-direct {v5}, Ldnsfilter/remote/RemoteAccessClient;.getOutputStream:()Ljava/io/OutputStream; // method@0473 │ │ -022408: 0c00 |0010: move-result-object v0 │ │ -02240a: 6e10 3405 0000 |0011: invoke-virtual {v0}, Ljava/io/OutputStream;.flush:()V // method@0534 │ │ -022410: 7010 7104 0500 |0014: invoke-direct {v5}, Ldnsfilter/remote/RemoteAccessClient;.getInputStream:()Ljava/io/InputStream; // method@0471 │ │ -022416: 0c00 |0017: move-result-object v0 │ │ -022418: 7110 9d07 0000 |0018: invoke-static {v0}, Lutil/Utils;.readLineFromStream:(Ljava/io/InputStream;)Ljava/lang/String; // method@079d │ │ -02241e: 0c01 |001b: move-result-object v1 │ │ -022420: 1a02 fa03 |001c: const-string v2, "OK" // string@03fa │ │ -022424: 6e20 8b05 2100 |001e: invoke-virtual {v1, v2}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058b │ │ -02242a: 0a02 |0021: move-result v2 │ │ -02242c: 3802 1a00 |0022: if-eqz v2, 003c // +001a │ │ -022430: 2201 0301 |0024: new-instance v1, Ljava/io/ObjectInputStream; // type@0103 │ │ -022434: 7020 2c05 0100 |0026: invoke-direct {v1, v0}, Ljava/io/ObjectInputStream;.:(Ljava/io/InputStream;)V // method@052c │ │ -02243a: 6e10 2d05 0100 |0029: invoke-virtual {v1}, Ljava/io/ObjectInputStream;.readObject:()Ljava/lang/Object; // method@052d │ │ -022440: 0c00 |002c: move-result-object v0 │ │ -022442: 1f00 6201 |002d: check-cast v0, Ljava/util/Properties; // type@0162 │ │ -022446: 1100 |002f: return-object v0 │ │ -022448: 0d00 |0030: move-exception v0 │ │ -02244a: 5451 e902 |0031: iget-object v1, v5, Ldnsfilter/remote/RemoteAccessClient;.connectedLogger:Lutil/LoggerInterface; // field@02e9 │ │ -02244e: 7220 3007 0100 |0033: invoke-interface {v1, v0}, Lutil/LoggerInterface;.logException:(Ljava/lang/Exception;)V // method@0730 │ │ -022454: 2201 0001 |0036: new-instance v1, Ljava/io/IOException; // type@0100 │ │ -022458: 7020 2105 0100 |0038: invoke-direct {v1, v0}, Ljava/io/IOException;.:(Ljava/lang/Throwable;)V // method@0521 │ │ -02245e: 2701 |003b: throw v1 │ │ -022460: 2200 8200 |003c: new-instance v0, Ldnsfilter/ConfigurationAccess$ConfigurationAccessException; // type@0082 │ │ -022464: 1202 |003e: const/4 v2, #int 0 // #0 │ │ -022466: 7030 4501 1002 |003f: invoke-direct {v0, v1, v2}, Ldnsfilter/ConfigurationAccess$ConfigurationAccessException;.:(Ljava/lang/String;Ljava/io/IOException;)V // method@0145 │ │ -02246c: 2700 |0042: throw v0 │ │ -02246e: 0d00 |0043: move-exception v0 │ │ -022470: 5451 e902 |0044: iget-object v1, v5, Ldnsfilter/remote/RemoteAccessClient;.connectedLogger:Lutil/LoggerInterface; // field@02e9 │ │ -022474: 2202 2d01 |0046: new-instance v2, Ljava/lang/StringBuilder; // type@012d │ │ -022478: 1a03 3604 |0048: const-string v3, "Remote action getConfig() failed! " // string@0436 │ │ -02247c: 7020 a805 3200 |004a: invoke-direct {v2, v3}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05a8 │ │ -022482: 6e10 2205 0000 |004d: invoke-virtual {v0}, Ljava/io/IOException;.getMessage:()Ljava/lang/String; // method@0522 │ │ -022488: 0c04 |0050: move-result-object v4 │ │ -02248a: 6e20 ad05 4200 |0051: invoke-virtual {v2, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -022490: 6e10 af05 0200 |0054: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ -022496: 0c02 |0057: move-result-object v2 │ │ -022498: 7220 3107 2100 |0058: invoke-interface {v1, v2}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0731 │ │ -02249e: 5451 e902 |005b: iget-object v1, v5, Ldnsfilter/remote/RemoteAccessClient;.connectedLogger:Lutil/LoggerInterface; // field@02e9 │ │ -0224a2: 2202 2d01 |005d: new-instance v2, Ljava/lang/StringBuilder; // type@012d │ │ -0224a6: 7020 a805 3200 |005f: invoke-direct {v2, v3}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05a8 │ │ -0224ac: 6e10 2205 0000 |0062: invoke-virtual {v0}, Ljava/io/IOException;.getMessage:()Ljava/lang/String; // method@0522 │ │ -0224b2: 0c03 |0065: move-result-object v3 │ │ -0224b4: 6e20 ad05 3200 |0066: invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -0224ba: 6e10 af05 0200 |0069: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ -0224c0: 0c02 |006c: move-result-object v2 │ │ -0224c2: 7220 3207 2100 |006d: invoke-interface {v1, v2}, Lutil/LoggerInterface;.message:(Ljava/lang/String;)V // method@0732 │ │ -0224c8: 7010 6804 0500 |0070: invoke-direct {v5}, Ldnsfilter/remote/RemoteAccessClient;.closeConnectionReconnect:()V // method@0468 │ │ -0224ce: 2700 |0073: throw v0 │ │ -0224d0: 0d00 |0074: move-exception v0 │ │ -0224d2: 5451 e902 |0075: iget-object v1, v5, Ldnsfilter/remote/RemoteAccessClient;.connectedLogger:Lutil/LoggerInterface; // field@02e9 │ │ -0224d6: 2202 2d01 |0077: new-instance v2, Ljava/lang/StringBuilder; // type@012d │ │ -0224da: 1a03 3404 |0079: const-string v3, "Remote action failed! " // string@0434 │ │ -0224de: 7020 a805 3200 |007b: invoke-direct {v2, v3}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05a8 │ │ -0224e4: 6e10 4601 0000 |007e: invoke-virtual {v0}, Ldnsfilter/ConfigurationAccess$ConfigurationAccessException;.getMessage:()Ljava/lang/String; // method@0146 │ │ -0224ea: 0c04 |0081: move-result-object v4 │ │ -0224ec: 6e20 ad05 4200 |0082: invoke-virtual {v2, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -0224f2: 6e10 af05 0200 |0085: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ -0224f8: 0c02 |0088: move-result-object v2 │ │ -0224fa: 7220 3107 2100 |0089: invoke-interface {v1, v2}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0731 │ │ -022500: 5451 e902 |008c: iget-object v1, v5, Ldnsfilter/remote/RemoteAccessClient;.connectedLogger:Lutil/LoggerInterface; // field@02e9 │ │ -022504: 2202 2d01 |008e: new-instance v2, Ljava/lang/StringBuilder; // type@012d │ │ -022508: 7020 a805 3200 |0090: invoke-direct {v2, v3}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05a8 │ │ -02250e: 6e10 4601 0000 |0093: invoke-virtual {v0}, Ldnsfilter/ConfigurationAccess$ConfigurationAccessException;.getMessage:()Ljava/lang/String; // method@0146 │ │ -022514: 0c03 |0096: move-result-object v3 │ │ -022516: 6e20 ad05 3200 |0097: invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -02251c: 6e10 af05 0200 |009a: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ -022522: 0c02 |009d: move-result-object v2 │ │ -022524: 7220 3207 2100 |009e: invoke-interface {v1, v2}, Lutil/LoggerInterface;.message:(Ljava/lang/String;)V // method@0732 │ │ -02252a: 2700 |00a1: throw v0 │ │ +0223f0: 6e10 8d05 0100 |0006: invoke-virtual {v1}, Ljava/lang/String;.getBytes:()[B // method@058d │ │ +0223f6: 0c01 |0009: move-result-object v1 │ │ +0223f8: 6e20 3605 1000 |000a: invoke-virtual {v0, v1}, Ljava/io/OutputStream;.write:([B)V // method@0536 │ │ +0223fe: 7010 7304 0500 |000d: invoke-direct {v5}, Ldnsfilter/remote/RemoteAccessClient;.getOutputStream:()Ljava/io/OutputStream; // method@0473 │ │ +022404: 0c00 |0010: move-result-object v0 │ │ +022406: 6e10 3405 0000 |0011: invoke-virtual {v0}, Ljava/io/OutputStream;.flush:()V // method@0534 │ │ +02240c: 7010 7104 0500 |0014: invoke-direct {v5}, Ldnsfilter/remote/RemoteAccessClient;.getInputStream:()Ljava/io/InputStream; // method@0471 │ │ +022412: 0c00 |0017: move-result-object v0 │ │ +022414: 7110 9d07 0000 |0018: invoke-static {v0}, Lutil/Utils;.readLineFromStream:(Ljava/io/InputStream;)Ljava/lang/String; // method@079d │ │ +02241a: 0c01 |001b: move-result-object v1 │ │ +02241c: 1a02 fa03 |001c: const-string v2, "OK" // string@03fa │ │ +022420: 6e20 8b05 2100 |001e: invoke-virtual {v1, v2}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058b │ │ +022426: 0a02 |0021: move-result v2 │ │ +022428: 3802 1a00 |0022: if-eqz v2, 003c // +001a │ │ +02242c: 2201 0301 |0024: new-instance v1, Ljava/io/ObjectInputStream; // type@0103 │ │ +022430: 7020 2c05 0100 |0026: invoke-direct {v1, v0}, Ljava/io/ObjectInputStream;.:(Ljava/io/InputStream;)V // method@052c │ │ +022436: 6e10 2d05 0100 |0029: invoke-virtual {v1}, Ljava/io/ObjectInputStream;.readObject:()Ljava/lang/Object; // method@052d │ │ +02243c: 0c00 |002c: move-result-object v0 │ │ +02243e: 1f00 6201 |002d: check-cast v0, Ljava/util/Properties; // type@0162 │ │ +022442: 1100 |002f: return-object v0 │ │ +022444: 0d00 |0030: move-exception v0 │ │ +022446: 5451 e902 |0031: iget-object v1, v5, Ldnsfilter/remote/RemoteAccessClient;.connectedLogger:Lutil/LoggerInterface; // field@02e9 │ │ +02244a: 7220 3007 0100 |0033: invoke-interface {v1, v0}, Lutil/LoggerInterface;.logException:(Ljava/lang/Exception;)V // method@0730 │ │ +022450: 2201 0001 |0036: new-instance v1, Ljava/io/IOException; // type@0100 │ │ +022454: 7020 2105 0100 |0038: invoke-direct {v1, v0}, Ljava/io/IOException;.:(Ljava/lang/Throwable;)V // method@0521 │ │ +02245a: 2701 |003b: throw v1 │ │ +02245c: 2200 8200 |003c: new-instance v0, Ldnsfilter/ConfigurationAccess$ConfigurationAccessException; // type@0082 │ │ +022460: 1202 |003e: const/4 v2, #int 0 // #0 │ │ +022462: 7030 4501 1002 |003f: invoke-direct {v0, v1, v2}, Ldnsfilter/ConfigurationAccess$ConfigurationAccessException;.:(Ljava/lang/String;Ljava/io/IOException;)V // method@0145 │ │ +022468: 2700 |0042: throw v0 │ │ +02246a: 0d00 |0043: move-exception v0 │ │ +02246c: 5451 e902 |0044: iget-object v1, v5, Ldnsfilter/remote/RemoteAccessClient;.connectedLogger:Lutil/LoggerInterface; // field@02e9 │ │ +022470: 2202 2d01 |0046: new-instance v2, Ljava/lang/StringBuilder; // type@012d │ │ +022474: 1a03 3604 |0048: const-string v3, "Remote action getConfig() failed! " // string@0436 │ │ +022478: 7020 a805 3200 |004a: invoke-direct {v2, v3}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05a8 │ │ +02247e: 6e10 2205 0000 |004d: invoke-virtual {v0}, Ljava/io/IOException;.getMessage:()Ljava/lang/String; // method@0522 │ │ +022484: 0c04 |0050: move-result-object v4 │ │ +022486: 6e20 ad05 4200 |0051: invoke-virtual {v2, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +02248c: 6e10 af05 0200 |0054: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ +022492: 0c02 |0057: move-result-object v2 │ │ +022494: 7220 3107 2100 |0058: invoke-interface {v1, v2}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0731 │ │ +02249a: 5451 e902 |005b: iget-object v1, v5, Ldnsfilter/remote/RemoteAccessClient;.connectedLogger:Lutil/LoggerInterface; // field@02e9 │ │ +02249e: 2202 2d01 |005d: new-instance v2, Ljava/lang/StringBuilder; // type@012d │ │ +0224a2: 7020 a805 3200 |005f: invoke-direct {v2, v3}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05a8 │ │ +0224a8: 6e10 2205 0000 |0062: invoke-virtual {v0}, Ljava/io/IOException;.getMessage:()Ljava/lang/String; // method@0522 │ │ +0224ae: 0c03 |0065: move-result-object v3 │ │ +0224b0: 6e20 ad05 3200 |0066: invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +0224b6: 6e10 af05 0200 |0069: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ +0224bc: 0c02 |006c: move-result-object v2 │ │ +0224be: 7220 3207 2100 |006d: invoke-interface {v1, v2}, Lutil/LoggerInterface;.message:(Ljava/lang/String;)V // method@0732 │ │ +0224c4: 7010 6804 0500 |0070: invoke-direct {v5}, Ldnsfilter/remote/RemoteAccessClient;.closeConnectionReconnect:()V // method@0468 │ │ +0224ca: 2700 |0073: throw v0 │ │ +0224cc: 0d00 |0074: move-exception v0 │ │ +0224ce: 5451 e902 |0075: iget-object v1, v5, Ldnsfilter/remote/RemoteAccessClient;.connectedLogger:Lutil/LoggerInterface; // field@02e9 │ │ +0224d2: 2202 2d01 |0077: new-instance v2, Ljava/lang/StringBuilder; // type@012d │ │ +0224d6: 1a03 3404 |0079: const-string v3, "Remote action failed! " // string@0434 │ │ +0224da: 7020 a805 3200 |007b: invoke-direct {v2, v3}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05a8 │ │ +0224e0: 6e10 4601 0000 |007e: invoke-virtual {v0}, Ldnsfilter/ConfigurationAccess$ConfigurationAccessException;.getMessage:()Ljava/lang/String; // method@0146 │ │ +0224e6: 0c04 |0081: move-result-object v4 │ │ +0224e8: 6e20 ad05 4200 |0082: invoke-virtual {v2, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +0224ee: 6e10 af05 0200 |0085: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ +0224f4: 0c02 |0088: move-result-object v2 │ │ +0224f6: 7220 3107 2100 |0089: invoke-interface {v1, v2}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0731 │ │ +0224fc: 5451 e902 |008c: iget-object v1, v5, Ldnsfilter/remote/RemoteAccessClient;.connectedLogger:Lutil/LoggerInterface; // field@02e9 │ │ +022500: 2202 2d01 |008e: new-instance v2, Ljava/lang/StringBuilder; // type@012d │ │ +022504: 7020 a805 3200 |0090: invoke-direct {v2, v3}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05a8 │ │ +02250a: 6e10 4601 0000 |0093: invoke-virtual {v0}, Ldnsfilter/ConfigurationAccess$ConfigurationAccessException;.getMessage:()Ljava/lang/String; // method@0146 │ │ +022510: 0c03 |0096: move-result-object v3 │ │ +022512: 6e20 ad05 3200 |0097: invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +022518: 6e10 af05 0200 |009a: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ +02251e: 0c02 |009d: move-result-object v2 │ │ +022520: 7220 3207 2100 |009e: invoke-interface {v1, v2}, Lutil/LoggerInterface;.message:(Ljava/lang/String;)V // method@0732 │ │ +022526: 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 │ │ @@ -53083,75 +53083,75 @@ │ │ type : '()[J' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 6 │ │ ins : 1 │ │ outs : 3 │ │ insns size : 120 16-bit code units │ │ -022570: |[022570] dnsfilter.remote.RemoteAccessClient.getFilterStatistics:()[J │ │ -022580: 2200 f900 |0000: new-instance v0, Ljava/io/DataOutputStream; // type@00f9 │ │ -022584: 7010 7304 0500 |0002: invoke-direct {v5}, Ldnsfilter/remote/RemoteAccessClient;.getOutputStream:()Ljava/io/OutputStream; // method@0473 │ │ -02258a: 0c01 |0005: move-result-object v1 │ │ -02258c: 7020 f504 1000 |0006: invoke-direct {v0, v1}, Ljava/io/DataOutputStream;.:(Ljava/io/OutputStream;)V // method@04f5 │ │ -022592: 2201 f800 |0009: new-instance v1, Ljava/io/DataInputStream; // type@00f8 │ │ -022596: 7010 7104 0500 |000b: invoke-direct {v5}, Ldnsfilter/remote/RemoteAccessClient;.getInputStream:()Ljava/io/InputStream; // method@0471 │ │ -02259c: 0c02 |000e: move-result-object v2 │ │ -02259e: 7020 ee04 2100 |000f: invoke-direct {v1, v2}, Ljava/io/DataInputStream;.:(Ljava/io/InputStream;)V // method@04ee │ │ -0225a4: 1a02 8207 |0012: const-string v2, "getFilterStatistics() │ │ +02256c: |[02256c] dnsfilter.remote.RemoteAccessClient.getFilterStatistics:()[J │ │ +02257c: 2200 f900 |0000: new-instance v0, Ljava/io/DataOutputStream; // type@00f9 │ │ +022580: 7010 7304 0500 |0002: invoke-direct {v5}, Ldnsfilter/remote/RemoteAccessClient;.getOutputStream:()Ljava/io/OutputStream; // method@0473 │ │ +022586: 0c01 |0005: move-result-object v1 │ │ +022588: 7020 f504 1000 |0006: invoke-direct {v0, v1}, Ljava/io/DataOutputStream;.:(Ljava/io/OutputStream;)V // method@04f5 │ │ +02258e: 2201 f800 |0009: new-instance v1, Ljava/io/DataInputStream; // type@00f8 │ │ +022592: 7010 7104 0500 |000b: invoke-direct {v5}, Ldnsfilter/remote/RemoteAccessClient;.getInputStream:()Ljava/io/InputStream; // method@0471 │ │ +022598: 0c02 |000e: move-result-object v2 │ │ +02259a: 7020 ee04 2100 |000f: invoke-direct {v1, v2}, Ljava/io/DataInputStream;.:(Ljava/io/InputStream;)V // method@04ee │ │ +0225a0: 1a02 8207 |0012: const-string v2, "getFilterStatistics() │ │ " // string@0782 │ │ -0225a8: 6e10 8d05 0200 |0014: invoke-virtual {v2}, Ljava/lang/String;.getBytes:()[B // method@058d │ │ -0225ae: 0c02 |0017: move-result-object v2 │ │ -0225b0: 6e20 f804 2000 |0018: invoke-virtual {v0, v2}, Ljava/io/DataOutputStream;.write:([B)V // method@04f8 │ │ -0225b6: 6e10 f704 0000 |001b: invoke-virtual {v0}, Ljava/io/DataOutputStream;.flush:()V // method@04f7 │ │ -0225bc: 7110 9d07 0100 |001e: invoke-static {v1}, Lutil/Utils;.readLineFromStream:(Ljava/io/InputStream;)Ljava/lang/String; // method@079d │ │ -0225c2: 0c00 |0021: move-result-object v0 │ │ -0225c4: 1a02 fa03 |0022: const-string v2, "OK" // string@03fa │ │ -0225c8: 6e20 8b05 2000 |0024: invoke-virtual {v0, v2}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058b │ │ -0225ce: 0a02 |0027: move-result v2 │ │ -0225d0: 3802 1400 |0028: if-eqz v2, 003c // +0014 │ │ -0225d4: 1220 |002a: const/4 v0, #int 2 // #2 │ │ -0225d6: 2300 9f01 |002b: new-array v0, v0, [J // type@019f │ │ -0225da: 6e10 f304 0100 |002d: invoke-virtual {v1}, Ljava/io/DataInputStream;.readLong:()J // method@04f3 │ │ -0225e0: 0b02 |0030: move-result-wide v2 │ │ -0225e2: 1204 |0031: const/4 v4, #int 0 // #0 │ │ -0225e4: 4c02 0004 |0032: aput-wide v2, v0, v4 │ │ -0225e8: 6e10 f304 0100 |0034: invoke-virtual {v1}, Ljava/io/DataInputStream;.readLong:()J // method@04f3 │ │ -0225ee: 0b01 |0037: move-result-wide v1 │ │ -0225f0: 1213 |0038: const/4 v3, #int 1 // #1 │ │ -0225f2: 4c01 0003 |0039: aput-wide v1, v0, v3 │ │ -0225f6: 1100 |003b: return-object v0 │ │ -0225f8: 2201 8200 |003c: new-instance v1, Ldnsfilter/ConfigurationAccess$ConfigurationAccessException; // type@0082 │ │ -0225fc: 1202 |003e: const/4 v2, #int 0 // #0 │ │ -0225fe: 7030 4501 0102 |003f: invoke-direct {v1, v0, v2}, Ldnsfilter/ConfigurationAccess$ConfigurationAccessException;.:(Ljava/lang/String;Ljava/io/IOException;)V // method@0145 │ │ -022604: 2701 |0042: throw v1 │ │ -022606: 0d00 |0043: move-exception v0 │ │ -022608: 5451 e902 |0044: iget-object v1, v5, Ldnsfilter/remote/RemoteAccessClient;.connectedLogger:Lutil/LoggerInterface; // field@02e9 │ │ -02260c: 2202 2d01 |0046: new-instance v2, Ljava/lang/StringBuilder; // type@012d │ │ -022610: 1a03 3104 |0048: const-string v3, "Remote action getFilterStatistics() failed! " // string@0431 │ │ -022614: 7020 a805 3200 |004a: invoke-direct {v2, v3}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05a8 │ │ -02261a: 6e10 2205 0000 |004d: invoke-virtual {v0}, Ljava/io/IOException;.getMessage:()Ljava/lang/String; // method@0522 │ │ -022620: 0c03 |0050: move-result-object v3 │ │ -022622: 6e20 ad05 3200 |0051: invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -022628: 6e10 af05 0200 |0054: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ -02262e: 0c02 |0057: move-result-object v2 │ │ -022630: 7220 3107 2100 |0058: invoke-interface {v1, v2}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0731 │ │ -022636: 7010 6804 0500 |005b: invoke-direct {v5}, Ldnsfilter/remote/RemoteAccessClient;.closeConnectionReconnect:()V // method@0468 │ │ -02263c: 2700 |005e: throw v0 │ │ -02263e: 0d00 |005f: move-exception v0 │ │ -022640: 5451 e902 |0060: iget-object v1, v5, Ldnsfilter/remote/RemoteAccessClient;.connectedLogger:Lutil/LoggerInterface; // field@02e9 │ │ -022644: 2202 2d01 |0062: new-instance v2, Ljava/lang/StringBuilder; // type@012d │ │ -022648: 1a03 3404 |0064: const-string v3, "Remote action failed! " // string@0434 │ │ -02264c: 7020 a805 3200 |0066: invoke-direct {v2, v3}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05a8 │ │ -022652: 6e10 4601 0000 |0069: invoke-virtual {v0}, Ldnsfilter/ConfigurationAccess$ConfigurationAccessException;.getMessage:()Ljava/lang/String; // method@0146 │ │ -022658: 0c03 |006c: move-result-object v3 │ │ -02265a: 6e20 ad05 3200 |006d: invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -022660: 6e10 af05 0200 |0070: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ -022666: 0c02 |0073: move-result-object v2 │ │ -022668: 7220 3107 2100 |0074: invoke-interface {v1, v2}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0731 │ │ -02266e: 2700 |0077: throw v0 │ │ +0225a4: 6e10 8d05 0200 |0014: invoke-virtual {v2}, Ljava/lang/String;.getBytes:()[B // method@058d │ │ +0225aa: 0c02 |0017: move-result-object v2 │ │ +0225ac: 6e20 f804 2000 |0018: invoke-virtual {v0, v2}, Ljava/io/DataOutputStream;.write:([B)V // method@04f8 │ │ +0225b2: 6e10 f704 0000 |001b: invoke-virtual {v0}, Ljava/io/DataOutputStream;.flush:()V // method@04f7 │ │ +0225b8: 7110 9d07 0100 |001e: invoke-static {v1}, Lutil/Utils;.readLineFromStream:(Ljava/io/InputStream;)Ljava/lang/String; // method@079d │ │ +0225be: 0c00 |0021: move-result-object v0 │ │ +0225c0: 1a02 fa03 |0022: const-string v2, "OK" // string@03fa │ │ +0225c4: 6e20 8b05 2000 |0024: invoke-virtual {v0, v2}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058b │ │ +0225ca: 0a02 |0027: move-result v2 │ │ +0225cc: 3802 1400 |0028: if-eqz v2, 003c // +0014 │ │ +0225d0: 1220 |002a: const/4 v0, #int 2 // #2 │ │ +0225d2: 2300 9f01 |002b: new-array v0, v0, [J // type@019f │ │ +0225d6: 6e10 f304 0100 |002d: invoke-virtual {v1}, Ljava/io/DataInputStream;.readLong:()J // method@04f3 │ │ +0225dc: 0b02 |0030: move-result-wide v2 │ │ +0225de: 1204 |0031: const/4 v4, #int 0 // #0 │ │ +0225e0: 4c02 0004 |0032: aput-wide v2, v0, v4 │ │ +0225e4: 6e10 f304 0100 |0034: invoke-virtual {v1}, Ljava/io/DataInputStream;.readLong:()J // method@04f3 │ │ +0225ea: 0b01 |0037: move-result-wide v1 │ │ +0225ec: 1213 |0038: const/4 v3, #int 1 // #1 │ │ +0225ee: 4c01 0003 |0039: aput-wide v1, v0, v3 │ │ +0225f2: 1100 |003b: return-object v0 │ │ +0225f4: 2201 8200 |003c: new-instance v1, Ldnsfilter/ConfigurationAccess$ConfigurationAccessException; // type@0082 │ │ +0225f8: 1202 |003e: const/4 v2, #int 0 // #0 │ │ +0225fa: 7030 4501 0102 |003f: invoke-direct {v1, v0, v2}, Ldnsfilter/ConfigurationAccess$ConfigurationAccessException;.:(Ljava/lang/String;Ljava/io/IOException;)V // method@0145 │ │ +022600: 2701 |0042: throw v1 │ │ +022602: 0d00 |0043: move-exception v0 │ │ +022604: 5451 e902 |0044: iget-object v1, v5, Ldnsfilter/remote/RemoteAccessClient;.connectedLogger:Lutil/LoggerInterface; // field@02e9 │ │ +022608: 2202 2d01 |0046: new-instance v2, Ljava/lang/StringBuilder; // type@012d │ │ +02260c: 1a03 3104 |0048: const-string v3, "Remote action getFilterStatistics() failed! " // string@0431 │ │ +022610: 7020 a805 3200 |004a: invoke-direct {v2, v3}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05a8 │ │ +022616: 6e10 2205 0000 |004d: invoke-virtual {v0}, Ljava/io/IOException;.getMessage:()Ljava/lang/String; // method@0522 │ │ +02261c: 0c03 |0050: move-result-object v3 │ │ +02261e: 6e20 ad05 3200 |0051: invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +022624: 6e10 af05 0200 |0054: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ +02262a: 0c02 |0057: move-result-object v2 │ │ +02262c: 7220 3107 2100 |0058: invoke-interface {v1, v2}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0731 │ │ +022632: 7010 6804 0500 |005b: invoke-direct {v5}, Ldnsfilter/remote/RemoteAccessClient;.closeConnectionReconnect:()V // method@0468 │ │ +022638: 2700 |005e: throw v0 │ │ +02263a: 0d00 |005f: move-exception v0 │ │ +02263c: 5451 e902 |0060: iget-object v1, v5, Ldnsfilter/remote/RemoteAccessClient;.connectedLogger:Lutil/LoggerInterface; // field@02e9 │ │ +022640: 2202 2d01 |0062: new-instance v2, Ljava/lang/StringBuilder; // type@012d │ │ +022644: 1a03 3404 |0064: const-string v3, "Remote action failed! " // string@0434 │ │ +022648: 7020 a805 3200 |0066: invoke-direct {v2, v3}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05a8 │ │ +02264e: 6e10 4601 0000 |0069: invoke-virtual {v0}, Ldnsfilter/ConfigurationAccess$ConfigurationAccessException;.getMessage:()Ljava/lang/String; // method@0146 │ │ +022654: 0c03 |006c: move-result-object v3 │ │ +022656: 6e20 ad05 3200 |006d: invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +02265c: 6e10 af05 0200 |0070: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ +022662: 0c02 |0073: move-result-object v2 │ │ +022664: 7220 3107 2100 |0074: invoke-interface {v1, v2}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0731 │ │ +02266a: 2700 |0077: throw v0 │ │ catches : 1 │ │ 0x0000 - 0x0043 │ │ Ldnsfilter/ConfigurationAccess$ConfigurationAccessException; -> 0x005f │ │ Ljava/io/IOException; -> 0x0043 │ │ positions : │ │ 0x0000 line=457 │ │ 0x0009 line=458 │ │ @@ -53174,17 +53174,17 @@ │ │ type : '()Ljava/lang/String;' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 0 │ │ insns size : 3 16-bit code units │ │ -022234: |[022234] dnsfilter.remote.RemoteAccessClient.getLastDNSAddress:()Ljava/lang/String; │ │ -022244: 5410 ee02 |0000: iget-object v0, v1, Ldnsfilter/remote/RemoteAccessClient;.last_dns:Ljava/lang/String; // field@02ee │ │ -022248: 1100 |0002: return-object v0 │ │ +022230: |[022230] dnsfilter.remote.RemoteAccessClient.getLastDNSAddress:()Ljava/lang/String; │ │ +022240: 5410 ee02 |0000: iget-object v0, v1, Ldnsfilter/remote/RemoteAccessClient;.last_dns:Ljava/lang/String; // field@02ee │ │ +022244: 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;) │ │ @@ -53192,17 +53192,17 @@ │ │ type : '()J' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 3 │ │ ins : 1 │ │ outs : 0 │ │ insns size : 3 16-bit code units │ │ -022558: |[022558] dnsfilter.remote.RemoteAccessClient.getTimoutTime:()J │ │ -022568: 5320 f402 |0000: iget-wide v0, v2, Ldnsfilter/remote/RemoteAccessClient;.timeout:J // field@02f4 │ │ -02256c: 1000 |0002: return-wide v0 │ │ +022554: |[022554] dnsfilter.remote.RemoteAccessClient.getTimoutTime:()J │ │ +022564: 5320 f402 |0000: iget-wide v0, v2, Ldnsfilter/remote/RemoteAccessClient;.timeout:J // field@02f4 │ │ +022568: 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;) │ │ @@ -53210,17 +53210,17 @@ │ │ type : '()Ljava/lang/String;' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 0 │ │ insns size : 3 16-bit code units │ │ -02224c: |[02224c] dnsfilter.remote.RemoteAccessClient.getVersion:()Ljava/lang/String; │ │ -02225c: 5410 f202 |0000: iget-object v0, v1, Ldnsfilter/remote/RemoteAccessClient;.remote_version:Ljava/lang/String; // field@02f2 │ │ -022260: 1100 |0002: return-object v0 │ │ +022248: |[022248] dnsfilter.remote.RemoteAccessClient.getVersion:()Ljava/lang/String; │ │ +022258: 5410 f202 |0000: iget-object v0, v1, Ldnsfilter/remote/RemoteAccessClient;.remote_version:Ljava/lang/String; // field@02f2 │ │ +02225c: 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;) │ │ @@ -53228,33 +53228,33 @@ │ │ type : '()Z' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 0 │ │ insns size : 2 16-bit code units │ │ -021d90: |[021d90] dnsfilter.remote.RemoteAccessClient.isLocal:()Z │ │ -021da0: 1200 |0000: const/4 v0, #int 0 // #0 │ │ -021da2: 0f00 |0001: return v0 │ │ +021d8c: |[021d8c] dnsfilter.remote.RemoteAccessClient.isLocal:()Z │ │ +021d9c: 1200 |0000: const/4 v0, #int 0 // #0 │ │ +021d9e: 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 │ │ -021fc4: |[021fc4] dnsfilter.remote.RemoteAccessClient.openConnectionsCount:()I │ │ -021fd4: 5210 e802 |0000: iget v0, v1, Ldnsfilter/remote/RemoteAccessClient;.con_cnt:I // field@02e8 │ │ -021fd8: 0f00 |0002: return v0 │ │ +021fc0: |[021fc0] dnsfilter.remote.RemoteAccessClient.openConnectionsCount:()I │ │ +021fd0: 5210 e802 |0000: iget v0, v1, Ldnsfilter/remote/RemoteAccessClient;.con_cnt:I // field@02e8 │ │ +021fd4: 0f00 |0002: return v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=435 │ │ locals : │ │ 0x0000 - 0x0003 reg=1 this Ldnsfilter/remote/RemoteAccessClient; │ │ │ │ #12 : (in Ldnsfilter/remote/RemoteAccessClient;) │ │ @@ -53262,69 +53262,69 @@ │ │ type : '()[B' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 5 │ │ ins : 1 │ │ outs : 3 │ │ insns size : 111 16-bit code units │ │ -021eac: |[021eac] dnsfilter.remote.RemoteAccessClient.readConfig:()[B │ │ -021ebc: 7010 7304 0400 |0000: invoke-direct {v4}, Ldnsfilter/remote/RemoteAccessClient;.getOutputStream:()Ljava/io/OutputStream; // method@0473 │ │ -021ec2: 0c00 |0003: move-result-object v0 │ │ -021ec4: 1a01 b509 |0004: const-string v1, "readConfig() │ │ +021ea8: |[021ea8] dnsfilter.remote.RemoteAccessClient.readConfig:()[B │ │ +021eb8: 7010 7304 0400 |0000: invoke-direct {v4}, Ldnsfilter/remote/RemoteAccessClient;.getOutputStream:()Ljava/io/OutputStream; // method@0473 │ │ +021ebe: 0c00 |0003: move-result-object v0 │ │ +021ec0: 1a01 b509 |0004: const-string v1, "readConfig() │ │ " // string@09b5 │ │ -021ec8: 6e10 8d05 0100 |0006: invoke-virtual {v1}, Ljava/lang/String;.getBytes:()[B // method@058d │ │ -021ece: 0c01 |0009: move-result-object v1 │ │ -021ed0: 6e20 3605 1000 |000a: invoke-virtual {v0, v1}, Ljava/io/OutputStream;.write:([B)V // method@0536 │ │ -021ed6: 7010 7304 0400 |000d: invoke-direct {v4}, Ldnsfilter/remote/RemoteAccessClient;.getOutputStream:()Ljava/io/OutputStream; // method@0473 │ │ -021edc: 0c00 |0010: move-result-object v0 │ │ -021ede: 6e10 3405 0000 |0011: invoke-virtual {v0}, Ljava/io/OutputStream;.flush:()V // method@0534 │ │ -021ee4: 2200 f800 |0014: new-instance v0, Ljava/io/DataInputStream; // type@00f8 │ │ -021ee8: 7010 7104 0400 |0016: invoke-direct {v4}, Ldnsfilter/remote/RemoteAccessClient;.getInputStream:()Ljava/io/InputStream; // method@0471 │ │ -021eee: 0c01 |0019: move-result-object v1 │ │ -021ef0: 7020 ee04 1000 |001a: invoke-direct {v0, v1}, Ljava/io/DataInputStream;.:(Ljava/io/InputStream;)V // method@04ee │ │ -021ef6: 7110 9d07 0000 |001d: invoke-static {v0}, Lutil/Utils;.readLineFromStream:(Ljava/io/InputStream;)Ljava/lang/String; // method@079d │ │ -021efc: 0c01 |0020: move-result-object v1 │ │ -021efe: 1a02 fa03 |0021: const-string v2, "OK" // string@03fa │ │ -021f02: 6e20 8b05 2100 |0023: invoke-virtual {v1, v2}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058b │ │ -021f08: 0a02 |0026: move-result v2 │ │ -021f0a: 3802 0c00 |0027: if-eqz v2, 0033 // +000c │ │ -021f0e: 6e10 f204 0000 |0029: invoke-virtual {v0}, Ljava/io/DataInputStream;.readInt:()I // method@04f2 │ │ -021f14: 0a01 |002c: move-result v1 │ │ -021f16: 2311 9d01 |002d: new-array v1, v1, [B // type@019d │ │ -021f1a: 6e20 f004 1000 |002f: invoke-virtual {v0, v1}, Ljava/io/DataInputStream;.readFully:([B)V // method@04f0 │ │ -021f20: 1101 |0032: return-object v1 │ │ -021f22: 2200 8200 |0033: new-instance v0, Ldnsfilter/ConfigurationAccess$ConfigurationAccessException; // type@0082 │ │ -021f26: 1202 |0035: const/4 v2, #int 0 // #0 │ │ -021f28: 7030 4501 1002 |0036: invoke-direct {v0, v1, v2}, Ldnsfilter/ConfigurationAccess$ConfigurationAccessException;.:(Ljava/lang/String;Ljava/io/IOException;)V // method@0145 │ │ -021f2e: 2700 |0039: throw v0 │ │ -021f30: 0d00 |003a: move-exception v0 │ │ -021f32: 5441 e902 |003b: iget-object v1, v4, Ldnsfilter/remote/RemoteAccessClient;.connectedLogger:Lutil/LoggerInterface; // field@02e9 │ │ -021f36: 2202 2d01 |003d: new-instance v2, Ljava/lang/StringBuilder; // type@012d │ │ -021f3a: 1a03 3704 |003f: const-string v3, "Remote action readConfig() failed! " // string@0437 │ │ -021f3e: 7020 a805 3200 |0041: invoke-direct {v2, v3}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05a8 │ │ -021f44: 6e10 2205 0000 |0044: invoke-virtual {v0}, Ljava/io/IOException;.getMessage:()Ljava/lang/String; // method@0522 │ │ -021f4a: 0c03 |0047: move-result-object v3 │ │ -021f4c: 6e20 ad05 3200 |0048: invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -021f52: 6e10 af05 0200 |004b: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ -021f58: 0c02 |004e: move-result-object v2 │ │ -021f5a: 7220 3107 2100 |004f: invoke-interface {v1, v2}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0731 │ │ -021f60: 7010 6804 0400 |0052: invoke-direct {v4}, Ldnsfilter/remote/RemoteAccessClient;.closeConnectionReconnect:()V // method@0468 │ │ -021f66: 2700 |0055: throw v0 │ │ -021f68: 0d00 |0056: move-exception v0 │ │ -021f6a: 5441 e902 |0057: iget-object v1, v4, Ldnsfilter/remote/RemoteAccessClient;.connectedLogger:Lutil/LoggerInterface; // field@02e9 │ │ -021f6e: 2202 2d01 |0059: new-instance v2, Ljava/lang/StringBuilder; // type@012d │ │ -021f72: 1a03 3404 |005b: const-string v3, "Remote action failed! " // string@0434 │ │ -021f76: 7020 a805 3200 |005d: invoke-direct {v2, v3}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05a8 │ │ -021f7c: 6e10 4601 0000 |0060: invoke-virtual {v0}, Ldnsfilter/ConfigurationAccess$ConfigurationAccessException;.getMessage:()Ljava/lang/String; // method@0146 │ │ -021f82: 0c03 |0063: move-result-object v3 │ │ -021f84: 6e20 ad05 3200 |0064: invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -021f8a: 6e10 af05 0200 |0067: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ -021f90: 0c02 |006a: move-result-object v2 │ │ -021f92: 7220 3107 2100 |006b: invoke-interface {v1, v2}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0731 │ │ -021f98: 2700 |006e: throw v0 │ │ +021ec4: 6e10 8d05 0100 |0006: invoke-virtual {v1}, Ljava/lang/String;.getBytes:()[B // method@058d │ │ +021eca: 0c01 |0009: move-result-object v1 │ │ +021ecc: 6e20 3605 1000 |000a: invoke-virtual {v0, v1}, Ljava/io/OutputStream;.write:([B)V // method@0536 │ │ +021ed2: 7010 7304 0400 |000d: invoke-direct {v4}, Ldnsfilter/remote/RemoteAccessClient;.getOutputStream:()Ljava/io/OutputStream; // method@0473 │ │ +021ed8: 0c00 |0010: move-result-object v0 │ │ +021eda: 6e10 3405 0000 |0011: invoke-virtual {v0}, Ljava/io/OutputStream;.flush:()V // method@0534 │ │ +021ee0: 2200 f800 |0014: new-instance v0, Ljava/io/DataInputStream; // type@00f8 │ │ +021ee4: 7010 7104 0400 |0016: invoke-direct {v4}, Ldnsfilter/remote/RemoteAccessClient;.getInputStream:()Ljava/io/InputStream; // method@0471 │ │ +021eea: 0c01 |0019: move-result-object v1 │ │ +021eec: 7020 ee04 1000 |001a: invoke-direct {v0, v1}, Ljava/io/DataInputStream;.:(Ljava/io/InputStream;)V // method@04ee │ │ +021ef2: 7110 9d07 0000 |001d: invoke-static {v0}, Lutil/Utils;.readLineFromStream:(Ljava/io/InputStream;)Ljava/lang/String; // method@079d │ │ +021ef8: 0c01 |0020: move-result-object v1 │ │ +021efa: 1a02 fa03 |0021: const-string v2, "OK" // string@03fa │ │ +021efe: 6e20 8b05 2100 |0023: invoke-virtual {v1, v2}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058b │ │ +021f04: 0a02 |0026: move-result v2 │ │ +021f06: 3802 0c00 |0027: if-eqz v2, 0033 // +000c │ │ +021f0a: 6e10 f204 0000 |0029: invoke-virtual {v0}, Ljava/io/DataInputStream;.readInt:()I // method@04f2 │ │ +021f10: 0a01 |002c: move-result v1 │ │ +021f12: 2311 9d01 |002d: new-array v1, v1, [B // type@019d │ │ +021f16: 6e20 f004 1000 |002f: invoke-virtual {v0, v1}, Ljava/io/DataInputStream;.readFully:([B)V // method@04f0 │ │ +021f1c: 1101 |0032: return-object v1 │ │ +021f1e: 2200 8200 |0033: new-instance v0, Ldnsfilter/ConfigurationAccess$ConfigurationAccessException; // type@0082 │ │ +021f22: 1202 |0035: const/4 v2, #int 0 // #0 │ │ +021f24: 7030 4501 1002 |0036: invoke-direct {v0, v1, v2}, Ldnsfilter/ConfigurationAccess$ConfigurationAccessException;.:(Ljava/lang/String;Ljava/io/IOException;)V // method@0145 │ │ +021f2a: 2700 |0039: throw v0 │ │ +021f2c: 0d00 |003a: move-exception v0 │ │ +021f2e: 5441 e902 |003b: iget-object v1, v4, Ldnsfilter/remote/RemoteAccessClient;.connectedLogger:Lutil/LoggerInterface; // field@02e9 │ │ +021f32: 2202 2d01 |003d: new-instance v2, Ljava/lang/StringBuilder; // type@012d │ │ +021f36: 1a03 3704 |003f: const-string v3, "Remote action readConfig() failed! " // string@0437 │ │ +021f3a: 7020 a805 3200 |0041: invoke-direct {v2, v3}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05a8 │ │ +021f40: 6e10 2205 0000 |0044: invoke-virtual {v0}, Ljava/io/IOException;.getMessage:()Ljava/lang/String; // method@0522 │ │ +021f46: 0c03 |0047: move-result-object v3 │ │ +021f48: 6e20 ad05 3200 |0048: invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +021f4e: 6e10 af05 0200 |004b: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ +021f54: 0c02 |004e: move-result-object v2 │ │ +021f56: 7220 3107 2100 |004f: invoke-interface {v1, v2}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0731 │ │ +021f5c: 7010 6804 0400 |0052: invoke-direct {v4}, Ldnsfilter/remote/RemoteAccessClient;.closeConnectionReconnect:()V // method@0468 │ │ +021f62: 2700 |0055: throw v0 │ │ +021f64: 0d00 |0056: move-exception v0 │ │ +021f66: 5441 e902 |0057: iget-object v1, v4, Ldnsfilter/remote/RemoteAccessClient;.connectedLogger:Lutil/LoggerInterface; // field@02e9 │ │ +021f6a: 2202 2d01 |0059: new-instance v2, Ljava/lang/StringBuilder; // type@012d │ │ +021f6e: 1a03 3404 |005b: const-string v3, "Remote action failed! " // string@0434 │ │ +021f72: 7020 a805 3200 |005d: invoke-direct {v2, v3}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05a8 │ │ +021f78: 6e10 4601 0000 |0060: invoke-virtual {v0}, Ldnsfilter/ConfigurationAccess$ConfigurationAccessException;.getMessage:()Ljava/lang/String; // method@0146 │ │ +021f7e: 0c03 |0063: move-result-object v3 │ │ +021f80: 6e20 ad05 3200 |0064: invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +021f86: 6e10 af05 0200 |0067: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ +021f8c: 0c02 |006a: move-result-object v2 │ │ +021f8e: 7220 3107 2100 |006b: invoke-interface {v1, v2}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0731 │ │ +021f94: 2700 |006e: throw v0 │ │ catches : 1 │ │ 0x0000 - 0x003a │ │ Ldnsfilter/ConfigurationAccess$ConfigurationAccessException; -> 0x0056 │ │ Ljava/io/IOException; -> 0x003a │ │ positions : │ │ 0x0000 line=279 │ │ 0x000d line=280 │ │ @@ -53347,51 +53347,51 @@ │ │ type : '()V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 5 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 75 16-bit code units │ │ -022a1c: |[022a1c] dnsfilter.remote.RemoteAccessClient.releaseConfiguration:()V │ │ -022a2c: 7100 8607 0000 |0000: invoke-static {}, Lutil/TimoutNotificator;.getInstance:()Lutil/TimoutNotificator; // method@0786 │ │ -022a32: 0c00 |0003: move-result-object v0 │ │ -022a34: 6e20 8b07 4000 |0004: invoke-virtual {v0, v4}, Lutil/TimoutNotificator;.unregister:(Lutil/TimeoutListener;)V // method@078b │ │ -022a3a: 1200 |0007: const/4 v0, #int 0 // #0 │ │ -022a3c: 5c40 f502 |0008: iput-boolean v0, v4, Ldnsfilter/remote/RemoteAccessClient;.valid:Z // field@02f5 │ │ -022a40: 5440 f102 |000a: iget-object v0, v4, Ldnsfilter/remote/RemoteAccessClient;.remoteStream:Ldnsfilter/remote/RemoteAccessClient$RemoteStream; // field@02f1 │ │ -022a44: 3800 0500 |000c: if-eqz v0, 0011 // +0005 │ │ -022a48: 6e10 5b04 0000 |000e: invoke-virtual {v0}, Ldnsfilter/remote/RemoteAccessClient$RemoteStream;.close:()V // method@045b │ │ -022a4e: 5440 eb02 |0011: iget-object v0, v4, Ldnsfilter/remote/RemoteAccessClient;.ctrlcon:Ljava/net/Socket; // field@02eb │ │ -022a52: 3800 3000 |0013: if-eqz v0, 0043 // +0030 │ │ -022a56: 5440 ef02 |0015: iget-object v0, v4, Ldnsfilter/remote/RemoteAccessClient;.out:Ljava/io/OutputStream; // field@02ef │ │ -022a5a: 1a01 d309 |0017: const-string v1, "releaseConfiguration()" // string@09d3 │ │ -022a5e: 6e10 8d05 0100 |0019: invoke-virtual {v1}, Ljava/lang/String;.getBytes:()[B // method@058d │ │ -022a64: 0c01 |001c: move-result-object v1 │ │ -022a66: 6e20 3605 1000 |001d: invoke-virtual {v0, v1}, Ljava/io/OutputStream;.write:([B)V // method@0536 │ │ -022a6c: 5440 ef02 |0020: iget-object v0, v4, Ldnsfilter/remote/RemoteAccessClient;.out:Ljava/io/OutputStream; // field@02ef │ │ -022a70: 6e10 3405 0000 |0022: invoke-virtual {v0}, Ljava/io/OutputStream;.flush:()V // method@0534 │ │ -022a76: 281e |0025: goto 0043 // +001e │ │ -022a78: 0d00 |0026: move-exception v0 │ │ -022a7a: 5441 e902 |0027: iget-object v1, v4, Ldnsfilter/remote/RemoteAccessClient;.connectedLogger:Lutil/LoggerInterface; // field@02e9 │ │ -022a7e: 2202 2d01 |0029: new-instance v2, Ljava/lang/StringBuilder; // type@012d │ │ -022a82: 1a03 8b01 |002b: const-string v3, "Exception during remote configuration release: " // string@018b │ │ -022a86: 7020 a805 3200 |002d: invoke-direct {v2, v3}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05a8 │ │ -022a8c: 6e10 2405 0000 |0030: invoke-virtual {v0}, Ljava/io/IOException;.toString:()Ljava/lang/String; // method@0524 │ │ -022a92: 0c00 |0033: move-result-object v0 │ │ -022a94: 6e20 ad05 0200 |0034: invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -022a9a: 6e10 af05 0200 |0037: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ -022aa0: 0c00 |003a: move-result-object v0 │ │ -022aa2: 7220 3107 0100 |003b: invoke-interface {v1, v0}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0731 │ │ -022aa8: 5440 eb02 |003e: iget-object v0, v4, Ldnsfilter/remote/RemoteAccessClient;.ctrlcon:Ljava/net/Socket; // field@02eb │ │ -022aac: 7110 9007 0000 |0040: invoke-static {v0}, Lutil/Utils;.closeSocket:(Ljava/net/Socket;)V // method@0790 │ │ -022ab2: 1200 |0043: const/4 v0, #int 0 // #0 │ │ -022ab4: 5b40 eb02 |0044: iput-object v0, v4, Ldnsfilter/remote/RemoteAccessClient;.ctrlcon:Ljava/net/Socket; // field@02eb │ │ -022ab8: 5b40 f102 |0046: iput-object v0, v4, Ldnsfilter/remote/RemoteAccessClient;.remoteStream:Ldnsfilter/remote/RemoteAccessClient$RemoteStream; // field@02f1 │ │ -022abc: 6900 e502 |0048: sput-object v0, Ldnsfilter/remote/RemoteAccessClient;.REMOTE:Ldnsfilter/ConfigurationAccess; // field@02e5 │ │ -022ac0: 0e00 |004a: return-void │ │ +022a18: |[022a18] dnsfilter.remote.RemoteAccessClient.releaseConfiguration:()V │ │ +022a28: 7100 8607 0000 |0000: invoke-static {}, Lutil/TimoutNotificator;.getInstance:()Lutil/TimoutNotificator; // method@0786 │ │ +022a2e: 0c00 |0003: move-result-object v0 │ │ +022a30: 6e20 8b07 4000 |0004: invoke-virtual {v0, v4}, Lutil/TimoutNotificator;.unregister:(Lutil/TimeoutListener;)V // method@078b │ │ +022a36: 1200 |0007: const/4 v0, #int 0 // #0 │ │ +022a38: 5c40 f502 |0008: iput-boolean v0, v4, Ldnsfilter/remote/RemoteAccessClient;.valid:Z // field@02f5 │ │ +022a3c: 5440 f102 |000a: iget-object v0, v4, Ldnsfilter/remote/RemoteAccessClient;.remoteStream:Ldnsfilter/remote/RemoteAccessClient$RemoteStream; // field@02f1 │ │ +022a40: 3800 0500 |000c: if-eqz v0, 0011 // +0005 │ │ +022a44: 6e10 5b04 0000 |000e: invoke-virtual {v0}, Ldnsfilter/remote/RemoteAccessClient$RemoteStream;.close:()V // method@045b │ │ +022a4a: 5440 eb02 |0011: iget-object v0, v4, Ldnsfilter/remote/RemoteAccessClient;.ctrlcon:Ljava/net/Socket; // field@02eb │ │ +022a4e: 3800 3000 |0013: if-eqz v0, 0043 // +0030 │ │ +022a52: 5440 ef02 |0015: iget-object v0, v4, Ldnsfilter/remote/RemoteAccessClient;.out:Ljava/io/OutputStream; // field@02ef │ │ +022a56: 1a01 d309 |0017: const-string v1, "releaseConfiguration()" // string@09d3 │ │ +022a5a: 6e10 8d05 0100 |0019: invoke-virtual {v1}, Ljava/lang/String;.getBytes:()[B // method@058d │ │ +022a60: 0c01 |001c: move-result-object v1 │ │ +022a62: 6e20 3605 1000 |001d: invoke-virtual {v0, v1}, Ljava/io/OutputStream;.write:([B)V // method@0536 │ │ +022a68: 5440 ef02 |0020: iget-object v0, v4, Ldnsfilter/remote/RemoteAccessClient;.out:Ljava/io/OutputStream; // field@02ef │ │ +022a6c: 6e10 3405 0000 |0022: invoke-virtual {v0}, Ljava/io/OutputStream;.flush:()V // method@0534 │ │ +022a72: 281e |0025: goto 0043 // +001e │ │ +022a74: 0d00 |0026: move-exception v0 │ │ +022a76: 5441 e902 |0027: iget-object v1, v4, Ldnsfilter/remote/RemoteAccessClient;.connectedLogger:Lutil/LoggerInterface; // field@02e9 │ │ +022a7a: 2202 2d01 |0029: new-instance v2, Ljava/lang/StringBuilder; // type@012d │ │ +022a7e: 1a03 8b01 |002b: const-string v3, "Exception during remote configuration release: " // string@018b │ │ +022a82: 7020 a805 3200 |002d: invoke-direct {v2, v3}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05a8 │ │ +022a88: 6e10 2405 0000 |0030: invoke-virtual {v0}, Ljava/io/IOException;.toString:()Ljava/lang/String; // method@0524 │ │ +022a8e: 0c00 |0033: move-result-object v0 │ │ +022a90: 6e20 ad05 0200 |0034: invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +022a96: 6e10 af05 0200 |0037: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ +022a9c: 0c00 |003a: move-result-object v0 │ │ +022a9e: 7220 3107 0100 |003b: invoke-interface {v1, v0}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0731 │ │ +022aa4: 5440 eb02 |003e: iget-object v0, v4, Ldnsfilter/remote/RemoteAccessClient;.ctrlcon:Ljava/net/Socket; // field@02eb │ │ +022aa8: 7110 9007 0000 |0040: invoke-static {v0}, Lutil/Utils;.closeSocket:(Ljava/net/Socket;)V // method@0790 │ │ +022aae: 1200 |0043: const/4 v0, #int 0 // #0 │ │ +022ab0: 5b40 eb02 |0044: iput-object v0, v4, Ldnsfilter/remote/RemoteAccessClient;.ctrlcon:Ljava/net/Socket; // field@02eb │ │ +022ab4: 5b40 f102 |0046: iput-object v0, v4, Ldnsfilter/remote/RemoteAccessClient;.remoteStream:Ldnsfilter/remote/RemoteAccessClient$RemoteStream; // field@02f1 │ │ +022ab8: 6900 e502 |0048: sput-object v0, Ldnsfilter/remote/RemoteAccessClient;.REMOTE:Ldnsfilter/ConfigurationAccess; // field@02e5 │ │ +022abc: 0e00 |004a: return-void │ │ catches : 1 │ │ 0x0015 - 0x0025 │ │ Ljava/io/IOException; -> 0x0026 │ │ positions : │ │ 0x0000 line=202 │ │ 0x0008 line=203 │ │ 0x000a line=205 │ │ @@ -53412,19 +53412,19 @@ │ │ type : '()V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 3 │ │ ins : 1 │ │ outs : 3 │ │ insns size : 7 16-bit code units │ │ -022ad4: |[022ad4] dnsfilter.remote.RemoteAccessClient.releaseWakeLock:()V │ │ -022ae4: 1a00 d709 |0000: const-string v0, "releaseWakeLock()" // string@09d7 │ │ -022ae8: 1201 |0002: const/4 v1, #int 0 // #0 │ │ -022aea: 7030 8304 0201 |0003: invoke-direct {v2, v0, v1}, Ldnsfilter/remote/RemoteAccessClient;.triggerAction:(Ljava/lang/String;Ljava/lang/String;)V // method@0483 │ │ -022af0: 0e00 |0006: return-void │ │ +022ad0: |[022ad0] dnsfilter.remote.RemoteAccessClient.releaseWakeLock:()V │ │ +022ae0: 1a00 d709 |0000: const-string v0, "releaseWakeLock()" // string@09d7 │ │ +022ae4: 1201 |0002: const/4 v1, #int 0 // #0 │ │ +022ae6: 7030 8304 0201 |0003: invoke-direct {v2, v0, v1}, Ldnsfilter/remote/RemoteAccessClient;.triggerAction:(Ljava/lang/String;Ljava/lang/String;)V // method@0483 │ │ +022aec: 0e00 |0006: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=527 │ │ locals : │ │ 0x0000 - 0x0007 reg=2 this Ldnsfilter/remote/RemoteAccessClient; │ │ │ │ #15 : (in Ldnsfilter/remote/RemoteAccessClient;) │ │ @@ -53432,20 +53432,20 @@ │ │ type : '()V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 3 │ │ ins : 1 │ │ outs : 3 │ │ insns size : 10 16-bit code units │ │ -022af4: |[022af4] dnsfilter.remote.RemoteAccessClient.restart:()V │ │ -022b04: 1a00 150a |0000: const-string v0, "restart()" // string@0a15 │ │ -022b08: 1201 |0002: const/4 v1, #int 0 // #0 │ │ -022b0a: 7030 8304 0201 |0003: invoke-direct {v2, v0, v1}, Ldnsfilter/remote/RemoteAccessClient;.triggerAction:(Ljava/lang/String;Ljava/lang/String;)V // method@0483 │ │ -022b10: 6e10 7704 0200 |0006: invoke-virtual {v2}, Ldnsfilter/remote/RemoteAccessClient;.invalidate:()V // method@0477 │ │ -022b16: 0e00 |0009: return-void │ │ +022af0: |[022af0] dnsfilter.remote.RemoteAccessClient.restart:()V │ │ +022b00: 1a00 150a |0000: const-string v0, "restart()" // string@0a15 │ │ +022b04: 1201 |0002: const/4 v1, #int 0 // #0 │ │ +022b06: 7030 8304 0201 |0003: invoke-direct {v2, v0, v1}, Ldnsfilter/remote/RemoteAccessClient;.triggerAction:(Ljava/lang/String;Ljava/lang/String;)V // method@0483 │ │ +022b0c: 6e10 7704 0200 |0006: invoke-virtual {v2}, Ldnsfilter/remote/RemoteAccessClient;.invalidate:()V // method@0477 │ │ +022b12: 0e00 |0009: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=445 │ │ 0x0006 line=446 │ │ locals : │ │ 0x0000 - 0x000a reg=2 this Ldnsfilter/remote/RemoteAccessClient; │ │ │ │ @@ -53454,19 +53454,19 @@ │ │ type : '()V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 3 │ │ ins : 1 │ │ outs : 3 │ │ insns size : 7 16-bit code units │ │ -022b48: |[022b48] dnsfilter.remote.RemoteAccessClient.stop:()V │ │ -022b58: 1a00 f50a |0000: const-string v0, "stop()" // string@0af5 │ │ -022b5c: 1201 |0002: const/4 v1, #int 0 // #0 │ │ -022b5e: 7030 8304 0201 |0003: invoke-direct {v2, v0, v1}, Ldnsfilter/remote/RemoteAccessClient;.triggerAction:(Ljava/lang/String;Ljava/lang/String;)V // method@0483 │ │ -022b64: 0e00 |0006: return-void │ │ +022b44: |[022b44] dnsfilter.remote.RemoteAccessClient.stop:()V │ │ +022b54: 1a00 f50a |0000: const-string v0, "stop()" // string@0af5 │ │ +022b58: 1201 |0002: const/4 v1, #int 0 // #0 │ │ +022b5a: 7030 8304 0201 |0003: invoke-direct {v2, v0, v1}, Ldnsfilter/remote/RemoteAccessClient;.triggerAction:(Ljava/lang/String;Ljava/lang/String;)V // method@0483 │ │ +022b60: 0e00 |0006: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=451 │ │ locals : │ │ 0x0000 - 0x0007 reg=2 this Ldnsfilter/remote/RemoteAccessClient; │ │ │ │ #17 : (in Ldnsfilter/remote/RemoteAccessClient;) │ │ @@ -53474,33 +53474,33 @@ │ │ type : '()V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 3 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 36 16-bit code units │ │ -022b68: |[022b68] dnsfilter.remote.RemoteAccessClient.timeoutNotification:()V │ │ -022b78: 5220 f302 |0000: iget v0, v2, Ldnsfilter/remote/RemoteAccessClient;.timeOutCounter:I // field@02f3 │ │ -022b7c: d800 0001 |0002: add-int/lit8 v0, v0, #int 1 // #01 │ │ -022b80: 5920 f302 |0004: iput v0, v2, Ldnsfilter/remote/RemoteAccessClient;.timeOutCounter:I // field@02f3 │ │ -022b84: 1221 |0006: const/4 v1, #int 2 // #2 │ │ -022b86: 3310 1700 |0007: if-ne v0, v1, 001e // +0017 │ │ -022b8a: 5420 e902 |0009: iget-object v0, v2, Ldnsfilter/remote/RemoteAccessClient;.connectedLogger:Lutil/LoggerInterface; // field@02e9 │ │ -022b8e: 1a01 2e04 |000b: const-string v1, "Remote Session is Dead!" // string@042e │ │ -022b92: 7220 3207 1000 |000d: invoke-interface {v0, v1}, Lutil/LoggerInterface;.message:(Ljava/lang/String;)V // method@0732 │ │ -022b98: 5420 e902 |0010: iget-object v0, v2, Ldnsfilter/remote/RemoteAccessClient;.connectedLogger:Lutil/LoggerInterface; // field@02e9 │ │ -022b9c: 1a01 2f04 |0012: const-string v1, "Remote Session is Dead! - Closing...!" // string@042f │ │ -022ba0: 7220 3107 1000 |0014: invoke-interface {v0, v1}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0731 │ │ -022ba6: 1200 |0017: const/4 v0, #int 0 // #0 │ │ -022ba8: 5920 f302 |0018: iput v0, v2, Ldnsfilter/remote/RemoteAccessClient;.timeOutCounter:I // field@02f3 │ │ -022bac: 7010 6804 0200 |001a: invoke-direct {v2}, Ldnsfilter/remote/RemoteAccessClient;.closeConnectionReconnect:()V // method@0468 │ │ -022bb2: 2806 |001d: goto 0023 // +0006 │ │ -022bb4: 6000 e402 |001e: sget v0, Ldnsfilter/remote/RemoteAccessClient;.READ_TIMEOUT:I // field@02e4 │ │ -022bb8: 7020 7f04 0200 |0020: invoke-direct {v2, v0}, Ldnsfilter/remote/RemoteAccessClient;.setTimeout:(I)V // method@047f │ │ -022bbe: 0e00 |0023: return-void │ │ +022b64: |[022b64] dnsfilter.remote.RemoteAccessClient.timeoutNotification:()V │ │ +022b74: 5220 f302 |0000: iget v0, v2, Ldnsfilter/remote/RemoteAccessClient;.timeOutCounter:I // field@02f3 │ │ +022b78: d800 0001 |0002: add-int/lit8 v0, v0, #int 1 // #01 │ │ +022b7c: 5920 f302 |0004: iput v0, v2, Ldnsfilter/remote/RemoteAccessClient;.timeOutCounter:I // field@02f3 │ │ +022b80: 1221 |0006: const/4 v1, #int 2 // #2 │ │ +022b82: 3310 1700 |0007: if-ne v0, v1, 001e // +0017 │ │ +022b86: 5420 e902 |0009: iget-object v0, v2, Ldnsfilter/remote/RemoteAccessClient;.connectedLogger:Lutil/LoggerInterface; // field@02e9 │ │ +022b8a: 1a01 2e04 |000b: const-string v1, "Remote Session is Dead!" // string@042e │ │ +022b8e: 7220 3207 1000 |000d: invoke-interface {v0, v1}, Lutil/LoggerInterface;.message:(Ljava/lang/String;)V // method@0732 │ │ +022b94: 5420 e902 |0010: iget-object v0, v2, Ldnsfilter/remote/RemoteAccessClient;.connectedLogger:Lutil/LoggerInterface; // field@02e9 │ │ +022b98: 1a01 2f04 |0012: const-string v1, "Remote Session is Dead! - Closing...!" // string@042f │ │ +022b9c: 7220 3107 1000 |0014: invoke-interface {v0, v1}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0731 │ │ +022ba2: 1200 |0017: const/4 v0, #int 0 // #0 │ │ +022ba4: 5920 f302 |0018: iput v0, v2, Ldnsfilter/remote/RemoteAccessClient;.timeOutCounter:I // field@02f3 │ │ +022ba8: 7010 6804 0200 |001a: invoke-direct {v2}, Ldnsfilter/remote/RemoteAccessClient;.closeConnectionReconnect:()V // method@0468 │ │ +022bae: 2806 |001d: goto 0023 // +0006 │ │ +022bb0: 6000 e402 |001e: sget v0, Ldnsfilter/remote/RemoteAccessClient;.READ_TIMEOUT:I // field@02e4 │ │ +022bb4: 7020 7f04 0200 |0020: invoke-direct {v2, v0}, Ldnsfilter/remote/RemoteAccessClient;.setTimeout:(I)V // method@047f │ │ +022bba: 0e00 |0023: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=544 │ │ 0x0009 line=546 │ │ 0x0010 line=547 │ │ 0x0018 line=548 │ │ 0x001a line=549 │ │ @@ -53513,27 +53513,27 @@ │ │ type : '()Ljava/lang/String;' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 3 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 27 16-bit code units │ │ -022264: |[022264] dnsfilter.remote.RemoteAccessClient.toString:()Ljava/lang/String; │ │ -022274: 2200 2d01 |0000: new-instance v0, Ljava/lang/StringBuilder; // type@012d │ │ -022278: 1a01 1a04 |0002: const-string v1, "REMOTE -> " // string@041a │ │ -02227c: 7020 a805 1000 |0004: invoke-direct {v0, v1}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05a8 │ │ -022282: 5421 ec02 |0007: iget-object v1, v2, Ldnsfilter/remote/RemoteAccessClient;.host:Ljava/lang/String; // field@02ec │ │ -022286: 6e20 ad05 1000 |0009: invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -02228c: 1a01 8100 |000c: const-string v1, ":" // string@0081 │ │ -022290: 6e20 ad05 1000 |000e: invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -022296: 5221 f002 |0011: iget v1, v2, Ldnsfilter/remote/RemoteAccessClient;.port:I // field@02f0 │ │ -02229a: 6e20 aa05 1000 |0013: invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@05aa │ │ -0222a0: 6e10 af05 0000 |0016: invoke-virtual {v0}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ -0222a6: 0c00 |0019: move-result-object v0 │ │ -0222a8: 1100 |001a: return-object v0 │ │ +022260: |[022260] dnsfilter.remote.RemoteAccessClient.toString:()Ljava/lang/String; │ │ +022270: 2200 2d01 |0000: new-instance v0, Ljava/lang/StringBuilder; // type@012d │ │ +022274: 1a01 1a04 |0002: const-string v1, "REMOTE -> " // string@041a │ │ +022278: 7020 a805 1000 |0004: invoke-direct {v0, v1}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05a8 │ │ +02227e: 5421 ec02 |0007: iget-object v1, v2, Ldnsfilter/remote/RemoteAccessClient;.host:Ljava/lang/String; // field@02ec │ │ +022282: 6e20 ad05 1000 |0009: invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +022288: 1a01 8100 |000c: const-string v1, ":" // string@0081 │ │ +02228c: 6e20 ad05 1000 |000e: invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +022292: 5221 f002 |0011: iget v1, v2, Ldnsfilter/remote/RemoteAccessClient;.port:I // field@02f0 │ │ +022296: 6e20 aa05 1000 |0013: invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@05aa │ │ +02229c: 6e10 af05 0000 |0016: invoke-virtual {v0}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ +0222a2: 0c00 |0019: move-result-object v0 │ │ +0222a4: 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;) │ │ @@ -53541,19 +53541,19 @@ │ │ type : '()V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 3 │ │ ins : 1 │ │ outs : 3 │ │ insns size : 7 16-bit code units │ │ -022d08: |[022d08] dnsfilter.remote.RemoteAccessClient.triggerUpdateFilter:()V │ │ -022d18: 1a00 400b |0000: const-string v0, "triggerUpdateFilter()" // string@0b40 │ │ -022d1c: 1201 |0002: const/4 v1, #int 0 // #0 │ │ -022d1e: 7030 8304 0201 |0003: invoke-direct {v2, v0, v1}, Ldnsfilter/remote/RemoteAccessClient;.triggerAction:(Ljava/lang/String;Ljava/lang/String;)V // method@0483 │ │ -022d24: 0e00 |0006: return-void │ │ +022d04: |[022d04] dnsfilter.remote.RemoteAccessClient.triggerUpdateFilter:()V │ │ +022d14: 1a00 400b |0000: const-string v0, "triggerUpdateFilter()" // string@0b40 │ │ +022d18: 1201 |0002: const/4 v1, #int 0 // #0 │ │ +022d1a: 7030 8304 0201 |0003: invoke-direct {v2, v0, v1}, Ldnsfilter/remote/RemoteAccessClient;.triggerAction:(Ljava/lang/String;Ljava/lang/String;)V // method@0483 │ │ +022d20: 0e00 |0006: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=479 │ │ locals : │ │ 0x0000 - 0x0007 reg=2 this Ldnsfilter/remote/RemoteAccessClient; │ │ │ │ #20 : (in Ldnsfilter/remote/RemoteAccessClient;) │ │ @@ -53561,68 +53561,68 @@ │ │ type : '([B)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 5 │ │ ins : 2 │ │ outs : 3 │ │ insns size : 110 16-bit code units │ │ -022d28: |[022d28] dnsfilter.remote.RemoteAccessClient.updateAdditionalHosts:([B)V │ │ -022d38: 2200 f900 |0000: new-instance v0, Ljava/io/DataOutputStream; // type@00f9 │ │ -022d3c: 7010 7304 0300 |0002: invoke-direct {v3}, Ldnsfilter/remote/RemoteAccessClient;.getOutputStream:()Ljava/io/OutputStream; // method@0473 │ │ -022d42: 0c01 |0005: move-result-object v1 │ │ -022d44: 7020 f504 1000 |0006: invoke-direct {v0, v1}, Ljava/io/DataOutputStream;.:(Ljava/io/OutputStream;)V // method@04f5 │ │ -022d4a: 2201 f800 |0009: new-instance v1, Ljava/io/DataInputStream; // type@00f8 │ │ -022d4e: 7010 7104 0300 |000b: invoke-direct {v3}, Ldnsfilter/remote/RemoteAccessClient;.getInputStream:()Ljava/io/InputStream; // method@0471 │ │ -022d54: 0c02 |000e: move-result-object v2 │ │ -022d56: 7020 ee04 2100 |000f: invoke-direct {v1, v2}, Ljava/io/DataInputStream;.:(Ljava/io/InputStream;)V // method@04ee │ │ -022d5c: 1a02 510b |0012: const-string v2, "updateAdditionalHosts() │ │ +022d24: |[022d24] dnsfilter.remote.RemoteAccessClient.updateAdditionalHosts:([B)V │ │ +022d34: 2200 f900 |0000: new-instance v0, Ljava/io/DataOutputStream; // type@00f9 │ │ +022d38: 7010 7304 0300 |0002: invoke-direct {v3}, Ldnsfilter/remote/RemoteAccessClient;.getOutputStream:()Ljava/io/OutputStream; // method@0473 │ │ +022d3e: 0c01 |0005: move-result-object v1 │ │ +022d40: 7020 f504 1000 |0006: invoke-direct {v0, v1}, Ljava/io/DataOutputStream;.:(Ljava/io/OutputStream;)V // method@04f5 │ │ +022d46: 2201 f800 |0009: new-instance v1, Ljava/io/DataInputStream; // type@00f8 │ │ +022d4a: 7010 7104 0300 |000b: invoke-direct {v3}, Ldnsfilter/remote/RemoteAccessClient;.getInputStream:()Ljava/io/InputStream; // method@0471 │ │ +022d50: 0c02 |000e: move-result-object v2 │ │ +022d52: 7020 ee04 2100 |000f: invoke-direct {v1, v2}, Ljava/io/DataInputStream;.:(Ljava/io/InputStream;)V // method@04ee │ │ +022d58: 1a02 510b |0012: const-string v2, "updateAdditionalHosts() │ │ " // string@0b51 │ │ -022d60: 6e10 8d05 0200 |0014: invoke-virtual {v2}, Ljava/lang/String;.getBytes:()[B // method@058d │ │ -022d66: 0c02 |0017: move-result-object v2 │ │ -022d68: 6e20 f804 2000 |0018: invoke-virtual {v0, v2}, Ljava/io/DataOutputStream;.write:([B)V // method@04f8 │ │ -022d6e: 2142 |001b: array-length v2, v4 │ │ -022d70: 6e20 fb04 2000 |001c: invoke-virtual {v0, v2}, Ljava/io/DataOutputStream;.writeInt:(I)V // method@04fb │ │ -022d76: 6e20 f804 4000 |001f: invoke-virtual {v0, v4}, Ljava/io/DataOutputStream;.write:([B)V // method@04f8 │ │ -022d7c: 6e10 f704 0000 |0022: invoke-virtual {v0}, Ljava/io/DataOutputStream;.flush:()V // method@04f7 │ │ -022d82: 7110 9d07 0100 |0025: invoke-static {v1}, Lutil/Utils;.readLineFromStream:(Ljava/io/InputStream;)Ljava/lang/String; // method@079d │ │ -022d88: 0c04 |0028: move-result-object v4 │ │ -022d8a: 1a00 fa03 |0029: const-string v0, "OK" // string@03fa │ │ -022d8e: 6e20 8b05 0400 |002b: invoke-virtual {v4, v0}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058b │ │ -022d94: 0a00 |002e: move-result v0 │ │ -022d96: 3800 0300 |002f: if-eqz v0, 0032 // +0003 │ │ -022d9a: 0e00 |0031: return-void │ │ -022d9c: 2200 8200 |0032: new-instance v0, Ldnsfilter/ConfigurationAccess$ConfigurationAccessException; // type@0082 │ │ -022da0: 1201 |0034: const/4 v1, #int 0 // #0 │ │ -022da2: 7030 4501 4001 |0035: invoke-direct {v0, v4, v1}, Ldnsfilter/ConfigurationAccess$ConfigurationAccessException;.:(Ljava/lang/String;Ljava/io/IOException;)V // method@0145 │ │ -022da8: 2700 |0038: throw v0 │ │ -022daa: 0d04 |0039: move-exception v4 │ │ -022dac: 5430 e902 |003a: iget-object v0, v3, Ldnsfilter/remote/RemoteAccessClient;.connectedLogger:Lutil/LoggerInterface; // field@02e9 │ │ -022db0: 2201 2d01 |003c: new-instance v1, Ljava/lang/StringBuilder; // type@012d │ │ -022db4: 1a02 3804 |003e: const-string v2, "Remote action updateAdditionalHosts() failed! " // string@0438 │ │ -022db8: 7020 a805 2100 |0040: invoke-direct {v1, v2}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05a8 │ │ -022dbe: 6e10 2205 0400 |0043: invoke-virtual {v4}, Ljava/io/IOException;.getMessage:()Ljava/lang/String; // method@0522 │ │ -022dc4: 0c02 |0046: move-result-object v2 │ │ -022dc6: 6e20 ad05 2100 |0047: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -022dcc: 6e10 af05 0100 |004a: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ -022dd2: 0c01 |004d: move-result-object v1 │ │ -022dd4: 7220 3107 1000 |004e: invoke-interface {v0, v1}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0731 │ │ -022dda: 7010 6804 0300 |0051: invoke-direct {v3}, Ldnsfilter/remote/RemoteAccessClient;.closeConnectionReconnect:()V // method@0468 │ │ -022de0: 2704 |0054: throw v4 │ │ -022de2: 0d04 |0055: move-exception v4 │ │ -022de4: 5430 e902 |0056: iget-object v0, v3, Ldnsfilter/remote/RemoteAccessClient;.connectedLogger:Lutil/LoggerInterface; // field@02e9 │ │ -022de8: 2201 2d01 |0058: new-instance v1, Ljava/lang/StringBuilder; // type@012d │ │ -022dec: 1a02 3404 |005a: const-string v2, "Remote action failed! " // string@0434 │ │ -022df0: 7020 a805 2100 |005c: invoke-direct {v1, v2}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05a8 │ │ -022df6: 6e10 4601 0400 |005f: invoke-virtual {v4}, Ldnsfilter/ConfigurationAccess$ConfigurationAccessException;.getMessage:()Ljava/lang/String; // method@0146 │ │ -022dfc: 0c02 |0062: move-result-object v2 │ │ -022dfe: 6e20 ad05 2100 |0063: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -022e04: 6e10 af05 0100 |0066: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ -022e0a: 0c01 |0069: move-result-object v1 │ │ -022e0c: 7220 3107 1000 |006a: invoke-interface {v0, v1}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0731 │ │ -022e12: 2704 |006d: throw v4 │ │ +022d5c: 6e10 8d05 0200 |0014: invoke-virtual {v2}, Ljava/lang/String;.getBytes:()[B // method@058d │ │ +022d62: 0c02 |0017: move-result-object v2 │ │ +022d64: 6e20 f804 2000 |0018: invoke-virtual {v0, v2}, Ljava/io/DataOutputStream;.write:([B)V // method@04f8 │ │ +022d6a: 2142 |001b: array-length v2, v4 │ │ +022d6c: 6e20 fb04 2000 |001c: invoke-virtual {v0, v2}, Ljava/io/DataOutputStream;.writeInt:(I)V // method@04fb │ │ +022d72: 6e20 f804 4000 |001f: invoke-virtual {v0, v4}, Ljava/io/DataOutputStream;.write:([B)V // method@04f8 │ │ +022d78: 6e10 f704 0000 |0022: invoke-virtual {v0}, Ljava/io/DataOutputStream;.flush:()V // method@04f7 │ │ +022d7e: 7110 9d07 0100 |0025: invoke-static {v1}, Lutil/Utils;.readLineFromStream:(Ljava/io/InputStream;)Ljava/lang/String; // method@079d │ │ +022d84: 0c04 |0028: move-result-object v4 │ │ +022d86: 1a00 fa03 |0029: const-string v0, "OK" // string@03fa │ │ +022d8a: 6e20 8b05 0400 |002b: invoke-virtual {v4, v0}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058b │ │ +022d90: 0a00 |002e: move-result v0 │ │ +022d92: 3800 0300 |002f: if-eqz v0, 0032 // +0003 │ │ +022d96: 0e00 |0031: return-void │ │ +022d98: 2200 8200 |0032: new-instance v0, Ldnsfilter/ConfigurationAccess$ConfigurationAccessException; // type@0082 │ │ +022d9c: 1201 |0034: const/4 v1, #int 0 // #0 │ │ +022d9e: 7030 4501 4001 |0035: invoke-direct {v0, v4, v1}, Ldnsfilter/ConfigurationAccess$ConfigurationAccessException;.:(Ljava/lang/String;Ljava/io/IOException;)V // method@0145 │ │ +022da4: 2700 |0038: throw v0 │ │ +022da6: 0d04 |0039: move-exception v4 │ │ +022da8: 5430 e902 |003a: iget-object v0, v3, Ldnsfilter/remote/RemoteAccessClient;.connectedLogger:Lutil/LoggerInterface; // field@02e9 │ │ +022dac: 2201 2d01 |003c: new-instance v1, Ljava/lang/StringBuilder; // type@012d │ │ +022db0: 1a02 3804 |003e: const-string v2, "Remote action updateAdditionalHosts() failed! " // string@0438 │ │ +022db4: 7020 a805 2100 |0040: invoke-direct {v1, v2}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05a8 │ │ +022dba: 6e10 2205 0400 |0043: invoke-virtual {v4}, Ljava/io/IOException;.getMessage:()Ljava/lang/String; // method@0522 │ │ +022dc0: 0c02 |0046: move-result-object v2 │ │ +022dc2: 6e20 ad05 2100 |0047: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +022dc8: 6e10 af05 0100 |004a: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ +022dce: 0c01 |004d: move-result-object v1 │ │ +022dd0: 7220 3107 1000 |004e: invoke-interface {v0, v1}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0731 │ │ +022dd6: 7010 6804 0300 |0051: invoke-direct {v3}, Ldnsfilter/remote/RemoteAccessClient;.closeConnectionReconnect:()V // method@0468 │ │ +022ddc: 2704 |0054: throw v4 │ │ +022dde: 0d04 |0055: move-exception v4 │ │ +022de0: 5430 e902 |0056: iget-object v0, v3, Ldnsfilter/remote/RemoteAccessClient;.connectedLogger:Lutil/LoggerInterface; // field@02e9 │ │ +022de4: 2201 2d01 |0058: new-instance v1, Ljava/lang/StringBuilder; // type@012d │ │ +022de8: 1a02 3404 |005a: const-string v2, "Remote action failed! " // string@0434 │ │ +022dec: 7020 a805 2100 |005c: invoke-direct {v1, v2}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05a8 │ │ +022df2: 6e10 4601 0400 |005f: invoke-virtual {v4}, Ldnsfilter/ConfigurationAccess$ConfigurationAccessException;.getMessage:()Ljava/lang/String; // method@0146 │ │ +022df8: 0c02 |0062: move-result-object v2 │ │ +022dfa: 6e20 ad05 2100 |0063: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +022e00: 6e10 af05 0100 |0066: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ +022e06: 0c01 |0069: move-result-object v1 │ │ +022e08: 7220 3107 1000 |006a: invoke-interface {v0, v1}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0731 │ │ +022e0e: 2704 |006d: throw v4 │ │ catches : 1 │ │ 0x0000 - 0x0039 │ │ Ldnsfilter/ConfigurationAccess$ConfigurationAccessException; -> 0x0055 │ │ Ljava/io/IOException; -> 0x0039 │ │ positions : │ │ 0x0000 line=384 │ │ 0x0009 line=385 │ │ @@ -53647,67 +53647,67 @@ │ │ type : '([B)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 5 │ │ ins : 2 │ │ outs : 3 │ │ insns size : 108 16-bit code units │ │ -022e24: |[022e24] dnsfilter.remote.RemoteAccessClient.updateConfig:([B)V │ │ -022e34: 6e10 7704 0300 |0000: invoke-virtual {v3}, Ldnsfilter/remote/RemoteAccessClient;.invalidate:()V // method@0477 │ │ -022e3a: 7010 7104 0300 |0003: invoke-direct {v3}, Ldnsfilter/remote/RemoteAccessClient;.getInputStream:()Ljava/io/InputStream; // method@0471 │ │ -022e40: 0c00 |0006: move-result-object v0 │ │ -022e42: 2201 f900 |0007: new-instance v1, Ljava/io/DataOutputStream; // type@00f9 │ │ -022e46: 7010 7304 0300 |0009: invoke-direct {v3}, Ldnsfilter/remote/RemoteAccessClient;.getOutputStream:()Ljava/io/OutputStream; // method@0473 │ │ -022e4c: 0c02 |000c: move-result-object v2 │ │ -022e4e: 7020 f504 2100 |000d: invoke-direct {v1, v2}, Ljava/io/DataOutputStream;.:(Ljava/io/OutputStream;)V // method@04f5 │ │ -022e54: 1a02 540b |0010: const-string v2, "updateConfig() │ │ +022e20: |[022e20] dnsfilter.remote.RemoteAccessClient.updateConfig:([B)V │ │ +022e30: 6e10 7704 0300 |0000: invoke-virtual {v3}, Ldnsfilter/remote/RemoteAccessClient;.invalidate:()V // method@0477 │ │ +022e36: 7010 7104 0300 |0003: invoke-direct {v3}, Ldnsfilter/remote/RemoteAccessClient;.getInputStream:()Ljava/io/InputStream; // method@0471 │ │ +022e3c: 0c00 |0006: move-result-object v0 │ │ +022e3e: 2201 f900 |0007: new-instance v1, Ljava/io/DataOutputStream; // type@00f9 │ │ +022e42: 7010 7304 0300 |0009: invoke-direct {v3}, Ldnsfilter/remote/RemoteAccessClient;.getOutputStream:()Ljava/io/OutputStream; // method@0473 │ │ +022e48: 0c02 |000c: move-result-object v2 │ │ +022e4a: 7020 f504 2100 |000d: invoke-direct {v1, v2}, Ljava/io/DataOutputStream;.:(Ljava/io/OutputStream;)V // method@04f5 │ │ +022e50: 1a02 540b |0010: const-string v2, "updateConfig() │ │ " // string@0b54 │ │ -022e58: 6e10 8d05 0200 |0012: invoke-virtual {v2}, Ljava/lang/String;.getBytes:()[B // method@058d │ │ -022e5e: 0c02 |0015: move-result-object v2 │ │ -022e60: 6e20 f804 2100 |0016: invoke-virtual {v1, v2}, Ljava/io/DataOutputStream;.write:([B)V // method@04f8 │ │ -022e66: 2142 |0019: array-length v2, v4 │ │ -022e68: 6e20 fb04 2100 |001a: invoke-virtual {v1, v2}, Ljava/io/DataOutputStream;.writeInt:(I)V // method@04fb │ │ -022e6e: 6e20 f804 4100 |001d: invoke-virtual {v1, v4}, Ljava/io/DataOutputStream;.write:([B)V // method@04f8 │ │ -022e74: 6e10 f704 0100 |0020: invoke-virtual {v1}, Ljava/io/DataOutputStream;.flush:()V // method@04f7 │ │ -022e7a: 7110 9d07 0000 |0023: invoke-static {v0}, Lutil/Utils;.readLineFromStream:(Ljava/io/InputStream;)Ljava/lang/String; // method@079d │ │ -022e80: 0c04 |0026: move-result-object v4 │ │ -022e82: 1a00 fa03 |0027: const-string v0, "OK" // string@03fa │ │ -022e86: 6e20 8b05 0400 |0029: invoke-virtual {v4, v0}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058b │ │ -022e8c: 0a00 |002c: move-result v0 │ │ -022e8e: 3800 0300 |002d: if-eqz v0, 0030 // +0003 │ │ -022e92: 0e00 |002f: return-void │ │ -022e94: 2200 8200 |0030: new-instance v0, Ldnsfilter/ConfigurationAccess$ConfigurationAccessException; // type@0082 │ │ -022e98: 1201 |0032: const/4 v1, #int 0 // #0 │ │ -022e9a: 7030 4501 4001 |0033: invoke-direct {v0, v4, v1}, Ldnsfilter/ConfigurationAccess$ConfigurationAccessException;.:(Ljava/lang/String;Ljava/io/IOException;)V // method@0145 │ │ -022ea0: 2700 |0036: throw v0 │ │ -022ea2: 0d04 |0037: move-exception v4 │ │ -022ea4: 5430 e902 |0038: iget-object v0, v3, Ldnsfilter/remote/RemoteAccessClient;.connectedLogger:Lutil/LoggerInterface; // field@02e9 │ │ -022ea8: 2201 2d01 |003a: new-instance v1, Ljava/lang/StringBuilder; // type@012d │ │ -022eac: 1a02 3904 |003c: const-string v2, "Remote action updateConfig() failed! " // string@0439 │ │ -022eb0: 7020 a805 2100 |003e: invoke-direct {v1, v2}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05a8 │ │ -022eb6: 6e10 2205 0400 |0041: invoke-virtual {v4}, Ljava/io/IOException;.getMessage:()Ljava/lang/String; // method@0522 │ │ -022ebc: 0c02 |0044: move-result-object v2 │ │ -022ebe: 6e20 ad05 2100 |0045: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -022ec4: 6e10 af05 0100 |0048: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ -022eca: 0c01 |004b: move-result-object v1 │ │ -022ecc: 7220 3107 1000 |004c: invoke-interface {v0, v1}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0731 │ │ -022ed2: 7010 6804 0300 |004f: invoke-direct {v3}, Ldnsfilter/remote/RemoteAccessClient;.closeConnectionReconnect:()V // method@0468 │ │ -022ed8: 2704 |0052: throw v4 │ │ -022eda: 0d04 |0053: move-exception v4 │ │ -022edc: 5430 e902 |0054: iget-object v0, v3, Ldnsfilter/remote/RemoteAccessClient;.connectedLogger:Lutil/LoggerInterface; // field@02e9 │ │ -022ee0: 2201 2d01 |0056: new-instance v1, Ljava/lang/StringBuilder; // type@012d │ │ -022ee4: 1a02 3404 |0058: const-string v2, "Remote action failed! " // string@0434 │ │ -022ee8: 7020 a805 2100 |005a: invoke-direct {v1, v2}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05a8 │ │ -022eee: 6e10 4601 0400 |005d: invoke-virtual {v4}, Ldnsfilter/ConfigurationAccess$ConfigurationAccessException;.getMessage:()Ljava/lang/String; // method@0146 │ │ -022ef4: 0c02 |0060: move-result-object v2 │ │ -022ef6: 6e20 ad05 2100 |0061: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -022efc: 6e10 af05 0100 |0064: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ -022f02: 0c01 |0067: move-result-object v1 │ │ -022f04: 7220 3107 1000 |0068: invoke-interface {v0, v1}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0731 │ │ -022f0a: 2704 |006b: throw v4 │ │ +022e54: 6e10 8d05 0200 |0012: invoke-virtual {v2}, Ljava/lang/String;.getBytes:()[B // method@058d │ │ +022e5a: 0c02 |0015: move-result-object v2 │ │ +022e5c: 6e20 f804 2100 |0016: invoke-virtual {v1, v2}, Ljava/io/DataOutputStream;.write:([B)V // method@04f8 │ │ +022e62: 2142 |0019: array-length v2, v4 │ │ +022e64: 6e20 fb04 2100 |001a: invoke-virtual {v1, v2}, Ljava/io/DataOutputStream;.writeInt:(I)V // method@04fb │ │ +022e6a: 6e20 f804 4100 |001d: invoke-virtual {v1, v4}, Ljava/io/DataOutputStream;.write:([B)V // method@04f8 │ │ +022e70: 6e10 f704 0100 |0020: invoke-virtual {v1}, Ljava/io/DataOutputStream;.flush:()V // method@04f7 │ │ +022e76: 7110 9d07 0000 |0023: invoke-static {v0}, Lutil/Utils;.readLineFromStream:(Ljava/io/InputStream;)Ljava/lang/String; // method@079d │ │ +022e7c: 0c04 |0026: move-result-object v4 │ │ +022e7e: 1a00 fa03 |0027: const-string v0, "OK" // string@03fa │ │ +022e82: 6e20 8b05 0400 |0029: invoke-virtual {v4, v0}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058b │ │ +022e88: 0a00 |002c: move-result v0 │ │ +022e8a: 3800 0300 |002d: if-eqz v0, 0030 // +0003 │ │ +022e8e: 0e00 |002f: return-void │ │ +022e90: 2200 8200 |0030: new-instance v0, Ldnsfilter/ConfigurationAccess$ConfigurationAccessException; // type@0082 │ │ +022e94: 1201 |0032: const/4 v1, #int 0 // #0 │ │ +022e96: 7030 4501 4001 |0033: invoke-direct {v0, v4, v1}, Ldnsfilter/ConfigurationAccess$ConfigurationAccessException;.:(Ljava/lang/String;Ljava/io/IOException;)V // method@0145 │ │ +022e9c: 2700 |0036: throw v0 │ │ +022e9e: 0d04 |0037: move-exception v4 │ │ +022ea0: 5430 e902 |0038: iget-object v0, v3, Ldnsfilter/remote/RemoteAccessClient;.connectedLogger:Lutil/LoggerInterface; // field@02e9 │ │ +022ea4: 2201 2d01 |003a: new-instance v1, Ljava/lang/StringBuilder; // type@012d │ │ +022ea8: 1a02 3904 |003c: const-string v2, "Remote action updateConfig() failed! " // string@0439 │ │ +022eac: 7020 a805 2100 |003e: invoke-direct {v1, v2}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05a8 │ │ +022eb2: 6e10 2205 0400 |0041: invoke-virtual {v4}, Ljava/io/IOException;.getMessage:()Ljava/lang/String; // method@0522 │ │ +022eb8: 0c02 |0044: move-result-object v2 │ │ +022eba: 6e20 ad05 2100 |0045: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +022ec0: 6e10 af05 0100 |0048: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ +022ec6: 0c01 |004b: move-result-object v1 │ │ +022ec8: 7220 3107 1000 |004c: invoke-interface {v0, v1}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0731 │ │ +022ece: 7010 6804 0300 |004f: invoke-direct {v3}, Ldnsfilter/remote/RemoteAccessClient;.closeConnectionReconnect:()V // method@0468 │ │ +022ed4: 2704 |0052: throw v4 │ │ +022ed6: 0d04 |0053: move-exception v4 │ │ +022ed8: 5430 e902 |0054: iget-object v0, v3, Ldnsfilter/remote/RemoteAccessClient;.connectedLogger:Lutil/LoggerInterface; // field@02e9 │ │ +022edc: 2201 2d01 |0056: new-instance v1, Ljava/lang/StringBuilder; // type@012d │ │ +022ee0: 1a02 3404 |0058: const-string v2, "Remote action failed! " // string@0434 │ │ +022ee4: 7020 a805 2100 |005a: invoke-direct {v1, v2}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05a8 │ │ +022eea: 6e10 4601 0400 |005d: invoke-virtual {v4}, Ldnsfilter/ConfigurationAccess$ConfigurationAccessException;.getMessage:()Ljava/lang/String; // method@0146 │ │ +022ef0: 0c02 |0060: move-result-object v2 │ │ +022ef2: 6e20 ad05 2100 |0061: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +022ef8: 6e10 af05 0100 |0064: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ +022efe: 0c01 |0067: move-result-object v1 │ │ +022f00: 7220 3107 1000 |0068: invoke-interface {v0, v1}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0731 │ │ +022f06: 2704 |006b: throw v4 │ │ catches : 1 │ │ 0x0000 - 0x0037 │ │ Ldnsfilter/ConfigurationAccess$ConfigurationAccessException; -> 0x0053 │ │ Ljava/io/IOException; -> 0x0037 │ │ positions : │ │ 0x0000 line=304 │ │ 0x0003 line=305 │ │ @@ -53733,67 +53733,67 @@ │ │ type : '([B)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 5 │ │ ins : 2 │ │ outs : 3 │ │ insns size : 108 16-bit code units │ │ -022f1c: |[022f1c] dnsfilter.remote.RemoteAccessClient.updateConfigMergeDefaults:([B)V │ │ -022f2c: 6e10 7704 0300 |0000: invoke-virtual {v3}, Ldnsfilter/remote/RemoteAccessClient;.invalidate:()V // method@0477 │ │ -022f32: 7010 7104 0300 |0003: invoke-direct {v3}, Ldnsfilter/remote/RemoteAccessClient;.getInputStream:()Ljava/io/InputStream; // method@0471 │ │ -022f38: 0c00 |0006: move-result-object v0 │ │ -022f3a: 2201 f900 |0007: new-instance v1, Ljava/io/DataOutputStream; // type@00f9 │ │ -022f3e: 7010 7304 0300 |0009: invoke-direct {v3}, Ldnsfilter/remote/RemoteAccessClient;.getOutputStream:()Ljava/io/OutputStream; // method@0473 │ │ -022f44: 0c02 |000c: move-result-object v2 │ │ -022f46: 7020 f504 2100 |000d: invoke-direct {v1, v2}, Ljava/io/DataOutputStream;.:(Ljava/io/OutputStream;)V // method@04f5 │ │ -022f4c: 1a02 580b |0010: const-string v2, "updateConfigMergeDefaults() │ │ +022f18: |[022f18] dnsfilter.remote.RemoteAccessClient.updateConfigMergeDefaults:([B)V │ │ +022f28: 6e10 7704 0300 |0000: invoke-virtual {v3}, Ldnsfilter/remote/RemoteAccessClient;.invalidate:()V // method@0477 │ │ +022f2e: 7010 7104 0300 |0003: invoke-direct {v3}, Ldnsfilter/remote/RemoteAccessClient;.getInputStream:()Ljava/io/InputStream; // method@0471 │ │ +022f34: 0c00 |0006: move-result-object v0 │ │ +022f36: 2201 f900 |0007: new-instance v1, Ljava/io/DataOutputStream; // type@00f9 │ │ +022f3a: 7010 7304 0300 |0009: invoke-direct {v3}, Ldnsfilter/remote/RemoteAccessClient;.getOutputStream:()Ljava/io/OutputStream; // method@0473 │ │ +022f40: 0c02 |000c: move-result-object v2 │ │ +022f42: 7020 f504 2100 |000d: invoke-direct {v1, v2}, Ljava/io/DataOutputStream;.:(Ljava/io/OutputStream;)V // method@04f5 │ │ +022f48: 1a02 580b |0010: const-string v2, "updateConfigMergeDefaults() │ │ " // string@0b58 │ │ -022f50: 6e10 8d05 0200 |0012: invoke-virtual {v2}, Ljava/lang/String;.getBytes:()[B // method@058d │ │ -022f56: 0c02 |0015: move-result-object v2 │ │ -022f58: 6e20 f804 2100 |0016: invoke-virtual {v1, v2}, Ljava/io/DataOutputStream;.write:([B)V // method@04f8 │ │ -022f5e: 2142 |0019: array-length v2, v4 │ │ -022f60: 6e20 fb04 2100 |001a: invoke-virtual {v1, v2}, Ljava/io/DataOutputStream;.writeInt:(I)V // method@04fb │ │ -022f66: 6e20 f804 4100 |001d: invoke-virtual {v1, v4}, Ljava/io/DataOutputStream;.write:([B)V // method@04f8 │ │ -022f6c: 6e10 f704 0100 |0020: invoke-virtual {v1}, Ljava/io/DataOutputStream;.flush:()V // method@04f7 │ │ -022f72: 7110 9d07 0000 |0023: invoke-static {v0}, Lutil/Utils;.readLineFromStream:(Ljava/io/InputStream;)Ljava/lang/String; // method@079d │ │ -022f78: 0c04 |0026: move-result-object v4 │ │ -022f7a: 1a00 fa03 |0027: const-string v0, "OK" // string@03fa │ │ -022f7e: 6e20 8b05 0400 |0029: invoke-virtual {v4, v0}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058b │ │ -022f84: 0a00 |002c: move-result v0 │ │ -022f86: 3800 0300 |002d: if-eqz v0, 0030 // +0003 │ │ -022f8a: 0e00 |002f: return-void │ │ -022f8c: 2200 8200 |0030: new-instance v0, Ldnsfilter/ConfigurationAccess$ConfigurationAccessException; // type@0082 │ │ -022f90: 1201 |0032: const/4 v1, #int 0 // #0 │ │ -022f92: 7030 4501 4001 |0033: invoke-direct {v0, v4, v1}, Ldnsfilter/ConfigurationAccess$ConfigurationAccessException;.:(Ljava/lang/String;Ljava/io/IOException;)V // method@0145 │ │ -022f98: 2700 |0036: throw v0 │ │ -022f9a: 0d04 |0037: move-exception v4 │ │ -022f9c: 5430 e902 |0038: iget-object v0, v3, Ldnsfilter/remote/RemoteAccessClient;.connectedLogger:Lutil/LoggerInterface; // field@02e9 │ │ -022fa0: 2201 2d01 |003a: new-instance v1, Ljava/lang/StringBuilder; // type@012d │ │ -022fa4: 1a02 3904 |003c: const-string v2, "Remote action updateConfig() failed! " // string@0439 │ │ -022fa8: 7020 a805 2100 |003e: invoke-direct {v1, v2}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05a8 │ │ -022fae: 6e10 2205 0400 |0041: invoke-virtual {v4}, Ljava/io/IOException;.getMessage:()Ljava/lang/String; // method@0522 │ │ -022fb4: 0c02 |0044: move-result-object v2 │ │ -022fb6: 6e20 ad05 2100 |0045: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -022fbc: 6e10 af05 0100 |0048: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ -022fc2: 0c01 |004b: move-result-object v1 │ │ -022fc4: 7220 3107 1000 |004c: invoke-interface {v0, v1}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0731 │ │ -022fca: 7010 6804 0300 |004f: invoke-direct {v3}, Ldnsfilter/remote/RemoteAccessClient;.closeConnectionReconnect:()V // method@0468 │ │ -022fd0: 2704 |0052: throw v4 │ │ -022fd2: 0d04 |0053: move-exception v4 │ │ -022fd4: 5430 e902 |0054: iget-object v0, v3, Ldnsfilter/remote/RemoteAccessClient;.connectedLogger:Lutil/LoggerInterface; // field@02e9 │ │ -022fd8: 2201 2d01 |0056: new-instance v1, Ljava/lang/StringBuilder; // type@012d │ │ -022fdc: 1a02 3404 |0058: const-string v2, "Remote action failed! " // string@0434 │ │ -022fe0: 7020 a805 2100 |005a: invoke-direct {v1, v2}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05a8 │ │ -022fe6: 6e10 4601 0400 |005d: invoke-virtual {v4}, Ldnsfilter/ConfigurationAccess$ConfigurationAccessException;.getMessage:()Ljava/lang/String; // method@0146 │ │ -022fec: 0c02 |0060: move-result-object v2 │ │ -022fee: 6e20 ad05 2100 |0061: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -022ff4: 6e10 af05 0100 |0064: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ -022ffa: 0c01 |0067: move-result-object v1 │ │ -022ffc: 7220 3107 1000 |0068: invoke-interface {v0, v1}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0731 │ │ -023002: 2704 |006b: throw v4 │ │ +022f4c: 6e10 8d05 0200 |0012: invoke-virtual {v2}, Ljava/lang/String;.getBytes:()[B // method@058d │ │ +022f52: 0c02 |0015: move-result-object v2 │ │ +022f54: 6e20 f804 2100 |0016: invoke-virtual {v1, v2}, Ljava/io/DataOutputStream;.write:([B)V // method@04f8 │ │ +022f5a: 2142 |0019: array-length v2, v4 │ │ +022f5c: 6e20 fb04 2100 |001a: invoke-virtual {v1, v2}, Ljava/io/DataOutputStream;.writeInt:(I)V // method@04fb │ │ +022f62: 6e20 f804 4100 |001d: invoke-virtual {v1, v4}, Ljava/io/DataOutputStream;.write:([B)V // method@04f8 │ │ +022f68: 6e10 f704 0100 |0020: invoke-virtual {v1}, Ljava/io/DataOutputStream;.flush:()V // method@04f7 │ │ +022f6e: 7110 9d07 0000 |0023: invoke-static {v0}, Lutil/Utils;.readLineFromStream:(Ljava/io/InputStream;)Ljava/lang/String; // method@079d │ │ +022f74: 0c04 |0026: move-result-object v4 │ │ +022f76: 1a00 fa03 |0027: const-string v0, "OK" // string@03fa │ │ +022f7a: 6e20 8b05 0400 |0029: invoke-virtual {v4, v0}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058b │ │ +022f80: 0a00 |002c: move-result v0 │ │ +022f82: 3800 0300 |002d: if-eqz v0, 0030 // +0003 │ │ +022f86: 0e00 |002f: return-void │ │ +022f88: 2200 8200 |0030: new-instance v0, Ldnsfilter/ConfigurationAccess$ConfigurationAccessException; // type@0082 │ │ +022f8c: 1201 |0032: const/4 v1, #int 0 // #0 │ │ +022f8e: 7030 4501 4001 |0033: invoke-direct {v0, v4, v1}, Ldnsfilter/ConfigurationAccess$ConfigurationAccessException;.:(Ljava/lang/String;Ljava/io/IOException;)V // method@0145 │ │ +022f94: 2700 |0036: throw v0 │ │ +022f96: 0d04 |0037: move-exception v4 │ │ +022f98: 5430 e902 |0038: iget-object v0, v3, Ldnsfilter/remote/RemoteAccessClient;.connectedLogger:Lutil/LoggerInterface; // field@02e9 │ │ +022f9c: 2201 2d01 |003a: new-instance v1, Ljava/lang/StringBuilder; // type@012d │ │ +022fa0: 1a02 3904 |003c: const-string v2, "Remote action updateConfig() failed! " // string@0439 │ │ +022fa4: 7020 a805 2100 |003e: invoke-direct {v1, v2}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05a8 │ │ +022faa: 6e10 2205 0400 |0041: invoke-virtual {v4}, Ljava/io/IOException;.getMessage:()Ljava/lang/String; // method@0522 │ │ +022fb0: 0c02 |0044: move-result-object v2 │ │ +022fb2: 6e20 ad05 2100 |0045: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +022fb8: 6e10 af05 0100 |0048: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ +022fbe: 0c01 |004b: move-result-object v1 │ │ +022fc0: 7220 3107 1000 |004c: invoke-interface {v0, v1}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0731 │ │ +022fc6: 7010 6804 0300 |004f: invoke-direct {v3}, Ldnsfilter/remote/RemoteAccessClient;.closeConnectionReconnect:()V // method@0468 │ │ +022fcc: 2704 |0052: throw v4 │ │ +022fce: 0d04 |0053: move-exception v4 │ │ +022fd0: 5430 e902 |0054: iget-object v0, v3, Ldnsfilter/remote/RemoteAccessClient;.connectedLogger:Lutil/LoggerInterface; // field@02e9 │ │ +022fd4: 2201 2d01 |0056: new-instance v1, Ljava/lang/StringBuilder; // type@012d │ │ +022fd8: 1a02 3404 |0058: const-string v2, "Remote action failed! " // string@0434 │ │ +022fdc: 7020 a805 2100 |005a: invoke-direct {v1, v2}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05a8 │ │ +022fe2: 6e10 4601 0400 |005d: invoke-virtual {v4}, Ldnsfilter/ConfigurationAccess$ConfigurationAccessException;.getMessage:()Ljava/lang/String; // method@0146 │ │ +022fe8: 0c02 |0060: move-result-object v2 │ │ +022fea: 6e20 ad05 2100 |0061: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +022ff0: 6e10 af05 0100 |0064: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ +022ff6: 0c01 |0067: move-result-object v1 │ │ +022ff8: 7220 3107 1000 |0068: invoke-interface {v0, v1}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0731 │ │ +022ffe: 2704 |006b: throw v4 │ │ catches : 1 │ │ 0x0000 - 0x0037 │ │ Ldnsfilter/ConfigurationAccess$ConfigurationAccessException; -> 0x0053 │ │ Ljava/io/IOException; -> 0x0037 │ │ positions : │ │ 0x0000 line=330 │ │ 0x0003 line=331 │ │ @@ -53819,74 +53819,74 @@ │ │ type : '(Ljava/lang/String;Z)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 8 │ │ ins : 3 │ │ outs : 3 │ │ insns size : 122 16-bit code units │ │ -023014: |[023014] dnsfilter.remote.RemoteAccessClient.updateFilter:(Ljava/lang/String;Z)V │ │ -023024: 1a00 0200 |0000: const-string v0, " │ │ +023010: |[023010] dnsfilter.remote.RemoteAccessClient.updateFilter:(Ljava/lang/String;Z)V │ │ +023020: 1a00 0200 |0000: const-string v0, " │ │ " // string@0002 │ │ -023028: 1a01 5c0b |0002: const-string v1, "updateFilter() │ │ +023024: 1a01 5c0b |0002: const-string v1, "updateFilter() │ │ " // string@0b5c │ │ -02302c: 7010 7304 0500 |0004: invoke-direct {v5}, Ldnsfilter/remote/RemoteAccessClient;.getOutputStream:()Ljava/io/OutputStream; // method@0473 │ │ -023032: 0c02 |0007: move-result-object v2 │ │ -023034: 7010 7104 0500 |0008: invoke-direct {v5}, Ldnsfilter/remote/RemoteAccessClient;.getInputStream:()Ljava/io/InputStream; // method@0471 │ │ -02303a: 0c03 |000b: move-result-object v3 │ │ -02303c: 2204 2d01 |000c: new-instance v4, Ljava/lang/StringBuilder; // type@012d │ │ -023040: 7020 a805 1400 |000e: invoke-direct {v4, v1}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05a8 │ │ -023046: 1a01 8c00 |0011: const-string v1, ";" // string@008c │ │ -02304a: 6e30 9505 0601 |0013: invoke-virtual {v6, v0, v1}, Ljava/lang/String;.replace:(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String; // method@0595 │ │ -023050: 0c06 |0016: move-result-object v6 │ │ -023052: 6e20 ad05 6400 |0017: invoke-virtual {v4, v6}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -023058: 6e20 ad05 0400 |001a: invoke-virtual {v4, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -02305e: 6e20 ae05 7400 |001d: invoke-virtual {v4, v7}, Ljava/lang/StringBuilder;.append:(Z)Ljava/lang/StringBuilder; // method@05ae │ │ -023064: 6e20 ad05 0400 |0020: invoke-virtual {v4, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -02306a: 6e10 af05 0400 |0023: invoke-virtual {v4}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ -023070: 0c06 |0026: move-result-object v6 │ │ -023072: 6e10 8d05 0600 |0027: invoke-virtual {v6}, Ljava/lang/String;.getBytes:()[B // method@058d │ │ -023078: 0c06 |002a: move-result-object v6 │ │ -02307a: 6e20 3605 6200 |002b: invoke-virtual {v2, v6}, Ljava/io/OutputStream;.write:([B)V // method@0536 │ │ -023080: 6e10 3405 0200 |002e: invoke-virtual {v2}, Ljava/io/OutputStream;.flush:()V // method@0534 │ │ -023086: 7110 9d07 0300 |0031: invoke-static {v3}, Lutil/Utils;.readLineFromStream:(Ljava/io/InputStream;)Ljava/lang/String; // method@079d │ │ -02308c: 0c06 |0034: move-result-object v6 │ │ -02308e: 1a07 fa03 |0035: const-string v7, "OK" // string@03fa │ │ -023092: 6e20 8b05 7600 |0037: invoke-virtual {v6, v7}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058b │ │ -023098: 0a07 |003a: move-result v7 │ │ -02309a: 3807 0300 |003b: if-eqz v7, 003e // +0003 │ │ -02309e: 0e00 |003d: return-void │ │ -0230a0: 2207 8200 |003e: new-instance v7, Ldnsfilter/ConfigurationAccess$ConfigurationAccessException; // type@0082 │ │ -0230a4: 1200 |0040: const/4 v0, #int 0 // #0 │ │ -0230a6: 7030 4501 6700 |0041: invoke-direct {v7, v6, v0}, Ldnsfilter/ConfigurationAccess$ConfigurationAccessException;.:(Ljava/lang/String;Ljava/io/IOException;)V // method@0145 │ │ -0230ac: 2707 |0044: throw v7 │ │ -0230ae: 0d06 |0045: move-exception v6 │ │ -0230b0: 5457 e902 |0046: iget-object v7, v5, Ldnsfilter/remote/RemoteAccessClient;.connectedLogger:Lutil/LoggerInterface; // field@02e9 │ │ -0230b4: 2200 2d01 |0048: new-instance v0, Ljava/lang/StringBuilder; // type@012d │ │ -0230b8: 1a01 3204 |004a: const-string v1, "Remote action updateFilter() failed! " // string@0432 │ │ -0230bc: 7020 a805 1000 |004c: invoke-direct {v0, v1}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05a8 │ │ -0230c2: 6e10 2205 0600 |004f: invoke-virtual {v6}, Ljava/io/IOException;.getMessage:()Ljava/lang/String; // method@0522 │ │ -0230c8: 0c01 |0052: move-result-object v1 │ │ -0230ca: 6e20 ad05 1000 |0053: invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -0230d0: 6e10 af05 0000 |0056: invoke-virtual {v0}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ -0230d6: 0c00 |0059: move-result-object v0 │ │ -0230d8: 7220 3107 0700 |005a: invoke-interface {v7, v0}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0731 │ │ -0230de: 7010 6804 0500 |005d: invoke-direct {v5}, Ldnsfilter/remote/RemoteAccessClient;.closeConnectionReconnect:()V // method@0468 │ │ -0230e4: 2706 |0060: throw v6 │ │ -0230e6: 0d06 |0061: move-exception v6 │ │ -0230e8: 5457 e902 |0062: iget-object v7, v5, Ldnsfilter/remote/RemoteAccessClient;.connectedLogger:Lutil/LoggerInterface; // field@02e9 │ │ -0230ec: 2200 2d01 |0064: new-instance v0, Ljava/lang/StringBuilder; // type@012d │ │ -0230f0: 1a01 3404 |0066: const-string v1, "Remote action failed! " // string@0434 │ │ -0230f4: 7020 a805 1000 |0068: invoke-direct {v0, v1}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05a8 │ │ -0230fa: 6e10 4601 0600 |006b: invoke-virtual {v6}, Ldnsfilter/ConfigurationAccess$ConfigurationAccessException;.getMessage:()Ljava/lang/String; // method@0146 │ │ -023100: 0c01 |006e: move-result-object v1 │ │ -023102: 6e20 ad05 1000 |006f: invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -023108: 6e10 af05 0000 |0072: invoke-virtual {v0}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ -02310e: 0c00 |0075: move-result-object v0 │ │ -023110: 7220 3107 0700 |0076: invoke-interface {v7, v0}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0731 │ │ -023116: 2706 |0079: throw v6 │ │ +023028: 7010 7304 0500 |0004: invoke-direct {v5}, Ldnsfilter/remote/RemoteAccessClient;.getOutputStream:()Ljava/io/OutputStream; // method@0473 │ │ +02302e: 0c02 |0007: move-result-object v2 │ │ +023030: 7010 7104 0500 |0008: invoke-direct {v5}, Ldnsfilter/remote/RemoteAccessClient;.getInputStream:()Ljava/io/InputStream; // method@0471 │ │ +023036: 0c03 |000b: move-result-object v3 │ │ +023038: 2204 2d01 |000c: new-instance v4, Ljava/lang/StringBuilder; // type@012d │ │ +02303c: 7020 a805 1400 |000e: invoke-direct {v4, v1}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05a8 │ │ +023042: 1a01 8c00 |0011: const-string v1, ";" // string@008c │ │ +023046: 6e30 9505 0601 |0013: invoke-virtual {v6, v0, v1}, Ljava/lang/String;.replace:(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String; // method@0595 │ │ +02304c: 0c06 |0016: move-result-object v6 │ │ +02304e: 6e20 ad05 6400 |0017: invoke-virtual {v4, v6}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +023054: 6e20 ad05 0400 |001a: invoke-virtual {v4, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +02305a: 6e20 ae05 7400 |001d: invoke-virtual {v4, v7}, Ljava/lang/StringBuilder;.append:(Z)Ljava/lang/StringBuilder; // method@05ae │ │ +023060: 6e20 ad05 0400 |0020: invoke-virtual {v4, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +023066: 6e10 af05 0400 |0023: invoke-virtual {v4}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ +02306c: 0c06 |0026: move-result-object v6 │ │ +02306e: 6e10 8d05 0600 |0027: invoke-virtual {v6}, Ljava/lang/String;.getBytes:()[B // method@058d │ │ +023074: 0c06 |002a: move-result-object v6 │ │ +023076: 6e20 3605 6200 |002b: invoke-virtual {v2, v6}, Ljava/io/OutputStream;.write:([B)V // method@0536 │ │ +02307c: 6e10 3405 0200 |002e: invoke-virtual {v2}, Ljava/io/OutputStream;.flush:()V // method@0534 │ │ +023082: 7110 9d07 0300 |0031: invoke-static {v3}, Lutil/Utils;.readLineFromStream:(Ljava/io/InputStream;)Ljava/lang/String; // method@079d │ │ +023088: 0c06 |0034: move-result-object v6 │ │ +02308a: 1a07 fa03 |0035: const-string v7, "OK" // string@03fa │ │ +02308e: 6e20 8b05 7600 |0037: invoke-virtual {v6, v7}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058b │ │ +023094: 0a07 |003a: move-result v7 │ │ +023096: 3807 0300 |003b: if-eqz v7, 003e // +0003 │ │ +02309a: 0e00 |003d: return-void │ │ +02309c: 2207 8200 |003e: new-instance v7, Ldnsfilter/ConfigurationAccess$ConfigurationAccessException; // type@0082 │ │ +0230a0: 1200 |0040: const/4 v0, #int 0 // #0 │ │ +0230a2: 7030 4501 6700 |0041: invoke-direct {v7, v6, v0}, Ldnsfilter/ConfigurationAccess$ConfigurationAccessException;.:(Ljava/lang/String;Ljava/io/IOException;)V // method@0145 │ │ +0230a8: 2707 |0044: throw v7 │ │ +0230aa: 0d06 |0045: move-exception v6 │ │ +0230ac: 5457 e902 |0046: iget-object v7, v5, Ldnsfilter/remote/RemoteAccessClient;.connectedLogger:Lutil/LoggerInterface; // field@02e9 │ │ +0230b0: 2200 2d01 |0048: new-instance v0, Ljava/lang/StringBuilder; // type@012d │ │ +0230b4: 1a01 3204 |004a: const-string v1, "Remote action updateFilter() failed! " // string@0432 │ │ +0230b8: 7020 a805 1000 |004c: invoke-direct {v0, v1}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05a8 │ │ +0230be: 6e10 2205 0600 |004f: invoke-virtual {v6}, Ljava/io/IOException;.getMessage:()Ljava/lang/String; // method@0522 │ │ +0230c4: 0c01 |0052: move-result-object v1 │ │ +0230c6: 6e20 ad05 1000 |0053: invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +0230cc: 6e10 af05 0000 |0056: invoke-virtual {v0}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ +0230d2: 0c00 |0059: move-result-object v0 │ │ +0230d4: 7220 3107 0700 |005a: invoke-interface {v7, v0}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0731 │ │ +0230da: 7010 6804 0500 |005d: invoke-direct {v5}, Ldnsfilter/remote/RemoteAccessClient;.closeConnectionReconnect:()V // method@0468 │ │ +0230e0: 2706 |0060: throw v6 │ │ +0230e2: 0d06 |0061: move-exception v6 │ │ +0230e4: 5457 e902 |0062: iget-object v7, v5, Ldnsfilter/remote/RemoteAccessClient;.connectedLogger:Lutil/LoggerInterface; // field@02e9 │ │ +0230e8: 2200 2d01 |0064: new-instance v0, Ljava/lang/StringBuilder; // type@012d │ │ +0230ec: 1a01 3404 |0066: const-string v1, "Remote action failed! " // string@0434 │ │ +0230f0: 7020 a805 1000 |0068: invoke-direct {v0, v1}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05a8 │ │ +0230f6: 6e10 4601 0600 |006b: invoke-virtual {v6}, Ldnsfilter/ConfigurationAccess$ConfigurationAccessException;.getMessage:()Ljava/lang/String; // method@0146 │ │ +0230fc: 0c01 |006e: move-result-object v1 │ │ +0230fe: 6e20 ad05 1000 |006f: invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +023104: 6e10 af05 0000 |0072: invoke-virtual {v0}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ +02310a: 0c00 |0075: move-result-object v0 │ │ +02310c: 7220 3107 0700 |0076: invoke-interface {v7, v0}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0731 │ │ +023112: 2706 |0079: throw v6 │ │ catches : 1 │ │ 0x0004 - 0x0045 │ │ Ldnsfilter/ConfigurationAccess$ConfigurationAccessException; -> 0x0061 │ │ Ljava/io/IOException; -> 0x0045 │ │ positions : │ │ 0x0000 line=409 │ │ 0x0002 line=0 │ │ @@ -53912,19 +53912,19 @@ │ │ type : '()V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 3 │ │ ins : 1 │ │ outs : 3 │ │ insns size : 7 16-bit code units │ │ -023128: |[023128] dnsfilter.remote.RemoteAccessClient.wakeLock:()V │ │ -023138: 1a00 990b |0000: const-string v0, "wakeLock()" // string@0b99 │ │ -02313c: 1201 |0002: const/4 v1, #int 0 // #0 │ │ -02313e: 7030 8304 0201 |0003: invoke-direct {v2, v0, v1}, Ldnsfilter/remote/RemoteAccessClient;.triggerAction:(Ljava/lang/String;Ljava/lang/String;)V // method@0483 │ │ -023144: 0e00 |0006: return-void │ │ +023124: |[023124] dnsfilter.remote.RemoteAccessClient.wakeLock:()V │ │ +023134: 1a00 990b |0000: const-string v0, "wakeLock()" // string@0b99 │ │ +023138: 1201 |0002: const/4 v1, #int 0 // #0 │ │ +02313a: 7030 8304 0201 |0003: invoke-direct {v2, v0, v1}, Ldnsfilter/remote/RemoteAccessClient;.triggerAction:(Ljava/lang/String;Ljava/lang/String;)V // method@0483 │ │ +023140: 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) │ │ @@ -53962,18 +53962,18 @@ │ │ type : '(Ldnsfilter/remote/RemoteAccessServer$RemoteSession;)V' │ │ access : 0x10000 (CONSTRUCTOR) │ │ code - │ │ registers : 2 │ │ ins : 2 │ │ outs : 1 │ │ insns size : 6 16-bit code units │ │ -023148: |[023148] dnsfilter.remote.RemoteAccessServer$RemoteSession$1.:(Ldnsfilter/remote/RemoteAccessServer$RemoteSession;)V │ │ -023158: 5b01 f602 |0000: iput-object v1, v0, Ldnsfilter/remote/RemoteAccessServer$RemoteSession$1;.this$1:Ldnsfilter/remote/RemoteAccessServer$RemoteSession; // field@02f6 │ │ -02315c: 7010 7305 0000 |0002: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@0573 │ │ -023162: 0e00 |0005: return-void │ │ +023144: |[023144] dnsfilter.remote.RemoteAccessServer$RemoteSession$1.:(Ldnsfilter/remote/RemoteAccessServer$RemoteSession;)V │ │ +023154: 5b01 f602 |0000: iput-object v1, v0, Ldnsfilter/remote/RemoteAccessServer$RemoteSession$1;.this$1:Ldnsfilter/remote/RemoteAccessServer$RemoteSession; // field@02f6 │ │ +023158: 7010 7305 0000 |0002: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@0573 │ │ +02315e: 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; │ │ │ │ @@ -53983,33 +53983,33 @@ │ │ type : '()V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 1 │ │ ins : 1 │ │ outs : 0 │ │ insns size : 1 16-bit code units │ │ -023164: |[023164] dnsfilter.remote.RemoteAccessServer$RemoteSession$1.closeLogger:()V │ │ -023174: 0e00 |0000: return-void │ │ +023160: |[023160] dnsfilter.remote.RemoteAccessServer$RemoteSession$1.closeLogger:()V │ │ +023170: 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 │ │ -023178: |[023178] dnsfilter.remote.RemoteAccessServer$RemoteSession$1.log:(Ljava/lang/String;)V │ │ -023188: 1210 |0000: const/4 v0, #int 1 // #1 │ │ -02318a: 6e30 9004 0102 |0001: invoke-virtual {v1, v0, v2}, Ldnsfilter/remote/RemoteAccessServer$RemoteSession$1;.sendLog:(ILjava/lang/String;)V // method@0490 │ │ -023190: 0e00 |0004: return-void │ │ +023174: |[023174] dnsfilter.remote.RemoteAccessServer$RemoteSession$1.log:(Ljava/lang/String;)V │ │ +023184: 1210 |0000: const/4 v0, #int 1 // #1 │ │ +023186: 6e30 9004 0102 |0001: invoke-virtual {v1, v0, v2}, Ldnsfilter/remote/RemoteAccessServer$RemoteSession$1;.sendLog:(ILjava/lang/String;)V // method@0490 │ │ +02318c: 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; │ │ │ │ @@ -54018,32 +54018,32 @@ │ │ type : '(Ljava/lang/Exception;)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 4 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 38 16-bit code units │ │ -023194: |[023194] dnsfilter.remote.RemoteAccessServer$RemoteSession$1.logException:(Ljava/lang/Exception;)V │ │ -0231a4: 2200 0d01 |0000: new-instance v0, Ljava/io/StringWriter; // type@010d │ │ -0231a8: 7010 4605 0000 |0002: invoke-direct {v0}, Ljava/io/StringWriter;.:()V // method@0546 │ │ -0231ae: 2201 0a01 |0005: new-instance v1, Ljava/io/PrintWriter; // type@010a │ │ -0231b2: 7020 4105 0100 |0007: invoke-direct {v1, v0}, Ljava/io/PrintWriter;.:(Ljava/io/Writer;)V // method@0541 │ │ -0231b8: 6e20 5e05 1300 |000a: invoke-virtual {v3, v1}, Ljava/lang/Exception;.printStackTrace:(Ljava/io/PrintWriter;)V // method@055e │ │ -0231be: 2203 2d01 |000d: new-instance v3, Ljava/lang/StringBuilder; // type@012d │ │ -0231c2: 7010 a705 0300 |000f: invoke-direct {v3}, Ljava/lang/StringBuilder;.:()V // method@05a7 │ │ -0231c8: 6e10 4705 0000 |0012: invoke-virtual {v0}, Ljava/io/StringWriter;.toString:()Ljava/lang/String; // method@0547 │ │ -0231ce: 0c00 |0015: move-result-object v0 │ │ -0231d0: 6e20 ad05 0300 |0016: invoke-virtual {v3, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -0231d6: 1a00 0200 |0019: const-string v0, " │ │ +023190: |[023190] dnsfilter.remote.RemoteAccessServer$RemoteSession$1.logException:(Ljava/lang/Exception;)V │ │ +0231a0: 2200 0d01 |0000: new-instance v0, Ljava/io/StringWriter; // type@010d │ │ +0231a4: 7010 4605 0000 |0002: invoke-direct {v0}, Ljava/io/StringWriter;.:()V // method@0546 │ │ +0231aa: 2201 0a01 |0005: new-instance v1, Ljava/io/PrintWriter; // type@010a │ │ +0231ae: 7020 4105 0100 |0007: invoke-direct {v1, v0}, Ljava/io/PrintWriter;.:(Ljava/io/Writer;)V // method@0541 │ │ +0231b4: 6e20 5e05 1300 |000a: invoke-virtual {v3, v1}, Ljava/lang/Exception;.printStackTrace:(Ljava/io/PrintWriter;)V // method@055e │ │ +0231ba: 2203 2d01 |000d: new-instance v3, Ljava/lang/StringBuilder; // type@012d │ │ +0231be: 7010 a705 0300 |000f: invoke-direct {v3}, Ljava/lang/StringBuilder;.:()V // method@05a7 │ │ +0231c4: 6e10 4705 0000 |0012: invoke-virtual {v0}, Ljava/io/StringWriter;.toString:()Ljava/lang/String; // method@0547 │ │ +0231ca: 0c00 |0015: move-result-object v0 │ │ +0231cc: 6e20 ad05 0300 |0016: invoke-virtual {v3, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +0231d2: 1a00 0200 |0019: const-string v0, " │ │ " // string@0002 │ │ -0231da: 6e20 ad05 0300 |001b: invoke-virtual {v3, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -0231e0: 6e10 af05 0300 |001e: invoke-virtual {v3}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ -0231e6: 0c03 |0021: move-result-object v3 │ │ -0231e8: 6e20 8c04 3200 |0022: invoke-virtual {v2, v3}, Ldnsfilter/remote/RemoteAccessServer$RemoteSession$1;.log:(Ljava/lang/String;)V // method@048c │ │ -0231ee: 0e00 |0025: return-void │ │ +0231d6: 6e20 ad05 0300 |001b: invoke-virtual {v3, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +0231dc: 6e10 af05 0300 |001e: invoke-virtual {v3}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ +0231e2: 0c03 |0021: move-result-object v3 │ │ +0231e4: 6e20 8c04 3200 |0022: invoke-virtual {v2, v3}, Ldnsfilter/remote/RemoteAccessServer$RemoteSession$1;.log:(Ljava/lang/String;)V // method@048c │ │ +0231ea: 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; │ │ @@ -54054,18 +54054,18 @@ │ │ type : '(Ljava/lang/String;)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 3 │ │ ins : 2 │ │ outs : 3 │ │ insns size : 5 16-bit code units │ │ -0231f0: |[0231f0] dnsfilter.remote.RemoteAccessServer$RemoteSession$1.logLine:(Ljava/lang/String;)V │ │ -023200: 1220 |0000: const/4 v0, #int 2 // #2 │ │ -023202: 6e30 9004 0102 |0001: invoke-virtual {v1, v0, v2}, Ldnsfilter/remote/RemoteAccessServer$RemoteSession$1;.sendLog:(ILjava/lang/String;)V // method@0490 │ │ -023208: 0e00 |0004: return-void │ │ +0231ec: |[0231ec] dnsfilter.remote.RemoteAccessServer$RemoteSession$1.logLine:(Ljava/lang/String;)V │ │ +0231fc: 1220 |0000: const/4 v0, #int 2 // #2 │ │ +0231fe: 6e30 9004 0102 |0001: invoke-virtual {v1, v0, v2}, Ldnsfilter/remote/RemoteAccessServer$RemoteSession$1;.sendLog:(ILjava/lang/String;)V // method@0490 │ │ +023204: 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; │ │ │ │ @@ -54074,18 +54074,18 @@ │ │ type : '(Ljava/lang/String;)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 3 │ │ ins : 2 │ │ outs : 3 │ │ insns size : 5 16-bit code units │ │ -02320c: |[02320c] dnsfilter.remote.RemoteAccessServer$RemoteSession$1.message:(Ljava/lang/String;)V │ │ -02321c: 1230 |0000: const/4 v0, #int 3 // #3 │ │ -02321e: 6e30 9004 0102 |0001: invoke-virtual {v1, v0, v2}, Ldnsfilter/remote/RemoteAccessServer$RemoteSession$1;.sendLog:(ILjava/lang/String;)V // method@0490 │ │ -023224: 0e00 |0004: return-void │ │ +023208: |[023208] dnsfilter.remote.RemoteAccessServer$RemoteSession$1.message:(Ljava/lang/String;)V │ │ +023218: 1230 |0000: const/4 v0, #int 3 // #3 │ │ +02321a: 6e30 9004 0102 |0001: invoke-virtual {v1, v0, v2}, Ldnsfilter/remote/RemoteAccessServer$RemoteSession$1;.sendLog:(ILjava/lang/String;)V // method@0490 │ │ +023220: 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; │ │ │ │ @@ -54094,95 +54094,95 @@ │ │ type : '(ILjava/lang/String;)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 8 │ │ ins : 3 │ │ outs : 2 │ │ insns size : 163 16-bit code units │ │ -023228: |[023228] dnsfilter.remote.RemoteAccessServer$RemoteSession$1.sendLog:(ILjava/lang/String;)V │ │ -023238: 1a00 8c01 |0000: const-string v0, "Exception during remote logging! " // string@018c │ │ -02323c: 5451 f602 |0002: iget-object v1, v5, Ldnsfilter/remote/RemoteAccessServer$RemoteSession$1;.this$1:Ldnsfilter/remote/RemoteAccessServer$RemoteSession; // field@02f6 │ │ -023240: 5411 fd02 |0004: iget-object v1, v1, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@02fd │ │ -023244: 1d01 |0006: monitor-enter v1 │ │ -023246: 5452 f602 |0007: iget-object v2, v5, Ldnsfilter/remote/RemoteAccessServer$RemoteSession$1;.this$1:Ldnsfilter/remote/RemoteAccessServer$RemoteSession; // field@02f6 │ │ -02324a: 5422 fd02 |0009: iget-object v2, v2, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@02fd │ │ -02324e: 1253 |000b: const/4 v3, #int 5 // #5 │ │ -023250: 6e20 fd04 3200 |000c: invoke-virtual {v2, v3}, Ljava/io/DataOutputStream;.writeShort:(I)V // method@04fd │ │ -023256: 2202 2d01 |000f: new-instance v2, Ljava/lang/StringBuilder; // type@012d │ │ -02325a: 7010 a705 0200 |0011: invoke-direct {v2}, Ljava/lang/StringBuilder;.:()V // method@05a7 │ │ -023260: 7100 5301 0000 |0014: invoke-static {}, Ldnsfilter/ConfigurationAccess;.getLocal:()Ldnsfilter/ConfigurationAccess; // method@0153 │ │ -023266: 0c03 |0017: move-result-object v3 │ │ -023268: 6e10 5801 0300 |0018: invoke-virtual {v3}, Ldnsfilter/ConfigurationAccess;.openConnectionsCount:()I // method@0158 │ │ -02326e: 0a03 |001b: move-result v3 │ │ -023270: 6e20 aa05 3200 |001c: invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@05aa │ │ -023276: 1a03 0000 |001f: const-string v3, "" // string@0000 │ │ -02327a: 6e20 ad05 3200 |0021: invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -023280: 6e10 af05 0200 |0024: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ -023286: 0c02 |0027: move-result-object v2 │ │ -023288: 6e10 8d05 0200 |0028: invoke-virtual {v2}, Ljava/lang/String;.getBytes:()[B // method@058d │ │ -02328e: 0c02 |002b: move-result-object v2 │ │ -023290: 5453 f602 |002c: iget-object v3, v5, Ldnsfilter/remote/RemoteAccessServer$RemoteSession$1;.this$1:Ldnsfilter/remote/RemoteAccessServer$RemoteSession; // field@02f6 │ │ -023294: 5433 fd02 |002e: iget-object v3, v3, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@02fd │ │ -023298: 2124 |0030: array-length v4, v2 │ │ -02329a: 6e20 fd04 4300 |0031: invoke-virtual {v3, v4}, Ljava/io/DataOutputStream;.writeShort:(I)V // method@04fd │ │ -0232a0: 5453 f602 |0034: iget-object v3, v5, Ldnsfilter/remote/RemoteAccessServer$RemoteSession$1;.this$1:Ldnsfilter/remote/RemoteAccessServer$RemoteSession; // field@02f6 │ │ -0232a4: 5433 fd02 |0036: iget-object v3, v3, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@02fd │ │ -0232a8: 6e20 f804 2300 |0038: invoke-virtual {v3, v2}, Ljava/io/DataOutputStream;.write:([B)V // method@04f8 │ │ -0232ae: 5452 f602 |003b: iget-object v2, v5, Ldnsfilter/remote/RemoteAccessServer$RemoteSession$1;.this$1:Ldnsfilter/remote/RemoteAccessServer$RemoteSession; // field@02f6 │ │ -0232b2: 5422 fd02 |003d: iget-object v2, v2, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@02fd │ │ -0232b6: 1243 |003f: const/4 v3, #int 4 // #4 │ │ -0232b8: 6e20 fd04 3200 |0040: invoke-virtual {v2, v3}, Ljava/io/DataOutputStream;.writeShort:(I)V // method@04fd │ │ -0232be: 7100 5301 0000 |0043: invoke-static {}, Ldnsfilter/ConfigurationAccess;.getLocal:()Ldnsfilter/ConfigurationAccess; // method@0153 │ │ -0232c4: 0c02 |0046: move-result-object v2 │ │ -0232c6: 6e10 5201 0200 |0047: invoke-virtual {v2}, Ldnsfilter/ConfigurationAccess;.getLastDNSAddress:()Ljava/lang/String; // method@0152 │ │ -0232cc: 0c02 |004a: move-result-object v2 │ │ -0232ce: 6e10 8d05 0200 |004b: invoke-virtual {v2}, Ljava/lang/String;.getBytes:()[B // method@058d │ │ -0232d4: 0c02 |004e: move-result-object v2 │ │ -0232d6: 5453 f602 |004f: iget-object v3, v5, Ldnsfilter/remote/RemoteAccessServer$RemoteSession$1;.this$1:Ldnsfilter/remote/RemoteAccessServer$RemoteSession; // field@02f6 │ │ -0232da: 5433 fd02 |0051: iget-object v3, v3, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@02fd │ │ -0232de: 2124 |0053: array-length v4, v2 │ │ -0232e0: 6e20 fd04 4300 |0054: invoke-virtual {v3, v4}, Ljava/io/DataOutputStream;.writeShort:(I)V // method@04fd │ │ -0232e6: 5453 f602 |0057: iget-object v3, v5, Ldnsfilter/remote/RemoteAccessServer$RemoteSession$1;.this$1:Ldnsfilter/remote/RemoteAccessServer$RemoteSession; // field@02f6 │ │ -0232ea: 5433 fd02 |0059: iget-object v3, v3, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@02fd │ │ -0232ee: 6e20 f804 2300 |005b: invoke-virtual {v3, v2}, Ljava/io/DataOutputStream;.write:([B)V // method@04f8 │ │ -0232f4: 6e10 8d05 0700 |005e: invoke-virtual {v7}, Ljava/lang/String;.getBytes:()[B // method@058d │ │ -0232fa: 0c07 |0061: move-result-object v7 │ │ -0232fc: 5452 f602 |0062: iget-object v2, v5, Ldnsfilter/remote/RemoteAccessServer$RemoteSession$1;.this$1:Ldnsfilter/remote/RemoteAccessServer$RemoteSession; // field@02f6 │ │ -023300: 5422 fd02 |0064: iget-object v2, v2, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@02fd │ │ -023304: 6e20 fd04 6200 |0066: invoke-virtual {v2, v6}, Ljava/io/DataOutputStream;.writeShort:(I)V // method@04fd │ │ -02330a: 5456 f602 |0069: iget-object v6, v5, Ldnsfilter/remote/RemoteAccessServer$RemoteSession$1;.this$1:Ldnsfilter/remote/RemoteAccessServer$RemoteSession; // field@02f6 │ │ -02330e: 5466 fd02 |006b: iget-object v6, v6, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@02fd │ │ -023312: 2172 |006d: array-length v2, v7 │ │ -023314: 6e20 fd04 2600 |006e: invoke-virtual {v6, v2}, Ljava/io/DataOutputStream;.writeShort:(I)V // method@04fd │ │ -02331a: 5456 f602 |0071: iget-object v6, v5, Ldnsfilter/remote/RemoteAccessServer$RemoteSession$1;.this$1:Ldnsfilter/remote/RemoteAccessServer$RemoteSession; // field@02f6 │ │ -02331e: 5466 fd02 |0073: iget-object v6, v6, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@02fd │ │ -023322: 6e20 f804 7600 |0075: invoke-virtual {v6, v7}, Ljava/io/DataOutputStream;.write:([B)V // method@04f8 │ │ -023328: 5456 f602 |0078: iget-object v6, v5, Ldnsfilter/remote/RemoteAccessServer$RemoteSession$1;.this$1:Ldnsfilter/remote/RemoteAccessServer$RemoteSession; // field@02f6 │ │ -02332c: 5466 fd02 |007a: iget-object v6, v6, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@02fd │ │ -023330: 6e10 f704 0600 |007c: invoke-virtual {v6}, Ljava/io/DataOutputStream;.flush:()V // method@04f7 │ │ -023336: 2820 |007f: goto 009f // +0020 │ │ -023338: 0d06 |0080: move-exception v6 │ │ -02333a: 2820 |0081: goto 00a1 // +0020 │ │ -02333c: 0d06 |0082: move-exception v6 │ │ -02333e: 5457 f602 |0083: iget-object v7, v5, Ldnsfilter/remote/RemoteAccessServer$RemoteSession$1;.this$1:Ldnsfilter/remote/RemoteAccessServer$RemoteSession; // field@02f6 │ │ -023342: 6e10 9b04 0700 |0085: invoke-virtual {v7}, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.killSession:()V // method@049b │ │ -023348: 7100 2507 0000 |0088: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0725 │ │ -02334e: 0c07 |008b: move-result-object v7 │ │ -023350: 2202 2d01 |008c: new-instance v2, Ljava/lang/StringBuilder; // type@012d │ │ -023354: 7020 a805 0200 |008e: invoke-direct {v2, v0}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05a8 │ │ -02335a: 6e10 2405 0600 |0091: invoke-virtual {v6}, Ljava/io/IOException;.toString:()Ljava/lang/String; // method@0524 │ │ -023360: 0c06 |0094: move-result-object v6 │ │ -023362: 6e20 ad05 6200 |0095: invoke-virtual {v2, v6}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -023368: 6e10 af05 0200 |0098: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ -02336e: 0c06 |009b: move-result-object v6 │ │ -023370: 7220 3107 6700 |009c: invoke-interface {v7, v6}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0731 │ │ -023376: 1e01 |009f: monitor-exit v1 │ │ -023378: 0e00 |00a0: return-void │ │ -02337a: 1e01 |00a1: monitor-exit v1 │ │ -02337c: 2706 |00a2: throw v6 │ │ +023224: |[023224] dnsfilter.remote.RemoteAccessServer$RemoteSession$1.sendLog:(ILjava/lang/String;)V │ │ +023234: 1a00 8c01 |0000: const-string v0, "Exception during remote logging! " // string@018c │ │ +023238: 5451 f602 |0002: iget-object v1, v5, Ldnsfilter/remote/RemoteAccessServer$RemoteSession$1;.this$1:Ldnsfilter/remote/RemoteAccessServer$RemoteSession; // field@02f6 │ │ +02323c: 5411 fd02 |0004: iget-object v1, v1, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@02fd │ │ +023240: 1d01 |0006: monitor-enter v1 │ │ +023242: 5452 f602 |0007: iget-object v2, v5, Ldnsfilter/remote/RemoteAccessServer$RemoteSession$1;.this$1:Ldnsfilter/remote/RemoteAccessServer$RemoteSession; // field@02f6 │ │ +023246: 5422 fd02 |0009: iget-object v2, v2, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@02fd │ │ +02324a: 1253 |000b: const/4 v3, #int 5 // #5 │ │ +02324c: 6e20 fd04 3200 |000c: invoke-virtual {v2, v3}, Ljava/io/DataOutputStream;.writeShort:(I)V // method@04fd │ │ +023252: 2202 2d01 |000f: new-instance v2, Ljava/lang/StringBuilder; // type@012d │ │ +023256: 7010 a705 0200 |0011: invoke-direct {v2}, Ljava/lang/StringBuilder;.:()V // method@05a7 │ │ +02325c: 7100 5301 0000 |0014: invoke-static {}, Ldnsfilter/ConfigurationAccess;.getLocal:()Ldnsfilter/ConfigurationAccess; // method@0153 │ │ +023262: 0c03 |0017: move-result-object v3 │ │ +023264: 6e10 5801 0300 |0018: invoke-virtual {v3}, Ldnsfilter/ConfigurationAccess;.openConnectionsCount:()I // method@0158 │ │ +02326a: 0a03 |001b: move-result v3 │ │ +02326c: 6e20 aa05 3200 |001c: invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@05aa │ │ +023272: 1a03 0000 |001f: const-string v3, "" // string@0000 │ │ +023276: 6e20 ad05 3200 |0021: invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +02327c: 6e10 af05 0200 |0024: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ +023282: 0c02 |0027: move-result-object v2 │ │ +023284: 6e10 8d05 0200 |0028: invoke-virtual {v2}, Ljava/lang/String;.getBytes:()[B // method@058d │ │ +02328a: 0c02 |002b: move-result-object v2 │ │ +02328c: 5453 f602 |002c: iget-object v3, v5, Ldnsfilter/remote/RemoteAccessServer$RemoteSession$1;.this$1:Ldnsfilter/remote/RemoteAccessServer$RemoteSession; // field@02f6 │ │ +023290: 5433 fd02 |002e: iget-object v3, v3, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@02fd │ │ +023294: 2124 |0030: array-length v4, v2 │ │ +023296: 6e20 fd04 4300 |0031: invoke-virtual {v3, v4}, Ljava/io/DataOutputStream;.writeShort:(I)V // method@04fd │ │ +02329c: 5453 f602 |0034: iget-object v3, v5, Ldnsfilter/remote/RemoteAccessServer$RemoteSession$1;.this$1:Ldnsfilter/remote/RemoteAccessServer$RemoteSession; // field@02f6 │ │ +0232a0: 5433 fd02 |0036: iget-object v3, v3, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@02fd │ │ +0232a4: 6e20 f804 2300 |0038: invoke-virtual {v3, v2}, Ljava/io/DataOutputStream;.write:([B)V // method@04f8 │ │ +0232aa: 5452 f602 |003b: iget-object v2, v5, Ldnsfilter/remote/RemoteAccessServer$RemoteSession$1;.this$1:Ldnsfilter/remote/RemoteAccessServer$RemoteSession; // field@02f6 │ │ +0232ae: 5422 fd02 |003d: iget-object v2, v2, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@02fd │ │ +0232b2: 1243 |003f: const/4 v3, #int 4 // #4 │ │ +0232b4: 6e20 fd04 3200 |0040: invoke-virtual {v2, v3}, Ljava/io/DataOutputStream;.writeShort:(I)V // method@04fd │ │ +0232ba: 7100 5301 0000 |0043: invoke-static {}, Ldnsfilter/ConfigurationAccess;.getLocal:()Ldnsfilter/ConfigurationAccess; // method@0153 │ │ +0232c0: 0c02 |0046: move-result-object v2 │ │ +0232c2: 6e10 5201 0200 |0047: invoke-virtual {v2}, Ldnsfilter/ConfigurationAccess;.getLastDNSAddress:()Ljava/lang/String; // method@0152 │ │ +0232c8: 0c02 |004a: move-result-object v2 │ │ +0232ca: 6e10 8d05 0200 |004b: invoke-virtual {v2}, Ljava/lang/String;.getBytes:()[B // method@058d │ │ +0232d0: 0c02 |004e: move-result-object v2 │ │ +0232d2: 5453 f602 |004f: iget-object v3, v5, Ldnsfilter/remote/RemoteAccessServer$RemoteSession$1;.this$1:Ldnsfilter/remote/RemoteAccessServer$RemoteSession; // field@02f6 │ │ +0232d6: 5433 fd02 |0051: iget-object v3, v3, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@02fd │ │ +0232da: 2124 |0053: array-length v4, v2 │ │ +0232dc: 6e20 fd04 4300 |0054: invoke-virtual {v3, v4}, Ljava/io/DataOutputStream;.writeShort:(I)V // method@04fd │ │ +0232e2: 5453 f602 |0057: iget-object v3, v5, Ldnsfilter/remote/RemoteAccessServer$RemoteSession$1;.this$1:Ldnsfilter/remote/RemoteAccessServer$RemoteSession; // field@02f6 │ │ +0232e6: 5433 fd02 |0059: iget-object v3, v3, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@02fd │ │ +0232ea: 6e20 f804 2300 |005b: invoke-virtual {v3, v2}, Ljava/io/DataOutputStream;.write:([B)V // method@04f8 │ │ +0232f0: 6e10 8d05 0700 |005e: invoke-virtual {v7}, Ljava/lang/String;.getBytes:()[B // method@058d │ │ +0232f6: 0c07 |0061: move-result-object v7 │ │ +0232f8: 5452 f602 |0062: iget-object v2, v5, Ldnsfilter/remote/RemoteAccessServer$RemoteSession$1;.this$1:Ldnsfilter/remote/RemoteAccessServer$RemoteSession; // field@02f6 │ │ +0232fc: 5422 fd02 |0064: iget-object v2, v2, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@02fd │ │ +023300: 6e20 fd04 6200 |0066: invoke-virtual {v2, v6}, Ljava/io/DataOutputStream;.writeShort:(I)V // method@04fd │ │ +023306: 5456 f602 |0069: iget-object v6, v5, Ldnsfilter/remote/RemoteAccessServer$RemoteSession$1;.this$1:Ldnsfilter/remote/RemoteAccessServer$RemoteSession; // field@02f6 │ │ +02330a: 5466 fd02 |006b: iget-object v6, v6, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@02fd │ │ +02330e: 2172 |006d: array-length v2, v7 │ │ +023310: 6e20 fd04 2600 |006e: invoke-virtual {v6, v2}, Ljava/io/DataOutputStream;.writeShort:(I)V // method@04fd │ │ +023316: 5456 f602 |0071: iget-object v6, v5, Ldnsfilter/remote/RemoteAccessServer$RemoteSession$1;.this$1:Ldnsfilter/remote/RemoteAccessServer$RemoteSession; // field@02f6 │ │ +02331a: 5466 fd02 |0073: iget-object v6, v6, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@02fd │ │ +02331e: 6e20 f804 7600 |0075: invoke-virtual {v6, v7}, Ljava/io/DataOutputStream;.write:([B)V // method@04f8 │ │ +023324: 5456 f602 |0078: iget-object v6, v5, Ldnsfilter/remote/RemoteAccessServer$RemoteSession$1;.this$1:Ldnsfilter/remote/RemoteAccessServer$RemoteSession; // field@02f6 │ │ +023328: 5466 fd02 |007a: iget-object v6, v6, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@02fd │ │ +02332c: 6e10 f704 0600 |007c: invoke-virtual {v6}, Ljava/io/DataOutputStream;.flush:()V // method@04f7 │ │ +023332: 2820 |007f: goto 009f // +0020 │ │ +023334: 0d06 |0080: move-exception v6 │ │ +023336: 2820 |0081: goto 00a1 // +0020 │ │ +023338: 0d06 |0082: move-exception v6 │ │ +02333a: 5457 f602 |0083: iget-object v7, v5, Ldnsfilter/remote/RemoteAccessServer$RemoteSession$1;.this$1:Ldnsfilter/remote/RemoteAccessServer$RemoteSession; // field@02f6 │ │ +02333e: 6e10 9b04 0700 |0085: invoke-virtual {v7}, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.killSession:()V // method@049b │ │ +023344: 7100 2507 0000 |0088: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0725 │ │ +02334a: 0c07 |008b: move-result-object v7 │ │ +02334c: 2202 2d01 |008c: new-instance v2, Ljava/lang/StringBuilder; // type@012d │ │ +023350: 7020 a805 0200 |008e: invoke-direct {v2, v0}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05a8 │ │ +023356: 6e10 2405 0600 |0091: invoke-virtual {v6}, Ljava/io/IOException;.toString:()Ljava/lang/String; // method@0524 │ │ +02335c: 0c06 |0094: move-result-object v6 │ │ +02335e: 6e20 ad05 6200 |0095: invoke-virtual {v2, v6}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +023364: 6e10 af05 0200 |0098: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ +02336a: 0c06 |009b: move-result-object v6 │ │ +02336c: 7220 3107 6700 |009c: invoke-interface {v7, v6}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0731 │ │ +023372: 1e01 |009f: monitor-exit v1 │ │ +023374: 0e00 |00a0: return-void │ │ +023376: 1e01 |00a1: monitor-exit v1 │ │ +023378: 2706 |00a2: throw v6 │ │ catches : 2 │ │ 0x0007 - 0x007f │ │ Ljava/io/IOException; -> 0x0082 │ │ -> 0x0080 │ │ 0x0083 - 0x00a2 │ │ -> 0x0080 │ │ positions : │ │ @@ -54298,57 +54298,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 │ │ -023404: |[023404] dnsfilter.remote.RemoteAccessServer$RemoteSession.:(Ldnsfilter/remote/RemoteAccessServer;Ljava/net/Socket;Ljava/io/InputStream;Ljava/io/OutputStream;I)V │ │ -023414: 5b23 0103 |0000: iput-object v3, v2, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.this$0:Ldnsfilter/remote/RemoteAccessServer; // field@0301 │ │ -023418: 7010 7305 0200 |0002: invoke-direct {v2}, Ljava/lang/Object;.:()V // method@0573 │ │ -02341e: 12f0 |0005: const/4 v0, #int -1 // #ff │ │ -023420: 5920 f702 |0006: iput v0, v2, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.connectedSessionId:I // field@02f7 │ │ -023424: 1200 |0008: const/4 v0, #int 0 // #0 │ │ -023426: 5c20 fb02 |0009: iput-boolean v0, v2, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.killed:Z // field@02fb │ │ -02342a: 5c20 f802 |000b: iput-boolean v0, v2, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.doReconnect:Z // field@02f8 │ │ -02342e: 5c20 ff02 |000d: iput-boolean v0, v2, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.remoteStreamSession:Z // field@02ff │ │ -023432: 1800 ffff ffff ffff ff7f |000f: const-wide v0, #double nan // #7fffffffffffffff │ │ -02343c: 5a20 0203 |0014: iput-wide v0, v2, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.timeout:J // field@0302 │ │ -023440: 7100 b105 0000 |0016: invoke-static {}, Ljava/lang/System;.currentTimeMillis:()J // method@05b1 │ │ -023446: 0b00 |0019: move-result-wide v0 │ │ -023448: 5a20 fc02 |001a: iput-wide v0, v2, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.lastHeartBeatConfirm:J // field@02fc │ │ -02344c: 5927 f902 |001c: iput v7, v2, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.id:I // field@02f9 │ │ -023450: 5b24 0003 |001e: iput-object v4, v2, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.socket:Ljava/net/Socket; // field@0300 │ │ -023454: 2200 f900 |0020: new-instance v0, Ljava/io/DataOutputStream; // type@00f9 │ │ -023458: 7020 f504 6000 |0022: invoke-direct {v0, v6}, Ljava/io/DataOutputStream;.:(Ljava/io/OutputStream;)V // method@04f5 │ │ -02345e: 5b20 fd02 |0025: iput-object v0, v2, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@02fd │ │ -023462: 2206 f800 |0027: new-instance v6, Ljava/io/DataInputStream; // type@00f8 │ │ -023466: 7020 ee04 5600 |0029: invoke-direct {v6, v5}, Ljava/io/DataInputStream;.:(Ljava/io/InputStream;)V // method@04ee │ │ -02346c: 5b26 fa02 |002c: iput-object v6, v2, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.in:Ljava/io/DataInputStream; // field@02fa │ │ -023470: 7110 a104 0300 |002e: invoke-static {v3}, Ldnsfilter/remote/RemoteAccessServer;.access$200:(Ldnsfilter/remote/RemoteAccessServer;)Ljava/util/HashMap; // method@04a1 │ │ -023476: 0c03 |0031: move-result-object v3 │ │ -023478: 7110 6805 0700 |0032: invoke-static {v7}, Ljava/lang/Integer;.valueOf:(I)Ljava/lang/Integer; // method@0568 │ │ -02347e: 0c05 |0035: move-result-object v5 │ │ -023480: 6e30 2906 5302 |0036: invoke-virtual {v3, v5, v2}, Ljava/util/HashMap;.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; // method@0629 │ │ -023486: 7100 2507 0000 |0039: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0725 │ │ -02348c: 0c03 |003c: move-result-object v3 │ │ -02348e: 2205 2d01 |003d: new-instance v5, Ljava/lang/StringBuilder; // type@012d │ │ -023492: 1a06 ec03 |003f: const-string v6, "New Remote Session " // string@03ec │ │ -023496: 7020 a805 6500 |0041: invoke-direct {v5, v6}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05a8 │ │ -02349c: 6e20 aa05 7500 |0044: invoke-virtual {v5, v7}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@05aa │ │ -0234a2: 1a06 1d00 |0047: const-string v6, " from :" // string@001d │ │ -0234a6: 6e20 ad05 6500 |0049: invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -0234ac: 6e20 ac05 4500 |004c: invoke-virtual {v5, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@05ac │ │ -0234b2: 6e10 af05 0500 |004f: invoke-virtual {v5}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ -0234b8: 0c04 |0052: move-result-object v4 │ │ -0234ba: 7220 3107 4300 |0053: invoke-interface {v3, v4}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0731 │ │ -0234c0: 2203 2f01 |0056: new-instance v3, Ljava/lang/Thread; // type@012f │ │ -0234c4: 7020 b405 2300 |0058: invoke-direct {v3, v2}, Ljava/lang/Thread;.:(Ljava/lang/Runnable;)V // method@05b4 │ │ -0234ca: 6e10 ba05 0300 |005b: invoke-virtual {v3}, Ljava/lang/Thread;.start:()V // method@05ba │ │ -0234d0: 0e00 |005e: return-void │ │ +023400: |[023400] dnsfilter.remote.RemoteAccessServer$RemoteSession.:(Ldnsfilter/remote/RemoteAccessServer;Ljava/net/Socket;Ljava/io/InputStream;Ljava/io/OutputStream;I)V │ │ +023410: 5b23 0103 |0000: iput-object v3, v2, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.this$0:Ldnsfilter/remote/RemoteAccessServer; // field@0301 │ │ +023414: 7010 7305 0200 |0002: invoke-direct {v2}, Ljava/lang/Object;.:()V // method@0573 │ │ +02341a: 12f0 |0005: const/4 v0, #int -1 // #ff │ │ +02341c: 5920 f702 |0006: iput v0, v2, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.connectedSessionId:I // field@02f7 │ │ +023420: 1200 |0008: const/4 v0, #int 0 // #0 │ │ +023422: 5c20 fb02 |0009: iput-boolean v0, v2, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.killed:Z // field@02fb │ │ +023426: 5c20 f802 |000b: iput-boolean v0, v2, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.doReconnect:Z // field@02f8 │ │ +02342a: 5c20 ff02 |000d: iput-boolean v0, v2, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.remoteStreamSession:Z // field@02ff │ │ +02342e: 1800 ffff ffff ffff ff7f |000f: const-wide v0, #double nan // #7fffffffffffffff │ │ +023438: 5a20 0203 |0014: iput-wide v0, v2, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.timeout:J // field@0302 │ │ +02343c: 7100 b105 0000 |0016: invoke-static {}, Ljava/lang/System;.currentTimeMillis:()J // method@05b1 │ │ +023442: 0b00 |0019: move-result-wide v0 │ │ +023444: 5a20 fc02 |001a: iput-wide v0, v2, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.lastHeartBeatConfirm:J // field@02fc │ │ +023448: 5927 f902 |001c: iput v7, v2, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.id:I // field@02f9 │ │ +02344c: 5b24 0003 |001e: iput-object v4, v2, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.socket:Ljava/net/Socket; // field@0300 │ │ +023450: 2200 f900 |0020: new-instance v0, Ljava/io/DataOutputStream; // type@00f9 │ │ +023454: 7020 f504 6000 |0022: invoke-direct {v0, v6}, Ljava/io/DataOutputStream;.:(Ljava/io/OutputStream;)V // method@04f5 │ │ +02345a: 5b20 fd02 |0025: iput-object v0, v2, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@02fd │ │ +02345e: 2206 f800 |0027: new-instance v6, Ljava/io/DataInputStream; // type@00f8 │ │ +023462: 7020 ee04 5600 |0029: invoke-direct {v6, v5}, Ljava/io/DataInputStream;.:(Ljava/io/InputStream;)V // method@04ee │ │ +023468: 5b26 fa02 |002c: iput-object v6, v2, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.in:Ljava/io/DataInputStream; // field@02fa │ │ +02346c: 7110 a104 0300 |002e: invoke-static {v3}, Ldnsfilter/remote/RemoteAccessServer;.access$200:(Ldnsfilter/remote/RemoteAccessServer;)Ljava/util/HashMap; // method@04a1 │ │ +023472: 0c03 |0031: move-result-object v3 │ │ +023474: 7110 6805 0700 |0032: invoke-static {v7}, Ljava/lang/Integer;.valueOf:(I)Ljava/lang/Integer; // method@0568 │ │ +02347a: 0c05 |0035: move-result-object v5 │ │ +02347c: 6e30 2906 5302 |0036: invoke-virtual {v3, v5, v2}, Ljava/util/HashMap;.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; // method@0629 │ │ +023482: 7100 2507 0000 |0039: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0725 │ │ +023488: 0c03 |003c: move-result-object v3 │ │ +02348a: 2205 2d01 |003d: new-instance v5, Ljava/lang/StringBuilder; // type@012d │ │ +02348e: 1a06 ec03 |003f: const-string v6, "New Remote Session " // string@03ec │ │ +023492: 7020 a805 6500 |0041: invoke-direct {v5, v6}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05a8 │ │ +023498: 6e20 aa05 7500 |0044: invoke-virtual {v5, v7}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@05aa │ │ +02349e: 1a06 1d00 |0047: const-string v6, " from :" // string@001d │ │ +0234a2: 6e20 ad05 6500 |0049: invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +0234a8: 6e20 ac05 4500 |004c: invoke-virtual {v5, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@05ac │ │ +0234ae: 6e10 af05 0500 |004f: invoke-virtual {v5}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ +0234b4: 0c04 |0052: move-result-object v4 │ │ +0234b6: 7220 3107 4300 |0053: invoke-interface {v3, v4}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0731 │ │ +0234bc: 2203 2f01 |0056: new-instance v3, Ljava/lang/Thread; // type@012f │ │ +0234c0: 7020 b405 2300 |0058: invoke-direct {v3, v2}, Ljava/lang/Thread;.:(Ljava/lang/Runnable;)V // method@05b4 │ │ +0234c6: 6e10 ba05 0300 |005b: invoke-virtual {v3}, Ljava/lang/Thread;.start:()V // method@05ba │ │ +0234cc: 0e00 |005e: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=151 │ │ 0x0006 line=138 │ │ 0x0009 line=141 │ │ 0x000b line=142 │ │ 0x000d line=145 │ │ @@ -54374,17 +54374,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 │ │ -0234d4: |[0234d4] dnsfilter.remote.RemoteAccessServer$RemoteSession.:(Ldnsfilter/remote/RemoteAccessServer;Ljava/net/Socket;Ljava/io/InputStream;Ljava/io/OutputStream;ILdnsfilter/remote/RemoteAccessServer$1;)V │ │ -0234e4: 7606 9104 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@0491 │ │ -0234ea: 0e00 |0003: return-void │ │ +0234d0: |[0234d0] dnsfilter.remote.RemoteAccessServer$RemoteSession.:(Ldnsfilter/remote/RemoteAccessServer;Ljava/net/Socket;Ljava/io/InputStream;Ljava/io/OutputStream;ILdnsfilter/remote/RemoteAccessServer$1;)V │ │ +0234e0: 7606 9104 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@0491 │ │ +0234e6: 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; │ │ @@ -54398,17 +54398,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 │ │ -0234ec: |[0234ec] dnsfilter.remote.RemoteAccessServer$RemoteSession.access$000:(Ldnsfilter/remote/RemoteAccessServer$RemoteSession;)V │ │ -0234fc: 7010 9a04 0000 |0000: invoke-direct {v0}, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.invalidate:()V // method@049a │ │ -023502: 0e00 |0003: return-void │ │ +0234e8: |[0234e8] dnsfilter.remote.RemoteAccessServer$RemoteSession.access$000:(Ldnsfilter/remote/RemoteAccessServer$RemoteSession;)V │ │ +0234f8: 7010 9a04 0000 |0000: invoke-direct {v0}, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.invalidate:()V // method@049a │ │ +0234fe: 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;) │ │ @@ -54416,107 +54416,107 @@ │ │ type : '()V' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 7 │ │ ins : 1 │ │ outs : 3 │ │ insns size : 179 16-bit code units │ │ -023504: |[023504] dnsfilter.remote.RemoteAccessServer$RemoteSession.attachStream:()V │ │ -023514: 5460 fa02 |0000: iget-object v0, v6, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.in:Ljava/io/DataInputStream; // field@02fa │ │ -023518: 7110 9d07 0000 |0002: invoke-static {v0}, Lutil/Utils;.readLineFromStream:(Ljava/io/InputStream;)Ljava/lang/String; // method@079d │ │ -02351e: 0c00 |0005: move-result-object v0 │ │ -023520: 7110 6505 0000 |0006: invoke-static {v0}, Ljava/lang/Integer;.parseInt:(Ljava/lang/String;)I // method@0565 │ │ -023526: 0a00 |0009: move-result v0 │ │ -023528: 5960 f702 |000a: iput v0, v6, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.connectedSessionId:I // field@02f7 │ │ -02352c: 1210 |000c: const/4 v0, #int 1 // #1 │ │ -02352e: 5c60 ff02 |000d: iput-boolean v0, v6, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.remoteStreamSession:Z // field@02ff │ │ -023532: 2201 8e01 |000f: new-instance v1, Lutil/SuppressRepeatingsLogger; // type@018e │ │ -023536: 2202 7c01 |0011: new-instance v2, Lutil/AsyncLogger; // type@017c │ │ -02353a: 2203 ec00 |0013: new-instance v3, Ldnsfilter/remote/RemoteAccessServer$RemoteSession$1; // type@00ec │ │ -02353e: 7020 8a04 6300 |0015: invoke-direct {v3, v6}, Ldnsfilter/remote/RemoteAccessServer$RemoteSession$1;.:(Ldnsfilter/remote/RemoteAccessServer$RemoteSession;)V // method@048a │ │ -023544: 7020 b506 3200 |0018: invoke-direct {v2, v3}, Lutil/AsyncLogger;.:(Lutil/LoggerInterface;)V // method@06b5 │ │ -02354a: 7020 7207 2100 |001b: invoke-direct {v1, v2}, Lutil/SuppressRepeatingsLogger;.:(Lutil/LoggerInterface;)V // method@0772 │ │ -023550: 5b61 fe02 |001e: iput-object v1, v6, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.remoteLogger:Lutil/SuppressRepeatingsLogger; // field@02fe │ │ -023554: 7100 9901 0000 |0020: invoke-static {}, Ldnsfilter/DNSFilterManager;.getInstance:()Ldnsfilter/DNSFilterManager; // method@0199 │ │ -02355a: 0c01 |0023: move-result-object v1 │ │ -02355c: 6e10 9401 0100 |0024: invoke-virtual {v1}, Ldnsfilter/DNSFilterManager;.getConfig:()Ljava/util/Properties; // method@0194 │ │ -023562: 0c01 |0027: move-result-object v1 │ │ -023564: 1a02 ff09 |0028: const-string v2, "repeatingLogSuppressTime" // string@09ff │ │ -023568: 1a03 7000 |002a: const-string v3, "1000" // string@0070 │ │ -02356c: 6e30 5506 2103 |002c: invoke-virtual {v1, v2, v3}, Ljava/util/Properties;.getProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@0655 │ │ -023572: 0c01 |002f: move-result-object v1 │ │ -023574: 7110 6b05 0100 |0030: invoke-static {v1}, Ljava/lang/Long;.parseLong:(Ljava/lang/String;)J // method@056b │ │ -02357a: 0b01 |0033: move-result-wide v1 │ │ -02357c: 5463 fe02 |0034: iget-object v3, v6, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.remoteLogger:Lutil/SuppressRepeatingsLogger; // field@02fe │ │ -023580: 6e30 7c07 1302 |0036: invoke-virtual {v3, v1, v2}, Lutil/SuppressRepeatingsLogger;.setSuppressTime:(J)V // method@077c │ │ -023586: 7100 9901 0000 |0039: invoke-static {}, Ldnsfilter/DNSFilterManager;.getInstance:()Ldnsfilter/DNSFilterManager; // method@0199 │ │ -02358c: 0c01 |003c: move-result-object v1 │ │ -02358e: 6e10 9401 0100 |003d: invoke-virtual {v1}, Ldnsfilter/DNSFilterManager;.getConfig:()Ljava/util/Properties; // method@0194 │ │ -023594: 0c01 |0040: move-result-object v1 │ │ -023596: 1a02 4905 |0041: const-string v2, "addLiveLogTimestamp" // string@0549 │ │ -02359a: 1a03 df06 |0043: const-string v3, "false" // string@06df │ │ -02359e: 6e30 5506 2103 |0045: invoke-virtual {v1, v2, v3}, Ljava/util/Properties;.getProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@0655 │ │ -0235a4: 0c01 |0048: move-result-object v1 │ │ -0235a6: 7110 4b05 0100 |0049: invoke-static {v1}, Ljava/lang/Boolean;.parseBoolean:(Ljava/lang/String;)Z // method@054b │ │ -0235ac: 0a01 |004c: move-result v1 │ │ -0235ae: 5462 fe02 |004d: iget-object v2, v6, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.remoteLogger:Lutil/SuppressRepeatingsLogger; // field@02fe │ │ -0235b2: 1203 |004f: const/4 v3, #int 0 // #0 │ │ -0235b4: 6e20 7d07 3200 |0050: invoke-virtual {v2, v3}, Lutil/SuppressRepeatingsLogger;.setTimestampFormat:(Ljava/lang/String;)V // method@077d │ │ -0235ba: 3801 1700 |0053: if-eqz v1, 006a // +0017 │ │ -0235be: 7100 9901 0000 |0055: invoke-static {}, Ldnsfilter/DNSFilterManager;.getInstance:()Ldnsfilter/DNSFilterManager; // method@0199 │ │ -0235c4: 0c01 |0058: move-result-object v1 │ │ -0235c6: 6e10 9401 0100 |0059: invoke-virtual {v1}, Ldnsfilter/DNSFilterManager;.getConfig:()Ljava/util/Properties; // method@0194 │ │ -0235cc: 0c01 |005c: move-result-object v1 │ │ -0235ce: 1a02 a908 |005d: const-string v2, "liveLogTimeStampFormat" // string@08a9 │ │ -0235d2: 1a03 0b08 |005f: const-string v3, "hh:mm:ss" // string@080b │ │ -0235d6: 6e30 5506 2103 |0061: invoke-virtual {v1, v2, v3}, Ljava/util/Properties;.getProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@0655 │ │ -0235dc: 0c01 |0064: move-result-object v1 │ │ -0235de: 5462 fe02 |0065: iget-object v2, v6, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.remoteLogger:Lutil/SuppressRepeatingsLogger; // field@02fe │ │ -0235e2: 6e20 7d07 1200 |0067: invoke-virtual {v2, v1}, Lutil/SuppressRepeatingsLogger;.setTimestampFormat:(Ljava/lang/String;)V // method@077d │ │ -0235e8: 5461 fd02 |006a: iget-object v1, v6, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@02fd │ │ -0235ec: 1d01 |006c: monitor-enter v1 │ │ -0235ee: 7100 2507 0000 |006d: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0725 │ │ -0235f4: 0c02 |0070: move-result-object v2 │ │ -0235f6: 1f02 8201 |0071: check-cast v2, Lutil/GroupedLogger; // type@0182 │ │ -0235fa: 5463 fe02 |0073: iget-object v3, v6, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.remoteLogger:Lutil/SuppressRepeatingsLogger; // field@02fe │ │ -0235fe: 6e20 f506 3200 |0075: invoke-virtual {v2, v3}, Lutil/GroupedLogger;.attachLogger:(Lutil/LoggerInterface;)V // method@06f5 │ │ -023604: 2819 |0078: goto 0091 // +0019 │ │ -023606: 0d00 |0079: move-exception v0 │ │ -023608: 2829 |007a: goto 00a3 // +0029 │ │ -02360a: 2202 8201 |007b: new-instance v2, Lutil/GroupedLogger; // type@0182 │ │ -02360e: 1223 |007d: const/4 v3, #int 2 // #2 │ │ -023610: 2333 b401 |007e: new-array v3, v3, [Lutil/LoggerInterface; // type@01b4 │ │ -023614: 7100 2507 0000 |0080: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0725 │ │ -02361a: 0c04 |0083: move-result-object v4 │ │ -02361c: 1205 |0084: const/4 v5, #int 0 // #0 │ │ -02361e: 4d04 0305 |0085: aput-object v4, v3, v5 │ │ -023622: 5464 fe02 |0087: iget-object v4, v6, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.remoteLogger:Lutil/SuppressRepeatingsLogger; // field@02fe │ │ -023626: 4d04 0300 |0089: aput-object v4, v3, v0 │ │ -02362a: 7020 f406 3200 |008b: invoke-direct {v2, v3}, Lutil/GroupedLogger;.:([Lutil/LoggerInterface;)V // method@06f4 │ │ -023630: 7110 2c07 0200 |008e: invoke-static {v2}, Lutil/Logger;.setLogger:(Lutil/LoggerInterface;)V // method@072c │ │ -023636: 5460 fd02 |0091: iget-object v0, v6, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@02fd │ │ -02363a: 1a02 fb03 |0093: const-string v2, "OK │ │ +023500: |[023500] dnsfilter.remote.RemoteAccessServer$RemoteSession.attachStream:()V │ │ +023510: 5460 fa02 |0000: iget-object v0, v6, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.in:Ljava/io/DataInputStream; // field@02fa │ │ +023514: 7110 9d07 0000 |0002: invoke-static {v0}, Lutil/Utils;.readLineFromStream:(Ljava/io/InputStream;)Ljava/lang/String; // method@079d │ │ +02351a: 0c00 |0005: move-result-object v0 │ │ +02351c: 7110 6505 0000 |0006: invoke-static {v0}, Ljava/lang/Integer;.parseInt:(Ljava/lang/String;)I // method@0565 │ │ +023522: 0a00 |0009: move-result v0 │ │ +023524: 5960 f702 |000a: iput v0, v6, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.connectedSessionId:I // field@02f7 │ │ +023528: 1210 |000c: const/4 v0, #int 1 // #1 │ │ +02352a: 5c60 ff02 |000d: iput-boolean v0, v6, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.remoteStreamSession:Z // field@02ff │ │ +02352e: 2201 8e01 |000f: new-instance v1, Lutil/SuppressRepeatingsLogger; // type@018e │ │ +023532: 2202 7c01 |0011: new-instance v2, Lutil/AsyncLogger; // type@017c │ │ +023536: 2203 ec00 |0013: new-instance v3, Ldnsfilter/remote/RemoteAccessServer$RemoteSession$1; // type@00ec │ │ +02353a: 7020 8a04 6300 |0015: invoke-direct {v3, v6}, Ldnsfilter/remote/RemoteAccessServer$RemoteSession$1;.:(Ldnsfilter/remote/RemoteAccessServer$RemoteSession;)V // method@048a │ │ +023540: 7020 b506 3200 |0018: invoke-direct {v2, v3}, Lutil/AsyncLogger;.:(Lutil/LoggerInterface;)V // method@06b5 │ │ +023546: 7020 7207 2100 |001b: invoke-direct {v1, v2}, Lutil/SuppressRepeatingsLogger;.:(Lutil/LoggerInterface;)V // method@0772 │ │ +02354c: 5b61 fe02 |001e: iput-object v1, v6, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.remoteLogger:Lutil/SuppressRepeatingsLogger; // field@02fe │ │ +023550: 7100 9901 0000 |0020: invoke-static {}, Ldnsfilter/DNSFilterManager;.getInstance:()Ldnsfilter/DNSFilterManager; // method@0199 │ │ +023556: 0c01 |0023: move-result-object v1 │ │ +023558: 6e10 9401 0100 |0024: invoke-virtual {v1}, Ldnsfilter/DNSFilterManager;.getConfig:()Ljava/util/Properties; // method@0194 │ │ +02355e: 0c01 |0027: move-result-object v1 │ │ +023560: 1a02 ff09 |0028: const-string v2, "repeatingLogSuppressTime" // string@09ff │ │ +023564: 1a03 7000 |002a: const-string v3, "1000" // string@0070 │ │ +023568: 6e30 5506 2103 |002c: invoke-virtual {v1, v2, v3}, Ljava/util/Properties;.getProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@0655 │ │ +02356e: 0c01 |002f: move-result-object v1 │ │ +023570: 7110 6b05 0100 |0030: invoke-static {v1}, Ljava/lang/Long;.parseLong:(Ljava/lang/String;)J // method@056b │ │ +023576: 0b01 |0033: move-result-wide v1 │ │ +023578: 5463 fe02 |0034: iget-object v3, v6, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.remoteLogger:Lutil/SuppressRepeatingsLogger; // field@02fe │ │ +02357c: 6e30 7c07 1302 |0036: invoke-virtual {v3, v1, v2}, Lutil/SuppressRepeatingsLogger;.setSuppressTime:(J)V // method@077c │ │ +023582: 7100 9901 0000 |0039: invoke-static {}, Ldnsfilter/DNSFilterManager;.getInstance:()Ldnsfilter/DNSFilterManager; // method@0199 │ │ +023588: 0c01 |003c: move-result-object v1 │ │ +02358a: 6e10 9401 0100 |003d: invoke-virtual {v1}, Ldnsfilter/DNSFilterManager;.getConfig:()Ljava/util/Properties; // method@0194 │ │ +023590: 0c01 |0040: move-result-object v1 │ │ +023592: 1a02 4905 |0041: const-string v2, "addLiveLogTimestamp" // string@0549 │ │ +023596: 1a03 df06 |0043: const-string v3, "false" // string@06df │ │ +02359a: 6e30 5506 2103 |0045: invoke-virtual {v1, v2, v3}, Ljava/util/Properties;.getProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@0655 │ │ +0235a0: 0c01 |0048: move-result-object v1 │ │ +0235a2: 7110 4b05 0100 |0049: invoke-static {v1}, Ljava/lang/Boolean;.parseBoolean:(Ljava/lang/String;)Z // method@054b │ │ +0235a8: 0a01 |004c: move-result v1 │ │ +0235aa: 5462 fe02 |004d: iget-object v2, v6, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.remoteLogger:Lutil/SuppressRepeatingsLogger; // field@02fe │ │ +0235ae: 1203 |004f: const/4 v3, #int 0 // #0 │ │ +0235b0: 6e20 7d07 3200 |0050: invoke-virtual {v2, v3}, Lutil/SuppressRepeatingsLogger;.setTimestampFormat:(Ljava/lang/String;)V // method@077d │ │ +0235b6: 3801 1700 |0053: if-eqz v1, 006a // +0017 │ │ +0235ba: 7100 9901 0000 |0055: invoke-static {}, Ldnsfilter/DNSFilterManager;.getInstance:()Ldnsfilter/DNSFilterManager; // method@0199 │ │ +0235c0: 0c01 |0058: move-result-object v1 │ │ +0235c2: 6e10 9401 0100 |0059: invoke-virtual {v1}, Ldnsfilter/DNSFilterManager;.getConfig:()Ljava/util/Properties; // method@0194 │ │ +0235c8: 0c01 |005c: move-result-object v1 │ │ +0235ca: 1a02 a908 |005d: const-string v2, "liveLogTimeStampFormat" // string@08a9 │ │ +0235ce: 1a03 0b08 |005f: const-string v3, "hh:mm:ss" // string@080b │ │ +0235d2: 6e30 5506 2103 |0061: invoke-virtual {v1, v2, v3}, Ljava/util/Properties;.getProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; // method@0655 │ │ +0235d8: 0c01 |0064: move-result-object v1 │ │ +0235da: 5462 fe02 |0065: iget-object v2, v6, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.remoteLogger:Lutil/SuppressRepeatingsLogger; // field@02fe │ │ +0235de: 6e20 7d07 1200 |0067: invoke-virtual {v2, v1}, Lutil/SuppressRepeatingsLogger;.setTimestampFormat:(Ljava/lang/String;)V // method@077d │ │ +0235e4: 5461 fd02 |006a: iget-object v1, v6, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@02fd │ │ +0235e8: 1d01 |006c: monitor-enter v1 │ │ +0235ea: 7100 2507 0000 |006d: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0725 │ │ +0235f0: 0c02 |0070: move-result-object v2 │ │ +0235f2: 1f02 8201 |0071: check-cast v2, Lutil/GroupedLogger; // type@0182 │ │ +0235f6: 5463 fe02 |0073: iget-object v3, v6, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.remoteLogger:Lutil/SuppressRepeatingsLogger; // field@02fe │ │ +0235fa: 6e20 f506 3200 |0075: invoke-virtual {v2, v3}, Lutil/GroupedLogger;.attachLogger:(Lutil/LoggerInterface;)V // method@06f5 │ │ +023600: 2819 |0078: goto 0091 // +0019 │ │ +023602: 0d00 |0079: move-exception v0 │ │ +023604: 2829 |007a: goto 00a3 // +0029 │ │ +023606: 2202 8201 |007b: new-instance v2, Lutil/GroupedLogger; // type@0182 │ │ +02360a: 1223 |007d: const/4 v3, #int 2 // #2 │ │ +02360c: 2333 b401 |007e: new-array v3, v3, [Lutil/LoggerInterface; // type@01b4 │ │ +023610: 7100 2507 0000 |0080: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0725 │ │ +023616: 0c04 |0083: move-result-object v4 │ │ +023618: 1205 |0084: const/4 v5, #int 0 // #0 │ │ +02361a: 4d04 0305 |0085: aput-object v4, v3, v5 │ │ +02361e: 5464 fe02 |0087: iget-object v4, v6, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.remoteLogger:Lutil/SuppressRepeatingsLogger; // field@02fe │ │ +023622: 4d04 0300 |0089: aput-object v4, v3, v0 │ │ +023626: 7020 f406 3200 |008b: invoke-direct {v2, v3}, Lutil/GroupedLogger;.:([Lutil/LoggerInterface;)V // method@06f4 │ │ +02362c: 7110 2c07 0200 |008e: invoke-static {v2}, Lutil/Logger;.setLogger:(Lutil/LoggerInterface;)V // method@072c │ │ +023632: 5460 fd02 |0091: iget-object v0, v6, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@02fd │ │ +023636: 1a02 fb03 |0093: const-string v2, "OK │ │ " // string@03fb │ │ -02363e: 6e10 8d05 0200 |0095: invoke-virtual {v2}, Ljava/lang/String;.getBytes:()[B // method@058d │ │ -023644: 0c02 |0098: move-result-object v2 │ │ -023646: 6e20 f804 2000 |0099: invoke-virtual {v0, v2}, Ljava/io/DataOutputStream;.write:([B)V // method@04f8 │ │ -02364c: 6000 e402 |009c: sget v0, Ldnsfilter/remote/RemoteAccessClient;.READ_TIMEOUT:I // field@02e4 │ │ -023650: 7020 9604 0600 |009e: invoke-direct {v6, v0}, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.doHeartBeat:(I)V // method@0496 │ │ -023656: 1e01 |00a1: monitor-exit v1 │ │ -023658: 0e00 |00a2: return-void │ │ -02365a: 1e01 |00a3: monitor-exit v1 │ │ -02365c: 2700 |00a4: throw v0 │ │ -02365e: 0d00 |00a5: move-exception v0 │ │ -023660: 2201 0001 |00a6: new-instance v1, Ljava/io/IOException; // type@0100 │ │ -023664: 7020 2105 0100 |00a8: invoke-direct {v1, v0}, Ljava/io/IOException;.:(Ljava/lang/Throwable;)V // method@0521 │ │ -02366a: 2701 |00ab: throw v1 │ │ -02366c: 0d00 |00ac: move-exception v0 │ │ -02366e: 2201 0001 |00ad: new-instance v1, Ljava/io/IOException; // type@0100 │ │ -023672: 7020 2105 0100 |00af: invoke-direct {v1, v0}, Ljava/io/IOException;.:(Ljava/lang/Throwable;)V // method@0521 │ │ -023678: 2701 |00b2: throw v1 │ │ +02363a: 6e10 8d05 0200 |0095: invoke-virtual {v2}, Ljava/lang/String;.getBytes:()[B // method@058d │ │ +023640: 0c02 |0098: move-result-object v2 │ │ +023642: 6e20 f804 2000 |0099: invoke-virtual {v0, v2}, Ljava/io/DataOutputStream;.write:([B)V // method@04f8 │ │ +023648: 6000 e402 |009c: sget v0, Ldnsfilter/remote/RemoteAccessClient;.READ_TIMEOUT:I // field@02e4 │ │ +02364c: 7020 9604 0600 |009e: invoke-direct {v6, v0}, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.doHeartBeat:(I)V // method@0496 │ │ +023652: 1e01 |00a1: monitor-exit v1 │ │ +023654: 0e00 |00a2: return-void │ │ +023656: 1e01 |00a3: monitor-exit v1 │ │ +023658: 2700 |00a4: throw v0 │ │ +02365a: 0d00 |00a5: move-exception v0 │ │ +02365c: 2201 0001 |00a6: new-instance v1, Ljava/io/IOException; // type@0100 │ │ +023660: 7020 2105 0100 |00a8: invoke-direct {v1, v0}, Ljava/io/IOException;.:(Ljava/lang/Throwable;)V // method@0521 │ │ +023666: 2701 |00ab: throw v1 │ │ +023668: 0d00 |00ac: move-exception v0 │ │ +02366a: 2201 0001 |00ad: new-instance v1, Ljava/io/IOException; // type@0100 │ │ +02366e: 7020 2105 0100 |00af: invoke-direct {v1, v0}, Ljava/io/IOException;.:(Ljava/lang/Throwable;)V // method@0521 │ │ +023674: 2701 |00b2: throw v1 │ │ catches : 4 │ │ 0x0000 - 0x000f │ │ Ljava/lang/Exception; -> 0x00ac │ │ 0x0020 - 0x006a │ │ Ljava/lang/Exception; -> 0x00a5 │ │ 0x006d - 0x0078 │ │ Ljava/lang/ClassCastException; -> 0x007b │ │ @@ -54550,33 +54550,33 @@ │ │ type : '()Z' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 6 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 32 16-bit code units │ │ -02339c: |[02339c] dnsfilter.remote.RemoteAccessServer$RemoteSession.checkLastConfirmedHeartBeat:()Z │ │ -0233ac: 7100 b105 0000 |0000: invoke-static {}, Ljava/lang/System;.currentTimeMillis:()J // method@05b1 │ │ -0233b2: 0b00 |0003: move-result-wide v0 │ │ -0233b4: 5352 fc02 |0004: iget-wide v2, v5, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.lastHeartBeatConfirm:J // field@02fc │ │ -0233b8: bc20 |0006: sub-long/2addr v0, v2 │ │ -0233ba: 6002 e402 |0007: sget v2, Ldnsfilter/remote/RemoteAccessClient;.READ_TIMEOUT:I // field@02e4 │ │ -0233be: da02 0202 |0009: mul-int/lit8 v2, v2, #int 2 // #02 │ │ -0233c2: 8122 |000b: int-to-long v2, v2 │ │ -0233c4: 3104 0002 |000c: cmp-long v4, v0, v2 │ │ -0233c8: 3d04 1000 |000e: if-lez v4, 001e // +0010 │ │ -0233cc: 7100 2507 0000 |0010: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0725 │ │ -0233d2: 0c00 |0013: move-result-object v0 │ │ -0233d4: 1a01 b401 |0014: const-string v1, "Heartbeat Confirmation not received - Dead Session!" // string@01b4 │ │ -0233d8: 7220 3107 1000 |0016: invoke-interface {v0, v1}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0731 │ │ -0233de: 6e10 9b04 0500 |0019: invoke-virtual {v5}, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.killSession:()V // method@049b │ │ -0233e4: 1200 |001c: const/4 v0, #int 0 // #0 │ │ -0233e6: 0f00 |001d: return v0 │ │ -0233e8: 1210 |001e: const/4 v0, #int 1 // #1 │ │ -0233ea: 0f00 |001f: return v0 │ │ +023398: |[023398] dnsfilter.remote.RemoteAccessServer$RemoteSession.checkLastConfirmedHeartBeat:()Z │ │ +0233a8: 7100 b105 0000 |0000: invoke-static {}, Ljava/lang/System;.currentTimeMillis:()J // method@05b1 │ │ +0233ae: 0b00 |0003: move-result-wide v0 │ │ +0233b0: 5352 fc02 |0004: iget-wide v2, v5, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.lastHeartBeatConfirm:J // field@02fc │ │ +0233b4: bc20 |0006: sub-long/2addr v0, v2 │ │ +0233b6: 6002 e402 |0007: sget v2, Ldnsfilter/remote/RemoteAccessClient;.READ_TIMEOUT:I // field@02e4 │ │ +0233ba: da02 0202 |0009: mul-int/lit8 v2, v2, #int 2 // #02 │ │ +0233be: 8122 |000b: int-to-long v2, v2 │ │ +0233c0: 3104 0002 |000c: cmp-long v4, v0, v2 │ │ +0233c4: 3d04 1000 |000e: if-lez v4, 001e // +0010 │ │ +0233c8: 7100 2507 0000 |0010: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0725 │ │ +0233ce: 0c00 |0013: move-result-object v0 │ │ +0233d0: 1a01 b401 |0014: const-string v1, "Heartbeat Confirmation not received - Dead Session!" // string@01b4 │ │ +0233d4: 7220 3107 1000 |0016: invoke-interface {v0, v1}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0731 │ │ +0233da: 6e10 9b04 0500 |0019: invoke-virtual {v5}, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.killSession:()V // method@049b │ │ +0233e0: 1200 |001c: const/4 v0, #int 0 // #0 │ │ +0233e2: 0f00 |001d: return v0 │ │ +0233e4: 1210 |001e: const/4 v0, #int 1 // #1 │ │ +0233e6: 0f00 |001f: return v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=470 │ │ 0x0007 line=471 │ │ 0x0010 line=472 │ │ 0x0019 line=473 │ │ locals : │ │ @@ -54587,50 +54587,50 @@ │ │ type : '(I)V' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 6 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 66 16-bit code units │ │ -0236b0: |[0236b0] dnsfilter.remote.RemoteAccessServer$RemoteSession.doHeartBeat:(I)V │ │ -0236c0: 5440 fd02 |0000: iget-object v0, v4, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@02fd │ │ -0236c4: 1d00 |0002: monitor-enter v0 │ │ -0236c6: 5441 fd02 |0003: iget-object v1, v4, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@02fd │ │ -0236ca: 1262 |0005: const/4 v2, #int 6 // #6 │ │ -0236cc: 6e20 fd04 2100 |0006: invoke-virtual {v1, v2}, Ljava/io/DataOutputStream;.writeShort:(I)V // method@04fd │ │ -0236d2: 5441 fd02 |0009: iget-object v1, v4, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@02fd │ │ -0236d6: 1202 |000b: const/4 v2, #int 0 // #0 │ │ -0236d8: 6e20 fd04 2100 |000c: invoke-virtual {v1, v2}, Ljava/io/DataOutputStream;.writeShort:(I)V // method@04fd │ │ -0236de: 5441 fd02 |000f: iget-object v1, v4, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@02fd │ │ -0236e2: 6e10 f704 0100 |0011: invoke-virtual {v1}, Ljava/io/DataOutputStream;.flush:()V // method@04f7 │ │ -0236e8: 1e00 |0014: monitor-exit v0 │ │ -0236ea: 7100 b105 0000 |0015: invoke-static {}, Ljava/lang/System;.currentTimeMillis:()J // method@05b1 │ │ -0236f0: 0b00 |0018: move-result-wide v0 │ │ -0236f2: 8152 |0019: int-to-long v2, v5 │ │ -0236f4: bb20 |001a: add-long/2addr v0, v2 │ │ -0236f6: 5a40 0203 |001b: iput-wide v0, v4, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.timeout:J // field@0302 │ │ -0236fa: 7100 8607 0000 |001d: invoke-static {}, Lutil/TimoutNotificator;.getInstance:()Lutil/TimoutNotificator; // method@0786 │ │ -023700: 0c05 |0020: move-result-object v5 │ │ -023702: 6e20 8807 4500 |0021: invoke-virtual {v5, v4}, Lutil/TimoutNotificator;.register:(Lutil/TimeoutListener;)V // method@0788 │ │ -023708: 281d |0024: goto 0041 // +001d │ │ -02370a: 0d05 |0025: move-exception v5 │ │ -02370c: 1e00 |0026: monitor-exit v0 │ │ -02370e: 2705 |0027: throw v5 │ │ -023710: 0d05 |0028: move-exception v5 │ │ -023712: 7100 2507 0000 |0029: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0725 │ │ -023718: 0c00 |002c: move-result-object v0 │ │ -02371a: 2201 2d01 |002d: new-instance v1, Ljava/lang/StringBuilder; // type@012d │ │ -02371e: 1a02 b501 |002f: const-string v2, "Heartbeat failed! " // string@01b5 │ │ -023722: 7020 a805 2100 |0031: invoke-direct {v1, v2}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05a8 │ │ -023728: 6e20 ac05 5100 |0034: invoke-virtual {v1, v5}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@05ac │ │ -02372e: 6e10 af05 0100 |0037: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ -023734: 0c05 |003a: move-result-object v5 │ │ -023736: 7220 3107 5000 |003b: invoke-interface {v0, v5}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0731 │ │ -02373c: 6e10 9b04 0400 |003e: invoke-virtual {v4}, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.killSession:()V // method@049b │ │ -023742: 0e00 |0041: return-void │ │ +0236ac: |[0236ac] dnsfilter.remote.RemoteAccessServer$RemoteSession.doHeartBeat:(I)V │ │ +0236bc: 5440 fd02 |0000: iget-object v0, v4, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@02fd │ │ +0236c0: 1d00 |0002: monitor-enter v0 │ │ +0236c2: 5441 fd02 |0003: iget-object v1, v4, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@02fd │ │ +0236c6: 1262 |0005: const/4 v2, #int 6 // #6 │ │ +0236c8: 6e20 fd04 2100 |0006: invoke-virtual {v1, v2}, Ljava/io/DataOutputStream;.writeShort:(I)V // method@04fd │ │ +0236ce: 5441 fd02 |0009: iget-object v1, v4, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@02fd │ │ +0236d2: 1202 |000b: const/4 v2, #int 0 // #0 │ │ +0236d4: 6e20 fd04 2100 |000c: invoke-virtual {v1, v2}, Ljava/io/DataOutputStream;.writeShort:(I)V // method@04fd │ │ +0236da: 5441 fd02 |000f: iget-object v1, v4, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@02fd │ │ +0236de: 6e10 f704 0100 |0011: invoke-virtual {v1}, Ljava/io/DataOutputStream;.flush:()V // method@04f7 │ │ +0236e4: 1e00 |0014: monitor-exit v0 │ │ +0236e6: 7100 b105 0000 |0015: invoke-static {}, Ljava/lang/System;.currentTimeMillis:()J // method@05b1 │ │ +0236ec: 0b00 |0018: move-result-wide v0 │ │ +0236ee: 8152 |0019: int-to-long v2, v5 │ │ +0236f0: bb20 |001a: add-long/2addr v0, v2 │ │ +0236f2: 5a40 0203 |001b: iput-wide v0, v4, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.timeout:J // field@0302 │ │ +0236f6: 7100 8607 0000 |001d: invoke-static {}, Lutil/TimoutNotificator;.getInstance:()Lutil/TimoutNotificator; // method@0786 │ │ +0236fc: 0c05 |0020: move-result-object v5 │ │ +0236fe: 6e20 8807 4500 |0021: invoke-virtual {v5, v4}, Lutil/TimoutNotificator;.register:(Lutil/TimeoutListener;)V // method@0788 │ │ +023704: 281d |0024: goto 0041 // +001d │ │ +023706: 0d05 |0025: move-exception v5 │ │ +023708: 1e00 |0026: monitor-exit v0 │ │ +02370a: 2705 |0027: throw v5 │ │ +02370c: 0d05 |0028: move-exception v5 │ │ +02370e: 7100 2507 0000 |0029: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0725 │ │ +023714: 0c00 |002c: move-result-object v0 │ │ +023716: 2201 2d01 |002d: new-instance v1, Ljava/lang/StringBuilder; // type@012d │ │ +02371a: 1a02 b501 |002f: const-string v2, "Heartbeat failed! " // string@01b5 │ │ +02371e: 7020 a805 2100 |0031: invoke-direct {v1, v2}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05a8 │ │ +023724: 6e20 ac05 5100 |0034: invoke-virtual {v1, v5}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@05ac │ │ +02372a: 6e10 af05 0100 |0037: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ +023730: 0c05 |003a: move-result-object v5 │ │ +023732: 7220 3107 5000 |003b: invoke-interface {v0, v5}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0731 │ │ +023738: 6e10 9b04 0400 |003e: invoke-virtual {v4}, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.killSession:()V // method@049b │ │ +02373e: 0e00 |0041: return-void │ │ catches : 5 │ │ 0x0000 - 0x0003 │ │ Ljava/io/IOException; -> 0x0028 │ │ 0x0003 - 0x0015 │ │ -> 0x0025 │ │ 0x0015 - 0x0024 │ │ Ljava/io/IOException; -> 0x0028 │ │ @@ -54658,363 +54658,363 @@ │ │ type : '(Ljava/lang/String;)V' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 6 │ │ ins : 2 │ │ outs : 3 │ │ insns size : 753 16-bit code units │ │ -023774: |[023774] dnsfilter.remote.RemoteAccessServer$RemoteSession.executeAction:(Ljava/lang/String;)V │ │ -023784: 1a00 0200 |0000: const-string v0, " │ │ +023770: |[023770] dnsfilter.remote.RemoteAccessServer$RemoteSession.executeAction:(Ljava/lang/String;)V │ │ +023780: 1a00 0200 |0000: const-string v0, " │ │ " // string@0002 │ │ -023788: 1a01 8b04 |0002: const-string v1, "Unknown action: " // string@048b │ │ -02378c: 1a02 4407 |0004: const-string v2, "getConfig()" // string@0744 │ │ -023790: 6e20 8b05 2500 |0006: invoke-virtual {v5, v2}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058b │ │ -023796: 0a02 |0009: move-result v2 │ │ -023798: 1a03 fb03 |000a: const-string v3, "OK │ │ +023784: 1a01 8b04 |0002: const-string v1, "Unknown action: " // string@048b │ │ +023788: 1a02 4407 |0004: const-string v2, "getConfig()" // string@0744 │ │ +02378c: 6e20 8b05 2500 |0006: invoke-virtual {v5, v2}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058b │ │ +023792: 0a02 |0009: move-result v2 │ │ +023794: 1a03 fb03 |000a: const-string v3, "OK │ │ " // string@03fb │ │ -02379c: 3802 2200 |000c: if-eqz v2, 002e // +0022 │ │ -0237a0: 7100 5301 0000 |000e: invoke-static {}, Ldnsfilter/ConfigurationAccess;.getLocal:()Ldnsfilter/ConfigurationAccess; // method@0153 │ │ -0237a6: 0c05 |0011: move-result-object v5 │ │ -0237a8: 6e10 4d01 0500 |0012: invoke-virtual {v5}, Ldnsfilter/ConfigurationAccess;.getConfig:()Ljava/util/Properties; // method@014d │ │ -0237ae: 0c05 |0015: move-result-object v5 │ │ -0237b0: 5441 fd02 |0016: iget-object v1, v4, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@02fd │ │ -0237b4: 6e10 8d05 0300 |0018: invoke-virtual {v3}, Ljava/lang/String;.getBytes:()[B // method@058d │ │ -0237ba: 0c02 |001b: move-result-object v2 │ │ -0237bc: 6e20 f804 2100 |001c: invoke-virtual {v1, v2}, Ljava/io/DataOutputStream;.write:([B)V // method@04f8 │ │ -0237c2: 2201 0401 |001f: new-instance v1, Ljava/io/ObjectOutputStream; // type@0104 │ │ -0237c6: 5442 fd02 |0021: iget-object v2, v4, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@02fd │ │ -0237ca: 7020 2e05 2100 |0023: invoke-direct {v1, v2}, Ljava/io/ObjectOutputStream;.:(Ljava/io/OutputStream;)V // method@052e │ │ -0237d0: 6e20 3105 5100 |0026: invoke-virtual {v1, v5}, Ljava/io/ObjectOutputStream;.writeObject:(Ljava/lang/Object;)V // method@0531 │ │ -0237d6: 6e10 3005 0100 |0029: invoke-virtual {v1}, Ljava/io/ObjectOutputStream;.flush:()V // method@0530 │ │ -0237dc: 2900 c402 |002c: goto/16 02f0 // +02c4 │ │ -0237e0: 1a02 6407 |002e: const-string v2, "getDefaultConfig()" // string@0764 │ │ -0237e4: 6e20 8b05 2500 |0030: invoke-virtual {v5, v2}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058b │ │ -0237ea: 0a02 |0033: move-result v2 │ │ -0237ec: 3802 2200 |0034: if-eqz v2, 0056 // +0022 │ │ -0237f0: 7100 5301 0000 |0036: invoke-static {}, Ldnsfilter/ConfigurationAccess;.getLocal:()Ldnsfilter/ConfigurationAccess; // method@0153 │ │ -0237f6: 0c05 |0039: move-result-object v5 │ │ -0237f8: 6e10 5001 0500 |003a: invoke-virtual {v5}, Ldnsfilter/ConfigurationAccess;.getDefaultConfig:()Ljava/util/Properties; // method@0150 │ │ -0237fe: 0c05 |003d: move-result-object v5 │ │ -023800: 5441 fd02 |003e: iget-object v1, v4, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@02fd │ │ -023804: 6e10 8d05 0300 |0040: invoke-virtual {v3}, Ljava/lang/String;.getBytes:()[B // method@058d │ │ -02380a: 0c02 |0043: move-result-object v2 │ │ -02380c: 6e20 f804 2100 |0044: invoke-virtual {v1, v2}, Ljava/io/DataOutputStream;.write:([B)V // method@04f8 │ │ -023812: 2201 0401 |0047: new-instance v1, Ljava/io/ObjectOutputStream; // type@0104 │ │ -023816: 5442 fd02 |0049: iget-object v2, v4, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@02fd │ │ -02381a: 7020 2e05 2100 |004b: invoke-direct {v1, v2}, Ljava/io/ObjectOutputStream;.:(Ljava/io/OutputStream;)V // method@052e │ │ -023820: 6e20 3105 5100 |004e: invoke-virtual {v1, v5}, Ljava/io/ObjectOutputStream;.writeObject:(Ljava/lang/Object;)V // method@0531 │ │ -023826: 6e10 3005 0100 |0051: invoke-virtual {v1}, Ljava/io/ObjectOutputStream;.flush:()V // method@0530 │ │ -02382c: 2900 9c02 |0054: goto/16 02f0 // +029c │ │ -023830: 1a02 b409 |0056: const-string v2, "readConfig()" // string@09b4 │ │ -023834: 6e20 8b05 2500 |0058: invoke-virtual {v5, v2}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058b │ │ -02383a: 0a02 |005b: move-result v2 │ │ -02383c: 3802 2500 |005c: if-eqz v2, 0081 // +0025 │ │ -023840: 7100 5301 0000 |005e: invoke-static {}, Ldnsfilter/ConfigurationAccess;.getLocal:()Ldnsfilter/ConfigurationAccess; // method@0153 │ │ -023846: 0c05 |0061: move-result-object v5 │ │ -023848: 6e10 5901 0500 |0062: invoke-virtual {v5}, Ldnsfilter/ConfigurationAccess;.readConfig:()[B // method@0159 │ │ -02384e: 0c05 |0065: move-result-object v5 │ │ -023850: 5441 fd02 |0066: iget-object v1, v4, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@02fd │ │ -023854: 6e10 8d05 0300 |0068: invoke-virtual {v3}, Ljava/lang/String;.getBytes:()[B // method@058d │ │ -02385a: 0c02 |006b: move-result-object v2 │ │ -02385c: 6e20 f804 2100 |006c: invoke-virtual {v1, v2}, Ljava/io/DataOutputStream;.write:([B)V // method@04f8 │ │ -023862: 5441 fd02 |006f: iget-object v1, v4, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@02fd │ │ -023866: 2152 |0071: array-length v2, v5 │ │ -023868: 6e20 fb04 2100 |0072: invoke-virtual {v1, v2}, Ljava/io/DataOutputStream;.writeInt:(I)V // method@04fb │ │ -02386e: 5441 fd02 |0075: iget-object v1, v4, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@02fd │ │ -023872: 6e20 f804 5100 |0077: invoke-virtual {v1, v5}, Ljava/io/DataOutputStream;.write:([B)V // method@04f8 │ │ -023878: 5445 fd02 |007a: iget-object v5, v4, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@02fd │ │ -02387c: 6e10 f704 0500 |007c: invoke-virtual {v5}, Ljava/io/DataOutputStream;.flush:()V // method@04f7 │ │ -023882: 2900 7102 |007f: goto/16 02f0 // +0271 │ │ -023886: 1a02 530b |0081: const-string v2, "updateConfig()" // string@0b53 │ │ -02388a: 6e20 8b05 2500 |0083: invoke-virtual {v5, v2}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058b │ │ -023890: 0a02 |0086: move-result v2 │ │ -023892: 3802 2600 |0087: if-eqz v2, 00ad // +0026 │ │ -023896: 5445 fa02 |0089: iget-object v5, v4, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.in:Ljava/io/DataInputStream; // field@02fa │ │ -02389a: 6e10 f204 0500 |008b: invoke-virtual {v5}, Ljava/io/DataInputStream;.readInt:()I // method@04f2 │ │ -0238a0: 0a05 |008e: move-result v5 │ │ -0238a2: 2355 9d01 |008f: new-array v5, v5, [B // type@019d │ │ -0238a6: 5441 fa02 |0091: iget-object v1, v4, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.in:Ljava/io/DataInputStream; // field@02fa │ │ -0238aa: 6e20 f004 5100 |0093: invoke-virtual {v1, v5}, Ljava/io/DataInputStream;.readFully:([B)V // method@04f0 │ │ -0238b0: 7100 5301 0000 |0096: invoke-static {}, Ldnsfilter/ConfigurationAccess;.getLocal:()Ldnsfilter/ConfigurationAccess; // method@0153 │ │ -0238b6: 0c01 |0099: move-result-object v1 │ │ -0238b8: 6e20 6101 5100 |009a: invoke-virtual {v1, v5}, Ldnsfilter/ConfigurationAccess;.updateConfig:([B)V // method@0161 │ │ -0238be: 5445 fd02 |009d: iget-object v5, v4, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@02fd │ │ -0238c2: 6e10 8d05 0300 |009f: invoke-virtual {v3}, Ljava/lang/String;.getBytes:()[B // method@058d │ │ -0238c8: 0c01 |00a2: move-result-object v1 │ │ -0238ca: 6e20 f804 1500 |00a3: invoke-virtual {v5, v1}, Ljava/io/DataOutputStream;.write:([B)V // method@04f8 │ │ -0238d0: 5445 fd02 |00a6: iget-object v5, v4, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@02fd │ │ -0238d4: 6e10 f704 0500 |00a8: invoke-virtual {v5}, Ljava/io/DataOutputStream;.flush:()V // method@04f7 │ │ -0238da: 2900 4502 |00ab: goto/16 02f0 // +0245 │ │ -0238de: 1a02 570b |00ad: const-string v2, "updateConfigMergeDefaults()" // string@0b57 │ │ -0238e2: 6e20 8b05 2500 |00af: invoke-virtual {v5, v2}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058b │ │ -0238e8: 0a02 |00b2: move-result v2 │ │ -0238ea: 3802 2600 |00b3: if-eqz v2, 00d9 // +0026 │ │ -0238ee: 5445 fa02 |00b5: iget-object v5, v4, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.in:Ljava/io/DataInputStream; // field@02fa │ │ -0238f2: 6e10 f204 0500 |00b7: invoke-virtual {v5}, Ljava/io/DataInputStream;.readInt:()I // method@04f2 │ │ -0238f8: 0a05 |00ba: move-result v5 │ │ -0238fa: 2355 9d01 |00bb: new-array v5, v5, [B // type@019d │ │ -0238fe: 5441 fa02 |00bd: iget-object v1, v4, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.in:Ljava/io/DataInputStream; // field@02fa │ │ -023902: 6e20 f004 5100 |00bf: invoke-virtual {v1, v5}, Ljava/io/DataInputStream;.readFully:([B)V // method@04f0 │ │ -023908: 7100 5301 0000 |00c2: invoke-static {}, Ldnsfilter/ConfigurationAccess;.getLocal:()Ldnsfilter/ConfigurationAccess; // method@0153 │ │ -02390e: 0c01 |00c5: move-result-object v1 │ │ -023910: 6e20 6201 5100 |00c6: invoke-virtual {v1, v5}, Ldnsfilter/ConfigurationAccess;.updateConfigMergeDefaults:([B)V // method@0162 │ │ -023916: 5445 fd02 |00c9: iget-object v5, v4, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@02fd │ │ -02391a: 6e10 8d05 0300 |00cb: invoke-virtual {v3}, Ljava/lang/String;.getBytes:()[B // method@058d │ │ -023920: 0c01 |00ce: move-result-object v1 │ │ -023922: 6e20 f804 1500 |00cf: invoke-virtual {v5, v1}, Ljava/io/DataOutputStream;.write:([B)V // method@04f8 │ │ -023928: 5445 fd02 |00d2: iget-object v5, v4, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@02fd │ │ -02392c: 6e10 f704 0500 |00d4: invoke-virtual {v5}, Ljava/io/DataOutputStream;.flush:()V // method@04f7 │ │ -023932: 2900 1902 |00d7: goto/16 02f0 // +0219 │ │ -023936: 1a02 2a07 |00d9: const-string v2, "getAdditionalHosts()" // string@072a │ │ -02393a: 6e20 8b05 2500 |00db: invoke-virtual {v5, v2}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058b │ │ -023940: 0a02 |00de: move-result v2 │ │ -023942: 3802 2b00 |00df: if-eqz v2, 010a // +002b │ │ -023946: 5445 fa02 |00e1: iget-object v5, v4, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.in:Ljava/io/DataInputStream; // field@02fa │ │ -02394a: 6e10 f204 0500 |00e3: invoke-virtual {v5}, Ljava/io/DataInputStream;.readInt:()I // method@04f2 │ │ -023950: 0a05 |00e6: move-result v5 │ │ -023952: 7100 5301 0000 |00e7: invoke-static {}, Ldnsfilter/ConfigurationAccess;.getLocal:()Ldnsfilter/ConfigurationAccess; // method@0153 │ │ -023958: 0c01 |00ea: move-result-object v1 │ │ -02395a: 6e20 4c01 5100 |00eb: invoke-virtual {v1, v5}, Ldnsfilter/ConfigurationAccess;.getAdditionalHosts:(I)[B // method@014c │ │ -023960: 0c05 |00ee: move-result-object v5 │ │ -023962: 5441 fd02 |00ef: iget-object v1, v4, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@02fd │ │ -023966: 6e10 8d05 0300 |00f1: invoke-virtual {v3}, Ljava/lang/String;.getBytes:()[B // method@058d │ │ -02396c: 0c02 |00f4: move-result-object v2 │ │ -02396e: 6e20 f804 2100 |00f5: invoke-virtual {v1, v2}, Ljava/io/DataOutputStream;.write:([B)V // method@04f8 │ │ -023974: 5441 fd02 |00f8: iget-object v1, v4, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@02fd │ │ -023978: 2152 |00fa: array-length v2, v5 │ │ -02397a: 6e20 fb04 2100 |00fb: invoke-virtual {v1, v2}, Ljava/io/DataOutputStream;.writeInt:(I)V // method@04fb │ │ -023980: 5441 fd02 |00fe: iget-object v1, v4, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@02fd │ │ -023984: 6e20 f804 5100 |0100: invoke-virtual {v1, v5}, Ljava/io/DataOutputStream;.write:([B)V // method@04f8 │ │ -02398a: 5445 fd02 |0103: iget-object v5, v4, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@02fd │ │ -02398e: 6e10 f704 0500 |0105: invoke-virtual {v5}, Ljava/io/DataOutputStream;.flush:()V // method@04f7 │ │ -023994: 2900 e801 |0108: goto/16 02f0 // +01e8 │ │ -023998: 1a02 500b |010a: const-string v2, "updateAdditionalHosts()" // string@0b50 │ │ -02399c: 6e20 8b05 2500 |010c: invoke-virtual {v5, v2}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058b │ │ -0239a2: 0a02 |010f: move-result v2 │ │ -0239a4: 3802 2600 |0110: if-eqz v2, 0136 // +0026 │ │ -0239a8: 5445 fa02 |0112: iget-object v5, v4, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.in:Ljava/io/DataInputStream; // field@02fa │ │ -0239ac: 6e10 f204 0500 |0114: invoke-virtual {v5}, Ljava/io/DataInputStream;.readInt:()I // method@04f2 │ │ -0239b2: 0a05 |0117: move-result v5 │ │ -0239b4: 2355 9d01 |0118: new-array v5, v5, [B // type@019d │ │ -0239b8: 5441 fa02 |011a: iget-object v1, v4, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.in:Ljava/io/DataInputStream; // field@02fa │ │ -0239bc: 6e20 f004 5100 |011c: invoke-virtual {v1, v5}, Ljava/io/DataInputStream;.readFully:([B)V // method@04f0 │ │ -0239c2: 7100 5301 0000 |011f: invoke-static {}, Ldnsfilter/ConfigurationAccess;.getLocal:()Ldnsfilter/ConfigurationAccess; // method@0153 │ │ -0239c8: 0c01 |0122: move-result-object v1 │ │ -0239ca: 6e20 6001 5100 |0123: invoke-virtual {v1, v5}, Ldnsfilter/ConfigurationAccess;.updateAdditionalHosts:([B)V // method@0160 │ │ -0239d0: 5445 fd02 |0126: iget-object v5, v4, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@02fd │ │ -0239d4: 6e10 8d05 0300 |0128: invoke-virtual {v3}, Ljava/lang/String;.getBytes:()[B // method@058d │ │ -0239da: 0c01 |012b: move-result-object v1 │ │ -0239dc: 6e20 f804 1500 |012c: invoke-virtual {v5, v1}, Ljava/io/DataOutputStream;.write:([B)V // method@04f8 │ │ -0239e2: 5445 fd02 |012f: iget-object v5, v4, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@02fd │ │ -0239e6: 6e10 f704 0500 |0131: invoke-virtual {v5}, Ljava/io/DataOutputStream;.flush:()V // method@04f7 │ │ -0239ec: 2900 bc01 |0134: goto/16 02f0 // +01bc │ │ -0239f0: 1a02 5b0b |0136: const-string v2, "updateFilter()" // string@0b5b │ │ -0239f4: 6e20 8b05 2500 |0138: invoke-virtual {v5, v2}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058b │ │ -0239fa: 0a02 |013b: move-result v2 │ │ -0239fc: 3802 2f00 |013c: if-eqz v2, 016b // +002f │ │ -023a00: 5445 fa02 |013e: iget-object v5, v4, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.in:Ljava/io/DataInputStream; // field@02fa │ │ -023a04: 7110 9d07 0500 |0140: invoke-static {v5}, Lutil/Utils;.readLineFromStream:(Ljava/io/InputStream;)Ljava/lang/String; // method@079d │ │ -023a0a: 0c05 |0143: move-result-object v5 │ │ -023a0c: 1a01 8c00 |0144: const-string v1, ";" // string@008c │ │ -023a10: 6e30 9505 1500 |0146: invoke-virtual {v5, v1, v0}, Ljava/lang/String;.replace:(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String; // method@0595 │ │ -023a16: 0c05 |0149: move-result-object v5 │ │ -023a18: 5441 fa02 |014a: iget-object v1, v4, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.in:Ljava/io/DataInputStream; // field@02fa │ │ -023a1c: 7110 9d07 0100 |014c: invoke-static {v1}, Lutil/Utils;.readLineFromStream:(Ljava/io/InputStream;)Ljava/lang/String; // method@079d │ │ -023a22: 0c01 |014f: move-result-object v1 │ │ -023a24: 7110 4b05 0100 |0150: invoke-static {v1}, Ljava/lang/Boolean;.parseBoolean:(Ljava/lang/String;)Z // method@054b │ │ -023a2a: 0a01 |0153: move-result v1 │ │ -023a2c: 7100 5301 0000 |0154: invoke-static {}, Ldnsfilter/ConfigurationAccess;.getLocal:()Ldnsfilter/ConfigurationAccess; // method@0153 │ │ -023a32: 0c02 |0157: move-result-object v2 │ │ -023a34: 6e30 6301 5201 |0158: invoke-virtual {v2, v5, v1}, Ldnsfilter/ConfigurationAccess;.updateFilter:(Ljava/lang/String;Z)V // method@0163 │ │ -023a3a: 5445 fd02 |015b: iget-object v5, v4, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@02fd │ │ -023a3e: 6e10 8d05 0300 |015d: invoke-virtual {v3}, Ljava/lang/String;.getBytes:()[B // method@058d │ │ -023a44: 0c01 |0160: move-result-object v1 │ │ -023a46: 6e20 f804 1500 |0161: invoke-virtual {v5, v1}, Ljava/io/DataOutputStream;.write:([B)V // method@04f8 │ │ -023a4c: 5445 fd02 |0164: iget-object v5, v4, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@02fd │ │ -023a50: 6e10 f704 0500 |0166: invoke-virtual {v5}, Ljava/io/DataOutputStream;.flush:()V // method@04f7 │ │ -023a56: 2900 8701 |0169: goto/16 02f0 // +0187 │ │ -023a5a: 1a02 150a |016b: const-string v2, "restart()" // string@0a15 │ │ -023a5e: 6e20 8b05 2500 |016d: invoke-virtual {v5, v2}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058b │ │ -023a64: 0a02 |0170: move-result v2 │ │ -023a66: 3802 1900 |0171: if-eqz v2, 018a // +0019 │ │ -023a6a: 7100 5301 0000 |0173: invoke-static {}, Ldnsfilter/ConfigurationAccess;.getLocal:()Ldnsfilter/ConfigurationAccess; // method@0153 │ │ -023a70: 0c05 |0176: move-result-object v5 │ │ -023a72: 6e10 5c01 0500 |0177: invoke-virtual {v5}, Ldnsfilter/ConfigurationAccess;.restart:()V // method@015c │ │ -023a78: 5445 fd02 |017a: iget-object v5, v4, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@02fd │ │ -023a7c: 6e10 8d05 0300 |017c: invoke-virtual {v3}, Ljava/lang/String;.getBytes:()[B // method@058d │ │ -023a82: 0c01 |017f: move-result-object v1 │ │ -023a84: 6e20 f804 1500 |0180: invoke-virtual {v5, v1}, Ljava/io/DataOutputStream;.write:([B)V // method@04f8 │ │ -023a8a: 5445 fd02 |0183: iget-object v5, v4, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@02fd │ │ -023a8e: 6e10 f704 0500 |0185: invoke-virtual {v5}, Ljava/io/DataOutputStream;.flush:()V // method@04f7 │ │ -023a94: 2900 6801 |0188: goto/16 02f0 // +0168 │ │ -023a98: 1a02 f50a |018a: const-string v2, "stop()" // string@0af5 │ │ -023a9c: 6e20 8b05 2500 |018c: invoke-virtual {v5, v2}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058b │ │ -023aa2: 0a02 |018f: move-result v2 │ │ -023aa4: 3802 1900 |0190: if-eqz v2, 01a9 // +0019 │ │ -023aa8: 7100 5301 0000 |0192: invoke-static {}, Ldnsfilter/ConfigurationAccess;.getLocal:()Ldnsfilter/ConfigurationAccess; // method@0153 │ │ -023aae: 0c05 |0195: move-result-object v5 │ │ -023ab0: 6e10 5d01 0500 |0196: invoke-virtual {v5}, Ldnsfilter/ConfigurationAccess;.stop:()V // method@015d │ │ -023ab6: 5445 fd02 |0199: iget-object v5, v4, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@02fd │ │ -023aba: 6e10 8d05 0300 |019b: invoke-virtual {v3}, Ljava/lang/String;.getBytes:()[B // method@058d │ │ -023ac0: 0c01 |019e: move-result-object v1 │ │ -023ac2: 6e20 f804 1500 |019f: invoke-virtual {v5, v1}, Ljava/io/DataOutputStream;.write:([B)V // method@04f8 │ │ -023ac8: 5445 fd02 |01a2: iget-object v5, v4, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@02fd │ │ -023acc: 6e10 f704 0500 |01a4: invoke-virtual {v5}, Ljava/io/DataOutputStream;.flush:()V // method@04f7 │ │ -023ad2: 2900 4901 |01a7: goto/16 02f0 // +0149 │ │ -023ad6: 1a02 8107 |01a9: const-string v2, "getFilterStatistics()" // string@0781 │ │ -023ada: 6e20 8b05 2500 |01ab: invoke-virtual {v5, v2}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058b │ │ -023ae0: 0a02 |01ae: move-result v2 │ │ -023ae2: 3802 2a00 |01af: if-eqz v2, 01d9 // +002a │ │ -023ae6: 7100 5301 0000 |01b1: invoke-static {}, Ldnsfilter/ConfigurationAccess;.getLocal:()Ldnsfilter/ConfigurationAccess; // method@0153 │ │ -023aec: 0c05 |01b4: move-result-object v5 │ │ -023aee: 6e10 5101 0500 |01b5: invoke-virtual {v5}, Ldnsfilter/ConfigurationAccess;.getFilterStatistics:()[J // method@0151 │ │ -023af4: 0c05 |01b8: move-result-object v5 │ │ -023af6: 5441 fd02 |01b9: iget-object v1, v4, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@02fd │ │ -023afa: 6e10 8d05 0300 |01bb: invoke-virtual {v3}, Ljava/lang/String;.getBytes:()[B // method@058d │ │ -023b00: 0c02 |01be: move-result-object v2 │ │ -023b02: 6e20 f804 2100 |01bf: invoke-virtual {v1, v2}, Ljava/io/DataOutputStream;.write:([B)V // method@04f8 │ │ -023b08: 5441 fd02 |01c2: iget-object v1, v4, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@02fd │ │ -023b0c: 1202 |01c4: const/4 v2, #int 0 // #0 │ │ -023b0e: 4502 0502 |01c5: aget-wide v2, v5, v2 │ │ -023b12: 6e30 fc04 2103 |01c7: invoke-virtual {v1, v2, v3}, Ljava/io/DataOutputStream;.writeLong:(J)V // method@04fc │ │ -023b18: 5441 fd02 |01ca: iget-object v1, v4, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@02fd │ │ -023b1c: 1212 |01cc: const/4 v2, #int 1 // #1 │ │ -023b1e: 4502 0502 |01cd: aget-wide v2, v5, v2 │ │ -023b22: 6e30 fc04 2103 |01cf: invoke-virtual {v1, v2, v3}, Ljava/io/DataOutputStream;.writeLong:(J)V // method@04fc │ │ -023b28: 5445 fd02 |01d2: iget-object v5, v4, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@02fd │ │ -023b2c: 6e10 f704 0500 |01d4: invoke-virtual {v5}, Ljava/io/DataOutputStream;.flush:()V // method@04f7 │ │ -023b32: 2900 1901 |01d7: goto/16 02f0 // +0119 │ │ -023b36: 1a02 400b |01d9: const-string v2, "triggerUpdateFilter()" // string@0b40 │ │ -023b3a: 6e20 8b05 2500 |01db: invoke-virtual {v5, v2}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058b │ │ -023b40: 0a02 |01de: move-result v2 │ │ -023b42: 3802 1900 |01df: if-eqz v2, 01f8 // +0019 │ │ -023b46: 7100 5301 0000 |01e1: invoke-static {}, Ldnsfilter/ConfigurationAccess;.getLocal:()Ldnsfilter/ConfigurationAccess; // method@0153 │ │ -023b4c: 0c05 |01e4: move-result-object v5 │ │ -023b4e: 6e10 5f01 0500 |01e5: invoke-virtual {v5}, Ldnsfilter/ConfigurationAccess;.triggerUpdateFilter:()V // method@015f │ │ -023b54: 5445 fd02 |01e8: iget-object v5, v4, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@02fd │ │ -023b58: 6e10 8d05 0300 |01ea: invoke-virtual {v3}, Ljava/lang/String;.getBytes:()[B // method@058d │ │ -023b5e: 0c01 |01ed: move-result-object v1 │ │ -023b60: 6e20 f804 1500 |01ee: invoke-virtual {v5, v1}, Ljava/io/DataOutputStream;.write:([B)V // method@04f8 │ │ -023b66: 5445 fd02 |01f1: iget-object v5, v4, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@02fd │ │ -023b6a: 6e10 f704 0500 |01f3: invoke-virtual {v5}, Ljava/io/DataOutputStream;.flush:()V // method@04f7 │ │ -023b70: 2900 fa00 |01f6: goto/16 02f0 // +00fa │ │ -023b74: 1a02 8406 |01f8: const-string v2, "doBackup()" // string@0684 │ │ -023b78: 6e20 8b05 2500 |01fa: invoke-virtual {v5, v2}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058b │ │ -023b7e: 0a02 |01fd: move-result v2 │ │ -023b80: 3802 2d00 |01fe: if-eqz v2, 022b // +002d │ │ -023b84: 2205 f700 |0200: new-instance v5, Ljava/io/ByteArrayOutputStream; // type@00f7 │ │ -023b88: 7010 e404 0500 |0202: invoke-direct {v5}, Ljava/io/ByteArrayOutputStream;.:()V // method@04e4 │ │ -023b8e: 7100 5301 0000 |0205: invoke-static {}, Ldnsfilter/ConfigurationAccess;.getLocal:()Ldnsfilter/ConfigurationAccess; // method@0153 │ │ -023b94: 0c01 |0208: move-result-object v1 │ │ -023b96: 6e20 4901 5100 |0209: invoke-virtual {v1, v5}, Ldnsfilter/ConfigurationAccess;.doBackup:(Ljava/io/OutputStream;)V // method@0149 │ │ -023b9c: 5441 fd02 |020c: iget-object v1, v4, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@02fd │ │ -023ba0: 6e10 8d05 0300 |020e: invoke-virtual {v3}, Ljava/lang/String;.getBytes:()[B // method@058d │ │ -023ba6: 0c02 |0211: move-result-object v2 │ │ -023ba8: 6e20 f804 2100 |0212: invoke-virtual {v1, v2}, Ljava/io/DataOutputStream;.write:([B)V // method@04f8 │ │ -023bae: 6e10 ea04 0500 |0215: invoke-virtual {v5}, Ljava/io/ByteArrayOutputStream;.toByteArray:()[B // method@04ea │ │ -023bb4: 0c05 |0218: move-result-object v5 │ │ -023bb6: 5441 fd02 |0219: iget-object v1, v4, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@02fd │ │ -023bba: 2152 |021b: array-length v2, v5 │ │ -023bbc: 6e20 fb04 2100 |021c: invoke-virtual {v1, v2}, Ljava/io/DataOutputStream;.writeInt:(I)V // method@04fb │ │ -023bc2: 5441 fd02 |021f: iget-object v1, v4, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@02fd │ │ -023bc6: 6e20 f804 5100 |0221: invoke-virtual {v1, v5}, Ljava/io/DataOutputStream;.write:([B)V // method@04f8 │ │ -023bcc: 5445 fd02 |0224: iget-object v5, v4, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@02fd │ │ -023bd0: 6e10 f704 0500 |0226: invoke-virtual {v5}, Ljava/io/DataOutputStream;.flush:()V // method@04f7 │ │ -023bd6: 2900 c700 |0229: goto/16 02f0 // +00c7 │ │ -023bda: 1a02 8b06 |022b: const-string v2, "doRestore()" // string@068b │ │ -023bde: 6e20 8b05 2500 |022d: invoke-virtual {v5, v2}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058b │ │ -023be4: 0a02 |0230: move-result v2 │ │ -023be6: 3802 2b00 |0231: if-eqz v2, 025c // +002b │ │ -023bea: 5445 fa02 |0233: iget-object v5, v4, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.in:Ljava/io/DataInputStream; // field@02fa │ │ -023bee: 6e10 f204 0500 |0235: invoke-virtual {v5}, Ljava/io/DataInputStream;.readInt:()I // method@04f2 │ │ -023bf4: 0a05 |0238: move-result v5 │ │ -023bf6: 2355 9d01 |0239: new-array v5, v5, [B // type@019d │ │ -023bfa: 5441 fa02 |023b: iget-object v1, v4, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.in:Ljava/io/DataInputStream; // field@02fa │ │ -023bfe: 6e20 f004 5100 |023d: invoke-virtual {v1, v5}, Ljava/io/DataInputStream;.readFully:([B)V // method@04f0 │ │ -023c04: 7100 5301 0000 |0240: invoke-static {}, Ldnsfilter/ConfigurationAccess;.getLocal:()Ldnsfilter/ConfigurationAccess; // method@0153 │ │ -023c0a: 0c01 |0243: move-result-object v1 │ │ -023c0c: 2202 f600 |0244: new-instance v2, Ljava/io/ByteArrayInputStream; // type@00f6 │ │ -023c10: 7020 df04 5200 |0246: invoke-direct {v2, v5}, Ljava/io/ByteArrayInputStream;.:([B)V // method@04df │ │ -023c16: 6e20 4a01 2100 |0249: invoke-virtual {v1, v2}, Ldnsfilter/ConfigurationAccess;.doRestore:(Ljava/io/InputStream;)V // method@014a │ │ -023c1c: 5445 fd02 |024c: iget-object v5, v4, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@02fd │ │ -023c20: 6e10 8d05 0300 |024e: invoke-virtual {v3}, Ljava/lang/String;.getBytes:()[B // method@058d │ │ -023c26: 0c01 |0251: move-result-object v1 │ │ -023c28: 6e20 f804 1500 |0252: invoke-virtual {v5, v1}, Ljava/io/DataOutputStream;.write:([B)V // method@04f8 │ │ -023c2e: 5445 fd02 |0255: iget-object v5, v4, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@02fd │ │ -023c32: 6e10 f704 0500 |0257: invoke-virtual {v5}, Ljava/io/DataOutputStream;.flush:()V // method@04f7 │ │ -023c38: 2900 9600 |025a: goto/16 02f0 // +0096 │ │ -023c3c: 1a02 8e06 |025c: const-string v2, "doRestoreDefaults()" // string@068e │ │ -023c40: 6e20 8b05 2500 |025e: invoke-virtual {v5, v2}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058b │ │ -023c46: 0a02 |0261: move-result v2 │ │ -023c48: 3802 1800 |0262: if-eqz v2, 027a // +0018 │ │ -023c4c: 7100 5301 0000 |0264: invoke-static {}, Ldnsfilter/ConfigurationAccess;.getLocal:()Ldnsfilter/ConfigurationAccess; // method@0153 │ │ -023c52: 0c05 |0267: move-result-object v5 │ │ -023c54: 6e10 4b01 0500 |0268: invoke-virtual {v5}, Ldnsfilter/ConfigurationAccess;.doRestoreDefaults:()V // method@014b │ │ -023c5a: 5445 fd02 |026b: iget-object v5, v4, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@02fd │ │ -023c5e: 6e10 8d05 0300 |026d: invoke-virtual {v3}, Ljava/lang/String;.getBytes:()[B // method@058d │ │ -023c64: 0c01 |0270: move-result-object v1 │ │ -023c66: 6e20 f804 1500 |0271: invoke-virtual {v5, v1}, Ljava/io/DataOutputStream;.write:([B)V // method@04f8 │ │ -023c6c: 5445 fd02 |0274: iget-object v5, v4, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@02fd │ │ -023c70: 6e10 f704 0500 |0276: invoke-virtual {v5}, Ljava/io/DataOutputStream;.flush:()V // method@04f7 │ │ -023c76: 2877 |0279: goto 02f0 // +0077 │ │ -023c78: 1a02 990b |027a: const-string v2, "wakeLock()" // string@0b99 │ │ -023c7c: 6e20 8b05 2500 |027c: invoke-virtual {v5, v2}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058b │ │ -023c82: 0a02 |027f: move-result v2 │ │ -023c84: 3802 1800 |0280: if-eqz v2, 0298 // +0018 │ │ -023c88: 7100 5301 0000 |0282: invoke-static {}, Ldnsfilter/ConfigurationAccess;.getLocal:()Ldnsfilter/ConfigurationAccess; // method@0153 │ │ -023c8e: 0c05 |0285: move-result-object v5 │ │ -023c90: 6e10 6401 0500 |0286: invoke-virtual {v5}, Ldnsfilter/ConfigurationAccess;.wakeLock:()V // method@0164 │ │ -023c96: 5445 fd02 |0289: iget-object v5, v4, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@02fd │ │ -023c9a: 6e10 8d05 0300 |028b: invoke-virtual {v3}, Ljava/lang/String;.getBytes:()[B // method@058d │ │ -023ca0: 0c01 |028e: move-result-object v1 │ │ -023ca2: 6e20 f804 1500 |028f: invoke-virtual {v5, v1}, Ljava/io/DataOutputStream;.write:([B)V // method@04f8 │ │ -023ca8: 5445 fd02 |0292: iget-object v5, v4, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@02fd │ │ -023cac: 6e10 f704 0500 |0294: invoke-virtual {v5}, Ljava/io/DataOutputStream;.flush:()V // method@04f7 │ │ -023cb2: 2859 |0297: goto 02f0 // +0059 │ │ -023cb4: 1a02 d709 |0298: const-string v2, "releaseWakeLock()" // string@09d7 │ │ -023cb8: 6e20 8b05 2500 |029a: invoke-virtual {v5, v2}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058b │ │ -023cbe: 0a02 |029d: move-result v2 │ │ -023cc0: 3802 1800 |029e: if-eqz v2, 02b6 // +0018 │ │ -023cc4: 7100 5301 0000 |02a0: invoke-static {}, Ldnsfilter/ConfigurationAccess;.getLocal:()Ldnsfilter/ConfigurationAccess; // method@0153 │ │ -023cca: 0c05 |02a3: move-result-object v5 │ │ -023ccc: 6e10 5b01 0500 |02a4: invoke-virtual {v5}, Ldnsfilter/ConfigurationAccess;.releaseWakeLock:()V // method@015b │ │ -023cd2: 5445 fd02 |02a7: iget-object v5, v4, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@02fd │ │ -023cd6: 6e10 8d05 0300 |02a9: invoke-virtual {v3}, Ljava/lang/String;.getBytes:()[B // method@058d │ │ -023cdc: 0c01 |02ac: move-result-object v1 │ │ -023cde: 6e20 f804 1500 |02ad: invoke-virtual {v5, v1}, Ljava/io/DataOutputStream;.write:([B)V // method@04f8 │ │ -023ce4: 5445 fd02 |02b0: iget-object v5, v4, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@02fd │ │ -023ce8: 6e10 f704 0500 |02b2: invoke-virtual {v5}, Ljava/io/DataOutputStream;.flush:()V // method@04f7 │ │ -023cee: 283b |02b5: goto 02f0 // +003b │ │ -023cf0: 2202 8200 |02b6: new-instance v2, Ldnsfilter/ConfigurationAccess$ConfigurationAccessException; // type@0082 │ │ -023cf4: 2203 2d01 |02b8: new-instance v3, Ljava/lang/StringBuilder; // type@012d │ │ -023cf8: 7020 a805 1300 |02ba: invoke-direct {v3, v1}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05a8 │ │ -023cfe: 6e20 ad05 5300 |02bd: invoke-virtual {v3, v5}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -023d04: 6e10 af05 0300 |02c0: invoke-virtual {v3}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ -023d0a: 0c05 |02c3: move-result-object v5 │ │ -023d0c: 7020 4401 5200 |02c4: invoke-direct {v2, v5}, Ldnsfilter/ConfigurationAccess$ConfigurationAccessException;.:(Ljava/lang/String;)V // method@0144 │ │ -023d12: 2702 |02c7: throw v2 │ │ -023d14: 0d05 |02c8: move-exception v5 │ │ -023d16: 5441 fd02 |02c9: iget-object v1, v4, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@02fd │ │ -023d1a: 2202 2d01 |02cb: new-instance v2, Ljava/lang/StringBuilder; // type@012d │ │ -023d1e: 7010 a705 0200 |02cd: invoke-direct {v2}, Ljava/lang/StringBuilder;.:()V // method@05a7 │ │ -023d24: 6e10 4601 0500 |02d0: invoke-virtual {v5}, Ldnsfilter/ConfigurationAccess$ConfigurationAccessException;.getMessage:()Ljava/lang/String; // method@0146 │ │ -023d2a: 0c05 |02d3: move-result-object v5 │ │ -023d2c: 1a03 0100 |02d4: const-string v3, " " // string@0001 │ │ -023d30: 6e30 9505 0503 |02d6: invoke-virtual {v5, v0, v3}, Ljava/lang/String;.replace:(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String; // method@0595 │ │ -023d36: 0c05 |02d9: move-result-object v5 │ │ -023d38: 6e20 ad05 5200 |02da: invoke-virtual {v2, v5}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -023d3e: 6e20 ad05 0200 |02dd: invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -023d44: 6e10 af05 0200 |02e0: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ -023d4a: 0c05 |02e3: move-result-object v5 │ │ -023d4c: 6e10 8d05 0500 |02e4: invoke-virtual {v5}, Ljava/lang/String;.getBytes:()[B // method@058d │ │ -023d52: 0c05 |02e7: move-result-object v5 │ │ -023d54: 6e20 f804 5100 |02e8: invoke-virtual {v1, v5}, Ljava/io/DataOutputStream;.write:([B)V // method@04f8 │ │ -023d5a: 5445 fd02 |02eb: iget-object v5, v4, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@02fd │ │ -023d5e: 6e10 f704 0500 |02ed: invoke-virtual {v5}, Ljava/io/DataOutputStream;.flush:()V // method@04f7 │ │ -023d64: 0e00 |02f0: return-void │ │ +023798: 3802 2200 |000c: if-eqz v2, 002e // +0022 │ │ +02379c: 7100 5301 0000 |000e: invoke-static {}, Ldnsfilter/ConfigurationAccess;.getLocal:()Ldnsfilter/ConfigurationAccess; // method@0153 │ │ +0237a2: 0c05 |0011: move-result-object v5 │ │ +0237a4: 6e10 4d01 0500 |0012: invoke-virtual {v5}, Ldnsfilter/ConfigurationAccess;.getConfig:()Ljava/util/Properties; // method@014d │ │ +0237aa: 0c05 |0015: move-result-object v5 │ │ +0237ac: 5441 fd02 |0016: iget-object v1, v4, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@02fd │ │ +0237b0: 6e10 8d05 0300 |0018: invoke-virtual {v3}, Ljava/lang/String;.getBytes:()[B // method@058d │ │ +0237b6: 0c02 |001b: move-result-object v2 │ │ +0237b8: 6e20 f804 2100 |001c: invoke-virtual {v1, v2}, Ljava/io/DataOutputStream;.write:([B)V // method@04f8 │ │ +0237be: 2201 0401 |001f: new-instance v1, Ljava/io/ObjectOutputStream; // type@0104 │ │ +0237c2: 5442 fd02 |0021: iget-object v2, v4, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@02fd │ │ +0237c6: 7020 2e05 2100 |0023: invoke-direct {v1, v2}, Ljava/io/ObjectOutputStream;.:(Ljava/io/OutputStream;)V // method@052e │ │ +0237cc: 6e20 3105 5100 |0026: invoke-virtual {v1, v5}, Ljava/io/ObjectOutputStream;.writeObject:(Ljava/lang/Object;)V // method@0531 │ │ +0237d2: 6e10 3005 0100 |0029: invoke-virtual {v1}, Ljava/io/ObjectOutputStream;.flush:()V // method@0530 │ │ +0237d8: 2900 c402 |002c: goto/16 02f0 // +02c4 │ │ +0237dc: 1a02 6407 |002e: const-string v2, "getDefaultConfig()" // string@0764 │ │ +0237e0: 6e20 8b05 2500 |0030: invoke-virtual {v5, v2}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058b │ │ +0237e6: 0a02 |0033: move-result v2 │ │ +0237e8: 3802 2200 |0034: if-eqz v2, 0056 // +0022 │ │ +0237ec: 7100 5301 0000 |0036: invoke-static {}, Ldnsfilter/ConfigurationAccess;.getLocal:()Ldnsfilter/ConfigurationAccess; // method@0153 │ │ +0237f2: 0c05 |0039: move-result-object v5 │ │ +0237f4: 6e10 5001 0500 |003a: invoke-virtual {v5}, Ldnsfilter/ConfigurationAccess;.getDefaultConfig:()Ljava/util/Properties; // method@0150 │ │ +0237fa: 0c05 |003d: move-result-object v5 │ │ +0237fc: 5441 fd02 |003e: iget-object v1, v4, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@02fd │ │ +023800: 6e10 8d05 0300 |0040: invoke-virtual {v3}, Ljava/lang/String;.getBytes:()[B // method@058d │ │ +023806: 0c02 |0043: move-result-object v2 │ │ +023808: 6e20 f804 2100 |0044: invoke-virtual {v1, v2}, Ljava/io/DataOutputStream;.write:([B)V // method@04f8 │ │ +02380e: 2201 0401 |0047: new-instance v1, Ljava/io/ObjectOutputStream; // type@0104 │ │ +023812: 5442 fd02 |0049: iget-object v2, v4, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@02fd │ │ +023816: 7020 2e05 2100 |004b: invoke-direct {v1, v2}, Ljava/io/ObjectOutputStream;.:(Ljava/io/OutputStream;)V // method@052e │ │ +02381c: 6e20 3105 5100 |004e: invoke-virtual {v1, v5}, Ljava/io/ObjectOutputStream;.writeObject:(Ljava/lang/Object;)V // method@0531 │ │ +023822: 6e10 3005 0100 |0051: invoke-virtual {v1}, Ljava/io/ObjectOutputStream;.flush:()V // method@0530 │ │ +023828: 2900 9c02 |0054: goto/16 02f0 // +029c │ │ +02382c: 1a02 b409 |0056: const-string v2, "readConfig()" // string@09b4 │ │ +023830: 6e20 8b05 2500 |0058: invoke-virtual {v5, v2}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058b │ │ +023836: 0a02 |005b: move-result v2 │ │ +023838: 3802 2500 |005c: if-eqz v2, 0081 // +0025 │ │ +02383c: 7100 5301 0000 |005e: invoke-static {}, Ldnsfilter/ConfigurationAccess;.getLocal:()Ldnsfilter/ConfigurationAccess; // method@0153 │ │ +023842: 0c05 |0061: move-result-object v5 │ │ +023844: 6e10 5901 0500 |0062: invoke-virtual {v5}, Ldnsfilter/ConfigurationAccess;.readConfig:()[B // method@0159 │ │ +02384a: 0c05 |0065: move-result-object v5 │ │ +02384c: 5441 fd02 |0066: iget-object v1, v4, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@02fd │ │ +023850: 6e10 8d05 0300 |0068: invoke-virtual {v3}, Ljava/lang/String;.getBytes:()[B // method@058d │ │ +023856: 0c02 |006b: move-result-object v2 │ │ +023858: 6e20 f804 2100 |006c: invoke-virtual {v1, v2}, Ljava/io/DataOutputStream;.write:([B)V // method@04f8 │ │ +02385e: 5441 fd02 |006f: iget-object v1, v4, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@02fd │ │ +023862: 2152 |0071: array-length v2, v5 │ │ +023864: 6e20 fb04 2100 |0072: invoke-virtual {v1, v2}, Ljava/io/DataOutputStream;.writeInt:(I)V // method@04fb │ │ +02386a: 5441 fd02 |0075: iget-object v1, v4, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@02fd │ │ +02386e: 6e20 f804 5100 |0077: invoke-virtual {v1, v5}, Ljava/io/DataOutputStream;.write:([B)V // method@04f8 │ │ +023874: 5445 fd02 |007a: iget-object v5, v4, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@02fd │ │ +023878: 6e10 f704 0500 |007c: invoke-virtual {v5}, Ljava/io/DataOutputStream;.flush:()V // method@04f7 │ │ +02387e: 2900 7102 |007f: goto/16 02f0 // +0271 │ │ +023882: 1a02 530b |0081: const-string v2, "updateConfig()" // string@0b53 │ │ +023886: 6e20 8b05 2500 |0083: invoke-virtual {v5, v2}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058b │ │ +02388c: 0a02 |0086: move-result v2 │ │ +02388e: 3802 2600 |0087: if-eqz v2, 00ad // +0026 │ │ +023892: 5445 fa02 |0089: iget-object v5, v4, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.in:Ljava/io/DataInputStream; // field@02fa │ │ +023896: 6e10 f204 0500 |008b: invoke-virtual {v5}, Ljava/io/DataInputStream;.readInt:()I // method@04f2 │ │ +02389c: 0a05 |008e: move-result v5 │ │ +02389e: 2355 9d01 |008f: new-array v5, v5, [B // type@019d │ │ +0238a2: 5441 fa02 |0091: iget-object v1, v4, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.in:Ljava/io/DataInputStream; // field@02fa │ │ +0238a6: 6e20 f004 5100 |0093: invoke-virtual {v1, v5}, Ljava/io/DataInputStream;.readFully:([B)V // method@04f0 │ │ +0238ac: 7100 5301 0000 |0096: invoke-static {}, Ldnsfilter/ConfigurationAccess;.getLocal:()Ldnsfilter/ConfigurationAccess; // method@0153 │ │ +0238b2: 0c01 |0099: move-result-object v1 │ │ +0238b4: 6e20 6101 5100 |009a: invoke-virtual {v1, v5}, Ldnsfilter/ConfigurationAccess;.updateConfig:([B)V // method@0161 │ │ +0238ba: 5445 fd02 |009d: iget-object v5, v4, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@02fd │ │ +0238be: 6e10 8d05 0300 |009f: invoke-virtual {v3}, Ljava/lang/String;.getBytes:()[B // method@058d │ │ +0238c4: 0c01 |00a2: move-result-object v1 │ │ +0238c6: 6e20 f804 1500 |00a3: invoke-virtual {v5, v1}, Ljava/io/DataOutputStream;.write:([B)V // method@04f8 │ │ +0238cc: 5445 fd02 |00a6: iget-object v5, v4, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@02fd │ │ +0238d0: 6e10 f704 0500 |00a8: invoke-virtual {v5}, Ljava/io/DataOutputStream;.flush:()V // method@04f7 │ │ +0238d6: 2900 4502 |00ab: goto/16 02f0 // +0245 │ │ +0238da: 1a02 570b |00ad: const-string v2, "updateConfigMergeDefaults()" // string@0b57 │ │ +0238de: 6e20 8b05 2500 |00af: invoke-virtual {v5, v2}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058b │ │ +0238e4: 0a02 |00b2: move-result v2 │ │ +0238e6: 3802 2600 |00b3: if-eqz v2, 00d9 // +0026 │ │ +0238ea: 5445 fa02 |00b5: iget-object v5, v4, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.in:Ljava/io/DataInputStream; // field@02fa │ │ +0238ee: 6e10 f204 0500 |00b7: invoke-virtual {v5}, Ljava/io/DataInputStream;.readInt:()I // method@04f2 │ │ +0238f4: 0a05 |00ba: move-result v5 │ │ +0238f6: 2355 9d01 |00bb: new-array v5, v5, [B // type@019d │ │ +0238fa: 5441 fa02 |00bd: iget-object v1, v4, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.in:Ljava/io/DataInputStream; // field@02fa │ │ +0238fe: 6e20 f004 5100 |00bf: invoke-virtual {v1, v5}, Ljava/io/DataInputStream;.readFully:([B)V // method@04f0 │ │ +023904: 7100 5301 0000 |00c2: invoke-static {}, Ldnsfilter/ConfigurationAccess;.getLocal:()Ldnsfilter/ConfigurationAccess; // method@0153 │ │ +02390a: 0c01 |00c5: move-result-object v1 │ │ +02390c: 6e20 6201 5100 |00c6: invoke-virtual {v1, v5}, Ldnsfilter/ConfigurationAccess;.updateConfigMergeDefaults:([B)V // method@0162 │ │ +023912: 5445 fd02 |00c9: iget-object v5, v4, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@02fd │ │ +023916: 6e10 8d05 0300 |00cb: invoke-virtual {v3}, Ljava/lang/String;.getBytes:()[B // method@058d │ │ +02391c: 0c01 |00ce: move-result-object v1 │ │ +02391e: 6e20 f804 1500 |00cf: invoke-virtual {v5, v1}, Ljava/io/DataOutputStream;.write:([B)V // method@04f8 │ │ +023924: 5445 fd02 |00d2: iget-object v5, v4, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@02fd │ │ +023928: 6e10 f704 0500 |00d4: invoke-virtual {v5}, Ljava/io/DataOutputStream;.flush:()V // method@04f7 │ │ +02392e: 2900 1902 |00d7: goto/16 02f0 // +0219 │ │ +023932: 1a02 2a07 |00d9: const-string v2, "getAdditionalHosts()" // string@072a │ │ +023936: 6e20 8b05 2500 |00db: invoke-virtual {v5, v2}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058b │ │ +02393c: 0a02 |00de: move-result v2 │ │ +02393e: 3802 2b00 |00df: if-eqz v2, 010a // +002b │ │ +023942: 5445 fa02 |00e1: iget-object v5, v4, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.in:Ljava/io/DataInputStream; // field@02fa │ │ +023946: 6e10 f204 0500 |00e3: invoke-virtual {v5}, Ljava/io/DataInputStream;.readInt:()I // method@04f2 │ │ +02394c: 0a05 |00e6: move-result v5 │ │ +02394e: 7100 5301 0000 |00e7: invoke-static {}, Ldnsfilter/ConfigurationAccess;.getLocal:()Ldnsfilter/ConfigurationAccess; // method@0153 │ │ +023954: 0c01 |00ea: move-result-object v1 │ │ +023956: 6e20 4c01 5100 |00eb: invoke-virtual {v1, v5}, Ldnsfilter/ConfigurationAccess;.getAdditionalHosts:(I)[B // method@014c │ │ +02395c: 0c05 |00ee: move-result-object v5 │ │ +02395e: 5441 fd02 |00ef: iget-object v1, v4, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@02fd │ │ +023962: 6e10 8d05 0300 |00f1: invoke-virtual {v3}, Ljava/lang/String;.getBytes:()[B // method@058d │ │ +023968: 0c02 |00f4: move-result-object v2 │ │ +02396a: 6e20 f804 2100 |00f5: invoke-virtual {v1, v2}, Ljava/io/DataOutputStream;.write:([B)V // method@04f8 │ │ +023970: 5441 fd02 |00f8: iget-object v1, v4, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@02fd │ │ +023974: 2152 |00fa: array-length v2, v5 │ │ +023976: 6e20 fb04 2100 |00fb: invoke-virtual {v1, v2}, Ljava/io/DataOutputStream;.writeInt:(I)V // method@04fb │ │ +02397c: 5441 fd02 |00fe: iget-object v1, v4, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@02fd │ │ +023980: 6e20 f804 5100 |0100: invoke-virtual {v1, v5}, Ljava/io/DataOutputStream;.write:([B)V // method@04f8 │ │ +023986: 5445 fd02 |0103: iget-object v5, v4, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@02fd │ │ +02398a: 6e10 f704 0500 |0105: invoke-virtual {v5}, Ljava/io/DataOutputStream;.flush:()V // method@04f7 │ │ +023990: 2900 e801 |0108: goto/16 02f0 // +01e8 │ │ +023994: 1a02 500b |010a: const-string v2, "updateAdditionalHosts()" // string@0b50 │ │ +023998: 6e20 8b05 2500 |010c: invoke-virtual {v5, v2}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058b │ │ +02399e: 0a02 |010f: move-result v2 │ │ +0239a0: 3802 2600 |0110: if-eqz v2, 0136 // +0026 │ │ +0239a4: 5445 fa02 |0112: iget-object v5, v4, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.in:Ljava/io/DataInputStream; // field@02fa │ │ +0239a8: 6e10 f204 0500 |0114: invoke-virtual {v5}, Ljava/io/DataInputStream;.readInt:()I // method@04f2 │ │ +0239ae: 0a05 |0117: move-result v5 │ │ +0239b0: 2355 9d01 |0118: new-array v5, v5, [B // type@019d │ │ +0239b4: 5441 fa02 |011a: iget-object v1, v4, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.in:Ljava/io/DataInputStream; // field@02fa │ │ +0239b8: 6e20 f004 5100 |011c: invoke-virtual {v1, v5}, Ljava/io/DataInputStream;.readFully:([B)V // method@04f0 │ │ +0239be: 7100 5301 0000 |011f: invoke-static {}, Ldnsfilter/ConfigurationAccess;.getLocal:()Ldnsfilter/ConfigurationAccess; // method@0153 │ │ +0239c4: 0c01 |0122: move-result-object v1 │ │ +0239c6: 6e20 6001 5100 |0123: invoke-virtual {v1, v5}, Ldnsfilter/ConfigurationAccess;.updateAdditionalHosts:([B)V // method@0160 │ │ +0239cc: 5445 fd02 |0126: iget-object v5, v4, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@02fd │ │ +0239d0: 6e10 8d05 0300 |0128: invoke-virtual {v3}, Ljava/lang/String;.getBytes:()[B // method@058d │ │ +0239d6: 0c01 |012b: move-result-object v1 │ │ +0239d8: 6e20 f804 1500 |012c: invoke-virtual {v5, v1}, Ljava/io/DataOutputStream;.write:([B)V // method@04f8 │ │ +0239de: 5445 fd02 |012f: iget-object v5, v4, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@02fd │ │ +0239e2: 6e10 f704 0500 |0131: invoke-virtual {v5}, Ljava/io/DataOutputStream;.flush:()V // method@04f7 │ │ +0239e8: 2900 bc01 |0134: goto/16 02f0 // +01bc │ │ +0239ec: 1a02 5b0b |0136: const-string v2, "updateFilter()" // string@0b5b │ │ +0239f0: 6e20 8b05 2500 |0138: invoke-virtual {v5, v2}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058b │ │ +0239f6: 0a02 |013b: move-result v2 │ │ +0239f8: 3802 2f00 |013c: if-eqz v2, 016b // +002f │ │ +0239fc: 5445 fa02 |013e: iget-object v5, v4, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.in:Ljava/io/DataInputStream; // field@02fa │ │ +023a00: 7110 9d07 0500 |0140: invoke-static {v5}, Lutil/Utils;.readLineFromStream:(Ljava/io/InputStream;)Ljava/lang/String; // method@079d │ │ +023a06: 0c05 |0143: move-result-object v5 │ │ +023a08: 1a01 8c00 |0144: const-string v1, ";" // string@008c │ │ +023a0c: 6e30 9505 1500 |0146: invoke-virtual {v5, v1, v0}, Ljava/lang/String;.replace:(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String; // method@0595 │ │ +023a12: 0c05 |0149: move-result-object v5 │ │ +023a14: 5441 fa02 |014a: iget-object v1, v4, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.in:Ljava/io/DataInputStream; // field@02fa │ │ +023a18: 7110 9d07 0100 |014c: invoke-static {v1}, Lutil/Utils;.readLineFromStream:(Ljava/io/InputStream;)Ljava/lang/String; // method@079d │ │ +023a1e: 0c01 |014f: move-result-object v1 │ │ +023a20: 7110 4b05 0100 |0150: invoke-static {v1}, Ljava/lang/Boolean;.parseBoolean:(Ljava/lang/String;)Z // method@054b │ │ +023a26: 0a01 |0153: move-result v1 │ │ +023a28: 7100 5301 0000 |0154: invoke-static {}, Ldnsfilter/ConfigurationAccess;.getLocal:()Ldnsfilter/ConfigurationAccess; // method@0153 │ │ +023a2e: 0c02 |0157: move-result-object v2 │ │ +023a30: 6e30 6301 5201 |0158: invoke-virtual {v2, v5, v1}, Ldnsfilter/ConfigurationAccess;.updateFilter:(Ljava/lang/String;Z)V // method@0163 │ │ +023a36: 5445 fd02 |015b: iget-object v5, v4, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@02fd │ │ +023a3a: 6e10 8d05 0300 |015d: invoke-virtual {v3}, Ljava/lang/String;.getBytes:()[B // method@058d │ │ +023a40: 0c01 |0160: move-result-object v1 │ │ +023a42: 6e20 f804 1500 |0161: invoke-virtual {v5, v1}, Ljava/io/DataOutputStream;.write:([B)V // method@04f8 │ │ +023a48: 5445 fd02 |0164: iget-object v5, v4, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@02fd │ │ +023a4c: 6e10 f704 0500 |0166: invoke-virtual {v5}, Ljava/io/DataOutputStream;.flush:()V // method@04f7 │ │ +023a52: 2900 8701 |0169: goto/16 02f0 // +0187 │ │ +023a56: 1a02 150a |016b: const-string v2, "restart()" // string@0a15 │ │ +023a5a: 6e20 8b05 2500 |016d: invoke-virtual {v5, v2}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058b │ │ +023a60: 0a02 |0170: move-result v2 │ │ +023a62: 3802 1900 |0171: if-eqz v2, 018a // +0019 │ │ +023a66: 7100 5301 0000 |0173: invoke-static {}, Ldnsfilter/ConfigurationAccess;.getLocal:()Ldnsfilter/ConfigurationAccess; // method@0153 │ │ +023a6c: 0c05 |0176: move-result-object v5 │ │ +023a6e: 6e10 5c01 0500 |0177: invoke-virtual {v5}, Ldnsfilter/ConfigurationAccess;.restart:()V // method@015c │ │ +023a74: 5445 fd02 |017a: iget-object v5, v4, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@02fd │ │ +023a78: 6e10 8d05 0300 |017c: invoke-virtual {v3}, Ljava/lang/String;.getBytes:()[B // method@058d │ │ +023a7e: 0c01 |017f: move-result-object v1 │ │ +023a80: 6e20 f804 1500 |0180: invoke-virtual {v5, v1}, Ljava/io/DataOutputStream;.write:([B)V // method@04f8 │ │ +023a86: 5445 fd02 |0183: iget-object v5, v4, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@02fd │ │ +023a8a: 6e10 f704 0500 |0185: invoke-virtual {v5}, Ljava/io/DataOutputStream;.flush:()V // method@04f7 │ │ +023a90: 2900 6801 |0188: goto/16 02f0 // +0168 │ │ +023a94: 1a02 f50a |018a: const-string v2, "stop()" // string@0af5 │ │ +023a98: 6e20 8b05 2500 |018c: invoke-virtual {v5, v2}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058b │ │ +023a9e: 0a02 |018f: move-result v2 │ │ +023aa0: 3802 1900 |0190: if-eqz v2, 01a9 // +0019 │ │ +023aa4: 7100 5301 0000 |0192: invoke-static {}, Ldnsfilter/ConfigurationAccess;.getLocal:()Ldnsfilter/ConfigurationAccess; // method@0153 │ │ +023aaa: 0c05 |0195: move-result-object v5 │ │ +023aac: 6e10 5d01 0500 |0196: invoke-virtual {v5}, Ldnsfilter/ConfigurationAccess;.stop:()V // method@015d │ │ +023ab2: 5445 fd02 |0199: iget-object v5, v4, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@02fd │ │ +023ab6: 6e10 8d05 0300 |019b: invoke-virtual {v3}, Ljava/lang/String;.getBytes:()[B // method@058d │ │ +023abc: 0c01 |019e: move-result-object v1 │ │ +023abe: 6e20 f804 1500 |019f: invoke-virtual {v5, v1}, Ljava/io/DataOutputStream;.write:([B)V // method@04f8 │ │ +023ac4: 5445 fd02 |01a2: iget-object v5, v4, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@02fd │ │ +023ac8: 6e10 f704 0500 |01a4: invoke-virtual {v5}, Ljava/io/DataOutputStream;.flush:()V // method@04f7 │ │ +023ace: 2900 4901 |01a7: goto/16 02f0 // +0149 │ │ +023ad2: 1a02 8107 |01a9: const-string v2, "getFilterStatistics()" // string@0781 │ │ +023ad6: 6e20 8b05 2500 |01ab: invoke-virtual {v5, v2}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058b │ │ +023adc: 0a02 |01ae: move-result v2 │ │ +023ade: 3802 2a00 |01af: if-eqz v2, 01d9 // +002a │ │ +023ae2: 7100 5301 0000 |01b1: invoke-static {}, Ldnsfilter/ConfigurationAccess;.getLocal:()Ldnsfilter/ConfigurationAccess; // method@0153 │ │ +023ae8: 0c05 |01b4: move-result-object v5 │ │ +023aea: 6e10 5101 0500 |01b5: invoke-virtual {v5}, Ldnsfilter/ConfigurationAccess;.getFilterStatistics:()[J // method@0151 │ │ +023af0: 0c05 |01b8: move-result-object v5 │ │ +023af2: 5441 fd02 |01b9: iget-object v1, v4, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@02fd │ │ +023af6: 6e10 8d05 0300 |01bb: invoke-virtual {v3}, Ljava/lang/String;.getBytes:()[B // method@058d │ │ +023afc: 0c02 |01be: move-result-object v2 │ │ +023afe: 6e20 f804 2100 |01bf: invoke-virtual {v1, v2}, Ljava/io/DataOutputStream;.write:([B)V // method@04f8 │ │ +023b04: 5441 fd02 |01c2: iget-object v1, v4, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@02fd │ │ +023b08: 1202 |01c4: const/4 v2, #int 0 // #0 │ │ +023b0a: 4502 0502 |01c5: aget-wide v2, v5, v2 │ │ +023b0e: 6e30 fc04 2103 |01c7: invoke-virtual {v1, v2, v3}, Ljava/io/DataOutputStream;.writeLong:(J)V // method@04fc │ │ +023b14: 5441 fd02 |01ca: iget-object v1, v4, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@02fd │ │ +023b18: 1212 |01cc: const/4 v2, #int 1 // #1 │ │ +023b1a: 4502 0502 |01cd: aget-wide v2, v5, v2 │ │ +023b1e: 6e30 fc04 2103 |01cf: invoke-virtual {v1, v2, v3}, Ljava/io/DataOutputStream;.writeLong:(J)V // method@04fc │ │ +023b24: 5445 fd02 |01d2: iget-object v5, v4, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@02fd │ │ +023b28: 6e10 f704 0500 |01d4: invoke-virtual {v5}, Ljava/io/DataOutputStream;.flush:()V // method@04f7 │ │ +023b2e: 2900 1901 |01d7: goto/16 02f0 // +0119 │ │ +023b32: 1a02 400b |01d9: const-string v2, "triggerUpdateFilter()" // string@0b40 │ │ +023b36: 6e20 8b05 2500 |01db: invoke-virtual {v5, v2}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058b │ │ +023b3c: 0a02 |01de: move-result v2 │ │ +023b3e: 3802 1900 |01df: if-eqz v2, 01f8 // +0019 │ │ +023b42: 7100 5301 0000 |01e1: invoke-static {}, Ldnsfilter/ConfigurationAccess;.getLocal:()Ldnsfilter/ConfigurationAccess; // method@0153 │ │ +023b48: 0c05 |01e4: move-result-object v5 │ │ +023b4a: 6e10 5f01 0500 |01e5: invoke-virtual {v5}, Ldnsfilter/ConfigurationAccess;.triggerUpdateFilter:()V // method@015f │ │ +023b50: 5445 fd02 |01e8: iget-object v5, v4, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@02fd │ │ +023b54: 6e10 8d05 0300 |01ea: invoke-virtual {v3}, Ljava/lang/String;.getBytes:()[B // method@058d │ │ +023b5a: 0c01 |01ed: move-result-object v1 │ │ +023b5c: 6e20 f804 1500 |01ee: invoke-virtual {v5, v1}, Ljava/io/DataOutputStream;.write:([B)V // method@04f8 │ │ +023b62: 5445 fd02 |01f1: iget-object v5, v4, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@02fd │ │ +023b66: 6e10 f704 0500 |01f3: invoke-virtual {v5}, Ljava/io/DataOutputStream;.flush:()V // method@04f7 │ │ +023b6c: 2900 fa00 |01f6: goto/16 02f0 // +00fa │ │ +023b70: 1a02 8406 |01f8: const-string v2, "doBackup()" // string@0684 │ │ +023b74: 6e20 8b05 2500 |01fa: invoke-virtual {v5, v2}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058b │ │ +023b7a: 0a02 |01fd: move-result v2 │ │ +023b7c: 3802 2d00 |01fe: if-eqz v2, 022b // +002d │ │ +023b80: 2205 f700 |0200: new-instance v5, Ljava/io/ByteArrayOutputStream; // type@00f7 │ │ +023b84: 7010 e404 0500 |0202: invoke-direct {v5}, Ljava/io/ByteArrayOutputStream;.:()V // method@04e4 │ │ +023b8a: 7100 5301 0000 |0205: invoke-static {}, Ldnsfilter/ConfigurationAccess;.getLocal:()Ldnsfilter/ConfigurationAccess; // method@0153 │ │ +023b90: 0c01 |0208: move-result-object v1 │ │ +023b92: 6e20 4901 5100 |0209: invoke-virtual {v1, v5}, Ldnsfilter/ConfigurationAccess;.doBackup:(Ljava/io/OutputStream;)V // method@0149 │ │ +023b98: 5441 fd02 |020c: iget-object v1, v4, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@02fd │ │ +023b9c: 6e10 8d05 0300 |020e: invoke-virtual {v3}, Ljava/lang/String;.getBytes:()[B // method@058d │ │ +023ba2: 0c02 |0211: move-result-object v2 │ │ +023ba4: 6e20 f804 2100 |0212: invoke-virtual {v1, v2}, Ljava/io/DataOutputStream;.write:([B)V // method@04f8 │ │ +023baa: 6e10 ea04 0500 |0215: invoke-virtual {v5}, Ljava/io/ByteArrayOutputStream;.toByteArray:()[B // method@04ea │ │ +023bb0: 0c05 |0218: move-result-object v5 │ │ +023bb2: 5441 fd02 |0219: iget-object v1, v4, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@02fd │ │ +023bb6: 2152 |021b: array-length v2, v5 │ │ +023bb8: 6e20 fb04 2100 |021c: invoke-virtual {v1, v2}, Ljava/io/DataOutputStream;.writeInt:(I)V // method@04fb │ │ +023bbe: 5441 fd02 |021f: iget-object v1, v4, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@02fd │ │ +023bc2: 6e20 f804 5100 |0221: invoke-virtual {v1, v5}, Ljava/io/DataOutputStream;.write:([B)V // method@04f8 │ │ +023bc8: 5445 fd02 |0224: iget-object v5, v4, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@02fd │ │ +023bcc: 6e10 f704 0500 |0226: invoke-virtual {v5}, Ljava/io/DataOutputStream;.flush:()V // method@04f7 │ │ +023bd2: 2900 c700 |0229: goto/16 02f0 // +00c7 │ │ +023bd6: 1a02 8b06 |022b: const-string v2, "doRestore()" // string@068b │ │ +023bda: 6e20 8b05 2500 |022d: invoke-virtual {v5, v2}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058b │ │ +023be0: 0a02 |0230: move-result v2 │ │ +023be2: 3802 2b00 |0231: if-eqz v2, 025c // +002b │ │ +023be6: 5445 fa02 |0233: iget-object v5, v4, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.in:Ljava/io/DataInputStream; // field@02fa │ │ +023bea: 6e10 f204 0500 |0235: invoke-virtual {v5}, Ljava/io/DataInputStream;.readInt:()I // method@04f2 │ │ +023bf0: 0a05 |0238: move-result v5 │ │ +023bf2: 2355 9d01 |0239: new-array v5, v5, [B // type@019d │ │ +023bf6: 5441 fa02 |023b: iget-object v1, v4, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.in:Ljava/io/DataInputStream; // field@02fa │ │ +023bfa: 6e20 f004 5100 |023d: invoke-virtual {v1, v5}, Ljava/io/DataInputStream;.readFully:([B)V // method@04f0 │ │ +023c00: 7100 5301 0000 |0240: invoke-static {}, Ldnsfilter/ConfigurationAccess;.getLocal:()Ldnsfilter/ConfigurationAccess; // method@0153 │ │ +023c06: 0c01 |0243: move-result-object v1 │ │ +023c08: 2202 f600 |0244: new-instance v2, Ljava/io/ByteArrayInputStream; // type@00f6 │ │ +023c0c: 7020 df04 5200 |0246: invoke-direct {v2, v5}, Ljava/io/ByteArrayInputStream;.:([B)V // method@04df │ │ +023c12: 6e20 4a01 2100 |0249: invoke-virtual {v1, v2}, Ldnsfilter/ConfigurationAccess;.doRestore:(Ljava/io/InputStream;)V // method@014a │ │ +023c18: 5445 fd02 |024c: iget-object v5, v4, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@02fd │ │ +023c1c: 6e10 8d05 0300 |024e: invoke-virtual {v3}, Ljava/lang/String;.getBytes:()[B // method@058d │ │ +023c22: 0c01 |0251: move-result-object v1 │ │ +023c24: 6e20 f804 1500 |0252: invoke-virtual {v5, v1}, Ljava/io/DataOutputStream;.write:([B)V // method@04f8 │ │ +023c2a: 5445 fd02 |0255: iget-object v5, v4, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@02fd │ │ +023c2e: 6e10 f704 0500 |0257: invoke-virtual {v5}, Ljava/io/DataOutputStream;.flush:()V // method@04f7 │ │ +023c34: 2900 9600 |025a: goto/16 02f0 // +0096 │ │ +023c38: 1a02 8e06 |025c: const-string v2, "doRestoreDefaults()" // string@068e │ │ +023c3c: 6e20 8b05 2500 |025e: invoke-virtual {v5, v2}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058b │ │ +023c42: 0a02 |0261: move-result v2 │ │ +023c44: 3802 1800 |0262: if-eqz v2, 027a // +0018 │ │ +023c48: 7100 5301 0000 |0264: invoke-static {}, Ldnsfilter/ConfigurationAccess;.getLocal:()Ldnsfilter/ConfigurationAccess; // method@0153 │ │ +023c4e: 0c05 |0267: move-result-object v5 │ │ +023c50: 6e10 4b01 0500 |0268: invoke-virtual {v5}, Ldnsfilter/ConfigurationAccess;.doRestoreDefaults:()V // method@014b │ │ +023c56: 5445 fd02 |026b: iget-object v5, v4, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@02fd │ │ +023c5a: 6e10 8d05 0300 |026d: invoke-virtual {v3}, Ljava/lang/String;.getBytes:()[B // method@058d │ │ +023c60: 0c01 |0270: move-result-object v1 │ │ +023c62: 6e20 f804 1500 |0271: invoke-virtual {v5, v1}, Ljava/io/DataOutputStream;.write:([B)V // method@04f8 │ │ +023c68: 5445 fd02 |0274: iget-object v5, v4, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@02fd │ │ +023c6c: 6e10 f704 0500 |0276: invoke-virtual {v5}, Ljava/io/DataOutputStream;.flush:()V // method@04f7 │ │ +023c72: 2877 |0279: goto 02f0 // +0077 │ │ +023c74: 1a02 990b |027a: const-string v2, "wakeLock()" // string@0b99 │ │ +023c78: 6e20 8b05 2500 |027c: invoke-virtual {v5, v2}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058b │ │ +023c7e: 0a02 |027f: move-result v2 │ │ +023c80: 3802 1800 |0280: if-eqz v2, 0298 // +0018 │ │ +023c84: 7100 5301 0000 |0282: invoke-static {}, Ldnsfilter/ConfigurationAccess;.getLocal:()Ldnsfilter/ConfigurationAccess; // method@0153 │ │ +023c8a: 0c05 |0285: move-result-object v5 │ │ +023c8c: 6e10 6401 0500 |0286: invoke-virtual {v5}, Ldnsfilter/ConfigurationAccess;.wakeLock:()V // method@0164 │ │ +023c92: 5445 fd02 |0289: iget-object v5, v4, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@02fd │ │ +023c96: 6e10 8d05 0300 |028b: invoke-virtual {v3}, Ljava/lang/String;.getBytes:()[B // method@058d │ │ +023c9c: 0c01 |028e: move-result-object v1 │ │ +023c9e: 6e20 f804 1500 |028f: invoke-virtual {v5, v1}, Ljava/io/DataOutputStream;.write:([B)V // method@04f8 │ │ +023ca4: 5445 fd02 |0292: iget-object v5, v4, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@02fd │ │ +023ca8: 6e10 f704 0500 |0294: invoke-virtual {v5}, Ljava/io/DataOutputStream;.flush:()V // method@04f7 │ │ +023cae: 2859 |0297: goto 02f0 // +0059 │ │ +023cb0: 1a02 d709 |0298: const-string v2, "releaseWakeLock()" // string@09d7 │ │ +023cb4: 6e20 8b05 2500 |029a: invoke-virtual {v5, v2}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058b │ │ +023cba: 0a02 |029d: move-result v2 │ │ +023cbc: 3802 1800 |029e: if-eqz v2, 02b6 // +0018 │ │ +023cc0: 7100 5301 0000 |02a0: invoke-static {}, Ldnsfilter/ConfigurationAccess;.getLocal:()Ldnsfilter/ConfigurationAccess; // method@0153 │ │ +023cc6: 0c05 |02a3: move-result-object v5 │ │ +023cc8: 6e10 5b01 0500 |02a4: invoke-virtual {v5}, Ldnsfilter/ConfigurationAccess;.releaseWakeLock:()V // method@015b │ │ +023cce: 5445 fd02 |02a7: iget-object v5, v4, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@02fd │ │ +023cd2: 6e10 8d05 0300 |02a9: invoke-virtual {v3}, Ljava/lang/String;.getBytes:()[B // method@058d │ │ +023cd8: 0c01 |02ac: move-result-object v1 │ │ +023cda: 6e20 f804 1500 |02ad: invoke-virtual {v5, v1}, Ljava/io/DataOutputStream;.write:([B)V // method@04f8 │ │ +023ce0: 5445 fd02 |02b0: iget-object v5, v4, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@02fd │ │ +023ce4: 6e10 f704 0500 |02b2: invoke-virtual {v5}, Ljava/io/DataOutputStream;.flush:()V // method@04f7 │ │ +023cea: 283b |02b5: goto 02f0 // +003b │ │ +023cec: 2202 8200 |02b6: new-instance v2, Ldnsfilter/ConfigurationAccess$ConfigurationAccessException; // type@0082 │ │ +023cf0: 2203 2d01 |02b8: new-instance v3, Ljava/lang/StringBuilder; // type@012d │ │ +023cf4: 7020 a805 1300 |02ba: invoke-direct {v3, v1}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05a8 │ │ +023cfa: 6e20 ad05 5300 |02bd: invoke-virtual {v3, v5}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +023d00: 6e10 af05 0300 |02c0: invoke-virtual {v3}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ +023d06: 0c05 |02c3: move-result-object v5 │ │ +023d08: 7020 4401 5200 |02c4: invoke-direct {v2, v5}, Ldnsfilter/ConfigurationAccess$ConfigurationAccessException;.:(Ljava/lang/String;)V // method@0144 │ │ +023d0e: 2702 |02c7: throw v2 │ │ +023d10: 0d05 |02c8: move-exception v5 │ │ +023d12: 5441 fd02 |02c9: iget-object v1, v4, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@02fd │ │ +023d16: 2202 2d01 |02cb: new-instance v2, Ljava/lang/StringBuilder; // type@012d │ │ +023d1a: 7010 a705 0200 |02cd: invoke-direct {v2}, Ljava/lang/StringBuilder;.:()V // method@05a7 │ │ +023d20: 6e10 4601 0500 |02d0: invoke-virtual {v5}, Ldnsfilter/ConfigurationAccess$ConfigurationAccessException;.getMessage:()Ljava/lang/String; // method@0146 │ │ +023d26: 0c05 |02d3: move-result-object v5 │ │ +023d28: 1a03 0100 |02d4: const-string v3, " " // string@0001 │ │ +023d2c: 6e30 9505 0503 |02d6: invoke-virtual {v5, v0, v3}, Ljava/lang/String;.replace:(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String; // method@0595 │ │ +023d32: 0c05 |02d9: move-result-object v5 │ │ +023d34: 6e20 ad05 5200 |02da: invoke-virtual {v2, v5}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +023d3a: 6e20 ad05 0200 |02dd: invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +023d40: 6e10 af05 0200 |02e0: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ +023d46: 0c05 |02e3: move-result-object v5 │ │ +023d48: 6e10 8d05 0500 |02e4: invoke-virtual {v5}, Ljava/lang/String;.getBytes:()[B // method@058d │ │ +023d4e: 0c05 |02e7: move-result-object v5 │ │ +023d50: 6e20 f804 5100 |02e8: invoke-virtual {v1, v5}, Ljava/io/DataOutputStream;.write:([B)V // method@04f8 │ │ +023d56: 5445 fd02 |02eb: iget-object v5, v4, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@02fd │ │ +023d5a: 6e10 f704 0500 |02ed: invoke-virtual {v5}, Ljava/io/DataOutputStream;.flush:()V // method@04f7 │ │ +023d60: 0e00 |02f0: return-void │ │ catches : 2 │ │ 0x0004 - 0x000a │ │ Ldnsfilter/ConfigurationAccess$ConfigurationAccessException; -> 0x02c8 │ │ 0x000e - 0x02c8 │ │ Ldnsfilter/ConfigurationAccess$ConfigurationAccessException; -> 0x02c8 │ │ positions : │ │ 0x0000 line=229 │ │ @@ -55124,19 +55124,19 @@ │ │ type : '()V' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 3 │ │ ins : 1 │ │ outs : 0 │ │ insns size : 7 16-bit code units │ │ -023d80: |[023d80] dnsfilter.remote.RemoteAccessServer$RemoteSession.heartBeatConfirmed:()V │ │ -023d90: 7100 b105 0000 |0000: invoke-static {}, Ljava/lang/System;.currentTimeMillis:()J // method@05b1 │ │ -023d96: 0b00 |0003: move-result-wide v0 │ │ -023d98: 5a20 fc02 |0004: iput-wide v0, v2, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.lastHeartBeatConfirm:J // field@02fc │ │ -023d9c: 0e00 |0006: return-void │ │ +023d7c: |[023d7c] dnsfilter.remote.RemoteAccessServer$RemoteSession.heartBeatConfirmed:()V │ │ +023d8c: 7100 b105 0000 |0000: invoke-static {}, Ljava/lang/System;.currentTimeMillis:()J // method@05b1 │ │ +023d92: 0b00 |0003: move-result-wide v0 │ │ +023d94: 5a20 fc02 |0004: iput-wide v0, v2, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.lastHeartBeatConfirm:J // field@02fc │ │ +023d98: 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;) │ │ @@ -55144,44 +55144,44 @@ │ │ type : '()V' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 5 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 53 16-bit code units │ │ -023da0: |[023da0] dnsfilter.remote.RemoteAccessServer$RemoteSession.invalidate:()V │ │ -023db0: 5540 ff02 |0000: iget-boolean v0, v4, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.remoteStreamSession:Z // field@02ff │ │ -023db4: 3900 0300 |0002: if-nez v0, 0005 // +0003 │ │ -023db8: 0e00 |0004: return-void │ │ -023dba: 5440 fd02 |0005: iget-object v0, v4, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@02fd │ │ -023dbe: 1d00 |0007: monitor-enter v0 │ │ -023dc0: 5441 fd02 |0008: iget-object v1, v4, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@02fd │ │ -023dc4: 1272 |000a: const/4 v2, #int 7 // #7 │ │ -023dc6: 6e20 fd04 2100 |000b: invoke-virtual {v1, v2}, Ljava/io/DataOutputStream;.writeShort:(I)V // method@04fd │ │ -023dcc: 5441 fd02 |000e: iget-object v1, v4, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@02fd │ │ -023dd0: 1202 |0010: const/4 v2, #int 0 // #0 │ │ -023dd2: 6e20 fd04 2100 |0011: invoke-virtual {v1, v2}, Ljava/io/DataOutputStream;.writeShort:(I)V // method@04fd │ │ -023dd8: 5441 fd02 |0014: iget-object v1, v4, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@02fd │ │ -023ddc: 6e10 f704 0100 |0016: invoke-virtual {v1}, Ljava/io/DataOutputStream;.flush:()V // method@04f7 │ │ -023de2: 1e00 |0019: monitor-exit v0 │ │ -023de4: 281a |001a: goto 0034 // +001a │ │ -023de6: 0d01 |001b: move-exception v1 │ │ -023de8: 1e00 |001c: monitor-exit v0 │ │ -023dea: 2701 |001d: throw v1 │ │ -023dec: 0d00 |001e: move-exception v0 │ │ -023dee: 7100 2507 0000 |001f: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0725 │ │ -023df4: 0c01 |0022: move-result-object v1 │ │ -023df6: 2202 2d01 |0023: new-instance v2, Ljava/lang/StringBuilder; // type@012d │ │ -023dfa: 1a03 fb01 |0025: const-string v3, "Invalidation failed! " // string@01fb │ │ -023dfe: 7020 a805 3200 |0027: invoke-direct {v2, v3}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05a8 │ │ -023e04: 6e20 ac05 0200 |002a: invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@05ac │ │ -023e0a: 6e10 af05 0200 |002d: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ -023e10: 0c00 |0030: move-result-object v0 │ │ -023e12: 7220 3107 0100 |0031: invoke-interface {v1, v0}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0731 │ │ -023e18: 0e00 |0034: return-void │ │ +023d9c: |[023d9c] dnsfilter.remote.RemoteAccessServer$RemoteSession.invalidate:()V │ │ +023dac: 5540 ff02 |0000: iget-boolean v0, v4, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.remoteStreamSession:Z // field@02ff │ │ +023db0: 3900 0300 |0002: if-nez v0, 0005 // +0003 │ │ +023db4: 0e00 |0004: return-void │ │ +023db6: 5440 fd02 |0005: iget-object v0, v4, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@02fd │ │ +023dba: 1d00 |0007: monitor-enter v0 │ │ +023dbc: 5441 fd02 |0008: iget-object v1, v4, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@02fd │ │ +023dc0: 1272 |000a: const/4 v2, #int 7 // #7 │ │ +023dc2: 6e20 fd04 2100 |000b: invoke-virtual {v1, v2}, Ljava/io/DataOutputStream;.writeShort:(I)V // method@04fd │ │ +023dc8: 5441 fd02 |000e: iget-object v1, v4, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@02fd │ │ +023dcc: 1202 |0010: const/4 v2, #int 0 // #0 │ │ +023dce: 6e20 fd04 2100 |0011: invoke-virtual {v1, v2}, Ljava/io/DataOutputStream;.writeShort:(I)V // method@04fd │ │ +023dd4: 5441 fd02 |0014: iget-object v1, v4, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@02fd │ │ +023dd8: 6e10 f704 0100 |0016: invoke-virtual {v1}, Ljava/io/DataOutputStream;.flush:()V // method@04f7 │ │ +023dde: 1e00 |0019: monitor-exit v0 │ │ +023de0: 281a |001a: goto 0034 // +001a │ │ +023de2: 0d01 |001b: move-exception v1 │ │ +023de4: 1e00 |001c: monitor-exit v0 │ │ +023de6: 2701 |001d: throw v1 │ │ +023de8: 0d00 |001e: move-exception v0 │ │ +023dea: 7100 2507 0000 |001f: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0725 │ │ +023df0: 0c01 |0022: move-result-object v1 │ │ +023df2: 2202 2d01 |0023: new-instance v2, Ljava/lang/StringBuilder; // type@012d │ │ +023df6: 1a03 fb01 |0025: const-string v3, "Invalidation failed! " // string@01fb │ │ +023dfa: 7020 a805 3200 |0027: invoke-direct {v2, v3}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05a8 │ │ +023e00: 6e20 ac05 0200 |002a: invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@05ac │ │ +023e06: 6e10 af05 0200 |002d: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ +023e0c: 0c00 |0030: move-result-object v0 │ │ +023e0e: 7220 3107 0100 |0031: invoke-interface {v1, v0}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0731 │ │ +023e14: 0e00 |0034: return-void │ │ catches : 3 │ │ 0x0005 - 0x0008 │ │ Ljava/io/IOException; -> 0x001e │ │ 0x0008 - 0x001d │ │ -> 0x001b │ │ 0x001d - 0x001e │ │ Ljava/io/IOException; -> 0x001e │ │ @@ -55202,17 +55202,17 @@ │ │ type : '()J' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 3 │ │ ins : 1 │ │ outs : 0 │ │ insns size : 3 16-bit code units │ │ -0233ec: |[0233ec] dnsfilter.remote.RemoteAccessServer$RemoteSession.getTimoutTime:()J │ │ -0233fc: 5320 0203 |0000: iget-wide v0, v2, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.timeout:J // field@0302 │ │ -023400: 1000 |0002: return-wide v0 │ │ +0233e8: |[0233e8] dnsfilter.remote.RemoteAccessServer$RemoteSession.getTimoutTime:()J │ │ +0233f8: 5320 0203 |0000: iget-wide v0, v2, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.timeout:J // field@0302 │ │ +0233fc: 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;) │ │ @@ -55220,55 +55220,55 @@ │ │ type : '()V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 3 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 82 16-bit code units │ │ -023e3c: |[023e3c] dnsfilter.remote.RemoteAccessServer$RemoteSession.killSession:()V │ │ -023e4c: 5520 fb02 |0000: iget-boolean v0, v2, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.killed:Z // field@02fb │ │ -023e50: 3800 0300 |0002: if-eqz v0, 0005 // +0003 │ │ -023e54: 0e00 |0004: return-void │ │ -023e56: 1210 |0005: const/4 v0, #int 1 // #1 │ │ -023e58: 5c20 fb02 |0006: iput-boolean v0, v2, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.killed:Z // field@02fb │ │ -023e5c: 7100 8607 0000 |0008: invoke-static {}, Lutil/TimoutNotificator;.getInstance:()Lutil/TimoutNotificator; // method@0786 │ │ -023e62: 0c00 |000b: move-result-object v0 │ │ -023e64: 6e20 8b07 2000 |000c: invoke-virtual {v0, v2}, Lutil/TimoutNotificator;.unregister:(Lutil/TimeoutListener;)V // method@078b │ │ -023e6a: 5420 fe02 |000f: iget-object v0, v2, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.remoteLogger:Lutil/SuppressRepeatingsLogger; // field@02fe │ │ -023e6e: 3800 1000 |0011: if-eqz v0, 0021 // +0010 │ │ -023e72: 6e10 7407 0000 |0013: invoke-virtual {v0}, Lutil/SuppressRepeatingsLogger;.closeLogger:()V // method@0774 │ │ -023e78: 7100 2507 0000 |0016: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0725 │ │ -023e7e: 0c00 |0019: move-result-object v0 │ │ -023e80: 1f00 8201 |001a: check-cast v0, Lutil/GroupedLogger; // type@0182 │ │ -023e84: 5421 fe02 |001c: iget-object v1, v2, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.remoteLogger:Lutil/SuppressRepeatingsLogger; // field@02fe │ │ -023e88: 6e20 f706 1000 |001e: invoke-virtual {v0, v1}, Lutil/GroupedLogger;.detachLogger:(Lutil/LoggerInterface;)V // method@06f7 │ │ -023e8e: 5420 0003 |0021: iget-object v0, v2, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.socket:Ljava/net/Socket; // field@0300 │ │ -023e92: 7110 9007 0000 |0023: invoke-static {v0}, Lutil/Utils;.closeSocket:(Ljava/net/Socket;)V // method@0790 │ │ -023e98: 5420 0103 |0026: iget-object v0, v2, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.this$0:Ldnsfilter/remote/RemoteAccessServer; // field@0301 │ │ -023e9c: 7110 a104 0000 |0028: invoke-static {v0}, Ldnsfilter/remote/RemoteAccessServer;.access$200:(Ldnsfilter/remote/RemoteAccessServer;)Ljava/util/HashMap; // method@04a1 │ │ -023ea2: 0c00 |002b: move-result-object v0 │ │ -023ea4: 5221 f902 |002c: iget v1, v2, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.id:I // field@02f9 │ │ -023ea8: 7110 6805 0100 |002e: invoke-static {v1}, Ljava/lang/Integer;.valueOf:(I)Ljava/lang/Integer; // method@0568 │ │ -023eae: 0c01 |0031: move-result-object v1 │ │ -023eb0: 6e20 2a06 1000 |0032: invoke-virtual {v0, v1}, Ljava/util/HashMap;.remove:(Ljava/lang/Object;)Ljava/lang/Object; // method@062a │ │ -023eb6: 5220 f702 |0035: iget v0, v2, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.connectedSessionId:I // field@02f7 │ │ -023eba: 12f1 |0037: const/4 v1, #int -1 // #ff │ │ -023ebc: 3210 1900 |0038: if-eq v0, v1, 0051 // +0019 │ │ -023ec0: 5420 0103 |003a: iget-object v0, v2, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.this$0:Ldnsfilter/remote/RemoteAccessServer; // field@0301 │ │ -023ec4: 7110 a104 0000 |003c: invoke-static {v0}, Ldnsfilter/remote/RemoteAccessServer;.access$200:(Ldnsfilter/remote/RemoteAccessServer;)Ljava/util/HashMap; // method@04a1 │ │ -023eca: 0c00 |003f: move-result-object v0 │ │ -023ecc: 5221 f702 |0040: iget v1, v2, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.connectedSessionId:I // field@02f7 │ │ -023ed0: 7110 6805 0100 |0042: invoke-static {v1}, Ljava/lang/Integer;.valueOf:(I)Ljava/lang/Integer; // method@0568 │ │ -023ed6: 0c01 |0045: move-result-object v1 │ │ -023ed8: 6e20 2806 1000 |0046: invoke-virtual {v0, v1}, Ljava/util/HashMap;.get:(Ljava/lang/Object;)Ljava/lang/Object; // method@0628 │ │ -023ede: 0c00 |0049: move-result-object v0 │ │ -023ee0: 1f00 ed00 |004a: check-cast v0, Ldnsfilter/remote/RemoteAccessServer$RemoteSession; // type@00ed │ │ -023ee4: 3800 0500 |004c: if-eqz v0, 0051 // +0005 │ │ -023ee8: 6e10 9b04 0000 |004e: invoke-virtual {v0}, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.killSession:()V // method@049b │ │ -023eee: 0e00 |0051: return-void │ │ +023e38: |[023e38] dnsfilter.remote.RemoteAccessServer$RemoteSession.killSession:()V │ │ +023e48: 5520 fb02 |0000: iget-boolean v0, v2, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.killed:Z // field@02fb │ │ +023e4c: 3800 0300 |0002: if-eqz v0, 0005 // +0003 │ │ +023e50: 0e00 |0004: return-void │ │ +023e52: 1210 |0005: const/4 v0, #int 1 // #1 │ │ +023e54: 5c20 fb02 |0006: iput-boolean v0, v2, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.killed:Z // field@02fb │ │ +023e58: 7100 8607 0000 |0008: invoke-static {}, Lutil/TimoutNotificator;.getInstance:()Lutil/TimoutNotificator; // method@0786 │ │ +023e5e: 0c00 |000b: move-result-object v0 │ │ +023e60: 6e20 8b07 2000 |000c: invoke-virtual {v0, v2}, Lutil/TimoutNotificator;.unregister:(Lutil/TimeoutListener;)V // method@078b │ │ +023e66: 5420 fe02 |000f: iget-object v0, v2, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.remoteLogger:Lutil/SuppressRepeatingsLogger; // field@02fe │ │ +023e6a: 3800 1000 |0011: if-eqz v0, 0021 // +0010 │ │ +023e6e: 6e10 7407 0000 |0013: invoke-virtual {v0}, Lutil/SuppressRepeatingsLogger;.closeLogger:()V // method@0774 │ │ +023e74: 7100 2507 0000 |0016: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0725 │ │ +023e7a: 0c00 |0019: move-result-object v0 │ │ +023e7c: 1f00 8201 |001a: check-cast v0, Lutil/GroupedLogger; // type@0182 │ │ +023e80: 5421 fe02 |001c: iget-object v1, v2, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.remoteLogger:Lutil/SuppressRepeatingsLogger; // field@02fe │ │ +023e84: 6e20 f706 1000 |001e: invoke-virtual {v0, v1}, Lutil/GroupedLogger;.detachLogger:(Lutil/LoggerInterface;)V // method@06f7 │ │ +023e8a: 5420 0003 |0021: iget-object v0, v2, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.socket:Ljava/net/Socket; // field@0300 │ │ +023e8e: 7110 9007 0000 |0023: invoke-static {v0}, Lutil/Utils;.closeSocket:(Ljava/net/Socket;)V // method@0790 │ │ +023e94: 5420 0103 |0026: iget-object v0, v2, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.this$0:Ldnsfilter/remote/RemoteAccessServer; // field@0301 │ │ +023e98: 7110 a104 0000 |0028: invoke-static {v0}, Ldnsfilter/remote/RemoteAccessServer;.access$200:(Ldnsfilter/remote/RemoteAccessServer;)Ljava/util/HashMap; // method@04a1 │ │ +023e9e: 0c00 |002b: move-result-object v0 │ │ +023ea0: 5221 f902 |002c: iget v1, v2, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.id:I // field@02f9 │ │ +023ea4: 7110 6805 0100 |002e: invoke-static {v1}, Ljava/lang/Integer;.valueOf:(I)Ljava/lang/Integer; // method@0568 │ │ +023eaa: 0c01 |0031: move-result-object v1 │ │ +023eac: 6e20 2a06 1000 |0032: invoke-virtual {v0, v1}, Ljava/util/HashMap;.remove:(Ljava/lang/Object;)Ljava/lang/Object; // method@062a │ │ +023eb2: 5220 f702 |0035: iget v0, v2, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.connectedSessionId:I // field@02f7 │ │ +023eb6: 12f1 |0037: const/4 v1, #int -1 // #ff │ │ +023eb8: 3210 1900 |0038: if-eq v0, v1, 0051 // +0019 │ │ +023ebc: 5420 0103 |003a: iget-object v0, v2, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.this$0:Ldnsfilter/remote/RemoteAccessServer; // field@0301 │ │ +023ec0: 7110 a104 0000 |003c: invoke-static {v0}, Ldnsfilter/remote/RemoteAccessServer;.access$200:(Ldnsfilter/remote/RemoteAccessServer;)Ljava/util/HashMap; // method@04a1 │ │ +023ec6: 0c00 |003f: move-result-object v0 │ │ +023ec8: 5221 f702 |0040: iget v1, v2, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.connectedSessionId:I // field@02f7 │ │ +023ecc: 7110 6805 0100 |0042: invoke-static {v1}, Ljava/lang/Integer;.valueOf:(I)Ljava/lang/Integer; // method@0568 │ │ +023ed2: 0c01 |0045: move-result-object v1 │ │ +023ed4: 6e20 2806 1000 |0046: invoke-virtual {v0, v1}, Ljava/util/HashMap;.get:(Ljava/lang/Object;)Ljava/lang/Object; // method@0628 │ │ +023eda: 0c00 |0049: move-result-object v0 │ │ +023edc: 1f00 ed00 |004a: check-cast v0, Ldnsfilter/remote/RemoteAccessServer$RemoteSession; // type@00ed │ │ +023ee0: 3800 0500 |004c: if-eqz v0, 0051 // +0005 │ │ +023ee4: 6e10 9b04 0000 |004e: invoke-virtual {v0}, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.killSession:()V // method@049b │ │ +023eea: 0e00 |0051: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=162 │ │ 0x0006 line=164 │ │ 0x0008 line=165 │ │ 0x000f line=167 │ │ 0x0013 line=168 │ │ @@ -55286,31 +55286,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 │ │ -023ef0: |[023ef0] dnsfilter.remote.RemoteAccessServer$RemoteSession.reconnectSession:(Ljava/net/Socket;Ljava/io/InputStream;Ljava/io/OutputStream;)V │ │ -023f00: 1213 |0000: const/4 v3, #int 1 // #1 │ │ -023f02: 5c13 f802 |0001: iput-boolean v3, v1, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.doReconnect:Z // field@02f8 │ │ -023f06: 5413 0003 |0003: iget-object v3, v1, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.socket:Ljava/net/Socket; // field@0300 │ │ -023f0a: 5b12 0003 |0005: iput-object v2, v1, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.socket:Ljava/net/Socket; // field@0300 │ │ -023f0e: 2204 f900 |0007: new-instance v4, Ljava/io/DataOutputStream; // type@00f9 │ │ -023f12: 6e10 eb05 0200 |0009: invoke-virtual {v2}, Ljava/net/Socket;.getOutputStream:()Ljava/io/OutputStream; // method@05eb │ │ -023f18: 0c00 |000c: move-result-object v0 │ │ -023f1a: 7020 f504 0400 |000d: invoke-direct {v4, v0}, Ljava/io/DataOutputStream;.:(Ljava/io/OutputStream;)V // method@04f5 │ │ -023f20: 5b14 fd02 |0010: iput-object v4, v1, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@02fd │ │ -023f24: 2204 f800 |0012: new-instance v4, Ljava/io/DataInputStream; // type@00f8 │ │ -023f28: 6e10 ea05 0200 |0014: invoke-virtual {v2}, Ljava/net/Socket;.getInputStream:()Ljava/io/InputStream; // method@05ea │ │ -023f2e: 0c02 |0017: move-result-object v2 │ │ -023f30: 7020 ee04 2400 |0018: invoke-direct {v4, v2}, Ljava/io/DataInputStream;.:(Ljava/io/InputStream;)V // method@04ee │ │ -023f36: 5b14 fa02 |001b: iput-object v4, v1, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.in:Ljava/io/DataInputStream; // field@02fa │ │ -023f3a: 7110 9007 0300 |001d: invoke-static {v3}, Lutil/Utils;.closeSocket:(Ljava/net/Socket;)V // method@0790 │ │ -023f40: 0e00 |0020: return-void │ │ +023eec: |[023eec] dnsfilter.remote.RemoteAccessServer$RemoteSession.reconnectSession:(Ljava/net/Socket;Ljava/io/InputStream;Ljava/io/OutputStream;)V │ │ +023efc: 1213 |0000: const/4 v3, #int 1 // #1 │ │ +023efe: 5c13 f802 |0001: iput-boolean v3, v1, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.doReconnect:Z // field@02f8 │ │ +023f02: 5413 0003 |0003: iget-object v3, v1, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.socket:Ljava/net/Socket; // field@0300 │ │ +023f06: 5b12 0003 |0005: iput-object v2, v1, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.socket:Ljava/net/Socket; // field@0300 │ │ +023f0a: 2204 f900 |0007: new-instance v4, Ljava/io/DataOutputStream; // type@00f9 │ │ +023f0e: 6e10 eb05 0200 |0009: invoke-virtual {v2}, Ljava/net/Socket;.getOutputStream:()Ljava/io/OutputStream; // method@05eb │ │ +023f14: 0c00 |000c: move-result-object v0 │ │ +023f16: 7020 f504 0400 |000d: invoke-direct {v4, v0}, Ljava/io/DataOutputStream;.:(Ljava/io/OutputStream;)V // method@04f5 │ │ +023f1c: 5b14 fd02 |0010: iput-object v4, v1, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.out:Ljava/io/DataOutputStream; // field@02fd │ │ +023f20: 2204 f800 |0012: new-instance v4, Ljava/io/DataInputStream; // type@00f8 │ │ +023f24: 6e10 ea05 0200 |0014: invoke-virtual {v2}, Ljava/net/Socket;.getInputStream:()Ljava/io/InputStream; // method@05ea │ │ +023f2a: 0c02 |0017: move-result-object v2 │ │ +023f2c: 7020 ee04 2400 |0018: invoke-direct {v4, v2}, Ljava/io/DataInputStream;.:(Ljava/io/InputStream;)V // method@04ee │ │ +023f32: 5b14 fa02 |001b: iput-object v4, v1, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.in:Ljava/io/DataInputStream; // field@02fa │ │ +023f36: 7110 9007 0300 |001d: invoke-static {v3}, Lutil/Utils;.closeSocket:(Ljava/net/Socket;)V // method@0790 │ │ +023f3c: 0e00 |0020: return-void │ │ catches : (none) │ │ positions : │ │ 0x0001 line=184 │ │ 0x0003 line=185 │ │ 0x0005 line=186 │ │ 0x0007 line=187 │ │ 0x0012 line=188 │ │ @@ -55326,100 +55326,100 @@ │ │ type : '()V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 7 │ │ ins : 1 │ │ outs : 3 │ │ insns size : 179 16-bit code units │ │ -023f44: |[023f44] dnsfilter.remote.RemoteAccessServer$RemoteSession.run:()V │ │ -023f54: 1300 0004 |0000: const/16 v0, #int 1024 // #400 │ │ -023f58: 2300 9d01 |0002: new-array v0, v0, [B // type@019d │ │ -023f5c: 1a01 0000 |0004: const-string v1, "" // string@0000 │ │ -023f60: 5562 fb02 |0006: iget-boolean v2, v6, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.killed:Z // field@02fb │ │ -023f64: 3902 8900 |0008: if-nez v2, 0091 // +0089 │ │ -023f68: 5462 0103 |000a: iget-object v2, v6, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.this$0:Ldnsfilter/remote/RemoteAccessServer; // field@0301 │ │ -023f6c: 5463 fa02 |000c: iget-object v3, v6, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.in:Ljava/io/DataInputStream; // field@02fa │ │ -023f70: 7130 a204 3200 |000e: invoke-static {v2, v3, v0}, Ldnsfilter/remote/RemoteAccessServer;.access$300:(Ldnsfilter/remote/RemoteAccessServer;Ljava/io/InputStream;[B)Ljava/lang/String; // method@04a2 │ │ -023f76: 0c01 |0011: move-result-object v1 │ │ -023f78: 1a02 8705 |0012: const-string v2, "attach" // string@0587 │ │ -023f7c: 6e20 8b05 2100 |0014: invoke-virtual {v1, v2}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058b │ │ -023f82: 0a02 |0017: move-result v2 │ │ -023f84: 3802 0600 |0018: if-eqz v2, 001e // +0006 │ │ -023f88: 7010 9404 0600 |001a: invoke-direct {v6}, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.attachStream:()V // method@0494 │ │ -023f8e: 28e9 |001d: goto 0006 // -0017 │ │ -023f90: 1a02 d309 |001e: const-string v2, "releaseConfiguration()" // string@09d3 │ │ -023f94: 6e20 8b05 2100 |0020: invoke-virtual {v1, v2}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058b │ │ -023f9a: 0a02 |0023: move-result v2 │ │ -023f9c: 3802 0600 |0024: if-eqz v2, 002a // +0006 │ │ -023fa0: 6e10 9b04 0600 |0026: invoke-virtual {v6}, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.killSession:()V // method@049b │ │ -023fa6: 28dd |0029: goto 0006 // -0023 │ │ -023fa8: 1a02 0e06 |002a: const-string v2, "confirmHeartBeat()" // string@060e │ │ -023fac: 6e20 8b05 2100 |002c: invoke-virtual {v1, v2}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058b │ │ -023fb2: 0a02 |002f: move-result v2 │ │ -023fb4: 3802 0600 |0030: if-eqz v2, 0036 // +0006 │ │ -023fb8: 7010 9904 0600 |0032: invoke-direct {v6}, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.heartBeatConfirmed:()V // method@0499 │ │ -023fbe: 28d1 |0035: goto 0006 // -002f │ │ -023fc0: 7020 9704 1600 |0036: invoke-direct {v6, v1}, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.executeAction:(Ljava/lang/String;)V // method@0497 │ │ -023fc6: 28cd |0039: goto 0006 // -0033 │ │ -023fc8: 0d02 |003a: move-exception v2 │ │ -023fca: 5563 f802 |003b: iget-boolean v3, v6, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.doReconnect:Z // field@02f8 │ │ -023fce: 3903 2300 |003d: if-nez v3, 0060 // +0023 │ │ -023fd2: 5563 fb02 |003f: iget-boolean v3, v6, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.killed:Z // field@02fb │ │ -023fd6: 3903 c5ff |0041: if-nez v3, 0006 // -003b │ │ -023fda: 7100 2507 0000 |0043: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0725 │ │ -023fe0: 0c00 |0046: move-result-object v0 │ │ -023fe2: 2201 2d01 |0047: new-instance v1, Ljava/lang/StringBuilder; // type@012d │ │ -023fe6: 1a03 8601 |0049: const-string v3, "Exception during RemoteServer Session read! " // string@0186 │ │ -023fea: 7020 a805 3100 |004b: invoke-direct {v1, v3}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05a8 │ │ -023ff0: 6e10 2405 0200 |004e: invoke-virtual {v2}, Ljava/io/IOException;.toString:()Ljava/lang/String; // method@0524 │ │ -023ff6: 0c02 |0051: move-result-object v2 │ │ -023ff8: 6e20 ad05 2100 |0052: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -023ffe: 6e10 af05 0100 |0055: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ -024004: 0c01 |0058: move-result-object v1 │ │ -024006: 7220 3107 1000 |0059: invoke-interface {v0, v1}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0731 │ │ -02400c: 6e10 9b04 0600 |005c: invoke-virtual {v6}, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.killSession:()V // method@049b │ │ -024012: 2832 |005f: goto 0091 // +0032 │ │ -024014: 7100 2507 0000 |0060: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0725 │ │ -02401a: 0c02 |0063: move-result-object v2 │ │ -02401c: 1a03 2804 |0064: const-string v3, "Reconnected Remote!" // string@0428 │ │ -024020: 7220 3107 3200 |0066: invoke-interface {v2, v3}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0731 │ │ -024026: 1202 |0069: const/4 v2, #int 0 // #0 │ │ -024028: 5c62 f802 |006a: iput-boolean v2, v6, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.doReconnect:Z // field@02f8 │ │ -02402c: 289a |006c: goto 0006 // -0066 │ │ -02402e: 0d02 |006d: move-exception v2 │ │ -024030: 7100 2507 0000 |006e: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0725 │ │ -024036: 0c03 |0071: move-result-object v3 │ │ -024038: 2204 2d01 |0072: new-instance v4, Ljava/lang/StringBuilder; // type@012d │ │ -02403c: 1a05 3e04 |0074: const-string v5, "RemoteServer Exception processing " // string@043e │ │ -024040: 7020 a805 5400 |0076: invoke-direct {v4, v5}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05a8 │ │ -024046: 6e20 ad05 1400 |0079: invoke-virtual {v4, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -02404c: 1a05 2b00 |007c: const-string v5, "! " // string@002b │ │ -024050: 6e20 ad05 5400 |007e: invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -024056: 6e10 4701 0200 |0081: invoke-virtual {v2}, Ldnsfilter/ConfigurationAccess$ConfigurationAccessException;.toString:()Ljava/lang/String; // method@0147 │ │ -02405c: 0c02 |0084: move-result-object v2 │ │ -02405e: 6e20 ad05 2400 |0085: invoke-virtual {v4, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -024064: 6e10 af05 0400 |0088: invoke-virtual {v4}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ -02406a: 0c02 |008b: move-result-object v2 │ │ -02406c: 7220 3107 2300 |008c: invoke-interface {v3, v2}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0731 │ │ -024072: 2900 77ff |008f: goto/16 0006 // -0089 │ │ -024076: 7100 2507 0000 |0091: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0725 │ │ -02407c: 0c00 |0094: move-result-object v0 │ │ -02407e: 2201 2d01 |0095: new-instance v1, Ljava/lang/StringBuilder; // type@012d │ │ -024082: 1a02 2d04 |0097: const-string v2, "Remote Session " // string@042d │ │ -024086: 7020 a805 2100 |0099: invoke-direct {v1, v2}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05a8 │ │ -02408c: 5262 f902 |009c: iget v2, v6, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.id:I // field@02f9 │ │ -024090: 6e20 aa05 2100 |009e: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@05aa │ │ -024096: 1a02 1900 |00a1: const-string v2, " closed! " // string@0019 │ │ -02409a: 6e20 ad05 2100 |00a3: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -0240a0: 5462 0003 |00a6: iget-object v2, v6, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.socket:Ljava/net/Socket; // field@0300 │ │ -0240a4: 6e20 ac05 2100 |00a8: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@05ac │ │ -0240aa: 6e10 af05 0100 |00ab: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ -0240b0: 0c01 |00ae: move-result-object v1 │ │ -0240b2: 7220 3107 1000 |00af: invoke-interface {v0, v1}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0731 │ │ -0240b8: 0e00 |00b2: return-void │ │ +023f40: |[023f40] dnsfilter.remote.RemoteAccessServer$RemoteSession.run:()V │ │ +023f50: 1300 0004 |0000: const/16 v0, #int 1024 // #400 │ │ +023f54: 2300 9d01 |0002: new-array v0, v0, [B // type@019d │ │ +023f58: 1a01 0000 |0004: const-string v1, "" // string@0000 │ │ +023f5c: 5562 fb02 |0006: iget-boolean v2, v6, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.killed:Z // field@02fb │ │ +023f60: 3902 8900 |0008: if-nez v2, 0091 // +0089 │ │ +023f64: 5462 0103 |000a: iget-object v2, v6, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.this$0:Ldnsfilter/remote/RemoteAccessServer; // field@0301 │ │ +023f68: 5463 fa02 |000c: iget-object v3, v6, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.in:Ljava/io/DataInputStream; // field@02fa │ │ +023f6c: 7130 a204 3200 |000e: invoke-static {v2, v3, v0}, Ldnsfilter/remote/RemoteAccessServer;.access$300:(Ldnsfilter/remote/RemoteAccessServer;Ljava/io/InputStream;[B)Ljava/lang/String; // method@04a2 │ │ +023f72: 0c01 |0011: move-result-object v1 │ │ +023f74: 1a02 8705 |0012: const-string v2, "attach" // string@0587 │ │ +023f78: 6e20 8b05 2100 |0014: invoke-virtual {v1, v2}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058b │ │ +023f7e: 0a02 |0017: move-result v2 │ │ +023f80: 3802 0600 |0018: if-eqz v2, 001e // +0006 │ │ +023f84: 7010 9404 0600 |001a: invoke-direct {v6}, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.attachStream:()V // method@0494 │ │ +023f8a: 28e9 |001d: goto 0006 // -0017 │ │ +023f8c: 1a02 d309 |001e: const-string v2, "releaseConfiguration()" // string@09d3 │ │ +023f90: 6e20 8b05 2100 |0020: invoke-virtual {v1, v2}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058b │ │ +023f96: 0a02 |0023: move-result v2 │ │ +023f98: 3802 0600 |0024: if-eqz v2, 002a // +0006 │ │ +023f9c: 6e10 9b04 0600 |0026: invoke-virtual {v6}, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.killSession:()V // method@049b │ │ +023fa2: 28dd |0029: goto 0006 // -0023 │ │ +023fa4: 1a02 0e06 |002a: const-string v2, "confirmHeartBeat()" // string@060e │ │ +023fa8: 6e20 8b05 2100 |002c: invoke-virtual {v1, v2}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058b │ │ +023fae: 0a02 |002f: move-result v2 │ │ +023fb0: 3802 0600 |0030: if-eqz v2, 0036 // +0006 │ │ +023fb4: 7010 9904 0600 |0032: invoke-direct {v6}, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.heartBeatConfirmed:()V // method@0499 │ │ +023fba: 28d1 |0035: goto 0006 // -002f │ │ +023fbc: 7020 9704 1600 |0036: invoke-direct {v6, v1}, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.executeAction:(Ljava/lang/String;)V // method@0497 │ │ +023fc2: 28cd |0039: goto 0006 // -0033 │ │ +023fc4: 0d02 |003a: move-exception v2 │ │ +023fc6: 5563 f802 |003b: iget-boolean v3, v6, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.doReconnect:Z // field@02f8 │ │ +023fca: 3903 2300 |003d: if-nez v3, 0060 // +0023 │ │ +023fce: 5563 fb02 |003f: iget-boolean v3, v6, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.killed:Z // field@02fb │ │ +023fd2: 3903 c5ff |0041: if-nez v3, 0006 // -003b │ │ +023fd6: 7100 2507 0000 |0043: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0725 │ │ +023fdc: 0c00 |0046: move-result-object v0 │ │ +023fde: 2201 2d01 |0047: new-instance v1, Ljava/lang/StringBuilder; // type@012d │ │ +023fe2: 1a03 8601 |0049: const-string v3, "Exception during RemoteServer Session read! " // string@0186 │ │ +023fe6: 7020 a805 3100 |004b: invoke-direct {v1, v3}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05a8 │ │ +023fec: 6e10 2405 0200 |004e: invoke-virtual {v2}, Ljava/io/IOException;.toString:()Ljava/lang/String; // method@0524 │ │ +023ff2: 0c02 |0051: move-result-object v2 │ │ +023ff4: 6e20 ad05 2100 |0052: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +023ffa: 6e10 af05 0100 |0055: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ +024000: 0c01 |0058: move-result-object v1 │ │ +024002: 7220 3107 1000 |0059: invoke-interface {v0, v1}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0731 │ │ +024008: 6e10 9b04 0600 |005c: invoke-virtual {v6}, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.killSession:()V // method@049b │ │ +02400e: 2832 |005f: goto 0091 // +0032 │ │ +024010: 7100 2507 0000 |0060: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0725 │ │ +024016: 0c02 |0063: move-result-object v2 │ │ +024018: 1a03 2804 |0064: const-string v3, "Reconnected Remote!" // string@0428 │ │ +02401c: 7220 3107 3200 |0066: invoke-interface {v2, v3}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0731 │ │ +024022: 1202 |0069: const/4 v2, #int 0 // #0 │ │ +024024: 5c62 f802 |006a: iput-boolean v2, v6, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.doReconnect:Z // field@02f8 │ │ +024028: 289a |006c: goto 0006 // -0066 │ │ +02402a: 0d02 |006d: move-exception v2 │ │ +02402c: 7100 2507 0000 |006e: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0725 │ │ +024032: 0c03 |0071: move-result-object v3 │ │ +024034: 2204 2d01 |0072: new-instance v4, Ljava/lang/StringBuilder; // type@012d │ │ +024038: 1a05 3e04 |0074: const-string v5, "RemoteServer Exception processing " // string@043e │ │ +02403c: 7020 a805 5400 |0076: invoke-direct {v4, v5}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05a8 │ │ +024042: 6e20 ad05 1400 |0079: invoke-virtual {v4, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +024048: 1a05 2b00 |007c: const-string v5, "! " // string@002b │ │ +02404c: 6e20 ad05 5400 |007e: invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +024052: 6e10 4701 0200 |0081: invoke-virtual {v2}, Ldnsfilter/ConfigurationAccess$ConfigurationAccessException;.toString:()Ljava/lang/String; // method@0147 │ │ +024058: 0c02 |0084: move-result-object v2 │ │ +02405a: 6e20 ad05 2400 |0085: invoke-virtual {v4, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +024060: 6e10 af05 0400 |0088: invoke-virtual {v4}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ +024066: 0c02 |008b: move-result-object v2 │ │ +024068: 7220 3107 2300 |008c: invoke-interface {v3, v2}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0731 │ │ +02406e: 2900 77ff |008f: goto/16 0006 // -0089 │ │ +024072: 7100 2507 0000 |0091: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0725 │ │ +024078: 0c00 |0094: move-result-object v0 │ │ +02407a: 2201 2d01 |0095: new-instance v1, Ljava/lang/StringBuilder; // type@012d │ │ +02407e: 1a02 2d04 |0097: const-string v2, "Remote Session " // string@042d │ │ +024082: 7020 a805 2100 |0099: invoke-direct {v1, v2}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05a8 │ │ +024088: 5262 f902 |009c: iget v2, v6, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.id:I // field@02f9 │ │ +02408c: 6e20 aa05 2100 |009e: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@05aa │ │ +024092: 1a02 1900 |00a1: const-string v2, " closed! " // string@0019 │ │ +024096: 6e20 ad05 2100 |00a3: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +02409c: 5462 0003 |00a6: iget-object v2, v6, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.socket:Ljava/net/Socket; // field@0300 │ │ +0240a0: 6e20 ac05 2100 |00a8: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@05ac │ │ +0240a6: 6e10 af05 0100 |00ab: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ +0240ac: 0c01 |00ae: move-result-object v1 │ │ +0240ae: 7220 3107 1000 |00af: invoke-interface {v0, v1}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0731 │ │ +0240b4: 0e00 |00b2: return-void │ │ catches : 1 │ │ 0x000a - 0x0039 │ │ Ldnsfilter/ConfigurationAccess$ConfigurationAccessException; -> 0x006d │ │ Ljava/io/IOException; -> 0x003a │ │ positions : │ │ 0x0002 line=194 │ │ 0x0004 line=195 │ │ @@ -55448,21 +55448,21 @@ │ │ type : '()V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 12 16-bit code units │ │ -0240cc: |[0240cc] dnsfilter.remote.RemoteAccessServer$RemoteSession.timeoutNotification:()V │ │ -0240dc: 7010 9504 0100 |0000: invoke-direct {v1}, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.checkLastConfirmedHeartBeat:()Z // method@0495 │ │ -0240e2: 0a00 |0003: move-result v0 │ │ -0240e4: 3800 0700 |0004: if-eqz v0, 000b // +0007 │ │ -0240e8: 6000 e402 |0006: sget v0, Ldnsfilter/remote/RemoteAccessClient;.READ_TIMEOUT:I // field@02e4 │ │ -0240ec: 7020 9604 0100 |0008: invoke-direct {v1, v0}, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.doHeartBeat:(I)V // method@0496 │ │ -0240f2: 0e00 |000b: return-void │ │ +0240c8: |[0240c8] dnsfilter.remote.RemoteAccessServer$RemoteSession.timeoutNotification:()V │ │ +0240d8: 7010 9504 0100 |0000: invoke-direct {v1}, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.checkLastConfirmedHeartBeat:()Z // method@0495 │ │ +0240de: 0a00 |0003: move-result v0 │ │ +0240e0: 3800 0700 |0004: if-eqz v0, 000b // +0007 │ │ +0240e4: 6000 e402 |0006: sget v0, Ldnsfilter/remote/RemoteAccessClient;.READ_TIMEOUT:I // field@02e4 │ │ +0240e8: 7020 9604 0100 |0008: invoke-direct {v1, v0}, Ldnsfilter/remote/RemoteAccessServer$RemoteSession;.doHeartBeat:(I)V // method@0496 │ │ +0240ee: 0e00 |000b: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=482 │ │ 0x0006 line=483 │ │ locals : │ │ 0x0000 - 0x000c reg=1 this Ldnsfilter/remote/RemoteAccessServer$RemoteSession; │ │ │ │ @@ -55495,28 +55495,28 @@ │ │ type : '([BII)V' │ │ access : 0x10001 (PUBLIC CONSTRUCTOR) │ │ code - │ │ registers : 4 │ │ ins : 4 │ │ outs : 4 │ │ insns size : 25 16-bit code units │ │ -0252f4: |[0252f4] ip.UDPPacket.:([BII)V │ │ -025304: 7040 aa04 1032 |0000: invoke-direct {v0, v1, v2, v3}, Lip/IPPacket;.:([BII)V // method@04aa │ │ -02530a: 5203 1003 |0003: iget v3, v0, Lip/UDPPacket;.ipHdrlen:I // field@0310 │ │ -02530e: b032 |0005: add-int/2addr v2, v3 │ │ -025310: 1303 0800 |0006: const/16 v3, #int 8 // #8 │ │ -025314: 7130 0906 2103 |0008: invoke-static {v1, v2, v3}, Ljava/nio/ByteBuffer;.wrap:([BII)Ljava/nio/ByteBuffer; // method@0609 │ │ -02531a: 0c01 |000b: move-result-object v1 │ │ -02531c: 6202 1c03 |000c: sget-object v2, Ljava/nio/ByteOrder;.BIG_ENDIAN:Ljava/nio/ByteOrder; // field@031c │ │ -025320: 6e20 0006 2100 |000e: invoke-virtual {v1, v2}, Ljava/nio/ByteBuffer;.order:(Ljava/nio/ByteOrder;)Ljava/nio/ByteBuffer; // method@0600 │ │ -025326: 0c01 |0011: move-result-object v1 │ │ -025328: 6e10 fa05 0100 |0012: invoke-virtual {v1}, Ljava/nio/ByteBuffer;.asIntBuffer:()Ljava/nio/IntBuffer; // method@05fa │ │ -02532e: 0c01 |0015: move-result-object v1 │ │ -025330: 5b01 1403 |0016: iput-object v1, v0, Lip/UDPPacket;.udpHeader:Ljava/nio/IntBuffer; // field@0314 │ │ -025334: 0e00 |0018: return-void │ │ +0252f0: |[0252f0] ip.UDPPacket.:([BII)V │ │ +025300: 7040 aa04 1032 |0000: invoke-direct {v0, v1, v2, v3}, Lip/IPPacket;.:([BII)V // method@04aa │ │ +025306: 5203 1003 |0003: iget v3, v0, Lip/UDPPacket;.ipHdrlen:I // field@0310 │ │ +02530a: b032 |0005: add-int/2addr v2, v3 │ │ +02530c: 1303 0800 |0006: const/16 v3, #int 8 // #8 │ │ +025310: 7130 0906 2103 |0008: invoke-static {v1, v2, v3}, Ljava/nio/ByteBuffer;.wrap:([BII)Ljava/nio/ByteBuffer; // method@0609 │ │ +025316: 0c01 |000b: move-result-object v1 │ │ +025318: 6202 1c03 |000c: sget-object v2, Ljava/nio/ByteOrder;.BIG_ENDIAN:Ljava/nio/ByteOrder; // field@031c │ │ +02531c: 6e20 0006 2100 |000e: invoke-virtual {v1, v2}, Ljava/nio/ByteBuffer;.order:(Ljava/nio/ByteOrder;)Ljava/nio/ByteBuffer; // method@0600 │ │ +025322: 0c01 |0011: move-result-object v1 │ │ +025324: 6e10 fa05 0100 |0012: invoke-virtual {v1}, Ljava/nio/ByteBuffer;.asIntBuffer:()Ljava/nio/IntBuffer; // method@05fa │ │ +02532a: 0c01 |0015: move-result-object v1 │ │ +02532c: 5b01 1403 |0016: iput-object v1, v0, Lip/UDPPacket;.udpHeader:Ljava/nio/IntBuffer; // field@0314 │ │ +025330: 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 │ │ @@ -55528,83 +55528,83 @@ │ │ type : '(Z)I' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 8 │ │ ins : 2 │ │ outs : 3 │ │ insns size : 135 16-bit code units │ │ -0250a4: |[0250a4] ip.UDPPacket.calculateCheckSum:(Z)I │ │ -0250b4: 5260 1503 |0000: iget v0, v6, Lip/UDPPacket;.version:I // field@0315 │ │ -0250b8: 1241 |0002: const/4 v1, #int 4 // #4 │ │ -0250ba: 3310 2a00 |0003: if-ne v0, v1, 002d // +002a │ │ -0250be: 5460 1103 |0005: iget-object v0, v6, Lip/UDPPacket;.ipHeader:Ljava/nio/IntBuffer; // field@0311 │ │ -0250c2: 1221 |0007: const/4 v1, #int 2 // #2 │ │ -0250c4: 6e20 0a06 1000 |0008: invoke-virtual {v0, v1}, Ljava/nio/IntBuffer;.get:(I)I // method@060a │ │ -0250ca: 0a00 |000b: move-result v0 │ │ -0250cc: 5462 1103 |000c: iget-object v2, v6, Lip/UDPPacket;.ipHeader:Ljava/nio/IntBuffer; // field@0311 │ │ -0250d0: 1503 1100 |000e: const/high16 v3, #int 1114112 // #11 │ │ -0250d4: 5264 1203 |0010: iget v4, v6, Lip/UDPPacket;.len:I // field@0312 │ │ -0250d8: b034 |0012: add-int/2addr v4, v3 │ │ -0250da: 5263 1003 |0013: iget v3, v6, Lip/UDPPacket;.ipHdrlen:I // field@0310 │ │ -0250de: b134 |0015: sub-int/2addr v4, v3 │ │ -0250e0: 6e30 0f06 1204 |0016: invoke-virtual {v2, v1, v4}, Ljava/nio/IntBuffer;.put:(II)Ljava/nio/IntBuffer; // method@060f │ │ -0250e6: 5462 0f03 |0019: iget-object v2, v6, Lip/UDPPacket;.data:[B // field@030f │ │ -0250ea: 5263 1303 |001b: iget v3, v6, Lip/UDPPacket;.offset:I // field@0313 │ │ -0250ee: d803 0308 |001d: add-int/lit8 v3, v3, #int 8 // #08 │ │ -0250f2: 5264 1203 |001f: iget v4, v6, Lip/UDPPacket;.len:I // field@0312 │ │ -0250f6: d804 04f8 |0021: add-int/lit8 v4, v4, #int -8 // #f8 │ │ -0250fa: 7130 a804 3204 |0023: invoke-static {v2, v3, v4}, Lip/CheckSum;.chkSum:([BII)I // method@04a8 │ │ -025100: 0a02 |0026: move-result v2 │ │ -025102: 5463 1103 |0027: iget-object v3, v6, Lip/UDPPacket;.ipHeader:Ljava/nio/IntBuffer; // field@0311 │ │ -025106: 6e30 0f06 1300 |0029: invoke-virtual {v3, v1, v0}, Ljava/nio/IntBuffer;.put:(II)Ljava/nio/IntBuffer; // method@060f │ │ -02510c: 283d |002c: goto 0069 // +003d │ │ -02510e: 5260 1503 |002d: iget v0, v6, Lip/UDPPacket;.version:I // field@0315 │ │ -025112: 1261 |002f: const/4 v1, #int 6 // #6 │ │ -025114: 3310 4100 |0030: if-ne v0, v1, 0071 // +0041 │ │ -025118: 5460 1103 |0032: iget-object v0, v6, Lip/UDPPacket;.ipHeader:Ljava/nio/IntBuffer; // field@0311 │ │ -02511c: 1201 |0034: const/4 v1, #int 0 // #0 │ │ -02511e: 6e20 0a06 1000 |0035: invoke-virtual {v0, v1}, Ljava/nio/IntBuffer;.get:(I)I // method@060a │ │ -025124: 0a00 |0038: move-result v0 │ │ -025126: 5462 1103 |0039: iget-object v2, v6, Lip/UDPPacket;.ipHeader:Ljava/nio/IntBuffer; // field@0311 │ │ -02512a: 1213 |003b: const/4 v3, #int 1 // #1 │ │ -02512c: 6e20 0a06 3200 |003c: invoke-virtual {v2, v3}, Ljava/nio/IntBuffer;.get:(I)I // method@060a │ │ -025132: 0a02 |003f: move-result v2 │ │ -025134: 2420 9e01 2000 |0040: filled-new-array {v0, v2}, [I // type@019e │ │ -02513a: 0c00 |0043: move-result-object v0 │ │ -02513c: 5462 1103 |0044: iget-object v2, v6, Lip/UDPPacket;.ipHeader:Ljava/nio/IntBuffer; // field@0311 │ │ -025140: 5264 1203 |0046: iget v4, v6, Lip/UDPPacket;.len:I // field@0312 │ │ -025144: 5265 1003 |0048: iget v5, v6, Lip/UDPPacket;.ipHdrlen:I // field@0310 │ │ -025148: b154 |004a: sub-int/2addr v4, v5 │ │ -02514a: 6e30 0f06 1204 |004b: invoke-virtual {v2, v1, v4}, Ljava/nio/IntBuffer;.put:(II)Ljava/nio/IntBuffer; // method@060f │ │ -025150: 5462 1103 |004e: iget-object v2, v6, Lip/UDPPacket;.ipHeader:Ljava/nio/IntBuffer; // field@0311 │ │ -025154: 1304 1100 |0050: const/16 v4, #int 17 // #11 │ │ -025158: 6e30 0f06 3204 |0052: invoke-virtual {v2, v3, v4}, Ljava/nio/IntBuffer;.put:(II)Ljava/nio/IntBuffer; // method@060f │ │ -02515e: 5462 0f03 |0055: iget-object v2, v6, Lip/UDPPacket;.data:[B // field@030f │ │ -025162: 5263 1303 |0057: iget v3, v6, Lip/UDPPacket;.offset:I // field@0313 │ │ -025166: 5264 1203 |0059: iget v4, v6, Lip/UDPPacket;.len:I // field@0312 │ │ -02516a: 7130 a804 3204 |005b: invoke-static {v2, v3, v4}, Lip/CheckSum;.chkSum:([BII)I // method@04a8 │ │ -025170: 0a02 |005e: move-result v2 │ │ -025172: 5463 1103 |005f: iget-object v3, v6, Lip/UDPPacket;.ipHeader:Ljava/nio/IntBuffer; // field@0311 │ │ -025176: 6e20 0d06 1300 |0061: invoke-virtual {v3, v1}, Ljava/nio/IntBuffer;.position:(I)Ljava/nio/Buffer; // method@060d │ │ -02517c: 5461 1103 |0064: iget-object v1, v6, Lip/UDPPacket;.ipHeader:Ljava/nio/IntBuffer; // field@0311 │ │ -025180: 6e20 1006 0100 |0066: invoke-virtual {v1, v0}, Ljava/nio/IntBuffer;.put:([I)Ljava/nio/IntBuffer; // method@0610 │ │ -025186: 3807 0700 |0069: if-eqz v7, 0070 // +0007 │ │ -02518a: 3902 0500 |006b: if-nez v2, 0070 // +0005 │ │ -02518e: 1402 ffff 0000 |006d: const v2, #float 9.18341e-41 // #0000ffff │ │ -025194: 0f02 |0070: return v2 │ │ -025196: 2207 1d01 |0071: new-instance v7, Ljava/lang/IllegalStateException; // type@011d │ │ -02519a: 2200 2d01 |0073: new-instance v0, Ljava/lang/StringBuilder; // type@012d │ │ -02519e: 1a01 e201 |0075: const-string v1, "Illegal version:" // string@01e2 │ │ -0251a2: 7020 a805 1000 |0077: invoke-direct {v0, v1}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05a8 │ │ -0251a8: 5261 1503 |007a: iget v1, v6, Lip/UDPPacket;.version:I // field@0315 │ │ -0251ac: 6e20 aa05 1000 |007c: invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@05aa │ │ -0251b2: 6e10 af05 0000 |007f: invoke-virtual {v0}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ -0251b8: 0c00 |0082: move-result-object v0 │ │ -0251ba: 7020 6105 0700 |0083: invoke-direct {v7, v0}, Ljava/lang/IllegalStateException;.:(Ljava/lang/String;)V // method@0561 │ │ -0251c0: 2707 |0086: throw v7 │ │ +0250a0: |[0250a0] ip.UDPPacket.calculateCheckSum:(Z)I │ │ +0250b0: 5260 1503 |0000: iget v0, v6, Lip/UDPPacket;.version:I // field@0315 │ │ +0250b4: 1241 |0002: const/4 v1, #int 4 // #4 │ │ +0250b6: 3310 2a00 |0003: if-ne v0, v1, 002d // +002a │ │ +0250ba: 5460 1103 |0005: iget-object v0, v6, Lip/UDPPacket;.ipHeader:Ljava/nio/IntBuffer; // field@0311 │ │ +0250be: 1221 |0007: const/4 v1, #int 2 // #2 │ │ +0250c0: 6e20 0a06 1000 |0008: invoke-virtual {v0, v1}, Ljava/nio/IntBuffer;.get:(I)I // method@060a │ │ +0250c6: 0a00 |000b: move-result v0 │ │ +0250c8: 5462 1103 |000c: iget-object v2, v6, Lip/UDPPacket;.ipHeader:Ljava/nio/IntBuffer; // field@0311 │ │ +0250cc: 1503 1100 |000e: const/high16 v3, #int 1114112 // #11 │ │ +0250d0: 5264 1203 |0010: iget v4, v6, Lip/UDPPacket;.len:I // field@0312 │ │ +0250d4: b034 |0012: add-int/2addr v4, v3 │ │ +0250d6: 5263 1003 |0013: iget v3, v6, Lip/UDPPacket;.ipHdrlen:I // field@0310 │ │ +0250da: b134 |0015: sub-int/2addr v4, v3 │ │ +0250dc: 6e30 0f06 1204 |0016: invoke-virtual {v2, v1, v4}, Ljava/nio/IntBuffer;.put:(II)Ljava/nio/IntBuffer; // method@060f │ │ +0250e2: 5462 0f03 |0019: iget-object v2, v6, Lip/UDPPacket;.data:[B // field@030f │ │ +0250e6: 5263 1303 |001b: iget v3, v6, Lip/UDPPacket;.offset:I // field@0313 │ │ +0250ea: d803 0308 |001d: add-int/lit8 v3, v3, #int 8 // #08 │ │ +0250ee: 5264 1203 |001f: iget v4, v6, Lip/UDPPacket;.len:I // field@0312 │ │ +0250f2: d804 04f8 |0021: add-int/lit8 v4, v4, #int -8 // #f8 │ │ +0250f6: 7130 a804 3204 |0023: invoke-static {v2, v3, v4}, Lip/CheckSum;.chkSum:([BII)I // method@04a8 │ │ +0250fc: 0a02 |0026: move-result v2 │ │ +0250fe: 5463 1103 |0027: iget-object v3, v6, Lip/UDPPacket;.ipHeader:Ljava/nio/IntBuffer; // field@0311 │ │ +025102: 6e30 0f06 1300 |0029: invoke-virtual {v3, v1, v0}, Ljava/nio/IntBuffer;.put:(II)Ljava/nio/IntBuffer; // method@060f │ │ +025108: 283d |002c: goto 0069 // +003d │ │ +02510a: 5260 1503 |002d: iget v0, v6, Lip/UDPPacket;.version:I // field@0315 │ │ +02510e: 1261 |002f: const/4 v1, #int 6 // #6 │ │ +025110: 3310 4100 |0030: if-ne v0, v1, 0071 // +0041 │ │ +025114: 5460 1103 |0032: iget-object v0, v6, Lip/UDPPacket;.ipHeader:Ljava/nio/IntBuffer; // field@0311 │ │ +025118: 1201 |0034: const/4 v1, #int 0 // #0 │ │ +02511a: 6e20 0a06 1000 |0035: invoke-virtual {v0, v1}, Ljava/nio/IntBuffer;.get:(I)I // method@060a │ │ +025120: 0a00 |0038: move-result v0 │ │ +025122: 5462 1103 |0039: iget-object v2, v6, Lip/UDPPacket;.ipHeader:Ljava/nio/IntBuffer; // field@0311 │ │ +025126: 1213 |003b: const/4 v3, #int 1 // #1 │ │ +025128: 6e20 0a06 3200 |003c: invoke-virtual {v2, v3}, Ljava/nio/IntBuffer;.get:(I)I // method@060a │ │ +02512e: 0a02 |003f: move-result v2 │ │ +025130: 2420 9e01 2000 |0040: filled-new-array {v0, v2}, [I // type@019e │ │ +025136: 0c00 |0043: move-result-object v0 │ │ +025138: 5462 1103 |0044: iget-object v2, v6, Lip/UDPPacket;.ipHeader:Ljava/nio/IntBuffer; // field@0311 │ │ +02513c: 5264 1203 |0046: iget v4, v6, Lip/UDPPacket;.len:I // field@0312 │ │ +025140: 5265 1003 |0048: iget v5, v6, Lip/UDPPacket;.ipHdrlen:I // field@0310 │ │ +025144: b154 |004a: sub-int/2addr v4, v5 │ │ +025146: 6e30 0f06 1204 |004b: invoke-virtual {v2, v1, v4}, Ljava/nio/IntBuffer;.put:(II)Ljava/nio/IntBuffer; // method@060f │ │ +02514c: 5462 1103 |004e: iget-object v2, v6, Lip/UDPPacket;.ipHeader:Ljava/nio/IntBuffer; // field@0311 │ │ +025150: 1304 1100 |0050: const/16 v4, #int 17 // #11 │ │ +025154: 6e30 0f06 3204 |0052: invoke-virtual {v2, v3, v4}, Ljava/nio/IntBuffer;.put:(II)Ljava/nio/IntBuffer; // method@060f │ │ +02515a: 5462 0f03 |0055: iget-object v2, v6, Lip/UDPPacket;.data:[B // field@030f │ │ +02515e: 5263 1303 |0057: iget v3, v6, Lip/UDPPacket;.offset:I // field@0313 │ │ +025162: 5264 1203 |0059: iget v4, v6, Lip/UDPPacket;.len:I // field@0312 │ │ +025166: 7130 a804 3204 |005b: invoke-static {v2, v3, v4}, Lip/CheckSum;.chkSum:([BII)I // method@04a8 │ │ +02516c: 0a02 |005e: move-result v2 │ │ +02516e: 5463 1103 |005f: iget-object v3, v6, Lip/UDPPacket;.ipHeader:Ljava/nio/IntBuffer; // field@0311 │ │ +025172: 6e20 0d06 1300 |0061: invoke-virtual {v3, v1}, Ljava/nio/IntBuffer;.position:(I)Ljava/nio/Buffer; // method@060d │ │ +025178: 5461 1103 |0064: iget-object v1, v6, Lip/UDPPacket;.ipHeader:Ljava/nio/IntBuffer; // field@0311 │ │ +02517c: 6e20 1006 0100 |0066: invoke-virtual {v1, v0}, Ljava/nio/IntBuffer;.put:([I)Ljava/nio/IntBuffer; // method@0610 │ │ +025182: 3807 0700 |0069: if-eqz v7, 0070 // +0007 │ │ +025186: 3902 0500 |006b: if-nez v2, 0070 // +0005 │ │ +02518a: 1402 ffff 0000 |006d: const v2, #float 9.18341e-41 // #0000ffff │ │ +025190: 0f02 |0070: return v2 │ │ +025192: 2207 1d01 |0071: new-instance v7, Ljava/lang/IllegalStateException; // type@011d │ │ +025196: 2200 2d01 |0073: new-instance v0, Ljava/lang/StringBuilder; // type@012d │ │ +02519a: 1a01 e201 |0075: const-string v1, "Illegal version:" // string@01e2 │ │ +02519e: 7020 a805 1000 |0077: invoke-direct {v0, v1}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05a8 │ │ +0251a4: 5261 1503 |007a: iget v1, v6, Lip/UDPPacket;.version:I // field@0315 │ │ +0251a8: 6e20 aa05 1000 |007c: invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@05aa │ │ +0251ae: 6e10 af05 0000 |007f: invoke-virtual {v0}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ +0251b4: 0c00 |0082: move-result-object v0 │ │ +0251b6: 7020 6105 0700 |0083: invoke-direct {v7, v0}, Ljava/lang/IllegalStateException;.:(Ljava/lang/String;)V // method@0561 │ │ +0251bc: 2707 |0086: throw v7 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=64 │ │ 0x0005 line=65 │ │ 0x000c line=66 │ │ 0x0019 line=67 │ │ 0x0027 line=68 │ │ @@ -55625,23 +55625,23 @@ │ │ type : '([BIII)Lip/UDPPacket;' │ │ access : 0x0009 (PUBLIC STATIC) │ │ code - │ │ registers : 4 │ │ ins : 4 │ │ outs : 4 │ │ insns size : 16 16-bit code units │ │ -0252c4: |[0252c4] ip.UDPPacket.createUDPPacket:([BIII)Lip/UDPPacket; │ │ -0252d4: e003 0304 |0000: shl-int/lit8 v3, v3, #int 4 // #04 │ │ -0252d8: d533 ff00 |0002: and-int/lit16 v3, v3, #int 255 // #00ff │ │ -0252dc: 8d33 |0004: int-to-byte v3, v3 │ │ -0252de: 4f03 0001 |0005: aput-byte v3, v0, v1 │ │ -0252e2: 2203 f100 |0007: new-instance v3, Lip/UDPPacket; // type@00f1 │ │ -0252e6: 7040 bf04 0321 |0009: invoke-direct {v3, v0, v1, v2}, Lip/UDPPacket;.:([BII)V // method@04bf │ │ -0252ec: 6e10 cf04 0300 |000c: invoke-virtual {v3}, Lip/UDPPacket;.initInitialIPHeader:()V // method@04cf │ │ -0252f2: 1103 |000f: return-object v3 │ │ +0252c0: |[0252c0] ip.UDPPacket.createUDPPacket:([BIII)Lip/UDPPacket; │ │ +0252d0: e003 0304 |0000: shl-int/lit8 v3, v3, #int 4 // #04 │ │ +0252d4: d533 ff00 |0002: and-int/lit16 v3, v3, #int 255 // #00ff │ │ +0252d8: 8d33 |0004: int-to-byte v3, v3 │ │ +0252da: 4f03 0001 |0005: aput-byte v3, v0, v1 │ │ +0252de: 2203 f100 |0007: new-instance v3, Lip/UDPPacket; // type@00f1 │ │ +0252e2: 7040 bf04 0321 |0009: invoke-direct {v3, v0, v1, v2}, Lip/UDPPacket;.:([BII)V // method@04bf │ │ +0252e8: 6e10 cf04 0300 |000c: invoke-virtual {v3}, Lip/UDPPacket;.initInitialIPHeader:()V // method@04cf │ │ +0252ee: 1103 |000f: return-object v3 │ │ catches : (none) │ │ positions : │ │ 0x0005 line=41 │ │ 0x0007 line=43 │ │ 0x000c line=44 │ │ locals : │ │ 0x0000 - 0x0010 reg=0 (null) [B │ │ @@ -55655,19 +55655,19 @@ │ │ type : '()I' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 6 16-bit code units │ │ -0251c4: |[0251c4] ip.UDPPacket.checkCheckSum:()I │ │ -0251d4: 1200 |0000: const/4 v0, #int 0 // #0 │ │ -0251d6: 7020 c004 0100 |0001: invoke-direct {v1, v0}, Lip/UDPPacket;.calculateCheckSum:(Z)I // method@04c0 │ │ -0251dc: 0a00 |0004: move-result v0 │ │ -0251de: 0f00 |0005: return v0 │ │ +0251c0: |[0251c0] ip.UDPPacket.checkCheckSum:()I │ │ +0251d0: 1200 |0000: const/4 v0, #int 0 // #0 │ │ +0251d2: 7020 c004 0100 |0001: invoke-direct {v1, v0}, Lip/UDPPacket;.calculateCheckSum:(Z)I // method@04c0 │ │ +0251d8: 0a00 |0004: move-result v0 │ │ +0251da: 0f00 |0005: return v0 │ │ catches : (none) │ │ positions : │ │ 0x0001 line=59 │ │ locals : │ │ 0x0000 - 0x0006 reg=1 this Lip/UDPPacket; │ │ │ │ #1 : (in Lip/UDPPacket;) │ │ @@ -55675,22 +55675,22 @@ │ │ type : '()I' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 3 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 12 16-bit code units │ │ -0251e0: |[0251e0] ip.UDPPacket.getDestPort:()I │ │ -0251f0: 5420 1403 |0000: iget-object v0, v2, Lip/UDPPacket;.udpHeader:Ljava/nio/IntBuffer; // field@0314 │ │ -0251f4: 1201 |0002: const/4 v1, #int 0 // #0 │ │ -0251f6: 6e20 0a06 1000 |0003: invoke-virtual {v0, v1}, Ljava/nio/IntBuffer;.get:(I)I // method@060a │ │ -0251fc: 0a00 |0006: move-result v0 │ │ -0251fe: 1401 ffff 0000 |0007: const v1, #float 9.18341e-41 // #0000ffff │ │ -025204: b510 |000a: and-int/2addr v0, v1 │ │ -025206: 0f00 |000b: return v0 │ │ +0251dc: |[0251dc] ip.UDPPacket.getDestPort:()I │ │ +0251ec: 5420 1403 |0000: iget-object v0, v2, Lip/UDPPacket;.udpHeader:Ljava/nio/IntBuffer; // field@0314 │ │ +0251f0: 1201 |0002: const/4 v1, #int 0 // #0 │ │ +0251f2: 6e20 0a06 1000 |0003: invoke-virtual {v0, v1}, Ljava/nio/IntBuffer;.get:(I)I // method@060a │ │ +0251f8: 0a00 |0006: move-result v0 │ │ +0251fa: 1401 ffff 0000 |0007: const v1, #float 9.18341e-41 // #0000ffff │ │ +025200: b510 |000a: and-int/2addr v0, v1 │ │ +025202: 0f00 |000b: return v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=90 │ │ locals : │ │ 0x0000 - 0x000c reg=2 this Lip/UDPPacket; │ │ │ │ #2 : (in Lip/UDPPacket;) │ │ @@ -55698,18 +55698,18 @@ │ │ type : '()I' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 0 │ │ insns size : 5 16-bit code units │ │ -025208: |[025208] ip.UDPPacket.getHeaderLength:()I │ │ -025218: 5210 1003 |0000: iget v0, v1, Lip/UDPPacket;.ipHdrlen:I // field@0310 │ │ -02521c: d800 0008 |0002: add-int/lit8 v0, v0, #int 8 // #08 │ │ -025220: 0f00 |0004: return v0 │ │ +025204: |[025204] ip.UDPPacket.getHeaderLength:()I │ │ +025214: 5210 1003 |0000: iget v0, v1, Lip/UDPPacket;.ipHdrlen:I // field@0310 │ │ +025218: d800 0008 |0002: add-int/lit8 v0, v0, #int 8 // #08 │ │ +02521c: 0f00 |0004: return v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=102 │ │ locals : │ │ 0x0000 - 0x0005 reg=1 this Lip/UDPPacket; │ │ │ │ #3 : (in Lip/UDPPacket;) │ │ @@ -55717,18 +55717,18 @@ │ │ type : '()I' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 5 16-bit code units │ │ -025224: |[025224] ip.UDPPacket.getIPPacketLength:()I │ │ -025234: 6f10 b404 0100 |0000: invoke-super {v1}, Lip/IPPacket;.getLength:()I // method@04b4 │ │ -02523a: 0a00 |0003: move-result v0 │ │ -02523c: 0f00 |0004: return v0 │ │ +025220: |[025220] ip.UDPPacket.getIPPacketLength:()I │ │ +025230: 6f10 b404 0100 |0000: invoke-super {v1}, Lip/IPPacket;.getLength:()I // method@04b4 │ │ +025236: 0a00 |0003: move-result v0 │ │ +025238: 0f00 |0004: return v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=98 │ │ locals : │ │ 0x0000 - 0x0005 reg=1 this Lip/UDPPacket; │ │ │ │ #4 : (in Lip/UDPPacket;) │ │ @@ -55736,18 +55736,18 @@ │ │ type : '()I' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 5 16-bit code units │ │ -025240: |[025240] ip.UDPPacket.getIPPacketOffset:()I │ │ -025250: 6f10 b504 0100 |0000: invoke-super {v1}, Lip/IPPacket;.getOffset:()I // method@04b5 │ │ -025256: 0a00 |0003: move-result v0 │ │ -025258: 0f00 |0004: return v0 │ │ +02523c: |[02523c] ip.UDPPacket.getIPPacketOffset:()I │ │ +02524c: 6f10 b504 0100 |0000: invoke-super {v1}, Lip/IPPacket;.getOffset:()I // method@04b5 │ │ +025252: 0a00 |0003: move-result v0 │ │ +025254: 0f00 |0004: return v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=110 │ │ locals : │ │ 0x0000 - 0x0005 reg=1 this Lip/UDPPacket; │ │ │ │ #5 : (in Lip/UDPPacket;) │ │ @@ -55755,21 +55755,21 @@ │ │ type : '()I' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 3 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 10 16-bit code units │ │ -02525c: |[02525c] ip.UDPPacket.getLength:()I │ │ -02526c: 5420 1403 |0000: iget-object v0, v2, Lip/UDPPacket;.udpHeader:Ljava/nio/IntBuffer; // field@0314 │ │ -025270: 1211 |0002: const/4 v1, #int 1 // #1 │ │ -025272: 6e20 0a06 1000 |0003: invoke-virtual {v0, v1}, Ljava/nio/IntBuffer;.get:(I)I // method@060a │ │ -025278: 0a00 |0006: move-result v0 │ │ -02527a: e200 0010 |0007: ushr-int/lit8 v0, v0, #int 16 // #10 │ │ -02527e: 0f00 |0009: return v0 │ │ +025258: |[025258] ip.UDPPacket.getLength:()I │ │ +025268: 5420 1403 |0000: iget-object v0, v2, Lip/UDPPacket;.udpHeader:Ljava/nio/IntBuffer; // field@0314 │ │ +02526c: 1211 |0002: const/4 v1, #int 1 // #1 │ │ +02526e: 6e20 0a06 1000 |0003: invoke-virtual {v0, v1}, Ljava/nio/IntBuffer;.get:(I)I // method@060a │ │ +025274: 0a00 |0006: move-result v0 │ │ +025276: e200 0010 |0007: ushr-int/lit8 v0, v0, #int 16 // #10 │ │ +02527a: 0f00 |0009: return v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=94 │ │ locals : │ │ 0x0000 - 0x000a reg=2 this Lip/UDPPacket; │ │ │ │ #6 : (in Lip/UDPPacket;) │ │ @@ -55777,20 +55777,20 @@ │ │ type : '()I' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 3 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 8 16-bit code units │ │ -025280: |[025280] ip.UDPPacket.getOffset:()I │ │ -025290: 6f10 b504 0200 |0000: invoke-super {v2}, Lip/IPPacket;.getOffset:()I // method@04b5 │ │ -025296: 0a00 |0003: move-result v0 │ │ -025298: 5221 1003 |0004: iget v1, v2, Lip/UDPPacket;.ipHdrlen:I // field@0310 │ │ -02529c: b010 |0006: add-int/2addr v0, v1 │ │ -02529e: 0f00 |0007: return v0 │ │ +02527c: |[02527c] ip.UDPPacket.getOffset:()I │ │ +02528c: 6f10 b504 0200 |0000: invoke-super {v2}, Lip/IPPacket;.getOffset:()I // method@04b5 │ │ +025292: 0a00 |0003: move-result v0 │ │ +025294: 5221 1003 |0004: iget v1, v2, Lip/UDPPacket;.ipHdrlen:I // field@0310 │ │ +025298: b010 |0006: add-int/2addr v0, v1 │ │ +02529a: 0f00 |0007: return v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=106 │ │ locals : │ │ 0x0000 - 0x0008 reg=2 this Lip/UDPPacket; │ │ │ │ #7 : (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 │ │ -0252a0: |[0252a0] ip.UDPPacket.getSourcePort:()I │ │ -0252b0: 5420 1403 |0000: iget-object v0, v2, Lip/UDPPacket;.udpHeader:Ljava/nio/IntBuffer; // field@0314 │ │ -0252b4: 1201 |0002: const/4 v1, #int 0 // #0 │ │ -0252b6: 6e20 0a06 1000 |0003: invoke-virtual {v0, v1}, Ljava/nio/IntBuffer;.get:(I)I // method@060a │ │ -0252bc: 0a00 |0006: move-result v0 │ │ -0252be: e200 0010 |0007: ushr-int/lit8 v0, v0, #int 16 // #10 │ │ -0252c2: 0f00 |0009: return v0 │ │ +02529c: |[02529c] ip.UDPPacket.getSourcePort:()I │ │ +0252ac: 5420 1403 |0000: iget-object v0, v2, Lip/UDPPacket;.udpHeader:Ljava/nio/IntBuffer; // field@0314 │ │ +0252b0: 1201 |0002: const/4 v1, #int 0 // #0 │ │ +0252b2: 6e20 0a06 1000 |0003: invoke-virtual {v0, v1}, Ljava/nio/IntBuffer;.get:(I)I // method@060a │ │ +0252b8: 0a00 |0006: move-result v0 │ │ +0252ba: e200 0010 |0007: ushr-int/lit8 v0, v0, #int 16 // #10 │ │ +0252be: 0f00 |0009: return v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=86 │ │ locals : │ │ 0x0000 - 0x000a reg=2 this Lip/UDPPacket; │ │ │ │ #8 : (in Lip/UDPPacket;) │ │ @@ -55820,37 +55820,37 @@ │ │ type : '(II)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 5 │ │ ins : 3 │ │ outs : 3 │ │ insns size : 41 16-bit code units │ │ -025338: |[025338] ip.UDPPacket.updateHeader:(II)V │ │ -025348: e003 0310 |0000: shl-int/lit8 v3, v3, #int 16 // #10 │ │ -02534c: b043 |0002: add-int/2addr v3, v4 │ │ -02534e: 5224 1203 |0003: iget v4, v2, Lip/UDPPacket;.len:I // field@0312 │ │ -025352: 5220 1003 |0005: iget v0, v2, Lip/UDPPacket;.ipHdrlen:I // field@0310 │ │ -025356: b104 |0007: sub-int/2addr v4, v0 │ │ -025358: e004 0410 |0008: shl-int/lit8 v4, v4, #int 16 // #10 │ │ -02535c: 2420 9e01 4300 |000a: filled-new-array {v3, v4}, [I // type@019e │ │ -025362: 0c03 |000d: move-result-object v3 │ │ -025364: 5424 1403 |000e: iget-object v4, v2, Lip/UDPPacket;.udpHeader:Ljava/nio/IntBuffer; // field@0314 │ │ -025368: 1200 |0010: const/4 v0, #int 0 // #0 │ │ -02536a: 6e20 0d06 0400 |0011: invoke-virtual {v4, v0}, Ljava/nio/IntBuffer;.position:(I)Ljava/nio/Buffer; // method@060d │ │ -025370: 5424 1403 |0014: iget-object v4, v2, Lip/UDPPacket;.udpHeader:Ljava/nio/IntBuffer; // field@0314 │ │ -025374: 6e20 1006 3400 |0016: invoke-virtual {v4, v3}, Ljava/nio/IntBuffer;.put:([I)Ljava/nio/IntBuffer; // method@0610 │ │ -02537a: 1214 |0019: const/4 v4, #int 1 // #1 │ │ -02537c: 4400 0304 |001a: aget v0, v3, v4 │ │ -025380: 7020 c004 4200 |001c: invoke-direct {v2, v4}, Lip/UDPPacket;.calculateCheckSum:(Z)I // method@04c0 │ │ -025386: 0a01 |001f: move-result v1 │ │ -025388: b010 |0020: add-int/2addr v0, v1 │ │ -02538a: 4b00 0304 |0021: aput v0, v3, v4 │ │ -02538e: 5423 1403 |0023: iget-object v3, v2, Lip/UDPPacket;.udpHeader:Ljava/nio/IntBuffer; // field@0314 │ │ -025392: 6e30 0f06 4300 |0025: invoke-virtual {v3, v4, v0}, Ljava/nio/IntBuffer;.put:(II)Ljava/nio/IntBuffer; // method@060f │ │ -025398: 0e00 |0028: return-void │ │ +025334: |[025334] ip.UDPPacket.updateHeader:(II)V │ │ +025344: e003 0310 |0000: shl-int/lit8 v3, v3, #int 16 // #10 │ │ +025348: b043 |0002: add-int/2addr v3, v4 │ │ +02534a: 5224 1203 |0003: iget v4, v2, Lip/UDPPacket;.len:I // field@0312 │ │ +02534e: 5220 1003 |0005: iget v0, v2, Lip/UDPPacket;.ipHdrlen:I // field@0310 │ │ +025352: b104 |0007: sub-int/2addr v4, v0 │ │ +025354: e004 0410 |0008: shl-int/lit8 v4, v4, #int 16 // #10 │ │ +025358: 2420 9e01 4300 |000a: filled-new-array {v3, v4}, [I // type@019e │ │ +02535e: 0c03 |000d: move-result-object v3 │ │ +025360: 5424 1403 |000e: iget-object v4, v2, Lip/UDPPacket;.udpHeader:Ljava/nio/IntBuffer; // field@0314 │ │ +025364: 1200 |0010: const/4 v0, #int 0 // #0 │ │ +025366: 6e20 0d06 0400 |0011: invoke-virtual {v4, v0}, Ljava/nio/IntBuffer;.position:(I)Ljava/nio/Buffer; // method@060d │ │ +02536c: 5424 1403 |0014: iget-object v4, v2, Lip/UDPPacket;.udpHeader:Ljava/nio/IntBuffer; // field@0314 │ │ +025370: 6e20 1006 3400 |0016: invoke-virtual {v4, v3}, Ljava/nio/IntBuffer;.put:([I)Ljava/nio/IntBuffer; // method@0610 │ │ +025376: 1214 |0019: const/4 v4, #int 1 // #1 │ │ +025378: 4400 0304 |001a: aget v0, v3, v4 │ │ +02537c: 7020 c004 4200 |001c: invoke-direct {v2, v4}, Lip/UDPPacket;.calculateCheckSum:(Z)I // method@04c0 │ │ +025382: 0a01 |001f: move-result v1 │ │ +025384: b010 |0020: add-int/2addr v0, v1 │ │ +025386: 4b00 0304 |0021: aput v0, v3, v4 │ │ +02538a: 5423 1403 |0023: iget-object v3, v2, Lip/UDPPacket;.udpHeader:Ljava/nio/IntBuffer; // field@0314 │ │ +02538e: 6e30 0f06 4300 |0025: invoke-virtual {v3, v4, v0}, Ljava/nio/IntBuffer;.put:(II)Ljava/nio/IntBuffer; // method@060f │ │ +025394: 0e00 |0028: return-void │ │ catches : (none) │ │ positions : │ │ 0x0003 line=51 │ │ 0x000e line=52 │ │ 0x0014 line=53 │ │ 0x001a line=54 │ │ 0x0023 line=55 │ │ @@ -55916,22 +55916,22 @@ │ │ type : '(Lutil/LoggerInterface;)V' │ │ access : 0x10001 (PUBLIC CONSTRUCTOR) │ │ code - │ │ registers : 3 │ │ ins : 2 │ │ outs : 1 │ │ insns size : 14 16-bit code units │ │ -02539c: |[02539c] util.AsyncBulkLogger.:(Lutil/LoggerInterface;)V │ │ -0253ac: 7010 7305 0100 |0000: invoke-direct {v1}, Ljava/lang/Object;.:()V // method@0573 │ │ -0253b2: 1200 |0003: const/4 v0, #int 0 // #0 │ │ -0253b4: 5c10 1f03 |0004: iput-boolean v0, v1, Lutil/AsyncBulkLogger;.closed:Z // field@031f │ │ -0253b8: 5c10 2403 |0006: iput-boolean v0, v1, Lutil/AsyncBulkLogger;.timeStampEnabled:Z // field@0324 │ │ -0253bc: 5b12 2003 |0008: iput-object v2, v1, Lutil/AsyncBulkLogger;.out:Lutil/LoggerInterface; // field@0320 │ │ -0253c0: 7010 b206 0100 |000a: invoke-direct {v1}, Lutil/AsyncBulkLogger;.logOpen:()V // method@06b2 │ │ -0253c6: 0e00 |000d: return-void │ │ +025398: |[025398] util.AsyncBulkLogger.:(Lutil/LoggerInterface;)V │ │ +0253a8: 7010 7305 0100 |0000: invoke-direct {v1}, Ljava/lang/Object;.:()V // method@0573 │ │ +0253ae: 1200 |0003: const/4 v0, #int 0 // #0 │ │ +0253b0: 5c10 1f03 |0004: iput-boolean v0, v1, Lutil/AsyncBulkLogger;.closed:Z // field@031f │ │ +0253b4: 5c10 2403 |0006: iput-boolean v0, v1, Lutil/AsyncBulkLogger;.timeStampEnabled:Z // field@0324 │ │ +0253b8: 5b12 2003 |0008: iput-object v2, v1, Lutil/AsyncBulkLogger;.out:Lutil/LoggerInterface; // field@0320 │ │ +0253bc: 7010 b206 0100 |000a: invoke-direct {v1}, Lutil/AsyncBulkLogger;.logOpen:()V // method@06b2 │ │ +0253c2: 0e00 |000d: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=39 │ │ 0x0004 line=36 │ │ 0x0006 line=37 │ │ 0x0008 line=40 │ │ 0x000a line=41 │ │ @@ -55944,33 +55944,33 @@ │ │ type : '()V' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 4 │ │ ins : 1 │ │ outs : 3 │ │ insns size : 40 16-bit code units │ │ -025650: |[025650] util.AsyncBulkLogger.logOpen:()V │ │ -025660: 2200 0701 |0000: new-instance v0, Ljava/io/PipedInputStream; // type@0107 │ │ -025664: 1301 0028 |0002: const/16 v1, #int 10240 // #2800 │ │ -025668: 7020 3905 1000 |0004: invoke-direct {v0, v1}, Ljava/io/PipedInputStream;.:(I)V // method@0539 │ │ -02566e: 5b30 2103 |0007: iput-object v0, v3, Lutil/AsyncBulkLogger;.pin:Ljava/io/PipedInputStream; // field@0321 │ │ -025672: 2200 0801 |0009: new-instance v0, Ljava/io/PipedOutputStream; // type@0108 │ │ -025676: 5431 2103 |000b: iget-object v1, v3, Lutil/AsyncBulkLogger;.pin:Ljava/io/PipedInputStream; // field@0321 │ │ -02567a: 7020 3c05 1000 |000d: invoke-direct {v0, v1}, Ljava/io/PipedOutputStream;.:(Ljava/io/PipedInputStream;)V // method@053c │ │ -025680: 5b30 2203 |0010: iput-object v0, v3, Lutil/AsyncBulkLogger;.pout:Ljava/io/PipedOutputStream; // field@0322 │ │ -025684: 2200 0901 |0012: new-instance v0, Ljava/io/PrintStream; // type@0109 │ │ -025688: 5431 2203 |0014: iget-object v1, v3, Lutil/AsyncBulkLogger;.pout:Ljava/io/PipedOutputStream; // field@0322 │ │ -02568c: 1212 |0016: const/4 v2, #int 1 // #1 │ │ -02568e: 7030 3e05 1002 |0017: invoke-direct {v0, v1, v2}, Ljava/io/PrintStream;.:(Ljava/io/OutputStream;Z)V // method@053e │ │ -025694: 5b30 2303 |001a: iput-object v0, v3, Lutil/AsyncBulkLogger;.psout:Ljava/io/PrintStream; // field@0323 │ │ -025698: 2200 2f01 |001c: new-instance v0, Ljava/lang/Thread; // type@012f │ │ -02569c: 7020 b405 3000 |001e: invoke-direct {v0, v3}, Ljava/lang/Thread;.:(Ljava/lang/Runnable;)V // method@05b4 │ │ -0256a2: 6e20 b805 2000 |0021: invoke-virtual {v0, v2}, Ljava/lang/Thread;.setDaemon:(Z)V // method@05b8 │ │ -0256a8: 6e10 ba05 0000 |0024: invoke-virtual {v0}, Ljava/lang/Thread;.start:()V // method@05ba │ │ -0256ae: 0e00 |0027: return-void │ │ +02564c: |[02564c] util.AsyncBulkLogger.logOpen:()V │ │ +02565c: 2200 0701 |0000: new-instance v0, Ljava/io/PipedInputStream; // type@0107 │ │ +025660: 1301 0028 |0002: const/16 v1, #int 10240 // #2800 │ │ +025664: 7020 3905 1000 |0004: invoke-direct {v0, v1}, Ljava/io/PipedInputStream;.:(I)V // method@0539 │ │ +02566a: 5b30 2103 |0007: iput-object v0, v3, Lutil/AsyncBulkLogger;.pin:Ljava/io/PipedInputStream; // field@0321 │ │ +02566e: 2200 0801 |0009: new-instance v0, Ljava/io/PipedOutputStream; // type@0108 │ │ +025672: 5431 2103 |000b: iget-object v1, v3, Lutil/AsyncBulkLogger;.pin:Ljava/io/PipedInputStream; // field@0321 │ │ +025676: 7020 3c05 1000 |000d: invoke-direct {v0, v1}, Ljava/io/PipedOutputStream;.:(Ljava/io/PipedInputStream;)V // method@053c │ │ +02567c: 5b30 2203 |0010: iput-object v0, v3, Lutil/AsyncBulkLogger;.pout:Ljava/io/PipedOutputStream; // field@0322 │ │ +025680: 2200 0901 |0012: new-instance v0, Ljava/io/PrintStream; // type@0109 │ │ +025684: 5431 2203 |0014: iget-object v1, v3, Lutil/AsyncBulkLogger;.pout:Ljava/io/PipedOutputStream; // field@0322 │ │ +025688: 1212 |0016: const/4 v2, #int 1 // #1 │ │ +02568a: 7030 3e05 1002 |0017: invoke-direct {v0, v1, v2}, Ljava/io/PrintStream;.:(Ljava/io/OutputStream;Z)V // method@053e │ │ +025690: 5b30 2303 |001a: iput-object v0, v3, Lutil/AsyncBulkLogger;.psout:Ljava/io/PrintStream; // field@0323 │ │ +025694: 2200 2f01 |001c: new-instance v0, Ljava/lang/Thread; // type@012f │ │ +025698: 7020 b405 3000 |001e: invoke-direct {v0, v3}, Ljava/lang/Thread;.:(Ljava/lang/Runnable;)V // method@05b4 │ │ +02569e: 6e20 b805 2000 |0021: invoke-virtual {v0, v2}, Ljava/lang/Thread;.setDaemon:(Z)V // method@05b8 │ │ +0256a4: 6e10 ba05 0000 |0024: invoke-virtual {v0}, Ljava/lang/Thread;.start:()V // method@05ba │ │ +0256aa: 0e00 |0027: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=49 │ │ 0x0009 line=50 │ │ 0x0012 line=51 │ │ 0x001c line=53 │ │ 0x0021 line=54 │ │ @@ -55984,32 +55984,32 @@ │ │ type : '()V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 3 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 27 16-bit code units │ │ -0253c8: |[0253c8] util.AsyncBulkLogger.closeLogger:()V │ │ -0253d8: 5420 2103 |0000: iget-object v0, v2, Lutil/AsyncBulkLogger;.pin:Ljava/io/PipedInputStream; // field@0321 │ │ -0253dc: 1d00 |0002: monitor-enter v0 │ │ -0253de: 1211 |0003: const/4 v1, #int 1 // #1 │ │ -0253e0: 5c21 1f03 |0004: iput-boolean v1, v2, Lutil/AsyncBulkLogger;.closed:Z // field@031f │ │ -0253e4: 5421 2203 |0006: iget-object v1, v2, Lutil/AsyncBulkLogger;.pout:Ljava/io/PipedOutputStream; // field@0322 │ │ -0253e8: 6e10 3d05 0100 |0008: invoke-virtual {v1}, Ljava/io/PipedOutputStream;.close:()V // method@053d │ │ -0253ee: 5421 2103 |000b: iget-object v1, v2, Lutil/AsyncBulkLogger;.pin:Ljava/io/PipedInputStream; // field@0321 │ │ -0253f2: 6e10 7705 0100 |000d: invoke-virtual {v1}, Ljava/lang/Object;.notifyAll:()V // method@0577 │ │ -0253f8: 2807 |0010: goto 0017 // +0007 │ │ -0253fa: 0d01 |0011: move-exception v1 │ │ -0253fc: 2807 |0012: goto 0019 // +0007 │ │ -0253fe: 0d01 |0013: move-exception v1 │ │ -025400: 6e10 2305 0100 |0014: invoke-virtual {v1}, Ljava/io/IOException;.printStackTrace:()V // method@0523 │ │ -025406: 1e00 |0017: monitor-exit v0 │ │ -025408: 0e00 |0018: return-void │ │ -02540a: 1e00 |0019: monitor-exit v0 │ │ -02540c: 2701 |001a: throw v1 │ │ +0253c4: |[0253c4] util.AsyncBulkLogger.closeLogger:()V │ │ +0253d4: 5420 2103 |0000: iget-object v0, v2, Lutil/AsyncBulkLogger;.pin:Ljava/io/PipedInputStream; // field@0321 │ │ +0253d8: 1d00 |0002: monitor-enter v0 │ │ +0253da: 1211 |0003: const/4 v1, #int 1 // #1 │ │ +0253dc: 5c21 1f03 |0004: iput-boolean v1, v2, Lutil/AsyncBulkLogger;.closed:Z // field@031f │ │ +0253e0: 5421 2203 |0006: iget-object v1, v2, Lutil/AsyncBulkLogger;.pout:Ljava/io/PipedOutputStream; // field@0322 │ │ +0253e4: 6e10 3d05 0100 |0008: invoke-virtual {v1}, Ljava/io/PipedOutputStream;.close:()V // method@053d │ │ +0253ea: 5421 2103 |000b: iget-object v1, v2, Lutil/AsyncBulkLogger;.pin:Ljava/io/PipedInputStream; // field@0321 │ │ +0253ee: 6e10 7705 0100 |000d: invoke-virtual {v1}, Ljava/lang/Object;.notifyAll:()V // method@0577 │ │ +0253f4: 2807 |0010: goto 0017 // +0007 │ │ +0253f6: 0d01 |0011: move-exception v1 │ │ +0253f8: 2807 |0012: goto 0019 // +0007 │ │ +0253fa: 0d01 |0013: move-exception v1 │ │ +0253fc: 6e10 2305 0100 |0014: invoke-virtual {v1}, Ljava/io/IOException;.printStackTrace:()V // method@0523 │ │ +025402: 1e00 |0017: monitor-exit v0 │ │ +025404: 0e00 |0018: return-void │ │ +025406: 1e00 |0019: monitor-exit v0 │ │ +025408: 2701 |001a: throw v1 │ │ catches : 2 │ │ 0x0004 - 0x0010 │ │ Ljava/io/IOException; -> 0x0013 │ │ -> 0x0011 │ │ 0x0014 - 0x001a │ │ -> 0x0011 │ │ positions : │ │ @@ -56027,17 +56027,17 @@ │ │ type : '(Z)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 2 │ │ outs : 0 │ │ insns size : 3 16-bit code units │ │ -025428: |[025428] util.AsyncBulkLogger.enableTimestamp:(Z)V │ │ -025438: 5c01 2403 |0000: iput-boolean v1, v0, Lutil/AsyncBulkLogger;.timeStampEnabled:Z // field@0324 │ │ -02543c: 0e00 |0002: return-void │ │ +025424: |[025424] util.AsyncBulkLogger.enableTimestamp:(Z)V │ │ +025434: 5c01 2403 |0000: iput-boolean v1, v0, Lutil/AsyncBulkLogger;.timeStampEnabled:Z // field@0324 │ │ +025438: 0e00 |0002: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=45 │ │ locals : │ │ 0x0000 - 0x0003 reg=0 this Lutil/AsyncBulkLogger; │ │ 0x0000 - 0x0003 reg=1 (null) Z │ │ │ │ @@ -56046,45 +56046,45 @@ │ │ type : '(Ljava/lang/String;)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 7 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 55 16-bit code units │ │ -025440: |[025440] util.AsyncBulkLogger.log:(Ljava/lang/String;)V │ │ -025450: 5450 2303 |0000: iget-object v0, v5, Lutil/AsyncBulkLogger;.psout:Ljava/io/PrintStream; // field@0323 │ │ -025454: 1d00 |0002: monitor-enter v0 │ │ -025456: 5451 2103 |0003: iget-object v1, v5, Lutil/AsyncBulkLogger;.pin:Ljava/io/PipedInputStream; // field@0321 │ │ -02545a: 1d01 |0005: monitor-enter v1 │ │ -02545c: 5552 2403 |0006: iget-boolean v2, v5, Lutil/AsyncBulkLogger;.timeStampEnabled:Z // field@0324 │ │ -025460: 3802 1c00 |0008: if-eqz v2, 0024 // +001c │ │ -025464: 5452 2303 |000a: iget-object v2, v5, Lutil/AsyncBulkLogger;.psout:Ljava/io/PrintStream; // field@0323 │ │ -025468: 2203 2d01 |000c: new-instance v3, Ljava/lang/StringBuilder; // type@012d │ │ -02546c: 7010 a705 0300 |000e: invoke-direct {v3}, Ljava/lang/StringBuilder;.:()V // method@05a7 │ │ -025472: 7100 c106 0000 |0011: invoke-static {}, Lutil/DateRetriever;.getDateString:()Ljava/lang/String; // method@06c1 │ │ -025478: 0c04 |0014: move-result-object v4 │ │ -02547a: 6e20 ad05 4300 |0015: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -025480: 1a04 0d00 |0018: const-string v4, " " // string@000d │ │ -025484: 6e20 ad05 4300 |001a: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -02548a: 6e10 af05 0300 |001d: invoke-virtual {v3}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ -025490: 0c03 |0020: move-result-object v3 │ │ -025492: 6e20 3f05 3200 |0021: invoke-virtual {v2, v3}, Ljava/io/PrintStream;.print:(Ljava/lang/String;)V // method@053f │ │ -025498: 5452 2303 |0024: iget-object v2, v5, Lutil/AsyncBulkLogger;.psout:Ljava/io/PrintStream; // field@0323 │ │ -02549c: 6e20 3f05 6200 |0026: invoke-virtual {v2, v6}, Ljava/io/PrintStream;.print:(Ljava/lang/String;)V // method@053f │ │ -0254a2: 5456 2103 |0029: iget-object v6, v5, Lutil/AsyncBulkLogger;.pin:Ljava/io/PipedInputStream; // field@0321 │ │ -0254a6: 6e10 7705 0600 |002b: invoke-virtual {v6}, Ljava/lang/Object;.notifyAll:()V // method@0577 │ │ -0254ac: 1e01 |002e: monitor-exit v1 │ │ -0254ae: 1e00 |002f: monitor-exit v0 │ │ -0254b0: 0e00 |0030: return-void │ │ -0254b2: 0d06 |0031: move-exception v6 │ │ -0254b4: 1e01 |0032: monitor-exit v1 │ │ -0254b6: 2706 |0033: throw v6 │ │ -0254b8: 0d06 |0034: move-exception v6 │ │ -0254ba: 1e00 |0035: monitor-exit v0 │ │ -0254bc: 2706 |0036: throw v6 │ │ +02543c: |[02543c] util.AsyncBulkLogger.log:(Ljava/lang/String;)V │ │ +02544c: 5450 2303 |0000: iget-object v0, v5, Lutil/AsyncBulkLogger;.psout:Ljava/io/PrintStream; // field@0323 │ │ +025450: 1d00 |0002: monitor-enter v0 │ │ +025452: 5451 2103 |0003: iget-object v1, v5, Lutil/AsyncBulkLogger;.pin:Ljava/io/PipedInputStream; // field@0321 │ │ +025456: 1d01 |0005: monitor-enter v1 │ │ +025458: 5552 2403 |0006: iget-boolean v2, v5, Lutil/AsyncBulkLogger;.timeStampEnabled:Z // field@0324 │ │ +02545c: 3802 1c00 |0008: if-eqz v2, 0024 // +001c │ │ +025460: 5452 2303 |000a: iget-object v2, v5, Lutil/AsyncBulkLogger;.psout:Ljava/io/PrintStream; // field@0323 │ │ +025464: 2203 2d01 |000c: new-instance v3, Ljava/lang/StringBuilder; // type@012d │ │ +025468: 7010 a705 0300 |000e: invoke-direct {v3}, Ljava/lang/StringBuilder;.:()V // method@05a7 │ │ +02546e: 7100 c106 0000 |0011: invoke-static {}, Lutil/DateRetriever;.getDateString:()Ljava/lang/String; // method@06c1 │ │ +025474: 0c04 |0014: move-result-object v4 │ │ +025476: 6e20 ad05 4300 |0015: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +02547c: 1a04 0d00 |0018: const-string v4, " " // string@000d │ │ +025480: 6e20 ad05 4300 |001a: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +025486: 6e10 af05 0300 |001d: invoke-virtual {v3}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ +02548c: 0c03 |0020: move-result-object v3 │ │ +02548e: 6e20 3f05 3200 |0021: invoke-virtual {v2, v3}, Ljava/io/PrintStream;.print:(Ljava/lang/String;)V // method@053f │ │ +025494: 5452 2303 |0024: iget-object v2, v5, Lutil/AsyncBulkLogger;.psout:Ljava/io/PrintStream; // field@0323 │ │ +025498: 6e20 3f05 6200 |0026: invoke-virtual {v2, v6}, Ljava/io/PrintStream;.print:(Ljava/lang/String;)V // method@053f │ │ +02549e: 5456 2103 |0029: iget-object v6, v5, Lutil/AsyncBulkLogger;.pin:Ljava/io/PipedInputStream; // field@0321 │ │ +0254a2: 6e10 7705 0600 |002b: invoke-virtual {v6}, Ljava/lang/Object;.notifyAll:()V // method@0577 │ │ +0254a8: 1e01 |002e: monitor-exit v1 │ │ +0254aa: 1e00 |002f: monitor-exit v0 │ │ +0254ac: 0e00 |0030: return-void │ │ +0254ae: 0d06 |0031: move-exception v6 │ │ +0254b0: 1e01 |0032: monitor-exit v1 │ │ +0254b2: 2706 |0033: throw v6 │ │ +0254b4: 0d06 |0034: move-exception v6 │ │ +0254b6: 1e00 |0035: monitor-exit v0 │ │ +0254b8: 2706 |0036: throw v6 │ │ catches : 5 │ │ 0x0003 - 0x0006 │ │ -> 0x0034 │ │ 0x0006 - 0x002f │ │ -> 0x0031 │ │ 0x002f - 0x0030 │ │ -> 0x0034 │ │ @@ -56112,45 +56112,45 @@ │ │ type : '(Ljava/lang/Exception;)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 7 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 55 16-bit code units │ │ -0254f0: |[0254f0] util.AsyncBulkLogger.logException:(Ljava/lang/Exception;)V │ │ -025500: 5450 2303 |0000: iget-object v0, v5, Lutil/AsyncBulkLogger;.psout:Ljava/io/PrintStream; // field@0323 │ │ -025504: 1d00 |0002: monitor-enter v0 │ │ -025506: 5451 2103 |0003: iget-object v1, v5, Lutil/AsyncBulkLogger;.pin:Ljava/io/PipedInputStream; // field@0321 │ │ -02550a: 1d01 |0005: monitor-enter v1 │ │ -02550c: 5552 2403 |0006: iget-boolean v2, v5, Lutil/AsyncBulkLogger;.timeStampEnabled:Z // field@0324 │ │ -025510: 3802 1c00 |0008: if-eqz v2, 0024 // +001c │ │ -025514: 5452 2303 |000a: iget-object v2, v5, Lutil/AsyncBulkLogger;.psout:Ljava/io/PrintStream; // field@0323 │ │ -025518: 2203 2d01 |000c: new-instance v3, Ljava/lang/StringBuilder; // type@012d │ │ -02551c: 7010 a705 0300 |000e: invoke-direct {v3}, Ljava/lang/StringBuilder;.:()V // method@05a7 │ │ -025522: 7100 c106 0000 |0011: invoke-static {}, Lutil/DateRetriever;.getDateString:()Ljava/lang/String; // method@06c1 │ │ -025528: 0c04 |0014: move-result-object v4 │ │ -02552a: 6e20 ad05 4300 |0015: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -025530: 1a04 0d00 |0018: const-string v4, " " // string@000d │ │ -025534: 6e20 ad05 4300 |001a: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -02553a: 6e10 af05 0300 |001d: invoke-virtual {v3}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ -025540: 0c03 |0020: move-result-object v3 │ │ -025542: 6e20 3f05 3200 |0021: invoke-virtual {v2, v3}, Ljava/io/PrintStream;.print:(Ljava/lang/String;)V // method@053f │ │ -025548: 5452 2303 |0024: iget-object v2, v5, Lutil/AsyncBulkLogger;.psout:Ljava/io/PrintStream; // field@0323 │ │ -02554c: 6e20 5d05 2600 |0026: invoke-virtual {v6, v2}, Ljava/lang/Exception;.printStackTrace:(Ljava/io/PrintStream;)V // method@055d │ │ -025552: 5456 2103 |0029: iget-object v6, v5, Lutil/AsyncBulkLogger;.pin:Ljava/io/PipedInputStream; // field@0321 │ │ -025556: 6e10 7705 0600 |002b: invoke-virtual {v6}, Ljava/lang/Object;.notifyAll:()V // method@0577 │ │ -02555c: 1e01 |002e: monitor-exit v1 │ │ -02555e: 1e00 |002f: monitor-exit v0 │ │ -025560: 0e00 |0030: return-void │ │ -025562: 0d06 |0031: move-exception v6 │ │ -025564: 1e01 |0032: monitor-exit v1 │ │ -025566: 2706 |0033: throw v6 │ │ -025568: 0d06 |0034: move-exception v6 │ │ -02556a: 1e00 |0035: monitor-exit v0 │ │ -02556c: 2706 |0036: throw v6 │ │ +0254ec: |[0254ec] util.AsyncBulkLogger.logException:(Ljava/lang/Exception;)V │ │ +0254fc: 5450 2303 |0000: iget-object v0, v5, Lutil/AsyncBulkLogger;.psout:Ljava/io/PrintStream; // field@0323 │ │ +025500: 1d00 |0002: monitor-enter v0 │ │ +025502: 5451 2103 |0003: iget-object v1, v5, Lutil/AsyncBulkLogger;.pin:Ljava/io/PipedInputStream; // field@0321 │ │ +025506: 1d01 |0005: monitor-enter v1 │ │ +025508: 5552 2403 |0006: iget-boolean v2, v5, Lutil/AsyncBulkLogger;.timeStampEnabled:Z // field@0324 │ │ +02550c: 3802 1c00 |0008: if-eqz v2, 0024 // +001c │ │ +025510: 5452 2303 |000a: iget-object v2, v5, Lutil/AsyncBulkLogger;.psout:Ljava/io/PrintStream; // field@0323 │ │ +025514: 2203 2d01 |000c: new-instance v3, Ljava/lang/StringBuilder; // type@012d │ │ +025518: 7010 a705 0300 |000e: invoke-direct {v3}, Ljava/lang/StringBuilder;.:()V // method@05a7 │ │ +02551e: 7100 c106 0000 |0011: invoke-static {}, Lutil/DateRetriever;.getDateString:()Ljava/lang/String; // method@06c1 │ │ +025524: 0c04 |0014: move-result-object v4 │ │ +025526: 6e20 ad05 4300 |0015: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +02552c: 1a04 0d00 |0018: const-string v4, " " // string@000d │ │ +025530: 6e20 ad05 4300 |001a: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +025536: 6e10 af05 0300 |001d: invoke-virtual {v3}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ +02553c: 0c03 |0020: move-result-object v3 │ │ +02553e: 6e20 3f05 3200 |0021: invoke-virtual {v2, v3}, Ljava/io/PrintStream;.print:(Ljava/lang/String;)V // method@053f │ │ +025544: 5452 2303 |0024: iget-object v2, v5, Lutil/AsyncBulkLogger;.psout:Ljava/io/PrintStream; // field@0323 │ │ +025548: 6e20 5d05 2600 |0026: invoke-virtual {v6, v2}, Ljava/lang/Exception;.printStackTrace:(Ljava/io/PrintStream;)V // method@055d │ │ +02554e: 5456 2103 |0029: iget-object v6, v5, Lutil/AsyncBulkLogger;.pin:Ljava/io/PipedInputStream; // field@0321 │ │ +025552: 6e10 7705 0600 |002b: invoke-virtual {v6}, Ljava/lang/Object;.notifyAll:()V // method@0577 │ │ +025558: 1e01 |002e: monitor-exit v1 │ │ +02555a: 1e00 |002f: monitor-exit v0 │ │ +02555c: 0e00 |0030: return-void │ │ +02555e: 0d06 |0031: move-exception v6 │ │ +025560: 1e01 |0032: monitor-exit v1 │ │ +025562: 2706 |0033: throw v6 │ │ +025564: 0d06 |0034: move-exception v6 │ │ +025566: 1e00 |0035: monitor-exit v0 │ │ +025568: 2706 |0036: throw v6 │ │ catches : 5 │ │ 0x0003 - 0x0006 │ │ -> 0x0034 │ │ 0x0006 - 0x002f │ │ -> 0x0031 │ │ 0x002f - 0x0030 │ │ -> 0x0034 │ │ @@ -56178,45 +56178,45 @@ │ │ type : '(Ljava/lang/String;)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 7 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 55 16-bit code units │ │ -0255a0: |[0255a0] util.AsyncBulkLogger.logLine:(Ljava/lang/String;)V │ │ -0255b0: 5450 2303 |0000: iget-object v0, v5, Lutil/AsyncBulkLogger;.psout:Ljava/io/PrintStream; // field@0323 │ │ -0255b4: 1d00 |0002: monitor-enter v0 │ │ -0255b6: 5451 2103 |0003: iget-object v1, v5, Lutil/AsyncBulkLogger;.pin:Ljava/io/PipedInputStream; // field@0321 │ │ -0255ba: 1d01 |0005: monitor-enter v1 │ │ -0255bc: 5552 2403 |0006: iget-boolean v2, v5, Lutil/AsyncBulkLogger;.timeStampEnabled:Z // field@0324 │ │ -0255c0: 3802 1c00 |0008: if-eqz v2, 0024 // +001c │ │ -0255c4: 5452 2303 |000a: iget-object v2, v5, Lutil/AsyncBulkLogger;.psout:Ljava/io/PrintStream; // field@0323 │ │ -0255c8: 2203 2d01 |000c: new-instance v3, Ljava/lang/StringBuilder; // type@012d │ │ -0255cc: 7010 a705 0300 |000e: invoke-direct {v3}, Ljava/lang/StringBuilder;.:()V // method@05a7 │ │ -0255d2: 7100 c106 0000 |0011: invoke-static {}, Lutil/DateRetriever;.getDateString:()Ljava/lang/String; // method@06c1 │ │ -0255d8: 0c04 |0014: move-result-object v4 │ │ -0255da: 6e20 ad05 4300 |0015: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -0255e0: 1a04 0d00 |0018: const-string v4, " " // string@000d │ │ -0255e4: 6e20 ad05 4300 |001a: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -0255ea: 6e10 af05 0300 |001d: invoke-virtual {v3}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ -0255f0: 0c03 |0020: move-result-object v3 │ │ -0255f2: 6e20 3f05 3200 |0021: invoke-virtual {v2, v3}, Ljava/io/PrintStream;.print:(Ljava/lang/String;)V // method@053f │ │ -0255f8: 5452 2303 |0024: iget-object v2, v5, Lutil/AsyncBulkLogger;.psout:Ljava/io/PrintStream; // field@0323 │ │ -0255fc: 6e20 4005 6200 |0026: invoke-virtual {v2, v6}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@0540 │ │ -025602: 5456 2103 |0029: iget-object v6, v5, Lutil/AsyncBulkLogger;.pin:Ljava/io/PipedInputStream; // field@0321 │ │ -025606: 6e10 7705 0600 |002b: invoke-virtual {v6}, Ljava/lang/Object;.notifyAll:()V // method@0577 │ │ -02560c: 1e01 |002e: monitor-exit v1 │ │ -02560e: 1e00 |002f: monitor-exit v0 │ │ -025610: 0e00 |0030: return-void │ │ -025612: 0d06 |0031: move-exception v6 │ │ -025614: 1e01 |0032: monitor-exit v1 │ │ -025616: 2706 |0033: throw v6 │ │ -025618: 0d06 |0034: move-exception v6 │ │ -02561a: 1e00 |0035: monitor-exit v0 │ │ -02561c: 2706 |0036: throw v6 │ │ +02559c: |[02559c] util.AsyncBulkLogger.logLine:(Ljava/lang/String;)V │ │ +0255ac: 5450 2303 |0000: iget-object v0, v5, Lutil/AsyncBulkLogger;.psout:Ljava/io/PrintStream; // field@0323 │ │ +0255b0: 1d00 |0002: monitor-enter v0 │ │ +0255b2: 5451 2103 |0003: iget-object v1, v5, Lutil/AsyncBulkLogger;.pin:Ljava/io/PipedInputStream; // field@0321 │ │ +0255b6: 1d01 |0005: monitor-enter v1 │ │ +0255b8: 5552 2403 |0006: iget-boolean v2, v5, Lutil/AsyncBulkLogger;.timeStampEnabled:Z // field@0324 │ │ +0255bc: 3802 1c00 |0008: if-eqz v2, 0024 // +001c │ │ +0255c0: 5452 2303 |000a: iget-object v2, v5, Lutil/AsyncBulkLogger;.psout:Ljava/io/PrintStream; // field@0323 │ │ +0255c4: 2203 2d01 |000c: new-instance v3, Ljava/lang/StringBuilder; // type@012d │ │ +0255c8: 7010 a705 0300 |000e: invoke-direct {v3}, Ljava/lang/StringBuilder;.:()V // method@05a7 │ │ +0255ce: 7100 c106 0000 |0011: invoke-static {}, Lutil/DateRetriever;.getDateString:()Ljava/lang/String; // method@06c1 │ │ +0255d4: 0c04 |0014: move-result-object v4 │ │ +0255d6: 6e20 ad05 4300 |0015: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +0255dc: 1a04 0d00 |0018: const-string v4, " " // string@000d │ │ +0255e0: 6e20 ad05 4300 |001a: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +0255e6: 6e10 af05 0300 |001d: invoke-virtual {v3}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ +0255ec: 0c03 |0020: move-result-object v3 │ │ +0255ee: 6e20 3f05 3200 |0021: invoke-virtual {v2, v3}, Ljava/io/PrintStream;.print:(Ljava/lang/String;)V // method@053f │ │ +0255f4: 5452 2303 |0024: iget-object v2, v5, Lutil/AsyncBulkLogger;.psout:Ljava/io/PrintStream; // field@0323 │ │ +0255f8: 6e20 4005 6200 |0026: invoke-virtual {v2, v6}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@0540 │ │ +0255fe: 5456 2103 |0029: iget-object v6, v5, Lutil/AsyncBulkLogger;.pin:Ljava/io/PipedInputStream; // field@0321 │ │ +025602: 6e10 7705 0600 |002b: invoke-virtual {v6}, Ljava/lang/Object;.notifyAll:()V // method@0577 │ │ +025608: 1e01 |002e: monitor-exit v1 │ │ +02560a: 1e00 |002f: monitor-exit v0 │ │ +02560c: 0e00 |0030: return-void │ │ +02560e: 0d06 |0031: move-exception v6 │ │ +025610: 1e01 |0032: monitor-exit v1 │ │ +025612: 2706 |0033: throw v6 │ │ +025614: 0d06 |0034: move-exception v6 │ │ +025616: 1e00 |0035: monitor-exit v0 │ │ +025618: 2706 |0036: throw v6 │ │ catches : 5 │ │ 0x0003 - 0x0006 │ │ -> 0x0034 │ │ 0x0006 - 0x002f │ │ -> 0x0031 │ │ 0x002f - 0x0030 │ │ -> 0x0034 │ │ @@ -56244,24 +56244,24 @@ │ │ type : '(Ljava/lang/String;)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 4 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 13 16-bit code units │ │ -0256b0: |[0256b0] util.AsyncBulkLogger.message:(Ljava/lang/String;)V │ │ -0256c0: 5420 2103 |0000: iget-object v0, v2, Lutil/AsyncBulkLogger;.pin:Ljava/io/PipedInputStream; // field@0321 │ │ -0256c4: 1d00 |0002: monitor-enter v0 │ │ -0256c6: 5421 2003 |0003: iget-object v1, v2, Lutil/AsyncBulkLogger;.out:Lutil/LoggerInterface; // field@0320 │ │ -0256ca: 7220 3207 3100 |0005: invoke-interface {v1, v3}, Lutil/LoggerInterface;.message:(Ljava/lang/String;)V // method@0732 │ │ -0256d0: 1e00 |0008: monitor-exit v0 │ │ -0256d2: 0e00 |0009: return-void │ │ -0256d4: 0d03 |000a: move-exception v3 │ │ -0256d6: 1e00 |000b: monitor-exit v0 │ │ -0256d8: 2703 |000c: throw v3 │ │ +0256ac: |[0256ac] util.AsyncBulkLogger.message:(Ljava/lang/String;)V │ │ +0256bc: 5420 2103 |0000: iget-object v0, v2, Lutil/AsyncBulkLogger;.pin:Ljava/io/PipedInputStream; // field@0321 │ │ +0256c0: 1d00 |0002: monitor-enter v0 │ │ +0256c2: 5421 2003 |0003: iget-object v1, v2, Lutil/AsyncBulkLogger;.out:Lutil/LoggerInterface; // field@0320 │ │ +0256c6: 7220 3207 3100 |0005: invoke-interface {v1, v3}, Lutil/LoggerInterface;.message:(Ljava/lang/String;)V // method@0732 │ │ +0256cc: 1e00 |0008: monitor-exit v0 │ │ +0256ce: 0e00 |0009: return-void │ │ +0256d0: 0d03 |000a: move-exception v3 │ │ +0256d2: 1e00 |000b: monitor-exit v0 │ │ +0256d4: 2703 |000c: throw v3 │ │ catches : 1 │ │ 0x0003 - 0x000c │ │ -> 0x000a │ │ positions : │ │ 0x0000 line=109 │ │ 0x0003 line=110 │ │ 0x0008 line=111 │ │ @@ -56274,55 +56274,55 @@ │ │ type : '()V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 6 │ │ ins : 1 │ │ outs : 4 │ │ insns size : 71 16-bit code units │ │ -0256e8: |[0256e8] util.AsyncBulkLogger.run:()V │ │ -0256f8: 1300 0010 |0000: const/16 v0, #int 4096 // #1000 │ │ -0256fc: 2300 9d01 |0002: new-array v0, v0, [B // type@019d │ │ -025700: 1201 |0004: const/4 v1, #int 0 // #0 │ │ -025702: 1202 |0005: const/4 v2, #int 0 // #0 │ │ -025704: 5553 1f03 |0006: iget-boolean v3, v5, Lutil/AsyncBulkLogger;.closed:Z // field@031f │ │ -025708: 3903 3e00 |0008: if-nez v3, 0046 // +003e │ │ -02570c: 5453 2103 |000a: iget-object v3, v5, Lutil/AsyncBulkLogger;.pin:Ljava/io/PipedInputStream; // field@0321 │ │ -025710: 1d03 |000c: monitor-enter v3 │ │ -025712: 5454 2103 |000d: iget-object v4, v5, Lutil/AsyncBulkLogger;.pin:Ljava/io/PipedInputStream; // field@0321 │ │ -025716: 6e10 3a05 0400 |000f: invoke-virtual {v4}, Ljava/io/PipedInputStream;.available:()I // method@053a │ │ -02571c: 0a04 |0012: move-result v4 │ │ -02571e: 3c04 1100 |0013: if-gtz v4, 0024 // +0011 │ │ -025722: 5554 1f03 |0015: iget-boolean v4, v5, Lutil/AsyncBulkLogger;.closed:Z // field@031f │ │ -025726: 3904 0d00 |0017: if-nez v4, 0024 // +000d │ │ -02572a: 5454 2103 |0019: iget-object v4, v5, Lutil/AsyncBulkLogger;.pin:Ljava/io/PipedInputStream; // field@0321 │ │ -02572e: 6e10 7905 0400 |001b: invoke-virtual {v4}, Ljava/lang/Object;.wait:()V // method@0579 │ │ -025734: 28ef |001e: goto 000d // -0011 │ │ -025736: 0d04 |001f: move-exception v4 │ │ -025738: 6e10 6905 0400 |0020: invoke-virtual {v4}, Ljava/lang/InterruptedException;.printStackTrace:()V // method@0569 │ │ -02573e: 28ea |0023: goto 000d // -0016 │ │ -025740: 5554 1f03 |0024: iget-boolean v4, v5, Lutil/AsyncBulkLogger;.closed:Z // field@031f │ │ -025744: 3904 0800 |0026: if-nez v4, 002e // +0008 │ │ -025748: 5454 2103 |0028: iget-object v4, v5, Lutil/AsyncBulkLogger;.pin:Ljava/io/PipedInputStream; // field@0321 │ │ -02574c: 6e20 3b05 0400 |002a: invoke-virtual {v4, v0}, Ljava/io/PipedInputStream;.read:([B)I // method@053b │ │ -025752: 0a02 |002d: move-result v2 │ │ -025754: 1e03 |002e: monitor-exit v3 │ │ -025756: 5553 1f03 |002f: iget-boolean v3, v5, Lutil/AsyncBulkLogger;.closed:Z // field@031f │ │ -02575a: 3903 d5ff |0031: if-nez v3, 0006 // -002b │ │ -02575e: 5453 2003 |0033: iget-object v3, v5, Lutil/AsyncBulkLogger;.out:Lutil/LoggerInterface; // field@0320 │ │ -025762: 2204 2b01 |0035: new-instance v4, Ljava/lang/String; // type@012b │ │ -025766: 7040 8605 0421 |0037: invoke-direct {v4, v0, v1, v2}, Ljava/lang/String;.:([BII)V // method@0586 │ │ -02576c: 7220 2f07 4300 |003a: invoke-interface {v3, v4}, Lutil/LoggerInterface;.log:(Ljava/lang/String;)V // method@072f │ │ -025772: 28c9 |003d: goto 0006 // -0037 │ │ -025774: 0d04 |003e: move-exception v4 │ │ -025776: 1e03 |003f: monitor-exit v3 │ │ -025778: 2704 |0040: throw v4 │ │ -02577a: 0d03 |0041: move-exception v3 │ │ -02577c: 6e10 5c05 0300 |0042: invoke-virtual {v3}, Ljava/lang/Exception;.printStackTrace:()V // method@055c │ │ -025782: 28c1 |0045: goto 0006 // -003f │ │ -025784: 0e00 |0046: return-void │ │ +0256e4: |[0256e4] util.AsyncBulkLogger.run:()V │ │ +0256f4: 1300 0010 |0000: const/16 v0, #int 4096 // #1000 │ │ +0256f8: 2300 9d01 |0002: new-array v0, v0, [B // type@019d │ │ +0256fc: 1201 |0004: const/4 v1, #int 0 // #0 │ │ +0256fe: 1202 |0005: const/4 v2, #int 0 // #0 │ │ +025700: 5553 1f03 |0006: iget-boolean v3, v5, Lutil/AsyncBulkLogger;.closed:Z // field@031f │ │ +025704: 3903 3e00 |0008: if-nez v3, 0046 // +003e │ │ +025708: 5453 2103 |000a: iget-object v3, v5, Lutil/AsyncBulkLogger;.pin:Ljava/io/PipedInputStream; // field@0321 │ │ +02570c: 1d03 |000c: monitor-enter v3 │ │ +02570e: 5454 2103 |000d: iget-object v4, v5, Lutil/AsyncBulkLogger;.pin:Ljava/io/PipedInputStream; // field@0321 │ │ +025712: 6e10 3a05 0400 |000f: invoke-virtual {v4}, Ljava/io/PipedInputStream;.available:()I // method@053a │ │ +025718: 0a04 |0012: move-result v4 │ │ +02571a: 3c04 1100 |0013: if-gtz v4, 0024 // +0011 │ │ +02571e: 5554 1f03 |0015: iget-boolean v4, v5, Lutil/AsyncBulkLogger;.closed:Z // field@031f │ │ +025722: 3904 0d00 |0017: if-nez v4, 0024 // +000d │ │ +025726: 5454 2103 |0019: iget-object v4, v5, Lutil/AsyncBulkLogger;.pin:Ljava/io/PipedInputStream; // field@0321 │ │ +02572a: 6e10 7905 0400 |001b: invoke-virtual {v4}, Ljava/lang/Object;.wait:()V // method@0579 │ │ +025730: 28ef |001e: goto 000d // -0011 │ │ +025732: 0d04 |001f: move-exception v4 │ │ +025734: 6e10 6905 0400 |0020: invoke-virtual {v4}, Ljava/lang/InterruptedException;.printStackTrace:()V // method@0569 │ │ +02573a: 28ea |0023: goto 000d // -0016 │ │ +02573c: 5554 1f03 |0024: iget-boolean v4, v5, Lutil/AsyncBulkLogger;.closed:Z // field@031f │ │ +025740: 3904 0800 |0026: if-nez v4, 002e // +0008 │ │ +025744: 5454 2103 |0028: iget-object v4, v5, Lutil/AsyncBulkLogger;.pin:Ljava/io/PipedInputStream; // field@0321 │ │ +025748: 6e20 3b05 0400 |002a: invoke-virtual {v4, v0}, Ljava/io/PipedInputStream;.read:([B)I // method@053b │ │ +02574e: 0a02 |002d: move-result v2 │ │ +025750: 1e03 |002e: monitor-exit v3 │ │ +025752: 5553 1f03 |002f: iget-boolean v3, v5, Lutil/AsyncBulkLogger;.closed:Z // field@031f │ │ +025756: 3903 d5ff |0031: if-nez v3, 0006 // -002b │ │ +02575a: 5453 2003 |0033: iget-object v3, v5, Lutil/AsyncBulkLogger;.out:Lutil/LoggerInterface; // field@0320 │ │ +02575e: 2204 2b01 |0035: new-instance v4, Ljava/lang/String; // type@012b │ │ +025762: 7040 8605 0421 |0037: invoke-direct {v4, v0, v1, v2}, Ljava/lang/String;.:([BII)V // method@0586 │ │ +025768: 7220 2f07 4300 |003a: invoke-interface {v3, v4}, Lutil/LoggerInterface;.log:(Ljava/lang/String;)V // method@072f │ │ +02576e: 28c9 |003d: goto 0006 // -0037 │ │ +025770: 0d04 |003e: move-exception v4 │ │ +025772: 1e03 |003f: monitor-exit v3 │ │ +025774: 2704 |0040: throw v4 │ │ +025776: 0d03 |0041: move-exception v3 │ │ +025778: 6e10 5c05 0300 |0042: invoke-virtual {v3}, Ljava/lang/Exception;.printStackTrace:()V // method@055c │ │ +02577e: 28c1 |0045: goto 0006 // -003f │ │ +025780: 0e00 |0046: return-void │ │ catches : 7 │ │ 0x000a - 0x000d │ │ Ljava/lang/Exception; -> 0x0041 │ │ 0x000d - 0x0017 │ │ -> 0x003e │ │ 0x0019 - 0x001e │ │ Ljava/lang/InterruptedException; -> 0x001f │ │ @@ -56421,21 +56421,21 @@ │ │ type : '(Lutil/LoggerInterface;)V' │ │ access : 0x10001 (PUBLIC CONSTRUCTOR) │ │ code - │ │ registers : 3 │ │ ins : 2 │ │ outs : 1 │ │ insns size : 12 16-bit code units │ │ -0257cc: |[0257cc] util.AsyncLogger.:(Lutil/LoggerInterface;)V │ │ -0257dc: 7010 7305 0100 |0000: invoke-direct {v1}, Ljava/lang/Object;.:()V // method@0573 │ │ -0257e2: 1200 |0003: const/4 v0, #int 0 // #0 │ │ -0257e4: 5c10 2903 |0004: iput-boolean v0, v1, Lutil/AsyncLogger;.closed:Z // field@0329 │ │ -0257e8: 5b12 2a03 |0006: iput-object v2, v1, Lutil/AsyncLogger;.out:Lutil/LoggerInterface; // field@032a │ │ -0257ec: 7010 ba06 0100 |0008: invoke-direct {v1}, Lutil/AsyncLogger;.logOpen:()V // method@06ba │ │ -0257f2: 0e00 |000b: return-void │ │ +0257c8: |[0257c8] util.AsyncLogger.:(Lutil/LoggerInterface;)V │ │ +0257d8: 7010 7305 0100 |0000: invoke-direct {v1}, Ljava/lang/Object;.:()V // method@0573 │ │ +0257de: 1200 |0003: const/4 v0, #int 0 // #0 │ │ +0257e0: 5c10 2903 |0004: iput-boolean v0, v1, Lutil/AsyncLogger;.closed:Z // field@0329 │ │ +0257e4: 5b12 2a03 |0006: iput-object v2, v1, Lutil/AsyncLogger;.out:Lutil/LoggerInterface; // field@032a │ │ +0257e8: 7010 ba06 0100 |0008: invoke-direct {v1}, Lutil/AsyncLogger;.logOpen:()V // method@06ba │ │ +0257ee: 0e00 |000b: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=44 │ │ 0x0004 line=42 │ │ 0x0006 line=45 │ │ 0x0008 line=46 │ │ locals : │ │ @@ -56447,31 +56447,31 @@ │ │ type : '()V' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 4 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 36 16-bit code units │ │ -0259d4: |[0259d4] util.AsyncLogger.logOpen:()V │ │ -0259e4: 2200 0701 |0000: new-instance v0, Ljava/io/PipedInputStream; // type@0107 │ │ -0259e8: 1301 0028 |0002: const/16 v1, #int 10240 // #2800 │ │ -0259ec: 7020 3905 1000 |0004: invoke-direct {v0, v1}, Ljava/io/PipedInputStream;.:(I)V // method@0539 │ │ -0259f2: 5b30 2b03 |0007: iput-object v0, v3, Lutil/AsyncLogger;.pin:Ljava/io/PipedInputStream; // field@032b │ │ -0259f6: 2200 f900 |0009: new-instance v0, Ljava/io/DataOutputStream; // type@00f9 │ │ -0259fa: 2201 0801 |000b: new-instance v1, Ljava/io/PipedOutputStream; // type@0108 │ │ -0259fe: 5432 2b03 |000d: iget-object v2, v3, Lutil/AsyncLogger;.pin:Ljava/io/PipedInputStream; // field@032b │ │ -025a02: 7020 3c05 2100 |000f: invoke-direct {v1, v2}, Ljava/io/PipedOutputStream;.:(Ljava/io/PipedInputStream;)V // method@053c │ │ -025a08: 7020 f504 1000 |0012: invoke-direct {v0, v1}, Ljava/io/DataOutputStream;.:(Ljava/io/OutputStream;)V // method@04f5 │ │ -025a0e: 5b30 2c03 |0015: iput-object v0, v3, Lutil/AsyncLogger;.pout:Ljava/io/DataOutputStream; // field@032c │ │ -025a12: 2200 2f01 |0017: new-instance v0, Ljava/lang/Thread; // type@012f │ │ -025a16: 7020 b405 3000 |0019: invoke-direct {v0, v3}, Ljava/lang/Thread;.:(Ljava/lang/Runnable;)V // method@05b4 │ │ -025a1c: 1211 |001c: const/4 v1, #int 1 // #1 │ │ -025a1e: 6e20 b805 1000 |001d: invoke-virtual {v0, v1}, Ljava/lang/Thread;.setDaemon:(Z)V // method@05b8 │ │ -025a24: 6e10 ba05 0000 |0020: invoke-virtual {v0}, Ljava/lang/Thread;.start:()V // method@05ba │ │ -025a2a: 0e00 |0023: return-void │ │ +0259d0: |[0259d0] util.AsyncLogger.logOpen:()V │ │ +0259e0: 2200 0701 |0000: new-instance v0, Ljava/io/PipedInputStream; // type@0107 │ │ +0259e4: 1301 0028 |0002: const/16 v1, #int 10240 // #2800 │ │ +0259e8: 7020 3905 1000 |0004: invoke-direct {v0, v1}, Ljava/io/PipedInputStream;.:(I)V // method@0539 │ │ +0259ee: 5b30 2b03 |0007: iput-object v0, v3, Lutil/AsyncLogger;.pin:Ljava/io/PipedInputStream; // field@032b │ │ +0259f2: 2200 f900 |0009: new-instance v0, Ljava/io/DataOutputStream; // type@00f9 │ │ +0259f6: 2201 0801 |000b: new-instance v1, Ljava/io/PipedOutputStream; // type@0108 │ │ +0259fa: 5432 2b03 |000d: iget-object v2, v3, Lutil/AsyncLogger;.pin:Ljava/io/PipedInputStream; // field@032b │ │ +0259fe: 7020 3c05 2100 |000f: invoke-direct {v1, v2}, Ljava/io/PipedOutputStream;.:(Ljava/io/PipedInputStream;)V // method@053c │ │ +025a04: 7020 f504 1000 |0012: invoke-direct {v0, v1}, Ljava/io/DataOutputStream;.:(Ljava/io/OutputStream;)V // method@04f5 │ │ +025a0a: 5b30 2c03 |0015: iput-object v0, v3, Lutil/AsyncLogger;.pout:Ljava/io/DataOutputStream; // field@032c │ │ +025a0e: 2200 2f01 |0017: new-instance v0, Ljava/lang/Thread; // type@012f │ │ +025a12: 7020 b405 3000 |0019: invoke-direct {v0, v3}, Ljava/lang/Thread;.:(Ljava/lang/Runnable;)V // method@05b4 │ │ +025a18: 1211 |001c: const/4 v1, #int 1 // #1 │ │ +025a1a: 6e20 b805 1000 |001d: invoke-virtual {v0, v1}, Ljava/lang/Thread;.setDaemon:(Z)V // method@05b8 │ │ +025a20: 6e10 ba05 0000 |0020: invoke-virtual {v0}, Ljava/lang/Thread;.start:()V // method@05ba │ │ +025a26: 0e00 |0023: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=52 │ │ 0x0009 line=53 │ │ 0x0017 line=56 │ │ 0x001d line=57 │ │ 0x0020 line=58 │ │ @@ -56483,28 +56483,28 @@ │ │ type : '(I[B)V' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 4 │ │ ins : 3 │ │ outs : 2 │ │ insns size : 27 16-bit code units │ │ -025c2c: |[025c2c] util.AsyncLogger.writeLog:(I[B)V │ │ -025c3c: 5410 2c03 |0000: iget-object v0, v1, Lutil/AsyncLogger;.pout:Ljava/io/DataOutputStream; // field@032c │ │ -025c40: 6e20 fd04 2000 |0002: invoke-virtual {v0, v2}, Ljava/io/DataOutputStream;.writeShort:(I)V // method@04fd │ │ -025c46: 5412 2c03 |0005: iget-object v2, v1, Lutil/AsyncLogger;.pout:Ljava/io/DataOutputStream; // field@032c │ │ -025c4a: 2130 |0007: array-length v0, v3 │ │ -025c4c: 6e20 fb04 0200 |0008: invoke-virtual {v2, v0}, Ljava/io/DataOutputStream;.writeInt:(I)V // method@04fb │ │ -025c52: 5412 2c03 |000b: iget-object v2, v1, Lutil/AsyncLogger;.pout:Ljava/io/DataOutputStream; // field@032c │ │ -025c56: 6e20 f804 3200 |000d: invoke-virtual {v2, v3}, Ljava/io/DataOutputStream;.write:([B)V // method@04f8 │ │ -025c5c: 5412 2c03 |0010: iget-object v2, v1, Lutil/AsyncLogger;.pout:Ljava/io/DataOutputStream; // field@032c │ │ -025c60: 6e10 f704 0200 |0012: invoke-virtual {v2}, Ljava/io/DataOutputStream;.flush:()V // method@04f7 │ │ -025c66: 2805 |0015: goto 001a // +0005 │ │ -025c68: 0d02 |0016: move-exception v2 │ │ -025c6a: 6e10 2305 0200 |0017: invoke-virtual {v2}, Ljava/io/IOException;.printStackTrace:()V // method@0523 │ │ -025c70: 0e00 |001a: return-void │ │ +025c28: |[025c28] util.AsyncLogger.writeLog:(I[B)V │ │ +025c38: 5410 2c03 |0000: iget-object v0, v1, Lutil/AsyncLogger;.pout:Ljava/io/DataOutputStream; // field@032c │ │ +025c3c: 6e20 fd04 2000 |0002: invoke-virtual {v0, v2}, Ljava/io/DataOutputStream;.writeShort:(I)V // method@04fd │ │ +025c42: 5412 2c03 |0005: iget-object v2, v1, Lutil/AsyncLogger;.pout:Ljava/io/DataOutputStream; // field@032c │ │ +025c46: 2130 |0007: array-length v0, v3 │ │ +025c48: 6e20 fb04 0200 |0008: invoke-virtual {v2, v0}, Ljava/io/DataOutputStream;.writeInt:(I)V // method@04fb │ │ +025c4e: 5412 2c03 |000b: iget-object v2, v1, Lutil/AsyncLogger;.pout:Ljava/io/DataOutputStream; // field@032c │ │ +025c52: 6e20 f804 3200 |000d: invoke-virtual {v2, v3}, Ljava/io/DataOutputStream;.write:([B)V // method@04f8 │ │ +025c58: 5412 2c03 |0010: iget-object v2, v1, Lutil/AsyncLogger;.pout:Ljava/io/DataOutputStream; // field@032c │ │ +025c5c: 6e10 f704 0200 |0012: invoke-virtual {v2}, Ljava/io/DataOutputStream;.flush:()V // method@04f7 │ │ +025c62: 2805 |0015: goto 001a // +0005 │ │ +025c64: 0d02 |0016: move-exception v2 │ │ +025c66: 6e10 2305 0200 |0017: invoke-virtual {v2}, Ljava/io/IOException;.printStackTrace:()V // method@0523 │ │ +025c6c: 0e00 |001a: return-void │ │ catches : 1 │ │ 0x0000 - 0x0015 │ │ Ljava/io/IOException; -> 0x0016 │ │ positions : │ │ 0x0000 line=76 │ │ 0x0005 line=77 │ │ 0x000b line=78 │ │ @@ -56521,32 +56521,32 @@ │ │ type : '()V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 3 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 27 16-bit code units │ │ -0257f4: |[0257f4] util.AsyncLogger.closeLogger:()V │ │ -025804: 5420 2b03 |0000: iget-object v0, v2, Lutil/AsyncLogger;.pin:Ljava/io/PipedInputStream; // field@032b │ │ -025808: 1d00 |0002: monitor-enter v0 │ │ -02580a: 1211 |0003: const/4 v1, #int 1 // #1 │ │ -02580c: 5c21 2903 |0004: iput-boolean v1, v2, Lutil/AsyncLogger;.closed:Z // field@0329 │ │ -025810: 5421 2c03 |0006: iget-object v1, v2, Lutil/AsyncLogger;.pout:Ljava/io/DataOutputStream; // field@032c │ │ -025814: 6e10 f604 0100 |0008: invoke-virtual {v1}, Ljava/io/DataOutputStream;.close:()V // method@04f6 │ │ -02581a: 5421 2b03 |000b: iget-object v1, v2, Lutil/AsyncLogger;.pin:Ljava/io/PipedInputStream; // field@032b │ │ -02581e: 6e10 7705 0100 |000d: invoke-virtual {v1}, Ljava/lang/Object;.notifyAll:()V // method@0577 │ │ -025824: 2807 |0010: goto 0017 // +0007 │ │ -025826: 0d01 |0011: move-exception v1 │ │ -025828: 2807 |0012: goto 0019 // +0007 │ │ -02582a: 0d01 |0013: move-exception v1 │ │ -02582c: 6e10 2305 0100 |0014: invoke-virtual {v1}, Ljava/io/IOException;.printStackTrace:()V // method@0523 │ │ -025832: 1e00 |0017: monitor-exit v0 │ │ -025834: 0e00 |0018: return-void │ │ -025836: 1e00 |0019: monitor-exit v0 │ │ -025838: 2701 |001a: throw v1 │ │ +0257f0: |[0257f0] util.AsyncLogger.closeLogger:()V │ │ +025800: 5420 2b03 |0000: iget-object v0, v2, Lutil/AsyncLogger;.pin:Ljava/io/PipedInputStream; // field@032b │ │ +025804: 1d00 |0002: monitor-enter v0 │ │ +025806: 1211 |0003: const/4 v1, #int 1 // #1 │ │ +025808: 5c21 2903 |0004: iput-boolean v1, v2, Lutil/AsyncLogger;.closed:Z // field@0329 │ │ +02580c: 5421 2c03 |0006: iget-object v1, v2, Lutil/AsyncLogger;.pout:Ljava/io/DataOutputStream; // field@032c │ │ +025810: 6e10 f604 0100 |0008: invoke-virtual {v1}, Ljava/io/DataOutputStream;.close:()V // method@04f6 │ │ +025816: 5421 2b03 |000b: iget-object v1, v2, Lutil/AsyncLogger;.pin:Ljava/io/PipedInputStream; // field@032b │ │ +02581a: 6e10 7705 0100 |000d: invoke-virtual {v1}, Ljava/lang/Object;.notifyAll:()V // method@0577 │ │ +025820: 2807 |0010: goto 0017 // +0007 │ │ +025822: 0d01 |0011: move-exception v1 │ │ +025824: 2807 |0012: goto 0019 // +0007 │ │ +025826: 0d01 |0013: move-exception v1 │ │ +025828: 6e10 2305 0100 |0014: invoke-virtual {v1}, Ljava/io/IOException;.printStackTrace:()V // method@0523 │ │ +02582e: 1e00 |0017: monitor-exit v0 │ │ +025830: 0e00 |0018: return-void │ │ +025832: 1e00 |0019: monitor-exit v0 │ │ +025834: 2701 |001a: throw v1 │ │ catches : 2 │ │ 0x0004 - 0x0010 │ │ Ljava/io/IOException; -> 0x0013 │ │ -> 0x0011 │ │ 0x0014 - 0x001a │ │ -> 0x0011 │ │ positions : │ │ @@ -56564,34 +56564,34 @@ │ │ type : '(Ljava/lang/String;)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 5 │ │ ins : 2 │ │ outs : 3 │ │ insns size : 28 16-bit code units │ │ -025854: |[025854] util.AsyncLogger.log:(Ljava/lang/String;)V │ │ -025864: 5430 2c03 |0000: iget-object v0, v3, Lutil/AsyncLogger;.pout:Ljava/io/DataOutputStream; // field@032c │ │ -025868: 1d00 |0002: monitor-enter v0 │ │ -02586a: 5431 2b03 |0003: iget-object v1, v3, Lutil/AsyncLogger;.pin:Ljava/io/PipedInputStream; // field@032b │ │ -02586e: 1d01 |0005: monitor-enter v1 │ │ -025870: 6e10 8d05 0400 |0006: invoke-virtual {v4}, Ljava/lang/String;.getBytes:()[B // method@058d │ │ -025876: 0c04 |0009: move-result-object v4 │ │ -025878: 1212 |000a: const/4 v2, #int 1 // #1 │ │ -02587a: 7030 bd06 2304 |000b: invoke-direct {v3, v2, v4}, Lutil/AsyncLogger;.writeLog:(I[B)V // method@06bd │ │ -025880: 5434 2b03 |000e: iget-object v4, v3, Lutil/AsyncLogger;.pin:Ljava/io/PipedInputStream; // field@032b │ │ -025884: 6e10 7705 0400 |0010: invoke-virtual {v4}, Ljava/lang/Object;.notifyAll:()V // method@0577 │ │ -02588a: 1e01 |0013: monitor-exit v1 │ │ -02588c: 1e00 |0014: monitor-exit v0 │ │ -02588e: 0e00 |0015: return-void │ │ -025890: 0d04 |0016: move-exception v4 │ │ -025892: 1e01 |0017: monitor-exit v1 │ │ -025894: 2704 |0018: throw v4 │ │ -025896: 0d04 |0019: move-exception v4 │ │ -025898: 1e00 |001a: monitor-exit v0 │ │ -02589a: 2704 |001b: throw v4 │ │ +025850: |[025850] util.AsyncLogger.log:(Ljava/lang/String;)V │ │ +025860: 5430 2c03 |0000: iget-object v0, v3, Lutil/AsyncLogger;.pout:Ljava/io/DataOutputStream; // field@032c │ │ +025864: 1d00 |0002: monitor-enter v0 │ │ +025866: 5431 2b03 |0003: iget-object v1, v3, Lutil/AsyncLogger;.pin:Ljava/io/PipedInputStream; // field@032b │ │ +02586a: 1d01 |0005: monitor-enter v1 │ │ +02586c: 6e10 8d05 0400 |0006: invoke-virtual {v4}, Ljava/lang/String;.getBytes:()[B // method@058d │ │ +025872: 0c04 |0009: move-result-object v4 │ │ +025874: 1212 |000a: const/4 v2, #int 1 // #1 │ │ +025876: 7030 bd06 2304 |000b: invoke-direct {v3, v2, v4}, Lutil/AsyncLogger;.writeLog:(I[B)V // method@06bd │ │ +02587c: 5434 2b03 |000e: iget-object v4, v3, Lutil/AsyncLogger;.pin:Ljava/io/PipedInputStream; // field@032b │ │ +025880: 6e10 7705 0400 |0010: invoke-virtual {v4}, Ljava/lang/Object;.notifyAll:()V // method@0577 │ │ +025886: 1e01 |0013: monitor-exit v1 │ │ +025888: 1e00 |0014: monitor-exit v0 │ │ +02588a: 0e00 |0015: return-void │ │ +02588c: 0d04 |0016: move-exception v4 │ │ +02588e: 1e01 |0017: monitor-exit v1 │ │ +025890: 2704 |0018: throw v4 │ │ +025892: 0d04 |0019: move-exception v4 │ │ +025894: 1e00 |001a: monitor-exit v0 │ │ +025896: 2704 |001b: throw v4 │ │ catches : 5 │ │ 0x0003 - 0x0006 │ │ -> 0x0019 │ │ 0x0006 - 0x0014 │ │ -> 0x0016 │ │ 0x0014 - 0x0015 │ │ -> 0x0019 │ │ @@ -56617,37 +56617,37 @@ │ │ type : '(Ljava/lang/Exception;)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 5 │ │ ins : 2 │ │ outs : 3 │ │ insns size : 33 16-bit code units │ │ -0258cc: |[0258cc] util.AsyncLogger.logException:(Ljava/lang/Exception;)V │ │ -0258dc: 7110 a007 0400 |0000: invoke-static {v4}, Lutil/Utils;.serializeObject:(Ljava/lang/Object;)[B // method@07a0 │ │ -0258e2: 0c04 |0003: move-result-object v4 │ │ -0258e4: 5430 2c03 |0004: iget-object v0, v3, Lutil/AsyncLogger;.pout:Ljava/io/DataOutputStream; // field@032c │ │ -0258e8: 1d00 |0006: monitor-enter v0 │ │ -0258ea: 5431 2b03 |0007: iget-object v1, v3, Lutil/AsyncLogger;.pin:Ljava/io/PipedInputStream; // field@032b │ │ -0258ee: 1d01 |0009: monitor-enter v1 │ │ -0258f0: 1242 |000a: const/4 v2, #int 4 // #4 │ │ -0258f2: 7030 bd06 2304 |000b: invoke-direct {v3, v2, v4}, Lutil/AsyncLogger;.writeLog:(I[B)V // method@06bd │ │ -0258f8: 5434 2b03 |000e: iget-object v4, v3, Lutil/AsyncLogger;.pin:Ljava/io/PipedInputStream; // field@032b │ │ -0258fc: 6e10 7705 0400 |0010: invoke-virtual {v4}, Ljava/lang/Object;.notifyAll:()V // method@0577 │ │ -025902: 1e01 |0013: monitor-exit v1 │ │ -025904: 1e00 |0014: monitor-exit v0 │ │ -025906: 0e00 |0015: return-void │ │ -025908: 0d04 |0016: move-exception v4 │ │ -02590a: 1e01 |0017: monitor-exit v1 │ │ -02590c: 2704 |0018: throw v4 │ │ -02590e: 0d04 |0019: move-exception v4 │ │ -025910: 1e00 |001a: monitor-exit v0 │ │ -025912: 2704 |001b: throw v4 │ │ -025914: 0d04 |001c: move-exception v4 │ │ -025916: 6e10 2305 0400 |001d: invoke-virtual {v4}, Ljava/io/IOException;.printStackTrace:()V // method@0523 │ │ -02591c: 0e00 |0020: return-void │ │ +0258c8: |[0258c8] util.AsyncLogger.logException:(Ljava/lang/Exception;)V │ │ +0258d8: 7110 a007 0400 |0000: invoke-static {v4}, Lutil/Utils;.serializeObject:(Ljava/lang/Object;)[B // method@07a0 │ │ +0258de: 0c04 |0003: move-result-object v4 │ │ +0258e0: 5430 2c03 |0004: iget-object v0, v3, Lutil/AsyncLogger;.pout:Ljava/io/DataOutputStream; // field@032c │ │ +0258e4: 1d00 |0006: monitor-enter v0 │ │ +0258e6: 5431 2b03 |0007: iget-object v1, v3, Lutil/AsyncLogger;.pin:Ljava/io/PipedInputStream; // field@032b │ │ +0258ea: 1d01 |0009: monitor-enter v1 │ │ +0258ec: 1242 |000a: const/4 v2, #int 4 // #4 │ │ +0258ee: 7030 bd06 2304 |000b: invoke-direct {v3, v2, v4}, Lutil/AsyncLogger;.writeLog:(I[B)V // method@06bd │ │ +0258f4: 5434 2b03 |000e: iget-object v4, v3, Lutil/AsyncLogger;.pin:Ljava/io/PipedInputStream; // field@032b │ │ +0258f8: 6e10 7705 0400 |0010: invoke-virtual {v4}, Ljava/lang/Object;.notifyAll:()V // method@0577 │ │ +0258fe: 1e01 |0013: monitor-exit v1 │ │ +025900: 1e00 |0014: monitor-exit v0 │ │ +025902: 0e00 |0015: return-void │ │ +025904: 0d04 |0016: move-exception v4 │ │ +025906: 1e01 |0017: monitor-exit v1 │ │ +025908: 2704 |0018: throw v4 │ │ +02590a: 0d04 |0019: move-exception v4 │ │ +02590c: 1e00 |001a: monitor-exit v0 │ │ +02590e: 2704 |001b: throw v4 │ │ +025910: 0d04 |001c: move-exception v4 │ │ +025912: 6e10 2305 0400 |001d: invoke-virtual {v4}, Ljava/io/IOException;.printStackTrace:()V // method@0523 │ │ +025918: 0e00 |0020: return-void │ │ catches : 6 │ │ 0x0000 - 0x0004 │ │ Ljava/io/IOException; -> 0x001c │ │ 0x0007 - 0x000a │ │ -> 0x0019 │ │ 0x000b - 0x0014 │ │ -> 0x0016 │ │ @@ -56677,34 +56677,34 @@ │ │ type : '(Ljava/lang/String;)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 5 │ │ ins : 2 │ │ outs : 3 │ │ insns size : 28 16-bit code units │ │ -02595c: |[02595c] util.AsyncLogger.logLine:(Ljava/lang/String;)V │ │ -02596c: 5430 2c03 |0000: iget-object v0, v3, Lutil/AsyncLogger;.pout:Ljava/io/DataOutputStream; // field@032c │ │ -025970: 1d00 |0002: monitor-enter v0 │ │ -025972: 5431 2b03 |0003: iget-object v1, v3, Lutil/AsyncLogger;.pin:Ljava/io/PipedInputStream; // field@032b │ │ -025976: 1d01 |0005: monitor-enter v1 │ │ -025978: 6e10 8d05 0400 |0006: invoke-virtual {v4}, Ljava/lang/String;.getBytes:()[B // method@058d │ │ -02597e: 0c04 |0009: move-result-object v4 │ │ -025980: 1222 |000a: const/4 v2, #int 2 // #2 │ │ -025982: 7030 bd06 2304 |000b: invoke-direct {v3, v2, v4}, Lutil/AsyncLogger;.writeLog:(I[B)V // method@06bd │ │ -025988: 5434 2b03 |000e: iget-object v4, v3, Lutil/AsyncLogger;.pin:Ljava/io/PipedInputStream; // field@032b │ │ -02598c: 6e10 7705 0400 |0010: invoke-virtual {v4}, Ljava/lang/Object;.notifyAll:()V // method@0577 │ │ -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 │ │ +025958: |[025958] util.AsyncLogger.logLine:(Ljava/lang/String;)V │ │ +025968: 5430 2c03 |0000: iget-object v0, v3, Lutil/AsyncLogger;.pout:Ljava/io/DataOutputStream; // field@032c │ │ +02596c: 1d00 |0002: monitor-enter v0 │ │ +02596e: 5431 2b03 |0003: iget-object v1, v3, Lutil/AsyncLogger;.pin:Ljava/io/PipedInputStream; // field@032b │ │ +025972: 1d01 |0005: monitor-enter v1 │ │ +025974: 6e10 8d05 0400 |0006: invoke-virtual {v4}, Ljava/lang/String;.getBytes:()[B // method@058d │ │ +02597a: 0c04 |0009: move-result-object v4 │ │ +02597c: 1222 |000a: const/4 v2, #int 2 // #2 │ │ +02597e: 7030 bd06 2304 |000b: invoke-direct {v3, v2, v4}, Lutil/AsyncLogger;.writeLog:(I[B)V // method@06bd │ │ +025984: 5434 2b03 |000e: iget-object v4, v3, Lutil/AsyncLogger;.pin:Ljava/io/PipedInputStream; // field@032b │ │ +025988: 6e10 7705 0400 |0010: invoke-virtual {v4}, Ljava/lang/Object;.notifyAll:()V // method@0577 │ │ +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 │ │ catches : 5 │ │ 0x0003 - 0x0006 │ │ -> 0x0019 │ │ 0x0006 - 0x0014 │ │ -> 0x0016 │ │ 0x0014 - 0x0015 │ │ -> 0x0019 │ │ @@ -56730,34 +56730,34 @@ │ │ type : '(Ljava/lang/String;)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 5 │ │ ins : 2 │ │ outs : 3 │ │ insns size : 28 16-bit code units │ │ -025a2c: |[025a2c] util.AsyncLogger.message:(Ljava/lang/String;)V │ │ -025a3c: 5430 2c03 |0000: iget-object v0, v3, Lutil/AsyncLogger;.pout:Ljava/io/DataOutputStream; // field@032c │ │ -025a40: 1d00 |0002: monitor-enter v0 │ │ -025a42: 5431 2b03 |0003: iget-object v1, v3, Lutil/AsyncLogger;.pin:Ljava/io/PipedInputStream; // field@032b │ │ -025a46: 1d01 |0005: monitor-enter v1 │ │ -025a48: 6e10 8d05 0400 |0006: invoke-virtual {v4}, Ljava/lang/String;.getBytes:()[B // method@058d │ │ -025a4e: 0c04 |0009: move-result-object v4 │ │ -025a50: 1232 |000a: const/4 v2, #int 3 // #3 │ │ -025a52: 7030 bd06 2304 |000b: invoke-direct {v3, v2, v4}, Lutil/AsyncLogger;.writeLog:(I[B)V // method@06bd │ │ -025a58: 5434 2b03 |000e: iget-object v4, v3, Lutil/AsyncLogger;.pin:Ljava/io/PipedInputStream; // field@032b │ │ -025a5c: 6e10 7705 0400 |0010: invoke-virtual {v4}, Ljava/lang/Object;.notifyAll:()V // method@0577 │ │ -025a62: 1e01 |0013: monitor-exit v1 │ │ -025a64: 1e00 |0014: monitor-exit v0 │ │ -025a66: 0e00 |0015: return-void │ │ -025a68: 0d04 |0016: move-exception v4 │ │ -025a6a: 1e01 |0017: monitor-exit v1 │ │ -025a6c: 2704 |0018: throw v4 │ │ -025a6e: 0d04 |0019: move-exception v4 │ │ -025a70: 1e00 |001a: monitor-exit v0 │ │ -025a72: 2704 |001b: throw v4 │ │ +025a28: |[025a28] util.AsyncLogger.message:(Ljava/lang/String;)V │ │ +025a38: 5430 2c03 |0000: iget-object v0, v3, Lutil/AsyncLogger;.pout:Ljava/io/DataOutputStream; // field@032c │ │ +025a3c: 1d00 |0002: monitor-enter v0 │ │ +025a3e: 5431 2b03 |0003: iget-object v1, v3, Lutil/AsyncLogger;.pin:Ljava/io/PipedInputStream; // field@032b │ │ +025a42: 1d01 |0005: monitor-enter v1 │ │ +025a44: 6e10 8d05 0400 |0006: invoke-virtual {v4}, Ljava/lang/String;.getBytes:()[B // method@058d │ │ +025a4a: 0c04 |0009: move-result-object v4 │ │ +025a4c: 1232 |000a: const/4 v2, #int 3 // #3 │ │ +025a4e: 7030 bd06 2304 |000b: invoke-direct {v3, v2, v4}, Lutil/AsyncLogger;.writeLog:(I[B)V // method@06bd │ │ +025a54: 5434 2b03 |000e: iget-object v4, v3, Lutil/AsyncLogger;.pin:Ljava/io/PipedInputStream; // field@032b │ │ +025a58: 6e10 7705 0400 |0010: invoke-virtual {v4}, Ljava/lang/Object;.notifyAll:()V // method@0577 │ │ +025a5e: 1e01 |0013: monitor-exit v1 │ │ +025a60: 1e00 |0014: monitor-exit v0 │ │ +025a62: 0e00 |0015: return-void │ │ +025a64: 0d04 |0016: move-exception v4 │ │ +025a66: 1e01 |0017: monitor-exit v1 │ │ +025a68: 2704 |0018: throw v4 │ │ +025a6a: 0d04 |0019: move-exception v4 │ │ +025a6c: 1e00 |001a: monitor-exit v0 │ │ +025a6e: 2704 |001b: throw v4 │ │ catches : 5 │ │ 0x0003 - 0x0006 │ │ -> 0x0019 │ │ 0x0006 - 0x0014 │ │ -> 0x0016 │ │ 0x0014 - 0x0015 │ │ -> 0x0019 │ │ @@ -56783,93 +56783,93 @@ │ │ type : '()V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 6 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 152 16-bit code units │ │ -025aa4: |[025aa4] util.AsyncLogger.run:()V │ │ -025ab4: 2200 f800 |0000: new-instance v0, Ljava/io/DataInputStream; // type@00f8 │ │ -025ab8: 5451 2b03 |0002: iget-object v1, v5, Lutil/AsyncLogger;.pin:Ljava/io/PipedInputStream; // field@032b │ │ -025abc: 7020 ee04 1000 |0004: invoke-direct {v0, v1}, Ljava/io/DataInputStream;.:(Ljava/io/InputStream;)V // method@04ee │ │ -025ac2: 5551 2903 |0007: iget-boolean v1, v5, Lutil/AsyncLogger;.closed:Z // field@0329 │ │ -025ac6: 3901 8e00 |0009: if-nez v1, 0097 // +008e │ │ -025aca: 5451 2b03 |000b: iget-object v1, v5, Lutil/AsyncLogger;.pin:Ljava/io/PipedInputStream; // field@032b │ │ -025ace: 1d01 |000d: monitor-enter v1 │ │ -025ad0: 5452 2b03 |000e: iget-object v2, v5, Lutil/AsyncLogger;.pin:Ljava/io/PipedInputStream; // field@032b │ │ -025ad4: 6e10 3a05 0200 |0010: invoke-virtual {v2}, Ljava/io/PipedInputStream;.available:()I // method@053a │ │ -025ada: 0a02 |0013: move-result v2 │ │ -025adc: 3c02 1100 |0014: if-gtz v2, 0025 // +0011 │ │ -025ae0: 5552 2903 |0016: iget-boolean v2, v5, Lutil/AsyncLogger;.closed:Z // field@0329 │ │ -025ae4: 3902 0d00 |0018: if-nez v2, 0025 // +000d │ │ -025ae8: 5452 2b03 |001a: iget-object v2, v5, Lutil/AsyncLogger;.pin:Ljava/io/PipedInputStream; // field@032b │ │ -025aec: 6e10 7905 0200 |001c: invoke-virtual {v2}, Ljava/lang/Object;.wait:()V // method@0579 │ │ -025af2: 28ef |001f: goto 000e // -0011 │ │ -025af4: 0d02 |0020: move-exception v2 │ │ -025af6: 6e10 6905 0200 |0021: invoke-virtual {v2}, Ljava/lang/InterruptedException;.printStackTrace:()V // method@0569 │ │ -025afc: 28ea |0024: goto 000e // -0016 │ │ -025afe: 5552 2903 |0025: iget-boolean v2, v5, Lutil/AsyncLogger;.closed:Z // field@0329 │ │ -025b02: 3802 0400 |0027: if-eqz v2, 002b // +0004 │ │ -025b06: 1e01 |0029: monitor-exit v1 │ │ -025b08: 286d |002a: goto 0097 // +006d │ │ -025b0a: 6e10 f404 0000 |002b: invoke-virtual {v0}, Ljava/io/DataInputStream;.readShort:()S // method@04f4 │ │ -025b10: 0a02 |002e: move-result v2 │ │ -025b12: 6e10 f204 0000 |002f: invoke-virtual {v0}, Ljava/io/DataInputStream;.readInt:()I // method@04f2 │ │ -025b18: 0a03 |0032: move-result v3 │ │ -025b1a: 2333 9d01 |0033: new-array v3, v3, [B // type@019d │ │ -025b1e: 6e20 f004 3000 |0035: invoke-virtual {v0, v3}, Ljava/io/DataInputStream;.readFully:([B)V // method@04f0 │ │ -025b24: 1e01 |0038: monitor-exit v1 │ │ -025b26: 1211 |0039: const/4 v1, #int 1 // #1 │ │ -025b28: 3212 4400 |003a: if-eq v2, v1, 007e // +0044 │ │ -025b2c: 1221 |003c: const/4 v1, #int 2 // #2 │ │ -025b2e: 3212 3600 |003d: if-eq v2, v1, 0073 // +0036 │ │ -025b32: 1231 |003f: const/4 v1, #int 3 // #3 │ │ -025b34: 3212 2800 |0040: if-eq v2, v1, 0068 // +0028 │ │ -025b38: 1241 |0042: const/4 v1, #int 4 // #4 │ │ -025b3a: 3312 0e00 |0043: if-ne v2, v1, 0051 // +000e │ │ -025b3e: 5451 2a03 |0045: iget-object v1, v5, Lutil/AsyncLogger;.out:Lutil/LoggerInterface; // field@032a │ │ -025b42: 7110 9407 0300 |0047: invoke-static {v3}, Lutil/Utils;.deserializeObject:([B)Ljava/lang/Object; // method@0794 │ │ -025b48: 0c02 |004a: move-result-object v2 │ │ -025b4a: 1f02 1b01 |004b: check-cast v2, Ljava/lang/Exception; // type@011b │ │ -025b4e: 7220 3007 2100 |004d: invoke-interface {v1, v2}, Lutil/LoggerInterface;.logException:(Ljava/lang/Exception;)V // method@0730 │ │ -025b54: 28b7 |0050: goto 0007 // -0049 │ │ -025b56: 2201 0001 |0051: new-instance v1, Ljava/io/IOException; // type@0100 │ │ -025b5a: 2203 2d01 |0053: new-instance v3, Ljava/lang/StringBuilder; // type@012d │ │ -025b5e: 7010 a705 0300 |0055: invoke-direct {v3}, Ljava/lang/StringBuilder;.:()V // method@05a7 │ │ -025b64: 1a04 8c04 |0058: const-string v4, "Unknown log Msg type: " // string@048c │ │ -025b68: 6e20 ad05 4300 |005a: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -025b6e: 6e20 aa05 2300 |005d: invoke-virtual {v3, v2}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@05aa │ │ -025b74: 6e10 af05 0300 |0060: invoke-virtual {v3}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ -025b7a: 0c02 |0063: move-result-object v2 │ │ -025b7c: 7020 1f05 2100 |0064: invoke-direct {v1, v2}, Ljava/io/IOException;.:(Ljava/lang/String;)V // method@051f │ │ -025b82: 2701 |0067: throw v1 │ │ -025b84: 5451 2a03 |0068: iget-object v1, v5, Lutil/AsyncLogger;.out:Lutil/LoggerInterface; // field@032a │ │ -025b88: 2202 2b01 |006a: new-instance v2, Ljava/lang/String; // type@012b │ │ -025b8c: 7020 8505 3200 |006c: invoke-direct {v2, v3}, Ljava/lang/String;.:([B)V // method@0585 │ │ -025b92: 7220 3207 2100 |006f: invoke-interface {v1, v2}, Lutil/LoggerInterface;.message:(Ljava/lang/String;)V // method@0732 │ │ -025b98: 2895 |0072: goto 0007 // -006b │ │ -025b9a: 5451 2a03 |0073: iget-object v1, v5, Lutil/AsyncLogger;.out:Lutil/LoggerInterface; // field@032a │ │ -025b9e: 2202 2b01 |0075: new-instance v2, Ljava/lang/String; // type@012b │ │ -025ba2: 7020 8505 3200 |0077: invoke-direct {v2, v3}, Ljava/lang/String;.:([B)V // method@0585 │ │ -025ba8: 7220 3107 2100 |007a: invoke-interface {v1, v2}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0731 │ │ -025bae: 288a |007d: goto 0007 // -0076 │ │ -025bb0: 5451 2a03 |007e: iget-object v1, v5, Lutil/AsyncLogger;.out:Lutil/LoggerInterface; // field@032a │ │ -025bb4: 2202 2b01 |0080: new-instance v2, Ljava/lang/String; // type@012b │ │ -025bb8: 7020 8505 3200 |0082: invoke-direct {v2, v3}, Ljava/lang/String;.:([B)V // method@0585 │ │ -025bbe: 7220 2f07 2100 |0085: invoke-interface {v1, v2}, Lutil/LoggerInterface;.log:(Ljava/lang/String;)V // method@072f │ │ -025bc4: 2900 7fff |0088: goto/16 0007 // -0081 │ │ -025bc8: 0d02 |008a: move-exception v2 │ │ -025bca: 1e01 |008b: monitor-exit v1 │ │ -025bcc: 2702 |008c: throw v2 │ │ -025bce: 0d01 |008d: move-exception v1 │ │ -025bd0: 5552 2903 |008e: iget-boolean v2, v5, Lutil/AsyncLogger;.closed:Z // field@0329 │ │ -025bd4: 3902 77ff |0090: if-nez v2, 0007 // -0089 │ │ -025bd8: 6e10 5c05 0100 |0092: invoke-virtual {v1}, Ljava/lang/Exception;.printStackTrace:()V // method@055c │ │ -025bde: 2900 72ff |0095: goto/16 0007 // -008e │ │ -025be2: 0e00 |0097: return-void │ │ +025aa0: |[025aa0] util.AsyncLogger.run:()V │ │ +025ab0: 2200 f800 |0000: new-instance v0, Ljava/io/DataInputStream; // type@00f8 │ │ +025ab4: 5451 2b03 |0002: iget-object v1, v5, Lutil/AsyncLogger;.pin:Ljava/io/PipedInputStream; // field@032b │ │ +025ab8: 7020 ee04 1000 |0004: invoke-direct {v0, v1}, Ljava/io/DataInputStream;.:(Ljava/io/InputStream;)V // method@04ee │ │ +025abe: 5551 2903 |0007: iget-boolean v1, v5, Lutil/AsyncLogger;.closed:Z // field@0329 │ │ +025ac2: 3901 8e00 |0009: if-nez v1, 0097 // +008e │ │ +025ac6: 5451 2b03 |000b: iget-object v1, v5, Lutil/AsyncLogger;.pin:Ljava/io/PipedInputStream; // field@032b │ │ +025aca: 1d01 |000d: monitor-enter v1 │ │ +025acc: 5452 2b03 |000e: iget-object v2, v5, Lutil/AsyncLogger;.pin:Ljava/io/PipedInputStream; // field@032b │ │ +025ad0: 6e10 3a05 0200 |0010: invoke-virtual {v2}, Ljava/io/PipedInputStream;.available:()I // method@053a │ │ +025ad6: 0a02 |0013: move-result v2 │ │ +025ad8: 3c02 1100 |0014: if-gtz v2, 0025 // +0011 │ │ +025adc: 5552 2903 |0016: iget-boolean v2, v5, Lutil/AsyncLogger;.closed:Z // field@0329 │ │ +025ae0: 3902 0d00 |0018: if-nez v2, 0025 // +000d │ │ +025ae4: 5452 2b03 |001a: iget-object v2, v5, Lutil/AsyncLogger;.pin:Ljava/io/PipedInputStream; // field@032b │ │ +025ae8: 6e10 7905 0200 |001c: invoke-virtual {v2}, Ljava/lang/Object;.wait:()V // method@0579 │ │ +025aee: 28ef |001f: goto 000e // -0011 │ │ +025af0: 0d02 |0020: move-exception v2 │ │ +025af2: 6e10 6905 0200 |0021: invoke-virtual {v2}, Ljava/lang/InterruptedException;.printStackTrace:()V // method@0569 │ │ +025af8: 28ea |0024: goto 000e // -0016 │ │ +025afa: 5552 2903 |0025: iget-boolean v2, v5, Lutil/AsyncLogger;.closed:Z // field@0329 │ │ +025afe: 3802 0400 |0027: if-eqz v2, 002b // +0004 │ │ +025b02: 1e01 |0029: monitor-exit v1 │ │ +025b04: 286d |002a: goto 0097 // +006d │ │ +025b06: 6e10 f404 0000 |002b: invoke-virtual {v0}, Ljava/io/DataInputStream;.readShort:()S // method@04f4 │ │ +025b0c: 0a02 |002e: move-result v2 │ │ +025b0e: 6e10 f204 0000 |002f: invoke-virtual {v0}, Ljava/io/DataInputStream;.readInt:()I // method@04f2 │ │ +025b14: 0a03 |0032: move-result v3 │ │ +025b16: 2333 9d01 |0033: new-array v3, v3, [B // type@019d │ │ +025b1a: 6e20 f004 3000 |0035: invoke-virtual {v0, v3}, Ljava/io/DataInputStream;.readFully:([B)V // method@04f0 │ │ +025b20: 1e01 |0038: monitor-exit v1 │ │ +025b22: 1211 |0039: const/4 v1, #int 1 // #1 │ │ +025b24: 3212 4400 |003a: if-eq v2, v1, 007e // +0044 │ │ +025b28: 1221 |003c: const/4 v1, #int 2 // #2 │ │ +025b2a: 3212 3600 |003d: if-eq v2, v1, 0073 // +0036 │ │ +025b2e: 1231 |003f: const/4 v1, #int 3 // #3 │ │ +025b30: 3212 2800 |0040: if-eq v2, v1, 0068 // +0028 │ │ +025b34: 1241 |0042: const/4 v1, #int 4 // #4 │ │ +025b36: 3312 0e00 |0043: if-ne v2, v1, 0051 // +000e │ │ +025b3a: 5451 2a03 |0045: iget-object v1, v5, Lutil/AsyncLogger;.out:Lutil/LoggerInterface; // field@032a │ │ +025b3e: 7110 9407 0300 |0047: invoke-static {v3}, Lutil/Utils;.deserializeObject:([B)Ljava/lang/Object; // method@0794 │ │ +025b44: 0c02 |004a: move-result-object v2 │ │ +025b46: 1f02 1b01 |004b: check-cast v2, Ljava/lang/Exception; // type@011b │ │ +025b4a: 7220 3007 2100 |004d: invoke-interface {v1, v2}, Lutil/LoggerInterface;.logException:(Ljava/lang/Exception;)V // method@0730 │ │ +025b50: 28b7 |0050: goto 0007 // -0049 │ │ +025b52: 2201 0001 |0051: new-instance v1, Ljava/io/IOException; // type@0100 │ │ +025b56: 2203 2d01 |0053: new-instance v3, Ljava/lang/StringBuilder; // type@012d │ │ +025b5a: 7010 a705 0300 |0055: invoke-direct {v3}, Ljava/lang/StringBuilder;.:()V // method@05a7 │ │ +025b60: 1a04 8c04 |0058: const-string v4, "Unknown log Msg type: " // string@048c │ │ +025b64: 6e20 ad05 4300 |005a: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +025b6a: 6e20 aa05 2300 |005d: invoke-virtual {v3, v2}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@05aa │ │ +025b70: 6e10 af05 0300 |0060: invoke-virtual {v3}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ +025b76: 0c02 |0063: move-result-object v2 │ │ +025b78: 7020 1f05 2100 |0064: invoke-direct {v1, v2}, Ljava/io/IOException;.:(Ljava/lang/String;)V // method@051f │ │ +025b7e: 2701 |0067: throw v1 │ │ +025b80: 5451 2a03 |0068: iget-object v1, v5, Lutil/AsyncLogger;.out:Lutil/LoggerInterface; // field@032a │ │ +025b84: 2202 2b01 |006a: new-instance v2, Ljava/lang/String; // type@012b │ │ +025b88: 7020 8505 3200 |006c: invoke-direct {v2, v3}, Ljava/lang/String;.:([B)V // method@0585 │ │ +025b8e: 7220 3207 2100 |006f: invoke-interface {v1, v2}, Lutil/LoggerInterface;.message:(Ljava/lang/String;)V // method@0732 │ │ +025b94: 2895 |0072: goto 0007 // -006b │ │ +025b96: 5451 2a03 |0073: iget-object v1, v5, Lutil/AsyncLogger;.out:Lutil/LoggerInterface; // field@032a │ │ +025b9a: 2202 2b01 |0075: new-instance v2, Ljava/lang/String; // type@012b │ │ +025b9e: 7020 8505 3200 |0077: invoke-direct {v2, v3}, Ljava/lang/String;.:([B)V // method@0585 │ │ +025ba4: 7220 3107 2100 |007a: invoke-interface {v1, v2}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0731 │ │ +025baa: 288a |007d: goto 0007 // -0076 │ │ +025bac: 5451 2a03 |007e: iget-object v1, v5, Lutil/AsyncLogger;.out:Lutil/LoggerInterface; // field@032a │ │ +025bb0: 2202 2b01 |0080: new-instance v2, Ljava/lang/String; // type@012b │ │ +025bb4: 7020 8505 3200 |0082: invoke-direct {v2, v3}, Ljava/lang/String;.:([B)V // method@0585 │ │ +025bba: 7220 2f07 2100 |0085: invoke-interface {v1, v2}, Lutil/LoggerInterface;.log:(Ljava/lang/String;)V // method@072f │ │ +025bc0: 2900 7fff |0088: goto/16 0007 // -0081 │ │ +025bc4: 0d02 |008a: move-exception v2 │ │ +025bc6: 1e01 |008b: monitor-exit v1 │ │ +025bc8: 2702 |008c: throw v2 │ │ +025bca: 0d01 |008d: move-exception v1 │ │ +025bcc: 5552 2903 |008e: iget-boolean v2, v5, Lutil/AsyncLogger;.closed:Z // field@0329 │ │ +025bd0: 3902 77ff |0090: if-nez v2, 0007 // -0089 │ │ +025bd4: 6e10 5c05 0100 |0092: invoke-virtual {v1}, Ljava/lang/Exception;.printStackTrace:()V // method@055c │ │ +025bda: 2900 72ff |0095: goto/16 0007 // -008e │ │ +025bde: 0e00 |0097: return-void │ │ catches : 7 │ │ 0x000b - 0x000e │ │ Ljava/lang/Exception; -> 0x008d │ │ 0x000e - 0x0018 │ │ -> 0x008a │ │ 0x001a - 0x001f │ │ Ljava/lang/InterruptedException; -> 0x0020 │ │ @@ -56948,36 +56948,36 @@ │ │ type : '()V' │ │ access : 0x10008 (STATIC CONSTRUCTOR) │ │ code - │ │ registers : 1 │ │ ins : 0 │ │ outs : 1 │ │ insns size : 8 16-bit code units │ │ -026400: |[026400] util.ExecutionEnvironment.:()V │ │ -026410: 2200 7f01 |0000: new-instance v0, Lutil/ExecutionEnvironment; // type@017f │ │ -026414: 7010 cf06 0000 |0002: invoke-direct {v0}, Lutil/ExecutionEnvironment;.:()V // method@06cf │ │ -02641a: 6900 3c03 |0005: sput-object v0, Lutil/ExecutionEnvironment;.m_default:Lutil/ExecutionEnvironmentInterface; // field@033c │ │ -02641e: 0e00 |0007: return-void │ │ +0263fc: |[0263fc] util.ExecutionEnvironment.:()V │ │ +02640c: 2200 7f01 |0000: new-instance v0, Lutil/ExecutionEnvironment; // type@017f │ │ +026410: 7010 cf06 0000 |0002: invoke-direct {v0}, Lutil/ExecutionEnvironment;.:()V // method@06cf │ │ +026416: 6900 3c03 |0005: sput-object v0, Lutil/ExecutionEnvironment;.m_default:Lutil/ExecutionEnvironmentInterface; // field@033c │ │ +02641a: 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 │ │ -026420: |[026420] util.ExecutionEnvironment.:()V │ │ -026430: 7010 7305 0000 |0000: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@0573 │ │ -026436: 0e00 |0003: return-void │ │ +02641c: |[02641c] util.ExecutionEnvironment.:()V │ │ +02642c: 7010 7305 0000 |0000: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@0573 │ │ +026432: 0e00 |0003: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=28 │ │ locals : │ │ 0x0000 - 0x0004 reg=0 this Lutil/ExecutionEnvironment; │ │ │ │ #2 : (in Lutil/ExecutionEnvironment;) │ │ @@ -56985,20 +56985,20 @@ │ │ type : '()Lutil/ExecutionEnvironmentInterface;' │ │ access : 0x0009 (PUBLIC STATIC) │ │ code - │ │ registers : 1 │ │ ins : 0 │ │ outs : 0 │ │ insns size : 8 16-bit code units │ │ -0263e0: |[0263e0] util.ExecutionEnvironment.getEnvironment:()Lutil/ExecutionEnvironmentInterface; │ │ -0263f0: 6200 3b03 |0000: sget-object v0, Lutil/ExecutionEnvironment;.m_Env:Lutil/ExecutionEnvironmentInterface; // field@033b │ │ -0263f4: 3800 0300 |0002: if-eqz v0, 0005 // +0003 │ │ -0263f8: 1100 |0004: return-object v0 │ │ -0263fa: 6200 3c03 |0005: sget-object v0, Lutil/ExecutionEnvironment;.m_default:Lutil/ExecutionEnvironmentInterface; // field@033c │ │ -0263fe: 1100 |0007: return-object v0 │ │ +0263dc: |[0263dc] util.ExecutionEnvironment.getEnvironment:()Lutil/ExecutionEnvironmentInterface; │ │ +0263ec: 6200 3b03 |0000: sget-object v0, Lutil/ExecutionEnvironment;.m_Env:Lutil/ExecutionEnvironmentInterface; // field@033b │ │ +0263f0: 3800 0300 |0002: if-eqz v0, 0005 // +0003 │ │ +0263f4: 1100 |0004: return-object v0 │ │ +0263f6: 6200 3c03 |0005: sget-object v0, Lutil/ExecutionEnvironment;.m_default:Lutil/ExecutionEnvironmentInterface; // field@033c │ │ +0263fa: 1100 |0007: return-object v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=39 │ │ 0x0005 line=42 │ │ locals : │ │ │ │ #3 : (in Lutil/ExecutionEnvironment;) │ │ @@ -57006,17 +57006,17 @@ │ │ type : '(Lutil/ExecutionEnvironmentInterface;)V' │ │ access : 0x0009 (PUBLIC STATIC) │ │ code - │ │ registers : 1 │ │ ins : 1 │ │ outs : 0 │ │ insns size : 3 16-bit code units │ │ -026488: |[026488] util.ExecutionEnvironment.setEnvironment:(Lutil/ExecutionEnvironmentInterface;)V │ │ -026498: 6900 3b03 |0000: sput-object v0, Lutil/ExecutionEnvironment;.m_Env:Lutil/ExecutionEnvironmentInterface; // field@033b │ │ -02649c: 0e00 |0002: return-void │ │ +026484: |[026484] util.ExecutionEnvironment.setEnvironment:(Lutil/ExecutionEnvironmentInterface;)V │ │ +026494: 6900 3b03 |0000: sput-object v0, Lutil/ExecutionEnvironment;.m_Env:Lutil/ExecutionEnvironmentInterface; // field@033b │ │ +026498: 0e00 |0002: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=35 │ │ locals : │ │ 0x0000 - 0x0003 reg=0 (null) Lutil/ExecutionEnvironmentInterface; │ │ │ │ Virtual methods - │ │ @@ -57025,35 +57025,35 @@ │ │ type : '()Z' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 0 │ │ insns size : 2 16-bit code units │ │ -026330: |[026330] util.ExecutionEnvironment.debug:()Z │ │ -026340: 1200 |0000: const/4 v0, #int 0 // #0 │ │ -026342: 0f00 |0001: return v0 │ │ +02632c: |[02632c] util.ExecutionEnvironment.debug:()Z │ │ +02633c: 1200 |0000: const/4 v0, #int 0 // #0 │ │ +02633e: 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 │ │ -026380: |[026380] util.ExecutionEnvironment.getAsset:(Ljava/lang/String;)Ljava/io/InputStream; │ │ -026390: 2202 0001 |0000: new-instance v2, Ljava/io/IOException; // type@0100 │ │ -026394: 1a00 f603 |0002: const-string v0, "Not supported!" // string@03f6 │ │ -026398: 7020 1f05 0200 |0004: invoke-direct {v2, v0}, Ljava/io/IOException;.:(Ljava/lang/String;)V // method@051f │ │ -02639e: 2702 |0007: throw v2 │ │ +02637c: |[02637c] util.ExecutionEnvironment.getAsset:(Ljava/lang/String;)Ljava/io/InputStream; │ │ +02638c: 2202 0001 |0000: new-instance v2, Ljava/io/IOException; // type@0100 │ │ +026390: 1a00 f603 |0002: const-string v0, "Not supported!" // string@03f6 │ │ +026394: 7020 1f05 0200 |0004: invoke-direct {v2, v0}, Ljava/io/IOException;.:(Ljava/lang/String;)V // method@051f │ │ +02639a: 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; │ │ │ │ @@ -57062,35 +57062,35 @@ │ │ type : '()I' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 0 │ │ insns size : 2 16-bit code units │ │ -02636c: |[02636c] util.ExecutionEnvironment.getEnvironmentID:()I │ │ -02637c: 1200 |0000: const/4 v0, #int 0 // #0 │ │ -02637e: 0f00 |0001: return v0 │ │ +026368: |[026368] util.ExecutionEnvironment.getEnvironmentID:()I │ │ +026378: 1200 |0000: const/4 v0, #int 0 // #0 │ │ +02637a: 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 │ │ -0263a0: |[0263a0] util.ExecutionEnvironment.getEnvironmentVersion:()Ljava/lang/String; │ │ -0263b0: 1a00 8108 |0000: const-string v0, "java.version" // string@0881 │ │ -0263b4: 7110 b305 0000 |0002: invoke-static {v0}, Ljava/lang/System;.getProperty:(Ljava/lang/String;)Ljava/lang/String; // method@05b3 │ │ -0263ba: 0c00 |0005: move-result-object v0 │ │ -0263bc: 1100 |0006: return-object v0 │ │ +02639c: |[02639c] util.ExecutionEnvironment.getEnvironmentVersion:()Ljava/lang/String; │ │ +0263ac: 1a00 8108 |0000: const-string v0, "java.version" // string@0881 │ │ +0263b0: 7110 b305 0000 |0002: invoke-static {v0}, Ljava/lang/System;.getProperty:(Ljava/lang/String;)Ljava/lang/String; // method@05b3 │ │ +0263b6: 0c00 |0005: move-result-object v0 │ │ +0263b8: 1100 |0006: return-object v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=53 │ │ locals : │ │ 0x0000 - 0x0007 reg=1 this Lutil/ExecutionEnvironment; │ │ │ │ #4 : (in Lutil/ExecutionEnvironment;) │ │ @@ -57098,19 +57098,19 @@ │ │ type : '()Ljava/lang/String;' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 7 16-bit code units │ │ -0263c0: |[0263c0] util.ExecutionEnvironment.getWorkDir:()Ljava/lang/String; │ │ -0263d0: 1a00 6c0b |0000: const-string v0, "user.dir" // string@0b6c │ │ -0263d4: 7110 b305 0000 |0002: invoke-static {v0}, Ljava/lang/System;.getProperty:(Ljava/lang/String;)Ljava/lang/String; // method@05b3 │ │ -0263da: 0c00 |0005: move-result-object v0 │ │ -0263dc: 1100 |0006: return-object v0 │ │ +0263bc: |[0263bc] util.ExecutionEnvironment.getWorkDir:()Ljava/lang/String; │ │ +0263cc: 1a00 6c0b |0000: const-string v0, "user.dir" // string@0b6c │ │ +0263d0: 7110 b305 0000 |0002: invoke-static {v0}, Ljava/lang/System;.getProperty:(Ljava/lang/String;)Ljava/lang/String; // method@05b3 │ │ +0263d6: 0c00 |0005: move-result-object v0 │ │ +0263d8: 1100 |0006: return-object v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=74 │ │ locals : │ │ 0x0000 - 0x0007 reg=1 this Lutil/ExecutionEnvironment; │ │ │ │ #5 : (in Lutil/ExecutionEnvironment;) │ │ @@ -57118,108 +57118,108 @@ │ │ type : '()Z' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 0 │ │ insns size : 2 16-bit code units │ │ -026344: |[026344] util.ExecutionEnvironment.hasNetwork:()Z │ │ -026354: 1210 |0000: const/4 v0, #int 1 // #1 │ │ -026356: 0f00 |0001: return v0 │ │ +026340: |[026340] util.ExecutionEnvironment.hasNetwork:()Z │ │ +026350: 1210 |0000: const/4 v0, #int 1 // #1 │ │ +026352: 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 │ │ -026438: |[026438] util.ExecutionEnvironment.migrateConfig:()V │ │ -026448: 0e00 |0000: return-void │ │ +026434: |[026434] util.ExecutionEnvironment.migrateConfig:()V │ │ +026444: 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 │ │ -02644c: |[02644c] util.ExecutionEnvironment.onReload:()V │ │ -02645c: 0e00 |0000: return-void │ │ +026448: |[026448] util.ExecutionEnvironment.onReload:()V │ │ +026458: 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 │ │ -026358: |[026358] util.ExecutionEnvironment.protectSocket:(Ljava/lang/Object;I)Z │ │ -026368: 1211 |0000: const/4 v1, #int 1 // #1 │ │ -02636a: 0f01 |0001: return v1 │ │ +026354: |[026354] util.ExecutionEnvironment.protectSocket:(Ljava/lang/Object;I)Z │ │ +026364: 1211 |0000: const/4 v1, #int 1 // #1 │ │ +026366: 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 │ │ -026460: |[026460] util.ExecutionEnvironment.releaseAllWakeLocks:()V │ │ -026470: 0e00 |0000: return-void │ │ +02645c: |[02645c] util.ExecutionEnvironment.releaseAllWakeLocks:()V │ │ +02646c: 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 │ │ -026474: |[026474] util.ExecutionEnvironment.releaseWakeLock:()V │ │ -026484: 0e00 |0000: return-void │ │ +026470: |[026470] util.ExecutionEnvironment.releaseWakeLock:()V │ │ +026480: 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 │ │ -0264a0: |[0264a0] util.ExecutionEnvironment.wakeLock:()V │ │ -0264b0: 0e00 |0000: return-void │ │ +02649c: |[02649c] util.ExecutionEnvironment.wakeLock:()V │ │ +0264ac: 0e00 |0000: return-void │ │ catches : (none) │ │ positions : │ │ locals : │ │ │ │ source_file_idx : 403 (ExecutionEnvironment.java) │ │ │ │ Class #144 header: │ │ @@ -57307,48 +57307,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 │ │ -0265bc: |[0265bc] util.FileLogger.:(Ljava/lang/String;Ljava/lang/String;JILjava/lang/String;)V │ │ -0265cc: 7010 7305 0300 |0000: invoke-direct {v3}, Ljava/lang/Object;.:()V // method@0573 │ │ -0265d2: 1600 0000 |0003: const-wide/16 v0, #int 0 // #0 │ │ -0265d6: 5a30 3f03 |0005: iput-wide v0, v3, Lutil/FileLogger;.curSlotSize:J // field@033f │ │ -0265da: 1200 |0007: const/4 v0, #int 0 // #0 │ │ -0265dc: 5930 3e03 |0008: iput v0, v3, Lutil/FileLogger;.curSlot:I // field@033e │ │ -0265e0: 1201 |000a: const/4 v1, #int 0 // #0 │ │ -0265e2: 5b31 4003 |000b: iput-object v1, v3, Lutil/FileLogger;.fout:Ljava/io/OutputStream; // field@0340 │ │ -0265e6: 5c30 3d03 |000d: iput-boolean v0, v3, Lutil/FileLogger;.closed:Z // field@033d │ │ -0265ea: 5c30 4903 |000f: iput-boolean v0, v3, Lutil/FileLogger;.timeStampEnabled:Z // field@0349 │ │ -0265ee: 1600 0100 |0011: const-wide/16 v0, #int 1 // #1 │ │ -0265f2: 3102 0600 |0013: cmp-long v2, v6, v0 │ │ -0265f6: 3a02 2700 |0015: if-ltz v2, 003c // +0027 │ │ -0265fa: 1210 |0017: const/4 v0, #int 1 // #1 │ │ -0265fc: 3408 2400 |0018: if-lt v8, v0, 003c // +0024 │ │ -026600: 2200 2d01 |001a: new-instance v0, Ljava/lang/StringBuilder; // type@012d │ │ -026604: 7010 a705 0000 |001c: invoke-direct {v0}, Ljava/lang/StringBuilder;.:()V // method@05a7 │ │ -02660a: 6e20 ad05 4000 |001f: invoke-virtual {v0, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -026610: 1a04 6000 |0022: const-string v4, "/" // string@0060 │ │ -026614: 6e20 ad05 4000 |0024: invoke-virtual {v0, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -02661a: 6e20 ad05 5000 |0027: invoke-virtual {v0, v5}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -026620: 6e10 af05 0000 |002a: invoke-virtual {v0}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ -026626: 0c04 |002d: move-result-object v4 │ │ -026628: 5b34 4203 |002e: iput-object v4, v3, Lutil/FileLogger;.logFolderPath:Ljava/lang/String; // field@0342 │ │ -02662c: 5b35 4303 |0030: iput-object v5, v3, Lutil/FileLogger;.name:Ljava/lang/String; // field@0343 │ │ -026630: 5a36 4803 |0032: iput-wide v6, v3, Lutil/FileLogger;.slotSize:J // field@0348 │ │ -026634: 5938 4703 |0034: iput v8, v3, Lutil/FileLogger;.slotCount:I // field@0347 │ │ -026638: 5b39 4103 |0036: iput-object v9, v3, Lutil/FileLogger;.header:Ljava/lang/String; // field@0341 │ │ -02663c: 7010 f106 0300 |0038: invoke-direct {v3}, Lutil/FileLogger;.logOpen:()V // method@06f1 │ │ -026642: 0e00 |003b: return-void │ │ -026644: 2204 1c01 |003c: new-instance v4, Ljava/lang/IllegalArgumentException; // type@011c │ │ -026648: 1a05 dd0a |003e: const-string v5, "slotSize and slotCount must not be less than 1" // string@0add │ │ -02664c: 7020 6005 5400 |0040: invoke-direct {v4, v5}, Ljava/lang/IllegalArgumentException;.:(Ljava/lang/String;)V // method@0560 │ │ -026652: 2704 |0043: throw v4 │ │ +0265b8: |[0265b8] util.FileLogger.:(Ljava/lang/String;Ljava/lang/String;JILjava/lang/String;)V │ │ +0265c8: 7010 7305 0300 |0000: invoke-direct {v3}, Ljava/lang/Object;.:()V // method@0573 │ │ +0265ce: 1600 0000 |0003: const-wide/16 v0, #int 0 // #0 │ │ +0265d2: 5a30 3f03 |0005: iput-wide v0, v3, Lutil/FileLogger;.curSlotSize:J // field@033f │ │ +0265d6: 1200 |0007: const/4 v0, #int 0 // #0 │ │ +0265d8: 5930 3e03 |0008: iput v0, v3, Lutil/FileLogger;.curSlot:I // field@033e │ │ +0265dc: 1201 |000a: const/4 v1, #int 0 // #0 │ │ +0265de: 5b31 4003 |000b: iput-object v1, v3, Lutil/FileLogger;.fout:Ljava/io/OutputStream; // field@0340 │ │ +0265e2: 5c30 3d03 |000d: iput-boolean v0, v3, Lutil/FileLogger;.closed:Z // field@033d │ │ +0265e6: 5c30 4903 |000f: iput-boolean v0, v3, Lutil/FileLogger;.timeStampEnabled:Z // field@0349 │ │ +0265ea: 1600 0100 |0011: const-wide/16 v0, #int 1 // #1 │ │ +0265ee: 3102 0600 |0013: cmp-long v2, v6, v0 │ │ +0265f2: 3a02 2700 |0015: if-ltz v2, 003c // +0027 │ │ +0265f6: 1210 |0017: const/4 v0, #int 1 // #1 │ │ +0265f8: 3408 2400 |0018: if-lt v8, v0, 003c // +0024 │ │ +0265fc: 2200 2d01 |001a: new-instance v0, Ljava/lang/StringBuilder; // type@012d │ │ +026600: 7010 a705 0000 |001c: invoke-direct {v0}, Ljava/lang/StringBuilder;.:()V // method@05a7 │ │ +026606: 6e20 ad05 4000 |001f: invoke-virtual {v0, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +02660c: 1a04 6000 |0022: const-string v4, "/" // string@0060 │ │ +026610: 6e20 ad05 4000 |0024: invoke-virtual {v0, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +026616: 6e20 ad05 5000 |0027: invoke-virtual {v0, v5}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +02661c: 6e10 af05 0000 |002a: invoke-virtual {v0}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ +026622: 0c04 |002d: move-result-object v4 │ │ +026624: 5b34 4203 |002e: iput-object v4, v3, Lutil/FileLogger;.logFolderPath:Ljava/lang/String; // field@0342 │ │ +026628: 5b35 4303 |0030: iput-object v5, v3, Lutil/FileLogger;.name:Ljava/lang/String; // field@0343 │ │ +02662c: 5a36 4803 |0032: iput-wide v6, v3, Lutil/FileLogger;.slotSize:J // field@0348 │ │ +026630: 5938 4703 |0034: iput v8, v3, Lutil/FileLogger;.slotCount:I // field@0347 │ │ +026634: 5b39 4103 |0036: iput-object v9, v3, Lutil/FileLogger;.header:Ljava/lang/String; // field@0341 │ │ +026638: 7010 f106 0300 |0038: invoke-direct {v3}, Lutil/FileLogger;.logOpen:()V // method@06f1 │ │ +02663e: 0e00 |003b: return-void │ │ +026640: 2204 1c01 |003c: new-instance v4, Ljava/lang/IllegalArgumentException; // type@011c │ │ +026644: 1a05 dd0a |003e: const-string v5, "slotSize and slotCount must not be less than 1" // string@0add │ │ +026648: 7020 6005 5400 |0040: invoke-direct {v4, v5}, Ljava/lang/IllegalArgumentException;.:(Ljava/lang/String;)V // method@0560 │ │ +02664e: 2704 |0043: throw v4 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=49 │ │ 0x0005 line=40 │ │ 0x0008 line=41 │ │ 0x000b line=42 │ │ 0x000d line=46 │ │ @@ -57373,71 +57373,71 @@ │ │ type : '()Ljava/io/OutputStream;' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 6 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 123 16-bit code units │ │ -0264b4: |[0264b4] util.FileLogger.getOutputStream:()Ljava/io/OutputStream; │ │ -0264c4: 5350 3f03 |0000: iget-wide v0, v5, Lutil/FileLogger;.curSlotSize:J // field@033f │ │ -0264c8: 5352 4803 |0002: iget-wide v2, v5, Lutil/FileLogger;.slotSize:J // field@0348 │ │ -0264cc: 3104 0002 |0004: cmp-long v4, v0, v2 │ │ -0264d0: 3b04 0500 |0006: if-gez v4, 000b // +0005 │ │ -0264d4: 5450 4003 |0008: iget-object v0, v5, Lutil/FileLogger;.fout:Ljava/io/OutputStream; // field@0340 │ │ -0264d8: 1100 |000a: return-object v0 │ │ -0264da: 5450 4003 |000b: iget-object v0, v5, Lutil/FileLogger;.fout:Ljava/io/OutputStream; // field@0340 │ │ -0264de: 6e10 3405 0000 |000d: invoke-virtual {v0}, Ljava/io/OutputStream;.flush:()V // method@0534 │ │ -0264e4: 5450 4003 |0010: iget-object v0, v5, Lutil/FileLogger;.fout:Ljava/io/OutputStream; // field@0340 │ │ -0264e8: 6e10 3305 0000 |0012: invoke-virtual {v0}, Ljava/io/OutputStream;.close:()V // method@0533 │ │ -0264ee: 5250 3e03 |0015: iget v0, v5, Lutil/FileLogger;.curSlot:I // field@033e │ │ -0264f2: d800 0001 |0017: add-int/lit8 v0, v0, #int 1 // #01 │ │ -0264f6: 5251 4703 |0019: iget v1, v5, Lutil/FileLogger;.slotCount:I // field@0347 │ │ -0264fa: b410 |001b: rem-int/2addr v0, v1 │ │ -0264fc: 5950 3e03 |001c: iput v0, v5, Lutil/FileLogger;.curSlot:I // field@033e │ │ -026500: 2200 fb00 |001e: new-instance v0, Ljava/io/File; // type@00fb │ │ -026504: 2201 2d01 |0020: new-instance v1, Ljava/lang/StringBuilder; // type@012d │ │ -026508: 7010 a705 0100 |0022: invoke-direct {v1}, Ljava/lang/StringBuilder;.:()V // method@05a7 │ │ -02650e: 5452 4203 |0025: iget-object v2, v5, Lutil/FileLogger;.logFolderPath:Ljava/lang/String; // field@0342 │ │ -026512: 6e20 ad05 2100 |0027: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -026518: 1a02 6000 |002a: const-string v2, "/" // string@0060 │ │ -02651c: 6e20 ad05 2100 |002c: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -026522: 5452 4303 |002f: iget-object v2, v5, Lutil/FileLogger;.name:Ljava/lang/String; // field@0343 │ │ -026526: 6e20 ad05 2100 |0031: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -02652c: 1a02 1005 |0034: const-string v2, "_" // string@0510 │ │ -026530: 6e20 ad05 2100 |0036: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -026536: 5252 3e03 |0039: iget v2, v5, Lutil/FileLogger;.curSlot:I // field@033e │ │ -02653a: 6e20 aa05 2100 |003b: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@05aa │ │ -026540: 1a02 5d00 |003e: const-string v2, ".log" // string@005d │ │ -026544: 6e20 ad05 2100 |0040: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -02654a: 6e10 af05 0100 |0043: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ -026550: 0c01 |0046: move-result-object v1 │ │ -026552: 7020 ff04 1000 |0047: invoke-direct {v0, v1}, Ljava/io/File;.:(Ljava/lang/String;)V // method@04ff │ │ -026558: 2201 ff00 |004a: new-instance v1, Ljava/io/FileOutputStream; // type@00ff │ │ -02655c: 7020 1705 0100 |004c: invoke-direct {v1, v0}, Ljava/io/FileOutputStream;.:(Ljava/io/File;)V // method@0517 │ │ -026562: 5b51 4003 |004f: iput-object v1, v5, Lutil/FileLogger;.fout:Ljava/io/OutputStream; // field@0340 │ │ -026566: 1602 0000 |0051: const-wide/16 v2, #int 0 // #0 │ │ -02656a: 5a52 3f03 |0053: iput-wide v2, v5, Lutil/FileLogger;.curSlotSize:J // field@033f │ │ -02656e: 5450 4103 |0055: iget-object v0, v5, Lutil/FileLogger;.header:Ljava/lang/String; // field@0341 │ │ -026572: 3800 2100 |0057: if-eqz v0, 0078 // +0021 │ │ -026576: 2200 2d01 |0059: new-instance v0, Ljava/lang/StringBuilder; // type@012d │ │ -02657a: 7010 a705 0000 |005b: invoke-direct {v0}, Ljava/lang/StringBuilder;.:()V // method@05a7 │ │ -026580: 5452 4103 |005e: iget-object v2, v5, Lutil/FileLogger;.header:Ljava/lang/String; // field@0341 │ │ -026584: 6e20 ad05 2000 |0060: invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -02658a: 1a02 0900 |0063: const-string v2, " │ │ +0264b0: |[0264b0] util.FileLogger.getOutputStream:()Ljava/io/OutputStream; │ │ +0264c0: 5350 3f03 |0000: iget-wide v0, v5, Lutil/FileLogger;.curSlotSize:J // field@033f │ │ +0264c4: 5352 4803 |0002: iget-wide v2, v5, Lutil/FileLogger;.slotSize:J // field@0348 │ │ +0264c8: 3104 0002 |0004: cmp-long v4, v0, v2 │ │ +0264cc: 3b04 0500 |0006: if-gez v4, 000b // +0005 │ │ +0264d0: 5450 4003 |0008: iget-object v0, v5, Lutil/FileLogger;.fout:Ljava/io/OutputStream; // field@0340 │ │ +0264d4: 1100 |000a: return-object v0 │ │ +0264d6: 5450 4003 |000b: iget-object v0, v5, Lutil/FileLogger;.fout:Ljava/io/OutputStream; // field@0340 │ │ +0264da: 6e10 3405 0000 |000d: invoke-virtual {v0}, Ljava/io/OutputStream;.flush:()V // method@0534 │ │ +0264e0: 5450 4003 |0010: iget-object v0, v5, Lutil/FileLogger;.fout:Ljava/io/OutputStream; // field@0340 │ │ +0264e4: 6e10 3305 0000 |0012: invoke-virtual {v0}, Ljava/io/OutputStream;.close:()V // method@0533 │ │ +0264ea: 5250 3e03 |0015: iget v0, v5, Lutil/FileLogger;.curSlot:I // field@033e │ │ +0264ee: d800 0001 |0017: add-int/lit8 v0, v0, #int 1 // #01 │ │ +0264f2: 5251 4703 |0019: iget v1, v5, Lutil/FileLogger;.slotCount:I // field@0347 │ │ +0264f6: b410 |001b: rem-int/2addr v0, v1 │ │ +0264f8: 5950 3e03 |001c: iput v0, v5, Lutil/FileLogger;.curSlot:I // field@033e │ │ +0264fc: 2200 fb00 |001e: new-instance v0, Ljava/io/File; // type@00fb │ │ +026500: 2201 2d01 |0020: new-instance v1, Ljava/lang/StringBuilder; // type@012d │ │ +026504: 7010 a705 0100 |0022: invoke-direct {v1}, Ljava/lang/StringBuilder;.:()V // method@05a7 │ │ +02650a: 5452 4203 |0025: iget-object v2, v5, Lutil/FileLogger;.logFolderPath:Ljava/lang/String; // field@0342 │ │ +02650e: 6e20 ad05 2100 |0027: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +026514: 1a02 6000 |002a: const-string v2, "/" // string@0060 │ │ +026518: 6e20 ad05 2100 |002c: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +02651e: 5452 4303 |002f: iget-object v2, v5, Lutil/FileLogger;.name:Ljava/lang/String; // field@0343 │ │ +026522: 6e20 ad05 2100 |0031: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +026528: 1a02 1005 |0034: const-string v2, "_" // string@0510 │ │ +02652c: 6e20 ad05 2100 |0036: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +026532: 5252 3e03 |0039: iget v2, v5, Lutil/FileLogger;.curSlot:I // field@033e │ │ +026536: 6e20 aa05 2100 |003b: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@05aa │ │ +02653c: 1a02 5d00 |003e: const-string v2, ".log" // string@005d │ │ +026540: 6e20 ad05 2100 |0040: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +026546: 6e10 af05 0100 |0043: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ +02654c: 0c01 |0046: move-result-object v1 │ │ +02654e: 7020 ff04 1000 |0047: invoke-direct {v0, v1}, Ljava/io/File;.:(Ljava/lang/String;)V // method@04ff │ │ +026554: 2201 ff00 |004a: new-instance v1, Ljava/io/FileOutputStream; // type@00ff │ │ +026558: 7020 1705 0100 |004c: invoke-direct {v1, v0}, Ljava/io/FileOutputStream;.:(Ljava/io/File;)V // method@0517 │ │ +02655e: 5b51 4003 |004f: iput-object v1, v5, Lutil/FileLogger;.fout:Ljava/io/OutputStream; // field@0340 │ │ +026562: 1602 0000 |0051: const-wide/16 v2, #int 0 // #0 │ │ +026566: 5a52 3f03 |0053: iput-wide v2, v5, Lutil/FileLogger;.curSlotSize:J // field@033f │ │ +02656a: 5450 4103 |0055: iget-object v0, v5, Lutil/FileLogger;.header:Ljava/lang/String; // field@0341 │ │ +02656e: 3800 2100 |0057: if-eqz v0, 0078 // +0021 │ │ +026572: 2200 2d01 |0059: new-instance v0, Ljava/lang/StringBuilder; // type@012d │ │ +026576: 7010 a705 0000 |005b: invoke-direct {v0}, Ljava/lang/StringBuilder;.:()V // method@05a7 │ │ +02657c: 5452 4103 |005e: iget-object v2, v5, Lutil/FileLogger;.header:Ljava/lang/String; // field@0341 │ │ +026580: 6e20 ad05 2000 |0060: invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +026586: 1a02 0900 |0063: const-string v2, " │ │ " // string@0009 │ │ -02658e: 6e20 ad05 2000 |0065: invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -026594: 6e10 af05 0000 |0068: invoke-virtual {v0}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ -02659a: 0c00 |006b: move-result-object v0 │ │ -02659c: 6e10 8d05 0000 |006c: invoke-virtual {v0}, Ljava/lang/String;.getBytes:()[B // method@058d │ │ -0265a2: 0c00 |006f: move-result-object v0 │ │ -0265a4: 6e20 3605 0100 |0070: invoke-virtual {v1, v0}, Ljava/io/OutputStream;.write:([B)V // method@0536 │ │ -0265aa: 5450 4003 |0073: iget-object v0, v5, Lutil/FileLogger;.fout:Ljava/io/OutputStream; // field@0340 │ │ -0265ae: 6e10 3405 0000 |0075: invoke-virtual {v0}, Ljava/io/OutputStream;.flush:()V // method@0534 │ │ -0265b4: 5450 4003 |0078: iget-object v0, v5, Lutil/FileLogger;.fout:Ljava/io/OutputStream; // field@0340 │ │ -0265b8: 1100 |007a: return-object v0 │ │ +02658a: 6e20 ad05 2000 |0065: invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +026590: 6e10 af05 0000 |0068: invoke-virtual {v0}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ +026596: 0c00 |006b: move-result-object v0 │ │ +026598: 6e10 8d05 0000 |006c: invoke-virtual {v0}, Ljava/lang/String;.getBytes:()[B // method@058d │ │ +02659e: 0c00 |006f: move-result-object v0 │ │ +0265a0: 6e20 3605 0100 |0070: invoke-virtual {v1, v0}, Ljava/io/OutputStream;.write:([B)V // method@0536 │ │ +0265a6: 5450 4003 |0073: iget-object v0, v5, Lutil/FileLogger;.fout:Ljava/io/OutputStream; // field@0340 │ │ +0265aa: 6e10 3405 0000 |0075: invoke-virtual {v0}, Ljava/io/OutputStream;.flush:()V // method@0534 │ │ +0265b0: 5450 4003 |0078: iget-object v0, v5, Lutil/FileLogger;.fout:Ljava/io/OutputStream; // field@0340 │ │ +0265b4: 1100 |007a: return-object v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=154 │ │ 0x0008 line=155 │ │ 0x000b line=158 │ │ 0x0010 line=159 │ │ 0x0015 line=160 │ │ @@ -57456,114 +57456,114 @@ │ │ type : '()V' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 12 │ │ ins : 1 │ │ outs : 3 │ │ insns size : 221 16-bit code units │ │ -0268e4: |[0268e4] util.FileLogger.logOpen:()V │ │ -0268f4: 2200 fb00 |0000: new-instance v0, Ljava/io/File; // type@00fb │ │ -0268f8: 54b1 4203 |0002: iget-object v1, v11, Lutil/FileLogger;.logFolderPath:Ljava/lang/String; // field@0342 │ │ -0268fc: 7020 ff04 1000 |0004: invoke-direct {v0, v1}, Ljava/io/File;.:(Ljava/lang/String;)V // method@04ff │ │ -026902: 6e10 0505 0000 |0007: invoke-virtual {v0}, Ljava/io/File;.exists:()Z // method@0505 │ │ -026908: 0a01 |000a: move-result v1 │ │ -02690a: 3901 0500 |000b: if-nez v1, 0010 // +0005 │ │ -02690e: 6e10 0f05 0000 |000d: invoke-virtual {v0}, Ljava/io/File;.mkdirs:()Z // method@050f │ │ -026914: 1600 0000 |0010: const-wide/16 v0, #int 0 // #0 │ │ -026918: 1202 |0012: const/4 v2, #int 0 // #0 │ │ -02691a: 0403 |0013: move-wide v3, v0 │ │ -02691c: 52b5 4703 |0014: iget v5, v11, Lutil/FileLogger;.slotCount:I // field@0347 │ │ -026920: 1a06 5d00 |0016: const-string v6, ".log" // string@005d │ │ -026924: 1a07 1005 |0018: const-string v7, "_" // string@0510 │ │ -026928: 1a08 6000 |001a: const-string v8, "/" // string@0060 │ │ -02692c: 3552 4300 |001c: if-ge v2, v5, 005f // +0043 │ │ -026930: 2205 fb00 |001e: new-instance v5, Ljava/io/File; // type@00fb │ │ -026934: 2209 2d01 |0020: new-instance v9, Ljava/lang/StringBuilder; // type@012d │ │ -026938: 7010 a705 0900 |0022: invoke-direct {v9}, Ljava/lang/StringBuilder;.:()V // method@05a7 │ │ -02693e: 54ba 4203 |0025: iget-object v10, v11, Lutil/FileLogger;.logFolderPath:Ljava/lang/String; // field@0342 │ │ -026942: 6e20 ad05 a900 |0027: invoke-virtual {v9, v10}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -026948: 6e20 ad05 8900 |002a: invoke-virtual {v9, v8}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -02694e: 54b8 4303 |002d: iget-object v8, v11, Lutil/FileLogger;.name:Ljava/lang/String; // field@0343 │ │ -026952: 6e20 ad05 8900 |002f: invoke-virtual {v9, v8}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -026958: 6e20 ad05 7900 |0032: invoke-virtual {v9, v7}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -02695e: 6e20 aa05 2900 |0035: invoke-virtual {v9, v2}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@05aa │ │ -026964: 6e20 ad05 6900 |0038: invoke-virtual {v9, v6}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -02696a: 6e10 af05 0900 |003b: invoke-virtual {v9}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ -026970: 0c06 |003e: move-result-object v6 │ │ -026972: 7020 ff04 6500 |003f: invoke-direct {v5, v6}, Ljava/io/File;.:(Ljava/lang/String;)V // method@04ff │ │ -026978: 6e10 0505 0500 |0042: invoke-virtual {v5}, Ljava/io/File;.exists:()Z // method@0505 │ │ -02697e: 0a06 |0045: move-result v6 │ │ -026980: 3806 1600 |0046: if-eqz v6, 005c // +0016 │ │ -026984: 6e10 0b05 0500 |0048: invoke-virtual {v5}, Ljava/io/File;.lastModified:()J // method@050b │ │ -02698a: 0b06 |004b: move-result-wide v6 │ │ -02698c: 3108 0603 |004c: cmp-long v8, v6, v3 │ │ -026990: 3d08 0e00 |004e: if-lez v8, 005c // +000e │ │ -026994: 6e10 0b05 0500 |0050: invoke-virtual {v5}, Ljava/io/File;.lastModified:()J // method@050b │ │ -02699a: 0b03 |0053: move-result-wide v3 │ │ -02699c: 6e10 0c05 0500 |0054: invoke-virtual {v5}, Ljava/io/File;.length:()J // method@050c │ │ -0269a2: 0b05 |0057: move-result-wide v5 │ │ -0269a4: 5ab5 3f03 |0058: iput-wide v5, v11, Lutil/FileLogger;.curSlotSize:J // field@033f │ │ -0269a8: 59b2 3e03 |005a: iput v2, v11, Lutil/FileLogger;.curSlot:I // field@033e │ │ -0269ac: d802 0201 |005c: add-int/lit8 v2, v2, #int 1 // #01 │ │ -0269b0: 28b6 |005e: goto 0014 // -004a │ │ -0269b2: 2202 ff00 |005f: new-instance v2, Ljava/io/FileOutputStream; // type@00ff │ │ -0269b6: 2203 fb00 |0061: new-instance v3, Ljava/io/File; // type@00fb │ │ -0269ba: 2204 2d01 |0063: new-instance v4, Ljava/lang/StringBuilder; // type@012d │ │ -0269be: 7010 a705 0400 |0065: invoke-direct {v4}, Ljava/lang/StringBuilder;.:()V // method@05a7 │ │ -0269c4: 54b5 4203 |0068: iget-object v5, v11, Lutil/FileLogger;.logFolderPath:Ljava/lang/String; // field@0342 │ │ -0269c8: 6e20 ad05 5400 |006a: invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -0269ce: 6e20 ad05 8400 |006d: invoke-virtual {v4, v8}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -0269d4: 54b5 4303 |0070: iget-object v5, v11, Lutil/FileLogger;.name:Ljava/lang/String; // field@0343 │ │ -0269d8: 6e20 ad05 5400 |0072: invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -0269de: 6e20 ad05 7400 |0075: invoke-virtual {v4, v7}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -0269e4: 52b5 3e03 |0078: iget v5, v11, Lutil/FileLogger;.curSlot:I // field@033e │ │ -0269e8: 6e20 aa05 5400 |007a: invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@05aa │ │ -0269ee: 6e20 ad05 6400 |007d: invoke-virtual {v4, v6}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -0269f4: 6e10 af05 0400 |0080: invoke-virtual {v4}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ -0269fa: 0c04 |0083: move-result-object v4 │ │ -0269fc: 7020 ff04 4300 |0084: invoke-direct {v3, v4}, Ljava/io/File;.:(Ljava/lang/String;)V // method@04ff │ │ -026a02: 1214 |0087: const/4 v4, #int 1 // #1 │ │ -026a04: 7030 1805 3204 |0088: invoke-direct {v2, v3, v4}, Ljava/io/FileOutputStream;.:(Ljava/io/File;Z)V // method@0518 │ │ -026a0a: 5bb2 4003 |008b: iput-object v2, v11, Lutil/FileLogger;.fout:Ljava/io/OutputStream; // field@0340 │ │ -026a0e: 53b5 3f03 |008d: iget-wide v5, v11, Lutil/FileLogger;.curSlotSize:J // field@033f │ │ -026a12: 3103 0500 |008f: cmp-long v3, v5, v0 │ │ -026a16: 3903 2500 |0091: if-nez v3, 00b6 // +0025 │ │ -026a1a: 54b0 4103 |0093: iget-object v0, v11, Lutil/FileLogger;.header:Ljava/lang/String; // field@0341 │ │ -026a1e: 3800 2100 |0095: if-eqz v0, 00b6 // +0021 │ │ -026a22: 2200 2d01 |0097: new-instance v0, Ljava/lang/StringBuilder; // type@012d │ │ -026a26: 7010 a705 0000 |0099: invoke-direct {v0}, Ljava/lang/StringBuilder;.:()V // method@05a7 │ │ -026a2c: 54b1 4103 |009c: iget-object v1, v11, Lutil/FileLogger;.header:Ljava/lang/String; // field@0341 │ │ -026a30: 6e20 ad05 1000 |009e: invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -026a36: 1a01 0900 |00a1: const-string v1, " │ │ +0268e0: |[0268e0] util.FileLogger.logOpen:()V │ │ +0268f0: 2200 fb00 |0000: new-instance v0, Ljava/io/File; // type@00fb │ │ +0268f4: 54b1 4203 |0002: iget-object v1, v11, Lutil/FileLogger;.logFolderPath:Ljava/lang/String; // field@0342 │ │ +0268f8: 7020 ff04 1000 |0004: invoke-direct {v0, v1}, Ljava/io/File;.:(Ljava/lang/String;)V // method@04ff │ │ +0268fe: 6e10 0505 0000 |0007: invoke-virtual {v0}, Ljava/io/File;.exists:()Z // method@0505 │ │ +026904: 0a01 |000a: move-result v1 │ │ +026906: 3901 0500 |000b: if-nez v1, 0010 // +0005 │ │ +02690a: 6e10 0f05 0000 |000d: invoke-virtual {v0}, Ljava/io/File;.mkdirs:()Z // method@050f │ │ +026910: 1600 0000 |0010: const-wide/16 v0, #int 0 // #0 │ │ +026914: 1202 |0012: const/4 v2, #int 0 // #0 │ │ +026916: 0403 |0013: move-wide v3, v0 │ │ +026918: 52b5 4703 |0014: iget v5, v11, Lutil/FileLogger;.slotCount:I // field@0347 │ │ +02691c: 1a06 5d00 |0016: const-string v6, ".log" // string@005d │ │ +026920: 1a07 1005 |0018: const-string v7, "_" // string@0510 │ │ +026924: 1a08 6000 |001a: const-string v8, "/" // string@0060 │ │ +026928: 3552 4300 |001c: if-ge v2, v5, 005f // +0043 │ │ +02692c: 2205 fb00 |001e: new-instance v5, Ljava/io/File; // type@00fb │ │ +026930: 2209 2d01 |0020: new-instance v9, Ljava/lang/StringBuilder; // type@012d │ │ +026934: 7010 a705 0900 |0022: invoke-direct {v9}, Ljava/lang/StringBuilder;.:()V // method@05a7 │ │ +02693a: 54ba 4203 |0025: iget-object v10, v11, Lutil/FileLogger;.logFolderPath:Ljava/lang/String; // field@0342 │ │ +02693e: 6e20 ad05 a900 |0027: invoke-virtual {v9, v10}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +026944: 6e20 ad05 8900 |002a: invoke-virtual {v9, v8}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +02694a: 54b8 4303 |002d: iget-object v8, v11, Lutil/FileLogger;.name:Ljava/lang/String; // field@0343 │ │ +02694e: 6e20 ad05 8900 |002f: invoke-virtual {v9, v8}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +026954: 6e20 ad05 7900 |0032: invoke-virtual {v9, v7}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +02695a: 6e20 aa05 2900 |0035: invoke-virtual {v9, v2}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@05aa │ │ +026960: 6e20 ad05 6900 |0038: invoke-virtual {v9, v6}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +026966: 6e10 af05 0900 |003b: invoke-virtual {v9}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ +02696c: 0c06 |003e: move-result-object v6 │ │ +02696e: 7020 ff04 6500 |003f: invoke-direct {v5, v6}, Ljava/io/File;.:(Ljava/lang/String;)V // method@04ff │ │ +026974: 6e10 0505 0500 |0042: invoke-virtual {v5}, Ljava/io/File;.exists:()Z // method@0505 │ │ +02697a: 0a06 |0045: move-result v6 │ │ +02697c: 3806 1600 |0046: if-eqz v6, 005c // +0016 │ │ +026980: 6e10 0b05 0500 |0048: invoke-virtual {v5}, Ljava/io/File;.lastModified:()J // method@050b │ │ +026986: 0b06 |004b: move-result-wide v6 │ │ +026988: 3108 0603 |004c: cmp-long v8, v6, v3 │ │ +02698c: 3d08 0e00 |004e: if-lez v8, 005c // +000e │ │ +026990: 6e10 0b05 0500 |0050: invoke-virtual {v5}, Ljava/io/File;.lastModified:()J // method@050b │ │ +026996: 0b03 |0053: move-result-wide v3 │ │ +026998: 6e10 0c05 0500 |0054: invoke-virtual {v5}, Ljava/io/File;.length:()J // method@050c │ │ +02699e: 0b05 |0057: move-result-wide v5 │ │ +0269a0: 5ab5 3f03 |0058: iput-wide v5, v11, Lutil/FileLogger;.curSlotSize:J // field@033f │ │ +0269a4: 59b2 3e03 |005a: iput v2, v11, Lutil/FileLogger;.curSlot:I // field@033e │ │ +0269a8: d802 0201 |005c: add-int/lit8 v2, v2, #int 1 // #01 │ │ +0269ac: 28b6 |005e: goto 0014 // -004a │ │ +0269ae: 2202 ff00 |005f: new-instance v2, Ljava/io/FileOutputStream; // type@00ff │ │ +0269b2: 2203 fb00 |0061: new-instance v3, Ljava/io/File; // type@00fb │ │ +0269b6: 2204 2d01 |0063: new-instance v4, Ljava/lang/StringBuilder; // type@012d │ │ +0269ba: 7010 a705 0400 |0065: invoke-direct {v4}, Ljava/lang/StringBuilder;.:()V // method@05a7 │ │ +0269c0: 54b5 4203 |0068: iget-object v5, v11, Lutil/FileLogger;.logFolderPath:Ljava/lang/String; // field@0342 │ │ +0269c4: 6e20 ad05 5400 |006a: invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +0269ca: 6e20 ad05 8400 |006d: invoke-virtual {v4, v8}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +0269d0: 54b5 4303 |0070: iget-object v5, v11, Lutil/FileLogger;.name:Ljava/lang/String; // field@0343 │ │ +0269d4: 6e20 ad05 5400 |0072: invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +0269da: 6e20 ad05 7400 |0075: invoke-virtual {v4, v7}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +0269e0: 52b5 3e03 |0078: iget v5, v11, Lutil/FileLogger;.curSlot:I // field@033e │ │ +0269e4: 6e20 aa05 5400 |007a: invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@05aa │ │ +0269ea: 6e20 ad05 6400 |007d: invoke-virtual {v4, v6}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +0269f0: 6e10 af05 0400 |0080: invoke-virtual {v4}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ +0269f6: 0c04 |0083: move-result-object v4 │ │ +0269f8: 7020 ff04 4300 |0084: invoke-direct {v3, v4}, Ljava/io/File;.:(Ljava/lang/String;)V // method@04ff │ │ +0269fe: 1214 |0087: const/4 v4, #int 1 // #1 │ │ +026a00: 7030 1805 3204 |0088: invoke-direct {v2, v3, v4}, Ljava/io/FileOutputStream;.:(Ljava/io/File;Z)V // method@0518 │ │ +026a06: 5bb2 4003 |008b: iput-object v2, v11, Lutil/FileLogger;.fout:Ljava/io/OutputStream; // field@0340 │ │ +026a0a: 53b5 3f03 |008d: iget-wide v5, v11, Lutil/FileLogger;.curSlotSize:J // field@033f │ │ +026a0e: 3103 0500 |008f: cmp-long v3, v5, v0 │ │ +026a12: 3903 2500 |0091: if-nez v3, 00b6 // +0025 │ │ +026a16: 54b0 4103 |0093: iget-object v0, v11, Lutil/FileLogger;.header:Ljava/lang/String; // field@0341 │ │ +026a1a: 3800 2100 |0095: if-eqz v0, 00b6 // +0021 │ │ +026a1e: 2200 2d01 |0097: new-instance v0, Ljava/lang/StringBuilder; // type@012d │ │ +026a22: 7010 a705 0000 |0099: invoke-direct {v0}, Ljava/lang/StringBuilder;.:()V // method@05a7 │ │ +026a28: 54b1 4103 |009c: iget-object v1, v11, Lutil/FileLogger;.header:Ljava/lang/String; // field@0341 │ │ +026a2c: 6e20 ad05 1000 |009e: invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +026a32: 1a01 0900 |00a1: const-string v1, " │ │ " // string@0009 │ │ -026a3a: 6e20 ad05 1000 |00a3: invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -026a40: 6e10 af05 0000 |00a6: invoke-virtual {v0}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ -026a46: 0c00 |00a9: move-result-object v0 │ │ -026a48: 6e10 8d05 0000 |00aa: invoke-virtual {v0}, Ljava/lang/String;.getBytes:()[B // method@058d │ │ -026a4e: 0c00 |00ad: move-result-object v0 │ │ -026a50: 6e20 3605 0200 |00ae: invoke-virtual {v2, v0}, Ljava/io/OutputStream;.write:([B)V // method@0536 │ │ -026a56: 54b0 4003 |00b1: iget-object v0, v11, Lutil/FileLogger;.fout:Ljava/io/OutputStream; // field@0340 │ │ -026a5a: 6e10 3405 0000 |00b3: invoke-virtual {v0}, Ljava/io/OutputStream;.flush:()V // method@0534 │ │ -026a60: 2200 0701 |00b6: new-instance v0, Ljava/io/PipedInputStream; // type@0107 │ │ -026a64: 1301 0028 |00b8: const/16 v1, #int 10240 // #2800 │ │ -026a68: 7020 3905 1000 |00ba: invoke-direct {v0, v1}, Ljava/io/PipedInputStream;.:(I)V // method@0539 │ │ -026a6e: 5bb0 4403 |00bd: iput-object v0, v11, Lutil/FileLogger;.pin:Ljava/io/PipedInputStream; // field@0344 │ │ -026a72: 2200 0801 |00bf: new-instance v0, Ljava/io/PipedOutputStream; // type@0108 │ │ -026a76: 54b1 4403 |00c1: iget-object v1, v11, Lutil/FileLogger;.pin:Ljava/io/PipedInputStream; // field@0344 │ │ -026a7a: 7020 3c05 1000 |00c3: invoke-direct {v0, v1}, Ljava/io/PipedOutputStream;.:(Ljava/io/PipedInputStream;)V // method@053c │ │ -026a80: 5bb0 4503 |00c6: iput-object v0, v11, Lutil/FileLogger;.pout:Ljava/io/PipedOutputStream; // field@0345 │ │ -026a84: 2200 0901 |00c8: new-instance v0, Ljava/io/PrintStream; // type@0109 │ │ -026a88: 54b1 4503 |00ca: iget-object v1, v11, Lutil/FileLogger;.pout:Ljava/io/PipedOutputStream; // field@0345 │ │ -026a8c: 7030 3e05 1004 |00cc: invoke-direct {v0, v1, v4}, Ljava/io/PrintStream;.:(Ljava/io/OutputStream;Z)V // method@053e │ │ -026a92: 5bb0 4603 |00cf: iput-object v0, v11, Lutil/FileLogger;.psout:Ljava/io/PrintStream; // field@0346 │ │ -026a96: 2200 2f01 |00d1: new-instance v0, Ljava/lang/Thread; // type@012f │ │ -026a9a: 7020 b405 b000 |00d3: invoke-direct {v0, v11}, Ljava/lang/Thread;.:(Ljava/lang/Runnable;)V // method@05b4 │ │ -026aa0: 6e20 b805 4000 |00d6: invoke-virtual {v0, v4}, Ljava/lang/Thread;.setDaemon:(Z)V // method@05b8 │ │ -026aa6: 6e10 ba05 0000 |00d9: invoke-virtual {v0}, Ljava/lang/Thread;.start:()V // method@05ba │ │ -026aac: 0e00 |00dc: return-void │ │ +026a36: 6e20 ad05 1000 |00a3: invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +026a3c: 6e10 af05 0000 |00a6: invoke-virtual {v0}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ +026a42: 0c00 |00a9: move-result-object v0 │ │ +026a44: 6e10 8d05 0000 |00aa: invoke-virtual {v0}, Ljava/lang/String;.getBytes:()[B // method@058d │ │ +026a4a: 0c00 |00ad: move-result-object v0 │ │ +026a4c: 6e20 3605 0200 |00ae: invoke-virtual {v2, v0}, Ljava/io/OutputStream;.write:([B)V // method@0536 │ │ +026a52: 54b0 4003 |00b1: iget-object v0, v11, Lutil/FileLogger;.fout:Ljava/io/OutputStream; // field@0340 │ │ +026a56: 6e10 3405 0000 |00b3: invoke-virtual {v0}, Ljava/io/OutputStream;.flush:()V // method@0534 │ │ +026a5c: 2200 0701 |00b6: new-instance v0, Ljava/io/PipedInputStream; // type@0107 │ │ +026a60: 1301 0028 |00b8: const/16 v1, #int 10240 // #2800 │ │ +026a64: 7020 3905 1000 |00ba: invoke-direct {v0, v1}, Ljava/io/PipedInputStream;.:(I)V // method@0539 │ │ +026a6a: 5bb0 4403 |00bd: iput-object v0, v11, Lutil/FileLogger;.pin:Ljava/io/PipedInputStream; // field@0344 │ │ +026a6e: 2200 0801 |00bf: new-instance v0, Ljava/io/PipedOutputStream; // type@0108 │ │ +026a72: 54b1 4403 |00c1: iget-object v1, v11, Lutil/FileLogger;.pin:Ljava/io/PipedInputStream; // field@0344 │ │ +026a76: 7020 3c05 1000 |00c3: invoke-direct {v0, v1}, Ljava/io/PipedOutputStream;.:(Ljava/io/PipedInputStream;)V // method@053c │ │ +026a7c: 5bb0 4503 |00c6: iput-object v0, v11, Lutil/FileLogger;.pout:Ljava/io/PipedOutputStream; // field@0345 │ │ +026a80: 2200 0901 |00c8: new-instance v0, Ljava/io/PrintStream; // type@0109 │ │ +026a84: 54b1 4503 |00ca: iget-object v1, v11, Lutil/FileLogger;.pout:Ljava/io/PipedOutputStream; // field@0345 │ │ +026a88: 7030 3e05 1004 |00cc: invoke-direct {v0, v1, v4}, Ljava/io/PrintStream;.:(Ljava/io/OutputStream;Z)V // method@053e │ │ +026a8e: 5bb0 4603 |00cf: iput-object v0, v11, Lutil/FileLogger;.psout:Ljava/io/PrintStream; // field@0346 │ │ +026a92: 2200 2f01 |00d1: new-instance v0, Ljava/lang/Thread; // type@012f │ │ +026a96: 7020 b405 b000 |00d3: invoke-direct {v0, v11}, Ljava/lang/Thread;.:(Ljava/lang/Runnable;)V // method@05b4 │ │ +026a9c: 6e20 b805 4000 |00d6: invoke-virtual {v0, v4}, Ljava/lang/Thread;.setDaemon:(Z)V // method@05b8 │ │ +026aa2: 6e10 ba05 0000 |00d9: invoke-virtual {v0}, Ljava/lang/Thread;.start:()V // method@05ba │ │ +026aa8: 0e00 |00dc: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=63 │ │ 0x0007 line=64 │ │ 0x000d line=65 │ │ 0x0014 line=69 │ │ 0x001e line=70 │ │ @@ -57590,34 +57590,34 @@ │ │ type : '()V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 3 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 32 16-bit code units │ │ -026654: |[026654] util.FileLogger.closeLogger:()V │ │ -026664: 5420 4403 |0000: iget-object v0, v2, Lutil/FileLogger;.pin:Ljava/io/PipedInputStream; // field@0344 │ │ -026668: 1d00 |0002: monitor-enter v0 │ │ -02666a: 1211 |0003: const/4 v1, #int 1 // #1 │ │ -02666c: 5c21 3d03 |0004: iput-boolean v1, v2, Lutil/FileLogger;.closed:Z // field@033d │ │ -026670: 5421 4503 |0006: iget-object v1, v2, Lutil/FileLogger;.pout:Ljava/io/PipedOutputStream; // field@0345 │ │ -026674: 6e10 3d05 0100 |0008: invoke-virtual {v1}, Ljava/io/PipedOutputStream;.close:()V // method@053d │ │ -02667a: 5421 4003 |000b: iget-object v1, v2, Lutil/FileLogger;.fout:Ljava/io/OutputStream; // field@0340 │ │ -02667e: 6e10 3305 0100 |000d: invoke-virtual {v1}, Ljava/io/OutputStream;.close:()V // method@0533 │ │ -026684: 5421 4403 |0010: iget-object v1, v2, Lutil/FileLogger;.pin:Ljava/io/PipedInputStream; // field@0344 │ │ -026688: 6e10 7705 0100 |0012: invoke-virtual {v1}, Ljava/lang/Object;.notifyAll:()V // method@0577 │ │ -02668e: 2807 |0015: goto 001c // +0007 │ │ -026690: 0d01 |0016: move-exception v1 │ │ -026692: 2807 |0017: goto 001e // +0007 │ │ -026694: 0d01 |0018: move-exception v1 │ │ -026696: 6e10 2305 0100 |0019: invoke-virtual {v1}, Ljava/io/IOException;.printStackTrace:()V // method@0523 │ │ -02669c: 1e00 |001c: monitor-exit v0 │ │ -02669e: 0e00 |001d: return-void │ │ -0266a0: 1e00 |001e: monitor-exit v0 │ │ -0266a2: 2701 |001f: throw v1 │ │ +026650: |[026650] util.FileLogger.closeLogger:()V │ │ +026660: 5420 4403 |0000: iget-object v0, v2, Lutil/FileLogger;.pin:Ljava/io/PipedInputStream; // field@0344 │ │ +026664: 1d00 |0002: monitor-enter v0 │ │ +026666: 1211 |0003: const/4 v1, #int 1 // #1 │ │ +026668: 5c21 3d03 |0004: iput-boolean v1, v2, Lutil/FileLogger;.closed:Z // field@033d │ │ +02666c: 5421 4503 |0006: iget-object v1, v2, Lutil/FileLogger;.pout:Ljava/io/PipedOutputStream; // field@0345 │ │ +026670: 6e10 3d05 0100 |0008: invoke-virtual {v1}, Ljava/io/PipedOutputStream;.close:()V // method@053d │ │ +026676: 5421 4003 |000b: iget-object v1, v2, Lutil/FileLogger;.fout:Ljava/io/OutputStream; // field@0340 │ │ +02667a: 6e10 3305 0100 |000d: invoke-virtual {v1}, Ljava/io/OutputStream;.close:()V // method@0533 │ │ +026680: 5421 4403 |0010: iget-object v1, v2, Lutil/FileLogger;.pin:Ljava/io/PipedInputStream; // field@0344 │ │ +026684: 6e10 7705 0100 |0012: invoke-virtual {v1}, Ljava/lang/Object;.notifyAll:()V // method@0577 │ │ +02668a: 2807 |0015: goto 001c // +0007 │ │ +02668c: 0d01 |0016: move-exception v1 │ │ +02668e: 2807 |0017: goto 001e // +0007 │ │ +026690: 0d01 |0018: move-exception v1 │ │ +026692: 6e10 2305 0100 |0019: invoke-virtual {v1}, Ljava/io/IOException;.printStackTrace:()V // method@0523 │ │ +026698: 1e00 |001c: monitor-exit v0 │ │ +02669a: 0e00 |001d: return-void │ │ +02669c: 1e00 |001e: monitor-exit v0 │ │ +02669e: 2701 |001f: throw v1 │ │ catches : 2 │ │ 0x0004 - 0x0015 │ │ Ljava/io/IOException; -> 0x0018 │ │ -> 0x0016 │ │ 0x0019 - 0x001f │ │ -> 0x0016 │ │ positions : │ │ @@ -57636,17 +57636,17 @@ │ │ type : '(Z)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 2 │ │ outs : 0 │ │ insns size : 3 16-bit code units │ │ -0266bc: |[0266bc] util.FileLogger.enableTimestamp:(Z)V │ │ -0266cc: 5c01 4903 |0000: iput-boolean v1, v0, Lutil/FileLogger;.timeStampEnabled:Z // field@0349 │ │ -0266d0: 0e00 |0002: return-void │ │ +0266b8: |[0266b8] util.FileLogger.enableTimestamp:(Z)V │ │ +0266c8: 5c01 4903 |0000: iput-boolean v1, v0, Lutil/FileLogger;.timeStampEnabled:Z // field@0349 │ │ +0266cc: 0e00 |0002: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=109 │ │ locals : │ │ 0x0000 - 0x0003 reg=0 this Lutil/FileLogger; │ │ 0x0000 - 0x0003 reg=1 (null) Z │ │ │ │ @@ -57655,45 +57655,45 @@ │ │ type : '(Ljava/lang/String;)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 7 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 55 16-bit code units │ │ -0266d4: |[0266d4] util.FileLogger.log:(Ljava/lang/String;)V │ │ -0266e4: 5450 4603 |0000: iget-object v0, v5, Lutil/FileLogger;.psout:Ljava/io/PrintStream; // field@0346 │ │ -0266e8: 1d00 |0002: monitor-enter v0 │ │ -0266ea: 5451 4403 |0003: iget-object v1, v5, Lutil/FileLogger;.pin:Ljava/io/PipedInputStream; // field@0344 │ │ -0266ee: 1d01 |0005: monitor-enter v1 │ │ -0266f0: 5552 4903 |0006: iget-boolean v2, v5, Lutil/FileLogger;.timeStampEnabled:Z // field@0349 │ │ -0266f4: 3802 1c00 |0008: if-eqz v2, 0024 // +001c │ │ -0266f8: 5452 4603 |000a: iget-object v2, v5, Lutil/FileLogger;.psout:Ljava/io/PrintStream; // field@0346 │ │ -0266fc: 2203 2d01 |000c: new-instance v3, Ljava/lang/StringBuilder; // type@012d │ │ -026700: 7010 a705 0300 |000e: invoke-direct {v3}, Ljava/lang/StringBuilder;.:()V // method@05a7 │ │ -026706: 7100 c106 0000 |0011: invoke-static {}, Lutil/DateRetriever;.getDateString:()Ljava/lang/String; // method@06c1 │ │ -02670c: 0c04 |0014: move-result-object v4 │ │ -02670e: 6e20 ad05 4300 |0015: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -026714: 1a04 0d00 |0018: const-string v4, " " // string@000d │ │ -026718: 6e20 ad05 4300 |001a: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -02671e: 6e10 af05 0300 |001d: invoke-virtual {v3}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ -026724: 0c03 |0020: move-result-object v3 │ │ -026726: 6e20 3f05 3200 |0021: invoke-virtual {v2, v3}, Ljava/io/PrintStream;.print:(Ljava/lang/String;)V // method@053f │ │ -02672c: 5452 4603 |0024: iget-object v2, v5, Lutil/FileLogger;.psout:Ljava/io/PrintStream; // field@0346 │ │ -026730: 6e20 3f05 6200 |0026: invoke-virtual {v2, v6}, Ljava/io/PrintStream;.print:(Ljava/lang/String;)V // method@053f │ │ -026736: 5456 4403 |0029: iget-object v6, v5, Lutil/FileLogger;.pin:Ljava/io/PipedInputStream; // field@0344 │ │ -02673a: 6e10 7705 0600 |002b: invoke-virtual {v6}, Ljava/lang/Object;.notifyAll:()V // method@0577 │ │ -026740: 1e01 |002e: monitor-exit v1 │ │ -026742: 1e00 |002f: monitor-exit v0 │ │ -026744: 0e00 |0030: return-void │ │ -026746: 0d06 |0031: move-exception v6 │ │ -026748: 1e01 |0032: monitor-exit v1 │ │ -02674a: 2706 |0033: throw v6 │ │ -02674c: 0d06 |0034: move-exception v6 │ │ -02674e: 1e00 |0035: monitor-exit v0 │ │ -026750: 2706 |0036: throw v6 │ │ +0266d0: |[0266d0] util.FileLogger.log:(Ljava/lang/String;)V │ │ +0266e0: 5450 4603 |0000: iget-object v0, v5, Lutil/FileLogger;.psout:Ljava/io/PrintStream; // field@0346 │ │ +0266e4: 1d00 |0002: monitor-enter v0 │ │ +0266e6: 5451 4403 |0003: iget-object v1, v5, Lutil/FileLogger;.pin:Ljava/io/PipedInputStream; // field@0344 │ │ +0266ea: 1d01 |0005: monitor-enter v1 │ │ +0266ec: 5552 4903 |0006: iget-boolean v2, v5, Lutil/FileLogger;.timeStampEnabled:Z // field@0349 │ │ +0266f0: 3802 1c00 |0008: if-eqz v2, 0024 // +001c │ │ +0266f4: 5452 4603 |000a: iget-object v2, v5, Lutil/FileLogger;.psout:Ljava/io/PrintStream; // field@0346 │ │ +0266f8: 2203 2d01 |000c: new-instance v3, Ljava/lang/StringBuilder; // type@012d │ │ +0266fc: 7010 a705 0300 |000e: invoke-direct {v3}, Ljava/lang/StringBuilder;.:()V // method@05a7 │ │ +026702: 7100 c106 0000 |0011: invoke-static {}, Lutil/DateRetriever;.getDateString:()Ljava/lang/String; // method@06c1 │ │ +026708: 0c04 |0014: move-result-object v4 │ │ +02670a: 6e20 ad05 4300 |0015: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +026710: 1a04 0d00 |0018: const-string v4, " " // string@000d │ │ +026714: 6e20 ad05 4300 |001a: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +02671a: 6e10 af05 0300 |001d: invoke-virtual {v3}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ +026720: 0c03 |0020: move-result-object v3 │ │ +026722: 6e20 3f05 3200 |0021: invoke-virtual {v2, v3}, Ljava/io/PrintStream;.print:(Ljava/lang/String;)V // method@053f │ │ +026728: 5452 4603 |0024: iget-object v2, v5, Lutil/FileLogger;.psout:Ljava/io/PrintStream; // field@0346 │ │ +02672c: 6e20 3f05 6200 |0026: invoke-virtual {v2, v6}, Ljava/io/PrintStream;.print:(Ljava/lang/String;)V // method@053f │ │ +026732: 5456 4403 |0029: iget-object v6, v5, Lutil/FileLogger;.pin:Ljava/io/PipedInputStream; // field@0344 │ │ +026736: 6e10 7705 0600 |002b: invoke-virtual {v6}, Ljava/lang/Object;.notifyAll:()V // method@0577 │ │ +02673c: 1e01 |002e: monitor-exit v1 │ │ +02673e: 1e00 |002f: monitor-exit v0 │ │ +026740: 0e00 |0030: return-void │ │ +026742: 0d06 |0031: move-exception v6 │ │ +026744: 1e01 |0032: monitor-exit v1 │ │ +026746: 2706 |0033: throw v6 │ │ +026748: 0d06 |0034: move-exception v6 │ │ +02674a: 1e00 |0035: monitor-exit v0 │ │ +02674c: 2706 |0036: throw v6 │ │ catches : 5 │ │ 0x0003 - 0x0006 │ │ -> 0x0034 │ │ 0x0006 - 0x002f │ │ -> 0x0031 │ │ 0x002f - 0x0030 │ │ -> 0x0034 │ │ @@ -57721,45 +57721,45 @@ │ │ type : '(Ljava/lang/Exception;)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 7 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 55 16-bit code units │ │ -026784: |[026784] util.FileLogger.logException:(Ljava/lang/Exception;)V │ │ -026794: 5450 4603 |0000: iget-object v0, v5, Lutil/FileLogger;.psout:Ljava/io/PrintStream; // field@0346 │ │ -026798: 1d00 |0002: monitor-enter v0 │ │ -02679a: 5451 4403 |0003: iget-object v1, v5, Lutil/FileLogger;.pin:Ljava/io/PipedInputStream; // field@0344 │ │ -02679e: 1d01 |0005: monitor-enter v1 │ │ -0267a0: 5552 4903 |0006: iget-boolean v2, v5, Lutil/FileLogger;.timeStampEnabled:Z // field@0349 │ │ -0267a4: 3802 1c00 |0008: if-eqz v2, 0024 // +001c │ │ -0267a8: 5452 4603 |000a: iget-object v2, v5, Lutil/FileLogger;.psout:Ljava/io/PrintStream; // field@0346 │ │ -0267ac: 2203 2d01 |000c: new-instance v3, Ljava/lang/StringBuilder; // type@012d │ │ -0267b0: 7010 a705 0300 |000e: invoke-direct {v3}, Ljava/lang/StringBuilder;.:()V // method@05a7 │ │ -0267b6: 7100 c106 0000 |0011: invoke-static {}, Lutil/DateRetriever;.getDateString:()Ljava/lang/String; // method@06c1 │ │ -0267bc: 0c04 |0014: move-result-object v4 │ │ -0267be: 6e20 ad05 4300 |0015: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -0267c4: 1a04 0d00 |0018: const-string v4, " " // string@000d │ │ -0267c8: 6e20 ad05 4300 |001a: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -0267ce: 6e10 af05 0300 |001d: invoke-virtual {v3}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ -0267d4: 0c03 |0020: move-result-object v3 │ │ -0267d6: 6e20 3f05 3200 |0021: invoke-virtual {v2, v3}, Ljava/io/PrintStream;.print:(Ljava/lang/String;)V // method@053f │ │ -0267dc: 5452 4603 |0024: iget-object v2, v5, Lutil/FileLogger;.psout:Ljava/io/PrintStream; // field@0346 │ │ -0267e0: 6e20 5d05 2600 |0026: invoke-virtual {v6, v2}, Ljava/lang/Exception;.printStackTrace:(Ljava/io/PrintStream;)V // method@055d │ │ -0267e6: 5456 4403 |0029: iget-object v6, v5, Lutil/FileLogger;.pin:Ljava/io/PipedInputStream; // field@0344 │ │ -0267ea: 6e10 7705 0600 |002b: invoke-virtual {v6}, Ljava/lang/Object;.notifyAll:()V // method@0577 │ │ -0267f0: 1e01 |002e: monitor-exit v1 │ │ -0267f2: 1e00 |002f: monitor-exit v0 │ │ -0267f4: 0e00 |0030: return-void │ │ -0267f6: 0d06 |0031: move-exception v6 │ │ -0267f8: 1e01 |0032: monitor-exit v1 │ │ -0267fa: 2706 |0033: throw v6 │ │ -0267fc: 0d06 |0034: move-exception v6 │ │ -0267fe: 1e00 |0035: monitor-exit v0 │ │ -026800: 2706 |0036: throw v6 │ │ +026780: |[026780] util.FileLogger.logException:(Ljava/lang/Exception;)V │ │ +026790: 5450 4603 |0000: iget-object v0, v5, Lutil/FileLogger;.psout:Ljava/io/PrintStream; // field@0346 │ │ +026794: 1d00 |0002: monitor-enter v0 │ │ +026796: 5451 4403 |0003: iget-object v1, v5, Lutil/FileLogger;.pin:Ljava/io/PipedInputStream; // field@0344 │ │ +02679a: 1d01 |0005: monitor-enter v1 │ │ +02679c: 5552 4903 |0006: iget-boolean v2, v5, Lutil/FileLogger;.timeStampEnabled:Z // field@0349 │ │ +0267a0: 3802 1c00 |0008: if-eqz v2, 0024 // +001c │ │ +0267a4: 5452 4603 |000a: iget-object v2, v5, Lutil/FileLogger;.psout:Ljava/io/PrintStream; // field@0346 │ │ +0267a8: 2203 2d01 |000c: new-instance v3, Ljava/lang/StringBuilder; // type@012d │ │ +0267ac: 7010 a705 0300 |000e: invoke-direct {v3}, Ljava/lang/StringBuilder;.:()V // method@05a7 │ │ +0267b2: 7100 c106 0000 |0011: invoke-static {}, Lutil/DateRetriever;.getDateString:()Ljava/lang/String; // method@06c1 │ │ +0267b8: 0c04 |0014: move-result-object v4 │ │ +0267ba: 6e20 ad05 4300 |0015: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +0267c0: 1a04 0d00 |0018: const-string v4, " " // string@000d │ │ +0267c4: 6e20 ad05 4300 |001a: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +0267ca: 6e10 af05 0300 |001d: invoke-virtual {v3}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ +0267d0: 0c03 |0020: move-result-object v3 │ │ +0267d2: 6e20 3f05 3200 |0021: invoke-virtual {v2, v3}, Ljava/io/PrintStream;.print:(Ljava/lang/String;)V // method@053f │ │ +0267d8: 5452 4603 |0024: iget-object v2, v5, Lutil/FileLogger;.psout:Ljava/io/PrintStream; // field@0346 │ │ +0267dc: 6e20 5d05 2600 |0026: invoke-virtual {v6, v2}, Ljava/lang/Exception;.printStackTrace:(Ljava/io/PrintStream;)V // method@055d │ │ +0267e2: 5456 4403 |0029: iget-object v6, v5, Lutil/FileLogger;.pin:Ljava/io/PipedInputStream; // field@0344 │ │ +0267e6: 6e10 7705 0600 |002b: invoke-virtual {v6}, Ljava/lang/Object;.notifyAll:()V // method@0577 │ │ +0267ec: 1e01 |002e: monitor-exit v1 │ │ +0267ee: 1e00 |002f: monitor-exit v0 │ │ +0267f0: 0e00 |0030: return-void │ │ +0267f2: 0d06 |0031: move-exception v6 │ │ +0267f4: 1e01 |0032: monitor-exit v1 │ │ +0267f6: 2706 |0033: throw v6 │ │ +0267f8: 0d06 |0034: move-exception v6 │ │ +0267fa: 1e00 |0035: monitor-exit v0 │ │ +0267fc: 2706 |0036: throw v6 │ │ catches : 5 │ │ 0x0003 - 0x0006 │ │ -> 0x0034 │ │ 0x0006 - 0x002f │ │ -> 0x0031 │ │ 0x002f - 0x0030 │ │ -> 0x0034 │ │ @@ -57787,45 +57787,45 @@ │ │ type : '(Ljava/lang/String;)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 7 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 55 16-bit code units │ │ -026834: |[026834] util.FileLogger.logLine:(Ljava/lang/String;)V │ │ -026844: 5450 4603 |0000: iget-object v0, v5, Lutil/FileLogger;.psout:Ljava/io/PrintStream; // field@0346 │ │ -026848: 1d00 |0002: monitor-enter v0 │ │ -02684a: 5451 4403 |0003: iget-object v1, v5, Lutil/FileLogger;.pin:Ljava/io/PipedInputStream; // field@0344 │ │ -02684e: 1d01 |0005: monitor-enter v1 │ │ -026850: 5552 4903 |0006: iget-boolean v2, v5, Lutil/FileLogger;.timeStampEnabled:Z // field@0349 │ │ -026854: 3802 1c00 |0008: if-eqz v2, 0024 // +001c │ │ -026858: 5452 4603 |000a: iget-object v2, v5, Lutil/FileLogger;.psout:Ljava/io/PrintStream; // field@0346 │ │ -02685c: 2203 2d01 |000c: new-instance v3, Ljava/lang/StringBuilder; // type@012d │ │ -026860: 7010 a705 0300 |000e: invoke-direct {v3}, Ljava/lang/StringBuilder;.:()V // method@05a7 │ │ -026866: 7100 c106 0000 |0011: invoke-static {}, Lutil/DateRetriever;.getDateString:()Ljava/lang/String; // method@06c1 │ │ -02686c: 0c04 |0014: move-result-object v4 │ │ -02686e: 6e20 ad05 4300 |0015: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -026874: 1a04 0d00 |0018: const-string v4, " " // string@000d │ │ -026878: 6e20 ad05 4300 |001a: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -02687e: 6e10 af05 0300 |001d: invoke-virtual {v3}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ -026884: 0c03 |0020: move-result-object v3 │ │ -026886: 6e20 3f05 3200 |0021: invoke-virtual {v2, v3}, Ljava/io/PrintStream;.print:(Ljava/lang/String;)V // method@053f │ │ -02688c: 5452 4603 |0024: iget-object v2, v5, Lutil/FileLogger;.psout:Ljava/io/PrintStream; // field@0346 │ │ -026890: 6e20 4005 6200 |0026: invoke-virtual {v2, v6}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@0540 │ │ -026896: 5456 4403 |0029: iget-object v6, v5, Lutil/FileLogger;.pin:Ljava/io/PipedInputStream; // field@0344 │ │ -02689a: 6e10 7705 0600 |002b: invoke-virtual {v6}, Ljava/lang/Object;.notifyAll:()V // method@0577 │ │ -0268a0: 1e01 |002e: monitor-exit v1 │ │ -0268a2: 1e00 |002f: monitor-exit v0 │ │ -0268a4: 0e00 |0030: return-void │ │ -0268a6: 0d06 |0031: move-exception v6 │ │ -0268a8: 1e01 |0032: monitor-exit v1 │ │ -0268aa: 2706 |0033: throw v6 │ │ -0268ac: 0d06 |0034: move-exception v6 │ │ -0268ae: 1e00 |0035: monitor-exit v0 │ │ -0268b0: 2706 |0036: throw v6 │ │ +026830: |[026830] util.FileLogger.logLine:(Ljava/lang/String;)V │ │ +026840: 5450 4603 |0000: iget-object v0, v5, Lutil/FileLogger;.psout:Ljava/io/PrintStream; // field@0346 │ │ +026844: 1d00 |0002: monitor-enter v0 │ │ +026846: 5451 4403 |0003: iget-object v1, v5, Lutil/FileLogger;.pin:Ljava/io/PipedInputStream; // field@0344 │ │ +02684a: 1d01 |0005: monitor-enter v1 │ │ +02684c: 5552 4903 |0006: iget-boolean v2, v5, Lutil/FileLogger;.timeStampEnabled:Z // field@0349 │ │ +026850: 3802 1c00 |0008: if-eqz v2, 0024 // +001c │ │ +026854: 5452 4603 |000a: iget-object v2, v5, Lutil/FileLogger;.psout:Ljava/io/PrintStream; // field@0346 │ │ +026858: 2203 2d01 |000c: new-instance v3, Ljava/lang/StringBuilder; // type@012d │ │ +02685c: 7010 a705 0300 |000e: invoke-direct {v3}, Ljava/lang/StringBuilder;.:()V // method@05a7 │ │ +026862: 7100 c106 0000 |0011: invoke-static {}, Lutil/DateRetriever;.getDateString:()Ljava/lang/String; // method@06c1 │ │ +026868: 0c04 |0014: move-result-object v4 │ │ +02686a: 6e20 ad05 4300 |0015: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +026870: 1a04 0d00 |0018: const-string v4, " " // string@000d │ │ +026874: 6e20 ad05 4300 |001a: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +02687a: 6e10 af05 0300 |001d: invoke-virtual {v3}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ +026880: 0c03 |0020: move-result-object v3 │ │ +026882: 6e20 3f05 3200 |0021: invoke-virtual {v2, v3}, Ljava/io/PrintStream;.print:(Ljava/lang/String;)V // method@053f │ │ +026888: 5452 4603 |0024: iget-object v2, v5, Lutil/FileLogger;.psout:Ljava/io/PrintStream; // field@0346 │ │ +02688c: 6e20 4005 6200 |0026: invoke-virtual {v2, v6}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@0540 │ │ +026892: 5456 4403 |0029: iget-object v6, v5, Lutil/FileLogger;.pin:Ljava/io/PipedInputStream; // field@0344 │ │ +026896: 6e10 7705 0600 |002b: invoke-virtual {v6}, Ljava/lang/Object;.notifyAll:()V // method@0577 │ │ +02689c: 1e01 |002e: monitor-exit v1 │ │ +02689e: 1e00 |002f: monitor-exit v0 │ │ +0268a0: 0e00 |0030: return-void │ │ +0268a2: 0d06 |0031: move-exception v6 │ │ +0268a4: 1e01 |0032: monitor-exit v1 │ │ +0268a6: 2706 |0033: throw v6 │ │ +0268a8: 0d06 |0034: move-exception v6 │ │ +0268aa: 1e00 |0035: monitor-exit v0 │ │ +0268ac: 2706 |0036: throw v6 │ │ catches : 5 │ │ 0x0003 - 0x0006 │ │ -> 0x0034 │ │ 0x0006 - 0x002f │ │ -> 0x0031 │ │ 0x002f - 0x0030 │ │ -> 0x0034 │ │ @@ -57853,17 +57853,17 @@ │ │ type : '(Ljava/lang/String;)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 4 16-bit code units │ │ -026ab0: |[026ab0] util.FileLogger.message:(Ljava/lang/String;)V │ │ -026ac0: 6e20 ee06 1000 |0000: invoke-virtual {v0, v1}, Lutil/FileLogger;.log:(Ljava/lang/String;)V // method@06ee │ │ -026ac6: 0e00 |0003: return-void │ │ +026aac: |[026aac] util.FileLogger.message:(Ljava/lang/String;)V │ │ +026abc: 6e20 ee06 1000 |0000: invoke-virtual {v0, v1}, Lutil/FileLogger;.log:(Ljava/lang/String;)V // method@06ee │ │ +026ac2: 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; │ │ │ │ @@ -57872,60 +57872,60 @@ │ │ type : '()V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 10 │ │ ins : 1 │ │ outs : 4 │ │ insns size : 79 16-bit code units │ │ -026ac8: |[026ac8] util.FileLogger.run:()V │ │ -026ad8: 1300 0008 |0000: const/16 v0, #int 2048 // #800 │ │ -026adc: 2300 9d01 |0002: new-array v0, v0, [B // type@019d │ │ -026ae0: 1201 |0004: const/4 v1, #int 0 // #0 │ │ -026ae2: 1202 |0005: const/4 v2, #int 0 // #0 │ │ -026ae4: 5593 3d03 |0006: iget-boolean v3, v9, Lutil/FileLogger;.closed:Z // field@033d │ │ -026ae8: 3903 4600 |0008: if-nez v3, 004e // +0046 │ │ -026aec: 5493 4403 |000a: iget-object v3, v9, Lutil/FileLogger;.pin:Ljava/io/PipedInputStream; // field@0344 │ │ -026af0: 1d03 |000c: monitor-enter v3 │ │ -026af2: 5494 4403 |000d: iget-object v4, v9, Lutil/FileLogger;.pin:Ljava/io/PipedInputStream; // field@0344 │ │ -026af6: 6e10 3a05 0400 |000f: invoke-virtual {v4}, Ljava/io/PipedInputStream;.available:()I // method@053a │ │ -026afc: 0a04 |0012: move-result v4 │ │ -026afe: 3c04 1100 |0013: if-gtz v4, 0024 // +0011 │ │ -026b02: 5595 3d03 |0015: iget-boolean v5, v9, Lutil/FileLogger;.closed:Z // field@033d │ │ -026b06: 3905 0d00 |0017: if-nez v5, 0024 // +000d │ │ -026b0a: 5494 4403 |0019: iget-object v4, v9, Lutil/FileLogger;.pin:Ljava/io/PipedInputStream; // field@0344 │ │ -026b0e: 6e10 7905 0400 |001b: invoke-virtual {v4}, Ljava/lang/Object;.wait:()V // method@0579 │ │ -026b14: 28ef |001e: goto 000d // -0011 │ │ -026b16: 0d04 |001f: move-exception v4 │ │ -026b18: 6e10 6905 0400 |0020: invoke-virtual {v4}, Ljava/lang/InterruptedException;.printStackTrace:()V // method@0569 │ │ -026b1e: 28ea |0023: goto 000d // -0016 │ │ -026b20: 5595 3d03 |0024: iget-boolean v5, v9, Lutil/FileLogger;.closed:Z // field@033d │ │ -026b24: 3905 0800 |0026: if-nez v5, 002e // +0008 │ │ -026b28: 5495 4403 |0028: iget-object v5, v9, Lutil/FileLogger;.pin:Ljava/io/PipedInputStream; // field@0344 │ │ -026b2c: 6e20 3b05 0500 |002a: invoke-virtual {v5, v0}, Ljava/io/PipedInputStream;.read:([B)I // method@053b │ │ -026b32: 0a02 |002d: move-result v2 │ │ -026b34: 1e03 |002e: monitor-exit v3 │ │ -026b36: 5593 3d03 |002f: iget-boolean v3, v9, Lutil/FileLogger;.closed:Z // field@033d │ │ -026b3a: 3903 d5ff |0031: if-nez v3, 0006 // -002b │ │ -026b3e: 7010 ed06 0900 |0033: invoke-direct {v9}, Lutil/FileLogger;.getOutputStream:()Ljava/io/OutputStream; // method@06ed │ │ -026b44: 0c03 |0036: move-result-object v3 │ │ -026b46: 6e40 3705 0321 |0037: invoke-virtual {v3, v0, v1, v2}, Ljava/io/OutputStream;.write:([BII)V // method@0537 │ │ -026b4c: 5395 3f03 |003a: iget-wide v5, v9, Lutil/FileLogger;.curSlotSize:J // field@033f │ │ -026b50: 8127 |003c: int-to-long v7, v2 │ │ -026b52: bb75 |003d: add-long/2addr v5, v7 │ │ -026b54: 5a95 3f03 |003e: iput-wide v5, v9, Lutil/FileLogger;.curSlotSize:J // field@033f │ │ -026b58: 3324 c6ff |0040: if-ne v4, v2, 0006 // -003a │ │ -026b5c: 6e10 3405 0300 |0042: invoke-virtual {v3}, Ljava/io/OutputStream;.flush:()V // method@0534 │ │ -026b62: 28c1 |0045: goto 0006 // -003f │ │ -026b64: 0d04 |0046: move-exception v4 │ │ -026b66: 1e03 |0047: monitor-exit v3 │ │ -026b68: 2704 |0048: throw v4 │ │ -026b6a: 0d03 |0049: move-exception v3 │ │ -026b6c: 6e10 5c05 0300 |004a: invoke-virtual {v3}, Ljava/lang/Exception;.printStackTrace:()V // method@055c │ │ -026b72: 28b9 |004d: goto 0006 // -0047 │ │ -026b74: 0e00 |004e: return-void │ │ +026ac4: |[026ac4] util.FileLogger.run:()V │ │ +026ad4: 1300 0008 |0000: const/16 v0, #int 2048 // #800 │ │ +026ad8: 2300 9d01 |0002: new-array v0, v0, [B // type@019d │ │ +026adc: 1201 |0004: const/4 v1, #int 0 // #0 │ │ +026ade: 1202 |0005: const/4 v2, #int 0 // #0 │ │ +026ae0: 5593 3d03 |0006: iget-boolean v3, v9, Lutil/FileLogger;.closed:Z // field@033d │ │ +026ae4: 3903 4600 |0008: if-nez v3, 004e // +0046 │ │ +026ae8: 5493 4403 |000a: iget-object v3, v9, Lutil/FileLogger;.pin:Ljava/io/PipedInputStream; // field@0344 │ │ +026aec: 1d03 |000c: monitor-enter v3 │ │ +026aee: 5494 4403 |000d: iget-object v4, v9, Lutil/FileLogger;.pin:Ljava/io/PipedInputStream; // field@0344 │ │ +026af2: 6e10 3a05 0400 |000f: invoke-virtual {v4}, Ljava/io/PipedInputStream;.available:()I // method@053a │ │ +026af8: 0a04 |0012: move-result v4 │ │ +026afa: 3c04 1100 |0013: if-gtz v4, 0024 // +0011 │ │ +026afe: 5595 3d03 |0015: iget-boolean v5, v9, Lutil/FileLogger;.closed:Z // field@033d │ │ +026b02: 3905 0d00 |0017: if-nez v5, 0024 // +000d │ │ +026b06: 5494 4403 |0019: iget-object v4, v9, Lutil/FileLogger;.pin:Ljava/io/PipedInputStream; // field@0344 │ │ +026b0a: 6e10 7905 0400 |001b: invoke-virtual {v4}, Ljava/lang/Object;.wait:()V // method@0579 │ │ +026b10: 28ef |001e: goto 000d // -0011 │ │ +026b12: 0d04 |001f: move-exception v4 │ │ +026b14: 6e10 6905 0400 |0020: invoke-virtual {v4}, Ljava/lang/InterruptedException;.printStackTrace:()V // method@0569 │ │ +026b1a: 28ea |0023: goto 000d // -0016 │ │ +026b1c: 5595 3d03 |0024: iget-boolean v5, v9, Lutil/FileLogger;.closed:Z // field@033d │ │ +026b20: 3905 0800 |0026: if-nez v5, 002e // +0008 │ │ +026b24: 5495 4403 |0028: iget-object v5, v9, Lutil/FileLogger;.pin:Ljava/io/PipedInputStream; // field@0344 │ │ +026b28: 6e20 3b05 0500 |002a: invoke-virtual {v5, v0}, Ljava/io/PipedInputStream;.read:([B)I // method@053b │ │ +026b2e: 0a02 |002d: move-result v2 │ │ +026b30: 1e03 |002e: monitor-exit v3 │ │ +026b32: 5593 3d03 |002f: iget-boolean v3, v9, Lutil/FileLogger;.closed:Z // field@033d │ │ +026b36: 3903 d5ff |0031: if-nez v3, 0006 // -002b │ │ +026b3a: 7010 ed06 0900 |0033: invoke-direct {v9}, Lutil/FileLogger;.getOutputStream:()Ljava/io/OutputStream; // method@06ed │ │ +026b40: 0c03 |0036: move-result-object v3 │ │ +026b42: 6e40 3705 0321 |0037: invoke-virtual {v3, v0, v1, v2}, Ljava/io/OutputStream;.write:([BII)V // method@0537 │ │ +026b48: 5395 3f03 |003a: iget-wide v5, v9, Lutil/FileLogger;.curSlotSize:J // field@033f │ │ +026b4c: 8127 |003c: int-to-long v7, v2 │ │ +026b4e: bb75 |003d: add-long/2addr v5, v7 │ │ +026b50: 5a95 3f03 |003e: iput-wide v5, v9, Lutil/FileLogger;.curSlotSize:J // field@033f │ │ +026b54: 3324 c6ff |0040: if-ne v4, v2, 0006 // -003a │ │ +026b58: 6e10 3405 0300 |0042: invoke-virtual {v3}, Ljava/io/OutputStream;.flush:()V // method@0534 │ │ +026b5e: 28c1 |0045: goto 0006 // -003f │ │ +026b60: 0d04 |0046: move-exception v4 │ │ +026b62: 1e03 |0047: monitor-exit v3 │ │ +026b64: 2704 |0048: throw v4 │ │ +026b66: 0d03 |0049: move-exception v3 │ │ +026b68: 6e10 5c05 0300 |004a: invoke-virtual {v3}, Ljava/lang/Exception;.printStackTrace:()V // method@055c │ │ +026b6e: 28b9 |004d: goto 0006 // -0047 │ │ +026b70: 0e00 |004e: return-void │ │ catches : 7 │ │ 0x000a - 0x000d │ │ Ljava/lang/Exception; -> 0x0049 │ │ 0x000d - 0x0017 │ │ -> 0x0046 │ │ 0x0019 - 0x001e │ │ Ljava/lang/InterruptedException; -> 0x001f │ │ @@ -57988,18 +57988,18 @@ │ │ type : '([Lutil/LoggerInterface;)V' │ │ access : 0x10001 (PUBLIC CONSTRUCTOR) │ │ code - │ │ registers : 2 │ │ ins : 2 │ │ outs : 1 │ │ insns size : 6 16-bit code units │ │ -026bbc: |[026bbc] util.GroupedLogger.:([Lutil/LoggerInterface;)V │ │ -026bcc: 7010 7305 0000 |0000: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@0573 │ │ -026bd2: 5b01 4a03 |0003: iput-object v1, v0, Lutil/GroupedLogger;.nestedLoggers:[Lutil/LoggerInterface; // field@034a │ │ -026bd6: 0e00 |0005: return-void │ │ +026bb8: |[026bb8] util.GroupedLogger.:([Lutil/LoggerInterface;)V │ │ +026bc8: 7010 7305 0000 |0000: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@0573 │ │ +026bce: 5b01 4a03 |0003: iput-object v1, v0, Lutil/GroupedLogger;.nestedLoggers:[Lutil/LoggerInterface; // field@034a │ │ +026bd2: 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; │ │ @@ -58010,31 +58010,31 @@ │ │ type : '(Lutil/LoggerInterface;)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 6 │ │ ins : 2 │ │ outs : 0 │ │ insns size : 26 16-bit code units │ │ -026bd8: |[026bd8] util.GroupedLogger.attachLogger:(Lutil/LoggerInterface;)V │ │ -026be8: 5440 4a03 |0000: iget-object v0, v4, Lutil/GroupedLogger;.nestedLoggers:[Lutil/LoggerInterface; // field@034a │ │ -026bec: 2100 |0002: array-length v0, v0 │ │ -026bee: d800 0001 |0003: add-int/lit8 v0, v0, #int 1 // #01 │ │ -026bf2: 2300 b401 |0005: new-array v0, v0, [Lutil/LoggerInterface; // type@01b4 │ │ -026bf6: 1201 |0007: const/4 v1, #int 0 // #0 │ │ -026bf8: 5442 4a03 |0008: iget-object v2, v4, Lutil/GroupedLogger;.nestedLoggers:[Lutil/LoggerInterface; // field@034a │ │ -026bfc: 2123 |000a: array-length v3, v2 │ │ -026bfe: 3531 0900 |000b: if-ge v1, v3, 0014 // +0009 │ │ -026c02: 4602 0201 |000d: aget-object v2, v2, v1 │ │ -026c06: 4d02 0001 |000f: aput-object v2, v0, v1 │ │ -026c0a: d801 0101 |0011: add-int/lit8 v1, v1, #int 1 // #01 │ │ -026c0e: 28f5 |0013: goto 0008 // -000b │ │ -026c10: 2121 |0014: array-length v1, v2 │ │ -026c12: 4d05 0001 |0015: aput-object v5, v0, v1 │ │ -026c16: 5b40 4a03 |0017: iput-object v0, v4, Lutil/GroupedLogger;.nestedLoggers:[Lutil/LoggerInterface; // field@034a │ │ -026c1a: 0e00 |0019: return-void │ │ +026bd4: |[026bd4] util.GroupedLogger.attachLogger:(Lutil/LoggerInterface;)V │ │ +026be4: 5440 4a03 |0000: iget-object v0, v4, Lutil/GroupedLogger;.nestedLoggers:[Lutil/LoggerInterface; // field@034a │ │ +026be8: 2100 |0002: array-length v0, v0 │ │ +026bea: d800 0001 |0003: add-int/lit8 v0, v0, #int 1 // #01 │ │ +026bee: 2300 b401 |0005: new-array v0, v0, [Lutil/LoggerInterface; // type@01b4 │ │ +026bf2: 1201 |0007: const/4 v1, #int 0 // #0 │ │ +026bf4: 5442 4a03 |0008: iget-object v2, v4, Lutil/GroupedLogger;.nestedLoggers:[Lutil/LoggerInterface; // field@034a │ │ +026bf8: 2123 |000a: array-length v3, v2 │ │ +026bfa: 3531 0900 |000b: if-ge v1, v3, 0014 // +0009 │ │ +026bfe: 4602 0201 |000d: aget-object v2, v2, v1 │ │ +026c02: 4d02 0001 |000f: aput-object v2, v0, v1 │ │ +026c06: d801 0101 |0011: add-int/lit8 v1, v1, #int 1 // #01 │ │ +026c0a: 28f5 |0013: goto 0008 // -000b │ │ +026c0c: 2121 |0014: array-length v1, v2 │ │ +026c0e: 4d05 0001 |0015: aput-object v5, v0, v1 │ │ +026c12: 5b40 4a03 |0017: iput-object v0, v4, Lutil/GroupedLogger;.nestedLoggers:[Lutil/LoggerInterface; // field@034a │ │ +026c16: 0e00 |0019: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=46 │ │ 0x0008 line=47 │ │ 0x000d line=48 │ │ 0x0014 line=50 │ │ 0x0017 line=51 │ │ @@ -58047,24 +58047,24 @@ │ │ type : '()V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 4 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 15 16-bit code units │ │ -026c1c: |[026c1c] util.GroupedLogger.closeLogger:()V │ │ -026c2c: 1200 |0000: const/4 v0, #int 0 // #0 │ │ -026c2e: 5431 4a03 |0001: iget-object v1, v3, Lutil/GroupedLogger;.nestedLoggers:[Lutil/LoggerInterface; // field@034a │ │ -026c32: 2112 |0003: array-length v2, v1 │ │ -026c34: 3520 0a00 |0004: if-ge v0, v2, 000e // +000a │ │ -026c38: 4601 0100 |0006: aget-object v1, v1, v0 │ │ -026c3c: 7210 2e07 0100 |0008: invoke-interface {v1}, Lutil/LoggerInterface;.closeLogger:()V // method@072e │ │ -026c42: d800 0001 |000b: add-int/lit8 v0, v0, #int 1 // #01 │ │ -026c46: 28f4 |000d: goto 0001 // -000c │ │ -026c48: 0e00 |000e: return-void │ │ +026c18: |[026c18] util.GroupedLogger.closeLogger:()V │ │ +026c28: 1200 |0000: const/4 v0, #int 0 // #0 │ │ +026c2a: 5431 4a03 |0001: iget-object v1, v3, Lutil/GroupedLogger;.nestedLoggers:[Lutil/LoggerInterface; // field@034a │ │ +026c2e: 2112 |0003: array-length v2, v1 │ │ +026c30: 3520 0a00 |0004: if-ge v0, v2, 000e // +000a │ │ +026c34: 4601 0100 |0006: aget-object v1, v1, v0 │ │ +026c38: 7210 2e07 0100 |0008: invoke-interface {v1}, Lutil/LoggerInterface;.closeLogger:()V // method@072e │ │ +026c3e: d800 0001 |000b: add-int/lit8 v0, v0, #int 1 // #01 │ │ +026c42: 28f4 |000d: goto 0001 // -000c │ │ +026c44: 0e00 |000e: return-void │ │ catches : (none) │ │ positions : │ │ 0x0001 line=40 │ │ 0x0006 line=41 │ │ locals : │ │ 0x0000 - 0x000f reg=3 this Lutil/GroupedLogger; │ │ │ │ @@ -58073,36 +58073,36 @@ │ │ type : '(Lutil/LoggerInterface;)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 6 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 39 16-bit code units │ │ -026c4c: |[026c4c] util.GroupedLogger.detachLogger:(Lutil/LoggerInterface;)V │ │ -026c5c: 2200 6a01 |0000: new-instance v0, Ljava/util/Vector; // type@016a │ │ -026c60: 5441 4a03 |0002: iget-object v1, v4, Lutil/GroupedLogger;.nestedLoggers:[Lutil/LoggerInterface; // field@034a │ │ -026c64: 2111 |0004: array-length v1, v1 │ │ -026c66: 7020 7606 1000 |0005: invoke-direct {v0, v1}, Ljava/util/Vector;.:(I)V // method@0676 │ │ -026c6c: 1201 |0008: const/4 v1, #int 0 // #0 │ │ -026c6e: 5442 4a03 |0009: iget-object v2, v4, Lutil/GroupedLogger;.nestedLoggers:[Lutil/LoggerInterface; // field@034a │ │ -026c72: 2123 |000b: array-length v3, v2 │ │ -026c74: 3531 0c00 |000c: if-ge v1, v3, 0018 // +000c │ │ -026c78: 4602 0201 |000e: aget-object v2, v2, v1 │ │ -026c7c: 3252 0500 |0010: if-eq v2, v5, 0015 // +0005 │ │ -026c80: 6e20 7706 2000 |0012: invoke-virtual {v0, v2}, Ljava/util/Vector;.add:(Ljava/lang/Object;)Z // method@0677 │ │ -026c86: d801 0101 |0015: add-int/lit8 v1, v1, #int 1 // #01 │ │ -026c8a: 28f2 |0017: goto 0009 // -000e │ │ -026c8c: 6e10 8206 0000 |0018: invoke-virtual {v0}, Ljava/util/Vector;.size:()I // method@0682 │ │ -026c92: 0a05 |001b: move-result v5 │ │ -026c94: 2355 b401 |001c: new-array v5, v5, [Lutil/LoggerInterface; // type@01b4 │ │ -026c98: 6e20 8306 5000 |001e: invoke-virtual {v0, v5}, Ljava/util/Vector;.toArray:([Ljava/lang/Object;)[Ljava/lang/Object; // method@0683 │ │ -026c9e: 0c05 |0021: move-result-object v5 │ │ -026ca0: 1f05 b401 |0022: check-cast v5, [Lutil/LoggerInterface; // type@01b4 │ │ -026ca4: 5b45 4a03 |0024: iput-object v5, v4, Lutil/GroupedLogger;.nestedLoggers:[Lutil/LoggerInterface; // field@034a │ │ -026ca8: 0e00 |0026: return-void │ │ +026c48: |[026c48] util.GroupedLogger.detachLogger:(Lutil/LoggerInterface;)V │ │ +026c58: 2200 6a01 |0000: new-instance v0, Ljava/util/Vector; // type@016a │ │ +026c5c: 5441 4a03 |0002: iget-object v1, v4, Lutil/GroupedLogger;.nestedLoggers:[Lutil/LoggerInterface; // field@034a │ │ +026c60: 2111 |0004: array-length v1, v1 │ │ +026c62: 7020 7606 1000 |0005: invoke-direct {v0, v1}, Ljava/util/Vector;.:(I)V // method@0676 │ │ +026c68: 1201 |0008: const/4 v1, #int 0 // #0 │ │ +026c6a: 5442 4a03 |0009: iget-object v2, v4, Lutil/GroupedLogger;.nestedLoggers:[Lutil/LoggerInterface; // field@034a │ │ +026c6e: 2123 |000b: array-length v3, v2 │ │ +026c70: 3531 0c00 |000c: if-ge v1, v3, 0018 // +000c │ │ +026c74: 4602 0201 |000e: aget-object v2, v2, v1 │ │ +026c78: 3252 0500 |0010: if-eq v2, v5, 0015 // +0005 │ │ +026c7c: 6e20 7706 2000 |0012: invoke-virtual {v0, v2}, Ljava/util/Vector;.add:(Ljava/lang/Object;)Z // method@0677 │ │ +026c82: d801 0101 |0015: add-int/lit8 v1, v1, #int 1 // #01 │ │ +026c86: 28f2 |0017: goto 0009 // -000e │ │ +026c88: 6e10 8206 0000 |0018: invoke-virtual {v0}, Ljava/util/Vector;.size:()I // method@0682 │ │ +026c8e: 0a05 |001b: move-result v5 │ │ +026c90: 2355 b401 |001c: new-array v5, v5, [Lutil/LoggerInterface; // type@01b4 │ │ +026c94: 6e20 8306 5000 |001e: invoke-virtual {v0, v5}, Ljava/util/Vector;.toArray:([Ljava/lang/Object;)[Ljava/lang/Object; // method@0683 │ │ +026c9a: 0c05 |0021: move-result-object v5 │ │ +026c9c: 1f05 b401 |0022: check-cast v5, [Lutil/LoggerInterface; // type@01b4 │ │ +026ca0: 5b45 4a03 |0024: iput-object v5, v4, Lutil/GroupedLogger;.nestedLoggers:[Lutil/LoggerInterface; // field@034a │ │ +026ca4: 0e00 |0026: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=55 │ │ 0x0009 line=57 │ │ 0x000e line=58 │ │ 0x0012 line=59 │ │ 0x0018 line=62 │ │ @@ -58115,24 +58115,24 @@ │ │ type : '(Ljava/lang/String;)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 5 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 15 16-bit code units │ │ -026cac: |[026cac] util.GroupedLogger.log:(Ljava/lang/String;)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: 7220 2f07 4100 |0008: invoke-interface {v1, v4}, Lutil/LoggerInterface;.log:(Ljava/lang/String;)V // method@072f │ │ -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.log:(Ljava/lang/String;)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: 7220 2f07 4100 |0008: invoke-interface {v1, v4}, Lutil/LoggerInterface;.log:(Ljava/lang/String;)V // method@072f │ │ +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=28 │ │ 0x0006 line=29 │ │ locals : │ │ 0x0000 - 0x000f reg=3 this Lutil/GroupedLogger; │ │ 0x0000 - 0x000f reg=4 (null) Ljava/lang/String; │ │ @@ -58142,24 +58142,24 @@ │ │ type : '(Ljava/lang/Exception;)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 5 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 15 16-bit code units │ │ -026cdc: |[026cdc] util.GroupedLogger.logException:(Ljava/lang/Exception;)V │ │ -026cec: 1200 |0000: const/4 v0, #int 0 // #0 │ │ -026cee: 5431 4a03 |0001: iget-object v1, v3, Lutil/GroupedLogger;.nestedLoggers:[Lutil/LoggerInterface; // field@034a │ │ -026cf2: 2112 |0003: array-length v2, v1 │ │ -026cf4: 3520 0a00 |0004: if-ge v0, v2, 000e // +000a │ │ -026cf8: 4601 0100 |0006: aget-object v1, v1, v0 │ │ -026cfc: 7220 3007 4100 |0008: invoke-interface {v1, v4}, Lutil/LoggerInterface;.logException:(Ljava/lang/Exception;)V // method@0730 │ │ -026d02: d800 0001 |000b: add-int/lit8 v0, v0, #int 1 // #01 │ │ -026d06: 28f4 |000d: goto 0001 // -000c │ │ -026d08: 0e00 |000e: return-void │ │ +026cd8: |[026cd8] util.GroupedLogger.logException:(Ljava/lang/Exception;)V │ │ +026ce8: 1200 |0000: const/4 v0, #int 0 // #0 │ │ +026cea: 5431 4a03 |0001: iget-object v1, v3, Lutil/GroupedLogger;.nestedLoggers:[Lutil/LoggerInterface; // field@034a │ │ +026cee: 2112 |0003: array-length v2, v1 │ │ +026cf0: 3520 0a00 |0004: if-ge v0, v2, 000e // +000a │ │ +026cf4: 4601 0100 |0006: aget-object v1, v1, v0 │ │ +026cf8: 7220 3007 4100 |0008: invoke-interface {v1, v4}, Lutil/LoggerInterface;.logException:(Ljava/lang/Exception;)V // method@0730 │ │ +026cfe: d800 0001 |000b: add-int/lit8 v0, v0, #int 1 // #01 │ │ +026d02: 28f4 |000d: goto 0001 // -000c │ │ +026d04: 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; │ │ @@ -58169,24 +58169,24 @@ │ │ type : '(Ljava/lang/String;)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 5 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 15 16-bit code units │ │ -026d0c: |[026d0c] util.GroupedLogger.logLine:(Ljava/lang/String;)V │ │ -026d1c: 1200 |0000: const/4 v0, #int 0 // #0 │ │ -026d1e: 5431 4a03 |0001: iget-object v1, v3, Lutil/GroupedLogger;.nestedLoggers:[Lutil/LoggerInterface; // field@034a │ │ -026d22: 2112 |0003: array-length v2, v1 │ │ -026d24: 3520 0a00 |0004: if-ge v0, v2, 000e // +000a │ │ -026d28: 4601 0100 |0006: aget-object v1, v1, v0 │ │ -026d2c: 7220 3107 4100 |0008: invoke-interface {v1, v4}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0731 │ │ -026d32: d800 0001 |000b: add-int/lit8 v0, v0, #int 1 // #01 │ │ -026d36: 28f4 |000d: goto 0001 // -000c │ │ -026d38: 0e00 |000e: return-void │ │ +026d08: |[026d08] util.GroupedLogger.logLine:(Ljava/lang/String;)V │ │ +026d18: 1200 |0000: const/4 v0, #int 0 // #0 │ │ +026d1a: 5431 4a03 |0001: iget-object v1, v3, Lutil/GroupedLogger;.nestedLoggers:[Lutil/LoggerInterface; // field@034a │ │ +026d1e: 2112 |0003: array-length v2, v1 │ │ +026d20: 3520 0a00 |0004: if-ge v0, v2, 000e // +000a │ │ +026d24: 4601 0100 |0006: aget-object v1, v1, v0 │ │ +026d28: 7220 3107 4100 |0008: invoke-interface {v1, v4}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0731 │ │ +026d2e: d800 0001 |000b: add-int/lit8 v0, v0, #int 1 // #01 │ │ +026d32: 28f4 |000d: goto 0001 // -000c │ │ +026d34: 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; │ │ @@ -58196,24 +58196,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.message:(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 3207 4100 |0008: invoke-interface {v1, v4}, Lutil/LoggerInterface;.message:(Ljava/lang/String;)V // method@0732 │ │ -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.message:(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 3207 4100 |0008: invoke-interface {v1, v4}, Lutil/LoggerInterface;.message:(Ljava/lang/String;)V // method@0732 │ │ +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=34 │ │ 0x0006 line=35 │ │ locals : │ │ 0x0000 - 0x000f reg=3 this Lutil/GroupedLogger; │ │ 0x0000 - 0x000f reg=4 (null) Ljava/lang/String; │ │ @@ -58256,22 +58256,22 @@ │ │ type : '()V' │ │ access : 0x10008 (STATIC CONSTRUCTOR) │ │ code - │ │ registers : 1 │ │ ins : 0 │ │ outs : 1 │ │ insns size : 15 16-bit code units │ │ -027790: |[027790] util.Logger.:()V │ │ -0277a0: 2200 5a01 |0000: new-instance v0, Ljava/util/Hashtable; // type@015a │ │ -0277a4: 7010 3606 0000 |0002: invoke-direct {v0}, Ljava/util/Hashtable;.:()V // method@0636 │ │ -0277aa: 6900 5303 |0005: sput-object v0, Lutil/Logger;._loggers:Ljava/util/Hashtable; // field@0353 │ │ -0277ae: 2200 8501 |0007: new-instance v0, Lutil/Logger; // type@0185 │ │ -0277b2: 7010 2307 0000 |0009: invoke-direct {v0}, Lutil/Logger;.:()V // method@0723 │ │ -0277b8: 6900 5403 |000c: sput-object v0, Lutil/Logger;.m_default:Lutil/LoggerInterface; // field@0354 │ │ -0277bc: 0e00 |000e: return-void │ │ +02778c: |[02778c] util.Logger.:()V │ │ +02779c: 2200 5a01 |0000: new-instance v0, Ljava/util/Hashtable; // type@015a │ │ +0277a0: 7010 3606 0000 |0002: invoke-direct {v0}, Ljava/util/Hashtable;.:()V // method@0636 │ │ +0277a6: 6900 5303 |0005: sput-object v0, Lutil/Logger;._loggers:Ljava/util/Hashtable; // field@0353 │ │ +0277aa: 2200 8501 |0007: new-instance v0, Lutil/Logger; // type@0185 │ │ +0277ae: 7010 2307 0000 |0009: invoke-direct {v0}, Lutil/Logger;.:()V // method@0723 │ │ +0277b4: 6900 5403 |000c: sput-object v0, Lutil/Logger;.m_default:Lutil/LoggerInterface; // field@0354 │ │ +0277b8: 0e00 |000e: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=28 │ │ 0x0007 line=30 │ │ locals : │ │ │ │ #1 : (in Lutil/Logger;) │ │ @@ -58279,17 +58279,17 @@ │ │ type : '()V' │ │ access : 0x10001 (PUBLIC CONSTRUCTOR) │ │ code - │ │ registers : 1 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 4 16-bit code units │ │ -0277c0: |[0277c0] util.Logger.:()V │ │ -0277d0: 7010 7305 0000 |0000: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@0573 │ │ -0277d6: 0e00 |0003: return-void │ │ +0277bc: |[0277bc] util.Logger.:()V │ │ +0277cc: 7010 7305 0000 |0000: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@0573 │ │ +0277d2: 0e00 |0003: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=27 │ │ locals : │ │ 0x0000 - 0x0004 reg=0 this Lutil/Logger; │ │ │ │ #2 : (in Lutil/Logger;) │ │ @@ -58297,20 +58297,20 @@ │ │ type : '()Lutil/LoggerInterface;' │ │ access : 0x0009 (PUBLIC STATIC) │ │ code - │ │ registers : 1 │ │ ins : 0 │ │ outs : 0 │ │ insns size : 8 16-bit code units │ │ -027740: |[027740] util.Logger.getLogger:()Lutil/LoggerInterface; │ │ -027750: 6200 5503 |0000: sget-object v0, Lutil/Logger;.m_logger:Lutil/LoggerInterface; // field@0355 │ │ -027754: 3800 0300 |0002: if-eqz v0, 0005 // +0003 │ │ -027758: 1100 |0004: return-object v0 │ │ -02775a: 6200 5403 |0005: sget-object v0, Lutil/Logger;.m_default:Lutil/LoggerInterface; // field@0354 │ │ -02775e: 1100 |0007: return-object v0 │ │ +02773c: |[02773c] util.Logger.getLogger:()Lutil/LoggerInterface; │ │ +02774c: 6200 5503 |0000: sget-object v0, Lutil/Logger;.m_logger:Lutil/LoggerInterface; // field@0355 │ │ +027750: 3800 0300 |0002: if-eqz v0, 0005 // +0003 │ │ +027754: 1100 |0004: return-object v0 │ │ +027756: 6200 5403 |0005: sget-object v0, Lutil/Logger;.m_default:Lutil/LoggerInterface; // field@0354 │ │ +02775a: 1100 |0007: return-object v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=45 │ │ 0x0005 line=48 │ │ locals : │ │ │ │ #3 : (in Lutil/Logger;) │ │ @@ -58318,24 +58318,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 │ │ -027760: |[027760] util.Logger.getLogger:(Ljava/lang/String;)Lutil/LoggerInterface; │ │ -027770: 6200 5303 |0000: sget-object v0, Lutil/Logger;._loggers:Ljava/util/Hashtable; // field@0353 │ │ -027774: 6e20 3706 1000 |0002: invoke-virtual {v0, v1}, Ljava/util/Hashtable;.get:(Ljava/lang/Object;)Ljava/lang/Object; // method@0637 │ │ -02777a: 0c01 |0005: move-result-object v1 │ │ -02777c: 1f01 8601 |0006: check-cast v1, Lutil/LoggerInterface; // type@0186 │ │ -027780: 3801 0300 |0008: if-eqz v1, 000b // +0003 │ │ -027784: 1101 |000a: return-object v1 │ │ -027786: 7100 2507 0000 |000b: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0725 │ │ -02778c: 0c01 |000e: move-result-object v1 │ │ -02778e: 1101 |000f: return-object v1 │ │ +02775c: |[02775c] util.Logger.getLogger:(Ljava/lang/String;)Lutil/LoggerInterface; │ │ +02776c: 6200 5303 |0000: sget-object v0, Lutil/Logger;._loggers:Ljava/util/Hashtable; // field@0353 │ │ +027770: 6e20 3706 1000 |0002: invoke-virtual {v0, v1}, Ljava/util/Hashtable;.get:(Ljava/lang/Object;)Ljava/lang/Object; // method@0637 │ │ +027776: 0c01 |0005: move-result-object v1 │ │ +027778: 1f01 8601 |0006: check-cast v1, Lutil/LoggerInterface; // type@0186 │ │ +02777c: 3801 0300 |0008: if-eqz v1, 000b // +0003 │ │ +027780: 1101 |000a: return-object v1 │ │ +027782: 7100 2507 0000 |000b: invoke-static {}, Lutil/Logger;.getLogger:()Lutil/LoggerInterface; // method@0725 │ │ +027788: 0c01 |000e: move-result-object v1 │ │ +02778a: 1101 |000f: return-object v1 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=52 │ │ 0x000b line=55 │ │ locals : │ │ 0x0000 - 0x0010 reg=1 (null) Ljava/lang/String; │ │ │ │ @@ -58344,18 +58344,18 @@ │ │ type : '(Ljava/lang/String;)V' │ │ access : 0x0009 (PUBLIC STATIC) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 6 16-bit code units │ │ -027858: |[027858] util.Logger.removeLogger:(Ljava/lang/String;)V │ │ -027868: 6200 5303 |0000: sget-object v0, Lutil/Logger;._loggers:Ljava/util/Hashtable; // field@0353 │ │ -02786c: 6e20 3906 1000 |0002: invoke-virtual {v0, v1}, Ljava/util/Hashtable;.remove:(Ljava/lang/Object;)Ljava/lang/Object; // method@0639 │ │ -027872: 0e00 |0005: return-void │ │ +027854: |[027854] util.Logger.removeLogger:(Ljava/lang/String;)V │ │ +027864: 6200 5303 |0000: sget-object v0, Lutil/Logger;._loggers:Ljava/util/Hashtable; // field@0353 │ │ +027868: 6e20 3906 1000 |0002: invoke-virtual {v0, v1}, Ljava/util/Hashtable;.remove:(Ljava/lang/Object;)Ljava/lang/Object; // method@0639 │ │ +02786e: 0e00 |0005: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=41 │ │ locals : │ │ 0x0000 - 0x0006 reg=1 (null) Ljava/lang/String; │ │ │ │ #5 : (in Lutil/Logger;) │ │ @@ -58363,17 +58363,17 @@ │ │ type : '(Lutil/LoggerInterface;)V' │ │ access : 0x0009 (PUBLIC STATIC) │ │ code - │ │ registers : 1 │ │ ins : 1 │ │ outs : 0 │ │ insns size : 3 16-bit code units │ │ -027874: |[027874] util.Logger.setLogger:(Lutil/LoggerInterface;)V │ │ -027884: 6900 5503 |0000: sput-object v0, Lutil/Logger;.m_logger:Lutil/LoggerInterface; // field@0355 │ │ -027888: 0e00 |0002: return-void │ │ +027870: |[027870] util.Logger.setLogger:(Lutil/LoggerInterface;)V │ │ +027880: 6900 5503 |0000: sput-object v0, Lutil/Logger;.m_logger:Lutil/LoggerInterface; // field@0355 │ │ +027884: 0e00 |0002: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=33 │ │ locals : │ │ 0x0000 - 0x0003 reg=0 (null) Lutil/LoggerInterface; │ │ │ │ #6 : (in Lutil/Logger;) │ │ @@ -58381,18 +58381,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 │ │ -02788c: |[02788c] util.Logger.setLogger:(Lutil/LoggerInterface;Ljava/lang/String;)V │ │ -02789c: 6200 5303 |0000: sget-object v0, Lutil/Logger;._loggers:Ljava/util/Hashtable; // field@0353 │ │ -0278a0: 6e30 3806 2001 |0002: invoke-virtual {v0, v2, v1}, Ljava/util/Hashtable;.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; // method@0638 │ │ -0278a6: 0e00 |0005: return-void │ │ +027888: |[027888] util.Logger.setLogger:(Lutil/LoggerInterface;Ljava/lang/String;)V │ │ +027898: 6200 5303 |0000: sget-object v0, Lutil/Logger;._loggers:Ljava/util/Hashtable; // field@0353 │ │ +02789c: 6e30 3806 2001 |0002: invoke-virtual {v0, v2, v1}, Ljava/util/Hashtable;.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; // method@0638 │ │ +0278a2: 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; │ │ │ │ @@ -58402,33 +58402,33 @@ │ │ type : '()V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 1 │ │ ins : 1 │ │ outs : 0 │ │ insns size : 1 16-bit code units │ │ -0277d8: |[0277d8] util.Logger.closeLogger:()V │ │ -0277e8: 0e00 |0000: return-void │ │ +0277d4: |[0277d4] util.Logger.closeLogger:()V │ │ +0277e4: 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 │ │ -0277ec: |[0277ec] util.Logger.log:(Ljava/lang/String;)V │ │ -0277fc: 6200 1903 |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0319 │ │ -027800: 6e20 3f05 2000 |0002: invoke-virtual {v0, v2}, Ljava/io/PrintStream;.print:(Ljava/lang/String;)V // method@053f │ │ -027806: 0e00 |0005: return-void │ │ +0277e8: |[0277e8] util.Logger.log:(Ljava/lang/String;)V │ │ +0277f8: 6200 1903 |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0319 │ │ +0277fc: 6e20 3f05 2000 |0002: invoke-virtual {v0, v2}, Ljava/io/PrintStream;.print:(Ljava/lang/String;)V // method@053f │ │ +027802: 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; │ │ │ │ @@ -58437,17 +58437,17 @@ │ │ type : '(Ljava/lang/Exception;)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 2 │ │ outs : 1 │ │ insns size : 4 16-bit code units │ │ -027808: |[027808] util.Logger.logException:(Ljava/lang/Exception;)V │ │ -027818: 6e10 5c05 0100 |0000: invoke-virtual {v1}, Ljava/lang/Exception;.printStackTrace:()V // method@055c │ │ -02781e: 0e00 |0003: return-void │ │ +027804: |[027804] util.Logger.logException:(Ljava/lang/Exception;)V │ │ +027814: 6e10 5c05 0100 |0000: invoke-virtual {v1}, Ljava/lang/Exception;.printStackTrace:()V // method@055c │ │ +02781a: 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; │ │ │ │ @@ -58456,18 +58456,18 @@ │ │ type : '(Ljava/lang/String;)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 3 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 6 16-bit code units │ │ -027820: |[027820] util.Logger.logLine:(Ljava/lang/String;)V │ │ -027830: 6200 1903 |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0319 │ │ -027834: 6e20 4005 2000 |0002: invoke-virtual {v0, v2}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@0540 │ │ -02783a: 0e00 |0005: return-void │ │ +02781c: |[02781c] util.Logger.logLine:(Ljava/lang/String;)V │ │ +02782c: 6200 1903 |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0319 │ │ +027830: 6e20 4005 2000 |0002: invoke-virtual {v0, v2}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@0540 │ │ +027836: 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; │ │ │ │ @@ -58476,18 +58476,18 @@ │ │ type : '(Ljava/lang/String;)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 3 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 6 16-bit code units │ │ -02783c: |[02783c] util.Logger.message:(Ljava/lang/String;)V │ │ -02784c: 6200 1903 |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0319 │ │ -027850: 6e20 4005 2000 |0002: invoke-virtual {v0, v2}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@0540 │ │ -027856: 0e00 |0005: return-void │ │ +027838: |[027838] util.Logger.message:(Ljava/lang/String;)V │ │ +027848: 6200 1903 |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0319 │ │ +02784c: 6e20 4005 2000 |0002: invoke-virtual {v0, v2}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@0540 │ │ +027852: 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; │ │ │ │ @@ -58545,28 +58545,28 @@ │ │ type : '(Lutil/LoggerInterface;)V' │ │ access : 0x10001 (PUBLIC CONSTRUCTOR) │ │ code - │ │ registers : 4 │ │ ins : 2 │ │ outs : 1 │ │ insns size : 26 16-bit code units │ │ -028990: |[028990] util.SuppressRepeatingsLogger.:(Lutil/LoggerInterface;)V │ │ -0289a0: 7010 7305 0200 |0000: invoke-direct {v2}, Ljava/lang/Object;.:()V // method@0573 │ │ -0289a6: 2200 5801 |0003: new-instance v0, Ljava/util/HashMap; // type@0158 │ │ -0289aa: 7010 2406 0000 |0005: invoke-direct {v0}, Ljava/util/HashMap;.:()V // method@0624 │ │ -0289b0: 5b20 7103 |0008: iput-object v0, v2, Lutil/SuppressRepeatingsLogger;.lastLogs:Ljava/util/HashMap; // field@0371 │ │ -0289b4: 1600 0000 |000a: const-wide/16 v0, #int 0 // #0 │ │ -0289b8: 5a20 7403 |000c: iput-wide v0, v2, Lutil/SuppressRepeatingsLogger;.timeRepeat:J // field@0374 │ │ -0289bc: 5a20 7003 |000e: iput-wide v0, v2, Lutil/SuppressRepeatingsLogger;.lastCleanup:J // field@0370 │ │ -0289c0: 1200 |0010: const/4 v0, #int 0 // #0 │ │ -0289c2: 5b20 6f03 |0011: iput-object v0, v2, Lutil/SuppressRepeatingsLogger;.dateFormatter:Ljava/text/DateFormat; // field@036f │ │ -0289c6: 1a00 0000 |0013: const-string v0, "" // string@0000 │ │ -0289ca: 5b20 7203 |0015: iput-object v0, v2, Lutil/SuppressRepeatingsLogger;.lastTS:Ljava/lang/String; // field@0372 │ │ -0289ce: 5b23 7303 |0017: iput-object v3, v2, Lutil/SuppressRepeatingsLogger;.nestedLogger:Lutil/LoggerInterface; // field@0373 │ │ -0289d2: 0e00 |0019: return-void │ │ +02898c: |[02898c] util.SuppressRepeatingsLogger.:(Lutil/LoggerInterface;)V │ │ +02899c: 7010 7305 0200 |0000: invoke-direct {v2}, Ljava/lang/Object;.:()V // method@0573 │ │ +0289a2: 2200 5801 |0003: new-instance v0, Ljava/util/HashMap; // type@0158 │ │ +0289a6: 7010 2406 0000 |0005: invoke-direct {v0}, Ljava/util/HashMap;.:()V // method@0624 │ │ +0289ac: 5b20 7103 |0008: iput-object v0, v2, Lutil/SuppressRepeatingsLogger;.lastLogs:Ljava/util/HashMap; // field@0371 │ │ +0289b0: 1600 0000 |000a: const-wide/16 v0, #int 0 // #0 │ │ +0289b4: 5a20 7403 |000c: iput-wide v0, v2, Lutil/SuppressRepeatingsLogger;.timeRepeat:J // field@0374 │ │ +0289b8: 5a20 7003 |000e: iput-wide v0, v2, Lutil/SuppressRepeatingsLogger;.lastCleanup:J // field@0370 │ │ +0289bc: 1200 |0010: const/4 v0, #int 0 // #0 │ │ +0289be: 5b20 6f03 |0011: iput-object v0, v2, Lutil/SuppressRepeatingsLogger;.dateFormatter:Ljava/text/DateFormat; // field@036f │ │ +0289c2: 1a00 0000 |0013: const-string v0, "" // string@0000 │ │ +0289c6: 5b20 7203 |0015: iput-object v0, v2, Lutil/SuppressRepeatingsLogger;.lastTS:Ljava/lang/String; // field@0372 │ │ +0289ca: 5b23 7303 |0017: iput-object v3, v2, Lutil/SuppressRepeatingsLogger;.nestedLogger:Lutil/LoggerInterface; // field@0373 │ │ +0289ce: 0e00 |0019: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=18 │ │ 0x0003 line=11 │ │ 0x000c line=12 │ │ 0x000e line=13 │ │ 0x0011 line=14 │ │ @@ -58581,35 +58581,35 @@ │ │ type : '()V' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 5 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 41 16-bit code units │ │ -0289d4: |[0289d4] util.SuppressRepeatingsLogger.addTimeStamp:()V │ │ -0289e4: 5440 6f03 |0000: iget-object v0, v4, Lutil/SuppressRepeatingsLogger;.dateFormatter:Ljava/text/DateFormat; // field@036f │ │ -0289e8: 3900 0300 |0002: if-nez v0, 0005 // +0003 │ │ -0289ec: 0e00 |0004: return-void │ │ -0289ee: 2201 5601 |0005: new-instance v1, Ljava/util/Date; // type@0156 │ │ -0289f2: 7010 2006 0100 |0007: invoke-direct {v1}, Ljava/util/Date;.:()V // method@0620 │ │ -0289f8: 6e20 1306 1000 |000a: invoke-virtual {v0, v1}, Ljava/text/DateFormat;.format:(Ljava/util/Date;)Ljava/lang/String; // method@0613 │ │ -0289fe: 0c00 |000d: move-result-object v0 │ │ -028a00: 5441 7203 |000e: iget-object v1, v4, Lutil/SuppressRepeatingsLogger;.lastTS:Ljava/lang/String; // field@0372 │ │ -028a04: 6e20 8b05 1000 |0010: invoke-virtual {v0, v1}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058b │ │ -028a0a: 0a01 |0013: move-result v1 │ │ -028a0c: 3901 1400 |0014: if-nez v1, 0028 // +0014 │ │ -028a10: 5441 7303 |0016: iget-object v1, v4, Lutil/SuppressRepeatingsLogger;.nestedLogger:Lutil/LoggerInterface; // field@0373 │ │ -028a14: 5442 6f03 |0018: iget-object v2, v4, Lutil/SuppressRepeatingsLogger;.dateFormatter:Ljava/text/DateFormat; // field@036f │ │ -028a18: 2203 5601 |001a: new-instance v3, Ljava/util/Date; // type@0156 │ │ -028a1c: 7010 2006 0300 |001c: invoke-direct {v3}, Ljava/util/Date;.:()V // method@0620 │ │ -028a22: 6e20 1306 3200 |001f: invoke-virtual {v2, v3}, Ljava/text/DateFormat;.format:(Ljava/util/Date;)Ljava/lang/String; // method@0613 │ │ -028a28: 0c02 |0022: move-result-object v2 │ │ -028a2a: 7220 3107 2100 |0023: invoke-interface {v1, v2}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0731 │ │ -028a30: 5b40 7203 |0026: iput-object v0, v4, Lutil/SuppressRepeatingsLogger;.lastTS:Ljava/lang/String; // field@0372 │ │ -028a34: 0e00 |0028: return-void │ │ +0289d0: |[0289d0] util.SuppressRepeatingsLogger.addTimeStamp:()V │ │ +0289e0: 5440 6f03 |0000: iget-object v0, v4, Lutil/SuppressRepeatingsLogger;.dateFormatter:Ljava/text/DateFormat; // field@036f │ │ +0289e4: 3900 0300 |0002: if-nez v0, 0005 // +0003 │ │ +0289e8: 0e00 |0004: return-void │ │ +0289ea: 2201 5601 |0005: new-instance v1, Ljava/util/Date; // type@0156 │ │ +0289ee: 7010 2006 0100 |0007: invoke-direct {v1}, Ljava/util/Date;.:()V // method@0620 │ │ +0289f4: 6e20 1306 1000 |000a: invoke-virtual {v0, v1}, Ljava/text/DateFormat;.format:(Ljava/util/Date;)Ljava/lang/String; // method@0613 │ │ +0289fa: 0c00 |000d: move-result-object v0 │ │ +0289fc: 5441 7203 |000e: iget-object v1, v4, Lutil/SuppressRepeatingsLogger;.lastTS:Ljava/lang/String; // field@0372 │ │ +028a00: 6e20 8b05 1000 |0010: invoke-virtual {v0, v1}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058b │ │ +028a06: 0a01 |0013: move-result v1 │ │ +028a08: 3901 1400 |0014: if-nez v1, 0028 // +0014 │ │ +028a0c: 5441 7303 |0016: iget-object v1, v4, Lutil/SuppressRepeatingsLogger;.nestedLogger:Lutil/LoggerInterface; // field@0373 │ │ +028a10: 5442 6f03 |0018: iget-object v2, v4, Lutil/SuppressRepeatingsLogger;.dateFormatter:Ljava/text/DateFormat; // field@036f │ │ +028a14: 2203 5601 |001a: new-instance v3, Ljava/util/Date; // type@0156 │ │ +028a18: 7010 2006 0300 |001c: invoke-direct {v3}, Ljava/util/Date;.:()V // method@0620 │ │ +028a1e: 6e20 1306 3200 |001f: invoke-virtual {v2, v3}, Ljava/text/DateFormat;.format:(Ljava/util/Date;)Ljava/lang/String; // method@0613 │ │ +028a24: 0c02 |0022: move-result-object v2 │ │ +028a26: 7220 3107 2100 |0023: invoke-interface {v1, v2}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0731 │ │ +028a2c: 5b40 7203 |0026: iput-object v0, v4, Lutil/SuppressRepeatingsLogger;.lastTS:Ljava/lang/String; // field@0372 │ │ +028a30: 0e00 |0028: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=23 │ │ 0x0005 line=25 │ │ 0x000e line=26 │ │ 0x0016 line=27 │ │ 0x0026 line=28 │ │ @@ -58621,81 +58621,81 @@ │ │ type : '(Ljava/lang/String;)Z' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 14 │ │ ins : 2 │ │ outs : 3 │ │ insns size : 119 16-bit code units │ │ -02886c: |[02886c] util.SuppressRepeatingsLogger.repeatingLog:(Ljava/lang/String;)Z │ │ -02887c: 54c0 7103 |0000: iget-object v0, v12, Lutil/SuppressRepeatingsLogger;.lastLogs:Ljava/util/HashMap; // field@0371 │ │ -028880: 1d00 |0002: monitor-enter v0 │ │ -028882: 7100 b105 0000 |0003: invoke-static {}, Ljava/lang/System;.currentTimeMillis:()J // method@05b1 │ │ -028888: 0b01 |0006: move-result-wide v1 │ │ -02888a: 54c3 7103 |0007: iget-object v3, v12, Lutil/SuppressRepeatingsLogger;.lastLogs:Ljava/util/HashMap; // field@0371 │ │ -02888e: 6e20 2806 d300 |0009: invoke-virtual {v3, v13}, Ljava/util/HashMap;.get:(Ljava/lang/Object;)Ljava/lang/Object; // method@0628 │ │ -028894: 0c03 |000c: move-result-object v3 │ │ -028896: 1f03 2001 |000d: check-cast v3, Ljava/lang/Long; // type@0120 │ │ -02889a: 3803 0700 |000f: if-eqz v3, 0016 // +0007 │ │ -02889e: 6e10 6a05 0300 |0011: invoke-virtual {v3}, Ljava/lang/Long;.longValue:()J // method@056a │ │ -0288a4: 0b03 |0014: move-result-wide v3 │ │ -0288a6: 2803 |0015: goto 0018 // +0003 │ │ -0288a8: 1603 0000 |0016: const-wide/16 v3, #int 0 // #0 │ │ -0288ac: 54c5 7103 |0018: iget-object v5, v12, Lutil/SuppressRepeatingsLogger;.lastLogs:Ljava/util/HashMap; // field@0371 │ │ -0288b0: 7120 6c05 2100 |001a: invoke-static {v1, v2}, Ljava/lang/Long;.valueOf:(J)Ljava/lang/Long; // method@056c │ │ -0288b6: 0c06 |001d: move-result-object v6 │ │ -0288b8: 6e30 2906 d506 |001e: invoke-virtual {v5, v13, v6}, Ljava/util/HashMap;.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; // method@0629 │ │ -0288be: 53c5 7003 |0021: iget-wide v5, v12, Lutil/SuppressRepeatingsLogger;.lastCleanup:J // field@0370 │ │ -0288c2: 9c05 0105 |0023: sub-long v5, v1, v5 │ │ -0288c6: 53c7 7403 |0025: iget-wide v7, v12, Lutil/SuppressRepeatingsLogger;.timeRepeat:J // field@0374 │ │ -0288ca: 120d |0027: const/4 v13, #int 0 // #0 │ │ -0288cc: 3109 0507 |0028: cmp-long v9, v5, v7 │ │ -0288d0: 3d09 3e00 |002a: if-lez v9, 0068 // +003e │ │ -0288d4: 54c5 7103 |002c: iget-object v5, v12, Lutil/SuppressRepeatingsLogger;.lastLogs:Ljava/util/HashMap; // field@0371 │ │ -0288d8: 6e10 2706 0500 |002e: invoke-virtual {v5}, Ljava/util/HashMap;.entrySet:()Ljava/util/Set; // method@0627 │ │ -0288de: 0c05 |0031: move-result-object v5 │ │ -0288e0: 54c6 7103 |0032: iget-object v6, v12, Lutil/SuppressRepeatingsLogger;.lastLogs:Ljava/util/HashMap; // field@0371 │ │ -0288e4: 6e10 2b06 0600 |0034: invoke-virtual {v6}, Ljava/util/HashMap;.size:()I // method@062b │ │ -0288ea: 0a06 |0037: move-result v6 │ │ -0288ec: 2366 b001 |0038: new-array v6, v6, [Ljava/util/Map$Entry; // type@01b0 │ │ -0288f0: 7220 5c06 6500 |003a: invoke-interface {v5, v6}, Ljava/util/Set;.toArray:([Ljava/lang/Object;)[Ljava/lang/Object; // method@065c │ │ -0288f6: 0c05 |003d: move-result-object v5 │ │ -0288f8: 1f05 b001 |003e: check-cast v5, [Ljava/util/Map$Entry; // type@01b0 │ │ -0288fc: 1206 |0040: const/4 v6, #int 0 // #0 │ │ -0288fe: 2157 |0041: array-length v7, v5 │ │ -028900: 3576 2400 |0042: if-ge v6, v7, 0066 // +0024 │ │ -028904: 4607 0506 |0044: aget-object v7, v5, v6 │ │ -028908: 7210 5006 0700 |0046: invoke-interface {v7}, Ljava/util/Map$Entry;.getValue:()Ljava/lang/Object; // method@0650 │ │ -02890e: 0c07 |0049: move-result-object v7 │ │ -028910: 1f07 2001 |004a: check-cast v7, Ljava/lang/Long; // type@0120 │ │ -028914: 6e10 6a05 0700 |004c: invoke-virtual {v7}, Ljava/lang/Long;.longValue:()J // method@056a │ │ -02891a: 0b07 |004f: move-result-wide v7 │ │ -02891c: 9c07 0107 |0050: sub-long v7, v1, v7 │ │ -028920: 53c9 7403 |0052: iget-wide v9, v12, Lutil/SuppressRepeatingsLogger;.timeRepeat:J // field@0374 │ │ -028924: 310b 0709 |0054: cmp-long v11, v7, v9 │ │ -028928: 3d0b 0d00 |0056: if-lez v11, 0063 // +000d │ │ -02892c: 54c7 7103 |0058: iget-object v7, v12, Lutil/SuppressRepeatingsLogger;.lastLogs:Ljava/util/HashMap; // field@0371 │ │ -028930: 4608 0506 |005a: aget-object v8, v5, v6 │ │ -028934: 7210 4f06 0800 |005c: invoke-interface {v8}, Ljava/util/Map$Entry;.getKey:()Ljava/lang/Object; // method@064f │ │ -02893a: 0c08 |005f: move-result-object v8 │ │ -02893c: 6e20 2a06 8700 |0060: invoke-virtual {v7, v8}, Ljava/util/HashMap;.remove:(Ljava/lang/Object;)Ljava/lang/Object; // method@062a │ │ -028942: d806 0601 |0063: add-int/lit8 v6, v6, #int 1 // #01 │ │ -028946: 28dc |0065: goto 0041 // -0024 │ │ -028948: 5ac1 7003 |0066: iput-wide v1, v12, Lutil/SuppressRepeatingsLogger;.lastCleanup:J // field@0370 │ │ -02894c: bc31 |0068: sub-long/2addr v1, v3 │ │ -02894e: 53c3 7403 |0069: iget-wide v3, v12, Lutil/SuppressRepeatingsLogger;.timeRepeat:J // field@0374 │ │ -028952: 3105 0103 |006b: cmp-long v5, v1, v3 │ │ -028956: 3c05 0300 |006d: if-gtz v5, 0070 // +0003 │ │ -02895a: 121d |006f: const/4 v13, #int 1 // #1 │ │ -02895c: 1e00 |0070: monitor-exit v0 │ │ -02895e: 0f0d |0071: return v13 │ │ -028960: 0d0d |0072: move-exception v13 │ │ -028962: 1e00 |0073: monitor-exit v0 │ │ -028964: 2802 |0074: goto 0076 // +0002 │ │ -028966: 270d |0075: throw v13 │ │ -028968: 28ff |0076: goto 0075 // -0001 │ │ +028868: |[028868] util.SuppressRepeatingsLogger.repeatingLog:(Ljava/lang/String;)Z │ │ +028878: 54c0 7103 |0000: iget-object v0, v12, Lutil/SuppressRepeatingsLogger;.lastLogs:Ljava/util/HashMap; // field@0371 │ │ +02887c: 1d00 |0002: monitor-enter v0 │ │ +02887e: 7100 b105 0000 |0003: invoke-static {}, Ljava/lang/System;.currentTimeMillis:()J // method@05b1 │ │ +028884: 0b01 |0006: move-result-wide v1 │ │ +028886: 54c3 7103 |0007: iget-object v3, v12, Lutil/SuppressRepeatingsLogger;.lastLogs:Ljava/util/HashMap; // field@0371 │ │ +02888a: 6e20 2806 d300 |0009: invoke-virtual {v3, v13}, Ljava/util/HashMap;.get:(Ljava/lang/Object;)Ljava/lang/Object; // method@0628 │ │ +028890: 0c03 |000c: move-result-object v3 │ │ +028892: 1f03 2001 |000d: check-cast v3, Ljava/lang/Long; // type@0120 │ │ +028896: 3803 0700 |000f: if-eqz v3, 0016 // +0007 │ │ +02889a: 6e10 6a05 0300 |0011: invoke-virtual {v3}, Ljava/lang/Long;.longValue:()J // method@056a │ │ +0288a0: 0b03 |0014: move-result-wide v3 │ │ +0288a2: 2803 |0015: goto 0018 // +0003 │ │ +0288a4: 1603 0000 |0016: const-wide/16 v3, #int 0 // #0 │ │ +0288a8: 54c5 7103 |0018: iget-object v5, v12, Lutil/SuppressRepeatingsLogger;.lastLogs:Ljava/util/HashMap; // field@0371 │ │ +0288ac: 7120 6c05 2100 |001a: invoke-static {v1, v2}, Ljava/lang/Long;.valueOf:(J)Ljava/lang/Long; // method@056c │ │ +0288b2: 0c06 |001d: move-result-object v6 │ │ +0288b4: 6e30 2906 d506 |001e: invoke-virtual {v5, v13, v6}, Ljava/util/HashMap;.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; // method@0629 │ │ +0288ba: 53c5 7003 |0021: iget-wide v5, v12, Lutil/SuppressRepeatingsLogger;.lastCleanup:J // field@0370 │ │ +0288be: 9c05 0105 |0023: sub-long v5, v1, v5 │ │ +0288c2: 53c7 7403 |0025: iget-wide v7, v12, Lutil/SuppressRepeatingsLogger;.timeRepeat:J // field@0374 │ │ +0288c6: 120d |0027: const/4 v13, #int 0 // #0 │ │ +0288c8: 3109 0507 |0028: cmp-long v9, v5, v7 │ │ +0288cc: 3d09 3e00 |002a: if-lez v9, 0068 // +003e │ │ +0288d0: 54c5 7103 |002c: iget-object v5, v12, Lutil/SuppressRepeatingsLogger;.lastLogs:Ljava/util/HashMap; // field@0371 │ │ +0288d4: 6e10 2706 0500 |002e: invoke-virtual {v5}, Ljava/util/HashMap;.entrySet:()Ljava/util/Set; // method@0627 │ │ +0288da: 0c05 |0031: move-result-object v5 │ │ +0288dc: 54c6 7103 |0032: iget-object v6, v12, Lutil/SuppressRepeatingsLogger;.lastLogs:Ljava/util/HashMap; // field@0371 │ │ +0288e0: 6e10 2b06 0600 |0034: invoke-virtual {v6}, Ljava/util/HashMap;.size:()I // method@062b │ │ +0288e6: 0a06 |0037: move-result v6 │ │ +0288e8: 2366 b001 |0038: new-array v6, v6, [Ljava/util/Map$Entry; // type@01b0 │ │ +0288ec: 7220 5c06 6500 |003a: invoke-interface {v5, v6}, Ljava/util/Set;.toArray:([Ljava/lang/Object;)[Ljava/lang/Object; // method@065c │ │ +0288f2: 0c05 |003d: move-result-object v5 │ │ +0288f4: 1f05 b001 |003e: check-cast v5, [Ljava/util/Map$Entry; // type@01b0 │ │ +0288f8: 1206 |0040: const/4 v6, #int 0 // #0 │ │ +0288fa: 2157 |0041: array-length v7, v5 │ │ +0288fc: 3576 2400 |0042: if-ge v6, v7, 0066 // +0024 │ │ +028900: 4607 0506 |0044: aget-object v7, v5, v6 │ │ +028904: 7210 5006 0700 |0046: invoke-interface {v7}, Ljava/util/Map$Entry;.getValue:()Ljava/lang/Object; // method@0650 │ │ +02890a: 0c07 |0049: move-result-object v7 │ │ +02890c: 1f07 2001 |004a: check-cast v7, Ljava/lang/Long; // type@0120 │ │ +028910: 6e10 6a05 0700 |004c: invoke-virtual {v7}, Ljava/lang/Long;.longValue:()J // method@056a │ │ +028916: 0b07 |004f: move-result-wide v7 │ │ +028918: 9c07 0107 |0050: sub-long v7, v1, v7 │ │ +02891c: 53c9 7403 |0052: iget-wide v9, v12, Lutil/SuppressRepeatingsLogger;.timeRepeat:J // field@0374 │ │ +028920: 310b 0709 |0054: cmp-long v11, v7, v9 │ │ +028924: 3d0b 0d00 |0056: if-lez v11, 0063 // +000d │ │ +028928: 54c7 7103 |0058: iget-object v7, v12, Lutil/SuppressRepeatingsLogger;.lastLogs:Ljava/util/HashMap; // field@0371 │ │ +02892c: 4608 0506 |005a: aget-object v8, v5, v6 │ │ +028930: 7210 4f06 0800 |005c: invoke-interface {v8}, Ljava/util/Map$Entry;.getKey:()Ljava/lang/Object; // method@064f │ │ +028936: 0c08 |005f: move-result-object v8 │ │ +028938: 6e20 2a06 8700 |0060: invoke-virtual {v7, v8}, Ljava/util/HashMap;.remove:(Ljava/lang/Object;)Ljava/lang/Object; // method@062a │ │ +02893e: d806 0601 |0063: add-int/lit8 v6, v6, #int 1 // #01 │ │ +028942: 28dc |0065: goto 0041 // -0024 │ │ +028944: 5ac1 7003 |0066: iput-wide v1, v12, Lutil/SuppressRepeatingsLogger;.lastCleanup:J // field@0370 │ │ +028948: bc31 |0068: sub-long/2addr v1, v3 │ │ +02894a: 53c3 7403 |0069: iget-wide v3, v12, Lutil/SuppressRepeatingsLogger;.timeRepeat:J // field@0374 │ │ +02894e: 3105 0103 |006b: cmp-long v5, v1, v3 │ │ +028952: 3c05 0300 |006d: if-gtz v5, 0070 // +0003 │ │ +028956: 121d |006f: const/4 v13, #int 1 // #1 │ │ +028958: 1e00 |0070: monitor-exit v0 │ │ +02895a: 0f0d |0071: return v13 │ │ +02895c: 0d0d |0072: move-exception v13 │ │ +02895e: 1e00 |0073: monitor-exit v0 │ │ +028960: 2802 |0074: goto 0076 // +0002 │ │ +028962: 270d |0075: throw v13 │ │ +028964: 28ff |0076: goto 0075 // -0001 │ │ catches : 1 │ │ 0x0003 - 0x0074 │ │ -> 0x0072 │ │ positions : │ │ 0x0000 line=56 │ │ 0x0003 line=57 │ │ 0x0007 line=60 │ │ @@ -58719,20 +58719,20 @@ │ │ type : '()V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 11 16-bit code units │ │ -028a38: |[028a38] util.SuppressRepeatingsLogger.closeLogger:()V │ │ -028a48: 5410 7103 |0000: iget-object v0, v1, Lutil/SuppressRepeatingsLogger;.lastLogs:Ljava/util/HashMap; // field@0371 │ │ -028a4c: 6e10 2506 0000 |0002: invoke-virtual {v0}, Ljava/util/HashMap;.clear:()V // method@0625 │ │ -028a52: 5410 7303 |0005: iget-object v0, v1, Lutil/SuppressRepeatingsLogger;.nestedLogger:Lutil/LoggerInterface; // field@0373 │ │ -028a56: 7210 2e07 0000 |0007: invoke-interface {v0}, Lutil/LoggerInterface;.closeLogger:()V // method@072e │ │ -028a5c: 0e00 |000a: return-void │ │ +028a34: |[028a34] util.SuppressRepeatingsLogger.closeLogger:()V │ │ +028a44: 5410 7103 |0000: iget-object v0, v1, Lutil/SuppressRepeatingsLogger;.lastLogs:Ljava/util/HashMap; // field@0371 │ │ +028a48: 6e10 2506 0000 |0002: invoke-virtual {v0}, Ljava/util/HashMap;.clear:()V // method@0625 │ │ +028a4e: 5410 7303 |0005: iget-object v0, v1, Lutil/SuppressRepeatingsLogger;.nestedLogger:Lutil/LoggerInterface; // field@0373 │ │ +028a52: 7210 2e07 0000 |0007: invoke-interface {v0}, Lutil/LoggerInterface;.closeLogger:()V // method@072e │ │ +028a58: 0e00 |000a: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=108 │ │ 0x0005 line=109 │ │ locals : │ │ 0x0000 - 0x000b reg=1 this Lutil/SuppressRepeatingsLogger; │ │ │ │ @@ -58741,17 +58741,17 @@ │ │ type : '()Lutil/LoggerInterface;' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 0 │ │ insns size : 3 16-bit code units │ │ -028978: |[028978] util.SuppressRepeatingsLogger.getNestedLogger:()Lutil/LoggerInterface; │ │ -028988: 5410 7303 |0000: iget-object v0, v1, Lutil/SuppressRepeatingsLogger;.nestedLogger:Lutil/LoggerInterface; // field@0373 │ │ -02898c: 1100 |0002: return-object v0 │ │ +028974: |[028974] util.SuppressRepeatingsLogger.getNestedLogger:()Lutil/LoggerInterface; │ │ +028984: 5410 7303 |0000: iget-object v0, v1, Lutil/SuppressRepeatingsLogger;.nestedLogger:Lutil/LoggerInterface; // field@0373 │ │ +028988: 1100 |0002: return-object v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=38 │ │ locals : │ │ 0x0000 - 0x0003 reg=1 this Lutil/SuppressRepeatingsLogger; │ │ │ │ #2 : (in Lutil/SuppressRepeatingsLogger;) │ │ @@ -58759,21 +58759,21 @@ │ │ type : '(Ljava/lang/String;)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 3 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 12 16-bit code units │ │ -028a60: |[028a60] util.SuppressRepeatingsLogger.log:(Ljava/lang/String;)V │ │ -028a70: 7020 7a07 2100 |0000: invoke-direct {v1, v2}, Lutil/SuppressRepeatingsLogger;.repeatingLog:(Ljava/lang/String;)Z // method@077a │ │ -028a76: 0a00 |0003: move-result v0 │ │ -028a78: 3900 0700 |0004: if-nez v0, 000b // +0007 │ │ -028a7c: 5410 7303 |0006: iget-object v0, v1, Lutil/SuppressRepeatingsLogger;.nestedLogger:Lutil/LoggerInterface; // field@0373 │ │ -028a80: 7220 2f07 2000 |0008: invoke-interface {v0, v2}, Lutil/LoggerInterface;.log:(Ljava/lang/String;)V // method@072f │ │ -028a86: 0e00 |000b: return-void │ │ +028a5c: |[028a5c] util.SuppressRepeatingsLogger.log:(Ljava/lang/String;)V │ │ +028a6c: 7020 7a07 2100 |0000: invoke-direct {v1, v2}, Lutil/SuppressRepeatingsLogger;.repeatingLog:(Ljava/lang/String;)Z // method@077a │ │ +028a72: 0a00 |0003: move-result v0 │ │ +028a74: 3900 0700 |0004: if-nez v0, 000b // +0007 │ │ +028a78: 5410 7303 |0006: iget-object v0, v1, Lutil/SuppressRepeatingsLogger;.nestedLogger:Lutil/LoggerInterface; // field@0373 │ │ +028a7c: 7220 2f07 2000 |0008: invoke-interface {v0, v2}, Lutil/LoggerInterface;.log:(Ljava/lang/String;)V // method@072f │ │ +028a82: 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; │ │ @@ -58783,19 +58783,19 @@ │ │ type : '(Ljava/lang/Exception;)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 3 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 9 16-bit code units │ │ -028a88: |[028a88] util.SuppressRepeatingsLogger.logException:(Ljava/lang/Exception;)V │ │ -028a98: 7010 7307 0100 |0000: invoke-direct {v1}, Lutil/SuppressRepeatingsLogger;.addTimeStamp:()V // method@0773 │ │ -028a9e: 5410 7303 |0003: iget-object v0, v1, Lutil/SuppressRepeatingsLogger;.nestedLogger:Lutil/LoggerInterface; // field@0373 │ │ -028aa2: 7220 3007 2000 |0005: invoke-interface {v0, v2}, Lutil/LoggerInterface;.logException:(Ljava/lang/Exception;)V // method@0730 │ │ -028aa8: 0e00 |0008: return-void │ │ +028a84: |[028a84] util.SuppressRepeatingsLogger.logException:(Ljava/lang/Exception;)V │ │ +028a94: 7010 7307 0100 |0000: invoke-direct {v1}, Lutil/SuppressRepeatingsLogger;.addTimeStamp:()V // method@0773 │ │ +028a9a: 5410 7303 |0003: iget-object v0, v1, Lutil/SuppressRepeatingsLogger;.nestedLogger:Lutil/LoggerInterface; // field@0373 │ │ +028a9e: 7220 3007 2000 |0005: invoke-interface {v0, v2}, Lutil/LoggerInterface;.logException:(Ljava/lang/Exception;)V // method@0730 │ │ +028aa4: 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; │ │ @@ -58805,22 +58805,22 @@ │ │ type : '(Ljava/lang/String;)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 3 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 15 16-bit code units │ │ -028aac: |[028aac] util.SuppressRepeatingsLogger.logLine:(Ljava/lang/String;)V │ │ -028abc: 7020 7a07 2100 |0000: invoke-direct {v1, v2}, Lutil/SuppressRepeatingsLogger;.repeatingLog:(Ljava/lang/String;)Z // method@077a │ │ -028ac2: 0a00 |0003: move-result v0 │ │ -028ac4: 3900 0a00 |0004: if-nez v0, 000e // +000a │ │ -028ac8: 7010 7307 0100 |0006: invoke-direct {v1}, Lutil/SuppressRepeatingsLogger;.addTimeStamp:()V // method@0773 │ │ -028ace: 5410 7303 |0009: iget-object v0, v1, Lutil/SuppressRepeatingsLogger;.nestedLogger:Lutil/LoggerInterface; // field@0373 │ │ -028ad2: 7220 3107 2000 |000b: invoke-interface {v0, v2}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0731 │ │ -028ad8: 0e00 |000e: return-void │ │ +028aa8: |[028aa8] util.SuppressRepeatingsLogger.logLine:(Ljava/lang/String;)V │ │ +028ab8: 7020 7a07 2100 |0000: invoke-direct {v1, v2}, Lutil/SuppressRepeatingsLogger;.repeatingLog:(Ljava/lang/String;)Z // method@077a │ │ +028abe: 0a00 |0003: move-result v0 │ │ +028ac0: 3900 0a00 |0004: if-nez v0, 000e // +000a │ │ +028ac4: 7010 7307 0100 |0006: invoke-direct {v1}, Lutil/SuppressRepeatingsLogger;.addTimeStamp:()V // method@0773 │ │ +028aca: 5410 7303 |0009: iget-object v0, v1, Lutil/SuppressRepeatingsLogger;.nestedLogger:Lutil/LoggerInterface; // field@0373 │ │ +028ace: 7220 3107 2000 |000b: invoke-interface {v0, v2}, Lutil/LoggerInterface;.logLine:(Ljava/lang/String;)V // method@0731 │ │ +028ad4: 0e00 |000e: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=83 │ │ 0x0006 line=84 │ │ 0x0009 line=85 │ │ locals : │ │ 0x0000 - 0x000f reg=1 this Lutil/SuppressRepeatingsLogger; │ │ @@ -58831,18 +58831,18 @@ │ │ type : '(Ljava/lang/String;)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 3 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 6 16-bit code units │ │ -028adc: |[028adc] util.SuppressRepeatingsLogger.message:(Ljava/lang/String;)V │ │ -028aec: 5410 7303 |0000: iget-object v0, v1, Lutil/SuppressRepeatingsLogger;.nestedLogger:Lutil/LoggerInterface; // field@0373 │ │ -028af0: 7220 3207 2000 |0002: invoke-interface {v0, v2}, Lutil/LoggerInterface;.message:(Ljava/lang/String;)V // method@0732 │ │ -028af6: 0e00 |0005: return-void │ │ +028ad8: |[028ad8] util.SuppressRepeatingsLogger.message:(Ljava/lang/String;)V │ │ +028ae8: 5410 7303 |0000: iget-object v0, v1, Lutil/SuppressRepeatingsLogger;.nestedLogger:Lutil/LoggerInterface; // field@0373 │ │ +028aec: 7220 3207 2000 |0002: invoke-interface {v0, v2}, Lutil/LoggerInterface;.message:(Ljava/lang/String;)V // method@0732 │ │ +028af2: 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; │ │ │ │ @@ -58851,17 +58851,17 @@ │ │ type : '(Lutil/LoggerInterface;)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 2 │ │ outs : 0 │ │ insns size : 3 16-bit code units │ │ -028af8: |[028af8] util.SuppressRepeatingsLogger.setNestedLogger:(Lutil/LoggerInterface;)V │ │ -028b08: 5b01 7303 |0000: iput-object v1, v0, Lutil/SuppressRepeatingsLogger;.nestedLogger:Lutil/LoggerInterface; // field@0373 │ │ -028b0c: 0e00 |0002: return-void │ │ +028af4: |[028af4] util.SuppressRepeatingsLogger.setNestedLogger:(Lutil/LoggerInterface;)V │ │ +028b04: 5b01 7303 |0000: iput-object v1, v0, Lutil/SuppressRepeatingsLogger;.nestedLogger:Lutil/LoggerInterface; // field@0373 │ │ +028b08: 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; │ │ │ │ @@ -58870,17 +58870,17 @@ │ │ type : '(J)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 3 │ │ ins : 3 │ │ outs : 0 │ │ insns size : 3 16-bit code units │ │ -028b10: |[028b10] util.SuppressRepeatingsLogger.setSuppressTime:(J)V │ │ -028b20: 5a01 7403 |0000: iput-wide v1, v0, Lutil/SuppressRepeatingsLogger;.timeRepeat:J // field@0374 │ │ -028b24: 0e00 |0002: return-void │ │ +028b0c: |[028b0c] util.SuppressRepeatingsLogger.setSuppressTime:(J)V │ │ +028b1c: 5a01 7403 |0000: iput-wide v1, v0, Lutil/SuppressRepeatingsLogger;.timeRepeat:J // field@0374 │ │ +028b20: 0e00 |0002: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=42 │ │ locals : │ │ 0x0000 - 0x0003 reg=0 this Lutil/SuppressRepeatingsLogger; │ │ 0x0000 - 0x0003 reg=1 (null) J │ │ │ │ @@ -58889,23 +58889,23 @@ │ │ type : '(Ljava/lang/String;)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 3 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 14 16-bit code units │ │ -028b28: |[028b28] util.SuppressRepeatingsLogger.setTimestampFormat:(Ljava/lang/String;)V │ │ -028b38: 3802 0a00 |0000: if-eqz v2, 000a // +000a │ │ -028b3c: 2200 5001 |0002: new-instance v0, Ljava/text/SimpleDateFormat; // type@0150 │ │ -028b40: 7020 1406 2000 |0004: invoke-direct {v0, v2}, Ljava/text/SimpleDateFormat;.:(Ljava/lang/String;)V // method@0614 │ │ -028b46: 5b10 6f03 |0007: iput-object v0, v1, Lutil/SuppressRepeatingsLogger;.dateFormatter:Ljava/text/DateFormat; // field@036f │ │ -028b4a: 2804 |0009: goto 000d // +0004 │ │ -028b4c: 1202 |000a: const/4 v2, #int 0 // #0 │ │ -028b4e: 5b12 6f03 |000b: iput-object v2, v1, Lutil/SuppressRepeatingsLogger;.dateFormatter:Ljava/text/DateFormat; // field@036f │ │ -028b52: 0e00 |000d: return-void │ │ +028b24: |[028b24] util.SuppressRepeatingsLogger.setTimestampFormat:(Ljava/lang/String;)V │ │ +028b34: 3802 0a00 |0000: if-eqz v2, 000a // +000a │ │ +028b38: 2200 5001 |0002: new-instance v0, Ljava/text/SimpleDateFormat; // type@0150 │ │ +028b3c: 7020 1406 2000 |0004: invoke-direct {v0, v2}, Ljava/text/SimpleDateFormat;.:(Ljava/lang/String;)V // method@0614 │ │ +028b42: 5b10 6f03 |0007: iput-object v0, v1, Lutil/SuppressRepeatingsLogger;.dateFormatter:Ljava/text/DateFormat; // field@036f │ │ +028b46: 2804 |0009: goto 000d // +0004 │ │ +028b48: 1202 |000a: const/4 v2, #int 0 // #0 │ │ +028b4a: 5b12 6f03 |000b: iput-object v2, v1, Lutil/SuppressRepeatingsLogger;.dateFormatter:Ljava/text/DateFormat; // field@036f │ │ +028b4e: 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; │ │ @@ -59052,38 +59052,38 @@ │ │ type : '()V' │ │ access : 0x10008 (STATIC CONSTRUCTOR) │ │ code - │ │ registers : 2 │ │ ins : 0 │ │ outs : 1 │ │ insns size : 50 16-bit code units │ │ -02a170: |[02a170] util.conpool.Connection.:()V │ │ -02a180: 1240 |0000: const/4 v0, #int 4 // #4 │ │ -02a182: 2300 9d01 |0001: new-array v0, v0, [B // type@019d │ │ -02a186: 2600 2900 0000 |0003: fill-array-data v0, 0000002c // +00000029 │ │ -02a18c: 6900 7e03 |0006: sput-object v0, Lutil/conpool/Connection;.NO_IP:[B // field@037e │ │ -02a190: 2200 5801 |0008: new-instance v0, Ljava/util/HashMap; // type@0158 │ │ -02a194: 7010 2406 0000 |000a: invoke-direct {v0}, Ljava/util/HashMap;.:()V // method@0624 │ │ -02a19a: 6900 8303 |000d: sput-object v0, Lutil/conpool/Connection;.connPooled:Ljava/util/HashMap; // field@0383 │ │ -02a19e: 2200 5901 |000f: new-instance v0, Ljava/util/HashSet; // type@0159 │ │ -02a1a2: 7010 2d06 0000 |0011: invoke-direct {v0}, Ljava/util/HashSet;.:()V // method@062d │ │ -02a1a8: 6900 8203 |0014: sput-object v0, Lutil/conpool/Connection;.connAcquired:Ljava/util/HashSet; // field@0382 │ │ -02a1ac: 7100 b307 0000 |0016: invoke-static {}, Lutil/conpool/Connection;.getCustomHosts:()Ljava/util/Hashtable; // method@07b3 │ │ -02a1b2: 0c00 |0019: move-result-object v0 │ │ -02a1b4: 6900 7c03 |001a: sput-object v0, Lutil/conpool/Connection;.CUSTOM_HOSTS:Ljava/util/Hashtable; // field@037c │ │ -02a1b8: 1200 |001c: const/4 v0, #int 0 // #0 │ │ -02a1ba: 6900 7d03 |001d: sput-object v0, Lutil/conpool/Connection;.CUSTOM_HOSTS_FILE_NAME:Ljava/lang/String; // field@037d │ │ -02a1be: 1301 2c01 |001f: const/16 v1, #int 300 // #12c │ │ -02a1c2: 6701 7f03 |0021: sput v1, Lutil/conpool/Connection;.POOLTIMEOUT_SECONDS:I // field@037f │ │ -02a1c6: 7100 8707 0000 |0023: invoke-static {}, Lutil/TimoutNotificator;.getNewInstance:()Lutil/TimoutNotificator; // method@0787 │ │ -02a1cc: 0c01 |0026: move-result-object v1 │ │ -02a1ce: 6901 9003 |0027: sput-object v1, Lutil/conpool/Connection;.toNotify:Lutil/TimoutNotificator; // field@0390 │ │ -02a1d2: 6900 8403 |0029: sput-object v0, Lutil/conpool/Connection;.defaultSSLSocketFactory:Ljavax/net/ssl/SSLSocketFactory; // field@0384 │ │ -02a1d6: 0e00 |002b: return-void │ │ -02a1d8: 0003 0100 0400 0000 0000 0000 |002c: array-data (6 units) │ │ +02a16c: |[02a16c] util.conpool.Connection.:()V │ │ +02a17c: 1240 |0000: const/4 v0, #int 4 // #4 │ │ +02a17e: 2300 9d01 |0001: new-array v0, v0, [B // type@019d │ │ +02a182: 2600 2900 0000 |0003: fill-array-data v0, 0000002c // +00000029 │ │ +02a188: 6900 7e03 |0006: sput-object v0, Lutil/conpool/Connection;.NO_IP:[B // field@037e │ │ +02a18c: 2200 5801 |0008: new-instance v0, Ljava/util/HashMap; // type@0158 │ │ +02a190: 7010 2406 0000 |000a: invoke-direct {v0}, Ljava/util/HashMap;.:()V // method@0624 │ │ +02a196: 6900 8303 |000d: sput-object v0, Lutil/conpool/Connection;.connPooled:Ljava/util/HashMap; // field@0383 │ │ +02a19a: 2200 5901 |000f: new-instance v0, Ljava/util/HashSet; // type@0159 │ │ +02a19e: 7010 2d06 0000 |0011: invoke-direct {v0}, Ljava/util/HashSet;.:()V // method@062d │ │ +02a1a4: 6900 8203 |0014: sput-object v0, Lutil/conpool/Connection;.connAcquired:Ljava/util/HashSet; // field@0382 │ │ +02a1a8: 7100 b307 0000 |0016: invoke-static {}, Lutil/conpool/Connection;.getCustomHosts:()Ljava/util/Hashtable; // method@07b3 │ │ +02a1ae: 0c00 |0019: move-result-object v0 │ │ +02a1b0: 6900 7c03 |001a: sput-object v0, Lutil/conpool/Connection;.CUSTOM_HOSTS:Ljava/util/Hashtable; // field@037c │ │ +02a1b4: 1200 |001c: const/4 v0, #int 0 // #0 │ │ +02a1b6: 6900 7d03 |001d: sput-object v0, Lutil/conpool/Connection;.CUSTOM_HOSTS_FILE_NAME:Ljava/lang/String; // field@037d │ │ +02a1ba: 1301 2c01 |001f: const/16 v1, #int 300 // #12c │ │ +02a1be: 6701 7f03 |0021: sput v1, Lutil/conpool/Connection;.POOLTIMEOUT_SECONDS:I // field@037f │ │ +02a1c2: 7100 8707 0000 |0023: invoke-static {}, Lutil/TimoutNotificator;.getNewInstance:()Lutil/TimoutNotificator; // method@0787 │ │ +02a1c8: 0c01 |0026: move-result-object v1 │ │ +02a1ca: 6901 9003 |0027: sput-object v1, Lutil/conpool/Connection;.toNotify:Lutil/TimoutNotificator; // field@0390 │ │ +02a1ce: 6900 8403 |0029: sput-object v0, Lutil/conpool/Connection;.defaultSSLSocketFactory:Ljavax/net/ssl/SSLSocketFactory; // field@0384 │ │ +02a1d2: 0e00 |002b: return-void │ │ +02a1d4: 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 │ │ @@ -59097,53 +59097,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 │ │ -02a1e4: |[02a1e4] util.conpool.Connection.:(Ljava/lang/String;IIZLjavax/net/ssl/SSLSocketFactory;Ljava/net/Proxy;)V │ │ -02a1f4: 7010 7305 0700 |0000: invoke-direct {v7}, Ljava/lang/Object;.:()V // method@0573 │ │ -02a1fa: 1200 |0003: const/4 v0, #int 0 // #0 │ │ -02a1fc: 5b70 8a03 |0004: iput-object v0, v7, Lutil/conpool/Connection;.socket:Ljava/net/Socket; // field@038a │ │ -02a200: 1211 |0006: const/4 v1, #int 1 // #1 │ │ -02a202: 5c71 8003 |0007: iput-boolean v1, v7, Lutil/conpool/Connection;.acquired:Z // field@0380 │ │ -02a206: 5c71 9103 |0009: iput-boolean v1, v7, Lutil/conpool/Connection;.valid:Z // field@0391 │ │ -02a20a: 1201 |000b: const/4 v1, #int 0 // #0 │ │ -02a20c: 5c71 8d03 |000c: iput-boolean v1, v7, Lutil/conpool/Connection;.ssl:Z // field@038d │ │ -02a210: 6201 7c03 |000e: sget-object v1, Lutil/conpool/Connection;.CUSTOM_HOSTS:Ljava/util/Hashtable; // field@037c │ │ -02a214: 3801 0800 |0010: if-eqz v1, 0018 // +0008 │ │ -02a218: 6e20 3706 8100 |0012: invoke-virtual {v1, v8}, Ljava/util/Hashtable;.get:(Ljava/lang/Object;)Ljava/lang/Object; // method@0637 │ │ -02a21e: 0c00 |0015: move-result-object v0 │ │ -02a220: 1f00 3701 |0016: check-cast v0, Ljava/net/InetAddress; // type@0137 │ │ -02a224: 3900 1100 |0018: if-nez v0, 0029 // +0011 │ │ -02a228: 6200 1b03 |001a: sget-object v0, Ljava/net/Proxy;.NO_PROXY:Ljava/net/Proxy; // field@031b │ │ -02a22c: 330d 0700 |001c: if-ne v13, v0, 0023 // +0007 │ │ -02a230: 7110 d305 0800 |001e: invoke-static {v8}, Ljava/net/InetAddress;.getByName:(Ljava/lang/String;)Ljava/net/InetAddress; // method@05d3 │ │ -02a236: 0c00 |0021: move-result-object v0 │ │ -02a238: 2807 |0022: goto 0029 // +0007 │ │ -02a23a: 6200 7e03 |0023: sget-object v0, Lutil/conpool/Connection;.NO_IP:[B // field@037e │ │ -02a23e: 7120 d105 0800 |0025: invoke-static {v8, v0}, Ljava/net/InetAddress;.getByAddress:(Ljava/lang/String;[B)Ljava/net/InetAddress; // method@05d1 │ │ -02a244: 0c00 |0028: move-result-object v0 │ │ -02a246: 2202 3801 |0029: new-instance v2, Ljava/net/InetSocketAddress; // type@0138 │ │ -02a24a: 7030 d805 0209 |002b: invoke-direct {v2, v0, v9}, Ljava/net/InetSocketAddress;.:(Ljava/net/InetAddress;I)V // method@05d8 │ │ -02a250: 7140 bf07 98db |002e: invoke-static {v8, v9, v11, v13}, Lutil/conpool/Connection;.poolKey:(Ljava/lang/String;IZLjava/net/Proxy;)Ljava/lang/String; // method@07bf │ │ -02a256: 0c08 |0031: move-result-object v8 │ │ -02a258: 5b78 8703 |0032: iput-object v8, v7, Lutil/conpool/Connection;.poolKey:Ljava/lang/String; // field@0387 │ │ -02a25c: 0771 |0034: move-object v1, v7 │ │ -02a25e: 01a3 |0035: move v3, v10 │ │ -02a260: 01b4 |0036: move v4, v11 │ │ -02a262: 07c5 |0037: move-object v5, v12 │ │ -02a264: 07d6 |0038: move-object v6, v13 │ │ -02a266: 7606 ba07 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@07ba │ │ -02a26c: 2208 9001 |003c: new-instance v8, Lutil/TimeoutTime; // type@0190 │ │ -02a270: 6209 9003 |003e: sget-object v9, Lutil/conpool/Connection;.toNotify:Lutil/TimoutNotificator; // field@0390 │ │ -02a274: 7020 8007 9800 |0040: invoke-direct {v8, v9}, Lutil/TimeoutTime;.:(Lutil/TimoutNotificator;)V // method@0780 │ │ -02a27a: 5b78 8f03 |0043: iput-object v8, v7, Lutil/conpool/Connection;.timeout:Lutil/TimeoutTime; // field@038f │ │ -02a27e: 0e00 |0045: return-void │ │ +02a1e0: |[02a1e0] util.conpool.Connection.:(Ljava/lang/String;IIZLjavax/net/ssl/SSLSocketFactory;Ljava/net/Proxy;)V │ │ +02a1f0: 7010 7305 0700 |0000: invoke-direct {v7}, Ljava/lang/Object;.:()V // method@0573 │ │ +02a1f6: 1200 |0003: const/4 v0, #int 0 // #0 │ │ +02a1f8: 5b70 8a03 |0004: iput-object v0, v7, Lutil/conpool/Connection;.socket:Ljava/net/Socket; // field@038a │ │ +02a1fc: 1211 |0006: const/4 v1, #int 1 // #1 │ │ +02a1fe: 5c71 8003 |0007: iput-boolean v1, v7, Lutil/conpool/Connection;.acquired:Z // field@0380 │ │ +02a202: 5c71 9103 |0009: iput-boolean v1, v7, Lutil/conpool/Connection;.valid:Z // field@0391 │ │ +02a206: 1201 |000b: const/4 v1, #int 0 // #0 │ │ +02a208: 5c71 8d03 |000c: iput-boolean v1, v7, Lutil/conpool/Connection;.ssl:Z // field@038d │ │ +02a20c: 6201 7c03 |000e: sget-object v1, Lutil/conpool/Connection;.CUSTOM_HOSTS:Ljava/util/Hashtable; // field@037c │ │ +02a210: 3801 0800 |0010: if-eqz v1, 0018 // +0008 │ │ +02a214: 6e20 3706 8100 |0012: invoke-virtual {v1, v8}, Ljava/util/Hashtable;.get:(Ljava/lang/Object;)Ljava/lang/Object; // method@0637 │ │ +02a21a: 0c00 |0015: move-result-object v0 │ │ +02a21c: 1f00 3701 |0016: check-cast v0, Ljava/net/InetAddress; // type@0137 │ │ +02a220: 3900 1100 |0018: if-nez v0, 0029 // +0011 │ │ +02a224: 6200 1b03 |001a: sget-object v0, Ljava/net/Proxy;.NO_PROXY:Ljava/net/Proxy; // field@031b │ │ +02a228: 330d 0700 |001c: if-ne v13, v0, 0023 // +0007 │ │ +02a22c: 7110 d305 0800 |001e: invoke-static {v8}, Ljava/net/InetAddress;.getByName:(Ljava/lang/String;)Ljava/net/InetAddress; // method@05d3 │ │ +02a232: 0c00 |0021: move-result-object v0 │ │ +02a234: 2807 |0022: goto 0029 // +0007 │ │ +02a236: 6200 7e03 |0023: sget-object v0, Lutil/conpool/Connection;.NO_IP:[B // field@037e │ │ +02a23a: 7120 d105 0800 |0025: invoke-static {v8, v0}, Ljava/net/InetAddress;.getByAddress:(Ljava/lang/String;[B)Ljava/net/InetAddress; // method@05d1 │ │ +02a240: 0c00 |0028: move-result-object v0 │ │ +02a242: 2202 3801 |0029: new-instance v2, Ljava/net/InetSocketAddress; // type@0138 │ │ +02a246: 7030 d805 0209 |002b: invoke-direct {v2, v0, v9}, Ljava/net/InetSocketAddress;.:(Ljava/net/InetAddress;I)V // method@05d8 │ │ +02a24c: 7140 bf07 98db |002e: invoke-static {v8, v9, v11, v13}, Lutil/conpool/Connection;.poolKey:(Ljava/lang/String;IZLjava/net/Proxy;)Ljava/lang/String; // method@07bf │ │ +02a252: 0c08 |0031: move-result-object v8 │ │ +02a254: 5b78 8703 |0032: iput-object v8, v7, Lutil/conpool/Connection;.poolKey:Ljava/lang/String; // field@0387 │ │ +02a258: 0771 |0034: move-object v1, v7 │ │ +02a25a: 01a3 |0035: move v3, v10 │ │ +02a25c: 01b4 |0036: move v4, v11 │ │ +02a25e: 07c5 |0037: move-object v5, v12 │ │ +02a260: 07d6 |0038: move-object v6, v13 │ │ +02a262: 7606 ba07 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@07ba │ │ +02a268: 2208 9001 |003c: new-instance v8, Lutil/TimeoutTime; // type@0190 │ │ +02a26c: 6209 9003 |003e: sget-object v9, Lutil/conpool/Connection;.toNotify:Lutil/TimoutNotificator; // field@0390 │ │ +02a270: 7020 8007 9800 |0040: invoke-direct {v8, v9}, Lutil/TimeoutTime;.:(Lutil/TimoutNotificator;)V // method@0780 │ │ +02a276: 5b78 8f03 |0043: iput-object v8, v7, Lutil/conpool/Connection;.timeout:Lutil/TimeoutTime; // field@038f │ │ +02a27a: 0e00 |0045: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=79 │ │ 0x0004 line=56 │ │ 0x0007 line=63 │ │ 0x0009 line=64 │ │ 0x000c line=65 │ │ @@ -59170,38 +59170,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 │ │ -02a280: |[02a280] util.conpool.Connection.:(Ljava/net/InetSocketAddress;IZLjavax/net/ssl/SSLSocketFactory;Ljava/net/Proxy;)V │ │ -02a290: 7010 7305 0200 |0000: invoke-direct {v2}, Ljava/lang/Object;.:()V // method@0573 │ │ -02a296: 1200 |0003: const/4 v0, #int 0 // #0 │ │ -02a298: 5b20 8a03 |0004: iput-object v0, v2, Lutil/conpool/Connection;.socket:Ljava/net/Socket; // field@038a │ │ -02a29c: 1210 |0006: const/4 v0, #int 1 // #1 │ │ -02a29e: 5c20 8003 |0007: iput-boolean v0, v2, Lutil/conpool/Connection;.acquired:Z // field@0380 │ │ -02a2a2: 5c20 9103 |0009: iput-boolean v0, v2, Lutil/conpool/Connection;.valid:Z // field@0391 │ │ -02a2a6: 1200 |000b: const/4 v0, #int 0 // #0 │ │ -02a2a8: 5c20 8d03 |000c: iput-boolean v0, v2, Lutil/conpool/Connection;.ssl:Z // field@038d │ │ -02a2ac: 6e10 da05 0300 |000e: invoke-virtual {v3}, Ljava/net/InetSocketAddress;.getAddress:()Ljava/net/InetAddress; // method@05da │ │ -02a2b2: 0c00 |0011: move-result-object v0 │ │ -02a2b4: 6e10 d405 0000 |0012: invoke-virtual {v0}, Ljava/net/InetAddress;.getHostAddress:()Ljava/lang/String; // method@05d4 │ │ -02a2ba: 0c00 |0015: move-result-object v0 │ │ -02a2bc: 6e10 dc05 0300 |0016: invoke-virtual {v3}, Ljava/net/InetSocketAddress;.getPort:()I // method@05dc │ │ -02a2c2: 0a01 |0019: move-result v1 │ │ -02a2c4: 7140 bf07 1075 |001a: invoke-static {v0, v1, v5, v7}, Lutil/conpool/Connection;.poolKey:(Ljava/lang/String;IZLjava/net/Proxy;)Ljava/lang/String; // method@07bf │ │ -02a2ca: 0c00 |001d: move-result-object v0 │ │ -02a2cc: 5b20 8703 |001e: iput-object v0, v2, Lutil/conpool/Connection;.poolKey:Ljava/lang/String; // field@0387 │ │ -02a2d0: 7606 ba07 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@07ba │ │ -02a2d6: 2203 9001 |0023: new-instance v3, Lutil/TimeoutTime; // type@0190 │ │ -02a2da: 6204 9003 |0025: sget-object v4, Lutil/conpool/Connection;.toNotify:Lutil/TimoutNotificator; // field@0390 │ │ -02a2de: 7020 8007 4300 |0027: invoke-direct {v3, v4}, Lutil/TimeoutTime;.:(Lutil/TimoutNotificator;)V // method@0780 │ │ -02a2e4: 5b23 8f03 |002a: iput-object v3, v2, Lutil/conpool/Connection;.timeout:Lutil/TimeoutTime; // field@038f │ │ -02a2e8: 0e00 |002c: return-void │ │ +02a27c: |[02a27c] util.conpool.Connection.:(Ljava/net/InetSocketAddress;IZLjavax/net/ssl/SSLSocketFactory;Ljava/net/Proxy;)V │ │ +02a28c: 7010 7305 0200 |0000: invoke-direct {v2}, Ljava/lang/Object;.:()V // method@0573 │ │ +02a292: 1200 |0003: const/4 v0, #int 0 // #0 │ │ +02a294: 5b20 8a03 |0004: iput-object v0, v2, Lutil/conpool/Connection;.socket:Ljava/net/Socket; // field@038a │ │ +02a298: 1210 |0006: const/4 v0, #int 1 // #1 │ │ +02a29a: 5c20 8003 |0007: iput-boolean v0, v2, Lutil/conpool/Connection;.acquired:Z // field@0380 │ │ +02a29e: 5c20 9103 |0009: iput-boolean v0, v2, Lutil/conpool/Connection;.valid:Z // field@0391 │ │ +02a2a2: 1200 |000b: const/4 v0, #int 0 // #0 │ │ +02a2a4: 5c20 8d03 |000c: iput-boolean v0, v2, Lutil/conpool/Connection;.ssl:Z // field@038d │ │ +02a2a8: 6e10 da05 0300 |000e: invoke-virtual {v3}, Ljava/net/InetSocketAddress;.getAddress:()Ljava/net/InetAddress; // method@05da │ │ +02a2ae: 0c00 |0011: move-result-object v0 │ │ +02a2b0: 6e10 d405 0000 |0012: invoke-virtual {v0}, Ljava/net/InetAddress;.getHostAddress:()Ljava/lang/String; // method@05d4 │ │ +02a2b6: 0c00 |0015: move-result-object v0 │ │ +02a2b8: 6e10 dc05 0300 |0016: invoke-virtual {v3}, Ljava/net/InetSocketAddress;.getPort:()I // method@05dc │ │ +02a2be: 0a01 |0019: move-result v1 │ │ +02a2c0: 7140 bf07 1075 |001a: invoke-static {v0, v1, v5, v7}, Lutil/conpool/Connection;.poolKey:(Ljava/lang/String;IZLjava/net/Proxy;)Ljava/lang/String; // method@07bf │ │ +02a2c6: 0c00 |001d: move-result-object v0 │ │ +02a2c8: 5b20 8703 |001e: iput-object v0, v2, Lutil/conpool/Connection;.poolKey:Ljava/lang/String; // field@0387 │ │ +02a2cc: 7606 ba07 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@07ba │ │ +02a2d2: 2203 9001 |0023: new-instance v3, Lutil/TimeoutTime; // type@0190 │ │ +02a2d6: 6204 9003 |0025: sget-object v4, Lutil/conpool/Connection;.toNotify:Lutil/TimoutNotificator; // field@0390 │ │ +02a2da: 7020 8007 4300 |0027: invoke-direct {v3, v4}, Lutil/TimeoutTime;.:(Lutil/TimoutNotificator;)V // method@0780 │ │ +02a2e0: 5b23 8f03 |002a: iput-object v3, v2, Lutil/conpool/Connection;.timeout:Lutil/TimeoutTime; // field@038f │ │ +02a2e4: 0e00 |002c: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=96 │ │ 0x0004 line=56 │ │ 0x0007 line=63 │ │ 0x0009 line=64 │ │ 0x000c line=65 │ │ @@ -59221,31 +59221,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 │ │ -02a2ec: |[02a2ec] util.conpool.Connection.addCustomHost:(Ljava/net/InetAddress;)V │ │ -02a2fc: 1c00 9301 |0000: const-class v0, Lutil/conpool/Connection; // type@0193 │ │ -02a300: 1d00 |0002: monitor-enter v0 │ │ -02a302: 6201 7c03 |0003: sget-object v1, Lutil/conpool/Connection;.CUSTOM_HOSTS:Ljava/util/Hashtable; // field@037c │ │ -02a306: 3901 0900 |0005: if-nez v1, 000e // +0009 │ │ -02a30a: 2201 5a01 |0007: new-instance v1, Ljava/util/Hashtable; // type@015a │ │ -02a30e: 7010 3606 0100 |0009: invoke-direct {v1}, Ljava/util/Hashtable;.:()V // method@0636 │ │ -02a314: 6901 7c03 |000c: sput-object v1, Lutil/conpool/Connection;.CUSTOM_HOSTS:Ljava/util/Hashtable; // field@037c │ │ -02a318: 6201 7c03 |000e: sget-object v1, Lutil/conpool/Connection;.CUSTOM_HOSTS:Ljava/util/Hashtable; // field@037c │ │ -02a31c: 6e10 d505 0300 |0010: invoke-virtual {v3}, Ljava/net/InetAddress;.getHostName:()Ljava/lang/String; // method@05d5 │ │ -02a322: 0c02 |0013: move-result-object v2 │ │ -02a324: 6e30 3806 2103 |0014: invoke-virtual {v1, v2, v3}, Ljava/util/Hashtable;.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; // method@0638 │ │ -02a32a: 1e00 |0017: monitor-exit v0 │ │ -02a32c: 0e00 |0018: return-void │ │ -02a32e: 0d03 |0019: move-exception v3 │ │ -02a330: 1e00 |001a: monitor-exit v0 │ │ -02a332: 2703 |001b: throw v3 │ │ +02a2e8: |[02a2e8] util.conpool.Connection.addCustomHost:(Ljava/net/InetAddress;)V │ │ +02a2f8: 1c00 9301 |0000: const-class v0, Lutil/conpool/Connection; // type@0193 │ │ +02a2fc: 1d00 |0002: monitor-enter v0 │ │ +02a2fe: 6201 7c03 |0003: sget-object v1, Lutil/conpool/Connection;.CUSTOM_HOSTS:Ljava/util/Hashtable; // field@037c │ │ +02a302: 3901 0900 |0005: if-nez v1, 000e // +0009 │ │ +02a306: 2201 5a01 |0007: new-instance v1, Ljava/util/Hashtable; // type@015a │ │ +02a30a: 7010 3606 0100 |0009: invoke-direct {v1}, Ljava/util/Hashtable;.:()V // method@0636 │ │ +02a310: 6901 7c03 |000c: sput-object v1, Lutil/conpool/Connection;.CUSTOM_HOSTS:Ljava/util/Hashtable; // field@037c │ │ +02a314: 6201 7c03 |000e: sget-object v1, Lutil/conpool/Connection;.CUSTOM_HOSTS:Ljava/util/Hashtable; // field@037c │ │ +02a318: 6e10 d505 0300 |0010: invoke-virtual {v3}, Ljava/net/InetAddress;.getHostName:()Ljava/lang/String; // method@05d5 │ │ +02a31e: 0c02 |0013: move-result-object v2 │ │ +02a320: 6e30 3806 2103 |0014: invoke-virtual {v1, v2, v3}, Ljava/util/Hashtable;.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; // method@0638 │ │ +02a326: 1e00 |0017: monitor-exit v0 │ │ +02a328: 0e00 |0018: return-void │ │ +02a32a: 0d03 |0019: move-exception v3 │ │ +02a32c: 1e00 |001a: monitor-exit v0 │ │ +02a32e: 2703 |001b: throw v3 │ │ catches : 1 │ │ 0x0003 - 0x0017 │ │ -> 0x0019 │ │ positions : │ │ 0x0003 line=155 │ │ 0x0007 line=156 │ │ 0x000e line=157 │ │ @@ -59258,26 +59258,26 @@ │ │ type : '()V' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 23 16-bit code units │ │ -02a340: |[02a340] util.conpool.Connection.closeConnection:()V │ │ -02a350: 1200 |0000: const/4 v0, #int 0 // #0 │ │ -02a352: 5c10 9103 |0001: iput-boolean v0, v1, Lutil/conpool/Connection;.valid:Z // field@0391 │ │ -02a356: 5510 8d03 |0003: iget-boolean v0, v1, Lutil/conpool/Connection;.ssl:Z // field@038d │ │ -02a35a: 3900 0c00 |0005: if-nez v0, 0011 // +000c │ │ -02a35e: 5410 8a03 |0007: iget-object v0, v1, Lutil/conpool/Connection;.socket:Ljava/net/Socket; // field@038a │ │ -02a362: 6e10 ef05 0000 |0009: invoke-virtual {v0}, Ljava/net/Socket;.shutdownOutput:()V // method@05ef │ │ -02a368: 5410 8a03 |000c: iget-object v0, v1, Lutil/conpool/Connection;.socket:Ljava/net/Socket; // field@038a │ │ -02a36c: 6e10 ee05 0000 |000e: invoke-virtual {v0}, Ljava/net/Socket;.shutdownInput:()V // method@05ee │ │ -02a372: 5410 8a03 |0011: iget-object v0, v1, Lutil/conpool/Connection;.socket:Ljava/net/Socket; // field@038a │ │ -02a376: 6e10 e805 0000 |0013: invoke-virtual {v0}, Ljava/net/Socket;.close:()V // method@05e8 │ │ -02a37c: 0e00 |0016: return-void │ │ +02a33c: |[02a33c] util.conpool.Connection.closeConnection:()V │ │ +02a34c: 1200 |0000: const/4 v0, #int 0 // #0 │ │ +02a34e: 5c10 9103 |0001: iput-boolean v0, v1, Lutil/conpool/Connection;.valid:Z // field@0391 │ │ +02a352: 5510 8d03 |0003: iget-boolean v0, v1, Lutil/conpool/Connection;.ssl:Z // field@038d │ │ +02a356: 3900 0c00 |0005: if-nez v0, 0011 // +000c │ │ +02a35a: 5410 8a03 |0007: iget-object v0, v1, Lutil/conpool/Connection;.socket:Ljava/net/Socket; // field@038a │ │ +02a35e: 6e10 ef05 0000 |0009: invoke-virtual {v0}, Ljava/net/Socket;.shutdownOutput:()V // method@05ef │ │ +02a364: 5410 8a03 |000c: iget-object v0, v1, Lutil/conpool/Connection;.socket:Ljava/net/Socket; // field@038a │ │ +02a368: 6e10 ee05 0000 |000e: invoke-virtual {v0}, Ljava/net/Socket;.shutdownInput:()V // method@05ee │ │ +02a36e: 5410 8a03 |0011: iget-object v0, v1, Lutil/conpool/Connection;.socket:Ljava/net/Socket; // field@038a │ │ +02a372: 6e10 e805 0000 |0013: invoke-virtual {v0}, Ljava/net/Socket;.close:()V // method@05e8 │ │ +02a378: 0e00 |0016: return-void │ │ catches : 1 │ │ 0x0001 - 0x0016 │ │ Ljava/io/IOException; -> 0x0016 │ │ positions : │ │ 0x0001 line=438 │ │ 0x0003 line=439 │ │ 0x0007 line=440 │ │ @@ -59291,24 +59291,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 │ │ -029f14: |[029f14] util.conpool.Connection.connect:(Ljava/lang/String;I)Lutil/conpool/Connection; │ │ -029f24: 1204 |0000: const/4 v4, #int 0 // #0 │ │ -029f26: 6205 1b03 |0001: sget-object v5, Ljava/net/Proxy;.NO_PROXY:Ljava/net/Proxy; // field@031b │ │ -029f2a: 12f2 |0003: const/4 v2, #int -1 // #ff │ │ -029f2c: 1203 |0004: const/4 v3, #int 0 // #0 │ │ -029f2e: 0760 |0005: move-object v0, v6 │ │ -029f30: 0171 |0006: move v1, v7 │ │ -029f32: 7706 ae07 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@07ae │ │ -029f38: 0c06 |000a: move-result-object v6 │ │ -029f3a: 1106 |000b: return-object v6 │ │ +029f10: |[029f10] util.conpool.Connection.connect:(Ljava/lang/String;I)Lutil/conpool/Connection; │ │ +029f20: 1204 |0000: const/4 v4, #int 0 // #0 │ │ +029f22: 6205 1b03 |0001: sget-object v5, Ljava/net/Proxy;.NO_PROXY:Ljava/net/Proxy; // field@031b │ │ +029f26: 12f2 |0003: const/4 v2, #int -1 // #ff │ │ +029f28: 1203 |0004: const/4 v3, #int 0 // #0 │ │ +029f2a: 0760 |0005: move-object v0, v6 │ │ +029f2c: 0171 |0006: move v1, v7 │ │ +029f2e: 7706 ae07 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@07ae │ │ +029f34: 0c06 |000a: move-result-object v6 │ │ +029f36: 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 │ │ │ │ @@ -59317,24 +59317,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 │ │ -029f3c: |[029f3c] util.conpool.Connection.connect:(Ljava/lang/String;II)Lutil/conpool/Connection; │ │ -029f4c: 1204 |0000: const/4 v4, #int 0 // #0 │ │ -029f4e: 6205 1b03 |0001: sget-object v5, Ljava/net/Proxy;.NO_PROXY:Ljava/net/Proxy; // field@031b │ │ -029f52: 1203 |0003: const/4 v3, #int 0 // #0 │ │ -029f54: 0760 |0004: move-object v0, v6 │ │ -029f56: 0171 |0005: move v1, v7 │ │ -029f58: 0182 |0006: move v2, v8 │ │ -029f5a: 7706 ae07 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@07ae │ │ -029f60: 0c06 |000a: move-result-object v6 │ │ -029f62: 1106 |000b: return-object v6 │ │ +029f38: |[029f38] util.conpool.Connection.connect:(Ljava/lang/String;II)Lutil/conpool/Connection; │ │ +029f48: 1204 |0000: const/4 v4, #int 0 // #0 │ │ +029f4a: 6205 1b03 |0001: sget-object v5, Ljava/net/Proxy;.NO_PROXY:Ljava/net/Proxy; // field@031b │ │ +029f4e: 1203 |0003: const/4 v3, #int 0 // #0 │ │ +029f50: 0760 |0004: move-object v0, v6 │ │ +029f52: 0171 |0005: move v1, v7 │ │ +029f54: 0182 |0006: move v2, v8 │ │ +029f56: 7706 ae07 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@07ae │ │ +029f5c: 0c06 |000a: move-result-object v6 │ │ +029f5e: 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 │ │ @@ -59344,39 +59344,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 │ │ -029f64: |[029f64] util.conpool.Connection.connect:(Ljava/lang/String;IIZLjavax/net/ssl/SSLSocketFactory;Ljava/net/Proxy;)Lutil/conpool/Connection; │ │ -029f74: 7140 bf07 98db |0000: invoke-static {v8, v9, v11, v13}, Lutil/conpool/Connection;.poolKey:(Ljava/lang/String;IZLjava/net/Proxy;)Ljava/lang/String; // method@07bf │ │ -029f7a: 0c00 |0003: move-result-object v0 │ │ -029f7c: 7110 c007 0000 |0004: invoke-static {v0}, Lutil/conpool/Connection;.poolRemove:(Ljava/lang/String;)Lutil/conpool/Connection; // method@07c0 │ │ -029f82: 0c00 |0007: move-result-object v0 │ │ -029f84: 3900 0e00 |0008: if-nez v0, 0016 // +000e │ │ -029f88: 2200 9301 |000a: new-instance v0, Lutil/conpool/Connection; // type@0193 │ │ -029f8c: 0701 |000c: move-object v1, v0 │ │ -029f8e: 0782 |000d: move-object v2, v8 │ │ -029f90: 0193 |000e: move v3, v9 │ │ -029f92: 01a4 |000f: move v4, v10 │ │ -029f94: 01b5 |0010: move v5, v11 │ │ -029f96: 07c6 |0011: move-object v6, v12 │ │ -029f98: 07d7 |0012: move-object v7, v13 │ │ -029f9a: 7607 a807 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@07a8 │ │ -029fa0: 7010 bb07 0000 |0016: invoke-direct {v0}, Lutil/conpool/Connection;.initStreams:()V // method@07bb │ │ -029fa6: 6208 8203 |0019: sget-object v8, Lutil/conpool/Connection;.connAcquired:Ljava/util/HashSet; // field@0382 │ │ -029faa: 1d08 |001b: monitor-enter v8 │ │ -029fac: 6209 8203 |001c: sget-object v9, Lutil/conpool/Connection;.connAcquired:Ljava/util/HashSet; // field@0382 │ │ -029fb0: 6e20 2e06 0900 |001e: invoke-virtual {v9, v0}, Ljava/util/HashSet;.add:(Ljava/lang/Object;)Z // method@062e │ │ -029fb6: 1e08 |0021: monitor-exit v8 │ │ -029fb8: 1100 |0022: return-object v0 │ │ -029fba: 0d09 |0023: move-exception v9 │ │ -029fbc: 1e08 |0024: monitor-exit v8 │ │ -029fbe: 2709 |0025: throw v9 │ │ +029f60: |[029f60] util.conpool.Connection.connect:(Ljava/lang/String;IIZLjavax/net/ssl/SSLSocketFactory;Ljava/net/Proxy;)Lutil/conpool/Connection; │ │ +029f70: 7140 bf07 98db |0000: invoke-static {v8, v9, v11, v13}, Lutil/conpool/Connection;.poolKey:(Ljava/lang/String;IZLjava/net/Proxy;)Ljava/lang/String; // method@07bf │ │ +029f76: 0c00 |0003: move-result-object v0 │ │ +029f78: 7110 c007 0000 |0004: invoke-static {v0}, Lutil/conpool/Connection;.poolRemove:(Ljava/lang/String;)Lutil/conpool/Connection; // method@07c0 │ │ +029f7e: 0c00 |0007: move-result-object v0 │ │ +029f80: 3900 0e00 |0008: if-nez v0, 0016 // +000e │ │ +029f84: 2200 9301 |000a: new-instance v0, Lutil/conpool/Connection; // type@0193 │ │ +029f88: 0701 |000c: move-object v1, v0 │ │ +029f8a: 0782 |000d: move-object v2, v8 │ │ +029f8c: 0193 |000e: move v3, v9 │ │ +029f8e: 01a4 |000f: move v4, v10 │ │ +029f90: 01b5 |0010: move v5, v11 │ │ +029f92: 07c6 |0011: move-object v6, v12 │ │ +029f94: 07d7 |0012: move-object v7, v13 │ │ +029f96: 7607 a807 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@07a8 │ │ +029f9c: 7010 bb07 0000 |0016: invoke-direct {v0}, Lutil/conpool/Connection;.initStreams:()V // method@07bb │ │ +029fa2: 6208 8203 |0019: sget-object v8, Lutil/conpool/Connection;.connAcquired:Ljava/util/HashSet; // field@0382 │ │ +029fa6: 1d08 |001b: monitor-enter v8 │ │ +029fa8: 6209 8203 |001c: sget-object v9, Lutil/conpool/Connection;.connAcquired:Ljava/util/HashSet; // field@0382 │ │ +029fac: 6e20 2e06 0900 |001e: invoke-virtual {v9, v0}, Ljava/util/HashSet;.add:(Ljava/lang/Object;)Z // method@062e │ │ +029fb2: 1e08 |0021: monitor-exit v8 │ │ +029fb4: 1100 |0022: return-object v0 │ │ +029fb6: 0d09 |0023: move-exception v9 │ │ +029fb8: 1e08 |0024: monitor-exit v8 │ │ +029fba: 2709 |0025: throw v9 │ │ catches : 1 │ │ 0x001c - 0x0025 │ │ -> 0x0023 │ │ positions : │ │ 0x0000 line=125 │ │ 0x000a line=127 │ │ 0x0016 line=129 │ │ @@ -59396,19 +59396,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 │ │ -029fcc: |[029fcc] util.conpool.Connection.connect:(Ljava/net/InetSocketAddress;)Lutil/conpool/Connection; │ │ -029fdc: 12f0 |0000: const/4 v0, #int -1 // #ff │ │ -029fde: 7120 b007 0100 |0001: invoke-static {v1, v0}, Lutil/conpool/Connection;.connect:(Ljava/net/InetSocketAddress;I)Lutil/conpool/Connection; // method@07b0 │ │ -029fe4: 0c01 |0004: move-result-object v1 │ │ -029fe6: 1101 |0005: return-object v1 │ │ +029fc8: |[029fc8] util.conpool.Connection.connect:(Ljava/net/InetSocketAddress;)Lutil/conpool/Connection; │ │ +029fd8: 12f0 |0000: const/4 v0, #int -1 // #ff │ │ +029fda: 7120 b007 0100 |0001: invoke-static {v1, v0}, Lutil/conpool/Connection;.connect:(Ljava/net/InetSocketAddress;I)Lutil/conpool/Connection; // method@07b0 │ │ +029fe0: 0c01 |0004: move-result-object v1 │ │ +029fe2: 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;) │ │ @@ -59416,21 +59416,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 │ │ -029fe8: |[029fe8] util.conpool.Connection.connect:(Ljava/net/InetSocketAddress;I)Lutil/conpool/Connection; │ │ -029ff8: 1200 |0000: const/4 v0, #int 0 // #0 │ │ -029ffa: 6201 1b03 |0001: sget-object v1, Ljava/net/Proxy;.NO_PROXY:Ljava/net/Proxy; // field@031b │ │ -029ffe: 1202 |0003: const/4 v2, #int 0 // #0 │ │ -02a000: 7151 b107 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@07b1 │ │ -02a006: 0c03 |0007: move-result-object v3 │ │ -02a008: 1103 |0008: return-object v3 │ │ +029fe4: |[029fe4] util.conpool.Connection.connect:(Ljava/net/InetSocketAddress;I)Lutil/conpool/Connection; │ │ +029ff4: 1200 |0000: const/4 v0, #int 0 // #0 │ │ +029ff6: 6201 1b03 |0001: sget-object v1, Ljava/net/Proxy;.NO_PROXY:Ljava/net/Proxy; // field@031b │ │ +029ffa: 1202 |0003: const/4 v2, #int 0 // #0 │ │ +029ffc: 7151 b107 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@07b1 │ │ +02a002: 0c03 |0007: move-result-object v3 │ │ +02a004: 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 │ │ │ │ @@ -59439,44 +59439,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 │ │ -02a00c: |[02a00c] util.conpool.Connection.connect:(Ljava/net/InetSocketAddress;IZLjavax/net/ssl/SSLSocketFactory;Ljava/net/Proxy;)Lutil/conpool/Connection; │ │ -02a01c: 6e10 da05 0700 |0000: invoke-virtual {v7}, Ljava/net/InetSocketAddress;.getAddress:()Ljava/net/InetAddress; // method@05da │ │ -02a022: 0c00 |0003: move-result-object v0 │ │ -02a024: 6e10 d405 0000 |0004: invoke-virtual {v0}, Ljava/net/InetAddress;.getHostAddress:()Ljava/lang/String; // method@05d4 │ │ -02a02a: 0c00 |0007: move-result-object v0 │ │ -02a02c: 6e10 dc05 0700 |0008: invoke-virtual {v7}, Ljava/net/InetSocketAddress;.getPort:()I // method@05dc │ │ -02a032: 0a01 |000b: move-result v1 │ │ -02a034: 7140 bf07 10b9 |000c: invoke-static {v0, v1, v9, v11}, Lutil/conpool/Connection;.poolKey:(Ljava/lang/String;IZLjava/net/Proxy;)Ljava/lang/String; // method@07bf │ │ -02a03a: 0c00 |000f: move-result-object v0 │ │ -02a03c: 7110 c007 0000 |0010: invoke-static {v0}, Lutil/conpool/Connection;.poolRemove:(Ljava/lang/String;)Lutil/conpool/Connection; // method@07c0 │ │ -02a042: 0c00 |0013: move-result-object v0 │ │ -02a044: 3900 0d00 |0014: if-nez v0, 0021 // +000d │ │ -02a048: 2200 9301 |0016: new-instance v0, Lutil/conpool/Connection; // type@0193 │ │ -02a04c: 0701 |0018: move-object v1, v0 │ │ -02a04e: 0772 |0019: move-object v2, v7 │ │ -02a050: 0183 |001a: move v3, v8 │ │ -02a052: 0194 |001b: move v4, v9 │ │ -02a054: 07a5 |001c: move-object v5, v10 │ │ -02a056: 07b6 |001d: move-object v6, v11 │ │ -02a058: 7606 a907 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@07a9 │ │ -02a05e: 7010 bb07 0000 |0021: invoke-direct {v0}, Lutil/conpool/Connection;.initStreams:()V // method@07bb │ │ -02a064: 6207 8203 |0024: sget-object v7, Lutil/conpool/Connection;.connAcquired:Ljava/util/HashSet; // field@0382 │ │ -02a068: 1d07 |0026: monitor-enter v7 │ │ -02a06a: 6208 8203 |0027: sget-object v8, Lutil/conpool/Connection;.connAcquired:Ljava/util/HashSet; // field@0382 │ │ -02a06e: 6e20 2e06 0800 |0029: invoke-virtual {v8, v0}, Ljava/util/HashSet;.add:(Ljava/lang/Object;)Z // method@062e │ │ -02a074: 1e07 |002c: monitor-exit v7 │ │ -02a076: 1100 |002d: return-object v0 │ │ -02a078: 0d08 |002e: move-exception v8 │ │ -02a07a: 1e07 |002f: monitor-exit v7 │ │ -02a07c: 2708 |0030: throw v8 │ │ +02a008: |[02a008] util.conpool.Connection.connect:(Ljava/net/InetSocketAddress;IZLjavax/net/ssl/SSLSocketFactory;Ljava/net/Proxy;)Lutil/conpool/Connection; │ │ +02a018: 6e10 da05 0700 |0000: invoke-virtual {v7}, Ljava/net/InetSocketAddress;.getAddress:()Ljava/net/InetAddress; // method@05da │ │ +02a01e: 0c00 |0003: move-result-object v0 │ │ +02a020: 6e10 d405 0000 |0004: invoke-virtual {v0}, Ljava/net/InetAddress;.getHostAddress:()Ljava/lang/String; // method@05d4 │ │ +02a026: 0c00 |0007: move-result-object v0 │ │ +02a028: 6e10 dc05 0700 |0008: invoke-virtual {v7}, Ljava/net/InetSocketAddress;.getPort:()I // method@05dc │ │ +02a02e: 0a01 |000b: move-result v1 │ │ +02a030: 7140 bf07 10b9 |000c: invoke-static {v0, v1, v9, v11}, Lutil/conpool/Connection;.poolKey:(Ljava/lang/String;IZLjava/net/Proxy;)Ljava/lang/String; // method@07bf │ │ +02a036: 0c00 |000f: move-result-object v0 │ │ +02a038: 7110 c007 0000 |0010: invoke-static {v0}, Lutil/conpool/Connection;.poolRemove:(Ljava/lang/String;)Lutil/conpool/Connection; // method@07c0 │ │ +02a03e: 0c00 |0013: move-result-object v0 │ │ +02a040: 3900 0d00 |0014: if-nez v0, 0021 // +000d │ │ +02a044: 2200 9301 |0016: new-instance v0, Lutil/conpool/Connection; // type@0193 │ │ +02a048: 0701 |0018: move-object v1, v0 │ │ +02a04a: 0772 |0019: move-object v2, v7 │ │ +02a04c: 0183 |001a: move v3, v8 │ │ +02a04e: 0194 |001b: move v4, v9 │ │ +02a050: 07a5 |001c: move-object v5, v10 │ │ +02a052: 07b6 |001d: move-object v6, v11 │ │ +02a054: 7606 a907 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@07a9 │ │ +02a05a: 7010 bb07 0000 |0021: invoke-direct {v0}, Lutil/conpool/Connection;.initStreams:()V // method@07bb │ │ +02a060: 6207 8203 |0024: sget-object v7, Lutil/conpool/Connection;.connAcquired:Ljava/util/HashSet; // field@0382 │ │ +02a064: 1d07 |0026: monitor-enter v7 │ │ +02a066: 6208 8203 |0027: sget-object v8, Lutil/conpool/Connection;.connAcquired:Ljava/util/HashSet; // field@0382 │ │ +02a06a: 6e20 2e06 0800 |0029: invoke-virtual {v8, v0}, Ljava/util/HashSet;.add:(Ljava/lang/Object;)Z // method@062e │ │ +02a070: 1e07 |002c: monitor-exit v7 │ │ +02a072: 1100 |002d: return-object v0 │ │ +02a074: 0d08 |002e: move-exception v8 │ │ +02a076: 1e07 |002f: monitor-exit v7 │ │ +02a078: 2708 |0030: throw v8 │ │ catches : 1 │ │ 0x0027 - 0x0030 │ │ -> 0x002e │ │ positions : │ │ 0x0000 line=104 │ │ 0x0016 line=106 │ │ 0x0021 line=108 │ │ @@ -59495,95 +59495,95 @@ │ │ type : '()V' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 7 │ │ ins : 1 │ │ outs : 5 │ │ insns size : 163 16-bit code units │ │ -02a390: |[02a390] util.conpool.Connection.establishConnection:()V │ │ -02a3a0: 5260 8103 |0000: iget v0, v6, Lutil/conpool/Connection;.conTimeout:I // field@0381 │ │ -02a3a4: 1201 |0002: const/4 v1, #int 0 // #0 │ │ -02a3a6: 3b00 0400 |0003: if-gez v0, 0007 // +0004 │ │ -02a3aa: 5961 8103 |0005: iput v1, v6, Lutil/conpool/Connection;.conTimeout:I // field@0381 │ │ -02a3ae: 5460 8803 |0007: iget-object v0, v6, Lutil/conpool/Connection;.proxy:Ljava/net/Proxy; // field@0388 │ │ -02a3b2: 6202 1b03 |0009: sget-object v2, Ljava/net/Proxy;.NO_PROXY:Ljava/net/Proxy; // field@031b │ │ -02a3b6: 1213 |000b: const/4 v3, #int 1 // #1 │ │ -02a3b8: 3320 1f00 |000c: if-ne v0, v2, 002b // +001f │ │ -02a3bc: 7100 1106 0000 |000e: invoke-static {}, Ljava/nio/channels/SocketChannel;.open:()Ljava/nio/channels/SocketChannel; // method@0611 │ │ -02a3c2: 0c00 |0011: move-result-object v0 │ │ -02a3c4: 6e10 1206 0000 |0012: invoke-virtual {v0}, Ljava/nio/channels/SocketChannel;.socket:()Ljava/net/Socket; // method@0612 │ │ -02a3ca: 0c00 |0015: move-result-object v0 │ │ -02a3cc: 5b60 8a03 |0016: iput-object v0, v6, Lutil/conpool/Connection;.socket:Ljava/net/Socket; // field@038a │ │ -02a3d0: 7100 d206 0000 |0018: invoke-static {}, Lutil/ExecutionEnvironment;.getEnvironment:()Lutil/ExecutionEnvironmentInterface; // method@06d2 │ │ -02a3d6: 0c00 |001b: move-result-object v0 │ │ -02a3d8: 5462 8a03 |001c: iget-object v2, v6, Lutil/conpool/Connection;.socket:Ljava/net/Socket; // field@038a │ │ -02a3dc: 7230 e606 2001 |001e: invoke-interface {v0, v2, v1}, Lutil/ExecutionEnvironmentInterface;.protectSocket:(Ljava/lang/Object;I)Z // method@06e6 │ │ -02a3e2: 5460 8a03 |0021: iget-object v0, v6, Lutil/conpool/Connection;.socket:Ljava/net/Socket; // field@038a │ │ -02a3e6: 5462 8903 |0023: iget-object v2, v6, Lutil/conpool/Connection;.sadr:Ljava/net/InetSocketAddress; // field@0389 │ │ -02a3ea: 5264 8103 |0025: iget v4, v6, Lutil/conpool/Connection;.conTimeout:I // field@0381 │ │ -02a3ee: 6e30 e905 2004 |0027: invoke-virtual {v0, v2, v4}, Ljava/net/Socket;.connect:(Ljava/net/SocketAddress;I)V // method@05e9 │ │ -02a3f4: 2813 |002a: goto 003d // +0013 │ │ -02a3f6: 5460 8803 |002b: iget-object v0, v6, Lutil/conpool/Connection;.proxy:Ljava/net/Proxy; // field@0388 │ │ -02a3fa: 2002 9401 |002d: instance-of v2, v0, Lutil/conpool/HttpProxy; // type@0194 │ │ -02a3fe: 3802 5500 |002f: if-eqz v2, 0084 // +0055 │ │ -02a402: 1f00 9401 |0031: check-cast v0, Lutil/conpool/HttpProxy; // type@0194 │ │ -02a406: 5462 8903 |0033: iget-object v2, v6, Lutil/conpool/Connection;.sadr:Ljava/net/InetSocketAddress; // field@0389 │ │ -02a40a: 5264 8103 |0035: iget v4, v6, Lutil/conpool/Connection;.conTimeout:I // field@0381 │ │ -02a40e: 6e40 cb07 2034 |0037: invoke-virtual {v0, v2, v4, v3}, Lutil/conpool/HttpProxy;.openTunnel:(Ljava/net/InetSocketAddress;IZ)Ljava/net/Socket; // method@07cb │ │ -02a414: 0c00 |003a: move-result-object v0 │ │ -02a416: 5b60 8a03 |003b: iput-object v0, v6, Lutil/conpool/Connection;.socket:Ljava/net/Socket; // field@038a │ │ -02a41a: 5560 8d03 |003d: iget-boolean v0, v6, Lutil/conpool/Connection;.ssl:Z // field@038d │ │ -02a41e: 3800 2b00 |003f: if-eqz v0, 006a // +002b │ │ -02a422: 5460 8a03 |0041: iget-object v0, v6, Lutil/conpool/Connection;.socket:Ljava/net/Socket; // field@038a │ │ -02a426: 5262 8103 |0043: iget v2, v6, Lutil/conpool/Connection;.conTimeout:I // field@0381 │ │ -02a42a: 6e20 ed05 2000 |0045: invoke-virtual {v0, v2}, Ljava/net/Socket;.setSoTimeout:(I)V // method@05ed │ │ -02a430: 5460 8e03 |0048: iget-object v0, v6, Lutil/conpool/Connection;.sslSocketFactory:Ljavax/net/ssl/SSLSocketFactory; // field@038e │ │ -02a434: 3900 0800 |004a: if-nez v0, 0052 // +0008 │ │ -02a438: 7010 b407 0600 |004c: invoke-direct {v6}, Lutil/conpool/Connection;.getDefaultSSLSocketFactory:()Ljavax/net/ssl/SSLSocketFactory; // method@07b4 │ │ -02a43e: 0c00 |004f: move-result-object v0 │ │ -02a440: 5b60 8e03 |0050: iput-object v0, v6, Lutil/conpool/Connection;.sslSocketFactory:Ljavax/net/ssl/SSLSocketFactory; // field@038e │ │ -02a444: 5460 8e03 |0052: iget-object v0, v6, Lutil/conpool/Connection;.sslSocketFactory:Ljavax/net/ssl/SSLSocketFactory; // field@038e │ │ -02a448: 5462 8a03 |0054: iget-object v2, v6, Lutil/conpool/Connection;.socket:Ljava/net/Socket; // field@038a │ │ -02a44c: 5464 8903 |0056: iget-object v4, v6, Lutil/conpool/Connection;.sadr:Ljava/net/InetSocketAddress; // field@0389 │ │ -02a450: 6e10 db05 0400 |0058: invoke-virtual {v4}, Ljava/net/InetSocketAddress;.getHostName:()Ljava/lang/String; // method@05db │ │ -02a456: 0c04 |005b: move-result-object v4 │ │ -02a458: 5465 8903 |005c: iget-object v5, v6, Lutil/conpool/Connection;.sadr:Ljava/net/InetSocketAddress; // field@0389 │ │ -02a45c: 6e10 dc05 0500 |005e: invoke-virtual {v5}, Ljava/net/InetSocketAddress;.getPort:()I // method@05dc │ │ -02a462: 0a05 |0061: move-result v5 │ │ -02a464: 6e53 a806 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@06a8 │ │ -02a46a: 0c00 |0065: move-result-object v0 │ │ -02a46c: 5b60 8a03 |0066: iput-object v0, v6, Lutil/conpool/Connection;.socket:Ljava/net/Socket; // field@038a │ │ -02a470: 5c63 8d03 |0068: iput-boolean v3, v6, Lutil/conpool/Connection;.ssl:Z // field@038d │ │ -02a474: 5460 8a03 |006a: iget-object v0, v6, Lutil/conpool/Connection;.socket:Ljava/net/Socket; // field@038a │ │ -02a478: 6e10 ea05 0000 |006c: invoke-virtual {v0}, Ljava/net/Socket;.getInputStream:()Ljava/io/InputStream; // method@05ea │ │ -02a47e: 0c00 |006f: move-result-object v0 │ │ -02a480: 5b60 8b03 |0070: iput-object v0, v6, Lutil/conpool/Connection;.socketIn:Ljava/io/InputStream; // field@038b │ │ -02a484: 5460 8a03 |0072: iget-object v0, v6, Lutil/conpool/Connection;.socket:Ljava/net/Socket; // field@038a │ │ -02a488: 6e10 eb05 0000 |0074: invoke-virtual {v0}, Ljava/net/Socket;.getOutputStream:()Ljava/io/OutputStream; // method@05eb │ │ -02a48e: 0c00 |0077: move-result-object v0 │ │ -02a490: 5b60 8c03 |0078: iput-object v0, v6, Lutil/conpool/Connection;.socketOut:Ljava/io/OutputStream; // field@038c │ │ -02a494: 5560 8d03 |007a: iget-boolean v0, v6, Lutil/conpool/Connection;.ssl:Z // field@038d │ │ -02a498: 3800 0700 |007c: if-eqz v0, 0083 // +0007 │ │ -02a49c: 5460 8a03 |007e: iget-object v0, v6, Lutil/conpool/Connection;.socket:Ljava/net/Socket; // field@038a │ │ -02a4a0: 6e20 ed05 1000 |0080: invoke-virtual {v0, v1}, Ljava/net/Socket;.setSoTimeout:(I)V // method@05ed │ │ -02a4a6: 0e00 |0083: return-void │ │ -02a4a8: 2200 0001 |0084: new-instance v0, Ljava/io/IOException; // type@0100 │ │ -02a4ac: 2201 2d01 |0086: new-instance v1, Ljava/lang/StringBuilder; // type@012d │ │ -02a4b0: 1a02 fe03 |0088: const-string v2, "Only " // string@03fe │ │ -02a4b4: 7020 a805 2100 |008a: invoke-direct {v1, v2}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05a8 │ │ -02a4ba: 1c02 9401 |008d: const-class v2, Lutil/conpool/HttpProxy; // type@0194 │ │ -02a4be: 6e10 5405 0200 |008f: invoke-virtual {v2}, Ljava/lang/Class;.getName:()Ljava/lang/String; // method@0554 │ │ -02a4c4: 0c02 |0092: move-result-object v2 │ │ -02a4c6: 6e20 ad05 2100 |0093: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -02a4cc: 1a02 2600 |0096: const-string v2, " supported for creating connection over tunnel!" // string@0026 │ │ -02a4d0: 6e20 ad05 2100 |0098: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -02a4d6: 6e10 af05 0100 |009b: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ -02a4dc: 0c01 |009e: move-result-object v1 │ │ -02a4de: 7020 1f05 1000 |009f: invoke-direct {v0, v1}, Ljava/io/IOException;.:(Ljava/lang/String;)V // method@051f │ │ -02a4e4: 2700 |00a2: throw v0 │ │ +02a38c: |[02a38c] util.conpool.Connection.establishConnection:()V │ │ +02a39c: 5260 8103 |0000: iget v0, v6, Lutil/conpool/Connection;.conTimeout:I // field@0381 │ │ +02a3a0: 1201 |0002: const/4 v1, #int 0 // #0 │ │ +02a3a2: 3b00 0400 |0003: if-gez v0, 0007 // +0004 │ │ +02a3a6: 5961 8103 |0005: iput v1, v6, Lutil/conpool/Connection;.conTimeout:I // field@0381 │ │ +02a3aa: 5460 8803 |0007: iget-object v0, v6, Lutil/conpool/Connection;.proxy:Ljava/net/Proxy; // field@0388 │ │ +02a3ae: 6202 1b03 |0009: sget-object v2, Ljava/net/Proxy;.NO_PROXY:Ljava/net/Proxy; // field@031b │ │ +02a3b2: 1213 |000b: const/4 v3, #int 1 // #1 │ │ +02a3b4: 3320 1f00 |000c: if-ne v0, v2, 002b // +001f │ │ +02a3b8: 7100 1106 0000 |000e: invoke-static {}, Ljava/nio/channels/SocketChannel;.open:()Ljava/nio/channels/SocketChannel; // method@0611 │ │ +02a3be: 0c00 |0011: move-result-object v0 │ │ +02a3c0: 6e10 1206 0000 |0012: invoke-virtual {v0}, Ljava/nio/channels/SocketChannel;.socket:()Ljava/net/Socket; // method@0612 │ │ +02a3c6: 0c00 |0015: move-result-object v0 │ │ +02a3c8: 5b60 8a03 |0016: iput-object v0, v6, Lutil/conpool/Connection;.socket:Ljava/net/Socket; // field@038a │ │ +02a3cc: 7100 d206 0000 |0018: invoke-static {}, Lutil/ExecutionEnvironment;.getEnvironment:()Lutil/ExecutionEnvironmentInterface; // method@06d2 │ │ +02a3d2: 0c00 |001b: move-result-object v0 │ │ +02a3d4: 5462 8a03 |001c: iget-object v2, v6, Lutil/conpool/Connection;.socket:Ljava/net/Socket; // field@038a │ │ +02a3d8: 7230 e606 2001 |001e: invoke-interface {v0, v2, v1}, Lutil/ExecutionEnvironmentInterface;.protectSocket:(Ljava/lang/Object;I)Z // method@06e6 │ │ +02a3de: 5460 8a03 |0021: iget-object v0, v6, Lutil/conpool/Connection;.socket:Ljava/net/Socket; // field@038a │ │ +02a3e2: 5462 8903 |0023: iget-object v2, v6, Lutil/conpool/Connection;.sadr:Ljava/net/InetSocketAddress; // field@0389 │ │ +02a3e6: 5264 8103 |0025: iget v4, v6, Lutil/conpool/Connection;.conTimeout:I // field@0381 │ │ +02a3ea: 6e30 e905 2004 |0027: invoke-virtual {v0, v2, v4}, Ljava/net/Socket;.connect:(Ljava/net/SocketAddress;I)V // method@05e9 │ │ +02a3f0: 2813 |002a: goto 003d // +0013 │ │ +02a3f2: 5460 8803 |002b: iget-object v0, v6, Lutil/conpool/Connection;.proxy:Ljava/net/Proxy; // field@0388 │ │ +02a3f6: 2002 9401 |002d: instance-of v2, v0, Lutil/conpool/HttpProxy; // type@0194 │ │ +02a3fa: 3802 5500 |002f: if-eqz v2, 0084 // +0055 │ │ +02a3fe: 1f00 9401 |0031: check-cast v0, Lutil/conpool/HttpProxy; // type@0194 │ │ +02a402: 5462 8903 |0033: iget-object v2, v6, Lutil/conpool/Connection;.sadr:Ljava/net/InetSocketAddress; // field@0389 │ │ +02a406: 5264 8103 |0035: iget v4, v6, Lutil/conpool/Connection;.conTimeout:I // field@0381 │ │ +02a40a: 6e40 cb07 2034 |0037: invoke-virtual {v0, v2, v4, v3}, Lutil/conpool/HttpProxy;.openTunnel:(Ljava/net/InetSocketAddress;IZ)Ljava/net/Socket; // method@07cb │ │ +02a410: 0c00 |003a: move-result-object v0 │ │ +02a412: 5b60 8a03 |003b: iput-object v0, v6, Lutil/conpool/Connection;.socket:Ljava/net/Socket; // field@038a │ │ +02a416: 5560 8d03 |003d: iget-boolean v0, v6, Lutil/conpool/Connection;.ssl:Z // field@038d │ │ +02a41a: 3800 2b00 |003f: if-eqz v0, 006a // +002b │ │ +02a41e: 5460 8a03 |0041: iget-object v0, v6, Lutil/conpool/Connection;.socket:Ljava/net/Socket; // field@038a │ │ +02a422: 5262 8103 |0043: iget v2, v6, Lutil/conpool/Connection;.conTimeout:I // field@0381 │ │ +02a426: 6e20 ed05 2000 |0045: invoke-virtual {v0, v2}, Ljava/net/Socket;.setSoTimeout:(I)V // method@05ed │ │ +02a42c: 5460 8e03 |0048: iget-object v0, v6, Lutil/conpool/Connection;.sslSocketFactory:Ljavax/net/ssl/SSLSocketFactory; // field@038e │ │ +02a430: 3900 0800 |004a: if-nez v0, 0052 // +0008 │ │ +02a434: 7010 b407 0600 |004c: invoke-direct {v6}, Lutil/conpool/Connection;.getDefaultSSLSocketFactory:()Ljavax/net/ssl/SSLSocketFactory; // method@07b4 │ │ +02a43a: 0c00 |004f: move-result-object v0 │ │ +02a43c: 5b60 8e03 |0050: iput-object v0, v6, Lutil/conpool/Connection;.sslSocketFactory:Ljavax/net/ssl/SSLSocketFactory; // field@038e │ │ +02a440: 5460 8e03 |0052: iget-object v0, v6, Lutil/conpool/Connection;.sslSocketFactory:Ljavax/net/ssl/SSLSocketFactory; // field@038e │ │ +02a444: 5462 8a03 |0054: iget-object v2, v6, Lutil/conpool/Connection;.socket:Ljava/net/Socket; // field@038a │ │ +02a448: 5464 8903 |0056: iget-object v4, v6, Lutil/conpool/Connection;.sadr:Ljava/net/InetSocketAddress; // field@0389 │ │ +02a44c: 6e10 db05 0400 |0058: invoke-virtual {v4}, Ljava/net/InetSocketAddress;.getHostName:()Ljava/lang/String; // method@05db │ │ +02a452: 0c04 |005b: move-result-object v4 │ │ +02a454: 5465 8903 |005c: iget-object v5, v6, Lutil/conpool/Connection;.sadr:Ljava/net/InetSocketAddress; // field@0389 │ │ +02a458: 6e10 dc05 0500 |005e: invoke-virtual {v5}, Ljava/net/InetSocketAddress;.getPort:()I // method@05dc │ │ +02a45e: 0a05 |0061: move-result v5 │ │ +02a460: 6e53 a806 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@06a8 │ │ +02a466: 0c00 |0065: move-result-object v0 │ │ +02a468: 5b60 8a03 |0066: iput-object v0, v6, Lutil/conpool/Connection;.socket:Ljava/net/Socket; // field@038a │ │ +02a46c: 5c63 8d03 |0068: iput-boolean v3, v6, Lutil/conpool/Connection;.ssl:Z // field@038d │ │ +02a470: 5460 8a03 |006a: iget-object v0, v6, Lutil/conpool/Connection;.socket:Ljava/net/Socket; // field@038a │ │ +02a474: 6e10 ea05 0000 |006c: invoke-virtual {v0}, Ljava/net/Socket;.getInputStream:()Ljava/io/InputStream; // method@05ea │ │ +02a47a: 0c00 |006f: move-result-object v0 │ │ +02a47c: 5b60 8b03 |0070: iput-object v0, v6, Lutil/conpool/Connection;.socketIn:Ljava/io/InputStream; // field@038b │ │ +02a480: 5460 8a03 |0072: iget-object v0, v6, Lutil/conpool/Connection;.socket:Ljava/net/Socket; // field@038a │ │ +02a484: 6e10 eb05 0000 |0074: invoke-virtual {v0}, Ljava/net/Socket;.getOutputStream:()Ljava/io/OutputStream; // method@05eb │ │ +02a48a: 0c00 |0077: move-result-object v0 │ │ +02a48c: 5b60 8c03 |0078: iput-object v0, v6, Lutil/conpool/Connection;.socketOut:Ljava/io/OutputStream; // field@038c │ │ +02a490: 5560 8d03 |007a: iget-boolean v0, v6, Lutil/conpool/Connection;.ssl:Z // field@038d │ │ +02a494: 3800 0700 |007c: if-eqz v0, 0083 // +0007 │ │ +02a498: 5460 8a03 |007e: iget-object v0, v6, Lutil/conpool/Connection;.socket:Ljava/net/Socket; // field@038a │ │ +02a49c: 6e20 ed05 1000 |0080: invoke-virtual {v0, v1}, Ljava/net/Socket;.setSoTimeout:(I)V // method@05ed │ │ +02a4a2: 0e00 |0083: return-void │ │ +02a4a4: 2200 0001 |0084: new-instance v0, Ljava/io/IOException; // type@0100 │ │ +02a4a8: 2201 2d01 |0086: new-instance v1, Ljava/lang/StringBuilder; // type@012d │ │ +02a4ac: 1a02 fe03 |0088: const-string v2, "Only " // string@03fe │ │ +02a4b0: 7020 a805 2100 |008a: invoke-direct {v1, v2}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@05a8 │ │ +02a4b6: 1c02 9401 |008d: const-class v2, Lutil/conpool/HttpProxy; // type@0194 │ │ +02a4ba: 6e10 5405 0200 |008f: invoke-virtual {v2}, Ljava/lang/Class;.getName:()Ljava/lang/String; // method@0554 │ │ +02a4c0: 0c02 |0092: move-result-object v2 │ │ +02a4c2: 6e20 ad05 2100 |0093: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +02a4c8: 1a02 2600 |0096: const-string v2, " supported for creating connection over tunnel!" // string@0026 │ │ +02a4cc: 6e20 ad05 2100 |0098: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +02a4d2: 6e10 af05 0100 |009b: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ +02a4d8: 0c01 |009e: move-result-object v1 │ │ +02a4da: 7020 1f05 1000 |009f: invoke-direct {v0, v1}, Ljava/io/IOException;.:(Ljava/lang/String;)V // method@051f │ │ +02a4e0: 2700 |00a2: throw v0 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=236 │ │ 0x0005 line=237 │ │ 0x0007 line=239 │ │ 0x000e line=240 │ │ 0x0018 line=241 │ │ @@ -59609,65 +59609,65 @@ │ │ type : '()Ljava/util/Hashtable;' │ │ access : 0x000a (PRIVATE STATIC) │ │ code - │ │ registers : 5 │ │ ins : 0 │ │ outs : 3 │ │ insns size : 98 16-bit code units │ │ -029d18: |[029d18] util.conpool.Connection.getCustomHosts:()Ljava/util/Hashtable; │ │ -029d28: 6200 7d03 |0000: sget-object v0, Lutil/conpool/Connection;.CUSTOM_HOSTS_FILE_NAME:Ljava/lang/String; // field@037d │ │ -029d2c: 1201 |0002: const/4 v1, #int 0 // #0 │ │ -029d2e: 3900 0300 |0003: if-nez v0, 0006 // +0003 │ │ -029d32: 1101 |0005: return-object v1 │ │ -029d34: 2200 fb00 |0006: new-instance v0, Ljava/io/File; // type@00fb │ │ -029d38: 2202 2d01 |0008: new-instance v2, Ljava/lang/StringBuilder; // type@012d │ │ -029d3c: 7010 a705 0200 |000a: invoke-direct {v2}, Ljava/lang/StringBuilder;.:()V // method@05a7 │ │ -029d42: 7100 d206 0000 |000d: invoke-static {}, Lutil/ExecutionEnvironment;.getEnvironment:()Lutil/ExecutionEnvironmentInterface; // method@06d2 │ │ -029d48: 0c03 |0010: move-result-object v3 │ │ -029d4a: 7210 e206 0300 |0011: invoke-interface {v3}, Lutil/ExecutionEnvironmentInterface;.getWorkDir:()Ljava/lang/String; // method@06e2 │ │ -029d50: 0c03 |0014: move-result-object v3 │ │ -029d52: 6e20 ad05 3200 |0015: invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -029d58: 6203 7d03 |0018: sget-object v3, Lutil/conpool/Connection;.CUSTOM_HOSTS_FILE_NAME:Ljava/lang/String; // field@037d │ │ -029d5c: 6e20 ad05 3200 |001a: invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -029d62: 6e10 af05 0200 |001d: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ -029d68: 0c02 |0020: move-result-object v2 │ │ -029d6a: 7020 ff04 2000 |0021: invoke-direct {v0, v2}, Ljava/io/File;.:(Ljava/lang/String;)V // method@04ff │ │ -029d70: 6e10 0505 0000 |0024: invoke-virtual {v0}, Ljava/io/File;.exists:()Z // method@0505 │ │ -029d76: 0a02 |0027: move-result v2 │ │ -029d78: 3802 3900 |0028: if-eqz v2, 0061 // +0039 │ │ -029d7c: 2202 5a01 |002a: new-instance v2, Ljava/util/Hashtable; // type@015a │ │ -029d80: 7010 3606 0200 |002c: invoke-direct {v2}, Ljava/util/Hashtable;.:()V // method@0636 │ │ -029d86: 2201 f400 |002f: new-instance v1, Ljava/io/BufferedReader; // type@00f4 │ │ -029d8a: 2203 0201 |0031: new-instance v3, Ljava/io/InputStreamReader; // type@0102 │ │ -029d8e: 2204 fd00 |0033: new-instance v4, Ljava/io/FileInputStream; // type@00fd │ │ -029d92: 7020 1105 0400 |0035: invoke-direct {v4, v0}, Ljava/io/FileInputStream;.:(Ljava/io/File;)V // method@0511 │ │ -029d98: 7020 2b05 4300 |0038: invoke-direct {v3, v4}, Ljava/io/InputStreamReader;.:(Ljava/io/InputStream;)V // method@052b │ │ -029d9e: 7020 d804 3100 |003b: invoke-direct {v1, v3}, Ljava/io/BufferedReader;.:(Ljava/io/Reader;)V // method@04d8 │ │ -029da4: 6e10 da04 0100 |003e: invoke-virtual {v1}, Ljava/io/BufferedReader;.readLine:()Ljava/lang/String; // method@04da │ │ -029daa: 0c00 |0041: move-result-object v0 │ │ -029dac: 3800 1600 |0042: if-eqz v0, 0058 // +0016 │ │ -029db0: 7110 be07 0000 |0044: invoke-static {v0}, Lutil/conpool/Connection;.parseHosts:(Ljava/lang/String;)[Ljava/lang/String; // method@07be │ │ -029db6: 0c00 |0047: move-result-object v0 │ │ -029db8: 3800 f6ff |0048: if-eqz v0, 003e // -000a │ │ -029dbc: 1213 |004a: const/4 v3, #int 1 // #1 │ │ -029dbe: 4603 0003 |004b: aget-object v3, v0, v3 │ │ -029dc2: 1204 |004d: const/4 v4, #int 0 // #0 │ │ -029dc4: 4600 0004 |004e: aget-object v0, v0, v4 │ │ -029dc8: 7110 d305 0000 |0050: invoke-static {v0}, Ljava/net/InetAddress;.getByName:(Ljava/lang/String;)Ljava/net/InetAddress; // method@05d3 │ │ -029dce: 0c00 |0053: move-result-object v0 │ │ -029dd0: 6e30 3806 3200 |0054: invoke-virtual {v2, v3, v0}, Ljava/util/Hashtable;.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; // method@0638 │ │ -029dd6: 28e7 |0057: goto 003e // -0019 │ │ -029dd8: 0721 |0058: move-object v1, v2 │ │ -029dda: 2808 |0059: goto 0061 // +0008 │ │ -029ddc: 0d00 |005a: move-exception v0 │ │ -029dde: 0721 |005b: move-object v1, v2 │ │ -029de0: 2802 |005c: goto 005e // +0002 │ │ -029de2: 0d00 |005d: move-exception v0 │ │ -029de4: 6e10 2305 0000 |005e: invoke-virtual {v0}, Ljava/io/IOException;.printStackTrace:()V // method@0523 │ │ -029dea: 1101 |0061: return-object v1 │ │ +029d14: |[029d14] util.conpool.Connection.getCustomHosts:()Ljava/util/Hashtable; │ │ +029d24: 6200 7d03 |0000: sget-object v0, Lutil/conpool/Connection;.CUSTOM_HOSTS_FILE_NAME:Ljava/lang/String; // field@037d │ │ +029d28: 1201 |0002: const/4 v1, #int 0 // #0 │ │ +029d2a: 3900 0300 |0003: if-nez v0, 0006 // +0003 │ │ +029d2e: 1101 |0005: return-object v1 │ │ +029d30: 2200 fb00 |0006: new-instance v0, Ljava/io/File; // type@00fb │ │ +029d34: 2202 2d01 |0008: new-instance v2, Ljava/lang/StringBuilder; // type@012d │ │ +029d38: 7010 a705 0200 |000a: invoke-direct {v2}, Ljava/lang/StringBuilder;.:()V // method@05a7 │ │ +029d3e: 7100 d206 0000 |000d: invoke-static {}, Lutil/ExecutionEnvironment;.getEnvironment:()Lutil/ExecutionEnvironmentInterface; // method@06d2 │ │ +029d44: 0c03 |0010: move-result-object v3 │ │ +029d46: 7210 e206 0300 |0011: invoke-interface {v3}, Lutil/ExecutionEnvironmentInterface;.getWorkDir:()Ljava/lang/String; // method@06e2 │ │ +029d4c: 0c03 |0014: move-result-object v3 │ │ +029d4e: 6e20 ad05 3200 |0015: invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +029d54: 6203 7d03 |0018: sget-object v3, Lutil/conpool/Connection;.CUSTOM_HOSTS_FILE_NAME:Ljava/lang/String; // field@037d │ │ +029d58: 6e20 ad05 3200 |001a: invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +029d5e: 6e10 af05 0200 |001d: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ +029d64: 0c02 |0020: move-result-object v2 │ │ +029d66: 7020 ff04 2000 |0021: invoke-direct {v0, v2}, Ljava/io/File;.:(Ljava/lang/String;)V // method@04ff │ │ +029d6c: 6e10 0505 0000 |0024: invoke-virtual {v0}, Ljava/io/File;.exists:()Z // method@0505 │ │ +029d72: 0a02 |0027: move-result v2 │ │ +029d74: 3802 3900 |0028: if-eqz v2, 0061 // +0039 │ │ +029d78: 2202 5a01 |002a: new-instance v2, Ljava/util/Hashtable; // type@015a │ │ +029d7c: 7010 3606 0200 |002c: invoke-direct {v2}, Ljava/util/Hashtable;.:()V // method@0636 │ │ +029d82: 2201 f400 |002f: new-instance v1, Ljava/io/BufferedReader; // type@00f4 │ │ +029d86: 2203 0201 |0031: new-instance v3, Ljava/io/InputStreamReader; // type@0102 │ │ +029d8a: 2204 fd00 |0033: new-instance v4, Ljava/io/FileInputStream; // type@00fd │ │ +029d8e: 7020 1105 0400 |0035: invoke-direct {v4, v0}, Ljava/io/FileInputStream;.:(Ljava/io/File;)V // method@0511 │ │ +029d94: 7020 2b05 4300 |0038: invoke-direct {v3, v4}, Ljava/io/InputStreamReader;.:(Ljava/io/InputStream;)V // method@052b │ │ +029d9a: 7020 d804 3100 |003b: invoke-direct {v1, v3}, Ljava/io/BufferedReader;.:(Ljava/io/Reader;)V // method@04d8 │ │ +029da0: 6e10 da04 0100 |003e: invoke-virtual {v1}, Ljava/io/BufferedReader;.readLine:()Ljava/lang/String; // method@04da │ │ +029da6: 0c00 |0041: move-result-object v0 │ │ +029da8: 3800 1600 |0042: if-eqz v0, 0058 // +0016 │ │ +029dac: 7110 be07 0000 |0044: invoke-static {v0}, Lutil/conpool/Connection;.parseHosts:(Ljava/lang/String;)[Ljava/lang/String; // method@07be │ │ +029db2: 0c00 |0047: move-result-object v0 │ │ +029db4: 3800 f6ff |0048: if-eqz v0, 003e // -000a │ │ +029db8: 1213 |004a: const/4 v3, #int 1 // #1 │ │ +029dba: 4603 0003 |004b: aget-object v3, v0, v3 │ │ +029dbe: 1204 |004d: const/4 v4, #int 0 // #0 │ │ +029dc0: 4600 0004 |004e: aget-object v0, v0, v4 │ │ +029dc4: 7110 d305 0000 |0050: invoke-static {v0}, Ljava/net/InetAddress;.getByName:(Ljava/lang/String;)Ljava/net/InetAddress; // method@05d3 │ │ +029dca: 0c00 |0053: move-result-object v0 │ │ +029dcc: 6e30 3806 3200 |0054: invoke-virtual {v2, v3, v0}, Ljava/util/Hashtable;.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; // method@0638 │ │ +029dd2: 28e7 |0057: goto 003e // -0019 │ │ +029dd4: 0721 |0058: move-object v1, v2 │ │ +029dd6: 2808 |0059: goto 0061 // +0008 │ │ +029dd8: 0d00 |005a: move-exception v0 │ │ +029dda: 0721 |005b: move-object v1, v2 │ │ +029ddc: 2802 |005c: goto 005e // +0002 │ │ +029dde: 0d00 |005d: move-exception v0 │ │ +029de0: 6e10 2305 0000 |005e: invoke-virtual {v0}, Ljava/io/IOException;.printStackTrace:()V // method@0523 │ │ +029de6: 1101 |0061: return-object v1 │ │ catches : 2 │ │ 0x0024 - 0x002f │ │ Ljava/io/IOException; -> 0x005d │ │ 0x002f - 0x0057 │ │ Ljava/io/IOException; -> 0x005a │ │ positions : │ │ 0x0000 line=166 │ │ @@ -59686,47 +59686,47 @@ │ │ type : '()Ljavax/net/ssl/SSLSocketFactory;' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 4 │ │ ins : 1 │ │ outs : 3 │ │ insns size : 60 16-bit code units │ │ -029e08: |[029e08] util.conpool.Connection.getDefaultSSLSocketFactory:()Ljavax/net/ssl/SSLSocketFactory; │ │ -029e18: 6200 8403 |0000: sget-object v0, Lutil/conpool/Connection;.defaultSSLSocketFactory:Ljavax/net/ssl/SSLSocketFactory; // field@0384 │ │ -029e1c: 3800 0300 |0002: if-eqz v0, 0005 // +0003 │ │ -029e20: 1100 |0004: return-object v0 │ │ -029e22: 7100 d206 0000 |0005: invoke-static {}, Lutil/ExecutionEnvironment;.getEnvironment:()Lutil/ExecutionEnvironmentInterface; // method@06d2 │ │ -029e28: 0c00 |0008: move-result-object v0 │ │ -029e2a: 7210 e006 0000 |0009: invoke-interface {v0}, Lutil/ExecutionEnvironmentInterface;.getEnvironmentID:()I // method@06e0 │ │ -029e30: 0a00 |000c: move-result v0 │ │ -029e32: 1211 |000d: const/4 v1, #int 1 // #1 │ │ -029e34: 3310 1a00 |000e: if-ne v0, v1, 0028 // +001a │ │ -029e38: 7100 d206 0000 |0010: invoke-static {}, Lutil/ExecutionEnvironment;.getEnvironment:()Lutil/ExecutionEnvironmentInterface; // method@06d2 │ │ -029e3e: 0c00 |0013: move-result-object v0 │ │ -029e40: 7210 e106 0000 |0014: invoke-interface {v0}, Lutil/ExecutionEnvironmentInterface;.getEnvironmentVersion:()Ljava/lang/String; // method@06e1 │ │ -029e46: 0c00 |0017: move-result-object v0 │ │ -029e48: 7110 6505 0000 |0018: invoke-static {v0}, Ljava/lang/Integer;.parseInt:(Ljava/lang/String;)I // method@0565 │ │ -029e4e: 0a00 |001b: move-result v0 │ │ -029e50: 1301 1500 |001c: const/16 v1, #int 21 // #15 │ │ -029e54: 3510 0a00 |001e: if-ge v0, v1, 0028 // +000a │ │ -029e58: 2200 9701 |0020: new-instance v0, Lutil/conpool/TLSSocketFactory; // type@0197 │ │ -029e5c: 7010 dc07 0000 |0022: invoke-direct {v0}, Lutil/conpool/TLSSocketFactory;.:()V // method@07dc │ │ -029e62: 6900 8403 |0025: sput-object v0, Lutil/conpool/Connection;.defaultSSLSocketFactory:Ljavax/net/ssl/SSLSocketFactory; // field@0384 │ │ -029e66: 2809 |0027: goto 0030 // +0009 │ │ -029e68: 7100 a906 0000 |0028: invoke-static {}, Ljavax/net/ssl/SSLSocketFactory;.getDefault:()Ljavax/net/SocketFactory; // method@06a9 │ │ -029e6e: 0c00 |002b: move-result-object v0 │ │ -029e70: 1f00 7a01 |002c: check-cast v0, Ljavax/net/ssl/SSLSocketFactory; // type@017a │ │ -029e74: 6900 8403 |002e: sput-object v0, Lutil/conpool/Connection;.defaultSSLSocketFactory:Ljavax/net/ssl/SSLSocketFactory; // field@0384 │ │ -029e78: 6200 8403 |0030: sget-object v0, Lutil/conpool/Connection;.defaultSSLSocketFactory:Ljavax/net/ssl/SSLSocketFactory; // field@0384 │ │ -029e7c: 1100 |0032: return-object v0 │ │ -029e7e: 0d00 |0033: move-exception v0 │ │ -029e80: 2201 0001 |0034: new-instance v1, Ljava/io/IOException; // type@0100 │ │ -029e84: 1a02 f300 |0036: const-string v2, "Cannot get TLSSocketFactory" // string@00f3 │ │ -029e88: 7030 2005 2100 |0038: invoke-direct {v1, v2, v0}, Ljava/io/IOException;.:(Ljava/lang/String;Ljava/lang/Throwable;)V // method@0520 │ │ -029e8e: 2701 |003b: throw v1 │ │ +029e04: |[029e04] util.conpool.Connection.getDefaultSSLSocketFactory:()Ljavax/net/ssl/SSLSocketFactory; │ │ +029e14: 6200 8403 |0000: sget-object v0, Lutil/conpool/Connection;.defaultSSLSocketFactory:Ljavax/net/ssl/SSLSocketFactory; // field@0384 │ │ +029e18: 3800 0300 |0002: if-eqz v0, 0005 // +0003 │ │ +029e1c: 1100 |0004: return-object v0 │ │ +029e1e: 7100 d206 0000 |0005: invoke-static {}, Lutil/ExecutionEnvironment;.getEnvironment:()Lutil/ExecutionEnvironmentInterface; // method@06d2 │ │ +029e24: 0c00 |0008: move-result-object v0 │ │ +029e26: 7210 e006 0000 |0009: invoke-interface {v0}, Lutil/ExecutionEnvironmentInterface;.getEnvironmentID:()I // method@06e0 │ │ +029e2c: 0a00 |000c: move-result v0 │ │ +029e2e: 1211 |000d: const/4 v1, #int 1 // #1 │ │ +029e30: 3310 1a00 |000e: if-ne v0, v1, 0028 // +001a │ │ +029e34: 7100 d206 0000 |0010: invoke-static {}, Lutil/ExecutionEnvironment;.getEnvironment:()Lutil/ExecutionEnvironmentInterface; // method@06d2 │ │ +029e3a: 0c00 |0013: move-result-object v0 │ │ +029e3c: 7210 e106 0000 |0014: invoke-interface {v0}, Lutil/ExecutionEnvironmentInterface;.getEnvironmentVersion:()Ljava/lang/String; // method@06e1 │ │ +029e42: 0c00 |0017: move-result-object v0 │ │ +029e44: 7110 6505 0000 |0018: invoke-static {v0}, Ljava/lang/Integer;.parseInt:(Ljava/lang/String;)I // method@0565 │ │ +029e4a: 0a00 |001b: move-result v0 │ │ +029e4c: 1301 1500 |001c: const/16 v1, #int 21 // #15 │ │ +029e50: 3510 0a00 |001e: if-ge v0, v1, 0028 // +000a │ │ +029e54: 2200 9701 |0020: new-instance v0, Lutil/conpool/TLSSocketFactory; // type@0197 │ │ +029e58: 7010 dc07 0000 |0022: invoke-direct {v0}, Lutil/conpool/TLSSocketFactory;.:()V // method@07dc │ │ +029e5e: 6900 8403 |0025: sput-object v0, Lutil/conpool/Connection;.defaultSSLSocketFactory:Ljavax/net/ssl/SSLSocketFactory; // field@0384 │ │ +029e62: 2809 |0027: goto 0030 // +0009 │ │ +029e64: 7100 a906 0000 |0028: invoke-static {}, Ljavax/net/ssl/SSLSocketFactory;.getDefault:()Ljavax/net/SocketFactory; // method@06a9 │ │ +029e6a: 0c00 |002b: move-result-object v0 │ │ +029e6c: 1f00 7a01 |002c: check-cast v0, Ljavax/net/ssl/SSLSocketFactory; // type@017a │ │ +029e70: 6900 8403 |002e: sput-object v0, Lutil/conpool/Connection;.defaultSSLSocketFactory:Ljavax/net/ssl/SSLSocketFactory; // field@0384 │ │ +029e74: 6200 8403 |0030: sget-object v0, Lutil/conpool/Connection;.defaultSSLSocketFactory:Ljavax/net/ssl/SSLSocketFactory; // field@0384 │ │ +029e78: 1100 |0032: return-object v0 │ │ +029e7a: 0d00 |0033: move-exception v0 │ │ +029e7c: 2201 0001 |0034: new-instance v1, Ljava/io/IOException; // type@0100 │ │ +029e80: 1a02 f300 |0036: const-string v2, "Cannot get TLSSocketFactory" // string@00f3 │ │ +029e84: 7030 2005 2100 |0038: invoke-direct {v1, v2, v0}, Ljava/io/IOException;.:(Ljava/lang/String;Ljava/lang/Throwable;)V // method@0520 │ │ +029e8a: 2701 |003b: throw v1 │ │ catches : 1 │ │ 0x0020 - 0x0032 │ │ Ljava/lang/Exception; -> 0x0033 │ │ positions : │ │ 0x0000 line=217 │ │ 0x0005 line=220 │ │ 0x0010 line=221 │ │ @@ -59742,22 +59742,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 │ │ -02a4e8: |[02a4e8] util.conpool.Connection.initConnection:(Ljava/net/InetSocketAddress;IZLjavax/net/ssl/SSLSocketFactory;Ljava/net/Proxy;)V │ │ -02a4f8: 5b01 8903 |0000: iput-object v1, v0, Lutil/conpool/Connection;.sadr:Ljava/net/InetSocketAddress; // field@0389 │ │ -02a4fc: 5902 8103 |0002: iput v2, v0, Lutil/conpool/Connection;.conTimeout:I // field@0381 │ │ -02a500: 5c03 8d03 |0004: iput-boolean v3, v0, Lutil/conpool/Connection;.ssl:Z // field@038d │ │ -02a504: 5b04 8e03 |0006: iput-object v4, v0, Lutil/conpool/Connection;.sslSocketFactory:Ljavax/net/ssl/SSLSocketFactory; // field@038e │ │ -02a508: 5b05 8803 |0008: iput-object v5, v0, Lutil/conpool/Connection;.proxy:Ljava/net/Proxy; // field@0388 │ │ -02a50c: 7010 b207 0000 |000a: invoke-direct {v0}, Lutil/conpool/Connection;.establishConnection:()V // method@07b2 │ │ -02a512: 0e00 |000d: return-void │ │ +02a4e4: |[02a4e4] util.conpool.Connection.initConnection:(Ljava/net/InetSocketAddress;IZLjavax/net/ssl/SSLSocketFactory;Ljava/net/Proxy;)V │ │ +02a4f4: 5b01 8903 |0000: iput-object v1, v0, Lutil/conpool/Connection;.sadr:Ljava/net/InetSocketAddress; // field@0389 │ │ +02a4f8: 5902 8103 |0002: iput v2, v0, Lutil/conpool/Connection;.conTimeout:I // field@0381 │ │ +02a4fc: 5c03 8d03 |0004: iput-boolean v3, v0, Lutil/conpool/Connection;.ssl:Z // field@038d │ │ +02a500: 5b04 8e03 |0006: iput-object v4, v0, Lutil/conpool/Connection;.sslSocketFactory:Ljavax/net/ssl/SSLSocketFactory; // field@038e │ │ +02a504: 5b05 8803 |0008: iput-object v5, v0, Lutil/conpool/Connection;.proxy:Ljava/net/Proxy; // field@0388 │ │ +02a508: 7010 b207 0000 |000a: invoke-direct {v0}, Lutil/conpool/Connection;.establishConnection:()V // method@07b2 │ │ +02a50e: 0e00 |000d: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=206 │ │ 0x0002 line=207 │ │ 0x0004 line=208 │ │ 0x0006 line=209 │ │ 0x0008 line=210 │ │ @@ -59775,24 +59775,24 @@ │ │ type : '()V' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 3 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 19 16-bit code units │ │ -02a514: |[02a514] util.conpool.Connection.initStreams:()V │ │ -02a524: 2200 9501 |0000: new-instance v0, Lutil/conpool/PooledConnectionInputStream; // type@0195 │ │ -02a528: 5421 8b03 |0002: iget-object v1, v2, Lutil/conpool/Connection;.socketIn:Ljava/io/InputStream; // field@038b │ │ -02a52c: 7020 cd07 1000 |0004: invoke-direct {v0, v1}, Lutil/conpool/PooledConnectionInputStream;.:(Ljava/io/InputStream;)V // method@07cd │ │ -02a532: 5b20 8503 |0007: iput-object v0, v2, Lutil/conpool/Connection;.in:Lutil/conpool/PooledConnectionInputStream; // field@0385 │ │ -02a536: 2200 9601 |0009: new-instance v0, Lutil/conpool/PooledConnectionOutputStream; // type@0196 │ │ -02a53a: 5421 8c03 |000b: iget-object v1, v2, Lutil/conpool/Connection;.socketOut:Ljava/io/OutputStream; // field@038c │ │ -02a53e: 7020 d407 1000 |000d: invoke-direct {v0, v1}, Lutil/conpool/PooledConnectionOutputStream;.:(Ljava/io/OutputStream;)V // method@07d4 │ │ -02a544: 5b20 8603 |0010: iput-object v0, v2, Lutil/conpool/Connection;.out:Lutil/conpool/PooledConnectionOutputStream; // field@0386 │ │ -02a548: 0e00 |0012: return-void │ │ +02a510: |[02a510] util.conpool.Connection.initStreams:()V │ │ +02a520: 2200 9501 |0000: new-instance v0, Lutil/conpool/PooledConnectionInputStream; // type@0195 │ │ +02a524: 5421 8b03 |0002: iget-object v1, v2, Lutil/conpool/Connection;.socketIn:Ljava/io/InputStream; // field@038b │ │ +02a528: 7020 cd07 1000 |0004: invoke-direct {v0, v1}, Lutil/conpool/PooledConnectionInputStream;.:(Ljava/io/InputStream;)V // method@07cd │ │ +02a52e: 5b20 8503 |0007: iput-object v0, v2, Lutil/conpool/Connection;.in:Lutil/conpool/PooledConnectionInputStream; // field@0385 │ │ +02a532: 2200 9601 |0009: new-instance v0, Lutil/conpool/PooledConnectionOutputStream; // type@0196 │ │ +02a536: 5421 8c03 |000b: iget-object v1, v2, Lutil/conpool/Connection;.socketOut:Ljava/io/OutputStream; // field@038c │ │ +02a53a: 7020 d407 1000 |000d: invoke-direct {v0, v1}, Lutil/conpool/PooledConnectionOutputStream;.:(Ljava/io/OutputStream;)V // method@07d4 │ │ +02a540: 5b20 8603 |0010: iput-object v0, v2, Lutil/conpool/Connection;.out:Lutil/conpool/PooledConnectionOutputStream; // field@0386 │ │ +02a544: 0e00 |0012: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=293 │ │ 0x0009 line=294 │ │ locals : │ │ 0x0000 - 0x0013 reg=2 this Lutil/conpool/Connection; │ │ │ │ @@ -59801,96 +59801,96 @@ │ │ type : '()V' │ │ access : 0x0009 (PUBLIC STATIC) │ │ code - │ │ registers : 10 │ │ ins : 0 │ │ outs : 2 │ │ insns size : 144 16-bit code units │ │ -02a54c: |[02a54c] util.conpool.Connection.invalidate:()V │ │ -02a55c: 2200 6a01 |0000: new-instance v0, Ljava/util/Vector; // type@016a │ │ -02a560: 7010 7506 0000 |0002: invoke-direct {v0}, Ljava/util/Vector;.:()V // method@0675 │ │ -02a566: 6201 8303 |0005: sget-object v1, Lutil/conpool/Connection;.connPooled:Ljava/util/HashMap; // field@0383 │ │ -02a56a: 1d01 |0007: monitor-enter v1 │ │ -02a56c: 6202 8203 |0008: sget-object v2, Lutil/conpool/Connection;.connAcquired:Ljava/util/HashSet; // field@0382 │ │ -02a570: 1d02 |000a: monitor-enter v2 │ │ -02a572: 6203 8303 |000b: sget-object v3, Lutil/conpool/Connection;.connPooled:Ljava/util/HashMap; // field@0383 │ │ -02a576: 6e10 2c06 0300 |000d: invoke-virtual {v3}, Ljava/util/HashMap;.values:()Ljava/util/Collection; // method@062c │ │ -02a57c: 0c03 |0010: move-result-object v3 │ │ -02a57e: 1204 |0011: const/4 v4, #int 0 // #0 │ │ -02a580: 2345 b101 |0012: new-array v5, v4, [Ljava/util/Vector; // type@01b1 │ │ -02a584: 7220 1e06 5300 |0014: invoke-interface {v3, v5}, Ljava/util/Collection;.toArray:([Ljava/lang/Object;)[Ljava/lang/Object; // method@061e │ │ -02a58a: 0c03 |0017: move-result-object v3 │ │ -02a58c: 1f03 b101 |0018: check-cast v3, [Ljava/util/Vector; // type@01b1 │ │ -02a590: 1205 |001a: const/4 v5, #int 0 // #0 │ │ -02a592: 2136 |001b: array-length v6, v3 │ │ -02a594: 3565 2f00 |001c: if-ge v5, v6, 004b // +002f │ │ -02a598: 4606 0305 |001e: aget-object v6, v3, v5 │ │ -02a59c: 6e10 8206 0600 |0020: invoke-virtual {v6}, Ljava/util/Vector;.size:()I // method@0682 │ │ -02a5a2: 0a07 |0023: move-result v7 │ │ -02a5a4: 2377 b701 |0024: new-array v7, v7, [Lutil/conpool/Connection; // type@01b7 │ │ -02a5a8: 6e20 8306 7600 |0026: invoke-virtual {v6, v7}, Ljava/util/Vector;.toArray:([Ljava/lang/Object;)[Ljava/lang/Object; // method@0683 │ │ -02a5ae: 0c06 |0029: move-result-object v6 │ │ -02a5b0: 1f06 b701 |002a: check-cast v6, [Lutil/conpool/Connection; // type@01b7 │ │ -02a5b4: 1207 |002c: const/4 v7, #int 0 // #0 │ │ -02a5b6: 2168 |002d: array-length v8, v6 │ │ -02a5b8: 3587 1300 |002e: if-ge v7, v8, 0041 // +0013 │ │ -02a5bc: 4608 0607 |0030: aget-object v8, v6, v7 │ │ -02a5c0: 6e20 7706 8000 |0032: invoke-virtual {v0, v8}, Ljava/util/Vector;.add:(Ljava/lang/Object;)Z // method@0677 │ │ -02a5c6: 4608 0607 |0035: aget-object v8, v6, v7 │ │ -02a5ca: 5c84 9103 |0037: iput-boolean v4, v8, Lutil/conpool/Connection;.valid:Z // field@0391 │ │ -02a5ce: 4609 0305 |0039: aget-object v9, v3, v5 │ │ -02a5d2: 6e20 8006 8900 |003b: invoke-virtual {v9, v8}, Ljava/util/Vector;.remove:(Ljava/lang/Object;)Z // method@0680 │ │ -02a5d8: d807 0701 |003e: add-int/lit8 v7, v7, #int 1 // #01 │ │ -02a5dc: 28ed |0040: goto 002d // -0013 │ │ -02a5de: 6206 8303 |0041: sget-object v6, Lutil/conpool/Connection;.connPooled:Ljava/util/HashMap; // field@0383 │ │ -02a5e2: 4607 0305 |0043: aget-object v7, v3, v5 │ │ -02a5e6: 6e20 2a06 7600 |0045: invoke-virtual {v6, v7}, Ljava/util/HashMap;.remove:(Ljava/lang/Object;)Ljava/lang/Object; // method@062a │ │ -02a5ec: d805 0501 |0048: add-int/lit8 v5, v5, #int 1 // #01 │ │ -02a5f0: 28d1 |004a: goto 001b // -002f │ │ -02a5f2: 6203 8203 |004b: sget-object v3, Lutil/conpool/Connection;.connAcquired:Ljava/util/HashSet; // field@0382 │ │ -02a5f6: 6e10 3406 0300 |004d: invoke-virtual {v3}, Ljava/util/HashSet;.size:()I // method@0634 │ │ -02a5fc: 0a05 |0050: move-result v5 │ │ -02a5fe: 2355 b701 |0051: new-array v5, v5, [Lutil/conpool/Connection; // type@01b7 │ │ -02a602: 6e20 3506 5300 |0053: invoke-virtual {v3, v5}, Ljava/util/HashSet;.toArray:([Ljava/lang/Object;)[Ljava/lang/Object; // method@0635 │ │ -02a608: 0c03 |0056: move-result-object v3 │ │ -02a60a: 1f03 b701 |0057: check-cast v3, [Lutil/conpool/Connection; // type@01b7 │ │ -02a60e: 1205 |0059: const/4 v5, #int 0 // #0 │ │ -02a610: 2136 |005a: array-length v6, v3 │ │ -02a612: 3565 1300 |005b: if-ge v5, v6, 006e // +0013 │ │ -02a616: 4606 0305 |005d: aget-object v6, v3, v5 │ │ -02a61a: 6e20 7706 6000 |005f: invoke-virtual {v0, v6}, Ljava/util/Vector;.add:(Ljava/lang/Object;)Z // method@0677 │ │ -02a620: 4606 0305 |0062: aget-object v6, v3, v5 │ │ -02a624: 5c64 9103 |0064: iput-boolean v4, v6, Lutil/conpool/Connection;.valid:Z // field@0391 │ │ -02a628: 6207 8203 |0066: sget-object v7, Lutil/conpool/Connection;.connAcquired:Ljava/util/HashSet; // field@0382 │ │ -02a62c: 6e20 3306 6700 |0068: invoke-virtual {v7, v6}, Ljava/util/HashSet;.remove:(Ljava/lang/Object;)Z // method@0633 │ │ -02a632: d805 0501 |006b: add-int/lit8 v5, v5, #int 1 // #01 │ │ -02a636: 28ed |006d: goto 005a // -0013 │ │ -02a638: 1e02 |006e: monitor-exit v2 │ │ -02a63a: 1e01 |006f: monitor-exit v1 │ │ -02a63c: 6e10 8206 0000 |0070: invoke-virtual {v0}, Ljava/util/Vector;.size:()I // method@0682 │ │ -02a642: 0a01 |0073: move-result v1 │ │ -02a644: 2311 b701 |0074: new-array v1, v1, [Lutil/conpool/Connection; // type@01b7 │ │ -02a648: 6e20 8306 1000 |0076: invoke-virtual {v0, v1}, Ljava/util/Vector;.toArray:([Ljava/lang/Object;)[Ljava/lang/Object; // method@0683 │ │ -02a64e: 0c00 |0079: move-result-object v0 │ │ -02a650: 1f00 b701 |007a: check-cast v0, [Lutil/conpool/Connection; // type@01b7 │ │ -02a654: 2101 |007c: array-length v1, v0 │ │ -02a656: 3514 0a00 |007d: if-ge v4, v1, 0087 // +000a │ │ -02a65a: 4601 0004 |007f: aget-object v1, v0, v4 │ │ -02a65e: 7010 ab07 0100 |0081: invoke-direct {v1}, Lutil/conpool/Connection;.closeConnection:()V // method@07ab │ │ -02a664: d804 0401 |0084: add-int/lit8 v4, v4, #int 1 // #01 │ │ -02a668: 28f6 |0086: goto 007c // -000a │ │ -02a66a: 0e00 |0087: return-void │ │ -02a66c: 0d00 |0088: move-exception v0 │ │ -02a66e: 1e02 |0089: monitor-exit v2 │ │ -02a670: 2700 |008a: throw v0 │ │ -02a672: 0d00 |008b: move-exception v0 │ │ -02a674: 1e01 |008c: monitor-exit v1 │ │ -02a676: 2802 |008d: goto 008f // +0002 │ │ -02a678: 2700 |008e: throw v0 │ │ -02a67a: 28ff |008f: goto 008e // -0001 │ │ +02a548: |[02a548] util.conpool.Connection.invalidate:()V │ │ +02a558: 2200 6a01 |0000: new-instance v0, Ljava/util/Vector; // type@016a │ │ +02a55c: 7010 7506 0000 |0002: invoke-direct {v0}, Ljava/util/Vector;.:()V // method@0675 │ │ +02a562: 6201 8303 |0005: sget-object v1, Lutil/conpool/Connection;.connPooled:Ljava/util/HashMap; // field@0383 │ │ +02a566: 1d01 |0007: monitor-enter v1 │ │ +02a568: 6202 8203 |0008: sget-object v2, Lutil/conpool/Connection;.connAcquired:Ljava/util/HashSet; // field@0382 │ │ +02a56c: 1d02 |000a: monitor-enter v2 │ │ +02a56e: 6203 8303 |000b: sget-object v3, Lutil/conpool/Connection;.connPooled:Ljava/util/HashMap; // field@0383 │ │ +02a572: 6e10 2c06 0300 |000d: invoke-virtual {v3}, Ljava/util/HashMap;.values:()Ljava/util/Collection; // method@062c │ │ +02a578: 0c03 |0010: move-result-object v3 │ │ +02a57a: 1204 |0011: const/4 v4, #int 0 // #0 │ │ +02a57c: 2345 b101 |0012: new-array v5, v4, [Ljava/util/Vector; // type@01b1 │ │ +02a580: 7220 1e06 5300 |0014: invoke-interface {v3, v5}, Ljava/util/Collection;.toArray:([Ljava/lang/Object;)[Ljava/lang/Object; // method@061e │ │ +02a586: 0c03 |0017: move-result-object v3 │ │ +02a588: 1f03 b101 |0018: check-cast v3, [Ljava/util/Vector; // type@01b1 │ │ +02a58c: 1205 |001a: const/4 v5, #int 0 // #0 │ │ +02a58e: 2136 |001b: array-length v6, v3 │ │ +02a590: 3565 2f00 |001c: if-ge v5, v6, 004b // +002f │ │ +02a594: 4606 0305 |001e: aget-object v6, v3, v5 │ │ +02a598: 6e10 8206 0600 |0020: invoke-virtual {v6}, Ljava/util/Vector;.size:()I // method@0682 │ │ +02a59e: 0a07 |0023: move-result v7 │ │ +02a5a0: 2377 b701 |0024: new-array v7, v7, [Lutil/conpool/Connection; // type@01b7 │ │ +02a5a4: 6e20 8306 7600 |0026: invoke-virtual {v6, v7}, Ljava/util/Vector;.toArray:([Ljava/lang/Object;)[Ljava/lang/Object; // method@0683 │ │ +02a5aa: 0c06 |0029: move-result-object v6 │ │ +02a5ac: 1f06 b701 |002a: check-cast v6, [Lutil/conpool/Connection; // type@01b7 │ │ +02a5b0: 1207 |002c: const/4 v7, #int 0 // #0 │ │ +02a5b2: 2168 |002d: array-length v8, v6 │ │ +02a5b4: 3587 1300 |002e: if-ge v7, v8, 0041 // +0013 │ │ +02a5b8: 4608 0607 |0030: aget-object v8, v6, v7 │ │ +02a5bc: 6e20 7706 8000 |0032: invoke-virtual {v0, v8}, Ljava/util/Vector;.add:(Ljava/lang/Object;)Z // method@0677 │ │ +02a5c2: 4608 0607 |0035: aget-object v8, v6, v7 │ │ +02a5c6: 5c84 9103 |0037: iput-boolean v4, v8, Lutil/conpool/Connection;.valid:Z // field@0391 │ │ +02a5ca: 4609 0305 |0039: aget-object v9, v3, v5 │ │ +02a5ce: 6e20 8006 8900 |003b: invoke-virtual {v9, v8}, Ljava/util/Vector;.remove:(Ljava/lang/Object;)Z // method@0680 │ │ +02a5d4: d807 0701 |003e: add-int/lit8 v7, v7, #int 1 // #01 │ │ +02a5d8: 28ed |0040: goto 002d // -0013 │ │ +02a5da: 6206 8303 |0041: sget-object v6, Lutil/conpool/Connection;.connPooled:Ljava/util/HashMap; // field@0383 │ │ +02a5de: 4607 0305 |0043: aget-object v7, v3, v5 │ │ +02a5e2: 6e20 2a06 7600 |0045: invoke-virtual {v6, v7}, Ljava/util/HashMap;.remove:(Ljava/lang/Object;)Ljava/lang/Object; // method@062a │ │ +02a5e8: d805 0501 |0048: add-int/lit8 v5, v5, #int 1 // #01 │ │ +02a5ec: 28d1 |004a: goto 001b // -002f │ │ +02a5ee: 6203 8203 |004b: sget-object v3, Lutil/conpool/Connection;.connAcquired:Ljava/util/HashSet; // field@0382 │ │ +02a5f2: 6e10 3406 0300 |004d: invoke-virtual {v3}, Ljava/util/HashSet;.size:()I // method@0634 │ │ +02a5f8: 0a05 |0050: move-result v5 │ │ +02a5fa: 2355 b701 |0051: new-array v5, v5, [Lutil/conpool/Connection; // type@01b7 │ │ +02a5fe: 6e20 3506 5300 |0053: invoke-virtual {v3, v5}, Ljava/util/HashSet;.toArray:([Ljava/lang/Object;)[Ljava/lang/Object; // method@0635 │ │ +02a604: 0c03 |0056: move-result-object v3 │ │ +02a606: 1f03 b701 |0057: check-cast v3, [Lutil/conpool/Connection; // type@01b7 │ │ +02a60a: 1205 |0059: const/4 v5, #int 0 // #0 │ │ +02a60c: 2136 |005a: array-length v6, v3 │ │ +02a60e: 3565 1300 |005b: if-ge v5, v6, 006e // +0013 │ │ +02a612: 4606 0305 |005d: aget-object v6, v3, v5 │ │ +02a616: 6e20 7706 6000 |005f: invoke-virtual {v0, v6}, Ljava/util/Vector;.add:(Ljava/lang/Object;)Z // method@0677 │ │ +02a61c: 4606 0305 |0062: aget-object v6, v3, v5 │ │ +02a620: 5c64 9103 |0064: iput-boolean v4, v6, Lutil/conpool/Connection;.valid:Z // field@0391 │ │ +02a624: 6207 8203 |0066: sget-object v7, Lutil/conpool/Connection;.connAcquired:Ljava/util/HashSet; // field@0382 │ │ +02a628: 6e20 3306 6700 |0068: invoke-virtual {v7, v6}, Ljava/util/HashSet;.remove:(Ljava/lang/Object;)Z // method@0633 │ │ +02a62e: d805 0501 |006b: add-int/lit8 v5, v5, #int 1 // #01 │ │ +02a632: 28ed |006d: goto 005a // -0013 │ │ +02a634: 1e02 |006e: monitor-exit v2 │ │ +02a636: 1e01 |006f: monitor-exit v1 │ │ +02a638: 6e10 8206 0000 |0070: invoke-virtual {v0}, Ljava/util/Vector;.size:()I // method@0682 │ │ +02a63e: 0a01 |0073: move-result v1 │ │ +02a640: 2311 b701 |0074: new-array v1, v1, [Lutil/conpool/Connection; // type@01b7 │ │ +02a644: 6e20 8306 1000 |0076: invoke-virtual {v0, v1}, Ljava/util/Vector;.toArray:([Ljava/lang/Object;)[Ljava/lang/Object; // method@0683 │ │ +02a64a: 0c00 |0079: move-result-object v0 │ │ +02a64c: 1f00 b701 |007a: check-cast v0, [Lutil/conpool/Connection; // type@01b7 │ │ +02a650: 2101 |007c: array-length v1, v0 │ │ +02a652: 3514 0a00 |007d: if-ge v4, v1, 0087 // +000a │ │ +02a656: 4601 0004 |007f: aget-object v1, v0, v4 │ │ +02a65a: 7010 ab07 0100 |0081: invoke-direct {v1}, Lutil/conpool/Connection;.closeConnection:()V // method@07ab │ │ +02a660: d804 0401 |0084: add-int/lit8 v4, v4, #int 1 // #01 │ │ +02a664: 28f6 |0086: goto 007c // -000a │ │ +02a666: 0e00 |0087: return-void │ │ +02a668: 0d00 |0088: move-exception v0 │ │ +02a66a: 1e02 |0089: monitor-exit v2 │ │ +02a66c: 2700 |008a: throw v0 │ │ +02a66e: 0d00 |008b: move-exception v0 │ │ +02a670: 1e01 |008c: monitor-exit v1 │ │ +02a672: 2802 |008d: goto 008f // +0002 │ │ +02a674: 2700 |008e: throw v0 │ │ +02a676: 28ff |008f: goto 008e // -0001 │ │ catches : 5 │ │ 0x0008 - 0x000b │ │ -> 0x008b │ │ 0x000b - 0x006f │ │ -> 0x0088 │ │ 0x006f - 0x0070 │ │ -> 0x008b │ │ @@ -59929,40 +59929,40 @@ │ │ type : '()Z' │ │ access : 0x0002 (PRIVATE) │ │ code - │ │ registers : 5 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 48 16-bit code units │ │ -029b04: |[029b04] util.conpool.Connection.isAlive:()Z │ │ -029b14: 1210 |0000: const/4 v0, #int 1 // #1 │ │ -029b16: 1201 |0001: const/4 v1, #int 0 // #0 │ │ -029b18: 5442 8a03 |0002: iget-object v2, v4, Lutil/conpool/Connection;.socket:Ljava/net/Socket; // field@038a │ │ -029b1c: 6e20 ed05 0200 |0004: invoke-virtual {v2, v0}, Ljava/net/Socket;.setSoTimeout:(I)V // method@05ed │ │ -029b22: 5442 8b03 |0007: iget-object v2, v4, Lutil/conpool/Connection;.socketIn:Ljava/io/InputStream; // field@038b │ │ -029b26: 6e10 2805 0200 |0009: invoke-virtual {v2}, Ljava/io/InputStream;.read:()I // method@0528 │ │ -029b2c: 0a02 |000c: move-result v2 │ │ -029b2e: 12f3 |000d: const/4 v3, #int -1 // #ff │ │ -029b30: 3232 1a00 |000e: if-eq v2, v3, 0028 // +001a │ │ -029b34: 5442 8b03 |0010: iget-object v2, v4, Lutil/conpool/Connection;.socketIn:Ljava/io/InputStream; // field@038b │ │ -029b38: 6e10 2605 0200 |0012: invoke-virtual {v2}, Ljava/io/InputStream;.available:()I // method@0526 │ │ -029b3e: 0a02 |0015: move-result v2 │ │ -029b40: 1303 0028 |0016: const/16 v3, #int 10240 // #2800 │ │ -029b44: 7120 6f05 3200 |0018: invoke-static {v2, v3}, Ljava/lang/Math;.max:(II)I // method@056f │ │ -029b4a: 0a02 |001b: move-result v2 │ │ -029b4c: 2322 9d01 |001c: new-array v2, v2, [B // type@019d │ │ -029b50: 5443 8b03 |001e: iget-object v3, v4, Lutil/conpool/Connection;.socketIn:Ljava/io/InputStream; // field@038b │ │ -029b54: 6e20 2905 2300 |0020: invoke-virtual {v3, v2}, Ljava/io/InputStream;.read:([B)I // method@0529 │ │ -029b5a: 2203 2b01 |0023: new-instance v3, Ljava/lang/String; // type@012b │ │ -029b5e: 7020 8505 2300 |0025: invoke-direct {v3, v2}, Ljava/lang/String;.:([B)V // method@0585 │ │ -029b64: 0f01 |0028: return v1 │ │ -029b66: 5442 8a03 |0029: iget-object v2, v4, Lutil/conpool/Connection;.socket:Ljava/net/Socket; // field@038a │ │ -029b6a: 6e20 ed05 1200 |002b: invoke-virtual {v2, v1}, Ljava/net/Socket;.setSoTimeout:(I)V // method@05ed │ │ -029b70: 0f00 |002e: return v0 │ │ -029b72: 0f01 |002f: return v1 │ │ +029b00: |[029b00] util.conpool.Connection.isAlive:()Z │ │ +029b10: 1210 |0000: const/4 v0, #int 1 // #1 │ │ +029b12: 1201 |0001: const/4 v1, #int 0 // #0 │ │ +029b14: 5442 8a03 |0002: iget-object v2, v4, Lutil/conpool/Connection;.socket:Ljava/net/Socket; // field@038a │ │ +029b18: 6e20 ed05 0200 |0004: invoke-virtual {v2, v0}, Ljava/net/Socket;.setSoTimeout:(I)V // method@05ed │ │ +029b1e: 5442 8b03 |0007: iget-object v2, v4, Lutil/conpool/Connection;.socketIn:Ljava/io/InputStream; // field@038b │ │ +029b22: 6e10 2805 0200 |0009: invoke-virtual {v2}, Ljava/io/InputStream;.read:()I // method@0528 │ │ +029b28: 0a02 |000c: move-result v2 │ │ +029b2a: 12f3 |000d: const/4 v3, #int -1 // #ff │ │ +029b2c: 3232 1a00 |000e: if-eq v2, v3, 0028 // +001a │ │ +029b30: 5442 8b03 |0010: iget-object v2, v4, Lutil/conpool/Connection;.socketIn:Ljava/io/InputStream; // field@038b │ │ +029b34: 6e10 2605 0200 |0012: invoke-virtual {v2}, Ljava/io/InputStream;.available:()I // method@0526 │ │ +029b3a: 0a02 |0015: move-result v2 │ │ +029b3c: 1303 0028 |0016: const/16 v3, #int 10240 // #2800 │ │ +029b40: 7120 6f05 3200 |0018: invoke-static {v2, v3}, Ljava/lang/Math;.max:(II)I // method@056f │ │ +029b46: 0a02 |001b: move-result v2 │ │ +029b48: 2322 9d01 |001c: new-array v2, v2, [B // type@019d │ │ +029b4c: 5443 8b03 |001e: iget-object v3, v4, Lutil/conpool/Connection;.socketIn:Ljava/io/InputStream; // field@038b │ │ +029b50: 6e20 2905 2300 |0020: invoke-virtual {v3, v2}, Ljava/io/InputStream;.read:([B)I // method@0529 │ │ +029b56: 2203 2b01 |0023: new-instance v3, Ljava/lang/String; // type@012b │ │ +029b5a: 7020 8505 2300 |0025: invoke-direct {v3, v2}, Ljava/lang/String;.:([B)V // method@0585 │ │ +029b60: 0f01 |0028: return v1 │ │ +029b62: 5442 8a03 |0029: iget-object v2, v4, Lutil/conpool/Connection;.socket:Ljava/net/Socket; // field@038a │ │ +029b66: 6e20 ed05 1200 |002b: invoke-virtual {v2, v1}, Ljava/net/Socket;.setSoTimeout:(I)V // method@05ed │ │ +029b6c: 0f00 |002e: return v0 │ │ +029b6e: 0f01 |002f: return v1 │ │ catches : 2 │ │ 0x0002 - 0x0028 │ │ Ljava/net/SocketTimeoutException; -> 0x0029 │ │ Ljava/lang/Exception; -> 0x0028 │ │ 0x0029 - 0x002e │ │ Ljava/net/SocketException; -> 0x002f │ │ positions : │ │ @@ -59981,57 +59981,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 │ │ -029c6c: |[029c6c] util.conpool.Connection.parseHosts:(Ljava/lang/String;)[Ljava/lang/String; │ │ -029c7c: 1a00 3000 |0000: const-string v0, "#" // string@0030 │ │ -029c80: 6e20 9905 0400 |0002: invoke-virtual {v4, v0}, Ljava/lang/String;.startsWith:(Ljava/lang/String;)Z // method@0599 │ │ -029c86: 0a00 |0005: move-result v0 │ │ -029c88: 3900 4500 |0006: if-nez v0, 004b // +0045 │ │ -029c8c: 6e10 a005 0400 |0008: invoke-virtual {v4}, Ljava/lang/String;.trim:()Ljava/lang/String; // method@05a0 │ │ -029c92: 0c00 |000b: move-result-object v0 │ │ -029c94: 1a01 0000 |000c: const-string v1, "" // string@0000 │ │ -029c98: 6e20 8b05 1000 |000e: invoke-virtual {v0, v1}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058b │ │ -029c9e: 0a00 |0011: move-result v0 │ │ -029ca0: 3800 0300 |0012: if-eqz v0, 0015 // +0003 │ │ -029ca4: 2837 |0014: goto 004b // +0037 │ │ -029ca6: 2200 6601 |0015: new-instance v0, Ljava/util/StringTokenizer; // type@0166 │ │ -029caa: 7020 6106 4000 |0017: invoke-direct {v0, v4}, Ljava/util/StringTokenizer;.:(Ljava/lang/String;)V // method@0661 │ │ -029cb0: 6e10 6306 0000 |001a: invoke-virtual {v0}, Ljava/util/StringTokenizer;.countTokens:()I // method@0663 │ │ -029cb6: 0a04 |001d: move-result v4 │ │ -029cb8: 1211 |001e: const/4 v1, #int 1 // #1 │ │ -029cba: 1202 |001f: const/4 v2, #int 0 // #0 │ │ -029cbc: 1223 |0020: const/4 v3, #int 2 // #2 │ │ -029cbe: 3434 1900 |0021: if-lt v4, v3, 003a // +0019 │ │ -029cc2: 6e10 6606 0000 |0023: invoke-virtual {v0}, Ljava/util/StringTokenizer;.nextToken:()Ljava/lang/String; // method@0666 │ │ -029cc8: 0c04 |0026: move-result-object v4 │ │ -029cca: 6e10 a005 0400 |0027: invoke-virtual {v4}, Ljava/lang/String;.trim:()Ljava/lang/String; // method@05a0 │ │ -029cd0: 0c04 |002a: move-result-object v4 │ │ -029cd2: 6e10 6606 0000 |002b: invoke-virtual {v0}, Ljava/util/StringTokenizer;.nextToken:()Ljava/lang/String; // method@0666 │ │ -029cd8: 0c00 |002e: move-result-object v0 │ │ -029cda: 6e10 a005 0000 |002f: invoke-virtual {v0}, Ljava/lang/String;.trim:()Ljava/lang/String; // method@05a0 │ │ -029ce0: 0c00 |0032: move-result-object v0 │ │ -029ce2: 2333 ad01 |0033: new-array v3, v3, [Ljava/lang/String; // type@01ad │ │ -029ce6: 4d04 0302 |0035: aput-object v4, v3, v2 │ │ -029cea: 4d00 0301 |0037: aput-object v0, v3, v1 │ │ -029cee: 1103 |0039: return-object v3 │ │ -029cf0: 6e10 6606 0000 |003a: invoke-virtual {v0}, Ljava/util/StringTokenizer;.nextToken:()Ljava/lang/String; // method@0666 │ │ -029cf6: 0c04 |003d: move-result-object v4 │ │ -029cf8: 6e10 a005 0400 |003e: invoke-virtual {v4}, Ljava/lang/String;.trim:()Ljava/lang/String; // method@05a0 │ │ -029cfe: 0c04 |0041: move-result-object v4 │ │ -029d00: 2330 ad01 |0042: new-array v0, v3, [Ljava/lang/String; // type@01ad │ │ -029d04: 1a03 7200 |0044: const-string v3, "127.0.0.1" // string@0072 │ │ -029d08: 4d03 0002 |0046: aput-object v3, v0, v2 │ │ -029d0c: 4d04 0001 |0048: aput-object v4, v0, v1 │ │ -029d10: 1100 |004a: return-object v0 │ │ -029d12: 1204 |004b: const/4 v4, #int 0 // #0 │ │ -029d14: 1104 |004c: return-object v4 │ │ +029c68: |[029c68] util.conpool.Connection.parseHosts:(Ljava/lang/String;)[Ljava/lang/String; │ │ +029c78: 1a00 3000 |0000: const-string v0, "#" // string@0030 │ │ +029c7c: 6e20 9905 0400 |0002: invoke-virtual {v4, v0}, Ljava/lang/String;.startsWith:(Ljava/lang/String;)Z // method@0599 │ │ +029c82: 0a00 |0005: move-result v0 │ │ +029c84: 3900 4500 |0006: if-nez v0, 004b // +0045 │ │ +029c88: 6e10 a005 0400 |0008: invoke-virtual {v4}, Ljava/lang/String;.trim:()Ljava/lang/String; // method@05a0 │ │ +029c8e: 0c00 |000b: move-result-object v0 │ │ +029c90: 1a01 0000 |000c: const-string v1, "" // string@0000 │ │ +029c94: 6e20 8b05 1000 |000e: invoke-virtual {v0, v1}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@058b │ │ +029c9a: 0a00 |0011: move-result v0 │ │ +029c9c: 3800 0300 |0012: if-eqz v0, 0015 // +0003 │ │ +029ca0: 2837 |0014: goto 004b // +0037 │ │ +029ca2: 2200 6601 |0015: new-instance v0, Ljava/util/StringTokenizer; // type@0166 │ │ +029ca6: 7020 6106 4000 |0017: invoke-direct {v0, v4}, Ljava/util/StringTokenizer;.:(Ljava/lang/String;)V // method@0661 │ │ +029cac: 6e10 6306 0000 |001a: invoke-virtual {v0}, Ljava/util/StringTokenizer;.countTokens:()I // method@0663 │ │ +029cb2: 0a04 |001d: move-result v4 │ │ +029cb4: 1211 |001e: const/4 v1, #int 1 // #1 │ │ +029cb6: 1202 |001f: const/4 v2, #int 0 // #0 │ │ +029cb8: 1223 |0020: const/4 v3, #int 2 // #2 │ │ +029cba: 3434 1900 |0021: if-lt v4, v3, 003a // +0019 │ │ +029cbe: 6e10 6606 0000 |0023: invoke-virtual {v0}, Ljava/util/StringTokenizer;.nextToken:()Ljava/lang/String; // method@0666 │ │ +029cc4: 0c04 |0026: move-result-object v4 │ │ +029cc6: 6e10 a005 0400 |0027: invoke-virtual {v4}, Ljava/lang/String;.trim:()Ljava/lang/String; // method@05a0 │ │ +029ccc: 0c04 |002a: move-result-object v4 │ │ +029cce: 6e10 6606 0000 |002b: invoke-virtual {v0}, Ljava/util/StringTokenizer;.nextToken:()Ljava/lang/String; // method@0666 │ │ +029cd4: 0c00 |002e: move-result-object v0 │ │ +029cd6: 6e10 a005 0000 |002f: invoke-virtual {v0}, Ljava/lang/String;.trim:()Ljava/lang/String; // method@05a0 │ │ +029cdc: 0c00 |0032: move-result-object v0 │ │ +029cde: 2333 ad01 |0033: new-array v3, v3, [Ljava/lang/String; // type@01ad │ │ +029ce2: 4d04 0302 |0035: aput-object v4, v3, v2 │ │ +029ce6: 4d00 0301 |0037: aput-object v0, v3, v1 │ │ +029cea: 1103 |0039: return-object v3 │ │ +029cec: 6e10 6606 0000 |003a: invoke-virtual {v0}, Ljava/util/StringTokenizer;.nextToken:()Ljava/lang/String; // method@0666 │ │ +029cf2: 0c04 |003d: move-result-object v4 │ │ +029cf4: 6e10 a005 0400 |003e: invoke-virtual {v4}, Ljava/lang/String;.trim:()Ljava/lang/String; // method@05a0 │ │ +029cfa: 0c04 |0041: move-result-object v4 │ │ +029cfc: 2330 ad01 |0042: new-array v0, v3, [Ljava/lang/String; // type@01ad │ │ +029d00: 1a03 7200 |0044: const-string v3, "127.0.0.1" // string@0072 │ │ +029d04: 4d03 0002 |0046: aput-object v3, v0, v2 │ │ +029d08: 4d04 0001 |0048: aput-object v4, v0, v1 │ │ +029d0c: 1100 |004a: return-object v0 │ │ +029d0e: 1204 |004b: const/4 v4, #int 0 // #0 │ │ +029d10: 1104 |004c: return-object v4 │ │ catches : (none) │ │ positions : │ │ 0x0000 line=189 │ │ 0x0015 line=191 │ │ 0x001a line=192 │ │ 0x0023 line=193 │ │ 0x002b line=194 │ │ @@ -60046,43 +60046,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 │ │ -029bd8: |[029bd8] util.conpool.Connection.poolKey:(Ljava/lang/String;IZLjava/net/Proxy;)Ljava/lang/String; │ │ -029be8: 1a00 8100 |0000: const-string v0, ":" // string@0081 │ │ -029bec: 3803 2100 |0002: if-eqz v3, 0023 // +0021 │ │ -029bf0: 2203 2d01 |0004: new-instance v3, Ljava/lang/StringBuilder; // type@012d │ │ -029bf4: 7010 a705 0300 |0006: invoke-direct {v3}, Ljava/lang/StringBuilder;.:()V // method@05a7 │ │ -029bfa: 6e20 ad05 1300 |0009: invoke-virtual {v3, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -029c00: 6e20 ad05 0300 |000c: invoke-virtual {v3, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -029c06: 6e20 aa05 2300 |000f: invoke-virtual {v3, v2}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@05aa │ │ -029c0c: 1a01 8b00 |0012: const-string v1, ":ssl:" // string@008b │ │ -029c10: 6e20 ad05 1300 |0014: invoke-virtual {v3, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -029c16: 6e10 e305 0400 |0017: invoke-virtual {v4}, Ljava/net/Proxy;.hashCode:()I // method@05e3 │ │ -029c1c: 0a01 |001a: move-result v1 │ │ -029c1e: 6e20 aa05 1300 |001b: invoke-virtual {v3, v1}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@05aa │ │ -029c24: 6e10 af05 0300 |001e: invoke-virtual {v3}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ -029c2a: 0c01 |0021: move-result-object v1 │ │ -029c2c: 1101 |0022: return-object v1 │ │ -029c2e: 2203 2d01 |0023: new-instance v3, Ljava/lang/StringBuilder; // type@012d │ │ -029c32: 7010 a705 0300 |0025: invoke-direct {v3}, Ljava/lang/StringBuilder;.:()V // method@05a7 │ │ -029c38: 6e20 ad05 1300 |0028: invoke-virtual {v3, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -029c3e: 6e20 ad05 0300 |002b: invoke-virtual {v3, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -029c44: 6e20 aa05 2300 |002e: invoke-virtual {v3, v2}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@05aa │ │ -029c4a: 1a01 8a00 |0031: const-string v1, ":plain:" // string@008a │ │ -029c4e: 6e20 ad05 1300 |0033: invoke-virtual {v3, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ -029c54: 6e10 e305 0400 |0036: invoke-virtual {v4}, Ljava/net/Proxy;.hashCode:()I // method@05e3 │ │ -029c5a: 0a01 |0039: move-result v1 │ │ -029c5c: 6e20 aa05 1300 |003a: invoke-virtual {v3, v1}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@05aa │ │ -029c62: 6e10 af05 0300 |003d: invoke-virtual {v3}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ -029c68: 0c01 |0040: move-result-object v1 │ │ -029c6a: 1101 |0041: return-object v1 │ │ +029bd4: |[029bd4] util.conpool.Connection.poolKey:(Ljava/lang/String;IZLjava/net/Proxy;)Ljava/lang/String; │ │ +029be4: 1a00 8100 |0000: const-string v0, ":" // string@0081 │ │ +029be8: 3803 2100 |0002: if-eqz v3, 0023 // +0021 │ │ +029bec: 2203 2d01 |0004: new-instance v3, Ljava/lang/StringBuilder; // type@012d │ │ +029bf0: 7010 a705 0300 |0006: invoke-direct {v3}, Ljava/lang/StringBuilder;.:()V // method@05a7 │ │ +029bf6: 6e20 ad05 1300 |0009: invoke-virtual {v3, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +029bfc: 6e20 ad05 0300 |000c: invoke-virtual {v3, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +029c02: 6e20 aa05 2300 |000f: invoke-virtual {v3, v2}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@05aa │ │ +029c08: 1a01 8b00 |0012: const-string v1, ":ssl:" // string@008b │ │ +029c0c: 6e20 ad05 1300 |0014: invoke-virtual {v3, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +029c12: 6e10 e305 0400 |0017: invoke-virtual {v4}, Ljava/net/Proxy;.hashCode:()I // method@05e3 │ │ +029c18: 0a01 |001a: move-result v1 │ │ +029c1a: 6e20 aa05 1300 |001b: invoke-virtual {v3, v1}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@05aa │ │ +029c20: 6e10 af05 0300 |001e: invoke-virtual {v3}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ +029c26: 0c01 |0021: move-result-object v1 │ │ +029c28: 1101 |0022: return-object v1 │ │ +029c2a: 2203 2d01 |0023: new-instance v3, Ljava/lang/StringBuilder; // type@012d │ │ +029c2e: 7010 a705 0300 |0025: invoke-direct {v3}, Ljava/lang/StringBuilder;.:()V // method@05a7 │ │ +029c34: 6e20 ad05 1300 |0028: invoke-virtual {v3, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +029c3a: 6e20 ad05 0300 |002b: invoke-virtual {v3, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +029c40: 6e20 aa05 2300 |002e: invoke-virtual {v3, v2}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@05aa │ │ +029c46: 1a01 8a00 |0031: const-string v1, ":plain:" // string@008a │ │ +029c4a: 6e20 ad05 1300 |0033: invoke-virtual {v3, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@05ad │ │ +029c50: 6e10 e305 0400 |0036: invoke-virtual {v4}, Ljava/net/Proxy;.hashCode:()I // method@05e3 │ │ +029c56: 0a01 |0039: move-result v1 │ │ +029c58: 6e20 aa05 1300 |003a: invoke-virtual {v3, v1}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@05aa │ │ +029c5e: 6e10 af05 0300 |003d: invoke-virtual {v3}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@05af │ │ +029c64: 0c01 |0040: move-result-object v1 │ │ +029c66: 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; │ │ @@ -60095,76 +60095,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 │ │ -02a08c: |[02a08c] util.conpool.Connection.poolRemove:(Ljava/lang/String;)Lutil/conpool/Connection; │ │ -02a09c: 6200 8303 |0000: sget-object v0, Lutil/conpool/Connection;.connPooled:Ljava/util/HashMap; // field@0383 │ │ -02a0a0: 1d00 |0002: monitor-enter v0 │ │ -02a0a2: 6201 8303 |0003: sget-object v1, Lutil/conpool/Connection;.connPooled:Ljava/util/HashMap; // field@0383 │ │ -02a0a6: 6e20 2806 8100 |0005: invoke-virtual {v1, v8}, Ljava/util/HashMap;.get:(Ljava/lang/Object;)Ljava/lang/Object; // method@0628 │ │ -02a0ac: 0c01 |0008: move-result-object v1 │ │ -02a0ae: 1f01 6a01 |0009: check-cast v1, Ljava/util/Vector; // type@016a │ │ -02a0b2: 1202 |000b: const/4 v2, #int 0 // #0 │ │ -02a0b4: 3901 0400 |000c: if-nez v1, 0010 // +0004 │ │ -02a0b8: 1e00 |000e: monitor-exit v0 │ │ -02a0ba: 1102 |000f: return-object v2 │ │ -02a0bc: 1203 |0010: const/4 v3, #int 0 // #0 │ │ -02a0be: 0725 |0011: move-object v5, v2 │ │ -02a0c0: 1204 |0012: const/4 v4, #int 0 // #0 │ │ -02a0c2: 3904 3f00 |0013: if-nez v4, 0052 // +003f │ │ -02a0c6: 6e10 7d06 0100 |0015: invoke-virtual {v1}, Ljava/util/Vector;.isEmpty:()Z // method@067d │ │ -02a0cc: 0a04 |0018: move-result v4 │ │ -02a0ce: 3904 3900 |0019: if-nez v4, 0052 // +0039 │ │ -02a0d2: 6e10 8206 0100 |001b: invoke-virtual {v1}, Ljava/util/Vector;.size:()I // method@0682 │ │ -02a0d8: 0a04 |001e: move-result v4 │ │ -02a0da: 1215 |001f: const/4 v5, #int 1 // #1 │ │ -02a0dc: b154 |0020: sub-int/2addr v4, v5 │ │ -02a0de: 6e20 7f06 4100 |0021: invoke-virtual {v1, v4}, Ljava/util/Vector;.remove:(I)Ljava/lang/Object; // method@067f │ │ -02a0e4: 0c04 |0024: move-result-object v4 │ │ -02a0e6: 1f04 9301 |0025: check-cast v4, Lutil/conpool/Connection; // type@0193 │ │ -02a0ea: 5546 8003 |0027: iget-boolean v6, v4, Lutil/conpool/Connection;.acquired:Z // field@0380 │ │ -02a0ee: 3906 2100 |0029: if-nez v6, 004a // +0021 │ │ -02a0f2: 5c45 8003 |002b: iput-boolean v5, v4, Lutil/conpool/Connection;.acquired:Z // field@0380 │ │ -02a0f6: 6206 9003 |002d: sget-object v6, Lutil/conpool/Connection;.toNotify:Lutil/TimoutNotificator; // field@0390 │ │ -02a0fa: 6e20 8b07 4600 |002f: invoke-virtual {v6, v4}, Lutil/TimoutNotificator;.unregister:(Lutil/TimeoutListener;)V // method@078b │ │ -02a100: 5546 9103 |0032: iget-boolean v6, v4, Lutil/conpool/Connection;.valid:Z // field@0391 │ │ -02a104: 3806 0900 |0034: if-eqz v6, 003d // +0009 │ │ -02a108: 7010 bd07 0400 |0036: invoke-direct {v4}, Lutil/conpool/Connection;.isAlive:()Z // method@07bd │ │ -02a10e: 0a06 |0039: move-result v6 │ │ -02a110: 3806 0300 |003a: if-eqz v6, 003d // +0003 │ │ -02a114: 2802 |003c: goto 003e // +0002 │ │ -02a116: 1205 |003d: const/4 v5, #int 0 // #0 │ │ -02a118: 3905 0800 |003e: if-nez v5, 0046 // +0008 │ │ -02a11c: 7010 ab07 0400 |0040: invoke-direct {v4}, Lutil/conpool/Connection;.closeConnection:()V // method@07ab │ │ -02a122: 0154 |0043: move v4, v5 │ │ -02a124: 0725 |0044: move-object v5, v2 │ │ -02a126: 28ce |0045: goto 0013 // -0032 │ │ -02a128: 0157 |0046: move v7, v5 │ │ -02a12a: 0745 |0047: move-object v5, v4 │ │ -02a12c: 0174 |0048: move v4, v7 │ │ -02a12e: 28ca |0049: goto 0013 // -0036 │ │ -02a130: 2208 1d01 |004a: new-instance v8, Ljava/lang/IllegalStateException; // type@011d │ │ -02a134: 1a01 e501 |004c: const-string v1, "Inconsistent connection state - Cannot take already acquired connection from pool!" // string@01e5 │ │ -02a138: 7020 6105 1800 |004e: invoke-direct {v8, v1}, Ljava/lang/IllegalStateException;.:(Ljava/lang/String;)V // method@0561 │ │ -02a13e: 2708 |0051: throw v8 │ │ -02a140: 6e10 7d06 0100 |0052: invoke-virtual {v1}, Ljava/util/Vector;.isEmpty:()Z // method@067d │ │ -02a146: 0a01 |0055: move-result v1 │ │ -02a148: 3801 0700 |0056: if-eqz v1, 005d // +0007 │ │ -02a14c: 6201 8303 |0058: sget-object v1, Lutil/conpool/Connection;.connPooled:Ljava/util/HashMap; // field@0383 │ │ -02a150: 6e20 2a06 8100 |005a: invoke-virtual {v1, v8}, Ljava/util/HashMap;.remove:(Ljava/lang/Object;)Ljava/lang/Object; // method@062a │ │ -02a156: 1e00 |005d: monitor-exit v0 │ │ -02a158: 1105 |005e: return-object v5 │ │ -02a15a: 0d08 |005f: move-exception v8 │ │ -02a15c: 1e00 |0060: monitor-exit v0 │ │ -02a15e: 2802 |0061: goto 0063 // +0002 │ │ -02a160: 2708 |0062: throw v8 │ │ -02a162: 28ff |0063: goto 0062 // -0001 │ │ +02a088: |[02a088] util.conpool.Connection.poolRemove:(Ljava/lang/String;)Lutil/conpool/Connection; │ │ +02a098: 6200 8303 |0000: sget-object v0, Lutil/conpool/Connection;.connPooled:Ljava/util/HashMap; // field@0383 │ │ +02a09c: 1d00 |0002: monitor-enter v0 │ │ +02a09e: 6201 8303 |0003: sget-object v1, Lutil/conpool/Connection;.connPooled:Ljava/util/HashMap; // field@0383 │ │ +02a0a2: 6e20 2806 8100 |0005: invoke-virtual {v1, v8}, Ljava/util/HashMap;.get:(Ljava/lang/Object;)Ljava/lang/Object; // method@0628 │ │ +02a0a8: 0c01 |0008: move-result-object v1 │ │ +02a0aa: 1f01 6a01 |0009: check-cast v1, Ljava/util/Vector; // type@016a │ │ +02a0ae: 1202 |000b: const/4 v2, #int 0 // #0 │ │ +02a0b0: 3901 0400 |000c: if-nez v1, 0010 // +0004 │ │ +02a0b4: 1e00 |000e: monitor-exit v0 │ │ +02a0b6: 1102 |000f: return-object v2 │ │ +02a0b8: 1203 |0010: const/4 v3, #int 0 // #0 │ │ +02a0ba: 0725 |0011: move-object v5, v2 │ │ +02a0bc: 1204 |0012: const/4 v4, #int 0 // #0 │ │ +02a0be: 3904 3f00 |0013: if-nez v4, 0052 // +003f │ │ +02a0c2: 6e10 7d06 0100 |0015: invoke-virtual {v1}, Ljava/util/Vector;.isEmpty:()Z // method@067d │ │ +02a0c8: 0a04 |0018: move-result v4 │ │ +02a0ca: 3904 3900 |0019: if-nez v4, 0052 // +0039 │ │ +02a0ce: 6e10 8206 0100 |001b: invoke-virtual {v1}, Ljava/util/Vector;.size:()I // method@0682 │ │ +02a0d4: 0a04 |001e: move-result v4 │ │ +02a0d6: 1215 |001f: const/4 v5, #int 1 // #1 │ │ +02a0d8: b154 |0020: sub-int/2addr v4, v5 │ │ +02a0da: 6e20 7f06 4100 |0021: invoke-virtual {v1, v4}, Ljava/util/Vector;.remove:(I)Ljava/lang/Object; // method@067f │ │ +02a0e0: 0c04 |0024: move-result-object v4 │ │ +02a0e2: 1f04 9301 |0025: check-cast v4, Lutil/conpool/Connection; // type@0193 │ │ +02a0e6: 5546 8003 |0027: iget-boolean v6, v4, Lutil/conpool/Connection;.acquired:Z // field@0380 │ │ +02a0ea: 3906 2100 |0029: if-nez v6, 004a // +0021 │ │ +02a0ee: 5c45 8003 |002b: iput-boolean v5, v4, Lutil/conpool/Connection;.acquired:Z // field@0380 │ │ +02a0f2: 6206 9003 |002d: sget-object v6, Lutil/conpool/Connection;.toNotify:Lutil/TimoutNotificator; // field@0390 │ │ +02a0f6: 6e20 8b07 4600 |002f: invoke-virtual {v6, v4}, Lutil/TimoutNotificator;.unregister:(Lutil/TimeoutListener;)V // method@078b │ │ +02a0fc: 5546 9103 |0032: iget-boolean v6, v4, Lutil/conpool/Connection;.valid:Z // field@0391 │ │ +02a100: 3806 0900 |0034: if-eqz v6, 003d // +0009 │ │ +02a104: 7010 bd07 0400 |0036: invoke-direct {v4}, Lutil/conpool/Connection;.isAlive:()Z // method@07bd │ │ +02a10a: 0a06 |0039: move-result v6 │ │ +02a10c: 3806 0300 |003a: if-eqz v6, 003d // +0003 │ │ +02a110: 2802 |003c: goto 003e // +0002 │ │ +02a112: 1205 |003d: const/4 v5, #int 0 // #0 │ │ +02a114: 3905 0800 |003e: if-nez v5, 0046 // +0008 │ │ +02a118: 7010 ab07 0400 |0040: invoke-direct {v4}, Lutil/conpool/Connection;.closeConnection:()V // method@07ab │ │ +02a11e: 0154 |0043: move v4, v5 │ │ +02a120: 0725 |0044: move-object v5, v2 │ │ +02a122: 28ce |0045: goto 0013 // -0032 │ │ +02a124: 0157 |0046: move v7, v5 │ │ +02a126: 0745 |0047: move-object v5, v4 │ │ +02a128: 0174 |0048: move v4, v7 │ │ +02a12a: 28ca |0049: goto 0013 // -0036 │ │ +02a12c: 2208 1d01 |004a: new-instance v8, Ljava/lang/IllegalStateException; // type@011d │ │ +02a130: 1a01 e501 |004c: const-string v1, "Inconsistent connection state - Cannot take already acquired connection from pool!" // string@01e5 │ │ +02a134: 7020 6105 1800 |004e: invoke-direct {v8, v1}, Ljava/lang/IllegalStateException;.:(Ljava/lang/String;)V // method@0561 │ │ +02a13a: 2708 |0051: throw v8 │ │ +02a13c: 6e10 7d06 0100 |0052: invoke-virtual {v1}, Ljava/util/Vector;.isEmpty:()Z // method@067d │ │ +02a142: 0a01 |0055: move-result v1 │ │ +02a144: 3801 0700 |0056: if-eqz v1, 005d // +0007 │ │ +02a148: 6201 8303 |0058: sget-object v1, Lutil/conpool/Connection;.connPooled:Ljava/util/HashMap; // field@0383 │ │ +02a14c: 6e20 2a06 8100 |005a: invoke-virtual {v1, v8}, Ljava/util/HashMap;.remove:(Ljava/lang/Object;)Ljava/lang/Object; // method@062a │ │ +02a152: 1e00 |005d: monitor-exit v0 │ │ +02a154: 1105 |005e: return-object v5 │ │ +02a156: 0d08 |005f: move-exception v8 │ │ +02a158: 1e00 |0060: monitor-exit v0 │ │ +02a15a: 2802 |0061: goto 0063 // +0002 │ │ +02a15c: 2708 |0062: throw v8 │ │ +02a15e: 28ff |0063: goto 0062 // -0001 │ │ catches : 1 │ │ 0x0003 - 0x0061 │ │ -> 0x005f │ │ positions : │ │ 0x0000 line=349 │ │ 0x0003 line=350 │ │ 0x000e line=352 │ │ @@ -60188,53 +60188,53 @@ │ │ type : '(Lutil/conpool/Connection;)V' │ │ access : 0x0009 (PUBLIC STATIC) │ │ code - │ │ registers : 6 │ │ ins : 1 │ │ outs : 3 │ │ insns size : 71 16-bit code units │ │ -02a6ac: |[02a6ac] util.conpool.Connection.poolReuse:(Lutil/conpool/Connection;)V │ │ -02a6bc: 6200 8303 |0000: sget-object v0, Lutil/conpool/Connection;.connPooled:Ljava/util/HashMap; // field@0383 │ │ -02a6c0: 1d00 |0002: monitor-enter v0 │ │ -02a6c2: 5551 9103 |0003: iget-boolean v1, v5, Lutil/conpool/Connection;.valid:Z // field@0391 │ │ -02a6c6: 3901 0400 |0005: if-nez v1, 0009 // +0004 │ │ -02a6ca: 1e00 |0007: monitor-exit v0 │ │ -02a6cc: 0e00 |0008: return-void │ │ -02a6ce: 5551 8003 |0009: iget-boolean v1, v5, Lutil/conpool/Connection;.acquired:Z // field@0380 │ │ -02a6d2: 3801 3100 |000b: if-eqz v1, 003c // +0031 │ │ -02a6d6: 1201 |000d: const/4 v1, #int 0 // #0 │ │ -02a6d8: 5c51 8003 |000e: iput-boolean v1, v5, Lutil/conpool/Connection;.acquired:Z // field@0380 │ │ -02a6dc: 6201 8303 |0010: sget-object v1, Lutil/conpool/Connection;.connPooled:Ljava/util/HashMap; // field@0383 │ │ -02a6e0: 5452 8703 |0012: iget-object v2, v5, Lutil/conpool/Connection;.poolKey:Ljava/lang/String; // field@0387 │ │ -02a6e4: 6e20 2806 2100 |0014: invoke-virtual {v1, v2}, Ljava/util/HashMap;.get:(Ljava/lang/Object;)Ljava/lang/Object; // method@0628 │ │ -02a6ea: 0c01 |0017: move-result-object v1 │ │ -02a6ec: 1f01 6a01 |0018: check-cast v1, Ljava/util/Vector; // type@016a │ │ -02a6f0: 3901 0e00 |001a: if-nez v1, 0028 // +000e │ │ -02a6f4: 2201 6a01 |001c: new-instance v1, Ljava/util/Vector; // type@016a │ │ -02a6f8: 7010 7506 0100 |001e: invoke-direct {v1}, Ljava/util/Vector;.:()V // method@0675 │ │ -02a6fe: 6202 8303 |0021: sget-object v2, Lutil/conpool/Connection;.connPooled:Ljava/util/HashMap; // field@0383 │ │ -02a702: 5453 8703 |0023: iget-object v3, v5, Lutil/conpool/Connection;.poolKey:Ljava/lang/String; // field@0387 │ │ -02a706: 6e30 2906 3201 |0025: invoke-virtual {v2, v3, v1}, Ljava/util/HashMap;.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; // method@0629 │ │ -02a70c: 6202 9003 |0028: sget-object v2, Lutil/conpool/Connection;.toNotify:Lutil/TimoutNotificator; // field@0390 │ │ -02a710: 6e20 8807 5200 |002a: invoke-virtual {v2, v5}, Lutil/TimoutNotificator;.register:(Lutil/TimeoutListener;)V // method@0788 │ │ -02a716: 5452 8f03 |002d: iget-object v2, v5, Lutil/conpool/Connection;.timeout:Lutil/TimeoutTime; // field@038f │ │ -02a71a: 6003 7f03 |002f: sget v3, Lutil/conpool/Connection;.POOLTIMEOUT_SECONDS:I // field@037f │ │ -02a71e: d233 e803 |0031: mul-int/lit16 v3, v3, #int 1000 // #03e8 │ │ -02a722: 8133 |0033: int-to-long v3, v3 │ │ -02a724: 6e30 8207 3204 |0034: invoke-virtual {v2, v3, v4}, Lutil/TimeoutTime;.setTimeout:(J)V // method@0782 │ │ -02a72a: 6e20 7706 5100 |0037: invoke-virtual {v1, v5}, Ljava/util/Vector;.add:(Ljava/lang/Object;)Z // method@0677 │ │ -02a730: 1e00 |003a: monitor-exit v0 │ │ -02a732: 0e00 |003b: return-void │ │ -02a734: 2205 1d01 |003c: new-instance v5, Ljava/lang/IllegalStateException; // type@011d │ │ -02a738: 1a01 e401 |003e: const-string v1, "Inconsistent connection state - Cannot release non acquired connection" // string@01e4 │ │ -02a73c: 7020 6105 1500 |0040: invoke-direct {v5, v1}, Ljava/lang/IllegalStateException;.:(Ljava/lang/String;)V // method@0561 │ │ -02a742: 2705 |0043: throw v5 │ │ -02a744: 0d05 |0044: move-exception v5 │ │ -02a746: 1e00 |0045: monitor-exit v0 │ │ -02a748: 2705 |0046: throw v5 │ │ +02a6a8: |[02a6a8] util.conpool.Connection.poolReuse:(Lutil/conpool/Connection;)V │ │ +02a6b8: 6200 8303 |0000: sget-object v0, Lutil/conpool/Connection;.connPooled:Ljava/util/HashMap; // field@0383 │ │ +02a6bc: 1d00 |0002: monitor-enter v0 │ │ +02a6be: 5551 9103 |0003: iget-boolean v1, v5, Lutil/conpool/Connection;.valid:Z // field@0391 │ │ +02a6c2: 3901 0400 |0005: if-nez v1, 0009 // +0004 │ │ +02a6c6: 1e00 |0007: monitor-exit v0 │ │ +02a6c8: 0e00 |0008: return-void │ │ +02a6ca: 5551 8003 |0009: iget-boolean v1, v5, Lutil/conpool/Connection;.acquired:Z // field@0380 │ │ +02a6ce: 3801 3100 |000b: if-eqz v1, 003c // +0031 │ │ +02a6d2: 1201 |000d: const/4 v1, #int 0 // #0 │ │ +02a6d4: 5c51 8003 |000e: iput-boolean v1, v5, Lutil/conpool/Connection;.acquired:Z // field@0380 │ │ +02a6d8: 6201 8303 |0010: sget-object v1, Lutil/conpool/Connection;.connPooled:Ljava/util/HashMap; // field@0383 │ │ +02a6dc: 5452 8703 |0012: iget-object v2, v5, Lutil/conpool/Connection;.poolKey:Ljava/lang/String; // field@0387 │ │ +02a6e0: 6e20 2806 2100 |0014: invoke-virtual {v1, v2}, Ljava/util/HashMap;.get:(Ljava/lang/Object;)Ljava/lang/Object; // method@0628 │ │ +02a6e6: 0c01 |0017: move-result-object v1 │ │ +02a6e8: 1f01 6a01 |0018: check-cast v1, Ljava/util/Vector; // type@016a │ │ +02a6ec: 3901 0e00 |001a: if-nez v1, 0028 // +000e │ │ +02a6f0: 2201 6a01 |001c: new-instance v1, Ljava/util/Vector; // type@016a │ │ +02a6f4: 7010 7506 0100 |001e: invoke-direct {v1}, Ljava/util/Vector;.:()V // method@0675 │ │ +02a6fa: 6202 8303 |0021: sget-object v2, Lutil/conpool/Connection;.connPooled:Ljava/util/HashMap; // field@0383 │ │ +02a6fe: 5453 8703 |0023: iget-object v3, v5, Lutil/conpool/Connection;.poolKey:Ljava/lang/String; // field@0387 │ │ +02a702: 6e30 2906 3201 |0025: invoke-virtual {v2, v3, v1}, Ljava/util/HashMap;.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; // method@0629 │ │ +02a708: 6202 9003 |0028: sget-object v2, Lutil/conpool/Connection;.toNotify:Lutil/TimoutNotificator; // field@0390 │ │ +02a70c: 6e20 8807 5200 |002a: invoke-virtual {v2, v5}, Lutil/TimoutNotificator;.register:(Lutil/TimeoutListener;)V // method@0788 │ │ +02a712: 5452 8f03 |002d: iget-object v2, v5, Lutil/conpool/Connection;.timeout:Lutil/TimeoutTime; // field@038f │ │ +02a716: 6003 7f03 |002f: sget v3, Lutil/conpool/Connection;.POOLTIMEOUT_SECONDS:I // field@037f │ │ +02a71a: d233 e803 |0031: mul-int/lit16 v3, v3, #int 1000 // #03e8 │ │ +02a71e: 8133 |0033: int-to-long v3, v3 │ │ +02a720: 6e30 8207 3204 |0034: invoke-virtual {v2, v3, v4}, Lutil/TimeoutTime;.setTimeout:(J)V // method@0782 │ │ +02a726: 6e20 7706 5100 |0037: invoke-virtual {v1, v5}, Ljava/util/Vector;.add:(Ljava/lang/Object;)Z // method@0677 │ │ +02a72c: 1e00 |003a: monitor-exit v0 │ │ +02a72e: 0e00 |003b: return-void │ │ +02a730: 2205 1d01 |003c: new-instance v5, Ljava/lang/IllegalStateException; // type@011d │ │ +02a734: 1a01 e401 |003e: const-string v1, "Inconsistent connection state - Cannot release non acquired connection" // string@01e4 │ │ +02a738: 7020 6105 1500 |0040: invoke-direct {v5, v1}, Ljava/lang/IllegalStateException;.:(Ljava/lang/String;)V // method@0561 │ │ +02a73e: 2705 |0043: throw v5 │ │ +02a740: 0d05 |0044: move-exception v5 │ │ +02a742: 1e00 |0045: monitor-exit v0 │ │ +02a744: 2705 |0046: throw v5 │ │ catches : 1 │ │ 0x0003 - 0x0046 │ │ -> 0x0044 │ │ positions : │ │ 0x0000 line=328 │ │ 0x0003 line=329 │ │ 0x0007 line=330 │ │ @@ -60257,17 +60257,17 @@ │ │ type : '(Ljava/lang/String;)V' │ │ access : 0x0009 (PUBLIC STATIC) │ │ code - │ │ registers : 1 │ │ ins : 1 │ │ outs : 0 │ │ insns size : 3 16-bit code units │ │ -02a870: |[02a870] util.conpool.Connection.setCustomHostsFile:(Ljava/lang/String;)V │ │ -02a880: 6900 7d03 |0000: sput-object v0, Lutil/conpool/Connection;.CUSTOM_HOSTS_FILE_NAME:Ljava/lang/String; // field@037d │ │ -02a884: 0e00 |0002: return-void │ │ +02a86c: |[02a86c] util.conpool.Connection.setCustomHostsFile:(Ljava/lang/String;)V │ │ +02a87c: 6900 7d03 |0000: sput-object v0, Lutil/conpool/Connection;.CUSTOM_HOSTS_FILE_NAME:Ljava/lang/String; // field@037d │ │ +02a880: 0e00 |0002: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=161 │ │ locals : │ │ 0x0000 - 0x0003 reg=0 (null) Ljava/lang/String; │ │ │ │ #23 : (in Lutil/conpool/Connection;) │ │ @@ -60275,17 +60275,17 @@ │ │ type : '(I)V' │ │ access : 0x0009 (PUBLIC STATIC) │ │ code - │ │ registers : 1 │ │ ins : 1 │ │ outs : 0 │ │ insns size : 3 16-bit code units │ │ -02a888: |[02a888] util.conpool.Connection.setPoolTimeoutSeconds:(I)V │ │ -02a898: 6700 7f03 |0000: sput v0, Lutil/conpool/Connection;.POOLTIMEOUT_SECONDS:I // field@037f │ │ -02a89c: 0e00 |0002: return-void │ │ +02a884: |[02a884] util.conpool.Connection.setPoolTimeoutSeconds:(I)V │ │ +02a894: 6700 7f03 |0000: sput v0, Lutil/conpool/Connection;.POOLTIMEOUT_SECONDS:I // field@037f │ │ +02a898: 0e00 |0002: return-void │ │ catches : (none) │ │ positions : │ │ 0x0000 line=289 │ │ locals : │ │ 0x0000 - 0x0003 reg=0 (null) I │ │ │ │ Virtual methods - │ │ @@ -60294,17 +60294,17 @@ │ │ type : '()Ljava/lang/String;' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 0 │ │ insns size : 3 16-bit code units │ │ -029bc0: |[029bc0] util.conpool.Connection.getDestination:()Ljava/lang/String; │ │ -029bd0: 5410 8703 |0000: iget-object v0, v1, Lutil/conpool/Connection;.poolKey:Ljava/lang/String; // field@0387 │ │ -029bd4: 1100 |0002: return-object v0 │ │ +029bbc: |[029bbc] util.conpool.Connection.getDestination:()Ljava/lang/String; │ │ +029bcc: 5410 8703 |0000: iget-object v0, v1, Lutil/conpool/Connection;.poolKey:Ljava/lang/String; // field@0387 │ │ +029bd0: 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;) │ │ @@ -60312,17 +60312,17 @@ │ │ type : '()Ljava/io/InputStream;' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 0 │ │ insns size : 3 16-bit code units │ │ -029b90: |[029b90] util.conpool.Connection.getInputStream:()Ljava/io/InputStream; │ │ -029ba0: 5410 8503 |0000: iget-object v0, v1, Lutil/conpool/Connection;.in:Lutil/conpool/PooledConnectionInputStream; // field@0385 │ │ -029ba4: 1100 |0002: return-object v0 │ │ +029b8c: |[029b8c] util.conpool.Connection.getInputStream:()Ljava/io/InputStream; │ │ +029b9c: 5410 8503 |0000: iget-object v0, v1, Lutil/conpool/Connection;.in:Lutil/conpool/PooledConnectionInputStream; // field@0385 │ │ +029ba0: 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;) │ │ @@ -60330,17 +60330,17 @@ │ │ type : '()Ljava/io/OutputStream;' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 2 │ │ ins : 1 │ │ outs : 0 │ │ insns size : 3 16-bit code units │ │ -029ba8: |[029ba8] util.conpool.Connection.getOutputStream:()Ljava/io/OutputStream; │ │ -029bb8: 5410 8603 |0000: iget-object v0, v1, Lutil/conpool/Connection;.out:Lutil/conpool/PooledConnectionOutputStream; // field@0386 │ │ -029bbc: 1100 |0002: return-object v0 │ │ +029ba4: |[029ba4] util.conpool.Connection.getOutputStream:()Ljava/io/OutputStream; │ │ +029bb4: 5410 8603 |0000: iget-object v0, v1, Lutil/conpool/Connection;.out:Lutil/conpool/PooledConnectionOutputStream; // field@0386 │ │ +029bb8: 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;) │ │ @@ -60348,19 +60348,19 @@ │ │ type : '()J' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 3 │ │ ins : 1 │ │ outs : 1 │ │ insns size : 7 16-bit code units │ │ -029ea0: |[029ea0] util.conpool.Connection.getTimoutTime:()J │ │ -029eb0: 5420 8f03 |0000: iget-object v0, v2, Lutil/conpool/Connection;.timeout:Lutil/TimeoutTime; // field@038f │ │ -029eb4: 6e10 8107 0000 |0002: invoke-virtual {v0}, Lutil/TimeoutTime;.getTimeout:()J // method@0781 │ │ -029eba: 0b00 |0005: move-result-wide v0 │ │ -029ebc: 1000 |0006: return-wide v0 │ │ +029e9c: |[029e9c] util.conpool.Connection.getTimoutTime:()J │ │ +029eac: 5420 8f03 |0000: iget-object v0, v2, Lutil/conpool/Connection;.timeout:Lutil/TimeoutTime; // field@038f │ │ +029eb0: 6e10 8107 0000 |0002: invoke-virtual {v0}, Lutil/TimeoutTime;.getTimeout:()J // method@0781 │ │ +029eb6: 0b00 |0005: move-result-wide v0 │ │ +029eb8: 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;) │ │ @@ -60368,34 +60368,34 @@ │ │ type : '()[J' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 7 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 34 16-bit code units │ │ -029ec0: |[029ec0] util.conpool.Connection.getTraffic:()[J │ │ -029ed0: 5560 8003 |0000: iget-boolean v0, v6, Lutil/conpool/Connection;.acquired:Z // field@0380 │ │ -029ed4: 3800 1800 |0002: if-eqz v0, 001a // +0018 │ │ -029ed8: 5460 8503 |0004: iget-object v0, v6, Lutil/conpool/Connection;.in:Lutil/conpool/PooledConnectionInputStream; // field@0385 │ │ -029edc: 6e10 cf07 0000 |0006: invoke-virtual {v0}, Lutil/conpool/PooledConnectionInputStream;.getTraffic:()J // method@07cf │ │ -029ee2: 0b00 |0009: move-result-wide v0 │ │ -029ee4: 5462 8603 |000a: iget-object v2, v6, Lutil/conpool/Connection;.out:Lutil/conpool/PooledConnectionOutputStream; // field@0386 │ │ -029ee8: 6e10 d707 0200 |000c: invoke-virtual {v2}, Lutil/conpool/PooledConnectionOutputStream;.getTraffic:()J // method@07d7 │ │ -029eee: 0b02 |000f: move-result-wide v2 │ │ -029ef0: 1224 |0010: const/4 v4, #int 2 // #2 │ │ -029ef2: 2344 9f01 |0011: new-array v4, v4, [J // type@019f │ │ -029ef6: 1205 |0013: const/4 v5, #int 0 // #0 │ │ -029ef8: 4c00 0405 |0014: aput-wide v0, v4, v5 │ │ -029efc: 1210 |0016: const/4 v0, #int 1 // #1 │ │ -029efe: 4c02 0400 |0017: aput-wide v2, v4, v0 │ │ -029f02: 1104 |0019: return-object v4 │ │ -029f04: 2200 1d01 |001a: new-instance v0, Ljava/lang/IllegalStateException; // type@011d │ │ -029f08: 1a01 e601 |001c: const-string v1, "Inconsistent connection state - Connection is not acquired!" // string@01e6 │ │ -029f0c: 7020 6105 1000 |001e: invoke-direct {v0, v1}, Ljava/lang/IllegalStateException;.:(Ljava/lang/String;)V // method@0561 │ │ -029f12: 2700 |0021: throw v0 │ │ +029ebc: |[029ebc] util.conpool.Connection.getTraffic:()[J │ │ +029ecc: 5560 8003 |0000: iget-boolean v0, v6, Lutil/conpool/Connection;.acquired:Z // field@0380 │ │ +029ed0: 3800 1800 |0002: if-eqz v0, 001a // +0018 │ │ +029ed4: 5460 8503 |0004: iget-object v0, v6, Lutil/conpool/Connection;.in:Lutil/conpool/PooledConnectionInputStream; // field@0385 │ │ +029ed8: 6e10 cf07 0000 |0006: invoke-virtual {v0}, Lutil/conpool/PooledConnectionInputStream;.getTraffic:()J // method@07cf │ │ +029ede: 0b00 |0009: move-result-wide v0 │ │ +029ee0: 5462 8603 |000a: iget-object v2, v6, Lutil/conpool/Connection;.out:Lutil/conpool/PooledConnectionOutputStream; // field@0386 │ │ +029ee4: 6e10 d707 0200 |000c: invoke-virtual {v2}, Lutil/conpool/PooledConnectionOutputStream;.getTraffic:()J // method@07d7 │ │ +029eea: 0b02 |000f: move-result-wide v2 │ │ +029eec: 1224 |0010: const/4 v4, #int 2 // #2 │ │ +029eee: 2344 9f01 |0011: new-array v4, v4, [J // type@019f │ │ +029ef2: 1205 |0013: const/4 v5, #int 0 // #0 │ │ +029ef4: 4c00 0405 |0014: aput-wide v0, v4, v5 │ │ +029ef8: 1210 |0016: const/4 v0, #int 1 // #1 │ │ +029efa: 4c02 0400 |0017: aput-wide v2, v4, v0 │ │ +029efe: 1104 |0019: return-object v4 │ │ +029f00: 2200 1d01 |001a: new-instance v0, Ljava/lang/IllegalStateException; // type@011d │ │ +029f04: 1a01 e601 |001c: const-string v1, "Inconsistent connection state - Connection is not acquired!" // string@01e6 │ │ +029f08: 7020 6105 1000 |001e: invoke-direct {v0, v1}, Ljava/lang/IllegalStateException;.:(Ljava/lang/String;)V // method@0561 │ │ +029f0e: 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; │ │ @@ -60405,38 +60405,38 @@ │ │ type : '()V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 3 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 51 16-bit code units │ │ -02a758: |[02a758] util.conpool.Connection.refreshConnection:()V │ │ -02a768: 5420 8a03 |0000: iget-object v0, v2, Lutil/conpool/Connection;.socket:Ljava/net/Socket; // field@038a │ │ -02a76c: 3800 0700 |0002: if-eqz v0, 0009 // +0007 │ │ -02a770: 6e10 ec05 0000 |0004: invoke-virtual {v0}, Ljava/net/Socket;.getSoTimeout:()I // method@05ec │ │ -02a776: 0a00 |0007: move-result v0 │ │ -02a778: 2802 |0008: goto 000a // +0002 │ │ -02a77a: 1200 |0009: const/4 v0, #int 0 // #0 │ │ -02a77c: 5421 8503 |000a: iget-object v1, v2, Lutil/conpool/Connection;.in:Lutil/conpool/PooledConnectionInputStream; // field@0385 │ │ -02a780: 6e10 d007 0100 |000c: invoke-virtual {v1}, Lutil/conpool/PooledConnectionInputStream;.invalidate:()V // method@07d0 │ │ -02a786: 5421 8603 |000f: iget-object v1, v2, Lutil/conpool/Connection;.out:Lutil/conpool/PooledConnectionOutputStream; // field@0386 │ │ -02a78a: 6e10 d807 0100 |0011: invoke-virtual {v1}, Lutil/conpool/PooledConnectionOutputStream;.invalidate:()V // method@07d8 │ │ -02a790: 5521 8d03 |0014: iget-boolean v1, v2, Lutil/conpool/Connection;.ssl:Z // field@038d │ │ -02a794: 3901 0c00 |0016: if-nez v1, 0022 // +000c │ │ -02a798: 5421 8a03 |0018: iget-object v1, v2, Lutil/conpool/Connection;.socket:Ljava/net/Socket; // field@038a │ │ -02a79c: 6e10 ef05 0100 |001a: invoke-virtual {v1}, Ljava/net/Socket;.shutdownOutput:()V // method@05ef │ │ -02a7a2: 5421 8a03 |001d: iget-object v1, v2, Lutil/conpool/Connection;.socket:Ljava/net/Socket; // field@038a │ │ -02a7a6: 6e10 ee05 0100 |001f: invoke-virtual {v1}, Ljava/net/Socket;.shutdownInput:()V // method@05ee │ │ -02a7ac: 5421 8a03 |0022: iget-object v1, v2, Lutil/conpool/Connection;.socket:Ljava/net/Socket; // field@038a │ │ -02a7b0: 6e10 e805 0100 |0024: invoke-virtual {v1}, Ljava/net/Socket;.close:()V // method@05e8 │ │ -02a7b6: 7010 b207 0200 |0027: invoke-direct {v2}, Lutil/conpool/Connection;.establishConnection:()V // method@07b2 │ │ -02a7bc: 5421 8a03 |002a: iget-object v1, v2, Lutil/conpool/Connection;.socket:Ljava/net/Socket; // field@038a │ │ -02a7c0: 6e20 ed05 0100 |002c: invoke-virtual {v1, v0}, Ljava/net/Socket;.setSoTimeout:(I)V // method@05ed │ │ -02a7c6: 7010 bb07 0200 |002f: invoke-direct {v2}, Lutil/conpool/Connection;.initStreams:()V // method@07bb │ │ -02a7cc: 0e00 |0032: return-void │ │ +02a754: |[02a754] util.conpool.Connection.refreshConnection:()V │ │ +02a764: 5420 8a03 |0000: iget-object v0, v2, Lutil/conpool/Connection;.socket:Ljava/net/Socket; // field@038a │ │ +02a768: 3800 0700 |0002: if-eqz v0, 0009 // +0007 │ │ +02a76c: 6e10 ec05 0000 |0004: invoke-virtual {v0}, Ljava/net/Socket;.getSoTimeout:()I // method@05ec │ │ +02a772: 0a00 |0007: move-result v0 │ │ +02a774: 2802 |0008: goto 000a // +0002 │ │ +02a776: 1200 |0009: const/4 v0, #int 0 // #0 │ │ +02a778: 5421 8503 |000a: iget-object v1, v2, Lutil/conpool/Connection;.in:Lutil/conpool/PooledConnectionInputStream; // field@0385 │ │ +02a77c: 6e10 d007 0100 |000c: invoke-virtual {v1}, Lutil/conpool/PooledConnectionInputStream;.invalidate:()V // method@07d0 │ │ +02a782: 5421 8603 |000f: iget-object v1, v2, Lutil/conpool/Connection;.out:Lutil/conpool/PooledConnectionOutputStream; // field@0386 │ │ +02a786: 6e10 d807 0100 |0011: invoke-virtual {v1}, Lutil/conpool/PooledConnectionOutputStream;.invalidate:()V // method@07d8 │ │ +02a78c: 5521 8d03 |0014: iget-boolean v1, v2, Lutil/conpool/Connection;.ssl:Z // field@038d │ │ +02a790: 3901 0c00 |0016: if-nez v1, 0022 // +000c │ │ +02a794: 5421 8a03 |0018: iget-object v1, v2, Lutil/conpool/Connection;.socket:Ljava/net/Socket; // field@038a │ │ +02a798: 6e10 ef05 0100 |001a: invoke-virtual {v1}, Ljava/net/Socket;.shutdownOutput:()V // method@05ef │ │ +02a79e: 5421 8a03 |001d: iget-object v1, v2, Lutil/conpool/Connection;.socket:Ljava/net/Socket; // field@038a │ │ +02a7a2: 6e10 ee05 0100 |001f: invoke-virtual {v1}, Ljava/net/Socket;.shutdownInput:()V // method@05ee │ │ +02a7a8: 5421 8a03 |0022: iget-object v1, v2, Lutil/conpool/Connection;.socket:Ljava/net/Socket; // field@038a │ │ +02a7ac: 6e10 e805 0100 |0024: invoke-virtual {v1}, Ljava/net/Socket;.close:()V // method@05e8 │ │ +02a7b2: 7010 b207 0200 |0027: invoke-direct {v2}, Lutil/conpool/Connection;.establishConnection:()V // method@07b2 │ │ +02a7b8: 5421 8a03 |002a: iget-object v1, v2, Lutil/conpool/Connection;.socket:Ljava/net/Socket; // field@038a │ │ +02a7bc: 6e20 ed05 0100 |002c: invoke-virtual {v1, v0}, Ljava/net/Socket;.setSoTimeout:(I)V // method@05ed │ │ +02a7c2: 7010 bb07 0200 |002f: invoke-direct {v2}, Lutil/conpool/Connection;.initStreams:()V // method@07bb │ │ +02a7c8: 0e00 |0032: return-void │ │ catches : 1 │ │ 0x000a - 0x0027 │ │ Ljava/io/IOException; -> 0x0027 │ │ positions : │ │ 0x0000 line=265 │ │ 0x0004 line=266 │ │ 0x000a line=269 │ │ @@ -60456,40 +60456,40 @@ │ │ type : '(Z)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 4 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 47 16-bit code units │ │ -02a7e0: |[02a7e0] util.conpool.Connection.release:(Z)V │ │ -02a7f0: 5520 9103 |0000: iget-boolean v0, v2, Lutil/conpool/Connection;.valid:Z // field@0391 │ │ -02a7f4: 3900 0300 |0002: if-nez v0, 0005 // +0003 │ │ -02a7f8: 0e00 |0004: return-void │ │ -02a7fa: 6200 8203 |0005: sget-object v0, Lutil/conpool/Connection;.connAcquired:Ljava/util/HashSet; // field@0382 │ │ -02a7fe: 1d00 |0007: monitor-enter v0 │ │ -02a800: 6201 8203 |0008: sget-object v1, Lutil/conpool/Connection;.connAcquired:Ljava/util/HashSet; // field@0382 │ │ -02a804: 6e20 3306 2100 |000a: invoke-virtual {v1, v2}, Ljava/util/HashSet;.remove:(Ljava/lang/Object;)Z // method@0633 │ │ -02a80a: 1e00 |000d: monitor-exit v0 │ │ -02a80c: 3803 1a00 |000e: if-eqz v3, 0028 // +001a │ │ -02a810: 5423 8503 |0010: iget-object v3, v2, Lutil/conpool/Connection;.in:Lutil/conpool/PooledConnectionInputStream; // field@0385 │ │ -02a814: 6e10 d007 0300 |0012: invoke-virtual {v3}, Lutil/conpool/PooledConnectionInputStream;.invalidate:()V // method@07d0 │ │ -02a81a: 5423 8603 |0015: iget-object v3, v2, Lutil/conpool/Connection;.out:Lutil/conpool/PooledConnectionOutputStream; // field@0386 │ │ -02a81e: 6e10 d807 0300 |0017: invoke-virtual {v3}, Lutil/conpool/PooledConnectionOutputStream;.invalidate:()V // method@07d8 │ │ -02a824: 1203 |001a: const/4 v3, #int 0 // #0 │ │ -02a826: 5420 8a03 |001b: iget-object v0, v2, Lutil/conpool/Connection;.socket:Ljava/net/Socket; // field@038a │ │ -02a82a: 6e20 ed05 3000 |001d: invoke-virtual {v0, v3}, Ljava/net/Socket;.setSoTimeout:(I)V // method@05ed │ │ -02a830: 7110 c107 0200 |0020: invoke-static {v2}, Lutil/conpool/Connection;.poolReuse:(Lutil/conpool/Connection;)V // method@07c1 │ │ -02a836: 2808 |0023: goto 002b // +0008 │ │ -02a838: 6e20 c307 3200 |0024: invoke-virtual {v2, v3}, Lutil/conpool/Connection;.release:(Z)V // method@07c3 │ │ -02a83e: 0e00 |0027: return-void │ │ -02a840: 7010 ab07 0200 |0028: invoke-direct {v2}, Lutil/conpool/Connection;.closeConnection:()V // method@07ab │ │ -02a846: 0e00 |002b: return-void │ │ -02a848: 0d03 |002c: move-exception v3 │ │ -02a84a: 1e00 |002d: monitor-exit v0 │ │ -02a84c: 2703 |002e: throw v3 │ │ +02a7dc: |[02a7dc] util.conpool.Connection.release:(Z)V │ │ +02a7ec: 5520 9103 |0000: iget-boolean v0, v2, Lutil/conpool/Connection;.valid:Z // field@0391 │ │ +02a7f0: 3900 0300 |0002: if-nez v0, 0005 // +0003 │ │ +02a7f4: 0e00 |0004: return-void │ │ +02a7f6: 6200 8203 |0005: sget-object v0, Lutil/conpool/Connection;.connAcquired:Ljava/util/HashSet; // field@0382 │ │ +02a7fa: 1d00 |0007: monitor-enter v0 │ │ +02a7fc: 6201 8203 |0008: sget-object v1, Lutil/conpool/Connection;.connAcquired:Ljava/util/HashSet; // field@0382 │ │ +02a800: 6e20 3306 2100 |000a: invoke-virtual {v1, v2}, Ljava/util/HashSet;.remove:(Ljava/lang/Object;)Z // method@0633 │ │ +02a806: 1e00 |000d: monitor-exit v0 │ │ +02a808: 3803 1a00 |000e: if-eqz v3, 0028 // +001a │ │ +02a80c: 5423 8503 |0010: iget-object v3, v2, Lutil/conpool/Connection;.in:Lutil/conpool/PooledConnectionInputStream; // field@0385 │ │ +02a810: 6e10 d007 0300 |0012: invoke-virtual {v3}, Lutil/conpool/PooledConnectionInputStream;.invalidate:()V // method@07d0 │ │ +02a816: 5423 8603 |0015: iget-object v3, v2, Lutil/conpool/Connection;.out:Lutil/conpool/PooledConnectionOutputStream; // field@0386 │ │ +02a81a: 6e10 d807 0300 |0017: invoke-virtual {v3}, Lutil/conpool/PooledConnectionOutputStream;.invalidate:()V // method@07d8 │ │ +02a820: 1203 |001a: const/4 v3, #int 0 // #0 │ │ +02a822: 5420 8a03 |001b: iget-object v0, v2, Lutil/conpool/Connection;.socket:Ljava/net/Socket; // field@038a │ │ +02a826: 6e20 ed05 3000 |001d: invoke-virtual {v0, v3}, Ljava/net/Socket;.setSoTimeout:(I)V // method@05ed │ │ +02a82c: 7110 c107 0200 |0020: invoke-static {v2}, Lutil/conpool/Connection;.poolReuse:(Lutil/conpool/Connection;)V // method@07c1 │ │ +02a832: 2808 |0023: goto 002b // +0008 │ │ +02a834: 6e20 c307 3200 |0024: invoke-virtual {v2, v3}, Lutil/conpool/Connection;.release:(Z)V // method@07c3 │ │ +02a83a: 0e00 |0027: return-void │ │ +02a83c: 7010 ab07 0200 |0028: invoke-direct {v2}, Lutil/conpool/Connection;.closeConnection:()V // method@07ab │ │ +02a842: 0e00 |002b: return-void │ │ +02a844: 0d03 |002c: move-exception v3 │ │ +02a846: 1e00 |002d: monitor-exit v0 │ │ +02a848: 2703 |002e: throw v3 │ │ catches : 3 │ │ 0x0008 - 0x000e │ │ -> 0x002c │ │ 0x001b - 0x0020 │ │ Ljava/net/SocketException; -> 0x0024 │ │ 0x002d - 0x002e │ │ -> 0x002c │ │ @@ -60514,18 +60514,18 @@ │ │ type : '(I)V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 3 │ │ ins : 2 │ │ outs : 2 │ │ insns size : 6 16-bit code units │ │ -02a8a0: |[02a8a0] util.conpool.Connection.setSoTimeout:(I)V │ │ -02a8b0: 5410 8a03 |0000: iget-object v0, v1, Lutil/conpool/Connection;.socket:Ljava/net/Socket; // field@038a │ │ -02a8b4: 6e20 ed05 2000 |0002: invoke-virtual {v0, v2}, Ljava/net/Socket;.setSoTimeout:(I)V // method@05ed │ │ -02a8ba: 0e00 |0005: return-void │ │ +02a89c: |[02a89c] util.conpool.Connection.setSoTimeout:(I)V │ │ +02a8ac: 5410 8a03 |0000: iget-object v0, v1, Lutil/conpool/Connection;.socket:Ljava/net/Socket; // field@038a │ │ +02a8b0: 6e20 ed05 2000 |0002: invoke-virtual {v0, v2}, Ljava/net/Socket;.setSoTimeout:(I)V // method@05ed │ │ +02a8b6: 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 │ │ │ │ @@ -60534,40 +60534,40 @@ │ │ type : '()V' │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 5 │ │ ins : 1 │ │ outs : 2 │ │ insns size : 44 16-bit code units │ │ -02a8bc: |[02a8bc] util.conpool.Connection.timeoutNotification:()V │ │ -02a8cc: 6200 8303 |0000: sget-object v0, Lutil/conpool/Connection;.connPooled:Ljava/util/HashMap; // field@0383 │ │ -02a8d0: 1d00 |0002: monitor-enter v0 │ │ -02a8d2: 6201 8303 |0003: sget-object v1, Lutil/conpool/Connection;.connPooled:Ljava/util/HashMap; // field@0383 │ │ -02a8d6: 5442 8703 |0005: iget-object v2, v4, Lutil/conpool/Connection;.poolKey:Ljava/lang/String; // field@0387 │ │ -02a8da: 6e20 2806 2100 |0007: invoke-virtual {v1, v2}, Ljava/util/HashMap;.get:(Ljava/lang/Object;)Ljava/lang/Object; // method@0628 │ │ -02a8e0: 0c01 |000a: move-result-object v1 │ │ -02a8e2: 1f01 6a01 |000b: check-cast v1, Ljava/util/Vector; // type@016a │ │ -02a8e6: 3901 0400 |000d: if-nez v1, 0011 // +0004 │ │ -02a8ea: 1e00 |000f: monitor-exit v0 │ │ -02a8ec: 0e00 |0010: return-void │ │ -02a8ee: 6e20 8006 4100 |0011: invoke-virtual {v1, v4}, Ljava/util/Vector;.remove:(Ljava/lang/Object;)Z // method@0680 │ │ -02a8f4: 0a02 |0014: move-result v2 │ │ -02a8f6: 6e10 7d06 0100 |0015: invoke-virtual {v1}, Ljava/util/Vector;.isEmpty:()Z // method@067d │ │ -02a8fc: 0a01 |0018: move-result v1 │ │ -02a8fe: 3801 0900 |0019: if-eqz v1, 0022 // +0009 │ │ -02a902: 6201 8303 |001b: sget-object v1, Lutil/conpool/Connection;.connPooled:Ljava/util/HashMap; // field@0383 │ │ -02a906: 5443 8703 |001d: iget-object v3, v4, Lutil/conpool/Connection;.poolKey:Ljava/lang/String; // field@0387 │ │ -02a90a: 6e20 2a06 3100 |001f: invoke-virtual {v1, v3}, Ljava/util/HashMap;.remove:(Ljava/lang/Object;)Ljava/lang/Object; // method@062a │ │ -02a910: 1e00 |0022: monitor-exit v0 │ │ -02a912: 3802 0500 |0023: if-eqz v2, 0028 // +0005 │ │ -02a916: 7010 ab07 0400 |0025: invoke-direct {v4}, Lutil/conpool/Connection;.closeConnection:()V // method@07ab │ │ -02a91c: 0e00 |0028: return-void │ │ -02a91e: 0d01 |0029: move-exception v1 │ │ -02a920: 1e00 |002a: monitor-exit v0 │ │ -02a922: 2701 |002b: throw v1 │ │ +02a8b8: |[02a8b8] util.conpool.Connection.timeoutNotification:()V │ │ +02a8c8: 6200 8303 |0000: sget-object v0, Lutil/conpool/Connection;.connPooled:Ljava/util/HashMap; // field@0383 │ │ +02a8cc: 1d00 |0002: monitor-enter v0 │ │ +02a8ce: 6201 8303 |0003: sget-object v1, Lutil/conpool/Connection;.connPooled:Ljava/util/HashMap; // field@0383 │ │ +02a8d2: 5442 8703 |0005: iget-object v2, v4, Lutil/conpool/Connection;.poolKey:Ljava/lang/String; // field@0387 │ │ +02a8d6: 6e20 2806 2100 |0007: invoke-virtual {v1, v2}, Ljava/util/HashMap;.get:(Ljava/lang/Object;)Ljava/lang/Object; // method@0628 │ │ +02a8dc: 0c01 |000a: move-result-object v1 │ │ +02a8de: 1f01 6a01 |000b: check-cast v1, Ljava/util/Vector; // type@016a │ │ +02a8e2: 3901 0400 |000d: if-nez v1, 0011 // +0004 │ │ +02a8e6: 1e00 |000f: monitor-exit v0 │ │ +02a8e8: 0e00 |0010: return-void │ │ +02a8ea: 6e20 8006 4100 |0011: invoke-virtual {v1, v4}, Ljava/util/Vector;.remove:(Ljava/lang/Object;)Z // method@0680 │ │ +02a8f0: 0a02 |0014: move-result v2 │ │ +02a8f2: 6e10 7d06 0100 |0015: invoke-virtual {v1}, Ljava/util/Vector;.isEmpty:()Z // method@067d │ │ +02a8f8: 0a01 |0018: move-result v1 │ │ +02a8fa: 3801 0900 |0019: if-eqz v1, 0022 // +0009 │ │ +02a8fe: 6201 8303 |001b: sget-object v1, Lutil/conpool/Connection;.connPooled:Ljava/util/HashMap; // field@0383 │ │ +02a902: 5443 8703 |001d: iget-object v3, v4, Lutil/conpool/Connection;.poolKey:Ljava/lang/String; // field@0387 │ │ +02a906: 6e20 2a06 3100 |001f: invoke-virtual {v1, v3}, Ljava/util/HashMap;.remove:(Ljava/lang/Object;)Ljava/lang/Object; // method@062a │ │ +02a90c: 1e00 |0022: monitor-exit v0 │ │ +02a90e: 3802 0500 |0023: if-eqz v2, 0028 // +0005 │ │ +02a912: 7010 ab07 0400 |0025: invoke-direct {v4}, Lutil/conpool/Connection;.closeConnection:()V // method@07ab │ │ +02a918: 0e00 |0028: return-void │ │ +02a91a: 0d01 |0029: move-exception v1 │ │ +02a91c: 1e00 |002a: monitor-exit v0 │ │ +02a91e: 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: 428143 bytes, number of entries: 150 │ │ │ +Zip file size: 428124 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 4439 b- stor 80-Jan-01 00:00 dnsfilter/android/BootUpReceiver$$ExternalSyntheticApiModelOutline0.class │ │ │ ?rwxrwxr-x 2.0 unx 2216 b- stor 80-Jan-01 00:00 dnsfilter/android/BootUpReceiver.class │ │ │ ?rwxrwxr-x 2.0 unx 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, 476294 bytes uncompressed, 402949 bytes compressed: 15.4% │ │ │ +150 files, 476275 bytes uncompressed, 402930 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