getCoverFile only returns a cover if it already exists, meaning
the block of code to write it from the inputstream never executes.
If getCoverFile returns null, then use previous behaviour of setting
it to cover.jpg so that if the file doesn't exist it's created
* group LocalSource and Other lang source together
* use better kotlin syntactic sugar
* add lang "other" to local
* remove duplicate LocalSource entries in Browse
* linting
* revert unnecessary linting
was a manually adding change
* Revert previous two commit but not the most recent
This reverts commit 30250f2f82fc5e38a1b30c7b55c445efec23a114
This also reversts commit 359ed5a8cda91577216b593a4138280e971e0126
* better way to avoid duplicate Local Sources
* more linting by plugin
* `""` lang is no longer used anywhere
* Add TachiyomiImageDecoder for Coil
Is currently used to decode AVIF and JPEG XL images.
* LocalSource: Check against file name for cover
This allows file with all supported formats to be set as cover
* TachiyomiImageDecoder: Handle HEIF on Android 7 and older
* Fill manga and chapter metadata with EPUB metadata where appropriate.
* Use fuzzy-match to remove manga titles from chapter names.
This allows removing manga titles from the metadata title of local EPUB chapters with characters that can't be in the manga directory's name due to filesystem limitations.
* Use more standard way of parsing EPUB dates.
* Use date format compatible with lower Android versions for EPUBs.
* Delete old reader
* Add utility methods
* Update dependencies
* Add new reader
* Update tracking services. Extract transition strings into resources
* Restore delete read chapters
* Documentation and some minor changes
* Remove content providers for compressed files, they are not needed anymore
* Update subsampling. New changes allow to parse magic numbers and decode tiles with a single stream. Drop support for custom image decoders. Other minor fixes
* add local source
* small fixes
* change Chapter to SChapter and and Manga to SManga in ChapterRecognition.
Use ChapterRecognition.parseChapterNumber() to recognize chapter numbers.
* use thread poll
* update isImage()
* add isImage() function to DiskUtil
* improve cover handling
* Support external SD cards
* use R.string.app_name as root folder name