Replace search dialog with a search widget
SearchView is the recommended way to implement search UI. See https://developer.android.com/guide/topics/search/search-dialog.html#UsingSearchWidget
The UX is still far from ideal but looks much better now.
Before and after (Gingerbred):


Before and after (Lollipop):


See merge request !168
Enable HttpDownloader to use URL-based HTTP Basic Authentication.
This is a very small merge request that adds the possibility to use URL-based HTTP Basic Authentication in a repository URL. With this change you can for example use `https://user:password@my.repo.com` to authenticate against a private repository.
It would be great if you could merge my little feature request into the master, or let me know what I can do or have to change in order for the merge request to get accepted.
I'm of course open for discussion. My use-case is the identification of individual users. We dynamically create a signed index.jar file for each user which contains an individual set of apps depending on the permissions of the user etc.
HTTP Basic Authentication is on of the possible solutions, another solution would be to use the Android Account Manager, but this would be a much larger change.
Thank you for your consideration.
Best regards,
Christian Morgner
See merge request !167
Clean up tabs fragments
No functional changes, just refactoring. The only visual change is that empty text is now positioned at the center which was the initial design (as far as I understand):

See merge request !165
Not sure why it was added initially but now it appears to be unneeded:
the support library does everything right and the lists are themed
properly without any hacks.
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
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.
Cache installed signature
This will later be useful for #122 and others. Also a few more fixes related to signatures and package information.
CC @pserwylo
See merge request !158
These are written manually and mostly don't contain HTML. Some html is
fine if you want to use links or markup, but <p> elements are just
pointless and very seldom used. Be consistent in not using them.