- Delay the initial emission of updates/sources/extensions lists instead of using a state flow. This hopefully avoids rapid initial recompositions that cause the LazyColumn key duplication crashes. (Closes#8371)
- Fix a NPE in BrowseSourcePresenter
(cherry picked from commit 5d1f79012e63403ac37309dd958244108e28a1a5)
# Conflicts:
# app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/SourcesPresenter.kt
- 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
The container already provides color option for both states
(cherry picked from commit 156191af4454d756e51e331f67cba7e19efbbb38)
# Conflicts:
# app/src/main/java/eu/kanade/presentation/components/Tabs.kt
# app/src/main/java/eu/kanade/presentation/library/components/LibraryContent.kt
# app/src/main/java/eu/kanade/presentation/library/components/LibraryTabs.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
This adds content window insets supports that will be passed to
all components used except top and bottom bar.
(cherry picked from commit 16f9fb2f40e0569c5c22de4a062cd890b4b64d4e)
Restore "Darken the description colors"
Restores #3858, with new values based on current standards (0.78f rather than 0.62f)
I wanted to accomplish this without having to call a const, but that felt like a logical solution as well
Of course, if you got cleaner methods do tell, thanks
(cherry picked from commit 04d2a3399b4c1e708e8da2a7bf7bfd0ec4ecb77a)
* Clean up strings and icons
* fix incorrect usages of label_more
* restore strings and reduce usage of android.R
* removing icon desc of FABs anyway as app's not for visual impaired users
(cherry picked from commit 4b60138d41ea33e5e4c3defb0dc626b599216f3f)
# Conflicts:
# app/src/main/java/eu/kanade/presentation/browse/BrowseSourceScreen.kt
# app/src/main/java/eu/kanade/presentation/browse/ExtensionsScreen.kt
# app/src/main/java/eu/kanade/presentation/components/MangaBottomActionMenu.kt
# app/src/main/java/eu/kanade/presentation/manga/components/MangaInfoHeader.kt
Since users seem to be confused now that the library loads before download info is shown...
(cherry picked from commit fde7bfa3d17ce2e02df5625836eb739aeaab7863)
* PreferenceModel: Add subtitle provider to ListPreference
So that it's possible to avoid value formatting when needed
* cleanups
(cherry picked from commit 3e86cb094b90a29d5e4ddf7a4c72ccf96c66fee3)
# Conflicts:
# app/src/main/java/eu/kanade/presentation/more/settings/PreferenceModel.kt
* Touch up library item touch indicator
Now the touch indicator has the same coverage as the selection indicator.
Experimental Modifier.Node API is used to draw the selection indicator
* Unify library and browse source list item layouts
(cherry picked from commit 87391832bafff1e9f90fdfe064725fe8d1ec0184)
# Conflicts:
# app/src/main/java/eu/kanade/presentation/browse/components/BrowseSourceComfortableGrid.kt
# app/src/main/java/eu/kanade/presentation/browse/components/BrowseSourceCompactGrid.kt
# app/src/main/java/eu/kanade/presentation/browse/components/BrowseSourceList.kt
# app/src/main/java/eu/kanade/presentation/library/components/LibraryComfortableGrid.kt
# app/src/main/java/eu/kanade/presentation/library/components/LibraryCompactGrid.kt
# app/src/main/java/eu/kanade/presentation/library/components/LibraryCoverOnlyGrid.kt
# app/src/main/java/eu/kanade/presentation/library/components/LibraryGridCover.kt
# app/src/main/java/eu/kanade/presentation/library/components/LibraryPager.kt
* Fix "Download split" not working while using SD card
* Update app/src/main/java/eu/kanade/tachiyomi/util/system/ImageUtil.kt
Co-authored-by: arkon <arkon@users.noreply.github.com>
(cherry picked from commit 6e4a30e59352517346eb0f622424390a52fb95c0)
Simplifying it to just always be centered, which is what most Google apps seem to be doing anyway.
(cherry picked from commit ccc4144f3cc2264c3ae75d492983e9577f352af1)
# Conflicts:
# app/src/main/java/eu/kanade/tachiyomi/ui/main/MainActivity.kt
* Use `Channel` in Download cache
Co-Authored-By: Andreas <6576096+ghostbear@users.noreply.github.com>
* Use Unlimited capacity
Co-authored-by: stevenyomi <95685115+stevenyomi@users.noreply.github.com>
Co-authored-by: Andreas <6576096+ghostbear@users.noreply.github.com>
Co-authored-by: stevenyomi <95685115+stevenyomi@users.noreply.github.com>
(cherry picked from commit 3b5b9a1ae5803466e9b18846aae6fcd16bf8a637)
Now that the updates and manga screen listen to download cache changes, it'll reflect the real states once deleted.
(cherry picked from commit d0bff298b7df3524f76434a3636bc196627cb613)
- Also fix concurrent accesses to main cache map
- Also debounce sources and updates list updates to maybe avoid crashing due to dupe LazyColumn keys
(cherry picked from commit 152eb5b95196a32ed120f4a57996c1958294bf7f)
# Conflicts:
# app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/SourcesPresenter.kt
# app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaPresenter.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
* Add Crash activity
When the application crashes this sends them to a different activity with the cause message and an option to dump the crash logs
* Review changes
(cherry picked from commit 4178f945c9b6bcae9323c02534d7e620136a4e76)
# Conflicts:
# app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsAdvancedScreen.kt
Fixes#7705. Somewhat janky solution to handle when loading the sources on app start is slower than
the initial download cache priming.
(cherry picked from commit 558aad1a7170a71c454ce7c056b98f446a6eea95)
# Conflicts:
# app/src/main/java/eu/kanade/tachiyomi/data/download/DownloadCache.kt
* Settings: M3 and two pane ui
* TrackingLoginDialog: Move close button
* Use small top bar
* Revert "Update voyager to v1.0.0-rc02"
This reverts commit 570fec6ea622a7deae44668f4d9c3317699de2aa.
https://github.com/adrielcafe/voyager/issues/62
(cherry picked from commit 5c5468f9af74be984d0d9cb79da804370ee0e775)
# Conflicts:
# app/src/main/java/eu/kanade/presentation/manga/MangaScreen.kt
# app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsMainScreen.kt
# app/src/main/java/eu/kanade/presentation/more/settings/widget/TextPreferenceWidget.kt
- Fix dark mode setting title
- Enforce usages of translated strings for screen titles
- Use LocalUriHandler where applicable instead of Android context
(cherry picked from commit c2eaf1c86bff1ab9072f79dc3ee7b80df1480805)
# Conflicts:
# app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsAdvancedScreen.kt
# app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsAppearanceScreen.kt
# app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsSecurityScreen.kt
* Uses Voyager for navigation.
* Replaces every screen inside settings except category editor screen since it's
called from several places.
(cherry picked from commit 890f1a3c7b0f2ceefa86a77cb40c11567e2b5a46)
# Conflicts:
# app/src/main/java/eu/kanade/tachiyomi/ui/more/MoreController.kt
# app/src/main/java/eu/kanade/tachiyomi/ui/setting/SettingsMainController.kt
Closes#6927
This makes it more consistent with the library. Tapping the chapters heading still opens the sheet for convenience.
(cherry picked from commit b25ca7617dea67010b0cb55170ae9dd77aa4dc24)
# Conflicts:
# app/src/main/java/eu/kanade/presentation/manga/MangaScreen.kt
# app/src/main/java/eu/kanade/presentation/manga/components/MangaToolbar.kt
# app/src/main/res/values/attrs.xml
Related to #7713
(cherry picked from commit 7e92921f84905fefa46a9514c096593520c52076)
# Conflicts:
# app/src/main/java/eu/kanade/tachiyomi/ui/recent/updates/UpdatesPresenter.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)
Also run formatter and address some deprecation warnings.
(cherry picked from commit 26a42ba9c01c670f60bedfca41bd72c99aa2a278)
# Conflicts:
# core/src/main/java/eu/kanade/tachiyomi/network/NetworkHelper.kt
* Implementing overwrite instead of saving duplicated images
* Using filename instead of hardcoding image type
* Refactoring method to accept lambda for default value
* Removing extra parenthesis
(cherry picked from commit a3afb3553990a6a0faac8999c867b3ddefd5b101)
* Fix Scrollbar when the list contains sticky header
* Fix VerticalFastScroller when the list contains sticky header
* exposé
(cherry picked from commit fba244423f451ef0b715702454ec242a5b73ec1b)
- Remove M3 styling from search toolbar
- Use secondary alpha for subtitles for Sources and Migrate items
- Update some content descriptions
(cherry picked from commit 23bfa1f18f615ba39be42f62cd7b337a6c51bc8e)
It's more consistent with the rest of the overscroll behaviour in the app. We'll wait for the upstream fix.
(cherry picked from commit b4f2da12ea58b2f386f4d49356074c0a38351083)
* Hiding the keyboard (#8157)
* Cleanup
* Adding log
* cleanup
* moving code to ViewExtensions.kt
* TrackDialog keyboard fix?
* moving code to ContextExtensions.kt
* MoreScreen: Remove title (#8158)
* MoreScreen: Remove title
Also removes the state banners as it's redundant
* Add back banners
* Allow manual selection of manga description instead of copying to clipboard
Closes#6548
Notably missing some "standard" options like "Select all" or "Share": https://issuetracker.google.com/issues/226648919
* Allow marking partially read chapters as unread
Closes#3777
* Tablet UI edge-to-edge tweaks (#8159)
* LibraryScreen: Tweak content padding application to draw under nav bar
* BrowseScreen: Tweak content padding application to draw under nav bar
Side note the tab content doesn't actually use its
scaffold (bottom) contentPadding so it's definitely will
be a headache in the future.
* Don't hardcode bottom nav padding
* removed unnecessary import
* refactoring code
* rewriting code
* cleanup?
* cleanup
Co-authored-by: Ivan Iskandar <12537387+ivaniskandar@users.noreply.github.com>
Co-authored-by: arkon <eugcheung94@gmail.com>
(cherry picked from commit 50f959e5f41fa5d4117e821fb82db761cfdcf33f)
* LibraryScreen: Tweak content padding application to draw under nav bar
* BrowseScreen: Tweak content padding application to draw under nav bar
Side note the tab content doesn't actually use its
scaffold (bottom) contentPadding so it's definitely will
be a headache in the future.
* Don't hardcode bottom nav padding
(cherry picked from commit 4b4be58d0d2cac6636858d57119e0657b1b56f59)
# Conflicts:
# app/src/main/java/eu/kanade/presentation/browse/ExtensionsScreen.kt
# app/src/main/java/eu/kanade/presentation/library/components/LibraryContent.kt
* MoreScreen: Remove title
Also removes the state banners as it's redundant
* Add back banners
(cherry picked from commit cf6407c4d414a34949c3b97a451b14585db852df)
# Conflicts:
# app/src/main/java/eu/kanade/presentation/more/MoreScreen.kt
This allows us to swap out the implementation in the future and on different platforms
without major changes to the extensions themselves.
(cherry picked from commit 7be68639107caecea879dc05edb92d81a4689a5a)
# Conflicts:
# core/build.gradle.kts
At some point the scrollbar stops responding to
scroll changes. Not too confident with this fix
but it works.
(cherry picked from commit 1cf1b34e7f32d71e3508f81e8348ff522d389109)
Avoiding some country names in favour of more generic terminology where appropriate.
(cherry picked from commit 0ca14c61c256af770fe31c0d0cc8b7111f4b988b)
* Add methods to get manga and chapter url
Some fork supports directly opening chapters with webview hence `getChapterUrl`
* Review Changes
* Add since to javadoc
(cherry picked from commit de23226591376e998e4ff1ff7b2d4c2a0a805b09)
# Conflicts:
# app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaController.kt
* HistoryScreen: Remove paging
Per my testing performance-wise there's virtually no
difference in loading time.
* cleanups
* add key and contentType
(cherry picked from commit 42b0e3e4389b78556ccf34b93edc7d454de5881e)
Was used by updates screen previously
(cherry picked from commit 5c22cbf28e86079994874b08cd4bdfb1bff2b0d9)
# Conflicts:
# app/src/main/java/eu/kanade/data/manga/MangaMapper.kt
* Tweak behavior on Browse screen
- Fix system back popping controller
- Add behavior to system back to cancel search toolbar before clearing current search or popping controller
* Review changes
(cherry picked from commit 6ac17363ed68487b2262308ee9d671ad301f2754)
# Conflicts:
# app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/BrowseSourceController.kt
* ExtensionScreen: Adjust item visual
* Move install status view and add progress indicator
* Add secondary item modifier to info texts
* Wrap info texts with FlowRow in case of unavailable space
* Remove language text in non-installed items
Extra content:
* Change the list key to be more consistent
* General cleanups
* typo
(cherry picked from commit 58c47c4c50936f061e65434f60af56a92a51dfb2)
# Conflicts:
# app/src/main/java/eu/kanade/presentation/browse/ExtensionsScreen.kt
* gives ComicInfo.xml files priority over noxml files if both are at the chapter root.
* delete the noxml file if both a noXml file and a ComicInfo file exist
(cherry picked from commit 80b2ebc45b5f04bcd832ed2497d3f2f6ea4adf10)
Should make stacktraces more distinguishable.
(cherry picked from commit e90b39b29dc114af84aed284aa8201d97d7ba775)
# Conflicts:
# app/src/main/java/eu/kanade/presentation/browse/SourcesFilterScreen.kt
The chips row is now scrollable too and filter fab is removed
(cherry picked from commit 0190c36d20a0ef070fad8a6ab55906c25390144c)
# Conflicts:
# app/src/main/java/eu/kanade/presentation/browse/BrowseSourceScreen.kt
# app/src/main/java/eu/kanade/presentation/browse/components/BrowseSourceComfortableGrid.kt
# app/src/main/java/eu/kanade/presentation/browse/components/BrowseSourceToolbar.kt
Also add POST_NOTIFICATIONS permissions to make Android Studio stop complaining about it.
(cherry picked from commit b37b3767f3c55a74bede78d11300249ab419a4c7)
- Move loading state into scaffold (closes#7704)
- Move logic into presenter
- Make some composables private
(cherry picked from commit 0e3176a77c925bb7f9d9f87bf68476563f9b9e9e)
Should be able to throw away some of the search controller stuff after Global Search is migrated
(cherry picked from commit 0225711f6f91417af0ae41d42f81c70c86a572ab)
* 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
* fix : conditional check added to avoid stacking of dialog
In onClickListener, bottom sheet is being opened depending on status of dialog sheet, if it's showing or not.
* chore : refactored conditional logic
* Update ReaderActivity.kt
(cherry picked from commit 30ac94181b2c410aedead964a815b080ef3e62ee)
* Flatten available extensions with it's source
We should also do something similar for installed extensions
Supersedes #7200
* Dedupe sources
(cherry picked from commit c51e83c048b9575b322690fdadddba0001690d4d)
Item list is not changed as currently there is no fitting Compose component to
replace the drag-drop behavior.
(cherry picked from commit fb9791f5976b9a877adeb656e2decfc4d77420ff)
# Conflicts:
# app/build.gradle.kts
# app/src/main/java/eu/kanade/tachiyomi/ui/download/DownloadHeaderItem.kt
Not sure if I should abstract this out to per-tab though. Maybe when we need it...
(cherry picked from commit 21804bfc45b05c67fe6198cd0452cd67b05bc3e8)
# Conflicts:
# app/src/main/java/eu/kanade/tachiyomi/ui/browse/BrowseController.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
Now uses enum to also handle timed lock
(cherry picked from commit 774a87a42ac0ad0410fe50272da9121796c1c95d)
# Conflicts:
# app/src/main/java/eu/kanade/tachiyomi/App.kt
# app/src/main/java/eu/kanade/tachiyomi/ui/base/delegate/SecureActivityDelegate.kt
Also cleanup a little in WebtoonPageHolder
(cherry picked from commit fddca151823d066cad7f12da2e0b8d1c65f2b9d1)
# Conflicts:
# app/src/main/java/eu/kanade/tachiyomi/ui/reader/viewer/webtoon/WebtoonPageHolder.kt
* Add "Njalla" dns provider
Details ~~Tho there is none~~: https://dns.njal.la/
* Lint
(cherry picked from commit d85af2fec624aabfd9f2b2c829e8ea02dee09ad0)
TODO:
- Global search should launch a controller with the search textfield focused. This is pending a Compose rewrite of that screen.
- Better migrate sort UI
- Extensions search
(cherry picked from commit 92e83f702c775d5ab5a0b4248995308155150811)
# Conflicts:
# app/src/main/java/eu/kanade/presentation/browse/MigrateSourceScreen.kt
# app/src/main/java/eu/kanade/presentation/browse/SourcesScreen.kt
# app/src/main/java/eu/kanade/presentation/library/components/LibraryTabs.kt
# app/src/main/java/eu/kanade/tachiyomi/ui/browse/BrowseController.kt
# app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/sources/MigrationSourcesController.kt
# app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/SourcesController.kt
# app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/SourcesPresenter.kt
* Enable sub-languages on app first run.
* Fix wrong language code string parsing.
* Fix some build issues due to rebase.
* Use PreferenceHelper and remove an extra preference.
* Remove a constant.
(cherry picked from commit 084e6a964ee2f2a8499b861e5e3e58938ddab6e9)
# Conflicts:
# app/src/main/java/eu/kanade/tachiyomi/extension/ExtensionManager.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
* trim newlines from user agent
* fix indents
* fix indents for real
* actually fix indents
(cherry picked from commit aab5f083dbae25380b97c7407309beb90a64d845)
- 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
* Fix stucked downloads when service not started
* Fix chapter download restart even if should be deleted
(cherry picked from commit a70b8486468ce8b57ae7a7ddc3ac845337789d45)
* New Theme Tidal Wave
Added a new strong blue theme appearance to Tachiyomi titled Tidal Wave.
* Better Tertiary Color: Seafoam Green
Updated the tertiary color to be lighter and match the blue more. Also changed the active button color to contrast better.
(cherry picked from commit 4b0f54966653c0a313d60cfe0d13d12b2c12ec79)
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
- Use the same flag as other categories
- Per-category uses the flag the user used before starting to use per-category
(cherry picked from commit 4228bbb88efc1a2ff62c52d3bf5724150800e39e)
Also add required config for android 13 system picker
(cherry picked from commit 2d690a09b37a55e87ce4365102ee818c5d9d1ba0)
# Conflicts:
# app/src/main/java/eu/kanade/tachiyomi/ui/setting/SettingsGeneralController.kt
Based on #7708, #7709 and #7717
Co-Authored-By: Ivan Iskandar <12537387+ivaniskandar@users.noreply.github.com>
Co-Authored-By: Andreas <6576096+ghostbear@users.noreply.github.com>
Co-authored-by: Ivan Iskandar <12537387+ivaniskandar@users.noreply.github.com>
Co-authored-by: Andreas <6576096+ghostbear@users.noreply.github.com>
(cherry picked from commit 1474c8ffb337f824bc7f30f1f0f3e70e27205254)
* Add back reset action to the Library and History Search toolbars
* Localize the descriptions
(cherry picked from commit 71fc5d6d35b0b10917f3db80b236b35fbbdaab3a)
* Change return value of `SyncChaptersWithSource.await()`
`updatedToAdd.subtract(reAdded).toList()` never worked as at this point `updatedToAdd` contained ids from db where `reAdded` had default one. Was the same case before the rewrite.
Removed `toDelete` from return value as it was not being used anywhere
* Add doc string
* Use HashSet
Co-authored-by: stevenyomi <95685115+stevenyomi@users.noreply.github.com>
Co-authored-by: stevenyomi <95685115+stevenyomi@users.noreply.github.com>
(cherry picked from commit 11f640cfee427b8912cdc43fc3efc61e0f774aa7)
# Conflicts:
# app/src/main/java/eu/kanade/tachiyomi/data/library/LibraryUpdateService.kt
# app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaPresenter.kt
* Allow to refresh when there is white space
fixes#7701
* Don't use key on library screen as it retains scroll position on first item
fixes#7631
(cherry picked from commit 22e83f408bc6c19457cc8a03ed7f02d69e9308c7)
* Fix back handling when manga is still loading
* MangaPresenter: Show what we have earlier to reduce percepted slowness
(cherry picked from commit b4e15263db3d00326abe5886fffb3608c9a85c47)
# Conflicts:
# app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaPresenter.kt
* Fix glance failing when there's too much children
* Adjust cover error placeholder
(cherry picked from commit 16abfeeff0eb482482fb60ac8ab6d01d75942531)
Also remove some usages of runBlocking
(cherry picked from commit 3bc6b1e202f8344356720467c60da19239e22ebc)
# Conflicts:
# app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaController.kt
# app/src/main/java/eu/kanade/tachiyomi/ui/more/AboutController.kt
- Fix categories modal showing when adding from source with no categories
- Use old categories icon in library bottom action menu
(cherry picked from commit 688cc64dffa8cdf1241d3b4e2467b5e8c8529800)
# Conflicts:
# app/src/main/java/eu/kanade/presentation/components/MangaBottomActionMenu.kt
# app/src/main/java/eu/kanade/tachiyomi/App.kt
The abstraction was useful for handling 2 systems, but it's no longer needed. Cleaning it up will make migrating to domain models easier down the line.
(cherry picked from commit a2bb81b7db457c3927eaa1f03416a9b07985842b)
# Conflicts:
# app/src/main/java/eu/kanade/tachiyomi/data/backup/BackupManager.kt
# app/src/main/java/eu/kanade/tachiyomi/data/backup/BackupRestorer.kt
# app/src/main/java/eu/kanade/tachiyomi/data/backup/models/Backup.kt
# app/src/main/java/eu/kanade/tachiyomi/data/backup/models/BackupFlatMetadata.kt
# app/src/main/java/eu/kanade/tachiyomi/data/backup/models/BackupMergedMangaReference.kt
# app/src/main/java/eu/kanade/tachiyomi/data/backup/models/BackupSavedSearch.kt
# app/src/main/java/eu/kanade/tachiyomi/data/backup/models/metadata/BackupSearchMetadata.kt
# app/src/main/java/eu/kanade/tachiyomi/data/backup/models/metadata/BackupSearchTag.kt
# app/src/main/java/eu/kanade/tachiyomi/data/backup/models/metadata/BackupSearchTitle.kt
* Add missing Authorization header on MAL refresh token request.
* Make sure to also close the response when it have failed.
(cherry picked from commit 531546790853dd9adb91777de8d9560a610c4838)
* Revert "Use SharedFlow for available extensions to always emit the value (#7609)"
This reverts commit 73901f50c0aee1cb82695642af72ff6ac7bc232d.
* ExtensionPresenter: Explicitly set refreshing status
* Scope coroutines job to presenter
* cleanup
* fix toast
(cherry picked from commit b3426f37e7d36be653363338288f74e2ae252a78)
# Conflicts:
# app/src/main/java/eu/kanade/tachiyomi/extension/ExtensionManager.kt
Works when category tab is not shown
(cherry picked from commit afceac15c89f274d571dcb61da18c6273a550f65)
# Conflicts:
# app/src/main/java/eu/kanade/presentation/library/LibraryScreen.kt
# app/src/main/java/eu/kanade/presentation/library/components/LibraryToolbar.kt
* Save read duration to backup
* Add default value
Co-authored-by: Andreas <andreas.everos@gmail.com>
Co-authored-by: Andreas <andreas.everos@gmail.com>
(cherry picked from commit 3d4e56948d86d10ecd227fb59b92da069f37a89f)
only on updates and history screen for now, but the required changes on app bar
is there.
also fix missing incognito-downloaded mode indicator on history screen
(cherry picked from commit 737cf9898db0f3e89752b82753c7fe2a88d7fef9)
* Use Stable interface for Updates screen + Cleanup
Co-Authored-By: Ivan Iskandar <12537387+ivaniskandar@users.noreply.github.com>
* Disable swipe refresh in selection mode
* Review Changes
Co-Authored-By: Andreas <6576096+ghostbear@users.noreply.github.com>
* Review Changes 2
Co-authored-by: Ivan Iskandar <12537387+ivaniskandar@users.noreply.github.com>
Co-authored-by: Andreas <6576096+ghostbear@users.noreply.github.com>
(cherry picked from commit 4774deb1efe023ecff4fd41708dd224edc216c0b)
* Don't compose category page unnecessarily
* Remove unnecessary library pager recompose
Defer and remember the "currentPage" state read since it's only needed when the
pager is composed for the first time.
* Badge opts
* Sync text style with previous impl
Also avoid reallocating by using copy
(cherry picked from commit d49ec41f3a68574601d5d773382045fdbc6624d8)
# Conflicts:
# app/src/main/java/eu/kanade/presentation/library/components/LibraryGridCover.kt