## Summary - rebuild the authenticated shell, device dashboard, device detail pages, scenes, activity timeline, account sheet, and settings experience - redesign infrared remote management and controls, including custom remotes, learn-state handling, slot isolation, and safe default content - add persisted theme controls with internal accent, color-style, and color-standard resolution while keeping dynamic color authoritative - add ABox profile defaults for the three exact gateway device names, editable starter scenes, and custom infrared remotes - persist real activity events for device commands, infrared actions, and scene execution - stabilize navigation and back behavior, including duplicate top-back protection and removal of the unfinished predictive-back option - update launcher icons and bilingual application name ## Verification - `:android:app:assembleDebug` - installed the debug APK on `emulator-5554` - manually exercised device detail navigation, settings/theme navigation, infrared management, activity records, and repeated back actions ## Notes - no automated test suite was run during the visual iteration cycle - `docs/superpowers/**` and local reference repositories are excluded from this PR Reviewed-on: #10 Co-authored-by: KremeCN <3265494849@qq.com>
39 lines
2.8 KiB
Markdown
39 lines
2.8 KiB
Markdown
# 发布版局域网硬件验证协议
|
|
|
|
## 目的与边界
|
|
|
|
本协议只用于获授权的隔离局域网。使用签名的 Release APK、已确认的测试账号和明确授权的实体设备;不得把测试扩展到未授权网络或设备。
|
|
|
|
协议验证真实产品路径,不把本地体验或测试 Fake 的结果当作 ABox 硬件证据。每条记录使用脱敏 profile、设备和操作标识。
|
|
|
|
## 执行前检查
|
|
|
|
- 确认 APK 签名、版本和提交号,记录到测试报告。
|
|
- 确认测试网络与设备均获授权,并记录网络的脱敏名称。
|
|
- 先使用已知无效凭据验证登录失败,再使用授权凭据登录。
|
|
- 检查当前 profile、会话状态和已配置设备目录;只验证用户明确配置的设备。
|
|
- 不在报告、截图、日志或缺陷单中保存密码、令牌、原始厂商响应、红外码值、完整网关地址或完整 IEEE 地址。
|
|
|
|
## 验证流程
|
|
|
|
1. 登录失败路径:确认无效凭据停留在登录页,并显示本地化错误。
|
|
2. 授权登录路径:确认授权凭据登录成功,进入认证后的设备中心。
|
|
3. 设备目录:配置一个已授权的真实设备名,确认只显示当前 profile 的设备,并可进行只读列表检查。
|
|
4. 插座操作:对一个已配置插座执行一次开或关命令,随后读取状态确认;记录结果分类,不记录原始响应。
|
|
5. 传感器读取:读取已配置的温湿度设备,验证有数据、部分数据和无数据状态的显示边界。
|
|
6. 红外学习:对已授权红外控制器学习一个测试按键,确认状态从学习中到完成或明确失败。
|
|
7. 红外取消:学习过程中离开页面或取消,确认不会留下可继续发送的半成品记录。
|
|
8. 红外发送:发送已完成的测试按键,确认授权电器产生预期响应。
|
|
9. 情景执行:执行一个只包含已配置设备的情景,观察实际步骤结果和终态。
|
|
10. 活动记录:确认上述真实终态写入当前 profile 的活动时间线,失败、等待确认和取消保持不同分类。
|
|
11. 会话失效:使远端会话失效后重试一次设备操作,确认本地会话清理并返回登录流程。
|
|
12. Local 隔离复核:切换到本地体验后,确认 ABox 设备、遥控器、活动和会话数据不出现;该步骤不作为真实硬件通过证据。
|
|
|
|
## 结果记录
|
|
|
|
每个步骤只记录:日期、Release 版本或提交号、脱敏 profile、脱敏设备名、操作类别、成功/失败/取消/不可用分类、粗粒度耗时和物理响应摘要。错误只记录已脱敏的领域错误分类;不要复制堆栈或原始 SDK 文本。
|
|
|
|
## 风险说明
|
|
|
|
真实 ABSDK 使用厂商 JAR 中的明文 HTTP 传输。Release 与 Debug 使用相同的提供方和硬件路由;明文传输不提供机密性或完整性,因此只能在隔离且获授权的局域网执行本协议。
|