--- /home/hans/code/fdroid/data/tmp/org.gfd.gsmlocation_14.apk +++ /home/hans/code/fdroid/data/tmp/sigcp_org.gfd.gsmlocation_14.apk ├── zipinfo {} │ @@ -1,10 +1,10 @@ │ -Zip file size: 67398384 bytes, number of entries: 8 │ +Zip file size: 67398355 bytes, number of entries: 8 │ -rw---- 2.0 fat 423 bl defN 14-Apr-29 11:53 META-INF/MANIFEST.MF │ -rw---- 2.0 fat 544 bl defN 14-Apr-29 11:53 META-INF/9413BC76.SF │ -rw---- 2.0 fat 1332 bl defN 14-Apr-29 11:53 META-INF/9413BC76.RSA │ --rw---- 1.0 fat 67317228 bx stor 14-Apr-29 11:49 assets/towers.bcs.xz │ --rw---- 2.0 fat 3284 bl defN 14-Apr-29 11:50 AndroidManifest.xml │ --rw---- 1.0 fat 904 b- stor 14-Apr-29 11:50 resources.arsc │ --rw---- 1.0 fat 845 b- stor 14-Apr-29 11:50 res/drawable-hdpi/icon.png │ --rw---- 2.0 fat 197368 bl defN 14-Apr-29 11:50 classes.dex │ -8 files, 67521928 bytes uncompressed, 67397361 bytes compressed: 0.2% │ +-rw---- 2.0 fat 3112 bX defN 16-Sep-07 20:32 AndroidManifest.xml │ +-rw---- 1.0 fat 67317228 b- stor 80-Jan-01 00:00 assets/towers.bcs.xz │ +-rw---- 1.0 fat 843 b- stor 80-Jan-01 00:00 res/drawable-hdpi-v4/icon.png │ +-rw---- 1.0 fat 972 b- stor 80-Jan-01 00:00 resources.arsc │ +-rw---- 2.0 fat 199220 bl defN 16-Sep-07 20:32 classes.dex │ +8 files, 67523674 bytes uncompressed, 67397349 bytes compressed: 0.2% ├── AndroidManifest.xml │ @@ -1,9 +1,9 @@ │ │ - │ @@ -13,9 +13,8 @@ │ │ │ - ├── res/drawable-hdpi-v4/icon.png ├── sng │ │ @@ -8,15 +8,14 @@ │ │ ( 0,146, 0) # rgb = (0x00,0x92,0x00) │ │ ( 0,134, 13) # rgb = (0x00,0x86,0x0d) │ │ ( 0,134, 17) # rgb = (0x00,0x86,0x11) │ │ ( 0,128, 14) # rgb = (0x00,0x80,0x0e) │ │ ( 0,132, 16) # rgb = (0x00,0x84,0x10) │ │ ( 0,131, 16) # rgb = (0x00,0x83,0x10) │ │ ( 0,132, 16) # rgb = (0x00,0x84,0x10) │ │ - ( 0,132, 16) # rgb = (0x00,0x84,0x10) │ │ ( 0,128, 32) # rgb = (0x00,0x80,0x20) │ │ ( 0,132, 16) # rgb = (0x00,0x84,0x10) │ │ ( 0,132, 16) # rgb = (0x00,0x84,0x10) │ │ ( 0,133, 16) # rgb = (0x00,0x85,0x10) │ │ ( 0,132, 16) # rgb = (0x00,0x84,0x10) │ │ ( 0,132, 16) # rgb = (0x00,0x84,0x10) │ │ ( 0,133, 16) # rgb = (0x00,0x85,0x10) │ │ @@ -89,17 +88,18 @@ │ │ ( 0,142, 28) # rgb = (0x00,0x8e,0x1c) │ │ ( 0,128, 26) # rgb = (0x00,0x80,0x1a) │ │ ( 0,132, 16) # rgb = (0x00,0x84,0x10) │ │ ( 0,131, 16) # rgb = (0x00,0x83,0x10) │ │ ( 0,132, 16) # rgb = (0x00,0x84,0x10) │ │ ( 0,128, 18) # rgb = (0x00,0x80,0x12) │ │ ( 0,132, 18) # rgb = (0x00,0x84,0x12) │ │ + ( 0,132, 16) # rgb = (0x00,0x84,0x10) │ │ } │ │ tRNS { │ │ - 0 7 38 61 18 110 194 248 255 8 126 241 127 210 211 48 234 235 26 229 1 183 184 76 252 188 135 31 253 220 51 32 94 240 34 134 156 68 155 62 133 114 84 222 13 247 185 16 169 232 132 78 231 52 254 166 25 237 93 168 17 224 251 136 214 66 178 54 55 199 99 100 14 245 15 171 86 87 190 122 58 59 9 10 206 163 129 28 29} │ │ + 0 7 38 61 18 110 194 248 8 126 241 127 210 211 48 234 235 26 229 1 183 184 76 252 188 135 31 253 220 51 32 94 240 34 134 156 68 155 62 133 114 84 222 13 247 185 16 169 232 132 78 231 52 254 166 25 237 93 168 17 224 251 136 214 66 178 54 55 199 99 100 14 245 15 171 86 87 190 122 58 59 9 10 206 163 129 28 29} │ │ IMAGE { │ │ pixels hex │ │ 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 │ │ 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 │ │ 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 │ │ 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 │ │ 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 │ │ @@ -109,57 +109,57 @@ │ │ 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 │ │ 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 │ │ 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 │ │ 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 │ │ 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 │ │ 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 │ │ 000000000000000000000000000000000000000000000000000000000000000000010203030201000000000000000000000000000000000000000000000000000000000000000000 │ │ -000000000000000000000000000000000000000000000000000000000000040506070808080807060504000000000000000000000000000000000000000000000000000000000000 │ │ -00000000000000000000000000000000000000000000000000000000090a0b080808080808080808080b0c0900000000000000000000000000000000000000000000000000000000 │ │ -000000000000000000000000000000000000000000000000000000020d08080808080808080808080808080e02000000000000000000000000000000000000000000000000000000 │ │ -00000000000000000000000000000000000000000000000000000f1008080808080808080808080808080808110f0000000000000000000000000000000000000000000000000000 │ │ -000000000000000000000000000000000000000000000000001213080808080808080808080808080808080808131200000000000000000000000000000000000000000000000000 │ │ -000000000000000000000000000000000000000000000000141508080808080808080808080808080808080808081614000000000000000000000000000000000000000000000000 │ │ -000000000000000000000000000000000000000000000000170808080808080808080808080808080808080808080817000000000000000000000000000000000000000000000000 │ │ -00000000000000000000000000000000000000000000000006080808080808080818191a1a1918080808080808080806000000000000000000000000000000000000000000000000 │ │ -00000000000000000000000000000000000000000000001b1c080808080808081d1e000000001e1d080808080808081c1f0000000000000000000000000000000000000000000000 │ │ -000000000000000000000000000000000000000000000020080808080808082122000000000000222108080808080808200000000000000000000000000000000000000000000000 │ │ -00000000000000000000000000000000000000000000001a0808080808080823000000000000000023080808080808081a0000000000000000000000000000000000000000000000 │ │ -000000000000000000000000000000000000000000000024080808080808082500000000000000002508080808080808240000000000000000000000000000000000000000000000 │ │ -000000000000000000000000000000000000000000000026080808080808082700000000000000002708080808080808260000000000000000000000000000000000000000000000 │ │ -000000000000000000000000000000000000000000000028080808080808082900000000000000002908080808080808280000000000000000000000000000000000000000000000 │ │ -00000000000000000000000000000000000000000000002a080808080808082b2c0000000000002c2b080808080808082a0000000000000000000000000000000000000000000000 │ │ -0000000000000000000000000000000000000000000000042d080808080808082e2f000000002f2e080808080808082d040000000000000000000000000000000000000000000000 │ │ -000000000000000000000000000000000000000000000000300808080808080808313233333234080808080808080830000000000000000000000000000000000000000000000000 │ │ -000000000000000000000000000000000000000000000000353608080808080808080808080808080808080808083635000000000000000000000000000000000000000000000000 │ │ -000000000000000000000000000000000000000000000000003708080808080808080808080808080808080808083700000000000000000000000000000000000000000000000000 │ │ -000000000000000000000000000000000000000000000000003839080808080808080808080808080808080808393800000000000000000000000000000000000000000000000000 │ │ -00000000000000000000000000000000000000000000000000003a0808080808080808080808080808080808083a0000000000000000000000000000000000000000000000000000 │ │ -0000000000000000000000000000000000000000000000000000003b080808080808080808080808080808083b000000000000000000000000000000000000000000000000000000 │ │ -0000000000000000000000000000000000000000000000000000003c3d08080808080808080808080808083d3c000000000000000000000000000000000000000000000000000000 │ │ -00000000000000000000000000000000000000000000000000000000273e0808080808080808080808083e2700000000000000000000000000000000000000000000000000000000 │ │ -00000000000000000000000000000000000000000000000000000000001a0808080808080808080808083f0000000000000000000000000000000000000000000000000000000000 │ │ -000000000000000000000000000000000000000000000000000000000009400808080808080808080840090000000000000000000000000000000000000000000000000000000000 │ │ -000000000000000000000000000000000000000000000000000000000000413608080808080808083641000000000000000000000000000000000000000000000000000000000000 │ │ -000000000000000000000000000000000000000000000000000000000000004208080808080808084200000000000000000000000000000000000000000000000000000000000000 │ │ -000000000000000000000000000000000000000000000000000000000000004336080808080808364400000000000000000000000000000000000000000000000000000000000000 │ │ -000000000000000000000000000000000000000000000000000000000000000045080808080808450000000000000000000000000000000000000000000000000000000000000000 │ │ -000000000000000000000000000000000000000000000000000000000000000046080808080808470000000000000000000000000000000000000000000000000000000000000000 │ │ -0000000000000000000000000000000000000000000000000000000000000000484908080808494a0000000000000000000000000000000000000000000000000000000000000000 │ │ -0000000000000000000000000000000000000000000000000000000000000000004b080808084b000000000000000000000000000000000000000000000000000000000000000000 │ │ -0000000000000000000000000000000000000000000000000000000000000000004c080808084d000000000000000000000000000000000000000000000000000000000000000000 │ │ -0000000000000000000000000000000000000000000000000000000000000000004a070808074a000000000000000000000000000000000000000000000000000000000000000000 │ │ -000000000000000000000000000000000000000000000000000000000000000000004e08084e00000000000000000000000000000000000000000000000000000000000000000000 │ │ -000000000000000000000000000000000000000000000000000000000000000000004f08084f00000000000000000000000000000000000000000000000000000000000000000000 │ │ -000000000000000000000000000000000000000000000000000000000000000000005008085100000000000000000000000000000000000000000000000000000000000000000000 │ │ -00000000000000000000000000000000000000000000000000000000000000000000522d2d5300000000000000000000000000000000000000000000000000000000000000000000 │ │ +000000000000000000000000000000000000000000000000000000000000040506075858585807060504000000000000000000000000000000000000000000000000000000000000 │ │ +0000000000000000000000000000000000000000000000000000000008090a585858585858585858580a0b0800000000000000000000000000000000000000000000000000000000 │ │ +000000000000000000000000000000000000000000000000000000020c58585858585858585858585858580d02000000000000000000000000000000000000000000000000000000 │ │ +00000000000000000000000000000000000000000000000000000e0f58585858585858585858585858585858100e0000000000000000000000000000000000000000000000000000 │ │ +000000000000000000000000000000000000000000000000001112585858585858585858585858585858585858121100000000000000000000000000000000000000000000000000 │ │ +000000000000000000000000000000000000000000000000131458585858585858585858585858585858585858581513000000000000000000000000000000000000000000000000 │ │ +000000000000000000000000000000000000000000000000165858585858585858585858585858585858585858585816000000000000000000000000000000000000000000000000 │ │ +000000000000000000000000000000000000000000000000065858585858585858171819191817585858585858585806000000000000000000000000000000000000000000000000 │ │ +00000000000000000000000000000000000000000000001a1b585858585858581c1d000000001d1c585858585858581b1e0000000000000000000000000000000000000000000000 │ │ +00000000000000000000000000000000000000000000001f5858585858585820210000000000002120585858585858581f0000000000000000000000000000000000000000000000 │ │ +000000000000000000000000000000000000000000000019585858585858582200000000000000002258585858585858190000000000000000000000000000000000000000000000 │ │ +000000000000000000000000000000000000000000000023585858585858582400000000000000002458585858585858230000000000000000000000000000000000000000000000 │ │ +000000000000000000000000000000000000000000000025585858585858582600000000000000002658585858585858250000000000000000000000000000000000000000000000 │ │ +000000000000000000000000000000000000000000000027585858585858582800000000000000002858585858585858270000000000000000000000000000000000000000000000 │ │ +000000000000000000000000000000000000000000000029585858585858582a2b0000000000002b2a58585858585858290000000000000000000000000000000000000000000000 │ │ +0000000000000000000000000000000000000000000000042c585858585858582d2e000000002e2d585858585858582c040000000000000000000000000000000000000000000000 │ │ +0000000000000000000000000000000000000000000000002f585858585858585830313232313358585858585858582f000000000000000000000000000000000000000000000000 │ │ +000000000000000000000000000000000000000000000000343558585858585858585858585858585858585858583534000000000000000000000000000000000000000000000000 │ │ +000000000000000000000000000000000000000000000000003658585858585858585858585858585858585858583600000000000000000000000000000000000000000000000000 │ │ +000000000000000000000000000000000000000000000000003738585858585858585858585858585858585858383700000000000000000000000000000000000000000000000000 │ │ +000000000000000000000000000000000000000000000000000039585858585858585858585858585858585858390000000000000000000000000000000000000000000000000000 │ │ +0000000000000000000000000000000000000000000000000000003a585858585858585858585858585858583a000000000000000000000000000000000000000000000000000000 │ │ +0000000000000000000000000000000000000000000000000000003b3c58585858585858585858585858583c3b000000000000000000000000000000000000000000000000000000 │ │ +00000000000000000000000000000000000000000000000000000000263d5858585858585858585858583d2600000000000000000000000000000000000000000000000000000000 │ │ +0000000000000000000000000000000000000000000000000000000000195858585858585858585858583e0000000000000000000000000000000000000000000000000000000000 │ │ +0000000000000000000000000000000000000000000000000000000000083f585858585858585858583f080000000000000000000000000000000000000000000000000000000000 │ │ +000000000000000000000000000000000000000000000000000000000000403558585858585858583540000000000000000000000000000000000000000000000000000000000000 │ │ +000000000000000000000000000000000000000000000000000000000000004158585858585858584100000000000000000000000000000000000000000000000000000000000000 │ │ +000000000000000000000000000000000000000000000000000000000000004235585858585858354300000000000000000000000000000000000000000000000000000000000000 │ │ +000000000000000000000000000000000000000000000000000000000000000044585858585858440000000000000000000000000000000000000000000000000000000000000000 │ │ +000000000000000000000000000000000000000000000000000000000000000045585858585858460000000000000000000000000000000000000000000000000000000000000000 │ │ +000000000000000000000000000000000000000000000000000000000000000047485858585848490000000000000000000000000000000000000000000000000000000000000000 │ │ +0000000000000000000000000000000000000000000000000000000000000000004a585858584a000000000000000000000000000000000000000000000000000000000000000000 │ │ +0000000000000000000000000000000000000000000000000000000000000000004b585858584c000000000000000000000000000000000000000000000000000000000000000000 │ │ +000000000000000000000000000000000000000000000000000000000000000000490758580749000000000000000000000000000000000000000000000000000000000000000000 │ │ +000000000000000000000000000000000000000000000000000000000000000000004d58584d00000000000000000000000000000000000000000000000000000000000000000000 │ │ +000000000000000000000000000000000000000000000000000000000000000000004e58584e00000000000000000000000000000000000000000000000000000000000000000000 │ │ +000000000000000000000000000000000000000000000000000000000000000000004f58585000000000000000000000000000000000000000000000000000000000000000000000 │ │ +00000000000000000000000000000000000000000000000000000000000000000000512c2c5200000000000000000000000000000000000000000000000000000000000000000000 │ │ +000000000000000000000000000000000000000000000000000000000000000000000053530000000000000000000000000000000000000000000000000000000000000000000000 │ │ 000000000000000000000000000000000000000000000000000000000000000000000054540000000000000000000000000000000000000000000000000000000000000000000000 │ │ 000000000000000000000000000000000000000000000000000000000000000000000055550000000000000000000000000000000000000000000000000000000000000000000000 │ │ -000000000000000000000000000000000000000000000000000000000000000000000056560000000000000000000000000000000000000000000000000000000000000000000000 │ │ -000000000000000000000000000000000000000000000000000000000000000000000057580000000000000000000000000000000000000000000000000000000000000000000000 │ │ +000000000000000000000000000000000000000000000000000000000000000000000056570000000000000000000000000000000000000000000000000000000000000000000000 │ │ 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 │ │ 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 │ │ 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 │ │ 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 │ │ 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 │ │ 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 │ │ 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 ├── smali/org/gfd/gsmlocation/CellbasedLocationProvider$2.smali │ @@ -29,14 +29,15 @@ │ │ .field final synthetic this$0:Lorg/gfd/gsmlocation/CellbasedLocationProvider; │ │ │ # direct methods │ .method constructor (Lorg/gfd/gsmlocation/CellbasedLocationProvider;)V │ .locals 2 │ + .param p1, "this$0" # Lorg/gfd/gsmlocation/CellbasedLocationProvider; │ │ .prologue │ .line 441 │ iput-object p1, p0, Lorg/gfd/gsmlocation/CellbasedLocationProvider$2;->this$0:Lorg/gfd/gsmlocation/CellbasedLocationProvider; │ │ invoke-direct {p0}, Landroid/telephony/PhoneStateListener;->()V ├── smali/org/gfd/gsmlocation/CellbasedLocationProvider$1.smali │ @@ -19,14 +19,15 @@ │ │ .field final synthetic val$fctx:Landroid/content/Context; │ │ │ # direct methods │ .method constructor (Lorg/gfd/gsmlocation/CellbasedLocationProvider;Landroid/content/Context;)V │ .locals 0 │ + .param p1, "this$0" # Lorg/gfd/gsmlocation/CellbasedLocationProvider; │ │ .prologue │ .line 432 │ iput-object p1, p0, Lorg/gfd/gsmlocation/CellbasedLocationProvider$1;->this$0:Lorg/gfd/gsmlocation/CellbasedLocationProvider; │ │ iput-object p2, p0, Lorg/gfd/gsmlocation/CellbasedLocationProvider$1;->val$fctx:Landroid/content/Context; ├── smali/org/gfd/gsmlocation/CellbasedLocationProvider.smali │ @@ -64,28 +64,28 @@ │ │ sput-object v0, Lorg/gfd/gsmlocation/CellbasedLocationProvider;->ourInstance:Lorg/gfd/gsmlocation/CellbasedLocationProvider; │ │ return-void │ .end method │ │ .method private constructor ()V │ - .locals 4 │ + .locals 5 │ │ .prologue │ - const/16 v3, 0x11 │ + const/16 v4, 0x11 │ │ .line 73 │ invoke-direct {p0}, Ljava/lang/Object;->()V │ │ .line 78 │ new-instance v0, Ljava/util/concurrent/atomic/AtomicLong; │ │ - const-wide/16 v1, 0x0 │ + const-wide/16 v2, 0x0 │ │ - invoke-direct {v0, v1, v2}, Ljava/util/concurrent/atomic/AtomicLong;->(J)V │ + invoke-direct {v0, v2, v3}, Ljava/util/concurrent/atomic/AtomicLong;->(J)V │ │ iput-object v0, p0, Lorg/gfd/gsmlocation/CellbasedLocationProvider;->measurement:Ljava/util/concurrent/atomic/AtomicLong; │ │ .line 82 │ const-wide/16 v0, 0x10 │ │ iput-wide v0, p0, Lorg/gfd/gsmlocation/CellbasedLocationProvider;->MAX_MEASUREMENT_AGE:J │ @@ -101,22 +101,22 @@ │ move-result-object v0 │ │ iput-object v0, p0, Lorg/gfd/gsmlocation/CellbasedLocationProvider;->db:Lorg/gfd/gsmlocation/db/CellTowerDatabase; │ │ .line 96 │ new-instance v0, Ljava/util/HashSet; │ │ - invoke-direct {v0, v3}, Ljava/util/HashSet;->(I)V │ + invoke-direct {v0, v4}, Ljava/util/HashSet;->(I)V │ │ iput-object v0, p0, Lorg/gfd/gsmlocation/CellbasedLocationProvider;->recentCells:Ljava/util/HashSet; │ │ .line 100 │ new-instance v0, Ljava/util/HashSet; │ │ - invoke-direct {v0, v3}, Ljava/util/HashSet;->(I)V │ + invoke-direct {v0, v4}, Ljava/util/HashSet;->(I)V │ │ iput-object v0, p0, Lorg/gfd/gsmlocation/CellbasedLocationProvider;->unusedCells:Ljava/util/HashSet; │ │ .line 105 │ const/4 v0, 0x0 │ │ iput-object v0, p0, Lorg/gfd/gsmlocation/CellbasedLocationProvider;->location:Landroid/telephony/gsm/GsmCellLocation; │ @@ -298,15 +298,15 @@ │ :try_end_0 │ .catchall {:try_start_0 .. :try_end_0} :catchall_0 │ │ throw v3 │ .end method │ │ .method private final pushRecentCells(Lorg/gfd/gsmlocation/model/CellInfo;)V │ - .locals 5 │ + .locals 6 │ .param p1, "ci" # Lorg/gfd/gsmlocation/model/CellInfo; │ │ .prologue │ .line 129 │ iget-object v2, p0, Lorg/gfd/gsmlocation/CellbasedLocationProvider;->recentCells:Ljava/util/HashSet; │ │ monitor-enter v2 │ @@ -324,26 +324,26 @@ │ const/4 v0, 0x1 │ │ .line 131 │ .local v0, "isNew":Z │ :goto_0 │ invoke-static {}, Ljava/lang/System;->currentTimeMillis()J │ │ - move-result-wide v3 │ + move-result-wide v4 │ │ - iput-wide v3, p1, Lorg/gfd/gsmlocation/model/CellInfo;->seen:J │ + iput-wide v4, p1, Lorg/gfd/gsmlocation/model/CellInfo;->seen:J │ │ .line 132 │ iget-object v1, p0, Lorg/gfd/gsmlocation/CellbasedLocationProvider;->measurement:Ljava/util/concurrent/atomic/AtomicLong; │ │ invoke-virtual {v1}, Ljava/util/concurrent/atomic/AtomicLong;->get()J │ │ - move-result-wide v3 │ + move-result-wide v4 │ │ - iput-wide v3, p1, Lorg/gfd/gsmlocation/model/CellInfo;->measurement:J │ + iput-wide v4, p1, Lorg/gfd/gsmlocation/model/CellInfo;->measurement:J │ │ .line 133 │ iget-object v1, p0, Lorg/gfd/gsmlocation/CellbasedLocationProvider;->recentCells:Ljava/util/HashSet; │ │ invoke-virtual {v1, p1}, Ljava/util/HashSet;->add(Ljava/lang/Object;)Z │ │ .line 134 │ @@ -380,15 +380,15 @@ │ :try_end_0 │ .catchall {:try_start_0 .. :try_end_0} :catchall_0 │ │ throw v1 │ .end method │ │ .method private final pushUnusedCells(Lorg/gfd/gsmlocation/model/CellInfo;)V │ - .locals 5 │ + .locals 6 │ .param p1, "ci" # Lorg/gfd/gsmlocation/model/CellInfo; │ │ .prologue │ .line 112 │ invoke-virtual {p1}, Lorg/gfd/gsmlocation/model/CellInfo;->sanitize()V │ │ .line 113 │ @@ -421,26 +421,26 @@ │ const/4 v0, 0x1 │ │ .line 116 │ .local v0, "isNew":Z │ :goto_1 │ invoke-static {}, Ljava/lang/System;->currentTimeMillis()J │ │ - move-result-wide v3 │ + move-result-wide v4 │ │ - iput-wide v3, p1, Lorg/gfd/gsmlocation/model/CellInfo;->seen:J │ + iput-wide v4, p1, Lorg/gfd/gsmlocation/model/CellInfo;->seen:J │ │ .line 117 │ iget-object v1, p0, Lorg/gfd/gsmlocation/CellbasedLocationProvider;->measurement:Ljava/util/concurrent/atomic/AtomicLong; │ │ invoke-virtual {v1}, Ljava/util/concurrent/atomic/AtomicLong;->get()J │ │ - move-result-wide v3 │ + move-result-wide v4 │ │ - iput-wide v3, p1, Lorg/gfd/gsmlocation/model/CellInfo;->measurement:J │ + iput-wide v4, p1, Lorg/gfd/gsmlocation/model/CellInfo;->measurement:J │ │ .line 118 │ iget-object v1, p0, Lorg/gfd/gsmlocation/CellbasedLocationProvider;->unusedCells:Ljava/util/HashSet; │ │ invoke-virtual {v1, p1}, Ljava/util/HashSet;->add(Ljava/lang/Object;)Z │ │ .line 119 │ @@ -477,19 +477,19 @@ │ │ goto :goto_1 │ .end method │ │ │ # virtual methods │ .method public add(Landroid/telephony/CellLocation;)V │ - .locals 13 │ + .locals 12 │ .param p1, "icell" # Landroid/telephony/CellLocation; │ │ .prologue │ - const/4 v12, -0x1 │ + const/4 v9, -0x1 │ │ const-wide/16 v10, 0x0 │ │ .line 256 │ if-nez p1, :cond_1 │ │ .line 282 │ @@ -497,152 +497,150 @@ │ :cond_0 │ :goto_0 │ return-void │ │ .line 259 │ .restart local p1 # "icell":Landroid/telephony/CellLocation; │ :cond_1 │ - instance-of v7, p1, Landroid/telephony/gsm/GsmCellLocation; │ + instance-of v6, p1, Landroid/telephony/gsm/GsmCellLocation; │ │ - if-eqz v7, :cond_0 │ + if-eqz v6, :cond_0 │ │ move-object v0, p1 │ │ .line 262 │ check-cast v0, Landroid/telephony/gsm/GsmCellLocation; │ │ .line 263 │ .local v0, "cell":Landroid/telephony/gsm/GsmCellLocation; │ - iget-object v7, p0, Lorg/gfd/gsmlocation/CellbasedLocationProvider;->db:Lorg/gfd/gsmlocation/db/CellTowerDatabase; │ + iget-object v6, p0, Lorg/gfd/gsmlocation/CellbasedLocationProvider;->db:Lorg/gfd/gsmlocation/db/CellTowerDatabase; │ │ invoke-virtual {v0}, Landroid/telephony/gsm/GsmCellLocation;->getCid()I │ │ - move-result v8 │ + move-result v7 │ │ invoke-virtual {v0}, Landroid/telephony/gsm/GsmCellLocation;->getLac()I │ │ - move-result v9 │ + move-result v8 │ │ - invoke-virtual {v7, v8, v9}, Lorg/gfd/gsmlocation/db/CellTowerDatabase;->query(II)Ljava/util/List; │ + invoke-virtual {v6, v7, v8}, Lorg/gfd/gsmlocation/db/CellTowerDatabase;->query(II)Ljava/util/List; │ │ move-result-object v2 │ │ .line 264 │ .local v2, "cellInfos":Ljava/util/List;, "Ljava/util/List;" │ if-eqz v2, :cond_2 │ │ invoke-interface {v2}, Ljava/util/List;->isEmpty()Z │ │ - move-result v7 │ + move-result v6 │ │ - if-nez v7, :cond_2 │ + if-nez v6, :cond_2 │ │ .line 265 │ - iget-object v7, p0, Lorg/gfd/gsmlocation/CellbasedLocationProvider;->measurement:Ljava/util/concurrent/atomic/AtomicLong; │ + iget-object v6, p0, Lorg/gfd/gsmlocation/CellbasedLocationProvider;->measurement:Ljava/util/concurrent/atomic/AtomicLong; │ │ - invoke-virtual {v7}, Ljava/util/concurrent/atomic/AtomicLong;->get()J │ + invoke-virtual {v6}, Ljava/util/concurrent/atomic/AtomicLong;->get()J │ │ - move-result-wide v5 │ + move-result-wide v4 │ │ .line 266 │ - .local v5, "measurement":J │ + .local v4, "measurement":J │ invoke-interface {v2}, Ljava/util/List;->iterator()Ljava/util/Iterator; │ │ - move-result-object v4 │ + move-result-object v6 │ │ - .local v4, "i$":Ljava/util/Iterator; │ :goto_1 │ - invoke-interface {v4}, Ljava/util/Iterator;->hasNext()Z │ + invoke-interface {v6}, Ljava/util/Iterator;->hasNext()Z │ │ move-result v7 │ │ if-eqz v7, :cond_0 │ │ - invoke-interface {v4}, Ljava/util/Iterator;->next()Ljava/lang/Object; │ + invoke-interface {v6}, Ljava/util/Iterator;->next()Ljava/lang/Object; │ │ move-result-object v1 │ │ check-cast v1, Lorg/gfd/gsmlocation/model/CellInfo; │ │ .line 267 │ .local v1, "cellInfo":Lorg/gfd/gsmlocation/model/CellInfo; │ - iput-wide v5, v1, Lorg/gfd/gsmlocation/model/CellInfo;->measurement:J │ + iput-wide v4, v1, Lorg/gfd/gsmlocation/model/CellInfo;->measurement:J │ │ .line 268 │ invoke-static {}, Ljava/lang/System;->currentTimeMillis()J │ │ - move-result-wide v7 │ + move-result-wide v8 │ │ - iput-wide v7, v1, Lorg/gfd/gsmlocation/model/CellInfo;->seen:J │ + iput-wide v8, v1, Lorg/gfd/gsmlocation/model/CellInfo;->seen:J │ │ .line 269 │ invoke-direct {p0, v1}, Lorg/gfd/gsmlocation/CellbasedLocationProvider;->pushRecentCells(Lorg/gfd/gsmlocation/model/CellInfo;)V │ │ goto :goto_1 │ │ .line 272 │ .end local v1 # "cellInfo":Lorg/gfd/gsmlocation/model/CellInfo; │ - .end local v4 # "i$":Ljava/util/Iterator; │ - .end local v5 # "measurement":J │ + .end local v4 # "measurement":J │ :cond_2 │ new-instance v3, Lorg/gfd/gsmlocation/model/CellInfo; │ │ invoke-direct {v3}, Lorg/gfd/gsmlocation/model/CellInfo;->()V │ │ .line 273 │ .local v3, "ci":Lorg/gfd/gsmlocation/model/CellInfo; │ - iget-object v7, p0, Lorg/gfd/gsmlocation/CellbasedLocationProvider;->measurement:Ljava/util/concurrent/atomic/AtomicLong; │ + iget-object v6, p0, Lorg/gfd/gsmlocation/CellbasedLocationProvider;->measurement:Ljava/util/concurrent/atomic/AtomicLong; │ │ - invoke-virtual {v7}, Ljava/util/concurrent/atomic/AtomicLong;->get()J │ + invoke-virtual {v6}, Ljava/util/concurrent/atomic/AtomicLong;->get()J │ │ - move-result-wide v7 │ + move-result-wide v6 │ │ - iput-wide v7, v3, Lorg/gfd/gsmlocation/model/CellInfo;->measurement:J │ + iput-wide v6, v3, Lorg/gfd/gsmlocation/model/CellInfo;->measurement:J │ │ .line 274 │ iput-wide v10, v3, Lorg/gfd/gsmlocation/model/CellInfo;->lng:D │ │ .line 275 │ iput-wide v10, v3, Lorg/gfd/gsmlocation/model/CellInfo;->lat:D │ │ - move-object v7, p1 │ + move-object v6, p1 │ │ .line 276 │ - check-cast v7, Landroid/telephony/gsm/GsmCellLocation; │ + check-cast v6, Landroid/telephony/gsm/GsmCellLocation; │ │ - invoke-virtual {v7}, Landroid/telephony/gsm/GsmCellLocation;->getCid()I │ + invoke-virtual {v6}, Landroid/telephony/gsm/GsmCellLocation;->getCid()I │ │ - move-result v7 │ + move-result v6 │ │ - iput v7, v3, Lorg/gfd/gsmlocation/model/CellInfo;->CID:I │ + iput v6, v3, Lorg/gfd/gsmlocation/model/CellInfo;->CID:I │ │ .line 277 │ check-cast p1, Landroid/telephony/gsm/GsmCellLocation; │ │ .end local p1 # "icell":Landroid/telephony/CellLocation; │ invoke-virtual {p1}, Landroid/telephony/gsm/GsmCellLocation;->getLac()I │ │ - move-result v7 │ + move-result v6 │ │ - iput v7, v3, Lorg/gfd/gsmlocation/model/CellInfo;->LAC:I │ + iput v6, v3, Lorg/gfd/gsmlocation/model/CellInfo;->LAC:I │ │ .line 278 │ - iput v12, v3, Lorg/gfd/gsmlocation/model/CellInfo;->MCC:I │ + iput v9, v3, Lorg/gfd/gsmlocation/model/CellInfo;->MCC:I │ │ .line 279 │ - iput v12, v3, Lorg/gfd/gsmlocation/model/CellInfo;->MNC:I │ + iput v9, v3, Lorg/gfd/gsmlocation/model/CellInfo;->MNC:I │ │ .line 280 │ invoke-direct {p0, v3}, Lorg/gfd/gsmlocation/CellbasedLocationProvider;->pushUnusedCells(Lorg/gfd/gsmlocation/model/CellInfo;)V │ │ goto :goto_0 │ .end method │ │ .method public addCells(Ljava/util/List;)V │ - .locals 14 │ + .locals 13 │ .annotation system Ldalvik/annotation/Signature; │ value = { │ "(", │ "Ljava/util/List", │ "<", │ "Landroid/telephony/CellInfo;", │ ">;)V" │ @@ -652,422 +650,419 @@ │ .prologue │ .line 314 │ .local p1, "inputCellInfos":Ljava/util/List;, "Ljava/util/List;" │ if-eqz p1, :cond_0 │ │ invoke-interface {p1}, Ljava/util/List;->isEmpty()Z │ │ - move-result v9 │ + move-result v7 │ │ - if-eqz v9, :cond_1 │ + if-eqz v7, :cond_1 │ │ .line 355 │ :cond_0 │ return-void │ │ .line 315 │ :cond_1 │ invoke-interface {p1}, Ljava/util/List;->iterator()Ljava/util/Iterator; │ │ - move-result-object v4 │ + move-result-object v7 │ │ :cond_2 │ - invoke-interface {v4}, Ljava/util/Iterator;->hasNext()Z │ + invoke-interface {v7}, Ljava/util/Iterator;->hasNext()Z │ │ - move-result v9 │ + move-result v8 │ │ - if-eqz v9, :cond_0 │ + if-eqz v8, :cond_0 │ │ - invoke-interface {v4}, Ljava/util/Iterator;->next()Ljava/lang/Object; │ + invoke-interface {v7}, Ljava/util/Iterator;->next()Ljava/lang/Object; │ │ - move-result-object v7 │ + move-result-object v5 │ │ - check-cast v7, Landroid/telephony/CellInfo; │ + check-cast v5, Landroid/telephony/CellInfo; │ │ .line 316 │ - .local v7, "inputCellInfo":Landroid/telephony/CellInfo; │ + .local v5, "inputCellInfo":Landroid/telephony/CellInfo; │ const/4 v1, 0x0 │ │ .line 317 │ .local v1, "cellInfos":Ljava/util/List;, "Ljava/util/List;" │ - instance-of v9, v7, Landroid/telephony/CellInfoGsm; │ + instance-of v8, v5, Landroid/telephony/CellInfoGsm; │ │ - if-eqz v9, :cond_3 │ + if-eqz v8, :cond_3 │ │ - move-object v3, v7 │ + move-object v3, v5 │ │ .line 318 │ check-cast v3, Landroid/telephony/CellInfoGsm; │ │ .line 319 │ .local v3, "gsm":Landroid/telephony/CellInfoGsm; │ invoke-virtual {v3}, Landroid/telephony/CellInfoGsm;->getCellIdentity()Landroid/telephony/CellIdentityGsm; │ │ - move-result-object v6 │ + move-result-object v4 │ │ .line 320 │ - .local v6, "id":Landroid/telephony/CellIdentityGsm; │ - iget-object v9, p0, Lorg/gfd/gsmlocation/CellbasedLocationProvider;->db:Lorg/gfd/gsmlocation/db/CellTowerDatabase; │ + .local v4, "id":Landroid/telephony/CellIdentityGsm; │ + iget-object v8, p0, Lorg/gfd/gsmlocation/CellbasedLocationProvider;->db:Lorg/gfd/gsmlocation/db/CellTowerDatabase; │ + │ + invoke-virtual {v4}, Landroid/telephony/CellIdentityGsm;->getMcc()I │ + │ + move-result v9 │ + │ + invoke-static {v9}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer; │ + │ + move-result-object v9 │ │ - invoke-virtual {v6}, Landroid/telephony/CellIdentityGsm;->getMcc()I │ + invoke-virtual {v4}, Landroid/telephony/CellIdentityGsm;->getMnc()I │ │ move-result v10 │ │ invoke-static {v10}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer; │ │ move-result-object v10 │ │ - invoke-virtual {v6}, Landroid/telephony/CellIdentityGsm;->getMnc()I │ + invoke-virtual {v4}, Landroid/telephony/CellIdentityGsm;->getCid()I │ │ move-result v11 │ │ - invoke-static {v11}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer; │ - │ - move-result-object v11 │ - │ - invoke-virtual {v6}, Landroid/telephony/CellIdentityGsm;->getCid()I │ + invoke-virtual {v4}, Landroid/telephony/CellIdentityGsm;->getLac()I │ │ move-result v12 │ │ - invoke-virtual {v6}, Landroid/telephony/CellIdentityGsm;->getLac()I │ - │ - move-result v13 │ - │ - invoke-virtual {v9, v10, v11, v12, v13}, Lorg/gfd/gsmlocation/db/CellTowerDatabase;->query(Ljava/lang/Integer;Ljava/lang/Integer;II)Ljava/util/List; │ + invoke-virtual {v8, v9, v10, v11, v12}, Lorg/gfd/gsmlocation/db/CellTowerDatabase;->query(Ljava/lang/Integer;Ljava/lang/Integer;II)Ljava/util/List; │ │ move-result-object v1 │ │ .line 321 │ if-nez v1, :cond_3 │ │ .line 322 │ new-instance v2, Lorg/gfd/gsmlocation/model/CellInfo; │ │ invoke-direct {v2}, Lorg/gfd/gsmlocation/model/CellInfo;->()V │ │ .line 323 │ .local v2, "ci":Lorg/gfd/gsmlocation/model/CellInfo; │ - const-wide/16 v9, 0x0 │ + const-wide/16 v8, 0x0 │ │ - iput-wide v9, v2, Lorg/gfd/gsmlocation/model/CellInfo;->lng:D │ + iput-wide v8, v2, Lorg/gfd/gsmlocation/model/CellInfo;->lng:D │ │ .line 324 │ - const-wide/16 v9, 0x0 │ + const-wide/16 v8, 0x0 │ │ - iput-wide v9, v2, Lorg/gfd/gsmlocation/model/CellInfo;->lat:D │ + iput-wide v8, v2, Lorg/gfd/gsmlocation/model/CellInfo;->lat:D │ │ .line 325 │ - invoke-virtual {v6}, Landroid/telephony/CellIdentityGsm;->getCid()I │ + invoke-virtual {v4}, Landroid/telephony/CellIdentityGsm;->getCid()I │ │ - move-result v9 │ + move-result v8 │ │ - iput v9, v2, Lorg/gfd/gsmlocation/model/CellInfo;->CID:I │ + iput v8, v2, Lorg/gfd/gsmlocation/model/CellInfo;->CID:I │ │ .line 326 │ - invoke-virtual {v6}, Landroid/telephony/CellIdentityGsm;->getLac()I │ + invoke-virtual {v4}, Landroid/telephony/CellIdentityGsm;->getLac()I │ │ - move-result v9 │ + move-result v8 │ │ - iput v9, v2, Lorg/gfd/gsmlocation/model/CellInfo;->LAC:I │ + iput v8, v2, Lorg/gfd/gsmlocation/model/CellInfo;->LAC:I │ │ .line 327 │ - invoke-virtual {v6}, Landroid/telephony/CellIdentityGsm;->getMnc()I │ + invoke-virtual {v4}, Landroid/telephony/CellIdentityGsm;->getMnc()I │ │ - move-result v9 │ + move-result v8 │ │ - iput v9, v2, Lorg/gfd/gsmlocation/model/CellInfo;->MNC:I │ + iput v8, v2, Lorg/gfd/gsmlocation/model/CellInfo;->MNC:I │ │ .line 328 │ - invoke-virtual {v6}, Landroid/telephony/CellIdentityGsm;->getMcc()I │ + invoke-virtual {v4}, Landroid/telephony/CellIdentityGsm;->getMcc()I │ │ - move-result v9 │ + move-result v8 │ │ - iput v9, v2, Lorg/gfd/gsmlocation/model/CellInfo;->MCC:I │ + iput v8, v2, Lorg/gfd/gsmlocation/model/CellInfo;->MCC:I │ │ .line 329 │ invoke-direct {p0, v2}, Lorg/gfd/gsmlocation/CellbasedLocationProvider;->pushUnusedCells(Lorg/gfd/gsmlocation/model/CellInfo;)V │ │ .line 332 │ .end local v2 # "ci":Lorg/gfd/gsmlocation/model/CellInfo; │ .end local v3 # "gsm":Landroid/telephony/CellInfoGsm; │ - .end local v6 # "id":Landroid/telephony/CellIdentityGsm; │ + .end local v4 # "id":Landroid/telephony/CellIdentityGsm; │ :cond_3 │ - instance-of v9, v7, Landroid/telephony/CellInfoWcdma; │ + instance-of v8, v5, Landroid/telephony/CellInfoWcdma; │ │ - if-eqz v9, :cond_4 │ + if-eqz v8, :cond_4 │ │ - move-object v8, v7 │ + move-object v6, v5 │ │ .line 333 │ - check-cast v8, Landroid/telephony/CellInfoWcdma; │ + check-cast v6, Landroid/telephony/CellInfoWcdma; │ │ .line 334 │ - .local v8, "wcdma":Landroid/telephony/CellInfoWcdma; │ - invoke-virtual {v8}, Landroid/telephony/CellInfoWcdma;->getCellIdentity()Landroid/telephony/CellIdentityWcdma; │ + .local v6, "wcdma":Landroid/telephony/CellInfoWcdma; │ + invoke-virtual {v6}, Landroid/telephony/CellInfoWcdma;->getCellIdentity()Landroid/telephony/CellIdentityWcdma; │ │ - move-result-object v6 │ + move-result-object v4 │ │ .line 335 │ - .local v6, "id":Landroid/telephony/CellIdentityWcdma; │ - iget-object v9, p0, Lorg/gfd/gsmlocation/CellbasedLocationProvider;->db:Lorg/gfd/gsmlocation/db/CellTowerDatabase; │ + .local v4, "id":Landroid/telephony/CellIdentityWcdma; │ + iget-object v8, p0, Lorg/gfd/gsmlocation/CellbasedLocationProvider;->db:Lorg/gfd/gsmlocation/db/CellTowerDatabase; │ + │ + invoke-virtual {v4}, Landroid/telephony/CellIdentityWcdma;->getMcc()I │ + │ + move-result v9 │ + │ + invoke-static {v9}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer; │ + │ + move-result-object v9 │ │ - invoke-virtual {v6}, Landroid/telephony/CellIdentityWcdma;->getMcc()I │ + invoke-virtual {v4}, Landroid/telephony/CellIdentityWcdma;->getMnc()I │ │ move-result v10 │ │ invoke-static {v10}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer; │ │ move-result-object v10 │ │ - invoke-virtual {v6}, Landroid/telephony/CellIdentityWcdma;->getMnc()I │ + invoke-virtual {v4}, Landroid/telephony/CellIdentityWcdma;->getCid()I │ │ move-result v11 │ │ - invoke-static {v11}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer; │ - │ - move-result-object v11 │ - │ - invoke-virtual {v6}, Landroid/telephony/CellIdentityWcdma;->getCid()I │ + invoke-virtual {v4}, Landroid/telephony/CellIdentityWcdma;->getLac()I │ │ move-result v12 │ │ - invoke-virtual {v6}, Landroid/telephony/CellIdentityWcdma;->getLac()I │ - │ - move-result v13 │ - │ - invoke-virtual {v9, v10, v11, v12, v13}, Lorg/gfd/gsmlocation/db/CellTowerDatabase;->query(Ljava/lang/Integer;Ljava/lang/Integer;II)Ljava/util/List; │ + invoke-virtual {v8, v9, v10, v11, v12}, Lorg/gfd/gsmlocation/db/CellTowerDatabase;->query(Ljava/lang/Integer;Ljava/lang/Integer;II)Ljava/util/List; │ │ move-result-object v1 │ │ .line 336 │ if-nez v1, :cond_4 │ │ .line 337 │ new-instance v2, Lorg/gfd/gsmlocation/model/CellInfo; │ │ invoke-direct {v2}, Lorg/gfd/gsmlocation/model/CellInfo;->()V │ │ .line 338 │ .restart local v2 # "ci":Lorg/gfd/gsmlocation/model/CellInfo; │ - const-wide/16 v9, 0x0 │ + const-wide/16 v8, 0x0 │ │ - iput-wide v9, v2, Lorg/gfd/gsmlocation/model/CellInfo;->lng:D │ + iput-wide v8, v2, Lorg/gfd/gsmlocation/model/CellInfo;->lng:D │ │ .line 339 │ - const-wide/16 v9, 0x0 │ + const-wide/16 v8, 0x0 │ │ - iput-wide v9, v2, Lorg/gfd/gsmlocation/model/CellInfo;->lat:D │ + iput-wide v8, v2, Lorg/gfd/gsmlocation/model/CellInfo;->lat:D │ │ .line 340 │ - invoke-virtual {v6}, Landroid/telephony/CellIdentityWcdma;->getCid()I │ + invoke-virtual {v4}, Landroid/telephony/CellIdentityWcdma;->getCid()I │ │ - move-result v9 │ + move-result v8 │ │ - iput v9, v2, Lorg/gfd/gsmlocation/model/CellInfo;->CID:I │ + iput v8, v2, Lorg/gfd/gsmlocation/model/CellInfo;->CID:I │ │ .line 341 │ - invoke-virtual {v6}, Landroid/telephony/CellIdentityWcdma;->getLac()I │ + invoke-virtual {v4}, Landroid/telephony/CellIdentityWcdma;->getLac()I │ │ - move-result v9 │ + move-result v8 │ │ - iput v9, v2, Lorg/gfd/gsmlocation/model/CellInfo;->LAC:I │ + iput v8, v2, Lorg/gfd/gsmlocation/model/CellInfo;->LAC:I │ │ .line 342 │ - invoke-virtual {v6}, Landroid/telephony/CellIdentityWcdma;->getMnc()I │ + invoke-virtual {v4}, Landroid/telephony/CellIdentityWcdma;->getMnc()I │ │ - move-result v9 │ + move-result v8 │ │ - iput v9, v2, Lorg/gfd/gsmlocation/model/CellInfo;->MNC:I │ + iput v8, v2, Lorg/gfd/gsmlocation/model/CellInfo;->MNC:I │ │ .line 343 │ - invoke-virtual {v6}, Landroid/telephony/CellIdentityWcdma;->getMcc()I │ + invoke-virtual {v4}, Landroid/telephony/CellIdentityWcdma;->getMcc()I │ │ - move-result v9 │ + move-result v8 │ │ - iput v9, v2, Lorg/gfd/gsmlocation/model/CellInfo;->MCC:I │ + iput v8, v2, Lorg/gfd/gsmlocation/model/CellInfo;->MCC:I │ │ .line 344 │ invoke-direct {p0, v2}, Lorg/gfd/gsmlocation/CellbasedLocationProvider;->pushUnusedCells(Lorg/gfd/gsmlocation/model/CellInfo;)V │ │ .line 347 │ .end local v2 # "ci":Lorg/gfd/gsmlocation/model/CellInfo; │ - .end local v6 # "id":Landroid/telephony/CellIdentityWcdma; │ - .end local v8 # "wcdma":Landroid/telephony/CellInfoWcdma; │ + .end local v4 # "id":Landroid/telephony/CellIdentityWcdma; │ + .end local v6 # "wcdma":Landroid/telephony/CellInfoWcdma; │ :cond_4 │ if-eqz v1, :cond_2 │ │ .line 349 │ invoke-interface {v1}, Ljava/util/List;->isEmpty()Z │ │ - move-result v9 │ + move-result v8 │ │ - if-nez v9, :cond_2 │ + if-nez v8, :cond_2 │ │ .line 350 │ invoke-interface {v1}, Ljava/util/List;->iterator()Ljava/util/Iterator; │ │ - move-result-object v5 │ + move-result-object v8 │ │ - .local v5, "i$":Ljava/util/Iterator; │ :goto_0 │ - invoke-interface {v5}, Ljava/util/Iterator;->hasNext()Z │ + invoke-interface {v8}, Ljava/util/Iterator;->hasNext()Z │ │ move-result v9 │ │ if-eqz v9, :cond_2 │ │ - invoke-interface {v5}, Ljava/util/Iterator;->next()Ljava/lang/Object; │ + invoke-interface {v8}, Ljava/util/Iterator;->next()Ljava/lang/Object; │ │ move-result-object v0 │ │ check-cast v0, Lorg/gfd/gsmlocation/model/CellInfo; │ │ .line 351 │ .local v0, "cellInfo":Lorg/gfd/gsmlocation/model/CellInfo; │ invoke-direct {p0, v0}, Lorg/gfd/gsmlocation/CellbasedLocationProvider;->pushRecentCells(Lorg/gfd/gsmlocation/model/CellInfo;)V │ │ goto :goto_0 │ .end method │ │ .method public addNeighbours(Ljava/util/List;)V │ - .locals 12 │ + .locals 11 │ .annotation system Ldalvik/annotation/Signature; │ value = { │ "(", │ "Ljava/util/List", │ "<", │ "Landroid/telephony/NeighboringCellInfo;", │ ">;)V" │ } │ .end annotation │ │ .prologue │ .local p1, "neighbours":Ljava/util/List;, "Ljava/util/List;" │ - const/4 v11, -0x1 │ + const/4 v10, -0x1 │ │ - const-wide/16 v9, 0x0 │ + const-wide/16 v8, 0x0 │ │ .line 289 │ if-eqz p1, :cond_0 │ │ invoke-interface {p1}, Ljava/util/List;->isEmpty()Z │ │ - move-result v6 │ + move-result v4 │ │ - if-eqz v6, :cond_1 │ + if-eqz v4, :cond_1 │ │ .line 307 │ :cond_0 │ return-void │ │ .line 290 │ :cond_1 │ invoke-interface {p1}, Ljava/util/List;->iterator()Ljava/util/Iterator; │ │ - move-result-object v3 │ + move-result-object v4 │ │ :cond_2 │ :goto_0 │ - invoke-interface {v3}, Ljava/util/Iterator;->hasNext()Z │ + invoke-interface {v4}, Ljava/util/Iterator;->hasNext()Z │ │ - move-result v6 │ + move-result v5 │ │ - if-eqz v6, :cond_0 │ + if-eqz v5, :cond_0 │ │ - invoke-interface {v3}, Ljava/util/Iterator;->next()Ljava/lang/Object; │ + invoke-interface {v4}, Ljava/util/Iterator;->next()Ljava/lang/Object; │ │ - move-result-object v5 │ + move-result-object v3 │ │ - check-cast v5, Landroid/telephony/NeighboringCellInfo; │ + check-cast v3, Landroid/telephony/NeighboringCellInfo; │ │ .line 291 │ - .local v5, "neighbour":Landroid/telephony/NeighboringCellInfo; │ - iget-object v6, p0, Lorg/gfd/gsmlocation/CellbasedLocationProvider;->db:Lorg/gfd/gsmlocation/db/CellTowerDatabase; │ + .local v3, "neighbour":Landroid/telephony/NeighboringCellInfo; │ + iget-object v5, p0, Lorg/gfd/gsmlocation/CellbasedLocationProvider;->db:Lorg/gfd/gsmlocation/db/CellTowerDatabase; │ │ - invoke-virtual {v5}, Landroid/telephony/NeighboringCellInfo;->getCid()I │ + invoke-virtual {v3}, Landroid/telephony/NeighboringCellInfo;->getCid()I │ │ - move-result v7 │ + move-result v6 │ │ - invoke-virtual {v5}, Landroid/telephony/NeighboringCellInfo;->getLac()I │ + invoke-virtual {v3}, Landroid/telephony/NeighboringCellInfo;->getLac()I │ │ - move-result v8 │ + move-result v7 │ │ - invoke-virtual {v6, v7, v8}, Lorg/gfd/gsmlocation/db/CellTowerDatabase;->query(II)Ljava/util/List; │ + invoke-virtual {v5, v6, v7}, Lorg/gfd/gsmlocation/db/CellTowerDatabase;->query(II)Ljava/util/List; │ │ move-result-object v1 │ │ .line 292 │ .local v1, "cellInfos":Ljava/util/List;, "Ljava/util/List;" │ if-eqz v1, :cond_3 │ │ invoke-interface {v1}, Ljava/util/List;->isEmpty()Z │ │ - move-result v6 │ + move-result v5 │ │ - if-nez v6, :cond_3 │ + if-nez v5, :cond_3 │ │ .line 293 │ invoke-interface {v1}, Ljava/util/List;->iterator()Ljava/util/Iterator; │ │ - move-result-object v4 │ + move-result-object v5 │ │ - .local v4, "i$":Ljava/util/Iterator; │ :goto_1 │ - invoke-interface {v4}, Ljava/util/Iterator;->hasNext()Z │ + invoke-interface {v5}, Ljava/util/Iterator;->hasNext()Z │ │ move-result v6 │ │ if-eqz v6, :cond_2 │ │ - invoke-interface {v4}, Ljava/util/Iterator;->next()Ljava/lang/Object; │ + invoke-interface {v5}, Ljava/util/Iterator;->next()Ljava/lang/Object; │ │ move-result-object v0 │ │ check-cast v0, Lorg/gfd/gsmlocation/model/CellInfo; │ │ .line 294 │ .local v0, "cellInfo":Lorg/gfd/gsmlocation/model/CellInfo; │ invoke-direct {p0, v0}, Lorg/gfd/gsmlocation/CellbasedLocationProvider;->pushRecentCells(Lorg/gfd/gsmlocation/model/CellInfo;)V │ │ goto :goto_1 │ │ .line 297 │ .end local v0 # "cellInfo":Lorg/gfd/gsmlocation/model/CellInfo; │ - .end local v4 # "i$":Ljava/util/Iterator; │ :cond_3 │ new-instance v2, Lorg/gfd/gsmlocation/model/CellInfo; │ │ invoke-direct {v2}, Lorg/gfd/gsmlocation/model/CellInfo;->()V │ │ .line 298 │ .local v2, "ci":Lorg/gfd/gsmlocation/model/CellInfo; │ - iput-wide v9, v2, Lorg/gfd/gsmlocation/model/CellInfo;->lng:D │ + iput-wide v8, v2, Lorg/gfd/gsmlocation/model/CellInfo;->lng:D │ │ .line 299 │ - iput-wide v9, v2, Lorg/gfd/gsmlocation/model/CellInfo;->lat:D │ + iput-wide v8, v2, Lorg/gfd/gsmlocation/model/CellInfo;->lat:D │ │ .line 300 │ - invoke-virtual {v5}, Landroid/telephony/NeighboringCellInfo;->getCid()I │ + invoke-virtual {v3}, Landroid/telephony/NeighboringCellInfo;->getCid()I │ │ - move-result v6 │ + move-result v5 │ │ - iput v6, v2, Lorg/gfd/gsmlocation/model/CellInfo;->CID:I │ + iput v5, v2, Lorg/gfd/gsmlocation/model/CellInfo;->CID:I │ │ .line 301 │ - invoke-virtual {v5}, Landroid/telephony/NeighboringCellInfo;->getLac()I │ + invoke-virtual {v3}, Landroid/telephony/NeighboringCellInfo;->getLac()I │ │ - move-result v6 │ + move-result v5 │ │ - iput v6, v2, Lorg/gfd/gsmlocation/model/CellInfo;->LAC:I │ + iput v5, v2, Lorg/gfd/gsmlocation/model/CellInfo;->LAC:I │ │ .line 302 │ - iput v11, v2, Lorg/gfd/gsmlocation/model/CellInfo;->MCC:I │ + iput v10, v2, Lorg/gfd/gsmlocation/model/CellInfo;->MCC:I │ │ .line 303 │ - iput v11, v2, Lorg/gfd/gsmlocation/model/CellInfo;->MNC:I │ + iput v10, v2, Lorg/gfd/gsmlocation/model/CellInfo;->MNC:I │ │ .line 304 │ invoke-direct {p0, v2}, Lorg/gfd/gsmlocation/CellbasedLocationProvider;->pushUnusedCells(Lorg/gfd/gsmlocation/model/CellInfo;)V │ │ goto :goto_0 │ .end method │ │ @@ -1076,84 +1071,83 @@ │ │ .prologue │ .line 205 │ const/4 v1, 0x0 │ │ .line 206 │ .local v1, "dead":Ljava/util/ArrayList;, "Ljava/util/ArrayList;" │ - iget-object v10, p0, Lorg/gfd/gsmlocation/CellbasedLocationProvider;->measurement:Ljava/util/concurrent/atomic/AtomicLong; │ + iget-object v7, p0, Lorg/gfd/gsmlocation/CellbasedLocationProvider;->measurement:Ljava/util/concurrent/atomic/AtomicLong; │ │ - invoke-virtual {v10}, Ljava/util/concurrent/atomic/AtomicLong;->get()J │ + invoke-virtual {v7}, Ljava/util/concurrent/atomic/AtomicLong;->get()J │ │ move-result-wide v10 │ │ iget-wide v12, p0, Lorg/gfd/gsmlocation/CellbasedLocationProvider;->MAX_MEASUREMENT_AGE:J │ │ - sub-long v3, v10, v12 │ + sub-long v2, v10, v12 │ │ .line 207 │ - .local v3, "mThreshold":J │ + .local v2, "mThreshold":J │ invoke-static {}, Ljava/lang/System;->currentTimeMillis()J │ │ move-result-wide v10 │ │ iget-wide v12, p0, Lorg/gfd/gsmlocation/CellbasedLocationProvider;->MAX_TIME_AGE:J │ │ sub-long v8, v10, v12 │ │ .line 208 │ .local v8, "timeThreshold":J │ - iget-object v10, p0, Lorg/gfd/gsmlocation/CellbasedLocationProvider;->recentCells:Ljava/util/HashSet; │ + iget-object v7, p0, Lorg/gfd/gsmlocation/CellbasedLocationProvider;->recentCells:Ljava/util/HashSet; │ │ - invoke-virtual {v10}, Ljava/util/HashSet;->iterator()Ljava/util/Iterator; │ + invoke-virtual {v7}, Ljava/util/HashSet;->iterator()Ljava/util/Iterator; │ │ - move-result-object v2 │ + move-result-object v7 │ │ - .local v2, "i$":Ljava/util/Iterator; │ :cond_0 │ :goto_0 │ - invoke-interface {v2}, Ljava/util/Iterator;->hasNext()Z │ + invoke-interface {v7}, Ljava/util/Iterator;->hasNext()Z │ │ move-result v10 │ │ if-eqz v10, :cond_7 │ │ - invoke-interface {v2}, Ljava/util/Iterator;->next()Ljava/lang/Object; │ + invoke-interface {v7}, Ljava/util/Iterator;->next()Ljava/lang/Object; │ │ move-result-object v0 │ │ check-cast v0, Lorg/gfd/gsmlocation/model/CellInfo; │ │ .line 209 │ .local v0, "ci":Lorg/gfd/gsmlocation/model/CellInfo; │ iget-wide v10, v0, Lorg/gfd/gsmlocation/model/CellInfo;->seen:J │ │ cmp-long v10, v10, v8 │ │ if-gtz v10, :cond_5 │ │ - const/4 v5, 0x1 │ + const/4 v4, 0x1 │ │ .line 210 │ - .local v5, "outdatedByAge":Z │ + .local v4, "outdatedByAge":Z │ :goto_1 │ iget-wide v10, v0, Lorg/gfd/gsmlocation/model/CellInfo;->measurement:J │ │ - cmp-long v10, v10, v3 │ + cmp-long v10, v10, v2 │ │ if-gtz v10, :cond_6 │ │ - const/4 v6, 0x1 │ + const/4 v5, 0x1 │ │ .line 211 │ - .local v6, "outdatedByMeasurement":Z │ + .local v5, "outdatedByMeasurement":Z │ :goto_2 │ - if-nez v5, :cond_1 │ + if-nez v4, :cond_1 │ │ - if-eqz v6, :cond_0 │ + if-eqz v5, :cond_0 │ │ .line 212 │ :cond_1 │ if-nez v1, :cond_2 │ │ .line 213 │ new-instance v1, Ljava/util/ArrayList; │ @@ -1168,43 +1162,43 @@ │ add-int/lit8 v10, v10, 0x1 │ │ invoke-direct {v1, v10}, Ljava/util/ArrayList;->(I)V │ │ .line 215 │ .restart local v1 # "dead":Ljava/util/ArrayList;, "Ljava/util/ArrayList;" │ :cond_2 │ - const-string v7, "Cell outdated " │ + const-string v6, "Cell outdated " │ │ .line 216 │ - .local v7, "reason":Ljava/lang/String; │ - if-eqz v6, :cond_3 │ + .local v6, "reason":Ljava/lang/String; │ + if-eqz v5, :cond_3 │ │ - if-nez v5, :cond_3 │ + if-nez v4, :cond_3 │ │ .line 217 │ - const-string v7, "Measurements reached " │ + const-string v6, "Measurements reached " │ │ .line 219 │ :cond_3 │ - if-eqz v5, :cond_4 │ + if-eqz v4, :cond_4 │ │ - if-nez v6, :cond_4 │ + if-nez v5, :cond_4 │ │ .line 220 │ - const-string v7, "Timeout reached " │ + const-string v6, "Timeout reached " │ │ .line 222 │ :cond_4 │ const-string v10, "LNLP/Cell/Died" │ │ new-instance v11, Ljava/lang/StringBuilder; │ │ invoke-direct {v11}, Ljava/lang/StringBuilder;->()V │ │ - invoke-virtual {v11, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; │ + invoke-virtual {v11, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; │ │ move-result-object v11 │ │ invoke-virtual {v0}, Lorg/gfd/gsmlocation/model/CellInfo;->toString()Ljava/lang/String; │ │ move-result-object v12 │ │ @@ -1220,95 +1214,95 @@ │ │ .line 223 │ invoke-virtual {v1, v0}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z │ │ goto :goto_0 │ │ .line 209 │ - .end local v5 # "outdatedByAge":Z │ - .end local v6 # "outdatedByMeasurement":Z │ - .end local v7 # "reason":Ljava/lang/String; │ + .end local v4 # "outdatedByAge":Z │ + .end local v5 # "outdatedByMeasurement":Z │ + .end local v6 # "reason":Ljava/lang/String; │ :cond_5 │ - const/4 v5, 0x0 │ + const/4 v4, 0x0 │ │ goto :goto_1 │ │ .line 210 │ - .restart local v5 # "outdatedByAge":Z │ + .restart local v4 # "outdatedByAge":Z │ :cond_6 │ - const/4 v6, 0x0 │ + const/4 v5, 0x0 │ │ goto :goto_2 │ │ .line 225 │ .end local v0 # "ci":Lorg/gfd/gsmlocation/model/CellInfo; │ - .end local v5 # "outdatedByAge":Z │ + .end local v4 # "outdatedByAge":Z │ :cond_7 │ if-eqz v1, :cond_8 │ │ .line 226 │ - iget-object v10, p0, Lorg/gfd/gsmlocation/CellbasedLocationProvider;->recentCells:Ljava/util/HashSet; │ + iget-object v7, p0, Lorg/gfd/gsmlocation/CellbasedLocationProvider;->recentCells:Ljava/util/HashSet; │ │ - invoke-virtual {v10, v1}, Ljava/util/HashSet;->removeAll(Ljava/util/Collection;)Z │ + invoke-virtual {v7, v1}, Ljava/util/HashSet;->removeAll(Ljava/util/Collection;)Z │ │ .line 228 │ :cond_8 │ if-eqz v1, :cond_9 │ │ invoke-virtual {v1}, Ljava/util/ArrayList;->clear()V │ │ .line 229 │ :cond_9 │ - iget-object v10, p0, Lorg/gfd/gsmlocation/CellbasedLocationProvider;->unusedCells:Ljava/util/HashSet; │ + iget-object v7, p0, Lorg/gfd/gsmlocation/CellbasedLocationProvider;->unusedCells:Ljava/util/HashSet; │ │ - invoke-virtual {v10}, Ljava/util/HashSet;->iterator()Ljava/util/Iterator; │ + invoke-virtual {v7}, Ljava/util/HashSet;->iterator()Ljava/util/Iterator; │ │ - move-result-object v2 │ + move-result-object v7 │ │ :cond_a │ :goto_3 │ - invoke-interface {v2}, Ljava/util/Iterator;->hasNext()Z │ + invoke-interface {v7}, Ljava/util/Iterator;->hasNext()Z │ │ move-result v10 │ │ if-eqz v10, :cond_11 │ │ - invoke-interface {v2}, Ljava/util/Iterator;->next()Ljava/lang/Object; │ + invoke-interface {v7}, Ljava/util/Iterator;->next()Ljava/lang/Object; │ │ move-result-object v0 │ │ check-cast v0, Lorg/gfd/gsmlocation/model/CellInfo; │ │ .line 230 │ .restart local v0 # "ci":Lorg/gfd/gsmlocation/model/CellInfo; │ iget-wide v10, v0, Lorg/gfd/gsmlocation/model/CellInfo;->seen:J │ │ cmp-long v10, v10, v8 │ │ if-gtz v10, :cond_f │ │ - const/4 v5, 0x1 │ + const/4 v4, 0x1 │ │ .line 231 │ - .restart local v5 # "outdatedByAge":Z │ + .restart local v4 # "outdatedByAge":Z │ :goto_4 │ iget-wide v10, v0, Lorg/gfd/gsmlocation/model/CellInfo;->measurement:J │ │ - cmp-long v10, v10, v3 │ + cmp-long v10, v10, v2 │ │ if-gtz v10, :cond_10 │ │ - const/4 v6, 0x1 │ + const/4 v5, 0x1 │ │ .line 232 │ - .restart local v6 # "outdatedByMeasurement":Z │ + .restart local v5 # "outdatedByMeasurement":Z │ :goto_5 │ - if-nez v5, :cond_b │ + if-nez v4, :cond_b │ │ - if-eqz v6, :cond_a │ + if-eqz v5, :cond_a │ │ .line 233 │ :cond_b │ if-nez v1, :cond_c │ │ .line 234 │ new-instance v1, Ljava/util/ArrayList; │ @@ -1323,43 +1317,43 @@ │ add-int/lit8 v10, v10, 0x1 │ │ invoke-direct {v1, v10}, Ljava/util/ArrayList;->(I)V │ │ .line 236 │ .restart local v1 # "dead":Ljava/util/ArrayList;, "Ljava/util/ArrayList;" │ :cond_c │ - const-string v7, "Cell outdated " │ + const-string v6, "Cell outdated " │ │ .line 237 │ - .restart local v7 # "reason":Ljava/lang/String; │ - if-eqz v6, :cond_d │ + .restart local v6 # "reason":Ljava/lang/String; │ + if-eqz v5, :cond_d │ │ - if-nez v5, :cond_d │ + if-nez v4, :cond_d │ │ .line 238 │ - const-string v7, "Measurements reached " │ + const-string v6, "Measurements reached " │ │ .line 240 │ :cond_d │ - if-eqz v5, :cond_e │ + if-eqz v4, :cond_e │ │ - if-nez v6, :cond_e │ + if-nez v5, :cond_e │ │ .line 241 │ - const-string v7, "Timeout reached " │ + const-string v6, "Timeout reached " │ │ .line 243 │ :cond_e │ const-string v10, "LNLP/Cell/Unused/Died" │ │ new-instance v11, Ljava/lang/StringBuilder; │ │ invoke-direct {v11}, Ljava/lang/StringBuilder;->()V │ │ - invoke-virtual {v11, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; │ + invoke-virtual {v11, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; │ │ move-result-object v11 │ │ invoke-virtual {v0}, Lorg/gfd/gsmlocation/model/CellInfo;->toString()Ljava/lang/String; │ │ move-result-object v12 │ │ @@ -1375,39 +1369,39 @@ │ │ .line 244 │ invoke-virtual {v1, v0}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z │ │ goto :goto_3 │ │ .line 230 │ - .end local v5 # "outdatedByAge":Z │ - .end local v6 # "outdatedByMeasurement":Z │ - .end local v7 # "reason":Ljava/lang/String; │ + .end local v4 # "outdatedByAge":Z │ + .end local v5 # "outdatedByMeasurement":Z │ + .end local v6 # "reason":Ljava/lang/String; │ :cond_f │ - const/4 v5, 0x0 │ + const/4 v4, 0x0 │ │ goto :goto_4 │ │ .line 231 │ - .restart local v5 # "outdatedByAge":Z │ + .restart local v4 # "outdatedByAge":Z │ :cond_10 │ - const/4 v6, 0x0 │ + const/4 v5, 0x0 │ │ goto :goto_5 │ │ .line 246 │ .end local v0 # "ci":Lorg/gfd/gsmlocation/model/CellInfo; │ - .end local v5 # "outdatedByAge":Z │ + .end local v4 # "outdatedByAge":Z │ :cond_11 │ if-eqz v1, :cond_12 │ │ .line 247 │ - iget-object v10, p0, Lorg/gfd/gsmlocation/CellbasedLocationProvider;->unusedCells:Ljava/util/HashSet; │ + iget-object v7, p0, Lorg/gfd/gsmlocation/CellbasedLocationProvider;->unusedCells:Ljava/util/HashSet; │ │ - invoke-virtual {v10, v1}, Ljava/util/HashSet;->removeAll(Ljava/util/Collection;)Z │ + invoke-virtual {v7, v1}, Ljava/util/HashSet;->removeAll(Ljava/util/Collection;)Z │ │ .line 249 │ :cond_12 │ return-void │ .end method │ │ .method public getAll()[Lorg/gfd/gsmlocation/model/CellInfo; │ @@ -1517,36 +1511,35 @@ │ .line 169 │ const/4 v2, 0x0 │ │ .line 170 │ .local v2, "currentCountry":I │ new-instance v1, Ljava/util/HashSet; │ │ - const/16 v7, 0x8 │ + const/16 v6, 0x8 │ │ - invoke-direct {v1, v7}, Ljava/util/HashSet;->(I)V │ + invoke-direct {v1, v6}, Ljava/util/HashSet;->(I)V │ │ .line 171 │ .local v1, "countries":Ljava/util/HashSet;, "Ljava/util/HashSet;" │ - iget-object v7, p0, Lorg/gfd/gsmlocation/CellbasedLocationProvider;->recentCells:Ljava/util/HashSet; │ + iget-object v6, p0, Lorg/gfd/gsmlocation/CellbasedLocationProvider;->recentCells:Ljava/util/HashSet; │ │ - invoke-virtual {v7}, Ljava/util/HashSet;->iterator()Ljava/util/Iterator; │ + invoke-virtual {v6}, Ljava/util/HashSet;->iterator()Ljava/util/Iterator; │ │ - move-result-object v4 │ + move-result-object v6 │ │ - .local v4, "i$":Ljava/util/Iterator; │ :cond_0 │ :goto_0 │ - invoke-interface {v4}, Ljava/util/Iterator;->hasNext()Z │ + invoke-interface {v6}, Ljava/util/Iterator;->hasNext()Z │ │ move-result v7 │ │ if-eqz v7, :cond_1 │ │ - invoke-interface {v4}, Ljava/util/Iterator;->next()Ljava/lang/Object; │ + invoke-interface {v6}, Ljava/util/Iterator;->next()Ljava/lang/Object; │ │ move-result-object v0 │ │ check-cast v0, Lorg/gfd/gsmlocation/model/CellInfo; │ │ .line 172 │ .local v0, "cellInfo":Lorg/gfd/gsmlocation/model/CellInfo; │ @@ -1568,53 +1561,55 @@ │ │ if-eqz v7, :cond_0 │ │ iget v7, v0, Lorg/gfd/gsmlocation/model/CellInfo;->CID:I │ │ iget-object v8, p0, Lorg/gfd/gsmlocation/CellbasedLocationProvider;->location:Landroid/telephony/gsm/GsmCellLocation; │ │ + .line 175 │ invoke-virtual {v8}, Landroid/telephony/gsm/GsmCellLocation;->getCid()I │ │ move-result v8 │ │ if-ne v7, v8, :cond_0 │ │ iget v7, v0, Lorg/gfd/gsmlocation/model/CellInfo;->LAC:I │ │ iget-object v8, p0, Lorg/gfd/gsmlocation/CellbasedLocationProvider;->location:Landroid/telephony/gsm/GsmCellLocation; │ │ + .line 176 │ invoke-virtual {v8}, Landroid/telephony/gsm/GsmCellLocation;->getLac()I │ │ move-result v8 │ │ if-ne v7, v8, :cond_0 │ │ .line 177 │ iget v2, v0, Lorg/gfd/gsmlocation/model/CellInfo;->MCC:I │ │ goto :goto_0 │ │ .line 181 │ .end local v0 # "cellInfo":Lorg/gfd/gsmlocation/model/CellInfo; │ :cond_1 │ - iget-object v7, p0, Lorg/gfd/gsmlocation/CellbasedLocationProvider;->unusedCells:Ljava/util/HashSet; │ + iget-object v6, p0, Lorg/gfd/gsmlocation/CellbasedLocationProvider;->unusedCells:Ljava/util/HashSet; │ │ - invoke-virtual {v7}, Ljava/util/HashSet;->iterator()Ljava/util/Iterator; │ + invoke-virtual {v6}, Ljava/util/HashSet;->iterator()Ljava/util/Iterator; │ │ - move-result-object v4 │ + move-result-object v6 │ │ :cond_2 │ :goto_1 │ - invoke-interface {v4}, Ljava/util/Iterator;->hasNext()Z │ + invoke-interface {v6}, Ljava/util/Iterator;->hasNext()Z │ │ move-result v7 │ │ if-eqz v7, :cond_3 │ │ - invoke-interface {v4}, Ljava/util/Iterator;->next()Ljava/lang/Object; │ + invoke-interface {v6}, Ljava/util/Iterator;->next()Ljava/lang/Object; │ │ move-result-object v0 │ │ check-cast v0, Lorg/gfd/gsmlocation/model/CellInfo; │ │ .line 182 │ .restart local v0 # "cellInfo":Lorg/gfd/gsmlocation/model/CellInfo; │ @@ -1636,99 +1631,101 @@ │ │ if-eqz v7, :cond_2 │ │ iget v7, v0, Lorg/gfd/gsmlocation/model/CellInfo;->CID:I │ │ iget-object v8, p0, Lorg/gfd/gsmlocation/CellbasedLocationProvider;->location:Landroid/telephony/gsm/GsmCellLocation; │ │ + .line 185 │ invoke-virtual {v8}, Landroid/telephony/gsm/GsmCellLocation;->getCid()I │ │ move-result v8 │ │ if-ne v7, v8, :cond_2 │ │ iget v7, v0, Lorg/gfd/gsmlocation/model/CellInfo;->LAC:I │ │ iget-object v8, p0, Lorg/gfd/gsmlocation/CellbasedLocationProvider;->location:Landroid/telephony/gsm/GsmCellLocation; │ │ + .line 186 │ invoke-virtual {v8}, Landroid/telephony/gsm/GsmCellLocation;->getLac()I │ │ move-result v8 │ │ if-ne v7, v8, :cond_2 │ │ .line 187 │ iget v2, v0, Lorg/gfd/gsmlocation/model/CellInfo;->MCC:I │ │ goto :goto_1 │ │ .line 191 │ .end local v0 # "cellInfo":Lorg/gfd/gsmlocation/model/CellInfo; │ :cond_3 │ - new-instance v6, Lorg/gfd/gsmlocation/CellbasedLocationProvider$CountryResult; │ + new-instance v5, Lorg/gfd/gsmlocation/CellbasedLocationProvider$CountryResult; │ │ - invoke-direct {v6}, Lorg/gfd/gsmlocation/CellbasedLocationProvider$CountryResult;->()V │ + invoke-direct {v5}, Lorg/gfd/gsmlocation/CellbasedLocationProvider$CountryResult;->()V │ │ .line 192 │ - .local v6, "result":Lorg/gfd/gsmlocation/CellbasedLocationProvider$CountryResult; │ - iput v2, v6, Lorg/gfd/gsmlocation/CellbasedLocationProvider$CountryResult;->currentCountry:I │ + .local v5, "result":Lorg/gfd/gsmlocation/CellbasedLocationProvider$CountryResult; │ + iput v2, v5, Lorg/gfd/gsmlocation/CellbasedLocationProvider$CountryResult;->currentCountry:I │ │ .line 193 │ invoke-virtual {v1}, Ljava/util/HashSet;->size()I │ │ - move-result v7 │ + move-result v6 │ │ - new-array v7, v7, [I │ + new-array v6, v6, [I │ │ - iput-object v7, v6, Lorg/gfd/gsmlocation/CellbasedLocationProvider$CountryResult;->countries:[I │ + iput-object v6, v5, Lorg/gfd/gsmlocation/CellbasedLocationProvider$CountryResult;->countries:[I │ │ .line 194 │ invoke-virtual {v1}, Ljava/util/HashSet;->size()I │ │ - move-result v7 │ + move-result v6 │ │ - new-array v7, v7, [Ljava/lang/Integer; │ + new-array v6, v6, [Ljava/lang/Integer; │ │ - invoke-virtual {v1, v7}, Ljava/util/HashSet;->toArray([Ljava/lang/Object;)[Ljava/lang/Object; │ + invoke-virtual {v1, v6}, Ljava/util/HashSet;->toArray([Ljava/lang/Object;)[Ljava/lang/Object; │ │ - move-result-object v5 │ + move-result-object v4 │ │ - check-cast v5, [Ljava/lang/Integer; │ + check-cast v4, [Ljava/lang/Integer; │ │ .line 195 │ - .local v5, "ints":[Ljava/lang/Integer; │ + .local v4, "ints":[Ljava/lang/Integer; │ const/4 v3, 0x0 │ │ .local v3, "i":I │ :goto_2 │ - iget-object v7, v6, Lorg/gfd/gsmlocation/CellbasedLocationProvider$CountryResult;->countries:[I │ + iget-object v6, v5, Lorg/gfd/gsmlocation/CellbasedLocationProvider$CountryResult;->countries:[I │ │ - array-length v7, v7 │ + array-length v6, v6 │ │ - if-ge v3, v7, :cond_4 │ + if-ge v3, v6, :cond_4 │ │ .line 196 │ - iget-object v7, v6, Lorg/gfd/gsmlocation/CellbasedLocationProvider$CountryResult;->countries:[I │ + iget-object v6, v5, Lorg/gfd/gsmlocation/CellbasedLocationProvider$CountryResult;->countries:[I │ │ - aget-object v8, v5, v3 │ + aget-object v7, v4, v3 │ │ - invoke-virtual {v8}, Ljava/lang/Integer;->intValue()I │ + invoke-virtual {v7}, Ljava/lang/Integer;->intValue()I │ │ - move-result v8 │ + move-result v7 │ │ - aput v8, v7, v3 │ + aput v7, v6, v3 │ │ .line 195 │ add-int/lit8 v3, v3, 0x1 │ │ goto :goto_2 │ │ .line 198 │ :cond_4 │ - return-object v6 │ + return-object v5 │ .end method │ │ .method public init(Landroid/content/Context;)V │ .locals 4 │ .param p1, "ctx" # Landroid/content/Context; │ │ .prologue │ @@ -1748,14 +1745,15 @@ │ │ .line 432 │ .local v0, "fctx":Landroid/content/Context; │ new-instance v2, Lorg/gfd/gsmlocation/CellbasedLocationProvider$1; │ │ invoke-direct {v2, p0, v0}, Lorg/gfd/gsmlocation/CellbasedLocationProvider$1;->(Lorg/gfd/gsmlocation/CellbasedLocationProvider;Landroid/content/Context;)V │ │ + .line 436 │ invoke-virtual {v2}, Lorg/gfd/gsmlocation/CellbasedLocationProvider$1;->start()V │ │ .line 441 │ new-instance v1, Lorg/gfd/gsmlocation/CellbasedLocationProvider$2; │ │ invoke-direct {v1, p0}, Lorg/gfd/gsmlocation/CellbasedLocationProvider$2;->(Lorg/gfd/gsmlocation/CellbasedLocationProvider;)V ├── smali/org/gfd/gsmlocation/GSMService$1.smali │ @@ -22,14 +22,15 @@ │ │ .field final synthetic val$ctx:Landroid/content/Context; │ │ │ # direct methods │ .method constructor (Lorg/gfd/gsmlocation/GSMService;Landroid/content/Context;)V │ .locals 0 │ + .param p1, "this$0" # Lorg/gfd/gsmlocation/GSMService; │ │ .prologue │ .line 33 │ iput-object p1, p0, Lorg/gfd/gsmlocation/GSMService$1;->this$0:Lorg/gfd/gsmlocation/GSMService; │ │ iput-object p2, p0, Lorg/gfd/gsmlocation/GSMService$1;->val$ctx:Landroid/content/Context; ├── smali/org/gfd/gsmlocation/GSMService$2.smali │ @@ -17,299 +17,276 @@ │ # instance fields │ .field final synthetic this$0:Lorg/gfd/gsmlocation/GSMService; │ │ │ # direct methods │ .method constructor (Lorg/gfd/gsmlocation/GSMService;)V │ .locals 0 │ + .param p1, "this$0" # Lorg/gfd/gsmlocation/GSMService; │ │ .prologue │ .line 41 │ iput-object p1, p0, Lorg/gfd/gsmlocation/GSMService$2;->this$0:Lorg/gfd/gsmlocation/GSMService; │ │ invoke-direct {p0}, Ljava/lang/Thread;->()V │ │ return-void │ .end method │ │ │ # virtual methods │ .method public run()V │ - .locals 22 │ + .locals 20 │ │ .prologue │ .line 43 │ move-object/from16 v0, p0 │ │ - iget-object v2, v0, Lorg/gfd/gsmlocation/GSMService$2;->this$0:Lorg/gfd/gsmlocation/GSMService; │ + iget-object v3, v0, Lorg/gfd/gsmlocation/GSMService$2;->this$0:Lorg/gfd/gsmlocation/GSMService; │ │ - iget-object v2, v2, Lorg/gfd/gsmlocation/GSMService;->TAG:Ljava/lang/String; │ + iget-object v3, v3, Lorg/gfd/gsmlocation/GSMService;->TAG:Ljava/lang/String; │ │ - const-string v18, "Starting reporter thread" │ + const-string v11, "Starting reporter thread" │ │ - move-object/from16 v0, v18 │ - │ - invoke-static {v2, v0}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I │ + invoke-static {v3, v11}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I │ │ .line 44 │ move-object/from16 v0, p0 │ │ - iget-object v2, v0, Lorg/gfd/gsmlocation/GSMService$2;->this$0:Lorg/gfd/gsmlocation/GSMService; │ + iget-object v3, v0, Lorg/gfd/gsmlocation/GSMService$2;->this$0:Lorg/gfd/gsmlocation/GSMService; │ │ invoke-static {}, Lorg/gfd/gsmlocation/CellbasedLocationProvider;->getInstance()Lorg/gfd/gsmlocation/CellbasedLocationProvider; │ │ - move-result-object v18 │ - │ - move-object/from16 v0, v18 │ + move-result-object v11 │ │ - iput-object v0, v2, Lorg/gfd/gsmlocation/GSMService;->lp:Lorg/gfd/gsmlocation/CellbasedLocationProvider; │ + iput-object v11, v3, Lorg/gfd/gsmlocation/GSMService;->lp:Lorg/gfd/gsmlocation/CellbasedLocationProvider; │ │ .line 45 │ - const-wide/16 v15, 0x0 │ + const-wide/16 v14, 0x0 │ │ .line 46 │ - .local v15, "lastLng":D │ - const-wide/16 v13, 0x0 │ + .local v14, "lastLng":D │ + const-wide/16 v12, 0x0 │ │ .line 48 │ - .local v13, "lastLat":D │ + .local v12, "lastLat":D │ :cond_0 │ :goto_0 │ - const-wide/16 v18, 0x3e8 │ + const-wide/16 v16, 0x3e8 │ │ :try_start_0 │ - invoke-static/range {v18 .. v19}, Ljava/lang/Thread;->sleep(J)V │ + invoke-static/range {v16 .. v17}, Ljava/lang/Thread;->sleep(J)V │ :try_end_0 │ .catch Ljava/lang/InterruptedException; {:try_start_0 .. :try_end_0} :catch_1 │ │ .line 51 │ :try_start_1 │ move-object/from16 v0, p0 │ │ - iget-object v2, v0, Lorg/gfd/gsmlocation/GSMService$2;->this$0:Lorg/gfd/gsmlocation/GSMService; │ + iget-object v3, v0, Lorg/gfd/gsmlocation/GSMService$2;->this$0:Lorg/gfd/gsmlocation/GSMService; │ │ - iget-object v2, v2, Lorg/gfd/gsmlocation/GSMService;->lp:Lorg/gfd/gsmlocation/CellbasedLocationProvider; │ + iget-object v3, v3, Lorg/gfd/gsmlocation/GSMService;->lp:Lorg/gfd/gsmlocation/CellbasedLocationProvider; │ │ - invoke-virtual {v2}, Lorg/gfd/gsmlocation/CellbasedLocationProvider;->getAll()[Lorg/gfd/gsmlocation/model/CellInfo; │ + invoke-virtual {v3}, Lorg/gfd/gsmlocation/CellbasedLocationProvider;->getAll()[Lorg/gfd/gsmlocation/model/CellInfo; │ │ - move-result-object v12 │ + move-result-object v10 │ │ .line 53 │ - .local v12, "infos":[Lorg/gfd/gsmlocation/model/CellInfo; │ - array-length v2, v12 │ + .local v10, "infos":[Lorg/gfd/gsmlocation/model/CellInfo; │ + array-length v3, v10 │ │ - if-eqz v2, :cond_0 │ + if-eqz v3, :cond_0 │ │ .line 55 │ - const-wide/16 v5, 0x0 │ + const-wide/16 v6, 0x0 │ │ .line 56 │ - .local v5, "lng":D │ - const-wide/16 v3, 0x0 │ + .local v6, "lng":D │ + const-wide/16 v4, 0x0 │ │ .line 57 │ - .local v3, "lat":D │ - move-object v8, v12 │ - │ - .local v8, "arr$":[Lorg/gfd/gsmlocation/model/CellInfo; │ - array-length v0, v8 │ - │ - move/from16 v17, v0 │ + .local v4, "lat":D │ + array-length v11, v10 │ │ - .local v17, "len$":I │ - const/4 v11, 0x0 │ + const/4 v3, 0x0 │ │ - .local v11, "i$":I │ :goto_1 │ - move/from16 v0, v17 │ + if-ge v3, v11, :cond_1 │ │ - if-ge v11, v0, :cond_1 │ - │ - aget-object v9, v8, v11 │ + aget-object v2, v10, v3 │ │ .line 58 │ - .local v9, "c":Lorg/gfd/gsmlocation/model/CellInfo; │ - iget-wide v0, v9, Lorg/gfd/gsmlocation/model/CellInfo;->lng:D │ + .local v2, "c":Lorg/gfd/gsmlocation/model/CellInfo; │ + iget-wide v0, v2, Lorg/gfd/gsmlocation/model/CellInfo;->lng:D │ │ - move-wide/from16 v18, v0 │ + move-wide/from16 v16, v0 │ │ - add-double v5, v5, v18 │ + add-double v6, v6, v16 │ │ .line 59 │ - iget-wide v0, v9, Lorg/gfd/gsmlocation/model/CellInfo;->lat:D │ + iget-wide v0, v2, Lorg/gfd/gsmlocation/model/CellInfo;->lat:D │ │ - move-wide/from16 v18, v0 │ + move-wide/from16 v16, v0 │ │ - add-double v3, v3, v18 │ + add-double v4, v4, v16 │ │ .line 57 │ - add-int/lit8 v11, v11, 0x1 │ + add-int/lit8 v3, v3, 0x1 │ │ goto :goto_1 │ │ .line 61 │ - .end local v9 # "c":Lorg/gfd/gsmlocation/model/CellInfo; │ + .end local v2 # "c":Lorg/gfd/gsmlocation/model/CellInfo; │ :cond_1 │ - array-length v2, v12 │ + array-length v3, v10 │ │ - int-to-double v0, v2 │ + int-to-double v0, v3 │ │ - move-wide/from16 v18, v0 │ + move-wide/from16 v16, v0 │ │ - div-double v5, v5, v18 │ + div-double v6, v6, v16 │ │ .line 62 │ - array-length v2, v12 │ + array-length v3, v10 │ │ - int-to-double v0, v2 │ + int-to-double v0, v3 │ │ - move-wide/from16 v18, v0 │ + move-wide/from16 v16, v0 │ │ - div-double v3, v3, v18 │ + div-double v4, v4, v16 │ │ .line 63 │ - const-wide/high16 v18, 0x4089000000000000L # 800.0 │ + const-wide/high16 v16, 0x4089000000000000L # 800.0 │ │ - array-length v2, v12 │ + array-length v3, v10 │ │ - int-to-double v0, v2 │ + int-to-double v0, v3 │ │ - move-wide/from16 v20, v0 │ + move-wide/from16 v18, v0 │ │ - div-double v18, v18, v20 │ + div-double v16, v16, v18 │ │ - move-wide/from16 v0, v18 │ + move-wide/from16 v0, v16 │ │ - double-to-float v7, v0 │ + double-to-float v8, v0 │ │ .line 64 │ - .local v7, "acc":F │ - cmpl-double v2, v5, v15 │ + .local v8, "acc":F │ + cmpl-double v3, v6, v14 │ │ - if-nez v2, :cond_2 │ + if-nez v3, :cond_2 │ │ - cmpl-double v2, v3, v13 │ + cmpl-double v3, v4, v12 │ │ - if-eqz v2, :cond_0 │ + if-eqz v3, :cond_0 │ │ .line 65 │ :cond_2 │ move-object/from16 v0, p0 │ │ - iget-object v2, v0, Lorg/gfd/gsmlocation/GSMService$2;->this$0:Lorg/gfd/gsmlocation/GSMService; │ - │ - iget-object v2, v2, Lorg/gfd/gsmlocation/GSMService;->TAG:Ljava/lang/String; │ + iget-object v3, v0, Lorg/gfd/gsmlocation/GSMService$2;->this$0:Lorg/gfd/gsmlocation/GSMService; │ │ - new-instance v18, Ljava/lang/StringBuilder; │ + iget-object v3, v3, Lorg/gfd/gsmlocation/GSMService;->TAG:Ljava/lang/String; │ │ - invoke-direct/range {v18 .. v18}, Ljava/lang/StringBuilder;->()V │ + new-instance v11, Ljava/lang/StringBuilder; │ │ - const-string v19, "report (" │ + invoke-direct {v11}, Ljava/lang/StringBuilder;->()V │ │ - invoke-virtual/range {v18 .. v19}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; │ + const-string v16, "report (" │ │ - move-result-object v18 │ + move-object/from16 v0, v16 │ │ - move-object/from16 v0, v18 │ + invoke-virtual {v11, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; │ │ - invoke-virtual {v0, v3, v4}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder; │ + move-result-object v11 │ │ - move-result-object v18 │ + invoke-virtual {v11, v4, v5}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder; │ │ - const-string v19, "," │ + move-result-object v11 │ │ - invoke-virtual/range {v18 .. v19}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; │ + const-string v16, "," │ │ - move-result-object v18 │ + move-object/from16 v0, v16 │ │ - move-object/from16 v0, v18 │ + invoke-virtual {v11, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; │ │ - invoke-virtual {v0, v5, v6}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder; │ + move-result-object v11 │ │ - move-result-object v18 │ + invoke-virtual {v11, v6, v7}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder; │ │ - const-string v19, ") / " │ + move-result-object v11 │ │ - invoke-virtual/range {v18 .. v19}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; │ + const-string v16, ") / " │ │ - move-result-object v18 │ + move-object/from16 v0, v16 │ │ - move-object/from16 v0, v18 │ + invoke-virtual {v11, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; │ │ - invoke-virtual {v0, v7}, Ljava/lang/StringBuilder;->append(F)Ljava/lang/StringBuilder; │ + move-result-object v11 │ │ - move-result-object v18 │ + invoke-virtual {v11, v8}, Ljava/lang/StringBuilder;->append(F)Ljava/lang/StringBuilder; │ │ - invoke-virtual/range {v18 .. v18}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; │ + move-result-object v11 │ │ - move-result-object v18 │ + invoke-virtual {v11}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; │ │ - move-object/from16 v0, v18 │ + move-result-object v11 │ │ - invoke-static {v2, v0}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I │ + invoke-static {v3, v11}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I │ │ .line 66 │ - move-wide v15, v5 │ + move-wide v14, v6 │ │ .line 67 │ - move-wide v13, v3 │ + move-wide v12, v4 │ │ .line 68 │ move-object/from16 v0, p0 │ │ - iget-object v0, v0, Lorg/gfd/gsmlocation/GSMService$2;->this$0:Lorg/gfd/gsmlocation/GSMService; │ + iget-object v11, v0, Lorg/gfd/gsmlocation/GSMService$2;->this$0:Lorg/gfd/gsmlocation/GSMService; │ │ - move-object/from16 v18, v0 │ + const-string v3, "gsm" │ │ - const-string v2, "gsm" │ + invoke-static/range {v3 .. v8}, Lorg/microg/nlp/api/LocationHelper;->create(Ljava/lang/String;DDF)Landroid/location/Location; │ │ - invoke-static/range {v2 .. v7}, Lorg/microg/nlp/api/LocationHelper;->create(Ljava/lang/String;DDF)Landroid/location/Location; │ + move-result-object v3 │ │ - move-result-object v2 │ - │ - move-object/from16 v0, v18 │ - │ - invoke-virtual {v0, v2}, Lorg/gfd/gsmlocation/GSMService;->report(Landroid/location/Location;)V │ + invoke-virtual {v11, v3}, Lorg/gfd/gsmlocation/GSMService;->report(Landroid/location/Location;)V │ :try_end_1 │ .catch Ljava/lang/Exception; {:try_start_1 .. :try_end_1} :catch_0 │ .catch Ljava/lang/InterruptedException; {:try_start_1 .. :try_end_1} :catch_1 │ │ goto/16 :goto_0 │ │ .line 70 │ - .end local v3 # "lat":D │ - .end local v5 # "lng":D │ - .end local v7 # "acc":F │ - .end local v8 # "arr$":[Lorg/gfd/gsmlocation/model/CellInfo; │ - .end local v11 # "i$":I │ - .end local v12 # "infos":[Lorg/gfd/gsmlocation/model/CellInfo; │ - .end local v17 # "len$":I │ + .end local v4 # "lat":D │ + .end local v6 # "lng":D │ + .end local v8 # "acc":F │ + .end local v10 # "infos":[Lorg/gfd/gsmlocation/model/CellInfo; │ :catch_0 │ - move-exception v10 │ + move-exception v9 │ │ .line 71 │ - .local v10, "e":Ljava/lang/Exception; │ + .local v9, "e":Ljava/lang/Exception; │ :try_start_2 │ move-object/from16 v0, p0 │ │ - iget-object v2, v0, Lorg/gfd/gsmlocation/GSMService$2;->this$0:Lorg/gfd/gsmlocation/GSMService; │ - │ - iget-object v2, v2, Lorg/gfd/gsmlocation/GSMService;->TAG:Ljava/lang/String; │ + iget-object v3, v0, Lorg/gfd/gsmlocation/GSMService$2;->this$0:Lorg/gfd/gsmlocation/GSMService; │ │ - const-string v18, "Update loop failed" │ + iget-object v3, v3, Lorg/gfd/gsmlocation/GSMService;->TAG:Ljava/lang/String; │ │ - move-object/from16 v0, v18 │ + const-string v11, "Update loop failed" │ │ - invoke-static {v2, v0, v10}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I │ + invoke-static {v3, v11, v9}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I │ :try_end_2 │ .catch Ljava/lang/InterruptedException; {:try_start_2 .. :try_end_2} :catch_1 │ │ goto/16 :goto_0 │ │ .line 73 │ - .end local v10 # "e":Ljava/lang/Exception; │ + .end local v9 # "e":Ljava/lang/Exception; │ :catch_1 │ - move-exception v2 │ + move-exception v3 │ │ .line 74 │ return-void │ .end method ├── smali/org/gfd/gsmlocation/GSMService.smali │ @@ -307,154 +307,149 @@ │ :catch_3 │ move-exception v4 │ │ goto :goto_1 │ .end method │ │ .method protected update()Landroid/location/Location; │ - .locals 15 │ + .locals 12 │ │ .prologue │ - const/4 v0, 0x0 │ + const/4 v1, 0x0 │ │ .line 86 │ invoke-virtual {p0}, Lorg/gfd/gsmlocation/GSMService;->start()V │ │ .line 88 │ - iget-object v11, p0, Lorg/gfd/gsmlocation/GSMService;->lp:Lorg/gfd/gsmlocation/CellbasedLocationProvider; │ + iget-object v8, p0, Lorg/gfd/gsmlocation/GSMService;->lp:Lorg/gfd/gsmlocation/CellbasedLocationProvider; │ │ - if-nez v11, :cond_1 │ + if-nez v8, :cond_1 │ │ .line 105 │ :cond_0 │ :goto_0 │ - return-object v0 │ + return-object v1 │ │ .line 90 │ :cond_1 │ - iget-object v11, p0, Lorg/gfd/gsmlocation/GSMService;->lp:Lorg/gfd/gsmlocation/CellbasedLocationProvider; │ + iget-object v8, p0, Lorg/gfd/gsmlocation/GSMService;->lp:Lorg/gfd/gsmlocation/CellbasedLocationProvider; │ │ - invoke-virtual {v11}, Lorg/gfd/gsmlocation/CellbasedLocationProvider;->getAll()[Lorg/gfd/gsmlocation/model/CellInfo; │ + invoke-virtual {v8}, Lorg/gfd/gsmlocation/CellbasedLocationProvider;->getAll()[Lorg/gfd/gsmlocation/model/CellInfo; │ │ - move-result-object v9 │ + move-result-object v7 │ │ .line 92 │ - .local v9, "infos":[Lorg/gfd/gsmlocation/model/CellInfo; │ - array-length v11, v9 │ + .local v7, "infos":[Lorg/gfd/gsmlocation/model/CellInfo; │ + array-length v8, v7 │ │ - if-eqz v11, :cond_0 │ + if-eqz v8, :cond_0 │ │ .line 94 │ - const-wide/16 v3, 0x0 │ + const-wide/16 v4, 0x0 │ │ .line 95 │ - .local v3, "lng":D │ - const-wide/16 v1, 0x0 │ + .local v4, "lng":D │ + const-wide/16 v2, 0x0 │ │ .line 96 │ - .local v1, "lat":D │ - move-object v6, v9 │ + .local v2, "lat":D │ + array-length v8, v7 │ │ - .local v6, "arr$":[Lorg/gfd/gsmlocation/model/CellInfo; │ - array-length v10, v6 │ + const/4 v1, 0x0 │ │ - .local v10, "len$":I │ - const/4 v8, 0x0 │ - │ - .local v8, "i$":I │ :goto_1 │ - if-ge v8, v10, :cond_2 │ + if-ge v1, v8, :cond_2 │ │ - aget-object v7, v6, v8 │ + aget-object v0, v7, v1 │ │ .line 97 │ - .local v7, "c":Lorg/gfd/gsmlocation/model/CellInfo; │ - iget-wide v11, v7, Lorg/gfd/gsmlocation/model/CellInfo;->lng:D │ + .local v0, "c":Lorg/gfd/gsmlocation/model/CellInfo; │ + iget-wide v10, v0, Lorg/gfd/gsmlocation/model/CellInfo;->lng:D │ │ - add-double/2addr v3, v11 │ + add-double/2addr v4, v10 │ │ .line 98 │ - iget-wide v11, v7, Lorg/gfd/gsmlocation/model/CellInfo;->lat:D │ + iget-wide v10, v0, Lorg/gfd/gsmlocation/model/CellInfo;->lat:D │ │ - add-double/2addr v1, v11 │ + add-double/2addr v2, v10 │ │ .line 96 │ - add-int/lit8 v8, v8, 0x1 │ + add-int/lit8 v1, v1, 0x1 │ │ goto :goto_1 │ │ .line 100 │ - .end local v7 # "c":Lorg/gfd/gsmlocation/model/CellInfo; │ + .end local v0 # "c":Lorg/gfd/gsmlocation/model/CellInfo; │ :cond_2 │ - array-length v0, v9 │ + array-length v1, v7 │ │ - int-to-double v11, v0 │ + int-to-double v8, v1 │ │ - div-double/2addr v3, v11 │ + div-double/2addr v4, v8 │ │ .line 101 │ - array-length v0, v9 │ + array-length v1, v7 │ │ - int-to-double v11, v0 │ + int-to-double v8, v1 │ │ - div-double/2addr v1, v11 │ + div-double/2addr v2, v8 │ │ .line 102 │ - const-wide/high16 v11, 0x4089000000000000L # 800.0 │ + const-wide/high16 v8, 0x4089000000000000L # 800.0 │ │ - array-length v0, v9 │ + array-length v1, v7 │ │ - int-to-double v13, v0 │ + int-to-double v10, v1 │ │ - div-double/2addr v11, v13 │ + div-double/2addr v8, v10 │ │ - double-to-float v5, v11 │ + double-to-float v6, v8 │ │ .line 104 │ - .local v5, "acc":F │ - iget-object v0, p0, Lorg/gfd/gsmlocation/GSMService;->TAG:Ljava/lang/String; │ + .local v6, "acc":F │ + iget-object v1, p0, Lorg/gfd/gsmlocation/GSMService;->TAG:Ljava/lang/String; │ │ - new-instance v11, Ljava/lang/StringBuilder; │ + new-instance v8, Ljava/lang/StringBuilder; │ │ - invoke-direct {v11}, Ljava/lang/StringBuilder;->()V │ + invoke-direct {v8}, Ljava/lang/StringBuilder;->()V │ │ - const-string v12, "update (" │ + const-string v9, "update (" │ │ - invoke-virtual {v11, v12}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; │ + invoke-virtual {v8, v9}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; │ │ - move-result-object v11 │ + move-result-object v8 │ │ - invoke-virtual {v11, v1, v2}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder; │ + invoke-virtual {v8, v2, v3}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder; │ │ - move-result-object v11 │ + move-result-object v8 │ │ - const-string v12, "," │ + const-string v9, "," │ │ - invoke-virtual {v11, v12}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; │ + invoke-virtual {v8, v9}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; │ │ - move-result-object v11 │ + move-result-object v8 │ │ - invoke-virtual {v11, v3, v4}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder; │ + invoke-virtual {v8, v4, v5}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder; │ │ - move-result-object v11 │ + move-result-object v8 │ │ - const-string v12, ")" │ + const-string v9, ")" │ │ - invoke-virtual {v11, v12}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; │ + invoke-virtual {v8, v9}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; │ │ - move-result-object v11 │ + move-result-object v8 │ │ - invoke-virtual {v11}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; │ + invoke-virtual {v8}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; │ │ - move-result-object v11 │ + move-result-object v8 │ │ - invoke-static {v0, v11}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I │ + invoke-static {v1, v8}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I │ │ .line 105 │ - const-string v0, "gsm" │ + const-string v1, "gsm" │ │ - invoke-static/range {v0 .. v5}, Lorg/microg/nlp/api/LocationHelper;->create(Ljava/lang/String;DDF)Landroid/location/Location; │ + invoke-static/range {v1 .. v6}, Lorg/microg/nlp/api/LocationHelper;->create(Ljava/lang/String;DDF)Landroid/location/Location; │ │ - move-result-object v0 │ + move-result-object v1 │ │ goto :goto_0 │ .end method ├── smali/org/gfd/gsmlocation/R.smali │ @@ -18,10 +18,9 @@ │ .method public constructor ()V │ .locals 0 │ │ .prologue │ .line 10 │ invoke-direct {p0}, Ljava/lang/Object;->()V │ │ - .line 19 │ return-void │ .end method ├── smali/org/gfd/gsmlocation/db/BCSReader.smali │ @@ -448,22 +448,24 @@ │ move/from16 v1, p3 │ │ if-ne v0, v1, :cond_3 │ │ .line 572 │ new-instance v4, Lorg/gfd/gsmlocation/db/BCSReader$BlockMeta; │ │ + .line 573 │ move-object/from16 v0, p0 │ │ move/from16 v1, p2 │ │ invoke-virtual {v0, v1}, Lorg/gfd/gsmlocation/db/BCSReader;->blockEntryCount(I)I │ │ move-result v6 │ │ + .line 574 │ move-object/from16 v0, p0 │ │ move/from16 v1, p2 │ │ invoke-virtual {v0, v1}, Lorg/gfd/gsmlocation/db/BCSReader;->lowBlockValueLimit(I)[[B │ │ move-result-object v9 │ @@ -598,22 +600,24 @@ │ │ new-array v5, v5, [Lorg/gfd/gsmlocation/db/BCSReader$BlockMeta; │ │ const/4 v6, 0x0 │ │ new-instance v9, Lorg/gfd/gsmlocation/db/BCSReader$BlockMeta; │ │ + .line 596 │ move-object/from16 v0, p0 │ │ move/from16 v1, p2 │ │ invoke-virtual {v0, v1}, Lorg/gfd/gsmlocation/db/BCSReader;->blockEntryCount(I)I │ │ move-result v11 │ │ + .line 597 │ move-object/from16 v0, p0 │ │ move/from16 v1, p2 │ │ invoke-virtual {v0, v1}, Lorg/gfd/gsmlocation/db/BCSReader;->lowBlockValueLimit(I)[[B │ │ move-result-object v14 │ @@ -634,22 +638,24 @@ │ │ aput-object v9, v5, v6 │ │ const/4 v6, 0x1 │ │ new-instance v14, Lorg/gfd/gsmlocation/db/BCSReader$BlockMeta; │ │ + .line 599 │ move-object/from16 v0, p0 │ │ move/from16 v1, p3 │ │ invoke-virtual {v0, v1}, Lorg/gfd/gsmlocation/db/BCSReader;->blockEntryCount(I)I │ │ move-result v16 │ │ + .line 600 │ move-object/from16 v0, p0 │ │ move/from16 v1, p3 │ │ invoke-virtual {v0, v1}, Lorg/gfd/gsmlocation/db/BCSReader;->lowBlockValueLimit(I)[[B │ │ move-result-object v19 │ @@ -677,22 +683,24 @@ │ if-nez v25, :cond_7 │ │ if-nez v22, :cond_7 │ │ .line 606 │ new-instance v9, Lorg/gfd/gsmlocation/db/BCSReader$BlockMeta; │ │ + .line 607 │ move-object/from16 v0, p0 │ │ move/from16 v1, p2 │ │ invoke-virtual {v0, v1}, Lorg/gfd/gsmlocation/db/BCSReader;->blockEntryCount(I)I │ │ move-result v11 │ │ + .line 608 │ move-object/from16 v0, p0 │ │ move/from16 v1, p2 │ │ invoke-virtual {v0, v1}, Lorg/gfd/gsmlocation/db/BCSReader;->lowBlockValueLimit(I)[[B │ │ move-result-object v14 │ @@ -711,22 +719,24 @@ │ │ invoke-direct/range {v9 .. v15}, Lorg/gfd/gsmlocation/db/BCSReader$BlockMeta;->(II[[B[[B[[B[[B)V │ │ .line 609 │ .local v9, "metaLow":Lorg/gfd/gsmlocation/db/BCSReader$BlockMeta; │ new-instance v14, Lorg/gfd/gsmlocation/db/BCSReader$BlockMeta; │ │ + .line 610 │ move-object/from16 v0, p0 │ │ move/from16 v1, p3 │ │ invoke-virtual {v0, v1}, Lorg/gfd/gsmlocation/db/BCSReader;->blockEntryCount(I)I │ │ move-result v16 │ │ + .line 611 │ move-object/from16 v0, p0 │ │ move/from16 v1, p3 │ │ invoke-virtual {v0, v1}, Lorg/gfd/gsmlocation/db/BCSReader;->lowBlockValueLimit(I)[[B │ │ move-result-object v19 │ @@ -863,14 +873,15 @@ │ :cond_9 │ const/4 v5, 0x2 │ │ new-array v5, v5, [Lorg/gfd/gsmlocation/db/BCSReader$BlockMeta; │ │ const/4 v6, 0x0 │ │ + .line 636 │ move-object/from16 v0, p0 │ │ move-object/from16 v1, p1 │ │ move/from16 v2, p2 │ │ move/from16 v3, v29 │ @@ -883,14 +894,15 @@ │ │ aget-object v10, v10, v11 │ │ aput-object v10, v5, v6 │ │ const/4 v6, 0x1 │ │ + .line 637 │ move-object/from16 v0, p0 │ │ move-object/from16 v1, p1 │ │ move/from16 v2, v29 │ │ move/from16 v3, p3 │ @@ -920,21 +932,21 @@ │ } │ .end annotation │ │ .prologue │ .local p1, "type":Ljava/lang/Class;, "Ljava/lang/Class<*>;" │ const/4 v8, 0x3 │ │ - const/4 v7, 0x2 │ + const/4 v5, 0x2 │ │ const/4 v0, 0x1 │ │ const/4 v1, 0x0 │ │ - const-wide/16 v5, 0xff │ + const-wide/16 v6, 0xff │ │ .line 160 │ const-class v2, Ljava/lang/Byte; │ │ if-ne p1, v2, :cond_0 │ │ .line 161 │ @@ -1042,15 +1054,15 @@ │ │ and-int/lit16 v0, v0, 0xff │ │ shl-int/lit8 v0, v0, 0x10 │ │ or-int/2addr v0, v1 │ │ - aget-byte v1, p2, v7 │ + aget-byte v1, p2, v5 │ │ and-int/lit16 v1, v1, 0xff │ │ shl-int/lit8 v1, v1, 0x8 │ │ or-int/2addr v0, v1 │ │ @@ -1071,107 +1083,107 @@ │ const-class v2, Ljava/lang/Long; │ │ if-ne p1, v2, :cond_6 │ │ .line 187 │ aget-byte v1, p2, v1 │ │ - int-to-long v1, v1 │ + int-to-long v2, v1 │ │ - and-long/2addr v1, v5 │ + and-long/2addr v2, v6 │ │ - const/16 v3, 0x38 │ + const/16 v1, 0x38 │ │ - shl-long/2addr v1, v3 │ + shl-long/2addr v2, v1 │ │ aget-byte v0, p2, v0 │ │ - int-to-long v3, v0 │ + int-to-long v0, v0 │ │ - and-long/2addr v3, v5 │ + and-long/2addr v0, v6 │ │ - const/16 v0, 0x30 │ + const/16 v4, 0x30 │ │ - shl-long/2addr v3, v0 │ + shl-long/2addr v0, v4 │ │ - or-long v0, v1, v3 │ + or-long/2addr v0, v2 │ │ - aget-byte v2, p2, v7 │ + aget-byte v2, p2, v5 │ │ int-to-long v2, v2 │ │ - and-long/2addr v2, v5 │ + and-long/2addr v2, v6 │ │ const/16 v4, 0x28 │ │ shl-long/2addr v2, v4 │ │ or-long/2addr v0, v2 │ │ aget-byte v2, p2, v8 │ │ int-to-long v2, v2 │ │ - and-long/2addr v2, v5 │ + and-long/2addr v2, v6 │ │ const/16 v4, 0x20 │ │ shl-long/2addr v2, v4 │ │ or-long/2addr v0, v2 │ │ const/4 v2, 0x4 │ │ aget-byte v2, p2, v2 │ │ int-to-long v2, v2 │ │ - and-long/2addr v2, v5 │ + and-long/2addr v2, v6 │ │ const/16 v4, 0x18 │ │ shl-long/2addr v2, v4 │ │ or-long/2addr v0, v2 │ │ const/4 v2, 0x5 │ │ aget-byte v2, p2, v2 │ │ int-to-long v2, v2 │ │ - and-long/2addr v2, v5 │ + and-long/2addr v2, v6 │ │ const/16 v4, 0x10 │ │ shl-long/2addr v2, v4 │ │ or-long/2addr v0, v2 │ │ const/4 v2, 0x6 │ │ aget-byte v2, p2, v2 │ │ int-to-long v2, v2 │ │ - and-long/2addr v2, v5 │ + and-long/2addr v2, v6 │ │ const/16 v4, 0x8 │ │ shl-long/2addr v2, v4 │ │ or-long/2addr v0, v2 │ │ const/4 v2, 0x7 │ │ aget-byte v2, p2, v2 │ │ int-to-long v2, v2 │ │ - and-long/2addr v2, v5 │ + and-long/2addr v2, v6 │ │ or-long/2addr v0, v2 │ │ invoke-static {v0, v1}, Ljava/lang/Long;->valueOf(J)Ljava/lang/Long; │ │ move-result-object v0 │ │ @@ -1194,15 +1206,15 @@ │ │ and-int/lit16 v0, v0, 0xff │ │ shl-int/lit8 v0, v0, 0x10 │ │ or-int/2addr v0, v1 │ │ - aget-byte v1, p2, v7 │ + aget-byte v1, p2, v5 │ │ and-int/lit16 v1, v1, 0xff │ │ shl-int/lit8 v1, v1, 0x8 │ │ or-int/2addr v0, v1 │ │ @@ -1227,107 +1239,107 @@ │ const-class v2, Ljava/lang/Double; │ │ if-ne p1, v2, :cond_8 │ │ .line 207 │ aget-byte v1, p2, v1 │ │ - int-to-long v1, v1 │ + int-to-long v2, v1 │ │ - and-long/2addr v1, v5 │ + and-long/2addr v2, v6 │ │ - const/16 v3, 0x38 │ + const/16 v1, 0x38 │ │ - shl-long/2addr v1, v3 │ + shl-long/2addr v2, v1 │ │ aget-byte v0, p2, v0 │ │ - int-to-long v3, v0 │ + int-to-long v0, v0 │ │ - and-long/2addr v3, v5 │ + and-long/2addr v0, v6 │ │ - const/16 v0, 0x30 │ + const/16 v4, 0x30 │ │ - shl-long/2addr v3, v0 │ + shl-long/2addr v0, v4 │ │ - or-long v0, v1, v3 │ + or-long/2addr v0, v2 │ │ - aget-byte v2, p2, v7 │ + aget-byte v2, p2, v5 │ │ int-to-long v2, v2 │ │ - and-long/2addr v2, v5 │ + and-long/2addr v2, v6 │ │ const/16 v4, 0x28 │ │ shl-long/2addr v2, v4 │ │ or-long/2addr v0, v2 │ │ aget-byte v2, p2, v8 │ │ int-to-long v2, v2 │ │ - and-long/2addr v2, v5 │ + and-long/2addr v2, v6 │ │ const/16 v4, 0x20 │ │ shl-long/2addr v2, v4 │ │ or-long/2addr v0, v2 │ │ const/4 v2, 0x4 │ │ aget-byte v2, p2, v2 │ │ int-to-long v2, v2 │ │ - and-long/2addr v2, v5 │ + and-long/2addr v2, v6 │ │ const/16 v4, 0x18 │ │ shl-long/2addr v2, v4 │ │ or-long/2addr v0, v2 │ │ const/4 v2, 0x5 │ │ aget-byte v2, p2, v2 │ │ int-to-long v2, v2 │ │ - and-long/2addr v2, v5 │ + and-long/2addr v2, v6 │ │ const/16 v4, 0x10 │ │ shl-long/2addr v2, v4 │ │ or-long/2addr v0, v2 │ │ const/4 v2, 0x6 │ │ aget-byte v2, p2, v2 │ │ int-to-long v2, v2 │ │ - and-long/2addr v2, v5 │ + and-long/2addr v2, v6 │ │ const/16 v4, 0x8 │ │ shl-long/2addr v2, v4 │ │ or-long/2addr v0, v2 │ │ const/4 v2, 0x7 │ │ aget-byte v2, p2, v2 │ │ int-to-long v2, v2 │ │ - and-long/2addr v2, v5 │ + and-long/2addr v2, v6 │ │ or-long/2addr v0, v2 │ │ invoke-static {v0, v1}, Ljava/lang/Double;->longBitsToDouble(J)D │ │ move-result-wide v0 │ │ @@ -1615,153 +1627,145 @@ │ move-object v5, v3 │ │ .line 828 │ goto :goto_1 │ .end method │ │ .method public varargs getAll([Ljava/lang/Object;)[Lorg/gfd/gsmlocation/db/BCSReader$BlockEntry; │ - .locals 11 │ + .locals 10 │ .param p1, "key" # [Ljava/lang/Object; │ .annotation system Ldalvik/annotation/Throws; │ value = { │ Ljava/io/IOException; │ } │ .end annotation │ │ .prologue │ + const/4 v8, 0x0 │ + │ .line 838 │ - array-length v10, p1 │ + array-length v7, p1 │ │ - new-array v1, v10, [[B │ + new-array v0, v7, [[B │ │ .line 839 │ - .local v1, "bkey":[[B │ - const/4 v5, 0x0 │ + .local v0, "bkey":[[B │ + const/4 v4, 0x0 │ │ - .local v5, "i":I │ + .local v4, "i":I │ :goto_0 │ - array-length v10, p1 │ + array-length v7, p1 │ │ - if-ge v5, v10, :cond_0 │ + if-ge v4, v7, :cond_0 │ │ .line 840 │ - aget-object v10, p1, v5 │ + aget-object v7, p1, v4 │ │ - invoke-virtual {p0, v10}, Lorg/gfd/gsmlocation/db/BCSReader;->type2bytes(Ljava/lang/Object;)[B │ + invoke-virtual {p0, v7}, Lorg/gfd/gsmlocation/db/BCSReader;->type2bytes(Ljava/lang/Object;)[B │ │ - move-result-object v10 │ + move-result-object v7 │ │ - aput-object v10, v1, v5 │ + aput-object v7, v0, v4 │ │ .line 839 │ - add-int/lit8 v5, v5, 0x1 │ + add-int/lit8 v4, v4, 0x1 │ │ goto :goto_0 │ │ .line 843 │ :cond_0 │ - invoke-virtual {p0, v1}, Lorg/gfd/gsmlocation/db/BCSReader;->blockRangeSearch([[B)[Lorg/gfd/gsmlocation/db/BCSReader$BlockMeta; │ + invoke-virtual {p0, v0}, Lorg/gfd/gsmlocation/db/BCSReader;->blockRangeSearch([[B)[Lorg/gfd/gsmlocation/db/BCSReader$BlockMeta; │ │ - move-result-object v9 │ + move-result-object v6 │ │ .line 844 │ - .local v9, "meta":[Lorg/gfd/gsmlocation/db/BCSReader$BlockMeta; │ - if-nez v9, :cond_1 │ + .local v6, "meta":[Lorg/gfd/gsmlocation/db/BCSReader$BlockMeta; │ + if-nez v6, :cond_1 │ │ .line 845 │ - const/4 v10, 0x0 │ + const/4 v7, 0x0 │ │ .line 855 │ :goto_1 │ - return-object v10 │ + return-object v7 │ │ .line 847 │ :cond_1 │ - new-instance v3, Ljava/util/ArrayList; │ + new-instance v2, Ljava/util/ArrayList; │ │ - invoke-direct {v3}, Ljava/util/ArrayList;->()V │ + invoke-direct {v2}, Ljava/util/ArrayList;->()V │ │ .line 848 │ - .local v3, "entries":Ljava/util/ArrayList;, "Ljava/util/ArrayList;" │ - const/4 v10, 0x0 │ - │ - aget-object v10, v9, v10 │ + .local v2, "entries":Ljava/util/ArrayList;, "Ljava/util/ArrayList;" │ + aget-object v7, v6, v8 │ │ - iget v5, v10, Lorg/gfd/gsmlocation/db/BCSReader$BlockMeta;->blockId:I │ + iget v4, v7, Lorg/gfd/gsmlocation/db/BCSReader$BlockMeta;->blockId:I │ │ :goto_2 │ - const/4 v10, 0x1 │ + const/4 v7, 0x1 │ │ - aget-object v10, v9, v10 │ + aget-object v7, v6, v7 │ │ - iget v10, v10, Lorg/gfd/gsmlocation/db/BCSReader$BlockMeta;->blockId:I │ + iget v7, v7, Lorg/gfd/gsmlocation/db/BCSReader$BlockMeta;->blockId:I │ │ - if-gt v5, v10, :cond_3 │ + if-gt v4, v7, :cond_3 │ │ .line 849 │ - invoke-virtual {p0, v5}, Lorg/gfd/gsmlocation/db/BCSReader;->getBlockMeta(I)Lorg/gfd/gsmlocation/db/BCSReader$BlockMeta; │ + invoke-virtual {p0, v4}, Lorg/gfd/gsmlocation/db/BCSReader;->getBlockMeta(I)Lorg/gfd/gsmlocation/db/BCSReader$BlockMeta; │ │ - move-result-object v8 │ + move-result-object v5 │ │ .line 850 │ - .local v8, "m":Lorg/gfd/gsmlocation/db/BCSReader$BlockMeta; │ - invoke-virtual {p0, v8, v1}, Lorg/gfd/gsmlocation/db/BCSReader;->scanFullBlock(Lorg/gfd/gsmlocation/db/BCSReader$BlockMeta;[[B)[Lorg/gfd/gsmlocation/db/BCSReader$BlockEntry; │ + .local v5, "m":Lorg/gfd/gsmlocation/db/BCSReader$BlockMeta; │ + invoke-virtual {p0, v5, v0}, Lorg/gfd/gsmlocation/db/BCSReader;->scanFullBlock(Lorg/gfd/gsmlocation/db/BCSReader$BlockMeta;[[B)[Lorg/gfd/gsmlocation/db/BCSReader$BlockEntry; │ │ - move-result-object v4 │ + move-result-object v3 │ │ .line 851 │ - .local v4, "es":[Lorg/gfd/gsmlocation/db/BCSReader$BlockEntry; │ - move-object v0, v4 │ - │ - .local v0, "arr$":[Lorg/gfd/gsmlocation/db/BCSReader$BlockEntry; │ - array-length v7, v0 │ + .local v3, "es":[Lorg/gfd/gsmlocation/db/BCSReader$BlockEntry; │ + array-length v9, v3 │ │ - .local v7, "len$":I │ - const/4 v6, 0x0 │ + move v7, v8 │ │ - .local v6, "i$":I │ :goto_3 │ - if-ge v6, v7, :cond_2 │ + if-ge v7, v9, :cond_2 │ │ - aget-object v2, v0, v6 │ + aget-object v1, v3, v7 │ │ .line 852 │ - .local v2, "e":Lorg/gfd/gsmlocation/db/BCSReader$BlockEntry; │ - invoke-virtual {v3, v2}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z │ + .local v1, "e":Lorg/gfd/gsmlocation/db/BCSReader$BlockEntry; │ + invoke-virtual {v2, v1}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z │ │ .line 851 │ - add-int/lit8 v6, v6, 0x1 │ + add-int/lit8 v7, v7, 0x1 │ │ goto :goto_3 │ │ .line 848 │ - .end local v2 # "e":Lorg/gfd/gsmlocation/db/BCSReader$BlockEntry; │ + .end local v1 # "e":Lorg/gfd/gsmlocation/db/BCSReader$BlockEntry; │ :cond_2 │ - add-int/lit8 v5, v5, 0x1 │ + add-int/lit8 v4, v4, 0x1 │ │ goto :goto_2 │ │ .line 855 │ - .end local v0 # "arr$":[Lorg/gfd/gsmlocation/db/BCSReader$BlockEntry; │ - .end local v4 # "es":[Lorg/gfd/gsmlocation/db/BCSReader$BlockEntry; │ - .end local v6 # "i$":I │ - .end local v7 # "len$":I │ - .end local v8 # "m":Lorg/gfd/gsmlocation/db/BCSReader$BlockMeta; │ + .end local v3 # "es":[Lorg/gfd/gsmlocation/db/BCSReader$BlockEntry; │ + .end local v5 # "m":Lorg/gfd/gsmlocation/db/BCSReader$BlockMeta; │ :cond_3 │ - invoke-virtual {v3}, Ljava/util/ArrayList;->size()I │ + invoke-virtual {v2}, Ljava/util/ArrayList;->size()I │ │ - move-result v10 │ + move-result v7 │ │ - new-array v10, v10, [Lorg/gfd/gsmlocation/db/BCSReader$BlockEntry; │ + new-array v7, v7, [Lorg/gfd/gsmlocation/db/BCSReader$BlockEntry; │ │ - invoke-virtual {v3, v10}, Ljava/util/ArrayList;->toArray([Ljava/lang/Object;)[Ljava/lang/Object; │ + invoke-virtual {v2, v7}, Ljava/util/ArrayList;->toArray([Ljava/lang/Object;)[Ljava/lang/Object; │ │ - move-result-object v10 │ + move-result-object v7 │ │ - check-cast v10, [Lorg/gfd/gsmlocation/db/BCSReader$BlockEntry; │ + check-cast v7, [Lorg/gfd/gsmlocation/db/BCSReader$BlockEntry; │ │ goto :goto_1 │ .end method │ │ .method protected getBlockMeta(I)Lorg/gfd/gsmlocation/db/BCSReader$BlockMeta; │ .locals 7 │ .param p1, "blockid" # I │ @@ -1771,38 +1775,44 @@ │ } │ .end annotation │ │ .prologue │ .line 500 │ new-instance v0, Lorg/gfd/gsmlocation/db/BCSReader$BlockMeta; │ │ + .line 502 │ invoke-virtual {p0, p1}, Lorg/gfd/gsmlocation/db/BCSReader;->blockEntryCount(I)I │ │ move-result v2 │ │ + .line 503 │ invoke-virtual {p0, p1}, Lorg/gfd/gsmlocation/db/BCSReader;->lowBlockLimit(I)[[B │ │ move-result-object v3 │ │ + .line 504 │ invoke-virtual {p0, p1}, Lorg/gfd/gsmlocation/db/BCSReader;->highBlockLimit(I)[[B │ │ move-result-object v4 │ │ + .line 505 │ invoke-virtual {p0, p1}, Lorg/gfd/gsmlocation/db/BCSReader;->lowBlockValueLimit(I)[[B │ │ move-result-object v5 │ │ + .line 506 │ invoke-virtual {p0, p1}, Lorg/gfd/gsmlocation/db/BCSReader;->highBlockValueLimit(I)[[B │ │ move-result-object v6 │ │ move v1, p1 │ │ invoke-direct/range {v0 .. v6}, Lorg/gfd/gsmlocation/db/BCSReader$BlockMeta;->(II[[B[[B[[B[[B)V │ │ + .line 500 │ return-object v0 │ .end method │ │ .method protected highBlockLimit(I)[[B │ .locals 2 │ .param p1, "block" # I │ .annotation system Ldalvik/annotation/Throws; │ @@ -3329,44 +3339,45 @@ │ │ check-cast v18, [Lorg/gfd/gsmlocation/db/BCSReader$BlockEntry; │ │ return-object v18 │ .end method │ │ .method protected type2bytes(Ljava/lang/Object;)[B │ - .locals 12 │ + .locals 13 │ .param p1, "o" # Ljava/lang/Object; │ │ .prologue │ - const/4 v11, 0x4 │ + const/4 v12, 0x4 │ │ - const/4 v10, 0x3 │ + const/4 v11, 0x3 │ │ - const/4 v9, 0x2 │ + const/4 v10, 0x2 │ │ - const/4 v8, 0x1 │ + const/4 v9, 0x1 │ │ - const/4 v7, 0x0 │ + const/4 v8, 0x0 │ │ .line 278 │ instance-of v5, p1, Ljava/lang/Byte; │ │ if-eqz v5, :cond_0 │ │ .line 279 │ - new-array v5, v8, [B │ + new-array v5, v9, [B │ │ check-cast p1, Ljava/lang/Byte; │ │ + .line 280 │ .end local p1 # "o":Ljava/lang/Object; │ invoke-virtual {p1}, Ljava/lang/Byte;->byteValue()B │ │ move-result v6 │ │ - aput-byte v6, v5, v7 │ + aput-byte v6, v5, v8 │ │ move-object p1, v5 │ │ .line 337 │ :goto_0 │ return-object p1 │ │ @@ -3384,25 +3395,25 @@ │ invoke-virtual {p1}, Ljava/lang/Boolean;->booleanValue()Z │ │ move-result v5 │ │ if-eqz v5, :cond_1 │ │ .line 285 │ - new-array p1, v8, [B │ + new-array p1, v9, [B │ │ - aput-byte v7, p1, v7 │ + aput-byte v8, p1, v8 │ │ goto :goto_0 │ │ .line 287 │ :cond_1 │ - new-array p1, v8, [B │ + new-array p1, v9, [B │ │ - aput-byte v8, p1, v7 │ + aput-byte v9, p1, v8 │ │ goto :goto_0 │ │ .line 290 │ .restart local p1 # "o":Ljava/lang/Object; │ :cond_2 │ instance-of v5, p1, Ljava/lang/Short; │ @@ -3415,25 +3426,25 @@ │ .end local p1 # "o":Ljava/lang/Object; │ invoke-virtual {p1}, Ljava/lang/Short;->shortValue()S │ │ move-result v4 │ │ .line 292 │ .local v4, "s":S │ - new-array p1, v9, [B │ + new-array p1, v10, [B │ │ shr-int/lit8 v5, v4, 0x8 │ │ int-to-byte v5, v5 │ │ - aput-byte v5, p1, v7 │ + aput-byte v5, p1, v8 │ │ int-to-byte v5, v4 │ │ - aput-byte v5, p1, v8 │ + aput-byte v5, p1, v9 │ │ goto :goto_0 │ │ .line 294 │ .end local v4 # "s":S │ .restart local p1 # "o":Ljava/lang/Object; │ :cond_3 │ @@ -3451,25 +3462,25 @@ │ │ .line 296 │ .local v0, "c":C │ int-to-short v4, v0 │ │ .line 297 │ .restart local v4 # "s":S │ - new-array p1, v9, [B │ + new-array p1, v10, [B │ │ shr-int/lit8 v5, v4, 0x8 │ │ int-to-byte v5, v5 │ │ - aput-byte v5, p1, v7 │ + aput-byte v5, p1, v8 │ │ int-to-byte v5, v4 │ │ - aput-byte v5, p1, v8 │ + aput-byte v5, p1, v9 │ │ goto :goto_0 │ │ .line 302 │ .end local v0 # "c":C │ .end local v4 # "s":S │ .restart local p1 # "o":Ljava/lang/Object; │ @@ -3484,37 +3495,37 @@ │ .end local p1 # "o":Ljava/lang/Object; │ invoke-virtual {p1}, Ljava/lang/Integer;->intValue()I │ │ move-result v1 │ │ .line 304 │ .local v1, "i":I │ - new-array p1, v11, [B │ + new-array p1, v12, [B │ │ shr-int/lit8 v5, v1, 0x18 │ │ int-to-byte v5, v5 │ │ - aput-byte v5, p1, v7 │ + aput-byte v5, p1, v8 │ │ shr-int/lit8 v5, v1, 0x10 │ │ int-to-byte v5, v5 │ │ - aput-byte v5, p1, v8 │ + aput-byte v5, p1, v9 │ │ shr-int/lit8 v5, v1, 0x8 │ │ int-to-byte v5, v5 │ │ - aput-byte v5, p1, v9 │ + aput-byte v5, p1, v10 │ │ int-to-byte v5, v1 │ │ - aput-byte v5, p1, v10 │ + aput-byte v5, p1, v11 │ │ goto :goto_0 │ │ .line 309 │ .end local v1 # "i":I │ .restart local p1 # "o":Ljava/lang/Object; │ :cond_5 │ @@ -3534,61 +3545,61 @@ │ .local v2, "l":J │ const/16 v5, 0x8 │ │ new-array p1, v5, [B │ │ const/16 v5, 0x38 │ │ - shr-long v5, v2, v5 │ + shr-long v6, v2, v5 │ │ - long-to-int v5, v5 │ + long-to-int v5, v6 │ │ int-to-byte v5, v5 │ │ - aput-byte v5, p1, v7 │ + aput-byte v5, p1, v8 │ │ const/16 v5, 0x30 │ │ - shr-long v5, v2, v5 │ + shr-long v6, v2, v5 │ │ - long-to-int v5, v5 │ + long-to-int v5, v6 │ │ int-to-byte v5, v5 │ │ - aput-byte v5, p1, v8 │ + aput-byte v5, p1, v9 │ │ const/16 v5, 0x28 │ │ - shr-long v5, v2, v5 │ + shr-long v6, v2, v5 │ │ - long-to-int v5, v5 │ + long-to-int v5, v6 │ │ int-to-byte v5, v5 │ │ - aput-byte v5, p1, v9 │ + aput-byte v5, p1, v10 │ │ const/16 v5, 0x20 │ │ - shr-long v5, v2, v5 │ + shr-long v6, v2, v5 │ │ - long-to-int v5, v5 │ + long-to-int v5, v6 │ │ int-to-byte v5, v5 │ │ - aput-byte v5, p1, v10 │ + aput-byte v5, p1, v11 │ │ const/16 v5, 0x18 │ │ - shr-long v5, v2, v5 │ + shr-long v6, v2, v5 │ │ - long-to-int v5, v5 │ + long-to-int v5, v6 │ │ int-to-byte v5, v5 │ │ - aput-byte v5, p1, v11 │ + aput-byte v5, p1, v12 │ │ const/4 v5, 0x5 │ │ const/16 v6, 0x10 │ │ shr-long v6, v2, v6 │ │ @@ -3638,37 +3649,37 @@ │ │ invoke-static {v5}, Ljava/lang/Float;->floatToIntBits(F)I │ │ move-result v1 │ │ .line 320 │ .restart local v1 # "i":I │ - new-array p1, v11, [B │ + new-array p1, v12, [B │ │ shr-int/lit8 v5, v1, 0x18 │ │ int-to-byte v5, v5 │ │ - aput-byte v5, p1, v7 │ + aput-byte v5, p1, v8 │ │ shr-int/lit8 v5, v1, 0x10 │ │ int-to-byte v5, v5 │ │ - aput-byte v5, p1, v8 │ + aput-byte v5, p1, v9 │ │ shr-int/lit8 v5, v1, 0x8 │ │ int-to-byte v5, v5 │ │ - aput-byte v5, p1, v9 │ + aput-byte v5, p1, v10 │ │ int-to-byte v5, v1 │ │ - aput-byte v5, p1, v10 │ + aput-byte v5, p1, v11 │ │ goto/16 :goto_0 │ │ .line 325 │ .end local v1 # "i":I │ .restart local p1 # "o":Ljava/lang/Object; │ :cond_7 │ @@ -3678,75 +3689,75 @@ │ │ .line 326 │ check-cast p1, Ljava/lang/Double; │ │ .end local p1 # "o":Ljava/lang/Object; │ invoke-virtual {p1}, Ljava/lang/Double;->doubleValue()D │ │ - move-result-wide v5 │ + move-result-wide v6 │ │ - invoke-static {v5, v6}, Ljava/lang/Double;->doubleToLongBits(D)J │ + invoke-static {v6, v7}, Ljava/lang/Double;->doubleToLongBits(D)J │ │ move-result-wide v2 │ │ .line 327 │ .restart local v2 # "l":J │ const/16 v5, 0x8 │ │ new-array p1, v5, [B │ │ const/16 v5, 0x38 │ │ - shr-long v5, v2, v5 │ + shr-long v6, v2, v5 │ │ - long-to-int v5, v5 │ + long-to-int v5, v6 │ │ int-to-byte v5, v5 │ │ - aput-byte v5, p1, v7 │ + aput-byte v5, p1, v8 │ │ const/16 v5, 0x30 │ │ - shr-long v5, v2, v5 │ + shr-long v6, v2, v5 │ │ - long-to-int v5, v5 │ + long-to-int v5, v6 │ │ int-to-byte v5, v5 │ │ - aput-byte v5, p1, v8 │ + aput-byte v5, p1, v9 │ │ const/16 v5, 0x28 │ │ - shr-long v5, v2, v5 │ + shr-long v6, v2, v5 │ │ - long-to-int v5, v5 │ + long-to-int v5, v6 │ │ int-to-byte v5, v5 │ │ - aput-byte v5, p1, v9 │ + aput-byte v5, p1, v10 │ │ const/16 v5, 0x20 │ │ - shr-long v5, v2, v5 │ + shr-long v6, v2, v5 │ │ - long-to-int v5, v5 │ + long-to-int v5, v6 │ │ int-to-byte v5, v5 │ │ - aput-byte v5, p1, v10 │ + aput-byte v5, p1, v11 │ │ const/16 v5, 0x18 │ │ - shr-long v5, v2, v5 │ + shr-long v6, v2, v5 │ │ - long-to-int v5, v5 │ + long-to-int v5, v6 │ │ int-to-byte v5, v5 │ │ - aput-byte v5, p1, v11 │ + aput-byte v5, p1, v12 │ │ const/4 v5, 0x5 │ │ const/16 v6, 0x10 │ │ shr-long v6, v2, v6 ├── smali/org/gfd/gsmlocation/db/CellTowerDatabase.smali │ @@ -2,15 +2,14 @@ │ .super Ljava/lang/Object; │ .source "CellTowerDatabase.java" │ │ │ # annotations │ .annotation system Ldalvik/annotation/MemberClasses; │ value = { │ - Lorg/gfd/gsmlocation/db/CellTowerDatabase$1;, │ Lorg/gfd/gsmlocation/db/CellTowerDatabase$QueryArgs; │ } │ .end annotation │ │ │ # static fields │ .field private static ourInstance:Lorg/gfd/gsmlocation/db/CellTowerDatabase; │ @@ -264,15 +263,15 @@ │ move-object v0, v1 │ │ .line 213 │ goto :goto_0 │ .end method │ │ .method private _queryDirect(Ljava/lang/Integer;Ljava/lang/Integer;II)Ljava/util/List; │ - .locals 13 │ + .locals 10 │ .param p1, "mcc" # Ljava/lang/Integer; │ .param p2, "mnc" # Ljava/lang/Integer; │ .param p3, "cid" # I │ .param p4, "lac" # I │ .annotation system Ldalvik/annotation/Signature; │ value = { │ "(", │ @@ -290,641 +289,626 @@ │ .line 217 │ if-eqz p1, :cond_2 │ │ if-eqz p2, :cond_2 │ │ .line 221 │ :try_start_0 │ - iget-object v9, p0, Lorg/gfd/gsmlocation/db/CellTowerDatabase;->reader:Lorg/gfd/gsmlocation/db/BCSReader; │ + iget-object v5, p0, Lorg/gfd/gsmlocation/db/CellTowerDatabase;->reader:Lorg/gfd/gsmlocation/db/BCSReader; │ │ - const/4 v10, 0x4 │ + const/4 v6, 0x4 │ │ - new-array v10, v10, [Ljava/lang/Object; │ + new-array v6, v6, [Ljava/lang/Object; │ │ - const/4 v11, 0x0 │ + const/4 v7, 0x0 │ │ - invoke-static/range {p4 .. p4}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer; │ + invoke-static {p4}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer; │ │ - move-result-object v12 │ + move-result-object v8 │ │ - aput-object v12, v10, v11 │ + aput-object v8, v6, v7 │ │ - const/4 v11, 0x1 │ + const/4 v7, 0x1 │ │ - invoke-static/range {p3 .. p3}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer; │ + invoke-static {p3}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer; │ │ - move-result-object v12 │ + move-result-object v8 │ │ - aput-object v12, v10, v11 │ + aput-object v8, v6, v7 │ │ - const/4 v11, 0x2 │ + const/4 v7, 0x2 │ │ - aput-object p1, v10, v11 │ + aput-object p1, v6, v7 │ │ - const/4 v11, 0x3 │ + const/4 v7, 0x3 │ │ - aput-object p2, v10, v11 │ + aput-object p2, v6, v7 │ │ - invoke-virtual {v9, v10}, Lorg/gfd/gsmlocation/db/BCSReader;->get([Ljava/lang/Object;)[Ljava/lang/Object; │ + invoke-virtual {v5, v6}, Lorg/gfd/gsmlocation/db/BCSReader;->get([Ljava/lang/Object;)[Ljava/lang/Object; │ :try_end_0 │ .catch Ljava/io/IOException; {:try_start_0 .. :try_end_0} :catch_0 │ │ - move-result-object v8 │ + move-result-object v4 │ │ .line 226 │ - .local v8, "values":[Ljava/lang/Object; │ - if-eqz v8, :cond_1 │ + .local v4, "values":[Ljava/lang/Object; │ + if-eqz v4, :cond_1 │ │ .line 227 │ - new-instance v3, Lorg/gfd/gsmlocation/model/CellInfo; │ + new-instance v1, Lorg/gfd/gsmlocation/model/CellInfo; │ │ - invoke-direct {v3}, Lorg/gfd/gsmlocation/model/CellInfo;->()V │ + invoke-direct {v1}, Lorg/gfd/gsmlocation/model/CellInfo;->()V │ │ .line 228 │ - .local v3, "ci":Lorg/gfd/gsmlocation/model/CellInfo; │ - move/from16 v0, p3 │ - │ - iput v0, v3, Lorg/gfd/gsmlocation/model/CellInfo;->CID:I │ + .local v1, "ci":Lorg/gfd/gsmlocation/model/CellInfo; │ + iput p3, v1, Lorg/gfd/gsmlocation/model/CellInfo;->CID:I │ │ .line 229 │ - move/from16 v0, p4 │ - │ - iput v0, v3, Lorg/gfd/gsmlocation/model/CellInfo;->LAC:I │ + iput p4, v1, Lorg/gfd/gsmlocation/model/CellInfo;->LAC:I │ │ .line 230 │ invoke-virtual {p1}, Ljava/lang/Integer;->intValue()I │ │ - move-result v9 │ + move-result v5 │ │ - iput v9, v3, Lorg/gfd/gsmlocation/model/CellInfo;->MCC:I │ + iput v5, v1, Lorg/gfd/gsmlocation/model/CellInfo;->MCC:I │ │ .line 231 │ invoke-virtual {p2}, Ljava/lang/Integer;->intValue()I │ │ - move-result v9 │ + move-result v5 │ │ - iput v9, v3, Lorg/gfd/gsmlocation/model/CellInfo;->MNC:I │ + iput v5, v1, Lorg/gfd/gsmlocation/model/CellInfo;->MNC:I │ │ .line 232 │ - const/4 v9, 0x0 │ + const/4 v5, 0x0 │ │ - aget-object v9, v8, v9 │ + aget-object v5, v4, v5 │ │ - check-cast v9, Ljava/lang/Double; │ + check-cast v5, Ljava/lang/Double; │ │ - invoke-virtual {v9}, Ljava/lang/Double;->doubleValue()D │ + invoke-virtual {v5}, Ljava/lang/Double;->doubleValue()D │ │ - move-result-wide v9 │ + move-result-wide v6 │ │ - iput-wide v9, v3, Lorg/gfd/gsmlocation/model/CellInfo;->lng:D │ + iput-wide v6, v1, Lorg/gfd/gsmlocation/model/CellInfo;->lng:D │ │ .line 233 │ - const/4 v9, 0x1 │ + const/4 v5, 0x1 │ │ - aget-object v9, v8, v9 │ + aget-object v5, v4, v5 │ │ - check-cast v9, Ljava/lang/Double; │ + check-cast v5, Ljava/lang/Double; │ │ - invoke-virtual {v9}, Ljava/lang/Double;->doubleValue()D │ + invoke-virtual {v5}, Ljava/lang/Double;->doubleValue()D │ │ - move-result-wide v9 │ + move-result-wide v6 │ │ - iput-wide v9, v3, Lorg/gfd/gsmlocation/model/CellInfo;->lat:D │ + iput-wide v6, v1, Lorg/gfd/gsmlocation/model/CellInfo;->lat:D │ │ .line 234 │ - const/4 v9, 0x1 │ + const/4 v5, 0x1 │ │ - new-array v9, v9, [Lorg/gfd/gsmlocation/model/CellInfo; │ + new-array v5, v5, [Lorg/gfd/gsmlocation/model/CellInfo; │ │ - const/4 v10, 0x0 │ + const/4 v6, 0x0 │ │ - aput-object v3, v9, v10 │ + aput-object v1, v5, v6 │ │ - invoke-static {v9}, Ljava/util/Arrays;->asList([Ljava/lang/Object;)Ljava/util/List; │ + invoke-static {v5}, Ljava/util/Arrays;->asList([Ljava/lang/Object;)Ljava/util/List; │ │ - move-result-object v4 │ + move-result-object v2 │ │ .line 297 │ - .end local v3 # "ci":Lorg/gfd/gsmlocation/model/CellInfo; │ - .end local v8 # "values":[Ljava/lang/Object; │ + .end local v1 # "ci":Lorg/gfd/gsmlocation/model/CellInfo; │ + .end local v4 # "values":[Ljava/lang/Object; │ :cond_0 │ :goto_0 │ - return-object v4 │ + return-object v2 │ │ .line 222 │ :catch_0 │ - move-exception v5 │ + move-exception v3 │ │ .line 223 │ - .local v5, "e":Ljava/io/IOException; │ - const-string v9, "LNLP" │ + .local v3, "e":Ljava/io/IOException; │ + const-string v5, "LNLP" │ │ - const-string v10, "queryDirect failed" │ + const-string v6, "queryDirect failed" │ │ - invoke-static {v9, v10, v5}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I │ + invoke-static {v5, v6, v3}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I │ │ .line 224 │ - const/4 v4, 0x0 │ + const/4 v2, 0x0 │ │ goto :goto_0 │ │ .line 236 │ - .end local v5 # "e":Ljava/io/IOException; │ - .restart local v8 # "values":[Ljava/lang/Object; │ + .end local v3 # "e":Ljava/io/IOException; │ + .restart local v4 # "values":[Ljava/lang/Object; │ :cond_1 │ - const/4 v4, 0x0 │ + const/4 v2, 0x0 │ │ goto :goto_0 │ │ .line 238 │ - .end local v8 # "values":[Ljava/lang/Object; │ + .end local v4 # "values":[Ljava/lang/Object; │ :cond_2 │ if-eqz p2, :cond_6 │ │ if-nez p1, :cond_6 │ │ .line 242 │ :try_start_1 │ - iget-object v9, p0, Lorg/gfd/gsmlocation/db/CellTowerDatabase;->reader:Lorg/gfd/gsmlocation/db/BCSReader; │ + iget-object v5, p0, Lorg/gfd/gsmlocation/db/CellTowerDatabase;->reader:Lorg/gfd/gsmlocation/db/BCSReader; │ │ - const/4 v10, 0x2 │ + const/4 v6, 0x2 │ │ - new-array v10, v10, [Ljava/lang/Object; │ + new-array v6, v6, [Ljava/lang/Object; │ │ - const/4 v11, 0x0 │ + const/4 v7, 0x0 │ │ - invoke-static/range {p4 .. p4}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer; │ + invoke-static {p4}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer; │ │ - move-result-object v12 │ + move-result-object v8 │ │ - aput-object v12, v10, v11 │ + aput-object v8, v6, v7 │ │ - const/4 v11, 0x1 │ + const/4 v7, 0x1 │ │ - invoke-static/range {p3 .. p3}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer; │ + invoke-static {p3}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer; │ │ - move-result-object v12 │ + move-result-object v8 │ │ - aput-object v12, v10, v11 │ + aput-object v8, v6, v7 │ │ - invoke-virtual {v9, v10}, Lorg/gfd/gsmlocation/db/BCSReader;->getAll([Ljava/lang/Object;)[Lorg/gfd/gsmlocation/db/BCSReader$BlockEntry; │ + invoke-virtual {v5, v6}, Lorg/gfd/gsmlocation/db/BCSReader;->getAll([Ljava/lang/Object;)[Lorg/gfd/gsmlocation/db/BCSReader$BlockEntry; │ :try_end_1 │ .catch Ljava/io/IOException; {:try_start_1 .. :try_end_1} :catch_1 │ │ - move-result-object v2 │ + move-result-object v0 │ │ .line 247 │ - .local v2, "be":[Lorg/gfd/gsmlocation/db/BCSReader$BlockEntry; │ - if-eqz v2, :cond_5 │ + .local v0, "be":[Lorg/gfd/gsmlocation/db/BCSReader$BlockEntry; │ + if-eqz v0, :cond_5 │ │ - array-length v9, v2 │ + array-length v5, v0 │ │ - if-lez v9, :cond_5 │ + if-lez v5, :cond_5 │ │ .line 248 │ - new-instance v4, Ljava/util/ArrayList; │ + new-instance v2, Ljava/util/ArrayList; │ │ - invoke-direct {v4}, Ljava/util/ArrayList;->()V │ + invoke-direct {v2}, Ljava/util/ArrayList;->()V │ │ .line 249 │ - .local v4, "cil":Ljava/util/ArrayList;, "Ljava/util/ArrayList;" │ - move-object v1, v2 │ + .local v2, "cil":Ljava/util/ArrayList;, "Ljava/util/ArrayList;" │ + array-length v7, v0 │ │ - .local v1, "arr$":[Lorg/gfd/gsmlocation/db/BCSReader$BlockEntry; │ - array-length v7, v1 │ + const/4 v5, 0x0 │ │ - .local v7, "len$":I │ - const/4 v6, 0x0 │ + move v6, v5 │ │ - .local v6, "i$":I │ :goto_1 │ if-ge v6, v7, :cond_4 │ │ - aget-object v5, v1, v6 │ + aget-object v3, v0, v6 │ │ .line 250 │ - .local v5, "e":Lorg/gfd/gsmlocation/db/BCSReader$BlockEntry; │ - iget-object v9, v5, Lorg/gfd/gsmlocation/db/BCSReader$BlockEntry;->key:[Ljava/lang/Object; │ + .local v3, "e":Lorg/gfd/gsmlocation/db/BCSReader$BlockEntry; │ + iget-object v5, v3, Lorg/gfd/gsmlocation/db/BCSReader$BlockEntry;->key:[Ljava/lang/Object; │ │ - const/4 v10, 0x3 │ + const/4 v8, 0x3 │ │ - aget-object v9, v9, v10 │ + aget-object v5, v5, v8 │ │ - check-cast v9, Ljava/lang/Integer; │ + check-cast v5, Ljava/lang/Integer; │ │ - invoke-virtual {v9, p2}, Ljava/lang/Integer;->equals(Ljava/lang/Object;)Z │ + invoke-virtual {v5, p2}, Ljava/lang/Integer;->equals(Ljava/lang/Object;)Z │ │ - move-result v9 │ + move-result v5 │ │ - if-eqz v9, :cond_3 │ + if-eqz v5, :cond_3 │ │ .line 251 │ - new-instance v3, Lorg/gfd/gsmlocation/model/CellInfo; │ + new-instance v1, Lorg/gfd/gsmlocation/model/CellInfo; │ │ - invoke-direct {v3}, Lorg/gfd/gsmlocation/model/CellInfo;->()V │ + invoke-direct {v1}, Lorg/gfd/gsmlocation/model/CellInfo;->()V │ │ .line 252 │ - .restart local v3 # "ci":Lorg/gfd/gsmlocation/model/CellInfo; │ - iget-object v9, v5, Lorg/gfd/gsmlocation/db/BCSReader$BlockEntry;->key:[Ljava/lang/Object; │ + .restart local v1 # "ci":Lorg/gfd/gsmlocation/model/CellInfo; │ + iget-object v5, v3, Lorg/gfd/gsmlocation/db/BCSReader$BlockEntry;->key:[Ljava/lang/Object; │ │ - const/4 v10, 0x1 │ + const/4 v8, 0x1 │ │ - aget-object v9, v9, v10 │ + aget-object v5, v5, v8 │ │ - check-cast v9, Ljava/lang/Integer; │ + check-cast v5, Ljava/lang/Integer; │ │ - invoke-virtual {v9}, Ljava/lang/Integer;->intValue()I │ + invoke-virtual {v5}, Ljava/lang/Integer;->intValue()I │ │ - move-result v9 │ + move-result v5 │ │ - iput v9, v3, Lorg/gfd/gsmlocation/model/CellInfo;->CID:I │ + iput v5, v1, Lorg/gfd/gsmlocation/model/CellInfo;->CID:I │ │ .line 253 │ - iget-object v9, v5, Lorg/gfd/gsmlocation/db/BCSReader$BlockEntry;->key:[Ljava/lang/Object; │ + iget-object v5, v3, Lorg/gfd/gsmlocation/db/BCSReader$BlockEntry;->key:[Ljava/lang/Object; │ │ - const/4 v10, 0x0 │ + const/4 v8, 0x0 │ │ - aget-object v9, v9, v10 │ + aget-object v5, v5, v8 │ │ - check-cast v9, Ljava/lang/Integer; │ + check-cast v5, Ljava/lang/Integer; │ │ - invoke-virtual {v9}, Ljava/lang/Integer;->intValue()I │ + invoke-virtual {v5}, Ljava/lang/Integer;->intValue()I │ │ - move-result v9 │ + move-result v5 │ │ - iput v9, v3, Lorg/gfd/gsmlocation/model/CellInfo;->LAC:I │ + iput v5, v1, Lorg/gfd/gsmlocation/model/CellInfo;->LAC:I │ │ .line 254 │ - iget-object v9, v5, Lorg/gfd/gsmlocation/db/BCSReader$BlockEntry;->key:[Ljava/lang/Object; │ + iget-object v5, v3, Lorg/gfd/gsmlocation/db/BCSReader$BlockEntry;->key:[Ljava/lang/Object; │ │ - const/4 v10, 0x2 │ + const/4 v8, 0x2 │ │ - aget-object v9, v9, v10 │ + aget-object v5, v5, v8 │ │ - check-cast v9, Ljava/lang/Integer; │ + check-cast v5, Ljava/lang/Integer; │ │ - invoke-virtual {v9}, Ljava/lang/Integer;->intValue()I │ + invoke-virtual {v5}, Ljava/lang/Integer;->intValue()I │ │ - move-result v9 │ + move-result v5 │ │ - iput v9, v3, Lorg/gfd/gsmlocation/model/CellInfo;->MCC:I │ + iput v5, v1, Lorg/gfd/gsmlocation/model/CellInfo;->MCC:I │ │ .line 255 │ - iget-object v9, v5, Lorg/gfd/gsmlocation/db/BCSReader$BlockEntry;->key:[Ljava/lang/Object; │ + iget-object v5, v3, Lorg/gfd/gsmlocation/db/BCSReader$BlockEntry;->key:[Ljava/lang/Object; │ │ - const/4 v10, 0x3 │ + const/4 v8, 0x3 │ │ - aget-object v9, v9, v10 │ + aget-object v5, v5, v8 │ │ - check-cast v9, Ljava/lang/Integer; │ + check-cast v5, Ljava/lang/Integer; │ │ - invoke-virtual {v9}, Ljava/lang/Integer;->intValue()I │ + invoke-virtual {v5}, Ljava/lang/Integer;->intValue()I │ │ - move-result v9 │ + move-result v5 │ │ - iput v9, v3, Lorg/gfd/gsmlocation/model/CellInfo;->MNC:I │ + iput v5, v1, Lorg/gfd/gsmlocation/model/CellInfo;->MNC:I │ │ .line 256 │ - iget-object v9, v5, Lorg/gfd/gsmlocation/db/BCSReader$BlockEntry;->value:[Ljava/lang/Object; │ + iget-object v5, v3, Lorg/gfd/gsmlocation/db/BCSReader$BlockEntry;->value:[Ljava/lang/Object; │ │ - const/4 v10, 0x0 │ + const/4 v8, 0x0 │ │ - aget-object v9, v9, v10 │ + aget-object v5, v5, v8 │ │ - check-cast v9, Ljava/lang/Double; │ + check-cast v5, Ljava/lang/Double; │ │ - invoke-virtual {v9}, Ljava/lang/Double;->doubleValue()D │ + invoke-virtual {v5}, Ljava/lang/Double;->doubleValue()D │ │ - move-result-wide v9 │ + move-result-wide v8 │ │ - iput-wide v9, v3, Lorg/gfd/gsmlocation/model/CellInfo;->lng:D │ + iput-wide v8, v1, Lorg/gfd/gsmlocation/model/CellInfo;->lng:D │ │ .line 257 │ - iget-object v9, v5, Lorg/gfd/gsmlocation/db/BCSReader$BlockEntry;->value:[Ljava/lang/Object; │ + iget-object v5, v3, Lorg/gfd/gsmlocation/db/BCSReader$BlockEntry;->value:[Ljava/lang/Object; │ │ - const/4 v10, 0x1 │ + const/4 v8, 0x1 │ │ - aget-object v9, v9, v10 │ + aget-object v5, v5, v8 │ │ - check-cast v9, Ljava/lang/Double; │ + check-cast v5, Ljava/lang/Double; │ │ - invoke-virtual {v9}, Ljava/lang/Double;->doubleValue()D │ + invoke-virtual {v5}, Ljava/lang/Double;->doubleValue()D │ │ - move-result-wide v9 │ + move-result-wide v8 │ │ - iput-wide v9, v3, Lorg/gfd/gsmlocation/model/CellInfo;->lat:D │ + iput-wide v8, v1, Lorg/gfd/gsmlocation/model/CellInfo;->lat:D │ │ .line 258 │ - invoke-virtual {v4, v3}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z │ + invoke-virtual {v2, v1}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z │ │ .line 249 │ - .end local v3 # "ci":Lorg/gfd/gsmlocation/model/CellInfo; │ + .end local v1 # "ci":Lorg/gfd/gsmlocation/model/CellInfo; │ :cond_3 │ - add-int/lit8 v6, v6, 0x1 │ + add-int/lit8 v5, v6, 0x1 │ + │ + move v6, v5 │ │ goto :goto_1 │ │ .line 243 │ - .end local v1 # "arr$":[Lorg/gfd/gsmlocation/db/BCSReader$BlockEntry; │ - .end local v2 # "be":[Lorg/gfd/gsmlocation/db/BCSReader$BlockEntry; │ - .end local v4 # "cil":Ljava/util/ArrayList;, "Ljava/util/ArrayList;" │ - .end local v5 # "e":Lorg/gfd/gsmlocation/db/BCSReader$BlockEntry; │ - .end local v6 # "i$":I │ - .end local v7 # "len$":I │ + .end local v0 # "be":[Lorg/gfd/gsmlocation/db/BCSReader$BlockEntry; │ + .end local v2 # "cil":Ljava/util/ArrayList;, "Ljava/util/ArrayList;" │ + .end local v3 # "e":Lorg/gfd/gsmlocation/db/BCSReader$BlockEntry; │ :catch_1 │ - move-exception v5 │ + move-exception v3 │ │ .line 244 │ - .local v5, "e":Ljava/io/IOException; │ - const-string v9, "LNLP" │ + .local v3, "e":Ljava/io/IOException; │ + const-string v5, "LNLP" │ │ - const-string v10, "queryDirect failed" │ + const-string v6, "queryDirect failed" │ │ - invoke-static {v9, v10, v5}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I │ + invoke-static {v5, v6, v3}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I │ │ .line 245 │ - const/4 v4, 0x0 │ + const/4 v2, 0x0 │ │ goto/16 :goto_0 │ │ .line 261 │ - .end local v5 # "e":Ljava/io/IOException; │ - .restart local v1 # "arr$":[Lorg/gfd/gsmlocation/db/BCSReader$BlockEntry; │ - .restart local v2 # "be":[Lorg/gfd/gsmlocation/db/BCSReader$BlockEntry; │ - .restart local v4 # "cil":Ljava/util/ArrayList;, "Ljava/util/ArrayList;" │ - .restart local v6 # "i$":I │ - .restart local v7 # "len$":I │ + .end local v3 # "e":Ljava/io/IOException; │ + .restart local v0 # "be":[Lorg/gfd/gsmlocation/db/BCSReader$BlockEntry; │ + .restart local v2 # "cil":Ljava/util/ArrayList;, "Ljava/util/ArrayList;" │ :cond_4 │ - invoke-virtual {v4}, Ljava/util/ArrayList;->isEmpty()Z │ + invoke-virtual {v2}, Ljava/util/ArrayList;->isEmpty()Z │ │ - move-result v9 │ + move-result v5 │ │ - if-eqz v9, :cond_0 │ + if-eqz v5, :cond_0 │ │ .line 265 │ - .end local v1 # "arr$":[Lorg/gfd/gsmlocation/db/BCSReader$BlockEntry; │ - .end local v4 # "cil":Ljava/util/ArrayList;, "Ljava/util/ArrayList;" │ - .end local v6 # "i$":I │ - .end local v7 # "len$":I │ + .end local v2 # "cil":Ljava/util/ArrayList;, "Ljava/util/ArrayList;" │ :cond_5 │ - const/4 v4, 0x0 │ + const/4 v2, 0x0 │ │ goto/16 :goto_0 │ │ .line 268 │ - .end local v2 # "be":[Lorg/gfd/gsmlocation/db/BCSReader$BlockEntry; │ + .end local v0 # "be":[Lorg/gfd/gsmlocation/db/BCSReader$BlockEntry; │ :cond_6 │ if-eqz p1, :cond_8 │ │ .line 270 │ :try_start_2 │ - iget-object v9, p0, Lorg/gfd/gsmlocation/db/CellTowerDatabase;->reader:Lorg/gfd/gsmlocation/db/BCSReader; │ + iget-object v5, p0, Lorg/gfd/gsmlocation/db/CellTowerDatabase;->reader:Lorg/gfd/gsmlocation/db/BCSReader; │ │ - const/4 v10, 0x3 │ + const/4 v6, 0x3 │ │ - new-array v10, v10, [Ljava/lang/Object; │ + new-array v6, v6, [Ljava/lang/Object; │ │ - const/4 v11, 0x0 │ + const/4 v7, 0x0 │ │ - invoke-static/range {p4 .. p4}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer; │ + invoke-static {p4}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer; │ │ - move-result-object v12 │ + move-result-object v8 │ │ - aput-object v12, v10, v11 │ + aput-object v8, v6, v7 │ │ - const/4 v11, 0x1 │ + const/4 v7, 0x1 │ │ - invoke-static/range {p3 .. p3}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer; │ + invoke-static {p3}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer; │ │ - move-result-object v12 │ + move-result-object v8 │ │ - aput-object v12, v10, v11 │ + aput-object v8, v6, v7 │ │ - const/4 v11, 0x2 │ + const/4 v7, 0x2 │ │ - aput-object p1, v10, v11 │ + aput-object p1, v6, v7 │ │ - invoke-virtual {v9, v10}, Lorg/gfd/gsmlocation/db/BCSReader;->getAll([Ljava/lang/Object;)[Lorg/gfd/gsmlocation/db/BCSReader$BlockEntry; │ + invoke-virtual {v5, v6}, Lorg/gfd/gsmlocation/db/BCSReader;->getAll([Ljava/lang/Object;)[Lorg/gfd/gsmlocation/db/BCSReader$BlockEntry; │ :try_end_2 │ .catch Ljava/io/IOException; {:try_start_2 .. :try_end_2} :catch_2 │ │ - move-result-object v2 │ + move-result-object v0 │ │ .line 283 │ - .restart local v2 # "be":[Lorg/gfd/gsmlocation/db/BCSReader$BlockEntry; │ + .restart local v0 # "be":[Lorg/gfd/gsmlocation/db/BCSReader$BlockEntry; │ :goto_2 │ - if-eqz v2, :cond_7 │ + if-eqz v0, :cond_7 │ │ - array-length v9, v2 │ + array-length v5, v0 │ │ - if-nez v9, :cond_9 │ + if-nez v5, :cond_9 │ │ .line 284 │ :cond_7 │ - const/4 v4, 0x0 │ + const/4 v2, 0x0 │ │ goto/16 :goto_0 │ │ .line 271 │ - .end local v2 # "be":[Lorg/gfd/gsmlocation/db/BCSReader$BlockEntry; │ + .end local v0 # "be":[Lorg/gfd/gsmlocation/db/BCSReader$BlockEntry; │ :catch_2 │ - move-exception v5 │ + move-exception v3 │ │ .line 272 │ - .restart local v5 # "e":Ljava/io/IOException; │ - const-string v9, "LNLP" │ + .restart local v3 # "e":Ljava/io/IOException; │ + const-string v5, "LNLP" │ │ - const-string v10, "queryDirect failed" │ + const-string v6, "queryDirect failed" │ │ - invoke-static {v9, v10, v5}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I │ + invoke-static {v5, v6, v3}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I │ │ .line 273 │ - const/4 v4, 0x0 │ + const/4 v2, 0x0 │ │ goto/16 :goto_0 │ │ .line 277 │ - .end local v5 # "e":Ljava/io/IOException; │ + .end local v3 # "e":Ljava/io/IOException; │ :cond_8 │ :try_start_3 │ - iget-object v9, p0, Lorg/gfd/gsmlocation/db/CellTowerDatabase;->reader:Lorg/gfd/gsmlocation/db/BCSReader; │ + iget-object v5, p0, Lorg/gfd/gsmlocation/db/CellTowerDatabase;->reader:Lorg/gfd/gsmlocation/db/BCSReader; │ │ - const/4 v10, 0x2 │ + const/4 v6, 0x2 │ │ - new-array v10, v10, [Ljava/lang/Object; │ + new-array v6, v6, [Ljava/lang/Object; │ │ - const/4 v11, 0x0 │ + const/4 v7, 0x0 │ │ - invoke-static/range {p4 .. p4}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer; │ + invoke-static {p4}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer; │ │ - move-result-object v12 │ + move-result-object v8 │ │ - aput-object v12, v10, v11 │ + aput-object v8, v6, v7 │ │ - const/4 v11, 0x1 │ + const/4 v7, 0x1 │ │ - invoke-static/range {p3 .. p3}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer; │ + invoke-static {p3}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer; │ │ - move-result-object v12 │ + move-result-object v8 │ │ - aput-object v12, v10, v11 │ + aput-object v8, v6, v7 │ │ - invoke-virtual {v9, v10}, Lorg/gfd/gsmlocation/db/BCSReader;->getAll([Ljava/lang/Object;)[Lorg/gfd/gsmlocation/db/BCSReader$BlockEntry; │ + invoke-virtual {v5, v6}, Lorg/gfd/gsmlocation/db/BCSReader;->getAll([Ljava/lang/Object;)[Lorg/gfd/gsmlocation/db/BCSReader$BlockEntry; │ :try_end_3 │ .catch Ljava/io/IOException; {:try_start_3 .. :try_end_3} :catch_3 │ │ - move-result-object v2 │ + move-result-object v0 │ │ - .restart local v2 # "be":[Lorg/gfd/gsmlocation/db/BCSReader$BlockEntry; │ + .restart local v0 # "be":[Lorg/gfd/gsmlocation/db/BCSReader$BlockEntry; │ goto :goto_2 │ │ .line 278 │ - .end local v2 # "be":[Lorg/gfd/gsmlocation/db/BCSReader$BlockEntry; │ + .end local v0 # "be":[Lorg/gfd/gsmlocation/db/BCSReader$BlockEntry; │ :catch_3 │ - move-exception v5 │ + move-exception v3 │ │ .line 279 │ - .restart local v5 # "e":Ljava/io/IOException; │ - const-string v9, "LNLP" │ + .restart local v3 # "e":Ljava/io/IOException; │ + const-string v5, "LNLP" │ │ - const-string v10, "queryDirect failed" │ + const-string v6, "queryDirect failed" │ │ - invoke-static {v9, v10, v5}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I │ + invoke-static {v5, v6, v3}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I │ │ .line 280 │ - const/4 v4, 0x0 │ + const/4 v2, 0x0 │ │ goto/16 :goto_0 │ │ .line 286 │ - .end local v5 # "e":Ljava/io/IOException; │ - .restart local v2 # "be":[Lorg/gfd/gsmlocation/db/BCSReader$BlockEntry; │ + .end local v3 # "e":Ljava/io/IOException; │ + .restart local v0 # "be":[Lorg/gfd/gsmlocation/db/BCSReader$BlockEntry; │ :cond_9 │ - new-instance v4, Ljava/util/ArrayList; │ + new-instance v2, Ljava/util/ArrayList; │ │ - invoke-direct {v4}, Ljava/util/ArrayList;->()V │ + invoke-direct {v2}, Ljava/util/ArrayList;->()V │ │ .line 287 │ - .restart local v4 # "cil":Ljava/util/ArrayList;, "Ljava/util/ArrayList;" │ - move-object v1, v2 │ + .restart local v2 # "cil":Ljava/util/ArrayList;, "Ljava/util/ArrayList;" │ + array-length v7, v0 │ │ - .restart local v1 # "arr$":[Lorg/gfd/gsmlocation/db/BCSReader$BlockEntry; │ - array-length v7, v1 │ + const/4 v5, 0x0 │ │ - .restart local v7 # "len$":I │ - const/4 v6, 0x0 │ + move v6, v5 │ │ - .restart local v6 # "i$":I │ :goto_3 │ if-ge v6, v7, :cond_0 │ │ - aget-object v5, v1, v6 │ + aget-object v3, v0, v6 │ │ .line 288 │ - .local v5, "e":Lorg/gfd/gsmlocation/db/BCSReader$BlockEntry; │ - new-instance v3, Lorg/gfd/gsmlocation/model/CellInfo; │ + .local v3, "e":Lorg/gfd/gsmlocation/db/BCSReader$BlockEntry; │ + new-instance v1, Lorg/gfd/gsmlocation/model/CellInfo; │ │ - invoke-direct {v3}, Lorg/gfd/gsmlocation/model/CellInfo;->()V │ + invoke-direct {v1}, Lorg/gfd/gsmlocation/model/CellInfo;->()V │ │ .line 289 │ - .restart local v3 # "ci":Lorg/gfd/gsmlocation/model/CellInfo; │ - iget-object v9, v5, Lorg/gfd/gsmlocation/db/BCSReader$BlockEntry;->key:[Ljava/lang/Object; │ + .restart local v1 # "ci":Lorg/gfd/gsmlocation/model/CellInfo; │ + iget-object v5, v3, Lorg/gfd/gsmlocation/db/BCSReader$BlockEntry;->key:[Ljava/lang/Object; │ │ - const/4 v10, 0x1 │ + const/4 v8, 0x1 │ │ - aget-object v9, v9, v10 │ + aget-object v5, v5, v8 │ │ - check-cast v9, Ljava/lang/Integer; │ + check-cast v5, Ljava/lang/Integer; │ │ - invoke-virtual {v9}, Ljava/lang/Integer;->intValue()I │ + invoke-virtual {v5}, Ljava/lang/Integer;->intValue()I │ │ - move-result v9 │ + move-result v5 │ │ - iput v9, v3, Lorg/gfd/gsmlocation/model/CellInfo;->CID:I │ + iput v5, v1, Lorg/gfd/gsmlocation/model/CellInfo;->CID:I │ │ .line 290 │ - iget-object v9, v5, Lorg/gfd/gsmlocation/db/BCSReader$BlockEntry;->key:[Ljava/lang/Object; │ + iget-object v5, v3, Lorg/gfd/gsmlocation/db/BCSReader$BlockEntry;->key:[Ljava/lang/Object; │ │ - const/4 v10, 0x0 │ + const/4 v8, 0x0 │ │ - aget-object v9, v9, v10 │ + aget-object v5, v5, v8 │ │ - check-cast v9, Ljava/lang/Integer; │ + check-cast v5, Ljava/lang/Integer; │ │ - invoke-virtual {v9}, Ljava/lang/Integer;->intValue()I │ + invoke-virtual {v5}, Ljava/lang/Integer;->intValue()I │ │ - move-result v9 │ + move-result v5 │ │ - iput v9, v3, Lorg/gfd/gsmlocation/model/CellInfo;->LAC:I │ + iput v5, v1, Lorg/gfd/gsmlocation/model/CellInfo;->LAC:I │ │ .line 291 │ - iget-object v9, v5, Lorg/gfd/gsmlocation/db/BCSReader$BlockEntry;->key:[Ljava/lang/Object; │ + iget-object v5, v3, Lorg/gfd/gsmlocation/db/BCSReader$BlockEntry;->key:[Ljava/lang/Object; │ │ - const/4 v10, 0x2 │ + const/4 v8, 0x2 │ │ - aget-object v9, v9, v10 │ + aget-object v5, v5, v8 │ │ - check-cast v9, Ljava/lang/Integer; │ + check-cast v5, Ljava/lang/Integer; │ │ - invoke-virtual {v9}, Ljava/lang/Integer;->intValue()I │ + invoke-virtual {v5}, Ljava/lang/Integer;->intValue()I │ │ - move-result v9 │ + move-result v5 │ │ - iput v9, v3, Lorg/gfd/gsmlocation/model/CellInfo;->MCC:I │ + iput v5, v1, Lorg/gfd/gsmlocation/model/CellInfo;->MCC:I │ │ .line 292 │ - iget-object v9, v5, Lorg/gfd/gsmlocation/db/BCSReader$BlockEntry;->key:[Ljava/lang/Object; │ + iget-object v5, v3, Lorg/gfd/gsmlocation/db/BCSReader$BlockEntry;->key:[Ljava/lang/Object; │ │ - const/4 v10, 0x3 │ + const/4 v8, 0x3 │ │ - aget-object v9, v9, v10 │ + aget-object v5, v5, v8 │ │ - check-cast v9, Ljava/lang/Integer; │ + check-cast v5, Ljava/lang/Integer; │ │ - invoke-virtual {v9}, Ljava/lang/Integer;->intValue()I │ + invoke-virtual {v5}, Ljava/lang/Integer;->intValue()I │ │ - move-result v9 │ + move-result v5 │ │ - iput v9, v3, Lorg/gfd/gsmlocation/model/CellInfo;->MNC:I │ + iput v5, v1, Lorg/gfd/gsmlocation/model/CellInfo;->MNC:I │ │ .line 293 │ - iget-object v9, v5, Lorg/gfd/gsmlocation/db/BCSReader$BlockEntry;->value:[Ljava/lang/Object; │ + iget-object v5, v3, Lorg/gfd/gsmlocation/db/BCSReader$BlockEntry;->value:[Ljava/lang/Object; │ │ - const/4 v10, 0x0 │ + const/4 v8, 0x0 │ │ - aget-object v9, v9, v10 │ + aget-object v5, v5, v8 │ │ - check-cast v9, Ljava/lang/Double; │ + check-cast v5, Ljava/lang/Double; │ │ - invoke-virtual {v9}, Ljava/lang/Double;->doubleValue()D │ + invoke-virtual {v5}, Ljava/lang/Double;->doubleValue()D │ │ - move-result-wide v9 │ + move-result-wide v8 │ │ - iput-wide v9, v3, Lorg/gfd/gsmlocation/model/CellInfo;->lng:D │ + iput-wide v8, v1, Lorg/gfd/gsmlocation/model/CellInfo;->lng:D │ │ .line 294 │ - iget-object v9, v5, Lorg/gfd/gsmlocation/db/BCSReader$BlockEntry;->value:[Ljava/lang/Object; │ + iget-object v5, v3, Lorg/gfd/gsmlocation/db/BCSReader$BlockEntry;->value:[Ljava/lang/Object; │ │ - const/4 v10, 0x1 │ + const/4 v8, 0x1 │ │ - aget-object v9, v9, v10 │ + aget-object v5, v5, v8 │ │ - check-cast v9, Ljava/lang/Double; │ + check-cast v5, Ljava/lang/Double; │ │ - invoke-virtual {v9}, Ljava/lang/Double;->doubleValue()D │ + invoke-virtual {v5}, Ljava/lang/Double;->doubleValue()D │ │ - move-result-wide v9 │ + move-result-wide v8 │ │ - iput-wide v9, v3, Lorg/gfd/gsmlocation/model/CellInfo;->lat:D │ + iput-wide v8, v1, Lorg/gfd/gsmlocation/model/CellInfo;->lat:D │ │ .line 295 │ - invoke-virtual {v4, v3}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z │ + invoke-virtual {v2, v1}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z │ │ .line 287 │ - add-int/lit8 v6, v6, 0x1 │ + add-int/lit8 v5, v6, 0x1 │ + │ + move v6, v5 │ │ goto :goto_3 │ .end method │ │ .method public static getInstance()Lorg/gfd/gsmlocation/db/CellTowerDatabase; │ .locals 1 │ │ @@ -934,343 +918,350 @@ │ │ return-object v0 │ .end method │ │ │ # virtual methods │ .method public init(Landroid/content/Context;)V │ - .locals 18 │ + .locals 19 │ .param p1, "ctx" # Landroid/content/Context; │ │ .prologue │ .line 41 │ invoke-virtual/range {p1 .. p1}, Landroid/content/Context;->getResources()Landroid/content/res/Resources; │ │ - move-result-object v13 │ + move-result-object v14 │ │ - const/high16 v14, 0x7f040000 │ + const/high16 v15, 0x7f040000 │ │ - invoke-virtual {v13, v14}, Landroid/content/res/Resources;->getInteger(I)I │ + invoke-virtual {v14, v15}, Landroid/content/res/Resources;->getInteger(I)I │ │ - move-result v6 │ + move-result v7 │ │ .line 42 │ - .local v6, "dbfilesize":I │ + .local v7, "dbfilesize":I │ invoke-virtual/range {p1 .. p1}, Landroid/content/Context;->getResources()Landroid/content/res/Resources; │ │ - move-result-object v13 │ + move-result-object v14 │ │ - const/high16 v14, 0x7f030000 │ + const/high16 v15, 0x7f030000 │ │ - invoke-virtual {v13, v14}, Landroid/content/res/Resources;->getString(I)Ljava/lang/String; │ + invoke-virtual {v14, v15}, Landroid/content/res/Resources;->getString(I)Ljava/lang/String; │ │ - move-result-object v5 │ + move-result-object v6 │ │ .line 44 │ - .local v5, "dbfilename":Ljava/lang/String; │ - const-string v13, "towers" │ + .local v6, "dbfilename":Ljava/lang/String; │ + const-string v14, "towers" │ │ move-object/from16 v0, p1 │ │ - invoke-virtual {v0, v13}, Landroid/content/Context;->getDatabasePath(Ljava/lang/String;)Ljava/io/File; │ + invoke-virtual {v0, v14}, Landroid/content/Context;->getDatabasePath(Ljava/lang/String;)Ljava/io/File; │ │ - move-result-object v10 │ + move-result-object v11 │ │ .line 45 │ - .local v10, "path":Ljava/io/File; │ - invoke-virtual {v10}, Ljava/io/File;->mkdirs()Z │ + .local v11, "path":Ljava/io/File; │ + invoke-virtual {v11}, Ljava/io/File;->mkdirs()Z │ │ .line 46 │ - new-instance v4, Ljava/io/File; │ + new-instance v5, Ljava/io/File; │ │ - new-instance v13, Ljava/lang/StringBuilder; │ + new-instance v14, Ljava/lang/StringBuilder; │ │ - invoke-direct {v13}, Ljava/lang/StringBuilder;->()V │ + invoke-direct {v14}, Ljava/lang/StringBuilder;->()V │ │ - invoke-virtual {v13, v10}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder; │ + invoke-virtual {v14, v11}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder; │ │ - move-result-object v13 │ + move-result-object v14 │ │ - const-string v14, "/db.bcs" │ + const-string v15, "/db.bcs" │ │ - invoke-virtual {v13, v14}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; │ + invoke-virtual {v14, v15}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; │ │ - move-result-object v13 │ + move-result-object v14 │ │ - invoke-virtual {v13}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; │ + invoke-virtual {v14}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; │ │ - move-result-object v13 │ + move-result-object v14 │ │ - invoke-direct {v4, v13}, Ljava/io/File;->(Ljava/lang/String;)V │ + invoke-direct {v5, v14}, Ljava/io/File;->(Ljava/lang/String;)V │ │ .line 47 │ - .local v4, "db":Ljava/io/File; │ - const-string v13, "SS/CellTowerDatabase/Init" │ + .local v5, "db":Ljava/io/File; │ + const-string v14, "SS/CellTowerDatabase/Init" │ │ - new-instance v14, Ljava/lang/StringBuilder; │ + new-instance v15, Ljava/lang/StringBuilder; │ │ - invoke-direct {v14}, Ljava/lang/StringBuilder;->()V │ + invoke-direct {v15}, Ljava/lang/StringBuilder;->()V │ │ - const-string v15, "Path: " │ + const-string v16, "Path: " │ │ - invoke-virtual {v14, v15}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; │ + invoke-virtual/range {v15 .. v16}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; │ │ - move-result-object v14 │ + move-result-object v15 │ │ - invoke-virtual {v14, v10}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder; │ + invoke-virtual {v15, v11}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder; │ │ - move-result-object v14 │ + move-result-object v15 │ │ - invoke-virtual {v14}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; │ + invoke-virtual {v15}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; │ │ - move-result-object v14 │ + move-result-object v15 │ │ - invoke-static {v13, v14}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I │ + invoke-static {v14, v15}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I │ │ .line 48 │ - invoke-virtual {v4}, Ljava/io/File;->exists()Z │ + invoke-virtual {v5}, Ljava/io/File;->exists()Z │ │ - move-result v13 │ + move-result v14 │ │ - if-eqz v13, :cond_0 │ + if-eqz v14, :cond_0 │ │ - invoke-virtual {v4}, Ljava/io/File;->length()J │ + invoke-virtual {v5}, Ljava/io/File;->length()J │ │ - move-result-wide v13 │ + move-result-wide v14 │ │ - int-to-long v15, v6 │ + int-to-long v0, v7 │ │ - cmp-long v13, v13, v15 │ + move-wide/from16 v16, v0 │ │ - if-gez v13, :cond_1 │ + cmp-long v14, v14, v16 │ + │ + if-gez v14, :cond_1 │ │ .line 49 │ :cond_0 │ - const-string v13, "SS/CellTowerDatabase/Init" │ + const-string v14, "SS/CellTowerDatabase/Init" │ │ - const-string v14, "Database needs extraction..." │ + const-string v15, "Database needs extraction..." │ │ - invoke-static {v13, v14}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I │ + invoke-static {v14, v15}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I │ │ .line 52 │ :try_start_0 │ invoke-virtual/range {p1 .. p1}, Landroid/content/Context;->getAssets()Landroid/content/res/AssetManager; │ │ - move-result-object v13 │ + move-result-object v14 │ │ - invoke-virtual {v13, v5}, Landroid/content/res/AssetManager;->open(Ljava/lang/String;)Ljava/io/InputStream; │ + invoke-virtual {v14, v6}, Landroid/content/res/AssetManager;->open(Ljava/lang/String;)Ljava/io/InputStream; │ │ - move-result-object v8 │ + move-result-object v9 │ │ .line 53 │ - .local v8, "in":Ljava/io/InputStream; │ - new-instance v9, Ljava/io/BufferedOutputStream; │ + .local v9, "in":Ljava/io/InputStream; │ + new-instance v10, Ljava/io/BufferedOutputStream; │ │ - new-instance v13, Ljava/io/FileOutputStream; │ + new-instance v14, Ljava/io/FileOutputStream; │ │ - invoke-direct {v13, v4}, Ljava/io/FileOutputStream;->(Ljava/io/File;)V │ + invoke-direct {v14, v5}, Ljava/io/FileOutputStream;->(Ljava/io/File;)V │ │ - invoke-direct {v9, v13}, Ljava/io/BufferedOutputStream;->(Ljava/io/OutputStream;)V │ + invoke-direct {v10, v14}, Ljava/io/BufferedOutputStream;->(Ljava/io/OutputStream;)V │ │ .line 54 │ - .local v9, "out":Ljava/io/OutputStream; │ - new-instance v12, Lorg/tukaani/xz/XZInputStream; │ + .local v10, "out":Ljava/io/OutputStream; │ + new-instance v13, Lorg/tukaani/xz/XZInputStream; │ │ - invoke-direct {v12, v8}, Lorg/tukaani/xz/XZInputStream;->(Ljava/io/InputStream;)V │ + invoke-direct {v13, v9}, Lorg/tukaani/xz/XZInputStream;->(Ljava/io/InputStream;)V │ │ .line 55 │ - .local v12, "xz":Lorg/tukaani/xz/XZInputStream; │ - const/16 v13, 0x4000 │ + .local v13, "xz":Lorg/tukaani/xz/XZInputStream; │ + const/16 v14, 0x4000 │ │ - new-array v2, v13, [B │ + new-array v3, v14, [B │ │ .line 56 │ - .local v2, "buf":[B │ - const/4 v3, 0x1 │ + .local v3, "buf":[B │ + const/4 v4, 0x1 │ │ .line 57 │ - .local v3, "canread":Z │ + .local v4, "canread":Z │ :goto_0 │ - if-eqz v3, :cond_4 │ + if-eqz v4, :cond_4 │ │ .line 58 │ - invoke-virtual {v12, v2}, Lorg/tukaani/xz/XZInputStream;->read([B)I │ + invoke-virtual {v13, v3}, Lorg/tukaani/xz/XZInputStream;->read([B)I │ │ - move-result v11 │ + move-result v12 │ │ .line 59 │ - .local v11, "read":I │ - if-lez v11, :cond_2 │ + .local v12, "read":I │ + if-lez v12, :cond_2 │ │ .line 60 │ - const/4 v13, 0x0 │ + const/4 v14, 0x0 │ │ - invoke-virtual {v9, v2, v13, v11}, Ljava/io/OutputStream;->write([BII)V │ + invoke-virtual {v10, v3, v14, v12}, Ljava/io/OutputStream;->write([BII)V │ :try_end_0 │ .catch Ljava/io/IOException; {:try_start_0 .. :try_end_0} :catch_0 │ │ goto :goto_0 │ │ .line 73 │ - .end local v2 # "buf":[B │ - .end local v3 # "canread":Z │ - .end local v8 # "in":Ljava/io/InputStream; │ - .end local v9 # "out":Ljava/io/OutputStream; │ - .end local v11 # "read":I │ - .end local v12 # "xz":Lorg/tukaani/xz/XZInputStream; │ + .end local v3 # "buf":[B │ + .end local v4 # "canread":Z │ + .end local v9 # "in":Ljava/io/InputStream; │ + .end local v10 # "out":Ljava/io/OutputStream; │ + .end local v12 # "read":I │ + .end local v13 # "xz":Lorg/tukaani/xz/XZInputStream; │ :catch_0 │ - move-exception v7 │ + move-exception v8 │ │ .line 74 │ - .local v7, "e":Ljava/io/IOException; │ - invoke-virtual {v7}, Ljava/io/IOException;->printStackTrace()V │ + .local v8, "e":Ljava/io/IOException; │ + invoke-virtual {v8}, Ljava/io/IOException;->printStackTrace()V │ │ .line 76 │ - .end local v7 # "e":Ljava/io/IOException; │ + .end local v8 # "e":Ljava/io/IOException; │ :goto_1 │ - const-string v13, "SS/CellTowerDatabase/Init" │ + const-string v14, "SS/CellTowerDatabase/Init" │ │ - const-string v14, "Database extracted!" │ + const-string v15, "Database extracted!" │ │ - invoke-static {v13, v14}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I │ + invoke-static {v14, v15}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I │ │ .line 78 │ :cond_1 │ - const-string v13, "SS/CellTowerDatabase/Init" │ + const-string v14, "SS/CellTowerDatabase/Init" │ │ - const-string v14, "Opening database" │ + const-string v15, "Opening database" │ │ - invoke-static {v13, v14}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I │ + invoke-static {v14, v15}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I │ │ .line 80 │ :try_start_1 │ - new-instance v13, Lorg/gfd/gsmlocation/db/BCSReader; │ + new-instance v14, Lorg/gfd/gsmlocation/db/BCSReader; │ │ - const/4 v14, 0x4 │ + const/4 v15, 0x4 │ │ - new-array v14, v14, [Ljava/lang/Class; │ + new-array v15, v15, [Ljava/lang/Class; │ │ - const/4 v15, 0x0 │ + const/16 v16, 0x0 │ │ - const-class v16, Ljava/lang/Integer; │ + const-class v17, Ljava/lang/Integer; │ │ - aput-object v16, v14, v15 │ + aput-object v17, v15, v16 │ │ - const/4 v15, 0x1 │ + const/16 v16, 0x1 │ │ - const-class v16, Ljava/lang/Integer; │ + const-class v17, Ljava/lang/Integer; │ │ - aput-object v16, v14, v15 │ + aput-object v17, v15, v16 │ │ - const/4 v15, 0x2 │ + const/16 v16, 0x2 │ │ - const-class v16, Ljava/lang/Integer; │ + const-class v17, Ljava/lang/Integer; │ │ - aput-object v16, v14, v15 │ + aput-object v17, v15, v16 │ │ - const/4 v15, 0x3 │ + const/16 v16, 0x3 │ │ - const-class v16, Ljava/lang/Integer; │ + const-class v17, Ljava/lang/Integer; │ │ - aput-object v16, v14, v15 │ + aput-object v17, v15, v16 │ │ - const/4 v15, 0x2 │ + const/16 v16, 0x2 │ │ - new-array v15, v15, [Ljava/lang/Class; │ + move/from16 v0, v16 │ │ - const/16 v16, 0x0 │ + new-array v0, v0, [Ljava/lang/Class; │ │ - const-class v17, Ljava/lang/Double; │ + move-object/from16 v16, v0 │ │ - aput-object v17, v15, v16 │ + const/16 v17, 0x0 │ │ - const/16 v16, 0x1 │ + const-class v18, Ljava/lang/Double; │ │ - const-class v17, Ljava/lang/Double; │ + aput-object v18, v16, v17 │ │ - aput-object v17, v15, v16 │ + const/16 v17, 0x1 │ │ - invoke-virtual {v4}, Ljava/io/File;->getCanonicalPath()Ljava/lang/String; │ + const-class v18, Ljava/lang/Double; │ │ - move-result-object v16 │ + aput-object v18, v16, v17 │ │ - invoke-direct/range {v13 .. v16}, Lorg/gfd/gsmlocation/db/BCSReader;->([Ljava/lang/Class;[Ljava/lang/Class;Ljava/lang/String;)V │ + .line 83 │ + invoke-virtual {v5}, Ljava/io/File;->getCanonicalPath()Ljava/lang/String; │ + │ + move-result-object v17 │ + │ + invoke-direct/range {v14 .. v17}, Lorg/gfd/gsmlocation/db/BCSReader;->([Ljava/lang/Class;[Ljava/lang/Class;Ljava/lang/String;)V │ │ move-object/from16 v0, p0 │ │ - iput-object v13, v0, Lorg/gfd/gsmlocation/db/CellTowerDatabase;->reader:Lorg/gfd/gsmlocation/db/BCSReader; │ + iput-object v14, v0, Lorg/gfd/gsmlocation/db/CellTowerDatabase;->reader:Lorg/gfd/gsmlocation/db/BCSReader; │ :try_end_1 │ .catch Ljava/io/IOException; {:try_start_1 .. :try_end_1} :catch_1 │ │ .line 88 │ :goto_2 │ return-void │ │ .line 62 │ - .restart local v2 # "buf":[B │ - .restart local v3 # "canread":Z │ - .restart local v8 # "in":Ljava/io/InputStream; │ - .restart local v9 # "out":Ljava/io/OutputStream; │ - .restart local v11 # "read":I │ - .restart local v12 # "xz":Lorg/tukaani/xz/XZInputStream; │ + .restart local v3 # "buf":[B │ + .restart local v4 # "canread":Z │ + .restart local v9 # "in":Ljava/io/InputStream; │ + .restart local v10 # "out":Ljava/io/OutputStream; │ + .restart local v12 # "read":I │ + .restart local v13 # "xz":Lorg/tukaani/xz/XZInputStream; │ :cond_2 │ :try_start_2 │ - invoke-virtual {v12}, Lorg/tukaani/xz/XZInputStream;->read()I │ + invoke-virtual {v13}, Lorg/tukaani/xz/XZInputStream;->read()I │ │ - move-result v1 │ + move-result v2 │ │ .line 63 │ - .local v1, "b":I │ - const/4 v13, -0x1 │ + .local v2, "b":I │ + const/4 v14, -0x1 │ │ - if-ne v1, v13, :cond_3 │ + if-ne v2, v14, :cond_3 │ │ .line 64 │ - const/4 v3, 0x0 │ + const/4 v4, 0x0 │ │ goto :goto_0 │ │ .line 66 │ :cond_3 │ - invoke-virtual {v9, v1}, Ljava/io/OutputStream;->write(I)V │ + invoke-virtual {v10, v2}, Ljava/io/OutputStream;->write(I)V │ │ goto :goto_0 │ │ .line 70 │ - .end local v1 # "b":I │ - .end local v11 # "read":I │ + .end local v2 # "b":I │ + .end local v12 # "read":I │ :cond_4 │ - invoke-virtual {v9}, Ljava/io/OutputStream;->close()V │ + invoke-virtual {v10}, Ljava/io/OutputStream;->close()V │ │ .line 71 │ - invoke-virtual {v12}, Lorg/tukaani/xz/XZInputStream;->close()V │ + invoke-virtual {v13}, Lorg/tukaani/xz/XZInputStream;->close()V │ │ .line 72 │ - invoke-virtual {v8}, Ljava/io/InputStream;->close()V │ + invoke-virtual {v9}, Ljava/io/InputStream;->close()V │ :try_end_2 │ .catch Ljava/io/IOException; {:try_start_2 .. :try_end_2} :catch_0 │ │ goto :goto_1 │ │ .line 85 │ - .end local v2 # "buf":[B │ - .end local v3 # "canread":Z │ - .end local v8 # "in":Ljava/io/InputStream; │ - .end local v9 # "out":Ljava/io/OutputStream; │ - .end local v12 # "xz":Lorg/tukaani/xz/XZInputStream; │ + .end local v3 # "buf":[B │ + .end local v4 # "canread":Z │ + .end local v9 # "in":Ljava/io/InputStream; │ + .end local v10 # "out":Ljava/io/OutputStream; │ + .end local v13 # "xz":Lorg/tukaani/xz/XZInputStream; │ :catch_1 │ - move-exception v7 │ + move-exception v8 │ │ .line 86 │ - .restart local v7 # "e":Ljava/io/IOException; │ - const-string v13, "LNLP" │ + .restart local v8 # "e":Ljava/io/IOException; │ + const-string v14, "LNLP" │ │ - const-string v14, "init failed" │ + const-string v15, "init failed" │ │ - invoke-static {v13, v14, v7}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I │ + invoke-static {v14, v15, v8}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I │ │ goto :goto_2 │ .end method │ │ .method public query(II)Ljava/util/List; │ .locals 1 │ .param p1, "cid" # I ├── smali/org/gfd/gsmlocation/model/CellInfo.smali │ @@ -21,18 +21,18 @@ │ .field public measurement:J │ │ .field public seen:J │ │ │ # direct methods │ .method public constructor ()V │ - .locals 3 │ + .locals 4 │ │ .prologue │ - const-wide/16 v1, 0x0 │ + const-wide/16 v2, 0x0 │ │ const/4 v0, -0x1 │ │ .line 3 │ invoke-direct {p0}, Ljava/lang/Object;->()V │ │ .line 4 │ @@ -49,33 +49,33 @@ │ │ .line 8 │ const/4 v0, 0x0 │ │ iput v0, p0, Lorg/gfd/gsmlocation/model/CellInfo;->dbm:I │ │ .line 9 │ - iput-wide v1, p0, Lorg/gfd/gsmlocation/model/CellInfo;->lat:D │ + iput-wide v2, p0, Lorg/gfd/gsmlocation/model/CellInfo;->lat:D │ │ .line 10 │ - iput-wide v1, p0, Lorg/gfd/gsmlocation/model/CellInfo;->lng:D │ + iput-wide v2, p0, Lorg/gfd/gsmlocation/model/CellInfo;->lng:D │ │ .line 12 │ invoke-static {}, Ljava/lang/System;->currentTimeMillis()J │ │ move-result-wide v0 │ │ iput-wide v0, p0, Lorg/gfd/gsmlocation/model/CellInfo;->seen:J │ │ return-void │ .end method │ │ │ # virtual methods │ .method public equals(Ljava/lang/Object;)Z │ - .locals 7 │ + .locals 8 │ .param p1, "o" # Ljava/lang/Object; │ │ .prologue │ const/4 v1, 0x1 │ │ const/4 v2, 0x0 │ │ @@ -158,35 +158,35 @@ │ │ move v1, v2 │ │ goto :goto_0 │ │ .line 24 │ :cond_7 │ - iget-wide v3, v0, Lorg/gfd/gsmlocation/model/CellInfo;->lat:D │ + iget-wide v4, v0, Lorg/gfd/gsmlocation/model/CellInfo;->lat:D │ │ - iget-wide v5, p0, Lorg/gfd/gsmlocation/model/CellInfo;->lat:D │ + iget-wide v6, p0, Lorg/gfd/gsmlocation/model/CellInfo;->lat:D │ │ - invoke-static {v3, v4, v5, v6}, Ljava/lang/Double;->compare(DD)I │ + invoke-static {v4, v5, v6, v7}, Ljava/lang/Double;->compare(DD)I │ │ move-result v3 │ │ if-eqz v3, :cond_8 │ │ move v1, v2 │ │ goto :goto_0 │ │ .line 25 │ :cond_8 │ - iget-wide v3, v0, Lorg/gfd/gsmlocation/model/CellInfo;->lng:D │ + iget-wide v4, v0, Lorg/gfd/gsmlocation/model/CellInfo;->lng:D │ │ - iget-wide v5, p0, Lorg/gfd/gsmlocation/model/CellInfo;->lng:D │ + iget-wide v6, p0, Lorg/gfd/gsmlocation/model/CellInfo;->lng:D │ │ - invoke-static {v3, v4, v5, v6}, Ljava/lang/Double;->compare(DD)I │ + invoke-static {v4, v5, v6, v7}, Ljava/lang/Double;->compare(DD)I │ │ move-result v3 │ │ if-eqz v3, :cond_0 │ │ move v1, v2 │ │ @@ -200,70 +200,70 @@ │ const/16 v6, 0x20 │ │ .line 33 │ iget v0, p0, Lorg/gfd/gsmlocation/model/CellInfo;->MCC:I │ │ .line 34 │ .local v0, "result":I │ - mul-int/lit8 v3, v0, 0x1f │ + mul-int/lit8 v1, v0, 0x1f │ │ iget v4, p0, Lorg/gfd/gsmlocation/model/CellInfo;->MNC:I │ │ - add-int v0, v3, v4 │ + add-int v0, v1, v4 │ │ .line 35 │ - mul-int/lit8 v3, v0, 0x1f │ + mul-int/lit8 v1, v0, 0x1f │ │ iget v4, p0, Lorg/gfd/gsmlocation/model/CellInfo;->CID:I │ │ - add-int v0, v3, v4 │ + add-int v0, v1, v4 │ │ .line 36 │ - mul-int/lit8 v3, v0, 0x1f │ + mul-int/lit8 v1, v0, 0x1f │ │ iget v4, p0, Lorg/gfd/gsmlocation/model/CellInfo;->LAC:I │ │ - add-int v0, v3, v4 │ + add-int v0, v1, v4 │ │ .line 37 │ - iget-wide v3, p0, Lorg/gfd/gsmlocation/model/CellInfo;->lat:D │ + iget-wide v4, p0, Lorg/gfd/gsmlocation/model/CellInfo;->lat:D │ │ - invoke-static {v3, v4}, Ljava/lang/Double;->doubleToLongBits(D)J │ + invoke-static {v4, v5}, Ljava/lang/Double;->doubleToLongBits(D)J │ │ - move-result-wide v1 │ + move-result-wide v2 │ │ .line 38 │ - .local v1, "temp":J │ - mul-int/lit8 v3, v0, 0x1f │ + .local v2, "temp":J │ + mul-int/lit8 v1, v0, 0x1f │ │ - ushr-long v4, v1, v6 │ + ushr-long v4, v2, v6 │ │ - xor-long/2addr v4, v1 │ + xor-long/2addr v4, v2 │ │ long-to-int v4, v4 │ │ - add-int v0, v3, v4 │ + add-int v0, v1, v4 │ │ .line 39 │ - iget-wide v3, p0, Lorg/gfd/gsmlocation/model/CellInfo;->lng:D │ + iget-wide v4, p0, Lorg/gfd/gsmlocation/model/CellInfo;->lng:D │ │ - invoke-static {v3, v4}, Ljava/lang/Double;->doubleToLongBits(D)J │ + invoke-static {v4, v5}, Ljava/lang/Double;->doubleToLongBits(D)J │ │ - move-result-wide v1 │ + move-result-wide v2 │ │ .line 40 │ - mul-int/lit8 v3, v0, 0x1f │ + mul-int/lit8 v1, v0, 0x1f │ │ - ushr-long v4, v1, v6 │ + ushr-long v4, v2, v6 │ │ - xor-long/2addr v4, v1 │ + xor-long/2addr v4, v2 │ │ long-to-int v4, v4 │ │ - add-int v0, v3, v4 │ + add-int v0, v1, v4 │ │ .line 41 │ return v0 │ .end method │ │ .method public isInvalid()Z │ .locals 2 │ @@ -332,15 +332,15 @@ │ │ .line 49 │ :cond_3 │ return-void │ .end method │ │ .method public toString()Ljava/lang/String; │ - .locals 3 │ + .locals 4 │ │ .prologue │ .line 56 │ new-instance v0, Ljava/lang/StringBuilder; │ │ invoke-direct {v0}, Ljava/lang/StringBuilder;->()V │ │ @@ -406,29 +406,29 @@ │ │ const-string v1, ", lng=" │ │ invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; │ │ move-result-object v0 │ │ - iget-wide v1, p0, Lorg/gfd/gsmlocation/model/CellInfo;->lng:D │ + iget-wide v2, p0, Lorg/gfd/gsmlocation/model/CellInfo;->lng:D │ │ - invoke-virtual {v0, v1, v2}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder; │ + invoke-virtual {v0, v2, v3}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder; │ │ move-result-object v0 │ │ const-string v1, ", lat=" │ │ invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; │ │ move-result-object v0 │ │ - iget-wide v1, p0, Lorg/gfd/gsmlocation/model/CellInfo;->lat:D │ + iget-wide v2, p0, Lorg/gfd/gsmlocation/model/CellInfo;->lat:D │ │ - invoke-virtual {v0, v1, v2}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder; │ + invoke-virtual {v0, v2, v3}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder; │ │ move-result-object v0 │ │ const/16 v1, 0x29 │ │ invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder; ├── smali/org/microg/nlp/api/LocationHelper.smali │ @@ -12,15 +12,15 @@ │ invoke-direct {p0}, Ljava/lang/Object;->()V │ │ .line 10 │ return-void │ .end method │ │ .method public static average(Ljava/lang/String;Ljava/util/Collection;)Landroid/location/Location; │ - .locals 21 │ + .locals 19 │ .param p0, "source" # Ljava/lang/String; │ .annotation system Ldalvik/annotation/Signature; │ value = { │ "(", │ "Ljava/lang/String;", │ "Ljava/util/Collection", │ "<", │ @@ -49,169 +49,154 @@ │ :goto_0 │ return-object v1 │ │ .line 58 │ :cond_1 │ invoke-interface/range {p1 .. p1}, Ljava/util/Collection;->size()I │ │ - move-result v19 │ + move-result v13 │ │ .line 59 │ - .local v19, "num":I │ - const-wide/16 v15, 0x0 │ + .local v13, "num":I │ + const-wide/16 v14, 0x0 │ │ .line 60 │ - .local v15, "latitude":D │ - const-wide/16 v17, 0x0 │ + .local v14, "latitude":D │ + const-wide/16 v16, 0x0 │ │ .line 61 │ - .local v17, "longitude":D │ - const/4 v10, 0x0 │ + .local v16, "longitude":D │ + const/4 v0, 0x0 │ │ .line 62 │ - .local v10, "accuracy":F │ - const/4 v13, 0x0 │ + .local v0, "accuracy":F │ + const/4 v12, 0x0 │ │ .line 63 │ - .local v13, "altitudes":I │ - const-wide/16 v11, 0x0 │ + .local v12, "altitudes":I │ + const-wide/16 v10, 0x0 │ │ .line 64 │ - .local v11, "altitude":D │ + .local v10, "altitude":D │ invoke-interface/range {p1 .. p1}, Ljava/util/Collection;->iterator()Ljava/util/Iterator; │ │ - move-result-object v14 │ + move-result-object v1 │ │ - .local v14, "i$":Ljava/util/Iterator; │ :cond_2 │ :goto_1 │ - invoke-interface {v14}, Ljava/util/Iterator;->hasNext()Z │ + invoke-interface {v1}, Ljava/util/Iterator;->hasNext()Z │ │ - move-result v1 │ + move-result v2 │ │ - if-eqz v1, :cond_3 │ + if-eqz v2, :cond_3 │ │ - invoke-interface {v14}, Ljava/util/Iterator;->next()Ljava/lang/Object; │ + invoke-interface {v1}, Ljava/util/Iterator;->next()Ljava/lang/Object; │ │ - move-result-object v20 │ + move-result-object v18 │ │ - check-cast v20, Landroid/location/Location; │ + check-cast v18, Landroid/location/Location; │ │ .line 65 │ - .local v20, "value":Landroid/location/Location; │ - if-eqz v20, :cond_2 │ + .local v18, "value":Landroid/location/Location; │ + if-eqz v18, :cond_2 │ │ .line 66 │ - invoke-virtual/range {v20 .. v20}, Landroid/location/Location;->getLatitude()D │ + invoke-virtual/range {v18 .. v18}, Landroid/location/Location;->getLatitude()D │ │ - move-result-wide v1 │ + move-result-wide v2 │ │ - add-double/2addr v15, v1 │ + add-double/2addr v14, v2 │ │ .line 67 │ - invoke-virtual/range {v20 .. v20}, Landroid/location/Location;->getLongitude()D │ + invoke-virtual/range {v18 .. v18}, Landroid/location/Location;->getLongitude()D │ │ - move-result-wide v1 │ + move-result-wide v2 │ │ - add-double v17, v17, v1 │ + add-double v16, v16, v2 │ │ .line 68 │ - invoke-virtual/range {v20 .. v20}, Landroid/location/Location;->getAccuracy()F │ + invoke-virtual/range {v18 .. v18}, Landroid/location/Location;->getAccuracy()F │ │ - move-result v1 │ + move-result v2 │ │ - add-float/2addr v10, v1 │ + add-float/2addr v0, v2 │ │ .line 69 │ - invoke-virtual/range {v20 .. v20}, Landroid/location/Location;->hasAltitude()Z │ + invoke-virtual/range {v18 .. v18}, Landroid/location/Location;->hasAltitude()Z │ │ - move-result v1 │ + move-result v2 │ │ - if-eqz v1, :cond_2 │ + if-eqz v2, :cond_2 │ │ .line 70 │ - invoke-virtual/range {v20 .. v20}, Landroid/location/Location;->getAltitude()D │ + invoke-virtual/range {v18 .. v18}, Landroid/location/Location;->getAltitude()D │ │ - move-result-wide v1 │ + move-result-wide v2 │ │ - add-double/2addr v11, v1 │ + add-double/2addr v10, v2 │ │ .line 71 │ - add-int/lit8 v13, v13, 0x1 │ + add-int/lit8 v12, v12, 0x1 │ │ goto :goto_1 │ │ .line 75 │ - .end local v20 # "value":Landroid/location/Location; │ + .end local v18 # "value":Landroid/location/Location; │ :cond_3 │ new-instance v9, Landroid/os/Bundle; │ │ invoke-direct {v9}, Landroid/os/Bundle;->()V │ │ .line 76 │ .local v9, "extras":Landroid/os/Bundle; │ const-string v1, "AVERAGED_OF" │ │ - move/from16 v0, v19 │ - │ - invoke-virtual {v9, v1, v0}, Landroid/os/Bundle;->putInt(Ljava/lang/String;I)V │ + invoke-virtual {v9, v1, v13}, Landroid/os/Bundle;->putInt(Ljava/lang/String;I)V │ │ .line 77 │ - if-lez v13, :cond_4 │ + if-lez v12, :cond_4 │ │ .line 78 │ - move/from16 v0, v19 │ - │ - int-to-double v1, v0 │ + int-to-double v2, v13 │ │ - div-double v2, v15, v1 │ + div-double v2, v14, v2 │ │ - move/from16 v0, v19 │ + int-to-double v4, v13 │ │ - int-to-double v4, v0 │ + div-double v4, v16, v4 │ │ - div-double v4, v17, v4 │ + int-to-double v6, v12 │ │ - int-to-double v6, v13 │ + div-double v6, v10, v6 │ │ - div-double v6, v11, v6 │ + int-to-float v1, v13 │ │ - move/from16 v0, v19 │ - │ - int-to-float v1, v0 │ - │ - div-float v8, v10, v1 │ + div-float v8, v0, v1 │ │ move-object/from16 v1, p0 │ │ invoke-static/range {v1 .. v9}, Lorg/microg/nlp/api/LocationHelper;->create(Ljava/lang/String;DDDFLandroid/os/Bundle;)Landroid/location/Location; │ │ move-result-object v1 │ │ goto :goto_0 │ │ .line 80 │ :cond_4 │ - move/from16 v0, v19 │ - │ - int-to-double v1, v0 │ + int-to-double v2, v13 │ │ - div-double v4, v15, v1 │ + div-double v4, v14, v2 │ │ - move/from16 v0, v19 │ + int-to-double v2, v13 │ │ - int-to-double v1, v0 │ + div-double v6, v16, v2 │ │ - div-double v6, v17, v1 │ + int-to-float v1, v13 │ │ - move/from16 v0, v19 │ - │ - int-to-float v1, v0 │ - │ - div-float v8, v10, v1 │ + div-float v8, v0, v1 │ │ move-object/from16 v3, p0 │ │ invoke-static/range {v3 .. v9}, Lorg/microg/nlp/api/LocationHelper;->create(Ljava/lang/String;DDFLandroid/os/Bundle;)Landroid/location/Location; │ │ move-result-object v1 │ │ @@ -237,32 +222,32 @@ │ .param p1, "latitude" # D │ .param p3, "longitude" # D │ .param p5, "altitude" # D │ .param p7, "accuracy" # F │ │ .prologue │ .line 31 │ - move-object v0, p0 │ + move-object v1, p0 │ │ - move-wide v1, p1 │ + move-wide v2, p1 │ │ - move-wide v3, p3 │ + move-wide v4, p3 │ │ - move v5, p7 │ + move v6, p7 │ │ - invoke-static/range {v0 .. v5}, Lorg/microg/nlp/api/LocationHelper;->create(Ljava/lang/String;DDF)Landroid/location/Location; │ + invoke-static/range {v1 .. v6}, Lorg/microg/nlp/api/LocationHelper;->create(Ljava/lang/String;DDF)Landroid/location/Location; │ │ - move-result-object v6 │ + move-result-object v0 │ │ .line 32 │ - .local v6, "location":Landroid/location/Location; │ - invoke-virtual {v6, p5, p6}, Landroid/location/Location;->setAltitude(D)V │ + .local v0, "location":Landroid/location/Location; │ + invoke-virtual {v0, p5, p6}, Landroid/location/Location;->setAltitude(D)V │ │ .line 33 │ - return-object v6 │ + return-object v0 │ .end method │ │ .method public static create(Ljava/lang/String;DDDFLandroid/os/Bundle;)Landroid/location/Location; │ .locals 1 │ .param p0, "source" # Ljava/lang/String; │ .param p1, "latitude" # D │ .param p3, "longitude" # D ├── smali/org/microg/nlp/api/LocationBackendService.smali │ @@ -2,15 +2,14 @@ │ .super Landroid/app/Service; │ .source "LocationBackendService.java" │ │ │ # annotations │ .annotation system Ldalvik/annotation/MemberClasses; │ value = { │ - Lorg/microg/nlp/api/LocationBackendService$1;, │ Lorg/microg/nlp/api/LocationBackendService$Backend; │ } │ .end annotation │ │ │ # instance fields │ .field private backend:Lorg/microg/nlp/api/LocationBackendService$Backend; │ @@ -33,15 +32,14 @@ │ │ const/4 v1, 0x0 │ │ invoke-direct {v0, p0, v1}, Lorg/microg/nlp/api/LocationBackendService$Backend;->(Lorg/microg/nlp/api/LocationBackendService;Lorg/microg/nlp/api/LocationBackendService$1;)V │ │ iput-object v0, p0, Lorg/microg/nlp/api/LocationBackendService;->backend:Lorg/microg/nlp/api/LocationBackendService$Backend; │ │ - .line 73 │ return-void │ .end method │ │ .method static synthetic access$102(Lorg/microg/nlp/api/LocationBackendService;Lorg/microg/nlp/api/LocationCallback;)Lorg/microg/nlp/api/LocationCallback; │ .locals 0 │ .param p0, "x0" # Lorg/microg/nlp/api/LocationBackendService; │ .param p1, "x1" # Lorg/microg/nlp/api/LocationCallback; ├── smali/org/tukaani/xz/ARMOptions.smali │ @@ -56,23 +56,23 @@ │ │ move-result v0 │ │ return v0 │ .end method │ │ .method getFilterEncoder()Lorg/tukaani/xz/FilterEncoder; │ - .locals 3 │ + .locals 4 │ │ .prologue │ .line 34 │ new-instance v0, Lorg/tukaani/xz/BCJEncoder; │ │ - const-wide/16 v1, 0x7 │ + const-wide/16 v2, 0x7 │ │ - invoke-direct {v0, p0, v1, v2}, Lorg/tukaani/xz/BCJEncoder;->(Lorg/tukaani/xz/BCJOptions;J)V │ + invoke-direct {v0, p0, v2, v3}, Lorg/tukaani/xz/BCJEncoder;->(Lorg/tukaani/xz/BCJOptions;J)V │ │ return-object v0 │ .end method │ │ .method public getInputStream(Ljava/io/InputStream;)Ljava/io/InputStream; │ .locals 4 │ .param p1, "in" # Ljava/io/InputStream; │ @@ -125,15 +125,14 @@ │ move-result v0 │ │ return v0 │ .end method │ │ .method public bridge synthetic setStartOffset(I)V │ .locals 0 │ - .param p1, "x0" # I │ .annotation system Ldalvik/annotation/Throws; │ value = { │ Lorg/tukaani/xz/UnsupportedOptionsException; │ } │ .end annotation │ │ .prologue ├── smali/org/tukaani/xz/BCJDecoder.smali │ @@ -145,152 +145,152 @@ │ │ throw v2 │ .end method │ │ │ # virtual methods │ .method public getInputStream(Ljava/io/InputStream;)Ljava/io/InputStream; │ - .locals 6 │ + .locals 7 │ .param p1, "in" # Ljava/io/InputStream; │ │ .prologue │ - const/4 v5, 0x0 │ + const/4 v6, 0x0 │ │ .line 43 │ const/4 v0, 0x0 │ │ .line 45 │ .local v0, "simpleFilter":Lorg/tukaani/xz/simple/SimpleFilter; │ - iget-wide v1, p0, Lorg/tukaani/xz/BCJDecoder;->filterID:J │ + iget-wide v2, p0, Lorg/tukaani/xz/BCJDecoder;->filterID:J │ │ - const-wide/16 v3, 0x4 │ + const-wide/16 v4, 0x4 │ │ - cmp-long v1, v1, v3 │ + cmp-long v1, v2, v4 │ │ if-nez v1, :cond_1 │ │ .line 46 │ new-instance v0, Lorg/tukaani/xz/simple/X86; │ │ .end local v0 # "simpleFilter":Lorg/tukaani/xz/simple/SimpleFilter; │ iget v1, p0, Lorg/tukaani/xz/BCJDecoder;->startOffset:I │ │ - invoke-direct {v0, v5, v1}, Lorg/tukaani/xz/simple/X86;->(ZI)V │ + invoke-direct {v0, v6, v1}, Lorg/tukaani/xz/simple/X86;->(ZI)V │ │ .line 60 │ .restart local v0 # "simpleFilter":Lorg/tukaani/xz/simple/SimpleFilter; │ :cond_0 │ :goto_0 │ new-instance v1, Lorg/tukaani/xz/SimpleInputStream; │ │ invoke-direct {v1, p1, v0}, Lorg/tukaani/xz/SimpleInputStream;->(Ljava/io/InputStream;Lorg/tukaani/xz/simple/SimpleFilter;)V │ │ return-object v1 │ │ .line 47 │ :cond_1 │ - iget-wide v1, p0, Lorg/tukaani/xz/BCJDecoder;->filterID:J │ + iget-wide v2, p0, Lorg/tukaani/xz/BCJDecoder;->filterID:J │ │ - const-wide/16 v3, 0x5 │ + const-wide/16 v4, 0x5 │ │ - cmp-long v1, v1, v3 │ + cmp-long v1, v2, v4 │ │ if-nez v1, :cond_2 │ │ .line 48 │ new-instance v0, Lorg/tukaani/xz/simple/PowerPC; │ │ .end local v0 # "simpleFilter":Lorg/tukaani/xz/simple/SimpleFilter; │ iget v1, p0, Lorg/tukaani/xz/BCJDecoder;->startOffset:I │ │ - invoke-direct {v0, v5, v1}, Lorg/tukaani/xz/simple/PowerPC;->(ZI)V │ + invoke-direct {v0, v6, v1}, Lorg/tukaani/xz/simple/PowerPC;->(ZI)V │ │ .restart local v0 # "simpleFilter":Lorg/tukaani/xz/simple/SimpleFilter; │ goto :goto_0 │ │ .line 49 │ :cond_2 │ - iget-wide v1, p0, Lorg/tukaani/xz/BCJDecoder;->filterID:J │ + iget-wide v2, p0, Lorg/tukaani/xz/BCJDecoder;->filterID:J │ │ - const-wide/16 v3, 0x6 │ + const-wide/16 v4, 0x6 │ │ - cmp-long v1, v1, v3 │ + cmp-long v1, v2, v4 │ │ if-nez v1, :cond_3 │ │ .line 50 │ new-instance v0, Lorg/tukaani/xz/simple/IA64; │ │ .end local v0 # "simpleFilter":Lorg/tukaani/xz/simple/SimpleFilter; │ iget v1, p0, Lorg/tukaani/xz/BCJDecoder;->startOffset:I │ │ - invoke-direct {v0, v5, v1}, Lorg/tukaani/xz/simple/IA64;->(ZI)V │ + invoke-direct {v0, v6, v1}, Lorg/tukaani/xz/simple/IA64;->(ZI)V │ │ .restart local v0 # "simpleFilter":Lorg/tukaani/xz/simple/SimpleFilter; │ goto :goto_0 │ │ .line 51 │ :cond_3 │ - iget-wide v1, p0, Lorg/tukaani/xz/BCJDecoder;->filterID:J │ + iget-wide v2, p0, Lorg/tukaani/xz/BCJDecoder;->filterID:J │ │ - const-wide/16 v3, 0x7 │ + const-wide/16 v4, 0x7 │ │ - cmp-long v1, v1, v3 │ + cmp-long v1, v2, v4 │ │ if-nez v1, :cond_4 │ │ .line 52 │ new-instance v0, Lorg/tukaani/xz/simple/ARM; │ │ .end local v0 # "simpleFilter":Lorg/tukaani/xz/simple/SimpleFilter; │ iget v1, p0, Lorg/tukaani/xz/BCJDecoder;->startOffset:I │ │ - invoke-direct {v0, v5, v1}, Lorg/tukaani/xz/simple/ARM;->(ZI)V │ + invoke-direct {v0, v6, v1}, Lorg/tukaani/xz/simple/ARM;->(ZI)V │ │ .restart local v0 # "simpleFilter":Lorg/tukaani/xz/simple/SimpleFilter; │ goto :goto_0 │ │ .line 53 │ :cond_4 │ - iget-wide v1, p0, Lorg/tukaani/xz/BCJDecoder;->filterID:J │ + iget-wide v2, p0, Lorg/tukaani/xz/BCJDecoder;->filterID:J │ │ - const-wide/16 v3, 0x8 │ + const-wide/16 v4, 0x8 │ │ - cmp-long v1, v1, v3 │ + cmp-long v1, v2, v4 │ │ if-nez v1, :cond_5 │ │ .line 54 │ new-instance v0, Lorg/tukaani/xz/simple/ARMThumb; │ │ .end local v0 # "simpleFilter":Lorg/tukaani/xz/simple/SimpleFilter; │ iget v1, p0, Lorg/tukaani/xz/BCJDecoder;->startOffset:I │ │ - invoke-direct {v0, v5, v1}, Lorg/tukaani/xz/simple/ARMThumb;->(ZI)V │ + invoke-direct {v0, v6, v1}, Lorg/tukaani/xz/simple/ARMThumb;->(ZI)V │ │ .restart local v0 # "simpleFilter":Lorg/tukaani/xz/simple/SimpleFilter; │ goto :goto_0 │ │ .line 55 │ :cond_5 │ - iget-wide v1, p0, Lorg/tukaani/xz/BCJDecoder;->filterID:J │ + iget-wide v2, p0, Lorg/tukaani/xz/BCJDecoder;->filterID:J │ │ - const-wide/16 v3, 0x9 │ + const-wide/16 v4, 0x9 │ │ - cmp-long v1, v1, v3 │ + cmp-long v1, v2, v4 │ │ if-nez v1, :cond_6 │ │ .line 56 │ new-instance v0, Lorg/tukaani/xz/simple/SPARC; │ │ .end local v0 # "simpleFilter":Lorg/tukaani/xz/simple/SimpleFilter; │ iget v1, p0, Lorg/tukaani/xz/BCJDecoder;->startOffset:I │ │ - invoke-direct {v0, v5, v1}, Lorg/tukaani/xz/simple/SPARC;->(ZI)V │ + invoke-direct {v0, v6, v1}, Lorg/tukaani/xz/simple/SPARC;->(ZI)V │ │ .restart local v0 # "simpleFilter":Lorg/tukaani/xz/simple/SimpleFilter; │ goto :goto_0 │ │ .line 58 │ :cond_6 │ sget-boolean v1, Lorg/tukaani/xz/BCJDecoder;->$assertionsDisabled:Z ├── smali/org/tukaani/xz/BCJEncoder.smali │ @@ -42,15 +42,15 @@ │ :cond_0 │ const/4 v0, 0x0 │ │ goto :goto_0 │ .end method │ │ .method constructor (Lorg/tukaani/xz/BCJOptions;J)V │ - .locals 5 │ + .locals 6 │ .param p1, "options" # Lorg/tukaani/xz/BCJOptions; │ .param p2, "filterID" # J │ │ .prologue │ const/4 v4, 0x4 │ │ .line 17 ├── smali/org/tukaani/xz/ARMThumbOptions.smali │ @@ -56,23 +56,23 @@ │ │ move-result v0 │ │ return v0 │ .end method │ │ .method getFilterEncoder()Lorg/tukaani/xz/FilterEncoder; │ - .locals 3 │ + .locals 4 │ │ .prologue │ .line 34 │ new-instance v0, Lorg/tukaani/xz/BCJEncoder; │ │ - const-wide/16 v1, 0x8 │ + const-wide/16 v2, 0x8 │ │ - invoke-direct {v0, p0, v1, v2}, Lorg/tukaani/xz/BCJEncoder;->(Lorg/tukaani/xz/BCJOptions;J)V │ + invoke-direct {v0, p0, v2, v3}, Lorg/tukaani/xz/BCJEncoder;->(Lorg/tukaani/xz/BCJOptions;J)V │ │ return-object v0 │ .end method │ │ .method public getInputStream(Ljava/io/InputStream;)Ljava/io/InputStream; │ .locals 4 │ .param p1, "in" # Ljava/io/InputStream; │ @@ -125,15 +125,14 @@ │ move-result v0 │ │ return v0 │ .end method │ │ .method public bridge synthetic setStartOffset(I)V │ .locals 0 │ - .param p1, "x0" # I │ .annotation system Ldalvik/annotation/Throws; │ value = { │ Lorg/tukaani/xz/UnsupportedOptionsException; │ } │ .end annotation │ │ .prologue ├── smali/org/tukaani/xz/BlockInputStream.smali │ @@ -25,15 +25,15 @@ │ .field private uncompressedSize:J │ │ .field private uncompressedSizeInHeader:J │ │ │ # direct methods │ .method public constructor (Ljava/io/InputStream;Lorg/tukaani/xz/check/Check;IJJ)V │ - .locals 21 │ + .locals 22 │ .param p1, "in" # Ljava/io/InputStream; │ .param p2, "check" # Lorg/tukaani/xz/check/Check; │ .param p3, "memoryLimit" # I │ .param p4, "unpaddedSizeInIndex" # J │ .param p6, "uncompressedSizeInIndex" # J │ .annotation system Ldalvik/annotation/Throws; │ value = { │ @@ -43,44 +43,44 @@ │ .end annotation │ │ .prologue │ .line 37 │ invoke-direct/range {p0 .. p0}, Ljava/io/InputStream;->()V │ │ .line 27 │ - const-wide/16 v17, -0x1 │ + const-wide/16 v18, -0x1 │ │ - move-wide/from16 v0, v17 │ + move-wide/from16 v0, v18 │ │ move-object/from16 v2, p0 │ │ iput-wide v0, v2, Lorg/tukaani/xz/BlockInputStream;->uncompressedSizeInHeader:J │ │ .line 28 │ - const-wide/16 v17, -0x1 │ + const-wide/16 v18, -0x1 │ │ - move-wide/from16 v0, v17 │ + move-wide/from16 v0, v18 │ │ move-object/from16 v2, p0 │ │ iput-wide v0, v2, Lorg/tukaani/xz/BlockInputStream;->compressedSizeInHeader:J │ │ .line 31 │ - const-wide/16 v17, 0x0 │ + const-wide/16 v18, 0x0 │ │ - move-wide/from16 v0, v17 │ + move-wide/from16 v0, v18 │ │ move-object/from16 v2, p0 │ │ iput-wide v0, v2, Lorg/tukaani/xz/BlockInputStream;->uncompressedSize:J │ │ .line 32 │ - const/16 v17, 0x0 │ + const/16 v18, 0x0 │ │ - move/from16 v0, v17 │ + move/from16 v0, v18 │ │ move-object/from16 v1, p0 │ │ iput-boolean v0, v1, Lorg/tukaani/xz/BlockInputStream;->endReached:Z │ │ .line 38 │ move-object/from16 v0, p1 │ @@ -93,902 +93,915 @@ │ move-object/from16 v0, p2 │ │ move-object/from16 v1, p0 │ │ iput-object v0, v1, Lorg/tukaani/xz/BlockInputStream;->check:Lorg/tukaani/xz/check/Check; │ │ .line 40 │ - new-instance v17, Ljava/io/DataInputStream; │ + new-instance v18, Ljava/io/DataInputStream; │ │ - move-object/from16 v0, v17 │ + move-object/from16 v0, v18 │ │ move-object/from16 v1, p1 │ │ invoke-direct {v0, v1}, Ljava/io/DataInputStream;->(Ljava/io/InputStream;)V │ │ - move-object/from16 v0, v17 │ + move-object/from16 v0, v18 │ │ move-object/from16 v1, p0 │ │ iput-object v0, v1, Lorg/tukaani/xz/BlockInputStream;->inData:Ljava/io/DataInputStream; │ │ .line 42 │ - const/16 v17, 0x400 │ + const/16 v18, 0x400 │ │ - move/from16 v0, v17 │ + move/from16 v0, v18 │ │ - new-array v3, v0, [B │ + new-array v4, v0, [B │ │ .line 45 │ - .local v3, "buf":[B │ + .local v4, "buf":[B │ move-object/from16 v0, p0 │ │ iget-object v0, v0, Lorg/tukaani/xz/BlockInputStream;->inData:Ljava/io/DataInputStream; │ │ - move-object/from16 v17, v0 │ + move-object/from16 v18, v0 │ │ - const/16 v18, 0x0 │ + const/16 v19, 0x0 │ │ - const/16 v19, 0x1 │ + const/16 v20, 0x1 │ │ - move-object/from16 v0, v17 │ + move-object/from16 v0, v18 │ │ - move/from16 v1, v18 │ + move/from16 v1, v19 │ │ - move/from16 v2, v19 │ + move/from16 v2, v20 │ │ - invoke-virtual {v0, v3, v1, v2}, Ljava/io/DataInputStream;->readFully([BII)V │ + invoke-virtual {v0, v4, v1, v2}, Ljava/io/DataInputStream;->readFully([BII)V │ │ .line 48 │ - const/16 v17, 0x0 │ + const/16 v18, 0x0 │ │ - aget-byte v17, v3, v17 │ + aget-byte v18, v4, v18 │ │ - if-nez v17, :cond_0 │ + if-nez v18, :cond_0 │ │ .line 49 │ - new-instance v17, Lorg/tukaani/xz/IndexIndicatorException; │ + new-instance v18, Lorg/tukaani/xz/IndexIndicatorException; │ │ - invoke-direct/range {v17 .. v17}, Lorg/tukaani/xz/IndexIndicatorException;->()V │ + invoke-direct/range {v18 .. v18}, Lorg/tukaani/xz/IndexIndicatorException;->()V │ │ - throw v17 │ + throw v18 │ │ .line 52 │ :cond_0 │ - const/16 v17, 0x0 │ + const/16 v18, 0x0 │ │ - aget-byte v17, v3, v17 │ + aget-byte v18, v4, v18 │ │ - move/from16 v0, v17 │ + move/from16 v0, v18 │ │ and-int/lit16 v0, v0, 0xff │ │ - move/from16 v17, v0 │ + move/from16 v18, v0 │ │ - add-int/lit8 v17, v17, 0x1 │ + add-int/lit8 v18, v18, 0x1 │ │ - mul-int/lit8 v17, v17, 0x4 │ + mul-int/lit8 v18, v18, 0x4 │ │ - move/from16 v0, v17 │ + move/from16 v0, v18 │ │ move-object/from16 v1, p0 │ │ iput v0, v1, Lorg/tukaani/xz/BlockInputStream;->headerSize:I │ │ .line 53 │ move-object/from16 v0, p0 │ │ iget-object v0, v0, Lorg/tukaani/xz/BlockInputStream;->inData:Ljava/io/DataInputStream; │ │ - move-object/from16 v17, v0 │ + move-object/from16 v18, v0 │ │ - const/16 v18, 0x1 │ + const/16 v19, 0x1 │ │ move-object/from16 v0, p0 │ │ iget v0, v0, Lorg/tukaani/xz/BlockInputStream;->headerSize:I │ │ - move/from16 v19, v0 │ + move/from16 v20, v0 │ │ - add-int/lit8 v19, v19, -0x1 │ + add-int/lit8 v20, v20, -0x1 │ │ - move-object/from16 v0, v17 │ + move-object/from16 v0, v18 │ │ - move/from16 v1, v18 │ + move/from16 v1, v19 │ │ - move/from16 v2, v19 │ + move/from16 v2, v20 │ │ - invoke-virtual {v0, v3, v1, v2}, Ljava/io/DataInputStream;->readFully([BII)V │ + invoke-virtual {v0, v4, v1, v2}, Ljava/io/DataInputStream;->readFully([BII)V │ │ .line 56 │ - const/16 v17, 0x0 │ + const/16 v18, 0x0 │ │ move-object/from16 v0, p0 │ │ iget v0, v0, Lorg/tukaani/xz/BlockInputStream;->headerSize:I │ │ - move/from16 v18, v0 │ + move/from16 v19, v0 │ │ - add-int/lit8 v18, v18, -0x4 │ + add-int/lit8 v19, v19, -0x4 │ │ move-object/from16 v0, p0 │ │ iget v0, v0, Lorg/tukaani/xz/BlockInputStream;->headerSize:I │ │ - move/from16 v19, v0 │ + move/from16 v20, v0 │ │ - add-int/lit8 v19, v19, -0x4 │ + add-int/lit8 v20, v20, -0x4 │ │ - move/from16 v0, v17 │ + move/from16 v0, v18 │ │ - move/from16 v1, v18 │ + move/from16 v1, v19 │ │ - move/from16 v2, v19 │ + move/from16 v2, v20 │ │ - invoke-static {v3, v0, v1, v2}, Lorg/tukaani/xz/common/DecoderUtil;->isCRC32Valid([BIII)Z │ + invoke-static {v4, v0, v1, v2}, Lorg/tukaani/xz/common/DecoderUtil;->isCRC32Valid([BIII)Z │ │ - move-result v17 │ + move-result v18 │ │ - if-nez v17, :cond_1 │ + if-nez v18, :cond_1 │ │ .line 57 │ - new-instance v17, Lorg/tukaani/xz/CorruptedInputException; │ + new-instance v18, Lorg/tukaani/xz/CorruptedInputException; │ │ - const-string v18, "XZ Block Header is corrupt" │ + const-string v19, "XZ Block Header is corrupt" │ │ - invoke-direct/range {v17 .. v18}, Lorg/tukaani/xz/CorruptedInputException;->(Ljava/lang/String;)V │ + invoke-direct/range {v18 .. v19}, Lorg/tukaani/xz/CorruptedInputException;->(Ljava/lang/String;)V │ │ - throw v17 │ + throw v18 │ │ .line 60 │ :cond_1 │ - const/16 v17, 0x1 │ + const/16 v18, 0x1 │ │ - aget-byte v17, v3, v17 │ + aget-byte v18, v4, v18 │ │ - and-int/lit8 v17, v17, 0x3c │ + and-int/lit8 v18, v18, 0x3c │ │ - if-eqz v17, :cond_2 │ + if-eqz v18, :cond_2 │ │ .line 61 │ - new-instance v17, Lorg/tukaani/xz/UnsupportedOptionsException; │ + new-instance v18, Lorg/tukaani/xz/UnsupportedOptionsException; │ │ - const-string v18, "Unsupported options in XZ Block Header" │ + const-string v19, "Unsupported options in XZ Block Header" │ │ - invoke-direct/range {v17 .. v18}, Lorg/tukaani/xz/UnsupportedOptionsException;->(Ljava/lang/String;)V │ + invoke-direct/range {v18 .. v19}, Lorg/tukaani/xz/UnsupportedOptionsException;->(Ljava/lang/String;)V │ │ - throw v17 │ + throw v18 │ │ .line 65 │ :cond_2 │ - const/16 v17, 0x1 │ + const/16 v18, 0x1 │ │ - aget-byte v17, v3, v17 │ + aget-byte v18, v4, v18 │ │ - and-int/lit8 v17, v17, 0x3 │ + and-int/lit8 v18, v18, 0x3 │ │ - add-int/lit8 v8, v17, 0x1 │ + add-int/lit8 v9, v18, 0x1 │ │ .line 66 │ - .local v8, "filterCount":I │ - new-array v9, v8, [J │ + .local v9, "filterCount":I │ + new-array v10, v9, [J │ │ .line 67 │ - .local v9, "filterIDs":[J │ - new-array v10, v8, [[B │ + .local v10, "filterIDs":[J │ + new-array v11, v9, [[B │ │ .line 71 │ - .local v10, "filterProps":[[B │ - new-instance v4, Ljava/io/ByteArrayInputStream; │ + .local v11, "filterProps":[[B │ + new-instance v5, Ljava/io/ByteArrayInputStream; │ │ - const/16 v17, 0x2 │ + const/16 v18, 0x2 │ │ move-object/from16 v0, p0 │ │ iget v0, v0, Lorg/tukaani/xz/BlockInputStream;->headerSize:I │ │ - move/from16 v18, v0 │ + move/from16 v19, v0 │ │ - add-int/lit8 v18, v18, -0x6 │ + add-int/lit8 v19, v19, -0x6 │ │ - move/from16 v0, v17 │ + move/from16 v0, v18 │ │ - move/from16 v1, v18 │ + move/from16 v1, v19 │ │ - invoke-direct {v4, v3, v0, v1}, Ljava/io/ByteArrayInputStream;->([BII)V │ + invoke-direct {v5, v4, v0, v1}, Ljava/io/ByteArrayInputStream;->([BII)V │ │ .line 77 │ - .local v4, "bufStream":Ljava/io/ByteArrayInputStream; │ - const-wide v17, 0x7ffffffffffffffcL │ + .local v5, "bufStream":Ljava/io/ByteArrayInputStream; │ + const-wide v18, 0x7ffffffffffffffcL │ │ :try_start_0 │ move-object/from16 v0, p0 │ │ iget v0, v0, Lorg/tukaani/xz/BlockInputStream;->headerSize:I │ │ - move/from16 v19, v0 │ + move/from16 v20, v0 │ │ - move/from16 v0, v19 │ + move/from16 v0, v20 │ │ int-to-long v0, v0 │ │ - move-wide/from16 v19, v0 │ + move-wide/from16 v20, v0 │ │ - sub-long v17, v17, v19 │ + sub-long v18, v18, v20 │ │ + .line 78 │ invoke-virtual/range {p2 .. p2}, Lorg/tukaani/xz/check/Check;->getSize()I │ │ - move-result v19 │ + move-result v20 │ │ - move/from16 v0, v19 │ + move/from16 v0, v20 │ │ int-to-long v0, v0 │ │ - move-wide/from16 v19, v0 │ + move-wide/from16 v20, v0 │ │ - sub-long v17, v17, v19 │ + sub-long v18, v18, v20 │ │ - move-wide/from16 v0, v17 │ + move-wide/from16 v0, v18 │ │ move-object/from16 v2, p0 │ │ iput-wide v0, v2, Lorg/tukaani/xz/BlockInputStream;->compressedSizeLimit:J │ │ .line 82 │ - const/16 v17, 0x1 │ + const/16 v18, 0x1 │ │ - aget-byte v17, v3, v17 │ + aget-byte v18, v4, v18 │ │ - and-int/lit8 v17, v17, 0x40 │ + and-int/lit8 v18, v18, 0x40 │ │ - if-eqz v17, :cond_5 │ + if-eqz v18, :cond_5 │ │ .line 83 │ - invoke-static {v4}, Lorg/tukaani/xz/common/DecoderUtil;->decodeVLI(Ljava/io/InputStream;)J │ + invoke-static {v5}, Lorg/tukaani/xz/common/DecoderUtil;->decodeVLI(Ljava/io/InputStream;)J │ │ - move-result-wide v17 │ + move-result-wide v18 │ │ - move-wide/from16 v0, v17 │ + move-wide/from16 v0, v18 │ │ move-object/from16 v2, p0 │ │ iput-wide v0, v2, Lorg/tukaani/xz/BlockInputStream;->compressedSizeInHeader:J │ │ .line 85 │ move-object/from16 v0, p0 │ │ iget-wide v0, v0, Lorg/tukaani/xz/BlockInputStream;->compressedSizeInHeader:J │ │ - move-wide/from16 v17, v0 │ + move-wide/from16 v18, v0 │ │ - const-wide/16 v19, 0x0 │ + const-wide/16 v20, 0x0 │ │ - cmp-long v17, v17, v19 │ + cmp-long v18, v18, v20 │ │ - if-eqz v17, :cond_3 │ + if-eqz v18, :cond_3 │ │ move-object/from16 v0, p0 │ │ iget-wide v0, v0, Lorg/tukaani/xz/BlockInputStream;->compressedSizeInHeader:J │ │ - move-wide/from16 v17, v0 │ + move-wide/from16 v18, v0 │ │ move-object/from16 v0, p0 │ │ iget-wide v0, v0, Lorg/tukaani/xz/BlockInputStream;->compressedSizeLimit:J │ │ - move-wide/from16 v19, v0 │ + move-wide/from16 v20, v0 │ │ - cmp-long v17, v17, v19 │ + cmp-long v18, v18, v20 │ │ - if-lez v17, :cond_4 │ + if-lez v18, :cond_4 │ │ .line 87 │ :cond_3 │ - new-instance v17, Lorg/tukaani/xz/CorruptedInputException; │ + new-instance v18, Lorg/tukaani/xz/CorruptedInputException; │ │ - invoke-direct/range {v17 .. v17}, Lorg/tukaani/xz/CorruptedInputException;->()V │ + invoke-direct/range {v18 .. v18}, Lorg/tukaani/xz/CorruptedInputException;->()V │ │ - throw v17 │ + throw v18 │ :try_end_0 │ .catch Ljava/io/IOException; {:try_start_0 .. :try_end_0} :catch_0 │ │ .line 109 │ :catch_0 │ - move-exception v7 │ + move-exception v8 │ │ .line 110 │ - .local v7, "e":Ljava/io/IOException; │ - new-instance v17, Lorg/tukaani/xz/CorruptedInputException; │ + .local v8, "e":Ljava/io/IOException; │ + new-instance v18, Lorg/tukaani/xz/CorruptedInputException; │ │ - const-string v18, "XZ Block Header is corrupt" │ + const-string v19, "XZ Block Header is corrupt" │ │ - invoke-direct/range {v17 .. v18}, Lorg/tukaani/xz/CorruptedInputException;->(Ljava/lang/String;)V │ + invoke-direct/range {v18 .. v19}, Lorg/tukaani/xz/CorruptedInputException;->(Ljava/lang/String;)V │ │ - throw v17 │ + throw v18 │ │ .line 89 │ - .end local v7 # "e":Ljava/io/IOException; │ + .end local v8 # "e":Ljava/io/IOException; │ :cond_4 │ :try_start_1 │ move-object/from16 v0, p0 │ │ iget-wide v0, v0, Lorg/tukaani/xz/BlockInputStream;->compressedSizeInHeader:J │ │ - move-wide/from16 v17, v0 │ + move-wide/from16 v18, v0 │ │ - move-wide/from16 v0, v17 │ + move-wide/from16 v0, v18 │ │ move-object/from16 v2, p0 │ │ iput-wide v0, v2, Lorg/tukaani/xz/BlockInputStream;->compressedSizeLimit:J │ │ .line 94 │ :cond_5 │ - const/16 v17, 0x1 │ + const/16 v18, 0x1 │ │ - aget-byte v17, v3, v17 │ + aget-byte v18, v4, v18 │ │ - move/from16 v0, v17 │ + move/from16 v0, v18 │ │ and-int/lit16 v0, v0, 0x80 │ │ - move/from16 v17, v0 │ + move/from16 v18, v0 │ │ - if-eqz v17, :cond_6 │ + if-eqz v18, :cond_6 │ │ .line 95 │ - invoke-static {v4}, Lorg/tukaani/xz/common/DecoderUtil;->decodeVLI(Ljava/io/InputStream;)J │ + invoke-static {v5}, Lorg/tukaani/xz/common/DecoderUtil;->decodeVLI(Ljava/io/InputStream;)J │ │ - move-result-wide v17 │ + move-result-wide v18 │ │ - move-wide/from16 v0, v17 │ + move-wide/from16 v0, v18 │ │ move-object/from16 v2, p0 │ │ iput-wide v0, v2, Lorg/tukaani/xz/BlockInputStream;->uncompressedSizeInHeader:J │ │ .line 98 │ :cond_6 │ - const/4 v15, 0x0 │ + const/16 v16, 0x0 │ │ - .local v15, "i":I │ + .local v16, "i":I │ :goto_0 │ - if-ge v15, v8, :cond_8 │ + move/from16 v0, v16 │ + │ + if-ge v0, v9, :cond_8 │ │ .line 99 │ - invoke-static {v4}, Lorg/tukaani/xz/common/DecoderUtil;->decodeVLI(Ljava/io/InputStream;)J │ + invoke-static {v5}, Lorg/tukaani/xz/common/DecoderUtil;->decodeVLI(Ljava/io/InputStream;)J │ │ - move-result-wide v17 │ + move-result-wide v18 │ │ - aput-wide v17, v9, v15 │ + aput-wide v18, v10, v16 │ │ .line 101 │ - invoke-static {v4}, Lorg/tukaani/xz/common/DecoderUtil;->decodeVLI(Ljava/io/InputStream;)J │ + invoke-static {v5}, Lorg/tukaani/xz/common/DecoderUtil;->decodeVLI(Ljava/io/InputStream;)J │ │ - move-result-wide v11 │ + move-result-wide v12 │ │ .line 102 │ - .local v11, "filterPropsSize":J │ - invoke-virtual {v4}, Ljava/io/ByteArrayInputStream;->available()I │ + .local v12, "filterPropsSize":J │ + invoke-virtual {v5}, Ljava/io/ByteArrayInputStream;->available()I │ │ - move-result v17 │ + move-result v18 │ │ - move/from16 v0, v17 │ + move/from16 v0, v18 │ │ int-to-long v0, v0 │ │ - move-wide/from16 v17, v0 │ + move-wide/from16 v18, v0 │ │ - cmp-long v17, v11, v17 │ + cmp-long v18, v12, v18 │ │ - if-lez v17, :cond_7 │ + if-lez v18, :cond_7 │ │ .line 103 │ - new-instance v17, Lorg/tukaani/xz/CorruptedInputException; │ + new-instance v18, Lorg/tukaani/xz/CorruptedInputException; │ │ - invoke-direct/range {v17 .. v17}, Lorg/tukaani/xz/CorruptedInputException;->()V │ + invoke-direct/range {v18 .. v18}, Lorg/tukaani/xz/CorruptedInputException;->()V │ │ - throw v17 │ + throw v18 │ │ .line 105 │ :cond_7 │ - long-to-int v0, v11 │ + long-to-int v0, v12 │ │ - move/from16 v17, v0 │ + move/from16 v18, v0 │ │ - move/from16 v0, v17 │ + move/from16 v0, v18 │ │ new-array v0, v0, [B │ │ - move-object/from16 v17, v0 │ + move-object/from16 v18, v0 │ │ - aput-object v17, v10, v15 │ + aput-object v18, v11, v16 │ │ .line 106 │ - aget-object v17, v10, v15 │ + aget-object v18, v11, v16 │ │ - move-object/from16 v0, v17 │ + move-object/from16 v0, v18 │ │ - invoke-virtual {v4, v0}, Ljava/io/ByteArrayInputStream;->read([B)I │ + invoke-virtual {v5, v0}, Ljava/io/ByteArrayInputStream;->read([B)I │ :try_end_1 │ .catch Ljava/io/IOException; {:try_start_1 .. :try_end_1} :catch_0 │ │ .line 98 │ - add-int/lit8 v15, v15, 0x1 │ + add-int/lit8 v16, v16, 0x1 │ │ goto :goto_0 │ │ .line 114 │ - .end local v11 # "filterPropsSize":J │ + .end local v12 # "filterPropsSize":J │ :cond_8 │ - invoke-virtual {v4}, Ljava/io/ByteArrayInputStream;->available()I │ + invoke-virtual {v5}, Ljava/io/ByteArrayInputStream;->available()I │ │ - move-result v15 │ + move-result v16 │ │ :goto_1 │ - if-lez v15, :cond_a │ + if-lez v16, :cond_a │ │ .line 115 │ - invoke-virtual {v4}, Ljava/io/ByteArrayInputStream;->read()I │ + invoke-virtual {v5}, Ljava/io/ByteArrayInputStream;->read()I │ │ - move-result v17 │ + move-result v18 │ │ - if-eqz v17, :cond_9 │ + if-eqz v18, :cond_9 │ │ .line 116 │ - new-instance v17, Lorg/tukaani/xz/UnsupportedOptionsException; │ + new-instance v18, Lorg/tukaani/xz/UnsupportedOptionsException; │ │ - const-string v18, "Unsupported options in XZ Block Header" │ + const-string v19, "Unsupported options in XZ Block Header" │ │ - invoke-direct/range {v17 .. v18}, Lorg/tukaani/xz/UnsupportedOptionsException;->(Ljava/lang/String;)V │ + invoke-direct/range {v18 .. v19}, Lorg/tukaani/xz/UnsupportedOptionsException;->(Ljava/lang/String;)V │ │ - throw v17 │ + throw v18 │ │ .line 114 │ :cond_9 │ - add-int/lit8 v15, v15, -0x1 │ + add-int/lit8 v16, v16, -0x1 │ │ goto :goto_1 │ │ .line 121 │ :cond_a │ - const-wide/16 v17, -0x1 │ + const-wide/16 v18, -0x1 │ │ - cmp-long v17, p4, v17 │ + cmp-long v18, p4, v18 │ │ - if-eqz v17, :cond_f │ + if-eqz v18, :cond_f │ │ .line 125 │ move-object/from16 v0, p0 │ │ iget v0, v0, Lorg/tukaani/xz/BlockInputStream;->headerSize:I │ │ - move/from16 v17, v0 │ + move/from16 v18, v0 │ │ invoke-virtual/range {p2 .. p2}, Lorg/tukaani/xz/check/Check;->getSize()I │ │ - move-result v18 │ + move-result v19 │ │ - add-int v14, v17, v18 │ + add-int v15, v18, v19 │ │ .line 126 │ - .local v14, "headerAndCheckSize":I │ - int-to-long v0, v14 │ + .local v15, "headerAndCheckSize":I │ + int-to-long v0, v15 │ │ - move-wide/from16 v17, v0 │ + move-wide/from16 v18, v0 │ │ - cmp-long v17, v17, p4 │ + cmp-long v18, v18, p4 │ │ - if-ltz v17, :cond_b │ + if-ltz v18, :cond_b │ │ .line 127 │ - new-instance v17, Lorg/tukaani/xz/CorruptedInputException; │ + new-instance v18, Lorg/tukaani/xz/CorruptedInputException; │ │ - const-string v18, "XZ Index does not match a Block Header" │ + const-string v19, "XZ Index does not match a Block Header" │ │ - invoke-direct/range {v17 .. v18}, Lorg/tukaani/xz/CorruptedInputException;->(Ljava/lang/String;)V │ + invoke-direct/range {v18 .. v19}, Lorg/tukaani/xz/CorruptedInputException;->(Ljava/lang/String;)V │ │ - throw v17 │ + throw v18 │ │ .line 133 │ :cond_b │ - int-to-long v0, v14 │ + int-to-long v0, v15 │ │ - move-wide/from16 v17, v0 │ + move-wide/from16 v18, v0 │ │ - sub-long v5, p4, v17 │ + sub-long v6, p4, v18 │ │ .line 135 │ - .local v5, "compressedSizeFromIndex":J │ + .local v6, "compressedSizeFromIndex":J │ move-object/from16 v0, p0 │ │ iget-wide v0, v0, Lorg/tukaani/xz/BlockInputStream;->compressedSizeLimit:J │ │ - move-wide/from16 v17, v0 │ + move-wide/from16 v18, v0 │ │ - cmp-long v17, v5, v17 │ + cmp-long v18, v6, v18 │ │ - if-gtz v17, :cond_c │ + if-gtz v18, :cond_c │ │ move-object/from16 v0, p0 │ │ iget-wide v0, v0, Lorg/tukaani/xz/BlockInputStream;->compressedSizeInHeader:J │ │ - move-wide/from16 v17, v0 │ + move-wide/from16 v18, v0 │ │ - const-wide/16 v19, -0x1 │ + const-wide/16 v20, -0x1 │ │ - cmp-long v17, v17, v19 │ + cmp-long v18, v18, v20 │ │ - if-eqz v17, :cond_d │ + if-eqz v18, :cond_d │ │ move-object/from16 v0, p0 │ │ iget-wide v0, v0, Lorg/tukaani/xz/BlockInputStream;->compressedSizeInHeader:J │ │ - move-wide/from16 v17, v0 │ + move-wide/from16 v18, v0 │ │ - cmp-long v17, v17, v5 │ + cmp-long v18, v18, v6 │ │ - if-eqz v17, :cond_d │ + if-eqz v18, :cond_d │ │ .line 138 │ :cond_c │ - new-instance v17, Lorg/tukaani/xz/CorruptedInputException; │ + new-instance v18, Lorg/tukaani/xz/CorruptedInputException; │ │ - const-string v18, "XZ Index does not match a Block Header" │ + const-string v19, "XZ Index does not match a Block Header" │ │ - invoke-direct/range {v17 .. v18}, Lorg/tukaani/xz/CorruptedInputException;->(Ljava/lang/String;)V │ + invoke-direct/range {v18 .. v19}, Lorg/tukaani/xz/CorruptedInputException;->(Ljava/lang/String;)V │ │ - throw v17 │ + throw v18 │ │ .line 144 │ :cond_d │ move-object/from16 v0, p0 │ │ iget-wide v0, v0, Lorg/tukaani/xz/BlockInputStream;->uncompressedSizeInHeader:J │ │ - move-wide/from16 v17, v0 │ + move-wide/from16 v18, v0 │ │ - const-wide/16 v19, -0x1 │ + const-wide/16 v20, -0x1 │ │ - cmp-long v17, v17, v19 │ + cmp-long v18, v18, v20 │ │ - if-eqz v17, :cond_e │ + if-eqz v18, :cond_e │ │ move-object/from16 v0, p0 │ │ iget-wide v0, v0, Lorg/tukaani/xz/BlockInputStream;->uncompressedSizeInHeader:J │ │ - move-wide/from16 v17, v0 │ + move-wide/from16 v18, v0 │ │ - cmp-long v17, v17, p6 │ + cmp-long v18, v18, p6 │ │ - if-eqz v17, :cond_e │ + if-eqz v18, :cond_e │ │ .line 146 │ - new-instance v17, Lorg/tukaani/xz/CorruptedInputException; │ + new-instance v18, Lorg/tukaani/xz/CorruptedInputException; │ │ - const-string v18, "XZ Index does not match a Block Header" │ + const-string v19, "XZ Index does not match a Block Header" │ │ - invoke-direct/range {v17 .. v18}, Lorg/tukaani/xz/CorruptedInputException;->(Ljava/lang/String;)V │ + invoke-direct/range {v18 .. v19}, Lorg/tukaani/xz/CorruptedInputException;->(Ljava/lang/String;)V │ │ - throw v17 │ + throw v18 │ │ .line 151 │ :cond_e │ move-object/from16 v0, p0 │ │ - iput-wide v5, v0, Lorg/tukaani/xz/BlockInputStream;->compressedSizeLimit:J │ + iput-wide v6, v0, Lorg/tukaani/xz/BlockInputStream;->compressedSizeLimit:J │ │ .line 152 │ move-object/from16 v0, p0 │ │ - iput-wide v5, v0, Lorg/tukaani/xz/BlockInputStream;->compressedSizeInHeader:J │ + iput-wide v6, v0, Lorg/tukaani/xz/BlockInputStream;->compressedSizeInHeader:J │ │ .line 153 │ move-wide/from16 v0, p6 │ │ move-object/from16 v2, p0 │ │ iput-wide v0, v2, Lorg/tukaani/xz/BlockInputStream;->uncompressedSizeInHeader:J │ │ .line 159 │ - .end local v5 # "compressedSizeFromIndex":J │ - .end local v14 # "headerAndCheckSize":I │ + .end local v6 # "compressedSizeFromIndex":J │ + .end local v15 # "headerAndCheckSize":I │ :cond_f │ - array-length v0, v9 │ + array-length v0, v10 │ │ - move/from16 v17, v0 │ + move/from16 v18, v0 │ │ - move/from16 v0, v17 │ + move/from16 v0, v18 │ │ - new-array v13, v0, [Lorg/tukaani/xz/FilterDecoder; │ + new-array v14, v0, [Lorg/tukaani/xz/FilterDecoder; │ │ .line 161 │ - .local v13, "filters":[Lorg/tukaani/xz/FilterDecoder; │ - const/4 v15, 0x0 │ + .local v14, "filters":[Lorg/tukaani/xz/FilterDecoder; │ + const/16 v16, 0x0 │ │ :goto_2 │ - array-length v0, v13 │ + array-length v0, v14 │ + │ + move/from16 v18, v0 │ │ - move/from16 v17, v0 │ + move/from16 v0, v16 │ │ - move/from16 v0, v17 │ + move/from16 v1, v18 │ │ - if-ge v15, v0, :cond_13 │ + if-ge v0, v1, :cond_13 │ │ .line 162 │ - aget-wide v17, v9, v15 │ + aget-wide v18, v10, v16 │ │ - const-wide/16 v19, 0x21 │ + const-wide/16 v20, 0x21 │ │ - cmp-long v17, v17, v19 │ + cmp-long v18, v18, v20 │ │ - if-nez v17, :cond_10 │ + if-nez v18, :cond_10 │ │ .line 163 │ - new-instance v17, Lorg/tukaani/xz/LZMA2Decoder; │ + new-instance v18, Lorg/tukaani/xz/LZMA2Decoder; │ │ - aget-object v18, v10, v15 │ + aget-object v19, v11, v16 │ │ - invoke-direct/range {v17 .. v18}, Lorg/tukaani/xz/LZMA2Decoder;->([B)V │ + invoke-direct/range {v18 .. v19}, Lorg/tukaani/xz/LZMA2Decoder;->([B)V │ │ - aput-object v17, v13, v15 │ + aput-object v18, v14, v16 │ │ .line 161 │ :goto_3 │ - add-int/lit8 v15, v15, 0x1 │ + add-int/lit8 v16, v16, 0x1 │ │ goto :goto_2 │ │ .line 165 │ :cond_10 │ - aget-wide v17, v9, v15 │ + aget-wide v18, v10, v16 │ │ - const-wide/16 v19, 0x3 │ + const-wide/16 v20, 0x3 │ │ - cmp-long v17, v17, v19 │ + cmp-long v18, v18, v20 │ │ - if-nez v17, :cond_11 │ + if-nez v18, :cond_11 │ │ .line 166 │ - new-instance v17, Lorg/tukaani/xz/DeltaDecoder; │ + new-instance v18, Lorg/tukaani/xz/DeltaDecoder; │ │ - aget-object v18, v10, v15 │ + aget-object v19, v11, v16 │ │ - invoke-direct/range {v17 .. v18}, Lorg/tukaani/xz/DeltaDecoder;->([B)V │ + invoke-direct/range {v18 .. v19}, Lorg/tukaani/xz/DeltaDecoder;->([B)V │ │ - aput-object v17, v13, v15 │ + aput-object v18, v14, v16 │ │ goto :goto_3 │ │ .line 168 │ :cond_11 │ - aget-wide v17, v9, v15 │ + aget-wide v18, v10, v16 │ │ - invoke-static/range {v17 .. v18}, Lorg/tukaani/xz/BCJDecoder;->isBCJFilterID(J)Z │ + invoke-static/range {v18 .. v19}, Lorg/tukaani/xz/BCJDecoder;->isBCJFilterID(J)Z │ │ - move-result v17 │ + move-result v18 │ │ - if-eqz v17, :cond_12 │ + if-eqz v18, :cond_12 │ │ .line 169 │ - new-instance v17, Lorg/tukaani/xz/BCJDecoder; │ + new-instance v18, Lorg/tukaani/xz/BCJDecoder; │ │ - aget-wide v18, v9, v15 │ + aget-wide v20, v10, v16 │ │ - aget-object v20, v10, v15 │ + aget-object v19, v11, v16 │ │ - invoke-direct/range {v17 .. v20}, Lorg/tukaani/xz/BCJDecoder;->(J[B)V │ + move-object/from16 v0, v18 │ │ - aput-object v17, v13, v15 │ + move-wide/from16 v1, v20 │ + │ + move-object/from16 v3, v19 │ + │ + invoke-direct {v0, v1, v2, v3}, Lorg/tukaani/xz/BCJDecoder;->(J[B)V │ + │ + aput-object v18, v14, v16 │ │ goto :goto_3 │ │ .line 172 │ :cond_12 │ - new-instance v17, Lorg/tukaani/xz/UnsupportedOptionsException; │ + new-instance v18, Lorg/tukaani/xz/UnsupportedOptionsException; │ │ - new-instance v18, Ljava/lang/StringBuilder; │ + new-instance v19, Ljava/lang/StringBuilder; │ │ - invoke-direct/range {v18 .. v18}, Ljava/lang/StringBuilder;->()V │ + invoke-direct/range {v19 .. v19}, Ljava/lang/StringBuilder;->()V │ │ - const-string v19, "Unknown Filter ID " │ + const-string v20, "Unknown Filter ID " │ │ - invoke-virtual/range {v18 .. v19}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; │ + invoke-virtual/range {v19 .. v20}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; │ │ - move-result-object v18 │ + move-result-object v19 │ │ - aget-wide v19, v9, v15 │ + aget-wide v20, v10, v16 │ │ - invoke-virtual/range {v18 .. v20}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder; │ + invoke-virtual/range {v19 .. v21}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder; │ │ - move-result-object v18 │ + move-result-object v19 │ │ - invoke-virtual/range {v18 .. v18}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; │ + invoke-virtual/range {v19 .. v19}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; │ │ - move-result-object v18 │ + move-result-object v19 │ │ - invoke-direct/range {v17 .. v18}, Lorg/tukaani/xz/UnsupportedOptionsException;->(Ljava/lang/String;)V │ + invoke-direct/range {v18 .. v19}, Lorg/tukaani/xz/UnsupportedOptionsException;->(Ljava/lang/String;)V │ │ - throw v17 │ + throw v18 │ │ .line 176 │ :cond_13 │ - invoke-static {v13}, Lorg/tukaani/xz/RawCoder;->validate([Lorg/tukaani/xz/FilterCoder;)V │ + invoke-static {v14}, Lorg/tukaani/xz/RawCoder;->validate([Lorg/tukaani/xz/FilterCoder;)V │ │ .line 179 │ if-ltz p3, :cond_15 │ │ .line 180 │ - const/16 v16, 0x0 │ + const/16 v17, 0x0 │ │ .line 181 │ - .local v16, "memoryNeeded":I │ - const/4 v15, 0x0 │ + .local v17, "memoryNeeded":I │ + const/16 v16, 0x0 │ │ :goto_4 │ - array-length v0, v13 │ + array-length v0, v14 │ │ - move/from16 v17, v0 │ + move/from16 v18, v0 │ │ - move/from16 v0, v17 │ + move/from16 v0, v16 │ + │ + move/from16 v1, v18 │ │ - if-ge v15, v0, :cond_14 │ + if-ge v0, v1, :cond_14 │ │ .line 182 │ - aget-object v17, v13, v15 │ + aget-object v18, v14, v16 │ │ - invoke-interface/range {v17 .. v17}, Lorg/tukaani/xz/FilterDecoder;->getMemoryUsage()I │ + invoke-interface/range {v18 .. v18}, Lorg/tukaani/xz/FilterDecoder;->getMemoryUsage()I │ │ - move-result v17 │ + move-result v18 │ │ - add-int v16, v16, v17 │ + add-int v17, v17, v18 │ │ .line 181 │ - add-int/lit8 v15, v15, 0x1 │ + add-int/lit8 v16, v16, 0x1 │ │ goto :goto_4 │ │ .line 184 │ :cond_14 │ - move/from16 v0, v16 │ + move/from16 v0, v17 │ │ move/from16 v1, p3 │ │ if-le v0, v1, :cond_15 │ │ .line 185 │ - new-instance v17, Lorg/tukaani/xz/MemoryLimitException; │ + new-instance v18, Lorg/tukaani/xz/MemoryLimitException; │ │ - move-object/from16 v0, v17 │ + move-object/from16 v0, v18 │ │ - move/from16 v1, v16 │ + move/from16 v1, v17 │ │ move/from16 v2, p3 │ │ invoke-direct {v0, v1, v2}, Lorg/tukaani/xz/MemoryLimitException;->(II)V │ │ - throw v17 │ + throw v18 │ │ .line 190 │ - .end local v16 # "memoryNeeded":I │ + .end local v17 # "memoryNeeded":I │ :cond_15 │ - new-instance v17, Lorg/tukaani/xz/CountingInputStream; │ + new-instance v18, Lorg/tukaani/xz/CountingInputStream; │ │ - move-object/from16 v0, v17 │ + move-object/from16 v0, v18 │ │ move-object/from16 v1, p1 │ │ invoke-direct {v0, v1}, Lorg/tukaani/xz/CountingInputStream;->(Ljava/io/InputStream;)V │ │ - move-object/from16 v0, v17 │ + move-object/from16 v0, v18 │ │ move-object/from16 v1, p0 │ │ iput-object v0, v1, Lorg/tukaani/xz/BlockInputStream;->inCounted:Lorg/tukaani/xz/CountingInputStream; │ │ .line 193 │ move-object/from16 v0, p0 │ │ iget-object v0, v0, Lorg/tukaani/xz/BlockInputStream;->inCounted:Lorg/tukaani/xz/CountingInputStream; │ │ - move-object/from16 v17, v0 │ + move-object/from16 v18, v0 │ │ - move-object/from16 v0, v17 │ + move-object/from16 v0, v18 │ │ move-object/from16 v1, p0 │ │ iput-object v0, v1, Lorg/tukaani/xz/BlockInputStream;->filterChain:Ljava/io/InputStream; │ │ .line 194 │ - array-length v0, v13 │ + array-length v0, v14 │ │ - move/from16 v17, v0 │ + move/from16 v18, v0 │ │ - add-int/lit8 v15, v17, -0x1 │ + add-int/lit8 v16, v18, -0x1 │ │ :goto_5 │ - if-ltz v15, :cond_16 │ + if-ltz v16, :cond_16 │ │ .line 195 │ - aget-object v17, v13, v15 │ + aget-object v18, v14, v16 │ │ move-object/from16 v0, p0 │ │ iget-object v0, v0, Lorg/tukaani/xz/BlockInputStream;->filterChain:Ljava/io/InputStream; │ │ - move-object/from16 v18, v0 │ + move-object/from16 v19, v0 │ │ - invoke-interface/range {v17 .. v18}, Lorg/tukaani/xz/FilterDecoder;->getInputStream(Ljava/io/InputStream;)Ljava/io/InputStream; │ + invoke-interface/range {v18 .. v19}, Lorg/tukaani/xz/FilterDecoder;->getInputStream(Ljava/io/InputStream;)Ljava/io/InputStream; │ │ - move-result-object v17 │ + move-result-object v18 │ │ - move-object/from16 v0, v17 │ + move-object/from16 v0, v18 │ │ move-object/from16 v1, p0 │ │ iput-object v0, v1, Lorg/tukaani/xz/BlockInputStream;->filterChain:Ljava/io/InputStream; │ │ .line 194 │ - add-int/lit8 v15, v15, -0x1 │ + add-int/lit8 v16, v16, -0x1 │ │ goto :goto_5 │ │ .line 196 │ :cond_16 │ return-void │ .end method │ │ .method private validate()V │ - .locals 9 │ + .locals 10 │ .annotation system Ldalvik/annotation/Throws; │ value = { │ Ljava/io/IOException; │ } │ .end annotation │ │ .prologue │ - const-wide/16 v7, -0x1 │ + const-wide/16 v8, -0x1 │ │ .line 245 │ iget-object v5, p0, Lorg/tukaani/xz/BlockInputStream;->inCounted:Lorg/tukaani/xz/CountingInputStream; │ │ invoke-virtual {v5}, Lorg/tukaani/xz/CountingInputStream;->getSize()J │ │ move-result-wide v0 │ │ .line 249 │ .local v0, "compressedSize":J │ - iget-wide v5, p0, Lorg/tukaani/xz/BlockInputStream;->compressedSizeInHeader:J │ + iget-wide v6, p0, Lorg/tukaani/xz/BlockInputStream;->compressedSizeInHeader:J │ │ - cmp-long v5, v5, v7 │ + cmp-long v5, v6, v8 │ │ if-eqz v5, :cond_0 │ │ - iget-wide v5, p0, Lorg/tukaani/xz/BlockInputStream;->compressedSizeInHeader:J │ + iget-wide v6, p0, Lorg/tukaani/xz/BlockInputStream;->compressedSizeInHeader:J │ │ - cmp-long v5, v5, v0 │ + cmp-long v5, v6, v0 │ │ if-nez v5, :cond_1 │ │ :cond_0 │ - iget-wide v5, p0, Lorg/tukaani/xz/BlockInputStream;->uncompressedSizeInHeader:J │ + iget-wide v6, p0, Lorg/tukaani/xz/BlockInputStream;->uncompressedSizeInHeader:J │ │ - cmp-long v5, v5, v7 │ + cmp-long v5, v6, v8 │ │ if-eqz v5, :cond_2 │ │ - iget-wide v5, p0, Lorg/tukaani/xz/BlockInputStream;->uncompressedSizeInHeader:J │ + iget-wide v6, p0, Lorg/tukaani/xz/BlockInputStream;->uncompressedSizeInHeader:J │ │ - iget-wide v7, p0, Lorg/tukaani/xz/BlockInputStream;->uncompressedSize:J │ + iget-wide v8, p0, Lorg/tukaani/xz/BlockInputStream;->uncompressedSize:J │ │ - cmp-long v5, v5, v7 │ + cmp-long v5, v6, v8 │ │ if-eqz v5, :cond_2 │ │ .line 253 │ :cond_1 │ new-instance v5, Lorg/tukaani/xz/CorruptedInputException; │ │ @@ -998,27 +1011,27 @@ │ │ :cond_2 │ move-wide v2, v0 │ │ .line 256 │ .end local v0 # "compressedSize":J │ .local v2, "compressedSize":J │ - const-wide/16 v5, 0x1 │ + const-wide/16 v6, 0x1 │ │ - add-long v0, v2, v5 │ + add-long v0, v2, v6 │ │ .end local v2 # "compressedSize":J │ .restart local v0 # "compressedSize":J │ - const-wide/16 v5, 0x3 │ + const-wide/16 v6, 0x3 │ │ - and-long/2addr v5, v2 │ + and-long/2addr v6, v2 │ │ - const-wide/16 v7, 0x0 │ + const-wide/16 v8, 0x0 │ │ - cmp-long v5, v5, v7 │ + cmp-long v5, v6, v8 │ │ if-eqz v5, :cond_3 │ │ .line 257 │ iget-object v5, p0, Lorg/tukaani/xz/BlockInputStream;->inData:Ljava/io/DataInputStream; │ │ invoke-virtual {v5}, Ljava/io/DataInputStream;->readUnsignedByte()I │ @@ -1074,14 +1087,15 @@ │ │ invoke-virtual {v6, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; │ │ move-result-object v6 │ │ iget-object v7, p0, Lorg/tukaani/xz/BlockInputStream;->check:Lorg/tukaani/xz/check/Check; │ │ + .line 265 │ invoke-virtual {v7}, Lorg/tukaani/xz/check/Check;->getName()Ljava/lang/String; │ │ move-result-object v7 │ │ invoke-virtual {v6, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; │ │ move-result-object v6 │ @@ -1200,26 +1214,26 @@ │ │ and-int/lit16 v1, v1, 0xff │ │ goto :goto_0 │ .end method │ │ .method public read([BII)I │ - .locals 11 │ + .locals 12 │ .param p1, "buf" # [B │ .param p2, "off" # I │ .param p3, "len" # I │ .annotation system Ldalvik/annotation/Throws; │ value = { │ Ljava/io/IOException; │ } │ .end annotation │ │ .prologue │ - const-wide/16 v9, 0x0 │ + const-wide/16 v10, 0x0 │ │ const/4 v8, 0x1 │ │ const/4 v3, -0x1 │ │ .line 204 │ iget-boolean v4, p0, Lorg/tukaani/xz/BlockInputStream;->endReached:Z │ @@ -1264,27 +1278,27 @@ │ │ invoke-virtual {v4}, Lorg/tukaani/xz/CountingInputStream;->getSize()J │ │ move-result-wide v0 │ │ .line 215 │ .local v0, "compressedSize":J │ - cmp-long v4, v0, v9 │ + cmp-long v4, v0, v10 │ │ if-ltz v4, :cond_2 │ │ iget-wide v4, p0, Lorg/tukaani/xz/BlockInputStream;->compressedSizeLimit:J │ │ cmp-long v4, v0, v4 │ │ if-gtz v4, :cond_2 │ │ iget-wide v4, p0, Lorg/tukaani/xz/BlockInputStream;->uncompressedSize:J │ │ - cmp-long v4, v4, v9 │ + cmp-long v4, v4, v10 │ │ if-ltz v4, :cond_2 │ │ iget-wide v4, p0, Lorg/tukaani/xz/BlockInputStream;->uncompressedSizeInHeader:J │ │ const-wide/16 v6, -0x1 ├── smali/org/tukaani/xz/BlockOutputStream.smali │ @@ -208,14 +208,15 @@ │ │ iget v6, p0, Lorg/tukaani/xz/BlockOutputStream;->headerSize:I │ │ int-to-long v6, v6 │ │ sub-long/2addr v4, v6 │ │ + .line 82 │ invoke-virtual {p3}, Lorg/tukaani/xz/check/Check;->getSize()I │ │ move-result v6 │ │ int-to-long v6, v6 │ │ sub-long/2addr v4, v6 ├── smali/org/tukaani/xz/CountingInputStream.smali │ @@ -34,15 +34,15 @@ │ .line 43 │ iget-wide v0, p0, Lorg/tukaani/xz/CountingInputStream;->size:J │ │ return-wide v0 │ .end method │ │ .method public read()I │ - .locals 5 │ + .locals 6 │ .annotation system Ldalvik/annotation/Throws; │ value = { │ Ljava/io/IOException; │ } │ .end annotation │ │ .prologue │ @@ -55,38 +55,38 @@ │ │ .line 28 │ .local v0, "ret":I │ const/4 v1, -0x1 │ │ if-eq v0, v1, :cond_0 │ │ - iget-wide v1, p0, Lorg/tukaani/xz/CountingInputStream;->size:J │ + iget-wide v2, p0, Lorg/tukaani/xz/CountingInputStream;->size:J │ │ - const-wide/16 v3, 0x0 │ + const-wide/16 v4, 0x0 │ │ - cmp-long v1, v1, v3 │ + cmp-long v1, v2, v4 │ │ if-ltz v1, :cond_0 │ │ .line 29 │ - iget-wide v1, p0, Lorg/tukaani/xz/CountingInputStream;->size:J │ + iget-wide v2, p0, Lorg/tukaani/xz/CountingInputStream;->size:J │ │ - const-wide/16 v3, 0x1 │ + const-wide/16 v4, 0x1 │ │ - add-long/2addr v1, v3 │ + add-long/2addr v2, v4 │ │ - iput-wide v1, p0, Lorg/tukaani/xz/CountingInputStream;->size:J │ + iput-wide v2, p0, Lorg/tukaani/xz/CountingInputStream;->size:J │ │ .line 31 │ :cond_0 │ return v0 │ .end method │ │ .method public read([BII)I │ - .locals 5 │ + .locals 6 │ .param p1, "b" # [B │ .param p2, "off" # I │ .param p3, "len" # I │ .annotation system Ldalvik/annotation/Throws; │ value = { │ Ljava/io/IOException; │ } │ @@ -100,28 +100,28 @@ │ │ move-result v0 │ │ .line 36 │ .local v0, "ret":I │ if-lez v0, :cond_0 │ │ - iget-wide v1, p0, Lorg/tukaani/xz/CountingInputStream;->size:J │ + iget-wide v2, p0, Lorg/tukaani/xz/CountingInputStream;->size:J │ │ - const-wide/16 v3, 0x0 │ + const-wide/16 v4, 0x0 │ │ - cmp-long v1, v1, v3 │ + cmp-long v1, v2, v4 │ │ if-ltz v1, :cond_0 │ │ .line 37 │ - iget-wide v1, p0, Lorg/tukaani/xz/CountingInputStream;->size:J │ + iget-wide v2, p0, Lorg/tukaani/xz/CountingInputStream;->size:J │ │ - int-to-long v3, v0 │ + int-to-long v4, v0 │ │ - add-long/2addr v1, v3 │ + add-long/2addr v2, v4 │ │ - iput-wide v1, p0, Lorg/tukaani/xz/CountingInputStream;->size:J │ + iput-wide v2, p0, Lorg/tukaani/xz/CountingInputStream;->size:J │ │ .line 39 │ :cond_0 │ return v0 │ .end method ├── smali/org/tukaani/xz/IA64Options.smali │ @@ -56,23 +56,23 @@ │ │ move-result v0 │ │ return v0 │ .end method │ │ .method getFilterEncoder()Lorg/tukaani/xz/FilterEncoder; │ - .locals 3 │ + .locals 4 │ │ .prologue │ .line 34 │ new-instance v0, Lorg/tukaani/xz/BCJEncoder; │ │ - const-wide/16 v1, 0x6 │ + const-wide/16 v2, 0x6 │ │ - invoke-direct {v0, p0, v1, v2}, Lorg/tukaani/xz/BCJEncoder;->(Lorg/tukaani/xz/BCJOptions;J)V │ + invoke-direct {v0, p0, v2, v3}, Lorg/tukaani/xz/BCJEncoder;->(Lorg/tukaani/xz/BCJOptions;J)V │ │ return-object v0 │ .end method │ │ .method public getInputStream(Ljava/io/InputStream;)Ljava/io/InputStream; │ .locals 4 │ .param p1, "in" # Ljava/io/InputStream; │ @@ -125,15 +125,14 @@ │ move-result v0 │ │ return v0 │ .end method │ │ .method public bridge synthetic setStartOffset(I)V │ .locals 0 │ - .param p1, "x0" # I │ .annotation system Ldalvik/annotation/Throws; │ value = { │ Lorg/tukaani/xz/UnsupportedOptionsException; │ } │ .end annotation │ │ .prologue ├── smali/org/tukaani/xz/LZMA2Options.smali │ @@ -373,21 +373,24 @@ │ │ .prologue │ .line 527 │ iget v0, p0, Lorg/tukaani/xz/LZMA2Options;->mode:I │ │ if-nez v0, :cond_0 │ │ + .line 528 │ invoke-static {}, Lorg/tukaani/xz/UncompressedLZMA2OutputStream;->getMemoryUsage()I │ │ move-result v0 │ │ + .line 527 │ :goto_0 │ return v0 │ │ + .line 529 │ :cond_0 │ invoke-static {p0}, Lorg/tukaani/xz/LZMA2OutputStream;->getMemoryUsage(Lorg/tukaani/xz/LZMA2Options;)I │ │ move-result v0 │ │ goto :goto_0 │ .end method ├── smali/org/tukaani/xz/LZMA2OutputStream.smali │ @@ -136,42 +136,47 @@ │ │ move-result v6 │ │ .line 62 │ .local v6, "extraSizeBefore":I │ iget-object v0, p0, Lorg/tukaani/xz/LZMA2OutputStream;->rc:Lorg/tukaani/xz/rangecoder/RangeEncoder; │ │ + .line 63 │ invoke-virtual {p2}, Lorg/tukaani/xz/LZMA2Options;->getLc()I │ │ move-result v1 │ │ invoke-virtual {p2}, Lorg/tukaani/xz/LZMA2Options;->getLp()I │ │ move-result v2 │ │ invoke-virtual {p2}, Lorg/tukaani/xz/LZMA2Options;->getPb()I │ │ move-result v3 │ │ + .line 64 │ invoke-virtual {p2}, Lorg/tukaani/xz/LZMA2Options;->getMode()I │ │ move-result v4 │ │ + .line 65 │ invoke-virtual {p2}, Lorg/tukaani/xz/LZMA2Options;->getNiceLen()I │ │ move-result v7 │ │ + .line 66 │ invoke-virtual {p2}, Lorg/tukaani/xz/LZMA2Options;->getMatchFinder()I │ │ move-result v8 │ │ invoke-virtual {p2}, Lorg/tukaani/xz/LZMA2Options;->getDepthLimit()I │ │ move-result v9 │ │ + .line 62 │ invoke-static/range {v0 .. v9}, Lorg/tukaani/xz/lzma/LZMAEncoder;->getInstance(Lorg/tukaani/xz/rangecoder/RangeEncoder;IIIIIIIII)Lorg/tukaani/xz/lzma/LZMAEncoder; │ │ move-result-object v0 │ │ iput-object v0, p0, Lorg/tukaani/xz/LZMA2OutputStream;->lzma:Lorg/tukaani/xz/lzma/LZMAEncoder; │ │ .line 68 │ @@ -271,18 +276,20 @@ │ │ .line 47 │ .local v1, "extraSizeBefore":I │ invoke-virtual {p0}, Lorg/tukaani/xz/LZMA2Options;->getMode()I │ │ move-result v2 │ │ + .line 49 │ invoke-virtual {p0}, Lorg/tukaani/xz/LZMA2Options;->getMatchFinder()I │ │ move-result v3 │ │ + .line 47 │ invoke-static {v2, v0, v1, v3}, Lorg/tukaani/xz/lzma/LZMAEncoder;->getMemoryUsage(IIII)I │ │ move-result v2 │ │ add-int/lit8 v2, v2, 0x46 │ │ return v2 ├── smali/org/tukaani/xz/LZMAInputStream.smali │ @@ -197,15 +197,15 @@ │ invoke-direct/range {v0 .. v6}, Lorg/tukaani/xz/LZMAInputStream;->initialize(Ljava/io/InputStream;JBI[B)V │ │ .line 239 │ return-void │ .end method │ │ .method public constructor (Ljava/io/InputStream;JBI)V │ - .locals 7 │ + .locals 8 │ .param p1, "in" # Ljava/io/InputStream; │ .param p2, "uncompSize" # J │ .param p4, "propsByte" # B │ .param p5, "dictSize" # I │ .annotation system Ldalvik/annotation/Throws; │ value = { │ Ljava/io/IOException; │ @@ -240,15 +240,15 @@ │ invoke-direct/range {v0 .. v6}, Lorg/tukaani/xz/LZMAInputStream;->initialize(Ljava/io/InputStream;JBI[B)V │ │ .line 290 │ return-void │ .end method │ │ .method public constructor (Ljava/io/InputStream;JBI[B)V │ - .locals 1 │ + .locals 2 │ .param p1, "in" # Ljava/io/InputStream; │ .param p2, "uncompSize" # J │ .param p4, "propsByte" # B │ .param p5, "dictSize" # I │ .param p6, "presetDict" # [B │ .annotation system Ldalvik/annotation/Throws; │ value = { │ @@ -274,15 +274,15 @@ │ invoke-direct/range {p0 .. p6}, Lorg/tukaani/xz/LZMAInputStream;->initialize(Ljava/io/InputStream;JBI[B)V │ │ .line 328 │ return-void │ .end method │ │ .method public constructor (Ljava/io/InputStream;JIIII[B)V │ - .locals 1 │ + .locals 2 │ .param p1, "in" # Ljava/io/InputStream; │ .param p2, "uncompSize" # J │ .param p4, "lc" # I │ .param p5, "lp" # I │ .param p6, "pb" # I │ .param p7, "dictSize" # I │ .param p8, "presetDict" # [B │ @@ -777,28 +777,28 @@ │ │ and-int/lit16 v1, v1, 0xff │ │ goto :goto_0 │ .end method │ │ .method public read([BII)I │ - .locals 11 │ + .locals 12 │ .param p1, "buf" # [B │ .param p2, "off" # I │ .param p3, "len" # I │ .annotation system Ldalvik/annotation/Throws; │ value = { │ Ljava/io/IOException; │ } │ .end annotation │ │ .prologue │ const/4 v4, -0x1 │ │ - const-wide/16 v9, 0x0 │ + const-wide/16 v10, 0x0 │ │ .line 470 │ if-ltz p2, :cond_0 │ │ if-ltz p3, :cond_0 │ │ add-int v5, p2, p3 │ @@ -879,32 +879,32 @@ │ │ .line 492 │ move v1, p3 │ │ .line 493 │ .local v1, "copySizeMax":I │ :try_start_0 │ - iget-wide v5, p0, Lorg/tukaani/xz/LZMAInputStream;->remainingSize:J │ + iget-wide v6, p0, Lorg/tukaani/xz/LZMAInputStream;->remainingSize:J │ │ - cmp-long v5, v5, v9 │ + cmp-long v5, v6, v10 │ │ if-ltz v5, :cond_8 │ │ - iget-wide v5, p0, Lorg/tukaani/xz/LZMAInputStream;->remainingSize:J │ + iget-wide v6, p0, Lorg/tukaani/xz/LZMAInputStream;->remainingSize:J │ │ - int-to-long v7, p3 │ + int-to-long v8, p3 │ │ - cmp-long v5, v5, v7 │ + cmp-long v5, v6, v8 │ │ if-gez v5, :cond_8 │ │ .line 494 │ - iget-wide v5, p0, Lorg/tukaani/xz/LZMAInputStream;->remainingSize:J │ + iget-wide v6, p0, Lorg/tukaani/xz/LZMAInputStream;->remainingSize:J │ │ - long-to-int v1, v5 │ + long-to-int v1, v6 │ │ .line 496 │ :cond_8 │ iget-object v5, p0, Lorg/tukaani/xz/LZMAInputStream;->lz:Lorg/tukaani/xz/lz/LZDecoder; │ │ invoke-virtual {v5, v1}, Lorg/tukaani/xz/lz/LZDecoder;->setLimit(I)V │ :try_end_0 │ @@ -935,37 +935,37 @@ │ .line 521 │ sub-int/2addr p3, v0 │ │ .line 522 │ add-int/2addr v3, v0 │ │ .line 524 │ - iget-wide v5, p0, Lorg/tukaani/xz/LZMAInputStream;->remainingSize:J │ + iget-wide v6, p0, Lorg/tukaani/xz/LZMAInputStream;->remainingSize:J │ │ - cmp-long v5, v5, v9 │ + cmp-long v5, v6, v10 │ │ if-ltz v5, :cond_c │ │ .line 526 │ - iget-wide v5, p0, Lorg/tukaani/xz/LZMAInputStream;->remainingSize:J │ + iget-wide v6, p0, Lorg/tukaani/xz/LZMAInputStream;->remainingSize:J │ │ - int-to-long v7, v0 │ + int-to-long v8, v0 │ │ - sub-long/2addr v5, v7 │ + sub-long/2addr v6, v8 │ │ - iput-wide v5, p0, Lorg/tukaani/xz/LZMAInputStream;->remainingSize:J │ + iput-wide v6, p0, Lorg/tukaani/xz/LZMAInputStream;->remainingSize:J │ │ .line 527 │ sget-boolean v5, Lorg/tukaani/xz/LZMAInputStream;->$assertionsDisabled:Z │ │ if-nez v5, :cond_b │ │ - iget-wide v5, p0, Lorg/tukaani/xz/LZMAInputStream;->remainingSize:J │ + iget-wide v6, p0, Lorg/tukaani/xz/LZMAInputStream;->remainingSize:J │ │ - cmp-long v5, v5, v9 │ + cmp-long v5, v6, v10 │ │ if-gez v5, :cond_b │ │ new-instance v4, Ljava/lang/AssertionError; │ │ invoke-direct {v4}, Ljava/lang/AssertionError;->()V │ │ @@ -989,19 +989,19 @@ │ .end local v2 # "e":Ljava/io/IOException; │ :catch_1 │ move-exception v2 │ │ .line 506 │ .local v2, "e":Lorg/tukaani/xz/CorruptedInputException; │ :try_start_3 │ - iget-wide v5, p0, Lorg/tukaani/xz/LZMAInputStream;->remainingSize:J │ + iget-wide v6, p0, Lorg/tukaani/xz/LZMAInputStream;->remainingSize:J │ │ - const-wide/16 v7, -0x1 │ + const-wide/16 v8, -0x1 │ │ - cmp-long v5, v5, v7 │ + cmp-long v5, v6, v8 │ │ if-nez v5, :cond_9 │ │ iget-object v5, p0, Lorg/tukaani/xz/LZMAInputStream;->lzma:Lorg/tukaani/xz/lzma/LZMADecoder; │ │ invoke-virtual {v5}, Lorg/tukaani/xz/lzma/LZMADecoder;->endMarkerDetected()Z │ │ @@ -1026,17 +1026,17 @@ │ │ goto :goto_1 │ │ .line 529 │ .end local v2 # "e":Lorg/tukaani/xz/CorruptedInputException; │ .restart local v0 # "copiedSize":I │ :cond_b │ - iget-wide v5, p0, Lorg/tukaani/xz/LZMAInputStream;->remainingSize:J │ + iget-wide v6, p0, Lorg/tukaani/xz/LZMAInputStream;->remainingSize:J │ │ - cmp-long v5, v5, v9 │ + cmp-long v5, v6, v10 │ │ if-nez v5, :cond_c │ │ .line 530 │ const/4 v5, 0x1 │ │ iput-boolean v5, p0, Lorg/tukaani/xz/LZMAInputStream;->endReached:Z ├── smali/org/tukaani/xz/PowerPCOptions.smali │ @@ -56,23 +56,23 @@ │ │ move-result v0 │ │ return v0 │ .end method │ │ .method getFilterEncoder()Lorg/tukaani/xz/FilterEncoder; │ - .locals 3 │ + .locals 4 │ │ .prologue │ .line 34 │ new-instance v0, Lorg/tukaani/xz/BCJEncoder; │ │ - const-wide/16 v1, 0x5 │ + const-wide/16 v2, 0x5 │ │ - invoke-direct {v0, p0, v1, v2}, Lorg/tukaani/xz/BCJEncoder;->(Lorg/tukaani/xz/BCJOptions;J)V │ + invoke-direct {v0, p0, v2, v3}, Lorg/tukaani/xz/BCJEncoder;->(Lorg/tukaani/xz/BCJOptions;J)V │ │ return-object v0 │ .end method │ │ .method public getInputStream(Ljava/io/InputStream;)Ljava/io/InputStream; │ .locals 4 │ .param p1, "in" # Ljava/io/InputStream; │ @@ -125,15 +125,14 @@ │ move-result v0 │ │ return v0 │ .end method │ │ .method public bridge synthetic setStartOffset(I)V │ .locals 0 │ - .param p1, "x0" # I │ .annotation system Ldalvik/annotation/Throws; │ value = { │ Lorg/tukaani/xz/UnsupportedOptionsException; │ } │ .end annotation │ │ .prologue ├── smali/org/tukaani/xz/SPARCOptions.smali │ @@ -56,23 +56,23 @@ │ │ move-result v0 │ │ return v0 │ .end method │ │ .method getFilterEncoder()Lorg/tukaani/xz/FilterEncoder; │ - .locals 3 │ + .locals 4 │ │ .prologue │ .line 34 │ new-instance v0, Lorg/tukaani/xz/BCJEncoder; │ │ - const-wide/16 v1, 0x9 │ + const-wide/16 v2, 0x9 │ │ - invoke-direct {v0, p0, v1, v2}, Lorg/tukaani/xz/BCJEncoder;->(Lorg/tukaani/xz/BCJOptions;J)V │ + invoke-direct {v0, p0, v2, v3}, Lorg/tukaani/xz/BCJEncoder;->(Lorg/tukaani/xz/BCJOptions;J)V │ │ return-object v0 │ .end method │ │ .method public getInputStream(Ljava/io/InputStream;)Ljava/io/InputStream; │ .locals 4 │ .param p1, "in" # Ljava/io/InputStream; │ @@ -125,15 +125,14 @@ │ move-result v0 │ │ return v0 │ .end method │ │ .method public bridge synthetic setStartOffset(I)V │ .locals 0 │ - .param p1, "x0" # I │ .annotation system Ldalvik/annotation/Throws; │ value = { │ Lorg/tukaani/xz/UnsupportedOptionsException; │ } │ .end annotation │ │ .prologue ├── smali/org/tukaani/xz/SeekableXZInputStream.smali │ @@ -86,762 +86,763 @@ │ invoke-direct {p0, p1, v0}, Lorg/tukaani/xz/SeekableXZInputStream;->(Lorg/tukaani/xz/SeekableInputStream;I)V │ │ .line 199 │ return-void │ .end method │ │ .method public constructor (Lorg/tukaani/xz/SeekableInputStream;I)V │ - .locals 25 │ + .locals 26 │ .param p1, "in" # Lorg/tukaani/xz/SeekableInputStream; │ .param p2, "memoryLimit" # I │ .annotation system Ldalvik/annotation/Throws; │ value = { │ Ljava/io/IOException; │ } │ .end annotation │ │ .prologue │ .line 235 │ invoke-direct/range {p0 .. p0}, Lorg/tukaani/xz/SeekableInputStream;->()V │ │ .line 93 │ - const/4 v4, 0x0 │ + const/4 v6, 0x0 │ │ move-object/from16 v0, p0 │ │ - iput v4, v0, Lorg/tukaani/xz/SeekableXZInputStream;->indexMemoryUsage:I │ + iput v6, v0, Lorg/tukaani/xz/SeekableXZInputStream;->indexMemoryUsage:I │ │ .line 100 │ - new-instance v4, Ljava/util/ArrayList; │ + new-instance v6, Ljava/util/ArrayList; │ │ - invoke-direct {v4}, Ljava/util/ArrayList;->()V │ + invoke-direct {v6}, Ljava/util/ArrayList;->()V │ │ move-object/from16 v0, p0 │ │ - iput-object v4, v0, Lorg/tukaani/xz/SeekableXZInputStream;->streams:Ljava/util/ArrayList; │ + iput-object v6, v0, Lorg/tukaani/xz/SeekableXZInputStream;->streams:Ljava/util/ArrayList; │ │ .line 105 │ - const/4 v4, 0x0 │ + const/4 v6, 0x0 │ │ move-object/from16 v0, p0 │ │ - iput v4, v0, Lorg/tukaani/xz/SeekableXZInputStream;->checkTypes:I │ + iput v6, v0, Lorg/tukaani/xz/SeekableXZInputStream;->checkTypes:I │ │ .line 110 │ - const-wide/16 v21, 0x0 │ + const-wide/16 v22, 0x0 │ │ - move-wide/from16 v0, v21 │ + move-wide/from16 v0, v22 │ │ move-object/from16 v2, p0 │ │ iput-wide v0, v2, Lorg/tukaani/xz/SeekableXZInputStream;->uncompressedSize:J │ │ .line 115 │ - const-wide/16 v21, 0x0 │ + const-wide/16 v22, 0x0 │ │ - move-wide/from16 v0, v21 │ + move-wide/from16 v0, v22 │ │ move-object/from16 v2, p0 │ │ iput-wide v0, v2, Lorg/tukaani/xz/SeekableXZInputStream;->largestBlockSize:J │ │ .line 120 │ - const/4 v4, 0x0 │ + const/4 v6, 0x0 │ │ move-object/from16 v0, p0 │ │ - iput v4, v0, Lorg/tukaani/xz/SeekableXZInputStream;->blockCount:I │ + iput v6, v0, Lorg/tukaani/xz/SeekableXZInputStream;->blockCount:I │ │ .line 143 │ - const/4 v4, 0x0 │ + const/4 v6, 0x0 │ │ move-object/from16 v0, p0 │ │ - iput-object v4, v0, Lorg/tukaani/xz/SeekableXZInputStream;->blockDecoder:Lorg/tukaani/xz/BlockInputStream; │ + iput-object v6, v0, Lorg/tukaani/xz/SeekableXZInputStream;->blockDecoder:Lorg/tukaani/xz/BlockInputStream; │ │ .line 148 │ - const-wide/16 v21, 0x0 │ + const-wide/16 v22, 0x0 │ │ - move-wide/from16 v0, v21 │ + move-wide/from16 v0, v22 │ │ move-object/from16 v2, p0 │ │ iput-wide v0, v2, Lorg/tukaani/xz/SeekableXZInputStream;->curPos:J │ │ .line 159 │ - const/4 v4, 0x0 │ + const/4 v6, 0x0 │ │ move-object/from16 v0, p0 │ │ - iput-boolean v4, v0, Lorg/tukaani/xz/SeekableXZInputStream;->seekNeeded:Z │ + iput-boolean v6, v0, Lorg/tukaani/xz/SeekableXZInputStream;->seekNeeded:Z │ │ .line 165 │ - const/4 v4, 0x0 │ + const/4 v6, 0x0 │ │ move-object/from16 v0, p0 │ │ - iput-boolean v4, v0, Lorg/tukaani/xz/SeekableXZInputStream;->endReached:Z │ + iput-boolean v6, v0, Lorg/tukaani/xz/SeekableXZInputStream;->endReached:Z │ │ .line 170 │ - const/4 v4, 0x0 │ + const/4 v6, 0x0 │ │ move-object/from16 v0, p0 │ │ - iput-object v4, v0, Lorg/tukaani/xz/SeekableXZInputStream;->exception:Ljava/io/IOException; │ + iput-object v6, v0, Lorg/tukaani/xz/SeekableXZInputStream;->exception:Ljava/io/IOException; │ │ .line 236 │ move-object/from16 v0, p1 │ │ move-object/from16 v1, p0 │ │ iput-object v0, v1, Lorg/tukaani/xz/SeekableXZInputStream;->in:Lorg/tukaani/xz/SeekableInputStream; │ │ .line 237 │ - new-instance v14, Ljava/io/DataInputStream; │ + new-instance v15, Ljava/io/DataInputStream; │ │ move-object/from16 v0, p1 │ │ - invoke-direct {v14, v0}, Ljava/io/DataInputStream;->(Ljava/io/InputStream;)V │ + invoke-direct {v15, v0}, Ljava/io/DataInputStream;->(Ljava/io/InputStream;)V │ │ .line 241 │ - .local v14, "inData":Ljava/io/DataInputStream; │ - const-wide/16 v21, 0x0 │ + .local v15, "inData":Ljava/io/DataInputStream; │ + const-wide/16 v22, 0x0 │ │ move-object/from16 v0, p1 │ │ - move-wide/from16 v1, v21 │ + move-wide/from16 v1, v22 │ │ invoke-virtual {v0, v1, v2}, Lorg/tukaani/xz/SeekableInputStream;->seek(J)V │ │ .line 242 │ - sget-object v4, Lorg/tukaani/xz/XZ;->HEADER_MAGIC:[B │ + sget-object v6, Lorg/tukaani/xz/XZ;->HEADER_MAGIC:[B │ │ - array-length v4, v4 │ + array-length v6, v6 │ │ - new-array v9, v4, [B │ + new-array v4, v6, [B │ │ .line 243 │ - .local v9, "buf":[B │ - invoke-virtual {v14, v9}, Ljava/io/DataInputStream;->readFully([B)V │ + .local v4, "buf":[B │ + invoke-virtual {v15, v4}, Ljava/io/DataInputStream;->readFully([B)V │ │ .line 244 │ - sget-object v4, Lorg/tukaani/xz/XZ;->HEADER_MAGIC:[B │ + sget-object v6, Lorg/tukaani/xz/XZ;->HEADER_MAGIC:[B │ │ - invoke-static {v9, v4}, Ljava/util/Arrays;->equals([B[B)Z │ + invoke-static {v4, v6}, Ljava/util/Arrays;->equals([B[B)Z │ │ - move-result v4 │ + move-result v6 │ │ - if-nez v4, :cond_0 │ + if-nez v6, :cond_0 │ │ .line 245 │ - new-instance v4, Lorg/tukaani/xz/XZFormatException; │ + new-instance v6, Lorg/tukaani/xz/XZFormatException; │ │ - invoke-direct {v4}, Lorg/tukaani/xz/XZFormatException;->()V │ + invoke-direct {v6}, Lorg/tukaani/xz/XZFormatException;->()V │ │ - throw v4 │ + throw v6 │ │ .line 249 │ :cond_0 │ invoke-virtual/range {p1 .. p1}, Lorg/tukaani/xz/SeekableInputStream;->length()J │ │ - move-result-wide v17 │ + move-result-wide v18 │ │ .line 250 │ - .local v17, "pos":J │ - const-wide/16 v21, 0x3 │ + .local v18, "pos":J │ + const-wide/16 v22, 0x3 │ │ - and-long v21, v21, v17 │ + and-long v22, v22, v18 │ │ - const-wide/16 v23, 0x0 │ + const-wide/16 v24, 0x0 │ │ - cmp-long v4, v21, v23 │ + cmp-long v6, v22, v24 │ │ - if-eqz v4, :cond_1 │ + if-eqz v6, :cond_1 │ │ .line 251 │ - new-instance v4, Lorg/tukaani/xz/CorruptedInputException; │ + new-instance v6, Lorg/tukaani/xz/CorruptedInputException; │ │ - const-string v8, "XZ file size is not a multiple of 4 bytes" │ + const-string v10, "XZ file size is not a multiple of 4 bytes" │ │ - invoke-direct {v4, v8}, Lorg/tukaani/xz/CorruptedInputException;->(Ljava/lang/String;)V │ + invoke-direct {v6, v10}, Lorg/tukaani/xz/CorruptedInputException;->(Ljava/lang/String;)V │ │ - throw v4 │ + throw v6 │ │ .line 255 │ :cond_1 │ - const/16 v4, 0xc │ + const/16 v6, 0xc │ │ - new-array v9, v4, [B │ + new-array v4, v6, [B │ │ .line 256 │ - const-wide/16 v6, 0x0 │ + const-wide/16 v8, 0x0 │ │ .line 258 │ - .local v6, "streamPadding":J │ + .local v8, "streamPadding":J │ :goto_0 │ - const-wide/16 v21, 0x0 │ + const-wide/16 v22, 0x0 │ │ - cmp-long v4, v17, v21 │ + cmp-long v6, v18, v22 │ │ - if-lez v4, :cond_c │ + if-lez v6, :cond_c │ │ .line 259 │ - const-wide/16 v21, 0xc │ + const-wide/16 v22, 0xc │ │ - cmp-long v4, v17, v21 │ + cmp-long v6, v18, v22 │ │ - if-gez v4, :cond_2 │ + if-gez v6, :cond_2 │ │ .line 260 │ - new-instance v4, Lorg/tukaani/xz/CorruptedInputException; │ + new-instance v6, Lorg/tukaani/xz/CorruptedInputException; │ │ - invoke-direct {v4}, Lorg/tukaani/xz/CorruptedInputException;->()V │ + invoke-direct {v6}, Lorg/tukaani/xz/CorruptedInputException;->()V │ │ - throw v4 │ + throw v6 │ │ .line 263 │ :cond_2 │ - const-wide/16 v21, 0xc │ + const-wide/16 v22, 0xc │ │ - sub-long v21, v17, v21 │ + sub-long v22, v18, v22 │ │ move-object/from16 v0, p1 │ │ - move-wide/from16 v1, v21 │ + move-wide/from16 v1, v22 │ │ invoke-virtual {v0, v1, v2}, Lorg/tukaani/xz/SeekableInputStream;->seek(J)V │ │ .line 264 │ - invoke-virtual {v14, v9}, Ljava/io/DataInputStream;->readFully([B)V │ + invoke-virtual {v15, v4}, Ljava/io/DataInputStream;->readFully([B)V │ │ .line 269 │ - const/16 v4, 0x8 │ + const/16 v6, 0x8 │ │ - aget-byte v4, v9, v4 │ + aget-byte v6, v4, v6 │ │ - if-nez v4, :cond_3 │ + if-nez v6, :cond_3 │ │ - const/16 v4, 0x9 │ + const/16 v6, 0x9 │ │ - aget-byte v4, v9, v4 │ + aget-byte v6, v4, v6 │ │ - if-nez v4, :cond_3 │ + if-nez v6, :cond_3 │ │ - const/16 v4, 0xa │ + const/16 v6, 0xa │ │ - aget-byte v4, v9, v4 │ + aget-byte v6, v4, v6 │ │ - if-nez v4, :cond_3 │ + if-nez v6, :cond_3 │ │ - const/16 v4, 0xb │ + const/16 v6, 0xb │ │ - aget-byte v4, v9, v4 │ + aget-byte v6, v4, v6 │ │ - if-nez v4, :cond_3 │ + if-nez v6, :cond_3 │ │ .line 271 │ - const-wide/16 v21, 0x4 │ + const-wide/16 v22, 0x4 │ │ - add-long v6, v6, v21 │ + add-long v8, v8, v22 │ │ .line 272 │ - const-wide/16 v21, 0x4 │ + const-wide/16 v22, 0x4 │ │ - sub-long v17, v17, v21 │ + sub-long v18, v18, v22 │ │ .line 273 │ goto :goto_0 │ │ .line 277 │ :cond_3 │ - const-wide/16 v21, 0xc │ + const-wide/16 v22, 0xc │ │ - sub-long v17, v17, v21 │ + sub-long v18, v18, v22 │ │ .line 281 │ - invoke-static {v9}, Lorg/tukaani/xz/common/DecoderUtil;->decodeStreamFooter([B)Lorg/tukaani/xz/common/StreamFlags; │ + invoke-static {v4}, Lorg/tukaani/xz/common/DecoderUtil;->decodeStreamFooter([B)Lorg/tukaani/xz/common/StreamFlags; │ │ - move-result-object v5 │ + move-result-object v7 │ │ .line 282 │ - .local v5, "streamFooter":Lorg/tukaani/xz/common/StreamFlags; │ - iget-wide v0, v5, Lorg/tukaani/xz/common/StreamFlags;->backwardSize:J │ + .local v7, "streamFooter":Lorg/tukaani/xz/common/StreamFlags; │ + iget-wide v0, v7, Lorg/tukaani/xz/common/StreamFlags;->backwardSize:J │ │ - move-wide/from16 v21, v0 │ + move-wide/from16 v22, v0 │ │ - cmp-long v4, v21, v17 │ + cmp-long v6, v22, v18 │ │ - if-ltz v4, :cond_4 │ + if-ltz v6, :cond_4 │ │ .line 283 │ - new-instance v4, Lorg/tukaani/xz/CorruptedInputException; │ + new-instance v6, Lorg/tukaani/xz/CorruptedInputException; │ │ - const-string v8, "Backward Size in XZ Stream Footer is too big" │ + const-string v10, "Backward Size in XZ Stream Footer is too big" │ │ - invoke-direct {v4, v8}, Lorg/tukaani/xz/CorruptedInputException;->(Ljava/lang/String;)V │ + invoke-direct {v6, v10}, Lorg/tukaani/xz/CorruptedInputException;->(Ljava/lang/String;)V │ │ - throw v4 │ + throw v6 │ │ .line 288 │ :cond_4 │ - iget v4, v5, Lorg/tukaani/xz/common/StreamFlags;->checkType:I │ + iget v6, v7, Lorg/tukaani/xz/common/StreamFlags;->checkType:I │ │ - invoke-static {v4}, Lorg/tukaani/xz/check/Check;->getInstance(I)Lorg/tukaani/xz/check/Check; │ + invoke-static {v6}, Lorg/tukaani/xz/check/Check;->getInstance(I)Lorg/tukaani/xz/check/Check; │ │ - move-result-object v4 │ + move-result-object v6 │ │ move-object/from16 v0, p0 │ │ - iput-object v4, v0, Lorg/tukaani/xz/SeekableXZInputStream;->check:Lorg/tukaani/xz/check/Check; │ + iput-object v6, v0, Lorg/tukaani/xz/SeekableXZInputStream;->check:Lorg/tukaani/xz/check/Check; │ │ .line 291 │ move-object/from16 v0, p0 │ │ - iget v4, v0, Lorg/tukaani/xz/SeekableXZInputStream;->checkTypes:I │ + iget v6, v0, Lorg/tukaani/xz/SeekableXZInputStream;->checkTypes:I │ │ - const/4 v8, 0x1 │ + const/4 v10, 0x1 │ │ - iget v0, v5, Lorg/tukaani/xz/common/StreamFlags;->checkType:I │ + iget v0, v7, Lorg/tukaani/xz/common/StreamFlags;->checkType:I │ │ - move/from16 v21, v0 │ + move/from16 v22, v0 │ │ - shl-int v8, v8, v21 │ + shl-int v10, v10, v22 │ │ - or-int/2addr v4, v8 │ + or-int/2addr v6, v10 │ │ move-object/from16 v0, p0 │ │ - iput v4, v0, Lorg/tukaani/xz/SeekableXZInputStream;->checkTypes:I │ + iput v6, v0, Lorg/tukaani/xz/SeekableXZInputStream;->checkTypes:I │ │ .line 294 │ - iget-wide v0, v5, Lorg/tukaani/xz/common/StreamFlags;->backwardSize:J │ + iget-wide v0, v7, Lorg/tukaani/xz/common/StreamFlags;->backwardSize:J │ │ - move-wide/from16 v21, v0 │ + move-wide/from16 v22, v0 │ │ - sub-long v21, v17, v21 │ + sub-long v22, v18, v22 │ │ move-object/from16 v0, p1 │ │ - move-wide/from16 v1, v21 │ + move-wide/from16 v1, v22 │ │ invoke-virtual {v0, v1, v2}, Lorg/tukaani/xz/SeekableInputStream;->seek(J)V │ │ .line 299 │ :try_start_0 │ - new-instance v3, Lorg/tukaani/xz/index/IndexDecoder; │ + new-instance v5, Lorg/tukaani/xz/index/IndexDecoder; │ │ - move-object/from16 v4, p1 │ + move-object/from16 v6, p1 │ │ - move/from16 v8, p2 │ + move/from16 v10, p2 │ │ - invoke-direct/range {v3 .. v8}, Lorg/tukaani/xz/index/IndexDecoder;->(Lorg/tukaani/xz/SeekableInputStream;Lorg/tukaani/xz/common/StreamFlags;JI)V │ + invoke-direct/range {v5 .. v10}, Lorg/tukaani/xz/index/IndexDecoder;->(Lorg/tukaani/xz/SeekableInputStream;Lorg/tukaani/xz/common/StreamFlags;JI)V │ :try_end_0 │ .catch Lorg/tukaani/xz/MemoryLimitException; {:try_start_0 .. :try_end_0} :catch_0 │ │ .line 311 │ - .local v3, "index":Lorg/tukaani/xz/index/IndexDecoder; │ + .local v5, "index":Lorg/tukaani/xz/index/IndexDecoder; │ move-object/from16 v0, p0 │ │ - iget v4, v0, Lorg/tukaani/xz/SeekableXZInputStream;->indexMemoryUsage:I │ + iget v6, v0, Lorg/tukaani/xz/SeekableXZInputStream;->indexMemoryUsage:I │ │ - invoke-virtual {v3}, Lorg/tukaani/xz/index/IndexDecoder;->getMemoryUsage()I │ + invoke-virtual {v5}, Lorg/tukaani/xz/index/IndexDecoder;->getMemoryUsage()I │ │ - move-result v8 │ + move-result v10 │ │ - add-int/2addr v4, v8 │ + add-int/2addr v6, v10 │ │ move-object/from16 v0, p0 │ │ - iput v4, v0, Lorg/tukaani/xz/SeekableXZInputStream;->indexMemoryUsage:I │ + iput v6, v0, Lorg/tukaani/xz/SeekableXZInputStream;->indexMemoryUsage:I │ │ .line 312 │ if-ltz p2, :cond_6 │ │ .line 313 │ - invoke-virtual {v3}, Lorg/tukaani/xz/index/IndexDecoder;->getMemoryUsage()I │ + invoke-virtual {v5}, Lorg/tukaani/xz/index/IndexDecoder;->getMemoryUsage()I │ │ - move-result v4 │ + move-result v6 │ │ - sub-int p2, p2, v4 │ + sub-int p2, p2, v6 │ │ .line 314 │ - sget-boolean v4, Lorg/tukaani/xz/SeekableXZInputStream;->$assertionsDisabled:Z │ + sget-boolean v6, Lorg/tukaani/xz/SeekableXZInputStream;->$assertionsDisabled:Z │ │ - if-nez v4, :cond_6 │ + if-nez v6, :cond_6 │ │ if-gez p2, :cond_6 │ │ - new-instance v4, Ljava/lang/AssertionError; │ + new-instance v6, Ljava/lang/AssertionError; │ │ - invoke-direct {v4}, Ljava/lang/AssertionError;->()V │ + invoke-direct {v6}, Ljava/lang/AssertionError;->()V │ │ - throw v4 │ + throw v6 │ │ .line 301 │ - .end local v3 # "index":Lorg/tukaani/xz/index/IndexDecoder; │ + .end local v5 # "index":Lorg/tukaani/xz/index/IndexDecoder; │ :catch_0 │ - move-exception v11 │ + move-exception v12 │ │ .line 304 │ - .local v11, "e":Lorg/tukaani/xz/MemoryLimitException; │ - sget-boolean v4, Lorg/tukaani/xz/SeekableXZInputStream;->$assertionsDisabled:Z │ + .local v12, "e":Lorg/tukaani/xz/MemoryLimitException; │ + sget-boolean v6, Lorg/tukaani/xz/SeekableXZInputStream;->$assertionsDisabled:Z │ │ - if-nez v4, :cond_5 │ + if-nez v6, :cond_5 │ │ if-gez p2, :cond_5 │ │ - new-instance v4, Ljava/lang/AssertionError; │ + new-instance v6, Ljava/lang/AssertionError; │ │ - invoke-direct {v4}, Ljava/lang/AssertionError;->()V │ + invoke-direct {v6}, Ljava/lang/AssertionError;->()V │ │ - throw v4 │ + throw v6 │ │ .line 305 │ :cond_5 │ - new-instance v4, Lorg/tukaani/xz/MemoryLimitException; │ + new-instance v6, Lorg/tukaani/xz/MemoryLimitException; │ │ - invoke-virtual {v11}, Lorg/tukaani/xz/MemoryLimitException;->getMemoryNeeded()I │ + .line 306 │ + invoke-virtual {v12}, Lorg/tukaani/xz/MemoryLimitException;->getMemoryNeeded()I │ │ - move-result v8 │ + move-result v10 │ │ move-object/from16 v0, p0 │ │ iget v0, v0, Lorg/tukaani/xz/SeekableXZInputStream;->indexMemoryUsage:I │ │ - move/from16 v21, v0 │ + move/from16 v22, v0 │ │ - add-int v8, v8, v21 │ + add-int v10, v10, v22 │ │ move-object/from16 v0, p0 │ │ iget v0, v0, Lorg/tukaani/xz/SeekableXZInputStream;->indexMemoryUsage:I │ │ - move/from16 v21, v0 │ + move/from16 v22, v0 │ │ - add-int v21, v21, p2 │ + add-int v22, v22, p2 │ │ - move/from16 v0, v21 │ + move/from16 v0, v22 │ │ - invoke-direct {v4, v8, v0}, Lorg/tukaani/xz/MemoryLimitException;->(II)V │ + invoke-direct {v6, v10, v0}, Lorg/tukaani/xz/MemoryLimitException;->(II)V │ │ - throw v4 │ + throw v6 │ │ .line 318 │ - .end local v11 # "e":Lorg/tukaani/xz/MemoryLimitException; │ - .restart local v3 # "index":Lorg/tukaani/xz/index/IndexDecoder; │ + .end local v12 # "e":Lorg/tukaani/xz/MemoryLimitException; │ + .restart local v5 # "index":Lorg/tukaani/xz/index/IndexDecoder; │ :cond_6 │ move-object/from16 v0, p0 │ │ iget-wide v0, v0, Lorg/tukaani/xz/SeekableXZInputStream;->largestBlockSize:J │ │ - move-wide/from16 v21, v0 │ + move-wide/from16 v22, v0 │ │ - invoke-virtual {v3}, Lorg/tukaani/xz/index/IndexDecoder;->getLargestBlockSize()J │ + invoke-virtual {v5}, Lorg/tukaani/xz/index/IndexDecoder;->getLargestBlockSize()J │ │ - move-result-wide v23 │ + move-result-wide v24 │ │ - cmp-long v4, v21, v23 │ + cmp-long v6, v22, v24 │ │ - if-gez v4, :cond_7 │ + if-gez v6, :cond_7 │ │ .line 319 │ - invoke-virtual {v3}, Lorg/tukaani/xz/index/IndexDecoder;->getLargestBlockSize()J │ + invoke-virtual {v5}, Lorg/tukaani/xz/index/IndexDecoder;->getLargestBlockSize()J │ │ - move-result-wide v21 │ + move-result-wide v22 │ │ - move-wide/from16 v0, v21 │ + move-wide/from16 v0, v22 │ │ move-object/from16 v2, p0 │ │ iput-wide v0, v2, Lorg/tukaani/xz/SeekableXZInputStream;->largestBlockSize:J │ │ .line 323 │ :cond_7 │ - invoke-virtual {v3}, Lorg/tukaani/xz/index/IndexDecoder;->getStreamSize()J │ + invoke-virtual {v5}, Lorg/tukaani/xz/index/IndexDecoder;->getStreamSize()J │ │ - move-result-wide v21 │ + move-result-wide v22 │ │ - const-wide/16 v23, 0xc │ + const-wide/16 v24, 0xc │ │ - sub-long v15, v21, v23 │ + sub-long v16, v22, v24 │ │ .line 324 │ - .local v15, "off":J │ - cmp-long v4, v17, v15 │ + .local v16, "off":J │ + cmp-long v6, v18, v16 │ │ - if-gez v4, :cond_8 │ + if-gez v6, :cond_8 │ │ .line 325 │ - new-instance v4, Lorg/tukaani/xz/CorruptedInputException; │ + new-instance v6, Lorg/tukaani/xz/CorruptedInputException; │ │ - const-string v8, "XZ Index indicates too big compressed size for the XZ Stream" │ + const-string v10, "XZ Index indicates too big compressed size for the XZ Stream" │ │ - invoke-direct {v4, v8}, Lorg/tukaani/xz/CorruptedInputException;->(Ljava/lang/String;)V │ + invoke-direct {v6, v10}, Lorg/tukaani/xz/CorruptedInputException;->(Ljava/lang/String;)V │ │ - throw v4 │ + throw v6 │ │ .line 329 │ :cond_8 │ - sub-long v17, v17, v15 │ + sub-long v18, v18, v16 │ │ .line 330 │ move-object/from16 v0, p1 │ │ - move-wide/from16 v1, v17 │ + move-wide/from16 v1, v18 │ │ invoke-virtual {v0, v1, v2}, Lorg/tukaani/xz/SeekableInputStream;->seek(J)V │ │ .line 333 │ - invoke-virtual {v14, v9}, Ljava/io/DataInputStream;->readFully([B)V │ + invoke-virtual {v15, v4}, Ljava/io/DataInputStream;->readFully([B)V │ │ .line 334 │ - invoke-static {v9}, Lorg/tukaani/xz/common/DecoderUtil;->decodeStreamHeader([B)Lorg/tukaani/xz/common/StreamFlags; │ + invoke-static {v4}, Lorg/tukaani/xz/common/DecoderUtil;->decodeStreamHeader([B)Lorg/tukaani/xz/common/StreamFlags; │ │ - move-result-object v20 │ + move-result-object v21 │ │ .line 337 │ - .local v20, "streamHeader":Lorg/tukaani/xz/common/StreamFlags; │ - move-object/from16 v0, v20 │ + .local v21, "streamHeader":Lorg/tukaani/xz/common/StreamFlags; │ + move-object/from16 v0, v21 │ │ - invoke-static {v0, v5}, Lorg/tukaani/xz/common/DecoderUtil;->areStreamFlagsEqual(Lorg/tukaani/xz/common/StreamFlags;Lorg/tukaani/xz/common/StreamFlags;)Z │ + invoke-static {v0, v7}, Lorg/tukaani/xz/common/DecoderUtil;->areStreamFlagsEqual(Lorg/tukaani/xz/common/StreamFlags;Lorg/tukaani/xz/common/StreamFlags;)Z │ │ - move-result v4 │ + move-result v6 │ │ - if-nez v4, :cond_9 │ + if-nez v6, :cond_9 │ │ .line 338 │ - new-instance v4, Lorg/tukaani/xz/CorruptedInputException; │ + new-instance v6, Lorg/tukaani/xz/CorruptedInputException; │ │ - const-string v8, "XZ Stream Footer does not match Stream Header" │ + const-string v10, "XZ Stream Footer does not match Stream Header" │ │ - invoke-direct {v4, v8}, Lorg/tukaani/xz/CorruptedInputException;->(Ljava/lang/String;)V │ + invoke-direct {v6, v10}, Lorg/tukaani/xz/CorruptedInputException;->(Ljava/lang/String;)V │ │ - throw v4 │ + throw v6 │ │ .line 343 │ :cond_9 │ move-object/from16 v0, p0 │ │ iget-wide v0, v0, Lorg/tukaani/xz/SeekableXZInputStream;->uncompressedSize:J │ │ - move-wide/from16 v21, v0 │ + move-wide/from16 v22, v0 │ │ - invoke-virtual {v3}, Lorg/tukaani/xz/index/IndexDecoder;->getUncompressedSize()J │ + invoke-virtual {v5}, Lorg/tukaani/xz/index/IndexDecoder;->getUncompressedSize()J │ │ - move-result-wide v23 │ + move-result-wide v24 │ │ - add-long v21, v21, v23 │ + add-long v22, v22, v24 │ │ - move-wide/from16 v0, v21 │ + move-wide/from16 v0, v22 │ │ move-object/from16 v2, p0 │ │ iput-wide v0, v2, Lorg/tukaani/xz/SeekableXZInputStream;->uncompressedSize:J │ │ .line 344 │ move-object/from16 v0, p0 │ │ iget-wide v0, v0, Lorg/tukaani/xz/SeekableXZInputStream;->uncompressedSize:J │ │ - move-wide/from16 v21, v0 │ + move-wide/from16 v22, v0 │ │ - const-wide/16 v23, 0x0 │ + const-wide/16 v24, 0x0 │ │ - cmp-long v4, v21, v23 │ + cmp-long v6, v22, v24 │ │ - if-gez v4, :cond_a │ + if-gez v6, :cond_a │ │ .line 345 │ - new-instance v4, Lorg/tukaani/xz/UnsupportedOptionsException; │ + new-instance v6, Lorg/tukaani/xz/UnsupportedOptionsException; │ │ - const-string v8, "XZ file is too big" │ + const-string v10, "XZ file is too big" │ │ - invoke-direct {v4, v8}, Lorg/tukaani/xz/UnsupportedOptionsException;->(Ljava/lang/String;)V │ + invoke-direct {v6, v10}, Lorg/tukaani/xz/UnsupportedOptionsException;->(Ljava/lang/String;)V │ │ - throw v4 │ + throw v6 │ │ .line 348 │ :cond_a │ move-object/from16 v0, p0 │ │ - iget v4, v0, Lorg/tukaani/xz/SeekableXZInputStream;->blockCount:I │ + iget v6, v0, Lorg/tukaani/xz/SeekableXZInputStream;->blockCount:I │ │ - invoke-virtual {v3}, Lorg/tukaani/xz/index/IndexDecoder;->getRecordCount()I │ + invoke-virtual {v5}, Lorg/tukaani/xz/index/IndexDecoder;->getRecordCount()I │ │ - move-result v8 │ + move-result v10 │ │ - add-int/2addr v4, v8 │ + add-int/2addr v6, v10 │ │ move-object/from16 v0, p0 │ │ - iput v4, v0, Lorg/tukaani/xz/SeekableXZInputStream;->blockCount:I │ + iput v6, v0, Lorg/tukaani/xz/SeekableXZInputStream;->blockCount:I │ │ .line 349 │ move-object/from16 v0, p0 │ │ - iget v4, v0, Lorg/tukaani/xz/SeekableXZInputStream;->blockCount:I │ + iget v6, v0, Lorg/tukaani/xz/SeekableXZInputStream;->blockCount:I │ │ - if-gez v4, :cond_b │ + if-gez v6, :cond_b │ │ .line 350 │ - new-instance v4, Lorg/tukaani/xz/UnsupportedOptionsException; │ + new-instance v6, Lorg/tukaani/xz/UnsupportedOptionsException; │ │ - const-string v8, "XZ file has over 2147483647 Blocks" │ + const-string v10, "XZ file has over 2147483647 Blocks" │ │ - invoke-direct {v4, v8}, Lorg/tukaani/xz/UnsupportedOptionsException;->(Ljava/lang/String;)V │ + invoke-direct {v6, v10}, Lorg/tukaani/xz/UnsupportedOptionsException;->(Ljava/lang/String;)V │ │ - throw v4 │ + throw v6 │ │ .line 354 │ :cond_b │ move-object/from16 v0, p0 │ │ - iget-object v4, v0, Lorg/tukaani/xz/SeekableXZInputStream;->streams:Ljava/util/ArrayList; │ + iget-object v6, v0, Lorg/tukaani/xz/SeekableXZInputStream;->streams:Ljava/util/ArrayList; │ │ - invoke-virtual {v4, v3}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z │ + invoke-virtual {v6, v5}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z │ │ .line 357 │ - const-wide/16 v6, 0x0 │ + const-wide/16 v8, 0x0 │ │ .line 358 │ goto/16 :goto_0 │ │ .line 360 │ - .end local v3 # "index":Lorg/tukaani/xz/index/IndexDecoder; │ - .end local v5 # "streamFooter":Lorg/tukaani/xz/common/StreamFlags; │ - .end local v15 # "off":J │ - .end local v20 # "streamHeader":Lorg/tukaani/xz/common/StreamFlags; │ + .end local v5 # "index":Lorg/tukaani/xz/index/IndexDecoder; │ + .end local v7 # "streamFooter":Lorg/tukaani/xz/common/StreamFlags; │ + .end local v16 # "off":J │ + .end local v21 # "streamHeader":Lorg/tukaani/xz/common/StreamFlags; │ :cond_c │ - sget-boolean v4, Lorg/tukaani/xz/SeekableXZInputStream;->$assertionsDisabled:Z │ + sget-boolean v6, Lorg/tukaani/xz/SeekableXZInputStream;->$assertionsDisabled:Z │ │ - if-nez v4, :cond_d │ + if-nez v6, :cond_d │ │ - const-wide/16 v21, 0x0 │ + const-wide/16 v22, 0x0 │ │ - cmp-long v4, v17, v21 │ + cmp-long v6, v18, v22 │ │ - if-eqz v4, :cond_d │ + if-eqz v6, :cond_d │ │ - new-instance v4, Ljava/lang/AssertionError; │ + new-instance v6, Ljava/lang/AssertionError; │ │ - invoke-direct {v4}, Ljava/lang/AssertionError;->()V │ + invoke-direct {v6}, Ljava/lang/AssertionError;->()V │ │ - throw v4 │ + throw v6 │ │ .line 363 │ :cond_d │ move/from16 v0, p2 │ │ move-object/from16 v1, p0 │ │ iput v0, v1, Lorg/tukaani/xz/SeekableXZInputStream;->memoryLimit:I │ │ .line 368 │ move-object/from16 v0, p0 │ │ - iget-object v4, v0, Lorg/tukaani/xz/SeekableXZInputStream;->streams:Ljava/util/ArrayList; │ + iget-object v6, v0, Lorg/tukaani/xz/SeekableXZInputStream;->streams:Ljava/util/ArrayList; │ │ move-object/from16 v0, p0 │ │ - iget-object v8, v0, Lorg/tukaani/xz/SeekableXZInputStream;->streams:Ljava/util/ArrayList; │ + iget-object v10, v0, Lorg/tukaani/xz/SeekableXZInputStream;->streams:Ljava/util/ArrayList; │ │ - invoke-virtual {v8}, Ljava/util/ArrayList;->size()I │ + invoke-virtual {v10}, Ljava/util/ArrayList;->size()I │ │ - move-result v8 │ + move-result v10 │ │ - add-int/lit8 v8, v8, -0x1 │ + add-int/lit8 v10, v10, -0x1 │ │ - invoke-virtual {v4, v8}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object; │ + invoke-virtual {v6, v10}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object; │ │ - move-result-object v19 │ + move-result-object v20 │ │ - check-cast v19, Lorg/tukaani/xz/index/IndexDecoder; │ + check-cast v20, Lorg/tukaani/xz/index/IndexDecoder; │ │ .line 369 │ - .local v19, "prev":Lorg/tukaani/xz/index/IndexDecoder; │ + .local v20, "prev":Lorg/tukaani/xz/index/IndexDecoder; │ move-object/from16 v0, p0 │ │ - iget-object v4, v0, Lorg/tukaani/xz/SeekableXZInputStream;->streams:Ljava/util/ArrayList; │ + iget-object v6, v0, Lorg/tukaani/xz/SeekableXZInputStream;->streams:Ljava/util/ArrayList; │ │ - invoke-virtual {v4}, Ljava/util/ArrayList;->size()I │ + invoke-virtual {v6}, Ljava/util/ArrayList;->size()I │ │ - move-result v4 │ + move-result v6 │ │ - add-int/lit8 v13, v4, -0x2 │ + add-int/lit8 v14, v6, -0x2 │ │ - .local v13, "i":I │ + .local v14, "i":I │ :goto_1 │ - if-ltz v13, :cond_e │ + if-ltz v14, :cond_e │ │ .line 370 │ move-object/from16 v0, p0 │ │ - iget-object v4, v0, Lorg/tukaani/xz/SeekableXZInputStream;->streams:Ljava/util/ArrayList; │ + iget-object v6, v0, Lorg/tukaani/xz/SeekableXZInputStream;->streams:Ljava/util/ArrayList; │ │ - invoke-virtual {v4, v13}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object; │ + invoke-virtual {v6, v14}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object; │ │ - move-result-object v10 │ + move-result-object v11 │ │ - check-cast v10, Lorg/tukaani/xz/index/IndexDecoder; │ + check-cast v11, Lorg/tukaani/xz/index/IndexDecoder; │ │ .line 371 │ - .local v10, "cur":Lorg/tukaani/xz/index/IndexDecoder; │ - move-object/from16 v0, v19 │ + .local v11, "cur":Lorg/tukaani/xz/index/IndexDecoder; │ + move-object/from16 v0, v20 │ │ - invoke-virtual {v10, v0}, Lorg/tukaani/xz/index/IndexDecoder;->setOffsets(Lorg/tukaani/xz/index/IndexDecoder;)V │ + invoke-virtual {v11, v0}, Lorg/tukaani/xz/index/IndexDecoder;->setOffsets(Lorg/tukaani/xz/index/IndexDecoder;)V │ │ .line 372 │ - move-object/from16 v19, v10 │ + move-object/from16 v20, v11 │ │ .line 369 │ - add-int/lit8 v13, v13, -0x1 │ + add-int/lit8 v14, v14, -0x1 │ │ goto :goto_1 │ │ .line 379 │ - .end local v10 # "cur":Lorg/tukaani/xz/index/IndexDecoder; │ + .end local v11 # "cur":Lorg/tukaani/xz/index/IndexDecoder; │ :cond_e │ move-object/from16 v0, p0 │ │ - iget-object v4, v0, Lorg/tukaani/xz/SeekableXZInputStream;->streams:Ljava/util/ArrayList; │ + iget-object v6, v0, Lorg/tukaani/xz/SeekableXZInputStream;->streams:Ljava/util/ArrayList; │ │ move-object/from16 v0, p0 │ │ - iget-object v8, v0, Lorg/tukaani/xz/SeekableXZInputStream;->streams:Ljava/util/ArrayList; │ + iget-object v10, v0, Lorg/tukaani/xz/SeekableXZInputStream;->streams:Ljava/util/ArrayList; │ │ - invoke-virtual {v8}, Ljava/util/ArrayList;->size()I │ + invoke-virtual {v10}, Ljava/util/ArrayList;->size()I │ │ - move-result v8 │ + move-result v10 │ │ - add-int/lit8 v8, v8, -0x1 │ + add-int/lit8 v10, v10, -0x1 │ │ - invoke-virtual {v4, v8}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object; │ + invoke-virtual {v6, v10}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object; │ │ - move-result-object v12 │ + move-result-object v13 │ │ - check-cast v12, Lorg/tukaani/xz/index/IndexDecoder; │ + check-cast v13, Lorg/tukaani/xz/index/IndexDecoder; │ │ .line 380 │ - .local v12, "first":Lorg/tukaani/xz/index/IndexDecoder; │ - new-instance v4, Lorg/tukaani/xz/index/BlockInfo; │ + .local v13, "first":Lorg/tukaani/xz/index/IndexDecoder; │ + new-instance v6, Lorg/tukaani/xz/index/BlockInfo; │ │ - invoke-direct {v4, v12}, Lorg/tukaani/xz/index/BlockInfo;->(Lorg/tukaani/xz/index/IndexDecoder;)V │ + invoke-direct {v6, v13}, Lorg/tukaani/xz/index/BlockInfo;->(Lorg/tukaani/xz/index/IndexDecoder;)V │ │ move-object/from16 v0, p0 │ │ - iput-object v4, v0, Lorg/tukaani/xz/SeekableXZInputStream;->curBlockInfo:Lorg/tukaani/xz/index/BlockInfo; │ + iput-object v6, v0, Lorg/tukaani/xz/SeekableXZInputStream;->curBlockInfo:Lorg/tukaani/xz/index/BlockInfo; │ │ .line 384 │ - new-instance v4, Lorg/tukaani/xz/index/BlockInfo; │ + new-instance v6, Lorg/tukaani/xz/index/BlockInfo; │ │ - invoke-direct {v4, v12}, Lorg/tukaani/xz/index/BlockInfo;->(Lorg/tukaani/xz/index/IndexDecoder;)V │ + invoke-direct {v6, v13}, Lorg/tukaani/xz/index/BlockInfo;->(Lorg/tukaani/xz/index/IndexDecoder;)V │ │ move-object/from16 v0, p0 │ │ - iput-object v4, v0, Lorg/tukaani/xz/SeekableXZInputStream;->queriedBlockInfo:Lorg/tukaani/xz/index/BlockInfo; │ + iput-object v6, v0, Lorg/tukaani/xz/SeekableXZInputStream;->queriedBlockInfo:Lorg/tukaani/xz/index/BlockInfo; │ │ .line 385 │ return-void │ .end method │ │ .method private initBlockDecoder()V │ .locals 9 │ @@ -905,14 +906,15 @@ │ │ throw v0 │ │ .line 883 │ :cond_0 │ new-instance v0, Lorg/tukaani/xz/MemoryLimitException; │ │ + .line 884 │ invoke-virtual {v8}, Lorg/tukaani/xz/MemoryLimitException;->getMemoryNeeded()I │ │ move-result v1 │ │ iget v2, p0, Lorg/tukaani/xz/SeekableXZInputStream;->indexMemoryUsage:I │ │ add-int/2addr v1, v2 │ @@ -1263,17 +1265,17 @@ │ .line 776 │ :cond_3 │ iput-boolean v6, p0, Lorg/tukaani/xz/SeekableXZInputStream;->endReached:Z │ │ .line 779 │ iget-object v2, p0, Lorg/tukaani/xz/SeekableXZInputStream;->curBlockInfo:Lorg/tukaani/xz/index/BlockInfo; │ │ - iget-wide v3, p0, Lorg/tukaani/xz/SeekableXZInputStream;->seekPos:J │ + iget-wide v4, p0, Lorg/tukaani/xz/SeekableXZInputStream;->seekPos:J │ │ - invoke-direct {p0, v2, v3, v4}, Lorg/tukaani/xz/SeekableXZInputStream;->locateBlockByPos(Lorg/tukaani/xz/index/BlockInfo;J)V │ + invoke-direct {p0, v2, v4, v5}, Lorg/tukaani/xz/SeekableXZInputStream;->locateBlockByPos(Lorg/tukaani/xz/index/BlockInfo;J)V │ │ .line 791 │ iget-wide v2, p0, Lorg/tukaani/xz/SeekableXZInputStream;->curPos:J │ │ iget-object v4, p0, Lorg/tukaani/xz/SeekableXZInputStream;->curBlockInfo:Lorg/tukaani/xz/index/BlockInfo; │ │ iget-wide v4, v4, Lorg/tukaani/xz/index/BlockInfo;->uncompressedOffset:J │ @@ -1292,17 +1294,17 @@ │ │ .line 793 │ :cond_4 │ iget-object v2, p0, Lorg/tukaani/xz/SeekableXZInputStream;->in:Lorg/tukaani/xz/SeekableInputStream; │ │ iget-object v3, p0, Lorg/tukaani/xz/SeekableXZInputStream;->curBlockInfo:Lorg/tukaani/xz/index/BlockInfo; │ │ - iget-wide v3, v3, Lorg/tukaani/xz/index/BlockInfo;->compressedOffset:J │ + iget-wide v4, v3, Lorg/tukaani/xz/index/BlockInfo;->compressedOffset:J │ │ - invoke-virtual {v2, v3, v4}, Lorg/tukaani/xz/SeekableInputStream;->seek(J)V │ + invoke-virtual {v2, v4, v5}, Lorg/tukaani/xz/SeekableInputStream;->seek(J)V │ │ .line 797 │ iget-object v2, p0, Lorg/tukaani/xz/SeekableXZInputStream;->curBlockInfo:Lorg/tukaani/xz/index/BlockInfo; │ │ invoke-virtual {v2}, Lorg/tukaani/xz/index/BlockInfo;->getCheckType()I │ │ move-result v2 ├── smali/org/tukaani/xz/SingleXZInputStream.smali │ @@ -255,14 +255,15 @@ │ │ move-result v2 │ │ if-eqz v2, :cond_0 │ │ iget-object v2, p0, Lorg/tukaani/xz/SingleXZInputStream;->indexHash:Lorg/tukaani/xz/index/IndexHash; │ │ + .line 276 │ invoke-virtual {v2}, Lorg/tukaani/xz/index/IndexHash;->getIndexSize()J │ │ move-result-wide v2 │ │ iget-wide v4, v1, Lorg/tukaani/xz/common/StreamFlags;->backwardSize:J │ │ cmp-long v2, v2, v4 │ @@ -630,23 +631,25 @@ │ .line 255 │ iget-object v0, p0, Lorg/tukaani/xz/SingleXZInputStream;->indexHash:Lorg/tukaani/xz/index/IndexHash; │ │ iget-object v1, p0, Lorg/tukaani/xz/SingleXZInputStream;->blockDecoder:Lorg/tukaani/xz/BlockInputStream; │ │ invoke-virtual {v1}, Lorg/tukaani/xz/BlockInputStream;->getUnpaddedSize()J │ │ - move-result-wide v1 │ + move-result-wide v2 │ │ - iget-object v3, p0, Lorg/tukaani/xz/SingleXZInputStream;->blockDecoder:Lorg/tukaani/xz/BlockInputStream; │ + iget-object v1, p0, Lorg/tukaani/xz/SingleXZInputStream;->blockDecoder:Lorg/tukaani/xz/BlockInputStream; │ │ - invoke-virtual {v3}, Lorg/tukaani/xz/BlockInputStream;->getUncompressedSize()J │ + .line 256 │ + invoke-virtual {v1}, Lorg/tukaani/xz/BlockInputStream;->getUncompressedSize()J │ │ - move-result-wide v3 │ + move-result-wide v4 │ │ - invoke-virtual {v0, v1, v2, v3, v4}, Lorg/tukaani/xz/index/IndexHash;->add(JJ)V │ + .line 255 │ + invoke-virtual {v0, v2, v3, v4, v5}, Lorg/tukaani/xz/index/IndexHash;->add(JJ)V │ │ .line 257 │ const/4 v0, 0x0 │ │ iput-object v0, p0, Lorg/tukaani/xz/SingleXZInputStream;->blockDecoder:Lorg/tukaani/xz/BlockInputStream; │ :try_end_2 │ .catch Ljava/io/IOException; {:try_start_2 .. :try_end_2} :catch_1 ├── smali/org/tukaani/xz/X86Options.smali │ @@ -56,23 +56,23 @@ │ │ move-result v0 │ │ return v0 │ .end method │ │ .method getFilterEncoder()Lorg/tukaani/xz/FilterEncoder; │ - .locals 3 │ + .locals 4 │ │ .prologue │ .line 34 │ new-instance v0, Lorg/tukaani/xz/BCJEncoder; │ │ - const-wide/16 v1, 0x4 │ + const-wide/16 v2, 0x4 │ │ - invoke-direct {v0, p0, v1, v2}, Lorg/tukaani/xz/BCJEncoder;->(Lorg/tukaani/xz/BCJOptions;J)V │ + invoke-direct {v0, p0, v2, v3}, Lorg/tukaani/xz/BCJEncoder;->(Lorg/tukaani/xz/BCJOptions;J)V │ │ return-object v0 │ .end method │ │ .method public getInputStream(Ljava/io/InputStream;)Ljava/io/InputStream; │ .locals 4 │ .param p1, "in" # Ljava/io/InputStream; │ @@ -125,15 +125,14 @@ │ move-result v0 │ │ return v0 │ .end method │ │ .method public bridge synthetic setStartOffset(I)V │ .locals 0 │ - .param p1, "x0" # I │ .annotation system Ldalvik/annotation/Throws; │ value = { │ Lorg/tukaani/xz/UnsupportedOptionsException; │ } │ .end annotation │ │ .prologue ├── smali/org/tukaani/xz/XZOutputStream.smali │ @@ -435,18 +435,20 @@ │ │ invoke-virtual {v2}, Lorg/tukaani/xz/BlockOutputStream;->getUnpaddedSize()J │ │ move-result-wide v2 │ │ iget-object v4, p0, Lorg/tukaani/xz/XZOutputStream;->blockEncoder:Lorg/tukaani/xz/BlockOutputStream; │ │ + .line 326 │ invoke-virtual {v4}, Lorg/tukaani/xz/BlockOutputStream;->getUncompressedSize()J │ │ move-result-wide v4 │ │ + .line 325 │ invoke-virtual {v1, v2, v3, v4, v5}, Lorg/tukaani/xz/index/IndexEncoder;->add(JJ)V │ │ .line 327 │ const/4 v1, 0x0 │ │ iput-object v1, p0, Lorg/tukaani/xz/XZOutputStream;->blockEncoder:Lorg/tukaani/xz/BlockOutputStream; │ :try_end_0 ├── smali/org/tukaani/xz/check/CRC32.smali │ @@ -39,75 +39,75 @@ │ │ # virtual methods │ .method public finish()[B │ .locals 6 │ │ .prologue │ .line 25 │ - iget-object v3, p0, Lorg/tukaani/xz/check/CRC32;->state:Ljava/util/zip/CRC32; │ + iget-object v1, p0, Lorg/tukaani/xz/check/CRC32;->state:Ljava/util/zip/CRC32; │ │ - invoke-virtual {v3}, Ljava/util/zip/CRC32;->getValue()J │ + invoke-virtual {v1}, Ljava/util/zip/CRC32;->getValue()J │ │ - move-result-wide v1 │ + move-result-wide v2 │ │ .line 26 │ - .local v1, "value":J │ - const/4 v3, 0x4 │ + .local v2, "value":J │ + const/4 v1, 0x4 │ │ - new-array v0, v3, [B │ + new-array v0, v1, [B │ │ - const/4 v3, 0x0 │ + const/4 v1, 0x0 │ │ - long-to-int v4, v1 │ + long-to-int v4, v2 │ │ int-to-byte v4, v4 │ │ - aput-byte v4, v0, v3 │ + aput-byte v4, v0, v1 │ │ - const/4 v3, 0x1 │ + const/4 v1, 0x1 │ │ const/16 v4, 0x8 │ │ - ushr-long v4, v1, v4 │ + ushr-long v4, v2, v4 │ │ long-to-int v4, v4 │ │ int-to-byte v4, v4 │ │ - aput-byte v4, v0, v3 │ + aput-byte v4, v0, v1 │ │ - const/4 v3, 0x2 │ + const/4 v1, 0x2 │ │ const/16 v4, 0x10 │ │ - ushr-long v4, v1, v4 │ + ushr-long v4, v2, v4 │ │ long-to-int v4, v4 │ │ int-to-byte v4, v4 │ │ - aput-byte v4, v0, v3 │ + aput-byte v4, v0, v1 │ │ - const/4 v3, 0x3 │ + const/4 v1, 0x3 │ │ const/16 v4, 0x18 │ │ - ushr-long v4, v1, v4 │ + ushr-long v4, v2, v4 │ │ long-to-int v4, v4 │ │ int-to-byte v4, v4 │ │ - aput-byte v4, v0, v3 │ + aput-byte v4, v0, v1 │ │ .line 30 │ .local v0, "buf":[B │ - iget-object v3, p0, Lorg/tukaani/xz/check/CRC32;->state:Ljava/util/zip/CRC32; │ + iget-object v1, p0, Lorg/tukaani/xz/check/CRC32;->state:Ljava/util/zip/CRC32; │ │ - invoke-virtual {v3}, Ljava/util/zip/CRC32;->reset()V │ + invoke-virtual {v1}, Ljava/util/zip/CRC32;->reset()V │ │ .line 31 │ return-object v0 │ .end method │ │ .method public update([BII)V │ .locals 1 ├── smali/org/tukaani/xz/check/CRC64.smali │ @@ -11,18 +11,18 @@ │ │ # instance fields │ .field private crc:J │ │ │ # direct methods │ .method static constructor ()V │ - .locals 11 │ + .locals 12 │ │ .prologue │ - const-wide/16 v9, 0x1 │ + const-wide/16 v10, 0x1 │ │ const/4 v8, 0x1 │ │ .line 14 │ const/16 v4, 0x100 │ │ new-array v4, v4, [J │ @@ -50,17 +50,17 @@ │ .local v1, "i":I │ :goto_1 │ const/16 v4, 0x8 │ │ if-ge v1, v4, :cond_1 │ │ .line 22 │ - and-long v4, v2, v9 │ + and-long v4, v2, v10 │ │ - cmp-long v4, v4, v9 │ + cmp-long v4, v4, v10 │ │ if-nez v4, :cond_0 │ │ .line 23 │ ushr-long v4, v2, v8 │ │ const-wide v6, -0x3693a86a2878f0beL # -5.0564049839430436E45 ├── smali/org/tukaani/xz/common/DecoderUtil.smali │ @@ -87,24 +87,24 @@ │ iput v1, v0, Lorg/tukaani/xz/common/StreamFlags;->checkType:I │ │ .line 89 │ return-object v0 │ .end method │ │ .method public static decodeStreamFooter([B)Lorg/tukaani/xz/common/StreamFlags; │ - .locals 8 │ + .locals 9 │ .param p0, "buf" # [B │ .annotation system Ldalvik/annotation/Throws; │ value = { │ Ljava/io/IOException; │ } │ .end annotation │ │ .prologue │ - const/4 v7, 0x4 │ + const/4 v8, 0x4 │ │ const/4 v6, 0x0 │ │ .line 55 │ const/16 v3, 0xa │ │ aget-byte v3, p0, v3 │ @@ -137,15 +137,15 @@ │ │ throw v3 │ │ .line 61 │ :cond_1 │ const/4 v3, 0x6 │ │ - invoke-static {p0, v7, v3, v6}, Lorg/tukaani/xz/common/DecoderUtil;->isCRC32Valid([BIII)Z │ + invoke-static {p0, v8, v3, v6}, Lorg/tukaani/xz/common/DecoderUtil;->isCRC32Valid([BIII)Z │ │ move-result v3 │ │ if-nez v3, :cond_2 │ │ .line 62 │ new-instance v3, Lorg/tukaani/xz/CorruptedInputException; │ @@ -165,43 +165,43 @@ │ :try_end_0 │ .catch Lorg/tukaani/xz/UnsupportedOptionsException; {:try_start_0 .. :try_end_0} :catch_0 │ │ move-result-object v2 │ │ .line 72 │ .local v2, "streamFlags":Lorg/tukaani/xz/common/StreamFlags; │ - const-wide/16 v3, 0x0 │ + const-wide/16 v4, 0x0 │ │ - iput-wide v3, v2, Lorg/tukaani/xz/common/StreamFlags;->backwardSize:J │ + iput-wide v4, v2, Lorg/tukaani/xz/common/StreamFlags;->backwardSize:J │ │ .line 73 │ const/4 v1, 0x0 │ │ .local v1, "i":I │ :goto_0 │ - if-ge v1, v7, :cond_3 │ + if-ge v1, v8, :cond_3 │ │ .line 74 │ - iget-wide v3, v2, Lorg/tukaani/xz/common/StreamFlags;->backwardSize:J │ + iget-wide v4, v2, Lorg/tukaani/xz/common/StreamFlags;->backwardSize:J │ │ - add-int/lit8 v5, v1, 0x4 │ + add-int/lit8 v3, v1, 0x4 │ │ - aget-byte v5, p0, v5 │ + aget-byte v3, p0, v3 │ │ - and-int/lit16 v5, v5, 0xff │ + and-int/lit16 v3, v3, 0xff │ │ mul-int/lit8 v6, v1, 0x8 │ │ - shl-int/2addr v5, v6 │ + shl-int/2addr v3, v6 │ │ - int-to-long v5, v5 │ + int-to-long v6, v3 │ │ - or-long/2addr v3, v5 │ + or-long/2addr v4, v6 │ │ - iput-wide v3, v2, Lorg/tukaani/xz/common/StreamFlags;->backwardSize:J │ + iput-wide v4, v2, Lorg/tukaani/xz/common/StreamFlags;->backwardSize:J │ │ .line 73 │ add-int/lit8 v1, v1, 0x1 │ │ goto :goto_0 │ │ .line 67 │ @@ -221,25 +221,25 @@ │ throw v3 │ │ .line 76 │ .end local v0 # "e":Lorg/tukaani/xz/UnsupportedOptionsException; │ .restart local v1 # "i":I │ .restart local v2 # "streamFlags":Lorg/tukaani/xz/common/StreamFlags; │ :cond_3 │ - iget-wide v3, v2, Lorg/tukaani/xz/common/StreamFlags;->backwardSize:J │ + iget-wide v4, v2, Lorg/tukaani/xz/common/StreamFlags;->backwardSize:J │ │ - const-wide/16 v5, 0x1 │ + const-wide/16 v6, 0x1 │ │ - add-long/2addr v3, v5 │ + add-long/2addr v4, v6 │ │ - const-wide/16 v5, 0x4 │ + const-wide/16 v6, 0x4 │ │ - mul-long/2addr v3, v5 │ + mul-long/2addr v4, v6 │ │ - iput-wide v3, v2, Lorg/tukaani/xz/common/StreamFlags;->backwardSize:J │ + iput-wide v4, v2, Lorg/tukaani/xz/common/StreamFlags;->backwardSize:J │ │ .line 78 │ return-object v2 │ .end method │ │ .method public static decodeStreamHeader([B)Lorg/tukaani/xz/common/StreamFlags; │ .locals 5 ├── smali/org/tukaani/xz/common/EncoderUtil.smali │ @@ -11,15 +11,15 @@ │ .line 16 │ invoke-direct {p0}, Lorg/tukaani/xz/common/Util;->()V │ │ return-void │ .end method │ │ .method public static encodeVLI(Ljava/io/OutputStream;J)V │ - .locals 4 │ + .locals 5 │ .param p0, "out" # Ljava/io/OutputStream; │ .param p1, "num" # J │ .annotation system Ldalvik/annotation/Throws; │ value = { │ Ljava/io/IOException; │ } │ .end annotation ├── smali/org/tukaani/xz/common/Util.smali │ @@ -23,15 +23,15 @@ │ .line 12 │ invoke-direct {p0}, Ljava/lang/Object;->()V │ │ return-void │ .end method │ │ .method public static getVLISize(J)I │ - .locals 3 │ + .locals 4 │ .param p0, "num" # J │ │ .prologue │ .line 20 │ const/4 v0, 0x0 │ │ .line 22 │ @@ -41,16 +41,16 @@ │ │ .line 23 │ const/4 v1, 0x7 │ │ shr-long/2addr p0, v1 │ │ .line 24 │ - const-wide/16 v1, 0x0 │ + const-wide/16 v2, 0x0 │ │ - cmp-long v1, p0, v1 │ + cmp-long v1, p0, v2 │ │ if-nez v1, :cond_0 │ │ .line 26 │ return v0 │ .end method ├── smali/org/tukaani/xz/index/BlockInfo.smali │ @@ -15,39 +15,39 @@ │ .field public uncompressedSize:J │ │ .field public unpaddedSize:J │ │ │ # direct methods │ .method public constructor (Lorg/tukaani/xz/index/IndexDecoder;)V │ - .locals 3 │ + .locals 4 │ .param p1, "indexOfFirstStream" # Lorg/tukaani/xz/index/IndexDecoder; │ │ .prologue │ - const-wide/16 v1, -0x1 │ + const-wide/16 v2, -0x1 │ │ .line 23 │ invoke-direct {p0}, Ljava/lang/Object;->()V │ │ .line 15 │ const/4 v0, -0x1 │ │ iput v0, p0, Lorg/tukaani/xz/index/BlockInfo;->blockNumber:I │ │ .line 16 │ - iput-wide v1, p0, Lorg/tukaani/xz/index/BlockInfo;->compressedOffset:J │ + iput-wide v2, p0, Lorg/tukaani/xz/index/BlockInfo;->compressedOffset:J │ │ .line 17 │ - iput-wide v1, p0, Lorg/tukaani/xz/index/BlockInfo;->uncompressedOffset:J │ + iput-wide v2, p0, Lorg/tukaani/xz/index/BlockInfo;->uncompressedOffset:J │ │ .line 18 │ - iput-wide v1, p0, Lorg/tukaani/xz/index/BlockInfo;->unpaddedSize:J │ + iput-wide v2, p0, Lorg/tukaani/xz/index/BlockInfo;->unpaddedSize:J │ │ .line 19 │ - iput-wide v1, p0, Lorg/tukaani/xz/index/BlockInfo;->uncompressedSize:J │ + iput-wide v2, p0, Lorg/tukaani/xz/index/BlockInfo;->uncompressedSize:J │ │ .line 24 │ iput-object p1, p0, Lorg/tukaani/xz/index/BlockInfo;->index:Lorg/tukaani/xz/index/IndexDecoder; │ │ .line 25 │ return-void │ .end method ├── smali/org/tukaani/xz/index/IndexDecoder.smali │ @@ -51,70 +51,74 @@ │ :cond_0 │ const/4 v0, 0x0 │ │ goto :goto_0 │ .end method │ │ .method public constructor (Lorg/tukaani/xz/SeekableInputStream;Lorg/tukaani/xz/common/StreamFlags;JI)V │ - .locals 24 │ + .locals 29 │ .param p1, "in" # Lorg/tukaani/xz/SeekableInputStream; │ .param p2, "streamFooterFlags" # Lorg/tukaani/xz/common/StreamFlags; │ .param p3, "streamPadding" # J │ .param p5, "memoryLimit" # I │ .annotation system Ldalvik/annotation/Throws; │ value = { │ Ljava/io/IOException; │ } │ .end annotation │ │ .prologue │ .line 44 │ - new-instance v20, Lorg/tukaani/xz/CorruptedInputException; │ + new-instance v17, Lorg/tukaani/xz/CorruptedInputException; │ │ - const-string v21, "XZ Index is corrupt" │ + const-string v24, "XZ Index is corrupt" │ │ - invoke-direct/range {v20 .. v21}, Lorg/tukaani/xz/CorruptedInputException;->(Ljava/lang/String;)V │ + move-object/from16 v0, v17 │ + │ + move-object/from16 v1, v24 │ + │ + invoke-direct {v0, v1}, Lorg/tukaani/xz/CorruptedInputException;->(Ljava/lang/String;)V │ │ move-object/from16 v0, p0 │ │ - move-object/from16 v1, v20 │ + move-object/from16 v1, v17 │ │ invoke-direct {v0, v1}, Lorg/tukaani/xz/index/IndexBase;->(Lorg/tukaani/xz/XZIOException;)V │ │ .line 33 │ - const-wide/16 v20, 0x0 │ + const-wide/16 v24, 0x0 │ │ - move-wide/from16 v0, v20 │ + move-wide/from16 v0, v24 │ │ move-object/from16 v2, p0 │ │ iput-wide v0, v2, Lorg/tukaani/xz/index/IndexDecoder;->largestBlockSize:J │ │ .line 37 │ - const/16 v20, 0x0 │ + const/16 v17, 0x0 │ │ - move/from16 v0, v20 │ + move/from16 v0, v17 │ │ move-object/from16 v1, p0 │ │ iput v0, v1, Lorg/tukaani/xz/index/IndexDecoder;->recordOffset:I │ │ .line 38 │ - const-wide/16 v20, 0x0 │ + const-wide/16 v24, 0x0 │ │ - move-wide/from16 v0, v20 │ + move-wide/from16 v0, v24 │ │ move-object/from16 v2, p0 │ │ iput-wide v0, v2, Lorg/tukaani/xz/index/IndexDecoder;->compressedOffset:J │ │ .line 39 │ - const-wide/16 v20, 0x0 │ + const-wide/16 v24, 0x0 │ │ - move-wide/from16 v0, v20 │ + move-wide/from16 v0, v24 │ │ move-object/from16 v2, p0 │ │ iput-wide v0, v2, Lorg/tukaani/xz/index/IndexDecoder;->uncompressedOffset:J │ │ .line 45 │ move-object/from16 v0, p2 │ @@ -129,474 +133,512 @@ │ move-object/from16 v2, p0 │ │ iput-wide v0, v2, Lorg/tukaani/xz/index/IndexDecoder;->streamPadding:J │ │ .line 50 │ invoke-virtual/range {p1 .. p1}, Lorg/tukaani/xz/SeekableInputStream;->position()J │ │ - move-result-wide v20 │ + move-result-wide v24 │ │ move-object/from16 v0, p2 │ │ iget-wide v0, v0, Lorg/tukaani/xz/common/StreamFlags;->backwardSize:J │ │ - move-wide/from16 v22, v0 │ + move-wide/from16 v26, v0 │ │ - add-long v20, v20, v22 │ + add-long v24, v24, v26 │ │ - const-wide/16 v22, 0x4 │ + const-wide/16 v26, 0x4 │ │ - sub-long v7, v20, v22 │ + sub-long v10, v24, v26 │ │ .line 52 │ - .local v7, "endPos":J │ - new-instance v5, Ljava/util/zip/CRC32; │ + .local v10, "endPos":J │ + new-instance v8, Ljava/util/zip/CRC32; │ │ - invoke-direct {v5}, Ljava/util/zip/CRC32;->()V │ + invoke-direct {v8}, Ljava/util/zip/CRC32;->()V │ │ .line 53 │ - .local v5, "crc32":Ljava/util/zip/CRC32; │ - new-instance v10, Ljava/util/zip/CheckedInputStream; │ + .local v8, "crc32":Ljava/util/zip/CRC32; │ + new-instance v13, Ljava/util/zip/CheckedInputStream; │ │ move-object/from16 v0, p1 │ │ - invoke-direct {v10, v0, v5}, Ljava/util/zip/CheckedInputStream;->(Ljava/io/InputStream;Ljava/util/zip/Checksum;)V │ + invoke-direct {v13, v0, v8}, Ljava/util/zip/CheckedInputStream;->(Ljava/io/InputStream;Ljava/util/zip/Checksum;)V │ │ .line 56 │ - .local v10, "inChecked":Ljava/util/zip/CheckedInputStream; │ - invoke-virtual {v10}, Ljava/util/zip/CheckedInputStream;->read()I │ + .local v13, "inChecked":Ljava/util/zip/CheckedInputStream; │ + invoke-virtual {v13}, Ljava/util/zip/CheckedInputStream;->read()I │ │ - move-result v20 │ + move-result v17 │ │ - if-eqz v20, :cond_0 │ + if-eqz v17, :cond_0 │ │ .line 57 │ - new-instance v20, Lorg/tukaani/xz/CorruptedInputException; │ + new-instance v17, Lorg/tukaani/xz/CorruptedInputException; │ + │ + const-string v24, "XZ Index is corrupt" │ + │ + move-object/from16 v0, v17 │ │ - const-string v21, "XZ Index is corrupt" │ + move-object/from16 v1, v24 │ │ - invoke-direct/range {v20 .. v21}, Lorg/tukaani/xz/CorruptedInputException;->(Ljava/lang/String;)V │ + invoke-direct {v0, v1}, Lorg/tukaani/xz/CorruptedInputException;->(Ljava/lang/String;)V │ │ - throw v20 │ + throw v17 │ │ .line 61 │ :cond_0 │ :try_start_0 │ - invoke-static {v10}, Lorg/tukaani/xz/common/DecoderUtil;->decodeVLI(Ljava/io/InputStream;)J │ + invoke-static {v13}, Lorg/tukaani/xz/common/DecoderUtil;->decodeVLI(Ljava/io/InputStream;)J │ │ - move-result-wide v3 │ + move-result-wide v6 │ │ .line 67 │ - .local v3, "count":J │ + .local v6, "count":J │ move-object/from16 v0, p2 │ │ iget-wide v0, v0, Lorg/tukaani/xz/common/StreamFlags;->backwardSize:J │ │ - move-wide/from16 v20, v0 │ + move-wide/from16 v24, v0 │ │ - const-wide/16 v22, 0x2 │ + const-wide/16 v26, 0x2 │ │ - div-long v20, v20, v22 │ + div-long v24, v24, v26 │ │ - cmp-long v20, v3, v20 │ + cmp-long v17, v6, v24 │ │ - if-ltz v20, :cond_1 │ + if-ltz v17, :cond_1 │ │ .line 68 │ - new-instance v20, Lorg/tukaani/xz/CorruptedInputException; │ + new-instance v17, Lorg/tukaani/xz/CorruptedInputException; │ │ - const-string v21, "XZ Index is corrupt" │ + const-string v24, "XZ Index is corrupt" │ │ - invoke-direct/range {v20 .. v21}, Lorg/tukaani/xz/CorruptedInputException;->(Ljava/lang/String;)V │ + move-object/from16 v0, v17 │ │ - throw v20 │ + move-object/from16 v1, v24 │ + │ + invoke-direct {v0, v1}, Lorg/tukaani/xz/CorruptedInputException;->(Ljava/lang/String;)V │ + │ + throw v17 │ :try_end_0 │ .catch Ljava/io/EOFException; {:try_start_0 .. :try_end_0} :catch_0 │ │ .line 111 │ - .end local v3 # "count":J │ + .end local v6 # "count":J │ :catch_0 │ - move-exception v6 │ + move-exception v9 │ │ .line 114 │ - .local v6, "e":Ljava/io/EOFException; │ - new-instance v20, Lorg/tukaani/xz/CorruptedInputException; │ + .local v9, "e":Ljava/io/EOFException; │ + new-instance v17, Lorg/tukaani/xz/CorruptedInputException; │ + │ + const-string v24, "XZ Index is corrupt" │ │ - const-string v21, "XZ Index is corrupt" │ + move-object/from16 v0, v17 │ │ - invoke-direct/range {v20 .. v21}, Lorg/tukaani/xz/CorruptedInputException;->(Ljava/lang/String;)V │ + move-object/from16 v1, v24 │ │ - throw v20 │ + invoke-direct {v0, v1}, Lorg/tukaani/xz/CorruptedInputException;->(Ljava/lang/String;)V │ + │ + throw v17 │ │ .line 72 │ - .end local v6 # "e":Ljava/io/EOFException; │ - .restart local v3 # "count":J │ + .end local v9 # "e":Ljava/io/EOFException; │ + .restart local v6 # "count":J │ :cond_1 │ - const-wide/32 v20, 0x7fffffff │ + const-wide/32 v24, 0x7fffffff │ │ - cmp-long v20, v3, v20 │ + cmp-long v17, v6, v24 │ │ - if-lez v20, :cond_2 │ + if-lez v17, :cond_2 │ │ .line 73 │ :try_start_1 │ - new-instance v20, Lorg/tukaani/xz/UnsupportedOptionsException; │ + new-instance v17, Lorg/tukaani/xz/UnsupportedOptionsException; │ + │ + const-string v24, "XZ Index has over 2147483647 Records" │ │ - const-string v21, "XZ Index has over 2147483647 Records" │ + move-object/from16 v0, v17 │ │ - invoke-direct/range {v20 .. v21}, Lorg/tukaani/xz/UnsupportedOptionsException;->(Ljava/lang/String;)V │ + move-object/from16 v1, v24 │ │ - throw v20 │ + invoke-direct {v0, v1}, Lorg/tukaani/xz/UnsupportedOptionsException;->(Ljava/lang/String;)V │ + │ + throw v17 │ │ .line 78 │ :cond_2 │ - const-wide/16 v20, 0x10 │ + const-wide/16 v24, 0x10 │ │ - mul-long v20, v20, v3 │ + mul-long v24, v24, v6 │ │ - const-wide/16 v22, 0x3ff │ + const-wide/16 v26, 0x3ff │ │ - add-long v20, v20, v22 │ + add-long v24, v24, v26 │ │ - const-wide/16 v22, 0x400 │ + const-wide/16 v26, 0x400 │ │ - div-long v20, v20, v22 │ + div-long v24, v24, v26 │ │ - move-wide/from16 v0, v20 │ + move-wide/from16 v0, v24 │ │ long-to-int v0, v0 │ │ - move/from16 v20, v0 │ + move/from16 v17, v0 │ │ - add-int/lit8 v20, v20, 0x1 │ + add-int/lit8 v17, v17, 0x1 │ │ - move/from16 v0, v20 │ + move/from16 v0, v17 │ │ move-object/from16 v1, p0 │ │ iput v0, v1, Lorg/tukaani/xz/index/IndexDecoder;->memoryUsage:I │ │ .line 79 │ if-ltz p5, :cond_3 │ │ move-object/from16 v0, p0 │ │ iget v0, v0, Lorg/tukaani/xz/index/IndexDecoder;->memoryUsage:I │ │ - move/from16 v20, v0 │ + move/from16 v17, v0 │ │ - move/from16 v0, v20 │ + move/from16 v0, v17 │ │ move/from16 v1, p5 │ │ if-le v0, v1, :cond_3 │ │ .line 80 │ - new-instance v20, Lorg/tukaani/xz/MemoryLimitException; │ + new-instance v17, Lorg/tukaani/xz/MemoryLimitException; │ │ move-object/from16 v0, p0 │ │ iget v0, v0, Lorg/tukaani/xz/index/IndexDecoder;->memoryUsage:I │ │ - move/from16 v21, v0 │ + move/from16 v24, v0 │ │ - move-object/from16 v0, v20 │ + move-object/from16 v0, v17 │ │ - move/from16 v1, v21 │ + move/from16 v1, v24 │ │ move/from16 v2, p5 │ │ invoke-direct {v0, v1, v2}, Lorg/tukaani/xz/MemoryLimitException;->(II)V │ │ - throw v20 │ + throw v17 │ │ .line 83 │ :cond_3 │ - long-to-int v0, v3 │ + long-to-int v0, v6 │ │ - move/from16 v20, v0 │ + move/from16 v17, v0 │ │ - move/from16 v0, v20 │ + move/from16 v0, v17 │ │ new-array v0, v0, [J │ │ - move-object/from16 v20, v0 │ + move-object/from16 v17, v0 │ │ - move-object/from16 v0, v20 │ + move-object/from16 v0, v17 │ │ move-object/from16 v1, p0 │ │ iput-object v0, v1, Lorg/tukaani/xz/index/IndexDecoder;->unpadded:[J │ │ .line 84 │ - long-to-int v0, v3 │ + long-to-int v0, v6 │ │ - move/from16 v20, v0 │ + move/from16 v17, v0 │ │ - move/from16 v0, v20 │ + move/from16 v0, v17 │ │ new-array v0, v0, [J │ │ - move-object/from16 v20, v0 │ + move-object/from16 v17, v0 │ │ - move-object/from16 v0, v20 │ + move-object/from16 v0, v17 │ │ move-object/from16 v1, p0 │ │ iput-object v0, v1, Lorg/tukaani/xz/index/IndexDecoder;->uncompressed:[J │ │ .line 85 │ - const/4 v13, 0x0 │ + const/16 v16, 0x0 │ │ .line 88 │ - .local v13, "record":I │ - long-to-int v9, v3 │ + .local v16, "record":I │ + long-to-int v12, v6 │ │ - .local v9, "i":I │ + .local v12, "i":I │ :goto_0 │ - if-lez v9, :cond_7 │ + if-lez v12, :cond_7 │ │ .line 90 │ - invoke-static {v10}, Lorg/tukaani/xz/common/DecoderUtil;->decodeVLI(Ljava/io/InputStream;)J │ + invoke-static {v13}, Lorg/tukaani/xz/common/DecoderUtil;->decodeVLI(Ljava/io/InputStream;)J │ │ - move-result-wide v16 │ + move-result-wide v20 │ │ .line 91 │ - .local v16, "unpaddedSize":J │ - invoke-static {v10}, Lorg/tukaani/xz/common/DecoderUtil;->decodeVLI(Ljava/io/InputStream;)J │ + .local v20, "unpaddedSize":J │ + invoke-static {v13}, Lorg/tukaani/xz/common/DecoderUtil;->decodeVLI(Ljava/io/InputStream;)J │ │ - move-result-wide v14 │ + move-result-wide v18 │ │ .line 97 │ - .local v14, "uncompressedSize":J │ + .local v18, "uncompressedSize":J │ invoke-virtual/range {p1 .. p1}, Lorg/tukaani/xz/SeekableInputStream;->position()J │ │ - move-result-wide v20 │ + move-result-wide v24 │ │ - cmp-long v20, v20, v7 │ + cmp-long v17, v24, v10 │ │ - if-lez v20, :cond_4 │ + if-lez v17, :cond_4 │ │ .line 98 │ - new-instance v20, Lorg/tukaani/xz/CorruptedInputException; │ + new-instance v17, Lorg/tukaani/xz/CorruptedInputException; │ + │ + const-string v24, "XZ Index is corrupt" │ │ - const-string v21, "XZ Index is corrupt" │ + move-object/from16 v0, v17 │ │ - invoke-direct/range {v20 .. v21}, Lorg/tukaani/xz/CorruptedInputException;->(Ljava/lang/String;)V │ + move-object/from16 v1, v24 │ │ - throw v20 │ + invoke-direct {v0, v1}, Lorg/tukaani/xz/CorruptedInputException;->(Ljava/lang/String;)V │ + │ + throw v17 │ │ .line 101 │ :cond_4 │ move-object/from16 v0, p0 │ │ iget-object v0, v0, Lorg/tukaani/xz/index/IndexDecoder;->unpadded:[J │ │ - move-object/from16 v20, v0 │ + move-object/from16 v17, v0 │ │ move-object/from16 v0, p0 │ │ iget-wide v0, v0, Lorg/tukaani/xz/index/IndexDecoder;->blocksSum:J │ │ - move-wide/from16 v21, v0 │ + move-wide/from16 v24, v0 │ │ - add-long v21, v21, v16 │ + add-long v24, v24, v20 │ │ - aput-wide v21, v20, v13 │ + aput-wide v24, v17, v16 │ │ .line 102 │ move-object/from16 v0, p0 │ │ iget-object v0, v0, Lorg/tukaani/xz/index/IndexDecoder;->uncompressed:[J │ │ - move-object/from16 v20, v0 │ + move-object/from16 v17, v0 │ │ move-object/from16 v0, p0 │ │ iget-wide v0, v0, Lorg/tukaani/xz/index/IndexDecoder;->uncompressedSum:J │ │ - move-wide/from16 v21, v0 │ + move-wide/from16 v24, v0 │ │ - add-long v21, v21, v14 │ + add-long v24, v24, v18 │ │ - aput-wide v21, v20, v13 │ + aput-wide v24, v17, v16 │ │ .line 103 │ - add-int/lit8 v13, v13, 0x1 │ + add-int/lit8 v16, v16, 0x1 │ │ .line 104 │ move-object/from16 v0, p0 │ │ - move-wide/from16 v1, v16 │ + move-wide/from16 v1, v20 │ + │ + move-wide/from16 v3, v18 │ │ - invoke-super {v0, v1, v2, v14, v15}, Lorg/tukaani/xz/index/IndexBase;->add(JJ)V │ + invoke-super {v0, v1, v2, v3, v4}, Lorg/tukaani/xz/index/IndexBase;->add(JJ)V │ │ .line 105 │ - sget-boolean v20, Lorg/tukaani/xz/index/IndexDecoder;->$assertionsDisabled:Z │ + sget-boolean v17, Lorg/tukaani/xz/index/IndexDecoder;->$assertionsDisabled:Z │ │ - if-nez v20, :cond_5 │ + if-nez v17, :cond_5 │ │ - int-to-long v0, v13 │ + move/from16 v0, v16 │ │ - move-wide/from16 v20, v0 │ + int-to-long v0, v0 │ + │ + move-wide/from16 v24, v0 │ │ move-object/from16 v0, p0 │ │ iget-wide v0, v0, Lorg/tukaani/xz/index/IndexDecoder;->recordCount:J │ │ - move-wide/from16 v22, v0 │ + move-wide/from16 v26, v0 │ │ - cmp-long v20, v20, v22 │ + cmp-long v17, v24, v26 │ │ - if-eqz v20, :cond_5 │ + if-eqz v17, :cond_5 │ │ - new-instance v20, Ljava/lang/AssertionError; │ + new-instance v17, Ljava/lang/AssertionError; │ │ - invoke-direct/range {v20 .. v20}, Ljava/lang/AssertionError;->()V │ + invoke-direct/range {v17 .. v17}, Ljava/lang/AssertionError;->()V │ │ - throw v20 │ + throw v17 │ │ .line 108 │ :cond_5 │ move-object/from16 v0, p0 │ │ iget-wide v0, v0, Lorg/tukaani/xz/index/IndexDecoder;->largestBlockSize:J │ │ - move-wide/from16 v20, v0 │ + move-wide/from16 v24, v0 │ │ - cmp-long v20, v20, v14 │ + cmp-long v17, v24, v18 │ │ - if-gez v20, :cond_6 │ + if-gez v17, :cond_6 │ │ .line 109 │ - move-object/from16 v0, p0 │ + move-wide/from16 v0, v18 │ │ - iput-wide v14, v0, Lorg/tukaani/xz/index/IndexDecoder;->largestBlockSize:J │ + move-object/from16 v2, p0 │ + │ + iput-wide v0, v2, Lorg/tukaani/xz/index/IndexDecoder;->largestBlockSize:J │ :try_end_1 │ .catch Ljava/io/EOFException; {:try_start_1 .. :try_end_1} :catch_0 │ │ .line 88 │ :cond_6 │ - add-int/lit8 v9, v9, -0x1 │ + add-int/lit8 v12, v12, -0x1 │ │ goto :goto_0 │ │ .line 119 │ - .end local v14 # "uncompressedSize":J │ - .end local v16 # "unpaddedSize":J │ + .end local v18 # "uncompressedSize":J │ + .end local v20 # "unpaddedSize":J │ :cond_7 │ invoke-virtual/range {p0 .. p0}, Lorg/tukaani/xz/index/IndexDecoder;->getIndexPaddingSize()I │ │ - move-result v11 │ + move-result v14 │ │ .line 120 │ - .local v11, "indexPaddingSize":I │ + .local v14, "indexPaddingSize":I │ invoke-virtual/range {p1 .. p1}, Lorg/tukaani/xz/SeekableInputStream;->position()J │ │ - move-result-wide v20 │ + move-result-wide v24 │ │ - int-to-long v0, v11 │ + int-to-long v0, v14 │ │ - move-wide/from16 v22, v0 │ + move-wide/from16 v26, v0 │ │ - add-long v20, v20, v22 │ + add-long v24, v24, v26 │ │ - cmp-long v20, v20, v7 │ + cmp-long v17, v24, v10 │ │ - if-eqz v20, :cond_8 │ + if-eqz v17, :cond_8 │ │ .line 121 │ - new-instance v20, Lorg/tukaani/xz/CorruptedInputException; │ + new-instance v17, Lorg/tukaani/xz/CorruptedInputException; │ + │ + const-string v24, "XZ Index is corrupt" │ │ - const-string v21, "XZ Index is corrupt" │ + move-object/from16 v0, v17 │ │ - invoke-direct/range {v20 .. v21}, Lorg/tukaani/xz/CorruptedInputException;->(Ljava/lang/String;)V │ + move-object/from16 v1, v24 │ │ - throw v20 │ + invoke-direct {v0, v1}, Lorg/tukaani/xz/CorruptedInputException;->(Ljava/lang/String;)V │ + │ + throw v17 │ │ :cond_8 │ - move v12, v11 │ + move v15, v14 │ │ .line 124 │ - .end local v11 # "indexPaddingSize":I │ - .local v12, "indexPaddingSize":I │ - add-int/lit8 v11, v12, -0x1 │ - │ - .end local v12 # "indexPaddingSize":I │ - .restart local v11 # "indexPaddingSize":I │ - if-lez v12, :cond_9 │ + .end local v14 # "indexPaddingSize":I │ + .local v15, "indexPaddingSize":I │ + add-int/lit8 v14, v15, -0x1 │ + │ + .end local v15 # "indexPaddingSize":I │ + .restart local v14 # "indexPaddingSize":I │ + if-lez v15, :cond_9 │ │ .line 125 │ - invoke-virtual {v10}, Ljava/util/zip/CheckedInputStream;->read()I │ + invoke-virtual {v13}, Ljava/util/zip/CheckedInputStream;->read()I │ │ - move-result v20 │ + move-result v17 │ │ - if-eqz v20, :cond_8 │ + if-eqz v17, :cond_8 │ │ .line 126 │ - new-instance v20, Lorg/tukaani/xz/CorruptedInputException; │ + new-instance v17, Lorg/tukaani/xz/CorruptedInputException; │ + │ + const-string v24, "XZ Index is corrupt" │ + │ + move-object/from16 v0, v17 │ │ - const-string v21, "XZ Index is corrupt" │ + move-object/from16 v1, v24 │ │ - invoke-direct/range {v20 .. v21}, Lorg/tukaani/xz/CorruptedInputException;->(Ljava/lang/String;)V │ + invoke-direct {v0, v1}, Lorg/tukaani/xz/CorruptedInputException;->(Ljava/lang/String;)V │ │ - throw v20 │ + throw v17 │ │ .line 129 │ :cond_9 │ - invoke-virtual {v5}, Ljava/util/zip/CRC32;->getValue()J │ + invoke-virtual {v8}, Ljava/util/zip/CRC32;->getValue()J │ │ - move-result-wide v18 │ + move-result-wide v22 │ │ .line 130 │ - .local v18, "value":J │ - const/4 v9, 0x0 │ + .local v22, "value":J │ + const/4 v12, 0x0 │ │ :goto_1 │ - const/16 v20, 0x4 │ + const/16 v17, 0x4 │ │ - move/from16 v0, v20 │ + move/from16 v0, v17 │ │ - if-ge v9, v0, :cond_b │ + if-ge v12, v0, :cond_b │ │ .line 131 │ - mul-int/lit8 v20, v9, 0x8 │ + mul-int/lit8 v17, v12, 0x8 │ │ - ushr-long v20, v18, v20 │ + ushr-long v24, v22, v17 │ │ - const-wide/16 v22, 0xff │ + const-wide/16 v26, 0xff │ │ - and-long v20, v20, v22 │ + and-long v24, v24, v26 │ │ invoke-virtual/range {p1 .. p1}, Lorg/tukaani/xz/SeekableInputStream;->read()I │ │ - move-result v22 │ + move-result v17 │ │ - move/from16 v0, v22 │ + move/from16 v0, v17 │ │ int-to-long v0, v0 │ │ - move-wide/from16 v22, v0 │ + move-wide/from16 v26, v0 │ │ - cmp-long v20, v20, v22 │ + cmp-long v17, v24, v26 │ │ - if-eqz v20, :cond_a │ + if-eqz v17, :cond_a │ │ .line 132 │ - new-instance v20, Lorg/tukaani/xz/CorruptedInputException; │ + new-instance v17, Lorg/tukaani/xz/CorruptedInputException; │ + │ + const-string v24, "XZ Index is corrupt" │ │ - const-string v21, "XZ Index is corrupt" │ + move-object/from16 v0, v17 │ │ - invoke-direct/range {v20 .. v21}, Lorg/tukaani/xz/CorruptedInputException;->(Ljava/lang/String;)V │ + move-object/from16 v1, v24 │ │ - throw v20 │ + invoke-direct {v0, v1}, Lorg/tukaani/xz/CorruptedInputException;->(Ljava/lang/String;)V │ + │ + throw v17 │ │ .line 130 │ :cond_a │ - add-int/lit8 v9, v9, 0x1 │ + add-int/lit8 v12, v12, 0x1 │ │ goto :goto_1 │ │ .line 133 │ :cond_b │ return-void │ .end method │ @@ -711,15 +753,15 @@ │ :cond_0 │ const/4 v0, 0x0 │ │ goto :goto_0 │ .end method │ │ .method public hasUncompressedOffset(J)Z │ - .locals 4 │ + .locals 5 │ .param p1, "pos" # J │ │ .prologue │ .line 168 │ iget-wide v0, p0, Lorg/tukaani/xz/index/IndexDecoder;->uncompressedOffset:J │ │ cmp-long v0, p1, v0 │ @@ -744,50 +786,50 @@ │ :cond_0 │ const/4 v0, 0x0 │ │ goto :goto_0 │ .end method │ │ .method public locateBlock(Lorg/tukaani/xz/index/BlockInfo;J)V │ - .locals 5 │ + .locals 6 │ .param p1, "info" # Lorg/tukaani/xz/index/BlockInfo; │ .param p2, "target" # J │ │ .prologue │ .line 178 │ sget-boolean v3, Lorg/tukaani/xz/index/IndexDecoder;->$assertionsDisabled:Z │ │ if-nez v3, :cond_0 │ │ - iget-wide v3, p0, Lorg/tukaani/xz/index/IndexDecoder;->uncompressedOffset:J │ + iget-wide v4, p0, Lorg/tukaani/xz/index/IndexDecoder;->uncompressedOffset:J │ │ - cmp-long v3, p2, v3 │ + cmp-long v3, p2, v4 │ │ if-gez v3, :cond_0 │ │ new-instance v3, Ljava/lang/AssertionError; │ │ invoke-direct {v3}, Ljava/lang/AssertionError;->()V │ │ throw v3 │ │ .line 179 │ :cond_0 │ - iget-wide v3, p0, Lorg/tukaani/xz/index/IndexDecoder;->uncompressedOffset:J │ + iget-wide v4, p0, Lorg/tukaani/xz/index/IndexDecoder;->uncompressedOffset:J │ │ - sub-long/2addr p2, v3 │ + sub-long/2addr p2, v4 │ │ .line 180 │ sget-boolean v3, Lorg/tukaani/xz/index/IndexDecoder;->$assertionsDisabled:Z │ │ if-nez v3, :cond_1 │ │ - iget-wide v3, p0, Lorg/tukaani/xz/index/IndexDecoder;->uncompressedSum:J │ + iget-wide v4, p0, Lorg/tukaani/xz/index/IndexDecoder;->uncompressedSum:J │ │ - cmp-long v3, p2, v3 │ + cmp-long v3, p2, v4 │ │ if-ltz v3, :cond_1 │ │ new-instance v3, Ljava/lang/AssertionError; │ │ invoke-direct {v3}, Ljava/lang/AssertionError;->()V │ │ @@ -817,17 +859,17 @@ │ │ add-int v0, v1, v3 │ │ .line 188 │ .local v0, "i":I │ iget-object v3, p0, Lorg/tukaani/xz/index/IndexDecoder;->uncompressed:[J │ │ - aget-wide v3, v3, v0 │ + aget-wide v4, v3, v0 │ │ - cmp-long v3, v3, p2 │ + cmp-long v3, v4, p2 │ │ if-gtz v3, :cond_2 │ │ .line 189 │ add-int/lit8 v1, v0, 0x1 │ │ goto :goto_0 │ @@ -848,20 +890,20 @@ │ invoke-virtual {p0, p1, v3}, Lorg/tukaani/xz/index/IndexDecoder;->setBlockInfo(Lorg/tukaani/xz/index/BlockInfo;I)V │ │ .line 195 │ return-void │ .end method │ │ .method public setBlockInfo(Lorg/tukaani/xz/index/BlockInfo;I)V │ - .locals 7 │ + .locals 8 │ .param p1, "info" # Lorg/tukaani/xz/index/BlockInfo; │ .param p2, "blockNumber" # I │ │ .prologue │ - const-wide/16 v5, 0x0 │ + const-wide/16 v6, 0x0 │ │ .line 200 │ sget-boolean v1, Lorg/tukaani/xz/index/IndexDecoder;->$assertionsDisabled:Z │ │ if-nez v1, :cond_0 │ │ iget v1, p0, Lorg/tukaani/xz/index/IndexDecoder;->recordOffset:I │ @@ -880,19 +922,19 @@ │ │ if-nez v1, :cond_1 │ │ iget v1, p0, Lorg/tukaani/xz/index/IndexDecoder;->recordOffset:I │ │ sub-int v1, p2, v1 │ │ - int-to-long v1, v1 │ + int-to-long v2, v1 │ │ - iget-wide v3, p0, Lorg/tukaani/xz/index/IndexDecoder;->recordCount:J │ + iget-wide v4, p0, Lorg/tukaani/xz/index/IndexDecoder;->recordCount:J │ │ - cmp-long v1, v1, v3 │ + cmp-long v1, v2, v4 │ │ if-ltz v1, :cond_1 │ │ new-instance v1, Ljava/lang/AssertionError; │ │ invoke-direct {v1}, Ljava/lang/AssertionError;->()V │ │ @@ -911,116 +953,117 @@ │ sub-int v0, p2, v1 │ │ .line 208 │ .local v0, "pos":I │ if-nez v0, :cond_2 │ │ .line 209 │ - iput-wide v5, p1, Lorg/tukaani/xz/index/BlockInfo;->compressedOffset:J │ + iput-wide v6, p1, Lorg/tukaani/xz/index/BlockInfo;->compressedOffset:J │ │ .line 210 │ - iput-wide v5, p1, Lorg/tukaani/xz/index/BlockInfo;->uncompressedOffset:J │ + iput-wide v6, p1, Lorg/tukaani/xz/index/BlockInfo;->uncompressedOffset:J │ │ .line 216 │ :goto_0 │ iget-object v1, p0, Lorg/tukaani/xz/index/IndexDecoder;->unpadded:[J │ │ - aget-wide v1, v1, v0 │ + aget-wide v2, v1, v0 │ │ - iget-wide v3, p1, Lorg/tukaani/xz/index/BlockInfo;->compressedOffset:J │ + iget-wide v4, p1, Lorg/tukaani/xz/index/BlockInfo;->compressedOffset:J │ │ - sub-long/2addr v1, v3 │ + sub-long/2addr v2, v4 │ │ - iput-wide v1, p1, Lorg/tukaani/xz/index/BlockInfo;->unpaddedSize:J │ + iput-wide v2, p1, Lorg/tukaani/xz/index/BlockInfo;->unpaddedSize:J │ │ .line 217 │ iget-object v1, p0, Lorg/tukaani/xz/index/IndexDecoder;->uncompressed:[J │ │ - aget-wide v1, v1, v0 │ + aget-wide v2, v1, v0 │ │ - iget-wide v3, p1, Lorg/tukaani/xz/index/BlockInfo;->uncompressedOffset:J │ + iget-wide v4, p1, Lorg/tukaani/xz/index/BlockInfo;->uncompressedOffset:J │ │ - sub-long/2addr v1, v3 │ + sub-long/2addr v2, v4 │ │ - iput-wide v1, p1, Lorg/tukaani/xz/index/BlockInfo;->uncompressedSize:J │ + iput-wide v2, p1, Lorg/tukaani/xz/index/BlockInfo;->uncompressedSize:J │ │ .line 219 │ - iget-wide v1, p1, Lorg/tukaani/xz/index/BlockInfo;->compressedOffset:J │ + iget-wide v2, p1, Lorg/tukaani/xz/index/BlockInfo;->compressedOffset:J │ │ - iget-wide v3, p0, Lorg/tukaani/xz/index/IndexDecoder;->compressedOffset:J │ + iget-wide v4, p0, Lorg/tukaani/xz/index/IndexDecoder;->compressedOffset:J │ │ - const-wide/16 v5, 0xc │ + const-wide/16 v6, 0xc │ │ - add-long/2addr v3, v5 │ + add-long/2addr v4, v6 │ │ - add-long/2addr v1, v3 │ + add-long/2addr v2, v4 │ │ - iput-wide v1, p1, Lorg/tukaani/xz/index/BlockInfo;->compressedOffset:J │ + iput-wide v2, p1, Lorg/tukaani/xz/index/BlockInfo;->compressedOffset:J │ │ .line 221 │ - iget-wide v1, p1, Lorg/tukaani/xz/index/BlockInfo;->uncompressedOffset:J │ + iget-wide v2, p1, Lorg/tukaani/xz/index/BlockInfo;->uncompressedOffset:J │ │ - iget-wide v3, p0, Lorg/tukaani/xz/index/IndexDecoder;->uncompressedOffset:J │ + iget-wide v4, p0, Lorg/tukaani/xz/index/IndexDecoder;->uncompressedOffset:J │ │ - add-long/2addr v1, v3 │ + add-long/2addr v2, v4 │ │ - iput-wide v1, p1, Lorg/tukaani/xz/index/BlockInfo;->uncompressedOffset:J │ + iput-wide v2, p1, Lorg/tukaani/xz/index/BlockInfo;->uncompressedOffset:J │ │ .line 222 │ return-void │ │ .line 212 │ :cond_2 │ iget-object v1, p0, Lorg/tukaani/xz/index/IndexDecoder;->unpadded:[J │ │ add-int/lit8 v2, v0, -0x1 │ │ - aget-wide v1, v1, v2 │ + aget-wide v2, v1, v2 │ │ - const-wide/16 v3, 0x3 │ + const-wide/16 v4, 0x3 │ │ - add-long/2addr v1, v3 │ + add-long/2addr v2, v4 │ │ - const-wide/16 v3, -0x4 │ + const-wide/16 v4, -0x4 │ │ - and-long/2addr v1, v3 │ + and-long/2addr v2, v4 │ │ - iput-wide v1, p1, Lorg/tukaani/xz/index/BlockInfo;->compressedOffset:J │ + iput-wide v2, p1, Lorg/tukaani/xz/index/BlockInfo;->compressedOffset:J │ │ .line 213 │ iget-object v1, p0, Lorg/tukaani/xz/index/IndexDecoder;->uncompressed:[J │ │ add-int/lit8 v2, v0, -0x1 │ │ - aget-wide v1, v1, v2 │ + aget-wide v2, v1, v2 │ │ - iput-wide v1, p1, Lorg/tukaani/xz/index/BlockInfo;->uncompressedOffset:J │ + iput-wide v2, p1, Lorg/tukaani/xz/index/BlockInfo;->uncompressedOffset:J │ │ goto :goto_0 │ .end method │ │ .method public setOffsets(Lorg/tukaani/xz/index/IndexDecoder;)V │ .locals 4 │ .param p1, "prev" # Lorg/tukaani/xz/index/IndexDecoder; │ │ .prologue │ .line 138 │ iget v0, p1, Lorg/tukaani/xz/index/IndexDecoder;->recordOffset:I │ │ - iget-wide v1, p1, Lorg/tukaani/xz/index/IndexDecoder;->recordCount:J │ + iget-wide v2, p1, Lorg/tukaani/xz/index/IndexDecoder;->recordCount:J │ │ - long-to-int v1, v1 │ + long-to-int v1, v2 │ │ add-int/2addr v0, v1 │ │ iput v0, p0, Lorg/tukaani/xz/index/IndexDecoder;->recordOffset:I │ │ .line 139 │ iget-wide v0, p1, Lorg/tukaani/xz/index/IndexDecoder;->compressedOffset:J │ │ + .line 140 │ invoke-virtual {p1}, Lorg/tukaani/xz/index/IndexDecoder;->getStreamSize()J │ │ move-result-wide v2 │ │ add-long/2addr v0, v2 │ │ iget-wide v2, p1, Lorg/tukaani/xz/index/IndexDecoder;->streamPadding:J ├── smali/org/tukaani/xz/index/IndexBase.smali │ @@ -70,15 +70,15 @@ │ │ return-wide v0 │ .end method │ │ │ # virtual methods │ .method add(JJ)V │ - .locals 8 │ + .locals 9 │ .param p1, "unpaddedSize" # J │ .param p3, "uncompressedSize" # J │ .annotation system Ldalvik/annotation/Throws; │ value = { │ Lorg/tukaani/xz/XZIOException; │ } │ .end annotation │ @@ -111,14 +111,15 @@ │ .line 47 │ iget-wide v0, p0, Lorg/tukaani/xz/index/IndexBase;->indexListSize:J │ │ invoke-static {p1, p2}, Lorg/tukaani/xz/common/Util;->getVLISize(J)I │ │ move-result v2 │ │ + .line 48 │ invoke-static {p3, p4}, Lorg/tukaani/xz/common/Util;->getVLISize(J)I │ │ move-result v3 │ │ add-int/2addr v2, v3 │ │ int-to-long v2, v2 │ @@ -145,24 +146,26 @@ │ │ iget-wide v0, p0, Lorg/tukaani/xz/index/IndexBase;->uncompressedSum:J │ │ cmp-long v0, v0, v6 │ │ if-ltz v0, :cond_0 │ │ + .line 52 │ invoke-virtual {p0}, Lorg/tukaani/xz/index/IndexBase;->getIndexSize()J │ │ move-result-wide v0 │ │ const-wide v2, 0x400000000L │ │ cmp-long v0, v0, v2 │ │ if-gtz v0, :cond_0 │ │ + .line 53 │ invoke-virtual {p0}, Lorg/tukaani/xz/index/IndexBase;->getStreamSize()J │ │ move-result-wide v0 │ │ cmp-long v0, v0, v6 │ │ if-gez v0, :cond_1 ├── smali/org/tukaani/xz/index/IndexEncoder.smali │ @@ -31,15 +31,15 @@ │ .line 25 │ return-void │ .end method │ │ │ # virtual methods │ .method public add(JJ)V │ - .locals 2 │ + .locals 3 │ .param p1, "unpaddedSize" # J │ .param p3, "uncompressedSize" # J │ .annotation system Ldalvik/annotation/Throws; │ value = { │ Lorg/tukaani/xz/XZIOException; │ } │ .end annotation ├── smali/org/tukaani/xz/index/IndexHash.smali │ @@ -112,15 +112,15 @@ │ │ move-result-wide v0 │ │ return-wide v0 │ .end method │ │ .method public validate(Ljava/io/InputStream;)V │ - .locals 21 │ + .locals 22 │ .param p1, "in" # Ljava/io/InputStream; │ .annotation system Ldalvik/annotation/Throws; │ value = { │ Ljava/io/IOException; │ } │ .end annotation │ │ @@ -128,53 +128,53 @@ │ .line 48 │ new-instance v2, Ljava/util/zip/CRC32; │ │ invoke-direct {v2}, Ljava/util/zip/CRC32;->()V │ │ .line 49 │ .local v2, "crc32":Ljava/util/zip/CRC32; │ - const/16 v17, 0x0 │ + const/4 v9, 0x0 │ │ - move/from16 v0, v17 │ - │ - invoke-virtual {v2, v0}, Ljava/util/zip/CRC32;->update(I)V │ + invoke-virtual {v2, v9}, Ljava/util/zip/CRC32;->update(I)V │ │ .line 50 │ new-instance v6, Ljava/util/zip/CheckedInputStream; │ │ move-object/from16 v0, p1 │ │ invoke-direct {v6, v0, v2}, Ljava/util/zip/CheckedInputStream;->(Ljava/io/InputStream;Ljava/util/zip/Checksum;)V │ │ .line 53 │ .local v6, "inChecked":Ljava/util/zip/CheckedInputStream; │ invoke-static {v6}, Lorg/tukaani/xz/common/DecoderUtil;->decodeVLI(Ljava/io/InputStream;)J │ │ - move-result-wide v9 │ + move-result-wide v10 │ │ .line 54 │ - .local v9, "storedRecordCount":J │ + .local v10, "storedRecordCount":J │ move-object/from16 v0, p0 │ │ iget-wide v0, v0, Lorg/tukaani/xz/index/IndexHash;->recordCount:J │ │ - move-wide/from16 v17, v0 │ + move-wide/from16 v18, v0 │ │ - cmp-long v17, v9, v17 │ + cmp-long v9, v10, v18 │ │ - if-eqz v17, :cond_0 │ + if-eqz v9, :cond_0 │ │ .line 55 │ - new-instance v17, Lorg/tukaani/xz/CorruptedInputException; │ + new-instance v9, Lorg/tukaani/xz/CorruptedInputException; │ │ const-string v18, "XZ Index is corrupt" │ │ - invoke-direct/range {v17 .. v18}, Lorg/tukaani/xz/CorruptedInputException;->(Ljava/lang/String;)V │ + move-object/from16 v0, v18 │ + │ + invoke-direct {v9, v0}, Lorg/tukaani/xz/CorruptedInputException;->(Ljava/lang/String;)V │ │ - throw v17 │ + throw v9 │ │ .line 59 │ :cond_0 │ new-instance v8, Lorg/tukaani/xz/index/IndexHash; │ │ invoke-direct {v8}, Lorg/tukaani/xz/index/IndexHash;->()V │ │ @@ -184,193 +184,200 @@ │ │ .local v4, "i":J │ :goto_0 │ move-object/from16 v0, p0 │ │ iget-wide v0, v0, Lorg/tukaani/xz/index/IndexHash;->recordCount:J │ │ - move-wide/from16 v17, v0 │ + move-wide/from16 v18, v0 │ │ - cmp-long v17, v4, v17 │ + cmp-long v9, v4, v18 │ │ - if-gez v17, :cond_3 │ + if-gez v9, :cond_3 │ │ .line 61 │ invoke-static {v6}, Lorg/tukaani/xz/common/DecoderUtil;->decodeVLI(Ljava/io/InputStream;)J │ │ - move-result-wide v13 │ + move-result-wide v14 │ │ .line 62 │ - .local v13, "unpaddedSize":J │ + .local v14, "unpaddedSize":J │ invoke-static {v6}, Lorg/tukaani/xz/common/DecoderUtil;->decodeVLI(Ljava/io/InputStream;)J │ │ - move-result-wide v11 │ + move-result-wide v12 │ │ .line 65 │ - .local v11, "uncompressedSize":J │ + .local v12, "uncompressedSize":J │ :try_start_0 │ - invoke-virtual {v8, v13, v14, v11, v12}, Lorg/tukaani/xz/index/IndexHash;->add(JJ)V │ + invoke-virtual {v8, v14, v15, v12, v13}, Lorg/tukaani/xz/index/IndexHash;->add(JJ)V │ :try_end_0 │ .catch Lorg/tukaani/xz/XZIOException; {:try_start_0 .. :try_end_0} :catch_0 │ │ .line 70 │ iget-wide v0, v8, Lorg/tukaani/xz/index/IndexHash;->blocksSum:J │ │ - move-wide/from16 v17, v0 │ + move-wide/from16 v18, v0 │ │ move-object/from16 v0, p0 │ │ iget-wide v0, v0, Lorg/tukaani/xz/index/IndexHash;->blocksSum:J │ │ - move-wide/from16 v19, v0 │ + move-wide/from16 v20, v0 │ │ - cmp-long v17, v17, v19 │ + cmp-long v9, v18, v20 │ │ - if-gtz v17, :cond_1 │ + if-gtz v9, :cond_1 │ │ iget-wide v0, v8, Lorg/tukaani/xz/index/IndexHash;->uncompressedSum:J │ │ - move-wide/from16 v17, v0 │ + move-wide/from16 v18, v0 │ │ move-object/from16 v0, p0 │ │ iget-wide v0, v0, Lorg/tukaani/xz/index/IndexHash;->uncompressedSum:J │ │ - move-wide/from16 v19, v0 │ + move-wide/from16 v20, v0 │ │ - cmp-long v17, v17, v19 │ + cmp-long v9, v18, v20 │ │ - if-gtz v17, :cond_1 │ + if-gtz v9, :cond_1 │ │ iget-wide v0, v8, Lorg/tukaani/xz/index/IndexHash;->indexListSize:J │ │ - move-wide/from16 v17, v0 │ + move-wide/from16 v18, v0 │ │ move-object/from16 v0, p0 │ │ iget-wide v0, v0, Lorg/tukaani/xz/index/IndexHash;->indexListSize:J │ │ - move-wide/from16 v19, v0 │ + move-wide/from16 v20, v0 │ │ - cmp-long v17, v17, v19 │ + cmp-long v9, v18, v20 │ │ - if-lez v17, :cond_2 │ + if-lez v9, :cond_2 │ │ .line 73 │ :cond_1 │ - new-instance v17, Lorg/tukaani/xz/CorruptedInputException; │ + new-instance v9, Lorg/tukaani/xz/CorruptedInputException; │ │ const-string v18, "XZ Index is corrupt" │ │ - invoke-direct/range {v17 .. v18}, Lorg/tukaani/xz/CorruptedInputException;->(Ljava/lang/String;)V │ + move-object/from16 v0, v18 │ + │ + invoke-direct {v9, v0}, Lorg/tukaani/xz/CorruptedInputException;->(Ljava/lang/String;)V │ │ - throw v17 │ + throw v9 │ │ .line 66 │ :catch_0 │ move-exception v3 │ │ .line 67 │ .local v3, "e":Lorg/tukaani/xz/XZIOException; │ - new-instance v17, Lorg/tukaani/xz/CorruptedInputException; │ + new-instance v9, Lorg/tukaani/xz/CorruptedInputException; │ │ const-string v18, "XZ Index is corrupt" │ │ - invoke-direct/range {v17 .. v18}, Lorg/tukaani/xz/CorruptedInputException;->(Ljava/lang/String;)V │ + move-object/from16 v0, v18 │ │ - throw v17 │ + invoke-direct {v9, v0}, Lorg/tukaani/xz/CorruptedInputException;->(Ljava/lang/String;)V │ + │ + throw v9 │ │ .line 60 │ .end local v3 # "e":Lorg/tukaani/xz/XZIOException; │ :cond_2 │ - const-wide/16 v17, 0x1 │ + const-wide/16 v18, 0x1 │ │ - add-long v4, v4, v17 │ + add-long v4, v4, v18 │ │ goto :goto_0 │ │ .line 76 │ - .end local v11 # "uncompressedSize":J │ - .end local v13 # "unpaddedSize":J │ + .end local v12 # "uncompressedSize":J │ + .end local v14 # "unpaddedSize":J │ :cond_3 │ iget-wide v0, v8, Lorg/tukaani/xz/index/IndexHash;->blocksSum:J │ │ - move-wide/from16 v17, v0 │ + move-wide/from16 v18, v0 │ │ move-object/from16 v0, p0 │ │ iget-wide v0, v0, Lorg/tukaani/xz/index/IndexHash;->blocksSum:J │ │ - move-wide/from16 v19, v0 │ + move-wide/from16 v20, v0 │ │ - cmp-long v17, v17, v19 │ + cmp-long v9, v18, v20 │ │ - if-nez v17, :cond_4 │ + if-nez v9, :cond_4 │ │ iget-wide v0, v8, Lorg/tukaani/xz/index/IndexHash;->uncompressedSum:J │ │ - move-wide/from16 v17, v0 │ + move-wide/from16 v18, v0 │ │ move-object/from16 v0, p0 │ │ iget-wide v0, v0, Lorg/tukaani/xz/index/IndexHash;->uncompressedSum:J │ │ - move-wide/from16 v19, v0 │ + move-wide/from16 v20, v0 │ │ - cmp-long v17, v17, v19 │ + cmp-long v9, v18, v20 │ │ - if-nez v17, :cond_4 │ + if-nez v9, :cond_4 │ │ iget-wide v0, v8, Lorg/tukaani/xz/index/IndexHash;->indexListSize:J │ │ - move-wide/from16 v17, v0 │ + move-wide/from16 v18, v0 │ │ move-object/from16 v0, p0 │ │ iget-wide v0, v0, Lorg/tukaani/xz/index/IndexHash;->indexListSize:J │ │ - move-wide/from16 v19, v0 │ - │ - cmp-long v17, v17, v19 │ + move-wide/from16 v20, v0 │ │ - if-nez v17, :cond_4 │ + cmp-long v9, v18, v20 │ │ - iget-object v0, v8, Lorg/tukaani/xz/index/IndexHash;->hash:Lorg/tukaani/xz/check/Check; │ + if-nez v9, :cond_4 │ │ - move-object/from16 v17, v0 │ + iget-object v9, v8, Lorg/tukaani/xz/index/IndexHash;->hash:Lorg/tukaani/xz/check/Check; │ │ - invoke-virtual/range {v17 .. v17}, Lorg/tukaani/xz/check/Check;->finish()[B │ + .line 79 │ + invoke-virtual {v9}, Lorg/tukaani/xz/check/Check;->finish()[B │ │ - move-result-object v17 │ + move-result-object v9 │ │ move-object/from16 v0, p0 │ │ iget-object v0, v0, Lorg/tukaani/xz/index/IndexHash;->hash:Lorg/tukaani/xz/check/Check; │ │ move-object/from16 v18, v0 │ │ invoke-virtual/range {v18 .. v18}, Lorg/tukaani/xz/check/Check;->finish()[B │ │ move-result-object v18 │ │ - invoke-static/range {v17 .. v18}, Ljava/util/Arrays;->equals([B[B)Z │ + move-object/from16 v0, v18 │ + │ + invoke-static {v9, v0}, Ljava/util/Arrays;->equals([B[B)Z │ │ - move-result v17 │ + move-result v9 │ │ - if-nez v17, :cond_5 │ + if-nez v9, :cond_5 │ │ .line 80 │ :cond_4 │ - new-instance v17, Lorg/tukaani/xz/CorruptedInputException; │ + new-instance v9, Lorg/tukaani/xz/CorruptedInputException; │ │ const-string v18, "XZ Index is corrupt" │ │ - invoke-direct/range {v17 .. v18}, Lorg/tukaani/xz/CorruptedInputException;->(Ljava/lang/String;)V │ + move-object/from16 v0, v18 │ │ - throw v17 │ + invoke-direct {v9, v0}, Lorg/tukaani/xz/CorruptedInputException;->(Ljava/lang/String;)V │ + │ + throw v9 │ │ .line 83 │ :cond_5 │ new-instance v7, Ljava/io/DataInputStream; │ │ invoke-direct {v7, v6}, Ljava/io/DataInputStream;->(Ljava/io/InputStream;)V │ │ @@ -383,81 +390,81 @@ │ .local v4, "i":I │ :goto_1 │ if-lez v4, :cond_7 │ │ .line 85 │ invoke-virtual {v7}, Ljava/io/DataInputStream;->readUnsignedByte()I │ │ - move-result v17 │ + move-result v9 │ │ - if-eqz v17, :cond_6 │ + if-eqz v9, :cond_6 │ │ .line 86 │ - new-instance v17, Lorg/tukaani/xz/CorruptedInputException; │ + new-instance v9, Lorg/tukaani/xz/CorruptedInputException; │ │ const-string v18, "XZ Index is corrupt" │ │ - invoke-direct/range {v17 .. v18}, Lorg/tukaani/xz/CorruptedInputException;->(Ljava/lang/String;)V │ + move-object/from16 v0, v18 │ + │ + invoke-direct {v9, v0}, Lorg/tukaani/xz/CorruptedInputException;->(Ljava/lang/String;)V │ │ - throw v17 │ + throw v9 │ │ .line 84 │ :cond_6 │ add-int/lit8 v4, v4, -0x1 │ │ goto :goto_1 │ │ .line 89 │ :cond_7 │ invoke-virtual {v2}, Ljava/util/zip/CRC32;->getValue()J │ │ - move-result-wide v15 │ + move-result-wide v16 │ │ .line 90 │ - .local v15, "value":J │ + .local v16, "value":J │ const/4 v4, 0x0 │ │ :goto_2 │ - const/16 v17, 0x4 │ - │ - move/from16 v0, v17 │ + const/4 v9, 0x4 │ │ - if-ge v4, v0, :cond_9 │ + if-ge v4, v9, :cond_9 │ │ .line 91 │ - mul-int/lit8 v17, v4, 0x8 │ + mul-int/lit8 v9, v4, 0x8 │ │ - ushr-long v17, v15, v17 │ + ushr-long v18, v16, v9 │ │ - const-wide/16 v19, 0xff │ + const-wide/16 v20, 0xff │ │ - and-long v17, v17, v19 │ + and-long v18, v18, v20 │ │ invoke-virtual {v7}, Ljava/io/DataInputStream;->readUnsignedByte()I │ │ - move-result v19 │ + move-result v9 │ │ - move/from16 v0, v19 │ + int-to-long v0, v9 │ │ - int-to-long v0, v0 │ + move-wide/from16 v20, v0 │ │ - move-wide/from16 v19, v0 │ + cmp-long v9, v18, v20 │ │ - cmp-long v17, v17, v19 │ - │ - if-eqz v17, :cond_8 │ + if-eqz v9, :cond_8 │ │ .line 92 │ - new-instance v17, Lorg/tukaani/xz/CorruptedInputException; │ + new-instance v9, Lorg/tukaani/xz/CorruptedInputException; │ │ const-string v18, "XZ Index is corrupt" │ │ - invoke-direct/range {v17 .. v18}, Lorg/tukaani/xz/CorruptedInputException;->(Ljava/lang/String;)V │ + move-object/from16 v0, v18 │ + │ + invoke-direct {v9, v0}, Lorg/tukaani/xz/CorruptedInputException;->(Ljava/lang/String;)V │ │ - throw v17 │ + throw v9 │ │ .line 90 │ :cond_8 │ add-int/lit8 v4, v4, 0x1 │ │ goto :goto_2 ├── smali/org/tukaani/xz/index/IndexRecord.smali │ @@ -7,15 +7,15 @@ │ .field final uncompressed:J │ │ .field final unpadded:J │ │ │ # direct methods │ .method constructor (JJ)V │ - .locals 0 │ + .locals 1 │ .param p1, "unpadded" # J │ .param p3, "uncompressed" # J │ │ .prologue │ .line 16 │ invoke-direct {p0}, Ljava/lang/Object;->()V ├── smali/org/tukaani/xz/lzma/LZMACoder$LengthCoder.smali │ @@ -33,14 +33,15 @@ │ │ .field final synthetic this$0:Lorg/tukaani/xz/lzma/LZMACoder; │ │ │ # direct methods │ .method constructor (Lorg/tukaani/xz/lzma/LZMACoder;)V │ .locals 4 │ + .param p1, "this$0" # Lorg/tukaani/xz/lzma/LZMACoder; │ │ .prologue │ const/16 v3, 0x10 │ │ const/16 v2, 0x8 │ │ .line 118 ├── smali/org/tukaani/xz/lzma/LZMACoder$LiteralCoder$LiteralSubcoder.smali │ @@ -19,14 +19,15 @@ │ │ .field final synthetic this$1:Lorg/tukaani/xz/lzma/LZMACoder$LiteralCoder; │ │ │ # direct methods │ .method constructor (Lorg/tukaani/xz/lzma/LZMACoder$LiteralCoder;)V │ .locals 1 │ + .param p1, "this$1" # Lorg/tukaani/xz/lzma/LZMACoder$LiteralCoder; │ │ .prologue │ .line 108 │ iput-object p1, p0, Lorg/tukaani/xz/lzma/LZMACoder$LiteralCoder$LiteralSubcoder;->this$1:Lorg/tukaani/xz/lzma/LZMACoder$LiteralCoder; │ │ invoke-direct {p0}, Ljava/lang/Object;->()V ├── smali/org/tukaani/xz/lzma/LZMACoder$LiteralCoder.smali │ @@ -27,14 +27,15 @@ │ │ .field final synthetic this$0:Lorg/tukaani/xz/lzma/LZMACoder; │ │ │ # direct methods │ .method constructor (Lorg/tukaani/xz/lzma/LZMACoder;II)V │ .locals 1 │ + .param p1, "this$0" # Lorg/tukaani/xz/lzma/LZMACoder; │ .param p2, "lc" # I │ .param p3, "lp" # I │ │ .prologue │ .line 96 │ iput-object p1, p0, Lorg/tukaani/xz/lzma/LZMACoder$LiteralCoder;->this$0:Lorg/tukaani/xz/lzma/LZMACoder; ├── smali/org/tukaani/xz/lzma/LZMADecoder.smali │ @@ -2,15 +2,14 @@ │ .super Lorg/tukaani/xz/lzma/LZMACoder; │ .source "LZMADecoder.java" │ │ │ # annotations │ .annotation system Ldalvik/annotation/MemberClasses; │ value = { │ - Lorg/tukaani/xz/lzma/LZMADecoder$1;, │ Lorg/tukaani/xz/lzma/LZMADecoder$LengthDecoder;, │ Lorg/tukaani/xz/lzma/LZMADecoder$LiteralDecoder; │ } │ .end annotation │ │ │ # instance fields │ @@ -522,14 +521,15 @@ │ │ invoke-virtual {v2, v3, v4}, Lorg/tukaani/xz/rangecoder/RangeDecoder;->decodeBit([SI)I │ │ move-result v2 │ │ if-nez v2, :cond_1 │ │ + .line 59 │ invoke-direct {p0, v1}, Lorg/tukaani/xz/lzma/LZMADecoder;->decodeMatch(I)I │ │ move-result v0 │ │ .line 65 │ .local v0, "len":I │ :goto_1 │ @@ -541,15 +541,15 @@ │ │ aget v3, v3, v4 │ │ invoke-virtual {v2, v3, v0}, Lorg/tukaani/xz/lz/LZDecoder;->repeat(II)V │ │ goto :goto_0 │ │ - .line 58 │ + .line 60 │ .end local v0 # "len":I │ :cond_1 │ invoke-direct {p0, v1}, Lorg/tukaani/xz/lzma/LZMADecoder;->decodeRepMatch(I)I │ │ move-result v0 │ │ goto :goto_1 ├── smali/org/tukaani/xz/lzma/LZMAEncoder$LengthEncoder.smali │ @@ -25,14 +25,15 @@ │ │ .field final synthetic this$0:Lorg/tukaani/xz/lzma/LZMAEncoder; │ │ │ # direct methods │ .method constructor (Lorg/tukaani/xz/lzma/LZMAEncoder;II)V │ .locals 4 │ + .param p1, "this$0" # Lorg/tukaani/xz/lzma/LZMAEncoder; │ .param p2, "pb" # I │ .param p3, "niceLen" # I │ │ .prologue │ .line 631 │ iput-object p1, p0, Lorg/tukaani/xz/lzma/LZMAEncoder$LengthEncoder;->this$0:Lorg/tukaani/xz/lzma/LZMAEncoder; │ │ @@ -114,14 +115,15 @@ │ │ aget-object v3, v3, p1 │ │ iget-object v4, p0, Lorg/tukaani/xz/lzma/LZMAEncoder$LengthEncoder;->low:[[S │ │ aget-object v4, v4, p1 │ │ + .line 693 │ invoke-static {v4, v2}, Lorg/tukaani/xz/rangecoder/RangeEncoder;->getBitTreePrice([SI)I │ │ move-result v4 │ │ add-int/2addr v4, v0 │ │ aput v4, v3, v2 │ @@ -166,14 +168,15 @@ │ │ iget-object v5, p0, Lorg/tukaani/xz/lzma/LZMAEncoder$LengthEncoder;->mid:[[S │ │ aget-object v5, v5, p1 │ │ add-int/lit8 v6, v2, -0x8 │ │ + .line 700 │ invoke-static {v5, v6}, Lorg/tukaani/xz/rangecoder/RangeEncoder;->getBitTreePrice([SI)I │ │ move-result v5 │ │ add-int/2addr v4, v5 │ │ aput v4, v3, v2 │ @@ -212,14 +215,15 @@ │ │ iget-object v5, p0, Lorg/tukaani/xz/lzma/LZMAEncoder$LengthEncoder;->high:[S │ │ add-int/lit8 v6, v2, -0x8 │ │ add-int/lit8 v6, v6, -0x8 │ │ + .line 707 │ invoke-static {v5, v6}, Lorg/tukaani/xz/rangecoder/RangeEncoder;->getBitTreePrice([SI)I │ │ move-result v5 │ │ add-int/2addr v4, v5 │ │ aput v4, v3, v2 ├── smali/org/tukaani/xz/lzma/LZMAEncoder$LiteralEncoder.smali │ @@ -55,14 +55,15 @@ │ const/4 v0, 0x0 │ │ goto :goto_0 │ .end method │ │ .method constructor (Lorg/tukaani/xz/lzma/LZMAEncoder;II)V │ .locals 4 │ + .param p1, "this$0" # Lorg/tukaani/xz/lzma/LZMAEncoder; │ .param p2, "lc" # I │ .param p3, "lp" # I │ │ .prologue │ .line 499 │ iput-object p1, p0, Lorg/tukaani/xz/lzma/LZMAEncoder$LiteralEncoder;->this$0:Lorg/tukaani/xz/lzma/LZMAEncoder; │ │ @@ -151,24 +152,26 @@ │ │ move-result v1 │ │ iget-object v2, p0, Lorg/tukaani/xz/lzma/LZMAEncoder$LiteralEncoder;->this$0:Lorg/tukaani/xz/lzma/LZMAEncoder; │ │ iget-object v2, v2, Lorg/tukaani/xz/lzma/LZMAEncoder;->lz:Lorg/tukaani/xz/lz/LZEncoder; │ │ + .line 523 │ invoke-virtual {v2}, Lorg/tukaani/xz/lz/LZEncoder;->getPos()I │ │ move-result v2 │ │ iget-object v3, p0, Lorg/tukaani/xz/lzma/LZMAEncoder$LiteralEncoder;->this$0:Lorg/tukaani/xz/lzma/LZMAEncoder; │ │ iget v3, v3, Lorg/tukaani/xz/lzma/LZMAEncoder;->readAhead:I │ │ sub-int/2addr v2, v3 │ │ + .line 522 │ invoke-virtual {p0, v1, v2}, Lorg/tukaani/xz/lzma/LZMAEncoder$LiteralEncoder;->getSubcoderIndex(II)I │ │ move-result v0 │ │ .line 524 │ .local v0, "i":I │ iget-object v1, p0, Lorg/tukaani/xz/lzma/LZMAEncoder$LiteralEncoder;->subencoders:[Lorg/tukaani/xz/lzma/LZMAEncoder$LiteralEncoder$LiteralSubencoder; │ @@ -226,14 +229,15 @@ │ │ .prologue │ .line 529 │ iget-object v2, p0, Lorg/tukaani/xz/lzma/LZMAEncoder$LiteralEncoder;->this$0:Lorg/tukaani/xz/lzma/LZMAEncoder; │ │ iget-object v2, v2, Lorg/tukaani/xz/lzma/LZMAEncoder;->isMatch:[[S │ │ + .line 530 │ invoke-virtual {p5}, Lorg/tukaani/xz/lzma/State;->get()I │ │ move-result v3 │ │ aget-object v2, v2, v3 │ │ iget-object v3, p0, Lorg/tukaani/xz/lzma/LZMAEncoder$LiteralEncoder;->this$0:Lorg/tukaani/xz/lzma/LZMAEncoder; │ @@ -242,14 +246,15 @@ │ │ and-int/2addr v3, p4 │ │ aget-short v2, v2, v3 │ │ const/4 v3, 0x0 │ │ + .line 529 │ invoke-static {v2, v3}, Lorg/tukaani/xz/rangecoder/RangeEncoder;->getBitPrice(II)I │ │ move-result v1 │ │ .line 532 │ .local v1, "price":I │ invoke-virtual {p0, p3, p4}, Lorg/tukaani/xz/lzma/LZMAEncoder$LiteralEncoder;->getSubcoderIndex(II)I │ @@ -264,30 +269,33 @@ │ │ if-eqz v2, :cond_0 │ │ iget-object v2, p0, Lorg/tukaani/xz/lzma/LZMAEncoder$LiteralEncoder;->subencoders:[Lorg/tukaani/xz/lzma/LZMAEncoder$LiteralEncoder$LiteralSubencoder; │ │ aget-object v2, v2, v0 │ │ + .line 534 │ invoke-virtual {v2, p1}, Lorg/tukaani/xz/lzma/LZMAEncoder$LiteralEncoder$LiteralSubencoder;->getNormalPrice(I)I │ │ move-result v2 │ │ + .line 535 │ :goto_0 │ add-int/2addr v1, v2 │ │ .line 537 │ return v1 │ │ - .line 533 │ + .line 534 │ :cond_0 │ iget-object v2, p0, Lorg/tukaani/xz/lzma/LZMAEncoder$LiteralEncoder;->subencoders:[Lorg/tukaani/xz/lzma/LZMAEncoder$LiteralEncoder$LiteralSubencoder; │ │ aget-object v2, v2, v0 │ │ + .line 535 │ invoke-virtual {v2, p1, p2}, Lorg/tukaani/xz/lzma/LZMAEncoder$LiteralEncoder$LiteralSubencoder;->getMatchedPrice(II)I │ │ move-result v2 │ │ goto :goto_0 │ .end method ├── smali/org/tukaani/xz/lzma/LZMAEncoder.smali │ @@ -2,15 +2,14 @@ │ .super Lorg/tukaani/xz/lzma/LZMACoder; │ .source "LZMAEncoder.java" │ │ │ # annotations │ .annotation system Ldalvik/annotation/MemberClasses; │ value = { │ - Lorg/tukaani/xz/lzma/LZMAEncoder$1;, │ Lorg/tukaani/xz/lzma/LZMAEncoder$LengthEncoder;, │ Lorg/tukaani/xz/lzma/LZMAEncoder$LiteralEncoder; │ } │ .end annotation │ │ │ # static fields │ @@ -1256,14 +1255,15 @@ │ │ aget-object v10, v10, v5 │ │ iget-object v11, p0, Lorg/tukaani/xz/lzma/LZMAEncoder;->distSlots:[[S │ │ aget-object v11, v11, v5 │ │ + .line 432 │ invoke-static {v11, v4}, Lorg/tukaani/xz/rangecoder/RangeEncoder;->getBitTreePrice([SI)I │ │ move-result v11 │ │ aput v11, v10, v4 │ │ .line 430 │ @@ -1291,14 +1291,15 @@ │ .local v1, "count":I │ iget-object v10, p0, Lorg/tukaani/xz/lzma/LZMAEncoder;->distSlotPrices:[[I │ │ aget-object v10, v10, v5 │ │ aget v11, v10, v4 │ │ + .line 439 │ invoke-static {v1}, Lorg/tukaani/xz/rangecoder/RangeEncoder;->getDirectBitsPrice(I)I │ │ move-result v12 │ │ add-int/2addr v11, v12 │ │ aput v11, v10, v4 │ @@ -1493,24 +1494,25 @@ │ │ if-nez v1, :cond_0 │ │ .line 221 │ :goto_0 │ return v0 │ │ - .line 217 │ + .line 216 │ :cond_0 │ iget v1, p0, Lorg/tukaani/xz/lzma/LZMAEncoder;->uncompressedSize:I │ │ const v2, 0x1ffeef │ │ if-gt v1, v2, :cond_1 │ │ iget-object v1, p0, Lorg/tukaani/xz/lzma/LZMAEncoder;->rc:Lorg/tukaani/xz/rangecoder/RangeEncoder; │ │ + .line 217 │ invoke-virtual {v1}, Lorg/tukaani/xz/rangecoder/RangeEncoder;->getPendingSize()I │ │ move-result v1 │ │ const v2, 0xffe6 │ │ if-gt v1, v2, :cond_1 │ @@ -1562,28 +1564,30 @@ │ .param p1, "anyMatchPrice" # I │ .param p2, "state" # Lorg/tukaani/xz/lzma/State; │ │ .prologue │ .line 368 │ iget-object v0, p0, Lorg/tukaani/xz/lzma/LZMAEncoder;->isRep:[S │ │ + .line 369 │ invoke-virtual {p2}, Lorg/tukaani/xz/lzma/State;->get()I │ │ move-result v1 │ │ aget-short v0, v0, v1 │ │ const/4 v1, 0x1 │ │ invoke-static {v0, v1}, Lorg/tukaani/xz/rangecoder/RangeEncoder;->getBitPrice(II)I │ │ move-result v0 │ │ add-int/2addr v0, p1 │ │ + .line 368 │ return v0 │ .end method │ │ .method public getLZEncoder()Lorg/tukaani/xz/lz/LZEncoder; │ .locals 1 │ │ .prologue │ @@ -1661,22 +1665,24 @@ │ │ invoke-static {v1, v3}, Lorg/tukaani/xz/rangecoder/RangeEncoder;->getBitPrice(II)I │ │ move-result v1 │ │ iget-object v2, p0, Lorg/tukaani/xz/lzma/LZMAEncoder;->isRep0Long:[[S │ │ + .line 385 │ invoke-virtual {p3}, Lorg/tukaani/xz/lzma/State;->get()I │ │ move-result v3 │ │ aget-object v2, v2, v3 │ │ aget-short v2, v2, p4 │ │ + .line 384 │ invoke-static {v2, v4}, Lorg/tukaani/xz/rangecoder/RangeEncoder;->getBitPrice(II)I │ │ move-result v2 │ │ add-int/2addr v1, v2 │ │ add-int/2addr v0, v1 │ @@ -1733,14 +1739,15 @@ │ │ invoke-static {v1, v4}, Lorg/tukaani/xz/rangecoder/RangeEncoder;->getBitPrice(II)I │ │ move-result v1 │ │ iget-object v2, p0, Lorg/tukaani/xz/lzma/LZMAEncoder;->isRep2:[S │ │ + .line 393 │ invoke-virtual {p3}, Lorg/tukaani/xz/lzma/State;->get()I │ │ move-result v3 │ │ aget-short v2, v2, v3 │ │ add-int/lit8 v3, p2, -0x2 │ @@ -1763,14 +1770,15 @@ │ .param p3, "len" # I │ .param p4, "posState" # I │ │ .prologue │ .line 409 │ iget-object v3, p0, Lorg/tukaani/xz/lzma/LZMAEncoder;->matchLenEncoder:Lorg/tukaani/xz/lzma/LZMAEncoder$LengthEncoder; │ │ + .line 410 │ invoke-virtual {v3, p3, p4}, Lorg/tukaani/xz/lzma/LZMAEncoder$LengthEncoder;->getPrice(II)I │ │ move-result v3 │ │ add-int v2, p1, v3 │ │ .line 411 │ @@ -1876,28 +1884,30 @@ │ .param p1, "anyMatchPrice" # I │ .param p2, "state" # Lorg/tukaani/xz/lzma/State; │ │ .prologue │ .line 363 │ iget-object v0, p0, Lorg/tukaani/xz/lzma/LZMAEncoder;->isRep:[S │ │ + .line 364 │ invoke-virtual {p2}, Lorg/tukaani/xz/lzma/State;->get()I │ │ move-result v1 │ │ aget-short v0, v0, v1 │ │ const/4 v1, 0x0 │ │ invoke-static {v0, v1}, Lorg/tukaani/xz/rangecoder/RangeEncoder;->getBitPrice(II)I │ │ move-result v0 │ │ add-int/2addr v0, p1 │ │ + .line 363 │ return v0 │ .end method │ │ .method getShortRepPrice(ILorg/tukaani/xz/lzma/State;I)I │ .locals 4 │ .param p1, "anyRepPrice" # I │ .param p2, "state" # Lorg/tukaani/xz/lzma/State; │ @@ -1905,42 +1915,45 @@ │ │ .prologue │ const/4 v3, 0x0 │ │ .line 373 │ iget-object v0, p0, Lorg/tukaani/xz/lzma/LZMAEncoder;->isRep0:[S │ │ + .line 374 │ invoke-virtual {p2}, Lorg/tukaani/xz/lzma/State;->get()I │ │ move-result v1 │ │ aget-short v0, v0, v1 │ │ invoke-static {v0, v3}, Lorg/tukaani/xz/rangecoder/RangeEncoder;->getBitPrice(II)I │ │ move-result v0 │ │ add-int/2addr v0, p1 │ │ iget-object v1, p0, Lorg/tukaani/xz/lzma/LZMAEncoder;->isRep0Long:[[S │ │ + .line 375 │ invoke-virtual {p2}, Lorg/tukaani/xz/lzma/State;->get()I │ │ move-result v2 │ │ aget-object v1, v1, v2 │ │ aget-short v1, v1, p3 │ │ invoke-static {v1, v3}, Lorg/tukaani/xz/rangecoder/RangeEncoder;->getBitPrice(II)I │ │ move-result v1 │ │ add-int/2addr v0, v1 │ │ + .line 373 │ return v0 │ .end method │ │ .method public getUncompressedSize()I │ .locals 1 │ │ .prologue ├── smali/org/tukaani/xz/lzma/LZMAEncoderFast.smali │ @@ -43,14 +43,15 @@ │ .param p8, "mf" # I │ .param p9, "depthLimit" # I │ │ .prologue │ .line 32 │ sget v0, Lorg/tukaani/xz/lzma/LZMAEncoderFast;->EXTRA_SIZE_BEFORE:I │ │ + .line 33 │ invoke-static {p6, v0}, Ljava/lang/Math;->max(II)I │ │ move-result v1 │ │ sget v2, Lorg/tukaani/xz/lzma/LZMAEncoderFast;->EXTRA_SIZE_AFTER:I │ │ const/16 v4, 0x111 │ @@ -59,14 +60,15 @@ │ │ move v3, p7 │ │ move/from16 v5, p8 │ │ move/from16 v6, p9 │ │ + .line 32 │ invoke-static/range {v0 .. v6}, Lorg/tukaani/xz/lz/LZEncoder;->getInstance(IIIIIII)Lorg/tukaani/xz/lz/LZEncoder; │ │ move-result-object v2 │ │ move-object v0, p0 │ │ move-object v1, p1 │ @@ -120,22 +122,24 @@ │ .param p1, "extraSizeBefore" # I │ .param p2, "mf" # I │ │ .prologue │ .line 24 │ sget v0, Lorg/tukaani/xz/lzma/LZMAEncoderFast;->EXTRA_SIZE_BEFORE:I │ │ + .line 25 │ invoke-static {p1, v0}, Ljava/lang/Math;->max(II)I │ │ move-result v0 │ │ sget v1, Lorg/tukaani/xz/lzma/LZMAEncoderFast;->EXTRA_SIZE_AFTER:I │ │ const/16 v2, 0x111 │ │ + .line 24 │ invoke-static {p0, v0, v1, v2, p2}, Lorg/tukaani/xz/lz/LZEncoder;->getMemoryUsage(IIIII)I │ │ move-result v0 │ │ return v0 │ .end method │ │ @@ -353,15 +357,15 @@ │ │ iget v12, v12, Lorg/tukaani/xz/lz/Matches;->count:I │ │ add-int/lit8 v12, v12, -0x1 │ │ aget v5, v11, v12 │ │ - .line 98 │ + .line 97 │ :cond_7 │ iget-object v11, p0, Lorg/tukaani/xz/lzma/LZMAEncoderFast;->matches:Lorg/tukaani/xz/lz/Matches; │ │ iget v11, v11, Lorg/tukaani/xz/lz/Matches;->count:I │ │ if-le v11, v10, :cond_8 │ │ @@ -512,14 +516,15 @@ │ if-lt v7, v5, :cond_11 │ │ :cond_f │ add-int/lit8 v11, v6, 0x1 │ │ if-ne v8, v11, :cond_10 │ │ + .line 134 │ invoke-direct {p0, v5, v7}, Lorg/tukaani/xz/lzma/LZMAEncoderFast;->changePair(II)Z │ │ move-result v11 │ │ if-eqz v11, :cond_11 │ │ :cond_10 │ @@ -531,14 +536,15 @@ │ │ if-lt v11, v6, :cond_12 │ │ const/4 v11, 0x3 │ │ if-lt v6, v11, :cond_12 │ │ + .line 138 │ invoke-direct {p0, v7, v5}, Lorg/tukaani/xz/lzma/LZMAEncoderFast;->changePair(II)Z │ │ move-result v11 │ │ if-eqz v11, :cond_12 │ │ :cond_11 ├── smali/org/tukaani/xz/lzma/LZMAEncoderNormal.smali │ @@ -75,14 +75,15 @@ │ .param p8, "mf" # I │ .param p9, "depthLimit" # I │ │ .prologue │ .line 44 │ sget v0, Lorg/tukaani/xz/lzma/LZMAEncoderNormal;->EXTRA_SIZE_BEFORE:I │ │ + .line 45 │ invoke-static {p6, v0}, Ljava/lang/Math;->max(II)I │ │ move-result v1 │ │ sget v2, Lorg/tukaani/xz/lzma/LZMAEncoderNormal;->EXTRA_SIZE_AFTER:I │ │ const/16 v4, 0x111 │ @@ -91,14 +92,15 @@ │ │ move/from16 v3, p7 │ │ move/from16 v5, p8 │ │ move/from16 v6, p9 │ │ + .line 44 │ invoke-static/range {v0 .. v6}, Lorg/tukaani/xz/lz/LZEncoder;->getInstance(IIIIIII)Lorg/tukaani/xz/lz/LZEncoder; │ │ move-result-object v2 │ │ move-object v0, p0 │ │ move-object v1, p1 │ @@ -247,14 +249,15 @@ │ │ move-object/from16 v0, p0 │ │ iget-object v6, v0, Lorg/tukaani/xz/lzma/LZMAEncoderNormal;->lz:Lorg/tukaani/xz/lz/LZEncoder; │ │ const/4 v7, 0x1 │ │ + .line 381 │ invoke-virtual {v6, v7}, Lorg/tukaani/xz/lz/LZEncoder;->getByte(I)I │ │ move-result v6 │ │ move-object/from16 v0, p0 │ │ iget-object v7, v0, Lorg/tukaani/xz/lzma/LZMAEncoderNormal;->opts:[Lorg/tukaani/xz/lzma/Optimum; │ @@ -524,14 +527,15 @@ │ .local v14, "nextPosState":I │ const/4 v3, 0x0 │ │ move-object/from16 v0, p0 │ │ iget-object v6, v0, Lorg/tukaani/xz/lzma/LZMAEncoderNormal;->nextState:Lorg/tukaani/xz/lzma/State; │ │ + .line 411 │ move-object/from16 v0, p0 │ │ invoke-virtual {v0, v3, v10, v6, v14}, Lorg/tukaani/xz/lzma/LZMAEncoderNormal;->getLongRepAndLenPrice(IILorg/tukaani/xz/lzma/State;I)I │ │ move-result v3 │ │ add-int v15, v12, v3 │ @@ -755,14 +759,15 @@ │ if-lt v13, v3, :cond_4 │ │ .line 444 │ move-object/from16 v0, p0 │ │ iget-object v3, v0, Lorg/tukaani/xz/lzma/LZMAEncoderNormal;->repLenEncoder:Lorg/tukaani/xz/lzma/LZMAEncoder$LengthEncoder; │ │ + .line 445 │ move/from16 v0, p2 │ │ invoke-virtual {v3, v13, v0}, Lorg/tukaani/xz/lzma/LZMAEncoder$LengthEncoder;->getPrice(II)I │ │ move-result v3 │ │ add-int v8, v17, v3 │ @@ -865,14 +870,15 @@ │ if-lt v14, v3, :cond_0 │ │ .line 459 │ move-object/from16 v0, p0 │ │ iget-object v3, v0, Lorg/tukaani/xz/lzma/LZMAEncoderNormal;->repLenEncoder:Lorg/tukaani/xz/lzma/LZMAEncoder$LengthEncoder; │ │ + .line 460 │ move/from16 v0, p2 │ │ invoke-virtual {v3, v11, v0}, Lorg/tukaani/xz/lzma/LZMAEncoder$LengthEncoder;->getPrice(II)I │ │ move-result v3 │ │ add-int v19, v17, v3 │ @@ -1486,14 +1492,15 @@ │ │ add-int v7, p1, v11 │ │ move-object/from16 v0, p0 │ │ iget-object v8, v0, Lorg/tukaani/xz/lzma/LZMAEncoderNormal;->nextState:Lorg/tukaani/xz/lzma/State; │ │ + .line 544 │ invoke-virtual/range {v3 .. v8}, Lorg/tukaani/xz/lzma/LZMAEncoder$LiteralEncoder;->getPrice(IIIILorg/tukaani/xz/lzma/State;)I │ │ move-result v3 │ │ add-int v8, v18, v3 │ │ .line 547 │ @@ -1789,22 +1796,24 @@ │ .param p1, "extraSizeBefore" # I │ .param p2, "mf" # I │ │ .prologue │ .line 35 │ sget v0, Lorg/tukaani/xz/lzma/LZMAEncoderNormal;->EXTRA_SIZE_BEFORE:I │ │ + .line 36 │ invoke-static {p1, v0}, Ljava/lang/Math;->max(II)I │ │ move-result v0 │ │ sget v1, Lorg/tukaani/xz/lzma/LZMAEncoderNormal;->EXTRA_SIZE_AFTER:I │ │ const/16 v2, 0x111 │ │ + .line 35 │ invoke-static {p0, v0, v1, v2, p2}, Lorg/tukaani/xz/lz/LZEncoder;->getMemoryUsage(IIIII)I │ │ move-result v0 │ │ add-int/lit16 v0, v0, 0x100 │ │ return v0 │ @@ -3388,14 +3397,15 @@ │ │ iget v9, v0, Lorg/tukaani/xz/lzma/LZMAEncoderNormal;->optCur:I │ │ aget-object v8, v8, v9 │ │ iget-object v8, v8, Lorg/tukaani/xz/lzma/Optimum;->state:Lorg/tukaani/xz/lzma/State; │ │ + .line 284 │ move-object/from16 v0, p0 │ │ invoke-virtual {v0, v8, v10}, Lorg/tukaani/xz/lzma/LZMAEncoderNormal;->getAnyMatchPrice(Lorg/tukaani/xz/lzma/State;I)I │ │ move-result v8 │ │ add-int v12, v3, v8 ├── smali/org/tukaani/xz/simple/IA64.smali │ @@ -87,15 +87,15 @@ │ .line 26 │ return-void │ .end method │ │ │ # virtual methods │ .method public code([BII)I │ - .locals 21 │ + .locals 22 │ .param p1, "buf" # [B │ .param p2, "off" # I │ .param p3, "len" # I │ │ .prologue │ .line 29 │ add-int v17, p2, p3 │ @@ -182,87 +182,87 @@ │ │ aget-byte v17, p1, v17 │ │ move/from16 v0, v17 │ │ int-to-long v0, v0 │ │ - move-wide/from16 v17, v0 │ + move-wide/from16 v18, v0 │ │ - const-wide/16 v19, 0xff │ + const-wide/16 v20, 0xff │ │ - and-long v17, v17, v19 │ + and-long v18, v18, v20 │ │ - mul-int/lit8 v19, v13, 0x8 │ + mul-int/lit8 v17, v13, 0x8 │ │ - shl-long v17, v17, v19 │ + shl-long v18, v18, v17 │ │ - or-long v8, v8, v17 │ + or-long v8, v8, v18 │ │ .line 44 │ add-int/lit8 v13, v13, 0x1 │ │ goto :goto_2 │ │ .line 47 │ :cond_2 │ ushr-long v10, v8, v3 │ │ .line 49 │ .local v10, "instrNorm":J │ const/16 v17, 0x25 │ │ - ushr-long v17, v10, v17 │ + ushr-long v18, v10, v17 │ │ - const-wide/16 v19, 0xf │ + const-wide/16 v20, 0xf │ │ - and-long v17, v17, v19 │ + and-long v18, v18, v20 │ │ - const-wide/16 v19, 0x5 │ + const-wide/16 v20, 0x5 │ │ - cmp-long v17, v17, v19 │ + cmp-long v17, v18, v20 │ │ if-nez v17, :cond_0 │ │ const/16 v17, 0x9 │ │ - ushr-long v17, v10, v17 │ + ushr-long v18, v10, v17 │ │ - const-wide/16 v19, 0x7 │ + const-wide/16 v20, 0x7 │ │ - and-long v17, v17, v19 │ + and-long v18, v18, v20 │ │ - const-wide/16 v19, 0x0 │ + const-wide/16 v20, 0x0 │ │ - cmp-long v17, v17, v19 │ + cmp-long v17, v18, v20 │ │ if-nez v17, :cond_0 │ │ .line 53 │ const/16 v17, 0xd │ │ - ushr-long v17, v10, v17 │ + ushr-long v18, v10, v17 │ │ - const-wide/32 v19, 0xfffff │ + const-wide/32 v20, 0xfffff │ │ - and-long v17, v17, v19 │ + and-long v18, v18, v20 │ │ - move-wide/from16 v0, v17 │ + move-wide/from16 v0, v18 │ │ long-to-int v0, v0 │ │ move/from16 v16, v0 │ │ .line 54 │ .local v16, "src":I │ const/16 v17, 0x24 │ │ - ushr-long v17, v10, v17 │ + ushr-long v18, v10, v17 │ │ - move-wide/from16 v0, v17 │ + move-wide/from16 v0, v18 │ │ long-to-int v0, v0 │ │ move/from16 v17, v0 │ │ and-int/lit8 v17, v17, 0x1 │ │ @@ -297,67 +297,67 @@ │ │ .line 63 │ .local v5, "dest":I │ :goto_3 │ ushr-int/lit8 v5, v5, 0x4 │ │ .line 65 │ - const-wide v17, -0x11ffffe001L │ + const-wide v18, -0x11ffffe001L │ │ - and-long v10, v10, v17 │ + and-long v10, v10, v18 │ │ .line 66 │ int-to-long v0, v5 │ │ - move-wide/from16 v17, v0 │ + move-wide/from16 v18, v0 │ │ - const-wide/32 v19, 0xfffff │ + const-wide/32 v20, 0xfffff │ │ - and-long v17, v17, v19 │ + and-long v18, v18, v20 │ │ - const/16 v19, 0xd │ + const/16 v17, 0xd │ │ - shl-long v17, v17, v19 │ + shl-long v18, v18, v17 │ │ - or-long v10, v10, v17 │ + or-long v10, v10, v18 │ │ .line 67 │ int-to-long v0, v5 │ │ - move-wide/from16 v17, v0 │ + move-wide/from16 v18, v0 │ │ - const-wide/32 v19, 0x100000 │ + const-wide/32 v20, 0x100000 │ │ - and-long v17, v17, v19 │ + and-long v18, v18, v20 │ │ - const/16 v19, 0x10 │ + const/16 v17, 0x10 │ │ - shl-long v17, v17, v19 │ + shl-long v18, v18, v17 │ │ - or-long v10, v10, v17 │ + or-long v10, v10, v18 │ │ .line 69 │ const/16 v17, 0x1 │ │ shl-int v17, v17, v3 │ │ add-int/lit8 v17, v17, -0x1 │ │ move/from16 v0, v17 │ │ int-to-long v0, v0 │ │ - move-wide/from16 v17, v0 │ + move-wide/from16 v18, v0 │ │ - and-long v8, v8, v17 │ + and-long v8, v8, v18 │ │ .line 70 │ - shl-long v17, v10, v3 │ + shl-long v18, v10, v3 │ │ - or-long v8, v8, v17 │ + or-long v8, v8, v18 │ │ .line 72 │ const/4 v13, 0x0 │ │ :goto_4 │ const/16 v17, 0x6 ├── original/AndroidManifest.xml │ @@ -1,206 +1,195 @@ │ -00000000: 0300 0800 d40c 0000 0100 1c00 1c07 0000 ................ │ -00000010: 2800 0000 0000 0000 0000 0000 bc00 0000 (............... │ +00000000: 0300 0800 280c 0000 0100 1c00 ac06 0000 ....(........... │ +00000010: 2700 0000 0000 0000 0000 0000 b800 0000 '............... │ 00000020: 0000 0000 0000 0000 1a00 0000 3400 0000 ............4... │ 00000030: 4000 0000 5e00 0000 8200 0000 8e00 0000 @...^........... │ 00000040: 9c00 0000 b600 0000 ca00 0000 e200 0000 ................ │ 00000050: f400 0000 4c01 0000 5001 0000 6201 0000 ....L...P...b... │ -00000060: 7601 0000 a001 0000 b201 0000 d401 0000 v............... │ -00000070: 2a02 0000 7c02 0000 c402 0000 fe02 0000 *...|........... │ -00000080: 4803 0000 9a03 0000 f003 0000 0404 0000 H............... │ -00000090: 1e04 0000 3a04 0000 6c04 0000 7e04 0000 ....:...l...~... │ -000000a0: be04 0000 f604 0000 1405 0000 2405 0000 ............$... │ -000000b0: 6605 0000 8405 0000 a405 0000 b405 0000 f............... │ -000000c0: 0a06 0000 0b00 7600 6500 7200 7300 6900 ......v.e.r.s.i. │ -000000d0: 6f00 6e00 4300 6f00 6400 6500 0000 0b00 o.n.C.o.d.e..... │ -000000e0: 7600 6500 7200 7300 6900 6f00 6e00 4e00 v.e.r.s.i.o.n.N. │ -000000f0: 6100 6d00 6500 0000 0400 6e00 6100 6d00 a.m.e.....n.a.m. │ -00000100: 6500 0000 0d00 6d00 6900 6e00 5300 6400 e.....m.i.n.S.d. │ -00000110: 6b00 5600 6500 7200 7300 6900 6f00 6e00 k.V.e.r.s.i.o.n. │ -00000120: 0000 1000 7400 6100 7200 6700 6500 7400 ....t.a.r.g.e.t. │ -00000130: 5300 6400 6b00 5600 6500 7200 7300 6900 S.d.k.V.e.r.s.i. │ -00000140: 6f00 6e00 0000 0400 6900 6300 6f00 6e00 o.n.....i.c.o.n. │ -00000150: 0000 0500 6c00 6100 6200 6500 6c00 0000 ....l.a.b.e.l... │ -00000160: 0b00 6100 6c00 6c00 6f00 7700 4200 6100 ..a.l.l.o.w.B.a. │ -00000170: 6300 6b00 7500 7000 0000 0800 7200 6500 c.k.u.p.....r.e. │ -00000180: 7100 7500 6900 7200 6500 6400 0000 0a00 q.u.i.r.e.d..... │ -00000190: 7000 6500 7200 6d00 6900 7300 7300 6900 p.e.r.m.i.s.s.i. │ -000001a0: 6f00 6e00 0000 0700 6100 6e00 6400 7200 o.n.....a.n.d.r. │ -000001b0: 6f00 6900 6400 0000 2a00 6800 7400 7400 o.i.d...*.h.t.t. │ -000001c0: 7000 3a00 2f00 2f00 7300 6300 6800 6500 p.:././.s.c.h.e. │ -000001d0: 6d00 6100 7300 2e00 6100 6e00 6400 7200 m.a.s...a.n.d.r. │ -000001e0: 6f00 6900 6400 2e00 6300 6f00 6d00 2f00 o.i.d...c.o.m./. │ -000001f0: 6100 7000 6b00 2f00 7200 6500 7300 2f00 a.p.k./.r.e.s./. │ -00000200: 6100 6e00 6400 7200 6f00 6900 6400 0000 a.n.d.r.o.i.d... │ -00000210: 0000 0000 0700 7000 6100 6300 6b00 6100 ......p.a.c.k.a. │ -00000220: 6700 6500 0000 0800 6d00 6100 6e00 6900 g.e.....m.a.n.i. │ -00000230: 6600 6500 7300 7400 0000 1300 6f00 7200 f.e.s.t.....o.r. │ -00000240: 6700 2e00 6700 6600 6400 2e00 6700 7300 g...g.f.d...g.s. │ -00000250: 6d00 6c00 6f00 6300 6100 7400 6900 6f00 m.l.o.c.a.t.i.o. │ -00000260: 6e00 0000 0700 3000 2e00 3000 2e00 3100 n.....0...0...1. │ -00000270: 2e00 3400 0000 0f00 7500 7300 6500 7300 ..4.....u.s.e.s. │ -00000280: 2d00 7000 6500 7200 6d00 6900 7300 7300 -.p.e.r.m.i.s.s. │ -00000290: 6900 6f00 6e00 0000 2900 6100 6e00 6400 i.o.n...).a.n.d. │ -000002a0: 7200 6f00 6900 6400 2e00 7000 6500 7200 r.o.i.d...p.e.r. │ -000002b0: 6d00 6900 7300 7300 6900 6f00 6e00 2e00 m.i.s.s.i.o.n... │ -000002c0: 4100 4300 4300 4500 5300 5300 5f00 4300 A.C.C.E.S.S._.C. │ -000002d0: 4f00 4100 5200 5300 4500 5f00 4c00 4f00 O.A.R.S.E._.L.O. │ -000002e0: 4300 4100 5400 4900 4f00 4e00 0000 2700 C.A.T.I.O.N...'. │ -000002f0: 6100 6e00 6400 7200 6f00 6900 6400 2e00 a.n.d.r.o.i.d... │ -00000300: 7000 6500 7200 6d00 6900 7300 7300 6900 p.e.r.m.i.s.s.i. │ -00000310: 6f00 6e00 2e00 4100 4300 4300 4500 5300 o.n...A.C.C.E.S. │ -00000320: 5300 5f00 4600 4900 4e00 4500 5f00 4c00 S._.F.I.N.E._.L. │ -00000330: 4f00 4300 4100 5400 4900 4f00 4e00 0000 O.C.A.T.I.O.N... │ -00000340: 2200 6100 6e00 6400 7200 6f00 6900 6400 ".a.n.d.r.o.i.d. │ -00000350: 2e00 7000 6500 7200 6d00 6900 7300 7300 ..p.e.r.m.i.s.s. │ -00000360: 6900 6f00 6e00 2e00 4100 4300 4300 4500 i.o.n...A.C.C.E. │ -00000370: 5300 5300 5f00 4c00 4f00 4300 4100 5400 S.S._.L.O.C.A.T. │ -00000380: 4900 4f00 4e00 0000 1b00 6100 6e00 6400 I.O.N.....a.n.d. │ -00000390: 7200 6f00 6900 6400 2e00 7000 6500 7200 r.o.i.d...p.e.r. │ -000003a0: 6d00 6900 7300 7300 6900 6f00 6e00 2e00 m.i.s.s.i.o.n... │ -000003b0: 4900 4e00 5400 4500 5200 4e00 4500 5400 I.N.T.E.R.N.E.T. │ -000003c0: 0000 2300 6100 6e00 6400 7200 6f00 6900 ..#.a.n.d.r.o.i. │ -000003d0: 6400 2e00 7000 6500 7200 6d00 6900 7300 d...p.e.r.m.i.s. │ -000003e0: 7300 6900 6f00 6e00 2e00 5200 4500 4100 s.i.o.n...R.E.A. │ -000003f0: 4400 5f00 5000 4800 4f00 4e00 4500 5f00 D._.P.H.O.N.E._. │ -00000400: 5300 5400 4100 5400 4500 0000 2700 6100 S.T.A.T.E...'.a. │ -00000410: 6e00 6400 7200 6f00 6900 6400 2e00 7000 n.d.r.o.i.d...p. │ -00000420: 6500 7200 6d00 6900 7300 7300 6900 6f00 e.r.m.i.s.s.i.o. │ -00000430: 6e00 2e00 4100 4300 4300 4500 5300 5300 n...A.C.C.E.S.S. │ -00000440: 5f00 4e00 4500 5400 5700 4f00 5200 4b00 _.N.E.T.W.O.R.K. │ -00000450: 5f00 5300 5400 4100 5400 4500 0000 2900 _.S.T.A.T.E...). │ -00000460: 6100 6e00 6400 7200 6f00 6900 6400 2e00 a.n.d.r.o.i.d... │ -00000470: 7000 6500 7200 6d00 6900 7300 7300 6900 p.e.r.m.i.s.s.i. │ -00000480: 6f00 6e00 2e00 5700 5200 4900 5400 4500 o.n...W.R.I.T.E. │ -00000490: 5f00 4500 5800 5400 4500 5200 4e00 4100 _.E.X.T.E.R.N.A. │ -000004a0: 4c00 5f00 5300 5400 4f00 5200 4100 4700 L._.S.T.O.R.A.G. │ -000004b0: 4500 0000 0800 7500 7300 6500 7300 2d00 E.....u.s.e.s.-. │ -000004c0: 7300 6400 6b00 0000 0b00 6100 7000 7000 s.d.k.....a.p.p. │ -000004d0: 6c00 6900 6300 6100 7400 6900 6f00 6e00 l.i.c.a.t.i.o.n. │ -000004e0: 0000 0c00 7500 7300 6500 7300 2d00 6c00 ....u.s.e.s.-.l. │ -000004f0: 6900 6200 7200 6100 7200 7900 0000 1700 i.b.r.a.r.y..... │ -00000500: 6300 6f00 6d00 2e00 6700 6f00 6f00 6700 c.o.m...g.o.o.g. │ -00000510: 6c00 6500 2e00 6100 6e00 6400 7200 6f00 l.e...a.n.d.r.o. │ -00000520: 6900 6400 2e00 6d00 6100 7000 7300 0000 i.d...m.a.p.s... │ -00000530: 0700 7300 6500 7200 7600 6900 6300 6500 ..s.e.r.v.i.c.e. │ -00000540: 0000 1e00 6f00 7200 6700 2e00 6700 6600 ....o.r.g...g.f. │ -00000550: 6400 2e00 6700 7300 6d00 6c00 6f00 6300 d...g.s.m.l.o.c. │ -00000560: 6100 7400 6900 6f00 6e00 2e00 4700 5300 a.t.i.o.n...G.S. │ -00000570: 4d00 5300 6500 7200 7600 6900 6300 6500 M.S.e.r.v.i.c.e. │ -00000580: 0000 1a00 4700 5300 4d00 4e00 6500 7400 ....G.S.M.N.e.t. │ -00000590: 7700 6f00 7200 6b00 4c00 6f00 6300 6100 w.o.r.k.L.o.c.a. │ -000005a0: 7400 6900 6f00 6e00 5000 7200 6f00 7600 t.i.o.n.P.r.o.v. │ -000005b0: 6900 6400 6500 7200 0000 0d00 6900 6e00 i.d.e.r.....i.n. │ -000005c0: 7400 6500 6e00 7400 2d00 6600 6900 6c00 t.e.n.t.-.f.i.l. │ -000005d0: 7400 6500 7200 0000 0600 6100 6300 7400 t.e.r.....a.c.t. │ -000005e0: 6900 6f00 6e00 0000 1f00 6f00 7200 6700 i.o.n.....o.r.g. │ -000005f0: 2e00 6d00 6900 6300 7200 6f00 6700 2e00 ..m.i.c.r.o.g... │ -00000600: 6e00 6c00 7000 2e00 4c00 4f00 4300 4100 n.l.p...L.O.C.A. │ -00000610: 5400 4900 4f00 4e00 5f00 4200 4100 4300 T.I.O.N._.B.A.C. │ -00000620: 4b00 4500 4e00 4400 0000 0d00 6200 7500 K.E.N.D.....b.u. │ -00000630: 6900 6c00 6400 7300 6500 7200 7600 6500 i.l.d.s.e.r.v.e. │ -00000640: 7200 6900 6400 0000 0e00 6600 6400 7200 r.i.d.....f.d.r. │ -00000650: 6f00 6900 6400 7300 6500 7200 7600 6500 o.i.d.s.e.r.v.e. │ -00000660: 7200 6900 6400 0000 0600 6600 6400 7200 r.i.d.....f.d.r. │ -00000670: 6f00 6900 6400 0000 2900 6300 6100 6100 o.i.d...).c.a.a. │ -00000680: 3800 3800 6500 6300 3300 3800 3800 3300 8.8.e.c.3.8.8.3. │ -00000690: 3800 6100 3300 6300 3100 6100 3400 6100 8.a.3.c.1.a.4.a. │ -000006a0: 3700 3100 3800 3300 3400 6300 6400 3600 7.1.8.3.4.c.d.6. │ -000006b0: 3500 6100 3100 3000 3100 6500 3300 3700 5.a.1.0.1.e.3.7. │ -000006c0: 3800 6300 6600 3100 6500 2000 0000 2900 8.c.f.1.e. ...). │ -000006d0: 3100 3300 6100 6600 3500 3100 3900 3000 1.3.a.f.5.1.9.0. │ -000006e0: 3600 3900 3100 3600 6200 3800 6600 3900 6.9.1.6.b.8.f.9. │ -000006f0: 6400 6200 3800 3300 3800 3000 3100 3700 d.b.8.3.8.0.1.7. │ -00000700: 6300 6100 6100 3000 3800 3600 3700 3100 c.a.a.0.8.6.7.1. │ -00000710: 3700 3100 6600 6100 6400 3000 3400 3600 7.1.f.a.d.0.4.6. │ -00000720: 2000 0000 8001 0800 3000 0000 1b02 0101 .......0....... │ -00000730: 1c02 0101 0300 0101 0c02 0101 7002 0101 ............p... │ -00000740: 0200 0101 0100 0101 8002 0101 8e02 0101 ................ │ -00000750: 0600 0101 0001 1000 1800 0000 0200 0000 ................ │ -00000760: ffff ffff 0a00 0000 0b00 0000 0201 1000 ................ │ -00000770: 6000 0000 0200 0000 ffff ffff ffff ffff `............... │ -00000780: 0e00 0000 1400 1400 0300 0000 0000 0000 ................ │ -00000790: 0b00 0000 0000 0000 ffff ffff 0800 0010 ................ │ -000007a0: 0e00 0000 0b00 0000 0100 0000 1000 0000 ................ │ -000007b0: 0800 0003 1000 0000 ffff ffff 0d00 0000 ................ │ -000007c0: 0f00 0000 0800 0003 0f00 0000 0201 1000 ................ │ -000007d0: 3800 0000 0900 0000 ffff ffff ffff ffff 8............... │ -000007e0: 1100 0000 1400 1400 0100 0000 0000 0000 ................ │ -000007f0: 0b00 0000 0200 0000 1200 0000 0800 0003 ................ │ -00000800: 1200 0000 0301 1000 1800 0000 0900 0000 ................ │ -00000810: ffff ffff ffff ffff 1100 0000 0201 1000 ................ │ -00000820: 3800 0000 0a00 0000 ffff ffff ffff ffff 8............... │ -00000830: 1100 0000 1400 1400 0100 0000 0000 0000 ................ │ -00000840: 0b00 0000 0200 0000 1300 0000 0800 0003 ................ │ -00000850: 1300 0000 0301 1000 1800 0000 0a00 0000 ................ │ -00000860: ffff ffff ffff ffff 1100 0000 0201 1000 ................ │ -00000870: 3800 0000 0b00 0000 ffff ffff ffff ffff 8............... │ -00000880: 1100 0000 1400 1400 0100 0000 0000 0000 ................ │ -00000890: 0b00 0000 0200 0000 1400 0000 0800 0003 ................ │ -000008a0: 1400 0000 0301 1000 1800 0000 0b00 0000 ................ │ -000008b0: ffff ffff ffff ffff 1100 0000 0201 1000 ................ │ -000008c0: 3800 0000 0c00 0000 ffff ffff ffff ffff 8............... │ -000008d0: 1100 0000 1400 1400 0100 0000 0000 0000 ................ │ -000008e0: 0b00 0000 0200 0000 1500 0000 0800 0003 ................ │ -000008f0: 1500 0000 0301 1000 1800 0000 0c00 0000 ................ │ -00000900: ffff ffff ffff ffff 1100 0000 0201 1000 ................ │ -00000910: 3800 0000 0d00 0000 ffff ffff ffff ffff 8............... │ -00000920: 1100 0000 1400 1400 0100 0000 0000 0000 ................ │ -00000930: 0b00 0000 0200 0000 1600 0000 0800 0003 ................ │ -00000940: 1600 0000 0301 1000 1800 0000 0d00 0000 ................ │ -00000950: ffff ffff ffff ffff 1100 0000 0201 1000 ................ │ -00000960: 3800 0000 0e00 0000 ffff ffff ffff ffff 8............... │ -00000970: 1100 0000 1400 1400 0100 0000 0000 0000 ................ │ -00000980: 0b00 0000 0200 0000 1700 0000 0800 0003 ................ │ -00000990: 1700 0000 0301 1000 1800 0000 0e00 0000 ................ │ -000009a0: ffff ffff ffff ffff 1100 0000 0201 1000 ................ │ -000009b0: 3800 0000 0f00 0000 ffff ffff ffff ffff 8............... │ -000009c0: 1100 0000 1400 1400 0100 0000 0000 0000 ................ │ -000009d0: 0b00 0000 0200 0000 1800 0000 0800 0003 ................ │ -000009e0: 1800 0000 0301 1000 1800 0000 0f00 0000 ................ │ -000009f0: ffff ffff ffff ffff 1100 0000 0201 1000 ................ │ -00000a00: 4c00 0000 1100 0000 ffff ffff ffff ffff L............... │ -00000a10: 1900 0000 1400 1400 0200 0000 0000 0000 ................ │ -00000a20: 0b00 0000 0300 0000 ffff ffff 0800 0010 ................ │ -00000a30: 1100 0000 0b00 0000 0400 0000 ffff ffff ................ │ -00000a40: 0800 0010 1100 0000 0301 1000 1800 0000 ................ │ -00000a50: 1100 0000 ffff ffff ffff ffff 1900 0000 ................ │ -00000a60: 0201 1000 6000 0000 1300 0000 ffff ffff ....`........... │ -00000a70: ffff ffff 1a00 0000 1400 1400 0300 0000 ................ │ -00000a80: 0000 0000 0b00 0000 0600 0000 ffff ffff ................ │ -00000a90: 0800 0001 0100 037f 0b00 0000 0500 0000 ................ │ -00000aa0: ffff ffff 0800 0001 0000 027f 0b00 0000 ................ │ -00000ab0: 0700 0000 ffff ffff 0800 0012 0000 0000 ................ │ -00000ac0: 0201 1000 4c00 0000 1800 0000 ffff ffff ....L........... │ -00000ad0: ffff ffff 1b00 0000 1400 1400 0200 0000 ................ │ -00000ae0: 0000 0000 0b00 0000 0200 0000 1c00 0000 ................ │ -00000af0: 0800 0003 1c00 0000 0b00 0000 0800 0000 ................ │ -00000b00: ffff ffff 0800 0012 0000 0000 0301 1000 ................ │ -00000b10: 1800 0000 1800 0000 ffff ffff ffff ffff ................ │ -00000b20: 1b00 0000 0201 1000 6000 0000 1a00 0000 ........`....... │ -00000b30: ffff ffff ffff ffff 1d00 0000 1400 1400 ................ │ -00000b40: 0300 0000 0000 0000 0b00 0000 0600 0000 ................ │ -00000b50: 1f00 0000 0800 0003 1f00 0000 0b00 0000 ................ │ -00000b60: 0200 0000 1e00 0000 0800 0003 1e00 0000 ................ │ -00000b70: 0b00 0000 0900 0000 1200 0000 0800 0003 ................ │ -00000b80: 1200 0000 0201 1000 2400 0000 1e00 0000 ........$....... │ -00000b90: ffff ffff ffff ffff 2000 0000 1400 1400 ........ ....... │ -00000ba0: 0000 0000 0000 0000 0201 1000 3800 0000 ............8... │ -00000bb0: 1f00 0000 ffff ffff ffff ffff 2100 0000 ............!... │ -00000bc0: 1400 1400 0100 0000 0000 0000 0b00 0000 ................ │ -00000bd0: 0200 0000 2200 0000 0800 0003 2200 0000 ...."......."... │ -00000be0: 0301 1000 1800 0000 1f00 0000 ffff ffff ................ │ -00000bf0: ffff ffff 2100 0000 0301 1000 1800 0000 ....!........... │ -00000c00: 2000 0000 ffff ffff ffff ffff 2000 0000 ........... ... │ -00000c10: 0301 1000 1800 0000 2100 0000 ffff ffff ........!....... │ -00000c20: ffff ffff 1d00 0000 0301 1000 1800 0000 ................ │ -00000c30: 2300 0000 ffff ffff ffff ffff 1a00 0000 #............... │ -00000c40: 0201 1000 4c00 0000 2500 0000 ffff ffff ....L...%....... │ -00000c50: ffff ffff 2500 0000 1400 1400 0200 0000 ....%........... │ -00000c60: 0000 0000 ffff ffff 2300 0000 2600 0000 ........#...&... │ -00000c70: 0800 0003 2600 0000 ffff ffff 2400 0000 ....&.......$... │ -00000c80: 2700 0000 0800 0003 2700 0000 0301 1000 '.......'....... │ -00000c90: 1800 0000 2700 0000 ffff ffff ffff ffff ....'........... │ -00000ca0: 2500 0000 0301 1000 1800 0000 2700 0000 %...........'... │ -00000cb0: ffff ffff ffff ffff 0e00 0000 0101 1000 ................ │ -00000cc0: 1800 0000 2700 0000 ffff ffff 0a00 0000 ....'........... │ -00000cd0: 0b00 0000 .... │ +00000060: 9601 0000 ca01 0000 de01 0000 0802 0000 ................ │ +00000070: 1a02 0000 2202 0000 4002 0000 6202 0000 ...."...@...b... │ +00000080: b802 0000 0a03 0000 5203 0000 8c03 0000 ........R....... │ +00000090: d603 0000 2804 0000 7e04 0000 9204 0000 ....(...~....... │ +000000a0: ac04 0000 c804 0000 fa04 0000 0c05 0000 ................ │ +000000b0: 4c05 0000 8405 0000 a205 0000 b205 0000 L............... │ +000000c0: 0b00 7600 6500 7200 7300 6900 6f00 6e00 ..v.e.r.s.i.o.n. │ +000000d0: 4300 6f00 6400 6500 0000 0b00 7600 6500 C.o.d.e.....v.e. │ +000000e0: 7200 7300 6900 6f00 6e00 4e00 6100 6d00 r.s.i.o.n.N.a.m. │ +000000f0: 6500 0000 0400 6e00 6100 6d00 6500 0000 e.....n.a.m.e... │ +00000100: 0d00 6d00 6900 6e00 5300 6400 6b00 5600 ..m.i.n.S.d.k.V. │ +00000110: 6500 7200 7300 6900 6f00 6e00 0000 1000 e.r.s.i.o.n..... │ +00000120: 7400 6100 7200 6700 6500 7400 5300 6400 t.a.r.g.e.t.S.d. │ +00000130: 6b00 5600 6500 7200 7300 6900 6f00 6e00 k.V.e.r.s.i.o.n. │ +00000140: 0000 0400 6900 6300 6f00 6e00 0000 0500 ....i.c.o.n..... │ +00000150: 6c00 6100 6200 6500 6c00 0000 0b00 6100 l.a.b.e.l.....a. │ +00000160: 6c00 6c00 6f00 7700 4200 6100 6300 6b00 l.l.o.w.B.a.c.k. │ +00000170: 7500 7000 0000 0800 7200 6500 7100 7500 u.p.....r.e.q.u. │ +00000180: 6900 7200 6500 6400 0000 0a00 7000 6500 i.r.e.d.....p.e. │ +00000190: 7200 6d00 6900 7300 7300 6900 6f00 6e00 r.m.i.s.s.i.o.n. │ +000001a0: 0000 0700 6100 6e00 6400 7200 6f00 6900 ....a.n.d.r.o.i. │ +000001b0: 6400 0000 2a00 6800 7400 7400 7000 3a00 d...*.h.t.t.p.:. │ +000001c0: 2f00 2f00 7300 6300 6800 6500 6d00 6100 /./.s.c.h.e.m.a. │ +000001d0: 7300 2e00 6100 6e00 6400 7200 6f00 6900 s...a.n.d.r.o.i. │ +000001e0: 6400 2e00 6300 6f00 6d00 2f00 6100 7000 d...c.o.m./.a.p. │ +000001f0: 6b00 2f00 7200 6500 7300 2f00 6100 6e00 k./.r.e.s./.a.n. │ +00000200: 6400 7200 6f00 6900 6400 0000 0000 0000 d.r.o.i.d....... │ +00000210: 0700 7000 6100 6300 6b00 6100 6700 6500 ..p.a.c.k.a.g.e. │ +00000220: 0000 1800 7000 6c00 6100 7400 6600 6f00 ....p.l.a.t.f.o. │ +00000230: 7200 6d00 4200 7500 6900 6c00 6400 5600 r.m.B.u.i.l.d.V. │ +00000240: 6500 7200 7300 6900 6f00 6e00 4300 6f00 e.r.s.i.o.n.C.o. │ +00000250: 6400 6500 0000 1800 7000 6c00 6100 7400 d.e.....p.l.a.t. │ +00000260: 6600 6f00 7200 6d00 4200 7500 6900 6c00 f.o.r.m.B.u.i.l. │ +00000270: 6400 5600 6500 7200 7300 6900 6f00 6e00 d.V.e.r.s.i.o.n. │ +00000280: 4e00 6100 6d00 6500 0000 0800 6d00 6100 N.a.m.e.....m.a. │ +00000290: 6e00 6900 6600 6500 7300 7400 0000 1300 n.i.f.e.s.t..... │ +000002a0: 6f00 7200 6700 2e00 6700 6600 6400 2e00 o.r.g...g.f.d... │ +000002b0: 6700 7300 6d00 6c00 6f00 6300 6100 7400 g.s.m.l.o.c.a.t. │ +000002c0: 6900 6f00 6e00 0000 0700 3000 2e00 3000 i.o.n.....0...0. │ +000002d0: 2e00 3100 2e00 3400 0000 0200 3100 3900 ..1...4.....1.9. │ +000002e0: 0000 0d00 3400 2e00 3400 2e00 3200 2d00 ....4...4...2.-. │ +000002f0: 3100 3400 3500 3600 3800 3500 3900 0000 1.4.5.6.8.5.9... │ +00000300: 0f00 7500 7300 6500 7300 2d00 7000 6500 ..u.s.e.s.-.p.e. │ +00000310: 7200 6d00 6900 7300 7300 6900 6f00 6e00 r.m.i.s.s.i.o.n. │ +00000320: 0000 2900 6100 6e00 6400 7200 6f00 6900 ..).a.n.d.r.o.i. │ +00000330: 6400 2e00 7000 6500 7200 6d00 6900 7300 d...p.e.r.m.i.s. │ +00000340: 7300 6900 6f00 6e00 2e00 4100 4300 4300 s.i.o.n...A.C.C. │ +00000350: 4500 5300 5300 5f00 4300 4f00 4100 5200 E.S.S._.C.O.A.R. │ +00000360: 5300 4500 5f00 4c00 4f00 4300 4100 5400 S.E._.L.O.C.A.T. │ +00000370: 4900 4f00 4e00 0000 2700 6100 6e00 6400 I.O.N...'.a.n.d. │ +00000380: 7200 6f00 6900 6400 2e00 7000 6500 7200 r.o.i.d...p.e.r. │ +00000390: 6d00 6900 7300 7300 6900 6f00 6e00 2e00 m.i.s.s.i.o.n... │ +000003a0: 4100 4300 4300 4500 5300 5300 5f00 4600 A.C.C.E.S.S._.F. │ +000003b0: 4900 4e00 4500 5f00 4c00 4f00 4300 4100 I.N.E._.L.O.C.A. │ +000003c0: 5400 4900 4f00 4e00 0000 2200 6100 6e00 T.I.O.N...".a.n. │ +000003d0: 6400 7200 6f00 6900 6400 2e00 7000 6500 d.r.o.i.d...p.e. │ +000003e0: 7200 6d00 6900 7300 7300 6900 6f00 6e00 r.m.i.s.s.i.o.n. │ +000003f0: 2e00 4100 4300 4300 4500 5300 5300 5f00 ..A.C.C.E.S.S._. │ +00000400: 4c00 4f00 4300 4100 5400 4900 4f00 4e00 L.O.C.A.T.I.O.N. │ +00000410: 0000 1b00 6100 6e00 6400 7200 6f00 6900 ....a.n.d.r.o.i. │ +00000420: 6400 2e00 7000 6500 7200 6d00 6900 7300 d...p.e.r.m.i.s. │ +00000430: 7300 6900 6f00 6e00 2e00 4900 4e00 5400 s.i.o.n...I.N.T. │ +00000440: 4500 5200 4e00 4500 5400 0000 2300 6100 E.R.N.E.T...#.a. │ +00000450: 6e00 6400 7200 6f00 6900 6400 2e00 7000 n.d.r.o.i.d...p. │ +00000460: 6500 7200 6d00 6900 7300 7300 6900 6f00 e.r.m.i.s.s.i.o. │ +00000470: 6e00 2e00 5200 4500 4100 4400 5f00 5000 n...R.E.A.D._.P. │ +00000480: 4800 4f00 4e00 4500 5f00 5300 5400 4100 H.O.N.E._.S.T.A. │ +00000490: 5400 4500 0000 2700 6100 6e00 6400 7200 T.E...'.a.n.d.r. │ +000004a0: 6f00 6900 6400 2e00 7000 6500 7200 6d00 o.i.d...p.e.r.m. │ +000004b0: 6900 7300 7300 6900 6f00 6e00 2e00 4100 i.s.s.i.o.n...A. │ +000004c0: 4300 4300 4500 5300 5300 5f00 4e00 4500 C.C.E.S.S._.N.E. │ +000004d0: 5400 5700 4f00 5200 4b00 5f00 5300 5400 T.W.O.R.K._.S.T. │ +000004e0: 4100 5400 4500 0000 2900 6100 6e00 6400 A.T.E...).a.n.d. │ +000004f0: 7200 6f00 6900 6400 2e00 7000 6500 7200 r.o.i.d...p.e.r. │ +00000500: 6d00 6900 7300 7300 6900 6f00 6e00 2e00 m.i.s.s.i.o.n... │ +00000510: 5700 5200 4900 5400 4500 5f00 4500 5800 W.R.I.T.E._.E.X. │ +00000520: 5400 4500 5200 4e00 4100 4c00 5f00 5300 T.E.R.N.A.L._.S. │ +00000530: 5400 4f00 5200 4100 4700 4500 0000 0800 T.O.R.A.G.E..... │ +00000540: 7500 7300 6500 7300 2d00 7300 6400 6b00 u.s.e.s.-.s.d.k. │ +00000550: 0000 0b00 6100 7000 7000 6c00 6900 6300 ....a.p.p.l.i.c. │ +00000560: 6100 7400 6900 6f00 6e00 0000 0c00 7500 a.t.i.o.n.....u. │ +00000570: 7300 6500 7300 2d00 6c00 6900 6200 7200 s.e.s.-.l.i.b.r. │ +00000580: 6100 7200 7900 0000 1700 6300 6f00 6d00 a.r.y.....c.o.m. │ +00000590: 2e00 6700 6f00 6f00 6700 6c00 6500 2e00 ..g.o.o.g.l.e... │ +000005a0: 6100 6e00 6400 7200 6f00 6900 6400 2e00 a.n.d.r.o.i.d... │ +000005b0: 6d00 6100 7000 7300 0000 0700 7300 6500 m.a.p.s.....s.e. │ +000005c0: 7200 7600 6900 6300 6500 0000 1e00 6f00 r.v.i.c.e.....o. │ +000005d0: 7200 6700 2e00 6700 6600 6400 2e00 6700 r.g...g.f.d...g. │ +000005e0: 7300 6d00 6c00 6f00 6300 6100 7400 6900 s.m.l.o.c.a.t.i. │ +000005f0: 6f00 6e00 2e00 4700 5300 4d00 5300 6500 o.n...G.S.M.S.e. │ +00000600: 7200 7600 6900 6300 6500 0000 1a00 4700 r.v.i.c.e.....G. │ +00000610: 5300 4d00 4e00 6500 7400 7700 6f00 7200 S.M.N.e.t.w.o.r. │ +00000620: 6b00 4c00 6f00 6300 6100 7400 6900 6f00 k.L.o.c.a.t.i.o. │ +00000630: 6e00 5000 7200 6f00 7600 6900 6400 6500 n.P.r.o.v.i.d.e. │ +00000640: 7200 0000 0d00 6900 6e00 7400 6500 6e00 r.....i.n.t.e.n. │ +00000650: 7400 2d00 6600 6900 6c00 7400 6500 7200 t.-.f.i.l.t.e.r. │ +00000660: 0000 0600 6100 6300 7400 6900 6f00 6e00 ....a.c.t.i.o.n. │ +00000670: 0000 1f00 6f00 7200 6700 2e00 6d00 6900 ....o.r.g...m.i. │ +00000680: 6300 7200 6f00 6700 2e00 6e00 6c00 7000 c.r.o.g...n.l.p. │ +00000690: 2e00 4c00 4f00 4300 4100 5400 4900 4f00 ..L.O.C.A.T.I.O. │ +000006a0: 4e00 5f00 4200 4100 4300 4b00 4500 4e00 N._.B.A.C.K.E.N. │ +000006b0: 4400 0000 8001 0800 3000 0000 1b02 0101 D.......0....... │ +000006c0: 1c02 0101 0300 0101 0c02 0101 7002 0101 ............p... │ +000006d0: 0200 0101 0100 0101 8002 0101 8e02 0101 ................ │ +000006e0: 0600 0101 0001 1000 1800 0000 0200 0000 ................ │ +000006f0: ffff ffff 0a00 0000 0b00 0000 0201 1000 ................ │ +00000700: 8800 0000 0200 0000 ffff ffff ffff ffff ................ │ +00000710: 1000 0000 1400 1400 0500 0000 0000 0000 ................ │ +00000720: 0b00 0000 0000 0000 ffff ffff 0800 0010 ................ │ +00000730: 0e00 0000 0b00 0000 0100 0000 1200 0000 ................ │ +00000740: 0800 0003 1200 0000 ffff ffff 0d00 0000 ................ │ +00000750: 1100 0000 0800 0003 1100 0000 ffff ffff ................ │ +00000760: 0e00 0000 1300 0000 0800 0010 1300 0000 ................ │ +00000770: ffff ffff 0f00 0000 1400 0000 0800 0003 ................ │ +00000780: 1400 0000 0201 1000 3800 0000 0900 0000 ........8....... │ +00000790: ffff ffff ffff ffff 1500 0000 1400 1400 ................ │ +000007a0: 0100 0000 0000 0000 0b00 0000 0200 0000 ................ │ +000007b0: 1600 0000 0800 0003 1600 0000 0301 1000 ................ │ +000007c0: 1800 0000 0900 0000 ffff ffff ffff ffff ................ │ +000007d0: 1500 0000 0201 1000 3800 0000 0a00 0000 ........8....... │ +000007e0: ffff ffff ffff ffff 1500 0000 1400 1400 ................ │ +000007f0: 0100 0000 0000 0000 0b00 0000 0200 0000 ................ │ +00000800: 1700 0000 0800 0003 1700 0000 0301 1000 ................ │ +00000810: 1800 0000 0a00 0000 ffff ffff ffff ffff ................ │ +00000820: 1500 0000 0201 1000 3800 0000 0b00 0000 ........8....... │ +00000830: ffff ffff ffff ffff 1500 0000 1400 1400 ................ │ +00000840: 0100 0000 0000 0000 0b00 0000 0200 0000 ................ │ +00000850: 1800 0000 0800 0003 1800 0000 0301 1000 ................ │ +00000860: 1800 0000 0b00 0000 ffff ffff ffff ffff ................ │ +00000870: 1500 0000 0201 1000 3800 0000 0c00 0000 ........8....... │ +00000880: ffff ffff ffff ffff 1500 0000 1400 1400 ................ │ +00000890: 0100 0000 0000 0000 0b00 0000 0200 0000 ................ │ +000008a0: 1900 0000 0800 0003 1900 0000 0301 1000 ................ │ +000008b0: 1800 0000 0c00 0000 ffff ffff ffff ffff ................ │ +000008c0: 1500 0000 0201 1000 3800 0000 0d00 0000 ........8....... │ +000008d0: ffff ffff ffff ffff 1500 0000 1400 1400 ................ │ +000008e0: 0100 0000 0000 0000 0b00 0000 0200 0000 ................ │ +000008f0: 1a00 0000 0800 0003 1a00 0000 0301 1000 ................ │ +00000900: 1800 0000 0d00 0000 ffff ffff ffff ffff ................ │ +00000910: 1500 0000 0201 1000 3800 0000 0e00 0000 ........8....... │ +00000920: ffff ffff ffff ffff 1500 0000 1400 1400 ................ │ +00000930: 0100 0000 0000 0000 0b00 0000 0200 0000 ................ │ +00000940: 1b00 0000 0800 0003 1b00 0000 0301 1000 ................ │ +00000950: 1800 0000 0e00 0000 ffff ffff ffff ffff ................ │ +00000960: 1500 0000 0201 1000 3800 0000 0f00 0000 ........8....... │ +00000970: ffff ffff ffff ffff 1500 0000 1400 1400 ................ │ +00000980: 0100 0000 0000 0000 0b00 0000 0200 0000 ................ │ +00000990: 1c00 0000 0800 0003 1c00 0000 0301 1000 ................ │ +000009a0: 1800 0000 0f00 0000 ffff ffff ffff ffff ................ │ +000009b0: 1500 0000 0201 1000 4c00 0000 1100 0000 ........L....... │ +000009c0: ffff ffff ffff ffff 1d00 0000 1400 1400 ................ │ +000009d0: 0200 0000 0000 0000 0b00 0000 0300 0000 ................ │ +000009e0: ffff ffff 0800 0010 1100 0000 0b00 0000 ................ │ +000009f0: 0400 0000 ffff ffff 0800 0010 1100 0000 ................ │ +00000a00: 0301 1000 1800 0000 1100 0000 ffff ffff ................ │ +00000a10: ffff ffff 1d00 0000 0201 1000 6000 0000 ............`... │ +00000a20: 1300 0000 ffff ffff ffff ffff 1e00 0000 ................ │ +00000a30: 1400 1400 0300 0000 0000 0000 0b00 0000 ................ │ +00000a40: 0600 0000 ffff ffff 0800 0001 0100 037f ................ │ +00000a50: 0b00 0000 0500 0000 ffff ffff 0800 0001 ................ │ +00000a60: 0000 027f 0b00 0000 0700 0000 ffff ffff ................ │ +00000a70: 0800 0012 0000 0000 0201 1000 4c00 0000 ............L... │ +00000a80: 1800 0000 ffff ffff ffff ffff 1f00 0000 ................ │ +00000a90: 1400 1400 0200 0000 0000 0000 0b00 0000 ................ │ +00000aa0: 0200 0000 2000 0000 0800 0003 2000 0000 .... ....... ... │ +00000ab0: 0b00 0000 0800 0000 ffff ffff 0800 0012 ................ │ +00000ac0: 0000 0000 0301 1000 1800 0000 1800 0000 ................ │ +00000ad0: ffff ffff ffff ffff 1f00 0000 0201 1000 ................ │ +00000ae0: 6000 0000 1a00 0000 ffff ffff ffff ffff `............... │ +00000af0: 2100 0000 1400 1400 0300 0000 0000 0000 !............... │ +00000b00: 0b00 0000 0600 0000 2300 0000 0800 0003 ........#....... │ +00000b10: 2300 0000 0b00 0000 0200 0000 2200 0000 #..........."... │ +00000b20: 0800 0003 2200 0000 0b00 0000 0900 0000 ...."........... │ +00000b30: 1600 0000 0800 0003 1600 0000 0201 1000 ................ │ +00000b40: 2400 0000 1e00 0000 ffff ffff ffff ffff $............... │ +00000b50: 2400 0000 1400 1400 0000 0000 0000 0000 $............... │ +00000b60: 0201 1000 3800 0000 1f00 0000 ffff ffff ....8........... │ +00000b70: ffff ffff 2500 0000 1400 1400 0100 0000 ....%........... │ +00000b80: 0000 0000 0b00 0000 0200 0000 2600 0000 ............&... │ +00000b90: 0800 0003 2600 0000 0301 1000 1800 0000 ....&........... │ +00000ba0: 1f00 0000 ffff ffff ffff ffff 2500 0000 ............%... │ +00000bb0: 0301 1000 1800 0000 2000 0000 ffff ffff ........ ....... │ +00000bc0: ffff ffff 2400 0000 0301 1000 1800 0000 ....$........... │ +00000bd0: 2100 0000 ffff ffff ffff ffff 2100 0000 !...........!... │ +00000be0: 0301 1000 1800 0000 2300 0000 ffff ffff ........#....... │ +00000bf0: ffff ffff 1e00 0000 0301 1000 1800 0000 ................ │ +00000c00: 2500 0000 ffff ffff ffff ffff 1000 0000 %............... │ +00000c10: 0101 1000 1800 0000 2500 0000 ffff ffff ........%....... │ +00000c20: 0a00 0000 0b00 0000 ........