Commit Graph

366 Commits

Author SHA1 Message Date
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
Ulysse Widmer b2842b8abe
fixed issue 152: ask write permissions (#154) 2020-05-08 11:42: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 b8b3112f1b
Translations update from Weblate (#147)
Translations update from Weblate
2020-05-04 00:43:11 +02:00
Andrew Dobis 72bb559468
set orientation to fixed portrait (#148) 2020-05-03 22:53:24 +02:00
Andrew Dobis b873a90a9e
Added public timeline (#134)
* added public timeline

* WIP fixing date

* added test for the Public timeline

* added tests for the public timeline

* took pr comments into account
2020-05-03 22:48:05 +02:00
Wv5twkFEKh54vo4tta9yu7dHa3 96e376887f
Add translation badge, add logo to readme (#146)
* Add translation badge, add logo to readme

* add svg and png image
2020-05-03 14:32:35 +02:00
Wv5twkFEKh54vo4tta9yu7dHa3 663d0e2599
Discover feature (#143)
* Discover feature

* Add refresh handler

* Add json to mockserver

* singleton mock server, fix null items

* Add test to open discover post
2020-05-03 14:30:01 +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
Andrew Dobis 1eeb207432
Update README.md (#142)
* Updated README.md
2020-05-01 16:59:52 +02:00
mjaillot 0df369d88c
My profile from drawer (#125)
* Refactor profile as Activity

* Profile info in drawer + tests

* Fixed usernames and post scroll

* Updated username test

* Default avatar drawer

* Fixed avatar drawer

* Correction getUserName

* Fixed get username

* Small refactors for codeclimate

* Uncomment test

* adapted test to new modifications made on this branch
2020-05-01 11:26:18 +02:00
Andrew Dobis 600813baaa
A few UI tweaks (#126)
* added timestamp and 'from domain' for people who aren't on our domain

* added abbreviated timestamp for feed posts

* changed timestamp text color

* added share notification clicking

* fixed search

* Fixed broken test

* refactored notification clicks a bit

* fixed accounts in test
2020-05-01 10:39:25 +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
Wv5twkFEKh54vo4tta9yu7dHa3 ce0b914d78
Search (#121)
* Search

* refactor

* add hashtags

* clean up xml, add some spacing to hashtag list

* Fix invalidation causing failures

* Move Tag's id to read-only member value

* Refactor

* Add test, rename things to be more sensible
2020-04-30 17:54:21 +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
mjaillot 3506f034d4
Follow button and followers list (#109)
* wip follow button

* Fixed follow api typo

* Changed follow button text

* FollowButton click animated

* Fixed follow button

* FollowButton hidden if not ready

* Added toats

* Removed useless val

* Refactored follow onClickListener

* Merge with master

* Followers list WIP

* Distinguish followers and following

* Fixed typo

* Open followers list

* Follows list done

* Tests failing

* Fixed follow button test

* Completed url followers

* Fixed tests

* Added test
2020-04-24 12:10:25 +02:00
Andrew Dobis 5decd6ae12
Fixed crash when post doesn't contain media_attachments (#113) 2020-04-23 21:11:30 +02:00
Wv5twkFEKh54vo4tta9yu7dHa3 94635f5b72
Add splash screen to avoid white screen while opening (#112) 2020-04-23 19:49:30 +02:00
Andrew Dobis 2339fb0967
Added handling of multiple images in a post (#111)
* Changed Post interaction icons and added click feedback

* added reblog and unreblog api implementations

* Use fancy animated buttons

* WIP reposter

* WIP reblog button

* renamed ViewHolder => PostViewHolder

* activated reblogger in feed

* added custom html parser, still need to fix clickable links

* added parsed HTML in notifications

* fixed mention click

* added tests for reblog and clickable mentions

* adapted unit tests to work with new html parser

* changed incoherent comment

* made hashtags slightly less useless

* removed unit test that were no longer valid

* removed useless test

* trying to fix tests

* fixing tests

* trying to improve coverage a little

* removed unused code to improve coverage

* changed cast to type converter

* added failure responses to help coverage

* added mock server response for reblogging

* fixed broken json

* trying to fix a broken test

* added handling of multiple images in a post

* Tweak tests

* Typo in test

* Add scrolls to make tests pass on small screens

* fixed old JSON in mockserver

* fixed linter issue

* merged with master again

* added test for albums

Co-authored-by: Matthieu <61561059+Wv5twkFEKh54vo4tta9yu7dHa3@users.noreply.github.com>
2020-04-23 18:49:32 +02:00
Andrew Dobis 8265ac2d62
Reblogging and HTML text (#107)
* Changed Post interaction icons and added click feedback

* added reblog and unreblog api implementations

* Use fancy animated buttons

* WIP reposter

* WIP reblog button

* renamed ViewHolder => PostViewHolder

* activated reblogger in feed

* added custom html parser, still need to fix clickable links

* added parsed HTML in notifications

* fixed mention click

* added tests for reblog and clickable mentions

* adapted unit tests to work with new html parser

* changed incoherent comment

* made hashtags slightly less useless

* removed unit test that were no longer valid

* removed useless test

* trying to fix tests

* fixing tests

* trying to improve coverage a little

* removed unused code to improve coverage

* changed cast to type converter

* added failure responses to help coverage

* added mock server response for reblogging

* fixed broken json

* trying to fix a broken test

* Tweak tests

* Typo in test

* Add scrolls to make tests pass on small screens

* fixed old JSON in mockserver

* fixed linter issue

Co-authored-by: Matthieu <61561059+Wv5twkFEKh54vo4tta9yu7dHa3@users.noreply.github.com>
2020-04-23 17:48:45 +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
Andrew Dobis f8d6c67079
Commenting & seeing comments on a post ( issues: #37 #77 ) (#87)
Comment and like buttons added + a few UI tweaks 

* 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)

* changed the feed from public timeline to home timeline

* Refactored myProfile page

* Converted profile picture to round image

* restored feed test

* I can like a post, but unlike is still a WIP

* Liking kind of works now and added tests

* fixed an error, now we can unlike as well

* fixed travis constraint error

* Display user's posts on profile page

* moved test to Mock server tests

* fixed test

* last resort debugging

* Changed fixed size of profile posts

* last resort debugging

* last resort debugging

* last resort debugging

* made post_activity profilepic round

* Total refactor of profile posts

* still have a weird bug with the comments: input is always null (WIP)

* still trying to fix coments

* removed annoying side margins in the home feed

* trying to fix comments

* fixed null comment

* converted all posts back to statuses and got rid of post

* Refactored recycler view

* Merged with my-profile

* Posts displayed on profile page

* Added links to profile activity where needed

* fixed comment posting

* finished implementing comments, but api is buggy so none are visible

* removed useless space in profile page

* fixed ci config bug

* trying to trigger ci hook (github was down last time)

* updated tests with master tests

* added tests for the comments

* added tests for the comments

* added first() matcher to fix comment test

* still trying to fix comment tests' null progress bar

* getting rid of that null progress bar

* added comment test

* fixed merge error

* added like button test

* added more post tests

* took pr coments into account

* added back an old test

* added mockServer response for comment test and fixed comment null pointer bug

* changed notification UI to better separate notifications

* added mockserver response for likes and corrected like toggling error

* added a test for posting comments

* fixed typo in test

* a gift for code climate

* refactored stuff

* fixed broken imports

* comment refactored as xml

Co-authored-by: Matthieu <61561059+Wv5twkFEKh54vo4tta9yu7dHa3@users.noreply.github.com>
Co-authored-by: mjaillot <marie.jaillot@epfl.ch>
2020-04-11 12:55:06 +02:00
Wv5twkFEKh54vo4tta9yu7dHa3 8af19cbd9a
Hide keyboard on clicking connect (#103) 2020-04-10 16:12:03 +02:00
Wv5twkFEKh54vo4tta9yu7dHa3 2333e5ec11
refactor profiles, add scrolling to fragments (#101)
* refactor profiles, add scrolling

* Undo unwanted changes by merge
2020-04-10 12:55:02 +02:00
Ulysse Widmer a14310bbfc
refactor MocKServer for test and some lint warnings (#102) 2020-04-10 12:25:54 +02:00
mjaillot 1b6753d119
User profile #79 (#90)
* Refactored myProfile page

* Total refactor of profile posts

* Merged with my-profile

* Posts displayed on profile page

* Added links to profile activity where needed

* Removed MyProfileTest with swipes

* Tests ProfileActivity from Notifications

* Add test, fix progressbar being null
2020-04-09 22:36:59 +02:00
Sanimys 5372e7e9ee
Merge pull request #85 from H-PixelDroid/scroll_load
Load images in advance, infinite scrolling
2020-04-03 10:32:19 +02:00
Matthieu 0ac44ac561 remove useless override 2020-04-03 09:35:42 +02:00
Matthieu 0d6a5b6c86 Refactor into superclass 2020-04-03 09:11:57 +02:00
Matthieu aedd697759 other merge-induced problems 2020-04-03 07:43:11 +02:00
Matthieu 5d975bb0aa remove files that shouldn't have been added back in from merge 2020-04-03 07:39:28 +02:00
Wv5twkFEKh54vo4tta9yu7dHa3 17c74dd430
Merge branch 'master' into scroll_load 2020-04-03 07:33:22 +02:00
Matthieu cad875a065 github is being weird 2020-04-03 07:23:08 +02:00
Matthieu 8f19a7f8c3 try to make database stop being annoying 2020-04-02 22:41:31 +02:00
Matthieu 8873b5692f github is being weird 2020-04-02 22:28:39 +02:00
Matthieu 1a684b7a47 Add comments, clean up 2020-04-02 22:16:03 +02:00
Matthieu 5f349e1cfd Update tests 2020-04-02 20:22:48 +02:00
Matthieu ba8980652c Infinite loading, make glide aware of the recyclerview 2020-04-02 19:57:07 +02:00
Wv5twkFEKh54vo4tta9yu7dHa3 61cdb1118b
WIP: Loading (#76)
* Add loading indications, refactor fragments into common parent class

* Add cirrus

* actually add cirrus

* Add timeouts

* Fix test rules

* Add gitlab ci file to tes

* move tests to MockedServer to not have infinite waits by Espresso

* Update README for gitlab badge
2020-04-01 19:38:21 +02:00
Matthieu ff4476247c Update README for gitlab badge 2020-03-31 16:24:32 +02:00
Matthieu 852f16e468 Proper cirrus value 2020-03-31 16:03:02 +02:00
Matthieu 818e124b04 Try to fix gitlab ci 2020-03-31 15:17:26 +02:00
Matthieu fcec1029fc move tests to MockedServer to not have infinite waits by Espresso 2020-03-31 14:43:16 +02:00
Wv5twkFEKh54vo4tta9yu7dHa3 ece6716e2d
Merge branch 'master' into loading 2020-03-31 13:07:35 +02:00
Ulysse Widmer bf808725db
Merge pull request #82 from H-PixelDroid/issue/81
fix tests using swipe motion
2020-03-31 12:14:36 +02:00
Ulysse Widmer 095525f701 minor refactor and updt some versions in gradle 2020-03-31 11:11:02 +02:00
Matthieu ee86bd532b remove comments from script 2020-03-31 09:17:40 +02:00