Files in the cache can be deleted at any time, without warning. F-Droid's
CleanCacheService can do it, the user can do it in Settings --> Apps, etc.
So when working with files from the cache, the methods need to be extra
defensive, checking that the file that they were given still exists.
closes#1305
Squashed commit of the following:
commit f6f528d67e9bef367cfb8a3a8eaaced06233df4a
Author: Hans-Christoph Steiner <hans@eds.org>
Date: Tue Feb 13 16:24:53 2018 +0100
remove android xml quoting
commit d7251cc20980841ca83fd27f1e4f60c5d99460ac
Author: anonymous <>
Date: Tue Feb 13 14:23:12 2018 +0000
Translated using Weblate (German)
Currently translated at 99.7% (409 of 410 strings)
commit 60f449e154fa0cd2fc986781836bad491a964866
Author: Andreas Kleinert <Andy.Kleinert@gmail.com>
Date: Tue Feb 13 14:22:48 2018 +0000
Translated using Weblate (German)
Currently translated at 99.7% (409 of 410 strings)
commit b16f2f6f58ed06264c8414c90ae9cc3dad9433d6
Author: Hans-Christoph Steiner <hans@guardianproject.info>
Date: Tue Feb 13 15:03:19 2018 +0000
Translated using Weblate (Hebrew)
Currently translated at 100.0% (410 of 410 strings)
commit 66601011e3cbdd64d9b68432bfff13b17ca90f4b
Author: Hans-Christoph Steiner <hans@eds.org>
Date: Tue Feb 13 16:15:52 2018 +0100
check for invalid mixing for format stringsj
commit cdf2e7063297d4f61259a3354a946fffdfd58114
Author: Danial Behzadi <dani.behzi@ubuntu.com>
Date: Tue Feb 13 10:46:48 2018 +0000
Translated using Weblate (Persian)
Currently translated at 100.0% (410 of 410 strings)
commit e7e37ad42c94091e2ec402caac5883272275c8c4
Author: ezjerry liao <ezjerry@gmail.com>
Date: Mon Feb 12 15:26:00 2018 +0000
Translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (410 of 410 strings)
commit 0850c89e297f6256babdc7f087b242cf102ef267
Author: nautilusx <mail.ka@mailbox.org>
Date: Sat Feb 10 14:32:57 2018 +0000
Translated using Weblate (German)
Currently translated at 99.2% (407 of 410 strings)
commit 52d6426b2a413dae1ff2c33814ec9df895eac41b
Author: Kristjan Räts <kristjanrats@gmail.com>
Date: Sun Feb 11 12:25:23 2018 +0000
Translated using Weblate (Estonian)
Currently translated at 100.0% (410 of 410 strings)
commit a308ae180dbdac2fc65076e7f35ba4549ad9f6ea
Author: Allan Nordhøy <epost@anotheragency.no>
Date: Sat Feb 10 00:37:43 2018 +0000
Translated using Weblate (Norwegian Bokmål)
Currently translated at 99.2% (407 of 410 strings)
commit fb44f4cd22f7cb6ef03265d76374646d8b554066
Author: jschwender <joachim.schwender@web.de>
Date: Fri Feb 9 21:08:25 2018 +0000
Translated using Weblate (German)
Currently translated at 99.2% (407 of 410 strings)
commit 450a30bbc18908e53cb10027a30332646a1b6224
Author: Julien Lepiller <roptat@lepiller.eu>
Date: Fri Feb 9 13:31:44 2018 +0000
Translated using Weblate (French)
Currently translated at 99.0% (406 of 410 strings)
commit 309f8b3527f176bd1cf9cd82757978ee2c3a941f
Author: Yunyang Liu <ensigma96@gmail.com>
Date: Fri Feb 9 12:50:13 2018 +0000
Translated using Weblate (Chinese (Simplified))
Currently translated at 97.0% (398 of 410 strings)
commit b4d2fbe00e7c1b276c0dde64844c18935419f3fc
Author: Rivo Zängov <rivozangov@gmail.com>
Date: Fri Feb 9 10:13:12 2018 +0000
Translated using Weblate (Estonian)
Currently translated at 98.5% (404 of 410 strings)
commit 6ec7f716405dc4efc3a12204f1ed97aaad09ba45
Author: Luiz Fernando Ranghetti <elchevive@opensuse.org>
Date: Sat Feb 10 02:58:33 2018 +0000
Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (410 of 410 strings)
commit c8af9171ac4d5fdcecb8faaabbc5c58da4053b1f
Author: Ldm Public <ldmpub@gmail.com>
Date: Fri Feb 9 13:17:30 2018 +0000
Translated using Weblate (French)
Currently translated at 99.0% (406 of 410 strings)
commit 04005a0277edca69cc6885d779e2d49673c0d97e
Author: Julien Lepiller <roptat@lepiller.eu>
Date: Fri Feb 9 13:16:05 2018 +0000
Translated using Weblate (French)
Currently translated at 99.0% (406 of 410 strings)
commit 5af1c4d24d25eeb03bffe953e4c5ce7aa8a68697
Author: monolifed <monolifed@gmail.com>
Date: Thu Feb 8 12:25:29 2018 +0000
Translated using Weblate (Turkish)
Currently translated at 100.0% (410 of 410 strings)
commit 4c56b7725905ecc6b4be49f9f4accc95859a46bc
Author: Osoitz <oelkoro@gmail.com>
Date: Fri Feb 9 10:59:06 2018 +0000
Translated using Weblate (Basque)
Currently translated at 100.0% (410 of 410 strings)
commit 7d73c299ceab39b2c674fadc2a32b2154f96e060
Author: Ajeje Brazorf <lmelonimamo@yahoo.it>
Date: Wed Feb 7 20:24:39 2018 +0000
Translated using Weblate (Sardinian)
Currently translated at 99.5% (408 of 410 strings)
commit b0027266898267619b0eb20e206a968c5e0c527e
Author: Felipe Rodrigues <bidu.pub@gmail.com>
Date: Wed Feb 7 13:41:04 2018 +0000
Translated using Weblate (Portuguese (Brazil))
Currently translated at 99.7% (409 of 410 strings)
commit 0207c99f39fb5c43b530c6fa05c4c3f2edc278e6
Author: azumukupoe <azumukupoe1999@gmail.com>
Date: Wed Feb 7 13:19:06 2018 +0000
Translated using Weblate (Japanese)
Currently translated at 100.0% (410 of 410 strings)
commit 439b5eeee86d2dc5a7eb9d06890ff3aa62aad4d0
Author: monolifed <monolifed@gmail.com>
Date: Thu Feb 8 12:19:09 2018 +0000
Translated using Weblate (Turkish)
Currently translated at 100.0% (410 of 410 strings)
commit f3921bb42db891bf1cfa4c8e3d1699aba41f4807
Author: Yaron Shahrabani <sh.yaron@gmail.com>
Date: Wed Feb 7 08:08:20 2018 +0000
Translated using Weblate (Hebrew)
Currently translated at 100.0% (410 of 410 strings)
commit 74c0eb25e6dcc75836bb01fd96b8c04de8cd4a4c
Author: Verdulo <tomek@disroot.org>
Date: Wed Feb 7 18:04:14 2018 +0000
Translated using Weblate (Polish)
Currently translated at 100.0% (410 of 410 strings)
commit 272b00b8dfa0c530a9a51f6b980b0d311c921bfd
Author: Viktar Vauchkevich <victorenator@gmail.com>
Date: Tue Feb 6 14:06:00 2018 +0000
Translated using Weblate (Belarusian)
Currently translated at 98.2% (403 of 410 strings)
commit b28a9e57dd21c5f28dbf3555cadca0a20770a337
Author: Takumi Shoji <azumukupoe1999@gmail.com>
Date: Wed Feb 7 13:06:00 2018 +0000
Translated using Weblate (Japanese)
Currently translated at 100.0% (410 of 410 strings)
commit 56422c2d9ec3de0401793a7e0767c376925cc88f
Author: Sérgio Marques <smarquespt@gmail.com>
Date: Tue Feb 6 11:56:27 2018 +0000
Translated using Weblate (Portuguese (Portugal))
Currently translated at 98.0% (402 of 410 strings)
commit cd4ab7fdb3844f39c2f686b2ce0571b6de622cbb
Author: Licaon Kter <licaon.kter@protonmail.com>
Date: Tue Feb 6 09:05:10 2018 +0000
Translated using Weblate (Romanian)
Currently translated at 95.8% (393 of 410 strings)
commit ca68defd60db953419364758502b9a330b43598f
Author: Ldm Public <ldmpub@gmail.com>
Date: Tue Feb 6 07:38:41 2018 +0000
Translated using Weblate (French)
Currently translated at 98.2% (403 of 410 strings)
commit d0931b98aae70cfefee5e4b13f460aa7156c4270
Author: Verdulo <tomek@disroot.org>
Date: Tue Feb 6 19:35:39 2018 +0000
Translated using Weblate (Esperanto)
Currently translated at 100.0% (410 of 410 strings)
commit bf7173ca6ba9c7b3d9b6f361c2614827ee887e81
Author: Nathan Follens <nathan@email.is>
Date: Tue Feb 6 11:29:34 2018 +0000
Translated using Weblate (Dutch)
Currently translated at 100.0% (410 of 410 strings)
commit cdb4adc18c5ac818a16cb287624226093fe70a47
Author: Yaron Shahrabani <sh.yaron@gmail.com>
Date: Tue Feb 6 09:06:28 2018 +0000
Translated using Weblate (Hebrew)
Currently translated at 100.0% (410 of 410 strings)
commit 93dcc2a0ad171ab4b846e032756ca14c7bd04f04
Author: Sveinn í Felli <sv1@fellsnet.is>
Date: Tue Feb 6 07:41:40 2018 +0000
Translated using Weblate (Icelandic)
Currently translated at 100.0% (410 of 410 strings)
commit 5b359ea0fd1a5d8a5c3f67c2b448cf61c6c57424
Author: ezjerry liao <ezjerry@gmail.com>
Date: Tue Feb 6 01:45:45 2018 +0000
Translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (410 of 410 strings)
commit 254dc5f0ad07349ba3f6e39fce37fc4cb17c88d1
Author: anonymous <>
Date: Fri Feb 2 16:09:15 2018 +0000
Translated using Weblate (German)
Currently translated at 100.0% (402 of 402 strings)
commit 44b823af4261f4a24b1fde8dc6bc662894583e2f
Author: Licaon Kter <licaon.kter@protonmail.com>
Date: Fri Feb 2 07:34:53 2018 +0000
Translated using Weblate (Romanian)
Currently translated at 96.7% (389 of 402 strings)
commit 0069bef97bcb4d5e87d8fd50c5023dcbe2ae563e
Author: Viktar Vauchkevich <victorenator@gmail.com>
Date: Wed Jan 31 19:20:15 2018 +0000
Translated using Weblate (Belarusian)
Currently translated at 100.0% (402 of 402 strings)
commit 92042d49087f950908a2d312a027976f44554205
Author: Марс Ямбар <mjambarmeta@gmail.com>
Date: Tue Jan 30 17:04:37 2018 +0000
Translated using Weblate (Ukrainian)
Currently translated at 97.7% (393 of 402 strings)
commit 0555d776876940629b1fc1f5fb99b98c139c5a98
Author: Xuacu Saturio <xuacusk8@gmail.com>
Date: Tue Jan 30 20:22:42 2018 +0000
Translated using Weblate (Asturian)
Currently translated at 100.0% (402 of 402 strings)
commit 2e9a284da728fc530f09640f0e33bcdf91947bce
Author: Luca D'Amico <damico.luca91@live.it>
Date: Mon Jan 29 16:40:19 2018 +0000
Translated using Weblate (Italian)
Currently translated at 100.0% (402 of 402 strings)
commit 7640aa3613cbf1d73093ee5445a21be699bfb178
Author: yamabiko <dragonfly@cryptolab.net>
Date: Mon Jan 29 16:38:41 2018 +0000
Translated using Weblate (Italian)
Currently translated at 100.0% (402 of 402 strings)
commit ffc447abaf1af07114b039c028805549e662894d
Author: Luca D'Amico <damico.luca91@live.it>
Date: Mon Jan 29 16:38:27 2018 +0000
Translated using Weblate (Italian)
Currently translated at 99.7% (401 of 402 strings)
commit 248e7df90d2aac7b3d189de0b241a44522202be0
Author: yamabiko <dragonfly@cryptolab.net>
Date: Mon Jan 29 16:38:20 2018 +0000
Translated using Weblate (Italian)
Currently translated at 99.7% (401 of 402 strings)
commit ce561bd4eff83280816322f0a74d6cf1695dd249
Author: Luca D'Amico <damico.luca91@live.it>
Date: Mon Jan 29 16:36:47 2018 +0000
Translated using Weblate (Italian)
Currently translated at 99.2% (399 of 402 strings)
commit 06d21c188e263b74fb5b1e200d207373418de1c7
Author: yamabiko <dragonfly@cryptolab.net>
Date: Mon Jan 29 16:36:14 2018 +0000
Translated using Weblate (Italian)
Currently translated at 99.2% (399 of 402 strings)
commit 2afc5deb08c8e5c41820f4a99cf82d8381eaec82
Author: リー <meluten@gmail.com>
Date: Sun Jan 28 12:15:27 2018 +0000
Translated using Weblate (German)
Currently translated at 100.0% (402 of 402 strings)
commit 28ebd01fbade7bf960a69e3cbfd88e1d32fb6b2c
Author: Yunyang Liu <ensigma96@gmail.com>
Date: Fri Jan 26 14:58:52 2018 +0000
Translated using Weblate (Chinese (Simplified))
Currently translated at 98.2% (395 of 402 strings)
This moves towards the standard Android Studio Ctrl-Alt-L code format with
only whitespace changes. This just removes this one kind of space, since
its widespread, and easy to track. I did this using:
sed -i 's," />,"/>,g' app/src/main/AndroidManifest.xml
extended info on things we already have:
* PRODUCT is another name for BRAND/PHONE_MODEL
* TOTAL_MEM_SIZE can be derived from hardware name
* DISPLAY is also available by looking up the hardware
* STACK_TRACE_HASH should make automated sorting easier
new info:
* PACKAGE_NAME is only new info if the user is using a whitelabel app
* AVAILABLE_MEM_SIZE can be used to track users, but only when provided at
high resolution, e.g. once per second or higher. Most users only send a
single crash report. High frequency reporters send under 100, which is
still orders of magnatude below what is needed to track users.
new file: app/src/main/res/drawable-hdpi/ic_az_white.png
modified: app/src/main/res/drawable-hdpi/ic_last_updated_black.png
new file: app/src/main/res/drawable-hdpi/ic_last_updated_white.png
new file: app/src/main/res/drawable-mdpi/ic_az_white.png
modified: app/src/main/res/drawable-mdpi/ic_last_updated_black.png
new file: app/src/main/res/drawable-mdpi/ic_last_updated_white.png
new file: app/src/main/res/drawable-xhdpi/ic_az_white.png
modified: app/src/main/res/drawable-xhdpi/ic_last_updated_black.png
new file: app/src/main/res/drawable-xhdpi/ic_last_updated_white.png
new file: app/src/main/res/drawable-xxhdpi/ic_az_white.png
modified: app/src/main/res/drawable-xxhdpi/ic_last_updated_black.png
new file: app/src/main/res/drawable-xxhdpi/ic_last_updated_white.png
new file: app/src/main/res/drawable-xxxhdpi/ic_az_white.png
modified: app/src/main/res/drawable-xxxhdpi/ic_last_updated_black.png
new file: app/src/main/res/drawable-xxxhdpi/ic_last_updated_white.png
modified: app/src/main/res/layout/activity_app_list.xml
new file: app/src/main/res/drawable-hdpi/ic_az_black.png
new file: app/src/main/res/drawable-hdpi/ic_last_updated_black.png
new file: app/src/main/res/drawable-mdpi/ic_az_black.png
new file: app/src/main/res/drawable-mdpi/ic_last_updated_black.png
new file: app/src/main/res/drawable-xhdpi/ic_az_black.png
new file: app/src/main/res/drawable-xhdpi/ic_last_updated_black.png
new file: app/src/main/res/drawable-xxhdpi/ic_az_black.png
new file: app/src/main/res/drawable-xxhdpi/ic_last_updated_black.png
new file: app/src/main/res/drawable-xxxhdpi/ic_az_black.png
new file: app/src/main/res/drawable-xxxhdpi/ic_last_updated_black.png
Things like permission support, locales, etc. can change when Android is
updated. So the database should be rebuilt from scratch with a fresh
download of the indexes.
closes#780
The database currently only stores the active language. So if the
user changes the system language of the phone, then the language of
all the app descriptions will be out of sync until the next update.
This forces an update when the locale is changed. This functionality
is also needed for events like OS upgrades.
closes#225
It was tried until it got an IP address, but that will only happen if there
is a wifi device configured. Since WifiStateChangeService is started when
F-Droid starts, WifiStateChangeService could run for days if someone never
connected to WiFi in that time.
WifiStateChangeService is also started by NETWORK_STATE_CHANGED_ACTION so
it should start each time there is a change to the WiFi connection.
It was already behaving like a singleton, but the code was spread around in
other classes. DBHelper does not use a private constructor though since
the tests prevent it.
Yes, this is an ugly and old style, but mixing styles only makes it worse.
Plus it breaks the tests in some cases, since it makes Preferences depend
on Resources.
This commit allows F-Droid to hide itself from the laucher.
It can be hidden either as response to a panic trigger
or as a manual action by long pressing the floating search button.
The latter needs to be explicitly enabled in the settings.
Once hidden, a semi-functional fake calculator app appears in the
launcher that can be used to bring F-Droid back by entering a
pre-defined PIN.