OWC v1.4.2 — 亮屏快充安全栏改为温度驱动(游戏不再单独暂停)
OWC v1.4.2
修复:亮屏快充「一进游戏就停」
问题:进入游戏后亮屏快充被限制,而当时温度远未达到安全阈值。
根因:主循环里游戏判断写在温度判断之前,游戏态直接 restore,温度判断被短路:
if [ "$GAME_ACTIVE" = "1" ]; then
restore_warp_charge # 游戏态无条件停
else
real_temp=$(get_real_temp) # 温度判断躲在 else 里,游戏时根本执行不到日志实测:21:58 充电接入时因游戏态未激活;22:02 心跳 电池=383(38.3°C)、CPU=73300(73.3°C),
两条阈值(46°C / 85°C)都没到,亮屏快充却已停用。
变更:安全栏由「场景驱动」改为「温度驱动」
- 新增
warp_temp_hot()作为唯一暂停依据:电池 ≥ 46°C 或 CPU/SoC ≥ 85°C → 暂停;
游戏运行不再单独触发暂停,只写入日志便于回溯 CLI apply(磁贴 / App 热开关)与「游戏退出立即恢复」两处同步加温度守卫,防止绕过- 原「游戏运行中暂停」的设计意图保留在注释中作为历史依据(shell-temp 伪装本身就是骗温控)
顺带修复
is_game_running检测链:补ResumedActivity标记(ColorOS 16 无 AOSP 的
topResumedActivity=/mResumedActivity:),并修正head -1的位置 —— 前台为通知栏 /
输入法时mCurrentFocus不含包名,原写法会掐断整条检测链WARP_ACTIVE补初始化:此前未赋值,导致心跳打印为空、且「游戏退出立即恢复」分支静默失效
实测(PLZ110 / ColorOS 16,充电中)
| 场景 | 结果 |
|---|---|
| 游戏态 + 温度未到阈值 | 亮屏快充保持生效 ✅ |
| 温度超限(门槛临时调 25°C 验证) | 日志 亮屏快充已暂停(电池温度 275 >= 250) ✅ |
校验
- 包内
vtools/warp_charge.shmd5f09700ebf77359f7769a4ebe6f2addb7 - 三处一致:dev 源 / 本发布仓 / 设备已装(热更验证)
升级方式
模块管理器直接刷入本 zip 后重启。App 侧无改动,app/OWC-App.apk 与 v1.3.3 起签名一致(md5 7c2ab7c5…)。