1:1 translation from the RxJava implementation, should match the
previous behavior.
Dropped the return value from functions of the form
```
fun foo(t: T, ...): Observable<T>
```
where the Observable produced the original argument `t`.
The caller already has the result if necessary.
While this conversion is not flow-based overall, some sections use
flows to use the flatMapMerge and retryWhen operators.
Removed RetryWithDelay as it was only used here.
Inlined fetchAllImageUrlsFromPageList instead of converting it to a
suspending equivalent. fetchAllImageUrlsFromPageList is no longer
used in the app, but was not removed as it is part of source-api.
(However, it does not seem to be used exposed in extensions-lib or
used in tachiyomi-extensions.)
runBlocking is used as a temporary stop-gap.
(cherry picked from commit fa61c8fe6fb4966f5d23f643759f0e4229b8f016)
# Conflicts:
# app/src/main/java/eu/kanade/tachiyomi/data/download/Downloader.kt
* Lessen the use of GlobalScope `launchIO`
* Wrap some calls with `NonCancellable` context
(cherry picked from commit da95ecb6869314f35eb73c6d9245b4e0d127f22d)
# Conflicts:
# app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryPresenter.kt
# app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaPresenter.kt
* MangaUpdates tweaks
* Review changes
Co-authored-by: arkon <4098258+arkon@users.noreply.github.com>
* Use built in functions instead of Jsoup
Co-authored-by: arkon <4098258+arkon@users.noreply.github.com>
(cherry picked from commit c8468c29f1b65ce5e3a3680b3f095cf003d2f89d)
* 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
Apparently 0 quantity is ignored for some locales...
(cherry picked from commit 071bad123208274a8d4858038b4073a0ce208aa3)
# Conflicts:
# app/src/main/java/eu/kanade/tachiyomi/ui/setting/SettingsAdvancedController.kt
* Use relative time in ChapterHolder
Similar to how J2K does it
* Use custom implementation for relative time
* Changes based on review comments
(cherry picked from commit 57a5862840eafc0848c5226376f2f22c48693e5a)
# Conflicts:
# app/src/main/java/eu/kanade/tachiyomi/ui/manga/chapter/ChapterHolder.kt
* Use Material Components' dialogs
For all dialogs that has direct replacement.
* Convert text input dialogs
* Convert quad-state multi choices dialogs
* Convert date picker dialogs
This also changes the flow to remove selected start/finish tracking date and
the track item itself
* Remove material-dialogs dependencies
(cherry picked from commit ae97bb04458c6a754c6e0ca05a2a3b96ce16894f)
# Conflicts:
# app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/search/SearchController.kt
# app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/BrowseSourceController.kt
# app/src/main/java/eu/kanade/tachiyomi/ui/main/WhatsNewDialogController.kt
# app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderPageSheet.kt
# app/src/main/java/eu/kanade/tachiyomi/ui/setting/SettingsAdvancedController.kt
# app/src/main/java/eu/kanade/tachiyomi/ui/setting/SettingsBackupController.kt
# app/src/main/java/eu/kanade/tachiyomi/ui/setting/SettingsDownloadController.kt
Also fixes the crash in tracking when an exception is thrown during a refresh.
(cherry picked from commit 2ffbee3db21d188b163b27c7dfdb156c590ceb13)
# Conflicts:
# app/src/main/java/eu/kanade/tachiyomi/data/updater/github/GithubUpdateChecker.kt
# app/src/main/java/eu/kanade/tachiyomi/extension/api/ExtensionGithubApi.kt
# app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/search/SearchPresenter.kt
* Viewer navigation
Co-authored-by: Harsh Parekh <h.x.dev@outlook.com>
* Match current reader behavior and add ability to invert it
* A bit of clean up
* Clean up inversion
* Only create navigator when changed
and change tap zone when invertTapping is changed
* Clean up PagerConfig
* Change how Viewer navigation works
* Add Edge Navigation
Co-authored-by: Harsh Parekh <h.x.dev@outlook.com>
(cherry picked from commit d69e9034ab5b1b23250b2f529d957f60b9084865)
# Conflicts:
# app/src/main/java/eu/kanade/tachiyomi/ui/reader/viewer/webtoon/WebtoonConfig.kt
# app/src/main/res/layout/reader_settings_sheet.xml
TODO: make the rest of the app actually call the 1.x functions
(cherry picked from commit 2ab6af6471766c537a8a04f9221a652f0ee3a781)
# Conflicts:
# app/src/main/java/eu/kanade/tachiyomi/source/model/SManga.kt