* 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
- Defaults to every 12 hours
- Minimum number of backups is now 2, just to offer some level of redundancy in case something happens
- If it's missing storage permissions, it'll fail but that's the user's loss if they somehow haven't granted that permission yet
# Conflicts:
# app/build.gradle.kts
# app/src/main/java/eu/kanade/tachiyomi/data/backup/BackupManager.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
* Recreate Backup worker with IS_AUTO_BACKUP_KEY flag
* Extra safety net to not delete backup folder
(cherry picked from commit 86016de6cbca0c83e15a05ca822abe450374d26b)
# Conflicts:
# app/build.gradle.kts
Users with smaller libraries have a lower change of getting updates frequently. "Power users" are actively hurting sources by updating frequently.
(cherry picked from commit 9e2ef82902369908503e860af12e8536a004bd43)
# Conflicts:
# app/build.gradle.kts
So I stop confusing it for updaters of other things.
(cherry picked from commit 21e647017b629d1ec07a32b548d27342810a2c6b)
# Conflicts:
# app/src/main/java/eu/kanade/tachiyomi/Migrations.kt
* Merge AMOLED and regular dark themes
This allows all variants of dark themes to use black backgrounds as a
separate preference.
* Merge light and dark themes
* Fix ReaderSeekBar color on Dark Blue theme
* Color fixes
* Fix Dark Blue bars ripple
* Simplify night mode check
(cherry picked from commit 0eadc028b6f9daf38cae083cfdc2ff44a1836623)
# 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/base/activity/BaseThemedActivity.kt
# app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderActivity.kt
# app/src/main/java/eu/kanade/tachiyomi/ui/setting/SettingsGeneralController.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
* More themes cleanup
* Tweak some things
* Fix 'Clear History' icon
* Split out ripple colored to its own drawable
* Tidy up things
* Unify background dim amount
* Use primaryColor for Account login button
* More colored ripples
* use colorOnPrimary for selected comfortable library item title
Co-authored-by: Soitora <simon.mattila@protonmail.com>
(cherry picked from commit 932c92412c29fe4a8d1410d29a6e77557ad48707)
# Conflicts:
# app/src/main/res/layout-sw720dp/manga_info_header.xml
# app/src/main/res/layout/manga_info_header.xml
# app/src/main/res/layout/reader_activity.xml
# app/src/main/res/menu/library_selection.xml
# app/src/main/res/menu/reader.xml
# app/src/main/res/values/colors.xml
# app/src/main/res/values/dimens.xml