Commit Graph

4301 Commits

Author SHA1 Message Date
arkon f8cf3db4a4 Allow download ahead even if entry isn't favorited 2023-07-08 17:46:48 -04:00
arkon 8cc42bce5a Tweak chapter swipe directions and icon color 2023-07-08 15:55:53 -04:00
arkon d32409bd6e Fix up icon direction when RTL 2023-07-07 19:58:53 -04:00
arkon cf3f2d0380 Adjust manga FAB to only say "Start" if there's no unread chapters in unfiltered list
Closes #9479
2023-07-07 17:57:29 -04:00
arkon 53c6230afe Change auto clear cache to occur on app launch instead
Fixes #9564

Avoids the issue of clearing the cache when the app is backgrounded despite being in the reader.
We could do a job on idle, but we'd still need to be careful around whether the reader is active,
so this is just simpler considering it's a separate activity.
2023-07-07 17:46:39 -04:00
Semen 4882896f4d Add function to delete downloaded chapters when migrating manga (#9621)
add function to delete downloaded chapters when migrating manga and getFlagsFromPositions fix
2023-07-07 09:57:02 -04:00
arkon 6fe5e6e21b Save reader progress on every page change
Fixes #9668
Could probably refactor this a bit more, but the reader view model stuff is a mess in general anyway.
2023-07-05 18:57:57 -04:00
arkon 3125d78706 Remove some dead code 2023-07-01 14:54:35 -04:00
arkon bb8f3c63f1 Remove usage of savedInstanceState for storing reader menu visibility state 2023-07-01 12:47:20 -04:00
arkon 44cc6f11c7 Fix crash when tapping reader in long strip mode before RecyclerView is created 2023-07-01 10:36:46 -04:00
arkon bae391c2c1 Replace deprecated ProgressDialog
Fixes #8223
2023-07-01 10:36:20 -04:00
arkon b79ef5dc79 Address some deprecation warnings 2023-06-30 22:14:17 -04:00
LagradOst d99f4697e8 Fixed scrolling on the background using long strip (#9654)
Update WebtoonFrame.kt
2023-06-30 21:56:35 -04:00
stevenyomi bb3fdef40b Browse Source: clear search query when changing listing (#9652) 2023-06-29 22:39:43 -04:00
Alessandro Jean 8a5e443ca5 Make source preferences' titles multiline (#9644)
Make source preferences' titles multiline.
2023-06-26 14:05:22 -04:00
arkon 88e9fefa59 Retry LibraryUpdateJob later if Wi-Fi condition not met 2023-06-25 14:31:28 -04:00
Denny Rodrigues do Carmo ee684cbef5 Fix download ahead while reading functionality (#9640)
Correct condition for downloading next chapter
2023-06-25 14:18:54 -04:00
arkon fe82cdb9c8 Migrate ReaderColorFilterSettings to Compose
It'll eventually be a tab with the other settings again once the other tabs are also
migrated over so it's just a single Compose sheet.
2023-06-24 12:51:10 -04:00
arkon f344831d58 Use our own translation for "OK"
I missed this in the PR that it came with, but I guess it'll be useful if we go multiplatform.
2023-06-24 10:38:34 -04:00
arkon f2b0d74b4c Migrate ReaderPageSheet to Compose 2023-06-23 23:17:47 -04:00
arkon 42bc2b07ce Minor cleanup 2023-06-23 22:39:59 -04:00
Shamicen fcfa62f220 Better handle decimal chapter numbers and add categories in ComicInfo.xml files (#9604)
* Serialize whole chapter numbers without decimal point and add library categories to genre

* added Tachiyomi specific ComicInfo Category field

* lint

* implemented requested changes
2023-06-23 17:56:01 -04:00
zaghdaneh b36b3bfcab Remove manga from trackers (#9535)
* Dialog for service tracker removal added, anilist query prepared

* added API delete requests for Mal and Kitsu

* implement and fix tracker delete for anilist, shikimori, mangaupdates

* implement and test mal delete request

* Update to dialog text to reflect current tracker

* finish kitsu api request and block bangumi tracker removal

* Change delete flag into interface, localise strings, clean up logs

* Add shikimori delete compatibility for already existing entries

* update track delete dialog prompt to include checkbox, update strings

* Update i18n/src/main/res/values/strings.xml

Co-authored-by: stevenyomi <95685115+stevenyomi@users.noreply.github.com>

* Update i18n/src/main/res/values/strings.xml

---------

Co-authored-by: unknown <zaghdane@fireflow.de>
Co-authored-by: arkon <arkon@users.noreply.github.com>
Co-authored-by: stevenyomi <95685115+stevenyomi@users.noreply.github.com>
2023-06-22 22:06:43 -04:00
Ivan Iskandar b4393ff741 Update core-splashscreen (#9629) 2023-06-22 21:59:17 -04:00
Ivan Iskandar 740e370465 Bump compile SDK version 34 (#9625) 2023-06-22 14:20:12 -04:00
arkon 0871208023 Avoid crash when trying to open random entry but categories are still loading
Fixes #9610
2023-06-15 22:16:31 -04:00
arkon ee95c1439f Blur manga info header image
Similar to J2K. This only applies on Android 12+.
2023-06-13 20:36:33 -04:00
arkon e323f3c25a Don't update last page read/read state of chapter if Incognito Mode is enabled
Actually closes #7228, which I forgot was about history more than trackers.
2023-06-13 19:30:02 -04:00
arkon 9766399539 Don't update trackers after reading a chapter if Incognito Mode is enabled
Closes #7228
2023-06-13 18:51:07 -04:00
Simon dddba7bb6f Filter out non-downloaded chapters in reader when Downloaded Only is enabled (#9568)
* FIxed Issue #5463 - DownloadedOnly Bug

* Changes according to Feedback

* Changes according to Feedback

---------

Co-authored-by: AlphiGhost <71730726+AlphiGhost@users.noreply.github.com>
2023-06-10 12:48:15 -04:00
Two-Ai cf777d9893 Cleanup MangaScreenModel successState usage (#9582)
* Refactor updateSuccessState

- Convert to inline function
- Use when for type safety if we add other MangaScreenState types

* Replace equivalent expressions with updateSuccessState

* Replace safe cast in MangaScreen
2023-06-09 23:11:02 -04:00
arkon 841f80f935 Add share menu item in reader
Closes #9510
2023-06-09 22:52:49 -04:00
arkon 34b9c82cd0 Remove General settings section 2023-06-04 17:07:29 -04:00
arkon 405a75438a Remove per-category display mode
There seems to be little value in this feature, and juggling flag masks is annoying.
Per-category sorting is still a thing, but could be refactored away from the flag in the feature.
2023-06-04 16:59:21 -04:00
Ivan Iskandar 39e4568460 ReaderProgressIndicator: Convert to Compose (#9574) 2023-06-03 13:11:41 -04:00
arkon 1a1f16f44a Bump dependencies 2023-05-31 22:48:13 -04:00
arkon 431f8772f8 Address minor build warnings 2023-05-31 22:47:31 -04:00
arkon 8f4bc71cf7 Remove confirm exit option
Redundant with predictive back, but also just sort of pointless since it doesn't help
with any sort of app state retention.
2023-05-31 18:51:01 -04:00
Two-Ai 0ac38297f4 Replace RxJava in extension installer (#9556)
* Replace RxJava in extension installer

Replace common downloadsRelay with Map of individual StateFlows

* Drop RxRelay dependency

* Simplify updateAllExtensions

* Simplify addDownloadState/removeDownloadState

Use immutable Map functions instead of converting to MutableMap
2023-05-30 10:25:20 -04:00
Ivan Iskandar a458bd9fdb Update Glance v1.0.0-beta01 (#9551) 2023-05-27 22:59:21 -04:00
arkon ed5a56be60 Set reader chapter name to marquee if too long
Closes #7159
2023-05-27 19:15:11 -04:00
arkon 8735f3566f Fix bookmarked chapters being deleted after manually marked as read
Fixes #9520
2023-05-27 18:30:59 -04:00
arkon 46efd4c134 Fix some crashes 2023-05-27 09:53:01 -04:00
arkon dfd38db7e3 Use primitive state holders 2023-05-27 09:22:31 -04:00
arkon e3b2720924 Remove redundant inset handling in AdaptiveSheet
The Dialog is handling it anyway, so this doesn't really do anything useful.
We might need to add this back if Dialog actually handles edge-to-edge properly.
2023-05-24 18:10:17 -04:00
Two-Ai 3ae1e37c40 Replace RxJava in Downloader (#9256)
* Rename removeFromQueueByPredicate to removeFromQueueIf

Follow-up to PR comment in #9511

* Make Download hashCode stable

Mutating pages would previously change the Download hashCode, which
breaks HashMap lookups.

* Convert Donwloader subscription to coroutine

Replace downloadsRelay with activeDownloadsFlow. Instead of managing
a PublishRelay independent from the queue, derive a Flow of active
downloads directly from the queue StateFlow. (This will allow
updating the queue without pausing the downloader, to be done in a
follow-up PR.)

When a download completes successfully, the downloads is removed from
queueState. This updates activeDownloadsFlow and causes the
downloaderJob start the download job for the next active download.

When a download fails, the download is left in the queue, so
queueState is not modified. To make activeDownloadsFlow update
without a change to queueState, use transformLatest and use the
Download statusFlows to suspend until a download reaches the ERROR
state.

To avoid stopping and starting downloads every time
activeDownloadsFlow emits a new value, maintain a map of current
download Jobs and only start/stop jobs in the difference between
downloadJobs and activeDownloads. To make sure all child download
jobs are cancelled when the top-level downloader job is cancelled,
use supervisorScope.

* Remove obsolete main thread references in Downloader

Thread safety of the queue state used to be guaranteed by running all
queue mutation on the main thread, but this has not been true for
some time. Since the queue state is now backed by a StateFlow,
queueState can be safely updated by any thread.
2023-05-24 18:02:27 -04:00
arkon 5a9889b562 Upgrade Compose
Co-authored-by: ivaniskandar <ivaniskandar@users.noreply.github.com>
2023-05-21 11:21:32 -04:00
arkon 5ca7c39751 Replace Cascade with our own somewhat janky implementation 2023-05-21 11:02:56 -04:00
arkon a4d86a2e1e Enable predictive back gesture for Android 13 (behind developer option)/14+ 2023-05-20 16:16:19 -04:00
Ivan Iskandar 73118d4af7 DownloadCache: Fix freezing on initial loading of cache file (#9523) 2023-05-19 22:06:06 -04:00