arkon
1cdaa761b7
Dedupe common LazyColumn with action at bottom layout
2023-12-30 20:08:28 -05:00
arkon
54f4711f7b
Show next expected update in interval dialog
...
Related: #9793
2023-12-30 19:15:52 -05:00
arkon
3d0d5c0472
Misc refactoring
...
- Abstract away relative date string building
- Dedupe large update warning logic
2023-12-30 18:33:35 -05:00
arkon
f0a0ecfd4a
Allow creating backups without library entries
...
- In case you want a backup of just settings?
- Also disable backup options if dependent option is disabled (and fix being able to toggle disabled items)
- Also fix crash in RestoreBackupScreen due to attempt to parcelize Uri
- Make restore validation message a bit nicer
2023-12-30 16:02:36 -05:00
arkon
f3b7eaf4a3
Shorten restore warning message a bit
2023-12-30 12:16:53 -05:00
arkon
5bba7af24a
Allow partial restores (library/settings)
...
Closes #3136
2023-12-30 12:09:55 -05:00
arkon
32c3269291
Filter out empty source preferences when creating backups
2023-12-30 10:38:32 -05:00
arkon
a1e84911be
Clean up create backup UI
2023-12-30 10:36:30 -05:00
arkon
6bb77bcf1a
Minor cleanup/address lint warnings
2023-12-30 10:30:32 -05:00
arkon
ccec5c3efe
Add ability to create manual backups with private preferences too
2023-12-28 17:38:37 -05:00
arkon
8735836498
Refactor backup option flags to normal data class of booleans
2023-12-28 16:44:46 -05:00
arkon
8b65fd5751
Minor exception message cleanup
2023-12-28 16:33:54 -05:00
arkon
f0710df356
Don't make install permission required during onboarding
...
Closes #10257
We show a warning banner in the extensions list and also rely on the system
alert popup if someone attempts to install without the permission already
granted.
2023-12-28 15:48:08 -05:00
arkon
3afcee81f4
Hide private installer option for stable builds
2023-12-28 14:55:31 -05:00
Ivan Iskandar
9c120e6231
Implement predictive back animation ( #10273 )
...
For home screen tabs, Navigator screens and most dialogs
2023-12-28 11:01:01 -05:00
arkon
4b208fc7ce
Move backup models back to main app module
...
I didn't realize the package name change would break compatibility with forks
that still have the old package names...
2023-12-27 13:45:44 -05:00
arkon
a9b0ac43c4
Allow deleting downloaded chapters even if source isn't available
...
Fixes #9160
2023-12-26 17:14:24 -05:00
arkon
fca4f25122
Always show chapter download indicators
...
- Local chapters are just always "downloaded", but you can't delete them from the app
- Unavailable sources show proper state so long as it's stubbed with the name still, but
you can't download anything new
2023-12-26 17:11:26 -05:00
arkon
bfb0d31ff6
Remove skipped updates notification
...
Seems to cause more confusion than it's worth.
Will update the UI for the library update skip options to better
explain what they're for later.
2023-12-26 13:13:33 -05:00
arkon
8939274b5c
Simplify storage usage bar UI implementation
2023-12-25 22:58:05 -05:00
arkon
4571dc6b56
Tweak page flashing
...
Closes #10269 , maybe. I don't really have something to test with.
2023-12-25 18:13:52 -05:00
arkon
f31bc47757
Clean up storage usage info
...
- Show bar representation of used/total space
- Handle all mounted storages
- Also included a bunch of unrelated immutables changes, sorry
2023-12-25 18:11:22 -05:00
arkon
950b4a6c90
Fix read duration statistic getting inflated when restoring history
2023-12-25 16:35:13 -05:00
arkon
2d7650537d
Address some build warnings
2023-12-25 16:31:40 -05:00
arkon
80d6d412f3
Avoid crashing if loading non-read-only private extension
...
Fixes #10252
2023-12-24 22:53:35 -05:00
arkon
6887d98f15
Minor tracking cleanups
2023-12-24 22:25:22 -05:00
arkon
6d74a86711
Some domain Track model migrations
2023-12-24 18:30:24 -05:00
arkon
5908bd1930
Move backup models to domain module
2023-12-24 18:01:58 -05:00
arkon
1a559124eb
Split up BackupCreator into smaller classes
2023-12-24 16:56:16 -05:00
arkon
54ba1d719e
Don't include settings as defaults when manually creating backup
2023-12-24 16:45:07 -05:00
arkon
93cbeca5c0
Highlight restore backup setting when navigating from onboarding step
2023-12-24 16:35:18 -05:00
arkon
19f0175a56
Don't use localized numbers for downloaded image filenames
...
Probably fixes #10258
2023-12-22 19:13:06 -05:00
arkon
bf3899d04a
Whoops, accidentally made the create backup button unusable before
2023-12-22 09:23:00 -05:00
arkon
9f90ee358b
Initial move of restore backup into a separate screen
2023-12-21 22:47:23 -05:00
arkon
565317d99c
Show MIUI warning more prominently in CreateBackupScreen
2023-12-21 22:41:48 -05:00
arkon
83a67feb48
Foundations for partial restores
...
Related to #3136
2023-12-21 22:16:42 -05:00
arkon
c10cd6c808
Prevent backing out from initial onboarding
2023-12-17 18:30:43 -05:00
Ivan Iskandar
f9b57800b1
DownloadJob: Network check changes ( #10242 )
...
Mostly pulled from WorkManager
2023-12-17 09:57:55 -05:00
Ivan Iskandar
387159b5af
PackageInstallerInstaller: Fix intent used for install session ( #10240 )
...
Use explicit intent as it's a requirement when targeting v34+
2023-12-17 09:56:33 -05:00
Ivan Iskandar
09531e7f5a
MangaScreenModel: Start downloads in IO dispatcher ( #10241 )
2023-12-17 09:55:54 -05:00
arkon
ff3bc66055
Migrate BuildConfig to Gradle Build Files
2023-12-16 15:57:45 -05:00
Ivan Iskandar
13b3bec8ad
Target Android 14 (SDK 34) and add permission onboarding step
...
(cherry picked from commit 9e0068715f3ba3d1627c4b7539b90fb782f8122f)
2023-12-16 15:51:56 -05:00
arkon
8aaf8df708
Set foreground service type for ExtensionInstallService
2023-12-16 12:11:19 -05:00
arkon
db3ddf07ee
Set foreground service types for remaining jobs
2023-12-16 12:08:08 -05:00
arkon
cd16522805
Split restoring logic into smaller classes
2023-12-16 11:43:18 -05:00
arkon
5fec881387
Clean up history restoring
2023-12-16 11:15:09 -05:00
arkon
3ac68e810d
Workaround for broken nav bar icon colors
2023-12-16 11:15:09 -05:00
Ivan Iskandar
65e1e2cf4f
Refactor onboarding steps
...
(cherry picked from commit 2ca3ab077192a7e5e2e7a5fb00c303a5a633372e)
2023-12-16 10:59:14 -05:00
arkon
e36a2c68f1
Avoid crashing in SourcePreferencesFragment if source can't be loaded
...
Should probably wait for sources to definitely be loaded first, but that's
sort of a bigger change and needs to be lifecycle-aware.
2023-12-16 10:16:05 -05:00
arkon
ad3d915fc5
Skip updating unchanged chapters and tracks when restoring backup
2023-12-15 23:11:14 -05:00
arkon
36f400d542
Fix download indexing with changed storage locations
...
Fixes #10218
2023-12-15 18:44:37 -05:00
arkon
dd1a19745a
Remove redundant job setup calls in migrations
...
We always set them up earlier in the migrations anyway.
2023-12-15 18:43:48 -05:00
arkon
58daedc89e
Clean up manga restoring logic
...
Some behavior changes:
- It prioritizes new entries, then anything more recently updated
- It copies the more recently updated entry's metadata (description, thumbnail, etc.)
2023-12-14 23:26:02 -05:00
arkon
d20a8fcf13
Proper check for when to navigate to tracker settings from tracking action
2023-12-14 19:52:49 -05:00
arkon
e56bf82c31
Clean up some text alpha modifiers
2023-12-13 22:21:55 -05:00
arkon
0f9895eec8
Clean up category restoring logic
2023-12-11 22:48:42 -05:00
arkon
f776c36e70
Add ability to open available extension websites in WebView
...
Closes #8628
2023-12-11 22:24:33 -05:00
arkon
1ef01b53f2
Avoid starting restore job if already running
...
We already check in the settings screen where it's triggered, but who knows.
Also addressing some errors for method calls that require SDK 26+ (but don't
fail the build, somehow?).
2023-12-11 22:02:22 -05:00
arkon
720169dce3
Remove action to delete saved image in notification
...
Can just open it and delete from whatever gallery app the user has which has way
more functionality.
Closes #8327
2023-12-10 18:37:45 -05:00
arkon
0d09039e5f
Fix settings screen crashing when saving state
2023-12-10 17:29:02 -05:00
arkon
cc56fde9fe
Onboarding screen tweaks
...
- Opposite transition when going back a step
- Don't allow skipping (I don't want to deal with an unset storage location in other places)
2023-12-10 17:28:34 -05:00
arkon
3a0b3de175
Always show trackers action in MangaScreen
...
Goes to tracker settings to log in if none are set up.
2023-12-10 11:58:20 -05:00
arkon
47e544b710
Fix next local chapter not being indicated as downloaded in transition
2023-12-10 10:51:50 -05:00
arkon
f7c5b42435
More onboarding screen additions 2: Electric Boogaloo
2023-12-09 18:20:58 -05:00
arkon
e3404cd3d3
More onboarding screen additions
2023-12-09 17:49:35 -05:00
arkon
8b57169e92
Add basic onboarding screen ( #10199 )
2023-12-09 16:50:02 -05:00
arkon
ab9a26f6bd
Migrate to some newer date/time APIs
2023-12-08 23:11:53 -05:00
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