Commit Graph

212 Commits

Author SHA1 Message Date
Torsten Grote
78e8d09219 Run flaky network-based tests in a different job
that is allowed to fail. These tests are hitting real servers that often have issues and thus make our tests fail.
2025-07-14 23:26:40 +00:00
Torsten Grote
50907a590d Fix NPE when setting session timeout with conscrypt 2025-07-14 23:26:40 +00:00
Torsten Grote
9b5b68b740 remove non-determinism from removeAllOptionalsDiff test 2025-07-14 15:25:07 -03:00
Torsten Grote
6b304c8fa9 [db] Add test for removal of optionals from packages 2025-07-14 09:50:34 -03:00
Torsten Grote
d5fd44f718 [db] Removal of *all* packages via diff currently not supported 2025-07-14 09:50:34 -03:00
Torsten Grote
4d719af2bb [db] Fix diff removal of optionals in Repository 2025-07-14 09:50:34 -03:00
Torsten Grote
25ddb1307a Android 16 can still install targetSdk 24 apps 2025-06-26 09:33:36 -03:00
Tobias_Groza
948e22efc8 Fix and add tests for hasAuthorMoreThanOneApp(), getAppListItemsForAuthor() 2025-06-25 11:01:17 +02:00
Tobias_Groza
11c7ebf3ce De-duplicate SQL getAppListItems queries by using RawQuery 2025-06-25 11:01:17 +02:00
Tobias_Groza
c1226afab3 Use ViewModel to obtain data about app author 2025-06-25 11:01:17 +02:00
Tobias_Groza
1008cd5862 Display all apps created by a developer
This adds the abililty to click on the author's name in the app details if there are at least two app from them in the DB. A button with hint to take a look at the other  apps by the dev is also added at the bottom of the app details. When clicked, the AppList is opened with a new `authorName` filter.
2025-06-25 11:01:17 +02:00
Torsten Grote
c86600ff9d Upgrade Ktor to latest version 2025-05-30 16:48:42 -03:00
Torsten Grote
f1c55dd38f Add ConsistentCopyVisibility annotation where required 2025-05-30 16:48:42 -03:00
Tobias_Groza
fc6a88c4b7 Fix AppListLiveData.addSource()
With the update to Room 2.7.0 the chunked queries stopped to return distinct values. This is fixed by only processing distinct values when merging the chunked results.
The test case for the chunked quries was also fixed. It did not work properly before because it only tested chunked quries and not the base case which does not need chunked packageInfo
2025-05-30 16:48:41 -03:00
Torsten Grote
bcf50780e9 Migrate from KAPT to KSP 2025-05-30 16:48:41 -03:00
proletarius101
1b978cf6d6 fix: JDK version was locked to exactly 17 2025-05-26 14:36:41 +00:00
Thore Goebel
319ff86744 Add testAddingMidRepoByOfficialMirror 2025-05-01 14:47:59 +02:00
Thore Goebel
5362938b28 Don't add official mirror as user mirror when adding repo via official mirror
Fixes #2981.
2025-05-01 14:47:59 +02:00
Thore Goebel
6f2f6b0cf5 Add testAddingMinRepoByUserMirror
Also pull out mockNewRepoDbInsertion() to reduce complexity and allow future reuse.
2025-05-01 10:56:16 +02:00
Thore Goebel
118362ffce Clean up RepoAdderTest
- Rename expectDownloadOfMinRepo() to mockMinRepoDownload() to better describe what it does
- Move repoAdder.fetchRepository into expectMinRepoPreview() to reduce repetition
- Change some remnant example.com to min-v1.org
- Use explicit user-mirror-min-v1.org instead of example.com to make the intention clear
- Add comments to explain what's going on
- Make mockRepoDownload() configurable, to allow easier mocking of other repos in the futures (e.g., of mid and max)

See also fdroid/fdroidclient!1535

This clean up was prompted by the need to write a test for fdroid/fdroidclient!1530
2025-05-01 10:35:16 +02:00
Thore Goebel
5a87cbba6a Add /repo suffix to mid-v1.com official mirror 2025-05-01 10:26:42 +02:00
Torsten Grote
837d2a6658 Also fix URL of mid and max test data 2025-04-28 10:42:16 -03:00
Torsten Grote
3f142da1c1 Improve RepoAdderTest by changing test data 2025-04-28 10:33:43 -03:00
Torsten Grote
1955f551e1 Respect preferred repo for category apps count 2025-04-14 09:26:40 -03:00
Torsten Grote
f94e8725b8 Allow duplicate permissions in DbTest 2025-03-24 15:17:46 -03:00
Tobias_Groza
358dc509e5 Do not show "download failed" toast if download was cancelled manually 2025-03-20 14:42:24 +00:00
Torsten Grote
af03820b73 Disable archive repo when disabling main repo 2025-03-12 09:36:53 -03:00
Torsten Grote
d17e1c5bcf Delete archive repo when deleting main repo 2025-03-11 09:33:16 -03:00
Thore Goebel
96ce5be721 Review feedback 2025-02-06 22:02:09 +01:00
Thore Goebel
927621f364 Redesign RepoDetailsActivity 2025-02-06 22:02:05 +01:00
Torsten Grote
1d30c1f4e2 [download] add tests for AutoVerifyingInputStream 2025-01-29 11:23:59 -03:00
Thore Goebel
70046f3478 Refactor: move QR Code generation into RepoDetailsViewModel 2025-01-29 14:57:04 +01:00
Torsten Grote
580f552c89 [download] Fix HttpManagerIntegrationTest because example.org stopped allowing range requests 2025-01-23 20:49:50 +01:00
Torsten Grote
dc2c65ebd6 [download] check hash for images loaded with glide 2024-12-16 14:48:14 -03:00
Matthew Bogner
a8e620a996 MirrorChooser orders mirrors using location and error counts 2024-12-06 13:42:30 +00:00
Torsten Grote
8a676010ba [db] rename location to countryCode in Mirror 2024-11-07 14:36:12 -03:00
Torsten Grote
73c761dea9 [index] rename location to countryCode in MirrorV2 2024-11-07 14:36:12 -03:00
Torsten Grote
1ba3d00b78 [db] Allow AppPrefs.preferredRepoId to be set to a repo that doesn't contain the app 2024-11-07 10:17:58 -03:00
Torsten Grote
05b9157b27 When clearing all data, also reset ETags
otherwise the v1 repos still relying on them would not re-update and thus the DB miss their data. This can cause unintended breakage like apps not having a preferred repo.
2024-10-21 16:27:37 +00: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
93e973e2b9 There's an official DigestInputStream, no need to make our own 2024-10-11 17:29:22 -03:00
DerGenaue
61361154b1 MR comments 2024-10-11 16:35:23 +00:00
DerGenaue
445f521b1f Move walCheckpoint to RepositoryDao 2024-10-11 16:35:23 +00:00
DerGenaue
38ce497525 DB: Force a wal_checkpoint after every repo update to keep the wal file small (fixes #2588) 2024-10-11 16:35:23 +00:00
Torsten Grote
7a5f133759 Improve error reporting for update checking 2024-10-09 09:45:28 -03:00
Torsten Grote
cfaf9a5ad2 [db] Fix concurrent index updates
If we are used to update the same repo at almost the same time, a race-condition can happen that tries to apply a diff to an already updated DB. We don't download anything while holding a DB transaction, so the download and check for the repo timestamp happens before we enter the transaction. However, we forgot to re-check the timestamp again within the transaction to be sure the DB state is still as expected.
2024-10-08 17:14:24 +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