sky121113
|
f3867dcb4b
|
[DOCS] 修正 release-apk 工作流中寫死 S12XYU 的問題
1. release-apk.md: 調整為依據專案 Flavor (Cmuh) 動態判斷硬體變體 (S9XYU) 與對應的螢幕尺寸與路徑。
|
2026-05-29 14:42:11 +08:00 |
|
sky121113
|
71a059183a
|
[REFACTOR] 優化中國醫(Cmuh)售貨與領藥流程,重構 API 連線模組,並自動升版至 24
1. 重構 Cmuh 的 SaleFlowHandler:新增 ORDC_EMPTY、MATERIAL_NOT_FOUND、STOCK_NOT_ENOUGH 等明確領藥錯誤代碼,最佳化多貨道庫存匹配與扣減邏輯,改善掃碼按鈕的動態 UI 綁定時序。
2. 增強 Dialog UI 提示:重構 PickupErrorTipDialog 與 DispatchDialog,優化 dialog_pickup_error_tip.xml 佈局結構,確保出貨異常時能正確顯示對應的中文 Toast 與圖示。
3. 重構 HttpAPI 與網路層:重構後台 API 與 HttpConnect 的 Socket/連線異常處理,確實向 UI 回傳網路錯誤訊息(非吞例外),提升在極端網路環境下的穩定度。
4. 健全持久化與日誌模組:強化 StarCloudAPI 機台 Token 變更時的本地 SQLite 同步邏輯,提升 Logs 模組的非同步儲存與排程上傳穩定性。
5. 自動升版:配合實體機台 OTA 發版鐵律,將 app/build.gradle 中的 verPatch 變數由 23 遞增至 24。
6. 更新工作流說明:優化 .agents/workflows/compiler-apk.md 文件中的智慧尺寸判斷指令說明。
|
2026-05-28 17:48:03 +08:00 |
|
sky121113
|
3409f93f07
|
[REFACTOR] 重構銷售流程至雙維度 Flavor 架構、統一忙碌狀態並修正版本規範
1. 引進 SaleFlowHandler 與 SaleFlowCallback 介面,分離通用版 (General)、晟崴版 (Chengwai) 與中國醫版 (Cmuh) 的前台銷售進入點,降低 FontendActivity 耦合度。
2. 建立 src/Chengwai/、src/Cmuh/、src/General/ 目錄,將客製 dialog(如 FontendPickupCodeDialog、TakeMedicineDialog)與 layout 移入對應的專屬目錄。
3. 統一狀態檢查機制,將全專案背景排程、定時重啟與日誌備份中的舊 isShowDialog() 替換為更安全的 isMachineBusy();於 NFC 交易與鍵盤 Enter 防誤觸中特意保留原 isShowDialog() 以守護安全性防線。
4. 修正英文 values-en/strings.xml 缺漏與預設 locale 對齊的 sync_product/sync_product_warning,解決 lintVital 報告的 ExtraTranslation 錯誤,使 Release 打包 100% 成功。
5. 微調 app/build.gradle,將起點版號重置為 10_01_1,自動連動 versionCode 100101 與 versionName 10_01_1_R。
6. 修正 .agents/rules/versioning.md 規範,將 S 修正為「來源 (Source)」,將 verMajor 修正為「螢幕大小」,並補齊官方命名規範對照圖表與欄位解析。
7. 升級一鍵編譯 /compiler-apk(新增中文與英文別名智慧防呆映射)與新建發版 /release-apk 工作流。
|
2026-05-27 14:48:22 +08:00 |
|
sky121113
|
6b3e05051f
|
[FIX] 升級補丁版號至 10.8.8 並優化 APK 自動編譯與發布腳本
1. 遞增 app/build.gradle 中的 verPatch 變數至 8(對應版本為 10_08_8_R,versionCode 為 100808),以利機台正常觸發 OTA 覆蓋安裝。
2. 重構 .agents/workflows/compiler-apk.md 腳本中的 APK 複製與命名機制,改為動態尋找並使用原始檔名,避免寫死檔名導致版本變更時失效。
3. 在編譯腳本中加入自動提取與計算版本資訊的輸出(包含 versionName 與 versionCode),方便在 StarCloud 後台登記時作為參考。
4. 更新 ADB 自動安裝路徑尋找方式,使其與動態尋找 APK 機制保持一致。
|
2026-05-27 10:16:56 +08:00 |
|
sky121113
|
e15d0209c6
|
[FEAT] 新增遠端 MQTT 應用程式 OTA 更新功能與雙版號動態計算機制
1. 新增 OtaManager.java:實現背景下載 APK 檔案至應用程式私有快取空間,並透過 Root 權限 (su 與 pm install -r) 進行靜默覆蓋安裝的完整邏輯。
2. 修改 MqttService.java:支援 update_app MQTT 指令,解析 payload 中的 url 參數並啟動 OtaManager 進行 OTA 更新。
3. 修改 app/build.gradle:實作雙版號動態計算機制,定義 verMajor、verMinor、verPatch,以符合實體機台的 OTA 覆蓋安裝規範。
4. 新增 .agents/rules/versioning.md:制訂專案版號與發版規範。
5. 修改 .agents/workflows/compiler-apk.md:調整編譯工作流,在編譯前自動檢查程式碼變更與遞增版號,並支援動態尋找編譯產出的最新 APK。
6. 修改 .gitignore:排除 .antigravitycli/ 工具產生的目錄。
7. 修改 .vscode/settings.json:設定自動更新 Java 的建置組態。
|
2026-05-22 16:04:52 +08:00 |
|
sky121113
|
43b1a8b3e3
|
[FEAT] 最佳化主介面佈局並實作 MQTT 優雅重啟邏輯
1. 在主介面 (activity_main.xml) 加入 ScrollView 容器,支援更多功能按鈕的滾動顯示。
2. 新增「進入系統畫面」按鈕,方便開發與偵錯。
3. 實作 MQTT 優雅斷線機制,在 App 手動或自動重啟前先行中斷 MQTT 連線,避免觸發 LWT 離線告警。
4. 修正貨道商品價格顯示邏輯,當價格為 0 時自動隱藏售價標籤。
5. 調整 VmcFragment 中的售價合法性判斷基準。
6. 更新 compiler-apk 工作流說明文件。
|
2026-05-14 17:42:30 +08:00 |
|
sky121113
|
8ae4ae9c14
|
[FIX] 修復廣告同步導致的 Activity 銷毀崩潰與局部廣告清空失效問題
1. 修正 HomeActivity 與 FontendActivity 在廣告更新廣播回呼中因 Activity 已銷毀而觸發 Glide IllegalArgumentException 的問題。
2. 在 VideoImageMixedPlayer 中增加 Activity 生命週期安全檢查,確保不會在非法 Context 下執行 UI 操作。
3. 優化 VideoImageMixedPlayer 的清空邏輯:當特定 Flag 下無廣告可播放時,主動隱藏影片與圖片視圖並清除殘留影像。
4. 強化 stop() 方法,確保切換頁面時能完整釋放播放器資源並重設視圖狀態。
5. 增加詳細的廣告過濾與播放日誌,並支援廣告動態播放時間 (Duration) 控制。
|
2026-05-13 17:06:17 +08:00 |
|
sky121113
|
3044314856
|
[FIX] 修正商品圖片同步後銷售平台未更新問題及編譯穩定性改善
1. StarCloudAPI:同步商品後強制更新所有 SlotStructure 的物件參考,確保 UI 取到最新資料
2. FontendActivity:在 onResume 中清除 Glide 記憶體快取並呼叫 updateFlowerBuyList(),確保返回銷售平台時圖片即時刷新
3. ImageGlide:新增 clearProductCache() 方法,可實體刪除本地快取圖片目錄,並加入診斷用日誌
4. RecyclerVmcBuyListAdpter:優化 ViewHolder 綁定邏輯,補齊售完遮罩顯示判斷及點擊事件資料驗證
5. SettingActivity:補上遺漏的 ImageGlide import 修正編譯錯誤,並修正 RecyclerView LayoutManager 設定邏輯
6. ProductListActivity:補上遺漏 import
7. compiler-apk.md:Workflow 改為每次執行 clean build 並先終止殘留 Gradle Daemon,避免增量快取遮蔽編譯錯誤
|
2026-05-13 12:42:41 +08:00 |
|
sky121113
|
028cac10b5
|
[FIX] 優化出貨流程 UI 體驗與修復雙重倒數 Bug
1. 修復出貨結案時,因 VMC 重複回傳訊號導致 15 秒倒數重置的 Bug。
2. 實作 isFinalizing 狀態鎖,確保結案流程不被舊有的定時器或重複訊號干擾。
3. 優化出貨流程 UI:初始狀態顯示「準備出貨」,取代原先錯誤的提示文字。
4. 調整「取貨確認」按鈕邏輯:出貨中隱藏按鈕,僅在 15 秒取貨倒數時顯示,並支援使用者提前確認取貨。
5. 修正「員工卡」錯字並同步多語系(英、日)字串資源。
6. 在 MqttService 與 FontendActivity 實作 isMachineBusy() 檢查,防止交易過程中觸發遠端重啟。
7. 優化 VMC 偵測邏輯,加入重複訊號過濾防護。
|
2026-05-13 09:33:32 +08:00 |
|
sky121113
|
98cb59c431
|
[FIX] 修復遠端出貨流程與 MQTT 回傳機制
1. 修復 SchedulerAbstract.java 的 shutdown() 方法在多執行緒環境下因 scheduler 被設為 null 而導致的 NullPointerException。
2. 強化 ProductDispenseManager.java 的輪詢機制,在重新輪詢的 lambda 中加入 try-catch 安全網,確保即使排程異常也能觸發 onFailure 回調發送 ACK。
3. 優化 MqttService.java 對 dispense 指令的處理,增加對成功/失敗回調的日誌記錄與 Command ACK 發送。
4. 更新 TransactionFinalizeBuilder.java 與相關 Payload 結構,確保 code_id 以字串形式正確上報,並加入 remote_command_id 欄位以利後台對帳。
5. 修正 DevXinYuanController.java 對 VMC_04_BUY_STATUS 的處理,確保不論成功或處理中狀態皆能透過 MQTT 診斷 Topic 上報。
6. 修正 DevController.java 中 getReadBuffer 邏輯,避免在重新啟動排程時出現潛在競爭。
|
2026-05-12 13:24:33 +08:00 |
|
sky121113
|
5579d937e3
|
[FIX] 優化 MQTT 連線生命週期與重啟邏輯
1. 新增 gracefulDisconnect 模式:重啟前主動發布 'restarting' 狀態並正常斷線,抑制 LWT 離線警告。
2. 消除冗餘重啟循環:修改 HomeActivity 與 RestartActivity 協作邏輯,進入購物頁面僅釋放硬體而不殺掉進程,避免多次連線恢復。
3. 遠端指令校準:確保遠端重啟指令後 App 回到 HomeActivity 初始畫面。
4. 解決硬體資源衝突:保留 RestartActivity 的串口釋放流程,修復 App 跳轉卡死問題。
|
2026-05-11 14:33:22 +08:00 |
|