Skip to content

Releases: Xposed-Modules-Repo/io.github.wumisc.safewalk

SafeWalk 2.9.0

Choose a tag to compare

@wumisc wumisc released this 02 Nov 12:04

🏗 架构:相机彻底搬离 SystemUI

  • 新增 WalkPreviewService(App 进程相机前台服务),RearCameraOverlay 随之迁移
  • Hook 端删除全部相机逻辑,只保留「该显示 / 该收起」的指挥广播(带令牌)
  • 解决系统界面无相机权限、CameraService 限制、崩溃连带系统界面三个根本问题
  • 预览服务回传真实显示状态,修正 Hook 端去重状态与实况脱节导致「手动关一次后再也不自动开」

✨ 新增:车祸预警(Pixel 风格)

  • CrashDetector:合加速度阈值 + 连续 2 次命中 + 60 秒冷却
  • 三档灵敏度:低 ≈2.5g / 中 ≈2.0g / 高 ≈1.5g
  • EmergencyAlertActivity:全屏急救卡 + 60 秒倒计时,超时先发含位置短信再拨号
  • 无权限时降级为跳转短信/拨号界面,不静默失败
  • 急救卡页面新增开关与灵敏度设置,权限按需申请

📝 日志链路重做

  • 日志路径改为 /storage/emulated/0/Android/Travel safely/diag.log(用户可见)
  • 目录判定由不可靠的 canWrite() 改为探针写入(真写一字节再删)
  • 三级降级:用户目录 → 应用私有目录 → 仅 logcat,结果打进 logcat
  • 授予「所有文件访问」后运行期热切换,不用重启
  • App 启动时向 Hook 索要内存日志,写入同一文件(步态/手电/车祸都在那个进程)

🐛 关键修复

  • 首页与二级页状态矛盾:总开关卡片无开关控件、点击静默翻转;关闭后磁贴文案被覆盖成「总开关已关闭」,掩盖真实设置 → 改为明确文案 + 切换提示
  • 全屏预览黑屏:TextureView 所在悬浮窗缺 FLAG_HARDWARE_ACCELERATED,一帧都上不了屏
  • 全屏尺寸用 displayMetrics(应用可用区)→ 改真实屏幕像素 + FLAG_LAYOUT_IN_SCREEN
  • 视图 0×0 只重试一次 → 200ms × 3 退避
  • 手电两套开关(开/关各自独立)合并为绝对开关;通知按钮 action 统一
  • 夜间手电丢失「屏幕亮」与「预览避让相机」两个门槛,导致开了行走模式就永不提醒
  • 总开关关闭时仍能拉起预览 → 改为只记录不弹并说明原因
  • exportConfig 无 try/catch,存储异常直接崩 UI 线程
  • 配置回退路径硬编码 /data/data/<包名>/ → 改用 ctx.filesDir
  • 实验区手电开关用本地布尔记账 → 改读 TorchCallback 真实状态
  • 急救卡缺 onResume 刷新,改完总开关回来仍显示旧状态
  • 行走模式页诊断行、testRearCam* 死字段清理

🧪 测试与验证

  • 单测扩展到 43 项 / 8 个类,新增 PreviewWindowTest、CrashDetectorTest、DiagLogTest
  • Lint 0 error
  • 实验区夜间手电测试改为真实通知链路(带可点击的「手电筒」按钮),不再是纯文本通知

SafeWalk v1.7

Choose a tag to compare

@wumisc wumisc released this 26 Oct 08:09

安全出行 v1.7
行走安全 LSPosed 模块,注入 SystemUI。

  • 后置摄像头路况(全屏半透明 / 角落小窗,可切换,触摸穿透)
  • 自动模式:检测步行节奏自动开关,坐下/停下自动收起
  • 低头看路提醒(Toast,默认 3 秒,20 秒节流)
  • 相机避让:前台进入相机/微信/支付宝等自动收起,冷却后自动恢复
  • 深色模式跟随系统,省电优化
    作用域:系统界面 (com.android.systemui)