Skip to content

feat(systemui): 新增状态栏独立子页面,新增 Wi-Fi 活动指示器与移动网络类型隐藏 - #38

Merged
Ianzb merged 1 commit into
Ianzb:masterfrom
Ashurinnn:pr/statusbar-network-visibility
Oct 15, 2026
Merged

Ianzb merged 1 commit into
Ianzb:masterfrom
Ashurinnn:pr/statusbar-network-visibility

Conversation

@Ashurinnn

Copy link
Copy Markdown
Contributor

新增「功能 → 系统界面 → 状态栏」页面,提供「隐藏 Wi-Fi 网络活动指示器」「完全隐藏网络类型」两个默认关闭的开关,作用域com.android.systemui,修改后重新加载 SystemUI 生效。新增页面的目的是为后续扩展其他状态栏功能准备。

实现

  • Wi-Fi:在原生绑定及收发活动更新后隐藏活动视图,避免后续更新重新显示箭头。
  • 移动网络类型:覆盖类型图片、独立文字和特殊 5G 标识的显示 Flow,兼容宿主只读 Flow 的两种构造签名。
  • 页面及搜索接入项目既有配置和 Hook 状态机制,同步中英文文案、更新日志及功能说明。
  • 双卡双行实现、绘图辅助和对应测试继续以逐行注释保留,未注册、未编译,也不提供配置入口;系统使用原生双 SIM 布局。

验证

  • 已在 小米18Fold,HyperOS4.0.22.0 确认:两个隐藏开关均正常生效;双排已恢复原生布局;从状态栏页下拉通知中心/控制中心时,透明背景问题未复现。
  • 验证 APK:1.13.0-statusbar.3(versionCode 29);此编号仅用于本地测试,PR 不修改正式版本字段。
  • Debug 构建、34 项单元测试通过;lint 0 错误,41 个既有警告、1 个提示,修改的 Kotlin 文件无 lint 问题。
  • 实际 APK 不含双排运行时类、临时状态栏诊断类或电脑端图标素材。静态接口核对基于逆向 OS4.0.22.0.XPNCNXM / SystemUI 17.03.260226.r;其他 ROM 尚未验证。

来源

功能思路参考 Pengeek(米客)/ customiuizer,独立实现,未引入参考模块或小米 SystemUI 的代码、资源和原生库。应用内致谢、README、二次开发指南及更新日志已同步,沿用项目 AGPL-3.0 许可证;逆向资料及测试 APK 不入库。

注释代码部分

通过逆向HyperOS4独立实现的堆叠信号栏,实现方式和功能已确认正常,目前正在对双排信号栏的svg素材进行调优所以暂不启用。引入的hook/.../systemui/statusbar/ 中的 DualSimSignalHook.kt、DualSimRuntimeSupport.kt、DualSimArtworkPolicy.kt、StackedSignalDrawable.kt、StatusBarPolicy.kt、StatusBarViews.kt 及对应双排测试以逐行注释保留,供后续修复参考。相关偏好键和宿主Pair解析辅助也已注释。

新增 Hook 仅改变 SystemUI 进程中的视图可见性与显示 Flow,未新增 Root/shell、分区挂载、块设备/AVB 操作或系统分区写入。原生库、权限与作用域保持不变。

此前已合并的通知与多应用音量实现不作改动。

Add two opt-in status-bar controls with searchable settings and native
HyperOS presentation hooks. Keep the dual-SIM implementation and tests
commented out for later repair, and document the verified feature scope.
@Ianzb
Ianzb merged commit 1a19408 into Ianzb:master Oct 15, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants