* 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>
* Migrate History screen to Compose
- Migrate screen
- Strip logic from presenter into use cases and repository
- Setup for other screen being able to migrate to Compose with Theme
* Changes from review comments
This is a partial revert/evolution of 538dd60580
- Back to notifications, because Android 12+ may cut off toasts
- Notifications now automatically dismiss after 30s on Android 8+ (taken from J2K)
- Also warn if more than 30 chapters are queued for download
* Use existing worker for manual backup creation
This will show the "creating backup" notification when auto backup is
running. Complete or error notification will continue to be shown only on
manual job.
* Make sure disabling auto backup don't cancel running manual backup job
Reappear stably on the api30 Android Studio Emulator,
first save a large backup file,
then save a small backup file, overwriting the previous larger backup file,
so you get a backup file with a larger size but only the first part is meaningful,
* pan if the image is zoomed instead of navigating away
quickly display full landscape image before zooming to fit height in fit to screen
* add Tap to pan preference, defaults to true
add landscape zoom preference, defaults to false
* hide landscape image zoom option if scale is not fit screen
* fix landscape image zoom for first image and loading image
* properly reload pagerholders when landscape zoom option is changed
* enable landscape zoom by default
* added duplicate manga check
When adding a manga to your library, the app will go through each manga previously added and compare their names. If a match is detected, it will prompt the user and ask for confirmation. On this prompt there is also an option to view the other manga.
* added german translations for newly added strings
* Revert "added german translations for newly added strings"
This reverts commit 71ada620671651daeeb2546aecd02400a4bc86bc.
* changed `AlertDialog.Builder` to `MaterialAlertDialogBuilder`
* using SQL query instead of filtering entire library with Kotlin