Commit Graph

53 Commits

Author SHA1 Message Date
Torsten Grote
8b4e42935e [db] Add new DbAppChecker which finds updates and apps with issues
This is similar to DbUpdateChecker which only finds updates.
2025-12-29 11:23:59 -03:00
Ray c
a4ffd9c535 Resurrect from my 'Elvis' falls' in getBestLocale
Apparently Elvis' got style
2025-11-05 07:10:57 +00:00
Torsten Grote
07b56f0516 Upgrade Dokka syntax to v2 2025-11-04 08:50:56 -03:00
Torsten Grote
5a04b315d5 Upgrade maven publishing plugin 2025-11-04 08:50:56 -03:00
Torsten Grote
1e4c9f39ed Enable Binary compatibility validation
which is still experimental, but allows us to sport API breakage in CI. It still doesn't produce anything for the database lib.
2025-11-04 08:50:55 -03:00
Torsten Grote
911b337db7 Untangle libraries slightly by creating a common core library 2025-11-04 08:50:55 -03:00
Torsten Grote
ba7731af6c Migrate build scripts from Groovy to Kotlin 2025-11-04 08:50:55 -03:00
Torsten Grote
982b300e67 [index] add versionName to PackageVersion 2025-11-04 08:50:50 -03:00
Ray c
6bb2798045 [libs] More robust handling of language and script in getBestLocale 2025-11-04 11:49:39 +00:00
Torsten Grote
25ddb1307a Android 16 can still install targetSdk 24 apps 2025-06-26 09:33:36 -03:00
Torsten Grote
73c761dea9 [index] rename location to countryCode in MirrorV2 2024-11-07 14:36:12 -03:00
Torsten Grote
1b7a55b043 Upgrade all the things!
Use version catalog now and upgrade ktlint as well.
2024-10-17 17:41:12 +00:00
Torsten Grote
195911c765 Fixing Kotlin style issues ahead of ktlint upgrade 2024-10-17 17:41:12 +00:00
Torsten Grote
9c0c5ab9b1 change compileSdk to 35 2024-10-17 17:41:12 +00:00
Torsten Grote
632f55eb15 [index] Fix diffing of version features
The structure of the JSON (FeatureV2) and of our internal class AppManifest is different. The latter uses a list of strings instead of objects. The ReflectionDiffer didn't handle this different and was throwing an exception when diffing changing features.

However, the impact of this bug should be small as normally one version has an ID which is its SHA256 hash and thus its features shouldn't change over repo updates. Imaginable is erratic repo creation software though.
2024-10-08 17:14:24 +00:00
Torsten Grote
1b63bc3898 Revert "let all gradle modules use compileSdk 35"
This reverts commit 957bea4655.
2024-10-08 10:28:34 -03:00
Torsten Grote
395393b51e [index] address new nullability info from SDK 35 2024-10-07 15:34:26 -03:00
Torsten Grote
957bea4655 let all gradle modules use compileSdk 35 2024-10-07 13:06:33 -03:00
Torsten Grote
5cf22c5e06 [index] stop passing certificates around 2024-05-22 09:58:05 +00:00
Torsten Grote
ad6b1d6ad5 [index] remove some warnings on CompatibilityChecker 2024-05-22 09:57:17 +00:00
Torsten Grote
c639d7b445 [index] adapt minInstallableTargetSdk for Android 15 2024-05-22 09:57:17 +00:00
Torsten Grote
f6caceb63c [index] treat empty string like null when deserializing FileV2 objects
we've seen serialized FileV2 objects becoming an empty string after parcelizing them,
so we need to account for null *and* empty string here.

Fixes acra-crash-reports#617
2024-03-12 15:12:19 +00:00
Torsten Grote
6ffb3fe7e3 Update dependencies 2024-03-05 14:43:28 +00:00
Torsten Grote
35affc09db Upgrade to Gradle 8 and SDK 34
This commit tries to limit the changes required to what is needed to make the project compile again. This includes the Kotlin and Room update.
2024-03-05 14:43:28 +00:00
Torsten Grote
359145eaef [app] fix debug logging for libraries 2024-02-13 12:26:03 +00:00
Torsten Grote
e61886c6b6 Upgrade the libraries we can still upgrade
without going to gradle 8, Java 17 and compileSdk 34
2023-10-20 09:26:17 -03:00
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
Torsten Grote
9e34611969 [index] add temporary debug hack to see what causes JsonDecodingException in FileV2 2023-09-12 14:58:05 +02:00
Torsten Grote
26b2c7b2fd Upgrade test dependencies and fix instrumentation test issue 2023-08-23 10:30:21 +02:00
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
Torsten Grote
4aa244bd1a Downgrade kotlinx-serialization-json to 1.4.1 to fix #2637
https://github.com/Kotlin/kotlinx.serialization/issues/2231
2023-06-20 09:11:20 -03:00
Torsten Grote
d62e4b7735 Upgrade kotlinx-serialization-json to 1.5.1 in hope to fix #2637 2023-06-19 10:32:02 -03:00
Torsten Grote
26262e77bc [index] Require at least SDK 24 for BestLocale test 2023-06-15 10:28:40 +00:00
Torsten Grote
21f8a23814 Upgrade all (most of) the things 2023-05-30 09:39:15 -03:00
Torsten Grote
9c50183b68 Upgrade to Android Studio Electric Eel to solve some test bugs 2023-05-30 09:39:15 -03:00
Torsten Grote
d83822510c Compile libraries with SDK 33 as well 2023-05-29 12:00:49 -03:00
Torsten Grote
2500915a03 Bump library versions and update their README 2023-02-23 10:45:53 +00: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
Torsten Grote
efafc86b87 [app] fix NPE when de-serializing apkFile
Closes acra-crash-reports#127
2022-12-20 12:09:16 -03: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
0019535279 [index] Add support for IPFS CIDv1 in the index v2 format 2022-12-01 17:43:13 +01:00
Torsten Grote
eef3c3fb0d Upgrade to Android Studio Chipmunk
and upgrade other dependencies as well
2022-11-28 12:48:58 +01:00
Torsten Grote
83dd06e682 [app] upgrade dependencies 2022-11-28 10:17:30 +01:00
Torsten Grote
38e7bce982 Rename EntryV2 to Entry as requested by Hans in #2443 2022-11-25 12:24:33 +01:00