Skip to content

HyperGlow CN+ 109-0.3.82

Latest

Choose a tag to compare

@aodianjun aodianjun released this 06 Sep 23:35
· 252 commits to main since this release

安装包用途说明

  • hyperglow-cnplus-release-v0.3.82-109.apk(正式版):正常使用请安装此版本。正式签名、R8 压缩,适合日常安装使用。
  • hyperglow-cnplus-debug-v0.3.82-109.apk(调试版):提 issue 反馈问题时请安装此版本,可提供详细诊断日志辅助排查。调试签名,仅用于测试与问题排查,请勿作为日常版本长期安装。

更新日志 (v0.3.82 / versionCode 109)

🌟 修复 AOD 切歌后整首无歌词(issue #11)

  • 根因(0.3.81 实机日志确认):网易云共享内存的位置不是逐帧写入,而是按 base 元组 + 墙钟 × 速度 公式续算,Doze 冻结的是 base 更新。切歌后写入端仍停在旧歌时间线上续算,位置持续动态越界递增(实测 487520ms → 528687ms,新歌时长仅 188718ms)。0.3.81 的越界钳制把每个越界值钳到歌尾并清空歌词行——整首歌 AOD 纯色背景无歌词,并伴随 60Hz capping 日志刷屏;亮屏/切歌/seek 唤醒写入端后才恢复。
  • 同一 bug 的另一种表现:旧歌比新歌时,残留落在新歌时长内、被当成真实位置接受,歌词整段错位(显示在"偏移=旧歌时长"处的新歌歌词)。
  • 修复
    • 切歌可信门控:切歌后首个真实位置必须 ≤ 切歌后墙钟 × 观测速率 + 10s 容差,否则视为旧时间线残留拒绝、从 0 外推(新歌正确推进到歌尾);首个可信值或 seek 后开门恢复正常追踪。上界速率由残留增量估计(残留与真实位置同速推进),1.25x~3x 倍速播放不受影响;冻结型残留记首值持续拒绝,防上界随墙钟增长后被误接受。
    • 越界值视为 stalled:超过歌长 +2s 容差的位置一律不可信,从最后可信基准外推到投影歌尾、再按既有语义稳定占位——取代 0.3.81 直接钳歌尾清行;小幅越界(元数据时长略小于实际音频)仍钳到歌尾;capping 日志去重消除刷屏。
    • 正常播放 / 暂停 / seek / 单曲循环行为不变(门控只作用于切歌后首个可信值之前),issue #3/#9/#10 的修复全部保持。
  • 新增回归测试:时长内残留拒绝与冻结残留、2x 速率跟踪、越界残留外推等;全部 554 个测试通过。

🔄 同步上游 hyperglow 更新(amarinne/hyperglow)

  • 中文歌拒绝错误的日语假名注音(上游 8422d78):数据源(网易云)常给中文歌词错误标注日语 furigana,显示出来既难看又误导。现在中文歌(zh / zh-Hant 等)检测到 ruby 注音含日语假名(平/片假名)时,拒绝显示注音和罗马音;日语歌的假名注音是正确数据,原样保留。文档语言标签从歌词数据贯通到投影层。
  • 版本锁定退役,新设备不再被误报"不支持"(上游 6216fdc):移除 SystemUI/AOD 版本号白名单门禁,改为按符号探测实际解析出的能力判断——有可用 surface 即"可用",UI 显示"n/16 个挂钩可用"计数而非旧的置信度标签。修复新 HyperOS 设备明明能跑却被显示为"不支持配置文件"、诊断报告误报 setup failed 的问题。本地实验模式覆写逻辑保持不变。
  • 诊断报告接受 "available" 状态(上游 c5b1ffa):与新状态机配套的校验放行,避免诊断报告被拒收。
  • fillEndMs 允许越过本行行尾(跨行填充是合法数据),渲染端钳制行窗口防止行级扫光越界。
  • 全部 564 个测试通过。

Full Changelog: aodianjun/com.aodianjun.hyperglow.cnplus@108-0.3.81...109-0.3.82