Commit graph

5966 commits

Author SHA1 Message Date
Lorg0n
45cd945f7c fix: fixed a bug where the server returned a 404 error due to receiving data in HikkaApi 2024-10-27 02:25:24 +03:00
Lorg0n
6b8c2dcdc3 fix: recode the rereading logic in HikkaApi 2024-10-27 02:14:17 +03:00
Lorg0n
23a34cd3b7 fix: slightly optimised the function of string to number conversion and fixed the check 2024-10-27 01:02:16 +03:00
Lorg0n
e332a5018e fix: corrected function names and added reread logic 2024-10-22 18:59:57 +03:00
Lorg0n
41db4a5865 ref: added more specificity and removed unnecessary code in Hikka Api 2024-10-17 22:46:26 +03:00
Lorg0n
f39e947ece feat: more optimization Hikka authorization 2024-10-17 22:25:48 +03:00
Lorg0n
9eeed9f050 feat: improve Hikka authorization 2024-10-17 20:33:09 +03:00
Lorg0n
03f9ae8bb2 feat: improve Hikka authorization 2024-10-17 20:32:47 +03:00
LorgOn
32db1da753
Merge branch 'mihonapp:main' into Add-Hikka-Tracker 2024-10-17 18:42:14 +03:00
Lorg0n
06f01de4b5 feat: update AndroidManifest for auth support, modify auth-related classes, and add Hikka to tracker list 2024-10-17 17:55:18 +03:00
Lorg0n
f6d8d415cc feat: add core Hikka tracker classes and DTOs for API requests 2024-10-17 17:21:53 +03:00
Lorg0n
68d24dff27 feat: add Hikka logo to resources 2024-10-17 17:01:07 +03:00
AntsyLich
2e2c8d36c1
Make sure random library sort is at the bottom 2024-10-15 05:00:56 +06:00
AntsyLich
788235feec
Reorder reader menu overflow items 2024-10-15 03:57:58 +06:00
AntsyLich
afa5002988
Cleanup .gitignore files 2024-10-15 03:39:48 +06:00
Roshan Varughese
de36357da8
Add option to backup non-library read entries (#1324)
Co-authored-by: jobobby04 <jobobby04@gmail.com>
Co-authored-by: AntsyLich <59261191+AntsyLich@users.noreply.github.com>
2024-10-14 16:30:23 +00:00
brewkunz
3ed8a91c7b
Fix EnhancedTracker not auto binding when adding manga to library (#1298) 2024-10-13 20:32:29 +06:00
Roshan Varughese
87db3f90de
Confirmation dialog when removing privately installed extensions (#1320)
Co-authored-by: AntsyLich <59261191+AntsyLich@users.noreply.github.com>
2024-10-13 18:48:00 +06:00
Jack Hamilton
a72db41bf1
Added random library sort (#1317)
Co-authored-by: AntsyLich <59261191+AntsyLich@users.noreply.github.com>
2024-10-13 13:51:34 +06:00
Roshan Varughese
6b2bba4e54
Add Quantity Badge to Upcoming Screen (#1250)
Co-authored-by: AntsyLich <59261191+AntsyLich@users.noreply.github.com>
2024-10-12 17:51:34 +06:00
Roshan Varughese
7c7af72f8c
Add option to opt out of Analytics and Crashlytics (#1237) 2024-10-12 06:46:28 +06:00
AntsyLich
c8bb78d91a
Tweak profile compilation status output
Co-authored-by: p
2024-10-12 06:23:37 +06:00
AntsyLich
2ba3f0612c
Remove usage of deprecated accompanist SystemUiController
Co-authored-by: p
2024-10-12 06:22:34 +06:00
AntsyLich
f84d9a08b4
ChapterNavigator: dispatch page change only when needed
Co-authored-by: p
2024-10-12 05:12:38 +06:00
AntsyLich
37419cdc26
Bump compile sdk to 35
Co-authored-by: p
2024-10-12 05:11:58 +06:00
AntsyLich
481cfedf08
Update resources exclusion rules
Co-authored-by: p
2024-10-12 05:11:16 +06:00
AntsyLich
2beb89d531
Cleanup LibraryScreenModel LibraryMap.applySort and some more 2024-10-12 05:00:56 +06:00
brewkunz
44aab7a243
Retain remote last chapter read if it's higher than the local one for EnhancedTracker (#1301) 2024-10-10 18:15:06 +06:00
Secozzi
76e0aba70c
Fix AniList ALSearchItem.status nullibility (#1297)
Some checks failed
CI / Build app (push) Has been cancelled
2024-10-06 04:09:49 +06:00
AntsyLich
be671b42ce
Move firebase permission removal to standard flavor
And disable some more stuff
2024-09-18 17:37:33 +06:00
Roshan Varughese
9cc7d42dd9
Re-enable fetching chapters list for entries with licenced status (#1230)
Enable Licensed
2024-09-17 14:47:04 +06:00
MajorTanya
f5c6d2e1a6
Fix Kitsu synopsis nullability (#1233)
This time, the Kitsu API docs are silent on whether this field (or
any other field) can be null/undefined/etc, but it can happen and
caused an error during search and update. This change just ensures the
attribute is nullable and is set to an empty String when it is null.
2024-09-17 14:46:37 +06:00
AntsyLich
83fd4746ed
Use new library for injekt with inorichi patch 2024-09-08 20:09:45 +06:00
NGB-Was-Taken
c8ad6cdf31
Show toast for app restart when User-Agent is changed (#1204)
Some checks failed
CI / Build app (push) Has been cancelled
2024-09-07 14:15:22 +06:00
AntsyLich
6f422745ba
Reduce ChapterNavigator horizontal padding on small ui (#1202)
Co-authored-by: p
2024-09-07 14:14:42 +06:00
AntsyLich
bec549cc44
Use TextFieldState in BasicTextField where applicable (#1201)
Co-authored-by: p
2024-09-07 08:11:14 +00:00
bapeey
b56a97bb8e
Ignore "intent://" urls on webview (#1193)
ignore intent urls
2024-09-05 16:11:09 +06:00
AntsyLich
bd7b354198
Move archive related code to :core:archive 2024-09-05 16:00:46 +06:00
MajorTanya
001249a89d
Fix Kitsu ratingTwenty being typed as String (#1191)
The API docs and the responses type `ratingTwenty` as a "number" (Int
in Kotlin, it's divided by 2 for a .5 step scale 0-10). It's nullable
because an entry without a user rating returns `null` in that field.
2024-09-05 10:56:58 +06:00
AntsyLich
f22767d863
Fix mishap in 02af9b1acf 2024-09-03 17:32:19 +06:00
AntsyLich
02af9b1acf
Remove more unnecessary permissions from Firebase dependency 2024-09-03 17:22:39 +06:00
AntsyLich
3c611b95fb
Add crashlytics to standard builds 2024-09-03 15:45:19 +06:00
AntsyLich
fc1c804bfd
Migrate some classpaths to gradle plugins 2024-09-03 14:09:12 +06:00
Roshan Varughese
abfb72c89c
Option to update trackers when chapter marked as read (#1177)
* Track when marked as read

* Add dismiss to snack bar

* i18n & ignore decimal chapters

* Detekt would have caught that 🤣

* `Ok` > `Yes`

* Dont prompt if untracked or current > new

* Move to MangaScreenModel

* Suggestions

Co-Authored-By: AntsyLich <59261191+AntsyLich@users.noreply.github.com>

* Review 2

* toggleAllSelections first

---------

Co-authored-by: AntsyLich <59261191+AntsyLich@users.noreply.github.com>
2024-09-03 03:41:44 +06:00
MajorTanya
9f99f038f3
Use DTOs to parse tracking API responses (#1103)
* Migrate tracking APIs to DTOs

Changes the handling of tracker API responses to be parsed to DTOs
instead of doing so "manually" by use of `jsonPrimitive`s and/or
`Json.decodeFromString` invocations.

This greatly simplifies the API response handling.

Renamed constants to SCREAMING_SNAKE_CASE.

Largely tried to name the DTOs in a uniform pattern, with the
tracker's (short) name at the beginning of file and data class names
(ALOAuth instead of OAuth, etc).

With these changes, no area of the code base should be using
`jsonPrimitive` and/or `Json.decodeFromString` anymore.

* Fix wrong types in KitsuAlgoliaSearchItem

This API returns start and end dates as Long and the score as Double.

Kitsu's docs claim they're strings (and they are, when requesting
manga details from Kitsu directly) but the Algolia search results
return Longs and Double, respectively.

* Apply review changes

- Renamed `BangumiX` classes to `BGMX` classes.
- Renamed `toXStatus` and `toXScore` to `toApiStatus` and `toApiScore`

* Handle migration from detekt to spotless

Removed Suppressions added for detekt.

Specifically removed:
- `SwallowedException` where an exception ends as a default value
- `MagicNumber`
- `CyclomaticComplexMethod`
- `TooGenericExceptionThrown`

Also ran spotlessApply which changed SMAddMangaResponse

* Fix Kitsu failing to add series

The `included` attribute seems to only appear when the user already
has the entry in their Kitsu list.

Since both `data` and `included` are required for `firstToTrack`, a
guard clause has been added before all its calls.

* Fix empty Bangumi error when entry doesn't exist

Previously, the non-null assertion (!!) would cause a
NullPointerException and a Toast with
"Bangumi error: " (no message) when the user had removed their list
entry from Bangumi through other means like the website.

Now it will show "Bangumi error: Could not find manga".

This is analogous to the error shown by Kitsu under these
circumstances.

* Fix Shikimori ignoring missing remote entry

The user would see no indication that Shikimori could not properly
refresh the track from the remote. This change causes the error Toast
notification to pop up with the following message
"Shikimori error: Could not find manga".

This is analogous to Kitsu and Bangumi.

* Remove usage of let where not needed

These particular occurrences weren't needed because properties are
directly accessible to further act upon. This neatly simplifies these
clauses.

* Remove missed let
2024-09-03 01:46:08 +06:00
AntsyLich
6c6ea84509
spotlessApply my beloved 2024-09-02 22:35:00 +06:00
AntsyLich
4ee31bfea5
Add stable marker to Manga data class
Co-authored-by: ivan <12537387+ivaniskandar@users.noreply.github.com>
2024-09-02 21:54:53 +06:00
AntsyLich
03eb756ecb
Collect MangaScreen state with lifecycle
Co-authored-by: ivan <12537387+ivaniskandar@users.noreply.github.com>
2024-09-02 21:22:21 +06:00
AntsyLich
a45eb5e528
PagerPageHolder: lazy init loading indicator
Co-authored-by: ivan <12537387+ivaniskandar@users.noreply.github.com>
2024-09-02 21:13:52 +06:00
AntsyLich
518abf032c
Remove legacy broken source and history backup 2024-08-30 11:36:34 +06:00