--- /home/fdroid/fdroiddata/tmp/org.billthefarmer.buses_107.apk +++ /home/fdroid/fdroiddata/tmp/sigcp_org.billthefarmer.buses_107.apk ├── /usr/lib/android-sdk/build-tools/debian/apksigner verify --verbose --print-certs {} │┄ error from `/usr/lib/android-sdk/build-tools/debian/apksigner verify --verbose --print-certs {}` (b): │┄ DOES NOT VERIFY │┄ ERROR: APK Signature Scheme v3 signer #1: APK integrity check failed. CHUNKED_SHA256 digest mismatch. Expected: <4da3d46efb0555050eeaf8d08e0fd357c3eb8d1eb5e7db3481406cb29d888535>, actual: │┄ ERROR: APK Signature Scheme v3 signer #1: APK integrity check failed. VERITY_CHUNKED_SHA256 digest mismatch. Expected: <640c19d9f2531b0fe21ee75a3429350742ab8d5d43c6e8eb26e44fca887939bcd4360c0000000000>, actual: <51599c9a75bbf2a40fb90fabec172485e40e0a1f539b3dda105d721c05906ae7d4360c0000000000> │ @@ -1,19 +0,0 @@ │ -Verifies │ -Verified using v1 scheme (JAR signing): true │ -Verified using v2 scheme (APK Signature Scheme v2): true │ -Verified using v3 scheme (APK Signature Scheme v3): true │ -Verified using v4 scheme (APK Signature Scheme v4): false │ -Verified for SourceStamp: false │ -Number of signers: 1 │ -Signer #1 certificate DN: CN=FDroid, OU=FDroid, O=fdroid.org, L=ORG, ST=ORG, C=UK │ -Signer #1 certificate SHA-256 digest: 10513e8b9df6b58d2f6b83a3d937ee5cf8aa9cbbe0d69439e760360ca686f07d │ -Signer #1 certificate SHA-1 digest: c5ca5c8fc028197926732175c2ea1aef679e4793 │ -Signer #1 certificate MD5 digest: 5d9f33e223b1c55df925a8b95dae0f14 │ -Signer #1 key algorithm: RSA │ -Signer #1 key size (bits): 2048 │ -Signer #1 public key SHA-256 digest: dcb2ebb9f90c33795f1c3ca15bb3f10d04b64582fa8fced96f3eb79c4a5863aa │ -Signer #1 public key SHA-1 digest: e8879c37012a8e08f32b26c1e1d6f4e4e13b615c │ -Signer #1 public key MD5 digest: 71b7d9a86697bcadc58de1e1fcb57d04 │ -WARNING: META-INF/com/android/build/gradle/app-metadata.properties not protected by signature. Unauthorized modifications to this JAR entry will not be detected. Delete or move the entry outside of META-INF/. │ -WARNING: META-INF/CHANGES not protected by signature. Unauthorized modifications to this JAR entry will not be detected. Delete or move the entry outside of META-INF/. │ -WARNING: META-INF/README.md not protected by signature. Unauthorized modifications to this JAR entry will not be detected. Delete or move the entry outside of META-INF/. ├── zipinfo {} │ @@ -97,8 +97,8 @@ │ -rw---- 0.0 fat 1144 b- stor 81-Jan-01 01:01 res/z61.png │ -rw---- 0.0 fat 876 b- defN 81-Jan-01 01:01 res/zf.xml │ -rw---- 0.0 fat 4434 b- stor 81-Jan-01 01:01 res/zt.png │ -rw---- 0.0 fat 12860 b- stor 81-Jan-01 01:01 resources.arsc │ -rw---- 2.0 fat 8349 b- defN 81-Jan-01 01:01 META-INF/43E8D75D.SF │ -rw---- 2.0 fat 1344 b- defN 81-Jan-01 01:01 META-INF/43E8D75D.RSA │ -rw---- 2.0 fat 8222 b- defN 81-Jan-01 01:01 META-INF/MANIFEST.MF │ -102 files, 1351426 bytes uncompressed, 790220 bytes compressed: 41.5% │ +102 files, 1351426 bytes uncompressed, 790217 bytes compressed: 41.5% ├── classes.dex │ ├── dexdump -a -d -f -h {} │ │┄ Ignoring differences in offsets to keep diff size reasonable. │ │ @@ -1,12 +1,12 @@ │ │ DEX version '035' │ │ DEX file header: │ │ magic : 'dex\n035\0' │ │ -checksum : 7ae93165 │ │ -signature : fb62...441e │ │ +checksum : 8c3431b9 │ │ +signature : 5bf5...3585 │ │ file_size : 850220 │ │ header_size : 112 │ │ link_size : 0 │ │ link_off : 0 (0x000000) │ │ string_ids_size : 7568 │ │ string_ids_off : 112 (0x000070) │ │ type_ids_size : 1103 │ │ @@ -48,15 +48,15 @@ │ │ type : 'Ljava/lang/String;' │ │ access : 0x0019 (PUBLIC STATIC FINAL) │ │ value : "release" │ │ #2 : (in Lorg/billthefarmer/buses/BuildConfig;) │ │ name : 'BUILT' │ │ type : 'J' │ │ access : 0x0019 (PUBLIC STATIC FINAL) │ │ - value : 1703432298170 │ │ + value : 1703667738313 │ │ #3 : (in Lorg/billthefarmer/buses/BuildConfig;) │ │ name : 'DEBUG' │ │ type : 'Z' │ │ access : 0x0019 (PUBLIC STATIC FINAL) │ │ value : false │ │ #4 : (in Lorg/billthefarmer/buses/BuildConfig;) │ │ name : 'VERSION_CODE' │ │ @@ -2110,15 +2110,15 @@ │ │ 028332: 6e10 0104 0300 |003b: invoke-virtual {v3}, Ljava/util/regex/Matcher;.find:()Z // method@0401 │ │ 028338: 0a04 |003e: move-result v4 │ │ 02833a: 3804 1a00 |003f: if-eqz v4, 0059 // +001a │ │ 02833e: 6e10 0804 0300 |0041: invoke-virtual {v3}, Ljava/util/regex/Matcher;.start:()I // method@0408 │ │ 028344: 0a04 |0044: move-result v4 │ │ 028346: 6e10 0004 0300 |0045: invoke-virtual {v3}, Ljava/util/regex/Matcher;.end:()I // method@0400 │ │ 02834c: 0a03 |0048: move-result v3 │ │ -02834e: 1805 ba1e 7a9c 8c01 0000 |0049: const-wide v5, #double 8.41607e-312 // #0000018c9c7a1eba │ │ +02834e: 1805 c9a6 82aa 8c01 0000 |0049: const-wide v5, #double 8.41724e-312 // #0000018caa82a6c9 │ │ 028358: 7120 5602 6500 |004e: invoke-static {v5, v6}, Ljava/lang/Long;.valueOf:(J)Ljava/lang/Long; // method@0256 │ │ 02835e: 0c05 |0051: move-result-object v5 │ │ 028360: 6e20 3303 5100 |0052: invoke-virtual {v1, v5}, Ljava/text/DateFormat;.format:(Ljava/lang/Object;)Ljava/lang/String; // method@0333 │ │ 028366: 0c01 |0055: move-result-object v1 │ │ 028368: 6e40 4001 4213 |0056: invoke-virtual {v2, v4, v3, v1}, Landroid/text/SpannableStringBuilder;.replace:(IILjava/lang/CharSequence;)Landroid/text/SpannableStringBuilder; // method@0140 │ │ 02836e: 6e20 1400 2000 |0059: invoke-virtual {v0, v2}, Landroid/app/AlertDialog$Builder;.setMessage:(Ljava/lang/CharSequence;)Landroid/app/AlertDialog$Builder; // method@0014 │ │ 028374: 1401 0a00 0401 |005c: const v1, #float 2.42446e-38 // #0104000a │ │ @@ -155738,111 +155738,112 @@ │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 14 │ │ ins : 1 │ │ outs : 7 │ │ insns size : 178 16-bit code units │ │ 0806dc: |[0806dc] uk.me.jstott.jcoord.MGRSRef.toUTMRef:()Luk/me/jstott/jcoord/UTMRef; │ │ -0806ec: 52d0 c60a |0000: iget v0, v13, Luk/me/jstott/jcoord/MGRSRef;.utmZoneNumber:I // field@0ac6 │ │ -0806f0: 1211 |0002: const/4 v1, #int 1 // #1 │ │ -0806f2: b110 |0003: sub-int/2addr v0, v1 │ │ +0806ec: 52d1 c60a |0000: iget v1, v13, Luk/me/jstott/jcoord/MGRSRef;.utmZoneNumber:I // field@0ac6 │ │ +0806f0: d800 01ff |0002: add-int/lit8 v0, v1, #int -1 // #ff │ │ 0806f4: dc00 0006 |0004: rem-int/lit8 v0, v0, #int 6 // #06 │ │ -0806f8: b010 |0006: add-int/2addr v0, v1 │ │ -0806fa: 57d2 bf0a |0007: iget-char v2, v13, Luk/me/jstott/jcoord/MGRSRef;.eastingID:C // field@0abf │ │ -0806fe: d802 02bf |0009: add-int/lit8 v2, v2, #int -65 // #bf │ │ -080702: 1303 0f00 |000b: const/16 v3, #int 15 // #f │ │ -080706: 3732 0400 |000d: if-le v2, v3, 0011 // +0004 │ │ -08070a: d802 02ff |000f: add-int/lit8 v2, v2, #int -1 // #ff │ │ -08070e: 1304 0900 |0011: const/16 v4, #int 9 // #9 │ │ -080712: 3742 0400 |0013: if-le v2, v4, 0017 // +0004 │ │ -080716: d802 02ff |0015: add-int/lit8 v2, v2, #int -1 // #ff │ │ -08071a: 52d5 be0a |0017: iget v5, v13, Luk/me/jstott/jcoord/MGRSRef;.easting:I // field@0abe │ │ -08071e: dc02 0208 |0019: rem-int/lit8 v2, v2, #int 8 // #08 │ │ -080722: b012 |001b: add-int/2addr v2, v1 │ │ -080724: 1406 a086 0100 |001c: const v6, #float 1.4013e-40 // #000186a0 │ │ -08072a: 9202 0206 |001f: mul-int v2, v2, v6 │ │ -08072e: b025 |0021: add-int/2addr v5, v2 │ │ -080730: 1402 4042 0f00 |0022: const v2, #float 1.4013e-39 // #000f4240 │ │ -080736: b425 |0025: rem-int/2addr v5, v2 │ │ -080738: 57d2 c20a |0026: iget-char v2, v13, Luk/me/jstott/jcoord/MGRSRef;.northingID:C // field@0ac2 │ │ -08073c: d807 02c0 |0028: add-int/lit8 v7, v2, #int -64 // #c0 │ │ -080740: 3737 0400 |002a: if-le v7, v3, 002e // +0004 │ │ -080744: d807 07ff |002c: add-int/lit8 v7, v7, #int -1 // #ff │ │ -080748: 3747 0400 |002e: if-le v7, v4, 0032 // +0004 │ │ -08074c: d807 07ff |0030: add-int/lit8 v7, v7, #int -1 // #ff │ │ -080750: dc00 0002 |0032: rem-int/lit8 v0, v0, #int 2 // #02 │ │ -080754: 3900 0400 |0034: if-nez v0, 0038 // +0004 │ │ -080758: d807 07fb |0036: add-int/lit8 v7, v7, #int -5 // #fb │ │ -08075c: 3b07 0400 |0038: if-gez v7, 003c // +0004 │ │ -080760: d807 0710 |003a: add-int/lit8 v7, v7, #int 16 // #10 │ │ -080764: 1203 |003c: const/4 v3, #int 0 // #0 │ │ -080766: 3900 0400 |003d: if-nez v0, 0041 // +0004 │ │ -08076a: 1210 |003f: const/4 v0, #int 1 // #1 │ │ -08076c: 2802 |0040: goto 0042 // +0002 │ │ -08076e: 1200 |0041: const/4 v0, #int 0 // #0 │ │ -080770: 57d4 c50a |0042: iget-char v4, v13, Luk/me/jstott/jcoord/MGRSRef;.utmZoneChar:C // field@0ac5 │ │ -080774: 1308 4500 |0044: const/16 v8, #int 69 // #45 │ │ -080778: 1409 808d 5b00 |0046: const v9, #float 8.40779e-39 // #005b8d80 │ │ -08077e: 140a 0009 3d00 |0049: const v10, #float 5.60519e-39 // #003d0900 │ │ -080784: 140b 8084 1e00 |004c: const v11, #float 2.8026e-39 // #001e8480 │ │ -08078a: 2b04 4f00 0000 |004f: packed-switch v4, 0000009e // +0000004f │ │ -080790: 2838 |0052: goto 008a // +0038 │ │ -080792: 1403 0012 7a00 |0053: const v3, #float 1.12104e-38 // #007a1200 │ │ -080798: 2834 |0056: goto 008a // +0034 │ │ -08079a: 1403 808d 5b00 |0057: const v3, #float 8.40779e-39 // #005b8d80 │ │ -0807a0: 2830 |005a: goto 008a // +0030 │ │ -0807a2: 3900 0600 |005b: if-nez v0, 0061 // +0006 │ │ -0807a6: 1303 5000 |005d: const/16 v3, #int 80 // #50 │ │ -0807aa: 3432 f8ff |005f: if-lt v2, v3, 0057 // -0008 │ │ -0807ae: 3800 0700 |0061: if-eqz v0, 0068 // +0007 │ │ -0807b2: 1300 5500 |0063: const/16 v0, #int 85 // #55 │ │ -0807b6: 3502 0300 |0065: if-ge v2, v0, 0068 // +0003 │ │ -0807ba: 28f0 |0067: goto 0057 // -0010 │ │ -0807bc: 1403 0009 3d00 |0068: const v3, #float 5.60519e-39 // #003d0900 │ │ -0807c2: 281f |006b: goto 008a // +001f │ │ -0807c4: 3900 0600 |006c: if-nez v0, 0072 // +0006 │ │ -0807c8: 1303 5200 |006e: const/16 v3, #int 82 // #52 │ │ -0807cc: 3432 f8ff |0070: if-lt v2, v3, 0068 // -0008 │ │ -0807d0: 3800 0500 |0072: if-eqz v0, 0077 // +0005 │ │ -0807d4: 3782 0300 |0074: if-le v2, v8, 0077 // +0003 │ │ -0807d8: 28f2 |0076: goto 0068 // -000e │ │ -0807da: 1403 8084 1e00 |0077: const v3, #float 2.8026e-39 // #001e8480 │ │ -0807e0: 2810 |007a: goto 008a // +0010 │ │ -0807e2: 3900 0600 |007b: if-nez v0, 0081 // +0006 │ │ -0807e6: 1304 5400 |007d: const/16 v4, #int 84 // #54 │ │ -0807ea: 3442 f8ff |007f: if-lt v2, v4, 0077 // -0008 │ │ -0807ee: 3800 0900 |0081: if-eqz v0, 008a // +0009 │ │ -0807f2: 1300 4300 |0083: const/16 v0, #int 67 // #43 │ │ -0807f6: 3402 f2ff |0085: if-lt v2, v0, 0077 // -000e │ │ -0807fa: 3782 0300 |0087: if-le v2, v8, 008a // +0003 │ │ -0807fe: 28ee |0089: goto 0077 // -0012 │ │ -080800: b117 |008a: sub-int/2addr v7, v1 │ │ -080802: 9207 0706 |008b: mul-int v7, v7, v6 │ │ -080806: 52d0 c10a |008d: iget v0, v13, Luk/me/jstott/jcoord/MGRSRef;.northing:I // field@0ac1 │ │ -08080a: b007 |008f: add-int/2addr v7, v0 │ │ -08080c: b073 |0090: add-int/2addr v3, v7 │ │ -08080e: 2200 ea03 |0091: new-instance v0, Luk/me/jstott/jcoord/UTMRef; // type@03ea │ │ -080812: 52d7 c60a |0093: iget v7, v13, Luk/me/jstott/jcoord/MGRSRef;.utmZoneNumber:I // field@0ac6 │ │ -080816: 57d8 c50a |0095: iget-char v8, v13, Luk/me/jstott/jcoord/MGRSRef;.utmZoneChar:C // field@0ac5 │ │ -08081a: 8359 |0097: int-to-double v9, v5 │ │ -08081c: 833b |0098: int-to-double v11, v3 │ │ -08081e: 0706 |0099: move-object v6, v0 │ │ -080820: 7607 331a 0600 |009a: invoke-direct/range {v6, v7, v8, v9, v10, v11, v12}, Luk/me/jstott/jcoord/UTMRef;.:(ICDD)V // method@1a33 │ │ -080826: 1100 |009d: return-object v0 │ │ +0806f8: 1212 |0006: const/4 v2, #int 1 // #1 │ │ +0806fa: b020 |0007: add-int/2addr v0, v2 │ │ +0806fc: 57d3 bf0a |0008: iget-char v3, v13, Luk/me/jstott/jcoord/MGRSRef;.eastingID:C // field@0abf │ │ +080700: d803 03bf |000a: add-int/lit8 v3, v3, #int -65 // #bf │ │ +080704: 1304 0f00 |000c: const/16 v4, #int 15 // #f │ │ +080708: 3743 0400 |000e: if-le v3, v4, 0012 // +0004 │ │ +08070c: d803 03ff |0010: add-int/lit8 v3, v3, #int -1 // #ff │ │ +080710: 1305 0900 |0012: const/16 v5, #int 9 // #9 │ │ +080714: 3753 0400 |0014: if-le v3, v5, 0018 // +0004 │ │ +080718: d803 03ff |0016: add-int/lit8 v3, v3, #int -1 // #ff │ │ +08071c: 52d6 be0a |0018: iget v6, v13, Luk/me/jstott/jcoord/MGRSRef;.easting:I // field@0abe │ │ +080720: dc03 0308 |001a: rem-int/lit8 v3, v3, #int 8 // #08 │ │ +080724: b023 |001c: add-int/2addr v3, v2 │ │ +080726: 1407 a086 0100 |001d: const v7, #float 1.4013e-40 // #000186a0 │ │ +08072c: 9203 0307 |0020: mul-int v3, v3, v7 │ │ +080730: b036 |0022: add-int/2addr v6, v3 │ │ +080732: 1403 4042 0f00 |0023: const v3, #float 1.4013e-39 // #000f4240 │ │ +080738: b436 |0026: rem-int/2addr v6, v3 │ │ +08073a: 57d3 c20a |0027: iget-char v3, v13, Luk/me/jstott/jcoord/MGRSRef;.northingID:C // field@0ac2 │ │ +08073e: d808 03c0 |0029: add-int/lit8 v8, v3, #int -64 // #c0 │ │ +080742: 3748 0400 |002b: if-le v8, v4, 002f // +0004 │ │ +080746: d808 08ff |002d: add-int/lit8 v8, v8, #int -1 // #ff │ │ +08074a: 3758 0400 |002f: if-le v8, v5, 0033 // +0004 │ │ +08074e: d808 08ff |0031: add-int/lit8 v8, v8, #int -1 // #ff │ │ +080752: dc00 0002 |0033: rem-int/lit8 v0, v0, #int 2 // #02 │ │ +080756: 3900 0400 |0035: if-nez v0, 0039 // +0004 │ │ +08075a: d808 08fb |0037: add-int/lit8 v8, v8, #int -5 // #fb │ │ +08075e: 3b08 0400 |0039: if-gez v8, 003d // +0004 │ │ +080762: d808 0810 |003b: add-int/lit8 v8, v8, #int 16 // #10 │ │ +080766: 1204 |003d: const/4 v4, #int 0 // #0 │ │ +080768: 3900 0400 |003e: if-nez v0, 0042 // +0004 │ │ +08076c: 1210 |0040: const/4 v0, #int 1 // #1 │ │ +08076e: 2802 |0041: goto 0043 // +0002 │ │ +080770: 1200 |0042: const/4 v0, #int 0 // #0 │ │ +080772: 57d5 c50a |0043: iget-char v5, v13, Luk/me/jstott/jcoord/MGRSRef;.utmZoneChar:C // field@0ac5 │ │ +080776: 1309 4500 |0045: const/16 v9, #int 69 // #45 │ │ +08077a: 140a 808d 5b00 |0047: const v10, #float 8.40779e-39 // #005b8d80 │ │ +080780: 140b 0009 3d00 |004a: const v11, #float 5.60519e-39 // #003d0900 │ │ +080786: 140c 8084 1e00 |004d: const v12, #float 2.8026e-39 // #001e8480 │ │ +08078c: 2b05 4e00 0000 |0050: packed-switch v5, 0000009e // +0000004e │ │ +080792: 2838 |0053: goto 008b // +0038 │ │ +080794: 1404 0012 7a00 |0054: const v4, #float 1.12104e-38 // #007a1200 │ │ +08079a: 2834 |0057: goto 008b // +0034 │ │ +08079c: 1404 808d 5b00 |0058: const v4, #float 8.40779e-39 // #005b8d80 │ │ +0807a2: 2830 |005b: goto 008b // +0030 │ │ +0807a4: 3900 0600 |005c: if-nez v0, 0062 // +0006 │ │ +0807a8: 1304 5000 |005e: const/16 v4, #int 80 // #50 │ │ +0807ac: 3443 f8ff |0060: if-lt v3, v4, 0058 // -0008 │ │ +0807b0: 3800 0700 |0062: if-eqz v0, 0069 // +0007 │ │ +0807b4: 1300 5500 |0064: const/16 v0, #int 85 // #55 │ │ +0807b8: 3503 0300 |0066: if-ge v3, v0, 0069 // +0003 │ │ +0807bc: 28f0 |0068: goto 0058 // -0010 │ │ +0807be: 1404 0009 3d00 |0069: const v4, #float 5.60519e-39 // #003d0900 │ │ +0807c4: 281f |006c: goto 008b // +001f │ │ +0807c6: 3900 0600 |006d: if-nez v0, 0073 // +0006 │ │ +0807ca: 1304 5200 |006f: const/16 v4, #int 82 // #52 │ │ +0807ce: 3443 f8ff |0071: if-lt v3, v4, 0069 // -0008 │ │ +0807d2: 3800 0500 |0073: if-eqz v0, 0078 // +0005 │ │ +0807d6: 3793 0300 |0075: if-le v3, v9, 0078 // +0003 │ │ +0807da: 28f2 |0077: goto 0069 // -000e │ │ +0807dc: 1404 8084 1e00 |0078: const v4, #float 2.8026e-39 // #001e8480 │ │ +0807e2: 2810 |007b: goto 008b // +0010 │ │ +0807e4: 3900 0600 |007c: if-nez v0, 0082 // +0006 │ │ +0807e8: 130a 5400 |007e: const/16 v10, #int 84 // #54 │ │ +0807ec: 34a3 f8ff |0080: if-lt v3, v10, 0078 // -0008 │ │ +0807f0: 3800 0900 |0082: if-eqz v0, 008b // +0009 │ │ +0807f4: 1300 4300 |0084: const/16 v0, #int 67 // #43 │ │ +0807f8: 3403 f2ff |0086: if-lt v3, v0, 0078 // -000e │ │ +0807fc: 3793 0300 |0088: if-le v3, v9, 008b // +0003 │ │ +080800: 28ee |008a: goto 0078 // -0012 │ │ +080802: b128 |008b: sub-int/2addr v8, v2 │ │ +080804: 9208 0807 |008c: mul-int v8, v8, v7 │ │ +080808: 52d0 c10a |008e: iget v0, v13, Luk/me/jstott/jcoord/MGRSRef;.northing:I // field@0ac1 │ │ +08080c: b008 |0090: add-int/2addr v8, v0 │ │ +08080e: b084 |0091: add-int/2addr v4, v8 │ │ +080810: 2207 ea03 |0092: new-instance v7, Luk/me/jstott/jcoord/UTMRef; // type@03ea │ │ +080814: 8368 |0094: int-to-double v8, v6 │ │ +080816: 834a |0095: int-to-double v10, v4 │ │ +080818: 0770 |0096: move-object v0, v7 │ │ +08081a: 0152 |0097: move v2, v5 │ │ +08081c: 0483 |0098: move-wide v3, v8 │ │ +08081e: 04a5 |0099: move-wide v5, v10 │ │ +080820: 7607 331a 0000 |009a: invoke-direct/range {v0, v1, v2, v3, v4, v5, v6}, Luk/me/jstott/jcoord/UTMRef;.:(ICDD)V // method@1a33 │ │ +080826: 1107 |009d: return-object v7 │ │ 080828: 0001 0800 5100 0000 2c00 0000 2800 ... |009e: packed-switch-data (20 units) │ │ catches : (none) │ │ positions : │ │ 0x0000 line=461 │ │ - 0x0007 line=462 │ │ - 0x0017 line=468 │ │ - 0x0026 line=472 │ │ - 0x0032 line=477 │ │ - 0x0042 line=486 │ │ - 0x008d line=525 │ │ - 0x0091 line=527 │ │ + 0x0008 line=462 │ │ + 0x0018 line=468 │ │ + 0x0027 line=472 │ │ + 0x0033 line=477 │ │ + 0x0043 line=486 │ │ + 0x008e line=525 │ │ + 0x0092 line=527 │ │ locals : │ │ 0x0000 - 0x00b2 reg=13 this Luk/me/jstott/jcoord/MGRSRef; │ │ │ │ source_file_idx : 2348 (MGRSRef.java) │ │ │ │ Class #551 header: │ │ class_idx : 999 │ ├── classes.jar │ │ ├── zipinfo {} │ │ │ @@ -1,8 +1,8 @@ │ │ │ -Zip file size: 1397299 bytes, number of entries: 709 │ │ │ +Zip file size: 1397312 bytes, number of entries: 709 │ │ │ ?rwxrwxr-x 2.0 unx 442 b- stor 80-Jan-01 00:00 org/billthefarmer/buses/BuildConfig.class │ │ │ ?rwxrwxr-x 2.0 unx 503 b- stor 80-Jan-01 00:00 org/billthefarmer/buses/Buses$$ExternalSyntheticLambda0.class │ │ │ ?rwxrwxr-x 2.0 unx 476 b- stor 80-Jan-01 00:00 org/billthefarmer/buses/Buses$$ExternalSyntheticLambda1.class │ │ │ ?rwxrwxr-x 2.0 unx 450 b- stor 80-Jan-01 00:00 org/billthefarmer/buses/Buses$2$$ExternalSyntheticLambda0.class │ │ │ ?rwxrwxr-x 2.0 unx 2117 b- stor 80-Jan-01 00:00 org/billthefarmer/buses/Buses$2.class │ │ │ ?rwxrwxr-x 2.0 unx 509 b- stor 80-Jan-01 00:00 org/billthefarmer/buses/Buses$BusesTask$$ExternalSyntheticLambda0.class │ │ │ ?rwxrwxr-x 2.0 unx 4019 b- stor 80-Jan-01 00:00 org/billthefarmer/buses/Buses$BusesTask.class │ │ │ @@ -545,15 +545,15 @@ │ │ │ ?rwxrwxr-x 2.0 unx 1385 b- stor 80-Jan-01 00:00 org/osmdroid/views/overlay/milestones/MilestoneLister.class │ │ │ ?rwxrwxr-x 2.0 unx 1394 b- stor 80-Jan-01 00:00 org/osmdroid/views/overlay/milestones/MilestoneManager.class │ │ │ ?rwxrwxr-x 2.0 unx 594 b- stor 80-Jan-01 00:00 org/osmdroid/views/overlay/milestones/MilestonePathDisplayer.class │ │ │ ?rwxrwxr-x 2.0 unx 3850 b- stor 80-Jan-01 00:00 org/osmdroid/views/overlay/mylocation/GpsMyLocationProvider.class │ │ │ ?rwxrwxr-x 2.0 unx 1152 b- stor 80-Jan-01 00:00 org/osmdroid/views/overlay/simplefastpoint/SimplePointTheme.class │ │ │ ?rwxrwxr-x 2.0 unx 2421 b- stor 80-Jan-01 00:00 uk/me/jstott/jcoord/ECEFRef.class │ │ │ ?rwxrwxr-x 2.0 unx 6167 b- stor 80-Jan-01 00:00 uk/me/jstott/jcoord/IrishRef.class │ │ │ -?rwxrwxr-x 2.0 unx 5589 b- stor 80-Jan-01 00:00 uk/me/jstott/jcoord/MGRSRef.class │ │ │ +?rwxrwxr-x 2.0 unx 5602 b- stor 80-Jan-01 00:00 uk/me/jstott/jcoord/MGRSRef.class │ │ │ ?rwxrwxr-x 2.0 unx 6761 b- stor 80-Jan-01 00:00 uk/me/jstott/jcoord/OSRef.class │ │ │ ?rwxrwxr-x 2.0 unx 4855 b- stor 80-Jan-01 00:00 uk/me/jstott/jcoord/UTMRef.class │ │ │ ?rwxrwxr-x 2.0 unx 811 b- stor 80-Jan-01 00:00 uk/me/jstott/jcoord/datum/ETRF89Datum.class │ │ │ ?rwxrwxr-x 2.0 unx 945 b- stor 80-Jan-01 00:00 uk/me/jstott/jcoord/datum/Ireland1965Datum.class │ │ │ ?rwxrwxr-x 2.0 unx 956 b- stor 80-Jan-01 00:00 uk/me/jstott/jcoord/datum/OSGB36Datum.class │ │ │ ?rwxrwxr-x 2.0 unx 817 b- stor 80-Jan-01 00:00 uk/me/jstott/jcoord/datum/WGS84Datum.class │ │ │ ?rwxrwxr-x 2.0 unx 911 b- stor 80-Jan-01 00:00 uk/me/jstott/jcoord/datum/nad27/NAD27AlaskaDatum.class │ │ │ @@ -704,8 +704,8 @@ │ │ │ ?rwxrwxr-x 2.0 unx 593 b- stor 80-Jan-01 00:00 org/osmdroid/views/overlay/milestones/MilestoneLineDisplayer$1.class │ │ │ ?rwxrwxr-x 2.0 unx 1784 b- stor 80-Jan-01 00:00 org/osmdroid/views/overlay/simplefastpoint/StyledLabelledGeoPoint.class │ │ │ ?rwxrwxr-x 2.0 unx 668 b- stor 80-Jan-01 00:00 org/osmdroid/tileprovider/tilesource/FileBasedTileSource.class │ │ │ ?rwxrwxr-x 2.0 unx 7657 b- stor 80-Jan-01 00:00 org/osmdroid/tileprovider/tilesource/bing/BingMapTileSource.class │ │ │ ?rwxrwxr-x 2.0 unx 8432 b- stor 80-Jan-01 00:00 org/osmdroid/views/overlay/ItemizedOverlayWithFocus.class │ │ │ ?rwxrwxr-x 2.0 unx 3894 b- stor 80-Jan-01 00:00 org/osmdroid/views/overlay/Polygon.class │ │ │ ?rwxrwxr-x 2.0 unx 2197 b- stor 80-Jan-01 00:00 org/osmdroid/views/overlay/Polyline.class │ │ │ -709 files, 1474783 bytes uncompressed, 1273905 bytes compressed: 13.6% │ │ │ +709 files, 1474796 bytes uncompressed, 1273918 bytes compressed: 13.6% │ │ ├── org/billthefarmer/buses/BuildConfig.class │ │ │ ├── procyon -ec {} │ │ │ │ @@ -1,12 +1,12 @@ │ │ │ │ │ │ │ │ package org.billthefarmer.buses; │ │ │ │ │ │ │ │ public final class BuildConfig │ │ │ │ { │ │ │ │ public static final String APPLICATION_ID = "org.billthefarmer.buses"; │ │ │ │ public static final String BUILD_TYPE = "release"; │ │ │ │ - public static final long BUILT = 1703432298170L; │ │ │ │ + public static final long BUILT = 1703667738313L; │ │ │ │ public static final boolean DEBUG = false; │ │ │ │ public static final int VERSION_CODE = 107; │ │ │ │ public static final String VERSION_NAME = "1.07"; │ │ │ │ } │ │ ├── org/billthefarmer/buses/Buses.class │ │ │ ├── procyon -ec {} │ │ │ │ @@ -109,15 +109,15 @@ │ │ │ │ final SpannableStringBuilder message = new SpannableStringBuilder(this.getText(2131099702)); │ │ │ │ final Matcher matcher = Pattern.compile("%s").matcher((CharSequence)message); │ │ │ │ if (matcher.find()) { │ │ │ │ message.replace(matcher.start(), matcher.end(), (CharSequence)"1.07"); │ │ │ │ } │ │ │ │ matcher.reset((CharSequence)message); │ │ │ │ if (matcher.find()) { │ │ │ │ - message.replace(matcher.start(), matcher.end(), (CharSequence)dateTimeInstance.format(Long.valueOf(1703432298170L))); │ │ │ │ + message.replace(matcher.start(), matcher.end(), (CharSequence)dateTimeInstance.format(Long.valueOf(1703667738313L))); │ │ │ │ } │ │ │ │ alertDialog$Builder.setMessage((CharSequence)message); │ │ │ │ alertDialog$Builder.setPositiveButton(17039370, (DialogInterface$OnClickListener)null); │ │ │ │ final TextView textView = (TextView)((Dialog)alertDialog$Builder.show()).findViewById(16908299); │ │ │ │ if (textView != null) { │ │ │ │ textView.setMovementMethod(LinkMovementMethod.getInstance()); │ │ │ │ } │ │ ├── uk/me/jstott/jcoord/MGRSRef.class │ │ │ ├── procyon -ec {} │ │ │ │ @@ -310,87 +310,88 @@ │ │ │ │ sb4.append(s); │ │ │ │ sb4.append(s2); │ │ │ │ return sb4.toString(); │ │ │ │ } │ │ │ │ │ │ │ │ public UTMRef toUTMRef() { │ │ │ │ final int utmZoneNumber = this.utmZoneNumber; │ │ │ │ - final int n = 1; │ │ │ │ - final int n2 = (utmZoneNumber - n) % 6 + n; │ │ │ │ - int n3 = this.eastingID - 65; │ │ │ │ - final int n4 = 15; │ │ │ │ - if (n3 > n4) { │ │ │ │ - --n3; │ │ │ │ - } │ │ │ │ - final int n5 = 9; │ │ │ │ - if (n3 > n5) { │ │ │ │ - --n3; │ │ │ │ + final int n = (utmZoneNumber - 1) % 6; │ │ │ │ + final int n2 = 1; │ │ │ │ + final int n3 = n + n2; │ │ │ │ + int n4 = this.eastingID - 65; │ │ │ │ + final int n5 = 15; │ │ │ │ + if (n4 > n5) { │ │ │ │ + --n4; │ │ │ │ + } │ │ │ │ + final int n6 = 9; │ │ │ │ + if (n4 > n6) { │ │ │ │ + --n4; │ │ │ │ } │ │ │ │ final int easting = this.easting; │ │ │ │ - final int n6 = n3 % 8 + n; │ │ │ │ - final int n7 = 100000; │ │ │ │ - final int n8 = (easting + n6 * n7) % 1000000; │ │ │ │ + final int n7 = n4 % 8 + n2; │ │ │ │ + final int n8 = 100000; │ │ │ │ + final int n9 = (easting + n7 * n8) % 1000000; │ │ │ │ final char northingID = this.northingID; │ │ │ │ - int n9 = northingID - 64; │ │ │ │ - if (n9 > n4) { │ │ │ │ - --n9; │ │ │ │ - } │ │ │ │ - if (n9 > n5) { │ │ │ │ - --n9; │ │ │ │ - } │ │ │ │ - final int n10 = n2 % 2; │ │ │ │ - if (n10 == 0) { │ │ │ │ - n9 -= 5; │ │ │ │ + int n10 = northingID - 64; │ │ │ │ + if (n10 > n5) { │ │ │ │ + --n10; │ │ │ │ + } │ │ │ │ + if (n10 > n6) { │ │ │ │ + --n10; │ │ │ │ + } │ │ │ │ + final int n11 = n3 % 2; │ │ │ │ + if (n11 == 0) { │ │ │ │ + n10 -= 5; │ │ │ │ } │ │ │ │ - if (n9 < 0) { │ │ │ │ - n9 += 16; │ │ │ │ + if (n10 < 0) { │ │ │ │ + n10 += 16; │ │ │ │ } │ │ │ │ - int n11 = 0; │ │ │ │ - final boolean b = n10 == 0; │ │ │ │ + int n12 = 0; │ │ │ │ + final boolean b = n11 == 0; │ │ │ │ final char utmZoneChar = this.utmZoneChar; │ │ │ │ final char c = 'E'; │ │ │ │ - Label_0270_Outer: │ │ │ │ + Label_0288_Outer: │ │ │ │ while (true) { │ │ │ │ - Label_0304_Outer: │ │ │ │ + Label_0324_Outer: │ │ │ │ while (true) { │ │ │ │ while (true) { │ │ │ │ switch (utmZoneChar) { │ │ │ │ case 88: { │ │ │ │ - n11 = 8000000; │ │ │ │ + n12 = 8000000; │ │ │ │ break; │ │ │ │ } │ │ │ │ case 86: │ │ │ │ case 87: { │ │ │ │ - n11 = 6000000; │ │ │ │ + n12 = 6000000; │ │ │ │ break; │ │ │ │ } │ │ │ │ case 85: { │ │ │ │ if (b && northingID < 'P') { │ │ │ │ - continue Label_0270_Outer; │ │ │ │ + continue Label_0288_Outer; │ │ │ │ } │ │ │ │ if (b && northingID < 'U') { │ │ │ │ - continue Label_0270_Outer; │ │ │ │ + continue Label_0288_Outer; │ │ │ │ } │ │ │ │ - break Label_0270; │ │ │ │ + break Label_0288; │ │ │ │ } │ │ │ │ case 84: { │ │ │ │ - n11 = 4000000; │ │ │ │ + n12 = 4000000; │ │ │ │ break; │ │ │ │ } │ │ │ │ case 83: { │ │ │ │ if (b && northingID < 'R') { │ │ │ │ - continue Label_0304_Outer; │ │ │ │ + continue Label_0324_Outer; │ │ │ │ } │ │ │ │ if (b && northingID > c) { │ │ │ │ - continue Label_0304_Outer; │ │ │ │ + continue Label_0324_Outer; │ │ │ │ } │ │ │ │ - break Label_0304; │ │ │ │ + break Label_0324; │ │ │ │ } │ │ │ │ case 82: { │ │ │ │ - n11 = 2000000; │ │ │ │ + n12 = 2000000; │ │ │ │ break; │ │ │ │ } │ │ │ │ case 81: { │ │ │ │ if (b && northingID < 'T') { │ │ │ │ continue; │ │ │ │ } │ │ │ │ if (!b) { │ │ │ │ @@ -407,10 +408,10 @@ │ │ │ │ } │ │ │ │ break; │ │ │ │ } │ │ │ │ break; │ │ │ │ } │ │ │ │ break; │ │ │ │ } │ │ │ │ - return new UTMRef(this.utmZoneNumber, this.utmZoneChar, (double)n8, (double)(n11 + ((n9 - n) * n7 + this.northing))); │ │ │ │ + return new UTMRef(utmZoneNumber, utmZoneChar, (double)n9, (double)(n12 + ((n10 - n2) * n8 + this.northing))); │ │ │ │ } │ │ │ │ } ├── smali/uk/me/jstott/jcoord/MGRSRef.smali │ @@ -1091,218 +1091,220 @@ │ return-object p1 │ .end method │ │ .method public toUTMRef()Luk/me/jstott/jcoord/UTMRef; │ .locals 13 │ │ .line 461 │ - iget v0, p0, Luk/me/jstott/jcoord/MGRSRef;->utmZoneNumber:I │ + iget v1, p0, Luk/me/jstott/jcoord/MGRSRef;->utmZoneNumber:I │ │ - const/4 v1, 0x1 │ - │ - sub-int/2addr v0, v1 │ + add-int/lit8 v0, v1, -0x1 │ │ rem-int/lit8 v0, v0, 0x6 │ │ - add-int/2addr v0, v1 │ + const/4 v2, 0x1 │ + │ + add-int/2addr v0, v2 │ │ .line 462 │ - iget-char v2, p0, Luk/me/jstott/jcoord/MGRSRef;->eastingID:C │ + iget-char v3, p0, Luk/me/jstott/jcoord/MGRSRef;->eastingID:C │ │ - add-int/lit8 v2, v2, -0x41 │ + add-int/lit8 v3, v3, -0x41 │ │ - const/16 v3, 0xf │ + const/16 v4, 0xf │ │ - if-le v2, v3, :cond_0 │ + if-le v3, v4, :cond_0 │ │ - add-int/lit8 v2, v2, -0x1 │ + add-int/lit8 v3, v3, -0x1 │ │ :cond_0 │ - const/16 v4, 0x9 │ + const/16 v5, 0x9 │ │ - if-le v2, v4, :cond_1 │ + if-le v3, v5, :cond_1 │ │ - add-int/lit8 v2, v2, -0x1 │ + add-int/lit8 v3, v3, -0x1 │ │ .line 468 │ :cond_1 │ - iget v5, p0, Luk/me/jstott/jcoord/MGRSRef;->easting:I │ + iget v6, p0, Luk/me/jstott/jcoord/MGRSRef;->easting:I │ │ - rem-int/lit8 v2, v2, 0x8 │ + rem-int/lit8 v3, v3, 0x8 │ │ - add-int/2addr v2, v1 │ + add-int/2addr v3, v2 │ │ - const v6, 0x186a0 │ + const v7, 0x186a0 │ │ - mul-int v2, v2, v6 │ + mul-int v3, v3, v7 │ │ - add-int/2addr v5, v2 │ + add-int/2addr v6, v3 │ │ - const v2, 0xf4240 │ + const v3, 0xf4240 │ │ - rem-int/2addr v5, v2 │ + rem-int/2addr v6, v3 │ │ .line 472 │ - iget-char v2, p0, Luk/me/jstott/jcoord/MGRSRef;->northingID:C │ + iget-char v3, p0, Luk/me/jstott/jcoord/MGRSRef;->northingID:C │ │ - add-int/lit8 v7, v2, -0x40 │ + add-int/lit8 v8, v3, -0x40 │ │ - if-le v7, v3, :cond_2 │ + if-le v8, v4, :cond_2 │ │ - add-int/lit8 v7, v7, -0x1 │ + add-int/lit8 v8, v8, -0x1 │ │ :cond_2 │ - if-le v7, v4, :cond_3 │ + if-le v8, v5, :cond_3 │ │ - add-int/lit8 v7, v7, -0x1 │ + add-int/lit8 v8, v8, -0x1 │ │ .line 477 │ :cond_3 │ rem-int/lit8 v0, v0, 0x2 │ │ if-nez v0, :cond_4 │ │ - add-int/lit8 v7, v7, -0x5 │ + add-int/lit8 v8, v8, -0x5 │ │ :cond_4 │ - if-gez v7, :cond_5 │ + if-gez v8, :cond_5 │ │ - add-int/lit8 v7, v7, 0x10 │ + add-int/lit8 v8, v8, 0x10 │ │ :cond_5 │ - const/4 v3, 0x0 │ + const/4 v4, 0x0 │ │ if-nez v0, :cond_6 │ │ const/4 v0, 0x1 │ │ goto :goto_0 │ │ :cond_6 │ const/4 v0, 0x0 │ │ .line 486 │ :goto_0 │ - iget-char v4, p0, Luk/me/jstott/jcoord/MGRSRef;->utmZoneChar:C │ + iget-char v5, p0, Luk/me/jstott/jcoord/MGRSRef;->utmZoneChar:C │ │ - const/16 v8, 0x45 │ + const/16 v9, 0x45 │ │ - const v9, 0x5b8d80 │ + const v10, 0x5b8d80 │ │ - const v10, 0x3d0900 │ + const v11, 0x3d0900 │ │ - const v11, 0x1e8480 │ + const v12, 0x1e8480 │ │ - packed-switch v4, :pswitch_data_0 │ + packed-switch v5, :pswitch_data_0 │ │ goto :goto_4 │ │ :pswitch_0 │ - const v3, 0x7a1200 │ + const v4, 0x7a1200 │ │ goto :goto_4 │ │ :cond_7 │ :goto_1 │ :pswitch_1 │ - const v3, 0x5b8d80 │ + const v4, 0x5b8d80 │ │ goto :goto_4 │ │ :pswitch_2 │ if-nez v0, :cond_8 │ │ - const/16 v3, 0x50 │ + const/16 v4, 0x50 │ │ - if-lt v2, v3, :cond_7 │ + if-lt v3, v4, :cond_7 │ │ :cond_8 │ if-eqz v0, :cond_9 │ │ const/16 v0, 0x55 │ │ - if-ge v2, v0, :cond_9 │ + if-ge v3, v0, :cond_9 │ │ goto :goto_1 │ │ :cond_9 │ :goto_2 │ :pswitch_3 │ - const v3, 0x3d0900 │ + const v4, 0x3d0900 │ │ goto :goto_4 │ │ :pswitch_4 │ if-nez v0, :cond_a │ │ - const/16 v3, 0x52 │ + const/16 v4, 0x52 │ │ - if-lt v2, v3, :cond_9 │ + if-lt v3, v4, :cond_9 │ │ :cond_a │ if-eqz v0, :cond_b │ │ - if-le v2, v8, :cond_b │ + if-le v3, v9, :cond_b │ │ goto :goto_2 │ │ :cond_b │ :goto_3 │ :pswitch_5 │ - const v3, 0x1e8480 │ + const v4, 0x1e8480 │ │ goto :goto_4 │ │ :pswitch_6 │ if-nez v0, :cond_c │ │ - const/16 v4, 0x54 │ + const/16 v10, 0x54 │ │ - if-lt v2, v4, :cond_b │ + if-lt v3, v10, :cond_b │ │ :cond_c │ if-eqz v0, :cond_d │ │ const/16 v0, 0x43 │ │ - if-lt v2, v0, :cond_b │ + if-lt v3, v0, :cond_b │ │ - if-le v2, v8, :cond_d │ + if-le v3, v9, :cond_d │ │ goto :goto_3 │ │ :cond_d │ :goto_4 │ - sub-int/2addr v7, v1 │ + sub-int/2addr v8, v2 │ │ - mul-int v7, v7, v6 │ + mul-int v8, v8, v7 │ │ .line 525 │ iget v0, p0, Luk/me/jstott/jcoord/MGRSRef;->northing:I │ │ - add-int/2addr v7, v0 │ + add-int/2addr v8, v0 │ │ - add-int/2addr v3, v7 │ + add-int/2addr v4, v8 │ │ .line 527 │ - new-instance v0, Luk/me/jstott/jcoord/UTMRef; │ + new-instance v7, Luk/me/jstott/jcoord/UTMRef; │ + │ + int-to-double v8, v6 │ │ - iget v7, p0, Luk/me/jstott/jcoord/MGRSRef;->utmZoneNumber:I │ + int-to-double v10, v4 │ │ - iget-char v8, p0, Luk/me/jstott/jcoord/MGRSRef;->utmZoneChar:C │ + move-object v0, v7 │ │ - int-to-double v9, v5 │ + move v2, v5 │ │ - int-to-double v11, v3 │ + move-wide v3, v8 │ │ - move-object v6, v0 │ + move-wide v5, v10 │ │ - invoke-direct/range {v6 .. v12}, Luk/me/jstott/jcoord/UTMRef;->(ICDD)V │ + invoke-direct/range {v0 .. v6}, Luk/me/jstott/jcoord/UTMRef;->(ICDD)V │ │ - return-object v0 │ + return-object v7 │ │ :pswitch_data_0 │ .packed-switch 0x51 │ :pswitch_6 │ :pswitch_5 │ :pswitch_4 │ :pswitch_3 ├── smali/org/billthefarmer/buses/Buses.smali │ @@ -195,15 +195,15 @@ │ │ move-result v4 │ │ invoke-virtual {v3}, Ljava/util/regex/Matcher;->end()I │ │ move-result v3 │ │ - const-wide v5, 0x18c9c7a1ebaL │ + const-wide v5, 0x18caa82a6c9L │ │ .line 619 │ invoke-static {v5, v6}, Ljava/lang/Long;->valueOf(J)Ljava/lang/Long; │ │ move-result-object v5 │ │ invoke-virtual {v1, v5}, Ljava/text/DateFormat;->format(Ljava/lang/Object;)Ljava/lang/String; ├── smali/org/billthefarmer/buses/BuildConfig.smali │ @@ -4,15 +4,15 @@ │ │ │ # static fields │ .field public static final APPLICATION_ID:Ljava/lang/String; = "org.billthefarmer.buses" │ │ .field public static final BUILD_TYPE:Ljava/lang/String; = "release" │ │ -.field public static final BUILT:J = 0x18c9c7a1ebaL │ +.field public static final BUILT:J = 0x18caa82a6c9L │ │ .field public static final DEBUG:Z = false │ │ .field public static final VERSION_CODE:I = 0x6b │ │ .field public static final VERSION_NAME:Ljava/lang/String; = "1.07"