Commit Graph

54 Commits

Author SHA1 Message Date
Matthieu ccadaac718 Catch filenotfoundexception, add build variant for debug 2021-05-19 11:05:44 +02:00
Matthieu 0ebabf3fa7 receive share intents 2021-05-08 20:36:02 +02:00
Matthieu 1ce5c54055 rename app id 2021-04-22 11:47:18 +02:00
Matthieu 8b90e17fc4 Restore integration tests in CI 2021-02-17 22:55:31 +01:00
mjaillot 9ddbe8e0e6 Fix search 2021-01-07 19:54:39 +01:00
Matthieu 12ed06cce8 Move ReportActivity to posts package 2020-12-28 15:20:31 +01:00
Matthieu 0a4d285d14 Big reorganization of code into logical units (#251)
Not much actual code is changed
2020-12-26 12:10:54 +01:00
Matthieu 6bf532698a Prepare for alpha 4 release 2020-10-04 23:40:42 +02:00
Matthieu 50dd0bad51 Add reporting and link sharing functionality, polish UI 2020-10-04 23:27:06 +02:00
Matthieu 0910ef176a Create About activity with licenses and dependency list 2020-09-25 16:46:01 +02:00
Matthieu 21925e7af4 Dependency injection
Configure dependency injection for API and the database. Uses Dagger (dagger.dev)

The API is held in a holder, so that it can be invalidated or recreated as needed.

Big refactor of the feeds, this introduces a bit more duplication of code (some very similar methods that differ only in the types or minor details), but now the inheritance makes more sense and there is less "forcing" to make the inheritance work (for example: no more casting Int to String just to have the right type for the key)
It should be easier to work with the feeds in the future, maybe we'll find better abstractions later on.
2020-07-26 20:56:01 +02:00
Sanimys 7981ae8643
enable creating albums (#229)
* Moved the crop button so that it doesn't take space in the activity

* Semi transparent in the middle, same position than the image

* First draft of the album creation

* choose multiple images in gallery

* Added functionalities to Album creation

* merge with master

* Gallery of images selected for the album creation

* to merge with master

* Images editable individually

* Creation of album is now possible

* Added tests

* Added test to edit picture selected

* merge PostCreation and AlbumCreation

* Merged completely PostCreation and AlbumCreation

* removed albumCreation in Manifest

* Refactored slightly

* Don't re-upload all images at each edit, only re-upload one

* Make sure all images are uploaded, correctly calculate progress

* comment assert, sorry

* fix test

* fix merge

Co-authored-by: Joachim Dunant <joachim.dunant@epfl.ch>
Co-authored-by: Matthieu <61561059+Wv5twkFEKh54vo4tta9yu7dHa3@users.noreply.github.com>
2020-06-05 23:49:28 +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
Andrew Dobis f9835204be
fixed visual dark mode bug (#184) 2020-05-19 17:19:35 +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
Andrew Dobis 72bb559468
set orientation to fixed portrait (#148) 2020-05-03 22:53:24 +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
Wv5twkFEKh54vo4tta9yu7dHa3 94635f5b72
Add splash screen to avoid white screen while opening (#112) 2020-04-23 19:49:30 +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
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
Ulysse Widmer 0b681d9b6b Merge branch 'master' into feature/upload-pictures 2020-03-18 01:19:04 +09: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
Wv5twkFEKh54vo4tta9yu7dHa3 d0195bfe1b
Fix build and switch to Home timeline (#59)
* Switch to Home timeline

* Fix broken tests

* DRY-ed up the tests, remove extraneous activity
2020-03-17 15:14:19 +01: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
Wv5twkFEKh54vo4tta9yu7dHa3 20c5ff4ee0
First use login flow (#44)
* transform profile activity into fragment

* Implement swipeable tabs

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

* 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

* remove unused function

* remove test dependent on network

* update test

* remove test

Co-authored-by: Ulysse Widmer <ulysse.widmer@epfl.ch>
2020-03-13 11:48:45 +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 0df8cb9c7a Add parent activity to profile 2020-03-08 13:16:55 +01:00
Matthieu 1d13b5e621 Move settings to activity, remove upper bar 2020-03-08 12:54:18 +01:00
Ulysse Widmer a6bdaf4044 put navigation drawer layout items last or it doesn't appear 2020-03-08 19:40:39 +09:00
Ulysse Widmer edbf3aafa7 resolved conflicts before merge 2020-03-08 19:17:26 +09:00
Wv5twkFEKh54vo4tta9yu7dHa3 f0d5f918e2
Merge branch 'master' into oath 2020-03-07 19:02:45 +01:00
Matthieu b79ebca03a Some more tests, move values into xml 2020-03-07 18:13:26 +01:00
Matthieu 33f0711b1f Finish authentication 2020-03-06 18:24:20 +01:00
Matthieu b214238457 Remove extraneous spaces 2020-03-06 09:00:18 +01:00
Matthieu d0ca08391b Add button to main activity to start a login process 2020-03-06 08:49:26 +01:00
Matthieu 3a56a354c5 Formatting in manifest 2020-03-06 00:16:47 +01:00
Matthieu 25c2a211a6 Remove PostActivity 2020-03-06 00:15:42 +01:00
Matthieu 03ec30ef28 Remove useless network requests, change names 2020-03-06 00:11:12 +01:00
mjaillot 88193dd588 Merge 2020-03-05 23:16:48 +01:00
Sanimys 10ee546ab9
Merge branch 'master' into settingsUI 2020-03-05 22:06:49 +01:00
Joachim Dunant 0ec320792a Cleaned code in fragments, Manifest, gradle build and MainActivity 2020-03-05 21:48:25 +01:00
Joachim Dunant e7e3d19475 First implementation of settings UI & Main menu drawer 2020-03-05 21:07:10 +01:00
Andrea Clement 28be144b91 deleted reference to login template 2020-03-05 19:00:15 +01:00
mjaillot 72f95f70b9 Merge 2020-03-05 18:38:10 +01:00
Andrew Dobis 8a026d0bd4 renamed pdf 2020-03-05 18:29:10 +01:00