Commit Graph

5450 Commits

Author SHA1 Message Date
arkon 2dd2db7225 Update to Kotlin 1.9.10 2023-09-09 14:49:04 -04:00
Joshua 3d0e750519 [Download Queue] Move series to bottom (#9918)
Added item in download queue page to move series to bottom
2023-09-09 14:01:24 -04:00
arkon 26c5d761da Add more replacement suspend functions for source APIs
These are basically 1-to-1 replacements for the existing RxJava APIs.
This will make the initial migration off of RxJava simpler. We'll
revisit the actual call flows in followup versions of the API.
2023-09-08 22:58:46 -04:00
arkon 1668be8587 Remove old FastScroller
Not sure if this will return to the download queue screen, you really
shouldn't be downloading a ton of stuff at once anyway?
2023-09-08 22:30:13 -04:00
arkon cc018cee18 Change backup file names
We use the application ID now to ensure uniqueness if the same folder is selected
between different app versions/forks. This will make more sense once storage
settings are unified to a single location.

Also changes the file extension while we're at it so people stop accidentally
ungzipping it.
2023-09-07 22:15:50 -04:00
arkon 3f0db60a99 Minor updates 2023-09-03 10:02:04 -04:00
arkon 87f3d4bd05 Use app name in biometric unlock dialog
Mostly for forks to show the right name.
2023-09-03 10:01:47 -04:00
Ivan Iskandar 816d7815e9 "Updates" widget for Galaxy Z Flip5 cover screen (#9892) 2023-09-02 09:37:25 -04:00
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 13dc54df70 Remove unused rxandroid dependency 2023-08-26 10:30: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 f7b335e4fb Set useDefaultDebugSigningConfigForProfileableBuildtypes flag
Related to #9774
2023-07-29 19:47:54 -04:00
arkon aa6937baf2 Disable profiling on preview builds
Related to #9774
2023-07-29 18:52:05 -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