v3.7.2
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 切换时序、
LyricsRecyclerViewprime 或普通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.apkLyricProvider-QQMusic-v3.7.2.apkLyricProvider-163Music-v3.7.2.apkLyricProvider-AppleMusic-v3.7.2.apkLyricProvider-Poweramp-v3.7.2.apkLyricProvider-Spotify-v3.7.2.apkLyricProvider-QiShui-v3.7.2.apkLyricProvider-KuGou-v3.7.2.apkLyricProvider-LXMusic-v3.7.2.apkLyricProvider-Metrolist-v3.7.2.apkLyricProvider-v3.7.2.zip
Provider 为独立 LSPosed 模块,只需安装自己使用的播放器对应 APK。