Compare commits

...

1073 Commits
1.7 ... master

Author SHA1 Message Date
karl.hudgell
c5fa250331 new icons and settings. 2021-06-23 09:09:07 +01:00
karl.hudgell
a51588ddd2 get working for bobStore 2021-06-22 19:33:08 +01:00
Hans-Christoph Steiner
b066c40176 Merge branch 'immersive-status-bar' into 'master'
Use transparent status bar color

Closes #2203

See merge request fdroid/fdroidclient!1029
2021-06-17 06:38:02 +00:00
proletarius101
bbc2c6b35a Use transparent status bar color 2021-06-17 06:37:31 +00:00
Hans-Christoph Steiner
42b0b576d1
Merge 'Use_ActivityCompat_recreate' into 'master'
* Use_ActivityCompat_recreate:
  resync gradle verification metadata
  Use ActivityCompat.recreate().

fdroid/fdroidclient!1028
2021-06-16 14:37:07 +02:00
Hans-Christoph Steiner
39f680bb24
resync gradle verification metadata 2021-06-16 14:35:10 +02:00
Isira Seneviratne
19ffd2b491 Use ActivityCompat.recreate(). 2021-06-16 12:29:32 +00:00
Hans-Christoph Steiner
a8efa1ac07 Merge branch 'mainline' into 'master'
Read additional_repos.xml from /product as well

See merge request fdroid/fdroidclient!1026
2021-06-16 12:26:29 +00:00
Chirayu Desai
240b7af585 Read additional_repos.xml from /product as well
Change-Id: Id4a99204e4be467f4e3b1d6684eeb86a19a614f2
2021-06-16 11:55:29 +00:00
Hans-Christoph Steiner
345915cdf4 Merge branch '2126-scroll-search' into 'master'
Scroll to first item when search term changes

Closes #2126

See merge request fdroid/fdroidclient!1027
2021-06-16 09:32:49 +00:00
mueller-ma
d7fb1e0044 Scroll to first item when search term changes
Fixes #2126
2021-06-16 09:32:07 +00:00
Hans-Christoph Steiner
0d8018b10e Merge branch 'Replace_AsyncTask_with_RxJava_3' into 'master'
Replace AsyncTask implementations with RxJava 3.

See merge request fdroid/fdroidclient!947
2021-06-15 09:36:55 +00:00
Hans-Christoph Steiner
d9b443429d bump to latest io.reactivex.rxjava3:rxjava 2021-06-15 11:04:22 +02:00
Hans-Christoph Steiner
e698f4f8a3
revert unneeded/unrelated changes 2021-06-15 10:55:22 +02:00
Hans-Christoph Steiner
c27e1a697e
format imports using default Android Studio 4.1.2 settings 2021-06-15 10:55:20 +02:00
Isira Seneviratne
d549fb905d
fix checkstyle LineLength 2021-06-15 10:55:17 +02:00
Isira Seneviratne
c758cb60d9 Fix checkstyle issues. 2021-06-15 08:51:16 +00:00
Isira Seneviratne
eab5ef59b9 Use RxJava instead of AsyncTask to handle updates. 2021-06-15 08:51:16 +00:00
Isira Seneviratne
c0a699e21e Handle server swapping using RxJava instead of AsyncTask. 2021-06-15 08:51:16 +00:00
Isira Seneviratne
242662d02a Create new repos using RxJava instead of AsyncTask. 2021-06-15 08:51:16 +00:00
Isira Seneviratne
e1ca1552f7 Generate a QR bitmap using RxJava instead of AsyncTask. 2021-06-15 08:51:16 +00:00
Isira Seneviratne
93a160b40d Use RxJava 3 types in InstalledAppProviderService. 2021-06-15 08:51:16 +00:00
Isira Seneviratne
5fad229dbe Update RxJava to version 3. 2021-06-15 08:51:16 +00:00
Hans-Christoph Steiner
43a809490c use synchronized for methods that override synchronized methods 2021-06-14 16:36:42 +02:00
Hans-Christoph Steiner
a02ba42cf9
version code 1013001 2021-06-02 22:55:24 +02:00
Hans-Christoph Steiner
3ca9d47aae
update CHANGELOG 2021-06-02 22:55:22 +02:00
Hans-Christoph Steiner
c3e81e0f45
document constant that is used externally
refs #2147
2021-06-02 22:55:20 +02:00
Hans-Christoph Steiner
c7fd1f186b
Android Studio Ctrl-Alt-L code formatting 2021-06-02 22:55:18 +02:00
Hans-Christoph Steiner
ed2b119f33
update PGP key for new expiration date
closes admin#220
closes fdroidclient#2093
2021-06-02 22:55:14 +02:00
Hans-Christoph Steiner
465e92f8bc Merge branch 'TLSv1.2-min' into 'master'
bump netcipher to 2.2.0-alpha to get TorServices and TLSv1.2 min

See merge request fdroid/fdroidclient!1023
2021-06-02 20:33:33 +00:00
Hans-Christoph Steiner
09c7b21fd8
bump netcipher to 2.2.0-alpha to get TorServices and TLSv1.2 min
NetCipher provides the interface for starting Tor on demand.  It also
provides the mechanism to upgrade the TLS settings to the best possible,
based on what each device is capable of.
2021-06-02 22:02:29 +02:00
Hans-Christoph Steiner
6671683d08
fix format strings 2021-06-02 22:02:27 +02:00
Hans-Christoph Steiner
9e6d931e3b
fix lint Typo: "internett" is usually capitalized as "Internett"
sed -i 's,internett,Internett,g' app/src/main/res/values-nb/strings.xml
2021-06-02 22:02:20 +02:00
Kristoffer Grundström
64c349e39a Translated using Weblate: Swedish (sv) by Kristoffer Grundström <swedishsailfishosuser@tutanota.com>
Currently translated at 99.7% (467 of 468 strings)

Co-authored-by: Kristoffer Grundström <swedishsailfishosuser@tutanota.com>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/sv/
Translation: F-Droid/F-Droid
2021-06-02 20:05:42 +02:00
Klemen Skerbiš
bea8b77538 Translated using Weblate: Slovenian (sl) by Klemen Skerbiš <klemen.skerbis1@gmail.com>
Currently translated at 96.7% (453 of 468 strings)

Co-authored-by: Klemen Skerbiš <klemen.skerbis1@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/sl/
Translation: F-Droid/F-Droid
2021-06-02 20:05:42 +02:00
Слободан Симић(Slobodan Simić)
480e98144d Translated using Weblate: Serbian (sr) by Слободан Симић(Slobodan Simić) <slsimic@gmail.com>
Currently translated at 100.0% (468 of 468 strings)

Translated using Weblate: Serbian (sr) by Слободан Симић(Slobodan Simić) <slsimic@gmail.com>

Currently translated at 13.8% (5 of 36 strings)

Translated using Weblate: Serbian (sr) by Слободан Симић(Slobodan Simić) <slsimic@gmail.com>

Currently translated at 100.0% (468 of 468 strings)

Co-authored-by: Слободан Симић(Slobodan Simić) <slsimic@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/sr/
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/sr/
Translation: F-Droid/F-Droid
Translation: F-Droid/F-Droid metadata
2021-06-02 20:05:42 +02:00
Roman Leo
7037bc3e9c Translated using Weblate: German (de) by Roman Leo <roman.leo@gmx.de>
Currently translated at 100.0% (468 of 468 strings)

Co-authored-by: Roman Leo <roman.leo@gmx.de>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/de/
Translation: F-Droid/F-Droid
2021-06-02 20:05:42 +02:00
Software In Interlingua
4e241f9b1b Added translation using Weblate: Interlingua (ia) by Software In Interlingua <softinterlingua@gmail.com>
Co-authored-by: Software In Interlingua <softinterlingua@gmail.com>
2021-06-02 20:05:42 +02:00
GnuPGを使うべきだ
79ea0a08c3 Translated using Weblate: Japanese (ja) by GnuPGを使うべきだ <dieeeazpnnqbpddh@cock.email>
Currently translated at 97.0% (454 of 468 strings)

Co-authored-by: GnuPGを使うべきだ <dieeeazpnnqbpddh@cock.email>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/ja/
Translation: F-Droid/F-Droid
2021-06-02 20:05:42 +02:00
vancha
e02b8cd80e Translated using Weblate: Frisian (fy) by vancha <tjipke@tutanota.com>
Currently translated at 21.5% (101 of 468 strings)

Added translation using Weblate: Frisian (fy) by vancha <tjipke@tutanota.com>

Co-authored-by: vancha <tjipke@tutanota.com>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/fy/
Translation: F-Droid/F-Droid
2021-06-02 20:05:42 +02:00
Translator
ba56933e87 Translated using Weblate: Hindi (hi) by Translator <pahatih716@to200.com>
Currently translated at 99.3% (465 of 468 strings)

Co-authored-by: Translator <pahatih716@to200.com>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/hi/
Translation: F-Droid/F-Droid
2021-06-02 20:05:42 +02:00
Myeongjin Lee
45ad90bfbc Translated using Weblate: Korean (ko) by Myeongjin Lee <aranet100@gmail.com>
Currently translated at 100.0% (468 of 468 strings)

Translated using Weblate: Korean (ko) by Myeongjin Lee <aranet100@gmail.com>

Currently translated at 97.6% (457 of 468 strings)

Co-authored-by: Myeongjin Lee <aranet100@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/ko/
Translation: F-Droid/F-Droid
2021-06-02 20:05:42 +02:00
random r
35f6e25d18 Translated using Weblate: Italian (it) by random r <epsilin@yopmail.com>
Currently translated at 100.0% (468 of 468 strings)

Co-authored-by: random r <epsilin@yopmail.com>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/it/
Translation: F-Droid/F-Droid
2021-06-02 20:05:42 +02:00
Besnik Bleta
b031cf3d07 Translated using Weblate: Albanian (sq) by Besnik Bleta <besnik@programeshqip.org>
Currently translated at 100.0% (468 of 468 strings)

Co-authored-by: Besnik Bleta <besnik@programeshqip.org>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/sq/
Translation: F-Droid/F-Droid
2021-06-02 20:05:42 +02:00
moar pics
3821b9e6d6 Translated using Weblate: Albanian (sq) by moar pics <m0arpicsss@gmail.com>
Currently translated at 99.5% (466 of 468 strings)

Co-authored-by: moar pics <m0arpicsss@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/sq/
Translation: F-Droid/F-Droid
2021-06-02 20:05:42 +02:00
Jonas Matisen
21354b76ff Translated using Weblate: Norwegian Bokmål (nb) by Jonas Matisen <hdsumo@protonmail.ch>
Currently translated at 100.0% (468 of 468 strings)

Co-authored-by: Jonas Matisen <hdsumo@protonmail.ch>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/nb_NO/
Translation: F-Droid/F-Droid
2021-06-02 20:05:42 +02:00
nautilusx
602c203495 Translated using Weblate: German (de) by nautilusx <translate@disroot.org>
Currently translated at 100.0% (36 of 36 strings)

Translated using Weblate: German (de) by nautilusx <translate@disroot.org>

Currently translated at 100.0% (36 of 36 strings)

Co-authored-by: nautilusx <translate@disroot.org>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/de/
Translation: F-Droid/F-Droid metadata
2021-06-02 20:05:42 +02:00
Watson15683
0ead57926c Translated using Weblate: German (de) by Watson15683 <peter.parker2@tutanota.com>
Currently translated at 100.0% (36 of 36 strings)

Co-authored-by: Watson15683 <peter.parker2@tutanota.com>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/de/
Translation: F-Droid/F-Droid metadata
2021-06-02 20:05:42 +02:00
Keunes
002b01823e Translated using Weblate: Dutch (nl) by Keunes <koen.glotzbach@gmail.com>
Currently translated at 99.7% (467 of 468 strings)

Co-authored-by: Keunes <koen.glotzbach@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/nl/
Translation: F-Droid/F-Droid
2021-06-02 20:05:42 +02:00
Karl Ove Hufthammer
45ed83501e Translated using Weblate: Norwegian Nynorsk (nn) by Karl Ove Hufthammer <karl@huftis.org>
Currently translated at 100.0% (36 of 36 strings)

Translated using Weblate: Norwegian Nynorsk (nn) by Karl Ove Hufthammer <karl@huftis.org>

Currently translated at 100.0% (468 of 468 strings)

Co-authored-by: Karl Ove Hufthammer <karl@huftis.org>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/nn/
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/nn/
Translation: F-Droid/F-Droid
Translation: F-Droid/F-Droid metadata
2021-06-02 20:05:42 +02:00
WaldiS
2c69c5ccf3 Translated using Weblate: Polish (pl) by WaldiS <sto@tutanota.de>
Currently translated at 100.0% (468 of 468 strings)

Co-authored-by: WaldiS <sto@tutanota.de>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/pl/
Translation: F-Droid/F-Droid
2021-06-02 20:05:42 +02:00
Manuela Silva
e52b8a27d6 Translated using Weblate: Portuguese (Portugal) (pt-rPT) by Manuela Silva <mmsrs@sky.com>
Currently translated at 100.0% (468 of 468 strings)

Co-authored-by: Manuela Silva <mmsrs@sky.com>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/pt_PT/
Translation: F-Droid/F-Droid
2021-06-02 20:05:42 +02:00
Nicolas Mariniello
2dc8deca59 Translated using Weblate: Italian (it) by Nicolas Mariniello <seldon1000@tutanota.com>
Currently translated at 100.0% (468 of 468 strings)

Co-authored-by: Nicolas Mariniello <seldon1000@tutanota.com>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/it/
Translation: F-Droid/F-Droid
2021-06-02 20:05:42 +02:00
J. Lavoie
25392dd8bd Translated using Weblate: English (United Kingdom) (en-rGB) by J. Lavoie <j.lavoie@net-c.ca>
Currently translated at 100.0% (468 of 468 strings)

Translated using Weblate: Italian (it) by J. Lavoie <j.lavoie@net-c.ca>

Currently translated at 99.7% (467 of 468 strings)

Translated using Weblate: French (fr) by J. Lavoie <j.lavoie@net-c.ca>

Currently translated at 100.0% (468 of 468 strings)

Co-authored-by: J. Lavoie <j.lavoie@net-c.ca>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/en_GB/
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/fr/
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/it/
Translation: F-Droid/F-Droid
2021-06-02 20:05:42 +02:00
Oymate
60a8eccb5f Translated using Weblate: Bengali (bn) by Oymate <dhruboadittya96@gmail.com>
Currently translated at 100.0% (468 of 468 strings)

Translated using Weblate: Bengali (Bangladesh) (bn-rBD) by Oymate <dhruboadittya96@gmail.com>

Currently translated at 100.0% (468 of 468 strings)

Translated using Weblate: Bengali (bn) by Oymate <dhruboadittya96@gmail.com>

Currently translated at 100.0% (468 of 468 strings)

Translated using Weblate: Bengali (bn) by Oymate <dhruboadittya96@gmail.com>

Currently translated at 94.2% (441 of 468 strings)

Translated using Weblate: Bengali (bn) by Oymate <dhruboadittya96@gmail.com>

Currently translated at 87.6% (410 of 468 strings)

Translated using Weblate: Bengali (bn) by Oymate <dhruboadittya96@gmail.com>

Currently translated at 82.9% (388 of 468 strings)

Translated using Weblate: Bengali (bn) by Oymate <dhruboadittya96@gmail.com>

Currently translated at 76.9% (360 of 468 strings)

Translated using Weblate: Bengali (bn) by Oymate <dhruboadittya96@gmail.com>

Currently translated at 64.3% (301 of 468 strings)

Translated using Weblate: Bengali (bn) by Oymate <dhruboadittya96@gmail.com>

Currently translated at 57.4% (269 of 468 strings)

Translated using Weblate: Bengali (bn) by Oymate <dhruboadittya96@gmail.com>

Currently translated at 51.7% (242 of 468 strings)

Translated using Weblate: Bengali (Bangladesh) (bn-rBD) by Oymate <dhruboadittya96@gmail.com>

Currently translated at 29.4% (138 of 468 strings)

Translated using Weblate: Bengali (bn) by Oymate <dhruboadittya96@gmail.com>

Currently translated at 48.0% (225 of 468 strings)

Translated using Weblate: Bengali (Bangladesh) (bn-rBD) by Oymate <dhruboadittya96@gmail.com>

Currently translated at 29.0% (136 of 468 strings)

Co-authored-by: Oymate <dhruboadittya96@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/bn/
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/bn_BD/
Translation: F-Droid/F-Droid
2021-06-02 20:05:42 +02:00
Priit Jõerüüt
6cf9e9d105 Translated using Weblate: Estonian (et) by Priit Jõerüüt <hwlate@joeruut.com>
Currently translated at 100.0% (468 of 468 strings)

Co-authored-by: Priit Jõerüüt <hwlate@joeruut.com>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/et/
Translation: F-Droid/F-Droid
2021-06-02 20:05:42 +02:00
Francesc Sanjuán farré
5489f0a089 Translated using Weblate: Catalan (ca) by Francesc Sanjuán farré <fran@franer.systems>
Currently translated at 100.0% (468 of 468 strings)

Co-authored-by: Francesc Sanjuán farré <fran@franer.systems>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/ca/
Translation: F-Droid/F-Droid
2021-06-02 20:05:42 +02:00
Rafael Ruiz
cc12359ba6 Translated using Weblate: Catalan (ca) by Rafael Ruiz <rafael.ruiz@upc.edu>
Currently translated at 100.0% (468 of 468 strings)

Translated using Weblate: Catalan (ca) by Rafael Ruiz <rafael.ruiz@upc.edu>

Currently translated at 100.0% (468 of 468 strings)

Co-authored-by: Rafael Ruiz <rafael.ruiz@upc.edu>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/ca/
Translation: F-Droid/F-Droid
2021-06-02 20:05:42 +02:00
Milo Ivir
173aa6792a Translated using Weblate: Croatian (hr) by Milo Ivir <mail@milotype.de>
Currently translated at 92.7% (434 of 468 strings)

Co-authored-by: Milo Ivir <mail@milotype.de>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/hr/
Translation: F-Droid/F-Droid
2021-06-02 20:05:42 +02:00
Ranjith Kumar
72c0c6f4a6 Translated using Weblate: Tamil (ta) by Ranjith Kumar <sranjith096@gmail.com>
Currently translated at 36.1% (169 of 468 strings)

Co-authored-by: Ranjith Kumar <sranjith096@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/ta/
Translation: F-Droid/F-Droid
2021-06-02 20:05:42 +02:00
whenwesober
5e8948b534 Translated using Weblate: Indonesian (id) by whenwesober <naomi16i_1298q@cikuh.com>
Currently translated at 100.0% (468 of 468 strings)

Co-authored-by: whenwesober <naomi16i_1298q@cikuh.com>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/id/
Translation: F-Droid/F-Droid
2021-06-02 20:05:42 +02:00
ssantos
19b7b57b43 Translated using Weblate: Portuguese (pt) by ssantos <ssantos@web.de>
Currently translated at 100.0% (468 of 468 strings)

Translated using Weblate: Portuguese (pt) by ssantos <ssantos@web.de>

Currently translated at 100.0% (36 of 36 strings)

Translated using Weblate: Portuguese (pt) by ssantos <ssantos@web.de>

Currently translated at 100.0% (468 of 468 strings)

Translated using Weblate: Portuguese (Portugal) (pt-PT) by ssantos <ssantos@web.de>

Currently translated at 100.0% (36 of 36 strings)

Translated using Weblate: Portuguese (Portugal) (pt-rPT) by ssantos <ssantos@web.de>

Currently translated at 100.0% (468 of 468 strings)

Co-authored-by: ssantos <ssantos@web.de>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/pt/
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/pt_PT/
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/pt/
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/pt_PT/
Translation: F-Droid/F-Droid
Translation: F-Droid/F-Droid metadata
2021-06-02 20:05:42 +02:00
Andrey
ae37d587d4 Translated using Weblate: Russian (ru) by Andrey <andrey@mailbox.org>
Currently translated at 100.0% (36 of 36 strings)

Translated using Weblate: Russian (ru) by Andrey <andrey@mailbox.org>

Currently translated at 100.0% (468 of 468 strings)

Co-authored-by: Andrey <andrey@mailbox.org>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/ru/
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/ru/
Translation: F-Droid/F-Droid
Translation: F-Droid/F-Droid metadata
2021-06-02 20:05:42 +02:00
Licaon Kter
0f635d6e80 Translated using Weblate: Romanian (ro) by Licaon Kter <licaon.kter@protonmail.com>
Currently translated at 100.0% (468 of 468 strings)

Co-authored-by: Licaon Kter <licaon.kter@protonmail.com>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/ro/
Translation: F-Droid/F-Droid
2021-06-02 20:05:42 +02:00
Wellington Terumi Uemura
eeb5f5f2ec Translated using Weblate: Portuguese (Brazil) (pt-rBR) by Wellington Terumi Uemura <wellingtonuemura@gmail.com>
Currently translated at 100.0% (468 of 468 strings)

Co-authored-by: Wellington Terumi Uemura <wellingtonuemura@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/pt_BR/
Translation: F-Droid/F-Droid
2021-06-02 20:05:42 +02:00
alefvanoon
4342d87b37 Translated using Weblate: Persian (fa) by alefvanoon <alefvanoon@tuta.io>
Currently translated at 100.0% (468 of 468 strings)

Co-authored-by: alefvanoon <alefvanoon@tuta.io>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/fa/
Translation: F-Droid/F-Droid
2021-06-02 20:05:42 +02:00
Sina Carnelious
27ddf42897 Translated using Weblate: Persian (fa) by Sina Carnelious <sinacarnelious@protonmail.com>
Currently translated at 100.0% (468 of 468 strings)

Co-authored-by: Sina Carnelious <sinacarnelious@protonmail.com>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/fa/
Translation: F-Droid/F-Droid
2021-06-02 20:05:42 +02:00
C. Rüdinger
b642b14d5a Translated using Weblate: German (de) by C. Rüdinger <Mail-an-CR@web.de>
Currently translated at 100.0% (468 of 468 strings)

Co-authored-by: C. Rüdinger <Mail-an-CR@web.de>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/de/
Translation: F-Droid/F-Droid
2021-06-02 20:05:42 +02:00
zeritti
b2a9854e1a Translated using Weblate: Czech (cs) by zeritti <woodenmo@posteo.de>
Currently translated at 100.0% (468 of 468 strings)

Co-authored-by: zeritti <woodenmo@posteo.de>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/cs/
Translation: F-Droid/F-Droid
2021-06-02 20:05:42 +02:00
Rex_sa
9d738f0d9d Translated using Weblate: Arabic (ar) by Rex_sa <rex.sa@pm.me>
Currently translated at 100.0% (468 of 468 strings)

Translated using Weblate: Arabic (ar) by Rex_sa <rex.sa@pm.me>

Currently translated at 100.0% (468 of 468 strings)

Co-authored-by: Rex_sa <rex.sa@pm.me>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/ar/
Translation: F-Droid/F-Droid
2021-06-02 20:05:42 +02:00
André Marcelo Alvarenga
d32d866393 Translated using Weblate: Portuguese (Brazil) (pt-rBR) by André Marcelo Alvarenga <andrealvarenga@gmx.net>
Currently translated at 100.0% (468 of 468 strings)

Co-authored-by: André Marcelo Alvarenga <andrealvarenga@gmx.net>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/pt_BR/
Translation: F-Droid/F-Droid
2021-06-02 20:05:42 +02:00
Athanasios Plastiras
f09434869e Translated using Weblate: Greek (el) by Athanasios Plastiras <admin@plastiras.org>
Currently translated at 99.7% (467 of 468 strings)

Co-authored-by: Athanasios Plastiras <admin@plastiras.org>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/el/
Translation: F-Droid/F-Droid
2021-06-02 20:05:42 +02:00
Jeff Huang
f12f6694c4 Translated using Weblate: Chinese (Traditional) (zh-rTW) by Jeff Huang <s8321414@gmail.com>
Currently translated at 100.0% (468 of 468 strings)

Co-authored-by: Jeff Huang <s8321414@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/zh_Hant/
Translation: F-Droid/F-Droid
2021-06-02 20:05:42 +02:00
Eric
6a3d989778 Translated using Weblate: Chinese (Simplified) (zh-CN) by Eric <spice2wolf@gmail.com>
Currently translated at 100.0% (36 of 36 strings)

Translated using Weblate: Chinese (Simplified) (zh-rCN) by Eric <spice2wolf@gmail.com>

Currently translated at 100.0% (468 of 468 strings)

Co-authored-by: Eric <spice2wolf@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/zh_Hans/
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/zh_Hans/
Translation: F-Droid/F-Droid
Translation: F-Droid/F-Droid metadata
2021-06-02 20:05:42 +02:00
bruh
de1b05d307 Translated using Weblate: Vietnamese (vi) by bruh <quangtrung02hn16@gmail.com>
Currently translated at 100.0% (468 of 468 strings)

Translated using Weblate: Vietnamese (vi) by bruh <quangtrung02hn16@gmail.com>

Currently translated at 100.0% (468 of 468 strings)

Translated using Weblate: Vietnamese (vi) by bruh <quangtrung02hn16@gmail.com>

Currently translated at 100.0% (468 of 468 strings)

Co-authored-by: bruh <quangtrung02hn16@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/vi/
Translation: F-Droid/F-Droid
2021-06-02 20:05:42 +02:00
Ihor Hordiichuk
16ab3672cd Translated using Weblate: Ukrainian (uk) by Ihor Hordiichuk <igor_ck@outlook.com>
Currently translated at 100.0% (468 of 468 strings)

Translated using Weblate: Ukrainian (uk) by Ihor Hordiichuk <igor_ck@outlook.com>

Currently translated at 100.0% (36 of 36 strings)

Translated using Weblate: Ukrainian (uk) by Ihor Hordiichuk <igor_ck@outlook.com>

Currently translated at 100.0% (468 of 468 strings)

Co-authored-by: Ihor Hordiichuk <igor_ck@outlook.com>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/uk/
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/uk/
Translation: F-Droid/F-Droid
Translation: F-Droid/F-Droid metadata
2021-06-02 20:05:42 +02:00
Oğuz Ersen
108b9e4bf4 Translated using Weblate: Turkish (tr) by Oğuz Ersen <oguzersen@protonmail.com>
Currently translated at 100.0% (36 of 36 strings)

Translated using Weblate: Turkish (tr) by Oğuz Ersen <oguzersen@protonmail.com>

Currently translated at 100.0% (468 of 468 strings)

Co-authored-by: Oğuz Ersen <oguzersen@protonmail.com>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/tr/
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/tr/
Translation: F-Droid/F-Droid
Translation: F-Droid/F-Droid metadata
2021-06-02 20:05:42 +02:00
Ajeje Brazorf
82d1fe8815 Translated using Weblate: Sardinian (sc) by Ajeje Brazorf <lmelonimamo@yahoo.it>
Currently translated at 5.5% (2 of 36 strings)

Translated using Weblate: Sardinian (sc) by Ajeje Brazorf <lmelonimamo@yahoo.it>

Currently translated at 100.0% (468 of 468 strings)

Co-authored-by: Ajeje Brazorf <lmelonimamo@yahoo.it>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/sc/
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/sc/
Translation: F-Droid/F-Droid
Translation: F-Droid/F-Droid metadata
2021-06-02 20:05:42 +02:00
S3aBreeze
ecc017845d Translated using Weblate: Russian (ru) by S3aBreeze <paperwork@evilcorp.ltd>
Currently translated at 100.0% (36 of 36 strings)

Translated using Weblate: Russian (ru) by S3aBreeze <paperwork@evilcorp.ltd>

Currently translated at 100.0% (468 of 468 strings)

Co-authored-by: S3aBreeze <paperwork@evilcorp.ltd>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/ru/
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/ru/
Translation: F-Droid/F-Droid
Translation: F-Droid/F-Droid metadata
2021-06-02 20:05:42 +02:00
Wellington Terumi Uemura
6b2157fc1c Translated using Weblate: Portuguese (Brazil) (pt-rBR) by Wellington Terumi Uemura <wellingtonuemura@gmail.com>
Currently translated at 100.0% (468 of 468 strings)

Co-authored-by: Wellington Terumi Uemura <wellingtonuemura@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/pt_BR/
Translation: F-Droid/F-Droid
2021-06-02 20:05:42 +02:00
Yaron Shahrabani
b8b4da7ac9 Translated using Weblate: Hebrew (he) by Yaron Shahrabani <sh.yaron@gmail.com>
Currently translated at 100.0% (36 of 36 strings)

Translated using Weblate: Hebrew (he) by Yaron Shahrabani <sh.yaron@gmail.com>

Currently translated at 100.0% (468 of 468 strings)

Co-authored-by: Yaron Shahrabani <sh.yaron@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/he/
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/he/
Translation: F-Droid/F-Droid
Translation: F-Droid/F-Droid metadata
2021-06-02 20:05:42 +02:00
Deleted User
0b3edc812c Translated using Weblate: French (fr) by Deleted User <noreply+26956@weblate.org>
Currently translated at 100.0% (468 of 468 strings)

Co-authored-by: Deleted User <noreply+26956@weblate.org>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/fr/
Translation: F-Droid/F-Droid
2021-06-02 20:05:42 +02:00
Ldm Public
30521f00cd Translated using Weblate: French (fr) by Ldm Public <ldmpub@gmail.com>
Currently translated at 100.0% (468 of 468 strings)

Co-authored-by: Ldm Public <ldmpub@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/fr/
Translation: F-Droid/F-Droid
2021-06-02 20:05:42 +02:00
Kkai
4eea2cb4e1 Translated using Weblate: Spanish (es) by Kkai <kaieltroll@gmail.com>
Currently translated at 100.0% (468 of 468 strings)

Co-authored-by: Kkai <kaieltroll@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/es/
Translation: F-Droid/F-Droid
2021-06-02 20:05:42 +02:00
☆Verdulo
aa2537eb6d Translated using Weblate: Esperanto (eo) by ☆Verdulo <tomek@disroot.org>
Currently translated at 100.0% (468 of 468 strings)

Translated using Weblate: Esperanto (eo) by ☆Verdulo <tomek@disroot.org>

Currently translated at 100.0% (36 of 36 strings)

Translated using Weblate: Esperanto (eo) by ☆Verdulo <tomek@disroot.org>

Currently translated at 100.0% (468 of 468 strings)

Co-authored-by: ☆Verdulo <tomek@disroot.org>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/eo/
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/eo/
Translation: F-Droid/F-Droid
Translation: F-Droid/F-Droid metadata
2021-06-02 20:05:42 +02:00
Hans-Christoph Steiner
1747a0a737 Translated using Weblate: German (de) by Hans-Christoph Steiner <hans@guardianproject.info>
Currently translated at 100.0% (468 of 468 strings)

Co-authored-by: Hans-Christoph Steiner <hans@guardianproject.info>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/de/
Translation: F-Droid/F-Droid
2021-06-02 20:05:42 +02:00
VfBFan
60c41783cc Translated using Weblate: German (de) by VfBFan <drop0815@posteo.de>
Currently translated at 100.0% (468 of 468 strings)

Translated using Weblate: German (de) by VfBFan <drop0815@posteo.de>

Currently translated at 100.0% (468 of 468 strings)

Translated using Weblate: German (de) by VfBFan <drop0815@posteo.de>

Currently translated at 100.0% (468 of 468 strings)

Translated using Weblate: German (de) by VfBFan <drop0815@posteo.de>

Currently translated at 100.0% (468 of 468 strings)

Co-authored-by: VfBFan <drop0815@posteo.de>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/de/
Translation: F-Droid/F-Droid
2021-06-02 20:05:42 +02:00
Chirayu Desai
3d53b22e37 Merge branch 'master' into 'master'
Fix Trichrome Library installation status mismatch

Closes #2184

See merge request fdroid/fdroidclient!1002
2021-06-02 18:05:23 +00:00
Hans-Christoph Steiner
719a599c41 Merge branch 'theme_screenshot_placeholder' into 'master'
theme the screenshot placeholder

Closes #2127

See merge request fdroid/fdroidclient!1007
2021-06-02 16:32:52 +00:00
Conny Duck
10111b2beb theme the screenshot placeholder 2021-06-02 16:32:51 +00:00
Hans-Christoph Steiner
1fd3b308e9 Merge branch 'remove_mainactivity_saved_state' into 'master'
remove unneeded saved state handling in MainActivity

See merge request fdroid/fdroidclient!1017
2021-06-02 12:33:01 +00:00
Konrad Pozniak
ee5c2b6632 remove unneeded saved state handling in MainActivity 2021-06-02 10:24:26 +00:00
Hans-Christoph Steiner
6155bdbe20 Merge branch 'crane-shape-theming' into 'master'
Consistent round shape theming by parameters from Crane

See merge request fdroid/fdroidclient!1013
2021-06-02 10:21:14 +00:00
proletarius101
8ffbd0b44d Consistent round shape theming by parameters from Crane 2021-06-02 10:21:14 +00:00
Hans-Christoph Steiner
a5d678b72e Merge branch 'fix-bottom-navigation-bar-dark-theme-color' into 'master'
Change the bottom navigation bar to the material component one

See merge request fdroid/fdroidclient!1008
2021-05-18 12:39:58 +00:00
proletarius101
e48c49ce0c Change the bottom navigation bar to the material component one 2021-05-18 12:39:58 +00:00
Hans-Christoph Steiner
7993b04cf4 Merge branch 'mdc-text-fields' into 'master'
Migrate to MDC text fields

See merge request fdroid/fdroidclient!1012
2021-05-18 12:01:16 +00:00
proletarius101
ca54511cf6 Migrate to MDC text fields 2021-05-18 12:01:15 +00:00
Hans-Christoph Steiner
fc463810f6 Merge branch 'mdc-switches' into 'master'
Migrate to MDC switches

See merge request fdroid/fdroidclient!1014
2021-05-18 11:37:53 +00:00
proletarius101
a1369cdd67 Migrate to MDC switches 2021-05-18 11:35:52 +00:00
Hans-Christoph Steiner
3178624b4b Merge branch 'mdc-cards' into 'master'
Migrate CardView to MaterialCardView

See merge request fdroid/fdroidclient!1011
2021-05-18 10:53:43 +00:00
proletarius101
2530487483 Migrate CardView to MaterialCardView 2021-05-18 10:53:17 +00:00
Hans-Christoph Steiner
03c16e3f1b Merge branch 'fix-sort-botton-tint' into 'master'
Fix sort button tint

See merge request fdroid/fdroidclient!1010
2021-05-18 10:48:20 +00:00
proletarius101
fee35fe285 Fix sort button tint 2021-05-17 17:34:24 +00:00
Hans-Christoph Steiner
b310032cf5 Merge branch 'fix-pipeline-badge' into 'master'
Fix pipeline badge in README

See merge request fdroid/fdroidclient!1009
2021-05-17 16:55:55 +00:00
Benedikt Brückmann
07aae0674f Fix pipeline badge in README
relates to fdroid/fdroidclient#2173
2021-05-17 11:05:34 +02:00
Hans-Christoph Steiner
cbea1539f8 Merge branch 'fix_opencollective_badge' into 'master'
improve opencollective badge

See merge request fdroid/fdroidclient!1006
2021-05-13 22:02:32 +00:00
Konrad Pozniak
90d514ac6a improve opencollective badge 2021-05-13 21:32:21 +00:00
Hans-Christoph Steiner
97bc77b03a Merge branch 'fix_opencollective_link_not_shown' into 'master'
fix opencollective badge not shown when it is the only donation option

See merge request fdroid/fdroidclient!1005
2021-05-13 21:30:54 +00:00
Konrad Pozniak
02ee182508 fix opencollective badge not shown when it is the only donation option 2021-05-12 20:40:35 +02:00
Hans-Christoph Steiner
6e2b258eee Merge branch 'change-link-icon' into 'master'
Use the Material Design link icon (chain) for links

See merge request fdroid/fdroidclient!1004
2021-05-06 13:11:53 +00:00
proletarius101
5a183d27d1 Use the Material Design link icon for links 2021-05-05 22:21:03 +08:00
Oliver Scott
b52c7ca39a Remove duplicate entries from installed packages list 2021-04-30 13:27:19 +00:00
Oliver Scott
e677d815d4 Sync installed app database with package manager on PACKAGE_CHANGED for shared libraries 2021-04-30 13:27:19 +00:00
Hans-Christoph Steiner
471d2b86c7 Merge branch 'update-material-componnets-library' into 'master'
Update material components library to 1.3.0

See merge request fdroid/fdroidclient!1003
2021-04-28 16:34:47 +00:00
proletarius101
aaf08fea0c Update material components library to 1.3.0 2021-04-28 19:17:05 +08:00
Hans-Christoph Steiner
37275e2c7c
version code 1013000 2021-04-22 11:59:10 +02:00
Hans-Christoph Steiner
723a4996fb
update CHANGELOG 2021-04-22 11:59:06 +02:00
Hans-Christoph Steiner
cb53c8bbd6 Merge 'fix-icon' into master
* origin/fix-icon:
  use Android Studio default Ctrl-Alt-L to format all AndroidManifest.xml
  fully separate "Last Updated" icon from "Versions"
  purge unused AboutActivity

fdroid/fdroidclient!1001
2021-04-22 11:58:18 +02:00
Hans-Christoph Steiner
cc37dab980 Merge branch 'weblate' into 'master'
weblate

See merge request fdroid/fdroidclient!1000
2021-04-22 09:53:24 +00:00
Hans-Christoph Steiner
24ed554b1d use Android Studio default Ctrl-Alt-L to format all AndroidManifest.xml 2021-04-22 11:24:38 +02:00
Hans-Christoph Steiner
deea4bd696 fully separate "Last Updated" icon from "Versions"
These two are the same shape, but different sizes, and this is an easy way
to manage the sizes.

closes #2148
2021-04-22 11:24:38 +02:00
Hans-Christoph Steiner
7db4456aae purge unused AboutActivity
!963 made it an AlertDialog
2021-04-22 11:24:38 +02:00
Hans-Christoph Steiner
98c204e74e rename: update_notification_title --> banner_updating_repositories
sed -i 's,update_notification_title,banner_updating_repositories,g' app/src/main/res/values*/strings.xml
2021-04-22 11:00:53 +02:00
Sérgio Morais
028d5f5a4f Translated using Weblate: Portuguese (pt) by Sérgio Morais <lalocas@protonmail.com>
Currently translated at 100.0% (466 of 466 strings)

Co-authored-by: Sérgio Morais <lalocas@protonmail.com>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/pt/
Translation: F-Droid/F-Droid
2021-04-22 10:44:23 +02:00
j.kemu
4716e77e6d Translated using Weblate: Burmese (my) by j.kemu <zartlike@mailinator.com>
Currently translated at 51.2% (239 of 466 strings)

Co-authored-by: j.kemu <zartlike@mailinator.com>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/my/
Translation: F-Droid/F-Droid
2021-04-22 10:44:23 +02:00
Aryan L
c1f8862128 Translated using Weblate: Hindi (hi) by Aryan L <aryan.landge@icloud.com>
Currently translated at 100.0% (466 of 466 strings)

Co-authored-by: Aryan L <aryan.landge@icloud.com>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/hi/
Translation: F-Droid/F-Droid
2021-04-22 10:44:23 +02:00
Aputsiaĸ Niels Janussen
05564afdec Translated using Weblate: Danish (da) by Aputsiaĸ Niels Janussen <aj@isit.gl>
Currently translated at 100.0% (466 of 466 strings)

Co-authored-by: Aputsiaĸ Niels Janussen <aj@isit.gl>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/da/
Translation: F-Droid/F-Droid
2021-04-22 10:44:23 +02:00
whenwesober
b1856022c6 Translated using Weblate: Indonesian (id) by whenwesober <naomi16i_1298q@cikuh.com>
Currently translated at 100.0% (466 of 466 strings)

Co-authored-by: whenwesober <naomi16i_1298q@cikuh.com>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/id/
Translation: F-Droid/F-Droid
2021-04-22 10:44:23 +02:00
Jonatan Nyberg
b201a4ed0c Translated using Weblate: Swedish (sv) by Jonatan Nyberg <jonatan.nyberg.karl@gmail.com>
Currently translated at 100.0% (466 of 466 strings)

Translated using Weblate: Swedish (sv) by Jonatan Nyberg <jonatan.nyberg.karl@gmail.com>

Currently translated at 99.3% (463 of 466 strings)

Co-authored-by: Jonatan Nyberg <jonatan.nyberg.karl@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/sv/
Translation: F-Droid/F-Droid
2021-04-22 10:44:23 +02:00
mondstern
a34c6e316b Translated using Weblate: Italian (it) by mondstern <mondstern@snopyta.org>
Currently translated at 100.0% (466 of 466 strings)

Co-authored-by: mondstern <mondstern@snopyta.org>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/it/
Translation: F-Droid/F-Droid
2021-04-22 10:44:23 +02:00
J. Lavoie
f6a630c5c9 Translated using Weblate: English (United Kingdom) (en-rGB) by J. Lavoie <j.lavoie@net-c.ca>
Currently translated at 100.0% (466 of 466 strings)

Translated using Weblate: German (de) by J. Lavoie <j.lavoie@net-c.ca>

Currently translated at 100.0% (466 of 466 strings)

Translated using Weblate: German (de) by J. Lavoie <j.lavoie@net-c.ca>

Currently translated at 100.0% (466 of 466 strings)

Co-authored-by: J. Lavoie <j.lavoie@net-c.ca>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/de/
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/en_GB/
Translation: F-Droid/F-Droid
2021-04-22 10:44:23 +02:00
Christian Eichert
6bc82c3cff Translated using Weblate: German (de) by Christian Eichert <c@zp1.net>
Currently translated at 100.0% (466 of 466 strings)

Co-authored-by: Christian Eichert <c@zp1.net>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/de/
Translation: F-Droid/F-Droid
2021-04-22 10:44:23 +02:00
Wellington Terumi Uemura
a0e33276b6 Translated using Weblate: Portuguese (Brazil) (pt-rBR) by Wellington Terumi Uemura <wellingtonuemura@gmail.com>
Currently translated at 100.0% (466 of 466 strings)

Co-authored-by: Wellington Terumi Uemura <wellingtonuemura@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/pt_BR/
Translation: F-Droid/F-Droid
2021-04-22 10:44:23 +02:00
سهیل خانعلی‌پور
42754339db Translated using Weblate: Persian (fa) by سهیل خانعلی‌پور <soheil@disroot.org>
Currently translated at 100.0% (466 of 466 strings)

Co-authored-by: سهیل خانعلی‌پور <soheil@disroot.org>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/fa/
Translation: F-Droid/F-Droid
2021-04-22 10:44:23 +02:00
FintasticMan
a8a6dfc802 Translated using Weblate: Dutch (nl) by FintasticMan <finlay.davidson@coderclass.nl>
Currently translated at 100.0% (466 of 466 strings)

Co-authored-by: FintasticMan <finlay.davidson@coderclass.nl>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/nl/
Translation: F-Droid/F-Droid
2021-04-22 10:44:23 +02:00
Line
29c608b176 Translated using Weblate: Latvian (lv) by Line <LineAirline@protonmail.com>
Currently translated at 86.9% (405 of 466 strings)

Co-authored-by: Line <LineAirline@protonmail.com>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/lv/
Translation: F-Droid/F-Droid
2021-04-22 10:44:23 +02:00
janne ojanperä
2be3c0509b Translated using Weblate: Finnish (fi) by janne ojanperä <janne.ojanpera@iki.fi>
Currently translated at 97.8% (456 of 466 strings)

Co-authored-by: janne ojanperä <janne.ojanpera@iki.fi>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/fi/
Translation: F-Droid/F-Droid
2021-04-22 10:44:23 +02:00
peylight
86f0891321 Translated using Weblate: Persian (fa) by peylight <peylight@riseup.net>
Currently translated at 100.0% (466 of 466 strings)

Co-authored-by: peylight <peylight@riseup.net>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/fa/
Translation: F-Droid/F-Droid
2021-04-22 10:44:23 +02:00
Besnik Bleta
72757fd653 Translated using Weblate: Albanian (sq) by Besnik Bleta <besnik@programeshqip.org>
Currently translated at 100.0% (466 of 466 strings)

Co-authored-by: Besnik Bleta <besnik@programeshqip.org>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/sq/
Translation: F-Droid/F-Droid
2021-04-22 10:44:23 +02:00
Baptiste H
a534f37efb Translated using Weblate: French (fr) by Baptiste H <baptiste.huchon@bechamail.fr>
Currently translated at 94.4% (34 of 36 strings)

Co-authored-by: Baptiste H <baptiste.huchon@bechamail.fr>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/fr/
Translation: F-Droid/F-Droid metadata
2021-04-22 10:44:23 +02:00
Shashank Pujari
246936ede7 Translated using Weblate: Kannada (kn) by Shashank Pujari <shashankppujari@gmail.com>
Currently translated at 100.0% (466 of 466 strings)

Translated using Weblate: Hindi (hi) by Shashank Pujari <shashankppujari@gmail.com>

Currently translated at 100.0% (466 of 466 strings)

Co-authored-by: Shashank Pujari <shashankppujari@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/hi/
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/kn/
Translation: F-Droid/F-Droid
2021-04-22 10:44:23 +02:00
Michał
dd69feac52 Translated using Weblate: Polish (pl) by Michał <matmatyk@protonmail.com>
Currently translated at 100.0% (466 of 466 strings)

Co-authored-by: Michał <matmatyk@protonmail.com>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/pl/
Translation: F-Droid/F-Droid
2021-04-22 10:44:23 +02:00
Jeff Huang
36fc7a4eed Translated using Weblate: Chinese (Traditional) (zh-rTW) by Jeff Huang <s8321414@gmail.com>
Currently translated at 100.0% (466 of 466 strings)

Co-authored-by: Jeff Huang <s8321414@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/zh_Hant/
Translation: F-Droid/F-Droid
2021-04-22 10:44:23 +02:00
Priit Jõerüüt
fb5c273c8e Translated using Weblate: Estonian (et) by Priit Jõerüüt <hwlate@joeruut.com>
Currently translated at 100.0% (466 of 466 strings)

Co-authored-by: Priit Jõerüüt <hwlate@joeruut.com>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/et/
Translation: F-Droid/F-Droid
2021-04-22 10:44:23 +02:00
Ihor Hordiichuk
d8f9aa7bd7 Translated using Weblate: Ukrainian (uk) by Ihor Hordiichuk <igor_ck@outlook.com>
Currently translated at 100.0% (466 of 466 strings)

Co-authored-by: Ihor Hordiichuk <igor_ck@outlook.com>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/uk/
Translation: F-Droid/F-Droid
2021-04-22 10:44:23 +02:00
Ajeje Brazorf
5b2af1b0c8 Translated using Weblate: Sardinian (sc) by Ajeje Brazorf <lmelonimamo@yahoo.it>
Currently translated at 100.0% (466 of 466 strings)

Co-authored-by: Ajeje Brazorf <lmelonimamo@yahoo.it>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/sc/
Translation: F-Droid/F-Droid
2021-04-22 10:44:23 +02:00
rhyte
97ee9bf5fe Translated using Weblate: Romanian (ro) by rhyte <vmhl.ph@gmail.com>
Currently translated at 100.0% (466 of 466 strings)

Co-authored-by: rhyte <vmhl.ph@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/ro/
Translation: F-Droid/F-Droid
2021-04-22 10:44:23 +02:00
Yaron Shahrabani
4f789c560d Translated using Weblate: Hebrew (he) by Yaron Shahrabani <sh.yaron@gmail.com>
Currently translated at 100.0% (466 of 466 strings)

Co-authored-by: Yaron Shahrabani <sh.yaron@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/he/
Translation: F-Droid/F-Droid
2021-04-22 10:44:23 +02:00
Ldm Public
aca7faa3fa Translated using Weblate: French (fr) by Ldm Public <ldmpub@gmail.com>
Currently translated at 100.0% (466 of 466 strings)

Co-authored-by: Ldm Public <ldmpub@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/fr/
Translation: F-Droid/F-Droid
2021-04-22 10:44:23 +02:00
Verdulo
422bba662f Translated using Weblate: Esperanto (eo) by Verdulo <tomek@disroot.org>
Currently translated at 100.0% (466 of 466 strings)

Translated using Weblate: Esperanto (eo) by Verdulo <tomek@disroot.org>

Currently translated at 100.0% (466 of 466 strings)

Co-authored-by: Verdulo <tomek@disroot.org>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/eo/
Translation: F-Droid/F-Droid
2021-04-22 10:44:23 +02:00
Malte Jürgens
b2687ca1d6 Translated using Weblate: German (de) by Malte Jürgens <maltejur@web.de>
Currently translated at 99.5% (464 of 466 strings)

Co-authored-by: Malte Jürgens <maltejur@web.de>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/de/
Translation: F-Droid/F-Droid
2021-04-22 10:44:23 +02:00
random r
edff08c3c2 Translated using Weblate: Italian (it) by random r <epsilin@yopmail.com>
Currently translated at 100.0% (36 of 36 strings)

Co-authored-by: random r <epsilin@yopmail.com>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/it/
Translation: F-Droid/F-Droid metadata
2021-04-22 10:44:23 +02:00
Oymate
e7014bf7ac Translated using Weblate: Bengali (bn) by Oymate <dhruboadittya96@gmail.com>
Currently translated at 46.3% (216 of 466 strings)

Translated using Weblate: Bengali (bn) by Oymate <dhruboadittya96@gmail.com>

Currently translated at 46.7% (217 of 464 strings)

Co-authored-by: Oymate <dhruboadittya96@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/bn/
Translation: F-Droid/F-Droid
2021-04-22 10:44:23 +02:00
bruh
5c8c46f3ad Translated using Weblate: Vietnamese (vi) by bruh <quangtrung02hn16@gmail.com>
Currently translated at 100.0% (466 of 466 strings)

Translated using Weblate: Vietnamese (vi) by bruh <quangtrung02hn16@gmail.com>

Currently translated at 8.3% (3 of 36 strings)

Co-authored-by: bruh <quangtrung02hn16@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/vi/
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/vi/
Translation: F-Droid/F-Droid
Translation: F-Droid/F-Droid metadata
2021-04-22 10:44:23 +02:00
Allan Nordhøy
6b73ed74ed Translated using Weblate: Norwegian Bokmål (nb) by Allan Nordhøy <epost@anotheragency.no>
Currently translated at 100.0% (464 of 464 strings)

Co-authored-by: Allan Nordhøy <epost@anotheragency.no>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/nb_NO/
Translation: F-Droid/F-Droid
2021-04-22 10:43:32 +02:00
Eric
7912f12cf5 Translated using Weblate: Chinese (Simplified) (zh-rCN) by Eric <spice2wolf@gmail.com>
Currently translated at 100.0% (466 of 466 strings)

Translated using Weblate: Chinese (Simplified) (zh-CN) by Eric <spice2wolf@gmail.com>

Currently translated at 100.0% (36 of 36 strings)

Co-authored-by: Eric <spice2wolf@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/zh_Hans/
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/zh_Hans/
Translation: F-Droid/F-Droid
Translation: F-Droid/F-Droid metadata
2021-04-22 10:43:32 +02:00
Oğuz Ersen
001a337994 Translated using Weblate: Turkish (tr) by Oğuz Ersen <oguzersen@protonmail.com>
Currently translated at 100.0% (466 of 466 strings)

Translated using Weblate: Turkish (tr) by Oğuz Ersen <oguzersen@protonmail.com>

Currently translated at 100.0% (36 of 36 strings)

Co-authored-by: Oğuz Ersen <oguzersen@protonmail.com>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/tr/
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/tr/
Translation: F-Droid/F-Droid
Translation: F-Droid/F-Droid metadata
2021-04-22 10:43:32 +02:00
Andrey
f7895cea87 Translated using Weblate: Russian (ru) by Andrey <andrey@mailbox.org>
Currently translated at 100.0% (466 of 466 strings)

Translated using Weblate: Russian (ru) by Andrey <andrey@mailbox.org>

Currently translated at 100.0% (466 of 466 strings)

Translated using Weblate: Russian (ru) by Andrey <andrey@mailbox.org>

Currently translated at 100.0% (36 of 36 strings)

Co-authored-by: Andrey <andrey@mailbox.org>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/ru/
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/ru/
Translation: F-Droid/F-Droid
Translation: F-Droid/F-Droid metadata
2021-04-22 10:43:32 +02:00
Nikolai Ommundsen
f91728b081 Translated using Weblate: Norwegian Bokmål (nb) by Nikolai Ommundsen <post@niikoo.net>
Currently translated at 100.0% (464 of 464 strings)

Co-authored-by: Nikolai Ommundsen <post@niikoo.net>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/nb_NO/
Translation: F-Droid/F-Droid
2021-04-22 10:43:32 +02:00
Chirayu Desai
c9fbb97018 Merge branch 'only-update-local-repos-without-internet' into 'master'
when no internet and local repos, only update local repos

Closes #2146

See merge request fdroid/fdroidclient!997
2021-04-21 20:32:08 +00:00
Hans-Christoph Steiner
18a43ac471 ignore system partition repos when checking for local repos
The system partition repos like shipped with CalyxOS are not really visible
to the user, they are built-in.  So they should not prevent the warning
banner showing when the user has switched Over Data and Over WiFi to never.
2021-04-13 22:46:11 +02:00
Hans-Christoph Steiner
908921e978 show banner when Over Data/WiFi Settings disable updating from internet 2021-04-13 16:26:23 +02:00
Hans-Christoph Steiner
8773d6205c rename BannerUpdatingRepos --> StatusBanner 2021-04-13 16:26:23 +02:00
Hans-Christoph Steiner
a505850110 "No internet" banner on main, categories, and updates screen
An alternate implementation of @pserwylo's fdroidclient!724

closes #884
2021-04-13 16:26:08 +02:00
Hans-Christoph Steiner
d9a86d4c16 rename: update_notification_title --> banner_updating_repositories 2021-04-13 13:59:08 +02:00
Hans-Christoph Steiner
5acc87c405 LocalHTTPDManagerTest is flaky, use 10 minute timeout 2021-04-13 13:17:56 +02:00
Hans-Christoph Steiner
f39fc1386a synchronized getNewMirrorOnError() for safe writing of numTries
`volatile` allows for safe multi-threaded reading, `synchronized` allows
for safe multi-threaded writing.
2021-04-13 13:17:56 +02:00
Hans-Christoph Steiner
1758c2c9f1 when no internet and local repos, only update local repos
closes #2146
2021-04-13 13:17:56 +02:00
Hans-Christoph Steiner
35cc9bce42
reformat all layout/ui XML with Android Studio Ctrl-Alt-L 2021-04-13 10:32:25 +02:00
Hans-Christoph Steiner
cf94cfb543
run Android Studio's Ctrl-Alt-O Organize Imports on all .java files 2021-04-13 10:23:59 +02:00
Hans-Christoph Steiner
9d5af90c61 Merge branch 'material-components' into 'master'
feat: rebase app themes to material themes

Closes #2145

See merge request fdroid/fdroidclient!963
2021-04-12 16:36:18 +00:00
proletarius101
755588202f feat: rebase app themes to material themes 2021-04-12 16:36:17 +00:00
Hans-Christoph Steiner
5af693265f Merge branch 'master' into 'master'
fix trove4j verification error

See merge request fdroid/fdroidclient!998
2021-04-12 15:42:22 +00:00
Hans-Christoph Steiner
1cd02f02e0
fix trove4j verification error
trove4j-20160824.pom uploaded to mavenCentral has more info in it, so a
different sha256.
2021-04-12 15:57:40 +02:00
Hans-Christoph Steiner
4bf168eedd
Merge branch 'migrate-to-appcompat'
* deleteme:
  update gradle verification metadata
  Replace deprecated methods introduced
  Remove duplicated xml properties
  Fix missing text messages in preference_seekbar
  fix: linting
  Extensively use appcompat

fdroid/fdroidclient!975
2021-04-07 22:02:11 +02:00
Hans-Christoph Steiner
04ab3aefa4
update gradle verification metadata
./gradlew --write-verification-metadata pgp,sha256 assemble
./gradlew --write-verification-metadata sha256 assemble
2021-04-07 22:00:20 +02:00
proletarius101
f8f48e1be4 Replace deprecated methods introduced 2021-04-07 14:02:48 +00:00
proletarius101
b5ab4eb978 Remove duplicated xml properties 2021-04-07 14:02:48 +00:00
proletarius101
1a1a06b499 Fix missing text messages in preference_seekbar 2021-04-07 14:02:48 +00:00
proletarius101
96cf03b277 fix: linting 2021-04-07 14:02:48 +00:00
proletarius101
528eecb63c Extensively use appcompat 2021-04-07 14:02:48 +00:00
Hans-Christoph Steiner
6f91a60cb2 ./tools/remove-unused-and-blank-translations.py 2021-04-06 22:59:35 +02:00
Hans-Christoph Steiner
98b3b74610
version code 1012050 2021-04-06 22:54:13 +02:00
Hans-Christoph Steiner
4817ec1411 update changelogs 2021-04-06 22:53:37 +02:00
Hans-Christoph Steiner
6443b9fecf Merge branch 'weblate' into 'master'
weblate

See merge request fdroid/fdroidclient!996
2021-04-06 20:53:01 +00:00
Hans-Christoph Steiner
9419f9d943 fix format strings 2021-04-06 21:15:36 +02:00
melusine
4bdc45b105
Translated using Weblate: German (de) by melusine <melusine@mailbox.org>
Currently translated at 100.0% (35 of 35 strings)

Co-authored-by: melusine <melusine@mailbox.org>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/de/
Translation: F-Droid/F-Droid metadata
2021-04-06 13:27:04 +02:00
Timur Seber
54712a10b4
Added translation using Weblate: Tatar (tt) by Timur Seber <seber.tatsoft@gmail.com>
Co-authored-by: Timur Seber <seber.tatsoft@gmail.com>
2021-04-06 13:27:03 +02:00
Germe the fur star
46da689cda
Translated using Weblate: Spanish (Argentina) (es_AR) by Germe the fur star <FOSSgerme.deb@tuta.io>
Currently translated at 8.5% (3 of 35 strings)

Translated using Weblate: Spanish (Argentina) (es-rAR) by Germe the fur star <FOSSgerme.deb@tuta.io>

Currently translated at 100.0% (464 of 464 strings)

Co-authored-by: Germe the fur star <FOSSgerme.deb@tuta.io>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/es_AR/
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/es_AR/
Translation: F-Droid/F-Droid
Translation: F-Droid/F-Droid metadata
2021-04-06 13:27:03 +02:00
Liu Tao
b5fc3e07e0
Translated using Weblate: Chinese (Simplified) (zh-rCN) by Liu Tao <lyuutau@outlook.com>
Currently translated at 100.0% (464 of 464 strings)

Co-authored-by: Liu Tao <lyuutau@outlook.com>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/zh_Hans/
Translation: F-Droid/F-Droid
2021-04-06 13:27:03 +02:00
MovingEarth
477024c79e
Translated using Weblate: Dutch (nl) by MovingEarth <moving.earth@gorgoz.org>
Currently translated at 100.0% (464 of 464 strings)

Co-authored-by: MovingEarth <moving.earth@gorgoz.org>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/nl/
Translation: F-Droid/F-Droid
2021-04-06 13:27:02 +02:00
Hierax Swiftwing
8fd6d0a4fb
Translated using Weblate: Serbian (sr) by Hierax Swiftwing <hierax.oligopsony@slmail.me>
Currently translated at 98.2% (456 of 464 strings)

Co-authored-by: Hierax Swiftwing <hierax.oligopsony@slmail.me>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/sr/
Translation: F-Droid/F-Droid
2021-04-06 13:27:02 +02:00
Jeff
ababe82a37
Translated using Weblate: Luxembourgish (lb) by Jeff <jeff.croise@gmail.com>
Currently translated at 13.1% (61 of 464 strings)

Added translation using Weblate: Luxembourgish (lb) by Jeff <jeff.croise@gmail.com>

Co-authored-by: Jeff <jeff.croise@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/lb/
Translation: F-Droid/F-Droid
2021-04-06 13:27:02 +02:00
HelaBasa
548fe432a7
Translated using Weblate: Sinhala (si) by HelaBasa <R45XvezA@protonmail.ch>
Currently translated at 5.7% (2 of 35 strings)

Translated using Weblate: Sinhala (si) by HelaBasa <R45XvezA@protonmail.ch>

Currently translated at 3.4% (16 of 464 strings)

Co-authored-by: HelaBasa <R45XvezA@protonmail.ch>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/si/
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/si/
Translation: F-Droid/F-Droid
Translation: F-Droid/F-Droid metadata
2021-04-06 13:27:02 +02:00
Nine Lima
3e372bc9f9
Translated using Weblate: Afrikaans (af) by Nine Lima <ninelima@yahoo.com>
Currently translated at 99.7% (463 of 464 strings)

Co-authored-by: Nine Lima <ninelima@yahoo.com>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/af/
Translation: F-Droid/F-Droid
2021-04-06 13:27:01 +02:00
Najm Us Saqib
21303adb27
Translated using Weblate: Urdu (ur) by Najm Us Saqib <funkywriters@gmail.com>
Currently translated at 17.4% (81 of 464 strings)

Co-authored-by: Najm Us Saqib <funkywriters@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/ur/
Translation: F-Droid/F-Droid
2021-04-06 13:27:01 +02:00
hayalci hayalci
e7eba5f332
Translated using Weblate: Turkish (tr) by hayalci hayalci <gokdenizk@gmail.com>
Currently translated at 100.0% (464 of 464 strings)

Co-authored-by: hayalci hayalci <gokdenizk@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/tr/
Translation: F-Droid/F-Droid
2021-04-06 13:27:01 +02:00
mahmut özcan
0f91aff535
Translated using Weblate: Turkish (tr) by mahmut özcan <mahmutozcan65@yahoo.com>
Currently translated at 100.0% (464 of 464 strings)

Co-authored-by: mahmut özcan <mahmutozcan65@yahoo.com>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/tr/
Translation: F-Droid/F-Droid
2021-04-06 13:27:00 +02:00
Orhan
f850c9b73d
Translated using Weblate: Turkish (tr) by Orhan <orya@pm.me>
Currently translated at 100.0% (464 of 464 strings)

Translated using Weblate: Turkish (tr) by Orhan <orya@pm.me>

Currently translated at 100.0% (464 of 464 strings)

Co-authored-by: Orhan <orya@pm.me>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/tr/
Translation: F-Droid/F-Droid
2021-04-06 13:27:00 +02:00
J. Lavoie
8666eabde8
Translated using Weblate: Italian (it) by J. Lavoie <j.lavoie@net-c.ca>
Currently translated at 100.0% (464 of 464 strings)

Translated using Weblate: French (fr) by J. Lavoie <j.lavoie@net-c.ca>

Currently translated at 100.0% (464 of 464 strings)

Translated using Weblate: German (de) by J. Lavoie <j.lavoie@net-c.ca>

Currently translated at 100.0% (464 of 464 strings)

Translated using Weblate: French (fr) by J. Lavoie <j.lavoie@net-c.ca>

Currently translated at 100.0% (464 of 464 strings)

Translated using Weblate: French (fr) by J. Lavoie <j.lavoie@net-c.ca>

Currently translated at 99.7% (463 of 464 strings)

Translated using Weblate: French (fr) by J. Lavoie <j.lavoie@net-c.ca>

Currently translated at 99.5% (462 of 464 strings)

Co-authored-by: J. Lavoie <j.lavoie@net-c.ca>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/de/
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/fr/
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/it/
Translation: F-Droid/F-Droid
2021-04-06 13:27:00 +02:00
Allan Nordhøy
f051b710df
Translated using Weblate: Norwegian Bokmål (nb) by Allan Nordhøy <epost@anotheragency.no>
Currently translated at 99.7% (463 of 464 strings)

Co-authored-by: Allan Nordhøy <epost@anotheragency.no>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/nb_NO/
Translation: F-Droid/F-Droid
2021-04-06 13:26:59 +02:00
Michalis
dc39730c0b
Translated using Weblate: Greek (el) by Michalis <michalisntovas@yahoo.gr>
Currently translated at 40.0% (14 of 35 strings)

Co-authored-by: Michalis <michalisntovas@yahoo.gr>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/el/
Translation: F-Droid/F-Droid metadata
2021-04-06 13:26:59 +02:00
Веско
6ecf410f6f
Translated using Weblate: Bulgarian (bg) by Веско <v.jeliazkov@jeliazkov.net>
Currently translated at 100.0% (464 of 464 strings)

Co-authored-by: Веско <v.jeliazkov@jeliazkov.net>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/bg/
Translation: F-Droid/F-Droid
2021-04-06 13:26:59 +02:00
Besnik Bleta
3555f18de1
Translated using Weblate: Albanian (sq) by Besnik Bleta <besnik@programeshqip.org>
Currently translated at 100.0% (35 of 35 strings)

Translated using Weblate: Albanian (sq) by Besnik Bleta <besnik@programeshqip.org>

Currently translated at 94.2% (33 of 35 strings)

Translated using Weblate: Albanian (sq) by Besnik Bleta <besnik@programeshqip.org>

Currently translated at 100.0% (464 of 464 strings)

Co-authored-by: Besnik Bleta <besnik@programeshqip.org>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/sq/
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/sq/
Translation: F-Droid/F-Droid
Translation: F-Droid/F-Droid metadata
2021-04-06 13:26:59 +02:00
Pharadai
149ae6aa95
Translated using Weblate: Thai (th) by Pharadai <film041127@gmail.com>
Currently translated at 37.0% (172 of 464 strings)

Translated using Weblate: Thai (th) by Pharadai <film041127@gmail.com>

Currently translated at 36.4% (169 of 464 strings)

Co-authored-by: Pharadai <film041127@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/th/
Translation: F-Droid/F-Droid
2021-04-06 13:26:58 +02:00
Andrey
f423a04f08
Translated using Weblate: Russian (ru) by Andrey <andrey@mailbox.org>
Currently translated at 100.0% (464 of 464 strings)

Co-authored-by: Andrey <andrey@mailbox.org>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/ru/
Translation: F-Droid/F-Droid
2021-04-06 13:26:58 +02:00
Rex_sa
86613d08d5
Translated using Weblate: Arabic (ar) by Rex_sa <rex.sa@pm.me>
Currently translated at 100.0% (464 of 464 strings)

Co-authored-by: Rex_sa <rex.sa@pm.me>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/ar/
Translation: F-Droid/F-Droid
2021-04-06 13:26:58 +02:00
Luka Povroznik
afb6928bb1
Translated using Weblate: Italian (it) by Luka Povroznik <povroznik.luka@gmail.com>
Currently translated at 100.0% (35 of 35 strings)

Co-authored-by: Luka Povroznik <povroznik.luka@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/it/
Translation: F-Droid/F-Droid metadata
2021-04-06 13:26:57 +02:00
Ajeje Brazorf
826852b729
Translated using Weblate: Sardinian (sc) by Ajeje Brazorf <lmelonimamo@yahoo.it>
Currently translated at 100.0% (464 of 464 strings)

Co-authored-by: Ajeje Brazorf <lmelonimamo@yahoo.it>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/sc/
Translation: F-Droid/F-Droid
2021-04-06 13:26:57 +02:00
lilim
e7f4e8b8d3
Translated using Weblate: French (fr) by lilim <lionel@les-miquelots.net>
Currently translated at 100.0% (464 of 464 strings)

Translated using Weblate: French (fr) by lilim <lionel@les-miquelots.net>

Currently translated at 99.7% (463 of 464 strings)

Translated using Weblate: French (fr) by lilim <lionel@les-miquelots.net>

Currently translated at 99.5% (462 of 464 strings)

Translated using Weblate: French (fr) by lilim <lionel@les-miquelots.net>

Currently translated at 99.1% (460 of 464 strings)

Translated using Weblate: French (fr) by lilim <lionel@les-miquelots.net>

Currently translated at 98.9% (459 of 464 strings)

Co-authored-by: lilim <lionel@les-miquelots.net>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/fr/
Translation: F-Droid/F-Droid
2021-04-06 13:26:57 +02:00
Translator
d6e4645d08
Translated using Weblate: Finnish (fi) by Translator <romepoksi@gmail.com>
Currently translated at 98.0% (455 of 464 strings)

Co-authored-by: Translator <romepoksi@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/fi/
Translation: F-Droid/F-Droid
2021-04-06 13:26:56 +02:00
Danial Behzadi
28a88172f3
Translated using Weblate: Persian (fa) by Danial Behzadi <dani.behzi@ubuntu.com>
Currently translated at 100.0% (464 of 464 strings)

Co-authored-by: Danial Behzadi <dani.behzi@ubuntu.com>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/fa/
Translation: F-Droid/F-Droid
2021-04-06 13:26:56 +02:00
David Leal
b3dcaf2721
Translated using Weblate: Spanish (es) by David Leal <halfpacho@gmail.com>
Currently translated at 100.0% (464 of 464 strings)

Co-authored-by: David Leal <halfpacho@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/es/
Translation: F-Droid/F-Droid
2021-04-06 13:26:56 +02:00
Oymate
98442b6938
Translated using Weblate: Bengali (bn) by Oymate <dhruboadittya96@gmail.com>
Currently translated at 41.3% (192 of 464 strings)

Co-authored-by: Oymate <dhruboadittya96@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/bn/
Translation: F-Droid/F-Droid
2021-04-06 13:26:55 +02:00
امير محمد العمري
3ee4823354
Translated using Weblate: Afrikaans (af) by امير محمد العمري <amyr82669@gmail.com>
Currently translated at 98.2% (456 of 464 strings)

Co-authored-by: امير محمد العمري <amyr82669@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/af/
Translation: F-Droid/F-Droid
2021-04-06 13:26:55 +02:00
ฮาซิม หะยีแวฮามะ
a4027e0f73
Translated using Weblate: Thai (th) by ฮาซิม หะยีแวฮามะ <hayiwaehasim@gmail.com>
Currently translated at 31.2% (145 of 464 strings)

Co-authored-by: ฮาซิม หะยีแวฮามะ <hayiwaehasim@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/th/
Translation: F-Droid/F-Droid
2021-04-06 13:26:55 +02:00
Jaime Marquínez Ferrándiz
437db5fab3
Translated using Weblate: Spanish (es) by Jaime Marquínez Ferrándiz <weblate@jregistros.fastmail.net>
Currently translated at 98.2% (456 of 464 strings)

Co-authored-by: Jaime Marquínez Ferrándiz <weblate@jregistros.fastmail.net>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/es/
Translation: F-Droid/F-Droid
2021-04-06 13:26:54 +02:00
Christian Eichert
dbdc8e38d5
Translated using Weblate: Romanian (ro) by Christian Eichert <c@zp1.net>
Currently translated at 40.0% (14 of 35 strings)

Translated using Weblate: Romanian (ro) by Christian Eichert <c@zp1.net>

Currently translated at 31.4% (11 of 35 strings)

Translated using Weblate: Romanian (ro) by Christian Eichert <c@zp1.net>

Currently translated at 100.0% (464 of 464 strings)

Translated using Weblate: German (de) by Christian Eichert <c@zp1.net>

Currently translated at 100.0% (464 of 464 strings)

Co-authored-by: Christian Eichert <c@zp1.net>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/ro/
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/de/
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/ro/
Translation: F-Droid/F-Droid
Translation: F-Droid/F-Droid metadata
2021-04-06 13:26:54 +02:00
ssantos
6ab33ce442
Translated using Weblate: Portuguese (pt) by ssantos <ssantos@web.de>
Currently translated at 100.0% (35 of 35 strings)

Translated using Weblate: Portuguese (Portugal) (pt-PT) by ssantos <ssantos@web.de>

Currently translated at 100.0% (35 of 35 strings)

Co-authored-by: ssantos <ssantos@web.de>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/pt/
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/pt_PT/
Translation: F-Droid/F-Droid metadata
2021-04-06 13:26:53 +02:00
Aung Myint Myat Oo
06620d6c52
Translated using Weblate: Burmese (my) by Aung Myint Myat Oo <solidifyarmor@gmail.com>
Currently translated at 45.2% (210 of 464 strings)

Co-authored-by: Aung Myint Myat Oo <solidifyarmor@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/my/
Translation: F-Droid/F-Droid
2021-04-06 13:26:53 +02:00
WaldiS
dfa6edf9ed
Translated using Weblate: Polish (pl) by WaldiS <sto@tutanota.de>
Currently translated at 100.0% (464 of 464 strings)

Co-authored-by: WaldiS <sto@tutanota.de>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/pl/
Translation: F-Droid/F-Droid
2021-04-06 13:26:52 +02:00
nautilusx
9f54ff09f8
Translated using Weblate: German (de) by nautilusx <translate@disroot.org>
Currently translated at 100.0% (464 of 464 strings)

Co-authored-by: nautilusx <translate@disroot.org>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/de/
Translation: F-Droid/F-Droid
2021-04-06 13:26:52 +02:00
Aryan L
c843950e5f
Translated using Weblate: Hindi (hi) by Aryan L <aryan.landge@icloud.com>
Currently translated at 100.0% (464 of 464 strings)

Co-authored-by: Aryan L <aryan.landge@icloud.com>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/hi/
Translation: F-Droid/F-Droid
2021-04-06 13:26:52 +02:00
bruh
6fa6e5710b
Translated using Weblate: Vietnamese (vi) by bruh <quangtrung02hn16@gmail.com>
Currently translated at 100.0% (464 of 464 strings)

Translated using Weblate: Vietnamese (vi) by bruh <quangtrung02hn16@gmail.com>

Currently translated at 100.0% (464 of 464 strings)

Translated using Weblate: Vietnamese (vi) by bruh <quangtrung02hn16@gmail.com>

Currently translated at 100.0% (464 of 464 strings)

Co-authored-by: bruh <quangtrung02hn16@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/vi/
Translation: F-Droid/F-Droid
2021-04-06 13:26:52 +02:00
Verdulo
58130712e6
Translated using Weblate: Esperanto (eo) by Verdulo <tomek@disroot.org>
Currently translated at 100.0% (35 of 35 strings)

Translated using Weblate: Esperanto (eo) by Verdulo <tomek@disroot.org>

Currently translated at 100.0% (464 of 464 strings)

Co-authored-by: Verdulo <tomek@disroot.org>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/eo/
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/eo/
Translation: F-Droid/F-Droid
Translation: F-Droid/F-Droid metadata
2021-04-06 13:26:51 +02:00
Karl Ove Hufthammer
3d84a1f488
Translated using Weblate: Norwegian Nynorsk (nn) by Karl Ove Hufthammer <karl@huftis.org>
Currently translated at 100.0% (464 of 464 strings)

Co-authored-by: Karl Ove Hufthammer <karl@huftis.org>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/nn/
Translation: F-Droid/F-Droid
2021-04-06 13:26:51 +02:00
Yaron Shahrabani
1d0e533643
Translated using Weblate: Hebrew (he) by Yaron Shahrabani <sh.yaron@gmail.com>
Currently translated at 100.0% (35 of 35 strings)

Co-authored-by: Yaron Shahrabani <sh.yaron@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/he/
Translation: F-Droid/F-Droid metadata
2021-04-06 13:26:51 +02:00
Eric
1b218c8515
Translated using Weblate: Chinese (Simplified) (zh-CN) by Eric <spice2wolf@gmail.com>
Currently translated at 100.0% (35 of 35 strings)

Co-authored-by: Eric <spice2wolf@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/zh_Hans/
Translation: F-Droid/F-Droid metadata
2021-04-06 13:26:50 +02:00
Ihor Hordiichuk
7391dbbf64
Translated using Weblate: Ukrainian (uk) by Ihor Hordiichuk <igor_ck@outlook.com>
Currently translated at 100.0% (35 of 35 strings)

Co-authored-by: Ihor Hordiichuk <igor_ck@outlook.com>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/uk/
Translation: F-Droid/F-Droid metadata
2021-04-06 13:26:50 +02:00
Oğuz Ersen
17d9aeabeb
Translated using Weblate: Turkish (tr) by Oğuz Ersen <oguzersen@protonmail.com>
Currently translated at 100.0% (35 of 35 strings)

Co-authored-by: Oğuz Ersen <oguzersen@protonmail.com>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/tr/
Translation: F-Droid/F-Droid metadata
2021-04-06 13:26:50 +02:00
Jonatan Nyberg
aca17d551c
Translated using Weblate: Swedish (sv) by Jonatan Nyberg <jonatan.nyberg.karl@gmail.com>
Currently translated at 100.0% (464 of 464 strings)

Co-authored-by: Jonatan Nyberg <jonatan.nyberg.karl@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/sv/
Translation: F-Droid/F-Droid
2021-04-06 13:26:49 +02:00
Hans-Christoph Steiner
e69a7f7556 version code 1012003 2021-03-10 23:08:17 +01:00
Hans-Christoph Steiner
d49653cb33 update CHANGELOG 2021-03-10 23:08:17 +01:00
Hans-Christoph Steiner
5aafe23c7a Merge branch 'weblate' into 'master'
Weblate

See merge request fdroid/fdroidclient!994
2021-03-10 22:07:48 +00:00
ssantos
5b14043201
Translated using Weblate: Portuguese (pt) by ssantos <ssantos@web.de>
Currently translated at 100.0% (35 of 35 strings)

Translated using Weblate: Portuguese (Portugal) (pt-PT) by ssantos <ssantos@web.de>

Currently translated at 100.0% (35 of 35 strings)

Co-authored-by: ssantos <ssantos@web.de>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/pt/
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/pt_PT/
Translation: F-Droid/F-Droid metadata
2021-03-10 22:32:18 +01:00
Jeff Huang
9c0141345f
Translated using Weblate: Chinese (Traditional) (zh-rTW) by Jeff Huang <s8321414@gmail.com>
Currently translated at 100.0% (464 of 464 strings)

Co-authored-by: Jeff Huang <s8321414@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/zh_Hant/
Translation: F-Droid/F-Droid
2021-03-10 22:32:18 +01:00
whenwesober
ba794c1116
Translated using Weblate: Indonesian (id) by whenwesober <naomi16i_1298q@cikuh.com>
Currently translated at 100.0% (464 of 464 strings)

Co-authored-by: whenwesober <naomi16i_1298q@cikuh.com>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/id/
Translation: F-Droid/F-Droid
2021-03-10 22:32:17 +01:00
Golubev Alexander
904a7ef3ac
Translated using Weblate: Russian (ru) by Golubev Alexander <fatzer2@gmail.com>
Currently translated at 100.0% (464 of 464 strings)

Co-authored-by: Golubev Alexander <fatzer2@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/ru/
Translation: F-Droid/F-Droid
2021-03-10 22:32:17 +01:00
Andrey
909cedba75
Translated using Weblate: Russian (ru) by Andrey <andrey@mailbox.org>
Currently translated at 100.0% (464 of 464 strings)

Co-authored-by: Andrey <andrey@mailbox.org>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/ru/
Translation: F-Droid/F-Droid
2021-03-10 22:32:17 +01:00
Licaon Kter
70c7d6dace
Translated using Weblate: Romanian (ro) by Licaon Kter <licaon.kter@protonmail.com>
Currently translated at 100.0% (464 of 464 strings)

Co-authored-by: Licaon Kter <licaon.kter@protonmail.com>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/ro/
Translation: F-Droid/F-Droid
2021-03-10 22:32:16 +01:00
Eduardo
2fa0ac280c
Translated using Weblate: Portuguese (Brazil) (pt-BR) by Eduardo <edu.rodrigues2580@gmail.com>
Currently translated at 100.0% (35 of 35 strings)

Translated using Weblate: Portuguese (Brazil) (pt-rBR) by Eduardo <edu.rodrigues2580@gmail.com>

Currently translated at 100.0% (464 of 464 strings)

Co-authored-by: Eduardo <edu.rodrigues2580@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/pt_BR/
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/pt_BR/
Translation: F-Droid/F-Droid
Translation: F-Droid/F-Droid metadata
2021-03-10 22:32:16 +01:00
Alessandro Mandelli
7c3cf560bc
Translated using Weblate: Italian (it) by Alessandro Mandelli <mandelli.alessandro@ngi.it>
Currently translated at 100.0% (464 of 464 strings)

Co-authored-by: Alessandro Mandelli <mandelli.alessandro@ngi.it>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/it/
Translation: F-Droid/F-Droid
2021-03-10 22:32:16 +01:00
Balázs Meskó
4bd129f1d3
Translated using Weblate: Hungarian (hu) by Balázs Meskó <meskobalazs@mailbox.org>
Currently translated at 100.0% (464 of 464 strings)

Co-authored-by: Balázs Meskó <meskobalazs@mailbox.org>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/hu/
Translation: F-Droid/F-Droid
2021-03-10 22:32:15 +01:00
Verdulo
6a8a9fd323
Translated using Weblate: Esperanto (eo) by Verdulo <tomek@disroot.org>
Currently translated at 100.0% (464 of 464 strings)

Co-authored-by: Verdulo <tomek@disroot.org>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/eo/
Translation: F-Droid/F-Droid
2021-03-10 22:32:14 +01:00
Strubbl
d2728ea23e
Translated using Weblate: German (de) by Strubbl <github@linux4tw.de>
Currently translated at 99.5% (462 of 464 strings)

Co-authored-by: Strubbl <github@linux4tw.de>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/de/
Translation: F-Droid/F-Droid
2021-03-10 22:32:14 +01:00
Priit Jõerüüt
e256cf9892
Translated using Weblate: Estonian (et) by Priit Jõerüüt <hwlate@joeruut.com>
Currently translated at 100.0% (464 of 464 strings)

Co-authored-by: Priit Jõerüüt <hwlate@joeruut.com>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/et/
Translation: F-Droid/F-Droid
2021-03-10 22:32:13 +01:00
Kristjan Räts
70ca7b184e
Translated using Weblate: Estonian (et) by Kristjan Räts <kristjanrats@gmail.com>
Currently translated at 100.0% (464 of 464 strings)

Co-authored-by: Kristjan Räts <kristjanrats@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/et/
Translation: F-Droid/F-Droid
2021-03-10 22:32:13 +01:00
Artem
29f5d0c8b3
Translated using Weblate: Russian (ru) by Artem <KovalevArtem.ru@gmail.com>
Currently translated at 98.4% (457 of 464 strings)

Co-authored-by: Artem <KovalevArtem.ru@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/ru/
Translation: F-Droid/F-Droid
2021-03-10 22:32:12 +01:00
Agnes de Lion
96637c71e6
Translated using Weblate: French (fr) by Agnes de Lion <belocurry@pm.me>
Currently translated at 98.7% (458 of 464 strings)

Co-authored-by: Agnes de Lion <belocurry@pm.me>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/fr/
Translation: F-Droid/F-Droid
2021-03-10 22:32:12 +01:00
Ldm Public
1f570e38d9
Translated using Weblate: French (fr) by Ldm Public <ldmpub@gmail.com>
Currently translated at 98.7% (458 of 464 strings)

Co-authored-by: Ldm Public <ldmpub@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/fr/
Translation: F-Droid/F-Droid
2021-03-10 22:32:12 +01:00
phlostically
49e69c9ec1
Translated using Weblate: Esperanto (eo) by phlostically <phlostically@mailinator.com>
Currently translated at 100.0% (464 of 464 strings)

Co-authored-by: phlostically <phlostically@mailinator.com>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/eo/
Translation: F-Droid/F-Droid
2021-03-10 22:32:11 +01:00
Karl Ove Hufthammer
d7ace10735
Translated using Weblate: Norwegian Nynorsk (nn) by Karl Ove Hufthammer <karl@huftis.org>
Currently translated at 100.0% (35 of 35 strings)

Co-authored-by: Karl Ove Hufthammer <karl@huftis.org>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/nn/
Translation: F-Droid/F-Droid metadata
2021-03-10 22:32:11 +01:00
Michalis
41094bdaf3
Translated using Weblate: Greek (el) by Michalis <michalisntovas@yahoo.gr>
Currently translated at 100.0% (464 of 464 strings)

Translated using Weblate: Greek (el) by Michalis <michalisntovas@yahoo.gr>

Currently translated at 100.0% (455 of 455 strings)

Co-authored-by: Michalis <michalisntovas@yahoo.gr>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/el/
Translation: F-Droid/F-Droid
2021-03-10 22:32:10 +01:00
Verdulo
bcbc1940bf
Translated using Weblate: Esperanto (eo) by Verdulo <tomek@disroot.org>
Currently translated at 100.0% (35 of 35 strings)

Co-authored-by: Verdulo <tomek@disroot.org>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/eo/
Translation: F-Droid/F-Droid metadata
2021-03-10 22:32:10 +01:00
bruh
17cceab5a1
Translated using Weblate: Vietnamese (vi) by bruh <quangtrung02hn16@gmail.com>
Currently translated at 98.2% (456 of 464 strings)

Translated using Weblate: Vietnamese (vi) by bruh <quangtrung02hn16@gmail.com>

Currently translated at 100.0% (455 of 455 strings)

Translated using Weblate: Vietnamese (vi) by bruh <quangtrung02hn16@gmail.com>

Currently translated at 100.0% (455 of 455 strings)

Co-authored-by: bruh <quangtrung02hn16@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/vi/
Translation: F-Droid/F-Droid
2021-03-10 22:32:09 +01:00
Tun Naung Win
51eaaf6c94
Translated using Weblate: Burmese (my) by Tun Naung Win <hellisenough@gmail.com>
Currently translated at 5.7% (2 of 35 strings)

Co-authored-by: Tun Naung Win <hellisenough@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/my/
Translation: F-Droid/F-Droid metadata
2021-03-10 22:32:09 +01:00
Yaron Shahrabani
82b9f21fc0
Translated using Weblate: Hebrew (he) by Yaron Shahrabani <sh.yaron@gmail.com>
Currently translated at 100.0% (464 of 464 strings)

Translated using Weblate: Hebrew (he) by Yaron Shahrabani <sh.yaron@gmail.com>

Currently translated at 100.0% (35 of 35 strings)

Co-authored-by: Yaron Shahrabani <sh.yaron@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/he/
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/he/
Translation: F-Droid/F-Droid
Translation: F-Droid/F-Droid metadata
2021-03-10 22:32:09 +01:00
Eric
191b3e5eab
Translated using Weblate: Chinese (Simplified) (zh-rCN) by Eric <spice2wolf@gmail.com>
Currently translated at 100.0% (464 of 464 strings)

Translated using Weblate: Chinese (Simplified) (zh-CN) by Eric <spice2wolf@gmail.com>

Currently translated at 100.0% (35 of 35 strings)

Co-authored-by: Eric <spice2wolf@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/zh_Hans/
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/zh_Hans/
Translation: F-Droid/F-Droid
Translation: F-Droid/F-Droid metadata
2021-03-10 22:32:08 +01:00
Ihor Hordiichuk
a7a6679573
Translated using Weblate: Ukrainian (uk) by Ihor Hordiichuk <igor_ck@outlook.com>
Currently translated at 100.0% (464 of 464 strings)

Translated using Weblate: Ukrainian (uk) by Ihor Hordiichuk <igor_ck@outlook.com>

Currently translated at 100.0% (35 of 35 strings)

Co-authored-by: Ihor Hordiichuk <igor_ck@outlook.com>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/uk/
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/uk/
Translation: F-Droid/F-Droid
Translation: F-Droid/F-Droid metadata
2021-03-10 22:32:08 +01:00
Oğuz Ersen
09614a75ea
Translated using Weblate: Turkish (tr) by Oğuz Ersen <oguzersen@protonmail.com>
Currently translated at 100.0% (464 of 464 strings)

Translated using Weblate: Turkish (tr) by Oğuz Ersen <oguzersen@protonmail.com>

Currently translated at 100.0% (35 of 35 strings)

Co-authored-by: Oğuz Ersen <oguzersen@protonmail.com>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/tr/
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/tr/
Translation: F-Droid/F-Droid
Translation: F-Droid/F-Droid metadata
2021-03-10 22:32:07 +01:00
Golubev Alexander
9c2d061283
Translated using Weblate: Russian (ru) by Golubev Alexander <fatzer2@gmail.com>
Currently translated at 100.0% (35 of 35 strings)

Co-authored-by: Golubev Alexander <fatzer2@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/ru/
Translation: F-Droid/F-Droid metadata
2021-03-10 22:32:07 +01:00
109247019824
b97f1f7955
Translated using Weblate: Bulgarian (bg) by 109247019824 <stoyan@gmx.com>
Currently translated at 100.0% (464 of 464 strings)

Translated using Weblate: Bulgarian (bg) by 109247019824 <stoyan@gmx.com>

Currently translated at 100.0% (455 of 455 strings)

Co-authored-by: 109247019824 <stoyan@gmx.com>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/bg/
Translation: F-Droid/F-Droid
2021-03-10 22:32:07 +01:00
Sérgio Marques
6d14eb4562
Translated using Weblate: Portuguese (pt) by Sérgio Marques <smarquespt@gmail.com>
Currently translated at 100.0% (464 of 464 strings)

Translated using Weblate: Portuguese (Portugal) (pt-rPT) by Sérgio Marques <smarquespt@gmail.com>

Currently translated at 100.0% (464 of 464 strings)

Translated using Weblate: Portuguese (Portugal) (pt-rPT) by Sérgio Marques <smarquespt@gmail.com>

Currently translated at 100.0% (455 of 455 strings)

Translated using Weblate: Portuguese (pt) by Sérgio Marques <smarquespt@gmail.com>

Currently translated at 100.0% (455 of 455 strings)

Co-authored-by: Sérgio Marques <smarquespt@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/pt/
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/pt_PT/
Translation: F-Droid/F-Droid
2021-03-10 22:32:06 +01:00
Hans-Christoph Steiner
ce4375f7c7 Merge branch 'fix-gradle-properties-no-effect' into 'master'
Fix: the local gradle properties not take effect

See merge request fdroid/fdroidclient!992
2021-03-10 14:32:29 +00:00
proletarius101
1e090e2440
Fix: the local gradle properties not take effect 2021-03-10 19:35:08 +08:00
Hans-Christoph Steiner
c1d8b944b3 Merge branch 'add-test-fdroid-metrics' into 'master'
Add test fdroid metrics aka "popularity contest"

Closes #396

See merge request fdroid/fdroidclient!985
2021-03-08 16:03:49 +00:00
Hans-Christoph Steiner
f0ddc16aea upcase name for ArrayList constant 2021-03-08 15:30:30 +00:00
Hans-Christoph Steiner
8e8a7c0b74 strip down firstInstall and lastUpdateTime events to simple counts 2021-03-08 15:30:30 +00:00
Hans-Christoph Steiner
d558d396ed show report when the user enables the Send to F-Droid Metrics pref 2021-03-08 15:30:30 +00:00
Hans-Christoph Steiner
a207798f5c add expert preference to enable Popularity Contest
closes #396
2021-03-08 15:30:30 +00:00
Hans-Christoph Steiner
d1e80bb067 add FDroidMetricsWorker to gather data into JSON reports 2021-03-08 15:30:30 +00:00
Hans-Christoph Steiner
1b594fa830 reign in proguard on androidTest 2021-03-08 15:30:30 +00:00
Hans-Christoph Steiner
b5d59349f3
versionCode 1012002 2021-03-03 23:01:07 +01:00
Hans-Christoph Steiner
e9bdbb2662
update CHANGELOG 2021-03-03 23:01:04 +01:00
Hans-Christoph Steiner
363f5baf39 Merge branch 'weblate' into 'master'
weblate

See merge request fdroid/fdroidclient!987
2021-03-03 21:47:35 +00:00
Hans-Christoph Steiner
ee606b84a5 remove blank translation 2021-03-03 22:09:43 +01:00
Hans-Christoph Steiner
7318d500ba
Translated using Weblate: Bengali (Bangladesh) (bn-rBD) by Hans-Christoph Steiner <hans@guardianproject.info>
Currently translated at 27.9% (127 of 455 strings)

Translated using Weblate: Tibetan (bo) by Hans-Christoph Steiner <hans@guardianproject.info>

Currently translated at 69.2% (315 of 455 strings)

Translated using Weblate: Armenian (hy) by Hans-Christoph Steiner <hans@guardianproject.info>

Currently translated at 50.5% (230 of 455 strings)

Translated using Weblate: Burmese (my) by Hans-Christoph Steiner <hans@guardianproject.info>

Currently translated at 45.9% (209 of 455 strings)

Translated using Weblate: Arabic (ar) by Hans-Christoph Steiner <hans@guardianproject.info>

Currently translated at 100.0% (455 of 455 strings)

Deleted translation using Weblate: English (United States) (en_US@rude) (b+en+US@rude)

Co-authored-by: Hans-Christoph Steiner <hans@guardianproject.info>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/ar/
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/bn_BD/
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/bo/
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/hy/
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/my/
Translation: F-Droid/F-Droid
2021-03-03 22:07:32 +01:00
Nokib Sarkar
e010f2324c
Translated using Weblate: Bengali (Bangladesh) (bn-rBD) by Nokib Sarkar <nokibsarkar@gmail.com>
Currently translated at 27.6% (126 of 455 strings)

Co-authored-by: Nokib Sarkar <nokibsarkar@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/bn_BD/
Translation: F-Droid/F-Droid
2021-03-03 22:07:31 +01:00
Uri Martínez
5af3f54272
Translated using Weblate: Spanish (Mexico) (es-rMX) by Uri Martínez <elgudi10@gmail.com>
Currently translated at 44.1% (201 of 455 strings)

Co-authored-by: Uri Martínez <elgudi10@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/es_MX/
Translation: F-Droid/F-Droid
2021-03-03 22:07:31 +01:00
bruh
03eef2d0c0
Translated using Weblate: Vietnamese (vi) by bruh <quangtrung02hn16@gmail.com>
Currently translated at 100.0% (455 of 455 strings)

Translated using Weblate: Vietnamese (vi) by bruh <quangtrung02hn16@gmail.com>

Currently translated at 5.7% (2 of 35 strings)

Translated using Weblate: Vietnamese (vi) by bruh <quangtrung02hn16@gmail.com>

Currently translated at 95.6% (435 of 455 strings)

Co-authored-by: bruh <quangtrung02hn16@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/vi/
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/vi/
Translation: F-Droid/F-Droid
Translation: F-Droid/F-Droid metadata
2021-03-03 22:07:30 +01:00
HelaBasa
bdd84a74f1
Translated using Weblate: Sinhala (si) by HelaBasa <R45XvezA@protonmail.ch>
Currently translated at 2.6% (12 of 455 strings)

Added translation using Weblate: Sinhala (si) by HelaBasa <R45XvezA@protonmail.ch>

Co-authored-by: HelaBasa <R45XvezA@protonmail.ch>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/si/
Translation: F-Droid/F-Droid
2021-03-03 22:07:30 +01:00
Bart
857540cf8b
Translated using Weblate: Dutch (Belgium) (nl-rBE) by Bart <bart@mogwai.be>
Currently translated at 100.0% (455 of 455 strings)

Co-authored-by: Bart <bart@mogwai.be>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/nl_BE/
Translation: F-Droid/F-Droid
2021-03-03 22:07:29 +01:00
Brandan
ea15f8ef97
Translated using Weblate: Galician (gl) by Brandan <brandanpl@outlook.com>
Currently translated at 11.4% (4 of 35 strings)

Translated using Weblate: Galician (gl) by Brandan <brandanpl@outlook.com>

Currently translated at 100.0% (455 of 455 strings)

Co-authored-by: Brandan <brandanpl@outlook.com>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/gl/
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/gl/
Translation: F-Droid/F-Droid
Translation: F-Droid/F-Droid metadata
2021-03-03 22:07:29 +01:00
Kintu
2685c3de52
Translated using Weblate: Catalan (ca) by Kintu <kintukp@gmail.com>
Currently translated at 100.0% (455 of 455 strings)

Co-authored-by: Kintu <kintukp@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/ca/
Translation: F-Droid/F-Droid
2021-03-03 22:07:29 +01:00
Hans-Christoph Steiner
12ebb865fc Merge branch 'CleanCacheWorker-bug-fixes' into 'master'
CleanCacheWorker bug fixes

See merge request fdroid/fdroidclient!986
2021-03-03 21:07:16 +00:00
Hans-Christoph Steiner
d3be7d692d add CleanCacheWorker Robolectric tests 2021-03-03 18:49:47 +01:00
Hans-Christoph Steiner
ce7d241196 CleanCacheWorker: delete all package files, not just *.apk
The installer can copy OTA .zip, *.obf, etc. there too.

refs #1869
2021-03-03 18:49:47 +01:00
Hans-Christoph Steiner
eb6ab1ec0a when storage is low, immediately trigger CleanCacheWorker run
refs #1869

Script to test this in an emulator with `adb root` in `adb shell`:
```bash
cd /data/data/org.fdroid.fdroid.debug/files
rm -f fake.apk; touch fake.apk;  chown u0_a159.u0_a159 fake.apk ; dd if=/dev/zero of=fake.apk bs=1M count=635; touch -d 2020-02-02 fake.apk ; df -h; ls -lh
```

      <
2021-03-03 18:49:47 +01:00
Hans-Christoph Steiner
fc8321de17 javadoc for cache cleanup operations 2021-03-03 18:49:47 +01:00
Hans-Christoph Steiner
2a31b0dc61 remove some easy to fix @SuppressWarnings("LineLength") 2021-03-03 18:49:47 +01:00
Hans-Christoph Steiner
5fe5754a2d remove pointless null guards
The cast to AppCompatActivity would throw an exception if it failed.
2021-03-03 18:49:47 +01:00
Hans-Christoph Steiner
2d9d0c30b1
Merge 'master' into master
* privService-getInstalledPackages:
  fail fast if privService.getInstalledPackages() isn't working
  code formatting using Android Studio 4.1.2 defaults w/ 118 line length
  Guard new privileged extension package manager query with API check
  Add shared library packages to app cache database using F-DroidPrivilegedExtension query

fdroid/fdroidclient!967
2021-03-03 18:45:10 +01:00
Hans-Christoph Steiner
bde60282f1 fail fast if privService.getInstalledPackages() isn't working
If `privService.getInstalledPackages()` throws something other than a
`RemoteException`, this should fail as fast as possible.  Crashing will give
users a prompt to send the crash report.  using `finally` will just cause
weirdness since it might try to execute `compareToPackageManager()` even
when it is in the process of crashing.
2021-03-03 18:44:43 +01:00
Hans-Christoph Steiner
6710b74477 code formatting using Android Studio 4.1.2 defaults w/ 118 line length 2021-03-03 18:39:10 +01:00
Oliver Scott
bb8fce0272 Guard new privileged extension package manager query with API check 2021-03-03 10:31:37 -05:00
Oliver Scott
08b45d3518 Add shared library packages to app cache database using F-DroidPrivilegedExtension query
https://cs.android.com/android/platform/superproject/+/master:frameworks/base/services/core/java/com/android/server/pm/PackageManagerService.java;l=4725?q=filterSharedLibPackageLPr&sq=
PackageManager filters some packages from getInstalledPackages if the calling uid is not root, shell or system or does not have install permissions granted. Additionally, the hidden MATCH_STATIC_SHARED_LIBRARIES flag must be set.
https://review.calyxos.org/c/CalyxOS/platform_packages_apps_F-DroidPrivilegedExtension/+/2305
We added an API call in F-DroidPrivilegedExtension given it has the necessary requirements to get the unfiltered results from getInstalledPackages. This allows shared library packages to be added to the app cache database which will allow F-Droid to update them
2021-03-03 10:31:04 -05:00
Hans-Christoph Steiner
1d99cc0f7e
version code 1012001 2021-02-25 21:53:06 +01:00
Hans-Christoph Steiner
8b21c7c1fe ./tools/remove-unused-and-blank-translations.py 2021-02-25 21:52:16 +01:00
Hans-Christoph Steiner
fa827e4edb code formatting 2021-02-25 21:52:13 +01:00
Hans-Christoph Steiner
a34216e39f Merge branch 'weblate' into 'master'
Weblate

See merge request fdroid/fdroidclient!981
2021-02-23 21:32:45 +00:00
Zmicer Turok
3c3a9c92d4 Translated using Weblate: Belarusian (be) by Zmicer Turok <nashtlumach@gmail.com>
Currently translated at 100.0% (455 of 455 strings)

Co-authored-by: Zmicer Turok <nashtlumach@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/be/
Translation: F-Droid/F-Droid
2021-02-23 21:54:22 +01:00
Andrey
1a787fe502 Translated using Weblate: Russian (ru) by Andrey <andrey@mailbox.org>
Currently translated at 100.0% (455 of 455 strings)

Co-authored-by: Andrey <andrey@mailbox.org>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/ru/
Translation: F-Droid/F-Droid
2021-02-23 21:54:22 +01:00
Kornelijus Tvarijanavičius
509f975fcb Translated using Weblate: Lithuanian (lt) by Kornelijus Tvarijanavičius <kornelitvari@protonmail.com>
Currently translated at 75.3% (343 of 455 strings)

Co-authored-by: Kornelijus Tvarijanavičius <kornelitvari@protonmail.com>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/lt/
Translation: F-Droid/F-Droid
2021-02-23 21:54:22 +01:00
Besnik Bleta
9e222c77e0 Translated using Weblate: Albanian (sq) by Besnik Bleta <besnik@programeshqip.org>
Currently translated at 99.5% (453 of 455 strings)

Co-authored-by: Besnik Bleta <besnik@programeshqip.org>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/sq/
Translation: F-Droid/F-Droid
2021-02-23 21:54:22 +01:00
Ashutosh Gangwar
06863bd8f0 Translated using Weblate: Albanian (sq) by Ashutosh Gangwar <ashutoshgngwr@gmail.com>
Currently translated at 99.5% (453 of 455 strings)

Co-authored-by: Ashutosh Gangwar <ashutoshgngwr@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/sq/
Translation: F-Droid/F-Droid
2021-02-23 21:54:22 +01:00
Reiner Herrmann
4d19ac29da Translated using Weblate: German (de) by Reiner Herrmann <reiner@reiner-h.de>
Currently translated at 91.4% (32 of 35 strings)

Co-authored-by: Reiner Herrmann <reiner@reiner-h.de>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/de/
Translation: F-Droid/F-Droid metadata
2021-02-23 21:54:22 +01:00
Yaron Shahrabani
2bf5f6830f Translated using Weblate: Hebrew (he) by Yaron Shahrabani <sh.yaron@gmail.com>
Currently translated at 100.0% (35 of 35 strings)

Co-authored-by: Yaron Shahrabani <sh.yaron@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/he/
Translation: F-Droid/F-Droid metadata
2021-02-23 21:54:22 +01:00
Liu Tao
b8d39c9a50 Translated using Weblate: Chinese (Simplified) (zh-CN) by Liu Tao <lyuutau@outlook.com>
Currently translated at 100.0% (35 of 35 strings)

Translated using Weblate: Chinese (Simplified) (zh-rCN) by Liu Tao <lyuutau@outlook.com>

Currently translated at 100.0% (455 of 455 strings)

Co-authored-by: Liu Tao <lyuutau@outlook.com>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/zh_Hans/
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/zh_Hans/
Translation: F-Droid/F-Droid
Translation: F-Droid/F-Droid metadata
2021-02-23 21:54:22 +01:00
Matej Kolarević
0bc06daa5d Translated using Weblate: Croatian (hr) by Matej Kolarević <tildica@protonmail.com>
Currently translated at 95.6% (435 of 455 strings)

Co-authored-by: Matej Kolarević <tildica@protonmail.com>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/hr/
Translation: F-Droid/F-Droid
2021-02-23 21:54:22 +01:00
Eric
d0f64fd44d Translated using Weblate: Chinese (Simplified) (zh-CN) by Eric <spice2wolf@gmail.com>
Currently translated at 100.0% (35 of 35 strings)

Co-authored-by: Eric <spice2wolf@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/zh_Hans/
Translation: F-Droid/F-Droid metadata
2021-02-23 21:54:22 +01:00
Ihor Hordiichuk
59c4422ba3 Translated using Weblate: Ukrainian (uk) by Ihor Hordiichuk <igor_ck@outlook.com>
Currently translated at 100.0% (455 of 455 strings)

Translated using Weblate: Ukrainian (uk) by Ihor Hordiichuk <igor_ck@outlook.com>

Currently translated at 100.0% (35 of 35 strings)

Co-authored-by: Ihor Hordiichuk <igor_ck@outlook.com>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/uk/
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/uk/
Translation: F-Droid/F-Droid
Translation: F-Droid/F-Droid metadata
2021-02-23 21:54:22 +01:00
Golubev Alexander
4eaf98c3f0 Translated using Weblate: Russian (ru) by Golubev Alexander <fatzer2@gmail.com>
Currently translated at 100.0% (455 of 455 strings)

Translated using Weblate: Russian (ru) by Golubev Alexander <fatzer2@gmail.com>

Currently translated at 100.0% (35 of 35 strings)

Co-authored-by: Golubev Alexander <fatzer2@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/ru/
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/ru/
Translation: F-Droid/F-Droid
Translation: F-Droid/F-Droid metadata
2021-02-23 21:54:22 +01:00
Verdulo
7cb7b93ccc Translated using Weblate: Esperanto (eo) by Verdulo <tomek@disroot.org>
Currently translated at 100.0% (35 of 35 strings)

Co-authored-by: Verdulo <tomek@disroot.org>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/eo/
Translation: F-Droid/F-Droid metadata
2021-02-23 21:54:22 +01:00
Karl Ove Hufthammer
72a972aa25 Translated using Weblate: Norwegian Nynorsk (nn) by Karl Ove Hufthammer <karl@huftis.org>
Currently translated at 100.0% (35 of 35 strings)

Translated using Weblate: Norwegian Nynorsk (nn) by Karl Ove Hufthammer <karl@huftis.org>

Currently translated at 97.1% (34 of 35 strings)

Translated using Weblate: Norwegian Nynorsk (nn) by Karl Ove Hufthammer <karl@huftis.org>

Currently translated at 88.2% (30 of 34 strings)

Translated using Weblate: Norwegian Nynorsk (nn) by Karl Ove Hufthammer <karl@huftis.org>

Currently translated at 100.0% (455 of 455 strings)

Co-authored-by: Karl Ove Hufthammer <karl@huftis.org>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/nn/
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/nn/
Translation: F-Droid/F-Droid
Translation: F-Droid/F-Droid metadata
2021-02-23 21:54:22 +01:00
hayalci hayalci
161f4248c8 Translated using Weblate: Turkish (tr) by hayalci hayalci <gokdenizk@gmail.com>
Currently translated at 100.0% (455 of 455 strings)

Translated using Weblate: Turkish (tr) by hayalci hayalci <gokdenizk@gmail.com>

Currently translated at 100.0% (455 of 455 strings)

Co-authored-by: hayalci hayalci <gokdenizk@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/tr/
Translation: F-Droid/F-Droid
2021-02-23 21:54:22 +01:00
fossdd
7ca8939889 Translated using Weblate: German (de) by fossdd <fossdd@tutanota.com>
Currently translated at 93.9% (31 of 33 strings)

Co-authored-by: fossdd <fossdd@tutanota.com>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/de/
Translation: F-Droid/F-Droid metadata
2021-02-23 21:54:22 +01:00
Michalis
ef4d1c616f Translated using Weblate: Greek (el) by Michalis <michalisntovas@yahoo.gr>
Currently translated at 17.1% (6 of 35 strings)

Translated using Weblate: Greek (el) by Michalis <michalisntovas@yahoo.gr>

Currently translated at 100.0% (455 of 455 strings)

Translated using Weblate: Greek (el) by Michalis <michalisntovas@yahoo.gr>

Currently translated at 100.0% (455 of 455 strings)

Translated using Weblate: Greek (el) by Michalis <michalisntovas@yahoo.gr>

Currently translated at 100.0% (455 of 455 strings)

Translated using Weblate: Greek (el) by Michalis <michalisntovas@yahoo.gr>

Currently translated at 100.0% (455 of 455 strings)

Translated using Weblate: Greek (el) by Michalis <michalisntovas@yahoo.gr>

Currently translated at 100.0% (455 of 455 strings)

Co-authored-by: Michalis <michalisntovas@yahoo.gr>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/el/
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/el/
Translation: F-Droid/F-Droid
Translation: F-Droid/F-Droid metadata
2021-02-23 21:54:22 +01:00
Nekromanser
ac35df82ca Translated using Weblate: Finnish (fi) by Nekromanser <ari.taitto@protonmail.com>
Currently translated at 100.0% (455 of 455 strings)

Co-authored-by: Nekromanser <ari.taitto@protonmail.com>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/fi/
Translation: F-Droid/F-Droid
2021-02-23 21:54:22 +01:00
Mustafa Wahhudi
e4326c12b4 Translated using Weblate: Arabic (ar) by Mustafa Wahhudi <mustafawahhudi@gmail.com>
Currently translated at 18.1% (6 of 33 strings)

Co-authored-by: Mustafa Wahhudi <mustafawahhudi@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/ar/
Translation: F-Droid/F-Droid metadata
2021-02-23 21:54:22 +01:00
Virun Taechamahaphun
e5205358b4 Translated using Weblate: Thai (th) by Virun Taechamahaphun <ball_temp@hotmail.com>
Currently translated at 31.6% (144 of 455 strings)

Co-authored-by: Virun Taechamahaphun <ball_temp@hotmail.com>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/th/
Translation: F-Droid/F-Droid
2021-02-23 21:54:22 +01:00
Hierax Swiftwing
0bcb7e6bca Translated using Weblate: Serbian (sr) by Hierax Swiftwing <hierax.oligopsony@slmail.me>
Currently translated at 100.0% (455 of 455 strings)

Co-authored-by: Hierax Swiftwing <hierax.oligopsony@slmail.me>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/sr/
Translation: F-Droid/F-Droid
2021-02-23 21:54:22 +01:00
Jo
cd76e5816b Translated using Weblate: Spanish (es) by Jo <joaquinfc@protonmail.com>
Currently translated at 54.5% (18 of 33 strings)

Translated using Weblate: Spanish (es) by Jo <joaquinfc@protonmail.com>

Currently translated at 54.5% (18 of 33 strings)

Co-authored-by: Jo <joaquinfc@protonmail.com>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/es/
Translation: F-Droid/F-Droid metadata
2021-02-23 21:54:22 +01:00
zmni
679b0f05a7 Translated using Weblate: Indonesian (id) by zmni <zmni@outlook.com>
Currently translated at 100.0% (455 of 455 strings)

Co-authored-by: zmni <zmni@outlook.com>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/id/
Translation: F-Droid/F-Droid
2021-02-23 21:54:22 +01:00
M S
64470b3991 Translated using Weblate: Finnish (fi) by M S <mitja.sorsa@luukku.com>
Currently translated at 9.0% (3 of 33 strings)

Translated using Weblate: Finnish (fi) by M S <mitja.sorsa@luukku.com>

Currently translated at 80.0% (364 of 455 strings)

Co-authored-by: M S <mitja.sorsa@luukku.com>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/fi/
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/fi/
Translation: F-Droid/F-Droid
Translation: F-Droid/F-Droid metadata
2021-02-23 21:54:22 +01:00
Satnam S Virdi
d85a26c89e Translated using Weblate: Punjabi (pa) by Satnam S Virdi <pika10singh@gmail.com>
Currently translated at 20.6% (94 of 455 strings)

Co-authored-by: Satnam S Virdi <pika10singh@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/pa/
Translation: F-Droid/F-Droid
2021-02-23 21:54:22 +01:00
Angel Romero
825f5f09b5 Translated using Weblate: Spanish (Mexico) (es-rMX) by Angel Romero <iangelromero@pm.me>
Currently translated at 44.1% (201 of 455 strings)

Co-authored-by: Angel Romero <iangelromero@pm.me>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/es_MX/
Translation: F-Droid/F-Droid
2021-02-23 21:54:22 +01:00
Aled Powell
4a6db7c6b0 Translated using Weblate: Welsh (cy) by Aled Powell <aled@aledpowell.cymru>
Currently translated at 12.1% (4 of 33 strings)

Co-authored-by: Aled Powell <aled@aledpowell.cymru>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/cy/
Translation: F-Droid/F-Droid metadata
2021-02-23 21:54:22 +01:00
Ole Carlsen
0435f6b89c Translated using Weblate: Danish (da) by Ole Carlsen <ole@carlsen-web.dk>
Currently translated at 100.0% (455 of 455 strings)

Co-authored-by: Ole Carlsen <ole@carlsen-web.dk>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/da/
Translation: F-Droid/F-Droid
2021-02-23 21:54:22 +01:00
Oğuz Ersen
06b3de011e Translated using Weblate: Turkish (tr) by Oğuz Ersen <oguzersen@protonmail.com>
Currently translated at 100.0% (35 of 35 strings)

Translated using Weblate: Turkish (tr) by Oğuz Ersen <oguzersen@protonmail.com>

Currently translated at 100.0% (455 of 455 strings)

Co-authored-by: Oğuz Ersen <oguzersen@protonmail.com>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/tr/
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/tr/
Translation: F-Droid/F-Droid
Translation: F-Droid/F-Droid metadata
2021-02-23 21:54:22 +01:00
Mantas Kriaučiūnas
e20f11d528 Translated using Weblate: Lithuanian (lt) by Mantas Kriaučiūnas <baltix@gmail.com>
Currently translated at 73.6% (335 of 455 strings)

Co-authored-by: Mantas Kriaučiūnas <baltix@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/lt/
Translation: F-Droid/F-Droid
2021-02-23 21:54:22 +01:00
33ea00507b Translated using Weblate: Turkish (tr) by ‪ <hgebel@yandex.com>
Currently translated at 100.0% (455 of 455 strings)

Translated using Weblate: Turkish (tr) by ‪ <hgebel@yandex.com>

Currently translated at 100.0% (455 of 455 strings)

Co-authored-by: ‪ <hgebel@yandex.com>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/tr/
Translation: F-Droid/F-Droid
2021-02-23 21:54:22 +01:00
Kristjan Räts
295fe1793f Translated using Weblate: Estonian (et) by Kristjan Räts <kristjanrats@gmail.com>
Currently translated at 27.2% (9 of 33 strings)

Co-authored-by: Kristjan Räts <kristjanrats@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/et/
Translation: F-Droid/F-Droid metadata
2021-02-23 21:54:22 +01:00
Selyan Sliman Amiri
f8fbc37083 Translated using Weblate: Kabyle (kab) by Selyan Sliman Amiri <selyan.kab@gmail.com>
Currently translated at 78.9% (359 of 455 strings)

Co-authored-by: Selyan Sliman Amiri <selyan.kab@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/kab/
Translation: F-Droid/F-Droid
2021-02-23 21:54:22 +01:00
Imre Kristoffer Eilertsen
a700b09e53 Translated using Weblate: Norwegian Bokmål (nb) by Imre Kristoffer Eilertsen <imreeil42@gmail.com>
Currently translated at 100.0% (455 of 455 strings)

Co-authored-by: Imre Kristoffer Eilertsen <imreeil42@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/nb_NO/
Translation: F-Droid/F-Droid
2021-02-23 21:54:22 +01:00
Quentin PAGÈS
9b9ead6301 Translated using Weblate: Occitan (oc) by Quentin PAGÈS <quentinantonin@free.fr>
Currently translated at 1.5% (7 of 455 strings)

Added translation using Weblate: Occitan (oc) by Quentin PAGÈS <quentinantonin@free.fr>

Co-authored-by: Quentin PAGÈS <quentinantonin@free.fr>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/oc/
Translation: F-Droid/F-Droid
2021-02-23 21:54:22 +01:00
Éfrit
3b6255d8a4 Translated using Weblate: French (fr) by Éfrit <efrit@posteo.net>
Currently translated at 100.0% (33 of 33 strings)

Co-authored-by: Éfrit <efrit@posteo.net>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/fr/
Translation: F-Droid/F-Droid metadata
2021-02-23 21:54:22 +01:00
Jonatan Nyberg
75d43f13b8 Translated using Weblate: Swedish (sv) by Jonatan Nyberg <jonatan.nyberg.karl@gmail.com>
Currently translated at 100.0% (455 of 455 strings)

Co-authored-by: Jonatan Nyberg <jonatan.nyberg.karl@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/sv/
Translation: F-Droid/F-Droid
2021-02-23 21:54:22 +01:00
random r
51bad7d319 Translated using Weblate: Italian (it) by random r <epsilin@yopmail.com>
Currently translated at 100.0% (33 of 33 strings)

Co-authored-by: random r <epsilin@yopmail.com>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/it/
Translation: F-Droid/F-Droid metadata
2021-02-23 21:54:21 +01:00
Oğuz Ersen
71c7ba4b80 Translated using Weblate: Turkish (tr) by Oğuz Ersen <oguzersen@protonmail.com>
Currently translated at 100.0% (455 of 455 strings)

Translated using Weblate: Turkish (tr) by Oğuz Ersen <oguzersen@protonmail.com>

Currently translated at 100.0% (455 of 455 strings)

Co-authored-by: Oğuz Ersen <oguzersen@protonmail.com>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/tr/
Translation: F-Droid/F-Droid
2021-02-23 21:54:21 +01:00
Oymate
e3c22ca370 Translated using Weblate: Bengali (bn) by Oymate <dhruboadittya96@gmail.com>
Currently translated at 38.6% (176 of 455 strings)

Translated using Weblate: Bengali (bn) by Oymate <dhruboadittya96@gmail.com>

Currently translated at 34.9% (159 of 455 strings)

Translated using Weblate: Bengali (bn) by Oymate <dhruboadittya96@gmail.com>

Currently translated at 10.5% (48 of 455 strings)

Translated using Weblate: Bengali (Bangladesh) (bn-rBD) by Oymate <dhruboadittya96@gmail.com>

Currently translated at 26.8% (122 of 455 strings)

Translated using Weblate: Bengali (bn) by Oymate <dhruboadittya96@gmail.com>

Currently translated at 7.0% (32 of 455 strings)

Translated using Weblate: Bengali (bn) by Oymate <dhruboadittya96@gmail.com>

Currently translated at 2.1% (10 of 455 strings)

Co-authored-by: Oymate <dhruboadittya96@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/bn/
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/bn_BD/
Translation: F-Droid/F-Droid
2021-02-23 21:54:21 +01:00
Andrey
6ea5204a22 Translated using Weblate: Russian (ru) by Andrey <andrey@mailbox.org>
Currently translated at 100.0% (455 of 455 strings)

Translated using Weblate: Russian (ru) by Andrey <andrey@mailbox.org>

Currently translated at 100.0% (455 of 455 strings)

Co-authored-by: Andrey <andrey@mailbox.org>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/ru/
Translation: F-Droid/F-Droid
2021-02-23 21:54:21 +01:00
Crisalis
63ecaf5e04 Translated using Weblate: Spanish (es) by Crisalis <tegaminorune@disroot.org>
Currently translated at 100.0% (455 of 455 strings)

Co-authored-by: Crisalis <tegaminorune@disroot.org>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/es/
Translation: F-Droid/F-Droid
2021-02-23 21:54:21 +01:00
Andrey F
b80efee952 Translated using Weblate: Russian (ru) by Andrey F. <firsan777@mail.ru>
Currently translated at 100.0% (455 of 455 strings)

Co-authored-by: Andrey F <firsan777@mail.ru>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/ru/
Translation: F-Droid/F-Droid
2021-02-23 21:54:21 +01:00
Turtuvshin Byambaa
0eea69d785 Translated using Weblate: Mongolian (mn) by Turtuvshin Byambaa <toroo.byamba@gmail.com>
Currently translated at 100.0% (455 of 455 strings)

Co-authored-by: Turtuvshin Byambaa <toroo.byamba@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/mn/
Translation: F-Droid/F-Droid
2021-02-23 21:54:21 +01:00
Marwan
a33c6eeb2d Translated using Weblate: Arabic (ar) by Marwan <almagrhi@pm.me>
Currently translated at 18.1% (6 of 33 strings)

Co-authored-by: Marwan <almagrhi@pm.me>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/ar/
Translation: F-Droid/F-Droid metadata
2021-02-23 21:54:21 +01:00
Naveen Niraula
0b5883bacb Translated using Weblate: Nepali (ne) by Naveen Niraula <subtlenv@gmail.com>
Currently translated at 10.5% (48 of 455 strings)

Added translation using Weblate: Nepali (ne) by Naveen Niraula <subtlenv@gmail.com>

Co-authored-by: Naveen Niraula <subtlenv@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/ne/
Translation: F-Droid/F-Droid
2021-02-23 21:54:21 +01:00
ssantos
24570a5538 Translated using Weblate: Portuguese (Portugal) (pt-PT) by ssantos <ssantos@web.de>
Currently translated at 100.0% (33 of 33 strings)

Co-authored-by: ssantos <ssantos@web.de>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/pt_PT/
Translation: F-Droid/F-Droid metadata
2021-02-23 21:54:21 +01:00
J. Lavoie
7965f95940 Translated using Weblate: French (fr) by J. Lavoie <j.lavoie@net-c.ca>
Currently translated at 96.9% (32 of 33 strings)

Co-authored-by: J. Lavoie <j.lavoie@net-c.ca>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/fr/
Translation: F-Droid/F-Droid metadata
2021-02-23 21:54:21 +01:00
Nadir Nour
438aea3400 Translated using Weblate: Somali (so) by Nadir Nour <dudethatwascool2@gmail.com>
Currently translated at 14.7% (67 of 455 strings)

Translated using Weblate: Somali (so) by Nadir Nour <dudethatwascool2@gmail.com>

Currently translated at 8.5% (39 of 455 strings)

Added translation using Weblate: Somali (so) by Nadir Nour <dudethatwascool2@gmail.com>

Co-authored-by: Nadir Nour <dudethatwascool2@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/so/
Translation: F-Droid/F-Droid
2021-02-23 21:54:21 +01:00
Abdelhak YAHIAOUI
57e4dc8757 Translated using Weblate: Kabyle (kab) by Abdelhak YAHIAOUI <abdelyah@gmail.com>
Currently translated at 62.8% (286 of 455 strings)

Co-authored-by: Abdelhak YAHIAOUI <abdelyah@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/kab/
Translation: F-Droid/F-Droid
2021-02-23 21:54:21 +01:00
ikmaak
9c92916b2b Translated using Weblate: Dutch (nl) by ikmaak <info@ikmaak.nl>
Currently translated at 100.0% (455 of 455 strings)

Co-authored-by: ikmaak <info@ikmaak.nl>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/nl/
Translation: F-Droid/F-Droid
2021-02-23 21:54:21 +01:00
Reg3xp
089abd8d6d Translated using Weblate: Persian (fa) by Reg3xp <reg3xp@protonmail.com>
Currently translated at 100.0% (455 of 455 strings)

Co-authored-by: Reg3xp <reg3xp@protonmail.com>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/fa/
Translation: F-Droid/F-Droid
2021-02-23 21:54:21 +01:00
ورکنومی
8cb1522033 Translated using Weblate: Pashto (ps) by ورکنومی <wraknumay@pm.me>
Currently translated at 13.4% (61 of 455 strings)

Translated using Weblate: Pashto (ps) by ورکنومی <wraknumay@pm.me>

Currently translated at 8.5% (39 of 455 strings)

Added translation using Weblate: Pashto (ps) by ورکنومی <wraknumay@pm.me>

Co-authored-by: ورکنومی <wraknumay@pm.me>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/ps/
Translation: F-Droid/F-Droid
2021-02-23 21:54:21 +01:00
Davit Mayilyan
4cf206e7e9 Translated using Weblate: Armenian (hy) by Davit Mayilyan <davit.mayilyan@protonmail.ch>
Currently translated at 50.5% (230 of 455 strings)

Co-authored-by: Davit Mayilyan <davit.mayilyan@protonmail.ch>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/hy/
Translation: F-Droid/F-Droid
2021-02-23 21:54:21 +01:00
Hakim Oubouali
d1a2873f3d Translated using Weblate: Central Atlas Tamazight (tzm) by Hakim Oubouali <hakim.oubouali.skr@gmail.com>
Currently translated at 29.8% (136 of 455 strings)

Co-authored-by: Hakim Oubouali <hakim.oubouali.skr@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/tzm/
Translation: F-Droid/F-Droid
2021-02-23 21:32:28 +01:00
Ashraf Isl
3adf7ab0fb Translated using Weblate: Bengali (Bangladesh) (bn-rBD) by Ashraf Isl <rediancool@gmail.com>
Currently translated at 18.6% (85 of 455 strings)

Co-authored-by: Ashraf Isl <rediancool@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/bn_BD/
Translation: F-Droid/F-Droid
2021-02-23 21:32:28 +01:00
Hans-Christoph Steiner
a6a5e3cc9b Merge branch 'fix-swap-navigation-button' into 'master'
Fix swap workflow's back button

See merge request fdroid/fdroidclient!979
2021-02-23 20:32:24 +00:00
proletarius101
6e95bbe380 Fix swap workflow's back button 2021-02-23 19:55:48 +00:00
Hans-Christoph Steiner
b21dbb8646 Merge branch 'java8' into 'master'
update to Java8 and compileSdkVersion 29

See merge request fdroid/fdroidclient!974
2021-02-23 19:32:36 +00:00
Hans-Christoph Steiner
b6c439e0f9 enable Java 8 2021-02-23 17:58:56 +01:00
Hans-Christoph Steiner
19349ea032 compileSdkVersion 29 2021-02-23 17:53:33 +01:00
Hans-Christoph Steiner
8c2fa955ce gitlab-ci: switch to x86 -no-accel emulator support
Now that is finally works to some degree at least.
fdroid/ci-images-client@6e7b829346
2021-02-23 17:53:33 +01:00
Hans-Christoph Steiner
6fa5ff6608 fix lint Error: Must use app:tint instead of android:tint [UseAppTint] 2021-02-23 17:53:33 +01:00
Hans-Christoph Steiner
292d3219d6 do not crash unregistering bluetooth receiver on devices w/o Bluetooth
This is probably mostly only emulators
2021-02-23 17:53:33 +01:00
Hans-Christoph Steiner
3c22024d94 remove pedandic checkstyle error 2021-02-23 17:53:33 +01:00
Hans-Christoph Steiner
3afd269a9c enable all Espresso tests when run from Android Studio
This should not make them run in the .gitlab-ci.yml setup, since that is
set to ignore @LargeTest
2021-02-23 17:53:33 +01:00
Hans-Christoph Steiner
4662c0bdaa set up WorkManager on demand to avoid slowing down starts
This also provides a convenient place to configure the debug logging.
2021-02-23 13:28:32 +01:00
Hans-Christoph Steiner
2975d4c09f always use fingerprint hashes in lowercase
* Utils.getBinaryHash() converts it to lowercase()
* Utils.getPackageSig() outputs lowercase
* fdroidserver outputs lowercase for all hash entries
2021-02-23 13:28:32 +01:00
Hans-Christoph Steiner
018e3221a7 prevent search terms triggering SQL injection vulns 2021-02-23 13:28:32 +01:00
Hans-Christoph Steiner
38e4b05e56 gitlab-ci: only run flaky KVM jobs if env var is set in GitLab 2021-02-23 13:28:32 +01:00
Hans-Christoph Steiner
a1827f6266
Merge branch 'support-platform-signature' into 'master'
* tag 'mergeeme':
  remove unused import
  Fixed bug package signature info not included
  Changed to static property
  Fixed "apply suggestion" error
  Replaced `equalsIgnoreCase()` with `equals()`
  Apply 1 suggestion(s) to 1 file(s)
  Added check platform signature available

fdroid/fdroidclient!943
2021-02-23 13:10:52 +01:00
Hans-Christoph Steiner
725c82c1b0 Merge branch 'add-base-ci-job' into 'master'
Add base ci job

See merge request fdroid/fdroidclient!977
2021-02-23 12:07:18 +00:00
Hans-Christoph Steiner
30b6c28a52 remove unused import 2021-02-23 13:02:33 +01:00
proletarius101
ed86a2fb4f
Add base ci job 2021-02-23 15:51:12 +08:00
Glenn Carremans
ee1a794680
Fixed bug package signature info not included 2021-02-19 16:36:23 +01:00
Glenn Carremans
dc314963f9
Changed to static property 2021-02-19 16:36:23 +01:00
Glenn C
47e8e43318
Fixed "apply suggestion" error 2021-02-19 16:36:23 +01:00
Glenn C
efe757be07
Replaced equalsIgnoreCase() with equals() 2021-02-19 16:36:23 +01:00
Glenn C
69fc823beb
Apply 1 suggestion(s) to 1 file(s) 2021-02-19 16:36:23 +01:00
Glenn Carremans
3a36bb5c2e
Added check platform signature available 2021-02-19 16:36:22 +01:00
Hans-Christoph Steiner
64e99cf90f fork after every Robolectric test to try to avoid crashes 2021-02-19 09:27:16 +01:00
Hans-Christoph Steiner
611974ecbf @Ignore test that covers when 1000 apps are installed on the device 2021-02-19 09:27:16 +01:00
Hans-Christoph Steiner
36cb4e8a4c gitlab-ci: limit RAM usage on all gradle runs 2021-02-19 09:27:16 +01:00
Hans-Christoph Steiner
a6a4147005 workaround tests crashing by forking after every 100 tests 2021-02-18 22:16:38 +01:00
Hans-Christoph Steiner
8c8c79d68a gitlab-ci: limit RAM usage to available memory, some runners have 3G 2021-02-18 22:16:38 +01:00
Hans-Christoph Steiner
857bc5c29e tests: run shutdown() on tested ContentProviders to reduce memory usage
Hopefully?
2021-02-18 22:16:38 +01:00
Hans-Christoph Steiner
a4e66540c2 Revert "purging all "@rude" translations", let Weblate do it
This reverts commit 8ddc28524f1dec52e7498345fa6aa8ecea873887.

[skip ci]
2021-02-09 22:13:07 +01:00
Hans-Christoph Steiner
801682500a
version code 1012000 2021-02-09 22:04:27 +01:00
Hans-Christoph Steiner
5d24061cfd update CHANGELOG 2021-02-09 22:04:04 +01:00
Hans-Christoph Steiner
8ddc28524f purging all "@rude" translations 2021-02-09 22:04:04 +01:00
Eric
7743588f35 Translated using Weblate: Chinese (Simplified) (zh-CN) by Eric <spice2wolf@gmail.com>
Currently translated at 100.0% (34 of 34 strings)

Co-authored-by: Eric <spice2wolf@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/zh_Hans/
Translation: F-Droid/F-Droid metadata
2021-02-09 22:04:04 +01:00
kak mi
e526f67228 Translated using Weblate: Chinese (Simplified) (zh-rCN) by kak mi <wavelake@outlook.com>
Currently translated at 100.0% (455 of 455 strings)

Co-authored-by: kak mi <wavelake@outlook.com>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/zh_Hans/
Translation: F-Droid/F-Droid
2021-02-09 22:04:04 +01:00
Hans-Christoph Steiner
6f81c482c6 Merge branch 'weblate' into 'master'
Weblate

See merge request fdroid/fdroidclient!973
2021-02-09 20:50:40 +00:00
Ihor Hordiichuk
7f9f1d771b Translated using Weblate: Ukrainian (uk) by Ihor Hordiichuk <igor_ck@outlook.com>
Currently translated at 100.0% (34 of 34 strings)

Translated using Weblate: Ukrainian (uk) by Ihor Hordiichuk <igor_ck@outlook.com>

Currently translated at 100.0% (33 of 33 strings)

Translated using Weblate: Ukrainian (uk) by Ihor Hordiichuk <igor_ck@outlook.com>

Currently translated at 100.0% (455 of 455 strings)

Translated using Weblate: Ukrainian (uk) by Ihor Hordiichuk <igor_ck@outlook.com>

Currently translated at 100.0% (33 of 33 strings)

Translated using Weblate: Ukrainian (uk) by Ihor Hordiichuk <igor_ck@outlook.com>

Currently translated at 100.0% (455 of 455 strings)

Translated using Weblate: Ukrainian (uk) by Ihor Hordiichuk <igor_ck@outlook.com>

Currently translated at 100.0% (455 of 455 strings)

Co-authored-by: Ihor Hordiichuk <igor_ck@outlook.com>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/uk/
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/uk/
Translation: F-Droid/F-Droid
Translation: F-Droid/F-Droid metadata
2021-02-09 21:17:22 +01:00
webweblate
e4f44025f1 Translated using Weblate: Ukrainian (uk) by webweblate <webweblate@riseup.net>
Currently translated at 100.0% (455 of 455 strings)

Co-authored-by: webweblate <webweblate@riseup.net>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/uk/
Translation: F-Droid/F-Droid
2021-02-09 21:17:22 +01:00
WaldiS
20cccf4832 Translated using Weblate: Polish (pl) by WaldiS <sto@tutanota.de>
Currently translated at 100.0% (34 of 34 strings)

Translated using Weblate: Polish (pl) by WaldiS <sto@tutanota.de>

Currently translated at 100.0% (33 of 33 strings)

Co-authored-by: WaldiS <sto@tutanota.de>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/pl/
Translation: F-Droid/F-Droid metadata
2021-02-09 21:17:22 +01:00
Hans-Christoph Steiner
91909a887c Translated using Weblate: Chinese (Traditional) (zh-TW) by Hans-Christoph Steiner <hans@guardianproject.info>
Currently translated at 27.2% (9 of 33 strings)

Translated using Weblate: Polish (pl) by Hans-Christoph Steiner <hans@guardianproject.info>

Currently translated at 96.9% (32 of 33 strings)

Translated using Weblate: Czech (cs) by Hans-Christoph Steiner <hans@guardianproject.info>

Currently translated at 12.1% (4 of 33 strings)

Translated using Weblate: French (fr) by Hans-Christoph Steiner <hans@guardianproject.info>

Currently translated at 96.9% (32 of 33 strings)

Translated using Weblate: Spanish (Mexico) (es-rMX) by Hans-Christoph Steiner <hans@guardianproject.info>

Currently translated at 43.9% (200 of 455 strings)

Co-authored-by: Hans-Christoph Steiner <hans@guardianproject.info>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/cs/
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/fr/
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/pl/
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/zh_Hant/
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/es_MX/
Translation: F-Droid/F-Droid
Translation: F-Droid/F-Droid metadata
2021-02-09 21:17:22 +01:00
Yaron Shahrabani
04b69a9e2b Translated using Weblate: Hebrew (he) by Yaron Shahrabani <sh.yaron@gmail.com>
Currently translated at 100.0% (34 of 34 strings)

Co-authored-by: Yaron Shahrabani <sh.yaron@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/he/
Translation: F-Droid/F-Droid metadata
2021-02-09 21:17:22 +01:00
Verdulo
3d4055d1e8 Translated using Weblate: Esperanto (eo) by Verdulo <tomek@disroot.org>
Currently translated at 100.0% (34 of 34 strings)

Translated using Weblate: Esperanto (eo) by Verdulo <tomek@disroot.org>

Currently translated at 100.0% (455 of 455 strings)

Co-authored-by: Verdulo <tomek@disroot.org>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/eo/
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/eo/
Translation: F-Droid/F-Droid
Translation: F-Droid/F-Droid metadata
2021-02-09 21:17:22 +01:00
Hans-Christoph Steiner
0e38288705 Merge branch 'search-overhaul' into 'master'
overhaul the search based on two recent merge requests

See merge request fdroid/fdroidclient!972
2021-02-09 17:54:10 +00:00
Hans-Christoph Steiner
22cffbb0d8 prefer complete, localized apps in the category overview cards
To further the goal of providing a fully localized experience based on the
user's Language Settings, this applies similar logic as the Latest Tab to
the apps that are featured for each category.
2021-02-09 17:57:40 +01:00
Hans-Christoph Steiner
a0c809f0ad onCreateLoader() is @NonNull, throw useful error instead 2021-02-09 17:57:40 +01:00
Hans-Christoph Steiner
be9b6515cd wipe "known categories" cache when database transients are reset
closes #1626
closes #1632
2021-02-09 17:57:40 +01:00
Hans-Christoph Steiner
2a4c9f0fcb sort "new" app entries based on lastUpdate time of Repo
https://gitlab.com/fdroid/fdroidclient/-/issues/939#note_504169741
2021-02-09 17:57:40 +01:00
Hans-Christoph Steiner
e9b03e5a2a properly pad and scale the search sort button 2021-02-09 17:57:40 +01:00
Hans-Christoph Steiner
f38450fc19 save search state between uses and restarts 2021-02-09 17:57:40 +01:00
Hans-Christoph Steiner
1c8a56e314 if search are letters with a "." in the middle, enable packageName
This makes it easy to search by Application ID aka Package Name without
affecting searches that definitely cannot be a Package Name.
2021-02-09 17:57:40 +01:00
Hans-Christoph Steiner
c3c31ed033 convert alpha sort into "sort by search terms", keep "last updated"
refs #1600
closes #1522
closes #1185
2021-02-09 17:57:40 +01:00
Hans-Christoph Steiner
646f2c8e9f overhaul search to include summary, better searching, and localized sort
include @gcbrown76's `getSortOrder()` from !889 as getLastUpdatedSortOrder
2021-02-09 17:57:40 +01:00
Hans-Christoph Steiner
9c3176852e more descriptive variable name 2021-02-09 17:57:40 +01:00
Hans-Christoph Steiner
8856f19277 move Latest Tab sort closer to where it is actually used 2021-02-09 17:57:40 +01:00
Hans-Christoph Steiner
d96dda0519
Merge 'bugfix/repo_url_querystring' into 'master'
* commit 'a81140be4749189861b2961f84e2704eb5bb467b':
  run Android Studio default code formatter with Ctrl-Alt-L
  Add Repo.getFileUrl() method to get file URL in a standard way
  RepoUrlsTest: Add new tests for correct repo URL formatting

fdroid/fdroidclient!935
2021-02-09 17:52:54 +01:00
Hans-Christoph Steiner
a81140be47 run Android Studio default code formatter with Ctrl-Alt-L 2021-02-09 17:51:19 +01:00
Angus Gratton
3cb6cc747b Add Repo.getFileUrl() method to get file URL in a standard way 2021-02-09 09:01:12 +11:00
Angus Gratton
5187b88a08 RepoUrlsTest: Add new tests for correct repo URL formatting 2021-02-09 08:03:55 +11:00
Hans-Christoph Steiner
8cd82e0287 update CHANGELOG 2021-02-08 14:03:15 +01:00
Hans-Christoph Steiner
4caab6a135
rename WhatsNew* to Latest* to match source string name 2021-02-08 13:16:04 +01:00
Hans-Christoph Steiner
b9efb143be Merge branch 'latest-tab-localized-overhaul' into 'master'
convert the Latest Tab SELECT logic to ORDER BY, with accurate IS_LOCALIZED

Closes #939, #2024, #1186, and #987

See merge request fdroid/fdroidclient!971
2021-02-08 11:02:17 +00:00
Hans-Christoph Steiner
c927f37013 remove outdated stuff from CONTRIBUTING.md 2021-02-08 10:40:18 +01:00
Hans-Christoph Steiner
bdbb95110b normalize whitespace in AppProvider using Android Studio Ctrl-Alt-L 2021-02-08 09:51:37 +01:00
Hans-Christoph Steiner
5c7be1e852 move all App.setLocalized() tests into LocaleSelectionTest class 2021-02-08 09:51:04 +01:00
Hans-Christoph Steiner
a11d214039 workaround Locale.toLanguageTag() requiring android-21 2021-02-08 09:51:04 +01:00
Hans-Christoph Steiner
cb1b4330ef App: rename "locales" to "supportedLocales" for clarity 2021-02-08 09:51:04 +01:00
Hans-Christoph Steiner
57cee93647 trim leading/trailing whitespace from name/summary/video
This should make for predictable layouts, since fastlane entries are likely
to have a tailing newline, but entries in the metadata YAML will not.
2021-02-08 09:51:04 +01:00
Hans-Christoph Steiner
19215db243 convert Latest Tab's selection into a sort
This removes the convoluted logic of both a selection and a sort, and just
does all the ordering in the sort.

closes #939
closes #2024
2021-02-08 09:50:07 +01:00
Hans-Christoph Steiner
3d9a68c1e3 rename AppProvider "Recently Updated" to "Latest Tab"
This is only used for the Latest Tab, so it should be named accordingly.
2021-02-08 09:36:46 +01:00
Hans-Christoph Steiner
e35335d59c totally overhaul choosing locales from app metadata based on LocaleList
This makes the selection logic heed the list of preferred locales from the
user Settings.

closes #987
closes #1186
refs #1440 #1882 #1730
!886
2021-02-08 09:36:46 +01:00
proletarius101
fbbf78dcf8
fix: crashing in the search activity 2021-02-07 20:01:18 +01:00
Hans-Christoph Steiner
e757c14148 Merge branch 'auto-color-vector-assets' into 'master'
fix icon and text tinting and replace some pixel maps with vector graphs

See merge request fdroid/fdroidclient!968
2021-02-04 21:44:00 +00:00
proletarius101
4737b32a60 fix icon and text tinting and replace some pixel maps with vector graphs
added vector graphs are the rounded variant
2021-02-04 21:43:59 +00:00
Hans-Christoph Steiner
2086f50d05 Merge branch 'AppCompatActivity' into 'master'
Change Activity to AppCompatActivity

See merge request fdroid/fdroidclient!969
2021-01-28 16:52:58 +00:00
proletarius101
e2979f632d Change Activity to AppCompatActivity 2021-01-28 16:52:58 +00:00
Hans-Christoph Steiner
34b24a5b60 Merge branch 'feature/always_include_repo_name' into 'master'
Always include repo name in exception toasts

See merge request fdroid/fdroidclient!966
2021-01-27 15:55:40 +00:00
Sylvia van Os
e95e99018a Always include repo name in exception toasts 2021-01-27 15:32:14 +00:00
Hans-Christoph Steiner
e6819e7f12 Merge 'Use_WorkManager' into 'master'
* origin/master:
  gitlab-ci: fix excluding @LargeTest from emulator jobs
  use TAG to identify CleanCacheWorker to WorkManager
  add WorkManagerTestRule to CleanCacheWorkerTest
  move static helper method into its class: CleanCacheWorker
  fdroidclient does not use variables for gradle dependencies
  Add WorkManagerTestRule.
  Use WorkManager to clean the cache.
  Add AndroidX WorkManager.

fdroid/fdroidclient!959
2021-01-27 16:27:40 +01:00
Hans-Christoph Steiner
8f64b45e79 gitlab-ci: fix excluding @LargeTest from emulator jobs
fixup for !899
2021-01-27 15:38:43 +01:00
Hans-Christoph Steiner
9eba243092 use TAG to identify CleanCacheWorker to WorkManager
TAG is already there, and it is meant to identify this class, and be
unique.
2021-01-27 15:38:43 +01:00
Hans-Christoph Steiner
06dbd048af add WorkManagerTestRule to CleanCacheWorkerTest 2021-01-27 15:38:42 +01:00
Hans-Christoph Steiner
2e10c7ba03 move static helper method into its class: CleanCacheWorker 2021-01-25 15:29:09 +01:00
Hans-Christoph Steiner
fa7e7fccdc fdroidclient does not use variables for gradle dependencies
Using variables makes the lint stuff not work so well.
2021-01-25 15:25:59 +01:00
Isira Seneviratne
ab8e7935b0 Add WorkManagerTestRule. 2021-01-21 06:18:23 +05:30
Isira Seneviratne
7c81b1ad15 Use WorkManager to clean the cache. 2021-01-21 06:17:28 +05:30
Isira Seneviratne
df66d127c2 Add AndroidX WorkManager. 2021-01-21 06:17:28 +05:30
Hans-Christoph Steiner
c72a315872 Merge branch 'gitlab-ci-stability' into 'master'
Gitlab ci stability

See merge request fdroid/fdroidclient!964
2021-01-19 09:09:17 +00:00
Hans-Christoph Steiner
83b7d7ff67 bump all test dependencies
Hopefully this will give some stability in the Robolectric tests.
2021-01-19 09:06:05 +01:00
Hans-Christoph Steiner
c5056a8167 gitlab-ci: run errorprone with Java11 2021-01-18 19:26:14 +01:00
Hans-Christoph Steiner
c697501f8f gitlab-ci: run all test_lint_pmd_checkstyle parts, even after failures 2021-01-18 19:26:13 +01:00
Hans-Christoph Steiner
06b6f8794f gitlab-ci: retry flaky testFullDebugUnitTest 2021-01-18 19:23:47 +01:00
Hans-Christoph Steiner
474bbdfdbd
LocalHTTPDManagerTest: extend timeout to 60 seconds
If the job is successful, it should finish without coming closes to
the timeout.  Extending the timeout will make it take longer to fail,
but since the job is flaky, and the related code is rarely touched, it
seems worth it.
2021-01-18 11:07:31 +01:00
Hans-Christoph Steiner
69b845c34f
gitlab-ci: disable ignored emulator runs that always fail 2021-01-12 20:05:54 +01:00
Hans-Christoph Steiner
99a5262730 make robolectric fetch dependencies via HTTPS
https://robolectric.org/configuring/#system-properties

https://gitlab.com/fdroid/fdroidclient/-/merge_requests/963#note_483716081
2021-01-12 18:02:03 +01:00
Hans-Christoph Steiner
97aaf5a067
gitlab-ci: include Java crash dump logs in artifacts
https://gitlab.com/fdroid/ci-images-client/-/jobs/957371759

```
A fatal error has been detected by the Java Runtime Environment:

 SIGSEGV (0xb) at pc=0x00007f6775b513c0, pid=1923, tid=0x00007f675eef6700

JRE version: OpenJDK Runtime Environment (8.0_275-b01) (build 1.8.0_275-8u275-b01-1~deb9u1-b01)
Java VM: OpenJDK 64-Bit Server VM (25.275-b01 mixed mode linux-amd64 compressed oops)
Problematic frame:
V  [libjvm.so+0x92d3c0]

Core dump written. Default location: /builds/test/fdroidclient/app/core or core.1923

An error report file with more information is saved as:
/builds/test/fdroidclient/app/hs_err_pid1923.log

Compiler replay data is saved as:
/builds/test/fdroidclient/app/replay_pid1923.log

If you would like to submit a bug report, please visit:
  http://bugreport.java.com/bugreport/crash.jsp
```
2021-01-12 11:50:53 +01:00
Hans-Christoph Steiner
94dbaab83d
version code 1011050 2021-01-04 20:33:34 +01:00
Hans-Christoph Steiner
ec9ce60813 Merge branch 'weblate' into 'master'
Weblate

See merge request fdroid/fdroidclient!961
2021-01-04 19:31:02 +00:00
Hans-Christoph Steiner
95a2803185 remove unneeded Android strings.xml quoting 2021-01-04 18:26:47 +01:00
Hans-Christoph Steiner
42cdeddd01 ./tools/remove-unused-and-blank-translations.py 2021-01-04 18:26:23 +01:00
Hans-Christoph Steiner
dc8e662b7b Translated using Weblate: Afrikaans (af) by Hans-Christoph Steiner <hans@guardianproject.info>
Currently translated at 100.0% (455 of 455 strings)

Translation: F-Droid/F-Droid
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/af/
2021-01-04 18:25:26 +01:00
Hans-Christoph Steiner
4ed6afb532 Translated using Weblate: Kannada (kn) by Hans-Christoph Steiner <hans@guardianproject.info>
Currently translated at 100.0% (455 of 455 strings)

Translation: F-Droid/F-Droid
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/kn/
2021-01-04 18:23:45 +01:00
Besnik Bleta
e24fd389c2 Translated using Weblate: Albanian (sq) by Besnik Bleta <besnik@programeshqip.org>
Currently translated at 99.1% (451 of 455 strings)

Translated using Weblate: Albanian (sq) by Besnik Bleta <besnik@programeshqip.org>

Currently translated at 99.7% (454 of 455 strings)

Co-authored-by: Besnik Bleta <besnik@programeshqip.org>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/sq/
Translation: F-Droid/F-Droid
2021-01-04 18:23:45 +01:00
Eduardo Rodrigues
f188e0df71 Translated using Weblate: Bengali (bn) by Eduardo Rodrigues <edu.rodrigues2580@gmail.com>
Currently translated at 0.2% (1 of 455 strings)

Translated using Weblate: English (United States) (en_US@rude) (b+en+US@rude) by Eduardo Rodrigues <edu.rodrigues2580@gmail.com>

Currently translated at 67.6% (308 of 455 strings)

Translated using Weblate: English (United Kingdom) (en-rGB) by Eduardo Rodrigues <edu.rodrigues2580@gmail.com>

Currently translated at 100.0% (455 of 455 strings)

Translated using Weblate: Spanish (Mexico) (es-rMX) by Eduardo Rodrigues <edu.rodrigues2580@gmail.com>

Currently translated at 43.9% (200 of 455 strings)

Translated using Weblate: Mongolian (mn) by Eduardo Rodrigues <edu.rodrigues2580@gmail.com>

Currently translated at 100.0% (455 of 455 strings)

Translated using Weblate: Welsh (cy) by Eduardo Rodrigues <edu.rodrigues2580@gmail.com>

Currently translated at 100.0% (455 of 455 strings)

Translated using Weblate: Kannada (kn) by Eduardo Rodrigues <edu.rodrigues2580@gmail.com>

Currently translated at 100.0% (455 of 455 strings)

Translated using Weblate: Afrikaans (af) by Eduardo Rodrigues <edu.rodrigues2580@gmail.com>

Currently translated at 100.0% (455 of 455 strings)

Translated using Weblate: Hindi (hi) by Eduardo Rodrigues <edu.rodrigues2580@gmail.com>

Currently translated at 100.0% (455 of 455 strings)

Translated using Weblate: Slovenian (sl) by Eduardo Rodrigues <edu.rodrigues2580@gmail.com>

Currently translated at 100.0% (455 of 455 strings)

Translated using Weblate: Portuguese (Brazil) (pt-rBR) by Eduardo Rodrigues <edu.rodrigues2580@gmail.com>

Currently translated at 100.0% (455 of 455 strings)

Translated using Weblate: Korean (ko) by Eduardo Rodrigues <edu.rodrigues2580@gmail.com>

Currently translated at 100.0% (455 of 455 strings)

Translated using Weblate: Galician (gl) by Eduardo Rodrigues <edu.rodrigues2580@gmail.com>

Currently translated at 100.0% (455 of 455 strings)

Translated using Weblate: Bulgarian (bg) by Eduardo Rodrigues <edu.rodrigues2580@gmail.com>

Currently translated at 100.0% (455 of 455 strings)

Translated using Weblate: Albanian (sq) by Eduardo Rodrigues <edu.rodrigues2580@gmail.com>

Currently translated at 100.0% (455 of 455 strings)

Co-authored-by: Eduardo Rodrigues <edu.rodrigues2580@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/af/
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/bg/
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/bn/
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/cy/
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/en_GB/
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/en_US@rude/
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/es_MX/
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/gl/
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/hi/
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/kn/
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/ko/
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/mn/
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/pt_BR/
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/sl/
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/sq/
Translation: F-Droid/F-Droid
2021-01-04 18:23:45 +01:00
Oymate
d4f9e91938 Added translation using Weblate: Bengali (bn) by Oymate <dhruboadittya96@gmail.com>
Co-authored-by: Oymate <dhruboadittya96@gmail.com>
2021-01-04 18:23:45 +01:00
Jennifer Kitts
95e1cd4a89 Translated using Weblate: English (United States) (b+en+US@rude) by Jennifer Kitts <kittsjennifer44@gmail.com>
Currently translated at 0.0% (0 of 455 strings)

Co-authored-by: Jennifer Kitts <kittsjennifer44@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/en_US@rude/
Translation: F-Droid/F-Droid
2021-01-04 18:23:45 +01:00
Hans-Christoph Steiner
e6529d9ff1 Deleted translation using Weblate: English (United States) (en-rUS)
Co-authored-by: Hans-Christoph Steiner <hans@guardianproject.info>
2021-01-04 18:23:45 +01:00
Chris Jr Williams
58379f68cf Added translation using Weblate: English (United States) (en-rUS) by Chris Jr Williams <chrisjr4eva1987@gmail.com>
Added translation using Weblate: English (United Kingdom) (en-rGB) by Chris Jr Williams <chrisjr4eva1987@gmail.com>

Co-authored-by: Chris Jr Williams <chrisjr4eva1987@gmail.com>
2021-01-04 18:16:47 +01:00
JoC
658ce1cfdd Translated using Weblate: Spanish (Argentina) (es-rAR) by JoC <jo_91_lp@hotmail.com>
Currently translated at 100.0% (455 of 455 strings)

Co-authored-by: JoC <jo_91_lp@hotmail.com>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/es_AR/
Translation: F-Droid/F-Droid
2021-01-04 18:12:48 +01:00
Yogesh
9f443e8562 Translated using Weblate: Kannada (kn) by Yogesh <yogesh@karnatakaeducation.org.in>
Currently translated at 68.1% (310 of 455 strings)

Co-authored-by: Yogesh <yogesh@karnatakaeducation.org.in>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/kn/
Translation: F-Droid/F-Droid
2021-01-04 18:12:42 +01:00
Besnik Bleta
0cc38b3d0a Translated using Weblate: Albanian (sq) by Besnik Bleta <besnik@programeshqip.org>
Currently translated at 99.1% (451 of 455 strings)

Co-authored-by: Besnik Bleta <besnik@programeshqip.org>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/sq/
Translation: F-Droid/F-Droid
2021-01-04 18:11:18 +01:00
Eduardo Rodrigues
29c8ed09a0 Translated using Weblate: Albanian (sq) by Eduardo Rodrigues <edu.rodrigues2580@gmail.com>
Currently translated at 100.0% (455 of 455 strings)

Co-authored-by: Eduardo Rodrigues <edu.rodrigues2580@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/sq/
Translation: F-Droid/F-Droid
2021-01-04 18:11:16 +01:00
Hans-Christoph Steiner
ef22161f91 Translated using Weblate: Marathi (mr) by Hans-Christoph Steiner <hans@guardianproject.info>
Currently translated at 73.1% (333 of 455 strings)

Translation: F-Droid/F-Droid
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/mr/
2021-01-04 18:10:30 +01:00
Mahem Jadhav
164adf3cf3 Translated using Weblate: Marathi (mr) by Mahem Jadhav <mahem4ever@gmail.com>
Currently translated at 72.7% (331 of 455 strings)

Translated using Weblate: Marathi (mr) by Mahem Jadhav <mahem4ever@gmail.com>

Currently translated at 54.5% (248 of 455 strings)

Translated using Weblate: Marathi (mr) by Mahem Jadhav <mahem4ever@gmail.com>

Currently translated at 37.1% (169 of 455 strings)

Translated using Weblate: Marathi (mr) by Mahem Jadhav <mahem4ever@gmail.com>

Currently translated at 37.8% (172 of 455 strings)

Added translation using Weblate: Marathi (mr) by Mahem Jadhav <mahem4ever@gmail.com>

Co-authored-by: Mahem Jadhav <mahem4ever@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/mr/
Translation: F-Droid/F-Droid
2021-01-04 18:10:26 +01:00
Bruno Rocha
25a61583ac Translated using Weblate: Portuguese (Portugal) (pt-rPT) by Bruno Rocha <brunorocha@outlook.com>
Currently translated at 100.0% (455 of 455 strings)

Translation: F-Droid/F-Droid
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/pt_PT/
2021-01-04 18:09:54 +01:00
Miguel
4fc0a3d313 Translated using Weblate: Portuguese (Portugal) (pt-rPT) by Miguel <miguelcristovao99@gmail.com>
Currently translated at 100.0% (455 of 455 strings)

Co-authored-by: Miguel <miguelcristovao99@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/pt_PT/
Translation: F-Droid/F-Droid
2021-01-04 18:09:52 +01:00
mrkazoodle
626d924e03 Translated using Weblate: Dutch (Belgium) (nl-rBE) by mrkazoodle <philip_hoflack@hotmail.com>
Currently translated at 100.0% (455 of 455 strings)

Translated using Weblate: Dutch (nl) by mrkazoodle <philip_hoflack@hotmail.com>

Currently translated at 100.0% (455 of 455 strings)

Co-authored-by: mrkazoodle <philip_hoflack@hotmail.com>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/nl/
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/nl_BE/
Translation: F-Droid/F-Droid
2021-01-04 18:09:40 +01:00
Oukiki Saleh
069dc9de15 Translated using Weblate: Arabic (ar) by Oukiki Saleh <salehoukiki@gmail.com>
Currently translated at 100.0% (455 of 455 strings)

Co-authored-by: Oukiki Saleh <salehoukiki@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/ar/
Translation: F-Droid/F-Droid
2021-01-04 18:09:05 +01:00
Balázs Meskó
9e6900452b Translated using Weblate: Hungarian (hu) by Balázs Meskó <meskobalazs@mailbox.org>
Currently translated at 100.0% (455 of 455 strings)

Co-authored-by: Balázs Meskó <meskobalazs@mailbox.org>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/hu/
Translation: F-Droid/F-Droid
2021-01-04 18:08:50 +01:00
Allan Nordhøy
9be0dc3414 Translated using Weblate: Norwegian Bokmål (nb) by Allan Nordhøy <epost@anotheragency.no>
Currently translated at 99.7% (454 of 455 strings)

Translation: F-Droid/F-Droid
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/nb_NO/
2021-01-04 18:08:40 +01:00
Allan Nordhøy
4eb5146f17 Translated using Weblate: Norwegian Bokmål (nb) by Allan Nordhøy <epost@anotheragency.no>
Currently translated at 99.5% (453 of 455 strings)

Translation: F-Droid/F-Droid
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/nb_NO/
2021-01-04 18:08:38 +01:00
mondstern
3147fd9646 Translated using Weblate: Norwegian Bokmål (nb) by mondstern <mondstern@snopyta.org>
Currently translated at 100.0% (455 of 455 strings)

Translation: F-Droid/F-Droid
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/nb_NO/
2021-01-04 18:08:35 +01:00
Allan Nordhøy
344e5923af Translated using Weblate: Norwegian Bokmål (nb) by Allan Nordhøy <epost@anotheragency.no>
Currently translated at 62.5% (20 of 32 strings)

Translated using Weblate: Norwegian Bokmål (nb) by Allan Nordhøy <epost@anotheragency.no>

Currently translated at 99.5% (453 of 455 strings)

Co-authored-by: Allan Nordhøy <epost@anotheragency.no>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/nb_NO/
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/nb_NO/
Translation: F-Droid/F-Droid
Translation: F-Droid/F-Droid metadata
2021-01-04 18:08:32 +01:00
Danial Behzadi
1df2613b7c Translated using Weblate: Persian (fa) by Danial Behzadi <dani.behzi@ubuntu.com>
Currently translated at 100.0% (455 of 455 strings)

Co-authored-by: Danial Behzadi <dani.behzi@ubuntu.com>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/fa/
Translation: F-Droid/F-Droid
2021-01-04 18:08:10 +01:00
Gerrits
0738c4dfee Translated using Weblate: Dutch (nl) by Gerrits <rf.gerrits@gmail.com>
Currently translated at 100.0% (455 of 455 strings)

Co-authored-by: Gerrits <rf.gerrits@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/nl/
Translation: F-Droid/F-Droid
2021-01-04 18:08:01 +01:00
jimman2003
6134a2ee0a Translated using Weblate: Greek (el) by jimman2003 <jim41825@gmail.com>
Currently translated at 100.0% (455 of 455 strings)

Co-authored-by: jimman2003 <jim41825@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/el/
Translation: F-Droid/F-Droid
2021-01-04 18:07:50 +01:00
BennyBeat
11b375531a Translated using Weblate: Catalan (ca) by BennyBeat <bennybeat@gmail.com>
Currently translated at 99.7% (454 of 455 strings)

Co-authored-by: BennyBeat <bennybeat@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/ca/
Translation: F-Droid/F-Droid
2021-01-04 18:07:29 +01:00
Fernando Verdugo
292ac90e8e Translated using Weblate: Catalan (ca) by Fernando Verdugo <fv3rdugo@gmail.com>
Currently translated at 99.7% (454 of 455 strings)

Co-authored-by: Fernando Verdugo <fv3rdugo@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/ca/
Translation: F-Droid/F-Droid
2021-01-04 18:07:26 +01:00
Alvaro
151446adff Translated using Weblate: Spanish (es) by Alvaro <alvaro@null.net>
Currently translated at 100.0% (455 of 455 strings)

Co-authored-by: Alvaro <alvaro@null.net>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/es/
Translation: F-Droid/F-Droid
2021-01-04 18:07:14 +01:00
Crisalis
bd219210c0 Translated using Weblate: Spanish (es) by Crisalis <tegaminorune@disroot.org>
Currently translated at 100.0% (455 of 455 strings)

Co-authored-by: Crisalis <tegaminorune@disroot.org>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/es/
Translation: F-Droid/F-Droid
2021-01-04 18:07:09 +01:00
Bjorn Roesbeke
1ac266ac1e Translated using Weblate: Dutch (Belgium) (nl-rBE) by Bjorn Roesbeke <inbox@bjornroesbeke.be>
Currently translated at 100.0% (455 of 455 strings)

Co-authored-by: Bjorn Roesbeke <inbox@bjornroesbeke.be>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/nl_BE/
Translation: F-Droid/F-Droid
2021-01-04 18:07:00 +01:00
Jonatan Nyberg
ac7b4dcbc9 Translated using Weblate: Swedish (sv) by Jonatan Nyberg <jonatan.nyberg.karl@gmail.com>
Currently translated at 100.0% (455 of 455 strings)

Translated using Weblate: Swedish (sv) by Jonatan Nyberg <jonatan.nyberg.karl@gmail.com>

Currently translated at 100.0% (455 of 455 strings)

Translated using Weblate: Swedish (sv) by Jonatan Nyberg <jonatan.nyberg.karl@gmail.com>

Currently translated at 100.0% (455 of 455 strings)

Co-authored-by: Jonatan Nyberg <jonatan.nyberg.karl@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/sv/
Translation: F-Droid/F-Droid
2021-01-04 18:06:53 +01:00
Gontzal Manuel Pujana Onaindia
ce7c14e4a2 Translated using Weblate: Basque (eu) by Gontzal Manuel Pujana Onaindia <thadahdenyse@gmail.com>
Currently translated at 100.0% (455 of 455 strings)

Co-authored-by: Gontzal Manuel Pujana Onaindia <thadahdenyse@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/eu/
Translation: F-Droid/F-Droid
2021-01-04 18:06:37 +01:00
C. Rüdinger
9c7648a03d Translated using Weblate: German (de) by C. Rüdinger <Mail-an-CR@web.de>
Currently translated at 100.0% (455 of 455 strings)

Co-authored-by: C. Rüdinger <Mail-an-CR@web.de>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/de/
Translation: F-Droid/F-Droid
2021-01-04 18:04:56 +01:00
Fynn Godau
faa27d181e Translated using Weblate: German (de) by Fynn Godau <fynngodau@mailbox.org>
Currently translated at 100.0% (455 of 455 strings)

Co-authored-by: Fynn Godau <fynngodau@mailbox.org>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/de/
Translation: F-Droid/F-Droid
2021-01-04 18:04:56 +01:00
J. Lavoie
7d9c12ecf9 Translated using Weblate: Spanish (Argentina) (es-rAR) by J. Lavoie <j.lavoie@net-c.ca>
Currently translated at 100.0% (455 of 455 strings)

Translated using Weblate: German (de) by J. Lavoie <j.lavoie@net-c.ca>

Currently translated at 100.0% (455 of 455 strings)

Co-authored-by: J. Lavoie <j.lavoie@net-c.ca>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/de/
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/es_AR/
Translation: F-Droid/F-Droid
2021-01-04 18:04:56 +01:00
Eduardo Rodrigues
90bd663ad9 Translated using Weblate: Portuguese (Brazil) (pt-BR) by Eduardo Rodrigues <edu.rodrigues2580@gmail.com>
Currently translated at 100.0% (33 of 33 strings)

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/pt_BR/
2021-01-04 18:04:39 +01:00
Eric
a77feac6f0 Translated using Weblate: Chinese (Simplified) (zh-CN) by Eric <spice2wolf@gmail.com>
Currently translated at 100.0% (33 of 33 strings)

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/zh_Hans/
2021-01-04 18:04:15 +01:00
Moo
3d39d1ee4a Translated using Weblate: Lithuanian (lt) by Moo <hazap@hotmail.com>
Currently translated at 72.3% (329 of 455 strings)

Translated using Weblate: Lithuanian (lt) by Moo <hazap@hotmail.com>

Currently translated at 71.8% (327 of 455 strings)

Translated using Weblate: Lithuanian (lt) by Moo <hazap@hotmail.com>

Currently translated at 6.2% (2 of 32 strings)

Translated using Weblate: Lithuanian (lt) by Moo <hazap@hotmail.com>

Currently translated at 72.0% (328 of 455 strings)

Co-authored-by: Moo <hazap@hotmail.com>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/lt/
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/lt/
Translation: F-Droid/F-Droid
Translation: F-Droid/F-Droid metadata
2021-01-04 18:03:18 +01:00
aqwer-T
99b14f5a54 Translated using Weblate: Lithuanian (lt) by aqwer-T <aleksas.muliuolis18@gmail.com>
Currently translated at 72.9% (332 of 455 strings)

Co-authored-by: aqwer-T <aleksas.muliuolis18@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/lt/
Translation: F-Droid/F-Droid
2021-01-04 18:02:59 +01:00
HardLight
73e189613d Translated using Weblate: Lithuanian (lt) by HardLight <hardlightxda@gmail.com>
Currently translated at 72.3% (329 of 455 strings)

Co-authored-by: HardLight <hardlightxda@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/lt/
Translation: F-Droid/F-Droid
2021-01-04 18:02:48 +01:00
Ihor Hordiichuk
e36e1b0aee Translated using Weblate: Ukrainian (uk) by Ihor Hordiichuk <igor_ck@outlook.com>
Currently translated at 100.0% (33 of 33 strings)

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/uk/
2021-01-04 18:00:22 +01:00
Oğuz Ersen
42dbdef5f1 Translated using Weblate: Turkish (tr) by Oğuz Ersen <oguzersen@protonmail.com>
Currently translated at 100.0% (33 of 33 strings)

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/tr/
2021-01-04 18:00:22 +01:00
Andrey
67bf515a17 Translated using Weblate: Russian (ru) by Andrey <andrey@mailbox.org>
Currently translated at 100.0% (33 of 33 strings)

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/ru/
2021-01-04 18:00:22 +01:00
Andrey
aa453227af Translated using Weblate: Russian (ru) by Andrey <andrey@mailbox.org>
Currently translated at 100.0% (455 of 455 strings)

Translation: F-Droid/F-Droid
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/ru/
2021-01-04 18:00:22 +01:00
Eduardo Rodrigues
810445c298 Translated using Weblate: Portuguese (pt) by Eduardo Rodrigues <edu.rodrigues2580@gmail.com>
Currently translated at 100.0% (33 of 33 strings)

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/pt/
2021-01-04 18:00:22 +01:00
Yaron Shahrabani
fc88599132 Translated using Weblate: Hebrew (he) by Yaron Shahrabani <sh.yaron@gmail.com>
Currently translated at 100.0% (33 of 33 strings)

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/he/
2021-01-04 18:00:22 +01:00
Verdulo
64fb1f17a3 Translated using Weblate: Esperanto (eo) by Verdulo <tomek@disroot.org>
Currently translated at 100.0% (33 of 33 strings)

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/eo/
2021-01-04 18:00:22 +01:00
Hans-Christoph Steiner
3a15230eba pick-complete-translations.py: print out rationale 2020-12-30 12:56:02 +01:00
Hans-Christoph Steiner
13614a916b
fix checks in weblate
https://hosted.weblate.org/checks/?project=f-droid&component=f-droid
2020-12-29 22:38:22 +01:00
Hans-Christoph Steiner
6b50a963b8 update CHANGELOG 2020-12-29 22:18:56 +01:00
Hans-Christoph Steiner
797a006b02 IntentFilters for longer URLs to support GitCDN/RawGit/etc mirrors
https://guardianproject.info/2020/12/07/distribution-in-depth-mirrors-as-a-source-of-resiliency/

These mirrors do not have archives in general.
2020-12-29 22:18:56 +01:00
Hans-Christoph Steiner
1d10bf16d2 Merge branch 'weblate' into 'master'
Weblate

See merge request fdroid/fdroidclient!960
2020-12-29 21:18:18 +00:00
Hans-Christoph Steiner
054d6318e9 Translated using Weblate: Belarusian (be) by Hans-Christoph Steiner <hans@guardianproject.info>
Currently translated at 100.0% (455 of 455 strings)

Translation: F-Droid/F-Droid
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/be/
2020-12-29 18:00:11 +01:00
Hans-Christoph Steiner
560b178c09 Translated using Weblate: Afrikaans (af) by Hans-Christoph Steiner <hans@guardianproject.info>
Currently translated at 100.0% (455 of 455 strings)

Translation: F-Droid/F-Droid
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/af/
2020-12-29 18:00:11 +01:00
Hans-Christoph Steiner
bdbf48185d Translated using Weblate: Uyghur (ug) by Hans-Christoph Steiner <hans@guardianproject.info>
Currently translated at 49.2% (224 of 455 strings)

Translation: F-Droid/F-Droid
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/ug/
2020-12-29 18:00:11 +01:00
Hans-Christoph Steiner
5581a84788 Translated using Weblate: Latvian (lv) by Hans-Christoph Steiner <hans@guardianproject.info>
Currently translated at 45.2% (206 of 455 strings)

Translation: F-Droid/F-Droid
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/lv/
2020-12-29 18:00:11 +01:00
Hans-Christoph Steiner
fc97db723a Translated using Weblate: Galician (gl) by Hans-Christoph Steiner <hans@guardianproject.info>
Currently translated at 100.0% (455 of 455 strings)

Translation: F-Droid/F-Droid
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/gl/
2020-12-29 18:00:11 +01:00
Hans-Christoph Steiner
d4134ab03f Translated using Weblate: Asturian (ast) by Hans-Christoph Steiner <hans@guardianproject.info>
Currently translated at 90.7% (413 of 455 strings)

Translation: F-Droid/F-Droid
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/ast/
2020-12-29 18:00:11 +01:00
Hans-Christoph Steiner
9d57cd2076 Translated using Weblate: Arabic (ar) by Hans-Christoph Steiner <hans@guardianproject.info>
Currently translated at 100.0% (455 of 455 strings)

Translation: F-Droid/F-Droid
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/ar/
2020-12-29 18:00:11 +01:00
Nine Lima
ee22e1710b Translated using Weblate: Afrikaans (af) by Nine Lima <ninelima@yahoo.com>
Currently translated at 12.5% (4 of 32 strings)

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/af/
2020-12-29 18:00:11 +01:00
Ldm Public
d59bfd5af4 Translated using Weblate: French (fr) by Ldm Public <ldmpub@gmail.com>
Currently translated at 100.0% (455 of 455 strings)

Translation: F-Droid/F-Droid
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/fr/
2020-12-29 18:00:11 +01:00
Sergiu
c986a70a08 Translated using Weblate: Romanian (ro) by Sergiu <adinfinitvm@wail.ch>
Currently translated at 100.0% (455 of 455 strings)

Translation: F-Droid/F-Droid
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/ro/
2020-12-29 18:00:11 +01:00
Nine Lima
fb442d82db Translated using Weblate: Afrikaans (af) by Nine Lima <ninelima@yahoo.com>
Currently translated at 72.9% (332 of 455 strings)

Co-authored-by: Nine Lima <ninelima@yahoo.com>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/af/
Translation: F-Droid/F-Droid
2020-12-29 18:00:11 +01:00
Besnik Bleta
865f4a7c1f Translated using Weblate: Albanian (sq) by Besnik Bleta <besnik@programeshqip.org>
Currently translated at 96.8% (31 of 32 strings)

Co-authored-by: Besnik Bleta <besnik@programeshqip.org>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/sq/
Translation: F-Droid/F-Droid metadata
2020-12-29 18:00:11 +01:00
WaldiS
5a0cfb93ba Translated using Weblate: Polish (pl) by WaldiS <sto@tutanota.de>
Currently translated at 100.0% (32 of 32 strings)

Co-authored-by: WaldiS <sto@tutanota.de>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/pl/
Translation: F-Droid/F-Droid metadata
2020-12-29 18:00:11 +01:00
The Cats
b2b7a27377 Translated using Weblate: Portuguese (Brazil) (pt-BR) by The Cats <philosoph@snopyta.org>
Currently translated at 100.0% (32 of 32 strings)

Co-authored-by: The Cats <philosoph@snopyta.org>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/pt_BR/
Translation: F-Droid/F-Droid metadata
2020-12-29 18:00:11 +01:00
askar882
0225805e88 Translated using Weblate: Chinese (Simplified) (zh-rCN) by askar882 <askar882@qq.com>
Currently translated at 100.0% (455 of 455 strings)

Co-authored-by: askar882 <askar882@qq.com>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/zh_Hans/
Translation: F-Droid/F-Droid
2020-12-29 18:00:11 +01:00
NightFeather
3218a5e0ae Translated using Weblate: Chinese (Traditional) (zh-TW) by NightFeather <ss900328@gmail.com>
Currently translated at 21.8% (7 of 32 strings)

Co-authored-by: NightFeather <ss900328@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/zh_Hant/
Translation: F-Droid/F-Droid metadata
2020-12-29 18:00:11 +01:00
Étienne Deparis
6497d8f8ba Translated using Weblate: French (fr) by Étienne Deparis <etienne@depar.is>
Currently translated at 100.0% (32 of 32 strings)

Translated using Weblate: French (fr) by Étienne Deparis <etienne@depar.is>

Currently translated at 100.0% (455 of 455 strings)

Co-authored-by: Étienne Deparis <etienne@depar.is>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/fr/
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/fr/
Translation: F-Droid/F-Droid
Translation: F-Droid/F-Droid metadata
2020-12-29 18:00:11 +01:00
Michal L
62aea8a02a Translated using Weblate: Polish (pl) by Michal L <michalrmsmi@wp.pl>
Currently translated at 96.8% (31 of 32 strings)

Translated using Weblate: Polish (pl) by Michal L <michalrmsmi@wp.pl>

Currently translated at 100.0% (455 of 455 strings)

Co-authored-by: Michal L <michalrmsmi@wp.pl>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/pl/
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/pl/
Translation: F-Droid/F-Droid
Translation: F-Droid/F-Droid metadata
2020-12-29 18:00:11 +01:00
Eric
12568dfd31 Translated using Weblate: Chinese (Simplified) (zh-CN) by Eric <spice2wolf@gmail.com>
Currently translated at 100.0% (32 of 32 strings)

Co-authored-by: Eric <spice2wolf@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/zh_Hans/
Translation: F-Droid/F-Droid metadata
2020-12-29 18:00:11 +01:00
Tymofij Lytvynenko
182200659d Translated using Weblate: Ukrainian (uk) by Tymofij Lytvynenko <till.svit@gmail.com>
Currently translated at 100.0% (455 of 455 strings)

Co-authored-by: Tymofij Lytvynenko <till.svit@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/uk/
Translation: F-Droid/F-Droid
2020-12-29 17:41:29 +01:00
Ihor Hordiichuk
5acde313b6 Translated using Weblate: Ukrainian (uk) by Ihor Hordiichuk <igor_ck@outlook.com>
Currently translated at 100.0% (455 of 455 strings)

Translated using Weblate: Ukrainian (uk) by Ihor Hordiichuk <igor_ck@outlook.com>

Currently translated at 100.0% (32 of 32 strings)

Co-authored-by: Ihor Hordiichuk <igor_ck@outlook.com>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/uk/
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/uk/
Translation: F-Droid/F-Droid
Translation: F-Droid/F-Droid metadata
2020-12-29 17:41:29 +01:00
Ali Demirtas
2bc0a847ed Translated using Weblate: Turkish (tr) by Ali Demirtas <alidemirtas94@gmail.com>
Currently translated at 100.0% (455 of 455 strings)

Co-authored-by: Ali Demirtas <alidemirtas94@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/tr/
Translation: F-Droid/F-Droid
2020-12-29 17:41:29 +01:00
Oğuz Ersen
d35d44f4bf Translated using Weblate: Turkish (tr) by Oğuz Ersen <oguzersen@protonmail.com>
Currently translated at 100.0% (32 of 32 strings)

Co-authored-by: Oğuz Ersen <oguzersen@protonmail.com>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/tr/
Translation: F-Droid/F-Droid metadata
2020-12-29 17:41:29 +01:00
Golubev Alexander
56039cbdbb Translated using Weblate: Russian (ru) by Golubev Alexander <fatzer2@gmail.com>
Currently translated at 100.0% (455 of 455 strings)

Translation: F-Droid/F-Droid
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/ru/
2020-12-29 17:41:29 +01:00
Artem
6e9385b190 Translated using Weblate: Russian (ru) by Artem <KovalevArtem.ru@gmail.com>
Currently translated at 100.0% (455 of 455 strings)

Translation: F-Droid/F-Droid
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/ru/
2020-12-29 17:41:29 +01:00
Golubev Alexander
cf4429e341 Translated using Weblate: Russian (ru) by Golubev Alexander <fatzer2@gmail.com>
Currently translated at 100.0% (32 of 32 strings)

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/ru/
2020-12-29 17:41:29 +01:00
Golubev Alexander
9ac9eca6ce Translated using Weblate: Russian (ru) by Golubev Alexander <fatzer2@gmail.com>
Currently translated at 100.0% (455 of 455 strings)

Translation: F-Droid/F-Droid
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/ru/
2020-12-29 17:41:29 +01:00
Golubev Alexander
bfa281e9ac Translated using Weblate: Russian (ru) by Golubev Alexander <fatzer2@gmail.com>
Currently translated at 100.0% (32 of 32 strings)

Co-authored-by: Golubev Alexander <fatzer2@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/ru/
Translation: F-Droid/F-Droid metadata
2020-12-29 17:41:28 +01:00
Ertu Official
6ef94ef9cd Translated using Weblate: Russian (ru) by Ertu Official <er2off@outlook.com>
Currently translated at 100.0% (32 of 32 strings)

Co-authored-by: Ertu Official <er2off@outlook.com>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/ru/
Translation: F-Droid/F-Droid metadata
2020-12-29 17:41:28 +01:00
Igor Benek-Lins
e7ae54590e Translated using Weblate: Portuguese (pt) by Igor Benek-Lins <beneklins@protonmail.ch>
Currently translated at 100.0% (455 of 455 strings)

Co-authored-by: Igor Benek-Lins <beneklins@protonmail.ch>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/pt/
Translation: F-Droid/F-Droid
2020-12-29 17:41:28 +01:00
ssantos
342c5b3fa6 Translated using Weblate: Portuguese (pt) by ssantos <ssantos@web.de>
Currently translated at 100.0% (32 of 32 strings)

Translated using Weblate: Portuguese (Portugal) (pt-PT) by ssantos <ssantos@web.de>

Currently translated at 100.0% (32 of 32 strings)

Co-authored-by: ssantos <ssantos@web.de>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/pt/
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/pt_PT/
Translation: F-Droid/F-Droid metadata
2020-12-29 17:41:28 +01:00
x
55547291c7 Translated using Weblate: Italian (it) by x <hardwired1.0@protonmail.com>
Currently translated at 100.0% (32 of 32 strings)

Translated using Weblate: Italian (it) by x <hardwired1.0@protonmail.com>

Currently translated at 100.0% (455 of 455 strings)

Co-authored-by: x <hardwired1.0@protonmail.com>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/it/
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/it/
Translation: F-Droid/F-Droid
Translation: F-Droid/F-Droid metadata
2020-12-29 17:41:28 +01:00
random r
58429b81f7 Translated using Weblate: Italian (it) by random r <epsilin@yopmail.com>
Currently translated at 100.0% (455 of 455 strings)

Co-authored-by: random r <epsilin@yopmail.com>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/it/
Translation: F-Droid/F-Droid
2020-12-29 17:41:28 +01:00
x
e33751ef3b Translated using Weblate: Italian (it) by x <hardwired1.0@protonmail.com>
Currently translated at 100.0% (455 of 455 strings)

Translated using Weblate: Italian (it) by x <hardwired1.0@protonmail.com>

Currently translated at 100.0% (455 of 455 strings)

Co-authored-by: x <hardwired1.0@protonmail.com>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/it/
Translation: F-Droid/F-Droid
2020-12-29 17:41:28 +01:00
Massimiliano Caniparoli
34abd85289 Translated using Weblate: Italian (it) by Massimiliano Caniparoli <massic80@gmail.com>
Currently translated at 100.0% (455 of 455 strings)

Translated using Weblate: Italian (it) by Massimiliano Caniparoli <massic80@gmail.com>

Currently translated at 100.0% (455 of 455 strings)

Co-authored-by: Massimiliano Caniparoli <massic80@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/it/
Translation: F-Droid/F-Droid
2020-12-29 17:41:28 +01:00
Yaron Shahrabani
9c4c4e9883 Translated using Weblate: Hebrew (he) by Yaron Shahrabani <sh.yaron@gmail.com>
Currently translated at 100.0% (32 of 32 strings)

Translated using Weblate: Hebrew (he) by Yaron Shahrabani <sh.yaron@gmail.com>

Currently translated at 100.0% (32 of 32 strings)

Co-authored-by: Yaron Shahrabani <sh.yaron@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/he/
Translation: F-Droid/F-Droid metadata
2020-12-29 17:41:28 +01:00
Verdulo
897f4b0f8f Translated using Weblate: Esperanto (eo) by Verdulo <tomek@disroot.org>
Currently translated at 100.0% (455 of 455 strings)

Translated using Weblate: Esperanto (eo) by Verdulo <tomek@disroot.org>

Currently translated at 100.0% (455 of 455 strings)

Translated using Weblate: Esperanto (eo) by Verdulo <tomek@disroot.org>

Currently translated at 100.0% (32 of 32 strings)

Co-authored-by: Verdulo <tomek@disroot.org>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/eo/
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/eo/
Translation: F-Droid/F-Droid
Translation: F-Droid/F-Droid metadata
2020-12-29 17:41:28 +01:00
Hans-Christoph Steiner
d14a5200f1 Merge branch 'Use_ViewCompat_requireViewById' into 'master'
Use ViewCompat.requireViewById().

See merge request fdroid/fdroidclient!958
2020-12-29 15:52:11 +00:00
Hans-Christoph Steiner
81ba7148d3 Merge branch 'Use_ServiceCompat_stopForeground' into 'master'
Use ServiceCompat.stopForeground().

See merge request fdroid/fdroidclient!956
2020-12-29 15:48:51 +00:00
Isira Seneviratne
0835b777a9 Use ViewCompat.requireViewById(). 2020-12-20 05:26:25 +05:30
Isira Seneviratne
1b428087cf Use ServiceCompat.stopForeground(). 2020-12-20 04:58:10 +05:30
Hans-Christoph Steiner
be3ac52000 rename PackageProvider to PackageIdProvider 2020-11-19 14:02:12 +01:00
Hans-Christoph Steiner
413e2672c6 Merge branch 'linkify-web-urls' into 'master'
Linkify web urls

See merge request fdroid/fdroidclient!952
2020-11-18 23:55:20 +00:00
Hans-Christoph Steiner
331d4a174d
fix checkstyle EmptyStatement 2020-11-18 23:30:35 +01:00
Hans-Christoph Steiner
7248375a3a
linkify web URLs in description in App Details
fdroid-website#510
fdroid-website#167
fdroidserver#845
fdroiddata@d6c5315a
jekyll-fdroid!60
2020-11-18 23:20:37 +01:00
Hans-Christoph Steiner
f4ae1aacc7 Merge branch 'usb-otg-nearby-repos' into 'master'
fix repo handling on SDCard/USB-OTG

See merge request fdroid/fdroidclient!950
2020-11-18 21:57:39 +00:00
Hans-Christoph Steiner
8f4263097c Merge branch 'Use_HtmlCompat' into 'master'
Use HtmlCompat.fromHtml().

See merge request fdroid/fdroidclient!917
2020-11-18 21:55:32 +00:00
Isira Seneviratne
ae4b6a8b7c Use HtmlCompat.fromHtml(). 2020-11-12 06:45:25 +05:30
Hans-Christoph Steiner
d00108ba68 support opening USB-OTG on android-29+
Here's another gem: they added this nice new API in android-24 and told
everyone this was THE WAY. Then they made it a no-op in android-29
https://developer.android.com/reference/android/os/storage/StorageVolume#createAccessIntent(java.lang.String)
2020-11-11 18:26:22 +01:00
Hans-Christoph Steiner
6887e09d88 properly track ContentObservers so they can be unregistered 2020-11-11 18:25:30 +01:00
Hans-Christoph Steiner
8209bf9a0b allow SDCard/TreeUri scans to be manually triggered by user button press
Before, the preference blocked all scans.  That lead to confusing UX
since the "Try it" and USB-OTG buttons would do nothing.
2020-11-11 18:25:30 +01:00
Hans-Christoph Steiner
6af66abf54 use MEDIA_* events to update USB-OTG detection
This means that sometimes the NearbyView is updated from a
BroadcastReceiver's Context, which is not an Activity.  So this has to
try a little harder to fetch the Activity instance needed for the
prompt to request permissions to a folder on the USB.  This adds a
failsafe to fallback to the file:/// scanning in SDCardScannerService.
2020-11-11 18:25:30 +01:00
Hans-Christoph Steiner
6fd7970ca5 update USB-OTG status every time the user switches to Nearby
The USB-OTG device can be plugged and unplugged anytime, so the Nearby view
should be updated each time the user switches to this screen.  Registered
callbacks should handle updating the USB-OTG status while the Nearby view
is active.
2020-11-11 18:25:30 +01:00
Hans-Christoph Steiner
bd45f0fdc5 Merge branch 'Remove_MenuItemCompat' into 'master'
Remove MenuItemCompat usages.

See merge request fdroid/fdroidclient!948
2020-11-11 17:00:19 +00:00
Hans-Christoph Steiner
043ed328d2 Merge branch 'Use_ContextCompat_methods' into 'master'
Use ContextCompat methods.

See merge request fdroid/fdroidclient!914
2020-11-11 16:57:39 +00:00
Isira Seneviratne
fcd3fadc9e Remove MenuItemCompat usages. 2020-11-06 16:36:59 +05:30
Isira Seneviratne
fb8922b252 Use ContextCompat.getSystemService(). 2020-11-06 16:27:11 +05:30
Isira Seneviratne
8b9c624d75 Use ContextCompat.startForegroundService(). 2020-11-06 16:26:37 +05:30
Isira Seneviratne
5254a6f1aa Use ContextCompat.getColor(). 2020-11-06 16:26:34 +05:30
Isira Seneviratne
6a0cd0a14a Use ContextCompat.getDrawable(). 2020-11-06 16:25:23 +05:30
Isira Seneviratne
07f3e778d3 Use ContextCompat.startActivity(). 2020-11-06 16:23:25 +05:30
Hans-Christoph Steiner
2f0994d16f Merge branch 'master' into 'master'
ApplicationID / PackageName is defined as case-sensitive

See merge request fdroid/fdroidclient!944
2020-11-06 10:12:41 +00:00
Hans-Christoph Steiner
038eeadca6 Merge branch 'disable-metadata-verification' into 'master'
gradle dependency verification is too buggy with .pom metadata

See merge request fdroid/fdroidclient!945
2020-11-06 10:11:59 +00:00
Hans-Christoph Steiner
5ffb6636a3 Merge branch 'Use_vector_drawables' into 'master'
Use vector drawables.

See merge request fdroid/fdroidclient!946
2020-11-06 09:45:37 +00:00
Isira Seneviratne
9a0ae69bbd Set tint for license, translation and video drawables to match the new ones. 2020-10-24 08:54:01 +05:30
Isira Seneviratne
554eb27a81 Replace website PNGs with a vector drawable. 2020-10-24 08:04:53 +05:30
Isira Seneviratne
7777272313 Replace donate PNGs with a vector drawable. 2020-10-24 06:02:27 +05:30
Isira Seneviratne
0ebb0b1b40 Replace changelog PNGs with a vector drawable. 2020-10-24 05:54:53 +05:30
Isira Seneviratne
aefaf38cee Replace do not disturb PNGs with a vector drawable. 2020-10-23 17:31:46 +05:30
Isira Seneviratne
a2858b7e8b Replace code PNGs with a vector drawable. 2020-10-23 17:31:45 +05:30
Isira Seneviratne
3b318e4b6f Replace share PNGs with a vector drawable. 2020-10-23 17:31:45 +05:30
Isira Seneviratne
a92eb3c899 Replace search PNGs with a vector drawable. 2020-10-23 17:31:44 +05:30
Isira Seneviratne
1924f38bc6 Replace refresh PNGs with a vector drawable. 2020-10-23 17:31:44 +05:30
Isira Seneviratne
c438611030 Replace NFC PNGs with a vector drawable. 2020-10-23 17:31:43 +05:30
Isira Seneviratne
dd5153e445 Replace error PNGs with a vector drawable. 2020-10-23 17:31:43 +05:30
Isira Seneviratne
b6f8f8d6b7 Replace lock PNGs with a vector drawable. 2020-10-23 17:31:42 +05:30
Isira Seneviratne
6c241c8e4a Replace alphabetical order PNGs with a vector drawable. 2020-10-23 17:31:41 +05:30
Isira Seneviratne
d5d9aa897c Replace expand PNGs with vector drawables. 2020-10-23 17:31:40 +05:30
Isira Seneviratne
89d6c475f7 Replace email PNGs with a vector drawable. 2020-10-23 17:31:35 +05:30
Isira Seneviratne
de5b35e776 Replace delete PNGs with a vector drawable. 2020-10-23 16:10:11 +05:30
Isira Seneviratne
2fa3ff166b Replace access time and last updated PNGs with a vector drawable. 2020-10-23 16:10:05 +05:30
Isira Seneviratne
4b28ca9591 Replace add PNGs with a vector drawable. 2020-10-23 16:09:02 +05:30
Isira Seneviratne
7b0e2b3ec9 Replace forward arrow PNGs with a vector drawable. 2020-10-23 16:09:01 +05:30
Isira Seneviratne
607d27a139 Replace Bluetooth PNGs with a vector drawable. 2020-10-23 16:09:01 +05:30
Isira Seneviratne
5bf7a33903 Replace check circle PNGs with a vector drawable. 2020-10-23 16:09:01 +05:30
Isira Seneviratne
0b25365330 Replace add circle outline PNGs with a vector drawable. 2020-10-23 16:09:00 +05:30
Isira Seneviratne
a9b37a533e Replace WiFi and hotspot PNGs with vector drawables. 2020-10-23 16:09:00 +05:30
Hans-Christoph Steiner
16095c8bfd remove unused imports 2020-10-22 11:52:06 +02:00
Hans-Christoph Steiner
4640146842 gradle dependency verification is too buggy with .pom metadata
This disables the verification of .pom files.  .pom files can add
dependencies, so it would be good to have them verified.  But since this
current setup requires all JAR to be verified, any new dependencies would
fail anyway:
https://docs.gradle.org/current/userguide/dependency_verification.html#sec:disabling-metadata-verification

In some cases everything works fine, like on gitlab-ci, and in other places
it always gives errors like this:

```
A problem occurred configuring root project 'client'.
> Dependency verification failed for configuration ':classpath'
  4 artifacts failed verification:
    - all-1.2.0.pom (com.sun.activation:all:1.2.0) from repository MavenRepo
    - jvnet-parent-1.pom (net.java:jvnet-parent:1) from repository MavenRepo
    - oss-parent-7.pom (org.sonatype.oss:oss-parent:7) from repository MavenRepo
    - oss-parent-9.pom (org.sonatype.oss:oss-parent:9) from repository MavenRepo
  This can indicate that a dependency has been compromised. Please carefully verify the checksums.

  Open this report for more details: file:///home/hans/code/fdroid/client/build/reports/dependency-verification/at-1603359642220/dependency-verification-report.html
```

@glennmen and @eighthave both are getting that error.
2020-10-22 11:49:17 +02:00
Hans-Christoph Steiner
f51527befa
ApplicationID / PackageName is defined as case-sensitive
* fdroidserver uses case-sensitive naming since it is based on GNU/Linux
  filesystems, which are case-sensitive by default.

* "the application ID looks like a traditional Java package name, the naming
   rules for the application ID are a bit more restrictive"
   https://developer.android.com/studio/build/application-id

* Java is a case-sensitive language for all names used in .java files:
  "In the Java programming universe, case-sensitive String keys are ubiquitous"
  "Java package names... are case-sensitive"
  https://docs.oracle.com/javase/8/docs/technotes/guides/preferences/designfaq.html
2020-10-22 10:59:44 +02:00
Hans-Christoph Steiner
2b57f49734
version code 1010050 2020-10-22 10:59:42 +02:00
Hans-Christoph Steiner
a9ac8ba6ce ./tools/remove-unused-and-blank-translations.py 2020-10-22 10:59:31 +02:00
Hans-Christoph Steiner
fd954168ce
update changelogs 2020-10-22 10:57:13 +02:00
Hans-Christoph Steiner
9ea4024082 Merge branch 'install-obf-file' into 'master'
install OsmAnd OBF files

See merge request fdroid/fdroidclient!941
2020-10-22 08:00:32 +00:00
Hans-Christoph Steiner
3ab5b5f670 Merge branch 'weblate' into 'master'
Weblate

See merge request fdroid/fdroidclient!942
2020-10-22 07:52:25 +00:00
Sazid Kabir
8951996831 Translated using Weblate: Bengali (Bangladesh) (bn-rBD) by Sazid Kabir <szd.mohd@gmail.com>
Currently translated at 18.4% (84 of 455 strings)

Co-authored-by: Sazid Kabir <szd.mohd@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/bn_BD/
Translation: F-Droid/F-Droid
2020-10-21 17:48:42 +02:00
Jo
3a67065878 Translated using Weblate: Spanish (es) by Jo <joaquinfc@protonmail.com>
Currently translated at 38.7% (12 of 31 strings)

Co-authored-by: Jo <joaquinfc@protonmail.com>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/es/
Translation: F-Droid/F-Droid metadata
2020-10-21 17:48:42 +02:00
Edoardo Regni
4cb57eda8f Translated using Weblate: Dutch (Belgium) (nl-rBE) by Edoardo Regni <eregni@pm.me>
Currently translated at 98.6% (449 of 455 strings)

Co-authored-by: Edoardo Regni <eregni@pm.me>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/nl_BE/
Translation: F-Droid/F-Droid
2020-10-21 17:48:41 +02:00
random r
b310c9267f Translated using Weblate: Italian (it) by random r <epsilin@yopmail.com>
Currently translated at 100.0% (455 of 455 strings)

Co-authored-by: random r <epsilin@yopmail.com>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/it/
Translation: F-Droid/F-Droid
2020-10-21 17:48:41 +02:00
Oskari Lavinto
ecd4face33 Translated using Weblate: Finnish (fi) by Oskari Lavinto <oskari.lavinto@gmail.com>
Currently translated at 100.0% (455 of 455 strings)

Co-authored-by: Oskari Lavinto <oskari.lavinto@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/fi/
Translation: F-Droid/F-Droid
2020-10-21 17:48:41 +02:00
Max
ba65044889 Translated using Weblate: Bulgarian (bg) by Max <no_greediness@yahoo.com>
Currently translated at 98.6% (449 of 455 strings)

Co-authored-by: Max <no_greediness@yahoo.com>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/bg/
Translation: F-Droid/F-Droid
2020-10-21 17:48:41 +02:00
tamer dab
c2796d95ac Translated using Weblate: Arabic (ar) by tamer dab <dabsantamer@yahoo.com>
Currently translated at 99.7% (454 of 455 strings)

Co-authored-by: tamer dab <dabsantamer@yahoo.com>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/ar/
Translation: F-Droid/F-Droid
2020-10-21 17:48:41 +02:00
Kristjan Räts
f1f8d1b741 Translated using Weblate: Estonian (et) by Kristjan Räts <kristjanrats@gmail.com>
Currently translated at 25.8% (8 of 31 strings)

Co-authored-by: Kristjan Räts <kristjanrats@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/et/
Translation: F-Droid/F-Droid metadata
2020-10-21 17:48:41 +02:00
Aled Powell
83e64f0c61 Translated using Weblate: Welsh (cy) by Aled Powell <aled@aledpowell.cymru>
Currently translated at 99.7% (454 of 455 strings)

Co-authored-by: Aled Powell <aled@aledpowell.cymru>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/cy/
Translation: F-Droid/F-Droid
2020-10-21 17:48:41 +02:00
Andres
1f7ee0ba9b Translated using Weblate: Estonian (et) by Andres <andres_ott@hotmail.com>
Currently translated at 100.0% (455 of 455 strings)

Co-authored-by: Andres <andres_ott@hotmail.com>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/et/
Translation: F-Droid/F-Droid
2020-10-21 17:48:41 +02:00
naofum
e1e086f8b7 Translated using Weblate: Japanese (ja) by naofum <naofum@gmail.com>
Currently translated at 100.0% (455 of 455 strings)

Co-authored-by: naofum <naofum@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/ja/
Translation: F-Droid/F-Droid
2020-10-21 17:48:41 +02:00
abidin toumi
d84ffac02d Translated using Weblate: Arabic (ar) by abidin toumi <abidin24@disroot.org>
Currently translated at 99.5% (453 of 455 strings)

Co-authored-by: abidin toumi <abidin24@disroot.org>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/ar/
Translation: F-Droid/F-Droid
2020-10-21 17:48:41 +02:00
Hakim Oubouali
1001fca4f2 Translated using Weblate: Central Atlas Tamazight (tzm) by Hakim Oubouali <hakim.oubouali.skr@gmail.com>
Currently translated at 3.2% (1 of 31 strings)

Translated using Weblate: Central Atlas Tamazight (tzm) by Hakim Oubouali <hakim.oubouali.skr@gmail.com>

Currently translated at 29.6% (135 of 455 strings)

Translated using Weblate: Central Atlas Tamazight (tzm) by Hakim Oubouali <hakim.oubouali.skr@gmail.com>

Currently translated at 28.1% (128 of 455 strings)

Translated using Weblate: Central Atlas Tamazight (tzm) by Hakim Oubouali <hakim.oubouali.skr@gmail.com>

Currently translated at 6.5% (30 of 455 strings)

Co-authored-by: Hakim Oubouali <hakim.oubouali.skr@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/tzm/
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/tzm/
Translation: F-Droid/F-Droid
Translation: F-Droid/F-Droid metadata
2020-10-21 17:48:41 +02:00
Satjawat Paanakaan
a69aa26e9c Translated using Weblate: Thai (th) by Satjawat Paanakaan <peanutbutteer@gmail.com>
Currently translated at 35.1% (160 of 455 strings)

Co-authored-by: Satjawat Paanakaan <peanutbutteer@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/th/
Translation: F-Droid/F-Droid
2020-10-21 17:48:41 +02:00
Ldm Public
cdc7b41fb5 Translated using Weblate: French (fr) by Ldm Public <ldmpub@gmail.com>
Currently translated at 100.0% (455 of 455 strings)

Translated using Weblate: French (fr) by Ldm Public <ldmpub@gmail.com>

Currently translated at 100.0% (455 of 455 strings)

Co-authored-by: Ldm Public <ldmpub@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/fr/
Translation: F-Droid/F-Droid
2020-10-21 17:48:41 +02:00
Ortinomax
f81e7cdca5 Translated using Weblate: French (fr) by Ortinomax <commerce@blaise-moreau.fr>
Currently translated at 100.0% (455 of 455 strings)

Co-authored-by: Ortinomax <commerce@blaise-moreau.fr>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/fr/
Translation: F-Droid/F-Droid
2020-10-21 17:48:41 +02:00
WaldiS
ea3b84b6e3 Translated using Weblate: Polish (pl) by WaldiS <sto@tutanota.de>
Currently translated at 100.0% (31 of 31 strings)

Co-authored-by: WaldiS <sto@tutanota.de>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/pl/
Translation: F-Droid/F-Droid metadata
2020-10-21 17:48:41 +02:00
rooban23
686494fc3a Translated using Weblate: Malayalam (ml) by rooban23 <TP045411@mail.apu.edu.my>
Currently translated at 100.0% (455 of 455 strings)

Co-authored-by: rooban23 <TP045411@mail.apu.edu.my>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/ml/
Translation: F-Droid/F-Droid
2020-10-21 17:48:41 +02:00
Besnik Bleta
551a869c7e Translated using Weblate: Albanian (sq) by Besnik Bleta <besnik@programeshqip.org>
Currently translated at 99.1% (451 of 455 strings)

Co-authored-by: Besnik Bleta <besnik@programeshqip.org>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/sq/
Translation: F-Droid/F-Droid
2020-10-21 17:48:41 +02:00
Mattias Axell
9f37e03e91 Translated using Weblate: Swedish (sv) by Mattias Axell <mattias@libertador.es>
Currently translated at 100.0% (455 of 455 strings)

Co-authored-by: Mattias Axell <mattias@libertador.es>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/sv/
Translation: F-Droid/F-Droid
2020-10-21 17:48:41 +02:00
Maja Košir Habjan
3bfe3cd440 Translated using Weblate: Slovenian (sl) by Maja Košir Habjan <majakh@protonmail.com>
Currently translated at 6.4% (2 of 31 strings)

Translated using Weblate: Slovenian (sl) by Maja Košir Habjan <majakh@protonmail.com>

Currently translated at 99.7% (454 of 455 strings)

Co-authored-by: Maja Košir Habjan <majakh@protonmail.com>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/sl/
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/sl/
Translation: F-Droid/F-Droid
Translation: F-Droid/F-Droid metadata
2020-10-21 17:48:41 +02:00
San Kang
f2f75f8129 Translated using Weblate: Korean (ko) by San Kang <devrivmt@gmail.com>
Currently translated at 99.7% (454 of 455 strings)

Co-authored-by: San Kang <devrivmt@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/ko/
Translation: F-Droid/F-Droid
2020-10-21 17:48:41 +02:00
Massimiliano Caniparoli
a4ed1ab5ee Translated using Weblate: Italian (it) by Massimiliano Caniparoli <massic80@gmail.com>
Currently translated at 99.5% (453 of 455 strings)

Co-authored-by: Massimiliano Caniparoli <massic80@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/it/
Translation: F-Droid/F-Droid
2020-10-21 17:48:41 +02:00
Óscar Beiro - TICgal
1b0525b0bd Translated using Weblate: Galician (gl) by Óscar Beiro - TICgal <oscar@ticgal.com>
Currently translated at 99.3% (452 of 455 strings)

Co-authored-by: Óscar Beiro - TICgal <oscar@ticgal.com>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/gl/
Translation: F-Droid/F-Droid
2020-10-21 17:48:41 +02:00
Danial Behzadi
e89df0b6dc Translated using Weblate: Persian (fa) by Danial Behzadi <dani.behzi@ubuntu.com>
Currently translated at 100.0% (455 of 455 strings)

Co-authored-by: Danial Behzadi <dani.behzi@ubuntu.com>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/fa/
Translation: F-Droid/F-Droid
2020-10-21 17:48:41 +02:00
Crisalis
c88d696d64 Translated using Weblate: Spanish (es) by Crisalis <tegaminorune@disroot.org>
Currently translated at 100.0% (455 of 455 strings)

Co-authored-by: Crisalis <tegaminorune@disroot.org>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/es/
Translation: F-Droid/F-Droid
2020-10-21 17:48:41 +02:00
nautilusx
c305ffbbe1 Translated using Weblate: German (de) by nautilusx <mail.ka@mailbox.org>
Currently translated at 100.0% (455 of 455 strings)

Co-authored-by: nautilusx <mail.ka@mailbox.org>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/de/
Translation: F-Droid/F-Droid
2020-10-21 17:48:41 +02:00
kak mi
3ab35a8e92 Translated using Weblate: Chinese (Simplified) (zh-CN) by kak mi <wavelake@outlook.com>
Currently translated at 100.0% (31 of 31 strings)

Co-authored-by: kak mi <wavelake@outlook.com>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/zh_Hans/
Translation: F-Droid/F-Droid metadata
2020-10-21 17:48:41 +02:00
Mostafa Ahangarha
af3577afc9 Translated using Weblate: Persian (fa) by Mostafa Ahangarha <ahangarha@gmail.com>
Currently translated at 99.5% (453 of 455 strings)

Co-authored-by: Mostafa Ahangarha <ahangarha@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/fa/
Translation: F-Droid/F-Droid
2020-10-21 17:48:41 +02:00
ssantos
829372a18b Translated using Weblate: Portuguese (pt) by ssantos <ssantos@web.de>
Currently translated at 100.0% (31 of 31 strings)

Translated using Weblate: Portuguese (Portugal) (pt-PT) by ssantos <ssantos@web.de>

Currently translated at 100.0% (31 of 31 strings)

Translated using Weblate: Portuguese (pt) by ssantos <ssantos@web.de>

Currently translated at 96.7% (30 of 31 strings)

Translated using Weblate: Portuguese (pt) by ssantos <ssantos@web.de>

Currently translated at 100.0% (455 of 455 strings)

Co-authored-by: ssantos <ssantos@web.de>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/pt/
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/pt_PT/
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/pt/
Translation: F-Droid/F-Droid
Translation: F-Droid/F-Droid metadata
2020-10-21 17:48:41 +02:00
ihor_ck
58e83039ac Translated using Weblate: Ukrainian (uk) by ihor_ck <igor_ck@outlook.com>
Currently translated at 100.0% (31 of 31 strings)

Co-authored-by: ihor_ck <igor_ck@outlook.com>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/uk/
Translation: F-Droid/F-Droid metadata
2020-10-21 17:48:41 +02:00
Dmitry Mikhirev
d7b0356e69 Translated using Weblate: Russian (ru) by Dmitry Mikhirev <mikhirev@gmail.com>
Currently translated at 93.5% (29 of 31 strings)

Co-authored-by: Dmitry Mikhirev <mikhirev@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/ru/
Translation: F-Droid/F-Droid metadata
2020-10-21 17:48:41 +02:00
Verdulo
ccbc6c9e8c Translated using Weblate: Esperanto (eo) by Verdulo <tomek@disroot.org>
Currently translated at 100.0% (31 of 31 strings)

Co-authored-by: Verdulo <tomek@disroot.org>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/eo/
Translation: F-Droid/F-Droid metadata
2020-10-21 17:48:41 +02:00
Hans-Christoph Steiner
9830c2685f Translated using Weblate: Malayalam (ml) by Hans-Christoph Steiner <hans@guardianproject.info>
Currently translated at 98.6% (449 of 455 strings)

Co-authored-by: Hans-Christoph Steiner <hans@guardianproject.info>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/ml/
Translation: F-Droid/F-Droid
2020-10-21 17:48:41 +02:00
Eric
154d40fd16 Translated using Weblate: Chinese (Simplified) (zh-rCN) by Eric <spice2wolf@gmail.com>
Currently translated at 100.0% (455 of 455 strings)

Co-authored-by: Eric <spice2wolf@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/zh_Hans/
Translation: F-Droid/F-Droid
2020-10-21 17:48:41 +02:00
zmni
aecc0ed234 Translated using Weblate: Indonesian (id) by zmni <zmni@outlook.com>
Currently translated at 100.0% (455 of 455 strings)

Co-authored-by: zmni <zmni@outlook.com>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/id/
Translation: F-Droid/F-Droid
2020-10-21 17:48:41 +02:00
Emanuel Palm
7096460141 Translated using Weblate: Swedish (sv) by Emanuel Palm <ep__palm@hotmail.com>
Currently translated at 98.9% (450 of 455 strings)

Co-authored-by: Emanuel Palm <ep__palm@hotmail.com>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/sv/
Translation: F-Droid/F-Droid
2020-10-21 17:48:41 +02:00
Wellington Terumi Uemura
10f64237af Translated using Weblate: Portuguese (Brazil) (pt-BR) by Wellington Terumi Uemura <wellingtonuemura@gmail.com>
Currently translated at 100.0% (31 of 31 strings)

Translated using Weblate: Portuguese (Brazil) (pt-rBR) by Wellington Terumi Uemura <wellingtonuemura@gmail.com>

Currently translated at 100.0% (455 of 455 strings)

Co-authored-by: Wellington Terumi Uemura <wellingtonuemura@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/pt_BR/
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/pt_BR/
Translation: F-Droid/F-Droid
Translation: F-Droid/F-Droid metadata
2020-10-21 17:48:41 +02:00
Bart
9219d20a82 Translated using Weblate: Dutch (nl) by Bart <bart@mogwai.be>
Currently translated at 100.0% (455 of 455 strings)

Co-authored-by: Bart <bart@mogwai.be>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/nl/
Translation: F-Droid/F-Droid
2020-10-21 17:48:41 +02:00
Arttu Ylhävuori
cb1041ddf1 Translated using Weblate: Finnish (fi) by Arttu Ylhävuori <arjymoi@hotmail.com>
Currently translated at 100.0% (455 of 455 strings)

Co-authored-by: Arttu Ylhävuori <arjymoi@hotmail.com>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/fi/
Translation: F-Droid/F-Droid
2020-10-21 17:48:41 +02:00
Yaron Shahrabani
26850ba40e Translated using Weblate: Hebrew (he) by Yaron Shahrabani <sh.yaron@gmail.com>
Currently translated at 100.0% (31 of 31 strings)

Co-authored-by: Yaron Shahrabani <sh.yaron@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/he/
Translation: F-Droid/F-Droid metadata
2020-10-21 17:48:41 +02:00
Oğuz Ersen
10d848768b Translated using Weblate: Turkish (tr) by Oğuz Ersen <oguzersen@protonmail.com>
Currently translated at 100.0% (31 of 31 strings)

Co-authored-by: Oğuz Ersen <oguzersen@protonmail.com>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/tr/
Translation: F-Droid/F-Droid metadata
2020-10-21 17:48:41 +02:00
Andrey
b240f9575d Translated using Weblate: Russian (ru) by Andrey <andrey@mailbox.org>
Currently translated at 100.0% (31 of 31 strings)

Co-authored-by: Andrey <andrey@mailbox.org>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/ru/
Translation: F-Droid/F-Droid metadata
2020-10-21 17:48:41 +02:00
Hans-Christoph Steiner
c157c3f047
fix Espresso test broken by androidx id change
fdroid/fdroidclient!899
2020-10-21 11:52:26 +02:00
Hans-Christoph Steiner
3b2b9ae1df
fix ApkVerifierTest when running on android-29+
fdroid/fdroidclient!856
2020-10-21 11:52:24 +02:00
Hans-Christoph Steiner
15a024b06e
update javadocs 2020-10-21 11:52:22 +02:00
Hans-Christoph Steiner
c0344c1eed
handle .obf.zip by unzipping the map file then installing it 2020-10-21 11:52:21 +02:00
Hans-Christoph Steiner
021d5cc1ff
EXTRA_CANONICAL_URL instance must always be a String 2020-10-21 11:52:19 +02:00
Hans-Christoph Steiner
b316eab85d
post-install Intent to tell OsmAnd to import "installed" OBF
OsmAnd will import map files from a file:// URL pointing to an OBF file,
but this currently only works for file:// and not the proper content://.
This uses a hack to disable the warning about file:// URIs but only for the
final stage of installing the .obf file.

Hopefully in the future, this can be changed to use a proper content:// URL
as I suggested to them in this merge request:
https://github.com/osmandapp/OsmAnd/pull/10043
2020-10-21 11:52:18 +02:00
Hans-Christoph Steiner
8cf267ea6c
code formatting 2020-10-21 11:52:15 +02:00
Hans-Christoph Steiner
4bb158ef77
handle installing OTA files separately from generic .zip files
It is valid to include .zip files in a repo, but only OTA ZIP files
should be installed into the OTA dir.
2020-10-21 11:52:13 +02:00
Hans-Christoph Steiner
5a0092d42e
use shared method for getting full installed path for media files 2020-10-21 11:52:08 +02:00
Hans-Christoph Steiner
fe45b33851
use case-insensitive file extension comparison for Apk.isApk()
foo.APK is valid and installable, though not recommended.  Without this,
foo.APK would be copied to /sdcard/Downloads, which seems wrong
2020-10-21 11:30:51 +02:00
Hans-Christoph Steiner
0797d82d67
fix emulator test breakage from !873
Use Mockito to mock LocaleList rather than changing App.java.  The only
reliably working emulator tests on gitlab-ci are emulator-22. The change to
App.java in 3406edefcd1807cc9352589ac86dbb725c3165b0 broke there:

E/ACRA    ( 2231): Caused by: java.lang.NoClassDefFoundError: android.os.LocaleList
E/ACRA    ( 2231): 	at libcore.reflect.InternalNames.getClass(InternalNames.java:55)
E/ACRA    ( 2231): 	at java.lang.Class.getDexCacheType(Class.java:479)
E/ACRA    ( 2231): 	at java.lang.reflect.ArtMethod.getDexCacheType(ArtMethod.java:191)
E/ACRA    ( 2231): 	at java.lang.reflect.ArtMethod.getReturnType(ArtMethod.java:145)
E/ACRA    ( 2231): 	at java.lang.reflect.Method.getReturnType(Method.java:184)
E/ACRA    ( 2231): 	at java.lang.Class.getDeclaredMethods(Class.java:771)
E/ACRA    ( 2231): 	at com.fasterxml.jackson.databind.util.ClassUtil.getClassMethods(ClassUtil.java:1172)
E/ACRA    ( 2231): 	at com.fasterxml.jackson.databind.introspect.AnnotatedMethodCollector._addMemberMethods(AnnotatedMethodCollector.java:117)
E/ACRA    ( 2231): 	at com.fasterxml.jackson.databind.introspect.AnnotatedMethodCollector.collect(AnnotatedMethodCollector.java:49)
E/ACRA    ( 2231): 	at com.fasterxml.jackson.databind.introspect.AnnotatedMethodCollector.collectMethods(AnnotatedMethodCollector.java:40)
E/ACRA    ( 2231): 	at com.fasterxml.jackson.databind.introspect.AnnotatedClass._methods(AnnotatedClass.java:382)
E/ACRA    ( 2231): 	at com.fasterxml.jackson.databind.introspect.AnnotatedClass.memberMethods(AnnotatedClass.java:322)
E/ACRA    ( 2231): 	at com.fasterxml.jackson.databind.introspect.POJOPropertiesCollector._addMethods(POJOPropertiesCollector.java:555)
E/ACRA    ( 2231): 	at com.fasterxml.jackson.databind.introspect.POJOPropertiesCollector.collectAll(POJOPropertiesCollector.java:323)
E/ACRA    ( 2231): 	at com.fasterxml.jackson.databind.introspect.POJOPropertiesCollector.getPropertyMap(POJOPropertiesCollector.java:287)
E/ACRA    ( 2231): 	at com.fasterxml.jackson.databind.introspect.POJOPropertiesCollector.getProperties(POJOPropertiesCollector.java:186)
E/ACRA    ( 2231): 	at com.fasterxml.jackson.databind.introspect.BasicBeanDescription._properties(BasicBeanDescription.java:164)
E/ACRA    ( 2231): 	at com.fasterxml.jackson.databind.introspect.BasicBeanDescription.findProperties(BasicBeanDescription.java:239)
E/ACRA    ( 2231): 	at com.fasterxml.jackson.databind.deser.BasicDeserializerFactory._findCreatorsFromProperties(BasicDeserializerFactory.java:292)
E/ACRA    ( 2231): 	at com.fasterxml.jackson.databind.deser.BasicDeserializerFactory._constructDefaultValueInstantiator(BasicDeserializerFactory.java:276)
E/ACRA    ( 2231): 	at com.fasterxml.jackson.databind.deser.BasicDeserializerFactory.findValueInstantiator(BasicDeserializerFactory.java:224)
E/ACRA    ( 2231): 	at com.fasterxml.jackson.databind.deser.BeanDeserializerFactory.buildBeanDeserializer(BeanDeserializerFactory.java:220)
E/ACRA    ( 2231): 	at com.fasterxml.jackson.databind.deser.BeanDeserializerFactory.createBeanDeserializer(BeanDeserializerFactory.java:143)
E/ACRA    ( 2231): 	at com.fasterxml.jackson.databind.deser.DeserializerCache._createDeserializer2(DeserializerCache.java:414)
E/ACRA    ( 2231): 	at com.fasterxml.jackson.databind.deser.DeserializerCache._createDeserializer(DeserializerCache.java:349)
E/ACRA    ( 2231): 	at com.fasterxml.jackson.databind.deser.DeserializerCache._createAndCache2(DeserializerCache.java:264)
E/ACRA    ( 2231): 	at com.fasterxml.jackson.databind.deser.DeserializerCache._createAndCacheValueDeserializer(DeserializerCache.java:244)
E/ACRA    ( 2231): 	at com.fasterxml.jackson.databind.deser.DeserializerCache.findValueDeserializer(DeserializerCache.java:142)
E/ACRA    ( 2231): 	at com.fasterxml.jackson.databind.DeserializationContext.findContextualValueDeserializer(DeserializationContext.java:458)
E/ACRA    ( 2231): 	at com.fasterxml.jackson.databind.deser.std.ObjectArrayDeserializer.createContextual(ObjectArrayDeserializer.java:128)
E/ACRA    ( 2231): 	at com.fasterxml.jackson.databind.DeserializationContext.handleSecondaryContextualization(DeserializationContext.java:696)
E/ACRA    ( 2231): 	at com.fasterxml.jackson.databind.DeserializationContext.findRootValueDeserializer(DeserializationContext.java:496)
E/ACRA    ( 2231): 	at com.fasterxml.jackson.databind.Objec
2020-10-21 11:30:48 +02:00
Hans-Christoph Steiner
adc62211aa
Merge branch 'mixed-translations' into 'master'
Fixed translations preferring secondary locale over primary

See merge request fdroid/fdroidclient!873
2020-10-20 23:18:10 +02:00
Hans-Christoph Steiner
33fb22eae1
LocaleSelectionTest: include test for TW/HK issue
closes #2087
2020-10-20 23:17:30 +02:00
Hans-Christoph Steiner
138b78572c
LocaleSelectionTest: reuse variables to make test cases clear 2020-10-20 23:17:28 +02:00
Marcus Hoffmann
3406edefcd
tests for locale selection 2020-10-20 23:17:25 +02:00
Jonas Kalderstam
87d4779c2d Fixed translations preferring secondary locale over english
In the case where a non-standard region has been set for the primary
system language, the secondary locale will be used for localized
strings when available instead of the expected primary language.

For example, set system locales to [en-SE, ja-JP], that is English
with region Sweden, and Japanese with region Japan, most apps will
display English descriptions but those which have a Japanese
translation will display that instead.

This commit adds a fallback case for when the primary locale has not
matched any translations, but it's language part does.
2020-10-20 17:40:56 +00:00
Hans-Christoph Steiner
c8dcb6260c
add Central Atlas Tamazight (tzm) translation
[skip ci]
2020-10-07 09:22:16 +02:00
Hans-Christoph Steiner
6730d6097e
version code 1010001 2020-09-30 20:57:04 +02:00
Hans-Christoph Steiner
d0b8da7322 Merge branch 'weblate' into 'master'
Weblate

See merge request fdroid/fdroidclient!937
2020-09-30 13:42:06 +00:00
Eric
1b300e1273
Translated using Weblate: Chinese (Simplified) (zh-rCN) by Eric <spice2wolf@gmail.com>
Currently translated at 99.7% (454 of 455 strings)

Translation: F-Droid/F-Droid
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/zh_Hans/
2020-09-30 13:49:20 +02:00
ssantos
d33a1851a3
Translated using Weblate: Portuguese (pt) by ssantos <ssantos@web.de>
Currently translated at 100.0% (30 of 30 strings)

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/pt/
2020-09-30 13:45:47 +02:00
ssantos
62ab323fff
Translated using Weblate: Portuguese (pt) by ssantos <ssantos@web.de>
Currently translated at 100.0% (455 of 455 strings)

Translation: F-Droid/F-Droid
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/pt/
2020-09-30 13:45:45 +02:00
ssantos
fa6fc5ef5c
Translated using Weblate: Portuguese (Portugal) (pt-PT) by ssantos <ssantos@web.de>
Currently translated at 100.0% (30 of 30 strings)

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/pt_PT/
2020-09-30 13:45:43 +02:00
Ole Carlsen
52796f786e
Translated using Weblate: Danish (da) by Ole Carlsen <ole@carlsen-web.dk>
Currently translated at 100.0% (455 of 455 strings)

Translation: F-Droid/F-Droid
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/da/
2020-09-30 13:45:10 +02:00
ssantos
998c56e721
Translated using Weblate: Portuguese (Portugal) (pt-rPT) by ssantos <ssantos@web.de>
Currently translated at 100.0% (455 of 455 strings)

Translation: F-Droid/F-Droid
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/pt_PT/
2020-09-30 13:45:09 +02:00
Andrey
f7f15df0a9
Translated using Weblate: Russian (ru) by Andrey <andrey@mailbox.org>
Currently translated at 100.0% (455 of 455 strings)

Translation: F-Droid/F-Droid
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/ru/
2020-09-30 13:45:06 +02:00
Hans-Christoph Steiner
d3b041cb86 Merge branch 'weblate' into 'master'
Weblate

See merge request fdroid/fdroidclient!936
2020-09-30 10:47:57 +00:00
Hans-Christoph Steiner
ba8c150a72
update changelogs 2020-09-29 21:39:03 +02:00
Hans-Christoph Steiner
9bc61e07c8
fix formats and blank strings 2020-09-29 21:39:00 +02:00
Zmicer Turok
f996061712
Translated using Weblate: Belarusian (be) by Zmicer Turok <nashtlumach@gmail.com>
Currently translated at 6.6% (2 of 30 strings)

Translated using Weblate: Belarusian (be) by Zmicer Turok <nashtlumach@gmail.com>

Currently translated at 100.0% (455 of 455 strings)

Translated using Weblate: Belarusian (be) by Zmicer Turok <nashtlumach@gmail.com>

Currently translated at 98.4% (448 of 455 strings)

Co-authored-by: Zmicer Turok <nashtlumach@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/be/
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/be/
Translation: F-Droid/F-Droid
Translation: F-Droid/F-Droid metadata
2020-09-29 16:51:53 +02:00
Sylphystia
b92bf6700c
Translated using Weblate: Italian (it) by Sylphystia <yuidirnt@gmail.com>
Currently translated at 99.3% (452 of 455 strings)

Co-authored-by: Sylphystia <yuidirnt@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/it/
Translation: F-Droid/F-Droid
2020-09-29 16:51:53 +02:00
Laura Arjona Reina
a1bc1c1613
Translated using Weblate: Spanish (es) by Laura Arjona Reina <larjona@larjona.net>
Currently translated at 100.0% (455 of 455 strings)

Co-authored-by: Laura Arjona Reina <larjona@larjona.net>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/es/
Translation: F-Droid/F-Droid
2020-09-29 16:51:53 +02:00
THANOS SIOURDAKIS
80a5b4066b
Translated using Weblate: Greek (el) by THANOS SIOURDAKIS <siourdakisthanos@gmail.com>
Currently translated at 99.5% (453 of 455 strings)

Co-authored-by: THANOS SIOURDAKIS <siourdakisthanos@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/el/
Translation: F-Droid/F-Droid
2020-09-29 16:51:52 +02:00
RachelB
0c8bdf9cc8
Translated using Weblate: Galician (gl) by RachelB <maresdelno@gmail.com>
Currently translated at 98.2% (447 of 455 strings)

Translated using Weblate: Spanish (es) by RachelB <maresdelno@gmail.com>

Currently translated at 98.4% (448 of 455 strings)

Co-authored-by: RachelB <maresdelno@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/es/
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/gl/
Translation: F-Droid/F-Droid
2020-09-29 16:51:52 +02:00
Eric
16d0fc9a4c
Translated using Weblate: Chinese (Simplified) (zh-rCN) by Eric <spice2wolf@gmail.com>
Currently translated at 99.5% (453 of 455 strings)

Co-authored-by: Eric <spice2wolf@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/zh_Hans/
Translation: F-Droid/F-Droid
2020-09-29 16:51:51 +02:00
Ajeje Brazorf
11709ca2b3
Translated using Weblate: Sardinian (sc) by Ajeje Brazorf <lmelonimamo@yahoo.it>
Currently translated at 100.0% (455 of 455 strings)

Co-authored-by: Ajeje Brazorf <lmelonimamo@yahoo.it>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/sc/
Translation: F-Droid/F-Droid
2020-09-29 16:51:51 +02:00
Andrey
759d324985
Translated using Weblate: Russian (ru) by Andrey <andrey@mailbox.org>
Currently translated at 100.0% (455 of 455 strings)

Co-authored-by: Andrey <andrey@mailbox.org>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/ru/
Translation: F-Droid/F-Droid
2020-09-29 16:51:50 +02:00
WaldiS
48f1d50917
Translated using Weblate: Polish (pl) by WaldiS <sto@tutanota.de>
Currently translated at 100.0% (455 of 455 strings)

Co-authored-by: WaldiS <sto@tutanota.de>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/pl/
Translation: F-Droid/F-Droid
2020-09-29 16:51:50 +02:00
Localisation Lab
3f8bcc38f2
Translated using Weblate: French (fr) by Localisation Lab <ao@localizationlab.org>
Currently translated at 100.0% (455 of 455 strings)

Co-authored-by: Localisation Lab <ao@localizationlab.org>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/fr/
Translation: F-Droid/F-Droid
2020-09-29 16:51:50 +02:00
zeritti
cf3822012f
Translated using Weblate: Czech (cs) by zeritti <woodenmo@posteo.de>
Currently translated at 100.0% (455 of 455 strings)

Translated using Weblate: Czech (cs) by zeritti <woodenmo@posteo.de>

Currently translated at 99.5% (453 of 455 strings)

Co-authored-by: zeritti <woodenmo@posteo.de>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/cs/
Translation: F-Droid/F-Droid
2020-09-29 16:51:49 +02:00
Ldm Public
3a3011a5e0
Translated using Weblate: French (fr) by Ldm Public <ldmpub@gmail.com>
Currently translated at 100.0% (455 of 455 strings)

Translated using Weblate: French (fr) by Ldm Public <ldmpub@gmail.com>

Currently translated at 99.1% (451 of 455 strings)

Co-authored-by: Ldm Public <ldmpub@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/fr/
Translation: F-Droid/F-Droid
2020-09-29 16:51:49 +02:00
Kornelijus Tvarijanavičius
61b0d3f875
Translated using Weblate: Lithuanian (lt) by Kornelijus Tvarijanavičius <kornelitvari@protonmail.com>
Currently translated at 3.3% (1 of 30 strings)

Translated using Weblate: Lithuanian (lt) by Kornelijus Tvarijanavičius <kornelitvari@protonmail.com>

Currently translated at 73.7% (331 of 449 strings)

Co-authored-by: Kornelijus Tvarijanavičius <kornelitvari@protonmail.com>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/lt/
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/lt/
Translation: F-Droid/F-Droid
Translation: F-Droid/F-Droid metadata
2020-09-29 16:51:48 +02:00
rooban23
1e7596ecb6
Translated using Weblate: Tamil (ta) by rooban23 <TP045411@mail.apu.edu.my>
Currently translated at 37.8% (170 of 449 strings)

Co-authored-by: rooban23 <TP045411@mail.apu.edu.my>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/ta/
Translation: F-Droid/F-Droid
2020-09-29 16:51:48 +02:00
Adiitya Andre
0e8656cd70
Translated using Weblate: Indonesian (id) by Adiitya Andre <adiiit.and@gmail.com>
Currently translated at 100.0% (449 of 449 strings)

Translated using Weblate: Indonesian (id) by Adiitya Andre <adiiit.and@gmail.com>

Currently translated at 100.0% (449 of 449 strings)

Co-authored-by: Adiitya Andre <adiiit.and@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/id/
Translation: F-Droid/F-Droid
2020-09-29 16:51:48 +02:00
Oğuz Ersen
f6e57ea946
Translated using Weblate: Turkish (tr) by Oğuz Ersen <oguzersen@protonmail.com>
Currently translated at 100.0% (455 of 455 strings)

Translated using Weblate: Turkish (tr) by Oğuz Ersen <oguzersen@protonmail.com>

Currently translated at 100.0% (30 of 30 strings)

Co-authored-by: Oğuz Ersen <oguzersen@protonmail.com>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/tr/
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/tr/
Translation: F-Droid/F-Droid
Translation: F-Droid/F-Droid metadata
2020-09-29 16:51:47 +02:00
Wellington Terumi Uemura
bd1da011dc
Translated using Weblate: Portuguese (Brazil) (pt-BR) by Wellington Terumi Uemura <wellingtonuemura@gmail.com>
Currently translated at 100.0% (30 of 30 strings)

Co-authored-by: Wellington Terumi Uemura <wellingtonuemura@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/pt_BR/
Translation: F-Droid/F-Droid metadata
2020-09-29 16:51:47 +02:00
Milo Ivir
a0e64f1085
Translated using Weblate: Croatian (hr) by Milo Ivir <mail@milotype.de>
Currently translated at 87.0% (391 of 449 strings)

Co-authored-by: Milo Ivir <mail@milotype.de>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/hr/
Translation: F-Droid/F-Droid
2020-09-29 16:51:47 +02:00
Kentaro Shirakata
d362cb33c8
Translated using Weblate: Japanese (ja) by Kentaro Shirakata <argrath@ub32.org>
Currently translated at 10.0% (3 of 30 strings)

Co-authored-by: Kentaro Shirakata <argrath@ub32.org>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/ja/
Translation: F-Droid/F-Droid metadata
2020-09-29 16:51:46 +02:00
ihor_ck
a374b114e6
Translated using Weblate: Ukrainian (uk) by ihor_ck <igor_ck@outlook.com>
Currently translated at 100.0% (455 of 455 strings)

Translated using Weblate: Ukrainian (uk) by ihor_ck <igor_ck@outlook.com>

Currently translated at 100.0% (30 of 30 strings)

Translated using Weblate: Ukrainian (uk) by ihor_ck <igor_ck@outlook.com>

Currently translated at 100.0% (449 of 449 strings)

Co-authored-by: ihor_ck <igor_ck@outlook.com>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/uk/
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/uk/
Translation: F-Droid/F-Droid
Translation: F-Droid/F-Droid metadata
2020-09-29 16:51:46 +02:00
Maksym
18c82fcb2a
Translated using Weblate: Ukrainian (uk) by Maksym <dpadar@protonmail.com>
Currently translated at 100.0% (449 of 449 strings)

Co-authored-by: Maksym <dpadar@protonmail.com>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/uk/
Translation: F-Droid/F-Droid
2020-09-29 16:51:45 +02:00
Igor Polyakov
2f5276c4c7
Translated using Weblate: Russian (ru) by Igor Polyakov <igorpolyakov@protonmail.com>
Currently translated at 100.0% (449 of 449 strings)

Co-authored-by: Igor Polyakov <igorpolyakov@protonmail.com>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/ru/
Translation: F-Droid/F-Droid
2020-09-29 16:51:45 +02:00
Yaron Shahrabani
02749f36ff
Translated using Weblate: Hebrew (he) by Yaron Shahrabani <sh.yaron@gmail.com>
Currently translated at 100.0% (455 of 455 strings)

Translated using Weblate: Hebrew (he) by Yaron Shahrabani <sh.yaron@gmail.com>

Currently translated at 100.0% (449 of 449 strings)

Co-authored-by: Yaron Shahrabani <sh.yaron@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/he/
Translation: F-Droid/F-Droid
2020-09-29 16:51:45 +02:00
Hinaloe
3a005cbf52
Translated using Weblate: Japanese (ja) by Hinaloe <hina@hinaloe.net>
Currently translated at 6.6% (2 of 30 strings)

Co-authored-by: Hinaloe <hina@hinaloe.net>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/ja/
Translation: F-Droid/F-Droid metadata
2020-09-29 16:51:44 +02:00
Crisalis
b34d736592
Translated using Weblate: Spanish (es) by Crisalis <tegaminorune@disroot.org>
Currently translated at 100.0% (449 of 449 strings)

Translated using Weblate: Spanish (es) by Crisalis <tegaminorune@disroot.org>

Currently translated at 100.0% (449 of 449 strings)

Co-authored-by: Crisalis <tegaminorune@disroot.org>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/es/
Translation: F-Droid/F-Droid
2020-09-29 16:51:44 +02:00
naveenkumar palaniswamy
dce093cf8b
Translated using Weblate: Tamil (ta) by naveenkumar palaniswamy <naveenmtp@gmail.com>
Currently translated at 32.7% (147 of 449 strings)

Co-authored-by: naveenkumar palaniswamy <naveenmtp@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/ta/
Translation: F-Droid/F-Droid
2020-09-29 16:51:43 +02:00
Kahina Messaoudi
4710ce460e
Translated using Weblate: Kabyle (kab) by Kahina Messaoudi <messaoudikahina02@gmail.com>
Currently translated at 61.9% (282 of 455 strings)

Translated using Weblate: Kabyle (kab) by Kahina Messaoudi <messaoudikahina02@gmail.com>

Currently translated at 6.6% (2 of 30 strings)

Co-authored-by: Kahina Messaoudi <messaoudikahina02@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/kab/
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/kab/
Translation: F-Droid/F-Droid
Translation: F-Droid/F-Droid metadata
2020-09-29 16:51:43 +02:00
HKalbasi
25333469ff
Translated using Weblate: Persian (fa) by HKalbasi <hamid.6.11.79@gmail.com>
Currently translated at 99.7% (448 of 449 strings)

Co-authored-by: HKalbasi <hamid.6.11.79@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/fa/
Translation: F-Droid/F-Droid
2020-09-29 16:51:43 +02:00
Sveinn í Felli
ed491ed609
Translated using Weblate: Icelandic (is) by Sveinn í Felli <sv1@fellsnet.is>
Currently translated at 100.0% (455 of 455 strings)

Translated using Weblate: Icelandic (is) by Sveinn í Felli <sv1@fellsnet.is>

Currently translated at 100.0% (449 of 449 strings)

Co-authored-by: Sveinn í Felli <sv1@fellsnet.is>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/is/
Translation: F-Droid/F-Droid
2020-09-29 16:51:42 +02:00
ーーー
aeedf5f396
Translated using Weblate: Japanese (ja) by ーーー <nnn1590@nnn1590.org>
Currently translated at 100.0% (449 of 449 strings)

Translated using Weblate: Japanese (ja) by ーーー <nnn1590@nnn1590.org>

Currently translated at 100.0% (449 of 449 strings)

Co-authored-by: ーーー <nnn1590@nnn1590.org>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/ja/
Translation: F-Droid/F-Droid
2020-09-29 16:51:42 +02:00
HARADA Hiroyuki
61ff42d74e
Translated using Weblate: Japanese (ja) by HARADA Hiroyuki <haradah98@gmail.com>
Currently translated at 100.0% (449 of 449 strings)

Co-authored-by: HARADA Hiroyuki <haradah98@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/ja/
Translation: F-Droid/F-Droid
2020-09-29 16:51:42 +02:00
Selyan Sliman Amiri
b5c62dbc79
Translated using Weblate: Kabyle (kab) by Selyan Sliman Amiri <selyan.kab@gmail.com>
Currently translated at 62.5% (281 of 449 strings)

Translated using Weblate: Kabyle (kab) by Selyan Sliman Amiri <selyan.kab@gmail.com>

Currently translated at 61.9% (278 of 449 strings)

Co-authored-by: Selyan Sliman Amiri <selyan.kab@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/kab/
Translation: F-Droid/F-Droid
2020-09-29 16:51:41 +02:00
mahmut özcan
4ba21b82d3
Translated using Weblate: Turkish (tr) by mahmut özcan <mahmutozcan65@yahoo.com>
Currently translated at 96.6% (29 of 30 strings)

Co-authored-by: mahmut özcan <mahmutozcan65@yahoo.com>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/tr/
Translation: F-Droid/F-Droid metadata
2020-09-29 16:51:41 +02:00
ssantos
35403599e4
Translated using Weblate: Portuguese (pt) by ssantos <ssantos@web.de>
Currently translated at 100.0% (455 of 455 strings)

Translated using Weblate: Portuguese (Portugal) (pt-rPT) by ssantos <ssantos@web.de>

Currently translated at 100.0% (455 of 455 strings)

Translated using Weblate: Portuguese (pt) by ssantos <ssantos@web.de>

Currently translated at 100.0% (30 of 30 strings)

Translated using Weblate: Portuguese (pt) by ssantos <ssantos@web.de>

Currently translated at 100.0% (449 of 449 strings)

Translated using Weblate: Portuguese (Portugal) (pt-rPT) by ssantos <ssantos@web.de>

Currently translated at 100.0% (449 of 449 strings)

Translated using Weblate: Portuguese (Portugal) (pt-PT) by ssantos <ssantos@web.de>

Currently translated at 100.0% (30 of 30 strings)

Co-authored-by: ssantos <ssantos@web.de>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/pt/
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/pt_PT/
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/pt/
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/pt_PT/
Translation: F-Droid/F-Droid
Translation: F-Droid/F-Droid metadata
2020-09-29 16:51:40 +02:00
sivemortenfan
1a61016851
Translated using Weblate: Malayalam (ml) by sivemortenfan <anuay@tutanota.com>
Currently translated at 100.0% (449 of 449 strings)

Co-authored-by: sivemortenfan <anuay@tutanota.com>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/ml/
Translation: F-Droid/F-Droid
2020-09-29 16:51:40 +02:00
Juraj Liso
9a38fac9ed
Translated using Weblate: Slovak (sk) by Juraj Liso <lisojuraj@gmail.com>
Currently translated at 100.0% (449 of 449 strings)

Co-authored-by: Juraj Liso <lisojuraj@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/sk/
Translation: F-Droid/F-Droid
2020-09-29 16:51:40 +02:00
Dominik Martinicky
f739b82735
Translated using Weblate: Slovak (sk) by Dominik Martinicky <apocrypth@gmail.com>
Currently translated at 100.0% (449 of 449 strings)

Co-authored-by: Dominik Martinicky <apocrypth@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/sk/
Translation: F-Droid/F-Droid
2020-09-29 16:51:39 +02:00
Edoardo Regni
04a1f48144
Translated using Weblate: Dutch (nl) by Edoardo Regni <eregni@pm.me>
Currently translated at 100.0% (449 of 449 strings)

Co-authored-by: Edoardo Regni <eregni@pm.me>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/nl/
Translation: F-Droid/F-Droid
2020-09-29 16:51:39 +02:00
take100yen
c7944d1274
Translated using Weblate: Japanese (ja) by take100yen <take100yen@gmail.com>
Currently translated at 100.0% (449 of 449 strings)

Co-authored-by: take100yen <take100yen@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/ja/
Translation: F-Droid/F-Droid
2020-09-29 16:51:38 +02:00
pjammo
27d17207e0
Translated using Weblate: Italian (it) by pjammo <adrianoghr@hotmail.it>
Currently translated at 100.0% (449 of 449 strings)

Co-authored-by: pjammo <adrianoghr@hotmail.it>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/it/
Translation: F-Droid/F-Droid
2020-09-29 16:51:38 +02:00
Rafael Fontenelle
0e2505b3a9
Translated using Weblate: Portuguese (Brazil) (pt-rBR) by Rafael Fontenelle <rafaelff@gnome.org>
Currently translated at 100.0% (449 of 449 strings)

Co-authored-by: Rafael Fontenelle <rafaelff@gnome.org>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/pt_BR/
Translation: F-Droid/F-Droid
2020-09-29 16:51:37 +02:00
aevw
11fdbb0a8e
Translated using Weblate: Portuguese (Brazil) (pt-rBR) by aevw <arcanevw@tuta.io>
Currently translated at 100.0% (449 of 449 strings)

Co-authored-by: aevw <arcanevw@tuta.io>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/pt_BR/
Translation: F-Droid/F-Droid
2020-09-29 16:51:37 +02:00
primarto24c8a9c6889c407b
fdfb4b8140
Translated using Weblate: Macedonian (mk) by primarto24c8a9c6889c407b <prodavac3@protonmail.com>
Currently translated at 43.6% (196 of 449 strings)

Translated using Weblate: Macedonian (mk) by primarto24c8a9c6889c407b <prodavac3@protonmail.com>

Currently translated at 40.5% (182 of 449 strings)

Co-authored-by: primarto24c8a9c6889c407b <prodavac3@protonmail.com>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/mk/
Translation: F-Droid/F-Droid
2020-09-29 16:51:37 +02:00
Allan Nordhøy
6665459ae9
Translated using Weblate: Norwegian Bokmål (nb) by Allan Nordhøy <epost@anotheragency.no>
Currently translated at 99.5% (453 of 455 strings)

Translated using Weblate: Norwegian Bokmål (nb) by Allan Nordhøy <epost@anotheragency.no>

Currently translated at 100.0% (449 of 449 strings)

Translated using Weblate: Swedish (sv) by Allan Nordhøy <epost@anotheragency.no>

Currently translated at 100.0% (449 of 449 strings)

Co-authored-by: Allan Nordhøy <epost@anotheragency.no>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/nb_NO/
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/sv/
Translation: F-Droid/F-Droid
2020-09-29 16:51:36 +02:00
Hakim Oubouali
43879ea35e
Translated using Weblate: Berber (ber) by Hakim Oubouali <hakim.oubouali.skr@gmail.com>
Currently translated at 20.7% (93 of 449 strings)

Translated using Weblate: Berber (ber) by Hakim Oubouali <hakim.oubouali.skr@gmail.com>

Currently translated at 17.5% (79 of 449 strings)

Translated using Weblate: Berber (ber) by Hakim Oubouali <hakim.oubouali.skr@gmail.com>

Currently translated at 7.3% (33 of 449 strings)

Translated using Weblate: Berber (ber) by Hakim Oubouali <hakim.oubouali.skr@gmail.com>

Currently translated at 6.6% (30 of 449 strings)

Added translation using Weblate: Berber (ber) by Hakim Oubouali <hakim.oubouali.skr@gmail.com>

Co-authored-by: Hakim Oubouali <hakim.oubouali.skr@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/ber/
Translation: F-Droid/F-Droid
2020-09-29 16:51:36 +02:00
tamer dab
351460d0af
Translated using Weblate: Arabic (ar) by tamer dab <dabsantamer@yahoo.com>
Currently translated at 100.0% (449 of 449 strings)

Co-authored-by: tamer dab <dabsantamer@yahoo.com>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/ar/
Translation: F-Droid/F-Droid
2020-09-29 16:51:35 +02:00
Jonatan Nyberg
9740a2a014
Translated using Weblate: Swedish (sv) by Jonatan Nyberg <jonatan.nyberg.karl@gmail.com>
Currently translated at 100.0% (449 of 449 strings)

Translated using Weblate: Swedish (sv) by Jonatan Nyberg <jonatan.nyberg.karl@gmail.com>

Currently translated at 100.0% (449 of 449 strings)

Co-authored-by: Jonatan Nyberg <jonatan.nyberg.karl@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/sv/
Translation: F-Droid/F-Droid
2020-09-29 16:51:35 +02:00
yyyyyyyan
95a2f6c969
Translated using Weblate: Portuguese (Brazil) (pt-rBR) by yyyyyyyan <contact@yyyyyyyan.tech>
Currently translated at 100.0% (449 of 449 strings)

Co-authored-by: yyyyyyyan <contact@yyyyyyyan.tech>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/pt_BR/
Translation: F-Droid/F-Droid
2020-09-29 16:51:35 +02:00
ーーー
824cd13c99
Translated using Weblate: Japanese (ja) by ーーー <nnn1590@nnn1590.org>
Currently translated at 100.0% (449 of 449 strings)

Co-authored-by: ーーー <nnn1590@nnn1590.org>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/ja/
Translation: F-Droid/F-Droid
2020-09-29 16:51:34 +02:00
Osoitz
157a963b22
Translated using Weblate: Basque (eu) by Osoitz <oelkoro@gmail.com>
Currently translated at 100.0% (449 of 449 strings)

Co-authored-by: Osoitz <oelkoro@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/eu/
Translation: F-Droid/F-Droid
2020-09-29 16:51:34 +02:00
Priit Jõerüüt
7de0e12142
Translated using Weblate: Estonian (et) by Priit Jõerüüt <hwlate@joeruut.com>
Currently translated at 100.0% (455 of 455 strings)

Translated using Weblate: Estonian (et) by Priit Jõerüüt <hwlate@joeruut.com>

Currently translated at 23.3% (7 of 30 strings)

Translated using Weblate: Estonian (et) by Priit Jõerüüt <hwlate@joeruut.com>

Currently translated at 100.0% (449 of 449 strings)

Co-authored-by: Priit Jõerüüt <hwlate@joeruut.com>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/et/
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/et/
Translation: F-Droid/F-Droid
Translation: F-Droid/F-Droid metadata
2020-09-29 16:51:33 +02:00
sudoLife
88cb6f7fc9
Translated using Weblate: Russian (ru) by sudoLife <mt.ovinov@gmail.com>
Currently translated at 100.0% (30 of 30 strings)

Co-authored-by: sudoLife <mt.ovinov@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/ru/
Translation: F-Droid/F-Droid metadata
2020-09-29 16:51:33 +02:00
zmni
77a42538ac
Translated using Weblate: Indonesian (id) by zmni <zmni@outlook.com>
Currently translated at 100.0% (449 of 449 strings)

Co-authored-by: zmni <zmni@outlook.com>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/id/
Translation: F-Droid/F-Droid
2020-09-29 16:51:33 +02:00
ihor_ck
e436485cf8
Translated using Weblate: Ukrainian (uk) by ihor_ck <igor_ck@outlook.com>
Currently translated at 100.0% (449 of 449 strings)

Co-authored-by: ihor_ck <igor_ck@outlook.com>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/uk/
Translation: F-Droid/F-Droid
2020-09-29 16:51:32 +02:00
Tautvydas Zukauskas
54b591b7e9
Translated using Weblate: Lithuanian (lt) by Tautvydas Zukauskas <tautzuk@tutanota.com>
Currently translated at 73.0% (328 of 449 strings)

Co-authored-by: Tautvydas Zukauskas <tautzuk@tutanota.com>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/lt/
Translation: F-Droid/F-Droid
2020-09-29 16:51:32 +02:00
Jeff Huang
d2a5e0e987
Translated using Weblate: Chinese (Traditional) (zh-rTW) by Jeff Huang <s8321414@gmail.com>
Currently translated at 100.0% (455 of 455 strings)

Translated using Weblate: Chinese (Traditional) (zh-rTW) by Jeff Huang <s8321414@gmail.com>

Currently translated at 100.0% (449 of 449 strings)

Co-authored-by: Jeff Huang <s8321414@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/zh_Hant/
Translation: F-Droid/F-Droid
2020-09-29 16:51:31 +02:00
Licaon Kter
35aac2727a
Translated using Weblate: Romanian (ro) by Licaon Kter <licaon.kter@protonmail.com>
Currently translated at 100.0% (455 of 455 strings)

Translated using Weblate: Romanian (ro) by Licaon Kter <licaon.kter@protonmail.com>

Currently translated at 100.0% (449 of 449 strings)

Translated using Weblate: Romanian (ro) by Licaon Kter <licaon.kter@protonmail.com>

Currently translated at 100.0% (449 of 449 strings)

Co-authored-by: Licaon Kter <licaon.kter@protonmail.com>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/ro/
Translation: F-Droid/F-Droid
2020-09-29 16:51:31 +02:00
Verdulo
7246e71679
Translated using Weblate: Esperanto (eo) by Verdulo <tomek@disroot.org>
Currently translated at 100.0% (455 of 455 strings)

Translated using Weblate: Esperanto (eo) by Verdulo <tomek@disroot.org>

Currently translated at 100.0% (449 of 449 strings)

Co-authored-by: Verdulo <tomek@disroot.org>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/eo/
Translation: F-Droid/F-Droid
2020-09-29 16:51:30 +02:00
primarto
c70b4b5ac7
Translated using Weblate: Macedonian (mk) by primarto <prodavac5@protonmail.com>
Currently translated at 18.0% (81 of 449 strings)

Co-authored-by: primarto <prodavac5@protonmail.com>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/mk/
Translation: F-Droid/F-Droid
2020-09-29 16:51:30 +02:00
Oğuz Ersen
c9e76a9641
Translated using Weblate: Turkish (tr) by Oğuz Ersen <oguzersen@protonmail.com>
Currently translated at 96.6% (29 of 30 strings)

Translated using Weblate: Turkish (tr) by Oğuz Ersen <oguzersen@protonmail.com>

Currently translated at 100.0% (449 of 449 strings)

Co-authored-by: Oğuz Ersen <oguzersen@protonmail.com>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/tr/
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/tr/
Translation: F-Droid/F-Droid
Translation: F-Droid/F-Droid metadata
2020-09-29 16:51:30 +02:00
Oymate
c623a08727
Translated using Weblate: Bengali (Bangladesh) (bn-rBD) by Oymate <dhruboadittya96@gmail.com>
Currently translated at 18.2% (82 of 449 strings)

Co-authored-by: Oymate <dhruboadittya96@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/bn_BD/
Translation: F-Droid/F-Droid
2020-09-29 16:51:27 +02:00
Hans-Christoph Steiner
10a586100e Merge branch 'kunpw-master-patch-10611' into 'master'
Measure http download progress by size of complete file in resumed downloads

See merge request fdroid/fdroidclient!923
2020-09-29 14:51:19 +00:00
Hans-Christoph Steiner
2396a32bb4 Merge branch 'Use_notification_channels' into 'master'
Create and use notification channels on Android Oreo and higher.

See merge request fdroid/fdroidclient!930
2020-09-23 12:03:10 +00:00
Isira Seneviratne
dbbedc7ab1 Create and use notification channels on Android Oreo and higher. 2020-09-22 06:41:41 +05:30
Marcus
17ce6110c2 Merge branch 'Add_Android_11' into 'master'
Add Android 11 to ANDROID_VERSION_NAMES.

See merge request fdroid/fdroidclient!926
2020-08-26 09:58:10 +00:00
Isira Seneviratne
f4409bad02 Add Android 11 to ANDROID_VERSION_NAMES. 2020-08-26 14:52:46 +05:30
kunpw
1c6ab58a30 Measure http download progress by size of complete file in resumed downloads 2020-08-25 15:12:56 +00:00
Hans-Christoph Steiner
a8f1a58f2d Merge branch 'Use_ConnectivityManagerCompat' into 'master'
Use ConnectivityManagerCompat.isActiveNetworkMetered().

See merge request fdroid/fdroidclient!915
2020-08-25 11:35:30 +00:00
Hans-Christoph Steiner
48c520e343 Merge branch 'Use_ConfigurationCompat' into 'master'
Use ConfigurationCompat.getLocales().

See merge request fdroid/fdroidclient!916
2020-08-25 11:29:28 +00:00
Hans-Christoph Steiner
9fd0a433e4 Merge branch 'support-offline-components' into 'master'
allow differing sha256 values in Google Maven vs Android Offline

See merge request fdroid/fdroidclient!918
2020-08-04 09:35:33 +00:00
Hans-Christoph Steiner
708a6d8dbd
allow differing sha256 values in Google Maven vs Android Offline
It turns out that some of the dependencies in the Google Offline Components
downloadable maven repository have difference to the ones Google publishes
to maven.google.com.  WTF.  In any case, the new Gradle Dependency
Verification feature handles this gracefully.  I manually verified the
diffs between the two using diffoscope.  One just differed by timestamps in
the ZIP header, and the other just differed by linefeeds at the end of the
file.  Then I generated this metadata update using:

`./gradlew --write-verification-metadata pgp,sha256`

* https://developer.android.com/studio#offline
2020-08-04 09:46:43 +02:00
Hans-Christoph Steiner
e0cb3f8afc
App.isLocalized() marks whether relevant translations are available
!886
2020-07-22 19:46:54 +02:00
Glenn Carremans
2021f43761
Changed isLocalized logic
`isLocalized` will be true when App will contain 1 or more valid locales for this device
2020-07-22 19:43:03 +02:00
Isira Seneviratne
a44829d33f Use ConfigurationCompat.getLocales(). 2020-07-22 11:10:32 +05:30
Isira Seneviratne
7b8c12bc78 Use ConnectivityManagerCompat.isActiveNetworkMetered(). 2020-07-22 08:48:12 +05:30
Hans-Christoph Steiner
33683cf870 Merge branch 'gradle-dependency-verification' into 'master'
Gradle dependency verification

See merge request fdroid/fdroidclient!913
2020-07-21 10:02:00 +00:00
Hans-Christoph Steiner
be5bdf3219
enable built-in gradle dependency verification
This fully replaces gradle-witness and goes far beyond what it offered. As
far as I can tell, this actually will verify every single artifact that
gradle downloads and uses.

This was generated in two passes to get both the PGP and the SHA256 info:

```
./gradlew --write-verification-metadata pgp,sha256 build connectedFullDebugAndroidTest --export-keys
./gradlew --write-verification-metadata sha256 build connectedFullDebugAndroidTest
```

Thanks to  @vlsi who made me aware of this, and helped make it possible.
closes !837
2020-07-21 10:33:44 +02:00
Hans-Christoph Steiner
dc93686926
update CHANGELOG 2020-07-20 17:48:58 +02:00
Hans-Christoph Steiner
d02ea22572
bump gradle plugin to latest bugfix version 2020-07-20 17:48:55 +02:00
Hans-Christoph Steiner
0c43c66b12 Merge branch 'weblate' into 'master'
Weblate

See merge request fdroid/fdroidclient!912
2020-07-20 14:22:16 +00:00
Hans-Christoph Steiner
dfec1f305b
fix format strings 2020-07-20 13:50:38 +02:00
Hans-Christoph Steiner
91e04bd9e8
Translated using Weblate: Portuguese (pt) by Hans-Christoph Steiner <hans@guardianproject.info>
Currently translated at 100.0% (449 of 449 strings)

Translated using Weblate: Portuguese (Portugal) (pt-rPT) by Hans-Christoph Steiner <hans@guardianproject.info>

Currently translated at 100.0% (449 of 449 strings)

Translated using Weblate: Afrikaans (af) by Hans-Christoph Steiner <hans@guardianproject.info>

Currently translated at 71.0% (319 of 449 strings)

Translated using Weblate: Burmese (my) by Hans-Christoph Steiner <hans@guardianproject.info>

Currently translated at 46.7% (210 of 449 strings)

Translated using Weblate: Catalan (ca) by Hans-Christoph Steiner <hans@guardianproject.info>

Currently translated at 99.7% (448 of 449 strings)

Translated using Weblate: Flemish (nl-rBE) by Hans-Christoph Steiner <hans@guardianproject.info>

Currently translated at 100.0% (449 of 449 strings)

Co-authored-by: Hans-Christoph Steiner <hans@guardianproject.info>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/af/
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/ca/
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/my/
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/nl_BE/
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/pt/
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/pt_PT/
Translation: F-Droid/F-Droid
2020-07-20 13:50:24 +02:00
Jonatan Nyberg
8e95dcb63c
Translated using Weblate: Swedish (sv) by Jonatan Nyberg <jonatan.nyberg.karl@gmail.com>
Currently translated at 100.0% (449 of 449 strings)

Co-authored-by: Jonatan Nyberg <jonatan.nyberg.karl@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/sv/
Translation: F-Droid/F-Droid
2020-07-20 13:50:23 +02:00
kak mi
1614ad7c31
Translated using Weblate: Chinese (Simplified) (zh-rCN) by kak mi <wavelake@outlook.com>
Currently translated at 100.0% (449 of 449 strings)

Co-authored-by: kak mi <wavelake@outlook.com>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/zh_Hans/
Translation: F-Droid/F-Droid
2020-07-20 13:50:23 +02:00
naofum
fa50b8f1a1
Translated using Weblate: Japanese (ja) by naofum <naofum@gmail.com>
Currently translated at 100.0% (449 of 449 strings)

Co-authored-by: naofum <naofum@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/ja/
Translation: F-Droid/F-Droid
2020-07-20 13:50:23 +02:00
Jesper Hertel
9ec5dbcf82
Translated using Weblate: Danish (da) by Jesper Hertel <jesper.hertel@gmail.com>
Currently translated at 100.0% (449 of 449 strings)

Co-authored-by: Jesper Hertel <jesper.hertel@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/da/
Translation: F-Droid/F-Droid
2020-07-20 13:50:23 +02:00
Andrey
13208de90a
Translated using Weblate: Russian (ru) by Andrey <andrey@mailbox.org>
Currently translated at 100.0% (449 of 449 strings)

Co-authored-by: Andrey <andrey@mailbox.org>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/ru/
Translation: F-Droid/F-Droid
2020-07-20 13:50:22 +02:00
40e3004b-a296-47bd-a073-3dd8af36f77f
1607df0d8c
Translated using Weblate: Flemish (nl-rBE) by 40e3004b-a296-47bd-a073-3dd8af36f77f <40e3004b-a296-47bd-a073-3dd8af36f77f@anonaddy.me>
Currently translated at 99.7% (448 of 449 strings)

Translated using Weblate: Dutch (nl) by 40e3004b-a296-47bd-a073-3dd8af36f77f <40e3004b-a296-47bd-a073-3dd8af36f77f@anonaddy.me>

Currently translated at 100.0% (449 of 449 strings)

Translated using Weblate: Flemish (nl-rBE) by 40e3004b-a296-47bd-a073-3dd8af36f77f <40e3004b-a296-47bd-a073-3dd8af36f77f@anonaddy.me>

Currently translated at 99.7% (448 of 449 strings)

Translated using Weblate: Dutch (nl) by 40e3004b-a296-47bd-a073-3dd8af36f77f <40e3004b-a296-47bd-a073-3dd8af36f77f@anonaddy.me>

Currently translated at 100.0% (449 of 449 strings)

Translated using Weblate: French (fr) by 40e3004b-a296-47bd-a073-3dd8af36f77f <40e3004b-a296-47bd-a073-3dd8af36f77f@anonaddy.me>

Currently translated at 100.0% (449 of 449 strings)

Co-authored-by: 40e3004b-a296-47bd-a073-3dd8af36f77f <40e3004b-a296-47bd-a073-3dd8af36f77f@anonaddy.me>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/fr/
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/nl/
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/nl_BE/
Translation: F-Droid/F-Droid
2020-07-20 13:50:22 +02:00
zeritti
fbb609824c
Translated using Weblate: Czech (cs) by zeritti <woodenmo@posteo.de>
Currently translated at 100.0% (449 of 449 strings)

Co-authored-by: zeritti <woodenmo@posteo.de>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/cs/
Translation: F-Droid/F-Droid
2020-07-20 13:50:22 +02:00
nopogo4376
1b31ffa093
Translated using Weblate: Russian (ru) by nopogo4376 <nopogo4376@mailsecv.com>
Currently translated at 100.0% (30 of 30 strings)

Co-authored-by: nopogo4376 <nopogo4376@mailsecv.com>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/ru/
Translation: F-Droid/F-Droid metadata
2020-07-20 13:50:22 +02:00
J. Lavoie
f58bf3eb50
Translated using Weblate: Spanish (Mexico) (es-rMX) by J. Lavoie <j.lavoie@net-c.ca>
Currently translated at 38.3% (172 of 449 strings)

Translated using Weblate: Spanish (Argentina) (es-rAR) by J. Lavoie <j.lavoie@net-c.ca>

Currently translated at 100.0% (449 of 449 strings)

Translated using Weblate: Portuguese (pt) by J. Lavoie <j.lavoie@net-c.ca>

Currently translated at 100.0% (449 of 449 strings)

Translated using Weblate: Estonian (et) by J. Lavoie <j.lavoie@net-c.ca>

Currently translated at 99.7% (448 of 449 strings)

Translated using Weblate: Danish (da) by J. Lavoie <j.lavoie@net-c.ca>

Currently translated at 100.0% (449 of 449 strings)

Translated using Weblate: Portuguese (Portugal) (pt-rPT) by J. Lavoie <j.lavoie@net-c.ca>

Currently translated at 99.7% (448 of 449 strings)

Translated using Weblate: Dutch (nl) by J. Lavoie <j.lavoie@net-c.ca>

Currently translated at 100.0% (449 of 449 strings)

Translated using Weblate: French (fr) by J. Lavoie <j.lavoie@net-c.ca>

Currently translated at 100.0% (449 of 449 strings)

Translated using Weblate: Finnish (fi) by J. Lavoie <j.lavoie@net-c.ca>

Currently translated at 100.0% (449 of 449 strings)

Translated using Weblate: Greek (el) by J. Lavoie <j.lavoie@net-c.ca>

Currently translated at 99.7% (448 of 449 strings)

Translated using Weblate: Czech (cs) by J. Lavoie <j.lavoie@net-c.ca>

Currently translated at 99.7% (448 of 449 strings)

Co-authored-by: J. Lavoie <j.lavoie@net-c.ca>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/cs/
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/da/
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/el/
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/es_AR/
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/es_MX/
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/et/
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/fi/
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/fr/
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/nl/
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/pt/
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/pt_PT/
Translation: F-Droid/F-Droid
2020-07-20 13:50:21 +02:00
bas w
7ba4e02754
Translated using Weblate: Dutch (nl) by bas w <myth.usa538@gmail.com>
Currently translated at 99.7% (448 of 449 strings)

Co-authored-by: bas w <myth.usa538@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/nl/
Translation: F-Droid/F-Droid
2020-07-20 13:50:21 +02:00
Éfrit
7e77a65a24
Translated using Weblate: French (fr) by Éfrit <efrit@posteo.net>
Currently translated at 96.6% (29 of 30 strings)

Co-authored-by: Éfrit <efrit@posteo.net>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/fr/
Translation: F-Droid/F-Droid metadata
2020-07-20 13:50:21 +02:00
ssantos
5320dbbddc
Translated using Weblate: Portuguese (pt) by ssantos <ssantos@web.de>
Currently translated at 100.0% (30 of 30 strings)

Translated using Weblate: Portuguese (pt) by ssantos <ssantos@web.de>

Currently translated at 100.0% (449 of 449 strings)

Translated using Weblate: Portuguese (Portugal) (pt-PT) by ssantos <ssantos@web.de>

Currently translated at 100.0% (30 of 30 strings)

Translated using Weblate: Portuguese (Portugal) (pt-rPT) by ssantos <ssantos@web.de>

Currently translated at 100.0% (449 of 449 strings)

Translated using Weblate: Portuguese (Portugal) (pt-PT) by ssantos <ssantos@web.de>

Currently translated at 100.0% (30 of 30 strings)

Translated using Weblate: Portuguese (Portugal) (pt-rPT) by ssantos <ssantos@web.de>

Currently translated at 100.0% (449 of 449 strings)

Translated using Weblate: Portuguese (pt) by ssantos <ssantos@web.de>

Currently translated at 100.0% (30 of 30 strings)

Co-authored-by: ssantos <ssantos@web.de>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/pt/
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/pt_PT/
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/pt/
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/pt_PT/
Translation: F-Droid/F-Droid
Translation: F-Droid/F-Droid metadata
2020-07-20 13:50:21 +02:00
grrgui
cb44a26d77
Translated using Weblate: French (fr) by grrgui <baz.14@zaclys.net>
Currently translated at 93.3% (28 of 30 strings)

Co-authored-by: grrgui <baz.14@zaclys.net>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/fr/
Translation: F-Droid/F-Droid metadata
2020-07-20 13:50:20 +02:00
Aman ALam
f86869487f
Translated using Weblate: Punjabi (pa) by Aman ALam <alam.yellow@gmail.com>
Currently translated at 20.7% (93 of 449 strings)

Co-authored-by: Aman ALam <alam.yellow@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/pa/
Translation: F-Droid/F-Droid
2020-07-20 13:50:20 +02:00
Strubbl
b67e146b44
Translated using Weblate: German (de) by Strubbl <github@linux4tw.de>
Currently translated at 100.0% (30 of 30 strings)

Co-authored-by: Strubbl <github@linux4tw.de>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/de/
Translation: F-Droid/F-Droid metadata
2020-07-20 13:50:20 +02:00
keerthana
fc571f14bd
Translated using Weblate: Tamil (ta) by keerthana <keerthanaravichandran96@gmail.com>
Currently translated at 31.1% (140 of 449 strings)

Co-authored-by: keerthana <keerthanaravichandran96@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/ta/
Translation: F-Droid/F-Droid
2020-07-20 13:50:20 +02:00
WaldiS
215dd00550
Translated using Weblate: Polish (pl) by WaldiS <sto@tutanota.de>
Currently translated at 100.0% (30 of 30 strings)

Translated using Weblate: Polish (pl) by WaldiS <sto@tutanota.de>

Currently translated at 100.0% (30 of 30 strings)

Translated using Weblate: Polish (pl) by WaldiS <sto@tutanota.de>

Currently translated at 96.6% (29 of 30 strings)

Translated using Weblate: Polish (pl) by WaldiS <sto@tutanota.de>

Currently translated at 100.0% (449 of 449 strings)

Co-authored-by: WaldiS <sto@tutanota.de>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/pl/
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/pl/
Translation: F-Droid/F-Droid
Translation: F-Droid/F-Droid metadata
2020-07-20 13:50:19 +02:00
Hosted Weblate
d5b08cb8c4
Update translation files
Updated by "Squash Git commits" hook in Weblate.

Translated using Weblate: Ukrainian (uk) by ihor_ck <igor_ck@outlook.com>

Currently translated at 100.0% (30 of 30 strings)

Translated using Weblate: Ukrainian (uk) by ihor_ck <igor_ck@outlook.com>

Currently translated at 83.3% (25 of 30 strings)

Translated using Weblate: Ukrainian (uk) by ihor_ck <igor_ck@outlook.com>

Currently translated at 80.0% (24 of 30 strings)

Translated using Weblate: Chinese (Simplified) (zh-CN) by kak mi <wavelake@outlook.com>

Currently translated at 100.0% (30 of 30 strings)

Translated using Weblate: Esperanto (eo) by Verdulo <tomek@disroot.org>

Currently translated at 100.0% (30 of 30 strings)

Co-authored-by: Hosted Weblate <hosted@weblate.org>
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/eo/
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/uk/
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/zh_Hans/
Translation: F-Droid/F-Droid metadata
2020-07-20 13:50:19 +02:00
Hans-Christoph Steiner
1be81fc813 Merge branch 'jackson-update' into 'master'
update to latest Jackson JSON, 2.8 is no longer maintained

See merge request fdroid/fdroidclient!909
2020-07-15 16:58:12 +00:00
Hans-Christoph Steiner
857a7f7567
update to latest Jackson JSON, 2.8 is no longer maintained 2020-07-15 15:18:06 +02:00
Hans-Christoph Steiner
850b1cf414
fix checkstyle after androidx update !899 2020-07-15 15:02:34 +02:00
Hans-Christoph Steiner
fcc1656595
remove unused imports to placate checkstyle 2020-07-15 15:02:27 +02:00
Hans-Christoph Steiner
1ee0d7568b Merge branch 'bottom-nav-colors' into 'master'
make bottom nav color configurable

See merge request fdroid/fdroidclient!906
2020-07-15 08:17:16 +00:00
Hans-Christoph Steiner
5ba756ba5b Merge branch 'androidx' into 'master'
AndroidX Migration

See merge request fdroid/fdroidclient!899
2020-07-15 08:05:32 +00:00
Dominik Schürmann
fa209c457f Use Android Gradle Plugin 3.6.0 2020-07-14 21:34:39 +02:00
Dominik Schürmann
44c284d723 Use Gradle 6.4.1 2020-07-14 21:27:50 +02:00
Dominik Schürmann
2701961175 Fix LocalizationTest by recognizing ds format 2020-07-14 17:57:07 +02:00
Dominik Schürmann
319b615da0 Remove unused imports, fix line lengths 2020-07-14 14:10:22 +02:00
Dominik Schürmann
8a0b7eca12 Re-add missing hamcrest dependency 2020-07-14 14:10:22 +02:00
Dominik Schürmann
64e1ec12b9 Remove old support lib proguard rules
AndroidX ships proguard rules that are automatically used
2020-07-14 14:10:22 +02:00
Dominik Schürmann
22c98036c1 build.gradle: use == instead of equals 2020-07-14 14:10:22 +02:00
Dominik Schürmann
f6b3c4bbe2 Migrate AntiFeaturesListingView to AndroidX 2020-07-14 14:10:22 +02:00
Dominik Schürmann
f089b9df08 Use correct uses-library tag in androidTest 2020-07-14 14:10:22 +02:00
Dominik Schürmann
14996c1eca Fix errors reported by lint 2020-07-14 14:10:22 +02:00
Dominik Schürmann
0034e1faff Replace old InstrumentationRegistry.getTargetContext()
with ApplicationProvider.getApplicationContext()
2020-07-14 14:10:22 +02:00
Dominik Schürmann
0ed4fb8e60 Update bouncycastle to 1.65 2020-07-14 14:10:22 +02:00
Dominik Schürmann
06b839d14f Fix test and androidTest dependencies 2020-07-14 14:10:21 +02:00
Dominik Schürmann
1fde5bd355 Remove androidx.legacy dependency 2020-07-14 14:10:21 +02:00
Dominik Schürmann
930f7e2c13 Remove obsolete useProguard flag 2020-07-14 14:10:21 +02:00
Dominik Schürmann
78e81fb781 Use androidx.preference artifact
- use PreferenceFragmentCompat
- this requires androidx Fragments
- explicit declaration of androidx widgets in preferences.xml
  no longer required
2020-07-14 14:10:21 +02:00
Dominik Schürmann
8f81bf0cb9 Use androidx.test artifacts for tests not just androidTests
- this allows replacing deprecated RuntimeEnvironment.application
2020-07-14 14:10:21 +02:00
Dominik Schürmann
360e61118d Fix AppDetailsAdapterTest
by creating a context where styles are available
2020-07-14 14:10:21 +02:00
Dominik Schürmann
d67db78997 Fix AndroidManifest for androidTest 2020-07-14 14:10:21 +02:00
Dominik Schürmann
cefd706aeb Use robolectric:4.3
- remove constants annotation
- Most @Implementation methods in shadow classes are now protected instead of public.
  Tests should always prefer to call SDK methods directly on Android classes rather
  than on their shadows
2020-07-14 14:10:21 +02:00
Dominik Schürmann
c784274b98 Automated Robolectric migration as in http://robolectric.org/automated-migration/ 2020-07-14 14:10:21 +02:00
Marcus Hoffmann
f9663a5ac6 add gradle.properties file to git
This tells gradle that we are an androidX project now.
2020-07-14 14:10:21 +02:00
Marcus Hoffmann
352b6fc7c1 add NonNull annotations to override method 2020-07-14 14:10:21 +02:00
Marcus Hoffmann
59ad42a73b add magic prefrence xml to cancel preferences page offset
Taken from here:
https://stackoverflow.com/a/53969021
2020-07-14 14:10:21 +02:00
Marcus Hoffmann
38374e1d32 update androidX libraries to latest versions
This needs another AGP and gradle update as
com.google.android.material:material:1.1.0 created compile errors
otherwise.
2020-07-14 14:10:21 +02:00
Marcus Hoffmann
18592150c1 perform androidX migration through android studio
Project compiles and works fine after this.
2020-07-14 14:10:21 +02:00
Marcus Hoffmann
e2a75f69ee androidX migrations preparations
We need compileSdk 28 and the required AGP and gradle versions, as well
as updating to compatible support library revisions.

minSdk and targetSdk needs to move to build.gradle from manifest.
buildToolsVersion isn't used anymore.
2020-07-14 14:10:21 +02:00
Dominik Schürmann
f9e4506f2d make bottom nav color configurable 2020-07-13 13:36:50 +02:00
Marcus
d0604cb886 Merge branch 'changelog_1.9' into 'master'
even more 1.9 changelog [ci skip]

See merge request fdroid/fdroidclient!905
2020-07-09 11:44:26 +00:00
Marcus Hoffmann
600842c5ff even more 1.9 changelog [ci skip] 2020-07-09 13:43:51 +02:00
Marcus
986c9d0689 Merge branch 'changelog_1.9' into 'master'
add more tings to 1.9 changelog [ci skip]

See merge request fdroid/fdroidclient!904
2020-07-09 11:36:39 +00:00
Marcus Hoffmann
eddc99879b add more tings to 1.9 changelog [ci skip] 2020-07-09 13:35:40 +02:00
Hans-Christoph Steiner
c226523ecc Merge branch 'acra-email' into 'master'
Make acra report email configurable via gradle

See merge request fdroid/fdroidclient!900
2020-07-02 09:29:38 +00:00
Dominik Schürmann
78a69e7703 Make acra report email configurable via gradle 2020-07-02 09:47:58 +02:00
Hans-Christoph Steiner
0a9e58cb2a
version code to 1010000
[skip ci]
2020-06-25 22:49:00 +02:00
Hans-Christoph Steiner
69ced9d114 Merge branch 'antifeature-icons' into 'master'
Anti-Feature icons

Closes #2014

See merge request fdroid/fdroidclient!834
2020-06-25 20:39:00 +00:00
Michael Pöhn
a4c3df6c24 Anti-Feature icons 2020-06-25 20:39:00 +00:00
Hans-Christoph Steiner
2f6dfa02d0
include FUNDING.yml directly, fdroid update reads it
Also, it is the number two hit when searching for "FUNDING.yml":
https://duckduckgo.com/html/?q=funding.yml

This was copied from https://github.com/f-droid/.github.git
2020-06-25 22:21:01 +02:00
Hosted Weblate
e66fdeb8ef
Update translation files
Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/
2020-06-25 17:15:25 +02:00
Hosted Weblate
d62eba1a00
Translated using Weblate: Italian (it) by random r <epsilin@yopmail.com>
Currently translated at 100.0% (30 of 30 strings)

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/it/

Translated using Weblate: Italian (it) by random r <epsilin@yopmail.com>

Currently translated at 100.0% (449 of 449 strings)

Translation: F-Droid/F-Droid
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/it/
2020-06-25 17:15:25 +02:00
Hans-Christoph Steiner
73f1725da9 Merge branch 'autoVerify-false' into 'master'
set App Link Auto Verify to false

See merge request fdroid/fdroidclient!896
2020-06-25 15:15:16 +00:00
Hans-Christoph Steiner
aea5452904 Merge branch 'weblate' into 'master'
Weblate

See merge request fdroid/fdroidclient!895
2020-06-25 12:43:38 +00:00
Hans-Christoph Steiner
864453bb5d
autoVerify="false" on all IntentFilters for HTTP/HTTPS #2004
The autoVerify function seems to require that the app only declare domain
names in the IntentFilters that are set up with the "site association"
files.  For F-Droid to support the verified app link, it would have to stop
matching play.google.com, amazon.com, etc.  This autoVerify function also
triggers DNS lookups at the system level, which might not be forwarded over
Tor, in certain scenarios.  So this just disables the whole feature.

https://developer.android.com/training/app-links/verify-site-associations
2020-06-25 13:31:22 +02:00
Hans-Christoph Steiner
757476dc9b
use canonical download URL: https://f-droid.org/F-Droid.apk
fdroid-website@6be403585352126b04e5c72623ef5852cceb2502
fdroid-website!536
2020-06-25 13:31:20 +02:00
Hans-Christoph Steiner
dfca502ac4
use https://f-droid.org/packages/ instead of https://f-droid.org/app
This avoids a redirect.  Both are supported in the IntentFilters.
2020-06-25 13:31:17 +02:00
Hans-Christoph Steiner
adf62a5b1f
fix format strings 2020-06-25 13:11:37 +02:00
Hans-Christoph Steiner
993611e90f
remove Android string quoting 2020-06-25 13:05:32 +02:00
Hans-Christoph Steiner
3b14604589
Merge remote-tracking branch 'weblate/master' into weblate
* weblate/master:
  Translated using Weblate: Hebrew (he) by Yaron Shahrabani <sh.yaron@gmail.com>
  Update translation files
  Update translation files
  Update translation files
  Update translation files
  Update translation files
  Update translation files
  Update translation files
  Translated using Weblate: Portuguese (Portugal) (pt-PT) by Manuela Silva <mmsrs@sky.com>
  Translated using Weblate: Ukrainian (uk) by ihor_ck <igor_ck@outlook.com>
  Update translation files
  Update translation files
  Translated using Weblate: Marathi (mr) by Prachi Joshi <josprachi@yahoo.com>
  Translated using Weblate: Romanian (ro) by Licaon Kter <licaon.kter@protonmail.com>
  Translated using Weblate: Serbian (sr) by Саша Петровић <salepetronije@gmail.com>
  Update translation files
  Update translation files
  Update translation files
  Update translation files

 Conflicts:
	app/src/main/res/values-fa/strings.xml
	app/src/main/res/values-hr/strings.xml
	app/src/main/res/values-ta/strings.xml
	app/src/main/res/values-uk/strings.xml
2020-06-25 13:03:53 +02:00
Yaron Shahrabani
73ffd6453b
Translated using Weblate: Hebrew (he) by Yaron Shahrabani <sh.yaron@gmail.com>
Currently translated at 100.0% (30 of 30 strings)

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/he/
2020-06-25 12:19:12 +02:00
Hans-Christoph Steiner
a6d1e18ee9 Merge branch 'free-donation-options' into 'master'
Free donation options

See merge request fdroid/fdroidclient!891
2020-06-25 10:19:08 +00:00
Hans-Christoph Steiner
5c0ffea1ef fix checkstyle from !817 !818 2020-06-25 10:31:46 +02:00
Hans-Christoph Steiner
770d80340b run Ctrl-Alt-L code formatter on DBHelper 2020-06-25 10:31:46 +02:00
Hans-Christoph Steiner
c9178d1a08 switch donate layout grid from 3 to 2 columns to handle longer URLs 2020-06-25 10:31:46 +02:00
Hans-Christoph Steiner
23bd3b81dd support new Liberapay: field, with migration support for LiberapayID:
Liberapay was originally included using a numeric ID, since they had not yet
finalized the public URLs.  Now it is a username.  So this logic prefers
the username in Liberapay: field, and uses the old LiberapayID: as a
fallback.  LiberapayID: will not override Liberapay: if it is already set.
This reuses the old database key since it is stored and processed as a
String anyway.
2020-06-25 10:31:46 +02:00
Hans-Christoph Steiner
1061929fb4 support OpenCollective as a donation option 2020-06-25 10:31:46 +02:00
Hans-Christoph Steiner
35d2047536 only show donate icons for free software, otherwise show plain URLs
fdroidserver!754
fdroid-website !557
2020-06-25 10:31:44 +02:00
Hosted Weblate
82e07f59d9
Update translation files
Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/
2020-06-25 08:54:04 +02:00
Hosted Weblate
fbf964f1a3
Update translation files
Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Translated using Weblate: German (de) by C. Rüdinger <Mail-an-CR@web.de>

Currently translated at 100.0% (449 of 449 strings)

Translation: F-Droid/F-Droid
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/de/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Translated using Weblate: German (de) by C. Rüdinger <Mail-an-CR@web.de>

Currently translated at 100.0% (29 of 29 strings)

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/de/
2020-06-25 08:54:04 +02:00
Hosted Weblate
a28c62e77e
Update translation files
Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Translated using Weblate: Hungarian (hu) by Balázs Meskó <meskobalazs@mailbox.org>

Currently translated at 100.0% (29 of 29 strings)

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/hu/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Translated using Weblate: Hungarian (hu) by Balázs Meskó <meskobalazs@mailbox.org>

Currently translated at 55.1% (16 of 29 strings)

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/hu/

Translated using Weblate: Hungarian (hu) by Balázs Meskó <meskobalazs@mailbox.org>

Currently translated at 100.0% (449 of 449 strings)

Translation: F-Droid/F-Droid
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/hu/
2020-06-25 08:54:03 +02:00
Hosted Weblate
36dbdfb8c0
Update translation files
Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Translated using Weblate: Icelandic (is) by Sveinn í Felli <sv1@fellsnet.is>

Currently translated at 100.0% (29 of 29 strings)

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/is/

Translated using Weblate: Icelandic (is) by Sveinn í Felli <sv1@fellsnet.is>

Currently translated at 100.0% (449 of 449 strings)

Translation: F-Droid/F-Droid
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/is/
2020-06-25 08:54:03 +02:00
Hosted Weblate
a7c7f83d18
Update translation files
Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Translated using Weblate: Italian (it) by FrancescoSoave <fs@francescosoave.com>

Currently translated at 100.0% (29 of 29 strings)

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/it/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/
2020-06-25 08:54:03 +02:00
Hosted Weblate
0270cdbccd
Update translation files
Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Translated using Weblate: Polish (pl) by WaldiS <sto@tutanota.de>

Currently translated at 100.0% (29 of 29 strings)

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/pl/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Translated using Weblate: Polish (pl) by WaldiS <admin@sto.ugu.pl>

Currently translated at 100.0% (29 of 29 strings)

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/pl/
2020-06-25 08:54:03 +02:00
Hosted Weblate
b3220091e4
Update translation files
Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Translated using Weblate: Portuguese (Brazil) (pt-BR) by Rafael Fontenelle <rafaelff@gnome.org>

Currently translated at 96.5% (28 of 29 strings)

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/pt_BR/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Translated using Weblate: Portuguese (Brazil) (pt-BR) by Wellington Terumi Uemura <wellingtonuemura@gmail.com>

Currently translated at 96.5% (28 of 29 strings)

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/pt_BR/

Translated using Weblate: Portuguese (Brazil) (pt-rBR) by Wellington Terumi Uemura <wellingtonuemura@gmail.com>

Currently translated at 100.0% (449 of 449 strings)

Translation: F-Droid/F-Droid
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/pt_BR/
2020-06-25 08:54:03 +02:00
Hosted Weblate
78dbde3870
Translated using Weblate: Portuguese (Portugal) (pt-PT) by Manuela Silva <mmsrs@sky.com>
Currently translated at 100.0% (29 of 29 strings)

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/pt_PT/

Translated using Weblate: Portuguese (Portugal) (pt-PT) by Manuela Silva <mmsrs@sky.com>

Currently translated at 100.0% (29 of 29 strings)

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/pt_PT/
2020-06-25 08:54:03 +02:00
Hosted Weblate
33949c2ee5
Translated using Weblate: Ukrainian (uk) by ihor_ck <igor_ck@outlook.com>
Currently translated at 65.5% (19 of 29 strings)

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/uk/

Translated using Weblate: Ukrainian (uk) by ihor_ck <igor_ck@outlook.com>

Currently translated at 100.0% (449 of 449 strings)

Translation: F-Droid/F-Droid
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/uk/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Translated using Weblate: Ukrainian (uk) by ihor_ck <igor_ck@outlook.com>

Currently translated at 100.0% (449 of 449 strings)

Translation: F-Droid/F-Droid
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/uk/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Translated using Weblate: Ukrainian (uk) by Tymofij Lytvynenko <till.svit@gmail.com>

Currently translated at 100.0% (449 of 449 strings)

Translation: F-Droid/F-Droid
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/uk/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Translated using Weblate: Ukrainian (uk) by ihor_ck <igor_ck@outlook.com>

Currently translated at 58.6% (17 of 29 strings)

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/uk/

Translated using Weblate: Ukrainian (uk) by ihor_ck <igor_ck@outlook.com>

Currently translated at 100.0% (449 of 449 strings)

Translation: F-Droid/F-Droid
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/uk/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/
2020-06-25 08:54:03 +02:00
Hosted Weblate
2eb652c23a
Update translation files
Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Translated using Weblate: Chinese (Simplified) (zh-CN) by Trey Yang <stevsfy@gmail.com>

Currently translated at 100.0% (29 of 29 strings)

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/zh_Hans/

Translated using Weblate: Chinese (Simplified) (zh-rCN) by Trey Yang <stevsfy@gmail.com>

Currently translated at 100.0% (449 of 449 strings)

Translation: F-Droid/F-Droid
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/zh_Hans/

Translated using Weblate: Chinese (Simplified) (zh-CN) by Sak94664 <hdudhhhdh@gmail.com>

Currently translated at 100.0% (29 of 29 strings)

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/zh_Hans/

Translated using Weblate: Chinese (Simplified) (zh-CN) by Trey Yang <stevsfy@gmail.com>

Currently translated at 100.0% (29 of 29 strings)

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/zh_Hans/

Translated using Weblate: Chinese (Simplified) (zh-CN) by Lesya Novaselskaya <mesnevi@airpost.net>

Currently translated at 37.9% (11 of 29 strings)

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/zh_Hans/

Translated using Weblate: Chinese (Simplified) (zh-CN) by kak mi <wavelake@outlook.com>

Currently translated at 37.9% (11 of 29 strings)

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/zh_Hans/
2020-06-25 08:54:03 +02:00
Hosted Weblate
e71f139be5
Update translation files
Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Translated using Weblate: Croatian (hr) by Milo Ivir <mail@milotype.de>

Currently translated at 6.8% (2 of 29 strings)

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/hr/

Translated using Weblate: Croatian (hr) by Milo Ivir <mail@milotype.de>

Currently translated at 87.3% (392 of 449 strings)

Translation: F-Droid/F-Droid
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/hr/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/
2020-06-25 08:54:03 +02:00
Hosted Weblate
a071b756a4
Translated using Weblate: Marathi (mr) by Prachi Joshi <josprachi@yahoo.com>
Currently translated at 6.8% (2 of 29 strings)

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/mr/

Translated using Weblate: Marathi (mr) by Anonymous <noreply@weblate.org>

Currently translated at 6.8% (2 of 29 strings)

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/mr/
2020-06-25 08:54:03 +02:00
Hosted Weblate
49942cf2fb
Translated using Weblate: Romanian (ro) by Licaon Kter <licaon.kter@protonmail.com>
Currently translated at 6.8% (2 of 29 strings)

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/ro/
2020-06-25 08:54:02 +02:00
Hosted Weblate
9673ac3102
Translated using Weblate: Serbian (sr) by Саша Петровић <salepetronije@gmail.com>
Currently translated at 10.3% (3 of 29 strings)

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/sr/
2020-06-25 08:54:02 +02:00
Hosted Weblate
977a923573
Update translation files
Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Translated using Weblate: Esperanto (eo) by Verdulo <tomek@disroot.org>

Currently translated at 100.0% (449 of 449 strings)

Translation: F-Droid/F-Droid
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/eo/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Translated using Weblate: Esperanto (eo) by Verdulo <tomek@disroot.org>

Currently translated at 100.0% (449 of 449 strings)

Translation: F-Droid/F-Droid
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/eo/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Translated using Weblate: Esperanto (eo) by Verdulo <tomek@disroot.org>

Currently translated at 100.0% (29 of 29 strings)

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/eo/

Translated using Weblate: Esperanto (eo) by Verdulo <tomek@disroot.org>

Currently translated at 100.0% (449 of 449 strings)

Translation: F-Droid/F-Droid
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/eo/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/
2020-06-25 08:54:02 +02:00
Hosted Weblate
23cd5a0b3b
Update translation files
Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Translated using Weblate: Slovak (sk) by Juraj Liso <lisojuraj@gmail.com>

Currently translated at 6.8% (2 of 29 strings)

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/sk/

Translated using Weblate: Slovak (sk) by Juraj Liso <lisojuraj@gmail.com>

Currently translated at 100.0% (449 of 449 strings)

Translation: F-Droid/F-Droid
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/sk/
2020-06-25 08:54:02 +02:00
Hosted Weblate
ebdad96b0e
Update translation files
Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Translated using Weblate: French (fr) by Julien BRONDINO <dev@brondino.fr>

Currently translated at 100.0% (449 of 449 strings)

Translation: F-Droid/F-Droid
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/fr/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Translated using Weblate: French (fr) by Ldm Public <ldmpub@gmail.com>

Currently translated at 100.0% (449 of 449 strings)

Translation: F-Droid/F-Droid
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/fr/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Translated using Weblate: French (fr) by Lesya Novaselskaya <mesnevi@airpost.net>

Currently translated at 100.0% (29 of 29 strings)

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/fr/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Translated using Weblate: French (fr) by Ortinomax <commerce@blaise-moreau.fr>

Currently translated at 100.0% (29 of 29 strings)

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/fr/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Translated using Weblate: French (fr) by Nathan <bonnemainsnathan@gmail.com>

Currently translated at 100.0% (29 of 29 strings)

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/fr/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Translated using Weblate: French (fr) by Anonymous <noreply@weblate.org>

Currently translated at 100.0% (29 of 29 strings)

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/fr/

Translated using Weblate: French (fr) by Nathan <bonnemainsnathan@gmail.com>

Currently translated at 100.0% (29 of 29 strings)

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/fr/
2020-06-25 08:54:02 +02:00
Hosted Weblate
35fa77cfe7
Update translation files
Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Translated using Weblate: Spanish (Mexico) (es-rMX) by Anonymous <noreply@weblate.org>

Currently translated at 38.3% (172 of 449 strings)

Translation: F-Droid/F-Droid
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/es_MX/

Translated using Weblate: Spanish (Mexico) (es-rMX) by Leviatansan21 <jorgeivanponcehernandez@yahoo.co.jp>

Currently translated at 38.3% (172 of 449 strings)

Translation: F-Droid/F-Droid
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/es_MX/

Translated using Weblate: Spanish (Mexico) (es-rMX) by Anonymous <noreply@weblate.org>

Currently translated at 22.0% (99 of 449 strings)

Translation: F-Droid/F-Droid
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/es_MX/

Translated using Weblate: Spanish (Mexico) (es-rMX) by Leviatansan21 <jorgeivanponcehernandez@yahoo.co.jp>

Currently translated at 22.0% (99 of 449 strings)

Translation: F-Droid/F-Droid
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/es_MX/

Translated using Weblate: Spanish (Mexico) (es-rMX) by Anonymous <noreply@weblate.org>

Currently translated at 21.3% (96 of 449 strings)

Translation: F-Droid/F-Droid
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/es_MX/

Translated using Weblate: Spanish (Mexico) (es-rMX) by Leviatansan21 <jorgeivanponcehernandez@yahoo.co.jp>

Currently translated at 21.3% (96 of 449 strings)

Translation: F-Droid/F-Droid
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/es_MX/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Translated using Weblate: Spanish (Mexico) (es_MX) by Leviatansan21 <jorgeivanponcehernandez@yahoo.co.jp>

Currently translated at 31.0% (9 of 29 strings)

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/es_MX/

Translated using Weblate: Spanish (Mexico) (es-rMX) by Leviatansan21 <jorgeivanponcehernandez@yahoo.co.jp>

Currently translated at 17.5% (79 of 449 strings)

Translation: F-Droid/F-Droid
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/es_MX/

Added translation using Weblate: Spanish (Mexico) (es-rMX) by Leviatansan21 <jorgeivanponcehernandez@yahoo.co.jp>
2020-06-25 08:54:02 +02:00
Hans-Christoph Steiner
2498c127b4
add changelog for upcoming v1.9 release 2020-06-25 08:53:18 +02:00
Marcus
3ddbd00976 Merge branch 'fix_1460' into 'master'
Icon fixes

Closes #1686, #1772, #1771, and #1460

See merge request fdroid/fdroidclient!817
2020-06-24 15:20:05 +00:00
Marcus Hoffmann
4a5bee3e84 use icon from pm, when there's none from the metadata
This was already done for list views because of the panic uninstall list
but we can easily apply the same logic to the tile view and app detail
view as well.
2020-06-24 16:57:28 +02:00
Marcus Hoffmann
56c05933a2 ignore xml icons
They will never work, they should not be set by fdroidserver but we can
be defensive about not returning them to any views here.
2020-06-24 16:57:28 +02:00
Marcus Hoffmann
bc6e5e8433 add test for localized icon 2020-06-24 16:57:28 +02:00
Marcus Hoffmann
7b5d7f8fed fix tests after icon changes 2020-06-24 16:57:28 +02:00
Marcus Hoffmann
941d8a0b8b rename app.icon to app.iconFromApk
This makes it clearer what this is actually referring to.
2020-06-24 16:57:28 +02:00
Marcus Hoffmann
a500660a41 allow displaying localized icons
Move the logic of calculating the correct iconUrl from sql to java.

Fixes #1460.
2020-06-24 16:57:28 +02:00
Hans-Christoph Steiner
a1701ca8c0 Merge branch 'repo_archive_switch' into 'master'
Repo archive switch

Closes #1686, #1772, and #1771

See merge request fdroid/fdroidclient!818
2020-06-24 14:56:23 +00:00
Marcus Hoffmann
4ac2f93238 put archive repo before main
Otherwise when both are enabled the metadata from the archive gets
priority over repo which is not really what we want.
It also breaks a lot of icons, featuregraphics and screenshots.

Fixes fdroid/fdroidclient#1771
Fixes fdroid/fdroidclient#1772
Fixes fdroid/fdroidclient#1686

We also update the default repo priorities for existing installs if we
find the default repos in the original order.

The query is pretty annoying to write in java, here is the raw sql form.

UPDATE fdroid_repo
SET priority = ( SELECT SUM(priority)
            FROM fdroid_repo
            WHERE address IN ('https://f-droid.org/repo', 'https://f-droid.org/archive')
          ) - priority
WHERE address IN ('https://f-droid.org/repo', 'https://f-droid.org/archive') AND
'TRUE' IN (
    SELECT
    CASE
        WHEN a.priority = b.priority-1 THEN 'TRUE'
        ELSE 'FALSE'
    END
    FROM fdroid_repo as a
    INNER JOIN fdroid_repo as b ON
    a.address = "https://f-droid.org/repo" and b.address = "https://f-droid.org/archive"
)
2020-06-24 16:34:43 +02:00
Hans-Christoph Steiner
87d2db3a80 Merge branch 'update_scheduling_fix' into 'master'
UpdateService: fix update scheduling condition

See merge request fdroid/fdroidclient!893
2020-06-15 19:03:57 +00:00
Marcus Hoffmann
82bca90009 UpdateService: fix update scheduling condition
This was blocking updates being scheduled when either data or wifi
updates were disabled. We only want to completely disable the update
service when both are disbaled though.

Ref: #1623
2020-06-15 20:39:56 +02:00
Hans-Christoph Steiner
4031df22f4 Merge branch 'fix_uninstall_crash' into 'master'
fixes a crash that can be triggered when uninstalling with privext

See merge request fdroid/fdroidclient!888
2020-06-10 20:59:16 +00:00
Hans-Christoph Steiner
a0b9150bb3 Merge branch 'cleanup_repo_delete' into 'master'
clean up db when deleting a repository

Closes Bubu/fdroidclassic#29

See merge request fdroid/fdroidclient!887
2020-06-10 20:53:43 +00:00
Marcus Hoffmann
3a2ab0baa6 fixes a crash that can be triggered when uninstalling with privext
Fixes the following crash:

05-19 22:39:55.535  1037 24513 W WindowManager: Attempted to add application window with unknown token Token{2f841 null}.  Aborting.
05-19 22:39:55.536 10844 10844 D AndroidRuntime: Shutting down VM
05-19 22:39:55.540 10844 10844 E AndroidRuntime: FATAL EXCEPTION: main
05-19 22:39:55.540 10844 10844 E AndroidRuntime: Process: org.fdroid.fdroid.debug, PID: 10844
05-19 22:39:55.540 10844 10844 E AndroidRuntime: android.view.WindowManager$BadTokenException: Unable to add window -- token android.os.BinderProxy@d8ae31 is not valid; is your activity running?
05-19 22:39:55.540 10844 10844 E AndroidRuntime: 	at android.view.ViewRootImpl.setView(ViewRootImpl.java:891)
05-19 22:39:55.540 10844 10844 E AndroidRuntime: 	at android.view.WindowManagerGlobal.addView(WindowManagerGlobal.java:372)
05-19 22:39:55.540 10844 10844 E AndroidRuntime: 	at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:128)
05-19 22:39:55.540 10844 10844 E AndroidRuntime: 	at android.app.Dialog.show(Dialog.java:454)
05-19 22:39:55.540 10844 10844 E AndroidRuntime: 	at org.fdroid.fdroid.views.AppDetailsActivity$7.onReceive(AppDetailsActivity.java:607)
05-19 22:39:55.540 10844 10844 E AndroidRuntime: 	at android.support.v4.content.LocalBroadcastManager.executePendingBroadcasts(LocalBroadcastManager.java:311)
05-19 22:39:55.540 10844 10844 E AndroidRuntime: 	at android.support.v4.content.LocalBroadcastManager.access$000(LocalBroadcastManager.java:47)
05-19 22:39:55.540 10844 10844 E AndroidRuntime: 	at android.support.v4.content.LocalBroadcastManager$1.handleMessage(LocalBroadcastManager.java:120)
05-19 22:39:55.540 10844 10844 E AndroidRuntime: 	at android.os.Handler.dispatchMessage(Handler.java:108)
05-19 22:39:55.540 10844 10844 E AndroidRuntime: 	at android.os.Looper.loop(Looper.java:166)
05-19 22:39:55.540 10844 10844 E AndroidRuntime: 	at android.app.ActivityThread.main(ActivityThread.java:7529)
05-19 22:39:55.540 10844 10844 E AndroidRuntime: 	at java.lang.reflect.Method.invoke(Native Method)
05-19 22:39:55.540 10844 10844 E AndroidRuntime: 	at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:245)
05-19 22:39:55.540 10844 10844 E AndroidRuntime: 	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:921)

The !isFinishing check was already in the installReceiver part, but
somehow missing in uninstallReceiver. There's also a reference to this
here: http://blackriver.to/2012/08/android-annoying-exception-unable-to-add-window-is-your-activity-running/

I don't understand this crash, especially as the dialouge still gets
shown after adding this check (possibly the parent activity is finishing
and then immediately restarting?). But this sems to realibly fix it.

This was happening when I installed an app, used a new settings entry to
unregister privext as a device owner (by calling it via binder/aidl) and
then trying to uninstall the app I just installed again, whithout
closing f-droid inbetween.
2020-05-19 23:43:25 +02:00
Marcus Hoffmann
a965deb51e clean up db when deleting a repository
Previously everything from a repo staying inside the db when removing it
without disabling it first, the problem manifests when the repo is
readded later (or a mirror), as it would get a new id but all apk
entries still point to the original repoid.

So we now first disable a repo (which just calls
RepoProvider.Helper.purgeApps) before deleting it from the db.

closes Bubu/fdroidclassic#29
2020-05-18 23:36:54 +02:00
Marcus
527917393e Merge branch 'do-not-crop-featureimage' into 'master'
Do not crop feature image

Closes #1798

See merge request fdroid/fdroidclient!874
2020-05-18 18:28:34 +00:00
Marcus
80693c48ff Merge branch 'fix_1845' into 'master'
do not disable update button because of antifeatures

Closes #1845

See merge request fdroid/fdroidclient!872
2020-05-18 18:00:40 +00:00
Hans-Christoph Steiner
f2a625aa75 Merge branch 'patch-1' into 'master'
Make soft navigation bar dark

See merge request fdroid/fdroidclient!878
2020-05-11 08:22:58 +00:00
Hans-Christoph Steiner
3f0361ce79 Merge branch 'Remove_unused_API_level_checks' into 'master'
Remove unused API level checks.

See merge request fdroid/fdroidclient!882
2020-05-11 08:20:20 +00:00
Isira Seneviratne
983593688c Remove unused API level checks. 2020-05-11 08:20:20 +00:00
Hans-Christoph Steiner
32be04285b
version code 1009000 2020-04-22 15:01:37 +02:00
Hans-Christoph Steiner
80408b95d7
./tools/remove-unused-and-blank-translations.py 2020-04-22 14:54:03 +02:00
Hans-Christoph Steiner
fa2cb96577
fix format strings 2020-04-22 14:44:04 +02:00
Hosted Weblate
e1070c0755
Translated using Weblate: Arabic (ar) by Rex_sa <asd1234567890m@gmail.com>
Currently translated at 17.2% (5 of 29 strings)

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/ar/
2020-04-22 14:43:34 +02:00
Hosted Weblate
4eb86f3e5a
Update translation files
Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Translated using Weblate: German (de) by Oliver <websites@posteo.de>

Currently translated at 100.0% (449 of 449 strings)

Translation: F-Droid/F-Droid
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/de/

Translated using Weblate: German (de) by C. Rüdinger <Mail-an-CR@web.de>

Currently translated at 100.0% (29 of 29 strings)

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/de/
2020-04-22 14:43:34 +02:00
Hosted Weblate
d312b80916
Translated using Weblate: Esperanto (eo) by Verdulo <tomek@disroot.org>
Currently translated at 100.0% (29 of 29 strings)

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/eo/
2020-04-22 14:43:34 +02:00
Hosted Weblate
f4812c5a1a
Update translation files
Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Translated using Weblate: Basque (eu) by Osoitz <oelkoro@gmail.com>

Currently translated at 100.0% (449 of 449 strings)

Translation: F-Droid/F-Droid
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/eu/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Translated using Weblate: Basque (eu) by Osoitz <oelkoro@gmail.com>

Currently translated at 100.0% (449 of 449 strings)

Translation: F-Droid/F-Droid
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/eu/

Translated using Weblate: Basque (eu) by Osoitz <oelkoro@gmail.com>

Currently translated at 100.0% (29 of 29 strings)

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/eu/
2020-04-22 14:43:34 +02:00
Hosted Weblate
7e33726a74
Update translation files
Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/
2020-04-22 14:43:34 +02:00
Hosted Weblate
41edad08d4
Update translation files
Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Translated using Weblate: French (fr) by Localisation Lab <ao@localizationlab.org>

Currently translated at 41.3% (12 of 29 strings)

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/fr/

Translated using Weblate: French (fr) by Localisation Lab <ao@localizationlab.org>

Currently translated at 100.0% (449 of 449 strings)

Translation: F-Droid/F-Droid
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/fr/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Translated using Weblate: French (fr) by Julien Gontier <emeuraudeman@protonmail.com>

Currently translated at 100.0% (29 of 29 strings)

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/fr/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Translated using Weblate: French (fr) by Localisation Lab <ao@localizationlab.org>

Currently translated at 100.0% (449 of 449 strings)

Translation: F-Droid/F-Droid
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/fr/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Translated using Weblate: French (fr) by Localisation Lab <ao@localizationlab.org>

Currently translated at 41.3% (12 of 29 strings)

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/fr/

Translated using Weblate: French (fr) by Localisation Lab <ao@localizationlab.org>

Currently translated at 100.0% (449 of 449 strings)

Translation: F-Droid/F-Droid
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/fr/
2020-04-22 14:43:34 +02:00
Hosted Weblate
6a06e9ea7c
Update translation files
Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/
2020-04-22 14:43:34 +02:00
Hosted Weblate
b963130a30
Update translation files
Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Translated using Weblate: Hebrew (he) by Yaron Shahrabani <sh.yaron@gmail.com>

Currently translated at 100.0% (449 of 449 strings)

Translation: F-Droid/F-Droid
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/he/

Translated using Weblate: Hebrew (he) by Yaron Shahrabani <sh.yaron@gmail.com>

Currently translated at 100.0% (29 of 29 strings)

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/he/
2020-04-22 14:43:34 +02:00
Hosted Weblate
335d7f3faa
Update translation files
Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/
2020-04-22 14:43:34 +02:00
Hosted Weblate
cbc7c841ff
Translated using Weblate: Korean (ko) by Myeongjin Lee <aranet100@gmail.com>
Currently translated at 100.0% (449 of 449 strings)

Translation: F-Droid/F-Droid
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/ko/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/
2020-04-22 14:43:34 +02:00
Hosted Weblate
444f593ce6
Update translation files
Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/
2020-04-22 14:43:34 +02:00
Hosted Weblate
0533bb8588
Update translation files
Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/
2020-04-22 14:43:33 +02:00
Hosted Weblate
17ee32e0b6
Translated using Weblate: Polish (pl) by WaldiS <admin@sto.ugu.pl>
Currently translated at 96.5% (28 of 29 strings)

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/pl/
2020-04-22 14:43:33 +02:00
Hosted Weblate
cd84aa846c
Translated using Weblate: Russian (ru) by Golubev Alexander <fatzer2@gmail.com>
Currently translated at 100.0% (29 of 29 strings)

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/ru/

Translated using Weblate: Russian (ru) by Andrey <andrey@mailbox.org>

Currently translated at 100.0% (29 of 29 strings)

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/ru/

Translated using Weblate: Russian (ru) by Golubev Alexander <fatzer2@gmail.com>

Currently translated at 100.0% (29 of 29 strings)

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/ru/
2020-04-22 14:43:33 +02:00
Hosted Weblate
9fb7685fe3
Translated using Weblate: Slovak (sk) by Attila Farkas <farkasattila@ymail.com>
Currently translated at 3.4% (1 of 29 strings)

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/sk/
2020-04-22 14:43:33 +02:00
Hosted Weblate
ab13ba34dc
Update translation files
Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/
2020-04-22 14:43:33 +02:00
Hosted Weblate
1304a6603d
Update translation files
Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Translated using Weblate: Turkish (tr) by Oğuz Ersen <oguzersen@protonmail.com>

Currently translated at 100.0% (29 of 29 strings)

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/tr/

Translated using Weblate: Turkish (tr) by Oğuz Ersen <oguzersen@protonmail.com>

Currently translated at 100.0% (449 of 449 strings)

Translation: F-Droid/F-Droid
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/tr/

Translated using Weblate: Turkish (tr) by Oğuz Ersen <oguzersen@protonmail.com>

Currently translated at 100.0% (29 of 29 strings)

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/tr/

Translated using Weblate: Turkish (tr) by Oğuz Ersen <oguzersen@protonmail.com>

Currently translated at 100.0% (29 of 29 strings)

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/tr/
2020-04-22 14:43:33 +02:00
Hosted Weblate
204b136fa3
Translated using Weblate: Portuguese (Portugal) (pt-PT) by ssantos <ssantos@web.de>
Currently translated at 100.0% (29 of 29 strings)

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/pt_PT/
2020-04-22 14:43:33 +02:00
Hosted Weblate
d028baff66
Update translation files
Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/
2020-04-22 14:43:33 +02:00
Hosted Weblate
3960a1e6c5
Update translation files
Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Translated using Weblate: Albanian (sq) by Besnik Bleta <besnik@programeshqip.org>

Currently translated at 100.0% (29 of 29 strings)

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/sq/

Translated using Weblate: Albanian (sq) by Besnik Bleta <besnik@programeshqip.org>

Currently translated at 99.7% (448 of 449 strings)

Translation: F-Droid/F-Droid
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/sq/
2020-04-22 14:43:33 +02:00
Hosted Weblate
5d49a8a325
Update translation files
Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/
2020-04-22 14:43:33 +02:00
Hosted Weblate
65526288a2
Update translation files
Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/
2020-04-22 14:43:33 +02:00
Hosted Weblate
65ca378f74
Update translation files
Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/
2020-04-22 14:43:32 +02:00
Hosted Weblate
063787ee6e
Translated using Weblate: Icelandic (is) by Sveinn í Felli <sv1@fellsnet.is>
Currently translated at 100.0% (29 of 29 strings)

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/is/
2020-04-22 14:43:32 +02:00
Hosted Weblate
056b47934d
Update translation files
Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/
2020-04-22 14:43:32 +02:00
Hosted Weblate
4b83d4ee8a
Update translation files
Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/
2020-04-22 14:43:32 +02:00
Hosted Weblate
e3b1d937b3
Update translation files
Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/
2020-04-22 14:43:32 +02:00
Hosted Weblate
41e613ba1b
Update translation files
Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/
2020-04-22 14:43:32 +02:00
Hosted Weblate
0f9e015f72
Update translation files
Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/
2020-04-22 14:43:32 +02:00
Hosted Weblate
3cd77a50ff
Translated using Weblate: Portuguese (pt) by ssantos <ssantos@web.de>
Currently translated at 100.0% (29 of 29 strings)

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/pt/

Translated using Weblate: Portuguese (pt) by ssantos <ssantos@web.de>

Currently translated at 96.5% (28 of 29 strings)

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/pt/
2020-04-22 14:43:32 +02:00
Hosted Weblate
075d4ee9e5
Update translation files
Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/
2020-04-22 14:43:32 +02:00
Hosted Weblate
2a28ede418
Translated using Weblate: Bengali (Bangladesh) (bn-rBD) by Oymate <dhruboadittya96@gmail.com>
Currently translated at 3.5% (16 of 449 strings)

Translation: F-Droid/F-Droid
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/bn_BD/
2020-04-22 14:43:32 +02:00
Hosted Weblate
83a65b7f95
Update translation files
Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/
2020-04-22 14:43:32 +02:00
Hosted Weblate
3a0cce4185
Update translation files
Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/
2020-04-22 14:43:31 +02:00
Hosted Weblate
29d920cb72
Update translation files
Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Translated using Weblate: Norwegian Nynorsk (nn) by Karl Ove Hufthammer <karl@huftis.org>

Currently translated at 100.0% (29 of 29 strings)

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/nn/

Translated using Weblate: Norwegian Nynorsk (nn) by Karl Ove Hufthammer <karl@huftis.org>

Currently translated at 100.0% (449 of 449 strings)

Translation: F-Droid/F-Droid
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/nn/
2020-04-22 14:43:31 +02:00
Hosted Weblate
cafbf4783c
Update translation files
Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/
2020-04-22 14:43:31 +02:00
Hosted Weblate
f9835f295a
Update translation files
Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/
2020-04-22 14:43:31 +02:00
Matthieu
d58052d325 Make soft navigation bar dark 2020-03-22 22:29:37 +00:00
Hans-Christoph Steiner
f4b52b2753 Merge branch 'funding' into 'master'
Funding

Closes #1845

See merge request fdroid/fdroidclient!877
2020-03-20 16:36:34 +00:00
Marcus Hoffmann
10af09a911 don't override org wide FUNDING.yml 2020-03-20 14:10:03 +01:00
ByteHamster
b3f24ba34d Do not crop feature image 2020-03-03 21:48:56 +01:00
Marcus Hoffmann
03600c347c do not disable update button because of antifeatures
This testing at the wrong point, namely in the app details where you are
already looking at the antifeatures which might be present.
In the list view there's an additional direct check with
isDisabledByAntiFeatures() anyway.

Fix fdroid/fdroidclient#1845
2020-02-25 15:47:33 +01:00
Hans-Christoph Steiner
bc36e92731 Merge branch 'fix_inactive_action_buttons' into 'master'
Fix inactive action buttons

Closes #1938

See merge request fdroid/fdroidclient!871
2020-02-14 13:51:39 +00:00
Dmitriy Bogdanov
b64b938f78
Fix inactive action buttons 2020-02-13 17:12:34 +04:00
Hans-Christoph Steiner
d1d71e4900
update changelogs 2020-02-04 17:15:07 +01:00
Hans-Christoph Steiner
03189986d5
version code 1008002
[skip ci]
2020-02-04 17:08:12 +01:00
Hans-Christoph Steiner
da8d02afcc Merge branch 'usb-r' into 'master'
Handle USB-OTG support differently

See merge request fdroid/fdroidclient!870
2020-02-04 15:58:39 +00:00
Hans-Christoph Steiner
7cd42ce499 Merge branch 'api29-3' into 'master'
Handle API 29 split-permissions v3

See merge request fdroid/fdroidclient!869
2020-02-04 15:57:19 +00:00
Chirayu Desai
6c4315f9a1 Handle USB-OTG support differently
* Use separate receivers instead of one combined activity
  to avoid showing the "Use F-Droid to handle Mass Storage"
  prompt every time a drive is plugged in.
2020-02-03 02:36:17 +05:30
Chirayu Desai
02b613a08e Handle API 29 split-permissions v3
* Re-do the logic completely, and make it much more clearer.
* Also, Read external storage implies access media location
  *ONLY* on apps not targetting API 29 or above, i.e <= 28
2020-02-02 20:15:18 +05:30
Hans-Christoph Steiner
881a7e59c6 Merge branch 'fix_null_icons_in_list' into 'master'
Fix displaying default icon for apps without icons

See merge request fdroid/fdroidclient!868
2020-01-23 22:53:09 +00:00
Dmitriy Bogdanov
827e2b2e04
Fix displaying default icon for apps without icons 2020-01-23 13:49:48 +04:00
Hans-Christoph Steiner
5de957de0d Merge branch 'links-ripple' into 'master'
add ripple effect to links on app details activity

See merge request fdroid/fdroidclient!864
2020-01-13 10:38:09 +00:00
Michael Pöhn
b0b3657269 add ripple effect to links on app details activity 2020-01-12 01:17:06 +01:00
Michael Pöhn
3312a1d44b Merge branch 'android10' into 'master'
include android 10 in versions display

See merge request fdroid/fdroidclient!863
2020-01-11 22:34:20 +00:00
Marcus Hoffmann
90d803dc7b include android 10 in versions display 2020-01-11 00:44:47 +01:00
Hans-Christoph Steiner
2cd2f82394
version code 1008001
[skip ci]
2020-01-10 20:34:33 +01:00
Hans-Christoph Steiner
9fca42e252 Merge branch 'suggestedVersionName-sync-up' into 'master'
suggestedVersionName sync up

Closes #1063

See merge request fdroid/fdroidclient!862
2020-01-10 19:22:30 +00:00
Hans-Christoph Steiner
3f64fd4930
init suggestedVersionCode to Integer.MIN_VALUE
Java inits ints to 0.  Since it is valid to have a negative Version Code,
versionCodes are inited to Integer.MIN_VALUE;

https://docs.oracle.com/javase/tutorial/java/nutsandbolts/datatypes.html

closes #1063
2020-01-10 18:15:42 +01:00
Hans-Christoph Steiner
765f6b840f
rename App.upstreamVersionCode to suggestedVersionCode #1063 2020-01-10 18:15:40 +01:00
Hans-Christoph Steiner
10808e2fea
rename App.upstreamVersionName to suggestedVersionName #1063 2020-01-10 18:15:39 +01:00
Hans-Christoph Steiner
531494e571
rename App.suggestedVersionName to autoInstallVersionName #1063
# Conflicts:
#	app/src/test/java/org/fdroid/fdroid/updater/IndexV1UpdaterTest.java
2020-01-10 18:15:37 +01:00
Hans-Christoph Steiner
cd635459ad
rename Cols.SuggestedApk to AutoInstallApk #1063 2020-01-10 18:15:36 +01:00
Hans-Christoph Steiner
cc3d874dc4
rename App.suggestedVersionCode to autoInstallVersionCode #1063 2020-01-10 18:15:34 +01:00
Hosted Weblate
0d84836153
Translated using Weblate: Icelandic (is) by Sveinn í Felli <sv1@fellsnet.is>
Currently translated at 100.0% (28 of 28 strings)

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/is/
2020-01-10 18:10:53 +01:00
Hosted Weblate
a8b75e8243
Translated using Weblate: German (de) by C. Rüdinger <Mail-an-CR@web.de>
Currently translated at 96.4% (27 of 28 strings)

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/de/
2020-01-10 18:10:53 +01:00
Hans-Christoph Steiner
92327cbc99 Merge branch 'modernize-pmd-and-randoms' into 'master'
modernize PMD and random fixes

See merge request fdroid/fdroidclient!861
2020-01-10 16:40:22 +00:00
Hans-Christoph Steiner
1c0957ce77
disable annoying or erronous PMD errors 2020-01-10 16:28:03 +01:00
Hans-Christoph Steiner
c987e6ad4c
use Collections' isEmpty() to test for emptiness
This should make the code intent clearer and more standard Java.
2020-01-10 16:28:01 +01:00
Hans-Christoph Steiner
c7f3910472
fix PMD "Field has the same name as a method" 2020-01-10 16:28:00 +01:00
Hans-Christoph Steiner
3b67aa1a60
modernize PMD setup 2020-01-10 16:27:58 +01:00
Hans-Christoph Steiner
cd23d5cd85
bump to latest bugfix version of gradle android plugin 2020-01-10 16:27:57 +01:00
Hans-Christoph Steiner
1cfae44aec
only download from jCenter as a last resort
"Artifact integrity verification aside, not only should jcenter() always be
last, but you need to put mavenCentral() before them. JCenter and Bintray
keep proving they're not a trustworthy artifact host. Ideally you fetch
nothing from them."
https://twitter.com/JakeWharton/status/1073102730443526144

https://blog.autsoft.hu/a-confusing-dependency/
2020-01-10 16:27:55 +01:00
Hans-Christoph Steiner
e0fd1ec771
gitlab-ci: echo when test/pmd/lint/etc fails 2020-01-10 16:27:52 +01:00
Chirayu Desai
2ac9100eea Merge branch 'network-security-config-force-https' into 'master'
set up whitelist of repo domains to force HTTPS

See merge request fdroid/fdroidclient!835
2020-01-10 15:26:08 +00:00
Hans-Christoph Steiner
3ff70a8b6a Merge branch 'weblate' into 'master'
Weblate

See merge request fdroid/fdroidclient!860
2020-01-10 15:23:30 +00:00
Hans-Christoph Steiner
e6d99a6887
update changelogs
[skip ci]
2020-01-10 15:46:05 +01:00
Hosted Weblate
a2848520fa
Update translation files
Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/
2020-01-10 15:40:24 +01:00
Hosted Weblate
14c4cdafc9
Translated using Weblate: Catalan (ca) by Kintu <kintukp@gmail.com>
Currently translated at 100.0% (449 of 449 strings)

Translation: F-Droid/F-Droid
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/ca/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Translated using Weblate: Catalan (ca) by BennyBeat <bennybeat@gmail.com>

Currently translated at 100.0% (449 of 449 strings)

Translation: F-Droid/F-Droid
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/ca/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Translated using Weblate: Catalan (ca) by BennyBeat <bennybeat@gmail.com>

Currently translated at 100.0% (449 of 449 strings)

Translation: F-Droid/F-Droid
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/ca/

Translated using Weblate: Catalan (ca) by BennyBeat <bennybeat@gmail.com>

Currently translated at 100.0% (449 of 449 strings)

Translation: F-Droid/F-Droid
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/ca/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Translated using Weblate: Catalan (ca) by BennyBeat <bennybeat@gmail.com>

Currently translated at 100.0% (449 of 449 strings)

Translation: F-Droid/F-Droid
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/ca/

Translated using Weblate: Catalan (ca) by BennyBeat <bennybeat@gmail.com>

Currently translated at 100.0% (449 of 449 strings)

Translation: F-Droid/F-Droid
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/ca/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Translated using Weblate: Catalan (ca) by Kintu <kintukp@gmail.com>

Currently translated at 14.8% (4 of 27 strings)

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/ca/

Translated using Weblate: Catalan (ca) by Kintu <kintukp@gmail.com>

Currently translated at 98.0% (440 of 449 strings)

Translation: F-Droid/F-Droid
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/ca/
2020-01-10 15:40:22 +01:00
Hosted Weblate
1048e44996
Update translation files
Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Translated using Weblate: Polish (pl) by WaldiS <admin@sto.ugu.pl>

Currently translated at 100.0% (27 of 27 strings)

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/pl/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Translated using Weblate: Polish (pl) by WaldiS <admin@sto.ugu.pl>

Currently translated at 96.3% (26 of 27 strings)

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/pl/

Translated using Weblate: Polish (pl) by WaldiS <admin@sto.ugu.pl>

Currently translated at 100.0% (449 of 449 strings)

Translation: F-Droid/F-Droid
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/pl/
2020-01-10 15:40:21 +01:00
Hosted Weblate
03576a656c
Update translation files
Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Translated using Weblate: Icelandic (is) by Sveinn í Felli <sv1@fellsnet.is>

Currently translated at 100.0% (27 of 27 strings)

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/is/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Translated using Weblate: Icelandic (is) by Sveinn í Felli <sv1@fellsnet.is>

Currently translated at 96.3% (26 of 27 strings)

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/is/

Translated using Weblate: Icelandic (is) by Sveinn í Felli <sv1@fellsnet.is>

Currently translated at 100.0% (449 of 449 strings)

Translation: F-Droid/F-Droid
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/is/
2020-01-10 15:40:19 +01:00
Hosted Weblate
1e5994d74b
Update translation files
Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Translated using Weblate: Italian (it) by Michael Moroni <michaelmoroni@disroot.org>

Currently translated at 55.6% (15 of 27 strings)

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/it/
2020-01-10 15:40:17 +01:00
Hosted Weblate
a2b6a30e11
Translated using Weblate: Turkish (tr) by Ali Demirtas <alidemirtas94@gmail.com>
Currently translated at 81.5% (22 of 27 strings)

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/tr/

Translated using Weblate: Turkish (tr) by Ali Demirtas <alidemirtas94@gmail.com>

Currently translated at 100.0% (449 of 449 strings)

Translation: F-Droid/F-Droid
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/tr/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/
2020-01-10 15:40:15 +01:00
Hosted Weblate
74a5a5a400
Update translation files
Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Translated using Weblate: Spanish (es) by J <joaquinfc@protonmail.com>

Currently translated at 100.0% (449 of 449 strings)

Translation: F-Droid/F-Droid
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/es/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Translated using Weblate: Spanish (es) by J <joaquinfc@protonmail.com>

Currently translated at 44.4% (12 of 27 strings)

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/es/

Translated using Weblate: Spanish (es) by J <joaquinfc@protonmail.com>

Currently translated at 99.6% (447 of 449 strings)

Translation: F-Droid/F-Droid
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/es/
2020-01-10 15:40:14 +01:00
Hosted Weblate
42409f7c71
Translated using Weblate: Hungarian (hu) by Balázs Meskó <meskobalazs@gmail.com>
Currently translated at 59.3% (16 of 27 strings)

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/hu/
2020-01-10 15:40:12 +01:00
Hosted Weblate
6d5d6b5ef8
Update translation files
Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Translated using Weblate: Esperanto (eo) by Verdulo <tomek@disroot.org>

Currently translated at 100.0% (27 of 27 strings)

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/eo/

Translated using Weblate: Esperanto (eo) by Verdulo <tomek@disroot.org>

Currently translated at 100.0% (449 of 449 strings)

Translation: F-Droid/F-Droid
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/eo/
2020-01-10 15:40:11 +01:00
Hosted Weblate
0ad00f9576
Translated using Weblate: Portuguese (Brazil) (pt-BR) by Rafael Fontenelle <rafaelff@gnome.org>
Currently translated at 100.0% (27 of 27 strings)

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/pt_BR/
2020-01-10 15:40:09 +01:00
Hosted Weblate
2e275db9b2
Update translation files
Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Translated using Weblate: Portuguese (Portugal) (pt-PT) by ssantos <ssantos@web.de>

Currently translated at 100.0% (27 of 27 strings)

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/pt_PT/

Translated using Weblate: Portuguese (Portugal) (pt-rPT) by ssantos <ssantos@web.de>

Currently translated at 100.0% (449 of 449 strings)

Translation: F-Droid/F-Droid
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/pt_PT/
2020-01-10 15:40:07 +01:00
Hosted Weblate
6fff5599de
Update translation files
Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Translated using Weblate: Portuguese (pt) by ssantos <ssantos@web.de>

Currently translated at 100.0% (27 of 27 strings)

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/pt/

Translated using Weblate: Portuguese (pt) by ssantos <ssantos@web.de>

Currently translated at 100.0% (449 of 449 strings)

Translation: F-Droid/F-Droid
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/pt/
2020-01-10 15:40:06 +01:00
Hosted Weblate
3a3c2583ff
Translated using Weblate: German (de) by C. Rüdinger <Mail-an-CR@web.de>
Currently translated at 100.0% (27 of 27 strings)

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/de/

Translated using Weblate: German (de) by nautilusx <mail.ka@mailbox.org>

Currently translated at 100.0% (27 of 27 strings)

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/de/
2020-01-10 15:40:03 +01:00
Hans-Christoph Steiner
30d16a8862
ManageRepos: force to HTTPS when required by Network Security Config
Since GitLab, GitHub, and Amazon S3 allow some HTTP access while always
providing HTTPS, those should always use HTTPS.  This prevents
2020-01-10 15:28:13 +01:00
Hans-Christoph Steiner
5b8d85a4da
set up whitelist of repo domains to force HTTPS
This uses the new Network Security Config feature:
https://developer.android.com/training/articles/security-config
2020-01-10 15:25:38 +01:00
Hans-Christoph Steiner
05347d5cbc Merge branch 'api29-2' into 'master'
Handle API 29 split-permissions v2

See merge request fdroid/fdroidclient!856
2020-01-10 14:19:32 +00:00
Chirayu Desai
fae735c468 Handle API 29 split-permissions v2
* This new permission comes courtesy of the Q December update.
* Read external storage implies access media location

References:
* ac7b10c135%5E%21/#F1
2020-01-10 19:27:53 +05:30
Hans-Christoph Steiner
ee1f4d3dc4 Merge branch 'tests-support-variable-nr-of-default-repos' into 'master'
Make tests support a variable number of default repos.

See merge request fdroid/fdroidclient!857
2020-01-10 13:25:38 +00:00
Hans-Christoph Steiner
cc9796127d
run new zopflipng compression settings from !844 2020-01-02 22:38:54 +01:00
Hans-Christoph Steiner
e2d7199f3f
png-pre-compress: use best of singleCrunch or zopflipng 2020-01-02 22:06:19 +01:00
Hans-Christoph Steiner
ab81295639 Merge branch 'OptimizePNG' into 'master'
Compress PNG images losslessly with zopflipng

See merge request fdroid/fdroidclient!844
2020-01-02 20:19:35 +00:00
Peter Dave Hello
a7fa47e3e9 Compress PNG images losslessly with zopflipng 2020-01-02 20:19:35 +00:00
Social Justice Wizard
390f0a8d96 Make tests support a variable number of default repos. 2020-01-02 19:34:36 +01:00
Hans-Christoph Steiner
25262e4463 Merge branch 'close-search-keyboard' into 'master'
activity list: open keyboard when clearing search term

Closes #1915

See merge request fdroid/fdroidclient!858
2020-01-02 13:59:51 +00:00
Michael Pöhn
f7c757bf33 app list: open keyboard when X-ing search query 2019-12-29 21:46:29 +01:00
Michael Pöhn
432a7882fd Merge branch 'summary-design' into 'master'
display summary text on app details activity

Closes #1820

See merge request fdroid/fdroidclient!855
2019-12-25 22:59:34 +00:00
Hans-Christoph Steiner
1379d1e365
./tools/remove-unused-and-blank-translations.py 2019-12-11 11:31:32 +01:00
Michael Pöhn
e42718b11f display summary text on app details activity 2019-12-08 03:37:13 +01:00
Hans-Christoph Steiner
dca8023d7d
ignore flaky swap webserver tests by default 2019-11-30 22:00:53 +01:00
Hans-Christoph Steiner
6375dccb06
gitlab-ci: only run Espresso tests if KVM is available
The emulators without KVM are just too slow to reliably run the Espresso
tests, at least with the timeouts that are set by default.
2019-11-30 22:00:40 +01:00
Hans-Christoph Steiner
4d28b52419
gitlab-ci: use new image that handles the emulator setup 2019-11-30 13:38:05 +01:00
Hosted Weblate
053ffab395
Update translation files
Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/
2019-11-21 21:44:52 +01:00
Hosted Weblate
975013700a
Translated using Weblate: English (United States) (en-US) by Allan Nordhøy <epost@anotheragency.no>
Currently translated at 92.6% (25 of 27 strings)

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/en_US/

Translated using Weblate: English (United States) (en-US) by Allan Nordhøy <epost@anotheragency.no>

Currently translated at 88.0% (22 of 25 strings)

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/en_US/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Translated using Weblate: English (United States) (en-rUS) by sam <swafa4@gmail.com>

Currently translated at 0.5% (2 of 429 strings)

Translation: F-Droid/F-Droid
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/en_US/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Translated using Weblate: English (United States) (en-US) by Allan Nordhøy <epost@anotheragency.no>

Currently translated at 100.0% (22 of 22 strings)

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/en_US/
2019-11-21 21:40:37 +01:00
Hosted Weblate
eabb1ba950
Translated using Weblate: Norwegian Bokmål (nb) by Allan Nordhøy <epost@anotheragency.no>
Currently translated at 63.0% (17 of 27 strings)

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/nb_NO/
2019-11-21 21:40:34 +01:00
Hosted Weblate
b143a76466
Translated using Weblate: Hebrew (he) by Yaron Shahrabani <sh.yaron@gmail.com>
Currently translated at 100.0% (449 of 449 strings)

Translation: F-Droid/F-Droid
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/he/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Translated using Weblate: Hebrew (he) by Yaron Shahrabani <sh.yaron@gmail.com>

Currently translated at 100.0% (27 of 27 strings)

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/he/

Translated using Weblate: Hebrew (he) by Yaron Shahrabani <sh.yaron@gmail.com>

Currently translated at 100.0% (449 of 449 strings)

Translation: F-Droid/F-Droid
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/he/
2019-11-21 21:40:32 +01:00
Hans-Christoph Steiner
6b7d82dba7
add translations from Android when they are missing from a locale 2019-11-21 18:07:23 +01:00
Hans-Christoph Steiner
103098d31c
map more Android string keys to F-Droid string keys
These strings are part of the install/uninstall UI which is originally
sourced from Android itself.  So the translations should stay in sync with
Android's.
2019-11-21 17:22:19 +01:00
Hans-Christoph Steiner
aecf4fdc17
sync common works to the Android v9.0.0r50 sources 2019-11-21 16:06:34 +01:00
Hans-Christoph Steiner
984fe6ad2b
tools/check-string-maxlength.py: include limits from Android sources 2019-11-21 16:06:32 +01:00
Hans-Christoph Steiner
69e85ed202
update embedded GPG signing key so that it is no longer expired
This is the same exact key, just the signed metadata is updated so that it
includes the new expiration date.  This is the same as just updating this
key from the keyservers.
2019-11-21 10:14:21 +01:00
Hans-Christoph Steiner
bfd6959c34
Revert "Language: Data is "kept", not "not lost"."
This reverts commit 346db627ba3dee71bea8ef49184dc7ef60c7286b.

These strings come from Android:
https://gitlab.com/fdroid/fdroidclient/merge_requests/853#note_248378487
2019-11-21 10:14:18 +01:00
Hans-Christoph Steiner
ae06166d18
version code 1008000 2019-11-20 23:11:35 +01:00
Hans-Christoph Steiner
666d8cc7d7
update changelogs 2019-11-20 23:11:33 +01:00
Hans-Christoph Steiner
38e6103c0f
fix broken format strings 2019-11-20 23:11:27 +01:00
Hans-Christoph Steiner
947945dc92
tools/check-format-strings.py: remove blank translations 2019-11-20 22:35:44 +01:00
Hans-Christoph Steiner
c829d232a3 remove unneeded Android string quoting 2019-11-20 22:33:19 +01:00
Hosted Weblate
573c9a3d0a Update translation files
Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Translated using Weblate: Persian (fa) by Mostafa Ahangarha <ahangarha@gmail.com>

Currently translated at 12.0% (3 of 25 strings)

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/fa/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Translated using Weblate: Persian (fa) by Danial Behzadi <dani.behzi@ubuntu.com>

Currently translated at 12.0% (3 of 25 strings)

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/fa/

Translated using Weblate: Persian (fa) by Danial Behzadi <dani.behzi@ubuntu.com>

Currently translated at 100.0% (449 of 449 strings)

Translation: F-Droid/F-Droid
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/fa/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Translated using Weblate: Persian (fa) by Mostafa Ahangarha <ahangarha@gmail.com>

Currently translated at 99.8% (448 of 449 strings)

Translation: F-Droid/F-Droid
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/fa/

Translated using Weblate: Persian (fa) by hpn33 <hamed.hpn332@gmail.com>

Currently translated at 8.0% (2 of 25 strings)

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/fa/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Translated using Weblate: Persian (fa) by Mehrad Mahmoudian <m.mahmoudian@gmail.com>

Currently translated at 99.5% (429 of 431 strings)

Translation: F-Droid/F-Droid
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/fa/

Translated using Weblate: Persian (fa) by Allan Nordhøy <epost@anotheragency.no>

Currently translated at 9.5% (2 of 21 strings)

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/fa/
2019-11-20 22:18:52 +01:00
Hosted Weblate
745839e9ed Update translation files
Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Translated using Weblate: Spanish (es) by Fioddor Superconcentrado <fioddor@gmail.com>

Currently translated at 40.0% (10 of 25 strings)

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/es/
2019-11-20 22:18:52 +01:00
Hosted Weblate
bf75b6bbcb Update translation files
Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Translated using Weblate: Icelandic (is) by Sveinn í Felli <sv1@fellsnet.is>

Currently translated at 100.0% (25 of 25 strings)

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/is/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Translated using Weblate: Icelandic (is) by Sveinn í Felli <sv1@fellsnet.is>

Currently translated at 96.0% (24 of 25 strings)

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/is/
2019-11-20 22:18:52 +01:00
Hosted Weblate
047988895c Update translation files
Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Translated using Weblate: Serbian (sr) by Саша Петровић <salepetronije@gmail.com>

Currently translated at 100.0% (449 of 449 strings)

Translation: F-Droid/F-Droid
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/sr/

Translated using Weblate: Serbian (sr) by Саша Петровић <salepetronije@gmail.com>

Currently translated at 99.8% (448 of 449 strings)

Translation: F-Droid/F-Droid
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/sr/
2019-11-20 22:18:52 +01:00
Hosted Weblate
47974be2a1 Update translation files
Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/
2019-11-20 22:18:52 +01:00
Hosted Weblate
0204ce5106 Update translation files
Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Translated using Weblate: Norwegian Nynorsk (nn) by Karl Ove Hufthammer <karl@huftis.org>

Currently translated at 48.0% (12 of 25 strings)

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/nn/

Translated using Weblate: Norwegian Nynorsk (nn) by Karl Ove Hufthammer <karl@huftis.org>

Currently translated at 100.0% (449 of 449 strings)

Translation: F-Droid/F-Droid
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/nn/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Translated using Weblate: Norwegian Nynorsk (nn) by Karl Ove Hufthammer <karl@huftis.org>

Currently translated at 0.0% (0 of 21 strings)

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/nn/

Translated using Weblate: Norwegian Nynorsk (nn) by Karl Ove Hufthammer <karl@huftis.org>

Currently translated at 100.0% (429 of 429 strings)

Translation: F-Droid/F-Droid
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/nn/

Translated using Weblate: Norwegian Nynorsk (nn) by Karl Ove Hufthammer <karl@huftis.org>

Currently translated at 1.2% (5 of 429 strings)

Translation: F-Droid/F-Droid
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/nn/

Translated using Weblate: Norwegian Nynorsk (nn) by Karl Ove Hufthammer <karl@huftis.org>

Currently translated at 0.5% (2 of 429 strings)

Translation: F-Droid/F-Droid
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/nn/

Added translation using Weblate: Norwegian Nynorsk (nn) by Karl Ove Hufthammer <karl@huftis.org>
2019-11-20 22:18:52 +01:00
Hosted Weblate
8941188d3c Translated using Weblate: Chinese (Traditional) (zh-TW) by Hsiu-Ming Chang <cges30901@gmail.com>
Currently translated at 20.0% (5 of 25 strings)

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/zh_Hant/
2019-11-20 22:18:52 +01:00
Hosted Weblate
1b7b368e98 Update translation files
Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/
2019-11-20 22:18:52 +01:00
Hosted Weblate
7badadcdae Update translation files
Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Translated using Weblate: Turkish (tr) by Oğuz Ersen <oguzersen@protonmail.com>

Currently translated at 80.0% (20 of 25 strings)

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/tr/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Translated using Weblate: Turkish (tr) by Oguz Ersen <oguzersen@protonmail.com>

Currently translated at 100.0% (449 of 449 strings)

Translation: F-Droid/F-Droid
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/tr/

Translated using Weblate: Turkish (tr) by Kemal Oktay Aktoğan <oktay454@disroot.org>

Currently translated at 72.0% (18 of 25 strings)

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/tr/

Translated using Weblate: Turkish (tr) by mahmut özcan <mahmutozcan65@yahoo.com>

Currently translated at 68.0% (17 of 25 strings)

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/tr/
2019-11-20 22:18:52 +01:00
Hosted Weblate
d926014538 Update translation files
Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Translated using Weblate: Telugu (te) by leela <53352@protonmail.com>

Currently translated at 82.0% (368 of 449 strings)

Translation: F-Droid/F-Droid
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/te/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Translated using Weblate: Telugu (te) by Vinay Kumar <mulamatamvinay@gmail.com>

Currently translated at 92.0% (23 of 25 strings)

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/te/
2019-11-20 22:18:52 +01:00
Hosted Weblate
76eb99d03a Update translation files
Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Translated using Weblate: Belarusian (be) by Zmicer Turok <nashtlumach@gmail.com>

Currently translated at 100.0% (449 of 449 strings)

Translation: F-Droid/F-Droid
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/be/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Translated using Weblate: Belarusian (be) by Zmicer Turok <nashtlumach@gmail.com>

Currently translated at 100.0% (449 of 449 strings)

Translation: F-Droid/F-Droid
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/be/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Translated using Weblate: Belarusian (be) by Zmicer Turok <nashtlumach@gmail.com>

Currently translated at 8.0% (2 of 25 strings)

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/be/

Translated using Weblate: Belarusian (be) by Zmicer Turok <nashtlumach@gmail.com>

Currently translated at 100.0% (449 of 449 strings)

Translation: F-Droid/F-Droid
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/be/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Translated using Weblate: Belarusian (be) by Viktar Vauchkevich <victorenator@gmail.com>

Currently translated at 8.0% (2 of 25 strings)

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/be/
2019-11-20 22:18:52 +01:00
Hosted Weblate
f93768b94f Update translation files
Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/
2019-11-20 22:18:52 +01:00
Hosted Weblate
eab406ee1f Update translation files
Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/
2019-11-20 22:18:52 +01:00
Hosted Weblate
f605b76d3d Update translation files
Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/
2019-11-20 22:18:52 +01:00
Hosted Weblate
f6ea6f3763 Update translation files
Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Translated using Weblate: Esperanto (eo) by Verdulo <tomek@disroot.org>

Currently translated at 100.0% (449 of 449 strings)

Translation: F-Droid/F-Droid
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/eo/

Translated using Weblate: Esperanto (eo) by Verdulo <tomek@disroot.org>

Currently translated at 100.0% (26 of 26 strings)

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/eo/
2019-11-20 22:18:52 +01:00
Hosted Weblate
00c437f6a7 Update translation files
Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Translated using Weblate: Portuguese (pt) by ssantos <ssantos@web.de>

Currently translated at 100.0% (26 of 26 strings)

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/pt/
2019-11-20 22:18:52 +01:00
Hosted Weblate
0188758d9f Update translation files
Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Translated using Weblate: Norwegian Bokmål (nb) by Allan Nordhøy <epost@anotheragency.no>

Currently translated at 100.0% (449 of 449 strings)

Translation: F-Droid/F-Droid
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/nb_NO/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Translated using Weblate: Norwegian Bokmål (nb) by Allan Nordhøy <epost@anotheragency.no>

Currently translated at 72.0% (18 of 25 strings)

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/nb_NO/

Translated using Weblate: Norwegian Bokmål (nb) by Thomas johansen <lavahd@protonmail.ch>

Currently translated at 100.0% (449 of 449 strings)

Translation: F-Droid/F-Droid
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/nb_NO/

Translated using Weblate: Norwegian Bokmål (nb) by Thomas johansen <lavahd@protonmail.ch>

Currently translated at 72.0% (18 of 25 strings)

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/nb_NO/
2019-11-20 22:18:52 +01:00
Hosted Weblate
fddc369c6c Update translation files
Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/
2019-11-20 22:18:52 +01:00
Hosted Weblate
dca5c73ffd Update translation files
Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Translated using Weblate: Swedish (sv) by Mattias Münster <mattiasmun@gmail.com>

Currently translated at 30.8% (8 of 26 strings)

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/sv/
2019-11-20 22:18:52 +01:00
Hosted Weblate
2bf36381e5 Update translation files
Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/
2019-11-20 22:18:52 +01:00
Hosted Weblate
a37808a9d7 Translated using Weblate: Hebrew (he) by Yaron Shahrabani <sh.yaron@gmail.com>
Currently translated at 100.0% (26 of 26 strings)

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/he/
2019-11-20 22:18:52 +01:00
Hosted Weblate
3796f19cd0 Translated using Weblate: Danish (da) by Jesper Hertel <jesper.hertel@gmail.com>
Currently translated at 100.0% (449 of 449 strings)

Translation: F-Droid/F-Droid
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/da/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/
2019-11-20 22:18:52 +01:00
Hosted Weblate
d9ba782d97 Update translation files
Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Translated using Weblate: Welsh (cy) by Aled Powell <aled@aledpowell.cymru>

Currently translated at 100.0% (449 of 449 strings)

Translation: F-Droid/F-Droid
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/cy/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Translated using Weblate: Welsh (cy) by Aled Powell <aled@aledpowell.cymru>

Currently translated at 82.2% (369 of 449 strings)

Translation: F-Droid/F-Droid
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/cy/
2019-11-20 22:18:52 +01:00
Hosted Weblate
dcdfb863d2 Update translation files
Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Translated using Weblate: Basque (eu) by Osoitz <oelkoro@gmail.com>

Currently translated at 100.0% (25 of 25 strings)

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/eu/

Translated using Weblate: Basque (eu) by Osoitz <oelkoro@gmail.com>

Currently translated at 100.0% (449 of 449 strings)

Translation: F-Droid/F-Droid
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/eu/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Translated using Weblate: Basque (eu) by Osoitz <oelkoro@gmail.com>

Currently translated at 100.0% (22 of 22 strings)

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/eu/

Translated using Weblate: Basque (eu) by Osoitz <oelkoro@gmail.com>

Currently translated at 100.0% (431 of 431 strings)

Translation: F-Droid/F-Droid
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/eu/

Translated using Weblate: Basque (eu) by Allan Nordhøy <epost@anotheragency.no>

Currently translated at 95.2% (20 of 21 strings)

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/eu/
2019-11-20 22:18:52 +01:00
Hosted Weblate
9eb863e3da Update translation files
Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/
2019-11-20 22:18:52 +01:00
Hosted Weblate
e33eb7cc83 Update translation files
Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/
2019-11-20 22:18:52 +01:00
Hosted Weblate
a57a01687f
Translated using Weblate: German (de) by C. Rüdinger <Mail-an-CR@web.de>
Currently translated at 100.0% (449 of 449 strings)

Translation: F-Droid/F-Droid
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/de/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Translated using Weblate: German (de) by C. Rüdinger <Mail-an-CR@web.de>

Currently translated at 100.0% (26 of 26 strings)

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/de/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Translated using Weblate: German (de) by ssantos <ssantos@web.de>

Currently translated at 100.0% (26 of 26 strings)

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/de/
2019-11-20 22:17:44 +01:00
Hosted Weblate
b17c4b473f
Update translation files
Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Translated using Weblate: Arabic (ar) by Omar Aglan <omar.aglan91@yahoo.com>

Currently translated at 100.0% (449 of 449 strings)

Translation: F-Droid/F-Droid
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/ar/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Translated using Weblate: Arabic (ar) by ButterflyOfFire <ButterflyOfFire@protonmail.com>

Currently translated at 99.6% (447 of 449 strings)

Translation: F-Droid/F-Droid
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/ar/

Translated using Weblate: Arabic (ar) by ButterflyOfFire <ButterflyOfFire@protonmail.com>

Currently translated at 16.0% (4 of 25 strings)

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/ar/
2019-11-20 22:17:44 +01:00
Hosted Weblate
d0b868025e
Update translation files
Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Translated using Weblate: Hungarian (hu) by Balázs Meskó <meskobalazs@gmail.com>

Currently translated at 100.0% (449 of 449 strings)

Translation: F-Droid/F-Droid
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/hu/

Translated using Weblate: Hungarian (hu) by Doma Gergő <domag02@gmail.com>

Currently translated at 10.0% (2 of 20 strings)

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/hu/
2019-11-20 22:17:44 +01:00
Hosted Weblate
13b7ae99fb
Update translation files
Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/
2019-11-20 22:17:43 +01:00
Hosted Weblate
03e56ab389
Update translation files
Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Translated using Weblate: Czech (cs) by zeritti <woodenmo@posteo.de>

Currently translated at 100.0% (449 of 449 strings)

Translation: F-Droid/F-Droid
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/cs/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Translated using Weblate: Czech (cs) by zeritti <woodenmo@posteo.de>

Currently translated at 16.0% (4 of 25 strings)

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/cs/
2019-11-20 22:17:43 +01:00
Hosted Weblate
2536af8cad
Update translation files
Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/
2019-11-20 22:17:43 +01:00
Hosted Weblate
0e32304952
Update translation files
Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/
2019-11-20 22:17:43 +01:00
Hosted Weblate
ad37ca43c4
Update translation files
Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Translated using Weblate: French (fr) by Julien Lepiller <roptat@lepiller.eu>

Currently translated at 100.0% (449 of 449 strings)

Translation: F-Droid/F-Droid
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/fr/

Translated using Weblate: French (fr) by Ldm Public <ldmpub@gmail.com>

Currently translated at 100.0% (449 of 449 strings)

Translation: F-Droid/F-Droid
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/fr/

Translated using Weblate: French (fr) by davidthehackerman <davidpeterrodrigues@gmail.com>

Currently translated at 100.0% (449 of 449 strings)

Translation: F-Droid/F-Droid
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/fr/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Translated using Weblate: French (fr) by Nathan <bonnemainsnathan@gmail.com>

Currently translated at 48.0% (12 of 25 strings)

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/fr/

Translated using Weblate: French (fr) by Ldm Public <ldmpub@gmail.com>

Currently translated at 100.0% (449 of 449 strings)

Translation: F-Droid/F-Droid
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/fr/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Translated using Weblate: French (fr) by Ldm Public <ldmpub@gmail.com>

Currently translated at 100.0% (448 of 448 strings)

Translation: F-Droid/F-Droid
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/fr/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Translated using Weblate: French (fr) by Ldm Public <ldmpub@gmail.com>

Currently translated at 100.0% (448 of 448 strings)

Translation: F-Droid/F-Droid
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/fr/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Translated using Weblate: French (fr) by Julien Lepiller <roptat@lepiller.eu>

Currently translated at 100.0% (448 of 448 strings)

Translation: F-Droid/F-Droid
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/fr/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Translated using Weblate: French (fr) by Arnaud Jacquemin <arnaud.jacquemin+weblate@free.fr>

Currently translated at 48.0% (12 of 25 strings)

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/fr/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Translated using Weblate: French (fr) by Ldm Public <ldmpub@gmail.com>

Currently translated at 99.1% (444 of 448 strings)

Translation: F-Droid/F-Droid
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/fr/

Translated using Weblate: French (fr) by xin <xin@riseup.net>

Currently translated at 99.1% (444 of 448 strings)

Translation: F-Droid/F-Droid
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/fr/

Translated using Weblate: French (fr) by André MIRAS <andre.miras@gmail.com>

Currently translated at 32.0% (8 of 25 strings)

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/fr/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Translated using Weblate: French (fr) by Ldm Public <ldmpub@gmail.com>

Currently translated at 99.1% (444 of 448 strings)

Translation: F-Droid/F-Droid
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/fr/

Translated using Weblate: French (fr) by Ldm Public <ldmpub@gmail.com>

Currently translated at 98.9% (443 of 448 strings)

Translation: F-Droid/F-Droid
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/fr/

Translated using Weblate: French (fr) by Florian <floflr@zaclys.net>

Currently translated at 98.4% (441 of 448 strings)

Translation: F-Droid/F-Droid
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/fr/

Translated using Weblate: French (fr) by Ldm Public <ldmpub@gmail.com>

Currently translated at 98.0% (439 of 448 strings)

Translation: F-Droid/F-Droid
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/fr/

Translated using Weblate: French (fr) by Arnaud Jacquemin <arnaud.jacquemin+weblate@free.fr>

Currently translated at 13.6% (3 of 22 strings)

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/fr/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Translated using Weblate: French (fr) by Ldm Public <ldmpub@gmail.com>

Currently translated at 100.0% (431 of 431 strings)

Translation: F-Droid/F-Droid
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/fr/

Translated using Weblate: French (fr) by xin <xin@riseup.net>

Currently translated at 19.0% (4 of 21 strings)

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/fr/
2019-11-20 22:17:43 +01:00
Hosted Weblate
9abe99d2b9
Update translation files
Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/
2019-11-20 22:17:43 +01:00
Hosted Weblate
b074934e3e
Update translation files
Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/
2019-11-20 22:17:43 +01:00
Hosted Weblate
d21c43e97d
Update translation files
Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/
2019-11-20 22:17:43 +01:00
Hosted Weblate
cbe264ec2f
Update translation files
Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Translated using Weblate: Portuguese (Brazil) (pt-rBR) by Rafael Fontenelle <rafaelff@gnome.org>

Currently translated at 100.0% (448 of 448 strings)

Translation: F-Droid/F-Droid
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/pt_BR/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Translated using Weblate: Portuguese (Brazil) (pt-rBR) by Wilker Santana da Silva <wilker@tutamail.com>

Currently translated at 100.0% (448 of 448 strings)

Translation: F-Droid/F-Droid
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/pt_BR/

Translated using Weblate: Portuguese (Brazil) (pt-BR) by Rafael Fontenelle <rafaelff@gnome.org>

Currently translated at 100.0% (25 of 25 strings)

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/pt_BR/
2019-11-20 22:17:43 +01:00
Hosted Weblate
b3c11263ae
Update translation files
Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Translated using Weblate: Estonian (et) by Kristjan Räts <kristjanrats@gmail.com>

Currently translated at 28.0% (7 of 25 strings)

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/et/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Translated using Weblate: Estonian (et) by Kristjan Räts <kristjanrats@gmail.com>

Currently translated at 8.0% (2 of 25 strings)

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/et/

Translated using Weblate: Estonian (et) by Kristjan Räts <kristjanrats@gmail.com>

Currently translated at 100.0% (449 of 449 strings)

Translation: F-Droid/F-Droid
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/et/

Translated using Weblate: Estonian (et) by Janar Leas <janar.leas@gmail.com>

Currently translated at 4.5% (1 of 22 strings)

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/et/
2019-11-20 22:17:43 +01:00
Hosted Weblate
7abf7b92b0
Update translation files
Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/
2019-11-20 22:17:43 +01:00
Hosted Weblate
6957488974
Translated using Weblate: Italian (it) by random r <epsilin@yopmail.com>
Currently translated at 56.0% (14 of 25 strings)

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/it/
2019-11-20 22:17:43 +01:00
Hosted Weblate
a1c08a2453
Update translation files
Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Translated using Weblate: Finnish (fi) by Ammuu5 <ammuu5@tutanota.com>

Currently translated at 8.0% (2 of 25 strings)

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/fi/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Translated using Weblate: Finnish (fi) by Tuomas Hietala <tuomas.hietala@iki.fi>

Currently translated at 99.3% (446 of 449 strings)

Translation: F-Droid/F-Droid
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/fi/

Translated using Weblate: Finnish (fi) by Tuomas Hietala <tuomas.hietala@iki.fi>

Currently translated at 99.8% (448 of 449 strings)

Translation: F-Droid/F-Droid
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/fi/

Translated using Weblate: Finnish (fi) by Developer From Jokela Offical Channel <developerfromjokela@gmail.com>

Currently translated at 100.0% (449 of 449 strings)

Translation: F-Droid/F-Droid
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/fi/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Translated using Weblate: Finnish (fi) by Nikolay Korotkiy <sikmir@gmail.com>

Currently translated at 4.0% (1 of 25 strings)

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/fi/
2019-11-20 22:17:42 +01:00
Hosted Weblate
159c0023e7
Update translation files
Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Translated using Weblate: Polish (pl) by WaldiS <admin@sto.ugu.pl>

Currently translated at 100.0% (25 of 25 strings)

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/pl/
2019-11-20 22:17:42 +01:00
Hosted Weblate
ea10fe3549
Update translation files
Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/

Translated using Weblate: Portuguese (Portugal) (pt-PT) by ssantos <ssantos@web.de>

Currently translated at 100.0% (26 of 26 strings)

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/pt_PT/
2019-11-20 22:17:42 +01:00
Hosted Weblate
117113e266
Update translation files
Updated by "Squash Git commits" hook in Weblate.

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/
2019-11-20 22:17:42 +01:00
Hosted Weblate
fb757a2c01
Translated using Weblate: Chinese (Simplified) (zh-CN) by RainSlide <RainSlide@outlook.com>
Currently translated at 32.0% (8 of 25 strings)

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/zh_Hans/

Translated using Weblate: Chinese (Simplified) (zh-CN) by Dingzhong Chen <wsxy162@gmail.com>

Currently translated at 32.0% (8 of 25 strings)

Translation: F-Droid/F-Droid metadata
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/zh_Hans/
2019-11-20 22:17:42 +01:00
Hans-Christoph Steiner
4f368db1db Merge branch 'nononegations' into 'master'
Language: Data is "kept", not "not lost".

See merge request fdroid/fdroidclient!853
2019-11-20 20:30:31 +00:00
Florian Sesser
346db627ba Language: Data is "kept", not "not lost". 2019-11-20 19:14:51 +01:00
Hans-Christoph Steiner
bc78eba6ba Merge branch 'api29' into 'master'
Handle API 29 split-permissions

See merge request fdroid/fdroidclient!852
2019-11-14 20:04:36 +00:00
Chirayu Desai
09835721f2 Handle API 29 split-permissions
* For apps targetting 28 or lower,
  fine/coarse location now implies background location.
* Fine location now implies coarse location.

References:
* https://developer.android.com/about/versions/10/privacy/changes#access_granted_automatically_when_targeting_android_9_or_lower
* https://android.googlesource.com/platform/frameworks/base/+/refs/tags/android-10.0.0_r1/data/etc/platform.xml#186
2019-11-14 20:35:50 +05:30
Hans-Christoph Steiner
7c0cb2064e Merge branch 'left-padding' into 'master'
Add left padding on first screenshot to match header

See merge request fdroid/fdroidclient!851
2019-10-30 11:29:07 +00:00
Hans-Christoph Steiner
4312deb4c8 Merge branch 'padding' into 'master'
Fix extra large padding after every five items on main page

See merge request fdroid/fdroidclient!850
2019-10-29 17:27:23 +00:00
Hans-Christoph Steiner
9994728c37 Merge branch 'fix-blur' into 'master'
Fix blur on seekbar drawable

See merge request fdroid/fdroidclient!848
2019-10-29 10:09:28 +00:00
dkanada
c9040e2cf4 add left padding on first screenshot to match header 2019-10-29 04:35:25 +09:00
dkanada
d538760ad1 fix extra large padding after every five items on main page 2019-10-29 04:02:37 +09:00
dkanada
4253f49e79 fix blur on seekbar drawable 2019-10-29 03:41:09 +09:00
Hans-Christoph Steiner
a2583f0255 Merge branch 'hide-seekbar-value' into 'master'
Hide the seekbar value on all devices

See merge request fdroid/fdroidclient!849
2019-10-28 17:17:16 +00:00
dkanada
6393923274 hide the seekbar value on all devices 2019-10-29 01:51:54 +09:00
Hans-Christoph Steiner
96229f01e8 Merge branch 'spelling_fix' into 'master'
PrivilegedInstaller: fix a grammar mistake in error message

See merge request fdroid/fdroidclient!846
2019-10-15 11:43:08 +00:00
Marcus
65463781d0 PrivilegedInstaller: fix a grammar mistake in error message 2019-10-15 11:43:08 +00:00
Hans-Christoph Steiner
8ee5fa75e4 Merge branch 'fix-acra-crashes' into 'master'
Fix ACRA crashes

See merge request fdroid/fdroidclient!845
2019-10-14 14:46:42 +00:00
Hans-Christoph Steiner
36961c2139
update CHANGELOG 2019-10-14 15:19:16 +02:00
Hans-Christoph Steiner
887f53cf95
stop crash in TreeUriScannerIntentService.onActivityResult()
This might happen if the user denies storage permission.

java.lang.RuntimeException: Failure delivering result ResultInfo{who=null, request=16613, result=0, data=null} to activity {org.fdroid.fdroid/org.fdroid.fdroid.views.main.MainActivity}: java.lang.NullPointerException: Attempt to invoke virtual method 'android.net.Uri android.content.Intent.getData()' on a null object reference
	at android.app.ActivityThread.deliverResults(ActivityThread.java:4612)
	at android.app.ActivityThread.handleSendResult(ActivityThread.java:4654)
	at android.app.servertransaction.ActivityResultItem.execute(ActivityResultItem.java:49)
	at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:108)
	at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:68)
	at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1955)
	at android.os.Handler.dispatchMessage(Handler.java:106)
	at android.os.Looper.loop(Looper.java:214)
	at android.app.ActivityThread.main(ActivityThread.java:7073)
	at java.lang.reflect.Method.invoke(Native Method)
	at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493)
	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:964)
Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'android.net.Uri android.content.Intent.getData()' on a null object reference
	at org.fdroid.fdroid.nearby.TreeUriScannerIntentService.onActivityResult(TreeUriScannerIntentService.java:99)
	at org.fdroid.fdroid.views.main.MainActivity.onActivityResult(MainActivity.java:270)
	at android.app.Activity.dispatchActivityResult(Activity.java:7759)
	at android.app.ActivityThread.deliverResults(ActivityThread.java:4605)
	... 11 more
java.lang.NullPointerException: Attempt to invoke virtual method 'android.net.Uri android.content.Intent.getData()' on a null object reference
	at org.fdroid.fdroid.nearby.TreeUriScannerIntentService.onActivityResult(TreeUriScannerIntentService.java:99)
	at org.fdroid.fdroid.views.main.MainActivity.onActivityResult(MainActivity.java:270)
	at android.app.Activity.dispatchActivityResult(Activity.java:7759)
	at android.app.ActivityThread.deliverResults(ActivityThread.java:4605)
	at android.app.ActivityThread.handleSendResult(ActivityThread.java:4654)
	at android.app.servertransaction.ActivityResultItem.execute(ActivityResultItem.java:49)
	at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:108)
	at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:68)
	at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1955)
	at android.os.Handler.dispatchMessage(Handler.java:106)
	at android.os.Looper.loop(Looper.java:214)
	at android.app.ActivityThread.main(ActivityThread.java:7073)
	at java.lang.reflect.Method.invoke(Native Method)
	at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493)
	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:964)
2019-10-14 15:19:15 +02:00
Hans-Christoph Steiner
df818b0aed
fix crash in SwapView on android < 21
In order to support Android < 21, this calls `super` rather than `this`.
RelativeLayout}'s methods just use a 0 for the fourth argument, just like
this used to.
2019-10-14 15:19:13 +02:00
Hans-Christoph Steiner
f5a5805610
stop crash if hotspot returns null WifiConfiguration
java.lang.NullPointerException: Attempt to read from field 'java.lang.String android.net.wifi.WifiConfiguration.SSID' on a null object reference
	at org.fdroid.fdroid.nearby.StartSwapView.uiUpdateWifiNetwork(StartSwapView.java:226)
	at org.fdroid.fdroid.nearby.StartSwapView.uiInitWifi(StartSwapView.java:211)
	at org.fdroid.fdroid.nearby.StartSwapView.onFinishInflate(StartSwapView.java:111)
	at android.view.LayoutInflater.rInflate(LayoutInflater.java:876)
	at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:824)
	at android.view.LayoutInflater.inflate(LayoutInflater.java:515)
	at android.view.LayoutInflater.inflate(LayoutInflater.java:423)
	at org.fdroid.fdroid.nearby.SwapWorkflowActivity.inflateSwapView(SwapWorkflowActivity.java:488)
	at org.fdroid.fdroid.nearby.SwapWorkflowActivity.showIntro(SwapWorkflowActivity.java:541)
	at org.fdroid.fdroid.nearby.SwapWorkflowActivity.showRelevantView(SwapWorkflowActivity.java:468)
	at org.fdroid.fdroid.nearby.SwapWorkflowActivity.access$100(SwapWorkflowActivity.java:86)
	at org.fdroid.fdroid.nearby.SwapWorkflowActivity$1.onServiceConnected(SwapWorkflowActivity.java:135)
	at android.app.LoadedApk$ServiceDispatcher.doConnected(LoadedApk.java:1652)
	at android.app.LoadedApk$ServiceDispatcher$RunConnection.run(LoadedApk.java:1681)
	at android.os.Handler.handleCallback(Handler.java:790)
	at android.os.Handler.dispatchMessage(Handler.java:99)
	at android.os.Looper.loop(Looper.java:164)
	at android.app.ActivityThread.main(ActivityThread.java:6494)
	at java.lang.reflect.Method.invoke(Native Method)
	at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:440)
	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:807)
2019-10-14 15:19:11 +02:00
Hans-Christoph Steiner
d233b03029
WifiStateChangeService: handle BSSID when WifiConfiguration is null
fixes:

java.lang.NullPointerException: Attempt to read from field 'java.lang.String android.net.wifi.WifiConfiguration.BSSID' on a null object reference
 at org.fdroid.fdroid.nearby.WifiStateChangeService.setSsid(WifiStateChangeService.java:265)
 at org.fdroid.fdroid.nearby.WifiStateChangeService.access$100(WifiStateChangeService.java:59)
 at org.fdroid.fdroid.nearby.WifiStateChangeService$WifiInfoThread.run(WifiStateChangeService.java:174)
2019-10-14 15:19:09 +02:00
Hans-Christoph Steiner
915aeb6c54 Merge branch 'backup' into 'master'
Explicitly define backup rules

Closes #1700

See merge request fdroid/fdroidclient!843
2019-10-14 13:05:27 +00:00
Chirayu Desai
e9c26d0e60 Explicitly define backup rules
* So that we don't go over the backup limit (25MB) by including
  APKs and the local swap repo in the backup
2019-09-03 01:12:03 +05:30
Hans-Christoph Steiner
ce37822bb7
add donation links to GitHub FUNDING.yml
https://github.blog/2019-05-23-announcing-github-sponsors-a-new-way-to-contribute-to-open-source/

fdroiddata!5041
fdroidserver!668
2019-08-29 09:31:29 +02:00
1415 changed files with 29066 additions and 11655 deletions

1
.gitattributes vendored Normal file
View File

@ -0,0 +1 @@
*.gpg binary

3
.gitignore vendored
View File

@ -16,7 +16,6 @@ build.xml
# Gradle files
.gradle/
build/
gradle.properties
# Local configuration file (sdk path, etc)
local.properties
@ -47,4 +46,4 @@ junit-report.xml
# Screen dumps from Android Studio/DDMS
captures/
/fdroid/
/fdroid/

View File

@ -1,26 +1,36 @@
image: registry.gitlab.com/fdroid/ci-images-client:latest
cache:
paths:
- .gradle/wrapper
- .gradle/caches
stages:
- test
- deploy
before_script:
- export GRADLE_USER_HOME=$PWD/.gradle
- export ANDROID_COMPILE_SDK=`sed -n 's,.*compileSdkVersion\s*\([0-9][0-9]*\).*,\1,p' app/build.gradle`
- alias sdkmanager="sdkmanager --no_https"
- echo y | sdkmanager "platforms;android-${ANDROID_COMPILE_SDK}" > /dev/null
.base:
image: registry.gitlab.com/fdroid/ci-images-client:latest
before_script:
- export GRADLE_USER_HOME=$PWD/.gradle
- export ANDROID_COMPILE_SDK=`sed -n 's,.*compileSdkVersion\s*\([0-9][0-9]*\).*,\1,p' app/build.gradle`
- alias sdkmanager="sdkmanager --no_https"
- echo y | sdkmanager "platforms;android-${ANDROID_COMPILE_SDK}" > /dev/null
# limit RAM usage for all gradle runs
- export maxmem=$(expr $(sed -n 's,^MemAvailable:[^0-9]*\([0-9][0-9]*\)[^0-9]*$,\1,p' /proc/meminfo) / 1024 / 2 / 1024 \* 1024)
- printf "\norg.gradle.jvmargs=-Xmx${maxmem}m -XX:MaxPermSize=${maxmem}m\norg.gradle.daemon=false\norg.gradle.parallel=false\n" >> gradle.properties
after_script:
# this file changes every time but should not be cached
- rm -f $GRADLE_USER_HOME/caches/modules-2/modules-2.lock
- rm -fr $GRADLE_USER_HOME/caches/*/plugin-resolution/
cache:
paths:
- .gradle/wrapper
- .gradle/caches
.test-template: &test-template
extends: .base
stage: test
artifacts:
name: "${CI_PROJECT_PATH}_${CI_JOB_STAGE}_${CI_COMMIT_REF_NAME}_${CI_COMMIT_SHA}"
paths:
- kernel.log
- logcat.txt
- app/core*
- app/*.log
- app/build/reports
- app/build/outputs/*ml
- app/build/outputs/apk
@ -35,29 +45,40 @@ test_lint_pmd_checkstyle:
<<: *test-template
script:
- export EXITVALUE=0
- function set_error() { export EXITVALUE=1; printf "\x1b[31mERROR `history|tail -2|head -1|cut -b 6-500`\x1b[0m\n"; }
- ./gradlew assemble
# always report on lint errors to the build log
- sed -i -e 's,textReport .*,textReport true,' app/build.gradle
- ./gradlew testFullDebugUnitTest
- ./gradlew lint
- ./gradlew pmd || export EXITVALUE=1
- ./gradlew checkstyle || export EXITVALUE=1
- ./tools/check-format-strings.py || export EXITVALUE=1
- ./tools/check-fastlane-whitespace.py || export EXITVALUE=1
- ./tools/remove-unused-and-blank-translations.py || export EXITVALUE=1
- ./gradlew testFullDebugUnitTest || set_error
- ./gradlew lint || set_error
- ./gradlew pmd || set_error
- ./gradlew checkstyle || set_error
- ./tools/check-format-strings.py || set_error
- ./tools/check-fastlane-whitespace.py || set_error
- ./tools/remove-unused-and-blank-translations.py || set_error
- echo "These are unused or blank translations that should be removed:"
- git --no-pager diff --ignore-all-space --name-only --exit-code app/src/*/res/values*/strings.xml || export EXITVALUE=1
- git --no-pager diff --ignore-all-space --name-only --exit-code app/src/*/res/values*/strings.xml || set_error
- exit $EXITVALUE
errorprone:
extends: .base
stage: test
script:
- apt-get update
- apt-get install -t stretch-backports openjdk-11-jdk-headless
- update-java-alternatives --set java-1.11.0-openjdk-amd64
- export JAVA_HOME=/usr/lib/jvm/java-1.11.0-openjdk-amd64
- cat config/errorprone.gradle >> app/build.gradle
- ./gradlew assembleDebug
- ./gradlew -Dorg.gradle.dependency.verification=lenient assembleDebug
# Run the tests in the emulator. Each step is broken out to run on
# its own since the CI runner can have limited RAM, and the emulator
# can take a while to start.
#
# once these prove stable, the task should be switched to
# connectedCheck to test all the build flavors
.connected-template: &connected-template
extends: .base
script:
- ./gradlew assembleFullDebug
- export AVD_SDK=`echo $CI_JOB_NAME | awk '{print $2}'`
@ -65,63 +86,23 @@ errorprone:
- export AVD_ARCH=`echo $CI_JOB_NAME | awk '{print $4}'`
- export AVD_PACKAGE="system-images;android-${AVD_SDK};${AVD_TAG};${AVD_ARCH}"
- echo $AVD_PACKAGE
- emulator -accel-check || true
# Use bleeding edge for Q, or download proven emulator version, based on
# https://aur.archlinux.org/android-emulator.git
- if [[ "$AVD_SDK" == Q ]]; then
set -x; echo y | sdkmanager --channel=3 "emulator" > /dev/null; set +x;
else
set -x;
rm -rf $ANDROID_HOME/emulator;
wget -q http://dl.google.com/android/repository/emulator-linux-5264690.zip;
echo "48c1cda2bdf3095d9d9d5c010fbfb3d6d673e3ea emulator-linux-5264690.zip" | sha1sum -c;
unzip -qq -d $ANDROID_HOME emulator-linux-5264690.zip;
set +x;
fi
- grep -v '^License' $ANDROID_HOME/tools/source.properties
$ANDROID_HOME/emulator/source.properties
- alias sdkmanager
- echo y | sdkmanager "platforms;android-$AVD_SDK" > /dev/null
- if ! avdmanager list avd | grep "Name. avd$AVD_SDK$"; then
set -x;
rm -rf ~/.android/avd $ANDROID_HOME/system-images;
echo y | sdkmanager "$AVD_PACKAGE" > /dev/null;
echo no | avdmanager create avd --name avd$AVD_SDK --tag "$AVD_TAG" --package "$AVD_PACKAGE" --sdcard 64M --device "Nexus 5";
export RAMSIZE="`sed -n 's,^MemAvailable:[^0-9]*\([0-9][0-9]*\)[^0-9]*$,\1,p' /proc/meminfo`";
if [ $RAMSIZE -le 2048 ]; then
sed -i '/^hw\.ramSize\s*=.*/d' ~/.android/avd/*.avd/config.ini;
echo "hw.ramSize=1024" >> ~/.android/avd/*.avd/config.ini;
fi;
avdmanager list avd;
set +x;
fi
- grep -v '^License' $ANDROID_HOME/system-images/android-$AVD_SDK/$AVD_TAG/$AVD_ARCH/source.properties
- adb start-server
- ls -l ~/.android
- emulator -version
- emulator -avd avd$AVD_SDK
-no-audio
-no-jni
-no-snapstorage
-no-window
-skip-adb-auth
-verbose
-wipe-data
-debug all,-hw_control,-qemud,-sensors,-surface
&
- adb start-server
- start-emulator
- wait-for-emulator
- adb devices
- adb shell input keyevent 82 &
- test $AVD_SDK -ge 25 || export FLAG=-Pandroid.testInstrumentationRunnerArguments.notAnnotation=android.support.test.filters.LargeTest
- ./gradlew installFullDebug
- adb shell am start -n org.fdroid.fdroid.debug/org.fdroid.fdroid.views.main.MainActivity
- if [ $AVD_SDK -lt 25 ] || ! emulator -accel-check; then
export FLAG=-Pandroid.testInstrumentationRunnerArguments.notAnnotation=androidx.test.filters.LargeTest;
fi
- ./gradlew connectedFullDebugAndroidTest $FLAG
|| ./gradlew connectedFullDebugAndroidTest $FLAG
|| ./gradlew connectedFullDebugAndroidTest $FLAG
|| (adb -e logcat -d > logcat.txt; exit 1)
connected 22 default armeabi-v7a:
retry: 1
no-accel 22 default x86:
<<: *test-template
<<: *connected-template
@ -129,35 +110,17 @@ connected 22 default armeabi-v7a:
tags:
- fdroid
- kvm
allow_failure: true
only:
- branches@eighthave/fdroidclient
variables:
- $RUN_KVM_JOBS
<<: *test-template
<<: *connected-template
connected 23 default x86:
kvm 29 microg x86_64:
<<: *kvm-template
connected 25 default x86:
<<: *kvm-template
connected 26 google_apis x86:
<<: *kvm-template
only:
- branches@fdroid/fdroidclient
- branches@eighthave/fdroidclient
connected 27 google_apis_playstore x86:
<<: *kvm-template
connected 28 default x86_64:
<<: *kvm-template
connected 29 default x86_64:
<<: *kvm-template
deploy_nightly:
extends: .base
stage: deploy
only:
- master
@ -177,8 +140,3 @@ deploy_nightly:
# build the APKs!
- ./gradlew assembleDebug
- fdroid nightly -v
after_script:
# this file changes every time but should not be cached
- rm -f $GRADLE_USER_HOME/caches/modules-2/modules-2.lock
- rm -fr $GRADLE_USER_HOME/caches/*/plugin-resolution/

View File

@ -1,3 +1,155 @@
### 1.13-alpha1 (2021-06-02)
* Stop repeated updates of Trichrome Library
* More changes to follow Material Design (@proletarius101)
* Improve OpenCollective badge (@ConnyDuck)
### 1.13-alpha0 (2021-04-22)
* Theme support tied to built-in Android themes (@proletarius101)
* New top banner notifications: "No Internet" and "No Data or WiFi enabled"
* Improved handling of USB-OTG and SD Card repos and mirrors
### 1.12.1 (2021-04-12)
* Fix trove4j verification error
### 1.12 (2021-04-06)
* Sync translations
### 1.12-alpha3 (2021-03-10)
* Opt-in F-Droid Metrics
### 1.12-alpha2 (2021-03-03)
* Overhaul clean up of cached files
* Support updating "shared library packages" like Trichrome (@uldiniad)
### 1.12-alpha1 (2021-02-25)
* Add extra sanitation to search terms to prevent vulnerabilities.
* Fix Nearby Swap's close button (@proletarius101)
* Bump to compileSdkVersion 29 to support Java8
* Set up WorkManager on demand to avoid slowing down starts
* Prefer system keys when APKs are signed by them (@glennmen)
### 1.12-alpha0 (2021-02-08)
* App description localization now fully respects lists of languages in Android
Language Settings
* Latest Tab lists results based on the Language Settings
* Latest Tab now shows results ordered newest first (@TheLastProject @IzzySoft)
* Theme support modernized and tied to the built-in Android themes (@proletarius101)
* Search results greatly improved (@Tvax @gcbrown76)
* Let Android efficiently schedule background cache cleanup operations (@Isira-Seneviratne)
* Overhaul repo URL parsing for reliable repo adding (@projectgus)
### 1.11 (2020-12-29)
* Improved linkifying of URLs in app descriptions
* Improved handling of SDCards and USG-OTG in Nearby
* Modernized code and switched PNGs to vectors (thanks @isira-seneviratne!)
* Recognize longer repo URLs to support GitCDN/RawGit/etc mirrors
### 1.10 (2020-10-20)
* Improved language selection with multiple locales
(thanks @spacecowboy and @bubu!)
### 1.10-alpha1 (2020-09-29)
* use notification channels for fine-grained control (@Isira-Seneviratne)
### 1.10-alpha0 (2020-07-20)
* Latest Tab will show better results on non-English devices
* updates to core libraries (Jackson, androidx, gradle, etc)
* use Gradle's new dependency verification
* polish whitelabeling support
### 1.9 (2020-06-25)
* Removed "Android App Link" support since it cannot work with
F-Droid, and it was triggering DNS leaks.
* Archive Repos are now lower priority than the Repo (higher on the
Manage Repos screen), fixing issues where it looked for icons,
screenshots and other information in the Archive rather than the
Repo itself.
* Fixed hopefully all occurrences where F-Droid client couldn't show an icon.
The remaining cases of missing icons are now caused either by
icons not included in upstream repo or by temporary network failures.
(After updating this requires one additional repo update to take effect.)
* Fixed a problem where repository updates would never trigger
when either "Over Data" or "Over Wifi" were disabled.
* Support OpenCollective donation option and highlight
free software donation platforms
* Fix for when the app update button wasn't showing up or working
in some cases (thanks @di72nn)
* Stop cropping feature header image (thanks @ByteHamster!)
* Make navigation bar match dark mode (thanks @MatthieuB!)
* Cleaned out obsolete code (thanks @Isira-Seneviratne!)
### 1.8-alpha2 (2020-02-04)
* stop showing Unknown Sources with Privileged Extension on Android 10 #1833
* add standard ripple effect to links on app details activity
* fix displaying default icon for apps without icons
### 1.8-alpha1 (2020-01-10)
* handle Android 10 permission config to stop Unknown Sources prompts
* keyboard opens when search is cleared
* translation sync with Android strings
* force common repo domains to HTTPS (GitLab, GitHub, Amazon)
### 1.8-alpha0 (2019-11-20)
* fix seekbar preference on recent Android versions (thanks @dkanada)
* handle API 29 split-permissions: fine location now implies coarse location
* define backup rules to avoid saving the swap repo
### 1.7.1 (2019-07-31)
* fix crashes from ACRA report emails
### 1.7 (2019-07-06)
* fix crash in Panic Settings

View File

@ -26,14 +26,16 @@ track of modifications and fuzzy translations. Applying translations manually
skips all of the fixes and checks, and overrides the fuzzy state of strings.
Note that you cannot change the English strings on Weblate. If you have any
suggestions on how to improve them, open a merge request like you would if you
were making code changes. This way the changes can be reviewed before the
source strings on Weblate are changed.
suggestions on how to improve them, open an issue or merge request like you
would if you were making code changes. This way the changes can be reviewed
before the source strings on Weblate are changed.
## Code Style
We follow the [Android Java style](https://source.android.com/source/code-style.html).
Some key points:
We follow the default Android Studio code formatter (e.g. `Ctrl-Alt-L`). This
should be more or less the same as [Android Java
style](https://source.android.com/source/code-style.html). Some key points:
* Four space indentation
* UTF-8 source files
@ -45,76 +47,35 @@ Some key points:
* Braces are always used after if, for and while
The current code base doesn't follow it entirely, but new code should follow
it. We enforce some of these, but not all, via checkstyle.
it. We enforce some of these, but not all, via `./gradlew checkstyle`.
## Debugging
To get all the logcat messages by F-Droid, you can run:
adb logcat | grep `adb shell ps | grep org.fdroid.fdroid | cut -c10-15`
## Building tips
* Use gradle with `--daemon` if you are going to build F-Droid multiple times.
* If you get a message like `Could not find com.android.support:support-...`,
make sure that you have the latest Android support maven repository.
* When building as part of AOSP with `Android.mk`, make sure you have a
recent version of Gradle installed as `gradlew` will not be used.
## Running the test suite
Before pushing commits to a merge request, make sure this passes:
./gradlew checkstyle pmd lint
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:
./gradlew check
Note that the CI already runs the tests on an emulator, so you don't
necessarily have to do this yourself if you open a merge request as the tests
will get run.
Many important tests require a device or emulator, but do not work in GitLab CI.
That mean they need to be run locally, and that is usually easiest in Android
Studio rather than the command line.
### Running tests in Android Studio
For a quick way to run a specific JUnit/Robolectric test:
Later versions of Android Studio require tests to be run with a "Working directory"
of `$MODULE_DIR$`.
[To make this the default behaviour](https://code.google.com/p/android/issues/detail?id=158015#c11),
close any projects to get the Welcome dialog. Then choose _Configure > Project Defaults >
Run Configurations > Defaults > Android JUnit_, and change "Working directory"
to `$MODULE_DIR$`. If you already have a project setup in Android Studio, you
may also need to change the default in _Run > Edit Configurations... > Defaults >
Android JUnit_.
./gradlew testFullDebugUnitTest --tests *LocaleSelectionTest*
## Versioning
For a quick way to run a specific emulator test:
Each stable version follows the `X.Y` pattern. Hotfix releases - i.e. when a
stable has an important bug that needs immediate fixing - will follow the
`X.Y.Z` pattern.
./gradlew connectedFullDebugAndroidTest \
-Pandroid.testInstrumentationRunnerArguments.class=org.fdroid.fdroid.MainActivityExpressoTest
Before each stable release, a number of alpha releases will be released. They
will follow the pattern `X.Y-alphaN`, where `N` is the current alpha number.
These will usually include changes and new features that have not been tested
enough for a stable release, so use at your own risk. Testers and reporters
are very welcome.
The version codes use a number of digits per each of these keys: `XXXYYYZNN`.
So for example, 1.3.1 would be `1003150` and 0.95-alpha13 would be `95013`
(leading zeros are omitted).
## Making releases
Note that we use a trailing `50` for actual stable releases, so alphas are
limited to `-alpha49`.
This is an example of a release process for **0.95**:
* We are currently at stable **0.94**
* **0.95-alpha1** is released
* **0.95-alpha2** is released
* **0.95-alpha3** is released
* `stable-v0.95` is branched and frozen
* **0.95** is released
* A bug is reported on the stable release and fixed
* **0.95.1** is released with only that fix
As soon as a stable is tagged, master will move on to `-alpha0` on the next
version. This is a temporary measure - until `-alpha1` is released - so that
moving from stable to master doesn't require a downgrade. `-alpha0` versions
will not be tagged nor released.
See https://gitlab.com/fdroid/wiki/-/wikis/Internal/Release-Process#fdroidclient

11
FUNDING.yml Normal file
View File

@ -0,0 +1,11 @@
---
liberapay: F-Droid-Data
open_collective: F-Droid
github:
- f-droid
- eighthave
custom:
- https://f-droid.org/donate/
- https://www.hellotux.com/f-droid
- https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=E2FCXCT6837GL
- https://blockchain.info/address/15u8aAPK4jJ5N8wpWJ5gutAyyeHtKX5i18

View File

@ -1,6 +1,6 @@
# F-Droid Client
[![build status](https://gitlab.com/fdroid/fdroidclient/badges/master/build.svg)](https://gitlab.com/fdroid/fdroidclient/builds)
[![build status](https://gitlab.com/fdroid/fdroidclient/badges/master/pipeline.svg)](https://gitlab.com/fdroid/fdroidclient/-/jobs)
[![Translation status](https://hosted.weblate.org/widgets/f-droid/-/svg-badge.svg)](https://hosted.weblate.org/engage/f-droid/)
Client for [F-Droid](https://f-droid.org), the Free Software repository system

View File

@ -2,7 +2,7 @@ apply plugin: 'com.android.application'
apply plugin: 'checkstyle'
apply plugin: 'pmd'
/* gets the version name from the latest Git tag, stripping the leading v off */
/* gets the version name from the latest Git tag */
def getVersionName = { ->
def stdout = new ByteArrayOutputStream()
exec {
@ -12,8 +12,8 @@ def getVersionName = { ->
return stdout.toString().trim()
}
def isCi = "true".equals(System.getenv("CI"))
def preDexEnabled = "true".equals(System.getProperty("pre-dex", "true"))
def isCi = "true" == System.getenv("CI")
def preDexEnabled = "true" == System.getProperty("pre-dex", "true")
def fullApplicationId = "org.fdroid.fdroid"
def basicApplicationId = "org.fdroid.basic"
@ -21,14 +21,16 @@ def basicApplicationId = "org.fdroid.basic"
def privilegedExtensionApplicationId = '"org.fdroid.fdroid.privileged"'
android {
compileSdkVersion 27
buildToolsVersion '27.0.3'
compileSdkVersion 30
defaultConfig {
versionCode 1007050
versionCode 1013001
versionName getVersionName()
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
testInstrumentationRunner 'androidx.test.runner.AndroidJUnitRunner'
minSdkVersion 24
//noinspection ExpiredTargetSdkVersion
targetSdkVersion 28
/*
The Android Testing Support Library collects analytics to continuously improve the testing
experience. More specifically, it uploads a hash of the package name of the application
@ -36,6 +38,7 @@ android {
passing the following argument to the test runner: disableAnalytics "true".
*/
testInstrumentationRunnerArguments disableAnalytics: 'true'
vectorDrawables.useSupportLibrary = true
}
buildTypes {
@ -43,9 +46,9 @@ android {
// release builds before.
all {
minifyEnabled true
useProguard true
shrinkResources true
buildConfigField "String", "PRIVILEGED_EXTENSION_PACKAGE_NAME", privilegedExtensionApplicationId
buildConfigField "String", "ACRA_REPORT_EMAIL", '"reports@f-droid.org"' // String needs both quotes
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
testProguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro', 'src/androidTest/proguard-rules.pro'
}
@ -73,6 +76,8 @@ android {
compileOptions {
compileOptions.encoding = "UTF-8"
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
aaptOptions {
@ -97,6 +102,10 @@ android {
events "skipped", "failed", "standardOut", "standardError"
showStandardStreams = true
}
systemProperty 'robolectric.dependency.repo.url', 'https://repo1.maven.org/maven2'
// hack to avoid memory leak crashes
forkEvery = 1
}
}
}
@ -133,50 +142,56 @@ android {
}
dependencies {
implementation 'com.android.support:support-v4:27.1.1'
implementation 'com.android.support:appcompat-v7:27.1.1'
implementation 'com.android.support:gridlayout-v7:27.1.1'
implementation 'com.android.support:support-annotations:27.1.1'
implementation 'com.android.support:recyclerview-v7:27.1.1'
implementation 'com.android.support:cardview-v7:27.1.1'
implementation 'com.android.support:design:27.1.1'
implementation 'com.android.support:support-vector-drawable:27.1.1'
implementation 'com.android.support.constraint:constraint-layout:1.1.3'
implementation 'com.android.support:palette-v7:27.1.1'
implementation 'com.android.support:preference-v14:27.1.1'
implementation 'androidx.appcompat:appcompat:1.3.0'
implementation 'androidx.preference:preference:1.1.1'
implementation 'androidx.gridlayout:gridlayout:1.0.0'
implementation 'androidx.recyclerview:recyclerview:1.1.0'
implementation 'androidx.cardview:cardview:1.0.0'
implementation 'androidx.vectordrawable:vectordrawable:1.1.0'
implementation 'androidx.constraintlayout:constraintlayout:1.1.3'
implementation 'androidx.palette:palette:1.0.0'
implementation 'androidx.work:work-runtime:2.4.0'
implementation 'com.google.android.material:material:1.3.0'
implementation 'com.nostra13.universalimageloader:universal-image-loader:1.9.5'
implementation 'com.google.zxing:core:3.3.3'
implementation 'info.guardianproject.netcipher:netcipher:2.0.0-beta1'
implementation 'info.guardianproject.netcipher:netcipher:2.2.0-alpha'
implementation 'info.guardianproject.panic:panic:1.0'
implementation 'commons-io:commons-io:2.6'
implementation 'commons-net:commons-net:3.6'
implementation 'ch.acra:acra:4.9.1'
implementation 'io.reactivex:rxjava:1.1.0'
implementation 'com.hannesdorfmann:adapterdelegates3:3.0.1'
implementation 'com.ashokvarma.android:bottom-navigation-bar:2.0.5'
implementation 'com.fasterxml.jackson.core:jackson-core:2.8.11'
implementation 'com.fasterxml.jackson.core:jackson-annotations:2.8.11'
implementation 'com.fasterxml.jackson.core:jackson-databind:2.8.11'
implementation 'io.reactivex.rxjava3:rxandroid:3.0.0'
implementation 'io.reactivex.rxjava3:rxjava:3.0.9'
implementation 'org.bouncycastle:bcprov-jdk15on:1.60'
fullImplementation 'org.bouncycastle:bcpkix-jdk15on:1.60'
implementation 'com.fasterxml.jackson.core:jackson-core:2.11.1'
implementation 'com.fasterxml.jackson.core:jackson-annotations:2.11.1'
implementation 'com.fasterxml.jackson.core:jackson-databind:2.11.1'
implementation 'org.bouncycastle:bcprov-jdk15on:1.65'
fullImplementation 'org.bouncycastle:bcpkix-jdk15on:1.65'
fullImplementation 'cc.mvdan.accesspoint:library:0.2.0'
fullImplementation 'org.jmdns:jmdns:3.5.5'
fullImplementation 'org.nanohttpd:nanohttpd:2.3.1'
testImplementation 'org.robolectric:robolectric:3.8'
testImplementation "com.android.support.test:monitor:1.0.2"
testImplementation 'org.bouncycastle:bcprov-jdk15on:1.60'
testImplementation 'junit:junit:4.12'
testImplementation 'org.mockito:mockito-core:2.7.22'
testImplementation 'androidx.test:core:1.3.0'
testImplementation 'junit:junit:4.13.1'
testImplementation 'org.robolectric:robolectric:4.3'
testImplementation 'org.mockito:mockito-core:3.3.3'
testImplementation 'org.hamcrest:hamcrest:2.2'
testImplementation 'org.bouncycastle:bcprov-jdk15on:1.65'
androidTestImplementation 'com.android.support:support-annotations:27.1.1'
androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
androidTestImplementation 'com.android.support.test:runner:1.0.2'
androidTestImplementation 'com.android.support.test:rules:1.0.2'
androidTestImplementation 'com.android.support.test.uiautomator:uiautomator-v18:2.1.3'
androidTestImplementation 'androidx.arch.core:core-testing:2.1.0'
androidTestImplementation 'androidx.test:core:1.3.0'
androidTestImplementation 'androidx.test:runner:1.3.0'
androidTestImplementation 'androidx.test:rules:1.3.0'
androidTestImplementation 'androidx.test:monitor:1.3.0'
androidTestImplementation 'androidx.test.ext:junit:1.1.2'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.3.0'
androidTestImplementation 'androidx.test.uiautomator:uiautomator:2.2.0'
androidTestImplementation 'androidx.work:work-testing:2.4.0'
}
checkstyle {
@ -192,7 +207,7 @@ task checkstyle(type: Checkstyle) {
}
pmd {
toolVersion = '5.5.1'
toolVersion = '6.20.0'
consoleOutput = true
}
@ -202,7 +217,6 @@ task pmdMain(type: Pmd) {
ruleSets = [] // otherwise defaults clash with the list in rules.xml
source 'src/main/java'
include '**/*.java'
exclude '**/kellinwood/**/*.java'
}
task pmdTest(type: Pmd) {

View File

@ -4,13 +4,11 @@
-keep class org.fdroid.fdroid.** {*;}
-dontskipnonpubliclibraryclassmembers
-dontwarn android.test.**
-dontwarn com.android.support.test.**
-dontwarn javax.naming.**
-dontwarn org.slf4j.**
-dontnote org.apache.http.**
-dontnote android.net.http.**
-dontnote android.support.**
-dontnote **ILicensingService
# Needed for espresso https://stackoverflow.com/a/21706087
@ -33,24 +31,6 @@
public *;
}
# Samsung Android 4.2 bug
# https://code.google.com/p/android/issues/detail?id=78377
-keepnames class !android.support.v7.internal.view.menu.**, ** {*;}
-keep public class android.support.v7.widget.** {*;}
-keep public class android.support.v7.internal.widget.** {*;}
-keep public class * extends android.support.v4.view.ActionProvider {
public <init>(android.content.Context);
}
# The rxjava library depends on sun.misc.Unsafe, which is unavailable on Android
# The rxjava team is aware of this, and mention in the docs that they only use
# the unsafe functionality if the platform supports it.
# - https://github.com/ReactiveX/RxJava/issues/1415#issuecomment-48390883
# - https://github.com/ReactiveX/RxJava/blob/1.x/src/main/java/rx/internal/util/unsafe/UnsafeAccess.java#L23
-dontwarn rx.internal.util.**
-keepattributes *Annotation*,EnclosingMethod,Signature
-keepnames class com.fasterxml.jackson.** { *; }
-dontwarn com.fasterxml.jackson.databind.ext.**
@ -59,4 +39,9 @@
public static final org.codehaus.jackson.annotate.JsonAutoDetect$Visibility *; }
-keep public class your.class.** {
*;
}
# This is necessary so that RemoteWorkManager can be initialized (also marked with @Keep)
-keep class androidx.work.multiprocess.RemoteWorkManagerClient {
public <init>(...);
}

View File

@ -1,17 +1,24 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- package name must be unique so suffix with "tests" so package loader doesn't ignore us -->
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
package="org.fdroid.fdroid.tests"
android:versionCode="1"
android:versionName="1.0">
<uses-sdk tools:overrideLibrary="android.support.test.uiautomator.v18"/>
xmlns:tools="http://schemas.android.com/tools"
package="org.fdroid.fdroid.tests"
android:versionCode="1"
android:versionName="1.0">
<uses-sdk tools:overrideLibrary="android_libs.ub_uiautomator" />
<!-- We add an application tag here just so that we can indicate that
this package needs to link against the android.test library,
which is needed when building test cases. -->
<application>
<uses-library android:name="android.test.runner"/>
<uses-library
android:name="android.test.runner"
android:required="false" />
</application>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
</manifest>

View File

@ -1,8 +1,8 @@
package org.fdroid.fdroid;
import android.content.Context;
import android.support.annotation.Nullable;
import android.util.Log;
import androidx.annotation.Nullable;
import java.io.File;
import java.io.FileOutputStream;
@ -16,6 +16,9 @@ public class AssetUtils {
private static final String TAG = "Utils";
/**
* This requires {@link Context} from {@link android.app.Instrumentation#getContext()}
*/
@Nullable
public static File copyAssetToDir(Context context, String assetName, File directory) {
File tempFile = null;
@ -28,6 +31,7 @@ public class AssetUtils {
output = new FileOutputStream(tempFile);
Utils.copy(input, output);
} catch (IOException e) {
Log.e(TAG, "Check the context is from Instrumentation.getContext()");
fail(e.getMessage());
} finally {
Utils.closeQuietly(output);

View File

@ -1,65 +0,0 @@
package org.fdroid.fdroid;
import android.app.Instrumentation;
import android.support.test.InstrumentationRegistry;
import android.support.test.runner.AndroidJUnit4;
import org.apache.commons.io.FileUtils;
import org.fdroid.fdroid.compat.FileCompatTest;
import org.junit.Test;
import org.junit.runner.RunWith;
import java.io.File;
import java.io.IOException;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertTrue;
@RunWith(AndroidJUnit4.class)
public class CleanCacheServiceTest {
public static final String TAG = "CleanCacheServiceTest";
@Test
public void testClearOldFiles() throws IOException, InterruptedException {
Instrumentation instrumentation = InstrumentationRegistry.getInstrumentation();
File tempDir = FileCompatTest.getWriteableDir(instrumentation);
assertTrue(tempDir.isDirectory());
assertTrue(tempDir.canWrite());
File dir = new File(tempDir, "F-Droid-test.clearOldFiles");
FileUtils.deleteQuietly(dir);
assertTrue(dir.mkdirs());
assertTrue(dir.isDirectory());
File first = new File(dir, "first");
first.deleteOnExit();
File second = new File(dir, "second");
second.deleteOnExit();
assertFalse(first.exists());
assertFalse(second.exists());
assertTrue(first.createNewFile());
assertTrue(first.exists());
Thread.sleep(7000);
assertTrue(second.createNewFile());
assertTrue(second.exists());
CleanCacheService.clearOldFiles(dir, 3000); // check all in dir
assertFalse(first.exists());
assertTrue(second.exists());
Thread.sleep(7000);
CleanCacheService.clearOldFiles(second, 3000); // check just second file
assertFalse(first.exists());
assertFalse(second.exists());
// make sure it doesn't freak out on a non-existent file
File nonexistent = new File(tempDir, "nonexistent");
CleanCacheService.clearOldFiles(nonexistent, 1);
CleanCacheService.clearOldFiles(null, 1);
}
}

View File

@ -5,8 +5,8 @@ import android.content.Context;
import android.content.res.AssetManager;
import android.content.res.Configuration;
import android.content.res.Resources;
import android.support.test.InstrumentationRegistry;
import android.support.test.runner.AndroidJUnit4;
import androidx.test.platform.app.InstrumentationRegistry;
import androidx.test.ext.junit.runners.AndroidJUnit4;
import android.text.TextUtils;
import android.util.DisplayMetrics;
import android.util.Log;
@ -179,6 +179,9 @@ public class LocalizationTest {
case "dd":
resources.getString(resId, 1, 2);
break;
case "ds":
resources.getString(resId, 1, "TWO");
break;
case "dds":
resources.getString(resId, 1, 2, "THREE");
break;

View File

@ -5,20 +5,23 @@ import android.app.ActivityManager;
import android.app.Instrumentation;
import android.content.Context;
import android.os.Build;
import android.support.test.InstrumentationRegistry;
import android.support.test.espresso.IdlingPolicies;
import android.support.test.espresso.ViewInteraction;
import android.support.test.filters.LargeTest;
import android.support.test.rule.ActivityTestRule;
import android.support.test.rule.GrantPermissionRule;
import android.support.test.runner.AndroidJUnit4;
import android.support.test.uiautomator.UiDevice;
import android.support.test.uiautomator.UiObject;
import android.support.test.uiautomator.UiObjectNotFoundException;
import android.support.test.uiautomator.UiSelector;
import androidx.core.content.ContextCompat;
import androidx.test.core.app.ApplicationProvider;
import androidx.test.filters.LargeTest;
import androidx.test.platform.app.InstrumentationRegistry;
import androidx.test.espresso.IdlingPolicies;
import androidx.test.espresso.ViewInteraction;
import androidx.test.rule.ActivityTestRule;
import androidx.test.rule.GrantPermissionRule;
import androidx.test.ext.junit.runners.AndroidJUnit4;
import androidx.test.uiautomator.UiDevice;
import androidx.test.uiautomator.UiObject;
import androidx.test.uiautomator.UiObjectNotFoundException;
import androidx.test.uiautomator.UiSelector;
import android.util.Log;
import android.view.View;
import org.fdroid.fdroid.views.BannerUpdatingRepos;
import org.fdroid.fdroid.views.StatusBanner;
import org.fdroid.fdroid.views.main.MainActivity;
import org.hamcrest.Matchers;
import org.junit.After;
@ -32,19 +35,19 @@ import org.junit.runner.RunWith;
import java.io.IOException;
import java.util.concurrent.TimeUnit;
import static android.support.test.espresso.Espresso.onView;
import static android.support.test.espresso.action.ViewActions.click;
import static android.support.test.espresso.action.ViewActions.swipeDown;
import static android.support.test.espresso.action.ViewActions.swipeLeft;
import static android.support.test.espresso.action.ViewActions.swipeRight;
import static android.support.test.espresso.action.ViewActions.swipeUp;
import static android.support.test.espresso.action.ViewActions.typeText;
import static android.support.test.espresso.assertion.ViewAssertions.doesNotExist;
import static android.support.test.espresso.assertion.ViewAssertions.matches;
import static android.support.test.espresso.matcher.ViewMatchers.isDisplayed;
import static android.support.test.espresso.matcher.ViewMatchers.withContentDescription;
import static android.support.test.espresso.matcher.ViewMatchers.withId;
import static android.support.test.espresso.matcher.ViewMatchers.withText;
import static androidx.test.espresso.Espresso.onView;
import static androidx.test.espresso.action.ViewActions.click;
import static androidx.test.espresso.action.ViewActions.swipeDown;
import static androidx.test.espresso.action.ViewActions.swipeLeft;
import static androidx.test.espresso.action.ViewActions.swipeRight;
import static androidx.test.espresso.action.ViewActions.swipeUp;
import static androidx.test.espresso.action.ViewActions.typeText;
import static androidx.test.espresso.assertion.ViewAssertions.doesNotExist;
import static androidx.test.espresso.assertion.ViewAssertions.matches;
import static androidx.test.espresso.matcher.ViewMatchers.isDisplayed;
import static androidx.test.espresso.matcher.ViewMatchers.withContentDescription;
import static androidx.test.espresso.matcher.ViewMatchers.withId;
import static androidx.test.espresso.matcher.ViewMatchers.withText;
import static org.hamcrest.Matchers.allOf;
import static org.hamcrest.Matchers.not;
import static org.junit.Assert.assertTrue;
@ -88,7 +91,7 @@ public class MainActivityEspressoTest {
} catch (IOException e) {
e.printStackTrace();
}
SystemAnimations.disableAll(InstrumentationRegistry.getTargetContext());
SystemAnimations.disableAll(ApplicationProvider.getApplicationContext());
// dismiss the ANR or any other system dialogs that might be there
UiObject button = new UiObject(new UiSelector().text("Wait").enabled(true));
@ -101,7 +104,7 @@ public class MainActivityEspressoTest {
Context context = instrumentation.getTargetContext();
ActivityManager.MemoryInfo mi = new ActivityManager.MemoryInfo();
ActivityManager activityManager = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE);
ActivityManager activityManager = ContextCompat.getSystemService(context, ActivityManager.class);
activityManager.getMemoryInfo(mi);
long percentAvail = mi.availMem / mi.totalMem;
Log.i(TAG, "RAM: " + mi.availMem + " / " + mi.totalMem + " = " + percentAvail);
@ -109,7 +112,7 @@ public class MainActivityEspressoTest {
@AfterClass
public static void classTearDown() {
SystemAnimations.enableAll(InstrumentationRegistry.getTargetContext());
SystemAnimations.enableAll(ApplicationProvider.getApplicationContext());
}
public static boolean isEmulator() {
@ -174,6 +177,7 @@ public class MainActivityEspressoTest {
}
@LargeTest
@Test
public void showSettings() {
ViewInteraction settingsBottonNavButton = onView(
allOf(withText(R.string.menu_settings), isDisplayed()));
@ -204,10 +208,11 @@ public class MainActivityEspressoTest {
onView(withId(R.id.version)).check(matches(isDisplayed()));
onView(withId(R.id.ok_button)).perform(click());
onView(withId(R.id.list)).perform(swipeUp()).perform(swipeUp()).perform(swipeUp());
onView(withId(android.R.id.list_container)).perform(swipeUp()).perform(swipeUp()).perform(swipeUp());
}
@LargeTest
@Test
public void showUpdates() {
ViewInteraction updatesBottonNavButton = onView(allOf(withText(R.string.main_menu__updates), isDisplayed()));
updatesBottonNavButton.perform(click());
@ -215,6 +220,7 @@ public class MainActivityEspressoTest {
}
@LargeTest
@Test
public void startSwap() {
if (!BuildConfig.FLAVOR.startsWith("full")) {
return;
@ -230,6 +236,7 @@ public class MainActivityEspressoTest {
}
@LargeTest
@Test
public void showCategories() {
if (!BuildConfig.FLAVOR.startsWith("full")) {
return;
@ -255,11 +262,12 @@ public class MainActivityEspressoTest {
}
@LargeTest
@Test
public void showLatest() {
if (!BuildConfig.FLAVOR.startsWith("full")) {
return;
}
onView(Matchers.<View>instanceOf(BannerUpdatingRepos.class)).check(matches(not(isDisplayed())));
onView(Matchers.<View>instanceOf(StatusBanner.class)).check(matches(not(isDisplayed())));
onView(allOf(withText(R.string.menu_settings), isDisplayed())).perform(click());
onView(allOf(withText(R.string.main_menu__latest_apps), isDisplayed())).perform(click());
onView(allOf(withId(R.id.swipe_to_refresh), isDisplayed()))
@ -277,6 +285,7 @@ public class MainActivityEspressoTest {
}
@LargeTest
@Test
public void showSearch() {
onView(allOf(withText(R.string.menu_settings), isDisplayed())).perform(click());
onView(withId(R.id.fab_search)).check(doesNotExist());

View File

@ -123,7 +123,7 @@ public class Netstat {
try {
BufferedReader in = new BufferedReader(new FileReader("/proc/net/tcp"));
String line;
while ((line = in.readLine()) != null) {
while ((line = in.readLine()) != null) { // NOPMD
Matcher matcher = NET_PATTERN.matcher(line);
if (matcher.find()) {
final Connection c = new Connection();
@ -156,7 +156,7 @@ public class Netstat {
try {
BufferedReader in = new BufferedReader(new FileReader("/proc/net/udp"));
String line;
while ((line = in.readLine()) != null) {
while ((line = in.readLine()) != null) { // NOPMD
Matcher matcher = NET_PATTERN.matcher(line);
if (matcher.find()) {
final Connection c = new Connection();
@ -189,7 +189,7 @@ public class Netstat {
try {
BufferedReader in = new BufferedReader(new FileReader("/proc/net/raw"));
String line;
while ((line = in.readLine()) != null) {
while ((line = in.readLine()) != null) { // NOPMD
Matcher matcher = NET_PATTERN.matcher(line);
if (matcher.find()) {
final Connection c = new Connection();

View File

@ -16,11 +16,11 @@
package org.fdroid.fdroid;
import android.support.test.uiautomator.UiDevice;
import android.support.test.uiautomator.UiObject;
import android.support.test.uiautomator.UiObjectNotFoundException;
import android.support.test.uiautomator.UiSelector;
import android.support.test.uiautomator.UiWatcher;
import androidx.test.uiautomator.UiDevice;
import androidx.test.uiautomator.UiObject;
import androidx.test.uiautomator.UiObjectNotFoundException;
import androidx.test.uiautomator.UiSelector;
import androidx.test.uiautomator.UiWatcher;
import android.util.Log;
import java.util.ArrayList;

View File

@ -4,8 +4,8 @@ import android.app.Instrumentation;
import android.content.Context;
import android.os.Build;
import android.os.Environment;
import android.support.test.InstrumentationRegistry;
import android.support.test.runner.AndroidJUnit4;
import androidx.test.platform.app.InstrumentationRegistry;
import androidx.test.ext.junit.runners.AndroidJUnit4;
import android.util.Log;
import org.fdroid.fdroid.AssetUtils;

View File

@ -22,10 +22,10 @@ package org.fdroid.fdroid.installer;
import android.app.Instrumentation;
import android.net.Uri;
import android.os.Build;
import android.support.annotation.NonNull;
import android.support.test.InstrumentationRegistry;
import android.support.test.runner.AndroidJUnit4;
import android.util.Log;
import androidx.annotation.NonNull;
import androidx.test.ext.junit.runners.AndroidJUnit4;
import androidx.test.platform.app.InstrumentationRegistry;
import org.fdroid.fdroid.AssetUtils;
import org.fdroid.fdroid.Utils;
import org.fdroid.fdroid.compat.FileCompatTest;
@ -113,7 +113,7 @@ public class ApkVerifierTest {
Apk apk = new Apk();
apk.packageName = "org.fdroid.permissions.sdk14";
apk.targetSdkVersion = 14;
String[] noPrefixPermissions = new String[]{
ArrayList<String> noPrefixPermissionsList = new ArrayList<>(Arrays.asList(
"AUTHENTICATE_ACCOUNTS",
"MANAGE_ACCOUNTS",
"READ_PROFILE",
@ -129,8 +129,13 @@ public class ApkVerifierTest {
"READ_SYNC_SETTINGS",
"WRITE_SYNC_SETTINGS",
"WRITE_CALL_LOG", // implied-permission!
"READ_CALL_LOG", // implied-permission!
};
"READ_CALL_LOG" // implied-permission!
));
if (Build.VERSION.SDK_INT >= 29) {
noPrefixPermissionsList.add("android.permission.ACCESS_MEDIA_LOCATION");
}
String[] noPrefixPermissions = noPrefixPermissionsList.toArray(new String[0]);
for (int i = 0; i < noPrefixPermissions.length; i++) {
noPrefixPermissions[i] = RepoXMLHandler.fdroidToAndroidPermission(noPrefixPermissions[i]);
}
@ -177,7 +182,7 @@ public class ApkVerifierTest {
Apk apk = new Apk();
apk.packageName = "org.fdroid.permissions.sdk14";
apk.targetSdkVersion = 14;
apk.requestedPermissions = new String[]{
TreeSet<String> expectedSet = new TreeSet<>(Arrays.asList(
"android.permission.AUTHENTICATE_ACCOUNTS",
"android.permission.MANAGE_ACCOUNTS",
"android.permission.READ_PROFILE",
@ -193,8 +198,12 @@ public class ApkVerifierTest {
"android.permission.READ_SYNC_SETTINGS",
"android.permission.WRITE_SYNC_SETTINGS",
"android.permission.WRITE_CALL_LOG", // implied-permission!
"android.permission.READ_CALL_LOG", // implied-permission!
};
"android.permission.READ_CALL_LOG"// implied-permission!
));
if (Build.VERSION.SDK_INT >= 29) {
expectedSet.add("android.permission.ACCESS_MEDIA_LOCATION");
}
apk.requestedPermissions = expectedSet.toArray(new String[0]);
Uri uri = Uri.fromFile(sdk14Apk);
@ -371,6 +380,9 @@ public class ApkVerifierTest {
"android.permission.MANAGE_ACCOUNTS"
));
}
if (Build.VERSION.SDK_INT >= 29) {
expectedSet.add("android.permission.ACCESS_MEDIA_LOCATION");
}
Apk apk = actualDetails.apks.get(1);
Log.i(TAG, "APK: " + apk.apkName);
HashSet<String> actualSet = new HashSet<>(Arrays.asList(apk.requestedPermissions));
@ -407,6 +419,9 @@ public class ApkVerifierTest {
"org.dmfs.permission.READ_TASKS",
"org.dmfs.permission.WRITE_TASKS"
));
if (Build.VERSION.SDK_INT >= 29) {
expectedSet.add("android.permission.ACCESS_MEDIA_LOCATION");
}
expectedPermissions = expectedSet.toArray(new String[expectedSet.size()]);
apk = actualDetails.apks.get(2);
Log.i(TAG, "APK: " + apk.apkName);

View File

@ -1,17 +1,20 @@
package org.fdroid.fdroid.nearby;
import android.content.Context;
import android.support.test.InstrumentationRegistry;
import android.support.test.runner.AndroidJUnit4;
import androidx.test.core.app.ApplicationProvider;
import androidx.test.ext.junit.runners.AndroidJUnit4;
import org.fdroid.fdroid.FDroidApp;
import org.junit.Test;
import org.junit.runner.RunWith;
import javax.jmdns.ServiceEvent;
import javax.jmdns.ServiceListener;
import java.util.concurrent.CountDownLatch;
import java.util.concurrent.TimeUnit;
import javax.jmdns.ServiceEvent;
import javax.jmdns.ServiceListener;
import static org.junit.Assert.assertTrue;
@RunWith(AndroidJUnit4.class)
@ -23,7 +26,7 @@ public class BonjourManagerTest {
@Test
public void testStartStop() throws InterruptedException {
Context context = InstrumentationRegistry.getTargetContext();
Context context = ApplicationProvider.getApplicationContext();
FDroidApp.ipAddressString = LOCALHOST;
FDroidApp.port = PORT;
@ -65,7 +68,7 @@ public class BonjourManagerTest {
@Test
public void testRestart() throws InterruptedException {
Context context = InstrumentationRegistry.getTargetContext();
Context context = ApplicationProvider.getApplicationContext();
FDroidApp.ipAddressString = LOCALHOST;
FDroidApp.port = PORT;

View File

@ -4,16 +4,18 @@ import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
import android.support.test.InstrumentationRegistry;
import android.support.test.filters.LargeTest;
import android.support.test.runner.AndroidJUnit4;
import android.support.v4.content.LocalBroadcastManager;
import androidx.test.core.app.ApplicationProvider;
import androidx.test.filters.LargeTest;
import androidx.test.ext.junit.runners.AndroidJUnit4;
import androidx.localbroadcastmanager.content.LocalBroadcastManager;
import android.util.Log;
import org.fdroid.fdroid.FDroidApp;
import org.fdroid.fdroid.Netstat;
import org.fdroid.fdroid.Utils;
import org.junit.After;
import org.junit.Before;
import org.junit.Ignore;
import org.junit.Test;
import org.junit.runner.RunWith;
@ -40,7 +42,7 @@ public class LocalHTTPDManagerTest {
@Before
public void setUp() {
context = InstrumentationRegistry.getTargetContext();
context = ApplicationProvider.getApplicationContext();
lbm = LocalBroadcastManager.getInstance(context);
FDroidApp.ipAddressString = LOCALHOST;
@ -64,6 +66,7 @@ public class LocalHTTPDManagerTest {
lbm.unregisterReceiver(errorReceiver);
}
@Ignore
@Test
public void testStartStop() throws InterruptedException {
Log.i(TAG, "testStartStop");

View File

@ -6,8 +6,8 @@ import android.content.Intent;
import android.content.pm.ApplicationInfo;
import android.content.pm.ResolveInfo;
import android.os.Looper;
import android.support.test.InstrumentationRegistry;
import android.support.test.filters.LargeTest;
import androidx.test.platform.app.InstrumentationRegistry;
import androidx.test.filters.LargeTest;
import android.text.TextUtils;
import android.util.Log;
import org.fdroid.fdroid.BuildConfig;
@ -27,6 +27,7 @@ import org.fdroid.fdroid.nearby.LocalHTTPD;
import org.fdroid.fdroid.nearby.LocalRepoKeyStore;
import org.fdroid.fdroid.nearby.LocalRepoManager;
import org.fdroid.fdroid.nearby.LocalRepoService;
import org.junit.Ignore;
import org.junit.Test;
import java.io.File;
@ -54,6 +55,7 @@ public class SwapRepoEmulatorTest {
/**
* @see org.fdroid.fdroid.nearby.WifiStateChangeService.WifiInfoThread#run()
*/
@Ignore
@Test
public void testSwap()
throws IOException, LocalRepoKeyStore.InitException, IndexUpdater.UpdateException, InterruptedException {

View File

@ -0,0 +1,110 @@
package org.fdroid.fdroid.work;
import android.app.Instrumentation;
import androidx.arch.core.executor.testing.InstantTaskExecutorRule;
import androidx.test.filters.LargeTest;
import androidx.test.platform.app.InstrumentationRegistry;
import androidx.work.OneTimeWorkRequest;
import androidx.work.WorkInfo;
import com.google.common.util.concurrent.ListenableFuture;
import org.apache.commons.io.FileUtils;
import org.fdroid.fdroid.compat.FileCompatTest;
import org.junit.Rule;
import org.junit.Test;
import java.io.File;
import java.io.IOException;
import java.util.concurrent.ExecutionException;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertTrue;
/**
* This test cannot run on Robolectric unfortunately since it does not support
* getting the timestamps from the files completely.
* <p>
* This is marked with {@link LargeTest} because it always fails on the emulator
* tests on GitLab CI. That excludes it from the test run there.
*/
@LargeTest
public class CleanCacheWorkerTest {
public static final String TAG = "CleanCacheWorkerEmulatorTest";
@Rule
public InstantTaskExecutorRule instantTaskExecutorRule = new InstantTaskExecutorRule();
@Rule
public WorkManagerTestRule workManagerTestRule = new WorkManagerTestRule();
@Test
public void testWorkRequest() throws ExecutionException, InterruptedException {
OneTimeWorkRequest request = new OneTimeWorkRequest.Builder(CleanCacheWorker.class).build();
workManagerTestRule.workManager.enqueue(request).getResult();
ListenableFuture<WorkInfo> workInfo = workManagerTestRule.workManager.getWorkInfoById(request.getId());
assertEquals(WorkInfo.State.SUCCEEDED, workInfo.get().getState());
}
@Test
public void testClearOldFiles() throws IOException, InterruptedException {
Instrumentation instrumentation = InstrumentationRegistry.getInstrumentation();
File tempDir = FileCompatTest.getWriteableDir(instrumentation);
assertTrue(tempDir.isDirectory());
assertTrue(tempDir.canWrite());
File dir = new File(tempDir, "F-Droid-test.clearOldFiles");
FileUtils.deleteQuietly(dir);
assertTrue(dir.mkdirs());
assertTrue(dir.isDirectory());
File first = new File(dir, "first");
first.deleteOnExit();
File second = new File(dir, "second");
second.deleteOnExit();
assertFalse(first.exists());
assertFalse(second.exists());
assertTrue(first.createNewFile());
assertTrue(first.exists());
Thread.sleep(7000);
assertTrue(second.createNewFile());
assertTrue(second.exists());
CleanCacheWorker.clearOldFiles(dir, 3000); // check all in dir
assertFalse(first.exists());
assertTrue(second.exists());
Thread.sleep(7000);
CleanCacheWorker.clearOldFiles(second, 3000); // check just second file
assertFalse(first.exists());
assertFalse(second.exists());
// make sure it doesn't freak out on a non-existent file
File nonexistent = new File(tempDir, "nonexistent");
CleanCacheWorker.clearOldFiles(nonexistent, 1);
CleanCacheWorker.clearOldFiles(null, 1);
}
/*
// TODO enable this once getImageCacheDir() can be mocked or provide a writable dir in the test
@Test
public void testDeleteOldIcons() throws IOException {
Context context = InstrumentationRegistry.getInstrumentation().getContext();
File imageCacheDir = Utils.getImageCacheDir(context);
imageCacheDir.mkdirs();
assertTrue(imageCacheDir.isDirectory());
File oldIcon = new File(imageCacheDir, "old.png");
assertTrue(oldIcon.createNewFile());
Assume.assumeTrue("test environment must be able to set LastModified time",
oldIcon.setLastModified(System.currentTimeMillis() - (DateUtils.DAY_IN_MILLIS * 370)));
File currentIcon = new File(imageCacheDir, "current.png");
assertTrue(currentIcon.createNewFile());
CleanCacheWorker.deleteOldIcons(context);
assertTrue(currentIcon.exists());
assertFalse(oldIcon.exists());
}
*/
}

View File

@ -0,0 +1,72 @@
/*
* Copyright (C) 2021 Hans-Christoph Steiner <hans@eds.org>
*
* This program is free software; you can redistribute it 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.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*/
package org.fdroid.fdroid.work;
import androidx.arch.core.executor.testing.InstantTaskExecutorRule;
import androidx.test.filters.LargeTest;
import androidx.test.platform.app.InstrumentationRegistry;
import androidx.work.OneTimeWorkRequest;
import androidx.work.WorkInfo;
import com.google.common.util.concurrent.ListenableFuture;
import org.junit.Ignore;
import org.junit.Rule;
import org.junit.Test;
import java.io.IOException;
import java.util.concurrent.ExecutionException;
import static org.junit.Assert.assertEquals;
/**
* This actually runs {@link FDroidMetricsWorker} on a device/emulator and
* submits a report to https://metrics.cleaninsights.org
* <p>
* This is marked with {@link LargeTest} to exclude it from running on GitLab CI
* because it always fails on the emulator tests there. Also, it actually submits
* a report.
*/
@LargeTest
public class FDroidMetricsWorkerTest {
public static final String TAG = "FDroidMetricsWorkerTest";
@Rule
public InstantTaskExecutorRule instantTaskExecutorRule = new InstantTaskExecutorRule();
@Rule
public WorkManagerTestRule workManagerTestRule = new WorkManagerTestRule();
/**
* A test for easy manual testing.
*/
@Ignore
@Test
public void testGenerateReport() throws IOException {
String json = FDroidMetricsWorker.generateReport(
InstrumentationRegistry.getInstrumentation().getTargetContext());
System.out.println(json);
}
@Test
public void testWorkRequest() throws ExecutionException, InterruptedException {
OneTimeWorkRequest request = new OneTimeWorkRequest.Builder(FDroidMetricsWorker.class).build();
workManagerTestRule.workManager.enqueue(request).getResult();
ListenableFuture<WorkInfo> workInfo = workManagerTestRule.workManager.getWorkInfoById(request.getId());
assertEquals(WorkInfo.State.SUCCEEDED, workInfo.get().getState());
}
}

View File

@ -0,0 +1,33 @@
package org.fdroid.fdroid.work;
import android.app.Instrumentation;
import android.content.Context;
import android.util.Log;
import androidx.test.platform.app.InstrumentationRegistry;
import androidx.work.Configuration;
import androidx.work.WorkManager;
import androidx.work.testing.SynchronousExecutor;
import androidx.work.testing.WorkManagerTestInitHelper;
import org.junit.rules.TestWatcher;
import org.junit.runner.Description;
public class WorkManagerTestRule extends TestWatcher {
Context targetContext;
Context testContext;
Configuration configuration;
WorkManager workManager;
@Override
protected void starting(Description description) {
final Instrumentation instrumentation = InstrumentationRegistry.getInstrumentation();
targetContext = instrumentation.getTargetContext();
testContext = instrumentation.getContext();
configuration = new Configuration.Builder()
.setMinimumLoggingLevel(Log.DEBUG)
.setExecutor(new SynchronousExecutor())
.build();
WorkManagerTestInitHelper.initializeTestWorkManager(targetContext, configuration);
workManager = WorkManager.getInstance(targetContext);
}
}

View File

@ -1,3 +1,7 @@
-dontoptimize
-dontwarn
-dontobfuscate
-dontwarn android.test.**
-dontwarn android.support.test.**
-dontnote junit.framework.**
@ -14,3 +18,8 @@
-keep class junit.** { *; }
-dontwarn junit.**
# This is necessary so that RemoteWorkManager can be initialized (also marked with @Keep)
-keep class androidx.work.multiprocess.RemoteWorkManagerClient {
public <init>(...);
}

View File

@ -0,0 +1,5 @@
package org.fdroid.fdroid.nearby;
public class LocalRepoManager {
public static final String[] WEB_ROOT_ASSET_FILES = {};
}

View File

@ -19,14 +19,14 @@
package org.fdroid.fdroid.nearby;
import android.app.Activity;
import androidx.appcompat.app.AppCompatActivity;
import android.content.Intent;
/**
* Dummy version for basic app flavor.
*/
public class TreeUriScannerIntentService {
public static void onActivityResult(Activity activity, Intent intent) {
public static void onActivityResult(AppCompatActivity activity, Intent intent) {
throw new IllegalStateException("unimplemented");
}
}

View File

@ -21,7 +21,7 @@ package org.fdroid.fdroid.nearby;
import android.content.Context;
import android.content.Intent;
import android.support.annotation.Nullable;
import androidx.annotation.Nullable;
/**
* Dummy version for basic app flavor.

View File

@ -19,11 +19,11 @@
package org.fdroid.fdroid.views.main;
import android.support.annotation.Nullable;
import android.support.v4.app.Fragment;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.RecyclerView;
import android.widget.FrameLayout;
import androidx.annotation.Nullable;
import androidx.appcompat.app.AppCompatActivity;
import androidx.fragment.app.Fragment;
import androidx.recyclerview.widget.RecyclerView;
import org.fdroid.fdroid.R;
import org.fdroid.fdroid.views.PreferencesFragment;
import org.fdroid.fdroid.views.updates.UpdatesViewBinder;
@ -49,10 +49,10 @@ class MainViewController extends RecyclerView.ViewHolder {
}
/**
* @see WhatsNewViewBinder
* @see LatestViewBinder
*/
public void bindWhatsNewView() {
new WhatsNewViewBinder(activity, frame);
public void bindLatestView() {
new LatestViewBinder(activity, frame);
}
/**

View File

@ -1,9 +1,9 @@
package org.fdroid.fdroid.views.main;
import android.app.Activity;
import android.content.Context;
class NearbyViewBinder {
public static void updateUsbOtg(final Activity activity) {
public static void updateUsbOtg(Context context) {
throw new IllegalStateException("unimplemented");
}
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.3 KiB

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.7 KiB

After

Width:  |  Height:  |  Size: 5.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.6 KiB

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.2 KiB

After

Width:  |  Height:  |  Size: 40 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.4 KiB

After

Width:  |  Height:  |  Size: 65 KiB

View File

@ -6,7 +6,7 @@
<!-- android:title and android:icon are set dynamically in MainActivity -->
<item
app:showAsAction="ifRoom|withText"
android:id="@+id/whats_new"/>
android:id="@+id/latest"/>
<item
app:showAsAction="ifRoom|withText"
android:id="@+id/updates"/>

View File

@ -1,30 +1,25 @@
<?xml version="1.0" encoding="utf-8"?>
<android.support.v7.preference.PreferenceScreen
xmlns:android="http://schemas.android.com/apk/res/android">
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">
<android.support.v7.preference.PreferenceScreen android:title="@string/about_title">
<intent
android:action="android.intent.action.MAIN"
android:targetPackage="@string/applicationId"
android:targetClass="org.fdroid.fdroid.AboutActivity"/>
</android.support.v7.preference.PreferenceScreen>
<PreferenceScreen android:title="@string/about_title"
android:key="pref_about" />
<android.support.v7.preference.PreferenceCategory android:title="@string/preference_category__my_apps">
<android.support.v7.preference.PreferenceScreen android:title="@string/preference_manage_installed_apps">
<PreferenceCategory android:title="@string/preference_category__my_apps">
<PreferenceScreen android:title="@string/preference_manage_installed_apps">
<intent
android:action="android.intent.action.MAIN"
android:targetPackage="@string/applicationId"
android:targetClass="org.fdroid.fdroid.views.installed.InstalledAppsActivity"/>
</android.support.v7.preference.PreferenceScreen>
<android.support.v7.preference.PreferenceScreen
</PreferenceScreen>
<PreferenceScreen
android:title="@string/menu_manage"
android:summary="@string/repositories_summary">
<intent
android:action="android.intent.action.MAIN"
android:targetPackage="@string/applicationId"
android:targetClass="org.fdroid.fdroid.views.ManageReposActivity"/>
</android.support.v7.preference.PreferenceScreen>
<android.support.v7.preference.PreferenceScreen
</PreferenceScreen>
<PreferenceScreen
android:key="installHistory"
android:visible="false"
android:title="@string/install_history"
@ -33,10 +28,10 @@
android:action="android.intent.action.MAIN"
android:targetPackage="@string/applicationId"
android:targetClass="org.fdroid.fdroid.views.InstallHistoryActivity"/>
</android.support.v7.preference.PreferenceScreen>
</android.support.v7.preference.PreferenceCategory>
</PreferenceScreen>
</PreferenceCategory>
<android.support.v7.preference.PreferenceCategory android:title="@string/updates">
<PreferenceCategory android:title="@string/updates">
<org.fdroid.fdroid.views.LiveSeekBarPreference
android:key="overWifi"
android:title="@string/over_wifi"
@ -47,7 +42,7 @@
android:title="@string/over_data"
android:defaultValue="@integer/defaultOverData"
android:layout="@layout/preference_seekbar"/>
<SwitchPreference
<SwitchPreferenceCompat
android:title="@string/update_auto_download"
android:summary="@string/update_auto_download_summary"
android:key="updateAutoDownload"/>
@ -56,13 +51,13 @@
android:title="@string/update_interval"
android:defaultValue="@integer/defaultUpdateInterval"
android:layout="@layout/preference_seekbar"/>
<SwitchPreference
<SwitchPreferenceCompat
android:title="@string/notify"
android:defaultValue="true"
android:key="updateNotify"/>
</android.support.v7.preference.PreferenceCategory>
</PreferenceCategory>
<android.support.v7.preference.PreferenceCategory android:title="@string/display"
<PreferenceCategory android:title="@string/display"
android:key="pref_category_display">
<ListPreference
android:title="@string/pref_language"
@ -73,30 +68,30 @@
android:defaultValue="light"
android:entries="@array/themeNames"
android:entryValues="@array/themeValues"/>
</android.support.v7.preference.PreferenceCategory>
</PreferenceCategory>
<android.support.v7.preference.PreferenceCategory android:title="@string/appcompatibility"
<PreferenceCategory android:title="@string/appcompatibility"
android:key="pref_category_appcompatibility">
<SwitchPreference
<SwitchPreferenceCompat
android:title="@string/show_incompat_versions"
android:defaultValue="false"
android:key="incompatibleVersions"/>
<SwitchPreference
<SwitchPreferenceCompat
android:title="@string/show_anti_feature_apps"
android:defaultValue="false"
android:key="showAntiFeatureApps"/>
<SwitchPreference
<SwitchPreferenceCompat
android:title="@string/force_touch_apps"
android:defaultValue="false"
android:key="ignoreTouchscreen"/>
</android.support.v7.preference.PreferenceCategory>
</PreferenceCategory>
<android.support.v7.preference.PreferenceCategory android:title="@string/proxy">
<SwitchPreference
<PreferenceCategory android:title="@string/proxy">
<SwitchPreferenceCompat
android:key="useTor"
android:summary="@string/useTorSummary"
android:title="@string/useTor"/>
<SwitchPreference
<SwitchPreferenceCompat
android:defaultValue="false"
android:key="enableProxy"
android:title="@string/enable_proxy_title"
@ -111,24 +106,24 @@
android:title="@string/proxy_port"
android:summary="@string/proxy_port_summary"
android:dependency="enableProxy"/>
</android.support.v7.preference.PreferenceCategory>
</PreferenceCategory>
<android.support.v7.preference.PreferenceCategory
<PreferenceCategory
android:key="pref_category_privacy"
android:title="@string/privacy">
<SwitchPreference
<SwitchPreferenceCompat
android:key="promptToSendCrashReports"
android:title="@string/prompt_to_send_crash_reports"
android:summary="@string/prompt_to_send_crash_reports_summary"
android:defaultValue="true"/>
<SwitchPreference
<SwitchPreferenceCompat
android:defaultValue="false"
android:key="preventScreenshots"
android:summary="@string/preventScreenshots_summary"
android:title="@string/preventScreenshots_title"/>
</android.support.v7.preference.PreferenceCategory>
</PreferenceCategory>
<android.support.v7.preference.PreferenceCategory
<PreferenceCategory
android:title="@string/other"
android:key="pref_category_other">
<ListPreference
@ -137,7 +132,7 @@
android:defaultValue="86400000"
android:entries="@array/keepCacheNames"
android:entryValues="@array/keepCacheValues"/>
<SwitchPreference
<SwitchPreferenceCompat
android:title="@string/expert"
android:defaultValue="false"
android:key="expert"/>
@ -153,6 +148,12 @@
android:summary="@string/keep_install_history_summary"
android:defaultValue="false"
android:dependency="expert"/>
<CheckBoxPreference
android:key="sendToFdroidMetrics"
android:title="@string/send_to_fdroid_metrics"
android:summary="@string/send_to_fdroid_metrics_summary"
android:defaultValue="false"
android:dependency="expert"/>
<CheckBoxPreference
android:key="hideAllNotifications"
android:title="@string/hide_all_notifications"
@ -177,6 +178,6 @@
android:key="privilegedInstaller"
android:persistent="false"
android:dependency="expert"/>
</android.support.v7.preference.PreferenceCategory>
</PreferenceCategory>
</android.support.v7.preference.PreferenceScreen>
</PreferenceScreen>

View File

@ -1,7 +1,8 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- This file should be outside of release manifest (in this case app/src/mock/Manifest.xml -->
<manifest xmlns:android="http://schemas.android.com/apk/res/android">
<!--required to enable/disable system animations from the app itself during Espresso test runs-->
<uses-permission android:name="android.permission.SET_ANIMATION_SCALE"/>
<uses-permission android:name="android.permission.SET_ANIMATION_SCALE" />
</manifest>

View File

@ -1,4 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
* Copyright (C) 2010-2012 Ciaran Gultnieks
* Copyright (C) 2013-2017 Peter Serwylo
@ -23,131 +24,155 @@
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
-->
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="org.fdroid.fdroid"
android:installLocation="auto">
package="org.fdroid.fdroid"
android:installLocation="auto">
<uses-feature android:name="android.hardware.nfc" android:required="false"/>
<uses-feature android:name="android.hardware.bluetooth" android:required="false"/>
<uses-feature android:name="android.hardware.usb.host" android:required="false"/>
<uses-feature
android:name="android.hardware.nfc"
android:required="false" />
<uses-feature
android:name="android.hardware.bluetooth"
android:required="false" />
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
<uses-permission android:name="android.permission.CHANGE_WIFI_MULTICAST_STATE"/>
<uses-permission android:name="android.permission.CHANGE_NETWORK_STATE"/>
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE"/>
<uses-permission android:name="android.permission.BLUETOOTH"/>
<uses-permission android:name="android.permission.BLUETOOTH_ADMIN"/>
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.WRITE_SETTINGS"/>
<uses-permission android:name="android.permission.NFC"/>
<uses-permission android:name="android.permission.USB_PERMISSION"
android:maxSdkVersion="22"/> <!-- maybe unnecessary -->
<uses-permission android:name="android.permission.WAKE_LOCK"/>
<uses-feature
android:name="android.hardware.usb.host"
android:required="false" />
<uses-permission-sdk-23 android:name="android.permission.ACCESS_COARSE_LOCATION"/>
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.CHANGE_WIFI_MULTICAST_STATE" />
<uses-permission android:name="android.permission.CHANGE_NETWORK_STATE" />
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
<uses-permission android:name="android.permission.BLUETOOTH" />
<uses-permission android:name="android.permission.BLUETOOTH_ADMIN" />
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_SETTINGS" />
<uses-permission android:name="android.permission.NFC" />
<uses-permission
android:name="android.permission.USB_PERMISSION"
android:maxSdkVersion="22" /><!-- maybe unnecessary -->
<uses-permission android:name="android.permission.WAKE_LOCK" />
<uses-permission-sdk-23 android:name="android.permission.ACCESS_COARSE_LOCATION" />
<application>
<activity
android:label="@string/swap"
android:name=".nearby.SwapWorkflowActivity"
android:parentActivityName=".views.main.MainActivity"
android:launchMode="singleTask"
android:theme="@style/SwapTheme.Wizard"
android:screenOrientation="portrait"
android:configChanges="orientation|keyboardHidden">
android:name=".nearby.SwapWorkflowActivity"
android:configChanges="orientation|keyboardHidden"
android:label="@string/swap"
android:launchMode="singleTask"
android:parentActivityName=".views.main.MainActivity"
android:screenOrientation="portrait">
<meta-data
android:name="android.support.PARENT_ACTIVITY"
android:value=".views.main.MainActivity"/>
</activity>
<receiver android:name=".nearby.WifiStateChangeReceiver">
<intent-filter>
<action android:name="android.net.wifi.STATE_CHANGE"/>
</intent-filter>
</receiver>
<receiver android:name=".receiver.DeviceStorageReceiver">
<intent-filter>
<action android:name="android.intent.action.DEVICE_STORAGE_LOW"/>
</intent-filter>
</receiver>
<service
android:name=".nearby.WifiStateChangeService"
android:exported="false"/>
<service android:name=".nearby.SwapService"/>
<service
android:name=".nearby.LocalRepoService"
android:exported="false"/>
<service
android:name=".nearby.TreeUriScannerIntentService"
android:exported="false"/>
<service
android:name=".nearby.SDCardScannerService"
android:exported="false"/>
<activity
android:name=".nearby.UsbDeviceAttachedActivity"
android:noHistory="true">
<intent-filter>
<action android:name="android.hardware.usb.action.USB_DEVICE_ATTACHED"/>
</intent-filter>
<meta-data
android:name="android.hardware.usb.action.USB_DEVICE_ATTACHED"
android:resource="@xml/device_filter"/>
android:name="android.support.PARENT_ACTIVITY"
android:value=".views.main.MainActivity" />
</activity>
<activity
android:name=".panic.PanicPreferencesActivity"
android:label="@string/panic_settings"
android:parentActivityName=".views.main.MainActivity">
<meta-data
android:name="android.support.PARENT_ACTIVITY"
android:value=".views.main.MainActivity"/>
android:name=".panic.PanicPreferencesActivity"
android:label="@string/panic_settings"
android:parentActivityName=".views.main.MainActivity">
<intent-filter>
<action android:name="info.guardianproject.panic.action.CONNECT"/>
<action android:name="info.guardianproject.panic.action.DISCONNECT"/>
<action android:name="info.guardianproject.panic.action.CONNECT" />
<action android:name="info.guardianproject.panic.action.DISCONNECT" />
<category android:name="android.intent.category.DEFAULT"/>
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
<meta-data
android:name="android.support.PARENT_ACTIVITY"
android:value=".views.main.MainActivity" />
</activity>
<activity
android:name=".panic.SelectInstalledAppsActivity"
android:parentActivityName=".panic.PanicPreferencesActivity"/>
<activity
android:name=".panic.PanicResponderActivity"
android:noHistory="true"
android:theme="@android:style/Theme.NoDisplay">
android:name=".panic.SelectInstalledAppsActivity"
android:parentActivityName=".panic.PanicPreferencesActivity" />
<activity
android:name=".panic.PanicResponderActivity"
android:noHistory="true"
android:theme="@android:style/Theme.NoDisplay">
<!-- this can never have launchMode singleTask or singleInstance! -->
<intent-filter>
<action android:name="info.guardianproject.panic.action.TRIGGER"/>
<action android:name="info.guardianproject.panic.action.TRIGGER" />
<category android:name="android.intent.category.DEFAULT"/>
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
<activity
android:name=".panic.ExitActivity"
android:theme="@android:style/Theme.NoDisplay"/>
android:name=".panic.ExitActivity"
android:theme="@android:style/Theme.NoDisplay" />
<activity
android:name=".panic.CalculatorActivity"
android:enabled="false"
android:icon="@mipmap/ic_calculator_launcher"
android:label="@string/hiding_calculator"
android:theme="@style/AppThemeLight">
android:name=".panic.CalculatorActivity"
android:enabled="false"
android:icon="@mipmap/ic_calculator_launcher"
android:label="@string/hiding_calculator">
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER"/>
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<receiver android:name=".nearby.WifiStateChangeReceiver">
<intent-filter>
<action android:name="android.net.wifi.STATE_CHANGE" />
</intent-filter>
</receiver>
<receiver android:name=".receiver.DeviceStorageReceiver">
<intent-filter>
<action android:name="android.intent.action.DEVICE_STORAGE_LOW" />
</intent-filter>
</receiver>
<receiver android:name=".nearby.UsbDeviceAttachedReceiver">
<intent-filter>
<action android:name="android.hardware.usb.action.USB_DEVICE_ATTACHED" />
</intent-filter>
<meta-data
android:name="android.hardware.usb.action.USB_DEVICE_ATTACHED"
android:resource="@xml/device_filter" />
</receiver>
<receiver android:name=".nearby.UsbDeviceDetachedReceiver">
<intent-filter>
<action android:name="android.hardware.usb.action.USB_DEVICE_DETACHED" />
</intent-filter>
<meta-data
android:name="android.hardware.usb.action.USB_DEVICE_DETACHED"
android:resource="@xml/device_filter" />
</receiver>
<receiver android:name=".nearby.UsbDeviceMediaMountedReceiver">
<intent-filter>
<action android:name="android.intent.action.MEDIA_EJECT" />
<action android:name="android.intent.action.MEDIA_REMOVED" />
<action android:name="android.intent.action.MEDIA_MOUNTED" />
<action android:name="android.intent.action.MEDIA_BAD_REMOVAL" />
<data android:scheme="content" />
<data android:scheme="file" />
</intent-filter>
</receiver>
<service
android:name=".nearby.WifiStateChangeService"
android:exported="false" />
<service android:name=".nearby.SwapService" />
<service
android:name=".nearby.LocalRepoService"
android:exported="false" />
<service
android:name=".nearby.TreeUriScannerIntentService"
android:exported="false" />
<service
android:name=".nearby.SDCardScannerService"
android:exported="false" />
</application>

View File

@ -4,12 +4,13 @@ import android.os.Parcel;
import android.os.Parcelable;
import android.text.TextUtils;
import javax.jmdns.ServiceInfo;
import javax.jmdns.impl.util.ByteWrangler;
import java.net.Inet4Address;
import java.net.Inet6Address;
import java.net.UnknownHostException;
import javax.jmdns.ServiceInfo;
import javax.jmdns.impl.util.ByteWrangler;
/**
* The ServiceInfo class needs to be serialized in order to be sent as an Android broadcast.
* In order to make it Parcelable (or Serializable for that matter), there are some package-scope

View File

@ -10,15 +10,17 @@ import android.os.Handler;
import android.os.HandlerThread;
import android.os.Message;
import android.os.Process;
import android.support.v4.content.LocalBroadcastManager;
import android.text.TextUtils;
import android.util.Log;
import org.fdroid.fdroid.R;
import org.fdroid.fdroid.Utils;
import org.fdroid.fdroid.nearby.peers.BluetoothPeer;
import java.lang.ref.WeakReference;
import androidx.localbroadcastmanager.content.LocalBroadcastManager;
/**
* Manage the {@link android.bluetooth.BluetoothAdapter}in a {@link HandlerThread}.
* The start process is in {@link HandlerThread#onLooperPrepared()} so that it is

View File

@ -5,7 +5,7 @@ import android.bluetooth.BluetoothServerSocket;
import android.bluetooth.BluetoothSocket;
import android.util.Log;
import android.webkit.MimeTypeMap;
import fi.iki.elonen.NanoHTTPD;
import org.fdroid.fdroid.Utils;
import org.fdroid.fdroid.nearby.httpish.Request;
import org.fdroid.fdroid.nearby.httpish.Response;
@ -20,6 +20,8 @@ import java.util.HashMap;
import java.util.List;
import java.util.Map;
import fi.iki.elonen.NanoHTTPD;
/**
* Act as a layer on top of LocalHTTPD server, by forwarding requests served
* over bluetooth to that server.

View File

@ -7,23 +7,27 @@ import android.os.Handler;
import android.os.HandlerThread;
import android.os.Message;
import android.os.Process;
import android.support.v4.content.LocalBroadcastManager;
import android.text.TextUtils;
import android.util.Log;
import org.fdroid.fdroid.FDroidApp;
import org.fdroid.fdroid.Preferences;
import org.fdroid.fdroid.Utils;
import org.fdroid.fdroid.nearby.peers.BonjourPeer;
import javax.jmdns.JmDNS;
import javax.jmdns.ServiceEvent;
import javax.jmdns.ServiceInfo;
import javax.jmdns.ServiceListener;
import java.io.IOException;
import java.lang.ref.WeakReference;
import java.net.InetAddress;
import java.util.HashMap;
import javax.jmdns.JmDNS;
import javax.jmdns.ServiceEvent;
import javax.jmdns.ServiceInfo;
import javax.jmdns.ServiceListener;
import androidx.core.content.ContextCompat;
import androidx.localbroadcastmanager.content.LocalBroadcastManager;
/**
* Manage {@link JmDNS} in a {@link HandlerThread}. The start process is in
* {@link HandlerThread#onLooperPrepared()} so that it is always started before
@ -119,8 +123,7 @@ public class BonjourManager {
}
sendBroadcast(STATUS_STARTING, null);
final WifiManager wifiManager = (WifiManager) context.getApplicationContext()
.getSystemService(Context.WIFI_SERVICE);
final WifiManager wifiManager = ContextCompat.getSystemService(context, WifiManager.class);
handlerThread = new HandlerThread("BonjourManager", Process.THREAD_PRIORITY_LESS_FAVORABLE) {
@Override
protected void onLooperPrepared() {

View File

@ -35,11 +35,9 @@ package org.fdroid.fdroid.nearby;
import android.content.Context;
import android.net.Uri;
import fi.iki.elonen.NanoHTTPD;
import fi.iki.elonen.NanoHTTPD.Response.IStatus;
import org.fdroid.fdroid.BuildConfig;
import javax.net.ssl.SSLServerSocketFactory;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
@ -62,6 +60,11 @@ import java.util.Map;
import java.util.StringTokenizer;
import java.util.TimeZone;
import javax.net.ssl.SSLServerSocketFactory;
import fi.iki.elonen.NanoHTTPD;
import fi.iki.elonen.NanoHTTPD.Response.IStatus;
/**
* A HTTP server for serving the files that are being swapped via WiFi, etc.
* The only changes were to remove unneeded extras like {@code main()}, the

View File

@ -6,8 +6,8 @@ import android.os.Handler;
import android.os.HandlerThread;
import android.os.Message;
import android.os.Process;
import android.support.v4.content.LocalBroadcastManager;
import android.util.Log;
import org.fdroid.fdroid.FDroidApp;
import org.fdroid.fdroid.Preferences;
@ -15,6 +15,8 @@ import java.io.IOException;
import java.net.BindException;
import java.util.Random;
import androidx.localbroadcastmanager.content.LocalBroadcastManager;
/**
* Manage {@link LocalHTTPD} in a {@link HandlerThread};
*/

View File

@ -2,7 +2,7 @@ package org.fdroid.fdroid.nearby;
import android.content.Context;
import android.util.Log;
import kellinwood.security.zipsigner.ZipSigner;
import org.bouncycastle.asn1.ASN1Sequence;
import org.bouncycastle.asn1.x500.X500Name;
import org.bouncycastle.asn1.x509.GeneralName;
@ -19,9 +19,6 @@ import org.bouncycastle.operator.jcajce.JcaContentSignerBuilder;
import org.fdroid.fdroid.FDroidApp;
import org.fdroid.fdroid.Utils;
import javax.net.ssl.KeyManager;
import javax.net.ssl.KeyManagerFactory;
import javax.net.ssl.X509KeyManager;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
@ -49,6 +46,12 @@ import java.util.Date;
import java.util.GregorianCalendar;
import java.util.Locale;
import javax.net.ssl.KeyManager;
import javax.net.ssl.KeyManagerFactory;
import javax.net.ssl.X509KeyManager;
import kellinwood.security.zipsigner.ZipSigner;
// TODO Address exception handling in a uniform way throughout
@SuppressWarnings("LineLength")

View File

@ -10,10 +10,9 @@ import android.graphics.Bitmap.Config;
import android.graphics.Canvas;
import android.graphics.drawable.BitmapDrawable;
import android.graphics.drawable.Drawable;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
import android.text.TextUtils;
import android.util.Log;
import org.fdroid.fdroid.FDroidApp;
import org.fdroid.fdroid.Hasher;
import org.fdroid.fdroid.IndexUpdater;
@ -50,13 +49,15 @@ import java.util.concurrent.ConcurrentHashMap;
import java.util.jar.JarEntry;
import java.util.jar.JarOutputStream;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
/**
* The {@link SwapService} deals with managing the entire workflow from selecting apps to
* swap, to invoking this class to prepare the webroot, to enabling various communication protocols.
* This class deals specifically with the webroot side of things, ensuring we have a valid index.jar
* and the relevant .apk and icon files available.
*/
@SuppressWarnings("LineLength")
public final class LocalRepoManager {
private static final String TAG = "LocalRepoManager";
@ -65,7 +66,7 @@ public final class LocalRepoManager {
private final AssetManager assetManager;
private final String fdroidPackageName;
private static final String[] WEB_ROOT_ASSET_FILES = {
public static final String[] WEB_ROOT_ASSET_FILES = {
"swap-icon.png",
"swap-tick-done.png",
"swap-tick-not-done.png",
@ -124,7 +125,7 @@ public final class LocalRepoManager {
private String writeFdroidApkToWebroot() {
ApplicationInfo appInfo;
String fdroidClientURL = "https://f-droid.org/FDroid.apk";
String fdroidClientURL = "https://f-droid.org/F-Droid.apk";
try {
appInfo = pm.getApplicationInfo(fdroidPackageName, PackageManager.GET_META_DATA);
@ -348,7 +349,8 @@ public final class LocalRepoManager {
serializer = XmlPullParserFactory.newInstance().newSerializer();
}
public void build(Context context, Map<String, App> apps, OutputStream output) throws IOException, LocalRepoKeyStore.InitException {
public void build(Context context, Map<String, App> apps, OutputStream output)
throws IOException, LocalRepoKeyStore.InitException {
serializer.setOutput(output, "UTF-8");
serializer.startDocument(null, null);
serializer.startTag("", "fdroid");
@ -356,12 +358,14 @@ public final class LocalRepoManager {
// <repo> block
serializer.startTag("", "repo");
serializer.attribute("", "icon", "blah.png");
serializer.attribute("", "name", Preferences.get().getLocalRepoName() + " on " + FDroidApp.ipAddressString);
serializer.attribute("", "name", Preferences.get().getLocalRepoName()
+ " on " + FDroidApp.ipAddressString);
serializer.attribute("", "pubkey", Hasher.hex(LocalRepoKeyStore.get(context).getCertificate()));
long timestamp = System.currentTimeMillis() / 1000L;
serializer.attribute("", "timestamp", String.valueOf(timestamp));
serializer.attribute("", "version", "10");
tag("description", "A local FDroid repo generated from apps installed on " + Preferences.get().getLocalRepoName());
tag("description", "A local FDroid repo generated from apps installed on "
+ Preferences.get().getLocalRepoName());
serializer.endTag("", "repo");
// <application> blocks
@ -414,7 +418,7 @@ public final class LocalRepoManager {
tag("lastupdated", app.lastUpdated);
tag("name", app.name);
tag("summary", app.summary);
tag("icon", app.icon);
tag("icon", app.iconFromApk);
tag("desc", app.description);
tag("license", "Unknown");
tag("categories", "LocalRepo," + Preferences.get().getLocalRepoName());

View File

@ -4,7 +4,7 @@ import android.app.IntentService;
import android.content.Context;
import android.content.Intent;
import android.os.Process;
import android.support.v4.content.LocalBroadcastManager;
import org.fdroid.fdroid.FDroidApp;
import org.fdroid.fdroid.R;
import org.fdroid.fdroid.Utils;
@ -15,6 +15,8 @@ import java.util.Arrays;
import java.util.Collections;
import java.util.Set;
import androidx.localbroadcastmanager.content.LocalBroadcastManager;
/**
* Handles setting up and generating the local repo used to swap apps, including
* the {@code index.jar}, the symlinks to the shared APKs, etc.

View File

@ -28,11 +28,10 @@ import android.net.Uri;
import android.os.Build;
import android.os.Environment;
import android.os.Process;
import android.support.v4.content.ContextCompat;
import android.util.Log;
import org.fdroid.fdroid.IndexUpdater;
import org.fdroid.fdroid.IndexV1Updater;
import org.fdroid.fdroid.Preferences;
import org.fdroid.fdroid.Utils;
import java.io.File;
@ -45,6 +44,8 @@ import java.util.Collections;
import java.util.HashSet;
import java.util.List;
import androidx.core.content.ContextCompat;
/**
* An {@link IntentService} subclass for scanning removable "external storage"
* for F-Droid package repos, e.g. SD Cards. This is intended to support
@ -55,7 +56,7 @@ import java.util.List;
* "External Storage"
* <p>
* Scanning the removable storage requires that the user allowed it. This
* requires both the {@link Preferences#isScanRemovableStorageEnabled()}
* requires both the {@link org.fdroid.fdroid.Preferences#isScanRemovableStorageEnabled()}
* and the {@link android.Manifest.permission#READ_EXTERNAL_STORAGE}
* permission to be enabled.
*
@ -75,11 +76,9 @@ public class SDCardScannerService extends IntentService {
}
public static void scan(Context context) {
if (Preferences.get().isScanRemovableStorageEnabled()) {
Intent intent = new Intent(context, SDCardScannerService.class);
intent.setAction(ACTION_SCAN);
context.startService(intent);
}
Intent intent = new Intent(context, SDCardScannerService.class);
intent.setAction(ACTION_SCAN);
context.startService(intent);
}
@Override

View File

@ -4,16 +4,9 @@ import android.annotation.TargetApi;
import android.content.Context;
import android.content.pm.PackageManager;
import android.database.Cursor;
import android.graphics.PorterDuff;
import android.graphics.drawable.Drawable;
import android.net.Uri;
import android.os.Bundle;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
import android.support.v4.app.LoaderManager;
import android.support.v4.content.CursorLoader;
import android.support.v4.content.Loader;
import android.support.v4.widget.CursorAdapter;
import android.text.TextUtils;
import android.util.AttributeSet;
import android.view.ContextThemeWrapper;
@ -26,10 +19,19 @@ import android.widget.CompoundButton;
import android.widget.ImageView;
import android.widget.ListView;
import android.widget.TextView;
import org.fdroid.fdroid.R;
import org.fdroid.fdroid.data.InstalledAppProvider;
import org.fdroid.fdroid.data.Schema.InstalledAppTable;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.core.content.ContextCompat;
import androidx.cursoradapter.widget.CursorAdapter;
import androidx.loader.app.LoaderManager;
import androidx.loader.content.CursorLoader;
import androidx.loader.content.Loader;
public class SelectAppsView extends SwapView implements LoaderManager.LoaderCallbacks<Cursor> {
public SelectAppsView(Context context) {
@ -138,14 +140,14 @@ public class SelectAppsView extends SwapView implements LoaderManager.LoaderCall
private LayoutInflater getInflater(Context context) {
if (inflater == null) {
Context themedContext = new ContextThemeWrapper(context, R.style.SwapTheme_AppList_ListItem);
inflater = (LayoutInflater) themedContext.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
inflater = ContextCompat.getSystemService(themedContext, LayoutInflater.class);
}
return inflater;
}
private Drawable getDefaultAppIcon(Context context) {
if (defaultAppIcon == null) {
defaultAppIcon = context.getResources().getDrawable(android.R.drawable.sym_def_app_icon);
defaultAppIcon = ContextCompat.getDrawable(context, android.R.drawable.sym_def_app_icon);
}
return defaultAppIcon;
}
@ -197,8 +199,6 @@ public class SelectAppsView extends SwapView implements LoaderManager.LoaderCall
}
});
}
updateCheckedIndicatorView(view, listView.isItemChecked(listPosition));
}
public void updateCheckedIndicatorView(int position, boolean checked) {
@ -207,26 +207,7 @@ public class SelectAppsView extends SwapView implements LoaderManager.LoaderCall
if (position >= firstListItemPosition && position <= lastListItemPosition) {
final int childIndex = position - firstListItemPosition;
updateCheckedIndicatorView(listView.getChildAt(childIndex), checked);
}
}
private void updateCheckedIndicatorView(View view, boolean checked) {
ImageView imageView = (ImageView) view.findViewById(R.id.checked);
if (imageView != null) {
int resource;
int colour;
if (checked) {
resource = R.drawable.ic_check_circle_white;
colour = getResources().getColor(R.color.swap_bright_blue);
} else {
resource = R.drawable.ic_add_circle_outline_white;
colour = 0xFFD0D0D4;
}
imageView.setImageDrawable(getResources().getDrawable(resource));
imageView.setColorFilter(colour, PorterDuff.Mode.MULTIPLY);
}
}
}
}

View File

@ -7,9 +7,6 @@ import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
import android.net.wifi.WifiConfiguration;
import android.support.annotation.Nullable;
import android.support.v4.content.LocalBroadcastManager;
import android.support.v7.widget.SwitchCompat;
import android.text.TextUtils;
import android.util.AttributeSet;
import android.view.LayoutInflater;
@ -22,7 +19,7 @@ import android.widget.ImageView;
import android.widget.ListView;
import android.widget.ProgressBar;
import android.widget.TextView;
import cc.mvdan.accesspoint.WifiApControl;
import org.fdroid.fdroid.FDroidApp;
import org.fdroid.fdroid.R;
import org.fdroid.fdroid.Utils;
@ -30,6 +27,12 @@ import org.fdroid.fdroid.nearby.peers.Peer;
import java.util.ArrayList;
import androidx.annotation.Nullable;
import com.google.android.material.switchmaterial.SwitchMaterial;
import androidx.core.content.ContextCompat;
import androidx.localbroadcastmanager.content.LocalBroadcastManager;
import cc.mvdan.accesspoint.WifiApControl;
@SuppressWarnings("LineLength")
public class StartSwapView extends SwapView {
private static final String TAG = "StartSwapView";
@ -67,7 +70,7 @@ public class StartSwapView extends SwapView {
Peer peer = getItem(position);
((TextView) convertView.findViewById(R.id.peer_name)).setText(peer.getName());
((ImageView) convertView.findViewById(R.id.icon))
.setImageDrawable(getResources().getDrawable(peer.getIcon()));
.setImageDrawable(ContextCompat.getDrawable(getContext(), peer.getIcon()));
return convertView;
}
@ -76,7 +79,7 @@ public class StartSwapView extends SwapView {
@Nullable /* Emulators typically don't have bluetooth adapters */
private final BluetoothAdapter bluetooth = BluetoothAdapter.getDefaultAdapter();
private SwitchCompat bluetoothSwitch;
private SwitchMaterial bluetoothSwitch;
private TextView viewBluetoothId;
private TextView textBluetoothVisible;
private TextView viewWifiId;
@ -172,7 +175,7 @@ public class StartSwapView extends SwapView {
textBluetoothVisible = findViewById(R.id.bluetooth_visible);
bluetoothSwitch = (SwitchCompat) findViewById(R.id.switch_bluetooth);
bluetoothSwitch = (SwitchMaterial) findViewById(R.id.switch_bluetooth);
bluetoothSwitch.setOnCheckedChangeListener(onBluetoothSwitchToggled);
bluetoothSwitch.setChecked(SwapService.getBluetoothVisibleUserPreference());
bluetoothSwitch.setEnabled(true);
@ -223,7 +226,13 @@ public class StartSwapView extends SwapView {
if (textWifiVisible != null) {
textWifiVisible.setText(R.string.swap_visible_hotspot);
}
viewWifiNetwork.setText(getContext().getString(R.string.swap_active_hotspot, config.SSID));
Context context = getContext();
if (config == null) {
viewWifiNetwork.setText(context.getString(R.string.swap_active_hotspot,
context.getString(R.string.swap_blank_wifi_ssid)));
} else {
viewWifiNetwork.setText(context.getString(R.string.swap_active_hotspot, config.SSID));
}
} else if (TextUtils.isEmpty(FDroidApp.ssid)) {
// not connected to or setup with any wifi network
viewWifiNetwork.setText(R.string.swap_no_wifi_network);

View File

@ -1,6 +1,5 @@
package org.fdroid.fdroid.nearby;
import android.annotation.SuppressLint;
import android.app.Notification;
import android.app.PendingIntent;
import android.app.Service;
@ -13,17 +12,19 @@ import android.content.IntentFilter;
import android.content.SharedPreferences;
import android.net.Uri;
import android.net.wifi.WifiManager;
import android.os.AsyncTask;
import android.os.Build;
import android.os.IBinder;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
import android.support.v4.app.NotificationCompat;
import android.support.v4.content.LocalBroadcastManager;
import android.text.TextUtils;
import android.util.Log;
import cc.mvdan.accesspoint.WifiApControl;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.core.app.NotificationCompat;
import androidx.core.app.ServiceCompat;
import androidx.core.content.ContextCompat;
import androidx.localbroadcastmanager.content.LocalBroadcastManager;
import org.fdroid.fdroid.FDroidApp;
import org.fdroid.fdroid.NotificationHelper;
import org.fdroid.fdroid.Preferences;
import org.fdroid.fdroid.R;
import org.fdroid.fdroid.UpdateService;
@ -34,7 +35,6 @@ import org.fdroid.fdroid.data.Schema;
import org.fdroid.fdroid.nearby.peers.Peer;
import org.fdroid.fdroid.net.Downloader;
import java.io.IOException;
import java.io.OutputStream;
import java.io.OutputStreamWriter;
import java.net.HttpURLConnection;
@ -45,6 +45,12 @@ import java.util.Set;
import java.util.Timer;
import java.util.TimerTask;
import cc.mvdan.accesspoint.WifiApControl;
import io.reactivex.rxjava3.android.schedulers.AndroidSchedulers;
import io.reactivex.rxjava3.core.Completable;
import io.reactivex.rxjava3.disposables.CompositeDisposable;
import io.reactivex.rxjava3.schedulers.Schedulers;
/**
* Central service which manages all of the different moving parts of swap which are required
* to enable p2p swapping of apps.
@ -72,15 +78,6 @@ public class SwapService extends Service {
private static WifiManager wifiManager;
private static Timer pollConnectedSwapRepoTimer;
public static void start(Context context) {
Intent intent = new Intent(context, SwapService.class);
if (Build.VERSION.SDK_INT < 26) {
context.startService(intent);
} else {
context.startForegroundService(intent);
}
}
public static void stop(Context context) {
Intent intent = new Intent(context, SwapService.class);
context.stopService(intent);
@ -114,46 +111,6 @@ public class SwapService extends Service {
UpdateService.updateRepoNow(this, peer.getRepoAddress());
}
@SuppressLint("StaticFieldLeak")
private void askServerToSwapWithUs(final Repo repo) {
new AsyncTask<Void, Void, Void>() {
@Override
protected Void doInBackground(Void... args) {
String swapBackUri = Utils.getLocalRepoUri(FDroidApp.repo).toString();
HttpURLConnection conn = null;
try {
URL url = new URL(repo.address.replace("/fdroid/repo", "/request-swap"));
conn = (HttpURLConnection) url.openConnection();
conn.setRequestMethod("POST");
conn.setDoInput(true);
conn.setDoOutput(true);
OutputStream outputStream = conn.getOutputStream();
OutputStreamWriter writer = new OutputStreamWriter(outputStream);
writer.write("repo=" + swapBackUri);
writer.flush();
writer.close();
outputStream.close();
int responseCode = conn.getResponseCode();
Utils.debugLog(TAG, "Asking server at " + repo.address + " to swap with us in return (by " +
"POSTing to \"/request-swap\" with repo \"" + swapBackUri + "\"): " + responseCode);
} catch (IOException e) {
Log.e(TAG, "Error while asking server to swap with us", e);
Intent intent = new Intent(Downloader.ACTION_INTERRUPTED);
intent.setData(Uri.parse(repo.address));
intent.putExtra(Downloader.EXTRA_ERROR_MESSAGE, e.getLocalizedMessage());
LocalBroadcastManager.getInstance(getApplicationContext()).sendBroadcast(intent);
} finally {
if (conn != null) {
conn.disconnect();
}
}
return null;
}
}.execute();
}
private Repo ensureRepoExists(@NonNull Peer peer) {
// TODO: newRepoConfig.getParsedUri() will include a fingerprint, which may not match with
// the repos address in the database. Not sure on best behaviour in this situation.
@ -347,12 +304,15 @@ public class SwapService extends Service {
@Nullable
private Timer timer;
private final CompositeDisposable compositeDisposable = new CompositeDisposable();
public class Binder extends android.os.Binder {
public SwapService getService() {
return SwapService.this;
}
}
@Override
public void onCreate() {
super.onCreate();
startForeground(NOTIFICATION, createNotification());
@ -371,7 +331,7 @@ public class SwapService extends Service {
new IntentFilter(BluetoothAdapter.ACTION_SCAN_MODE_CHANGED));
}
wifiManager = (WifiManager) getApplicationContext().getSystemService(Context.WIFI_SERVICE);
wifiManager = ContextCompat.getSystemService(getApplicationContext(), WifiManager.class);
if (wifiManager != null) {
SwapService.putWifiEnabledBeforeSwap(wifiManager.isWifiEnabled());
}
@ -402,6 +362,45 @@ public class SwapService extends Service {
BonjourManager.setVisible(this, getWifiVisibleUserPreference() || getHotspotActivatedUserPreference());
}
private void askServerToSwapWithUs(final Repo repo) {
compositeDisposable.add(
Completable.fromAction(() -> {
String swapBackUri = Utils.getLocalRepoUri(FDroidApp.repo).toString();
HttpURLConnection conn = null;
try {
URL url = new URL(repo.address.replace("/fdroid/repo", "/request-swap"));
conn = (HttpURLConnection) url.openConnection();
conn.setRequestMethod("POST");
conn.setDoInput(true);
conn.setDoOutput(true);
try (OutputStream outputStream = conn.getOutputStream();
OutputStreamWriter writer = new OutputStreamWriter(outputStream)) {
writer.write("repo=" + swapBackUri);
writer.flush();
}
int responseCode = conn.getResponseCode();
Utils.debugLog(TAG, "Asking server at " + repo.address + " to swap with us in return (by " +
"POSTing to \"/request-swap\" with repo \"" + swapBackUri + "\"): " + responseCode);
} finally {
if (conn != null) {
conn.disconnect();
}
}
})
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.doOnError(e -> {
Intent intent = new Intent(Downloader.ACTION_INTERRUPTED);
intent.setData(Uri.parse(repo.address));
intent.putExtra(Downloader.EXTRA_ERROR_MESSAGE, e.getLocalizedMessage());
LocalBroadcastManager.getInstance(getApplicationContext()).sendBroadcast(intent);
})
.subscribe()
);
}
/**
* This is for setting things up for when the {@code SwapService} was
* started by the user clicking on the initial start button. The things
@ -425,6 +424,8 @@ public class SwapService extends Service {
@Override
public void onDestroy() {
compositeDisposable.dispose();
Utils.debugLog(TAG, "Destroying service, will disable swapping if required, and unregister listeners.");
Preferences.get().unregisterLocalRepoHttpsListeners(httpsEnabledListener);
localBroadcastManager.unregisterReceiver(onWifiChange);
@ -433,7 +434,9 @@ public class SwapService extends Service {
localBroadcastManager.unregisterReceiver(bonjourPeerFound);
localBroadcastManager.unregisterReceiver(bonjourPeerRemoved);
unregisterReceiver(bluetoothScanModeChanged);
if (bluetoothAdapter != null) {
unregisterReceiver(bluetoothScanModeChanged);
}
BluetoothManager.stop(this);
@ -457,7 +460,7 @@ public class SwapService extends Service {
if (timer != null) {
timer.cancel();
}
stopForeground(true);
ServiceCompat.stopForeground(this, ServiceCompat.STOP_FOREGROUND_REMOVE);
deleteAllSwapRepos();
@ -468,7 +471,7 @@ public class SwapService extends Service {
Intent intent = new Intent(this, SwapWorkflowActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_SINGLE_TOP);
PendingIntent contentIntent = PendingIntent.getActivity(this, 0, intent, PendingIntent.FLAG_CANCEL_CURRENT);
return new NotificationCompat.Builder(this)
return new NotificationCompat.Builder(this, NotificationHelper.CHANNEL_SWAPS)
.setContentTitle(getText(R.string.local_repo_running))
.setContentText(getText(R.string.touch_to_configure_local_repo))
.setSmallIcon(R.drawable.ic_nearby)

View File

@ -1,7 +1,6 @@
package org.fdroid.fdroid.nearby;
import android.annotation.TargetApi;
import android.app.Activity;
import android.app.PendingIntent;
import android.content.BroadcastReceiver;
import android.content.Context;
@ -12,13 +11,6 @@ import android.database.Cursor;
import android.net.Uri;
import android.os.Bundle;
import android.os.Handler;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
import android.support.v4.app.LoaderManager;
import android.support.v4.content.CursorLoader;
import android.support.v4.content.Loader;
import android.support.v4.content.LocalBroadcastManager;
import android.support.v4.widget.CursorAdapter;
import android.text.TextUtils;
import android.util.AttributeSet;
import android.util.Log;
@ -31,7 +23,9 @@ import android.widget.ListView;
import android.widget.ProgressBar;
import android.widget.TextView;
import android.widget.Toast;
import com.nostra13.universalimageloader.core.ImageLoader;
import org.fdroid.fdroid.R;
import org.fdroid.fdroid.UpdateService;
import org.fdroid.fdroid.Utils;
@ -48,6 +42,16 @@ import org.fdroid.fdroid.net.DownloaderService;
import java.util.List;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.appcompat.app.AppCompatActivity;
import androidx.core.content.ContextCompat;
import androidx.cursoradapter.widget.CursorAdapter;
import androidx.loader.app.LoaderManager;
import androidx.loader.content.CursorLoader;
import androidx.loader.content.Loader;
import androidx.localbroadcastmanager.content.LocalBroadcastManager;
/**
* This is a view that shows a listing of all apps in the swap repo that this
* just connected to. The app listing and search should be replaced by
@ -194,7 +198,7 @@ public class SwapSuccessView extends SwapView implements LoaderManager.LoaderCal
private final ContentObserver appObserver = new ContentObserver(new Handler()) {
@Override
public void onChange(boolean selfChange) {
Activity activity = getActivity();
AppCompatActivity activity = getActivity();
if (activity != null && app != null) {
app = AppProvider.Helper.findSpecificApp(
activity.getContentResolver(),
@ -309,7 +313,7 @@ public class SwapSuccessView extends SwapView implements LoaderManager.LoaderCal
nameView.setText(app.name);
}
ImageLoader.getInstance().displayImage(app.iconUrl, iconView, Utils.getRepoAppDisplayImageOptions());
ImageLoader.getInstance().displayImage(app.getIconUrl(iconView.getContext()), iconView, Utils.getRepoAppDisplayImageOptions());
if (app.hasUpdates()) {
btnInstall.setText(R.string.menu_upgrade);
@ -361,7 +365,7 @@ public class SwapSuccessView extends SwapView implements LoaderManager.LoaderCal
@NonNull
private LayoutInflater getInflater(Context context) {
if (inflater == null) {
inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
inflater = ContextCompat.getSystemService(context, LayoutInflater.class);
}
return inflater;
}

View File

@ -3,12 +3,15 @@ package org.fdroid.fdroid.nearby;
import android.annotation.TargetApi;
import android.content.Context;
import android.content.res.TypedArray;
import android.support.annotation.ColorInt;
import android.support.annotation.LayoutRes;
import android.util.AttributeSet;
import android.widget.RelativeLayout;
import org.fdroid.fdroid.R;
import androidx.annotation.ColorInt;
import androidx.annotation.LayoutRes;
import androidx.core.content.ContextCompat;
/**
* A {@link android.view.View} that registers to handle the swap events from
* {@link SwapService}.
@ -32,8 +35,19 @@ public class SwapView extends RelativeLayout {
this(context, attrs, 0);
}
/**
* In order to support Android < 21, this calls {@code super} rather than
* {@code this}. {@link RelativeLayout}'s methods just use a 0 for the
* fourth argument, just like this used to.
*/
public SwapView(Context context, AttributeSet attrs, int defStyleAttr) {
this(context, attrs, defStyleAttr, 0);
super(context, attrs, defStyleAttr);
final TypedArray a = context.obtainStyledAttributes(
attrs, R.styleable.SwapView, 0, 0);
toolbarColor = a.getColor(R.styleable.SwapView_toolbarColor,
ContextCompat.getColor(context, R.color.swap_blue));
toolbarTitle = a.getString(R.styleable.SwapView_toolbarTitle);
a.recycle();
}
@TargetApi(21)
@ -42,7 +56,7 @@ public class SwapView extends RelativeLayout {
final TypedArray a = context.obtainStyledAttributes(
attrs, R.styleable.SwapView, 0, 0);
toolbarColor = a.getColor(R.styleable.SwapView_toolbarColor,
getResources().getColor(R.color.swap_blue));
ContextCompat.getColor(context, R.color.swap_blue));
toolbarTitle = a.getString(R.styleable.SwapView_toolbarTitle);
a.recycle();
}

View File

@ -1,7 +1,6 @@
package org.fdroid.fdroid.nearby;
import android.annotation.TargetApi;
import android.app.Activity;
import android.bluetooth.BluetoothAdapter;
import android.content.BroadcastReceiver;
import android.content.ComponentName;
@ -17,17 +16,6 @@ import android.os.Build;
import android.os.Bundle;
import android.os.IBinder;
import android.provider.Settings;
import android.support.annotation.LayoutRes;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
import android.support.annotation.StringRes;
import android.support.v4.content.LocalBroadcastManager;
import android.support.v4.view.MenuItemCompat;
import android.support.v7.app.AlertDialog;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.SearchView;
import android.support.v7.widget.SwitchCompat;
import android.support.v7.widget.Toolbar;
import android.text.TextUtils;
import android.util.Log;
import android.view.LayoutInflater;
@ -45,9 +33,22 @@ import android.widget.ListView;
import android.widget.ProgressBar;
import android.widget.TextView;
import android.widget.Toast;
import cc.mvdan.accesspoint.WifiApControl;
import androidx.annotation.LayoutRes;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.annotation.StringRes;
import androidx.appcompat.app.AlertDialog;
import androidx.appcompat.app.AppCompatActivity;
import androidx.appcompat.widget.SearchView;
import androidx.core.content.ContextCompat;
import androidx.localbroadcastmanager.content.LocalBroadcastManager;
import com.google.android.material.appbar.MaterialToolbar;
import com.google.android.material.switchmaterial.SwitchMaterial;
import com.google.zxing.integration.android.IntentIntegrator;
import com.google.zxing.integration.android.IntentResult;
import org.fdroid.fdroid.BuildConfig;
import org.fdroid.fdroid.FDroidApp;
import org.fdroid.fdroid.NfcHelper;
@ -64,7 +65,6 @@ import org.fdroid.fdroid.net.BluetoothDownloader;
import org.fdroid.fdroid.net.Downloader;
import org.fdroid.fdroid.net.HttpDownloader;
import org.fdroid.fdroid.qr.CameraCharacteristicsChecker;
import org.fdroid.fdroid.qr.QrGenAsyncTask;
import org.fdroid.fdroid.views.main.MainActivity;
import java.util.Date;
@ -75,6 +75,9 @@ import java.util.Set;
import java.util.Timer;
import java.util.TimerTask;
import cc.mvdan.accesspoint.WifiApControl;
import io.reactivex.rxjava3.disposables.CompositeDisposable;
import static org.fdroid.fdroid.views.main.MainActivity.ACTION_REQUEST_SWAP;
/**
@ -103,7 +106,7 @@ public class SwapWorkflowActivity extends AppCompatActivity {
private static final int REQUEST_WRITE_SETTINGS_PERMISSION = 5;
private static final int STEP_INTRO = 1; // TODO remove this special case, only use layoutResIds
private Toolbar toolbar;
private MaterialToolbar toolbar;
private SwapView currentView;
private boolean hasPreparedLocalRepo;
private boolean newIntent;
@ -116,6 +119,8 @@ public class SwapWorkflowActivity extends AppCompatActivity {
@LayoutRes
private int currentSwapViewLayoutRes = STEP_INTRO;
private final CompositeDisposable compositeDisposable = new CompositeDisposable();
public static void requestSwap(Context context, String repo) {
requestSwap(context, Uri.parse(repo));
}
@ -197,7 +202,11 @@ public class SwapWorkflowActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
((FDroidApp) getApplication()).setSecureWindow(this);
FDroidApp fdroidApp = (FDroidApp) getApplication();
fdroidApp.setSecureWindow(this);
fdroidApp.applyPureBlackBackgroundInDarkTheme(this);
super.onCreate(savedInstanceState);
currentView = new SwapView(this); // dummy placeholder to avoid NullPointerExceptions;
@ -210,8 +219,7 @@ public class SwapWorkflowActivity extends AppCompatActivity {
setContentView(R.layout.swap_activity);
toolbar = (Toolbar) findViewById(R.id.toolbar);
toolbar.setTitleTextAppearance(getApplicationContext(), R.style.SwapTheme_Wizard_Text_Toolbar);
toolbar = findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
container = (ViewGroup) findViewById(R.id.container);
@ -220,7 +228,7 @@ public class SwapWorkflowActivity extends AppCompatActivity {
localBroadcastManager.registerReceiver(downloaderInterruptedReceiver,
new IntentFilter(Downloader.ACTION_INTERRUPTED));
wifiManager = (WifiManager) getApplicationContext().getSystemService(Context.WIFI_SERVICE);
wifiManager = ContextCompat.getSystemService(getApplicationContext(), WifiManager.class);
wifiApControl = WifiApControl.getInstance(this);
bluetoothAdapter = BluetoothAdapter.getDefaultAdapter();
@ -230,6 +238,7 @@ public class SwapWorkflowActivity extends AppCompatActivity {
@Override
protected void onDestroy() {
compositeDisposable.dispose();
localBroadcastManager.unregisterReceiver(downloaderInterruptedReceiver);
unbindService(serviceConnection);
super.onDestroy();
@ -268,8 +277,7 @@ public class SwapWorkflowActivity extends AppCompatActivity {
CharSequence title = getString(titleResId);
next.setTitle(title);
next.setTitleCondensed(title);
MenuItemCompat.setShowAsAction(next,
MenuItemCompat.SHOW_AS_ACTION_ALWAYS | MenuItemCompat.SHOW_AS_ACTION_WITH_TEXT);
next.setShowAsAction(MenuItem.SHOW_AS_ACTION_ALWAYS | MenuItem.SHOW_AS_ACTION_WITH_TEXT);
next.setOnMenuItemClickListener(new MenuItem.OnMenuItemClickListener() {
@Override
public boolean onMenuItemClick(MenuItem item) {
@ -298,8 +306,8 @@ public class SwapWorkflowActivity extends AppCompatActivity {
SearchView searchView = new SearchView(this);
MenuItem searchMenuItem = menu.findItem(R.id.action_search);
MenuItemCompat.setActionView(searchMenuItem, searchView);
MenuItemCompat.setShowAsAction(searchMenuItem, MenuItemCompat.SHOW_AS_ACTION_IF_ROOM);
searchMenuItem.setActionView(searchView);
searchMenuItem.setShowAsAction(MenuItem.SHOW_AS_ACTION_IF_ROOM);
searchView.setOnQueryTextListener(new SearchView.OnQueryTextListener() {
@ -485,14 +493,13 @@ public class SwapWorkflowActivity extends AppCompatActivity {
getSwapService().initTimer();
container.removeAllViews();
View view = ((LayoutInflater) getSystemService(LAYOUT_INFLATER_SERVICE)).inflate(viewRes, container, false);
View view = ContextCompat.getSystemService(this, LayoutInflater.class)
.inflate(viewRes, container, false);
currentView = (SwapView) view;
currentView.setLayoutResId(viewRes);
currentSwapViewLayoutRes = viewRes;
toolbar.setBackgroundColor(currentView.getToolbarColour());
toolbar.setTitle(currentView.getToolbarTitle());
toolbar.setNavigationIcon(R.drawable.ic_close_white_24dp);
toolbar.setNavigationOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
@ -590,7 +597,7 @@ public class SwapWorkflowActivity extends AppCompatActivity {
}
private void sendFDroidApk() {
((FDroidApp) getApplication()).sendViaBluetooth(this, Activity.RESULT_OK, BuildConfig.APPLICATION_ID);
((FDroidApp) getApplication()).sendViaBluetooth(this, AppCompatActivity.RESULT_OK, BuildConfig.APPLICATION_ID);
}
/**
@ -692,6 +699,7 @@ public class SwapWorkflowActivity extends AppCompatActivity {
@Override
public void onActivityResult(int requestCode, int resultCode, Intent intent) {
super.onActivityResult(requestCode, resultCode, intent);
IntentResult scanResult = IntentIntegrator.parseActivityResult(requestCode, resultCode, intent);
if (scanResult != null) {
if (scanResult.getContents() != null) {
@ -771,7 +779,7 @@ public class SwapWorkflowActivity extends AppCompatActivity {
private final BroadcastReceiver bluetoothScanModeChanged = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
SwitchCompat bluetoothSwitch = container.findViewById(R.id.switch_bluetooth);
SwitchMaterial bluetoothSwitch = container.findViewById(R.id.switch_bluetooth);
TextView textBluetoothVisible = container.findViewById(R.id.bluetooth_visible);
if (bluetoothSwitch == null || textBluetoothVisible == null
|| !BluetoothManager.ACTION_STATUS.equals(intent.getAction())) {
@ -925,17 +933,23 @@ public class SwapWorkflowActivity extends AppCompatActivity {
ImageView qrImage = container.findViewById(R.id.wifi_qr_code);
if (qrUriString != null && qrImage != null) {
Utils.debugLog(TAG, "Encoded swap URI in QR Code: " + qrUriString);
new QrGenAsyncTask(SwapWorkflowActivity.this, R.id.wifi_qr_code).execute(qrUriString);
// Replace all blacks with the background blue.
qrImage.setColorFilter(new LightingColorFilter(0xffffffff, getResources().getColor(R.color.swap_blue)));
compositeDisposable.add(Utils.generateQrBitmap(this, qrUriString)
.subscribe(qrBitmap -> {
qrImage.setImageBitmap(qrBitmap);
final View qrWarningMessage = container.findViewById(R.id.warning_qr_scanner);
if (CameraCharacteristicsChecker.getInstance(this).hasAutofocus()) {
qrWarningMessage.setVisibility(View.GONE);
} else {
qrWarningMessage.setVisibility(View.VISIBLE);
}
// Replace all blacks with the background blue.
qrImage.setColorFilter(new LightingColorFilter(0xffffffff,
ContextCompat.getColor(this, R.color.swap_blue)));
final View qrWarningMessage = container.findViewById(R.id.warning_qr_scanner);
if (CameraCharacteristicsChecker.getInstance(this).hasAutofocus()) {
qrWarningMessage.setVisibility(View.GONE);
} else {
qrWarningMessage.setVisibility(View.VISIBLE);
}
})
);
}
}
@ -954,19 +968,19 @@ public class SwapWorkflowActivity extends AppCompatActivity {
if (TextUtils.isEmpty(FDroidApp.bssid) && !TextUtils.isEmpty(FDroidApp.ipAddressString)) {
// empty bssid with an ipAddress means hotspot mode
descriptionView.setText(R.string.swap_join_this_hotspot);
wifiIcon.setImageDrawable(getResources().getDrawable(R.drawable.hotspot));
wifiIcon.setImageDrawable(ContextCompat.getDrawable(this, R.drawable.ic_wifi_tethering));
ssidView.setText(R.string.swap_active_hotspot);
tapView.setText(R.string.swap_switch_to_wifi);
} else if (TextUtils.isEmpty(FDroidApp.ssid)) {
// not connected to or setup with any wifi network
descriptionView.setText(R.string.swap_join_same_wifi);
wifiIcon.setImageDrawable(getResources().getDrawable(R.drawable.wifi));
wifiIcon.setImageDrawable(ContextCompat.getDrawable(this, R.drawable.ic_wifi));
ssidView.setText(R.string.swap_no_wifi_network);
tapView.setText(R.string.swap_view_available_networks);
} else {
// connected to a regular wifi network
descriptionView.setText(R.string.swap_join_same_wifi);
wifiIcon.setImageDrawable(getResources().getDrawable(R.drawable.wifi));
wifiIcon.setImageDrawable(ContextCompat.getDrawable(this, R.drawable.ic_wifi));
ssidView.setText(FDroidApp.ssid);
tapView.setText(R.string.swap_view_available_networks);
}
@ -982,7 +996,7 @@ public class SwapWorkflowActivity extends AppCompatActivity {
}
});
SwitchCompat wifiSwitch = findViewById(R.id.switch_wifi);
SwitchMaterial wifiSwitch = findViewById(R.id.switch_wifi);
wifiSwitch.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
@ -1106,7 +1120,7 @@ public class SwapWorkflowActivity extends AppCompatActivity {
private final BroadcastReceiver bluetoothStatus = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
SwitchCompat bluetoothSwitch = container.findViewById(R.id.switch_bluetooth);
SwitchMaterial bluetoothSwitch = container.findViewById(R.id.switch_bluetooth);
TextView textBluetoothVisible = container.findViewById(R.id.bluetooth_visible);
TextView textDeviceIdBluetooth = container.findViewById(R.id.device_id_bluetooth);
TextView peopleNearbyText = container.findViewById(R.id.text_people_nearby);

View File

@ -20,7 +20,6 @@
package org.fdroid.fdroid.nearby;
import android.annotation.TargetApi;
import android.app.Activity;
import android.app.IntentService;
import android.content.ContentResolver;
import android.content.Context;
@ -28,15 +27,14 @@ import android.content.Intent;
import android.net.Uri;
import android.os.Build;
import android.os.Process;
import android.support.v4.provider.DocumentFile;
import android.util.Log;
import android.widget.Toast;
import org.apache.commons.io.FileUtils;
import org.apache.commons.io.IOUtils;
import org.fdroid.fdroid.AddRepoIntentService;
import org.fdroid.fdroid.IndexUpdater;
import org.fdroid.fdroid.IndexV1Updater;
import org.fdroid.fdroid.Preferences;
import org.fdroid.fdroid.R;
import org.fdroid.fdroid.Utils;
import org.fdroid.fdroid.data.Repo;
@ -51,6 +49,8 @@ import java.util.jar.JarEntry;
import java.util.jar.JarFile;
import java.util.jar.JarInputStream;
import androidx.documentfile.provider.DocumentFile;
/**
* An {@link IntentService} subclass for handling asynchronous scanning of a
* removable storage device like an SD Card or USB OTG thumb drive using the
@ -76,18 +76,21 @@ public class TreeUriScannerIntentService extends IntentService {
public static final String TAG = "TreeUriScannerIntentSer";
private static final String ACTION_SCAN_TREE_URI = "org.fdroid.fdroid.nearby.action.SCAN_TREE_URI";
/**
* @see <a href="https://android.googlesource.com/platform/frameworks/base/+/android-10.0.0_r38/core/java/android/provider/DocumentsContract.java#238">DocumentsContract.EXTERNAL_STORAGE_PROVIDER_AUTHORITY</a>
* @see <a href="https://android.googlesource.com/platform/frameworks/base/+/android-10.0.0_r38/packages/ExternalStorageProvider/src/com/android/externalstorage/ExternalStorageProvider.java#70">ExternalStorageProvider.AUTHORITY</a>
*/
public static final String EXTERNAL_STORAGE_PROVIDER_AUTHORITY = "com.android.externalstorage.documents";
public TreeUriScannerIntentService() {
super("TreeUriScannerIntentService");
}
public static void scan(Context context, Uri data) {
if (Preferences.get().isScanRemovableStorageEnabled()) {
Intent intent = new Intent(context, TreeUriScannerIntentService.class);
intent.setAction(ACTION_SCAN_TREE_URI);
intent.setData(data);
context.startService(intent);
}
Intent intent = new Intent(context, TreeUriScannerIntentService.class);
intent.setAction(ACTION_SCAN_TREE_URI);
intent.setData(data);
context.startService(intent);
}
/**
@ -95,17 +98,20 @@ public class TreeUriScannerIntentService extends IntentService {
* {@link TreeUriScannerIntentService} or whether it is External Storage
* like an SD Card that can be directly accessed via the file system.
*/
public static void onActivityResult(Activity activity, Intent intent) {
public static void onActivityResult(Context context, Intent intent) {
if (intent == null) {
return;
}
Uri uri = intent.getData();
if (uri != null) {
if (Build.VERSION.SDK_INT >= 19) {
ContentResolver contentResolver = activity.getContentResolver();
ContentResolver contentResolver = context.getContentResolver();
int perms = Intent.FLAG_GRANT_READ_URI_PERMISSION | Intent.FLAG_GRANT_WRITE_URI_PERMISSION;
contentResolver.takePersistableUriPermission(uri, perms);
}
String msg = String.format(activity.getString(R.string.swap_toast_using_path), uri.toString());
Toast.makeText(activity, msg, Toast.LENGTH_SHORT).show();
scan(activity, uri);
String msg = String.format(context.getString(R.string.swap_toast_using_path), uri.toString());
Toast.makeText(context, msg, Toast.LENGTH_SHORT).show();
scan(context, uri);
}
}

View File

@ -7,12 +7,14 @@ import android.net.Uri;
import android.os.Build;
import android.os.storage.StorageManager;
import android.provider.DocumentsContract;
import android.support.annotation.Nullable;
import java.io.File;
import java.lang.reflect.Array;
import java.lang.reflect.Method;
import androidx.annotation.Nullable;
import androidx.core.content.ContextCompat;
/**
* @see <a href="https://stackoverflow.com/a/36162691">Android 5.0 DocumentFile from tree URI</a>
@ -47,8 +49,7 @@ public final class TreeUriUtils {
private static String getVolumePath(final String volumeId, Context context) {
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.LOLLIPOP) return null;
try {
StorageManager mStorageManager =
(StorageManager) context.getSystemService(Context.STORAGE_SERVICE);
StorageManager mStorageManager = ContextCompat.getSystemService(context, StorageManager.class);
Class<?> storageVolumeClazz = Class.forName("android.os.storage.StorageVolume");
Method getVolumeList = mStorageManager.getClass().getMethod("getVolumeList");
Method getUuid = storageVolumeClazz.getMethod("getUuid");

View File

@ -19,72 +19,47 @@
package org.fdroid.fdroid.nearby;
import android.app.Activity;
import android.content.BroadcastReceiver;
import android.content.ComponentName;
import android.content.ContentResolver;
import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
import android.content.UriPermission;
import android.database.ContentObserver;
import android.hardware.usb.UsbManager;
import android.net.Uri;
import android.os.Build;
import android.os.Bundle;
import android.os.Handler;
import android.support.annotation.Nullable;
import android.support.annotation.RequiresApi;
import android.text.TextUtils;
import android.util.Log;
import org.fdroid.fdroid.views.main.MainActivity;
import org.fdroid.fdroid.views.main.NearbyViewBinder;
import java.util.HashMap;
import androidx.annotation.RequiresApi;
/**
* This is just a shim to receive {@link UsbManager#ACTION_USB_ACCESSORY_ATTACHED}
* events then open up the right screen in {@link MainActivity}.
* events.
*/
public class UsbDeviceAttachedActivity extends Activity {
public static final String TAG = "UsbDeviceAttachedActivi";
public class UsbDeviceAttachedReceiver extends BroadcastReceiver {
public static final String TAG = "UsbDeviceAttachedReceiv";
private static final HashMap<Uri, ContentObserver> contentObservers = new HashMap<>();
@RequiresApi(api = 19)
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
public void onReceive(final Context context, Intent intent) {
if (Build.VERSION.SDK_INT < 19) {
finish();
return;
}
Intent intent = getIntent();
if (intent == null || TextUtils.isEmpty(intent.getAction())
|| !UsbManager.ACTION_USB_DEVICE_ATTACHED.equals(intent.getAction())) {
Log.i(TAG, "ignoring irrelevant intent: " + intent);
finish();
return;
}
Log.i(TAG, "handling intent: " + intent);
final ContentResolver contentResolver = getContentResolver();
BroadcastReceiver receiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
if (!UsbManager.ACTION_USB_DEVICE_DETACHED.equals(intent.getAction())) {
return;
}
NearbyViewBinder.updateUsbOtg(UsbDeviceAttachedActivity.this);
unregisterReceiver(this);
for (ContentObserver contentObserver : contentObservers.values()) {
contentResolver.unregisterContentObserver(contentObserver);
}
}
};
registerReceiver(receiver, new IntentFilter(UsbManager.ACTION_USB_DEVICE_DETACHED));
final ContentResolver contentResolver = context.getContentResolver();
for (final UriPermission uriPermission : contentResolver.getPersistedUriPermissions()) {
Uri uri = uriPermission.getUri();
@ -92,21 +67,11 @@ public class UsbDeviceAttachedActivity extends Activity {
@Override
public void onChange(boolean selfChange, Uri uri) {
NearbyViewBinder.updateUsbOtg(UsbDeviceAttachedActivity.this);
NearbyViewBinder.updateUsbOtg(context);
}
};
contentResolver.registerContentObserver(uri, true, contentObserver);
UsbDeviceDetachedReceiver.contentObservers.put(uri, contentObserver);
}
intent.setComponent(new ComponentName(this, MainActivity.class));
intent.putExtra(MainActivity.EXTRA_VIEW_NEARBY, true);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK);
startActivity(intent);
finish();
}
@Override
public void finish() {
setResult(RESULT_OK);
super.finish();
}
}

View File

@ -0,0 +1,68 @@
/*
* Copyright (C) 2018-2019 Hans-Christoph Steiner <hans@eds.org>
*
* This program is free software; you can redistribute it 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.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
* MA 02110-1301, USA.
*/
package org.fdroid.fdroid.nearby;
import android.content.BroadcastReceiver;
import android.content.ContentResolver;
import android.content.Context;
import android.content.Intent;
import android.database.ContentObserver;
import android.hardware.usb.UsbManager;
import android.net.Uri;
import android.os.Build;
import android.text.TextUtils;
import android.util.Log;
import org.fdroid.fdroid.views.main.NearbyViewBinder;
import java.util.HashMap;
import androidx.annotation.RequiresApi;
/**
* This is just a shim to receive {@link UsbManager#ACTION_USB_DEVICE_DETACHED}
* events.
*/
public class UsbDeviceDetachedReceiver extends BroadcastReceiver {
public static final String TAG = "UsbDeviceDetachedReceiv";
static final HashMap<Uri, ContentObserver> contentObservers = new HashMap<>();
@RequiresApi(api = 19)
@Override
public void onReceive(Context context, Intent intent) {
if (Build.VERSION.SDK_INT < 19) {
return;
}
if (intent == null || TextUtils.isEmpty(intent.getAction())
|| !UsbManager.ACTION_USB_DEVICE_DETACHED.equals(intent.getAction())) {
Log.i(TAG, "ignoring irrelevant intent: " + intent);
return;
}
Log.i(TAG, "handling intent: " + intent);
final ContentResolver contentResolver = context.getContentResolver();
NearbyViewBinder.updateUsbOtg(context);
for (ContentObserver contentObserver : contentObservers.values()) {
contentResolver.unregisterContentObserver(contentObserver);
}
}
}

View File

@ -0,0 +1,24 @@
package org.fdroid.fdroid.nearby;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.os.Environment;
import org.fdroid.fdroid.views.main.NearbyViewBinder;
public class UsbDeviceMediaMountedReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
if (intent == null || intent.getAction() == null) {
return;
}
String action = intent.getAction();
if (Environment.MEDIA_BAD_REMOVAL.equals(action)
|| Environment.MEDIA_MOUNTED.equals(action)
|| Environment.MEDIA_REMOVED.equals(action)
|| Environment.MEDIA_EJECTING.equals(action)) {
NearbyViewBinder.updateUsbOtg(context);
}
}
}

View File

@ -4,6 +4,7 @@ import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.net.wifi.WifiManager;
import org.fdroid.fdroid.Utils;
public class WifiStateChangeReceiver extends BroadcastReceiver {

View File

@ -10,11 +10,13 @@ import android.net.wifi.WifiConfiguration;
import android.net.wifi.WifiInfo;
import android.net.wifi.WifiManager;
import android.os.Build;
import android.support.annotation.Nullable;
import android.support.v4.content.LocalBroadcastManager;
import android.text.TextUtils;
import android.util.Log;
import cc.mvdan.accesspoint.WifiApControl;
import androidx.annotation.Nullable;
import androidx.core.content.ContextCompat;
import androidx.localbroadcastmanager.content.LocalBroadcastManager;
import org.apache.commons.net.util.SubnetUtils;
import org.fdroid.fdroid.BuildConfig;
import org.fdroid.fdroid.FDroidApp;
@ -33,6 +35,9 @@ import java.security.cert.Certificate;
import java.util.Enumeration;
import java.util.Locale;
import cc.mvdan.accesspoint.WifiApControl;
import io.reactivex.rxjava3.disposables.CompositeDisposable;
/**
* Handle state changes to the device's wifi, storing the required bits.
* The {@link Intent} that starts it either has no extras included,
@ -67,6 +72,8 @@ public class WifiStateChangeService extends IntentService {
private static int previousWifiState = Integer.MIN_VALUE;
private static int wifiState;
private final CompositeDisposable compositeDisposable = new CompositeDisposable();
public WifiStateChangeService() {
super("WifiStateChangeService");
}
@ -79,6 +86,12 @@ public class WifiStateChangeService extends IntentService {
context.startService(intent);
}
@Override
public void onDestroy() {
compositeDisposable.dispose();
super.onDestroy();
}
@Override
protected void onHandleIntent(Intent intent) {
android.os.Process.setThreadPriority(android.os.Process.THREAD_PRIORITY_LOWEST);
@ -88,7 +101,7 @@ public class WifiStateChangeService extends IntentService {
}
Utils.debugLog(TAG, "WiFi change service started.");
NetworkInfo ni = intent.getParcelableExtra(WifiManager.EXTRA_NETWORK_INFO);
wifiManager = (WifiManager) getApplicationContext().getSystemService(WIFI_SERVICE);
wifiManager = ContextCompat.getSystemService(getApplicationContext(), WifiManager.class);
wifiState = wifiManager.getWifiState();
Utils.debugLog(TAG, "ni == " + ni + " wifiState == " + printWifiState(wifiState));
if (ni == null
@ -106,7 +119,7 @@ public class WifiStateChangeService extends IntentService {
}
if (Build.VERSION.SDK_INT < 21 && wifiState == WifiManager.WIFI_STATE_ENABLED) {
UpdateService.scheduleIfStillOnWifi(this);
compositeDisposable.add(UpdateService.scheduleIfStillOnWifi(this).subscribe());
}
}
}
@ -257,7 +270,11 @@ public class WifiStateChangeService extends IntentService {
Utils.debugLog(TAG, "WifiConfiguration: " + wifiConfiguration);
if (wifiConfiguration == null) {
FDroidApp.ssid = getString(R.string.swap_active_hotspot, "");
} else if (wifiConfiguration.hiddenSSID) {
FDroidApp.bssid = "";
return;
}
if (wifiConfiguration.hiddenSSID) {
FDroidApp.ssid = getString(R.string.swap_hidden_wifi_ssid);
} else {
FDroidApp.ssid = wifiConfiguration.SSID;

View File

@ -3,10 +3,12 @@ package org.fdroid.fdroid.nearby.peers;
import android.bluetooth.BluetoothClass.Device;
import android.bluetooth.BluetoothDevice;
import android.os.Parcel;
import android.support.annotation.Nullable;
import android.text.TextUtils;
import org.fdroid.fdroid.R;
import androidx.annotation.Nullable;
public class BluetoothPeer implements Peer {
private static final String BLUETOOTH_NAME_TAG = "FDroid:";
@ -44,7 +46,7 @@ public class BluetoothPeer implements Peer {
@Override
public int getIcon() {
return R.drawable.ic_bluetooth_white;
return R.drawable.ic_bluetooth;
}
@Override

View File

@ -2,13 +2,15 @@ package org.fdroid.fdroid.nearby.peers;
import android.net.Uri;
import android.os.Parcel;
import android.support.annotation.Nullable;
import android.text.TextUtils;
import org.fdroid.fdroid.FDroidApp;
import javax.jmdns.ServiceInfo;
import javax.jmdns.impl.FDroidServiceInfo;
import androidx.annotation.Nullable;
public class BonjourPeer extends WifiPeer {
private static final String TAG = "BonjourPeer";

View File

@ -1,7 +1,8 @@
package org.fdroid.fdroid.nearby.peers;
import android.os.Parcelable;
import android.support.annotation.DrawableRes;
import androidx.annotation.DrawableRes;
/**
* TODO This model assumes that "peers" from Bluetooth, Bonjour, and WiFi are

View File

@ -3,6 +3,7 @@ package org.fdroid.fdroid.nearby.peers;
import android.net.Uri;
import android.os.Parcel;
import android.text.TextUtils;
import org.fdroid.fdroid.R;
import org.fdroid.fdroid.data.NewRepoConfig;
@ -62,7 +63,7 @@ public class WifiPeer implements Peer {
@Override
public int getIcon() {
return R.drawable.ic_network_wifi_white;
return R.drawable.ic_wifi;
}
@Override

View File

@ -1,17 +1,21 @@
package org.fdroid.fdroid.panic;
import android.os.Bundle;
import android.support.annotation.Nullable;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.Toolbar;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
import android.widget.Toast;
import com.google.android.material.appbar.MaterialToolbar;
import org.fdroid.fdroid.FDroidApp;
import org.fdroid.fdroid.R;
import java.util.regex.Pattern;
import androidx.annotation.Nullable;
import androidx.appcompat.app.AppCompatActivity;
/**
* A very hacky calculator which is barely functional.
* It is just meant to pass a very casual inspection.
@ -35,10 +39,13 @@ public class CalculatorActivity extends AppCompatActivity {
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
FDroidApp fdroidApp = (FDroidApp) getApplication();
fdroidApp.applyPureBlackBackgroundInDarkTheme(this);
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_calculator);
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
MaterialToolbar toolbar = findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
textView = (TextView) findViewById(R.id.textView);

View File

@ -1,13 +1,15 @@
package org.fdroid.fdroid.panic;
import android.content.Context;
import android.content.res.Resources;
import android.support.v7.preference.CheckBoxPreference;
import android.support.v7.preference.PreferenceViewHolder;
import android.util.AttributeSet;
import org.fdroid.fdroid.FDroidApp;
import org.fdroid.fdroid.R;
import androidx.core.content.ContextCompat;
import androidx.preference.CheckBoxPreference;
import androidx.preference.PreferenceViewHolder;
public class DestructiveCheckBoxPreference extends CheckBoxPreference {
public DestructiveCheckBoxPreference(Context context, AttributeSet attrs, int defStyleAttr) {
super(context, attrs, defStyleAttr);
@ -31,11 +33,10 @@ public class DestructiveCheckBoxPreference extends CheckBoxPreference {
if (!holder.itemView.isEnabled()) {
return;
}
Resources resources = getContext().getResources();
if (FDroidApp.isAppThemeLight()) {
holder.itemView.setBackgroundColor(resources.getColor(R.color.panic_destructive_light));
holder.itemView.setBackgroundColor(ContextCompat.getColor(getContext(), R.color.panic_destructive_light));
} else {
holder.itemView.setBackgroundColor(resources.getColor(R.color.panic_destructive_dark));
holder.itemView.setBackgroundColor(ContextCompat.getColor(getContext(), R.color.panic_destructive_dark));
}
}
}

View File

@ -1,12 +1,15 @@
package org.fdroid.fdroid.panic;
import android.content.Context;
import android.support.v7.preference.Preference;
import android.support.v7.preference.PreferenceViewHolder;
import android.util.AttributeSet;
import org.fdroid.fdroid.FDroidApp;
import org.fdroid.fdroid.R;
import androidx.core.content.ContextCompat;
import androidx.preference.Preference;
import androidx.preference.PreferenceViewHolder;
public class DestructivePreference extends Preference {
public DestructivePreference(Context context, AttributeSet attrs, int defStyleAttr) {
super(context, attrs, defStyleAttr);
@ -28,9 +31,9 @@ public class DestructivePreference extends Preference {
public void onBindViewHolder(PreferenceViewHolder holder) {
super.onBindViewHolder(holder);
if (FDroidApp.isAppThemeLight()) {
holder.itemView.setBackgroundColor(getContext().getResources().getColor(R.color.panic_destructive_light));
holder.itemView.setBackgroundColor(ContextCompat.getColor(getContext(), R.color.panic_destructive_light));
} else {
holder.itemView.setBackgroundColor(getContext().getResources().getColor(R.color.panic_destructive_dark));
holder.itemView.setBackgroundColor(ContextCompat.getColor(getContext(), R.color.panic_destructive_dark));
}
}
}

View File

@ -3,7 +3,8 @@ package org.fdroid.fdroid.panic;
import android.content.Intent;
import android.os.Build;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import androidx.appcompat.app.AppCompatActivity;
public class ExitActivity extends AppCompatActivity {

View File

@ -7,12 +7,14 @@ import android.content.Intent;
import android.content.pm.PackageInfo;
import android.content.pm.PackageManager;
import android.content.pm.ServiceInfo;
import android.support.v4.app.NotificationManagerCompat;
import android.support.v7.app.AlertDialog;
import org.fdroid.fdroid.BuildConfig;
import org.fdroid.fdroid.R;
import org.fdroid.fdroid.views.main.MainActivity;
import androidx.appcompat.app.AlertDialog;
import androidx.core.app.NotificationManagerCompat;
/**
* This class is encapsulating all methods related to hiding the app from the launcher
* and restoring it.

View File

@ -1,37 +1,32 @@
package org.fdroid.fdroid.panic;
import android.os.Bundle;
import android.support.v7.app.ActionBar;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.Toolbar;
import android.view.MenuItem;
import android.view.View;
import com.google.android.material.appbar.MaterialToolbar;
import org.fdroid.fdroid.FDroidApp;
import org.fdroid.fdroid.R;
import androidx.appcompat.app.AppCompatActivity;
public class PanicPreferencesActivity extends AppCompatActivity {
@Override
public void onCreate(Bundle bundle) {
((FDroidApp) getApplication()).applyTheme(this);
FDroidApp fdroidApp = (FDroidApp) getApplication();
fdroidApp.applyPureBlackBackgroundInDarkTheme(this);
super.onCreate(bundle);
setContentView(R.layout.activity_panic_settings);
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
ActionBar ab = getSupportActionBar();
if (ab != null) {
ab.setDisplayShowHomeEnabled(true);
ab.setDisplayHomeAsUpEnabled(true);
}
MaterialToolbar toolbar = findViewById(R.id.toolbar);
toolbar.setNavigationOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
// Handle navigation icon press
onBackPressed();
}
});
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
if (item.getItemId() == android.R.id.home) {
onBackPressed();
return true;
}
return super.onOptionsItemSelected(item);
}
}

View File

@ -1,6 +1,5 @@
package org.fdroid.fdroid.panic;
import android.app.Activity;
import android.content.ComponentName;
import android.content.DialogInterface;
import android.content.Intent;
@ -13,19 +12,9 @@ import android.graphics.PorterDuff;
import android.graphics.drawable.Drawable;
import android.net.Uri;
import android.os.Bundle;
import android.support.annotation.ColorInt;
import android.support.annotation.Nullable;
import android.support.v14.preference.PreferenceFragment;
import android.support.v4.content.ContextCompat;
import android.support.v7.app.AlertDialog;
import android.support.v7.preference.CheckBoxPreference;
import android.support.v7.preference.ListPreference;
import android.support.v7.preference.Preference;
import android.support.v7.preference.PreferenceCategory;
import android.text.TextUtils;
import android.util.TypedValue;
import info.guardianproject.panic.Panic;
import info.guardianproject.panic.PanicResponder;
import org.fdroid.fdroid.Preferences;
import org.fdroid.fdroid.R;
import org.fdroid.fdroid.installer.PrivilegedInstaller;
@ -33,7 +22,20 @@ import org.fdroid.fdroid.installer.PrivilegedInstaller;
import java.util.ArrayList;
import java.util.Set;
public class PanicPreferencesFragment extends PreferenceFragment
import androidx.annotation.ColorInt;
import androidx.annotation.Nullable;
import androidx.appcompat.app.AlertDialog;
import androidx.appcompat.app.AppCompatActivity;
import androidx.core.content.ContextCompat;
import androidx.preference.CheckBoxPreference;
import androidx.preference.ListPreference;
import androidx.preference.Preference;
import androidx.preference.PreferenceCategory;
import androidx.preference.PreferenceFragmentCompat;
import info.guardianproject.panic.Panic;
import info.guardianproject.panic.PanicResponder;
public class PanicPreferencesFragment extends PreferenceFragmentCompat
implements SharedPreferences.OnSharedPreferenceChangeListener {
private static final String PREF_APP = "pref_panic_app";
@ -80,7 +82,7 @@ public class PanicPreferencesFragment extends PreferenceFragment
prefHide.setEnabled(false);
prefResetRepos.setChecked(false);
prefResetRepos.setEnabled(false);
getActivity().setResult(Activity.RESULT_CANCELED);
getActivity().setResult(AppCompatActivity.RESULT_CANCELED);
} else {
prefHide.setEnabled(true);
prefResetRepos.setEnabled(true);
@ -129,9 +131,9 @@ public class PanicPreferencesFragment extends PreferenceFragment
}
}
} else {
Preference preference = new Preference(getActivity());
Preference preference = new Preference(requireActivity());
preference.setIntent(intent);
Drawable icon = getResources().getDrawable(R.drawable.ic_add_circle_outline_white);
Drawable icon = ContextCompat.getDrawable(requireContext(), R.drawable.ic_add_circle_outline);
icon.setColorFilter(new LightingColorFilter(0, getResources().getColor(R.color.swap_light_grey_icon)));
preference.setSingleLineTitle(true);
preference.setTitle(R.string.panic_add_apps_to_uninstall);
@ -232,13 +234,13 @@ public class PanicPreferencesFragment extends PreferenceFragment
public void onClick(DialogInterface dialogInterface, int i) {
PanicResponder.setTriggerPackageName(getActivity());
showPanicApp(PanicResponder.getTriggerPackageName(getActivity()));
getActivity().setResult(Activity.RESULT_OK);
getActivity().setResult(AppCompatActivity.RESULT_OK);
}
};
DialogInterface.OnClickListener cancelListener = new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
getActivity().setResult(Activity.RESULT_CANCELED);
getActivity().setResult(AppCompatActivity.RESULT_CANCELED);
getActivity().finish();
}
};

View File

@ -1,17 +1,13 @@
package org.fdroid.fdroid.panic;
import android.app.Activity;
import android.content.BroadcastReceiver;
import android.content.ContentValues;
import android.content.Context;
import android.content.Intent;
import android.os.Build;
import android.os.Bundle;
import android.support.v4.content.LocalBroadcastManager;
import android.support.v7.app.AppCompatActivity;
import android.util.Log;
import info.guardianproject.panic.Panic;
import info.guardianproject.panic.PanicResponder;
import org.fdroid.fdroid.Preferences;
import org.fdroid.fdroid.data.Apk;
import org.fdroid.fdroid.data.DBHelper;
@ -31,16 +27,21 @@ import java.util.List;
import java.util.concurrent.CountDownLatch;
import java.util.concurrent.TimeUnit;
import androidx.appcompat.app.AppCompatActivity;
import androidx.localbroadcastmanager.content.LocalBroadcastManager;
import info.guardianproject.panic.Panic;
import info.guardianproject.panic.PanicResponder;
/**
* This {@link Activity} is purely to run events in response to a panic trigger.
* It needs to be an {@code Activity} rather than a {@link android.app.Service}
* This {@link AppCompatActivity} is purely to run events in response to a panic trigger.
* It needs to be an {@code AppCompatActivity} rather than a {@link android.app.Service}
* so that it can fetch some of the required information about what sent the
* {@link Intent}. This is therefore an {@code Activity} without any UI, which
* {@link Intent}. This is therefore an {@code AppCompatActivity} without any UI, which
* is a special case in Android. All the code must be in
* {@link #onCreate(Bundle)} and {@link #finish()} must be called at the end of
* that method.
*
* @see PanicResponder#receivedTriggerFromConnectedApp(Activity)
* @see PanicResponder#receivedTriggerFromConnectedApp(AppCompatActivity)
*/
public class PanicResponderActivity extends AppCompatActivity {

View File

@ -1,9 +1,8 @@
package org.fdroid.fdroid.panic;
import android.app.Activity;
import android.support.annotation.NonNull;
import android.view.View;
import android.view.ViewGroup;
import org.fdroid.fdroid.Preferences;
import org.fdroid.fdroid.R;
import org.fdroid.fdroid.views.installed.InstalledAppListAdapter;
@ -11,10 +10,13 @@ import org.fdroid.fdroid.views.installed.InstalledAppListItemController;
import java.util.Set;
import androidx.annotation.NonNull;
import androidx.appcompat.app.AppCompatActivity;
public class SelectInstalledAppListAdapter extends InstalledAppListAdapter {
private final Set<String> selectedApps;
SelectInstalledAppListAdapter(Activity activity) {
SelectInstalledAppListAdapter(AppCompatActivity activity) {
super(activity);
Preferences prefs = Preferences.get();
selectedApps = prefs.getPanicWipeSet();

View File

@ -1,9 +1,7 @@
package org.fdroid.fdroid.panic;
import android.app.Activity;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
import android.view.View;
import org.fdroid.fdroid.AppUpdateStatusManager;
import org.fdroid.fdroid.data.App;
import org.fdroid.fdroid.views.apps.AppListItemState;
@ -11,6 +9,10 @@ import org.fdroid.fdroid.views.installed.InstalledAppListItemController;
import java.util.Set;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.appcompat.app.AppCompatActivity;
/**
* Shows the currently installed apps as a selectable list.
*/
@ -18,7 +20,7 @@ public class SelectInstalledAppListItemController extends InstalledAppListItemCo
private final Set<String> selectedApps;
public SelectInstalledAppListItemController(Activity activity, View itemView, Set<String> selectedApps) {
public SelectInstalledAppListItemController(AppCompatActivity activity, View itemView, Set<String> selectedApps) {
super(activity, itemView);
this.selectedApps = selectedApps;
}

View File

@ -20,29 +20,29 @@
package org.fdroid.fdroid.panic;
import android.annotation.SuppressLint;
import android.content.res.Resources;
import android.database.Cursor;
import android.graphics.LightingColorFilter;
import android.graphics.drawable.Drawable;
import android.os.Bundle;
import android.support.annotation.NonNull;
import android.support.v4.app.LoaderManager;
import android.support.v4.content.CursorLoader;
import android.support.v4.content.Loader;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.LinearLayoutManager;
import android.support.v7.widget.RecyclerView;
import android.support.v7.widget.Toolbar;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.TextView;
import com.google.android.material.appbar.MaterialToolbar;
import org.fdroid.fdroid.FDroidApp;
import org.fdroid.fdroid.Preferences;
import org.fdroid.fdroid.R;
import org.fdroid.fdroid.data.InstalledAppProvider;
import org.fdroid.fdroid.views.installed.InstalledAppListAdapter;
import androidx.annotation.NonNull;
import androidx.appcompat.app.AppCompatActivity;
import androidx.loader.app.LoaderManager;
import androidx.loader.content.CursorLoader;
import androidx.loader.content.Loader;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
public class SelectInstalledAppsActivity extends AppCompatActivity implements LoaderManager.LoaderCallbacks<Cursor> {
private InstalledAppListAdapter adapter;
@ -54,13 +54,14 @@ public class SelectInstalledAppsActivity extends AppCompatActivity implements Lo
@Override
protected void onCreate(Bundle savedInstanceState) {
FDroidApp fdroidApp = (FDroidApp) getApplication();
fdroidApp.applyPureBlackBackgroundInDarkTheme(this);
((FDroidApp) getApplication()).applyTheme(this);
super.onCreate(savedInstanceState);
setContentView(R.layout.installed_apps_layout);
Toolbar toolbar = findViewById(R.id.toolbar);
MaterialToolbar toolbar = findViewById(R.id.toolbar);
toolbar.setTitle(getString(R.string.panic_add_apps_to_uninstall));
setSupportActionBar(toolbar);
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
@ -115,14 +116,7 @@ public class SelectInstalledAppsActivity extends AppCompatActivity implements Lo
MenuItem menuItem = menu.add(R.string.menu_select_for_wipe);
menuItem.setShowAsAction(MenuItem.SHOW_AS_ACTION_ALWAYS);
checkId = menuItem.getItemId();
if (FDroidApp.isAppThemeLight()) {
Resources resources = getResources();
Drawable icon = resources.getDrawable(R.drawable.check);
icon.setColorFilter(new LightingColorFilter(0xffffffff, resources.getColor(android.R.color.white)));
menuItem.setIcon(icon);
} else {
menuItem.setIcon(R.drawable.check);
}
menuItem.setIcon(R.drawable.check);
return true;
}

View File

@ -3,40 +3,44 @@ package org.fdroid.fdroid.views.main;
import android.content.Intent;
import android.database.Cursor;
import android.os.Bundle;
import android.support.design.widget.FloatingActionButton;
import android.support.v4.app.LoaderManager;
import android.support.v4.content.CursorLoader;
import android.support.v4.content.Loader;
import android.support.v4.widget.SwipeRefreshLayout;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.LinearLayoutManager;
import android.support.v7.widget.RecyclerView;
import android.view.View;
import android.widget.FrameLayout;
import android.widget.TextView;
import com.google.android.material.floatingactionbutton.FloatingActionButton;
import org.fdroid.fdroid.Preferences;
import org.fdroid.fdroid.R;
import org.fdroid.fdroid.UpdateService;
import org.fdroid.fdroid.Utils;
import org.fdroid.fdroid.data.CategoryProvider;
import org.fdroid.fdroid.data.Schema;
import org.fdroid.fdroid.panic.HidingManager;
import org.fdroid.fdroid.views.apps.AppListActivity;
import org.fdroid.fdroid.views.categories.CategoryAdapter;
import org.fdroid.fdroid.views.categories.CategoryController;
import org.fdroid.fdroid.panic.HidingManager;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;
import androidx.annotation.NonNull;
import androidx.appcompat.app.AppCompatActivity;
import androidx.loader.app.LoaderManager;
import androidx.loader.content.CursorLoader;
import androidx.loader.content.Loader;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
import androidx.swiperefreshlayout.widget.SwipeRefreshLayout;
/**
* Responsible for ensuring that the categories view is inflated and then populated correctly.
* Will start a loader to get the list of categories from the database and populate a recycler
* view with relevant info about each.
*/
class CategoriesViewBinder implements LoaderManager.LoaderCallbacks<Cursor> {
public static final String TAG = "CategoriesViewBinder";
private static final int LOADER_ID = 429820532;
@ -92,10 +96,11 @@ class CategoriesViewBinder implements LoaderManager.LoaderCallbacks<Cursor> {
activity.getSupportLoaderManager().restartLoader(LOADER_ID, null, this);
}
@NonNull
@Override
public Loader<Cursor> onCreateLoader(int id, Bundle args) {
if (id != LOADER_ID) {
return null;
throw new IllegalArgumentException("id != LOADER_ID");
}
return new CursorLoader(
@ -110,7 +115,7 @@ class CategoriesViewBinder implements LoaderManager.LoaderCallbacks<Cursor> {
/**
* Reads all categories from the cursor and stores them in memory to provide to the {@link CategoryAdapter}.
*
* <p>
* It does this so it is easier to deal with localized/unlocalized categories without having
* to store the localized version in the database. It is not expected that the list of categories
* will grow so large as to make this a performance concern. If it does in the future, the

View File

@ -1,14 +1,16 @@
package org.fdroid.fdroid.views.main;
import android.support.annotation.Nullable;
import android.support.v4.app.Fragment;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.RecyclerView;
import android.widget.FrameLayout;
import org.fdroid.fdroid.R;
import org.fdroid.fdroid.views.PreferencesFragment;
import org.fdroid.fdroid.views.updates.UpdatesViewBinder;
import androidx.annotation.Nullable;
import androidx.appcompat.app.AppCompatActivity;
import androidx.fragment.app.Fragment;
import androidx.recyclerview.widget.RecyclerView;
/**
* Decides which view on the main screen to attach to a given {@link FrameLayout}. This class
* doesn't know which view it will be rendering at the time it is constructed. Rather, at some
@ -30,10 +32,10 @@ class MainViewController extends RecyclerView.ViewHolder {
}
/**
* @see WhatsNewViewBinder
* @see LatestViewBinder
*/
public void bindWhatsNewView() {
new WhatsNewViewBinder(activity, frame);
public void bindLatestView() {
new LatestViewBinder(activity, frame);
}
/**

View File

@ -1,7 +1,6 @@
package org.fdroid.fdroid.views.main;
import android.Manifest;
import android.app.Activity;
import android.content.Context;
import android.content.Intent;
import android.content.UriPermission;
@ -13,9 +12,7 @@ import android.os.Build;
import android.os.Environment;
import android.os.storage.StorageManager;
import android.os.storage.StorageVolume;
import android.support.annotation.RequiresApi;
import android.support.v4.app.ActivityCompat;
import android.support.v4.content.ContextCompat;
import android.provider.DocumentsContract;
import android.text.TextUtils;
import android.util.Log;
import android.view.View;
@ -24,6 +21,7 @@ import android.widget.FrameLayout;
import android.widget.ImageView;
import android.widget.TextView;
import android.widget.Toast;
import org.fdroid.fdroid.R;
import org.fdroid.fdroid.Utils;
import org.fdroid.fdroid.nearby.SDCardScannerService;
@ -33,6 +31,11 @@ import org.fdroid.fdroid.nearby.TreeUriScannerIntentService;
import java.io.File;
import java.util.List;
import androidx.annotation.RequiresApi;
import androidx.appcompat.app.AppCompatActivity;
import androidx.core.app.ActivityCompat;
import androidx.core.content.ContextCompat;
/**
* A splash screen encouraging people to start the swap process. The swap
* process is quite heavy duty in that it fires up Bluetooth and/or WiFi
@ -59,6 +62,8 @@ import java.util.List;
*
* @see TreeUriScannerIntentService
* @see org.fdroid.fdroid.nearby.SDCardScannerService
* <p>
* TODO use {@link StorageManager#registerStorageVolumeCallback(Executor, StorageManager.StorageVolumeCallback)}
*/
public class NearbyViewBinder {
public static final String TAG = "NearbyViewBinder";
@ -66,7 +71,7 @@ public class NearbyViewBinder {
private static File externalStorage = null;
private static View swapView;
NearbyViewBinder(final Activity activity, FrameLayout parent) {
NearbyViewBinder(final AppCompatActivity activity, FrameLayout parent) {
swapView = activity.getLayoutInflater().inflate(R.layout.main_tab_swap, parent, true);
TextView subtext = swapView.findViewById(R.id.both_parties_need_fdroid_text);
@ -86,7 +91,7 @@ public class NearbyViewBinder {
ActivityCompat.requestPermissions(activity, new String[]{coarseLocation},
MainActivity.REQUEST_LOCATION_PERMISSIONS);
} else {
SwapService.start(activity);
ContextCompat.startForegroundService(activity, new Intent(activity, SwapService.class));
}
}
});
@ -146,7 +151,7 @@ public class NearbyViewBinder {
updateUsbOtg(activity);
}
public static void updateUsbOtg(final Activity activity) {
public static void updateUsbOtg(final Context context) {
if (Build.VERSION.SDK_INT < 24) {
return;
}
@ -159,24 +164,39 @@ public class NearbyViewBinder {
storageVolumeText.setVisibility(View.GONE);
requestStorageVolume.setVisibility(View.GONE);
final StorageManager storageManager = (StorageManager) activity.getSystemService(Context.STORAGE_SERVICE);
final StorageManager storageManager = ContextCompat.getSystemService(context, StorageManager.class);
for (final StorageVolume storageVolume : storageManager.getStorageVolumes()) {
if (storageVolume.isRemovable() && !storageVolume.isPrimary()) {
Log.i(TAG, "StorageVolume: " + storageVolume);
final Intent intent = storageVolume.createAccessIntent(null);
if (intent == null) {
Intent tmpIntent = null;
if (Build.VERSION.SDK_INT < 29) {
tmpIntent = storageVolume.createAccessIntent(null);
} else {
tmpIntent = new Intent(Intent.ACTION_OPEN_DOCUMENT_TREE);
tmpIntent.putExtra(DocumentsContract.EXTRA_INITIAL_URI,
Uri.parse("content://"
+ TreeUriScannerIntentService.EXTERNAL_STORAGE_PROVIDER_AUTHORITY
+ "/tree/"
+ storageVolume.getUuid()
+ "%3A/document/"
+ storageVolume.getUuid()
+ "%3A"));
}
if (tmpIntent == null) {
Utils.debugLog(TAG, "Got null Storage Volume access Intent");
return;
}
final Intent intent = tmpIntent;
storageVolumeText.setVisibility(View.VISIBLE);
String text = storageVolume.getDescription(activity);
String text = storageVolume.getDescription(context);
if (!TextUtils.isEmpty(text)) {
requestStorageVolume.setText(text);
UsbDevice usb = intent.getParcelableExtra(UsbManager.EXTRA_DEVICE);
if (usb != null) {
text = String.format("%s (%s %s)", text, usb.getManufacturerName(), usb.getProductName());
Toast.makeText(activity, text, Toast.LENGTH_LONG).show();
Toast.makeText(context, text, Toast.LENGTH_LONG).show();
}
}
@ -185,16 +205,32 @@ public class NearbyViewBinder {
@Override
@RequiresApi(api = 24)
public void onClick(View v) {
List<UriPermission> list = activity.getContentResolver().getPersistedUriPermissions();
List<UriPermission> list = context.getContentResolver().getPersistedUriPermissions();
if (list != null) for (UriPermission uriPermission : list) {
Uri uri = uriPermission.getUri();
if (uri.getPath().equals(String.format("/tree/%s:", storageVolume.getUuid()))) {
intent.setData(uri);
TreeUriScannerIntentService.onActivityResult(activity, intent);
TreeUriScannerIntentService.onActivityResult(context, intent);
return;
}
}
activity.startActivityForResult(intent, MainActivity.REQUEST_STORAGE_ACCESS);
AppCompatActivity activity = null;
if (context instanceof AppCompatActivity) {
activity = (AppCompatActivity) context;
} else if (swapView != null && swapView.getContext() instanceof AppCompatActivity) {
activity = (AppCompatActivity) swapView.getContext();
}
if (activity != null) {
activity.startActivityForResult(intent, MainActivity.REQUEST_STORAGE_ACCESS);
} else {
// scan in the background without requesting permissions
Toast.makeText(context.getApplicationContext(),
context.getString(R.string.scan_removable_storage_toast, externalStorage),
Toast.LENGTH_SHORT).show();
SDCardScannerService.scan(context);
}
}
});
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 313 B

After

Width:  |  Height:  |  Size: 213 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 248 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 427 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 446 B

After

Width:  |  Height:  |  Size: 246 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 519 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.2 KiB

After

Width:  |  Height:  |  Size: 8.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 14 KiB

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 135 B

After

Width:  |  Height:  |  Size: 94 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 113 B

After

Width:  |  Height:  |  Size: 107 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 114 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.3 KiB

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.8 KiB

After

Width:  |  Height:  |  Size: 2.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 KiB

Some files were not shown because too many files have changed in this diff Show More