Commit Graph
100 Commits
Author SHA1 Message Date
HapeLee ae56520750 fix: 字典弹窗使用Compose实现 2026-06-15 23:41:21 +08:00
HapeLee 6dc79761f6 Merge remote-tracking branch 'fansangg/fix/1424'
# Conflicts:
#	app/src/main/java/io/legado/app/ui/book/read/ReadBookMenuBar.kt
#	app/src/main/java/io/legado/app/ui/book/read/sheet/TextTitleSheet.kt
2026-06-15 01:49:50 +08:00
HapeLee 637f8e6e2b fix: 阅读主题isDark跟随应用明暗设置而非背景亮度推导 2026-06-15 01:47:30 +08:00
HapeLee 9bb8571cc7 fix: 阅读菜单模糊着色、调色板样式、标题胶囊布局及主题覆盖修复 2026-06-15 01:33:28 +08:00
HapeLee 5a587222eb @
feat: 顶栏液态玻璃胶囊布局与合并按钮

- 合并换源/刷新/更多按钮为一个药丸形液态玻璃按钮(仅液态玻璃开启时)
- 新增标题胶囊布局开关,将书名和章节名放入导航按钮旁的液态玻璃胶囊内
- 去掉切换到 TextTitle 菜单 tab 时隐藏顶栏的逻辑
- 玻璃效果统一为 40dp,与返回按钮一致,镜头扭曲不受裁切
@
2026-06-14 21:36:09 +08:00
HapeLee 67a25c7cfe fix: 修复换源加载字数配置不生效
- loadBookWordCount 中 book.toSearchBook().apply 创建临时对象后被丢弃,
  字数信息未传递到搜索结果。改为返回 SearchBook 并在 searchSource 中使用。
- loadInfo/loadToc 切换后不重启搜索(与参考实现一致,仅保存设置)。
2026-06-14 20:20:11 +08:00
HapeLee 2097c0201c fix: 保存搜索范围选择 2026-06-14 16:43:08 +08:00
HapeLee 4ad6b1396b fix: 修复换源配置卡死 2026-06-14 16:43:08 +08:00
HapeLee 7c9b08d21a feat: xxx 2026-06-14 13:57:21 +08:00
Kudomaga 7c9b87a3c4 Merge pull request #1427 from fansangg/fix/theme-switch
fix:切换主题风格后会 “自动跳转最近阅读”

@fansangg
2026-06-14 13:28:04 +08:00
HapeLee 1a7962ea4b Merge branch 'main' into fix/theme-switch 2026-06-14 13:26:57 +08:00
Kudomaga 4fbe3fee38 Merge pull request #1426 from fansangg/feat/merge-padding-headerfooter
feat:页眉页脚的间距设置移到信息,信息改成dialog形式

