27 寸隐藏付款码输入框实施计划
Goal:为27寸键盘模拟扫码设备提供获得焦点的隐藏输入框,并确保一帧付款码只提交一次且提交前立即停止输入。
Architecture:控制器管理隐藏输入框主路径和 Hub 失焦兜底;纯 Java 输入会话约束空输入、裁剪和一次性提交;识别弹框只选择设备对应控制器。
文件结构
- 新增
KeyboardPaycodeInputSession.java 及单元测试。
- 修改
KeyboardWedgeScannerController.java。
- 修改
FaceRecognitionPop.java 和弹框布局。
- 更新提示词工程
CHANGELOG.md。
Task 1:建立可测试的一次性输入会话
先写失败测试,再实现启动、停止、空输入过滤、文本裁剪和单次提交。重新启动后允许下一次提交。
Task 2:让27寸控制器管理隐藏输入框
- 构造函数接收非空
EditText。
- 启动时启用输入、禁止软键盘、注册回车和 Hub 监听并请求焦点。
- 有效输入提交前先停止并清空两条输入路径,再回调付款码。
- 停止操作可重复调用且不记录付款码。
Task 3:接入识别弹框
- 增加透明、可聚焦、默认禁用且不保存内容的隐藏输入框。
- 27寸把输入框传给键盘模拟扫码控制器。
- 21.5寸继续使用串口扫码控制器。
- 保留统一停扫、请求和失败关闭逻辑。
Task 4:验证与记录
- 运行输入会话、键盘组帧、输入策略、设备模式和身份会话测试。
- 使用 JDK 8 执行完整单元测试和 Debug 构建。
- 检查无付款码日志、可见付款码、设备型号硬编码和重复超时常量。
- 追加独立代码实施记录。
真机验收
- 27寸进入“我的营养”后无需点击即可扫码并只发起一次查询。
- 失败时关闭弹框,再次进入后可重扫;成功时进入营养报告。
- 回归21.5寸串口扫码。
不修改串口测试页、不自动安装 APK、不执行 Git 写操作。