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