Various improvement and added the option to choose what they want to sync. Added sync library button to LibraryTab as well.
Signed-off-by: KaiserBh <kaiserbh@proton.me>
There are several possible causes of the cache file to not exist, including user
action. By skipping these couple steps during initialization when the file is
missing, a renew action is allowed to start and the cache will rebuild and
hopefully work as expected.
Simple fix for #10360
The TachiyomiTheme introduced a dependency-injection construct that didn't
exist at the time of rendering previews, so I've changed the preview function
to use a preview version of the theme that uses declarative configuration
over dependency injection
Gson will fail with gson.internal.linkedtreemap cannot be cast to class. Mainly because it's removed or obfuscated by R8.
Signed-off-by: KaiserBh <kaiserbh@proton.me>
So on a really big data we will run into OOM issue. With this change we implement streaming approach, rather than loading the entire JSON string into memory at once.
Signed-off-by: KaiserBh <kaiserbh@proton.me>
Use composite keys for better matching, there was mismatch before and better manga categories handling.
Added more logs as well.
Signed-off-by: KaiserBh <kaiserbh@proton.me>
Introduce timestamp optimization to sync process by storing the last successful sync timestamp. Now, only records modified after this timestamp are queried, ensuring efficiency by considering only the latest changes.
Import measureTimeMillis for performance measurement, add processFavoriteManga method to refine favorite manga processing, and update various conditions for streamlined sync checks.
Enhance logging for better process visibility and timing accuracy.
Signed-off-by: KaiserBh <kaiserbh@proton.me>
Refactored the mergeMangaLists and mergeChapters functions to use composite keys for enhanced manga and chapter identification. Implemented composite keys incorporating multiple fields (source, url, title, and author for manga; url, name, and chapterNumber for chapters) to ensure a unique and robust matching process. Added detailed debugging logs at each step of the merge to provide insights into the matching process, making it easier to trace and debug issues related to manga and chapter mismatches. These improvements ensure greater accuracy and reliability in identifying and merging manga and chapters across local and remote lists.
Signed-off-by: KaiserBh <kaiserbh@proton.me>