目标:在支付设置中增加默认开启的余额显示开关,并让基础版、营养增强版及订单核验成功弹框统一遵循该配置。
架构:支付设置页通过 PreferenceUtils 保存统一布尔配置;两个弹框在绑定余额时读取配置。新增纯 Java 显隐策略类集中表达“配置开启且余额非空才显示”的规则,避免两个弹框重复条件并提供可执行单元测试。
技术栈:Android Java、SharedPreferences、XML Layout、JUnit 4、Gradle 6.7.1、Android Gradle Plugin 4.2.1、JDK 8。
PaymentSuccessBalanceVisibilityPolicy.java:集中判断余额是否显示。PaymentSuccessBalanceVisibilityPolicyTest.java:覆盖默认值和显隐组合。Constants.java:定义配置键和默认值。FragmentPayment.java、fragment_payment_layout.xml、strings.xml、dimens.xml:增加并持久化设置项。ShowPaymentSuccessPop.java 与 ShowPaymentSuccessWithNutritionPop.java:统一应用配置。Constants 中增加 PAYMENT_SUCCESS_BALANCE_VISIBLE 和默认值 true。settingEnabled && remainBalance != null && !remainBalance.isEmpty()。SwitchButton。FragmentPayment 用默认值 true 初始化开关,并在切换时立即保存。:app:compileDebugJavaWithJavac 验证资源和 Java 编译。applyPaymentInfo(...) 中使用同一策略。View.GONE;配置开启且余额非空时显示并设置余额文本。:app:testDebugUnitTest :app:assembleDebug。git diff --check。