Commit graph

145 commits

Author SHA1 Message Date
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 1e3de8a67f

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
arkon
1268caf3e0 Make OkHttp coroutine calls always throw exceptions on errors 2020-12-24 15:36:57 -05:00
arkon
c0cef58e39 Surface MAL HTTP errors properly 2020-12-24 15:09:10 -05:00
arkon
d363d205c3 Fix trackers after MAL not updating 2020-12-21 17:31:31 -05:00
arkon
2fd5a9e883 Filter out novels from MAL search results 2020-12-21 17:24:35 -05:00