* 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>
(cherry picked from commit b1f46ed8302411fbd884bbc3c26fe28a378fd91a)
# Conflicts:
# app/src/main/java/eu/kanade/tachiyomi/data/database/DatabaseHelper.kt
# app/src/main/java/eu/kanade/tachiyomi/data/database/DbOpenCallback.kt
# app/src/main/java/eu/kanade/tachiyomi/data/database/queries/HistoryQueries.kt
# app/src/main/java/eu/kanade/tachiyomi/data/database/tables/CategoryTable.kt
# app/src/main/java/eu/kanade/tachiyomi/data/database/tables/MangaTable.kt
# app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaController.kt
# app/src/main/java/eu/kanade/tachiyomi/ui/setting/database/ClearDatabasePresenter.kt
# build.gradle.kts
* 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
(cherry picked from commit c475acd1eaf9f1fd9394f126a8a6f3c0daf52048)
# Conflicts:
# app/build.gradle.kts
# app/src/main/java/eu/kanade/tachiyomi/App.kt
# app/src/main/java/eu/kanade/tachiyomi/data/database/queries/HistoryQueries.kt
# app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderActivity.kt
# settings.gradle.kts
* 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
(cherry picked from commit 71ddb1657440d54178f10fd62e3d0c66ee95a5a0)
This doesn't make sense to have if the intention is to have reasonably sized global updates. Opting to remove it to remove complexity instead.
(cherry picked from commit 65062b4bcbe65ffc75a6c5e656d39c91be327d63)
# Conflicts:
# app/src/main/java/eu/kanade/tachiyomi/data/database/queries/MangaQueries.kt
# app/src/main/java/eu/kanade/tachiyomi/ui/setting/SettingsLibraryController.kt
* Implement feature to selectively clear manga from database based on it's source
* Code cleanup and refactoring
(cherry picked from commit 9fe1a7e2ae14c4d7e70bfd85516d91c44514f04a)
# Conflicts:
# app/src/main/java/eu/kanade/tachiyomi/data/database/queries/MangaQueries.kt
# app/src/main/java/eu/kanade/tachiyomi/data/database/queries/RawQueries.kt
# app/src/main/java/eu/kanade/tachiyomi/ui/setting/SettingsAdvancedController.kt
each TrackService can convert it to Int if decimal chapters are not supported
(cherry picked from commit 2cd87332125e8b4c703d2b8f47cfc0d540118a97)
# Conflicts:
# app/src/main/java/eu/kanade/tachiyomi/data/database/DbOpenCallback.kt
* Use ActivityCompat.recreate
* Use more KTX extensions
* Use PackageInfoCompat.getLongVersionCode
* Remove unnecessary compat usages
(cherry picked from commit 12a9d0575d432a4bc2f2c471e864d26205aba953)
* Imported implementation for updating library by next expected update from Neko. This sort uses the last 4 updates for a manga to compute an average time between updates and then extrapolates when the next update should occur.
Currently seems to work perfectly. However, I may have silently messed something up along the way.
All code and algorithms are credited to kyjibo on GitHub. The original commit adding this functionality is here: 681003926a
* Imported implementation for updating library by next expected update from Neko. This sort uses the last 4 updates for a manga to compute an average time between updates and then extrapolates when the next update should occur.
Currently seems to work perfectly. However, I may have silently messed something up along the way.
All code and algorithms are credited to kyjibo on GitHub. The original commit adding this functionality is here: 681003926a
* Remove commented-out line from LibraryUpdateRanker
I missed removing this when first committing. The removed line is a holdover from Neko, which requires 7+, but I removed the function that requires this.
(cherry picked from commit 70ed49e4782579d6ce2e91ace75ef44f8460a64a)
# Conflicts:
# app/src/main/java/eu/kanade/tachiyomi/data/database/DbOpenCallback.kt
# app/src/main/java/eu/kanade/tachiyomi/data/database/queries/MangaQueries.kt
# app/src/main/java/eu/kanade/tachiyomi/data/database/tables/MangaTable.kt
* Add flags for sorting per category
* Add logic to LibrarySettingsSheet
* Add logic to LibraryPresenter
* Minor tweaks
* Use enum instead of variables
Also deprecates LibrarySort in favour of the new enum classes
* Remove debug log and suppress deprecation
* Convert DisplayMode setting to enum
Also fix bug were adapter would get de-synced with the current per category setting
* Fix migration crashing app due to values being access before migration
(cherry picked from commit 60890147c3c24ac30a75bfb8c4fab7b8cccd60be)
# Conflicts:
# app/build.gradle.kts
# app/src/main/java/eu/kanade/tachiyomi/data/database/models/Category.kt
# app/src/main/java/eu/kanade/tachiyomi/data/preference/PreferenceValues.kt
# app/src/main/java/eu/kanade/tachiyomi/data/preference/PreferencesHelper.kt
# app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/BrowseSourceController.kt
# app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/SourceItem.kt
# app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryCategoryView.kt
# app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryItem.kt
# app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryPresenter.kt
# app/src/main/java/eu/kanade/tachiyomi/ui/library/LibrarySettingsSheet.kt
# app/src/main/java/eu/kanade/tachiyomi/ui/main/MainActivity.kt
* Add manga-wised rotation mode settings
Based on #3522
Co-authored-by: bboyz269 <4453811+bboyz269@users.noreply.github.com>
* Fix small mistakes
* Complete TODOs
* Rename functions
rotation -> orientation
* Fix orientation icon not changing
Bug from video
* Fix bug with force portrait not being force if a default value
Bug from video
* Backup viewer_flag as a seperate field in so legacy/forks doesn't crash
* Make viewer_flags nullable so old backups viewer gets restored
* Add migration for old rotation and viewer to new defaults ones
* Rename variable in enums
* Fix migration after OrientationType was changed
* Remove untrue comment
Co-authored-by: bboyz269 <4453811+bboyz269@users.noreply.github.com>
(cherry picked from commit 0fef546a0d4b2a78089b0880564e80708afbe1da)
# Conflicts:
# app/build.gradle.kts
# app/src/main/java/eu/kanade/tachiyomi/data/backup/full/models/BackupManga.kt
# app/src/main/java/eu/kanade/tachiyomi/data/database/models/Manga.kt
# app/src/main/java/eu/kanade/tachiyomi/data/preference/PreferenceKeys.kt
# app/src/main/java/eu/kanade/tachiyomi/data/preference/PreferencesHelper.kt
# app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/search/SearchPresenter.kt
# app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderActivity.kt
# app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderPresenter.kt
Spamming the list post-migration is currently a more common usecase than sources without chapter dates. We'll need to figure out a better way of handling both scenarios.
(cherry picked from commit 5b23f29d06da74c237d8e0ecc7772773ca0b4c1e)
* add sort by date fetched in library
* chapter fetch date to 8
(cherry picked from commit ddd4cc10ff12d2497a001821c678f2c1a90eef34)
# Conflicts:
# app/src/main/java/eu/kanade/tachiyomi/data/database/queries/MangaQueries.kt
# app/src/main/java/eu/kanade/tachiyomi/ui/library/LibrarySettingsSheet.kt
# app/src/main/java/eu/kanade/tachiyomi/ui/library/LibrarySort.kt