
Never fallback to UIL for handling image downloads, only use for displaying. @relan picked up a bug I introduced while refactoring the icon downloading code in !139. This fixes that bug. Our `IconDownloader` extended `BaseImageDownloader` from UIL. There was an explicit check in the F-Droid `IconDownloader` which looks for HTTP/HTTPS/Bluetooth schemes. If it wasn't one of these, it fell back to the base class. This was what was happening for local cached image files. As such, when the `getInputStream(...)` method was refactored to only use F-Droids `DownloadFactory` and not delegate to the base class, it failed on local "file://" URLs. This change introduces a `LocalFileDownloader` and makes the `DownloaderFactory` aware of it. The `BaseImageDownloader` class only provides support for the following schemes: * HTTP * HTTPS * File * Android content providers * Android assets * Android drawables F-Droid now supports HTTP, HTTPS, and File URLs. There is not currently any need for content proiders, assets or drawables to get icons for apps in F-Droid. If there is a need in the future (e.g. an issue currently discusses loading icons from installed apps if possible) then that specific `Downloader` can get introduced to solve the problem. See merge request !164
F-Droid Client
Client for F-Droid, the Free Software repository system for Android.
Building with Gradle
The only requirements are the Android SDK and Gradle 2.7:
cd F-Droid
gradle assembleRelease
Direct download
You can download the application directly from our site or browse it in the repo.
Contributing
See our Contributing doc for information on how to report issues, translate the app into your language or help with development.
IRC
We are on #fdroid
and #fdroid-dev
on Freenode. We hold weekly dev meetings
on #fdroid-dev
on Tuesdays at 20h UTC, which usually last half an hour.
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.