v1.7.0 - Stable lyric sessions and lock-screen layout
更新内容
- 新增播放器无关的歌词会话规约器,将异步歌词回调与稳定曲目信息绑定,避免切歌期间把新歌词写入上一首歌曲;同时兼容 Salt Player 的状态栏/车载歌词转发元数据。
- SystemUI 私有媒体与歌词入口改用 DexKit 动态识别,并保留旧类名回退路径,降低 ColorOS/OPlus 更新或代码混淆带来的失效风险。
- 在歌词进入 OPlus 官方列表前统一规范化:同一时间戳只保留主歌词 item,翻译与逐字信息继续保留在完整模型中;过滤制作信息、标题歌手行和零宽占位行。
- 修复部分双语 LRC 被解析为“中文主句、英文翻译”的问题,并增加 Opalite 零宽占位行回归测试。
- 改进重复歌词、首行预滚动和官方列表位置映射,使用时间戳、规范化文本与出现顺序共同定位当前句。
- 锁屏歌词采用稳定的
80dp物理槽位和6dp间距;短句视觉密度收紧,长句继续使用两行滑动窗口,当前进度行下移约48dp。 - 移除按内容动态改变 item 几何的方案,避免每句播放完成时出现挤压、下跳或 RecyclerView 重新测量。
- 改进 Seedling 播放位置同步、歌词界面可见性恢复、切歌淡入恢复和屏幕超时保活状态更新。
- 新增适用于中文路径的本地 Gradle 构建脚本,并补充歌词会话、布局策略、LRC 规范化、曲目身份与双语解析测试。
已验证场景
- Salt Player 不同歌曲连续切换、暂停恢复与进度跳转。
- 连续短句、长句、翻译行、重复副歌和双语同时间戳歌词。
- Opalite 中零宽占位行紧邻同时间戳中英歌词的解析场景。
- 翻译按钮、锁屏超时保活与切歌歌词渐变在播放器重启后的正常恢复。
升级提示
安装后请在 LSPosed 中确认模块已勾选目标播放器与系统界面,然后重启播放器进程和系统界面;建议直接重启设备以确保新版 SystemUI Hook 与 DexKit 缓存完整生效。