Commit Graph

5119 Commits

Author SHA1 Message Date
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
arkon
3f9820ac79 Always show library tabs and counts when searching
Closes #8680
2022-12-05 10:06:41 -05:00
Ivan Iskandar
c288e6b8fa
Fix ANR when opening from notification/widget (#8683) 2022-12-05 09:00:30 -05:00
Ivan Iskandar
8945ef8880
Change source preference theming fix (#8679) 2022-12-05 00:10:11 -05:00
arkon
99a717f849 Hide webtoon reader scrollbars
Fixes #8676
2022-12-04 18:09:37 -05:00
arkon
4622b18c99 Fix local source detail JSON files not being read if .noxml was created
Fixes #8549
2022-12-04 14:00:23 -05:00
arkon
4f5270cb7d Fix unusable categories when content is filtered out
Fixes #8675
Effectively reverts #8633, which introduces weird edge cases
2022-12-04 13:39:53 -05:00
arkon
719d427956 Truncate long nav bar/rail items
Fixes #8670
2022-12-04 12:58:59 -05:00
arkon
d7a21771a5 Tweak manga cover dialog UI
Closes #8654, although it's just a workaround. The cover itself doesn't appear within the inset areas when zoomed.
2022-12-04 12:55:58 -05:00
Ivan Iskandar
be854b3e90
Fix appbar back button in Settings screen (#8674) 2022-12-04 10:27:14 -05:00
Ivan Iskandar
47f079891f
Track sheet fixes (#8673)
* Fix Track sheet not being disposed properly

* Change insets handling
2022-12-04 10:27:02 -05:00
arkon
696dc59ea5 More domain model migrations 2022-12-03 22:54:18 -05:00
Two-Ai
5f6666a438
Migrate Download to domain model (#8664) 2022-12-03 22:30:30 -05:00
AntsyLich
373463e995
Change Updates icon badge to show new updates count (#8659)
* Change Updates icon badge to show new updates count

* Fix reference

* review changes

* Lint
2022-12-03 14:44:30 -05:00
Ivan Iskandar
7be9b49143
Fix BrowseSourceScreen list/grid unnecessary reloads (#8661) 2022-12-03 14:43:52 -05:00
Ivan Iskandar
1a70ebe7ea
Fix crash when opening chapter from BrowseSourceScreen (#8657) 2022-12-03 00:26:11 -05:00
arkon
beda99bbe0 Replace RxJava in ReaderChapter and reader transitions 2022-12-02 23:36:33 -05:00
arkon
bb1e7816e1 Replace some usages of RxJava in reader 2022-12-02 23:11:42 -05:00
arkon
b0dc20e00c Remove some dead code 2022-12-02 22:48:08 -05:00
Ivan Iskandar
3d66eaea83
Merge Voyager screens (#8656)
* Merge Voyager screens

* cleanups
2022-12-02 22:35:30 -05:00
arkon
5313a5d5d2 Remove unnecessary base Nucleus classes
The reader still uses it, but we just move stuff to there.
2022-12-02 13:23:26 -05:00
Ivan Iskandar
5b189a909b
Use Voyager on Source Preference screen (#8651) 2022-12-02 13:14:18 -05:00
arkon
75a687138d Migrate to Accompanist M3 theme adapter 2022-12-01 23:08:04 -05:00
AntsyLich
ba91b483a0
Delayed Tracking Update related fix (#8642)
* Delayed Tracking Update related fix

* Lint
2022-12-01 23:01:24 -05:00
arkon
3a8b5e1b5e Fix default category name being shown with empty library 2022-12-01 23:00:34 -05:00
Ivan Iskandar
94d1b68598
Use Voyager on BrowseSource and SourceSearch screen (#8650)
Some navigation janks will be dealt with when the migration is complete
2022-11-30 23:05:11 -05:00