* Explicitly use `network.cloudflareClient` instead of `super.client`
... but only if the parent is `HttpSource` or `ParsedHttpSource`
* Remove use of `network.client`
... replaced with `network.cloudflareClient` or `super.client` if the
parent class sets `client` to `network.cloudflareClient` already.
* import all temporarily
* use `getPreferencesLazy()`
regex: lazy\s*\{\s*Injekt\.get<Application>\(\)\.getSharedPreferences\(\"source_\$id\"\, 0x0000\)(!!)?\s*\}
* use `getPreferences()`
regex: Injekt\.get<Application>\(\)\.getSharedPreferences\(\"source_\$id\"\, 0x0000\)(!!)?
* `getPreferences` and `getPreferencesLazy` with migration
regex to find: getPreferences\(\)\s*\.
* preferences edge cases
* run lint
* why kotlinter not add newline
* bruh
* bump
* unused import not caught by kotlinter
* review suggestions on all files
* bump after merge main
* review
* reduce usage of
* Komga: Filter out EPUB books, fix chapter timestamps
* Add default library setting
* Make some settings not require a restart
* Don't use fixed enums
* Rename None sort to Relevance (#1284)
* make popular default to alphabetical sort
* Use Gradle version catalog to simplify dependencies
* Changes based on review comments
* Remove libs variables in buildScript
- Not needed in this Gradle version
* use the correct link for viewing in browser
api url on browser just provides a json. For viewing in browser,
we need the normal url instead
* just use `substringAfter`
was trying out another way using `substringAfterLast` but dropped that.
Now `substringAfterLast` isn't required and `substringAfter` suffices
* make fetchMangaDetails not use mangaDetailsRequest
internally, `fetchMangaDetails` uses `mangaDetailsRequest` to create a
new call. However, since `mangaDetailsRequest` is now fixed to use a
normal browser URL rather than the API URL, it no longer works for
`fetchMangaDetails`. So, it needs to be manually overriden to make its
own call
* use hardcoded ID values instead of computing
this was done because of the following:
- IDs are same as before
- no need to rely on calculation to be correct everytime
- avoids unnecessary copy of base class code
- sets it in the constructor itself
* increment komga.extVersionCode
also update CHANGELOG with list of changes
* linting and remove unused imports
* Revert "linting and remove unused imports"
This reverts commit e13396badef53fced2700266182bbf53a67124cf.
* Revert "use hardcoded ID values instead of computing"
This reverts commit 44f063904d5969fb6d90c9ffad5c33aff50b995f.
* refactor `mangaDetailsRequest`
Do it in a simpler manner without having to create another variable
Co-authored-by: Gauthier <gotson@users.noreply.github.com>
Co-authored-by: Gauthier <gotson@users.noreply.github.com>
* annotate komga data classes
annotate @Serializable to relevant data classes. this is the first step
to replace gson/kotson with kotlinx.serialization
* switch to kotlinx.serialization.json
replaces gson/kotson usage in komga extension
big thanks to gotson for already switching to data classes
made the conversion very simple
Co-authored-by: Gauthier <gotson@users.noreply.github.com>
* linting
* increment komga.extversioncode
also update changelog
* use .string() instead of toString()
since we actually need the object in memory as a string rather than the
content
* apply plugin to generate Serializable
this makes serializers for all data classes that are annotated as
Serializable
Co-authored-by: Gauthier <gotson@users.noreply.github.com>