3411 Commits

Author SHA1 Message Date
Andreas
120ea4c768 Move more implementation to data module (#8971)
(cherry picked from commit aee785a8bbf95bd8b2ce975a25cf68dc302f363b)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/data/backup/BackupManager.kt
2023-02-09 16:00:35 -05:00
arkon
8d4e51d4fc Move more models to domain module
(cherry picked from commit d45fc1e245e025c8c5d6c380a73fd99d67bc8622)

# Conflicts:
#	app/src/main/java/eu/kanade/domain/source/model/Source.kt
2023-02-09 15:41:25 -05:00
Jobobby04
dd62337ad6 Move more repositories to domain module 2023-02-09 15:10:37 -05:00
Jobobby04
ab0995ab9f Make MergedMangaReference immutable 2023-02-09 14:54:52 -05:00
arkon
eecf7fd1fb Move more repositories to domain module
(cherry picked from commit 14500ba4f8ecaa852ca121bcdd91a3da5cea5093)

# Conflicts:
#	app/src/main/java/eu/kanade/domain/history/interactor/GetNextChapters.kt
#	app/src/main/java/eu/kanade/domain/manga/interactor/GetManga.kt
#	app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsAdvancedScreen.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/library/LibraryUpdateService.kt
#	app/src/main/java/eu/kanade/tachiyomi/source/SourceManager.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryScreenModel.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryTab.kt
2023-02-09 13:54:12 -05:00
arkon
ce67eb9de3 Move more models to domain module
(cherry picked from commit 345e9c2a9a61f1f3b814db52eddbb42681499854)

# Conflicts:
#	app/src/main/java/eu/kanade/data/manga/MangaMapper.kt
#	app/src/main/java/eu/kanade/domain/chapter/interactor/SyncChaptersWithSource.kt
#	app/src/main/java/eu/kanade/domain/chapter/model/ChapterFilter.kt
#	app/src/main/java/eu/kanade/domain/history/interactor/GetNextChapters.kt
#	app/src/main/java/eu/kanade/domain/library/service/LibraryPreferences.kt
#	app/src/main/java/eu/kanade/domain/manga/model/Manga.kt
#	app/src/main/java/eu/kanade/presentation/browse/MigrateSearchScreen.kt
#	app/src/main/java/eu/kanade/presentation/browse/components/BrowseSourceDialogs.kt
#	app/src/main/java/eu/kanade/presentation/manga/MangaScreen.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/backup/models/BackupManga.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/database/models/Manga.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/MigrationFlags.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/search/MigrateDialog.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/search/SourceSearchScreen.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/BrowseSourceScreenModel.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/history/HistoryTab.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryScreenModel.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryTab.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaScreen.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaScreenModel.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderViewModel.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/loader/ChapterLoader.kt
#	app/src/main/java/eu/kanade/tachiyomi/util/chapter/ChapterGetNextUnread.kt
2023-02-09 13:44:38 -05:00
arkon
eb3e928e67 Move more models to domain module
(cherry picked from commit b53e24e0dbd4affd6066a03ce543c3ecc88bdb99)

# Conflicts:
#	app/src/main/java/eu/kanade/data/history/HistoryRepositoryImpl.kt
#	app/src/main/java/eu/kanade/data/updates/UpdatesMapper.kt
#	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/domain/history/repository/HistoryRepository.kt
#	app/src/main/java/eu/kanade/domain/library/service/LibraryPreferences.kt
#	app/src/main/java/eu/kanade/presentation/browse/components/BrowseSourceToolbar.kt
#	app/src/main/java/eu/kanade/tachiyomi/extension/ExtensionManager.kt
#	app/src/main/java/eu/kanade/tachiyomi/source/SourceManager.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/search/MigrateDialog.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/reader/ReaderViewModel.kt
#	domain/src/main/java/tachiyomi/domain/history/model/HistoryWithRelations.kt
#	domain/src/main/java/tachiyomi/domain/updates/model/UpdatesWithRelations.kt
2023-02-09 13:00:07 -05:00
Andreas
d68330c64e Move Category model and repository to domain and data layer (#8967)
To keep the commit from being 100+ files the interactors wasn't moved.

The domain module like the data module uses `tachiyomi` instead of `eu.kanade.tachiyomi` for package names

(cherry picked from commit d3a73fc22849a915483bea03fcd7c20834b1f4d8)

# Conflicts:
#	app/src/main/java/eu/kanade/domain/category/interactor/SetSortModeForCategory.kt
#	app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsLibraryScreen.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryScreenModel.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/manga/MangaScreenModel.kt
2023-02-07 17:18:30 -05:00
arkon
4ee66f6185 Save current page state on configuration change
Fixes #8881

The actual issue is that the ViewModel migration actually differs between what the current `init` block
and previous `onSave` methods did; where the `init` block does not get triggered on saving the
instance on config changes.

Not entirely sure why onSaveInstanceState was explicitly avoided for config changes before, but we
just do it all the time now and end up updating the requestedPage with the current page.

(cherry picked from commit 2ebc8d9ae51f84b0f69dee603a5448a72013f734)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderActivity.kt
2023-02-07 17:06:10 -05:00
zbue
a53190f7c4 MangaScreenModel: Make download function follow reader preference (#8920)
* Make download function more clearer in manga screen

Maybe resolves #8879

* Minor cleanup

* Minor cleanup 2

(cherry picked from commit e28b0155801859f48a18bc1c5aacead54378c77f)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaScreenModel.kt
2023-02-07 17:05:13 -05:00
Two-Ai
4965da340b Replace RxJava in HttpPageLoader downloader (#8955)
* Convert downloader Observable to flow

Uses `runInterruptible` to turn the blocking call to `queue.take()`
into a cancellable call.

Flow collection is ended by cancelling the scope in `recycle`. This
means the `HttpPageLoader` can't be reused after calling `recycle`,
but this was true with the `Observable` as well.)

* Convert load Observables to suspending function

Inlining the Observables allows for some simplification of the error
handling. Behavior should be otherwise identical.

* Convert cleanup Completable to coroutine

Uses global `launchIO`, not ideal but similar to previous behavior.
Can't be scheduled on the local `scope` as this runs after `scope` is
cancelled.

(cherry picked from commit e4bc8990fbe2aa4bc31977f1061bac0c70d7a58f)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/loader/HttpPageLoader.kt
2023-02-07 16:55:26 -05:00
arkon
354bb2fd83 Don't use platform attributes for white/black reader backgrounds
Probably fixes #8946

(cherry picked from commit 7a972dfdb7cfb7578b3f9dd63ba0fdcb77b16b24)
2023-02-07 16:11:37 -05:00
arkon
1fd8021e98 Hide WebView menu item in reader if local
Closes #8932

(cherry picked from commit 1a4dad72a9e7e5eb5326f5846c50698fe2bb6673)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderActivity.kt
2023-02-07 15:58:13 -05:00
arkon
767d1b3f20 Fix checking downloads banner showing up incorrectly
(cherry picked from commit 5b5eb9218483c53a260ad6f8cc97457fbf4872a8)
2023-02-07 15:54:40 -05:00
Two-Ai
e4ab74d2e4 Convert PageLoader.getPages to suspending function (#8917)
(cherry picked from commit 58ebf146919694170af0d0044a9dde56668fa543)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/data/download/DownloadManager.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/loader/HttpPageLoader.kt
2023-02-07 15:54:25 -05:00
Verzaukeks
eff93b8e7c Prevent scrolling outside bounds in webtoon/vertical reading mode (#8821)
(cherry picked from commit 992bab4f7956740bafd8227b29958acebfaae64d)
2023-02-07 15:42:14 -05:00
zbue
740b3e4616 Allow partially read chapters to be marked as unread in updates screen (#8884)
* Allow partially read chapters to be marked as unread in updates screen

* Review changes

* Review changes 2

(cherry picked from commit f301dc64f00c2d8a19cb89610cf6fba7eb78917d)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/manga/MangaScreen.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaScreenModel.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/updates/UpdatesScreenModel.kt
#	app/src/main/sqldelight/migrations/23.sqm
2023-02-07 15:41:58 -05:00
zbue
7f7789792b Enable confirmButton only when needed to respond to user input (#8848)
* Enable `confirmButton` when appropriate

* Show error in dialog instead

* Follow M3 guidelines

(cherry picked from commit 33a221971692c1662dc883a7bac9fdcc7b843d35)

# Conflicts:
#	app/src/main/java/eu/kanade/domain/category/interactor/CreateCategoryWithName.kt
#	app/src/main/java/eu/kanade/presentation/category/components/CategoryDialogs.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/category/CategoryScreen.kt
2023-02-07 15:06:33 -05:00
Two-Ai
843c0a4588 Replace RxJava in ChapterLoader and ReaderViewModel (#8915)
* Replace RxJava in ChapterLoader

* Don't swallow CancellationException

* Simplify loadChapter behavior

* Add error handling to loadAdjacent

(cherry picked from commit 62480f090b3007487b7125c6a2cd63a6103486cc)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderViewModel.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/loader/ChapterLoader.kt
2023-02-07 14:29:07 -05:00
zbue
a7fefb4c9c Show chapter scanlator on reader transition (#8910)
Closes #7131

(cherry picked from commit 287489d7d07881cdfcb0494c4c9d6163d63d2fce)
2023-02-07 14:04:28 -05:00
Two-Ai
68609b38b0 Fix DownloadPageLoader resource leak (#8905)
The underlying ZipFile is leaking. To fix, store a reference to the
ZipPageLoader and recycle it on recycle.

(cherry picked from commit 8c494f314cf77e54675f8d9742d50ed0ef94df59)
2023-02-07 14:04:00 -05:00
arkon
b30232ba9d Only how indexing downloads banner the first time
Closes #8903

(cherry picked from commit b6468c7e31728dcb888782d6cb11639833cfa037)
2023-02-07 14:03:44 -05:00
Jobobby04
a19be83f99 Parallelize feed properly 2023-02-07 14:03:27 -05:00
arkon
f93cf29df4 Parallelize global search properly
Fixes #8906

(cherry picked from commit 91004ad514d25be610a1f8cd1390b74faf46830b)
2023-02-07 13:57:23 -05:00
arkon
864707d75b Minor cleanup
(cherry picked from commit a2ee4e63ae3bb2949c57d11a23bc56315579f891)
2023-02-07 13:57:15 -05:00
Alessandro Jean
3a9a1c631d Show proper Exception message in MangaScreen (#8900)
Show proper Exception message in MangaScreen.

(cherry picked from commit 7329f03bc5e6fa63723d8b19ef8a351916af3631)
2023-02-07 13:32:14 -05:00
arkon
a55e27c657 Don't prompt to add to library multiple times
Fixes #8842

(cherry picked from commit 82ea643c7d2ee75acc7fc17e2b9d492b57fb7a42)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaScreenModel.kt
2023-02-07 13:32:07 -05:00
arkon
145adfaaa1 Update library sheet filter tab on open
Fixes #8885

(cherry picked from commit 34bb90f3c2d0cb3e8d3bb9564a702068dcb10b7e)
2023-02-07 13:31:27 -05:00
arkon
0ae19297fc Refactor how extensions list is modelled
To better enable changing the UI in the future based on sections.

(cherry picked from commit 75b23c99ecd4eef46bc528d65c5307eb44f1a346)
2023-02-07 13:30:36 -05:00
arkon
c1f87feb7e Show the tracker name when showing error toast
(cherry picked from commit 7df10b076c555e403b30f6db34f7b1d7c41aee77)
2023-02-07 13:29:39 -05:00
Two-Ai
e099d1a313 Replace RxJava in DownloadQueueScreenModel (#8872)
(cherry picked from commit 2245658363823e5b3c29e9f28b45d95418f3e57e)
2023-02-07 13:29:30 -05:00
arkon
4c2e9aa509 Fix double tapping History not working consistently
Fixes #8875

(cherry picked from commit 46774771ec82328816d01918b5cb43cb807e23ea)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/history/HistoryTab.kt
2023-02-07 13:29:22 -05:00
arkon
a18ce256eb Fix crash in categories screen on config change
Fixes #8861

(cherry picked from commit 60456fe0e95966134c47f0f8401eef001690f8e0)
2023-02-07 13:28:40 -05:00
arkon
8087c25559 Don't exclude same source when checking for duplicate entries
Closes #8870

(cherry picked from commit a0f47d3f1b874c9b6d62dfc1679daa9398bf9b98)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/BrowseSourceScreenModel.kt
2023-02-07 13:26:20 -05:00
arkon
c9bc4646da Use Voyager for WebView in non-reader places
(cherry picked from commit 6efcb8ccfae0a19ae1c3c866620c8dd5222eb4b3)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaScreen.kt
2023-02-07 13:16:24 -05:00
arkon
50c06de524 Use theme padding values in more places
(cherry picked from commit 0067d474c86d08011ebf3b1676c4db8c85e68125)
2023-02-07 13:08:48 -05:00
MCAxiaz
97f3148e4c Add Reader Setting to Skip Dupe Chapters (#8831)
Add reader setting to filter dupe chapters with same scanlator priority.

(cherry picked from commit cf393b217b7a03f4c543c1dac118ddedf5552823)
2023-02-07 13:05:29 -05:00
arkon
1a09fde22c Avoid crashes when fetching assist content URL in ReaderActivity
(cherry picked from commit e265b929a19d3258cbe305d5b4a2d2bdcf1eb9ec)
2023-02-07 13:05:22 -05:00
arkon
f5b03a3a4b Avoid crashes when opening WebView from reader
Also ensure WebViewActivity has an Assistant URL when it first opens with a URL.

(cherry picked from commit 425e48bec6edf6ea30d13dc8d46b79899122c61b)
2023-02-07 12:39:27 -05:00
stevenyomi
9f9cbecb49 Fix reader settings sheet's mode section not updated (#8857)
(cherry picked from commit 2a3c3d8d6afa12f6e022acba8692167e5fe1593a)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderViewModel.kt
2023-02-07 12:38:56 -05:00
stevenyomi
16093a6d6d Fix floating-point error in navigate pan (#8856)
(cherry picked from commit 7b026cec8d1e113f03c15642cba3d3c9601cd65e)
2023-02-07 12:38:26 -05:00
arkon
193c311e15 Remove ability to hide unread chapter badges in library
(cherry picked from commit 68345e636efb7f616a91ef8f0accc17a818ebe5b)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryScreenModel.kt
2023-02-07 12:37:01 -05:00
stevenyomi
1800d00e04 Fix reader settings sheet not updated (#8854)
* Revert "Recreate reader settings when opening sheet (#8054)"

This reverts commit acb8ab15b2e73ba2f161eb201e93ba3a36df2867.

* Revert "Fix stacking of Settings menu in the reader on multiple taps (#8002)"

This reverts commit 30ac94181b2c410aedead964a815b080ef3e62ee.

* Fix reader settings sheet not updated

(cherry picked from commit 0861c5618c097f89bec75ffeed1359e345532d89)
2023-02-07 12:35:45 -05:00
Jobobby04
475fb82c66 Allow refreshing the feed tab 2023-02-07 12:09:44 -05:00
Jobobby04
59d307c6a1 Make migration screen unique in the stack 2023-02-04 19:44:15 -05:00
Jobobby04
292f5a93aa Fix page previews not opening read chapters 2023-01-10 16:10:15 -05:00
Jobobby04
083e4f064d Fix build 2023-01-07 16:50:28 -05:00
arkon
37a444f3f6 Open entry when long pressing during migration in source search
This matches the behavior from 0.13.6

Fixes #8176

(cherry picked from commit 1e65313fa7bf8b64b5447b1a50e828903bde8413)
2023-01-07 16:43:43 -05:00
arkon
895cdad7ca Fix downloaded badges appearing when filtering by downloaded
Fixes #8850

(cherry picked from commit c4c6e41c46f38602578af9b0fa36c037482252da)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryScreenModel.kt
2023-01-07 16:43:34 -05:00
Two-Ai
65c95fbb78 Use MainScope for coroutines in ui package classes (#8845)
(cherry picked from commit 920ca405a2116065840c7dd074209d902bfd3419)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/viewer/pager/PagerPageHolder.kt
2023-01-07 16:40:01 -05:00