Commit Graph

3753 Commits

Author SHA1 Message Date
arkon d1bf857079 Remove unnecessary withIOContext 2023-03-28 18:16:43 -04:00
arkon be54b8862e Refactor away some unnecessary lambda expressions 2023-03-26 13:27:31 -04:00
arkon 1a61130f0b Don't attempt to initialize manga details from BrowseSource or Search screens
This was effectively DDoSing sources as it does a request for every entry to get the details (primarily a cover image).
The expectation now is that users have to open individual entries to load the details/cover if needed.
This isn't necessary for most sources, which are able to provide covers as part of the listing normally.
2023-03-26 13:12:32 -04:00
arkon 1de4bc9586 Restore POST_NOTIFICATIONS permission check for SDK 33+
Although we don't even target it yet and don't prompt for it but whatever, less work in the future.
2023-03-26 12:56:34 -04:00
arkon 1986042277 Skip POST_NOTIFICATIONS permission check for now
Fixes #9265
2023-03-26 12:34:32 -04:00
arkon e932983494 Subscribe to changes to manga in BrowseSourceScreen
Fixes #9235
2023-03-26 12:06:12 -04:00
Two-Ai 35d381144d Cleanup Preference.asHotFlow() (#9257)
* Drop duplicate initial call in Preference.asHotFlow

Preference.changes() always starts by returning the current value of
the preference, so asHotFlow calls block twice on the initial value.

Possible breaking change: As implemented, asHotFlow ran block(get())
before returning the flow. After this change, the first call to block
will run within the flow collection. This might cause concurrency
issues if the flow collection is late to execute.

* Inline Preference.asHotFlow

The Preference.changes().onEach().launchIn() pattern is used widely,
so the asHotFlow extension method is redundant.
2023-03-26 11:52:54 -04:00
arkon 8d7a7919a9 Add TODO to default to 32-bit color at some point
Originally proposed in #8959
2023-03-24 22:52:18 -04:00
arkon 953720472f Add "Rotate wide pages to fit" setting for paged reader
Originally authored in #7983

Co-authored-by: timothyng-164 <timothyng-164@users.noreply.github.com>
2023-03-24 22:49:35 -04:00
arkon cb4699a5bb Bump dependencies 2023-03-22 22:58:42 -04:00
arkon ac0596a53d Revert "Always attempt to split tall images when downloading"
This partially reverts commit 2769525b2c.

Keeps the change to silently ignore spliting errors since it falls back to
the original images in those cases.
2023-03-20 08:45:36 -04:00
arkon 7ec5a51eb8 Move isLocal extension functions to LocalSource 2023-03-20 08:41:44 -04:00
arkon 3cca460282 Misc cleanup 2023-03-19 22:38:14 -04:00
arkon d703fb7946 Split up ContextExtensions into smaller files 2023-03-19 18:27:30 -04:00
arkon 859601a46e Clean up WorkManager usages a bit 2023-03-19 18:19:40 -04:00
arkon cdc160afc2 Convert BackupRestoreService to a WorkManager job
Co-authored-by: Jays2Kings <Jays2Kings@users.noreply.github.com>
2023-03-19 17:28:59 -04:00
arkon 14d1bcacc9 Show proper string in manga detail screen for SourceNotInstalledException 2023-03-19 17:23:51 -04:00
arkon 7d8a865cac Simplify some of the notification builders 2023-03-19 16:24:37 -04:00
Andreas dfdb688b43 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
2023-03-19 13:11:58 -04:00
arkon f3ca4e76a8 Re-enable ComicInfo.xml generation on download
Closes #8537
2023-03-19 13:02:38 -04:00
arkon 2769525b2c Always attempt to split tall images when downloading 2023-03-19 12:57:16 -04:00
Alexandr Kozlinskiy 81af97df77 BrowseSource: do networkToLocal and initializeManga inside flow (#9217)
* do networkToLocal and initializeManga inside flow

* remove BrowseSourceScreenModel.GetManga
2023-03-18 09:42:44 -04:00
Ivan Iskandar 4d3e13b0d1 Initialize download index disk cache (#9179) 2023-03-16 22:18:11 -04:00
arkon 47a2d06682 Refactor tracker status string mappings
Should fix #9195
2023-03-10 23:01:10 -05:00
Ivan Iskandar c0f94ae8af Revert "Fix banners-related issues" (#9186)
Revert "Fix banners-related issues (#9143)"

This reverts commit 63048d2f0b.
2023-03-09 22:10:49 -05:00
arkon ed32a511e7 Bump dependencies 2023-03-08 22:52:19 -05:00
arkon 09acc53483 Remove download all chapters menu item
Users can still select all the chapters (long press + select all) to download them.
2023-03-07 22:38:27 -05:00
arkon bebd4be43d Move more things to domain/data modules 2023-03-07 22:38:02 -05:00
arkon 9b77759f24 Use stricter visibility for composables where possible 2023-03-05 18:41:08 -05:00
arkon ad4912803b Refactor SourceManager/StubSource to domain module 2023-03-05 12:38:31 -05:00
arkon f96f0c5889 Move some preferences into domain module 2023-03-05 12:11:47 -05:00
arkon 2b9acadc5b Move sourceMapper to data module 2023-03-05 12:05:48 -05:00
arkon 9caa0d147b Show proper message when doing global update
Fixes #9170
2023-03-05 11:07:33 -05:00
Andreas 1abf01c4a0 Convert source modules to Kotlin Multiplatform (#9172)
Use KMP in source modules 


Use KMP in source-api


Expect LocalSource
2023-03-05 10:16:19 -05:00
Two-Ai b41565f879 Inline DownloadQueue into Downloader (#9159)
* Move statusFlow and progressFlow to DownloadManager

* Inline DownloadQueue into Downloader

* Move reorderQueue implementation to Downloader
2023-02-28 22:13:13 -05:00
arkon f03a834136 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
2023-02-26 16:58:36 -05:00
arkon 5b2e937d5f Minor refactoring 2023-02-26 16:47:29 -05:00
Andreas f27dc19b37 Move Local Source to separate module (#9152)
* Move Local Source to separate module

* Review changes
2023-02-26 16:16:49 -05:00
arkon 2368c50ebb Add menu shortcut to source settings in BrowseSourceScreen
Adapted from TachiyomiSY.

Co-authored-by: jobobby04 <jobobby04@users.noreply.github.com>
2023-02-26 10:23:07 -05:00
Two-Ai 0505906e7a 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.
2023-02-25 15:40:22 -05:00
arkon 4efca04765 Avoid crashing in SourcePreferencesScreen if source can't be loaded 2023-02-25 15:32:46 -05:00
arkon 487622c592 Close source filter dialog when filtering 2023-02-25 15:16:48 -05:00
Ivan Iskandar 63048d2f0b Fix banners-related issues (#9143)
This is most likely Compose issue so these changes will
be reevaluated when new Compose ver is out.
2023-02-25 14:44:35 -05:00
Two-Ai 79662a5866 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
2023-02-25 14:43:00 -05:00
Two-Ai ed6809fa28 Simplify filter logic (#9141)
* Remove unnecessary else branch

* Add TriStateFilter applyFilter

* Simplify filterFnTracking filter logic
2023-02-25 11:46:40 -05:00
Two-Ai 86b9262a7e 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
2023-02-24 22:07:30 -05:00
arkon 7ec87e76db Migrate TriState usages to TriStateFilter enum 2023-02-24 16:09:47 -05:00
Ivan Iskandar ec3ce74af8 TrackDateSelectorScreen: Use M3 date picker (#9138) 2023-02-24 15:22:23 -05:00
Two-Ai 83a4e34095 Remove redundant Downloader isNotification argument (#9139)
DownloadQueue.clear() already sets QUEUE downloads to NOT_DOWNLOADED.
2023-02-24 15:11:51 -05:00
arkon 92132c59f5 Migrate source filter sheet to Compose (#9135) 2023-02-23 22:32:40 -05:00