FunctionAgent / System map · 2026-10-29

FunctionAgent
程序整理方案

整理方案 · 待实施

保留已能使用的功能。统一计量、权限和控制规则。
每个页面都要说清:显示什么、数据来自哪里、按下后会发生什么。

32 个 MBHotspot 路由3 个附加界面范围0 张本轮新截图UFI 1.3.4_Beta 已导出
01 / Architecture

一件事,只交给一个明确的控制入口。

点击节点查看职责。选择流程查看相关组件。

代码已存在建议新增或重组外部控制,需核对归属
当前结构来自源码。部署状态仍需与手机版本核对。

箭头表示调用或数据依赖。图未表示所有内部方法。

先处理重复控制。 UFI 也有热点接管和流量到线控制。需要先核对启用状态,再确定 MBHotspot 的控制范围。当前证据不能证明两者已发生冲突。
超级权限提示来自哪里? 现有 UI 每 2 秒读取缓存。后台在一轮完成后等待 5 秒。正常成功的一轮,在守护已安装时,至少新建 3 个 su 会话:网络采样、蜂窝状态、守护状态。Wi-Fi 和应用统计还会增加调用。这是授权提示反复出现的高可信原因。弹窗与每个进程尚未逐条对齐。方案将复用受控 Root 通道,并合并状态读取。
同一个“流量”目前有两种起点。 主屏显示本次开机蜂窝计数。MBHotspot 的今日用量来自持久账本。建议统一默认口径,并始终标出计量起点。设备、应用和来源是拆分视图,不能再加到蜂窝总量上。
02 / Metering lifecycle

断开连接,不等于开始新一轮计量。

下方演示建议规则。数值全部为示例。它们不是手机的真实流量或余额。

STEP 01 / 04

设备正在使用本次额度。

本次额度为 50 MB。本次已用 20 MB。设备累计为 80 MB。

Object 01

计量状态

记录原始基线、已确认累计和缺口。每日用量从明确的时间区间读取。

Object 02

连接会话

记录设备的连接与断开。一次重连建立连接事件。它不会新建满额额度。

Object 03

本次额度

记录额度编号、起点、上限和暂停原因。“继续原额度”和“开始新额度”分别操作。

Object 04

运营商快照

保留短信余额。分别保存余额时点、接收时间和套餐到期时间。计量连续且时点对齐时,才估算。

当前已有基础。 设备累计观察量会在离线后保留。本次额度遇到断连、状态未知或进程重启时会暂停。新额度会建立新编号。需要补齐连接会话、暂停与恢复说明,以及设备按日计量。
不要把两种“归零”混在一起。 界面统计归零不会重置内核配额。应用用量目前来自本次开机的 UID 计数。它不是每日用量。
事件建议处理不确定时
设备断开、重新连接保留额度编号和已用量。重连后保持暂停。核对状态后可继续原额度。随机 MAC 改变时,标为新设备或未知设备。不要按 IP 猜测合并。
手机重启、接口切换保留历史账本。建立新的原始计数基线。记录计量缺口。界面显示“部分用量未知”。
原始计数器回退只重建基线。不要扣减历史用量。暂停依赖完整估算的自动放行。
用户要求“归零”明确选择“开始新额度”或“切换统计区间”。记录操作时间。不提供含义不清的总归零按钮。
收到新的余额短信保存新快照。核对 SIM、套餐及三个时间,再判断能否建立估算起点。保留快照。将估算标为未知。
03 / Carrier messages

自动读短信。单独控制主动查询。

“读取已收到的短信”和“发送查询短信”是两种操作。页面应分别显示它们的状态。

01 收到消息

收到事件触发读取。启动时补扫。定时补扫用于找回漏掉的事件。

02 核对消息

核对来源、SIM、套餐、时间和格式。按消息标识去重。

03 更新快照

保存余额时点、短信接收时间和套餐到期时间。保留每条快照。不要覆盖本机历史账本。

04 判断可否估算

计量连续且起点对齐时才估算。有缺口时只显示快照。

