Torsten Grote
68ae977d9c
Add a small test for CacheCleaner
2026-03-26 14:38:51 -03:00
Torsten Grote
53496d1d3a
Add tests for SessionInstallManager
2026-03-26 14:38:50 -03:00
Torsten Grote
59d181e651
Add tests for AppInstallManager
2026-03-26 14:38:49 -03:00
Torsten Grote
d3f6b3d692
Add tests for RepoUpdateManager
2026-03-26 14:38:49 -03:00
Torsten Grote
af8058314b
Add tests for UpdatesManager and the new UpdateInstaller
2026-03-26 14:38:49 -03:00
Torsten Grote
2d7e94c7a5
Migrate to AGP9
...
fixes multi-platform JVM builds
2026-03-06 17:39:31 -03:00
Torsten Grote
cdf58c6ffb
Auto-format all files with ktfmt
2026-02-26 17:12:13 -03:00
Torsten Grote
9c41763a10
Add install history feature
2026-02-13 11:39:19 -03:00
Torsten Grote
d3164687cd
Clean up app gradle modules
2026-01-05 17:24:14 -03:00
proletarius101
f992d2c265
feat: add PMD linting integration to GitLab CI
2025-10-21 12:11:53 +00:00
Torsten Grote
389bd93182
Add tests for RepoUpdateManager
2025-08-15 15:17:52 -03:00
Torsten Grote
31588a02c0
Retry when updating apps failed
2025-07-24 12:36:43 +00:00
Torsten Grote
328f617b8e
Remove roboelectric shadow hacks
...
that cause issues now and seem no longer needed
2025-05-22 14:20:39 -03:00
Torsten Grote
a69915ee89
Add AppUpdateManagerTest
2025-05-22 13:41:52 -03:00
mnbogner
621bd7a5e4
additional changes to reduce concurrency risk
2025-04-03 11:06:58 +00:00
mnbogner
26e1e1f183
added additional error checking and unit test
2025-04-03 11:06:58 +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
b1631f5078
[app] add default repos before ROM repos, so they end up with higher priority
2024-04-30 11:55:23 -03:00
Torsten Grote
3d114cd85f
Remove dead NFC (Android Beam) code
2024-03-05 14:43:28 +00:00
Torsten Grote
f6970e4245
[app] allow changing preferred repo in app details
2024-02-20 09:42:40 -03:00
Torsten Grote
393c74ab35
[app] adapt to new AppPrefs constructor
2024-02-20 09:42:39 -03:00
Torsten Grote
e1cc9cf4cf
[app] Add test for QRCode byte count in lowercase
2023-09-22 08:07:36 +00:00
Hans-Christoph Steiner
48a10cac17
whitespace fixes from spotless applying AOSP code format
2023-07-05 21:40:12 +02:00
Torsten Grote
2048d6f478
Add code style to repo and fix it
2023-06-09 17:24:58 +00:00
Torsten Grote
6fadebe4e2
[app] Show more precise relative last updated dates
2023-02-07 14:09:35 +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
76070f09ff
[app] Fix weight (priority) of additional repos
...
Our old DbHelper code would assign all additional repos a weight of 0 which the new database implementation doesn't like. Apps from those repos would simply not appear as if the repo is disabled.
This fix simplifies the weight assignment of initial repos by incrementing the weight for each repo, so the weight assignment works the same way as for manually added repos: later repos get a higher weight.
Incidentally, this also unifies the format of `additional_repos.xml` and `default_repos.xml`.
2023-01-13 15:25:55 +01:00
Torsten Grote
cbb8aa5a50
[app] Fix release channel logic in App#findSuggestedApk()
...
Stable updates are always allowed, even if we also allow beta updates.
2023-01-12 10:31:32 -03:00
Hans-Christoph Steiner
3fa5e98fc4
convert SwapRepoTest into initial UpdateServiceTest
...
Finally, there can be a test for running UpdateService, which is essential
and has some really hairy code in it. At least swap has been removed from
there. This is barebones still, but it now can be developed to test quite
a bit of what is still needed in UpdateService.
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
6603781652
[app] pass App object into installers, so it is available everywhere where needed
2022-12-01 17:43:13 +01:00
Torsten Grote
fb5b169e54
[app] Add support for IPFS CID downloading
...
This uses IndexFile objects instead of String file names everywhere. The general advantage of that is that we can now pass the hash and the file size to the downloader. For index v2 the hash can then get validated while downloading.
2022-12-01 17:43:13 +01:00
Torsten Grote
f52433730b
[app] Fix formatting of timestamps (e.g. lastUpdated) and remove unused Utils methods
2022-12-01 17:43:13 +01:00
Torsten Grote
f6909f4399
[app] Fix downloading from content:// Uris (flash drive repos)
2022-12-01 17:43:13 +01:00
Torsten Grote
6c007e92b3
[app] Remove unused code
2022-12-01 17:43:13 +01:00
Torsten Grote
7a1d288792
[app] remove old ContentProviders from old database implementation
2022-12-01 17:43:13 +01:00
Torsten Grote
a783d3cb94
[app] kill old IndexUpdaters and related code as this is now in libraries via RepoUpdater
2022-12-01 09:27:58 +01:00
Torsten Grote
cf913ffefa
[app] Fix or remove UI tests
...
Tests for v0 index have been removed with their assets.
AntiFeaturesTest is not needed anymore, because filtering doesn't happen in new DB
PanicResponderActivityTest can not be tested as easily anymore
MultiIndexUpdaterTests are now spread over various database tests
LocaleSelectionTest is now in org.fdroid.database.BestLocaleTest
Most tests org.fdroid.fdroid.data now have equivalents in the new database library
2022-12-01 09:27:57 +01:00
Torsten Grote
acafbbaa65
[app] Make AppDetailsActivity use new DB
...
AppIconsTest is now part of org.fdroid.database.AppTest
2022-12-01 09:27:57 +01:00
Torsten Grote
477436af68
[app] Don't show unknown (other) anti-features by default
2022-11-25 13:37:36 +01:00
Torsten Grote
3f88fdb8cb
[app] Remove Provisioner as it isn't used/needed anymore
2022-11-25 12:24:33 +01:00
Hans-Christoph Steiner
8cf836a8b3
IndexV1UpdaterTest is now in the database lib.
...
libs/database/src/dbTest/java/org/fdroid/index/v1/IndexV1UpdaterTest.kt
2022-11-25 10:20:54 +01:00
Hans-Christoph Steiner
835f7485f0
LocaleSelectionTest is now in org.fdroid.database.BestLocaleTest
2022-11-24 22:44:15 +01:00
Torsten Grote
062c870f23
Move (Http)Downloader into download library
2022-02-16 09:43:18 -03:00
Hans-Christoph Steiner
1d002c9f08
replace Utils.hashBytes with DigestUtils.md5Hex
2022-01-26 19:24:34 +01:00
Hans-Christoph Steiner
50f1b110a2
implement Hasher.isFileMatchingHash() using commons-codec
2022-01-26 19:24:33 +01:00
Hans-Christoph Steiner
8a573a7b59
vendor commons-codec to implement getFileHexDigest and more
...
Android includes a crippled version of commons-codec 1.3, which it will
silently use instead of any version included in an app. So we are forced
to vendor it.
This comes from the tag "commons-codec-1.16-rc1":
https://github.com/apache/commons-codec/tree/commons-codec-1.16-rc1/src/main/java/org/apache/commons/codec
For more on this:
* https://github.com/ExCiteS/apache-commons-codec-shaded
* https://gitlab.com/fdroid/fdroidclient/-/merge_requests/1089#note_822501322
2022-01-26 19:24:29 +01:00
Hans-Christoph Steiner
172751ea98
rename Utils.getBinaryHash() to Utils.getFileHexDigest()
...
Since this method works on any file, not just APKs or binaries...
2022-01-26 19:24:26 +01:00
Hans-Christoph Steiner
262aaf0c4e
add tests for Anti-Features filters in SQL
...
This test reproduces the crash in #2326 before it was fixed in !1076
!1067
2022-01-19 20:43:19 +01:00