We can probably clean up the same logic in the manga controller at some point too, but that stuff's messy.
Also fixes the spacing issue that the new icon introduced.
(cherry picked from commit 33e90d64497f920be825b803e1342a2e6c937111)
# Conflicts:
# app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryPresenter.kt
* Add ability to open random manga
* Use `getMangaForCategory` instead
* Put it in overflow menu instead of using EFAB
* Partial review changes
* Merge remote-tracking branch 'refs/remotes/origin/patch-6' into patch-6
# Conflicts:
# app/src/main/java/eu/kanade/presentation/library/LibraryScreen.kt
* Merge remote-tracking branch 'refs/remotes/origin/patch-6' into patch-6
# Conflicts:
# app/src/main/java/eu/kanade/presentation/library/LibraryScreen.kt
* Wording changes
(cherry picked from commit f5451a68812f56d9427a9b771f6bed00f8fbd7e6)
# Conflicts:
# app/src/main/java/eu/kanade/presentation/library/LibraryScreen.kt
# app/src/main/java/eu/kanade/presentation/library/components/LibraryToolbar.kt
Don't block on cache renewals, but notify library on updates so that the badges show up when ready.
We skip the cache when checking if a chapter is downloaded for the reader assuming that it's a
relatively low cost to check for a single chapter.
(Probably) fixes#8254 / fixes#7847
(cherry picked from commit 7e40680af02505f82fa3655d2d693092c6bd43a1)
# Conflicts:
# app/src/main/java/eu/kanade/tachiyomi/data/download/DownloadCache.kt
# app/src/main/java/eu/kanade/tachiyomi/extension/ExtensionManager.kt
# app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderPresenter.kt
* logic and a bit of cleanup
* cleanup done
* grammar fix
* fixing format
* Auto stash before checking out "HEAD"
* Revert "Auto stash before checking out "HEAD""
This reverts commit 202374a36ff444b7da3fcdb2a9859ca71a7c046e.
* Update app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryPresenter.kt
Co-authored-by: arkon <arkon@users.noreply.github.com>
* cleanup
Co-authored-by: arkon <arkon@users.noreply.github.com>
(cherry picked from commit e1adb89ff8ed1759fcab08ed70b596b41bf3c88c)
- Move loading state into scaffold (closes#7704)
- Move logic into presenter
- Make some composables private
(cherry picked from commit 0e3176a77c925bb7f9d9f87bf68476563f9b9e9e)
* 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
* 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
- Filters do affect this
- Won't be shown if tabs aren't visible and there's more than 1 category (so it'd always show the per-category count), but a separate stats page should show that info instead
(cherry picked from commit 8a3a7418d055b500517ef6c9c5623328ae01bc10)
# Conflicts:
# app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryPresenter.kt
* Tweak flag classes for Library
- Add interface for Flag and Mask
- Merge Sort Type and Direction into one class
- Use custom serializers for preferences
- Mainly to not break the old
* Review changes
(cherry picked from commit 880407442c598d1b63db8be43f4848550dc17ff1)
# Conflicts:
# app/build.gradle.kts
# app/src/main/java/eu/kanade/domain/category/interactor/SetDisplayModeForCategory.kt
# app/src/main/java/eu/kanade/domain/category/interactor/SetSortModeForCategory.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/LibraryPresenter.kt
# app/src/main/java/eu/kanade/tachiyomi/ui/library/LibrarySettingsSheet.kt
# app/src/main/java/eu/kanade/tachiyomi/ui/library/setting/SortDirectionSetting.kt
# app/src/main/java/eu/kanade/tachiyomi/ui/library/setting/SortModeSetting.kt
- Allow large decrements (just goes to 0)
- Use Material3 text field for proper theming
- Move dialog composable to presentation package
(cherry picked from commit 03b9950fa15974f1a599a96c26177a612bed5c9d)
# Conflicts:
# app/src/main/java/eu/kanade/presentation/more/settings/database/components/ClearDatabaseDialogs.kt
# app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaController.kt
* Move a few Dialogs to Compose
- Separating dialogs that are not needed in the PR for the move to Compose on the Browse Source screen
- ChangeMangaCategoriesDialog and AddDuplicateMangaDialog will be removed in the Browse Source screen PR
* Review changes
(cherry picked from commit 2453d1a8861d61b03dce398fad169e556551b400)
# Conflicts:
# app/src/main/java/eu/kanade/presentation/library/LibraryState.kt
# app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryController.kt
# app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryPresenter.kt
# app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaController.kt
# app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaPresenter.kt
Also fix sort direction can't be changed for default category
(cherry picked from commit 763288ab137505813f951bb02ca3ba9c1590dbc4)
# Conflicts:
# app/src/main/java/eu/kanade/domain/category/interactor/SetSortModeForCategory.kt
# app/src/main/java/eu/kanade/tachiyomi/ui/library/setting/SortDirectionSetting.kt