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.
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`.
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.
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.
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
To further the goal of providing a fully localized experience based on the
user's Language Settings, this applies similar logic as the Latest Tab to
the apps that are featured for each category.
OsmAnd will import map files from a file:// URL pointing to an OBF file,
but this currently only works for file:// and not the proper content://.
This uses a hack to disable the warning about file:// URIs but only for the
final stage of installing the .obf file.
Hopefully in the future, this can be changed to use a proper content:// URL
as I suggested to them in this merge request:
https://github.com/osmandapp/OsmAnd/pull/10043