feature/bookinfo-related-books (#1201)

* feature: add translation full content

* feature: add translation full content

* feature: add translation full content

* feature: add translation full content

* feature: add translation full content

* feature:use chunk files replace chunk cache db

* feature:use chunk files replace chunk cache db

* feature:use chunk files replace chunk cache db

* feature: add translation config navigation and refactor translation settings

* feature: 体验优化

* feature: fixed error prompt

* Fix Gson deserialization error for LLM translation classes under R8 obfuscation

* Fix PMD error

* feature: pre-translation

* feature: pre-translation

* 优化

* 优化

* 增加书籍详情页关联书籍推荐功能

* 修复关联书籍"更多"按钮URL模板变量未解析的问题

* 修复发现按钮部分不执行JS的问题

* 优化书籍详情封面长按逻辑

* 阅读界面自定义图标问题

* R8反混淆问题

* 主题保存时保存图片等资源

* 在首页、发现页等长按时,提供了一个查看简短书籍信息的界面与右上角书籍信息角标。现在书籍信息角标在封面设置中显示

* 现在可配置主页图标

* 主页模块配置被遮挡的问题

* 一些优化

* fix: address code review findings (null safety, error propagation, performance)

- TranslateChapterUseCase: wrap execute() in try-catch to prevent task
  stuck in Translating state; propagate actual translation error instead
  of generic "Translation incomplete"; defensive null check on pairs
- DictionaryRepositoryImpl: safe call on pairs for Gson null-bypass
- LlmTranslateRepositoryImpl: safe calls on json.sentences and
  json.choices to prevent NPE from unexpected API responses
- ContentChunker: normalize \r\n to \n before splitting paragraphs
  to handle Windows-formatted text files
- BookInfoViewModel: parallelize related books loading with async/awaitAll
- CoilBookCover: add finalPath as remember key to reset state on reuse
- ThemeImportExport: fallback to filesDir when getExternalFilesDir is null

---------

Co-authored-by: duanhl <duanhl7749@gmail.com>
This commit is contained in:
Kudomagaandduanhl authored and GitHub committed 2026-05-26 01:45:04 +08:00
1 parent 8205498f16
commit db5b18ca3c
53 files changed
+1970 -579

No files matched your search

+6
View File
@@ -1007,6 +1007,7 @@
<string name="pref_anti_alias_summary">Anti-Aliasing when draw picture</string>
<string name="upload_url">upload URL</string>
<string name="download_url_rule">downloadUrlRule(downloadUrls)</string>
<string name="related_books">Related Books(relatedBooks)</string>
<string name="clipboard_empty">Clipboard is empty</string>
<string name="clipboard_empty_or_invalid">Clipboard is empty or has an invalid format</string>
<string name="invalid_format">Invalid format</string>
@@ -1655,6 +1656,11 @@
<!-- Missing strings -->
<string name="cover_info_orientation">Cover orientation</string>
<string name="network_book_badge_setting">Network Book Badge</string>
<string name="filter_show_all">Show All</string>
<string name="filter_hide_in_shelf">Hide Same Source Books in Shelf</string>
<string name="filter_hide_same_name_author">Hide Non-Same Source Books in Shelf</string>
<string name="filter_show_not_in_shelf_only">Show Only Books Not in Shelf</string>
<string name="follow_read_background">Follow background</string>
<string name="heading_spacing">Heading spacing</string>
<string name="layout_setting">Layout settings</string>