arkon
be388753a1
Rename Complications -> Overlay
...
(cherry picked from commit 2e5efadf424541d58eed79da13f0a9a1bc3c0e1f)
2023-04-09 18:10:38 -04:00
Jobobby04
d81a01aa1d
Make statistics not required for MangaDex
2023-03-20 19:35:27 -04:00
Jobobby04
3d856ca357
Minor cleanup
2023-03-20 19:33:38 -04:00
arkon
b483bd0729
Revert "Always attempt to split tall images when downloading"
...
This partially reverts commit 2769525b2c12547b8dc29b1209ea3bc5d22f1e3f.
Keeps the change to silently ignore spliting errors since it falls back to
the original images in those cases.
(cherry picked from commit ac0596a53d74561ad5174db1938c16049a65dd18)
2023-03-20 19:00:27 -04:00
arkon
2a708e8b68
Always attempt to split tall images when downloading
...
(cherry picked from commit 2769525b2c12547b8dc29b1209ea3bc5d22f1e3f)
2023-03-20 19:00:20 -04:00
arkon
3185ae78c6
Move isLocal extension functions to LocalSource
...
(cherry picked from commit 7ec5a51eb858c0f585bfe1a2662cf203495d40ef)
# Conflicts:
# app/src/main/java/eu/kanade/domain/source/interactor/GetEnabledSources.kt
2023-03-20 19:00:06 -04:00
arkon
42146b6d1e
Misc cleanup
...
(cherry picked from commit 3cca4602829fd706c5b850bcf45d472ee95b2a38)
# Conflicts:
# app/src/main/java/eu/kanade/tachiyomi/source/SourceExtensions.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/MangaScreenModel.kt
# app/src/main/java/eu/kanade/tachiyomi/ui/reader/setting/ReaderPreferences.kt
2023-03-20 18:57:43 -04:00
arkon
5eb852c111
Split up ContextExtensions into smaller files
...
(cherry picked from commit d703fb79462574c96c5c429c83d0c3d44de99082)
2023-03-20 18:45:54 -04:00
arkon
10c3d3b150
Clean up WorkManager usages a bit
...
(cherry picked from commit 859601a46e5d32cd14979177832edaf342615e19)
# Conflicts:
# app/src/main/java/eu/kanade/tachiyomi/data/library/LibraryUpdateJob.kt
2023-03-20 18:45:18 -04:00
arkon
15d52784f8
Convert BackupRestoreService to a WorkManager job
...
Co-authored-by: Jays2Kings <Jays2Kings@users.noreply.github.com>
(cherry picked from commit cdc160afc2e3bb615fe35c8d7261a3bc16f61996)
# Conflicts:
# app/src/main/java/eu/kanade/tachiyomi/data/backup/BackupRestorer.kt
2023-03-20 18:42:05 -04:00
arkon
85af8ea517
Show proper string in manga detail screen for SourceNotInstalledException
...
(cherry picked from commit 14d1bcacc9cba0e14cdf90a7972bf85660465c0b)
# Conflicts:
# app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaScreenModel.kt
2023-03-20 18:32:48 -04:00
arkon
d80d06a2d5
Simplify some of the notification builders
...
(cherry picked from commit 7d8a865cac18ca307ef89768950a0835ebbb6f05)
# Conflicts:
# app/src/main/java/eu/kanade/tachiyomi/App.kt
2023-03-20 18:31:30 -04:00
Andreas
0f3bb9f7d7
Migrate things to use newer data models ( #9239 )
...
* Remove old database models from Coil
* Remove old database models from TrackInfoDialogHome
* Remove old database models from Backup Manager
(cherry picked from commit dfdb688b437c38954b1072b7a1df15921a437868)
# Conflicts:
# app/src/main/java/eu/kanade/tachiyomi/data/backup/BackupManager.kt
# app/src/main/java/eu/kanade/tachiyomi/data/backup/BackupRestorer.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/data/database/models/MangaImpl.kt
# app/src/main/java/eu/kanade/tachiyomi/source/model/SMangaExtensions.kt
# app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaScreenModel.kt
2023-03-20 18:27:59 -04:00
arkon
118bdd05f7
Re-enable ComicInfo.xml generation on download
...
Closes #8537
(cherry picked from commit f3ca4e76a8ee10560897e8718267b208ae2cb3c2)
2023-03-20 18:02:28 -04:00
arkon
8d0c9969b0
Clean up library display settings tab a bit
...
(cherry picked from commit 843e748de3d8d4afff7b7b6baa47193e4138191f)
2023-03-20 18:02:15 -04:00
Alexandr Kozlinskiy
075190feb5
BrowseSource: do networkToLocal and initializeManga inside flow ( #9217 )
...
* do networkToLocal and initializeManga inside flow
* remove BrowseSourceScreenModel.GetManga
(cherry picked from commit 81af97df77666ff5f43abc7c46a7caffe9c91a02)
# Conflicts:
# app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/BrowseSourceScreenModel.kt
2023-03-20 18:01:35 -04:00
Ivan Iskandar
7e81fa6723
Adjust tab indicator visual ( #9219 )
...
Now behaves like the non-compose indicator by showing the swipe progress too
(cherry picked from commit 18e55aa25fe7ea63e66a99d1373fbdb449a358d7)
# Conflicts:
# app/src/main/java/eu/kanade/presentation/library/components/LibraryTabs.kt
# presentation-core/src/main/java/tachiyomi/presentation/core/components/material/Tabs.kt
2023-03-20 17:54:33 -04:00
Ivan Iskandar
9798289270
Initialize download index disk cache ( #9179 )
...
(cherry picked from commit 4d3e13b0d13a902f0755714e0f56d284acad5a5f)
# Conflicts:
# app/src/main/java/eu/kanade/tachiyomi/data/download/DownloadCache.kt
2023-03-20 17:52:46 -04:00
Jobobby04
fea36ad138
Use current filters and toolbar query for saved searches
2023-03-20 17:45:12 -04:00
Jobobby04
5893350f43
Fix Saved Search issues
2023-03-20 17:45:11 -04:00
Jobobby04
16bbfcd086
Move FilterSerializer to source-api
2023-03-20 17:45:10 -04:00
Jobobby04
a92392231c
Move some things to the domain module
2023-03-16 20:18:41 -04:00
Jobobby04
42a93fca5c
Fix saved search sometimes using a blank query
2023-03-16 19:17:23 -04:00
Jobobby04
8f97dd7fb8
Drop queries if they direct to latest or popular
2023-03-16 18:33:30 -04:00
Jobobby04
afab9c236d
Fix categories dialog showing group by categories
2023-03-16 18:10:48 -04:00
Jobobby04
9bde4b8b33
Make sure the navigator disposes after migration
2023-03-16 17:52:29 -04:00
Jobobby04
76d852313d
Fix smart search not allowing you to back-out
2023-03-16 17:44:13 -04:00
Jobobby04
28f3c4f4c6
Guard from NaN crashes in batch add
2023-03-16 17:30:28 -04:00
Jobobby04
04dc4ef66a
The crash is fixed somehow
2023-03-15 19:01:44 -04:00
Jobobby04
d400ddc0a5
Revert "Remove suffix ( #810 )"
...
This reverts commit 978a814815 .
Going to just change the build system to output a new name format so that all the time doesnt go to waste
2023-03-15 18:22:28 -04:00
Jobobby04
7e075b9a5c
Minor cleanup
2023-03-15 18:18:27 -04:00
Jobobby04
36381aca33
Refactor data saver
2023-03-15 18:18:14 -04:00
Wisest_wizard
ae712527f3
Use wsrv.nl service ( #778 )
...
* Add wsrv.nl datasaver service
* Add code comments
2023-03-15 17:44:57 -04:00
Daniel
82f0e5bc01
Smooth Automatic Scrolling for Webtoon ( #777 )
2023-03-15 17:42:25 -04:00
Jays2Kings
520846c75e
Fix double page progress when changing orientation ( #799 )
...
* Fix double page when changing orientation
* Fix requested page, when device config changes when app is in BG
* Cleanup on save reader logic
2023-03-15 17:40:52 -04:00
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
Jobobby04
637448eb65
Fix page progess for external mangadex handlers
2023-02-11 20:11:47 -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