菜品信息按 50g / 100g 展示变更记录
需求
- 在设置页增加“信息展示切换”,支持 50g 和 100g,默认 100g。
- 打餐前和打餐时的可见菜品单价、单份营养数值及单位文案同步切换。
实现
DishDisplayWeightConfig 统一读取、保存和校验本地配置;缺失或无效值回退到 100g。
SetActivity 使用现有双档切换控件保存设置,重新进入设置页时恢复选中状态。
DarkPickBeforeFragment 将每克价格、热量、膳食纤维、维生素 B1/B2/C、钙、铁乘以展示克数,并同步更新单价和营养标题。
DarkPickOngoingWithPriceFragment 将每克价格乘以展示克数,并同步更新“元/50g”或“元/100g”。DarkPickOngoingNoPriceFragment 的价格控件仍隐藏,保留的赋值逻辑使用同一展示基准。
- 菜品详情缓存仍按每克保存;实际取餐金额、当餐累计营养和推荐百分比计算未修改。
验证
- JDK 8 执行
:app:testDebugUnitTest --tests com.cpt.zhct.weighting.utils.DishDisplayWeightConfigTest :app:assembleDebug,构建成功;定向测试 2 项通过。
git diff --check 通过;未进行 410 真机界面效果和设置持久化交互验收。
Git 状态
- 代码改动位于
add_50g_show 分支;未暂存、提交、推送或切换分支。