- remove constants annotation
- Most @Implementation methods in shadow classes are now protected instead of public.
Tests should always prefer to call SDK methods directly on Android classes rather
than on their shadows
We need compileSdk 28 and the required AGP and gradle versions, as well
as updating to compatible support library revisions.
minSdk and targetSdk needs to move to build.gradle from manifest.
buildToolsVersion isn't used anymore.
The autoVerify function seems to require that the app only declare domain
names in the IntentFilters that are set up with the "site association"
files. For F-Droid to support the verified app link, it would have to stop
matching play.google.com, amazon.com, etc. This autoVerify function also
triggers DNS lookups at the system level, which might not be forwarded over
Tor, in certain scenarios. So this just disables the whole feature.
https://developer.android.com/training/app-links/verify-site-associations
Liberapay was originally included using a numeric ID, since they had not yet
finalized the public URLs. Now it is a username. So this logic prefers
the username in Liberapay: field, and uses the old LiberapayID: as a
fallback. LiberapayID: will not override Liberapay: if it is already set.
This reuses the old database key since it is stored and processed as a
String anyway.
This was already done for list views because of the panic uninstall list
but we can easily apply the same logic to the tile view and app detail
view as well.
Otherwise when both are enabled the metadata from the archive gets
priority over repo which is not really what we want.
It also breaks a lot of icons, featuregraphics and screenshots.
Fixesfdroid/fdroidclient#1771Fixesfdroid/fdroidclient#1772Fixesfdroid/fdroidclient#1686
We also update the default repo priorities for existing installs if we
find the default repos in the original order.
The query is pretty annoying to write in java, here is the raw sql form.
UPDATE fdroid_repo
SET priority = ( SELECT SUM(priority)
FROM fdroid_repo
WHERE address IN ('https://f-droid.org/repo', 'https://f-droid.org/archive')
) - priority
WHERE address IN ('https://f-droid.org/repo', 'https://f-droid.org/archive') AND
'TRUE' IN (
SELECT
CASE
WHEN a.priority = b.priority-1 THEN 'TRUE'
ELSE 'FALSE'
END
FROM fdroid_repo as a
INNER JOIN fdroid_repo as b ON
a.address = "https://f-droid.org/repo" and b.address = "https://f-droid.org/archive"
)
This was blocking updates being scheduled when either data or wifi
updates were disabled. We only want to completely disable the update
service when both are disbaled though.
Ref: #1623