Commit Graph

13 Commits

Author SHA1 Message Date
Aayush Gupta
17faf8d3ef Mark apps with target SDK lower than 23 as incompatiable
* Reason: https://developer.android.com/about/versions/14/behavior-changes-all#minimum-target-api-level

Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com>
2023-10-13 23:58:05 +05:30
Hans-Christoph Steiner
2537c9d2be skip when NameNotFoundException on adding apps to local repo
I can't really figure out this specific issue, but seems like it
should skip apps after NameNotFoundException regardless of why.  This
is used elsewhere, like `DbUpdateChecker.getSuggestedVersion()`.

Here's the error that I saw on CalyxOS:
```
android.content.pm.PackageManager$NameNotFoundException: org.calyxos.customization
  at android.app.ApplicationPackageManager.getPackageInfoAsUser(ApplicationPackageManager.java:253)
  at android.app.ApplicationPackageManager.getPackageInfo(ApplicationPackageManager.java:213)
  at android.app.ApplicationPackageManager.getPackageInfo(ApplicationPackageManager.java:207)
  at org.fdroid.index.v1.IndexV1Creator.addApp(IndexV1Creator.kt:67)
  at org.fdroid.index.v1.IndexV1Creator.createIndex(IndexV1Creator.kt:49)
  at org.fdroid.index.v1.IndexV1Creator.createRepo(IndexV1Creator.kt:37)
  at org.fdroid.fdroid.nearby.LocalRepoManager.generateIndex(LocalRepoManager.java:259)
  at org.fdroid.fdroid.nearby.LocalRepoService.runProcess(LocalRepoService.java:107)
  at org.fdroid.fdroid.nearby.LocalRepoService$GenerateLocalRepoThread.run(LocalRepoService.java:96)
```
2023-07-20 16:52:59 +02:00
Hans-Christoph Steiner
b9cb80db56 delete existing when copying APKs into local repo, #2629 2023-07-20 16:52:59 +02:00
Hans-Christoph Steiner
9ab226b3fb re-add sig field for use in swap v1 compatibility checks
With index-v2, "signer" will be the only field used, since "sig" is
deprecated and should be removed.  "sig" needs to be kept only for
generating the index-v1.jar in nearby/swap repos so that it remains
compatible with older clients.  This code base should no longer use
"sig" for anything besides writing it out to index-v1.json.
2023-01-20 15:21:11 +01:00
Hans-Christoph Steiner
e3550171aa rename all cases where "sig" or "signature" should be "signer"
* "signer": standard SHA-256 fingerprint of the APK Signing Certificate
* "sig": fdroid-specific MD5 fingerprint of the APK Signing Certificate
2023-01-20 15:21:11 +01:00
Torsten Grote
7ff61fde50 [app] Don't treat apps with known-vulnerabilities like real updates 2023-01-19 08:36:04 +00:00
Isira Seneviratne
4ae3da15f0 Use PackageInfoCompat.getLongVersionCode(). 2022-12-15 18:28:29 +01:00
Hans-Christoph Steiner
bdc77a31b3 IndexCreator: if symlink fails, copy file into repo
Roboletric apparently does not support Os.symlink, and some devices might
have wonky implementations.  Copying is slower and takes more disk space,
but is much more reliable.  So it is a workable fallback.
2022-12-01 17:43:14 +01:00
Torsten Grote
cae10f11d9 Make index file name constants public and replace their string usages 2022-12-01 17:43:14 +01:00
Torsten Grote
e86063937a Change repo attribute icons to be localized
This affects anti-features and categories. Reflection diffing has been made more robust in the process with the earlier FileV2 hack removed and better error messages.
2022-12-01 17:43:13 +01:00
Torsten Grote
38e7bce982 Rename EntryV2 to Entry as requested by Hans in #2443 2022-11-25 12:24:33 +01:00
Torsten Grote
ce1d07b4b1 [index] in v1 the whatsNew refers to suggested version not first version 2022-11-24 22:34:50 +01:00
Torsten Grote
f6075848e7 Move libraries into their own folder
and remove sharedTest symlink hack. The shared tests are now a proper gradle module to avoid issues with using the same source files in different modules.
2022-09-12 09:46:15 +00:00