--- /home/fdroid/fdroiddata/tmp/org.billthefarmer.buses_105.apk +++ /home/fdroid/fdroiddata/tmp/sigcp_org.billthefarmer.buses_105.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: <4c71ca5caea4ebac503406c8739f533697c7fe3294572fbdab803ec8799ccdeb>, actual: <106be43ff22bf3e5844ef87f173d2473a554cde6bc1defc1697f76ca5d3ea506> │┄ ERROR: APK Signature Scheme v3 signer #1: APK integrity check failed. VERITY_CHUNKED_SHA256 digest mismatch. Expected: , actual: <053d40bd30e30f18a1e662225f89ce0b4b7ac6c9ef8f928561a4e331e81c1630fd6a0c0000000000> │ @@ -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 {} │ @@ -116,8 +116,8 @@ │ -rw---- 0.0 fat 1144 b- stor 81-Jan-01 01:01 res/z61.png │ -rw---- 0.0 fat 4434 b- stor 81-Jan-01 01:01 res/zt.png │ -rw---- 0.0 fat 403 b- stor 81-Jan-01 01:01 res/zt1.png │ -rw---- 0.0 fat 12828 b- stor 81-Jan-01 01:01 resources.arsc │ -rw---- 2.0 fat 7647 b- defN 81-Jan-01 01:01 META-INF/43E8D75D.SF │ -rw---- 2.0 fat 1336 b- defN 81-Jan-01 01:01 META-INF/43E8D75D.RSA │ -rw---- 2.0 fat 7539 b- defN 81-Jan-01 01:01 META-INF/MANIFEST.MF │ -121 files, 1363429 bytes uncompressed, 801551 bytes compressed: 41.2% │ +121 files, 1363429 bytes uncompressed, 801543 bytes compressed: 41.2% ├── 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 : d1630c05 │ │ -signature : 440b...5975 │ │ +checksum : 1b7b0971 │ │ +signature : 891c...2c35 │ │ file_size : 854516 │ │ header_size : 112 │ │ link_size : 0 │ │ link_off : 0 (0x000000) │ │ string_ids_size : 7566 │ │ string_ids_off : 112 (0x000070) │ │ type_ids_size : 1100 │ │ @@ -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 : 1691802659857 │ │ + value : 1693522374914 │ │ #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' │ │ @@ -2059,15 +2059,15 @@ │ │ 02806e: 6e10 fd03 0300 |003b: invoke-virtual {v3}, Ljava/util/regex/Matcher;.find:()Z // method@03fd │ │ 028074: 0a04 |003e: move-result v4 │ │ 028076: 3804 1a00 |003f: if-eqz v4, 0059 // +001a │ │ 02807a: 6e10 0404 0300 |0041: invoke-virtual {v3}, Ljava/util/regex/Matcher;.start:()I // method@0404 │ │ 028080: 0a04 |0044: move-result v4 │ │ 028082: 6e10 fc03 0300 |0045: invoke-virtual {v3}, Ljava/util/regex/Matcher;.end:()I // method@03fc │ │ 028088: 0a03 |0048: move-result v3 │ │ -02808a: 1805 11ec 4be7 8901 0000 |0049: const-wide v5, #double 8.35862e-312 // #00000189e74bec11 │ │ +02808a: 1805 02b1 cc4d 8a01 0000 |0049: const-wide v5, #double 8.36711e-312 // #0000018a4dccb102 │ │ 028094: 7120 5802 6500 |004e: invoke-static {v5, v6}, Ljava/lang/Long;.valueOf:(J)Ljava/lang/Long; // method@0258 │ │ 02809a: 0c05 |0051: move-result-object v5 │ │ 02809c: 6e20 3403 5100 |0052: invoke-virtual {v1, v5}, Ljava/text/DateFormat;.format:(Ljava/lang/Object;)Ljava/lang/String; // method@0334 │ │ 0280a2: 0c01 |0055: move-result-object v1 │ │ 0280a4: 6e40 4101 4213 |0056: invoke-virtual {v2, v4, v3, v1}, Landroid/text/SpannableStringBuilder;.replace:(IILjava/lang/CharSequence;)Landroid/text/SpannableStringBuilder; // method@0141 │ │ 0280aa: 6e20 1400 2000 |0059: invoke-virtual {v0, v2}, Landroid/app/AlertDialog$Builder;.setMessage:(Ljava/lang/CharSequence;)Landroid/app/AlertDialog$Builder; // method@0014 │ │ 0280b0: 1401 0a00 0401 |005c: const v1, #float 2.42446e-38 // #0104000a │ │ @@ -156808,111 +156808,112 @@ │ │ access : 0x0001 (PUBLIC) │ │ code - │ │ registers : 14 │ │ ins : 1 │ │ outs : 7 │ │ insns size : 178 16-bit code units │ │ 0818f4: |[0818f4] uk.me.jstott.jcoord.MGRSRef.toUTMRef:()Luk/me/jstott/jcoord/UTMRef; │ │ -081904: 52d0 aa0a |0000: iget v0, v13, Luk/me/jstott/jcoord/MGRSRef;.utmZoneNumber:I // field@0aaa │ │ -081908: 1211 |0002: const/4 v1, #int 1 // #1 │ │ -08190a: b110 |0003: sub-int/2addr v0, v1 │ │ +081904: 52d1 aa0a |0000: iget v1, v13, Luk/me/jstott/jcoord/MGRSRef;.utmZoneNumber:I // field@0aaa │ │ +081908: d800 01ff |0002: add-int/lit8 v0, v1, #int -1 // #ff │ │ 08190c: dc00 0006 |0004: rem-int/lit8 v0, v0, #int 6 // #06 │ │ -081910: b010 |0006: add-int/2addr v0, v1 │ │ -081912: 57d2 a30a |0007: iget-char v2, v13, Luk/me/jstott/jcoord/MGRSRef;.eastingID:C // field@0aa3 │ │ -081916: d802 02bf |0009: add-int/lit8 v2, v2, #int -65 // #bf │ │ -08191a: 1303 0f00 |000b: const/16 v3, #int 15 // #f │ │ -08191e: 3732 0400 |000d: if-le v2, v3, 0011 // +0004 │ │ -081922: d802 02ff |000f: add-int/lit8 v2, v2, #int -1 // #ff │ │ -081926: 1304 0900 |0011: const/16 v4, #int 9 // #9 │ │ -08192a: 3742 0400 |0013: if-le v2, v4, 0017 // +0004 │ │ -08192e: d802 02ff |0015: add-int/lit8 v2, v2, #int -1 // #ff │ │ -081932: 52d5 a20a |0017: iget v5, v13, Luk/me/jstott/jcoord/MGRSRef;.easting:I // field@0aa2 │ │ -081936: dc02 0208 |0019: rem-int/lit8 v2, v2, #int 8 // #08 │ │ -08193a: b012 |001b: add-int/2addr v2, v1 │ │ -08193c: 1406 a086 0100 |001c: const v6, #float 1.4013e-40 // #000186a0 │ │ -081942: 9202 0206 |001f: mul-int v2, v2, v6 │ │ -081946: b025 |0021: add-int/2addr v5, v2 │ │ -081948: 1402 4042 0f00 |0022: const v2, #float 1.4013e-39 // #000f4240 │ │ -08194e: b425 |0025: rem-int/2addr v5, v2 │ │ -081950: 57d2 a60a |0026: iget-char v2, v13, Luk/me/jstott/jcoord/MGRSRef;.northingID:C // field@0aa6 │ │ -081954: d807 02c0 |0028: add-int/lit8 v7, v2, #int -64 // #c0 │ │ -081958: 3737 0400 |002a: if-le v7, v3, 002e // +0004 │ │ -08195c: d807 07ff |002c: add-int/lit8 v7, v7, #int -1 // #ff │ │ -081960: 3747 0400 |002e: if-le v7, v4, 0032 // +0004 │ │ -081964: d807 07ff |0030: add-int/lit8 v7, v7, #int -1 // #ff │ │ -081968: dc00 0002 |0032: rem-int/lit8 v0, v0, #int 2 // #02 │ │ -08196c: 3900 0400 |0034: if-nez v0, 0038 // +0004 │ │ -081970: d807 07fb |0036: add-int/lit8 v7, v7, #int -5 // #fb │ │ -081974: 3b07 0400 |0038: if-gez v7, 003c // +0004 │ │ -081978: d807 0710 |003a: add-int/lit8 v7, v7, #int 16 // #10 │ │ -08197c: 1203 |003c: const/4 v3, #int 0 // #0 │ │ -08197e: 3900 0400 |003d: if-nez v0, 0041 // +0004 │ │ -081982: 1210 |003f: const/4 v0, #int 1 // #1 │ │ -081984: 2802 |0040: goto 0042 // +0002 │ │ -081986: 1200 |0041: const/4 v0, #int 0 // #0 │ │ -081988: 57d4 a90a |0042: iget-char v4, v13, Luk/me/jstott/jcoord/MGRSRef;.utmZoneChar:C // field@0aa9 │ │ -08198c: 1308 4500 |0044: const/16 v8, #int 69 // #45 │ │ -081990: 1409 808d 5b00 |0046: const v9, #float 8.40779e-39 // #005b8d80 │ │ -081996: 140a 0009 3d00 |0049: const v10, #float 5.60519e-39 // #003d0900 │ │ -08199c: 140b 8084 1e00 |004c: const v11, #float 2.8026e-39 // #001e8480 │ │ -0819a2: 2b04 4f00 0000 |004f: packed-switch v4, 0000009e // +0000004f │ │ -0819a8: 2838 |0052: goto 008a // +0038 │ │ -0819aa: 1403 0012 7a00 |0053: const v3, #float 1.12104e-38 // #007a1200 │ │ -0819b0: 2834 |0056: goto 008a // +0034 │ │ -0819b2: 1403 808d 5b00 |0057: const v3, #float 8.40779e-39 // #005b8d80 │ │ -0819b8: 2830 |005a: goto 008a // +0030 │ │ -0819ba: 3900 0600 |005b: if-nez v0, 0061 // +0006 │ │ -0819be: 1303 5000 |005d: const/16 v3, #int 80 // #50 │ │ -0819c2: 3432 f8ff |005f: if-lt v2, v3, 0057 // -0008 │ │ -0819c6: 3800 0700 |0061: if-eqz v0, 0068 // +0007 │ │ -0819ca: 1300 5500 |0063: const/16 v0, #int 85 // #55 │ │ -0819ce: 3502 0300 |0065: if-ge v2, v0, 0068 // +0003 │ │ -0819d2: 28f0 |0067: goto 0057 // -0010 │ │ -0819d4: 1403 0009 3d00 |0068: const v3, #float 5.60519e-39 // #003d0900 │ │ -0819da: 281f |006b: goto 008a // +001f │ │ -0819dc: 3900 0600 |006c: if-nez v0, 0072 // +0006 │ │ -0819e0: 1303 5200 |006e: const/16 v3, #int 82 // #52 │ │ -0819e4: 3432 f8ff |0070: if-lt v2, v3, 0068 // -0008 │ │ -0819e8: 3800 0500 |0072: if-eqz v0, 0077 // +0005 │ │ -0819ec: 3782 0300 |0074: if-le v2, v8, 0077 // +0003 │ │ -0819f0: 28f2 |0076: goto 0068 // -000e │ │ -0819f2: 1403 8084 1e00 |0077: const v3, #float 2.8026e-39 // #001e8480 │ │ -0819f8: 2810 |007a: goto 008a // +0010 │ │ -0819fa: 3900 0600 |007b: if-nez v0, 0081 // +0006 │ │ -0819fe: 1304 5400 |007d: const/16 v4, #int 84 // #54 │ │ -081a02: 3442 f8ff |007f: if-lt v2, v4, 0077 // -0008 │ │ -081a06: 3800 0900 |0081: if-eqz v0, 008a // +0009 │ │ -081a0a: 1300 4300 |0083: const/16 v0, #int 67 // #43 │ │ -081a0e: 3402 f2ff |0085: if-lt v2, v0, 0077 // -000e │ │ -081a12: 3782 0300 |0087: if-le v2, v8, 008a // +0003 │ │ -081a16: 28ee |0089: goto 0077 // -0012 │ │ -081a18: b117 |008a: sub-int/2addr v7, v1 │ │ -081a1a: 9207 0706 |008b: mul-int v7, v7, v6 │ │ -081a1e: 52d0 a50a |008d: iget v0, v13, Luk/me/jstott/jcoord/MGRSRef;.northing:I // field@0aa5 │ │ -081a22: b007 |008f: add-int/2addr v7, v0 │ │ -081a24: b073 |0090: add-int/2addr v3, v7 │ │ -081a26: 2200 e703 |0091: new-instance v0, Luk/me/jstott/jcoord/UTMRef; // type@03e7 │ │ -081a2a: 52d7 aa0a |0093: iget v7, v13, Luk/me/jstott/jcoord/MGRSRef;.utmZoneNumber:I // field@0aaa │ │ -081a2e: 57d8 a90a |0095: iget-char v8, v13, Luk/me/jstott/jcoord/MGRSRef;.utmZoneChar:C // field@0aa9 │ │ -081a32: 8359 |0097: int-to-double v9, v5 │ │ -081a34: 833b |0098: int-to-double v11, v3 │ │ -081a36: 0706 |0099: move-object v6, v0 │ │ -081a38: 7607 251a 0600 |009a: invoke-direct/range {v6, v7, v8, v9, v10, v11, v12}, Luk/me/jstott/jcoord/UTMRef;.:(ICDD)V // method@1a25 │ │ -081a3e: 1100 |009d: return-object v0 │ │ +081910: 1212 |0006: const/4 v2, #int 1 // #1 │ │ +081912: b020 |0007: add-int/2addr v0, v2 │ │ +081914: 57d3 a30a |0008: iget-char v3, v13, Luk/me/jstott/jcoord/MGRSRef;.eastingID:C // field@0aa3 │ │ +081918: d803 03bf |000a: add-int/lit8 v3, v3, #int -65 // #bf │ │ +08191c: 1304 0f00 |000c: const/16 v4, #int 15 // #f │ │ +081920: 3743 0400 |000e: if-le v3, v4, 0012 // +0004 │ │ +081924: d803 03ff |0010: add-int/lit8 v3, v3, #int -1 // #ff │ │ +081928: 1305 0900 |0012: const/16 v5, #int 9 // #9 │ │ +08192c: 3753 0400 |0014: if-le v3, v5, 0018 // +0004 │ │ +081930: d803 03ff |0016: add-int/lit8 v3, v3, #int -1 // #ff │ │ +081934: 52d6 a20a |0018: iget v6, v13, Luk/me/jstott/jcoord/MGRSRef;.easting:I // field@0aa2 │ │ +081938: dc03 0308 |001a: rem-int/lit8 v3, v3, #int 8 // #08 │ │ +08193c: b023 |001c: add-int/2addr v3, v2 │ │ +08193e: 1407 a086 0100 |001d: const v7, #float 1.4013e-40 // #000186a0 │ │ +081944: 9203 0307 |0020: mul-int v3, v3, v7 │ │ +081948: b036 |0022: add-int/2addr v6, v3 │ │ +08194a: 1403 4042 0f00 |0023: const v3, #float 1.4013e-39 // #000f4240 │ │ +081950: b436 |0026: rem-int/2addr v6, v3 │ │ +081952: 57d3 a60a |0027: iget-char v3, v13, Luk/me/jstott/jcoord/MGRSRef;.northingID:C // field@0aa6 │ │ +081956: d808 03c0 |0029: add-int/lit8 v8, v3, #int -64 // #c0 │ │ +08195a: 3748 0400 |002b: if-le v8, v4, 002f // +0004 │ │ +08195e: d808 08ff |002d: add-int/lit8 v8, v8, #int -1 // #ff │ │ +081962: 3758 0400 |002f: if-le v8, v5, 0033 // +0004 │ │ +081966: d808 08ff |0031: add-int/lit8 v8, v8, #int -1 // #ff │ │ +08196a: dc00 0002 |0033: rem-int/lit8 v0, v0, #int 2 // #02 │ │ +08196e: 3900 0400 |0035: if-nez v0, 0039 // +0004 │ │ +081972: d808 08fb |0037: add-int/lit8 v8, v8, #int -5 // #fb │ │ +081976: 3b08 0400 |0039: if-gez v8, 003d // +0004 │ │ +08197a: d808 0810 |003b: add-int/lit8 v8, v8, #int 16 // #10 │ │ +08197e: 1204 |003d: const/4 v4, #int 0 // #0 │ │ +081980: 3900 0400 |003e: if-nez v0, 0042 // +0004 │ │ +081984: 1210 |0040: const/4 v0, #int 1 // #1 │ │ +081986: 2802 |0041: goto 0043 // +0002 │ │ +081988: 1200 |0042: const/4 v0, #int 0 // #0 │ │ +08198a: 57d5 a90a |0043: iget-char v5, v13, Luk/me/jstott/jcoord/MGRSRef;.utmZoneChar:C // field@0aa9 │ │ +08198e: 1309 4500 |0045: const/16 v9, #int 69 // #45 │ │ +081992: 140a 808d 5b00 |0047: const v10, #float 8.40779e-39 // #005b8d80 │ │ +081998: 140b 0009 3d00 |004a: const v11, #float 5.60519e-39 // #003d0900 │ │ +08199e: 140c 8084 1e00 |004d: const v12, #float 2.8026e-39 // #001e8480 │ │ +0819a4: 2b05 4e00 0000 |0050: packed-switch v5, 0000009e // +0000004e │ │ +0819aa: 2838 |0053: goto 008b // +0038 │ │ +0819ac: 1404 0012 7a00 |0054: const v4, #float 1.12104e-38 // #007a1200 │ │ +0819b2: 2834 |0057: goto 008b // +0034 │ │ +0819b4: 1404 808d 5b00 |0058: const v4, #float 8.40779e-39 // #005b8d80 │ │ +0819ba: 2830 |005b: goto 008b // +0030 │ │ +0819bc: 3900 0600 |005c: if-nez v0, 0062 // +0006 │ │ +0819c0: 1304 5000 |005e: const/16 v4, #int 80 // #50 │ │ +0819c4: 3443 f8ff |0060: if-lt v3, v4, 0058 // -0008 │ │ +0819c8: 3800 0700 |0062: if-eqz v0, 0069 // +0007 │ │ +0819cc: 1300 5500 |0064: const/16 v0, #int 85 // #55 │ │ +0819d0: 3503 0300 |0066: if-ge v3, v0, 0069 // +0003 │ │ +0819d4: 28f0 |0068: goto 0058 // -0010 │ │ +0819d6: 1404 0009 3d00 |0069: const v4, #float 5.60519e-39 // #003d0900 │ │ +0819dc: 281f |006c: goto 008b // +001f │ │ +0819de: 3900 0600 |006d: if-nez v0, 0073 // +0006 │ │ +0819e2: 1304 5200 |006f: const/16 v4, #int 82 // #52 │ │ +0819e6: 3443 f8ff |0071: if-lt v3, v4, 0069 // -0008 │ │ +0819ea: 3800 0500 |0073: if-eqz v0, 0078 // +0005 │ │ +0819ee: 3793 0300 |0075: if-le v3, v9, 0078 // +0003 │ │ +0819f2: 28f2 |0077: goto 0069 // -000e │ │ +0819f4: 1404 8084 1e00 |0078: const v4, #float 2.8026e-39 // #001e8480 │ │ +0819fa: 2810 |007b: goto 008b // +0010 │ │ +0819fc: 3900 0600 |007c: if-nez v0, 0082 // +0006 │ │ +081a00: 130a 5400 |007e: const/16 v10, #int 84 // #54 │ │ +081a04: 34a3 f8ff |0080: if-lt v3, v10, 0078 // -0008 │ │ +081a08: 3800 0900 |0082: if-eqz v0, 008b // +0009 │ │ +081a0c: 1300 4300 |0084: const/16 v0, #int 67 // #43 │ │ +081a10: 3403 f2ff |0086: if-lt v3, v0, 0078 // -000e │ │ +081a14: 3793 0300 |0088: if-le v3, v9, 008b // +0003 │ │ +081a18: 28ee |008a: goto 0078 // -0012 │ │ +081a1a: b128 |008b: sub-int/2addr v8, v2 │ │ +081a1c: 9208 0807 |008c: mul-int v8, v8, v7 │ │ +081a20: 52d0 a50a |008e: iget v0, v13, Luk/me/jstott/jcoord/MGRSRef;.northing:I // field@0aa5 │ │ +081a24: b008 |0090: add-int/2addr v8, v0 │ │ +081a26: b084 |0091: add-int/2addr v4, v8 │ │ +081a28: 2207 e703 |0092: new-instance v7, Luk/me/jstott/jcoord/UTMRef; // type@03e7 │ │ +081a2c: 8368 |0094: int-to-double v8, v6 │ │ +081a2e: 834a |0095: int-to-double v10, v4 │ │ +081a30: 0770 |0096: move-object v0, v7 │ │ +081a32: 0152 |0097: move v2, v5 │ │ +081a34: 0483 |0098: move-wide v3, v8 │ │ +081a36: 04a5 |0099: move-wide v5, v10 │ │ +081a38: 7607 251a 0000 |009a: invoke-direct/range {v0, v1, v2, v3, v4, v5, v6}, Luk/me/jstott/jcoord/UTMRef;.:(ICDD)V // method@1a25 │ │ +081a3e: 1107 |009d: return-object v7 │ │ 081a40: 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 : 2354 (MGRSRef.java) │ │ │ │ Class #550 header: │ │ class_idx : 996 │ ├── classes.jar │ │ ├── zipinfo {} │ │ │ @@ -1,8 +1,8 @@ │ │ │ -Zip file size: 1394129 bytes, number of entries: 708 │ │ │ +Zip file size: 1394141 bytes, number of entries: 708 │ │ │ ?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 │ │ │ @@ -544,15 +544,15 @@ │ │ │ ?rwxrwxr-x 2.0 unx 1456 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 6254 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 6858 b- stor 80-Jan-01 00:00 uk/me/jstott/jcoord/OSRef.class │ │ │ ?rwxrwxr-x 2.0 unx 4908 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 │ │ │ @@ -703,8 +703,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 7663 b- stor 80-Jan-01 00:00 org/osmdroid/tileprovider/tilesource/bing/BingMapTileSource.class │ │ │ ?rwxrwxr-x 2.0 unx 8490 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 │ │ │ -708 files, 1477398 bytes uncompressed, 1270871 bytes compressed: 14.0% │ │ │ +708 files, 1477411 bytes uncompressed, 1270883 bytes compressed: 14.0% │ │ ├── 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 = 1691802659857L; │ │ │ │ + public static final long BUILT = 1693522374914L; │ │ │ │ public static final boolean DEBUG = false; │ │ │ │ public static final int VERSION_CODE = 105; │ │ │ │ public static final String VERSION_NAME = "1.05"; │ │ │ │ } │ │ ├── org/billthefarmer/buses/Buses.class │ │ │ ├── procyon -ec {} │ │ │ │ @@ -109,15 +109,15 @@ │ │ │ │ final SpannableStringBuilder message = new SpannableStringBuilder(this.getText(2131099692)); │ │ │ │ final Matcher matcher = Pattern.compile("%s").matcher((CharSequence)message); │ │ │ │ if (matcher.find()) { │ │ │ │ message.replace(matcher.start(), matcher.end(), (CharSequence)"1.05"); │ │ │ │ } │ │ │ │ matcher.reset((CharSequence)message); │ │ │ │ if (matcher.find()) { │ │ │ │ - message.replace(matcher.start(), matcher.end(), (CharSequence)dateTimeInstance.format(Long.valueOf(1691802659857L))); │ │ │ │ + message.replace(matcher.start(), matcher.end(), (CharSequence)dateTimeInstance.format(Long.valueOf(1693522374914L))); │ │ │ │ } │ │ │ │ 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, 0x189e74bec11L │ + const-wide v5, 0x18a4dccb102L │ │ .line 618 │ 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 = 0x189e74bec11L │ +.field public static final BUILT:J = 0x18a4dccb102L │ │ .field public static final DEBUG:Z = false │ │ .field public static final VERSION_CODE:I = 0x69 │ │ .field public static final VERSION_NAME:Ljava/lang/String; = "1.05"