* Switch to androidx for settings
* Implement all settings
* Added all pages to settings
* Add toolbar to settings
* Left align all preferences
* Migrate to androidx preference manager
* Migrate settings functions
* Implement dark theme in settings page
* Remove old settings files
* Remove unused resources
Co-authored-by: Amine Bou <510304+aminecmi@users.noreply.github.com>
* Upgrade material drawer library
* Add footer options to drawer
* Apply styles to drawer
* Added sources and tags to side drawer
* Hide bottom bar when the side drawer is opened
* Display hamburger icon to open the side drawer
* Add information about libraries to the side drawer
* Cleanup
* Implement reloading badges
* Add buildconfig variables for debug testing
* Allow marking articles as read from the article reader (#346)
* Add new items according to the selfoss id, to avoid duplicate items.
* Migrate setting articles as read from ArticleFragment to SharedItems
* Removed unused assertion
* Allow marking articles as read from the article reader
* Added contributors, because they deserve it !
Co-authored-by: Amine Bou <510304+aminecmi@users.noreply.github.com>
* Add new items according to the selfoss id, to avoid duplicate items.
* Migrate setting articles as read from ArticleFragment to SharedItems
* Removed unused assertion
* Allow marking articles as read from the article reader
* Refactor Item addition and deletion
* Metods to filter the items according to read and starred status
* Remove displayed items only if displaying unread items
* Remove unnecessary api calls on tab change and delegate item storage to SharedItems
* Store articles in SharedItems when they get fetched
* Add tag filtering
* Mark items as read
* Disable sorting function
* Add function to get the unread status of an element.
* Fetch items on pull gesture
* Move marking as read logic in SharedItems.
* Delegate item status to SharedItems
* Allow changing unread status of items
* Use full article position reference and not the relative one
* Delegate marking items as unread to SharedItems
* Delegate database addition of Items to SharedItems.
* Function to only provide connectivity information
* Better database management
* Sort items by date
* Provide information about item caching to SharedItems
* Add missing imports
* Update database after fetching articles
* Add missing variable
* Remove unused import
* Use coroutines to access database
* Use coroutines to simultaneously fetch articles.
* Update database after fetching articles.
* Don't block thread when accessing the database
* Prevent crash if connectivity is lost while fetching articles
* Show "Not connected" snackbar if there is no connection or connection is lost during download
* Use coroutines in the background sync
* Added function to get only new items
* Introduced function to filter articles
* Don't execute background sync if the option is disabled
* Improve item filtering
* Apply filters when they are selected on the UI
* Handle infinite scroll
* Incorrect parameters were passed
* Simplify tab selection logic
* Upgrade kotlin jvm to version 1.8
* On tab change fetch new items if the item list is not completely populated
* Remove redundant assignations.
* Fetch articles when changing tag, source or search if the list is not fully populated
* Fetch only the article in the tab selected
* Correct inconsistent position address
* Disable swiping articles only if favorites are selected
* Delegate badge count to SharedItems
* Clear the database when the app starts in order to avoid accumulation and inconsistencies
* Remove unused functions and variables
* Do not overwrite fetched items with old copies from the database
* Display "There's nothing here" only if there are no articles
* Adapt function to read all articles to the new changes
* Use IO Dispatcher for Database and Network computations
* Adapt Background sync to the usage of SharedItems
* Handle refresh gesture appropriately by refreshing the whole items list
* Remove unused imports
* Added Object SharedItems to store all the articles in one class and allow sharing the data among activities
* Introduced functions to set articles as read globally
* Start migration of items into SharedItems
* Set date format according to api version.
* Check new date format in items.
* Global date formatter.
* Ensure api version has been fetched before checking.
* Move api check to MyApp.
* Store api version and select correct date formatter when offline.
* Check api in Home, allow null values.
* Detect click on images in WebView
* First stub of the fragment to show the image in full screen
* Scale image dimension to fit the display
* Hide toolbar from Image view
* Add back button to the Image view
* Open one image on tap
* Allow zooming on images
* Revert to using Toolbar for navigation.
* Remove vibration when opening the Image view
* Do not open links associated with images
* Send all images in the webpage to the Image fragment.
* Change image on swipe
* Store article images in cache in background.
* Use PhotoView in place of WebView to display images. Implemented a pager to swipe through images.
* Removed debugging logging.
* Created new LoggingInterceptor that doesn't log any errors related to SocketTimeoutException.
* Formatted with ktlint
* Intercept timeoutException to bypass the logging but still throwing an exception.