Commit Graph

1199 Commits

Author SHA1 Message Date
AntsyLich
4ff5c1148e
Cleanup LibraryUpdateService (#8237) 2022-10-22 15:16:44 -04:00
arkon
152eb5b951 Handle async cache in updates and manga screens
- Also fix concurrent accesses to main cache map
- Also debounce sources and updates list updates to maybe avoid crashing due to dupe LazyColumn keys
2022-10-22 10:50:44 -04:00
arkon
7e40680af0 Perform download cache renewal async
Don't block on cache renewals, but notify library on updates so that the badges show up when ready.

We skip the cache when checking if a chapter is downloaded for the reader assuming that it's a
relatively low cost to check for a single chapter.

(Probably) fixes #8254 / fixes #7847
2022-10-21 15:00:41 -04:00
arkon
b04807e53a Proper DI instantiation for some more download related classes 2022-10-21 14:29:44 -04:00
arkon
93827aba34 Defer library download counts if not needed 2022-10-20 23:20:32 -04:00
arkon
a8ca7b690f Avoid crashing if invalid download and backup location is set
Fixes #8252
2022-10-20 22:34:27 -04:00
Ivan Iskandar
84bcd8d1d2
Fix crash when saving a page from certain chapters (#8242) 2022-10-19 07:59:05 -04:00
arkon
6756bfab75 Fix download cache not updating on location change 2022-10-18 17:35:38 -04:00
stevenyomi
2d19729869
Clean up OkHttp methods and parse from Okio directly (#8238) 2022-10-18 12:09:23 -04:00
arkon
558aad1a71 Always renew download cache if no sources have been loaded yet
Fixes #7705. Somewhat janky solution to handle when loading the sources on app start is slower than
the initial download cache priming.
2022-10-16 16:30:51 -04:00
arkon
bc1fbfac9d Minor cleanup 2022-10-14 16:13:50 -04:00
arkon
26a42ba9c0 Upgrade to Kotlin 1.7.20
Also run formatter and address some deprecation warnings.
2022-10-11 22:40:08 -04:00
stevenyomi
b1e104319f
Fix download progress indicator (#8188) 2022-10-11 22:17:45 -04:00
Platiplus
a3afb35539
Overwrite saved images instead of creating new ones (#8162)
* Implementing overwrite instead of saving duplicated images

* Using filename instead of hardcoding image type

* Refactoring method to accept lambda for default value

* Removing extra parenthesis
2022-10-11 08:20:30 -04:00
arkon
b95a30e424 Fix linting error 2022-10-09 10:54:54 -04:00
arkon
3bfbd58402 Clean up download state logic in MorePresenter 2022-10-09 10:37:44 -04:00
AntsyLich
ea8383978b
Move LibraryManga to domain layer (#8126) 2022-10-01 11:30:51 -04:00
AntsyLich
98c459a6b6
Downloader: Don't trust index provided by source (#8122) 2022-10-01 11:01:05 -04:00
AntsyLich
ad84a8c3e9
Improve DelayedTrackerStore (#8109)
* Improve DelayedTrackerStore

* Review changes
2022-09-29 09:20:07 -04:00
stevenyomi
f4c684b4b8
Remove cache control on already cacheless image request (#8085) 2022-09-26 17:13:03 -04:00
arkon
ec272f6c4e Fix date added when adding from browse source
Fixes #8059
2022-09-25 13:09:25 -04:00
Alessandro Jean
ba533f30ce
Add support to update strategy on global update (#7902)
* Add support to update strategy.

* Add JavaDoc and bump the LIB_VERSION_MAX constant.

* Fix a word typo.

* Store update strategy enum as integer in the DB.
2022-09-25 10:12:36 -04:00
Andreas
29fa93e829
Split the rest of the preferences in PreferencesHelper (#8074)
* Split the reset of the preferences in PreferencesHelper

* Capitalize ThemeMode
2022-09-25 10:07:06 -04:00
Ivan Iskandar
f98b4f4e39
DownloadController: Fix first active download status not updating (#8069) 2022-09-24 11:59:11 -04:00
Andreas
b5dca2eb09
Move chapter preferences from PreferencesHelper to LibraryPrefrences (#8061) 2022-09-24 10:14:16 -04:00
Andreas
5cdcc1679f
Split backup preferences from PreferencesHelper (#8051) 2022-09-22 08:57:42 -04:00
arkon
b37b3767f3 Minor cleanup
Also add POST_NOTIFICATIONS permissions to make Android Studio stop complaining about it.
2022-09-21 22:39:32 -04:00
Andreas
e82963c9ef
Split download preferences from PreferencesHelper (#8048) 2022-09-21 17:45:07 -04:00
Andreas
e568951396
Split track preferences from PreferencesHelper (#8046) 2022-09-21 09:18:53 -04:00
Andreas
e275897bf9
Split reader preferences from PreferencesHelper (#8042) 2022-09-20 08:36:57 -04:00
arkon
2b089648a3 Remove redundant preference keys 2022-09-20 00:13:33 -04:00
Andreas
c740558327
Split library preferences from PreferencesHelper (#8036) 2022-09-19 23:55:07 -04:00
arkon
7ec822503a Catch error properly when app update check fails (fixes #8019) 2022-09-18 16:24:26 -04:00
Andreas
b668364afb
Split security preferences from PrefrencesHelper (#8030) 2022-09-18 13:07:48 -04:00
Andreas
30b3b2d3ff
Split source preferences from PreferencesHelper (#8029) 2022-09-18 10:36:41 -04:00
Andreas
0086743a53
Use 1.x preference abstraction (#8020)
* Use 1.x preference abstraction

- Uses SharedPreferences compared to 1.x impl which uses DataStore but it breaks all settings screens currently
- Move PreferencesHelper to new PreferenceStore
  - PreferencesHelper should be split into smaller preference stores and be in core or domain
- Remove flow preferences as new PreferenceStore handles changes for us

Co-authored-by: inorichi <3521738+inorichi@users.noreply.github.com>

* Fix PreferenceMutableState not updating

* Fix changes not emitting on first subscription

Co-authored-by: inorichi <3521738+inorichi@users.noreply.github.com>
2022-09-17 11:48:24 -04:00
arkon
829aadd0bd Always attempt automatic backup creation
- Defaults to every 12 hours
- Minimum number of backups is now 2, just to offer some level of redundancy in case something happens
- If it's missing storage permissions, it'll fail but that's the user's loss if they somehow haven't granted that permission yet
2022-09-15 22:53:46 -04:00
Andreas
86fe850794
Extract source api from app module (#8014)
* Extract source api from app module

* Extract source online api from app module
2022-09-15 18:12:27 -04:00
stevenyomi
52fa28c16a
Prevent okhttp from caching covers and chapter images (#7967) 2022-09-11 18:00:07 -04:00
arkon
f9bbbce466 Check the actual folder when deleting source folder in case of stale cache 2022-09-11 17:58:59 -04:00
arkon
cd3cb72b65 Bump dependencies + linting 2022-09-10 23:57:03 -04:00
Ivan Iskandar
fb9791f597
DownloadController: Partial Compose conversion (#7969)
Item list is not changed as currently there is no fitting Compose component to
replace the drag-drop behavior.
2022-09-09 22:29:40 -04:00
nzoba
07d1b9f3ba
Fix download ahead missing out 1 chapter (#7927)
* Fix download ahead missing out 1 chapter

* Move toLong() function

* Add check whether the next chapter is queued
2022-09-09 22:29:24 -04:00
arkon
26d8e47bb9 Bump default user agent string 2022-09-04 18:01:02 -04:00
arkon
38950f7bc8 Address some OkHttp nullability changes 2022-09-03 10:38:56 -04:00
AntsyLich
5a320d87e8
Remove download source folder when empty (#7928) 2022-09-03 09:18:19 -04:00
Ivan Iskandar
774a87a42a
Adjust app lock mechanism (#7924)
Now uses enum to also handle timed lock
2022-09-02 11:48:48 -04:00
AntsyLich
a43754e1a6
Fix tmp cbzs are counted towards manga download count (#7909)
* Fix tmp cbzs are counted towards manga download count

* Review Changes

* Review Changes 2
2022-09-02 10:03:37 -04:00
arkon
c39a1b7867 Minor cleanup 2022-08-31 14:43:58 -04:00
Andreas
d4b764fa31
Use Compose on BrowseSourceScreens (#7901) 2022-08-31 14:41:35 -04:00