Commit Graph
66 Commits
Author SHA1 Message Date
Torsten Grote b70b3a9a06 [app] Use RepoManager for enabling/disabling repos 2023-06-07 13:52:21 +00:00
Torsten Grote e382900f39 [app] Use RepoManager for deleting repositories 2023-06-07 13:52:21 +00:00
Torsten Grote e819741c1a [app] Introduce RepoManager for managing list of repos
Later this will also be used for adding/removing repos.
2023-06-07 13:52:21 +00:00
Torsten Grote 0b28cced32 [db] Expose repoId of category and add method to get localized icon
The repoId is needed, so we can download the category icon from the correct repo.
2023-06-07 13:52:21 +00:00
Torsten Grote b0d04e3664 [download] increase high HTTP timeouts to 5min
Apparently, this can still be a sane choice for Tor as well :o
2023-06-07 09:47:20 -03:00
Torsten Grote fe78d954b6 [download] Allow making connections with higher HTTP timeouts
always use that for Tor proxies
2023-06-06 11:47:16 -03: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 d7b52abf43 [db] Clarify method documentation for clearing/resetting 2023-04-06 08:34:02 -03:00
Torsten Grote 7489f8466b [db] Rework AppDao#clearAll() method to fix critical bug
This is a breaking change.

The new method is in FDroidDatabase and called clearAllAppData(). It now also resets repository timestamps, so we will not try to apply a diff when we should use a full index.
2023-04-05 17:34:36 -03:00
Torsten Grote 21f40158a2 [db] escape search query
to prevent sqlite FTS search features from messing up query

Fixes acra-crash-reports#217
2023-03-14 13:28:48 +00:00
Torsten Grote 2500915a03 Bump library versions and update their README 2023-02-23 10:45:53 +00:00
Torsten Grote a70f89a255 [download] Consider that MirrorChooser can auto-resume downloads as well
Also try next mirror when you need to resume, but the current one doesn't support it.
2023-02-08 21:22:12 +01:00
Torsten Grote d2473d8ae8 [download] remove deprecated HttpGlideUrlLoader as we always use DownloadRequest with mirrors now 2023-02-01 14:25:14 -03: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 7a2d0e31f3 [db] Handle users with a thousand apps or more installed in AppDao 2023-01-13 08:41:37 +00:00
Torsten Grote a474198c34 [db] Handle users with a thousand apps or more installed in VersionDao 2023-01-13 08:41:37 +00:00
Torsten Grote 6d26927b44 [download] Don't log URLs, filenames or site content in release builds 2022-12-22 11:48:02 -03:00
Torsten Grote 50722f8270 [db] Ensure that we never return an empty list of mirrors for Repository#getMirrors() 2022-12-21 14:29:06 +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
Torsten Grote 90a14f82a1 [db] Add method for clearing all app data from DB (old resetTransient) 2022-12-19 11:01:35 -03:00
Hans-Christoph Steiner be5b7d89f8 fix ktlint
libs/database/src/dbTest/java/org/fdroid/database/AppListItemsTest.kt:68:1 Exceeded max line length (100) (cannot be auto-corrected) (max-line-length)
libs/database/src/dbTest/java/org/fdroid/database/AppListItemsTest.kt:121:1 Exceeded max line length (100) (cannot be auto-corrected) (max-line-length)
2022-12-16 11:34:46 +01:00
Isira Seneviratne 4ae3da15f0 Use PackageInfoCompat.getLongVersionCode(). 2022-12-15 18:28:29 +01:00
Torsten Grote 818767b6c0 Update Room DB schema to match actual schema used 2022-12-15 17:10:08 +00: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 b1499c89d4 [db] add lastUpdated to AppListItem so it can be used for custom sorting in UI 2022-12-01 17:43:14 +01:00
Torsten Grote 367e9e9d0c [db] attach install data from PackageManager to search results
otherwise all found apps are considered not installed
2022-12-01 17:43:13 +01:00
Torsten Grote 7c5ce606d0 Explicitly bubble up NotFoundException to UI
Otherwise, the UI might not catch it and crash. This can happen if a file is not available anymore on all mirrors.
2022-12-01 17:43:13 +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 3eca9402fe [db] expose preferredSigner to AppListItems (needed for picking correct version)
and add a test for checking preferredSigner in DbUpdateChecker
2022-12-01 17:43:13 +01:00
Torsten Grote aa6f30f34d [download] properly calculate hash when resuming downloads
Before, we were ignoring the already downloaded bytes which caused the hash verification to fail.
2022-12-01 17:43:13 +01:00
Torsten Grote 6a805c464e [db] only consider enabled repos for getApp() query 2022-12-01 17:43:13 +01:00
Torsten Grote d512c909c3 [download] Fix corrupted download after mirror fail-over bug
When we had already read bytes from one mirror, but needed to fail-over to another mirror, we would re-read the same bytes again corrupting our download.

Fixes #2412

This commit resumes the download where the last mirror left off.
2022-12-01 17:43:13 +01:00
Torsten Grote 23966e4a09 [db] Add IPFS CIDv1 to database
and support new version of download library
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 77c4506420 [download] add support for IPFS HTTP gateways
This refactors the library so that Downloaders receive the IndexFile directly so that they get access to the IPFS CID, but also to the SHA256 hash and the file size. Mirrors can now be marked as IPFS gateways.
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 8c64ad4707 [db] add test for DefaultUriBuilder 2022-11-25 12:59:00 +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 6d9f3a8d7e [download] Require ktor-client-core as API dependency, otherwise consumers can't use HttpManager 2022-11-24 22:34:50 +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 1608502569 [index] move v1 tests from app to index
and allow permission arrays of larger size for v1
2022-11-24 20:53:19 +01:00
Torsten Grote 4d3e03b89c [download] Fix double slash in repo URLs causing redirect exceptions 2022-11-24 20:53:17 +01:00
Torsten Grote 7d84689068 [db] Verify that v2 files start with /
and add a DbV2StreamReceiverTest for it
2022-09-12 09:46:15 +00:00
Torsten Grote 6b4e91ca0b [db] Assert that DB transaction gets rolled back when index update fails 2022-09-12 09:46:15 +00:00