Skip to content

Releases

1.6.6

Choose a tag to compare

@vivibibi30 vivibibi30 released this 09 Nov 02:29

感谢您使用 HyperPGuard。

修复安装页两处漏拦。

修复

  • 5.4.x 安装器把云端参数改走 /v3/cloud_config/query,之前只拦 /v2/,导致「未查询到备案」等提示仍会出现;现在 v2 / v3 都覆盖,preview-api.installer.xiaomi.com 同步补齐
  • api.ad.xiaomi.com、monitor-check.ad.xiaomi.com、sdkconfig.ad.xiaomi.com 三条域名规则原本被放在「路径特征拦截」开关分支里,关掉该开关后安装页广告就完全不受拦;现在域名规则无条件生效,只有 /info/layout 与缩略图路径仍受路径开关控制

说明

  • 拦截范围与默认值未改动
  • 安装器若在作用域外,卡片会显示「未在作用域,点此加入」

全部提交:vivibibi30/hyperpguard@v1.6.5...v1.6.6

1.6.5

Choose a tag to compare

@vivibibi30 vivibibi30 released this 09 Nov 02:18

感谢您使用 HyperPGuard。

这次把深色模式和交互细节补齐了。

深色模式

  • 修复深色切回浅色时大部分界面不变色:applyPalette() 之前只写了深色值,浅色靠字段初始值,切回浅色不会恢复
  • 切换深浅色不再重建 Activity:加 configChanges="uiMode|orientation|screenSize|smallestScreenSize|keyboardHidden",改为重建内容视图,已打开的对话框不会消失
  • 打开的弹窗就地换色:记录当前对话框,配置变化后重设背景、文字与输入框底板
  • 滚动位置在切换后保留
  • 触发路径三条:onConfigurationChanged、焦点变化后的延迟复核、ACTION_CONFIGURATION_CHANGED 广播;判断时用 UiModeManager 的显式设置兜底滞后的配置对象

交互

  • 所有可点条目统一按压反馈:浅色 #E5E5E5、深色 #3A3A3C,覆盖底部三个动作、批量行、重启、关于链接行、检查更新、规则页按钮
  • 开关改为「点下去不动,作用域真的变化后才切换」,切换带 180ms 滑动动画;作用域请求被拒时按 getScope() 的真实结果回填
  • 自定义规则页重做:圆角输入框、添加/清空左右各半、每条规则可单独删除、底部使用说明
  • 行为库状态弹窗:刷新按钮换掉 Button 自带底形导致的圆角错位,正文改为不可选中复制
  • 自检页标题右侧不再重复显示版本号

连接

  • LSPosed 服务断开后重试上限 5 次 → 30 次(间隔 2 秒);onResume 未连接时补绑
  • 未连接时的操作不再直接失败,而是入队、绑定后自动执行,4 秒仍未连上才提示
  • 打开自检时若未连接,自动绑定并在 1.5 秒后重新检测一次

说明

  • 拦截逻辑与默认值未改动
  • 以上改动在真机上验证过深浅色双向切换:背景 #000000 ↔ #F2F3F5,卡片 #1C1C1E ↔ #FFFFFF

全部提交:vivibibi30/hyperpguard@v1.6.4...v1.6.5

1.6.4

Choose a tag to compare

@vivibibi30 vivibibi30 released this 09 Nov 01:18

感谢您使用 HyperPGuard。

这次只调整设置界面的排版。

界面

  • 顶部标题 HyperPGuard 26 → 34sp,页面上边距 20dp,删掉「LSPosed 模块」副标题,标题下方间距收紧到 10dp
  • 分组标题(通用 / 组件拦截)左缩进对齐系统设置的 28dp;顶部标题与说明文字同一竖线
  • 「开关打开 = 拦截该行为,关闭 = 放行」不再单独占一行,改为 tip:… 放在「通用」行右侧,离右边距离与「通用」离左边一致
  • 「关于」新增版本行,位置在「问题反馈」下方、「检查更新」上方,行高与字号同其它链接行;版本号不再显示在顶部
  • 日志弹窗标题右侧显示当前版本号

