5264 Commits

Author SHA1 Message Date
Marcin Rataj
eeb109abff fix(ipfs): avoid redundant http redirects
gateway.ipfs.io is a legacy name which now always returns http redirect to ipfs.io (without the "gateway" subdomain). This fix avoids every HTTP request being executed twice.
2025-11-09 21:17:17 +01:00
Torsten Grote
a0ddc0e5ad Update dependencies
minSdk for db lib needed a bump, because room bumped its minSdk

documentfile and localbroadcastmanager dependencies needed to be added explicitly now
2025-10-21 15:12:03 +00:00
Torsten Grote
dc73720c35 Fix compatibility reason for minTargetSdk 2025-10-21 14:40:32 +00:00
Torsten Grote
90c28b6bce Adapt tests for minSdk 24 2025-10-21 12:38:21 +00:00
Torsten Grote
ce3a98a314 Bump minSdk to 24 due to a serialization bug
We are relying heavily on the kotlinx.serialization library. Many dependencies also use it indirectly, so forcing an older version is no longer feasible. Newer versions use CharsetDecoderICU which had a bug in Android <= 23. The team decided that instead of workarounds, we just bump minSdk to 24 and require at least Android 7 for new releases.

See https://github.com/Kotlin/kotlinx.serialization/issues/2231
2025-10-21 12:38:21 +00:00
proletarius101
f992d2c265 feat: add PMD linting integration to GitLab CI 2025-10-21 12:11:53 +00:00
Thore Goebel
6d8db00d47 Opt-in to Arm MTE 2025-09-18 16:21:13 +02:00
Isira Seneviratne
f25e8afe1f Remove ContextCompat.getDrawable() in AppDetailsRecyclerViewAdapter 2025-08-15 22:36:43 +00:00
Isira Seneviratne
02e339416d Clean up deprecated code 2025-08-15 22:36:43 +00:00
Torsten Grote
389bd93182 Add tests for RepoUpdateManager 2025-08-15 15:17:52 -03:00
Torsten Grote
fcfe5c93be Upgrade dependencies for 1.24 alpha series 2025-08-07 16:54:10 -03:00
Torsten Grote
a67f0da623 Add POST_NOTIFICATIONS to implied permissions
for apps targeting SDK 32 or lower

see: https://developer.android.com/develop/ui/views/notifications/notification-permission
2025-08-07 09:38:29 -03:00
Conny Duck
139d5c71df don't enforce nav bar contrast in MainActivity 2025-08-05 13:07:24 +00:00
Conny Duck
e7f7e971b0 fix fab insets on ManageReposActivity 2025-08-05 13:05:50 +00:00
Torsten Grote
31588a02c0 Retry when updating apps failed 2025-07-24 12:36:43 +00:00
Licaon_Kter
1e47983a0b Remove UpstreamNonFree 2025-07-23 16:24:48 +00:00
Licaon_Kter
18078b3ba3 Remove UpstreamNonFree 2025-07-23 16:24:48 +00:00
Leo Heitmann Ruiz
030dba7a1e Show links regardless of whether they can be opened 2025-07-23 14:21:09 +00:00
Hans-Christoph Steiner
8a3731d18f require Certificate Transparency via Network Security Config
* https://developer.android.com/privacy-and-security/security-config#CertificateTransparencySummary