@fansangg
2026-06-14 13:23:26 +08:00
HapeLee aa3186d0df fix: 修复桌面图标回前台保留阅读路由 2026-06-14 13:20:45 +08:00
HapeLee fef2ebd990 fix: 迁移换源配置到 DataStore 2026-06-14 13:20:45 +08:00
HapeLee 3577de5f69 fix: 修复阅读页后台恢复路由 2026-06-14 13:20:45 +08:00
HapeLee f0f7eaf5bc fix: 修复阅读搜索串书和定位问题 2026-06-14 13:20:45 +08:00
HapeLee 21f9409bd6 fix: 修复搜索范围选择行为 2026-06-14 13:20:44 +08:00
HapeLee 242fba70e8 fix: 修复阅读菜单滑块同步问题 2026-06-14 00:36:37 +08:00
Kudomaga 1beefc59a2 refactor:优化阅读界面菜单切换page时的高度过渡动画
@fansangg @贡献者
2026-06-14 00:25:05 +08:00
Kudomaga 6a06aa9551 fix:修复自动开启web服务失效
@woruteyqi @贡献者
2026-06-14 00:24:58 +08:00
HapeLee ffad6a2d09 fix: 阅读界面亮暗色切换 2026-06-14 00:21:28 +08:00
HapeLee 9432ea29fd fix: 下划虚线问题 2026-06-14 00:21:15 +08:00
HapeLee 7e66f7589d fix: 单章换源问题 2026-06-14 00:21:15 +08:00
HapeLee 3fdea120da fix: 搜索问题 2026-06-14 00:21:15 +08:00
HapeLee 83bc818544 fix: 搜索框默认文本 2026-06-14 00:21:15 +08:00
HapeLee b362161b7f fix: RSS搜索框 2026-06-14 00:21:14 +08:00
HapeLee fc096c92e8 fix: 搜索界面问题 2026-06-14 00:21:14 +08:00
HapeLee 318bef3649 fix:修复阅读更多设置状态同步问题 2026-06-13 12:59:48 +08:00
HapeLee 1bc7e69462 fix:修复标题设置刷新问题 2026-06-13 12:40:54 +08:00
HapeLee 78a78a59cb fix:修复设置开关状态刷新问题 2026-06-13 12:40:45 +08:00
HapeLee ecea5607d7 fix:修复词典规则页状态同步问题 2026-06-13 12:39:07 +08:00
HapeLee 3833ca1f7c fix:修复词典查询弹窗问题 2026-06-13 12:38:55 +08:00
HapeLee 97627be0da fix:修复阅读搜索定位问题 2026-06-13 12:38:38 +08:00
HapeLee 9be789f310 fix: 编辑样式 2026-06-12 15:39:46 +08:00
HapeLee 4e33693627 fix: 浮动按钮在边界状态下越界崩溃 2026-06-12 15:33:25 +08:00
HapeLee 1a99cdbac3 fix: 自动跳转最近阅读打开崩溃 2026-06-12 15:22:05 +08:00
HapeLee b8ddb487eb fix: 修复阅读搜索定位和双页同步问题 2026-06-12 13:54:44 +08:00
HapeLee 77ff118171 fix: 语言问题 2026-06-12 13:33:59 +08:00
HapeLee 28f80ad226 fix: 阅读界面相关优化 2026-06-12 13:27:35 +08:00
HapeLee d25568d99a fix: 高亮逻辑问题 2026-06-12 12:55:47 +08:00
HapeLee 35875f7dd3 fix: 补全修复阅读界面缺失的一些功能和同步问题 2026-06-12 03:26:36 +08:00
HapeLee 5ff9f3145a refactor: 统一FontSelectSheet组件 2026-06-12 03:22:13 +08:00
HapeLee d4745b55b4 refactor: 代码优化 2026-06-12 03:22:13 +08:00
HapeLee 81fc3ea7e4 fix: 使用TextPaint副本避免修改共享paint影响绘制线程 2026-06-11 20:46:31 +08:00
HapeLee dbe5863aa4 fix: 简繁体转换 2026-06-11 15:42:31 +08:00
HapeLee a94dc88a57 refactor: 一些本地属性迁移 2026-06-11 13:34:41 +08:00
HapeLee 08f197598f fix: 页眉字体 2026-06-11 13:34:21 +08:00
HapeLee 55b15c2de3 fix: 阅读界面配置响应性 2026-06-11 13:34:21 +08:00
HapeLee fc408c42dd fix: 高亮规则排版 2026-06-11 13:34:21 +08:00
HapeLee 541de1958a fix: 朗读引擎储存 2026-06-11 13:34:20 +08:00
HapeLee 6ec686074a fix: 电量 2026-06-11 13:34:20 +08:00
HapeLee 1a0599efe1 fix: 阅读界面电量显示始终为100%
电量更新依赖 ACTION_BATTERY_CHANGED 粘性广播通过 LiveEventBus 的
observeForever 传递初始值,在某些 Android 版本上不可靠。

修复:在 onRefsReady() 和 onResume() 中通过 Context.sysBattery
直接查询系统电量,确保阅读界面打开和恢复时立即显示正确电量。
2026-06-11 01:36:06 +08:00
HapeLee aa16376dae fix: 屏幕方向和屏幕超时设置切换后不立即生效
MoreConfigSheet 中屏幕方向和屏幕超时的变更只写入 DataStore,需经过
6 步异步传播(DataStore → Flow → ViewModel → Effect → Controller)
才能生效,导致:
- 切换横屏后文字显示不全,仍保持竖屏布局
- 目录不跟随横屏显示
- 屏幕超时设置延迟生效

