* Use 1.x preference abstraction
- Uses SharedPreferences compared to 1.x impl which uses DataStore but it breaks all settings screens currently
- Move PreferencesHelper to new PreferenceStore
- PreferencesHelper should be split into smaller preference stores and be in core or domain
- Remove flow preferences as new PreferenceStore handles changes for us
Co-authored-by: inorichi <3521738+inorichi@users.noreply.github.com>
* Fix PreferenceMutableState not updating
* Fix changes not emitting on first subscription
Co-authored-by: inorichi <3521738+inorichi@users.noreply.github.com>
* Change return value of `SyncChaptersWithSource.await()`
`updatedToAdd.subtract(reAdded).toList()` never worked as at this point `updatedToAdd` contained ids from db where `reAdded` had default one. Was the same case before the rewrite.
Removed `toDelete` from return value as it was not being used anywhere
* Add doc string
* Use HashSet
Co-authored-by: stevenyomi <95685115+stevenyomi@users.noreply.github.com>
Co-authored-by: stevenyomi <95685115+stevenyomi@users.noreply.github.com>
* Use sqldelight in migration
* Some more changes
Co-Authored-By: Ivan Iskandar <12537387+ivaniskandar@users.noreply.github.com>
* Review Changes
* Review changes 2
* Review Changes 3
* Review Changes 4
Co-authored-by: Ivan Iskandar <12537387+ivaniskandar@users.noreply.github.com>
Co-Authored-By: Ivan Iskandar <12537387+ivaniskandar@users.noreply.github.com>
Co-authored-by: Ivan Iskandar <12537387+ivaniskandar@users.noreply.github.com>
* Make `syncChaptersWithSource` use sqldelight
Will break chapter list live update on current ui
Co-Authored-By: Ivan Iskandar <12537387+ivaniskandar@users.noreply.github.com>
* Review Changes
Co-authored-by: Ivan Iskandar <12537387+ivaniskandar@users.noreply.github.com>
* Migrate History screen database call to SQLDelight
- Move all migrations to SQLDelight
- Move all tables to SQLDelight
Co-authored-by: inorichi <3521738+inorichi@users.noreply.github.com>
* Changes from review comments
* Add adapters to database
* Remove logging of database version in App
* Change query name for paging source queries
* Update migrations
* Make SQLite Callback handle migration
- To ensure it updates the database
* Use SQLDelight Schema version for Callback database version
Co-authored-by: inorichi <3521738+inorichi@users.noreply.github.com>