Commit Graph

5657 Commits

Author SHA1 Message Date
arkon
94448faf97 Update website links 2023-10-25 11:58:00 -04:00
arkon
f8834ee764 Avoid opening blobs as webpages
Fixes #10060

(cherry picked from commit 548f7f415a)
2023-10-25 11:53:40 -04:00
Vlasov Roman
7c703b17d3 Change Shikimori domain from ".me" to ".one" (#10027)
(cherry picked from commit 8f3681d79f)
2023-10-25 11:52:24 -04:00
arkon
91712daee8 Use consistent extension icon URLs
Better caching between versions.

(cherry picked from commit 30f845139d)
2023-10-25 11:49:33 -04:00
arkon
8057f067b9 Handle reader app bar insets in Compose 2023-10-25 09:21:04 -04:00
arkon
548f7f415a Avoid opening blobs as webpages
Fixes #10060
2023-10-25 09:18:59 -04:00
arkon
d9c0b1ce7d Migrate reader low brightness overlay to Compose 2023-10-24 22:21:17 -04:00
arkon
0a0b686119 Add Compose previews for reading and orientation mode dialogs 2023-10-24 22:16:03 -04:00
KaiserBh
69669bcf67
Revert "refactor: remove the none/off choice default to google drive."
This reverts commit c0d43590ad.
2023-10-23 22:53:48 +11:00
KaiserBh
c0d43590ad
refactor: remove the none/off choice default to google drive.
Signed-off-by: KaiserBh <kaiserbh@proton.me>
2023-10-23 22:43:35 +11:00
KaiserBh
ad17884dec
chore: use the new function format to map the manga.
Signed-off-by: KaiserBh <kaiserbh@proton.me>
2023-10-23 19:17:11 +11:00
KaiserBh
fd63383d74
fix: conflict.
Signed-off-by: KaiserBh <kaiserbh@proton.me>
2023-10-23 19:02:16 +11:00
Caleb Morris
3b7ed9bc6d
Detached permission request from DiskUtil (#10051)
Being an extension on the DiskUtil couples to a class at a different abstraction
 layer without really needing to. Created PermissionRequestHelper as a place to
 put similar requests if needed in the future.
2023-10-22 19:58:16 -04:00
arkon
012854dd1e Update Voyager 2023-10-22 15:54:31 -04:00
Caleb Morris
6d1e520c6c
[dev QoL] Added AndroidStudio previews for [presentation.track] namespace (#10022)
* Created DummyTracker for use in tests and presentation previews

* Added previews for TrackerSearch

* Added previews for TrackLogoIcon

* Added preview for TrackInfoDialogSelector

* Added previews for TrackInfoDialogHome
2023-10-22 09:30:34 -04:00
Joshua Owolabi
f84868a264
Allow extensions to open manga or chapter by URL (#9996)
* open manga and chapter using URL

* removing unnnecessary logs

* Resolving comments

* Resolving comments
2023-10-21 21:44:43 -04:00
arkon
8e4cedf173 Update Compose 2023-10-21 18:09:30 -04:00
Caleb Morris
3a35c13575
Decoupled Tracker Interface (#10042)
Split out Tracker to interface and created simple dummy instance for previews
2023-10-21 17:10:34 -04:00
arkon
489d22720a Refresh tracks before updating progress
Closes #1652

Also removes the ability to trigger refreshes for the entire library or
as part of a library update as it should no longer be needed. Opening
the tracking sheet already refreshes the data too, so stale data is
irrelevant there.

Also closes #4775 since it would no longer be relevant.
2023-10-21 10:20:35 -04:00
arkon
c53172265b Consistent labeled checkbox composable 2023-10-21 09:42:12 -04:00
arkon
8626a55fe4 Make text clickable when removing item from tracker 2023-10-18 22:50:09 -04:00
Vlasov Roman
8f3681d79f
Change Shikimori domain from ".me" to ".one" (#10027) 2023-10-18 22:49:45 -04:00
arkon
c4ce3dd46f Update background job preferences once settings are restored
Co-authored-by: Jays2Kings <Jays2Kings@users.noreply.github.com>
2023-10-17 22:32:13 -04:00
arkon
22df12a680 Change crash log info to just have actual WebView version 2023-10-17 22:30:55 -04:00
arkon
e572abb041 Show an error if backup file URI isn't returned to app when attempting restore
Related to #10028
2023-10-17 22:25:05 -04:00
Ivan Iskandar
ea99d77fda
ExtensionLoader: Fix incorrect ext file deletion (#10026)
Ref c492efcb31
2023-10-15 22:05:35 -04:00
arkon
82a9d36df7 Minor cleanup 2023-10-14 22:46:51 -04:00
Caleb Morris
447bcb28ef
[dev QoL] Added AndroidStudio previews for [presentation.history] namespace (#10012)
* Added display preview for HistoryDialogs

* Added preview with provider for each branch for HistoryItem

* Added previews for HistoryScreen

Created in-memory preferences construct for when its needed at top-level injection

* Fixed ktlint violations
2023-10-14 22:23:11 -04:00
arkon
0be7ac5871 Bump dependencies 2023-10-14 22:22:46 -04:00
arkon
d18022c259 Migrate top reader app bar to Compose 2023-10-14 12:30:17 -04:00
arkon
5619a4c0d9 Remove remaining usages of platform-provided strings 2023-10-14 11:11:05 -04:00
Ivan Iskandar
0026f96fad
MangaSummary: Refactor to not use SubcomposeLayout (#10008) 2023-10-14 10:52:04 -04:00
Ivan Iskandar
c492efcb31
ExtensionLoader: Set read-only to private extension files (#10007) 2023-10-12 23:04:40 -04:00
arkon
c386d375de Tweak Cloudflare help message in WebView screen
Catches pages like what Shinigami is currently showing.
Also adjusts the banner to make it look more like part of the top AppBar so it
looks less like part of the webpage.
2023-10-12 22:56:33 -04:00
arkon
540fb1bb7c Use AppBar abstraction in more places 2023-10-12 22:49:21 -04:00
arkon
81448f5d01 Minor cleanup 2023-10-12 22:43:03 -04:00
arkon
7c01201055 Refactor reader bottom bar to presentation package 2023-10-12 22:42:49 -04:00
arkon
90d3dd2242 Use relative touch positions for reader tap events
Fixes #10004
2023-10-12 22:15:30 -04:00
KaiserBh
75162fbfe7
refactor: Use the new class backupCreator and backupRestorer instead of BackupManager.
Signed-off-by: KaiserBh <kaiserbh@proton.me>
2023-10-11 23:25:24 +11:00
KaiserBh
010352fee3
refactor: remove private as it's used by syncManager as well.
Signed-off-by: KaiserBh <kaiserbh@proton.me>
2023-10-11 23:23:53 +11:00
KaiserBh
6c4f1184cb
refactor: make sure the read status is taken from backup.
This way it will mark chapters as unread if it's not read and vice versa.

Signed-off-by: KaiserBh <kaiserbh@proton.me>
2023-10-11 23:23:34 +11:00
KaiserBh
2747e15953
refactor: remove private as it's used by sync.
Signed-off-by: KaiserBh <kaiserbh@proton.me>
2023-10-11 23:22:56 +11:00
KaiserBh
ef6da09b7e
chore: merge upstream.
Signed-off-by: KaiserBh <kaiserbh@proton.me>
2023-10-11 21:44:54 +11:00
arkon
97b4d1f13d Use Compose to animate bottom reader menu bars 2023-10-09 22:27:46 -04:00
arkon
b7d282235d Remove duplicated logic for binding enhanced trackers 2023-10-08 19:19:04 -04:00
Pauline
77ebc362f6
Add button to reorder categories alphabetically (#9369)
Closes #6459

Co-authored-by: arkon <arkon@users.noreply.github.com>
2023-10-08 18:55:15 -04:00
arkon
8568d5d6c3 Always save pages/covers in subfolders
Ensures that pages and covers are grouped together.
2023-10-08 17:04:02 -04:00
arkon
7ed99fbbd6 Account for skipped entries when showing large updates warning
Closes #6159
2023-10-08 16:40:17 -04:00
arkon
94cba9324c Remove beta webtoon viewer split page
This had a bunch of issues around split pages not showing up properly so things
end up appearing to be missing while reading.
It'd be more worthwhile redoing the reader viewers than trying to get this to work
properly. It'd be better to just enable the split pages on download instead.

Closes #8433
2023-10-08 16:39:45 -04:00
arkon
6dab94a937 Move backup restoring functions from BackupManager to BackupRestorer 2023-10-08 16:11:45 -04:00
arkon
0f42b9f154 Add source preferences to backups
Closes #1857

Co-authored-by: jmir1 <jmir1@users.noreply.github.com>
2023-10-08 16:02:03 -04:00
arkon
730f3a6e52 Exclude tracker credentials in backups 2023-10-08 11:07:42 -04:00
arkon
72024aa44a Add app settings to backups
This should be compatible with Aniyomi's implementation.
Related to #1857

Co-authored-by: jmir1 <jmir1@users.noreply.github.com>
2023-10-08 10:41:20 -04:00
arkon
e47f4cc177 Specify broadcast receiver export flags
Really only useful once we target Android 14, but doesn't hurt to do it now.
2023-10-07 10:03:45 -04:00
LooKeR
78aa50bb35
Reduce recomposition of MangaHeader (#9985)
* Reduce recomposition of MangaHeader

* Reuse `Modifier` for `Tags`

Reference:
https://developer.android.com/jetpack/compose/modifiers#reusing-modifiers

* Don't recalculate Read State on recomposition

* Fix Linting issue

* Optimize chapter state calculations
2023-10-06 18:24:43 -04:00
arkon
7f0f67d752 Update social media icons 2023-10-05 09:33:34 -04:00
arkon
df332860b8 Bump dependencies 2023-10-04 22:28:50 -04:00
arkon
afb1ee2200 Rename new method in ConfigurableSource to get preferences
Maybe fixes #9969
2023-09-30 14:36:06 -04:00
arkon
c8e226acb2 Tracker-related cleanup 2023-09-25 23:32:39 -04:00
arkon
86edce0d87 Bring back relative timestamp translations 2023-09-24 17:26:12 -04:00
arkon
56d2464870 Bring back simplified relative timestamp setting
Except now it's just an on/off toggle for relative up to a week.
2023-09-24 17:18:10 -04:00
arkon
5de72b7d32 Bump dependencies 2023-09-23 12:15:28 -04:00
arkon
de92b1351f Add WebView-based user agent string to debug info
Could probably use this when choosing a user agent later on.
2023-09-22 16:42:04 -04:00
arkon
77a8a4229c Fix duplicate files being created when saving pages on Android 10+ with separate folders setting enabled
Fixes #9943
2023-09-22 16:16:23 -04:00
arkon
d4290f6f59 Fix hide entries in library setting causing browse to not load
Fixes #9924
2023-09-20 23:19:00 -04:00
arkon
b08d604d2a Consistently use absolute date strings everywhere
Closes #9781
2023-09-20 22:49:15 -04:00
arkon
6663abebaf Clean up fetch interval tests a bit
Also limit the dates we look at to most recent 10 distinct dates only. Closes #9930
2023-09-17 12:06:17 -04:00
arkon
e5f83d0c6e Fix track search item not filling width if content is too short 2023-09-17 11:03:39 -04:00
arkon
f9754f4f58 Fix cut off labels in reader sheet toggles 2023-09-11 18:39:36 -04:00
arkon
8824c7dbe3 Tweak reading mode and orientation sheet designs 2023-09-10 22:36:57 -04:00
arkon
ccc9a5a052 Update website links 2023-09-10 18:16:53 -04:00
Soitora
f5e0cee36c
Change website URLs to reflect changes (#9916)
Change website URLs
2023-09-10 18:11:00 -04:00
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
KaiserBh
4c1f94a264
Merge remote-tracking branch 'origin/sync-part-final' into sync-part-final 2023-08-28 01:05:22 +10:00
KaiserBh
a84a396484
refactor: Improve toast error messages for Google Drive sync data purge
Previously, the UI displayed a "No files found" message even when the user was not signed into Google Drive. This commit refines the error messaging to specify "Not signed in to Google Drive" when appropriate.

Signed-off-by: KaiserBh <kaiserbh@proton.me>
2023-08-28 01:04:25 +10:00
KaiserBh
e5479813ef
Merge branch 'master' into sync-part-final 2023-08-28 00:47:11 +10:00
arkon
98d6ce2eaf Refactor some tracking-related logic 2023-08-27 10:41:58 -04:00
KaiserBh
30af850211
Merge pull request #5 from undefiened/sync-part-final
Added exceptions in Google Drive sync process so that it fails correctly and moved the redirect url to a constant
2023-08-28 00:29:02 +10:00
undefiened
2289fb937c Fixed identation of the REDIRECT_URI constant 2023-08-27 16:25:09 +02:00
undefiened
569db9eac8
Using a proper constant instead of val
Co-authored-by: KaiserBh <41852205+KaiserBh@users.noreply.github.com>
2023-08-27 16:23:30 +02:00
KaiserBh
d2290107d3
Merge branch 'master' into sync-part-final 2023-08-27 12:59:10 +10:00
undefiened
1993928bab Added exceptions in Google Sync process so that it fails correctly and moved the redirect url to a constant 2023-08-27 00:35:37 +02: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
KaiserBh
1fcfd27977
Merge branch 'master' into sync-part-final 2023-08-22 15:31:25 +10: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
KaiserBh
bedfbf3f71
Merge branch 'master' into sync-part-final 2023-08-13 19:19:47 +10: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
KaiserBh
c4dc2c89cb
Merge branch 'master' into sync-part-final 2023-08-03 16:06:17 +10:00
KaiserBh
fdc85bd314
bugfix: Since syncing is cross-device we need to take read status from backup.
I fixed this before but I believe it slipped past while refactoring and splitting into smaller PR, This fixes the unread chapter so if a device have unread chapters or user marked it as unread it should restore it properly now.

Signed-off-by: KaiserBh <kaiserbh@proton.me>
2023-08-03 15:42:10 +10:00
KaiserBh
96a767aa0c
refactor: refactor merging logic tidy up.
As we fixed the issue with removing favorites we don't the extra stuff.

Signed-off-by: KaiserBh <kaiserbh@proton.me>
2023-08-03 15:40:26 +10:00
arkon
10b0ef9b6d Dismiss extension update notification if all updates installed 2023-08-02 18:00:06 -04:00
KaiserBh
645505e1e9
feat: added google drive service.
Signed-off-by: KaiserBh <kaiserbh@proton.me>
2023-08-03 03:50:01 +10:00
KaiserBh
536c5facb9
fix:conflict.
Signed-off-by: KaiserBh <kaiserbh@proton.me>
2023-08-03 01:40:46 +10:00
KaiserBh
70452acdda
fix:conflict.
Signed-off-by: KaiserBh <kaiserbh@proton.me>
2023-08-03 01:13:39 +10: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
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