Commit Graph

101 Commits

Author SHA1 Message Date
AntsyLich
6965e59a64
Fix mishap in e020ae5ed5 2024-03-24 05:54:27 +06:00
AntsyLich
e020ae5ed5
Fix more TypeReference issues and cleanup 2024-03-24 05:16:31 +06:00
MajorTanya
05071b4205
Fix extension repo crash with TypeReference issue (#574)
Fix by @AntsyLich.

Co-authored-by: AntsyLich <59261191+AntsyLich@users.noreply.github.com>
2024-03-24 04:21:19 +06:00
MajorTanya
8c437ceecf
Refactor the ExtensionRepoService to use DTOs (#573)
* Refactor the ExtensionRepoService to use DTOs

Slightly refactored the `ExtensionRepoService` so it uses a DTO with
`parseAs` to avoid parsing the JSON response by hand.

The default Json instance Injekt provides here has
`ignoreUnknownKeys` enabled, so the `ExtensionRepoMetaDto` only
specifies the meta key of the response content.

The extension function `toExtensionRepo` allows for mapping the new
DTO to the `domain` `ExtensionRepo` data class.

* Implement feedback

- Removed SerialName of the ExtensionRepoMetaDto property and renamed
it `meta`, same as the incoming attribute.
- Added a more general catch clause that also logs the occurring
Exception

Detekt likes to complain about TooGenericExceptionCaught, hence the
Suppress annotation on the function.
2024-03-23 21:03:44 +06:00
Maddie Witman
4b4e468510
Grab extension repo detail from repo.json and include in DB (#506)
* WIP Extension Repo DB Support

* Wired in to extension screen, browse settings screen

* Detekt changes

* Ui tweaks and open in browser

* Migrate ExtensionRepos on Update

* Migration Cleanup

* Slight cleanup / error handling

* Update ExtensionRepo from Repo.json during extension search.
Added Manual refresh in extension repos page.

* Split repo fetching into separate API module, major refactor work

* Removed development strings

* Moved migration to #3

* Fixed rebase

* Detekt changes

* Added Replace Repository Dialog

* Cleanup, removed platform specific code, PR comments

* Removed extra function, reverted small change

* Detekt cleanup

* Apply suggestions from code review

Co-authored-by: AntsyLich <59261191+AntsyLich@users.noreply.github.com>

* Fixed error introduced in cleanup

* Tweak for multiline when

* Moved getCount() to flow

* changed getCount to non-suspend, used property delegation

* Apply suggestions from code review

Co-authored-by: AntsyLich <59261191+AntsyLich@users.noreply.github.com>

* Fixed formatting with updated comment string

* Big wave of PR comments, renaming/other tweaks

* onOpenWebsite changes

* onOpenWebsite changes

* trying to make single line

* Renamed ExtensionRepoApi.kt to ExtensionRepoService.kt

---------

Co-authored-by: AntsyLich <59261191+AntsyLich@users.noreply.github.com>
2024-03-23 04:58:35 +06:00
Jobobby04
a08e03f5cb
Fix multiple issues regarding sources loading too late 2024-03-17 19:44:22 +06:00
AntsyLich
f087135876
Fix crash in track date selection dialog
Co-authored-by: Ivan Iskandar <12537387+ivaniskandar@users.noreply.github.com>
2024-03-14 03:28:48 +06:00
KaiserBh
4ae9dbe524
feat: db changes to accommodate new cross device syncing logic. (#450)
* feat: db changes to accommodate new syncing logic.

Using timestamp to sync is a bit skewed due to system clock etc and therefore there was a lot of issues with it such as removing a manga that shouldn't have been removed. Marking chapters as unread even though it was marked as a read. Hopefully by using versioning system it should eliminate those issues.

* chore: add new line.

* chore: remove isSyncing from Chapter/Manga model.

* chore: remove isSyncing leftover.

* chore: remove isSyncing.

* refactor: remove isSync guard.

Just use it directly to 1 now since we don't have the isSyncing field in Manga or Chapter.

* Lint and stuff

* Add missing ,

---------

Co-authored-by: AntsyLich <59261191+AntsyLich@users.noreply.github.com>
2024-03-10 01:45:41 +06:00
AntsyLich
aa498360db
Move :core to :core:common 2024-01-29 15:20:21 +06:00
AntsyLich
39407407f2
Remove usage of .not() where possible 2024-01-21 19:40:42 +06:00
AntsyLich
c83037eeab
Fix update downloader borked 2024-01-16 05:43:26 +06:00
AntsyLich
19afd8c9ca
Rename more references 2024-01-16 01:31:22 +06:00
arkon
028da099dd Add filter library by customized update frequency
Supersedes #9619

Co-authored-by: quangkieu <quangkieu@users.noreply.github.com>
2024-01-07 16:03:12 -05:00
arkon
e6c6c32d81 Fix selecting custom fetch interval not persisting sometimes 2024-01-07 15:40:53 -05:00
arkon
32bed9b041 Change fetch interval action to show days until next expected update 2024-01-05 17:08:39 -05:00
arkon
22589a9c30 Fix next expected update being weird number sometimes
Occurs if manga.lastUpdate has never been set yet.
2024-01-01 18:32:21 -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
6887d98f15 Minor tracking cleanups 2023-12-24 22:25:22 -05:00
arkon
5908bd1930 Move backup models to domain module 2023-12-24 18:01:58 -05:00
arkon
b9fd416fc6 Use smaller window to calculate fetch interval if there's less total chapters
This is sort of a workaround for sources that tend to only give you the first few and
most recent few chapters, which would have been 28 day intervals before due to
the big gap in the middle.
2023-12-21 09:49:03 -05:00
arkon
5fec881387 Clean up history restoring 2023-12-16 11:15:09 -05:00
arkon
36f400d542 Fix download indexing with changed storage locations
Fixes #10218
2023-12-15 18:44:37 -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
f7c5b42435 More onboarding screen additions 2: Electric Boogaloo 2023-12-09 18:20:58 -05:00
arkon
ab9a26f6bd Migrate to some newer date/time APIs 2023-12-08 23:11:53 -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
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
arkon
bcc42dd259 Exclude some more app state preferences from backups 2023-11-21 22:11:44 -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
4a6571d310 Minor cleanup 2023-11-11 18:25:27 -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
1d144e6767 Restrict line length with ktlint 2023-11-04 23:28:41 -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
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
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
ce5e10be95 Clean up chapter restoring logic a bit 2023-10-29 11:43:06 -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
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
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
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
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
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
87530f506e Limit amount of updates loaded for widget
Probably fixes #9868
2023-08-27 22:05:52 -04:00
arkon
13dc54df70 Remove unused rxandroid dependency 2023-08-26 10:30:26 -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