说明

  • 拦截逻辑、默认值与 1.6.3 一致

全部提交:vivibibi30/hyperpguard@v1.6.3...v1.6.4

1.6.3

Choose a tag to compare

@vivibibi30 vivibibi30 released this 08 Nov 20:08

感谢您使用 HyperPGuard。

这次修的是 1.6.2 暴露的几处界面与连接问题。

修复

  • 深色模式启动崩溃:getInsetsController() 在 setContentView 之前调用会拿到空 DecorView,改为之后再取并整段 try/catch
  • 浅色模式状态栏看不见:图标颜色设置被包在夜间分支里,浅色下图标仍是白色;现在深浅都按模式设置 APPEARANCE_LIGHT_STATUS_BARS
  • 沉浸式:Android 12+ 补上 setDecorFitsSystemWindows(false),状态栏/导航栏透明才真正生效;顶部与底部按系统栏高度留白
  • LSPosed 服务偶发未连接:服务未绑定时不再直接报错,而是把动作排队、重新注册监听,绑定成功后自动执行,4 秒仍未连上才提示
  • 顶部「开关打开 = 拦截该行为」的蓝色色块改为灰色小字

新增

  • 分组未进入 LSPosed 作用域时,卡片内显示「未在作用域,点此加入」,点一下直接申请;README 同步说明「覆盖升级后作用域不会自动包含新增组件」

说明

  • 1.6.x 新增的组件是「广告组件(MSA)」与「系统诊断」,升级后请到 LSPosed → 模块 → HyperPGuard → 作用域 里确认
  • 拦截逻辑与默认值未改动

全部提交:vivibibi30/hyperpguard@v1.6.2...v1.6.3

1.6.2

Choose a tag to compare

@vivibibi30 vivibibi30 released this 08 Nov 19:52

感谢您使用 HyperPGuard。

修复深色模式下打不开的问题。

修复

  • 深色模式下启动即崩溃:onCreate 里在 setContentView 之前调用 getWindow().getInsetsController(),此时 DecorView 还没 attach,部分 ROM 上直接抛 NullPointerException(DecorView.getWindowInsetsController() on a null object reference)
  • 现在改为 setContentView 之后再取 decorView.getWindowInsetsController(),并整段包 try/catch;取不到时退回 setSystemUiVisibility(0)
  • 窗口背景设置也一并包了 try/catch

界面

  • 顶部「开关打开 = 拦截该行为,关闭 = 放行」改为灰色小字说明,去掉蓝色色块
  • 状态栏改为透明,背景延伸到状态栏下方;状态栏图标按深浅模式切换,内容顶部补系统状态栏高度

说明

  • 只影响界面启动路径,拦截逻辑未改动
  • 1.6.0 / 1.6.1 的其它改动不变

全部提交:vivibibi30/hyperpguard@v1.6.1...v1.6.2

1.6.1

Choose a tag to compare

@vivibibi30 vivibibi30 released this 08 Nov 19:28

感谢您使用 HyperPGuard。

修正 1.6.0 里的一处分隔线问题。

修复

  • 列表分隔线左侧多缩进了 16dp(卡片本身已有 16dp 内边距),导致左侧留白是右侧的两倍;现在去掉额外缩进,左右到卡片边缘距离一致

其它

  • 免责声明更新到 1.15:界面尺寸参考系统设置应用的公开度量,只取数值,不含任何图片、图标、字体文件或代码资源;界面图形与文案均为本项目自行绘制与撰写
  • 功能、默认值与 1.6.0 一致

全部提交:vivibibi30/hyperpguard@v1.6.0...v1.6.1

1.6.0

Choose a tag to compare

@vivibibi30 vivibibi30 released this 08 Nov 19:17

感谢您使用 HyperPGuard。

这次把设置界面按系统设置的度量重做了一遍,功能逻辑没动。