修复:
- 新增 ReadBookIntent.SetOrientation 意图,直接写入 ReadConfig 并发射 Effect
- 将 ReadBookIntent.KeepLightChanged 改为带值的 data class,同理直接生效
- MoreConfigSheet 在写 DataStore 的同时同步调用 onIntent,立即应用变更
- 新增反向横屏(REVERSE_LANDSCAPE)选项
2026-06-11 01:36:06 +08:00
HapeLee 7d333f8b6c fix: 字体重置问题 2026-06-11 01:36:06 +08:00
HapeLee a6aff40e26 fix: 标签失效 2026-06-11 01:36:06 +08:00
HapeLee 961dca02ba fix: 背景图片 2026-06-11 01:36:06 +08:00
HapeLee f80a46d073 fix: 搜索结果页返回时丢失搜索状态
1. MainNavigator: 从 BookInfo 进入 ReadBook 时保留栈中历史,
   返回路径恢复为 ReadBook → BookInfo → Search → Home

2. SearchViewModel: initialize() 检查 committedQuery 是否为空,
   已有活跃搜索会话时跳过 clearSearchResults(),避免
   LaunchedEffect 在 Navigation3 entry 重新进入 composition 时
   清空搜索结果
2026-06-11 01:36:05 +08:00
HapeLee ce22b9f20e fix: 高亮规则 fontPath 排版测量与绘制字体不一致导致行首行尾标点错位
排版阶段始终用默认字体测宽和断行,但绘制阶段才切换高亮规则字体,
导致不同字体的标点 advance 差异引起首尾符号错位。

- TextLine.addColumn(): 把 fontPath.isNotEmpty() 纳入 onlyTextColumn 判断,
  防止仅改字体的规则被 fastDrawTextLine 跳过
- TextColumn: 新增 internal getTypeface() 让排版阶段复用 typeface 缓存
- TextChapterLayout: 在 applyHighlightRules 后用 remeasureWithHighlightFonts()
  按字符/cluster 使用对应 fontPath 的 TextPaint 重新测宽,
  确保 ZhLayout 断行、desiredWidth、TextColumn.start/end 全部基于正确字体度量
2026-06-11 01:36:05 +08:00
HapeLee 8af29b969b fix: 关闭悬浮底栏时LiquidGlass回退导致卡死
将LiquidGlass→Haze回退逻辑从SystemMenuPage的双Intent分发移至
ViewModel的FloatingBottomBar处理器中,确保readMenuFloatingBottomBar
和readMenuBottomBarBlurMode在同一_uiState.update中原子更新,
避免渲染管线看到floating=false+blurMode=LiquidGlass的非法中间状态。
2026-06-11 01:36:05 +08:00
HapeLee 1eca67f133 revert: 撤回 mostRecentlyReadBook 查询 2026-06-11 01:36:05 +08:00
HapeLee 408db6145f fix: defaultToRead 时打开特定书籍被忽略
当 intent 指定了具体路由(如从书架打开某本书)时,
defaultToRead 不应覆盖,只在 intent 为默认首页时才自动跳转最近阅读。
2026-06-10 23:38:18 +08:00
HapeLee 2788d5e9d8 fix: defaultToRead 始终跳转同一本书
lastReadBook 查询有过滤 type & BookType.text > 0,
漫画等非文本类型书籍不会被返回,导致始终跳转到很久以前读过的文本类书。

