The notification that shows the download/parse progress of the index update
is now controled by the "Show available updates" preference. That means it
will not be shown at all in the notifications bar if that preference is
disabled. There will still be the header inside of F-Droid. Ideally, the
Updating process would be shown in the Updates tab.
This preference is meant for whitelabel builds that are meant to be
entirely controlled by the server, without user interaction, e.g.
"appliances". Some users have asked for such a thing, so it makes sense to
have it available as an expert preference. In general, we want to ensure
that installs/updates always show a notification so that the user is aware
of what is being installed on their computers. That is the same policy as
other app stores like Google Play, etc.
This should make them less scary to people who do not want to see them at
all. It also means that there can be quite a few expert preferences without
making the list super long for most users.
This labels all network, HTTP, and SSL related errors as CONNECTION_FAILED
so that the mirror selection logic will try the connection again with a new
mirror.
This removes a layer of redundancy where there were defaults set in the
Preferences class, as well as in preferences.xml. This makes it possible
for whitelabel versions to change the default values of the preferences by
changing it only in preferences.xml.
"full" is the original F-Droid app with all the features. It should still
build the exact same app after this change. "basic" is the smallest
version of F-Droid possible. It does not yet build, nor work.
Before, push requests were only supported when using index.xml. This adds
support for using push requests in index-v1.json. `fdroid update` has been
generating them in both index versions for a while now.
These calls to bouncycastle were just used because the library was
there. Now with the upcoming 'basic' build flavor, there will be no
need for bouncycastle. It is required for ZipSigner signing of swap
indexes, and TLS support in the swap NanoHTTPD webserver.
With more whitelabeling support, we need this workaround to avoid
trying to call a null instance when the whitelabeled version does not
include all of the possible preferences.
Stripping the `+` form the license link will direct to the wrong spdx
page. (This would also need changing anyway because of spdx v4.0.0)
closesfdroid/fdroidclient#1472
This changes the logic of Utils.getBinaryHash() to return null on failure
rather than only throwing exceptions. That makes it easier to handle these
failures where Utils.getBinaryHash() is called.
#1305#855
This will instead lead users with Privileged Extension to the F-Droid
uninstall screen which will probably fail. But that's better than crashing
in my opinion.
Introduced in c095a85c3dd3c505951bebb52e4ae010c69cc9f9
This gives a lot more flexibility to the user to cover bandwidth, power,
and privacy issues related to network traffic. The current implementation
does not represent these prefs as well as it should. For example, it does
not force the traffic over the preferred network type if the other type is
set to "never". Instead it just tracks the "unmetered" status of the
active network, and acts based on that.
closes#1381