48 Commits

Author SHA1 Message Date
Ivan Iskandar
8da293ad91 Move app state banner to the very top (#8706)
This moves the banners to the root composable and so eliminates the need to
track the app states in every screen.

(cherry picked from commit d97eab03283ea8b686ffa007bfc69224348b24f1)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/more/MoreScreen.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/BrowseTab.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/BrowseSourceScreen.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/BrowseSourceScreenModel.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryScreenModel.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/main/MainActivity.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaScreenModel.kt
2022-12-15 22:36:08 -05:00
zbue
6ada7f239a Show empty screen when a category is empty (#8690)
* Show empty screen when a category is empty

* Review changes

* Review changes #2

Co-authored-by: arkon <arkon@users.noreply.github.com>
(cherry picked from commit 01c6e46a711c3d5b7bf41ad92b8a977f88b44357)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryScreenModel.kt
2022-12-15 22:06:03 -05:00
Ivan Iskandar
726626f2c5 Merge Voyager screens (#8656)
* Merge Voyager screens

* cleanups

(cherry picked from commit 3d66eaea8373b6ab5d8e8423be227e0452cb0743)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/components/MangaBottomActionMenu.kt
#	app/src/main/java/eu/kanade/presentation/more/settings/screen/AboutScreen.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/base/changehandler/OneWayFadeChangeHandler.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/base/controller/ConductorExtensions.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/search/MigrateSearchScreen.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/search/SourceSearchController.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/search/SourceSearchScreen.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/SourcesFilterController.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/SourcesTab.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/BrowseSourceScreen.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/category/CategoryScreen.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/download/DownloadController.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/library/LibrarySettingsSheet.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryTab.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/main/MainActivity.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/main/WhatsNewDialogController.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaController.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaScreen.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/more/MoreTab.kt
#	app/src/main/res/layout/main_activity.xml
2022-12-03 13:25:41 -05:00
Andreas
0fc9cf6779 Make padding names neutral (#8531)
(cherry picked from commit 3407eb84c5d4bbb7e5cf71e43fca58d1f297ac53)
2022-11-16 13:33:27 -05:00
Ivan Iskandar
5b88385ccc Voyager on History tab (#8481)
(cherry picked from commit bc3bb82651e85a8b0584a645e0fa07ab97ab1767)
2022-11-11 11:07:53 -05:00
arkon
d3f4f63f52 Adjust read next history logic
Closes #8454

(cherry picked from commit 8749be518f8fb7f278f35f110df6c1d5b4b2508e)

# Conflicts:
#	app/src/main/java/eu/kanade/domain/DomainModule.kt
#	app/src/main/java/eu/kanade/domain/history/interactor/GetNextUnreadChapters.kt
#	app/src/main/java/eu/kanade/domain/history/interactor/RemoveHistory.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryPresenter.kt
2022-11-10 22:37:36 -05:00
stevenyomi
e8e7ff55c0 Refactor search toolbar and fix browse source (#8360)
(cherry picked from commit a078f1ab1bd288d604edd8b8a21dcf2e88f47065)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/browse/components/BrowseSourceToolbar.kt
2022-11-01 12:17:26 -04:00
Dexroneum
1fcf8450b8 Few UI changes (#8299)
Co-authored-by: arkon <arkon@users.noreply.github.com>
(cherry picked from commit 26b46cace02d3a39c0ae4dfa4e1ffad97549de00)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/browse/SourcesFilterScreen.kt
2022-11-01 11:21:31 -04:00
stevenyomi
b2c4fc0ec5 Clean up strings and icons (#8326)
* 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
2022-10-29 18:57:56 -04:00
Ivan Iskandar
24593da484 EmptyScreen: Compose-ify and apply content padding (#8177)
* Apply content padding to empty screen

except the empty screens in browse

* compose-ify EmptyScreen

* center face when action show

* fix padding

* apply content padding to browse tabs

* fix duplicate bottom insets

(cherry picked from commit 8500add09f475093e4e861f42508496e0f1fd68c)

# 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/library/LibraryScreen.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/SourcesTab.kt
#	app/src/main/res/layout/common_view_empty.xml
2022-10-15 12:09:26 -04:00
Ivan Iskandar
3596de1c44 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

(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
2022-10-08 18:42:46 -04:00
Ivan Iskandar
1eb1763342 HistoryScreen: Remove paging (#8125)
* 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)
2022-10-01 18:33:02 -04:00
Alessandro Jean
d8e0344624 Improve search toolbar UX a little bit (#8102)
* Improve search toolbar UX a little.

* Fix wrong stringResource import.

* Revert `FocusRequester` change in favour of #8093.

(cherry picked from commit 5a37f2398a45949bb327a61210ab46d5207d09cb)
2022-10-01 18:02:18 -04:00
Andreas
1f4bfc4764 Split the rest of the preferences in PreferencesHelper (#8074)
* Split the reset of the preferences in PreferencesHelper

* Capitalize ThemeMode

(cherry picked from commit 29fa93e829ca7f9c3a28c58f3de146bc2bd15aad)

# Conflicts:
#	app/build.gradle.kts
#	app/src/main/java/eu/kanade/domain/manga/model/Manga.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/preference/PreferenceKeys.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/extension/api/ExtensionGithubApi.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/base/delegate/SecureActivityDelegate.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/search/SearchController.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/search/SearchPresenter.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/SourcesPresenter.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/manga/MangaPresenter.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/setting/SettingsAdvancedController.kt
2022-09-25 20:41:19 -04:00
arkon
241517a13a Make top app bar lift behavior more consistent
(cherry picked from commit 504844a892635fe9554a3eb907ad328b94ffab29)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/browse/BrowseLatestScreen.kt
#	app/src/main/java/eu/kanade/presentation/browse/BrowseSourceScreen.kt
#	app/src/main/java/eu/kanade/presentation/browse/components/BrowseLatestToolbar.kt
#	app/src/main/java/eu/kanade/presentation/browse/components/BrowseSourceToolbar.kt
2022-09-03 18:10:38 -04:00
arkon
588d11c14f Convert settings main and search views to full Compose
(cherry picked from commit f5c7aa1142eec366092722d6301af939f19ae970)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/library/components/LibraryToolbar.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/base/controller/ComposeController.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/setting/SettingsMainController.kt
2022-08-29 19:01:59 -04:00
arkon
655c0d8c90 Minor tweaks to download custom dialog
- 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
2022-08-27 20:09:09 -04:00
Andreas
04cab544e3 Add back reset action to the Library and History Search toolbars (#7722)
* Add back reset action to the Library and History Search toolbars

* Localize the descriptions

(cherry picked from commit 71fc5d6d35b0b10917f3db80b236b35fbbdaab3a)
2022-08-13 15:01:05 -04:00
arkon
71f2f03300 Fix appbar action content descriptions
(cherry picked from commit 3c2e237d633e33990f2de44cfb69bbd773004c13)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/library/components/LibraryToolbar.kt
2022-08-07 11:39:28 -04:00
Ivan Iskandar
8aa313378f Reimplement appbar color overlay on scroll (#7663)
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)
2022-08-05 13:04:08 -04:00
arkon
22b627ea8d Set splash screen ready state for history and updates pages
(cherry picked from commit cd9487f94cac610cdeb31dcd9139f6cc9dc7026c)
2022-07-24 00:20:51 -04:00
arkon
a39f2626d9 Fix padding in history screen
(cherry picked from commit 07c9af49012f13bf9a5790a130c4fbf501666b83)
2022-07-24 00:20:35 -04:00
Andreas
9520494ac5 Use Stable interface for History screen (#7586)
- Adds Stable interface
- Move last Dialog into Compose
- Make History screen be full Compose screen

(cherry picked from commit c751851941796ae7fa10f9dfba9b75396bbbf692)
2022-07-24 00:18:39 -04:00
arkon
958fe527e4 Remove bottom nav behavior and add bottom padding to root controller contents
(cherry picked from commit 4bf4b167a54791d0f5a7710ebe15473b8de9dd5c)
2022-07-23 23:55:27 -04:00
AntsyLich
f1d1f6c466 Migrate Updates screen to compose (#7534)
* 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
2022-07-19 12:37:26 -04:00
Ivan Iskandar
d81fc7f1c0 Improve history screen scrolling perf (#7399)
(cherry picked from commit e44bb309965e63174b89b9e5e527ad9a60d5184f)
2022-06-28 10:03:38 -04:00
arkon
a9227a13e1 Minor composable updates
Extracted from #7244

Co-authored-by: ivaniskandar <ivaniskandar@users.noreply.github.com>
(cherry picked from commit 68c47a323879a794c9fc87903233fd418fe2edab)
2022-06-19 21:36:21 -04:00
Andreas
9a28d42b63 Use custom QueryPagingSource (#7321)
* Use custom QueryPagingSource

- Adds placeholder to make the list jump around less
- Fixes issue where SQLDelight QueryPagingSource would throw IndexOutOfBounds

* Review Changes

(cherry picked from commit 3fd9e021fa84557fc1681685ee1a3e8b6678e7ba)
2022-06-18 19:37:56 -04:00
Ivan Iskandar
a5fe4e1a44 Fix cover fetching in compose views (#7315)
Make sure it passed thru the custom fetcher

(cherry picked from commit 1b804e61cb2b38d7194b058b4152b14607b5e443)

# Conflicts:
#	app/src/main/java/eu/kanade/data/history/HistoryMapper.kt
#	app/src/main/java/eu/kanade/domain/history/model/HistoryWithRelations.kt
#	app/src/main/java/eu/kanade/tachiyomi/App.kt
2022-06-18 19:26:33 -04:00
Ivan Iskandar
f1bd5f4c95 Add scrollbar indicator to LazyColumn (#7164)
(cherry picked from commit 3b2362c784a334161cffb734c46588ee87307950)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/browse/SourcesScreen.kt
2022-05-24 19:47:01 -04:00
arkon
cf980adb8e Minor cleanup
(cherry picked from commit 9a75232ca40e8f6f3dd6a6f73cc0c2f3912e3ced)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/browse/SourcesScreen.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/SourcesFilterController.kt
2022-05-24 19:45:39 -04:00
Jim Man
6659a290c4 Fix formatting (#7146)
(cherry picked from commit 1c94ecdcdf1306950f58dcae1f72940f7d92c515)
2022-05-15 21:54:39 -04:00
Andreas
0f4923baa9 Add missing top padding for screen that was rewritten in Compose (#7145)
(cherry picked from commit fb83a07f843e8cec2dc935f1b4eed6351aff672b)
2022-05-15 21:54:33 -04:00
arkon
24c5563a02 Update linter
(cherry picked from commit ae7df4fb7fa4fc996ba26a9f6dbbb6b5277a939b)

# Conflicts:
#	app/src/main/java/eu/kanade/domain/manga/model/Manga.kt
#	app/src/main/java/eu/kanade/domain/source/model/Source.kt
#	app/src/main/java/eu/kanade/presentation/source/MigrateSourceScreen.kt
#	app/src/main/java/eu/kanade/presentation/source/SourceFilterScreen.kt
#	app/src/main/java/eu/kanade/presentation/source/SourceScreen.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/search/SearchController.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/SourceFilterPresenter.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/SourcePresenter.kt
2022-05-14 10:45:26 -04:00
FourTOne5
c6c6cb3033 Properly show history state (#7052)
* Make `HistoryState` similar to `MigrateState`

* Review Changes

* Also cache the transformation

Co-authored-by: Andreas <andreas.everos@gmail.com>

* Fix States

Co-authored-by: Andreas <andreas.everos@gmail.com>
(cherry picked from commit 5bd5b215430c6d19c1e4314bdaf4264eb43e9d29)
2022-05-02 17:23:04 -04:00
arkon
03b03ba342 Update navigation bar padding in Compose screens
(cherry picked from commit dee783079363acef241e574bc9c5600bc8f27bf3)

# Conflicts:
#	app/src/main/java/eu/kanade/domain/source/interactor/GetSourcesWithFavoriteCount.kt
#	app/src/main/java/eu/kanade/presentation/history/HistoryScreen.kt
2022-05-01 16:54:50 -04:00
Andreas
55fad3d055 Add error state to MangaCover composable (#7022)
* Add error state to MangaCover

- Add error drawable when thumbnailUrl isn't able to be loaded
- Tweak usage of MangaCover

* Change `contentDescription` to be nullable

As the invoke function makes default nulls

(cherry picked from commit adf02e53fd2da2c889a409a144cf1c81bde7f6f3)
2022-05-01 14:59:20 -04:00
arkon
7e0c1308bd Minor cleanup
(cherry picked from commit 0ec9496d26e2904a46c744c8a979a0947d38518e)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/more/AboutScreen.kt
2022-05-01 13:51:15 -04:00
Jobobby04
2640ae8dd4 Expand imports 2022-04-23 11:09:18 -04:00
CrepeTF
1b29217d00 Resume when history item is tapped (#6982)
* Remove resume button

* Rename onClickItem to onClickCover

* Optimize imports

* Rename reference to onClickItem in HistoryController.kt

Co-authored-by: CrepeTF <trungnguyen02@outlookcom>
(cherry picked from commit 070abd79ce4e6004b5484a3f91a9c4527bd42bcd)
2022-04-23 11:07:21 -04:00
arkon
6c0a61e47c Lifted NestedScrollConnection to abstract Compose classes
Since it'll likely be used in every controller.

(cherry picked from commit 2d01933c288f30e596a76763cc7bf93dd0c5c5c6)
2022-04-23 11:07:13 -04:00
Jobobby04
c9ec7921a5 Revert "Revert history Compose/SQLDelight changes"
This reverts commit 6a0b523e86d0c6f4c517236d4b18b7d0d6e9fcbe.
2022-04-22 19:40:09 -04:00
Jobobby04
6a0b523e86 Revert history Compose/SQLDelight changes 2022-04-22 19:27:15 -04:00
arkon
d375d7d8c8 Lift Compose theme to abstract controller
(cherry picked from commit 032aa64195bf821d0fc25d5c7d2f36ba39d3de68)
2022-04-22 19:21:01 -04:00
arkon
a88bcb0fa2 Simplify history item description building
(cherry picked from commit 7c8e8317a8c24261b62645c477028fdd3717e4e8)
2022-04-22 19:20:54 -04:00
arkon
97e4b0e248 Add placeholder color for Compose manga covers
(cherry picked from commit f1e5cccee727f06f56d8e5f496858fb5e2a954ea)
2022-04-22 19:20:39 -04:00
Andreas
a8cb77cc7e Migrate History screen database calls to SQLDelight (#6933)
* Migrate History screen database call to SQLDelight

- Move all migrations to SQLDelight
- Move all tables to SQLDelight

Co-authored-by: inorichi <3521738+inorichi@users.noreply.github.com>

* Changes from review comments

* Add adapters to database

* Remove logging of database version in App

* Change query name for paging source queries

* Update migrations

* Make SQLite Callback handle migration

- To ensure it updates the database

* Use SQLDelight Schema version for Callback database version

Co-authored-by: inorichi <3521738+inorichi@users.noreply.github.com>
(cherry picked from commit b1f46ed8302411fbd884bbc3c26fe28a378fd91a)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/data/database/DatabaseHelper.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/database/DbOpenCallback.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/database/queries/HistoryQueries.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/database/tables/CategoryTable.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/database/tables/MangaTable.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaController.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/setting/database/ClearDatabasePresenter.kt
#	build.gradle.kts
2022-04-22 10:08:31 -04:00
Andreas
45bfd5f72c Migrate History screen to Compose (#6922)
* Migrate History screen to Compose

- Migrate screen
- Strip logic from presenter into use cases and repository
- Setup for other screen being able to migrate to Compose with Theme

* Changes from review comments

(cherry picked from commit c475acd1eaf9f1fd9394f126a8a6f3c0daf52048)

# Conflicts:
#	app/build.gradle.kts
#	app/src/main/java/eu/kanade/tachiyomi/App.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/database/queries/HistoryQueries.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderActivity.kt
#	settings.gradle.kts
2022-04-21 17:06:03 -04:00