Peter Serwylo 4e24050760 Adding our own cache of currently installed apks in the database.
Previously the data was not stored anywhere, and each time we wanted
to know about all installed apps, we built a ridiculously long SQL
query. The query had essentially one "OR" clause for each installed
app. To make matters worse, it also required one parameter for each
of these, so we could bind the installed app name to a "?" in the query.
SQL has a limit of (usually) 999 parameters which can be provided to
a query, which meant it would fall over if the user had more than
1000 apps installed.

This change introduces a new table called "fdroid_installedApps".
It is initialized on first run, by iterating over the installed apps
as given by the PackageManager. It is subsequenty kept up to date
by a set of BroadcastReceivers, which listen for apps being
uninstalled/installed/upgraded.

It also includes tests to verify that queries of installed apps,
when there are more than 1000 apps installed, don't break.

Finally, tests are also now able to to insert into providers other
than the one under test. This is due to the fact that the providers
often join onto tables managed by other providers.
2014-04-20 16:50:22 +09:30
2014-04-17 01:20:42 +02:00
2014-04-06 11:03:14 +02:00
2014-04-17 01:20:32 +02:00
2014-02-10 11:13:44 +01:00
2010-10-19 23:24:04 +01:00
2014-03-16 13:40:20 +01:00
2014-03-22 13:10:46 +01:00
2014-04-07 15:46:33 +02:00
2013-04-12 14:45:48 +01:00

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.

Once you have checked out the version you wish to build, run:

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.

Building as part of a ROM

Add the following lines to your repo manifest:

<remote name="fdroid" fetch="https://git.gitorious.org/f-droid" />
<remote name="github" fetch="https://github.com/" />

<project path="packages/apps/fdroidclient" name="fdroidclient.git" remote="fdroid" revision="0.62" />

<project path="packages/apps/fdroidclient/extern/UniversalImageLoader" name="nostra13/Android-Universal-Image-Loader" remote="github" revision="b1b49e51f2c43b119edca44691daf9ab6c751158" />
<project path="packages/apps/fdroidclient/extern/AndroidPinning" name="binaryparadox/AndroidPinning" remote="github" revision="ce84a19e753bbcc3304525f763edb7d7f3b62429" />
<project path="packages/apps/fdroidclient/extern/MemorizingTrustManager" name="ge0rg/MemorizingTrustManager" remote="github" revision="a705441ac53b9e1aba9f00f3f59aab81da6fbc9e" />

Adding F-Droid is then just a matter of adding F-Droid to your PRODUCT_PACKAGES.

Direct download

You can download the application directly from our site or browse it in the repo.

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 res/values-* dirs are kept up to date automatically via MediaWiki's Translate Extension. See our translation page if you would like to contribute.

Running the test suite

FDroid client includes a embedded Android Test Project for running tests. It is in the test/ subfolder. To run the tests from the command line, do:

git submodule update --init
./ant-prepare.sh # This runs 'android update' on the libs and the main project
ant clean emma debug install test

You can also run the tests in Eclipse. Here's how:

  1. Choose File -> Import -> Android -> Existing Android Code Into Workspace for the fdroidclient/ directory.
  2. Choose File -> Import -> Android -> Existing Android Code Into Workspace for the fdroidclient/test/ directory
  3. If fdroid-test has errors, right-click on it, select Properties, the Java Build Path, then click on the Projects tab.
  4. Click on the Add... button and select fdroidclient/
  5. Right-click on the fdroid-test project, then Run As... -> Android JUnit Test

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.

Description
No description provided
Readme GPL-3.0 46 MiB
Languages
Java 98.5%
Shell 0.6%
Python 0.6%
AIDL 0.2%
HTML 0.1%