* 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