1. B014 雲端設定下發 → App 解析寫入 DevSet 並持久化:
- StarCloudAPI.saveSettings() 解析 DevSet(14 開關)/CashSet(7 面額)/
FunctionSet(取貨碼 PickupCode、通行碼 PassCode)/ShoppingMode;
缺漏粒度區分(整個物件缺→不動本地防誤關;物件內 key 缺→視為 false)。
- MyApp 修 TapPay30~34 持久化 bug(saveSystemSet 補序列化、initialSystemSet
改 optBoolean 防舊紀錄 crash),並新增 PickupCode/PassCode/ShoppingMode 持久化。
- DevSetStructure 新增 isPickupCode/isPassCode 欄位。
- SystemSetActivity 全部 21 個 checkbox 鎖唯讀、返回鈕只 finish() 不回寫。
- 取貨碼浮鈕(FontendActivity)改吃 DevSet.isPickupCode()、通行碼入口(BuyDialog)
改吃 DevSet.isPassCode(),取代舊 flavor 資源/寫死。
2. 收掉 project flavor 維度,三種購買流程改由雲端 shopping_mode 執行期切換:
- SaleFlowHandler 改為 main 抽象基底 + create() factory,依 shopping_mode 回傳
BasicSaleFlow(basic/原 General)、EmployeeCardSaleFlow(employee_card/原 Chengwai)、
PickupSheetSaleFlow(pickup_sheet/原 Cmuh) 三策略。
- 三 flavor 的 dialog/adapter/Kotlin 購物車/Cmuh 醫令類別全併入 main;重複類別去重。
- FontendPickupCodeDialog 內部依 shopping_mode 分支(basic/employee 走 B660、
pickup_sheet 走舊 memberVerification 並跳過取貨口檢查)。
- fragment_vmc 合併掃描單據按鈕,VmcFragment 依 shopping_mode toggle 可見性。
- General strings(zh/en/ja)、drawable、購物車 layout 併入 main;
devset_defaults 併為 basic-mode bootstrap 預設。
3. 取代 BuildConfig.FLAVOR_project 編譯期分支:
- AppEntry.isCmuh() 改判 shopping_mode == pickup_sheet。
- DispatchDialog 6 處 Cmuh 分支改用 AppEntry.isCmuh()。
- ComPort.getFilepath() 改認硬體維度 BuildConfig.FLAVOR(S12XYU→ttyS7/S6、
S9XYU→ttyS1/S2),與購買流程正交;對現役機台行為不變。
4. build.gradle 移除 project 維度,flavorDimensions 只留 hardware;輸出檔名去掉
project 段(app-S_12_XY_U-<ver>-debug.apk)。刪除 app/src/{General,Chengwai,Cmuh}/。
5. compiler-apk / release-apk(workflow + .claude/commands)改以硬體規格 S9/S12 為
打包對象,OTA keyin 改依硬體分版並提示 shopping_mode 部署鐵律。
6. verPatch 69→70(供 OTA 遠端更新)。
雙硬體 clean 編譯回歸 S12XYU/S9XYU 全綠。實機三流程驗證待硬體。
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
|
||
|---|---|---|
| .. | ||
| libs | ||
| src | ||
| .gitignore | ||
| build.gradle | ||
| proguard-rules.pro | ||