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