Commit graph

5668 commits

Author SHA1 Message Date
Ivan Iskandar
8779b263ab
Downloader: Don't queue chapters on GlobalScope (#10217)
This fixes auto-download on library update not working on certain cases.
2023-12-07 22:17:01 -05:00
arkon
734cb0be6e Show average scores in tracker search results
Closes #8280
2023-12-03 16:52:07 -05:00
arkon
1f259f9298 Fix sharing saved pages from notification
Related to #8327
Deleting doesn't seem to do anything still, but at least doesn't throw an exception.

Also removed behavior of dismissing notification after sharing/deleting pages/backups
in case you want to do something again afterwards. Users can manually dismiss the
notification whenever they want.
2023-12-03 16:31:10 -05:00
arkon
427fbfdf5e Minor cleanup 2023-12-03 15:56:51 -05:00
arkon
0c860c0fe9 Try to fall back to showing URI for storage location if concrete file path isn't available
Closes #9977
2023-12-03 15:56:45 -05:00
arkon
5b2a099203 Migrate ReaderColorFilterView to Compose 2023-12-03 15:34:52 -05:00
arkon
ccadfc8fe5 Force recreate download index cache on upgrade
Fixes #10187
2023-12-03 14:58:08 -05:00
arkon
3aead3a2a9 Clean up startDownloadNow function a bit
Fixes #9330, I think. If it was even still an issue.
2023-12-03 14:26:44 -05:00
arkon
6a48fed170 Remove storage permission check when manually creating backups
Co-authored-by: jmir1 <jmir1@users.noreply.github.com>
2023-12-03 14:25:09 -05:00
arkon
e5263d0345 Handle content URIs for covers
Co-authored-by: jmir1 <jmir1@users.noreply.github.com>
2023-12-02 14:44:41 -05:00
Ivan Iskandar
24e1b4034e
Move workers to foreground service context a bit more safely (#10202)
The system will crash the app if the worker that calls setForeground() finished
before the service runner be able to call Service.startForeground(). This edge
case is not handled by WorkManager and there is no way to check if the required
calls are done.

So here we suspend the worker by an arbitrary duration assuming the transition
to foreground service is done by then.
2023-12-02 11:46:59 -05:00
arkon
87be54aa4a Revert overridePendingTransition refactorings 2023-12-02 11:24:13 -05:00
arkon
82d9ae31bd Set foreground service types for library update jobs 2023-12-02 11:20:48 -05:00
Ivan Iskandar
e5a22eafe7
Define storage permission in manifest (#10200)
Mainly for migration process and to avoid breakage on users who doesn't
change their granular storage prefs.
2023-12-02 10:35:03 -05:00
arkon
7a52afd223 Bump dependencies 2023-12-01 22:29:51 -05:00
arkon
296201d6b7 Replace ReaderOrientation icon resources 2023-11-30 22:23:30 -05:00
arkon
162b639705 Remove unused resources 2023-11-30 22:19:38 -05:00
arkon
5dda32bb81 Bump dependencies 2023-11-29 16:55:36 -05:00
Ivan Iskandar
8ce8b60092
Migrate downloader service to WorkManager (#10190) 2023-11-29 16:34:07 -05:00
Ivan Iskandar
8ff2c01bf2
HomeScreen: Add static key for TabNavigator (#10191)
Fixes incorrect tab selection after process death
2023-11-29 10:43:21 -05:00
arkon
e22eebfd02 Target SDK 30
Need to convert some services into WorkManager jobs before going to 31 and higher.
2023-11-28 23:02:33 -05:00
arkon
4fcdde4913 Remove storage permissions
Requires adjusting some file reading to first copy to a temporary file
in cache that we have permissions to read from. This is only applicable for things
like ZIP files where we need an actual File rather than just some Android content
URI shenanigans.
2023-11-28 22:50:30 -05:00
arkon
e41668862f Ignore casing when looking for some files/folders 2023-11-28 08:59:34 -05:00
arkon
a74a689c90 Update UniFile
Which has more correct nullability for some methods and case insensitivity for listFiles where possible.
2023-11-27 22:21:40 -05:00
arkon
d85a76484c Revert "Show copied to clipboard toast on Samsung devices even if Android 13+"
This reverts commit bf524595e2.

Apparently it shows a toast, but I don't see it?
2023-11-27 09:06:43 -05:00
arkon
9ce0bc6b5f Adjust stats overview icons
Closes #9865
Still sort of weird, but the icons are now always aligned.
2023-11-26 18:45:16 -05:00
arkon
bf524595e2 Show copied to clipboard toast on Samsung devices even if Android 13+
Since OneUI didn't implement the AOSP thing.
2023-11-26 16:36:42 -05:00
arkon
27c4db752c Actually use configured storage location for local source
Fixes #10178
2023-11-26 16:24:37 -05:00
arkon
ca54984344 Use UniFile for local source file handling 2023-11-26 16:04:37 -05:00
arkon
46aeab9a7a Add extensions for handling UniFile name/file extensions 2023-11-26 16:04:37 -05:00
arkon
f365b53a0f Move automatic backups from /backup/automatic to /autobackup
Removes the need to try to create child folders, which simplifies things.
2023-11-26 16:04:25 -05:00
Saud-97
d4dfa9a2c2
Anilist decode item description HTML (#10181) 2023-11-26 10:16:06 -05:00
arkon
cf9e60fd92 Use unified storage location for local source 2023-11-25 17:06:15 -05:00
arkon
21ae04d25d Minor download location cleanup 2023-11-25 16:51:32 -05:00
AntsyLich
ba10093ddc
Library update notification changes (#10175)
Don't round up notification percentage. Why show 100% when stuff is still updating.

Show same notification when hide notification content is enabled. Just exclude manga titles.
2023-11-25 13:32:54 -05:00
arkon
a5c9469698 Avoid crashing if storage directory can't be read
e.g. when first launching and there's no storage permissions yet.
2023-11-25 12:40:09 -05:00
arkon
bcc42dd259 Exclude some more app state preferences from backups 2023-11-21 22:11:44 -05:00
Ivan Iskandar
d59cb9c1e3
Migrate to M3 pull-to-refresh (#10164) 2023-11-21 22:09:41 -05:00
AntsyLich
3006604922
MangaScreen: Fix close in action mode exists from screen (#10160)
* MangaScreen: Fix close in action mode exists from screen

* L
2023-11-21 22:08:41 -05:00
arkon
1fbf8ca079 Use unified storage location for automatic backups 2023-11-19 16:08:24 -05:00
arkon
695813ef7d Add unified storage location setting
Currently only using it as a replacement for the downloads location.
2023-11-19 16:04:28 -05:00
arkon
e3b70ca08d Remove max automatic backups setting
We just always create up to 4 now to simplify it, given the addition of syncing
is going to make this section pretty busy.
2023-11-19 15:18:15 -05:00
arkon
8857b7e0c1 Use custom threshold for what's consider a low RAM device 2023-11-19 15:10:26 -05:00
arkon
4a7c20f5a0 Add "Rotate wide pages to fit" for webtoon reader too
Closes #1977
2023-11-19 15:03:54 -05:00
arkon
29368fc953 Fix searchbar style
Also address some Compose lint warnings.
2023-11-19 14:49:40 -05:00
arkon
0696e4bce0 Slightly shrink continue reading button size 2023-11-19 11:59:40 -05:00
Ivan Iskandar
255ed50685
Migrate XML themes to Compose (#10152) 2023-11-19 11:25:39 -05:00
arkon
0d1bced122 Replace remaining Android-specific strings
Also renaming the helper composables so it's a bit easier to find/replace everything
in forks.
2023-11-18 19:41:33 -05:00
arkon
46e734fc8e
Migrate to multiplatform string resources (#10147)
* Migrate to multiplatform string resources

* Move plurals translations into separate files

* Fix lint check on generated files
2023-11-18 13:54:56 -05:00
Ivan Iskandar
69aa13bc56
Remove animateItemPlacement modifier usage (#10146) 2023-11-18 08:39:08 -05:00
arkon
2c032ff70d Address more Compose lint warnings 2023-11-17 09:46:13 -05:00
arkon
0af4703b78 Migrate to standard M3 TabIndicator 2023-11-16 09:16:24 -05:00
Ivan Iskandar
9ec0f73e87
Migrate deprecated progress indicator components (#10142) 2023-11-16 09:01:45 -05:00
Ivan Iskandar
f9fb034330
Migrate deprecated tooltip components (#10141) 2023-11-16 09:01:12 -05:00
arkon
6eb5a25ea1 Bump dependencies 2023-11-15 22:30:10 -05:00
arkon
336221a972 Use immutable collections in more places 2023-11-11 22:44:12 -05:00
arkon
3c3b09209c Use immutable collections in presentation-widget module 2023-11-11 18:31:27 -05:00
arkon
4a6571d310 Minor cleanup 2023-11-11 18:25:27 -05:00
arkon
cb67f1de52 Add Compose lint checks
Still need to address most of them though.
2023-11-11 18:13:44 -05:00
arkon
00b2853d3d Convert create backup dialog to a screen
Allows us more flexibility in adding more options/explanations in the future.
2023-11-05 17:22:08 -05:00
AntsyLich
d7442d771b
ScanlatorFilterDialog: Fix crash when no scanlator (#10111) 2023-11-05 15:20:54 -05:00
arkon
3a8aa3e8cd Group mode dialogs together in bottom reader bar 2023-11-05 11:52:05 -05:00
arkon
9e67abcc8a Add separate default/apply buttons to reading mode/orientation selection dialogs
Related to #3453
2023-11-05 11:36:03 -05:00
AntsyLich
d0bcd30909
Trim Chapter scanlator value (#10108) 2023-11-05 11:06:20 -05:00
AntsyLich
b97aa23548
Implement scanlator filter (#8803)
* Implement scanlator filter

* Visual improvement to scanlator filter dialog

* Review changes + Bug fixes

Backup not containing filtered chapters and similar issue fix

* Review Changes + Fix SQL query

* Lint mamma mia
2023-11-05 10:34:35 -05:00
arkon
e6ca54fd04 Replace custom preview annotation 2023-11-05 10:34:19 -05:00
arkon
4502902fb0 Clean up reading mode / orientation enum classes
Categorizing the reading modes so we can implement a better
selection UI.
2023-11-05 10:01:19 -05:00
Ivan Iskandar
5f34539525
MangaScreen: Adjust "missing chapter count" item list styling (#10105)
Text style to labelMedium and set secondary alpha to the whole row
2023-11-05 09:15:51 -05:00
arkon
953f5fb025 Lint fixes 2023-11-05 09:14:57 -05:00
arkon
4f3a0b3523 Postpone Android 8 requirement 2023-11-05 09:08:17 -05:00
arkon
1d144e6767 Restrict line length with ktlint 2023-11-04 23:28:41 -04:00
arkon
056dbaefda Minor cleanup 2023-11-04 23:21:24 -04:00
arkon
3a15c6b843 Show EOL message if update check no-ops due to unsupported Android version 2023-11-04 20:26:47 -04:00
arkon
db20d04c4b No-op app update checks for Android < 8
This effectively makes it the last release for the older Android versions.
2023-11-04 19:41:00 -04:00
arkon
c5e8c9f01f Revert "Require Android 8+"
This reverts commit 64c50c1283.

Forgot we need to manage app update checks manually...
2023-11-04 19:36:29 -04:00
arkon
64c50c1283 Require Android 8+
Given that the next stable version of Chrome (120) will require Android 8+, it's
inevitable that the WebView functionality will gradually break. As always, newer
OS versions are recommended for better support with evolving Internet technologies.

According to https://apilevels.com/, Android 8+ still covers 93.7% of Android users.
2023-11-04 19:21:46 -04:00
arkon
4146c4c31d Ensure page indicator texts are centered
Maybe fixes #9976
2023-11-04 17:50:33 -04:00
arkon
69223df27c Move tracker binding logic to interactor 2023-11-04 17:05:38 -04:00
arkon
4b225a4ff1 Revert "Always save pages/covers in subfolders"
This reverts commit 8568d5d6c3.

Closes #10052
2023-11-04 16:46:02 -04:00
arkon
8644d90bd4 Bump dependencies 2023-11-04 16:11:43 -04:00
Ota
f30ab56fd0
New alphabetical chapter sort (#10073)
* added alphabetical chapter sorting

* Deleted sort_by_alphabet and re-utilized action_sort_alpha

* Accidentally deleted wrong string. Now solved

* Accidentally deleted wrong string. Now solved

Deleted sort_by_source instead of sort_by_alphabet in strings.xml.
Now reverted.

* Alphabetical sorting now uses Collator

* Clean up repeated Collator instances

---------

Co-authored-by: arkon <eugcheung94@gmail.com>
2023-11-04 15:47:32 -04:00
Caleb Morris
5d91b77c93
Added library sort by mean Tracker score (#10005) 2023-11-04 15:31:59 -04:00
arkon
aca36f9625 Maybe fix foreign key error during some backup restores 2023-11-01 22:52:00 -04:00
AntsyLich
6d538db5f2
Show missing chapter count between two chapters in chapter list (#10096)
* Show missing chapter count between two chapters in chapter list

Closes #8460

* Fix crash

* Lint

* Review changes

* Lint
2023-11-01 22:18:19 -04:00
Eshlender
b3d7c92475
Text on tabs Overflow Ellipsis (#10095)
* Update TabbedDialog to TabbedScreen

* clean
2023-11-01 22:17:17 -04:00
Eshlender
d862d83511
Combining manga information into a function (#10093)
* Combining manga information into a function

* clean space

* indexes

* context

* clean

* textAlign for Tablet Mode
2023-11-01 09:01:38 -04:00
Howard Wu
8a1625ec79
buildDir deprecated, use layout.buildDirectory instead (#10097)
gradle/gradle#20210
gradle/gradle#24820
2023-10-31 22:14:31 -04:00
arkon
2ee895ee3c Use same icon as chapter list items to indicate downloaded chapter in reader transitions 2023-10-31 18:05:37 -04:00
arkon
cb8ea5eab0 Add basic storage usage info to "Data and storage" settings screen 2023-10-29 18:18:56 -04:00
arkon
ce7bf396eb Don't include "app state" preferences in backups 2023-10-29 12:24:02 -04:00
arkon
1aa5222c99 Record time when last automatic backup was created
Closes #3474
2023-10-29 12:03:46 -04:00
arkon
298c49f3ab Abstract out library last updated timespan text
So we can reuse it for showing last automatic backup time.
2023-10-29 11:54:50 -04:00
arkon
ce5e10be95 Clean up chapter restoring logic a bit 2023-10-29 11:43:06 -04:00
arkon
4868dd2d03 Try to ensure that reader page error message is removed if image is loaded
Maybe fixes #5687
2023-10-28 17:18:42 -04:00
arkon
443d56f69b Add option to flash white screen on page change in reader for e-ink displays
Closes #2123
2023-10-28 16:21:45 -04:00
Eshlender
7457a18aee
Add icons for author and artist in MangaInfoHeader (#10079)
* Mark author and artist

* overall style

* Clean up spacing

---------

Co-authored-by: arkon <eugcheung94@gmail.com>
2023-10-28 15:46:10 -04:00
arkon
118d3b7fcc Add ability to reset chapter flags to defaults
Closes #10063
2023-10-28 15:28:39 -04:00
arkon
eed57b80be Replace AppUpdateService with a WorkManager job
Fixes #7773

Co-authored-by: Jays2Kings <Jays2Kings@users.noreply.github.com>
2023-10-27 15:45:18 -04:00
arkon
c46c39d4ae Rename "Backup and restore" settings screen to "Data and storage"
We can house more things in here in the future, like:
- A unified storage location setting (with scoped storage)
- Sync
- Disk usage info
2023-10-27 15:06:56 -04:00
arkon
d7d7a6d2fc Revert Compose update
Fixes #10069
2023-10-26 13:06:26 -04:00