Skip to content

OWC v1.4.2 — 亮屏快充安全栏改为温度驱动(游戏不再单独暂停)

Choose a tag to compare

@Sillybomo Sillybomo released this 15 Sep 14:33
· 8 commits to master since this release

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.sh md5 f09700ebf77359f7769a4ebe6f2addb7
  • 三处一致:dev 源 / 本发布仓 / 设备已装(热更验证)

升级方式

模块管理器直接刷入本 zip 后重启。App 侧无改动,app/OWC-App.apk 与 v1.3.3 起签名一致(md5 7c2ab7c5…)。