界面

  • 行标题 17sp、副标题 14sp,副标题单行并在末尾省略;行高对齐系统 miuix_preference_item_min_height 的 56dp
  • 分组标题改为小字灰色(14sp、高 35dp),放在卡片外
  • 行间分隔线 0.75dp,左侧内缩 16dp,与系统列表分隔线一致
  • 卡片圆角 20dp、间距 12dp、页面边距 16dp
  • 开关改为 MIUI 的 SlidingSwitchCompat 规格:轨道 49×28dp、滑块 20dp、左右与上下各留 4dp,不再被主题拉伸
  • 深色模式跟随系统,页面底色纯黑,卡片 #1C1C1E、分隔线 #2C2C2E

说明

  • 以上数值取自设备上 Settings.apk 的 miuix_* 资源,不是估算
  • 版本号 1.6.0,versionCode 51;50 之后的预览构建没有发布,正式号仍按 +1
  • 功能与默认值未变:MSA 广告组件、安全中心统计埋点、XSOF 四层拦截等沿用 1.5.16

全部提交:vivibibi30/hyperpguard@v1.5.16...v1.6.0

1.5.16

Choose a tag to compare

@vivibibi30 vivibibi30 released this 08 Nov 18:18

感谢您使用 HyperPGuard。

本次合入三条功能请求,并补了界面深色模式。

新增

  • 安全中心统计埋点(默认开):拦 tracking.*.miui.com 与 sdkconfig.*.xiaomi.com 共 10 条规则,覆盖 OneTrack 的 /track/v4、/track/key_get 与 sdkconfig 的 config / token 路径。host 是裸域名,按 CN / RU / INTL / IN / EU 五套区域各一条
  • MSA 广告组件(com.miui.systemAdSolution,作用域 +2 个子项,默认开):
    • 广告使用画像:判断「应用今天是否打开」「最后使用时间」的调用按少推广告一侧返回,不会因为查不到数据反而多推
    • 广告埋点:OneTrack 的 track* / adTrack* 方法直接返回空
    • 类名跨版本会漂移,按「修饰符 + 参数 + 返回类型 + 声明类所在包」组合判定,不写死类名
  • 界面:跟随系统深色模式,卡片圆角 18dp、分组标题 14sp + 60% 透明度、开关改为细轨道 + 小滑块

说明

  • MSA 的域名层默认不拦:广告 SDK 请求失败会重试,方法层更干净;需要时用自定义规则补
  • scope.list 新增 com.miui.systemAdSolution,覆盖安装后需要在 LSPosed 里确认该包在作用域内
  • 拦截逻辑与默认值之外的部分未改动

全部提交:vivibibi30/hyperpguard@v1.5.15...v1.5.16

1.5.15

Choose a tag to compare

@vivibibi30 vivibibi30 released this 08 Nov 17:22

感谢您使用 HyperPGuard。

本次加上了英文界面。

新增

  • 界面文案跟随系统语言:系统语言为英文时,设置页的分组名、子项名与说明、常用按钮与对话框标题使用英文;其它语言仍为中文
  • 覆盖范围:主界面全部开关与说明、对话框标题与按钮、规则条数这类带数字的提示
  • 日志正文、自检结果、行为库状态等动态长文本仍为中文,这部分是诊断信息,不随界面语言切换

说明

  • 实现方式是「中文原文查表」,查不到就显示中文,不会出现空白或乱码
  • 未引入任何第三方依赖,APK 体积不变
  • 配置项与拦截逻辑未改动

全部提交:vivibibi30/hyperpguard@v1.5.14...v1.5.15

1.5.13

Choose a tag to compare

@vivibibi30 vivibibi30 released this 08 Nov 11:14

感谢您使用 HyperPGuard。

本次只在自定义规则弹窗里加了一个入口。

新增

  • 自定义规则弹窗底部加「使用说明」,点击直接在浏览器打开 docs/CUSTOM-RULES.md:写法、匹配方式、生效范围、限制与常见问题都在里面
  • 没有可处理链接的应用时给出提示,不抛异常

说明

  • 其它行为未改动,规则解析与拦截逻辑与 1.5.12 一致

全部提交:vivibibi30/hyperpguard@v1.5.12...v1.5.13