Commit Graph

95 Commits

Author SHA1 Message Date
Matthieu 3a91b02e55 Use coroutines 2020-12-29 19:34:48 +01:00
Matthieu 86543ee74c Correct a bunch of small things raised by inspection 2020-12-28 20:53:24 +01:00
Matthieu 7066c942e8 Add direct links to translation and forge platforms 2020-12-16 17:50:47 +01:00
Matthieu 689dffe7c1 Add in-app language setting 2020-12-11 16:53:12 +01:00
Matthieu f465e495d2 Delete posts with three-dot "more options" menu 2020-11-28 15:05:13 +01:00
Matthieu 0167a63148 Add attribution for error panda 2020-11-02 16:12:39 +01:00
Matthieu 7f04028125 Move duplicated error to layout file, create strings 2020-11-02 13:28:27 +01:00
Matthieu 22b03fca54 add poll to prevent crashes with mastodon 2020-11-01 19:57:56 +01:00
Matthieu 50dd0bad51 Add reporting and link sharing functionality, polish UI 2020-10-04 23:27:06 +02:00
Matthieu c014eef3f3 Make action bars contain info and back button 2020-09-26 00:25:08 +02:00
Matthieu b14242a448 Extract strings 2020-09-25 17:00:08 +02:00
Matthieu 7bca413d60 Use nodeinfo endpoint to get info about the capabilities of the instance 2020-08-22 22:34:21 +02:00
Ulysse Widmer 34f3d12dbc
Offline mode part 2 - Store posts in the DB (#209)
* store posts base idea

* switch to nullable types in Status object

* store posts first try + switch to nullable types for Attachment objects

* fix some tests, add converters

* update gradle

* wip: display stored post

* first draft of functional offline post

* added likes and shares to offline data

* fully functional

* clear activity correctly

* clear correctly activities

* refactored some tests and added offline feed test

* Distinguish between users, and only store home timeline

* count better

* Sort when getting statuses

* disable buttons, since we're offline anyways

Co-authored-by: Matthieu <61561059+Wv5twkFEKh54vo4tta9yu7dHa3@users.noreply.github.com>
2020-06-05 20:14:57 +02:00
Wv5twkFEKh54vo4tta9yu7dHa3 0348696f3a
Improve upload flow performance & visual feedback (#224)
* Make less copies, detect if no changes are made for a fast path, give some feedback while processing the image

* avoid NPE on camera, use more generic inputstream so that file picking works again

* stop using resource in test

* stop using resource in test

* fix uri issue and add test

* Test dialog, stringify strings

* click error button, for fun

* test error button in post creation

* check retry of upload works

* Remove wrong button click in test

* add some tests for followers list

* test edit profile button

* test back button

* try to get all callbacks to be called

* Fix typo

* Make sure crop is not ignored
2020-06-03 16:32:02 +02:00
Wv5twkFEKh54vo4tta9yu7dHa3 0f122ce4e2
Make double tap to like work correctly 2020-05-22 18:47:12 +02:00
Andrew Dobis 68cdb880a4
Added double tap likes (#211)
* fixed visual dark mode bug

* added double tap liking

* fixed conflict with sensitive media

* removed old test that is no longer relevant
2020-05-22 12:19:24 +02:00
Wv5twkFEKh54vo4tta9yu7dHa3 6a30b1a2bf
Translations update from Weblate (#199)
* Translated using Weblate (Arabic)

Currently translated at 52.7% (48 of 91 strings)

Translation: PixelDroid/pixeldroid
Translate-URL: http://weblate.pixeldroid.org/projects/pixeldroid/pixeldroid/ar/

* Translated using Weblate (English)

Currently translated at 100.0% (91 of 91 strings)

Translation: PixelDroid/pixeldroid
Translate-URL: http://weblate.pixeldroid.org/projects/pixeldroid/pixeldroid/en/

* Translated using Weblate (Arabic)

Currently translated at 52.7% (48 of 91 strings)

Translation: PixelDroid/pixeldroid
Translate-URL: http://weblate.pixeldroid.org/projects/pixeldroid/pixeldroid/ar/

* Translated using Weblate (German)

Currently translated at 70.3% (64 of 91 strings)

Translation: PixelDroid/pixeldroid
Translate-URL: http://weblate.pixeldroid.org/projects/pixeldroid/pixeldroid/de/

* Translated using Weblate (Arabic)

Currently translated at 56.0% (51 of 91 strings)

Translation: PixelDroid/pixeldroid
Translate-URL: http://weblate.pixeldroid.org/projects/pixeldroid/pixeldroid/ar/

* Translated using Weblate (German)

Currently translated at 70.3% (64 of 91 strings)

Translation: PixelDroid/pixeldroid
Translate-URL: http://weblate.pixeldroid.org/projects/pixeldroid/pixeldroid/de/

* Translated using Weblate (Arabic)

Currently translated at 56.0% (51 of 91 strings)

Translation: PixelDroid/pixeldroid
Translate-URL: http://weblate.pixeldroid.org/projects/pixeldroid/pixeldroid/ar/

* Translated using Weblate (Arabic)

Currently translated at 58.2% (53 of 91 strings)

Translation: PixelDroid/pixeldroid
Translate-URL: http://weblate.pixeldroid.org/projects/pixeldroid/pixeldroid/ar/

* Translated using Weblate (Dutch)

Currently translated at 64.8% (59 of 91 strings)

Translation: PixelDroid/pixeldroid
Translate-URL: http://weblate.pixeldroid.org/projects/pixeldroid/pixeldroid/nl/

* Translated using Weblate (Arabic)

Currently translated at 58.2% (53 of 91 strings)

Translation: PixelDroid/pixeldroid
Translate-URL: http://weblate.pixeldroid.org/projects/pixeldroid/pixeldroid/ar/

* Translated using Weblate (Arabic)

Currently translated at 75.8% (69 of 91 strings)

Translation: PixelDroid/pixeldroid
Translate-URL: http://weblate.pixeldroid.org/projects/pixeldroid/pixeldroid/ar/

* Translated using Weblate (German)

Currently translated at 92.3% (84 of 91 strings)

Translation: PixelDroid/pixeldroid
Translate-URL: http://weblate.pixeldroid.org/projects/pixeldroid/pixeldroid/de/

* Translated using Weblate (Arabic)

Currently translated at 75.8% (69 of 91 strings)

Translation: PixelDroid/pixeldroid
Translate-URL: http://weblate.pixeldroid.org/projects/pixeldroid/pixeldroid/ar/

* Translated using Weblate (French)

Currently translated at 93.4% (85 of 91 strings)

Translation: PixelDroid/pixeldroid
Translate-URL: http://weblate.pixeldroid.org/projects/pixeldroid/pixeldroid/fr/

* Translated using Weblate (Persian)

Currently translated at 100.0% (91 of 91 strings)

Translation: PixelDroid/pixeldroid
Translate-URL: http://weblate.pixeldroid.org/projects/pixeldroid/pixeldroid/fa/

* Translated using Weblate (Arabic)

Currently translated at 80.2% (73 of 91 strings)

Translation: PixelDroid/pixeldroid
Translate-URL: http://weblate.pixeldroid.org/projects/pixeldroid/pixeldroid/ar/

* Translated using Weblate (Arabic)

Currently translated at 80.2% (73 of 91 strings)

Translation: PixelDroid/pixeldroid
Translate-URL: http://weblate.pixeldroid.org/projects/pixeldroid/pixeldroid/ar/

* Translated using Weblate (Arabic)

Currently translated at 80.2% (73 of 91 strings)

Translation: PixelDroid/pixeldroid
Translate-URL: http://weblate.pixeldroid.org/projects/pixeldroid/pixeldroid/ar/

* Translated using Weblate (Arabic)

Currently translated at 84.6% (77 of 91 strings)

Translation: PixelDroid/pixeldroid
Translate-URL: http://weblate.pixeldroid.org/projects/pixeldroid/pixeldroid/ar/

* Translated using Weblate (Arabic)

Currently translated at 84.6% (77 of 91 strings)

Translation: PixelDroid/pixeldroid
Translate-URL: http://weblate.pixeldroid.org/projects/pixeldroid/pixeldroid/ar/

* Translated using Weblate (Arabic)

Currently translated at 96.7% (88 of 91 strings)

Translation: PixelDroid/pixeldroid
Translate-URL: http://weblate.pixeldroid.org/projects/pixeldroid/pixeldroid/ar/

* Translated using Weblate (Arabic)

Currently translated at 96.7% (88 of 91 strings)

Translation: PixelDroid/pixeldroid
Translate-URL: http://weblate.pixeldroid.org/projects/pixeldroid/pixeldroid/ar/

* Translated using Weblate (Arabic)

Currently translated at 96.7% (88 of 91 strings)

Translation: PixelDroid/pixeldroid
Translate-URL: http://weblate.pixeldroid.org/projects/pixeldroid/pixeldroid/ar/

* Translated using Weblate (Arabic)

Currently translated at 96.7% (88 of 91 strings)

Translation: PixelDroid/pixeldroid
Translate-URL: http://weblate.pixeldroid.org/projects/pixeldroid/pixeldroid/ar/

* Translated using Weblate (Arabic)

Currently translated at 97.8% (89 of 91 strings)

Translation: PixelDroid/pixeldroid
Translate-URL: http://weblate.pixeldroid.org/projects/pixeldroid/pixeldroid/ar/

* Translated using Weblate (Arabic)

Currently translated at 100.0% (91 of 91 strings)

Translation: PixelDroid/pixeldroid
Translate-URL: http://weblate.pixeldroid.org/projects/pixeldroid/pixeldroid/ar/

* Translated using Weblate (Arabic)

Currently translated at 100.0% (91 of 91 strings)

Translation: PixelDroid/pixeldroid
Translate-URL: http://weblate.pixeldroid.org/projects/pixeldroid/pixeldroid/ar/

* Translated using Weblate (Arabic)

Currently translated at 100.0% (91 of 91 strings)

Translation: PixelDroid/pixeldroid
Translate-URL: http://weblate.pixeldroid.org/projects/pixeldroid/pixeldroid/ar/

* Translated using Weblate (Arabic)

Currently translated at 100.0% (91 of 91 strings)

Translation: PixelDroid/pixeldroid
Translate-URL: http://weblate.pixeldroid.org/projects/pixeldroid/pixeldroid/ar/

* Translated using Weblate (Arabic)

Currently translated at 100.0% (91 of 91 strings)

Translation: PixelDroid/pixeldroid
Translate-URL: http://weblate.pixeldroid.org/projects/pixeldroid/pixeldroid/ar/

* Translated using Weblate (Arabic)

Currently translated at 100.0% (91 of 91 strings)

Translation: PixelDroid/pixeldroid
Translate-URL: http://weblate.pixeldroid.org/projects/pixeldroid/pixeldroid/ar/

* Translated using Weblate (Arabic)

Currently translated at 100.0% (91 of 91 strings)

Translation: PixelDroid/pixeldroid
Translate-URL: http://weblate.pixeldroid.org/projects/pixeldroid/pixeldroid/ar/

* Translated using Weblate (Arabic)

Currently translated at 100.0% (91 of 91 strings)

Translation: PixelDroid/pixeldroid
Translate-URL: http://weblate.pixeldroid.org/projects/pixeldroid/pixeldroid/ar/

* Translated using Weblate (Arabic)

Currently translated at 100.0% (91 of 91 strings)

Translation: PixelDroid/pixeldroid
Translate-URL: http://weblate.pixeldroid.org/projects/pixeldroid/pixeldroid/ar/

* Translated using Weblate (Arabic)

Currently translated at 100.0% (91 of 91 strings)

Translation: PixelDroid/pixeldroid
Translate-URL: http://weblate.pixeldroid.org/projects/pixeldroid/pixeldroid/ar/

* Translated using Weblate (Arabic)

Currently translated at 100.0% (91 of 91 strings)

Translation: PixelDroid/pixeldroid
Translate-URL: http://weblate.pixeldroid.org/projects/pixeldroid/pixeldroid/ar/

* Translated using Weblate (Arabic)

Currently translated at 100.0% (91 of 91 strings)

Translation: PixelDroid/pixeldroid
Translate-URL: http://weblate.pixeldroid.org/projects/pixeldroid/pixeldroid/ar/

* Translated using Weblate (Arabic)

Currently translated at 100.0% (91 of 91 strings)

Translation: PixelDroid/pixeldroid
Translate-URL: http://weblate.pixeldroid.org/projects/pixeldroid/pixeldroid/ar/

* Translated using Weblate (Arabic)

Currently translated at 100.0% (91 of 91 strings)

Translation: PixelDroid/pixeldroid
Translate-URL: http://weblate.pixeldroid.org/projects/pixeldroid/pixeldroid/ar/

* Translated using Weblate (Arabic)

Currently translated at 100.0% (91 of 91 strings)

Translation: PixelDroid/pixeldroid
Translate-URL: http://weblate.pixeldroid.org/projects/pixeldroid/pixeldroid/ar/

* Translated using Weblate (Arabic)

Currently translated at 100.0% (91 of 91 strings)

Translation: PixelDroid/pixeldroid
Translate-URL: http://weblate.pixeldroid.org/projects/pixeldroid/pixeldroid/ar/

* Translated using Weblate (Arabic)

Currently translated at 100.0% (91 of 91 strings)

Translation: PixelDroid/pixeldroid
Translate-URL: http://weblate.pixeldroid.org/projects/pixeldroid/pixeldroid/ar/

* Translated using Weblate (Arabic)

Currently translated at 100.0% (91 of 91 strings)

Translation: PixelDroid/pixeldroid
Translate-URL: http://weblate.pixeldroid.org/projects/pixeldroid/pixeldroid/ar/

* Translated using Weblate (Arabic)

Currently translated at 100.0% (91 of 91 strings)

Translation: PixelDroid/pixeldroid
Translate-URL: http://weblate.pixeldroid.org/projects/pixeldroid/pixeldroid/ar/

* Translated using Weblate (Arabic)

Currently translated at 100.0% (91 of 91 strings)

Translation: PixelDroid/pixeldroid
Translate-URL: http://weblate.pixeldroid.org/projects/pixeldroid/pixeldroid/ar/

* Translated using Weblate (Arabic)

Currently translated at 100.0% (91 of 91 strings)

Translation: PixelDroid/pixeldroid
Translate-URL: http://weblate.pixeldroid.org/projects/pixeldroid/pixeldroid/ar/

* Translated using Weblate (Arabic)

Currently translated at 100.0% (91 of 91 strings)

Translation: PixelDroid/pixeldroid
Translate-URL: http://weblate.pixeldroid.org/projects/pixeldroid/pixeldroid/ar/

* Translated using Weblate (French)

Currently translated at 93.4% (85 of 91 strings)

Translation: PixelDroid/pixeldroid
Translate-URL: http://weblate.pixeldroid.org/projects/pixeldroid/pixeldroid/fr/

* Translated using Weblate (French)

Currently translated at 93.4% (85 of 91 strings)

Translation: PixelDroid/pixeldroid
Translate-URL: http://weblate.pixeldroid.org/projects/pixeldroid/pixeldroid/fr/

* Translated using Weblate (French)

Currently translated at 93.4% (85 of 91 strings)

Translation: PixelDroid/pixeldroid
Translate-URL: http://weblate.pixeldroid.org/projects/pixeldroid/pixeldroid/fr/

* Translated using Weblate (German)

Currently translated at 98.9% (90 of 91 strings)

Translation: PixelDroid/pixeldroid
Translate-URL: http://weblate.pixeldroid.org/projects/pixeldroid/pixeldroid/de/

* Translated using Weblate (German)

Currently translated at 98.9% (90 of 91 strings)

Translation: PixelDroid/pixeldroid
Translate-URL: http://weblate.pixeldroid.org/projects/pixeldroid/pixeldroid/de/

* Translated using Weblate (German)

Currently translated at 98.9% (90 of 91 strings)

Translation: PixelDroid/pixeldroid
Translate-URL: http://weblate.pixeldroid.org/projects/pixeldroid/pixeldroid/de/

* Translated using Weblate (French)

Currently translated at 95.6% (87 of 91 strings)

Translation: PixelDroid/pixeldroid
Translate-URL: http://weblate.pixeldroid.org/projects/pixeldroid/pixeldroid/fr/

* Translated using Weblate (French)

Currently translated at 95.6% (87 of 91 strings)

Translation: PixelDroid/pixeldroid
Translate-URL: http://weblate.pixeldroid.org/projects/pixeldroid/pixeldroid/fr/

* Translated using Weblate (French)

Currently translated at 95.6% (87 of 91 strings)

Translation: PixelDroid/pixeldroid
Translate-URL: http://weblate.pixeldroid.org/projects/pixeldroid/pixeldroid/fr/

* Translated using Weblate (French)

Currently translated at 95.6% (87 of 91 strings)

Translation: PixelDroid/pixeldroid
Translate-URL: http://weblate.pixeldroid.org/projects/pixeldroid/pixeldroid/fr/

* Translated using Weblate (French)

Currently translated at 95.6% (87 of 91 strings)

Translation: PixelDroid/pixeldroid
Translate-URL: http://weblate.pixeldroid.org/projects/pixeldroid/pixeldroid/fr/

* Translated using Weblate (French)

Currently translated at 95.6% (87 of 91 strings)

Translation: PixelDroid/pixeldroid
Translate-URL: http://weblate.pixeldroid.org/projects/pixeldroid/pixeldroid/fr/

* Translated using Weblate (French)

Currently translated at 95.6% (87 of 91 strings)

Translation: PixelDroid/pixeldroid
Translate-URL: http://weblate.pixeldroid.org/projects/pixeldroid/pixeldroid/fr/

* Translated using Weblate (French)

Currently translated at 95.6% (87 of 91 strings)

Translation: PixelDroid/pixeldroid
Translate-URL: http://weblate.pixeldroid.org/projects/pixeldroid/pixeldroid/fr/

* Translated using Weblate (French)

Currently translated at 95.6% (87 of 91 strings)

Translation: PixelDroid/pixeldroid
Translate-URL: http://weblate.pixeldroid.org/projects/pixeldroid/pixeldroid/fr/

* Translated using Weblate (French)

Currently translated at 95.6% (87 of 91 strings)

Translation: PixelDroid/pixeldroid
Translate-URL: http://weblate.pixeldroid.org/projects/pixeldroid/pixeldroid/fr/

* Translated using Weblate (French)

Currently translated at 95.6% (87 of 91 strings)

Translation: PixelDroid/pixeldroid
Translate-URL: http://weblate.pixeldroid.org/projects/pixeldroid/pixeldroid/fr/

* Translated using Weblate (French)

Currently translated at 95.6% (87 of 91 strings)

Translation: PixelDroid/pixeldroid
Translate-URL: http://weblate.pixeldroid.org/projects/pixeldroid/pixeldroid/fr/

* Translated using Weblate (English)

Currently translated at 98.9% (90 of 91 strings)

Translation: PixelDroid/pixeldroid
Translate-URL: http://weblate.pixeldroid.org/projects/pixeldroid/pixeldroid/en/

* Translated using Weblate (English)

Currently translated at 98.9% (90 of 91 strings)

Translation: PixelDroid/pixeldroid
Translate-URL: http://weblate.pixeldroid.org/projects/pixeldroid/pixeldroid/en/

* Translated using Weblate (German)

Currently translated at 98.9% (90 of 91 strings)

Translation: PixelDroid/pixeldroid
Translate-URL: http://weblate.pixeldroid.org/projects/pixeldroid/pixeldroid/de/

* Translated using Weblate (German)

Currently translated at 98.9% (90 of 91 strings)

Translation: PixelDroid/pixeldroid
Translate-URL: http://weblate.pixeldroid.org/projects/pixeldroid/pixeldroid/de/

* Translated using Weblate (English)

Currently translated at 100.0% (91 of 91 strings)

Translation: PixelDroid/pixeldroid
Translate-URL: http://weblate.pixeldroid.org/projects/pixeldroid/pixeldroid/en/

* Translated using Weblate (French)

Currently translated at 95.6% (87 of 91 strings)

Translation: PixelDroid/pixeldroid
Translate-URL: http://weblate.pixeldroid.org/projects/pixeldroid/pixeldroid/fr/

* Translated using Weblate (French)

Currently translated at 100.0% (91 of 91 strings)

Translation: PixelDroid/pixeldroid
Translate-URL: http://weblate.pixeldroid.org/projects/pixeldroid/pixeldroid/fr/

* Translated using Weblate (French)

Currently translated at 100.0% (91 of 91 strings)

Translation: PixelDroid/pixeldroid
Translate-URL: http://weblate.pixeldroid.org/projects/pixeldroid/pixeldroid/fr/

* Translated using Weblate (German)

Currently translated at 98.9% (90 of 91 strings)

Translation: PixelDroid/pixeldroid
Translate-URL: http://weblate.pixeldroid.org/projects/pixeldroid/pixeldroid/de/

* Translated using Weblate (Italian)

Currently translated at 92.3% (84 of 91 strings)

Translation: PixelDroid/pixeldroid
Translate-URL: http://weblate.pixeldroid.org/projects/pixeldroid/pixeldroid/it/

* Translated using Weblate (Arabic)

Currently translated at 100.0% (91 of 91 strings)

Translation: PixelDroid/pixeldroid
Translate-URL: http://weblate.pixeldroid.org/projects/pixeldroid/pixeldroid/ar/

* Translated using Weblate (French)

Currently translated at 100.0% (91 of 91 strings)

Translation: PixelDroid/pixeldroid
Translate-URL: http://weblate.pixeldroid.org/projects/pixeldroid/pixeldroid/fr/

* Translated using Weblate (Catalan)

Currently translated at 100.0% (91 of 91 strings)

Translation: PixelDroid/pixeldroid
Translate-URL: http://weblate.pixeldroid.org/projects/pixeldroid/pixeldroid/ca/

* Translated using Weblate (Galician)

Currently translated at 95.6% (87 of 91 strings)

Translation: PixelDroid/pixeldroid
Translate-URL: http://weblate.pixeldroid.org/projects/pixeldroid/pixeldroid/gl/

* Translated using Weblate (Russian)

Currently translated at 95.6% (87 of 91 strings)

Translation: PixelDroid/pixeldroid
Translate-URL: http://weblate.pixeldroid.org/projects/pixeldroid/pixeldroid/ru/

* Translated using Weblate (Russian)

Currently translated at 100.0% (91 of 91 strings)

Translation: PixelDroid/pixeldroid
Translate-URL: http://weblate.pixeldroid.org/projects/pixeldroid/pixeldroid/ru/

* Translated using Weblate (Basque)

Currently translated at 64.8% (59 of 91 strings)

Translation: PixelDroid/pixeldroid
Translate-URL: http://weblate.pixeldroid.org/projects/pixeldroid/pixeldroid/eu/

* Translated using Weblate (Basque)

Currently translated at 64.8% (59 of 91 strings)

Translation: PixelDroid/pixeldroid
Translate-URL: http://weblate.pixeldroid.org/projects/pixeldroid/pixeldroid/eu/

* Translated using Weblate (French)

Currently translated at 100.0% (91 of 91 strings)

Translation: PixelDroid/pixeldroid
Translate-URL: http://weblate.pixeldroid.org/projects/pixeldroid/pixeldroid/fr/

* Translated using Weblate (Dutch)

Currently translated at 71.4% (65 of 91 strings)

Translation: PixelDroid/pixeldroid
Translate-URL: http://weblate.pixeldroid.org/projects/pixeldroid/pixeldroid/nl/

* Translated using Weblate (Basque)

Currently translated at 68.1% (62 of 91 strings)

Translation: PixelDroid/pixeldroid
Translate-URL: http://weblate.pixeldroid.org/projects/pixeldroid/pixeldroid/eu/

Co-authored-by: ButterflyOfFire <butterflyoffire+pixeldroid@protonmail.com>
Co-authored-by: T B <weblatepixeldroid@thilobuchholz.de>
Co-authored-by: Anonymous <noreply@weblate.org>
Co-authored-by: MOAD Melek <moadmalek@protonmail.com>
Co-authored-by: Mostafa Ahangarha <ahangarha@riseup.net>
Co-authored-by: Sven <weblate.pixeldroid.org@linux4tw.de>
Co-authored-by: Weblate Admin <contact@pixeldroid.org>
Co-authored-by: retiolus <retiolus@protonmail.com>
Co-authored-by: x <hardwired1.0@protonmail.com>
Co-authored-by: Xose M <correoxm@disroot.org>
Co-authored-by: Siberia Bread Factory <darak85863@mailcupp.com>
Co-authored-by: dabid <dabid@laborategia.eus>
Co-authored-by: bertol <bertol@ni.eus>
Co-authored-by: echolib <neosting@riseup.net>
2020-05-22 12:19:11 +02:00
Wv5twkFEKh54vo4tta9yu7dHa3 66e6bd66dd
Merge translations (#202)
* Merge translations

* fix test after string changed
2020-05-21 21:21:13 +02:00
Wv5twkFEKh54vo4tta9yu7dHa3 d942c30898
Add upload progress bars and error handling to PostCreationActivity (#191)
* Add upload bar to PostCreationActivity

* Add upload error handling

* Fix test, remove duplicate api endpoint

* try to trigger ci

* don't show error all the time

* remove unused strings
2020-05-21 19:31:41 +02:00
mjaillot 5b0a344236
WIP: Translatable text (#164)
* Extracted all visible texts

* Unit test import

* Removed conflicting import

* Removed unit tests that are no longer valid

* Added tests

* Renamed string

* Fixed string

* Added strings descriptions

* Converted string to templates
2020-05-21 15:22:57 +02:00
Andrew Dobis 998792d61b
Fix edit dark mode bug (#192)
* fixed visual dark mode bug

* fix another color bug
2020-05-21 13:31:51 +02:00
Wv5twkFEKh54vo4tta9yu7dHa3 ca307abcde
multiAccount functionnality (#168)
* multiAccount functionnality

* remove sharedpreferences usages

* start fixing tests to work with changes

* remove test of removed functionality

* more fiddling with tests

* fix instance insert being broken

* clean up some more preferences usage

* close db

* try to fix a bunch of issues

* move db close

* add instance to user drawer item

* remove rule that is no longer needed

* correct mock server to fix test

* removed unused stuff

* fix domains not being validated correctly

* update test

* Delete q

* Move image filter application to a thread

* remove unused imports

* remove unused strings

* remove unused strings

* fix buttons (sometimes)

* solve some linter issues, fix saturation brightness contrast not being shown properly

* remove unused strings

* add tests for drawer

* remove unused imports, other linter suggestions

* fix broken auto linter fix
2020-05-19 09:49:34 +02:00
Samuel Dietz 5fadfd2e8e
Sensitive media (#162)
* utility functions to censor and decensor a post image

* added Text warning about sensitive content

* adapt layout based on Sensitive attribute, censor and decensor

* try to perform clicks on sensitive image

* small refactor of status for sensitive layout

* testing censor Matrices functions

* perform test on sensitive post

* modified so second post is sensitive

* hide sensitiveWarning from albums for now

* hide totaly the image

* perform visibility check on sensitive warning textView

* deleted tests using activityScenario.onActivity as they return true on assert(false)

* commented dummy test for matrix censoring

* implemented sensitive layout for multiple pictures posts

* remove diplay check before click

* now testing visibility of textView

* deleted faulty lines i hope

* bring back dummy check for matrices

* everything is now sensitive, testing on tab post

* implemented matcher for second item

* implemented tests for tabs and classic sensitive layout using custom matcher Second

* cleaning in JSON values, put sensitive true on posts

* hide sensitive posts behind red triangle

* centered background triangle

* corrected indentation

* extracted sensitive string in string.xml
2020-05-16 23:47:18 +02:00
Wv5twkFEKh54vo4tta9yu7dHa3 252a192ff3
Camera tab (#149)
* added CameraX depedencies

* added basis of camera activity layout

* basis of camera layout

* declare activity and request camera permissions

* request camera permissions

* implemented basic viewFinder aka stream preview

* added drawing of layout

* linked camera activity to new post fragment

* texture view now fills the entire screen

* added button, call to camera activity FOR RESULT and return to New Post Fragment

* can now take a photo a upload it

* locked camera activity in portrait orientation

* added basic test to CameraActivity

* added test with device orientation

* deleted orientation test as it broke the whole app

* deleted occurence of orientation tool for tests

* added buttons for flipping cameras and picture upload

* replaced NewPostFragment and took its job

* deleted cameraActivity

* replaced newPostFragment by Camera Activity

* revamped NewPostFragment

* perform basic test on buttons

* corrected retrieval of buttons

* robust camera fragment

* fix thumbnail permission requests

* refactor, finish fragment

* try to fix build not working on CI

* Add dependency

* Fix camera test

* update tests, delete obsolete xml

* Try to fix test

* Stop nullpointer that happens sometimes, when it shouldn't

* remove unused strings

* edit the photo instead of posting directly

* fix test after changing putextra name

* remove useless analyzer

* add test?

* better tests?

* add dependencies

* update dependencies

* try to fix build

* undo change to build.gradle

* try to fix tests

* try to fix tests

* remove useless listener

* save image so that ci can go through gallery

* remove extraneous permission

* Any app that declares the WRITE_EXTERNAL_STORAGE permission is implicitly granted this permission.

Co-authored-by: Andrea Clement <samuel.dietz@epfl.ch>
2020-05-15 12:10:28 +02:00
Andrew Dobis 8fb5074f84
Added a dark mode (#151)
* first draft of dark mode, still needs some work

* changed dark mode colors

* fixed more buttons in dark mode

* Ran linter and fixed a few things

* mades things more kotlin-like

* added night mode selector in settings, but doesn't seem to work

* WIP Theme settings

* Fix callback not getting called (not registered)

* added theme test

* removed useless strings

* Fix dark mode not being applied

* Our app isn't called ThemedApplication and fixed fix

* changed default theme for API versions lower than 29

* WIP splashscreen nightmode

* Added custom splashscreen

* added night mode for splashscreen

* removed useless night values

* adapted icons for dark mode

* fixed light mode colors

* fixed a few light mode color bugs

* fixed bad login button

* fixed search tabs color

* fixed weird text input in post creation

* removed hardcoded strings in settings test

* removed unnecessary margin in login activity

* replace getIntrumentation.context with getInstrumentation.targetContext in settings test

Co-authored-by: Matthieu De Beule <61561059+Wv5twkFEKh54vo4tta9yu7dHa3@users.noreply.github.com>
2020-05-15 09:23:06 +02:00
Ulysse Widmer e96d5e22a7
Offline mode - Phase 1 (#156)
* rework post entity

* refactor login activity

* added db instance to login activity

* remember user logins offline

* drawer works offline

* fixed some tests

* move imagefragment in fragment folder

* added tests for the new login flow

* add missing drawer test

* add login offline test

* added online login flow tests

* fixed tests

* added mockserver /instance repsonse

* fixed marie's request
2020-05-14 20:14:41 +02:00
Sanimys c4946dd61c
Edit photos (#114)
* Beginning of edit photos activity

* First batch for edition of photos

* EditActivity working properly except flow & save

* Added tests

* Changed name of tabLayouts back to tabs

* Resolved 2 errors from last build

* Truly resolved the 2 issues with requireContext/Activity

* Made test work with API23 emulator

* added 2 tests

* Corrected test @Before to have the right button to click on

* Added flow to newPost and few tests

* Added a test and refactor PhotoEditActivity

* Added flow from upload picture, tests doesn't work

* Added CropImageActivity from ucrop library, crashes for now

* Modified test FiltersIsSwipeableAndClickeable but still doesn't work

* Merge with master

* rectified test SaveButtonLaunchNewPostActivity

* FiltersIsSwipeableAndClickeable test completed

* Ready to merge to master

* resolved error in merge

* Added button save and upload, removed BitmapUtils

* Removed unnecessary libraries and imports

* Remove dependency on library for permissions

Co-authored-by: Joachim Dunant <joachim.dunant@epfl.ch>
Co-authored-by: Matthieu De Beule <61561059+Wv5twkFEKh54vo4tta9yu7dHa3@users.noreply.github.com>
2020-05-08 10:53:56 +02:00
Wv5twkFEKh54vo4tta9yu7dHa3 0038cd8c9e
Translations update from Weblate (#145)
* Translated using Weblate (English)

Currently translated at 100.0% (36 of 36 strings)

Translation: PixelDroid/pixeldroid
Translate-URL: http://weblate.pixeldroid.org/projects/pixeldroid/pixeldroid/en/

Co-authored-by: Weblate Admin <contact@pixeldroid.org>
2020-05-03 11:39:24 +02:00
Ulysse Widmer db594bbda2
share pictures across apps (#129)
* share implemented

* added test for share intent
2020-05-01 09:01:13 +02:00
Ulysse Widmer 20a2fd51ad
save images to gallery (#124)
* popup menu xml and longclicklistener on postfragment

* modularize popup menu code and added listener on homefeed

* fixed position

* image download implemented

* added download state messages

* added test and applied some lint cleanup suggestions

* added functionality to albums

* added test for album
2020-04-30 20:01:35 +02:00
Ulysse Widmer 92c534ca1b
Feature/post creation (#83)
* added perm and features for cameraS, gps and external storage

* added camera activity accessible from main activity

* added button to redirect to camera activity

* implementing callback flow to use camera

* working camera

* added texture view for camera display

* added camera activity

* implemented texture listener

* camera not working, flow done, no feedback implemented

* camera working

* refactored code, still an activity

* added private to internal function, better error function handling

* deleted camera activity

* added camera fragment

* added camera fragment

* refactored camera as fragment

* necessary dependencies for fragment testing

* initial camera fragment test

* corrected access to activity form fragment

* Added state changes and termination

* added lines to test, to test coverage

* Removed unsupported state STARTED state transition

* Added basic tests to test code coverage

* use layout for tests, to trigger permissions requirements

* grant camera permission to app in camera test

* replaced null handlers by proper function getter

* changed layout, added takePictureButton

* using expresso to get code coverage on camea

* take picture flow not finished

* dummy change to camera test to perform new build

* added connection flow before test to reach main activity

* can take a picture and put it to ImageView

* replaced button text with images

* smaller buttons

* test camera fragment buttons

* added orientation handler

* changed icon to make travis happy

* test new espresso config for travis

* removed useless rule

* deleted useless val

* added layout ID's

* moved swipes from Before to Tests, and thread sleep

* stoped swiping, now tests from fragment directly

* start post creation flow

* use Uri when taking photo, can now go back from picture preview

* adjusted test and flow idea

* tests on displayed UI elements for the post creation fragment

* refactor camera fragment into transition new post fragemnt

* finished first phase: get a picture Uri

* fixed lint error found by travis CI

* added global timeout to test

* test the new way of test

* refactor new way of testing

* added in-app camera view and linked everything to the final flow + started API to post

* strugling on the upload media part

* upload image on server implemented

* post upload implemented

* added API call to get max_toot_chars and correct def of a post description

* fixed some tests

* fix tests: clicking on tabs make the app crash because of the camera fragment

* comment problematic chunk of code while samuel tries to fix it

* switch minimumsdk to api 24

* Revert "switch minimumsdk to api 24"

This reverts commit 24ce46dd82038b59732fd958e5e071ded39cd549.

* deactivited live camera for API 23

* tests for post creation fragment UI elements

* remove worthless UI testing and add gallery intent test

* removed camera intent for now

* some refactor

* lint error and more refactor

* more refactor on merge from master

* refactor and test for PostCreationActivity

* Revert "refactor and test for PostCreationActivity"

This reverts commit a0c146bcc545cdc3792df4806e6b0c908bd18747.

* Revert "Revert "refactor and test for PostCreationActivity""

This reverts commit 147a9ed80d5f9c9e3c38b5a977786bfb39eeb1b6.

* permissions correction for test

* updtated test

* fix a test and refactor

* relink correct fragment

* save picture locally

* test post button

* requested changes

* fixed required changes

* Revert "fixed required changes"

This reverts commit 405a9d4d1af05353e30028e60041cc1c97569c1b.

* redo change request

* added /media api response to mockserver

Co-authored-by: Andrea Clement <samuel.dietz@epfl.ch>
2020-04-24 12:44:12 +02:00
Ulysse Widmer 8950d4c162
Reconnect button (#108)
* reconnect button and profile button functionality

* fix lint error and cleaned some imports

* more lint errors

* added tests for the drawer menu

* added some timing for the animations

* drawer settings test
2020-04-17 15:07:04 +02:00
Wv5twkFEKh54vo4tta9yu7dHa3 7318ff5083
tweak UI, add mascot and info link to LoginActivity (#106)
* tweak UI, add mascot and info link to LoginActivity

* Fix test, add other test
2020-04-16 12:46:40 +02:00
Ulysse Widmer 3bff3f5581 added string value 2020-03-20 16:29:02 +09:00
Ulysse Widmer ac9a9943ac Merge branch 'master' into feature/upload-pictures 2020-03-20 16:23:38 +09:00
Wv5twkFEKh54vo4tta9yu7dHa3 260062a72b
Notifications tab (#57)
* Add notification fragment to notification tab

* First functional-ish version of notifications

* Fix test failing due to profile requesting multiple times (?)

* Test notifications list

* Move resource that was in the wrong place for some reason

* Improve fallback image, add new drawable for it, add a margin

* Only show image thumbnail when there is one

* Go to post activity on click

* Add pull to refresh

* Refactor somewhat

* Test other notification too

* Test opening post

* add icons for various things (heart, follow, share, image fallback)
2020-03-18 20:56:42 +01:00
Ulysse Widmer 2a1b9209e1 upload picture implemented
still need to link it with create a post and DataBase
2020-03-18 01:09:39 +09:00
Andrew Dobis 7b5049bba9
As a user I want to be able to see posts in a feed (#28)
* Got posts working and linked them to the profile

* added tests for Post

* layout changes

* moved a test file

* refactoring

* refactoring

* WIP posts

* trying to add images

* WIP posts

* trying to add images

* Got posts working and linked them to the profile

* added tests for Post

* layout changes

* moved a test file

* refactoring

* refactoring

* rebased from master

* removed wrong annotation in unit test

* removed an import that was breaking the build

* removed tests that broke from merge, will override with master

* added UI test for the post activity

* WIP posts

* trying to add images

* WIP posts

* trying to add images

* Got posts working and linked them to the profile

* added tests for Post

* layout changes

* moved a test file

* refactoring

* refactoring

* WIP posts

* WIP posts

* trying to add images

* trying to add images

* Got posts working and linked them to the profile

* added tests for Post

* layout changes

* moved a test file

* refactoring

* refactoring

* rebased from master

* removed wrong annotation in unit test

* removed an import that was breaking the build

* removed tests that broke from merge, will override with master

* added UI test for the post activity

* fixed merging errors

* fixed another merge problem

* trying my best to merge

* removed drawable definition in activity_post.xml

* implements swipe motion

add a new class to implement swipe motion
add the swipe right from home page to display settings
passed the homepage in a fragment

* transform profile activity into fragment

transformed profile activity and layout into fragment
linked it with a swipe motion

* Implement swipeable tabs

* Ask for login on first start, add API endpoints, change profile to show the user's profile

* Started converting Post to a fragment

* got a working feed

* WI

* removed non-valid test

* WIP posts

* trying to add images

* WIP posts

* trying to add images

* Got posts working and linked them to the profile

* added tests for Post

* layout changes

* moved a test file

* refactoring

* refactoring

* WIP posts

* WIP posts

* trying to add images

* trying to add images

* Got posts working and linked them to the profile

* added tests for Post

* layout changes

* moved a test file

* refactoring

* refactoring

* removed wrong annotation in unit test

* removed an import that was breaking the build

* removed tests that broke from merge, will override with master

* added UI test for the post activity

* WIP posts

* WIP posts

* trying to add images

* trying to add images

* Got posts working and linked them to the profile

* layout changes

* refactoring

* refactoring

* WIP posts

* WIP posts

* trying to add images

* trying to add images

* Got posts working and linked them to the profile

* added tests for Post

* layout changes

* moved a test file

* refactoring

* refactoring

* removed wrong annotation in unit test

* removed an import that was breaking the build

* removed tests that broke from merge, will override with master

* fixed merging errors

* trying my best to merge

* removed drawable definition in activity_post.xml

* Started converting Post to a fragment

* got a working feed

* WI

* removed non-valid test

* rebase on other branch

* moved the feed to the home page

* Add tests

* delete test for now

* Adapt test to changes (no more profile from drawer)

* Add unit test for api

* Add test for profile, refactor to allow testing, add exception to security policy to allow tests

* Adapt test to new situation

* Fix typo due to change

* refactor somewhat

* added a feed test

* WIP posts

* trying to add images

* WIP posts

* trying to add images

* Got posts working and linked them to the profile

* added tests for Post

* layout changes

* moved a test file

* refactoring

* refactoring

* WIP posts

* WIP posts

* trying to add images

* trying to add images

* Got posts working and linked them to the profile

* added tests for Post

* layout changes

* moved a test file

* refactoring

* refactoring

* removed wrong annotation in unit test

* removed an import that was breaking the build

* removed tests that broke from merge, will override with master

* added UI test for the post activity

* WIP posts

* trying to add images

* WIP posts

* trying to add images

* Got posts working and linked them to the profile

* added tests for Post

* layout changes

* moved a test file

* refactoring

* refactoring

* WIP posts

* WIP posts

* trying to add images

* trying to add images

* Got posts working and linked them to the profile

* added tests for Post

* layout changes

* moved a test file

* refactoring

* refactoring

* removed wrong annotation in unit test

* removed an import that was breaking the build

* removed tests that broke from merge, will override with master

* added UI test for the post activity

* fixed merging errors

* trying my best to merge

* removed drawable definition in activity_post.xml

* Started converting Post to a fragment

* got a working feed

* WI

* removed non-valid test

* WIP posts

* WIP posts

* trying to add images

* trying to add images

* Got posts working and linked them to the profile

* added tests for Post

* layout changes

* moved a test file

* WIP posts

* WIP posts

* trying to add images

* trying to add images

* Got posts working and linked them to the profile

* added tests for Post

* layout changes

* moved a test file

* refactoring

* refactoring

* refactoring

* refactoring

* removed wrong annotation in unit test

* WIP posts

* WIP posts

* WIP posts

* WIP posts

* trying to add images

* trying to add images

* trying to add images

* trying to add images

* Got posts working and linked them to the profile

* Got posts working and linked them to the profile

* added tests for Post

* layout changes

* layout changes

* moved a test file

* refactoring

* refactoring

* refactoring

* refactoring

* removed wrong annotation in unit test

* removed an import that was breaking the build

* removed an import that was breaking the build

* removed tests that broke from merge, will override with master

* removed tests that broke from merge, will override with master

* added UI test for the post activity

* fixed merging errors

* trying my best to merge

* removed drawable definition in activity_post.xml

* Started converting Post to a fragment

* got a working feed

* WI

* removed non-valid test

* rebase on other branch

* moved the feed to the home page

* added a feed test

* added a working feed test

* fixed broken test

* merged with master

* added a max height for images and made profile pictures round

* Added a default image for the post

* created a PostActivity to look a single posts

* fixed buggy postActivity

* Complete overhall of the feed UI

* removed test that didn't please Travis

* removed legacy test

* changed feedAdapter init location (outside of network callback)

Co-authored-by: Matthieu <61561059+Wv5twkFEKh54vo4tta9yu7dHa3@users.noreply.github.com>
Co-authored-by: Ulysse Widmer <ulysse.widmer@epfl.ch>
2020-03-16 09:38:35 +01:00
Ulysse Widmer de314dc9de
Implements swipe motion & fragmentalize (#41)
* implements swipe motion

add a new class to implement swipe motion
add the swipe right from home page to display settings
passed the homepage in a fragment

* transform profile activity into fragment

transformed profile activity and layout into fragment
linked it with a swipe motion

* refactor settings drawer tests

* added more tests and refactored some files

* added animations to the sliding of the swipe motion
2020-03-12 22:23:25 +01:00
Matthieu 1d13b5e621 Move settings to activity, remove upper bar 2020-03-08 12:54:18 +01:00
Ulysse Widmer edbf3aafa7 resolved conflicts before merge 2020-03-08 19:17:26 +09:00
Matthieu b79ebca03a Some more tests, move values into xml 2020-03-07 18:13:26 +01:00
Joachim Dunant e7e3d19475 First implementation of settings UI & Main menu drawer 2020-03-05 21:07:10 +01:00
Andrea Clement 746b670403 inital login activity 2020-03-05 16:46:18 +01:00
Ulysse Widmer b10a800b36 init project files 2020-02-28 00:36:26 +01:00