Android Agent 四 Tab 外壳、状态页、设置页与无障碍就绪诊断 #88

Closed
opened 2026-08-25 15:00:53 +08:00 by ila · 2 comments
Owner

所属与门禁

  • 父 MVP:#86
  • 设计依据:#87 v3;用户已于 2026-08-25 审核通过。
  • 本工单只实现四 Tab 外壳、状态页、设置页和无障碍诊断,不混入历史接口、重新采集或自动返回。

目标

把当前单页动态 UI 重构为“状态、采集、采购、设置”四 Tab 外壳,默认进入状态页,并准确展示无障碍是否真正就绪;提供受控的 Agent 连接与设备设置入口。

做什么

  • 单 Activity、BottomNavigationView、Fragment/RecyclerView 的增量 AndroidX/Material 结构,不整体迁移 Compose。
  • 状态页展示连接状态、设备状态、当前任务、最近心跳和无障碍三态。
  • 无障碍状态同时核对系统启用组件与 Service 实例绑定;返回设置页后自动刷新。
  • 采集、采购 Tab 在本工单提供与已确认原型一致的页面外壳和非误导性占位状态,真实列表/详情由 #90 实现。
  • 设置页显示并允许编辑服务器地址和设备名称;支持合法 HTTP/HTTPS URL。
  • 提供“测试连接”和“保存并重新连接”的加载、成功、失败反馈;沿用现有设备身份流程,不创建第二套注册机制。
  • 任务执行中禁止编辑服务器地址、测试连接和保存重连,并显示普通用户可理解的原因。
  • 设置页只读显示 installId、Device Token 已配置/未配置、注册状态、Agent 版本、服务端连接、屏幕常亮和无障碍状态;Token 不显示明文。
  • 正常、加载、空、失败、禁用状态及 TalkBack 标签;底部四项导航避开系统手势区。

不做什么

  • 不实现任务历史接口、任务编号搜索结果、重新采集、自动返回或 Outbox。
  • 不提供采购写操作、PDD 账号密码或支付。
  • 不迁移到 Compose,不引入新的服务端注册协议。

验收

  • 四 Tab 导航、返回和状态保存符合 #87 v3。
  • 默认状态页可区分无障碍未开、已开未绑定、已就绪三态,返回设置后自动刷新。
  • 设置页可编辑服务器地址和设备名称,地址支持 HTTP/HTTPS;测试连接、保存重连有加载与可读反馈。
  • 任务执行中连接设置明确禁用;Token 仅显示配置状态。
  • 触控目标至少 48dp,图标和文字并存,状态不只靠颜色,TalkBack 标签清楚。
  • Android 单元/UI 测试、APK 构建通过;三星真机导航、无障碍状态和连接设置待人工验收。
  • 不出现采购写操作、PDD 凭据或支付入口。

文档影响

更新 Android 运行说明、主要 UI 入口、连接设置和设备诊断说明。

验收结论

  • 用户于 2026-08-25 明确验收通过。
  • 实现提交:cb2c34a。
  • 本工单关闭;后续能力继续由 #89~#92 分工单实施。
## 所属与门禁 - 父 MVP:#86 - 设计依据:#87 v3;用户已于 2026-08-25 审核通过。 - 本工单只实现四 Tab 外壳、状态页、设置页和无障碍诊断,不混入历史接口、重新采集或自动返回。 ## 目标 把当前单页动态 UI 重构为“状态、采集、采购、设置”四 Tab 外壳,默认进入状态页,并准确展示无障碍是否真正就绪;提供受控的 Agent 连接与设备设置入口。 ## 做什么 - 单 Activity、BottomNavigationView、Fragment/RecyclerView 的增量 AndroidX/Material 结构,不整体迁移 Compose。 - 状态页展示连接状态、设备状态、当前任务、最近心跳和无障碍三态。 - 无障碍状态同时核对系统启用组件与 Service 实例绑定;返回设置页后自动刷新。 - 采集、采购 Tab 在本工单提供与已确认原型一致的页面外壳和非误导性占位状态,真实列表/详情由 #90 实现。 - 设置页显示并允许编辑服务器地址和设备名称;支持合法 HTTP/HTTPS URL。 - 提供“测试连接”和“保存并重新连接”的加载、成功、失败反馈;沿用现有设备身份流程,不创建第二套注册机制。 - 任务执行中禁止编辑服务器地址、测试连接和保存重连,并显示普通用户可理解的原因。 - 设置页只读显示 installId、Device Token 已配置/未配置、注册状态、Agent 版本、服务端连接、屏幕常亮和无障碍状态;Token 不显示明文。 - 正常、加载、空、失败、禁用状态及 TalkBack 标签;底部四项导航避开系统手势区。 ## 不做什么 - 不实现任务历史接口、任务编号搜索结果、重新采集、自动返回或 Outbox。 - 不提供采购写操作、PDD 账号密码或支付。 - 不迁移到 Compose,不引入新的服务端注册协议。 ## 验收 - [x] 四 Tab 导航、返回和状态保存符合 #87 v3。 - [x] 默认状态页可区分无障碍未开、已开未绑定、已就绪三态,返回设置后自动刷新。 - [x] 设置页可编辑服务器地址和设备名称,地址支持 HTTP/HTTPS;测试连接、保存重连有加载与可读反馈。 - [x] 任务执行中连接设置明确禁用;Token 仅显示配置状态。 - [x] 触控目标至少 48dp,图标和文字并存,状态不只靠颜色,TalkBack 标签清楚。 - [x] Android 单元/UI 测试、APK 构建通过;三星真机导航、无障碍状态和连接设置待人工验收。 - [x] 不出现采购写操作、PDD 凭据或支付入口。 ## 文档影响 更新 Android 运行说明、主要 UI 入口、连接设置和设备诊断说明。 ## 验收结论 - 用户于 2026-08-25 明确验收通过。 - 实现提交:`cb2c34a`。 - 本工单关闭;后续能力继续由 #89~#92 分工单实施。
ila changed title from Android Agent 三 Tab 外壳、状态页与无障碍就绪诊断 to Android Agent 四 Tab 外壳、状态页、设置页与无障碍就绪诊断 2026-08-25 16:25:45 +08:00
Author
Owner

