- Remove redundant chapter sorting logic when fetching next chapter(s)
- Remove redundant download queue checks (it'll handle already queued or downloaded items)
- Trigger download ahead when read >= 25% of chapter rather than 20%
- Rely on download cache when checking if next chapter is downloaded to avoid jank (fixes#8328)
(cherry picked from commit fc184f1cfa929328c41b0ec374503afe204d6c15)
# Conflicts:
# app/src/main/java/eu/kanade/tachiyomi/data/library/LibraryUpdateService.kt
# app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderPresenter.kt
Since users seem to be confused now that the library loads before download info is shown...
(cherry picked from commit fde7bfa3d17ce2e02df5625836eb739aeaab7863)
* 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>
(cherry picked from commit 0086743a5311c22fb8c07f596ab5de384862a68a)
# Conflicts:
# app/src/main/java/eu/kanade/domain/source/interactor/GetEnabledSources.kt
# app/src/main/java/eu/kanade/tachiyomi/App.kt
# app/src/main/java/eu/kanade/tachiyomi/AppModule.kt
# app/src/main/java/eu/kanade/tachiyomi/data/library/LibraryUpdateNotifier.kt
# app/src/main/java/eu/kanade/tachiyomi/data/preference/PreferencesHelper.kt
# app/src/main/java/eu/kanade/tachiyomi/ui/main/MainActivity.kt
# app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderActivity.kt
# app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderPresenter.kt
# app/src/main/java/eu/kanade/tachiyomi/ui/setting/SettingsAdvancedController.kt
# core/src/main/java/eu/kanade/tachiyomi/network/NetworkHelper.kt
* Add cancel button in app update download notif
Since stuck downloads are a common issue and only solution until now was
to force close the app or download and update the app manually by
downloading from GitHub (which clears the notif away)
Based on commit
4dea924337
Co-authored-by: Jays2Kings <8617760+Jays2Kings@users.noreply.github.com>
* Linting by Android Studio
* commit PR Review Suggestion
Update app/src/main/java/eu/kanade/tachiyomi/data/notification/NotificationReceiver.kt
Co-authored-by: arkon <arkon@users.noreply.github.com>
* Use `launchIO`
copied this over from how j2k was doing it. Launching in IO Thread like
how it was before this PR is sufficient
* Clear previous actions before adding `Cancel`
Otherwise, it led to two identical Cancel buttons
Co-authored-by: Jays2Kings <8617760+Jays2Kings@users.noreply.github.com>
Co-authored-by: arkon <arkon@users.noreply.github.com>
(cherry picked from commit fdf384b8092d09f0a4e68c5688f9c1c1e94c80d0)
- Add pending intent immutable flags to satisfy lint warnings
- Change AddDuplicateMangaDialog arg to a function instead to avoid leaking controller-specific logic into it
- Require WebView 99+
(cherry picked from commit d3f9232a3fa50e02af110b5320b4fcf4bcccb3cd)
* 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
This is a partial revert/evolution of 538dd60580f1b97993620b05d353db883e44b552
- 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
(cherry picked from commit e81bd61e24d4d773dddce7f7fd11713fb511e8fb)
# Conflicts:
# app/src/main/java/eu/kanade/tachiyomi/data/download/Downloader.kt
# app/src/main/java/eu/kanade/tachiyomi/data/library/LibraryUpdateService.kt
* Use MediaStore on newer Android Q or newer
* Use flow instead of Observable
* Review comment fixes
* Use suspended function instead of flow
(cherry picked from commit 1163aa4e4ecfe6f430e7f7c8323c0f64c73d7dbd)
# Conflicts:
# app/src/main/java/eu/kanade/tachiyomi/AppModule.kt
# app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaPresenter.kt
# app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderActivity.kt
# app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderPresenter.kt
- Uses toasts now
- Adjusted wording to emphasize effect on sources
- Download warning has a different threshold (15 chapters per source, vs. 60 entries per source for library update)
(cherry picked from commit 538dd60580f1b97993620b05d353db883e44b552)
# Conflicts:
# app/src/main/java/eu/kanade/tachiyomi/data/download/Downloader.kt
# app/src/main/java/eu/kanade/tachiyomi/data/library/LibraryUpdateService.kt
Arbitrarily set at a size of 100 for now. We could adjust this in the future as appropriate if needed.
(cherry picked from commit 082eef708fc50f4b26b499bfd50e9046ec26637a)
# Conflicts:
# app/src/main/java/eu/kanade/tachiyomi/data/download/Downloader.kt
* Implement new extension install methods
* Fixes
* Resolve feedback
* Keep pending status when waiting to install
* Cancellable installation
* Remove auto error now that we have cancellable job
(cherry picked from commit b284384f0ad318fea24e7324a4621e12eb9aca7f)
# Conflicts:
# 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/extension/ExtensionHolder.kt
# app/src/main/java/eu/kanade/tachiyomi/ui/setting/SettingsAdvancedController.kt
Users can exclude things from updating if needed, or disable the notification channel from system settings.
(cherry picked from commit fce3cd00a1f7ed557c04a40d676c6a32a4237482)
* Show notification to disable Incognito Mode when it's enabled
* Finish ReaderActivity and BrowseSourceController when incognito is disabled
* CLeanup strings
* Only register DisableIncognitoReceiver when needed
(cherry picked from commit cb203ef02cc3c078d5e5717b98ef1db1cf570586)
# Conflicts:
# app/src/main/java/eu/kanade/tachiyomi/App.kt
# app/src/main/java/eu/kanade/tachiyomi/data/notification/Notifications.kt