See the transparency logs here:
* https://crt.sh/?q=amazonaws.com
* https://crt.sh/?q=f-droid.org
* https://crt.sh/?q=github.com
* https://crt.sh/?q=githubusercontent.com
* https://crt.sh/?q=github.io
* https://crt.sh/?q=gitlab.com
* https://crt.sh/?q=gitlab.io
2025-07-23 15:32:59 +02:00
Torsten Grote
c8dfcb2c2b Prepare 1.23.1 release 2025-07-23 08:20:50 -03:00
Torsten Grote
567a272eb4 Use cloudflare mirror for HttpDownloaderTest
in the hope that its certificate validates on old Androids
2025-07-22 17:23:58 -03:00
litetex
244e11b916 Fix repo-details: mirror-list not being shown when equal 2 mirrors 2025-07-21 22:50:22 +02:00
Torsten Grote
f37f811c6f Adding repos: Fix keyboard overlaying input field 2025-07-16 17:52:48 -03:00
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
2f0cfc920d Disable edge-to-edge for Android 10 and below 2025-07-08 14:19:11 -03:00
Torsten Grote
0238c54079 Update targetSdk requirements for Android 15+16 2025-06-26 09:33:36 -03:00
Torsten Grote
2826e51d41 Basic: Target SDK 36
enables predictive back gestures on Android 16
2025-06-26 09:33:33 -03:00
Tobias_Groza
c1226afab3 Use ViewModel to obtain data about app author 2025-06-25 11:01:17 +02:00
Tobias_Groza
bbebe9b06b Prevent users from accidentally creating a category search filter
Previously, users could accidentally trigger their search input to be interpreted as category when they used a colon in their search term. The colon was used as separator between search filter and search query, thus the text before the colon was interpreted as category. The colon is replaced by the non-printable NUL character (char value 0). A constant for the new filter separator is introduced  and used to increase maintainability.
2025-06-25 11:01:17 +02:00
Tobias_Groza
9bb438d819 Display correct icon on chip in search and correctly use TTS
CategoryTextWatcher and CategorySpan were renamed to FilterTextWatcher and FilterSpan to reflect that they do not soley support categories. Three filter types are supported now: category, repo, author.

Unique icons are displayed for each filter type.

TTS support for repos and authors is added to the chip. Before, those were falsely reported back as category.
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
e25c678a8e Fix AppUpdateWorkerTest 2025-05-30 16:48:42 -03:00
Torsten Grote
e4eb23653d Update all the things 2025-05-30 16:48:41 -03:00
Torsten Grote
1d7c981c20 Fix top app bar background in OLED black theme 2025-05-30 15:22:15 +00:00
LucasMZ
fd54fff3f6 strings: fix notification_summary_app_updates weird casing
match the rest of the app, probably happened on rebase
2025-05-26 14:16:01 -03:00
Torsten Grote
52fd943a83 Show update notification only for non-zero updates 2025-05-23 11:02:25 -03: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
a4ec9d1b0f Full: Target SDK 31 2025-05-22 14:20:38 -03:00
Torsten Grote
be42dc7559 MockKAgentException: Mocking static is supported starting from Android P 2025-05-22 13:41:52 -03:00
Torsten Grote
95804814bd Don't require device charging for AppUpdateWorker 2025-05-22 13:41:52 -03:00
Torsten Grote
a69915ee89 Add AppUpdateManagerTest 2025-05-22 13:41:52 -03:00
Torsten Grote
8ec1d39f1f Add AppUpdateWorkerTest 2025-05-22 13:41:52 -03:00
Torsten Grote
8db54e7de2 Auto update apps daily 2025-05-22 13:41:51 -03:00
Torsten Grote
9407133bf9 Auto update apps after tapping update notification 2025-05-22 13:41:51 -03:00
Torsten Grote
88875e2d05 Show notification after repo updates instead of updating apps directly 2025-05-22 13:41:51 -03:00
Torsten Grote
3ff28bcb02 Add AppUpdateWorker and use it for batch app updates 2025-05-22 13:41:51 -03:00
Torsten Grote
c5a52e0454 Add AppUpdateManager to update all apps in one sweep 2025-05-22 13:41:51 -03:00
Torsten Grote
48f673967e Enable auto-updates by default for new installs 2025-05-22 13:41:50 -03:00
Torsten Grote
99af899086 sort update items by name 2025-05-22 13:41:50 -03:00
Torsten Grote
631c358c3a Remove local category background images 2025-05-22 09:53:40 -03:00