离盘确认次数动态配置变更记录
需求
- 基础设置新增“离盘确认次数”。
- 允许输入
3–10 次,推荐和全新安装默认值为 7 次。 - 老版本设备升级后保持原有
3 次离盘确认行为,等同于已经人工保存过 3 次。 - 普通离盘、A03 原餐盘离开以及报警补录餐盘清空确认统一使用该配置。
实现
- 新增 MMKV 配置键
tray_removal_confirmation_count,集中定义默认值、兼容值和合法范围。 - 新增配置策略和配置访问类,负责范围校验、非法值修复以及新装/升级初始化:全新安装且没有配置时写入
7;覆盖升级且没有配置时写入 3;已保存合法配置时保持用户设置;非法存量值回退为 7。 - 基础设置的“放盘稳定判断”后新增“离盘确认次数”,当前值以“次数”展示。
- 点击整项、当前值或右侧箭头均可打开整数输入框;空值及
3–10 之外的输入会提示错误并保留弹窗。 HomeActivity.onStart() 刷新配置,修改后返回主页即可生效,无需重启应用。- 原先三处固定
3 次的判断统一改为动态值:普通离盘、A03 原盘离开、补录盘清空确认。 - A03 重新识别到原盘时清空空帧计数,保证按“连续空码帧”确认离盘。
- 配置变更写入防逃单日志,记录修改前后次数。
验证结果
- 使用 JDK 8 执行
./gradlew testDebugUnitTest assembleDebug:构建成功。 - 新增策略单测覆盖
3、10 边界,2、11 非法值回退,新装默认 7 和升级兼容 3。 - 更新补录餐盘清空策略单测,验证配置为
7 时前 6 个空帧不清空、第 7 个空帧确认清空。 git diff --check:通过。- 设置页弹窗、升级迁移和真实硬件空码帧仍需在设备上进行人工验收。
工作区与 Git 边界
- 本次未生成设计稿或实施计划,仅保留最终变更记录。
- 本次未执行暂存、提交、推送、合并、变基或分支切换。
- 源项目中已有的品牌 Logo 和标题栏改动不属于本次离盘配置变更,未作处理。