Commit graph

178 commits

Author SHA1 Message Date
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
Andreas
e568951396
Split track preferences from PreferencesHelper (#8046) 2022-09-21 09:18:53 -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
cd3cb72b65 Bump dependencies + linting 2022-09-10 23:57:03 -04:00
arkon
38950f7bc8 Address some OkHttp nullability changes 2022-09-03 10:38:56 -04:00
arkon
3bc6b1e202 Fix default category showing up in edit manga categories list
Also remove some usages of runBlocking
2022-08-07 11:00:51 -04:00
arkon
5e68fe4fe9 Make screen loading indicators more consistent 2022-08-05 22:33:52 -04:00
Alessandro Jean
5315467908
Add missing Authorization header on MAL refresh token request (#7686)
* Add missing Authorization header on MAL refresh token request.

* Make sure to also close the response when it have failed.
2022-08-04 22:17:43 -04:00
Andreas
17951cfd68
Use SQLDelight for all Manga related queries (#7447) 2022-07-03 10:17:41 -04:00
arkon
53decfd47b Migrate usages of SyncChaptersWithTrackServiceTwoWay 2022-06-26 21:34:54 -04:00
arkon
65264e3ef5 Migrate more track DB calls to SQLDelight 2022-06-26 19:46:41 -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
arkon
7fdbf40cd2 Minor cleanups
Pulling out some of the smaller changes that aren't related to the manga controller changes in #7244
2022-06-04 16:01:49 -04:00
Andreas
c8468c29f1
MangaUpdates tweaks (#7205)
* MangaUpdates tweaks

* Review changes

Co-authored-by: arkon <4098258+arkon@users.noreply.github.com>

* Use built in functions instead of Jsoup

Co-authored-by: arkon <4098258+arkon@users.noreply.github.com>
2022-05-28 18:36:28 -04:00
arkon
87661eb85a Minor cleanup 2022-05-24 18:16:07 -04:00
Andreas
0c631a4990
Add MangaUpdates as a tracker (#7170)
* Add MangaUpdates as a tracker

- jobobby04 co-authored for suggestion in BackupTracking.kt

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

* Changes from code review

Co-authored-by: arkon <arkon@users.noreply.github.com>

Co-authored-by: jobobby04 <jobobby04@users.noreply.github.com>
Co-authored-by: arkon <arkon@users.noreply.github.com>
2022-05-24 18:00:33 -04:00
arkon
5afff31f72 Formatting 2022-04-08 16:44:23 -04:00
arkon
f0eb42e72d Update linter 2022-04-08 15:30:39 -04:00
arkon
1b71e4cee7 Write job failure exceptions to error log 2022-01-26 22:21:01 -05:00
arkon
89dbb4d300 Avoid migration failing if previous source doesn't exist 2022-01-23 17:21:23 -05:00
Gauthier
cd7cf3583e
fix: handle Komga tracks during manga migration (#6463)
* fix: handle Komga tracks during manga migration

closes #6354

* refactor: remove Komga direct reference
2022-01-22 14:25:05 -05:00
arkon
3dc4fd8dd1 Make tracker status wording/ordering more consistent 2022-01-08 15:49:39 -05:00
arkon
d04d676d2f URL encode Kitsu search queries (fixes #5712) 2022-01-05 17:43:11 -05:00
arkon
dbb2c523c1 Avoid crashes in tracker interceptor errors 2022-01-02 17:56:49 -05:00
arkon
58c2f22120 Truncate MAL search queries to first 64 characters (closes #6314)
Is it worth telling the user? ¯\_(ツ)_/¯
2021-12-26 11:35:28 -05:00
jmir1
a9d2741e6a
Automatically set tracker as completed after reading the last chapter (#6289)
* Automatically set tracker as completed after reading the last chapter.

* use integer value in comparison

* also set `started_reading` date

* don't use source manga's status

* remove useless line
2021-12-04 09:59:39 -05:00
arkon
e8f284d377 Add convenience extension functions for rate limit interceptors
To be included in extension-lib 1.3 as a replacement for the lib that's currently compiled in tachiyomi-extensions.
2021-11-28 14:41:46 -05:00
Henrik
8acce011b5
fix MAL search novel filter (#6279) 2021-11-25 12:55:52 -05:00
Ivan Iskandar
2e127dff1f
Replace Timber with Square Logcat and make logging configurable (#6062)
* Replace Timber with Square Logcat

* Configurable logger
2021-10-07 22:12:55 -04:00
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