574 Commits

Author SHA1 Message Date
AntsyLich
3fc05b03f5 Lessen the use of GlobalScope launchIO (#7916)
* 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
2022-09-03 18:41:58 -04:00
Andreas
16ea8aa3b7 Use Compose on BrowseSourceScreens (#7901)
(cherry picked from commit d4b764fa317ddcb04b8fefb982cd6b9a6dfc1598)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/library/components/LibraryGridCover.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/search/SourceSearchController.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/BrowseSourcePresenter.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/Pager.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/SourceComfortableGridHolder.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/SourceCompactGridHolder.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/SourceHolder.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/SourceItem.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/SourceListHolder.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/latest/LatestUpdatesController.kt
#	app/src/main/res/layout/source_comfortable_grid_item.xml
#	app/src/main/res/layout/source_compact_grid_item.xml
#	app/src/main/res/menu/source_browse.xml
2022-09-03 17:41:24 -04:00
arkon
829bd7b247 Show number of unique library items (closes #6522)
- 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
2022-08-29 18:46:08 -04:00
Andreas
65f6e14a46 Tweak flag classes for Library (#7829)
* 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
2022-08-29 18:12:37 -04:00
arkon
bda100f574 Fix checkbox selection when tapping text in Compose dialogs
(cherry picked from commit cd82c88b9aa8f344d8ee9938eeae8a6293d5f231)
2022-08-27 20:50:25 -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
5baf87edd0 Move a few Dialogs to Compose (#7861)
* 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
2022-08-27 20:03:05 -04:00
Ivan Iskandar
595380f81d LibrarySettingsSheet: Fix race condition when applying sort mode (#7805)
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
2022-08-22 12:37:42 -04:00
Andreas
bf0ba54a6d Fix nav bar appearing when going from Library's action mode (#7821)
fixes #7788

(cherry picked from commit 6d6c38ecafc076098c98d0e12b0fbc7cf1c538e4)
2022-08-19 19:51:44 -04:00
Andreas
ec210de6c5 Fix emoji going crazy and fix tabs being visible when library is empty (#7811)
fixes #7792
fixes #7791

(cherry picked from commit 47b56644dee9a097cfce384ca030ddb75ddadfe5)
2022-08-19 19:51:28 -04:00
stevenyomi
128a868ffb Fix notification and add visual cues when triggering a second update (#7783)
(cherry picked from commit 1f34f5277c9500e6a3a8069738a0eeeaf8c49ef5)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/library/LibraryScreen.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/library/LibraryUpdateService.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryController.kt
2022-08-18 14:25:45 -04:00
Jobobby04
9fe7f23b81 Minor fix 2022-08-17 13:52:00 -04:00
Andreas
948abf2798 Change usage of name to visualName when Default category can be shown (#7725)
(cherry picked from commit ff996d282a2aeb1fcd593bf38400e94453fd2e9b)
2022-08-13 15:00:43 -04:00
arkon
4e4e369188 Fix crash when setting cover errors (closes #7714)
(cherry picked from commit e511f24979b0f40c545345ed151d3557644f79c6)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/search/SearchPresenter.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderPresenter.kt
2022-08-13 14:33:32 -04:00
Jobobby04
ce16496275 Simplify group by code further 2022-08-07 13:32:41 -04:00
Jobobby04
ffa8cee0ea Fix sorting crashes 2022-08-07 12:18:40 -04:00
arkon
b279c9115f Fix default category showing up in edit manga categories list
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
2022-08-07 12:17:48 -04:00
Jobobby04
46fc6d44bc Fix group by settings with only default category 2022-08-07 11:37:41 -04:00
Andreas
394e9b3fe6 Move default category into database (#7676)
(cherry picked from commit 914831d51fbb915aea5cbb409b1da552862c380c)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/data/backup/full/FullBackupManager.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/backup/full/models/BackupCategory.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/database/models/Category.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/database/models/CategoryImpl.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/library/LibrarySettingsSheet.kt
#	app/src/main/sqldelight/migrations/19.sqm
2022-08-05 14:48:37 -04:00
Andreas
4b87831bdd Remove deprecated LibrarySort (#7659)
* Remove deprecated LibrarySort

* Apply suggestions from code review

(cherry picked from commit 58acf0a8aa3aa37b5d9c63d99987a05ee2f8790f)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/library/LibrarySort.kt
2022-07-31 11:35:29 -04:00
Andreas
c6e0abb07a Fix library bugs (#7648)
- 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
2022-07-30 09:12:44 -04:00
Jobobby04
5dccae234d Fix group by library updates 2022-07-29 22:16:41 -04:00
Andreas
e21badf48c Fix number of items not updating when Show category tabs is off (#7644)
(cherry picked from commit e513487caac5ef8d7e1b5a60db60291ee8ec5cba)
2022-07-29 19:40:46 -04:00
Jobobby04
cb62926edf Fix group by status 2022-07-28 21:52:58 -04:00
Jobobby04
bba4b991e8 Fix group by, filtering, sorting, and a few others 2022-07-28 21:44:30 -04:00
Ivan Iskandar
9db6d65957 Retain backstack views by default (#7621)
(cherry picked from commit dcafdac036155df76d1f8b013ca1d08634fd57c2)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryController.kt
2022-07-28 09:09:36 -04:00
Jobobby04
a44f7db3c6 Improve library search, fix a few edge cases 2022-07-26 16:25:44 -04:00
Andreas
87d7a47b8e Fix wrong query being used when opening Global Search (#7604)
(cherry picked from commit 76057b84b2d9ae01ad553a720aadb8114732dfab)
2022-07-24 15:28:23 -04:00
Andreas
4b03d3559f Fix infinite loading when user library is empty (#7602)
- If no manga in library add default category this to remove loading state

(cherry picked from commit 164de67a56095335119b63b3b17abab5007703f8)
2022-07-24 15:28:15 -04:00
Andreas
dcf152b5c2 Tweaks on Library screen (#7597)
- 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
2022-07-24 10:38:24 -04:00
Andreas
5888ca8e7a Fix crash in Extension Detail and set ready to true on Library screen (#7591)
(cherry picked from commit 978489fadef98a05da6dbab49e6cb5b19cdb123d)
2022-07-24 00:20:43 -04:00
Andreas
bc1eb0cb30 Cleanup Library after Compose changes (#7584)
(cherry picked from commit 9f2ddaadde0326fb0fcf1ce91a2affc7f4af42c2)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/library/LibraryScreen.kt
2022-07-24 00:18:26 -04:00
Andreas
24c2aa1bfb Use Compose for Library screen (#7557)
- 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
2022-07-23 23:55:13 -04:00
Jobobby04
cec181f444 Minor cleanup 2022-07-18 09:59:09 -04:00
arkon
879999e69e Fix library column setting jumping in
(cherry picked from commit f6f5b6aeaba6825974f4b05d279fab54a2633d76)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryMangaEvent.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryPresenter.kt
2022-07-16 20:48:18 -04:00
arkon
74b360f798 Consolidate Compose content/theme setting
(cherry picked from commit 46ac9fe9701009077fa3edefb0ef0c5faa65f2bc)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryAdapter.kt
#	app/src/main/java/eu/kanade/tachiyomi/util/view/ViewExtensions.kt
2022-07-16 20:23:01 -04:00
Andreas
19fcc129c0 Fix Library List not using correct text color (#7548)
(cherry picked from commit 9ebeff04e6b9beb518d40b94cd92405b06383370)
2022-07-16 20:13:13 -04:00
arkon
9b47b7f204 Minor library view cleanup
- 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
2022-07-16 20:13:04 -04:00
Jobobby04
dd68ef4ba8 Remove drag and drop 2022-07-16 19:49:46 -04:00
Andreas
b4adab5eb4 Use Compose for Library list and grid (#7520)
(cherry picked from commit 905c96922bc7059e99c4c7bd89775747d02028a9)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryCategoryAdapter.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryCategoryView.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryComfortableGridHolder.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryCompactGridHolder.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryController.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryHolder.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryItem.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryListHolder.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryPresenter.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/library/LibrarySelectionEvent.kt
#	app/src/main/res/layout/library_category.xml
#	app/src/main/res/layout/library_grid_recycler.xml
#	app/src/main/res/layout/library_list_recycler.xml
2022-07-16 19:11:22 -04:00
Jobobby04
bfcbb83c50 Improve favorites sync library action visibility 2022-07-13 10:09:39 -04:00
Jobobby04
56492ae446 Add a dialog before favorites sync initializes 2022-07-13 10:09:13 -04:00
Andreas
4e29fd5b2a Use Compose for Category screen (#7454)
* Use Compose for Category screen

* Use correct string for CategoryRenameDialog title

Co-authored-by: AntsyLich <59261191+AntsyLich@users.noreply.github.com>

Co-authored-by: AntsyLich <59261191+AntsyLich@users.noreply.github.com>
(cherry picked from commit 86bacbe586bfe5567b1d52eb8d7b7f23724a17d5)

# Conflicts:
#	app/src/main/java/eu/kanade/data/category/CategoryRepositoryImpl.kt
#	app/src/main/java/eu/kanade/domain/category/interactor/InsertCategory.kt
#	app/src/main/java/eu/kanade/domain/category/repository/CategoryRepository.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/category/CategoryAdapter.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/category/CategoryHolder.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/category/CategoryItem.kt
#	app/src/main/res/layout/categories_item.xml
2022-07-10 21:27:27 -04:00
Andreas
5869fa0b4f Reset lastPageRead when chapter is marked unread (#7475)
* Reset lastPageRead when chapter is marked unread

* Remove a bit of repetition in SetReadStatus

(cherry picked from commit 5159eabc5dfd77dd7e4a480c1982bd1d2e5fbb92)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryPresenter.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaPresenter.kt
2022-07-08 22:29:34 -04:00
Jobobby04
0263b9ee4e Minor SY LibraryPresenter cleanup 2022-07-08 21:54:41 -04:00
arkon
485e6719c3 More domain model usage
(cherry picked from commit a3378e6080418e6ba9bab4d027d7f06373556217)

# Conflicts:
#	app/src/main/java/eu/kanade/domain/chapter/interactor/SyncChaptersWithSource.kt
#	app/src/main/java/eu/kanade/domain/manga/model/Manga.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/download/DownloadPendingDeleter.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/library/LibraryUpdateService.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryPresenter.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaPresenter.kt
2022-07-03 17:18:20 -04:00
arkon
f1a31e4560 More domain model usage
(cherry picked from commit 3791d8254034ffcab94ddd65ec290c28384e6526)

# Conflicts:
#	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/migration/search/SourceSearchController.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/globalsearch/GlobalSearchCardItem.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
2022-07-03 17:05:44 -04:00
arkon
d48427152e More domain model usage
(cherry picked from commit a3ab8746bf8b1cfca628431e76f9c63ecd973010)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryCategoryAdapter.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryCategoryView.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryController.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryPresenter.kt
2022-07-03 16:51:08 -04:00
arkon
268911a7c9 More domain model usage
(cherry picked from commit b3dd8b735581ee7ea1ef0ee6dde99507f329e346)

# Conflicts:
#	app/src/main/java/eu/kanade/domain/manga/model/Manga.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/database/models/Manga.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/database/models/MangaCategory.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/MigrationFlags.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/search/SearchController.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryPresenter.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderPresenter.kt
2022-07-03 16:22:08 -04:00
Andreas
ea38ffc53e Use SQLDelight for all Manga related queries (#7447)
(cherry picked from commit 17951cfd68159d083df54c3e03094d8d66fe02ec)

# Conflicts:
#	app/src/main/java/eu/kanade/domain/DomainModule.kt
#	app/src/main/java/eu/kanade/domain/manga/repository/MangaRepository.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/database/DatabaseHelper.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/database/DbExtensions.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/database/DbProvider.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/database/mappers/ChapterTypeMapping.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/database/mappers/MangaCategoryTypeMapping.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/database/mappers/MangaTypeMapping.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/database/queries/MangaQueries.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/database/queries/RawQueries.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/database/resolvers/ChapterProgressPutResolver.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/database/resolvers/LibraryMangaGetResolver.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/database/resolvers/MangaFlagsPutResolver.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/database/tables/CategoryTable.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/database/tables/ChapterTable.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/database/tables/MangaCategoryTable.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/database/tables/MangaTable.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/library/LibraryUpdateService.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/search/SearchController.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/BrowseSourcePresenter.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryPresenter.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderPresenter.kt
2022-07-03 15:58:26 -04:00