当前行为。 程序已有人工确认校准。主动查询处于发送或等待回复时,程序才进行间隔扫描。这不是持续的运营商消息读取。快照超过 24 小时会标为陈旧。套餐到期另行判断。
估算目前刻意收紧。 现有代码要求余额时间精确到秒。余额时间与账本采样时间还需相差不超过 500 毫秒。分钟精度的短信只显示快照。后续只在误差可以计算时提供区间,否则继续显示未知。短信收到时间不能代替运营商计费时间。
主动查询默认手动。 若以后开启自动发送,需要先确定费用、最短间隔和每日次数上限。超时不连续重发。购包仍需逐次确认。
界面应显示状态对应动作
最近一次读取已读取 / 等待权限 / 读取失败立即补扫。失败后按受控间隔重试。
运营商快照新鲜 / 陈旧 / 套餐过期 / 套餐不匹配查看原始时间。保留上一条有效快照。
主动查询未发送 / 等待回复 / 超时 / 发送失败显示下一次允许查询的时间。
本机估算可估算 / 有计量缺口 / 时间未对齐说明原因。不要用 0 代替未知。
04 / Screenshot inventory

一张一张截。每张都有入口和出口。

32 个路由是起点。分页、确认和异常状态需要额外截图。打开一项可查看待截状态。

32 个路由 · 全部待新截图
每张截图记录 8 项。 页面编号、状态、入口按键、返回位置、当前焦点、数据来源、采集时间、程序版本。每张截图都标记“真机”或“合成”。
一屏完成后,再进入下一屏。 先保存截图,再检查页面、状态和焦点。确认有效后才记录导航关系。购包、停网等状态使用隔离预览。不要为了截图触发真实付费或中断现有连接。

现有 16 张原生预览图使用合成数据。它们覆盖 14 个路由。另有 18 个路由尚无这些预览图。本轮未重新采集。旧图不计入本轮新截图覆盖率。

05 / Delivery order

先记录现状,再逐项改造。

每一步都有可核对的结果。本轮只整理方案。手机行为没有改变。

冻结现状并逐屏截图

核对手机版本。保存当前截图与页面清单。核对 UFI 控制范围。

收敛权限调用

复用受控 Root 通道。保留现有单线程采样队列、UI 缓存读取和独立保护。

补齐计量规则

保留 SQLite 增量账本。明确新额度、重连、重启和计数器重置的区别。

补齐短信流程

加入事件读取与补扫。把快照、估算、查询和购包分别呈现。

调整页面并对照复验

按职责归类入口。重新截图。对照现状检查功能和计量结果。

权限调用稳定采样不反复新建 Root 会话。服务恢复设重试上限与退避。失败不会静默放行。
断开与重连设备多次重连后,本次已用保持连续。剩余额度不因重连增加。
重启与计数回退历史用量不减少。新基线不计为新增流量。无法恢复的区间显示缺口。
跨日与新额度跨日只切换每日统计。开始新额度保留旧额度记录。
短信读取同一消息只处理一次。延迟消息不会覆盖更新的有效快照。
控制归属热点、蜂窝和额度各有明确执行者。外部修改能够被检测并说明。
建议导航 · 待讨论

总览

热点状态、关键用量、运营商快照和当前保护状态。

建议导航 · 待讨论

设备

设备额度、本次连接和流量来源。

建议导航 · 待讨论

套餐

短信快照、主动查询和购包。

建议导航 · 待讨论

更多

本机应用、规则、下载保护、预算和诊断。

建议采用的默认值 · 待讨论

  1. 开始新额度时,显示上次上限供核对。明确确认后才放行。统计归零不自动放行。
  2. 先核对 UFI 的启用状态。暂不改变 UFI。再按热点、蜂窝和额度确定控制归属。
  3. 短信读取采用事件触发、启动补扫和受控周期补扫。主动查询默认手动。补扫间隔经耗电测试后确定。
  4. 计量存在缺口时,保留暂停。只有设备身份、最终已扣量、剩余额度和保护规则均可核实时,才允许继续原额度。无法核实时,明确结束旧额度并重新授额。

当前证据与边界

  • TrafficActivity.java 与截图覆盖清单提供 32 个路由。
  • app-home 提供独立主屏和应用列表。
  • UFI 1.3.4_Beta 已导出。手机与本地 APK 哈希一致。
  • UFI 静态资源说明功能入口。它不能证明真机运行行为。
  • 源码确认每轮至少建立 3 个新 su 会话(正常成功路径、守护已安装时)。弹窗归因仍需现场日志验证。