* 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
* 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
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
* 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
* 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
* 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)
* 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)
* 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
At some point the scrollbar stops responding to
scroll changes. Not too confident with this fix
but it works.
(cherry picked from commit 1cf1b34e7f32d71e3508f81e8348ff522d389109)
* 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)
* 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
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
- Move loading state into scaffold (closes#7704)
- Move logic into presenter
- Make some composables private
(cherry picked from commit 0e3176a77c925bb7f9d9f87bf68476563f9b9e9e)
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
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
* 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
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)
* 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)
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
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
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
- Fix mixup in Action Menu
- Fix back action not clearing search
(cherry picked from commit db93d1da76ba453e5b499bab0d2482728014786f)
# Conflicts:
# app/src/main/java/eu/kanade/presentation/library/LibraryScreen.kt
* MangaScreen: Disable swipe refresh on action mode
* MangaPresenter: Add distinctUntilChanged to db flow
Now will only emit update when the related entry is changed
(cherry picked from commit 483b204fb5b6790fb6fe59ffd80345cd484ca241)
# Conflicts:
# app/src/main/java/eu/kanade/presentation/manga/MangaScreen.kt
# app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaPresenter.kt
Co-authored-by: Ivan Iskandar <12537387+ivaniskandar@users.noreply.github.com>
Co-authored-by: Ivan Iskandar <12537387+ivaniskandar@users.noreply.github.com>
(cherry picked from commit 8bde35298f69ceb2c4ae40a8f05f0b8394894220)
In the context of a weaker device--remembering objects inside a list item
is expensive. So only do it when we really need to.
This also flattens the download button by drawing a single icon instead of using
separate icon and progress indicator.
(cherry picked from commit aeffb5eeb806be8530aec7707d9075e48a75c9e3)
- Toolbar not having padding in landscape
- Fix library always refreshing everything even though user is refreshing category
- Tab text using primary color
- Fix Grid having to big of a top padding
- Fix Pager crashing when initial page is greater than the number of categories
(cherry picked from commit bc1f6ba5177735e76b2b42f7884edfbe8f30006e)
# Conflicts:
# app/src/main/java/eu/kanade/presentation/library/LibraryScreen.kt
- Adds Stable interface
- Move last Dialog into Compose
- Make History screen be full Compose screen
(cherry picked from commit c751851941796ae7fa10f9dfba9b75396bbbf692)
- Move Pager to Compose
- Move AppBar to Compose
- Use Stable interface for state
- Use pills for no. of manga in category instead of (x)
(cherry picked from commit 2b8d1bcc02994e75e1479b037ef50eb84ae674d7)
# Conflicts:
# 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/tachiyomi/ui/library/LibraryAdapter.kt
# app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryController.kt
# app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryPresenter.kt
- Migrate sources filter screen to full compose
- Use standard "OK"/"Cancel" actions for delete category dialog
- Abstract some AppBar logic
- Remove some dead code
- Group related strings
(cherry picked from commit e2510c144ad3568caf81660d6ab1b4023202aad4)
# Conflicts:
# app/src/main/java/eu/kanade/presentation/browse/SourcesFilterScreen.kt
# app/src/main/java/eu/kanade/presentation/manga/MangaScreen.kt
* Migrate Updates screen to compose
* Review Changes + Cleanup
Remove more unused stuff and show confirmation dialog when mass deleting chapters
* Review Changes 2 + Rebase
(cherry picked from commit d8fb6b893fd9ae6aab3b4762837ebce496a214b3)
# Conflicts:
# app/src/main/java/eu/kanade/tachiyomi/ui/recent/updates/UpdatesPresenter.kt
# app/src/main/sqldelight/migrations/18.sqm
This lets us make it more consistent with the Compose screens for now. Maybe it'll return in the future.
This also includes making the AboutController a full Compose controller with a new abstracted TopAppBar composable.
(cherry picked from commit 80c7a453286f296ae4d5d3531c805e63db9ca424)
# Conflicts:
# app/src/main/java/eu/kanade/presentation/category/components/CategoryTopAppBar.kt
# app/src/main/java/eu/kanade/presentation/more/about/AboutScreen.kt
- Remove Compose top app bar behaviour since it's kind of jank -- we'll probably just remove the scrolling behaviour everywhere
- Tap title to rename
- Focus in textfield when opening dialogs
(cherry picked from commit 0b78028cf660e2f576ee30f8315b657eca1f39cd)
# Conflicts:
# app/src/main/java/eu/kanade/presentation/category/components/CategoryDialogs.kt
# app/src/main/java/eu/kanade/presentation/category/components/CategoryTopAppBar.kt
# app/src/main/java/eu/kanade/presentation/library/components/LibraryGridCover.kt
- Clean up unused code
- Add text shadow in compact mode
- Tweak some paddings to better match stable
(cherry picked from commit fa73e2403b79deca40590d8f4fa15f00a70e316e)
# Conflicts:
# app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryPresenter.kt