Repository navigation
🔧 修复
1. 缓存到本地的音轨,偶尔挂到别的作品的缓存字幕
- 判定收进一个零状态纯函数内核,三道闸:有作品键就只认它;同一时长落在两个以上
作品键就直接拒;没有作品键时只允许「唯一候选 + 无反证据」。 - 保留「唯一候选且无反证据 ⇒ 放行」这条兼容路。
- 候选构造按音轨自己的作品键分组(特典轨带子目录),并把「明确没有字幕的轨」也算进
形状证据;反查磁盘时跳过作品键为空的条目。 - 拒绝与推断分开留痕。
2. 宿主变成浮窗后,字幕开关按钮位置错位
- 换算前减掉窗口原点;旧调用路径保留成「顶端=0」的薄委托 ⇒ 全屏下的位置逐像素不变。
- 新增窗口形态检测(顶端 / 屏宽 / 屏高任一变化)⇒ 无条件强制重落位。
3. 三处字幕时序问题
- 重建视图时不取消上一轮的行内滚动动画。
- 延迟复核回调在视图销毁后仍会跑 ⇒ 改为发起时捕获视图身份,跑时身份不符直接放弃。
- 布局监听器「只在第一次挂得上」⇒ 改为「先摘后挂」并记住挂载根。
📃 已知问题
宿主 app 以浮窗形式呈现时,因页面布局位置不足,字幕开关按钮会压住播放控件。
这一版修掉的是「坐标口径错位」,而浮窗里那块可用空间本来就窄:
简介行、进度条、时间行、控件行挤在一起,把按钮强行摆在正确位置之后,它仍和播放控件有重叠。
要彻底解决需要新的落位策略,留到后面的版本再做计划处理(或者不处理,开摆です)。
📦 版本
- versionName:2.4.4
- versionCode:1048
- 无清单 / 组件变更,可直接覆盖安装
- 校验:
DLsiteFloat-2.4.4-code1048-debug.apk· 7,261,751 B sha256 59a96bd24ede3a7f04edac99561773f6a15863a803f826e655a5da6913a7dbfa