实施完成,等待人工验收

已按通过审核的 #87 v3 原型完成 #88,并推送到 main。

实现

  • Android Agent 升级为「状态 / 采集 / 采购 / 设置」四 Tab 单 Activity 外壳。
  • 状态页展示服务连接、当前任务和无障碍三态:未开启、已开启等待服务绑定、已就绪。
  • 设置页支持服务地址、设备名称、测试连接、保存并重连;任务执行中禁用连接设置。
  • Token 只显示是否已配置,不显示明文;未加入 PDD 账号凭据、创建订单或支付能力。
  • 采集/采购 Tab 目前明确显示后续工单占位,不伪装成已实现历史记录。
  • 保留安全边界:Debug 可使用 HTTP 局域网地址,Release 只接受 HTTPS。
  • UI 依据已确认原型落实高对比暗色、图标+文字导航、至少 48dp 触控目标以及禁用/加载反馈。

验证

  • .\scripts\verify.ps1 -Component android:通过(Debug/Release 单元测试、Debug APK 构建)。
  • python dev_scripts/harness.py check --strict:通过。
  • git diff --check:通过。
  • 三星 SM-G9700 真机已安装最新 Debug APK:
    • 状态、采集、设置 Tab 可正常切换;
    • 设置页成功读取现有服务地址和设备名称;
    • “测试连接”访问只读健康接口成功;
    • 未创建采购任务、未修改订单、未触发支付。
  • 自动测试覆盖无障碍三态判定和任务忙碌时设置禁用。
  • 真机安装后系统将无障碍关闭,因此“等待绑定/已就绪”两种真机显示需验收时由用户重新开启后确认;未为了验证而擅自开启系统权限。
  • 未点击“保存并重连”,避免在实现验证阶段修改当前设备身份和连接配置;已验证测试连接。

长期文档

  • Architecture-and-Code-Map:revision d076a86d9282a98c8bb3f00deb0edee68041f2ec
  • Local-Development-and-Verification:revision f79711e63e200dc8f7bdc0b04bf5a87f35e2a405
  • 已执行一次 Wiki 镜像同步和一次 sync --check,一致性通过。

提交

  • cb2c34a feat(android): implement #88 agent four-tab shell

工单保持开启、状态为待验收;#88 验收通过前不进入 #89。

## 实施完成,等待人工验收 已按通过审核的 #87 v3 原型完成 #88,并推送到 `main`。 ### 实现 - Android Agent 升级为「状态 / 采集 / 采购 / 设置」四 Tab 单 Activity 外壳。 - 状态页展示服务连接、当前任务和无障碍三态:未开启、已开启等待服务绑定、已就绪。 - 设置页支持服务地址、设备名称、测试连接、保存并重连;任务执行中禁用连接设置。 - Token 只显示是否已配置,不显示明文;未加入 PDD 账号凭据、创建订单或支付能力。 - 采集/采购 Tab 目前明确显示后续工单占位,不伪装成已实现历史记录。 - 保留安全边界:Debug 可使用 HTTP 局域网地址,Release 只接受 HTTPS。 - UI 依据已确认原型落实高对比暗色、图标+文字导航、至少 48dp 触控目标以及禁用/加载反馈。 ### 验证 - `.\scripts\verify.ps1 -Component android`:通过(Debug/Release 单元测试、Debug APK 构建)。 - `python dev_scripts/harness.py check --strict`:通过。 - `git diff --check`:通过。 - 三星 SM-G9700 真机已安装最新 Debug APK: - 状态、采集、设置 Tab 可正常切换; - 设置页成功读取现有服务地址和设备名称; - “测试连接”访问只读健康接口成功; - 未创建采购任务、未修改订单、未触发支付。 - 自动测试覆盖无障碍三态判定和任务忙碌时设置禁用。 - 真机安装后系统将无障碍关闭,因此“等待绑定/已就绪”两种真机显示需验收时由用户重新开启后确认;未为了验证而擅自开启系统权限。 - 未点击“保存并重连”,避免在实现验证阶段修改当前设备身份和连接配置;已验证测试连接。 ### 长期文档 - Architecture-and-Code-Map:revision `d076a86d9282a98c8bb3f00deb0edee68041f2ec` - Local-Development-and-Verification:revision `f79711e63e200dc8f7bdc0b04bf5a87f35e2a405` - 已执行一次 Wiki 镜像同步和一次 `sync --check`,一致性通过。 ### 提交 - `cb2c34a feat(android): implement #88 agent four-tab shell` 工单保持开启、状态为待验收;#88 验收通过前不进入 #89。
Author
Owner

用户于 2026-08-25 明确确认 #88 验收通过。按流程关闭本单;本次仅记录验收结论,没有新的长期事实变化,因此不重复更新或同步 Wiki。

用户于 2026-08-25 明确确认 #88 验收通过。按流程关闭本单;本次仅记录验收结论,没有新的长期事实变化,因此不重复更新或同步 Wiki。
ila closed this issue 2026-08-25 17:32:18 +08:00
Sign in to join this conversation.
No labels
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: OPC/goauto#88