arkon
30f845139d
Use consistent extension icon URLs
...
Better caching between versions.
2023-07-16 15:44:36 -04:00
arkon
818471b7e1
Set start date when tracker is bound if any chapters are already read
...
Closes #6734
2023-07-16 15:01:04 -04:00
arkon
a3a3f44056
Constrain reader sheet to max 75% of height
2023-07-16 09:59:17 -04:00
arkon
22c6dbda3f
Replace reader sheet dropdowns with chips
2023-07-16 09:58:52 -04:00
arkon
34f7caa0fc
Use Material3 chips
2023-07-16 09:11:57 -04:00
arkon
01553b1ed8
Don't update chapter progress if current page is errored
...
Closes #5355
2023-07-16 09:11:57 -04:00
KaiserBh
abe69206dd
Merge branch 'master' into sync-part-1
2023-07-16 20:35:59 +10:00
AntsyLich
ec08ba05fc
Finish up reader reading mode settings compose migration ( #9721 )
2023-07-15 15:47:01 -04:00
arkon
30bea8b753
Replace library sheet display modes with FlowRow of Chips
2023-07-15 14:31:13 -04:00
arkon
09e4b5a9cd
Replace some reader sheet settings with FlowRow of Chips
2023-07-15 14:27:30 -04:00
arkon
5467104b95
Fix window undimming when reader custom filter settings are open
2023-07-15 13:23:25 -04:00
arkon
1cf7f9be54
Use segmented buttons for reader background setting in sheet
2023-07-15 13:05:06 -04:00
arkon
fb99577836
Implement showing selected per-series reader settings
2023-07-15 12:39:36 -04:00
arkon
28131ac135
Remove legacy settings sheet
...
The per-series settings aren't quite functional yet, but they're also
accessible outside of the sheet.
2023-07-15 11:14:18 -04:00
arkon
e40b8d537c
Move all pager/webtoon reader setting to Compose sheet
2023-07-15 10:47:56 -04:00
arkon
12e7ee9d0c
Tweak global search source filtering
...
Pinned only setting is removed in favor of the UI in the global search screen itself, which defaults to pinned only.
This needs more UX improvements, but I'm not really sure what it should be like right now.
2023-07-15 10:09:46 -04:00
arkon
54733e6ceb
Mark some state data classes as immutable
2023-07-15 09:54:29 -04:00
arkon
a629db2884
Address some build warnings
2023-07-14 23:08:45 -04:00
zaghdaneh
cbcec8c4d9
Add filters to Global search ( #9691 )
...
* add pinned and available filter chips to global search
* split filter predicate into seperate function
* change the global search available filter to has Results
* reordering of imports
2023-07-14 22:49:14 -04:00
KaiserBh
92b1025df3
Merge branch 'master' into sync-part-1
2023-07-15 01:56:45 +10:00
KaiserBh
c81400c807
refactor: use Uri instead of syncHolder
2023-07-15 01:29:21 +10:00
KaiserBh
4db4dd277c
refactor: removed no used anymore.
2023-07-15 01:28:53 +10:00
KaiserBh
93f3dd35ff
refactor: removed no used anymore.
2023-07-15 01:28:41 +10:00
KaiserBh
a512508f9b
refactor: removed no used anymore.
2023-07-15 01:27:49 +10:00
KaiserBh
a036e499b1
refactor: don't need device id.
2023-07-14 19:24:58 +10:00
zaghdaneh
0fffde50ff
Fix to multiple chapter download incorrect state ( #9707 )
...
add subscription to download manager queue state flow
2023-07-12 23:09:15 -04:00
arkon
8775596a82
Use system APIs to localize percentage numbers
2023-07-11 22:32:20 -04:00
arkon
2f0133986a
Move boolean reading mode prefs to Compose sheet
...
Also allow webtoon side padding to be any amount between 0 - 25%.
2023-07-11 22:24:16 -04:00
AntsyLich
3bd2cad45f
Change the wording to "Retry" when page fails to load. ( #9701 )
2023-07-11 09:15:38 -04:00
AntsyLich
48f7a2de41
Actually retry when a page fails to load in Browse screen ( #9700 )
2023-07-11 08:08:25 -04:00
Aria Moradi
1af1ce924d
Merge branch 'master' into sync-part-1
2023-07-11 13:43:29 +03:30
Aria Moradi
5e02edae53
fix labels
2023-07-11 13:41:11 +03:30
arkon
3aa6e7ae0e
Fix swipe action preference labels
2023-07-10 22:23:05 -04:00
arkon
813d7e49cd
Remove unused tabbed sheet layouts/classes
2023-07-10 18:55:20 -04:00
arkon
710ebfb7a5
Initial migration of general reader settings to Compose
2023-07-10 18:42:35 -04:00
arkon
87bdee5990
Move SettingsItems composables to presentation-core
2023-07-10 17:25:52 -04:00
arkon
efabe801be
Refactor chapter tracking logic
...
Could probably call this if we ever make it update tracking on manually
marking chapters as read.
2023-07-10 17:13:58 -04:00
arkon
9a817e49be
Set proper defaults for new table columns
2023-07-10 16:44:48 -04:00
KaiserBh
a577f5534f
Database changes to support library syncing ( #9683 )
...
* feat: added migrations.
* feat: create triggers, account for new installs.
* feat: update mappers to include the new field.
* feat: update backupManga and backupChapter.
Include the new fields to be backed up as well.
* feat: add sql query to fetch all manga with `last_favorited_at` field.
* feat: version bump.
* chore: revert and refactor.
* chore: forgot to lower case the field name.
* chore: added getAllManga query as well renamed `fetchMangaWithLastFavorite` to `getMangasWithFavoriteTimestamp`
* chore: oops that's not meant to be there.
* feat: back fill and set last_modified_at to not null.
* chore: remove redundant triggers.
* fix: build error, accidentally removed insert.
* fix: build error, accidentally removed insert.
* refactor: review pointer, make fields not null.
2023-07-10 15:52:57 -04:00
Ivan Iskandar
0759936226
Remove scrollable animation workaround ( #9690 )
...
Reverts ba93060e59
Related https://android-review.googlesource.com/c/platform/frameworks/support/+/2239762
2023-07-09 14:08:58 -04:00
arkon
1e3d9a00f2
Handle chapter read status in correct order
...
Fixes #9687
2023-07-09 09:54:36 -04:00
arkon
226272f686
Refactor reader progress/history logic
2023-07-08 18:05:00 -04:00
arkon
16cbcecd99
Fix download ahead
...
Fixes #9669
2023-07-08 17:56:15 -04:00
arkon
b008223661
Minor reorganization
2023-07-08 17:47:10 -04:00
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
Ivan Iskandar
8287c9d193
MangaChapterListItem: Replace swipe action method ( #9682 )
...
Using swipe (the library) and added haptic feedback
2023-07-08 10:02:20 -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
Aria Moradi
425260b679
rename SettingsBackupScreen
2023-07-07 23:25:50 +03:30
Aria Moradi
a1e9d34bb8
merge backup and sync screens
2023-07-07 23:22:36 +03:30
Aria Moradi
6d9f74d0bf
liner run
2023-07-07 20:29:59 +03:30
Aria Moradi
a2a1201dec
refactor SyncYomiService
2023-07-07 20:15:17 +03:30
KaiserBh
878f7097d1
feat: syncyomi uses same internal logic as well now.
...
TODO: refactor them as the code is duplicated for now.
2023-07-07 17:59:57 +03:30
KaiserBh
877bf721e3
fix: fix not restoring categories etc.
2023-07-07 17:53:08 +03:30
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
Aria Moradi
75b9871e55
fix remember stuff
2023-07-06 20:29:12 +03:30
Aria Moradi
733181957a
apply review pointers
2023-07-06 20:12:45 +03:30
Aria Moradi
bb89e9f1f5
rename self hosted to SyncYomi
2023-07-06 15:00:19 +03:30
Aria Moradi
84eb68e1ba
Split sync feature part 1
...
Co-authored-by: KaiserBh <kaiserbh@proton.me>
2023-07-06 14:08:05 +03:30
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
8c5496b53f
Configure external-files-path for files provider
...
Maybe fixes #9660 . Why do Chinese companies insist on breaking things?
2023-07-05 18:38:32 -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
2a7cca6ea4
Show a progress indicator while checking for updates in the about screen ( #9641 )
...
* Show a progress indicator while checking for updates.
* Remove a unused import.
* Remove the initial toast.
2023-06-27 22:14:31 -04:00
Alessandro Jean
6ed2748846
Show open source library license in a custom screen ( #9645 )
...
Show open source library license in a custom screen.
2023-06-26 22:28:14 -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
a07e0df815
Use same icons as action bar in swipe actions
2023-06-25 14:50:48 -04:00
arkon
88e9fefa59
Retry LibraryUpdateJob later if Wi-Fi condition not met
2023-06-25 14:31:28 -04:00
arkon
c0fd47b066
Retry DelayedTrackingUpdateJob up to 3 times if all items not updated
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
7d4af1f8cc
Don't affect reader toolbars/sheets when using custom brightness
...
Closes #8444
You should be able to tap to bring up the menus even if the brightness is too low.
2023-06-24 12:56:45 -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
b354e37cc3
Refactor grid size slider composable for reuse
2023-06-24 11:23:06 -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
Semen
2eca8511cb
Trackers empty scores start starts from middle ( #9624 )
...
* Trackers empty scores start starts from middle
* Trackers empty scores start starts from middle
* Trackers empty scores start starts from middle
2023-06-24 10:37:20 -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
Ivan Iskandar
25b0458930
composed Modifier changes ( #9631 )
...
Referring at the examples and other internal usages, the
resulting stateful Modifier should be separated from
all the previous Modifier chain.
2023-06-23 17:54:01 -04:00
Ivan Iskandar
6808fbbb21
Use lite compose-ui-tooling module on release builds ( #9630 )
...
The size reduction is minuscule but it's there.
2023-06-23 08:26:35 -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
Ivan Iskandar
9ec8d770ea
MangaChapterListItem: Increase swipe action touch slop ( #9598 )
2023-06-10 12:48:03 -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
39a7356ed1
Directly track current WebView URL instead of relying on state
...
State approach doesn't work well for client-side routed apps like MangaDex.
Fixes #9576
2023-06-09 22:45:13 -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
531e1c62bb
Hide release period update restriction in non-dev builds until ready
2023-06-02 18:23:31 -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
8a5382042c
Fix misleading release grace period "Default" options
2023-05-31 18:52:36 -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
arkon
f48f212001
Minor cleanup
2023-05-27 23:27:02 -04:00
Quang Kieu
c90f344910
Add setting and calculate for update interval ( #9399 )
...
* Add Grace Period value and settings
* Add functions to calculate nextUpdate
* update per review
* Move more into SetMangaUpdateInterval, keep wrapper
2023-05-27 23:01:36 -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
899fe57f15
Slightly tweak MangaScreen refresh indicator
...
Related to #7813 . It still starts below the status bar, but it looks a bit less weird.
2023-05-27 19:06:04 -04:00
arkon
bac42edabb
Add debug screen to copy backup file schema
...
Closes #8544
2023-05-27 18:53: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
929a881943
Simplify chapter item composable a bit
...
Closes #9442 because I just removed the rounding entirely...
2023-05-26 23:02:16 -04:00
arkon
152fdec855
Minor cleanup and remove unused dependencies
2023-05-26 22:52:00 -04:00
Artemis-CtrlAltDel
9c07451d95
fix: grid size slider ( #9542 )
2023-05-26 22:41:22 -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
44609c494c
Use AppBarActions in more places
2023-05-20 22:47:16 -04:00
arkon
a4d86a2e1e
Enable predictive back gesture for Android 13 (behind developer option)/14+
2023-05-20 16:16:19 -04:00
Shamicen
b8716ff6fe
Populate the ComicInfo Number field with chapter numbers ( #9514 )
...
* Populate the ComicInfo Number field
* added negative number check
2023-05-20 10:24:10 -04:00
Ivan Iskandar
73118d4af7
DownloadCache: Fix freezing on initial loading of cache file ( #9523 )
2023-05-19 22:06:06 -04:00
Two-Ai
c27bf4e866
Minor Downloader cleanup ( #9511 )
...
* Inline completeDownload
* Consolidate queueState updates in removeFromQueue
* Inline post-download steps into downloadChapter
2023-05-19 17:16:32 -04:00
arkon
fb38d30775
Avoid attempts to renaming download dirs if name hasn't actually changed
...
Maybe fixes #9503
2023-05-14 12:24:40 -04:00
arkon
b4bb855675
Revert "Bump to somewhat newer version of Compose BOM"
...
This reverts commit ce81b76150
.
Fixes crashes when opening menus. Cascade doesn't have an update
to fix this yet.
2023-05-13 22:45:36 -04:00
Ivan Iskandar
6263a52777
Fix navigation backstack ( #9497 )
...
Partial revert of dbbf6c5de0
2023-05-13 14:22:02 -04:00
Ivan Iskandar
96defd6b05
Replace our custom Pager ( #9494 )
...
Turns out that changing the pagerSnapDistance
is enough to achieve the same result.
2023-05-13 12:06:00 -04:00
arkon
bcd90be525
Use AppBarActions in more places
...
Related to #8270
2023-05-13 10:04:22 -04:00
arkon
22afae4449
Add tooltips for AppBarActions
...
Partially addresses #8270 . A bunch of Scaffolds aren't using this helper.
2023-05-12 22:56:13 -04:00
arkon
8fae92034e
Fix missing appbar when statistics are loading
2023-05-12 18:13:07 -04:00
arkon
ce81b76150
Bump to somewhat newer version of Compose BOM
2023-05-12 18:10:07 -04:00
AntsyLich
f70d5ea976
Delay automatic backup when restoring ( #9492 )
2023-05-12 18:02:11 -04:00
arkon
dbbf6c5de0
Switch back to upstream version of Voyager
2023-05-12 18:01:48 -04:00
Ivan Iskandar
84acae27b7
ChapterNavigator: Fix rounding error when changing page with slider ( #9477 )
...
ChapterNavigator: Fix rounding error when changing page from slider
2023-05-08 09:00:05 -04:00
arkon
71f6e07e71
Don't compute key for browse list based on manga ID, which may be repeated
...
Fixes #9473
2023-05-07 19:39:09 -04:00
arkon
6f59c6c6bb
Revert attempts to read archives to cache first
...
Issues:
- Apache implementation relies on methods unavailable on lower Android API levels
- Using input stream implementation doesn't seem to read some files properly, but using
ZipFile implementation still requires reading the entire thing into memory
2023-05-07 12:03:58 -04:00
Ivan Iskandar
d36cf5ce15
Chapter transition tweaks ( #9470 )
...
* Chapter transition tweaks
* Chapter transition cleanups
2023-05-07 10:08:33 -04:00
arkon
b051e37ab7
Address minor build warnings
2023-05-06 23:11:14 -04:00
arkon
44383ff950
Add R8 rule for org.apache.commons:commons-compress
...
Fixes #9465
2023-05-06 22:49:03 -04:00
arkon
1b25290d39
Fix filter FAB not working in migrate screen
...
I feel like this needs to be aligned with the browse screen/deduped somehow, but that can happen separately.
Fixes #9444
2023-05-06 12:27:44 -04:00
arkon
2f5eb73d29
Allow scrolling in restore confirmation dialog
...
Fixes #9460
2023-05-06 12:22:14 -04:00
Ivan Iskandar
f0dd33ee4c
ChapterNavigator: Always show buttons and fix steps visual ( #9461 )
2023-05-06 11:15:39 -04:00
Two-Ai
bbe0ab1dd0
Fix delay between URL fetch and image download ( #9452 )
...
Fetch each source image URL immediately before downloading each image
instead of fetching all URLs and then downloading all images.
Source image URLs may change, so the downloader may fail if there is
too long a delay between fetching the image URL and downloading the
image.
2023-05-05 22:17:51 -04:00
Two-Ai
cb2d43c0d1
Ensure final download status is always set ( #9453 )
2023-05-05 22:17:05 -04:00
Ivan Iskandar
fce9cb820c
ChapterNavigator: Fix haptic feedback ( #9458 )
2023-05-05 22:15:56 -04:00
Ivan Iskandar
08e4863d94
ChapterNavigator: Fix background color ( #9450 )
2023-05-04 13:55:53 -04:00
arkon
9a10656bf0
Migrate reader slider and next/prev buttons to Compose
2023-05-03 17:14:11 -04:00
arkon
3c79777e66
Migrate PageIndicatorTextView to Compose
...
Probably closes #7798
2023-05-03 16:18:25 -04:00
arkon
f5ad95d78a
Fix language in source filter list jumping to top incorrectly
...
Fixes #9068
2023-05-03 15:07:41 -04:00
arkon
14c465d36f
Get current track services when composing LibrarySettingsDialog
...
Fixes #9431
2023-05-03 14:41:08 -04:00
arkon
99378ddf20
Bump dependencies
2023-05-03 14:09:52 -04:00
arkon
c623258e8c
Try Apache implementation of ZipFile instead
...
Docs: https://commons.apache.org/proper/commons-compress/
Related StackOverflow post: https://stackoverflow.com/a/54236244/4421500
Related to #9438
2023-05-03 14:00:33 -04:00
Houssein Zaghdane
6ce42dc167
fix to multiple "add to library" toasts bug when adding a new series ( #9433 )
...
fix to multiple "add to library" toasts bug (#9177 )
Co-authored-by: Houssein Zaghdane <zaghdane@fireflow.de>
2023-05-03 10:40:11 -04:00
Andreas
f63573f25f
Remove SourceData and use StubSource directly for database ( #9429 )
2023-05-03 10:33:05 -04:00
Andreas
02864ebd60
Move GitHub Release/App Update logic to data ( #9422 )
...
* Move GitHub Release/App Update logic to data
* Add tests for GetApplicationRelease
* Review changes
2023-04-29 22:14:49 -04:00
arkon
9339ea4196
Process chapter duplicates after sorting
...
Closes #9255 , sort of. The example is a bad edge case though, where chapter numbers are repeated across versions,
so realistically only the first 113 will appear but the later 113(s) won't despite being "different". Those realistically
should be in different manga entries, not all mixed together, so this is just a crappy source.
2023-04-28 16:01:14 -04:00
AntsyLich
6bdc1b676e
Avoid potential crash when opening library settings sheet 2.0 ( #9419 )
...
Avoid potential crash when opening library settings sheet 2.0
Previous one had issues
2023-04-28 15:15:54 -04:00
Andreas
7451c13edd
Add slider for changing columns ( #9421 )
...
- It changes the columns based on the current orientation
2023-04-28 15:13:41 -04:00
arkon
ccd4143d9d
extension-lib 1.5: Add AppInfo#getSupportedImageMimeTypes()
2023-04-28 11:36:17 -04:00
arkon
c590f55030
Revert "Avoid potential crash when opening library settings sheet ( #9415 )"
...
This reverts commit 2cb08e6bb1
.
2023-04-28 10:11:13 -04:00
AntsyLich
c21813a8b5
Add an icon to "Item Per Row" on library sheet ( #9414 )
...
Also cleanup `SettingsItems.kt`
2023-04-28 10:08:35 -04:00
AntsyLich
2cb08e6bb1
Avoid potential crash when opening library settings sheet ( #9415 )
2023-04-28 09:08:17 -04:00
stevenyomi
058ee4c86b
Fix exception formatter's format ( #9413 )
2023-04-28 09:06:32 -04:00
arkon
ea6e5eebac
Remove "when tapping" from "Pan wide images" setting
...
Closes #9343
2023-04-27 22:54:07 -04:00
arkon
9cc25ff345
Fix disable source option not appearing
2023-04-27 22:47:58 -04:00
arkon
c9805b8612
Consolidate exception message formatting
...
Closes #9408
2023-04-27 22:45:30 -04:00
Quang Kieu
41c89eb61d
Add interval data layer ( #9398 )
...
* Update Manga classes for fetch interval data
* Update per review
bump version
---------
Co-authored-by: quangkieu <qkieu>
2023-04-27 22:27:12 -04:00
arkon
392c3492b3
Minor cleanup
2023-04-26 17:27:44 -04:00
arkon
20bec66a9d
Handle archives with nested directories properly
...
Closes #9389
2023-04-25 22:07:34 -04:00
Ken Swenson
3ce9a9ff97
Double tap zoom toggle ( #9384 )
...
* Double tap zoom toggle
Implements a toggle that allows users to disable double tap zoom including QuickScaling for webtoons. Partially resolves #4145
* Update i18n/src/main/res/values/strings.xml
---------
Co-authored-by: arkon <arkon@users.noreply.github.com>
2023-04-25 18:06:49 -04:00
d-najd
a8f17a3fab
Add swipe actions for chapters ( #9304 )
...
* added chapter swipe
* Rework corner animtion
* Update i18n/src/main/res/values/strings.xml
Co-authored-by: arkon <arkon@users.noreply.github.com>
* Replace LTR/RTL with Start/End layout
* Added label to the animation so the warning will go away
* Getting rid of the swipe threshold setting
* adding disabled option, renaming stuff, other stuff?
* Getting rid of the snackbar
* Getting rid of unecessary strings
* changing enum names as requested
* Renaming Raio to Ratio (I need a better keyboard as well -__-)
* Replacing error with download icon and action
* backup
* minor cleanup
* fixing an nasty edge case
* fixing mistakes in the previous conflict
* space
* fixing bug
fixed bug where the user could dismiss already dismissed item leading to item getting stuck
* fixing lint errors
* fixing lints (hopefully)
* Added "swipe disabled" to the list of actions
* Replacing string value and moving value as requested
* replacing rest of the strings with generic ones
---------
Co-authored-by: arkon <arkon@users.noreply.github.com>
2023-04-25 17:29:39 -04:00
Tooster
ef3d2c14b4
Fix misused string key in library context menu ( #9388 )
...
The "update global" action used key which led to translation issues in Polish.
2023-04-24 22:32:28 -04:00
arkon
44619febd3
Load ZIP file contents to cache ( #9381 )
...
* Extract downloaded archives to tmp folder when loading for viewing
* Generate sequence of entries from ZipInputStream instead of loading entire ZipFile
2023-04-23 11:59:58 -04:00
arkon
c48accb357
Maybe fix Firebase crashes
...
See https://github.com/firebase/firebase-android-sdk/issues/3507
2023-04-23 11:59:44 -04:00
arkon
418e6a8b3a
Make loader implementation classes internal
2023-04-23 10:11:26 -04:00
arkon
67b4e53a58
Minor cleanup
2023-04-23 10:11:26 -04:00
arkon
265934d77a
Fix missing type info in release builds
2023-04-22 18:32:22 -04:00
arkon
2a218cca90
Fix missing type info in release builds
2023-04-22 18:22:24 -04:00
arkon
e23cc8f83a
Hide beta split tall images setting from reader setting sheet for release builds
...
Closes #9358
2023-04-22 16:33:41 -04:00
arkon
0b125b7106
Use Compose for reader transition chapter info ( #9373 )
2023-04-22 16:33:36 -04:00
arkon
26f3995595
Consolidate missing chapters functions to domain module and add tests
2023-04-22 11:34:51 -04:00
Pauline
41cc1fe723
Fallback chapter name if it ends up as blank ( #9220 )
...
* change the directory's name for a download when the chapter's name is only composed of numbers or is blank
* maj in case the chapter name is blank or empty
* clean code
2023-04-22 11:11:56 -04:00
arkon
add228407f
Remove abstract TabeedBottomSheetDialog class
2023-04-19 22:43:36 -04:00
Ivan Iskandar
2c6e025063
Add more info to debug screen ( #9357 )
...
* App version
* WebView version
* ART profile status
* Device model
* Android version
2023-04-18 22:59:27 -04:00
arkon
97e6f1ea9a
Upgrade to AGP 8.0.0 ( #9351 )
2023-04-16 18:02:24 -04:00
arkon
5c1a81d8ca
Merge branch 'patch'
2023-04-16 11:09:22 -04:00
arkon
c615f4d458
Release v0.14.6
2023-04-16 11:00:14 -04:00
Eshlender
7115a9b9fe
Update track domain shikimori.me ( #9333 )
...
shikimori.me
(cherry picked from commit 564a0980b9
)
2023-04-16 10:53:01 -04:00
arkon
fd8b97fc87
Better handle overflowing content in MigrateDialog actions
...
Fixes #9207
(cherry picked from commit b7cd7b8b4e
)
2023-04-16 10:52:53 -04:00
arkon
4dd67e4348
Save current chapter progress when navigating to adjacent chapters
...
Fixes #9295
(cherry picked from commit 776d36caf1
)
2023-04-16 10:52:42 -04:00
arkon
38428c6ebe
Show proper string in manga detail screen for SourceNotInstalledException
...
(cherry picked from commit 14d1bcacc9
)
2023-04-16 10:51:05 -04:00
arkon
bf85e147e7
Set default automatic library updates to off
...
(cherry picked from commit abd23b6826
)
2023-04-16 10:50:55 -04:00
arkon
d2dd34c2e5
Use queued last chapter read number when performing delayed tracker update
...
Fixes #8876
(cherry picked from commit f7f2072621
)
2023-04-16 10:50:24 -04:00
arkon
aa2ec5940f
Avoid crashing in SourcePreferencesScreen if source can't be loaded
...
(cherry picked from commit 4efca04765
)
2023-04-16 10:49:11 -04:00
arkon
79323de326
Avoid crash in DeleteLibraryMangaDialog
...
No clue why it ever gets a -1 index though.
(cherry picked from commit b12c7cf963
)
2023-04-16 10:49:05 -04:00
Two-Ai
08e6487a9a
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 779df32e98
)
2023-04-16 10:48:16 -04:00
arkon
6f2bb18d72
Avoid crash when loading invalid extension package
...
(cherry picked from commit 3d7c136320
)
2023-04-16 10:47:58 -04:00
arkon
c6ac992798
Move library columns settings to library sheet
...
Closes #3969 . Dialog-ception.
2023-04-15 19:36:49 -04:00
arkon
8ab7e63293
Add tests for MissingChapters function
2023-04-15 09:51:52 -04:00
arkon
4bcd623829
Move worker info screen into debug info menu
...
No need to translate anything for debug info. Dunno what else will end up in that menu in the future.
2023-04-15 09:35:22 -04:00
Trace
4816b4b53a
fix: skip duplicate chapters on download ahead if option to skip duplicates is enabled ( #9334 )
...
* fix: skip duplicate chapters on download ahead if option is enabled
* fix: Use a function to filter duplicates
2023-04-15 09:34:02 -04:00
Ivan Iskandar
60d8650860
WheelPicker: Add manual input ( #9338 )
2023-04-15 09:26:33 -04:00
Eshlender
564a0980b9
Update track domain shikimori.me ( #9333 )
...
shikimori.me
2023-04-14 21:57:05 -04:00
Ivan Iskandar
c1e23ec18e
GlobalSearchScreen: Skip result screen when using search intent ( #9299 )
2023-04-07 22:18:48 -04:00
arkon
b7cd7b8b4e
Better handle overflowing content in MigrateDialog actions
...
Fixes #9207
2023-04-05 22:36:57 -04:00
arkon
776d36caf1
Save current chapter progress when navigating to adjacent chapters
...
Fixes #9295
2023-04-05 22:29:56 -04:00
Ivan Iskandar
182e642cfc
SearchToolbar: Check initial search query to open keyboard by default ( #9297 )
2023-04-05 22:15:56 -04:00
arkon
d25ba23079
Fix automatic backups not working
...
Apparently they die if you rename a worker class.
2023-04-05 22:13:54 -04:00
arkon
75460e01c8
Remove crash log notification in favor of sharing directly
2023-04-02 15:30:22 -04:00
RS156
274218cf22
Make center zoom start vertically centered too ( #8849 )
...
Update ReaderPageImageView.kt
"true center" Zoom start position #8747 .
Changed zoom position to get true center value.
2023-04-01 14:52:15 -04:00
Ivan Iskandar
7a1b599462
Adjust SearchToolbar soft keyboard behavior ( #9282 )
...
* Show soft keyboard when the text field is composed (a redo)
* Clear focus on text field when soft keyboard is hidden
* Request focus on text field and show soft keyboard
when clear button is clicked
2023-03-31 09:24:44 -04:00
arkon
1dd62af188
Ensure EmptyScreen is scrollable
...
Also fix padding for loading/empty states in BrowseSourceScreen
2023-03-29 22:53:58 -04:00
Ivan Iskandar
6f1099b710
AdaptiveSheet: Wrap inside Dialog ( #9279 )
...
Because of Compose issue, the style of the sheet surface is adjusted as
a workaround
Ref https://issuetracker.google.com/issues/246909281
2023-03-29 22:34:32 -04:00
arkon
be8e2f119f
Make pin source icon lighter
...
Closes #9274
2023-03-28 23:01:22 -04:00
arkon
18f9e5ba6b
Use IO dispatcher for some screen model work
...
Not sure if this is an ideal approach. If it is, we could migrate more usages to this.
2023-03-28 22:52:30 -04:00
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
stevenyomi
0bcc22822d
Simplify code in missing chapters warning ( #9263 )
2023-03-26 11:50:29 -04:00
arkon
1ff78173f7
Adjust missing chapters UI
2023-03-26 10:26:58 -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
Felix Kaiser
f94d902bb6
Added missing chapters count in MangaInfoHeader ( #9184 )
...
* Added missing chapters count in MangaInfoHeader
* Added "Might be missing chapters"
* Added missing chapters to MangaAndSourceTitlesLarge function
* Removed comments
* Reworked getMissingChapters to countMissingChapters, moved -1 check
* Attempting detecting sub-chapters
* Moved MissingChapters to ChapterHeader; Adapted design to fit in
* Fixed block comment in one-line-element
* Fixed critical missing-chapter counting bug
* Undid unintentional & unnecessary changes
* Moved & refactored countMissingChapters
* Fixed import order; Mapping chapter object to chapterNumber
* Optimized "No (valid) chapters" detection
---------
Co-authored-by: arkon <arkon@users.noreply.github.com>
2023-03-24 22:44:58 -04:00
arkon
da25322572
Bump Compose dependencies
2023-03-23 22:19:43 -04:00
arkon
cb4699a5bb
Bump dependencies
2023-03-22 22:58:42 -04:00
arkon
2e5efadf42
Rename Complications -> Overlay
2023-03-22 09:26:07 -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
arkon
843e748de3
Clean up library display settings tab a bit
2023-03-19 12:41:29 -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
18e55aa25f
Adjust tab indicator visual ( #9219 )
...
Now behaves like the non-compose indicator by showing the swipe progress too
2023-03-16 22:20:25 -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
e458de5e9c
Add dot beside unread chapter names
...
Closes #4261
Also includes changes that might help with #9043
2023-03-05 17:47:27 -05:00
arkon
e917349bb7
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
2023-03-05 15:37:41 -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
f7f2072621
Use queued last chapter read number when performing delayed tracker update
...
Fixes #8876
2023-02-26 16:48:04 -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
b12c7cf963
Avoid crash in DeleteLibraryMangaDialog
...
No clue why it ever gets a -1 index though.
2023-02-25 15:29:00 -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
84a0044d51
Remove some unused resources
2023-02-23 22:42:02 -05:00
arkon
92132c59f5
Migrate source filter sheet to Compose ( #9135 )
2023-02-23 22:32:40 -05:00
Ivan Iskandar
36ae388332
Bump compose-bom version 2023.02.00-beta02 ( #9137 )
2023-02-23 22:29:38 -05:00
arkon
bd47eafeec
Fix per-category sort/display affecting the wrong category
2023-02-23 13:54:08 -05:00
arkon
9432d2d06a
Bump dependencies
2023-02-22 23:09:16 -05:00
Two-Ai
fa61c8fe6f
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.
2023-02-21 23:02:10 -05:00
arkon
92bd98e45f
Consolidate all theme colors to presentation-core module
2023-02-21 22:52:36 -05:00
arkon
fd7c993b0b
Move CheckboxState to core module
2023-02-21 22:52:36 -05:00
Two-Ai
779df32e98
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.
2023-02-21 18:21:00 -05:00
arkon
0bd56ab77c
Fix height shift when scrolling through themes
2023-02-21 12:04:17 -05:00
Ivan Iskandar
6b03dca5f4
Use Compose Foundation's flow layout ( #9123 )
2023-02-21 12:04:11 -05:00
Ivan Iskandar
bd7b21337c
Add minLines to comfortable grid item title ( #9122 )
2023-02-21 11:44:56 -05:00
Ivan Iskandar
60a3ba5a5c
Use non-stable Compose BOM ( #9120 )
2023-02-21 10:41:56 -05:00
arkon
93523ef50b
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
2023-02-20 19:02:38 -05:00
arkon
10d7349506
Move more components to presentation-core module
2023-02-20 10:12:41 -05:00
arkon
3d7c136320
Avoid crash when loading invalid extension package
2023-02-19 16:44:58 -05:00
arkon
a6d6a5ed87
Merge branch 'patch'
...
# Conflicts:
# app/build.gradle.kts
# app/src/main/java/eu/kanade/presentation/browse/BrowseSourceScreen.kt
# app/src/main/java/eu/kanade/tachiyomi/ui/main/MainActivity.kt
2023-02-19 15:31:35 -05:00
arkon
b690de55e5
Release v0.14.5
2023-02-19 15:25:35 -05:00
arkon
83fda20078
Avoid crashes if headers can't be built for usage in WebView
...
(cherry picked from commit ec49411bee
)
2023-02-19 11:52:09 -05:00
arkon
f656a37045
Avoid crashing if getChapterUrl is not implemented
...
Fixes #9105
(cherry picked from commit ceaf579cb0
)
2023-02-19 11:51:53 -05:00
Ivan Iskandar
c58b495433
MainActivity: Avoid navigator-related crash when handling onNewIntent ( #9104 )
...
(cherry picked from commit d3dadf71e8
)
2023-02-19 11:51:44 -05:00
arkon
242aeb6a68
Avoid crashing if opening browse with unavailable source
...
(cherry picked from commit 0ef7650c1a
)
2023-02-19 11:50:33 -05:00
Two-Ai
d9969cea8a
Fix ID type mismatch in MigrateSearchScreenModel ( #9090 )
...
`it.id` is the source ID of the source being sorted.
`state.value.manga!!.id` is the manga ID of the selected manga.
`state.value.manga!!.source` is the source ID of the selected manga.
(cherry picked from commit dc2eaf0788
)
2023-02-19 11:50:26 -05:00
arkon
d61db5931e
Move reader preloading to IO scope
...
Maybe fixes #8440
(cherry picked from commit e052bdef96
)
2023-02-19 11:50:05 -05:00
arkon
0ea3ac9807
Avoid preload download check if chapter is already loaded or loading
...
Maybe fixes #8953 , #9060
(cherry picked from commit d522d6d545
)
2023-02-19 11:49:58 -05:00
Ivan Iskandar
f9e43f574f
MangaCoverDialog: Disable memory cache ( #9066 )
...
(cherry picked from commit 1671a56f42
)
2023-02-19 11:49:51 -05:00
arkon
5ef11e61d0
Prioritize finding selected chapter when deduping reader chapters
...
Fixes #9054
(cherry picked from commit 23432e4405
)
2023-02-19 11:49:44 -05:00
Ivan Iskandar
48546c3db4
Scaffold: Fix snackbar bottom inset ( #9052 )
...
(cherry picked from commit 34a586ce48
)
2023-02-19 11:49:38 -05:00
Ivan Iskandar
4d87ed496c
Remove FAB extra padding in DownloadQueueScreen ( #9053 )
...
(cherry picked from commit ad762f8303
)
2023-02-19 11:49:32 -05:00
0x7673
06d12e6562
Fix crash in library when selected category is deleted ( #9044 )
...
(cherry picked from commit 13bb45b4be
)
2023-02-19 11:49:24 -05:00
arkon
ec49411bee
Avoid crashes if headers can't be built for usage in WebView
2023-02-19 11:48:26 -05:00
arkon
3f7911235c
Use unique keys for all screens to avoid crashes
...
Fixes #9008
Fixes #9110
2023-02-19 11:09:41 -05:00
arkon
727399611d
Migrate library settings sheet to Compose
2023-02-18 20:55:55 -05:00
arkon
07fdb74fbc
Minor settings sheet cleanup
2023-02-18 19:00:19 -05:00
arkon
d400ac2a49
Remove unnecessary usages of NotificationManagerCompat to actually create notifications
2023-02-18 17:10:45 -05:00
arkon
dd71c76a8f
Move more components
2023-02-18 17:04:32 -05:00
arkon
58a0add4f6
Move more components to presentation-core module
2023-02-18 16:33:03 -05:00
arkon
bfe143015a
Move more components to presentation-core module
2023-02-18 16:03:01 -05:00
arkon
e3cf863230
Start moving some Compose components to presentation-core module
2023-02-18 15:52:52 -05:00
arkon
ee818bc7c5
Move chapter utils to domain module
2023-02-18 15:24:04 -05:00
arkon
f816196df2
Move more things to domain module
2023-02-18 15:14:04 -05:00
arkon
ceaf579cb0
Avoid crashing if getChapterUrl is not implemented
...
Fixes #9105
2023-02-18 10:16:17 -05:00
arkon
b49280e347
Remove unused Rx/Coroutines converters
2023-02-18 10:16:05 -05:00
Ivan Iskandar
d3dadf71e8
MainActivity: Avoid navigator-related crash when handling onNewIntent ( #9104 )
2023-02-18 10:08:37 -05:00
Two-Ai
ffa8c8fd07
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.
2023-02-18 10:07:27 -05:00
arkon
0ef7650c1a
Avoid crashing if opening browse with unavailable source
2023-02-15 22:47:47 -05:00
Two-Ai
4635e58405
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.
2023-02-15 22:24:55 -05:00
Two-Ai
dc2eaf0788
Fix ID type mismatch in MigrateSearchScreenModel ( #9090 )
...
`it.id` is the source ID of the source being sorted.
`state.value.manga!!.id` is the manga ID of the selected manga.
`state.value.manga!!.source` is the source ID of the selected manga.
2023-02-14 11:46:31 -05:00
0x7673
d02b0ca2db
Add copy tags to clipboard feature ( #9063 )
2023-02-13 22:52:10 -05:00
arkon
4d607c4aed
Don't apply Wi-Fi network restriction for manual library update jobs
...
Fixes #9074
2023-02-12 23:15:16 -05:00
Ivan Iskandar
be4072c86b
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>
2023-02-12 23:10:47 -05:00
arkon
2970eca9e4
Remove background extensions updates check
...
Same reasoning as removing app update check. It gets kicked off in the foreground now too.
2023-02-12 23:07:11 -05:00
arkon
42954609b9
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.
2023-02-12 22:44:39 -05:00
arkon
6348cbaeb7
Add option to hide entries already in library when browsing sources
...
Closes #2941
2023-02-12 22:28:12 -05:00
arkon
a7cb33d8c9
Open global search when Browse is tapped twice
...
Closes #3925
2023-02-12 18:17:46 -05:00
arkon
3a2dc46ff0
Replace Local and In Library badge text with icons
...
Fixes #5725
2023-02-12 17:22:34 -05:00
arkon
e052bdef96
Move reader preloading to IO scope
...
Maybe fixes #8440
2023-02-12 16:14:12 -05:00
arkon
d522d6d545
Avoid preload download check if chapter is already loaded or loading
...
Maybe fixes #8953 , #9060
2023-02-12 16:03:24 -05:00
Two-Ai
7b118eba22
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()
2023-02-12 15:25:27 -05:00
arkon
f6e6a7ddf1
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.
2023-02-12 15:25:09 -05:00
Ivan Iskandar
1671a56f42
MangaCoverDialog: Disable memory cache ( #9066 )
2023-02-10 22:38:59 -05:00
arkon
ab6dfe9e25
Bump dependencies
...
Fixes #8168 , I think.
2023-02-08 22:53:42 -05:00
arkon
bff98ca768
Clean up chapter item composables a bit
...
Might help with #9043 ?
2023-02-08 22:17:40 -05:00
arkon
23432e4405
Prioritize finding selected chapter when deduping reader chapters
...
Fixes #9054
2023-02-08 21:47:57 -05:00
Ivan Iskandar
34a586ce48
Scaffold: Fix snackbar bottom inset ( #9052 )
2023-02-08 09:37:12 -05:00
Ivan Iskandar
ad762f8303
Remove FAB extra padding in DownloadQueueScreen ( #9053 )
2023-02-08 09:37:04 -05:00
arkon
389b039679
Update version check for library update job migration
...
Forgot to bump as part of fixing merge conflict for last commit.
2023-02-07 23:22:56 -05:00
Ivan Iskandar
ef9dacde79
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>
2023-02-07 22:37:20 -05:00
0x7673
13bb45b4be
Fix crash in library when selected category is deleted ( #9044 )
2023-02-07 22:19:46 -05:00
Two-Ai
bd2cb97179
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
2023-02-07 22:13:19 -05:00
arkon
477e3d9b94
Release v0.14.4
2023-02-05 10:35:15 -05:00
arkon
3c16082636
Don't show SourceNotInstalledException name in error snackbar
2023-02-05 10:23:30 -05:00
arkon
29aee68ec7
Revert "Show no pinned sources message when attempting to migrate/search"
...
This reverts commit 6bb3070c57
.
This doesn't quite work correctly, so reverting for now.
We'll have to have more robust states or something to deal with this in the
future.
2023-02-05 10:20:19 -05:00
stevenyomi
589bdba0b1
Show exception class in snackbar message ( #9006 )
...
* Show exception class in snackbar message
* omit IOException too
2023-01-31 22:36:53 -05:00
Two-Ai
aca65f13bb
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.
2023-01-30 17:25:54 -05:00
Andreas
b00f00730d
Set InsertPage status to Ready ( #9001 )
...
Fixes insert page just loading
2023-01-29 09:03:12 -05:00
arkon
f2c48480b6
Move some interactors to domain module
2023-01-27 22:37:17 -05:00
arkon
1730dd6af1
Move more things around
2023-01-27 22:31:12 -05:00
Andreas
2501fef9e4
Split UpdatesGridGlanceWidget into smaller bits ( #8991 )
...
- Renamed Composables
- Moved Constants to core module
2023-01-27 14:49:57 -05:00
Andreas
12e41b6e6f
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
2023-01-26 17:53:24 -05:00
beerpsi
c892c793a8
[BackupRestorer] Handle uncompressed backups ( #8988 )
...
[Backups] Handle uncompressed backups
2023-01-26 09:14:18 -05:00
Two-Ai
3a82b4d924
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.
2023-01-25 18:18:17 -05:00
Two-Ai
b4b3a4d286
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.
2023-01-25 18:18:12 -05:00
stevenyomi
448702e5be
OkHttp Call: split await() and awaitSuccess() ( #8980 )
2023-01-24 22:34:31 -05:00
Two-Ai
2ef1f07aae
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
2023-01-23 17:10:44 -05:00
stevenyomi
1a319601de
Fix extension search query cursor and debounce ( #8972 )
...
* Fix extension search query cursor
* debounce
* extract debounce constant
2023-01-22 16:19:46 -05:00
Andreas
cdf242e8c8
Move more to data and domain modules ( #8973 )
2023-01-22 16:19:22 -05:00
Andreas
aee785a8bb
Move more implementation to data module ( #8971 )
2023-01-22 11:44:39 -05:00
arkon
d45fc1e245
Move more models to domain module
2023-01-22 11:04:50 -05:00
arkon
14500ba4f8
Move more repositories to domain module
2023-01-22 10:59:52 -05:00
arkon
345e9c2a9a
Move more models to domain module
2023-01-22 10:54:28 -05:00
arkon
b53e24e0db
Move more models to domain module
2023-01-22 10:37:13 -05:00
Andreas
d3a73fc228
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
2023-01-22 10:12:29 -05:00
arkon
2ebc8d9ae5
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.
2023-01-21 20:18:12 -05:00
zbue
e28b015580
MangaScreenModel: Make download function follow reader preference ( #8920 )
...
* Make download function more clearer in manga screen
Maybe resolves #8879
* Minor cleanup
* Minor cleanup 2
2023-01-21 16:47:22 -05:00
Two-Ai
e4bc8990fb
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.
2023-01-21 16:46:16 -05:00
Andreas
823749fc1e
Move SQLDelight to data module ( #8954 )
...
And use tachiyomi instead of eu.kanade.tachiyomi for package names in the module
2023-01-21 10:37:07 -05:00
Andreas
2b5d9fd76b
Move shared configuration to subprojects in root Gradle file ( #8951 )
...
* Move shared configuration to subprojects in root Gradle file
* Missed but not forgotten
* Review changes
2023-01-20 23:04:22 -05:00
arkon
7a972dfdb7
Don't use platform attributes for white/black reader backgrounds
...
Probably fixes #8946
2023-01-18 22:49:28 -05:00
Andreas
c31e75f02f
Create plugin for linting ( #8942 )
2023-01-18 22:33:56 -05:00
arkon
2695a4d8c7
Update local source icon and differentiate from fallback source icon
...
Closes #8934
2023-01-16 22:54:45 -05:00
arkon
1a4dad72a9
Hide WebView menu item in reader if local
...
Closes #8932
2023-01-16 22:40:36 -05:00
beerpsi
b7e6b4c28a
[MyAnimeList] Handle cases where my_list_status.status is not present ( #8931 )
2023-01-16 21:59:07 -05:00
stevenyomi
293b967858
Fix installing extensions on MIUI ( #8916 )
...
* Fix installing extensions on MIUI
* isShizukuReady -> isShizukuInstalled
2023-01-15 10:32:27 -05:00
arkon
e468554fd9
Assign keys for global search rows based on source
...
Maybe fixes #8924
2023-01-15 10:14:28 -05:00
arkon
5b5eb92184
Fix checking downloads banner showing up incorrectly
2023-01-14 20:04:36 -05:00
Two-Ai
58ebf14691
Convert PageLoader.getPages to suspending function ( #8917 )
2023-01-14 19:45:15 -05:00
Verzaukeks
992bab4f79
Prevent scrolling outside bounds in webtoon/vertical reading mode ( #8821 )
2023-01-14 18:38:52 -05:00
arkon
6fe650319d
Bump versionCode to prevent downgrades
...
Since the database schema was changed in f301dc64
2023-01-14 18:27:36 -05:00
zbue
f301dc64f0
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
2023-01-14 18:26:40 -05:00
zbue
33a2219716
Enable confirmButton
only when needed to respond to user input ( #8848 )
...
* Enable `confirmButton` when appropriate
* Show error in dialog instead
* Follow M3 guidelines
2023-01-14 18:24:57 -05:00
Two-Ai
62480f090b
Replace RxJava in ChapterLoader and ReaderViewModel ( #8915 )
...
* Replace RxJava in ChapterLoader
* Don't swallow CancellationException
* Simplify loadChapter behavior
* Add error handling to loadAdjacent
2023-01-14 18:22:27 -05:00
zbue
e7937fe562
Make androidx.preference dialog match M3 dialog ( #8909 )
2023-01-14 17:00:19 -05:00
zbue
287489d7d0
Show chapter scanlator on reader transition ( #8910 )
...
Closes #7131
2023-01-14 17:00:04 -05:00
arkon
2df0236669
Show loading indicator during migration
...
Closes #8862
2023-01-13 23:01:52 -05:00
Aria Moradi
c54d77333f
Suwayomi Tracker: sync changes with Tachidesk v0.6.6 ( #8902 )
...
* Suwayomi Tracker: sync changes with Tachidesk v0.6.6
* replace var with val
2023-01-13 22:31:04 -05:00
Two-Ai
8c494f314c
Fix DownloadPageLoader resource leak ( #8905 )
...
The underlying ZipFile is leaking. To fix, store a reference to the
ZipPageLoader and recycle it on recycle.
2023-01-13 22:30:47 -05:00
Two-Ai
8cea78de83
Fix ChapterCache.isImageInCache() resource leak ( #8907 )
...
diskCache.get() returns a DiskLruCache.Snapshot which must be closed.
2023-01-13 22:30:26 -05:00
arkon
b6468c7e31
Only how indexing downloads banner the first time
...
Closes #8903
2023-01-13 18:40:59 -05:00
arkon
91004ad514
Parallelize global search properly
...
Fixes #8906
2023-01-13 17:58:00 -05:00
arkon
a2ee4e63ae
Minor cleanup
2023-01-12 22:53:28 -05:00
zbue
768bb7b503
Fix downloaded filter unmatched state in manga screen ( #8897 )
2023-01-12 22:26:04 -05:00
zbue
db4ae134aa
Tweak TriStateItem
view to match in earlier app version ( #8898 )
...
* Tweak `TriStateItem` view to match in earlier app version
* Apply to disabled state too
2023-01-12 17:46:24 -05:00
Alessandro Jean
7329f03bc5
Show proper Exception message in MangaScreen ( #8900 )
...
Show proper Exception message in MangaScreen.
2023-01-12 17:45:38 -05:00
arkon
82ea643c7d
Don't prompt to add to library multiple times
...
Fixes #8842
2023-01-11 20:00:50 -05:00
arkon
741c10e0b9
Reword set category dialog confirmation to "OK"
...
Closes #8878
2023-01-11 19:31:40 -05:00
arkon
34bb90f3c2
Update library sheet filter tab on open
...
Fixes #8885
2023-01-11 19:14:37 -05:00
arkon
f04cf72c0c
Bump core-ktx dependency
2023-01-11 19:01:13 -05:00
arkon
75b23c99ec
Refactor how extensions list is modelled
...
To better enable changing the UI in the future based on sections.
2023-01-10 23:18:34 -05:00
arkon
6bb3070c57
Show no pinned sources message when attempting to migrate/search
2023-01-10 22:39:19 -05:00
arkon
7df10b076c
Show the tracker name when showing error toast
2023-01-09 23:27:11 -05:00
Two-Ai
2245658363
Replace RxJava in DownloadQueueScreenModel ( #8872 )
2023-01-09 23:08:04 -05:00
arkon
46774771ec
Fix double tapping History not working consistently
...
Fixes #8875
2023-01-09 22:50:11 -05:00
arkon
6263817bb4
Avoid crash if multiple instances of ClearDatabaseScreen opened
...
Fixes #8851
I guess we might want to do this for all screens? Maybe?
2023-01-08 22:16:40 -05:00
arkon
60456fe0e9
Fix crash in categories screen on config change
...
Fixes #8861
2023-01-08 22:12:53 -05:00
arkon
a0f47d3f1b
Don't exclude same source when checking for duplicate entries
...
Closes #8870
2023-01-08 22:06:42 -05:00
arkon
6efcb8ccfa
Use Voyager for WebView in non-reader places
2023-01-08 16:37:43 -05:00
arkon
0067d474c8
Use theme padding values in more places
2023-01-08 15:41:06 -05:00
MCAxiaz
cf393b217b
Add Reader Setting to Skip Dupe Chapters ( #8831 )
...
Add reader setting to filter dupe chapters with same scanlator priority.
2023-01-08 15:40:23 -05:00
arkon
e265b929a1
Avoid crashes when fetching assist content URL in ReaderActivity
2023-01-08 15:23:06 -05:00
arkon
4cd01428ed
Only show MIUI extension warning on MIUI >= 13
...
Related to #8834
2023-01-08 15:04:06 -05:00
arkon
3be05fbf9b
Make global search results more compact
2023-01-08 10:48:35 -05:00
arkon
5d90ba8aa0
Only show library continue reading button if there's unread chapters
...
Closes #8865
2023-01-08 10:43:01 -05:00
arkon
48cab708ce
Show available but not installed enhanced trackers
...
Closes #8859
2023-01-08 10:37:30 -05:00
arkon
5d9753d6a7
Bump minimum ext-lib to 1.3
2023-01-08 10:32:35 -05:00
arkon
425e48bec6
Avoid crashes when opening WebView from reader
...
Also ensure WebViewActivity has an Assistant URL when it first opens with a URL.
2023-01-08 10:17:54 -05:00
stevenyomi
2a3c3d8d6a
Fix reader settings sheet's mode section not updated ( #8857 )
2023-01-07 15:13:08 -05:00
stevenyomi
7b026cec8d
Fix floating-point error in navigate pan ( #8856 )
2023-01-07 15:09:10 -05:00
arkon
d8b528a4e0
Remove repetition in enhanced tracker preference declarations
...
Also hides entries that aren't relevant (i.e. if you don't have the source installed).
2023-01-07 14:41:27 -05:00
arkon
0f45907144
Adjust bookmarked chapter styling in Updates
...
To match updated styling in manga screen.
2023-01-07 14:32:29 -05:00
Aria Moradi
c4c9931ae2
add Suwayomi tracker ( #8489 )
...
* add Suwayomi Tracker
* fix compile
2023-01-07 14:27:44 -05:00
arkon
68345e636e
Remove ability to hide unread chapter badges in library
2023-01-07 14:25:35 -05:00
stevenyomi
0861c5618c
Fix reader settings sheet not updated ( #8854 )
...
* Revert "Recreate reader settings when opening sheet (#8054 )"
This reverts commit acb8ab15b2
.
* Revert "Fix stacking of Settings menu in the reader on multiple taps (#8002 )"
This reverts commit 30ac94181b
.
* Fix reader settings sheet not updated
2023-01-07 14:25:30 -05:00
arkon
817418f7c9
Release v0.14.3
2023-01-07 12:09:27 -05:00
arkon
4eb2cd85b2
Update baseline profile
2023-01-07 12:03:17 -05:00
arkon
1e65313fa7
Open entry when long pressing during migration in source search
...
This matches the behavior from 0.13.6
Fixes #8176
2023-01-07 11:51:00 -05:00
arkon
c4c6e41c46
Fix downloaded badges appearing when filtering by downloaded
...
Fixes #8850
2023-01-07 10:32:14 -05:00
Two-Ai
920ca405a2
Use MainScope for coroutines in ui package classes ( #8845 )
2023-01-07 10:07:09 -05:00
arkon
6d3a3b3f39
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
2023-01-07 10:02:41 -05:00
arkon
50d46fe7f6
Prioritize "all" ("Multi") lang in extensions lists
...
Fixes #8811
Fixes #8812
2023-01-05 22:34:24 -05:00
arkon
91e282d7e5
Show warning about installing extensions on MIUI
...
Related to #8834
2023-01-05 22:12:14 -05:00
arkon
a0f10f868e
Handle file names with multiple ".cbz" occurrences properly
...
Fixes #8838
2023-01-05 21:59:18 -05:00
stevenyomi
6a423f0650
Update toolbar query on genre search ( #8837 )
2023-01-05 17:02:27 -05:00
arkon
5cc84403e1
Debounce reindexing banner
...
Helps avoid showing it for short-lived jobs
2023-01-02 21:58:48 -05:00
Ivan Iskandar
ab61a65b4a
Add worker info screen ( #8774 )
...
Mainly for debug purpose, might help with support.
2023-01-02 21:58:11 -05:00
arkon
01ec26842d
Unify layout for new update and crash screens
2022-12-30 23:14:29 -05:00
arkon
bbf5817805
Allow 2 lines for tracker status text
...
Fixes #8805
2022-12-30 22:31:35 -05:00
jobobby04
611ec8103c
Handle 1000+ pages properly in the downloader ( #8818 )
2022-12-30 22:20:06 -05:00
Henrik
12c672667c
filter mangaupdates search ( #8813 )
2022-12-30 22:11:40 -05:00
arkon
f401574f5a
Increase max library column size back to 10
...
Fixes #8798
2022-12-24 10:09:38 -05:00
AntsyLich
3251fb36c8
Properly fix #8720 ( #8797 )
...
* Partially revert "Move library page EmptyScreens into list/grids"
This partially reverts commit 376bbeb724
.
* Properly fix issue 8720
2022-12-24 10:02:38 -05:00
Ivan Iskandar
94a410f50f
TrackDateRemoverScreen: Fix pop behavior after confirming removal ( #8792 )
2022-12-23 09:29:01 -05:00
arkon
a14c01c1de
Update baseline profile
2022-12-21 22:48:39 -05:00
stevenyomi
a8230ad574
Fix browse search query display and keyboard focus ( #8781 )
2022-12-21 22:14:04 -05:00
Ivan Iskandar
8e1b5b4803
Pager: Bring back previous snapping behavior ( #8776 )
...
New default LazyList snap behavior is optimized for non-pager use.
2022-12-20 09:16:43 -05:00
Ivan Iskandar
8552838bda
Update WorkManager ( #8772 )
2022-12-18 12:14:06 -05:00
stevenyomi
46417fe427
Pass listing query to BrowseSourceScreen ( #8763 )
...
* Pass listing query to BrowseSourceScreen
* Don't use referential equality
2022-12-17 17:28:25 -05:00
stevenyomi
63da463e02
Clean up usages of listing UI models ( #8762 )
2022-12-17 14:51:03 -05:00
stevenyomi
817e144ff6
BrowseSourceScreen: fix navigate up and filter sheet ( #8761 )
2022-12-17 13:21:12 -05:00
Ivan Iskandar
9d2d78ae5b
AdaptiveSheet: Don't blindly consume back event ( #8760 )
2022-12-17 12:56:19 -05:00
stevenyomi
c44db54d9f
Fix snackbar blocking refreshing state in MangaScreen ( #8759 )
2022-12-17 12:06:49 -05:00
arkon
376bbeb724
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
2022-12-17 12:06:02 -05:00
arkon
0e2bdb7863
Minor cleanup
2022-12-17 12:02:01 -05:00
Ivan Iskandar
235bc77457
Fix indexing notif not showing ( #8758 )
2022-12-17 10:32:49 -05:00
Two-Ai
593172f891
Track Page progress with StateFlow ( #8749 )
...
* Update ReaderProgressIndicator documentation
ReaderProgressIndicator is not always determinate (cc554530
, #5605 ).
* Track Page progress with StateFlow
2022-12-16 22:18:50 -05:00
Ivan Iskandar
e20c66b156
App state banner tweaks ( #8746 )
...
* Move download indexing notification to this banner group
* Animate state changes
2022-12-16 22:18:17 -05:00
arkon
5f4825465e
Use actual indexes instead of existing order number when reordering categories
...
Fixes #8738
2022-12-15 23:06:05 -05:00
arkon
bc6a12a4f7
Sort global search source results properly
...
Fixes #8741
2022-12-14 23:20:51 -05:00
arkon
90db3acefd
Don't start at last read page if chapter is completely marked as read
...
Fixes #8737
2022-12-14 23:04:30 -05:00
arkon
2f2f59279d
Fix crash if tapping title when opening reader directly
2022-12-14 22:54:51 -05:00
arkon
4992f87cb1
Better handle status bar light/dark icons based on banner background color
2022-12-14 22:54:34 -05:00
Jays2Kings
7608cb0da3
Check ext lib version when checking for updates ( #8740 )
2022-12-14 13:49:10 -05:00
arkon
9dd9e741f3
Convert download cache/queue flows into SharedFlows
...
Fixes #8727
2022-12-12 22:37:37 -05:00
Two-Ai
171db639ff
Fix SetMangaViewerFlags ( #8719 )
...
Stop clearing old viewer flags when setting a flag
2022-12-11 16:12:41 -05:00
arkon
3ede42252c
Remove unused resources
2022-12-11 10:22:14 -05:00
arkon
3749cee28f
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>
2022-12-10 12:08:39 -05:00
Ivan Iskandar
ca500da4d8
Adjust insets handling in tablet UI ( #8711 )
...
* Adds startBar slot in Scaffold to handle nav rail
* Consumes unneeded insets in settings
2022-12-10 10:02:13 -05:00
Ivan Iskandar
820ed6a468
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.
2022-12-10 10:01:16 -05:00
arkon
7cbe18d325
Pull out settings sheet items as reusable composables
2022-12-09 22:23:26 -05:00
Soitora
8937e22ce4
Add back option to hide Updates count ( #8709 )
...
Adds back the option to hide the updates count on the Updates tab
2022-12-09 17:25:06 -05:00
Ivan Iskandar
82a3a98a5a
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
2022-12-09 17:23:00 -05:00
Ivan Iskandar
d97eab0328
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.
2022-12-09 11:20:13 -05:00
arkon
a61e2799db
Abstract ChapterSettingsDialog for reuse elsewhere
2022-12-08 23:15:50 -05:00
arkon
1009e15aa6
Reuse basic theme preview annotation
2022-12-08 22:45:17 -05:00
zbue
01c6e46a71
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>
2022-12-08 09:15:10 -05:00
arkon
ed5e013874
Use proper category when getting random item
...
Fixes #8700
2022-12-08 09:01:37 -05:00
arkon
f8e4153dbf
Disable Jetifier
2022-12-07 23:06:25 -05:00
Ivan Iskandar
f7a92cf6ac
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>
2022-12-07 23:00:01 -05:00
arkon
e748d91d4a
Bump dependencies
2022-12-07 22:44:09 -05:00
stevenyomi
2c4ddca38e
Migrate Accompanist SwipeRefresh to Compose PullRefresh ( #8106 )
2022-12-07 22:40:57 -05:00
Two-Ai
6ca32710be
Cleanup Page status ( #8696 )
...
* Cleanup Page statusSubject and statusCallback
* Convert Page status from Int to enum
2022-12-07 18:28:38 -05:00
Ivan Iskandar
f05e251991
GlobalSearchScreen: Add unique key ( #8693 )
...
Avoids crash when an old screen is being replaced by a new one
2022-12-07 08:27:54 -05:00
arkon
a3f3f9d562
Avoid some crashes
2022-12-06 22:21:04 -05:00
zbue
410fcb73c5
Fix appbar back button in global search screen ( #8689 )
2022-12-06 22:20:57 -05:00
arkon
b6d6de6b9f
Avoid crashing when clearing cookies for invalid source URLs
...
e.g. Komga sources with no URLs set
2022-12-05 22:18:19 -05:00
arkon
09cebf20f3
Handle intent after navigator is initialized
...
Fixes crash if opening from widget or notification when activity isn't already launched.
2022-12-05 17:16:16 -05:00
arkon
a8c732d67b
Fix opening download notification only going to More tab
2022-12-05 16:09:55 -05:00
arkon
843c9c7e57
Fix migrate options dialog not being selected when tapping text
2022-12-05 15:12:16 -05:00
arkon
c88b79fa17
Minor cleanup
2022-12-05 14:14:50 -05:00