Commit graph

5537 commits

Author SHA1 Message Date
Howard Wu
978a814815
Remove suffix (#810)
TachiyomiSY's APK didn't have this suffix.
The code now causes the corresponding architecture impossible to find, which leads to downloading the APK for arm64 when updating from x86_64.
2023-03-15 17:31:28 -04:00
arkon
5269ad3b87 Refactor tracker status string mappings
Should fix #9195

(cherry picked from commit 47a2d066821d0f65680255f5ce6442fd0af55382)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/data/track/TrackManager.kt
2023-03-15 00:45:23 -04:00
Ivan Iskandar
98e4ca4804 Revert "Fix banners-related issues" (#9186)
Revert "Fix banners-related issues (#9143)"

This reverts commit 63048d2f0b57477aecb4fd91f1f8c20a66ec9e18.

(cherry picked from commit c0f94ae8afaacd218f05e72d1d30c9d15f1eb09e)
2023-03-15 00:25:07 -04:00
arkon
0cd1c65045 Bump dependencies
(cherry picked from commit ed32a511e7d3b6d0ffb33c66b437f56ad2474428)
2023-03-15 00:24:58 -04:00
arkon
d71dbdd2f8 Remove download all chapters menu item
Users can still select all the chapters (long press + select all) to download them.

(cherry picked from commit 09acc534835d6aa664b037b54401a817ed44fb45)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/library/LibrarySettingsDialog.kt
2023-03-15 00:24:22 -04:00
arkon
6fbf250796 Move more things to domain/data modules
(cherry picked from commit bebd4be43d73617de2cfbc1ff4289e81f535a8e6)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsAdvancedScreen.kt
#	app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsGeneralScreen.kt
#	app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsLibraryScreen.kt
#	app/src/main/java/eu/kanade/tachiyomi/AppModule.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/backup/BackupManager.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/library/LibraryUpdateJob.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/BrowseSourceScreenModel.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/home/HomeScreen.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryScreenModel.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaScreenModel.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderViewModel.kt
#	data/src/main/java/tachiyomi/data/source/EHentaiPagingSource.kt
#	data/src/main/java/tachiyomi/data/source/SourcePagingSource.kt
#	domain/build.gradle.kts
#	domain/src/main/java/tachiyomi/domain/category/interactor/SetDisplayModeForCategory.kt
#	domain/src/main/java/tachiyomi/domain/category/interactor/SetSortModeForCategory.kt
#	domain/src/main/java/tachiyomi/domain/history/interactor/GetHistoryByMangaId.kt
#	domain/src/main/java/tachiyomi/domain/library/service/LibraryPreferences.kt
2023-03-15 00:23:28 -04:00
arkon
f930f63670 Use stricter visibility for composables where possible
(cherry picked from commit 9b77759f2496ef98c10b7dd7cf385b7be75313ef)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/category/components/CategoryDialogs.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/BrowseSourceScreen.kt
2023-03-14 23:50:25 -04:00
arkon
9b1f9c9635 Add dot beside unread chapter names
Closes #4261
Also includes changes that might help with #9043

(cherry picked from commit e458de5e9c845ac5a278aec397b7a0cdbd4f94ed)
2023-03-14 23:37:21 -04:00
arkon
bbb18319c2 Use Compose icons instead of drawables
Using:
- https://github.com/DevSrSouza/compose-icons
- https://github.com/DevSrSouza/compose-icons/blob/master/simple-icons/DOCUMENTATION.md

(cherry picked from commit e917349bb7e1fb37b5cf58a130a33d13e1872093)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/more/settings/screen/AboutScreen.kt
2023-03-14 23:36:39 -04:00
arkon
e4ad723606 Refactor SourceManager/StubSource to domain module
(cherry picked from commit ad4912803bda73e0f1d5e2e0246561a508e72fd7)

# Conflicts:
#	app/src/main/java/eu/kanade/data/source/SourceRepositoryImpl.kt
#	app/src/main/java/eu/kanade/presentation/browse/BrowseSourceScreen.kt
#	app/src/main/java/eu/kanade/presentation/manga/MangaScreen.kt
#	app/src/main/java/eu/kanade/tachiyomi/AppModule.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/backup/BackupManager.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/library/LibraryUpdateJob.kt
#	app/src/main/java/eu/kanade/tachiyomi/source/AndroidSourceManager.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/extension/details/SourcePreferencesScreen.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/search/MigrateDialog.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/manga/MangaScreenModel.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/loader/ChapterLoader.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/updates/UpdatesScreenModel.kt
2023-03-14 23:35:34 -04:00
arkon
0c037cb89d Move some preferences into domain module
(cherry picked from commit f96f0c58890c0cdc7c2f8142c42db2dbc8fdcbb2)

# Conflicts:
#	app/src/main/java/eu/kanade/domain/chapter/interactor/SetReadStatus.kt
#	app/src/main/java/eu/kanade/tachiyomi/AppModule.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/backup/BackupManager.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/download/DownloadManager.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/library/LibraryUpdateJob.kt
2023-03-14 23:14:51 -04:00
Jobobby04
e18729c6b0 Fix build 2023-03-14 23:05:26 -04:00
arkon
e582f7998c Move sourceMapper to data module
(cherry picked from commit 2b9acadc5b7e418f41fa6f93a29a005d671598ee)

# Conflicts:
#	app/src/main/java/eu/kanade/data/source/SourceRepositoryImpl.kt
2023-03-14 23:05:14 -04:00
arkon
ef00925ddd Show proper message when doing global update
Fixes #9170

(cherry picked from commit 9caa0d147b9d993daf173dbd7d756ab3372943bc)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryTab.kt
2023-03-14 22:56:16 -04:00
Andreas
8ad53c45e0 Convert source modules to Kotlin Multiplatform (#9172)
Use KMP in source modules

Use KMP in source-api

Expect LocalSource

(cherry picked from commit 1abf01c4a030b089e6300cb284cc93f7ed323a22)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/AppModule.kt
#	source-api/build.gradle.kts
#	source-api/src/commonMain/kotlin/eu/kanade/tachiyomi/source/PagePreviewSource.kt
#	source-api/src/commonMain/kotlin/eu/kanade/tachiyomi/source/online/FollowsSource.kt
#	source-api/src/commonMain/kotlin/eu/kanade/tachiyomi/source/online/LoginSource.kt
#	source-api/src/commonMain/kotlin/eu/kanade/tachiyomi/source/online/MetadataSource.kt
#	source-api/src/commonMain/kotlin/eu/kanade/tachiyomi/source/online/NamespaceSource.kt
#	source-api/src/commonMain/kotlin/eu/kanade/tachiyomi/source/online/RandomMangaSource.kt
#	source-api/src/commonMain/kotlin/eu/kanade/tachiyomi/source/online/UrlImportableSource.kt
2023-03-14 22:54:50 -04:00
Two-Ai
0d3bbe4271 Inline DownloadQueue into Downloader (#9159)
* Move statusFlow and progressFlow to DownloadManager

* Inline DownloadQueue into Downloader

* Move reorderQueue implementation to Downloader

(cherry picked from commit b41565f8794e3865ceae914bd00b500dbd2abacf)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/data/download/DownloadManager.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/download/model/DownloadQueue.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaScreenModel.kt
2023-03-14 22:41:11 -04:00
arkon
16a23f89a5 Add explicit overflow menu options to refresh library category and manga chapters list
Jetpack Compose treats mouse input differently than just mimicking a touch input, so dragging doesn't actually
invoke the pull to refresh. If that changes in the future, we could consider removing these.

Doesn't seem too necessary for the extensions list, so I skipped that.

Closes #8455

(cherry picked from commit f03a83413689923633c8ebe5634b34c566733961)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/manga/components/MangaToolbar.kt
2023-03-14 22:27:19 -04:00
arkon
9baa52db00 Use queued last chapter read number when performing delayed tracker update
Fixes #8876

(cherry picked from commit f7f2072621bbcaf4ddbe07f746a5cf78490c95c9)
2023-03-14 22:24:05 -04:00
arkon
899f0ae86f Minor refactoring
(cherry picked from commit 5b2e937d5fdeadc8a9a994b99b3f6b7a277f2513)

# Conflicts:
#	app/src/main/java/eu/kanade/domain/source/model/SourcePagingSourceType.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/BrowseSourceScreenModel.kt
2023-03-14 22:23:54 -04:00
Andreas
b5b5dd0e81 Move Local Source to separate module (#9152)
* Move Local Source to separate module

* Review changes

(cherry picked from commit f27dc19b378f2f38ed2885f40d93f6d8817ef584)

# Conflicts:
#	app/src/main/java/eu/kanade/domain/source/interactor/GetEnabledSources.kt
#	app/src/main/java/eu/kanade/tachiyomi/AppModule.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/download/Downloader.kt
#	app/src/main/java/eu/kanade/tachiyomi/source/SourceManager.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/search/SourceSearchScreen.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/loader/ChapterLoader.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/viewer/pager/PagerPageHolder.kt
#	core/src/main/java/tachiyomi/core/util/system/ImageUtil.kt
#	source-local/src/main/java/tachiyomi/source/local/LocalSource.kt
2023-03-14 22:10:00 -04:00
arkon
2b96fa46ba Add menu shortcut to source settings in BrowseSourceScreen
Adapted from TachiyomiSY.

Co-authored-by: jobobby04 <jobobby04@users.noreply.github.com>
(cherry picked from commit 2368c50ebb7405a1b3978a6f2eb97b61e395b1af)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/browse/components/BrowseSourceToolbar.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/BrowseSourceScreen.kt
2023-03-14 21:33:13 -04:00
Two-Ai
f8dc4f25d1 Move all DownloadService.stop calls to Downloader (#9146)
Downloader.stop is now the sole responsible for stopping the
DownloadService. This will help cleanly removing
DownloadService.stop when migrating to coroutines.

(cherry picked from commit 0505906e7a554abe6bbbc2c1cd4a6bfaa9407bf6)
2023-03-14 21:28:32 -04:00
arkon
897d019f0b Avoid crashing in SourcePreferencesScreen if source can't be loaded
(cherry picked from commit 4efca047658761e54cc7574a6e33ed681de3f40a)
2023-03-14 21:28:24 -04:00
arkon
e9083fc571 Avoid crash in DeleteLibraryMangaDialog
No clue why it ever gets a -1 index though.

(cherry picked from commit b12c7cf9633a9fc3a728a0ef44b5d50d621a7595)
2023-03-14 21:28:15 -04:00
arkon
88aa796f2f Close source filter dialog when filtering
(cherry picked from commit 487622c592bf8bb859e3e1afacbd29243733c4b9)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/SourceFilterDialog.kt
2023-03-14 21:28:06 -04:00
Ivan Iskandar
87788a49d7 Fix banners-related issues (#9143)
This is most likely Compose issue so these changes will
be reevaluated when new Compose ver is out.

(cherry picked from commit 63048d2f0b57477aecb4fd91f1f8c20a66ec9e18)
2023-03-14 21:26:29 -04:00
Two-Ai
b842d48512 Misc Downloader state cleanup (#9145)
* Replace Downloader CompositeSubscription with nullable Subscription

* Derive Downloader.isRunning from subscription

Also simplify usages of isRunning

* Move DownloadNotifier.paused to Downloader.isPaused

* Remove unused DownloadNotifier.errorThrown

(cherry picked from commit 79662a58665e50d99d408e2be30d3af02053b5ca)
2023-03-14 21:26:20 -04:00
Two-Ai
b6afd8df46 Simplify filter logic (#9141)
* Remove unnecessary else branch

* Add TriStateFilter applyFilter

* Simplify filterFnTracking filter logic

(cherry picked from commit ed6809fa2835831b8d5739d195eff1dbf74df801)

# Conflicts:
#	app/src/main/java/eu/kanade/domain/chapter/model/ChapterFilter.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryScreenModel.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaScreenModel.kt
2023-03-14 21:26:12 -04:00
Two-Ai
b9a18d2c73 Make DownloadManager the sole entry point for DownloadService (#9140)
* Rename functions for DownloadService internal use

* Call DownloadService.start via DownloadManager

* Inline DownloadService.stop into pauseDownloads

* Inline DownloadService.stop into clearQueue

NotificationReceiver will now also stop the DownloadService when
receiving ACTION_CLEAR_DOWNLOADS.

* Provide DownloadService.isRunning via DownloadManager

(cherry picked from commit 86b9262a7ef6c4e97f248bdf417b0e06503fefac)
2023-03-14 21:20:07 -04:00
arkon
51f655e9d5 Migrate TriState usages to TriStateFilter enum
(cherry picked from commit 7ec87e76db55766e02c28eb732cf18ba4c413b18)

# Conflicts:
#	app/build.gradle.kts
#	app/src/main/java/eu/kanade/domain/library/service/LibraryPreferences.kt
#	app/src/main/java/eu/kanade/presentation/library/LibrarySettingsDialog.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/SourceFilterDialog.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryScreenModel.kt
2023-03-14 21:19:56 -04:00
Ivan Iskandar
fd95de016d TrackDateSelectorScreen: Use M3 date picker (#9138)
(cherry picked from commit ec3ce74af8d6f16b58b368e78acf72f929f3f9e6)
2023-03-14 20:48:01 -04:00
Two-Ai
028a539fc0 Remove redundant Downloader isNotification argument (#9139)
DownloadQueue.clear() already sets QUEUE downloads to NOT_DOWNLOADED.

(cherry picked from commit 83a4e3409536a9264cf9074cf64480ee43fb5274)
2023-03-14 20:47:49 -04:00
arkon
314a740906 Migrate source filter sheet to Compose (#9135)
(cherry picked from commit 92132c59f5417ef81a7bbba6849be849282fc25e)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/components/SettingsItems.kt
#	app/src/main/java/eu/kanade/presentation/library/LibrarySettingsDialog.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/BrowseSourceScreen.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/BrowseSourceScreenModel.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/SourceFilterSheet.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/filter/GroupItem.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/filter/SectionItems.kt
#	app/src/main/java/eu/kanade/tachiyomi/widget/SimpleNavigationView.kt
#	app/src/main/java/eu/kanade/tachiyomi/widget/listener/IgnoreFirstSpinnerListener.kt
#	app/src/main/res/drawable/empty_drawable_32dp.xml
#	app/src/main/res/drawable/ic_check_box_24dp.xml
#	app/src/main/res/drawable/ic_check_box_outline_blank_24dp.xml
#	app/src/main/res/drawable/ic_check_box_x_24dp.xml
#	app/src/main/res/layout/navigation_view_checkbox.xml
#	app/src/main/res/layout/navigation_view_checkedtext.xml
#	app/src/main/res/layout/navigation_view_group.xml
#	app/src/main/res/layout/navigation_view_radio.xml
#	app/src/main/res/layout/navigation_view_spinner.xml
#	app/src/main/res/layout/navigation_view_text.xml
#	app/src/main/res/layout/source_filter_sheet.xml
2023-03-14 20:38:57 -04:00
Ivan Iskandar
1a5bf9f763 Bump compose-bom version 2023.02.00-beta02 (#9137)
(cherry picked from commit 36ae3883323d2a141a562cf401da3475f5c7e222)
2023-03-05 19:53:15 -05:00
arkon
563063a6fd Fix per-category sort/display affecting the wrong category
(cherry picked from commit bd47eafeecc837f833a0c370372dd6d5edb62130)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/library/LibrarySettingsScreenModel.kt
2023-03-05 19:53:02 -05:00
arkon
654e894aee Bump dependencies
(cherry picked from commit 9432d2d06a817cc22fe147b0d3f33f156de09840)
2023-03-05 19:47:47 -05:00
Two-Ai
87107fcc94 Convert downloadChapter to suspend function (#9127)
1:1 translation from the RxJava implementation, should match the
previous behavior.

Dropped the return value from functions of the form
```
fun foo(t: T, ...): Observable<T>
```
where the Observable produced the original argument `t`.
The caller already has the result if necessary.

While this conversion is not flow-based overall, some sections use
flows to use the flatMapMerge and retryWhen operators.

Removed RetryWithDelay as it was only used here.

Inlined fetchAllImageUrlsFromPageList instead of converting it to a
suspending equivalent. fetchAllImageUrlsFromPageList is no longer
used in the app, but was not removed as it is part of source-api.
(However, it does not seem to be used exposed in extensions-lib or
used in tachiyomi-extensions.)

runBlocking is used as a temporary stop-gap.

(cherry picked from commit fa61c8fe6fb4966f5d23f643759f0e4229b8f016)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/data/download/Downloader.kt
2023-03-05 19:47:32 -05:00
arkon
61eb128f3b Move CheckboxState to core module
(cherry picked from commit fd7c993b0bfb897ea0770c91e4594367ae9c2316)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/BrowseSourceScreenModel.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryScreenModel.kt
2023-03-05 19:41:36 -05:00
Two-Ai
acef44f55c Fix download queue page count display bug (#9126)
When restarting a download, the page count would display as 0 until
the first page download completion, after all the existing pages were
rechecked.

To fix, calculate downloadedImages from pages instead of relying on
the downloader to reset and increment the count.

(cherry picked from commit 779df32e98f2a020ca6a4f79c0748dd9f5b16873)
2023-03-05 19:03:13 -05:00
Jobobby04
778c50753a Minor fix with grouping in library sheet 2023-03-05 19:02:39 -05:00
arkon
d2ccd2fd93 Fix height shift when scrolling through themes
(cherry picked from commit 0bd56ab77cb654f016f6ed6c52dd7afd7cd72836)
2023-03-05 18:59:01 -05:00
Ivan Iskandar
a57a813953 Use Compose Foundation's flow layout (#9123)
(cherry picked from commit 6b03dca5f47947a8fe1dd7989b19ff5d23030c2e)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/manga/components/MangaInfoHeader.kt
2023-03-05 18:58:44 -05:00
Ivan Iskandar
fe088b279e Add minLines to comfortable grid item title (#9122)
(cherry picked from commit bd7b21337ca9bee98877cae298784401a4a4e7b7)
2023-03-05 18:49:29 -05:00
Ivan Iskandar
c787ccb84d Use non-stable Compose BOM (#9120)
(cherry picked from commit 60a3ba5a5c1d09e3c3cb56f808a95b239cb0624e)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/manga/components/MangaInfoHeader.kt
2023-03-05 18:49:18 -05:00
arkon
6563490513 Remove dependency injection from core module and data module from presentation-widget module
Includes side effects:
- No longer need to restart app for user agent string change to take effect
- parseAs extension function requires a Json instance in the calling context, which doesn't necessarily need to be the default one provided by Injekt

(cherry picked from commit 93523ef50b80ef294866bfb0da54e236cdf2d9f6)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/data/updater/AppUpdateChecker.kt
#	app/src/main/java/eu/kanade/tachiyomi/extension/api/ExtensionGithubApi.kt
#	core/src/main/java/eu/kanade/tachiyomi/network/NetworkHelper.kt
#	core/src/main/java/eu/kanade/tachiyomi/network/OkHttpExtensions.kt
#	domain/build.gradle.kts
#	source-api/build.gradle.kts
2023-03-05 18:33:57 -05:00
arkon
2e1c83442e Move more components to presentation-core module
(cherry picked from commit 10d734950659ce5e6ede82a98b89be107912f927)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/manga/MigrationMangaScreen.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/MigrateSearchScreen.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/search/SourceSearchScreen.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/category/CategoryScreen.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/home/HomeScreen.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryTab.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaScreen.kt
2023-03-05 18:00:20 -05:00
arkon
85224c368d Avoid crash when loading invalid extension package
(cherry picked from commit 3d7c136320da3b5842a51d7dbb9e82cf74144f3f)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/extension/util/ExtensionLoader.kt
2023-03-05 17:48:11 -05:00
arkon
2e4bd7c089 Avoid crashes if headers can't be built for usage in WebView
(cherry picked from commit ec49411bee9d7099e13685a02d54edabed863557)
2023-03-05 17:44:50 -05:00
arkon
5f9743223d Use unique keys for all screens to avoid crashes
Fixes #9008
Fixes #9110

(cherry picked from commit 3f7911235c595fe6925e8e22c0c64a368700066e)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/manga/MigrationMangaScreen.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/search/MigrateSearchScreen.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/BrowseSourceScreen.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/home/HomeScreen.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaScreen.kt
2023-03-05 17:44:35 -05:00
arkon
3257366ec0 Migrate library settings sheet to Compose
(cherry picked from commit 727399611ddff3530d66ad7a758f357f95053b92)

# Conflicts:
#	app/src/main/java/eu/kanade/domain/library/service/LibraryPreferences.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/main/MainActivity.kt
#	app/src/main/java/eu/kanade/tachiyomi/widget/ExtendedNavigationView.kt
2023-03-05 17:37:46 -05:00
arkon
935b6576d0 Minor settings sheet cleanup
(cherry picked from commit 07fdb74fbc9ae2afa67e427bb4a94860c7a2d8e6)

# Conflicts:
#	app/src/main/java/eu/kanade/domain/library/service/LibraryPreferences.kt
#	app/src/main/java/eu/kanade/presentation/manga/ChapterSettingsDialog.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/library/LibrarySettingsSheet.kt
2023-03-05 16:53:29 -05:00
arkon
669e88f34b Remove unnecessary usages of NotificationManagerCompat to actually create notifications
(cherry picked from commit d400ac2a49001b207741ab30e328259a1e77de4c)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/App.kt
2023-03-05 16:45:18 -05:00
arkon
586068d720 Move more components
(cherry picked from commit dd71c76a8f0b760ec806e71be77998bbc2da61a3)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/BrowseSourceScreen.kt
2023-03-05 16:44:36 -05:00
arkon
4db8fa8f12 Move more components to presentation-core module
(cherry picked from commit 58a0add4f6bd8a5ab1006755035ff1b102355d4a)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/browse/ExtensionsScreen.kt
#	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/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
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/BrowseSourceScreen.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryTab.kt
2023-03-05 16:37:21 -05:00
arkon
60741e1b3b Move more components to presentation-core module
(cherry picked from commit bfe143015a810fc42c1284ef03fbf57ff1a02395)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/browse/ExtensionsScreen.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/manga/MigrationMangaScreen.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/search/MigrateDialog.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/category/CategoryScreen.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/home/HomeScreen.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaScreen.kt
2023-03-05 16:14:29 -05:00
arkon
148268571e Start moving some Compose components to presentation-core module
(cherry picked from commit e3cf8632305283468a5e8366a257d6d6880ca1a6)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/browse/ExtensionsScreen.kt
#	app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsMainScreen.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/extension/details/SourcePreferencesScreen.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/search/SourceSearchScreen.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryTab.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/main/MainActivity.kt
2023-03-05 16:03:12 -05:00
arkon
efca899165 Move chapter utils to domain module
(cherry picked from commit ee818bc7c543e8f4b799f18b989817906ac195ab)

# Conflicts:
#	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
2023-03-05 15:12:20 -05:00
Jobobby04
70b83e1061 Minor cleanup 2023-03-05 15:05:54 -05:00
arkon
259b8f383f Move more things to domain module
(cherry picked from commit f816196df29ee9744e93470df48b2f7f24ae18f7)

# Conflicts:
#	app/src/main/java/eu/kanade/domain/history/interactor/GetNextChapters.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/backup/BackupManager.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/library/LibraryUpdateJob.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/source/browse/BrowseSourceScreenModel.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryScreenModel.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaScreenModel.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderViewModel.kt
2023-03-05 15:05:35 -05:00
arkon
366219d7f5 Avoid crashing if getChapterUrl is not implemented
Fixes #9105

(cherry picked from commit ceaf579cb0b4b0ecdf2e56f245a2fad2b6ed2e85)
2023-03-05 14:33:25 -05:00
arkon
268f542bbb Remove unused Rx/Coroutines converters
(cherry picked from commit b49280e347d857c7f1dd17805f601ed2766e650e)
2023-03-05 14:33:04 -05:00
Ivan Iskandar
a163223d83 MainActivity: Avoid navigator-related crash when handling onNewIntent (#9104)
(cherry picked from commit d3dadf71e8d7d029fdb87b44217e001f95f21c1a)
2023-03-05 14:29:31 -05:00
Two-Ai
725a66f078 Remove RxJava in PageHolder (#9103)
Inline readImageHeaderSubscription in PageHolder

Inline readImageHeaderSubscription in PagerPageHolder and
WebtoonPageHolder by converting setImage() into a suspend function.
The image processing runs in the loadPageAndProcessStatus
continuation.

Use suspendCancellableCoroutine as a substitute for doOnUnsubscribe
in WebtoonPageHolder.
Closing openStream after the frame.setImage but before the PageHolder
is recycled causes the page display to fail for reasons that are not
currently understood.

Remove subscription handling from WebtoonViewer/WebtoonBaseHolder as
it is no longer used.

(cherry picked from commit ffa8c8fd0746863e08b839f9d91102fe6d5d7887)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/viewer/pager/PagerPageHolder.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/viewer/webtoon/WebtoonPageHolder.kt
2023-03-05 14:29:06 -05:00
arkon
ab19d5c62a Avoid crashing if opening browse with unavailable source
(cherry picked from commit 0ef7650c1a0ae7c4c6e17e458695191ce78944cb)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/browse/BrowseSourceScreen.kt
#	app/src/main/java/eu/kanade/presentation/browse/components/BrowseSourceToolbar.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
2023-02-26 21:49:11 -05:00
Two-Ai
288fe0d888 Simplify PageHolder load Job (#9086)
Inline statusJob into loadJob, using supervisorScope to load the page
and track status changes in parallel.
- supervisorScope does not complete until both the child loadPage
  coroutine and statusFlow.collectLatest have completed.
- Cancelling supervisorScope cancels the child loadPage coroutine and
  statusFlow.collectLatest.
- Use supervisorScope instead of coroutineScope to let status
  collection continue if loadPage fails.

Inline progressJob into loadJob, using collectLatest's cancellation
to avoid cancelling the progressFlow collection explicitly.
- collectLatest cancels the previous action block when the flow
  emits a new value. This means the DOWNLOAD_IMAGE
  progressFlow.collectLatest gets automatically cancelled when
  statusFlow emits a new state.

Convert launchLoadJob to suspend function, move job launch to caller,
and rename as loadPageAndProcessStatus.

(cherry picked from commit 4635e58405eedce0b49fc69f7ccb190a7c600da9)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/viewer/pager/PagerPageHolder.kt
2023-02-26 21:37:26 -05:00
0x7673
57113014ec Add copy tags to clipboard feature (#9063)
(cherry picked from commit d02b0ca2db744b0eca48dfca86811d653fd3bdaf)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/manga/MangaScreen.kt
#	app/src/main/java/eu/kanade/presentation/manga/components/MangaInfoHeader.kt
2023-02-26 21:28:58 -05:00
arkon
829452bc03 Don't apply Wi-Fi network restriction for manual library update jobs
Fixes #9074

(cherry picked from commit 4d607c4aed126ef5ab02c48ad5e7fcbda9b92864)
2023-02-26 21:09:22 -05:00
Ivan Iskandar
fccea2d92a Rework on the wheel picker (#8559)
* Rework the wheel picker

doesn't need for the animation to stop to change the value

* fix

---------

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

# Conflicts:
#	.github/renovate.json
#	app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsLibraryScreen.kt
2023-02-26 21:09:14 -05:00
arkon
cf22ed24ad Remove background extensions updates check
Same reasoning as removing app update check. It gets kicked off in the foreground now too.

(cherry picked from commit 2970eca9e4b56ede7549eb6d49841b7011fe0741)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsBrowseScreen.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/main/MainActivity.kt
2023-02-26 21:08:36 -05:00
arkon
a275a102e9 Remove background app update check
We already check in the foreground. If the app isn't being foregrounded at all, then there isn't much
point in checking for an update.

(cherry picked from commit 42954609b94e13d8fadbf1f3769e9f32fa9e8447)

# Conflicts:
#	app/build.gradle.kts
#	app/src/main/java/eu/kanade/tachiyomi/data/updater/AppUpdateJob.kt
2023-02-26 21:05:06 -05:00
arkon
8fc9e77b77 Add option to hide entries already in library when browsing sources
Closes #2941

(cherry picked from commit 6348cbaeb7dc786309c1ed811ff23114583144a8)

# Conflicts:
#	app/src/main/java/eu/kanade/domain/source/service/SourcePreferences.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/BrowseSourceScreenModel.kt
2023-02-26 21:03:40 -05:00
arkon
9872ee7ab9 Open global search when Browse is tapped twice
Closes #3925

(cherry picked from commit a7cb33d8c9d84e41977b488d4b7a54afc48cb61f)
2023-02-26 20:59:13 -05:00
arkon
2736f4491a Replace Local and In Library badge text with icons
Fixes #5725

(cherry picked from commit 3a2dc46ff0b42d42f93b0dd7267d526e7bb8b30a)
2023-02-26 20:58:53 -05:00
arkon
ab8c8db6ac Move reader preloading to IO scope
Maybe fixes #8440

(cherry picked from commit e052bdef96c133b92dfad214c2b05ab03d4c5866)
2023-02-26 20:58:45 -05:00
arkon
b42c5b58ea Avoid preload download check if chapter is already loaded or loading
Maybe fixes #8953, #9060

(cherry picked from commit d522d6d545bfbd4e4f8f60975bddcd5f6bcc69ac)
2023-02-26 20:58:36 -05:00
Two-Ai
6955819888 Clean up LibraryItem (#9072)
* Move LibraryItem vars to constructor vals

* Convert LibraryItem to data class

Remove redundant equals and hashCode

* Remove unused LibraryItem.displayMode

* Simplify LibraryItem.matches()

* Align types in LibraryItem and LibraryBadges

* fixup! Simplify LibraryItem.matches()

(cherry picked from commit 7b118eba22b6c9caccf09cbd53f846869d5c6f2a)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryItem.kt
2023-02-26 20:58:27 -05:00
arkon
5d0543d0aa Replace custom download amount with next 25
Simplifies things and maybe discourages whacky downloading behavior?
Users can still range select in the chapters list to download custom amounts.

(cherry picked from commit f6e6a7ddf1d32a55da81344b1ae360e16e5560e4)

# Conflicts:
#	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/MangaScreenModel.kt
2023-02-26 20:57:35 -05:00
Ivan Iskandar
2023acf319 MangaCoverDialog: Disable memory cache (#9066)
(cherry picked from commit 1671a56f42c4bb1de3482c2ff264593531e5d39d)
2023-02-26 20:55:28 -05:00
arkon
776bd6c27d Bump dependencies
Fixes #8168, I think.

(cherry picked from commit ab6dfe9e256dafc9085617aba0a094462eef1337)
2023-02-26 20:55:04 -05:00
arkon
b75a8fc146 Clean up chapter item composables a bit
Might help with #9043?

(cherry picked from commit bff98ca76830accfe462d011d42040ae6c1876e8)
2023-02-26 20:54:17 -05:00
arkon
255eda6d8e Prioritize finding selected chapter when deduping reader chapters
Fixes #9054

(cherry picked from commit 23432e44050cd8638f070745edf77be75aeffe21)
2023-02-26 20:53:13 -05:00
Ivan Iskandar
b9a7a7388c Scaffold: Fix snackbar bottom inset (#9052)
(cherry picked from commit 34a586ce48d6c10ac9eadb697b955ba336044bc2)
2023-02-26 20:53:00 -05:00
Ivan Iskandar
e925d7a603 Remove FAB extra padding in DownloadQueueScreen (#9053)
(cherry picked from commit ad762f8303f2cc37bd2b78fc366b01b80bbc012b)
2023-02-26 20:51:30 -05:00
Ivan Iskandar
4f4205230f Fully utilize WorkManager for library updates (#9007)
No more trampolining, and stuff.

It's pretty much straight copy-paste from the service, with
some changes related to cancellation handling. Manual updates
will also runs with workman job so auto update work
scheduling need some adjustments too.

Bumped version code to re-enqueue auto update job with the
new spec.

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

# Conflicts:
#	app/build.gradle.kts
#	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/ui/library/LibraryTab.kt
2023-02-26 20:50:47 -05:00
0x7673
f54e5515ac Fix crash in library when selected category is deleted (#9044)
(cherry picked from commit 13bb45b4bee6e31685d47a4157e10bcedf111bf0)
2023-02-26 20:14:56 -05:00
Two-Ai
0339001451 Replace RxJava in DownloadQueue (#9016)
* Misc cleanup

- Replace !List.isEmpty with List.isNotEmpty
- Remove redundant case in MoreScreenModel
- Drop no-op StateFlow.catch
  - From lint warning:
> SharedFlow never completes, so this operator typically has not
> effect, it can only catch exceptions from 'onSubscribe' operator

* Convert DownloadQueue queue to MutableStateFlow

Replace delegation to a MutableList with an internal
MutableStateFlow<List>.

In order to avoid modifying every usage of the queue as a list, add
passthrough functions for the currently used list functions. This
should be later refactored, possibly by inlining DownloadQueue
into Downloader.

DownloadQueue.updates was a SharedFlow which updated every time a
change was made to the queue. This is now equivalent to the queue
StateFlow.

Simultaneous assignments to _state.value could cause concurrency
issues. To avoid this, always modify the queue using _state.update.

* Add Download.statusFlow/progressFlow

progressFlow is based on the DownloadQueueScreenModel implementation
rather than the DownloadQueue implementation.

* Reimplement DownloadQueue.statusFlow/progressFlow

Use StateFlow<List<T>>.flatMapLatest() and List<Flow<T>>.merge() to
replicate the effect of PublishSubject.

Use drop(1) to avoid re-emitting the state of each download each time
the merged flow is recreated.

* fixup! Reimplement DownloadQueue.statusFlow/progressFlow

(cherry picked from commit bd2cb97179de60dded147f1ec9cdb55f70f28e74)
2023-02-26 20:14:36 -05:00
arkon
304e3560fa Don't show SourceNotInstalledException name in error snackbar
(cherry picked from commit 3c1608263601ecd900ff3b0093f41df7c92c91f6)
2023-02-09 18:18:01 -05:00
stevenyomi
fb937d9ad6 Show exception class in snackbar message (#9006)
* Show exception class in snackbar message

* omit IOException too

(cherry picked from commit 589bdba0b1538266b7786591046f88a1159cbb8c)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaScreenModel.kt
2023-02-09 18:16:56 -05:00
Two-Ai
8ff51227bd Misc Service cleanup (#9005)
* Simplify DownloadService wake lock handling

_isRunning is only modified in onCreate/onDestroy, so the listener
job is redundant.

* Drop superclass calls to Service.onCreate/onDestroy

From https://developer.android.com/guide/components/services
> Note: Unlike the activity lifecycle callback methods, you are not
> required to call the superclass implementation of these callback
> methods.

(cherry picked from commit aca65f13bb94b6c0c4a77a9d426491d3667f4a7d)
2023-02-09 18:16:06 -05:00
Andreas
c5095b0995 Set InsertPage status to Ready (#9001)
Fixes insert page just loading

(cherry picked from commit b00f00730d93ae36cdbb690f3c33698b086d4407)
2023-02-09 18:15:29 -05:00
arkon
8146e1181a Move some interactors to domain module
(cherry picked from commit f2c48480b687d4e01350e580a5648ae52bd5d107)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsLibraryScreen.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/download/DownloadManager.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/library/LibraryUpdateService.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/search/MigrateDialog.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/BrowseSourceScreenModel.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderViewModel.kt
2023-02-09 18:15:16 -05:00
arkon
bd0eda0c65 Move more things around
(cherry picked from commit 1730dd6af1f5a9e6f8752a2350b1bd153262a751)

# Conflicts:
#	app/src/main/java/eu/kanade/data/source/SourcePagingSource.kt
#	app/src/main/java/eu/kanade/domain/chapter/interactor/SetReadStatus.kt
#	app/src/main/java/eu/kanade/domain/library/service/LibraryPreferences.kt
#	app/src/main/java/eu/kanade/domain/manga/interactor/GetManga.kt
#	app/src/main/java/eu/kanade/presentation/more/settings/PreferenceItem.kt
#	app/src/main/java/eu/kanade/presentation/more/settings/screen/AboutScreen.kt
#	app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsAdvancedScreen.kt
#	app/src/main/java/eu/kanade/tachiyomi/App.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/backup/BackupManager.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/download/DownloadManager.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/download/Downloader.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/library/LibraryUpdateService.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/updater/AppUpdateChecker.kt
#	app/src/main/java/eu/kanade/tachiyomi/extension/api/ExtensionGithubApi.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/search/MigrateDialog.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/SourcesScreenModel.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/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/manga/MangaScreen.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaScreenModel.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/more/MoreTab.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/ui/reader/loader/HttpPageLoader.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/viewer/pager/PagerViewerAdapter.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/updates/UpdatesScreenModel.kt
#	app/src/main/java/eu/kanade/tachiyomi/util/CrashLogUtil.kt
#	data/src/main/java/tachiyomi/data/manga/MangaRepositoryImpl.kt
2023-02-09 18:08:07 -05:00
Jobobby04
a51c25bdcf Handle getImage for delegate sources 2023-02-09 17:44:21 -05:00
Andreas
83e23dedae Split UpdatesGridGlanceWidget into smaller bits (#8991)
- Renamed Composables
- Moved Constants to core module

(cherry picked from commit 2501fef9e4800e6a616b418d1cbec0ea2b9e282e)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/search/SourceSearchScreen.kt
2023-02-09 17:43:44 -05:00
Andreas
d8a938374a Move Glance Widget to seperate module (#8989)
Move Widget to seperate module

- Create a core module for presentation. Widget and App will share some resources and hopefully composables

(cherry picked from commit 12e41b6e6f3b5d95d19e1caa6c9fbe5eb6c9749c)
2023-02-09 17:28:55 -05:00
beerpsi
f2944c1fa3 [BackupRestorer] Handle uncompressed backups (#8988)
[Backups] Handle uncompressed backups

(cherry picked from commit c892c793a82c0349a3001954fd3a4fda9fece0dd)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/data/backup/BackupRestorer.kt
2023-02-09 17:28:44 -05:00
Two-Ai
d08a3bd2d0 Don't crash on timeout in renewCache() (#8986)
Fixes #8962.

withTimeout throws a TimeoutCancellationException if the timeout
expires. To avoid crashing renewalJob when there are no extensions,
use withTimeoutOrNull which does not throw on timeout.

(cherry picked from commit 3a82b4d924ae7207f7d1c1b23d2a71a1e7d09258)
2023-02-09 17:27:44 -05:00
Two-Ai
acc3e16230 Fixup HttpPageLoader _loadPage (#8984)
Fixup for e4bc8990 (#8955)

HttpSource.fetchImage() uses Call.asObservableSuccess(), which
cancels the call on unsubscribe. This causes the call to be cancelled
before it is used, leading to a "java.net.SocketException: Socket is
closed" when trying to use the response in putImageToCache().

To fix this, use Call.awaitSuccess() via a new HttpSource.getImage()
suspending function. This addition to source-api is only intended for
app use, so it will not be added to the extensions-api stubs.

(cherry picked from commit b4b3a4d2869fae7839b4b3111e289056e33cfea8)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/loader/HttpPageLoader.kt
2023-02-09 17:27:31 -05:00
stevenyomi
a0497d079d OkHttp Call: split await() and awaitSuccess() (#8980)
(cherry picked from commit 448702e5beedcd0918c504da34a0feda20ee2817)
2023-02-09 17:22:54 -05:00
Two-Ai
1948545983 Replace PageLoader.getPage() with PageLoader.loadPage() (#8976)
* Follow page status via StateFlow

Keep getPage subscription since it's needed to load the pages

* Replace PageLoader.getPage with PageLoader.loadPage

(cherry picked from commit 2ef1f07aaea0852c13a4eb4096ac96c8aa507c39)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/loader/HttpPageLoader.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/viewer/pager/PagerPageHolder.kt
2023-02-09 17:13:29 -05:00
stevenyomi
b5df879392 Fix extension search query cursor and debounce (#8972)
* Fix extension search query cursor

* debounce

* extract debounce constant

(cherry picked from commit 1a319601de03d91131a7ad3b39fe6a8bf75e6ebb)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/BrowseTab.kt
2023-02-09 16:55:03 -05:00
Andreas
887757691c Move more to data and domain modules (#8973)
(cherry picked from commit cdf242e8c8e4b8142d9f4167b0187a32ea1a4d35)

# Conflicts:
#	app/src/main/java/eu/kanade/domain/chapter/interactor/SyncChaptersWithSource.kt
#	app/src/main/java/eu/kanade/domain/track/interactor/GetTracksPerManga.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/library/LibraryUpdateService.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaScreenModel.kt
2023-02-09 16:50:07 -05:00
Jobobby04
c0e9471608 Move more implementation to data module 2023-02-09 16:17:00 -05:00
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
Andreas
64d829d304 Move SQLDelight to data module (#8954)
And use tachiyomi instead of eu.kanade.tachiyomi for package names in the module

(cherry picked from commit 823749fc1ed16dbf52d43839888a70de089d65b1)

# Conflicts:
#	app/build.gradle.kts
#	app/src/main/java/eu/kanade/data/history/HistoryRepositoryImpl.kt
#	app/src/main/java/eu/kanade/data/manga/MangaRepositoryImpl.kt
#	app/src/main/java/eu/kanade/data/updates/UpdatesRepositoryImpl.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/backup/BackupManager.kt
#	app/src/main/java/eu/kanade/tachiyomi/source/model/SMangaExtensions.kt
#	data/src/main/java/tachiyomi/data/AndroidDatabaseHandler.kt
#	data/src/main/sqldelight/tachiyomi/data/eh.sq
#	data/src/main/sqldelight/tachiyomi/data/eh_favorites.sq
#	data/src/main/sqldelight/tachiyomi/data/feed_saved_search.sq
#	data/src/main/sqldelight/tachiyomi/data/merged.sq
#	data/src/main/sqldelight/tachiyomi/data/saved_search.sq
#	data/src/main/sqldelight/tachiyomi/data/search_metadata.sq
#	data/src/main/sqldelight/tachiyomi/data/search_tags.sq
#	data/src/main/sqldelight/tachiyomi/data/search_titles.sq
#	data/src/main/sqldelight/tachiyomi/migrations/16.sqm
#	data/src/main/sqldelight/tachiyomi/migrations/24.sqm
2023-02-07 16:49:49 -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
e2242fe00c Update local source icon and differentiate from fallback source icon
Closes #8934

(cherry picked from commit 2695a4d8c7fca617f513e0ac6fc92db230b0997a)
2023-02-07 15:58:20 -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
beerpsi
da58039cfb [MyAnimeList] Handle cases where my_list_status.status is not present (#8931)
(cherry picked from commit b7e6b4c28a2dc1a14aebfadf7c6aabb29f96d0dc)
2023-02-07 15:56:36 -05:00
stevenyomi
fe303435c8 Fix installing extensions on MIUI (#8916)
* Fix installing extensions on MIUI

* isShizukuReady -> isShizukuInstalled

(cherry picked from commit 293b96785865d9cf8c62b3e12046347b32be9d4d)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsAdvancedScreen.kt
2023-02-07 15:56:25 -05:00
arkon
dc661a252a Assign keys for global search rows based on source
Maybe fixes #8924

(cherry picked from commit e468554fd9fbe19bfe58b4c018bd8ee87388bed7)
2023-02-07 15:54:50 -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
Aria Moradi
8fcfef87af Suwayomi Tracker: sync changes with Tachidesk v0.6.6 (#8902)
* Suwayomi Tracker: sync changes with Tachidesk v0.6.6

* replace var with val

(cherry picked from commit c54d77333f00419466a49aa227895756d2a3bd55)
2023-02-07 14:04:08 -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
Two-Ai
822fda4d2b Fix ChapterCache.isImageInCache() resource leak (#8907)
diskCache.get() returns a DiskLruCache.Snapshot which must be closed.

(cherry picked from commit 8cea78de83744ea955d4cfb7dcad3ca8abf43223)
2023-02-07 14:03:52 -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
zbue
9a7296aa3a Fix downloaded filter unmatched state in manga screen (#8897)
(cherry picked from commit 768bb7b503a478eecac7426da95d8e4cca8d1f4c)
2023-02-07 13:32:40 -05:00
zbue
fe59b0e95d Tweak TriStateItem view to match in earlier app version (#8898)
* Tweak `TriStateItem` view to match in earlier app version

* Apply to disabled state too

(cherry picked from commit db4ae134aab2376fa110682e96798b32efd0d563)
2023-02-07 13:32:34 -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
acf51f4d34 Reword set category dialog confirmation to "OK"
Closes #8878

(cherry picked from commit 741c10e0b939ec223ff0ce122a2ef9979291d325)
2023-02-07 13:31:38 -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
f367dcd5f4 Bump core-ktx dependency
(cherry picked from commit f04cf72c0cb53fdbb37daa3440482b35ea5f8591)
2023-02-07 13:31:21 -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
eaee8747a4 Avoid crash if multiple instances of ClearDatabaseScreen opened
Fixes #8851

I guess we might want to do this for all screens? Maybe?

(cherry picked from commit 6263817bb4ab7494143cbd901d829f805e71f0bd)
2023-02-07 13:29:01 -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
9bae13c0e6 Only show MIUI extension warning on MIUI >= 13
Related to #8834

(cherry picked from commit 4cd01428eda8aa6b1438e6f98474255afbe97d91)
2023-02-07 13:05:09 -05:00
Jobobby04
2b1809b2b7 Use global search UI for Feed 2023-02-07 13:04:41 -05:00
arkon
9d0560f48b Make global search results more compact
(cherry picked from commit 3be05fbf9b41478386026b3156f3947e7fb1643e)
2023-02-07 12:40:04 -05:00
arkon
2d9000d4bc Only show library continue reading button if there's unread chapters
Closes #8865

(cherry picked from commit 5d90ba8aa048f45bde662dfe4249f4d9fb45bb83)
2023-02-07 12:39:56 -05:00
arkon
a22d4a2df5 Show available but not installed enhanced trackers
Closes #8859

(cherry picked from commit 48cab708ce28ead30c5ea500899c17e379eb3000)
2023-02-07 12:39:46 -05:00
arkon
b9f39a559d Bump minimum ext-lib to 1.3
(cherry picked from commit 5d9753d6a72e020e2ee98af4dac4488e2d4068b9)
2023-02-07 12:39:37 -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
e8ccb88a06 Remove repetition in enhanced tracker preference declarations
Also hides entries that aren't relevant (i.e. if you don't have the source installed).

(cherry picked from commit d8b528a4e0d1da00c653c0123ee01848db4b1b87)
2023-02-07 12:38:18 -05:00
arkon
08557aa5e6 Adjust bookmarked chapter styling in Updates
To match updated styling in manga screen.

(cherry picked from commit 0f459071445f712406892affb9a81e997706333a)
2023-02-07 12:38:07 -05:00
Aria Moradi
3f2136c56e add Suwayomi tracker (#8489)
* add Suwayomi Tracker

* fix compile

(cherry picked from commit c4c9931ae22c92429eb5afcef06ed2ea3a1cbb8f)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/data/track/TrackManager.kt
2023-02-07 12:37:46 -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
a960b624ce Cleanup some old Mangadex login things 2023-01-07 21:10:48 -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
arkon
c516848843 Adjust bookmarked chapter styling
No longer tints the title and subtitle text depending on bookmarked state
in favor of only showing a tinted bookmark icon regardless of read state.

Closes #8839

(cherry picked from commit 6d3a3b3f39a6ac4736ff06628335cbd4c1fd9e8e)
2023-01-07 16:38:01 -05:00
arkon
c13943ba95 Prioritize "all" ("Multi") lang in extensions lists
Fixes #8811
Fixes #8812

(cherry picked from commit 50d46fe7f69fd35e7307760dd5fc849b5f9987de)
2023-01-07 16:37:46 -05:00
arkon
418c31af60 Show warning about installing extensions on MIUI
Related to #8834

(cherry picked from commit 91e282d7e5022d1960692387da96332cbd810bc9)
2023-01-07 16:37:36 -05:00
arkon
07c781473f Handle file names with multiple ".cbz" occurrences properly
Fixes #8838

(cherry picked from commit a0f10f868e2ff8d46c3aea6b47d5151c6b705d8a)
2023-01-07 16:37:28 -05:00
stevenyomi
33d007a1a2 Update toolbar query on genre search (#8837)
(cherry picked from commit 6a423f06508db63799dc2950c3da047d014ac883)
2023-01-07 16:37:20 -05:00
Jobobby04
dee1f69d34 Fix crash on invalid saved searches 2023-01-07 16:37:15 -05:00
arkon
a0fa323645 Debounce reindexing banner
Helps avoid showing it for short-lived jobs

(cherry picked from commit 5cc84403e1a6de956d7b3893893e792f88497d73)
2023-01-07 16:36:47 -05:00
Ivan Iskandar
12e12c5733 Add worker info screen (#8774)
Mainly for debug purpose, might help with support.

(cherry picked from commit ab61a65b4a6a5ec50119d993f0509168b67138fb)
2023-01-07 16:36:37 -05:00
Jobobby04
bc76490967 Fix crashes on changing grouping 2022-12-31 17:50:57 -05:00
Jobobby04
141cd959f2 Fix filters filtering out grouped categories 2022-12-31 17:41:19 -05:00
Jobobby04
d6982a32d3 Fix build 2022-12-31 17:39:50 -05:00
arkon
824713036a Unify layout for new update and crash screens
(cherry picked from commit 01ec26842d552c8915df379fe7d9ce1d71be373d)
2022-12-31 17:19:30 -05:00
arkon
f43b60700e Allow 2 lines for tracker status text
Fixes #8805

(cherry picked from commit bbf58178052ee609cd1538b93cbf09c7a8dae8e8)
2022-12-31 17:19:21 -05:00
jobobby04
7e8b3b0623 Handle 1000+ pages properly in the downloader (#8818)
(cherry picked from commit 611ec8103c21f01db141f58b507a20201e840c9b)
2022-12-31 17:19:10 -05:00
Henrik
8b77359bc7 filter mangaupdates search (#8813)
(cherry picked from commit 12c672667cd47e553caaef39294e54cf144e8c16)
2022-12-31 17:18:44 -05:00
arkon
bf628d878d Increase max library column size back to 10
Fixes #8798

(cherry picked from commit f401574f5abb6946da375a08e2bb7ed6487fb4fe)
2022-12-24 16:35:18 -05:00
AntsyLich
414049033a Properly fix #8720 (#8797)
* Partially revert "Move library page EmptyScreens into list/grids"

This partially reverts commit 376bbeb724ca6cb7de53213c478d1750d99c8d2a.

* Properly fix issue 8720

(cherry picked from commit 3251fb36c8f3b12c7ae06ec18fd591eced9e17f6)
2022-12-24 16:35:11 -05:00
Ivan Iskandar
55e525b175 TrackDateRemoverScreen: Fix pop behavior after confirming removal (#8792)
(cherry picked from commit 94a410f50fc8a50ac499d31b7b3423372a6fb2ac)
2022-12-24 16:35:04 -05:00
stevenyomi
5586cbeb16 Fix browse search query display and keyboard focus (#8781)
(cherry picked from commit a8230ad574fb5c5dfa22a571862890e414649215)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/BrowseSourceScreenModel.kt
2022-12-24 16:34:22 -05:00
Jobobby04
562b264048 Fix some issues with preferences not updating the UI 2022-12-24 16:29:22 -05:00
Jobobby04
389156944c Minor reader cleanup 2022-12-21 18:07:15 -05:00
Jobobby04
871c7ad291 Delete unused files 2022-12-21 16:11:10 -05:00
Jobobby04
afd94e3fc9 Fix reader title 2022-12-21 16:10:45 -05:00
Jobobby04
8d3888a572 Coerce current pager page better 2022-12-21 13:27:37 -05:00
Jobobby04
a9e2394c6d Bugfixes for migration UI 2022-12-20 19:17:31 -05:00
Jobobby04
7a14d9e17b Fix migration buttons sometimes doing nothing 2022-12-20 18:52:36 -05:00
Jobobby04
11b9a71034 Fix center margin breaking image loading 2022-12-20 16:39:33 -05:00
Ivan Iskandar
8bab648b44 Pager: Bring back previous snapping behavior (#8776)
New default LazyList snap behavior is optimized for non-pager use.

(cherry picked from commit 8e1b5b4803b0da76f0ed5091d3fb1b6c3b2359f5)
2022-12-20 15:44:43 -05:00
Ivan Iskandar
82fdbad6bf Update WorkManager (#8772)
(cherry picked from commit 8552838bdae29b6b6001b5efd958dd00fcdf7443)

# Conflicts:
#	.github/renovate.json
2022-12-20 15:44:35 -05:00
Jobobby04
708b868e7b MangaDex OAuth
Co-authored-by: Carlos <2092019+CarlosEsco@users.noreply.github.com>
2022-12-20 13:34:01 -05:00
Jobobby04
54c9ef51a6 Only get relevant merged manga in reader 2022-12-18 16:20:51 -05:00
Jobobby04
e294bd8bdb Fix page previews not going to the correct page 2022-12-18 12:49:59 -05:00
Jobobby04
7ab81771fe Reduce legacy database models usage 2022-12-17 23:33:22 -05:00
stevenyomi
f02d41051e Pass listing query to BrowseSourceScreen (#8763)
# Conflicts:
#	app/src/main/java/eu/kanade/presentation/browse/SourcesScreen.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/SourcesTab.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
2022-12-17 23:32:35 -05:00
stevenyomi
a6d0031462 BrowseSourceScreen: fix navigate up and filter sheet (#8761)
(cherry picked from commit 817e144ff697b4c6760c0101a6995d7030eb48a0)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/BrowseSourceScreenModel.kt
2022-12-17 23:18:17 -05:00
Ivan Iskandar
c081efba4b AdaptiveSheet: Don't blindly consume back event (#8760)
(cherry picked from commit 9d2d78ae5b659b257f2d565b7e20465eaf011200)
2022-12-17 23:17:20 -05:00
stevenyomi
91f6abec98 Fix snackbar blocking refreshing state in MangaScreen (#8759)
(cherry picked from commit c44db54d9f729f94c53ccf690cb86e8bac332189)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaScreenModel.kt
2022-12-17 23:17:07 -05:00
arkon
01993baa90 Move library page EmptyScreens into list/grids
It does look awkward due to the lack of filled height within those list/grids though.

Fixes #8720
Fixes #8721

(cherry picked from commit 376bbeb724ca6cb7de53213c478d1750d99c8d2a)
2022-12-17 23:13:55 -05:00
arkon
b364ffdeea Minor cleanup
(cherry picked from commit 0e2bdb7863c25f6f980e59c09d95d4687bf112d5)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/viewer/pager/PagerViewer.kt
2022-12-17 23:13:44 -05:00
Ivan Iskandar
149ac4a363 Fix indexing notif not showing (#8758)
(cherry picked from commit 235bc7745734fdda4cbcfe42452d611e8fa6693c)
2022-12-17 22:56:24 -05:00
Two-Ai
5a449ec80a Track Page progress with StateFlow (#8749)
* Update ReaderProgressIndicator documentation

ReaderProgressIndicator is not always determinate (cc554530, #5605).

* Track Page progress with StateFlow

(cherry picked from commit 593172f891667c1510d1812917cad93bfa362363)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/viewer/pager/PagerPageHolder.kt
2022-12-17 22:56:11 -05:00
Ivan Iskandar
4243d389f8 App state banner tweaks (#8746)
* Move download indexing notification to this banner group
* Animate state changes

(cherry picked from commit e20c66b15671db75ed190c2967cdcc78c74db478)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/main/MainActivity.kt
2022-12-17 22:33:57 -05:00
arkon
997509a2d3 Use actual indexes instead of existing order number when reordering categories
Fixes #8738

(cherry picked from commit 5f4825465e5764ddf9742eb71a833274ef9bfcc7)
2022-12-16 01:02:06 -05:00
arkon
7f1d8f51c5 Sort global search source results properly
Fixes #8741

(cherry picked from commit bc6a12a4f7788de2b41eca291a82a79b55ec75e8)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/search/MigrateSearchScreenModel.kt
2022-12-16 01:01:42 -05:00
arkon
7a3b7f4daa Don't start at last read page if chapter is completely marked as read
Fixes #8737

(cherry picked from commit 90db3acefd6290310c8cf8bab2563b3413a8cf4a)
2022-12-16 00:57:40 -05:00
arkon
33b054edfa Fix crash if tapping title when opening reader directly
(cherry picked from commit 2f2f59279d828ee689a477104079618d6436827e)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/main/MainActivity.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderActivity.kt
2022-12-16 00:57:21 -05:00
arkon
dd367f2f70 Better handle status bar light/dark icons based on banner background color
(cherry picked from commit 4992f87cb185cfac90aa86f4c4aeb2d0a0385c18)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/main/MainActivity.kt
2022-12-16 00:50:15 -05:00
Jays2Kings
d6a4f1ea14 Check ext lib version when checking for updates (#8740)
(cherry picked from commit 7608cb0da37840c33fb8eac04dd1808cb58b2327)
2022-12-16 00:49:37 -05:00
arkon
635b112452 Convert download cache/queue flows into SharedFlows
Fixes #8727

(cherry picked from commit 9dd9e741f34aeb49a15a939ec7f8495a992d8bf8)
2022-12-16 00:49:27 -05:00
Two-Ai
40165dd270 Fix SetMangaViewerFlags (#8719)
Stop clearing old viewer flags when setting a flag

(cherry picked from commit 171db639ffc8e79aac8d8d8e6a354f8d703a387c)
2022-12-16 00:49:14 -05:00
arkon
e5ad53e1d3 Remove unused resources
(cherry picked from commit 3ede42252ce98346a7fd14d6b2ec12d4579e850b)
2022-12-16 00:43:37 -05:00
arkon
35817cc7c5 Add Assistant content URLs
This is surfaced in recents on Pixel devices for example.
Docs: https://developer.android.com/guide/app-actions/assistant-sharing

Co-authored-by: Jays2Kings <Jays2Kings@users.noreply.github.com>
(cherry picked from commit 3749cee28f269aabe5ea18ffb62483a28d0c75e7)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/BrowseSourceScreen.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/main/MainActivity.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaScreen.kt
2022-12-16 00:34:42 -05:00
Ivan Iskandar
277a0b38bb Adjust insets handling in tablet UI (#8711)
* Adds startBar slot in Scaffold to handle nav rail
* Consumes unneeded insets in settings

(cherry picked from commit ca500da4d899815112eadaa6a5f79c9b5e5766af)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/home/HomeScreen.kt
2022-12-16 00:32:14 -05:00
Ivan Iskandar
afd6f3c182 Move system bar color set to the main composable (#8710)
This one doesn't check navbar location before adding a scrim, doesn't really
matter since now no body component is being drawn below the system bar.

(cherry picked from commit 820ed6a46880af1e9390706dc9915f3c7d385c60)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/main/MainActivity.kt
2022-12-16 00:30:29 -05:00
arkon
623f0e2612 Pull out settings sheet items as reusable composables
(cherry picked from commit 7cbe18d325274de22b2bef30869d2cc658b72cc1)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/manga/ChapterSettingsDialog.kt
2022-12-16 00:23:07 -05:00
Soitora
5ac5005116 Add back option to hide Updates count (#8709)
Adds back the option to hide the updates count on the Updates tab

(cherry picked from commit 8937e22ce4769818c1908b1ad60914553d1e42e2)
2022-12-16 00:10:53 -05:00
Ivan Iskandar
af8c4fe835 Adjust screen transitions (#8707)
* Fade transition between main navigation tabs
* Shared axis X between screen stacks

Activity transition is using a "close enough" shared axis X xml animation

(cherry picked from commit 82a3a98a5ae7153d5edb2bcef7a13d7474e24e03)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/main/MainActivity.kt
2022-12-16 00:10:39 -05:00
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
arkon
7d871ccfd3 Abstract ChapterSettingsDialog for reuse elsewhere
(cherry picked from commit a61e2799dbfd60039b577d7fffc8b6494ba74aba)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/manga/ChapterSettingsDialog.kt
2022-12-15 22:19:09 -05:00
arkon
68b1012c65 Reuse basic theme preview annotation
(cherry picked from commit 1009e15aa61f3a717d0fec8a6d7c2d57aacdd4e1)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/more/settings/widget/TextPreferenceWidget.kt
2022-12-15 22:06:31 -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
arkon
e53a5cf429 Use proper category when getting random item
Fixes #8700

(cherry picked from commit ed5e013874ad5bff00a5544e7f8b62c8ca7b1764)
2022-12-15 22:05:16 -05:00
arkon
16879e02e8 Disable Jetifier
(cherry picked from commit f8e4153dbfc06e1cc75b7665a179ff013bea61e7)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderActivity.kt
2022-12-15 22:05:06 -05:00
Ivan Iskandar
de6a5bf67b Replace reader's Presenter with ViewModel (#8698)
includes:
* Use coroutines in more places
* Use domain Manga data class and effectively changing the state system
* Replace deprecated onBackPress method

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

# Conflicts:
#	.github/renovate.json
#	app/src/main/java/eu/kanade/domain/manga/model/Manga.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderActivity.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderViewModel.kt
2022-12-15 22:04:20 -05:00
stevenyomi
c94505d289 Migrate Accompanist SwipeRefresh to Compose PullRefresh (#8106)
(cherry picked from commit 2c4ddca38eef8ea3bc7aad290223ebe0e93dbca2)
2022-12-15 21:21:29 -05:00
Two-Ai
5eca2bdf28 Cleanup Page status (#8696)
* Cleanup Page statusSubject and statusCallback

* Convert Page status from Int to enum

(cherry picked from commit 6ca32710be5bfed851ab695a0d9438c7ab609b24)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/data/download/Downloader.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderPageSheet.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/loader/HttpPageLoader.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/viewer/pager/PagerPageHolder.kt
2022-12-15 21:21:04 -05:00
Ivan Iskandar
9e8cd05c13 GlobalSearchScreen: Add unique key (#8693)
Avoids crash when an old screen is being replaced by a new one

(cherry picked from commit f05e251991c0f89c9f275acc4d6c29a4fc856913)
2022-12-15 21:08:31 -05:00
arkon
c81da465f6 Avoid some crashes
(cherry picked from commit a3f3f9d5626c120619e0f4cc7c2d82045e065201)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryScreenModel.kt
2022-12-15 21:08:23 -05:00
zbue
b2df0340e4 Fix appbar back button in global search screen (#8689)
(cherry picked from commit 410fcb73c502f3c71b90250f1bfcd343626dea35)
2022-12-15 21:07:41 -05:00
arkon
d59ec04812 Avoid crashing when clearing cookies for invalid source URLs
e.g. Komga sources with no URLs set

(cherry picked from commit b6d6de6b9f80798c5b363f7e361de073db4a6d55)
2022-12-15 21:07:31 -05:00
Jobobby04
a280a5ed77 Simplify EHentaiUpdateHelper 2022-12-15 21:06:24 -05:00
Jobobby04
755f3377ad Fix hidden sources showing up in global search 2022-12-15 21:05:47 -05:00
Jobobby04
3da9f2e067 Fix library sorting 2022-12-15 21:05:30 -05:00
arkon
bcad021e00 Handle intent after navigator is initialized
Fixes crash if opening from widget or notification when activity isn't already launched.

(cherry picked from commit 09cebf20f3ee150629fe3c62d3974180fec6f8a2)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/main/MainActivity.kt
2022-12-05 17:28:55 -05:00
arkon
44feb3569d Fix opening download notification only going to More tab
(cherry picked from commit a8c732d67bc4565792f0b28efcde101210885323)
2022-12-05 17:19:39 -05:00