Commit Graph

5151 Commits

Author SHA1 Message Date
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