
The performance improvement from this will not be noticable (perhaps there isn't one), however it is part of the bigger plan to move all of the DB access to ContentProviders. This will make a big improvement to the startup time of the app, given we are currently loading all of the apps to populate the list of apps. It will come at the cost of some apparantly weird code convensions. Most notably, when loading data from a content provder, you only ask for the fields that you intend to use. As a result of my Helper class which converts results from the content providers cursor into Repo value objects, there is no guarantee that certain attributes will be available on the value object. E.g. if I load repos and only ask for "_ID" and "ADDRESS", then it is meaningless to ask the resulting Repo object for its "VERSION" (it wont be there), despite it being a perfectly legal attribute from the Java compilers perspective. Repo.id field has also been made private (sqlite is the only entity should be able to set id's), and made id a long (sqlite stores identifiers as longs rather than ints).
F-Droid Client
Client for F-Droid, the Free Software repository system for Android.
Building from source
The only required tools are the Android SDK and Apache Ant.
git submodule update --init
./ant-prepare.sh # This runs 'android update' on the libs and the main project
ant clean release
The project itself supports Gradle, but some of the libraries it uses don't. Hence it is currently not possible to build F-Droid with Gradle in a clean way without manual interaction.
Direct download
You can download the application directly from our site.
Contributing
You are welcome to submit Merge Requests via the Gitorious web interface. You can also follow our Issue tracker and our Forums.
Translating
The locale
dir is automatically updated via the
android2po tool, and translations
are pulled from our Pootle translation server at
f-droid.org/translate. You should only add or
remove strings in the res/values/
dir, since all the res/values-*
dirs are
also generated automatically.
License
This program is Free Software: You can use, study share and improve it at your will. Specifically you can redistribute and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.