Commit Graph

36 Commits

Author SHA1 Message Date
MajorTanya 617bf491ee Fix DelayedTrackingUpdateJob spam on update errors (#411)
* Fix DelayedTrackingUpdateJob spam on update errors

DelayedTrackingUpdateJob would start spamming when it encountered an
error (e.g. a tracker has an issue) and never stop.
This seems to stem from a circular dependency between the Job's
`doWork` and TrackChapter's `await`.

TrackChapter sets up a completely new instance of the
DelayedTrackingUpdateJob if any Exception was thrown during the track
update.

This causes the Job to get replaced (as per the WorkManager's set
ExistingWorkPolicy).

Because of this, the guard clause at the start of doWork would never
trigger, as all instances of the Job would report being the 0th try
(because they were completely new instances).

This simple fix introduces a boolean `isRetry` parameter to
TrackChapter's await method, which is set to `false` by default.
DelayedTrackingUpdateJob however sets this parameter to `true`, which
means TrackChapter won't try to set up the Job again.

* Rename isRetry parameter to setupJobOnFailure

This also inverts the logic, so true & false were swapped.
2024-02-19 00:57:50 +06:00
AntsyLich aa498360db Move :core to :core:common 2024-01-29 15:20:21 +06:00
AntsyLich 32188f9f65 Refactor MAL code to not spam refresh token when it fails 2024-01-28 00:12:31 +06:00
AntsyLich 05efc4ebeb Update types of legacy tracker model to match to domain one (#245)
* `score` to Double

* `tracker_id` to Long

* `last_chapter_read` to Double

* `total_chapters` to Long

* `status` to Long
2024-01-27 23:17:09 +06:00
Secozzi 348b23a9fd Fix refreshing from enhanced tracker (#219)
fix refreshing from enhanced tracker
2024-01-24 19:16:28 +06:00
AntsyLich 39407407f2 Remove usage of .not() where possible 2024-01-21 19:40:42 +06:00
arkon f60782f11f Avoid floating point precision issues when converting scores
Fixes #10343
Maybe we'll finally migrate off of those legacy models some day...
2024-01-07 17:50:14 -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 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 1d144e6767 Restrict line length with ktlint 2023-11-04 23:28:41 -04:00
arkon 69223df27c Move tracker binding logic to interactor 2023-11-04 17:05:38 -04:00
arkon ce5e10be95 Clean up chapter restoring logic a bit 2023-10-29 11:43:06 -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 b7d282235d Remove duplicated logic for binding enhanced trackers 2023-10-08 19:19:04 -04:00
arkon 730f3a6e52 Exclude tracker credentials in backups 2023-10-08 11:07:42 -04:00
arkon c8e226acb2 Tracker-related cleanup 2023-09-25 23:32:39 -04:00
arkon 98d6ce2eaf Refactor some tracking-related logic 2023-08-27 10:41:58 -04:00
arkon dde2f42138 Refactor some tracking-related logic 2023-08-26 18:30:17 -04:00
arkon cd91ea9b77 Remove need for SQLDelight primitive adapters 2023-07-29 16:14:23 -04:00
arkon efabe801be Refactor chapter tracking logic
Could probably call this if we ever make it update tracking on manually
marking chapters as read.
2023-07-10 17:13:58 -04:00
arkon c0fd47b066 Retry DelayedTrackingUpdateJob up to 3 times if all items not updated 2023-06-25 14:31:28 -04:00
arkon 859601a46e Clean up WorkManager usages a bit 2023-03-19 18:19:40 -04:00
arkon f7f2072621 Use queued last chapter read number when performing delayed tracker update
Fixes #8876
2023-02-26 16:48:04 -05:00
arkon f816196df2 Move more things to domain module 2023-02-18 15:14:04 -05:00
arkon ab6dfe9e25 Bump dependencies
Fixes #8168, I think.
2023-02-08 22:53:42 -05:00
arkon 1730dd6af1 Move more things around 2023-01-27 22:31:12 -05:00
Andreas cdf242e8c8 Move more to data and domain modules (#8973) 2023-01-22 16:19:22 -05:00
AntsyLich ba91b483a0 Delayed Tracking Update related fix (#8642)
* Delayed Tracking Update related fix

* Lint
2022-12-01 23:01:24 -05:00
AntsyLich e36d31bf0f Cleanup Library presenter (#8284)
* yeet observable + minor cleanup

* move [getTracksFlow] to domain

* Lint

* Review changes

Co-Authored-By: Andreas <6576096+ghostbear@users.noreply.github.com>

* Review Changes 2

* Stuff

* Rename + Rebase

* Lint

Co-authored-by: Andreas <6576096+ghostbear@users.noreply.github.com>
2022-10-28 11:44:05 -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 e568951396 Split track preferences from PreferencesHelper (#8046) 2022-09-21 09:18:53 -04:00
Andreas 05085fe57f Use SQLDelight on Library screen (#7432)
- Uses the new `asObservable` function to change the database calls to use SQLDelight, which should make the impact minimal when it comes to bugs.
- Use interactors where they already exist
- The todos are for the Compose rewrite
- Removed unused StorIO methods/queries
- Tested loading library, move manga to new category, unfavorite multiple manga, move multiple manga from one category to another, change filter, sort and display settings (with and without per category settings), (un)mark chapters, start/delete downloads

Thank Syer for asObservable

Co-authored-by: jobobby04 <17078382+jobobby04@users.noreply.github.com>

Co-authored-by: jobobby04 <17078382+jobobby04@users.noreply.github.com>
2022-07-02 12:55:34 -04:00
arkon 65264e3ef5 Migrate more track DB calls to SQLDelight 2022-06-26 19:46:41 -04:00
AntsyLich 04f0ca7846 Use sqldelight for direct db calls in MangaPresenter (#7366) 2022-06-26 15:54:34 -04:00
AntsyLich e3b1053c03 Use sqldelight in migration (#7331)
* Use sqldelight in migration

* Some more changes

Co-Authored-By: Ivan Iskandar <12537387+ivaniskandar@users.noreply.github.com>

* Review Changes

* Review changes 2

* Review Changes 3

* Review Changes 4

Co-authored-by: Ivan Iskandar <12537387+ivaniskandar@users.noreply.github.com>
2022-06-21 17:27:55 -04:00