新增 mostRecentlyReadBook 查询(不限类型),initData / initReadBookConfig
改用它获取最近阅读的书籍。
2026-06-10 21:34:27 +08:00
HapeLee 3a8c4af968 fix: 朗读问题 2026-06-10 21:17:03 +08:00
HapeLee b1f4b207cc fix: 阅读返回行为 2026-06-10 03:05:48 +08:00
HapeLee 62875c54d9 fix: 书签问题与高亮规则代码优化 2026-06-10 02:44:07 +08:00
HapeLee 6749faf6eb fix: 主页面卡顿问题 2026-06-10 01:45:32 +08:00
HapeLee 43d5f6d5e2 fix: 漫画偏好设置问题 2026-06-10 01:45:32 +08:00
HapeLee 7bf9dfa09b fix: 自动跳转最近阅读 2026-06-10 01:45:32 +08:00
HapeLee eef1f58f26 fix: 高亮规则增加更多配置 2026-06-10 01:45:32 +08:00
HapeLee b27f068525 fix: 电量显示 2026-06-10 01:01:15 +08:00
HapeLee 38bbe6f3ff fix: 阅读时换源与并发数量 2026-06-10 00:42:01 +08:00
HapeLee 7b9a5dca16 fix: 章节点击事件 2026-06-10 00:42:00 +08:00
HapeLee 1c3ea16043 fix: 探索页网格数量不保存问题 2026-06-10 00:42:00 +08:00
HapeLee 1d47e29a18 fix: 朗读引擎长按事件与选择事件 2026-06-10 00:42:00 +08:00
HapeLee 92614c2ca6 fix: View与Compose亮暗色主题冷启动不一致 2026-06-09 13:26:52 +08:00
HapeLee 88dd01e0be fix: 阅读界面屏幕方向设置无效 2026-06-09 13:08:05 +08:00
HapeLee b731d201c1 fix: 阅读界面电量显示 2026-06-09 13:08:05 +08:00
HapeLee 0adb3a1484 fix: WebDAV配置来源统一 2026-06-09 13:08:05 +08:00
HapeLee 264f93389a fix: 封面设置来源统一 2026-06-09 13:07:55 +08:00
HapeLee 18dd340de1 fix: 喵喵喵 2026-06-09 02:52:18 +08:00
HapeLee e28be0301b fix: 朗读相关 2026-06-09 02:48:12 +08:00
HapeLee f00da95724 fix: 点击区域样式 2026-06-09 02:13:27 +08:00
HapeLee 295a219760 fix: 阅读菜单书源名称点击事件 2026-06-09 01:45:45 +08:00
HapeLee 25f6eeaf48 fix: 翻页开关 2026-06-09 01:17:10 +08:00
HapeLee f9fb720ae3 fix: 底栏显隐开关 2026-06-09 01:02:14 +08:00
HapeLee 9a53f9eaf4 fix: 电量显示卡住及阅读记录丢失 2026-06-09 00:45:14 +08:00
HapeLee d0be59f607 fix: 阅读背景问题 2026-06-09 00:16:36 +08:00
HapeLee 43fc1e8614 fix: prefDelegate 直接读DataStore值 2026-06-08 22:22:10 +08:00
HapeLee 8d12e03113 fix: 配置无响应问题 2026-06-08 13:51:30 +08:00
HapeLee 5db49a101c fix: 阅读界面日夜选项 2026-06-08 13:51:30 +08:00
HapeLee 51d5efbc2b fix: dataStore逻辑 2026-06-08 13:51:18 +08:00
HapeLee 99b6635f04 fix: dataStore逻辑 2026-06-08 13:51:12 +08:00
HapeLee dced1d364d refactor: AppConfig.themeMode 改为直接读取 ThemeConfig.themeMode
删除 AppConfig.themeMode 缓存变量,isNightTheme 和 JsExtensions
统一从 ThemeConfig.themeMode(prefDelegate / MutableState)读取,
消除 SP listener 异步同步的时序问题。
2026-06-08 13:51:12 +08:00
HapeLee 2ba5f98db9 fix: dataStore逻辑 2026-06-08 13:51:12 +08:00
HapeLee bdc0424073 fix: 阅读界面切换亮暗色后 View 层立即生效
toggleDayNight() 设置 ThemeConfig.themeMode 后,同步更新
AppConfig.themeMode 缓存变量,避免 View 层通过 ReadStyleResolver
读取时因 SP listener 异步回调而拿到旧值。
2026-06-08 13:51:12 +08:00
HapeLee 26d9c8ae84 fix: dataStore逻辑 2026-06-08 13:51:12 +08:00
HapeLee e5c6643da8 fix: 修复阅读界面切换亮暗色主题无效的问题 2026-06-08 13:51:12 +08:00
HapeLee 9189b3dcfc fix: dataStore逻辑 2026-06-08 13:51:11 +08:00
HapeLee b0cb83fcce feat: 更新readme与群组 2026-06-08 02:37:59 +08:00
HapeLee 02569c9b4e feat: 更新readme与群组 2026-06-08 02:18:30 +08:00