Commit Graph

149 Commits

Author SHA1 Message Date
Gauthier d45fefd6f0 handle maxNumberSort from API (#5917) 2021-09-16 17:37:42 -04:00
Gauthier 6151318ac1 use chapter_number instead of ordinal index for syncChaptersWithTrackServiceTwoWay (#5846)
use v2 api for Komga tracker for series
2021-09-09 21:07:16 -04:00
arkon 5ae4621da1 Queue tracking updates when offline (closes #1497)
Co-authored-by: Jays2Kings <Jays2Kings@users.noreply.github.com>
2021-09-04 16:37:35 -04:00
Jays2Kings 634da15191 Update kitsu to not show "null" for empty descriptions
(cherry picked from commit e6ea530532523ed033fd232fcea2da8f17b973f7)
2021-08-29 10:03:40 -04:00
Gauthier 2cd8733212 change Track.last_chapter_read to Float (#5802)
each TrackService can convert it to Int if decimal chapters are not supported
2021-08-28 10:37:45 -04:00
nicki 50b282f58b update Anilist tracking title during refresh (#5760)
Co-authored-by: Andreas <andreas.everos@gmail.com>

Co-authored-by: Andreas <andreas.everos@gmail.com>
2021-08-21 10:51:20 -04:00
nicki 708e71a35a Use user preferred title language in Anilist (#5758)
* Use user preferred title language in Anilist

Since Anilist is only used by authenticated users, the title language
can be set using the `userPreferred` field (defaults to romaji)

Changed wherever `title>romaji` was being used. Shouldn't have missed
any. `userPreferred` is also available for Staff and Character but not
relevant to Tachiyomi for now.

Users might need to go Logout and log back in on Anilist to see the
change. Actual setting can be found at https://anilist.co/settings/media

closes https://github.com/tachiyomiorg/tachiyomi/issues/5757

* correct title in anilist model

indicates the fact that userPreferred title is used

* convert forgotten `type` to `format` as well

leads to NPE when using `findLibManga`.
missed one query in https://github.com/tachiyomiorg/tachiyomi/pull/5741
2021-08-20 18:20:04 -04:00
nicki 27133520fc Label one-shots correctly in anilist track search (#5741)
* use format instead of type in anilist search

As per anilist graphql docs, `type` refers to whether anime/manga and is
redundant (since we already limit it to `MANGA`). What we actually want
is `format` which includes whether the media is a One-shot or Manga

This should help in making search a bit better as one no longer needs to
rely on the Date to figure out if its the One-shot entry or the Manga
entry

* Revert "use format instead of type in anilist search"

This reverts commit 6f0ba4888669f414a2093d7632eb1fab109d74de.

Accidentally changed the wrong query while further testing whoops

* use format instead of type in anilist search

As per anilist graphql docs, `type` refers to whether anime/manga and is
redundant (since we already limit it to `MANGA`). What we actually want
is `format` which includes whether the media is a One-shot or Manga

Changes search query and corresponding JSONALManga structure
2021-08-19 09:08:48 -04:00
arkon a69a833716 Require Komga to be installed when attempting to setup tracker (closes #5491) 2021-07-18 13:12:47 -04:00
arkon 8bfc5f0450 Put Komga tracker in separate group 2021-07-18 12:55:55 -04:00
Andreas 447ee4bd09 Add support for start/end fields for Kitsu (#5573) 2021-07-18 12:47:40 -04:00
arkon 5d1134dfa8 Add link to Don't Kill My App! in advanced settings 2021-07-17 12:52:27 -04:00
Andreas c0647c3110 Make default tracking status depend if the user has read chapter or not (#5567)
- When user reads a chapter change tracking status to reading
2021-07-17 11:26:29 -04:00
Ivan Iskandar ae97bb0445 Replace material-dialogs usage with Material Components' (#5423)
* Use Material Components' dialogs

For all dialogs that has direct replacement.

* Convert text input dialogs

* Convert quad-state multi choices dialogs

* Convert date picker dialogs

This also changes the flow to remove selected start/finish tracking date and
the track item itself

* Remove material-dialogs dependencies
2021-07-14 18:04:03 -04:00
arkon 71d225c562 Address some build warnings 2021-06-05 17:49:20 -04:00
Gauthier acd927a937 Refactor TrackService.kt to remove unused add function (#5164)
* removed the add function from TrackService.kt as it's not used except within the tracker implementations

* add private modifier
2021-05-24 22:12:12 -04:00
arkon 70d9b0c390 Organize some classes 2021-05-24 12:34:54 -04:00
Gauthier e57a999c9c pull the rate limit interceptors from the extensions repo (#5163)
apply a rate limit to anilist, current limit is 90 per minute
2021-05-24 11:29:20 -04:00
Gauthier d6b3b0baf7 Add Komga as an unattended track service (#5049)
* fix: prevent crash if TrackService.getScoreList() is empty

* disabled track score button if service doesn't support scoring

* first implementation of the Komga tracking
this doesn't work for read lists

* auto track when adding to library

* handle refresh

* 2-way sync of chapters for unattended tracking services

* Update app/src/main/java/eu/kanade/tachiyomi/ui/manga/track/TrackSheet.kt

Co-authored-by: Andreas <andreas.everos@gmail.com>

* group strings together

* support for read lists

* sync read chapters on bind

* only mark local chapters as read during 2-way sync (incoming)

* local progress from read chapters will be sent to remote tracker on bind/refresh
this enables syncing after reading offline

* remove unused variable

* refactor the 2-way sync in a util function

* handle auto add to track for unattended services from the browse source screen when long clicking
this will also sync chapters, as it is possible to have read or marked as read chapters from there

* 2-way sync when library update for TRACKING

* refactor

* better handling of what has been read server side

* refactor: extract function

* fix: localLastRead could be -1 when all chapters are read

* refactor to rethrow exception so it can be shown in toast

* extract strings

* replace komga logo

Co-authored-by: Andreas <andreas.everos@gmail.com>
2021-05-22 12:07:58 -04:00
arkon 08a6db7d6e Maybe better handle MAL token expiration 2021-04-24 16:30:53 -04:00
mutsumi cc6ae9d1a8 Fix Some Bangumi Track Bug (#4726) 2021-03-28 11:36:29 -04:00
Jays2Kings 2ba60e9114 Added Start/Finished Date Support to AniList
Based on https://github.com/Jays2Kings/tachiyomiJ2K/commit/1e3de8a67f239a3126178b95f2b028fbba1e7633

Co-Authored-By: Jays2Kings
2021-03-22 22:38:14 -04:00
arkon 99ba84c810 Handle null Anilist start dates (fixes #4685) 2021-03-20 16:36:31 -04:00
arkon 6d8c4fb8b1 Fix Bangumi search null image errors 2021-03-20 10:22:11 -04:00
arkon 13d25e0849 Don't automatically set MAL start date (closes #4349) 2021-02-01 22:39:41 -05:00
arkon 34cb24fe34 Update total number of chapters when refreshing MAL entries (fixes #4348) 2021-01-24 16:58:23 -05:00
arkon 1490112135 Parse correct object when finding existing MAL list item (fixes #4347) 2021-01-24 16:33:47 -05:00
arkon 0a54901eb0 Refactor tracker name strings 2021-01-24 16:06:28 -05:00
arkon 00285a782c Ignore error when cover is missing in Kitsu search results (fixes #4334) 2021-01-23 10:14:43 -05:00
Andreas 2a5102a457 Fix Kitsu toasting "Logged in" when there is an error (#4329) 2021-01-21 18:05:22 -05:00
arkon 878008e93b Reimplement MAL start/end date support 2021-01-16 16:03:19 -05:00
arkon 0cd551d4fd Revert removal of tracker start/end date 2021-01-16 15:48:20 -05:00
arkon 189f18b112 Simplify lookup for existing MAL list item 2021-01-16 10:51:17 -05:00
arkon 2ffbee3db2 Avoid using global scope where appropriate
Also fixes the crash in tracking when an exception is thrown during a refresh.
2021-01-08 18:05:51 -05:00
arkon df7e0d2f2f Surface "NSFW" (includes things like ecchi) results in MAL search (closes #4249) 2021-01-04 15:16:08 -05:00
arkon 8a792e6d76 MAL: add way to search by list items' titles 2021-01-04 14:30:04 -05:00
arkon 17b70ab38c Refactor Kitsu API to remove Retrofit usage 2021-01-04 12:13:14 -05:00
arkon 7d713b87b1 Fully remove usages of RxJava from tracker classes
TODO: refactor usages to coroutines as well
2021-01-03 23:41:36 -05:00
arkon 2d0a5eb02c Convert more TrackService methods to coroutines 2021-01-03 23:33:21 -05:00
arkon 8d68859c2a Change MAL ID search prefix to "id:" 2021-01-03 23:21:45 -05:00
arkon 139a589ad6 Increase per-page limit when searching MAL manga list 2020-12-31 10:58:40 -05:00
arkon 97a308b114 Minor cleanup of some tracker observables 2020-12-31 10:51:23 -05:00
arkon 430714e67f Find existing entry in MAL list when binding 2020-12-31 10:50:50 -05:00
arkon a49adbd09c Add ID search workaround for MAL tracking 2020-12-30 15:08:10 -05:00
arkon 2e8791a101 Refactor tracker response parsing 2020-12-27 17:46:14 -05:00
arkon ea33179a95 Convert tracker add/update/login methods to coroutines 2020-12-24 17:50:28 -05:00
arkon 6fcf6ae1f5 Use coroutines for Bangumi and Shikimori APIs 2020-12-24 17:23:10 -05:00
arkon f2a9247b68 Remove usage of Gson in Kitsu tracker 2020-12-24 17:02:33 -05:00
arkon dc3ed7fffc Use coroutines for Anilist API 2020-12-24 16:55:04 -05:00
arkon 271de31d51 Migrate Kitsu API to coroutines and kotlinx.serialization 2020-12-24 16:39:28 -05:00