Skip to content

v3.7.2

Choose a tag to compare

@Andrea-lyz Andrea-lyz released this 13 Aug 19:33
· 7 commits to main since this release

ColorOS Live Lyrics Bridge v3.7.2

v3.7.2 重构“播放器翻译设置”:翻译开关按钮统一占用锁屏媒体卡收藏槽位(媒体卡固定 5 个按钮,
只能替换、不能新增),并为 QQ 音乐、原版酷狗修复此前失效的翻译按钮;新增分播放器
“锁屏媒体卡翻译按钮”开关;设置页建立播放器卡片接入约定(按是否有翻译源显示开关),
Spotify/Metrolist 明确显示“不支持翻译”。外部歌词 v4 协议、Provider 准入规则与既有
AOD/渲染行为保持兼容,本次无 Provider 变更。

播放器翻译设置重构

  • 代码分层:新增 PlayerTranslationTogglePolicy(纯决策)与
    TranslationToggleMediaActionBinder(媒体卡模型操作:定位收藏、原地替换、提升、呈现、
    点击绑定),LockscreenLyricsModule 不再承载媒体动作操作,只保留 Hook 入口与运行时状态。
  • 收藏定位三级兜底:PlaybackState.CustomAction 映射 → OPlus heart 标记
    getHeartAction / hasHeartFromRating)→ Rule0 列表唯一动作。QQ 音乐、原版酷狗的收藏
    不携带 CustomAction(设备日志确认),此前翻译按钮完全失效,现经兜底恢复可用。
  • 分播放器“锁屏媒体卡翻译按钮”开关(默认开):开 = 收藏槽位换成翻译开关;关 = 恢复播放器
    自带收藏。开关覆盖三条按钮路径:替换收藏(QQ/酷狗/网易云/Apple/汽水/酷狗 Lite)、公开注入
    按钮(LX/Poweramp/Cone 等,关闭时从媒体卡移除)、Salt 自带桌面歌词按钮(关闭时恢复播放器
    自身行为)。
  • 图标加载修复:模块 ic_translation 改为从资源所属包 Context 直接加载;此前
    Icon.loadDrawable 在 SystemUI 侧对跨包资源静默返回 null,导致按钮图标未被替换。
  • 无翻译歌曲恢复播放器自带收藏:修复媒体卡按钮视图回收复用导致“只剩 4 个按钮”的问题,
    媒体卡始终 5 个按钮。

设置页卡片接入约定

  • 播放器卡片新增 supportsTranslation 声明:有翻译源的播放器显示“默认显示翻译 / 锁屏媒体卡
    翻译按钮 / 清除记忆”;无翻译源的播放器(Spotify、Metrolist)保留卡片用于检测
    LyricProvider 安装状态,显示“不支持翻译”且不显示任何开关。
  • 新增 Metrolist 卡片,并修复其 Provider 检测(manifest <queries> 补充
    io.github.proify.lyricon.metrolistprovider,此前 Android 11+ 包可见性导致卡片误灰置)。
  • 新播放器接入约定见 docs/TRANSLATION_TOGGLE_INTEGRATION.md

OPlus 媒体黑名单放行

  • 新增 OplusMediaControlService.isInMediaBlackList(String) 拦截:模块管理播放器(内置
    适配器与 Provider 桥接播放器)在黑名单查询命中时放行(返回未命中),避免被 OPlus 媒体控制
    过滤;其他包需在清单中显式声明接入(opt-in),并经 LockscreenIntegrationPolicy 策略
    门控后放行。未命中黑名单或未声明接入的包保持系统原判定,不影响既有白名单/历史逻辑。

已知特殊案例

  • Apple Music:收藏采用评分式槽位,其渲染图标来自媒体卡模型之外的来源,静态替换不可达;
    翻译按钮图标保留播放器自带(与翻译功能匹配),按钮功能与其余行为正常。

LyricProvider

  • 本次无 Provider 功能变更;全部 Provider APK 仍随 Release 附带,供按需更新。

兼容与验证

  • 外部歌词协议仍为 v4;现有 Provider 的 source / playerPackage / senderPackage /
    senderKind 静态白名单校验不变。
  • 未修改官方 Renderer 的 AOD 切换时序、LyricsRecyclerView prime 或普通 TextView
    Hook 范围。
  • scripts\dev.cmd bridge testDebugUnitTest assembleDebug 通过(423 项测试 0 失败)。
  • 真机验证(OPPO 设备,debug 构建):
    • QQ 音乐、原版酷狗:收藏槽位变为翻译按钮、点击切换翻译行、开关关恢复收藏 —— 通过;
    • Salt/Cone/LX/Poweramp/汽水:媒体卡翻译按钮开关开/关全部生效,Salt 图标修复为模块
      翻译图标 —— 通过;
    • 无翻译歌曲恢复播放器自带收藏、媒体卡保持 5 个按钮 —— 通过;
    • Metrolist 卡片亮起并显示“不支持翻译”、无开关 —— 通过;
    • Apple Music 图标为播放器自带(特殊案例,见上)。

升级说明

  • 更新 Bridge 为 ColorOS-Live-Lyrics-Bridge-v3.7.2.apk;本次无 Provider 变更,无需更新
    Provider。
  • 更新后重启对应播放器进程;如 LSPosed 仍加载旧模块,请重启设备。
  • “播放器翻译设置”新增的“锁屏媒体卡翻译按钮”默认开启;不希望收藏槽位被替换的用户可
    逐播放器关闭。

Release 资产

  • ColorOS-Live-Lyrics-Bridge-v3.7.2.apk
  • LyricProvider-QQMusic-v3.7.2.apk
  • LyricProvider-163Music-v3.7.2.apk
  • LyricProvider-AppleMusic-v3.7.2.apk
  • LyricProvider-Poweramp-v3.7.2.apk
  • LyricProvider-Spotify-v3.7.2.apk
  • LyricProvider-QiShui-v3.7.2.apk
  • LyricProvider-KuGou-v3.7.2.apk
  • LyricProvider-LXMusic-v3.7.2.apk
  • LyricProvider-Metrolist-v3.7.2.apk
  • LyricProvider-v3.7.2.zip

Provider 为独立 LSPosed 模块,只需安装自己使用的播放器对应 APK。