Commit Graph

4557 Commits

Author SHA1 Message Date
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
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
arkon
7a972dfdb7 Don't use platform attributes for white/black reader backgrounds
Probably fixes #8946
2023-01-18 22:49:28 -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
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
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
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
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
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
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
arkon
8eda4df71f Fix refreshing state for extensions tab
Fixes #8644
Also add an extra delay in case it's super fast.
2022-11-29 09:25:22 -05:00
AntsyLich
8ad9337863
Fix Stub Source migration screen broken (#8643)
* Fix Stub Source migration screen broken

* Lint
2022-11-29 09:06:52 -05:00
Ivan Iskandar
cd13e187cf
Use Voyager on Downloads screen (#8640) 2022-11-28 09:23:11 -05:00
Ivan Iskandar
bcc21e55bd
Complete Settings migration to Voyager (#8639)
Now the Controller wrapper can be yeeted anytime
2022-11-28 09:21:18 -05:00
arkon
5fbecfd7b7 Don't remove queued downloads when deleting manga after chapter deletion 2022-11-27 17:12:45 -05:00
arkon
3480b45098 Minor cleanup 2022-11-27 17:12:45 -05:00
arkon
44366ac058 Minor global search UI tweaks 2022-11-27 15:16:08 -05:00
arkon
4f2a794fba Remove dead code 2022-11-27 15:09:37 -05:00
Dexroneum
fe6aa4358f
Show toolbarTitle depending of size (#8633) 2022-11-27 14:57:52 -05:00
Andreas
f99b62a069
Use Compose on Global/Migrate Search screen (#8631)
* Use Compose on Global/Migrate Search screen

- Refactor to use Voyager and Compose
- Use sealed class for state
- Somethings are broken/missing due to screens using different navigation libraries

* Review changes
2022-11-27 14:56:21 -05:00
arkon
ac1bed38f9 Show empty library message properly
Fixes #8632
The `library` map still contains the default category even when "empty".
2022-11-27 10:43:38 -05:00
Ivan Iskandar
217b03a292
Fix library not loading when not logged in to any tracker (#8629) 2022-11-26 21:37:22 -05:00
AntsyLich
3d7591feca
Implement simple stats screen (#8068)
* Implement simple stats screen

* Review Changes

* Some other changes

* Remove unused

* Small changes

* Review Changes 2 + Cleanup

* Review Changes 3

* Cleanup leftovers

* Optimize imports
2022-11-26 15:50:26 -05:00
Ivan Iskandar
e14909fff4
Use Voyager on Library tab (#8620) 2022-11-26 15:48:57 -05:00
arkon
37118088d4 Remove usage of PublishRelay in DownloadQueue 2022-11-26 10:07:51 -05:00
arkon
5c9e9bd2c4 Use Voyager between more screens 2022-11-26 09:34:06 -05:00
Andreas
db35ba53b1
Use Voyager between supported screens in Extension package (#8616)
- Minor state behavior changes
2022-11-26 09:14:11 -05:00
AntsyLich
758d223776
Disable generating ComicInfo.xml on download (#8619)
* Disable generating ComicInfo.xml on download

* Remove unused import
2022-11-26 09:13:08 -05:00
arkon
a54d9912d0 Fix Kavita interceptor crashing app + minor cleanup 2022-11-25 23:03:42 -05:00
arkon
7e74949d38 Explicitly add READ_APP_SPECIFIC_LOCALES permission
Some devices are throwing a SecurityException (calling getApplicationLocales) for some reason.
2022-11-25 23:03:42 -05:00
Andreas
a8c5780963
Use Voyager on Migrate Manga screen (#8611) 2022-11-24 22:25:36 -05:00
Ivan Iskandar
f4ac754d02
Use Voyager on Browse tab (#8605) 2022-11-23 22:28:25 -05:00
AntsyLich
0347d3970a
Cleanup [Downloader.ensureSuccessfulDownload] (#8602) 2022-11-23 09:23:29 -05:00
Ivan Iskandar
acc2312384
Use Voyager on Updates tab (#8603)
* Use Voyager on Updates tab

* Fix back press

* Fix selection
2022-11-23 09:22:20 -05:00
Ivan Iskandar
7d34ff214c
Change settings screen to object (#8604) 2022-11-23 09:14:55 -05:00
arkon
e2179a6669 Avoid concurrency issues when reordering categories
Maybe fixes #8372
2022-11-22 23:12:23 -05:00
arkon
5c37347cec Delete empty source folder when deleting all downloads for a manga
It previously only attempted this after deleting a list of chapters, so it wasn't applicable
when deleting from Library or after unfavoriting an entry.

Closes #8594
2022-11-22 09:25:00 -05:00
Joseph Olugbohunmi
ef3a6c80a7
Implement copying of Manga URL to Clipboard (#8587)
feat: Implement copying of Manga URL to Clipboard
2022-11-21 23:09:23 -05:00
arkon
2a2c6cee5f Allow zooming in WebView
Note that this does not force-enable zooming on pages with set viewports (which typically implies proper mobile scaling).
Closes #8588
2022-11-21 18:39:16 -05:00
arkon
8c1171a722 Don't attempt to check chapter download status for local chapters
Fixes #8541
2022-11-20 15:28:51 -05:00
arkon
2c850d0e33 Fix invert tapping dropdown not updating checked state in reader
Fixes #8566
Should ideally just Compose-ify it all some day.
2022-11-20 15:12:51 -05:00
Andreas
f1b85ff39d
Use Voyager on Extension Details screen (#8576) 2022-11-20 14:36:03 -05:00
arkon
2d86f69caa Add reindex downloads description
Closes #8546
Also disable sound for the notification and cancel running indexing job if invalidating.
2022-11-20 14:29:56 -05:00
arkon
e22896a956 Use current timezone when setting tracker dates
Fixes #8553
2022-11-19 22:40:17 -05:00
arkon
be5802e473 Add back track icon onClick and title onLongClick actions
Closes #8565
Closes #8536
2022-11-19 22:37:48 -05:00
arkon
eb6ba96b57 Limit parallelism for Coil image loading
Reference: https://www.reddit.com/r/androiddev/comments/xbeizp/comment/io4ytdv/

Co-authored-by: ivaniskandar <ivaniskandar@users.noreply.github.com>
2022-11-18 22:57:54 -05:00
arkon
5325e590ec Fix url sharing
Maybe fixes #8539
Based on f52785cbbd

Co-authored-by: jobobby04 <jobobby04@users.noreply.github.com>
2022-11-18 22:49:54 -05:00
AntsyLich
3f34fa1f58
Tweak library selection (#8513)
* Tweak library selection

Also use the new `fast*` extensions functions in other places of library presenter

* Cleanup
2022-11-18 22:33:38 -05:00
arkon
d12ea86b55 Add shecan DoH provider
Closes #8557
2022-11-18 22:28:08 -05:00
AntsyLich
ba2a528886
Fix related to cancelling queued chapters (#8528)
Tachi removes the downloaded chapter (if it exists) when you just cancelled a download from queue.

PR fixes that

Also removes redundant return
2022-11-18 22:27:39 -05:00
arkon
db6528d3fa Show toast when no next chapter found in library
Closes #8522
Will probably become a snackbar at some point.
2022-11-14 22:47:07 -05:00
arkon
f5873d70c6 Don't rely on cache when deleting empty manga folders
In case the cache hasn't actually been indexed yet. Maybe fixes #8438.
2022-11-14 22:42:36 -05:00
arkon
10e349f76e Retain previous selected state when updating list states
Fixes #8417
2022-11-13 22:35:52 -05:00
arkon
b1ccebf329 Minor cleanup
Mostly just addressing comments from #8452
2022-11-13 12:24:59 -05:00
Andreas
3407eb84c5
Make padding names neutral (#8531) 2022-11-13 12:11:51 -05:00
arkon
6017229d1b Clean up ComicInfo stuff a bit more 2022-11-13 12:01:19 -05:00
arkon
4f00af3173 Change long press on downloaded chapter icon to open menu
Seems like silently deleting things is confusing to some people.
2022-11-13 11:55:34 -05:00
arkon
9da232dcd8 Adjust download cache to ignore irrelevant files
Fixes #8530
2022-11-13 11:52:11 -05:00
Ivan Iskandar
acd43005df
SearchToolbar: Better physical keyboard support (#8529)
Make enter keys behave like search key of on-screen keyboard
2022-11-13 10:59:23 -05:00
AntsyLich
51c964de3a
Fix download not working on sd card (#8527)
Also create comicinfo file inside chapter folder instead of manga folder since it also contains some chapter specific data
2022-11-13 10:40:33 -05:00
arkon
262f8449b4 Resolve proper chapter URL for ComicInfo "Web" field
Requires extensions to be updated to lib 1.4 to have proper URLs for some of them, which will
happen soon in the future.
2022-11-12 09:54:32 -05:00
Andreas
bdf035d60a
Use Voyager on Source Filter screen (#8511) 2022-11-12 09:47:19 -05:00
Andreas
0270878748
Use Voyager on Extension Filter screen (#8503)
- Use sealed class for state
- Minor changes
2022-11-11 16:57:31 -05:00
arkon
6ada3c90ff Clean up ComicInfo stuff a bit 2022-11-11 16:34:18 -05:00
Shamicen
4e628fe6de
Create ComicInfo Metadata files on chapter download (#8033)
* generate ComicInfo files at the chapter root and inside CBZ archives on chapter download.

* Update app/src/main/java/eu/kanade/tachiyomi/source/LocalSource.kt

Co-authored-by: Andreas <andreas.everos@gmail.com>

* Improvements suggested by @ghostbear

* now creates ComicInfo files in normal chapter folders as well
use manga directly instead of converting it to SManga
truncate old files before overwriting them

Co-authored-by: Andreas <6576096+ghostbear@users.noreply.github.com>

* remove empty line after resolving merge conflict

* fixes Serializer for class 'ComicInfo' is not found error

* some changes to comments and variable names

* Revert leftover changes to archiveChapter() function

* minor cleanup

* Changed Chapter to SChapter

Co-authored-by: Andreas <andreas.everos@gmail.com>
Co-authored-by: Andreas <6576096+ghostbear@users.noreply.github.com>
2022-11-11 16:16:37 -05:00
arkon
a8eebd824a Remove duplicate pinned sources setting
I guess it's simpler to just have 1 entry in the list (other than the last used duplicate).
This helps ensure that the list is as short as it can be.
2022-11-11 15:35:10 -05:00
ThePromidius
92b039fac7
Add Kavita tracker (#7488)
* Added kavita tracker

* Changed api endpoint since tachiyomi has it's own. Moved some processing to backend

* Bugfix. Parsing to int instead of float

* Ignore DOH, update migration and cleanup

* Fix Unexpected JSON token
	modified:   app/src/main/java/eu/kanade/tachiyomi/data/track/TrackManager.kt
	modified:   app/src/main/java/eu/kanade/tachiyomi/data/track/kavita/KavitaApi.kt
	modified:   app/src/main/java/eu/kanade/tachiyomi/data/track/kavita/KavitaModels.kt

* Apply code format suggestions from code review

Co-authored-by: Andreas <andreas.everos@gmail.com>

* Apply simplified code suggestions from code review

Co-authored-by: Andreas <andreas.everos@gmail.com>

* Removed unused dtos

* Use setter instead of function to get apiurl

* Added Interceptor

* Handle not configured/not accesible sources

* Unused import

* Added kavita to new tracking settings screen

* Delete SettingsTrackingController.kt to solve conflict

* Review comments
* Removed break lines from log messages
* Fixed jwt typo

* Merged enhanced services compatibility warning message to be more generic.
* Updated Komga String res to use new formatted one
* Added Kavita String res to use formatted one

* Apply suggestions from code review - hardcoded strings to track name

Co-authored-by: Andreas <andreas.everos@gmail.com>

Co-authored-by: Andreas <andreas.everos@gmail.com>
2022-11-11 15:19:41 -05:00
Ivan Iskandar
acc65529a0
Replace numberpicker with wheelpicker (#8501)
* Replace numberpicker with wheelpicker

* cleanups
2022-11-11 15:02:45 -05:00
Quang Kieu
3061f198e9
Temporally Fix #8287 (#8493) 2022-11-11 15:01:48 -05:00
arkon
6fc1f4fc21 Reword download cache/indexing strings for consistency 2022-11-11 15:01:06 -05:00
arkon
a0f49b16c5 Remove "Download complete" notification
It wasn't really consistent with other notifications considering there's no
action to be taken in this state.
2022-11-10 23:08:19 -05:00
arkon
c6c4c1c393 Migrate to more domain model usages 2022-11-10 22:42:44 -05:00
arkon
811931ccc0 Minor cleanup 2022-11-10 22:23:34 -05:00
AntsyLich
08d5633d81
Add option to invalidate download cache (#8491)
* Add option to invalidate download cache

* Review changes + lint
2022-11-10 22:15:35 -05:00
arkon
c76d5dd30c Tweak library continue reading button 2022-11-10 22:08:23 -05:00
Ivan Iskandar
340357d158
Voyager on More tab (#8498) 2022-11-10 22:08:18 -05:00
Ivan Iskandar
11ed47397d
Remove top bar workaround (#8497)
Fixed upstream and we currently using small top bar which doesn't affected
2022-11-10 21:26:56 -05:00
AntsyLich
6ce54eb845
Fix clearing database freezes the app (#8492) 2022-11-10 07:59:31 -05:00
arkon
e45f6d0c92 Use toShareIntent in WebViewActivity 2022-11-09 22:38:28 -05:00
Ivan Iskandar
18ccde082d
Full Compose MangaController (#8452)
* Full Compose MangaController

* unique key

* Use StateScreenModel

* dismiss

* rebase fix

* toShareIntent
2022-11-09 22:31:56 -05:00
Ivan Iskandar
bc3bb82651
Voyager on History tab (#8481) 2022-11-09 09:26:29 -05:00
d-najd
ba00d9e5d2
Add "Play" button on manga in library (#8218)
* resume manga button in libarary

* work on resume button

* Backup

* work on opening the last read chapter

* backup

* renaming

* fab instead of image

* done with logic

* cleanup

* cleanup

* import cleanup

* cleanup...

* refactoring

* fixing logic

* fixing scopes

* Reworking design

* adding ability to turn on/off the feature

* cleanup

* refactoring, fixing logic, adding filter logic (partial)

* backup

* backup

* logic done

* backup before merge fix

* merge conflict....

* merge conflict...

* reworking ui logic

* removing unnecessary file

* refactoring

* refactoring

* review changes + minor parameter position movement

* commiting suggestion

Co-authored-by: arkon <arkon@users.noreply.github.com>

* fixing minor mistake

* moving ChapterFilter.kt

Co-authored-by: arkon <arkon@users.noreply.github.com>
2022-11-07 22:32:23 -05:00
Andreas
bf9edda04c
Use Voyager on Category screen (#8472) 2022-11-07 22:13:14 -05:00
arkon
3733871d2f Don't show copied to clipboard toast on A13+ when copying backup restore error 2022-11-05 11:56:31 -04:00
arkon
54471a014f Get index of selected update list item based on chapterId
Fixes #8442
2022-11-05 11:56:08 -04:00
arkon
8749be518f Adjust read next history logic
Closes #8454
2022-11-05 10:37:32 -04:00
Alessandro Jean
6d880c938a
Retry the MAL request if the token is expired (#8437)
Retry the MAL request if the token expired.
2022-11-04 22:54:52 -04:00
Luqman
34aa4eb291
Add back haptic feedback long tap to fav (#8418)
* Add back haptic feedback long tap to fav

- add back haptic when long tap on manga to add to library

* simplify

* Revert "simplify"

This reverts commit f4bd57315a.

* Revert "Add back haptic feedback long tap to fav"

This reverts commit 81486e30e9.

* cleanup
2022-11-04 22:52:28 -04:00
arkon
280b0f42db Toggle enabled source in bulk
Maybe fixes #8439
2022-11-04 09:39:23 -04:00
arkon
d41c103a72 Increase visibility of selected item background in dark themes
Closes #8419
2022-11-04 09:38:38 -04:00
AntsyLich
999bd4efee
Center extension name in ExtensionDetailsScreen (#8407) 2022-11-01 12:03:31 -04:00
zbue
38c6702b8f
Perform haptic feedback where appropriate (#8378) 2022-10-31 17:23:00 -04:00
AntsyLich
afcf4b2988
Fix resetting filter resets browse pager (#8394)
Fix resetinf filter resets browse pager
2022-10-31 17:22:53 -04:00
zbue
ebb96a6ff4
Use selectedBackground for other list items to match with others (#8379)
* Use `selectedBackground` for other list items to match with others

* Remove unused imports
2022-10-31 17:20:31 -04:00
AntsyLich
8b0affe9bd
Set softWrap to true again for Pill text (#8391) 2022-10-31 17:20:24 -04:00
arkon
642b392d44 Fix crash in ReaderReadingModeSettings when reverse portrait orientation is set 2022-10-30 23:10:59 -04:00
zbue
8dce7b3e9e
Disable ChapterHeader & ChapterDownloadIndicator click when in selection mode (#8350)
* Disable `ChapterHeader` click when in selection mode

* Disable `ChapterDownloadIndicator` click when in selection mode

* Review changes

* Merge remote-tracking branch 'origin/master' into patch-7

* Merge remote-tracking branch 'origin/master' into patch-7

* Revert back to old implementation
2022-10-30 22:57:56 -04:00
arkon
33e90d6449 Clean up library download chapters logic
We can probably clean up the same logic in the manga controller at some point too, but that stuff's messy.
Also fixes the spacing issue that the new icon introduced.
2022-10-30 22:56:07 -04:00
Swords
50b17d5d34
Add different download options within the Library (#8267)
* feat: add download options to library

* feat: use max instead of min

* feat: remove download all option

* feat: applied requested changes + rename some functions

* feat: merge downloadAllUnreadChapters and downloadUnreadChapters into one function

* Apply suggestions from code review

Co-authored-by: AntsyLich <59261191+AntsyLich@users.noreply.github.com>

* feat: apply lint suggestions + fix code

feat: apply lint suggestions + fix code

* feat: revert onClickDownload back to onDownloadClicked

Co-authored-by: AntsyLich <59261191+AntsyLich@users.noreply.github.com>
2022-10-30 22:27:48 -04:00
arkon
7818885406 Use proper content color for filter icon in library toolbar 2022-10-30 22:19:02 -04:00
arkon
5d1f79012e Fix some crashes
- Delay the initial emission of updates/sources/extensions lists instead of using a state flow. This hopefully avoids rapid initial recompositions that cause the LazyColumn key duplication crashes. (Closes #8371)
- Fix a NPE in BrowseSourcePresenter
2022-10-30 18:43:16 -04:00
arkon
cac80daa71 Set source properly when creating manga entries
Fixes #8333
2022-10-30 17:40:17 -04:00
arkon
fc184f1cfa Clean up download ahead logic
- Remove redundant chapter sorting logic when fetching next chapter(s)
- Remove redundant download queue checks (it'll handle already queued or downloaded items)
- Trigger download ahead when read >= 25% of chapter rather than 20%
- Rely on download cache when checking if next chapter is downloaded to avoid jank (fixes #8328)
2022-10-30 16:59:33 -04:00
arkon
725fcbba0e Add warning about F-Droid build support in More screen 2022-10-30 16:00:19 -04:00
stevenyomi
a078f1ab1b
Refactor search toolbar and fix browse source (#8360) 2022-10-30 13:34:47 -04:00
arkon
86c3d8c064 Use Compose fast* functions in more places 2022-10-30 12:27:12 -04:00
Ivan Iskandar
156191af44
Tabs: Don't explicitly set text color in the text (#8365)
The container already provides color option for both states
2022-10-30 12:04:46 -04:00
arkon
dd1923fe88 Remove redundant preference composables 2022-10-30 11:37:02 -04:00
arkon
df773ee15c Refactor overflow menus into a composable 2022-10-30 11:06:41 -04:00
zbue
f5451a6881
Add ability to open random manga (#8232)
* Add ability to open random manga

* Use `getMangaForCategory` instead

* Put it in overflow menu instead of using EFAB

* Partial review changes

* Merge remote-tracking branch 'refs/remotes/origin/patch-6' into patch-6

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/library/LibraryScreen.kt

* Merge remote-tracking branch 'refs/remotes/origin/patch-6' into patch-6

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/library/LibraryScreen.kt

* Wording changes
2022-10-30 10:57:33 -04:00
arkon
fcec1581b7 Fix share menu item not appearing for entries not in library 2022-10-30 10:48:25 -04:00
arkon
11cc789e36 Center global search prompt properly in library list mode 2022-10-30 10:48:25 -04:00
Ivan Iskandar
16f9fb2f40
Rebase Scaffold fork (#8353)
This adds content window insets supports that will be passed to
all components used except top and bottom bar.
2022-10-30 09:59:50 -04:00
Ivan Iskandar
6bfaa85e84
MoreScreen: Add navbar padding (#8349) 2022-10-29 23:10:18 -04:00
Soitora
04d2a3399b
Restore chapter description alpha (#8345)
Restore "Darken the description colors"

Restores #3858, with new values based on current standards (0.78f rather than 0.62f)

I wanted to accomplish this without having to call a const, but that felt like a logical solution as well

Of course, if you got cleaner methods do tell, thanks
2022-10-29 22:58:18 -04:00
Ivan Iskandar
054bf8ec5d
MangaScreen: Apply bottom content padding to large screen info column (#8347) 2022-10-29 22:57:19 -04:00
arkon
8417f5a63c Add more context to obsolete extension warning 2022-10-29 16:35:32 -04:00
Dexroneum
26b46cace0 Few UI changes (#8299)
Co-authored-by: arkon <arkon@users.noreply.github.com>
2022-10-29 16:28:25 -04:00
arkon
0849111247 Use remember var delegates in more places 2022-10-29 16:14:49 -04:00
Ivan Iskandar
f9c25b350e
New Pager implementation (#8323)
Minimal implementation using new Compose SnapFlingBehavior
2022-10-29 12:32:55 -04:00
stevenyomi
4b60138d41
Clean up strings and icons (#8326)
* Clean up strings and icons

* fix incorrect usages of label_more

* restore strings and reduce usage of android.R

* removing icon desc of FABs anyway as app's not for visual impaired users
2022-10-29 11:43:51 -04:00
arkon
fde7bfa3d1 Show notification while download cache is renewing
Since users seem to be confused now that the library loads before download info is shown...
2022-10-29 11:39:04 -04:00
arkon
69635ee66a Make Compose DropdownMenu overlap the trigger
Closes #8329
2022-10-29 10:37:51 -04:00
arkon
224f29077d Sort library items alphabetically in secondary pass
Fixes #7461
2022-10-29 10:11:12 -04:00
AntsyLich
e1ab1fdb65 Prompt Extension update if ext-lib is updated
Co-authored-by: arkon <arkon@users.noreply.github.com>
2022-10-29 10:05:30 -04:00
Ivan Iskandar
3e86cb094b
PreferenceModel: Add subtitle provider to ListPreference (#8322)
* PreferenceModel: Add subtitle provider to ListPreference

So that it's possible to avoid value formatting when needed

* cleanups
2022-10-29 09:44:12 -04:00
arkon
d0c4463ab3 Avoid concurrency crashes in SourceManager 2022-10-28 21:29:38 -04:00
arkon
ad107860b9 Consider downloaded only mode when getting download counts in library
Fixes #8318
2022-10-28 21:29:25 -04:00
arkon
5efb31bd71 Fix some crashes 2022-10-28 21:10:03 -04:00
arkon
e4a2f35907 Fix library download counts not being loaded if downloaded filter is in exclusion state 2022-10-28 19:05:55 -04:00
arkon
37cb4ec0c2 Don't filter out partially read chapters when marking as unread
Fixes #8313
2022-10-28 18:29:00 -04:00
arkon
401134fa8e Use MaterialTheme.shapes in more places 2022-10-28 16:18:05 -04:00
Ivan Iskandar
87391832ba
Touch up manga grid/list items (#8307)
* Touch up library item touch indicator

Now the touch indicator has the same coverage as the selection indicator.
Experimental Modifier.Node API is used to draw the selection indicator

* Unify library and browse source list item layouts
2022-10-28 11:46:10 -04:00
AntsyLich
e36d31bf0f
Cleanup Library presenter (#8284)
* yeet observable + minor cleanup

* move [getTracksFlow] to domain

* Lint

* Review changes

Co-Authored-By: Andreas <6576096+ghostbear@users.noreply.github.com>

* Review Changes 2

* Stuff

* Rename + Rebase

* Lint

Co-authored-by: Andreas <6576096+ghostbear@users.noreply.github.com>
2022-10-28 11:44:05 -04:00
d-najd
37b7efbc87
WebView for chapter link (#8281)
* backup

* doing logic

* cleanup

* applying suggestion

Co-authored-by: AntsyLich <59261191+AntsyLich@users.noreply.github.com>

* requested changes

Co-authored-by: AntsyLich <59261191+AntsyLich@users.noreply.github.com>
2022-10-28 11:41:51 -04:00
AntsyLich
6e4a30e593
Fix "Download split" not working while using SD card (#8305)
* Fix "Download split" not working while using SD card

* Update app/src/main/java/eu/kanade/tachiyomi/util/system/ImageUtil.kt

Co-authored-by: arkon <arkon@users.noreply.github.com>
2022-10-28 11:40:43 -04:00
AntsyLich
37c55abc2a
Center the Text inside Pill (#8304) 2022-10-28 10:28:46 -04:00
arkon
c50b1a5c66 Alternate method of avoiding LazyColumn key conflict crashes
Co-authored-by: ivaniskandar <ivaniskandar@users.noreply.github.com>
2022-10-27 23:26:34 -04:00
Ivan Iskandar
187e9f94aa
Set source id when inserting to db (#8300) 2022-10-27 22:34:21 -04:00
arkon
1704dc062d Show file URI when invalid backup file is selected 2022-10-27 18:04:43 -04:00
AntsyLich
0657a52924
Cleanup history repository (#8297)
* Cleanup history repository

* Lint
2022-10-27 18:03:52 -04:00
arkon
ccc4144f3c Remove side nav icon alignment preference
Simplifying it to just always be centered, which is what most Google apps seem to be doing anyway.
2022-10-27 17:30:12 -04:00
arkon
d5b4bb49b1 Refactor network to local manga logic
Maybe fixes #8289
2022-10-26 23:01:21 -04:00
arkon
ca06516900 Avoid some crashes 2022-10-26 18:12:11 -04:00
AntsyLich
2cbe946e7e
Rework library selection (#8290) 2022-10-26 09:22:12 -04:00
AntsyLich
3b5b9a1ae5
Use Channel in Download cache (#8292)
* Use `Channel` in Download cache

Co-Authored-By: Andreas <6576096+ghostbear@users.noreply.github.com>

* Use Unlimited capacity

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

Co-authored-by: Andreas <6576096+ghostbear@users.noreply.github.com>
Co-authored-by: stevenyomi <95685115+stevenyomi@users.noreply.github.com>
2022-10-26 09:21:35 -04:00
AntsyLich
a834ff3a44
Show LibraryScreen toolbar early to match other main screens (#8285) 2022-10-25 09:40:45 -04:00
Ivan Iskandar
82b552ac9a
MangaPresenter: Filter unsupported track service from available service list (#8286) 2022-10-25 09:34:05 -04:00
arkon
9792a6cb78 Fetch download counts if library is filtered by downloaded
Fixes #8277
2022-10-23 10:15:05 -04:00
Dexroneum
f30150c0f0
Fixed "0 mins ago" in "Library last updated" string (#8279)
* Fixed "0 mins ago" in "Library last updated" string

* Recommended fixes
2022-10-22 19:59:07 -04:00
arkon
5c868d7846 Use kotlin.time extensions in some more places 2022-10-22 19:57:55 -04:00
arkon
78b76a186c Avoid NPE in browse source screen
It logically should never be null, yet I see crash logs about it.
2022-10-22 16:04:12 -04:00
arkon
6e04822f5e Only enable ACRA crash logging in preview and stable release builds 2022-10-22 15:47:09 -04:00
AntsyLich
4ff5c1148e
Cleanup LibraryUpdateService (#8237) 2022-10-22 15:16:44 -04:00
d-najd
42bf91779d
Category name letter casing change not allowed when renaming (#8274)
* adding the feature

* minor reordering

* Changes from review

* including gradle.properites.swp

* Update app/src/main/java/eu/kanade/domain/category/model/Category.kt

Co-authored-by: AntsyLich <59261191+AntsyLich@users.noreply.github.com>

Co-authored-by: AntsyLich <59261191+AntsyLich@users.noreply.github.com>
2022-10-22 15:09:38 -04:00
stevenyomi
2ab744c525
Fix app lock and make delay not survive app being killed (#8272)
* Fix app lock

* Always require unlock if app is killed
2022-10-22 15:07:44 -04:00
AntsyLich
4a244a598b
Cleanup UpdatesPresenter deleteChapters (#8273) 2022-10-22 12:58:14 -04:00
arkon
d0bff298b7 Remove fake chapter deletion state updates
Now that the updates and manga screen listen to download cache changes, it'll reflect the real states once deleted.
2022-10-22 12:24:59 -04:00
arkon
152eb5b951 Handle async cache in updates and manga screens
- Also fix concurrent accesses to main cache map
- Also debounce sources and updates list updates to maybe avoid crashing due to dupe LazyColumn keys
2022-10-22 10:50:44 -04:00
stevenyomi
d558f9e1d6
Tweak tablet UI mode setting (#8262) 2022-10-22 10:15:12 -04:00
AntsyLich
b3557e844c
Fix "Add manga to library" snackbar not showing with ChapterDownloadAction.START_NOW (#8271) 2022-10-22 10:12:06 -04:00
arkon
4138a17e29 Maybe avoid extensions list rendering crashes 2022-10-21 22:50:33 -04:00
arkon
eb742b29f8 Avoid some IndexOutOfBoundsExceptions 2022-10-21 16:45:26 -04:00
arkon
d2e62ffb19 Prevent invalid user agent header values from being set 2022-10-21 16:27:59 -04:00
arkon
2921be620a Use fade transition in Voyager screens to mimic existing Conductor change handler 2022-10-21 15:29:17 -04:00
arkon
c61a51438d Disable autocomplete on tracker login password field 2022-10-21 15:12:12 -04:00
arkon
7e40680af0 Perform download cache renewal async
Don't block on cache renewals, but notify library on updates so that the badges show up when ready.

We skip the cache when checking if a chapter is downloaded for the reader assuming that it's a
relatively low cost to check for a single chapter.

(Probably) fixes #8254 / fixes #7847
2022-10-21 15:00:41 -04:00
arkon
93925a7286 Remove redundancy in ExtensionManager 2022-10-21 14:42:21 -04:00
arkon
b04807e53a Proper DI instantiation for some more download related classes 2022-10-21 14:29:44 -04:00
arkon
2cf1009f70 Allow disabling automatic backups for whatever reason 2022-10-20 23:20:38 -04:00
arkon
93827aba34 Defer library download counts if not needed 2022-10-20 23:20:32 -04:00
AntsyLich
44cabf2f0b
Hide reader "Split tall images" option in release build (#8235) 2022-10-20 22:41:42 -04:00
arkon
a8ca7b690f Avoid crashing if invalid download and backup location is set
Fixes #8252
2022-10-20 22:34:27 -04:00
stevenyomi
824d5e22bc
Clean up strings and resources (#8253)
* Clean up strings and resources

* fix pringle's typo

* restore catching file pick errors

* add back file chooser title

* revert #7740 and remove try-catch of chooser-wrapped intent

* swap xmlns lines

* swap xml tools lines
2022-10-20 17:48:13 -04:00
Ivan Iskandar
4b5f965cea
AppThemePreference: Filter dynamic theme if it's not available (#8250) 2022-10-19 22:43:41 -04:00
stevenyomi
d03cbbe0cd
Fix language/theme settings dialog and remove delay (#8244)
* Fix language/theme settings dialog and remove delay

* inline UI preferences

* use `by remember`

* remove unused variable

* remove unused import
2022-10-19 12:57:05 -04:00
Ivan Iskandar
84bcd8d1d2
Fix crash when saving a page from certain chapters (#8242) 2022-10-19 07:59:05 -04:00
arkon
6756bfab75 Fix download cache not updating on location change 2022-10-18 17:35:38 -04:00
Andreas
8d97b980e3
Tweak library view (#8240)
- Move category join to improve performance
- Move bookmark calculation into query
- Move unread calculation into domain
2022-10-18 16:33:26 -04:00
stevenyomi
2d19729869
Clean up OkHttp methods and parse from Okio directly (#8238) 2022-10-18 12:09:23 -04:00
Ivan Iskandar
f5bde3726a
More settings stuff (#8226)
* title size

* move about screen to settings

keeping shortcut inside more screen

* more

* shrink texts

* scrollable create backup dialog choices

* search back button

* cleanups

* delay changes that require activity recreate

* lessen horizontal padding
2022-10-18 09:35:10 -04:00
AntsyLich
ea092fa175
Fix selection in library (#8233) 2022-10-18 09:32:34 -04:00
Andreas
fed914827a
Tweak Crash activity (#8229)
- Scroll entire content body
- Edge2Edge
2022-10-17 20:38:05 -04:00
AntsyLich
ea33f8dba5
Move "Share" to end of DropDownMenu (#8225) 2022-10-17 09:42:47 -04:00
Andreas
4178f945c9
Add Crash activity (#8216)
* Add Crash activity

When the application crashes this sends them to a different activity with the cause message and an option to dump the crash logs

* Review changes
2022-10-16 16:35:20 -04:00
arkon
558aad1a71 Always renew download cache if no sources have been loaded yet
Fixes #7705. Somewhat janky solution to handle when loading the sources on app start is slower than
the initial download cache priming.
2022-10-16 16:30:51 -04:00
AntsyLich
d6cbff2837
Tweak library query (#8214)
* Tweak library query

Co-Authored-By: Quang Kieu <kieuq@wit.edu>

* Update app/src/main/sqldelight/migrations/21.sqm

* Update app/src/main/java/eu/kanade/domain/library/model/LibraryManga.kt

* Update app/src/main/sqldelight/view/libraryView.sq

* Update app/src/main/java/eu/kanade/data/manga/MangaMapper.kt

* Update app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryPresenter.kt

* Update app/src/main/java/eu/kanade/data/manga/MangaMapper.kt

* Bump version

Co-authored-by: Quang Kieu <kieuq@wit.edu>
2022-10-16 15:33:12 -04:00
Ivan Iskandar
aea0cadbfb
Settings: Tint icon with primary color and separate info item layout (#8217) 2022-10-16 15:32:48 -04:00
Ivan Iskandar
e4292719d3
CreateBackupDialog: Select all options by default (#8215) 2022-10-16 12:52:34 -04:00
arkon
69cdba71eb Remove dead code
Mostly from settings rewrite, but some other things too.
2022-10-16 12:48:43 -04:00
Ivan Iskandar
5c5468f9af
Settings: M3 and two pane ui (#8211)
* Settings: M3 and two pane ui

* TrackingLoginDialog: Move close button

* Use small top bar

* Revert "Update voyager to v1.0.0-rc02"

This reverts commit 570fec6ea6.

https://github.com/adrielcafe/voyager/issues/62
2022-10-16 12:15:01 -04:00
arkon
6635dd2990 Control library badge visibility with props instead
Fixes #8174
2022-10-16 11:30:54 -04:00
arkon
27e5256305 Center EmptyScreen message
Fixes #8212
2022-10-16 10:36:10 -04:00
AntsyLich
a2b21e5ad6
Retain bookmark of readded chapters (#8205)
* Retain bookmark of readded chapters

* Fix typo
2022-10-15 14:22:58 -04:00
arkon
dbd93cf5d1 Tweak source view type menu radio icon to match stable 2022-10-15 12:05:52 -04:00
arkon
c2eaf1c86b Minor settings cleanup
- Fix dark mode setting title
- Enforce usages of translated strings for screen titles
- Use LocalUriHandler where applicable instead of Android context
2022-10-15 11:58:24 -04:00
Ivan Iskandar
890f1a3c7b
Full Compose settings (#8201)
* Uses Voyager for navigation.
* Replaces every screen inside settings except category editor screen since it's
called from several places.
2022-10-15 11:38:01 -04:00
Swords
3fdcd636d7
Add bookmark filter (#8198)
* feat: add bookmark filter

* feat: add getBookmarkChaptersByMangaId query + interactor to be used for filtering
2022-10-15 11:33:09 -04:00
zbue
3d7e44726d
BrowseSourceToolbar: Match display mode dropdown to stable and change toolbar icon based on display mode (#8200)
* BrowseSourceToolbar: Match display mode dropdown to stable and change toolbar icon based on display mode

* Review changes

* Review changes 2
2022-10-15 11:16:01 -04:00
arkon
b25ca7617d Move manga screen filter sheet to toolbar
Closes #6927
This makes it more consistent with the library. Tapping the chapters heading still opens the sheet for convenience.
2022-10-14 16:30:14 -04:00
arkon
bc1fbfac9d Minor cleanup 2022-10-14 16:13:50 -04:00
arkon
7e92921f84 Attempt to avoid duplicate update rows
Related to #7713
2022-10-14 15:43:27 -04:00
d-najd
e1adb89ff8
Range selection in library (#8186)
* logic and a bit of cleanup

* cleanup done

* grammar fix

* fixing format

* Auto stash before checking out "HEAD"

* Revert "Auto stash before checking out "HEAD""

This reverts commit 202374a36f.

* Update app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryPresenter.kt

Co-authored-by: arkon <arkon@users.noreply.github.com>

* cleanup

Co-authored-by: arkon <arkon@users.noreply.github.com>
2022-10-14 15:30:19 -04:00
stevenyomi
4e544005fe
Fix empty screen font style (#8197) 2022-10-14 12:27:52 -04:00
Ivan Iskandar
02b3718aa1
Use Compose's existing method to get plural string (#8194) 2022-10-13 22:21:19 -04:00
arkon
26a42ba9c0 Upgrade to Kotlin 1.7.20
Also run formatter and address some deprecation warnings.
2022-10-11 22:40:08 -04:00
stevenyomi
b1e104319f
Fix download progress indicator (#8188) 2022-10-11 22:17:45 -04:00
Platiplus
a3afb35539
Overwrite saved images instead of creating new ones (#8162)
* Implementing overwrite instead of saving duplicated images

* Using filename instead of hardcoding image type

* Refactoring method to accept lambda for default value

* Removing extra parenthesis
2022-10-11 08:20:30 -04:00
Ivan Iskandar
fba244423f
Fix Scrollbar when the list contains sticky header (#8181)
* Fix Scrollbar when the list contains sticky header

* Fix VerticalFastScroller when the list contains sticky header

* exposé
2022-10-10 11:59:01 -04:00
Ivan Iskandar
8500add09f
EmptyScreen: Compose-ify and apply content padding (#8177)
* Apply content padding to empty screen

except the empty screens in browse

* compose-ify EmptyScreen

* center face when action show

* fix padding

* apply content padding to browse tabs

* fix duplicate bottom insets
2022-10-09 15:52:56 -04:00
arkon
23bfa1f18f Minor UI fixes
- Remove M3 styling from search toolbar
- Use secondary alpha for subtitles for Sources and Migrate items
- Update some content descriptions
2022-10-09 15:49:32 -04:00
arkon
b4f2da12ea Bring back overscroll in SwipeRefresh for A12+
It's more consistent with the rest of the overscroll behaviour in the app. We'll wait for the upstream fix.
2022-10-09 15:37:48 -04:00
arkon
b84a31ba92 Don't wrap tab pills
It may sometimes overlap the text a bit, but it's less awkward than wrapped pills
2022-10-09 11:51:32 -04:00
arkon
d0950cb026 Document copied M3 component customizations 2022-10-09 11:48:46 -04:00
stevenyomi
404f53b16b
Refactor SwipeRefresh and fix some issues (#8169) 2022-10-09 11:20:43 -04:00
zbue
737d0fb8f3
RemoveMangaDialog: Show manga title in dialog message (#8163) 2022-10-09 10:56:31 -04:00
arkon
b95a30e424 Fix linting error 2022-10-09 10:54:54 -04:00
arkon
3bfbd58402 Clean up download state logic in MorePresenter 2022-10-09 10:37:44 -04:00
d-najd
50f959e5f4
Hiding the keyboard (#8160)
* Hiding the keyboard (#8157)

* Cleanup

* Adding log

* cleanup

* moving code to ViewExtensions.kt

* TrackDialog keyboard fix?

* moving  code to ContextExtensions.kt

* MoreScreen: Remove title (#8158)

* MoreScreen: Remove title

Also removes the state banners as it's redundant

* Add back banners

* Allow manual selection of manga description instead of copying to clipboard

Closes #6548

Notably missing some "standard" options like "Select all" or "Share": https://issuetracker.google.com/issues/226648919

* Allow marking partially read chapters as unread

Closes #3777

* Tablet UI edge-to-edge tweaks (#8159)

* LibraryScreen: Tweak content padding application to draw under nav bar

* BrowseScreen: Tweak content padding application to draw under nav bar

Side note the tab content doesn't actually use its
scaffold (bottom) contentPadding so it's definitely will
be a headache in the future.

* Don't hardcode bottom nav padding

* removed unnecessary import

* refactoring code

* rewriting code

* cleanup?

* cleanup

Co-authored-by: Ivan Iskandar <12537387+ivaniskandar@users.noreply.github.com>
Co-authored-by: arkon <eugcheung94@gmail.com>
2022-10-08 17:12:09 -04:00
Ivan Iskandar
4b4be58d0d
Tablet UI edge-to-edge tweaks (#8159)
* LibraryScreen: Tweak content padding application to draw under nav bar

* BrowseScreen: Tweak content padding application to draw under nav bar

Side note the tab content doesn't actually use its
scaffold (bottom) contentPadding so it's definitely will
be a headache in the future.

* Don't hardcode bottom nav padding
2022-10-08 13:28:09 -04:00
arkon
4bba7a8bab Allow marking partially read chapters as unread
Closes #3777
2022-10-08 13:26:25 -04:00
arkon
60bcebe4d1 Allow manual selection of manga description instead of copying to clipboard
Closes #6548

Notably missing some "standard" options like "Select all" or "Share": https://issuetracker.google.com/issues/226648919
2022-10-08 12:57:55 -04:00
Ivan Iskandar
cf6407c4d4
MoreScreen: Remove title (#8158)
* MoreScreen: Remove title

Also removes the state banners as it's redundant

* Add back banners
2022-10-08 10:24:50 -04:00
Andreas
dcd5541e96
Fix filter search not triggering when clicking genre from Manga details (#8156) 2022-10-08 09:48:19 -04:00
arkon
7be6863910
Add JavaScriptEngine abstraction to extensions-lib (#8155)
This allows us to swap out the implementation in the future and on different platforms
without major changes to the extensions themselves.
2022-10-08 09:45:06 -04:00
arkon
caf9219d99 Reword some reader settings 2022-10-05 09:26:42 -04:00
AntsyLich
bbe1608006
Show correct language string in browse screens (#8136) 2022-10-03 23:05:37 -04:00
Alessandro Tedesco
b8fa326c21
Fix sort by date in LibraryPresenter (#8137) (#8145)
Co-authored-by: Alessandro Tedesco <alessandro.tedesco@zehus.it>
2022-10-03 23:03:43 -04:00
Ivan Iskandar
1cf1b34e7f
Fix regular scrollbar (#8139)
At some point the scrollbar stops responding to
scroll changes. Not too confident with this fix
but it works.
2022-10-03 23:03:33 -04:00
stevenyomi
ff4fb83bff
LocaleHelper: use argument for a when expression (#8131) 2022-10-02 10:08:12 -04:00
arkon
0ca14c61c2 Explicitly reword some locale names
Avoiding some country names in favour of more generic terminology where appropriate.
2022-10-01 23:54:54 -04:00
arkon
6be9cccc7a Revert min extension-lib change
Some extensions haven't been bumped yet. We should probably try to bump everything at some point.
Also includes some minor cleanup.
2022-10-01 13:24:38 -04:00
arkon
db3cbac310 Stop loading extension-lib <= 1.2 2022-10-01 11:34:46 -04:00
AntsyLich
de23226591
Add methods to get manga and chapter url (#8114)
* Add methods to get manga and chapter url

Some fork supports directly opening chapters with webview hence `getChapterUrl`

* Review Changes

* Add since to javadoc
2022-10-01 11:31:07 -04:00
AntsyLich
ea8383978b
Move LibraryManga to domain layer (#8126) 2022-10-01 11:30:51 -04:00
AntsyLich
b04d1e5f50
Reduce some usages of toDbManga (#8116)
Co-Authored-By: stevenyomi <95685115+stevenyomi@users.noreply.github.com>

Co-authored-by: stevenyomi <95685115+stevenyomi@users.noreply.github.com>
2022-10-01 11:01:25 -04:00
AntsyLich
98c459a6b6
Downloader: Don't trust index provided by source (#8122) 2022-10-01 11:01:05 -04:00
AntsyLich
00f442b77e
Don't download completely read chapter if it was in queue (#8113) 2022-10-01 10:58:13 -04:00
Ivan Iskandar
42b0e3e438
HistoryScreen: Remove paging (#8125)
* HistoryScreen: Remove paging

Per my testing performance-wise there's virtually no
difference in loading time.

* cleanups

* add key and contentType
2022-10-01 10:50:25 -04:00
AntsyLich
5c22cbf28e
Remove mangaChapterMapper (#8124)
Was used by updates screen previously
2022-10-01 10:33:03 -04:00
Andreas
488276d498
Tweak library search to allow for searching with source language suffix (#8123) 2022-10-01 10:32:52 -04:00
Andreas
6ac17363ed
Tweak behavior on Browse screen (#8121)
* Tweak behavior on Browse screen

- Fix system back popping controller
- Add behavior to system back to cancel search toolbar before clearing current search or popping controller

* Review changes
2022-10-01 10:32:41 -04:00
Ivan Iskandar
58c47c4c50
ExtensionScreen: Adjust item visual (#8120)
* ExtensionScreen: Adjust item visual

* Move install status view and add progress indicator
* Add secondary item modifier to info texts
* Wrap info texts with FlowRow in case of unavailable space
* Remove language text in non-installed items

Extra content:
* Change the list key to be more consistent
* General cleanups

* typo
2022-10-01 10:32:08 -04:00
Shamicen
80b2ebc45b
Fix ComicInfo.xml not being read if .noxml file exists too (#8111)
* gives ComicInfo.xml files priority over noxml files if both are at the chapter root.

* delete the noxml file if both a noXml file and a ComicInfo file exist
2022-09-30 23:41:40 -04:00
AntsyLich
ef2c9460b5
Fix total item count in library app bar (#8117) 2022-09-30 23:36:23 -04:00
AntsyLich
ad84a8c3e9
Improve DelayedTrackerStore (#8109)
* Improve DelayedTrackerStore

* Review changes
2022-09-29 09:20:07 -04:00
Ivan Iskandar
6b1d597d34
MangaScreen: Adjust insets (#8097)
I should have done this when Scaffold was rebased
2022-09-27 22:20:10 -04:00
Alessandro Jean
5a37f2398a
Improve search toolbar UX a little bit (#8102)
* Improve search toolbar UX a little.

* Fix wrong stringResource import.

* Revert `FocusRequester` change in favour of #8093.
2022-09-27 18:05:10 -04:00
Ivan Iskandar
98a4f6cccb
manga-refresh-state (#8090) 2022-09-27 17:49:21 -04:00
Ivan Iskandar
633bd6eb46
UpdatesScreen: Fix selection state after deleting download (#8100) 2022-09-27 17:44:41 -04:00
Ivan Iskandar
f19c288bec
Fix missing focus when single TextField shown (#8098) 2022-09-27 17:44:06 -04:00
arkon
e90b39b29d Use more unique item keys
Should make stacktraces more distinguishable.
2022-09-26 17:23:08 -04:00
stevenyomi
f4c684b4b8
Remove cache control on already cacheless image request (#8085) 2022-09-26 17:13:03 -04:00
arkon
ec272f6c4e Fix date added when adding from browse source
Fixes #8059
2022-09-25 13:09:25 -04:00
arkon
db91d04e82 Temporarily replace library category tabs divider with our own
Fixes #7789
2022-09-25 10:50:02 -04:00
arkon
9859b38f32 Ellipsize long titles
Fixes #8075
2022-09-25 10:18:50 -04:00
Ivan Iskandar
0190c36d20
BrowseSourceScreen: Adjust browse mode chips placement (#8076)
The chips row is now scrollable too and filter fab is removed
2022-09-25 10:15:01 -04:00
Alessandro Jean
ba533f30ce
Add support to update strategy on global update (#7902)
* Add support to update strategy.

* Add JavaDoc and bump the LIB_VERSION_MAX constant.

* Fix a word typo.

* Store update strategy enum as integer in the DB.
2022-09-25 10:12:36 -04:00
Andreas
29fa93e829
Split the rest of the preferences in PreferencesHelper (#8074)
* Split the reset of the preferences in PreferencesHelper

* Capitalize ThemeMode
2022-09-25 10:07:06 -04:00
Ivan Iskandar
0fabe4bd01
GlobalSearchController: Auto focus search view when initial query is empty (#8073) 2022-09-25 08:53:34 -04:00
Ivan Iskandar
f98b4f4e39
DownloadController: Fix first active download status not updating (#8069) 2022-09-24 11:59:11 -04:00
Ivan Iskandar
467ceacb17
SecureActivityDelegate: Fix cold-start only lock behavior (#8066) 2022-09-24 10:46:35 -04:00
stevenyomi
4b4a138eee
Improve chapter recognition (#8050) 2022-09-24 10:29:55 -04:00
Andreas
b5dca2eb09
Move chapter preferences from PreferencesHelper to LibraryPrefrences (#8061) 2022-09-24 10:14:16 -04:00
Andreas
d3520419d4
Clear search query before popping controller when navigating up (#8055) 2022-09-22 22:30:28 -04:00
Andreas
acb8ab15b2
Recreate reader settings when opening sheet (#8054) 2022-09-22 22:29:15 -04:00
Andreas
5cdcc1679f
Split backup preferences from PreferencesHelper (#8051) 2022-09-22 08:57:42 -04:00
arkon
b37b3767f3 Minor cleanup
Also add POST_NOTIFICATIONS permissions to make Android Studio stop complaining about it.
2022-09-21 22:39:32 -04:00
arkon
2d56ad1ad9 Replace deprecated SmallTopAppBar 2022-09-21 22:30:06 -04:00
Andreas
e82963c9ef
Split download preferences from PreferencesHelper (#8048) 2022-09-21 17:45:07 -04:00
happywillow0
ec34977a64
Update BrowseSourcePresenter.kt (#8040)
Set filters to default when reset is pressed.
2022-09-21 14:27:38 -04:00
stevenyomi
2ced56e490
Fix error when updating manga details with uninitialized title (#8045) 2022-09-21 09:19:45 -04:00
Andreas
e568951396
Split track preferences from PreferencesHelper (#8046) 2022-09-21 09:18:53 -04:00
Andreas
e275897bf9
Split reader preferences from PreferencesHelper (#8042) 2022-09-20 08:36:57 -04:00
arkon
2b089648a3 Remove redundant preference keys 2022-09-20 00:13:33 -04:00
AntsyLich
c2a831dded
Cleanup logic in UpdatesPresenter (#8035) 2022-09-19 23:56:28 -04:00
Andreas
c740558327
Split library preferences from PreferencesHelper (#8036) 2022-09-19 23:55:07 -04:00
arkon
0e3176a77c Clean up UpdatesController
- Move loading state into scaffold (closes #7704)
- Move logic into presenter
- Make some composables private
2022-09-18 22:38:44 -04:00
arkon
f85cbb1582 Replace clear database FAB with button
Also remove a bunch of unnecessary inset paddings since Scaffold handles it
2022-09-18 18:38:22 -04:00
arkon
20bbda78e6 Fix library search not being reflected (fixes #8031) 2022-09-18 18:09:26 -04:00
arkon
0225711f6f Clean up base classes
Should be able to throw away some of the search controller stuff after Global Search is migrated
2022-09-18 17:22:54 -04:00
arkon
7ec822503a Catch error properly when app update check fails (fixes #8019) 2022-09-18 16:24:26 -04:00
arkon
83871fc013 Minor cleanup/fixes
- Add FAB collapsing in clear database screen (fixes #7935)
- Don't allow multiline category names to be entered
- Consolidate Downloaded Only / Incognito Mode banner components
- Fix see-through migrate screen sticky header
2022-09-18 16:08:58 -04:00
Andreas
b668364afb
Split security preferences from PrefrencesHelper (#8030) 2022-09-18 13:07:48 -04:00
arkon
877ae041a4 Avoid invalid locales in language picker (fixes #7950)
We should probably prune the translations though.
2022-09-18 11:07:10 -04:00
arkon
1395343f11
Read metadata from ComicInfo.xml files in Local source (#8025)
Co-authored-by: Shamicen <84282253+Shamicen@users.noreply.github.com>
Co-authored-by: Andreas <andreas.everos@gmail.com>
Co-authored-by: jobobby04 <jobobby04@users.noreply.github.com>
2022-09-18 10:55:30 -04:00
Andreas
30b3b2d3ff
Split source preferences from PreferencesHelper (#8029) 2022-09-18 10:36:41 -04:00
Andreas
0086743a53
Use 1.x preference abstraction (#8020)
* Use 1.x preference abstraction

- Uses SharedPreferences compared to 1.x impl which uses DataStore but it breaks all settings screens currently
- Move PreferencesHelper to new PreferenceStore
  - PreferencesHelper should be split into smaller preference stores and be in core or domain
- Remove flow preferences as new PreferenceStore handles changes for us

Co-authored-by: inorichi <3521738+inorichi@users.noreply.github.com>

* Fix PreferenceMutableState not updating

* Fix changes not emitting on first subscription

Co-authored-by: inorichi <3521738+inorichi@users.noreply.github.com>
2022-09-17 11:48:24 -04:00
Ivan Iskandar
f54adb49a1
ExtensionsPresenter: Use StateFlow for extensions list (#8017) 2022-09-16 08:35:15 -04:00
Ivan Iskandar
ec30026333
Fix always-on app lock on cold start (#8018) 2022-09-16 08:34:46 -04:00
arkon
4ea512f6c2 Fix manga being reinitialized in browse
Co-authored-by: jobobby04 <jobobby04@users.noreply.github.com>
2022-09-15 22:55:20 -04:00
arkon
829aadd0bd Always attempt automatic backup creation
- Defaults to every 12 hours
- Minimum number of backups is now 2, just to offer some level of redundancy in case something happens
- If it's missing storage permissions, it'll fail but that's the user's loss if they somehow haven't granted that permission yet
2022-09-15 22:53:46 -04:00
arkon
9d28def387 Remove some dead code 2022-09-15 22:51:01 -04:00
Andreas
86fe850794
Extract source api from app module (#8014)
* Extract source api from app module

* Extract source online api from app module
2022-09-15 18:12:27 -04:00
Ansh
30ac94181b
Fix stacking of Settings menu in the reader on multiple taps (#8002)
* fix : conditional check added to avoid stacking of dialog

In onClickListener, bottom sheet is being opened depending on status of dialog sheet, if it's showing or not.

* chore : refactored conditional logic

* Update ReaderActivity.kt
2022-09-15 17:41:54 -04:00
Ivan Iskandar
6865c21c75
Fix derivedStateOf errors (#8008) 2022-09-14 11:36:13 -04:00
Ivan Iskandar
7270c48f26
LibraryItem: Fix equality check (#7999)
Proper equality check is needed by compose for state changes.
2022-09-12 12:29:28 -04:00
AntsyLich
9e5d79aec3
Fix lint error (#8000) 2022-09-12 11:59:15 -04:00
AntsyLich
c51e83c048
Flatten available extensions with its source (#7956)
* Flatten available extensions with it's source

We should also do something similar for installed extensions

Supersedes #7200

* Dedupe sources
2022-09-11 18:05:46 -04:00
stevenyomi
52fa28c16a
Prevent okhttp from caching covers and chapter images (#7967) 2022-09-11 18:00:07 -04:00
AntsyLich
935c8e7d82
Change logic in BitmapFactory.Options.splitData (#7989) 2022-09-11 17:59:57 -04:00
arkon
19be0d68b6 Add some padding to tab indicators 2022-09-11 17:59:08 -04:00
arkon
f9bbbce466 Check the actual folder when deleting source folder in case of stale cache 2022-09-11 17:58:59 -04:00
arkon
eb5ef72747 Revert "Update Compose Material3"
This partially reverts commit 3dea10bcb9.

See https://issuetracker.google.com/issues/245626686
2022-09-11 17:49:10 -04:00
Andreas
0215b66098
Count the downloads under each header instead of count the number of headers (#7990) 2022-09-11 13:11:50 -04:00
arkon
3dea10bcb9 Update Compose Material3 2022-09-11 11:52:29 -04:00
arkon
cd3cb72b65 Bump dependencies + linting 2022-09-10 23:57:03 -04:00
arkon
28594bba2c Remove unused resources 2022-09-10 10:19:38 -04:00
AntsyLich
56826fb477
Cleanup logic of onStripSplit in WebtoonPageHolder 2 (#7976) 2022-09-10 09:34:27 -04:00
arkon
448978ac8a Remove unused resources 2022-09-09 22:37:29 -04:00
Ivan Iskandar
fb9791f597
DownloadController: Partial Compose conversion (#7969)
Item list is not changed as currently there is no fitting Compose component to
replace the drag-drop behavior.
2022-09-09 22:29:40 -04:00
nzoba
07d1b9f3ba
Fix download ahead missing out 1 chapter (#7927)
* Fix download ahead missing out 1 chapter

* Move toLong() function

* Add check whether the next chapter is queued
2022-09-09 22:29:24 -04:00
AntsyLich
6b91f65457
Cleanup logic of onStripSplit in WebtoonPageHolder (#7955)
* Cleanup logic of `onStripSplit` in WebtoonPageHolder

* Update app/src/main/java/eu/kanade/tachiyomi/ui/reader/viewer/webtoon/WebtoonPageHolder.kt

Co-authored-by: arkon <arkon@users.noreply.github.com>
2022-09-07 17:11:44 -04:00
AntsyLich
0c7b1bda7f
LocalSource: Create cover file if it doesn't exist (#7954) 2022-09-07 17:02:06 -04:00
Ivan Iskandar
032b377de7
WebViewScreen: Use Scaffold (#7958) 2022-09-07 16:59:44 -04:00
arkon
26d8e47bb9 Bump default user agent string 2022-09-04 18:01:02 -04:00
AntsyLich
d55c854ebf
Webtoon Split: Improve performance (#7947) 2022-09-04 11:16:20 -04:00
Andreas
6b2b21edfa
Fix Filter not being applied in Browse Source (#7945) 2022-09-04 11:15:13 -04:00
Ivan Iskandar
99270e370e
Fix missing downloaded only/incognito banners in Browse Source (#7936) 2022-09-04 11:14:37 -04:00
arkon
21804bfc45 Reimplement extensions search
Not sure if I should abstract this out to per-tab though. Maybe when we need it...
2022-09-03 10:47:48 -04:00
arkon
38950f7bc8 Address some OkHttp nullability changes 2022-09-03 10:38:56 -04:00
arkon
bbf5c86b46 Fix missing downloaded only/incognito banners in Browse 2022-09-03 10:33:31 -04:00
Ivan Iskandar
3fa68ed217
Rebase Scaffold fork (#7929)
This changes content insets handling
2022-09-03 10:33:22 -04:00
Andreas
cc6aef693e
Merge Latest and Browse into one screen (#7921)
* Merge Latest and Browse into one

* Add back Latest button

* Change context to IO instead of launching a job

* Use loading screen when loading initial page
2022-09-03 10:16:30 -04:00
AntsyLich
5a320d87e8
Remove download source folder when empty (#7928) 2022-09-03 09:18:19 -04:00
AntsyLich
da95ecb686
Lessen the use of GlobalScope launchIO (#7916)
* Lessen the use of GlobalScope `launchIO`

* Wrap some calls with `NonCancellable` context
2022-09-02 11:50:44 -04:00
Ivan Iskandar
774a87a42a
Adjust app lock mechanism (#7924)
Now uses enum to also handle timed lock
2022-09-02 11:48:48 -04:00
AntsyLich
ff4a217730
Cleanup chapter name when syncing chapter with source (#7910) 2022-09-02 10:07:50 -04:00
AntsyLich
a43754e1a6
Fix tmp cbzs are counted towards manga download count (#7909)
* Fix tmp cbzs are counted towards manga download count

* Review Changes

* Review Changes 2
2022-09-02 10:03:37 -04:00
arkon
8ef200861c Fix webtoon viewer pages not loading
Partial revert of fddca15182
2022-09-02 10:02:04 -04:00
arkon
30b86e530b Bump OkHttp and re-enable fast fallback
It wasn't very stable last time, but we'll see how it goes in preview builds.
2022-08-31 16:51:33 -04:00
Andreas
2f26982e34
Resolve review comments for BrowseSourceScreens (#7912) 2022-08-31 16:47:07 -04:00
arkon
504844a892 Make top app bar lift behavior more consistent 2022-08-31 16:31:08 -04:00
arkon
4c1da1bd1d Maybe fix extensions list crash
Also fix weird animation of last updated text in Updates
2022-08-31 15:56:08 -04:00
arkon
dc62d0ea8b Clean up interceptors a bit 2022-08-31 15:39:59 -04:00
AntsyLich
fddca15182
Don't update page progress and allow preload when on StencilPage (#7899)
Also cleanup a little in WebtoonPageHolder
2022-08-31 15:09:21 -04:00
AntsyLich
81f49f34ef
Manually handle HTTP 103 through WebView (#7907)
* Manually handle HTTP 103 through WebView

* Review Changes
2022-08-31 14:48:25 -04:00
arkon
c39a1b7867 Minor cleanup 2022-08-31 14:43:58 -04:00
Andreas
d4b764fa31
Use Compose on BrowseSourceScreens (#7901) 2022-08-31 14:41:35 -04:00
AntsyLich
d85af2fec6
Add "Njalla" dns provider (#7908)
* Add "Njalla" dns provider

Details ~~Tho there is none~~: https://dns.njal.la/

* Lint
2022-08-31 11:23:02 -04:00
arkon
90c08303fa Implement nicer UI for migrate list sorting 2022-08-30 16:31:28 -04:00