Peter Serwylo a653e6392c Merge branch 'repoupdater-simplify-and-streams' into 'master'
simplify RepoUpdater and use more streams

This is an overhaul of `RepoUpdater` to make its code match the architecture that is in use now: only download and use a signed index.jar.  It also streams index.xml directly out of the index.jar and directly into the XML parser.  That makes the update process quicker and more reliable because it no longer has to write out an index.xml to the filesystem, then read it in.  Ultimately I hope to stream the index.jar download directly to the XML parser, so not even the index.jar needs to be written to disk.  You can see that work in my git repo under the branches SKETCH-JarURLConnection and SKETCH-verify-with-JarInputStream for two different approaches.

This also changes the index parsing process to be based on bytes for now.  The progress is based on the stream now, and this will still work once the full streaming mode is implemented.  It also simplifies `RepoXMPHandler`.

This includes tests for index.jar signature verification. The tests all pass on my machine and our Jenkins.

See merge request !101
2015-07-13 20:50:50 +00:00
2015-06-24 00:01:51 +02:00
2015-07-04 21:17:14 +03:00
2014-12-11 13:50:05 +01:00
2015-06-16 20:05:55 +02:00
2015-04-29 22:16:14 +02:00
2015-06-28 13:43:05 -07: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 with Gradle

The only required tools are the Android SDK and Gradle.

You should use a relatively new version of Gradle, such as 2.4, or use the gradle wrapper.

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

git submodule update --init
cd F-Droid
gradle clean assembleRelease

Android Studio

From Android Studio: File -> Import Project -> Select the cloned top folder

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 Gitlab 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

In order to run the F-Droid test suite, you will need to have either a real device connected via adb, or an emulator running. Then, execute the following from the command line:

gradle connectedAndroidTest

This will build and install F-Droid and the test apk, then execute the entire test suite on the device or emulator.

See the Android Gradle user guide for more details, including how to use Android Studio to run tests (which provides more useful feedback than the command line).

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.

Some icons are made by Picol, Icomoon or Dave Gandy from Flaticon or by Google and are licensed by Creative Commons BY 3.0.

Other icons are from the Material Design Icon set released under an Attribution 4.0 International license.

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%