支付成功弹框余额显示开关实施计划

执行要求:使用 executing-plans 按任务逐项实施和验证。

目标:在支付设置中增加默认开启的余额显示开关,并让基础版、营养增强版及订单核验成功弹框统一遵循该配置。

架构:支付设置页通过 PreferenceUtils 保存统一布尔配置;两个弹框在绑定余额时读取配置。新增纯 Java 显隐策略类集中表达“配置开启且余额非空才显示”的规则,避免两个弹框重复条件并提供可执行单元测试。

技术栈:Android Java、SharedPreferences、XML Layout、JUnit 4、Gradle 6.7.1、Android Gradle Plugin 4.2.1、JDK 8。

文件结构

Task 1:用测试锁定余额显隐规则

  1. 创建测试,断言默认配置为开启,并覆盖“开关开启且余额非空”“开关关闭”“空余额”“null 余额”四种组合。
  2. 使用 JDK 8 定向运行测试,确认生产策略类和配置常量缺失时测试先失败。
  3. Constants 中增加 PAYMENT_SUCCESS_BALANCE_VISIBLE 和默认值 true
  4. 新增纯 Java 策略类,核心条件为:settingEnabled && remainBalance != null && !remainBalance.isEmpty()
  5. 重新运行定向测试并确认全部通过。

Task 2:增加支付设置开关

  1. 新增“支付成功显示余额”字符串资源,以及设置开关宽高尺寸资源。
  2. 在支付结果弹框时长设置之后增加设置行,复用项目现有 SwitchButton
  3. FragmentPayment 用默认值 true 初始化开关,并在切换时立即保存。
  4. 执行 :app:compileDebugJavaWithJavac 验证资源和 Java 编译。

Task 3:让两个弹框统一应用配置

  1. 基础版弹框提取统一余额绑定方法,支付结果和订单核验结果都调用该方法。
  2. 营养增强版在 applyPaymentInfo(...) 中使用同一策略。
  3. 配置关闭或余额为空时设置为 View.GONE;配置开启且余额非空时显示并设置余额文本。
  4. 运行定向策略测试和 Debug Java 编译。

Task 4:完整验证与变更记录

  1. 使用 JDK 8 运行 :app:testDebugUnitTest :app:assembleDebug
  2. 运行 git diff --check
  3. 检查 UTF-8 无 BOM、简体中文、资源化文案和尺寸、命名常量及必要职责注释。
  4. 生成同名 Markdown 与 HTML 变更记录,记录实际测试结果和真机验收项。
  5. 确认未修改支付接口、订单保存、支付页面调用签名、客显副屏和其他无关功能。
  6. 不执行 Git 暂存、提交或推送。

验收结论标准