arkon
d29b7c4e57
Switch to different ktlint plugin
...
Should be better at incremental builds.
To format, run `./gradlew ktlintFormat`.
2023-09-01 23:02:18 -04:00
arkon
98d6ce2eaf
Refactor some tracking-related logic
2023-08-27 10:41:58 -04:00
arkon
dde2f42138
Refactor some tracking-related logic
2023-08-26 18:30:17 -04:00
arkon
6922792ad1
Add more user-friendly network-related exception messages
2023-08-26 17:45:26 -04:00
arkon
6d9a8a30e9
Add ResolvableSource interface for potentially opening entries directly based on some URI via a share intent
...
Implemented as an intermediate step in the existing Global Search share intent workflow.
If any source manages to resolve the URI (e.g., a URL, a slug, etc.), the resolved SManga entry
is directly opened. If nothing gets resolved, continue to a Global Search.
2023-08-25 22:25:00 -04:00
arkon
c06beac660
Better ignore irrelevant files when indexing downloads
2023-08-24 22:41:22 -04:00
arkon
74f74eef56
Don't run automatic backup or library update jobs if battery is low
2023-08-24 22:25:29 -04:00
Alessandro Jean
eeeaae4570
Only set the dialog title if not already set in the extension ( #9858 )
...
Only set the dialog title if not already set in the extension.
2023-08-19 16:47:20 -04:00
arkon
4e68b62881
Minor cleanup
2023-08-16 23:10:28 -04:00
arkon
8a6a104987
Set tracker finished date when manually updating to last chapter
...
Closes #9834
Individual tracker implementations already handle setting it too on update.
2023-08-11 09:30:35 -04:00
arkon
3ebf39bd55
Minor reader cleanup
2023-08-06 22:27:45 -04:00
Mekanik
8f395d98e7
Make some error messages localizable ( #9811 )
...
* Make error message of 3 exceptions localizable.
* Revert unnecessary file handle exception change.
2023-08-06 09:50:43 -04:00
Mekanik
26b3eb696c
Fix missing inversion in tap zones help overlay. ( #9812 )
2023-08-05 18:36:19 -04:00
Ivan Iskandar
627f07408e
Add private extension install method ( #9710 )
...
* Add private extension install method
Private extensions are put inside private data directory of the running app, so
this kind of extensions can only be used by the running app and not shared with
other apps.
One limitation of private extension is the lack of deeplink handlers (if there's
any) since the extension APK is not installed to the system.
When both kinds of extensions are installed with a same package name, shared
extension (the one installed to the system) will be used unless the version
codes are different. In that case the one with higher version code will be used.
* update
2023-08-05 12:15:52 -04:00
arkon
39c6bcccd8
Consider local manga as downloaded when filtering in reader
...
Fixes #9801
2023-08-05 12:01:17 -04:00
arkon
6259bbaa5e
Always include bound trackers when migrating/copying
2023-08-05 11:54:34 -04:00
Mekanik
4b7acdb022
Fix migration flags usage (incorrect defaults and copy mode) ( #9805 )
...
* Fix migration flags usage (incorect defaults and copy mode)
* Remove unused logcat import left from testing.
2023-08-05 11:49:22 -04:00
Ivan Iskandar
af0fdfa3b7
ReaderViewModel: Fix saved state ( #9807 )
...
Also save page index
2023-08-05 09:47:02 -04:00
Quang Kieu
d874f20362
[Hotfix] Fix bug of not fetch update if manual library refresh as fetch period have lower limit ( #9806 )
...
Fix bug of not fetch update if manual library refresh, no auto
If somehow manga missed check period, we would not give new next update cycle and it would forever left behind
2023-08-05 09:07:00 -04:00
arkon
8680accd8e
Migrate bottom reader menu to Compose
2023-08-04 18:05:02 -04:00
arkon
7308090288
Migrate reader shortcut menus to Compose
...
Contents' UIs should probably be improved, but that can happen separately.
2023-08-04 17:34:08 -04:00
arkon
400ca48456
Remove unnecessary profileable flag in manifest
2023-08-04 17:12:11 -04:00
Alessandro Jean
9b6567f5e4
Add support to kotlin.time APIs in the rate limit interceptor ( #9797 )
...
* Add support to kotlin.time APIs in the rate limit interceptor.
* Add a missing line break in the doc.
* Move the specific host to the same file.
* Add kotlin.time rule to Proguard and remove specific host rule.
* Mark the old version as deprecated and address review.
* Remove unused import.
* Remove yet another unused import.
2023-08-04 17:11:43 -04:00
arkon
7798186c32
Drop support for extension-lib 1.3
2023-08-04 10:35:57 -04:00
arkon
9dc66c7c8d
Combine tracking OAuth login activities
2023-08-04 10:35:47 -04:00
arkon
10b0ef9b6d
Dismiss extension update notification if all updates installed
2023-08-02 18:00:06 -04:00
arkon
81cd765543
More refactoring of expected next update logic
2023-07-30 19:13:16 -04:00
arkon
c9a1bd86b5
Refactor some Screens to be classes
...
Not really much point in keeping these as singletons.
Hopefully allows for these to be GC-ed after closing them.
2023-07-30 19:13:16 -04:00
Alessandro Jean
dfbbbadfac
Show ellipsis in longer OSS library names ( #9780 )
...
Show ellipsis in longer OSS library names.
2023-07-30 17:39:37 -04:00
arkon
0f21d16263
Minor cleanup
2023-07-30 10:08:51 -04:00
arkon
5718983f41
Update benchmarking dependencies
2023-07-29 22:48:56 -04:00
arkon
cd91ea9b77
Remove need for SQLDelight primitive adapters
2023-07-29 16:14:23 -04:00
arkon
6a558ad119
Upgrade to SQLDelight 2
2023-07-29 15:32:09 -04:00
arkon
90325d48aa
Subscribe to download queue state changes in UpdatesScreen
2023-07-29 14:26:36 -04:00
stevenyomi
e2abf283fe
Don't show future timestamps as Recently ( #9773 )
2023-07-29 14:09:08 -04:00
arkon
db788d519d
Avoid badly wrapped buttons in DuplicateMangaDialog
...
Fixes #9767
2023-07-29 12:14:11 -04:00
arkon
f3e9d5f346
Show feedback message when downloads index manually invalidated
...
Closes #9768
2023-07-29 12:09:00 -04:00
arkon
fd30c0adcd
Avoid showing duplicate entry dialog for same entry
...
Fixes #9772
2023-07-29 12:07:13 -04:00
arkon
3ad4f1114a
Cleanup related to fetch interval display
2023-07-29 10:29:53 -04:00
arkon
fe90546821
Remove relative timestamps setting
2023-07-29 10:03:16 -04:00
arkon
3892c4caac
Minor cleanup
2023-07-29 09:51:51 -04:00
Quang Kieu
cb639f4e90
Update Manga in Expected Period ( #5734 )
...
* Add Predict Interval Test
* Get mangas next update and interval in library update
* Get next update and interval in backup restore
* Display and set intervals, nextUpdate in Manga Info
* Move logic function to MangeScreen and InfoHeader
Update per suggestion
---------
Co-authored-by: arkon <arkon@users.noreply.github.com>
2023-07-28 23:10:02 -04:00
arkon
6d69caf59e
Show help banner when Cloudflare captcha page is shown in WebView
2023-07-28 23:09:52 -04:00
arkon
cdc1c5efa3
Better handle saving animated drawables
2023-07-26 23:26:58 -04:00
arkon
77bfd0c099
Don't attempt to show non-bitmap image in notification when saving
...
Fixes #9758
2023-07-26 23:09:33 -04:00
arkon
8ff0c9d61a
Allow more flexible custom preference composables
2023-07-26 22:57:15 -04:00
arkon
b6620434b3
Bump dependencies
2023-07-26 22:56:49 -04:00
arkon
abae9bf37d
Minor cleanup
2023-07-23 20:03:37 -04:00
arkon
2556e9f08c
Refactor duplicate chapter number formatters
2023-07-23 18:09:08 -04:00
arkon
ee26d6dffd
Remove some uses of color resources
2023-07-22 18:56:45 -04:00
KaiserBh
7b2764e8f7
Refactor backup and restore to support cross device sync. ( #9699 )
...
* refactor: backup and restore to support cross device sync.
* chore: Updated string resources
* refactor: change function name.
* refactor: Use URI SyncHolder.kt not needed anymore.
2023-07-22 18:39:56 -04:00
arkon
46e3b9e40d
Use previously updated track item when binding start date
...
Fixes #9743
2023-07-22 09:32:17 -04:00
arkon
cf14831fbe
Clean up preference extensions/items a bit
2023-07-19 21:57:22 -04:00
arkon
7a4680603d
Avoid triggering new search for same query in global search
2023-07-19 20:31:46 -04:00
Ivan Iskandar
5c73045aa4
Don't require deeplink ext target to be pinned ( #9740 )
2023-07-19 19:54:06 -04:00
arkon
ac306547a0
Bump dependencies
2023-07-18 19:12:04 -04:00
arkon
3f868c0435
Use correct sources when triggering new global search
...
Actually fixes #9724
2023-07-18 18:09:31 -04:00
arkon
262ce3473f
Increase max lines for title in global search to 3
...
Closes #9729
2023-07-16 22:24:14 -04:00
arkon
43b9b104f5
Remove fast scrollbar from some unnecessary places
2023-07-16 22:19:50 -04:00
arkon
c7f0a54a37
Trigger new search on source filter change
...
Fixes #9724
Could be cleaned more though.
2023-07-16 22:19:33 -04:00
arkon
ca789dca0e
Dedupe SearchScreenModels
2023-07-16 19:44:32 -04:00
arkon
ef7b285151
Minor refactoring
2023-07-16 19:18:38 -04:00
arkon
dd3ca0c131
Replicate global search filters to migrate screen
...
Still needs better refactoring to dedupe all of this stuff though...
2023-07-16 17:09:59 -04:00
arkon
8b46e8edad
Dedupe Global/MigrateSearchContent composables
2023-07-16 16:43:26 -04:00
arkon
30f845139d
Use consistent extension icon URLs
...
Better caching between versions.
2023-07-16 15:44:36 -04:00
arkon
818471b7e1
Set start date when tracker is bound if any chapters are already read
...
Closes #6734
2023-07-16 15:01:04 -04:00
arkon
a3a3f44056
Constrain reader sheet to max 75% of height
2023-07-16 09:59:17 -04:00
arkon
22c6dbda3f
Replace reader sheet dropdowns with chips
2023-07-16 09:58:52 -04:00
arkon
34f7caa0fc
Use Material3 chips
2023-07-16 09:11:57 -04:00
arkon
01553b1ed8
Don't update chapter progress if current page is errored
...
Closes #5355
2023-07-16 09:11:57 -04:00
AntsyLich
ec08ba05fc
Finish up reader reading mode settings compose migration ( #9721 )
2023-07-15 15:47:01 -04:00
arkon
30bea8b753
Replace library sheet display modes with FlowRow of Chips
2023-07-15 14:31:13 -04:00
arkon
09e4b5a9cd
Replace some reader sheet settings with FlowRow of Chips
2023-07-15 14:27:30 -04:00
arkon
5467104b95
Fix window undimming when reader custom filter settings are open
2023-07-15 13:23:25 -04:00
arkon
1cf7f9be54
Use segmented buttons for reader background setting in sheet
2023-07-15 13:05:06 -04:00
arkon
fb99577836
Implement showing selected per-series reader settings
2023-07-15 12:39:36 -04:00
arkon
28131ac135
Remove legacy settings sheet
...
The per-series settings aren't quite functional yet, but they're also
accessible outside of the sheet.
2023-07-15 11:14:18 -04:00
arkon
e40b8d537c
Move all pager/webtoon reader setting to Compose sheet
2023-07-15 10:47:56 -04:00
arkon
12e7ee9d0c
Tweak global search source filtering
...
Pinned only setting is removed in favor of the UI in the global search screen itself, which defaults to pinned only.
This needs more UX improvements, but I'm not really sure what it should be like right now.
2023-07-15 10:09:46 -04:00
arkon
54733e6ceb
Mark some state data classes as immutable
2023-07-15 09:54:29 -04:00
arkon
a629db2884
Address some build warnings
2023-07-14 23:08:45 -04:00
zaghdaneh
cbcec8c4d9
Add filters to Global search ( #9691 )
...
* add pinned and available filter chips to global search
* split filter predicate into seperate function
* change the global search available filter to has Results
* reordering of imports
2023-07-14 22:49:14 -04:00
zaghdaneh
0fffde50ff
Fix to multiple chapter download incorrect state ( #9707 )
...
add subscription to download manager queue state flow
2023-07-12 23:09:15 -04:00
arkon
8775596a82
Use system APIs to localize percentage numbers
2023-07-11 22:32:20 -04:00
arkon
2f0133986a
Move boolean reading mode prefs to Compose sheet
...
Also allow webtoon side padding to be any amount between 0 - 25%.
2023-07-11 22:24:16 -04:00
AntsyLich
3bd2cad45f
Change the wording to "Retry" when page fails to load. ( #9701 )
2023-07-11 09:15:38 -04:00
AntsyLich
48f7a2de41
Actually retry when a page fails to load in Browse screen ( #9700 )
2023-07-11 08:08:25 -04:00
arkon
3aa6e7ae0e
Fix swipe action preference labels
2023-07-10 22:23:05 -04:00
arkon
813d7e49cd
Remove unused tabbed sheet layouts/classes
2023-07-10 18:55:20 -04:00
arkon
710ebfb7a5
Initial migration of general reader settings to Compose
2023-07-10 18:42:35 -04:00
arkon
87bdee5990
Move SettingsItems composables to presentation-core
2023-07-10 17:25:52 -04:00
arkon
efabe801be
Refactor chapter tracking logic
...
Could probably call this if we ever make it update tracking on manually
marking chapters as read.
2023-07-10 17:13:58 -04:00
arkon
9a817e49be
Set proper defaults for new table columns
2023-07-10 16:44:48 -04:00
KaiserBh
a577f5534f
Database changes to support library syncing ( #9683 )
...
* feat: added migrations.
* feat: create triggers, account for new installs.
* feat: update mappers to include the new field.
* feat: update backupManga and backupChapter.
Include the new fields to be backed up as well.
* feat: add sql query to fetch all manga with `last_favorited_at` field.
* feat: version bump.
* chore: revert and refactor.
* chore: forgot to lower case the field name.
* chore: added getAllManga query as well renamed `fetchMangaWithLastFavorite` to `getMangasWithFavoriteTimestamp`
* chore: oops that's not meant to be there.
* feat: back fill and set last_modified_at to not null.
* chore: remove redundant triggers.
* fix: build error, accidentally removed insert.
* fix: build error, accidentally removed insert.
* refactor: review pointer, make fields not null.
2023-07-10 15:52:57 -04:00
Ivan Iskandar
0759936226
Remove scrollable animation workaround ( #9690 )
...
Reverts ba93060e59
Related https://android-review.googlesource.com/c/platform/frameworks/support/+/2239762
2023-07-09 14:08:58 -04:00
arkon
1e3d9a00f2
Handle chapter read status in correct order
...
Fixes #9687
2023-07-09 09:54:36 -04:00
arkon
226272f686
Refactor reader progress/history logic
2023-07-08 18:05:00 -04:00
arkon
16cbcecd99
Fix download ahead
...
Fixes #9669
2023-07-08 17:56:15 -04:00
arkon
b008223661
Minor reorganization
2023-07-08 17:47:10 -04:00
arkon
f8cf3db4a4
Allow download ahead even if entry isn't favorited
2023-07-08 17:46:48 -04:00
arkon
8cc42bce5a
Tweak chapter swipe directions and icon color
2023-07-08 15:55:53 -04:00
Ivan Iskandar
8287c9d193
MangaChapterListItem: Replace swipe action method ( #9682 )
...
Using swipe (the library) and added haptic feedback
2023-07-08 10:02:20 -04:00
arkon
d32409bd6e
Fix up icon direction when RTL
2023-07-07 19:58:53 -04:00
arkon
cf3f2d0380
Adjust manga FAB to only say "Start" if there's no unread chapters in unfiltered list
...
Closes #9479
2023-07-07 17:57:29 -04:00
arkon
53c6230afe
Change auto clear cache to occur on app launch instead
...
Fixes #9564
Avoids the issue of clearing the cache when the app is backgrounded despite being in the reader.
We could do a job on idle, but we'd still need to be careful around whether the reader is active,
so this is just simpler considering it's a separate activity.
2023-07-07 17:46:39 -04:00
Semen
4882896f4d
Add function to delete downloaded chapters when migrating manga ( #9621 )
...
add function to delete downloaded chapters when migrating manga and getFlagsFromPositions fix
2023-07-07 09:57:02 -04:00
arkon
6fe5e6e21b
Save reader progress on every page change
...
Fixes #9668
Could probably refactor this a bit more, but the reader view model stuff is a mess in general anyway.
2023-07-05 18:57:57 -04:00
arkon
8c5496b53f
Configure external-files-path for files provider
...
Maybe fixes #9660 . Why do Chinese companies insist on breaking things?
2023-07-05 18:38:32 -04:00
arkon
3125d78706
Remove some dead code
2023-07-01 14:54:35 -04:00
arkon
bb8f3c63f1
Remove usage of savedInstanceState for storing reader menu visibility state
2023-07-01 12:47:20 -04:00
arkon
44cc6f11c7
Fix crash when tapping reader in long strip mode before RecyclerView is created
2023-07-01 10:36:46 -04:00
arkon
bae391c2c1
Replace deprecated ProgressDialog
...
Fixes #8223
2023-07-01 10:36:20 -04:00
arkon
b79ef5dc79
Address some deprecation warnings
2023-06-30 22:14:17 -04:00
LagradOst
d99f4697e8
Fixed scrolling on the background using long strip ( #9654 )
...
Update WebtoonFrame.kt
2023-06-30 21:56:35 -04:00
stevenyomi
bb3fdef40b
Browse Source: clear search query when changing listing ( #9652 )
2023-06-29 22:39:43 -04:00
Alessandro Jean
2a7cca6ea4
Show a progress indicator while checking for updates in the about screen ( #9641 )
...
* Show a progress indicator while checking for updates.
* Remove a unused import.
* Remove the initial toast.
2023-06-27 22:14:31 -04:00
Alessandro Jean
6ed2748846
Show open source library license in a custom screen ( #9645 )
...
Show open source library license in a custom screen.
2023-06-26 22:28:14 -04:00
Alessandro Jean
8a5e443ca5
Make source preferences' titles multiline ( #9644 )
...
Make source preferences' titles multiline.
2023-06-26 14:05:22 -04:00
arkon
a07e0df815
Use same icons as action bar in swipe actions
2023-06-25 14:50:48 -04:00
arkon
88e9fefa59
Retry LibraryUpdateJob later if Wi-Fi condition not met
2023-06-25 14:31:28 -04:00
arkon
c0fd47b066
Retry DelayedTrackingUpdateJob up to 3 times if all items not updated
2023-06-25 14:31:28 -04:00
Denny Rodrigues do Carmo
ee684cbef5
Fix download ahead while reading functionality ( #9640 )
...
Correct condition for downloading next chapter
2023-06-25 14:18:54 -04:00
arkon
7d4af1f8cc
Don't affect reader toolbars/sheets when using custom brightness
...
Closes #8444
You should be able to tap to bring up the menus even if the brightness is too low.
2023-06-24 12:56:45 -04:00
arkon
fe82cdb9c8
Migrate ReaderColorFilterSettings to Compose
...
It'll eventually be a tab with the other settings again once the other tabs are also
migrated over so it's just a single Compose sheet.
2023-06-24 12:51:10 -04:00
arkon
b354e37cc3
Refactor grid size slider composable for reuse
2023-06-24 11:23:06 -04:00
arkon
f344831d58
Use our own translation for "OK"
...
I missed this in the PR that it came with, but I guess it'll be useful if we go multiplatform.
2023-06-24 10:38:34 -04:00
Semen
2eca8511cb
Trackers empty scores start starts from middle ( #9624 )
...
* Trackers empty scores start starts from middle
* Trackers empty scores start starts from middle
* Trackers empty scores start starts from middle
2023-06-24 10:37:20 -04:00
arkon
f2b0d74b4c
Migrate ReaderPageSheet to Compose
2023-06-23 23:17:47 -04:00
arkon
42bc2b07ce
Minor cleanup
2023-06-23 22:39:59 -04:00
Shamicen
fcfa62f220
Better handle decimal chapter numbers and add categories in ComicInfo.xml files ( #9604 )
...
* Serialize whole chapter numbers without decimal point and add library categories to genre
* added Tachiyomi specific ComicInfo Category field
* lint
* implemented requested changes
2023-06-23 17:56:01 -04:00
Ivan Iskandar
25b0458930
composed Modifier changes ( #9631 )
...
Referring at the examples and other internal usages, the
resulting stateful Modifier should be separated from
all the previous Modifier chain.
2023-06-23 17:54:01 -04:00
zaghdaneh
b36b3bfcab
Remove manga from trackers ( #9535 )
...
* Dialog for service tracker removal added, anilist query prepared
* added API delete requests for Mal and Kitsu
* implement and fix tracker delete for anilist, shikimori, mangaupdates
* implement and test mal delete request
* Update to dialog text to reflect current tracker
* finish kitsu api request and block bangumi tracker removal
* Change delete flag into interface, localise strings, clean up logs
* Add shikimori delete compatibility for already existing entries
* update track delete dialog prompt to include checkbox, update strings
* Update i18n/src/main/res/values/strings.xml
Co-authored-by: stevenyomi <95685115+stevenyomi@users.noreply.github.com>
* Update i18n/src/main/res/values/strings.xml
---------
Co-authored-by: unknown <zaghdane@fireflow.de>
Co-authored-by: arkon <arkon@users.noreply.github.com>
Co-authored-by: stevenyomi <95685115+stevenyomi@users.noreply.github.com>
2023-06-22 22:06:43 -04:00
Ivan Iskandar
b4393ff741
Update core-splashscreen ( #9629 )
2023-06-22 21:59:17 -04:00
Ivan Iskandar
740e370465
Bump compile SDK version 34 ( #9625 )
2023-06-22 14:20:12 -04:00
arkon
0871208023
Avoid crash when trying to open random entry but categories are still loading
...
Fixes #9610
2023-06-15 22:16:31 -04:00
arkon
ee95c1439f
Blur manga info header image
...
Similar to J2K. This only applies on Android 12+.
2023-06-13 20:36:33 -04:00
arkon
e323f3c25a
Don't update last page read/read state of chapter if Incognito Mode is enabled
...
Actually closes #7228 , which I forgot was about history more than trackers.
2023-06-13 19:30:02 -04:00
arkon
9766399539
Don't update trackers after reading a chapter if Incognito Mode is enabled
...
Closes #7228
2023-06-13 18:51:07 -04:00
Simon
dddba7bb6f
Filter out non-downloaded chapters in reader when Downloaded Only is enabled ( #9568 )
...
* FIxed Issue #5463 - DownloadedOnly Bug
* Changes according to Feedback
* Changes according to Feedback
---------
Co-authored-by: AlphiGhost <71730726+AlphiGhost@users.noreply.github.com>
2023-06-10 12:48:15 -04:00
Ivan Iskandar
9ec8d770ea
MangaChapterListItem: Increase swipe action touch slop ( #9598 )
2023-06-10 12:48:03 -04:00
Two-Ai
cf777d9893
Cleanup MangaScreenModel successState usage ( #9582 )
...
* Refactor updateSuccessState
- Convert to inline function
- Use when for type safety if we add other MangaScreenState types
* Replace equivalent expressions with updateSuccessState
* Replace safe cast in MangaScreen
2023-06-09 23:11:02 -04:00
arkon
841f80f935
Add share menu item in reader
...
Closes #9510
2023-06-09 22:52:49 -04:00
arkon
39a7356ed1
Directly track current WebView URL instead of relying on state
...
State approach doesn't work well for client-side routed apps like MangaDex.
Fixes #9576
2023-06-09 22:45:13 -04:00
arkon
34b9c82cd0
Remove General settings section
2023-06-04 17:07:29 -04:00
arkon
405a75438a
Remove per-category display mode
...
There seems to be little value in this feature, and juggling flag masks is annoying.
Per-category sorting is still a thing, but could be refactored away from the flag in the feature.
2023-06-04 16:59:21 -04:00
Ivan Iskandar
39e4568460
ReaderProgressIndicator: Convert to Compose ( #9574 )
2023-06-03 13:11:41 -04:00
arkon
531e1c62bb
Hide release period update restriction in non-dev builds until ready
2023-06-02 18:23:31 -04:00
arkon
1a1f16f44a
Bump dependencies
2023-05-31 22:48:13 -04:00
arkon
431f8772f8
Address minor build warnings
2023-05-31 22:47:31 -04:00
arkon
8a5382042c
Fix misleading release grace period "Default" options
2023-05-31 18:52:36 -04:00
arkon
8f4bc71cf7
Remove confirm exit option
...
Redundant with predictive back, but also just sort of pointless since it doesn't help
with any sort of app state retention.
2023-05-31 18:51:01 -04:00
Two-Ai
0ac38297f4
Replace RxJava in extension installer ( #9556 )
...
* Replace RxJava in extension installer
Replace common downloadsRelay with Map of individual StateFlows
* Drop RxRelay dependency
* Simplify updateAllExtensions
* Simplify addDownloadState/removeDownloadState
Use immutable Map functions instead of converting to MutableMap
2023-05-30 10:25:20 -04:00
arkon
f48f212001
Minor cleanup
2023-05-27 23:27:02 -04:00
Quang Kieu
c90f344910
Add setting and calculate for update interval ( #9399 )
...
* Add Grace Period value and settings
* Add functions to calculate nextUpdate
* update per review
* Move more into SetMangaUpdateInterval, keep wrapper
2023-05-27 23:01:36 -04:00
Ivan Iskandar
a458bd9fdb
Update Glance v1.0.0-beta01 ( #9551 )
2023-05-27 22:59:21 -04:00
arkon
ed5a56be60
Set reader chapter name to marquee if too long
...
Closes #7159
2023-05-27 19:15:11 -04:00
arkon
899fe57f15
Slightly tweak MangaScreen refresh indicator
...
Related to #7813 . It still starts below the status bar, but it looks a bit less weird.
2023-05-27 19:06:04 -04:00
arkon
bac42edabb
Add debug screen to copy backup file schema
...
Closes #8544
2023-05-27 18:53:11 -04:00
arkon
8735f3566f
Fix bookmarked chapters being deleted after manually marked as read
...
Fixes #9520
2023-05-27 18:30:59 -04:00
arkon
46efd4c134
Fix some crashes
2023-05-27 09:53:01 -04:00
arkon
dfd38db7e3
Use primitive state holders
2023-05-27 09:22:31 -04:00
arkon
929a881943
Simplify chapter item composable a bit
...
Closes #9442 because I just removed the rounding entirely...
2023-05-26 23:02:16 -04:00
arkon
152fdec855
Minor cleanup and remove unused dependencies
2023-05-26 22:52:00 -04:00
Artemis-CtrlAltDel
9c07451d95
fix: grid size slider ( #9542 )
2023-05-26 22:41:22 -04:00
arkon
e3b2720924
Remove redundant inset handling in AdaptiveSheet
...
The Dialog is handling it anyway, so this doesn't really do anything useful.
We might need to add this back if Dialog actually handles edge-to-edge properly.
2023-05-24 18:10:17 -04:00
Two-Ai
3ae1e37c40
Replace RxJava in Downloader ( #9256 )
...
* Rename removeFromQueueByPredicate to removeFromQueueIf
Follow-up to PR comment in #9511
* Make Download hashCode stable
Mutating pages would previously change the Download hashCode, which
breaks HashMap lookups.
* Convert Donwloader subscription to coroutine
Replace downloadsRelay with activeDownloadsFlow. Instead of managing
a PublishRelay independent from the queue, derive a Flow of active
downloads directly from the queue StateFlow. (This will allow
updating the queue without pausing the downloader, to be done in a
follow-up PR.)
When a download completes successfully, the downloads is removed from
queueState. This updates activeDownloadsFlow and causes the
downloaderJob start the download job for the next active download.
When a download fails, the download is left in the queue, so
queueState is not modified. To make activeDownloadsFlow update
without a change to queueState, use transformLatest and use the
Download statusFlows to suspend until a download reaches the ERROR
state.
To avoid stopping and starting downloads every time
activeDownloadsFlow emits a new value, maintain a map of current
download Jobs and only start/stop jobs in the difference between
downloadJobs and activeDownloads. To make sure all child download
jobs are cancelled when the top-level downloader job is cancelled,
use supervisorScope.
* Remove obsolete main thread references in Downloader
Thread safety of the queue state used to be guaranteed by running all
queue mutation on the main thread, but this has not been true for
some time. Since the queue state is now backed by a StateFlow,
queueState can be safely updated by any thread.
2023-05-24 18:02:27 -04:00
arkon
5a9889b562
Upgrade Compose
...
Co-authored-by: ivaniskandar <ivaniskandar@users.noreply.github.com>
2023-05-21 11:21:32 -04:00
arkon
5ca7c39751
Replace Cascade with our own somewhat janky implementation
2023-05-21 11:02:56 -04:00
arkon
44609c494c
Use AppBarActions in more places
2023-05-20 22:47:16 -04:00
arkon
a4d86a2e1e
Enable predictive back gesture for Android 13 (behind developer option)/14+
2023-05-20 16:16:19 -04:00
Shamicen
b8716ff6fe
Populate the ComicInfo Number field with chapter numbers ( #9514 )
...
* Populate the ComicInfo Number field
* added negative number check
2023-05-20 10:24:10 -04:00
Ivan Iskandar
73118d4af7
DownloadCache: Fix freezing on initial loading of cache file ( #9523 )
2023-05-19 22:06:06 -04:00
Two-Ai
c27bf4e866
Minor Downloader cleanup ( #9511 )
...
* Inline completeDownload
* Consolidate queueState updates in removeFromQueue
* Inline post-download steps into downloadChapter
2023-05-19 17:16:32 -04:00
arkon
fb38d30775
Avoid attempts to renaming download dirs if name hasn't actually changed
...
Maybe fixes #9503
2023-05-14 12:24:40 -04:00
arkon
b4bb855675
Revert "Bump to somewhat newer version of Compose BOM"
...
This reverts commit ce81b76150
.
Fixes crashes when opening menus. Cascade doesn't have an update
to fix this yet.
2023-05-13 22:45:36 -04:00
Ivan Iskandar
6263a52777
Fix navigation backstack ( #9497 )
...
Partial revert of dbbf6c5de0
2023-05-13 14:22:02 -04:00
Ivan Iskandar
96defd6b05
Replace our custom Pager ( #9494 )
...
Turns out that changing the pagerSnapDistance
is enough to achieve the same result.
2023-05-13 12:06:00 -04:00
arkon
bcd90be525
Use AppBarActions in more places
...
Related to #8270
2023-05-13 10:04:22 -04:00
arkon
22afae4449
Add tooltips for AppBarActions
...
Partially addresses #8270 . A bunch of Scaffolds aren't using this helper.
2023-05-12 22:56:13 -04:00
arkon
8fae92034e
Fix missing appbar when statistics are loading
2023-05-12 18:13:07 -04:00
arkon
ce81b76150
Bump to somewhat newer version of Compose BOM
2023-05-12 18:10:07 -04:00
AntsyLich
f70d5ea976
Delay automatic backup when restoring ( #9492 )
2023-05-12 18:02:11 -04:00
arkon
dbbf6c5de0
Switch back to upstream version of Voyager
2023-05-12 18:01:48 -04:00
Ivan Iskandar
84acae27b7
ChapterNavigator: Fix rounding error when changing page with slider ( #9477 )
...
ChapterNavigator: Fix rounding error when changing page from slider
2023-05-08 09:00:05 -04:00
arkon
71f6e07e71
Don't compute key for browse list based on manga ID, which may be repeated
...
Fixes #9473
2023-05-07 19:39:09 -04:00
arkon
6f59c6c6bb
Revert attempts to read archives to cache first
...
Issues:
- Apache implementation relies on methods unavailable on lower Android API levels
- Using input stream implementation doesn't seem to read some files properly, but using
ZipFile implementation still requires reading the entire thing into memory
2023-05-07 12:03:58 -04:00
Ivan Iskandar
d36cf5ce15
Chapter transition tweaks ( #9470 )
...
* Chapter transition tweaks
* Chapter transition cleanups
2023-05-07 10:08:33 -04:00
arkon
b051e37ab7
Address minor build warnings
2023-05-06 23:11:14 -04:00
arkon
1b25290d39
Fix filter FAB not working in migrate screen
...
I feel like this needs to be aligned with the browse screen/deduped somehow, but that can happen separately.
Fixes #9444
2023-05-06 12:27:44 -04:00
arkon
2f5eb73d29
Allow scrolling in restore confirmation dialog
...
Fixes #9460
2023-05-06 12:22:14 -04:00
Ivan Iskandar
f0dd33ee4c
ChapterNavigator: Always show buttons and fix steps visual ( #9461 )
2023-05-06 11:15:39 -04:00
Two-Ai
bbe0ab1dd0
Fix delay between URL fetch and image download ( #9452 )
...
Fetch each source image URL immediately before downloading each image
instead of fetching all URLs and then downloading all images.
Source image URLs may change, so the downloader may fail if there is
too long a delay between fetching the image URL and downloading the
image.
2023-05-05 22:17:51 -04:00
Two-Ai
cb2d43c0d1
Ensure final download status is always set ( #9453 )
2023-05-05 22:17:05 -04:00
Ivan Iskandar
fce9cb820c
ChapterNavigator: Fix haptic feedback ( #9458 )
2023-05-05 22:15:56 -04:00
Ivan Iskandar
08e4863d94
ChapterNavigator: Fix background color ( #9450 )
2023-05-04 13:55:53 -04:00
arkon
9a10656bf0
Migrate reader slider and next/prev buttons to Compose
2023-05-03 17:14:11 -04:00
arkon
3c79777e66
Migrate PageIndicatorTextView to Compose
...
Probably closes #7798
2023-05-03 16:18:25 -04:00
arkon
f5ad95d78a
Fix language in source filter list jumping to top incorrectly
...
Fixes #9068
2023-05-03 15:07:41 -04:00
arkon
14c465d36f
Get current track services when composing LibrarySettingsDialog
...
Fixes #9431
2023-05-03 14:41:08 -04:00
arkon
99378ddf20
Bump dependencies
2023-05-03 14:09:52 -04:00
arkon
c623258e8c
Try Apache implementation of ZipFile instead
...
Docs: https://commons.apache.org/proper/commons-compress/
Related StackOverflow post: https://stackoverflow.com/a/54236244/4421500
Related to #9438
2023-05-03 14:00:33 -04:00
Houssein Zaghdane
6ce42dc167
fix to multiple "add to library" toasts bug when adding a new series ( #9433 )
...
fix to multiple "add to library" toasts bug (#9177 )
Co-authored-by: Houssein Zaghdane <zaghdane@fireflow.de>
2023-05-03 10:40:11 -04:00
Andreas
f63573f25f
Remove SourceData and use StubSource directly for database ( #9429 )
2023-05-03 10:33:05 -04:00
Andreas
02864ebd60
Move GitHub Release/App Update logic to data ( #9422 )
...
* Move GitHub Release/App Update logic to data
* Add tests for GetApplicationRelease
* Review changes
2023-04-29 22:14:49 -04:00
arkon
9339ea4196
Process chapter duplicates after sorting
...
Closes #9255 , sort of. The example is a bad edge case though, where chapter numbers are repeated across versions,
so realistically only the first 113 will appear but the later 113(s) won't despite being "different". Those realistically
should be in different manga entries, not all mixed together, so this is just a crappy source.
2023-04-28 16:01:14 -04:00
AntsyLich
6bdc1b676e
Avoid potential crash when opening library settings sheet 2.0 ( #9419 )
...
Avoid potential crash when opening library settings sheet 2.0
Previous one had issues
2023-04-28 15:15:54 -04:00
Andreas
7451c13edd
Add slider for changing columns ( #9421 )
...
- It changes the columns based on the current orientation
2023-04-28 15:13:41 -04:00
arkon
ccd4143d9d
extension-lib 1.5: Add AppInfo#getSupportedImageMimeTypes()
2023-04-28 11:36:17 -04:00
arkon
c590f55030
Revert "Avoid potential crash when opening library settings sheet ( #9415 )"
...
This reverts commit 2cb08e6bb1
.
2023-04-28 10:11:13 -04:00
AntsyLich
c21813a8b5
Add an icon to "Item Per Row" on library sheet ( #9414 )
...
Also cleanup `SettingsItems.kt`
2023-04-28 10:08:35 -04:00
AntsyLich
2cb08e6bb1
Avoid potential crash when opening library settings sheet ( #9415 )
2023-04-28 09:08:17 -04:00
stevenyomi
058ee4c86b
Fix exception formatter's format ( #9413 )
2023-04-28 09:06:32 -04:00
arkon
ea6e5eebac
Remove "when tapping" from "Pan wide images" setting
...
Closes #9343
2023-04-27 22:54:07 -04:00
arkon
9cc25ff345
Fix disable source option not appearing
2023-04-27 22:47:58 -04:00
arkon
c9805b8612
Consolidate exception message formatting
...
Closes #9408
2023-04-27 22:45:30 -04:00
Quang Kieu
41c89eb61d
Add interval data layer ( #9398 )
...
* Update Manga classes for fetch interval data
* Update per review
bump version
---------
Co-authored-by: quangkieu <qkieu>
2023-04-27 22:27:12 -04:00
arkon
392c3492b3
Minor cleanup
2023-04-26 17:27:44 -04:00
arkon
20bec66a9d
Handle archives with nested directories properly
...
Closes #9389
2023-04-25 22:07:34 -04:00
Ken Swenson
3ce9a9ff97
Double tap zoom toggle ( #9384 )
...
* Double tap zoom toggle
Implements a toggle that allows users to disable double tap zoom including QuickScaling for webtoons. Partially resolves #4145
* Update i18n/src/main/res/values/strings.xml
---------
Co-authored-by: arkon <arkon@users.noreply.github.com>
2023-04-25 18:06:49 -04:00
d-najd
a8f17a3fab
Add swipe actions for chapters ( #9304 )
...
* added chapter swipe
* Rework corner animtion
* Update i18n/src/main/res/values/strings.xml
Co-authored-by: arkon <arkon@users.noreply.github.com>
* Replace LTR/RTL with Start/End layout
* Added label to the animation so the warning will go away
* Getting rid of the swipe threshold setting
* adding disabled option, renaming stuff, other stuff?
* Getting rid of the snackbar
* Getting rid of unecessary strings
* changing enum names as requested
* Renaming Raio to Ratio (I need a better keyboard as well -__-)
* Replacing error with download icon and action
* backup
* minor cleanup
* fixing an nasty edge case
* fixing mistakes in the previous conflict
* space
* fixing bug
fixed bug where the user could dismiss already dismissed item leading to item getting stuck
* fixing lint errors
* fixing lints (hopefully)
* Added "swipe disabled" to the list of actions
* Replacing string value and moving value as requested
* replacing rest of the strings with generic ones
---------
Co-authored-by: arkon <arkon@users.noreply.github.com>
2023-04-25 17:29:39 -04:00
Tooster
ef3d2c14b4
Fix misused string key in library context menu ( #9388 )
...
The "update global" action used key which led to translation issues in Polish.
2023-04-24 22:32:28 -04:00
arkon
44619febd3
Load ZIP file contents to cache ( #9381 )
...
* Extract downloaded archives to tmp folder when loading for viewing
* Generate sequence of entries from ZipInputStream instead of loading entire ZipFile
2023-04-23 11:59:58 -04:00
arkon
418e6a8b3a
Make loader implementation classes internal
2023-04-23 10:11:26 -04:00
arkon
67b4e53a58
Minor cleanup
2023-04-23 10:11:26 -04:00
arkon
e23cc8f83a
Hide beta split tall images setting from reader setting sheet for release builds
...
Closes #9358
2023-04-22 16:33:41 -04:00
arkon
0b125b7106
Use Compose for reader transition chapter info ( #9373 )
2023-04-22 16:33:36 -04:00
arkon
26f3995595
Consolidate missing chapters functions to domain module and add tests
2023-04-22 11:34:51 -04:00
Pauline
41cc1fe723
Fallback chapter name if it ends up as blank ( #9220 )
...
* change the directory's name for a download when the chapter's name is only composed of numbers or is blank
* maj in case the chapter name is blank or empty
* clean code
2023-04-22 11:11:56 -04:00
arkon
add228407f
Remove abstract TabeedBottomSheetDialog class
2023-04-19 22:43:36 -04:00
Ivan Iskandar
2c6e025063
Add more info to debug screen ( #9357 )
...
* App version
* WebView version
* ART profile status
* Device model
* Android version
2023-04-18 22:59:27 -04:00
arkon
c6ac992798
Move library columns settings to library sheet
...
Closes #3969 . Dialog-ception.
2023-04-15 19:36:49 -04:00
arkon
8ab7e63293
Add tests for MissingChapters function
2023-04-15 09:51:52 -04:00
arkon
4bcd623829
Move worker info screen into debug info menu
...
No need to translate anything for debug info. Dunno what else will end up in that menu in the future.
2023-04-15 09:35:22 -04:00
Trace
4816b4b53a
fix: skip duplicate chapters on download ahead if option to skip duplicates is enabled ( #9334 )
...
* fix: skip duplicate chapters on download ahead if option is enabled
* fix: Use a function to filter duplicates
2023-04-15 09:34:02 -04:00
Ivan Iskandar
60d8650860
WheelPicker: Add manual input ( #9338 )
2023-04-15 09:26:33 -04:00
Eshlender
564a0980b9
Update track domain shikimori.me ( #9333 )
...
shikimori.me
2023-04-14 21:57:05 -04:00
Ivan Iskandar
c1e23ec18e
GlobalSearchScreen: Skip result screen when using search intent ( #9299 )
2023-04-07 22:18:48 -04:00
arkon
b7cd7b8b4e
Better handle overflowing content in MigrateDialog actions
...
Fixes #9207
2023-04-05 22:36:57 -04:00
arkon
776d36caf1
Save current chapter progress when navigating to adjacent chapters
...
Fixes #9295
2023-04-05 22:29:56 -04:00
Ivan Iskandar
182e642cfc
SearchToolbar: Check initial search query to open keyboard by default ( #9297 )
2023-04-05 22:15:56 -04:00
arkon
d25ba23079
Fix automatic backups not working
...
Apparently they die if you rename a worker class.
2023-04-05 22:13:54 -04:00
arkon
75460e01c8
Remove crash log notification in favor of sharing directly
2023-04-02 15:30:22 -04:00
RS156
274218cf22
Make center zoom start vertically centered too ( #8849 )
...
Update ReaderPageImageView.kt
"true center" Zoom start position #8747 .
Changed zoom position to get true center value.
2023-04-01 14:52:15 -04:00
Ivan Iskandar
7a1b599462
Adjust SearchToolbar soft keyboard behavior ( #9282 )
...
* Show soft keyboard when the text field is composed (a redo)
* Clear focus on text field when soft keyboard is hidden
* Request focus on text field and show soft keyboard
when clear button is clicked
2023-03-31 09:24:44 -04:00
arkon
1dd62af188
Ensure EmptyScreen is scrollable
...
Also fix padding for loading/empty states in BrowseSourceScreen
2023-03-29 22:53:58 -04:00
Ivan Iskandar
6f1099b710
AdaptiveSheet: Wrap inside Dialog ( #9279 )
...
Because of Compose issue, the style of the sheet surface is adjusted as
a workaround
Ref https://issuetracker.google.com/issues/246909281
2023-03-29 22:34:32 -04:00
arkon
be8e2f119f
Make pin source icon lighter
...
Closes #9274
2023-03-28 23:01:22 -04:00
arkon
18f9e5ba6b
Use IO dispatcher for some screen model work
...
Not sure if this is an ideal approach. If it is, we could migrate more usages to this.
2023-03-28 22:52:30 -04:00
arkon
d1bf857079
Remove unnecessary withIOContext
2023-03-28 18:16:43 -04:00
arkon
be54b8862e
Refactor away some unnecessary lambda expressions
2023-03-26 13:27:31 -04:00